Application-Specific Congestion Control


Sponsor Ellen Zegura and Bobby Bhattacharjee
ewz@cc.gatech.edu
bobby@cc.gatech.edu
216 GCATT (Ellen)
234F GCATT (Bobby)
Area Networking

Problem
Traditional routers are "passive" in the sense that they offer a limited set of services and are primarily designed to forward packets. Active networking makes network routers programmable by users. With such a capability, users can rapidly deploy their own services, without waiting for a lengthy standardization and vendor development process. One potential use of active networking is to allow users to program how the network should treat application data when congestion occurs. By applying congestion control (usually discarding of data) in an intelligent fashion, the network can preserve more of the useful data. In this project, you will design and evaluate two or more application-specific discarding algorithms to determine how well they preserve useful data.

Here is what you need to do.

  1. Choose an application. As a default, a good choice is MPEG video. MPEG is an encoding standard that has some properties (e.g., dependencies across frames) that make it interesting for congestion control algorithms. If you use MPEG, send email to Bobby to set up a meeting and he will give you a short tutorial on MPEG.
  2. Choose a measure of the usefulness of the application data. If you choose MPEG as the application, you can use an MPEG viewer to visually display the data that is preserved by the active router. You will need to write a short post-processing routine in order to do this; Bobby can provide a starting point for this coding. Bobby can also point you to an MPEG viewer and some existing MPEG video files.
  3. Develop two or more discard algorithms. Your experiments will be most interesting if the algorithms differ in complexity. Try to think of one simple scheme and one more complex scheme.
  4. Write a program to simulate the behavior of a simple FIFO queue at a router. For simplicity, assume the queue holds packets that are each of a fixed size. You will need to model the arrival of packets from your application at the queue, along with background traffic that shares the queue and causes varying amounts of congestion.
  5. Evaluate your algorithms using the simulation and the measure of useulness of the application data.
  6. Write a short report explaining the algorithms and the results of the evaluation. Also include a description of the processing and storage requirements of the algorithms. If you choose a visual evaluation, provide a demo of the effects.

Background

Deliverables

Evaluation
Based on the deliverables, turned in to the sponsor of the project by the due date.