IP Library Granted Patent US 10,469,410
Granted Patent B2
US 10,469,410 · App. 16/022,369 · Granted Nov 5, 2019

System and method for improving an aggregated throughput of simultaneous connections

Inventors: Eugene Lapidous (Saratoga, CA); Maxim Molchanov (Mountain View, CA)
Assignee: ANCHORFREE INC.
H04L47/827H04L1/16H04L43/0864H04L43/0888H04L45/245H04L47/27H04L47/41H04L67/28H04L67/325H04L43/0835H04L67/02H05K999/99Y02D50/30
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,469,410
App. No.
16/022,369
Granted
Nov 5, 2019
Kind
B2
Abstract

A client and content provider are connected by a plurality of simultaneous transport connections. The number of the transport connections that are used to transfer data is selected based on the size of the data to be transferred and may change after transfer of data has commenced based on the amount of data left and the attributes of the transport connections. In another aspect, data to be transmitted over the transport connections is organized into frames such that each frame includes data from only one data stream. The frames are sized to be less than or equal to a control window of the transport connection over which they are transmitted. Each frame may be assigned to a transport connection in a round robin fashion or based on the size of the frame and the sizes of the control windows of the transport connections.

Claims (12)

1. A system for increasing an aggregated throughput between computers over a computer network, the system comprising:

a first computer including a processing device including one or more processors, one or more memory devices coupled to the one or more processors and encoded with instructions that when executed by the one or more processors cause the first computer to:

receive one or more requests for data delivery to a second computer through a plurality of simultaneous transport connections between the first computer and the second computer;

proceed with delivering requested data corresponding to the one or more requests for data delivery through at least a portion of the plurality of simultaneous transport connections to the second computer;

while delivering the requested data:

evaluate an amount of the requested data remaining to be delivered to the second computer; and

reduce a number of the plurality of simultaneous transport connections in the at least the portion of the simultaneous transport connections used to deliver the requested data to the second computer in response to determining that the amount of the requested data remaining to be delivered to the second computer is below a sum of sizes of one or more control windows of the at least the portion of the simultaneous transport connections used to deliver the requested data.

2. The system of claim 1 , wherein the first computer includes at least one of a proxy server and a virtual private network (VPN) server.

3. The system of claim 1 , wherein the one or more memory devices are further encoded with instructions that when executed by the one or more processors further cause the first computer to:

evaluate the amount of the requested data remaining to be delivered to the second computer after determining at least one parameter, the at least one parameter including at least one of (i) an estimated data size for at least one network identifier of the requested data, (ii) a data size reported in a response to the one or more requests for delivery of the requested data, and (iii) an amount of the requested data stored in one or more buffers on the first computer before being transmitted to the second computer.

4. The system of claim 1 , wherein the one or more memory devices are further encoded with instructions that when executed by the one or more processors further cause the first computer to:

evaluate the amount of requested data remaining to be delivered to the second computer after starting delivering of the requested data to the second computer.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE SERIAL N. 15/597,036 PREVIOUSLY RECORDED AT REEL: 053245 FRAME: 0874. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 10, 2023
From: PANGO INC.
To: TWINGATE HOLDINGS INC.
Reel/Frame 063027/0894 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE SERIAL NO. 15/597,036 PREVIOUSLY RECORDED AT REEL: 053257 FRAME: 0637. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 10, 2023
From: TWINGATE HOLDINGS INC.
To: TWINGATE INC.
Reel/Frame 063141/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: TWINGATE HOLDINGS INC.
To: TWINGATE INC.
Reel/Frame 053257/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2020
From: PANGO INC.
To: TWINGATE HOLDINGS INC.
Reel/Frame 053245/0874 →
RELEASE OF SECURITY INTEREST Recorded Jul 1, 2020
From: PACIFIC WESTERN BANK
To: PANGO INC. (FORMERLY KNOWN AS ANCHORFREE INC.)
Reel/Frame 053116/0489 →
SECURITY INTEREST Recorded Jun 25, 2020
From: PANGO INC.
To: PACIFIC WESTERN BANK
Reel/Frame 053039/0417 →
CHANGE OF NAME Recorded Jan 10, 2020
From: ANCHORFREE INC.
To: PANGO INC.
Reel/Frame 051566/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2018
From: LAPIDOUS, EUGENE; MOLCHANOV, MAXIM
To: ANCHORFREE INC.
Reel/Frame 046233/0448 →