# An Efficient Delay Tolerant Networks Routing Protocol for Information-Centric Networking
## 3 Proposed Protocol
However, requester ID R\({}_{3}\) for Data d\({}_{2}\), which is already present in Data d\({}_{2}\) of buffer of node A, is removed from the Data d\({}_{2}\) to reduce overhead, since the satisfaction flag of requester ID R\({}_{3}\) for Data d\({}_{2}\) is 1, which means that Data d\({}_{2}\) was successfully delivered to requester ID R\({}_{3}\) already. Since Data d\({}_{3}\) is not present in the buffer of node A, the requester R\({}_{2}\) with satisfaction flag 0 for Data d\({}_{3}\) is not used for the update of requester ID of Data stored in the buffer of node A. In the proposed protocol, the decision of choosing a forwarding node for Data delivery is based on delivery predictability, which is proposed in PRoPHET protocol [23]. Delivery predictability between node A and node B, i.e., P(A,B), has a value from 0 to 1, and is calculated as follows:  
\[P(A,B)=P(A,\ B)_{old}+\left(1-\Delta-P(A,B)_{old}\right)\times P_{encounter}, \tag{1}\]  
\[P(A,B)=P(A,B)_{old}\times\gamma^{K}, \tag{2}\]  
\[P(A,C)=\max(P(A,C)_{old},P(A,B)\times P(B,C)\times\beta), \tag{3}\]  
where \(P_{encounter}\) is a scaling factor to control the increasing rate of the delivery predictability after contact. \(\Delta\) is a parameter limiting an upper bound of delivery predictability. \(\gamma\) is an aging constant with a value between 0 and 1. \(K\) is the number of elapsed time units after the last contact. Finally, \(\beta\) is a parameter to control transitivity with a value between 0 and 1. In conventional DTN, Data is delivered from a single source node to a single destination node. In ICN, however, Data corresponding to the requested Interest should be replied to any of requesters. Therefore, when two nodes contact, the decision of forwarding Data stored in the buffer of each node is determined based on the comparison of average delivery predictability of a set of requesters for considered Data ID \(i\), which is defined as follows:  
\[P(A,\ S(R(i)))=\frac{1}{N_{requesters}(i)}\sum_{r=1}^{N_{requesters}(i)}P(A,R_{ r}(i)), \tag{4}\]  
where \(S(R(i))\), \(N_{requesters}(i)\), and \(R_{r}(i)\) are a set of requesters, number of requesters, and requester \(r\) for Data ID \(i\), respectively. Figure 3: Requester ID update in Data using status table information. Figure 4 shows a flowchart for the proposed algorithm. When a node A wants to receive Data, it generates an Interest corresponding to the requested Data, and the Data ID and requester ID with satisfaction flag of 0 are stored in the status table. When a node A contacts with node B, it exchanges summary vector with node B, and then status table information is updated and also information for Data, which is stored in the buffer of node A, is also updated accordingly. If node A has Data, where the destination of the Data is node B, it is delivered to node B. Otherwise, node A compares the average delivery predictability of node A for each stored Data with that of node B. Then, if node B has larger average delivery predictability, the Data is forwarded to node B. If node A is the destination node of Data which is stored in node B, the Data is delivered to node A from node B, and Interest stored in node A is removed. Then, the requester information stored in the Data is removed, too and the satisfaction flag of the Data with requester ID A is updated as 1. In this paper, the performance of the proposed algorithm is compared with that of CIDOR protocol [18] and an opportunistic forwarding (OF) protocol [20; 21], which also deal with efficient ICN delivery in DTN. Table 1 compares the characteristics between CIDOR protocol, OF protocol, and the proposed protocol. In the CIDOR protocol, Epidemic protocol [25] is used for Interest forwarding. In Epidemic protocol, which is a flooding-based protocol, messages are forwarded to all contact nodes whenever a node contacts other nodes. In CIDOR protocol, it was assumed that the total number of Interest replication is limited to 10 copies by restricting the total number of forwarding. For Data forwarding, Spray and Wait protocol [26] is used.