When to continue (try again)

When to continue (try again)

Probabilistic Congestion Control (PCC) [Widmer 2001] based on:

  • calculating a probability for the two possible states (on/off) so that the expected average rate of the flow is TCP-friendly
  • to perform a random experiment that succeeds with the above probability to determine the new state of the non-adaptable flow, and
  • repeat the previous steps frequently to account for changes in network conditions.

The off periods need to be fairly distributed among users and the on period need to be long enough to be useful.

When to try again is determined by: Probing the network while in the off state (the authors of [Widmer 2001] have not implemented this yet).

Note that PCC only applies when there is a significant level of statistical multiplexing on the link (otherwise the use of statistics is not meaningful).

Other examples of probe based measurements are described at [Lindh 2004].


Slide Notes

Jörg Widmer, Martin Mauve, and Jan Peter Damm. “Probabilistic Congestion Control for Non-Adaptable Flows”, Technical Report 3/2001, Department of Mathematics and Computer Science, University of  Mannheim.  formerly available from http://www.informatik.uni-mannheim.de/informatik/pi4/projects/CongCtrl/pcc/ Links to an external site.

Thomas Lindh, “Performance Monitoring in Communication Networks”. Doctoral Thesis, Royal Institute of Technology (KTH), Stockholm, Sweden, TRITA-IMIT-LCN AVH 04-02, 2004.


Transcript

[slide474] As humans, we give up and we say, I'll go have a cup of coffee, I'll go do something else, and then I'll try the call again. But for computers, how do they know when to try again? It doesn't take them long to have a cup of coffee. So, the result is, Widmer [et al.], in 2001, suggested a probabilistic congestion control approach. And basically what he does is, we calculate the probability for two states, on and off, where we look at the expected average rate of the flows. This is keeping to be TCP-friendly. We perform a random experiment, and then based on that, we decide, should we try to initiate a new session or not. So, the problem, however, is, oops, that means we have to actively probe. What's the problem with actively probing? We're generating more traffic, and if we're already in a situation where we have congestion, adding more probe traffic is a bad idea. So, hmm. And [Thomas] Lindh, in his dissertation in 2004, looks at this problem about probing.