The chapter readings are from Comer and Stevens; the tips are from Snader. I
have matched only selected tips from Snader with chapters from Comer and
Stevens; you should read all of Snader before (preferably well before) the end
of the semester.
I will try hard not to change the syllabus during the semester, but I make no
promises.
- Week 1 - Introduction to Client-Sever Computing (22 & 24 January)
- Readings
-
Chapters 1 & 2
- Class notes
-
Distributed computing introduction
Client-server distributed computing
An axiomatic definition of distributed computing
- Week 2 - The Socket API (29 & 31 January)
- Readings
-
Chapters 4 & 5, Tip 5
- Class notes
-
The IP protocol set
The Sockets API
- Week 3 - Iterative Servers (5 & 7 February)
- Readings
-
Chapters 9 & 10, Tips 20 & 21
- Class notes
-
Iterative servers
- Project
-
Project 1 available (last modified on 2 March 2002) on Tuesday, 5 February,
due on Tuesday, 5 March at 2:00 p.m.
- Week 4 - Client and Server Algorithms (6 & 8 February)
- Readings
-
Chapters 6 & 8, Tip 4
- Class notes
-
Client architectures
Server architectures
- Week 5 - Forked-Based Concurrency (12 & 14 February)
- Readings
-
Chapters 3 & 11
- Class notes
-
Concurrency
Unix fork concurrency
- Week 6 - Remote-Procedure Calls (19 & 21 February)
- Readings
-
Chapter 21
- Class notes
-
Introduction to remote procedure calls
- Week 7 - Data Representations and Program Generation (26 & 28 February)
- Readings
-
Chapters 20 & 22
- Class notes
-
XDR and the presentation layer
Building RPC systems
RPC case studies
- Week 8 - Thread-Based Concurrency (5 & 7 March)
- Readings
-
Chapters 12 & 13
- Class notes
-
Thread based concurrency
Single-threaded concurrency
Process vs threads performance
- Project
-
Project 1 due on Tuesday, 5 March at 2:00 p.m.
Project 2 available on Tuesday, 5 March,
due on Tuesday, 2 April at 2:00 p.m.
- Test 1
- Tuesday, 5 March
-
The answers
The grades
- Week 9 - Spring Break (11-17 March)
- Week 10 - Concurrency Issues (19, 21 March)
- Readings
-
Chapters 16 & 17
- Class notes
-
Concurrency and Server Architectures
Concurrency and Client Architectures
Concurrency and Server Performance
- Week 11 - HTTP and CGI (26, 28 March)
- Readings
-
Hypertext Transfer Protocol - HTTP/1.0 (rfc 1945)
The Common Gateway Interface (CGI)
- Class notes
-
The Hypertext Transfer Protocol
Fun with HTTP
The Common Gateway Interface
Fun with CGI
- Drop Day
- 1 April
-
- Week 12 - The Network File System (2 & 4 April)
- Readings
-
Chapter 24
- Class notes
-
Distributed File Systems
- Project
-
Project 2 due on Tuesday, 2 April at 2:00 p.m.
Project 3 available (last modified on 3 May 2002) on Tuesday, 2 April,
due on Friday, 3 May at 2:00 p.m.
- Test 2
- Tuesday, 2 April
-
The answers
The grades
- Week 13 - Tunneling and Gateways (9 & 11 April)
- Readings
-
Chapters 18 & 19
- Class notes
-
Tunneling
Gateways
- Week 14 - Multi-Protocol and Multi-Service Servers (16 & 18 April)
- Readings
-
Chapters 14 & 15, Tips 17 & 18
- Class notes
-
Multi-Protocol Servers
Multi-Service Servers
- Week 15 - Streaming Media (23 & 25 April)
- Readings
-
Chapter 28
- Class notes
-
Streaming media
CORBA
- Week 16 - High-Performance Server Architectures (30 April & 2 May)
- Readings
-
The SEDA
event-driven architecture.
The Flash
web server
architecture.
- Project
-
Project 3 due on Tuesday, 30 April at 2:00 p.m.
- Test 3
- Tuesday, 30 April
-
The answers
The grades
- Open Lecture on Jini during the final-exam period
from 7:45 p.m. to 9:45 p.m. on Thursday, 9 May, in HH 522.
This page last modified on 9 May 2002.