AMCP Implementation

Asynchronous Multichannel Coordination Protocol (AMCP) is a distributed medium access protocol that addresses starvation in multi-hop wireless networks by exploiting the use of multiple channels.

AMCP Overview

AMCP uses a dedicated control channel on which nodes contend to reserve data channels by exchanging RTS/CTS packets according to 802.11 DCF. Upon successful control packet exchange, both the sender and the receiver switch to the reserved data channel, denoted by x, and transmit a data packet. After a data packet is successfully transmitted on channel x, the sender and receiver return to the control channel and set all channels as unavailable except x. They may contend for data channel x immediately or contend for other data channels after the timers of these channels expire. The RTS/CTS control packets serve a dual purpose: first, they aid two link endpoints to negotiate on commonly available data channels; second, they inform neighboring nodes to set the overheard data channels piggy-backed in RTS/CTS as unavailable for an entire data transmission interval. However, a node overhearing an RTS/CTS will not always defer for the entire data transmission; under certain conditions, it may initiate contention after the overheard RTS/CTS. The exact deferring rules (described in Section 3.2) implement an coordination scheme where nodes stay on the control channel long enough to learn about which channels to compete, while at the same time not always waiting for the entire data packet transmission, thus increasing throughput.

AMCP Download

AMCP is implemented in ns-2.28. It can be download here.

Papers

J. Shi, T. Salonidis, and E. Knightly, "Starvation Mitigation Through Multi-Channel Coordination in CSMA Multi-hop Wireless Networks," in Proceedings of ACM MobiHoc'06, Florence, Italy, May 2006.(pdf)

Please contact jingpu@rice.edu for questions and/or comments.