Coherence time-based cooperative MAC protocol 1 for wireless ad hoc networks

In this article, we address the goal of achieving performance gains under heavy-load and fast fading conditions. CoopMACI protocol proposed in Proceedings of the IEEE International Conference on Communications (ICC), Seoul, Korea, picks either direct path or relay path based on rate comparison to enhance average throughput and delay performances. However, CoopMACI performance deteriorates under fading conditions because of lower direct path or relay path reliability compared to UtdMAC (Agarwal et al. LNCS, 4479, 415-426, 2007). UtdMAC was shown to perform better than CoopMACI in terms of average throughput and delay performances because of improved transmission reliability provided by the backup relay path. Although better than CoopMACI, UtdMAC does not fully benefit from higher throughput relay path (compared to the direct path), since it uses relay path only as a secondary backup path. In this article, we develop a cooperative MAC protocol (termed as instantaneous relay-based cooperative MAC – IrcMAC) that uses channel coherence time and estimates signal-to-noise ratio (SNR) of source-to-relay, relay-to-destination, and source-to-destination links, to reliably choose between relay path or direct path for enhanced throughput and delay performances. Unique handshaking is used to estimate SNR and single bit feedbacks resolve contentions among relay nodes, which further provides source node with rate (based on SNR) information on source-to-destination, source-to-relay, and relay-to-destination links. Simulation results clearly show that IrcMAC significantly outperforms the existing CoopMACI and the UtdMAC protocols in wireless ad hoc network. Results show average throughput improvements of 41% and 64% and average delay improvementd of 98.5% and 99.7% compared with UtdMAC and CoopMACI, respectively.


Introduction
Ever-increasing demand for higher throughput and lower delay in wireless ad hoc networks led to an extensive research into newer techniques, algorithms, and technologies. One such significant contribution is the notion of "Cooperative Communication" in ad hoc networks. Cooperative communication harnesses the broadcast nature of the wireless channel and uses spatial diversity of independent paths to mitigate channel impairments (mean signal loss and fading), enhances throughput capacity of the network, and reduces retransmission latency [1,2]. In cooperative communication paradigm, nodes cooperate with the source and destination nodes at physical layer and/or MAC layer to improve throughput, delay, and coverage. Nodes cooperating at the physical layer receive packets and combine them together using different techniques (e.g., linear or random coding) for transmission to the destination nodes. Destination node can use multiple copies of the transmitted packet to decode with high reliability. Cooperation at physical layer has led to a specialized field of network coding [3].
In general, for single hop ad hoc networks cooperative MAC protocols can be classified into two major categories: (1) protocols that invoke relay node when transmission time via relay path is better than the direct path, and (2) protocols that invoke the relay node for backup transmission when direct transmission fails due to fading or interference. Cooperative communication is different from multihop communication in the sense that although source-destination pair can communicate directly at some rate, but the relay node is still invoked to achieve enhanced data rate. Nodes cooperating at MAC level simply relay the received packets for improved throughput and coverage reliability. Specifically, MAC level cooperation improves performance when source-destination nodes are separated by a distance that prevents the source node from directly transmitting to the destination node at high data rates. Using any intermediate node that is appropriately located (and is willing to cooperate) can allow transmission at higher data rates compared to the direct transmission.
CoopMACI protocol falls under category one and is the most suitable for networks with mobile nodes [4,5]. It is based on slight modification of IEEE 802.11 distributed coordination function (DCF) that benefits from cooperation between nodes in infrastructure-based wireless LAN (WLAN). CoopMACI uses a table-driven approach. Source node updates table entries by measuring path losses between the source and the relay nodes. Path losses allow estimation of possible rates using a rate look-up table. Further, the achievable rate between the relay node and the access point (AP) is obtained by listening to physical layer header transmissions between the relay and the AP. Once the source node has a packet to transmit, it compares the transmission times (using the relay table) between direct and indirect (via relay) transmissions and then picks the path (direct path or indirect path) that maximizes the rate. However, it is noted that CoopMACI only uses either direct path or indirect path for packet transmission based on updated table. Korakis et al. [6] extended CoopMACI for ad hoc network environment. It is very similar to CoopMACI approach, but adds some minor features in data and control planes. Reference [7] is a category two cooperative MAC protocol that opportunistically invokes the relay when direct transmission fails (termed as Utd-MAC). UtdMAC does not invoke any particular relay which can support higher data rate to the destination, but assumes that the relay will cooperate if present. Zhu and Cao [8] propose that rDCF protocol that requires periodic broadcast of willing list by each node to its one-hop neighbors. Further, the protocol piggybacks the data rate information to its request-to-send (RTS) and clear-to-send (CTS) packets which add more overhead and requires modifications to the legacy IEEE 802.11 MAC protocol. Zhu and Cao [9] propose infrastructurebased rpcf protocol, where a node reports to the AP with the sensed channel information. The AP then informs the node about the feasible rate for the relay through the polling packet.
It was shown in [7] that under Rayleigh fading conditions, UtdMAC protocol outperforms CoopMACI in terms of throughput. It is worth mentioning here that UtdMAC assumes that nodes have already agreed to cooperate and so does not consider relay management overhead when comparing results with the CoopMACI protocol. Results show that UtdMAC performs better because it uses diversity of the relay paths for backup transmissions. On the other hand, CoopMACI picks either the direct path or the relay path (indirect path) for reduced transmission time and does not invoke diversity for backup transmission. Although, the relay path can provide higher data rate, it is more susceptible to transmission failure due to independent fading on source-to-relay and relay-to-destination links. Hence, the relay path in CoopMACI can provide higher throughput, but with lower probability of packet success. In contrast, UtdMAC has higher probability of packet success due to backup relay path, but provides lower data rate depending upon source-destination separation. In essence, both CoopMACI and UtdMAC protocols lack in providing higher throughput with higher probability of success under fast fading conditions.
In this article, we develop IrcMAC protocol that measures signal-to-noise ratio (SNR) on source-to-destination, source-to-relay, and relay-to-destination links to evaluate packet transmission opportunities through direct and the candidate relay paths. A relay path becomes a candidate only when the channel coherence time is greater than the total transmission time through the relay path. Once, IrcMAC selects the best candidate relay path, the packet is then transmitted through the path (direct or indirect) that incurs minimum transmission time. In case, no candidate relay path is available, the IrcMAC protocol transmits directly to the destination node at the rate estimated during the handshake procedure. Protocol details are provided in later sections.

System Model Preliminaries
We design our cooperative MAC protocol for a single channel ad hoc network. Channel is assumed to be symmetric, so that communication in either direction experiences the same channel fading. The system consists of source-destination pair separated by distance (d) with uniformly distributed nodes that can serve as potential relays. Let us assume that all nodes are at least within the mutual communication range when packets are transmitted at 1 Mbps. All the nodes transmit at fixed power. The system model for a general cooperative network is shown in Figure 1. Labels S, D, and r n represent, respectively, source, destination, and n th relay node, and SD, Sr 3 , r 3 D represent the source-to-destination, source-to-relay3, and relay3-to-destination links, respectively.
In this article, we consider IEEE 802.11 b physical layer which can support multiple data rates of 1, 2, 5.5, and 11 Mbps [10]. It uses direct sequence spread spectrum at a frequency of 2.4 GHz in Industrial, Scientific, and Medical bands. Different modulations techniques are used to achieve varying rates. Control packets and headers (RTS, CTS, PHY, and MAC headers) are transmitted at a fixed rate of 1 Mbps. The achievable instantaneous data rated between two nodes depends on the instantaneous value of the received SNR which is a function of many factors such as distance, frequency, propagation environment, mobility, channel fading, and total noise at the receiver [11]. The received SNR values at the source and the relay nodes are estimated using the RTS/CTS messages which are used to estimate corresponding rates (using pre-stored values). Data packets are transmitted at these rates based on the received SNR values. The received SNR values remain constant during the channel coherence time (T c is the time duration in which the channel fade coefficient remains constant). Further, it is assumed that the channel coherence time is known at each node based on estimation of channel Doppler spread (f D ) statistics (see chapter 3 in [11]). The inverse relation between T c and f D is given by

