ENEE 647 Design of Distributed Computer Systems by P. Petrov

Spring 2009


Class Information:
Instructor: Peter Petrov, AVW 1421, ppetrov at ece dot umd dot edu
Class hours: TuTh 5:00pm - 6:15pm, EGR 0108 ; Office hours: TuTh 2:00pm - 3:00pm, AVW 1421

Teaching Assistant: Kapil Anand, kapil at umd dot edu ; Office hours: Monday 12:00pm - 1:00pm, AVW 1418

Required text: "Distributed Systems, Principles and Paradigms", Second Edition, by Andrew S. Tanenbaum and Maarten van Steen

Course Syllabus

Class evaluation:
Midterm 1 - March 5 (Thursday), in class. 30%
Midterm 2 - April 16 (Thursday), in class. 30%
Final exam. 40%

Final Exam Practice Problems [pdf]
Midterm-2 Practice Problems [pdf]
Midterm-1 Practice Problems [pdf]

Lecture Notes:
Introduction. Goals and Properties of Distributed Systems (DS). Types of DS. [pdf] [odp]
Architectures. Client-Server Model. Peer-to-Peer Systems. Bit-torrent. [pdf] [odp]
Processes. Multhithreading in clients and servers. Server Clusters and Distributed Servers. [pdf] [odp]
Virtualization. Virtual Machine Monitors. [pdf] [odp]
Code Migration. [pdf] [odp]
Communication. Layered Protocols. Remote Procedure Calls (RPC). [pdf] [odp]
Message-Oriented Communication. Data Streams. Multicasting. [pdf] [odp]
Naming. Flat Names. Resolving names in DHT peer-to-peer systems. Locating (mobile) entities. [pdf] [odp]
Name Spaces. Name Resolution. The Domain Name System (DNS) [pdf] [odp]
Clock Synchronization. Logical Clocks: Lamport's Clocks and Vector Clocks. [pdf] [odp]
Distributed Mutual Exclusion Algorithms. Election Algorithms. [pdf] [odp]
Replication. Data-Centric Consistency Models. [pdf] [odp]
Client-Centric Consistency Models. Replica Management. [pdf] [odp]
Consistency Protocols. [pdf] [odp]
Fault Tolerance: Basics, Process Resilience, and Reliable Client-Server Communication [pdf] [odp]
Reliable Group Communication; Atomic Multicast; Distributed Commit [pdf] [odp]
Recovery; Distributed Checkpointing; Message Logging [pdf] [odp]
Security in DS; Cryptographic primitives; Needham-Schroeder and Kerberos Authentication protocols [pdf] [odp]
Message Integrity and Confidentiality; Access Control [pdf] [odp]
Security Management. Key Distribution. Authorization Management. [pdf] [odp]

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]