Network Coding for Large Scale Content Distribution
Pablo Rodriguez Rodriguez
Up until recently, content distribution solutions consisted on placing
dedicated equipment at certain places inside or at the edge of the
Internet. The best example of such solutions is Akamai, which runs
several tens of thousands of servers all over the world. However, in
recent years, a new paradigm for Content Distribution has emerged based
on a fully distributed architecture where commodity PCs are used to form
a cooperative network and share their resources (storage, CPU,
bandwidth).
The best example of an end-system cooperative architecture is the
BitTorrent system. BitTorrent became extremely popular as a way of
delivering the Linux distributions. BitTorrent works in the background
of a Web browser, assisting with the uploading and downloading of files.
We propose a new scheme for end-system content distribution of large
files that is based on network coding. With network coding, each node of
the distribution network is able to generate and transmit encoded blocks
of information. This is particularly important in large unstructured
overlay networks, where the nodes need to make decisions based on local
information only.
We compare network coding to other schemes that transmit unencoded
information (i.e. blocks of the original file) and, also, to schemes in
which only the source is allowed to generate and transmit encoded
packets (e.g. Digital Fountain). We demonstrate the benefits of network
coding under several realistic settings, and show that it can
significantly outperform existing solutions for end-system content
distribution.
|