The proposed protocol
In this section, we provide a brief overview of IEEE 802.11 protocol, explain the IrcMAC protocol, discuss the network allocation vector (NAV) adaptation and the framing used in the IrcMAC protocol, and finally expound on the relay management feature of the protocol. The proposed protocol is mainly based on IEEE 802.11 DCF protocol. Appropriate modulation techniques are chosen to maximize the rate as a function of SNR.
A. Overview of IEEE 802.11 protocol Most of the proposed cooperative MAC protocols discussed in Section "Introduction" follow the basic IEEE 802.11 protocol procedures. In this section, we provide a brief overview of the IEEE 802.11 DCF protocol.
Readers are referred to [10,12,13], for details. Source node wishing to transmit probes the channel by sensing it for DIFS (distributed interframe space) duration. If the channel is sensed idle, then the source node backs off randomly for a time period that is uniformly distributed between 0 and CW (contention window) and then transmits the RTS packet to the destination, where, CW duration is contained within the interval [CW min , CW max ]. The intended receiver (if not busy) after short interframe space (SIFS) duration responds by sending a CTS control packet to acknowledge the channel reservation. This handshake procedure takes care of two important issues: (1) Sender and receiver establish communication, initialize parameters, and estimate SNR; (2) the neighboring nodes that are in communication range of either the sender or the receiver avoid any transmission initiation during the ongoing session. Neighboring nodes update their NAV table for no transmission (termed as mute time) by extracting information from the RTS or the CTS packet. Once the reservation is completed, the source node transmits the data packet after SIFS duration and then waits for acknowledgment (ACK) response from the destination. This completes one basic transmission cycle with the total duration of RTS+SIFS+CTS+SIFS+DATA+SIFS+ACK. If the channel is sensed busy during the DIFS period, then the source node defers transmission. In case of packet transmission failure due to fading or collisions, source node after sensing for DIFS duration backs off for a random duration that is uniformly distributed over the contention window interval [0, CW i ], where for the ith retransmission attempt CW i = 2 i CW min and CW i [CW min , CW max ]. This process is known as binary exponential back-off.
B. The IrcMAC protocol 1) Idle nodes always passively monitor transmissions in the neighborhood as in [4]. Nodes update the NAV tables for the duration of transmission. The data rate (R) is estimated using SNR estimated at the receiver (source node uses CTS packet, and the relay nodes use RTS and CTS packets for SNR estimation). 2) When the source node has a packet to transmit to the destination, it senses the channel for idleness. If the channel remains idle for the DIFS duration, then the source then backs off for a random duration as discussed in the Section "Overview of IEEE 802.11 protocol." Once the backoff counter reaches zero, the source then sends the RTS packet (at 1 Mbps) to the destination for channel reservation.
3) If the RTS packet is decoded correctly at the destination node, then it responds with the CTS packet after SIFS duration. The source node uses CTS packet's reception to estimate the SNR on source-todestination link, i.e., SNR sd . The CTS packet is transmitted before relays respond so that source and relays can confirm the presence of the destination node under fast fading condition. Each available relay node uses the RTS and the CTS packets reception to estimate the SNR on the source-to-relay and the relay-to-destination links, i.e., SNR sr and SNR rd , respectively. In IrcMAC protocol, relay path is picked only if the following two conditions are satisfied: (1) the sum of total transmission time (i.e., the time taken by the data packet from the source node to reach the destination node through the relay node) through the relay node plus the time until the acknowledgement reception is less than or equal to the channel coherence time; and (2) the total transmission time through the relay node is less than the direct path transmission time. In contrast to Coop-MACI, IrcMAC protocol uses rates (based on estimated SNR) for direct or indirect transmission and, more importantly, first condition also ensures reliable transmission through the relay path. Only the relay nodes that have their total transmission times less than the channel coherence time respond in the relay response frame (RRF) with a single bit feedback (at 1 Mbps) to inform the source node of their presence and the rate capability. In general, under heavy load and fast fading conditions, relay nodes' dynamics necessitate relay information updates in real time. Furthermore, owing to the presence of multiple relay nodes, collisions are also highly probable. As such, to manage relay contentions and retrieve rate information, we introduce the RR frame. The RR frame is an 8-slot frame with 7 bits per slot. Optimal number of bits per slot can be investigated, but is not the focus of this research. However, based on our simulations (for uniform placement of 500 nodes with varying source-destination distances from 20 to 120 m) we found 7 bits to be sufficient for conflict resolution and information retrieval. It is noted that one conflict-free bit in a slot is sufficient to tap the relay. Each slot represents a different rate category as shown in Figure 2. For instance, the first two slots are for contention among relays with each relay having a combined rate of 1.46 Mbps ( 2 × 5.5 2 + 5.5 , see [4,5] for details).
The only difference between the first two slots is that the first slot is for relays with source-to-relay rate of 2 Mbps and relay-to-destination rate of 5 Mbps, whereas, it is reversed in the second slot. The last slot is for contention among relays such that each relay satisfies the combined rate requirement of 5.5 Mbps. In the last slot, since source-to-relay and relay-to-destination rates are the same, no separate slot is needed. The duration of RR frame is fixed to about 60 μs. Each relay node remains precisely synchronized after receiving the CTS bits and knows the start bit time and the last bit time of the RR frame. A relay node that satisfies the total transmission time less than the channel coherence time chooses the appropriate rate slot and then sends a single bit feedback in a randomly picked bit interval location. Relays remain idle if they do not meet the total transmission time requirement. We assume that the source node receives a single bit set to 1 when no collision takes place during a specific bit interval. Each relay node stores its bit interval location at which the response was sent to the source node (e.g., a relay can send one bit feedback at the 54th bit interval location in the rate category slot (11,11) and store this location).
In the unlikely event, where more than one relay transmit bits in the same rate slot and same bit interval location, then the source cannot separate the relays. Although rare (due to fewer relay nodes in the same rate slot and relay transmission at random bit interval location), this will result in more than one relay node relaying data packet to the destination node. However, since the conflicting relays transmit same data at the same rate (i.e., relays approximately experience same fade) to the destination node, it does not result in any collision at the destination node. Moreover, for the worst case, distance differences of about 50 m (see range limit in [4,5]) between the relay nodes transmitting at the same time and the same rate, the relative packet delay remains within 0.15 μs at the destination node. This is much smaller than the packet duration (which leads to insignificant fade and can be easily handled by the existing equalizer technology at physical layer [11]) and, hence, leads to error-free reception at the destination node. 4) Once the relay responses are received during the RR frame, the source node searches for the best relay starting from the (11,11) rate category. The best relay in the RR frame is the one that offers instantaneous combined rate (R C ≡ R Sr R rD R Sr +R rD ) greater than the source-destination rate, i.e., R C >R SD . 5) If the best relay path is found, then the source sends data at the estimated rate of R Sr to the relay for eventual transmission at the rate of R rD to the destination node. After successful data transmission completion by the relay, ACK is transmitted directly to the source (at 1 Mbps). It is noted that the total time, from the time when the packet is transmitted by the source-to-relay node until the reception of ACK packet at the source node, is less than the coherence time for reliable transmission through the relay path. For the 802.11 b rates (1, 2, 5.5, and 11 Mbps), when the relay path is selected, it finishes its transmission well within the coherence time of the channel. An ACK transmission takes about 0.1 ms, which is also transmitted within the coherence time. After the successful CTS transmission (at 1 Mbps) by the destination directly to the source, the channel remains in the same state because the relay completes its transmission well within the coherence time, and thus the transmission of ACK at 1 Mbps directly to the source is also guaranteed success. If no ACK is heard from the destination node (due to increased interference on source-destination link), then the source repeats the transmission cycle by retrying the failed data packet using exponential backoff process. The best-relay message sequence is shown in Figure 3. 6) If no best relay is found with estimated combined rate better than the source-destination rate, i.e., R sr i R r i D R sr i + R r i D R SD for ∀i, then the source transmits the packet directly to the destination node at the estimated rate of R SD (estimated during RTS/CTS handshake) as shown in Figure 4. Note that minimum R SD is 1 Mbps. In case of no ACK, the source repeats the transmission cycle by retrying the failed data packet using exponential backoff process.

