Elsevier

Ad Hoc Networks

Volume 36, Part 1, January 2016, Pages 127-151
Ad Hoc Networks

GITAR: Generic extension for Internet-of-Things ARchitectures enabling dynamic updates of network and application modules

https://doi.org/10.1016/j.adhoc.2015.05.017Get rights and content

Abstract

The Internet-of-Things (IoT) represents the third wave of computing innovation and relies on small, cheap and/or energy efficient devices, densely deployed in various spaces. Automatically managing, updating and upgrading the software on these devices, particularly the network stacks, with new, improved functionality is currently a major challenge. In this paper we propose GITAR, a generic extension for Internet-of-Things architectures, that enables dynamic application and network level upgrades in an efficient way. GITAR consists of four design concepts which can be applied to any operating system running on IoT/M2M devices. The proof of concept implementation in this paper uses the Contiki OS and the evaluation, based on analytical and experimental methods, shows that GITAR i) is up to 14% more efficient in terms of memory usage and ii) has less or similar run-time CPU overhead as state of the art solutions while offering upgrade functionality down to the network level and iii) can reuse existing Contiki network protocols for dynamic updates without requiring modifications to the code.

Introduction

Currently, in the developed world, individuals own a limited number of wireless devices including a mobile phone, a PC, a tablet, camera and a TV. The applications running on most of these devices are able to perform automatic updates to relieve the user from a relatively difficult and time consuming upgrade process. IoT brings a third wave of computing innovation, following the personal computer and mobile phone wave. The Internet of Things (IoT) is typically envisioned as the integration of small, cheap and/or energy efficient wireless radios in everyday objects. Most IoT devices are constrained in terms of processing power and memory storage to keep the unit price low, as well as in terms of energy since they are typically battery powered. This trend will lead to a further increase in i) the number of devices per person and ii) the number of devices per square meter, thereby introducing the need for efficient upgrade ability and reconfigurability of embedded devices, as recognized by Atzori et al. [1], De Poorter et al. [2], Fortuna and Mohorcic [3] and the ETSI RRS WG 2 [4].

In addition, whereas wireless technologies and standards are changing at a rapid pace, embedded IoT devices will have a longer lifetime, typically a decade or more. To cope with such a huge amount of devices, deployed in rapidly changing wireless environments, we envision the need for update mechanisms that not only allow new IoT applications, but also allow to download new or updated network functionality, including MAC implementations, over the air from a repository (similar to an app store). This would, for example, allow to switch between a ZigBee [5] and WirelessHART [6] protocol stack, both of which use the same physical layer.

The most popular wireless sensor network/IoT operating systems, TinyOS [7] and Contiki [8], were not designed to support such dynamic upgradeable environments. In these operating systems, while the applications can be altered using partial code upgrades, altering the network stack can only be achieved using full firmware upgrades. This approach has several major drawbacks. (i) Distributing a new firmware over-the-air consumes a significant amount of energy. (ii) Extending or modifying large network stacks is time consuming and error prone. (iii) The lack of code re-usability slows the overall progress in the area. Other systems, such as SOS [9], allow more modular upgradeability but (i) have not been demonstrated to support network stack upgrades, (ii) require modifications to existing network protocols and (iii) do not use standard upgrade mechanisms and file formats.

In this paper, we claim the following three contributions. The first and most important contribution of the paper is GITAR, a Generic extension for Internet of Things ARchitectures that enables run time updates of network stacks and applications on constrained devices using standard file structures, tools and methods. GITAR supports position independent dynamic linking of components at run-time from the application level down to the MAC layer. The second contribution is a proof of concept implementation that is fully backward compatible with the existing Contiki network protocols, thus extending an already popular IoT solution. The third contribution is the theoretical and experimental evaluation of the reference implementation which demonstrates that GITAR (i) is up to 14% more efficient in terms of memory usage; (ii) has less or the same run-time CPU overhead as the state of the art while offering beyond state-of-the-art network level upgrade functionality; and (iii) has a lesser or equal energy cost for deploying the dynamic components.

The remainder of this paper is organized as follows. First, Section 2 describes and analyses scenarios in which run-time software upgradeability is required. Section 3 gives a brief overview of related work. Next, Section 4 described the architecture of the proposed system that enables all the scenarios identified in Section 2. The reference implementation of the architecture is discussed in Section 5 while Section 6 evaluates the architecture both theoretically and experimentally. Finally, Section 7 concludes the paper.

Section snippets

Scenarios for (re)programmable wireless networks

Software updates are required in many scenarios and can happen in different stages over the “lifetime” of a device (e.g. development, testing, deployment, maintenance, etc.). We distinguish three levels at which (re)programmability is needed: system level, network level and application level.

Related work

In general, there are four approaches for performing runtime code updates in already deployed WSNs: i) existing script languages are ported to WSN platforms; ii) virtual machine approaches allow the injection of intermediate code that is interpreted at run-time; iii) full-image based approaches replace the entire firmware at once; iv) component or module based approaches divide the firmware of a device in small code blocks that can be added or updated at runtime. Many of these are inspired by

