Method and apparatus for network congestion control based on transmission rate gradients
First Claim
1. A method for congestion control in a data communication protocol employing acknowledged communication in which a transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the method to be performed by the transmitting node and comprising:
- measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node;
measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size;
determining a trend of the flight size;
determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability;
detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size;
upon positive detection of the congestion, modifying the congestion window; and
transmitting data while respecting the congestion window size, wherein;
the step of detecting whether there is a congestion includes detecting whether there is any of a congestion with unfair competition and a congestion without unfair competition,the congestion with unfair competition is positively detected when the trend of the flight size is either increasing or substantially stable and the trend of the transmission rate is decreasing, and negatively detected otherwise, andthe congestion without unfair competition is positively detected when the trend of the flight size is increasing and the trend of the transmission rate is substantially stable, and negatively detected otherwise.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for congestion control for acknowledged communication over networks detects congestion based on trends of flight size and transmission rate in order to adapt a congestion window in accordance with a detection result. Such congestion detection enables, for example, distinguishing between the congestion with or without unfair competition. Moreover, the measured transmission rate or its trend can be filtered to compensate for time variations. An end node or a proxy can be used for congestion control.
-
Citations
26 Claims
-
1. A method for congestion control in a data communication protocol employing acknowledged communication in which a transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the method to be performed by the transmitting node and comprising:
-
measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node; measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size; determining a trend of the flight size; determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability; detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size; upon positive detection of the congestion, modifying the congestion window; and transmitting data while respecting the congestion window size, wherein; the step of detecting whether there is a congestion includes detecting whether there is any of a congestion with unfair competition and a congestion without unfair competition, the congestion with unfair competition is positively detected when the trend of the flight size is either increasing or substantially stable and the trend of the transmission rate is decreasing, and negatively detected otherwise, and the congestion without unfair competition is positively detected when the trend of the flight size is increasing and the trend of the transmission rate is substantially stable, and negatively detected otherwise. - View Dependent Claims (2, 3)
-
-
4. A method for congestion control in a data communication protocol employing acknowledged communication in which a transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the method to be performed by the transmitting node and comprising:
-
measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node; measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size; determining a trend of the flight size; determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability; detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size; upon positive detection of the congestion, modifying the congestion window; and transmitting data while respecting the congestion window size, wherein; the step of detecting whether there is a congestion includes detecting whether there is a congestion with unfair competition; the congestion with unfair competition is positively detected when the trend of the flight size is either increasing or substantially stable and the trend of the transmission rate is decreasing, and negatively detected otherwise; and the step of modifying the congestion window includes changing from a current congestion control state to a new congestion control state upon positively detecting the congestion with unfair competition, wherein the current and the new congestion control states specify respectively a current and a new rule for increasing the congestion window size upon receipt of data acknowledgements when neither congestion nor data losses have been detected, and the new rule specifies a faster rate of increasing the congestion window size than the current rule. - View Dependent Claims (5, 6, 7)
-
-
8. A method for congestion control in a data communication protocol employing acknowledged communication in which a transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the method to be performed by the transmitting node and comprising:
-
measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node; measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size; determining a trend of the flight size; determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability; detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size; upon positive detection of the congestion, modifying the congestion window; and transmitting data while respecting the congestion window size, wherein; the step of detecting whether there is a congestion includes detecting whether there is a congestion without unfair competition; the congestion without unfair competition is positively detected when the trend of the flight size is increasing and the trend of the transmission rate is substantially stable, and negatively detected otherwise; and the step of modifying the congestion window includes changing from a current congestion control state to a new congestion control state upon positively detecting the congestion without unfair competition, wherein the current and the new congestion control states specify respectively a current and a new rule for increasing the congestion window size upon receipt of data acknowledgements when neither congestion nor data losses have been detected, and the new rule specifies a slower rate of increasing the congestion window size than the current rule. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. An apparatus for controlling, in a transmitting node, congestion in a data communication protocol employing acknowledged communication in which the transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the apparatus comprising:
-
a flight size measuring unit for measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node; a transmission rate measuring unit for measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size; a flight size trend calculation unit for determining a trend of the flight size; a transmission rate trend calculation unit for determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability; a congestion detection unit for detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size; a congestion handling unit for, upon positive detection of the congestion by the congestion detection unit, modifying the congestion window; and a transmission unit for transmitting data while respecting the congestion window size, wherein the congestion detection unit is configured to; detect whether there is a congestion including detecting whether there is any of a congestion with unfair competition and a congestion without unfair competition, to positively detect the congestion with unfair competition when the trend of the flight size is either increasing or substantially stable and the trend of the transmission rate is decreasing, and to negatively detect it otherwise, and to positively detect the congestion without unfair competition when the trend of the flight size is increasing and the trend of the transmission rate is substantially stable, and to negatively detect it otherwise. - View Dependent Claims (15, 16)
-
-
17. An apparatus for controlling, in a transmitting node, congestion in a data communication protocol employing acknowledged communication in which the transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the apparatus comprising:
-
a flight size measuring unit for measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node; a transmission rate measuring unit for measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size; a flight size trend calculation unit for determining a trend of the flight size; a transmission rate trend calculation unit for determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability; a congestion detection unit for detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size; a congestion handling unit for, upon positive detection of the congestion by the congestion detection unit, modifying the congestion window; and a transmission unit for transmitting data while respecting the congestion window size, wherein the congestion detection unit is configured to; detect whether there is a congestion including detecting whether there is a congestion with unfair competition; and to positively detect the congestion with unfair competition when the trend of the flight size is either increasing or substantially stable and the trend of the transmission rate is decreasing, and to negatively detect it otherwise, wherein the congestion handling unit is configured to modify the congestion window including changing from a current congestion control state to a new congestion control state upon positively detecting the congestion with unfair competition by the congestion detection unit, wherein the current and the new congestion control states specify respectively a current and a new rule for increasing the congestion window size upon receipt of data acknowledgements when neither congestion nor data losses have been detected by the congestion detection unit, and wherein the new rule specifies a faster rate of increasing the congestion window size than the current rule. - View Dependent Claims (18, 19, 20)
-
-
21. An apparatus for controlling, in a transmitting node, congestion in a data communication protocol employing acknowledged communication in which the transmitting node transmits data to a receiving node and the receiving node acknowledges receipt of the data, wherein a congestion window specifies a maximum amount of unacknowledged data which the transmitting node may transmit before reception of a positive acknowledgement for all or part of that data, the apparatus comprising:
-
a flight size measuring unit for measuring a flight size indicating an amount of data sent by the transmitting node and not yet acknowledged by the receiving node; a transmission rate measuring unit for measuring a transmission rate, the transmission rate corresponding to a same time instant as the flight size; a flight size trend calculation unit for determining a trend of the flight size; a transmission rate trend calculation unit for determining a trend of the transmission rate, wherein the trend is derived from a transmission rate gradient calculation, in which either the transmission rate measurements or the transmission rate gradient calculations or both, are filtered to reduce their temporal variability; a congestion detection unit for detecting whether there is a congestion according to the determined trend of the transmission rate and the trend of the flight size; a congestion handling unit for, upon positive detection of the congestion by the congestion detection unit, modifying the congestion window; and a transmission unit for transmitting data while respecting the congestion window size, wherein the congestion detection unit is configured to; detect whether there is a congestion including detecting whether there is a congestion without unfair competition; and to positively detect the congestion without unfair competition when the trend of the flight size is increasing and the trend of the transmission rate is substantially stable, and to negatively detect it otherwise, wherein the congestion handling unit is configured to modify the congestion window including changing from a current congestion control state to a new congestion control state upon positively detecting the congestion without unfair competition by the congestion detection unit, wherein the current and the new congestion control states specify respectively a current and a new rule for increasing the congestion window size upon receipt of data acknowledgements when neither congestion nor data losses have been detected by the congestion detection unit, and wherein the new rule specifies a slower rate of increasing the congestion window size than the current rule. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification