Abstract

Cooperative communication fully leverages the broadcast nature of wireless channels and exploits time/spatial diversity in a distributed manner, thereby achieving significant improvements in system capacity and transmission reliability. Cooperative diversity has been well studied from the physical layer perspective. Thereafter, cooperative MAC design has also drawn much attention recently. However, very little work has addressed cooperation at the routing layer. In this paper, we propose a simple yet efficient scheme for cooperative routing by using cooperative metrics including packet delivery ratio, throughput, and energy consumption efficiency. To make a routing decision based on our scheme, a node needs to first determine whether cooperation on each link is necessary or not, and if necessary, select the optimal cooperative scheme as well as the optimal relay. To do so, we calculate and compare cooperative routing metric values for each potential relay for each different cooperative MAC scheme (C-ARQ and CoopMAC in this study), and further choose the best value and compare it with the noncooperative link metric. Using the final optimal metric value instead of the traditional metric value at the routing layer, new optimal paths are set up in multihop ad hoc networks, by taking into account the cooperative benefits from the MAC layer. The network performance of the cooperative routing solution is demonstrated using a simple network topology.

1. Introduction

Multihop wireless networks in forms of ad hoc networks, mesh networks and sensor networks have become active research topics in recent years in both academia and industry. Different types of nodes are deployed pervasively in various environments such as office buildings, wildlife reserves, battle fields, and metropolitan area networks. However, lots of challenging tasks still remain for building multihop ad hoc networks, despite significant progress achieved so far.

Traditional techniques conceived for wired networking provide inefficient performance when applied in wireless ad hoc networks. Efforts are being made to improve the existing techniques and protocols with new features suitable for the wireless paradigms. For example, different from wired transmission, broadcast is an inherent feature in wireless communications, that is, information transmitted from a source node can be overheard by not only the destination node, but also neighboring nodes surrounding the source. In traditional wireless networks, signals received by the neighboring nodes are treated as interference and many techniques have been developed to alleviate its effect. However, such signals actually contain useful information for the destination node. In fact, if the information can be properly forwarded by the surrounding node(s), the reception performance at the destination can be improved. This fact motivates the application of a new technology, known as cooperative communication [1].

The theory behind cooperation communication has been studied in depth [2]. Different approaches can be used at the physical layer to exploit cooperative diversity such as store-and-forward (S&F), amplify-and-forward (A&F), decode-and-forward (D&F), coded cooperation (CC), and many others [35]. Significant improvements of system performance have been demonstrated in terms of parameters such as outage probability, coverage extension, and energy efficiency. Recently, cooperative medium access control (MAC) design in distributed wireless networks has also attracted much attention [68]. Based on carrier sense multiple access with collision avoidance (CSMA/CA), there are mainly two categories of cooperative MAC protocols proposed in the literature: virtual hop cooperative MAC and automatic repeat request, with CoopMAC [9] and C-ARQ [10] as typical examples in each family.

Although significant efforts have been made on the physical layer and MAC layer issues of cooperative communications, there has been very little work so far on the cross-layer design of cooperative systems, especially on how to combine cooperation with routing. While some of the studies focused on the theoretical analysis on routing and cooperative diversity [11], other work, [12], addressed the joint optimization of routing and power allocation. [13] calculated the theoretical optimal route of a cooperative network based on the assumption of simultaneous channel access of multiple nodes. However, this assumption is not realistic for devices currently used in wireless networks.

Apart from designing a brand new cross-layer cooperative routing protocol, an alternative way to extend cooperative communications to routing layer is to design routing metrics that reflect potential cooperation gain and find optimal paths using the new cooperative metrics. Reference [14] proposed a routing metric solution for a given cooperative network model. In their model, each node or each link is assumed to have a selected relay. However, as pointed out in [15], relay selection with low overhead is a challenging task in cooperative transmissions. Reference [16] introduced a routing metric, termed cooperative expected transmission time (CETT), which may be adopted in multihop networks with a suitable cooperative MAC mechanism. CETT is defined as the estimated frame transmission time over one single hop, considering the presence of potential relay nodes within its reach.

As a contribution to this direction, this paper proposes a cross-layer cooperative scheme by using various cooperative metrics instead of traditional routing metrics to exploit cooperative diversity at the routing layer. To perform the scheme, a new cooperative metric is calculated for each potential relay and every individual cooperative transmission scheme for each link beforehand. Then, by comparing the obtained best cooperative link metric with the traditional noncooperative link metric, a node decides whether cooperative retransmission on each link needs to be initiated or not. By choosing the best among all these calculated metrics, the optimal relay node as well as the optimal MAC scheme are selected for each link. Finally, the optimal path from source to destination is established through routing algorithms using the new optimal link metrics. In this way, the potential cooperative benefit from the MAC layer is exploited at the routing layer.

The studied metrics include packet delivery ratio (PDR), throughput, and energy efficiency, considering different requirements in various network scenarios. The proposed routing algorithm is implemented and evaluated using a simple topology to demonstrate the performance improvement by the proposed cooperative routing scheme.

The rest of the paper is organized as follows. The cross-layer cooperative network is introduced in Section 2. The derivation of different routing metrics is given in Section 3, while the routing algorithm is outlined in Section 4. In Section 5, the performance is evaluated through simulations. Finally, the paper is concluded in Section 6.

2. Cross-Layer Cooperative Networking

The cross-layer cooperative networking system considered in our study involves the physical layer, the MAC layer as well as the routing layer. In this section, the network model is introduced first, and then the average packet error rate of the data transmission is derived. In the second subsection, we summarize the principles of the two existing cooperative MAC mechanisms which constitute the layer 2 basis for our routing algorithms. In the third subsection, how cooperative benefits are exploited at the routing layer using the MAC layer information is explained.

2.1. Signal-to-Noise Ratio and Packet Error Rate (Physical Layer)

We start our description from an introduction of power consumption of a communication system in different modes. A transmitting node consumes 𝑃𝑇 amount of power during transmission, but only 𝑃𝑇(1𝛼) is actually generated for radio-frequency (RF) transmission power, where (1𝛼) accounts for the efficiency of the RF power amplifier. Any receiving node consumes 𝑃𝑅 amount of power to receive data. The power consumed in the idle state is neglected. The concrete values of the parameters, 𝛼, 𝑃𝑇, and 𝑃𝑅 are specified by the manufacturer and are assumed to be the same for all nodes in the network.

Thus, the signal received at a transmitter, which is 𝑑 distance away from the transmitter, can be expressed as follows: 𝑦(𝑡)=𝑃𝑇(1𝛼)𝑑𝜏(𝑡)𝑥(𝑡)+𝑛(𝑡),(1) where 𝑥(𝑡) is the transmitted signal; 𝑛(𝑡) is the system noise; (𝑡) is the corresponding channel attenuation factor; 𝜏 is the path loss exponent.

The average signal-to-noise ratio (SNR) of the received signal, 𝛾, is expressed as follows, where 𝑁0 is the spectral power density of the Gaussian white noise at the receiver and 𝑊 is bandwidth of the transmission in Hertz: 𝑃𝛾=𝑇||||(1𝛼)(𝑡)2𝑑𝜏𝑖𝑁0𝑊.(2)

Rayleigh fading is assumed in our channel model, but our analysis can be extended to other fading channels such as Rician or Nakagami. In order to simplify higher layer implementation, we obtain the average packet error rate (PER) performance through analysis. The instantaneous SNR at the receiver through a Rayleigh fading channel has an exponential distribution as: 𝑓(𝛾)=1/𝛾𝑒𝛾/𝛾.(3)

We rely on the following expression to approximate PER over additive white gaussian noise (AWGN) [17]: 𝑃𝐸𝑅𝑛(𝛾)1,if𝛾𝛾th𝑛,𝛽𝑛𝑒𝜅𝑛𝛾,if𝛾>𝛾th𝑛,(4) where 𝑛 is the modulation and coding scheme (MCS) index, and 𝛾 is the SNR value at the receiver. Parameters 𝛽𝑛, 𝜅𝑛, and 𝛾th𝑛 are dependent on the specific MCS scheme and data packet length. The appropriate values of these parameters are obtained by fitting (4) into the exact PER values through simulations. The tuning process is explained in details in the appendix, where the accuracy of this PER approximation is also verified [17].

Given an average SNR value, the PER performance averaged over Rayleigh fading is given as: 𝑃𝐸𝑅𝛾=0=𝛽𝑃𝐸𝑅(𝛾)𝑓(𝛾)𝑑𝛾𝑛1+𝜅𝑛𝛾𝑒𝛾th𝑛(𝜅𝑛+1/𝛾)+1𝑒𝛾th𝑛/𝛾.(5)

In the case of adaptive coding and modulation (ACM), the MCS scheme at the physical layer is determined according to the given channel condition. For instance, the channel condition between the transmitter and the receiver can be represented by the SNR value of the received signal. By checking a threshold value, an appropriate data rate is selected [18]. In this case, the average PER can be expressed as: 𝑃𝐸𝑅𝛾=𝑛𝛾up𝑛𝛾dw𝑛𝑃𝐸𝑅𝑛=(𝛾)𝑓(𝛾)d𝛾𝛾up1𝛾dw1𝑃𝐸𝑅1(𝛾)𝑓(𝛾)d𝛾+𝛾up2𝛾dw2𝑃𝐸𝑅1(𝛾)𝑓(𝛾)d𝛾++𝛾up𝑛𝛾dw𝑛𝑃𝐸𝑅𝑛=(𝛾)𝑓(𝛾)d𝛾𝑛𝛽𝑛1+𝜅𝑛𝛾𝑒𝛾dw𝑛(𝜅𝑛+1/𝛾)𝑒𝛾up𝑛(𝜅𝑛+1/𝛾)+𝑒𝛾dw𝑛/𝛾𝑒𝛾up𝑛/𝛾,(6) where 𝛾up𝑛 and 𝛾dw𝑛 are the upper bound and the lower bound of the SNR values, respectively, when the MCS scheme with index 𝑛 is adopted. The values of 𝛾up𝑛 and 𝛾dw𝑛 are predetermined for a given certain bit error rate for each MCS scheme or to maximize system throughput.

