A Survey of Search Algorithms for Peer-to-Peer File Sharing Applications in Mobile Computing Infrastructure

Peer-to-Peer (P2P) Networking have a lot of practical applicability’s over the years. File storage and resource sharing are few key areas among the others where such peered network architecture is widely successful. The common building block for P2P networking is to store or locate an identiﬁable resource, for which there are basically 3 approaches namely (1) local storage/broadcast search (2) global storage/local search (3) distributed storage/distributed search. With the development of mobile hardware and wireless technology, it further became feasible to use mobile devices in these P2P networks. This computing architecture is widely used in Mobile Ad-hoc Network (MANET) for building content sharing applications. Search algorithm and ﬁle transfer schemes are the basic components of such content sharing systems. In this article, we provide a brief overview of the resource discovery approaches for peer-to-peer ﬁle sharing applications over MANET. We analyze and classify the search techniques into 4 broad schemes, mainly the ﬂooding-based schemes, Distributed Hash Table (DHT) based schemes, advertisement-based schemes, and social network-based schemes. The pros and cons of each technique is summarized. Further, a one-to-one comparison is done across the classes for quick interpretation. We also outline the various issues, and complications that should be taken into consideration while designing any resource discovery algorithm. Further, we brieﬂy discuss the security threats, and present state-of-the-art countermeasures for it. Also, we highlight some important guidelines that need to be focused while designing efﬁcient ﬁle sharing applications and services in Mobile Edge Computing (MEC) enabled networks. Comprehensive and in-depth assessments of the related approaches are presented providing clear insights for the future research directions.


I. INTRODUCTION
P EER-TO-PEER (P2P) network gained a lot of attention over the years, and file sharing constitutes majority of the internet traffic due to its distributed architecture [40] [41]. File sharing applications over the internet is one of the indemand services based on the P2P design paradigm. Over the past decades, the most popular examples were the Napster and Gnutella systems. With the rapid progress of mobile wireless communication, it is feasible to build an ad-hoc network instantly. Mobile Ad-hoc Network (MANET) has been a popular research area due to the rapid development trends. MANETs are characterized by wireless nodes, and multi-hop communications building a dynamic infrastructure-less network. Due to these special characteristics, it is widely used in various practical platforms like military battlefield systems, disaster recovery systems, electronic device communications, internet of things, response systems, etc. A detailed study of the fundamental properties and services of MANETs is done in [42]. P2P network and MANET share many common features such as both are decentralized, self-organizing, self-scaling and self-healing networks, and therefore their combination can be an ideal choice, where a P2P overlay network can run over the underlying MANET. But, then both of these networks have one major challenge, i.e., maintaining continuous connectivity. Therefore, simply adopting P2P overlay protocol over MANET is ineffective. Further, due to lack of sync between these networks, resource discovery protocols perform poorly [1]. P2P or overlay networks are self-scaling and low barrier communication networks maintaining higher layer logical connections between peers to form an overlay network that is independent of the underlying network topology. Different overlay networks can be formed by peers of an application running over the MANET. Fig. 1. depicts overlays formed by the communication of peers, where each virtual link of the overlay network is supported by a path in the underlying physical network.
The combination of these networks also poses potential challenges due to the differences in the layers of operation, transmission mechanisms, and continuous node mobility. To overcome the challenges imposed by mobile environment on such peer-to-peer networks that include resource constraints, wireless network characteristics, heterogeneity of nodes, etc., many studies have been carried out in the area of routing, network architecture, query dissemination, group management, etc. Migration of such peer-to-peer file sharing systems from a wired network layout to multi-hop wireless communication architecture attracted the research community to explore solutions to enable content sharing in such dynamic scenario of P2P MANETs. This type of network became popular with the widespread of distributed applications, such as file sharing, social networks, service discovery, etc.
In this paper, we review the various search mechanisms in P2P file-sharing deployment over MANET. The performance of each search method is studied, and a detailed summary is presented in terms of search strategy, overlay structure, routing algorithm, and the underlay architecture. Further, we highlight their advantages and disadvantages.

A. COMPARISON OF P2P ARCHITECTURES
A P2P network can be classified based on the structural and behavioral characteristics as purely decentralized architecture (which can be structured or unstructured) and hybrid architecture (that can be centralized indexing or decentralized indexing). In structured P2P systems the arrangement of the peers are based on strict well organized rule, while in the unstructured P2P systems the peers connect to each other in an random fashion. The hybrid architecture is mixture of peer-to-peer and client-server model. The centralized indexed hybrid P2P systems maintain a central index server, wherein the files and user information are stored in directory based order. Each peer maintains a connection to the index server. In the decentralized indexed hybrid P2P systems there is no centralized index server, but here some nodes are given more important role than the others called the super nodes, which maintain the indexes for the information shared by their local connections. The super nodes themselves are connected through a pure P2P network.
We compare the different architectures of peer-to-peer systems based on features like scalability, flexibility, robustness, and manageability. We provide a schematic analysis as shown  Table 1. The unstructured pure P2P system where the blind search techniques are used is not scalable, due to the overwhelming message exchanges. While, in structured system, one can overcome the scalability limitation with intelligent DHT-based search strategies. The other important feature in pure P2P system is the joining and leaving of the peers, i.e., the flexibility. The unstructured systems lack manageability as each peer is its own controller. But, then such systems are robust, since failure of any particular node doesn't impact the overall system. From the above comparison, it is noticed that the decentralized hybrid P2P architecture has the best overall performance. In the following section, we highlight few real-time application services based on the peer-to-peer principle.