Architecture

In this section, a number of design concepts are introduced that are essential for supporting network level (re)programmability. Using these design concepts, an architecture is proposed that can be applied to existing operating systems, making them component upgradeable.

Implementation

This section demonstrates how presented architecture can be applied to Contiki,1 to enable dynamic code updates in the network level while maintaining backward compatibility with the existing Contiki network stacks. The implementation of following design concepts will be discussed: i) loose coupling, ii) system boundary, iii) hardware abstraction and iv) grouping of functionality

Evaluation

This section presents the experimental and analytical evaluation of the reference implementation of GITAR. To demonstrate the improvements compared to prior art, the results are compared with a standard Contiki [27], SOS [9] and RemoWare [34]. The remainder of this evaluation section is structured as follows. i) First, each system is analyzed from a functional viewpoint in Section 6.1, identifying how dynamic components and interactions are implemented. ii) Next, in Section 6.2, an experimental

Conclusion

Updating the network stack of constrained devices after deployment is essential for the long-term sustainability and maintainability of IoT networks; especially when these networks need to support future standards and adapt to new requirements. This paper proposed a generic architecture that incorporates fundamental design concepts for enabling partial code updates in the network level. The architecture can be applied on existing IoT operating systems (e.g. Contiki, TinyOS) without requiring

Acknowledgments

This work was partially supported by the Fund for Scientific Research-Flanders (FWO-V), project “ASN: wireless Acoustic Sensor Networks”, grant #G.0763.12, and the Agency for Innovation by Science and Technology, Flanders (IWT-V), project “SAMURAI: Software Architecture and Modules for Unified RAdIo control”, and the iMinds IoT Strategic Research program, and European Commission Horizon 2020 Programme under grant agreement no. 645274 (WiSHFUL).

Peter Ruckebusch received his B.S. and M.S. in Computer Science from Hogeschool Ghent Faculty Engineering, Belgium. He has many years of experience in developing network solutions of networked embedded systems, especially wireless senor networks. Since 2011 he has been a Ph.D. student at University Ghent, iMinds in the Department of Information Technology (INTEC). He has been/is collaborating in several national and European projects. His research topics are situated in the low-end of the IoT

