4CP is a congestion control protocol designed to provide service differentiation of normal and low priority traffic (TCP and 4CP respectively). The reference service differentiation is different than the common strict low priority emulation. 4CP aims at providing per-flow average send rate guarantee to normal traffic, whenever this can be accommodated by the bottleneck link. Otherwise, if the number of normal-priority connections is too large to provide the rate guarantee for each normal-priority connection, 4CP virtually sends no data. The reference system is different from strict-low priority that requires sending no data whenever there is any normal priority traffic on the bottleneck link. The new reference system avoids potential starvation of low priority traffic that is a concern for throughput-greedy file transfer applications.
4CP offers two modes. The per-flow bandwidth guarantee is either fixed (by user or policy) or automatically adjusted (4CP Automatic). The latter aims to validate TCP loss-throughput formula over a timescale that spans fluctuations of network congestion state.
4CP is a window congestion control that combines window congestion control with detection of network congestion states (bad phases). The controller features:
Who should use 4CP? File transfer applications that want to be non-intrusive to normal priority traffic (e.g. web browsing or media streaming) and don't want be starved by normal-priority traffic. It is envisioned that 4CP would be an incentive-compatible solution for file transfer applications such as peer-to-peer file sharing in bandwidth-limited application scenarios such as home networks where the bottleneck is the Internet connection link.

4CP window control determines the congestion window and detects bad phases of network congestion
The design and evaluation are described:
The short-version that contains new stability result is available here:
Last update: June 10, 2007