7)
In case, no relay feedback is received during the RR frame (due to collisions or due to absence of relays) then the source transmits directly to the destination in the same manner as in (6). 8) In case, the relay path is chosen but the relay fails to receive the packet from the source (due to increased interference), the source then waits for the timeout (set to twice the SIFS duration) and then repeats the transmission cycle.

C. NAV adaptation in IrcMAC protocol
The IEEE 802.11 DCF protocol uses virtual and physical carrier sensing to schedule transmission. It is assumed that all the nodes are at least within the mutual communication range. Source node pre-calculates the transmission duration based on the packet length and fixed data rate. The duration fields in the RTS and CTS packets help the neighbors set their NAV durations (used for physical and virtual sensing). In case of cooperative communications, the data rate is not fixed and depends on the relays' locations and channel conditions. Thus,

RR bit
Data (4) Relay Data (5) S D Figure 3 Message sequence for the best relay scenario.

RTS CTS
(1) (3)  Figure 4 Message sequence for no best relay or no RR scenario. the RTS and CTS duration fields cannot be precisely set until relay information becomes available at the source or the destination node. In IrcMAC protocol, minimal signaling overhead is used to announce the transmission rates compared to CoopMACI (see [4]). The neighboring nodes in IrcMAC extract duration information from the RTS, CTS packets, and from MAC layer headers which are transmitted at 1 Mbps. Two points are worth mentioning when ad hoc network operates under heavy load and fast fading conditions: (1) A particular relay may not be reachable due to fading condition or out of coverage range, and (2) multiple relays transmitting at the same time may result in contentions and unavailable rate information. The RR frame with single-bit feedbacks provides relay rate information (R Sr and R rD ) and also resolves collisions between the relays. From RR frame, the source may pick the available best relay for cooperation. Thus, only after RR frame, the source and the neighbors can precisely know the data packet transmission's duration. As such, this duration information is communicated through the duration field in the MAC header field.
In IrcMAC protocol, the source sets the duration field in the RTS to 2SIFS+CTS+RRF (ignore propagation delay for simplicity). The destination sets the CTS duration field to 2SIFS + RRF + Data R SD , where Data R SD is the duration of data transmission when source transmits payload data directly to the destination node at the rate of R SD . In IrcMAC protocol, we assume that the neighboring nodes are aware that the duration in the CTS packet is an estimate, and so they monitor and extract information from the MAC header. Although neighboring nodes can also extract information from the signal and length fields in the physical header, for IrcMAC, we use duration field in the MAC header. We, henceforth, explain the NAV update mechanism for IrcMAC protocol for the best relay scenario.
When source sends data to the relay node, then neighbors will update their NAVs to payload time R Sr + Data R rD + 2SIFS + ACK by extracting duration information from the MAC header. The relay after receiving transmission from the source node will wait for SIFS duration for eventual transmission to the destination node. The neighbors detect the transmission of data packet again from the relay to the destination node and will extract information from the MAC header to update their NAVs to payload time R rD + 2SIFS + ACK. In case of successful packet transmission, the neighbors will detect the ACK packet. However, if no ACK is transmitted (due to interference), then the NAV will expire, and then the neighbors can continue carrier sensing for the DIFS duration for subsequent transmissions. Figure 5 illustrates NAV update scheme in the case of the best relay scenario.

