8509067

System and Method for Controlling Network Congestion

PublishedAugust 13, 2013
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
26 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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 configurable 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 predefined minimum threshold and a predefined maximum threshold; if the estimated queue size is less than the predefined minimum threshold, causing an increase of a rate at which data packets are injected into the network link at the source node; and if the estimated queue size is greater than the predefined maximum threshold, causing a decrease of the rate at which data packets are injected into the network link at the source node.

2

2. 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 configurable 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 predefined maximum segment size to estimate the queue size for the source node.

3

3. The computer-implemented method of claim 2 , 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.

4

4. The computer-implemented method of claim 2 , wherein the configurable 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.

5

5. The computer-implemented method of claim 1 , wherein, if the estimated queue size is zero, the rate at which data packets are injected into the network link at the source node is increased in accordance with a rate-based method.

6

6. The computer-implemented method of claim 5 , 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.

7

7. The computer-implemented method of claim 1 , wherein, if the estimated queue size is greater than zero and less than the predefined minimum threshold, the rate at which data packets are injected into the network link at the source node is increased in accordance with a sliding window method with exponential congestion window growth.

8

8. 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 with exponential congestion window growth if 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 predefined minimum threshold and less than the predefined maximum threshold.

9

9. The computer-implemented method of claim 1 , wherein, if the estimated queue size is greater than the predefined maximum 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 with linear congestion window growth.

10

10. The computer-implemented method of claim 9 , wherein the sliding window method with linear congestion window growth further includes: determining a number of excess data packets queued at the source node; and decreasing a congestion window proportionally to the number of excess data packets queued.

11

11. The computer-implemented method of claim 10 , wherein decreasing the congestion window further includes decreasing the congestion window by a fraction of the number of excess data packets queued.

12

12. The computer-implemented method of claim 1 , wherein the network link includes at least one wireless link.

13

13. A computer system for controlling congestion over a network link between a source node and a destination node, comprising: one or more processors and memory; and one or more programs stored in the memory, wherein the one or more programs, when executed by the one or more processors, cause the one or more processor to: estimate 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 configurable round-trip time between the source node and the destination node, and an estimated amount of data in transit over the network link; compare the estimated queue size with at least one of a predefined minimum threshold and a predefined maximum threshold; if the estimated queue size is less than the predefined minimum threshold, cause an increase of a rate at which data packets are injected into the network link at the source node; and if the estimated queue size is greater than the predefined maximum threshold, cause a decrease of the rate at which data packets are injected into the network link at the source node.

14

14. The computer system of claim 13 , wherein the one or more programs for estimating a queue size for the source node further include one or more programs for: 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 configurable 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 predefined maximum segment size to estimate the queue size for the source node.

15

15. The computer system of claim 14 , wherein the one or more programs for estimating the queue size for the source node further include one or more programs for 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.

16

16. The computer system of claim 14 , wherein the configurable 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.

17

17. The computer system of claim 13 , wherein, if the estimated queue size is zero, the rate at which data packets are injected into the network link at the source node is increased in accordance with a rate-based method.

18

18. The computer system of claim 13 , wherein, if the estimated queue size is greater than zero and less than the predefined minimum threshold, the rate at which data packets are injected into the network link at the source node is increased in accordance with a sliding window method with exponential congestion window growth.

19

19. The computer system of claim 13 , further comprising one or more programs for: causing the source node to switch from a rate-based method to a sliding window method with exponential congestion window growth if 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 predefined minimum threshold and less than the predefined maximum threshold.

20

20. The computer system of claim 13 , wherein, if the estimated queue size is greater than the predefined maximum 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 with linear congestion window growth.

21

21. The computer system of claim 13 , wherein the network link includes at least one wireless link.

22

22. A non-transitory computer readable medium having one or more programs recorded thereon for causing one or more computers to control congestion over a network link between a source node and a destination node, the one or more programs including steps, the steps comprising: 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 configurable 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 predefined minimum threshold and a predefined maximum threshold; if the estimated queue size is less than the predefined minimum threshold, causing an increase of a rate at which data packets are injected into the network link at the source node; and if the estimated queue size is greater than the predefined maximum threshold, causing a decrease of the rate at which data packets are injected into the network link at the source node.

23

23. The computer readable medium of claim 22 , wherein the one or more programs for estimating a queue size for the source node further include one or more programs for: 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 configurable 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 predefined maximum segment size to estimate the queue size for the source node.

24

24. The computer readable medium of claim 23 , wherein the one or more programs for estimating the queue size for the source node further include one or more programs for 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.

25

25. The computer readable medium of claim 22 , further comprising one or more programs for: causing the source node to switch from a rate-based method to a sliding window method with exponential congestion window growth if 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 predefined minimum threshold and less than the predefined maximum threshold.

26

26. The computer readable medium of claim 22 , wherein, if the estimated queue size is greater than the predefined maximum 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 with linear congestion window growth.

Patent Metadata

Filing Date

Unknown

Publication Date

August 13, 2013

Inventors

Emmanuel Papirakis

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEM AND METHOD FOR CONTROLLING NETWORK CONGESTION” (8509067). https://patentable.app/patents/8509067

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.