You are currently viewing a new version of our website. To view the old version click .
Sensors
  • Review
  • Open Access

2 August 2012

Cross Layer Adaptation of Check Intervals in Low Power Listening MAC Protocols for Lifetime Improvement in Wireless Sensor Networks

,
,
and
1
Computer Science Department, University Carlos III of Madrid, Avda. Universidad 30, Madrid 28911, Spain
2
Computer Science Department, University of Pisa, Largo B. Pontecorvo 3, Pisa 56127, Italy
3
ISTI-CNR, via G.Moruzzi 1, 56124 Pisa, Italy
*
Author to whom correspondence should be addressed.
This article belongs to the Section Sensor Networks

Abstract

Preamble sampling-based MAC protocols designed for Wireless Sensor Networks (WSN) are aimed at prolonging the lifetime of the nodes by scheduling their times of activity. This scheduling exploits node synchronization to find the right trade-off between energy consumption and delay. In this paper we consider the problem of node synchronization in preamble sampling protocols. We propose Cross Layer Adaptation of Check intervals (CLAC), a novel protocol intended to reduce the energy consumption of the nodes without significantly increasing the delay. Our protocol modifies the scheduling of the nodes based on estimating the delay experienced by a packet that travels along a multi-hop path. CLAC uses routing and MAC layer information to compute a delay that matches the packet arrival time. We have implemented CLAC on top of well-known routing and MAC protocols for WSN, and we have evaluated our implementation using the Avrora simulator. The simulation results confirm that CLAC improves the network lifetime at no additional packet loss and without affecting the end-to-end delay.

1. Introduction

A Wireless Sensor Network (WSN) [1] is an ad-hoc network specialized in environmental monitoring that is composed of autonomous, cooperating, small-sized nodes connected through wireless links, and a special node, the sink, that can forward data from the nodes to external users. Each node in a sensor network is equipped with a processor, one or more sensing units, and a radio transceiver. It is powered by an embedded battery [2], which is, in general, the sole source of energy. This means that the lifetime of the nodes is limited, and there is great emphasis on the efficient use of energy to prolong battery life.

Among the low energy strategies in WSN, the approaches operating at the MAC layer are without doubt the most numerous. It is well known [3] that the radio transceiver is the most energy-consuming component of a node. The MAC layer is responsible for managing this component by scheduling the times when the node must turn its radio on and off. This makes the MAC layer the main responsible component for saving energy. This idea is the basis of preamble sampling MAC protocols, which periodically toggle the radio from sleep to active state to check the channel for incoming packets. If there is no activity on the channel the radio is shut off to keep the activity period short and thus save energy. For this approach to work well, the time when the radios are activated must match for each pair of communicating nodes. Otherwise, if a node transmits a packet later than the originally scheduled time, the receiving node may not be listening, which would cause the loss of the packet followed by retransmission. Conversely, a node may listen to the channel when no one is sending (idle listening). To solve this problem, preamble sampling protocols use some form of synchronization among 1-hop neighboring nodes.

Most of these strategies are based on sending long preambles or check intervals. The first approach ensures that the preamble can be detected in the receiver node in order to maintain the radio on as long as necessary to receive the data. The second approach consists of computing a check interval that is shared for neighboring nodes and which enables the nodes to synchronize the times at which they switch their radios on and off. Both these approaches may negatively affect communication latencies. Specifically, nodes may experience delays in the transmission and reception of the packets as a consequence of the medium contention and of the strict activity periods. Moreover, in these protocols the radio scheduling is generally static, which means that it is not updated in the presence of communication delays [48]. This results in packet loss and packet retransmission, which increases the energy consumption. This problem becomes worse in multi-hop scenarios, where the communication delays increase as they are propagated along the path from the sender to the sink.

In this paper we propose Cross Layer Adaptation of Check intervals (CLAC), an approach that is concerned with the trade-off between communication delays and energy consumption which occurs in preamble sampling protocols based on check intervals. The main goal of CLAC is to reduce the energy consumption of the nodes without significantly increasing delay, by adjusting appropriately the nodes scheduling. CLAC exploits information extracted from the application, routing, and MAC layers to estimate the communication delays that affect a packet traveling along a multihop path. It then uses this estimation to recompute and update the value of the check intervals at each hop such that each node can adapt to the expected packet arrival time according to the accumulated delays along the paths. We have implemented and evaluated CLAC using the TinyOS/MicaZ platform on top of the BoX-MAC data link protocol and Collection Tree Protocol (CTP) routing protocol. As compared to CTP/BoX-MAC, CLAC improves the network lifetime of the communicating nodes without increasing the end-to-end delay and without additional packet loss. The extension of CLAC to other low power listening protocols is straightforward, and it is object of ongoing work.

The remainder of the paper is organized as follows. Section 2 presents the related work dealing with communication latencies suffered by nodes as a consequence of operating in (low) duty cycles to save energy and describes the protocols that we used in our evaluation. In Section 3 we formulate the problem scenario. Section 4 describes CLAC and discusses how it computes the network latencies which occur in preamble sampling-based MAC protocols to appropriately synchronize the nodes. Section 5 presents our evaluation and results, which are compared to the ones obtained by a preamble sampling-based MAC implementation (BoX-MAC). Finally, Section 6 draws the conclusions and suggests future work.

