OPWUM: Opportunistic MAC Protocol Leveraging Wake-Up Receivers in WSNs

,


Introduction
Wireless sensor networks (WSN) constitute a key technology to fulfill the increasing need of interaction between virtual and physical worlds. In order to connect two nodes, traditional routing schemes predefine fixed paths before transmissions. Then, at each hop, a fixed neighbor is used to forward a packet. These schemes do not suit well the dynamic environment with lossy, unreliable, and varying link qualities as they incur excessive link-level retransmission and thus they waste network resources [1]. Opportunistic forwarding [2] has emerged as a promising approach to tackle the problem of varying link qualities. The basic idea of this technique is to choose the next forwarding node at every hop instead of taking one predefined path to the destination. Opportunistic forwarding takes advantage of the broadcast nature of the wireless medium, by allowing intermediate nodes to collaborate on packet forwarding in a localized manner. Thus, new cross-layer MAC protocols must be designed to allow this collaboration.
Research in opportunistic forwarding is a hot topic and many solutions were proposed [3][4][5][6][7][8][9][10][11][12]. In this work, we focus on timer-based solutions [9][10][11][12], which constitute a promising technique to allow opportunistic next relay selection while minimizing information exchange between nodes and their neighbors. Indeed, neighborhood knowledge is traditionally achieved by periodic packets exchange called Hello packets, which leads to out of date information and is usually very costly in terms of energy. Timer-based solutions encode information in time difference, avoiding Hello packets exchanges between a node and its neighbors. With timer-based contention mechanism, when a node wants to send a packet, it sends a Request To Send (RTS) frame. Then, a contention window begins, during which a subset of the sender neighbors, called potential receivers, answer by sending a Clear To Send (CTS) frame using a backoff, called contention backoff, computed from a state metric (e.g., the remaining energy). The better a potential receiver behaves according to the state metric, the smaller its contention backoff should be. The receiver which answers first is chosen 2 Journal of Sensors by the sender to receive its packet, and therefore the best next hop relay with respect to the chosen state metric is selected.
The main drawback of this technique is that it can be exceedingly energy costly as it requires the sender to keep its transceiver in the receive state for an arbitrary long period during the next hop relay election process, incurring high idle listening. Many applications such as environmental monitoring, home automation, and assisted living require longterm sustainability, especially when the nodes are deployed in harsh environments. A severe bottleneck for many longterm applications is the limited lifetime of WSNs due to the finite amount of embedded energy in each node. As wireless communications are usually the most power consuming tasks over all the other nodes activities such as sensing and computing [13], we propose in this work to use wake-up receivers (WuRx) to reduce energy consumption incurred by communications in the context of timer-based contention. WuRx form a promising technology that has witnessed a tremendous upsurge in recent years [14,15]. The idea is to equip each node with a low power receiver that is always listening to the channel and is able to send hardware interrupts to wake up the node from the sleep state when a specific signal, called wake-up beacon (WUB), is detected.
In this paper, we present OPWUM, a novel MAC protocol for WSNs in which each node embeds a WuRx. OPWUM uses timer-based contention to allow nodes to opportunistically select a receiver among their potential receivers at each packet sending. Potential receivers are chosen using a routing algorithm not addressed in this work [16]. By doing all the next hop relay election phase using WUBs only, OPWUM enables timer-based contention to become an energetically interesting solution. Our contributions to the research on MAC protocols are the following: (i) designing OPWUM, a novel MAC protocol for WSNs using timer-based contention to permit opportunistic forwarding that leverages the use of WuRx; (ii) comparing analytically OPWUM to 1-hopMAC [12], a state-of-the-art protocol using timer-based contention; (iii) implementing and comparing OPWUM and 1-hopMAC using exhaustive network simulations.
The remainder of this paper is organized as follows: Section 2 presents related works. The design of OPWUM is detailed in Section 3. In Section 4, OPWUM and 1-hopMAC are evaluated analytically. In Section 5, OPWUM is compared to 1-hopMAC using exhaustive simulations. An application case is shown in Section 6 in order to demonstrate the effectiveness of OPWUM. Finally, Section 7 concludes this paper and discusses further works.

