Download DutyCon: A dynamic duty-cycle control approach to end

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Piggybacking (Internet access) wikipedia , lookup

Network tap wikipedia , lookup

TCP congestion control wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Lag wikipedia , lookup

Distributed firewall wikipedia , lookup

Computer network wikipedia , lookup

Backpressure routing wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Airborne Networking wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

RapidIO wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Deep packet inspection wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Quality of service wikipedia , lookup

IEEE 1355 wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
DutyCon: A Dynamic Duty-Cycle Control Approach to End-to-End
Delay Guarantees in Wireless Sensor Networks
XIAODONG WANG, XIAORUI WANG, and LIU LIU, The Ohio State University
GUOLIANG XING, Michigan State University
It is well known that periodically putting nodes into sleep can effectively save energy in wireless sensor
networks at the cost of increased communication delays. However, most existing work mainly focuses on
the static sleep scheduling, which cannot guarantee the desired delay when the network conditions change
dynamically. In many applications with user-specified end-to-end delay requirements, the duty cycle of every
node should be tuned individually at runtime based on the network conditions to achieve the desired endto-end delay guarantees and energy efficiency. In this article, we propose DutyCon, a control theory-based
dynamic duty-cycle control approach. DutyCon decomposes the end-to-end delay guarantee problem into a
set of single-hop delay guarantee problems along each data flow in the network. We then formulate the singlehop delay guarantee problem as a dynamic feedback control problem and design the controller rigorously,
based on feedback control theory, for analytic assurance of control accuracy and system stability. DutyCon
also features a queuing delay adaptation scheme that adapts the duty cycle of each node to unpredictable
incoming packet rates, as well as a novel energy-balancing approach that extends the network lifetime by
dynamically adjusting the delay requirement allocated to each hop. Our empirical results on a hardware
testbed demonstrate that DutyCon can effectively achieve the desired trade-off between end-to-end delay
and energy conservation. Extensive simulation results also show that DutyCon outperforms two baseline
sleep scheduling protocols by having more energy savings while meeting the end-to-end delay requirements.
Categories and Subject Descriptors: C.2.1 [Computer-Communication Networks]: Network Architecture
and Design—Wireless communication; C.2.2 [Computer-Communication Networks]: Network Protocols;
C.3 [Computer Systems Organization]: Special-Purpose and Application-Based Systems—Real-time and
embedded Systems
General Terms: Algorithms, Design, Performance, Experimentation
Additional Key Words and Phrases: Wireless sensor networks, duty cycle, delay guarantee
ACM Reference Format:
Wang, X., Wang, X., Liu, L., and Xing, G. 2013. DutyCon: A dynamic duty-cycle control approach to end-toend delay guarantees in wireless sensor networks. ACM Trans. Sensor Netw. 9, 4, Article 42 (July 2013), 33
pages.
DOI: http://dx.doi.org/10.1145/2489253.2489259
This is a significantly extended version Wang et al. [2010] published in Proceedings of the 18th International
Workshop on Quality of Service (IWQoS’10).
This work was supported in part by ONR grant N00014-11-1-0898 (YIP Award) and by NSF grants CNS1218154 and CNS-1143607 (CAREER Award).
Authors’ addresses: X. Wang, X. Wang, and L. Liu, Department of Electrical and Computer Engineering,
Ohio State University, 805 Dreese Labs, 2015 Neil Ave., Columbus, OH 43210; emails: {wangxi, xwang,
liul}@ece.osu.edu; G. Xing, Department of Computer Science and Engineering, Michigan State University,
3115 Engineering Building, East Lansing, MI 48824-1226; email: [email protected].
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted
without fee provided that copies are not made or distributed for profit or commercial advantage and that
copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for
components of this work owned by others than ACM must be honored. Abstracting with credit is permitted.
To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this
work in other works requires prior specific permission and/or a fee. Permissions may be requested from
Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212)
869-0481, or [email protected].
c 2013 ACM 1550-4859/2013/07-ART42 $15.00
DOI: http://dx.doi.org/10.1145/2489253.2489259
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42
42:2
X. Wang et al.
1. INTRODUCTION
Many wireless sensor network (WSN) applications require information to be transmitted to the destination in a timely manner. For example, in military surveillance
applications [He et al. 2006], authorities should be notified promptly upon the
detection of intruders. On the other hand, many nodes in a WSN use batteries as
their energy source. It is therefore critical to reduce the energy consumption of those
nodes in order to achieve a longer network lifetime. Periodically putting the radios of
WSN devices into sleep has been widely recognized as the most effective way of saving
energy in WSNs. Taking the commonly used TelosB mote1 as an example; the idle
listening power consumed by the radio is more than 1,000 times the power consumed
when it is sleeping [Polastre et al. 2005]. However, one problem with putting the radio
to sleep is that it may incur an additional communication delay, known as the sleeping
delay [Ye et al. 2002], since the sender of a communication pair must wait for the
receiver to wake up and receive a packet. Therefore, it is important to balance the
trade-off between energy savings and the delay incurred by using the periodic sleeping
scheme.
Power management with node sleeping has been extensively studied in WSNs. The
existing power management schemes can be categorized into three classes. The first
class includes various TDMA protocols, such as TRAMA [Rajendran et al. 2003] and
DRAND [Rhee et al. 2006]. However, a node in TDMA networks has to wait for its
time slot to transmit, which is inefficient for applications with tight and varying delay
requirements. The second class includes synchronous duty cycling protocols, such as
S-MAC [Ye et al. 2002] and T-MAC [van Dam and Langendoen 2003a]. The major
issue with these protocols is that the sleep schedules of nodes need to be frequently
synchronized, which may lead to energy waste and additional communication delays.
The third class of power management schemes consists of asynchronous channel polling
protocols, such as B-MAC [Polastre et al. 2004] and X-MAC [Buettner et al. 2006].
Nodes in these protocols wake up periodically to poll the channel for activities. If the
channel is busy, they stay awake and prepare to get data. However, nodes using the
channel polling approach are usually configured with static duty cycles, which may
lead to unpredictable delay performance when network conditions (e.g., interference,
traffic load) change dynamically.
In this article, we propose DutyCon, a dynamic duty-cycle control scheme that provides an end-to-end communication delay guarantee while taking advantage of periodic
sleeping to achieve energy efficiency. DutyCon is significantly different from the existing work on delay and duty-cycle management in WSNs in three aspects. First, we
control the end-to-end delay of each data flow in a WSN to a user-specific bound while
achieving energy conservation. Second, we dynamically adjust the duty cycle of each
node individually to adapt to the network condition changes in different areas in the
WSN. Network conditions in a WSN can vary both spatially and temporally [Cerpa et al.
2005]. Third, DutyCon can also adapt to unpredictable incoming packet rate changes,
which are common in many WSN-based monitoring applications, for example, packets
can be generated at a higher rate when an emergency event occurs. Specifically, the
contributions of this article are fourfold.
—We propose DutyCon, a new approach to meeting end-to-end delay requirements in
a WSN. In DutyCon, the end-to-end delay guarantee problem is decomposed into a
set of single-hop delay guarantee problems along each data flow. We then formulate
the single-hop delay guarantee problem as a feedback control problem.
1 X-Bow.
Crossbow Technology. http://www.xbow.com/.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:3
—Based on the single-hop delay model, we design a delay controller based on wellestablished feedback control theory to control each single-hop delay in a distributed
manner by dynamically changing the sleep interval in each receiver’s sleep schedule.
—We design a strategy for adapting the sleep interval of each node to the queuing
delay incurred by the unpredictable incoming packet rate. We also propose an
energy-balancing scheme that balances the energy consumptions of nodes at different portions of each end-to-end communication flow when assigning the single-hop
delay requirement to each hop.
—We evaluate DutyCon both on a real hardware testbed composed of Telosb motes
and in the NS-2 simulator and compare DutyCon with two baselines, STS and DTS,
recently proposed in Chipara et al. [2005].
The remainder of this article is organized as follows. Section 2 highlights the distinction of our work by discussing related work. Section 3 introduces the formulations
of our end-to-end delay and single-hop delay control problems. Section 4 presents the
controller design for the single-hop delay control problem. Section 5 elaborates on the
design of the queuing delay adaptation strategy. In Section 6, we propose two assignment schemes for the single-hop delay requirement. In Section 7, we evaluate DutyCon
using testbed experiments. Section 8 presents the experiment results in simulation.
Section 9 concludes.
2. RELATED WORK
Several protocols have been proposed for providing delay guarantees for wireless sensor
and ad hoc networks. Implicit EDF [Caccamo et al. 2002] is a collision-free scheduling
scheme which provides delay guarantees by exploiting the periodicity of WSN traffic.
RAP [Lu et al. 2002] uses a velocity monotonic scheduling scheme to prioritize realtime traffic based on a packet’s deadline and its distance to the destination. SPEED
[He et al. 2003] achieves end-to-end communication delay guarantees by enforcing
a uniform communication speed throughout the network. Karenos and Kalogeraki
[2006] have also presented a flow-based traffic management mechanism for providing
delay guarantees. Our work is different from the aforementioned research. By dynamically manipulating the sleep interval, we provide delay guarantees for end-to-end
communications, while the delay incurred by sleeping nodes is not considered in the
aforementioned protocols.
Periodic sleeping is a widely adopted approach to saving energy for WSNs. The existing periodic sleeping approaches can be categorized into two classes: static sleep
scheduling and dynamic sleep scheduling. In the static sleeping approach category,
S-MAC [Ye et al. 2002] proposes a synchronous periodic sleeping MAC with fixed duty
cycles for energy savings. D-MAC [Lu et al. 2004] is developed especially for a tree
topology network. It aims to reduce sleep latency while decreasing energy consumption. Several other static sleep scheduling protocols (e.g., [van Dam and Langendoen
2003b; Ha et al. 2006]) are also proposed. However, none of these above studies provides delay guarantees when utilizing periodic sleeping to save energy. A static sleep
scheduling approach with delay guarantee has been recently proposed [Gu et al. 2009].
However, it cannot adapt to network condition changes, such as interference incurred
by additional workload at runtime. The second class of periodic sleeping schemes is
dynamic sleep scheduling. In those approaches, nodes are allowed to have different
sleep schedules and change their schedules dynamically at runtime. Min et al. [2008]
propose choosing different nodes to put to sleep at different times based on the Analytic
Hierarchy Process. Ning and Cassandras [2008] propose using the dynamic programing
approach to control sleep time of nodes for energy minimization. Tang et al. [2011] propose PW-MAC, an energy-efficient MAC protocol based on asynchronous duty cycling.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:4
X. Wang et al.
MiX-MAC [Merlin and Heinzelman 2010b] adapts the MAC protocols under different
network conditions to achieve best network performances. Differently from these existing dynamic sleep scheduling approaches, our work dynamically adjusts the sleep
interval of each node based on the delay constraint and the network condition changes.
The control-theoretic approach has been applied to various computing and networking systems. A survey of feedback performance control for software services is presented
in Abdelzaher et al. [2003]. However, only a few recent studies in wireless sensor networks start to utilize feedback control theory to provide performance guarantees. ATPC
[Lin et al. 2006] employs a feedback-based transmission power control algorithm to dynamically maintain individual link quality over time in WSNs. Merlin and Heinzelman
[2010a, 2008] propose controling the duty cycle of each node for the desired throughput
in a WSN. A control-theoretical approach is also designed in Le et al. [2007] to achieve
the maximum network throughput in multichannel WSNs. To our best knowledge, different from all these works using control-theoretic approaches, this work is the first to
explicitly enforce the end-to-end delay requirement while taking advantage of feedback
control theory to dynamically control the sleep interval in order to achieve energy efficiency. Moreover, this work also combines the feedback control approach with a queuing
delay adaptation scheme when achieving the end-to-end delay control purpose.
3. PROBLEM FORMULATION
In this section, we introduce the formulation of our problem. In sensor network applications, two different types of topology are widely used. The first type is topology with
disjoint flows. In the disjoint flow model, the set of nodes on the route of one flow is
disjoint with that of any other flow. Disjoint flows are widely used in multipath routing
to enhance the system’s fault tolerance [Wang et al. 2009; Maimour 2008]. The second
type of topology is tree-based topology, which is used in many data collection applications and protocols, for example, the Collection Tree Protocol [Gnawali et al. 2009]. To
simplify our analysis, we first assume that all flows are disjoint with each other in this
section. We then relax this assumption and elaborate on our protocol design for the
tree-based topology in Section 4.5.
Under the disjoint flow model, we assume that there are m flows in the network.
Each flow is generated by a different source, and the packets are relayed to a different
destination. We assume that nodes operate in a periodic sleep schedule where each
sleep period consists of a sleep interval and a wake-up interval. The sleep interval
is the time duration when the node’s radio is off in each sleep period. The wake-up
interval is the time duration that a node has its radio on to transmit packets. Our
primary goal is to design a dynamic duty-cycle control policy to dynamically tune the
sleep interval of each node so that the communication on each data flow can achieve an
end-to-end delay guarantee while taking advantage of periodic sleeping to save energy.
We first introduce the following notation.
—G = (V, E). A WSN where V is the node set and E is the communication link set of
the network.
f
f
— f j . A link set which forms a single data flow with source u0 j and destination unj .
The node index in a flow is enumerated from 0 to n in the hop sequence. Specifically,
fj
f
f j = {(ui−1
, ui j ) ∈ E, 1 ≤ i ≤ n}. Under the disjoint flow model, f j ∩ fi = ∅, ∀i = j.
—F. The set of all m flows. Specifically, F = { f j |∀ j : 1 ≤ j ≤ m}.
f
fj
f
, ui j ), which is formally defined
—di j . The single-hop communication delay on link (ui−1
in Section 4.
f
—Drej f . The end-to-end delay requirement of flow f j .
f
f
—si j . The time length of the sleep interval in one sleep period of node ui j serving flow f j .
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:5
Our goal is to control the end-to-end communication delay according to a given endto-end delay requirement for each data flow. We formulate this problem as follows.
⎛
⎞
m 1
fj ⎟
fj ⎜
min
di ⎠ − Dre f .
(1)
⎝
m f
f
j
j
j=1 ∀(u ,u )
i−1
i
However, to solve this problem, one must know the global information of a flow in the
WSN, such as the communication delay of each hop. This is inefficient, especially when
flows have high hop counts. As our goal is to achieve the end-to-end delay control,
we decompose our end-to-end delay control problem into a set of single-hop delay
control subproblems. By achieving the single-hop delay control goal, we can control the
multihop end-to-end delay. Specifically, for each flow f j , our objective is.
f
i, f (2)
min di j − Dre fj ,
∀i, j
subject to the following constraints.
i, f
f
Dre fj = Drej f ,
(3)
i
f
di j ≥ Dmin,
(4)
f
si j ≥ 0,
i, f
Dre fj
(5)
fj
f
(ui−1
, ui j )
where
is the ith single-hop delay requirement for link
and Dmin is the
minimum transmission time for a packet to be successfully received by the receiver.
Constraint (3) enforces the single-hop delay requirement based on the end-to-end delay requirement. We elaborate on how to break the end-to-end delay requirement to
multiple single-hop delay requirements in Section 6. Constraint (4) means that the
single-hop transmission delay has a lower bound, which is decided by the transmission
rate of the radio and the packet size. Constraint (5) enforces that the sleep interval
of any node must be nonnegative. From Equation (2), we know that if each single-hop
re f
delay could be controlled to the exact value of the single-hop delay reference, Di, f ,
re f
the delay of the entire flow could be controlled to the end-to-end delay reference, D f ,
based on Constraint (3).
4. SINGLE-HOP DELAY CONTROL
In this section, we first present a single-hop delay model. Our model characterizes the
expected one-hop communication delay by taking into account several realistic factors,
such as network conditions and retransmission delays due to lossy links. Based on the
model, we introduce the design of the single-hop delay controller.
4.1. Single-Hop Delay Model
We assume that after packets are received by a node, they are immediately ready to
be transmitted to the next hop without a queuing delay. This assumption is relaxed
in Section 5. The sender is assumed to know the sleep schedule of the receiver. We
will discuss in Section 4.4 how this can be achieved. We also assume that the sender
will try to send the packet only once every time the receiver wakes up. If the packet is
not successfully received by the receiver during the wake-up time of the current sleep
period, the sender will go to sleep and try to send the packet at the receiver’s wake-up
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:6
X. Wang et al.
Fig. 1. Single-hop delay is the time length of the total sleep periods used to successfully transmit a packet.
time in the next period. This prevents a sender from continuing to use the channel for
a long time so that other nodes cannot get the channel during their wake-up times,
especially when the link quality is low. Thus, the time delay, d(k), for the kth packet to
transmit from the sender to the receiver can be modeled as
s(k − 1) + tdata
d(k) =
,
(6)
PRR(k)
where s(k − 1) is the sleep interval to be used at the receiver after the (k − 1)th packet
is received. PRR(k) is the average packet reception ratio estimated when the kth
packet is ready for transmission. It is a metric widely used to quantify the quality of
links [Woo et al. 2003]. tdata is the time needed to transmit one packet after getting the
channel, which includes processing time and the time to transmit the packet on the
radio. It can be approximated as a constant, because the packet size and transmission
rate usually do not change, and it is significantly smaller than the sleep period. Since
we do not use CSMA, tdata does not include a back-off time. Contention interference is
captured in PRR(k).
Figure 1 illustrates the single-hop delay model in Equation (6). The total singlehop delay is the number of transmissions it takes to successfully transmit the packet
multiplied by the time needed for each sleep period, which is the summation of the sleep
interval and the wake-up time for transmiting a packet. In the case that the packets
arrive aperiodically, we can simply add a time difference quantity to Equation (6),
which is defined as the time difference between the packet arrival time and the closest
wake-up time of the sender.
We assume that the average network condition of a link does not change frequently,
compared with the wake-up frequency of the node on that link. In this case, PRR
remains constant between the arrivals of two back-to-back packets. We assume that
the PRR values of the links in our network are higher than a threshold in order to reach
the communication link requirement [Woo et al. 2003]. Zhao and Govindan [2003]
show that the PRR value is temporally stable when it is relatively high. Therefore, we
simplify the PRR value to be a constant during the transmission of two consecutive
packets. Using Equation (6), we can derive the dynamic model of our single-hop communication delay as a difference equation in Equation (7), where s(k) = s(k+ 1) − s(k).
s(k)
(7)
PRR
In the preceding model, PRR is the estimated average success rate of the packet
transmission on a single link. In different areas of the network, we may have different
values of PRR due to network condition variations. In order to capture the uncertainty
of the network condition, we add an uncertainty ratio to our model.
d(k + 1) = d(k) +
d(k + 1) = d(k) + g
s(k)
,
PRR
(8)
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:7
where g represents the ratio between the estimation of PRR and the actual PRR under
the current network condition due to the uncertainty of the network environment. Note
that the exact value of g is unknown at design time due to the unpredictable network
condition. We explain how we handle this uncertainty in the next sections.
4.2. Feedback Controller Design
The core of any feedback control loop is the controller. In each control period, the controller monitors and controls a controlled variable by adjusting a system parameter,
called manipulated variable, in order to meet a system requirement, usually called
performance reference. In our problem, we try to control the single-hop delay of each
packet to meet the delay requirement by dynamically adjusting the receiver’s sleep
interval. Therefore, the controlled variable in our problem is the single-hop communication delay of the next packet. The manipulated variable is the sleep interval time that
the receiver sets for the next packet, and the performance reference is the single-hop
delay requirement, denoted as Dre f .
Note that the model in Equation (8) cannot be directly used to design the controller,
because g is used to model the uncertainties in the network conditions and thus is
unknown at design time. Therefore, we design the controller based on an approximate
system model, which is the model from Equation (8) with g = 1. In a real network, where
the packet reception ratio is different from the estimation, the actual value of g may be
different than 1. As a result, the closed-loop system may behave differently. However, in
the next section, we show that a single-hop delay controlled by the controller designed
with g = 1 can remain stable as long as the variation of g is within a certain range. This
range is established using a stability analysis of the closed-loop system by considering
model variations.
Following standard control theory [Franklin et al. 1997, p. 73–93], we design a
proportional (P) controller to achieve the desired control performance, such as stability.
We can derive the receiver’s desired sleep interval for the kth packet, as shown in
Equation (9).
s(k) = max{(Dre f − d(k)) × PRR + s(k − 1), 0}.
(9)
It is easy to prove that the controlled system is stable and has zero steady state
errors when g = 1. The detailed proofs and design procedures can be found in a
standard control textbook [Franklin et al. 1997, p. 73–93]. As shown in Equation (9),
the computational overhead of the P controller is just two additions/subtractions and
one multiplication and is thus small enough to be implemented in a real sensor mote.
The dynamics of s(k) depend on the network condition PRR, the current delay d(k), as
well as the previous sleep interval s(k − 1).
4.3. Stability Analysis for PRR Variation
In this section, we analyze the system stability when the designed P controller is used
in an area where g = 1. A fundamental advantage of the control-theoretic approach is
that it provides confidence for system stability, even when the packet reception ratio
deviates from the estimation.
If we conduct z-transform to the open-loop model of Equation (7), we can get the
following open-loop transfer function.
1
.
(10)
PRR(z − 1)
As we are designing a P controller, the closed-loop system function in z domain is
H(z) =
(Dre f − d(z))
K
= d(z),
PRR(z − 1)
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
(11)
42:8
X. Wang et al.
where K is the P controller. Therefore, the closed-loop system transfer function is:
G(z) =
=
d(z)
Dre f
g
,
z − (1 − g)
(12)
K
where g denotes PRR
.
The closed-loop system pole in Equation (12) is 1 − g. In order for the controller to be
stable, the pole must be within the unit circle. Hence, the system will remain stable as
long as 0 < g < 2. The result means that despite every link possibly having a different
g, in order to achieve stability, the estimated PRR of a link should be less than twice
its actual PRR. In WSN applications, we usually have a lower threshold of PRR, which
is the lowest PRR that can provide an acceptable communication quality [Woo et al.
2003]. If the actual PRR of a link is less than the threshold, we simply cannot use
this link for communication. As our goal is to dynamically control the sleep interval
to achieve the delay guarantee, we assume that the links in the control problem are
communication links. Thus, with a lower threshold of PRR, we can have the stability
guarantee. For example, if the threshold of PRR is 0.5, which indicates that a packet
is retransmitted twice on average before it is successfully received, we can use any
estimated PRR value in the controller for stability, since the estimated PRR is always
less than 1. Detailed empirical studies on link quality and PRR can be found in Woo
et al. [2003].
4.4. Implementation
A periodic sleeping scheme requires the sender to be aware of the receiver’s sleep
schedule so that the sender can also wake up to transmit packets when the receiver
wakes up. This means that the information of the sleep interval change of the receiver
needs to be shared by the sender. Therefore, we implement the controller on the receiver
side and take advantage of the ACK packet to feed the updated sleep interval back to
the sender side.
On the sender side, the sender first timestamps the packet when the packet is received (or generated if the sender is a source). Then the sender will add the transmission
times of the current packet in the packet header. This information is updated every time
the packet is transmitted (or retransmitted). Upon successfully receiving the packet,
the receiver calculates the time delay based on the time stamp on the sender side and
runs the controller to compute the new sleep interval for the receiver’s sleep scheduling,
starting from the next packet. The receiver then inserts the newly updated sleep interval value in the ACK packet and sends the ACK back to the sender. The sender updates
the receiver’s sleep scheduling information on its own side for future transmissions.
With the resolution of ms, a four-byte payload of the ACK packet is enough to carry
this information. To handle the loss of ACK packets, we further adopt a localized synchronization scheme. Whenever the sleep schedule is successfully updated at both the
sender and receiver through an ACK, we set up a timer with an interval several times
longer than the duty cycle. If the sleep schedule is not updated during this interval,
the sender and receiver wake up themselves and synchronize their schedules.
4.5. Integration of Multiple Controllers in a Tree-Based Network Topology
In Section 3, we assume that the problem formulation is based on a commonly used
topology, where each end-to-end flow is disjoint with other flows in the network. In this
type of network, each relay node only needs to serve a single sender. In addition to the
disjoint-flow network topology, tree-based topology is also a widely adopted topology
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:9
in WSN applications. There are basically two types of flow patterns in a tree topology
network: the multicasting flow pattern and the data collection flow pattern. DutyCon
can be easily modified for duty-cycle control in the multicasting flow pattern. With the
multicasting flow pattern, a sender only needs to send out the current packet when any
one of the receivers is awake until all the receivers have received the copy of the packet.
Compared with the multicasting flow pattern, the data collection flow pattern is
more challenging for DutyCon. In this case, each relay node serves more than one
sender such that flows generated from different sources can share the same relay node
for packet relaying. One approach to designing the feedback control sleep scheduling
mechanism for this multiple incoming-links case is to design a single, sophisticated,
multi-input single-output controller at the receiver such that the delay of multiple
incoming links can be controlled together. However, there is a major problem with
this approach. With a multi-input single-output controller, a relay node cannot take
advantage of the ACK packet to send the new schedule back, as we previously designed
for the disjoint flow case. Instead, it needs to generate new packets and send them to
all the senders with the new schedule information. This may significantly increase the
transmission overhead of the network, which can lead to undesired delay and energy
consumption. Therefore, in our approach, we allow each node to maintain several sleep
schedules at the same time, one for each incoming link. The shared node only goes to
sleep when all the sleep schedules are in the sleep state. The shared node wakes up
when any one of the sleep schedules needs to wake the node up for its incoming link.
Although a relay node with multiple incoming links does not show periodic sleeping
behavior overall, it actually follows the periodic sleep schedule of each incoming link.
5. QUEUING DELAY ADAPTATION
In the last section, we assume that the incoming packet rate on the sender side is
low, such that the packet is immediately available for transmission without a queuing
delay. However, the packet receiving time (or generating time) at the sender is usually
aperiodic and unpredictable, especially in tree-based topology and event-driven WSN
applications. If the packet-generation rate (or the arriving rate at the last-hop sender)
is high in such applications, the transmission of the packet may suffer additional time
latency because of the queuing delay at the sender. With the queuing delay, the model
of our transmission delay in Equation (6) is subject to changes. In this section, we
consider the queuing delay caused by the unpredictable packet rate when adjusting
the sleep interval for the next packet.
5.1. Impact of Queuing Delay
As introduced previously, when the incoming packet rate is high, the packet may suffer
additional delay from queuing on the sender side because of the busy MAC layer.
Therefore, we need to consider the queuing delay in our single-hop delay model. The
model from Equation (6) is changed as follows.
s(k − 1) + tdata
,
(13)
PRR(k)
where tq (k) is the queuing delay of the kth packet at the sender and D(k) is the total
delay when the queuing delay is counted. Compared with the queuing delay, the delay
incurred by the upper layer for computation purposes is small and negligible. Therefore,
the queuing delay can be calculated as the time difference between the moment the
packet is received and the moment the packet is ready to be sent in the MAC layer. In
essence, the queuing delay of the jth packet in the queue is the time needed to transmit
all the packets that are ahead of packet j in the queue. With the assumption we made
in Section 4.1—that the network condition does not change frequently—the queuing
D(k) = tq (k) +
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:10
X. Wang et al.
delay for the jth packet in the queue can be calculated as
tq ( j) =
j−1
n=1
d(n) =
j−1
s(n − 1) + tdata
n=1
PRR
.
(14)
From Equation (14), we know that the queuing delay of the jth packet in the queue
depends highly on the delay of all the packets ahead of it in the queue. The goal of
our design is to choose a sleep interval at the receiver such that the single-hop delay
for the next packet is controlled to the reference Dre f . Therefore, when calculating the
sleep interval at the receiver for the next packet, we need to consider its impact on the
queuing delays of all the packets in the queue on the sender side.
Suppose that the new sleep interval s(k) will be used until the queue on the sender
side empties. We can calculate the queuing delay of any packet (k + n) (the nth packet
currently in the queue) as
tq (k + n) =
n(s(k) + tdata )
∀n : 1 ≤ n ≤ j.
PRR
(15)
In order to achieve energy efficiency, we need to choose a maximum sleep interval s(k)
under the constraint that the new sleep interval will not cause any packet in the queue
to violate the delay requirement. We denote the slack time left for the (k + n)th packet
until it expires, based on the single-hop reference Dre f , as Tslack(k+ n). The formulation
of this sleep interval calculation is as follows.
max {s(k), 0},
(16)
Tslack(k + n) ≥ tq (k + n) + d(k + n),
∀n : 1 ≤ n ≤ j,
(17)
subject to the constraint
where j is the total packet number in the queue after the kth packet. Equation (16)
means that we choose the maximum sleep interval s(k), which can still satisfy the delay
requirement (Equation (17)) of all the remaining packets in the sender’s queue, such
that more energy can be saved. It is possible that some packets in the sender’s queue
will miss the single-hop delay requirement even when the receiver does not go to sleep.
In this case, the receiver should stay awake to receive the next packet directly without
going into sleep (i.e., the 0 case in Equation 16).
5.2. Implementation and Coordination with the Single-Hop Delay Controller
We now discuss the details of the implementation for the sleep interval calculation
when we need to adapt to the queuing delay. Similarly as with the single-hop delay
controller designed in Section 4, we implement the new sleep interval computation
on the receiver side. The difference is that the sender will first compute a minimal
nominal sleep interval based only on the slack time of each packet in the queue, without
considering the network condition. The nominal sleep interval is added to the first
packet in the queue, which is the next packet to be transmitted. Upon receiving the
packet, the receiver will calculate the real desired sleep interval for the next packet
based on the current network conditions. After the calculation of the new sleep interval,
the receiver uses the ACK packet to feed the sleep interval change back to the sender.
Since we have two approaches that both dynamically adjust the sleep interval at
the receiver—feedback delay control and queuing delay adaptation—a coordination
scheme must be designed in order to avoid any conflicts. In our design, we use queuing
delay adaptation when the queue at the sender is not empty. The reason being that
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:11
the delay controller controls the delay of every packet. If we use the delay controller
to perform feedback control for every packet when there are packets waiting in the
queue, the packets in the queue after the current packet are likely to miss their delay
requirements, as the delay controller does not consider the queuing delay incurred
by the unpredictable incoming packet rate. If there is no packet in the queue when
the current packet is sent at the sender, we then use the delay controller to perform
packet-level delay control.
6. SINGLE-HOP DELAY REQUIREMENT IN END-TO-END DELAY GUARANTEE
In the previous sections, we introduced how to control the single-hop delay based on
feedback control and queuing delay adaptation. As our final goal is to control the endf
to-end delay of a flow f j based on the requirement Drej f in this section, we introduce
i, f
how to set the single-hop delay requirement Dre fj such that all the single-hop delay
f
requirements along f j can add up to the end-to-end delay requirement Drej f , as required
by Constraint (3) in Section 3. As long as each hop can meet its single-hop delay
requirement, the desired end-to-end delay is guaranteed.
6.1. Worst-Case Assignment
The first assignment scheme for the single-hop delay requirement is to use the worstcase analysis approach from Wang et al. [2009]. Specifically, we perform the assignment
for the single-hop delay requirement by calculating the worst-case PRR of each hop
and assigning the single-hop delay requirement proportionally. The worst-case PRR
calculation is explained in detail in Wang et al. [2009]. After obtaining the worst-case
PRR for each link along the flow, we break the end-to-end delay requirement into a
single-hop delay requirement on each hop as follows.
1/PRRi,w f j
i, f
fj
Dre fj = w × Dre f ,
1/PRR
i, f j
i
(18)
j
, ui j ) on flow f j .
where PRRi,w f j is the worst-case PRR for link (ui−1
The worst-case assignment considers the worst-case scenario in the network such
that a hop with a worse PRRw is assigned a longer single-hop delay requirement. Those
nodes with shorter single-hop delay requirements will wake up more often than those
with longer delay requirements. This is a pessimistic and static assignment, because
the worst-case scenario does not happen frequently in real networks. By assigning an
unnecessarily longer delay requirement to the worse links in the worst-case scenario,
the nodes in the data flow may have unbalanced energy consumption.
f
f
6.2. Assignment for Energy Balancing
In this section, we introduce the second assignment scheme for single-hop delay requirements that achieves energy balancing. In a sensor network, if a node wakes up
more often than others, it consumes its energy more quickly. To achieve energy balancing, each node needs to have approximately the same duty cycle such that their power
consumption can be approximately the same. Therefore, a hop with worse link quality
needs to be assigned a longer single-hop delay requirement such that even when the
node needs to wake up more frequently to get packets successfully transmitted, its
power consumption rate is still about the same as that of the nodes at the hops with
better link quality.
We propose periodically updating the delay requirement at each hop in the flow. During the transmission of the packet, each node adds the actual average packet reception
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:12
X. Wang et al.
ratio information of its own receiving link into the packet. The sink will periodically
calculate the desired single-hop delay requirement based on the average packet reception ratio at each hop. The sink then sends out the updated delay assignment after
each calculation. The frequency that the sink needs to send out the single-hop delay
requirement depends on the stability of the network condition and is a systematic parameter that can be tuned after deployment. In a relatively stable environment, the
sink only needs to send out this packet in a low frequency, for example, every 500 s in
our later experiment, which yields a low overhead of 1% more packets in addition to the
data packets during the entire experiment time. All the nodes update their single-hop
delay requirement information upon receiving this requirement assignment packet.
Since the delay requirements are periodically updated based on the current network
conditions, each hop can have a fair delay requirement such that the duty cycle of
each receiving node is tuned to be approximately the same, thus leading to energy
consumption balancing. This procedure incurs a small overhead, as the calculation is
performed periodically. The period can be set relatively long if the network condition
does not change dramatically.
6.3. Discussion on Single-Hop Delay Requirement
The design goal of DutyCon is to provide an end-to-end delay guarantee while reducing
the duty cycle of each node to achieve energy efficiency. Whether a given end-to-end
delay requirement is achievable highly depends on the network condition. The minimal
delay requirement that can be achieved depends on the best link quality of a particular
environment. When all the nodes are working with 100% duty cycle (no sleeping) and
the network is under the best possible condition, the delay is then the minimal delay.
Denoting the best-case link quality of link i as PRRi,b f j , we can calculate the minimal
delay requirement by
n
1
(19)
× tdata ,
PRRi,b f j
i=1
where tdata is the transmission time of one packet and n is the total link number of the
flow f j .
7. HARDWARE TESTBED RESULTS
In this section, we first validate the design of our dynamic duty-cycle control (DutyCon)
scheme component by component, including the single-hop controller, queuing delay
adaptation control, and the integration of multiple single-hop controllers for tree-based
topology using hardware experiments.
We then evaluate the end-to-end delay control performance of different sleep scheduling schemes by comparing the average end-to-end delay to the end-to-end delay requirement. The average delay is the average value of the end-to-end delay on all the
packet transmissions. We also evaluate the energy consumption performance in terms
of the average duty cycle, which is the average amount of time that the radio chips
of the nodes are turned on for communication divided by the total experiment time.
A good sleep scheduling scheme should control the end-to-end delay close to the delay
requirement, while having a low duty cycle and thus low energy consumption.
7.1. DutyCon Components Validation
We first verify the single-hop feedback controller design with two experiments. We
use a pair of Telosb motes in both experiments. One of the two motes, serving as the
sender, generates packets in a uniform distribution with an average rate of one packet
per five seconds. The other mote serves as the receiver and controls its own sleep
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:13
Table I. Delay References in Different Periods
Packet ID
0–100
101–200
201–300
Delay Requirements (s)
1
2
1.5
Single Hop Delay (s)
4
3
Reference
2
1
0
0
100
200
300
Packet Number
Fig. 2. Single-hop delay under control when delay requirement changes at runtime.
Table II. PRR Values in
Different Periods
Packet ID
0–100
101–200
201–300
PRR
0.5
0.25
0.5
scheduling using the single-hop feedback controller. In the first experiment, we set
the delay requirement of the single-hop transmission to three different values during
three different periods in the transmission. The requirements are listed in Table I. The
results are shown in Figure 2. We can see that when the single-hop delay reference
changes, the single-hop delay can be approximately controlled to the new requirements
after a few packets. Please note that the delay requirements in Table I are for validation
purpose and can be changed to other values.
In the second experiment, we emulate the network condition change by manually
setting a packet retransmission number for the link in a given period. As a result, a
packet can only be received correctly after being retransmitted the number of times as
the setting. The retransmission requirement (PRR) for each period is listed in Table II.
The result is shown in Figure 3. We can see that despite the two instances at around
packet 100 and 200 when the network condition changes, the delays of all other packets
can be approximately controlled to the reference.
We now validate the queuing delay adaptation component using the same single-hop
transmission experiment setup. In this experiment, the sender generates 45 packets at
the rate of one packet every 5 s and then generates a burst of five packets with the rate
of one packet every 100 ms. By following this packet-generation pattern, the burst of
packets needs to be put in the queue before transmission. We compare the single-hop
transmission performance with and without the queuing delay adaptation components.
From Figure 4, we see that if only the single-hop delay controller is used without
the queuing delay adaptation component, the single-hop delay increases dramatically
when there is a burst of packets. With queuing delay adaptation, the receiver knows
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:14
X. Wang et al.
Single Hop Delay (s)
4
3
Reference
2
1
0
0
100
200
300
Packet Number
Fig. 3. Single-hop delay under control when network conditions change at runtime.
Fig. 4. Queuing delay adaptation validation.
that packets are waiting in the queue at the sender, such that the receiver can adjust
its sleep schedule to adapt to the queuing delay. Therefore, the single-hop delay can
be controlled to the requirement even with a burst of packets. We also change the
single-hop delay reference from 1s to 2s after 160 packets. We see that queuing delay
adaptation works as expected with both reference values in the experiment.
The last validation experiment we conduct is to validate the integration of a multiple single-hop feedback controller. We enable all the components of DutyCon in this
experiment and use a simple tree-based topology with four Telosb motes. The topology
is shown in Figure 5. Two motes serve as source nodes, and both send packets to a
single relay node. The relay node forwards the packet from the two sources to the base
station node. The end-to-end delay requirements for the two flows are set to 2s and 3s,
respectively. The results are shown in Figure 6. We can see that the end-to-end delays of
both flows are approximately controlled to their own delay requirements, respectively.
In Figure 7, we plot the duty cycle on the relay node in three different scenarios: when
only one flow (1 or 2) is transmitting packets and when both flows are transmitting. We
can see that since there are more packets to relay when both of the sources are turned
on, the relay node wakes itself up more often in order to meet the deadlines of both flows.
7.2. Single Flow under Different Deadline Requirements
We now test DutyCon in a scenario of end-to-end communications on a single endto-end transmission flow. The testbed we use consists of seven Telosb motes, five of
which construct a four-hop end-to-end communication flow. The remaining two motes
form a single communication link, periodically transmitting packets and introducing
interference to the four-hop flow. The distance between each two adjacent motes in the
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:15
Fig. 5. Topology of the experiment in Figure 6. The single-hop delay reference of each hop is labeled on the
links.
Fig. 6. DutyCon validation in a small tree-based network topology.
four-hop flow is 5 m. The interference link is placed 5 m apart from the center node of the
flow. The source of the four-hop end-to-end flow sends out packets, following the uniform
distribution at a rate of averagely one packet every three seconds. The interference link
transmits packets at the rate of one packet per second. Two hundred packets are sent
by the source in each run of the experiments. We configure the transmitting power of
the interference node to be small so that they will only interfere with the center node
of the end-to-end flow.
We evaluate the end-to-end delay control performance of DutyCon on the single flow
with different end-to-end delay requirements. We also compare DutyCon with a static
uniform duty cycle baseline. In this baseline, we set the same fixed duty cycle for every
node. The duty cycle we use is the highest duty cycle among all the links from the experiment using the DutyCon scheme. The reason we choose this duty cycle is that local
interference is usually unknown a priori. With a fixed duty cycle, we want to prepare for
the worst-case scenario. Therefore, we use the highest possible duty cycle. From the results in Figure 8, we can see that DutyCon can control the average end-to-end delay very
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:16
X. Wang et al.
Fig. 7. Duty cycle of the relay node in Figure 6 in three different runs of experiment. The high level of each
line indicates that the node has been awakened. The low level of each line indicates that the node is sleeping.
Fig. 8. End-to-end delay under different delay requirements.
close to the delay requirement at all different values. However, using the worst-case
duty cycle leads to unnecessarily low end-to-end delays in the static uniform duty cycle
scheme. Figure 9 shows the average duty cycle of all motes in the end-to-end flow except
that of the source node. We can see that the static uniform duty cycle scheme has much
higher duty cycles (and thus more energy consumption) than DutyCon at all different
delay requirements. The reason being that the baseline statically sets the duty cycles
of all links to the same worst-case value, which leads to an unnecessary energy waste.
From the average end-to-end delay and the average duty-cycle results, we see that
DutyCon can control the end-to-end delay close to the end-to-end delay requirement
using the feedback controller at each single hop of the flow. In the meantime, DutyCon
spends less time in waking up status (lower duty cycle), thus less energy consumption
for packet transmission. Unlike DutyCon, the uniform duty-cycle baseline spends excessive time staying awake, preparing for the worst-case scenario, and wasting energy,
while achieving unnecessarily low end-to-end delay compared to the delay requirement.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:17
Fig. 9. Average duty cycle under different end-to-end delay requirements.
Fig. 10. Tree-based network topology in a hardware experiment.
7.3. Tree-Based Network Topology with Different Deadline Requirements
In this set of experiments and the experiments in the following two sections, we evaluate the performance of DutyCon in a hardware testbed using a tree-based network
topology. The tree-based topology used in the experiments is illustrated in Figure 10.
The testbed is composed of 13 Telosb motes.
We first conduct experiments in the tree topology network with a data collection
flow pattern in which multiple sources generate multiple data flows to send packets
to a sink node. We vary the end-to-end deadline requirement in different runs of the
experiments. The end-to-end deadline requirement of each flow is the same in each
experiment. The source of each flow sends out packets with an average interval of
4 s. Figure 11 shows the average end-to-end delay performance under different endto-end deadline requirements. We see that DutyCon can control the end-to-end delay
close to the deadline requirement, while the static uniform duty cycle has an end-toend delay much shorter than the deadline requirement. Note that the shorter delay
of the static uniform duty cycle is the result of too frequently waking up every node
based on the highest duty-cycle node. Figure 12 shows the average duty cycles of the
two schemes. DutyCon has much lower duty cycles under all the different end-to-end
deadline requirements, which is a significant saving on the energy consumption.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:18
X. Wang et al.
Fig. 11. End-to-end delay under different delay requirements with data collection flow pattern (tree
topology).
Fig. 12. Average duty cycle under different end-to-end delay requirements with data collection flow pattern
(tree topology).
We also conduct experiments in the tree topology network with a broadcasting data
flow pattern in which a single node (i.e., the root node in the tree) broadcasts packets
to multiple destinations (i.e., leaf nodes in the tree). All the experiment parameters
are the same as in the previous experiment. We vary the end-to-end delay requirement
and evaluate the delay and duty cycle performance. From Figure 13, we see that
DutyCon can control the end-to-end delay very close to the enforced delay requirement,
while the static uniform duty cycle has unnecessarily low delay. The unnecessarily low
delay for the static uniform duty cycle results from an excessively high duty cycle, as
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:19
Fig. 13. End-to-end delay under different delay requirements with multicasting flow pattern (tree topology).
Fig. 14. Average duty cycle under different end-to-end delay requirements with multicasting flow pattern
(tree topology).
shown in Figure 14. On the contrary, by taking advantage of the feedback control and
queuing delay adaptation scheme, DutyCon has a much lower duty cycle, thus lower
energy consumption, while still maintaining a satisfactory end-to-end transmission
delay according to the delay requirement.
7.4. Tree-Based Network Topology with Different Source Packet Intervals
In this set of experiments, we vary the packet interval at each source node from 1 s
to 6 s. We only present the result with data collection flow pattern in this section.
The end-to-end delay requirement for each flow is set to 3 s. Figure 15 shows the
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:20
X. Wang et al.
Fig. 15. End-to-end delay under different source packet intervals (tree topology).
Fig. 16. Average duty cycle under different source packet intervals (tree topology).
average end-to-end delay performance of all the flows. We see that DutyCon can control
the average end-to-end delay close to the delay requirement, because it considers the
wireless transmission quality dynamically, such that the relay node serving more flows
can wake up more often to finish their one-hop transmission according to the one-hop
delay requirement. Without the dynamic control scheme, the static uniform duty cycle
can only wake up every node with the same sleep schedule according to the node with
the highest duty cycle. This results in excessively high duty cycles, which is shown in
Figure 16, leading to the unnecessarily low end-to-end transmission delay of every flow
and the waste of energy.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:21
Fig. 17. End-to-end delay under different number of flows (tree topology).
Fig. 18. Average duty cycle under different number of flows (tree topology).
7.5. Tree-Based Network Topology with Different Number of Flows
In this set of experiments, we vary the number of flows in our experiment from one
flow to six flows. We only present the result with data collection flow pattern in this
section. The end-to-end delay requirement of each flow is set to 3 s, and the source
packet interval at each source is set to 3 s. Figure 17 and Figure 18 are the average
end-to-end delay and the average duty cycle, respectively. From Figure 17, we see
that the average end-to-end delay can be controlled close to the requirement by using
DutyCon. However, the static uniform duty cycle scheme uses the worst-case node
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:22
X. Wang et al.
Fig. 19. Duty cycle of each junction node under different number of flows (tree topology).
duty cycle for all nodes in the network, such that the end-to-end delay is unnecessarily
low. Both schemes show a trend of increasing average duty cycle when more flows are
used in the experiment, as shown in Figure 18, because nodes need to wake up more
often to forward more packets when more flows are sharing one relay node. DutyCon
always has a lower duty cycle than the static uniform duty cycle scheme, which leads
to substantial energy savings.
Please note that the duty-cycle value in this tree topology experiment is higher than
that in the flow-based topology experiment in Section 7.2. This is mainly because in
a tree topology, each node—especially the node close to the sink—has more packets to
relay and because the interference is also more significant than that in the flow-based
network. Therefore, each node needs to wake up more often, thus having a higher duty
cycle, in order to get the packets successfully transmitted within the required deadline.
We also further investigate the duty cycle of each of the five junction nodes in
Figure 10 with different flow numbers. When the number of flows increases, the interference degree between nodes increases significantly. It is beneficial to see how DutyCon
and the baseline protocol handle the increase of interference degree, respectively. The
result is shown in Figure 19. We see that in order to catch the end-to-end deadline
when the interference degree increases, due to the increase in the flow number, the
duty cycle of each junction node also increases. Compared with the duty cycle when
using the static uniform duty-cycle protocol, all the junction nodes wake up less often
when using the DutyCon protocol, because when using DutyCon, each junction node
adapts to the dynamic change of its own environment. Differently from DutyCon, a
worst-case scenario is assumed by the static uniform duty-cycle protocol, which leads
to a high duty cycle. Please note that the number of junction nodes increases when the
number of flows increases, indicating that the interference degree is increasing.
8. SIMULATION RESULTS
In this section, we compare DutyCon and two other baselines using simulation experiments in the NS-2 simulator.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:23
8.1. Baselines and Simulation Settings
In order to show the efficiency of our design, we compare DutyCon with two recently
published baselines: Static Traffic Shaper (STS) and Dynamic Traffic Shaper (DTS)
[Chipara et al. 2005]. Both STS and DTS use traffic shaper to regulate the packet
transmitting time at every node such that the end-to-end communication delay can
be regulated. The reason we choose these baselines is that STS tries to control the
end-to-end communication delay by regulating traffic and DTS tries to regulate
packets mainly based on the packet rate, which makes them comparable to DutyCon.
Note that it has been demonstrated in Chipara et al. [2005] that STS and DTS
outperform SYNC [Ye et al. 2002], which features a fixed duty-cycle, and PSM [PSM],
which adapts a node’s duty cycle in response to the network load observed at the
MAC layer. Therefore, by outperforming STS and DTS, DutyCon also outperforms the
baseline protocols used by them.
The difference between STS and DTS is that STS enforces a static traffic shaping algorithm according to an end-to-end delay requirement and source data rate, while DTS
dynamically shapes the traffic only based on the source data rate. STS decomposes the
end-to-end delay requirement and assigns the same delay requirement to each single
hop. It also assigns a level to each node based on the distance from the destination. It
then regulates the sending time at each node based on the local delay requirements, the
node level, and the source packet rate. DTS, however, does not enforce the end-to-end
delay requirement. It always sets the next packet sending time as the current packet
sending time plus the interpacket time at the source.
8.2. Different Delay Requirements in Flow-Based Networks
In this set of experiments, we evaluate the different protocols under different end-toend delay requirements in a disjoint flow network. Every flow in this set of experiments
and the following experiments with the disjoint flow network consists of five nodes with
100 m distance between each hop in a single flow. Flows are randomly deployed in the
topology, where each flow has an intersection with some other flows. The source of
each flow generates packets in a uniform distribution. The average packet rate is
one packet every three seconds. Three end-to-end communication flows are used in
this set of experiments. Because only the baseline STS enforces an end-to-end delay
requirement, we compare the performance of our protocol only to STS in this section.
Figure 20 shows the average end-to-end delay performance under different delay
requirements. We can see that when the delay requirement is loose (from 3–6 s),
DutyCon can control the average end-to-end delay very close to the desired value. The
baseline STS does not have effective control of the average end-to-end delay.When the
end-to-end delay requirement is tight (1–2 s), the average end-to-end delays of both
DutyCon and STS are longer than the delay requirement. However, DutyCon performs
better than STS in these two cases.
The reason being that when the end-to-end delay requirement is loose, DutyCon
controls the average delay of each hop to converge to the single-hop delay requirement,
such that the average end-to-end delay can be controlled. When the desired end-to-end
delay is tight, the delay requirements of each single-hop are too tight such that the
controllers of some hops become saturated. When saturation happens on a single-hop
controller, the receiver of that hop is already working at a 100% duty cycle and cannot
wake up more often. However, due to the bad link quality of that hop, the single-hop
deadline cannot be met even with this 100% duty cycle, leading to some packets missing
the end-to-end delay requirement.
The baseline STS statically estimates the sending time of each packet based on
the source packet rate and the single-hop delay requirement. The randomness of
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:24
X. Wang et al.
Fig. 20. End-to-end delay under different delay requirements.
Fig. 21. Average duty cycle under different end-to-end delay requirements.
packet generation leads to the inaccurate estimation of the sending time at each hop.
Therefore, the end-to-end delay is not well controlled to the desired value. Moreover,
for tight end-to-end delay requirements, STS cannot give a good end-to-end delay
guarantee, because all the nodes of the same level in STS wake up at the same time
and try to send a packet, which leads to a higher interference degree in the network.
Figure 21 is the result of the average duty cycle under different end-to-end delay
requirements. When the desired delay is tight (1–2 s), the wake-up time of DutyCon
is only half of that of STS, because with a tight single-hop delay requirement, estimation of the sending time by STS is always earlier than the actual packet ready
time at the sender, resulting in a long wake-up time on the receiver side. When the
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:25
Fig. 22. End-to-end delay under different number of flows.
delay requirement is 4–5 s, STS has less duty cycle than DutyCon. However, the two
corresponding points in Figure 20 show a longer delay than the requirements. When
the delay requirement is 6 s, STS stays awake for a longer time than DutyCon, which
leads to a shorter end-to-end delay in Figure 20. The results indicate that when the
delay requirements are loose, STS can violate the end-to-end delay requirements, while
other times, it consumes unnecessarily high energy for an unnecessarily short delay.
DutyCon, however, achieves a good trade-off between energy and end-to-end delay by
controlling the delay close to the requirement.
8.3. Different Flow Numbers in Flow-Based Networks
In this section, we evaluate the performance of DutyCon and the two baseline protocols
by varying the number of flows in the network. With more flows, there will be additional
interference in the network. The end-to-end delay requirement of each flow is set to
four seconds.
Figure 22 shows the average end-to-end delay performance. DutyCon can always
control the average end-to-end delay close to the requirements. The delay of STS is
always higher than the requirement, especially when there are more flows in the
network, because when the number of flows increases, the number of nodes at the same
level increases, leading to a higher degree of interference when they wake up together
and try to send packets. DTS has a shorter delay only when the flow number is 2. When
the flow number is more than 2, DTS shows a significantly higher delay compared with
DutyCon and STS. The reason being that DTS always estimates the next packet sending
time as the previous packet time plus the packet interval at the source. This inaccurate
estimation causes the packets to be stacked in the queue such that all the packets suffer
significant queuing delays. Among these three schemes, DutyCon shows the best endto-end delay as it utilizes the feedback control scheme to dynamically adapt to network
environment changes. Furthermore, it features the queuing delay adaptation scheme
to adapt the duty cycle to the queuing delay, especially when the number of flows is
large. More flows incur more interference in the network, which causes more packets to
be stacked in the queue. However, with the queuing delay adaptation scheme, DutyCon
can handle this problem significantly better than the two baselines.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:26
X. Wang et al.
Fig. 23. Average duty cycle under different number of flows.
Figure 23 shows the average duty cycles of the three protocols with different numbers
of flows in the network. DTS has a lower duty cycle in all the situations, because the
estimation of the next packet sending time is always later than the packet ready time,
in most cases. Most packets are stacked in the queue so that when the receiver wakes
up, there is always a packet ready for sending at the sender. This leads to a short
wake-up time at the receiver. STS shows a higher duty cycle when there are more flows
in the network. The higher degree of interference caused by additional flows leads to
the longer waking up time in STS. DutyCon has a moderate duty cycle compared with
the two baselines.
8.4. Different Node Numbers in Flow-Based Networks
In this section, we randomly deploy five disjoint flows in each experiment. We evaluate
the performance of DutyCon and the baseline protocol STS by varying the number
of nodes, from five to ten, in each flow in different experiments. With ten nodes of
each flow, the total node number in the entire network is 50. The end-to-end delay
requirement of each flow is set to four seconds in all experiments
From Figure 24, we see that DutyCon can control the end-to-end delay close to the
4s end-to-end delay requirement in each experiment with different numbers of nodes
in each flow. Even with ten nodes in each flow, DutyCon can still achieve satisfactory
end-to-end delay performance with minor violations. However, the baseline STS cannot
meet the end-to-end delay requirement in most of the experiments, especially when the
number of nodes in each flow is large. This demonstrates that DutyCon has better scalability compared with the baseline protocol when the flow length increases. Figure 25
shows the average duty cycle of the each experiment. We see that when the node number increases in each flow, both protocols show an increase in the average duty cycle
and thus the energy consumption, because with a same end-to-end delay requirement
and a larger node number in each flow, the single-hop delay requirement of each hop
is shorter as nodes need to wake up more often to catch the deadline. Between the
two protocols, DutyCon shows a slower increasing trend in the average duty cycle than
STS, which demonstrates that DutyCon is also more scalable on energy consumption.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:27
Fig. 24. End-to-end delay under different number of nodes in each flow.
Fig. 25. Average duty cycle under different number of nodes in each flow.
8.5. Performance Evaluation in Tree-Based Networks
In this section, we evaluate the performance of DutyCon and the baseline STS in a
tree-based network. The network topology is shown in Figure 26. We use a binary
tree structure consisting of 15 nodes. There are eight flows in the network, one from
each leaf node. We vary the end-to-end delay requirement of all the flows in the first
set of experiments. Figure 27 shows the average end-to-end delay under different
delay requirements. We see that DutyCon can control the end-to-end delay closer to
the requirements compared to the baseline STS, because when more flows need to be
served, the packet arriving time becomes more unpredictable such that STS cannot
predict the sleeping time well. However, DutyCon controls each single-hop delay based
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:28
X. Wang et al.
Fig. 26. Tree-based network topology used in simulation.
Fig. 27. End-to-end delay under different delay requirements (tree topology).
on the requirement. It handles the unpredictable packet arriving time better than STS,
thus leading to a lower end-to-end delay. Figure 28 shows the average duty cycle of the
two protocols. We see that DutyCon has a lower average duty cycle than STS under all
the different end-to-end delay requirements, because to serve more flows, STS needs to
keep waking up the sharing nodes for a long time, such that all the packets from child
nodes can be received. In contrast, DutyCon controls the sleeping schedule of each node
based on each incoming link separately, such that the node can go to sleep more often.
In the second set of experiments with the tree-based topology, we vary the source
packet intervals. Figure 29 shows the average end-to-end delay performance. We see
that DutyCon controls the end-to-end delay closer to the desired set point than the STS
protocol because of the single-hop feedback controller and the queuing delay adaptation
scheme that can effectively handle the unpredictable incoming packets. Figure 30
shows the average duty cycle of the two protocols. The average duty cycle decreases
when the source packet interval increases for both the two protocols. DutyCon has a
lower average duty cycle in most of the cases than does the baseline STS. We note
that the duty cycle of DutyCon does not decrease as fast as STS when the interpacket
interval increase, because DutyCon wakes up nodes at least once every single-hop
delay period in order to prepare for a randomly generated packet. However, if we know
the packet-generation pattern at the source, this can be resolved. Based on the known
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:29
Fig. 28. Average duty cycle under different delay requirements (tree topology).
Fig. 29. End-to-end delay under different source packet intervals (tree topology).
packet-generation pattern, we can apply DutyCon for duty-cycle control when there
is a packet for transmission. In the other case, when there is a long interval without
any packet generated from the source node, nodes along the flow can just sleep for
a long period of time without waking up at all. Again, this modification requires a
priori knowledge of the packet-generating pattern at the source, which is usually not
available in many event-driven applications.
8.6. Benefit of Energy Balancing
In this section, we evaluate the network lifetime and energy balancing on each node
under three single-hop delay assignment schemes. The first is worst-case assignment,
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:30
X. Wang et al.
Fig. 30. Average duty cycle under different source packet intervals (tree topology).
which estimates the worst-case PRR, as introduced in Section 6. The second is the
energy balancing scheme proposed in Section 6. In this scheme, we apply the energy
consumption balancing scheme to update the delay requirements of each hop periodically, at a rate of every 500 seconds. The third is called even assignment, where we
assign the delay requirements evenly to each hop of the flow.
Eleven nodes are used to construct a ten-hop single flow in this experiment. Two
additional pairs of nodes, forming two single-hop communication links, are placed
close to node 5 to introduce interferences to the single flow. The interference signal
can be received by nodes 4, 5, and 6. The average packet interval at the source of the
end-to-end flow is set to five seconds, and the packet interval at the interference pairs
is set to one second. We repeat this end-to-end transmission experiment with different
end-to-end delay requirements. The experiment runs until one of the nodes in the flow
exhausts all of its initial energy. The entire simulation time of each experiment is
considered as the lifetime of the single-flow network.
Figure 31 shows the average network lifetime under each scheme. The values are
normalized to the longest lifetime of all three schemes. The experiment is conducted
repeatedly with different delay requirements. The energy balancing scheme always has
the longest network lifetime for all the different delay requirements. When the end-toend delay requirement is three seconds, the worst-case assignment only achieves an
80% lifetime, normalized to the lifetime of the energy balancing scheme. The results
demonstrate that the single-hop delay assignment scheme is critical to the lifetime of
the network when employing DutyCon.
We then examine the distribution of the remaining energy among all the nodes. In
this experiment, the total number of packets that the end-to-end flow needs to transmit
is fixed. Figure 32 shows the remaining energy of each node in the single flow after
the completion of all the transmissions. When using even assignment, the remaining
energy of nodes 4, 5, and 6 is significantly lower than that of the other nodes, because the even assignment scheme does not consider the different network conditions
in different areas of the network. With the same single-hop delay requirement, the
interference around nodes 4, 5, and 6 makes the three nodes wake up more often,
leading to additional energy consumption. There is a 15% difference in the remaining
energy between the most and the least remaining energy from all the nodes. The second
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:31
Fig. 31. Average lifetime normalized to the maximum under the three single-hop delay requirement assignment schemes.
Fig. 32. Remaining energy of each node.
scheme, worst-case assignment, tends to pessimistically assign an unnecessarily long
delay requirement to the the hops that are estimated offline to have more interference.
Therefore, nodes 4, 5, 6, and 7 have a lower duty cycle than all other nodes, which leads
to their lower energy consumption. The difference between the most and least remaining energy under worst-case assignment is approximately 25% in this experiment. The
energy balancing scheme has the best energy balancing by periodically updating the
delay requirements for each hop based on the current network conditions. As a result,
the difference between the most and least remaining energy is only approximately 8%
under the energy balancing scheme.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
42:32
X. Wang et al.
9. CONCLUSION
In many WSN applications with user-specified delay requirements, the duty cycle of
every node should be individually tuned dynamically based on the network conditions
in order to achieve the desired end-to-end delay guarantees. In this article, we have
proposed DutyCon, a dynamic duty-cycle control approach that decomposes the
end-to-end delay guarantee problem into a set of single-hop delay guarantee problems
along each data flow in the network. We then formulate the single-hop delay guarantee
problem as a dynamic feedback control problem. DutyCon is designed rigorously based
on well-established feedback control theory for analytic assurance of delay control
accuracy and system stability. DutyCon also features a queuing delay adaptation
scheme that adapts the node duty cycle to unpredictable packet rates, as well as a
novel energy-balancing approach that extends the network lifetime by dynamically
adjusting the delay requirements allocated to each hop in a data flow. Both empirical
results on a hardware testbed and extensive simulations demonstrate that DutyCon
can effectively achieve the desired trade-off between end-to-end delay and energy
conservation in two commonly adopted WSN network topologies, flow-based networks
and tree-based networks. Our simulation results also show that DutyCon outperforms
two baseline sleep scheduling protocols by having more energy savings while meeting
the end-to-end delay requirements.
REFERENCES
ABDELZAHER, T. F., STANKOVIC, J. A., LU, C., ZHANG, R., AND LU, Y. 2003. Feedback performance control in
software services. IEEE Control Syst. Mag. 23, 2003.
BUETTNER, M., YEE, G. V., ANDERSON, E., AND HAN, R. 2006. X-MAC: A short preamble mac protocol for dutycycled wireless sensor networks. In Proceedings of the 4th ACM Conference on Embedded Networked
Sensor Systems.
CACCAMO, M., ZHANG, L. Y., AND SHA, L. 2002. An implicit prioritized access protocol for wireless sensor
networks. In Proceedings of the 23rd IEEE International Real-Time Systems Symposium.
CERPA, A., WONG, J. L., POTKONJAK, M., AND ESTRIN, D. 2005. Temporal properties of low power wireless
links: Modeling and implications on multi-hop routing. In Proceedings of the 6th ACM International
Symposium on Mobile Ad Hoc Networking and Computing.
CHIPARA, O., LU, C., AND ROMAN, G.-C. 2005. Efficient power management based on application timing semantics for wireless sensor networks. In Proceedings of the 25th International Conference on Distributed
Computing Systems.
FRANKLIN, G. F., WORKMAN, M. L., AND POWELL, D. 1997. Digital Control of Dynamic Systems. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA.
GNAWALI, O., FONSECA, R., JAMIESON, K., MOSS, D., AND LEVIS, P. 2009. Collection tree protocol. In Proceedings
of the 7th ACM Conference on Embedded Networked Sensor Systems.
GU, Y., HE, T., LIN, M., AND XU, J. 2009. Spatiotemporal delay control for low-duty-cycle sensor networks. In
Proceedings of the 30th IEEE International Real-Time Systems Symposium.
HA, R. W., HO, P.-H., AND SHEN, X. S. 2006. Cross-layer application-specific wireless sensor network design
with single-channel csma mac over sense-sleep trees. Comput. Commun. 29, 3425–3444.
HE, T., STANKOVIC, J., LU, C., AND ABDELZAHER, T. 2003. SPEED: A stateless protocol for real-time communication in sensor networks. In Proceedings of the 23rd International Conference on Distributed Computing
Systems.
HE, T., VICAIRE, P., YAN, T., CAO, Q., ZHOU, G., GU, L., LUO, L., STOLERU, R., STANKOVIC, J. A., AND ABDELZAHER,
T. F. 2006. Achieving long-term surveillance in vigilnet. In Proceedings of the 25th IEEE International
Conference on Computer Communications.
KARENOS, K. AND KALOGERAKI, V. 2006. Real-time traffic management in sensor networks. In Proceedings of
the 27th IEEE International Real-Time Systems Symposium.
LE, H. K., HENRIKSSON, D., AND ABDELZAHER, T. 2007. A control theory approach to throughput optimization
in multi-channel collection sensor networks. In Proceedings of the 6th International Conference on
Information Processing in Sensor Networks.
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.
DutyCon: A Dynamic Duty-Cycle Control Approach
42:33
LIN, S., ZHANG, J., ZHOU, G., GU, L., STANKOVIC, J. A., AND HE, T. 2006. ATPC: Adaptive transmission power
control for wireless sensor networks. In Proceedings of the 4th ACM Conference on Embedded Networked
Sensor Systems.
LU, C., BLUM, B. M., ABDELZAHER, T. F., STANKOVIC, J. A., AND HE, T. 2002. RAP: A real-time communication
architecture for large-scale wireless sensor networks. In Proceedings of the 8th IEEE Real-Time and
Embedded Technology and Applications Symposium.
LU, G., KRISHNAMACHARI, B., AND RAGHAVENDRA, C. S. 2004. An adaptive energy-efficient and low-latency mac
for data gathering in wireless sensor networks. In Proceedings of the 18th International Parallel &
Distributed Processing Symposium.
MAIMOUR, M. 2008. Maximally radio-disjoint multipath routing for wireless multimedia sensor networks.
In Proceedings of the 4th ACM International Workshop on Wireless Multimedia Networking and
Performance Modeling.
MERLIN, C. AND HEINZELMAN, W. 2008. Duty cycle control for low-power-listening mac protocols. In Proceedings
of the 5th IEEE International Conference on Mobile Ad-hoc and Sensor Systems.
MERLIN, C. AND HEINZELMAN, W. 2010a. Duty cycle control for low-power-listening mac protocols. IEEE Trans.
Mobile Comput. 9, 11 (Nov.), 1508–1521.
MERLIN, C. AND HEINZELMAN, W. 2010b. Schedule adaptation of low-power-listening protocols for wireless
sensor networks. IEEE Trans. Mobile Comput. 9, 5 (May), 672–685.
MIN, Y., YANG, L. T., WANG, F., AND WANG, W. 2008. Dynamic sleeping algorithm based on AHP for wireless sensor networks. In Proceedings of the 2nd International Conference on Future Generation Communication
and Networking. Vol. 2. IEEE Computer Society, 387–392.
NING, X. AND CASSANDRAS, C. 2008. Optimal dynamic sleep time control in wireless sensor networks. In
Proceedings of the 47th IEEE Conference on Decision and Control.
POLASTRE, J., HILL, J., AND CULLER, D. 2004. Versatile low power media access for wireless sensor networks.
In Proceedings of the 2nd ACM Conference on Embedded Networked Sensor Systems.
POLASTRE, J., SZEWCZYK, R., AND CULLER, D. 2005. Telos: Enabling ultra-low power wireless research. In
Proceedings of the 4th International Conference on Information Processing in Sensor Networks.
RAJENDRAN, V., OBRACZKA, K., AND GARCIA-LUNA-ACEVES, J. J. 2003. Energy-efficient collision-free medium
access control for wireless sensor networks. In Proceedings of the 1st ACM Conference on Embedded
Networked Sensor Systems.
RHEE, I., WARRIER, A., MIN, J., AND XU., L. 2006. DRAND: Distributed randomized tdma scheduling for
wireless ad-hoc networks. In Proceedings of the 7th ACM International Symposium on Mobile Ad Hoc
Networking and Computing.
TANG, L., SUN, Y., GUREWITZ, O., AND JOHNSON, D. 2011. PW-MAC: An energy-efficient predictive-wakeup mac
protocol for wireless sensor networks. In Proceedings of the 30th IEEE International Conference on
Computer Communications.
VAN DAM, T. AND LANGENDOEN, K. 2003a. An adaptive energy-efficient mac protocol for wireless sensor
networks. In Proceedings of the 1st ACM Conference on Embedded Networked Sensor Systems.
VAN DAM, T. AND LANGENDOEN, K. 2003b. An adaptive energy-efficient mac protocol for wireless sensor
networks. In Proceedings of the 3rd ACM Conference on Embedded Networked Sensor Systems.
WANG, X., WANG, X., XING, F., XING, G., AND JHA, N. 2009. Flow-based real-time communication in multi-channel
wireless sensor networks. In Proceedings of the 6th European Conference on Wireless Sensor Networks.
WANG, X., WANG, X., XING, G., AND YAO, Y. 2010. Dynamic duty cycle control for end-to-end delay guarantees
in wireless sensor networks. In Proceedings of the 18th International Workshop on Quality of Service.
WOO, A., TONG, T., AND CULLER, D. 2003. Taming the underlying challenges of reliable multihop routing in
sensor networks. In Proceedings of the 1st ACM Conference on Embedded Networked Sensor Systems.
YE, W., HEIDEMANN, J., AND ESTRIN, D. 2002. An energy-efficient mac protocol for wireless sensor networks. In
Proceedings of the 21st IEEE International Conference on Computer Communications.
ZHAO, J. AND GOVINDAN, R. 2003. Understanding packet delivery performance in dense wireless sensor
networks. In Proceedings of the 1st ACM Conference on Embedded Networked Sensor Systems.
Received December 2011; revised June 2012; accepted August 2012
ACM Transactions on Sensor Networks, Vol. 9, No. 4, Article 42, Publication date: July 2013.