Handling churn in less-structured P2P systems

Motivation and Approach

Peer-to-peer (P2P) computing can be defined as the sharing of computer resources and services by direct exchange between the participating nodes. Since Napster's introduction in the late 90s, the area has received increasing attention from the research community and the general public.

Due in part to the autonomous nature of peers, their mutual dependency, and their astoundingly large populations, the transiency of peers (a.k.a. churn) and its implications on the overall system's performance have recently attracted the attention of the community. Measurement studies of deployed P2P systems have reported median session times - the time from the node's joining to its subsequent leaving from the system - varying from one hour to one minute. The implication of such levels of churn on the overall system's performance is directly related to the degree of peers' investment in their neighbors. At the very least, the amount of maintenance-related messages processed by any node would be a function of the stability of the node's neighboring set. Beyond this, and in the context of content distribution and data sharing P2P systems, the degree of replication, the effectiveness of caches, and the spread and satisfaction level of queries will all be affected by how dynamic the peers' population ultimately is.

To address this challenge, we have proposed a number of illustrative query-related strategies and organizational protocols that, by taking into consideration the expected session times of peers (their lifespans), yield systems with performance characteristics more resilient to the natural instability of their environments.