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

Course Syllabus (ps,pdf) | Critiques | Individual Project | Group Project | Documents


News and notes


Instructor:David O'Hallaron, droh@cs.cmu.edu, Wean Hall 8125, (412)268-8199
TA: Julio Lopez , jclopez@cs.cmu.edu, Wean Hall 8205, (412)268-3778
Administrative Assistant: Barb Grandillo, bag@cs.cmu.edu, Wean Hall 8212, (412)268-7550

Class times: Tue and Thu, 12:30 - 2:30, Porter Hall A18-C
Web page: www.ece.cmu.edu/~ece845
Newsgroup: cmu.ece.class.ee845
Course directory: /afs/ece/class/ece845

Reference material

There is no required textbook. However, the two volumes by Stevens on network programming are excellent reference sources. Volume 1 in particular is a must for anyone with a serious interest in network programming. We'll also use some draft chapters on concurrency and network programming from the upcoming book:

Course schedule

IP: individual project, GP: group project
Class Date Day Topic Projects Presenter(s)
1 01/16 Tue Introductions O'Hallaron
2 01/18 Thu Internetworking O'Hallaron
3 01/23 Tue Internetworking with TCP/IP IP out O'Hallaron
4 01/25 Thu Sockets interface O'Hallaron
5 01/30 Tue Group project overview O'Hallaron
6 02/01 Thu Concurrent server design (processes) O'Hallaron
7 02/06 Tue Concurrent server design (threads) O'Hallaron
8 02/8 Thu Infrastructure services O'Hallaron
9 02/13 Tue Presentation overview and scheduling IP due 12:30pm O'Hallaron
10 02/15 Thu Server design O'Hallaron
11 02/20 Tue Measuring server performance Pandurangan (ppt)
12 02/22 Thu NO CLASS ---
13 02/27 Tue Network impact on server performance Neto (ppt)
14 03/01 Thu Clustering GP proposals due, 12:30pm Halady and Grandhi (ppt)
15 03/06 Tue Clustering Manavalan and Oleszkiewicz
16 03/08 Thu Mid-semester break. No class ---
17 03/13 Tue Clustering Wagner (ppt)
18 03/15 Thu Mirroring Xia Chen (ppt)
19 03/20 Tue Network monitoring Mangharam (ppt)
20 03/22 Thu Network monitoring Wisitpongphan (ppt)
21 04/03 Tue Server Performance (revisited) GP status reports Gupta and Gupta (ppt)
22 04/05 Thu Security Bowser and Song (ppt)
23 04/10 Tue Security Chen and Leposo (ppt)
24 04/12 Thu Content distribution Anhalt (ppt)
25 04/17 Tue Web caching Soni and Scholl (ppt)
26 04/19 Thu web caching Uluagac and Pavuluri (ppt)
27 04/24 Tue Search engine architecture Bakkaloglu (ppt)
28 04/26 Thu OS support for Web services Das (ppt)
29 05/01 Tue OPEN
30 05/03 Thu GP paper due 5pm, Mon, May 7 GP poster session II

Class 1: Introductions (Tue 1/16)

Review of the course organization and student/teacher introductions.

Part I: Network programming overview

Class 2: Internetworking (Thu 1/18)

Client-server model, internetworking with hubs, bridges, and routers, architecture of the global IP Internet.

Assignment for next class:

Class 3: Internetworking with TCP/IP (Tue 1/23)

IP, TCP, and UDP services, sockets, ports.

Class 4: Sockets interface (Thu 1/25)

Unix file I/O, TCP sockets, Socket, Connect, Bind, Listen, Accept.

Class 5: Group Project overview (Tue 1/30)

See the Group Project page for more info.

Class 6: Concurrent server design (Thu 2/1)

processes and signals, process memory model, concurrent servers based on processes (also Listen backlog and termination models from last time).

Class 7: Concurrent server design (Tue 2/6)

Concurrent servers based on threads and I/O multiplexing.

Class 8: Infrastructure services (Thu 2/8)

Thread safety and reentrancy, DNS, ICMP

Part II: Research issues

Note: A "*" denotes the paper to be critiqued.

Class 10: High-performance servers (Thu 2/15)

Presenter: O'Hallaron

Class 11: Measuring server performance (Tue 2/20)

Presenter: Vijay Pandurangan

Class 12: NO CLASS (Thu 2/22)

Class 13: Improving server performance (Tue 2/27)

Presenter: Ed Neto

Class 14: Clustering (Thu 3/01)

Presenter: Pratish Halady and Suman Grandhi

Class 15: Clustering (Tue 3/06)

Presenters: Punitha Manavalan and David Oleszkiewicz

Class 16: Mid-semester break. No class (Thu 3/08)

Class 17: Clustering (Tue 3/13)

Presenter: Mike Wagner

Class 18: Mirroring (Thu 3/15)

Presenter: Xia Chen

Class 19: Monitoring (Tue 3/20)

Presenter: Rahul Mangharam

Class 20: Monitoring (Thu 3/22)

Presenter: Nawaporn Wisitpongphan

Class 21: Server Performance (revisited) (Tue 4/03)

Presenters: Nitin Gupta and Sandhya Gupta

Class 22: Security (Thu 4/05)

Presenter: Laura Bowser and Albert Song

Class 23: Security (Tue 4/10)

Presenter: Li-Chiou Chen and Leslie Leposo

Class 24: Content distribution (Thu 4/12)

Presenter: Joshua Anhalt

Class 25: Web caching (Static Content) (Tue 4/17)

Presenters: Vishal Soni and Blake Scholl

Class 26: Web Caching (Dynamic content)(Thu 4/19)

Presenter: Arif Uluagac and Aravind Pavuluri

Class 27: Search engine design (Tue 4/24)

Presenter: Mehmet Bakkaloglu

Class 28: OS support for Web services (Thu 4/26)

Presenter: Saumitra Das

Part III: Project presentations

Class 29: OPEN (Tue 5/1)

Class 30: Poster session (Thu 5/3)


Course Web Page for 18-845 (Spring 2000)
Dave OHallaron
Last modified: Fri Feb 1 19:02:05 EST 2002