Systems and methods for selective transport accelerator operation
US-2016036883-A1 · Feb 4, 2016 · US
US10182020B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10182020-B2 |
| Application number | US-201615254732-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 1, 2016 |
| Priority date | May 31, 2016 |
| Publication date | Jan 15, 2019 |
| Grant date | Jan 15, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Details of sliding window management · CPC title
One way packet loss · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.