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.
-
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.
-
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.
-
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.
-
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.
-
Evaluate your algorithms using the simulation and the
measure of useulness of the application data.
-
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
- Some knowledge of networking and simulation will be helpful,
but the project can be completed without a networking course.
You will need to understand the concepts of creating network packets out
of application data and simulating a FIFO queue.
- Programming, preferably in C.
Deliverables
- Short report.
- Demo, if applicable.
Evaluation
Based on the deliverables, turned in to the sponsor of the project by the due
date.