# Design and Analysis of Adaptive Hierarchical Low-Power Long-Range Networks
## 6 Conclusions and Future Work  
This paper presented a new adaptive and hierarchical communication scheme for low-power long-range IoT deployments. The overall design of the proposed scheme has been presented in details along with the technical details of all the modules required to realize it. The experimental-driven research approach was followed so that the hierarchical organization structure could be executed in real IoT deployments. The initial collection of algorithms has been transformed into open-source  
Figure 14: Messages transmitted per minute with no mobile devices, by mobile and fixed nodes during slow and fast walks. Figure 15: Effect of channel failures on the performance of the sub-network discovery and formation. code that can be executed by all the major OS for embedded sensor platforms. The paper includes an elaborate presentation of the algorithm engineering process followed including the most important implementation details. The performance of the communication scheme has been evaluated in a real-world deployment. The experimental evaluation indicates that, with proper fine-tuning of the various parameters, the resulting organization structure can adapt to various internal and external conditions and support stable and scalable communication. In testbeds located in indoor spaces, stable communication was always established within a very short period of time. In certain cases, the system was evaluated under the presence of failures and malicious attacks. These tests indicate the capability of the scheme to suitably adapting the hierarchical structure and eventually overcoming the failures. Apart from the benefits of providing a scalable communication scheme, the hierarchical organization structure presented here provides some additional benefits. An important benefit is the establishment of securing communication exchanges within each the sub-network by incorporating a Group key establishment (GKE) algorithm. GKE is the procedure of setting up secret cryptographic keys between groups of nodes. This essentially guarantees to some extent the confidentiality and integrity of the information exchanged. A wide variety of GKE protocols based on asymmetric and symmetric cryptographic techniques has been proposed so far, e.g., [41; 42; 43]. The big challenges when designing a GKE protocol for IoT deployments are scalability and efficiency [5]. However, the proposed protocols aim at these goals, and a GKE mechanism could execute faster and more efficiently when applied in combination with the hierarchical scheme presented here and the creation of the sub-networks. Moreover, certain GKE protocols like [44] are based on the assumption that the network is already organized into sub-networks. Thus, one can realize that the hierarchical scheme presented here can improve the efficiency of computationally heavy protocols like GKE protocols and respectively the overall network performance. To provide the first feedback on the ability to offer secure communication within the sub-networks, the GKE algorithm proposed in [5] was implemented in combination with the hierarchical scheme presented here. It is based on Elliptic Curve Cryptograhy (ECC) and it employs a depth first traversal that visits all the network participants who contribute to the group key. The Depth-First-Search (DFS) traversal is implemented by registering two _callback_ methods at the CC component so that the common key is re-computed when each device joins the sub-network and the key is finalized with the last device addition. The keys are generated using the ECC operations (point multiplication,encryption/decryption) provided by _Wiselib_. The prob, dfs and norm components of _Wiselib_ are used to complete the integration. The overall implementation requires a total of 11 lines of code. The resulting performance is evaluated based on the iSense hardware. For the topology of 10 nodes, it requires approximately 7 min to compute a common key of 163 bits. Remark that ECC-based cryptography of 163-bit is equivalent to 1024-bit RSA keys.