# BiPAD: Binomial Point Process Based Energy-Aware Data Dissemination in Opportunistic D2D Networks
## 3 Simulation Results  
The use of intensive simulations allowed us to evaluate the performance of the proposed BiPAD algorithm for D2D data dissemination in comparison with that of the epidemic routing protocol. Here, the D2D source device is located at the center of the network; the other devices are uniformly distributed; and \(R\) is set to 1000 m. In the proposed algorithm, the D2D source generates and sends the message to neighboring devices within its transmission range, while the receivers within the relay selection range of BiPAD only dissem  
Figure 1: Relay selection with the \(n\)-th nearest distance when \(k=4\) and \(\bar{N}=5\). Figure 2 shows the message delivery ratio against \(\bar{R}\) when \(N=100\). The message delivery ratio is the ratio of the number of devices that received the message at least once to the total number of devices. It is shown that the message delivery ratio increases with the value of \(k\). It is notable that when \(k\geq 10\), the message delivery ratio of the proposed BiPAD algorithm is generally close to that of the epidemic routing protocol. Thus, the overlapping of the graphs occurs. Figure 3 also shows the total number of received messages against \(\bar{R}\) when \(N=100\). Similar to Figure 2, the total number of received messages increases with \(k\) because relatively more relays forward messages to their neighboring devices. However, when \(k\leq 10\), we note that the total number of forwarded messages under the proposed algorithm is clearly lower than that of the epidemic routing protocol. This means that the proposed BiPAD algorithm outperforms the epidemic routing protocol with respect to the forwarding efficiency. Figure 4 demonstrates the forwarding efficiency of the proposed and conventional algorithms when \(N=100\). The forwarding efficiency is defined as the ratio of the total number of received messages to the number of received devices. Here, the number of received devices relates to devices receiving messages from the source device and the relays at least once. For example, when \(\bar{R}=500\), the forwarding efficiency of the proposed BiPAD algorithm shows a remarkable increase because the number of relays reduces from 3-4 at this point. This indicates that the proposed algorithm can be used to reduce the number of relays required. Figure 5 compares the performance between the proposed BiPAD and the heuristic algorithm where the heuristic algorithm exactly chooses \(k\) relays that are located at the boundary of the transmission range. However, if there is no receivable device within the transmission range of the chosen relay, it no longer forwards the message to its neighboring devices. Figure 5a-c shows the message delivery ratio, the total number of received messages and forwarding efficiency versus \(\bar{R}\) when \(N=100\). Even though the proposed BiPAD algorithm allows devices further away than the \(k\)-th furthest distance from the source device to forward a message to their neighbors, the number of relays actually used is mostly less than the calculated \(k\)-value. Thus, the message delivery ratio and the total number of received messages of the proposed algorithm could be less than those of the heuristic algorithm. On the other hand, the forwarding efficiency of the proposed algorithm is larger than that of the heuristic algorithm when the transmission range is less than 500 m. That is, the proposed algorithm can obtain better forwarding efficiency with relatively less information to select desired relay devices. Figure 2: Message delivery ratio vs. \(\bar{R}\) when \(N=100\). Figure 6 shows the minimum value of \(k\) required to achieve the same message delivery ratio as the epidemic routing protocol. This figure may provide an insight into determining the minimum number of required relays by adaptively adjusting the \(k\) value to achieve almost the same message delivery ratio as the epidemic routing protocol. In Figure 6, 'Anal. 'denotes the real value of \(k\) used to calculate \(r_{k}\), while 'Sim.'