An Improved PRoPHET Routing Protocol in Delay Tolerant Network

In delay tolerant network (DTN), an end-to-end path is not guaranteed and packets are delivered from a source node to a destination node via store-carry-forward based routing. In DTN, a source node or an intermediate node stores packets in buffer and carries them while it moves around. These packets are forwarded to other nodes based on predefined criteria and finally are delivered to a destination node via multiple hops. In this paper, we improve the dissemination speed of PRoPHET (probability routing protocol using history of encounters and transitivity) protocol by employing epidemic protocol for disseminating message m, if forwarding counter and hop counter values are smaller than or equal to the threshold values. The performance of the proposed protocol was analyzed from the aspect of delivery probability, average delay, and overhead ratio. Numerical results show that the proposed protocol can improve the delivery probability, average delay, and overhead ratio of PRoPHET protocol by appropriately selecting the threshold forwarding counter and threshold hop counter values.


Introduction
In traditional data networks, such as Internet, at least one continuous end-to-end path is guaranteed between a source node and a destination node, and packets are delivered from a source node to a destination node through one of the available paths. In delay tolerant network (DTN), however, an end-to-end path is not guaranteed and packets are delivered from a source node to a destination node via store-carryforward based routing [1][2][3][4][5][6][7]. In DTN, a source node or an intermediate node stores packets in buffer and carries them while it moves around. These packets are forwarded to other nodes based on predefined criteria and finally are delivered to a destination node via multiple hops. A lot of attention has been paid to DTN for possible uses in disconnected network environments, especially for extreme cases such as interplanetary communications [2] and disaster scenarios [7].
One of the representative DTN routing protocols is epidemic routing protocol [8,9]. As the name implies, a source node forwards a message to all the neighbor nodes whenever it contacts neighbor nodes, like "epidemic. " This simple routing protocol is very powerful even when the buffer size of nodes is sufficient. However, if the buffer size is not sufficient, especially as in mobile nodes, epidemic protocol generates significant message overhead and the performance degrades.
In order to solve the message overhead problem of the epidemic protocol, several schemes have been proposed, such as Spray and Wait protocol [10,11] and PRoPHET protocol [12,13]. In these protocols, the total number of message copies present in a network is limited by a certain number or message forwarding is carried out only when a certain condition is met.
The Spray and Wait protocol consists of Spray phase and Wait phase and the total number of message copies present in a network is limited by . In Spray phase, message copies are disseminated to other nodes until there is no node which has more than one message copy. Then, the protocol transitions into Wait phase and the message copy is delivered to a destination node only. In order to enhance the dissemination speed of message copies of basic Spray and Wait protocol, binary Spray and Wait protocol [11] was proposed, where half of stored message copies are distributed to another node. In Spray and Wait protocol, however, message copies are 2 The Scientific World Journal distributed blindly without considering the characteristics of receiving nodes.
In PRoPHET (probability routing protocol using history of encounters and transitivity) protocol, delivery predictability between two nodes is calculated based on contact history between them, where higher delivery predictability implies a higher probability of future contacts between them. In PRoPHET protocol, a message is copied to a contact node only when the delivery predictability to a destination node of the contact node is larger than that of the transmitting node. By doing this, PRoPHET protocol achieves good delivery probability as well as satisfying low overhead.
In PRoPHET protocol, however, we note that the dissemination speed of a message is relatively low, since a message is copied only when a delivery predictability condition is met, and this results in longer average delay and low delivery probability when the buffer size is sufficient. In this paper, we improve the dissemination speed of PRoPHET protocol by employing epidemic protocol for disseminating message , if the conditions for the forwarding counter and the hop counter of message are met. Then, we show that the proposed routing protocol achieves higher delivery probability and lower average delay than PRoPHET protocol.
The remainder of this paper is organized as follows. In Section 2, related works are surveyed. In Section 3, the detailed algorithm of the proposed routing protocol is described. In Section 4, numerical examples are presented using simulation from the aspect of delivery probability, average delay, and overhead. Finally, conclusions and further works are drawn in Section 5.

Related Works
In related works, works on epidemic and PRoPHET protocols, which constitute the proposed routing protocol, are surveyed in detail.

Epidemic Protocol.
Epidemic protocol is basically a flooding-based protocol, and, thus, a node with messages copies them to any other contact nodes if they do not have them already. To do this, two nodes firstly exchange summary vectors which contain the list of messages they have when they contact each other. Then, each node checks the list of messages which it does not have yet and requests the messages from the other node.
If buffer size is infinite, epidemic routing protocol can achieve optimal delivery probability and average delay. Since buffer size is finite and epidemic protocol generates significant copies of a message, enhanced schemes to manage limited buffer and battery energy have been proposed. As an example, in an energy efficient -epidemic routing protocol [14], a node copies messages to other nodes only when the number of neighbor contact nodes reaches a predefined threshold value, that is, , in order to save energy.
In [15], the authors studied the performance of four categories of epidemic routing protocol in detail, that is, P-Q epidemic, epidemic with time-to-live (TTL), epidemic with encounter counter (EC), and epidemic with immunity table using trace-file and random waypoint mobility models.
Then the authors proposed three enhanced schemes such as dynamic TTL, EC + TTL, and cumulative immunity and showed that the enhanced schemes can improve delivery probability and buffer occupancy level can be reduced significantly for cumulative immunity scheme.

PRoPHET Protocol.
PRoPHET protocol uses nonrandom mobility and contact patterns in real application scenarios to copy messages to other nodes in order to improve the routing performance [13]. That is, the PRoPHET protocol is based on the fact that if a node has visited a location or contacted with a node frequently, the probability of visiting the location and contacting the node is higher. To achieve this, "delivery predictability" is defined at a node for every other contacted node. The delivery predictability of node A to node B is denoted by A,B and the range of delivery predictability value is defined as 0 ≤ A,B ≤ 1. If node A with a message to a destination node D contacts with node B, node A and node B exchange summary vectors and delivery predictability. Then, node A compares A,D and B,D . If B,D > A,D , the message to destination node D is copied to node B. Otherwise, the message is not copied to node B.
In PRoPHET+ [16], deliverability is defined as a weighted sum of buffer size, battery power, location, popularity, and the delivery predictability. If a node meets another node, it queries deliverability value of another node. Then, if the deliverability value of another node is higher than a predefined threshold value, a source node sends a message to another node. If there are multiple nodes which are in simultaneous contact with the source node, the message is sent to the node with the highest deliverability value. In PRoPHET+, it was shown that the proposed PRoPHET+ performs well from the aspect of delivery probability and average delay, by appropriately choosing the weight factor for buffer size, battery power, location, popularity, and the delivery predictability.
In [17], a policy of history of message's movement was newly considered and a new probabilistic routing protocol based on history of message was proposed. In the proposed protocol, message's hop count as well as delivery predictability is considered to determine next hop node, where the history of message's traversed path is defined as a sequence of contacted nodes.
In distance-based PRoPHET [18], distance between two nodes was additionally used to compute delivery predictability. That is, each node having a message checks distance from neighboring nodes and chooses a node located in a smaller distance as a forwarder since a node can have higher transmission rate to a nearer node and, thus, can increase the delivery probability and decrease delivery delay. In [19], the authors extended the results in [18] by considering community mobility model, in addition to random waypoint mobility model in [18].

An Improved PRoPHET Routing Protocol
The proposed improved PRoPHET routing protocol is a hybrid of epidemic protocol and PRoPHET protocol. The main idea of the proposed protocol is to accelerate the dissemination of messages in the early phase of message delivery, by employing epidemic protocol. On the other hand, the proposed protocol restricts dissemination in later phase since it only copies messages to other nodes only when a delivery predictability condition is met.
Before going into the detailed operation, new notations are defined as follows.
(i) is forwarding counter of message at the current node, which is defined as the total number of messages copied to other nodes for the message along the forwarding path from a source node to the current node. At the generation of message , the value of is initialized at 0. If the current node is a source node, for a message means that the source node forwarded copies to other nodes. If the current node is not a source node, the initial value of at the current node was set to the current value of the previous transmitting node and was increased by one for each message copy to another node from the current node. (ii) is threshold forwarding counter of message .
(iii) ℎ is hop counter of message at the current node, which is defined as the total number of hops that a message has traversed along the forwarding path from a source node to the current node. If the current node is a source node, ℎ for a message is initialized at 0.
(iv) is threshold hop counter of message .
Algorithm 1 shows the detailed algorithm of the proposed protocol. At the generation of message , both the values of and ℎ are initialized as 0. When node contacts node , they exchange summary vectors which contain message list stored in each node. Then node decides candidate message set to transmit to node . After selecting a message ∈ , node checks the relationship between and . If > , PRoPHET routing protocol is used to deliver the message . Otherwise, node checks again the relationship between ℎ and . If ℎ > , PRoPHET routing protocol is used to deliver the message , too. Then, message is delivered using PRoPHET routing protocol and if it is delivered to another node, of the receiving node is initialized at the current value of of the transmitting node and ℎ of the receiving node is increased by one (ℎ ++). Otherwise, that is to say, if ≤ and ℎ ≤ , node uses epidemic routing protocol to deliver the message . Then of the transmitting node is increased by one ( ++) and the increased and ℎ ++ information is delivered to the receiving node too. The loop of delivering a message in repeats until all the messages are delivered based on either epidemic or PRoPHET routing protocol. Figure 1 shows an example scenario of the proposed protocol in DTN environment, where = 5 and = 10. Suppose that node has four messages, that is, 1 , 2 , 3 , and 4 , and node has one message 4 . If they are within the contact of each other, they exchange summary vectors which contain message list stored in each node and delivery predictability information. In the considered scenario in Figure 1, node determines that messages 1 , 2 , and 3 should be delivered to node . Then, node delivers 1 and 2 using epidemic protocol since ≤ and ℎ ≤ for = 1, 2, and the values of 1 and 2 are increased by one in both nodes and . Also, the values of ℎ 1 and ℎ 2 in node are increased by one from those in node . Node delivers 3 using PRoPHET protocol since 3 > 3 . Since delivery predictability to destination node C in node is larger than that in node , the message 3 is delivered to node using PRoPHET protocol and ℎ 3 in node is increased from that in node .

Numerical Examples
In this paper, we carried out simulation for the proposed protocol using the opportunistic network environment (ONE) simulator developed by Helsinki University [20,21]. In numerical examples, we analyzed the performance of the proposed protocol, from the aspect of delivery probability, average delay, and overhead ratio, for varying the values of threshold forwarding counter and threshold hop counter. The delivery probability is defined as the number of successfully delivered messages divided by the number of created messages. The average delay is the average value of delay for successfully delivered messages. The overhead ratio is defined by (NR − ND)/ND, where NR is the number of relayed messages and ND is the number of successfully delivered messages. The parameter values are assumed, as in Table 1.

