System and method for improving an aggregated throughput of simultaneous connections

US10182020B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10182020-B2
Application numberUS-201615254732-A
CountryUS
Kind codeB2
Filing dateSep 1, 2016
Priority dateMay 31, 2016
Publication dateJan 15, 2019
Grant dateJan 15, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for increasing an aggregated throughput, the system comprising a first computer including one or more processing devices programmed to: establish a plurality of simultaneous transport connections to a second computer; determine a preferred data group size for each connection of at least a portion of the plurality of simultaneous transport connections; receive one or more requests for requested data from a second computer; obtain the requested data corresponding to the one or more requests; transfer the requested data from the first computer to the second computer through the plurality of simultaneous transport connections between the first computer and the second computer such that transfer of the requested data must be finished before receiving at least one other request from the second computer; wherein the one or more processing devices are programmed to transfer the requested data from the first computer to the second computer by: dividing a portion of the requested data received in response to a same request of the one or more requests into two or more groups, each group of the two or more groups being assigned to a corresponding single connection of the plurality of simultaneous transport connections and having a data size corresponding to the preferred data group size of the corresponding single connection; and transmitting each group of the two or more groups over the corresponding single connection; wherein the one or more processing devices are further programmed to: implement a transport protocol for the plurality of simultaneous transport connections, the transport protocol imposing a control window that limits an amount of traffic that can be sent before receiving acknowledgement for at least some of the traffic; wherein the one or more processing devices are further programmed to determine the preferred data group size of each connection of the at least the portion of the plurality of simultaneous transport connections according to an attribute of each connection by: selecting the preferred data group size of each connection from within a range of preferred data group sizes of each connection, the range of preferred data group sizes of each connection increasing with increase of a size of the control window for each connection; and wherein a minimal value of the range of preferred data group sizes of each connection is set to be no smaller than half the size of the control window for each connection. 2. The system of claim 1 , wherein the one or more processing devices are further programmed to: determine a maximal number of available transport connections of the plurality of simultaneous transport connections; determine the preferred data group size of each connection of the plurality of simultaneous transport connections according to attributes of one or more connections of the plurality of simultaneous transport connections; transfer the requested data from the first computer to the second computer by: forwarding each data group of the two or more groups to a different connection of the plurality of simultaneous transport connections until at least one of (a) a number of the plurality of simultaneous transport connections that are used reaches the maximal number and (b) delivery of the requested data is complete, such that the number of the plurality of simultaneous transport connections that are used is less than the maximal number when the size of the requested data is less than a sum of the preferred data group sizes of the plurality of simultaneous transport connections. 3. The system of claim 2 , wherein the one or more processing devices are further programmed to: set the maximal number of available transport connections to a number of currently opened simultaneous transport connections between the first and the second computer; and not use at least one of the currently opened transport connections for delivery of the requested data. 4. The system of claim 3 , wherein the one or more processing devices are further programmed to increase the number of the plurality of simultaneous transport connections that are used for delivery of the requested data with increase in the size of the requested data. 5. The system of claim 1 , wherein the one or more processing devices are further programmed to: for the one or more requests including at least two different requests, form at least one data group of the two or more groups such that the at least one group contains only data obtained in response to one request of the at least two different requests; and distribute the at least one data group to a transport connection of the plurality of transport connections. 6. The system of claim 5 , wherein the one or more processing devices are further programmed to distribute the at least one data group to the transport connection of the plurality of transport connections by providing data of the at least one data group in an ordered sequence. 7. The system of claim 5 , wherein the one or more processing devices are further programmed to add at least one header to the at least one data group distributed to the transport connection of the plurality of simultaneous transport connections, the at least one header including an identifier of the requested data obtained in response to the one or more requests and a size of the at least one data group. 8. The system of claim 7 , wherein the two or more groups are formatted accordingly to Hyper Text Transport Protocol (HTTP) version 2 or higher. 9. The system of claim 1 , wherein the one or more processing devices are programmed to sequentially forward each data group of the two or more groups to a different connection of the plurality of simultaneous transport connections. 10. The system of claim 1 , wherein the one or more processing devices are further programmed to determine the preferred data group size of each connection of the at least the portion of the plurality of simultaneous transport connections according to an attribute of each connection such that the preferred data group sizes for at least two of the plurality of simultaneous transport connections are different. 11. The system of claim 1 , where the transport protocol is a Transport Control Protocol (TCP), and the control window is a smaller of a receiver window and a congestion window. 12. The system of claim 1 , wherein a maximal value of the range of preferred data group sizes of each connection is set to be no larger than the size of the control window for each connection. 13. The system of claim 1 , wherein the one or more processing devices are further programmed to: implement a transport protocol for the plurality of simultaneous transport connections, the transport protocol imposing a control window for each connection that limits an amount of traffic that can be sent through the each connection before receiving acknowledgement for at least some of the traffic; and determine the preferred data group size of each connection of the at least the portion of the plurality of simultaneous transport connections according to an attribute of each connection by setting the preferred data group size of each connection such that an entire group having the data group size may be sent through each connection without receiving an acknowledgment. 14. The system of claim 1 , wherein the one or more processing devices are further programmed to determine the preferred data group size of each connection of the at least the portion of the plurality of simultaneous transport connections according to an attribute of each connection by setting the preferred data groups size of each conn

Assignees

Inventors

Classifications

  • H04L1/187Primary

    Details of sliding window management · CPC title

  • One way packet loss · CPC title

  • H04L45/245Primary

    Link aggregation, e.g. trunking · CPC title

  • by acting on aggregated flows or links · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10182020B2 cover?
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 tran…
Who is the assignee on this patent?
Anchorfree Inc
What technology area does this patent fall under?
Primary CPC classification H04L1/187. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 15 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).