CM: The Congestion Manager

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:

Motivated by these trends, we take a fresh look at Internet congestion management from an end-system perspective and proposes a new architecture 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 ideas.


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 ECM (Endpoint Congestion Management) working group of the IETF, where some of our more immediate results are being debated for proposed standardization.

CM papers

IETF documents

Some technical reports



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...

CM Team

David Andersen | Hari Balakrishnan | Deepak Bansal | Dorothy Curtis | Srinivasan Seshan (CMU)

Funding support for CM

NMS HomeProjectsPeoplePapersSoftware


M. I. T. Computer Science and Artificial Intelligence Laboratory · 32 Vassar Street · Cambridge, MA 02139 · USA