Content delivery system with allocation of source data and repair data among HTTP servers
First Claim
1. A method of playing out one or more multimedia objects received over a packet-switched network by a client device comprising an electronic device or system, wherein source data of the one or more multimedia objects is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, the method comprising:
- a) receiving encoded symbols via a broadcast channel, wherein a value of each encoded symbol received for a multimedia object comprises either a repair symbol derived from values of source symbols for that multimedia object or comprises a source symbol for that multimedia object;
b) determining an indication of which portions of the multimedia object are for playing out to narrow any additional data requested by the client device to data that is to be played out such that data that is not to be played back is not requested, wherein the indicated portions of the multimedia object for playing out are used to determine an amount of additional data needed beyond the received encoded symbols to request for recovering the indicated portions;
c) determining, using the indication, the amount of additional data needed beyond the received encoded symbols to recover the indicated portions of the multimedia object for playing out;
d) determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional data within the one or more files needed to recover the indicated portions of the multimedia object for playing out;
e) generating one or more requests for at least a portion of the corresponding set, using one or more requests directed to a server, wherein each request specifies one or more byte ranges;
f) sending the one or more requests;
g) receiving at least some of the requested additional data in response to the sent one or more requests; and
h) using the received additional data in combination with the encoded symbols received via the broadcast channel in recovering indicated portions of the multimedia object for playing out with the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
Data objects are delivered over a packet-switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Requesting and broadcasting might be done by different entities. A broadcast server can generate and store repair symbols while a source server can store content in source form. A request can be a unicast HTTP byte-range request, such as a URL, starting position and length. Requests might be aligned with starting positions of files. A receiver can calculate starting and ending byte positions of symbols or sub-symbols in a file and get indications that conventional HTTP servers are usable for file repair. Repair servers can request broadcast of repair data when byte-range requests from multiple receivers overlap.
-
Citations
44 Claims
-
1. A method of playing out one or more multimedia objects received over a packet-switched network by a client device comprising an electronic device or system, wherein source data of the one or more multimedia objects is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, the method comprising:
-
a) receiving encoded symbols via a broadcast channel, wherein a value of each encoded symbol received for a multimedia object comprises either a repair symbol derived from values of source symbols for that multimedia object or comprises a source symbol for that multimedia object; b) determining an indication of which portions of the multimedia object are for playing out to narrow any additional data requested by the client device to data that is to be played out such that data that is not to be played back is not requested, wherein the indicated portions of the multimedia object for playing out are used to determine an amount of additional data needed beyond the received encoded symbols to request for recovering the indicated portions; c) determining, using the indication, the amount of additional data needed beyond the received encoded symbols to recover the indicated portions of the multimedia object for playing out; d) determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional data within the one or more files needed to recover the indicated portions of the multimedia object for playing out; e) generating one or more requests for at least a portion of the corresponding set, using one or more requests directed to a server, wherein each request specifies one or more byte ranges; f) sending the one or more requests; g) receiving at least some of the requested additional data in response to the sent one or more requests; and h) using the received additional data in combination with the encoded symbols received via the broadcast channel in recovering indicated portions of the multimedia object for playing out with the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A client device, capable of playing out one or more multimedia objects received over a packet-switched network, wherein source data of the one or more multimedia objects is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, the client device comprising:
-
a) a broadcast receiver input for receiving encoded symbols via a broadcast channel, wherein a value of each encoded symbol received for a multimedia object comprises either a repair symbol derived from values of source symbols for that multimedia object or comprises a source symbol for that multimedia object; b) logic for determining an indication of which portions of the multimedia object are for playing out to narrow any additional data requested by the client device to data that is to be played out such that data that is not to be played back is not requested, wherein the indicated portions of the multimedia object for playing out are used to determine an amount of additional data needed beyond the received encoded symbols to request for recovering the indicated portions; c) logic for determining, using the indication, the amount of additional data needed beyond the received encoded symbols to recover the indicated portions of the multimedia object for playing out; d) logic for determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional data within the one or more files needed to recover the indicated portions of the multimedia object for playing out; e) logic for generating one or more requests for at least a portion of the corresponding set, using one or more requests directed to a server, wherein each request specifies one or more byte ranges; f) a network interface for sending the one or more requests on the packet-switched network; g) logic for receiving at least some of the requested additional data in response to the sent one or more requests; and h) a processor for processing the received additional data in combination with the encoded symbols received via the broadcast channel in recovering indicated portions of the multimedia object for playing out with the client device. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A method of receiving, over at least a packet-switched network, by a client device comprising an electronic device or system, one or more multimedia objects, wherein source data of the one or more multimedia objects is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, the method comprising:
-
a) receiving a signal indicative of a type of transmission for symbols, wherein at least one type of transmission is such that symbols are to be received over a broadcast channel and additional data can be received over a unicast channel, wherein each of the symbols received over the broadcast channel is a repair symbol; b) receiving repair symbols via the broadcast channel, wherein a value of each repair symbol is a value derived from values of source symbols for the multimedia object; c) determining an indication of which portions of the multimedia object are for playing out to narrow any additional data requested by the client device to data that is to be played out such that data that is not to be played back is not requested, wherein the indicated portions of the multimedia object for playing out are used to determine an amount of additional data needed beyond the received encoded symbols to request for recovering the indicated portions; d) determining, using the indication, the amount of additional data beyond the received repair symbols to recover the indicated portions of the multimedia object for playing out; e) determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional data; f) generating one or more requests for at least a portion of the corresponding set, using one or more requests directed to a server, wherein each request specifies one or more byte ranges; g) sending the one or more requests; h) receiving at least some of the requested additional data in response to the sent one or more requests; and i) using the received additional data in combination with the repair symbols received over the broadcast channel in recovering the indicated portions of the multimedia object for playing out with the client device. - View Dependent Claims (41)
-
-
42. A method of sending metadata to a client device wherein the metadata provides information about a multimedia object to be received by the client device as broadcasted encoded symbols combined with, as needed, unicast encoded symbols, wherein the encoded symbols are such that the multimedia object is recoverable, at least approximately, from received encoded symbols, the method comprising:
-
a) sending a first signal indicative of broadcast information for a transmission over a broadcast channel, wherein each symbol sent over the broadcast channel is a repair symbol, wherein a value of each repair symbol is a value derived from values of source symbols for the multimedia object; and b) sending a second signal indicative of information for making one or more requests for additional symbols needed beyond received repair symbols to recover portions of the multimedia object indicated for playing out such that data that is not to be played back is not requested, wherein a request for additional symbols comprises an indication of a file and a byte range request, the file corresponding to portions of the multimedia object received, at least in part, over the broadcast channel. - View Dependent Claims (43, 44)
-
Specification