GITAR: Generic extension for Internet-of-Things ARchitectures enabling dynamic updates of network and application modules
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)
- et al.
The internet of things: a survey
Comput. Netw.
(2010) - 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) - 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) - et al.
A framework for dynamic composition of communication services
ACM Trans. Sens. Netw.
(2015) - et al.
ETSI reconfigurable radio systems: status and future directions on software defined radio and cognitive radio standards
IEEE Commun. Mag.
(2010) ZigBee Wireless Networks and Transceivers
(2008)- et al.
WirelessHART: applying wireless technology in real-time industrial process control
Real-Time and Embedded Technology and Applications Symposium, 2008. RTAS ’08
(2008) - et al.
TinyOS: an operating system for sensor networks
- et al.
Contiki—a lightweight and flexible operating system for tiny networked sensors
29th Annual IEEE International Conference on Local Computer Networks, 2004
(2004) - et al.
A dynamic operating system for sensor nodes
Proceedings of the Third International Conference on Mobile Systems, Applications, and Services, MobiSys ’05
(2005)
Software updating in wireless sensor networks: a survey and lacunae
J. Sens. Actuat. Netw.
The LiteOS operating system: towards UNIX-like abstractions for wireless sensor networks
IPSN ’08. International Conference on Information Processing in Sensor Networks, 2008
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
Darjeeling, a feature-rich VM for the resource poor
Proceedings of the Seventh ACM Conference on Embedded Networked Sensor Systems, SenSys ’09
Supporting concurrent applications in wireless sensor networks
Proceedings of the Fourth International Conference on Embedded Networked Sensor Systems, SenSys ’06
Multi-level software reconfiguration for sensor networks
Proceedings of the Sixth ACM & IEEE International Conference on Embedded Software, EMSOFT ’06
VMSTAR: synthesizing scalable runtime environments for sensor networks
Proceedings of the Third International Conference on Embedded Networked Sensor Systems, SenSys ’05
Cited by (41)
Runtime software patching: Taxonomy, survey and future directions
2023, Journal of Systems and SoftwareMode-oriented hybrid programming of sensor network nodes for supporting rapid and flexible utility assembly
2019, Computer NetworksCitation 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 NetworksCitation 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 ApplicationsOn blockchain and its integration with IoT. Challenges and opportunities
2018, Future Generation Computer SystemsModelling 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.
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).