Opportunistic Routing.
Opportunistic forwarding solutions can be classified according to the selection metric of relay [17]: geographical information [3], delivery rate [4], and hop count [5] or not restricted to a specific kind of metric [6]. Some protocols code the packets when they are emitted [7].
However, most of this proposals do not consider the MAC layer, and assume the existence of a MAC protocol on which they rely. In this work, we focus on the MAC layer and assume the existence of a routing protocol that realizes a preselection of the forwarders among the neighboring nodes. The result of this preselection constitutes the set of potential receiver.
Zhang et al. proposed a reservation-based opportunistic forwarding MAC protocol (ROP-MAC) in [8]. With ROP-MAC, each node keeps two synchronization tables, one mapping destination nodes to their reserved time (the transmitting table) and one mapping source nodes to their reserved time (the receiving table). When a node needs to transmit a packet, it first checks if the destination ID of the packet is present in the destination table. If it is, the node transmits the packet at the reserved time. Otherwise, a synchronization process is launched to synchronize the node with its potential receivers. During this process, a reservation is made for the following transmissions from the source node. Multiple transmissions from the same source node can profit from one synchronization. Moreover, the reservation tables of each node are used to avoid collisions of simultaneous transmissions from different source nodes.
Timer-based contention has been mainly addressed at the network layer [9][10][11]. Watteyne et al. proposed to use it in the MAC layer with 1-hopMAC [12]. 1-hopMAC is a semiasynchronous transmitter initiated protocol. Hence, nodes periodically wake up to listen to the channel and check if any neighboring node wants to send packets. When a node wants to send a packet, it first sends a preamble long enough for neighboring nodes to receive it and thus should last at least as long as the wake-up period. The preamble is made of microframes, each containing the instant at which the contention window begins. The node that initiated the communication, that is, the sender, must keep its transceiver in RX state from the beginning of the contention window until the first CTS frame is received. At the end of the contention window, all potential receivers, which have sent a CTS frame during the contention window, put their transceiver in RX state to receive a small header from the sender containing the address of the selected next hop relay, that is, the node that first sent a CTS. Then, all the receivers but the selected one, turn their radio off, and the data exchange takes place between the selected node and the sender.
As OPWUM is also using timer-based contention, 1-hopMAC is the closest work to ours. However, 1-hopMAC suffers from high energy consumption caused by idle listening. With OPWUM, we propose to exploit emerging WuRx technologies in order to make timer-based contention energetically interesting.

MAC Protocols Exploiting Wake-Up Receivers.
Recently, WuRx has received a great deal of attention and many efforts were devoted to improve WuRx hardware [18][19][20][21][22]. As the WuRx will always be active while the other components are in sleep mode, its power consumption should be in the same range as the power consumption of the other devices in sleep mode, that is, less than 1 W. Using WuRx, when a node wants to transmit a packet, it first transmits a WUB. The receiver WuRx hardware detects this beacon and wakes up the node. Some WuRx propose data passing capabilities, allowing the nodes to embed few bytes of information in the WUBs, for example, to wake up only a subset of neighboring nodes. Using WuRx, synchronization schemes are considerably simplified and idle listening is minimized. Efficient use of these emerging technologies requires careful design of MAC protocols, and, to the best of our knowledge, only a little research was made on designing communication protocols leveraging WuRx [23][24][25][26][27][28].
WUR-MAC [23] was the first MAC protocol to take advantage of ultralow power WuRx. WUR-MAC is a multichannel protocol based on the well known RTS/CTS handshake mechanism. The WuRx and the main transceiver use separate channels. As it is assumed that the WuRx provides data passing capabilities, RTS/CTS handshake with channel assignment is done using the wake-up radio. A node captures each incoming RTS/CTS packet and therefore has the information about which channel is used by its neighbors. Thus, when a node wants to communicate with one of its neighbors, it chooses randomly a free channel and sends an RTS packet containing the chosen channel. To avoid hidden terminal problems, the destination node confirms the chosen channel or proposes another one in the CTS packet. Then, both the source and the destination switch to the chosen channel and use their main transceiver for the data exchange.
Other MAC protocols exploiting WuRx were proposed targeting Wireless Body Area Networks (WBAN) [24] and implantable WBAN [25]. In the context of energy harvesting WSNs, Le et al. [26] compared the performance of the TICER protocol with and without WuRx. They have shown that using a wake-up radio drastically reduces the energetic cost of communications. The energy thus saved is used to increase the node throughput. Blanckenstein et al. [27] proposed to use WuRx to create node clusters with similar sensor readings by using wake-up messages to disseminate similarity information about the sensor readings. The idea is to reduce energy consumption by clustering nodes with similar readings and allowing only the cluster heads to send data.
Spenza et al. proposed ALBA-WUR in [28], an extended version of the ALBA-R cross-layer protocol that exploits the features of the WuRx designed by the authors. With ALBA-WUR, each node assigns to itself a pool of WuRx addresses. A WuRx address is a combination of three values quantifying the ability of the node to move packets forward and the number of packets it can receive in a burst. When a node wants to transmit a packet, it wakes up only those neighbors that satisfy specific conditions, expressed by a WuRx address embedded in the WUB. Only the nodes that have this address in their WuRx addresses pool will be waking up by their WuRx. After the selective awakening phase, the node that initiated the communication sends an RTS that will be received only by awakened neighboring nodes. Then, the next hop relay is chosen according to ALBA-R operation.
ALBA-WUR is the only protocol exploiting WuRx and allowing opportunistic selection of the next hop relay. Nevertheless, it still suffers from overhead due to the second selection phase done according to ALBA-R operation, which does not take advantage of the WuRx. Moreover, ALBA-WUR does not suit well the situation where a node needs to choose the best next hop relay according to a given metric. With OPWUM, we propose a cross-layer protocol designed to fully exploit WuRx.

