0% found this document useful (0 votes)
48 views7 pages

DS CourseOutline

This document outlines the course contents for a distributed systems course. The course covers 9 topics: architectures, processes, communication, naming, synchronization, consistency and replication, fault tolerance, and examples of distributed system implementations. Key concepts discussed include architectural styles, threads, client-server models, network protocols, naming schemes, clock synchronization, data consistency, fault tolerance techniques, and major prerequisites in operating systems and computer networks. The course will be delivered through lectures and a final project lab.

Uploaded by

yekoyesew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views7 pages

DS CourseOutline

This document outlines the course contents for a distributed systems course. The course covers 9 topics: architectures, processes, communication, naming, synchronization, consistency and replication, fault tolerance, and examples of distributed system implementations. Key concepts discussed include architectural styles, threads, client-server models, network protocols, naming schemes, clock synchronization, data consistency, fault tolerance techniques, and major prerequisites in operating systems and computer networks. The course will be delivered through lectures and a final project lab.

Uploaded by

yekoyesew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Course Outline

1. Introduction
1.1 Introduction and Definition
1.2 Goals of a Distributed System
1.3 Types of Distributed Systems
2. Architectures
2.1 Architectural Styles
2.2 System Architectures
3. Processes
3.1 Threads and their Implementation
3.2 Anatomy of Clients
3.3 Servers and Design Issues
3.4 Code Migration
3.5 Software Agents and Agent Technology

1
4. Communication
4.1 Network Protocols and Standards
4.2 Remote Procedure Call
4.3 Remote Object (Method) Invocation (RMI)
4.4 Message-Oriented Communication
4.5 Stream-Oriented Communication
4.6 Multicast Communication Mid Exam
5. Naming
5.1 Names, Identifiers, and Addresses
5.2 Flat Naming
5.3 Structured Naming
5.4 Attribute-Based Naming
6. Synchronization
6.1 Clock Synchronization
6.2 Logical Clocks
6.3 Mutual Exclusion
6.4 Election Algorithms 2
7. Consistency and Replication
7.1 Reasons for Replication
7.2 Data-Centric Consistency Models
7.3 Client-Centric Consistency Models
7.4 Replica Management
7.5 Consistency Protocols
8. Fault Tolerance
8.1 Introduction to Fault Tolerance
8.2 Process Resilience
8.3 Reliable Client-Server Communication
8.4 Reliable Group Communication
8.5 Distributed Commit
8.6 Recovery
9. Security - separate course
ƒ Chapters 10 -13 are examples of distributed systems
implementations; to be read 3
Textbook
ƒ A. S. Tanenbaum and Maarten van Steen, Distributed
Systems, Principles and Paradigms, 2nd edition, Prentice
Hall, 2007.

References
1. G. Coulouris, J. Dollimore, T. Kindberg, and Gordon Blair
Distributed Systems, Concepts and Design, Addison
Wesley, 5th edition, 2011.
2. Andrew S. Tannenbaum and David J. Wetherall, Computer
Networks, Prentice Hall, 5th edition, 2011.
3. James F. Kurose and Keith W. Ross, Computer
Networking, A Top-Down Approach, Pearson Education,
Inc, 6th edition, 2013.
4. S. Mullender, Distributed Systems, 2nd edition, Addison-
Wesley, 1993.
5. K. Birman, Building Secure and Reliable Network
Applications, Manning Publications Co., 1996. 4
Mode of Delivery
ƒ Lectures - preferably interactive (ask questions, intervene
in discussions)
ƒ Lab sessions with a final project

Major Prerequisites - Basic Concepts


ƒ Operating Systems
ƒ processes and process states
ƒ context switching
ƒ interprocess communication and process synchronization
(critical sections, mutual exclusion, semaphores, monitors)
ƒ starvation (in process scheduling)
ƒ deadlocks
ƒ memory management (virtual memory and paging)
ƒ atomicity
ƒ forks
ƒ UNIX file structure (i-node) 5
ƒ Computer Networks and Data Communication
ƒ LAN and WAN
ƒ Common LAN Topologies
ƒ Ethernet
ƒ TCP/IP and OSI Reference Models
ƒ TCP and UDP
ƒ Connection-oriented vs connectionless communication
ƒ Ports
ƒ Bandwidth
ƒ Synchronous and asynchronous communication

6
Relatively Minor Prerequisites - Important Terms
ƒ Performance ƒ Interoperability
ƒ Portability ƒ Concurrency
ƒ Protocol ƒ Transaction (commit, abort, rollback)
ƒ Syntax ƒ Semantics
ƒ Little Endian ƒ Big Endian
ƒ Exception ƒ Garbage collection
ƒ Caching ƒ Latency
ƒ Objects ƒ Call-by-value (value parameters)
ƒ Internet, WWW, URL ƒ Call-by-reference (variable parameters)
ƒ The client-server model ƒ Daemon
ƒ Java Applets ƒ Locking

You might also like