What Is P2P?
Peer-to-peer (P2P) is simply networking that connects computers all over the Internet among themselves, rather than to servers. With P2P, most of the calculations, data, and software reside on the user's computer or a collection of computers, rather than on a centralized server.
The promise of P2P is to reduce or eliminate (in some cases) our dependence on servers by moving storage and computation to the user's computer, or shared among others in the P2P network. This also reduces the need for web-based applications, which is a devilishly difficult medium compared to PC-based applications.
In JXTA's case, P2P is also a set of protocols that create a virtual network for P2P operations. The specification includes services that help applications interact and get around barriers such as firewalls. JXTA is also an API for various languages from Java to C++, so it can allow almost any device from a supercomputer to a washing machine to be a peer in the network.
P2P also eliminates the need for large bandwidth for both delivering data and serving users. Instead of concentrating bandwidth at web sites or within the corporate LAN, P2P and especially JXTA reduces the total by replicating data and moving it inside the LAN, rather than between the LAN and the Internet.
JXTA also provides a virtual P2P network that can be used by any type of application, or any number of applications. This eliminates an old problem of P2P, in which applications are less useful with fewer users. For group-specific applications, there may only be a few users.
By riding on the virtual network, JXTA allows a small community application to utilize the support of the complete P2P network of other users running other applications. In fact, JXTA makes it possible to write P2P applications for a network of just two computers, while using the infrastructure of thousands of computers in the virtual network.