A Critical Review of the Routing Protocols in Opportunistic Networks

The goal of Opportunistic Networks (OppNets) is to enable message transmission in an infrastructure less environment where a reliable end-to-end connection between the hosts in not possible at all times. The role of OppNets is very crucial in today’s communication as it is still not possible to build a communication infrastructure in some geographical areas including mountains, oceans and other remote areas. Nodes participating in the message forwarding process in OppNets experience frequent disconnections. The employment of an appropriate routing protocol to achieve successful message delivery is one of the desirable requirements of OppNets. Routing challenges are very complex and evident in OppNets due to the dynamic nature and the topology of the intermittent networks. This adds more complexity in the choice of the suitable protocol to be employed in opportunistic scenarios, to enable message forwarding. With this in mind, the aim of this paper is to analyze a number of algorithms under each class of routing techniques that support message forwarding in OppNets and to compare those studied algorithms in terms of their performances, forwarding techniques, outcomes and success rates. An important outcome of this paper is the identifying of the optimum routing protocol under each class of routing.


Introduction
Communication technologies are advancing every day, providing the globe with a faster, better and safer connectivity.With this advent of the evolving technologies, communication is now made possible in those regions where building a reliable communication infrastructure is not possible.The building difficulties are mostly because of the geographical challenges involved in these regions and it is being a tough fight with the nature for the engineering community.Opportunistic networks are a class of Delay Tolerant Networks (DTN), employed in the regions where a reliable connection between the source and the destination is not practically feasible at all times.Such communications may include satellite communication, communication under ocean, along mountain regions and many.Routing is one of the key challenges in OppNets, as the desired nodes often move in and out of the connectivity range [1].In the routing strategy, no assumptions are made on the existence of a complete path between the nodes participating in the message transmission, as the connectivity between the nodes do not exist at all times.
OppNets experience frequent changes in the network topology [2] [3] due to the node mobility and so end to end conventional routing technique do not perform well here.One of the key issues faced by routing in DTN [4] is the uncertainty in the packet delivery.Frequent disconnections between the nodes and higher churn rates are prominent in these kinds of networks because of high mobility, interference, obstruction, short radio coverage, intermittent power, and also due to network attacks.Churn rate is the uncertain in and out of range movements of the nodes in the network.Store-carry-forward is the basic paradigm [5] followed in the routing process; allowing the message forwarding characterized by an additional delay in the message delivery.On receiving the messages with the forwarding request, nodes store them in their own buffers until they encounter the appropriate nodes for further forwarding.Routing can be benefited [6] by considering the knowledge concerning the network and the node mobility.
Classes of opportunistic routing include contextoblivious, mobility based, and social context-aware routing.Each class has its own way of message forwarding policies.Context-oblivious routing blindly floods the network with the message copies, making it available for all the nodes in the network.Every node in the network has the opportunity to forward the message to the destination.This strategy provides a wide availability of forwarding options, but flooding the network with message duplications causes network congestion.Mobility based routing utilizes the mobility information of the nodes for message forwarding.This mobility information includes mobility pattern of the nodes, node connectedness, and position of the nodes in the network.Social context-aware routing exploits the social relationships of the nodes to route the messages, focusing on the behavioural knowledge about the node environment.Unlike context-oblivious routing, both mobility-based and social context-aware routing do not floods the network with message duplications and so reducing the network congestion.
A number of algorithms have already been designed under the three classes of routing.Each and every protocol is distinct with its operation principle, performance, success rate, and network behaviour.The routing strategies in this delay tolerant networking scenario always incur additional complexities incorporated by the nature of both the network and the nodes, which in turn increases the routing challenges even further.Such complexities are incurred because of various factors such as node mobility and higher churn rates, ever changing network topology, unpredictable node movements and behaviours, level of trustworthiness witnessed among the nodes and so on.Usually, employing the appropriate protocol in order to satisfy the communication requirements despite the nature of the network and the nodes is hardly achieved.To this end, the employment of appropriate protocol is crucial in achieving successful message delivery.(This chaotic scenario in studying the nature of the network and the nodes, and employing the appropriate protocol is detailed in section 4).
With this in mind, this academic work is aimed at studying and analyzing the routing characteristics of the protocols under each class.Three such protocols under each class are studied deeply, comprehensively reviewed, and critically analyzed and compared between each other in terms of their effectiveness and performance in the routing process.The protocols to be explored include Epidemic, Network Coding and Spray and Wait protocol under the Context-oblivious routing.Mobility based routing is covered with PRoPHET+, the Adaptive Protocol and PPSW (Position Prediction Spray and Wait).For the Social context-aware routing, HiBOp (History Based Routing Protocol for Opportunistic Networks), Propicman and Bubble Rap are examined.
Section II reviews the stated algorithms and Section III is composed of critical comparisons and discussions of the reviewed protocols.Section IV describes an opportunistic network scenario to explain the complications in choosing a routing protocol and this study is concluded in section V.

