Technical Report(Oct 2017)
The user-driven dynamics of peer participation, or churn, are an inherent property of Peer-to-Peer (P2P) systems that should be taken into account in both the design and evaluation of any P2P application. While prior studies have shown that peer participation is highly dynamic, they have not provided detailed models, needed for simulation and analysis. More importantly, it is unclear whether the dynamics of peer participation exhibit a similar behavior across different classes of P2P applications.
In this paper, we present a detailed study of churn in widely-deployed applications from three different classes of P2P systems: an unstructured file-sharing system (Gnutella), a content-distribution system (BitTorrent), and a distributed hash table system (Kad). Our analysis reveals several interesting properties of churn including the followings: (i) the overall dynamics of peer participation is surprisingly similar across these systems, (ii) peer session times and downtimes follow power-law distributions, (iii) peer inter-arrival times follow a Poisson distribution, and (iv) peer session times across consecutive appearances are correlated in file sharing applications. These findings imply that a large portion of participating peers at any point of time are highly stable while the remaining peers turnover very quickly. We show how our findings can be used to simulate churn, and discuss the basic implications of our results on the design of P2P applications.