CS E6998-5: Content Networking

Spring 2007

Lecturer:Prof. Markus Hofmann
Time:Thursdays, 6:10pm-8:00pm
Place:Room 337, Seeley W. Mudd Building
Office:Room 464, CS Building
Office Hours:Thursdays, 5pm-6pm
(please send email beforehand to confirm)
Registration:Number E6998, Section 5

[Scope] [Abstract] [Objectives] [Level] [Textbook] [Exams/Assignments]
[Outline] [Viewgraphs] [Teaching Assistants] [Links]

Scope

As more and more people start using the Internet as an integral part of their lives, scalability and reliability of services on the World Wide Web become more and more crucial. It is important to help people understand the reasons for current problems on delivering content on the WWW and to explain the challenges and possible solutions for improving reliability and scalability. The lecturer has been working on content networking and related fields for more than ten years and has gained valuable practical experience, which he would like to pass on to the students registering for this lecture.

Abstract

The Internet, and in particular the World Wide Web (WWW), have become an integral part of people’s life. With the increase in popularity, however, users have to face more and more problems when using the Internet - high access delays, poor quality of service and unreliable services. This lecture helps in understanding the reasons for these problems. It explains the challenges in making content available on the WWW, describes basic concepts and principles for improving the current situation and outlines possibilities for tapping into the huge potential of custom-tailored provisioning of converged services over the Internet.

The lecture starts with a short summary of fundamental techniques and protocols for moving content on the Internet, followed by an introduction to fundamental web caching techniques. From there, the lecture outlines the evolution from web caching towards a flexible and open architecture to support a variety of content-oriented services. Evolutionary steps include support for streaming media (audio/video), systems for global request routing, peer-to-peer systems for content delivery, and the design of APIs and protocols enabling value-added services, such as compression, filtering, or transformation. The lecture also explains how the different components interact with each other and how they can be used to build complex content networks.

The participant will learn how the technology evolved from traditional web caching towards more sophisticated content services. The participant will get a better understanding of the key components in modern content networks and of the protocols that make the components interact with each other. Various examples will help the participant to better understand how this technology can be deployed and how it could help their business. All parts of the lecture will have a mix of research and industry flavor, addressing seminal research concepts and looking at the technology from an industry angle.

Objectives

The lecture concentrates on underlying principles, concepts and mechanisms and explains and evaluates them. It uses many examples and case studies for illustration. Specific protocols are selected as examples of how the concepts and mechanisms can be incorporated in real-life networks, but the lecture is less intended to provide a reference guide to web-related protocols. It rather aims to provide a systematic and architectural view of the content networking and content services field. It helps the students in understanding the overall picture, the fundamental components and mechanisms, and how everything fits together.

Level

The lecture is intended for students who want to gain an understanding of fundamental challenges and possible solutions for delivering content over the Internet, and how they apply to practice. It is expected that the audience is familiar with the basics of the most important Internet protocols such as TCP and HTTP. However, the lecture will include a short section summarizing the key aspects of these protocols, which will allow the inexperienced participant to understand the fundamental challenges discussed during the lecture.

Textbook

The lecture will be based on the following book:

Content Networking:
Architecture, Protocols, and Practice

By Markus Hofmann and Leland Beaumont.
February 2005, Hardback, ISBN 1-55860-834-6.
Morgan Kaufmann Publishers.

For more information, click here.

The textbook is available at bookstores and online retailers. An order will be placed with the Columbia University bookstore.

Additional reading material will be provided as needed.

Exams/Assignments

There will be a final exam (closed textbook, no calculators).  

In addition, each student will have to produce a short statement paper about a topic of choice related to the content of this course. This can be done in form of a conference-like review of a research paper (e.g. a discussion of the problem solved in the paper, issues not addressed in the paper, a critical summary of the approach presented in the paper, possible extensions and improvements, etc.) or a free discussion of a selected topic in content networking. A list of relevant research papers and of candidate topics will be presented, but the student is free to propose a paper/topic on her/his own. Each student will also have to give a short presentation about the statement paper in class.

bulletDeadlines and Details on short paper assignments (click here).
bulletList of topics for short paper assignments (click here)
bulletTopic Assignments (click here)

No formal homework assignments will be given, but we will discuss technical challenges and active class participation is expected in discussions aiming to identify solutions for them.

The course grade will be determined as follows: Final exam 60%, Statement paper and presentation 40%.

Outline

NOTE: Outline is subject to change.

