Scalable and Interoperable Low-Power Internet of Things Networks

Abstract: Internet of Things (IoT) is the concept of connecting devices to the Internet. IoT devices can be anything from small temperature sensors to self-driving cars. The devices are typically resource-constrained, connected wirelessly, and often battery-powered. In this thesis, we address energy efficiency and the tools required for estimating power consumption, interoperability between different implementations of IoT protocols, and scalability of the IoT networks in mesh configurations. The contributions are made in the five included research papers addressing these challenges. Firstly, we present and evaluate network-wide energy estimation support in our simulation tool COOJA/MSPSim. Due to the timing accuracy of the simulation and emulation, we get energy consumption estimates very close to hardware-based estimates. The second contribution evaluates the capabilities of simulation tools for interoperability testing. We show that it is possible to set up simulations of networks with multiple implementations of the same open standards (6LoWPAN/RPL) and that it is possible to get results beyond pure interoperability, including power consumption and network quality. Finally, we show that, by carefully managing neighbor updates, it is possible to scale IoT networks even when the IoT devices' memory limitations severely constrain the size of the neighbor table.The experimental systems research that resulted in this thesis also provided significant contributions to the open-source ecosystem around Contiki, an operating system for resource-constrained IoT devices. This software, Contiki and COOJA/MSPSim, has been a cornerstone in our capability to perform sound systems research and has been widely used by other research groups in resource-constrained IoT research in academia and many companies for developing commercial IoT devices.