Probabilistic Congestion Control for Non-Adaptable Flows

Jörg Widmer, Martin Mauve, Jan Peter Damm (NOSSDAV 2002)

 

 

Summary:

 

TCP and existing TCP-friendly transport protocols make use of a rate adaptive approach to congestion control, in which the rate of a flow is adjusted to accommodate the current congestion situation of the network.  Clearly, however, this approach is not suitable for non-adaptable flows, which are defined as flows that operate in one of two states: on, meaning that data is flowing at a rate strictly determined by the needs of the application and so, cannot be limited to avoid or alleviate congestion or off, meaning that no data is flowing at all.    Examples of applications that depend on such flows include audio and video transmissions where the adaptation of quality below a minimal acceptable level is not possible, as well as network games, in which the actions of players must be transmitted instantaneously in order to be correctly handled.

 

This paper presents Probabilistic Congestion Control (PCC), a TCP-friendly, end-to-end congestion control mechanism for unicast non-adaptable flows.  Broadly speaking, PCC makes use of a three part mechanism to control the state of a flow: (1) calculate the probabilities p and 1 – p for the two possible states such that the expected average rate rNA of the flow is TCP-friendly (i.e. less than or equal to the current TCP-friendly rate rTCP), (2) perform a Bernoulli trial with probability p to determine the new state of the non-adaptable flow for the next T seconds and (3) repeat the previous steps continuously to account for dynamic network conditions (i.e. changes in rNA and rTCP).  Note that p can roughly be thought of as the ratio of rTCP to rNA, rNA can be estimated by leveraging application specific knowledge or using past samples of the data rate, rTCP is determined by some reasonable model that accounts for current network conditions (the current implementation of PCC employs a modified version of the TCP Response Function used by TFRC) and T is chosen such that the average on-time of a flow (which is some multiple of T) is suitable for application specific needs.  By ensuring that the average expected rate of an individual PCC flow is TCP-friendly, the law of large numbers ensures that the aggregate of a sufficiently large number of independent PCC flows will behave in a TCP-friendly manner, even though individual PCC flows may operate at potentially TCP-unfriendly application determined rates while in the on state.  Extensive ns-2 simulation results indicate that PCC does in fact behave in a TCP-friendly manner.

 

 

Presentation Slides (PPT)

 

Discussion Overview

                                                                                                  

Additional References