Strategies of Collaboration in Multi-Swarm Peer-to-Peer Content Distribution
In modern Peer-to-Peer (P2P) content distribution applications, multiple swarms typically exist, each corresponding to the dissemination of one content among interested peers. A common design in the existing P2P applications is to allow peers in one swarm to help each other, while different swarms are only coupled when sharing the upload bandwidth at the dedicated content servers/publishers. In recent years, a number of proposals have emerged which advocate inter-swarm collaboration and resource sharing, where peers in one swarm may contribute their storage and bandwidth resources to help peers in the swarm of another content. Such inter-swarm collaboration can improve content availability and optimize resource utilization in the entire system, at the cost of additional overhead for content preloading and inter-swarm coordination. This paper presents a survey of studies on effective inter-swarm collaboration mechanisms in the existing literature. This paper first discusses strategies of collaboration in P2P file sharing applications, and then presents multi-channel collaborative design for P2P live and Video-on-Demand (VoD) streaming. In particular, this paper elaborates our recent design of collaboration strategies among multiple streaming channels in a P2P VoD system, and shows that the server cost can be reduced by up to 25% while high streaming qualities are guaranteed in the entire system, even during extreme scenarios such as unexpected flash crowds. This paper also discusses representative approaches to implement inter-swarm collaborations in various P2P content distribution systems.