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.
CategoryCollaboration CategoryDistributed