Design of OPWUM
3.1. Timer-Based Contention. Timer-based contention enables the node to select a next hop relay according to a given metric without having any knowledge about its neighbors. When a node wants to transmit a packet, it first broadcasts an RTS beacon. Then, each node V that receives the RTS beacon and is a potential receiver of will set a backoff of When the backoff expires, a CTS is sent by V. selects the next hop relay the node which answered the first, thus having the best status according to the state metric. Thus, the next hop forwarder is selected opportunistically, without requiring the sender to have any knowledge about its neighbors. The choice of the metric is not discussed in this work, as it is application dependent. The next section details the design of OPWUM.

OPWUM Design.
OPWUM enables a node to opportunistically select the next hop forwarder among a set of potential receivers. It is assumed that each node is equipped with both a WuRx and a main transceiver that offers Channel Sensing (CS) capabilities. Figure 1 shows an example of packet forwarding using OPWUM. In this case, the sender has four potential receivers. After receiving an RTS WUB from the sender, each receiver sets a backoff computed from a state metric. The better the node behaves according to the state metric, the smaller the backoff should be. In this example, receiver 1 computes the shortest backoff and is thus the first one to answer by sending a CTS WUB. Therefore, it is chosen by the sender to become the next hop relay. Receiver 2 also received the CTS sent by receiver 1, causing the interruption of its backoff. Yet, receivers 3 and 4 did not receive the CTS, for example, because receiver 1 is out of range of their wake-up radios. They must be informed that they have lost the contention. Receiver 3 backoff expires while receiver 1 is sending a CTS WUB. Before each CTS sending, a CS operation is performed in order to avoid CTS collisions. Receiver 3 CS detects the activity on the channel, and thus cancels the CTS sending. Because the main transceivers usually have a much higher sensitivity than the wake-up radios, it is possible that the CS operation detects the CTS sending activity even if the CTS was not detected by the wakeup radio. When the sender receives the CTS from the first receiver, it sends an About To Send (ATS) WUB in order to inform the remaining nodes still competing that a next hop relay was already chosen. In this example, receiver 4 receives the ATS and thus cancels its backoff. Finally, the data exchange takes place between the sender and the first receiver using the main transceiver.

