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.
-
W. Richard Stevens, Unix Network Programming: Networking
APIs, Volume 1 (Second Edition), Prentice Hall PTR, 1998.
-
W. Richard Stevens, Unix Network Programming: Interprocess
Communications, Volume 2 (Second Edition), Prentice Hall PTR, 1999.
We'll also use some draft chapters on concurrency and network
programming from the upcoming book:
- [ICS]
Randal E. Bryant and David R. O'Hallaron,
Introduction to Computer Systems,
Prentice Hall, available for the Fall 2002 term.
Course schedule
IP: individual project, GP: group project
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:
- [ICS]
Read handouts 5, 6, 8, 9, and 10.
- Work problems 1, 2, 3, and 4 in handout #9: Network Programming.
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
-
*V. Pai, P. Druschel, and W. Zwaenepoel, Flash: An efficient and portable
Web server, Proceedings of the USENIX 1999 Annual Technical Conference,
Monterey, CA, June 1999 (html)
-
J. Hu, S. Mungee, D. Schmidt, Techniques for developing and
measuring high-performance Web servers on high-speed networks,
IEEE INFOCOMM '98, San Francisco, CA, Mar, 1998, pp. 1222-1231 ( ps
| pdf
)
-
A. Iyengar, J. Challenger, D. Dias, and P. Dantzig, Techniques for designing
high-performance Web sites, draft. (html)
Class 11: Measuring server performance (Tue 2/20)
Presenter: Vijay Pandurangan
-
*G. Banga and P. Druschel, Measuring the capacity of a Web server,
Usenix Symposium on Internet Technologies and Systems, Monterrey, CA, Dec,
1997 (html).
-
D. Mosberger and T. Jin, httperf - A tool for measuring Web server performance,
Workshop on Internet Server Performance (WISP'98), Madison, WI, June, 1998
(
html
|
ps
)
Class 12: NO CLASS (Thu 2/22)
Class 13: Improving server performance (Tue 2/27)
Presenter: Ed Neto
-
*T. Faber, J. Touch, and W. Yue, The TIME-WAIT state in TCP and its effect
on busy servers, Proceedings of IEEE INFOCOM, pp. 1573-1584, IEEE,
New York, NY, March 21-25 1999 (
ps
|
pdf |
html
)
)
Class 14: Clustering (Thu 3/01)
Presenter: Pratish Halady and Suman Grandhi
-
*A. Fox, S. Gribble, Y. Chawathe, E. Brewer, and P. Gauthier,
Cluster-based scalable network services, 16th ACM Symp on
Operating Systems Principles (SOSP'97), St. Malo, FR, Oct, 1997 ( ps
)
-
Steven D. Gribble, Matt Welsh, Eric A. Brewer, and David Culler. The
MultiSpace: an evolutionary platform for infrastructural services,
In Proc. USENIX Annual Technical Conference, 1999 (
ps
)
-
Ian Goldberg, Steven D. Gribble, David Wagner, and Eric A. Brewer, The
Ninja Jukebox, 2nd USENIX Symposium on Internet Technologies and Systems,
Boulder, CO, October 1999 (
ps
)
Class 15: Clustering (Tue 3/06)
Presenters: Punitha Manavalan and David Oleszkiewicz
-
*V. Pai, M. Aron, G. Banga, M. Svendsen, P. Drushel, W. Zwaenepoel,
E. Nahum, Locality-aware request distribution in cluster-based
network services. In Proceedings of the Eighth International
Conference on Architectural Support for Programming Languages and
Operating Systems (ASPLOS-VIII). San Jose, California, October 1998
(ps)
Class 16: Mid-semester break. No class (Thu 3/08)
Class 17: Clustering (Tue 3/13)
Presenter: Mike Wagner
-
*Y. Saito, B. Bershad, and H. Levy, Manageability, availability,
and performance in Porcupine: a highly scalable, cluster-based mail
service , 17th ACM Symposium on Operating Systems Principles
(SOSP'99), Kiawah Island, SC, Dec, 1999
(
ps
)
-
Yasushi Saito, Brian Bershad and Hank Levy.
Manageability, availability and performance in Porcupine: a highly scalable, cluster-based mail service, ACM Transactions on Computer Systems, Aug 2000.
(
ps
)
Class 18: Mirroring (Thu 3/15)
Presenter: Xia Chen
-
*Andy Myers, Peter Dinda, Hui Zhang, Performance Characteristics of
Mirror Servers on the Internet, Proceedings of Infocom '99, New
York, NY, March 1999, pp. 304-312 (ps)
Class 19: Monitoring (Tue 3/20)
Presenter: Rahul Mangharam
-
*Stefan Savage, Andy Collins, Eric Hoffman, John Snell and Tom Anderson,
The End-to-end Effects of Internet Path Selection
Proceedings of the 1999 ACM SIGCOMM Conference, pp. 289-299, Cambridge, MA, September, 1999.
(
ps,
pdf
)
- Stefan Savage, Tom Anderson, Amit Aggarwal, David Becker, Neal
Cardwell, Andy Collins, Eric Hoffman, John Snell, Amin Vahdat, Geoff
Voelker, and John Zahorjan, Detour: a Case for Informed Internet
Routing and Transport,
University of Washington Tech Report, UW-CSE-98-10-05,
October, 1998.
(
ps,
pdf
)
Class 20: Monitoring (Thu 3/22)
Presenter: Nawaporn Wisitpongphan
-
*Stefan Savage,
Sting: a TCP-based Network Measurement Tool,
Proceedings of the 1999 USENIX Symposium on Internet Technologies and
Systems, pp. 71-79, Boulder, CO, October 1999.
(
ps,
pdf
)
Class 21: Server Performance (revisited) (Tue 4/03)
Presenters: Nitin Gupta and Sandhya Gupta
-
*Hari Balakrishnan, Venkata Padmanabhan, Srini Seshan, Mark Stemm and
Randy H. Katz, TCP Behavior of a Busy Internet Server: Analysis and
Improvements. INFOCOM'98
(
html
)
- H. Balakrishnan, S. Seshan, and H. Rahul, An Integrated Congestion
Management Architecture for Internet Hosts,
Proc. ACM SIGCOMM, Cambridge, MA, September 1999
(
html
)
-
David Andersen, Deepak Bansal, Dorothy Curtis, Srinivasan Seshan, Hari Balakrishnan,
System Support for Bandwidth Management and Content Adaptation in
Internet Applications,
Proc. USENIX OSDI Conf., San Diego, CA, October 2000.
(
html
)
-
Hari Balakrishnan, Srinivasan Seshan,
The Congestion Manager,
IETF Draft, October 2000
(
txt
)
-
Venkata N. Padmanabha,
Addressing the Challenges of Web Data Transport,
PhD. thesis, Sept 1998, Chapters 2, 6, 7 & Appendix B
(
html
)
Class 22: Security (Thu 4/05)
Presenter: Laura Bowser and Albert Song
- *Eugene H. Spafford, The Internet worm incident, Technical
Report CSD-TR-933, Dept. of Computer Sciences, Purdue University,
Sept. 1991. (ps)
- Eugene H. Spafford, The Internet work incident: An Analysis,
Technical Report CSD-TR-823, Dept. of Computer Sciences, Purdue University,
Dec. 8, 1988.
(ps).
- M. Eichin and J. Rochlis, With microscope and tweezers: An
analysis of the Internet Virus of November 1988, IEEE Symposium on
Research in Security and Privacy, 1989. (ps )
-
Technical summary of buffer
overrun bugs and attacks.
Class 23: Security (Tue 4/10)
Presenter: Li-Chiou Chen and Leslie Leposo
-
*Stefan Savage, David Wetherall, Anna Karlin and Tom Anderson,
Practical Network Support for IP Traceback,
Proceedings of the 2000 ACM
SIGCOMM Conference, pp. 295-306, Stockholm, Sweden, August 2000.
(
ps,
pdf
)
-
Stefan Savage, David Wetherall, Anna Karlin and Tom Anderson,
Practical
Network Support for IP Traceback, Department of Computer Science and
Engineering, University of Washington, Technical Report UW-CSE-2000-02-01,
2000. (html)
Class 24: Content distribution (Thu 4/12)
Presenter: Joshua Anhalt
- *Ian Clarke, Askar Sanderberg, Brandon Wiley, and Theodore Hong,
Freenet: A Distributed Anonymous Information Storage and Retrieval System,
Proceedings of the Workshop on Design Issues in Anonymity and Unobservability,
July 25-26, Berkeley, CA, 2001
(
html,
ps
)
-
Ian Clarke,
A Distributed Decentralized Information Storage and Retrieval System,
unpublished report.
(pdf)
Class 25: Web caching (Static Content) (Tue 4/17)
Presenters: Vishal Soni and Blake Scholl
-
*Jia Wang, A Survey of Web Caching Techniques for the Internet, ACM
Computer Communication Review, 29, number 5, Oct 1999. (html)
-
Greg Barish and Katia Obraczka,
World Wide Web Caching: Trends and Techniques
IEEE Communications Magazine Internet Technology Series, May 2000.
(
pdf
)
-
Brian Davidson's
web caching resource site and bibliography.
-
Renu Tewari, Michael Dahlin, Harrick M. Vin and Jonathan S. Kay. Design
Considerations for Distributed Caching on the Internet. In Proceedings
of International Conference on Distributed Computing Systems, Austin, May
1999 (ps.Z)
-
Anawat Chankhunthod, Peter B. Danzig, Chuck Neerdaels, Michael F. Schwartz
and Kurt J. Worrell. A Hierarchical Internet Object Cache. In Proceedings
of 1996 USENIX Technical Conference, San Diego, Jan. 1996. (ps.Z)
Class 26: Web Caching (Dynamic content)(Thu 4/19)
Presenter: Arif Uluagac and Aravind Pavuluri
-
*Andy Meyers, John Chuang, Urs Hengartner, Weiqiang Zhuang, Hui Zhang,
A Secure, Publisher-Centric Web Caching Infrastructure,
Infocom 2001.
(
ps,
pdf
)
-
Andy Meyers, John Chuang, Urs Hengartner, Weiqiang Zhuang, Hui Zhang,
A Secure, Publisher-Centric Web Caching Infrastructure,
longer unpublished version.
(
ps,
pdf
)
-
Jim Challenger, Arun Iyengar, Karen Witting, Cameron Ferstat, and Paul Reed,
A Publishing System for Efficiently Creating Dynamic Web Data,
In Proceedings of IEEE INFOCOM 2000, Tel Aviv, Israel, March 2000.
(
ps
)
- Jim Challenger, Arun Iyengar, and Paul Dantzig.
A Scalable System for Consistently Caching Dynamic Web Data,
In Proceedings of IEEE INFOCOM'99, New York, New York, March 1999.
(
ps
)
-
E. Levy-Abegnoli, A. Iyengar, J. Song, and D. Dias, Design and
performance of a Web server accelerator, Proceedings of IEEE
INFOCOM, pp. 135-143, IEEE, New York, NY, March 21-25 1999 ( ps
Class 27: Search engine design (Tue 4/24)
Presenter: Mehmet Bakkaloglu
-
*S. Brin and L. Page,
The Anatomy of a Large-Scale Hypertextual Web Search Engine,
Seventh International World
Wide Web Conference / Computer Networks 30(1-7): 107-117. 1998.
(
ps,
pdf
)
-
Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd,
The PageRank Citation Ranking: Bringing Order to the Web,
1998.
(
html
)
Class 28: OS support for Web services (Thu 4/26)
Presenter: Saumitra Das
-
*M.F. Kaashoek, D.R. Engler, D.H. Wallach, and G. Ganger.
Server operating systems. In SIGOPS European
Workshop, pages 141--148, September 1996.
(
ps
)
-
M. F. Kaashoek, D. Engler, G. Ganger, H. Briceno, R. Hunt, D. Mazieres, T. Pinckney,
R. Grimm, J. Jonnotti, K. Mackenzie,
Application Performance and Extensiblity in Exokernel Systems,
SOSP, 1997.
(
ps
)
-
Vivek S. Pai, Peter Druschel, Willy Zwaenepoel,
IO-Lite: A unified I/O buffering and caching system,
Proc 3rd Usenix Symposium in Operating System Design
and Implementation (OSDI'99), New Orleans, Feb. 1999.
(
html
)
-
Amin Vahdat, Thomas Anderson, Michael Dahlin, David Culler, Eshwar Belani, Paul
Eastham, and Chad Yoshikawa.
WebOS: Operating System Services For Wide Area Applications,
The Seventh IEEE Symposium on High Performance Distributed
Computing, July 1998.
(
ps
)
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