Zephyr: Wireless Reprogramming of Embedded Wireless Networks in Situ

Started: 2007 Ended: 2011

Contributors: Rajesh Panta; Issa Khalil; Sam Midkiff; Saurabh Bagchi (Purdue)

Luis Montestruque (EmNet LLC)

 

Wireless reprogramming of embedded wireless networks is an essential requirement for long-lived networks since software functionality needs to be changed over time and it is infeasible to collect these nodes and bring them back to the lab for reprogramming. So the reprogramming has to be done in situ, i.e., while the nodes are deployed in the field. During reprogramming, the number of radio transmissions should be minimized, since reprogramming time and energy depend chiefly on the number of radio transmissions.

The state-of-the-art before our work was to send the entire program along, in a multi-hop manner if needed. In our work, we developed multihop incremental reprogramming protocol that transfers the delta between old and new software versions, and lets the sensor nodes rebuild the new software using the received delta and the old software. Zephyr reduces the delta size by using application-level modifications to mitigate the effects of function shifts. Then it compares the two binary images at the byte level to generate a small delta, that is then sent over the wireless network to all the nodes.

With our technology, we reduced the size of network traffic by 3 orders of magnitude compared to the work that sends the entire program (Deluge) and 2 orders of magnitude compared to another incremental reprogramming protocol (Jeong and Culler 2004). This technology was used in a deployment of mesh network with about 500 nodes in South Bend, IN for the purpose of monitoring wastewater flows in underground channels.

References

[1]   Rajesh Krishna Panta and Saurabh Bagchi, “Mitigating the Effects of Software Component Shifts for Incremental Reprogramming of Wireless Sensor Networks,” IEEE Transactions on Parallel and Distributed Systems (TPDS), pp. 1882-1894, vol. 23, issue 10, October 2012.

[2]   Rajesh Krishna Panta, Saurabh Bagchi, and Samuel P. Midkiff, “Efficient Incremental Code Update for Sensor Networks,” ACM Transactions on Sensor Networks (TOSN), vol. 7, issue 4, pp. 1-32, February 2011.

[3]   Rajesh Krishna Panta, Saurabh Bagchi and Issa M. Khalil, “Efficient wireless reprogramming through reduced bandwidth usage and opportunistic sleeping,” Elsevier Ad Hoc Networks Journal, Volume 7, Issue 1, pp. 42-62, January 2009.

[4]   Rajesh Krishna Panta, Saurabh Bagchi, and Samuel P. Midkiff, “Zephyr: Efficient Incremental Reprogramming of Sensor Nodes using Function Call Indirections and Difference Computation,” At the USENIX Annual Technical Conference (USENIX '09), June 14-19, 2009, pp. 411-424, San Diego, CA.

[5]   Rajesh Krishna Panta and Saurabh Bagchi, "Hermes: Fast and Energy Efficient Incremental Code Updates for Wireless Sensor Networks," At the 28th Annual IEEE Conference on Computer Communications (INFOCOM), April 19-25 2009, pp. 639-647, Rio de Janeiro, Brazil.

[6]   Rajesh K. Panta, Issa Khalil, Saurabh Bagchi, and Luis Montestruque, “Single versus Multi-hop Wireless Reprogramming in Sensor Networks,” In Proceedings of the 4th International Conference on Testbeds and Research Infrastructures for the Development of Networks & Communities (Tridentcom), 7 pages, March 18-20, 2008.

[7]   Rajesh Krishna Panta, Issa Khalil, and Saurabh Bagchi, “Stream: Low Overhead Wireless Reprogramming for Sensor Networks,” At the 26th Annual IEEE Conference on Computer Communications (INFOCOM), pp. 928-936, May 6-12 2007, Anchorage, Alaska, USA.