Methods and systems combining push and pull protocols
First Claim
1. A method comprising:
- receiving, by an assembling device via a push transmission, less than a decodable set of erasure-coded 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 of size not smaller than the size of the segment;
determining the number of additional erasure-coded fragments needed to reach the decodable set of erasure-coded fragments; and
shortly thereafter pulling on-the-fly, by the assembling device, additional erasure-coded fragments usable to decode several segments, each fragment pull request associated with a specific segment, wherein the received erasure-coded fragments and the additional pulled erasure-coded fragments are of essentially the same erasure-coding and therefore the received erasure-coded fragments and the additional pulled erasure-coded fragments can be decoded together.
4 Assignments
0 Petitions
Accused Products
Abstract
Combining push and pull protocols, including the steps of pushing approximately a minimal decodable set of erasure-coded fragments to an assembling device, determining the fragment loss at the assembling device, and pulling additional erasure-coded fragments, using a fragment pull protocol, to compensate for the fragment loss. Optionally, the system includes a CDN streaming server and a fractional-storage CDN server, both storing unique erasure-coded fragments associated with segments of streaming content. The CDN streaming server pushes streams of fragments to a plurality of assembling devices, and the fractional-storage CDN server provides fragments associated with recently pushed segments in response to fragment pull protocol requests by the assembling devices.
32 Citations
20 Claims
-
1. A method comprising:
- receiving, by an assembling device via a push transmission, less than a decodable set of erasure-coded 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 of size not smaller than the size of the segment;determining the number of additional erasure-coded fragments needed to reach the decodable set of erasure-coded fragments; and shortly thereafter pulling on-the-fly, by the assembling device, additional erasure-coded fragments usable to decode several segments, each fragment pull request associated with a specific segment, wherein the received erasure-coded fragments and the additional pulled erasure-coded fragments are of essentially the same erasure-coding and therefore the received erasure-coded fragments and the additional pulled erasure-coded fragments can be decoded together. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- receiving, by an assembling device via a push transmission, less than a decodable set of erasure-coded fragments;
-
12. A system comprising:
- a Content Delivery Network (CDN) streaming server and a fractional-storage CDN server, both configured to store unique erasure-coded fragments associated with segments of streaming content;
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 of size not smaller than the size of the segment, and the fractional-storage CDN server configured to store at least one erasure-coded fragment but less than the minimum data required to reconstruct the segments;the CDN streaming server is configured to push streams of the stored fragments, which are associated with the segments of streaming content, to a plurality of assembling devices; and the fractional-storage CDN server is configured to provide on-the-fly fragments associated with recently pushed segments in response to fragment pull protocol requests transmitted by the assembling devices, each fragment pull request associated with a specific segment, wherein the received erasure-coded fragments and the additional pulled erasure-coded fragments are of essentially the same erasure-coding and therefore the received erasure-coded fragments and the additional pulled erasure-coded fragments can be decoded together. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
- a Content Delivery Network (CDN) streaming server and a fractional-storage CDN server, both configured to store unique erasure-coded fragments associated with segments of streaming content;
Specification