IP Library Granted Patent US 10,931,585
Granted Patent B2
US 10,931,585 · App. 16/654,964 · Granted Feb 23, 2021

Data flow control for dual ended transmission control protocol performance enhancement proxies

Inventors: Shadrach Benny Retnamony (Miramar, FL); Luis Carrion Echevarria (Colindres, ES)
Assignee: Global Eagle Entertainment Inc.
H04L47/193H04B7/18582H04L5/0055H04L47/283H04L47/29H04L47/30H04L47/323H04L67/28
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 10,931,585
App. No.
16/654,964
Granted
Feb 23, 2021
Kind
B2
Abstract

Systems, methods, and servers for controlling data flow across a computer network having a first performance enhancing proxy device (PEP1) between a client-facing segment of the network and a second PEP device (PEP2) on a server-facing segment of the network. PEP2 has a receiver for receiving flow control information from across a control channel between PEP1 and PEP2, for each TCP connection on the client-facing segment. The information includes round-trip packet latency (Li) on the client-facing segment and transmit buffer congestion information of PEP1. PEP2 has a determiner for determining if a TCP connection has a congested packet flow; and a congestion reliever for relieving such congestion by synchronizing a receive buffer of the PEP2 to be the same size as a transmit buffer congestion window of the PEP1; and delaying acknowledgments (ACKs) at PEP2 by a time Tack based on a preset threshold level Tlim or Li.

Claims (47)

1. A system for controlling data flow across a computer network comprising a first performance enhancing proxy device (PEP1) on a client-facing segment of the network and a second performance enhancing proxy device (PEP2) on a server-facing segment of the network, the system comprising:

the PEP2, the PEP2 including:

a receiver for receiving flow control information from across a control channel between the PEP1 and the PEP2, the flow control information including round-trip packet latency measurement (Li) on the client-facing segment and transmit buffer congestion window information of the PEP1, wherein the flow control information is for each TCP connection on the client-facing segment;

a determiner for determining whether each TCP connection of the client-facing segment has a congested TCP packet flow; and

a congestion reliever for relieving the congestion of each TCP connection of the client-facing segment having a congested TCP packet flow, the congestion reliever comprising:

a synchronizer for synchronizing a receive buffer receive window size of the PEP2 to be the same as a transmit buffer congestion window size of the PEP1;

a measurer for measuring a round-trip packet latency Lr on the server-facing segment of the computer network; and

a throughput setter for setting the throughput of the server facing segment of the PEP2 to be a function of the receive buffer receive window size of the PEP2 and whichever is smaller of the Li and Lr.

2. The system of claim 1 , wherein the synchronizer synchronizing comprises:

setting the receive buffer receive window size of the PEP2 to be whichever is smaller of the transmit buffer congestion window size of the PEP1 and the receive buffer receive window size of the PEP2.

3. The system of claim 1 , wherein the determiner determining comprises determining based at least on the transmit buffer congestion window information; and

wherein the transmit buffer congestion window information comprises at least one of an explicit congestion notification (ECN) received by the receiver for each TCP connection on the client-facing segment or the transmit buffer congestion window size.

4. The system of claim 1 , the PEP1 comprising:

an identifier for identifying each TCP connection;

a measurer for measuring the round-trip packet latency measurement Li;

determiner for determining the transmit buffer congestion window information; and

a transmitter for transmitting the Li and the transmit buffer congestion window information for the TCP connection across the control channel to the PEP2.

5. A non-transitory machine-readable storage medium storing a program having instructions which when executed by a processor will cause the processor to:

receive flow control information from across a control channel between the PEP1 and the PEP2, the flow control information including round-trip packet latency measurement (Li) on the client-facing segment and transmit buffer congestion window information of the PEP1, wherein the flow control information is for each TCP connection on the client-facing segment;

determine whether each TCP connection of the client-facing segment has a congested TCP packet flow; and

for each TCP connection of the client-facing segment having a congested TCP packet flow, synchronize a receive buffer receive window size of the PEP2 to be the same as a transmit buffer congestion window size of the PEP1;

determine a round-trip packet latency Lr on the server-facing segment of the computer network; and

set the throughput of the server facing segment of the PEP2 to be a function of the receive buffer receive window size of the PEP2 and whichever is smaller of the Li and Lr.

6. The non-transitory machine-readable storage medium of claim 5 , wherein synchronizing comprises:

setting the receive buffer receive window size of the PEP2 to be whichever is smaller of the transmit buffer congestion window size of the PEP1 and the receive buffer receive window size of the PEP2.

7. The non-transitory machine-readable storage medium of claim 5 , wherein determining comprises determining based at least on the transmit buffer congestion window information; and

wherein the transmit buffer congestion window information comprises at least one of an explicit congestion notification (ECN) received by the receiver for each TCP connection on the client-facing segment or the transmit buffer congestion window size.

8. The non-transitory machine-readable storage medium of claim 5 , wherein the program having instructions which when executed by a processor will further cause the processor to:

identify each TCP connection;

determine the round-trip packet latency measurement Li;

determine the transmit buffer congestion window information; and

transmit the Li and the transmit buffer congestion window information for the TCP connection across the control channel to the PEP2.

9. A data flow control process across a computer network comprising a first performance enhancing proxy device (PEP1) on a client-facing segment of the network and a second performance enhancing proxy device (PEP2) on a server-facing segment of the network, the flow control process comprising:

receiving flow control information from across a control channel between the PEP1 and the PEP2, the flow control information including round-trip packet latency measurement (Li) on the client-facing segment and transmit buffer congestion window information of the PEP1, wherein the flow control information is for each TCP connection on the client-facing segment;

determining whether each TCP connection of the client-facing segment has a congested TCP packet flow; and

for each TCP connection of the client-facing segment having a congested TCP packet flow, synchronizing a receive buffer receive window size of the PEP2 to be the same as a transmit buffer congestion window size of the PEP1;

determining a round-trip packet latency Lr on the server-facing segment of the computer network; and

setting the throughput of the server facing segment of the PEP2 to be a function of the receive buffer receive window size of the PEP2 and whichever is smaller of the Li and Lr.

10. The flow control process of claim 9 , wherein synchronizing comprises:

setting the receive buffer receive window size of the PEP2 to be whichever is smaller of the transmit buffer congestion window size of the PEP1 and the receive buffer receive window size of the PEP2.

11. The flow control process of claim 9 , wherein determining whether each TCP connection of the client-facing segment has a congested TCP packet flow is based at least on the transmit buffer congestion window information; and

wherein the transmit buffer congestion window information comprises at least one of an explicit congestion notification (ECN) received by the receiver for each TCP connection on the client-facing segment or the transmit buffer congestion window size.

12. The flow control process of claim 9 , further comprising:

identifying each TCP connection;

determining the round-trip packet latency measurement Li;

determining the transmit buffer congestion window information; and

transmitting the Li and the transmit buffer congestion window information for the TCP connection across the control channel to the PEP2.

Assignments (11)
SECURITY INTEREST Recorded Oct 30, 2025
From: ANUVU HOLDINGS LLC
To: COMERICA BANK
Reel/Frame 073405/0129 →
RELEASE OF SECURITY INTERESTS IN INTELLECTUAL PROPERTY COLLATERAL (RECORDED AT REEL 057827/FRAME 0001; REEL 057827/FRAME 0153; AND REEL 058736/FRAME 0598) Recorded Oct 29, 2025
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: ANUVU IP HOLDINGS LLC
Reel/Frame 073423/0961 →
RELEASE OF SECURITY INTERESTS IN INTELLECTUAL PROPERTY COLLATERAL (RECORDED AT REEL 067776/FRAME 0230) Recorded Oct 29, 2025
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: ANUVU HOLDINGS 2 LLC; ANUVU HOLDINGS 1 LLC; ANUVU IP HOLDINGS LLC; ANUVU LICENSING HOLDINGS LLC; ANUVU OPERATIONS LLC
Reel/Frame 073420/0710 →
SECURITY INTEREST Recorded Jun 18, 2024
From: ANUVU HOLDINGS 2 LLC; ANUVU HOLDINGS 1 LLC; ANUVU IP HOLDINGS LLC; ANUVU LICENSING HOLDINGS LLC; ANUVU OPERATIONS LLC
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 067776/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2022
From: ANUVU OPERATIONS LLC
To: ANUVU IP HOLDINGS LLC
Reel/Frame 058736/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2022
From: GLOBAL EAGLE ENTERTAINMENT INC.
To: ANUVU OPERATIONS LLC
Reel/Frame 058691/0503 →
RELEASE OF SECURITY INTEREST Recorded Oct 19, 2021
From: CITIBANK, N.A.
To: GLOBAL EAGLE ENTERTAINMENT INC.; MTN SATELLITE COMMUNICATIONS; MARITIME TELECOMMUNICATIONS NETWORK, INC.
Reel/Frame 057859/0605 →
PATENT SECURITY AGREEMENT (PRIORITY) Recorded Oct 15, 2021
From: GLOBAL EAGLE OPCO LLC
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 057827/0153 →
PATENT SECURITY AGREEMENT (TAKEBACK) Recorded Oct 15, 2021
From: GLOBAL EAGLE OPCO LLC
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 057827/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 4, 2020
From: GLOBAL EAGLE ENTERTAINMENT INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052840/0497 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2019
From: RETNAMONY, SHADRACH BENNY; ECHEVARRIA, LUIS CARRION
To: GLOBAL EAGLE ENTERTAINMENT INC.
Reel/Frame 050749/0583 →