3. Problem Formulation

We consider a WSN executing a sensing task, where the nodes operate in periods or rounds whose duration is determined by their duty cycle. At each round each sensor samples the environment and produces a new data item that it sends to the sink, possibly along a multi-hop path. This behavior is typical of many WSN protocols, such as, for instance, Directed Diffusion [35].

As in most WSN applications, in our scenario the nodes are equipped with batteries that sustain completely their activities. Hence, an efficient use of the energy is of utmost importance in order to prolong the lifetime of the nodes.

One of the most energy consuming components of a node is the radio. A radio interface has at least four states: idle, ready, Tx (transmission mode), and Rx (reception mode). Every state has a different energy consumption, which depends on the particular model and manufacturer of the node: In idle mode the energy consumption is very low, and in the rest of the states the energy consumption can be considered similarly high. To save energy, nodes need to keep the radio in idle mode as much as possible. This is the approach usually used in MAC protocols for WSN. On the other hand, while a node is in idle mode, the radio cannot receive nor send packets and the node behaves as if it was disconnected from the network.

With the goal of saving energy in mind, the application manages a duty cycle that reflects the level of activity of the node. All operations that a node executes must fit in its duty cycle. In our approach we assume that the duty cycle of all of the nodes is identical; the MAC layer uses it to compute the check intervals which are then communicated to the neighboring nodes in order to share the same information.

Network lifetime is commonly defined as the time elapsed between the beginning of the network activities and the time at which the first node of the network depletes its battery. We adopt this precise definition in this work. Note that, however, there exist other definitions for the network lifetime that may also apply. Let B be the initial energy at each node battery; the lifetime l(i) of a node i measured as the number of rounds can be expressed as:

l ( i ) = B E ( i )
where E(i) denotes the energy consumed by node i in a round. We are assuming that a node is alive as long as it performs all assigned functions. The lifetime of the network L is then:
L = min i { l ( i ) }

Let us consider a WSN composed of n nodes, i1 to in. Each node can communicate directly with its neighbors, i.e., with the nodes within its radio range. For the sake of simplicity we assume that if ij is in range with ik then ik is also in range with ij, i.e., communication links are bidirectional. A node may also communicate with a remote node, i.e., a node which is not within its radio range, by a multi-hop path that consists of the set of nodes on the path. Let path(i1, im) = 〈i1, i2, …, im〉 be an m-hop path connecting nodes i1 and im, and let ik be a node on this path. Then order(ik) denotes the place occupied by ik in the path, i.e., order(ik) is the hop distance between i1 and ik. This relation ensures that order(i1) ≤ order(ik) ≤ order(im). Note that the function order(ik) within the path(i1, im) returns a number between 0 and m − 1. This function is later used in Equation (4).

Routing decisions regarding the nodes on the path from a sender i1 to a receiver im are left to the routing protocol, in our case CTP. The nodes use BoX-MAC as the underlying data link protocol. This implies that the nodes along the path wake up to sample the channel after each check interval expires. At this time, they may either receive the neighbor's packets and forward them to the parent, or initiate a transmission. It can still happen that some nodes activate their radios unnecessarily, since the communication rate required by the application can be much bigger than the check interval. (The check interval is typically in the order of milliseconds, while the communication rate can be in the order of seconds and even minutes.) Under perfect synchronization, the sender and the receiver wake up at the same time and thus avoid that BoX-MAC retransmits packets (because the ACK will be sent immediately). However, under realistic network conditions, packets travel along multi-hop paths towards the destination and accumulate delays at each hop. These delays are due to several reasons: (1) channel contention due to high traffic loads and small check intervals, which causes BoX-MAC to retransmit a large number of packets; (2) node processing due to packet forwarding and sensing activities; (3) protocol control packets that increase network load; (4) packet transmission times which may not match the check intervals of receivers.

Figure 3 shows, on the left hand side, a simple scenario where i1 sends data to a remote receiver i5.The arrows show the path between the two nodes as computed by CTP. The right hand side shows the delays incurred as data propagates from i1 to i5, and how these are accumulated during the multi-hop transmission.

Figure 3. On the left, the routing protocol selects the path to connect two remote nodes i1 and i5 through the nodes i2, i3, and i4. On the right, nodes experience communication delays which are propagated down along the path from the source to the destination node.

In Figure 4 we present the behavior of BoX-MAC protocol, where nodes can incur communications delays. As explained in Section 2.3.1, a BoX-MAC node keeps transmitting a packet until it receives an acknowledgment packet from the receiver. Let γ be the delay introduced by node ik in the path (we define more precisely this delay in Section 4). In the figure, during the check interval c, node i1 introduces a delay before sending the packet and propagates it to the next hop in the path i2, which cannot receive the packet correctly. When i2 forwards the packet to the next hop i3 (note it is common that this happens in the next check interval), it introduces a new delay. Since i3 cannot receive the packet at the check interval c + 1 because the accumulated delay spans its time of channel sampling, i2 continuously retransmits the packet during the sleep time of i3. When i3 awakes in the next check interval c + 2, it receives the packet and sends an acknowledgment packet to i2, which stops the retransmission. Thus, the reception of the packets could be shifted to the next rounds of communication. To deal with these communication delays the check intervals need to be adjusted in each hop in order to match the time to turn the radio on in the sender and the receiver.

Figure 4. BoX-MAC behavior with communication delays.

4. Cross Layer Adaptation of Check Intervals

We propose Cross Layer Adaptation of Check intervals (CLAC), an approach which consists in exploiting cross-layer information to adapt the check intervals according to the delays incurred by packets along a path. This technique allows us to maintain the duty cycle of the nodes without introducing additional energy costs. The basic idea is to improve synchronization among the nodes and, as a consequence, use energy more efficiently.

CLAC exploits information from the application, routing, and MAC layers. At the application layer the programmer statically configures a duty cycle (DC) representing the activity level of the nodes. Based on DC, the MAC layer configures the check interval, τcheck; For instance BoX-MAC computes τcheck as follows:

τ check = ( DUTY_ON_TIME ) × ( 100 D C ) ( D C )
where DUTY_ON_TIME is a constant that stands for the minimal time the radio is kept on in each activation, and DC is expressed as the percentage of activity with respect to the length of the total period. DC represents the minimum time of activity regardless of the network conditions. The maximum time of activity depends on the traffic load and therefore it is a priori unknown (BoX-MAC maintains the radio on when it detects channel activity). Equation (3) shows the inverse relationship between DC and τcheck: a higher DC implies a smaller τcheck. DC is established statically according to the frequency with which the application operates data sampling and transmission. For the sake of simplicity we assume that DC is the same for all of the nodes.

CLAC also exploits the information about the route from a node ij to a node ik as computed by CTP. Specifically, CLAC uses information about the position occupied by each node within the path to estimate the delay accumulated by a packet traveling along the path in each hop between ij and ik, then it recomputes τcheck at each hop according to this delay. In our approach the delays are adaptive because routes can dynamically change, which implies a different node ordering. In multi-hop scenarios, as those addressed in this paper, each hop in the path introduces a certain delay, γ(ik), which stands for the total delay (including transmission time) experienced by a packet at the node ik within the path from i1 to im. The delay experienced by a packet along the path between ij and ik is the sum of the delays introduced by every one of the nodes that compose the path. The discussion of the value taken by γ is deferred to Subsections 4.1 and 4.2. Assuming that we know the value of γ, the total delay of a packet at a node ik is:

D ( i k ) = i j = 1 order ( i k ) γ ( i j )
where D(ik) represents the delay accumulated by a packet before reaching node ik within the path(i1,im). Note that D(ik) increases with the number of hops between i1 and ik. Thus, the first node i1 in the path generates the packet and introduces a delay that is propagated to the second hop, i2, which is affected by this delay. i2 propagates both this delay as well as the delay introduced by itself further down to node i3. The delay for receiving the packet in i3 is the sum of all of the delays of the previous hops (in our case i1 and i2). In general, node ik must update its check interval as follows:
τ new_check = D ( i k ) + τ check

This update slightly shifts the current τcheck of node ik by a value D(ik) to obtain its next check interval. It is important to note that increasing the check interval involves a slight decrease in DC, which in turn could lead to packet loss. Packet loss does not happen if the next packet reception fits in the interval given by [τnew_check, τnew_check + DUTY_ON_TIME]. This is the time during which the radio is kept in receive mode within each check interval. If the packet arrives at time within this interval, the BoX-MAC protocol extends the duration of the activity period to guarantee the complete reception of the packet regardless of the time of reception of a packet, called τ. Otherwise, if D(ik) > DUTY_ON_TIME, then the packet is lost.

Consider the BoX-MAC behavior presented in Figure 4, where the reception of the packets is shifted to the next round of communication. CLAC can solve this problem by adapting the check intervals of the nodes as shown in Figure 5. We show two possible situations: On the left, an ideal situation where the nodes do not incur contention delays. CLAC adapts the check interval of each node to match the time to send and receive each packet. On the right, a more realistic scenario where network delays do exist. In this case, CLAC shifts the check interval of each node according to the delay introduced by the packet in order to wake up precisely at the packet arrival time. We can ensure that the packet is successfully received since the radio is maintained on during the time needed to complete its reception.

Figure 5. Behavior of CLAC in two different scenarios: on the left, the ideal case with no contention delays. On the right, a realistic case where delays are introduced at each hop. CLAC adjusts the next check interval in the receivers. In the figure τ stands for the time of transmission/reception of a packet of length s on the medium.

As indicated, CLAC uses γ(ik) to express the delay experienced by a packet at the node ik. This value is specific to each node and it depends on several factors: the network topology, the duty cycle, the frequency with which the application generates traffic, etc. We have analytically computed the value of γ by analyzing two different multi-hop scenarios: a linear and a tree-based data collection topologies.

4.1. Linear Topologies

In this topology the forwarding nodes are connected to exactly two neighbors: one child and one parent node. Each node receives packets from its child and forwards them to its parent to reach the destination node. Since the communication delays due to medium contention are related to the number of neighbors, for this particular topology we can estimate the value of γ to be approximately constant for each node on a path. We define γ in terms of the check interval and a parameter p that expresses the fraction of τcheck by which the check interval should be shifted (to bring it forward or backward):

γ = p × τ check / 100

