Fault tolerance in a distributed streaming system
First Claim
Patent Images
1. A distributed system comprising:
- fractional-storage CDN servers configured to store erasure-coded fragments associated with segments of streaming contents;
each fractional-storage CDN server further configured to deliver fragments, essentially concurrently, at a certain fragment delivery throughput, to a plurality of assembling devices as replies to fragment pull protocol requests by the plurality of assembling devices, each fragment pull protocol request associated with a specific segment;
the a total outgoing bandwidth of the fractional-storage CDN servers divided by a number of the fractional-storage CDN servers is at least 100 times a total outgoing bandwidth of the plurality of assembling devices divided by a number of the plurality of assembling devices;
each fractional-storage CDN server further configured to store less than a minimum amount of erasure-coded fragments needed to decode the stored erasure-coded fragments;
wherein a reduction in the certain fragment delivery throughput of one of the fractional-storage CDN servers triggers a process in which other fractional-storage CDN servers increase their certain fragment delivery throughput as a reaction to the fragment pull protocol requests, to compensate for the reduced certain fragment delivery throughput; and
wherein the increased certain fragment delivery throughput on each of the other fractional-storage CDN servers as the reaction to the fragment pull protocol requests from a single assembling device is smaller than the certain fragent delivery throughput at which the fractional-storage CDN server already serves the plurality of devices with the erasure-coded fragments.
4 Assignments
0 Petitions
Accused Products
Abstract
Fault tolerance in a distributed streaming system including fractional-storage CDN servers storing erasure-coded fragments encoded with a redundancy factor greater than one from segments of streaming contents. Each server delivers fragments, at a certain fragment delivery throughput, to multiple assembling devices using a fragment pull protocol, wherein a reduction in the fragment delivery throughput of one of the servers triggers a process in which at least some of the other servers approximately immediately increase their fragment delivery throughput as a reaction to the fragment pull protocol, to compensate for the reduced throughput.
-
Citations
19 Claims
-
1. A distributed system comprising:
-
fractional-storage CDN servers configured to store erasure-coded fragments associated with segments of streaming contents; each fractional-storage CDN server further configured to deliver fragments, essentially concurrently, at a certain fragment delivery throughput, to a plurality of assembling devices as replies to fragment pull protocol requests by the plurality of assembling devices, each fragment pull protocol request associated with a specific segment; the a total outgoing bandwidth of the fractional-storage CDN servers divided by a number of the fractional-storage CDN servers is at least 100 times a total outgoing bandwidth of the plurality of assembling devices divided by a number of the plurality of assembling devices; each fractional-storage CDN server further configured to store less than a minimum amount of erasure-coded fragments needed to decode the stored erasure-coded fragments; wherein a reduction in the certain fragment delivery throughput of one of the fractional-storage CDN servers triggers a process in which other fractional-storage CDN servers increase their certain fragment delivery throughput as a reaction to the fragment pull protocol requests, to compensate for the reduced certain fragment delivery throughput; and wherein the increased certain fragment delivery throughput on each of the other fractional-storage CDN servers as the reaction to the fragment pull protocol requests from a single assembling device is smaller than the certain fragent delivery throughput at which the fractional-storage CDN server already serves the plurality of devices with the erasure-coded fragments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
pulling erasure-coded fragments associated with segments of streaming content from fractional-storage CDN servers by an assembling device, each fragment pull request associated with a specific segment, wherein a total outgoing bandwidth of the fractional-storage CDN servers divided by a number of the fractional-storage CDN servers is at least 100 times a total outgoing bandwidth of a plurality of assembling devices divided by a number of the plurality of the assembling devices, and wherein the assembling device is configured to pull fragments from at least two of the fractional-storage CDN servers to enable decoding of the pulled fragments; while pulling the fragments, identifying a fractional-storage CDN server that has failed to respond with an erasure-coded fragment to at least one of the fragment pull requests; thereafter, replacing, using the fragment pull protocol, the identified fractional-storage CDN server with a substitute fractional-storage CDN server storing relevant erasure-coded fragments, wherein the substitute server provides erasure-coded fragments to the plurality of assembling devices and has an outgoing bandwidth of at least 100 times the total outgoing bandwidth of the plurality of assembling devices divided by the number of the plurality of assembling devices; and wherein replacing the fractional-storage CDN servers does not essentially affect an ongoing presentation of the streaming content by the pulling assembling device because of a high outgoing bandwidth of the substitute server. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A streaming system comprising:
-
a plurality of fractional-storage CDN servers accessed via public Internet, each configured to store erasure-coded fragments associated with segments of streaming contents but less than a minimum amount of the erasure-coded fragments needed to decode the stored erasure-coded fragments, and configured to serve a plurality of assembling devices essentially concurrently, wherein a total outgoing bandwidth of the fractional-storage CDN servers divided by a number of the fractional-storage CDN servers is at least 100 times a total outgoing bandwidth of the plurality of assembling devices divided by a number of the plurality of assembling devices; a the plurality of assembling devices, each configured to pull the erasure-coded fragments from at least two of the plurality of fractional-storage CDN servers to enable decoding of the pulled erasure-coded fragments for video streaming purposes, and each fragment pull request being associated with a specific segment; wherein the plurality of assembling devices are further configured to use the fragment pull requests, while retrieving the erasure-coded fragments, to replace a fractional-storage CDN server that is unable to maintain a desired level of fragment delivery with a substitute high-bandwidth server; and an increased throughput on the substitute high-bandwidth server as a reaction to the fragment pull requests from a single assembling device is smaller than a throughput at which the substitute high-bandwidth server already serves the plurality of assembling devices with fragments, and therefore substantially does not affect the service provided to the already served plurality of assembling devices. - View Dependent Claims (17, 18, 19)
-
Specification