PeerToPeer, P2P: Software that runs on many many independent clients that may or may not be online. Thus the software exhibits FaultTolerance and DistributedNetworking?. The software may or may not depend on a CentralServer?. These servers act as a NameSpaceServer? defining a protocol specific NameSpace; usually they map usernames to IP numbers, thereby providing a WorldWideName? for every person that wants one. These names may be ephemeral or stable, depending on the people and their mindset.
See also: http://www.oreillynet.com/p2p/ , the PeerToPeerModel and the OriginOfPeerToPeer?
Examples:
Napster depends on a central server.
The AolInstantMessenger AIM and MirabilisIcq ICQ depends on a central server. Other InstantMessenger implementations may choose from a number of servers, thus reducing the dependencies. Names are usually quite stable. I've been using mine for years.
Services like InternetRelayChat depend on a network of servers. IRC is not PeerToPeer, since the majority of user interaction is mediated by the servers - it does, however serve as a DiscoveryMechanism? for P2P file transfers.
Gnutella, MojoNation, GrooveNet, ProjectJxta and others come to mind, too. Even Microsoft is getting into the fray, offering a general-purpose platform similar to Jxta (which is already bundled with SP2, so chances are you winXP users out there already have it, just not enabled) and a BitTorrent-like protocol called Avalanche.
FreeNet is interesting in that it adds elements of untraceability to the P2P filesharing.
JiniTechnology would be an interesting basis for a PeerToPeer architecture, since you can arbitrarily extend it to add new ways for the peers to interact.
SharedPage have a MultitaneousApplication for CollaborativeEditing, using ProjectJxta and the KanabosFramework.
The success of Skype http://www.skype.com has given Peer to Peer new impetus, partly due to the fact that Scalable Internet Telephony is a more politically correct application than (illegal) file sharing.
Contributors: AlexSchroeder, CharlesMiller, KyleBrown,RainerWasserfuhr. Add your name here to avoid ThreadMode.