For instance, given a check interval of 200 milliseconds, if p takes the value of 5, then the delay introduced by each packet at each node will be of 10 units of time (expressed in the same units that the check interval). The delay introduced by a packet at node ik depends on its position within the path and increases linearly with the number of hops. This approach makes sense for linear topologies where each node redirects the data to one single neighbor.

4.2. Tree-Based Topologies

Tree-based topologies are widely used in many WSN applications. In a tree topology each forwarding node has a number of children which is not necessarily the same for all of the nodes. The intermediate nodes forward all the incoming packets from their children to the single parent to reach the destination node. In many WSN applications which use a collection tree, nodes typically use filters to select the sensed data that needs to be transmitted to the sink. For example, in Directed Diffusion, all nodes sample the environment at the same given rate in order to detect a specific event. When a node detects the event, it starts transmitting any relevant data to the sink at a rate that corresponds to the sampling period. This means that in general not all the nodes produce data, but rather a subset of them, which we call sources. The sources emit data that travels along a path in the tree up to the sink (which in these cases is the root of the tree). From the point of view of the individual source, the data traveling along the path to the sink behaves as in the case of linear topologies. However, packets from different sources generally meet at some intermediate nodes in the tree and from that point on they follow the same path.

Consider the case in which a relay node ik receives data produced by different sources that can be either ik's direct children or nodes in the subtree rooted at ik. All sources emit packets according to the same duty cycle, and therefore, the same period. If the packets emitted by the sources arrive at ik at different times, for instance if the sources are at different depths in the tree, the network behaves similar to a linear topology. If the packets from two or more sources arrive at ik at instances close in time they may experience additional delays due to channel contention. In these cases, the delay defined at ik should be configured to have ik ready for the fastest packet. The delay of the node will therefore be defined by the same formula as in the case of linear topologies: γ(ik) = p × τcheck/100. It is important to remember that, after a packet is received by ik there may be others that are delayed due to channel contention. For this reason ik must keep its radio on for a period after receiving a packet, a behavior already present in BoX-MAC. Algorithm 1 shows the pseudo-code for CLAC.

Section 5 evaluates the delays for different values of p and for different network topologies.


Algorithm 1 CLAC algorithm

 Configure p   # MAC layer info
 Configure DC   # MAC layer info
 Compute t_check=DUTY_ON_TIME × (100-DC)/ DC
 Obtain all routes crossing node i    # Routing layer info
 D(i)=∞
for all (rroutes) do
  Compute order(i) in r(j, k), j=source,k=sink
  Compute delay Dr (i)=order(i) × p × t_check/100
  Compute D(i) = min(Dr(i),D(i))
loop
  Compute t_new_check= t_check + D(i)

5. Evaluation

We implemented CLAC on top of TinyOS [4] and we used available implementations of CTP and BoX-MAC-2 as the routing and MAC protocols. We also implemented an application where each node generates a 40-byte length data packet at constant intervals of 10 seconds and forwards incoming packets from children to the sink. This application is implemented on top of CLAC and uses the routing and MAC information to adapt the check intervals as discussed in this paper. We developed CLAC specifically for the MicaZ [36] platform and we tested it on linear and tree-based topologies, for which we evaluated networks of different sizes and densities.

To represent meaningful variations in the node activity we configured the application with different duty cycles. Table 1 shows in the first column the values of DC and in the second column their corresponding check intervals according to Equation (3). The subsequent columns show the delay that is accumulated by each hop as well as the value of the next check interval (τnew_check) with order(ik) = 1 given different values of p (−1, 1, 5, and 10). These values are the same as those that we used to compute the accumulated delay at each hop as explained in the previous section. Note that the values of τnew_check increases proportionally with the number of hops in the path. Configuring the DC to be 100% is equivalent to having the radio always on, so the values of p are irrelevant in this case. A negative value of p implies a decrease of the check interval and an increase of DC.

Table 1. Configuration of delays for different values of DC and p. The values of delays and τnew_check are all expressed in milliseconds.

We used the Avrora simulator [37] to test the applications. Avrora provides a complete simulation framework for evaluating applications written in TinyOS 1.x/2.x over AVR platforms (which is the name of a known hardware platform family) such as Mica2 and MicaZ, and it allows the configuration of two radio models: (1) indoors, which is based on the free space path loss formula; and (2) outdoors, where the user fixes the maximum radio range. We considered the outdoor scenario for our experiments. Table 2 shows the simulation parameters used in our experiments.

Table 2. Parameter values used in the simulations.

Each application was tested on two different network topologies: (1) two linear topologies of 10 and 20 nodes; and (2) two tree-based topologies as shown in Figure 6, a binary tree of 10 nodes and a tree with 22 nodes where each node has up to three children (see Figure 6 for details). We repeated each experiment 5 times and each experiment took 600 virtual seconds. The 96% confidence interval was at most 0.01 for all experiments. For each experiment we determine the network lifetime, the end-to-end delay and the packet loss ratio. We compare the results with those obtained using CTP/BoX-MAC when no communication delays are accounted for.

Figure 6. Deployments of 10- and 22-nodes tree topology.

5.1. Connectivity

In CTP each node in the network sends beacon messages to its immediate neighbors. CTP uses these beacons to construct and maintain routing trees such that a node is not able to communicate if it does not have a parent in the routing tree. Therefore, each node must find a parent with ETX less than ∞. The root is the only node with ETX initialized to 0; network connectivity extends from the root to the leaves. Given this fact, we must ensure that the check intervals do not lead to isolated nodes which yield unconnected networks. This problem can arise for some extremely low values of DC and it becomes worse when the check interval is shifted too much, i.e., when the value of p is extremely large. If the value of DC is not appropriate, the activity period in a node may be insufficient to allow CTP to establish a valid route in an instant of time between pairs of nodes if the beacon messages are not received by the neighbors. Note that beacon messages are continuously sent by the nodes during their lifetime, at increasing sending intervals. Thus, although some beacon messages are lost, it does not mean that a node cannot find a route in the future.

We illustrate this issue in Figure 7 by showing the connectivity of CLAC against the connectivity of BoX-MAC for each of the experiments. We measure connectivity by counting the number of nodes successfully linked to a parent. On the left hand side we show the results for a 10-node linear topology using different values of DC and p. We observe that for low values of DC (between 1% and 10%) the network is not totally connected for either protocols. For values of DC equal to 20% the network is connected only for the two smallest values of p (−1 and 1), while for the two largest values of p none of the networks is connected. For values of DC greater than 20% all of the nodes in the network successfully find a valid route to the sink regardless of the strategy. We observe that connectivity is directly proportional to the duty cycle: the larger is the DC, the higher is the connectivity. For negative values of p we effectively increase the DC since we reduce the check interval and, as a result, we improve the connectivity with respect to BoX-MAC. On the contrary, for large values of p and small DC, the connectivity is low. This is because increasing DC increases the probability of receiving beacon messages, since the beacon messages are sent at arbitrary times (even at times different from the scheduled time for sending the data); when DC is low the beacons may not be received and, consequently, routes may not be determined. The right hand side of Figure 7 shows the connectivity for BoX-MAC and CLAC for a 20-nodes linear topology. The graphic shows a similar trend as the 10-node case. We can observe that the increase in network size results in a lower connectivity in CLAC (for DC ≤ 20%). It is also interesting to note that the increase of DC, when p = −1, does not guarantee total network connectivity.

Figure 7. Connectivity of BoX-MAC and CLAC in a 10-node (left) and in a 20-node (right) linear topologies.

Figure 8 shows the connectivity achieved for tree topologies. CLAC improves the connectivity when compared to linear topologies, as observed for DC=20%, for which all networks are completely connected. In the case of the 10-node tree (left hand side) for values of p = −1 and p = 1 and DC equal to 10%, the network is also connected (as in BoX-MAC), which is an improvement over the linear topology. When we increase the size of the tree (right hand side), the network connectivity decreases slightly for DC = 10%. The reason is that in tree topologies a node is affected by the load of its children; in particular, a heavy load at a node generated by its children may impair its communication with some of them. We can conclude that the neighboring size is an important factor for achieving connectivity, and that the connectivity loss in CLAC as compared to BoX-MAC is mainly due to the loss of beacon messages, whose arrival times cannot be known a priori. Once the topology is established, CLAC may then adapt the delays due to data packets as proposed in this work.

Figure 8. Connectivity of BoX-MAC and CLAC in 10-node (left) and 22-node (right) tree topologies.

5.2. Network Lifetime

The lifetime of the network is computed for each experiment according to Equation (2). We only consider values of DC above 10% which, based on our experiments, guarantee network connectivity. Note that for DC equal to 20%, network connectivity is guaranteed for tree topologies but not for linear topologies with p = 5 and p = 10. We compare the network lifetime using CLAC against the lifetime using CTP/BoX-MAC. We express the results of the network lifetime in days. Figure 9 illustrates the results for the 10- and 20-node linear topologies. We observe that the network lifetime decreases when DC increases, which matches the fact that a larger DC implies a bigger energy consumption. With a DC = 100% the lifetime converges to 5.5 days for all experiments. As the figure shows, a larger p implies a longer network lifetime. For positive values of p, which implies a proportional increase of the delay, we obtain a lower DC and, subsequently, longer network lifetimes. This fact can be observed in Figure 9 where the longest network lifetimes are achieved for p = 10. From this figure we observe that CLAC improves the network lifetime when compared to BoX-MAC for all values of DC and p. On the right hand side of Figure 9, we see network lifetimes more similar to CTP/BoX-MAC (except for DC = 20%). This behavior is due to the increase in the network size, which causes a bigger load for the forwarding nodes (remember that the network lifetime is the lifetime of the node that first dies). Figure 10 shows the network lifetime for 10- and 22-node tree-based topologies, both of which have a longer lifetime compared to linear topologies. In a linear topology, the node which is the nearest to the sink must receive N−1 packets and transmit N packets in each round, being N the number of nodes in the linear topology. It also accumulates the delays produced by each hop, which leads to high idle listening and consequently a lot of retransmissions. It follows that node 1 in a linear topology is very overloaded trying to receive and retransmit many packets, while, in the case of the tree, the overall traffic is split among the children of the root. Therefore, node 1 dies in a linear topology much earlier than in a tree topology. With a low DC the situation gets worse since the contention increases. For tree-based topologies the lifetime is increased, and CLAC doubles the lifetime obtained by CTP/BoX-MAC for some values of DC and p.

Figure 9. Network lifetime (in days) for 10-node (left) and 20-node (right) linear topologies.
Figure 10. Network lifetime (in days) for 10-node (left) and 22-node (right) tree topologies.

5.3. Packet Loss

We evaluate the packet loss in CLAC for DC greater or equal to 20% which, based on our experiments, guarantee network connectivity. As in the case of network lifetime, keep in mind that for DC equal to 20% network connectivity is guaranteed for tree topologies but not for linear topologies with p = 5 and p = 10. Specifically, we evaluate the packet loss ratio, which is defined as the ratio between the number of packets lost in CTP/BoX-MAC over the number of packets lost in CLAC. Figures 11 and 12 illustrate the packet loss ratio for different values of p; when this ratio is greater than 1.0 it indicates that there was more packet loss in CTP/BoX-MAC than in CLAC.

Figure 11. Packet loss ratio for 10- and 20-node linear topologies.
Figure 12. Packet loss ratio for 10- and 22-node tree topologies.

Figure 11 shows the packet loss ratio for the 10- and 20-node linear topologies. The packet loss ratio indicates that CLAC reduces the number of lost packets for most DC. Note that for p = 5 or p = 10, and DC = 20% the packet loss ratio is very high. This behavior coincides with the cases when the experiments do not yield a completely connected network. The lack of connectivity causes a high packet loss. According to the results, we can conclude that for DC greater or equal to 20%, which maintain the network connectivity and provide energy savings, CLAC may reduce packet loss. However, the optimal value of p that provides the minimum packet loss is highly dependent on DC, the topology, and the network size.

Figure 12 shows the packet loss ratio for 10- and 22-node tree topologies. CLAC significantly reduces the number of packets that are lost as compared to CTP/BoX-MAC, for all values of DC and p, with the exception of DC = 50% in the 22-node tree topology. If we increase both the size of the network and the DC, the load of the network grows and the packet loss increases. We conclude that CLAC performs better in scenarios with DC less than 50%.

5.4. End-to-end Delay

In order to show that CLAC does not increase the end-to-end delay, we measure the end-to-end delay for CLAC and BoX-MAC. First, we consider the 10-node linear topology where node 10 is the only data source and, second, we consider the 10-node tree topology with multiple sources: node 5, 7 and 9.

In the 10-node linear topology, node 10 sends a data packet to node 0 (the sink) every 10 seconds. Within path(10, 0) node 10 is 10 hops away from node 0. All the packets travel along the same path to achieve the destination, i.e., there is no changes in the topology. Figure 13 shows the end-to-end delay between node 10 and node 0 obtained for the linear topology with DC = 30%. The time that a packet takes from the source to the destination is the end-to-end delay, which we compute as the difference of the time of transmission and the reception. Each packet takes a variable amount of time to reach node 0, due to the effect of the retransmissions and the accumulated latencies.

Figure 13. End-to-end delay between node 10 and 0 in a 10-node linear topology with DC = 30%.

Figure 14 on the left presents the average end-to-end delay for a 10-node linear topology with only a source (node 10) for DC = 30%, 40% and 50%. We exclude the case of DC equal to 20% since it does not guarantee complete connectivity in the network. On the right hand side, we show the end-to-end delay for a 10-node tree topology for DC greater or equal to 20%, where nodes 5, 7 and 9 are data sources. Thus, we have: path(5, 0) = {5, 4, 2, 0}, path(7, 0) = {7, 6, 4, 2, 0} and path(9, 0) = {9, 8, 6, 4, 2, 0}. We show the average end-to-end delay within path(9, 0), which is the worst case.

Figure 14. End-to-end delay for 10-node linear and 10-node tree topologies.

In general when DC increases, the end-to-end delay is reduced, which matches the fact that a larger DC implies a lower contention. Even in the case where there is no contention due to the fact of having one single source (as represented by Figure 14 on the left), the end-to-end delay grows as a result of having strict duty cycles, i.e., we reduce the opportunity for fast forwarding and hence the penalty on the end-to-end delay. Note that when p increases the end-to-end delay also increases, since it is equivalent to reducing the DC. The end-to-end delay in the linear topology is larger than in the tree topology because of the difference in the path lengths, which is 10 hops for the linear topology and 5 hops in the tree topology. The average end-to-end delay of BoX-MAC is for most of the times between the end-to-end delay of CLAC with p = − 1 and p = 1. This result is within expectation since the DC used in BoX-MAC is above the DC used in CLAC with p = −1 and below the DC used in CLAC with p = 1. It follows that the end-to-end delays depend on the duty cycles used and, correspondingly, present the same trend.

6. Conclusions

The use of duty cycles to govern the radio activity of the nodes is extremely useful to limit their energy consumption. Preamble sampling-based protocols efficiently address this task by providing schemes to schedule the time at which the communicating nodes must turn their radio transceivers on and off. However, due to channel access contention and the internal processing (among other reasons), the times of radio activation in the sender and receiver may not match. A good synchronization strategy is essential to saving the node resources.

