0% found this document useful (0 votes)
116 views

Dynamic Search Algorithm in Unstructured

DS takes advantage of the strengths of flooding and random walk search algorithms. It resembles flooding in the short term to achieve wide coverage like flooding, but resembles random walk in the long term to control costs like random walk. DS can also be combined with knowledge-based search mechanisms to further improve performance. Numerical results show that DS provides better search performance and lower costs than flooding and random walk, performing up to 25 times better than flooding and 58 times better than random walk in power law graphs.

Uploaded by

arunavangala
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views

Dynamic Search Algorithm in Unstructured

DS takes advantage of the strengths of flooding and random walk search algorithms. It resembles flooding in the short term to achieve wide coverage like flooding, but resembles random walk in the long term to control costs like random walk. DS can also be combined with knowledge-based search mechanisms to further improve performance. Numerical results show that DS provides better search performance and lower costs than flooding and random walk, performing up to 25 times better than flooding and 58 times better than random walk in power law graphs.

Uploaded by

arunavangala
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

654 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO.

5, MAY 2009

Dynamic Search Algorithm in Unstructured


Peer-to-Peer Networks
Tsungnan Lin, Senior Member, IEEE, Pochiang Lin, Student Member, IEEE,
Hsinping Wang, and Chiahung Chen

Abstract—Designing efficient search algorithms is a key challenge in unstructured peer-to-peer networks. Flooding and random walk
(RW) are two typical search algorithms. Flooding searches aggressively and covers the most nodes. However, it generates a large
amount of query messages and, thus, does not scale. On the contrary, RW searches conservatively. It only generates a fixed amount of
query messages at each hop but would take longer search time. We propose the dynamic search (DS) algorithm, which is a generalization
of flooding and RW. DS takes advantage of various contexts under which each previous search algorithm performs well. It resembles
flooding for short-term search and RW for long-term search. Moreover, DS could be further combined with knowledge-based search
mechanisms to improve the search performance. We analyze the performance of DS based on some performance metrics including the
success rate, search time, query hits, query messages, query efficiency, and search efficiency. Numerical results show that DS provides a
good tradeoff between search performance and cost. On average, DS performs about 25 times better than flooding and 58 times better
than RW in power-law graphs, and about 186 times better than flooding and 120 times better than RW in bimodal topologies.

Index Terms—Peer-to-peer, performance analysis, search algorithm.

1 INTRODUCTION

I N unstructured peer-to-peer (P2P) networks, each node


does not have global information about the whole
topology and the location of queried resources. Because of
response back to the query source to indicate a query hit.
Otherwise, it sends the query messages to all of its
neighbors, except for the one the query message comes
the dynamic property of unstructured P2P networks, from. The drawback of flooding is the search cost. It
correctly capturing global behavior is also difficult [1], [2]. produces considerable query messages even when the
Search algorithms provide the capabilities to locate the resource distribution is scarce. The search is especially
queried resources and to route the message to the target inefficient when the target is far from the query source
node. Thus, the efficiency of search algorithms is critical to because the number of query messages would grow
the performance of unstructured P2P networks [3]. exponentially with the hop counts. Fig. 1 illustrates the
Previous works about search algorithms in unstructured operation of flooding. The link degree of each vertex in this
P2P networks can be classified into two categories: breadth graph is 4. If the network grows unlimited from the query
source, the number of query messages generated by
first search (BFS)-based methods, and depth first search
flooding at each hop would be 4, 12, 36, . . . , respectively.
(DFS)-based methods. These two types of search algorithms
If the queried resource locates at one of the third neighbors,
tend to be inefficient, either generating too much load on it takes 4 þ 12 þ 36 ¼ 52 query messages to get just one
the system [4], [5], or not meeting users’ requirements [6]. query hit.
Flooding, which belongs to BFS-based methods, is the On the other hand, random walk (RW) is a conservative
default search algorithm for Gnutella network [7], [8]. By search algorithm, which belongs to DFS-based methods [9],
this method, the query source sends its query messages to [10], [11], [12], [13]. By RW, the query source just sends one
all of its neighbors. When a node receives a query message, query message (walker) to one of its neighbors. If this
it first checks if it has the queried resource. If yes, it sends a neighbor does not own the queried resource, it keeps on
sending the walker to one of its neighbors, except for the one
the query message comes from, and thus, the search cost is
. T. Lin is with the Department of Electrical Engineering and Graduate
Institute of Communication Engineering, National Taiwan University,
reduced. The main drawback of RW is the long search time.
BL626, No. 1, Sec. 4, Roosevelt Road, Taipei 10617, Taiwan, ROC. Since RW only visits one node for each hop, the coverage of
E-mail: tsungnan@ntu.edu.tw. RW grows linearly with hop counts, which is slow compared
. P. Lin and H. Wang are with the Graduate Institute of Communication with the exponential growth of the coverage of flooding.
Engineering, National Taiwan University, No. 1, Sec. 4, Roosevelt Road, Moreover, the success rate of each query by RW is also low
Taipei 10617, Taiwan, ROC.
E-mail: d94942014@ntu.edu.tw, hpwang80@gmail.com. due to the same coverage issue. Increasing the number of
. C. Chen is with the Department of Electrical Engineering, National walkers might help improve the search time and success rate,
Taiwan University, No. 5, Lane 455, Sec. 6, Roosevelt Rd., Wunshan but the effect is limited due to the link degree and redundant
District, Taipei 116, Taiwan, ROC. E-mail: r95921122@ntu.edu.tw. path. As the example shown in Fig. 1, RW can only visit
Manuscript received 11 Apr. 2007; revised 17 Apr. 2008; accepted 16 July 12 vertices of second neighbors even when the number of
2008; published online 21 July 2008. walkers is set as 32. Certainly, the search is inefficient because
Recommended for acceptance by U. Ramachandran.
For information on obtaining reprints of this article, please send e-mail to:
32 walkers only visit 12 vertices at the second hop.
tpds@computer.org, and reference IEEECS Log Number TPDS-2007-04-0109. In this paper, we propose the dynamic search (DS)
Digital Object Identifier no. 10.1109/TPDS.2008.134. algorithm, which is a generalization of flooding and RW.
1045-9219/09/$25.00 ß 2009 IEEE Published by the IEEE Computer Society
LIN ET AL.: DYNAMIC SEARCH ALGORITHM IN UNSTRUCTURED PEER-TO-PEER NETWORKS 655

analogously, but DS avoids the extra cost to construct and


maintain the treelike suboverlay.
Knowledge-based search algorithms take advantage of the
knowledge learned from previous search results and route
query messages with different weights based on the knowl-
edge. Thus, each node could relay query messages more
intelligently. Some examples are adaptive probabilistic
search (APS) [27], [28], biased RW [29], routing index (RI)
[30], local indices [31], and intelligent search [32]. APS builds
the knowledge with respect to each file based on the past
experiences. RI classifies each document into some thematic
categories and forwards query messages more intelligently
Fig. 1. A simple scenario of P2P network to demonstrate the operation of
based on the categories. The operation of local indices is
flooding and RW.
similar to that of super-peer networks. Each node collects the
file indices of peers within its predefined radius. If a search
DS overcomes the disadvantages of flooding and RW and request is out of a node’s knowledge, this node would
takes advantage of different contexts under which each perform a flooding search. The intelligent search uses a
search algorithm performs well. The operation of DS
function to compute the similarity between a search query
resembles flooding for the short-term search and RW for the
and recently answered requests. Nodes relay query messages
long-term search. In order to analyze the performance of DS,
based on the similarity. There are some other research works
we apply the random graphs as the models of network
that focus on replicating a reference pointer to queried
topologies and adopt the probability generating functions to
resources in order to improve the search time [33], [34].
model the link degree distribution [14]. We evaluate the
performance of search algorithms in accordance with some
performance metrics including the success rate, search time, 3 DYNAMIC SEARCH ALGORITHM
number of query hits, number of query messages, query
In this section, we provide the details of the proposed
efficiency, and search efficiency [9], [15], [16]. Simulation
experiments are performed in a dynamic P2P networking DS algorithm. Section 3.1 presents the operation of
environment in order to collect convincing results for DS algorithm, and Section 3.2 provides the mechanism to
algorithm evaluations. The factors considered include the combine DS with the knowledge-based search algorithms.
network topology, link degree distribution, peer’s joining and
3.1 Operation of Dynamic Search Algorithm
leaving, and querying behavior as well as the activity of file
sharing [10], [17], [18], [19]. Our dynamic network model is DS is designed as a generalization of flooding, MBFS, and
constructed based on these factors that strongly reflect the RW. There are two phases in DS. Each phase has a
real measurement studies [17], [20], [21], [22]. Numerical different searching strategy. The choice of search strategy
results show that DS could provide a good tradeoff between at each phase depends on the relationship between the
search performance and cost. On average, DS performs about hop count h of query messages and the decision thresh-
25 times better than flooding and 58 times better than RW in old n of DS.
power-law graphs, and about 186 times better than flooding
and 120 times better than RW in bimodal topologies. 3.1.1 Phase 1. When h  n
The rest of this paper is organized as follows: Section 2 At this phase, DS acts as flooding or MBFS. The number of
shows the related works about the search issue in neighbors that a query source sends the query messages to
unstructured P2P networks, followed by the detailed depends on the predefined transmission probability p. If the
description of the proposed DS algorithm in Section 3. link degree of this query source is d, it would only send the
The performance analysis is given in Section 4. Numerical query messages to d  p neighbors. When p is equal to 1, DS
results and discussions are given in Section 5. Finally, the resembles flooding. Otherwise, it operates as MBFS with the
conclusion is presented in Section 6. transmission probability p.

3.1.2 Phase 2. When h > n


2 RELATED WORKS
At this phase, the search strategy switches to RW. Each
Flooding and RW are two typical examples of blind search node that receives the query message would send the query
algorithms by which query messages are sent to neighbors message to one of its neighbors if it does not have the
without any knowledge about the possible locations of the queried resource. Assume that the number of nodes visited
queried resources or any preference for the directions to send. by DS at hop h ¼ n is the coverage cn , and then the
Some other blind search algorithms include modified BFS operation of DS at that time can be regarded as RW with cn
(MBFS) [23], directed BFS [6], expanding ring [17], and walkers. However, there are some differences between DS
random periodical flooding (RPF) [24]. These algorithms try and RW when we consider the whole operation. Consider
to modify the operation of flooding to improve the efficiency. the simple scenario shown in Fig. 1. Assume that the
However, they still generate a large amount of query decision threshold n is set as 2. When h > 2, DS performs
messages. Jiang et al. propose a LightFlood algorithm, which the same as RW with c2 ¼ 12 walkers. Let us consider an
is a combination of the initial pure flooding and subsequent RW search with K ¼ 12 walkers. At the first hop, the
tree-based flooding [25], [26]. DS and LightFlood operate walkers only visit four nodes, but the cost is 12 messages.
656 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO. 5, MAY 2009

Fig. 3. Illustration for the operation of knowledge-based DS algorithm.

Fig. 3 shows an example of knowledge-based DS


algorithm. Node A initializes a search for a certain object.
It makes its forwarding decision of which neighbors should
be sent to in accordance with the probability table shown in
Table 1. Assume the messages are sent to nodes B, C, and F.
When node B receives the message, it checks its probability
table shown in Table 1 and generates another two query
messages to nodes I and G.

Fig. 2. The pseudocode of DS algorithm. 4 PERFORMANCE EVALUATION


In this section, we present the performance evaluation of DS.
RW would generate a large amount of redundant messages We apply Newman’s random graph as the network topology,
when K is set too large. adopt the generation functions to model the link degree
Suppose that s is the query source, r is the vertex that distribution [14], and analyze DS based on some performance
receives the query message, f is the queried resource, mi is metrics, including the success rate, search time, query hits,
the ith query message, and T T L is the time-to-live query messages, query efficiency, and search efficiency. The
limitation. Fig. 2 shows the pseudocode of DS. analysis by generating functions talks about a graph all of
In short, DS is designed to perform aggressively for the whose parameters are exactly what they should be on an
short-term search and conservatively for the long-term average random graph. Although the analysis using generat-
search. Obviously, the parameters n and p would affect the ing functions has appeared in many places by physicists, e.g.,
performance of DS. In Section 3.2, we will analyze the [10], it maybe not strict enough in the computer science
performance of DS and show the effects of parameters n and p.
context. Mihail et al. provide a strict analysis for RWs in
3.2 Knowledge-Based Dynamic Search power-law random graphs [35].
Some knowledge-based search algorithms, including APS, 4.1 Network Model
biased RW, RI, local indices, and intelligent search, are
applicable to combine with our DS algorithm, and any First, we summarize Newman’s work about the random
training or caching operations are benefit from our DS graph. Let G0 ðxÞ be the generating function for the distribu-
algorithm as well. In this section, we present the generic tion of the vertex degree k. G0 ðxÞ can be represented as
scheme to incorporate these knowledge-based search algo-
X
m
rithms with our DS algorithm. We construct the probabilistic G0 ðxÞ ¼ pk xk ; ð1Þ
function based on the information learned from the past k¼1
experiences, with respect to each search target, search time,
and local topology information. Thus, a node has more where pk is the probability that a randomly chosen vertex in
information to intelligently decide how many query mes- the graph has degree k, and m is the maximum degree.
sages to send and to which peers these messages should be
forwarded. Take APS as an example. The peer applying APS
search builds a probability table for each neighbor and each TABLE 1
object. It consistently refines its probability table by the search
experiences. If a search query for some object delivers to a
certain neighbor successfully, the probability entry corre-
sponding to that neighbor and object is increased. If the search
fails finally, it will decrease the probability entry. In
accordance with APS, when a certain node receives a hit
from peer i, it adds 10 points for the entry of peer i; if peer i
fails to respond the hit to that node, the node subtracts
10 points for the entry of peer i. (a) Probability table for node A. (b) Probability table for node B.
LIN ET AL.: DYNAMIC SEARCH ALGORITHM IN UNSTRUCTURED PEER-TO-PEER NETWORKS 657

