Keywords

1 Introduction

Oppnet stands for opportunistic network. It is very effective over the irregular network When the network is weak or there is no network, Oppnet helps in perform the communication. The different geographical areas such as north/south pole, desert, village etc. have a very low probability of communication because there is no dedicated path exist between source and destination. It fails to deliver the message using traditional routing such as DSDR, AODV, DSDV etc. In mobile ad hoc network, all the nodes are not stable, they are roaming, so implementing routing over that is a very tough challenge. In this paper, a new routing protocol is presented by using the mobility pattern by following meeting frequency and physical location visiting frequency.

Using propose routing protocol establish the communication between two sparse places such village1 and village2. Conventional routing protocol named as epidemic routing uses flooding in the absence of network for communication that unnecessarily overloads the network. Propose routing protocol includes the only limited number of message for communication. Every node uses a timer to find out the position of the node. If the timer value is large then the destination is at a very large distance from the source and if the value of the timer is small, then the destination is very near to the source. Move vector is used to calculate the future location that uses the velocity and adjacent node to calculate the nearest node beside the destination. After knowing the distance and physical location of the destination, it’s time to find out the availability of the path between source and destination. By analyzing the meeting frequency and physical location visiting frequency of different nodes, it is easy to determine whether a path is available or not. If the path is available, then forward the message by assigning priority to it. The higher priority assigned to the newly created message and lower priority to the older message. At the destination side message that contains high priority accepted by the destination, lower priority message deleted from the destination side to make the space free for the newly arrived message.

This routing protocol seems to be complex but it works very fine for the intermittent network. It helps in reduce burden over the network and save the network bandwidth, control the relay of the message, control the aborting of the message. The whole procedure is the part of partially context-aware routing. It is implemented over the one sim.

2 Related Work

Earlier it was very difficult to perform practical life activity task such as perform bank transaction, business transaction, read books etc. while roaming. It is now possible with the help of wireless technology [1]. When the network is either wireless or connected is intermittent, it is very difficult to exchange the data between them. In MANETs, nodes can directly communicate with each other if they enter each other’s communication range [2]. For performing the communication and sending the message between different node we must consider the context information which plays very important role in the discovery of the route to forward it [3]. Epidemic routing protocol helps in forwarding the information using flooding. but it also used to minimize message latency and the total number of resources [4]. In the spray and focus routing authors worked on the single copies based utilities scheme. This helps to overcome the overpopulated network because it distributes only a small number of copies of the message to the destination [5]. Also to overcome the flooding problem, we use the Randomized protocol that helps in reduction of the number of messages in the network [6]. After deciding the number of messages sent from source to destination using the prophet routing helps to decide the interval for message forwarding [7]. Source node forwards the message to the intermediate node which has similar mobility pattern as that of it also, it enables informed message passing [8]. Max prop is used to synchronize the message transmission by assigning priority to the message transmission and message deletion [9]. After synchronization implementing the security while transmission through mobility casting. Here, casting means perform the communication between similar type of nodes. Working of the proposed algorithm and their analysis is given below through the different graphs.

3 Key Factors

We have combined the property of predefined routing protocols to make a complete algorithm that helps in establish the communication between two different geographical locations that follows intermittent routing network. Below is the description of some predefined protocols that affects working of the algorithm (Fig. 1).

Fig. 1.
figure 1

Showing the hierarchy of the protocols

3.1 Seek and Focus Routing

As we know the epidemic routing protocol used the flooding to spread the message on the network to perform the communication. This flooding increases the overhead to the transmission in the network. To reduce the network overhead. It uses the concept of the spray and Focus where it sprays only fixed number of copies in the network. Further, it uses the equation to reduce the number of copies in the network. It helps in overcoming the slow-sow, start problem. It is the impure algorithm. It combines the features of Randomized routing and Utility based routing [10].

3.1.1 Randomized Routing

As we know flooding creates the burden over the network. The network is over populated due to redundant copies of the message. A very effective algorithm that proposes the concept to route one copy of the message rather than the huge number of redundant copies. It is derived from the direct routing protocol. Here a node P performs the message forwarding to the node Q only if Q has the higher probability of transferring the message than P. Here last contact information is used for finding out the probability and this is calculated using a specific timer [10].

Here is the result of the simulation of the Randomized routing:

Suppose,

figure a

Simulation Result in the form of Table

Here Sim time is showing the total time taken in the simulation. Created -> total number of nodes created, Started -> It is showing the simulation starting time. Aborted -> time when it is aborted, dropped -> showing total number message dropped, removed -> number of nodes removed from the buffer, hopecount_med -> total number of intermediate nodes, response_prob -> response probability of different nodes, overhead_ratio -> represent the overhead in the network, latency_avg -> average delay in the network, latency_med -> latency of the median nodes, hopcount_avg: -> average number of nodes in the communication establishment (Table 1).

Table 1. Showing result of randomized routing

3.1.2 Utility Based Routing

To find out the position of the node we take last encountered time of every other node and as we know this timer is represented by maintaining the timer at every other node. But we do not consider its absolute value. Visiting at the physical time also depends on the speed of the node and mobility pattern of the node. Here we show that if the value of the timer is small then it is very near and if the value of the time is large then it has very large distance from the source. A function is used by each node called Utility for nodes in the network [10]. For example,

Ux(Y) = probability of transferring messages from node X to Here P node transfer the packet to the node Q.

$$ {\text{UP}}\left( {\text{R}} \right) > {\text{UQ}}({\text{R}}). $$
  • Problem:

    With the utility Based routing: As we know there may be large distance from source to destination, node between these two may or may not have detail about destination node. In that case intermediate nodes take lots of time in finding out the node with larger utility value.

    It is affected by the slow start and initial phase problems.

    • Solution:

    • lies in the combining of Randomized with Utility Based routing (Table 2):

      Table 2. Representing the modified solution of the utility based routing
    • Here is the analysis is represented as

3.1.3 Location Based Forwarding

In the location based routing source will forward the message to the node which have location very close to the Destination. Here moves vector is used to calculate the future location that uses the velocity and adjacent node to calculate the nearest node beside the destination.

In the location-based forwarding approaches, nodes Interrogation based relay routing here nodes required to hold their data for the same period until it gets required opportunity to transfer the data. Here figure showing the exact representation of the simulation [2] (Fig. 2).

Fig. 2.
figure 2

Showing the how to remember the location of different places

Here showing the Physical location between 1, 5.

3.2 MV Forwarding

It is the improvement over the epidemic routing protocol. It does not blindly flood the network. Instead of flooding it uses the analyzed or observed data for calculating the probability of meeting and a visit to the physical location of different nodes in the network. Small Table example is showing the detail about location visited by the particular node in a day. After analyzing the data, we can take the right decision whether or not our message will be forwarded in the right direction and in quick time [10].

3.2.1 PROPHET (Probabilistic Routing Protocol Using History of Encounters and Transitivity)

Epidemic routing is the worst for the network. Researchers used the extended form of the epidemic routing (delivery probability + epidemic routing). To deliver the message to the destination, it very much depends on the predicting delivery probability.

If (x visited 10 times in a day z campus rather than other places)

Then,

(It is most likely that x will visit the campus again in a day)

After analyzing the node and its meeting behavior it is used as context information to overcome the narrow performance of the routing. So all the node in the network maintains the metric for every destination called delivery probability metric \( {\text{PP }}\left( {{\text{a}},{\text{ b}}} \right)\,\upvarepsilon\left\{ {0,1} \right\} \). Three equations help in the computing delivery probability that is given below [10].

$$ {\text{Prob}}_{{({\text{x}},{\text{y}})}} = {\text{ Prob}}_{{\left( {{\text{x}},{\text{y}}} \right){\text{old}}}} + \left( { 1- {\text{ Prob}}_{{\left( {{\text{x}},{\text{y}}} \right){\text{old}}}} } \right){\text{ X Prob}}_{\text{int}} $$
(1)

Where \( {\text{Probint}}\,\upvarepsilon\left\{ {0,1} \right\} \).

Now Question arises about the Good forwarder and Bad forwarder. Good forwarder are the nodes that meet with each other regularly in predetermined time. Bad forwarder fails to maintain regular meeting. Aging Factor (Y): Ageing factor helps in finding out what is the exact age of the node after last meeting. Here β is considered as the aging factor and its limit lies [0, 1].

$$ {\text{Prob}}_{{({\text{x}},{\text{y}})}} = {\text{ Prob}}_{{\left( {{\text{x}},{\text{y}}} \right){\text{old}}}} {\text{x}}\upbeta^{\text{k}} $$
(2)
  • Transitivity:

One of the most important properties of the prophet is the transitivity property. If node X meeting frequently with node Y and Node Y frequently meeting with the node Z. Transitivity property say X frequently meet with the node Z.

figure b

Given equation for transitivity:

$$ {\text{Prob}}({\text{x,z}}) = {\text{Prob}}({\text{x,z}}) + \left( {1 - {\text{Prob}}\left( {\text{x,Z}} \right){\text{old}}} \right){\text{X}}\;{\text{Prob}}\left( {\text{x,y}} \right){\text{X}}\;{\text{Prob}}\left( {\text{y,z}} \right){\text{X}}\,{\text{a}} $$
(3)

A table showing the Simulation result (Table 3):

Table 3. Showing the result of the simulation of prophet

3.2.2 Prioritized Epidemic Routing

The maxprop protocol work on the scheduling of the message. It assigns priority to the message at the time of transmission and deletion of the message. Newly created message assigned high priority, older message stored in buffer at the destination assigned lower priority. These priorities are based on the likelihood of paths to peers, based on historical data and also on several complementary mechanisms, including acknowledgments, a head start for new packets, and lists of previous intermediaries.

When considering load, delivery ratio, network connectivity, then PREP routing, perform well and give very good results. PREP is divided into two categories, one for estimating cost and second assign the priority to the transmission. All the category is shown below.

  • Packet drop and transmit priority:

    It helps in overcoming the network congestion and rescheduling of the packet. It works on following two ways to assign priority to the packet that helps to maintain the network. Both parameters are given below.

  • Pt-transmit priority:

    Will assign the priority of the packet when the packet is transmitted to the node buffer.

  • Pd-drop priority:

    Will assign the drop priority of the packet, the lower priority packet will drop first when the new high priority packet comes to the node buffer.

Max always known for the complete utilization of the resources. And work very fine on the highly intermittent network where it is very rare chances to utilize the network resources in limited time constraint (Table 4).

Table 4. Showing the result of the simulation of the prioritized epidemic routing

4 Experiment and Analysis

Performing communication in the oppnet is the very difficult task. With the help of propose routing protocol, we can establish the communication between two different geographical area named as A and B.

Area A contains two localities named as locality1 and locality2, Area B also contains two locality B3 and B4. For establishing communication, we require calculating two forwarders named as the local forwarder and global forwarder by using meeting behavior and physical location visiting behavior.

  • Local forwarder is created based on finding the probability of the node based on the meeting pattern.

  • Global forwarder is created based on finding the probability of the node using the visiting pattern of the different places.

5 Working Procedure

Step by step working procedure of the algorithm is given below (Fig. 3):

Fig. 3.
figure 3

Showing the communication between two sparse area

First, we need to find the local forwarder based on the meeting probability of a node to the other nodes. Source node who want to forward the message find the local forwarder and hand over the message to it. The table below showing how to find the local forwarder of the messages. Here as given in the figure, Node A1 meet with four different node name as “w1, x1, y1, z1” with the different probability. W1 meet number of time with node A1. Hence, w1 is declared as a good local forwarder of the message (Table 5).

Table 5. Showing the frequency of meeting with the different nodes
  • Table showing the way of finding the local forwarder of the node based the frequency of meeting with different node in locality1:

  • After finding the local forwarder, now it’s time to find the global forwarder of the of Area1. We can find out global forwarder with the help of visiting frequency of node to the different geographical location. Table below shows four best global forwarders. Here node named as “w1” contain high frequency to visit the locality 3. So, it is best global forwarder of information in the form of the message (Table 6).

    Table 6. Showing the frequency of visiting the different locations

Here,

If w2prob > A1prob then {message forwarded successfully}

  • After finding out local and global forwarder its time to forward the message. To forward the message it requires the path between two different geographical locations. With the help of a modified Dijkstra algorithm we can find the shortest path [6].

  • After finding the path Node “w1” now reached in the locality B3. Here if it finds Destination node B3 then it forwards the message directly otherwise it finds next suitable node which is very close to the Destination, after analyzing the table given below. Here table shows that there are different nodes available in the locality3. But “w1” meet “” more number of times with w3. Also, “w3” meet more number of times with Node B3. Hence w3 is the good forwarder (Table 7).

    Table 7. Showing the frequency of meeting between different locations

Finally, “w1” forward the message to the w3. w3 transfers the message to Node B3 successfully. And acknowledgment is sent from destination B3 to source A1 using the same procedure.

5.1 Some Important Key Points

Node transfer message up to one node maximum otherwise it directly transfers the message to the destination. Exchange of the message contain following Steps. Every node maintains the buffer for storing the message, and maintain the following property as:

  1. (1)

    Unlimited buffered space for their own messages.

  2. (2)

    But limited buffered space for other nodes.

When the message comes, it stores the message in the buffer after checking the priority. If the priority of the message is greater than the priority of the stored message, then the message is accepted by the buffer by discarding the previous low priority message. Otherwise the message is discarded by the buffer. Each node maintains two levels, one is called high water mark and second is called low water mark. Above prioritized message is accepted between these markers.

Final simulation of the result is shown in the table (Table 8).

Table 8. Proposes routing protocols result

5.2 Experiment and Result

Below is the detail description of the result which is shown through different graphs and figures.

5.2.1 Message Relay v/s Drop v/s Abort

Here, the result shows that relaying of the frame is very much controlled which means the message is generated in a very controlled manner. Also, message dropped is reduced, unnecessary message, abort is controlled. Below graph shows the expected output of the proposed, protocol. Here, Y axis shows the transmission of the message per second. X axis shows the proposed protocol and different network protocols. Blue bar shows the relay of the messages, green bar shows the message dropped per second, and Yellow bar shows the Message aborted per second (Fig. 4).

Fig. 4.
figure 4

Showing the relaying, dropping and aborting of the message (Color figure online)

5.2.2 Message Relay v/s Buffered

Before, delivering the message we need to buffer the message, here graph showing the result of buffered v/s total number of message delivered to the destination. Black line shows initially there is lots of message buffered and red line shows message delivery started from scratch (Fig. 5).

Fig. 5.
figure 5

Showing the buffered v/s delivered (Color figure online)

6 Conclusion

Establishing communication in the oppnet is a difficult task because of its intermittent connectivity. Proposed solution helps in not only establishing the communication, but also to overcome the problem of lack of resource, improper channel use and lazy transmission. The propose algorithm helps in reduce number of message relay. As an effect of this less number of packets dropped and aborted and delivery probability is also improved. This also helps in obtain synchronization between message relay and message delivery. Thus, overall solution gives the improved result in the partial context aware routing.