D. IrcMAC framing and logical addressing
The IrcMAC protocol uses IEEE 802.11 b physical and MAC layer frames for unicast transmission as shown in Figure 6. As discussed above, the PHY and MAC headers are transmitted at 1 Mbps, but the payload can be transmitted at varying rates of 1, 2, 5.5, and 11 Mbps. Since MAC header is transmitted at a lower rate of 1 Mbps, and so it can be used by the neighbors to update the NAV timer. In IrcMAC protocol, multiple relays contend and respond during RR frame. If each relay broadcasts its address (to the source node and the destination node), then it will lead to extensive control overhead transmission. To avoid this unnecessary overhead transmission, we use logical addressing in IrcMAC protocol. We use frame control and Address 4 fields in the MAC header to invoke one best relay for help. If help from the available best relay is needed, then the Subtype field in the frame control is set accordingly for data type (see [10]). For example, subtype field could be set to 1000 for one best relay and 1111 for no-relay help. Further, we use first octet of Address 4 to invoke specific relay as shown in Figure 6. It identifies the best relay that is invoked for eventual transmission to the destination node. The best relay that is picked from the RR frame has unique bit interval location in the RR frame. For example, suppose that the best relay that is picked transmitted one bit at the 52 nd bit interval location. The source node changes the subtype field to 1000 and then inserts this unique bit location in the first octet of the Address 4 field. The contending relays always check the subtype field and then the first octet of the Address 4 field. Relays then compare the Address 4 field with their stored bit interval locations. If the match is found, then that relay transmits according to the IrcMAC protocol. When the best relay transmits the data packet to the destination node, it sets the subtype field to 1111, so that no other relays are invoked.

