Hood: a neighborhood abstraction for sensor networks

This paper proposes a neighborhood programming abstraction for sensor networks, wherein a node can identify a subset of nodes around it by a variety of criteria and share state with those nodes. This abstraction allows developers to design distributed algorithms in terms of the neighborhood abstraction itself, instead of decomposing them into component parts such as messaging protocols, data caches, and neighbor lists. In those applications that are already neighborhood-based, this abstraction is shown to facilitate good application design and to reduce algorithmic complexity, inter-component coupling, and total lines of code. The abstraction as defined here has been successfully used to implement several complex applications and is shown to capture the essence of many more existing distributed sensor network algorithms.

[1]  John F. Shoch,et al.  The “worm” programs—early experience with a distributed computation , 1982, CACM.

[2]  Cameron Whitehouse The Design of Calamari : an Ad-hoc Localization System for Sensor Networks , 2002 .

[3]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[4]  Anant Agarwal,et al.  LimitLESS directories: A scalable cache coherence scheme , 1991, ASPLOS IV.

[5]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[6]  Günter Hommel,et al.  Localized group membership service for ad hoc networks , 2002, Proceedings. International Conference on Parallel Processing Workshop.

[7]  Milan M. Jovanovic,et al.  An overview of reflective memory systems , 1999, IEEE Concurr..

[8]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI '03.

[9]  Gruia-Catalin Roman,et al.  Consistent group membership in ad hoc networks , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[10]  Eric A. Brewer,et al.  Harvest, yield, and scalable tolerant systems , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[11]  Sanjay Raina,et al.  Virtual Shared Memory: A Survey of Techniques and Systems , 1992 .

[12]  V. Michael Bove,et al.  Programming a paintable computer , 2002 .

[13]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[14]  B. R. Badrinath,et al.  Ad hoc positioning system (APS) , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

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

[16]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[17]  Chia Shen,et al.  RT-CRM: Real-Time Channel-based Reflective Memory , 1997, IEEE Real Time Technology and Applications Symposium.

[18]  D. Corkill Blackboard Systems , 1991 .

[19]  H. P Nii,et al.  Blackboard Systems , 1986 .