Skip to Main Content
Large peer-to-peer systems exhibit the presence of communities based on user interests. Resources commonly shared within individual communities are in general relatively less popular and inconspicuous in the system-wide behavior. Hence, such communities are unable to benefit significantly from caching and replication that focus only on the most dominant queries. A community-based caching (CBC) solution that enhances both community-wide and system-wide lookup performance is proposed. CBC consists of a suboverlay formation scheme and a local-knowledge-based distributed caching (LKDC) algorithm. Suboverlays enable communities to forward queries through their members. While queries are forwarded, the LKDC algorithm causes members to identify and cache resources of interests to them, resulting in faster resolution of queries for popular resources within each community. Distributed local caching requires global information (e.g., hop count and popularity of contents) that is difficult and costly to obtain. However, by means of an analysis of globally optimal behavior and structural properties of the overlay, we developed the heuristic-based LKDC algorithm that not only relies on purely local information but also provides close-to-optimal caching performance. CBC is adaptive to changing popularity and user interests, works with any skewed distribution of queries, and introduces minimal modifications and overhead to the overlay network.