Research and Advances
Computing Applications Technical and social components of peer-to-peer computing

Introduction

Peer-to-Peer (P2P) computing has both technical and social components. Both these components share the attraction of distributed control, where computers operating as peers collaborate to achieve an end result without a central authority.
Posted
  1. Article
  2. Author

From a technical perspective, P2P computing suggests the possibility of providing such valuable system attributes as fault tolerance, performance, and security. From a social perspective, P2P computing suggests the possibility of powerful communication technologies in distributed form, leading to new person-to-person interaction structures. In both cases, one can imagine P2P attributes at many layers within the system complexes. For example, they could be organizing principles at levels from low-rate, low-power, portable wireless LAN devices, through large global complexes of information servers in the technical space. Or, for example, they could be organizing principles at levels from document collaboration among people in small groups, through large global business-to-business, to e-marketplaces that have no central marketplace entity. Perhaps P2P could be deployed at many or even all layers in such systems. P2P is much more than a system for sharing pirated music.

This special section includes articles that attempt to richen the discussion of P2P in several dimensions.

Balakrishnan et al. are part of a community of researchers working to develop sound algorithmic building blocks that can serve in P2P systems. In their article, they discuss their own and other researchers’ algorithms for performing distributed lookup, which is finding data associated with a key among networks of peers without a central authority. With clear asymptotic performance, designers can use these algorithms with assurance about scalability of the lookup function, versus the ad-hoc and sometimes failing or non-scaling approach in some grass-roots P2P implementations. The task of using these algorithms is further eased with the authors’ pointers to reference implementation toolkits. Note that achieving some other important system attributes in a P2P manner remain research topics. An example is network entry and security. Ideally, the research Balakrishnan et al. describe provides a path for the development of new technologies to provide such desired attributes.

Agre helps to understand social aspects of P2P using the broader theory of the relationship between architecture and institutions. The article explains and predicts the complexity we are seeing in the ongoing music-sharing controversy. Agre’s discussion, citing major theorists in his area, easily renders simplistic the inference that distributed architectures imply distributed institutions. He shows the lamination of technological and social layers makes the opposite equally arguable. He challenges us to think more deeply about the motivations and interests of participants using P2P.

Lee’s article takes up some of that challenge, via empirical systems and social research, as his team interviews users of P2P file-sharing systems in an attempt to explain their motivations. The result is rich qualitative explanations beyond a simple prioritization of features. This research is not only useful in grounding the theoretical arguments about P2P, but also as concrete information to help P2P application developers to design their systems.

Kubiatowicz, who is leading the development of large global-distributed, file-system systems technologies, takes another tack in his article. In particular, he questions the need for technical egalitarianism among systems: "Some computers are more equal than others" by virtue of their horsepower, connectivity, or physical security. Exploiting these differences, as well as other principles of distributed organization in the design of his system, allows him to focus on building well-engineered distributed systems, with substantial qualitative differences in functionality, now, without waiting for a complete set of pure P2P algorithms. This article makes clear that P2P is one tool among many for achieving system goals.

Back to Top

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More