Avalanche: network coding for large scale content distribution