US2013294235A1PendingUtilityA1
System and Method for Controlling Network Congestion
Est. expiryNov 12, 2024(expired)· nominal 20-yr term from priority
Inventors:Emmanuel Papirakis
H04L 47/30H04L 47/29H04L 47/283H04L 47/25
49
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method for controlling network congestion includes estimating a queue size, entering a first mode of operation if the estimated queue size is below a first threshold, and entering a second mode of operation if the estimated queue size is above a second threshold.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for controlling congestion over a network link between a source node and a destination node, comprising:
at a computer having one or more processors and memory, estimating a queue size for the source node, wherein the queue size is a function of at least a current round-trip time between the source node and the destination node, a reference round-trip time between the source node and the destination node, and an estimated amount of data in transit over the network link; comparing the estimated queue size with at least one of a first threshold and a second threshold, wherein the second threshold is greater than the first threshold; when the estimated queue size is less than the first threshold, causing an increase of a rate at which data packets are injected into the network link at the source node; and when the estimated queue size is greater than the second threshold, causing a decrease of the rate at which data packets are injected into the network link at the source node.
2 . The computer-implemented method of claim 1 , wherein the reference round-trip time is a configurable round-trip time.
3 . The computer-implemented method of claim 1 , wherein the reference round-trip time corresponds to a smallest round trip time observed on the network link between the source node and the destination node.
4 . The computer-implemented method of claim 1 , wherein estimating a queue size for the source node further includes:
measuring the current round-trip time between the source node and the destination node; determining a current congestion level over the network link based upon the current round-trip time between the source node and the destination node and the reference round-trip time between the source node and the destination node; determining a number of bytes to be queued based upon the current congestion level and the estimated amount of data in transit over the network link; and using the number of bytes to be queued and a maximum segment size to estimate the queue size for the source node.
5 . The computer-implemented method of claim 4 , wherein estimating the queue size for the source node further includes measuring a time difference between when a packet is injected onto the network link at the source node and when an acknowledgement of its receipt by the destination node is received by the source node.
6 . The computer-implemented method of claim 4 , wherein the reference round-trip time between the source node and the destination node is a round-trip time over the network link between the source node and the destination node when no data packet is queued at the source node.
7 . The computer-implemented method of claim 1 , wherein, if the estimated queue size is zero, data packets are injected into the network link at the source node in accordance with a rate-based method.
8 . The computer-implemented method of claim 7 , wherein the rate-based method further includes increasing an amount of data packets to be transmitted over the network link based on an available bit rate.
9 . The computer-implemented method of claim 1 , wherein, when the estimated queue size is greater than zero and less than the first threshold, data packets are injected into the network link at the source node in accordance with a sliding window method with increasing congestion window size.
10 . The computer-implemented method of claim 1 , further comprising:
causing the source node to switch from a rate-based method to a sliding window method when data packets are injected into the network link at the source node in accordance with the rate-based method while the estimated queue size is greater than the first threshold and less than the second threshold.
11 . The computer-implemented method of claim 1 , wherein, if the estimated queue size is greater than the second threshold, the rate at which data packets are injected into the network link at the source node is decreased in accordance with a sliding window method.
12 . The computer-implemented method of claim 1 , wherein the network link includes at least one wireless link.
13 . The computer-implemented method of claim 1 , further comprising:
causing the source node to switch from a rate-based method to a sliding window method when data packets are injected into the network link using the rate-based method and at least one of the data packets is lost.
14 . A computer system for controlling congestion over a network link between a source node and a destination node, comprising:
one or more processors; one or more memories; and one or more programs stored in the one or more memories, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform a method of:
estimating a queue size for the source node, wherein the queue size is a function of at least a current round-trip time between the source node and the destination node, a reference round-trip time between the source node and the destination node, and an estimated amount of data in transit over the network link;
comparing the estimated queue size with at least one of a first threshold and a second threshold, wherein the second threshold is greater than the first threshold;
when the estimated queue size is less than the first threshold, causing an increase of a rate at which data packets are injected into the network link at the source node; and
when the estimated queue size is greater than the second threshold, causing a decrease of the rate at which data packets are injected into the network link at the source node.
15 . The computer system of claim 14 , wherein the estimating a queue size for the source node comprises:
measuring the current round-trip time between the source node and the destination node; determining a current congestion level over the network link based upon the current round-trip time between the source node and the destination node and the reference round-trip time between the source node and the destination node; determining a number of bytes to be queued based upon the current congestion level and the estimated amount of data in transit over the network link; and using the number of bytes to be queued and a maximum segment size to estimate the queue size for the source node.
16 . The computer system of claim 15 , wherein the estimating the queue size for the source node further comprises measuring a time difference between when a packet is injected onto the network link at the source node and when an acknowledgement of its receipt by the destination node is received by the source node.
17 . The computer system of claim 15 , wherein the reference round-trip time between the source node and the destination node is a round-trip time over the network link between the source node and the destination node when no data packet is queued at the source node.
18 . The computer system of claim 14 , wherein, when the estimated queue size is zero, data packets are injected into the network link at the source node in accordance with a rate-based method.
19 . The computer system of claim 14 , wherein, when the estimated queue size is greater than zero and less than the first threshold, data packets are injected into the network link at the source in accordance with a sliding window method.
20 . The computer system of claim 14 , wherein the method further comprises causing the source node to switch from a rate-based method to a sliding window method when data packets are injected into the network link at the source node in accordance with the rate-based method while the estimated queue size is greater than the first threshold and less than the second threshold.
21 . The computer system of claim 14 , wherein, when the estimated queue size is greater than the second threshold, data packets are injected into the network link at the source node in accordance with a sliding window method.
22 . The computer system of claim 14 , wherein the network link includes at least one wireless link.
23 . A non-transitory computer readable medium having computer program code recorded thereon that, when executed by a processor, instructs the processor to perform a method of causing one or more computers to control congestion over a network link between a source node and a destination node by:
estimating a queue size for the source node, wherein the queue size is a function of at least a current round-trip time between the source node and the destination node, a reference round-trip time between the source node and the destination node, and an estimated amount of data in transit over the network link; comparing the estimated queue size with at least one of a first threshold and a second threshold, wherein the second threshold is greater than the first threshold; when the estimated queue size is less than the first threshold, causing an increase of a rate at which data packets are injected into the network link at the source node; and when the estimated queue size is greater than the second threshold, causing a decrease of the rate at which data packets are injected into the network link at the source node.
24 . The computer readable medium of claim 23 , wherein the estimating a queue size for the source node comprises:
measuring the current round-trip time between the source node and the destination node; determining a current congestion level over the network link based upon the current round-trip time between the source node and the destination node and the reference round-trip time between the source node and the destination node; determining a number of bytes to be queued based upon the current congestion level and the estimated amount of data in transit over the network link; and using the number of bytes to be queued and a maximum segment size to estimate the queue size for the source node.
25 . The computer readable medium of claim 24 , wherein the estimating the queue size for the source node further comprises measuring a time difference between when a packet is injected into the network link at the source node and when an acknowledgement of its receipt by the destination node is received by the source node.
26 . The computer readable medium of claim 23 , wherein the method further comprises:
causing the source node to switch from a rate-based method to a sliding window method when data packets are injected into the network link at the source node in accordance with the rate-based method while the estimated queue size is greater than the first threshold and less than the second threshold.
27 . The computer readable medium of claim 23 , wherein, when the estimated queue size is greater than the second threshold, data packets are injected into the network link at the source node in accordance with a sliding window method.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.