Network protocols are typically designed and tested individually. In practice, however, applications use multiple protocols concurrently. This discrepancy can lead to failures from unanticipated interactions between protocols. In this paper, we argue that sensor network communication stacks should have an isolation layer, whose purpose is to make each protocol's perception of the wireless channel independent of what other protocols are running. We identify two key mechanisms the isolation layer must provide: shared collision avoidance and fair channel allocation. We present an example design of an isolation layer that builds on the existing algorithms of grant-to-send and fair queueing. However, the complexities of wireless make these mechanisms insufficient by themselves. We therefore propose two new mechanisms that address these limitations: channel decay and fair cancellation. Incorporating these new mechanisms reduces the increase in end-to-end delivery cost associated with concurrently operating two protocols by more than 60%. The isolation layer improves median protocol fairness from 0.52 to 0.96 in Jain's fairness index. Together, these results show that using an isolation layer makes protocols more efficient and robust. Copyright 2009 ACM.
|Original language||English (US)|
|Title of host publication||Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems - SenSys '09|
|Publisher||Association for Computing Machinery (ACM)|
|Number of pages||14|
|State||Published - 2009|