Real-time or near real-time streaming

US9729830B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9729830-B2
Application numberUS-201113078741-A
CountryUS
Kind codeB2
Filing dateApr 1, 2011
Priority dateApr 1, 2010
Publication dateAug 8, 2017
Grant dateAug 8, 2017

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 near real time content streaming system can use a playlist file, in one embodiment, that includes an indicator of the type of content represented by the playlist file. The type can be indicated by a parameter, such as Video on Demand (VOD) or live, or event, that specifies the type of playlist file, and a client device can process the playlist file based upon the type of playlist file indicated by the parameter. For example, the client device, after determining the type of playlist from a playlist file can make efficiency optimizations when processing the playlist file. For example, the client, knowing the playlist file is a VOD playlist, can save the previously used variant playlist when switching to a new variant playlist rather than discarding the previously used variant playlist.

First claim

Opening claim text (preview).

What is claimed is: 1. A machine readable, tangible, non-transitory storage medium storing executable instructions that, when executed, cause a data processing system to perform a method comprising: requesting, with a client device, a playlist file from a server device, wherein the client device is configured to play media content using the playlist file, the media content having a media content type comprising video on demand, event, or live, wherein a type parameter of “live” indicates that the media content has an indefinite start time, and wherein a type parameter of “event” indicates that the media content has a definite start time and an indefinite ending time; receiving, at the client device in response to the request, the playlist file from the server device, the playlist file having Universal Resource Indicators (URIs) which indicate a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files; parsing, by the client device, the playlist file and determining that one of the plurality of tags comprises an optional PLAYLIST-TYPE tag having a type parameter which indicates a type of the playlist file, wherein the type parameter comprises one of video on demand (VOD), live, or event; parsing, by the client device, the playlist file to determine whether one of the plurality of tags comprises an ENDLIST tag, indicating that no more media files will be added to the playlist file; in response to determining that the playlist file does not contain the ENDLIST tag: in response to the PLAYLIST-TYPE tag having the type parameter “VOD”, playing media content using the playlist file comprises the client: not requesting an updated playlist file from the server; and generating an error indicating that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the type parameter “live”, playing media content using the playlist file comprises the client device requesting and loading an updated playlist file from the server device; in response to the PLAYLIST-TYPE tag having the type parameter “event”, playing the media content using the playlist file comprises the client requesting an updated playlist file, and: loading only a portion of the updated playlist file; or loading the entire updated playlist file and parsing only a portion of the updated playlist file; requesting, by the client device from the server device, one or more of the media files in an order indicated by the playlist file; and receiving, by the client device from the server device, the one or more requested media files through the network using the non-streaming transfer protocol. 2. The medium as in claim 1 further comprising, in response to the PLAYLIST-TYPE having the type parameter live, configuring the client device to process the updated playlist as a sliding window playlist, wherein a sliding window playlist comprises the playlist file with one or more URIs deleted from the playlist and one or more URIs appended to the playlist file, each URI referencing a media file. 3. The medium as in claim 2 wherein when the type parameter is VOD the playlist file does not change, and the client device is configured to save the playlist file for future use when switching to a variant playlist for content referred to by the playlist file. 4. The medium as in claim 1 wherein when the type parameter is event, the event has a specified and fixed beginning time for an event playlist file, and the updated playlist file comprises the playlist file with one or more URIs appended to the playlist file and no URIs removed from the playlist file, each URI referencing a media file. 5. The medium as in claim 2 wherein the method further comprises generating an audio or video or an audio/video output representing the stream of content by playing the media files with the client device in the order indicated by the playlist file and wherein the non-streaming transfer protocol comprises a hypertext transfer protocol (HTTP) compliant protocol. 6. The medium as in claim 1 wherein the method further comprises: storing, in at least one log, statistics relating to data access of the media files or network errors which occur when receiving the media files; receiving a request, through an API (Application Program Interface), to obtain the statistics. 7. A machine implemented method performed by a data processing system, the method comprising: requesting, with a client device, a playlist file from a server device, wherein the client device is configured to play media content using the playlist file, the media content having a media content type comprising video on demand, event, or live, wherein a type parameter of “live” indicates that the media content has an indefinite start time, and wherein a type parameter of “event” indicates that the media content has a definite start time and an indefinite ending time; receiving, at the client device in response to the request, the playlist file from the server device, the playlist file having Universal Resource Indicators (URIs) which indicate a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files; parsing, by the client device, the playlist file and determining that one of the plurality of tags comprises an optional PLAYLIST-TYPE tag having a type parameter which indicates a type of the playlist file, wherein the type parameter comprises one of video on demand (VOD), live, or event; parsing, by the client device, the playlist file to determine whether one of the plurality of tags comprises an ENDLIST tag, indicating that no more media files will be added to the playlist file; in response to determining that the playlist file does not contain the ENDLIST tag: in response to the PLAYLIST-TYPE tag having the type parameter VOD, playing media content using the playlist file comprises the client: not requesting an updated playlist file from the server; and generating an error indicating that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the parameter “live”, playing media content using the playlist file comprises the client device requesting and loading an updated playlist file from the server device; in response to the PLAYLIST-TYPE tag having the type parameter “event”, playing the media content using the playlist file comprises the client device requesting an updated playlist file, and: loading only a portion of the updated playlist file; or loading the entire playlist file and parsing only a portion of the updated playlist file; requesting, by the client device from the server device, one or more of the media files in an order indicated by the playlist file; and receiving, by the client device from the server device, the one or more requested media files through the network using the non-streaming transfer protocol. 8. The method as in claim 7 further comprising, in response to the PLAYLIST-TYPE having the type parameter configuring the client device to process the updated playlist as a sliding window playlist, wherein a sliding window playlist comprises the playlist file with one or more URIs deleted from the playlist file and one or more URIs appended to the playlist file, each URI referencing a media file. 9. The method as in claim 8 wherein when the type parameter is VOD the playlist does not change, and the client device is configured to save the playlist for future use when switching to a variant playlist for content referred to by the playlist. 10. The method as in claim 7 wherein when the type parameter is event, the event has a specified and fixed beginning time for an event playlist f

Assignees

Inventors

Classifications

  • Direct or substantially direct transmission and handling of requests · CPC title

  • Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application · CPC title

  • for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40) · CPC title

  • Physics · mapped topic

  • Electricity · mapped topic

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 US9729830B2 cover?
A near real time content streaming system can use a playlist file, in one embodiment, that includes an indicator of the type of content represented by the playlist file. The type can be indicated by a parameter, such as Video on Demand (VOD) or live, or event, that specifies the type of playlist file, and a client device can process the playlist file based upon the type of playlist file indicat…
Who is the assignee on this patent?
May Jr William, Pantos Roger, Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04N7/17318. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 08 2017 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).