# Performance Analysis of Latency-Aware Data Management in Industrial IoT Networks +
## 5 Implementation and Experimental Evaluation
### Experimental Results  
Running the ProxySelection+ algorithm: We ran the initialization phase of ProxySelection+, so as to assign values to \(l^{(h)}\), by measuring times that are needed for the data exchange of a sensor measurement from a sensor node to another. We measured the time needed for the sensor reading to be sent and received from one node to another. This latency includes time spent in the back-off phase (which cannot be predicted), time spent in sending the signal over the radio, and time spent during the propagation. We consider the propagation latency negligible, since radio waves are traveling very fast and we are not able to measure the time elapsed using the nodes' timers. In order to obtain reliable results, we repeated the propagation measurements for different pairs of transmitting and receiving nodes of the Euratech testbed, 30 times for each pair. We concluded with the measurements that are shown in the Table 1 (highest, lowest, mean value and standard deviation), after measuring  
Figure 5: Euratech topology and ProxySelection+ output. the relevant times using WSN430 with CC2420 and TinyOS. We can see that the latency values of data propagation from one node to another significantly vary. While the lowest latency could be 13 ms, the highest propagation latency \(l^{\text{(max)}}\) was 23 ms. The mean latency \(l^{\text{(mean)}}\) of the values collected from the repetition of this experiment was 17.4 ms (other sources of latency related, e.g., to computation at the receivers have been found to be in the order of \(\mu\)s and, therefore, are neglected. Furthermore, the measuring methodology we used does not depend on the specific conditions under which these measures are taken). After running ProxySelection+ with \(L_{\text{max}}=100\) ms, \(m=0.1\cdot|S|\) and \(l^{(h)}=l^{\text{(mean)}}\), we get the proxy placement that is depicted in Figure 5b. We can easily see that ProxySelection+ is balancing the proxy allocation in the network, so as to guarantee a small data access latency to all the requesting nodes. Increasing and decreasing the number of proxies: Figure 6a displays the average access latency \(\overline{L}\) for different numbers of proxies in the network. In order to obtain this plot, we run ProxySelection+, and we gradually add and remove proxies, so as to investigate the effect of changing the number of proxies on \(\overline{L}\). In the case where we set \(l^{(h)}=l^{\text{(mean)}}\), the DML ensures that \(\overline{L}\) will not surpass \(L_{\text{max}}\), by assigning four proxies in selected positions. If we further decrease the number of proxies, we have that \(\overline{L}>L_{\text{max}}\), and the latency constraint is not met. At the leftmost point of the plot, we can see the latency achieved when using only one proxy (the controller \(C\), or in other words, when the DML functionalities are absent), which is much higher than when employing additional proxies. When we replace the value of \(l^{(h)}\) with \(l^{(h)}=l^{\text{(max)}}\) and we re-run the algorithm, we observe similar behavior in the performance, but in this case, with eight selected proxies. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Type of Measured Latency** & **Notation** & **Value (ms)** & \(\sigma\) \\ \hline
**Highest latency reported** & \(l^{\text{(max)}}\) & 23 & \\
**Mean latency** & \(l^{\text{(mean)}}\) & 17.4 & 3.2 \\
**Lowest latency reported** & - & 13 & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Measured send/receive latency. Figure 6: _Cont._  
\(\overline{L}\) achieved: Figure 5(b) displays the results on the average access latency for the three alternative methods. The yellow bar for the DML method is the \(\overline{L}\) value when we consider the worst case of \(l^{(h)}=l^{(\max)}\). This is an important point to make, as the figure shows that, by adapting the number of proxies, DML is able to always guarantee the constraint, irrespective of whether \(l^{(h)}\) is formulated as an average of mean latencies or as an average of worst-case latencies.