CM: The Congestion
The CM is an end-to-end
framework for congestion
control and management, bandwidth sharing, independent of
specific transport protocols (like TCP) and applications. Its
end-system architecture enables logically different flows (such
as multiple concurrent Web downloads, concurrent audio and video
streams, etc.) to adapt to congestion, share network information,
and share (varying) available bandwidth well. Rather than have
each stream act in isolation and thereby adversely interact with
the others, the CM maintains host- and domain-specific path
information, and orchestrates all transmissions. The CM's
internal algorithms ensure social and stable network behavior;
its API enables a variety of applications and transport protocols
to adapt to congestion and varying bandwidth. Internet traffic
patterns and applications have been evolving rapidly in recent
years and network congestion is becoming a problem of extreme
importance. While the Internet's transport protocol, TCP,
incorporates congestion control machinery and has largely been
responsible for the stability of the Internet to date, two
problematic trends threaten this situation:
- Concurrent flows.
Several applications are characterized by multiple
concurrent flows between sender and receiver. Today,
these flows compete with each other for network
resources, prove overly aggressive on the network, and do
not share information about the network with each other.
- Lack of adaptation.
An increasing number of applications use UDP-based flows
without sound congestion control because they do not need
the reliable, in-order service provided by TCP. Today,
they do not learn about or adapt well to changing network
conditions. Unfortunately, current protocol architectures
do not provide adeuate support for this.
Motivated by these trends, we
take a fresh look at Internet congestion management from an
end-system perspective and proposes a
built around the CM. The CM maintains
network statistics across flows, orchestrates data transmissions
governed by robust control principles, and obtains feedback from
the receiver, using a Congestion Controller, Flow Scheduler, and
Feedback Prober. It also exports a simple yet powerful API for
applications to learn about network state and adapt their data
transmissions to obtain the best possible performance. We are
also exploring several new algorithms for end-to-end congestion
control, especially for streaming real-time audio and video. The
CM framework provides a modular implementation platform for these
Version 1 of the CM software (alpha code) is now available for Linux.
A demo video is also available: OxygenTV/CM Demo (33 MB MPEG-2 demo movie)
The CM project was a significant
motivation behind the formation of the
(Endpoint Congestion Management) working group of the
where some of our more immediate results
are being debated for proposed standardization.
Integrated Congestion Management Architecture for Internet Hosts
Hari Balakrishnan, Hariharan Rahul, and
ACM SIGCOMM, Cambridge, MA, September 1999.
for Bandwidth Management and Content Adaptation in Internet Applications
David G. Andersen, Deepak Bansal, Dorothy
Curtis, Srinivasan Seshan, and Hari Balakrishnan
USENIX OSDI Conf., San Diego, California, October 2000.
Congestion Control Algorithms
Deepak Bansal and Hari Balakrishnan
Proc. IEEE INFOCOM Conf., Anchorage,
AK, April 2001.
the Interactions Between Layered Quality Adaptation and Congestion Control
for Streaming Video,
Nick Feamster, Deepak Bansal, Hari Balakrishnan
International Packet Video Workshop (PV2001), Kyongju, Korea, April
Dynamic Behavior of Slowly Responsive
Congestion Control Algorithms
Deepak Bansal, Hari Balakrishnan, Sally Floyd, Scott Shenker
Proc. ACM SIGCOMM Conf., San Diego, CA, September 2001.
Packet Loss Recovery for Streaming Video
Nick Feamster and Hari Balakrishnan
12th International Packet Video Workshop,
Pittsburgh, PA, April 2002.
H. Balakrishnan and S. Seshan
Internet RFC 3124, June 2001.
Approved by IESG as "Proposed Standard."
Some technical reports
Congestion Control for Streaming Video
and Audio Applications
SM Thesis, Massachusetts Institute of
Technology, January 2001. [Postscript
(1.37 MB)] (54 pages)
Winner of a Masterworks Award, May
Hariharan S. Rahul
Unified Congestion Control for Unreliable
S.M. Thesis, Massachusetts Institute of
Technology, August 1999. [Gzipped
postscript (225KB)] [Postscript
Adaptive Delivery of Real-Time
M. Eng. Thesis, Massachusetts Institute
of Technology, May 2001. [Postscript (11.9
(2.9 MB)][PDF (3.15 MB)](92 pages)
Winner of the William A. Martin Memorial Thesis Award, May
Recent CM talks
Please see the NMS talks
page for IETF presentations and other talks on the CM project.
Useful CM-related links
Unfortunately, this is sadly incomplete...
Funding support for CM
M. I. T. Computer Science and Artificial Intelligence Laboratory · 32 Vassar Street · Cambridge, MA 02139 · USA