Back to results
US 8,819,260 B2Granted
Random server selection for retrieving fragments under changing network conditions
AssigneeAster Risk Management LLC
InventorsGal Zuckerman, Gil Thieberger
Life of this patent
Estimating the term…
Abstract
An assembling device obtaining enough erasure-coded fragments from fractional-storage CDN servers for reconstructing a first set of segments including at least one segment. The communication between the assembling device and the servers is subject to at least one type of communication fault, and the assembling device handles the communication faults by approximately randomly selecting on-the-fly servers from which to obtain additional fragments instead of fragments that failed to be obtained.
Claims20
A method for retrieving fragments, comprising:
- requesting by an assembling device from a first set of servers erasure-coded fragments usable to decode a first nonempty set of erasure-coded segments;
- the first set of servers configured to have an aggregated bandwidth significantly greater than incoming bandwidth of the assembling device, configured to store enough of the erasure-coded fragments to have a redundancy factor greater than one, and each of the servers in the first set configured to store at least one erasure-coded fragment but less the minimum data required to reconstruct the first nonempty set of erasure-coded segments;
- controlling the requested fragment rate, by the assembling device, using a fragment pull protocol;
- on-the-fly and while requesting the fragments, selecting randomly or pseudo randomly at least one server from a second set of servers storing fragments usable to reconstruct the first nonempty set of erasure-coded segments;
- and
- shortly thereafter requesting on-the-fly, by the assembling device from the at least one randomly selected server, additional fragments instead of fragments that failed to be retrieved.
3 more elements
An apparatus comprising:
- an assembling device configured to obtain essentially concurrently from a plurality of servers erasure-coded fragments usable to reconstruct a first nonempty set of segments;
- the assembling device is further configured to obtain from each server an amount of fragments per second relative to the server's fragment delivery bandwidth;
- and
- on-the-fly and while obtaining the fragments, the assembling device is further configured to randomly or pseudo randomly select at least one server operative to store fragments usable to reconstruct the first set of segments and obtain from the at least one selected server additional fragments instead of fragments that failed to be obtained.
1 more element
A system comprising:
- assembling devices and servers;
- each server configured to store erasure-coded fragments associated with segments of streaming content and concurrently service, via the Internet, at least hundreds of assembling devices with at least some of the fragments;
- the assembling devices configured to obtain erasure-coded fragments usable to reconstruct segments from selected sub-sets of the servers while each server of the sub-set configured to store less than the minimal data needed to reconstruct the obtained fragments;
- and
- while obtaining the fragments associated with the streaming content, the system configured to occasionally reselect at least one of the sub-sets of the servers randomly or pseudo randomly in order to handle communication fault between at least one of the assembling devices and servers.
2 more elements
Dependencies are inferred from the claim text.