Maté: a tiny virtual machine for sensor networks

Composed of tens of thousands of tiny devices with very limited resources ("motes"), sensor networks are subject to novel systems problems and constraints. The large number of motes in a sensor network means that there will often be some failing nodes; networks must be easy to repopulate. Often there is no feasible method to recharge motes, so energy is a precious resource. Once deployed, a network must be reprogrammable although physically unreachable, and this reprogramming can be a significant energy cost.We present Maté, a tiny communication-centric virtual machine designed for sensor networks. Maté's high-level interface allows complex programs to be very short (under 100 bytes), reducing the energy cost of transmitting new programs. Code is broken up into small capsules of 24 instructions, which can self-replicate through the network. Packet sending and reception capsules enable the deployment of ad-hoc routing and data aggregation algorithms. Maté's concise, high-level program representation simplifies programming and allows large networks to be frequently reprogrammed in an energy-efficient manner; in addition, its safe execution environment suggests a use of virtual machines to provide the user/kernel boundary on motes that have no hardware protection mechanisms.

[1]  Deborah Estrin,et al.  Impact of network density on data aggregation in wireless sensor networks , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[2]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[3]  Charles H. Moore,et al.  Forth - a language for interactive computing , 1970 .

[4]  Kevin Mills,et al.  Expressing meaningful processing requirements among heterogeneous nodes in an active network , 2000, WOSP '00.

[5]  Satish Kumar,et al.  Next century challenges: scalable coordination in sensor networks , 1999, MobiCom.

[6]  Jyri Huopaniemi,et al.  Programming wireless devices with the Java 2 platform, micro edition : J2ME, connected limited device configration (CLDC) 1.1, mobile information device profile (MIDP) 2.0 , 2001 .

[7]  John V. Guttag,et al.  ANTS: a toolkit for building and dynamically deploying network protocols , 1998, 1998 IEEE Open Architectures and Network Programming.

[8]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[9]  Lloyd I. Dickman Small virtual machines: A survey , 1973 .

[10]  Samuel Madden,et al.  Continuously adaptive continuous queries over streams , 2002, SIGMOD '02.

[11]  Philip Koopman,et al.  Modern Stack Computer Architecture , 1990 .

[12]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[13]  David E. Culler,et al.  A wireless embedded sensor architecture for system-level optimization , 2002 .

[14]  Dejan S. Milojicic,et al.  Process migration , 1999, ACM Comput. Surv..

[15]  Deborah Estrin,et al.  Building efficient wireless sensor networks with low-level naming , 2001, SOSP.

[16]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[17]  Sasikanth Avancha,et al.  Security for Sensor Networks , 2004 .

[18]  Deborah Estrin,et al.  Directed diffusion: a scalable and robust communication paradigm for sensor networks , 2000, MobiCom '00.

[19]  Joseph M. Kahn,et al.  Wireless Communications for Smart Dust , 1998 .

[20]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[21]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[22]  Wei Hong,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Tag: a Tiny Aggregation Service for Ad-hoc Sensor Networks , 2022 .

[23]  David E. Culler,et al.  Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine , 1991, ASPLOS IV.

[24]  Charles E. Perkins,et al.  Ad hoc On-Demand Distance Vector (AODV) Routing , 2001, RFC.

[25]  Michael Gertz,et al.  Bend, Don’t Break: Using Reconfiguration to Achieve Survivability , 2000 .

[26]  Liviu Iftode,et al.  Scylla: a smart virtual machine for mobile embedded systems , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[27]  Richard K. Johnsson,et al.  An overview of the mesa processor architecture , 1982, ASPLOS I.

[28]  Michael D. Noakes,et al.  The J-machine multicomputer: an architectural evaluation , 1993, ISCA '93.

[29]  Scott Devine,et al.  Disco: running commodity operating systems on scalable multiprocessors , 1997, TOCS.

[30]  Cecilia Mascolo,et al.  Implementing incremental code migration with XML , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[31]  Randy H. Katz,et al.  Next century challenges: mobile networking for “Smart Dust” , 1999, MobiCom.