Congestion response for timely media delivery
US-11140205-B2 · Oct 5, 2021 · US
US11438275B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11438275-B2 |
| Application number | US-201917266337-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 8, 2019 |
| Priority date | Aug 8, 2018 |
| Publication date | Sep 6, 2022 |
| Grant date | Sep 6, 2022 |
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.
In examples of the present invention, during delivery of content, the round trip times for each delivered data packet are measured and the congestion window used for delivery is adjusted accordingly. The congestion window is set to a relatively high value when the round trip times are relatively low, and set to a relatively low value when the round trip times are relatively high.
Opening claim text (preview).
The invention claimed is: 1. A method of delivering content from a server to a client over a network, said content comprising a plurality of temporal segments having an associated time available for delivery, and each of the temporal segments comprising a plurality of data packets, said method comprising: a) delivering a first portion of a temporal segment from the server to the client; b) measuring a plurality of round trip times associated with delivery of at least the first portion; c) determining a current round trip time, a central round trip time, a lower round trip time, and an upper round trip time from the plurality of round trip times, wherein the current round trip time is a round trip time associated with delivery of a most recent packet, the lower round trip time is a round trip time having a value lower than a value of the upper round trip time, and the central round trip time has a value between the values of the lower round trip time and the upper round trip time; d) calculating a required congestion window size needed to deliver the data remaining in the temporal segment within the time available to deliver the data remaining in the temporal segment, wherein the calculation of the required congestion window size is dependent on the central round trip time, an amount of the data remaining in the temporal segment that has yet to be delivered, and an amount of the time available to deliver the data remaining in the temporal segment; e) calculating a modified congestion window size, where the modified congestion window size falls within a range set around the required congestion window size, and where the modified congestion window size is relatively high when the current round trip time is close to the lower round trip time, and the modified congestion window size is relatively low when the current round trip time is close to the upper round trip time; f) delivering further data from the remainder of the temporal segment using the modified congestion window size from the server to the client; g) measuring a plurality of round trip times associated with delivery of the further data from the remainder of the temporal segment; and h) repeating steps c) to f) using at least the plurality of round trip times from step g). 2. The method as set out in claim 1 , wherein the modified congestion window size falls between a minimum congestion window size and a maximum congestion window size that are set as a percentage offset from the required congestion window size. 3. The method as set out in claim 1 , wherein the lower round trip time is a lowest value of the measured round trip times, and the higher round trip time is a highest value of the measured round trip times. 4. A server for delivering content over a network to a client, said content comprising a plurality temporal segments having an associated time available for delivery, and each of the temporal segments comprising a plurality of data packets, said adapted in operation to: a) deliver a first portion of a temporal segment from the server to the client; b) measure a plurality of round trip times associated with delivery of at least the first portion; c) determine a current round trip time, a central round trip time, a lower round trip time, and an upper round trip time from the plurality of round trip times, wherein the current round trip time is a round trip time associated with delivery of a most recent packet, the lower round trip time is a round trip time having a value lower than a value of the upper round trip time, and the central round trip time has a value between the values of the lower round trip time and the upper round trip time; d) calculate a required congestion window size needed to deliver the data remaining in the temporal segment within the time available to deliver the data remaining in the temporal segment, wherein the required congestion window size is dependent on the central round trip time; e) calculate a modified congestion window size, where the modified congestion window size falls within a range set around the required congestion window size, and where the modified congestion window size is relatively high when the current round trip time is close to the lower round trip time, and the modified congestion window size is relatively low when the current round trip time is close to the upper round trip time; f) deliver further data from the remainder of the temporal segment using the modified congestion window size from the server to the client; g) measure a plurality of round trip times associated with delivery of the further data from the remainder of the temporal segment; and h) repeat c) to f) using at least the plurality of round trip times from g); wherein the modified congestion window size, CWND modified , is calculated by: CWND modified = CWND min + ( CWND max - CWND min ) × RTT high - RTT current RTT high - RTT low where CWND min is a minimum congestion window size, CWND max is a maximum congestion window size, RTT high is the higher round trip time, RTT low is the lower round trip time, and RTT current is the current round trip time. 5. The method of claim 1 , wherein: the lower round trip time is a lowest value of the measured round trip times, and the higher round trip time is a highest value of the measured round trip times; and the central round trip time is determined as a mean round trip time over the measured plurality of round trip times or determined as a median round trip time over the measured plurality of round trip times. 6. The method of claim 1 , wherein: the lower round trip time is a lowest value of the measured round trip times, and the higher round trip time is a highest value of the measured round trip times; and the central round trip time is determined as a specified fraction between the lower round trip time and the higher round trip time. 7. The method of claim 1 , wherein the time available to deliver the data remaining in the temporal segment is the time available for delivery of the temporal segment minus the time elapsed since data delivery started for the temporal segment. 8. The method of claim 1 , wherein: wherein the calculation of the required congestion window size is dependent on the central round trip time, the amount of the data remaining in the temporal segment that has yet to be delivered, and the amount of the time available to deliver the data remaining in the temporal segment; and the central round trip time is determined as a mea
Round trip delays · CPC title
Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets · CPC title
in response to processing delays, e.g. caused by jitter or round trip time [RTT] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.