Determining available media data for network streaming

US9432426B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9432426-B2
Application numberUS-201314041724-A
CountryUS
Kind codeB2
Filing dateSep 30, 2013
Priority dateFeb 4, 2013
Publication dateAug 30, 2016
Grant dateAug 30, 2016

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 device includes one or more processors configured to send a plurality of probe requests for segments of media data to a server device, wherein the server device provides the media data using a live streaming service, analyze responses to the plurality of probe requests to determine a left edge and a right edge of a segment availability window, and send a request for a segment within the segment availability window based on the determined left edge and the determined right edge of the segment availability window, in accordance with the live streaming service.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of retrieving media data, the method comprising: sending a plurality of probe requests for segments of media data to a server device, wherein the server device provides the media data using a live streaming service; analyzing responses to the plurality of probe requests to determine a left edge and a right edge of a segment availability window; determining a time difference between a local clock of a client device and a clock of a server device based at least in part on the determined left edge or the determined right edge; and sending a request for a segment based at least in part on the determined time difference that is based at least in part on the determined left edge or the determined right edge, in accordance with the live streaming service. 2. The method of claim 1 , wherein the probe requests comprise requests for an amount of data of the segments that is smaller than the full amount of data for the segments. 3. The method of claim 1 , wherein the probe requests comprise HTTP HEAD requests. 4. The method of claim 1 , wherein the probe requests comprise HTTP partial GET requests. 5. The method of claim 1 , wherein the segment availability window comprises an updated segment availability window, the method further comprising, prior to sending the plurality of probe requests: sending a plurality of requests for segments within an originally determined segment availability window; and determining that responses to the requests for the segments within the originally determined segment availability window include a number of HTTP 404 errors, wherein sending the plurality of probe requests comprises sending the plurality of probe requests based on the number of HTTP 404 errors in the responses to the requests for the segments within the originally determined segment availability window. 6. The method of claim 1 , wherein sending the plurality of probe requests comprises sending the plurality of probe requests upon initiating an HTTP streaming session to retrieve the media data. 7. The method of claim 1 , wherein analyzing the responses comprises: determining that responses to requests for earlier segments indicated successes and that responses to requests for later segments indicated failures; and based on the determination that the responses to the requests for earlier segments indicated successes and the responses to the requests for later segments indicated failures, determining that the right edge of the segment availability window is between the segments for which the responses indicated successes and the segments for which the responses indicated failures. 8. The method of claim 7 , further comprising calculating a time delta value according to: time_delta≈Σ j=i−k i D(j), wherein D(j) defines a duration of segment j, wherein i represents an estimated available segment based on a clock of a client device and k represents a number of segments between segment i and a latest segment for which the responses indicated a success. 9. The method of claim 1 , wherein analyzing the responses comprises: determining that responses to requests for later segments indicated successes and that responses to requests for earlier segments indicated failures; and based on the determination, determining that the left edge of the segment availability window is between the segments for which the responses indicated successes and the segments for which the responses indicated failures. 10. The method of claim 9 , further comprising calculating a time delta value according to: time_delta≈Σ j=i i+k D(j)+TSBD, wherein D(j) defines a duration of segment j, wherein i represents an estimated available segment based on a clock of a client device, TSBD represents a time shift buffer depth, and k represents a number of segments between segment i and an earliest segment for which the responses indicated a success. 11. The method of claim 1 , wherein analyzing the responses comprises: determining that responses to requests for earlier segments indicated failures, that responses to requests for later segments indicated failures, and that responses to requests for intermediate segments between the earlier segments and the later segments indicated successes; and based on the determination, determining that the left edge of the segment availability window is between the earlier segments and the intermediate segments and that the right edge of the segment availability window is between the intermediate segments and the later segments. 12. The method of claim 11 , further comprising calculating a time delta value according to: time_delta≈Σ j=i+1 i+k D(j), wherein D(j) defines a duration of segment j, wherein i represents an estimated available segment based on a clock of a client device and k represents a number of segments between segment i and a latest segment for which the responses indicated a success. 13. The method of claim 1 , wherein the plurality of probe requests comprises a second plurality of probe requests, the method further comprising, prior to sending the second plurality of probe requests, sending a first plurality of probe requests covering a first amount of playback time, wherein sending the second plurality of probe requests comprises sending the second plurality of probe requests after determining that responses to the first plurality of probe requests indicated failures, and wherein the second plurality of probe requests covers a second amount of playback time greater than the first amount of playback time. 14. The method of claim 13 , further comprising determining a number of probes to be included in the second plurality of probe requests using a hierarchical search method. 15. The method of claim 1 , wherein sending the plurality of probe requests comprises sending the plurality of probe requests such that earlier probe requests correspond to earlier segments and later probe requests correspond to later segments. 16. The method of claim 1 , wherein analyzing the responses comprises calculating a number of changes between types of responses, wherein a first type of response indicates that a corresponding segment is available and a second type of response indicates that the corresponding segment is not available. 17. The method of claim 16 , further comprising determining the left edge and the right edge of the segment availability window only after determining that the calculated number of changes between types of responses is equal to 1 or 2. 18. The method of claim 1 , wherein sending the request for the segment comprises sending a request for a segment that is one segment behind the right edge. 19. The method of claim 1 , further comprising determining a number of probe requests to include in the plurality of probe requests based on an elapsed amount of time since a last time synchronization with the server device. 20. The method of claim 19 , wherein determining the number of probe requests comprises determining that the number of probe requests is equal to: 10 when the elapsed amount of time is less than or equal to one minute, 15 when the elapsed amount of time is greater than one minute and less than or equal to 10 minutes, 20 when the elapsed amount of time is greater than ten minutes but less than or equal to one hour, and 25 when the elapsed amount of time is greater than one hour. 21. The method of claim 1 , further comprising synchronizing a clock of a client device with the server device prior to initiating a streaming session to request the m

Assignees

Inventors

Classifications

  • Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets (arrangements for synchronising receiver with transmitter by comparing receiver clock with transmitter clock H04L7/0012; arrangements for synchronising receiver with transmitter wherein the receiver takes measures against momentary loss of synchronisation H04L7/0083) · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

  • arrangements for identifying the type of modulation · CPC title

  • by decomposing the content in the time domain, e.g. in time segments · 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 US9432426B2 cover?
A client device includes one or more processors configured to send a plurality of probe requests for segments of media data to a server device, wherein the server device provides the media data using a live streaming service, analyze responses to the plurality of probe requests to determine a left edge and a right edge of a segment availability window, and send a request for a segment within th…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/4305. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 30 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).