Based on the generating function, the average degree of a where R is the replication ratio, and C is the coverage. This
randomly chosen vertex is given by formula shows that SR highly depends on the coverage of the
search algorithms. We use (8) to obtain an important
X
m
z1 ¼ hki ¼ kpk ¼ G00 ð1Þ: ð2Þ performance metric, the search time ðST Þ, in the following.
k¼1
4.2.2 Search Time ðST Þ
The average number of second neighbors is
To represent the capability of one search algorithm to find
 
d the queried resource in time with a given probability, we
z2 ¼ G0 ðG1 ðxÞÞ ¼ G00 ð1ÞG01 ð1Þ; ð3Þ define the search time ðST Þ as the time it takes to guarantee
dx x¼1
the query success with success rate requirement SRreq . ST
where G1 ðxÞ is given by represents the hop count that a search is successful with a
G00 ðxÞ probabilistic guarantee. Using (8), ST is obtained when the
G1 ðxÞ ¼ : ð4Þ coverage C is equal to logð1RÞ ð1  SRreq Þ. For MBFS search
G00 ð1Þ
algorithms, this situation occurs when
Due to the difficulties to correctly measure and sample
the operational P2P networks, there are only limited real  2
p  G00 ð1Þ þ p2  G00 ð1Þ  G01 ð1Þ þ p3  G00 ð1Þ  G01 ð1Þ
data about the topologies of such networks. In this paper,  ST 1 ð9Þ
we will use the top two most common topologies, the þ    þ pSTMBF S  G00 ð1Þ  G01 ð1Þ MBF S
power-law graphs and the bimodal topologies, to evaluate ¼ logð1RÞ ð1  SRreq Þ:
the search performance.

4.1.1 Power-Law Graphs Thus, ST for MBFS is


For the power-law random graph with the degree   !
exponent , pk is proportional to k [36]. That is, p  G01 ð1Þ  1  logð1RÞ ð1  SRreq Þ
STMBF S ¼ logpG01 ð1Þ þ1 :
p  G00 ð1Þ
pk / k : ð5Þ
ð10Þ
According to [11], the following approximations for the
power-law distribution are obtained:
ST of flooding is analog to that of MBFS with probability
1 p ¼ 1.
G00 ð1Þ ffi ð1  m2 Þ ð6Þ
 2 The calculation of RW depends on the number of
and walkers k. When k is set as 1, ST for RW is obviously
logð1RÞ ð1  SRreq Þ. When k is larger than 1, assume that
1 m3
G01 ð1Þ ffi  ; ð7Þ  t1  t
G00 ð1Þ 3 G00 ð1Þ  G01 ð1Þ  k  G00 ð1Þ  G01 ð1Þ ; ð11Þ
assuming 2 <  < 3.
i.e., k is equal to or larger than the average number of the
4.1.2 Bimodal Topologies tth neighbors of the query source, and assume that the
For the bimodal network topology [12], [29], few ultra-peers effect of redundant paths can be neglected, and then the
are connected to a large number of nodes, and the rest have calculation for ST of RW can be expressed as
few neighbors. This assumption is regarded as realistic and
followed by most papers such as [37] and [38]. The  t1
probability that a randomly chosen peer belongs to the G00 ð1Þ þ G00 ð1Þ  G01 ð1Þ þ    þ G00 ð1Þ  G01 ð1Þ
ð12Þ
ultra-peers is denoted as pultra , and the probability that this þ k  ðSTRW  tÞ ¼ logð1RÞ ð1  SRreq Þ:
peer belongs to the other part with few neighbors is thus
pfew ¼ 1  pultra . The degrees of the ultra-peers and the
peers with few neighbors are denoted as kultra and kfew . ST for RW is
Applying these parameters to (1), (2), (3), and (4), the
P  0 i
average number of neighbors at each hop for the bimodal logð1RÞ ð1SRreq Þ t1 0
i¼0 G0 ð1Þ G1 ð1Þ
topologies could be obtained. STRW ¼ þt: ð13Þ
k
4.2 Performance Analysis Now, we consider ST for DS. When the hop count h of
4.2.1 Success Rate ðSRÞ the query message is smaller than or equal to the decision
The success rate ðSRÞ is the probability that a query is threshold n, ST of DS is equal to (10). When h is larger than
successful, i.e., there is at least one query hit. Assume n, the calculation can be expressed as
that the queried resources are uniformly distributed in  2
the network with a replication ratio R. SR can be p  G00 ð1Þ þ p2  G00 ð1Þ  G01 ð1Þ þ p3  G00 ð1Þ  G01 ð1Þ
 n1 n
calculated as þ    þ pn  G00 ð1Þ  G01 ð1Þ þp  G00 ð1Þ ð14Þ
 0 n1
SR ¼ 1  ð1  RÞC ; ð8Þ  G1 ð1Þ ðSTDS  nÞ ¼ logð1RÞ ð1  SRreq Þ:
658 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO. 5, MAY 2009

Therefore, ST for DS is m=i1


pi ¼ Pn 1
; ð19Þ
i¼1 m=i
logð1RÞ ð1  SRreq Þ
STDS ¼ n þ  n1 where  is the power-law exponent, and m is the maximum
 G00 ð1Þ  G01 ð1Þ
pn degree.
 n
p  G01 ð1Þ 1 When considering RW, we first calculate the probability
   n1 ð15Þ that a vertex i is the candidate of RW, i.e.,
p  G01 ð1Þ  1  p  G01 ð1Þ

logð1RÞ ð1  SRreq Þ pi  G00 ð1Þ; for h ¼ 1;
ffin þ  n1  1: Pi ðRh Þ ¼  C ð20Þ
pn  G00 ð1Þ  G01 ð1Þ 1  1  pi  G01 ð1Þ h1 ; for h  2:

We compare ST ’s for DS and RW with one walker. The Then, the average number of candidates of RW at hop h is
improvement ratio is X
n
rh ¼ Pi ðRh Þ: ð21Þ
STRW  STDS G0 ð1Þ 1 i¼1
ffi 1  10   : ð16Þ
STRW G0 ð1Þ p  G01 ð1Þ n
Hence, the probability that vertex i is visited at hop h
In (16), the last term on the right would significantly affect for RW is
the performance improvement. ST of DS would be exponen- h i
tially decreased with n, which can be expressed as Oð1=nÞ. Pi ðVh Þ ¼ Pi ðRh Þ  1  ð1  1=rh Þk ; ð22Þ
Larger p would also affect the performance, but the effect is
where k is the number of walkers.
slow when compared with n. The extreme case of n is that it is
The calculation of visiting probability Pi ðVh Þ for DS
set as T T L, i.e., DS performs as flooding or MBFS. In this case, depends on the relation between h and n. When h  n,
ST would be the shortest, whereas it would also generate a Pi ðVh Þ is given by (18). When h > n, (20), (21), and (22) are
huge amount of query messages at the same time. The used to get Pi ðVh Þ, where k in (22) is set as Cn , i.e., the
tradeoff between the search performance and the cost should coverage at the nth hop. Therefore, the visiting probability
be taken into consideration. In the following paragraphs, we Pi ðVh Þ of DS is given by
further analyze the number of query hits and the number of 8
query messages and further combine these metrics into the > p  pi  G00 ð1Þ; for h ¼ 1;
<  Ch1
0
query efficiency and search efficiency. Pi ðVh Þ ¼ 1  1  hp  p i  G1 ð1Þ ;i for 2  h  n;
>
: P ðR Þ  1  ð1  1=r ÞCn ; for h > n:
i h h
4.2.3 Query Hits ðQHÞ
The number of query hits highly depends on the coverage, ð23Þ
i.e., the number of total visited nodes. Assume that the
queried resources are uniformly distributed with the 4.2.4 Query Messages ðQMÞ
replication ratio R in the network, and the coverage is C. When considering the flooding and MBFS cases, the query
The number of query hits is R  C. The coverage C can be message eh generated at hop h is given by
regarded as the summation of the coverage at each hop. 
Therefore, we first analyze the coverage Ch at the hth hop. Let p  G00 ð1Þ; for h ¼ 1;
eh ¼ ð24Þ
Vh be the event that a vertex is visited at the hth hop. Suppose p  G01 ð1Þ  Ch1 ; for h  2:
the probability that the vertex i is visited at the hth hop is
Pi ðVh Þ. When the hop count h ¼ 1, Ch is the expectation of the When considering the RW case, the number of query
vertices that are visited at the first hop. When the hop count h messages for each hop keeps fixed as k, i.e., the number of
is larger than 1, the calculation of Ch should preclude the walkers. Therefore, the total number of query messages for
event that the vertex has been visited in the previous hop. RW is k  T T L.
Therefore, the coverage Ch at the hth hop can be written as The calculation of query messages for DS depends on h
8P and n. The query messages eh generated at hop h for DS can
n
>
> be written as
< Pi ðVh Þ; for h ¼ 1;
i¼1
Ch ¼ P ð17Þ 8
> Q
n h1  < p  G00 ð1Þ; for h ¼ 1;
>
: 1  Pi ðVj Þ  Pi ðVh Þ; for h  2;
i¼1 j¼1 eh ¼ p  G01 ð1Þ  Ch1 ; for 2  h  n; ð25Þ
:
Cn ; for h > n:
where N is the total number of vertices in the network.
Next, we analyze the visiting probability Pi ðVh Þ for
flooding, MBFS, RW, and DS, respectively. First, we 4.2.5 Query Efficiency ðQEÞ
consider the flooding and MBFS cases. The visiting The number of query hits ðQHÞ and the number of query
probability Pi ðVh Þ of flooding or MBFS is messages ðQMÞ are the well-known performance metrics
 for the evaluations of search algorithms. Generally speak-
p  pi  G00 ð1Þ; for h ¼ 1;
Pi ðVh Þ ¼  0
Ch1 ð18Þ ing, the objective of search algorithms is to get the most
1  1  p  pi  G1 ð1Þ ; for h  2;
query hits with the fewest query messages, but these two
where pi is the probability that vertex i is to be reached by metrics often conflict with each other. Therefore, it requires
certain edge. Aiello et al. [39] shows that pi can be written as a more objective metric to evaluate the search performance.
LIN ET AL.: DYNAMIC SEARCH ALGORITHM IN UNSTRUCTURED PEER-TO-PEER NETWORKS 659

We adopt the performance metrics proposed in [15], query and [20] have suggested that the topology of Gnutella
efficiency ðQEÞ and search efficiency ðSEÞ, which consider network has the property of two-segment power-law link
both the search performance and the cost. The similar distribution. Thus, we construct a P2P network of
criterion can also be found in [9]. First, we calculate QE. In 100,000 peers in our simulator, in which the link distribution
[15], QE is defined as follows the reported two-segment power law. We set the
PT T L first power-law slope as 0.2316 and the second as 1.1373,
QHðhÞ 1 which are similar to the ones used in [17]. The statistics result
QE ¼ h¼1  ; ð26Þ
QM R of the topology embedded in our simulator are that the
maximum link degree is 632, mean is 11.73, and standard
where QHðhÞ is the query hits at the hth hop, QM is the
deviation is 17.09. Once the node (peer) degrees are chosen,
total number of query messages generated during the we connect these peers randomly and reassure every peer is
query, and R is the replication ratio of the queried object. connected properly (each peer has at least one link).
Since a search getting hits in a faster fashion delivers better For the object distribution of the network, we assume
users’ experiences and should be gauged as the higher there are 100 distinct objects with replication ratio of
reputation, we modify (26) and show two types of QE’s. R ¼ 1 percent; totally, there are 100,000 objects in the
QE1 is calculated as (26) shows, and QE2 penalizes search network. The distribution of the 100,000 objects over the
results coming from far away, i.e., network follows the measurement characteristics reported
PT T L in [21]. In addition, due to the dynamic environment—
QHðhÞ=h 1 peers join and leave dynamically—described in the
QE2 ¼ h¼1  : ð27Þ
QM R following section, the total number of objects available
in the network will fluctuate according to the network size
4.2.6 Search Efficiency ðSEÞ (number of online peers), but the replication ratio will
The search efficiency ðSEÞ is proposed as a unified roughly remain constant.
performance metric for search algorithms [15]. A similar Our dynamic peer behavior modeling largely follows the
criterion can be found in [9]. While the query efficiency QE proposed idea of the peer cycle [18], which includes joining,
does not consider the success rate SR, SE is defined as querying, idling, leaving, and joining again to form a cycle.
PT T L The joining and leaving operations of peers (include idling)
QHðhÞ=h SR are inferred and then modeled by the uptime and session
SE ¼ h¼1  ; ð28Þ
QM R duration distributions measured in [21] and [22]. These
where QHðhÞ=h is the query hits in the hth hop weighted measurement studies show similar results in the peer
by the hop count, QM is the total number of query uptime distribution, where half of the peers have uptime
messages generated during the query, SR is the probability percentage less than 10 percent and the best 20 percent of
that the query is successful, i.e., there is at least one query peers have 45 percent uptime or more. We use the log-
hit, and R is the replication ratio of the queried object. Thus, quadratic distribution suggested in [22] to rebuild the
the success rate SR is taken into consideration. Assume that uptime distribution, which is plotted in Fig. 4. However, for
the object is uniformly distributed in the network. Then, the the session duration distribution, those two studies lead to
query hit at the hth hop is equal to the multiplication of the different results. The median of session time in [22] is about
coverage at the hth hop and the replication rate R. 15 minutes, while it is 60 minutes in [21]. In our modeling,
Therefore, (28) can be written as we choose the median session duration time to be
PT T L 20 minutes.
PT T L Ch
C h  R=h 1  ð1  RÞ h¼1 By these two rebuilt distributions, we can generate a
SE ¼ h¼1 PT T L  ; ð29Þ
R probability model to decide when a peer should join or
h¼1 eh
leave the network and how long it should continually be
where Ch is the coverage at the hth hop, eh is the query online. The basic rule to assign peers’ attributes is that peers
messages generated at the hth hop, and R is the replication with higher link degrees are assigned to higher uptime
ratio. We consider two types of SEs. SE1 does not penalize percentages and longer session durations, and vice versa.
search results coming from far away, i.e., With these conditions, we map a 2-hour-long dynamic join/
PT T L leave pattern for peers. On average, there are 10 peers
PT T L
h¼1 Ch  R 1  ð1  RÞ h¼1 Ch joining or leaving simultaneously. Since the mean value of
SE1 ¼ P TTL
 ; ð30Þ uptime distribution is about 18 percent, the resulting
h¼1 eh
R
average number of online peers is 18,152. Moreover, the
and SE2 is calculated as (29) shows. maximum number of online nodes is 24,218, while the
minimum number is 4,886.
4.3 Experimental Environment We model the dynamic querying model as Poisson
We construct the experimental environment to evaluate the distribution with the idle time  ¼ 50 minutes; that is, each
performance of the knowledge-based DS algorithm. For the peer will initiate a search every 50 minutes on average.
network topology modeling, we model the P2P network as Since there is no direct measurement about the idle time, we
Gnutella to provide a network context in which peers can just use an experiential value. The choice of this parameter
perform their intended activities. The measurements in [17] is insensitive to our search performance evaluation. With
660 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO. 5, MAY 2009

Fig. 5. The effects of the parameters ðn; pÞ on the SE. Power-law


Fig. 4. SE versus hop count when p is set as 1 and n is changed from 1
topology with N ¼ 10;000. T T L ¼ 7. The best SE is obtained when ðn; pÞ
to 7. Power-law topology with N ¼ 10;000. When n is set as 2, DS gets is set as (2, 1).
the best performance for almost all hop counts.

context, when p is large (0.7-1), setting n ¼ 2 would get the


the idle time of 50 minutes, there are thus about six queries best SE. Moreover, the best n value increases as p decreases,
or searches processing concurrently in the network on as Fig. 6 shows. For example, when p is set as 0.2, the best n
average. Totally, in this 2-hour simulation, we generate would be 6 or 7. This is because when p is small, n should be
43,632 search queries. Furthermore, for the query distribu- increased to expand the coverage. On the contrary, n should
tion of search objects, we model it as zipf distribution with be decreased to limit the growth of query messages when p
parameter a ¼ 0:82, similar to the ones used in [17] and [27]. is large. Therefore, the parameters n and p provide the
Finally, our simulator’s central clock is triggered per tradeoff between the search performance and the cost. It
second, which measures a hop for messaging passing and shows the best SE is obtained when ðn; pÞ is set as (2, 1).
serves as a basic time unit for all peer operations. Due to space constraints, the best parameters for other
contexts are skipped in this paper, which can be found
5 NUMERICAL RESULTS AND DISCUSSION through similar operation.
In this section, we show the numerical results of 5.1.2 Search Time
performance evaluation. We show the effectiveness of our
We show the numerical results of ST in Fig. 7. In this case,
DS algorithm and the effects of parameters n and p in
Section 5.1. Then, the performance evaluation results of the N is set as 10,000, R is set as 0.01, and T T L is set as 7.
knowledge-based DS algorithm are shown in Section 5.2. Similar results can be obtained when the parameters are set
as other values. The walkers K for RW are set as 1 and 32.
5.1 Performance of Dynamic Search The decision thresholds n are set as 2, 3, and 7, and p is set
5.1.1 Effects of Parameters n and p of DS as 1. T T L is set as 7 in this case, thus DS with n ¼ 7 is equal
First, N is set as 10,000. Power-law topology is adopted and to flooding. From Fig. 7, DS with large n always gets the
the exponent  is set as 2.1, which is analog to the real- short ST because it always covers more vertices. On the
world situation [10]. Replication ratio R is set as 0.01 in this contrary, RW with K ¼ 1 always gets the longest ST since
case. Fig. 4 illustrates how the decision threshold n of DS its coverage is only incremental by one at each hop. When
would affect the system performance. Due to space K is set as 32, its coverage is enlarged and ST can be
constraints, we only show the result when p is set as 1. improved. However, DS still performs better than RW with
The case n ¼ 1 is analog to RW with K equal to the number 32 walkers even when n is set as only 2. Note that when n is
of first neighbors, which is roughly 3.55 in this case. The set as 3, DS performs as well as that with n ¼ 7, i.e., the
case n ¼ 7 is equal to the flooding. As this figure shows, DS
with n ¼ 7 sends the query messages aggressively in the
first three hops and gets good SE. However, the perfor-
mance degrades rapidly as the hop increases. This is
because the cost grows exponentially with the path length
between the query source and the target. On the contrary,
SE of RW is better than that of the flooding when the hop is
5 to 7. When n is set as 2, DS gets the best SE for almost all
hop counts. This figure shows that a good choice of
parameter n can help DS to take advantage of different
contexts under which each search algorithm performs well.
In order to obtain the best ðn; pÞ combination, we
illustrate the ðn; p; SEÞ results in Fig. 5. Here, N is set as Fig. 6. The best ðn; pÞ combination when N is set as 10,000, R is set as
10,000, R is set as 0.01, and T T L is set as 7. Under this 0.01, and T T L is set as 7.
LIN ET AL.: DYNAMIC SEARCH ALGORITHM IN UNSTRUCTURED PEER-TO-PEER NETWORKS 661

