1 Introduction
It is well known that energy efficiency is the most important factor in designing protocols for wireless sensor networks, since the network may need to operate without human intervention for as long as possible. Medium access control and routing protocols are designed to minimize energy consumption while achieving application requirements. In order to conserve energy, it is essential to put nodes into sleep mode as much as possible. For this reason, many medium access control protocols run duty-cycles in which nodes periodically switch between active and sleep modes.
Medium access protocols running duty-cycles can be divided into synchronized and asynchronous protocols. In synchronized protocols, some nodes (or all nodes) synchronize their active periods so that they wake up at the same time and communicate if necessary. However, maintaining active period synchronization can be expensive, because it requires periodic message exchange between nodes. Also, protocols requiring tight synchronization may not work well in practice due to the slight differences in clock speed of the nodes. Asynchronous protocols do not synchronize active periods, so nodes do not wake up at the same time. Thus, when a node wants to send a packet to its neighbor, it is probable that the intended receiver is not awake. To communicate, either sender or receiver should wait in the active mode for its counterpart to wake up. Since there is no requirement for time synchronization, asynchronous protocols are easier to implement and operate than synchronized protocols. B-MAC[
1], X-MAC[
2], and BoX-MAC[
3] are widely known asynchronous protocols, and BoX-MAC is selected as the basic medium access control (MAC) protocol for TinyOS 2.x[
4].
With BoX-MAC, the major source of energy consumption is the time sender waits for receiver to wake up. For a tree-style routing protocol such as CTP[
5], a sender has to wait in active mode for half of the wake-up interval, in average. On the other hand, opportunistic routing protocols such as Opportunistic Routing in Wireless sensor network (ORW)[
6] work particularly well with asynchronous MAC protocols. Instead of selecting a particular forwarder, each node maintains multiple candidate forwarders and forwards its packet to one of the candidates who wakes up first. Opportunistic routing reduces packet delay, but more importantly, it can save significant amount of energy by reducing the wait time of senders.
In wireless sensor network routing, in-network aggregation can also play a significant role in reducing energy consumption. If multiple packets can be combined at an intermediate node, the number of transmissions reduces, even though the packet size can be increased depending on how the data are combined. Since there is a fixed overhead of sender wait time for each packet transmission, reducing the number of transmissions is also important in extending network lifetime. For in-network aggregation, a node has to hold on to packets for some time before transmitting. Meanwhile, if other packets arrive at the node, data can be aggregated and sent as a single packet. If the packets are generated at random times, there is a trade-off between packet delay and energy consumption: if nodes hold on to the packet longer, more packets will likely to be aggregated, but packet delay will increase. This trade-off means that the energy consumption can be controlled based on application delay requirements.
This paper proposes a routing protocol that controls this trade-off and achieves better network lifetime compared to other tree-style or opportunistic protocols. The rest of the paper is organized as follows. Section 2 discusses related work. Section 3 describes preliminary backgrounds and presents the proposed protocol in detail. Section 4 shows the performance of protocols using simulations. Finally, Section 5 concludes with remarks on future work.
A lot of medium access control and routing protocols have been developed for wireless sensor networks (WSNs) in the last decade[
7,
8,
33‐
35]. Although WSNs share similarities with mobile
ad hoc networks and wireless mesh networks, protocols for WSNs are unique in that they are focused on achieving energy efficiency rather than high throughput. Most WSN applications do not require high throughput, although there are exceptions such as multimedia sensor networks[
9]. Some applications have quality of service requirements such as reliability[
10] and packet delay[
11].
Most medium access control protocols use duty-cycling for energy efficiency, and the protocols can be divided into two categories: synchronized and asynchronous. In synchronized protocols, all nodes or a subset of nodes synchronize their active times, so that they can wake up at the same time. In SMAC[
12], all nodes wake up at the same time and stay in active mode for some time before going back to sleep. Time synchronization is maintained using SYNC messages exchanged during active period. TMAC[
13] and DSMAC[
14] are improvements to the SMAC, where active periods are adaptively managed to conserve energy. The most difficult problem in operating synchronized MAC protocols is to maintain tight time synchronization among nodes. Loss of synchronization can lead to continuous packet drops causing significant waste of energy.
Asynchronous protocols do not synchronize active periods, so nodes wake up at different times. If a node wants to transmit a packet, it has to wake up and stay in active mode until the receiver wakes up. B-MAC[
1], X-MAC[
2], and BoX-MAC[
3] are well-known asynchronous protocols. In B-MAC, the transmitter wakes up and transmits a preamble for the duration of a whole wake-up interval (assuming all nodes have the same wake-up interval). If a node wakes up and detects a preamble, it stays in active mode. After transmitting the preamble, the transmitter transmits the packet. All neighbors of the transmitter will be awake and receive the packet by then. The problem with B-MAC is that even for a unicast packet, the sender wakes up all its neighbors unnecessarily. In X-MAC[
2], the sender sends short preambles repeatedly, instead of a long preamble. The short preamble indicates who the receiver is. When a neighbor node wakes up, it checks the preamble to see if it is the intended receiver. If not, the node goes back to sleep. If yes, the node sends an ACK to the sender. On receiving ACK, the sender sends data to the receiver. By doing this, nodes that are not the receiver can avoid waiting for the whole wake-up interval in active mode. In BoX-MAC[
3], the sender sends the packet itself in streams instead of short preambles. When the receiver receives the packet, it sends back an ACK and both can go to sleep without going through another transaction. The most significant benefit of using an asynchronous protocol is that it is simple to implement and easy to operate.
A routing protocol, which decides paths of the packets, sits between the MAC layer and the application layer. Similar to the MAC protocol, the design goal of a routing protocol is to minimize energy consumption while achieving application requirements. The basic strategy of routing is to build a tree rooted at the sink, so that the packets are forwarded along the tree branches[
5]. The tree can be constructed based on various factors such as number of hops, residual energy, and expected transmission count (ETX)[
15]. Opportunistic routing is another strategy of forwarding packets. In ExOR[
16], an opportunistic routing protocol for
ad hoc networks, a node chooses a list of candidate forwarders instead of just one forwarder as in a tree-based protocol. Each forwarder is given a priority, which is included in the packet header. A node receiving the packet waits for a delay that is computed based on its priority before transmitting the packet. Other nodes that overhear this packet cancel their transmissions. Although it is shown that ExOR achieves longer network lifetime compared to a tree-based protocol in an
ad hoc network, it cannot be used in a duty-cycled WSN since not all nodes are awake when the sender transmits its packet. GeRaF[
17] is a similar protocol, but forwarders are selected based on location information. DSF[
18] is an opportunistic protocol that works with duty cycling. A node knows the sleep schedule of the neighbors and selects forwarders based on the schedule, as well as delay, reliability, and energy status. ORW[
6] is a routing protocol specifically designed to work with an asynchronous duty-cycled MAC protocol. A node chooses a set of candidate forwarders and forwards its packet to whoever wakes up first, after the node starts transmitting packets. This strategy works particularly well with BoX-MAC, since the sender sends the packet repeatedly until a receiver receives the packet and replies by sending an ACK. The forwarder set is determined based on a metric called expected duty cycled (EDC wake-ups), which takes into account the number of neighbors a node has.
There are routing protocols designed to benefit from in-network aggregation[
19]. The greedy incremental tree (GIT)[
20] is a heuristic strategy of building an aggregation tree so that the number of packet transmission is minimized. Aonishi et al.[
21] improved GIT by considering the aggregation efficiency. Liu et al.[
22] considered an environment where there is an upper limit to the number of packets that can be aggregated. DRINA[
23] is a cluster-based routing protocol for event-triggered packet aggregation. When an event occurs, multiple nodes located nearby detect the event and generate packets. The nodes form a cluster and elect a leader which becomes the point of aggregation. The packets are first gathered at the cluster head and then sent to the sink as an aggregated packet.
There are many other approaches for achieving energy efficiency in wireless sensor networks. EDAL[
24] is a data collection protocol that considers deadlines for packet delivery. To meet the deadlines while achieving energy efficiency, EDAL leverages results from open vehicle routing problem and provides heuristics that can be applied to WSNs. Cross-layer design of routing and MAC protocol can be beneficial to preserving energy as shown in[
25], where DSR was modified to provide energy-efficient routing in sensor networks. Compressed sensing, which is a signal processing technique which delivers a full recovery of signals from far fewer measurements, has been applied for energy-efficient data collection in sensor networks[
26]. Prediction can be useful for WSNs due to the temporally redundant nature of sensor data, and CoGKDA[
27] uses grey model and Kalman filter to collect data with high prediction accuracy and low communication overhead. Finally, Compressive Data Collection (CDC)[
28] observes that real data sets from sensor networks may have strong compressibility and the power-law decaying data model fits well for these data. Thus, CDC uses on-the-fly compression of sensor data in order to reduce communication overhead and energy consumption.
Opportunistic Routing with In-network Aggregation (ORIA)[
29] is an opportunistic routing protocol similar to ORW but tries to benefit from in-network aggregation. To promote aggregation, each node holds on to its packet for a certain duration before transmitting, and while the node is holding a packet, it increases its wake-up rate in order to increase the chance of receiving packets from downstream nodes. ORIA achieves longer network time compared to ORW, but since ORIA uses fixed packet holding time at each node, the packet delay from source to sink may become long. If there is a packet delay requirement, the routing protocol should deliver the packets in time. The proposed protocol described in the next section considers packet delay requirements, while pursuing the benefit of opportunistic routing and in-network aggregation. It is what makes the proposed protocol different from other existing protocols.
Competing interests
The authors declare that they have no competing interests.