P2P contracts: a framework for resource and service exchange

  • Authors:
  • Dipak Ghosal;Benjamin K. Poon;Keith Kong

  • Affiliations:
  • Department of Computer Science, University of California, Davis, CA;Department of Electrical Engineering and Computer Science, University of California, Berkeley, CA;Shazam Integrated Systems, 2635 Glen Ferguson Circle, San Jose, CA

  • Venue:
  • Future Generation Computer Systems - Special issue: P2P computing and interaction with grids
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A crucial aspect of Peer-to-Peer (P2P) systems is that of providing incentives for users to contribute their resources to the system. Without such incentives, empirical data show that a majority of the participants act as free riders. As a result, a substantial amount of resource goes untapped, and, frequently, P2P systems devolve into client-server systems with attendant issues of performance under high load. We propose to address the free rider problem by introducing the notion of a P2P contract. In it, peers are made aware of the benefits they receive from the system as a function of their contributions. In this paper, we first describe a utility-based framework to determine the components of the contract and formulate the associated resource allocation problem. We consider the resource allocation problem for a flash crowd scenario and show how the contract mechanism implemented using a centralized server can be used to quickly create pseudoservers that can serve out the requests. We then study a decentralized implementation of the P2P contract scheme in which each node implements the contract based on local demand. We show that in such a system, other than contributing storage and bandwidth to serve out requests, it is also important that peer nodes function as application-level routers to connect pools of available pseudoservers. We study the performance of the distributed implementation with respect to the various parameters including the terms of the contract and the triggers to create pseudoservers and routers.