B. P2P APPLICATION SCENARIOS IN MANET
Apart from the content sharing application many other applications were also proposed for MANETs based on peerto-peer architecture. Some, related areas where P2P design paradigm are applied in MANETs are listed below:-• Location services [43 -45] • Service discovery [46] • Name services [47 -49] • Multimedia services [50 -51] • Overlay-based multicast services [52 -53] • Dissemination services [54] In the above section, we briefly discuss on MANETs, and the various P2P architectures along with their applicability over the years. The rest of the paper is organized as follows: Section II provides an overview of the P2P file sharing scenarios in MANET. It further introduces the various techniques grouped by their search principles. Section III provides assessment of the related works highlighting their advantages and disadvantages. In Section IV, we describe few important parameters that need to be considered when designing a resource discovery system. Further, we also brief the security threats observed in such resultant network. Open research issues are discussed in Section V. Finally, Section VI concludes the study with important observations.

II. P2P FILE SHARING OVER MANETS
In this section, we study the deployment strategies to enable file sharing over MANETs. P2P file sharing is widely used in the Internet. Usually, such system consists of file transfer and search protocol. The file transfer process is responsible for transferring of the files, while the search protocol is responsible for locating the resources/objects. Content sharing is one of the core application area of MANETs. The exchange of resources within MANET uses P2P services. In such deployment, one of the major challenges is to quickly and efficiently locate objects in spite of high mobility, battery power constraints, limited memory and bandwidth restrictions. Many related works are proposed over the years to enable P2P file sharing over mobile ad-hoc networks.
[2], studied existing protocols and proposed five routing approaches, i.e., Broadcast over Broadcast, Broadcast, Distributed Hash Table (DHT) over Broadcast, DHT over DHT, and the traditional DHT scheme to integrate the P2P file search protocol and MANET routing protocol for enabling content sharing over MANETs. A simple approach is to directly apply the broadcast based P2P lookup protocol over the on-demand MANET routing protocol, i.e., Broadcast over Broadcast, where the query is broadcasted to every virtual neighbor peer in the overlay. While, in the broadcast approach, the neighbors in the P2P overlay layer are directly mapped to neighbors in the underlying physical layer. Regarding the DHT over Broadcast approach, a DHT-based peer-to-peer protocol is applied over MANET. To improve the scalability, further the DHT-based lookup protocol are integrated with the DHT-based MANET routing protocols, i.e., the single DHT approach where the lookup protocol is combined with the network route request to reduce implementation complexity.
The proposed methods follow the integrated or the crosslayered design paradigm. In the integrated approach the application layer file search is integrated with the network layer, whereas in the cross-layer design the peer-to-peer protocols at the application layer and routing protocols at the network layer are coordinated in sync with other layers to improve the overall performance. A graphical summary given in Fig. 3. explains the different approaches to integrate the application and network layer protocols to enable efficient P2P file sharing over MANETs. Also, the advantages and disadvantages of each routing approach is listed. The study highlights that the cross-layer approach performs better than directly overlaying P2P protocol on MANET. We study the resource searching algorithms in such implementation. dard P2P system is to discover the address of the node in the network, which actually hold the requested resource. So, from the resource reply which will be sent by a resource containing node, the querying node will resolve the address of the resource provider. Issues of resource discovery in P2P MANETs are discussed in [3] [4]. From their preliminary study, it is observed that in such dynamic network, it is critical to consider the underlay topology to design an efficient search protocol [5]. The major goals of any search mechanism is not only to successfully locate the resource, but also to incur low routing overhead, minimize query delay, and consume low battery power especially with the nature of mobile nodes [6][7] [39]. Based on the search mechanism used in such P2P file-sharing applications over MANET, they can be categorized as flooding based, DHT based, content advertisement based and social community-based search schemes. We discuss each category briefly in the following sub-sections.

B. FLOODING BASED SEARCH SCHEMES
In this scheme, the search query is flooded throughout the network. When a node wants to locate an object, it broadcasts the message to its neighbors. Based on the reply, the query is resolved. We examine several related approaches in this category. Orion [8] provides a keyword-based file search scheme for MANET. It combines the Gnutella-like flooding technique with the Ad-hoc On-demand Distance Vector (AODV) routing protocol, wherein the query request is distributed by the link layer flooding. It maintains two routing tables, i.e., response routing table and file table at  the network and application layers respectively. The response  routing table contains the node information for the next hop  to traverse the target route. 7DS [9] provides a data sharing platform based on peer-topeer characteristics to enable web browsing without direct internet connection. It uses a broadcast mechanism that enables peers to share and access documents amongst each other. It's the first effort to port peer-to-peer technology in mobile environment. The web contents are disseminated among the neighboring peers within their geographic area.
Gruber et al. [10] proposed a P2P file sharing application for MANET, using the cross-layer communication ideology. In their system, the file search is a combination of the flooding, and the Dynamic Source Routing (DSR) technique. The structure of the Mobile Peer-to-Peer (MPP) protocol stack is given in Fig. 3. To carry user data, it uses HTTP over the TCP protocol. The communication between the application layer and the network layer is managed by the Mobile Peer Control Protocol (MPCP), which allows the P2P application to register itself in the Enhanced Dynamic Source Routing (EDSR) layer, which is a modified version of DSR protocol.
To lower the broadcast overhead, [11] introduces the concept of zoning in P2P (ZP2P), i.e., local zones are determined by a fixed hop-count. The main idea in ZP2P is to set up a zone for each node, where within the zone it employs a proactive routing scheme, while outside the zone it uses reactive routing. To locate the object, the node first checks its local cache to verify whether any of the local zone members can provide the information for the requested object. If the object is not available within the local nodes, then the request is forwarded to other zone members that are k-hops away through its border nodes. This process continues until the whole network is searched or until some predefined TTL value.
In the traditional Gnutella-like (GIA) search protocol, a random nature of query forwarding incurs load on mobile peers due to frequent re-routing of the query message. To effectively use the network and mobile resources, Linh et al. [12] proposed a file sharing application for cellular networks based on the GIA architecture, where the super nodes are used to supplement the routing, thereby reducing the load on mobile peers. In their protocol, the lookup scheme is based on biased random walk method. A resource search scheme for mobile file sharing application based on P2P paradigm is proposed in [13]. Here, the search service uses a local broadcasting mechanism along with an indexing technique to store content indices on the nodes along the query reply path. The caching of results helps the query search process, but at the same time the local broadcasting is not always effective. For stable peer-to-peer data sharing over MANETs, a reliable communication prototype is proposed in [14]. They introduce two schemes, i.e., configuration and routing schemes. The routing scheme is used to find an emergency path in case of disconnection. It is composed of reconnection algorithms that are used for finding such emergency routes.
A Bluetooth based P2P file sharing application for MANET is proposed in [15]. They modify the Gnutella protocol to include the provision of Bluetooth. The application works in dual mode. The initial mode mirrors P2P interaction designed for the internet which facilitates user-based searching, and the succeeding mode includes automatic search to suit the mobile network. To improve ORION, an adaptive file based search methods are proposed in [16]. In the first method, the query message filtering is done via gossip instead of flooding the whole network. While, in the second method, an adaptive hop based searching is carried out using local broadcasting. Generally, in the flooding based schemes, a high volume of traffic is generated, which causes network overhead. Further, with limitations of TTL it also doesn't guarantee successful search, but then these techniques are easy to implement and offers suitable flexibility.

