Admas University
School of Postgraduate Studies
Course Outline
Course Title: Distributed Systems
Course Code: CS 625
Credit hour: 3
Prerequisites: None
Course Description
This Course is intended to introduce to students the current developments in distributed s ystems,
their construction, issues that are involved in building reliable distributed systems, and possible
applications of distributed systems.
Learning Outcomes
At the end of this course, students will be able to
Understand issues in developing distributed systems
Explain
- how communication is handled in distributed systems
Realize issues and difficulties in clock synchronization over several machines
Learn the different methods that are used in handling consistency and replication and
how fault tolerant systems are built
Course Content
1. Introduction
Introduction and Definition
Goals of a Distributed System
Types of Distributed System
2. Architectures
Architectural Styles
System Architecture
3. Processes
Thread and their implementation
Anatomy of clients
1
Servers and Design Issues
Code Migration
4. Communication
Network Protocols and Standards
Remote Procedure Call
Message-Oriented Communication
Stream-Oriented communication
Multicast communication
5. Naming
Names, Identifiers, and Addresses
Flat Naming
Structured Naming
Attribute-Based Naming
6. Synchronization
Clock Synchronization
Logical Clocks
Mutual Exclusion
Election algorithms
7. Consistency and Replication
Reasons for Replication
Data-Centric Consistency Models
Client-Centric Consistency Models
Replica Management
Consistency Protocols
8. Fault Tolerance
Introduction to Fault Tolerance
Process Resilience
Reliable Client-Server Communication
Reliable Group Communication
Distributed Commit
Recovery
2
Teaching Strategy
This course will be offered through lectures, presentations, class discussions, laboratory
reports and group work.
Method of Assessment
Assignment…………………………………………. 20%
Group work and presentation……………………. 30%
Final Exam………………………………………… 50%
Teaching Support and Inputs for each content
Textbook:
S. Tanenbaum and Maarten van Steen, Distributed Systems, Principles and Paradigms,
Prentice Hall, 2nd edition, 2006.
Reading Materials
G. Coulouris, J. Dollimore, and T. Kindberg, Distributed Systems, Concepts and Design,
Addison Wesley, 4th edition, 2005.
S. Tannenbaum, Computer Networks, Prentice Hall, 4th edition, 2003.
S. Mullender, Distributed Systems, 2nd edition, Addison-Wesley, 199