Updatable real-time or near real-time streaming
First Claim
Patent Images
1. A machine implemented method comprising:
- dividing, at a server device, a stream of data into multiple media files, each of the multiple media files to be stored as individual files in a memory in a transfer protocol compliant format;
generating a playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data;
determining a duration value from a tag in the playlist file and determining when to update the playlist file based on the duration value; and
generating an updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatuses for real-time or near real-time streaming of content using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method includes dividing a stream of data, representing the contiguous time based content of a program (e.g. a live video broadcast), into a plurality of distinct media files, and generating a playlist file having a plurality of tags and Universal Resource Indicators (URIs) indicating an order of presentation of the plurality of distinct media files. The plurality of media files and the playlist file can be made available for transmission to a client device which can retrieve the media files using the playlist file.
-
Citations
43 Claims
-
1. A machine implemented method comprising:
-
dividing, at a server device, a stream of data into multiple media files, each of the multiple media files to be stored as individual files in a memory in a transfer protocol compliant format; generating a playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data; determining a duration value from a tag in the playlist file and determining when to update the playlist file based on the duration value; and generating an updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An article comprising a computer-readable non-transitory medium having stored thereon executable instructions that, when executed, cause one or more processors to:
-
divide, at a server device, a stream of data into multiple media files, each of the multiple media files to be stored as individual files in a memory in a transfer protocol compliant format; generate a playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data; determine a duration value from a tag in the playlist file and determine when to update the playlist file based on the duration value; and generate an updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus comprising:
-
means, at a server device, for dividing a stream of data into multiple media files, each of the multiple media files to be stored as individual files in a memory in a transfer protocol compliant format; means for generating a playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data; means for determining a duration value from a tag in the playlist file and for determining when to update the playlist file based on the duration value; and means for generating an updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data. - View Dependent Claims (25, 26, 27)
-
-
28. A machine implemented method comprising:
storing multiple media files as individual files in a memory in a transfer protocol compliant format, the multiple media files having been divided out of a contiguous time based stream of data; transmitting a playlist file to a client device using the transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media file to recreate the stream of data; transferring one or more of the multiple media files to the client device using the transfer protocol in response to one or more requests from the client device utilizing one or more of the plurality of URIs; transmitting an updated playlist file to the client device, the updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data, wherein the updated playlist file is updated at a time based upon a duration value in a tag in the playlist file. - View Dependent Claims (29, 30)
-
31. An article comprising a computer readable non-transitory medium having stored thereon executable instructions that, when executed, case one or more processors to:
-
store multiple media files as individual files in a memory in a transfer protocol compliant format, the multiple media files having been divided out of a contiguous time based stream of data; transmit a playlist file to a client device using the non-streaming transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data; transfer one or more of the multiple media files to the client device using the transfer protocol in response to one or more requests from the client device utilizing one or more of the plurality of URIs; transmit an updated playlist file to the client device, the updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of the updated multiple media files to recreate a representation of the stream of data wherein the updated playlist file is updated at a time based upon a duration value in a tag in the playlist file. - View Dependent Claims (32, 33)
-
-
34. An apparatus comprising:
-
means for storing multiple media files as individual files in a memory in a transfer protocol compliant format, the multiple media files having been divided out of a contiguous time based stream of data; means for transmitting a playlist file to a client device using the transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data; means for transferring one or more of the multiple media files to the client device using the transfer protocol in response to one or more requests from the client device utilizing one or more of the plurality of URIs; means for transmitting an updated playlist file to the client device, the updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of the updated multiple media files to recreate a representation of the stream of data, wherein the updated playlist file is updated at a time based upon a duration value in a tag in the playlist file.
-
-
35. A machine implemented method comprising:
-
requesting, with a client device, a playlist file using a transfer protocol; receiving, in response to the requesting, the playlist file having (1) Universal Resource Indicators (URIs) indicating a plurality of media content for a contiguous time based stream of data of a program and (2) a plurality of tags having parameters related to the plurality of media content; requesting and receiving one or more of the media content in an order indicated in the playlist; receiving an updated playlist file corresponding to changes to the media content, the updated playlist file comprising a plurality of updated URIs indicating an ordering of an updated plurality of media content, wherein the updated playlist file is updated at a time based upon a duration value in a tag in the playlist file. - View Dependent Claims (36, 37, 38)
-
-
39. A machine readable non-transitory storage medium having stored thereon executable instructions that, when executed, cause one or more processors to perform a method comprising:
-
requesting, with a client device, a playlist file using a transfer protocol; receiving, in response to the requesting, the playlist file having Universal Resource Indicators (URIs) indicating a plurality of media content for a contiguous time based stream of data of a program and a plurality of tags having parameters related to the plurality of media content; requesting and receiving one or more of the media content in an order indicated in the playlist; receiving an updated playlist file corresponding to changes to the media content, the updated playlist file comprising a plurality of updated URIs indicating an ordering of an updated plurality of media content, wherein the updated playlist file is updated at a time based upon a duration value in a tag in the playlist file. - View Dependent Claims (40, 41, 42)
-
-
43. A data processing system comprising:
-
means for requesting, with a client device, a playlist file using a transfer protocol; means for receiving, in response to the requesting, the playlist file having Universal Resource Indicators (URIs) indicating a plurality of media content for a contiguous time based stream of data of a program and a plurality of tags having parameters related to the plurality of media content; means for requesting and receiving one or more of the media content in an order indicated in the playlist; means for receiving an updated playlist file corresponding to changes to the media content, the updated playlist file comprising a plurality of updated URIs indicating an ordering of an updated plurality of media content, wherein the updated playlist file is updated at a time based upon a duration value in a tag in the playlist file.
-
Specification