C. DHT BASED SEARCH SCHEMES
The search techniques in this category are based on Distributed Hash Table (DHT) which is used to map the resource objects to their respective nodes by hashing, where each node maintains a DHT index. The information of a resource is stored in its corresponding nodes according to strict rules to abide the well-organized structure. The schemes in this category rely on DHT to store and maintain the resource information of the neighbors. During a search request, the information is obtained from the hash table. Several search proposals are based on DHT as the query search is more efficient, but certainly these schemes have limitations in mobile environment.
Li et al. [17] propose a DHT based peer-to-peer file sharing protocol for MANET. The search technique in their protocol is based on structured indexing. This scheme suffers from high maintenance overhead in a frequently changing topology. Zahn et al. [18] take into account the physical node location. Their scheme integrates the pastry P2P overlay protocol with the AODV reactive routing protocol. The basic idea is to have a good synchronization between the overlay and the physical network. To achieve this, it forms a physical cluster of peers whose identifiers are near to the predetermined key, i.e., the landmark key which is an overlay ID. In [19], Chord P2P overlay protocol is applied to a mesh network. During lookup, the client forwards the message to its reference mesh router within the transmission range, which in turn forwards the request message to DHT overlay, where it then follows the chord lookup mechanism. MeshChord [19] uses the location-based awareness concept, and one-hop broadcasting with overhearing capacity to improve the lookup process. A transparent layered DHT is mapped directly to the existing ad-hoc routing protocol in [20]. A virtual network is formed in the application layer that represents the overlay network, while the underlying physical network is managed by the AODV routing protocol. Several protocols based on the integrated approach are also proposed, where the P2P architecture is directly implemented at the routing layer itself, like the Virtual Ring Routing (VRR) [21], Scalable Source Routing (SSR) [22], CrossRoad [23], HashLine [24], and Dynamic P2P Source Routing (DPSR) [25]. In DHT based search techniques, the mapping of objects to their corresponding VOLUME 4, 2016 nodes becomes tedious (i.e., the control message overhead created by the DHT), and further requires high maintenance due to rapid mobility. Further, these schemes might not be feasible for a frequently changing topology.

D. ADVERTISEMENT BASED SEARCH SCHEMES
In this approach, nodes regularly broadcast the advertisement message to inform the surrounding nodes about its contents to be shared.
In [26], a push-pull based P2P file sharing system over MANET is proposed. Their method is based on Swarm Intelligence. Further, they use bloom filter to maintain a list of shared files. Their protocol is a two-process scheme, consisting of pull and push phase. In the advertisement (pull) phase the file holder node broadcasts an advertisement message to inform nearby nodes about the files that are to be shared. While, the discovery (push) phase is responsible for locating the file, and then leaving traces of pheromone to help the search process to benefit in the future.
In [27], a clustered architecture based file transfer scheme is proposed. Here, the nodes needing the same file are grouped into a common cluster. On receipt of a query request, the node forwards the request to other nodes in the cluster via broadcast. During file transfer, the leader of the cluster periodically transmits data packets to the entire cluster. Shah et al. [28] propose a method to construct an unstructured P2P overlay over MANET using the underlying cluster-based routing protocol. In their resource discovery process, the query request is published to all immediate neighbors who firstly check their local repositories, and respond accordingly. But, if there is no match, then the query request is forwarded to other connected neighbor nodes within the transmission range. If the resource requesting node doesn't receive any response within a fixed time period, then the query request is rebroadcasted, until the threshold value is reached. In [29], they proposed a robust mobile peer-to-peer architecture based on super node that enables efficient resource sharing and service provisioning. A super node selection algorithm considers the node's capabilities and its context. Further, they propose a scheme that enables nodes to exchange their responsibilities to other powerful nodes that are already present or that may join the network. Certain protocols consider the nodes physical locations to provide efficient service in a wireless ad-hoc network. One such scheme is proposed by [30]. They suggest integrating content location based service along the geographical region. In their method, each client finds the nearby server with the knowledge of geographical distance metric. The nodes make use of this information to advertise the contents periodically to the other nodes in different regions.
Repantis et al. [31] proposed a file sharing service, wherein the nodes use the bloom filter data structure to build the content synopsis of their available resources, and further spread this information adaptively to other relevant nodes. Dhurandher et al. [32] proposed a P2P Bee Algorithm (P2PBA) for P2P file search in mobile ad-hoc network using the swarm intelligence theory. They use the bee algorithm that depicts the honeybee behavior during the food searching process as seen in natural habitat. Their protocol scans through a sizeable area, and selectively move towards the promising nodes after several routines, thereby optimizing the search process. The advertisement based search schemes are mostly suitable for stably connected MANETs. But, in a dynamic topology, it increases the overhead drastically, and is less efficient, as routes expire due to abrupt disconnection. The content publishing search schemes overall reduce the overhead, but still the advertisement process itself causes the node overhead. And, also such methods may lead to false positive errors in case the node fails, or route expires due to frequent mobility.

E. SOCIAL NETWORK BASED SEARCH SCHEMES
Search algorithms under this category use the social network and community based ideology. Many principles of social network are followed, e.g., the interest based grouping, meeting frequency, movement pattern of the nodes, etc. The search schemes are devised based on the social network characteristics that focus on frequency of meeting, and their probabilities. In this search strategy, a forwarding node is selected as the node that has high probability of efficient and successful transmission. Several such schemes are reviewed here.
A social-network based peer-to-peer file sharing system over MANET (SPOON) is proposed in [33]. It considers the node's interest and moving pattern to compliment the service. Node interests are extracted from the files it holds. Based on the common interests, a community is build using the community construction algorithm. Further, every community elects a coordinator, and an ambassador using the node role assignment algorithm, where the coordinator guides the intracommunity searching, while the ambassador guides the intercommunity searching. Qureshi et al. [34] proposed a peerto-peer content driven communication strategy for mobile social networks suitable for disconnected scenario, i.e., for cases when the end-to-end connectivity is not feasible. Their scheme considers the node's interest, storing and forwarding capability along with the node's mobility information. The protocol is defined as three-layered architecture, where the top layer handles the user interface and works as an application layer, the middle layer deals with the content driven data dissemination, and the bottom layer handles the data forwarding mechanism in a multi-hop communication fashion.
A context driven data dissemination approach is proposed in [35]. To establish a social relationship between different communities, parameters like time spent by members within the community, interests of the members, and knowledge of data spread within the community, etc. are used. This information is used by each node to calculate the utility value for every encountered object, and then reordered in the increasing order of utility value to improve the dissemination and searching process. An extension of [33] is carried in [36] that focuses mainly on the disconnected mobile ad-hoc network. They proposed a social community based peer-topeer file sharing application for low end-to-end connectivity environment. From their previous work, they include additional schemes for file pre-fetching, query completion and loop prevention, while also considering the node churn.
For effective file sharing in an infrastructure less and frequent disconnecting environment such as MANETs, Palazzi et al. [37] propose an asynchronous communication model that uses special peers to delegate the tasks. They proposed a system that is based on application layer overlay network with Delay/Disruption Tolerant Networks (DTN) feature for mobile environment. They use node mobility to disseminate data in such disconnected network. Li et al. [38] proposed a location based file sharing deployment over MANET with social network characteristics. A social relationship is established by considering the similarities among different nodes which is measured while taking into account the current physical locations of the nodes, and their common interests .Based on the study, we observe that social network features, like the node movement, social relationship, community context, node interest, frequency of meeting, etc., are considered in devising the file sharing systems over MANET. We provide a tabular classification to understand the different social network characteristics used in the assessed approaches in Table 2.
The search techniques in this category help lower the overhead, and ease the search process, but then it involves complex procedures, and also consumes more energy. The other challenge is the construction of the community which is hindered by the frequent node mobility, and abrupt disconnection. From our study, we notice that for the implementation of these schemes one needs to specially take into account the overlay, and the underlay topology structure as peer-to-peer network focus on search protocol at the application layer, while mobile ad-hoc network refer to routing functionality at the network layer. It is also observed that flooding or broadcasting is necessary in both networks to maintain connectivity due to the frequent changing topology, in comparison to the wired architecture. To compliment MANETs, the cross-layered approach will be more suitable rather than just adopting the P2P protocol directly. The ideology of the social-based methods looks promising, as the search scheme takes into account the social relationship that can help to adhere the dynamic topology of ad-hoc networks. But, then it also increases complexity, and further consumes extra resources.

III. ANALYSIS
In this section, a tabular summarization of the various search schemes in peer-to-peer deployment over mobile ad-hoc network is given. We compare the different systems categorically by discussing their search strategies, underlay and overlay characteristics, along with their deployment approaches given in Table 3 to Table 6. Further, the strengths and weaknesses of each system are discussed given in Table 7 to Table   10. For user readability, we further summarize the discussed search schemes extracting few key performance indicators given as in Table 11. We compare them in terms of scalability (i.e., bad, good, excellent), implementation complexity (i.e., low, medium, high), maintenance complexity (i.e., low, medium, high), search efficiency (i.e., low, medium, high), energy efficiency (i.e., low, medium, high), transmission cost (i.e., low, medium, high), best applicable network size (i.e., small, medium, large), and the cross-layer property (i.e., yes or no). The implementation complexity & maintenance complexity are based on the algorithmic overhead with respect to the consumed resources and the generated messages. The scalability categorization was based on the number of nodes, and capability of the search algorithm to scale upto without largely hampering the overall performance. In general terms, the lower value denotes the better achievement of the performance measure for implementation complexity, maintenance complexity, and the transmission cost, while the higher value signifies best for search and energy efficiency. The rest indicators are self-explanatory. And, finally, we summarize the broad search schemes in a nutshell by doing a direct comparison across each class for highlighting key comparable characteristics as given in Table 12. We focus on understanding the factors like ease of implementation (i.e., easy, complex), candidature type for large networks (i.e., applicable, suitable), suitability for highly dynamic scenario (i.e., yes or no), feasibility for real-time systems (i.e., best fit, medium fit, worst fit), robustness to churn (i.e., yes or no), significance of node failure (i.e., low, medium, high), lower resource constraints (i.e., yes or no), and provides shortest path (i.e., yes or no). An ideal scheme should be easy to implement, compliment large networks, suit well for highly dynamic environment, adapt to churn, have low impact in case of node failure, lower power and bandwidth consumption, use shortest path to reach the destination, and should be practically applicable in real-time scenarios. From our study, we notice that the flooding based search schemes impose loose restriction between the overlay network topology and the resource location, thereby feasible for highly dynamic mobile networks. Further, largely the systems were based on cross-layer communication pattern, that perform better than the direct deployment of P2P overlay protocols over MANET, but then it still have certain open issues like the layer synchronization, effectiveness to growing network size and increasing query request rate, redundancy in communication at different layers, security issues, etc. Also, it is noticeable that hit rate has been always a concern in such evolving environment, bearing the tradeoff with battery power consumption.

IV. CHALLENGES AND COMPLICATIONS
In this section, we describe a few common challenges that hamper the search performance and possible complications. The design of the resource discovery technique in such dynamic environment is not a trivial task. Apart from the basic search mechanism and content publishing technique, VOLUME 4, 2016 one needs to deal with several issues such as churn, bootstrapping, security, load balancing, efficient resource management, formulating effective re-ranking strategy, etc. From the study, it is noticed that the decentralized hybrid P2P architecture is ideal for such highly dynamic scenario. But, then such large scaled decentralized systems also suffer from problems such as topology mismatch, collaboration issues, flash crowds, free riders and fault-tolerance issues. Further, both of these overlay and underlay network have one common problem, i.e., maintaining continuous node connectivity. Also, many standard decentralized systems only support keyword or indexed search, but do not focus on sophisticated multiple queries. Thus, there is a need for specialized schemes to enable complex and scalable queries.

A. CHALLENGES: FROM A SECURITY PERSPECTIVE
Such evolving resultant networks are susceptible to both MANET and P2P attacks as challenges of both architectures are present as shown in Fig. 4. Due to the nature of these networks, the attacks lead to more severe effects in totality decreasing the overall performance of the lookup process. The malicious nodes are sufficient to affect the routing process with high probability. Such nodes may misuse peer-to-peer mechanism to increase the traffic populating the routing table, and thereby poses a threat to resource consumption in MANET. On the other hand, sybil attacks may occur on both layers, wherein multiple virtual identities are generated, thereby increasing the impact of other attacks, and directly increasing the resource consumption. Similarly, the blackhole attacks can also affect the P2P services by redirecting routes to only specific nodes to deny resource sharing.
Due to limited resource constraints, the security algorithms need to be framed within the limitation of the bandwidth capacity. Further, due to decentralized nature, the availability of authority cannot be pre-assumed. Thereby, the trust factor becomes necessity in such mobile environment, but with insider attacks it leads to denial of cooperation. Trust is one of the major concerns as the routing algorithm has to purely rely on the cooperation of the nodes.

1) MEC Enabled P2P file sharing applications -Security Issues
MEC-assisted P2P communication system are prone to several challenges from security perspective. We enlist few attacks that is concern in such setup. With computational offloading to edge nodes makes it vulnerable to malicious attacks. Also, as edge nodes allocate some portion of its resources with other devices even if their identity is unknown makes it vulnerable to DDoS attacks [56]. Further, such MEC enabled file sharing scenarios involves unsecure end devices leading to injection attacks.
2) Peer-to-Peer SIP over MANETs -Security Issues P2P streaming/messaging applications use Session Initialization Protocol (SIP) to establish a communication. [55] discusses the existing deployment of SIP over MANETs and the security issues in such dynamic environment. They highlight two key factors, i.e., scalability security having tradeoff in such evolving systems. Streaming media applications over MANET are exposed to several attacks like Sybil, data integrity, service denial, data storage retrieval attacks, etc [57], [58], [59], [60].

B. COUNTERMEASURES: TO DEAL WITH SECURITY THREATS
We suggest some countermeasures for routing attacks in such resultant evolving systems, and brief security measures for such highly dynamic environment. Our study suggests that cross-layering can improve the robustness of peer-to-peer systems in MANET. While, most of the security mechanisms proposed for mobile ad-hoc networks are still applicable in context of Mobile Peer-to-Peer (MP2P) systems, but then it can be further improved by harnessing cross-layer information. So, one has to improve the security measures at both 8 VOLUME 4, 2016 Orion uses one-hop broadcast flooding for searching, and maintains a file-based routing table that stores the next hop information to reach the destination. When a node wants to locate an object, it issues a query message that is broadcasted throughout the network. On receiving the query message, each node sets up a reverse route to the query initiator, and then retransmits to its physical neighbors.
Gnutella-like AODV Integrated 9 7DS uses a local broadcasting mechanism for document sharing among peers. Here, the system can operate in different modes for appropriate peer cooperation and querying mechanism like the data sharing, forwarding, active and passive modes. During the active mode, the system checks for any requests in the queue and broadcasts them. While in the passive mode, an advertisement triggers the query process. For better synchronization among the peers the system is driven by two strategies, i.e., data sharing and forwarding. In data sharing mode when a peer receives the query, it checks its local cache and only broadcasts the query further if the cache is hit. And, in forwarding mode on receiving the data or query the peers just forwards them to other peers, i.e., rebroadcasts it.
To locate a file, the request is flooded throughout the MANET using the enhanced version of Dynamic Source Routing protocol for node-to-node communication. When a node receives the request message, it communicates with the application layer using the MPP stack to check for the match. Every intermediate node adds its own node address to the message to create a DSR style route, and then rebroadcasts the request message to its physical neighbors.

11
To locate a file, the requesting node verifies its cache first to check if the node's local zone has the resource. If the resource information is not available, then the node broadcasts the request to other zones via the edge nodes.

12
Uses super nodes to augment the lookup process. GIA search protocol uses a biased random walk rather than randomly choosing the neighbor, where it selects high capacity nodes to forward the query.  M-Chord is based on a hierarchical architecture with super nodes and ordinary nodes. The ordinary nodes are registered to their corresponding super nodes. They modify the chord protocol to suit the MP2P environment. During a file request, the source node calculates the ID of the file based on its content and title using hash function. Then, this ID is forwarded as a request to their corresponding source super node. On receiving the request, the source super node lookup its finger table and generates routing information successively along the route until the destination super node whose ID space covers the requested file ID is reached. The destination super node proceeds with a local lookup. The chord routing mechanism is used along the ring.
Chord Custom Cross-Layered

18
Nodes whose identifiers are close to overlay ID are grouped as one physical cluster. MADPastry integrates the overlay and physical routing. It tries to identify the node that is numerically closer to the key than the current node. If a physical route to an overlay hop is unavailable, then it simply broadcasts the overlay packet within its own cluster. Along with the idea of proximity awareness using random land marking, physical clusters of nodes are formed that share common overlay ID.
Pastry AODV Integrated

19
During a lookup, the request message is forwarded to a router within its transmission range. The reference router then forwards the resource request message in the DHT overlay using the chord indexing mechanism. MeshChord utilizes the location awareness and overhearing strategies to lower the routing overhead.

Chord DSR Integrated 20
Bamboo uses a proactive overlay adaptation scheme to maintain the network structure. Every node generates a neighbor ping to reach its 1-hop neighbors. The node also performs leafset update by periodic random node selection from the leafset and executes push-pull operation. Every file name and peer is hashed to a key. The peers maintain a routing table which contains entries that direct to an intermediate closer peer to the requested key. The peer closest to the requested key knows the address of the actual peer storing the requested file.

Bamboo AODV Layered 21
It integrates P2P concepts at the network layer. In VRR, the nodes are organized as a virtual ring ordered by their identifiers which are fixed, unique. VRR hashes the node IP addresses to obtain the identifiers. Every node maintains routing path information about its neighbors in the ring. Each node also maintains a virtual neighbor set (vset) and a physical neighbor set (pset). The vset nodes hold the predecessor and successor node information, while the pset nodes hold the nodes that can directly communicate with each other at the link layer. In VRR, a node routes packet to a destination by forwarding them to nodes whose identifiers are numerically closer to the destination identifier.
Custom AODV Integrated

22
It combines the Dynamic Source Routing (DSR) protocol in the physical network along with the Chord protocol in the virtual ring formed by the address spaces. By maintaining a route cache, each node contains source routes to all its neighbors in the virtual ring. During routing, the node chooses the intermediate nodes from its cache which is physically close to itself and virtually close to the destination node.
Chord DSR Integrated

23
To lower the overhead that is observed with direct deployment of pastry over MANET, a cross-layered architecture is proposed to optimize the overlay. Every node running the CrossROAD piggybacks advertises its presence in the overlay. Each node in the overlay maintains a routing table. The sender of the message identifies the closest destination to the key, and delivers it through the routing protocol directly at the network layer.

24
Their scheme integrates the P2P search functionality with the network layer. A one-dimensional space, (i.e., a line) is used into which the keys and node IDs are mapped using a hash function (hashline). The system is partitioned into segments, where each node is responsible from one segment. The values of keys in one segment are maintained by the corresponding node responsible for that segment. During lookup, the node forwards a query request to one of its children, if the file with key coincides with the hashline segment of its children. Otherwise, the request is forwarded to the parent, and finally the node responsible for the hashline segment receives the query. A tree-based routing mechanism is used.

25
Their technique integrates pastry P2P overlay protocol, and DSR routing protocol at the network layer. It implements DHT in MANETs, to map objects to their corresponding nodes using a hash function. The routing in DPSR is similar to Pastry where key is generated by hashing the destination IP address, and further the message is routed to the node whose node ID is numerically closest to the key. The requesting node first searches its cache for the desired information, and then the query is forwarded to the intermediate nodes based on their pheromone table which stores each neighbor link's pheromone intensity, i.e., the probability value of routing message along that neighbor, judged by the number of traversed hops of an reply message in the process.

10
Gnutella-like ARA Cross-Layered [27] They focus on the file transfer process. Nodes downloading the same file are grouped into multiple clusters where each cluster has a request agent and a provider. Upon receiving the file request, a node transmits the request to other nodes in the cluster via a link layer broadcast. In the data transmission phase, the provider periodically sends data packets to whole cluster.
N/A N/A Cross-Layered [28] A keyword-based search mechanism is used to locate a file. During the file lookup, a File-lookup Request message (FRQST) is published to all neighbors. On receiving the message, the node checks its local repository. If there is a match, then a File Reply message (FRPLY) is sent to the querying node. Otherwise, the FRQST message is forwarded to its directly connected neighbor nodes excluding itself. If no FRPLY is received, and the number of retries is less than the threshold value then the FRQST is again reinitiated.
Gnutella-like CBRP Integrated [29] The network is divided into regions. Each region signifies a group that contains nodes that are physically positioned within the region boundary. Each group has a super node that handles the queries, and publishes within their respective group. The super node holds the records of active peers, available resources, services offered to resolve the queries efficiently within that group.
They proposed a geographic location-based protocol that uses physical node location information to provide effective service in an ad-hoc network. The content server periodically advertises the contents containing information to all nodes along several geographical locations. The contents are disseminated along with the requests in several directions to ensure their meeting.
Each node maintains a summary information of their respective data as well as information about the remote peers, and then adaptively disseminates this content synopsis to the most promising peer. A node uses bloom filter to build the snapshot of their data. Based on this local and global information, the nodes can route the query efficiently.
Gnutella-like Custom Integrated [32] Uses swarm intelligence based patterns to locate files. The search process proceeds by selectively traversing to more promising source while scanning through a sizeable area of the network. Within the area, the file request message is broadcasted across the network for searching. While during scanning of the area, if the file response message is generated, then the nodes in the route store the message in the PatchInfo table.
Gnutella-like Custom Cross-Layered layers individually for a cross-layered architecture. Another approach is to constantly monitor the intermediate overlay nodes only. To prevent sybil attacks, node reputation value can also be used, where the Sybil nodes can improve their own reputation. To prevent blackhole attacks, unique request IDs, TTL, and timestamps can also be used.

