Scripting Over-The-Air: Towards Containers on Low-end Devices in the Internet of Things

The Internet of Things (IoT) connects a variety of small devices, via gateways, to the cloud. Use-cases often require IoT devices to run logic that is not pre-determined before deployment, and that must be updated during the life-time of the device. In this paper, we explore the potential of over-the-air scripting and updatable runtime containers hosting application logic on heterogeneous low-end IoT devices. Based on RIOT and Javascript, we provide a proof-of-concept implementation of this approach for a building automation IoT scenario. A preliminary evaluation shows our prototype runs on common off-the-shelf low-end IoT hardware with as little as 32kB of memory.

[1]  Matthias Kovatsch,et al.  Demo abstract: Human-CoAP interaction with Copper , 2011, 2011 International Conference on Distributed Computing in Sensor Systems and Workshops (DCOSS).

[2]  Vishwas Lakkundi,et al.  Implementing LWM2M in constrained IoT devices , 2015, 2015 IEEE Conference on Wireless Sensors (ICWiSe).

[3]  Edward A. Lee,et al.  A Vision of Swarmlets , 2015, IEEE Internet Computing.

[4]  Thomas C. Schmidt,et al.  RIOT OS: Towards an OS for the Internet of Things , 2013, 2013 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[5]  Emmanuel Baccelli,et al.  Operating Systems for Low-End Devices in the Internet of Things: A Survey , 2016, IEEE Internet of Things Journal.

[6]  Jiyun Lee,et al.  Trigger-Action Programming in the Wild: An Analysis of 200,000 IFTTT Recipes , 2016, CHI.

[7]  Tirumaleswar Reddy,et al.  Constrained Application Protocol (CoAP) Hop-Limit Option , 2020, RFC.

[8]  David E. Culler,et al.  Incremental network programming for wireless sensors , 2004, SECON.

[9]  Eric Fleury,et al.  FIT IoT-LAB: A large scale open experimental IoT testbed , 2015, 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT).

[10]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.

[11]  Sung-Jae Lee,et al.  Ultra lightweight JavaScript engine for internet of things , 2015, SPLASH.

[12]  Simon Duquennoy,et al.  Actinium: A RESTful runtime container for scriptable Internet of Things applications , 2012, 2012 3rd IEEE International Conference on the Internet of Things.

[13]  Emmanuel Baccelli,et al.  The Future of IoT Software Must be Updated , 2016 .

[14]  Carsten Bormann,et al.  Terminology for Constrained-Node Networks , 2014, RFC.

[15]  Michal Król,et al.  NFaaS: named function as a service , 2017, ICN.