Fig. 7. ST versus SR requirement. R is set as 0.01 in this case. The Fig. 8. Search efficiency for different number of nodes N in the network.
walkers K for RW are set as 1 and 32, respectively. The n of DS are set This figure shows the scalability of the DS algorithm.
as 2, 3, and 7, and p is set as 1. T T L is set as 7 in this case, thus the DS
with n ¼ 7 is equal to flooding.
5.1.5 Performance under Various Network Topologies
and Replication Ratios
flooding, while does not generate as many query messages.
Tables 2 and 3 show the search performance under power-
In summary, DS with n ¼ 2 and p ¼ 1 would get the best
law random graphs and bimodal topologies, respectively.
SE and significantly improve ST in this case. While
The replication ratio R is set as 0.01 percent, 0.1 percent, and
increasing n to 3, although SE is a little degraded, the
1 percent, respectively. The performance metrics including
shortest ST is obtained.
the success rate ðSRÞ, search time ðST Þ, number of query
5.1.3 Comparison with Other Advanced Search hits ðQHÞ, number of query messages ðQMÞ, query
Algorithms efficiency ðQEÞ, and search efficiency ðSEÞ are listed in
these tables. Two types of QE’s and SE’s are shown. Ones
We also compare the performance of DS with that of other
without the penalty that the search results come from far
advanced search algorithms including Hybrid Search [12]
away (QE1 and SE1 ), and others with the penalty (QE2 and
and Expanding Ring [17]. The number of nodes N is set as
SE2 ), as mentioned in Section 4.2. When considering QE1
10,000. Power-law exponent  is set as 2.1. Replication ratio
and QE2 , RW performs the best because it covers the fewest
R is set as 0.01 in this case. Fig. 4 shows SE’s of these search
redundant nodes. Although RW generates the fewest query
algorithms. SE of Hybrid Search is analog to that of RW.
messages, its SR, ST , QH, and the resulting SE do not
They both increase slowly with hop counts. SE of
perform well. In most cases, DS can perform closely to the
Expanding Ring is analog to but a little worse than that of
flooding search when considering SR and ST without
the flooding. This is because Expanding Ring would revisit
generating as many query messages as flooding does. In
the nodes it has already visited before. It would thus
summary, DS obtains satisfactory performances in spite of
generate redundant messages. SE of DS is better than that
the number of nodes, the replication ratio, and the network
of Hybrid Search and Expanding Ring for all hop counts.
topologies. On average, it performs about 25 times better
Fig. 7 shows ST ’s of these search algorithms. The
than flooding and 58 times better than RW in power-law
operation of Hybrid Search is analog to that of RW with
graphs, and about 186 times better than flooding and
K ¼ G01 ð1Þ. Based on our simulation parameters, G01 ð1Þ is
120 times better than RW in bimodal topologies.
roughly 16. Thus, ST of Hybrid Search is better than that of
RW(1) but worse than that of RW(32). ST of Expanding 5.2 Performance of Knowledge-Based Dynamic
Ring is almost one hop worse than that of the flooding. Search
When the flooding reaches the second neighbors at the In this section, we evaluate the search performance in a
second hop, Expanding Ring just revisits the first neighbors network where every node is capable of building knowl-
and there is no increment in coverage. For SR requirement edge with respect to the target through some learning
smaller than 0.7, ST of DS(2) is shorter than that of mechanisms. Any forwarding mechanism can improve the
Expanding Ring, while ST of DS(2) would be longer than search performance by leveraging over the knowledge. For
that of Expanding Ring for SR requirement larger than 0.7. example, APS [27] uses the adaptive probability learning
mechanism and adopts RW as the forwarding mechanism.
5.1.4 Scalability Besides, other forwarding mechanisms, e.g., MBFS or our
In order to validate the scalability of our DS algorithm, we dynamic forwarding, are also applicable to this learning
show the search efficiency for different number of nodes in mechanism. In order to evaluate the search performance,
Fig. 8. Nodes N are set as 10,000, 50,000, 100,000, and we adopt APS learning mechanism to build the knowledge.
500,000, respectively. The replication ratio R is set as 0.01, APS learning builds a probability table for each neighbor
and T T L is set as 7. This figure shows that our DS algorithm and each object. When a query for certain object forwarding
always performs better than flooding and RW in spite of the to a certain neighbor succeeds, the relative probability (or
number of nodes. weight) of the entry for that neighbor and that object is
662 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO. 5, MAY 2009

TABLE 2a
Performance of Flooding in Power-Law Graphs

TABLE 2b
Performance of RW in Power-Law Graphs

increased. Otherwise, it is decreased. Since the flooding search algorithms. The initial walker for APS is 10, the
forwards messages to all of the neighbors, the learning same as [27].
mechanism is useless for it, and so we do not evaluate The experimental results for different search algorithms
flooding here. For the MBFS with APS learning, the with the knowledge building mechanism are shown in
transmission probability p is set as 0.2, which is chosen to Fig. 9. With APS knowledge building mechanism, all search
keep the same amount of query messages as the other algorithms perform much better than they do without
LIN ET AL.: DYNAMIC SEARCH ALGORITHM IN UNSTRUCTURED PEER-TO-PEER NETWORKS 663

