Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
An adaptive energy-efficient MAC protocol for wireless sensor networks
Proceedings of the 1st international conference on Embedded networked sensor systems
Energy-efficient collision-free medium access control for wireless sensor networks
Proceedings of the 1st international conference on Embedded networked sensor systems
Opportunistic routing in multi-hop wireless networks
ACM SIGCOMM Computer Communication Review
Sensor Networks for Emergency Response: Challenges and Opportunities
IEEE Pervasive Computing
A unifying link abstraction for wireless sensor networks
Proceedings of the 3rd international conference on Embedded networked sensor systems
PEDAMACS: Power Efficient and Delay Aware Medium Access Protocol for Sensor Networks
IEEE Transactions on Mobile Computing
Avrora: scalable sensor network simulation with precise timing
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
Ultra-low duty cycle MAC with scheduled channel polling
Proceedings of the 4th international conference on Embedded networked sensor systems
A modular network layer for sensornets
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
A component-based architecture for power-efficient media access control in wireless sensor networks
Proceedings of the 5th international conference on Embedded networked sensor systems
Crankshaft: an energy-efficient MAC-protocol for dense wireless sensor networks
EWSN'07 Proceedings of the 4th European conference on Wireless sensor networks
Proceedings of the 51st ACM Southeast Conference
Hi-index | 0.00 |
Most current WSN MAC protocol implementations have multiple tasks to perform--deciding on correct timing, sending of packets, sending of acknowledgements, etc. However, as much of this is common to all MAC protocols, there is duplication of functionality, which leads to larger MAC protocol code size and therefore increasing numbers of bugs. Additionally, extensions to the basic functionality must be separately implemented in each MAC protocol. In this paper, we look at a different way to design a MAC protocol, focusing on the providing of interfaces which can be used to implement the common functionality separately. This leaves the core of the MAC protocol, determining only when to send, which is substantially different for each protocol. We also look at some examples of MAC extensions that this approach enables. We demonstrate a working implementation of these principles as an implementation of B-MAC for TinyOS, and compare it with the standard TinyOS B-MAC implementation. We show a 35% smaller code size, with the same overall functionality but increased extensibility, and while maintaining similar performance. We also present results and experiences from using the same framework to implement T-MAC, LMAC, and Crankshaft. All are demonstrated with data from real-world experience using our 24 node testbed.