Epidemic routing
Epidemic routing protocol is seen as a benchmark of this group of routing protocols.It is one of the earliest schemes employed to customize the traditional flooding techniques for message forwarding.The message delivery is achieved with minimal assumptions of the network topology and connectivity, and routing is served by the occasional or periodic pair-wise interaction between the existing nodes.The protocol employs the theory of epidemic algorithm [7] in which each node maintains two buffers, one to store the originated messages and the other acts as a secondary buffer on behalf of other nodes.Nodes store the received messages as compact summary vectors and exchanges the vectors with the desired forwarders when encountered.On lacking a particular message, nodes request other such nodes carrying the message and do the necessary update in their storage buffers.Each node in the network maintains a list of recently encountered nodes, thus minimizing the redundant replication.
Messages are distinguished from each other by a unique 32-bit identification number and are weighted by a hop count.The hop count determines the number of intermediate nodes a particular message should pass through in its routing path.The larger the hop count; the less is the delivery probability of the message.The hop count descends as the message passes through each node and when the destination is encountered, this hop count drops down to one.Messages are usually delivered when the node corresponding hop count one [8] encounters the destination.Duplication of the messages continues until the Time-To-Live (TTL) of the message expires.Message delivery rate and latency are marked as the prime merits of this routing technique.But, it consumes a lot of network resources and the complexity in the buffer management is also witnessed on the higher side.

Spray and wait protocol
The spray and wait protocol is a controlled replication routing technique typically employed in sparse networks.The algorithm involves two phases, the first is the spray phase and the next is the wait phase.In the spray phase, a certain number of message copies are spread over the network by the source node.Nodes lacking the broadcasted message receive and store them in their buffers.In the wait phase, each node holds a copy of the received message and waits for the opportunity to deliver the message.The carrier node delivers the message copy to the desired node, when the later comes within the range of connectivity.
A small but fixed number of message copies are distributed to a distinct number of nodes in order to limit the network overhead.Each node transports its own message copy until it meets the destination or the TTL of the message expires.The choice of the number of message copies to be distributed during the spray phase is decided based on the average target delay.At this stage, the protocol assumes that the movement of nodes is independent to each other and also the nodes are identically distributed.All the nodes (including the sender) in the network holds 'n' number of message copies (n>1).Nodes handover n/2 of the message copies to the first node encountered by them and the remaining copies are stored in their own buffers.Nodes switch to direct transmission mode when left with the last copy of the message and will eventually transmit the final message to the final destination node when it is encountered.
The Binary policy employed by the Spray and Wait approach is identified to be the best in terms of delay.With the advent of its binary spraying policies, this protocol reduces the spraying time which in turn minimizes the expected time of message delivery.The approach employed by the spray and wait [9] protocol overcomes the network overhead issue of the Epidemic routing technique.

Network coding
The Network coding approach is a derivative of the dissemination-based algorithms.The protocol works similar to the Epidemic routing technique but it is aimed at reducing the network flooding.This approach floods the network with a limited known number of messages with less injection.
Prior to transmission, the format of the message is changed by embedding additional information into the coding block.Upon receiving, nodes require this coded block to reconstruct the original message.This scheme differs from the replication based schemes by, not depending on the success rate of the individual messages.The network coding scheme considers a message is delivered successfully only when the necessary number of coded blocks are also delivered in order to reconstruct the original data.
Let us assume A, B and C to be the nodes in a string network.We further assume B to relay any message travelling between A and C. Message 'a' is generated by A and addressed to C and message 'c' is generated by C and addressed to A. Since B acts as the relay between A and C, B will have to broadcast the message containing 'a' and 'c' to both the nodes.A and C will receive the corresponding messages of 'c' and 'a' through B respectively.Once A and C receives the messages 'a' and 'c', both the nodes will decode the messages.The concept of the network coding approach is illustrated in Figure 1.
This approach tends to be more robust than the replication based approaches especially when the network connectivity is very poor.It is worth to add that the network coding technique is less efficient for good connected networks.

PRoPHET+
An Adaptive Probabilistic Routing Protocol using the History of Encounters and Transitivity (PRoPHET), called PRoPHET+ [7] is an extension of the PRoPHET protocol, which utilizes the history information of the nodes in the network.Both the protocols compute a predictability value for message forwarding based on the information collected from the nodes in the intermittent networks.This predictability value corresponds to the message delivery rate.Since the probability of connectivity between the nodes is low in OppNets, identifying the intermediate carrier nodes is always challenging.
For the degree of better understanding, a precise description of the PRoPHET Protocol is also included in this review.PRoPHET utilizes the history of encounters between the nodes to calculate the predictability value.The next intermediate carrier node in the network is decided in accordance with the computed predictability value.Packet loss ratio is high in PRoPHET as it employs the FIFO (First In First Out) queue mechanism [7] for storing the messages in the buffers.
As an extension of PRoPHET, PRoPHET+ utilizes the buffer size, power level of the nodes, bandwidth availability, location of the nodes, and popularity as additional parameters in order to compute a deliverability value apart from the predictability value of PRoPHET.If the deliverability value of the encountered node is better than the sending (carrier) node, message is forwarded to the encountered node.PRoPHET+ considers the buffer size in order to overcome the disadvantages of the FIFO queue structure.Ensuring the active participation of the nodes with reasonable power level is prominent in OppNets.In OppNets, the success rate in the message delivery is always under the shadow of uncertainty.Acknowledging the message delivery is also a tedious task to achieve.It is not encouraging to resend the packets without knowing the delivery status as this process consumes additional bandwidth.The protocol believes that if a node has been visited frequently in the past, it is most likely to be visited in the future.It is observed that the buffer, power level, bandwidth, popularity and predictability operate in relation to each other in the network.With these stated factors, [7] defines an equation for computing the deliverability value as, Where, V R represents the predictability value from PRoPHET.W B, W P, W A, W O, W R represents the weights for buffer, power level, bandwidth, popularity, and predictability respectively.

The adaptive algorithm
The adaptive protocol for forwarding messages [10] exploits the predictability and connectedness information of each and every node in the network.Every node is capable of 4 calculating its own predictability and connectedness [10] with the neighbour nodes using their past contact and intercontact history.Based on this information, nodes predict the future meetings with their peer nodes and maintain the same information in their connectivity table.When nodes contact each other, they exchange the information in this connectivity table in order to update the current network status.Every node updates its own table with the best forwarders available by means of a mutual comparison.If a node finds more than one forwarder, then the node can select a single node with the highest predictability value or, two or more nodes in the routing path to forward the message.
The message forwarding process of the adaptive protocol is given by three sub-divided algorithms.The first algorithm is to send the connectivity table upon which the nodes arrange their own information in the connectivity table and then forward the same.Then the nodes wait for a time interval until the next exchange encounter occurs.The second algorithm is to receive the connectivity table.Here, each node compares the received table with its own connectivity table and updates its own table accordingly.The final algorithm is designed to receive the messages, in which the sending node checks the encountered node, whether or not it is appropriate for the next hop in the network.If so, the message is forwarded.Otherwise the node checks the connectivity table for the best forwarder and waits for the corresponding contact to occur.If the node itself is the best forwarder, then it stores the message in its buffer and looks for the destination node.The adaptive algorithm employs three types of queuing policies for storing the packets in the buffers.NOPO simply drops the future packets.MOFO [4] drops the most forwarded message.SHLI drops the message with shortest life time.PPSW PPSW (Position Prediction Spray and Wait) [6] is another protocol that uses the mobility information for message forwarding in OppNets.This algorithm works by predicting the future position of the nodes in the network by deploying a polynomial interpolation.Similar to the spray and wait protocol discussed earlier in the context-oblivious class, PPSW also involves two phases, the spray phase and the wait phase.In the spray phase, the source node replicates the message to a required number of copies and sends to the other nodes in the network, holding the last copy.Then in the wait phase, nodes receiving the message copy send the same to another node closer to the destination.Each node maintains their past position in the network, in an information table.When nodes contact each other, they exchange the information in the table and update it accordingly.With the updated information, the future position of the nodes is computed by means of a polynomial interpolation given by, Where, l k (t) denotes the Lagrange interpolation fundamental function of time.In the wait phase, if a node encounters a node lacking a particular message copy, then it sends the message copy along with a forwarding token to the respective node lacking the particular message.This distribution process operates like a binary tree.Unlike spray and wait, PPSW do not wait until the desired destination is encountered during the wait phase.Instead, the nodes always forward the messages to another node closer to the destination.Message is forwarded to an intermediate node only if the encountered node distance is closer to the destination as compared to the sending node.The distance between a node in the network and the destination is calculated using the following relations, Here, (X M, Y M ) represents the node co-ordinates.For managing the buffers in the nodes, FIFO queue is followed by this protocol.So PPSW can be viewed as an advancement in the spray and wait protocol.

Social-context aware routing
HiBOp HiBOp (History Based Routing Protocol for Opportunistic Networks) is a type of Social context-aware [11] routing technique.The word 'social context' is related [2] to the collection of information representing the area or the environment where the user (node) lives and also the history of their social relationship.The 'context' information [8] is further described to be a set of information defining the node profile.As a part of the routing process, HiBOp uses the stand-alone information of the carrier nodes such as user node, address, work place and profession in order to build up the context information.
During the association process, nodes share their own information between each other and analyze the context they are interested in.Nodes with higher tendencies to share the data are preferred to forward the messages.HiBOp encounters the history information [11] of the nodes as the secondary context information.The protocol assumes that a node can still be a good carrier even if not with its current status, the past experiences and predictable habits could make it as a potential one.Each node builds the local or stored Identity Table (IT) containing the user's personal information [2] [8].When nodes communicate with each other, they exchange the information stored in the IT.The context information defined by the IT is used to evaluate the potential fitness of a node to be a forwarder.The periodical broadcasting and exchanging of the messages by the nodes causes network overhead which is addressed as the major drawback of this routing technique.

Propicman
Propicman is another Social-context aware routing protocol that uses the carrier's information to disseminate the data efficiently and to make provision for efficient routing [12] with zero knowledge.The protocol assumes that the users are not likely to move around in a random manner.Depending on a repeating behaviour at different time periods, the possibility of revisiting the desired place in the future is certain.The information about the nodes is computed by using the node profile to achieve better accuracy in the routing process.The sender node shares this information [8] with the intermediate nodes in a hidden format to enable the routing decisions.This hidden information can only be read and accessed by the destination node while the intermediate nodes see this intermediate message in the hidden format.This principle is employed by Propicman to conceal the information about the destination and to select the best intermediate neighbours along the routing path.
This routing technique is mostly preferred to forward messages as Propicman assures a certain level of privacy to the destination node.But, the probability of reaching the destination nodes is less in Propicman [13].To overcome of the limitations of Propicman, improvement was made by using a routing scheme based on the foundation principle of Propicman called CiPRO.This proposed scheme considers the temporal and spatial aspects of the context information to predict the encounter probability between the sender and the destination.The prime improvement of CiPRO over Propicman is that it provides the sender with the knowledge of when and where it can have a higher forwarding probability.Unlike the context oblivious routing, propicman do not flood the network thus reducing network congestion and minimizing the resource utilization.

Bubble rap
Bubble Rap algorithm achieves forwarding decisions by combining the knowledge acquired from the structure of the community [14] and the node centrality.One of the basic assumptions made by this technique is that the nodes establish links among themselves in a definite pattern and form separate communities in the network.In a community, every node exhibits different levels of popularity as some nodes tend to interact more than others within the same community.This implies that the nodes with higher level of popularity (interactions) will be assumed to possess the higher centrality required by this algorithm.
The visiting frequency of a node with others to reach the shortest path determines the centrality of the node and represents the significance of the node to relay traffic (forward message) potentially to other nodes in the system.The forwarding policy employed here is to first send the messages to the nodes with higher popularity than the current carrier node.The other strategy employed in this design is to distinguish the members in each community; these members will then be used to forward messages in the network.Each community formed earlier will require at least one node to be a member.And the member node will have a global ranking across the network and a local community ranking for which it belongs to.A single node may also be a part of different communities and have various local rankings.
Bubble Rap involves two stages of bubbling up in its forwarding strategy.The algorithm defines the term 'bubbling up the message' as the message is always pushed up the hierarchy till it reaches the destination.The sender node first bubbles up the message using the global ranking earlier formed, in a hierarchical manner.This process will be repeated until the sender node encounters a node of the same community as the destination node.In the second stage, the carrier node bubbles up the message with the local ranking, and the bubbled message expires when the destination is reached.
A greedy approach [9], in which the nodes are able to compare their rankings with others in the community and subsequently with other communities around them, is followed by this technique.This process will push the messages up until the destination is reached.Forwarded messages are deleted by the original carrier from its buffer, after their delivery to the community to prevent further dissemination.The routing strategy of Bubble Rap is illustrated in the Figure 2, where S and D represent the source and the destination respectively.

Context-oblivious routing
The underlining concept establishing Epidemic routing and Network Coding are similar as both the protocols exploit some form of flooding in the network.The flooding technique employed by the Epidemic protocol ensures message delivery irrespective of the network norm.Despite the said advantage, this approach consumes more network resources during the routing process.But it also effectively overcomes this drawback by specifying the TTL of each message during the addressing phase.It is a very efficient approach when the specified bandwidth required by the algorithm is met.On the contrary, over flooding approach is not the best of choices especially with limited network resources.Time delay is a serious concern for the delivery of messages in OppNets and it is necessary to ensure that the TTL of the messages are always greater than the time delay.Network coding provides part of the solutions to the flooding approach of the Epidemic technique, by replacing the blind flooding technique with the injection of fewer known number of message copies in the network.It delivers the same amount of data in the network as Epidemic does.Network coding is aimed at reducing the network congestion to achieve a better resource management than the Epidemic routing.
Similar to the Network coding, Spray and wait is another protocol concerning the network overhead.Spray and wait relates the choice of the number of replicated message copies with the average target delay, proving better delivery ratio then the Epidemic routing.Spray and wait shows similar characteristics to the Network coding, both injecting a known limited number of message copies in the network.In this vein, it also provides a considerable reduction in both the network overhead and resource requirements.Spray and Wait protocol presents a better delivery of packets to the destination in the event of the time delay, powered by its binary policies.
Epidemic routing approach can be viewed as the cost effective solution of this class because of its falling rate of the bandwidth.Despite this benefit, its blind flooding strategy leading to heavy network congestion is the downtime of this class of routing.Blind flooding principle also results in the wastage of resources as this technique forwards the message copy to almost all the nodes in the network.It is not encouraging to the send message copies to a node that has no capacity to forward the message towards the destination.Also, bandwidth availability cannot always be guaranteed in some geographical regions.The Spray and Wait and the Network coding approaches appear to be the optimum solution for now.The Network coding approach might be ruled out because network connectivity is not always being poor and also with the present advancements in handling technical issues better than before, this scheme tends to be losing its grip.The Spray and Wait approach presents a controlled flooding remedy which is attractive in terms of its efficient traffic management.Even though limited to sparse networks, with better modifications, spray and wait routing protocol will stand the main direction for the growth and practical development of opportunistic routing in the class of context-oblivious routing.

Mobility based routing
All the three discussed Mobility Based algorithms target a common goal of reducing the routing complexity.To achieve this, the protocols under this class follow different methodologies such as finding the best path, minimizing the delay in the network, enhancing storage capacities and improving the delivery rate respectively.All the three routing protocols are effectively utilizing some form of history information about the nodes and the network accordingly.PRoPHET+ and the adaptive algorithm utilize the history of encounters between the nodes, while PPSW algorithm works with the position history of the nodes in the network.Maintaining the information table and sharing them with the encountered nodes is a common approach found in both the Adaptive protocol and PPSW.
Considering the node selection criterion, PRoPHET+ simply transfers the message if the encountered node has a better deliverability value than its own.The adaptive algorithm selects the node with the best deliverable value or selects more than one number of nodes for routing.In selecting the routing path, the adaptive algorithm offers a wide range of choice than the PRoPHET+ algorithm.The drawback of both the selection mechanism is the uncertain probability of the nodes in encountering with the future peer nodes.In some situation, the sending carrier node might find a node in future, with a better deliverability value than the node to which the message has actually been forwarded.In this scenario, there is no possibility for the sending node to resend the same message in order to achieve a better routing path.Also, holding the message to meet a forthcoming node with a better deliverability value than the current availability is not encouraging as the future prediction of the node encounters is always uncertain.In this sense, the node selection approach of the PPSW algorithm seems to be beneficial, as the message is always forwarded to a node closer to the destination.
Since PRoPHET+ is a probabilistic routing technique, it involves mathematical computations.The deliverability value is computed using the equation ( 1) involving simple addition and multiplication apart from identifying the parameter values.The probability of the success rate of this equation ( 1) highly depends on V R , the deliverability value from PRoPHET.On the whole, this computation process includes the calculation of the predictability value from PRoPHET, which in turn is utilized by PRoPHET+ to find the final deliverability value.In this sense, PRoPHET+ cannot function independently without PRoPHET.The protocol PPSW uses a polynomial interpolation to compute the corresponding position of the nodes in the network by exploiting the history information of the nodes.This knowledge about the position of the nodes is then processed to compute the distance between the corresponding node and the destination.More importantly, during the calculation of the polynomial interpolation, the algorithm considers time as a primary parameter.So, the results produced by this algorithm are believed to be accurate, since the position of the nodes in the network always varies with time.Finally, the adaptive algorithm involves no mathematical computations.The operating principles of this algorithm are purely logical.It only involves updating and exchanging the necessary information.
Storing the messages is a crucial process in the intermittent network routing.Both the PRoPHET+ and the A Critical Review of the Routing Protocols in Opportunistic Networks

7
PPSW algorithms follow the FIFO queue mechanism for managing the message buffers.Once the buffer is full, the FIFO queue simply drops the arriving packets without considering the message priority.PRoPHET+ algorithm includes the buffer size of the nodes during the computation of the deliverability value.But, it only helps to enhance the deliverability value based on the available buffer rather than enhancing the buffer capacity for better storage of the messages.The MOFO queue mechanism [10] in the adaptive algorithm is interesting, as it drops the mostly forwarded message.If the node drops the mostly forwarded message from its buffer, other such nodes to which the message has been forwarded before, will take over the routing responsibility of the dropped message.This reduces the probability of a message being dropped before forwarding.
An analysis is made on the assumption scenarios of the algorithms.PRoPHET+ assumes that the network is composed of well behaving nodes transmitting messages of same size.All the nodes are either rechargeable as a whole or not.Also, it assumes that the storing parameter and the power consumption of the nodes are negligible.On the contrary, while calculating the deliverability value, buffer and power parameters are included by this algorithm.Clearly, PRoPHET+ is not concerned about the security related issues in the network.It can be observed that both PRoPHET+ and the Adaptive algorithm believe that the nodes are capable of determining their own parameters including the buffer size, power, bandwidth, and location.Apart from these common parameters, PRoPHET+ includes popularity and the adaptive algorithm includes connectedness.If a node moves [10] slowly in a small space, it has the least probability of encountering the destination before the TTL of the message expires.Also some of the assumptions made by PRoPHET+ on the behaviour of the nodes and the packet size are not acceptable, since any node can fail at any time and also users very often transmit packets of various sizes.These assumptions of PRoPHET+ may lead to the selection of wrong nodes and sometimes failure in the message delivery.
PPSW outperforms both the PRoPHET and the spray and wait protocol in the aspects of delivery rate, buffer management and message size compilations.Also the adaptive algorithm proves that it performs better than PRoPHET+ in the buffer management.To conclude this routing class, PPSW out performs both the PRoPHET+ and the Adaptive algorithm in OppNets as a Mobility Based routing protocol.

Social-context aware routing
The basic concept of Propicman and HiBOp is similar to some extent, both depending on the carrier's information for selecting the next hops.Both the protocols are designed in such a way that they eliminate the basic limitations of Epidemic routing such as flooding.HiBOp assumes that each node build a local Identity Table (IT) containing the personal information of the users.During the routing process, the information maintained in the IT is exchanged between the contacted nodes.This is similar to what Propicman does, but Propicman makes further assumptions that the required information can be obtained from the node profile.This information about the node profile is then processed to improve the accuracy of the routing process by hunting for an increased match before deciding the forwarder.This decision strategy of Propicman is better than that of HiBOp, because of the search for an increased match of the node profile to select the next hop.Propicman manages resource consumption effectively by utilizing a minimal amount of the network resources to deliver a single message and maximizes the percentage of messages that are eventually delivered.
HiBOp level of organizing the context information is different from Propicman and is also more extensive.HiBOp differentiates the context as; the node, the neighbourhood and the history of the node.It looks for the next hop just like what Propicman does, but also considers the history context function relating to the encountered node.This approach gives the sender node a better understanding and the encountered node is judged to be a good forwarder based on the node carrier similarity to the destination.Message replication rate is effectively controlled in HiBOp by dynamically selecting the number of message duplications to be replicated in the network.Regarding user's privacy and security, Propicman includes a self-defined method while HiBOp depends on solutions developed within other project activities.
Bubble Rap is the only protocol in this class that exploits a structure property to select the routing path.It adopts a greedy approach to move messages up the social structure established within each community.Messages are stored in the more popular nodes exposing higher chances to get in touch with the neighbour nodes closer to the community of the destination.Unlike HiBOp and Propicman, Bubble Rap does not share the personal information of the nodes.Bubble Rap exhibits some properties of the mobility based routing.The forwarding decisions are based on the context information relating the social relationships between the nodes.
The organized and defined link relationship structure between the nodes of Bubble Rap is the distinctive advantage it has over HiBOp.HiBOp works in a different pattern by exploiting the full context information.During association, the nodes functioning under HiBOp shares their own information and then examines the context they are interested in.The Node with higher tendencies to share more and more data is used to forward the messages, which is similar to the approach adopted by Bubble Rap.When the network becomes saturated, HiBOp tends to have higher overhead since the nodes periodically broadcast and exchange their context information depending on the density of the nodes.Bubble Rap deletes these messages from the current buffer once delivered to the potential community to void overloading, believing that any of the community members will deliver this message to the destination.The node selection process of HiBOp is better because of the profile table it builds to maintain the information of each node and its examination of the social structure before deciding the forwarder.
In the social context-aware routing class, the importance of full context-aware information of the carriers will be the main criteria to limit one's position in making the first choice.This now boils down to Propicman, without undermining the advantages of HiBOp and Bubble Rap.

An Opportunistic Scenario
After a deep study of all the discussed protocols, this section is aimed at presenting an opportunistic scenario in order to explain the routing complexities and the chaotic situation in choosing the appropriate protocol.
Consider the opportunistic scenario at time 1 in Figure 3. S and D are the source and the destination nodes respectively.A to I represents the nodes operating in the network and the dashed circle over the nodes is their corresponding coverage area.Here, source is having the immediate sending option of node A, as it is in its coverage.The message forwarding can be carried out till node B. But B should wait until it encounters anther node along the routing path.The other option that the source can have is to wait until it encounters a suitable node (say D) other than node A. Since the future encounters of the nodes are uncertain in OppNets, it is also not desirable for the source to wait, by not forwarding the message to node A. As seen in Figure 4, node H encountered node B, and node D encountered the source, node C and I encountered node D and F respectively at time 2.But this is not a certain possibility.Though this is a possibility to form the complete routing path, there are other issues such as the TTL of the message, the power level of the nodes and the buffer availability, all affecting the routing process.
Here comes a situation where one should consider the employment of a suitable protocol.For the source node to achieve a successful message delivery, it should possess the knowledge of the network and should utilize it comprehensively.Some of the primary information about the network, that would help message forwarding are the TTL of the message, past behaviours of the nodes, the past encounter frequency, the message forwarding capability of the encountered nodes, the position of the nodes in the network, the network traffic, the knowledge of the future possible encounters and importantly the required confidentiality level in the process of message forwarding.
After an extensive analysis of all the protocols studied in this paper, we made an attempt to narrow down the choice of the better protocol to be employed in such an opportunistic scenario described above.Clearly, the approach adopted by the mobility based and social contextaware routing classes is better than the context oblivious routing class.Network congestion is the major issue leading to the downfall of the context oblivious routing class.Spray and wait protocol adopts some counter-measuring techniques to limit the network congestion but its efficiency is limited to sparse networks.Propicman is suggested as a better option, if one concerns about the security policies of the protocol since Propicman is not sharing the personal information of the nodes.Besides its advantages of sharing the information in a hidden format, propicman's probability of reaching the destination is on the lower side.The CiPRO design of Propicman overcomes this limitation by considering the temporal and spatial aspects of the node information.PPSW of the mobility based routing class can be seen as an extension to the spray and wait protocol.It exploits the mobility information to predict the future positions of the nodes instead of simply assuming the future possibilities in the network.This prediction is considered to be accurate with its polynomial approach.The spray and wait phases of both PPSW and the spray and wait protocol are similar to each other.For any network, accuracy in message delivery, low network congestion, better time delay and operational efficiency are some of the important parameters to be considered to boost the performance of the network.Prior knowledge about the efficiency [15] of the protocols drives better decisions in employing the appropriate protocol for a successful message delivery.
With this in mind, this paper takes the advantages and beneficiary features of the Position Prediction Spray and Wait (PPSW) protocol of the mobility based routing class and this protocol is believed to be the first of the choices in order to achieve optimum routing in OppNets.Though it is true that every protocol has its own merits, it is the factor of balancing the trade-off among the features of the protocol, drives us to highlight PPSW as the protocol balancing both the routing requirements and the user satisfaction.
Table 1 illustrates the beneficiary features of every protocol discussed in this paper.

Conclusion
Every protocol has its own merits and demerits over every other protocol.After a deep analysis, Spray and wait, PPSW and Propicman, are found to be the better algorithms under their respective classes of routing.Further to our research, we address that it is still a tough ask to make a final choice of a protocol among these three.Though this paper takes the advantages of the PPSW protocol, we suggest that the employment of the protocol should be given a priority to the requirements of the individual forwarding assignments, since the requirements might differ every time.For instance, in confidential tasks like a military operation, security has to be the first priority.In such a case, propicman appears in our mind as the better choice, since it offers a certain level of security to the destination node.Choice of the protocol would be benefitted, if one considers balancing the tradeoffs between the requirements, the environment and the nature of the network.On the whole, opportunistic networks are very important as it finds application in a wide range of domains that run human life.Routing optimization is very crucial for any kind of networks as routing is likely to be the heart of communication.Routing in opportunistic networks is one particular area in the world of communication technologies that demands more research.It is evident that an efficient protocol exhibiting the ability to satisfy the user requirements, despite the network environment, is a desirable feature of the opportunistic networks.As our future work, we plan to explore the feasibility of developing an efficient protocol possessing a collective quality in order to satisfy the user requirements in multiple perspectives.

Figure 2 .
Figure 2. Routing Strategy of Bubble Rap

Table 1 .
Comparison of the Protocol Features