In this paper we propose an approach to deal with communication delays which occur in preamble sampling-based protocols in order to improve the synchronization of the nodes. Our approach, called Cross Layer Adaptation of Check intervals (CLAC), allows to precisely update the check interval at each hop based on estimating the delay that a packet traveling along a multi-hop path introduces at each hop within the path. CLAC successfully synchronizes the sender and the receiver by delaying the check interval to match the expected packet arrival time. To estimate the check interval, CLAC uses information provided by the routing and MAC layers. We have shown by simulation that for the linear and tree topologies, CLAC improves the synchronization between the nodes and contributes to finding a good balance between connectivity and energy saving at no additional packet loss. CLAC increases the network lifetime, maintains the connectivity and reduces the packet loss as compared to CTP/BoX-MAC. Thus, we demonstrate that for dealing with network latencies, it is not necessary to increase the duty cycle and the radio activation in the nodes can be adapted to suit this need.

Ongoing work includes the extension of CLAC to other LPL protocols beyond BoX-MAC. We also plan to analyze the behavior of CLAC on different network topologies (for example grids) in order to study the delays that the packets traveling from the sender to the sink introduce and how they are propagated. Finally, we also plan to compare CLAC with other approaches that adjust the duty cycle in order to find a good balance between high packet delivery and energy savings.

Acknowledgments

This work has been partially funded by the Spanish Ministry of Science and Technology under the grant TIN2010-16497 “Técnicas Escalables de Entrada/Salida en Entornos Distribuidos y de Computatión de Altas Prestaciones”.

