ENEE 647 Design of Distributed Computer Systems by P. Petrov
Spring 2010
Class Information:
Instructor: Peter Petrov, AVW 1421, ppetrov at ece dot umd dot edu
Class hours: TuTh 2:00pm - 3:15pm, JMP 2202 ;
Office hours: TuTh 3:30pm - 4:30pm, AVW 1421
Required text: "Distributed Systems, Principles and Paradigms", Second Edition, by Andrew S. Tanenbaum and Maarten van Steen
Course Syllabus
Class evaluation:
Midterm 1 - March 2 (Tu), in class. 30%
Midterm 2 - April 13 (Tu), in class. 30%
Final exam - May 17 (Monday), 10:30a - 12:30p. 40%
Midterm-1 Practice Problems [pdf]
Midterm-2 Practice Problems [pdf]
Final Exam Practice Problems [pdf]
Lecture Notes:
Introduction. Goals and Properties of Distributed Systems (DS). Types of DS.
[pdf]
Architectures. Client-Server Model. Decentralized (P2P) Systems. Bit-torrent.
[pdf]
Processes. Multhithreading in clients and servers. Server Clusters and Distributed Servers.
[pdf]
Virtualization. Virtual Machine Monitors.
[pdf]
Communication. Layered Protocols. Remote Procedure Calls (RPC).
[pdf]
Message-Oriented Communication. Data Streams. Multicasting.
[pdf]
Naming. Flat Names. Resolving names in DHT peer-to-peer systems. Locating (mobile) entities.
[pdf]
Structured Name Spaces. Name Resolution. The Domain Name System (DNS). Attribute-based Naming.
[pdf]
Clock Synchronization. Logical Clocks: Lamport's Clocks and Vector Clocks.
[pdf]
Distributed Mutual Exclusion Algorithms. Election Algorithms.
[pdf]
Replication. Data-Centric Consistency Models.
[pdf]
Client-Centric Consistency Models. Replica Management.
[pdf]
Consistency Protocols.
[pdf]
Fault Tolerance: Basics, Process Resilience, and Reliable Client-Server Communication
[pdf]
Reliable Group Communication; Atomic Multicast; Distributed Commit
[pdf]
Recovery; Distributed Checkpointing; Message Logging
[pdf]
Security in DS; Cryptographic primitives; Needham-Schroeder and Kerberos Authentication protocols
[pdf]
Message Integrity and Confidentiality; Access Control
[pdf]
Security Management. Key Distribution. Authorization Management.
[pdf]
Reading Assignments:
Virtual Machine Monitors: Current Technology and Future Trends, by M. Rosenblum and T. Garfinkel
[pdf].
The Architecture of Virtual Machines, by J. Smith and R. Nair
[pdf].
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications, by Stoica et al.
[pdf]
Time, Clocks, and the Ordering of Events in a Distributed System, by Leslie Lamport
[pdf]
The Byzantine Generals Problem, by L. Lamport, R. Shostak, and M. Pease
[pdf]