Node density and relay management
Intuitively, as the node density increases, the probability of finding relays also increase. This also necessitates managing relay contentions. UtdMAC assumes that a node (willing to behave as a relay) will listen passively and jump in when direct transmission (source-to-destination) fails. However, it does not address relay rate requirement and multiple relay transmissions and collisions. Managing relays require overhead which is not considered in UtdMAC. CoopMACI partially addresses the relay contention issue by requesting a particular relay based on the stored relay rates in the table. This requires addition of three new fields in the RTS packet in CoopMACI. However, the requested relay may not be able to provide the required rate because of mobility or it may not be reachable due to severe fading and, therefore, CoopMACI may have no option but to transmit directly. Furthermore, in CoopMACI handshaking, HTS (Helper-to-Send, see [4]) message is transmitted by the requested relay to the source before CTS message is sent by the destination node. Therefore, it is possible that the destination node may not receive HTS packet due to fading and begin transmission of CTS packet while the HTS packet is being received by the source node. This will lead to unnecessary collisions and waste precious bandwidth resource.
In contrast, IrcMAC protocol fully exploits available relays and further resolves contention between relays under fading conditions as follows: (1) all the nodes passively monitor and estimate channel coherence time; (2) RTS and CTS messages are exchanged before relays can respond. By this way, only relays that can decode both RTS and CTS packets respond in the RR frame; (3) each relay with total transmission time less than the channel coherence time can only respond in RR frame; (4) each relay responds with a single bit at random bit interval location in an appropriate slot; and (5) source invokes relay with logical addressing by using Address 4 field in IEEE 802.11 MAC header. In short, IrcMAC resolves possible relay contentions and further guarantees instantaneous rates' information retrieval under fast fading conditions.

Performance evaluation
In this section, saturation throughput and delay performances of IrcMAC, CoopMACI, and UtdMAC protocols are compared and discussed under fast fading conditions. In the context of this article, saturation throughput is defined as the successfully transmitted payload bits per second given that a source node always has a packet to transmit in its buffer and delay is defined as the average time taken for successful transmission of a packet. To quantify performance, an eventbased simulator is developed, which precisely follows 802.11 MAC state transitions. For fair comparison, it is assumed that UtdMAC avoids possible contention between relay nodes by invoking one best relay node through RTS packet. On the other hand, CoopMACI and IrcMAC protocols are capable of handling such contentions. Figure 5 Illustration of NAV update mechanism for best relay scenario (note that, for simplicity, RR frame above represents fixed duration for feedback from all Relays).

A. Simulation setup
For fairness, all protocols are compared using the same simulation setup. The channel is assumed to have flat Rayleigh fading for the duration of coherence time. When the channel coherence time is greater than the total packet transmission time along the path (direct or indirect), then the estimated SNR is precisely known along that path (direct or indirect). Further, each payload transmission and each link also experience i.i.d. fading. The received instantaneous SNR (SNR jk ) from node j to node k depends on transmitted power (P T ), processing gain (P g ), distance separation (d), propagation exponent (2 ≤ b ≤ 6), Rayleigh fading parameter (γ), slow lognormal fading (L), antenna gain product (G p ), antenna height effect (h e ), carrier wavelength (λ), and noise power (N ) as given by [14] snr jk = P T P g G p h e γ 2 10 where N = kTBN f , k = 1.38 × 10 -23 J/K is Boltzman's constant, T = 300 K is the temperature, B = 20 MHz is the bandwidth, and N f = 10 is the receiver noise factor. At the bit error rate of 10 -5 or better, the rates of 11, 5.5, 2, and 1 Mbps correspond to SNR ranges of snr > 10, 6.25 <snr ≤ 10, 5 <snr ≤ 6.25, and 0.62 ≤ snr ≤ 5, respectively (adopted from [4,5]). Table 1 shows other simulation parameters adopted from IEEE 802.11 b standard.
Simulation is carried out under saturation condition such that a source node always has a packet to transmit in its buffer. Enough relay nodes are placed randomly to guarantee the relay presence. We evaluate performances of the protocols (IrcMAC, UtdMAC, and CoopMACI) under two cases. In the first case, saturation throughput and delay performances are analyzed as a function of distance for a single source-destination pair. In the second case, saturation throughput performance is compared for increasing number of source nodes in the ad hoc network. All the nodes are randomly placed in a radius of 200 m. Concurrent transmissions always lead to collisions. Propagation delay is assumed negligible. The data collected is averaged over several runs. Each run uses a different seed value for random placement of nodes (relays and sources) and is executed for an    In such a case, IrcMAC protocol will then pick the relay path for reliable and fast transmission. As clearly seen from Figure 7, IrcMAC throughput is significantly better than both UtdMAC and Coop-MACI in this distance range. Overall saturation throughput is high in this range for all the protocols. For distance range of 70 m <d < 100 m, it is observed that the source-destination overlapping reduces but still encompasses relays to allow for beneficial relay transmission. Interestingly, in this range, relays offer better throughput improvement opportunities because of the combined rates being better than the direct transmission rates of 1-2 Mbps. These higher combined rates compensate for the overhead time in CoopMACI. Thus, CoopMACI performs better than UtdMAC (by 0.13 Mbps) at a distance of about 80 m because of improved throughput through the relay path. In this range, Utd-MAC initiates direct transmission at the low rate of 1 Mbps. The backup relay also receives information from the source at this lower rate. In case of direct transmission failure, backup transmission entails larger transmission time compared to CoopMACI. In this range,  IrcMAC again performs considerably better than both the protocols because of reliable instantaneous rate transmission.

B. Simulation results and discussion
For the distance range of d ≥ 100 m, it is observed that owing to increased distance and fast fading, direct transmission throughput is reduced below 1 Mbps. Furthermore, owing to minimal overlapping and increased distances between relays, source, and destination nodes, the average achievable rates on source-torelay and relay-to-destination links are also reduced significantly. Thus, as expected, the overall throughput is reduced for all the protocols (see Figure 7). UtdMAC transmission's failure rate increases as the source-to-destination distance increases from 100 to 120 m. Backup relay transmission is also at lower rate (due to increased distance between relay and destination node). Thus, UtdMAC saturation throughput reduces from 0.81 Mbps to 5 kbps for distances from 100 to 120 m, respectively. CoopMACI throughput remains lower than UtdMAC, because for success through the relay path, both source-to-relay and relay-to-destination links have to be in non-fading states at the transmitted rates. In contrast, IrcMAC outperforms UtdMAC and Coop-MACI protocols because it makes use of instantaneous rates that can reliably provide higher throughput. The saturation throughput for IrcMAC reduces from 1.55 Mbps to 0.97 Mbps for distances from 100 m to 120 m, respectively. Figure 8 shows the delay comparison as a function of distance. Clearly, the delay of our protocol is lower than UtdMAC and CoopMACI. At the distance of 100 m, the delay difference (T utd,coop -T Ircmac ) is 4.71 and 6.44 ms with respect to UtdMAC and CoopMACI, respectively. At the distance of 120 m, this time difference significantly increases to 1.63 and 8.18 s with respect to UtdMAC and CoopMACI, respectively. This is because of the reliable transmission at higher instantaneous rate that decreases the average transmission time and allows more packets to be transmitted within the given time duration. It is noted that the mean delay over the distance range of 20 m ≤ d ≤ 120 m is 0.28 s, 1.37 s, and 4.07 ms for UtdMAC, CoopMACI, and IrcMAC, respectively. Figure 9 compares the saturation throughput as a function of increasing number of transmitting nodes. The saturation throughput initially increases as the number of transmitting nodes increase. Then, it remains almost flat up to 15 nodes and then, a slight decline in throughput is observed. The reason for the decrease in throughput is because the collisions along with fast fading become dominant effects and begin to offset the throughput improvement because of cooperation. However, it is worth mentioning that compared to noncooperative protocols, cooperative protocols will always scale well with the number of nodes because of reduced transmission time and increased number of transmissions in a given time period. The mean throughput differences of 1.08 and 0.78 Mbps are observed with respect to CoopMACI and UtdMAC, respectively.