Based on the above information, the PER between each transmission pair can be calculated. After that, the PDR values, that is, the percentage numbers of packet successfully delivered among all the packets at the MAC layer, can easily be obtained using 𝑃𝐷𝑅=1𝑃𝐸𝑅 (or 𝑃𝐸𝑅) on each link. These PDR values will be used later to calculate different metrics with different MAC schemes for cooperative routing.

Note that the packet delivery ratio on each link can also be obtained at the MAC layer by counting the percentage of packets that are acknowledged by ACK messages from the receiver. However, for simplification and feasibility reasons, the PDR values in this study are calculated according to the physical layer abstraction procedure described above.

2.2. Cooperative MAC Mechanisms (MAC Layer)

As mentioned earlier, there exist two typical categories of cooperative MAC in the literature, namely, virtual-hop cooperative MAC and cooperative retransmission MAC. In this study, we select one example from each category as the constituent MAC mechanism for our routing scheme.

2.2.1. Virtual-Hop Cooperative MAC: CoopMAC

In CoopMAC [9], high data rate nodes are employed to transmit data in a two-hop manner instead of one-hop direct transmission with low data rate in order to avoid the throughput bottleneck caused by low data rate nodes. With this virtual-hop CoopMAC mechanism, a relay is adopted to forward its data packet when:1𝑅sr+1𝑅rd<1𝑅sd,(7) where 𝑅sd, 𝑅sr, are 𝑅rd the selected data transmission rates (determined by MCS schemes) on the channels from the sender to the one hop destination, from the sender to the relay node, and from the relay node to the one-hop destination, respectively.

If the relay node is chosen in CoopMAC, the data packet is first sent to the relay at 𝑅sr, and then forwarded by the relay to the destination at 𝑅rd after a short interframe space (SIFS) interval, as shown in Figure 1. An ACK packet is returned back to the sender (S) directly at 𝑅sd if the destination (D) decodes the packet correctly. Otherwise, if the relay link is not better than the direct link, the data transmission will be executed according to the original distributed coordination function (DCF) protocol [19].

2.2.2. Cooperative Retransmission MAC: C-ARQ

As the first step in C-ARQ [10], node S sends out its data packet to D at 𝑅sr following the original DCF protocol. If the direct transmission succeeds, the message sequence will proceed exactly the same as specified in DCF. Otherwise, when the direct transmission fails, if 𝑅 has decoded its received data packet correctly, it will automatically forward the packet to D at 𝑅rd after ACK timeout, without waiting for a DCF interframe space (DIFS) interval. If the cooperative transmission through 𝑅 succeeds, an ACK will be sent to 𝑅 at 𝑅rd and then relayed to S by 𝑅 at 𝑅sr in a two-hop manner, in order to guarantee a reliable transmission. If even the cooperative retransmission fails, S has to wait for a longer ACK timeout, which is twice of the sum of SIFS and ACK transmission time, to initiate a new round of transmission.

The message sequences when the cooperative retransmission is executed successfully are illustrated in Figure 2.

2.3. Routing with Cooperative Metrics (Routing Layer)

To operate a multihop ad hoc network, cooperative MAC mechanism itself is not sufficient. A smart routing protocol is needed for path establishment from source to destination.

Different from traditional routing decision, the best route selected by our routing scheme needs to take cooperative gains which are obtained from the underlying MAC layer into consideration. Cooperative routing is enabled when potential cooperation gain exists in comparison with traditional routing.

A very simple topology in Figure 3 is used here to explain how the proposed cooperative routing scheme works. In this network, both S and D can hear 𝑅1 and 𝑅3 but cannot hear each other. 𝑅2 and 𝑅4 can hear S and 𝑅1, but cannot hear the other nodes. When traditional routing is used, the routing metric is calculated for each link between any node pair which can hear each other. The possible paths for traffic from S to D will have four alternatives: (1) S → 𝑅1 → D; (2) S → 𝑅3 → D; (3) S → 𝑅2𝑅1 → D; or (4) S → 𝑅4𝑅1 → D. Here, we assume that link S → 𝑅3 → D has better link quality and therefore is selected as the best route by traditional routing.

When cooperative communications are introduced into this network, 𝑅2 or 𝑅4 can function as a relay node between S and 𝑅1. In this way, the link quality between S and 𝑅1 is upgraded when cooperative transmission is applied. As a result, path S → 𝑅1 → D may surpass path S → 𝑅3 → D and becomes the best route between S and D, as explained below.

First, the cooperative link metric needs to be calculated for each cooperative MAC scheme for each relay candidate. With two different MAC (CoopMAC and C-ARQ) and two relay candidates (𝑅2 and 𝑅4), we have four cooperative routing metrics for this link between S and 𝑅1. Choosing the best metric among these four alternatives, both the optimal relay and the optimal MAC scheme (e.g., 𝑅4 with C-ARQ) are selected. Thereafter, the obtained best value is compared with the noncooperative link information metric. If the best cooperative link metric is superior to the noncooperative link metric, cooperative MAC is adopted for data transmission over the link from S to 𝑅1, and the link metric from S to 𝑅1 is updated to the best cooperative routing metric. With the new metric in routing algorithms, S → 𝑅1 → D, using 𝑅4 as a relay with C-ARQ for the link between S and 𝑅1, is selected to be the working path instead of S → 𝑅3 → D. Better network performance can be achieved using the new path with cooperative transmissions. On the other hand, if the best cooperative link metric is inferior to the original noncooperative link metric, the link metric remains the same, that is, S → 𝑅3 → D as the working path.

In summary, with cooperative routing, not only the best path for data transmission is selected, but also the best cooperative MAC scheme as well as the best relay candidate are chosen. Different paths with different cooperative schemes and relays will be selected according to network requirements through different metrics from the MAC layer to the routing layer. Note that within a one-hop transmission link (i.e., a pair of source and destination nodes together with their neighboring nodes), the source node decides the transmission scheme and which relay to cooperate with. Thereafter, the neighboring nodes can be notified with this decision through the MAC header of the packet sent from the source node.

3. Cross-Layer Routing Metric

As mentioned in the preceding section, various metrics will be used for routing decision making in multihop networks. In this section, we will explain how to calculate these link metrics with different underlying cooperative MAC mechanisms.

The study is carried out considering different network performance parameters, such as packet delivery ratio, throughput, and energy efficiency. Denote 𝑚 as the index of an optional routing path in a graph, 𝑗 as the index of a link along a whole path, and 𝑖 as the index of a relay over a link. In cooperative link 𝑗, the sender 𝑢, the receiver 𝑣 and the relay candidates 𝑁𝑖, 𝑖=1,2,𝜉𝑗 are considered, where 𝜉𝑗 is the number of available relays on link 𝑗. Use the topology in Figure 3 as an example. Along the optional path S → 𝑅1 → D (𝑚=2), in the first link S → 𝑅1 (𝑗=1), S is 𝑢; 𝑅1 is 𝑣; 𝜉𝑗 is 2; 𝑅3 and 𝑅4 are referred to as 𝑁1 and 𝑁2, respectively, according to the naming rules in this section.

The data rates used on the links from 𝑢 to 𝑣, from 𝑢 to 𝑁𝑖, and from 𝑁𝑖 to 𝑣 are denoted as 𝑅𝑢𝑣, 𝑅𝑢𝑖, and 𝑅𝑖𝑣, respectively. Accordingly, the packet successful transmission rates on each channel are denoted as PDR𝑢𝑣, PDR𝑢𝑖, and PDR𝑖𝑣, respectively. These packet successful transmission rate values are determined by the selected data rate over the link, given packet length and channel condition. In our simulations, the PDR values are obtained from physical layer analysis, as explained in Section 2.1.

3.1. Packet Delivery Ratio

Packet delivery ratio at the MAC layer is used as an indicator for link reliability in this study. The PDR of the one-hop direct transmission scheme is the packet successful transmission ratio on the noncooperative direct link as: 𝑃𝐷𝑅𝑑𝑐𝑓𝑗,𝑚=𝑃𝐷𝑅𝑢𝑣,(8) where 𝑃𝐷𝑅𝑢𝑣 is the success probability of data transmission on the direct channel from sender to receiver.

In CoopMAC, if the relay link is chosen for data transmission, the PDR performance, 𝑃𝐷𝑅𝐶𝑜𝑜𝑝, is the probability that the transmissions both from 𝑢 to relay 𝑖 and from relay 𝑖 to 𝑣 are successful. Otherwise, 𝑃𝐷𝑅𝐶𝑜𝑜𝑝 is the same as 𝑃𝐷𝑅𝑑𝑐𝑓 in the direct transmission scheme: 𝑃𝐷𝑅𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚=𝑃𝐷𝑅𝑢𝑖𝑃𝐷𝑅𝑖𝑣1,if𝑅𝑢𝑖+1𝑅𝑖𝑣<1𝑅𝑢𝑣,𝑃𝐷𝑅𝑑𝑐𝑓,otherwise.(9)

For C-ARQ, 𝑣 receives the signal from 𝑢 in the direct transmission phase with date rate 𝑅𝑢𝑣 and packet delivery ratio 𝑃𝐷𝑅𝑢𝑣. Meanwhile, packet delivery ratio 𝑃𝐷𝑅𝑐𝑢𝑖 is determined by 𝑅𝑢𝑣 and channel condition from the sender to the relay node. The PDR of the C-ARQ scheme is therefore the sum of the success probability of the direct transmission and the success probability of the cooperative retransmission, expressed as follows: 𝑃𝐷𝑅𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚=𝑃𝐷𝑅𝑢𝑣+1𝑃𝐷𝑅𝑢𝑣𝑃𝐷𝑅𝑐𝑢𝑖𝑃𝐷𝑅𝑖2.(10)

