Section: New Results

IoT Scripting Over-The-Air

Participants : Emmanuel Baccelli, Francisco Acosta.

A large part of the Internet of Things (IoT) will consist of interconnecting low-end devices, whose characteristics include very small memory capacity (a few kBytes) and limited energy consumption (1000 times less than a RaspberryPi). IoT use-cases require the orchestration of different pieces of logic running concurrently on low-end IoT devices and elsewhere on the network (e.g. in the cloud) and communicating with one another. In a number of use-cases, the logic that needs to run on low-end IoT devices is not known upfront, before deploying the device(s). For instance, some part of the logic (e.g. pre-processing of some data) may need to be transferred on demand, from the cloud to the device, for privacy or performance reasons. Another example is the fine-tuning of some parameters of the logic running on some device, which can only be done after the deployment (e.g. the sensitivity of a distributed alarm system on-site). In such context, this paper presents a generic approach to host, run and update IoT application logic on heterogeneous low-end devices, using over-the-air scripting and small containers. Based on RIOT and Javascript, we provide a proof- of-concept implementation of this approach for a building automation IoT scenario, as well as a preliminary evaluation of this implementation running on common off-the-shelf low-end IoT hardware. Our evaluation shows the prototype runs on common off-the-shelf low-end IoT hardware with as little as 32kB of memory. Recent prior work in this domain also proposed Actinium, an approach using small, distributed runtime containers on computers proxying for low-end IoT devices, accessible as Web resources, and hosting JavaScript logic. Compared to Actinium, we eliminate the need for Web resource proxying, as runtime containers are running directly on the low-end IoT devices.

This work was published and presented at the IEEE Percom 2018 conference as ”Scripting Over-The-Air: Towards Containers on Low-end Devices in the Internet of Things”.