Lecture 1: Introduction
Lecture 2: Introduction
Lecture 3: Basic socket programming (TCP) example1.c, example2.c, example3.c, example4.c(A simple echo client), example5.c(A simple echo server).
Lecture 4: UDP and server design options udpsender.c, udprecv.c, multiserv.c
Project No. 1: Orientation to Programming Requirements
Lecture 5: Theoretical Foundations (logical clock, causal order)
Lecture 6: Theoretical Foundations (causal ordering and global state)
Homework No. 1: Due Tuesday Jan. 29. Prove the correctness of the Birman-Schiper-Stephenson protocol.
Quiz No. 1
Lecture 7: Mutual Exclusion
Lecture 8: Mutual Exclusion
Project No. 2: Causal Ordering of Messages
Lecture 9: Deadlock
Model answers for Homework 1, and Quiz 1.
Lecture 10: Distributed Deadlock Detection
Proof or disproof wanted (Reward: 1 point in the final grade): Chandy-Misra-Haas's distributed deadlock detection algorithm at most exchanges m(n-1)/2 messages to detect a deadlock that involves m processes and n sites.
Lecture 11: Agreement Protocol
Lecture 12: Agreement Protocol
This section will be a question/answer section.
Lecture 13: Recovery
Lecture 14: Recovery
The class on March 19 is cancelled (I am sick).
Project No. 3: A distributed application and a simplified application specific checkpoint/recovery scheme, Sequential implementation of the Jacobi Method Sequential implementation with checkpoint
The class on March 21 is cancelled.
Lecture 15: Fault Tolerance - 2 phase commit
Lecture 16: Fault Tolerance - 3 phase commit
Lecture 17: Fault Tolerance - Voting
Lecture 18: Security and Protection
Lecture 19: Distributed Shared Memory
Lecture 20: Distributed File System
Lecture 21: Final Review