Wake-Up Beacon Frames.
When using state-of-the-art WuRx with addressing capabilities, only a few bytes of data can be embedded in the WUBs [28]. Moreover, because of the low sensitivity and bitrates of current WuRx, sending long WUBs is energetically costly. Indeed, WUBs must be sent at high power in order to cope with the low sensitivity of WuRx, and at relatively low data rates (few kbps), incurring longer transmission time. Therefore, reducing the size of the WUBs is an important consideration when designing MAC protocols exploiting WuRx. The structure shared by the three WUBs of OPWUM (RTS, CTS, and ATS) is shown in Figure 2. The length of the WUBs is 18 + bits, where is the length of the hardware preamble required by the WuRx (2 to 8 bits usually). After the hardware preamble, the WUB type (RTS, CTS or ATS) is indicated by a 2-bit field. Finally, the WuRx addresses of the sender and receiver are indicated, each using a 8-bit field. Allowing only 8-bit addresses may seem limiting regarding scalability, but WuRx addresses do not have to be similar to network addresses used by higher network layers. Indeed, as they are only used for one hop communications, they can be reused by nodes which do not share neighbors, while network addresses must be unique across the network.  networks. Current semiasynchronous MAC protocols use rendez-vous schemes to synchronize the source and destination nodes, increasing the risk of collisions when two nodes want to transmit to a same destination at approximately the same time. OPWUM uses WuRx to achieve pure asynchronous communication, thus greatly reducing the risk of simultaneous communications as no rendez-vous scheme is needed. Moreover, a node captures all the RTS, CTS, and ATS WUBs sent by its neighbors allowing it to be informed when a transmission in which it is not involved is about to happen. In that case, the node enters a silent state for a predefined period during which it will not respond to RTS WUBs and postpones the sending of all packets to the end of the silent period. When the silent period expires, if there are packets to send, the node will wait for a random backoff before starting a transmission process to avoid collisions between multiple nodes leaving the silent state at the same time. Finally, to reduce the risk of collision between WUBs, a clear channel assignment is done before sending RTS or CTS WUBs. Nevertheless, collisions can still occur when multiple nodes wake up at the same time and perform a CS simultaneously. Wireless channel interference may also lead to the need of packet retransmission. When retransmission is needed, some backoff strategy such as binary exponential backoff can be used to efficiently resolve collisions.

Analytical Evaluation
In this section, we evaluate analytically OPWUM and 1-hopMAC [12], a state-of-the-art MAC protocol using timerbased contention, described in Section 2.2. The average power consumptions of OPWUM and 1-hopMAC are derived and used to compare their energy consumptions. When studying 1-hopMAC, the lowest achievable power consumption is considered for fair comparison.

OPWUM Power Consumption.
Let TX be the rate at which a node transmits packets and let RX be the rate at which it receives packets. In the context of multihop networks, packets transmitted by a node have been either generated locally or received from neighboring nodes in order to be forwarded to the sink; therefore, received packets are only a part of the transmitted packets. Thus, we have The energetic costs of transmitting and receiving a single packet incurred by OPWUM are, respectively, denoted by Journal of Sensors   5 where WUB , data , and ack are, respectively, the transmission durations of a WUB (RTS, CTS, or ATS), a DATA frame, and an ACK frame. NW TX , W TX , and RX are the power consumed by the main transceiver when sending non-WUB frames, sending WUBs, and listening, respectively. Hence, the average power consumption of OPWUM denoted by OPWUM is where WuRx is the power consumed by the WuRx, is the power consumed by the main transceiver in sleep state, and OPWUM TX and OPWUM RX are the durations during which the main transceiver is active when transmitting and receiving a single packet, respectively. They can be computed as follows: (4)

1-hopMAC Power Consumption.
As we have seen in Section 2.2, 1-hopMAC is a semiasynchronous transmitter initiated MAC protocol. Therefore, nodes must periodically wake up to listen to the channel. We denote the wake-up period by WI . Moreover, preamble used by source nodes to initiate a transmission must be long enough for the neighboring nodes to receive them and thus must last at least WI . The energetic costs of transmitting and receiving a single packet incurred by 1-hopMAC, respectively, denoted by where CTS and hdr are, respectively, the transmission duration of a CTS frame and of the small header used to inform the potential receivers about the selected next hop relay. is the average waiting time before the first CTS is received by the sender from a potential receiver. The average power consumption of 1-hopMAC denoted hop is where hop RX and hop TX are the time during which the main transceiver is active when transmitting and receiving a single packet, respectively, and are computed as follows: hop TX = WI + + CTS + hdr + data + ack , hop RX = CTS + hdr + data + ack , As we are looking for a lower bound of the average power consumption, we assume that = 0.

Evaluation of OPWUM and 1-hopMAC.
In order to compare the average power consumptions incurred by OPWUM and 1-hopMAC, Δ = hop − OPWUM is studied over values of TX and RX ranging from 0 to 2 Hz. Only the half-space defined by (1) is considered. Because hop also depends on the wake-up period WI and we are interested in a lower bound of hop , for each couple ( RX , TX ), the wake-up period that minimizes hop is computed and used for calculating Δ . The WuRx from [28] is considered, which presents data passing capabilities, a minimal power consumption of 196 nW ( WuRx ), and a maximum sensitivity of −55 dBm. The hardware preamble length of WUBs is 1 byte, leading to a total WUBs size of 26 bits. The main radio chip is a TI CC1000, and the transmission powers are set to 10 dBm for WUBs and −5 dBm for non-WUBs frames. WUBs are transmitted at a bitrate of 5 kbps while non-WUBs frames are transmitted at 19.2 kbps. The size of the data frames is set to 30 bytes and the size of ACK frames is set to 8 bytes using 802.15.4 physical layer. In these conditions, the power consumption of the radio chip and the transmission durations of the different frames are shown in Table 1. Figure 3 shows Δ as a function of TX and RX . As we can see, Δ is always positive which means that the power consumption of 1-hopMAC is always higher than the power consumption of OPWUM. Moreover, the higher is TX , the greater is the difference. In the next section, exhaustive simulations are used to confirm that using OPWUM allows a significant reduction of the energy consumption.

Performance Evaluation
In this section, OPWUM and 1-hopMAC [12] are compared using exhaustive network simulations. A converge-cast tree network shown in Figure 4, which is a common scenario in WSN literature, is used.

Node Modeling and Simulation Settings.
We implemented both OPWUM and 1-hopMAC in GreenCastalia [29], an open-source simulation framework for the Castalia/ OMNeT++ simulator [30] that focuses on energy modeling. We implemented a GreenCastalia module to model the WuRx from [28]. The main radio chip, transmission powers, bitrates, and frame lengths are the same as in Section 4.3. All results have been obtained by averaging the outcomes of a number of simulations large enough to obtain 95% confidence interval and 5% precision. Each run lasts 3600 s (simulated time). Figure 4 is considered. It is a static multihop network, with multiple sinks, which is widely used in monitoring applications. Given  that it is a multihop network, intermediate nodes are in charge of forwarding packets from their immediate predecessors, and their immediate children do so for them. Moreover, every node, except the sinks, generates packets periodically. The packet generation period is denoted by GEN and is similar for all the nodes. Because opportunistic routing is considered in this work, each node has multiple potential forwarders, shown by the arrows in Figure 4. By using timer-based contention, OPWUM and 1-hopMAC choose the next hop relay among these potential forwarders at each packet transmission attempt. For the latter, different wake-up periods ( WI ), ranging from 100 ms to 400 ms, are considered. Moreover, as we do not make any assumption about the state metric from which the contention backoff is computed, the only constraint on the contention backoff is to be in the interval [0, CW ]. Therefore, it is chosen uniformly within this interval. We evaluate the performance of OPWUM and 1-hopMAC with respect to the following metrics:

Evaluated Scenario. The network shown in
(i) the total energy consumed by the network; (ii) the Packet delivery ratio (PDR). Figure 5 depicts the energy consumed by OPWUM and 1-hopMAC as a function of the packet generation period GEN , when the contention window CW is set to 50 ms. We observe that the energy consumption of 1-hopMAC depends on the value of WI . Indeed, in typical WSN scenarios, with relatively low traffic, high values of WI tend to reduce the energy consumption of 1-hopMAC. OPWUM obtains significant improvement on energy consumption, spending up to 5 times less energy than 1-hopMAC. The only exception is for high traffic, that is, when the packet generation period is less than 5 s. But, as we will see later, the packet delivery ratio of 1-hopMAC collapses to almost 0% when the traffic is high. In Section 4, in order to obtain a lower bound of 1-hopMAC Journal of Sensors  power consumption, the wake-up period that minimizes the power consumption was computed for each value of ( RX , TX ). In practice, finding the optimal value of WI is not easy as TX and RX are not stationary, and the wake-up period is fixed once for all at the deployment of the network. Figure 6 shows the energy spent by the network as a function of the contention window duration, when the packet generation period is set to 30 s. We can see that the contention window duration does not affect the power consumption of OPWUM, because all the next hop relay selection phase is done using WUBs only. Regarding 1-hopMAC, the consumed energy slowly increases with the contention window duration. Indeed, during the next hop relay selection phase, the sender must keep its transceiver in RX mode until it receives a CTS from a potential next hop relay. As higher contention window duration increases the average waiting time, it leads to higher energy consumption.

Simulation Results
: Packet Delivery Ratio. The packet delivery ratios of OPWUM and 1-hopMAC are shown in Figure 7 as a function of the packet generation period, when the contention window CW is set to 50 ms. For relatively high traffic, that is, when the packet generation period is less than 10 s, OPWUM outperforms 1-hopMAC. Moreover, the PDR never falls bellow 40% with OPWUM, while it can reach almost 0% with 1-hopMAC. For small traffic rates, that is, when the packet generation period is higher than 10 s, OPWUM performs similarly to 1-hopMAC with WI set to 100 ms. But as shown in Figure 5, this configuration of 1-hopMAC is highly energy expensive. The other configurations of 1-hopMAC perform significantly worse, even when low traffic is considered. Figure 8 shows the PDR as a function of the contention window duration, when the packet generation period is set to 30 s. We can see that the PDR decreases when the contention window length increases for both protocols, but the decay rate is

Application Case: Energy Harvesting Wireless Sensor Networks
In order to illustrate the effectiveness of OPWUM, the context of energy harvesting WSNs is considered. The grid network presented in Figure 9 was implemented in GreenCastalia. In this study case, the nodes of the upper row generate packets at an average frequency of one packet every 10 s (the source nodes), while one node gathers the generated packets (the sink node). All the other nodes only serve as relays. Every node, except the sink, is equipped with an energy harvesting device, for example, a solar panel. The nodes located under the clouds (a) and (b) harvest less energy than the other nodes, and the cloud (a) is "thinner" than the cloud (b), meaning that energy harvesting rate of nodes located under the cloud (a) is higher than these of nodes under the cloud (b). The state metric (⋅) used to compute contention backoffs is the energy harvesting rate, and thus the contention backoff is inversely proportional to the energy harvesting rate; that is, high energy harvesting rate incurs small contention backoff. The simulation lasts for 10000 s (simulated time). The set of potential receivers of each node is set using routing tables, while OPWUM is used to opportunistically choose a forwarder among this set every time a packet needs to be sent. Potential receivers are neighboring nodes on the grid, located either on the same row or on the lower row. Figure 9 shows the used links. In this figure, thicker arrows show the most used links. As we can see, only a few routing paths contain nodes from the area (a), while no routing paths contain nodes from the area (b). OPWUM enables the nodes to choose the potential receivers which harvest the most energy. As a result, the routing paths bypass the cloudy areas in order to reach the sink, thus allowing nodes to survive periods of energy scarcity.

Conclusion
This paper presents OPWUM, a MAC protocol leveraging WuRx in WSNs. WuRx form a promising technology to significantly reduce energy consumption of WSNs. OPWUM allows the nodes that want to send a packet to opportunistically select a receiver among a subset of their neighboring nodes, without requiring any knowledge about them. OPWUM outperforms 1-hopMAC, by spending up to 5 times less energy. Moreover, when relatively high traffic is considered, OPWUM also outperforms 1-hopMAC regarding packet delivery ratio.
In our future works, we intend to implement OPWUM on real hardware platform in the context of energy harvesting WSNs. In these networks, energy is a scarce resource and harvested energy rate is a highly variable metric that dictates the performance of the nodes. Therefore, keeping nodes informed about the performance of their neighbors is energy costly and we do believe that OPWUM is an ideal candidate to tackle this problem.