The Case for a Network Protocol Isolation Layer
Published in Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (SenSys), November 2009.
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.
Paper (649KB)
BibTeX entry
@inproceedings{sensys09choi, author = "Jung Il Choi and Maria Kazandjieva and Mayank Jain and Philip Levis", title = "{The Case for a Network Protocol Isolation Layer}", booktitle = "{Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (SenSys)}", year = {2009}, month = {November} }