The Effect of Threshold Forwarding Counter
. Figure 2 shows the delivery probability for varying the values of , where = 0, 10, and 20. The delivery probability of the proposed protocol when = 0 and 10 is higher than that of PRoPHET and epidemic protocols, which are constant since they do not depend on the values of , for most values of . This is because the proposed protocol employs epidemic protocol to spread the message copies quickly until the forwarding counter value reaches threshold forwarding counter value and employs PRoPHET protocol to deliver message copies to better nodes with higher delivery predictability to destination nodes after the forwarding counter value reaches threshold forwarding counter value. However, the delivery probability of the proposed protocol when = 20 is lower than that of PRoPHET protocol, since too many message copies result in message drop in buffer and, thus, reduce delivery probability compared to PRoPHET protocol. The delivery probability of the proposed protocol when = 20 is, however, still higher than that of epidemic protocol, since the number of message copies is still smaller than that of epidemic protocol. The delivery probability of the proposed protocol saturates as the value of becomes large since the effect of increasing the value of for large values of is negligible.
The Scientific World Journal 5    Figure 3 shows the average delay for varying the values of , where = 0,10, and 20. The average delay of the proposed protocol is smaller than that of PRoPHET and epidemic protocols for most values of , since the proposed protocol reduces the average delay of PRoPHET protocol by employing epidemic protocol in source node, but the packet is delivered more quickly than epidemic protocol since the proposed protocol uses delivery predictability for better delivery and uses more message copies for fast delivery compared to PRoPHET protocol. Similar to Figure 2, the effect of on the average delay becomes negligible as the value of becomes large.    Figure 4 shows the overhead ratio for varying the values of , where = 0. The overhead ratio of the proposed protocol when = 0 is smaller than that of both PRoPHET and epidemic protocols, since the effect of the increased number of delivered messages of the proposed protocol is higher than that of the increased number of relayed messages of the proposed protocol for = 0. However, the overhead ratio of the proposed protocol when = 10 and 20 is higher than that of PRoPHET protocol since the effect of the increased number of relayed messages of the proposed protocol is higher than that of the increased number of delivered messages of the proposed protocol. Similar to Figures 2 and 3, the effect of on the overhead ratio becomes negligible as the value of becomes large.

The Effect of Threshold Hop Counter
.  proposed protocol is higher than that of epidemic protocol always. Also, the delivery probability of the proposed protocol is higher than that of PRoPHET protocol for most values of ; that is, ≤ 15, and it is slightly lower than that of PRoPHET protocol for large values of , since too many message copies result in message drop in buffer and thus, reduces delivery probability of the proposed protocol. The delivery probability of the proposed protocol increases as increases from = 0 and decreases as increases from = 2 or 3 in the considered parameter setting. This is because increasing the spreading of message copies from = 0 to = 2 has a positive effect on increasing delivery probability due to higher message copies but the increasing the spreading of message copies too high, that is, from = 2 or 3, results in higher buffer occupancy and this results in message drop. The delivery probability of the proposed scheme when the values of are small increases as increases but it is saturated for large values of . Figure 6 shows the average delay for varying the values of , where = 5, 10, 20, and 40. Similar to Figure 3, the average delay of the proposed protocol is smaller than that of PRoPHET and epidemic protocols for most values of , based on a similar rationale as in Figure 3. From Figure 6, it can be shown that the effect of different values of on the average is not significant. Figure 7 shows the overhead ratio for varying the values of , where = 5, 10, 20, and 40. The overhead ratio of the proposed protocol is always smaller than that of epidemic protocol, since the proposed protocol generates smaller message copies. The overhead ratio of the proposed protocol is smaller than that of PRoPHET protocol for small values of ; that is, ≤ 8, since the effect of the increased number of delivered messages of the proposed protocol is higher than that of the increased number of relayed messages of the proposed protocol for = 5, 10, 20, and 40. However, the overhead ratio of the proposed protocol is higher than that of PRoPHET for large values of , since the effect of the increased number of relayed messages of the proposed   protocol is higher than that of the increased number of delivered messages of the proposed protocol with = 5, 10, 20, and 40.

Conclusions and Further Works
In this paper, we improved the dissemination speed of PRoPHET protocol by employing epidemic protocol if forwarding counter and hop counter values are smaller than or equal to the threshold values. Then, the performance of the proposed protocol was analyzed from the aspect of delivery probability, average delay, and overhead ratio for varying the values of threshold forwarding counter and threshold hop counter using ONE simulator. Numerical results show that the proposed protocol can improve the delivery probability, average delay, and overhead ratio of PRoPHET protocol, by appropriately selecting the threshold forwarding counter and threshold hop counter values. As further works, we will propose an adaptive selection of threshold forwarding counter and threshold hop counter based on measured network parameter values to maintain good performance for varying network environments always.