# An Improved Opportunistic Routing Protocol Based on Context Information of Mobile Nodes
## 1 Introduction  
In widely used networks such as Internet or cellular networks, connectivity between a source node and a destination node should always be maintained in order to deliver data or message from a source node to a destination node. If connectivity fails due to any reason, however, a communication session between them is broken and message delivery is not possible any more. For a special network environment, such as disaster environment, deep space environment, or wildlife sensing environment, where connectivity between nodes is not available always, conventional network protocols, such as Internet or cellular networks, are not feasible. Delay tolerant network (DTN) protocol was proposed for this environment [1; 2; 3]. In DTN, a message is delivered using opportunistic contacts between nodes. When a node has a message to send, it is stored in its buffer and it is not removed from the buffer, even though there is no current connection with the destination node. Then, a message is forwardedto another node when the two nodes are within communication range, if a pre-defined forwarding condition is met. Through a series of forwarding via intermediate nodes using opportunistic contacts, a message can be delivered to a destination node finally. This is called a'store-carry-forward' mechanism of DTN, as shown in Figure 1[1; 2; 3]. There are a lot of routing protocols in DTN. Out of these, epidemic [4], spray & wait [5], and probabilistic routing protocol for intermittently connected networks (PRoPHET) [6] are basic but important routing protocols. Epidemic protocol is a flooding-based protocol and a message is forwarded to any contact node [4]. It is simple but it has high traffic overhead. To solve the traffic overhead problem of Epidemic protocol, spray & wait protocol was proposed, where the number of total message copies in a network is limited by L [5]. When a node generates a message to send, only L copies of the message can be distributed in spray phase until L nodes have only one message copy. Then, a node with the message copy delivers it to the destination node only in the wait phase. Although spray & wait can efficiently reduce the traffic overhead, message copies are distributed blindly. In PRoPHET protocol, messages are not forwarded to another node blindly, but are based on the delivery predictability of a node to a destination node [6]. In PRoPHET protocol, each node calculates the delivery predictability of other nodes based on the contact history between them. The delivery predictability of a node A to a destination node B, \(\mathrm{P(A,B)}\), is a metric to estimate a likelihood of delivering a message to a node B. It is assumed that a node with a higher delivery predictability to a destination node is a better node for delivering a message to the destination node. Whenever any two nodes contact each other, the delivery predictability between them increases, as in Equation (1) [6]:  
\[\mathrm{P(A,B)}\ =\ \mathrm{P(A,B)old}\ +\ (1\ -\Delta\ -\ \mathrm{P(A,B)old}) \times\ \mathrm{Pencounter}, \tag{1}\]  
where \(\mathrm{P_{encounter}}\) is a scaling factor controlling the increasing rate of the delivery predictability after contact, and \(\Delta\) is a parameter for an upper bound of \(\mathrm{P(A,B)}\). As time elapses, the delivery predictability decreases, as in Equation (2) [6]:  
\[\mathrm{P(A,B)}\ =\ \mathrm{P(A,B)old}\times\gamma^{K}, \tag{2}\]  
where \(\gamma\) is the aging constant and K is the number of elapsed time units since last contact time. Also, the delivery predictability has a transitive property. That is, if nodes A and B contact frequently, and if nodes B and C contact frequently, the delivery predictability between nodes A and C becomes high, as in Equation (3) [6]:  
\[\mathrm{P(A,C)}\ =\ \mathrm{MAX}\ (\mathrm{P(A,C)old},\ \mathrm{P(A,B)*P(B,C)recv }\times\beta), \tag{3}\]  
Figure 1: Store-carry-forward mechanism in delay tolerant network (DTN). where \(\beta\) is a scaling constant. In this paper, we consider PRoPHET protocol as a base protocol [6].