# A Novel Routing Scheme for Creating Opportunistic Context-Virtual Networks in IoT Scenarios +
## 7 Performance Evaluation
### Experimental Results
#### 7.3.1 Evaluation of the Smart Office Scenario
Looking again at Figure 8, we can notice that SACAR-OCVN is the store-carry-and-forward algorithm that presents the best results in terms of delivery probability, reaching a peak value of \(73.33\%\) for \(\omega=60\) s. The exploitation of the OCVN concept in the forwarding actions of a node makes this solution particularly appealing for scenarios such as a smart office, with a limited size and a big ratio of individuals sharing common interests. Interestingly, the rest of the algorithms revealed a similar trend: when \(\omega\) was increased, i.e., the time period between rounds of messages was longer, \(d_{\text{prob}}\) tended to increase. In particular, for values of \(\omega\leq 60\) (i.e., when messages were generated very frequently), GSaR presented the best outcomes among this last set of algorithms. This algorithm presented a linear increase of \(d_{\text{prob}}\) for values of \(\omega\leq 900\). Concretely, for \(\omega=900\), it provided better results than SCAR-OCVN. In turn, SWR behaved better for values of \(\omega\geq 900\) s, slightly overcoming our SACAR-OCVN solution for \(\omega=900\) s and \(\omega=3600\) s. Finally, while SACAR-HC remained at the average of the benchmark algorithms, SACAR-Hybrid suffered for large values of \(\omega\). The second metric we aimed to analyze is the overhead ratio, \(\theta\), which is reported in Figure 9 as a function of \(\omega\). From the figure, we can extract that, apart from the solutions that do not consider the possibility of relaying messages (SACAR-IR and DDR) where no overhead was experienced (\(\theta=0\)), SACAR-OCVN, SWR, and GSaR presented a similar flat trend with low values of \(\theta\) independently of the value of \(\omega\). This means that a very small gap between the number of relayed messages with respect to the number of delivered ones was obtained. Therefore, nodes' resources such as buffer occupation and energy consumption due to forwarding actions were not highly impacted because of the use of these algorithms. Instead, a clear increase in the value of \(\theta\) with respect to \(\omega\) was experienced when using MPR and ER. The spreading logic behind these solutions, where several copies of the message are created under different circumstances, severely impacted the network performance in terms of overhead ratio. Figure 8: Average delivery probability (\(d_{\text{prob}}\)) vs. the frequency of messages generation (\(\omega\)): smart office scenario. DDR, Direct Delivery Routing; ER, Epidemic Routing; MPR, MaxProp Routing; PR, ProPHTent Routing; SWR, Spray and Wait Routing; GSaR, Geographic-Based Spray-and-Relay. In the following, we evaluate the average latency, \(\gamma\), experienced by a message on its way from the source to the destination node. By inspecting Figure 10, it can be seen that the average latency tended to increase with \(\omega\). Clearly, SACAR-IR presented the best results in terms of average latency, since the source-destination pair was constrained to be physically placed within the same range. If we focus on the store-carry-and-forward-based algorithm set, we can see that both SACAR-OCVN and GSaR suffered for small values of \(\omega\) compared to the rest of the algorithms. The explanation of this situation for SACAR-OCVN is that a node will only forward the message to another node with the same interests (goal-skill matching). Similarly, for GSaR, a message was only forwarded if the nodes followed a specific trajectory. Therefore, although there may be several possibilities for forwarding the message when two nodes meet each other, a further constraint in the checking must be also satisfied. Remarkably, although SACAR-OCVN produced interesting results for large values of \(\omega\), SWR was the algorithm that in general best fit the average latency among the ones that allowed the nodes to have a buffer to temporarily store messages. Finally, we move our attention to analyze the number of hops a message needs to take from the source node towards the destination node.