-HF
06-17-05, 11:55 AM
Avalanche provides a cost effective, internet scalable and very fast file distribution solution (e.g. for TV on-demand, patches, software distribution). By leveraging desktop PCs, Avalanche aids in the distribution process, relieving congested servers and network links from most of the traffic.
Existing P2P file delivery systems use swarming techniques to simultaneously obtain different pieces of a file from multiple nodes. One problem of such systems is that as the number of receivers increases it becomes harder to do optimal scheduling of pieces to nodes. One possible solution is to use a heuristic that prioritizes exchanges of "locally rarest" pieces. But such local-rarest policies often fail to identify the "globally rarest" piece since peers have a limited view of the network. The end result is slower downloads, stalled transfers, etc.
Avalanche fixes these problems using network coding. Instead of distributing the blocks of the file, peers produce linear combinations of the blocks they already hold. Such combinations are distributed together with a tag that describes the parameters in the combination. Any peer can generate new unique combinations from the combinations it already has. When a peer has enough independent combinations, it can decode and build the original file.
Such encoding ensures that any piece uploaded by a given peer can be of use to any other peer. Peers do not need to find specific pieces in the system to complete, any encoded piece will suffice. This makes the system very robust as peers disconnect. Also, no peer becomes a bottleneck, since no block is more important than another. Finally, network bandwidth is considerably reduced since the same information does not travel multiple times over bottleneck links.
source (http://research.microsoft.com/~pablo/avalanche.htm)
more detailed info as .PDF (http://www.research.microsoft.com/~pablo/papers/nc_contentdist.pdf)
Existing P2P file delivery systems use swarming techniques to simultaneously obtain different pieces of a file from multiple nodes. One problem of such systems is that as the number of receivers increases it becomes harder to do optimal scheduling of pieces to nodes. One possible solution is to use a heuristic that prioritizes exchanges of "locally rarest" pieces. But such local-rarest policies often fail to identify the "globally rarest" piece since peers have a limited view of the network. The end result is slower downloads, stalled transfers, etc.
Avalanche fixes these problems using network coding. Instead of distributing the blocks of the file, peers produce linear combinations of the blocks they already hold. Such combinations are distributed together with a tag that describes the parameters in the combination. Any peer can generate new unique combinations from the combinations it already has. When a peer has enough independent combinations, it can decode and build the original file.
Such encoding ensures that any piece uploaded by a given peer can be of use to any other peer. Peers do not need to find specific pieces in the system to complete, any encoded piece will suffice. This makes the system very robust as peers disconnect. Also, no peer becomes a bottleneck, since no block is more important than another. Finally, network bandwidth is considerably reduced since the same information does not travel multiple times over bottleneck links.
source (http://research.microsoft.com/~pablo/avalanche.htm)
more detailed info as .PDF (http://www.research.microsoft.com/~pablo/papers/nc_contentdist.pdf)