Hybrid open-loop and closed-loop erasure-coded fragment retrieval process
First Claim
1. A method for retrieving erasure-coded fragments associated with essentially sequential segments, comprising:
- requesting, by an assembling device from a plurality of fractional-storage servers, a first set of the erasure-coded fragments, using a fragment pull protocol, each fragment pull request associated with a specific segment;
wherein erasure-coding denotes a process in which a sequence of erasure-coded fragments are generated from a segment such that the segment can be reconstructed from essentially any subset of the erasure-coded fragments having minimum size not smaller than the size of the segment;
wherein each fractional-storage server configured to store at least one erasure-coded fragment but less than the minimum amount of fragments or data required to reconstruct the segments;
requesting a second set of erasure-coded fragments, using the fragment pull protocol, to compensate for the fragments of the first-set that failed to arrive at the assembling device; and
while requesting the first set of fragments associated with a certain segment, requesting on-the-fly the second set of fragments associated with a prior segment, wherein the first set of fragments associated with the certain segment and the second set of fragments associated with the prior segment are of essentially the same erasure-coding and therefore can be decoded together.
4 Assignments
0 Petitions
Accused Products
Abstract
Retrieving erasure-coded fragments associated with approximately sequential segments, including the steps of requesting a first set of the fragments, using a fragment pull protocol, by an assembling device from a plurality of fractional-storage servers, and requesting a second set of erasure-coded fragments, using the fragment pull protocol, to compensate for the fragments of the first set that failed to arrive at the assembling device. And wherein while requesting the first-set fragments associated with a certain segment, at least one compensation request is made for a second-set fragment associated with a prior segment.
40 Citations
20 Claims
-
1. A method for retrieving erasure-coded fragments associated with essentially sequential segments, comprising:
-
requesting, by an assembling device from a plurality of fractional-storage servers, a first set of the erasure-coded fragments, using a fragment pull protocol, each fragment pull request associated with a specific segment; wherein erasure-coding denotes a process in which a sequence of erasure-coded fragments are generated from a segment such that the segment can be reconstructed from essentially any subset of the erasure-coded fragments having minimum size not smaller than the size of the segment; wherein each fractional-storage server configured to store at least one erasure-coded fragment but less than the minimum amount of fragments or data required to reconstruct the segments; requesting a second set of erasure-coded fragments, using the fragment pull protocol, to compensate for the fragments of the first-set that failed to arrive at the assembling device; and while requesting the first set of fragments associated with a certain segment, requesting on-the-fly the second set of fragments associated with a prior segment, wherein the first set of fragments associated with the certain segment and the second set of fragments associated with the prior segment are of essentially the same erasure-coding and therefore can be decoded together. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for retrieving erasure-coded fragments, comprising:
-
requesting, by an assembling device from a plurality of fractional-storage servers, erasure-coded fragments associated with essentially sequential segments of streaming content, using a fragment pull protocol, each fragment pull request associated with a specific segment; wherein erasure-coding denotes a process in which a sequence of erasure-coded fragments are generated from a segment such that the segment can be reconstructed from essentially any subset of the erasure-coded fragments having minimum size not smaller than the size of the segment; wherein each fractional-storage server configured to store at least one erasure-coded fragment but less than the minimum amount of fragments or data required to reconstruct the segments; wherein the fragments are requested, by the assembling device, in the following order;
first, requesting at least one fragment associated with a certain segment, then requesting on-the-fly at least one fragment associated with a prior segment, and then requesting at least one additional fragment associated with the certain segment, wherein the fragments associated with the certain segment and the fragments associated with the prior segment are of essentially the same erasure-coding and therefore can be decoded together. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A device comprising:
- a processor configured to operate a fragment pull protocol to request erasure-coded fragments associated with segments of streaming content from fractional-storage Content Delivery Network (CDN) servers, each fragment pull request associated with a specific segment; and
a buffer configured to store the received fragments; wherein erasure-coding denotes a process in which a sequence of erasure-coded fragments are generated from a segment such that the segment can be reconstructed from essentially any subset of the erasure-coded fragments having minimum size not smaller than the size of the segment; wherein each fractional-storage CDN server configured to store at least one erasure-coded fragment but less than the minimum amount of fragments or data required to reconstruct the segments; the processor is further configured to detect fragments missing from the buffer and needed to reconstruct the segments, and then issue on-the-fly contiguous requests for missing fragments associated with two or more segments in order to prevent the missing fragments associated with one segment from delaying the retrieval of fragments associated with a later segment, wherein the missing fragments associated with the two or more segments are of essentially the same erasure-coding and therefore can be decoded together. - View Dependent Claims (16, 17, 18, 19, 20)
- a processor configured to operate a fragment pull protocol to request erasure-coded fragments associated with segments of streaming content from fractional-storage Content Delivery Network (CDN) servers, each fragment pull request associated with a specific segment; and
Specification