Receiving streaming content from servers located around the globe
First Claim
1. A method for retrieving streaming content by an assembling device, comprising:
- pulling via the Internet, by the assembling device from a plurality of fractional-storage servers, a set of erasure-coded fragments associated with segments of streaming content, each fragment pull request associated with a specific segment;
wherein the fractional-storage servers are scattered over at least one continent and operative to have an aggregated fragment delivery bandwidth greater than the incoming bandwidth of the assembling device; and
each of the fractional-storage servers is configured to store at least one erasure-coded fragment but less than the set of erasure-coded fragments;
approaching the incoming bandwidth of the assembling device by pulling the fragments fast enough and essentially regardless of fragment loss or distances between the assembling device and the servers;
receiving, by the assembling device, at least some of the requested fragments; and
compensating for lost fragments by obtaining by the assembling device additional erasure-coded fragments that are needed to reconstruct the segments.
4 Assignments
0 Petitions
Accused Products
Abstract
Receiving streaming content from servers located around the globe, including the following steps: requesting via the Internet, by an assembling device which may be located almost anywhere around the globe, using a fragment pull protocol, a set of erasure-coded fragments associated with segments off streaming content, from a plurality of fractional-storage servers which may be located almost anywhere around the globe. And compensating for lost fragments by requesting additional erasure-coded fragments that are needed to reconstruct the segments. Wherein the bandwidth of the streaming content is bounded approximately only by the incoming bandwidth of the assembling device.
73 Citations
20 Claims
-
1. A method for retrieving streaming content by an assembling device, comprising:
-
pulling via the Internet, by the assembling device from a plurality of fractional-storage servers, a set of erasure-coded fragments associated with segments of streaming content, each fragment pull request associated with a specific segment;
wherein the fractional-storage servers are scattered over at least one continent and operative to have an aggregated fragment delivery bandwidth greater than the incoming bandwidth of the assembling device; and
each of the fractional-storage servers is configured to store at least one erasure-coded fragment but less than the set of erasure-coded fragments;approaching the incoming bandwidth of the assembling device by pulling the fragments fast enough and essentially regardless of fragment loss or distances between the assembling device and the servers; receiving, by the assembling device, at least some of the requested fragments; and compensating for lost fragments by obtaining by the assembling device additional erasure-coded fragments that are needed to reconstruct the segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a plurality of fractional-storage servers, scattered over at least one continent, configured to store erasure-coded fragments associated with segments of streaming content;
each of the fractional-storage servers is configured to store at least one erasure-coded fragment but less than a certain set of the erasure-coded fragments; andan assembling device configured to request and receive, using a fragment pull protocol over the Internet, from the fractional-storage servers, the set of the erasure-coded fragments, each fragment pull request associated with a specific segment, and compensate for lost fragments by requesting additional erasure-coded fragments, wherein the servers operative to deliver fragments at a bandwidth greater than the incoming bandwidth of the assembling device, and the streaming-content-retrieval bandwidth of the assembling device is configured to approach the incoming bandwidth of the assembling device, by requesting the fragments fast enough and essentially regardless of fragment loss or distances between the assembling device and the servers. - View Dependent Claims (14)
-
-
15. A system comprising:
-
fractional-storage servers configured to store erasure-coded fragments associated with segments of streaming content;
each server configured to store at least one erasure-coded fragment but less than a first set of the erasure-coded fragments; andan assembling device operative to have an average one-way network-related latency of more than 50 milliseconds to the fractional-storge servers, the assembling device configured to obtain the first set of fragments from the fractional-storage servers ,and to compensate for lost fragments by obtaining a second set of erasure-coded fragments usable to reconstruct the segments, the fractional-storage operative to deliver fragments at an aggregated bandwidth greater than the incoming bandwidth of the assembling device, and the assembling device is further configured to obtain the fragments at a bandwidth approaching the incoming bandwidth of the assembling device, essentially regardless of fragment loss. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification