Wireless Sensor Network Reprogramming Overview |
---|
A typical wireless sensor network (WSN) consists of a large number of small-sized, battery-powered sensor nodes that integrate sensing, computing, and communication capabilities. WSN applications include geophysical/structural/habitat monitoring, security surveillance, disaster area or battlefield information collection, and pervasive computing, etc. In most applications, sensor networks are deployed once and intended to operate unattended for a long period of time. Management and maintenance tasks of WSNs are challenging. Enabling sensor networks to be reprogrammable is a way to address such challenges. ¡°Code dissemination¡± and ¡°code acquisition¡± are two basic schemes to reprogram sensor networks. Code dissemination is usually used by system administrators for updating programs on sensor nodes, fixing bugs, changing network functionality, tuning module parameters, and replacing programming modules. Traditional ways of manually reprogramming sensors are costly, labor intensive or even impossible since each node has to be collected from the field and physically attached to a computer to ¡°burn¡± new codes. In contrast to code dissemination, code acquisition is initiated from individual sensors to fetch and install program modules from the network dynamically and on-demand. It enables sensor nodes to self-reprogram themselves so that they can adapt to changing tasks and evolving environments. Due to capacity constraints of sensor nodes, a monolithic program with too many functions cannot be fitted into the memory. In addition, applications may need extra modules to handle unforeseen events. |
WSN Reprogramming Framework |
There are several major functions related to WSN reprogramming, as outlined in the figure below: Version control: A version control database manages various program versions, the relations between update patches, information about the current running programs on sensor nodes, and etc. Scope selection: The scope selection allows administrators to select any particular nodes in the network for reprogramming. The scope of reprogramming can also be the whole network. Encoding/Decoding: In a simplest form, a reprogramming system reads the new program image, encodes them into data packets, and sends packets out through radio. A receiver decodes these packets and rebuilds the program image. Improved encoding/decoding can be used to reduce the size of updates and traffic loads in a WSN. It can also add security into data transmission. Code dissemination: This protocol transmits updates from source nodes to targeted receivers. Code dissemination and scope selection can work together to reprogram a partial network. Completion validation: The new program should be received in its entirety without errors before running. Completion validation ensures the continuous functioning of WSNs. Code acquisition: Code acquisition is initiated from sensor nodes. Trigger conditions could be set in sensor nodes or computed at run time. If a condition is satisfied, a sensor node will send code-acquisition requests to find source node(s) which have the desired program, module, or patch. After that, route(s) will be built to send the codes from the source node(s) to the requesting node. Switching: After being received over the air, the new program codes are usually stored in an external flash memory (EEPROM), because the data memory is not large enough. A sensor node will switch to the new program, typically done through a reboot. A boot loader, which resides in a specific section of the microcontroller¡¯s program memory, copies the received program code from EEPROM to the user application section of the program memory. Then the new program starts to execute. However, before switching to the new program, the node usually needs to preserve some data and states (e.g. the node ID, group ID, neighbor lists, routing tables, and calibration parameters), and restores them into the new program. The address dependency of these data is an important factor to design the store and restore mechanisms, e.g. a routing table from the old program must be restored to its appropriate address space in the new program. Management interface: The interface is installed at a base station (a PC with an attached sensor node) for administrators to perform reprogramming tasks. e.g. initiate/monitor/cancel reprogramming, setting parameters for scope selection, etc. |
Publication |
|
Resources |
|
Copyright(c) 2007 Lehigh University. All rights reserved.
Web
master: Shengpu Liu (shl204@lehigh.edu)