MaxHopCount: A New Drop Policy to Optimize Messages Delivery Rate in Delay Tolerant Networks

— Communication has become a necessity, not only between every point on the earth, but also on the globe. That includes hard topography, highlands, underwater areas, and also space-crafts on other planets. However, the classic wired internet cannot be implemented in such areas, hence, researchers have invented wireless networks. The big challenge for wireless networking nowadays, is maintaining nodes connected in some difficult conditions, such as intermittent connectivity, power failure, and lot of obstacles for the interplanetary networks. In these challenging circumstances, a new networking model arises; it is Delay Tolerant networking which is based on the Store-Carry-and-Forward mechanism. Thus, a node may keep a message in its buffer for long periods of time; until a delivery or forward chance arises then it transmit it to other nodes. One of the big issues that confront this mechanism is the congestion of nodes buffer due to the big number of messages and the limited buffer size. Here, researchers have proposed buffer management algorithms in order to deal with the buffer overload problem, and they called it Drop Policies. In our present work, we propose a new Drop policy which we have compared to other existing policies in different conditions and with different routing protocols, and it always shows good result in term of number of delivered messages, network overhead and also average of latency.


I. Introduction
D elay Tolerant Networks (DTN) is a new concept of networking, which was proposed by Kevin Fall et .al [1] in 2003. Several recent studies are focused on DTN networks, and consider it to be one of the aspects of mobile network development in the future.
The classic TCP-IP [2] Internet model provides an end-to-end communication, which requires a safe path between source and destination, and a large bandwidth. Nevertheless, when a wireless mobile network suffers from the lack of path between source and destination, intermittent connectivity, as well as long latency and limited bandwidth, the TCP concept can, unfortunately, no longer be applied. Under these particular circumstances, DTN networks were introduced.
Every DTN node has a local storage area where it stores messages until a delivery opportunity arises. However, when the node buffer is full of messages (we call it a congested node) and a new message arrives, we don't know what to do and which message is the best to drop to free space without decreasing the delivery rate. Thus, researchers have proposed a set of drop policies.
In this paper, we compare some existing buffer management policies with existing routing protocols, then after deciding which routing protocol and which buffer policies are optimal for such environment, we will compare these optimal algorithms with our new algorithm "MaxHopCount" which we have developed in our laboratory.
The rest of this paper is organized as follows: Section 2 is about the state of the art where we give brief definition of some existing buffer management policies and other characteristics of DTNs. Section 3 describes our proposed algorithm. Section 4 summarizes performance metrics and shows simulation results and discussion. And finally, Section 6 is reserved for conclusion and future work.

A. Existing Buffer management policies ( Drop policies )
In order to deal with different problems related to buffer overload, researchers have proposed a set of drop policies which give different results depending on the environment (traffic density, area size, buffer size, TTL …).  Using this policy, the message which arrived first in the buffer will be selected first to be dropped. [3] Drop Tail (LIFO) The buffer in this strategy is ordered in a LIFO manner, so the message which arrives last to the queue will be the first dropped message

Drop Oldest (SHLI)
Every message has a time to live value (TTL), the message with the lowest TTL value is the oldest one, and is the first selected message to drop.

E-Drop (Equal Drop)
If there is no space to host the new coming message in the buffer, this policy deletes the message having the exact or the nearest size. This strategy minimizes the number of dropped messages. [4] Drop Youngest The youngest message is the message with the longest remaining time to live (TTL), and it is the first dropped message when this strategy is used. [5] Drop Largest Each message is defined by a size; this buffer management strategy drops the message with the biggest size in the queue to free more space by dropping few messages. [6] Evict Most Forwarded First (MOFO) The message that has been forwarded to maximum number of nodes will be dropped first. [7] Evict Most Each message in node has a forwarding predictability FP, initially set to 0. When the message is forwarded, the FP value increases. The message with maximum FP value will be dropped first. [8]

B. Routing in DTN
Routing protocols in Delay Tolerant Networks have many characteristics, so they can have many classifications. Some can classify routing algorithms as replication-based algorithms (i.e:the protocol creates message replicas) or forwarding-based (i.e: the protocol don't replicate messages) algorithms. [15] Some DTN routing protocols can be classified in both categories like "spray and wait" witch benefits from the high delivery ratio of replication-based routing as well as the low resources consumption of forwarding-based routing, and which we will use in our simulation at the bottom of this paper.
NB: All routing protocols in Delay Tolerant Networks are based on Store-carry and Forward mechanism.

1) FirstContact:
A very simple routing algorithm for DTN, and a very quick one, this protocol forwards just a single copy of the message or the fragment of message to the first available contact.

2) Epidemic
From Wikipedia, an epidemic is the rapid spread of infectious disease to a large number of people in a given population within a short period of time. DTN researcher took the same idea to create a routing protocol where every node transmits replicas of its messages to newly discovered node which don't have it already. Theoretically, this algorithm needs to have unlimited buffer size and unlimited energy to give high rate of delivery, but practically this conditions are impossible to implement. [9] 3) Prophet V2 The Prophet routing protocol "probabilistic routing protocol using history of encounters and transitivity." operates on the assumption that human mobility is non-random, and that knowledge of the history of previous encounters is a good indicator of future encounters. In June 2011, Samo Grasic(samo@grasic.net) have proposed a new version of this protocol ProphetV2 white considers also the elapsed time during nodes encounters. [10]

4) Spray & Wait
Spray and Wait combines the speed of epidemic routing with the simplicity of direct transmission. So, for the spray phase: for each message M at the source node, L copies of M are forwarded to L different relays (intermediate nodes). Then in the wait phase: if the destination is not found among the relays, every relay will perform direct transmission to the message destination only, and so on until each message in the source node buffer reaches its destination. [11] C. Nodes mobility in DTN Researchers have proposed many mobility models for DTN to track nodes geographic movement in the network by collecting a set of parameters like speed, direction, and acceleration of the node. In DTN there are many types of mobility models:

1) Analytical models
Analytical mobility models are based on mathematic equations for the prediction of the next position of each node a) Random walk For this model, the parameters used to determine the next position of the node are the direction and the movement speed. First, the node choose a direction angle between 0 and 2π, then it chooses a random speed between [Vmin, Vmax] and finally after reaching t time it chooses other random values starting from this new position to another.

b) Random waypoint
By the opposite of the precedent model, in this one the node stops for a random pause period when it reaches a destination point before it chooses other speed and direction angle.

2) Traces based models
Traces based model are more realistic mobility models than analytical models, and are obtained from real results. These results are more accurate where the number of mobile nodes is important. The resulted traces are used then to make a new mobility model or to improve existing ones. Some examples are discussed here:

a) ZebaNet
A model made by collected information from some electronic devices placed on zebras at SweetWaters natural reserve in Kenya. [12] b) DakNet This model is implemented in developing countries, where the cost of implementing an infrastructure is very high. For this reason the messages are routed by bus or motorcycles traveling between villages. [12] III. Proposed Policy "MaxHopCount"

A. Description
During its way to destination, every message traverses many nodes and stay a while in every node's buffer, before jumping to another node. Every message has a set of information, such as size, source, destination… etc. among these informations, there is "hop count", it refers to the number of nodes the message has crossed during its path from source to the current node. A high hop count means that the message crossed lot of node, and then there may be lot of copies at the network, so dropping this message from the buffer may not impact its delivery. Otherwise, a low hop count means low number of replicas at the network so dropping this message may lessen the delivery probability.

B. The Flow-sheet:
First, the function checks if the message size is greater than the whole buffer size, if so, the function ends because the message is too big. Otherwise, is initializes m by the message with the highest Hop Count if m is null, so the function cannot delete any more messages and the new message can't be hosted at this node. If m is not null we free the buffer from the message that m is pointing at, and we compare the size of the new coming message with the free buffer size. We repeat those steps until the buffer have enough space to host the new message. Fig. 1 below summarizes this algorithm

A. The ONE simulator
The ONE Simulator is a discrete event simulator written in Java. The major aspire of simulator is to relate DTN (store-carry-forward) of message for long time, where the probability of disconnections and failures enlarged.

B. Common metrics for performance evaluation
The following metrics are commonly used when evaluating scenarios related to DTN protocols. [14] 1) Delivery ratio.
Suppose that M be the set of all messages created in the network and Md be the set of all messages delivered. Then, the delivery ratio is computed as:

3) Overhead ratio
Let r i be the number of replications of any message m i ∈M. Then the overhead ratio is determined as:

C. Simulation parameters
To simulate our work we switch between different environments and we change many parameters such as routing protocols where we switch between Epidemic and ProphetV2 routers. Table II shows the important parameters of our simulations.

D. Epedimic
In the first simulation we compare different drop policies with different TTL values, then we analyse the results in term of delivery rate and overhead ratio. The routing protocol of this first simulation is Epidemic. As shown in the graph above, MaxHopCount policy, have a good delivery probability when the TTL value is high. the weakness of other policies, apart from SHLI (Shortest TTL), is that the delivery rate keep decreasing while the TTL value is heightening. As shown above, the Overhead ratio is the number of message replicas in the network, so the main goal of all DTN algorithms is to minimize this ratio.

2) Overhead Ratio
From Fig. 4, we observe that MaxHopCount policy doesn't overload the networks with message replicas because it gets low overhead ratio, this ratio keeps lessening which means that our new policy is also optimal in term of network overload.

E. ProphetV2
For the second simulation, the chosen routing protocol is ProphetV2. Like the first simulation, we compare here different drop policies with different TTL values, then we analyse the results in term of delivery rate and overhead ratio.

1) Delivery rate
In the opposite of Epidemic, ProphetV2 is an example of a probabilistic routing protocol. In this case, MaxHopCount have the highest delivery rate as well. And the increasing of the TTL value doesn't impact it.  From Fig. 6 we can notice that the overhead ratio of our policy is not the lowest one, but it has a stable value and it is better than other policies where the high TTL have a very negative impact on this metric

V. Conclusion & Future Works
In this work, we compared some existing DTN drop policies to our new proposed algorithm, and we discussed the simulations results in term of delivery rate, overhead ratio, then we deduct that our new policy MaxHopCount is optimal for high TTL values (greater than 180 minutes or 3 hours), which is more realistic because usually in real scenarios the TTL may reach many days.
As a future work, we are working on this policy to study its efficiency with other parameter such as the area size, the message size... and we have also to choose the policy to be applied in ambiguous situations like equals numbers of hop.