CS 417 Documents

This page contains links to lecture notes and related reading material. Most of the notes will be in Adobe PDF format. If you don't have an Acrobat reader, you can get one for free for Linux, Solaris, various versions of Windows, and a bunch of other platforms. You don't need one for the Mac since Preview can render pdf files.

Many of these notes were written in the early morning hours and are likely to contain an occasional error or unclear phrasing. Any corrections will be most appreciated.

Lecture notes

Week Title
Week 1. A taxonomy of distributed systems
  Lecture slides (6 per page)
Week 2. Client-server communication
  Lecture slides (6 per page)
Week 2 Networking slides (part 2) (6 per page)
  Quality of Service slides (6 per page)
  Naming and binding
  Naming and binding slides (6 per page)
Week 3. Clock synchronization (pdf)
  Clock synchronization slides (6 per page)
  Logical clocks slides (6 per page)
Week 3. Group communication
  Group communication - slides (6 per page)
Week 4. Remote Procedure Calls
  RPC lecture slides (6 per page)
  RPC case studies: lecture slides (6 per page)
Week 5. Mutual exclusion & election algorithms
  Mutual exclusion & election algorithms - slides (6 per page)
Week 6. distributed transactions
  Distributed transactions - slides (6 per page)
Week 7. Consensus — lecture notes
  Distributed consensus - slides (6 per page)
Week 7. Concurrency control — lecture notes
  Concurrency control - slides (6 per page)
Week 7. Distributed File Systems — lecture notes
  Distributed File Systems — lecture slides (6 per page)
Week 8. Clustered (Distributed) File Systems — lecture slides (6 per page)
  Content Delivery Networks — lecture slides (6 per page)
Week 9. MapReduce — lecture notes
  MapReduce — lecture slides (6 per page)
Week 10. BigTable — lecture notes
Week 10. BigTable — lecture slides (6 per page)
  Cryptography intro — lecture slides (6 per page)
Week 11. Authentication — lecture slides (6 per page)
  OpenID
Week 12. Firewalls and VPNs — lecture slides (6 per page)
Week 13. Fault Tolerance — lecture slides (6 per page)
  Clusters — lecture slides (6 per page)
  Amazon Dynamo — lecture slides (6 per page)
Week 14. Mobile ad hoc networking — lecture slides (6 per page)
Week 15. Process migration — lecture slides (6 per page)
Week 15. Distributed shared memory
  Distributed shared memory — lecture slides (6 per page)

Recitation notes

Title
Scalability terminology
Programming with sockets
Sun RPC programming
java RMI programming
java RMI programming
Distributed Loookup Services
Google Cluster Architecture (6 per page)
sandboxing and signed software
serverless networking (slides)
process migration (slides)

Old lecture notes

Title
Distributed shared memory
Distributed shared memory - slides (6 per page)
Intro to Cryptography
Cryptography intro - slides (6 per page)
Steganography (6 per page)
Clusters
Clusters - slides (6 per page)
Virtualization - notes
Virtualization - slides (6 per page)

Supplemental notes

Title
Notes on Programming in C, Rob Pike:
this discusses style and is somewhat applicable to java programmers as well
C Programming Style, Paul Krzyzanowski
Internetworking Basics (from Cisco)
PDF version of Cisco's Internetworking Basics
RFC 1498: naming and binding of network destinations
MEC Super-UX User's Guide: chapter 6: RPCGEN
Fundamentals fo RMI: Short Course by JGuru
RMI tutorials and info from Sun
Securing JAVA, G. McGraw, E. Felton, Wiley & Sons, pub
Universal Plug and Play Forum Resources
Universal Plug and Play architecture presentation
(sorry for the powerpoint -- it's from upnp.org)