V. FUTURE RESEARCH PROSPECTS
This section provides some open problems that haven't been studied thoroughly in the development of resource discovery techniques for P2P systems over MANET. From the discussion, and analysis of the state of the art techniques, it is observed that there is no independent technique that addresses all issues involved in resource discovery, especially in terms of having good hit rate, lowering resource consumption (battery power and network bandwidth), minimizing message overhead, reducing search latency, etc. At large, most of the search schemes ignore the scalability, and load balancing issues which are very important considering the magnitude of large-scaled P2P systems. Further, most of the discussed techniques use simulation based analysis. Mathematical modeling and formal validation of these models are interesting directions for further research. The peer-to-peer deployment over mobile ad-hoc network uses real-time communication to efficiently share information among peers in an ad-hoc fashion. However, in these networks, node mobility incurs several challenges such as frequent disconnection, signal attenuation, re-route discovery, etc. Peer discovery is VOLUME 4, 2016 Here, the node interest and moving pattern of the node is considered. First, the nodes with common interest and high frequency of meeting form the community. Then, the inter-community meeting frequency of the nodes is considered. To forward a query, the node that is frequent visitor to other community is chosen, so that the desired file can be located at the earliest.
Their protocol considers the user's interest. When a user makes a search, his personal interests are matched with the database, and accordingly the query results are returned. Further, the user send's an invitation to number of interested users. On receipt of the invitation, if a user is interested, he responds, and then both of them become friends. Among friends, the resources can be viewed and shared. The user announces his available resources to the friends who can then request the resources.
Gnutella-like AODV Cross-Layered [35] Based on the social community based theory. A social relationship is deduced by maintaining a utility value among the communities. Each node calculates a utility value for every encountered data with respect to its connected community knowledge, data destination information, and then accordingly it caches the data with highest utility value. Further, the peer decides which data to fetch from other peers to maximize the utility value in its own buffer.
Propose an interest oriented file searching scheme, that selects nodes to forward the query based on similarity to the interests of the nodes. The file search takes place in two phases, i.e., within the community and across the communities. On a file request from a node within the community, the neighbors within single hop count are searched. If the file is not found, then the request is forwarded to the community coordinator which checks the community file index. If the file is still not found, then the coordinator forwards the request to the ambassador nodes which in turn forward the request to other communities matching the queried file. A file reply is sent back to the requesting node via the ambassador nodes of the community.
Their search technique uses the local indexing strategy, where the files and indices are maintained locally. The query model uses the keyword based scheme. The index information are stored using the inverted index list.
Gnutella-like AODV Cross-Layered [38] Their system uses user's profile and node location information to build a location based social network over MANETs. A social relation is established considering the similarities among them. The content search is managed by using social relationships, where the contents are only shared among interested users. By considering the node position and interests the similarity is measured.
still an open research problem in this domain. Designing a buffering or cache optimizing technique to improve the performance of resource discovery scheme is another area that can be focused on.
Also, an interesting point for future research study is extending and configuring the structured P2P protocols to suit and work well under such highly dynamic network scenario. Further, investigating the variation of search query behaviors over time will help to devise an effective implementation of resource discovery technique. Most of the discussed search schemes haven't considered the security aspect, which is a challenging research subject in such volatile environment. In MANETs, a malicious node attack is very frequent, but isn't mentioned in most of the techniques. Furthermore, node reputation, trust, authentication and authorization can also be considered for enhancing the security of the search protocols. Another direction for further study is to focus on a crosslayered search architecture design to compliment large scaled network, while minimizing overhead. As a next step, one can also focus on providing collaborative filtering schemes for P2P file sharing applications explicitly designed for MANETs that can be tested in real-time scenarios. Perhaps, one should also consider the relationship between topology, and the search algorithm for designing an effective strategy. Another, interesting area of research is the Mobile Edge Computing (MEC) technology, wherein file sharing applications and services could further evolve with an optimum level of resource utilization. Typically, the peer-to-peer systems reside on the edge of the Internet or in ad-hoc network. They connect together instantly in an ad-hoc manner or use

