CS E6998-043: Advanced Internet Services

(Note: proposed course number COMS E6181.)

Course Abstract

Prerequisite: COMS E4119; COMS W3139, or permission of the instructor. Survey of modern Internet protocols and supporting algorithms for delivery of multimedia content and advanced web services.

Course Benefits

Applicable Degree Programs

Most courses 4000-level and above can be credited to all degree programs. All courses are subject to advisor approval.
Lecturer/Manager Professor Henning Schulzrinne
Class location: Schermerhorn 614
Office hours: Thursday, 5-7 pm and by appointment
Office phone: +1 212 939 7042
Email address: schulzrinne@cs.columbia.edu
News group: columbia.fall.cs6998-sec43 on the Columbia and CS news hosts
Mailing list: ais@ctr.columbia.edu
Teaching assistant: Jean-Francois Huard
TA office hours: Monday, 3-5 pm
Day and time: Tuesday, 6.10 pm - 8.30 pm
Credits for course: 3
Prerequisites: The course requires some background in computer networks (e.g., CS4119) and programming experience (C, Unix). Experience with Tcl/Tk (e.g., CS 6998) might be helpful for some projects, but is not required.
Description: In the last three or four years, the Internet has moved beyond the three "classical" services of email, file transfer and remote login. This course provides an overview of some of the emerging Internet services, their technical background and open issues. The course focuses on two principal areas:
  • Real-Time and Multicast Services
    • Multicast routing
    • Properties of real-time services
    • Resource reservation, scheduling and transport
    • Streaming audio and video
    • Reliable multicast and application sharing
    • Conference control and "telephone-like" functionality
    • Metering, charging, settlements
  • WWW and its extensions
    • Review of WWW technologies: HTML, HTTP,URLs
    • WWW performance and scaling problems
    • The web as universal front-end (cgi, database integration)
    • Java and web scripting languages
    • HTML and beyond (SGML, VRML, PDF)
    • Directory services for people and services: X.500, LDAP, whois++
    • Electronic commerce: EDI, e-cash
Required text(s): None.
Reference text(s): Jerry R. Jackson and Alan L. McClellan, Java by Example, Prentice Hall, 1996. ISBN 0-13-565763-6

W. Richard Stevens, TCP/IP Illustrated, Vol. 3, Addison-Wesley, 1996. ISBN 0-201-63495-3

Ken Arnold and James Gosling, The Java Programming Language ISBN 0-201-63455-4

David Flanagan, Java in a Nutshell, O'Reilly, 1996. ISBN 1-56592-183-6.

The books by Jackson and Stevens have been ordered through the B\amp;N bookstore.

Also, class notes, copies of slides and reference documents will be available on Columbia machines at http://www.cs.columbia.edu/~hgs/teaching/ais/

Homework(s): Five homework assignments, each including questions and small programming problems.
Project(s):

Students are expected to complete one major programming project during the course of the semester, leading to (at least) a technical report and software of distributable quality. Projects that contain Internet measurements are encouraged. As appropriate, homeworks will contain small programming assignments.

Projects might include:

  • Web integrity measurements and assurance;
  • A web-based mailing list manager;
  • Directory services for Internet telephony;
  • Java applets for collaborative computing;
  • Bandwidth estimation and measurements;
  • Service differentiation for data and real-time;
  • Measurements and comparisons of audio and video codecs for networks;
  • Quality-of-service measurements and control for the MBONE;
  • Floor control;
Detailed project descriptions (for Columbia students only).
Paper(s): See "Project(s)"
Midterm exam: None
Final exam: 3 hours, closed book
Grading: Homeworks 20%, project 50%, final 30%
Hardware requirements: Internet access; other requirements depend on project chosen and may include ability to compile C or C++, run a Java compiler. Unix and Windows'95/NT are strongly preferred to avoid support problems.
Software requirements: Depends on project chosen; instructor will attempt to provide if needed.
Homework submission: By electronic mail to the teaching assistant.

Course Outline

Schedule subject to change.
# Date Topics/chapters covered Assigned Due
1 Tu, 9/3 Review of Internet architecture and protocols
2 Tu, 9/10 multicast; resource reservation; ST-II, RSVP Homework #1
3 Tu, 9/17 multicast
review: audio and video
4 Tu, 9/24 scheduling for IP and ATM
network impairments: jitter, loss
transport protocols for real-time data
Homework #2 Homework #1
5 Tu, 10/1 application control and layered codings; reliable multicast project assigned
6 Tu, 10/8 application and X sharing; conference control Homework #3 Homework #2
7 Tu, 10/15 Internet telephony; settlements; WWW review: URLs, HTTP
8 Tu, 10/22 SGML basics; HTML 2.0 and 3.0; server APIs: cgi-bin, scripting; plug-ins
9 Tu, 10/29 VRML, Java Homework #4 Homework #3
10 Th, 11/12 Java
11 Tu, 11/19 directory services: X.500, LDAP, whois++; web searching and directories: spiders, Harvest; URNs Homework #5 Homework #4
12 Tu, 11/26 cryptography review; EDI, electronic commerce, e-cash
13 Tu, 12/03 SSL; summary and review Homework #5, Project due
"Workshop" Fr, 12/13 workshop with project presentations
Final exam Tu, 12/17 7.10 pm - 9.00 pm
Slides
Assignments
Last modified: October 14, 1996 by Henning Schulzrinne