A Multi-Hop Software Update Method for Resource Constrained Wireless Sensor Networks

A Multi-Hop Software Update Method for Resource Constrained Wireless Sensor Networks

Teemu Laukkarinen (Tampere University of Technology, Finland), Lasse Määttä (Tampere University of Technology, Finland), Jukka Suhonen (Tampere University of Technology, Finland) and Marko Hännikäinen (Tampere University of Technology, Finland)
DOI: 10.4018/978-1-4666-6034-2.ch004
OnDemand PDF Download:


Wireless Sensor Networks (WSNs) require automated over the air software updates for fixing errors or adding new features. Reprogramming nodes manually is often impractical or even impossible. Current update methods require an external memory, additional computation, and/or external WSN transport protocol. In this chapter, the authors propose Program Image Dissemination Protocol (PIDP) for WSNs. Combining PIDP with an application description language provides a complete method for WSN firmware management. PIDP is reliable, lightweight, and supports multi-hopping. PIDP does not require external memory, is independent of the WSN implementation, transfers firmware reliably, and reprograms the whole program memory. In addition, PIDP allows several levels of WSN node heterogeneity. PIDP was implemented on an 8-bit node platform with a 2.4 GHz radio. Implementation requires 22 bytes of data memory and less than 7 kilobytes of program memory. PIDP updates 178 nodes within 5 hours. One update consumes under 1% of the energy of two AA batteries.
Chapter Preview


A Wireless Sensor Network (WSN) consists of autonomous sensor nodes (Akyildiz, Weilian, Sankarasubramaniam, & Cayirci, 2002). The goal of sensor node hardware development is to create tiny battery-powered low-cost disposable nodes. Increasing the performance or memory capacity increases the physical size, energy consumption and manufacturing costs. Thus, nodes are limited in computation, storage, communication and energy resources. These limitations must be addressed when designing and implementing protocols in WSNs.

It is not always possible to physically access the nodes in the field once they are deployed. Yet, adding new features, applications and program error fixes necessitates updating the program image that contains the software and protocols running on a node. The solution is a WSN reprogramming protocol, which is used to inject new software into a WSN.

Five general challenges affecting reprogramming in WSNs can be identified (Wang, Zhu, & Cheng, 2006). First, large program images must be transferred reliably through an error prone medium. Thus, the receiver should be able to detect errors and request the corrupted segments again. Second, processing speed and memory capacity in nodes set limits to the time and space complexity of designed protocols. Third, battery powered WSN nodes inherently require the reprogramming protocols to be energy efficient. Fourth, the reprogramming protocol must be scalable enough to handle WSNs that consist of hundreds or thousands of nodes deployed in varying densities. And fifth, the operating system, which is used in nodes, can set limits on the program image format and the reprogramming protocol.

Several protocols (Wang, Zhu, & Cheng, 2006) have been proposed for reprogramming a WSN. A common approach is to equip each node with external memory storage where the new program image is stored. Once the image has been received and verified, a dedicated image transfer program copies the new program image over the old image. This approach allows uninterrupted operation as the new image is transferred in the background. However, the additional memory increases hardware price and takes place on the circuit board, therefore necessitating expensive or energy consuming platforms that prohibit the vision of long term, disposable nodes. Furthermore, many protocols (Hui & Culler, 2004; Levis, Patel, Culler, & Shenker, 2004; Levis & Culler, 2002) support a particular operating system only. Triggering method is often required to start the update after successful image transfer. This can be difficult to achieve reliably, if the update breaks the backwards compatibility of the protocol stack (Langendoen, Baggio, & Visser, 2006; Brown & Sreenan, 2013). If the network splits or one node is temporarily out of range, when the update triggering message is sent, the network can end up situation, where parts of it cannot be connected anymore. Unfortunately, this problem is not often discussed in the research or is left under little attention.

In this paper we present the design, implementation and experimental results of a Program Image Dissemination Protocol (PIDP) for autonomous adhoc multihop WSNs. PIDP consists of firmware version handshakes between nodes, periodic firmware version advertisements and a reliable program image transfer, as shown in Figure 1. Firmware version advertisements are used between neighboring nodes to advertise and compare firmware versions and check for compatibility. The reliable image transfer is used to transfer program images between nodes and to rewrite the program memory. A small bootloader program locates and executes the loaded program image. PIDP is lightweight, energy efficient, reliable and, unlike other reprogramming protocols, does not require external memory for temporary storage of program images. A PIDP update in one part of the WSN does not disturb the whole network, thus, allowing a continuous operation of the non-affected nodes. Furthermore, PIDP is not restricted to a particular operating system or WSN protocol. PIDP provides heterogeneity support for different hardware sensors and for different application logics when combined with Process Description Language (PDL) presented in (Laukkarinen, Suhonen, & Hännikäinen, 2013).

Complete Chapter List

Search this Book: