Peer-to-peer (P2P) technology allows us to create self-organising and scalable systems. The distributed nature of these systems requires a solution for finding interesting peers. In the context of P2P file sharing, finding peers who are downloading the same file is referred to as
...
Peer-to-peer (P2P) technology allows us to create self-organising and scalable systems. The distributed nature of these systems requires a solution for finding interesting peers. In the context of P2P file sharing, finding peers who are downloading the same file is referred to as the swarm discovery problem. In BitTorrent, this problem is solved using a central server, called a tracker. This central component hinders the scalability of BitTorrent. We have designed a distributed swarm discovery algorithm, called 2-Hop TorrentSmell. It is composed of two parts. The first part builds on top of an existing keyword search system to find peers who have recently downloaded a certain file. The second part consists of an algorithm called RePEX, which allows a peer to stay in touch with swarms it is no longer in by periodically recontacting previously encountered swarm members. Our RePEX algorithm leverages a widely used BitTorrent extension for swarm discovery called PEX. We have conducted a study to understand the reliability and usability of PEX to optimize the design of our solution. We have implemented the RePEX part of 2-Hop TorrentSmell as an addition to the Tribler P2P network. For the evaluation of our RePEX algorithm, we have tested it on the 10 largest swarms on a public tracker. In addition, we have deployed the algorithm in a beta version of Tribler and let it run on swarms the user has downloaded from. Evaluation results show our algorithm is scalable and effective in popular swarms.