Detecting and managing congestion on a shared network link
AssigneeMicrosoft Corporation
InventorsHumayun Mukhtar Khan, Renato Machado de Sousa, Hiu Hok Chan, Shiwei Wang, Jiannan Zheng
Life of this patent
Estimating the term…
Abstract
Technologies are described herein for detecting and managing congestion on a shared network link. A determination is made whether the shared network link is congested based on loss rate and round-trip time (RTT) between a computer and a receiver operatively coupled by the shared network link. Upon determining that the shared network link is congested, a back-off operation is performed on the computer. The back-off operation may reduce an allocated bandwidth of the computer on the shared network link by transforming a higher allocated bandwidth into a lower allocated bandwidth.
Claims18
A computer-implemented method for detecting and managing congestion on a shared network link, the method comprising:
- determining whether the shared network link is congested based on loss rate and round-trip time (RTT) between a computer and a receiver operatively coupled by the shared network link;
- upon determining that the shared network link is congested, performing a back-off operation on the computer, the back-off operation reducing an allocated bandwidth of the computer on the shared network link by an amount corresponding to the loss rate thereby transforming a higher allocated bandwidth into a lower allocated bandwidth;
- and
- upon determining that the shared network link is not congested, performing a recovery operation on the computer, the recovery operation increasing the allocated bandwidth of the computer on the shared network link, wherein the increase of the allocated bandwidth is determined by comparing a previously allocated bandwidth to a product of an optimal bandwidth and an optimal threshold.
A computer system comprising:
- a processor;
- a memory operatively coupled to the processor;
- and
- a program module (i) which executes in the processor from the memory and (ii) which, when executed by the processor, causes the computer system to detect and manage congestion on a shared network link by:
- determining a loss rate between the computer and a receiver operatively coupled through the shared network link, the loss being determined based on a Real-Time Control Protocol (RTCP) report;
- determining a round-trip time (RTT) between the computer and the receiver based on the RTCP report;
- determining whether the shared network link is congested based on the loss rate and the RTT;
- upon determining that the shared network link is congested, performing a back-off operation on the computer, the back-off operation reducing an allocated bandwidth of the computer on the shared network link by an amount corresponding to the loss rate;
- and
- upon determining that the shared network link is not congested, performing a recovery operation on the computer, the recovery operation increasing the allocated bandwidth of the computer on the shared network link, wherein the increase of the allocated bandwidth is determined by comparing a previously allocated bandwidth to a product of an optimal bandwidth and an optimal threshold.
A tangible computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:
- determine, through the computer, a loss rate for a plurality of data packets sent from the computer to a receiver operatively coupled through a shared network link, the loss rate being determined based on a Real-Time Control Protocol (RTCP) report sent from the receiver to the computer regarding lost packets from the plurality of data packets;
- determine, through the computer, a round-trip time (RTT) between the computer and the receiver based on the RTCP report;
- determine, through the computer, whether the shared network link is congested based on the loss rate and the RTT;
- upon determining, through the computer, that the shared network link is congested, perform a back-off operation on the computer, the back-off operation reducing an allocated bandwidth of the computer on the shared network link by an amount corresponding to the loss rate;
- and
- upon determining, through the computer, that the shared network link is not congested, perform a recovery operation on the computer, the recovery operation increasing the allocated bandwidth of the computer on the shared network link, wherein the increase of the allocated bandwidth is determined by comparing a previously allocated bandwidth to a product of an optimal bandwidth and an optimal threshold.
Dependencies are inferred from the claim text.