C. Impact of coherence time on performance
In this subsection, we discuss the impact of the increased mobility on the performance of IrcMAC protocol as a function of source-destination distance separation. We compare with the worst case speed of 27 m/s (corresponding to coherence time of~2 ms), since we do not foresee larger speed to be of any practical relevance. As mentioned above, only relays with total transmission times less than the channel coherence time transmit single bit feedbacks during the RR frame. Hence, a relay path is chosen only when it can offer reliable transmission path and incurs lesser transmission time compared to the direct transmission time. In case of increased mobility, quite intuitively, the average Figure 8 Average delay for successful packet transmission. Figure 9 Network saturation throughput. channel coherence time is reduced and, consequently, we expect lesser number of relays to respond during the RR frame. In particular, at increased source-destination distance separations, we expect the likelihood of relays responding during the RR frame to decrease. Further, at increased speeds, the estimated SNR (and the corresponding estimated rate) during the RTS/CTS exchange may differ from the actual SNR (and the achievable rate) during payload transmission. Intuitively, we expect reduced throughput at the speed of 27 m/s because of reduced coherence time and the consequent difference between estimated SNR and the actual SNR during payload transmission. In Figure 10, we observe that Irc-MAC at 13 and 27 m/s has lower throughput differences at distance ranges of d < 60 m and d > 100 m. This is because, for distance range of d < 60 m, direct path on average offers higher transmission rate compared with the combined rate through the relay path, and the SNR estimate is fairly accurate at both speeds. On the other hand, for distance range of d > 100 m, we observe a decrease in the number of relays (because of decreased source-destination overlap), and further, the likelihood of transmission time through the relay being lesser than the coherence time is also reduced. Hence, direct transmissions are again frequent, but with increased inaccuracy of SNR estimates (and corresponding rates) at both speeds. In the range of 60 m ≤ d ≤ 100 m, IrcMAC at 13 m/s performs better than at 27 m/s because of the increased likelihood of relay paths with transmission times better than the channel coherence time. Thus, in the range of 60 m ≤ d ≤ 100 m, reliable relay path transmissions occur more often at 13 m/s. It is noted that the throughput gain for IrcMAC at 13 m/s is 41% and 64% with respect to UtdMAC and CoopMACI, whereas at 27 m/s the gain reduces to 20% and 39%, respectively.

Conclusion
In this article, we have proposed a novel cooperative protocol termed as IrcMAC for ad hoc networks. In contrast to UtdMAC and CoopMACI protocols, Irc-MAC protocol monitors instantaneous SNR during handshake procedure and picks a relay path only when it incurs total transmission time (based on SNR) less than the channel coherence time and the direct path transmission time. Thus, the relay is tapped only when it can offer reliable transmission path; otherwise, direct transmission takes place. Furthermore, given that all the nodes are at least within the mutual communication range, the proposed protocol introduces RR frame that resolves contentions among candidate relay nodes and allows contending relays located in close proximity at the time to communicate instantaneous rate information to the source node through single-bit feedbacks. Simulation results show average throughput improvement of 41% and 64% and average delay improvement of 98.5% and 99.7% compared to UtdMAC and CoopMACI protocols, respectively. In future, we plan to evaluate all the scenarios beyond nodes in mutual communication range.