Peer-to-peer (P2P) networks consist of higher layer logical connections between peers to form an overlay network independent of the underlying physical network. The access to information anytime and anywhere is the main objective of modern mobile computing. However, due to many limitations, the client-server architecture does not satisfy these demands. Thus, P2P applications build a virtual network over the physical network to address problems that occur in the client-server architecture .
In unstructured P2P systems, there is no predefined structure among peers, and a search query is flooded or randomly distributed in the network. The drawback of such searching mechanisms is that a query message may be sent to a node multiple times. The current techniques cannot remember the nodes that have already been contacted in unstructured P2P systems. As a result of these limitations in current search mechanisms, the efficiency level is very low in unstructured P2P systems . Many researchers have attempted to solve the message duplication problem, but it still exists and affects the efficiency of unstructured P2P systems.
Because of the similarities among P2P and mobile ad-hoc networks (MANETs), a P2P overlay easily runs on supportive MANETs. Mobile P2P networks can be deployed in application scenarios without a reliable and existing infrastructure to mitigate task overload by distributing them among other peers [3,4]. Differences also exist between the two systems, and therefore simply adopting a P2P overlay over MANETs is undesirable due to the deficiency of the infrastructure, node mobility, and energy issues. The limited features of an ad-hoc network decrease the query success rate and connectivity in a P2P system. Continuous changes will occur in the underlying topology as the nodes move in MANETs [5,6]. Earlier research
Earlier research evaluated the performance of different content searching techniques in P2P networks over wired and fixed scenarios like the internet. Their performance outcomes are not directly applicable to MANETs, since the wireless and mobile medium is much more dynamic. To solve these limitations in unstructured Gnutella-like networks over MANET, we limit our work in this paper to two contributions. First, we consider enhanced techniques for peer discovery and their connection to the existing P2P overlay. In this section, we also propose new techniques for selection of ultrapeers and different pong caches used in leaf peers and ultrapeers. Our second contribution is the enhancement of unstructured searching techniques over MANET models richer than those of previous works. Our analysis for P2P over MANETs considers the searching overhead, number of peers, search latency, and query success rate to provide a more convincing depiction of the proposed work. Thus, the proposed work will reduce the average searching overhead and delay, and will enhance query success rate by the searching mechanism and in unstructured P2P networks.
The rest of the paper is organized as follows: Section II is the algorithm description of the proposed protocol. The subsections of Section II discuss the pong cache, ultrapeer, peer discovery, and searching mechanism of the algorithm in detail. Section III discusses and analyzes the experimental results. Finally, Section IV concludes with a critical summary and some directions for future work.
In our evaluation, we represent an unstructured Gnutellalike P2P network with enhanced techniques applied mainly in new peer discovery, connection, and searching using multiple walker random walks. Gnutella v.6 with an open source code , is used as a starting point for the enhanced Gnutella-like P2P system over MANETs.
We applied the desired changes to the file containing the bootstrap mechanism for newly arrived peers to keep information about neighboring peers in the P2P network in order to start quick communication. We also introduced some major changes to the uniform resource locators to update the traditional pong cache mechanism so that the leaf peers would not handle discovery request
The propose for the protocol to use random walk with m multiple walkers is to avoid flooding. The source peer creates and forwards a query message to its ultrapeer. The ultrapeer creates
A pong cache technique was introduced in Gnutella v.6 to reduce network overhead and bandwidth . A pong cache mechanism has a direct connection with the response message of the ping and routing of the control messages at the application level. Most of the studied schemes assume a static environment and do not consider the characteristics of mobile environments. The authors in  discussed a mobile environment in their work and proposed a caching scheme for peers. The caching scheme in their work maintains a separate cached data structure for the neighbor peers. The present study aims to overcome these problems in the proposed caching technique. Our caching technique will use a separate pong cache for leaf peers and ultrapeers in order to have flexibility regarding the pong information and improve the overhead occurred by exchange of ping/pong messages.
The current Gnutella v.6 defines peers in two different formats, that is, leaf and ultrapeers. In the Gnutella P2P overlay, ultrapeers are considered more powerful nodes compare to leaf peers on the basis of their resources, such as storage, processing power, and network bandwidth. Due to these rich resources, ultrapeers have been assigned the role of local head to perform different operations, such as searching, downloading, and processing . An application is required to provide an entrance to the unstructured P2P network and a connection to already existing peers. Thus new peers establish an initial connection with one of the existing ultrapeers. The connected ultrapeers then forward information to other neighbor ultrapeers in the network. To forward query walkers, the priority in selecting random neighbors is given to ultrapeers that satisfy the defined metric. This type of useful information is also stored in the pong cache of the ultrapeer for future use.
In this proposed P2P system, a reactive routing protocol is applied for the peer discovery process. The new peer establishes an initial connection with the existing peer in a P2P overlay by broadcasting a
The ultrapeer will share the pong cache table and information regarding the number of slots available with each ultrapeer and whether it is mobile or stationary to the requesting peer. The proposed unstructured Gnutella-like P2P protocol offers the ability to monitor the maximum number of incoming and outgoing connections for each peer and ultrapeer. Each ultrapeer will use the maximum outgoing connections, but for maximum incoming connections, it will keep one slot empty all the time to accept incoming connection requests. This means that the state is set to full and will not accept any new connection but can accept any newly arrived peer
For a better P2P overlay performance, our peer connection process considers the high capacity of an ultrapeer and the number of both leaf peers and neighbor ultrapeers connected to a selected ultrapeer to make the joining decision. Once a newly arrived peer discovers its closest best ultrapeer, it begins the Gnutella-like handshaking process to establish a connection. This enhanced connection establishment technique will try to connect the peer to the best ultrapeer having the required data object. The procedure for this algorithm is presented in Table 1.
Algorithm description for discovery
We further extend the above equation to define the overall probability
By applying the above in our algorithm, each ultrapeer has to forward its capacity
The search mechanism in the proposed protocol is biased on multiple walker random walks with a jump and replication technique instead of blindly flooding query messages as in the typical Gnutella protocol. For a given query, the ultrapeer selects neighbor ultrapeers randomly based on defined criteria and forwards walkers to them. The proposed approach will continue this search process until the query is solved or the walkers reach its end.
Suppose the querying ultrapeer
The proposed mechanism allows a peer to randomly select the neighbor peers from available online active peers in the P2P network. Because of its dynamic nature, the P2P network needs an advanced topology control scheme for maintaining an up-to-date list of neighbors. To overcome this problem, all of the peers in the Gnutella protocol periodically send ping messages to their neighbors and wait for a pong message in order to check whether their neighbors are still active. When no answer is received from a neighbor, it is replaced by a peer randomly chosen from the set of online peers. Table 2 shows the detail procedure for mentioned algorithm.
Algorithm description for searching
In order to evaluate our proposed unstructured P2P Gnutella-like protocol over mobile ad-hoc networks, we used Network Simulator (NS2 v.2.34). The analysis and measurement of the protocol were based on three primary metrics: search queries, query success rate, and average network overhead and queries solved by number of time and hops. We choose three different existing protocols, Gnutella (flooding), XL-Gnutella, and Random Walk, for performance comparison with our proposed protocol. In order to evaluate performance, we created a scenario based on network mobility and analyzed the interaction of the protocol with the underlying reactive routing protocols.
Search overhead is further reduced to an acceptable value by efficient selection of a neighbor to forward the query message. Thus, the requesting ultrapeer sends query walkers to a subset of neighbor ultrapeers, which are the best choice to return responses of good quality. The proposed new P2P protocol uses the capacity of the neighbor ultrapeer and the degree consists of the number of leaf peers and neighbor ultrapeers attached as a criterion for a high-capacity neighbor. The following Fig. 1 shows the comparison of the average search overhead between the new and existing unstructured P2P protocols. The Gnutella protocol overhead is very high because of flooding and duplication of messages. The overhead of the proposed protocol is very low compared to the other three. The reason is the selection criteria, efficient forwarding of walkers, and keeping check on message duplication.
Fig. 2 shows the average of successful queries during simulation based on the number of peers. Other unstructured protocol results are satisfactory when the number of peers in the overlay is increased. At the beginning, when the number of peers is around 40, the query success rate is very low. In the proposed protocol, the rate is quite good and acceptable even from the start.
In Figs. 3 and 4, search latency is used as a performance metric to evaluate the search efficiency of the proposed P2P protocol. The search latency is measured by the shortest time the protocol takes for a query search to reach a peer that has a requested object.
Figs. 3 and 4 show the average search latency for a requested object measured by the time in milliseconds and the number of hops, respectively. The average search latency of the proposed protocol in both of the figures is lower than the other unstructured P2P overlays. The search performance of the proposed unstructured P2P protocol is better than the others because of the metric used for selection of the neighbor ultrapeer to forward walkers and the jump mechanism. Similarly, another reason for efficient searching is that every ultrapeer contains the sharing objects of directly connected ultrapeers and the address of the onehop- away ultrapeers. The proposed approach aimed to eliminate duplication of query messages. Thus, every hop forwarding discovered a new peer visited for the first time for a requested object; therefore, a search message can quickly cover a large area of peers within less time and fewer hops.
In this paper, the information distribution and efficient search in a P2P network under multiple walker random walks with jump and replication mechanisms over a MANET has been studied and analyzed. The novel approach of new peer discovery and connectivity is also discussed in detail. The enhanced pong caching technique and multiple walker random walks mechanism was studied, analyzed, and simulated from a novel perspective. We reduced the searching and discovery time by considering the capacity and degree of the ultrapeers. The selection of efficient neighbor ultrapeers in a P2P network will results in a reduction in the searching time, overhead, and traffic through new defined metric based on the ultrapeer capacity and degree for such selection.
Further study on the replication mechanism, pong cache, discovery process, and its numerous parameters with detailed simulations will be considered in future work in the area.