Connecting the World of Embedded Mobiles: The RIOT Approach to Ubiquitous Networking for the Internet of Things

The Internet of Things (IoT) is rapidly evolving based on low-power compliant protocol standards that extend the Internet into the embedded world. Pioneering implementations have proven it is feasible to inter-network very constrained devices, but had to rely on peculiar cross-layered designs and offer a minimalistic set of features. In the long run, however, professional use and massive deployment of IoT devices require full-featured, cleanly composed, and flexible network stacks. This paper introduces the networking architecture that turns RIOT into a powerful IoT system, to enable low-power wireless scenarios. RIOT networking offers (i) a modular architecture with generic interfaces for plugging in drivers, protocols, or entire stacks, (ii) support for multiple heterogeneous interfaces and stacks that can concurrently operate, and (iii) GNRC, its cleanly layered, recursively composed default network stack. We contribute an in-depth analysis of the communication performance and resource efficiency of RIOT, both on a micro-benchmarking level as well as by comparing IoT communication across different platforms. Our findings show that, though it is based on significantly different design trade-offs, the networking subsystem of RIOT achieves a performance equivalent to that of Contiki and TinyOS, the two operating systems which pioneered IoT software platforms.

[1]  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).

[2]  M. Mitchell Waldrop,et al.  The chips are down for Moore’s law , 2016, Nature.

[3]  David R. Hanson Fast allocation and deallocation of memory based on object lifetimes , 1990, Softw. Pract. Exp..

[4]  Olaf Spinczyk,et al.  CiAO/IP: a highly configurable aspect-oriented IP stack , 2012, MobiSys '12.

[5]  D. M. Ritchie,et al.  The UNIX system: A stream input-output system , 1984, AT&T Bell Laboratories Technical Journal.

[6]  Larry L. Peterson,et al.  Design of the x-kernel , 1988, SIGCOMM '88.

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

[8]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..

[9]  David E. Culler,et al.  IP is dead, long live IP for wireless sensor networks , 2008, SenSys '08.

[10]  Bengt Ahlgren,et al.  A survey of information-centric networking , 2012, IEEE Communications Magazine.

[11]  Klaus Wehrle,et al.  The Linux networking architecture : design and implementation of network protocols in the Linux kernel , 2005 .

[12]  Antonio Iera,et al.  The Internet of Things: A survey , 2010, Comput. Networks.

[13]  Gennaro Boggia,et al.  Standardized Protocol Stack for the Internet of (Important) Things , 2013, IEEE Communications Surveys & Tutorials.

[14]  Adam Dunkels,et al.  uIP-A Free Small TCP / IP Stack , 2001 .

[15]  Shusen Yang,et al.  A survey on the ietf protocol suite for the internet of things: standards, challenges, and opportunities , 2013, IEEE Wireless Communications.

[16]  Michi Henning,et al.  API design matters , 2009, CACM.

[17]  Charles E. Perkins,et al.  IP Mobility Support for IPv4 , 2002, RFC.

[18]  Kevin Weekly,et al.  OpenWSN: a standards‐based low‐power wireless development environment , 2012, Trans. Emerg. Telecommun. Technol..

[19]  Greg Chesson The network Unix system , 1975, SOSP.

[20]  David E. Culler,et al.  A modular network layer for sensorsets , 2006, OSDI '06.

[21]  Alexander Afanasyev,et al.  The Design and Implementation of the NDN Protocol Stack for RIOT-OS , 2016, 2016 IEEE Globecom Workshops (GC Wkshps).

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

[23]  Adam Dunkels Rime - a lightweight layered communication stack for sensor networks. , 2007 .

[24]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[25]  Charles E. Perkins,et al.  Mobility support in IPv6 , 1996, MobiCom '96.

[26]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.