Comparing 𝑃𝐷𝑅𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚 and 𝑃𝐷𝑅𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚 for all different relays 𝑖=1,2,,𝜉𝑗, the best relay and the optimal cooperative mechanism can be selected. Then, the best cooperative link metric is compared with the direct transmission link metric, 𝑃𝐷𝑅𝑑𝑐𝑓𝑗,𝑚, to decide whether cooperation should be initiated or not. The best PDR value is chosen as the final link metric on link 𝑗 and will be used in the routing algorithm to find optimal paths.

The PDR performance for the whole path 𝑚, denoted as 𝑃𝑎𝑡𝑃𝐷𝑅𝑚, is given in the following: 𝑃𝑎𝑡𝑃𝐷𝑅𝑚=𝑗max𝑃𝐷𝑅𝑑𝑐𝑓𝑗,𝑚,max𝑖=1,2,,𝜉𝑗𝑃𝐷𝑅𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚,𝑃𝐷𝑅𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚.(11)

As shown in (11), the packet will be delivered successfully only if the packet is transmitted without errors on each link along the path, and the path with the maximal value of 𝑃𝑎𝑡𝑃𝐷𝑅 will be selected as the working path.

3.2. Effective Throughput

For traditional direct transmission, the throughput performance can be obtained by calculating the average number of successfully transmitted payload information bits within average unit time consumed during the transmission:𝜂𝑑𝑐𝑓𝑗,𝑚=𝑃𝐷𝑅𝑑𝑐𝑓𝑖,𝑗,𝑚𝐿𝛿+𝐿/𝑅𝑢𝑣+𝐿𝐴𝐶𝐾/𝑅𝑢𝑣,+𝑆𝐼𝐹𝑆+𝐷𝐼𝐹𝑆(12) where 𝐿 and 𝐿𝐴𝐶𝐾 are the lengths of the DATA and ACK packets in bits, respectively; 𝛿 is the average backoff time before each data transmission.

For CoopMAC, the throughput when relay 𝑖 is used as a virtual hop can be expressed correspondingly in two cases: 𝜂𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚=𝑅𝑃𝐷𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚𝐿𝐷𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚1,if𝑅𝑢𝑖+1𝑅𝑖𝑣<1𝑅𝑢𝑣,𝜂𝑑𝑐𝑓𝑖,𝑗,𝑚,otherwise,(13) where 𝐷𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚 is the time used for the transmission of the data packet through the relay in the virtual-hop relay scheme: 𝐷𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚=𝐿𝛿+𝑅𝑢𝑖+𝐿𝑅𝑖𝑣+𝐿𝐴𝐶𝐾𝑅𝑢𝑣+2𝑆𝐼𝐹𝑆+𝐷𝐼𝐹𝑆.(14)

Based on the same principle, the throughput of C-ARQ is derived as: 𝜂𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚=𝑃𝐷𝑅𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚𝐿𝐷𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚,(15) where 𝐷𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚 is the average time used for the whole transmission procedure in the cooperative retransmission scheme, and is shown in the following: 𝐷𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚=𝐿𝛿+𝑅𝑢𝑣+𝐿𝐴𝐶𝐾𝑅𝑢𝑣+𝐿+𝑆𝐼𝐹𝑆+𝐷𝐼𝐹𝑆𝑅𝑖𝑣+𝐿𝐴𝐶𝐾𝑅𝑖𝑣+𝐿𝐴𝐶𝐾𝑅𝑢𝑖×+2𝑆𝐼𝐹𝑆1𝑃𝐷𝑅𝑢𝑣𝑃𝐷𝑅𝑐𝑢𝑖.(16)

Comparing 𝜂𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚 and 𝜂𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚 with all different relays 𝑖=1,2,,𝜉𝑗, we choose the highest value and then compare it with the noncooperative link metric 𝜂𝑑𝑐𝑓𝑗,𝑚. The higher throughput value will be used as the final link metric on link 𝑗 and used for routing decision.

For the simplicity and feasibility of routing algorithms, we define the end-to-end effective throughput to be the geometric mean of the throughput on each link along the path. The effective throughput performance for the whole path 𝑚, denoted as 𝑃𝑎𝑡𝑇𝑔𝑡𝑚 is given below: 𝑃𝑎𝑡𝑇𝑔𝑡𝑚=1𝑗𝜂max𝑑𝑐𝑓𝑗,𝑚,max𝑖=1,2,,𝜉𝑗𝜂𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚,𝜂𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚.(17)

Based on the above information, the path with the maximal value of PathTgt will be selected to be the working path.

3.3. Energy Efficiency

As mentioned earlier, the energy consumed by nodes in the idle mode is neglected in this study. Therefore, the total energy consumed in the network for transmitting and receiving data packets in the direct transmission link is calculated as follows: 𝐸𝑑𝑐𝑓𝑗,𝑚=𝑃𝑇+𝑃𝑅𝐿𝑅𝑢𝑣+𝑃𝐷𝑅𝑢𝑣𝐿𝐴𝐶𝐾𝑅𝑢𝑣.(18)

For CoopMAC, the total energy consumed during the data transmission with relay 𝑖 is: 𝐸𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚=𝐸𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚1,if𝑅𝑢𝑖+1𝑅𝑖𝑣<1𝑅𝑢𝑣,𝐸𝑑𝑐𝑓𝑖,𝑗,𝑚,otherwise,(19) where 𝐸𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚 is the energy consumption when the relay node is adopted to forward data, as expressed below: 𝐸𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚=𝑃𝑇+𝑃𝑅𝐿𝑅𝑢𝑖+𝑃𝑇+𝑃𝑅𝑃𝐷𝑅𝑢𝑖𝐿𝑅𝑖𝑣+𝑃𝑇+𝑃𝑅𝑃𝐷𝑅𝑢𝑖𝑃𝐷𝑅iv𝐿𝐴𝐶𝐾𝑅𝑢𝑣.(20) The first two terms in the right side of the above expression correspond to the first and the second data transmission attempts, respectively, and the last term accounts for the ACK transmission when the one hop destination decodes the data packet successfully.

For C-ARQ, the total energy consumed during the cooperative data transmission with relay 𝑖 is calculated as: 𝐸𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚=𝑃𝑇+2𝑃𝑅𝐿𝑅𝑢𝑣+𝑃𝐷𝑅𝑢𝑣𝐿𝐴𝐶𝐾𝑅𝑢𝑣+𝑃𝑇+𝑃𝑅1𝑃𝐷𝑅𝑢𝑣𝑃𝐷𝑅𝑐𝑢𝑖𝐿𝑅𝑖𝑣+𝑃𝑇+𝑃𝑅1𝑃𝐷𝑅𝑢𝑣𝑃𝐷𝑅𝑐𝑢𝑖𝑃𝐷𝑅𝑖𝑣×𝐿𝐴𝐶𝐾𝑅𝑖𝑣+𝐿𝐴𝐶𝐾𝑅𝑢2,(21) where the first term in the right hand side corresponds to the direct DATA packet transmission; the second term corresponds to the ACK transmission when the direct transmission succeeds; the third term accounts for the cooperative DATA packet retransmission which happens when relay 𝑖 decodes the data packet from the sender correctly; and the last term accounts for the ACK transmission when the receiver decodes the data packet successfully after the cooperative retransmission.

Similar to the effective throughput metric, the energy efficiency for the whole path is shown as follows, and the path with the maximal value of 𝑃𝑎𝑡𝐸𝑓𝑦 will be selected as the best path for cooperative communication: 𝑃𝑎𝑡𝐸𝑓𝑦𝑚=1𝑗𝐸max𝑑𝑐𝑓𝑗,𝑚,max𝑖=1,2,,𝜉𝑗𝐸𝐶𝑜𝑜𝑝𝑖,𝑗,𝑚,𝐸𝐶𝑎𝑟𝑞𝑖,𝑗,𝑚.(22)

4. Routing Algorithm and Implementation

After introducing all the different routing metrics in Section 3, we will explain the cooperative routing procedure, that is, how the cooperative metrics are exploited and used for making routing decision.

In our network, the relays are selected from the neighboring nodes of a transmitter-receiver pair, and these relays generate their own traffic as well. Path establishment starts from a traditional routing procedure first, and the nodes send packets and obtain information from each other, for example, channel information (SNR in our case) for each link. Based on the gathered information, the cooperative metrics are updated. Thereafter, new routes will be set up with the updated cooperative metrics. The routing algorithm is summarized as Algorithm 1.

Algorithm: Find_Path(G, S, D)
Input:   G = (V, E)
      Edge-weighted graph
      (network topology)
      with an SNR value
      on each link:
      S: source node;
      D: destination node.
Output:  Best path array from S to D.
Step  1: For every edge (u,v) in E(G),
    compute cooperative metric of
    link (u,v), (Link PDR/
    Throughput/Energy Efficiency)
    based on the given SNR values,
    for each potential relay with
    different MAC schemes (e.g.,
    CoopMAC and C-ARQ).
Step  2: Compare all cooperative metrics,
    select the optimal value as
    cooperative weight, w(u,v).
Step  2: Compare w(u,v) with non-
    cooperative link metric w(u,v),
    select the better value as
    new weight, w′(u,v).
Step  4: Generate G′ = (V,E′) with
    new weight matrix, w.
Step  5: Use the modified Dijkstra’s
    algorithm to find the best
    path from S to D.

The proposed routing algorithm follows the same principle as the original Dijkstra’s shortest path algorithm, but updated with small modifications for analogous operations. The pseudocode of the implementation is listed as Algorithm 2.

function modified Dijkstra (G, S, D):
 for each vertex v in Graph:
//Initializations
  cost [v]:= infinity;
//Unknown cost function from S to v
  previous [v]:= undefined;
//Previous node in optimal path from S
 end for;
  cost [S]:= 0;
  Q:= the set of all nodes in Graph;
 while Q is not empty:
u:= vertex in Q with smallest cost [ ] ;
  if cost [u] = infinity:
    break;
//remaining vertices inaccessible from S
 fi;
  remove u from Q;
 for each neighbor v of u:
//where v has not yet been
       removed from Q.
temp:= 1 (1cost [u]) linkmetric(u,v);
  //link cost for PDR
temp:= cost [u] + 1/linkmetric(u,v);
  //link cost for Throughput
        or Energy Efficiency
     if alt < cost [v]:
         cost [v]:= temp;
         //Update new metric
         previous [v]:= u;
         //Update new path
     fi;
  end for;
end while;
return cost [ ] ;
path:= empty sequence
//find shortest path between S and D
d:= D
while previous [d] is defined:
  insert u at the beginning of path
  d:= previous [d]
end while
return path;
end modified Dijkstra.

In our algorithm, different metrics have different operations to calculate link cost. With regard to routing based on packet delivery ratio, the link cost is the probability of unsuccessful transmission through the link. The data packets are delivered successfully to the destination along the path only when the transmission on each link is successful. Therefore, in the modified Dijkstra’s algorithm, we use 1(1𝑐𝑜𝑠𝑡[𝑢])𝑙𝑖𝑛𝑘𝑚𝑒𝑡𝑟𝑖𝑐(𝑢,𝑣) operation instead of “sum” operation to calculate the cost accumulated along the path. In our simplified scenario, the average end-to-end throughput is the geometric mean of the throughput on each link, and the link cost is the reciprocal value of the link throughput. As shown in the following function, the accumulated cost along the path with regard to throughput is calculated using 𝑐𝑜𝑠𝑡[𝑢]+1/𝑙𝑖𝑛𝑘𝑚𝑒𝑡𝑟𝑖𝑐(𝑢,𝑣). The routing algorithm for energy efficiency shares the same principle with the algorithm for throughput, with the reciprocal value of the energy efficiency on each link as its link cost.

With respect to possible real-life implementation of our algorithm, it is highly feasible to integrate the above cooperative routing scheme with popular routing protocols such as the optimized link state routing protocol (OLSR) protocol. OLSR is a proactive link-state routing protocol designed for mobile ad hoc networks, which uses HELLO messages for neighbor discovering and then topology control (TC) messages for disseminating link state information throughout the whole network [20]. In order to extend OLSR to a metric-based routing protocol, link quality extensions have been introduced in [21], where HELLO messages and TC messages are augmented with the link quality information of all neighboring nodes. To integrate cooperative communication into routing decision, the metric for each link needs to be updated according to the cooperative MAC scheme, and the routing decision is made based on the updated new link metrics, as calculated in Section 3.

5. Simulations and Numerical Results

To evaluate the performance of the proposed cooperative routing scheme, we have implemented the DCF, CoopMAC, and C-ARQ mechanisms and the modified Dijkstra’s routing algorithm described in the previous section in MATLAB.

5.1. Simulation Setup

A simple network topology with 6 nodes is configured in our simulations, as shown in Figure 4. The path loss exponent 𝜏 is set to be 4.0 to represent indoor environments. The power consumption for transmission is set to be 1400 mW and the power consumption for reception is 900 mW [22]. The channels between each transmission pair are set as independent Rayleigh fading channels. Other simulation parameters are listed in Table 1.

The transmission rate of the data packet is determined according to the average SNR value of the received signal at the receiver. The required channel conditions are assumed to be obtained beforehand and the overhead for channel estimation is ignored in this study. The MCS set and their corresponding parameters are listed in Table 2.

𝐸𝑡/𝑁0 is used to describe channel conditions in our study, instead of 𝐸𝑏/𝑁0, where 𝐸𝑡 is the transmitted energy per bit at the transmitter. The reason is that when there are multiple transmitters (sender and relay) in the network with fixed transmitting power, the received signal strength from a transmitting node that is closer to the receiver is higher, resulting in higher received SNR and better performance. Therefore, 𝐸𝑡/𝑁0 is a more sensible metric to illustrate the performance with transmitters at different locations.

5.2. Simulation Results
5.2.1. Routing Path Illustration

Firstly, we set 𝐸𝑡/𝑁0 as 140 dB and observe the routing path obtained through the traditional routing protocol versus the path established through the cooperative routing protocol. In the network topology in Figure 3, with this 𝐸𝑡/𝑁0 value, most nodes can hear each other, except that Node D cannot hear Node S or Node 𝑅2 due to the long distances between them.

The optimal path from source (Node S) to destination (Node D) is shown in Figure 5, for traditional and cooperative routing, respectively, using PDR as the metric. The values on the lines are the packet delivery ratio in each link. We can observe that in traditional routing, the data packet is sent to the destination using 𝑅2, 𝑅4, and 𝑅1 in succession as intermediate hops to guarantee a high packet delivery ratio. However, in cooperative routing, Node 𝑅2 will use Node 𝑅1 as its second hop and Node 𝑅4 as its relay node with C-ARQ scheme. The reason is that under the given scenario and channel condition, the link between 𝑅2 and 𝑅1, with 𝑅4 forwarding the packet when the direct transmission fails, can provide higher packet delivery ratio than the combined link from 𝑅2 to 𝑅4 and from 𝑅4 to 𝑅1 when the packet is transmitted in a two-hop manner. The benefits of the cooperative routing will be shown in the second part of the subsection.

