CM: Internet Congestion Manager (original) (raw)
| | |
| ------------------------------------------- | |
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 new architecturebuilt 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 ideas.
Software
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 theECM(Endpoint Congestion Management) working group of the IETF, where some of our more immediate results are being debated for proposed standardization.
CM papers
- An Integrated Congestion Management Architecture for Internet Hosts
Hari Balakrishnan, Hariharan Rahul, and Srinivasan Seshan
Proc. ACM SIGCOMM, Cambridge, MA, September 1999. - System Support for Bandwidth Management and Content Adaptation in Internet Applications
David G. Andersen, Deepak Bansal, Dorothy Curtis, Srinivasan Seshan, and Hari Balakrishnan
4th USENIX OSDI Conf., San Diego, California, October 2000. - Binomial Congestion Control Algorithms
Deepak Bansal and Hari Balakrishnan
Proc. IEEE INFOCOM Conf., Anchorage, AK, April 2001. - On the Interactions Between Layered Quality Adaptation and Congestion Control for Streaming Video,
Nick Feamster, Deepak Bansal, Hari Balakrishnan
11th International Packet Video Workshop (PV2001), Kyongju, Korea, April 2001. - 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.
IETF documents
- The Congestion Manager
H. Balakrishnan and S. Seshan
Internet RFC 3124, June 2001. Approved by IESG as "Proposed Standard."
Some technical reports
- System Support for Bandwidth Management and Content Adaptation in Internet Applications [Gzipped Postscript (150k)] [Postscript(640k)]
David Andersen, Deepak Bansal, Dorothy Curtis, Srinivasan Seshan and Hari Balakrishnan
Technical Report, MIT-LCS-TR-808, May 2000. 14 pages. - TCP-friendly Congestion Control for Real-time Streaming Applications
Deepak Bansal and Hari Balakrishnan
Technical Report, MIT-LCS-TR-806, May 2000. 14 pages.
SM
- Deepak Bansal
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 2001.
- Hariharan S. Rahul
Unified Congestion Control for Unreliable Protocols
S.M. Thesis, Massachusetts Institute of Technology, August 1999. [Gzipped postscript (225KB)] [Postscript(815KB)]
MEng
- Nick Feamster
Adaptive Delivery of Real-Time Streaming Video
M. Eng. Thesis, Massachusetts Institute of Technology, May 2001. [Postscript (11.9 MB)][.ps.gz (2.9 MB)][PDF (3.15 MB)](92 pages)
Winner of the William A. Martin Memorial Thesis Award, May 2001.
Recent CM talks
Please see the NMS talkspage for IETF presentations and other talks on the CM project.
Useful CM-related links
Unfortunately, this is sadly incomplete...
- IETF ECM working group
- Active Queue Management (Sally Floyd)
- Equation-based congestion control (ACIRI)
- TCP-Friendliness vs FS (Fair Scheduling) (Arnaud Legout)
CM Team
David Andersen | Hari Balakrishnan | Deepak Bansal | Dorothy Curtis | Srinivasan Seshan (CMU)
NMS Home | Projects | People | Papers | Software |
---|
M. I. T. Computer Science and Artificial Intelligence Laboratory · 32 Vassar Street · Cambridge, MA 02139 · USA