Cooperative MAC protocols in Wireless Networks

Today Cooperative communication in wireless networks is a hot topic in research community.A focus is to achieve spatial diversity by using cooperation. Wireless networks are broadcast networks, so any wireless transmission for a particular destination station can be overheard by other neighbouring stations. This broadcast nature can be used to achieve spatial diversity in wireless networks by having these neighbouring stations to retransmit the overheard information to the final destination station.

Based on the above philosophy we have designed a protocol, cooperative MAC protocol(CoopMAC) which is based upon the IEEE 802.11 distributed coordination function (DCF) mode and implements coperation at the MAc layer. In CoopMAC high data rate stations assist low data rate stations in their transmission by forwarding their traffic. During transmission, each low data rate station selects either direct transmission or transmission through a helper station in order to minimize the total transmission time.

The Cooperative MAC Protocol

The basic operation of CoopMAC is outlined and depicted below.

1. When a source station has a new MAC protocol data unit (MPDU) to send, it can either transmit directly to the destination, or use an intermediate helper for relaying, whichever consumes less total air time. The air time is compared using cached information on the feasible data rates between the three nodes.

2. Beyond its normal function, a request to send (RTS) message is also used by CoopMAC to notify the station that has been selected for cooperation. Moreover, CoopMAC introduces a new message called helper-ready to send (HTS), which is used by the helper to indicate its availability after it receives the RTS message from the source. If the destination hears the HTS message, it issues a clear to send (CTS) message to reserve the channel time for a two-hop transmission. Otherwise, it still sends out the CTS, but only reserves the channel time for a direct transmission.

3. If both HTS and CTS are received at the source, the data packet should be transmitted to the helper first, and then forwarded to the destination by the helper. If the source does not receive HTS, it should then initiate a direct transmission to the destination.

4. A normal ACK is used to acknowledge a correct reception, regardless of whether the packet is forwarded by the helper, or is directly transmitted from the source. If necessary,retransmission is attempted, again in a cooperative fashion.

It is crucial that each station obtains and constantly updates its information about the availability of potential helpers. The CoopMAC protocol deals with this issue mainly through maintaining a table called the CoopTable in its management plane. Each entry in the CoopTable corresponds to a potential helper, and contains such information as the ID (e.g, 48-bit MAC address) of the potential helper, and the the latest time at which a packet from that potential helper is overheard, the data rate used for direct transmission between the potential helper and destination, and between the current station and the potential helper. A set of protocols have been defined in CoopMAC to properly establish, manage and update the table in a timely manner.

Lets assume a scenario given in Fig.1.From the figure, the best link to send an MPDU from source station to destination station is two-hop transmission through STA1.

Fig.1

When source station has to send a MPDU to destination station it will look up the cooptable.As shown in Fig.2 it will find out the best route to be through STA1.So it will transmit RTS notifying STA1 that it has been selected for cooperation.

Fig.2


If STA1 is free it will transmit HTS notifying it is ready for cooperation ,as shown in Fig.3.

Fig.3

When destination station receives the HTS from STA1 it will transmit CTS reserving the channel for two-hop transmission.As shown in Fig.4.

Fig.4

After receving both HTS and CTS, Source station will transmit the data to STA1(Helper) as shown in Fig.5.

Fig.5

If STA1 is not free it will not transmit any HTS.If destination station does not receive HTS for a specified interval of time after receiving RTS, it will transmit CTS reserving channel for direct transmission.The source station will only receive CTS so it will transmit the data directly to destination, as shown in Fig.6 ans 7respectively.

Fig.6

Fig.7

Cooperative MAC Implementation

We follow two approaches in implementing CoopMAC protocol.

1. Open Source driver Implementation
In this approach we implement CoopMAC protocol in open source wireless card drivers on Linux platform.

Software Defined Radio Implementation
In this approach we implement CoopMAC protocol in C language on an FPGA based testbed(WARP)

Attachments