Systems and methods for congestion and flow control in networks
AssigneeLemon Inc.
InventorYan Sun
Life of this patent
Estimating the term…
Abstract
Congestion windows are controlled from a receiver in a communications network, and then provided to senders to control flow of packets within the network. The congestion window can be dynamically adjusted based on detection of one of packet loss, a congestion signal and a packet latency signal. The congestion window can be further adjusted for fairness or flow control based on bandwidth use. The sender node receives the congestion window and controls sending rates according to the congestion window. The sender node can determine packet loss and further adjust the congestion window.
Claims20
A computer network, comprising:
- a receiver node, wherein the receiver node is configured to:
- receive packets of data from one or more sender nodes;
- determine network congestion for each of the one or more sender nodes based on one or more of the following:
- detecting packet loss in the packets of data received from the one or more sender nodes;
- detecting an explicit congestion notification (ECN) in the packets of data received from the one or more sender nodes;
- or
- determining a one-way latency of the packets of data received from the one or more sender nodes;
- wherein detection of the packet loss, detection of the ECN, and determination of the one-way latency are prioritized in a descending order for determining a congestion window, and wherein the detection of the packet loss, the detection of the ECN, and the determination of the one-way latency are associated with respective reductions of the congestion window;
- after determining the network congestion at the receiver node, determine, at the receiver node, a congestion window for a respective one of the one or more sender nodes based on the descending order of the detection of the packet loss, the detection of the ECN, and the determination of the one-way latency and the respective reductions of the congestion window;
- and
- transmit the congestion window to the respective one of the one or more sender nodes.
A method for controlling flow in a computer network, comprising:
- receiving, at a receiver node of the computer network, packets of data from one or more sender nodes;
- determining, at the receiver node, network congestion for each of the one or more sender nodes based on one or more of the following:
- detecting packet loss in the packets of data received from the one or more sender nodes;
- detecting an explicit congestion notification (ECN) in the packets of data received from the one or more sender nodes;
- or
- determining a one-way latency of the packets of data received from the one or more sender nodes;
- wherein detection of the packet loss, detection of the ECN, and determination of the one-way latency are prioritized in a descending order for determining a congestion window, and wherein the detection of the packet loss, the detection of the ECN, and the determination of the one-way latency are associated with respective reductions of the congestion window;
- determining, at the receiver node, a congestion window for a respective one of the one or more sender nodes based on the descending order of the detection of the packet loss, the detection of the ECN, and the determination of the one-way latency and the respective reductions of the congestion window;
- and
- transmitting the congestion window from the receiver node to the respective one of the one or more sender nodes.
A non-transitory computer-readable medium having computer-executable instructions stored thereon that, upon execution, cause one or more processors of a receiver node of a computer network to perform operations comprising:
- receiving packets of data from one or more sender nodes;
- detecting packet loss in the packets of data received from the one or more sender nodes;
- detecting an explicit congestion notification (ECN) in the packets of data received from the one or more sender nodes;
- determining a one-way latency of the packets of data received from the one or more sender nodes, wherein detection of the packet loss, detection of the ECN, and determination of the one-way latency are prioritized in a descending order for determining a congestion window, and wherein the detection of the packet loss, the detection of the ECN, and the determination of the one-way latency are associated with respective reductions of the congestion window;
- determining a congestion window for a respective one the one or more sender nodes based on the descending order of the detection of the packet loss, the detection of the ECN, and the determination of the one-way latency and the respective reductions of the congestion window;
- and
- transmitting the congestion window from the receiver node to the respective one of the one or more sender nodes.
Dependencies are inferred from the claim text.