However, size of the seed message could be very large if it contains a full list of shared files. In order to reduce the message size and communication overhead, ...
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2007 proceedings.
P2P File Sharing System over MANET based on Swarm Intelligence: A Cross-layer Design Cheng-Chang Hoh and Ren-Hung Hwang Dept. Of Computer Science and Information Engineering, National Chung-Cheng University, Taiwan, R.O.C {abc93, rhhwang}@cs.ccu.edu.tw
Abstract—The dynamic nature of MANET causes many challenges in designing robust and scalable P2P system. Although flooding-based techniques are shown to be robust in highly dynamic network, it leads to poor efficiency in terms of bandwidth usage and scalability. In this paper, we propose an efficient and scalable P2P file sharing system based on Swarm Intelligence for MANET, referred to as P2PSI. By applying the behavior of the real ant colonies, P2PSI owns the capability of adaptive learning and is able to cope with mobility problem without flooding. Moreover, we also present a cross-layer architecture for P2PSI to reduce the redundant message overhead and query latency. Performance of our cross-layer design P2PSI is compared with two existing cross-layer design service discovery protocols, namely, CLdsr and CLdsdv through simulations. The simulation results show that our cross-layer design P2PSI achieves better performance in terms of control overhead, request success ratio, and path length. Index Terms—P2P, MANET, swarm intelligence, file sharing
I. INTRODUCTION Peer-to-Peer (P2P) applications have gained considerable attention in recent years. Each node in P2P system is communicating directly with each other such that scalability problem in client/server model can be alleviated. Many P2P file sharing systems, such as Gnutella [1], CAN [2], Chord [3] and Pastry [4] have been adopted on the wired Internet. Some of them do not build an overlay structure and rely on flooding technique, while some of them rely on an underlying overlay structure to make efficient file look up and routing. However, no of them is directly applicable to ad hoc networks due to the unpredictable movement and dynamic join and leave nature of mobile nodes. Typical solution to cope with mobility is based on flooding (e.g., ORION [5]). However, flooding mechanism may cause the broadcast storm problem. Therefore, how to efficiently locate and share data on MANET remains an open issue. Recently, several researches have shown that swarm intelligence is a promising technique to cope with mobility [6-7]. On the other hand, research on cross-layer design also demonstrates high efficient performance in a dynamic network environment [8-9]. Therefore, this paper tries to cope with challenges posted on P2P over MANET based on swarm intelligence and cross-layer design. While designing a P2P system over MANET, we also emphasize on some special, well-known features of P2P. In particular, we try to deal with the free-riders [11] and hot spots problem. That is, in a P2P system, we may expect that quite a
large portion of peers are free-riders, who only retrieve files from others without making contribution to share files. As a consequence, a node that is willing to share files usually becomes a hot spot which provides almost all popular files and some private collections. So, we may expect a 80-20 phenomenon where only 20% of nodes are willing to share files (hot spots) and 80% of files can be found on these hot spots. Swarm Intelligence is adopted to help to solve this problem. Swarm intelligence [10] is an artificial intelligence technique based on the study of individually biological swarms, such as ants moving between the nest and the food source leave pheromone, and preferentially moves in the direction of higher pheromone intensity. Shorter paths could be visited more frequently by ants, and will therefore be reinforced with higher pheromone intensity. Finally, the shortest path will be marked with the highest pheromone intensity. Most ants will therefore be attracted along the shortest path to the food source. Besides, with time the pheromone intensity will be evaporated, which forget stale paths and adapt to changing environments. We observe that swarm intelligence is very suitable for designing a P2P system on MANET since shared files resemble to food sources and pheromone amplification and evaporation are promising to cope with node mobility, unreliability, and free-rider problems. This paper presents a P2P file sharing system over MANET based on Swarm Intelligence, denoted as P2PSI, which uses a hybrid push-and-pull approach. P2PSI comprises advertisement (push) and discovery (pull) processes. In the advertisement process, each file holder regularly broadcasts an advertisement message to inform surrounding nodes about what files are to be shared. The discovery process locates the desired file, and leaves the pheromone to help subsequent search requests. The virtue of P2PSI is that it can adapt to dynamically changing topology and discover nearby file holders timely. Besides, we also present a cross-layer architecture which combines P2PSI with swarm intelligence routing protocol to minimize query latency and control overhead. The performance of the proposed protocol is evaluated through simulations. We compare our cross-layer design P2PSI with cross-layer design service discovery protocols, CLdsr [9] and CLdsdv [9]. Simulation results show that the cross-layer design P2PSI yields better performance, in terms of control overhead, request success ratio, and path length, in high node density and node mobility environment. The remainder of the paper is organized as follows. Section 2 presents the detail description of P2PSI. The cross-layer design architecture is presented in Section 3. In Section 4, we evaluate
1525-3511/07/$25.00 ©2007 IEEE
2676
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2007 proceedings.
the performance of the proposed protocol as well as that of CLdsr and CLdsdv through simulations. Conclusions are finally drawn in Section 5.
other hand, if the node does not receive hello messages from the neighbor for a long time, the information of that neighbor in its pheromone table will be removed.
II. P2PSI DESCRIPTION
TABLE I PHEROMONE TABLE
A. Assumptions Before describing P2PSI, we make two assumptions. First, we assume that a large fraction of users are free-riders [11]. In other words, there are only a small fraction of nodes that store and share files, referred to HotSpots. Second, the community pattern exists among HotSpots [12]; each of them only stores a few types of files. In general, we shall classify files into M types (communities) and each HotSpot only stores up to N of them. In particular, for each type of file, each HotSpot will store all top p% popular files and may store the reset of files depending on its memory space and access history. B. Overview of P2PSI P2PSI is a hybrid push-and-pull P2P system that relies on two processes: advertisement process and discovery process. The advertisement process is that each HotSpot periodically advertises a seed message containing digest information about files to be shared within a limited area. The digest information of shared files is based on Bloom filter [13] technique. Upon a node receives a seed message, it will cache this information. When being queried, the node that has the cache of the file information will send a reply to the querying node. In the discovery process, when a node wants to search for a file, it deploys query messages to find the identity of the node holding the desired file; query messages are forwarded at intermediate nodes based on their pheromone tables. If the identity is located, a reply message is returned to the requestor and laid pheromone information along the way. If subsequent query messages are looking for the same type of files, the query messages could follow previously laid pheromone information and not to traverse the entire network. C. Pheromone Table Each node maintains a pheromone table which records the pheromone intensity on each neighbor link. Intuitively, the pheromone intensity of a neighbor link denotes the probability of routing a query message via that neighbor; a higher pheromone intensity has a higher probability. An example of a pheromone table is shown in Table TABLE I, where each row is a file type and each column is a neighbor. The entries of the pheromone table denote the pheromone intensity of different neighbor links, referred to as pvn,t, where n denotes the neighbor node and t represents the file type. That is, pvn,t expresses the chance of choosing n as next hop when searching for t type file. Notably, based on our assumption if a node shares a file belonging to t type of file, it may hold many files belonging to that type. Hence, instead of recording file ID, pheromone table only maintains the type of file to avoid huge table size due to a large number of shared files. The neighbor information of the pheromone table is obtained via receiving hello messages from neighbors periodically. That is, each node broadcast a hello message every Thello seconds. If a node receives a hello message from a new neighbor n, it adds the information of neighbor n into its pheromone table. On the
neighbors Neighbor 1 file types pvn1,type1 File Type 1
Neighbor 2
….
Neighbor i
pvn2,type1
….
pvni,type1 pvni,type2
File Type 2
pvn1,type2
pvn2,type2
….
….
….
….
….
….
File Type j
pvn1,typej
pvn2,typej
….
pvni,typej
D. Advertisement Process The aim of advertisement process is to increase the probability that nodes find a HotSpot with the requested file. To achieve this goal, each HotSpot advertises its shared files information every Tadvertisement seconds by using a seed message. However, size of the seed message could be very large if it contains a full list of shared files. In order to reduce the message size and communication overhead, P2PSI adopts the Bloom filter [13] as a method for summarizing the list of shared files. Bloom filter is a way of using hash transforms to represent a set of objects; it is a bit array of length m with k independent hash functions, which map elements of the set to an integer in [0, m). Each object of the set is hashed with k functions and all bits that corresponding to the hash results are set to 1. To determine whether an object is in the Bloom filter; the object is hashed with the same functions. If all corresponding bits of the hash results in the Bloom filter are 1, the Bloom filter may (not absolutely) contain the object. Otherwise, the object is not in the Bloom filter. An error occurs when the hash results show that object e is contained in the Bloom filter but object e is not actually in the Bloom filter; this phenomenon is called false positive. The probability of false positive ƒ can be calculated using following formula: f = (1 − e( − kn / m ) )k
where m is the length of a Bloom filter (bits), n is the number of elements inserted into the Bloom filter, and k is the number of hash functions used. According to this formula, we will set the related parameters of the Bloom filter carefully to make the probability of false positive small enough such that it can be neglected, but also not to make the length of the Bloom filter too large (less than the MTU of the IEEE 802.11 wireless LAN). Additionally, in our design, every type of file has its own Bloom filter. For example, the Bloom filter belongs to music type containing only music files. The format of the seed message is given as follows: type
srcId
seqNum
hopCnt
shareType
BloomFilter
the source ID (srcId) and sequence number (seqNum) fields are used to distinguish duplicate messages. The hop count (hopCnt) filed denotes the distance a seed message has traversed. The shareType and BloomFilter fields are a pair to describe of shared files. Note that if a HotSpot shares more than one file types, the seed message will contain several corresponding sharedType and BloomFilter fields in the message.
2677
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2007 proceedings.
Besides, each node has a cache table to maintain received seed message. Hence, upon receiving a seed message with new seqNum by a node, it caches the information in the seed message. Then, it increases the value of hopCnt field in the message by one, and broadcasts it again if the value of hopCnt is smaller than LIMITseed. In this way, the seed message is broadcasted within a confined area to avoid flooding the entire network. E. Discovery Process If a mobile node (requestor) wants to search for a file, it first checks if it has cached the desired file information that has not expired. If not, it will generate some number of query messages to search for the desired file. The number of query messages to be originated depends on the current network status, the requestor checks that whether the maximum of pvn,t is lower the threshold MIN_PV, in which case it originates NUM_QUERY query messages. Otherwise, the requestor only originates one query message. The query message consists of the following fields: type
srcId
hopCnt fileId
fileType vnNum vNode1 … vNodevnNum
The fields fileId and fileType denote the requested file’s ID and file type of the requested file, respectively. The vnNum denotes the number of nodes that the packet has visited, and vNodevnNum denotes a list of visited nodes. Next, the requestor will forward query messages according to the intensity of the pheromone table. That is, the requestor will randomly select one of its neighbors as the next hop with the probability of Pn,t, which denotes the probability of forwarding the message to neighbor n to search t type of file. Equation (1) describes how to transform the pheromone intensity pvn,t of the pheromone table into the probability Pn,t: pvn ,t , if n ∉ vNodes (1) Pn,t = ∑ i∈N −vNodes pvi ,t 0 , Otherwise N represents the set of neighbors and vNodes denotes the set of nodes already visited in the query message, respectively. Equation (1) puts a constraint on that the query message should not be forwarded to a node that it has visited (i.e., the guarantee of loop free). Notice that if no pheromone information is available for type t files, the query message is randomly forwarded to a neighbor. Upon an intermediate node n receiving a query message, it first appends its ID to vNodes of the message and increases vNum and hopCnt by one. Then, node n checks whether it owns the requested file or has the requested file information in its cache table, if not, node n continues forwarding the query message based on equation (1) if the value of hopCnt is smaller than LIMITquery. Otherwise, node n has or knows the information about this file, so it creates a reply message and copies vNodes and vnNum fields of received query message into the new created reply message, and then replies to the requestor in the reverse path. The reply message shares almost the same format as the query message except it has a new filed, ownerId, which represents the file owner’s identity.
When a node m receives a reply message, it checks whether the fileType of the message exists in pheromone table. If not, node m will insert a new type into the pheromone table. Then, node m forwards the message in reverse path of vNodes field to the querying node. Besides, when node m receives a reply message from neighbor pre indicated that there is a path from node m over neighbor pre to a node with the information of type fileType files. Therefore, pvpre,fileType of the pheromone table is reinforced (the reinforcement rule is described later). Finally, upon receiving the reply message, the requestor discovers routes to the file holder either using an existing ad hoc routing protocol (e.g., DSR [14], DSDV [15]) and retrieves the file from it or using the cross-layer design we proposed in the next section. The discovery process fails if a requestor does not receive a reply message within a tolerable time. The requestor not only resends original number of query messages, but also sends NUM_EXPLORE “explore” messages to search files, and chooses the next-hop based on the pheromone intensity similar to the query messages. Differently, at each intermediate node, the explore message is forwarded randomly with a small probability δ, and is forwarded according to the pheromone intensity with probability (1−δ). This behavior will increase the probability of finding the file holder. F. Pheromone Update Rule The reply message reinforces the pheromone table entries when visiting each node; the message deposits ∆ pheromone intensity at each visited node, where ∆ is given by: ∆ = c × (LIMITquery − hopCntr )
(2)
where c is a design parameter; hopCntr represents hop counts that the reply message r has traversed. Therefore, the deposited pheromone is inversely proportional to the distance the reply message has traveled back. Meanwhile, when a node receives a reply message containing type t file information delivered from neighbor n, it updates pvn,t as (3). (3) pv n ,t = pv n,t + ∆ Also, each entry pvn,t in the pheromone table will be evaporated every Tevaporation seconds based on (4): DEF _ PV, if pvn,t ×τ ≤ DEF _ PV (4) pvn,t = τ ∈ [0,1] pvn,t ×τ , if pvn,t ×τ > DEF _ PV where τ is a parameter which determines whether the speed of pheromone evaporation is fast or slow. A higher evaporation rate signifies that the pheromone intensity drops more rapidly. Moreover, (4) stipulates that no pheromone intensity can be smaller than DEF_PV. The parameter DEF_PV refers to the low bound of pheromone intensity, and ensures that each neighbor can potentially become the next hop. If pvn,t ≤ 0, the neighbor n can never be chosen as the next hop for searching, thus violating the concept of swarm intelligence. The DEF_PV also refers to the initial pheromone intensity. When a node discovers a new neighbor n′, its pheromone intensity, pvn′,t, is initialized to DEF_PV.
2678
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2007 proceedings.
III. CROSS-LAYER DESIGN With the layered design approach, P2PSI discovers the identity of node holding the desired file, and then discovers the routes to it by using underlying routing protocol. To cope with mobility, on-demand based routing protocol (e.g., DSR) is adopted [16]. In other words, route discovery is needed after the identity of the node with the desired file is discovered. Clearly, the layered design approach is inefficient due to lack of interlayer communication between the application layer and the network layer. For example, when a node receives a seed or reply message in the application layer indicated that there is a path to the file holder; this information cannot be shared with the network layer. Hence, P2PSI with the layered design approach incurs long query latency since a separate route discovery process is needed after the identity of the node with the requested file. Another problem is that two layers perform similar functions may lead to redundant overhead. For instance, P2PSI has to issue hello messages to discover the information of neighbors while routing protocol also must send similar packets to maintain the same information. In order to solve above disadvantage of layered design approach, we propose a cross-layer design architecture. The key idea of the architecture is to find the node with the requested file and establish the route to it at the same time, and avoids two layer performs similar functions leading to redundant overhead. Figure 1 shows our cross-layer design architecture, since P2PSI is based on swarm intelligence, a swarm intelligence-based routing protocol, ARA [6], is adopted to ease the cross-layer design. Similar to P2PSI, ARA maintains a routing table tracking the amount of pheromone intensity on each neighbor link. In our cross-layer design, when a node receives a control message of P2PSI at the application layer, it also reinforces the corresponding pheromone entry of ARA routing table. In this way, each node can learn about routing information when receiving a control message of P2PSI. The operation of cross-layer design P2PSI is illustrated in Figure 2. In the advertisement process, HotSpot regularly advertises a seed message. Once a node receives a seed message from one of its neighbors, it not only caches the information of the seed message into P2PSI cache table, but also reinforces the pheromone entry of ARA routing table. Hence, the node can learn about the existence of a nearby HotSpot and a route to the HotSpot. In the discovery process, a requestor transmits a query message to search for a file, and intermediate nodes forward the message based on their pheromone tables. In this case, intermediate node 2 caches the desired file information and replies a reply message to the requestor. Upon receiving a reply message from neighbor pre, an intermediate node not only reinforces the pheromone intensity pvpre,t of its P2PSI pheromone table, but also reinforces the pheromone intensity of ARA routing table. Therefore, when the requestor receives the reply message, it finds the identity of HotSpot and establishes the routing path to it so that the requestor can download the file from HotSpot immediately1. Moreover, cross-layer architecture also takes advantage of the neighbor information of ARA to avoid redundant overhead. 1 Note that the integration of MANET routing and IP routing is out of the scope of this paper.
Hence, cross-layer design P2PSI approach does not need to issue hello messages to monitor neighbor nodes’ status. Other Application
Application Layer Transport Layer
P2PSI Inter-layer information exchanges
TCP/UDP
Network Layer
IPv4/IPv6 ARA Routing Protocol
MAC Layer
IEEE 802.11 Network Interface
Physical Layer
Data
Routing
Fig. 1. Cross-layer design architecture. Intermediate Node 1
Requestor Network Layer Application Layer
ARA
P2PSI
Network Layer
Application Layer
ARA
P2PSI
Intermediate Node 2
HotSpot
Network Layer Application Layer
Network Layer Application Layer
ARA
P2PSI
ARA
P2PSI
SEED cache the information
update Reinforce pheromone of ARA to HotSpot
QUERY
Advertisement Process
QUERY REPLY
Matching !
Reinforce pvnode2,t
update Reinforce pheromone of ARA to HotSpot
REPLY Reinforce pvnode1,t
update Reinforce pheromone of ARA to HotSpot
Discovery Process
Download File
Fig. 2. Operation of cross-layer design P2PSI approach.
IV. SIMULATION EVALUATION A. Simulation Environment This section describes simulations performed by the Qualnet network simulator [17]. The simulation modeled a network of 50-200 mobile nodes, moving about over a square 1200m x 1200m flat space, and 20% of the mobile nodes are HotSpots [11]. The radio propagation range for each node is 200 meters. The random-waypoint is adopted as the mobility model, in which the pause time is set to 30 seconds. The mobility speed of each mobile node is from 2m/s to 10m/s. All HotSpots and 1000 different files in simulations are classified into 4 types, depicted in Table II. Additionally, for each type of files, we assumed that the popularity of each file follows the Zipf distribution [18] with skew θ. θ is set as 0.8 from the previous measurement study in [19]. For each type of files, top 80 percent of them in terms of popularity are stored in all HopSpots. On the other hand, the remaining 20 percent of files are stored randomly and evenly in HopSpots. Similarly, each mobile node requests a file according to the file popularity distribution (Zipf) every 5 seconds in simulations. Table III shows the detail of simulation parameters of P2PSI. Those design parameters are fine turned based on our preliminary results. Multiple runs (30 times), each for 600 simulation times are performed for each scenario. The collected
2679
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2007 proceedings.
results are averaged over all runs, and the 95% confidence intervals are obtained. TABLE III SIMULATION PARAMETERS OF P2PSI Parameter Value c 10000 τ 0.8 ε 0.2 DEF_PV 3000 LIMITquery 12 hops LIMITseed 1 hop Tadvertisement 3 seconds Thello 2 seconds NUM_QUERY 3 MIN_PV c *3 NUM_EXPLORE 2
300x103
320x103 Cross-layer P2PSI CLdsr CLdsdv
Control Message Overhead(# of messages)
B. Simulation Method Based on our simulation results, cross-layer design P2PSI is superior to layered design P2PSI, we does not show this detail simulation results due to page restriction. In this subsection, we only evaluate the performance of cross-layer design P2PSI and cross-layer design service discovery protocols, CLdsr [9] and CLdsdv [9]. CLdsr modifies DSR to supports service discovery by broadcasting rreq packets that contain an additional field for description of the desired service. Upon receiving the rreq packet, a node replies an rrep packet with service description to the source if it hosts a service that matches the desired service, i.e., it is a HotSpot of a certain type of files. Therefore, the source learns the desired service information and source routes to the service holder. Similarly, CLdsdv extends DSDV to create a new field with the service information in the routing table. Node can learn about available services while performing the regular routing table exchange operation. Throughput, transmission latency, and power consumption are the most critical performance concerns of mobile nodes. Hence, the performance metrics of interest include control message overhead, request success ratio and average round-trip hop count. These performance metrics were measured under various scenarios, e.g., (a) various numbers of nodes and (b) various mobility speeds, to analyze the impact of mobility and node density. The performance metric, control packet overhead, is defined as the total number of control messages transmitted (including the application layer and the network layer). Request success ratio is defined as the percentage of queries that successfully retrieved the requested files. Finally, average round-trip hop count is defined as the average number of round-trip hops between the requestor and the file holder. This metric reflects whether we adopt ARA as routing protocol is superior to traditional ad hoc routing protocol. 1) Control Message Overhead Figure 3 (a) shows the effect of the control message overhead for increasing network densities. We observe that cross-layer P2PSI, CLdsr and CLdsdv perform competitively at lower node density. However, cross-layer design P2PSI performs better than both CLdsr and CLdsdv in higher density. The rational is that cross-layer P2PSI only forwards unicast control messages and broadcast control messages to nodes that are limited hop away. Nevertheless, the control overhead of CLdsr is much higher due to the flooding of control packets by the DSR routing protocol. On the other hand, CLdsdv also suffers from a high control
Control Message Overhead(# of messages)
TABLE II CLASSIFICATION OF H OTSPOTS AND FILES Type # of HotSpots Files’ id type 1 30% of all HotSpots 1~300 type 2 30% of all HotSpots 301~600 type 3 20% of all HotSpots 601~800 type 4 20% of all HotSpots 801~1000
overhead, because each node periodically exchanges its routing table with their neighbors. When the size of the network grows, not only the routing table becomes larger, but also the number of neighbors. Therefore, its control overhead becomes higher in dense networks. Figure 3 (b) indicates the evolution of the control message overhead for increasing node speed. We observe that the rise in mobility speed causes a significant broadcast storm problem in CLdsr. High mobility makes the network highly dynamically and causes route failure in CLdsr, and therefore also increases the number of control packet flooded to discover new routes. On the other hand, although the control message overhead of CLdsdv does not obviously increase as mobility increases, CLdsdv still creates a potentially large number of messages caused by the periodic/triggered advertisements of routing information through the network. Conversely, although the control message overhead of cross-layer design P2PSI is slightly increased when the node mobility increases, cross-layer design P2PSI still yields fewer overhead than both CLdsr and CLdsdv.
240x103
160x103
80x103
0 50
100
150
Number of Nodes
200
Cross-layer P2PSI CLdsr CLdsdv 250x103
200x103
150x103
100x103 2
4
6
8
10
Mobility Speed (m/s)
(a) under various node densities (b) under various mobility speed Fig. 3. Control message overhead.
2) Request Success Ratio Figure 4 (a) indicates that cross-layer design P2PSI and CLdsr perform competitively in term of request success ratio at lower density. As the number of nodes increases, the number of HotSpot also increases. Cross-layer design P2PSI becomes easier to search files and the request success ratio grows steadily. However, we observe that the request success ratio of CLdsr reaches its peak at 100 nodes, and then falls. That is because the CLdsr utilizes flooding to search for a file which becomes the performance bottleneck as the size of network grows. Figure 4 (b) reports that mobility reduces request success ratio since the network topology changes more frequently. Figure 4 (b) shows that the effect of mobility on the request success ratio of cross-layer design P2PSI is slightly more significant than that of CLdsr. That is because that CLdsr will re-broadcast request packets when it finds a route failure. Nevertheless, this approach yields much higher control overhead than cross-layer design P2PSI, as shown in Figure 3 (b). Besides, we also find that the request success ratio of CLdsdv drops rapidly with increasing mobility since it fails to converge as node mobility increases. 3) Average Round-Trip Hop Count Figure 5 (a) reports that the average round-trip hop count is clearly decreased for all three protocols while node number is increased. The main reason is that as the network becomes denser; it also becomes easier to find a shorter path. From Figure 5 (a), we observe that cross-layer design P2PSI has shorter round-trip hop count than other two protocols because 2680
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2007 proceedings.
the proposed cross-layer design P2PSI can timely adapt to the changing network by utilizing the features of swarm intelligence. However, CLdsr has the longest round-trip hop count since it does not proactively search for shorter path as long as there is at least one valid routing entry in the routing table. 1.0
0.9
Request Success Ratio (%)
Request Success Ratio (%)
1.0
0.8
0.7
0.9
0.8 Cross-layer P2PSI CLdsr CLdsdv
Cross-layer P2PSI CLdsr CLdsdv 0.6
REFERENCES
0.7 50
100
150
200
2
4
Number of Nodes
6
8
10
[1]
Mobility Speed (m/s)
(a) under various node densities (b) under various mobility speed Fig. 4. Request success ratio.
Figure 5 (b) shows the average round-trip hop count of three protocols under various mobility speeds. CLdsr yields a longer routing path due to the same reason that CLdsr does not proactively discover the shortest path. However, cross-layer design P2PSI can find shorter path than CLdsr through the use of query and seed messages. On the other hand, the average round-trip hop count of CLdsdv is rapidly decreased while the mobility speed is increased. The rational is that the average round-trip hop count is calculated only for successful file retrieve in the simulation. However, as shown in Figure 4 (b), the request success ratio of CLdsdv deteriorates rapidly as the mobility increases. This implies that CLdsdv may only maintain the routing information of closer surrounding nodes up to a limited number of hops and thus can only successfully retrieve files from nearby nodes. Hence, the simulation result shows that CLdsdv has shorter average round-trip hop count as the node mobility grows.
[2] [3] [4] [5]
[6] [7] [8] [9]
8
9
7
6
5 4 Cross-layer P2PSI CLdsr CLdsdv
3 2
Average Round-Trip Hop Count
8
Average Round-Trip Hop Count
our cross-layer design P2PSI still achieves the good performance even the node density and node mobility increase. Several issues of this paper need future research. At present, we only consider the amount of pheromone intensity increased is inversely proportional to the distance the reply message has traveled back in P2PSI. Therefore, in the future, we could bring in other metrics (e.g., file holder loading) that probably will improve overall performance of this P2PSI system. Besides, we also may investigate how to dynamically tune the parameters of P2PSI for different network environments by using positioning techniques, such as GPS, RFID, or ZigBee.
[10]
7
[11]
6
5
[12]
4
3
Cross-layer P2PSI CLdsr CLdsdv
2 50
100
150
Number of Nodes
200
2
4
6
8
[13]
10
Mobility Speed (m/s)
(a) under various node densities (b) under various mobility speed Fig. 5. Average round-trip hop count.
V. CONCLUSION AND FUTURE WORKS In this paper, we have proposed P2PSI, a push-pull based hybrid P2P file sharing system. Each HotSpot advertises shared files information by using Bloom filter. The most proximate HotSpot may firstly be discovered. Besides, P2PSI uses the spirit of swarm intelligence to quickly locate desired files, even in a network of dynamic topology. Moreover, we also proposed a cross-layer architecture to integrate P2PSI with ARA routing protocol to avoid redundant overhead. We conducted extensive simulations on P2PSI and carried out a performance comparison with CLdsr and CLdsdv. The simulation results showed that the performance of request success ratio of CLdsr deteriorates when the size of network grows. The same results happen in CLdsdv as the node mobility increases. Conversely,
[14] [15] [16] [17] [18] [19]
Gnutella protocol specification v0.4. Available: http://www9.limewire. com/developer/gnutella_protocol_0.4.pdf. S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, “A Scalable Content-Addressable Network,” in Proc. ACM SIGCOMM, Aug. 2001, pp. 161–172. I. Stoica, R. Morris, D. Karger, M. Kaashoek, and H. Balakrishnan, “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications,” in Proc. ACM SIGCOMM, Aug. 2001, pp. 149–160. A. Rowstron and P. Druschel, “Pastry: Scalable, decentralized object location, and routing for large-scale Peer-to-Peer systems,” in Proc. 18th ACM Conf. Distributed Systems Platforms, Jan. 2001, pp. 329–350. A. Klemm, C. Lindemann, and O. Waldhorst, “A Special-Purpose Peer-to-Peer File Sharing System for Mobile Ad Hoc Networks,” in Proc IEEE Conf. Semiannual Vehicular Technology, Oct. 2003, pp. 2758– 2763. M. Gunes, U. Sorges, and I. Bouazizm, “ARA-the ant-colony based routing algorithm for MANETs,” in Proc. IEEE ICPP International Workshop on Ad Hoc Networks, Aug. 2002, pp. 79–85. S. Rajagopalan and C.C. Shen, “ANSI: A Unicast Routing Protocol for Mobile Ad hoc Networks Using Swarm Intelligence,” in Proc. ICAI, Jun. 2005, pp. 104–110. G. Ding and B. Bhargava, “Peer-to-peer File-sharing over Mobile Ad hoc Networks,” in Proc. 2nd IEEE Conf. Pervasive Computing and Communications Workshops, Mar. 2004, pp. 104–108. A.Varshavsky, B. Reid, and E. de Lara, “A cross-layer approach to service discovery and selection in MANETs,” in Proc. IEEE Conf. Mobile Ad hoc and Sensor Systems, Nov. 2005, pp. 459–466. E. Bonabeau, M. Dorigo, and G. Theraulaz, “Swarm Intelligence: From natural to artificial systems,” Oxford University Press, 1999. E. Adar and B.A. Huberman, “Free riding on Gnutella,” Xerox Palo Alto Research Center, Tech. Rep., SSL–00–63, 2002. A. Iamnitchi, M. Ripenau, and I. Foster, “Small-World File-Sharing Communities,” in Proc. 23rd IEEE Conf. Communications Society (INFCOM), Mar. 2004, pp. 952–963. B.H. Bloom, “Space/Time Trade-offs in Hash Coding with Allowable Errors,” Communications of ACM, Jul. 1970, pp. 422–426. J. Broch, D.B. Johnson, and D.A. Maltz, “The Dynamic Source Routing. Protocol for Mobile Ad Hoc Networks,” IETF Internet draft, draft-ietf-manet-dsr-09.txt, Apr. 2003. C.E. Perkins and P. Bhagwat, “Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers,” in Proc. ACM SIGCOMM, Oct. 1994, pp. 234–244. S.J. Lee, M. Gerla, and C.K. Toh, “A Simulation Study of Table-driven and On-Demand Routing Protocols for Mobile Ad Hoc Networks,” IEEE Network Magazine, Jul. 1999, pp. 48–54. Scalable Network Technologies Inc. Available: http://www. scalable-networks.com. G.K. Zipf, “Human behavior and the principle of least effort: An introduction to human ecology,” Addison-Wesley, Cambridge MA, 1949. L. Breslau, P. Cue, L. Fan, G. Phillips, and S. Shenker, “Web Caching and Zipf-like Distributions: Evidence and Implications,” in Proc. IEEE Conf. Communications Society (INFCOM), Mar. 1999, pp. 126–134.
2681