Disclaimer: This is not intended to be an exact or binding document. It is intended only to help you maintain a perspective of the course. It will almost certainly be revised frequently, so please check back often. It will be most detailed and most correct for prior classes and classes in the very near future. Future events are neither predictions nor promises -- they are guesses and extrapolations.
Week 1
Tuesday
- Introduction and overview
- Syllabus, policies, and other procedural matters
Thursday
- Physical clocks, drift, and synchronization
- Logical clocks, definition, and synchronization
Week 2
Tuesday
- Finish discussion of logical clocks
- Review from OS: tasks, processes, threads, &c
- Review from OS: unicast
- All about multicast
Thursday
- Finish multicast
- Request-reply paradigm and RPC
- Sun RPC
- Distributed object paradigm
- Distributed objects in Java/Java RMI
- Project #1 handed out
Week 3
Tuesday
- Distributed transactions
- Atomic commit protocols
- Nested Transactions
Thursday
- Review from OS: Overview of concurrency and synchronization
- Review from OS: Overview of deadlock
- Transactions, concurrency, and transaction scheduling
Week 4
Tuesday
- Concurrency control protocols w/in transaction scheduler (2PL, timestamping, &c)
Thursday
- Mutual exclusion w/out transactions (centralized and fixed-structure)
- Project #1 due
Week 5
Tuesday
- Project #2 handed out
- Mutual exclusion w/out transactions (timestamp approaches)
- Mutual exclusion w/out transactions (continue fixed-structure
Thursday
- Mutual exclusion w/out transactions (voting and voting districts)
- Coordinator election (Bully and invitation)
Week 6
Tuesday
- Distributed agreement, and impossibility thereof
Thursday
- Processor allocation
Week 7
Tuesday
- Process migration
- Project #2 due
- Exam #1 handed out
Thursday
- Introduction to replication
- Motivation and overview of replication
- Static quorums
- Weighted voting (quorums)
- Voting w/ghosts (quorums)
Week 8
Tuesday
- No class - Kesden is out of town
- Exam #1 due
Thursday
- No class - Mid-semester break
Week 9
Tuesday
- Review of replication, quorums, &c
- View-based quorums
Thursday
- Dynamic quorum adjustment
- Project #3 handed out
Week 10
Tuesday
- Optimisitc techniques, defn and goal
- Version vectors, Coda example
- Best-effort, defn and epidemic example
Thursday
- Recovery, introduction
- Checkpointing
Week 11
- No class - spring break
Week 12
Tuesday
- Logging (receiver, sender, adaptive, &c)
Thursday
- Introduction to DSM
- Paradigms
- Consistency models
Week 13
Tuesday
- Exam #2 handed out
- Finish consistency models
- Update protocols
- Caches
Thursday
- Review from OS: Filesystems
- Introduction to DFS
Week 14
Tuesday
- Exam #2 due
- Introduction to DFS, including NFS and AFS
Thursday
- No class: Carnival
Friday
- Project #3 due
Week 15
Tuesday
- Project #4 handed out
- Finish up DFS
- Introduction to lookup, directory and discovery services
Thursday
- Finish up directory and discovery services
- Case Study: Jini discovery service
Week 16
Tuesday
- Review from OS: Security, protection and authentication
- Needham-Schroeder
- Kerberos
Thursday
- Millicent and/or CORBA and/or other supplementary material
- Info about final exam, final grades, &c.
- FCEs
Friday
- Project #4 due
- Final exam (take home) distributed