Wireless Sensor Networks are moving out of the laboratory and into the field. For a number of reasons there is often a need to update sensor node software, or node configuration, after deployment. The need for over-the-air updates is driven both by the scale of deployments, and by the remoteness and inaccessibility of sensor nodes. This need has been recognized since the early days of sensor networks, and research results from the related areas of mobile networking and distributed systems have been applied to this area. In order to avoid any manual intervention, the update process needs to be autonomous. This paper presents a comprehensive survey of software updating in Wireless Sensor Networks, and analyses the features required to make these updates autonomous. A new taxonomy of software update features and a new model for fault detection and recovery are presented. The paper concludes by identifying the lacunae relating to autonomous software updates, providing direction for future research.
References
[1]
Han, C.-C.; Kumar, R.; Shea, R.; Srivastava, M. Sensor network software update management: A survey. Int. J. Netw. Manag. 2005, 15, 283–294, doi:10.1002/nem.574.
[2]
Brown, S.; Sreenan, C.J. A new model for updating software in wireless sensor networks. IEEE Netw. 2006, 20, 42–47, doi:10.1109/MNET.2006.273120.
[3]
Wang, Q.; Zhu, Y.; Cheng, L. Reprogramming wireless sensor networks: Challenges and approaches. IEEE Netw. 2006, 20, 48–55, doi:10.1109/MNET.2006.1637932.
[4]
Mottola, L.; Picco, G.P. Programming wireless sensor networks: Fundamental concepts and state of the art. ACM Comput. Surv. 2011, 43, 19:1–19:51.
[5]
Brown, S.; Sreenan, C.J. Updating Software in Wireless Sensor Networks: A Survey; Technical Report UCC-CS-2006-13-07; University College Cork: Cork, Ireland, 2006.
[6]
Habermann, A.W. Dynamically Modifiable Distributed Systems. In Proceedings of a Workshop on Distributed Sensor Nets, Pittsburgh, PA, USA, December 1978; Carnegie-Mellon University: Pittsburgh, PA, USA; pp. 111–114.
[7]
Stathopoulos, T.; Heidemann, J.; Estrin, D. A Remote Code Update Mechanism for Wireless Sensor Networks; Technical Report CENS #30 for the Center for Embedded Network Sensing; UCLA: Los Angeles, CA, USA, 2003.
[8]
Reijers, N.; Langendoen, K. Efficient Code Distribution in Wireless Sensor Networks. In Proceedings of the 2nd ACM International Workshop on Wireless Sensor Networks and Applications, San Diego, CA, USA, 19 September 2003; pp. 60–67.
[9]
Koshy, J.; Pandy, R. Remote Incremental Linking for Energy-Efficient Reprogramming of Sensor Networks. In Proceedings of the 2nd European Workshop on Wireless Sensor Networks, Istanbul, Turkey, 31 January–2 February 2005; pp. 354–365.
[10]
Sha, L.; Rajkumar, R.; Gagliardi, M. Evolving Dependable Real-Time Systems. In Proceedings of the IEEE Conference on Aeropsace Applications, Aspen, CO, USA, 3–10 February 1996; pp. 335–346.
[11]
Stankovic, J.A.; Abdelzaher, T.E.; Lu, C.; Sha, L.; Hou, J.C. Real-time communication and coordination in embedded sensor networks. Proc. IEEE 2003, 91, 1002–1022, doi:10.1109/JPROC.2003.814620.
[12]
Liu, T.; Sadler, C.S.; Zhang, P.; Martonosi, M. Implementing Software on Resource-Constrained Mobile Sensors: Experiences with Impala and ZebraNet. In Proceedings of the 2nd International Conference on Mobile Systems, Applications and Services, Boston, MA, USA, 6–9 June 2004; pp. 256–269.
[13]
Levis, P.; Patel, N.; Culler, D.; Shenker, S. Trickle: A Self Regulating algorIthm for Code Propagation and Maintenance in Wireless Sensor Networks. In Proceedings of the First USENIX/ACM Symposium on Network Systems Design and Implementation, San Francisco, CA, USA, 29–31 March 2004; pp. 15–28.
[14]
Kavitha, T.; Sridharan, D. Security vulnerabilities in wireless sensor networks: A survey. J. Inf. Assur. Secur. 2010, 5, 31–44.
[15]
Law, Y.W.; Zhang, Y.; Jin, J.; Palaniswami, M.; Havinga, P. Secure rateless deluge: Pollution-resistant reprogramming and data dissemination for wireless sensor networks. EURASIP J. Wirel. Commun. Netw. 2011, 685219, 1–22.
[16]
Devanbu, P.; Gertz, M.; Stubblebine, S. Security for Automated, Distributed Configuration Management. In Proceedings of the ICSE 99 Workshop on Software Engineering over the Internet, Los Angeles, CA, USA, 25 April 1999; pp. 1–11.
[17]
Racherla, G.; Saha, D. Security and Privacy Issues in Wireless and Mobile Computing. In Proceedings of the IEEE International Conference on Personal Wireless Communications, Hyderabad, India, 17–20 December 2000; pp. 509–513.
[18]
Sha, L. Upgrading Real-Time Control Software in the Field. Proc. IEEE 2003, 91, 1131–1140, doi:10.1109/JPROC.2003.814611.
[19]
Avizienis, A.; Laprie, J.-C.; Randell, R.; Landwehr, C. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 2004, 1, 11–33, doi:10.1109/TDSC.2004.2.
[20]
Kephart, J.O.; Chess, D.M. The vision of autonomic computing. IEEE Comput. 2003, 36, 41–50, doi:10.1109/MC.2003.1160055.
[21]
Intangonwiwat, C.; Govindan, R.; Estrin, D. Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks. In Proceedings of the 6th Annual Conference on Mobile Computing and Networking, Boston, MA, USA, 6–11 August 2000; pp. 56–67.
[22]
Stann, F.; Heidemann, J. RMST: Reliable Data Transport in Sensor Networks. In Proceedings of the 1st IEEE International Workshop on Sensor Network Applications and Protocols, Anchorage, AK, USA, 11 May 2003; pp. 102–112.
[23]
Wan, C.Y.; Campbell, A.T.; Krishnamurthy, L. PSFQ: A Reliable Transport Protocol for Wireless Sensor Networks. In Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications, Atlanta, Georgia, USA, 28 September 2002; pp. 1–11.
[24]
Kulkarni, S.S.; Arumugam, M. Infuse: A TDMA Based Data Dissemination Protocol for Sensor Networks; Technical Report MSU-CSE-04-46 for the Department of Computer Science and Engineering; Michigan State University: East Lansing, MI, USA, 2004.
[25]
Naik, V.; Arora, A.; Sinha, P.; Zhang, H. Sprinkler: A Reliable and Energy Efficient Data Dissemination Service for Wireless Embedded Devices. In Proceedings of the 26th IEEE International Real-Time Systems Symposium, Miami, FL, USA, 5–8 December 2005; pp. 286–296.
Beutel, J.; Dyer, M.; Meier, L.; Ringwald, M.; Thiele, L. Next-Generation Deployment Support for Sensor Networks; Technical Report TIK 207 for the Computer Engineering and Networks Lab; Swiss Federal Institute of Technology (ETH): Zurich, Switzerland, 2004.
[28]
Huang, L.; Setia, S. CORD: Energy-Efficient Reliable Bulk Data Dissemination in Sensor Networks. In Proceedings of the 27th Conference on Computer Communications, Phoenix, AZ, USA, 13–18 April 2008; pp. 574–582.
[29]
Hui, J.; Culler, D. The Dynamic Behavior of a Data Dissemination Protocol for Network Reprogramming at Scale. In Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, Baltimore, MD, USA, 3–5 November 2004; pp. 81–94.
[30]
Hagedorn, A.; Starobinski, D.; Trachtenberg, A. Rateless Deluge: Over-the-Air Programming of Wireless Sensor Networks Using Random Linear Codes. In Proceedings of the 7th International Conference on Information Processing in Sensor Networks, Washington, DC, USA, 22–24 April 2008; pp. 457–466.
[31]
Zheng, X.; Sarikaya, B. Task dissemination with multicast deluge in sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 2726–2734, doi:10.1109/TWC.2009.081324.
[32]
Kulkarni, S.S.; Wang, L. MNP: Multihop Network Reprogramming Service for Sensor Networks. In Proceedings of the 25th IEEE International Conference on Distributed Computing Systems, Baltimore, MD, USA, 14–16 June 2005; pp. 7–16.
[33]
Jeong, J.; Kim, S.; Broad, A. Network Reprogramming; University of California: Berkeley, CA, USA, 2003.
[34]
Dong, W.; Liu, Y.; Wang, C.; Liu, X.; Chen, C.; Bu, J. Link Quality Aware Code Dissemination in Wireless Sensor Networks. In Proceedings of the 19th IEEE International Conference on Network Protocols, Vancouver, BC, Canada, 17–20 October 2011; pp. 89–98.
Busnel, Y.; Bertier, M.; Fleury, E.; Kermarrec, A.M. GCP: Gossip-Based Code Propagation for Large-Scale Mobile Wireless Sensor Networks. In Proceedings of the 1st International Conference on Autonomic Computing and Communication Systems, Rome, Italy, 28–30 October 2007; pp. 11:1–11:5.
[37]
Liu, T.; Martonosi, M. Impala a Middleware System for Managing Autonomic, Parallel Sensor Systems. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, USA, 11–13 June 2003; pp. 107–118.
[38]
Li, W.; Zhang, Y.; Childers, B. MCP: An Energy-Efficient Code Distribution Protocol for Multi-Application WSNs. In Proceedings of the 5th IEEE International Conference on Distributed Computing in Sensor Systems, Marina del Rey, CA, USA, 8–10 June 2009; pp. 259–272.
[39]
Li, W. Software Update Management in Wireless Sensor Networks. PhD Thesis, University of Pittsburgh, PA, USA, February 2011.
[40]
Wen, T.; Li, Z.; Li, Q.F. An Efficient Code Distribution Protocol for OTAP in WSNs. In Proceedings of the 5th International Conference on Wireless CommunicationsNetworking and Mobile Computing, Beijing, China, 24–26 September 2009; pp. 3980–3983.
[41]
Trigdell, A.; Mackerras, P. The Rsync Algorithm; Technical Report TR-CS-96-05 for the Australian National University: Canberra, Australia, 1998.
[42]
Bettini, L.; de Nicola, R.; Loreti, M. Software Update via Mobile Agent Based Programming. In Proceedings of the 2002 ACM Symposium on Applied Computing, Madrid, Spain, 10–14 March 2002; pp. 32–36.
[43]
Ahlswede, R.; Cai, N.; Li, S.Y.; Yeung, R.W. Network information flow. IEEE Trans. Inf. Theory 2000, 46, 1204–1216, doi:10.1109/18.850663.
[44]
Jeong, J.; Culler, D. Incremental Network Programming for Network Sensors. Santa Clara, CA, USA, 4–7 October 2004; pp. 25–33.
[45]
Von Rickenbach, P.; Wattenhofer, R. Decoding Code on a Sensor Node. In Proceedings of the 4th IEEE International Conference on Distributed Computing in Sensor Systems, Santorini, Greece, 11–14 June 2008; pp. 400–414.
[46]
Hou, I.-H.; Tsai, Y.-E.; Abdelzaher, T.F.; Gupta, I. AdapCode: Adaptive Network Coding for Code Updates in Wireless Sensor Networks. In Proceedings of the 27th Conference on Computer Communications, Phoenix, AZ, USA, 13–18 April 2008; pp. 1517–1525.
[47]
Shwe, H.Y.; Adachi, F. Power Efficient Adaptive Network Coding in Wireless Sensor Networks. In Proceedings of the IEEE International Conference on Communications, Kyoto, Japan, 5–9 June 2011; pp. 1–5.
[48]
Yang, Z.; Li, M.; Lou, W. R-code: Network Coding Based Reliable Broadcast in Wireless Mesh Networks with Unreliable Links. In Proceedings of Global Telecommunications Conference, Honolulu, HI, USA, 30 November–4 December 2009; pp. 1–6.
[49]
Schiller, J.; Liers, A.; Ritter, H.; Winter, R.; Voigt, T. ScatterWeb-Low Power Sensor Nodes and Energy Aware Routing. In Proceedings of the 38th Hawaii International Conference on System Sciences, Waikkoloa, HI, USA, 3–6 January 2005; pp. 1–9.
[50]
Han, C.-C.; Kumar, R.; Shea, R.; Kohler, E.; Srivastava, M. A Dynamic Operating System for Sensor Nodes. In Proceedings of the 3rd International Conference on Mobile Systems, Applications, and Services, Seattle, WA, USA, 6–8 June 2005; pp. 163–176.
[51]
Fok, C.-L.; Roman, G.-C.; Lu, C. Mobile Agent Middleware for Sensor Networks: An Application Case Study. In Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, Los Angeles, CA, USA, 25–27 April 2005; pp. 382–387.
[52]
Abrach, H.; Bhatti, S.; Carlson, J.; Dai, H.; Rose, J.; Sheth, A.; Shucker, B.; Deng, J.; Han, R. MANTIS: System Support for MultimodAl NeTworks of In-situ Sensors. In Proceedings of the 2nd ACM International Workshop on Wireless Sensor Networks and Applications, San Diego, CA, USA, 19 September 2003; pp. 50–59.
[53]
Madden, S.; Franklin, M.J.; Hellerstein, J.M. TAG: A Tiny Aggregation Service for Ad-Hoc Sensor Networks. SIGOPS Oper. Syst. Rev. 2002, 36, 131–146.
[54]
Hill, J.; Horton, M.; Kling, R.; Krishnamurthy, L. The platforms enabling wireless sensor networks. Commun. ACM 2004, 47, 41–46.
[55]
Hempstead, M.; Lyons, M.J.; Brooks, D.; Wei, G.-Y. Survey of hardware platforms for wireless sensor networks. J. Low Power Electron. 2008, 4, 11–20, doi:10.1166/jolpe.2008.156.
[56]
Dwivedi, A.K.; Vyas, O.P. Wireless Sensor Network: At a Glance. In Recent Advances in Wireless Communications and Networks; Lin, J.-C., Ed.; InTech: Rijeka, Croatia, 2011; pp. 299–326.
[57]
Karani, M.; Kale, A.; Kopekar, A. Wireless Sensor Network Hardware Platforms and Multi-Channel Communication Protocols: A Survey. In Proceedings on 2nd National Conference on Information and Communication Technology, New York, NY, USA, September 2011; pp. 20–23.
[58]
Levis, P.; Culler, D. Maté: A virtual machine for tiny networked sensors. ACM SIGPLAN Not. 2002, 37, 85–95, doi:10.1145/605432.605407.
[59]
Szumel, L.; LeBrun, J.; Owens, J.D. Towards a Mobile Agent Framework for Sensor Networks. In Proceedings of the 2nd IEEE Workshop on Embedded Networked Sensors, Sydney, Australia, 30–31 May 2005; pp. 79–88.
[60]
Yu, Y.; Rittle, L.J.; Bhandari, V.; LeBrun, J.B. Supporting Concurrent Applications in Wireless Sensor Networks. In Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, Boulder, CO, USA, 31 October–3 November 2006; pp. 139–152.
[61]
Janakiram, D.; Venkateswarlu, R.; Nitin, S. COMiS: Component Oriented Middleware for Sensor Networks; Department of Computer Science and Engineering, Indian Institute of Technology: Chennai, India, 2005.
[62]
Dunkels, A.; Grovall, B.; Voigt, T. Contiki—A Lightweight and Flexible Operating System for Tiny Networked Sensors. In Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks, Tampa, FL, USA, 16–18 November 2004; pp. 455–462.
[63]
Mottola, L.; Picco, G.P.; Sheikh, A.A. FiGaRo: Fine-Grained Software Reconfiguration for Wireless Sensor Networks. In Proceedings of the 5th European Wireless Sensor Networks Conference (EWSN 2008), Bologna, Italy, 30 January–1 February 2008; pp. 286–304.
[64]
Brooks, R.R.; Keiser, T.E. Mobile code daemons for networks of embedded systems. IEEE Internet Comput. 2004, 8, 72–79, doi:10.1109/MIC.2004.20.
[65]
Shen, C.-C.; Srisathapornphat, C.; Jaikaeo, C. Sensor information networking architecture and applications. IEEE Pers. Commun. 2001, 8, 52–59, doi:10.1109/98.944004.
[66]
Iftode, L.; Borcea, C.; Kochut, A.; Intanagonwiwat, C.; Kremer, U. Programming Computers Embedded in the Physical World. In Proceedings of the 9th IEEE Workshop on Future Trends of Distributed Computing Systems, San Juan, Puerto Rico, 28–30 May 2003; pp. 78–85.
[67]
Von Eicken, T.; Culler, D.; Oldstein, S.; Schauser, K. Active Messages: A Mechanism for Integrated Communication and Computation. In Proceedings of the 19th International Symposium on Computer Architecture, Queensland, Australia, 26–28 May 1992; pp. 256–266.
[68]
Lifton, J.; Seetharam, D.; Broxton, M.; Paradiso, J. Pushpin computing system overview: A Platform for Distributed, Embedded, Ubiquitous Sensor Networks. In Proceedings of the 1st International Conference on Pervasive Computing, Zurich, Switzerland, 26–28 August 2002; pp. 139–151.
[69]
Boulis, A.; Srivastava, M. Design and Implementation of A Framework for Efficient and Programmable Sensor Networks. In Proceedings of the 1st International Conference on Mobile Systems, Applications, and Services, San Francisco, CA, USA, 5–8 May 2003; pp. 187–200.
[70]
Kothari, N.; Nagaraja, K.; Raghunathan, V.; Sultan, F.; Chakradhar, S. Hermes: A Software Architecture for Visibility and Control in Wireless Sensor Network Deployments. In Proceedings of Information Processing in Sensor Networks, St. Louis, MI, USA, 22–24 April 2008; pp. 395–406.
[71]
Galos, M.; Navarro, D.; Mieyeville, F.; O'Connor, I. Energy-Aware Software Updates in Heterogeneous Wireless Sensor Networks. In Proceedings of the IEEE 9th International Conference on New Circuits and Systems Conference, Bordeaux, France, 26–29 June 2011; pp. 333–336.
[72]
Chi, T.Y.; Wang, W.C.; Kuo, S.Y. uFlow: Dynamic Software Updating in Wireless Sensor Networks. In Proceedings of the 8th International Conference on Ubiquitous Intelligence and Computing, Banff, AB, Canada, 2–4 September 2011; pp. 405–419.
[73]
Munawar, W.; Alizai, M.H.; Landsiedel, O.; Wehrle, K. Dynamic TinyOS: Modular and Transparent Incremental Code-Updates for Sensor Networks. In Proceedings of the IEEE International Conference on Communications, Cape Town, South Africa, 23–27 May 2010; pp. 1–6.
[74]
Balani, R.; Han, C.C.; Rengaswamy, R.K.; Tsigkogiannis, I.; Srivastava, M. Multi-Level Software Reconfiguration for Sensor Networks. In Proceedings of the 6th ACM & IEEE International Conference on Embedded software, Seoul, Korea, 22–25 October 2006; pp. 112–121.
[75]
Steiner, R.; Gracioli, G.; de Cassia Cazu Soldi, R.; Frohlich, A.A. An Operating System Runtime Reprogramming Infrastructure for WSN. In Proceedings of the IEEE Symposium on Computers and Communications, Cappadocia, Turkey, 1–4 July 2012; pp. 000621–000624.
[76]
Marrón, P.J.; Gauger, M.; Lachenmann, A.; Minder, D.; Saukh, O.; Rothermel, K. FlexCup: A Flexible and Efficient Code Update Mechanism for Sensor Networks. In Proceedings of the Third European Workshop, EWSN 2006, Zurich, Switzerland, 13–15 February 2006; pp. 212–227.
[77]
Panta, R.K.; Khalil, I.; Bagchi, S. Stream: Low Overhead Wireless Reprogramming for Sensor Networks. In Proceedings of the 26th IEEE International Conference on Computer Communications, Anchorage, AK, USA, 6–12 May 2007; pp. 928–936.
[78]
Panta, R.K.; Bagchi, S.; Midkiff, S.P. Zephyr: Efficient Incremental Reprogramming of Sensor Nodes Using Function Call Indirections and Difference Computation. In Proceedings of the USENIX Annual technical conference, San Diego, CA, USA, 14–19 June 2009; p. 32.
[79]
IEEE Guide to Classification for Software Anomalies; IEEE Std. 1044.1–1995; IEEE: New York, NY, USA.
[80]
Krishnan, P.V.; Sha, L.; Mechitov, K. Reliable Upgrade of Group Communication Software in Sensor Networks. In Proceedings of the 1st IEEE International Workshop on Sensor Network Protocols and Applications, Anchorage, AK, USA, 11 May 2003; pp. 82–92.
[81]
Grottke, M.; Nikora, A.P.; Trivedi, K.S. An Empirical Investigation of Fault Types in Space Mission System Software. In Proceedings of the IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Chicago, IL, USA, 28 June–1 July 2010; pp. 447–456.
[82]
Brown, S.; Sreenan, C.J. Software Update Recovery for Wireless Sensor Networks. In Proceedings of the 1st International Conference on Sensor Networks Applications Experimentation and Logistics (SENSAPPEAL 2009), Athens, Greece, 24–25 September 2009; pp. 107–125.
[83]
Unterschutz, S.; Turau, V. Fail-Safe Over-the-Air Programming and Error Recovery in Wireless Networks. In Proceedings of the 10th Workshop on Intelligent Solutions in Embedded Systems, Klagenfurt, Austria, 5–6 July 2012; pp. 27–32.
Yu, M.; Mokhtar, H.; Merabti, M. Self-Managed Fault Management in Wireless Sensor Networks. In Proceedings of the 2nd International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, Valencia, Spain, 29 September–4 October 2008; pp. 13–18.
[86]
Asim, M.; Mokhtar, H.; Merabti, M. A self-managing fault management mechanism for wireless sensor networks. Int. J. Wirel. Mob. Netw. 2010, 2, 184–197, doi:10.5121/ijwmn.2010.2415.
[87]
Bourdenas, T. Self-Healing in Wireless Sensor Networks. PhD Thesis, Imperial College London, London, UK, September 2011.
[88]
Chen, Y.; Gnawali, O.; Kazandjieva, M.; Levis, P.; Regehr, J. Surviving Sensor Network Software Faults. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Big Sky, MO, USA, 11–14 October 2009; pp. 235–246.
[89]
Strasser, M.; Vogt, H. Autonomous and Distributed Node Recovery in Wireless Sensor Networks. In Proceedings of the 4th ACM workshop on Security of ad hoc and sensor networks, Alexandria, VA, USA, 30 October 2006; pp. 113–122.
Dong, Q. Maximizing System Lifetime in Wireless Sensor Networks. In Proceedings of the 4th International Symposium on Information Processing in Sensor Network, Los Angeles, CA, USA, 24–27 April 2005; pp. 13–19.
[92]
Calinescu, G.; Kapoor, S.; Olshevsky, A.; Zelikovsky, A. Network Lifetime and Power Assignment in ad hoc Wireless Networks. In Proceedings 11th Annual European Symposium on Algorithms, Budapest, Hungary, 16–19 September 2003; pp. 114–126.
[93]
Wentzlo., D.D.; Calhoun, B.H.; Min, R.; Wang, A.; Ickes, N.; Chandrakasan, A.P. Design Considerations for Next Generation Wireless Power-Aware Microsensor Nodes. In Proceedings of the 17th International Conference on VLSI Design, Mumbai, India, 5–9 January 2004; pp. 361–367.