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 Naming and binding
  Lecture slides (6 per page)
Week 3. Remote Procedure Calls
  RPC lecture slides (6 per page)
Week 4. RPC case studies: lecture slides (6 per page)
  Distributed File Systems
  Distributed File Systems intro slides (6 per page)
Week 5. Distributed File Systems case studies slides (6 per page)
Week 6. Clock synchronization (pdf)
  Logical clocks slides (6 per page)
  Clock synchronization slides (6 per page)
Week 7. Group communication
  Group communication - slides (6 per page)
  Mutual exclusion & election algorithms
  Mutual exclusion & election algorithms - slides (6 per page)
Week 9. Distributed shared memory
  Distributed shared memory - slides (6 per page)
  Intro to Cryptography
  Cryptography intro - slides (6 per page)
Week 10. Secure communication protocols - slides
Week 11. Authentication protocols - slides (6 per page)
  Biometrics & CAPTCHA - slides (6 per page)
  Steganography (6 per page)
Week 12. Security and Firewalls
  Security - slides (6 per page)
  Firewalls - slides (6 per page)
  VPNs - slides (6 per page)
Week 13. Clusters
  Clusters - slides (6 per page)
Week 13. Virtualization - notes
  Virtualization - slides (6 per page)

Recitation notes

Title
Programming with sockets
Sun RPC programming
java RMI programming
Distributed Loookup Services
OpenID
distributed deadlocks
distributed deadlocks (slides)
distributed transactions
concurrency control
concurrency control (annotated slides)
fault tolerance
fault tolerance (slides)
sandboxing and signed software
serverless networking (slides)
process migration (slides)

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)