TABLE 2c
Performance of DS in Power-Law Graphs

TABLE 3a
Performance of Flooding in Bimodal Topologies

knowledge. Comparing these three search algorithms, for 6 CONCLUSION


the case at h ¼ 7, SE of DS is 24 percent better than that of In this paper, we have proposed the DS algorithm, which is a
RW, and 31 times better than that of MBFS. The outstanding generalization of the flooding, MBFS, and RW. DS overcomes
performance results from the good tradeoff between the the disadvantages of flooding and RW, and takes advantage
search performance and the cost. of various contexts under which each search algorithm
664 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO. 5, MAY 2009

TABLE 3b
Performance of RW in Bimodal Topologies

TABLE 3c
Performance of DS in Bimodal Topologies

performs well. It resembles flooding or MBFS for the short- parameters of DS can obtain short search time and provide a
term search and RW for the long-term search. good tradeoff between the search performance and cost.
We analyze the performance of DS based on some metrics
Under different contexts, DS always performs well. When
including the success rate, search time, number of query hits,
number of query messages, query efficiency, and search combined with knowledge-based search algorithms, its
efficiency. Numerical results show that proper setting of the search performances could be further improved.
LIN ET AL.: DYNAMIC SEARCH ALGORITHM IN UNSTRUCTURED PEER-TO-PEER NETWORKS 665

[17] Q. Lv, P. Cao, E. Cohen, K. Li, and S. Shenker, “Search and


Replication in Unstructured Peer-to-Peer Networks,” Proc. 16th
Ann. Int’l Conf. Supercomputing (ICS ’02), pp. 84-95, June 2002.
[18] Z. Ge, D.R. Figueiredo, S. Jaiswal, J. Kurose, and D. Towsley,
“Modeling Peer-Peer File Sharing Systems,” Proc. IEEE
INFOCOM ’03, pp. 2188-2198, 2003.
[19] K. Sripanidkulchai, The Popularity of Gnutella Queries and Its
Implications on Scalability, O’Reilly, www.openp2p.com, Feb. 2001.
[20] M. Ripeanu, A. Iamnitchi, and I. Foster, “Mapping the Gnutella
Network,” IEEE Internet Computing, vol. 6, no. 1, pp. 50-56,
Jan./Feb. 2002.
[21] S. Saroiu, P.K. Gummadi, and S.D. Gribble, A Measurement Study of
Peer-to-Peer File Sharing Systems. MMCN, Jan. 2002.
[22] J. Chu, K. Labonte, and B. Levine, “Availability and Locality
Measurements of Peer-to-Peer File Systems,” ITCom: Scalability
and Traffic Control in IP Networks, July 2002.
[23] V. Kalogeraki, D. Gunopulos, and D. Zeinalipour-Yazti, “A
Fig. 9. Performance comparison when combined with the knowledge- Local Search Mechanism for Peer-to-Peer Networks,” Proc.
based search mechanisms. DS always performs the best. ACM CIKM Int’l Conf. Information and Knowledge Management
(CIKM ’02), pp. 300-307, Nov. 2002.
[24] Z. Zhuang, Y. Liu, L. Xiao, and L.M. Ni, “Hybrid Periodical
ACKNOWLEDGMENTS Flooding in Unstructured Peer-to-Peer Networks,” Proc. 32nd Int’l
This work was supported in part by Taiwan National Conf. Parallel Processing (ICPP ’03), pp. 171-178, Oct. 2003.
[25] S. Jiang, L. Guo, and X. Zhang, “LightFlood: An Efficient
Science Council under Grants 97-2219-E-002-024, 96-2221- Flooding Scheme for File Search in Unstructured Peer-to-Peer
Systems,” Proc. 32nd Int’l Conf. Parallel Processing (ICPP ’03),
E-002-091, and 96-2219-E-002-006. pp. 627-635, Oct. 2003.
[26] S. Jiang, L. Guo, X. Zhang, and H. Wang, “LightFlood: Minimizing
Redundant Messages and Maximizing Scope of Peer-to-Peer
Search,” IEEE Trans. Parallel and Distributed Systems, vol. 19,
REFERENCES no. 5, pp. 601-614, May 2008.
[1] D. Stutzbach, R. Rejaie, N. Duffield, S. Sen, and W. Willinger, [27] D. Tsoumakos and N. Roussopoulos, “Adaptive Probabilistic
“Sampling Techniques for Large, Dynamic Graphs,” Proc. Ninth Search for Peer-to-Peer Networks,” Proc. Third Int’l Conf. Peer-to-
IEEE Global Internet Symp. (Global Internet ’06), Apr. 2006. Peer Computing (P2P ’03), pp. 102-109, Sept. 2003.
[2] A.H. Rasti, D. Stutzbach, and R. Rejaie, “On the Long-Term [28] D. Tsoumakos and N. Roussopoulos, “Analysis and Comparison
Evolution of the Two-Tier Gnutella Overlay,” Proc. Ninth IEEE of P2P Search Methods,” Technical Report CS-TR-4539, UMIACS-
Global Internet Symp. (Global Internet ’06), Apr. 2006. TR-2003-107, Dept. of Computer Science, Univ. of Maryland, 2003.
[3] D. Milojicic, V. Kalogeraki, R. Lukose, K. Nagaraja, J. Pruyne, [29] Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, and
B. Richard, S. Rollins, and Z. Xu, “Peer-to-Peer Computing,” S. Shenker, “Making Gnutella-Like P2P Systems Scalable,” Proc.
Technical Report HPL-2002-57, HP, 2002. ACM SIGCOMM ’03, pp. 407-418, Aug. 2003.
[4] K. Sripanidkulchai, The Popularity of Gnutella Queries and Its [30] A. Crespo and H. Garcia-Molina, “Routing Indices for Peer-to-
Implications on Scalability, white paper, Carnegie Mellon Univ., Peer Systems,” Proc. 22nd Int’l Conf. Distributed Computing Systems
Feb. 2001. (ICDCS ’02), pp. 23-32, July 2002.
[5] M. Jovanovic, F. Annexstein, and K. Berman, “Scalability Issues in [31] B. Yang and H. Garcia-Molina, “Improving Search in Peer-to-Peer
Large Peer-to-Peer Networks: A Case Study of Gnutella,” Networks,” Proc. 22nd Int’l Conf. Distributed Computing Systems
technical report, Laboratory for Networks and Applied Graph (ICDCS ’02), pp. 5-14, July 2002.
Theory, Univ. of Cincinnati, 2001. [32] V. Kalogeraki, D. Gunopulos, and D. Zeinalipour-Yazti, “A Local
[6] B. Yang and H. Garcia-Molina, “Improving Search in Peer-to-Peer Search Mechanism for Peer-to-Peer Networks,” Proc. 11th
Networks,” Proc. 22nd Int’l Conf. Distributed Computing Systems Int’l Conf. Information and Knowledge Management (CIKM ’02),
(ICDCS ’02), pp. 5-14, July 2002. pp. 300-307, Nov. 2002.
[7] G. Kan, “Gnutella,” Peer-to-Peer Harnessing the Power of Disruptive [33] R.A. Ferreira, M.K. Ramanathan, A. Awan, A. Grama, and
Technologies, O’Reilly, pp. 94-122, 2001. S. Jagannathan, “Search with Probabilistic Guarantees in
[8] RFC-Gnutella 0.6, http://rfc-gnutella.sourceforge.net /developer/ Unstructured Peer-to-Peer Networks,” Proc. Fifth IEEE Int’l
testing/index.html, 2008. Conf. Peer-to-Peer Computing (P2P ’05), pp. 165-172, Aug. 2005.
[9] C. Gkantsidis, M. Mihail, and A. Saberi, “Random Walks in [34] N. Sarshar, P.O. Boykin, and V.P. Roychowdhury, “Percolation
Peer-to-Peer Networks,” Proc. IEEE INFOCOM ’04, pp. 120-130, Search in Power Law Networks: Making Unstructured Peer-to-
2004. Peer Networks Scalable,” Proc. Fourth IEEE Int’l Conf. Peer-to-Peer
[10] L.A. Adamic, R.M. Lukose, A.R. Puniyani, and B.A. Huberman, Computing (P2P ’04), pp. 2-9, Aug. 2004.
“Search in Power-Law Networks,” Physical Rev., E, vol. 64, 046135, [35] M. Mihail, A. Saberi, and P. Tetali, “Random Walks with
2001. Lookahead in Power Law Random Graphs,” Internet Mathematics,
[11] L.A. Adamic, R.M. Lukose, and B.A. Huberman, “Local Search in 2006.
Unstructured Networks,” Handbook of Graphs and Networks. [36] L.A. Adamic, “The Small World Web,” Proc. Third European Conf.
pp. 295-317, Wiley-VCH, 2003. Digital Libraries (ECDL ’99), pp. 443-452, 1999.
[12] C. Gkantsidis, M. Mihail, and A. Saberi, “Hybrid Search [37] S. Behnel and A. Buchmann, “Models and Languages for Overlay
Schemes for Unstructured Peer-to-Peer Networks,” Proc. IEEE Networks,” Proc. VLDB Workshop Databases, Information Systems
INFOCOM ’05, pp. 1526-1537, 2005. and Peer-to -Peer Computing (DBISP2P ’05), Aug. 2005.
[13] N. Bisnik and A. Abouzeid, “Modeling and Analysis of [38] S. Behnel and A. Buchmann, “Overlay Networks—Implementation
Random Walk Search Algorithm in P2P Networks,” Proc. Second by Specification,” Proc. ACM/IFIP/USENIX Sixth Int’l Middleware
Int’l Workshop Hot Topics in Peer-to-Peer Systems (HOT-P2P ’05), Conf. (Middleware), 2005.
pp. 95-103, 2005. [39] W. Aiello, F. Chung, and L. Lu, “A Random Graph Model for
[14] M.E.J. Newman, S.H. Strogatz, and D.J. Watts, “Random Graphs Massive Graphs,” Proc. 32nd Ann. ACM Symp. Theory of Computing
with Arbitrary Degree Distribution and Their Applications,” (STOC ’00), pp. 171-180, 2000.
Physical Rev., E, vol. 64, 026118, 2001.
[15] H. Wang and T. Lin, “On Efficiency in Searching Networks,” Proc.
IEEE INFOCOM ’05, pp. 1490-1501, 2005.
[16] P. Lin, T. Lin, and H. Wang, “Dynamic Search Algorithm in
Unstructured Peer-to-Peer Networks,” Proc. Global Telecomm. Conf.
(GLOBECOM ’06), Nov. 2006.
666 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 20, NO. 5, MAY 2009

