Fast retrieval and progressive retransmission of content
First Claim
Patent Images
1. A method comprising:
- obtaining, in less than X seconds by an assembling server from at least two fractional-storage servers, erasure-coded fragments needed to reconstruct a streaming content file;
wherein the erasure-coded fragments are associated with segments of the streaming content file, and each of the fractional-storage servers stores at least one erasure-coded fragments per content but less than the minimum data required to reconstruct the segments;
reconstructing, by the assembling device, the streaming content file from fragments comprising the obtained fragments; and
streaming, by the assembling device over a period longer than X seconds, the reconstructed content or a transcoded version of the content to a client device operative to have an incoming communication bandwidth lower than any of the fractional-storage servers and lower than the incoming communication bandwidth of the assembling server.
4 Assignments
0 Petitions
Accused Products
Abstract
Fast retrieval and progressive retransmission of content, including the steps of obtaining erasure-coded fragments by an assembling server from fractional-storage CDN servers; reconstructing a streaming content file from the obtained fragments; and streaming the reconstructed content or a transcoded version of the content by the assembling server to a client device. Wherein most of the fractional-storage CDN servers are located close to or on the Internet backbone, and streaming the reconstructed content takes at least an order of magnitude longer than obtaining the fragments and reconstructing the content.
90 Citations
19 Claims
-
1. A method comprising:
-
obtaining, in less than X seconds by an assembling server from at least two fractional-storage servers, erasure-coded fragments needed to reconstruct a streaming content file; wherein the erasure-coded fragments are associated with segments of the streaming content file, and each of the fractional-storage servers stores at least one erasure-coded fragments per content but less than the minimum data required to reconstruct the segments; reconstructing, by the assembling device, the streaming content file from fragments comprising the obtained fragments; and streaming, by the assembling device over a period longer than X seconds, the reconstructed content or a transcoded version of the content to a client device operative to have an incoming communication bandwidth lower than any of the fractional-storage servers and lower than the incoming communication bandwidth of the assembling server. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus comprising:
-
an assembling server configured to obtain erasure-coded fragments associated with content from fractional-storage servers in less than X seconds; each of the fractional-storage servers configured to store at least one erasure-coded fragment per content but less than the minimum data required to decode the fragments; the assembling server is further configured to reconstruct the content from fragments obtained from a combination of sources comprising a plurality of the fractional-storage servers; the assembling server is further configured to stream the reconstructed content or a transcoded version of the content to a client device over a minimal period longer than X seconds, where the minimal period is bounded by the maximum incoming bandwidth available to the client. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
CDN servers located close to or on the Internet backbone and configured to store erasure-coded fragments associated with content files; each of the CDN servers further configured to store less than the minimum amount of data required to decode the fragments; assembling servers located at or close to the edges of the Internet, spread over a wide area, each configured to obtain erasure-coded fragments associated with the contents from the CDN servers at a bandwidth per content greater than X, reconstruct the contents from fragments comprising the obtained fragments, and stream the contents to user-premises client devices spread over a wide area at a bandwidth per content lower than X. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification