18-845: Internet Services
Carnegie Mellon University, Spring 2004

Syllabus (ps, pdf) | Critiques | Individual Project (IP) | Group Project (GP)

Instructors

Prof. David O'Hallaron, droh@cs.cmu.edu, WeH 8125, (412)268-8199, Office hours: Tue 2-3pm.
(These are nominal hours. Drop by or call any time.)

Patrick Shih (TA), pcshih@ece.cmu.edu, (412)268-3029, Office hours:

Organization

Class times: Tue and Thu, 12:30-2:30, Porter Hall 226A
Admistrative Asst: Barb Grandillo, bag@cs.cmu.edu, WeH 8018, (412)268-7550
Web page: www.ece.cmu.edu/~ece845
Course directory: /afs/ece/class/ece845

Reference material

There is no required textbook for 18-845.

The following books by Stevens are the standard references for Unix network programming:

The CS:APP text, which is on reserve in the Engineering library, covers system-level programming topics such as dynamic linking, process control, Unix I/O, the sockets interface, writing Web servers, and application level concurrency and synchronization:

Course schedule

Legend: IP: individual project, GP: group project

Class Date Day Topic Projects Discussion Leader(s)
1 01/13 Tue Welcome O'Hallaron
2 01/15 Thu Tour of Internet services IP out O'Hallaron
3 01/20 Tue End-to-end Arguments [R1: I/O] O'Hallaron [Shih]
4 01/22 Thu High performance servers [R2: Server design] O'Hallaron [Shih]
5 01/27 Tue No papers [R3: Threads] [Shih]
6 01/29 Thu Measuring server performance [R4: Linking] Kevin Lee (kclee) [Shih]
7 02/03 Tue Improving server performance (R5: DNS) Rajiv Motwani (rmotwani) [Shih]
8 02/05 Thu Clustering - Lard IP due, 12:30pm Roberto Aravelo (rarevalo)
9 02/10 Tue Clustering - Porcupine Arseniy Khobotkov (akhobotk)
10 02/12 Thu Clustering - Resource Mgmt Andrew Boyer (aboyer)
11 02/17 Tue Monitoring - Sting Soila Pertet (spertet)
12 02/19 Thu Monitoring - Path Diagnosis Hassan Moin Khan (hkhan)
13 02/24 Tue Geographic mapping Jeffrey Lin (jtlin)
14 02/26 Thu Global network positioning GP proposals due 12:30pm Mike Merideth (mmeridet)
15 03/2 Tue No class - NSF site review
16 03/4 Thu No class - NSF site review
17 03/9 Tue No class - Spring break
18 03/11 Thu No class - Spring break
19 03/16 Tue Unstructured overlays - Freenet Rahul Dhar (rdhar)
20 03/18 Thu Unstructured overlays - ESM Phillipe Wilson (pmwilson)
21 03/23 Tue Consistent hashing Boris Jabes (sjabes)
22 03/25 Thu Structured Overlays - Chord/Pastry Harvey Versalovic (harveyv)
23 03/30 Tue Structured Overlays - CAN Harvey Versalovic (harveyv)
24 04/1 Thu P2P applications - Backup Debmallo Ghosh (dsghosh)
25 04/6 Tue P2P applications - Search Matt Brown (mcbrown)
26 04/8 Thu Project summaries Dave O'Hallaron
27 04/13 Tue Security - Program vulnerabilities Ryan Ungaratti (rju)
28 04/15 Thu No class - Carnival
29 04/20 Tue Security - Morris worm case study Boris Jabes (sjabes)
30 04/22 Thu No class - GP prep GP reports due (5:00pm)
31 04/27 Tue No class - GP prep GP reviews due (5:00pm)
32 04/29 Thu GP poster session (HH 1112)
05/2 Sun Final GP reports due (11:59pm)

Detailed course schedule

Students who are not leading the discussion for a particular class should prepare
a 1-page critique for each paper denoted by a "*".

Bring a hardcopy (no email) of your critique with you to class and give it to Patrick before class.
He will grade it and return it to you next class.

Class 1: Welcome (Tue 1/13)

Discussion leader: Dave O'Hallaron

Class 2: A tour of Internet services (Thu 1/15)

Discussion leader: Dave O'Hallaron

Class 3: End-to-end arguments (Tue 1/20)

Discussion leader: Dave O'Hallaron
Recitation 1: I/O, Patrick Shih

Class 04: High-performance servers (Thu 1/22)

Discussion leader: Dave O'Hallaron
Recitation 2: Sockets and Servers, Patrick Shih

Class 5: No papers. (Tue 1/27)

Recitation 3: Threads, Patrick Shih

Class 6: Measuring server performance (Thu 1/29)

Discussion leader: Kevin Lee (kclee)
Recitation 4: Linking, Patrick Shih

Class 7: Improving server performance (Tue 2/3)

Discussion Leader: Rajiv Motwani (rmotwani)
Recitation 5: DNS, Patrick Shih

Class 8: Clustering (Thu 2/5)

Discussion leader: Roberto Aravelo (rarevalo)

Class 9: Clustering (Thu 2/10)

Discussion leader: Arseniy Khobotkov (akhobotk)

Class 10: Clustering (Thu 2/12)

Discussion leader: Andrew Boyer (aboyer)

Class 11: Monitoring (Tue 2/17)

Discussion leader: Soila Pertet (spertet)

Class 12: Monitoring (Thu 2/19)

Discussion leader: Hassan Moin Khan (hkhan)

Class 13: Geographic mapping (Tue 2/24)

Discussion leader: Jeffrey Lin (jtlin)

Class 14: Global network positioning (Thu 2/26)

Discussion leader: Mike Merideth (mmeridet)

Class 15: No class - NSF site review (Tue 3/2)

Class 16: No class - NSF site review (Thu 3/4)

Class 17: No class - Spring break (Tue 3/9)

Class 18: No class - Spring break (Thu 3/11)

Class 19: Unstructured overlays - Freenet (Tue 3/16)

Discussion leader: Rahul Dhar (rdhar)

Class 20: Unstructured overlays - ESM (Thu 3/18)

Discussion leaders: Phillipe Wilson (pmwilson)

Class 21: Consistent hashing (Tue 3/23)

Discussion leader: Boris Jabes (sjabes)

Class 22: Structured overlays - Chord/Pastry (Thu 3/25)

Discussion leader: Harvey Versalovic (harveyv)

Class 23: Structured overlays - CAN (Tue 3/30)

Discussion leader: Harvey Versalovic (harveyv)

Class 24: P2P applications - Backup (Thu 4/1)

Discussion leader: Debmallo Ghosh (dshosh)

Class 25: P2P applications - Keyword search (Tue 4/6)

Discussion leader: Matt Brown (mcbrown)

Class 26: Project summaries (Thu 4/8)

Discussion leader: Dave O'Hallaron

Class 27: Security - Program vulnerabilities (Tue 4/13)

Discussion leader: Ryan Ungaratti (rju)

Class 28: No class - Spring Carnival (Thu 4/15)

Class 29: Security - Morris worm case study (Tue 4/20)

Discussion leader: Boris Jabes
Dave O'Hallaron
Last modified: Mon Jan 14 11:55:04 EST 2002