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.
- Week 1 - Introduction to Client-Sever Computing (20 & 22 January)
- Readings
-
Chapters 1 & 2
- Class notes
-
Distributed computing introduction
Client-server distributed computing
- Week 2 - The Socket API (27 & 29 January)
- Readings
-
Chapters 4 & 5
- One-minute reviews
-
27 & 29 January
- Class notes
-
The IP protocol set
The Sockets API
- Week 3 - Client and Server Architectures (3 & 5 February)
- Readings
-
Chapters 6 & 8
- Class notes
-
Client architectures
Server architectures
- One-minute reviews
-
3 & 5 February
- Project
-
Project 1a available (last modified on 5 February 2004) on Tuesday, 3 February,
due on Tuesday, 17 February at 5:00 p.m.
Project 1b available (last modified on 25 February 2004) on Tuesday, 17 February,
due on Tuesday, 2 March at 5:00 p.m.
- Week 4 - Iterative Servers (10 & 12 February)
- Readings
-
Chapters 9 & 10, Tips 20 & 21
(optional) Send-receive Considered Harmful by Sergei
Gorlatch, ACM Transactions on Programming Languages and Systems,
January 2004 (vol 26, no. 1).
- Class notes
-
Iterative servers
- One-minute reviews
-
10 & 12 February
- Week 5 - Concurrency Issues (17 & 19 February)
- Readings
-
Chapters 16 & 17
- Class notes
-
Concurrency and Server Architectures
Concurrency and Client Architectures
Concurrency and Server Performance
- One-minute reviews
-
17 & 19 February
- Project
-
Project 1a due on Tuesday, 17 February at
5:00 p.m.
The grades.
A code review.
- Week 6 - Process-Based Concurrency (24 & 26 February)
- Readings
-
Chapters 3 & 11
- Class notes
-
Concurrency
Process concurrency
- One-minute reviews
-
24 & 26 February
- Week 7 - Thread-Based Concurrency (2 & 4 March)
- Readings
-
Chapters 12 & 13
- Class notes
-
Thread based concurrency
Single-threaded concurrency
Process vs threads performance
- One-minute reviews
-
2 & 4 March
- Test 1
- Tuesday, 2 March
-
The answers
The grades
- Project
-
Project 1b due on Tuesday, 2 March at 5:00 p.m.
The grades.
Project 2 available on Tuesday, 2 March,
due on Tuesday, 6 April at 5:00 p.m.
- Week 8 - Spring Recess (8-12 March)
- Week 9 - Remote-Procedure Calls (16 & 18 March)
- Readings
-
Chapter 21 & 22
- Class notes
-
Introduction to remote procedure calls
Implementing RPC
- Week 10 - Data Representations and Program Generation (23 & 25 March)
- Readings
-
Chapters 20 & 23
- Class notes
-
RPC case studies
CORBA
- One-minute reviews
-
16 & 18 March
- Week 11 - HTTP and CGI (30 March & 1 April)
- Drop Day
- Monday, 29 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
- One-minute reviews
-
30 March & 1 April
- Project
-
Project 3 available (last modified on 20 April 2004) on Wednesday, 7 April, due
on Monday, 3 May at 5:00 p.m.
Project 2 due on Tuesday, 6 April at 5:00 p.m.
The grades.
- Test 2
- Tuesday, 30 March
-
The answers
The grades
- Week 12 - Tunneling and Gateways (6 & 8 April)
- Readings
-
Chapters 18 & 19
- Class notes
-
Gateways
Tunneling
- One-minute reviews
-
6 & 8 April
- Project
-
Project 2 due on Tuesday, 6 April at 5:00 p.m.
- Week 13 - The Network File System (13 & 15 April)
- Readings
-
Chapter 24
- Class notes
-
Distributed file systems
Peer-to-peer systems
- One-minute reviews
-
13 & 15 April
- Week 14 - Multi-Protocol and Multi-Service Servers (20 & 22 April)
- Readings
-
Chapters 14 & 15, Tips 17 & 18
- Class notes
-
Multi-Protocol Servers
Multi-Service Servers
- Week 15 - High-Performance Server Architectures (27 & 29 April)
- Class notes
-
Java remote method invocation
Jini
- Readings
-
The SEDA
event-driven architecture.
The Flash
web server
architecture.
- Test 3
- Tuesday, 27 April
-
The answers
The grades
- Week 16 - Wrap-Up (3 May)
- Project
-
Project 3 due on Monday, 3 May at 5:00 p.m.
- Open Lecture on a subject to be determined during the final-exam
period from 7:45 to 9:45 p.m. on Thursday, 6 May, in Edison 156.
This page last modified on 9 May 2004.