# Enhanced Message Replication Technique for DTN Routing Protocols
## 3 Enhanced Message Replication Technique (EMRT)  
The main objective of DTN routing protocols is to achieve high delivery ratios, low delivery delay, and low overhead [30]. Based on the literature review, quota-based protocols suffer from trial-and-error values for the parameters of the algorithm. In this section, we propose the EMRT technique to set the maximum initial number of replicas for each generated message dynamic, based on network circumstances such as density, buffer availability, energy, and TTL values. To define each of the criteria above, we assume that each node has an encounter value (EV), which indicates the history of the rate of encounters. This implies that the past rate of encounters can be used to predict the future encounter rate. Let us briefly explain how EVs are calculated: Every node should maintain a current window counter (CWC) that counts  
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline  
the number of encounters in the last time interval. Let us assume that each time interval duration is 30 s. Accordingly, the EV of a source node \(s\) is updated as follows:  
\[EV_{s}=\alpha\times CWC+(1-\alpha)\times EV_{s} \tag{1}\]  
where \(\alpha\in(0,1)\), i.e., 0.85. When the interval has ended, the CWC is reset to zero, and the EV is updated. In order to evaluate whether an encountered node is likely to be located in a high-density area, we can use the criterion of EV. Based on this information, the initial number of replicas for a new message can be appropriately determined for the node. In addition to the encounter rate, we have also defined other criteria to consider when determining the initial number of replicas. The average buffer of nodes that the source node has encountered is another criterion, which is represented by \(B_{avg}\). We need to consider this information to evaluate the space capacity of the nodes that the source will likely see again in the future. If their storage has enough space, more replicas will be created. Otherwise, fewer initial replicas will be generated to reduce the rate of dropped messages. Time-to-live, or \(TTL_{i}\), is another criterion that represents the amount of time that a generated message \(i\) can remain in the network. If the \(TTL\) expires, the message will be dropped. Hence, if the \(TTL\) is short, the dissemination should be more. Consequently, the maximum initial number of replicas should be increased. Lastly, \(E_{s}\) represents the available energy of the source node. If the remaining energy is small and the node is about to die, a message generated by that node cannot live for a long time at the source node. Thus, it should be disseminated to other encountered nodes. As a result, if \(E_{s}\) is small, the maximum initial number of replicas should be increased. Based on the above definitions, after normalization, the maximum initial number of replicas for each generated message \(i\) can be calculated as follows:  
\[M_{i}=m_{init}\times\frac{EV_{s}+B_{avg}}{TTL_{i}+E_{s}} \tag{2}\]  
where \(m_{init}\) is the initial number of message replicas that the existing quota-based routing protocols use. As a result, \(M_{i}\) will be the new maximum initial number of replicas for the quota-based protocol. Algorithm 1 shows how each source node produces a different number of initial replicas for each generated message. As mentioned above, each node is responsible for maintaining the encounter value, which is used to predict future encounter rates (Line 2). The CWC is used to count the number of encounters in the current time interval. Thus, when the update interval expires, the CWC will be reset to zero (Line 3). For each generated message, the maximum initial number of replicas is calculated based on Equation (2) (Line 7). This is while \(m_{init}\) is dependent on the routing protocol used. For example, EBR uses \(m_{init}=11\), while Spray and Wait uses \(m_{init}=8\). Consider the numerical example in Figure 1. Let us assume that the routing protocol used is EBR.