Peer-to-Peer or P2P technology is a distributed application architecture which essentially aims at easing the communication process between peers, by dividing and sharing their workload with each other. This technology makes a portion of the resources available, such as processor power, network bandwidth, disk storage and so on, to all the participants in that particular network, without the need for a central server or a stable host.
These networks work on equal peer nodes which simultaneously function both as clients and servers on the rest of the nodes on that particular network. This concept, hence, differs from the traditional client-server model, where all communication is controlled by a central server.
Today, P2P technology endeavors to go beyond providing resources just for peers engaged in similar tasks. The focus today is to bring shared resources to diverse peers, especially those in the virtual and mobile communities, thereby enabling them to become more productive than individual users, while also being mutually beneficial to all the participants concerned.
Structured and Unstructured Systems
Structured P2P systems organize peers in accordance with specific criteria and algorithms, which in turn give rise to specific properties and results. Usually, they employ the use of Distributed Hash Tables or DTH-based indexing, which can be found in the Chord system.
Unstructured systems, on the other hand, are more flexible. Peers participating in this network can connect to each other in an ad-hoc environment and are not bound by strict rules and regulations. While peers can easily establish networks using this system, the main downside is that if peers are looking for rare data available to only a section of the network, their queries may not always be resolved.
Use of P2P Networks
Today, these networks are mostly used for content distribution, especially in the mobile industry. Uses of this technology include streaming media, P2PTV, developing and sharing mobile applications, peercasting, global file sharing and most recently, mobile payment.
Update as of May 27, 2013: Samsung recently announced its second Smart App Challenge 2013, a challenge to encourage developers to create apps for its Galaxy S4 smartphone, employing its own Peer-to-Peer interface. This competition also stipulates that participants must necessarily make use of the company’s proprietary Chord SDK.