Cooperative content distribution: scalability through self-organization