Peer-to-Peer (P2P) Networking
Â
By Shirish Ranjit
Â
Peer-to-Peer Networking has been a topic of research in the networking community focusing on networking for collaborative use of computing resources. The collaborations include file sharing, storage resource sharing, and CPU resource sharing.
Â
The Communications of the ACM devoted the first half of the February 2003 issue on the P2P Networking articles. This is an indication of the importance of the topic in the industry. The special issue had viewpoints, survey articles, and a few technical articles. We discuss few of those articles below.
Â
The viewpoint by Schoder and Fischbach presented P2P networking and also raised issues of network control, costs, security, interoperability, and metadata. In the paper, we raise those issues and discuss mitigating strategies.
Â
Agre discussed socio-economic and political impacts due to the use of P2P networking. Agre presented four theories of relationship between political institutions, socio-economic structures, and information technology. He especially cited Thorstein Veblen, a Norweigian-American economist, and Friedrich Hayek, an Austrian economist, in presenting his arguments on changes that can be brought about by P2P computing. It is conceivable that the P2P architecture can not only revolutionize how information is managed but also revolutionize our socio-economic and political institutions.
Â
Kubiatowicz discussed perils and problems associated with P2P computing. He drew a parallel with thermodynamic system design. He made an argument that the P2P system seemed chaotic as a thermodynamic system but it is manageable as long as we solve the issues relating to P2P systems such as latency, security, scalability, and availability. Those are the central issues in any P2P system, and we also discuss them in our design and implementation chapters.
Â
Balakrishnan et al. were working to develop algorithmic building blocks for P2P systems. They discussed their own and other researchers’ algorithms for performing distributed lookup. P2P file sharing and storing systems’ designers can use these algorithms with assurance about scalability of the lookup function compared to non-scaling approaches in some grass-roots P2P implementations. The implementation of these algorithms was made easier by the authors’ pointers to reference implementation toolkits.
Â
In a Peer-to-Peer networks article, Geoffrey gave an overview of P2P networking, describing P2P features, technologies, and challenges. The article gave examples including Napster, SETI@HOME, and Instant-messengers. The article contained many pointers to P2P sites for file sharing and P2P resource sites.
Â
The article presents architecture of an infrastructure for a P2P computing environment. It discusses a common P2P middleware architecture. First, the article presents basic requirements:
Â
- Lack of trust: Access must be granted to members.
- Hardware heterogeneity: Hardware is of different types.
- Software heterogeneity: The infrastructure should be able to integrate any type of software.
- Network heterogeneity: The networks connecting peers differ in bandwidth and latency.
- Scale: Members can be as few as two or as many as millions.
- Intermittency: The systems and configuration are not fixed and static.
- Location: Location of peers does not matter.
- Autonomy: Peers do not have to know about each other to achieve a goal.
- Local policies: A sub-group of peers may create policies to protect information.
- Distance: Geographical distance is not an issue in the community.
Â
The article explains how the basic requirements give rise to a common architecture for a P2P networking. It makes the case by discussing the application and issues with each category of P2P application.
Â