IP Library Granted Patent US 9,356,878
Granted Patent B2
US 9,356,878 · App. 14/237,935 · Granted May 31, 2016

Method for avoiding network congestion and an apparatus thereof

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,356,878
App. No.
14/237,935
Granted
May 31, 2016
Kind
B2
Abstract

A method for avoiding a network congestion at a network includes an aggregator and a plurality of workers, wherein the plurality of workers share the same bottleneck link to the aggregator. The method includes counting a number of connections between the aggregator and the worker, and adjusting a window size of each of the workers. The window size is based on the number of connections. The method further includes adding an ACK delay to an ACK, and sending the ACK with the window size to the worker. The ACK delay is based on the window size.

Claims (120)

1. A method for avoiding network congestion in a network, the network including an aggregator and a plurality of workers, the plurality of workers sharing a same bottleneck link to the aggregator, the method comprising:

counting a number of connections between the aggregator and the plurality of workers;

adjusting a window size of each of the plurality of workers;

adding an ACK delay to an ACK; and

sending the ACK with the window size to the plurality of workers,

wherein

the ACK delay is based on the window size,

the window size is based on the number of connections, and

the ACK delay is

Δ

=

(

n

Link

capacity

/

MSS

×

advertise

)

-

RTT

where advertise is the window size, MSS is a maximum segment size, RTT is a minimum round trip time, and n is a total number of concurrent connections.

2. The method of claim 1 , wherein the counting the number of connections between the aggregator and the plurality of workers comprises:

initializing the number of connections.

3. The method of claim 1 , further comprising:

increasing the number of connections between the aggregator and the plurality of workers when a connection is created, and

decreasing the number of connections when a connection is closed.

4. The method of claim 1 , wherein the counting the number of connections further includes sending a query request to each of the plurality of workers.

5. The method of claim 1 , wherein

the window sizes of all connections are the same,

the adjusting the window size further includes setting the window size to a maximal value, and

the maximal value of the window size is

advertise

=

max

(

Link

capacity

/

MSS

×

RTT

n

,

1

)

.

6. The method of claim 1 , wherein instead of a first one of the ACK delay (Δ), a random value from 0 to (RTT+Δ) that follows uniform distribution is chosen, where, RTT is a minimum round trip time.

7. The method of claim 1 , wherein the sending the ACK with the window size to the plurality of workers is executed after a delay timer expires, if the ACK delay is larger than zero.

8. The method of claim 1 , wherein the sending the ACK with the window size to the plurality of workers is immediately executed without a delay, if the ACK delay is negative.

9. The method of claim 1 , wherein the method is executed in a Transmission Control Protocol (TCP) layer.

10. The method of claim 1 , wherein the method is a rate-based congestion control algorithm.

11. An aggregator for avoiding network congestion in a network, the network including the aggregator and a plurality of workers, the plurality of workers sharing a same bottleneck link to the aggregator, the aggregator comprising:

a processor configured to,

count a number of connections between the aggregator and the plurality of workers,

adjust a window size of each of the plurality of workers, the window size being based on the number of connections, and

add an ACK delay to an ACK, the ACK delay being based on the window size, the ACK delay being

Δ

=

(

n

Link

capacity

/

MSS

×

advertise

)

-

RTT

where advertise is the window size, MSS is a maximum segment size, MT is a minimum round trip time, and n is a total number of concurrent connections; and

a transceiver configured to,

send the ACK with the window size to the plurality of workers.

12. The aggregator of claim 11 , wherein the processor is further configured to

initialize the number of connections.

13. The aggregator of claim 11 , wherein

the number of connections between the aggregator and the plurality of workers is increased when a connection is created, and

the number of connections is decreased when a connection is closed.

14. The aggregator of claim 11 , wherein the transceiver is further configured send a query request to each of the plurality of workers.

15. The aggregator claim 11 , wherein

the window sizes of all connections are the same,

the processor is further configured to set the window size to a maximal value, and

the maximal value of the window size is

advertise

=

max

(

Link

capacity

/

MSS

×

RTT

n

,

1

)

.

16. The aggregator of claim 11 , wherein instead of a first one of the ACK delay (Δ), a random value from 0 to (RTT+Δ) that follows uniform distribution is chosen, where, RTT is a minimum round trip time.

17. The aggregator of claim 11 , wherein the transceiver is further configured to

send the ACK with the window size to the plurality of workers, the ACK being executed after a delay timer expires, if the ACK delay is larger than zero.

18. The aggregator of claim 11 , wherein the transceiver is further configured to

send the ACK with the window size to the plurality of workers, the ACK being immediately executed without a delay, if the ACK delay is negative.

19. A network system for avoiding network congestion, the network system comprising the aggregator according to claim 11 and a plurality of workers, the plurality of workers share the same bottleneck link to the aggregator.

20. A non-transitory computer readable storage medium storing computer readable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of claim 1 .

Assignments (11)
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 2, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033677/0617 →
SECURITY INTEREST Recorded May 7, 2014
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 032845/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: HWANG, JAE HYUN; YOO, JOON
To: ALCATEL-LUCENT
Reel/Frame 032185/0980 →