PatentVC Ltd. Patent applications |
Patent application number | Title | Published |
20110055420 | Peer-assisted fractional-storage streaming servers - A system including a plurality of fractional-storage servers and a plurality of peer-to-peer devices. Substantially each of the servers and peer-to-peer devices stores less than a minimum amount of erasure-coded fragments needed to decode segments of streaming content. The system delivers at least the minimum amount of erasure-coded fragments needed to decode the segments of streaming content, from any group of the servers, or group of the servers plus peer-to-peer devices, that together store at least the minimum amount of erasure-coded fragments needed to decode the segments of streaming content. Optionally, the system supplements streaming capabilities of the servers during peak traffic periods by sending erasure-coded fragments stored on the peer-to-peer devices during the peak traffic periods. | 03-03-2011 |
20100241708 | METHODS AND SYSTEMS FOR PUSH-TO-STORAGE - Methods and systems for storing a plurality of content fragments in a plurality of storage-and-computing elements according to a plurality of storage element types that are associated with the storage-and-computing elements. | 09-23-2010 |
20100095184 | Obtaining Erasure-Coded Fragments Using Push and Pull Protocols - Obtaining erasure-coded fragments using push and pull protocols, including the steps of receiving a first set of erasure-coded fragments associated with segments via a transmission using push protocol, whereby the first set is not sufficient for reconstructing some of the segments; and retrieving a second set of erasure-coded fragments using a fragment pull protocol, wherein the first and the second sets together are sufficient for reconstructing the segments. | 04-15-2010 |
20100095016 | Methods and systems capable of switching from pull mode to push mode - Methods and systems capable of switching from pull mode to push mode. The system includes fractional-storage servers using a push protocol to push erasure-coded fragments associated with segments of streaming contents to assembling devices. The servers also provide fragments associated with segments of the same contents in response to fragment pull protocol requests from the assembling devices, wherein enough fragments to enable reconstruction of the segments are transmitted by the servers to the assembling devices using both protocols. | 04-15-2010 |
20100095015 | Methods and systems for bandwidth amplification using replicated fragments - Bandwidth amplification using replicated fragments, including fractional-storage CDN servers storing erasure-coded fragments associated with content; and bandwidth amplification devices storing copies of sub-sets of the fragments stored on the servers in order to increase the system's total fragment delivery bandwidth. Wherein the average bandwidth amplification device comprises much less storage space and bandwidth than the average server, and the content can be reconstructed from any combination of enough unique fragments regardless of whether these fragments were obtained from the servers or from the bandwidth amplification devices. | 04-15-2010 |
20100095014 | Methods and systems for distributing pull protocol requests via a relay server - Distributing pull protocol requests via a relay server and thereby reducing the number of outgoing packets used by a fragment pull protocol, including the steps of aggregating, by an assembling device, a plurality of fragment pull protocol requests into an aggregated message; transmitting the aggregated message to a relay server, whereby the relay server distributes the requests to at least two fractional-storage servers; and receiving, by the assembling device from the at least two fractional-storage servers, a plurality of fragments in response to the aggregated message. | 04-15-2010 |
20100095013 | Fault Tolerance in a Distributed Streaming System - 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. | 04-15-2010 |
20100095012 | Fast retrieval and progressive retransmission of content - Fast retrieval and progressive retransmission of content, including the steps of obtaining erasure-coded fragments by an assembling server from fractional-storage CDN servers; reconstructing a streaming content file from the obtained fragments; and streaming the reconstructed content or a transcoded version of the content by the assembling server to a client device. Wherein most of the fractional-storage CDN servers are located close to or on the Internet backbone, and streaming the reconstructed content takes at least an order of magnitude longer than obtaining the fragments and reconstructing the content. | 04-15-2010 |
20100095004 | Balancing a distributed system by replacing overloaded servers - Load-balancing a distributed system by replacing overloaded servers, including the steps of retrieving, by an assembling device using a fragment pull protocol, erasure-coded fragments associated with segments, from a set of fractional-storage servers. Occasionally, while retrieving the fragments, identifying at least one server from the set that is loaded to a degree requiring replacement, and replacing, using the fragment pull protocol, the identified server with a substitute server that is not loaded to the degree requiring replacement. Wherein the substitute server and the remaining servers of the set are capable of delivering enough erasure-coded fragments in the course of reconstructing the segments. | 04-15-2010 |
20100094986 | Source-selection based Internet backbone traffic shaping - Source-selection based Internet backbone traffic shaping, including the steps of assessing a large number of network paths through which erasure-coded fragments usually flow when transmitted from a large number of relevant fractional-storage CDN servers to an assembling device; accessing preferences for fragment delivery via many of the paths; and selecting the servers whose assessed paths fit well the preferences for fragment delivery to the assembling device. Wherein the servers are accessed via the Internet, not all servers are connected to the Internet via the same networks, and the erasure-coded fragments are encoded with a redundancy factor greater than one from contents. | 04-15-2010 |
20100094975 | Adaptation of data centers' bandwidth contribution to distributed streaming operations - Adaptation of data centers' bandwidth contribution to distributed streaming operations, including data centers comprising fractional-storage CDN servers storing erasure-coded fragments encoded with a redundancy factor R greater than one, assembling devices obtaining the fragments from subsets of the servers, and measuring fragment delivery parameters, and at least one decision component that occasionally changes at least some of the servers of the subsets to generally improve the measured parameters. Wherein the smaller the number of subsets in which the servers of a data center participate, the lower the center's fragment delivery throughput, the higher the center's cost of delivering a fragment, and the higher the likelihood of reducing the amount of bandwidth acquired from that data center by the operator of the system. | 04-15-2010 |
20100094974 | Load-balancing an asymmetrical distributed erasure-coded system - Load-balancing an asymmetrical distributed erasure-coded system including fractional-storage CDN servers, storing, at a high storage gain, erasure-coded fragments encoded with a redundancy factor greater than one from segments, and a plurality of assembling devices, each obtaining fragments from a subgroup of the servers. The subgroups are selected from the servers still capable of increasing their fragment delivery throughput. Wherein not all of the servers have the same fragment delivery bandwidth capability, and the storage gain of each segment on each server is usually not strictly proportional to the bandwidth capability of the server, and the aggregated throughput used by the servers to deliver fragments may approach the aggregated bandwidth capabilities of the servers. | 04-15-2010 |
20100094973 | Random server selection for retrieving fragments under changing network conditions - 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. | 04-15-2010 |
20100094972 | Hybrid distributed streaming system comprising high-bandwidth servers and peer-to-peer devices - Hybrid distributed streaming system comprising high-bandwidth servers and peer-to-peer devices. The system includes fractional-storage CDN servers storing a first portion of rateless-coded fragments; and bandwidth amplification devices having a significantly smaller storage space and bandwidth compared to the servers, and storing a second portion of the fragments. Wherein both portions comprise unique rateless-coded fragments encoded with a high redundancy factor from streaming contents, the second portion is much larger than the first portion, and the first portion comprises approximately enough fragments to reconstruct the streaming contents. | 04-15-2010 |
20100094971 | Termination of fragment delivery services from data centers participating in distributed streaming operations - Termination of fragment delivery services from data centers participating in distributed streaming operations, including the steps of monitoring a large-scale streaming system including a plurality of data centers comprising together a large quantity of fractional-storage CDN servers storing erasure-coded fragments encoded with a redundancy factor R greater than one and associated with approximately sequential segments of streaming contents. Identifying a data center that is still capable of delivering a substantial fragment throughput but is underperforming compared to the other centers, wherein the servers of the center store less than (1−1/R) of the fragments associated with each segment to be reconstructed. And terminating the fragment delivery service of the identified data center while maintaining continuous streaming of the contents by diverting traffic from the terminated center to the remaining centers. | 04-15-2010 |
20100094970 | Latency based selection of fractional-storage servers - Latency based selection of fractional-storage servers, including the steps of identifying a first group of fractional-storage servers estimated to have low response latencies in relation to an assembling device. Retrieving, by the assembling device from a second group of fractional-storage servers, enough erasure-coded fragments for reconstructing approximately sequential segments of streaming content. While retrieving the fragments, identifying at least one server from the second group having latency higher than a certain threshold in response to a fragment pull protocol request. And using the fragment pull protocol to replace the identified server with at least one server selected from the first group. | 04-15-2010 |
20100094969 | Reduction of Peak-to-Average Traffic Ratio in Distributed Streaming Systems - Reduction of peak-to-average traffic ratio in distributed streaming systems, including a large number of fractional-storage CDN servers accessed via the Internet, and storing erasure-coded fragments encoded with a redundancy factor greater than one from streaming contents, and a very large number of assembling devices obtaining the fragments from the servers in order to reconstruct the streaming contents. The assembling devices are spread over different time zones spanning at least three hours and balance the bandwidth load between the servers. | 04-15-2010 |
20100094968 | Methods and Systems Combining Push and Pull Protocols - 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. | 04-15-2010 |
20100094967 | Large Scale Distributed Content Delivery Network - A large scale distributed streaming system including at least several hundreds of fractional-storage CDN servers located close to or on the Internet backbone, storing erasure-coded fragments encoded with a redundancy factor greater than one and associated with approximately sequential segments of streaming contents. The system further includes at least 100,000 assembling devices configured to concurrently obtain fragments from the CDN servers. Wherein the system achieves efficient load balancing and fault tolerance between the various CDN servers by determining for each of the assembling devices from which servers to obtain the fragments. | 04-15-2010 |
20100094966 | Receiving Streaming Content from Servers Located Around the Globe - 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 of 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. | 04-15-2010 |
20100094965 | Erasure-coded content assembly and retransmission - Methods and systems for erasure-coded content assembly and retransmission, including assembling servers located at or close to edges of the Internet and spread over a wide area, fractional-storage CDN servers located close to or on the Internet backbone, and client devices spread over a wide area. Each assembling server obtains from the CDN servers erasure-coded fragments associated with segments of streaming content according to an order that enables the assembling server to start streaming the content to its associated clients shortly after reconstructing the first segment. | 04-15-2010 |
20100094964 | Methods and devices for obtaining a broadcast-like streaming content - Obtaining a broadcast-like streaming content by an assembling device from a distributed storage. The assembling device obtains erasure-coded fragments associated with sequential segments of streaming content from fractional-storage servers, approximately at the same rate that the fragments are being stored on the servers and shortly after the fragments are stored. And wherein the streaming content is segmented, encoded into the fragments, and stored on the servers progressively as the streaming content is made available. | 04-15-2010 |
20100094963 | Methods and systems for broadcast-like effect using fractional-storage servers - Methods and systems for broadcast-like effect using fractional-storage servers that receive and store erasure-coded fragments, which are generated on-the-fly from segments of streaming content arriving in real-time. Shortly thereafter, assembling devices obtain the fragments and reconstruct the segments at a rate that allows approximately real-time presentation of the streaming content including the segments. | 04-15-2010 |
20100094962 | Internet backbone servers with edge compensation - Internet backbone servers with edge compensation and a corresponding assembling device for obtaining erasure-coded fragments from at least one of the Internet backbone servers. Upon a fragment loss, the assembling device uses a fragment pull protocol to retrieve a substitute erasure-coded fragment from a nearby fractional-storage CDN server having low latency in response to the assembling device. | 04-15-2010 |
20100094961 | Methods and systems for requesting fragments without specifying the source address - A content delivery system which supports fragment requests without specifying the source address, including an assembling device, a relay server, and fractional-storage servers. The assembling device issues a client-request to receive enough erasure-coded fragments to reconstruct a portion of streaming content. The relay server receives the client-request, selects a plurality of fractional-storage servers that together store enough fragments to reconstruct the portion, and transmits, to the fractional-storage servers, fragment pull protocol requests for these sufficient fragments, on behalf of the assembling device. And the fractional-storage servers transmit the requested fragments to the assembling device in response to the fragment requests. | 04-15-2010 |
20100094960 | Methods and devices for controlling the rate of a pull protocol - Methods and devices for controlling the rate of a pull protocol, including the steps of requesting, from a plurality of fractional-storage servers by an assembling device utilizing a fragment pull protocol, erasure-coded fragments at a first rate that is estimated to approximately result in a target fragment reception throughput. And requesting, by the assembling device, additional erasure-coded fragments instead of fragments that have already been requested but have failed to arrive at the assembling device. | 04-15-2010 |
20100094959 | Hybrid open-loop and closed-loop erasure-coded fragment retrieval process - 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. | 04-15-2010 |
20100094958 | Systems and methods for aggregating erasure-coded fragments - A distributed storage system including fractional-storage servers storing erasure-coded fragments associated with approximately sequential segments of streaming content, and an assembling device issuing aggregated fragment requests, each approximately per short portion of content, approximately according to the order of processing of the content, by using a data structure describing multiple fragment requests; wherein the number of aggregated fragment requests is significantly smaller than the number of the fragments received form the servers in response to the requests. | 04-15-2010 |
20100094957 | Methods and systems for fast segment reconstruction - Fast segment reconstruction from erasure-coded fragments, including the steps of requesting, by an assembling device using a fragment pull protocol, from a plurality of fractional-storage servers, a first quantity of erasure-coded fragments associated with one or more segments of streaming content; the first quantity of fragments is requested approximately according to the sequential order of the segments, and the first quantity of fragments is more than the minimal quantity of fragments needed for reconstructing the one or more segments. And receiving, by the assembling device, a second decodable quantity of fragments as a response; whereby the second quantity of fragments may be smaller than the first quantity due to a failure condition. | 04-15-2010 |
20100094956 | Maximum bandwidth Broadcast-like streams - Methods and systems for maximum bandwidth broadcast-like streams, including a plurality of assembling devices; each assembling device retrieves, approximately simultaneously, erasure-coded fragments from a plurality of fractional-storage CDN servers, whereby the broadcast-like streaming contents are reconstructed from the fragments, and wherein different mixtures of broadcast-like streaming contents can be retrieved by the assembling devices until the aggregated bandwidth used by the assembling devices to retrieve the fragments approaches the aggregated fragment delivery bandwidth capabilities of the servers. | 04-15-2010 |
20100094955 | Methods and systems for using a distributed storage to its maximum bandwidth - Using a distributed storage to its maximum bandwidth including the following steps: for each group of at least one assembling device, selecting a subgroup of fractional-storage CDN servers according to at least one criterion, whereby a plurality of server subgroups are selected for a plurality of assembling device groups. And retrieving, using a pull protocol, by the assembling devices from the subgroups of servers, erasure-coded fragments associated with multiple segments of contents, until the aggregated bandwidth used for retrieving the fragments approaches the aggregated bandwidth of the servers included in the subgroups, and as long as the aggregated bandwidth used for delivering each segment does not exceed the aggregated bandwidth of the servers storing the fragments generated from the segment. | 04-15-2010 |
20100094950 | Methods and systems for controlling fragment load on shared links - Controlling fragment load on shared links, including a large number of fractional-storage CDN servers storing erasure-coded fragments encoded with a redundancy factor greater than one from contents, and a large number of assembling devices configured to obtain the fragments from sub-sets of the servers. At least some of the servers share their Internet communication link with other Internet traffic, and the fragment traffic via the shared link is determined by the number of sub-sets in which the servers accessed via the shared link participate. Wherein the maximum number of sub-sets in which the servers accessed via the shared link are allowed to participate is approximately a decreasing function of the throughput of the other Internet traffic via the shared link. | 04-15-2010 |
20090106802 | Methods and systems for streaming from a distributed storage system - Methods and systems for streaming from a distributed storage system. One method comprising the steps of receiving a content to be streamed or progressively downloaded; striping the content into small content fragments; distributing the content fragments to storage-and-computing elements according to a fragment distribution information prior to retrieving the content fragments from the storage-and-computing elements; obtaining the fragment distribution information by a retrieving storage-and-computing element; utilizing the fragment distribution information for determining from which of the storage-and-computing elements to retrieve, and retrieving the content fragments from the determined storage-and-computing elements so as to enable approximately instantaneous playing of the streaming content. | 04-23-2009 |
20090106511 | Methods and systems for fragments retrieval from a type based push to storage system - Methods and systems for fragments retrieval from a type based push to storage system. One method includes the steps of receiving fragment-to-type association information and type-to-physical-address association information of a content comprising a plurality of content fragments distributed among a plurality of storage-and-computing elements; and providing at least one storage-and-computing element physical address for each of the content fragments to be retrieved. | 04-23-2009 |
20090106451 | Methods and systems for boosting streaming from a distributed storage system - Methods and systems for retrieving content fragments stored in a distributed storage and retrieval system comprising a plurality of storage-and-computing elements. One method comprising, for each content fragment: determining the storage element type that stores the content fragment; determining a first storage-and-computing element physical address from which to retrieve the content fragment; and retrieving the content fragment from the storage-and-computing element located at the first physical address. Then repeating the retrieving of the content fragments, utilizing approximately the maximum available downlink bandwidth, until a minimal streaming buffer required for enabling the playing of a streaming or progressive download content is filled. | 04-23-2009 |
20090106441 | Methods for high bandwidth utilization by a distributed storage system - Methods for high bandwidth utilization by a distributed storage system. One method comprising accessing a plurality of storage-and-computing elements distributively storing a plurality of content fragments belonging to ‘N’ contents, wherein at least most of the ‘N’ contents are associated with different retrieving functions and the retrieving functions have low correlations; retrieving the content fragments by assembling storage-and-computing elements, wherein at least most of the assembling storage-and-computing elements assemble different contents; and adding assembling storage-and-computing elements up to a point where the aggregated consumption rate of the contents consumed by the assembling storage-and-computing elements approaches the aggregated uplink throughput of all participating storage-and-computing elements. | 04-23-2009 |
20090106425 | Distributed push-to-storage system with redundancy - Methods and systems for distributed push-to-storage with redundancy. One method includes the steps of setting at least two storage groups according to a required storage redundancy; registering a plurality of peer-to-peer devices; associating the peer-to-peer devices with at least one of the storage groups; receiving a first content having a large size to be stored in the at least two storage groups; fragmenting the first content into a plurality of first content fragments having a small size; and distributing the first content fragments approximately homogenously between the peer-to-peer devices associated with each storage group according to a first distribution function associated with each storage group. | 04-23-2009 |
20090106392 | Push to storage network enabling fast start - Methods and systems for distributed storage and retrieval systems comprising a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments and able to simultaneously retrieve pushed content fragments from a plurality of storage-and-computing elements. Wherein many storage-and-computing elements, within a short duration of receiving a request, can retrieve and play streaming content. | 04-23-2009 |
20090106386 | Methods and systems for pushing content fragments into a distributed storage system - Methods and systems for pushing content fragments into a distributed storage system, comprising registering a plurality of storage-and-computing elements that are accessed using Internet protocol; associating the plurality of storage-and-computing elements with a plurality of storage element types; and distributing content fragments to the storage-and-computing elements utilizing a predefined distribution function that maps content fragments to storage element types. | 04-23-2009 |
20090106269 | Distributed storage system with high bandwidth utilization - A distributed storage system comprising a plurality of storage-and-computing elements, each storing a plurality of small content fragments associated with a plurality of contents, wherein a content retrieval load is shared between the storage-and-computing elements such that approximately the total uplink bandwidth of the distributed storage system can be utilized, on a continuous basis, by virtually any combination of multiple storage-and-computing elements simultaneously retrieving many contents or retrieving the same content with different time shifts. | 04-23-2009 |