|
|
Peer to Peer Systems
P2P systems are not a new concept. There have been p2p systems for a long
time. However, due to the hype around Napster+Co, p2p systems are
something the community talks about again.
Historically, many of the issues discussed in the context of p2p systems today
have been discussed and inherent problems of distributed systems in general.
With the advent of things like web servers, EJB, .NET
and recently, web-services, a more centralized approach has been taken to
distributed systems – essentially client/server in many cases. The original
issues with fault-tolerant, dynamic distributed systems now ship under the
new name peer-to-peer systems. Here, Fault-Tolerant CORBA and DataParallel
CORBA specify relevant topics.
There are some popular p2p systems such as Napster or SETI@home, however,
it can be argued that these systems are not really p2p, technically speaking. Of
course, from a user’s point of view, they exchange files with peers, other users,
but technically many of these systems are more or less client/server with the
“shortcut” of exchanging large-volume stuff without bothering the central
server.
So, what then characterizes a p2p system technically? And what are some of the
issues that have to be solved to construct “real” p2p systems? The following
paragraphs try to shed some light on these questions, based on the results of
the focus group on P2P patterns at EuroPLoP 2002 in Irsee, Germany.
|