# La-CTP: Loop-Aware Routing for Energy-Harvesting Wireless Sensor Networks
## 6 Evaluation
### Analyses of Experimental Results
#### 6.2.2 Comparison of CTP and La-CTP  
We conducted experiments with deployments noEH, EH1, EH2, and AllEH to comprehensively investigate the behaviors and the performances of both protocols. Table 1 quantitatively shows the comparison results. From Table 1, we can find that La-CTP is better than CTP in terms of throughput and energy efficiency, even in the scenario without EH-nodes involved. Also, on average, La-CTP needs less time to unlock a loop than CTP. Next we will only give deep analyses of the experimental results achieved by the two protocols under deployment EH2. We use bubble charts shown in Figures 9 and 10  
Figure 8: Performance and snapshots of CTP under deployment EH1. In sub-figures (**b**,**c**), square nodes represent EH-nodes (others are normal nodes), node of number one is the sink, the color intensity of a node represent the relative measurements at that node, and the arrows are the directional links being used by CTP when this snapshot is recorded. (**a**) node throughput; (**b**) #parent updates/EH1; (**c**) #loop detections/EH1. to measure the overheads of the two protocols, where the color and the size of a bubble jointly map to the value it represents. Since per-node measurements achieved by two protocols differ considerably, it is hard to tell how much the differences are, only according to colors and sizes in those bubble charts. We thus omit the legends mapping colors and sizes to values, which leads to little effect on comparing the performance of both protocols. From Figure 9, we can see that CTP generates more parent updates and loops than La-CTP does. As shown in Table 1, in fact, only 97 parent updates and 11 loop detections happened to La-CTP in the EH2 experiments, both far less than 425 parent updates and 329 loop detections of CTP. Whenever an EH-node enters sleeping status, its previous-hop nodes will update their local variables minEtx and currentEtx and the changes will possibly result in parent updating. When parent updating happens, CTP often mistakenly chooses upstreaming nodes as new parent, thereby creating loops unsurprisingly. In contrast to CTP, the proposed La-CTP evaluates the effect of the network status change, by comparing the currently-updated minEtx with the original currentEtx. Therefore, the La-CTP node will not easily change its expectation or requirement for the forwarder's capacity, even though its parent cannot provide forwarding services at that moment. La-CTP employs a simple but effective metric for updating parent, so it restrains the opportunity that a node chooses its previous-hop as parent, thus reducing the loops. In return, less loop detections mean that less parent updates will be requested in the subsequent network operation. According to Algorithm 2, the parent node is required to proactively check the in-traffics coming from its previous-hop nodes, in order to know if they are caught in loops or encounter other conditions. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{2}{*}{**Metrics**} & \multicolumn{2}{c}{**noEH**} & \multicolumn{2}{c}{**EH1**} & \multicolumn{2}{c}{**EH2**} & \multicolumn{2}{c}{**AllEH**} \\ \cline{2-9}  & **CTP** & **La-CTP** & **CTP** & **La-CTP** & **CTP** & **La-CTP** & **CTP** & **La-CTP** \\ \hline Throughput (\%) & 93.7 & 94.2 & 77 & 91.1 & 23 & 84 & 21.4 & 68 \\ \#Parent Updates & 85 & 86 & 152 & 83 & 425 & 97 & 174 & 39 \\ \#Loops Detected & 58 & 15 & 223 & 8 & 329 & 11 & 283 & 56 \\ Loops Unsolved (\%) & 0 & 0 & 36.7 & 0 & 54.1 & 0 & 59.4 & 5.8 \\ Avg. Time of Loop Remv. (ms) & 1102 & 788 & 4217 & 1792 & 6035 & 2811 & 20,486 & 8824 \\ \#Beacons Sent & 762 & 449 & 4233 & 2814 & 10,972 & 6756 & 7752 & 5069 \\ \#Beacons Recv & 14,566 & 10,980 & 61,095 & 45,332 & 138,643 & 92,754 & 59,040 & 31,483 \\ \#Total Beacons & 15,328 & 11,479 & 65,328 & 48,146 & 149,615 & 99,510 & 66,792 & 40,552 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Comprehensive performance comparison of two protocols under three scenarios.