References (39)

  • L. Atzori et al.

    The internet of things: a survey

    Comput. Netw.

    (2010)
  • N. Tsiftes et al.

    Efficient sensor network reprogramming through compression of executable modules

    Fifth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, 2008. SECON ’08

    (2008)
  • E. De Poorter et al.

    Enabling direct connectivity between heterogeneous objects in the internet of things through a network-service-oriented architecture

    EURASIP J. Wireless Commun. Netw.

    (2011)
  • C. Fortuna et al.

    A framework for dynamic composition of communication services

    ACM Trans. Sens. Netw.

    (2015)
  • M. Mueck et al.

    ETSI reconfigurable radio systems: status and future directions on software defined radio and cognitive radio standards

    IEEE Commun. Mag.

    (2010)
  • S. Farahani

    ZigBee Wireless Networks and Transceivers

    (2008)
  • J. Song et al.

    WirelessHART: applying wireless technology in real-time industrial process control

    Real-Time and Embedded Technology and Applications Symposium, 2008. RTAS ’08

    (2008)
  • P. Levis et al.

    TinyOS: an operating system for sensor networks

  • A. Dunkels et al.

    Contiki—a lightweight and flexible operating system for tiny networked sensors

    29th Annual IEEE International Conference on Local Computer Networks, 2004

    (2004)
  • C.-C. Han et al.

    A dynamic operating system for sensor nodes

    Proceedings of the Third International Conference on Mobile Systems, Applications, and Services, MobiSys ’05

    (2005)
  • S. Brown et al.

    Software updating in wireless sensor networks: a survey and lacunae

    J. Sens. Actuat. Netw.

    (2013)
  • 2014. Micropython, python for microcontrollers. http://micropython.org/ (accessed...
  • 2014. Mpy: microcontroller python. http://www.mpyprojects.com/ (accessed...
  • Q. Cao et al.

    The LiteOS operating system: towards UNIX-like abstractions for wireless sensor networks

    IPSN ’08. International Conference on Information Processing in Sensor Networks, 2008

    (2008)
  • P. Levis et al.

    Maté: a tiny virtual machine for sensor networks

    Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS X

    (2002)
  • N. Brouwers et al.

    Darjeeling, a feature-rich VM for the resource poor

    Proceedings of the Seventh ACM Conference on Embedded Networked Sensor Systems, SenSys ’09

    (2009)
  • Y. Yu et al.

    Supporting concurrent applications in wireless sensor networks

    Proceedings of the Fourth International Conference on Embedded Networked Sensor Systems, SenSys ’06

    (2006)
  • R. Balani et al.

    Multi-level software reconfiguration for sensor networks

    Proceedings of the Sixth ACM & IEEE International Conference on Embedded Software, EMSOFT ’06

    (2006)
  • J. Koshy et al.

    VMSTAR: synthesizing scalable runtime environments for sensor networks

    Proceedings of the Third International Conference on Embedded Networked Sensor Systems, SenSys ’05

    (2005)
  • Cited by (41)

    • Mode-oriented hybrid programming of sensor network nodes for supporting rapid and flexible utility assembly

      2019, Computer Networks
      Citation Excerpt :

      The Draft middleware uses RemoWare for supporting module executable update. We chose RemoWare rather than the most recent work such as GITAR [33] because it’s open source and offering very low reprogramming cost (while GITAR mainly aims to improve the reconfigurability of network stacks and its reprogramming cost, according to its authors, could be very close to RemoWare). RemoWare uses a similar programming interface as Contiki, and thus they have close development complexity.

    • A survey on internet of things security from data perspectives

      2019, Computer Networks
      Citation Excerpt :

      Therefore, if not necessary, a partial code update is a better choice for devices updating to support novel standards and meet new requirements. Ruckebusch et al. [52] proposed a new software update mechanism for partial code updates on protocols and applications at runtime. This architecture consists of three levels – a static system level, a dynamic component level, and a kernel level.

    • Blockchain's adoption in IoT: The challenges, and a way forward

      2019, Journal of Network and Computer Applications
    • Modelling the energy consumption for over-the-air software updates in LPWAN networks: SigFox, LoRa and IEEE 802.15.4g

      2018, Internet of Things (Netherlands)
      Citation Excerpt :

      Research into the application of software updates in LPWANs is very limited although it has been identified as one of the key research challenges for long term sustainability [10–12]. An overview of existing software update methods for constrained devices can be found in [13]. More details regarding different software update methods for LPWANs will be given in Section 4.

    View all citing articles on Scopus

    Peter Ruckebusch received his B.S. and M.S. in Computer Science from Hogeschool Ghent Faculty Engineering, Belgium. He has many years of experience in developing network solutions of networked embedded systems, especially wireless senor networks. Since 2011 he has been a Ph.D. student at University Ghent, iMinds in the Department of Information Technology (INTEC). He has been/is collaborating in several national and European projects. His research topics are situated in the low-end of the IoT mainly focusing on re-configurability and re-programmability aspects of protocol stacks for constrained devices in IoT networks.

    Eli De Poorter is a postdoctoral researcher at Ghent University. He received his Master degree in Computer Science Engineering from Ghent University, Belgium, in 2006. He received his Ph.D. degree in 2011 at the Department of Information Technology at Ghent University through a Ph.D. scholarship from the Institute for Promotion of Innovation through Science and Technology in Flanders (IWT-Vlaanderen). After obtaining his Ph.D., he received a FWO postdoctoral research grant and is now a post-doctoral fellow at the same research group, where he is currently involved in and/or research coordinator of several national and international projects. His main research interests include wireless network protocols, network architectures, wireless sensor and ad hoc networks, future internet, self learning networks and next-generation network architectures. He is part of the program committee of several conferences and is the author or co-author of more than 50 papers published in international journals or in the proceedings of international conferences. He is also the creator of the patented IDRA architecture (http://idraproject.net), a flexible communication framework for heterogeneous networked devices.

    Carolina Fortuna is currently a post-doctorate researcher at the University of Gent, Belgium. She received her Ph.D. in 2013 from the Jozef Stefan International Postgraduate School with the thesis entitled Dynamic Composition of Communication Services. She is an expert in software architectures and stacks for embedded systems and also has experience with machine learning and data mining applied to networking problems. She has actively written and collaborated on over six successful H2020, FP7 and FP6 research projects. She also undertook two industrial internships at Bloomberg LP and Siemens PSE. The system she helped developing at Bloomberg was the most competitive in a US wide challenge and was subsequently selected for implementation on their web site.

    Ingrid Moerman received her degree in Electrical Engineering (1987) and the Ph.D. degree (1992) from the Ghent University, where she became a part-time professor in 2000. She is a staff member of the research group on Internet-Based Communication Networks and Services, IBCN (www.ibcn.intec.ugent.be), where she is leading the research on mobile and wireless communication networks. Since 2006 she joined iMinds, where she is coordinating several interdisciplinary research projects. Her main research interests include: Sensor Networks, Cooperative and Cognitive Networks, Wireless Access, Self-Organizing Distributed Networks (Internet of Things) and Experimentally-supported research. Ingrid Moerman has a longstanding experience in running national and EU research funded projects. At the European level, she is in particular very active in the FP7 FIRE (Future Internet Research and Experimentation) research area, where she is coordinating the CREW project and further participating in IP OpenLab, IP Fed4FIRE, STREP SPITFIRE, STREP EVARILOS, STREP FORGE and IP FLEX. In the FP7 research area on Future Networks, she is involved in IP LEXNET and STREP SEMAFOUR. She is author or co-author of more than 500 publications in international journals or conference proceedings. She is associate editor of the EURASIP Journal on Wireless Communications and Networking and vice-president of the expert panel on Informatics and Knowledge Technology of the Research Foundation Flanders (FWO).

    View full text