Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

A Service Discovery Mechanism with Load Balance Issue in Decentralized

Peer-to-Peer Network
1
Ching-Wen Chen
2
Phui-Si Gan Chao-Hsiang Yang
Department of Computer Science and Information Engineering
Chaoyang University of Technology, Taiwan
{chingwen, s9227601, s9327616}@mail.cyut.edu.tw
Abstract 1. Introduction
Peer-to-peer systems (P2P) have attracted much current
attention as a popular way to share huge volumes of
resources directly within peers. Efficient content search
and load balancing are both important research issues
in P2P environments, especially in those without
centralized global indexes. Although a number of
content search schemes are known to alleviate these
problems, they cannot provide flexible object searches
while balance the load for content demand in P2P
networks, thereby resulting in severe load imbalance
and consequently increased user response times. In this
paper we tend to address these problems that take
advantage of current Domain Name Server (DNS)
architecture by harnessing all available resources in the
P2P networks and balance the load without decreasing
user response time. We proposed a novel decentralized
service discovery mechanism by creating an agent call
P2P Registry (P2PReg) as a middleware within DNS
and peers. In our scheme, each peer is able to register
and discover desirable services automatically through
current DNS within a short duration in an efficient way
with the help of P2PReg. The proposed method does not
only perform least searching time and low bandwidth
but also balances load in P2P systems in order to avoid
hot spot (refers to a node which receives a large volume
of requests in rapidly) problems naturally. It is obvious
that the more replicas there are, the better the media
delivery quality of the specific content object is. We also
present the results of simulation work to validate the
viability of our approach. Our simulation study showed
that serving data discovery over local search is indeed
effective in improving the system performance
significantly.
Recent years have seen a tremendous proliferation
of peer-to-peer (P2P) file sharing applications such as
Napster [1] and KaZaA [2] as a popular way to share
huge volumes of resources. P2P systems allow users to
share, search for and download files. P2P systems
possess a rich set of features like load balancing, fault
tolerance, autonomous, and availability of vast volumes
of resources. Because of these desirable qualities, many
researchers have been focused on understanding the
issues surrounding these systems and built several P2P
applications to demonstrate the usefulness of this new
technology. It is clear that P2P research is an old but
rich area for versatile research [3] [4].
P2P computing is currently acting as the most
common model of distributed computing which no
longer client-server model [5]. In a typical client-server
model, most internet services rely on centralized server
to work. The most distinct characteristic of P2P
computing compared to clients-server networks is that
there is symmetric communication between the peers
[6]. In P2P computing, each participating node
represents as a peer and behaves as both client and
server. Hence, P2P computing has more advantages as
comparing with client-server systems. Thus, by
decentralizing resources, P2P networks have been able
to virtually eliminate costs associated with a large
centralized infrastructure.
In terms of the constructions of P2P systems, P2P
systems can be categorized into pure P2P systems
without any index nodes and hybrid P2P systems with
specialized index nodes [7]. In pure P2P systems, all
nodes are equal and no functionality is centralized.
However, in hybrid P2P systems, a server is approached
first to obtain meta-information, such as the identity of
the peer on which some information is stored. Keywords: Service Discovery, Contents Discovery,
Load Balancing, Decentralized Peer-to-Peer Networks
(P2P), Domain Name Server (DNS)
According to the well-constructed P2P architectures,
P2P systems can also be differentiated into two groups
[6]: unstructured systems, where search is blind
(randomly search) and structured systems, where search
is routed [24]. Structured systems adapt a lookup
mechanism by means of Distributed Hash Tables (DHT)
while unstructured P2P systems use mostly broadcast
search.
1
This research was supported by the National Science Council
NSC- 92-2213-E-324-006-
In structured networks (such as Chord [8] and CAN
[9] etc.), the overlay network topology is tightly
2
Corresponding Author.
Tel: +886-4-23323000 Ext. 4534 Fax: +886-4-23742375
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE
controlled and files (or pointers to them) are placed at
precisely specified locations [20]. These systems
provide a mapping between the file identifier and
location, in the form of a distributed routing table.
Queries can be efficiently routed to the node with the
desired file within O(logN) hops. However, structured
designs are likely to be less resilient in the face of a very
transient user population, precisely because the structure
required for routing(such as neighbor lists, etc.) is hard
to maintain when nodes joining and leaving in a high
rate. A serious problem with structured networks is that
they support searches with a full keyword [29].
Introducing keyword searching capabilities into these
systems is likely to render them a more powerful tool
for file sharing. However, almost all users use partial
keywords for content searching.
In contrast, the overlay network topology of
unstructured networks (such as Gnutella [10]) is ad-hoc
(nodes organized themselves randomly) and the
placement of data is completely unrelated to the overlay
topology [7]. In these networks, no nodes carry special
functions or responsibilities. The advantage of such
systems is that they can easily accommodate a highly
transient node population. In addition, unstructured
networks support many desirable properties such as
simplicity, robustness, low requirement for network
topology and supporting keyword searching.
However, there are limitations that come with the
advantages of unstructured networks of its complexity
in content discovery in P2P networks. Since there is no
information about which nodes are likely to have the
relevant files, they need a certain kind of message
flooding to search for interested items stored in the
overlay [24]. In fact, flooding on every request is clearly
not scalable and it has to be curtailed at some point.
Therefore it may fail to find content that is actually in
the system.
While much work has been done to harness the
efficient content search in unstructured P2P networks,
issues concerning load-balancing with a view towards
faster access to data for normal users have not received
adequate attentions. Global search results in an unfair
allocation of users objects to peers and creates hotspots
in certain parts of the zone. A hotspot refers to a node
which receives a large volume of requests in rapidly and
dramatically which often resulting in the node being
overwhelmed and response times shooting up. Hence
the ability to effectively locate a peer and retrieve
services from a potentially huge number of
decentralized peers while balance the load for content
demand within a short duration is rather important. Our
proposed methods aim to address these problems by
providing an efficient search mechanism while balance
the load for content demand.
This paper proposed a novel decentralized service
discovery mechanism on top of unstructured networks
by creating an agent call P2P Registry (P2PReg) as a
middleware within Domain Name Server (DNS) and
peers. We would like to investigate the benefit of DNS
hierarchical structure into the P2P architecture and
sufficient query communication. With the help of DNS,
we can discover desirable peers and obtain services
from the peer within a short duration. According to the
inherent hierarchical architecture of DNS, the proposed
method not only performs least searching time and low
bandwidth requirement but also ensure that the
searching process results in a nearest peer that has the
desired content. Finding nearby peers can greatly
balance load in order to avoid hot-spot problems. Hence,
we can balance the load for content demand while
provide an efficient search.
In our scheme, each DNS server has a local peer
index for quickly finding local peers when a query is
received. Hence, a requesting peer can find all its
potential serving peers from DNS server through
P2PReg and send a query q to search for desired files
directly to peers which holding related files. In order to
avoid in returning large unneeded peer lists in a request,
we also capture the interests and resources being shared
by peers as different services. This is all achieved
without the need for costly centralized resources. We
also present the results of simulation work to validate
the viability of our approach.
This paper is organized as follows. We point out the
major research issues of P2P systems and related work
in section 2. Section 3 describes how the trees
architecture is formed and contents are delivered upon
request with our proposed service discovery method.
We will describe how to balance load in P2P systems
with our proposed method in order to avoid hot spot
problems in Section 4. Section 5 presents the simulation
model for a more realistic system and reports results.
The last section gives the conclusion for the paper.
2. Related Work
Several researchers aim at improving the search
performance for unstructured P2P systems.
Unstructured P2P systems such as Napster, Freenet and
Gnutella allow peer to interconnect freely and do not
impose any structure on the managed resources.
However, there are still some limitations exist.
Napster is not really considered as real P2P systems
in the strictest sense as it uses a centralized server to
maintain a directory of MP3 music files that are on
users computer. Although it is simple and able to locate
files quickly and efficiently due to the central index
database it maintains. It remains as one of the easiest
networks to target and can be shut down by a court
order or hacker attack. As a result, it will likely end up
with unacceptable delay and user frustration.
As an example for a pure P2P system, the original
Gnutella implements fully distributed searching which
does not build indices, users search for files by flooding
the network with queries; this may have difficulty to
deal with the large numbers of sites or complex queries.
Instead, resulting in a simple but very costly approach
as just a simple query can flood the Gnutella networks.
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE
Freenet[11] provide an anonymous file sharing
service to guarantee clients and publishers anonymity,
and uses no centralized server. It is decentralized and
symmetric and automatically adapts when hosts leave
and join. Freenet allows data to be published, replicated
and retrieved while maintaining the anonymity of data
producers and consumers. However, Freenet uses a
depth-first approach to flood the requests. There is no
guarantee that a stored object will always be discovered.
This is a common problem in unstructured P2P systems.
3. Service Discovery Mechanism
The proposed decentralized service discovery
mechanism creates an agent call P2P Registry (P2PReg)
as a middleware within Domain Name Server (DNS)
and peers. With the help of DNS, we can discover users
which joining P2P networks and registered as a peer in a
returning peer list from DNS server. In our scheme,
each DNS server has a local peer index for quickly
finding local peers when a query is received. Hence, a
requesting peer can send a query q to search for desired
files directly to peers according to the peer list. In order
to avoid in returning large unneeded peer list in a
request, we also capture the interests and resources
being shared by peers as different services. In this
section, we will present the proposed decentralized
service discovery mechanism and discuss in more
details the process of constructing the hierarchical
structure of the proposed mechanism. We will also
explain how a peer joining and departing from DNS
with the help of P2PReg. Besides, the mechanism of
content discovery is also been discussed.
3.1 Architecture and Design
Our scheme is based on DNS domain hierarchy;
however some adjustments have been made in order to
make use in the domain tree. The DNS is a distributed
Internet directory service which provides a distributed
database of records spread across a semi-static hierarchy
of servers. DNS is used mostly to translate human
readable domain names (e.g. www.csie.cyut.edu.tw) to
numerical IP addresses (e.g. 163.17.10.11) or vice versa
aim to identify hosts on the internet [16, 17, and 18].
The DNS namespace is divided into a hierarchy of
domains and each sub-domain can be locally
administered independently by an authoritative name
server that are responsible for keeping information
about that domain up-to-date.
However, ordinary DNS requires manual
management of the routing information that allows
clients to navigate the name server hierarchy; in other
words, when new hosts are added to a domain, the
administrator of DNS must edit the database manually
to make the new hosts public. The other authoritative
servers periodically fetch the contents of the master file
whenever a new client joins or leaves in order to keep
their records up-to-date. To address this problem with
least efforts, we present a mechanism by creating an
agent call P2PReg in DNS to enable peers joining and
leaving P2P networks by registered to the DNS server
automatically.
3.1.1 P2P Registry (P2PReg)
P2P systems are notoriously dynamic in the sense
that nodes are frequently joining and departing from the
network. The proposed service discovery mechanism
deals with peers joining and leaving in a distributed
manner. However, there is no connection between a user
and DNS server at the beginning stage. Hence, P2PReg
acts as a bridge within peers and DNS networks which
enable peers joining and leaving P2P networks by
registered to the DNS server automatically. A requesting
peer can find all its potential serving peers from DNS
server through P2PReg and send a query q to search for
desired files directly to peers which holding related files.
The relationship between P2P networks and DNS
servers is shown in Figure 1.
zzq
z,( z| z;_
(|
|w [;
qy
[zz|
,,, ,,,
zy(|
z,;z
[zz;
[zz;
[zz;
[zz;
_]]
[[ [z_;,|;y
(,_z|)
[[ z|wz;|,
[S [;z;z;zj;zz} S|;(z|(;z
Figure 1. P2P networks vs DNS servers
User
2. Request toregister as a
peer inDNSserver
_]]
P2P Registry
(Agent)
IBM
Local DNS
Server
3. Local DNSserver
update database witha
witha newpeer
1. User starts ona P2P
program
Figure 2. The flow of peer registration.
3.1.2 Peer Joins
When a user logs on to Internet and starts on the
P2P program, P2PReg enables the user to inform DNS
of the host name and request to register as a peer in P2P
networks automatically. The procedure of peer
registration is shown in Figure 2. Thereby, the user is
added to the DNS server as a peer with the host name
pc001_p2p. (E.g. if the registered user hosted as
Personal Computer (PC) 001, the registered name
represent as pc001_p2p, as shown in Figure 3) in
order to distinguish from normal node. Hence, the
connection between peers and DNS server is
established.
Since there are usually a large number of answers
available for each query, the search radius can be
limited and the query reaches only a portion of the
entire network. In order to avoid in returning large
unneeded peer list in a request, we have packaging the
resources being shared by peers as different services.
We capture the interests of the peers through the number
and types of files maintained and provided by the peers
in P2P networks. As evident, services can be classified
as categories, or simply software services that are
device independent. For simplicity, we assume that
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE
there are only four topics of interest: Music, Operation
System (OS), Application Software (App), and Tools. If
a registered peer provides application software services,
we designate an alias to the registered domain name
represent as app_p2p. In case of a peer which holding
many topics of services, the alias act to be longer, and
thereby increases query efficiency, it also avoids
confusion for user in identification of peer interest.
3.1.3 Peer Departures
A peer will connect to DNS server for shut down
action whenever the peer wishes to departure from the
P2P networks. When a peer departures from P2P
networks, all of her library information is automatically
removed from the peer index which stated at the local
DNS server by the help of P2PReg as shown in Figure 4.
This action is mainly to make sure that there is only
active peers are in the peer index. Moreover, there arent
any state changes at other peers whenever peer joins and
departures. Hence, at any given time, only the libraries
of connected, or active, peers are in the index. While
this policy allows the index to remain small and thereby
increases query efficiency and reduce the bandwidth
burden.
3.1.4 Content Discovery
csie
cyut ntu
edu
im
Peer
2. When DNS server receives
a query, it first uses the local
database to answer the query.
...
...
edu net org
uk
tw
fr
my
Root
... ...
edu
...
...
yahoo
com
...
3.The request is redirected along
the hierarchical tree upward and
downward until the TTL is
reached.
1. Send a request for peer
searching
5. Sends query q to search for
desired files (e.g. music file)
directly to peers fromthe peer
lists
...
com
4. Peer list is instant reply from
DNS server
Figure 6. Peer discovery request is redirect along the
DNS servers in hierarchical.
When DNS server receives a peer discovery query
from hosts which registered as peer, it first uses the
local database to answer the query. If not enough
answers are found or the requestor wish to look for
more related peers, the peer list retrieval request is
redirected along the hierarchical tree upward or
downward until finding enough peers or reach the TTL
as shown in Figure 6. Eventually, the searching process
results in a list of peers that registered as peers in P2P
networks. With instant reply from DNS server, the
requestor peer has a sufficient knowledge of the services
that can access from these peers and uses the results to
determine which peer is suitable to connect to. For each
request, the peer utilizes the searching mechanism to
discover the serving peers and related information, such
as the uplink bandwidth and number of current
uploading sessions of the peers.
Hence, a requesting peer sends query q to search for
desired files directly to peers which holding related file.
In this case, the reply message will follow the request
path to reach the peer that initiated the request. These
domain transfers are done using the special zone
transfer query type in DNS (AXFR query type [12]).
Clearly, a requestor peer would be desirable to
direct request to the peer that considered as good peer
from the peer list. However, a good peer may receive
more load than it can handle and become a hot spot. We
will discuss this issue in later section in more details.
3.2 Discussion
Nodes with a high degree of similar interests are
considered good peers. A good peer can be a hotspot if
all of the requesting clients direct their request to the
peer that considered as good peer. Hence, a good peer
may receive more load than it can handle. In order to
ensure the high performance of the system, we have to
avoid bottlenecks and balance the load across all nodes.
In fact, serving data discovery over local search
eliminates the need to have each good peer become a
hot spot. So, in this section, we will describe how to
balance load in P2P systems with our proposed method
in order to avoid hot spot problems naturally.
3.2.1 Finding nearby Peers
In decentralized P2P networks, peers are dynamic,
often without permanent IP addresses and potentially
located in more topologically diverse locations in the
Internet. Clearly, a client would be desirable to find
nearby peers that are well-connected without resorting
to expensive network measurements. Finding nearby
peers can greatly increase the efficiency of peer to peer
communications.
Two peers are deemed to be topologically close if
their IP addresses share a common address prefix. In our
scheme, each DNS server has a local peer index for
quickly finding local peer when a query is received.
According to the inherent hierarchical architecture of
DNS, we can ensure that the peer that discovered is
topologically nearest to us, hence, yield better
performance in searching a peer.
3.2.2 Replicas
Ideally, the request forwarding decision should be
made at the global level. Requestor is willing to forward
their request to a good peer indeed. Hence, global-wise
searching results in an unfair allocation of user objects
to peers and creates hotspots in certain parts of the zone
as stated in Figure 8. The basic premise in our proposed
networks is that one isnt typically searching for
extremely rare files that are only stored at a few nodes.
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE
Any one of a set of replica nodes can provide the
requested content, increasing the availability of
interesting content without requiring the presence of any
particular area. In fact, serving data discovery over local
search eliminates the need to have each good peer
become a hot spot and distributes load separately.
[zvz}
[zvz} 3
[zvz} 4
[zvz} 5
[zvz}

Figure 8. Global-wise searching
(z)

Szpz;z|;z [;z
[zvz}
[zvz} 3
[zvz} 4
[zvz} 5
[zvz}

(|)
Szpz;z|;z [;z
[zvz}
[zvz} 3
[zvz} 4
[zvz} 5
[zvz}
Figure 9. (a) two replicas (b) four replicas
For example, a complete tree with k level holds 2k-1
node as each parent node holds two children nodes.
When there is the only replica in this complete tree,
yields 2k-1 average searching time units. However,
when the replica is 21, yields 2k-2 average searching
time units. Yet, when the replica is 2n, the average
searching time units must be 2k-n-1. Hence, we can
conclude that average searching time units of a
complete k level tree is xk-n-1 whenever the replicas is
n with each parent node holding x children nodes. From
the above analysis, we can set the searching area (how
many levels) depends on practical situation and user
requirement. It is quite sure that when the replicas reach
an optimal level, the performance of content searching
may approximate to global-wise searching. From Figure
9, it is obvious that the more replicas there are, the
better the media delivery quality of this specific content
object is.
4. Experimental Results
In this section, we implement our proposed service
discovery mechanism. In particular, our goal is to
provide speedy discovery of peers that are located at
places whose availability is compromised as a result of
a far distance from the requestor. We first study the
effectiveness of our proposed method as comparing to
Bruth-Force searching method. Then, we present the
results of simulation work to validate the load balancing
viability of our approach. For each experiment we will
highlight the important conclusions and give a
condensed, high-level explanation for the results. We
close the each section with an analysis and discussion of
the cases where our proposed method can be used
effectively.
4.1. Evaluating Service Discovery Performance
In this experiment, we evaluate a prototype
implementation on a testbed comprised of three DNS
server and six desktop PCs, each DNS server
responsible to manage IP addresses in a Class C
networks (e.g. 192.168.x.1 192.168.x.254) and two
desktop PCs. We aim to study the effectiveness of our
proposed method as comparing to Bruth-Force
searching method. In fact, Brute-Force searching
method would have to compare all possible peers and
search for the best. Since there are often a large number
of possibilities, this approach can be very time
consuming.
For brevity, we will refer to the peers searching
based on DNS architecture as DNSQ, the Bruth-Force
searching method with 200 threads simultaneous as
T200, the Bruth-Force searching method with 100
threads simultaneous as T100, as well as T20, T40,
T120 and the like. For example, "T150" is the searching
manner where the peers searching in a Class C networks
is implemented using Bruth-Force searching method
with 150 threads concurrently during each searching.
In our scheme, we study the effectiveness of
Bruth-Force method for peers searching in comparison
with DNSQ within a Class C networks, two Class C
networks and three Class C networks separately. We
examine the execution time and network data
transmission (bps) of Bruth-Force with 20 threads, 40
threads, 50 threads, 100 threads, 150 threads, 200
threads and 254 threads respectively within the three
different networks scopes. In addition, there is only a
peer in searching at the same time.
(a) (b) (c)
Figure 10. Bruth-Force searching method with different
threads within the network scope with (a) one Class-C (b)
two Class-C (c) three Class-C
Figure 10 shows how the transmission rate and
execution time is affected by the number of threads per
searching with three different searching scopes. For
example, in Figure 10(a), we discovered that it takes
15.5s for peers searching with Bruth-Force searching
method in 254 threads within a Class C network;
however, it takes 135.1s to complete the peers searching
in 20 threads within the same searching scope. So, it is
better to use 254 threads rather than 20 threads as we
consume less time to complete a search. However, it
seems to be a tradeoff between time duration and
bandwidth consumption by using Bruth-Force searching
methods. Furthermore, we found that execution time
was inverse proportioned to the transmission amount.
Given the same amount of peers information, our
proposed method has greater searching rate as 34.92ms,
35.01ms and 37.01ms within a Class C networks, two
Class C networks and three Class C networks scope
respectively.
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE
The experiments show that Bruth-Force searching
method takes longer times than our proposed method
for peers searching: as our execution time is 37.01ms
while conventional DNS's is about 36.08s. We have
reduced the peers searching time and bandwidth
consumption in taking advantages of DNS hierarchical
structure. In this paper, we measured the proportion of
searching time to the number of peers with the formula
which stated as below:
Q
Pi
Fi =
for i = 1, 2, n (1)
where P is the execution time of peers searching above
one Class C network, Q is execution time of peers
searching within a Class C network, i is the amount of
Class C. Table 1 show the proportion of execution time
in a complete peers searching within two Class C
network and three Class C network as compare with a
Class C network respectively. It was clearly shown that
the execution time for a search query is proportional to
the number of peers that must process the request before
finding the data. Hence, we found that Bruth-Force
searching method yield linear growth in execution time
as the number of peers gets increase from time to time.
Despite the increasing of peers, the execution time
remains the same in peers searching which utilize DNS
architecture. So, it is clearly shown the hierarchical
structure of our proposed method enable us to locate
peers in a fast model.
(a) (b)
Table 1. Proportion of execution time in a complete
peers searching within (a) two Class C networks and (b)
three Class C networks
4.1.1 Analysis
From our simulation studies, we found that
Bruth-Force searching method was linear growth in
execution time while the searching area expanded.
However, the growth rate of execution time
approximated to zero in peers searching by adapted to
the DNS hierarchical structure. In actual peers searching
process with the help of DNS, total data transmissions
were 13.6Kbit in least searching time. Supposing that
thousands of users were connected to a Class B
networks (254 Class C network) and the searching
process was progressing in a worst case which total data
transmissions were grown linearly. However, network
transmissions would not be influenced in this situation
as we only take 10ms in a fully searching with our
proposed method. On the other side, the execution time
was proportioned to the searching area by using
Bruth-Force searching method. It is important to point
out that our proposed method is concerned with
building a good virtual network topology with limited
bandwidth. Data transmission here was measured in a
total amount but not in a short duration since we totally
take 35ms to accomplish a peers searching process
within a Class C networks. Although it seems to be
burden the network bandwidth, in fact, the growth rate
of execution time approximated to zero while the
searching area increased linearly. So, we can conclude
that the proportion of searching area hardly affect the
execution time with our proposed method. Hence, it is
clear that our proposed method achieves fast query
response time without incurring excessive service
discovery traffic as compare with Bruth-Force solution.
Ultimately, we improve the scalability of peers
searching by avoiding the requirement that every node
should notice about other nodes. The proposed method
which utilizes DNS hierarchical structure not only
performs least searching time and low bandwidth but
also ensure that the search process results in a nearest
peer that has the desired content.
0
0,
0,4
0,(
0,;

,
,4
4 ; ( 3 (4 ; 5( 5 04 04;
k;pc(;
(a)

o
p
;

|
o
u

)

(
\
o
;
)
(

,
;
d
;
BFS 1Level
2Level 3Level
4Level 5Level
6Level 7Level
0
0,
0,4
0,(
0,;

,
,4
4 ; ( 3 (4 ; 5( 5 04 04;
k;pc(;
(b)

o
p
;

|
o
u

)

(
\
o
;
)
(

,
;
d
;
BFS 1Level
2Level 3Level
4Level 5Level
6Level 7Level
0
0,
0,4
0,(
0,;

,
,4
,(
4 ; ( 3 (4 ; 5( 5 04 04;
k;pc(;
(C)

o
p
;

|
o
u

)

(
\
o
;
)
(

,
;
d
;
BFS 1Level
2Level 3Level
4Level 5Level
6Level 7Level
Figure 11. Total Hop count with varying the number of replica when the numbers of contents are (a) 500 (b) 1500 (c)
2500 thousands
0
00
00
300
400
500
(00
4 ; ( 3 (4 ; 5( 5
[zp};zz,
(a)
S
|z

,
z
;,
[
z
v
;z
|;z

|[S

4
7
0
3
0
00
00
300
400
500
(00
4 ; ( 3 (4 ; 5( 5
[zp};zz,
(a)
S
|z

,
z
;,
[
z
v
;z
|;z

|[S

4
7
0
3
Figure 12. Standard Deviation with different searching area in 2500 thousands contents
4.2. Balanced Load Distribution
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE
In this section, the experiment was tested with
different searching area (global-wise searching,
searching within one level, two levels and the like) with
different number of contents as 500 thousands, 1500
thousands and 2500 thousands. In this experiment, we
examine the performance of load balancing with a
complete tree with seven levels in a P2P environment.
In Figure 11, we plot the total number of hops count
taken for a peer to retrieve the hot object over the
number of replicas for each of the number of contents
(500, 1500, 2500 thousands of contents) in P2P
networks. We found that the number of hops count
approximated to optimal search or even lesser with
arbitrary searching levels when the number of replicas
larger than 22. Hence, the searching time and cost will
approximate to global-wise searching when the number
of replicas larger than a certain amounts, no matter how
large the searching area is. It is clearly shown that our
proposed method with local search is capable of
distributing the load more evenly than Breadth First
Search (BFS). Moreover, we found that even given
large amount of contents, the end result has not much
different.
4.2.1 Analysis
In order to ensure that the load distribution is equally,
we adopt standard deviation to measure the gap between
practical situation and ideal value. The standard
deviation of different searching method and replicas is
then given by the following formula:
_
=
|
.
|

\
|
=
n
i
i
s
n
x
n
1
2
1
S
In our problem setting, n stands for the number of
replicas, x stands for the load, and Si for the number of
service in practical. The standard deviation is equal to
zero whenever the result of load distribution in practical
is equal to the average in mathematical calculation. It is
approaching to ideal load balance status as the value of
standard deviation more closely to zero.
Due to the reason that all nodes may send request for
searching specific content, the whole framework and the
depth of the tree is different depends on each query. The
depth of a tree is the number of levels of links, not
including the top. As the simulation we stated here, we
adopt a complete tree with seven levels, so the largest
depth of the nodes is 13 from the formula (n-1)*2 + 1.
0
00
00
300
400
500
(00
4 ; ( 3 (4 ; 5( 5
[zp};zz,
S
|z

,
z
;,
[
z
v
;z
|;z

|[S

4
7
0
3
Figure 13. Standard Deviation vs Replicas in 2500 contents
Our simulation study showed that serving data
discovery over local search is indeed effective in
improving the system performance significantly. We can
conclude that when the number of replica reach an
optimal level, the performance of content searching may
approximating to global-wise searching by just
searching a few levels. It is obvious that the more
replicas there are, the better the media delivery quality
of the specific content object is. Furthermore, our
proposed method reduces the total lookup requests and
thus delivers better performance.
5. Conclusion
While efficient content search in decentralized P2P
networks within a short duration is important, issues
concerning load-balancing with a view towards faster
access to data for normal users is rather challengeable.
In this paper, we proposed a decentralized service
discovery mechanism by harnessing all available
resources in the P2P networks and balance the load
without decreasing user response time. We can conclude
that when the numbers of replicas reach an optimal level,
the performance of contents searches approximating to
global-wise search by just searching a few levels. Our
simulation study showed that serving data discovery
over local search is indeed effective in improving the
system performance significantly. In our design, it is
obvious that the more replicas there are, the better the
media delivery quality of the specific content object is.
References
[1] Napster, Inc., http://www.napster.com.
[2] KaZaA, http://www.kazaa.com
[3] Young.K., Look no Server, Network. pp.21, 22 & 26, March
1993.
[4] Simon.S., Peer-to-Peer Network Management in an IBM SNA
Network, IEEE Network Magazine, Vol. 5, pp. 30-34, March
1991.
[5] Munindar, P.S., Peering at Peer-to-Peer Computing, IEEE
Internet Computing 2001, Jan/Feb 2001.Gnutella homepage,
http://www.gnutella.wego.com.
[6] Schollmeier, R., A Definition of Peer-to-Peer Networking for
the Classification of Peer-to-Peer Architectures and
Applications, IEEE Conference Peer-to-Peer 2001, pp. 27-39,
August 2001.
[7] Athens University of Economics and Business, White Paper: A
Survey of Peer-to-Peer File Sharing Technologies, The
eBusiness Centre
[8] I. Stocia, R. Morris, D. Karger, F. Kaashoek, and H. Balakrishnan,
Chord: A Scalable Peer-to-Peer Lookup Service for Internet
Applications, Proc. ACM SIGCOMM, pp.149-160, August 2001.
[9] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker,
A Scalable Content-Addressable Network, In ACM
SIGCOMM, August 2001.
[10] Gnutella homepage, http://www.gnutella.wego.com.
[11] I. Clarke, O. Sandberg, B. Wiley, and T. W. Hong, Freenet: A
Distributed Anonymous Information Storage and Retrieval
System, In Work on Design Issues in Anonymity and
Unobservability, pp. 311-320, July 2000.
[12] P. Mockapetris, Domain namesconcepts and facilities,
Internet Request for Comments (RFC 1034), February 1987.
[13] P. Mockapetris, Domain namesImplementation and
specification, Internet Request for Comments (RFC 1035),
February 1987.
[14] A. Kumar, J. Postel, C. Neuman, P, Danzig, and S. Miller,
Common DNS implementation error and suggested fixes,
Internet Request for Comments (RFC 1536), October 1993.
Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS'05)
0-7695-2281-5/05 $20.00 2005 IEEE

You might also like