CONTENT DELIVERY SYSTEM WITH ALLOCATION OF SOURCE DATA AND REPAIR DATA AMONG HTTP SERVERS
First Claim
1. A method of receiving one or more data objects using an electronic device or system coupled to a packet-switched network, wherein source data of the one or more data 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 values of encoded symbols are derived, at least in part, from values of source symbols;
b) determining a number of additional symbols needed to recover content to a desired level of completeness;
c) determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional symbols needed to recover the content;
d) generating a request for at least the number of additional symbols, using a request directed to a server specifying the corresponding set of one or more byte ranges;
e) sending the request;
f) receiving at least some of the requested additional symbols; and
g) using the received additional symbols in combination with the encoded symbols received over the broadcast channel in recovering the content.
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
53 Claims
-
1. A method of receiving one or more data objects using an electronic device or system coupled to a packet-switched network, wherein source data of the one or more data 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 values of encoded symbols are derived, at least in part, from values of source symbols; b) determining a number of additional symbols needed to recover content to a desired level of completeness; c) determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional symbols needed to recover the content; d) generating a request for at least the number of additional symbols, using a request directed to a server specifying the corresponding set of one or more byte ranges; e) sending the request; f) receiving at least some of the requested additional symbols; and g) using the received additional symbols in combination with the encoded symbols received over the broadcast channel in recovering the content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A device that presents content received remotely, comprising:
-
an electronic interface to receive data from a broadcast channel; logic for receiving encoded symbols via the broadcast channel, wherein values of encoded symbols are derived, at least in part, from values of source symbols corresponding to the content to be received remotely; logic for determining a number of additional symbols needed to recover content to a desired level of completeness; 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 symbols needed to recover the content; logic for generating a request for at least the number of additional symbols, using a request directed to a server specifying the corresponding set of one or more byte ranges; an interface for sending the request; logic for receiving at least some of the requested additional symbols; and a decoder that uses the received additional symbols in combination with the encoded symbols received over the broadcast channel in recovering the content. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A method of delivering one or more data objects from an electronic device or system over a packet-switched network, wherein source data of the one or more data 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) if the source data is not already organized into source blocks of source symbols, organizing the source data into an organized set of source blocks of source symbols; b) generating encoded symbols, wherein values of encoded symbols are derived, at least in part, from values of source symbols and wherein encoded symbols that are repair symbols have scopes used for generation that correspond with source blocks; and c) providing repair symbols and/or source symbols as encoded symbols in a broadcast fashion to destination devices, wherein broadcasting provides sufficient information for a destination device to determine symbol and block structure for broadcasted data, wherein the sufficient information comprises at least information mapping source symbols in the organized set of source blocks of source symbols to byte ranges usable for making byte range requests from a server supporting file requests with byte range requests. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
-
45. A non-transitory computer program product for receiving one or more data objects using an electronic device or system coupled to a packet-switched network, wherein source data of the one or more data objects is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, the product comprising:
-
a) program code for receiving encoded symbols via a broadcast channel, wherein values of encoded symbols are derived, at least in part, from values of source symbols; b) program code for determining a number of additional symbols needed to recover content to a desired level of completeness; c) program code for determining a corresponding set of one or more byte ranges of one or more files, wherein the corresponding set corresponds to the additional symbols needed to recover the content; d) program code for generating a request for at least the number of additional symbols, using a request directed to a server specifying the corresponding set of one or more byte ranges; e) program code for sending the request to the server; f) program code for receiving at least some of the requested additional symbols; and g) program code for recovering the content using the received additional symbols in combination with the encoded symbols received over the broadcast channel. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53)
-
Specification