ENEE 647 Design of Distributed Computer Systems by P. Petrov

Spring 2008

Class Information

Instructor: Peter Petrov, AVW 1421, ppetrov at ece dot umd dot edu
Class hours: TuTh 6:30pm - 7:45pm, EGR 1104
Office hours: TuTh 4:00pm - 5:00pm, AVW 1421
Required text: "Distributed Systems, Principles and Paradigms", Second Edition, by Andrew S. Tanenbaum and Maarten van Steen

Course Syllabus

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

Class evaluation:
Midterm 1 - March 4, in class. 30%
Midterm 2 - April 15, in class. 30%
Final exam - May 20, 6:30p - 8:30p, EGR 1104 (in classroom). 40%

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]
Code Migration. Virtualization - Virtual Machine Monitors. [pdf] [odp]
Layered Communication Protocols. Remote Procedure Calls (RPC). [pdf] [odp]
Message-Oriented Communication. Data Streams. Multicasting. [pdf] [odp]
Naming. Flat Names. Resolving Names in DHT-based Peer-to-Peer Systems. Locating mobile entities. [pdf] [odp]
Name Spaces. Name Resolution Algorithms. The Domain Name System (DNS). [pdf] [odp]
Clock Synchronization. Logical Clocks: Lamport's Clocks and Vector Clocks. [pdf] [odp]
Distributed Mutual Exclusion. Election Algorithms. [pdf] [odp]
Replication. Data-Centric Consistency Models. [pdf] [odp]
Client-Centric Consistency Models. Replica/Content Management. [pdf] [odp]
Consistency Protocols. [pdf] [odp]
Fault Tolerance. Introduction, Process Resilience, and Reliable Client-Server Communication [pdf] [odp]
Reliable Group Communication. Atomic Multicast. Distributed Commit Protocols. [pdf] [odp]
Recovery in Distributed Systems. [pdf] [odp]
Security in Distributed Systems. Cryptographic Primitives. Authentication. [pdf] [odp]
Message Integrity and Confidentiality. Access Control. [pdf] [odp]
Security Management. Key Distribution; Diffie-Hellman Key Exchange. Authorization Management. [pdf] [odp]
Distributed Web-Based Systems: Web Services and Protocols (SOAP, WSDL), Web Servers and Protocols (Apache, WebDAV) [pdf] [odp]

Reading Assignments

Virtual Machine Monitors: Current Technology and Future Trends, by M. Rosenblum and T. Garfinkel [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]