Instantaneous media-on-demand
First Claim
1. A method of providing media-on-demand services over a network, the method being implemented using one or more processors that perform steps comprising:
- on one or more servers that provide the services, communicating with a plurality of devices in order to receive a playback request for a desired media content in a library of media content from a first device;
responsive to receiving the playback request for the desired media content, selecting two or more second devices from a plurality of devices that communicate with the one or more servers, in order to transmit two or more distributed objects that can be played back to produce the media content on the first device, wherein each of the two or more distributed objects includes decimated data blocks from data pertaining to the media content so that each of the two or more distributed objects includes a different set of data blocks, each set of data blocks comprising every n-th data block of the decimated data blocks with n being an integer; and
enabling the first device to achieve instantaneous and continuous playback of the desired media content by (i) seeding the first device with a header segment for each media content of the library, including the desired media content, (ii) initiating instant playback of the desired media content using the header segment of the desired media content, (iii) causing the two or more second devices, that are each independently capable of making the playback request for any media content in the library, to transmit the two or more distributed objects of the desired media content concurrently to the first device, and (iv) multiplexing the header segment with the two or more distributed objects that are transmitted to the first device from the two or more second devices, concurrently, in order to restore an original order in which the distributed objects are to be played back.
6 Assignments
0 Petitions
Accused Products
Abstract
Various techniques for providing instantaneous media services are disclosed. Some of the techniques provide an instantaneous media-on-demand system, process and method for the same. Such a system offers a dynamic library with a significant number of titles from which a user may select and offers play back a desired title fairly instantly. To facilitate instant playback, a file pertaining to a title is fragmented into a header and segments. The header is seeded in all boxes in service and none, one or more segments are distributed to the network of boxes. When the title is ordered, the header is instantly played back while the segments, if not locally available, are streamed in respectively from the boxes having the segments to enable continuous playback of the ordered title.
-
Citations
36 Claims
-
1. A method of providing media-on-demand services over a network, the method being implemented using one or more processors that perform steps comprising:
-
on one or more servers that provide the services, communicating with a plurality of devices in order to receive a playback request for a desired media content in a library of media content from a first device; responsive to receiving the playback request for the desired media content, selecting two or more second devices from a plurality of devices that communicate with the one or more servers, in order to transmit two or more distributed objects that can be played back to produce the media content on the first device, wherein each of the two or more distributed objects includes decimated data blocks from data pertaining to the media content so that each of the two or more distributed objects includes a different set of data blocks, each set of data blocks comprising every n-th data block of the decimated data blocks with n being an integer; and enabling the first device to achieve instantaneous and continuous playback of the desired media content by (i) seeding the first device with a header segment for each media content of the library, including the desired media content, (ii) initiating instant playback of the desired media content using the header segment of the desired media content, (iii) causing the two or more second devices, that are each independently capable of making the playback request for any media content in the library, to transmit the two or more distributed objects of the desired media content concurrently to the first device, and (iv) multiplexing the header segment with the two or more distributed objects that are transmitted to the first device from the two or more second devices, concurrently, in order to restore an original order in which the distributed objects are to be played back. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for providing media-on-demand services on a first device coupled to a network, the method comprising:
-
enabling selection of a media content from a library of media content; generating a request when the media content is selected, the request including title information; transmitting the request over the network to a server configured to generate a response; receiving the response from the server, the response including source information identifying two or more devices designated to provide two or more distributed objects pertaining to the selected media content to enable continuous playback of the selected media content on the first device, wherein each of the two or more designated devices is configurable to generate a request for playback of the media content, and wherein each of the two or more distributed objects includes decimated data blocks from data pertaining to the media content so that each of the two or more distributed objects includes a different set of data blocks, each set of data blocks comprising every n-th data block of the decimated data blocks with n being an integer; initiating playback of the selected media content using a residing object stored on the first device while using the source information to retrieve the two or more distributed objects from the two or more designated devices, concurrently, as two or more streams of data; and continuing the playback of the media content using the two or more streams of data once the playback of the media content using the residing object is completed, including multiplexing the two or more streams of data with the data of the residing object when the residing object is played back in order to restore an original order in which the two or more streams of data are to be played back. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for providing media-on-demand services over a network, the system comprising:
-
a plurality of devices coupled to the network, each of the plurality of devices including a storage element provided for storing a header segment and one or more distributed segments for each of a plurality of media content; a server coupled to the network and configured to provide source information to a first device of the plurality of devices, in response to a request from the first device for playback of a selected one of the plurality of media content, the source information identifying two or more of the plurality of devices being designated to provide respective distributed segments pertaining to the selected media content to the first device to enable continuous playback of the selected media content on the first device, wherein each of the plurality of devices is configurable to submit a request for playback of the selected media content; and wherein, upon receiving the source information, the first device is configured to (i) initiate a playback of the media content using a stored header segment, (ii) concurrently retrieve respective distributed segments from the two or more designated devices using the received source information, and (iii) multiplex the retrieved distributed segments with the stored header segment in order to restore an original order in which the distributed objects are continuously played back; wherein each of the retrieved distributed segments includes decimated data blocks from data pertaining to the selected media content so that each of the retrieved distributed segments includes a different set of data blocks, each set of data blocks comprising every n-th data block of the decimated data blocks with n being an integer. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A manufacture comprising non-transitory computer readable media storing information therein that is executable in a computing device for providing media-on-demand services over a network, the manufacture comprising:
-
program code for receiving a request from a first device coupled to the network, the request including an order for playback of a media content in a library; program code for identifying two or more second devices coupled to the network, the two or more second devices being designated to provide distributed objects pertaining to the media content, wherein each of the distributed objects includes decimated data blocks from data pertaining to the media content so that each of the distributed objects includes a different set of data blocks, each set of data blocks comprising every n-th data block of the decimated data blocks with n being an integer; and program code for providing identification information corresponding to the two or more second devices to the first device to enable continuous playback of the media content on the first device, wherein the first device initiates instantaneous playback of the media content using a residing object pertaining to the media content while using the identification information to receive the distributed objects from the two or more second devices, concurrently, data from the received distributed objects being multiplexed in order to restore an original order in which the received distributed objects are to be played back, and wherein each of the two or more second devices is configurable to submit a request for playback of the media content. - View Dependent Claims (30, 31)
-
-
32. A manufacture comprising non-transitory computer readable media having information embedded therein that is executable in a computing device for providing media-on-demand services on a first device coupled to a network, the manufacture comprising:
-
program code for enabling selection of a media content in a library of media content; program code for generating a request when the media content is selected, the request including title information; program code for transmitting the request over the network to a server configured to generate a response; program code for receiving the response from the server, the response including source information identifying two or more devices designated to provide two or more distributed objects pertaining to the selected media content to enable continuous playback of the selected media content on the first device, wherein each of the two or more designated devices is configurable to generate a request for playback of the media content, and wherein each of the two or more distributed objects includes decimated data blocks from data pertaining to the selected media content so that each of the two or more distributed objects includes a different set of data blocks, each set of data blocks comprising every n-th data block of the decimated data blocks with n being an integer; program code for initiating playback of the selected media content using a residing object stored on the first device, while using the source information to retrieve the two or more distributed objects from the two or more designated devices, concurrently, as two or more streams of data, and to multiplex the two or more streams of data with the residing object in order to restore an original order in which the two or more streams of data are to be continuously played back; and program code for continuing the playback of the media content using the two or more streams of data once the playback of the media content using the residing object is completed. - View Dependent Claims (33, 34, 35, 36)
-
Specification