# US 2018/0324109 A1 · System And Method For Improving An Aggregated Throughput of Simultaneous Connections

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0324109 A1
- Document ID: US20180324109A1
- Status: Published application
- Kind: A1
- Application number: 16/022,335
- Filed: 2018-06-28
- Published: 2018-11-08
- Earliest claimed: 2016-05-31
- Assignees: Anchorfree, Inc.
- Applicants: AnchorFree Inc.
- Inventors: Eugene Lapidous; Maxim Molchanov
- Web page: https://patentgrep.com/patent/US20180324109A1

## CPC

- H04L 47/827: {Aggregation of resource allocation or reservation requests}
- H04L 1/16: in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L 1/187: {Details of sliding window management}
- H04L 43/0864: Round trip delays
- H04L 43/0888: Throughput
- H04L 45/245: {Link aggregation, e.g. trunking}
- H04L 47/27: Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
- H04L 47/41: by acting on aggregated flows or links
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L 67/62: Establishing a time schedule for servicing the requests
- H04L 43/0835: {One way packet loss}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## 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

### Claim 1

A method for increasing an aggregated throughput comprising:
establishing, by one of a first computer and a second computer, a plurality of simultaneous transport connections between the first computer and the second computer over a computer network;
receiving, by the first computer from the second computer, two or more groups of requests for data delivery to the second computer through the plurality of the simultaneous transport connections with the first computer such that a first group of the two or more groups of requests is constrained to be finished before a second group of the two or more groups of requests;
determining, by the first computer, that delivery of requested data corresponding to each request for data delivery of the first group of requests is finished;
setting, by the first computer, a number of the plurality of simultaneous transport connections used to deliver requested data corresponding to each request for data delivery of the second group of requests to the first computer such that a number of simultaneous transport connections used to deliver the requested data corresponding to each request for data delivery of the first group of requests is set to be different than the number of the plurality of simultaneous transport connections used to deliver the requested data corresponding to each request for data delivery of the second group of requests.

### Claim 2 (depends on 1)

The method of claim 1, wherein each transport connection of the plurality of simultaneous transport connections uses a transport protocol that includes generating one or more acknowledgements to confirm delivery of the requested data corresponding to each request for data delivery of the first and second groups of requests; and
wherein the method further comprises determining that delivery of requested data corresponding to each request for data delivery of a same group of the two or more groups of requests is finished in response to receiving the one or more acknowledgements that the requested data corresponding to the each request in the same group is delivered.

### Claim 3 (depends on 2)

The method of claim 2, where each transport connection of the plurality of simultaneous transport connections uses a Transport Control Protocol (TCP).

### Claim 4 (depends on 1)

The method of claim 1 wherein the second computer is a client computer, the method further comprising:
opening, by the client computer, one or more client transport connections to request and receive requested data corresponding to each request of each group of the two or more groups of requests through the plurality of simultaneous transport connections opened between the second computer and the first computer;
closing, by the client computer, the client transport connections without invoking closing of the plurality of simultaneous transport connections between the first and the second computer; and
wherein the method further comprises determining that delivery of the requested data corresponding to each request for data delivery of a same group of the two or more groups of requests is finished comprises determining that the client computer has closed the one or more client transport connections.

### Claim 5 (depends on 4)

The method of claim 4, wherein the second computer hosts a proxy programmed to terminate the client transport connections.

### Claim 6 (depends on 1)

The method of claim 1, wherein at least two of the plurality of simultaneous transport connections are opened over a same physical data link.

### Claim 7 (depends on 6)

The method of claim 6, wherein at least two of the plurality of simultaneous transport connections have identical source and destination network addresses.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
determining, by one of the first computer and the second computer, an estimated size of data delivery for at least one group of the two or more groups of requests; and
setting, by one of first computer and the second computer, a number of simultaneous network connections used to transport requested data corresponding to requests of a same group of requests of the two or more groups of requests such that the number of simultaneous transport connections used to transport the requested data corresponding to the requests of the same group of requests increases with increase in the estimated size.

### Claim 9 (depends on 8)

The method of claim 8, wherein the estimated size is determined by obtaining one or more network identifiers from the requests of the same group of requests, each identifier comprising at least one of a domain name and a destination network address.

### Claim 10 (depends on 1)

The method of claim 1, wherein
each of the plurality of simultaneous transport connections is associated with a control window limiting the amount of traffic that can be sent before receiving an acknowledgement that at least some data included in the traffic has been delivered;
the method further comprises:
determining, by one of the first computer and the second computer, an estimated size of one or more control windows of the plurality of simultaneous transport connections; and
decreasing, by one of the first and the second computer, the number of the plurality of simultaneous network connections used for delivery of requested data corresponding to a same group of requests of the two or more groups of requests with increase of the estimated size of the one or more control windows.

### Claim 11 (depends on 10)

The method of claim 10, where the control window is a smallest of a receiver window and a congestion window used by a transport protocol.

### Claim 12 (depends on 1)

The method of claim 1, further comprising changing the number of the plurality of simultaneous transport connections used to deliver the requested data corresponding to each request for data delivery of the second group after completing delivery of the requested data corresponding to each request of the first group of requests and before receiving the second group of requests.

### Claim 13 (depends on 12)

The method of claim 12, wherein the number of the plurality of simultaneous transport connections used to deliver the requested data corresponding to each request of the second group of requests is decreased after delivery of the requested data corresponding to the first group of requests is followed by a period of inactivity exceeding a pre-defined time interval before the second group of requests is submitted.

### Claim 14 (depends on 1)

The method of claim 1, further comprising changing a number of the plurality of simultaneous connections used to deliver the requested data corresponding to a same group of requests of the two or more requests by at least one of pausing and resuming delivery of at least some of the requested data corresponding to the same group of requests through one or more previously opened simultaneous connections, without closing existing connections or opening new connections.

### Claim 15 (depends on 14)

The method of claim 14, further comprising setting a number of the plurality of simultaneous transport connections used for data transfer from the first computer to the second computer to be different from a number of the plurality of simultaneous transport connections used for data transfer from the second computer to the first computer.

### Claim 16 (depends on 15)

The method of claim 15, further comprising changing the number of the plurality of simultaneous transport connections used for the data transfer from the first computer to the second computer while maintaining constant the number of the plurality of simultaneous transport connections used for the data transfer from the second computer to the first computer.

### Claim 17 (depends on 1)

The method of claim 1, where the first computer comprises at least one of a proxy server and a VPN server.