Tsungnan Lin received the BS degree in Hsinping Wang received the BS degree in
electrical engineering from the National Taiwan electrical engineering and the MS degree in
University, Taipei, in 1989 and the MA and PhD communication engineering from the National
degrees in electrical engineering from Princeton Taiwan University, Taipei, in 2002 and 2004,
University, Princeton, New Jersey, in 1993 and respectively. He is currently with the Graduate
1996, respectively. He was a teaching assistant Institute of Communication Engineering, Na-
in the Department of Electrical Engineering, tional Taiwan University. He is also starting up
Princeton University, from 1991 to 1992. From a social enterprise, called MEntoring, peering, to
1992 to 1996, he was a research assistant with Opportunity (MEPO) Humanity Technology, in-
NEC Research Institute. He has been with itiating a social campaign toward collective
EPSON R&D and EMC. Since February 2002, he has been with the deconfusions through Web 2.0 mentoring and peering while collecting
Department of Electrical Engineering and the Graduate Institute of goodwills in Taiwan, bearing the duty and attempting to strike a balance
Communication Engineering, National Taiwan University. He is a between commercial entity and nonprofit charity.
member of Phi Tau Phi Scholastic Honor Society and a senior member
of the IEEE. Chiahung Chen received the BS degree in
electrical engineering from the National Taiwan
Pochiang Lin received the BS degree in University, Taipei, in 2005. He is currently
communication engineering from the National working toward the MS degree in the Depart-
Chiao Tung University, Hsinchu, Taiwan, in ment of Electrical Engineering, National Taiwan
1996 and the MS degree in communication University. His main research interests include
engineering from the National Taiwan Univer- Internet topology and hardware acceleration of
sity, Taipei, in 2005. He is currently working network protocol.
toward the PhD degree in the Graduate Institute
of Communication Engineering, National Taiwan
University. His current research interests are in
wireless multimedia networking including hand-
off design, performance optimization, and QoS issues. He is a student . For more information on this or any other computing topic,
member of the IEEE. please visit our Digital Library at www.computer.org/publications/dlib.

You might also like