Hi Stanislav,
thanks for your comments. With respect to including more examples of P2P
systems, we received similar comments in the past. Some people thought
(like you) that a document having a high number of examples (maybe even
an almost-exhaustive list) would be useful for the community. At that
point, we decided not to include all those examples in this document and
focus instead on general properties and guidelines. However, you are
right that such a document could be helpful. During our past
discussions, we identified the P2P RG, which was being rechartered at
the time of writing the document, as a potential venue to write such a
document (we were in touch with the chairs of the RG while writing this
document). We realize that there are many potentially-useful documents
that can be written in the area of P2P systems and that this document
only covers a tiny part of the area.
Regarding a "correct" definition of a P2P system, one of the points the
document stresses is the fact that there are multiple definitions in the
literature. The document discusses them and describes what they have in
common in order to find a common denominator. We believe this approach
is more useful than providing our own definition without referencing
existing ones.
With respect to the taxonomy, you are right that the document provides
several taxonomies and not a single one. Section 4 states that but both
the Abstract and the title of Section 4 talk about a taxonomy in
singular. We will clarify this point so that it does not confuse readers.
With those explanations for why the document is the way it is, and with
the commitment to clean up the single vs multiple taxonomy, would you
like to suggest any specific textual edits to this document with these
goals? If so, we would happily consider them to the document's next
revision.
Thanks,
Gonzalo
Stanislav Shalunov wrote:
I fail to understand the purpose of this document or of publishing it.
The abstract promises three things:
* a survey of P2P systems
* a definition of a P2P system
* a taxonomy of P2P systems
I found no traces of a survey, no actual taxonomy, and only an
inadequate definition in the document.
A survey would enumerate P2P systems and describe them. The document
only mentions two P2P systems of which, one is universally known and
the other is theoretical at present. Kazaa, or current #2 behind
BitTorrent eDonkey, or the numerous academically interesting P2P
systems are not mentioned, let alone described or classified.
There's a section called "Taxonomy for P2P Systems", but it doesn't
contain any taxonomy, for P2P systems or otherwise. Instead, it
contains an attempted literature survey of P2P taxonomies.
An actual taxonomy would list the types of P2P systems and their
differentiating principles. It would be natural to combine it with a
survey, classifying known P2P systems according to the taxonomy you
choose.
An unmarked paragraph four of Section 2 does provide a definition of a
P2P system. A discussion follows it, but it's not clear if it's part
of the definition proposed by the document. The definition is weak
and generic, yet needs to be substantially stretched so that even
BitTorrent, the most common P2P system in use today, fits it.
The document is so bad that proposing specific textual changes is
besides the point.
Here's a sketch of an example of what a more useful document might look like:
Definition: A distributed system implemented on a computer network to
provide a service is called P2P if it involves a substantial number of
nodes that, in addition to consuming the service, also provide it.
These nodes are called peers.
Note: P2P systems are often contrasted with client/server systems. In
the latter, the functions of providing (servers) and consuming
(clients) the service are separated into different nodes; in the
former, the same nodes (peers) can do both. The distinction sometimes
goes deeper and is reflected on the wire protocol level, where P2P
protocols are symmetrical in nature, with both sides being able to
issue the same set of messages. This, however, is accidental and not
a defining part of P2P.
Taxonomy
0. Type of service
P2P systems can provide various services, such as file distribution
and sharing; voice and video calling; audio and video streaming,
recorded or live; data backup, etc.
1. Administrative control
P2P systems can be under single administrative control, provide
multiple realms each under its own administrative control, or be fully
administratively decentralized.
2. Tracker
P2P systems can include the use of a central server that can provide
functions such as peer location and possibly extra services like
content indexing. Other systems are trackerless and rely on DHTs and
other techniques.
3. Peer equality
P2P systems can contain peers that are elected to perform specialized
functions, perhaps elevating these peers to near-server status, or all
peers can have the same functions.
Survey
[Skipping the academic systems and only giving a couple of examples.
An actual survey would need many more systems.]
The global constellation of NNTP servers was arguably the first widely
deployed P2P system. NNTP provides message exchange and a simple form
of file sharing. NNTP was developed before the term P2P became
common, and so the term is not normally applied to NNTP. However, on
a technical level, if we exclude NNTP clients from consideration for a
moment, NNTP servers form a P2P system, fully administratively
decentralized, trackerless, and with equal peers. This system lacks
self-organization and peer discovery, making it a very early precursor
to modern P2P architectures. NNTP as a whole, with the clients, is
obviously not a P2P system.
Napster was one of the original P2P systems. It provided file sharing
under single administrative control and with the use of a central
tracker that also provided search. Peers in Napster were equal.
Kazaa was also a file sharing service under single administrative
control. It was trackerless and included a form of supernodes
instead.
Skype is one of the most popular P2P systems today and provides voice
and video calling. It is under single administrative control,
trackerless, and with supernodes.
BitTorrent is one of the most popular P2P systems today and provides
file sharing. It has multiple realms of administrative control,
usually uses a tracker (but can be trackerless), and has equal peers.
On Wed, Jul 22, 2009 at 12:26 PM, IAB Chair<iab-chair@xxxxxxxx> wrote:
The IAB intends to publish the following document and invites any comments
you might have:
Peer-to-peer (P2P) Architectures
draft-iab-p2p-archs-02.txt
Abstract
In this document we provide a survey of P2P (Peer-to-Peer) systems.
The survey includes a definition and a taxonomy of P2P systems. This
survey also includes a description of which types of applications can
be built with P2P technologies and examples of P2P applications that
are currently in use on the Internet. Finally, we discuss
architectural tradeoffs and provide guidelines for deciding whether
or not a P2P architecture would be suitable to meet the requirements
of a given application.
Please provide your feedback before August 15, 2009.
For the IAB,
--Olaf Kolkman
IAB Chair
_______________________________________________
IETF-Announce mailing list
IETF-Announce@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ietf-announce
_______________________________________________
Ietf@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ietf