bulletIntroduction
bulletThe early days of content delivery over the Internet
bulletThe World Wide Web – where it came from, what it is
bulletThe evolution of content networking
bulletContent Transport
bulletProtocol architecture and design paradigms of the Internet
bulletThe Hypertext Transport Protocol (HTTP)
bulletMulticast transport
bulletCaching Techniques for Web Content
bulletMotivation and Goals of Web Caching
bulletBasic Operation of a Shared Web Cache
bulletCachability Considerations
bulletPlacing a Cache in the Network
bulletThe Evolution of Caching Systems - Networks of Caches
bulletPerformance
bulletCaching Challenges and Myths
bullet Caching Techniques for Streaming Media
bulletWhat is "Streaming Media"?
bulletProtocols for Streaming Media
bulletCaching Techniques for Streaming Media
bulletNavigating Content Networks
bulletThe Domain Name System
bulletLayer 4-7 Request Switching
bulletGlobal Request Routing
bulletBeyond Web Surfing – Content Services
bulletWhat is Driving Content Services?
bulletAn Architecture for Content Services
bulletExample Content Services
bulletICAP – The Internet Content Adaptation Protocol
bulletOpen Pluggable Edge Services (OPES)
bulletRules Languages for Content Services
bulletSummary and Outlook

Viewgraphs

Viewgraphs for the lecture will be made available in PDF format on this Web page. Slides will be made available in time for the lecture in which they are used. For your convenience, each viewgraph package comes in three formats: the "Slides" format has one viewgraph per page, the "Handouts/2" format has two viewgraphs per page, and the "Handouts/4" format has four viewgraphs per page. The content of all three packages is identical.

bulletViewgraphs Part A (Introduction & Motivation)
Slides, Handouts/2, Handouts/4
bulletViewgraphs Part B (Content Transport)
Slides, Handouts/2, Handouts/4

Slides (Deering), Handouts/2 (Deering), Handouts/4 (Deering
bulletViewgraphs Part C (Caching Techniques for Web Content)
Slides, Handouts/2, Handouts/4
bulletViewgraphs Part D (Caching Techniques for Streaming Media)
Slides, Handouts/2, Handouts/4
bulletViewgraphs Part E (Content Navigation)
Slides, Handouts/2, Handouts/4
bulletViewgraphs Re-Cap
Slides, Handouts/2, Handouts/4
bulletViewgraphs Part F (Content Services)
Slides, Handouts/2, Handouts/4

The following table outlines what viewgraphs were covered during which class.

DateViewgraphs covered during class
Thursday, 1/18/2007Part A: Slides A-1 to A-44
Thursday, 1/25/2007Part A: Slides A-45 to A-47
Part B: Slides B-1 to B-35, plus Steve Deering's slides
Thursday, 2/1/2007Part B: Slides B-36 to B-72
Part C: Slides C-1 to C-6
Thursday, 2/8/2007Part C: Slides C-7 to C-43
Thursday, 2/15/2007Part C: Slides C-44 to C-68
Thursday, 2/22/2007Part C: Slides C-69 to C-93
Thursday, 3/1/2007Part D: Slides D-1 to D-38
Thursday, 3/8/2007Part E: Slides E-1 to E-32
Thursday, 3/15/2007Spring Recess - Have Fun!
Thursday, 3/22/2007Part E: E-33 to E-53
Re-Cap: Slides 1 to 58
Thursday, 3/29/2007Part F: F-1 to F-29
Thursday, 4/5/2007No class - business travel and make-up for
overtime during short paper presentations
Thursday, 4/12/20075:30pm - 8:30pm
Short Paper Presentations
Thursday, 4/19/20075:30pm - 8:30pm
Short Paper Presentations
Thursday, 4/26/2007Part F: F-30 to F-43
Panel discussion on Peer-to-Peer technology
Thursday, 5/3/2007Final Exam (Room 633 MUDD)
Thursday, 5/10/2007No lecture - Make-up for Study Days (i.e. previous week)

Teaching Assistants

NameOffice HoursLocation
Arezu MoghadamTuesday & Thursday
11am-12pm
720 CEPSR

Links

This section will be update during the course to list several links related to the lecture.

bulletSlide B-16 makes a reference to http://webtools.mhof.com/ , a Web page that allows you to investigate the HTTP request coming out of your Web browser.
bulletSlide B-35 was used to illustrate that the certificate coming back from a Web server might not always match the URL you requested. Example: Type https://www.privweb.com/ into your browser, notice that the little lock at the bottom of your browser (e.g. IE, Firefox) indicates a secure connection, but then check the URL to which the certificate belongs. Note: Depending on the configuration of your Web browser, you might receive a warning that the name on the security certificate does not match the name of the requested site. This is the browser behavior we want, but in the past default configurations of browsers did not provide such warning.

Maintained by Markus Hofmann
Last modified: Tuesday, April 10, 2007