Hood: a neighborhood programming abstraction



Research Publications Misc
Overview Traditional distributed programming abstractions such as shared memory are difficult to apply to sensor networks because of the unreliable, low-bandwidth, geographically-constrained communication model. Instead, many distributed sensor network algorithms are based on the concept of a neighborhood in which each node selects a set of important neighbors and maintains state about them. However, programmers must still implement neighborhoods in terms of their component parts: messaging, data caching, and membership. We developed an abstraction called Hood that unifies these fundamental concepts as a distributed programming primitive for sensor networks. Using Hood, a neighborhood can be defined by a set of criteria for choosing neighbors and a set of variables to be shared, such as a one-hop neighborhood over which light readings are shared and a two-hop neighborhood over which both locations and temperature are shared. Once the neighborhoods are defined, Hood provides an interface to read the names and shared values of each neighbor. Beneath this interface, Hood is hiding the complexity of discovery and data sharing. We have shown that this abstraction captures the common usage of neighborhoods in many publicly available sensor network applications, and it has been used to implement some of TinyOS's largest applications.
Publications

Kamin Whitehouse, Cory Sharp, Eric Brewer, David Culler.  "Hood: a Neighborhood Abstraction for Sensor Networks."  In Proceedings of ACM International Conference on Mobile Systems, Applications, and Services (MobiSys '04).  Boston, MA, June, 2004.  ACM Press. (ppt)

Software The code for Hood is publicly available as part of the standard tinyos-1.x software distribution. It requires the use of nesC 1.2 or greater.
Documentation Documentation for Hood is available via a public wiki, and explains the few lines of code required by the use it.


Kamin Whitehouse
Computer Science Department
The University of Virginia
217 Olsson Hall
Charlottesville, Virginia 94720