References
Pros Cons [8] Eliminates redundant routing paths. Offers noticeable search efficiency and query delay. Suitable for small networks. Offers suitable dynamicity and flexibility.
Only supports keyword based queries. Can't lower the signaling overhead. Offers low scalability. High capacity nodes required. Less secured. High energy and bandwidth consumption. Causes high node overhead. [9] Suitable for small geographical area. Cache manager helps improve the query search process. Offers suitable robustness. Suitable for highly dynamic mobile network scenarios. Uses minimum bandwidth.
Practical implementation is not feasible. Hardware dependent. Built for keyword search. Complex design. [10] Can handle link failures and mobility. Provides location aware services. Reduces search overhead. Offers noticeable scalability. Decreases signaling overhead. Increases query success rate.
Dependent on MPCP protocol for cross-layer synchronization. Not suitable for increasing query request rate. Causes network wide broadcast of search query request. High battery power and bandwidth consumption. Node overhead. [11] Network wide broadcast is limited marginally. Local cache helps improve search efficiency. Suitable for small sized network. Reduces overhead in certain scenarios as compared to broadcast by flooding.
Performance depends on factors like zone radius, and node density within the local zone. Generates additional traffic as number of zones increases. Low security. Doesn't guarantee to find an object within the local zone. Offers low scalability. Mobile and network resource consumption is high. [12] Supports any type of queries. Offers suitable load-balancing and dynamicity. Includes topology adaptation algorithm. Improves search efficiency and reduces query delay.
Offers low security. Suffers from redundancy where the content indices are replicated. Suffers from single points of failure and bottlenecks. [13] Restricts query flooding throughout the network. Reduces communication cost. Local broadcast along with caching technique help improve success rate. Reduces query response time.
Only handles popular queries efficiently. Local broadcasting mechanism can't always guarantee to locate the file. Low security. Supports only simple queries. Content index maintenance for each node is tedious. [14] Offers suitable fault-tolerance and robustness. Removes bottleneck and single point of failure .Offers dynamic IP address allocation to nodes. Offers noticeable load balancing.
Not suitable for highly mobile and large scaled networks. Involves complex procedures. Battery power and bandwidth consumptions are high. Offers low security. [15] Uses software agents to improvise the search process. Supports dynamic and opportunistic information exchange. Provides recommendation based retrieval. Improves hit rate. Reduces lookup time.
A set of keywords is used to describe interests of a user. Increases network traffic in both manual and automatic search modes. Involves complex procedures. High maintenance overhead. Requires high bandwidth and consumes more energy. [16] Supports query filtering to limit broadcasting. Lowers forwarding of the query messages. Reduces transmission overhead. Offers noticeable scalability. Mobile and network resources are used effectively.
Maintenance of the response routing table becomes tedious when the network size grows and mobility increases. Low fault-tolerant and is less robust. Not suitable for a highly dynamic network. Offers low security. Reduces message overhead with the use of location awareness and overhearing strategies. Minimizes routing stretch. Lowers query response time.
Heavily dependent on the Mesh router. High capacity nodes required with GPS enabled functionality. High battery power consumption. Node overhead is high.
[20] Doesn't require any change to the routing or overlay layer. Offers suitable flexibility. Easy implementation and manageable.
Overhead increases with the increase in number of nodes. Proactive management increases network traffic, high congestion. Offers low scalability. Energy efficiency is low. Network load increases while the success ratio decreases. [21] Keys can also identify application objects instead of just VRR nodes. Avoids flooding throughout the network. Offers suitable load-balancing.
Complex procedures involved. Causes node overhead. Offers low scalability. Introduces complexity in implementation. [22] Reduces average request path length. Offers noticeable load balancing. Incur less maintenance overhead.
To maintain consistency, predecessor and successor nodes have to be periodically managed. Effectiveness of source route is based on the cache entry. Frequent cache update is required. [23] Supports topology aware functionality. Reduces communication overhead. Guarantees message delivery through shortest path. Suitable for small networks.
External data sharing module is required for cross-layer communication.
Incurs additional cost at OSLR layer. Not suitable for highly dynamic mobile network. Periodic advertisement of message causes high maintenance overhead. Suffers from low scalability and dynamicity. [24] Integrates query search and routing strategy. Can respond to location based queries. Offers suitable query routing strategy. Maintain location awareness via the tree formation holding information of parent and child relationship.
Routing  Their algorithm assumes that every node knows the physical location information of the nearby nodes. Maintaining distance metrics becomes tedious. The scheme suffers from bottlenecks. Requires high capacity nodes with GPS enabled functionality.
Suffers from false positive error. Generates high overhead to disseminate information. Node overhead.
[32] Improves network coverage. Gets optimized over time. Improves search efficiency. Offers noticeable dynamicity and flexibility.
Incurs high overheads due to its iterative nature. Suffers from low scalability. Low security. High battery power and bandwidth consumptions.   with some limitations as compared to PC or laptop. To deal with such resource constraint situation, focusing on the computational offloading aspect to the resource-rich platforms might help to improve the performance of such applications in the upcoming 5G communication era.

VI. CONCLUDING REMARKS
Peer-to-Peer (P2P) networking is used in Mobile Ad-hoc Network (MANET) to deploy content sharing applications.
Resource searching algorithms in such deployment have attracted a lot of attention over the years. In this article, we study how resource discovery is carried out in such P2P file sharing applications over MANET. We review and compare state of the art search algorithms to provide some interesting lines for future researches. We have investigated the search schemes in four different categories, i.e., flooding based techniques, distributed hash table based techniques, content advertisement based techniques and the social network based VOLUME 4, 2016 techniques. For each of these classes, we have comprehensively reviewed and compared several existing works categorically by discussing their search mechanisms, underlay and overlay characteristics, and their deployment strategies. Further, each method is assessed and presented along with its strengths and weaknesses. We also compare each scheme evaluating few key performance indicators. To conclude a consolidated comparison is done among the categories for quick summarization in terms of factors such as ease of implementation, candidature type, suitability for highly dynamic scenario, feasibility for real-time systems, robustness to churn, impact of node failure, whether it lower resource constraints, and provides shortest path or not. We also give an overview of the common challenges and complications observed in such resultant systems. Further, we also shred limelight on the file sharing scenarios in MEC enabled ad-hoc network, and its application domains highlighting few open research questions. From the study, we notice that most of the search schemes are based on the flooding technique that has a wide and practical scope of applicability. Many systems lacked the fault tolerance and robustness capabilities. Also, almost all the reviewed systems are vulnerable to security attacks. This critical aspect should be focused more. Our study concludes that the resource searching algorithms in cross-layered implementations can handle link mismatch, and failures better than the other prototypes. implementing novel computational and machine learning algorithms and applications for big data integration and data mining with Cincinnati Children's Hospital Medical Center, Cincinnati, OH, USA. He has received MCA from Amrita Vishwa Vidyapeetham, Mysore in 2014 and BCA from JSS College of Arts, Commerce and Sciences, Ooty road, Mysore in 2011. His Ph.D. work centers on Application of Machine learning (some times Deep learning) for Cyber Security and discusses the importance of Natural language processing, Image processing and Big data analytics for Cyber Security. He has more than 50 research publications in reputed IEEE conferences, IEEE Transactions and Journals. His publications include prestigious conferences in the area of Cyber Security, like IEEE S&P and IEEE Infocom. He has given many invited talks on deep learning applications in IEEE conferences and Industry workshops in 2018. He has got a full scholarship to attend Machine Learning Summer School (MLSS) 2019, London. Dr. Ravi has served as a Technical Program Committee (TPC) member at international conferences including SSCC Symposium, IEEE TrustCom-2020, and IEEE SmartData-2020. He is an editorial board member for Journal of the Institute of Electronics and Computer (JIEC), International Journal of Digital Crime and Forensics (IJDCF), and he has organized a shared task on detecting malicious domain names (DMD 2018) as part of SSCC'18 and ICACCI'18. His research interests include application of data mining, machine learning (including deep learning), natural language processing and image processing for Cyber Security, big security data analytics, disease gene discovery/prioritization, computational drug discovery and drug repositioning. More details available at https://vinayakumarr.github.io/.