A Unifying Link Abstraction for Wireless Sensor Networks
Joseph Polastre, Jonathan Hui, Philip Levis, Jerry Zhao, David Culler, Scott Shenker, and Ion Stoica
Published in Proceedings of the Third ACM Conference on Embedded Networked Sensor Systems (SenSys), November 2005.
Abstract
Recent technological advances and the continuing quest for greater efficiency have led to an explosion of link and network protocols for wireless sensor networks. These protocols embody very different assumptions about network stack composition and, as such, have limited interoperability. It has been suggested that, in principle, wireless sensor networks would benefit from a unifying abstraction (or 'narrow waist' in architectural terms), and that this abstraction should be closer to the link level than the network level. This paper takes that vague principle and turns it into practice, by proposing a specific unifying sensornet protocol (SP) that provides shared neighbor management and a message pool. The two goals of a unifying abstraction are generality and efficiency: it should be capable of running over a broad range of link-layer technologies and supporting a wide variety of network protocols, and doing so should not lead to a significant loss of efficiency. To investigate the extent to which SP meets these goals, we implemented SP (in TinyOS) on top of two very different radio technologies: B-MAC on mica2 and IEEE 802.15.4 on Telos. We also built a variety of network protocols on SP, including examples of collection routing, dissemination, and aggregation. Measurements show that these protocols do not sacrifice performance through the use of our SP abstraction.
Paper (420KB)
BibTeX entry
@inproceedings{sensys05polastre, author = "Joseph Polastre and Jonathan Hui and Philip Levis and Jerry Zhao and David Culler and Scott Shenker and Ion Stoica", title = "{A Unifying Link Abstraction for Wireless Sensor Networks}", booktitle = "{Proceedings of the Third ACM Conference on Embedded Networked Sensor Systems (SenSys)}", year = {2005}, month = {November} }





Login