General-purpose peer-to-peer infrastructure

Bartlett S. H. Michel, Peter L. Reiher, Mário Gerla · 2004

Networked peer-to-peer computing is fast becoming the dominant model for future services and the distributed systems based on those services. The peer-to-peer model is attractive because it eliminates specific service roles, such as “client” and “server,” shifting the emphasis to the interaction between the participants. One peer is equally capable as any other peer to act as a client making requests for resources and a server offering resources and fulfilling requests. General-purpose peer-to-peer infrastructure has been a largely unaddressed problem. Infrastructures have been proposed that provide efficient solutions to implementing specific peer-to-peer services, such as distributed object location, application-level multicasting and event distribution. However, not all future peer-to-peer services can be characterized as belonging to these three problem domains. A designer should not have to bend a service's implementation to match an infrastructure's design; rather, the infrastructure should adapt to the service's needs. This dissertation proposes a general-purpose infrastructure that fully addresses these problems and requirements. A service designer has three fundamental problems that must be solved to create a distributed peer-to-peer service: peer overlay network construction, resource discovery and message-forwarding. A general-purpose infrastructure defines a framework for providing these three fundamental functions; the framework should also foster extensibility and interchangeability of the components that implement each function. A Forwarding Layer for Application-level Peer-to-Peer Services (FLAPPS) is the general-purpose infrastructure proposed in this dissertation that provides these three functions as a sublayer at the network stack's application level. FLAPPS provides peer overlay network construction, resource discovery through routing protocols, customizable routing, and fine-grained control over message forwarding. FLAPPS requires that a service define its own namespace for identifying resources offered by its participating peers. Beyond this one requirement, FLAPPS is highly flexible and adaptable to the service designer's needs, as demonstrated with three sample applications, and thereby demonstrating its claim to being a general-purpose peer-to-peer infrastructure.

Read the paper · More papers on PaperTik