MANAGING STREAMING BANDWIDTH FOR MULTIPLE CLIENTS
First Claim
1. A method for controlling at least one media file, the method comprising:
- allocating or receiving allocated bit rates to a media file that comprises a plurality of chunks and is expected to be streamed over a last mile channel that is bandwidth limited;
receiving, from a media streamer, a manifest file for multiple versions of the media file;
wherein different version of the media file differ from each other by bit rate;
wherein a manifest file associated the media file comprises retrieval information required for retrieving different versions of the media file;
receiving a manifest file request from a client that is hosted on a user device, wherein the manifest file request is received from a client and comprises a request to receive retrieval information required for a retrieval of a manifest file associated with a requested media file that is requested by the client;
selecting a selected version of the media file based on (a) bit rates of the different versions of the requested media file, and (b) a bit rate allocated for a transmission of the requested media file to the client;
generating a modified manifest file for the requested media file by removing retrieval information associated with all non-selected versions of the requested media file;
wherein the modified manifest file comprises retrieval information required only for a retrieval of a selected version of the requested media file; and
sending to the client the modified manifest file.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, system and a computer program product. The method may include: selecting, for each requested media file, a selected version of the media file based on (a) bit rates of the different versions of the requested media file, and (b) a bit rate allocated for a transmission of the requested media file to the client; generating a modified manifest file for each requested media file by removing retrieval information associated with all non-selected versions of requested media files; wherein each modified manifest file comprises retrieval information required only for a retrieval of a selected version of a requested media file associated with the modified manifest file; and sending to clients the modified manifest files.
123 Citations
38 Claims
-
1. A method for controlling at least one media file, the method comprising:
-
allocating or receiving allocated bit rates to a media file that comprises a plurality of chunks and is expected to be streamed over a last mile channel that is bandwidth limited; receiving, from a media streamer, a manifest file for multiple versions of the media file;
wherein different version of the media file differ from each other by bit rate;
wherein a manifest file associated the media file comprises retrieval information required for retrieving different versions of the media file;receiving a manifest file request from a client that is hosted on a user device, wherein the manifest file request is received from a client and comprises a request to receive retrieval information required for a retrieval of a manifest file associated with a requested media file that is requested by the client; selecting a selected version of the media file based on (a) bit rates of the different versions of the requested media file, and (b) a bit rate allocated for a transmission of the requested media file to the client; generating a modified manifest file for the requested media file by removing retrieval information associated with all non-selected versions of the requested media file;
wherein the modified manifest file comprises retrieval information required only for a retrieval of a selected version of the requested media file; andsending to the client the modified manifest file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9, 10, 11)
-
-
8. The method according to claim 8, comprising generating a new modified manifest file for each requested media file, wherein the new modified manifest file comprises retrieval information previously removed from the modified manifest file and is associated with the selected version of the part of the requested media file associated with the modified manifest file.
-
12. A system comprising:
-
an input interface arranged to receive; allocated bit rates to a plurality of media files, each media file comprises a plurality of chunks and is expected to be streamed over a last mile channel that is bandwidth limited; a manifest file for multiple versions of each of the plurality of media files;
wherein different version of a same media file differ from each other by bit rate;
wherein a manifest file associated with a media file comprises retrieval information required for retrieving different versions of the media file;a plurality of manifest file requests from a plurality of clients that are hosted on user devices, wherein each manifest file request received from a client comprises a request to receive retrieval information required a processing module that is arranged to; select, for each requested media file, a selected version of the media file based on (a) bit rates of the different versions of the requested media file, and (b) a bit rate allocated for a transmission of the requested media file to the client; generate a modified manifest file for each requested media file by removing retrieval information associated with all non-selected versions of requested media files;
wherein each modified manifest file comprises retrieval information required only for a retrieval of a selected version of a requested media file associated with the modified manifest file; andan output interface arranged to send to the clients the modified manifest files. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product that comprises a non-transitory computer readable medium that stores instructions for:
-
allocating or receiving allocated bit rates to a plurality of media files, each media file comprises a plurality of chunks and is expected to be streamed over a last mile channel that is bandwidth limited; receiving, from a media streamer, a manifest file for multiple versions of each of the plurality of media files;
wherein different version of a same media file differ from each other by bit rate;
wherein a manifest file associated with a media file comprises retrieval information required for retrieving different versions of the media file;receiving a plurality of manifest file requests from a plurality of clients that are hosted on user devices, wherein each manifest file request received from a client comprises a request to receive retrieval information required for a retrieval of a manifest file associated with a requested media file that is requested by the client; selecting, for each requested media file, a selected version of the media file based on (a) bit rates of the different versions of the requested media file, and (b) a bit rate allocated for a transmission of the requested media file to the client; generating a modified manifest file for each requested media file by removing retrieval information associated with all non-selected versions of requested media files;
wherein each modified manifest file comprises retrieval information required only for a retrieval of a selected version of a requested media file associated with the modified manifest file; andsending to the clients the modified manifest files. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 36)
-
-
33. A method comprising:
- receiving a first manifest file and information about a communication network condition;
wherein the manifest is associated with at least one media file and comprises first retrieval information required for retrieving the at least one media file; and
generating, in response to the information about the communication network condition a second manifest file that comprises second retrieval information that differs from the first retrieval information. - View Dependent Claims (34)
- receiving a first manifest file and information about a communication network condition;
-
35. A computer program product that comprises a non-transitory computer readable medium that stores instructions for:
- receiving a first manifest file and information about a communication network condition;
wherein the manifest is associated with at least one media file and comprises first retrieval information required for retrieving the at least one media file; and
generating, in response to the information about the communication network condition a second manifest file that comprises second retrieval information that differs from the first retrieval information.
- receiving a first manifest file and information about a communication network condition;
-
37. A system comprising an input interface for receiving a first manifest file and information about a communication network condition;
- wherein the manifest is associated with at least one media file and comprises first retrieval information required for retrieving the at least one media file; and
a manifest file module for generating, in response to the information about the communication network condition a second manifest file that comprises second retrieval information that differs from the first retrieval information. - View Dependent Claims (38)
- wherein the manifest is associated with at least one media file and comprises first retrieval information required for retrieving the at least one media file; and
Specification