Transfer method and apparatus for seamless content transfer
US-9215255-B2 · Dec 15, 2015 · US
US9300710B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9300710-B2 |
| Application number | US-201313788120-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 7, 2013 |
| Priority date | Mar 7, 2013 |
| Publication date | Mar 29, 2016 |
| Grant date | Mar 29, 2016 |
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.
Stalling of segment downloads during adaptive bandwidth switching where bandwidth drops in the midst of download of a segment is overcome by downloading segments in multiple subsegments via multiple download operations. Additionally, bandwidth monitoring can be performed in between each subsegment download, and if bandwidth has fallen substantially, and the segment download is not near completion, then the already-downloaded subsegments can be discarded, and the segment download can be restarted from a lower-quality variant.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a network interface configured to download segments of an original media file from a server via multiple download operations, each download of a subsegment of a segment encoded at a first quality; a client buffer for storing the subsegments; a bandwidth monitoring module, stored on a memory device, configured to: perform a READ function of a Fetch File portion of HTTP code to download each subsegment, where a first number of subsegments per segment are read for a first bandwidth and a second number of subsegments per segment are read for a second bandwidth, the second bandwidth being greater than the first bandwidth and the first number being greater than the second number; at or after a start of each download of a subsegment, determine a bandwidth of a network connection between the network interface and the server; and determine, based on the bandwidth of the network connection, whether a current one of the segments should be downloaded at a second quality different from the first quality, and if so: discard downloaded subsegments of the current one of the segments from the client buffer; and download the current one of the segments encoded at a second quality. 2. The system of claim 1 , wherein encoding at the second quality generates a smaller file size than encoding at the first quality. 3. The system of claim 1 , wherein the determine operation is performed while the current one of the segments is partially downloaded. 4. The system of claim 1 , wherein the bandwidth monitoring module is further configured to determine that a predicted time to discard the downloaded subsegments of the current one of the segments and restart the download and reading of the current one of the segments encoded at the second quality is less than a predicted time to complete a download of the current one of the segments encoded at the first quality. 5. The system of claim 1 , wherein the bandwidth monitoring module looks to a header of incoming data packets to determine a bandwidth of the network connection. 6. The system of claim 1 , wherein the bandwidth monitoring module includes a segment size calculating module configured to determine or estimate a size of the current one of the segments. 7. The system of claim 6 , wherein the segment size calculating module looks to a content-length field of an HTTP-request for the original media file to determine the segment size. 8. The system of claim 1 , wherein the determine operation involves determining if download of the segment can be completed in less time if the downloaded subsegments of the current one of the segments are discarded, and the current one of the segments encoded at a second quality is downloaded. 9. A method for streaming an original media file using adaptive bandwidth switching, the method comprising: performing a READ function of a FetchFile portion of HTTP code to download, via multiple read operations, into a client buffer, subsegments of a segment of the original media file, the segment being one of a plurality of segments in a first variant, the first variant referencing a first quality encoding of the original media file; determining that a bandwidth of the network has decreased, where the determining occurs at or after a start of each read operation; and subsequently selecting a number of subsegments to be downloaded for the segment, where the number of subsegments is inversely related to the bandwidth; predicting, based on the bandwidth, that switching to a second variant referencing a second quality encoding of the original media file will enable a faster download of the segment; discarding from the client buffer, subsegments of the segment that have already been downloaded; selecting a second variant, the second variant referencing a second quality encoding of the original media file, the second quality being less than the first quality; and downloading, via multiple read operations, into the client buffer, subsegments of the segment of the original media file, the segment being one of a plurality of segments in a second variant. 10. The method of claim 9 , wherein the determining the bandwidth includes estimating the bandwidth. 11. The method of claim 10 , wherein the estimating the bandwidth includes taking a weighted average of previous bandwidths and a current bandwidth to determine the bandwidth. 12. The method of claim 9 , wherein the determining includes deciding that discarding all downloaded subsegments of the segment and fetching the segment starting with a first subsegment of the segment via a different variant is better for the user experience than continuing to download the segment via the current bandwidth. 13. The method of claim 12 , wherein the determining includes estimating a time remaining to complete downloading the segment. 14. A non-transitory, tangible computer readable storage medium, encoded with processor readable instructions to perform a method for adaptive bandwidth switching, the method comprising: performing a READ function of a FetchFile portion of HTTP code to download, via multiple read operations, into a client buffer, subsegments of a segment of the original media file, the segment being one of a plurality of segments in a first variant, the first variant referencing a first quality encoding of the original media file; determining that a bandwidth of the network has decreased, where the determining occurs at or after a start of each read operation, where the determining is based on samples of the bandwidth taken at or after download of each subsegment; adjusting a number of subsegments per segment that are downloaded as an inverse function of the bandwidth; and subsequently predicting, based on the bandwidth, that switching to a second variant referencing a second quality encoding of the original media file will enable a faster download of the segment; discarding from the client buffer, subsegments of the segment that have already been downloaded; selecting a second variant, the second variant referencing a second quality encoding of the original media file, the second quality being less than the first quality; and downloading, via multiple read operations, into the client buffer, subsegments of the segment of the original media file, the segment being one of a plurality of segments in a second variant. 15. A method comprising: downloading from a server, via a network interface, segments of an original media file from a server via multiple download operations, each download of a subsegment of a segment encoded at a first quality; storing the subsegments in a client buffer; performing a READ function of a FetchFile portion of HTTP code to download each subsegment, where a first number of subsegments per segment are read for a first bandwidth and a second number of subsegments per segment are read for a second bandwidth, the second bandwidth being greater than the first bandwidth and the first number being greater than the second number; at or after a start of each download of a subsegment, determining a bandwidth of a network connection between the network interface and the server; and determining, based on the bandwidth of the network connection, whether a current one of the segments should be downloaded at a second quality different from the first quality, and if so: discarding downloaded subsegments of the current one of the segments from the client buffer; and downloading the current one of the segments encoded at a second quality. 16. The method of claim 15 , wherein encoding at the second quality generates a smaller file
Electricity · mapped topic
Responding to QoS · CPC title
Electricity · mapped topic
adapting media to network capabilities · CPC title
for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.