CS E6998-03 (to be COMS E6181): Advanced Internet Services
Spring 1998

Course Abstract

Prerequisite: COMS E4119 (may be taken concurrently); 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
Office hours: Wednesday, 5-7 pm and by appointment
Office phone: +1 212 939 7042
Email address: schulzrinne@cs.columbia.edu
Day and time: Tuesday, 10.00 am - 12.30 pm
Call number: 71200
Credits for course: 3
Class location: Mudd 1127
CVN: yes
Note: This class is also broadcast live across the Internet to the Technical University Berlin, Berlin, Germany. In Berlin, its entry in the directory of classes is

1231L339, Integrierte Veranstaltung (3SWS), Advanced Internet Services behandelt neue Dienste im Internet und die dafür nötige Netzwerkunterstützung; multimediale Echtzeitdienste, multicast, resource reservation und QOS, JavaScript, directory services. Hauptstudium LV

3 SWS IV DI 18-20 FT131 Beginn: 06.01.98 wöchentlich Wolisz

Schulzrinne

Info-Termin, Dienstag, den 16.12.97 16-18 Uhr; Erste Veranstaltung am 06.01.98 bis Ende April 1998

News group/discussion forum: WWWBoard for general, public discussions
Mailing list: ais@cs.columbia.edu
Teaching assistant: Yue Hai Tan
TA office hours: Monday and Wednesday, 10-11 am, in room CS 460 (TA room in the back of the SRL)
Prerequisites: The course requires some background in computer networks (e.g., CS4119; may be taken concurrently) 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)
    • web scripting languages
    • HTML and beyond: XML, cascading style sheets, SGML, VRML
    • Directory services for people and services: X.500, LDAP, whois++
Required text(s): None.
Reference text(s):
  • Stephen A. Thomas, IPng and the TCP/IP Protocols, Wiley, 1995. ISBN 0-471-13088-5.
  • W. Richard Stevens, TCP/IP Illustrated, Vol. 1, Addison-Wesley, 1996. ISBN 0-201-63495-3

    Be sure to check that any Java book references JDK 1.1, as the AWT has changed somewhat.

  • Jerry R. Jackson and Alan L. McClellan, Java by Example, Prentice Hall, 1996. ISBN 0-13-565763-6
  • Ken Arnold and James Gosling, The Java Programming Language ISBN 0-201-63455-4
  • Patrick Niemeyer and Joshua Peck, Exploring Java, 2nd Edition (O'Reilly); ISBN 1-565922719
    "Gives better explanation than the Nutshell book, but not really good for learning Java from scratch." (W. A. Nagy [student in class])
  • Philip Heller and Simon Roberts, Java 1.1 Developer's Handbook, (Sybex); ISBN 0-782119190
    "Lots of useful examples, and good explanations." (W. A. Nagy)
  • David Flanagan, Java in a Nutshell, O'Reilly, 1997, 2nd edition. ISBN 1-56592-262-X.
  • Richard J. Simon, Windows 95 Multimedia & Odbc Api Bible ISBN 1-571690115
  • Michael Gouker, Brian Barnes, Richard J. Simon, Windows 95 Win 32 Programming Api Bible. ISBN 1571690093

Amazon.com seems to give better prices than local bookstores. My commission will buy the pizza at the project presentation day...

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;
  • Internet media and telephony servers;
  • Floor control;
Detailed project descriptions
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, Jan. 20 Review of Internet architecture and protocols
2 Tu, Jan. 27 Internet protocols Homework #1
3 Tu, Feb. 3 audio and video
4 Tu, Feb. 10 audio and video compression Homework #1
5 Tu, Feb. 17 multicast Homework #2; project assigned
6 Tu, Feb. 24 multicast; network impairments; transport protocols for real-time data; implementation issues
7 Tu, Mar. 3 conferencing, CSCW, implementation issues; RTP Homework #3 Homework #2
8 Tu, Mar. 10 RTP; Internet telephony and media-on-demand (SIP, RTSP)
Tu, Mar. 17 no class (spring break)
9 Tu, Mar. 24 scheduling and resource reservation; adaptation; differentiated services Homework #4 Homework #3
10 Tu, Mar. 31
11 Tu, April 7 resource reservation; RSVP Homework #5 Homework #4
12 Tu, April 14 WWW review: URLs, HTTP; HTML 3.0 and XML; server APIs: cgi-bin, scripting; plug-ins
13 Tu, April 21 directory services: X.500, LDAP, whois++; web searching and directories: spiders, Harvest; URNs Homework #5 due April 24
14 Tu, April 28 summary and review Initial project write-up due
"Workshop" Tu, May 5, 9am - 5pm, SRL workshop with student project presentations (sign up)
Final exam Tu, May 12 (9 am) Mudd 1127
Slides
Assignments
Last modified: 1998-03-05 by Henning Schulzrinne