References

  1. Baronti, P.; Pillai, P.; Chook, V.W.C.; Chessa, S.; Gotta, A.; Hu, Y.F. Wireless sensor networks: A survey on the state of the art and the 802.15.4 and ZigBee standards. Comput. Commun. 2007, 30, 1655–1695. [Google Scholar]
  2. Amato, G.; Caruso, A.; Chessa, S. Application-driven, energy-efficient communication in wireless sensor networks. Comput. Commun. 2009, 32, 896–906. [Google Scholar]
  3. Akyildiz, I.F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. Wireless sensor networks: A survey. Comput. Netw. 2002, 38, 393–422. [Google Scholar]
  4. Hill, J.L. System architecture for wireless sensor networks. Ph.D. thesis, University of California, Berkeley, CA, USA, 2003. [Google Scholar]
  5. El-Hoiydi, A. Aloha with Preamble Sampling for Sporadic Traffic in Ad Hoc Wireless Sensor Networks. Proceedings of the IEEE International Conference on Communications, 2002 ICC 2002, New York, NY, USA, 28 April–2 May 2002; Volume 5. pp. 3418–3423.
  6. El-Hoiydi, A.; Decotignie, J.D. WiseMAC: An Ultra Low Power MAC protocol for the Downlink of Infrastructure Wireless Sensor Networks. Proceedings of the Ninth International Symposium on Computers and Communications 2004, Alexandria, Egypt, 28 June−1 July 2004; Volume 2. pp. 244–251.
  7. Polastre, J.; Hill, J.; Culler, D. Versatile Low Power Media Access for Wireless Sensor Networks. Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, Baltimore, MD, USA, November 2004; pp. 95–107.
  8. Moss, D.; Levis, P. BoX-MACs: Exploiting Physical and Link Layer Boundaries in Low-Power Networking; Technical report; Stanford University: Stanford, CA, USA, 2008. [Google Scholar]
  9. Kredo, K., II; Mohapatra, P. Medium access control in wireless sensor networks. Comput. Netw. 2007, 51, 961–994. [Google Scholar]
  10. Langendoen, K. Medium Access Control in Wireless Sensor Networks. In Medium Access Control in Wireless Networks; Wu, H., Pan, Y., Eds.; Nova Science Publishers Inc.: New York, NY, USA, 2008; pp. 535–560. [Google Scholar]
  11. Demirkol, I.; Ersoy, C.; Alagoz, F. MAC protocols for wireless sensor networks: A survey. IEEE Commun. Mag. 2006, 44, 115–121. [Google Scholar]
  12. Bachir, A.; Dohler, M.; Watteyne, T.; Leung, K. MAC essentials for wireless sensor networks. IEEE Commun. Surv. Tutor. 2010, 12, 222–248. [Google Scholar]
  13. Cano, C.; Bellalta, B.; Sfairopoulou, A.; Oliver, M. Low energy operation in WSNs: A survey of preamble sampling MAC protocols. Comput. Netw. 2011, 55, 3351–3363. [Google Scholar]
  14. Karn, P. MACA a New Channel Access Method for Packet Radio. Proceedings of the Computer Networking Conference, London, ON, Canada, October 1990; Volume 9. pp. 134–140.
  15. Hill, J.; Culler, D. Mica: A wireless platform for deeply embedded networks. Micro IEEE 2002, 22, 12–24. [Google Scholar]
  16. IEEE. Wireless Medium Access Control (Mac) and Physical Layer (Phy) Specifications for Low-Rate Wireless Personal Area Networks (Lr-Wpans); IEEE Standard for Information Technology 802.15.4; IEEE, 2003. [Google Scholar]
  17. Ullah, N.; Chowdhury, M.S.; Ameen, M.A.; Kwak, K.S. Energy efficient MAC protocol for low energy critical infrastructure monitoring networks using wake up radio. Int. J. Distrib. Sens. Netw. 2012, 2012. [Google Scholar] [CrossRef]
  18. Buettner, M.; Yee, G.V.; Anderson, E.; Han, R. X-MAC: A Short Preamble MAC Protocol for Duty-Cycled Wireless Sensor Networks. Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, Boulder, CO, USA, 31 October–3 November 2006; pp. 307–320.
  19. Ullah, N.; Khan, P.; Kwak, K.S. A Very Low Power MAC (VLPM) protocol for wireless body area networks. Sensors 2011, 11, 3717–3737. [Google Scholar]
  20. Stone, K.; Colagrosso, M. Efficient duty cycling through prediction and sampling in wireless sensor networks. Wirel. Commun. Mob. Comput. 2007, 7, 1087–1102. [Google Scholar]
  21. Hurni, P.; Braun, T. MaxMAC: A Maximally Traffic-Adaptive MAC Protocol for Wireless Sensor Networks. In Wireless Sensor Networks; Silva, J., Krishnamachari, B., Boavida, F., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 5970, Lect. Notes Comput. Sci.; pp. 289–305. [Google Scholar]
  22. Ye, W.; Silva, F.; Heidemann, J. Ultra-Low Duty Cycle MAC with Scheduled Channel Polling. Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, Boulder, CO, USA, 31 October–3 November 2006; pp. 321–334.
  23. Jurdak, R.; Baldi, P.; Videira Lopes, C. Adaptive low power listening for wireless sensor networks. IEEE Trans. Mobile Comput. 2007, 6, 988–1004. [Google Scholar]
  24. Anastasi, G.; Conti, M.; di Francesco, M. Extending the lifetime of wireless sensor networks through adaptive sleep. IEEE Trans. Ind. Inf. 2009, 5, 351–365. [Google Scholar]
  25. Lu, G.; Sadagopan, N.; Krishnamachari, B.; Goel, A. Delay Efficient Sleep Scheduling in Wireless Sensor Networks. Proceedings of the INFOCOM 2005 24th Annual Joint Conference of the IEEE Computer and Communications Societies, Miami, FL, USA, 13–17 March 2005; Volume 4. pp. 2470–2481.
  26. Sun, Y.; Du, S.; Gurewitz, O.; Johnson, D.B. DW-MAC: A Low Latency, Energy Efficient Demand-Wakeup MAC Protocol for Wireless Sensor Networks. Proceedings of the 9th ACM International Symposium on Mobile Ad Hoc Networking and Computing, Hong Kong, China, 26–30 May 2008; pp. 53–62.
  27. Kim, J.; Lin, X.; Shroff, N.; Sinha, P. Minimizing delay and maximizing lifetime for wireless sensor networks with anycast. IEEE/ACM Trans. Netw. 2010, 18, 515–528. [Google Scholar]
  28. Merlin, C.; Heinzelman, W. Node Synchronization for Minimizing Delay and Energy Consumption In Low-Power-Listening MAC Protocols. Proceedings of the Mobile Ad Hoc and Sensor Systems, 2008 MASS 2008, Atlanta, GA, USA, 29 September–2 October 2008; pp. 265–274.
  29. Merlin, C.; Heinzelman, W. Schedule adaptation of low-power-listening protocols for wireless sensor networks. IEEE Trans. Mobile Comput. 2010, 9, 672–685. [Google Scholar]
  30. Merlin, C.; Heinzelman, W. Duty cycle control for low-power-listening MAC protocols. IEEE Trans. Mobile Comput. 2010, 9, 1508–1521. [Google Scholar]
  31. Escolar, S.; Chessa, S.; Carretero, J. Cross-layer optimization of Low Power Listening MAC protocols for Wireless Sensor Networks. Proceedings of Computers and Communications (ISCC), Kerkyra, Greece, June 2011; pp. 684–691.
  32. De Couto, D.S.J.; Aguayo, D.; Bicket, J.; Morris, R. A high-throughput path metric for multi-hop wireless routing. Wirel. Netw. 2005, 11, 419–434. [Google Scholar]
  33. Gungor, V.C.; Korkmaz, M.K. Wireless link-quality estimation in smart grid environments. Int. J. Distrib. Sens. Netw. 2012, 2012. [Google Scholar] [CrossRef]
  34. Gnawali, O.; Fonseca, R.; Jamieson, K.; Moss, D.; Levis, P. Collection Tree Protocol. Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems, Berkeley, CA, USA, November 2009; pp. 1–14.
  35. Intanagonwiwat, C.; Govindan, R.; Estrin, D. Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks. Proceedings of the 6th Annual International Conference on Mobile Computing and Networking, Boston, MA, USA, August 2000; pp. 56–67.
  36. Memsic. MICAz. 2004. Available online: http://www.memsic.com/support/documentation/wireless-sensor-networks/category/7-datasheets.html?download=148:micaz (accessed on 31 July 2012). [Google Scholar]
  37. De Paz Alberola, R.; Pesch, D. AvroraZ: Extending Avrora with an IEEE 802.15.4 Compliant Radio Chip Model. Proceedings of the 3nd ACM Workshop on Performance Monitoring and Measurement of Heterogeneous Wireless and Wired Networks; ACM: New York, NY, USA, 2008; PM2HW2N '08. pp. 43–50. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.