Update dates in 2006: 1/17,
1/24, 2/7, 2/14, 2/21, 2/22, 2/23, 2/26, 2/28, 3/4, 3/28, 4/4, 4/11,
4/24
|
Week / Date
|
Topic and Lecture(s)
|
Reading
|
|
1/Jan 17
|
Introduction: Networking Review
and History
handouts Transport Layer
handouts
|
Required readings:
|
|
2/Jan 24
|
Application Layer 1: HTTP and FTP
handouts
|
Required readings:
K&R: 2.1-2.3
Simon E. Spero. Analysis
of HTTP Performance Problems. W3C, July 1994.
Balachander Krishnamurthy,
Jeffrey C. Mogul, and David M. Kristol. Key
Differences between HTTP/1.0 and HTTP/1.1. Proceedings of the
WWW-8 Conference, Toronto, Canada, May 1999.
Henrik Frystyk Nielsen, James Gettys, Anselm Baird-Smith,
Eric Prud'hommeaux, Håkon Wium Lie, and Chris Lilley.
Network
Performance Effects of HTTP/1.1, CSS1, and PNG. Proceedings
of the ACM SIGCOMM '97 Conference on Applications, Technologies,
Architectures, and Protocols for Computer Communications, pages,
155-166, Cannes, France, 1997.
|
|
3/Jan 31
|
Application Layer 2: Email, DNS
and P2P handouts
|
Required readings:
K&R: 2.4-2.6
Review Crocker, D., Editor, and
P. Overell, Augmented
BNF for Syntax Specifications: ABNF, RFC 2234 enough to
understand how the RFC BNF works.
J. Klensin, Editor, RFC:
2821, Simple Mail Transfer Protocol; skip Sections 3.4 - 3.8,
3.10, 4.1.1.6 - 4.1.1.9, 4.5 and 5.
P. Resnick, Editor, RFC:
2822, Internet Message Format; skip Sections 3.3 and 4.
Further readings:
|
|
4/Feb 7
|
Application Layer 3: Socket
Programming
handouts
Notices
|
Required readings:
|
|
5/Feb 14
|
Security
1
Notices
|
Required readings:
|
|
6/Feb 21
|
Security 2 handout
Software
Quality Example
Streams
|
Required readings:
|
|
7/Feb 28
|
Issues
in Implementing HW2: Secure Email Sender
How to read
TCP data
ReadFromInputStream.java
|
Required readings:
Vivek S. Pai, Peter Druschel,
and Willy Zwaenepoel. Flash:
An Efficient and Portable Web Server. Proceedings of the 1999
USENIX Annual Technical Conference, pages 199-212, Monterey,
California, June 1999.
Gaurav Banga and Jeffrey C.
Mogul. Scalable
Kernel Performance for Internet Servers under Realistic Loads.
Proceedings of the 1998 USENIX Annual Technical Conference, New
Orleans, Louisiana, June 1998; skip Section 6.
Jeffrey C. Mogul and K. K. Ramakrishnan, Eliminating
Receive Livelock in an Interrupt-driven Kernel. DEC
WRL, Research Report 95/8, December 1995
Further readings:
Atul Adya, Jon Howell, Marvin
Theimer, William J. Bolosky, and John R. Douceur. Cooperative
Task Management without Manual Stack Management. Proceedings
of the 2002 USENIX Annual Technical Conference, Monterey,
California, June 2002.
Matt Welsh, David Culler, and Eric Brewer. SEDA:
An Architecture for Well-Conditioned, Scalable Internet Services.
Proceedings of the 18th ACM Symposium on Operating Systems
Principles, pages 230-243, Banff, Canada, December 2001.
|
|
8/Mar 7
|
Web Proxy Design and
Implementation
|
Required readings:
RFC
2616, HTTP 1.1 (Sections 1, 2, 3.0, 3.1, 3.5, 3.6, 4 –
8, 9.0, 9.3, 13.1.0, 13.2.1, 13.2.2, 13.3.6, 13.5, 14.9.0 -
14.9.2)
Further readings:
The rest of Java
NIO, by Ron
Hitchens. If you're willing to give your credit card # you
can read it on-line for free for 2 weeks at safari.
Alec Wolman, Geoffrey M.
Voelker, Nitin Sharma, Neal Cardwell, Anna Karlin, and Henry M.
Levy. On
the Scale and Performance of Cooperative Web Proxy Caching.
Proceedings of the 17th ACM Symposium on Operating Systems
Principles, pages 16-31, Kiawah Island Resort, South Carolina,
December 1999.
Arthur Goldberg, Ilya Pevzner,
Robert Buff, Characteristics of Internet and Intranet Web
Proxy Traces, published in the Computer Measurement
Group Conference, CMG98, December 1998, (Word97
4.19Mb, ps
1.17Mb, ps.zip
225Kb)
Renu Tewari, Michael Dahlin,
Harrick M. Vin, and Jonathan S. Kay. Design
Considerations for Distributed Caching on the Internet.
Proceedings of the IEEE International Conference on Distributed
Computing Systems, pages 273-284, Austin, Texas, June 1999.
Li Fan, Pei Cao, Jussara Almeida, and Andrei Z. Broder.
Summary
Cache: A Scalable Wide-Area Web Cache Sharing Protocol.
IEEE/ACM Transactions on Networking, 8(3):281-293, June 2000.
|
|
Mar 14
|
NYU vacation
|
|
|
9/Mar 21
|
Threading
Design
of a Web Proxy Server
|
Required readings:
|
|
10/Mar 28
|
Special Guest Lecture:
Practical
Techniques for Building High Performance Java Servers. Joe
Conron, Senior Consultant responsible for market data server and
APIs of the Aegis
Athena Trader.
Web
Proxy Implementation FAQ
|
|
|
11/Apr 4
|
Real-time
network programming
|
Required readings:
|
|
12/Apr 11
|
Building
High Throughput, Multi-threaded Servers in C#/.NET, David
Buksbaum, SVP Development Manager of Systematic Trading, Citadel
Investment David will compare and contrast Java's
networking APIs and models with those of .NET. Then he'll discuss
an order execution server he wrote for a large investment bank.
The server supports a few hundred users worldwide, and processes
orders for the New
York Stock Exchange.
He'll discuss the system's design and implementation,
including the design of a custom protocol, management of
persistent state, data compression across a low-bandwidth wireless
link and use of concurrency.
Also: An
Introduction to C#
|
|
|
13/Apr 18
|
UDP programming
Peer-to-peer systems
|
|
|
14/Apr 25
|
What's
missing from Java for production sockets applications Brian
Runk, Morgan Stanley Fault-tolerant network programs require
more functionality than offered by java.net. Example functionality
would include connection retry, fail over, and fail back
(re-establishing a connection to a primary server after it has
recovered from a failure). In addition, certain functionality is
needed by enough network programs that it makes sense to put it in
a library, including pluggable detection of message boundaries and
an callback based mechanism for handling network events. We
discuss these concepts, ideas for implementing them, and related
potential issues. The speaker: Brian Runk works in an
infrastructure group at Morgan Stanley that provides Java
libraries and frameworks to the application developers.
And
TBD
|
|
I thank Prof. Robert Grimm for letting me use some of his
materials.