CS S6998-03: Advanced Internet Services
Summer 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: pre-taped lectures from Spring 1998
Call number:
Credits for course: 3
CVN: yes
News group/discussion forum: WWWBoard for general, public discussions
Mailing list: cse6993@cuvmc.ais.columbia.edu
Teaching assistant: Ying Zhang
TA office hours: same as lecturer
Prerequisites: The course requires some background in computer networks (e.g., CS4119; may be taken concurrently) and programming experience (C and/or Java, Unix). Experience with Java or Tcl/Tk 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.

  • Daniel Minoli and Emma Minoli, Delivering Voice over IP Networks, Wiley, 1998. ISBN 0-471254827
  • 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.

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: 2.5 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. It is strongly recommended that you apply for a Columbia Computer Science account by sending email to accounts@cs.columbia.edu. CUNIX is not sufficient.
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.
# Original Date Summer Date Topics/chapters covered Assigned Due
1 Tu, Jan. 20 Tu, May 26 Review of Internet architecture and protocols
2 Tu, Jan. 27 Th, May 28 Internet protocols Homework #1
3 Tu, Feb. 3 Tu, June 2 audio and video
4 Tu, Feb. 10 Th, June 4 audio and video compression Homework #1
5 Tu, Feb. 17 Tu, June 9 multicast Homework #2; project assigned
6 Tu, Feb. 24 Th, June 11 multicast; network impairments; transport protocols for real-time data; implementation issues
7 Tu, Mar. 3 Tu, June 16 conferencing, CSCW, implementation issues; RTP Homework #3 Homework #2
8 Tu, Mar. 10 Th, June 18 RTP; Internet telephony and media-on-demand (SIP, RTSP)
9 Tu, Mar. 24 Tu, June 23 scheduling and resource reservation Homework #4 Homework #3
10 Tu, Mar. 31 Th, June 25 adaptation; differentiated services
11 Tu, April 7 Tu, June 30 resource reservation; RSVP Homework #5 Homework #4
12 Tu, April 14 Th, July 2 WWW review: URLs, HTTP; HTML 3.0 and XML; server APIs: cgi-bin, scripting; plug-ins
13 Tu, April 21 Tu, July 7 directory services: X.500, LDAP, whois++; web searching and directories: spiders, Harvest; URNs Homework #5
14 Tu, April 28 Th, July 9 mobile IP; summary and review Initial project write-up due
Final exam Tu, May 12 (9 am) Th, July 16

Last modified: 1998-06-06 by Henning Schulzrinne