Competitive and considerate congestion control

Abstract
An end-to-end congestion control is provided that emulates a different service differentiation than the common low-normal priority. This protocol is referred to as 4CP (Competitive, Considerate Congestion Control). The target service differentiation enables provisioning of per-flow average bandwidth guarantees to “normal” traffic, but not at the expense of potentially starving the “low” priority traffic (4CP). It thus features incentive compatibility to file-transfer applications that are throughput-greedy but want to be considerate to other traffic. 4CP is implemented and configured as a sender-only adaptation of standard TCP, and requires no special network feedback. Configuration of the bandwidth guarantee is either statically configured or automatically adjusted by 4CP. The automatic mode aims to be TCP-friendly over appropriately large timescale.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Competitive and considerate congestion control is further described with reference to the accompanying drawings in which:



FIG. 1 is a block diagram representing an exemplary computing device suitable for use in conjunction with competitive and considerate congestion control (4CP);



FIG. 2 illustrates an exemplary networked computing environment in which many computerized processes may be implemented to perform competitive and considerate congestion control;



FIG. 3 illustrates 4CP bandwidth sharing model as a weighted-round robin scheduler that assigns a link of capacity c;



FIG. 4 illustrates the 4CP bandwidth sharing model of FIG. 3;



FIG. 5 is a chart illustrating 4CP window control elements;



FIG. 6 is a block diagram illustrating an Internet level systems overview of the 4CP controller in operation for 4CP sender side control logic;



FIG. 7 is a block diagram illustrating an example of kernel mode implementation of the 4CP controller;



FIG. 8 is a block diagram illustrating an example of user mode implementation of the 4CP controller; and



FIG. 9 a diagram illustrating an example implementation of the 4CP as a congestion control module (CCM).



FIG. 10 is a block diagram illustrating an Internet level systems overview of the 4CP controller in operation for 4CP receiver side control logic with a TCP transport;



FIG. 11 is a block diagram illustrating an Internet level systems overview of the 4CP controller in operation for 4CP sender side control logic with a UDP transport;



FIG. 12 is a block diagram illustrating an Internet level systems overview of the 4CP controller in operation for 4CP receiver side control logic with a UDP transport;


Claims
  • 1. A method for end-to-end computer network congestion control on a network link comprising: providing a specific average traffic rate guarantee to a network traffic connection of a particular priority whenever a bottleneck link can accommodate such a rate guarantee.
  • 2. The method of claim 1 further comprising: enabling a lower priority network traffic connection than that of the network traffic connection of a particular priority to use residual bottleneck capacity.
  • 3. The method of claim 2 further comprising: suppressing the network traffic of the lower priority connection if a number of connections of the particular priority on the link is larger than can be accommodated by the link, for the specific per-connection average bandwidth guarantee.
  • 4. The method of claim 3 wherein the specific average traffic rate guarantee is provided such that whenever the number of connections of the particular priority on the link is smaller or equal to c/x, each is guaranteed the rate x and the lower priority connection consumes the residual bandwidth, otherwise, if the number of connections of the particular priority on the link is larger than c/x, the connections of the particular priority on the link share the link exclusively, wherein x is the specific average traffic rate guarantee and c is the capacity of the link.
  • 5. The method of claim 4 wherein the providing a specific average traffic rate guarantee is manifested entirely in within a transport protocol stack by a either a sender-only adaptation or receiver-only adaptation of the stack.
  • 6. A computer readable medium having instructions thereon for performing the steps of claim 1.
  • 7. A computer readable medium having instructions thereon for performing the steps of claim 2.
  • 8. A computer readable medium having instructions thereon for performing the steps of claim 3.
  • 9. A computer readable medium having instructions thereon for performing the steps of claim 4.
  • 10. A computer readable medium having instructions thereon for performing the steps of claim 5.
  • 11. A system for end-to-end computer network congestion control on a network link comprising: means for providing a specific average traffic rate guarantee to a network traffic connection of a particular priority whenever a bottleneck link can accommodate such a rate guarantee.
  • 12. The system of claim 11 further comprising: means for enabling a lower priority network traffic connection than that of the network traffic connection of a particular priority to use residual bottleneck capacity.
  • 13. The system of claim 12 further comprising: means for suppressing the network traffic of the lower priority connection if a number of connections of the particular priority on the link is larger than can be accommodated by the link,for the specific average bandwidth guarantee.
  • 14. The system of claim 13 wherein the specific average traffic rate guarantee providing means has means operable such that whenever the number of connections of the particular priority on the link is smaller or equal to clx, each is guaranteed the rate x and the lower priority connection consumes the residual bandwidth, otherwise, if the number of connections of the particular priority on the link is larger than c/x, the connections of the particular priority on the link share the link exclusively, wherein x is the specific average traffic rate guarantee and c is the capacity of the link.
  • 15. The system of claim 14 wherein the providing a specific average traffic rate guarantee means is manifested entirely in within a transport protocol stack by a sender-only adaptation or receiver-only adaptation of the stack.
  • 16. A network traffic congestion control system comprising: a congestion control module (CCM) client configured to send events to a CCM provider;means for interpreting the events to update transport protocol congestion control state variables; andmeans for continuing operation of a transport protocol state machine with the updated state variables.
  • 17. The system of claim 16 wherein the transport protocol congestion control state variables are TCP/IP variable Slow Start Threshold and TCP/IP variable Congestion Window.
  • 18. The system of claim 16 wherein the CCM controls traffic congestion over a peer to peer network.
  • 19. The system of claim 18 wherein the CCM controls traffic congestion for bulk data transfer over a network.
  • 20. The system of claim 19 wherein the bulk data transfer over a network involves at least one of the following operations: software patch distribution, operating system update distribution, database backup or replication, and file system backup or replication.
Provisional Applications (1)
Number Date Country
60782051 Mar 2006 US