IP Library Granted Patent US 11,234,159
Granted Patent B2
US 11,234,159 · App. 16/593,063 · Granted Jan 25, 2022

Systems and methods for congestion control on mobile edge networks

Inventors: Feng Li (Lexington, MA); Haim S. Ner (Fair Lawn, NJ); Parry Cornell Booker (Arlington, TX); Ning Chen (Harvard, MA)
Assignee: Verizon Patent and Licensing Inc.
H04W28/0289H04L47/27H04L47/283
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 11,234,159
App. No.
16/593,063
Granted
Jan 25, 2022
Kind
B2
Abstract

A network device receives, from a congestion controller, traffic policy information associated with a data stream between a sender and a receiver, where the traffic policy information includes a maximum round trip delay time (RTT) and a maximum throughput rate (Rate). The network device obtains a receiver advertised window size (RWND) for the receiver for the data stream. The network device modifies the RWND based on the RTT and the Rate to produce a modified receiver window size (RWND′) and sends the RWND′ to the sender for use in controlling congestion on the data stream between the sender and the receiver.

Claims (69)

1. A method, comprising:

receiving, by a network device from a congestion controller, traffic policy information associated with a data stream, between a sender and a receiver, associated with an execution of a first type of application at the sender, wherein the sender and receiver are respective endpoints engaged in a network session and wherein the traffic policy information includes a maximum round trip delay time (RTT) and a maximum throughput rate (Rate) determined from a plurality of data streams generated by executing the first type of application at a plurality of senders that are endpoints engaged in other network sessions;

obtaining, by the network device, a receiver advertised window size (RWND) for the receiver for the data stream;

modifying, by the network device, the RWND based on the RTT and the Rate to produce a modified receiver window size (RWND′); and

sending, from the network device, the RWND′ to the sender for use in controlling congestion on the data stream between the sender and the receiver during the network session.

2. The method of claim 1 , further comprising:

receiving, by the network device from the sender, data on the data stream that is destined for the receiver; and

forwarding, by the network device, the data to the receiver.

3. The method of claim 1 , wherein obtaining the RWND comprises:

receiving, by the network device, an acknowledgement message from the receiver that acknowledges receiving the data on the data stream from the sender; and

retrieving, by the network device, the RWND from the acknowledgement message.

4. The method of claim 3 , wherein sending the RWND′ comprises:

replacing the RWND in the acknowledgement message with the RWND′; and

forwarding the acknowledgment message with the RWND′ to the sender.

5. The method of claim 1 , wherein modifying the RWND comprises:

determining a product of the RTT and the Rate;

determining a minimum value between the RWND and the product; and

setting the RWND′ equal to the determined minimum value.

6. The method of claim 1 , wherein the network device comprises a network edge router.

7. The method of claim 1 , further comprising:

receiving, by the network device, a synchronization (SYN) message or SYN-acknowledgement (SYN-ACK) message for the data stream; and

extracting, by the network device, a window scaling factor (WSF) for the data stream,

wherein modifying the RWND is further based on the WSF.

8. A network device, comprising:

at least one communication interface to:

receive, from a congestion controller, traffic policy information associated with a data stream, between a sender and a receiver, associated with an execution of a first type of application at the sender, wherein the sender and receiver are respective endpoints engaged in a network session and wherein the traffic policy information includes a maximum round trip delay time (RTT) and a maximum throughput rate (Rate) determined from a plurality of data streams generated by executing the first type of application at a plurality of senders that are endpoints engaged in respective network sessions;

a memory to store the RTT and the Rate; and

a processor or logic to:

obtain a receiver advertised window size (RWND) for the receiver for the data stream,

modify the RWND based on the RTT and the Rate to produce a modified receiver window size (RWND′), and

send, via the at least one communication interface, the RWND′ to the sender for use in controlling congestion on the data stream between the sender and the receiver during the network session.

9. The network device of claim 8 , wherein the at least one communication interface is further to:

receive, from the sender, data on the data stream that is destined for the receiver, and

forward the data towards the receiver.

10. The network device of claim 8 , wherein, when obtaining the RWND, the processor or logic is further to:

receive, via the at least one communication interface, an acknowledgement message from the receiver that acknowledges receiving the data on the data stream from the sender; and

retrieve the RWND from the acknowledgement message.

11. The network device of claim 10 , wherein, when sending the RWND′, the processor or logic is further to:

replace the RWND in the acknowledgement message with the RWND′, and

forward the acknowledgment message with the RWND′ towards the sender.

12. The network device of claim 8 , wherein, when modifying the RWND, the processor or logic is further to:

determine a product of the RTT and the Rate,

determine a minimum value between the RWND and the product, and

set RWND′ equal to the determined minimum value.

13. The network device of claim 8 , wherein the network device comprises a network edge router.

14. The network device of claim 8 , wherein the processor or logic is further to:

receive, via the at least one communication interface, a synchronization (SYN) message or SYN-acknowledgement (SYN-ACK) message for the data stream; and

extract a window scaling factor (WSF) for the data stream,

wherein modifying the RWND is further based on the WSF.

15. A non-transitory storage medium storing instructions executable by a network device, wherein the instructions comprise instructions to cause the network device to:

receive, from a congestion controller, traffic policy information associated with a data stream, between a sender and a receiver, associated with an execution of a first type of application at the sender, wherein the sender and receiver are respective endpoints engaged in a network session and wherein the traffic policy information includes a maximum round trip delay time (RTT) and a maximum throughput rate (Rate) determined from a plurality of data streams generated by executing the first type of application at a plurality of senders that are endpoints engaged in respective network sessions;

obtain a receiver advertised window size (RWND) for the receiver for the data stream;

modify the RWND based on the RTT and the Rate to produce a modified receiver window size (RWND′); and

send, to the sender, the RWND′ for use in controlling congestion on the data stream between the sender and the receiver during the network session.

16. The non-transitory storage medium of claim 15 , wherein the instructions to cause the network device to obtain the RWND further comprise instructions to cause the network device to:

receive an acknowledgement message from the receiver that acknowledges receiving the data on the data stream from the sender; and

retrieve the RWND from the acknowledgement message.

17. The non-transitory storage medium of claim 16 , wherein the instructions to cause the network device to send the RWND′ further comprise instructions to cause the network device to:

replace the RWND in the acknowledgement message with the RWND′; and

forward the acknowledgment message with the RWND′ towards the sender.

18. The non-transitory storage medium of claim 15 , wherein the instructions to cause the network device to modify the RWND further comprises instructions to cause the network device to:

determine a product of the RTT and the Rate;

determine a minimum value between the RWND and the product; and

set the RWND′ equal to the determined minimum value.

19. The non-transitory storage medium of claim 15 , wherein the network device comprises a network edge router.

20. The non-transitory storage medium of claim 15 , wherein the instructions comprise instructions to cause the network device to:

receive a synchronization (SYN) message or SYN-acknowledgement (SYN-ACK) message for the data stream; and

extract a window scaling factor (WSF) for the data stream,

wherein the modifying the RWND is further based on the WSF.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: LI, FENG; NER, HAIM S.; BOOKER, PARRY CORNELL; CHEN, NING
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 050626/0562 →
Continuity (1)
Related Publication 20210105659A1 · Apr 8, 2021