Figure 6 illustrates the optimal paths selected by the traditional routing and cooperative routing protocols, respectively when throughput is used as the metric. The values on the lines are the corresponding link effective throughput in 𝑀𝑏𝑝𝑠. It is shown that the best path for the traditional routing is the path from S through 𝑅2 and 𝑅1 to Node D. However, in cooperative routing, Node S will send packets to 𝑅1, with 𝑅4 as its relay node with C-ARQ. Similarly to routing for the highest PDR case, higher throughput can be achieved through the link between S and 𝑅1 with 𝑅4 as a relay for cooperative retransmission than the combined links from S to 𝑅2 and from 𝑅2 to 𝑅1.

The optimal paths with regard to energy efficiency are shown in Figure 7. The values on the lines are the corresponding link energy efficiency values in 𝑏𝑖𝑡/𝐽. Evident from the figure, both the traditional and cooperative routing protocols have chosen the long path through 𝑅2, 𝑅4, and 𝑅1 to Node D. It means that data transmission between the transmitter and receiver pair with the shortest distance is most energy efficient in the given scenario, no matter the traditional or cooperative routing is employed.

5.2.2. Performance Comparison

Secondly, we investigate the performance of cooperative routing in comparison with traditional routing under different channel conditions.

Figure 8 illustrates the PDR performance comparison between the cooperative routing and the traditional routing. From the figure, we can observe that the PDR performance can be improved significantly when cooperative routing is applied, especially when 𝐸𝑡/𝑁0 is above 135 dB. That is because a high order MCS scheme is adopted in the original scheme and the packet delivery ratio is decreased as a result. Cooperative routing protocol adopts the relay node in the network to forward the unsuccessful packet and therefore enhances the performance. However, the benefit is not significant when 𝐸𝑡/𝑁0 is around 135 dB, because when the channel quality is too poor, the probability for a relay node to decode the packet and retransmit successfully is also low. With ideal channel conditions, cooperative routing will not be beneficial anymore. This is in accordance with the intuition that the original direct transmission mechanism can provide error-free data delivery in this case and therefore no cooperations are needed.

Furthermore, the throughput performance comparison under different channel conditions is shown in Figure 9. We can observe that the throughput is enhanced noticeably by cooperative routing when 𝐸𝑡/𝑁0 is around 135 dB and 140 dB. The enhancement is evident in terms of both higher packet delivery ratio and less data transmission time. However, when 𝐸𝑡/𝑁0 further increases to 145 dB, cooperative routing has no performance advantage. That is again due to the fact that under excellent channel conditions, traditional routing is as efficient enough in finding the optimal path without cooperative transmissions.

Finally, the numerical results based on energy efficiency for end-to-end data transmission are shown in Figure 10. It is obvious that there is no evident difference between cooperative routing and traditional routing. In other words, the traditional communication has equivalent performance as cooperative communications when it comes to energy efficiency. Therefore, we can conclude that in given scenarios, the network does not get benefits from cooperative communication.

6. Conclusions and Future Work

The research effort on how to apply cooperative communication into routing decisions in multihop wireless networks is still in its infant stage. In this paper, we propose a metric-based routing scheme that integrates both cooperative MAC mechanism selection and relay selection into routing decision making. Various routing metrics are proposed considering link reliability, throughput, and energy consumption.

The network performance with cooperative routing is evaluated using a simple network topology. The obtained numerical results demonstrate that cooperative communication is effective for PDR performance enhancement but less effective for throughput enhancement. Furthermore, cooperative communication has basically no advantage over traditional transmission with regard to energy efficiency for the scenarios studied in this work.

The simulations in our work were done by implementing the routing algorithm and applying it to a simple network topology. Certainly, it could be more convincing with results provided from real-life network testbeds. Integrating a complete routing protocol with the proposed cooperative routing metrics is left for future work. In addition, our focus is only on static networks such as wireless mesh networks in this study therefore node mobility is not taken into consideration. Although the proposed routing algorithm may apply to mobile ad hoc networks in principle, how effective cooperative communications are as well as extra protocol overhead introduced due to mobility are left for further investigation.

Appendix

The PER estimation of the modulation with convolutional code schemes in 802.11 g is illustrated here. The parameters of 𝜅𝑛 and 𝛽𝑛 in (4) are tuned to achieve the least mean square deviation for each MCS scheme through Monte Carlo simulations. With a packet length of 500 bytes, the tuned parameters for different MCS mode are provided in Table 2. Evident from Figure 11, the resulted PER estimation approximates well to the simulated PER values for all the MCS modes. Therefore, this approximate PER expression can be used to facilitate performance analysis.