Title: A Survey on Applications of Peer-to-Peer Systems
Author: Amit Pandey
Prepared for Prof. Javed I. Khan
Department of Computer Science, Kent State University
Date: November 2004
Abstract: The term “peer-to-peer” (P2P) refers to a class of
systems and applications that employ distributed resources to perform a
critical function in a decentralized manner.
They have wide range of applications and this survey explores some of
Survey's on Internetwork-based Applications
Back to Javed I. Khan's Home
Table of Contents:
- Electronic Marketplace
- Free Haven
Peer-to-peer systems are used for applications like content
distribution &file sharing, creating virtual supercomputer,
providing anonymity to the publisher of document, media streaming,
providing lookup service using dynamic hash table(DHT), and many new
exciting services in business like electronic market place B2B
transactions and creating mobile network using peer-to-peer.
Goal of this survey:
Goal of this survey was to explore different types of applications of
peer-to-peer system and brief overview of their features and working.
Some of these systems have
been fully developed others are still in research.
I have classified peer to peer to systems according to their
||P2P Mobile network
Peer-to-Peer Systems which were looked
Chord is a distributed lookup protocol for efficient location of data
items. It is a lookup service. Chord protocol supports just one
operation: given a key, it maps the key onto the node. A key is
associated with each data item and the key/data item pair is stored at
the node to which the key maps.
Chord is fully decentralized where all nodes are equally important.
The cost of a Chord lookup grows as the log of the number of nodes,
O(log N), so even very large systems are feasible.
Chord automatically adjusts its internal tables to reflect newly joined
nodes as well as node failures, ensuring that, the node responsible for
a key can always be found.
- Load balance:
Chord acts as a distributed hash function, spreading keys evenly over
Applications of Chord:
Chord can be used to provide foundation for various applications like:
- Cooperative Mirroring:
Chord can be used for developing application which can be used for
publishing distribution. The distributions can mirrored. The mirroring
systems would balance the load across all servers, replicate and cache
the data, and ensure authenticity.
- Time-shared Storage:
Chord can be used to design application which will make data available
when the node is offline. If a person wishes some data to be always
available, but their machine is occasionally available, they can offer
to store other's data while they are online and, in return for having
their data stored elsewhere when they are offline. The data's name can
be used as key for identifying the live chord node storing data item at
- Distributed Indexes:
Distributed Indexes can designed using chord for supporting Gnutella or
Napster-like keyword search. Key can be derived from keyword, while
values could be list of machines offering documents with those
PROMISE (Peer-to-Peer Media Streaming ):
P2P media streaming is different from general P2P file sharing since it
has more stringent resource requirements for real-time media
transmission. PROMISE is an application level P2P video streaming
system that aggregates simultaneous streams from multiple peer.
It is based on P2P service CollectCast which has a pattern of “one
receiver collecting data from multiple senders. Video streaming is
traditionally performed by a dedicated entity(media server),
CollectCast makes video streaming possible despite limited capacity of
CollectCast Provides following functionality:
- Matching of a requesting peer with the set of senders most
likely to provide the highest quality stream
- Dynamic adaptation to network fluctuations and peer failure
- Bases decisions on inferred network topology and conditions.
PROMISE takes in to account dynamic nature of network, it is possible
that during long streaming session the environment may change: peers
may fail or network paths may become congested. During the session, the
receiver collects statistics on the loss rate and streaming rate
contributed from each sending peer. These statistics are used to update
the goodness topology, which is then used to adjust the active set(set
Advantages of PROMISE:
Many P2P data sharing and distribution systems implicitly assume
that a sending peer is capable of supporting one or more receiving
peers. However peers are heterogeneous in their capability and
willingness to contribute resources to other peers. PROMISE solves
the problem of selecting multiple supplying peers (senders) for a
receiver, based on peer heterogeneity as well as network topology and
Constructing Electronic Marketplaces using Peer-to-Peer Technology
File-sharing systems like Napster have been used for the exchange
of digital goods. In contrast to file-sharing systems, the
marketplace would emphasize the decentralized management of
transactions instead of the delivery of the goods themselves, it can be
imagined as a “Napster for transactions”. This peer-to-peer system
would be used for files that contain parts of a transaction e.g. a
demand document, a supply document, or an invoice document instead of
for the exchange of audio and video files.
Motive: It would allow the management of transactions without the
presence of a middleman, leading to lower prices of the traded goods.
Every market participant is represented by a peer software running
on the his/her computer. Transaction documents are delivered directly
from the consumer to the supplier and vice versa without any middleman.
In normal client-server model the the intermediary maintains a central
server in order to match demand and supply, manage the suppliers’
catalogues and provide information to consumers for a fee.
A central index server provides metadata about the peers. It can be
used to accelerate search processes. For security reasons, central
index server is needed for authentication and for the storage of data
about the users (e.g. master data or
account balances) which must not be manipulated by the owners of the
Fig. 2: Information flows of a filesharing transaction
a) The consumer peer asks the index server for suppliers who are
offering the good
b) The index server responds with a list of appropriate supplier peers.
c) The consumer peer sends the request to the appropriate supplier
d) The supplier peers generate offers according to the consumer peer’s
demand and send them back to the consumer peer.
e) The consumer peer collects all offers and compares them in order to
find at least one potential supplier for further negotiation.
This survey is based on research publications found in ACM Digital
Library as well as white papers from JXTA and SETI@home. I had used
keywords: applications of peer-to-peer, distributed computing using
peer-to-peer, search in peer-to-peer. I also went through the research
groups like JXTA, and various research papers published by MIT research
groups. I also looked into some of the detailed report like the one at
HP site which has given comprehensive information about Peer-to-peer.
- Performance and scalability:
Central index server helps in faster search makes the system scalable,
unlike Gnutella the performance does not suffer due to addition of
- Based on open standard:
It uses XML for information exchange. XML provides useful mechanisms
for the integration legacy systems.
- Platform Independence:
To ensure that everybody can join the peer to peer network the software
can be Designed in language like java.
The Free Haven Project aims to deploy a system for distributed,
anonymous, persistent data storage which is robust against attempts by
powerful adversaries to find and destroy any stored data. It tries to
assure anonymity, server accountability, and persistent storage for
data independent of its popularity, all at the same time. Main
- Anonymity: It tries to meet this goal for all parties: the
publishers that insert documents, the readers that retrieve documents,
and the servers that store documents.
- Accountability: It considers methods for achieving
accountability without sacrificing anonymity.
- Persistence: The publisher of a document not the servers
holding the document determines its lifetime.
- Flexibility: The system functions smoothly as peers dynamically
join or leave.
Free Haven offers a community of servers called the servnet.
Despite the name, all servers count the same, and within the servnet
There are no "clients" in the old client/server sense; the closest
approximation are users looking for files and potential publishers.
Users query the entire servnet at once, not any single server in
particular. Potential publishers do convince a single server to publish
a document, but the actual publishing of a document is done by a server
itself in a peer-to-peer fashion. All of these entities--server,
reader, and publisher--make up the Free Haven players. Due to
pseudonymity, nobody knows where any server is located--including the
one they use as their entry point to the system. Users query the system
via broadcast. Servers don't have to accept just any document that
publishers upload to them. That would permit selfish or malicious
people to fill up the available disk space. Instead, servers form
contracts to store each other's material for a certain period of time.
Successfully fulfilling a contract increases a server's reputation and
thus its ability to store some of its own data on other servers. This
gives an incentive for each server to behave well, as long as cheating
servers can be identified.
SETI (Search for Extraterrestrial Intelligence) is a collection of
research projects aimed at discovering alien civilizations. SETI@home
is a scientific research project aimed at building a huge virtual
computer based on the aggregation of the computer power offered from
internet- connected computers during their idle periods..
The project uses two major components: the database server and the
client. They are provided by several different platforms, such as
Windows, Linux, Solaris,
and HP-UX. The client-side software is available as a screen saver
module (although stand-alone operation is available) and is not linked
to any third-party technology.
The SETI@home client resilience relieson a checkpointing mechanism,
where the resumable dataset is saved on the hard disk every ten
minutes. This means that each time a SETI@home computation is
interrupted (by the user or a system failure), the computation will
resume at the last saved dataset and proceed from there.
The SETI@home project strongly relies on its server to distribute jobs
to each participating peer and to collect results after processing is
Distributed computing using P2P is used in different applications like
medical research such as AIDS@home. Entropia is being used for human
genome project, analysis of protein structure etc. They provide high
speed computation with a very low cost.
JXTA technology enables diverse devices and networks to interoperate.
JXTA technology provides complete infrastructure and enables developers
to more quickly and easily create P2P services.
It enables inter-connected peers to easily locate each other,
participate in community based activities and offer services to each.
- Platform independence:
It is designed to be independent from programming languages (such as C
or Java), system platforms (such as Microsoft Windows and UNIX
operating systems), and networking platforms (such as TCP/IP or
It is designed to be implement able on every device with a digital
heartbeat, including appliances, desktop computers, and storage
JXTA uses asynchronous uni-directional communication channels, called
pipes, for sending and receiving messages. All data interchange in JXTA
in the form of XML formatted documents.
Companies are exploring JXTA technology solutions for:
• Improving wireless access to the Web
• Enabling creation of instant, ad hoc wireless communities
• Reducing the cost and complexity of enterprise data systems
• Improving resource utilization and return on capital equipment
Comparison of different P2P systems:
||Research suggestions or
||Ads on screen saver
||open-source proprietary extensions
||File sharing,Email, messaging
In this survey , different P2P systems were surveyed . P2P systems were
categorized based on their application. Then six cases were considered
, there features, applications and brief working were explored. Finally
they were compared
based on different parameters.
P2P is an important technology and has wide range of applications not
just file-sharing. It allows to create virtual supercomputer with very
high speed at a fraction of actual cost which are used to solve many
intricate problems. Some new applications like electronic marketplace
are coming up, they are still in research.
P2P provide scalability, anonymity, decentralization. Platform like
JXTA maybe widely deployed in future which will enable adoption of many
- Chord: A Scalable Peer-to-peer Lookup
Service for Internet Applications
Ion Stoica_, Robert Morris, David Karger, M. Frans Kaashoek, Hari
- PROMISE: Peer-to-Peer Media
Streaming Using CollectCast
Mohamed Hefeeda, Ahsan Habib, Boyan Botev, Dongyan Xu, Bharat Bhargava
Electronic Marketplaces using Peer-to-Peer Technology
Nick Gehrke, Matthias Schumann
- GNUSTREAM: A P2P MEDIA
STREAMING SYSTEM PROTOTYPE
Xuxian Jiang Yu Dong Dongyan Xu Bharat Bhargava
- Peer-to-Peer Mobile Network