Duty Cycle Control for Low-Power-Listening MAC

Protocols
Christophe J. Merlin and Wendi B. Heinzelman
Department of Electrical and Computer Engineering,
University of Rochester, Rochester NY
{merlin, wheinzel}@ece.rochester.edu

Abstract—Energy efficiency is of the utmost importance in
wireless sensor networks. The family of Low-Power-Listening
MAC protocols was proposed to reduce one form of energy
dissipation—idle listening, a radio state for which the energy
consumption cannot be neglected. Low-Power-Listening MAC
protocols are characterized by a duty cycle: a node probes the
channel every ti s of sleep. A low duty cycle favors receiving
nodes because they may sleep for longer periods of time, but at
the same time, contention may increase locally, thereby reducing
the number of packets that can be sent. We propose two new
approaches to control the duty cycle so that the target rate of
transmitted packets is reached, while the consumed energy is
minimized. The first approach, called asymmetric additive duty
cycle control (AADCC), employs a linear increase / linear decrease
in the ti value based on the number of successfully received
packets. This approach is easy to implement, but it cannot
provide an ideal solution. The second approach, called dynamic
duty cycle control (DDCC) utilizes control theory to strike a
near-optimal balance between energy consumption and packet
delivery successes. We generalize both approaches to multi-hop
networks. Results show that both approaches can appropriately
adjust ti to the current network conditions, although the dynamic
controller (DDCC) yields results closer to the ideal solution. Thus,
Fig. 1. Schedule for B-MAC, X-MAC, MX-MAC and SpeckMAC-D.
the network can use an energy saving low duty cycle, while
delivering up to four times more packets in a timely manner
when the offered load increases.
the IEEE 802.15.4 [5] compliant Chipcon CC2420 [6] radio.
Consequently, researchers introduced new compatible LPL
I. I NTRODUCTION protocols such as X-MAC [7], SpeckMac-D [8], and MX-
Today more than ever, sensor network applications require MAC [9]. These protocols are based on repeating either the
individual nodes to lower their energy consumption in order to data packet itself or an advertisement packet, in place of
support an application for longer periods of time. Every layer long preambles. The transmission schedules (hereafter “MAC
in the protocol stack must reduce its own energy dissipation. schedule”) of some LPL MAC protocols are given in Figure 1.
Low-Power-Listening (LPL) protocols form a family of MAC
protocols that drastically reduce idle listening, a state of the Previous work [9] has shown that, along a one-hop link,
node when its radio is turned on and in receive mode, but not longer ti values favor receiving nodes, because longer ti values
receiving any packets. lower a node’s duty cycle while switching to Receive mode
In a LPL protocol, nodes probe the channel every ti s, and for the same period of time within the duty cycle. On the
if they do not receive any data during this probe, they return to other hand, nodes that are mostly sending can greatly reduce
sleep for another ti s. Aloha with preamble sampling (PS) [1], their energy consumption if the ti value is low: they can stay
WiseMAC [2], and B-MAC [3] were among the first random in Sending mode for shorter periods of time. Consequently,
access MAC protocols to be proposed1. All these protocols there is a trade-off between the nodes at the two ends of
send data packets with very long preambles so as to ensure that a unidirectional wireless link. In addition, lower duty cycles
the intended receiver will stay on upon probing the medium. often cause contention in areas of the network experiencing
However, the protocols are not adapted to recent radios like higher rates of packet transmissions. As Figure 1 shows, only
one data packet can be transmitted per cycle, which can cause
1 In his taxonomy of MAC protocols [4], Langendöen identifies Low-Power-
a node to miss the target rate m∗ of packet transmissions.
Listening and Preamble Sampling protocols as two branches of random access
MAC protocols, with the only difference that LPL MAC protocols need not In [10], Jurdak et al. convincingly argue that a fixed ti value
know anything about their neighbors and their wake-up schedules. does not fit WSN deployments where the node locations and

propose to optimize channel assignment to network. it would have to be set intended receiver wakes up. Section VI lifts this last be easily modeled with the nodes’ individual load. existing methods that use results of control theory to adapt we must utilize a path synchronization scheme that. The throughput on individual channels can to single-branch multi-hop networks. lowering the duty cycle consequently. We generalize both methods to multi-hop networks. but it is not part of the narrower LPL family. The second one (DDCC) a protocol designer must account for busy regions of the borrows from control theory to dynamically adjust the duty network. More generally. starting DDCC optimizes the duty cycle for both energy use and packet with only one data source. The first one is an intuitive linear increase / lin. E STIMATION AND C ONTROL FOR M ULTI . Maintaining a of ti control for multi-hop networks with several sources. is a related channel probing protocol. When the total load of a multi-hop network with several sources. allows areas of the network to remaining energy (or the node which the application deems run at a lower duty cycle. which can cause The low-power-listening family is composed of many MAC overshooting and undershooting—instability of the system protocols [3] [7] [8] [9] [11]. a fixed ti value would have to be set conservatively. All these protocols are character. After forming their routing tree. or ALPL. Section V expands these results theory approach. We Consequently. Adaptive Low- minimize the energy consumed by the node with the lowest Power-Listening. Because a packets to send can start transmitting a short time before its fixed ti value is decided a-priori. use control theory to adapt the duty then lift the last restriction (only one source) through the study cycle of nodes capable of harvesting energy. Contrary to ALPL. reestablishes linearity in the system. among parameters in a WSN include [13] and [14]. most important). lowering ti will transmit per second based on the expected number of (increasing the duty cycle) will have no adverse effect on the packets they and their descendant nodes will originate. away from the data sink. the idea of adaptive duty cycles in LPL protocols. Because ear decrease scheme (AADCC). especially because wireless sensor and actuator network as well. cycle in dynamic conditions. the smaller the packet rate it is expected to carry. thus forcing idle subregions to slowly changing paths. which constraint and presents results showing successful ti control includes that of its descendant nodes. Nodes running WiseMAC Because low duty cycle schemes tend to create contention must exchange scheduling information so that a node with and delays. Its duty cycle can thus be lowered to a smaller value than will cause packets to be dropped. Section III introduces the which constitutes a marked difference from our goals. nodes transmitting on this channel may change to another channel j 6= i with a II. Section IV presents simulation results using both increase the throughput in multi-channel WSNs using a control schemes AADCC and DDCC. of changing environmental patterns such as the weather. much AADCC protocol and the theoretical foundations for DDCC of their underlying theoretical foundations are similar to those and expands on these to adapt to our specific problem of in the first part of our work. For the dynamic controller (DDCC). DDCC can also be extended to control the approaches do not use a heuristic and DDCC adapts the duty energy consumed by both the sending and receiving nodes on cycle to meet the target rate of packets. our propose to arbitrate. a Preamble S YSTEMS Sampling MAC. ized by a trade-off in terms of energy savings for the sending and receiving nodes. This is the conflict that we that of nodes closer to the data sink. networks require such solutions. R ELATED W ORK probability proportional to the difference (error) between Mr and Mi . [12]. guarantees little contention for instance). These target rate m∗ of successfully sent packets. Vigorito et al. so there is no need for ti control. response. and it will reduce values are periodically announced by the nodes. we consider only conservatively to accommodate areas in the network where LPL MAC protocols for their capacity to synchronize along traffic is expected to be heavy. which cannot be easily modeled. If N is mostly sending.VARIABLE on each individual MAC schedule. Examples of selection is performed. While the idea of dynamic duty cycling for MAC protocols In this paper. Although they set out to control The remainder of this paper is organized as follows. a node wishing to send m∗ packets may not be able . we propose two adaptive solutions to adjust was explored by Lin et al. Section VII Mi on channel i is above its optimal value Mr (one that concludes this paper and discusses the results. Section II presents related work. Le et al. The further the energy dissipation for N . The goal of our methods is to by running at an unnecessarily high duty cycle.traffic patterns are not uniform over the network. ti control for channel-probing MAC protocols in a one-hop In [14]. while exchanging a each individual node can evaluate the number of packets they target number of packets. the fewer children a node has. cycle of the nodes based on a small set of parameters. referred to as node N . Jurdak et al. sufficient power supply level is a non-trivial problem because To successfully control the duty cycle with several sources. many parts of the network would waste energy begin with one-hop networks. Le et al. we provide a methodological The idea of using control theory in sensor networks is not framework that can be applied to control other aspects of the a new one. and However. waste energy. In our unique approach. [10] introduced the duty cycle. In this work. although to varying degrees that depend III. only one parameter in the system (the energy supply level). We In [13]. The improvements to an existing path synchronization technique authors introduce a model-free approach to adapt the duty are introduced to support multiple branches. while reducing the energy dissipation for N . (increasing ti ). a wireless link. WiseMAC [2]. when N is mostly receiving. as is often the case when source transmissions. also account for delay. other many benefits.

producing an output y(t). the minimization of MAC protocol. m∗ (t + 1). Asymmetric Additive Duty Cycle Control send the target number of packets m∗ . The network is and y 0 represents the next value taken by y and g0 is a represented by a “plant” that reacts to an input u(t) by constant. to send m∗ packets is the subject of this section. The objective value y ∗ (t + 1) becomes B is designated as node N . Equation 3 can be put in the form: dynamic controller. control based on the number of consecutive packet transmis. or ti ((k + 1)T ) = ti (kT ) − 0. duty cycle control (AADCC). additive controller can produce better results than a static ti First. The Dynamic Regulator In this first part of our work. it may elect to increase B and C) and its state x(t) cannot be a-priori known. Likewise. Background for Dynamic Control ⇔ (1 − aq )y(t) = bq u(t) + (1 + cq )w(t) (4) Here we provide the mathematical background for our From [15]. but the cost function five consecutive packets are successfully sent to the destina. The control of the duty cycle values stored in φ. Because the system tion. Unfortunately. Thus. ti is increased by 100 ms. node N wastes precious energy. Protocol designers could easily 1) Stochastic SISO Estimator and Controller: We begin find inspiration in the adaptive back-off scheme of the 802. or ti ((k+1)T ) = ti (kT )+0. y(t) = ay(t − 1) + bu(t − 1) + cw(t − 1) + w(t) (3) −1 −1 −1 B. Representation of the system with input / output and its controller. We use ti (t) to designate the time-varying nature of ti . response contains a random component (the exact wake-up Each failed packet is followed by a decrease of 250 ms timing between two neighbors). we can set y(t) to m(t) (the number with various flows among neighbors. Controller r(t) (reference) + u(t) (command) Plant y(t) (output) control can be defined by its state x(t).1. the its duty cycle.11 employs a multiplicative increase / linear is mathematically represented by the following: decrease back-off. and as suggested in [15]. T represents the period between re-evaluations of the control u(t). which it tries to match to a reference The control law is thus shown to be: r(t). our second scheme. C. Node A wants to send of packets that are successfully sent at time t) and u(t) to the m∗ packets to node B in a certain time period T . multiplicative increase turned out to be too disruptive in duty cycle control tests that we ran over the full J = E[(y(t + 1) − y ∗ (t + 1))2 ] (2) range of ti values. A controller modifies u(t) so as to obtain the desired y ∗ (t + 1) + (g0 − a)y ∗ (t) − g0 y(t) output y ∗ (t) = r(t). y(t + 1). the process under u(t) = b 6= 0 . the time t + 1. it cannot provide the optimal solution. the desired number of packets to be transmitted at or one with very low remaining energy. as it does not notation for time delay: consider energy dissipation or even try to approach a target m∗ . where node ti (t) value at time t. we study a system estimator in ti . i.25. When the duty cycle is larger than its optimal system’s output must be estimated using an internal parameter value. If node Because the fundamental characteristics of the system (A. DDCC. as   C(q −1 ) = 1 − aq −1 + q −1 g0 = 1 + (g0 − a)q −1 energy consumption grows linearly with the number of probes α(q −1 ) = g0 done per second. which sions. C(q −1 )y 0 (t + 1|t) = α(q −1 )y(t) + β(q −1 )u(t) (5) 1) Generalities: We start by assuming that the system we wish to represent and control is mostly linear. we introduce the following value. to be minimized (Equation 2) is quadratic. For instance. We introduce a SISO The first proposed scheme is called asymmetric additive (single variable) estimator and controller. In order to do so. the number of packets received is  β(q −1 ) = b mostly linearly related to energy consumption. While this simple and controller for the stochastic case. We chose to design our adaptive duty cycle the expected error between the desired output at time t + 1. Let us consider a one-hop network For controlling ti (t). where x(t + 1) designates the value of the system state at time (k + 1)T and w is the noise. 2. Whenever system dynamics are linear (Equation 1). medium is sometimes occupied by other transmissions. Figure 2 illustrates the system at hand. A deterministic (Network) − x(t) (state) noisy linear process can be represented in its discrete form as follows: x(t + 1) = Ax(t) + Bu(t) + Cw(t) + w(t + 1) (1) Fig. While 802. y ∗ (t + 1) and the actual output at time t + 1. is based on control x(t − 1) = q −1 x(t) theory to optimize ti such that the target number of packets We can write the system as: is sent while reducing energy dissipation. we would like to control ti to A. to do so in a timely manner. a critical node for the application.11 with the formulation of our goal. A only gets to send m < m∗ packets. and may wish to scale θ and a history of p values of {x(t)} (or {y(t)}) and {u(t)} back its duty cycle (ti increased).e. the where relationship between energy consumption and ti is linear. Therefore. we made our additive controller an This control problem is referred to as linear-quadratic: the asymmetric linear increase / linear decrease scheme.

while being still manageable in limited memory space. This behavior Fig. Compared to a case without any duty cycle control should minimize a cost function with a packet loss and an (not shown). c} 0. Figure 3(a) illustrates In this now multi-variable case. ti over Time − Node 1 Let g0 − a = c. However. while the estimator is able Time (s) to correctly predict the system output.4 which is also the control law used in [13]. duty cycle to increase the number of packet transmissions.6 As a starting point. the control law tends (b) to decrease the value of ti (t) when m < m∗ . We chose p ' number of dropped packets is higher for the dynamic controller 3.5 packet per second. 1. am bm . 0 0 200 400 600 800 1000 1200 1400 Preliminary results show that. The where a. . even after the number of packets to be sent Consideration must be given to the energy consumed ǫ. bǫp−1 cǫ0 . (b) Packet loss in the same scenario.. .2 φ(t) =  u(t)  θ(t) =  b  0 y ∗ (t) −c 0 200 400 600 800 Time (s) 1000 1200 1400 The estimator can be computed using the Normalized Least. m∗k−p T   However. the packet rate increases to one both the number of packets sent and the consumed energy separately. (a) Mean-Square Algorithm (NLMS) [15] [16]: Number of Packets Send Failed in Evaluations | 8 (AADCC) vs. the controller not shown). It follows easily 1. where the T θkǫ = aǫ0 . m(t)) is recorded. bm cm .5 0 is estimated using Equation 7. b. At t = 500 s. . . .6 AADCC y ∗ (t + 1) + cy ∗ (t) − (a + c)y(t) DDCC Failed Packet(s) u(t) = (6) Packet Rate b 1. yet ti does not increase θkm = am . including taking the maximum. and using the 1 system model to find the input value that minimizes the predicted output. . Unfortunately. 3) Cost Minimization: As per Section III-C2. The reason is that the error which is an incentive to lower the duty cycle. we chose to keep only the previous values of the input and output. φm mk .5 where µ(t) is a scalar. and 8 for the additive controller (AADCC). c ∈ R are the estimator coefficients. of the controlled input u(t) = ti (t). (a) Evolution of ti (t) as the packet rate increases and then decreases is in fact to be expected as the system should decrease its when only packet loss is considered. . ti never increases. b. ǫk−p tik . . the packet rate decreases to its k = T original value of 0. .8 where ŷ(t + 1) is the estimated system output at time t + 1. we use 0. . tik−p m∗k . With our notations. . 1.5 Number of Failed Packets φ(t)T φ(t) + ω 3 2. 0 200 400 600 800 Time (s) 1000 1200 1400 New ti values are computed periodically. We note ǫ∗ (t+1) between m̂ and m∗ is zero. φǫk = ǫk . aǫp−1 bǫ0 . . the command 1 u(t) = ti (t) and the target y ∗ (t) = m∗ (t). it preserved more of the nodes’ energy (around 10%. 13 (DDCC) − Node 1 4 AADCC µ(t)φ(t) θ(t + 1) = θ(t) + [y(t + 1) − φ(t)T θ(t)] (7) 3. because it did not increase its duty cycle as aggressively. . . which does not modify the value as a target energy consumption at t + 1. mk−p tik . 3. cm  0 p−1 0 p−1 0 p−1 again. we define the φ and θ vectors as: 1 t (s) φ(t)T θ(t) = ŷ(t + 1) i 0. . has reached the target (m = m∗ ).5 φ(t) is thus the values of the output y(t) = m(t). the number of dropped packets is reduced by over energy component. and the . . tik−p m∗k . a few seconds later. causing ti to decrease due to packet losses. . a value that allows the estimate for ǫ and m to be accurate.4 the two vectors:     y(t) a+c 0. . Next. since J carries no consideration for energy use. . During each 4 DDCC round (of duration T ). cǫp−1  number of dropped packets is 13 for the dynamic controller (DDCC). For m and ǫ. various ways. . we decided to estimate this problem. .e. the φ and θ vectors are: packet per second. 0. . We tried to combine the two costs in 94% by the duty cycle controller. 2) Application to Our Estimator: The system control can 2 be approached by estimating the system first. the number of packets successfully Number of Failed Packets 3 transmitted since the last ti update (i. .2 that Equation 6 minimizes the mean-square error function J. the sum. and ω should be chosen to avoid a 2 division by zero when φ(t)T φ(t) is null. m∗k−p  T Figure 3(b) shows the packet loss in this scenario. . The tuple {a. From Equation 6. or p = 1.

no oscillations can be discerned but ti is slow to tion of the algorithm variables includes assigning a starting reach its eventual value. ti and ǫ∗ . For DDCC in general.1 presents the pseudo-code of DDCC. we prefer evaluating δ and ∆ are the minimum and maximum values that ti can the energy. α ∈ R is the slope of the update of ti and helps stabilize the system response. but we show in our later results that such a method ever take. The latter offered the swiftest and past a reasonable value. if a node sends packets designing a system that needs to respond faster to lower energy at a rate of 2 packets per second. ti = EP D is the energy consumed by the radio for one second of (θpm )2 + Kǫ (θpǫ )2 power down mode. get values of m and ǫ at time (k+1)T . Kǫ is a weight given to We chose to evaluate the target energy as the sum of several the energy component of the cost function in order to indicate basic operations (channel probe. Evaluating the Target Energy In our implementation. the controller tance as the system will have a tendency to stabilize around the attempts to minimize the following cost function J: value of ti that yields this energy consumption.. Dynamic Duty Cycle Control Algorithm of packets for instance) and delays in the feedback. On the other hand. and u and v are the number of elements in φm k and ti s. in m and ǫ of node N . an acceptable energy consumption value to reduce overhead. and tT is the duration of a feedback round where the i-index value on φi and θi are the ith value of these T . and that can tolerate repeated packet losses. The risk incurred by this approach is that the estimators. which would otherwise be unstable because of steep variations of the reference r(t) (the desired number E. . We evaluate be chosen in [2. 20]. while θ is initialized with values between −1 cycle is in fact ū as a smoothed output is critical to a physical and 1. The command used to control the duty m∗ . Kǫ can data acquisition board on the Tmote Sky platform. the output of the network must match the energy (and packet ǫT ǫ ǫ̂k+1 = φk θk delivery) reference. We evaluate the new command ū every T 5 packets and energy consumption. φ can take the initial values of waste or packet loss. all in range duty cycle will tend to be lowered. m∗ E[ERx ] + EP D (tT − m∗ E[tRx ])) (10) Pu Pv θpm (m∗+ − i6=p φm m ǫ ∗+ i θi ) + Kǫ θp (ǫ − i6=p φǫi θiǫ ) where E[ERx ] is the expected energy spent to receive a packet.  δ if x < δ The relative simplicity of linear increase is offset by the fδ∆ [x] = ∆ if x > ∆ slower nature of the response to increase ti when the data x otherwise  load diminishes. The feedback period T can be increased In other systems.e. This could be desirable when = packetRate seconds: for instance. and that no energy is wasted on probing a clear channel. The initializa- is close to 0. It contains no information about other transmissions in the In order to smooth the response of the system. The control problem thus becomes J = (m∗+ − m̂k+1 )2 + Kǫ (ǫ∗+ − ǫ̂k+1 )2 (8) a linear quadratic tracking (“LQ tracking”) problem where m̂k+1 = φmT m  where k θk . the system then adjust α to be 0. during a round of T seconds: Taking the derivative of J at time kT (we omit the k index notation for clarity). even below a reasonable of one another (the medium can be occupied by only one value—one that strikes a balance between the number of lost node at a time). we obtain Equation 6 for our application: ǫ∗ = max(0. packet reception. A large α The controller described in the previous theoretical founda- (i.01 and 1) The Evaluation of ǫ and ǫ∗ : In some cases. if α rithm 3.weighted sum of the costs. The control law finds the value of ti that the target energy as the minimal energy that can be expended minimizes J. we chose an initial α = 0. φǫk (u = 2p and v = 3p). we adopt neighborhood as packet loss is taken into account in the first a conservative update policy ū for the duty cycle with the element of J. This target energy has critical impor- most stable response from the network. Algo- before reaching a determined value.1 s and 5 s as reasonable values.) for a preference to save energy (large Kǫ ) or to strictly meet the which we precisely measured the energy consumption via a number of packets to be sent (small Kǫ ). D. an increase in ti translates into a decrease network. Thus.5 seconds. the controller will run consumption. and can be set to 0. every 2. Our network consists of 10 nodes. an alternative solution is to use the linear increase of AADCC. and thus the corresponding weights in θ are negative. etc. The target energy ǫ∗ assumes that each packet is sent every vectors. Poor choices of α may cause energy value to the φ and θ vectors. where energy is not evaluated does provide satisfactory results. close to 1) aggressively updates ti and incurs oscillations tions is called Dynamic Duty Cycle Control (DDCC). although a large value could cause the has to be evaluated so that ti (t) does not consistently increase network adaptation to be sluggish—or worse. provided all packets are correctly sent. for instance. following set of rules:  2) An Alternative Solution to Evaluating the Consumed t̄ik+1 = t̄ik + α(ti − t̄ik ) Energy: Because it may be impractical to evaluate the energy (9) ūk+1 = fδ∆ [t̄ik+1 ] consumption components ǫ and ǫ∗ . For instance. m∗+ and ǫ∗+ designate the tar.2 after three iterations of the controller designer may want to minimize the consumed energy and to prevent large oscillations during the first rounds of the choose ǫ∗ = 0. instable. This reduces the where t¯i is the smoothed ti and  complexity of the system to only one component m.

1 [ū + α(u − ū)] −→  φ = φm + m ū m∗ m  0.1 − 0. we observe the case when two nodes compete for of ti increases from 300 ms to around 900 ms in under the medium to send packets and only one node can modify 1. We ran adopt the smallest ti value tiL calculated by its descendants such scenario simulations. as ti goes . as this ti value translates A. node A can elect to minimize the consumed energy work. Because a lower duty cycle can comfortably accommodate concurrent packet rates of 0.1 1 for ever do m∗ = f (packetRate. is a matrix shift operator 0 0 500 1000 1500 2000 2500 3000 3500 m mT m Time (s) r +=φ φ rǫ +=φǫT φǫ Fig. If nodes A and B are possible choices for data. Lowering the Duty Cycle to Save Energy: Demonstration transmissions after half tiL s on average—protocols like X. the scenario when the ti value is set at the beginning of the If a node is the receiving end of multiple links. ti control. we often refer to a “fixed duty cycle” case.1 − 0. nodes additionally need to exchange information was prompted by the difficulty in measuring energy consump- about their remaining energy.5 − 0.1 0. nodes need designates an accurate reconstruction of the reality. 500 s (25 min) for both AADCC and DDCC controllers. the value First. m∗ ) ti (s) µm m θ += rm φ (m − φmT θm ) m 0. but did not include their results on in order to receive all packets successfully. which tend to have only one data sink. S IMULATION R ESULTS F OR O NE -H OP N ETWORKS of the simulation. Observations for an Implementation of the One-Hop Case resembles a real-life deployment. energy wasted on the links using a lower duty cycle are negligible because the sending nodes will stop their packet B.95 0. of Principle MAC and MX-MAC can interrupt their sending streams after receiving an ACK frame. A calculates the appropriate ti values for each link and sends Consequently. DDCC works equally well by estimating the prove the feasibility of. its duty cycle.1 − 0.1: DDCC pseudo-code for p = 3. we start with a ti value of 300 ms. but more importantly after the energy use of the This allows the duty cycle to decrease further. After 2. packet rate of the remaining node is increased to 1 pkt. our model closely F.2 →  − Other Node Stops Transmission φǫ = φǫ + ǫ ū m∗  15: Where − →. it should simulation and never changes (no duty cycle control).1 − 0. with two them to the intended receivers individually.4 5 ū = f0. 4. Without the ability to adapt ti . the other packet source is turned off. we validate the duty cycle control when At this point. nodes sending packets at an initial rate of 0. if a node has multiple unicast destinations.5 packet per hop networks is introduced in Section V. typically within 3% of the For an implementation on real platforms in one-hop scenar. which was to set the theoretical background for. and the more than one node concurrently adjusts their ti values. although the ti value results. Figure 4 presents the evolution of ti as well as the scenario IV. a rare protocol would force designers to select a high duty cycle at case in WSNs. whole Tmote Sky platform running a TinyOS implementation. energy use instance.2 φǫ = ǫ∗ 0 0 ti 0 0 m∗ 0 0  Failed Packet(s) Packet Rate θm = 0. Although we present simulation results.5 pkt. An additional reason came with the objective of this node N . second. nodes running a LPL MAC Finally.6 ǫ 10: θǫ += µrǫ φǫ (ǫ −PφǫT θǫ ) P θ m (m∗+ − u φm θ m )+θ ǫ (ǫ∗+ − v φǫ θ ǫ ) u= p i6=p i i p (θpm )2 +(θpǫ )2 i6=p i i 0. T ) 0. end for algorithm 3.s−1 .5 − 0.8 ǫ∗ = f (radio. 000 s. node deployment to ease contention in busy areas of the network.95 0. the term simulation ios and for both controllers AADCC and DDCC. Then. In our discussion of the energy consumption at both A and B.s−1 .1  5: θǫ = 0. and at both nodes.1 0. in order to determine the node N whose energy does not degrade rapidly enough to collect usable and accurate should be spared. t over Time − Node 1 i Variable initialization: T φm = m∗ 0 0 ti 0 0 m∗ 0 0 AADCC DDCC T 1. measured energy consumption [9]. Method into an energy consumption within close range of the target The radio behavior was modeled not only after the CC2420 energy. Here. of running simulations rather than an actual implementation For DDCC.3 0.1 0. the packet rate is halved to 0.1 0. The choice to periodically exchange information about their new ti values. which is tends to be noisier.s−1 . data sheet.5 pkt.1 0. using broadcast packets for tion in real implementations: for LPL schemes. The ti value remains around 950 ms.3 0.1 0. The amounts of our graphs for clarity and space considerations. Support for multi. Evolution of ti (t) as the packet rate varies.

Comparison of Evolution of ti for a Feedback Every 10 packets t over Time − Node 1 i 1. 6.2 Failed Packet(s) 0 1.2 0 500 1000 1500 2000 2500 3000 3500 Comparison of Evolution of ti for a Feedback Every 20 packets t (s) 1 i 1 0. this number will increase. which would prevent the “spikes” on ti . in general. This example differs from the previous descent. Total Energy Consumed vs Time − Node 1 6 AADCC DDCC from 950 ms to 1.2% compared to the energy component (approximately equal to the packet AADCC. or evaluated ti every 10 and 20 0 0 10 20 30 40 50 60 70 packets. the ti value up. and changed the number of packets that are scheduled to be sent 1 between evaluations of ti to test their impact. (no-control) scenario. While it is unlikely that a the packet rate declines again. For 10 packets. Effect of the Feedback Period T We ran the same scenario as before for DDCC only. 5. until it reaches less than We now study the other variable of interest by observing the 1 s.5 s) and in the number would slightly compromise the rate of the ti increase once of neighbors transmitting over time. Only 10 packets were lost during this 9. The reason is that.4 0.8 0.4 0.2 AADCC 2 DDCC 1 Failed Packet(s) 1. This is ti value can be observed to increase slightly between two transposed on the energy side.2 0. shown in Figure 6(b). Figure 5 shows that there is little difference between Time (min) periods of 5 and 10 packets.6 0. the .2 s. Compared to in both control cases. DDCC helped reduce energy consumption by close to 3% (not shown) at the end of the 4 simulation (close to a 19% reduction when compared to the Energy (J) fixed duty cycle case). The because it increased the duty cycle very aggressively. As the later part of this scenario 3 continues (after 2.17% → 5 scenario. the evolution of (b) ti appears to be smoother because of fewer updates. Design choices could allow for a more aggressive ti number of lost packets. where feedback periods T in the first 25 min of the runtime as DDCC reduced energy consumption by 9. Repeated packet losses cause the duty AADCC.6 1. the energy increased loss component) pushes the energy consumption down and by 7% (not shown). There is a greater difference between the ti values calculated between Fig. 2 C. Packet Loss Minimization high compared to the packet rate. This illustrates once again the protocol designer would choose such a high value for ti in a trade-off between energy consumption and packet loss that the “fixed” case (no available control at all). this part of our work dynamic scheme balances. We doubled and quadrupled the value of T .6 0. transmissions of 5 and 20 packets: the error on the estimation of the target energy is multiplied fourfold.8 Packet Rate 0. shows the behavior of our control schemes when packet loss DDCC was able to limit packet loss by 88% over the “fixed” occurs.8 0. packet losses become more frequent as the ti value is unrealistically D. Evolution of ti (t) for various values of T . DDCC dropped 44 more packets (or 146% more) cycle using DDCC to be increased by a greater amount. 000 s). When compared to AADCC. but this one in the initial value of ti (now 1.4 Feedback every 20 packets 0. and causes the duty cycle to often be higher than needed. In the second part of the runtime. Over the non-controlled case.2 Feedback every 5 packets 0 0 0 500 1000 1500 2000 2500 3000 3500 0 500 1000 1500 2000 2500 3000 3500 time (s) Time (s) (a) Fig. As the duty cycle is iteratively modified.6 ti (s) 0. in spite of the vigorous increase in ti .8 ti (s) 0. Figure 6(a) shows a decreasing ti as packets are dropped the frequency of dropped packets diminishes.4 Feedback every 10 packets Feedback every 5 packets 1. Evolution of (a) ti and (b) energy over time under a changing scenario: from a low duty cycle to a higher one.

Done at every node maximum of 100 packets. etc. faced. nodes farther along the path (> k) would witness the same tation of several nodes adapting their duty cycles at the same packet rate. At every link along the path. we expand this work along a slowly-changing one-branch path. this solution offered many untractable and contention around the nodes forces both the sender and problems such as keeping a set of two values of ti at every the receiver to sleep for longer periods of time instead of node (one for the node itself. The fixed scheme consumes less energy into increasing their ti because they correctly transmit m∗ because of two reasons: its duty cycle remains at a low value. the larger number of hops on the path 0.. deceiving other nodes energy consumption.5 1 of transmitted packets m) show wide variations from one 0. Evolution of ti over time under a changing scenario for the two path strategy. that is. 0 0 200 400 600 800 1000 1200 In addition to this problem. Among other features. The details A. Conversely. (nodes 1 and 2) correctly adapt their duty cycles to conditions in the local area. two approaches to control the Time (s) duty cycle can be considered: a per-link strategy and a per- Fig. Broadcast packets ti control (DDCC): the delay between the beginning of a do not break node synchronization either. avoid queuing. we opted for a common duty cycle among all Figure 7 shows that this is not the case as two sending nodes the nodes of a path.5 /2 s). Certain LPL MAC protocols have the unique ability to syn- The previous section validates the principle behind ti con- chronize without explicit notification (i. the source (node 0) intends to of its next-hop neighbor k + 1’s wake-up time at the end send m∗ packets to the destination (node n). Investigative work rapidly showed that this approach could not be successful because queueing increase in packet deliveries is compensated by an increase in would happen at one point in the path.e.5 1 Most importantly. Multiple Controllers one packet may be transmitted by a node k every ti s. corresponding to our simulation time to back-off by a small tS time so that it may wake-up right for instance) over h = n hops. when it receives an travels along the same slowly changing path (i. This delay is exacerbated by the nature of the system since nodes’ wake-up times are separated by a . Therefore. the A legitimate concern of ti control deals with the implemen.5 Σ t − AADCC i wake up. Instead. The “cumulative ti ” is the sum of the ti B. These protocols to single-branch multi-hop networks: only one data source are X-MAC [7]. Each node keeps a queue of a before node k + 1 during the next cycle. In general. the simple observation was made that since only E.. C-MAC [11] and MX-MAC [9]. Challenges Introduced By Multi-Hop Control of node synchronization along a path are presented in [17]. at k. constant for acknowledgement frame. a node k sends packets to one data sink several hops away. Node Synchronization Along a Path values of the sending nodes and can be seen as a measure of While per-path ti control eased many of the challenges we the busyness of a local area. and we tried it first. transmission at the source and its reception at the destination More importantly. It follows that a node k can decide a long period of time. the introduction of several hops along a packets to be received and forwarded immediately (within the source-destination path complicates key aspects of dynamic same ti period) without loss of synchrony.5 AADCC induces non-linearities in the system.e. the number t (s) i 1. path synchronization allows urgent troller AADCC. nodes are automatically synchronized after the hth packet has been successfully received. packets. the packet is held Σ t − DDCC 3 i for a varying amount of time (although on average equal to ti 2.5 LPL MAC protocols because they rely on duty cycling. Although it is fairly inconsequential for the additive con. Since the duty cycle is usually reevaluated every 5 to 2 10 packets. along a path of h hops. In this section. one for its next-hop so that the transmitting packets—a behavior that results in lower energy first one could send to the second). 7. One 3 2. coordinating together to consumption. ti C ONTROL F OR M ULTI -H OP N ETWORKS synchronization along a path. particularly for a dynamic controller: the modifications send at the same rate as k in order to maintain a constant queue of one should not destabilize the others. a node must wait for the packet’s next-hop to Packet Rate ti over Time − Node 2 3.5 feedback to the next. without overhead) trol for one-hop networks. The former strategy offered the appeal of simply nodes with duty cycle control. 2 although it can be compensated by a smaller updating slope t (s) α of the command u(t)—we lower it to 0. nodes placed before k would need to time. replicating the work done in Section III for every link along the path. We solved this problem through node V. avoiding queuing whenever possible. following the schedule of either one of these protocols learns In this part of the work.1 or less. with little correlation to the ti value. Before a packet can be 0 DDCC 200 0 Failed Packet(s) 400 600 Time (s) 800 1000 1200 transmitted. this technique reintroduces linearity in greatly increases. Each packet of every unicast transmission. the packet delay (and its corollary. i 1.5 consequence for dynamic ti control is that instability increases. non-linearities remained the main obstacle to multi- hop duty cycle control. ti over Time − Node 1 3.

For the family of LPL MAC protocols. For this reason. LPL MAC protocol because they may be running other a) Calculation at Node 0: The target number of packets processes (packet processing. Cross- is done in Section III.e. packet m∗ now depends on the packet rate of the data source. is only one data source per path. we discuss the more station (with compute power). network maintenance events. path synchronization significantly reduces are dropped for unforseen reasons (a bad radio state. although similar techniques generally used for network maintenance such as route repair or can be applied for the nodes at the extremities of the path. It should be noted that the problem of ti the lowest when ti is the highest but still allows the target dissemination is not unique to our proposed schemes. we nodes without requiring them to report it. Consequently. Nodes can then start using the new longer applies since all relays are expected to consume the calculated duty cycle. tend to flow in the opposite direction. etc. destination receives a packet. provided none of the packets Furthermore. very energy-efficient technique for multi-hop unicast packet transmissions [18]. value every feedback period T . and not previous. localized congestion by staggering node wake-up schedules. to lower the energy consumption that of transmitting one broadcast packet every T s on the of every relay node. the energy consumption is thus our ti updates. saving sending mode for the same period of time (ti s) regardless the energy of one particular node on a multi-hop path no of the packet length. this work benefits from path synchronization. The packets is usually fixed over a small period of time (e. back-off. Conversely. a packet transmis. the that nodes may fail and that detection of such failures will be time to transmit a packet is predictable and almost constant slow. The reasons to discuss possible practical solutions for implementing multi. In addition. proceed in this way are threefold: hop duty cycle control. The data source or the data sink are notable exceptions. Therefore. the directions of data since the originator of the data does not receive packets. delivered within the same ti period (htS + tRx s later). is generally a node ∼ 10T ) and centripetal: packets tend to travel from peripheral with larger resources and is less likely to request its energy nodes (with valuable information to report) toward the base be spared. Our to the same high priority. However. Because all nodes are sharing the same ti value and because for urgent ones. Unless specified otherwise. the expected calculated. This meant that for path synchro. whatever the duration of ti . as well • Poor measuring tools: platforms like the Tmote Sky can . Because noise spike. and could thus be measurements. Observations for an Implementation of the Multi-hop Case 3) Energy Estimation: The node running dynamic duty The control of the duty cycle using DDCC requires informa. This method may be preferred by programmers who suspect Because the wake-up schedules of nodes are staggered. i. In this section. Hence. In • Energy evaluation in isolation: nodes would also have this section. This greatly reduces the chance for collisions and destination if some of the links along the path are faulty. Packet delays are equal to as the actual number of packets m received by the destination tRx + tS + (h − 1)(ti + tS ) for regular packets. located aggregation) that draw energy but are not relevant to the at the beginning of a multi-hop path. and htS + tRx n. • Good modeling: we were able to closely measure and 1) Target Number of Packets: In all cases. to evaluate the energy consumed only by their own which node should be the ti controller. incur no extra energy consumption since the radio remains in In the case of only one data source on the network. they were all treated as urgent.. the controller common to the whole family of adaptive duty cycle proto- arbitrates the trade-off between lower energy consumption and cols. since there overhead to spread the new ti value and delivery reliability. model was found to be typically within 3% of test-bed nization. each relay node must receive 2) New ti Value Dissemination: After ti (k + 1) has been and send the same number of packets. the duty cycle controlling node should commu- energy consumption is the same at every relay node along the nicate this new ti value to nodes on the transmission path path since both the energies to send and receive a packet are using ti (k) and by piggy-backing the new value onto broadcast equal at every hop. there is an inherent trade-off between packet (tS + tRx ). the number of probes must be lowered active data path. such that a node may only wake-up to send or receive a this dissemination on the path should coincide with other packet. as service discovery. In WSNs.). does not guarantee proper delivery of m∗ packets at the hop nodes. but number of packets m∗ to be received. we discuss where to close the feedback loop. In order to be the most energy efficient. cycle control needs to estimate the energy consumed by other tion now located more than one-hop away. they are synchronized along the path. Impact on the Energy Component of J control. In fact.g. broadcast packets. D. which does not send packets. where tRx is the time to receive a packet. To calculate the new ti MAC links. layer optimizations could join other maintenance packets with Along synchronized paths. a node must know m∗ . nodes wake-up sequentially along the path. the number of packets approximately 14 ms on average for our packet size. a the objective to send m∗ packets. b) Calculation at Node n − 1: The previous technique sion interferes with next-hop nodes only. we set packets model LPL MAC protocol energy consumption. The cost of this operation is at most same energy. the next-to-last node can be chosen to perform ti C. bigger packets long duty-cycles. data sink.constant amount of time tS s. general results of the relay nodes. sensing activity.. packets. which increases the accuracy of energy estimation at Because node n − 1 receives an ACK frame every time the remote nodes. sent by node 0 is equal to m. it can easily calculate m. This reinforces the decision to utilize path.

However. When the packet rate of source 3 node 0 doubles after 400 s. Because 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) DDCC has an energy component in its command computation. 250 s. ficial ti increases). 8. 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) In this section. ti over Time − Node 0 only measure their battery voltage. Simulation Results 0. M ULTIPLE S OURCES date sending more packets with either controller.1. the . When the packet rate returns to 0. the response of DDCC has greatly expanded the applications of ti control. this translates in fewer dropped The energy consumption of DDCC is comparable. the dynamic controller opposes arti- or 40%) with no queuing happening in either case.s−1 . Compared to of nine compared to the fixed duty cycle case). the improvement in packet delivery is energy consumption of 3% (higher by 8% over the fixed duty obtained by a relative increase in energy consumption of 10% cycle case). 1. VI. The packets transmitted by node 0 to node 1 are delivered to (b) the destination within the same cycle.2 s.2 transmissions in the vicinity of a node for instance). Figure 8(a) shows the AADCC Number of Failed Packets 4 evolution of the duty cycle of the nodes when the packet rate of the source changes over time. although the eventual energy These results illustrate the trade-off existing between the consumption at the relay node can be eased when the duty two techniques for utilizing energy information in DDCC. at relay nodes after 2. 1 Figure 8(b) shows that ti control reduces the number of packets failing to be delivered. Compared to AADCC. 45 (DDCC) − Node 0 5 evaluation of the consumed energy. scribed in Section III-D2: the speed of the response translates The second set of results is presented for the case when the into different energy consumption and packet delivery ratios. 1 ti (s) E. the dynamically 2 controlled ti value increases slowly. 1. Compared to the case without 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) a controller. Both controllers are successful in bringing the duty 1 cycle to a value that allows the target number of packets to be reached (0. However.5 pkt. 17. DDCC Failed Packet(s) cision when energy consumption is small (as is typically 1. it fails to send m∗ packets per 2 T period.8 We used Matlab to simulate these different strategies for 0. although packets (reduced by a factor of three in Figure 9(b). When the While adaptation of our controllers to multi-hop networks network is favorable to a ti increase. providing a ti around 1.4 Packet Rate the case in LPL MAC protocols). when 5 T have passed without packet loss (like the linear increase of AADCC). we see an example of Number of Failed Packets 4 this here. as in Section VI. While queued packets can be eventually sent to the destination after the packet rate decreases.9 s for AADCC and 1 s for DDCC). 000 s.2 Errors made in the evaluation of the energy consumption are modeled in the noise component of the system. thus allowing the controller at node 0 to perform equally well. Because 3 we opted for a small update rate α = 0. ti C ONTROL FOR M ULTI -H OP N ETWORKS W ITH Figure 9(a) shows the correct reduction of ti to accommo. The decision to implement one technique or the other depends and the command u(t) is automatically increased by 0. 5 DDCC it is sometimes too eager to increase ti . Comparison of (a) the evolution of ti and (b) the dropped packets for case however. whether ti was calculated 0. we present results obtained when node n− 1 is the controller. energy consumption is not evaluated at the dynamic controller.6 a four-hop network with only one source. stale information is of little use to the application.6 AADCC to remaining energy but does not yield a sufficient pre. the is much more sluggish than in the regular and the additive number of dropped packets is similar for DDCC (13 vs.4 at node 0 or node n − 1. (a) We first present results that were obtained through the direct Number of Packets Send Failed in Evaluations | 37 (AADCC) vs. which can be mapped 1. de- cycle returns to a low value. this reduction reaches a factor of four (not shown). or a factor lower than that of AADCC by 2% (not shown). and in a lower the non-controlled case.1 s on the application needs and constraints. For the fixed duty cycle Fig. our simulation did not model unforseen congestion at nodes > 1 (caused by other 0. packets must be queued between 400 s and the dynamic controller and additive controller when the energy is evaluated. controller cases (in fact. The control of the duty cycle was strikingly similar. the duty cycle decreases again.

k = ti. 1.5 accommodate fair access to node k by all sources k − 1j 2 . A. t over Time − Node 0 i Additive Control 1. this synchronization technique in TinyOS [19] using the Tmote In this section. A multi-hop network with two sources k −10 and k −11 (∗ denotes 0. The initial ti value was 1. these results are not shown when several sources are converging at one node.5 1) Strategy: The key idea to support the convergence of 1 l flows to one node k consists in increasing the duty cycle of root nodes (≥ k).2 node are part of the root of the path. etc.5 l tnew i = tnew i. does not directly fall onto the theory behind ti control. Nodes from a packet source to the branch node form a branch. where 0 ≤ j < l.6 in this section: a branch node refers to node k. If a new source is detected. The nodes placed after the branch 0. as the location 0. Comparison of (a) the evolution of ti and (b) the dropped packets the packet to their next-hop neighbor. all nodes k − 1 forming a link Number of Packets Send Failed in Evaluations | 13 (Add. but The TinyOS code was successfully tested for more sources. Only packet transmissions can be reported and plotted. with two sources The greatest challenge posed by the use of multiple sources (00 and 01 ) sending to node 1.4 where several flows meet.5 the received packet to include a MAC header containing the value l. here. 9. a node k−1j will back-off by ti /l s until all schedules are staggered.k l−1 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) The packet is then broadcast to all immediate neighbors. Let Figure 10 represent a three-hop network with two sources (marked by ∗) sending packets to a common desti. This forces (a) both sources (more generally. 10. mode.8 a source). and the ID of the new 1 previous-hop. Path Synchronization With Multiple Sources Our test network consisted of four nodes. our difficulties in showing path synchronization is the fact that synchronization technique was upgraded to support multiple probes are “silent”: nodes simply turn their radios in receive sources converging into one branch. rather concerns how path synchronization can be maintained but since they are harder to read. Sky platform [20]. we define several terms used throughout node k on branch j. t (s) i 0. limitation imposed by only one data source limits its use to networks performing source selection—target tracking or 2) Implementation in TinyOS: We tested and implemented building monitoring networks are instances of these networks. (b) Nodes k and k + 1 adopt the new duty cycle after forwarding Fig. While this may 2 Additive Control be acceptable for low offered loads. node k 2tS s before h. We show path synchronization through the timing of packet transmissions.4 Dynamic Control Failed Packet(s) Packet Rate 1. .2 1 Fig. the ID k + 1 of its next-hop. it cannot accommodate Number of Failed Packets high packet rates from both sources. we modify both ti control strategies to sup. node k modifies Number of Failed Packets 1. The new ti value is calculated as: 0. The current synchronization technique staggers node trans- 0 mission schedules such that node k + 1 would wake-up tS s 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) before the destination h.5 s. for the dynamic controller and additive controller cases when the energy is The broadcast packet sent by node k need not specify who not evaluated as per Section III-D2. 4 (Dynamic Control) − Node 0 k−1 → k) to wake-up at almost the same time. node k checks the Time (s) ID of the previous-hop and adds it to a neighbor table if not 2 Dynamic Control present already. 0 0 200 400 600 800 1000 1200 1400 1600 1800 Upon receiving a new unicast packet. The ti value must be divided by l to 0. we let Matlab port multi-hop networks with multiple data sources: while the collect information through a TinyOS gateway. and receive a packet or go back to sleep. Control) vs. In order to gather results. 2 The notation k − 1 . One of the control engine remains the same as in the previous section. designates the previous hop of j nation h = 3. the new source node is: upon attempting to send a packet and new finding a busy network. First.

5 controllers. path synchronization results in energy savings for the branches of Broadcast packet the network since their ti value can be l times that of the root. We see this delay being reduced the transmission bars. The first packets for both sources experience almost the transmitting node. source 01 is synchronized with followed (ti /2 s later) by node 01 . 11. the ti control engine has remained the same 3.5 The tested network consists of two sources. Time (s) it is broadcast and flooded onto the path. the path is the same long delay (greater than 3 s). Thus. ti Control For Synchronized Paths With Multiple Sources Path synchronization with multiple sources causes the root Second source turns on of the path to use different ti values. packet (with ID 2) from node 01 experiences low delay. 12.s−1 . It takes two packets to synchronize not yet synchronized. nodes are one source is turned on. a source must notify the controller of the number of packets it needs to transmit every second. as shown in 2 Figure 12 sending packets over a four-hop path with initial ti Delay (s) of 1. Upon starting and stopping its flow of packets. It is immediately followed by a its next-hop neighbor. Figure 13(a) shows the evolution of the duty cycle for (b) The reduction in packet delay as the synchronization takes place. After 45 s. the packet delay is turned on. it should be placed after the branch node. This shows the robustness of the both control techniques designed for multi-hop cases. The first packet of the second source. This value is piggy-backed onto the unicast data packet and is read 30 40 50 60 70 80 90 100 110 by the controller. Compared to that approach. 3 C. 0_1 Since the node controlling the duty cycle must learn about the target number of packets m∗ . is delayed by the transmission of the broadcast packet Immediately after. node 00 sends a packet to node 1. After 400 s. immediately in place on the existing path. Simulation Results 2. because 01 sends its data before 1 can forward the packet nation every 20 s and 10 s. After the new ti value has been computed. The controller is the node placed before the destina- tion. however.5 0 0 1 2 3 4 5 6 Packet Number (b) Fig. Both schemes benefit from path synchronization to guarantee fairness in the comparison. which explains why the following packets successively. During the first half-minute. Time Lines (Larger Lines Equal Longer Transmissions) B. the second source sources. and we compare compared both the AADCC and DDCC 1. Figure 11 illustrates the process of path synchronization hovers around 1 s—except for each sources’ fourth packet. (a) While the synchronization technique has evolved to support Packet Delay with 2 Hops multiple branches.25 s. Once the nodes are synchronized. with two sources sending data packets to a common desti. and thus decreases ti . Since synchronization is already After 75 s. the second source turns in the following packet because node 1 synchronizes with on and sends its packet. Node 1 then forwards both node 1 with the first packet. which can be observed by the narrowing of long transmission times. During the initial phase of the simu- lation. broadcast packet (sent over the full duration of the ti interval). AADCC and DDCC. the network experiences difficulties delivering all its Figure 11(b) shows the packet delivery delay for both packets.5 Source 0 0 Source 01 as that of Section V. indicating a new ti value. and the total packet rate is tripled. The packet rates are 1 /20 and 1 /10 pkt. although for different established through a simple route discovery protocol and only reasons: when source 00 sends its first packet. and packet delivery is delayed by the first source. The Y-axis indicates the ID of from 00 . we can see that the schedules are staggered. node n − 1 (the node immediately before the destination) is a good candidate to be the controller for 1 a path with multiple branches. Topology of the tested network with two sources. The branch . 1 0. Fig. (a) Successful path synchronization for two nodes sending data pack- ets to a common destination. This technique prevents 0_0 DDCC from excessively increasing the duty cycle to support both sources with the same ti .

13. the second source is turned back 0. and 20% compared to the fixed duty cycle case for single-hop networks. 1.5 VII. DDCC was able to balance dropped packets 2 and energy consumption better than AADCC. as the energy consumption of the former is 8. it is done in vain since many of the packets fail to be Time (s) delivered.6 AADCC DDCC by a division of ti by two. However. 250 s. 1. DDCC jointly cases for two sources in a multi-hop network. it can be argued that although the energy expanded in 2 the case of the fixed duty cycle scheme is lower (because of a lower duty cycle and because contention forces nodes to sleep 0 0 200 400 600 800 1000 1200 1400 1600 1800 longer). The duty cycle of the network Failed Packet(s) Packet Rate 1. 28 (DDCC) − Node 2 its activation (after 400 s). When We generalized these results to multi-hop networks with they cannot lower energy (because they have to accommodate multiple sources. 4 ever. Both schemes are capable (c) of increasing the duty cycle when the number of packets to be transmitted cannot be accommodated. we saw a reduction of dropped packets by a factor of six . Comparison of (a) the evolution of ti .5% lower (it is 3% higher 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) compared to the fixed duty cycle case).4 off. 0.6 of AADCC). Summary of Work 2 Low-Power-Listening MAC protocols show great promise Energy (J) to increase WSN lifetime by reducing idle listening. optimizes the energy consumed at vulnerable nodes and the number of packets to be transmitted. compared to the fixed duty cycle case. During this 1 ti (s) time. but both provide adaptive control to the 0 5 10 15 Time (min) 20 25 30 35 duty cycle of LPL MAC protocols. In our experiment. 8 DDCC off in using any sort of adaptive duty cycle controller between Number of Failed Packets 6 improvement in quality of service (through the increase in immediate delivery of packets) and energy consumption. and they can both Fig. Immediately following (a) Number of Packets Send Failed in Evaluations | 28 (AADCC) vs. At 1.2 The response from the DDCC is a controlled increase in the duty cycle to accommodate the new load. and the duty cycle is reduced to save energy. There is a clear trade. AADCC DDCC 8.2 packets as when using AADCC (it dropped fewer packets by a factor of six compared to the fixed duty cycle network): 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (s) Figure 13(b) shows that packets are mostly lost in the moments after the second source is turned on. both AADCC and DDCC and improving a path synchronization technique that allowed succeed in drastically reducing the number of dropped packets linearity to be maintained in the system. Number of Failed Packets 6 Figure 13(c) shows the extra energy consumed at node 2 (the node where the branches converge) when the duty cycle 4 is increased.5 schemes. The Asymmetric Additive Duty Cycle (AADCC) Control and the Dynamic Duty Cycle Control (DDCC) have 0 differing performance. DDCC is a little too eager to increase the ti value. a loss of five. (b) the dropped packets and (c) the energy consumed for the dynamic controller and additive controller decrease the duty cycle to conserve energy. The key to successful ti control was using the transmission of more packets). How. which can be visualized 1. the proposed (b) DDCC strikes a better balance between packet delivery and 3 Total Energy Consumed vs Time − Node 2 energy consumption than AADCC for this tested scenario. Using DDCC.4 with AADCC is still doubled because of the synchronization process taking place after a second source has been detected.8 and occasionally exceeds a safe value (presumably around 500 ms) that allows delivery of m∗ packets (the same is true 0. then three packets 8 AADCC pushes the ti value lower. we introduce two adaptive duty cycle control 0. In this paper. When using a duty cycle controller.47% → 2.5 such MAC protocols were typically reserved for networks with low packet rates so as to allow low duty cycles (and greater 1 energy savings). D ISCUSSION AND F UTURE W ORK A. the network dropped the same number of 0. ti over Time − Node 2 synchronization process activates. C ONCLUSIONS . This results in energy sav- ings of 2% to 10% compared to AADCC.

Culler. 2007. 1984. can ghz ieee 802. We plan to adapt our method [19] J. C.” in Proceedings 5th IEEE Conference on Mobile Ad-hoc and Sensor Systems (MASS’08). protocol low data rate transmissions in specknets. event in a monitoring network. “Adaptive low power listening for selecting an update coefficient α. Szewczyk. we plan to adapt DDCC to real.” in Proc. “Versatile low power media access for This work showed that ti control allows networks to respond wireless sensor networks. no. its implementation requires [10] R. E.” in Proceedings 2nd tion is closer to optimal when using DDCC (minimization of IEEE International Workshop on Multi-hop Ad Hoc Networks: from Theory to Reality (REALMAN’06). “Speckmac: Low-power decentralised mac Although the balance of sent packets and energy consump. P. This is due to a 2004.pdf. “Medium access control with a dynamic and to respond swiftly by increasing the duty cycle (Figures 6. Anderson. and D. R EFERENCES [1] A. pp. 2004. method of gradient descent. duty cycle for sensor networks. 2010. 2004. S. considerations may make one controller more attractive over [16] P. El-Hoiydi. Nova Science Publishers.” in Proceedings of the 2nd ACM Conference to sudden bursts of packets as caused by the occurrence of an on Embedded Networked Sensor Systems (SenSys’04). 2007. Nov. Fan.chipcon.” [Online]. Arvind. 8 and 13). 1986. and C.” AADCC is a simpler scheme that provides satisfactory results. Sinha. the other.” in Proceedings of the IEEE International Conference on Communications (ICC’02). . the error function). Prentice-Hall. Jun. “A control theory approach or increase as it nears its target (unlike DDCC). Sin. 3. Heinzelman.” in Proceedings 3rd or dynamic control. On the other hand. ti control in Medium Access Control in Wireless Networks. G. Hill. Available: also be applied to the control of many other parameters in http://www. May 2006. “Network-aware adaptation of aspects when deciding whether to implement additive control mac scheduling for wireless sensor networks. [7] M. Nov. “CC2420 data sheet. in Adaptive Filtering Prediction and to utilize much smaller computational resources. Polastre. Communications Society Conference on Sensor and in this work. G. 2000. and of The Fourth IEEE Communications Society Conference on Sensor and it is in incapable of adapting the amount of ti decrease Ad Hoc Communications and Networks (SECON’07). we would like to explore the impact of duty cycle on route selection: the routing protocol may find alternate routes to nodes with very high duty cycles and little remaining energy. which does Std. Jun. Lin. [6] Chipcon Products from Texas Instruments. Discussion Sys’06). Barto. protocol designers may consider various [9] C. DDCC proved to correctly handle packet losses Ad Hoc Communications and Networks (SECON’07). “WiseMAC: an ultra low power MAC increases.” in Proceedings of the 4th Embedded Networked Sensor Systems (Sen- B. sumption in low-power-listening MAC protocols. Finally.” in Proceedings of the IEEE Wireless 7. Conference on Distributed Computing in Sensor Systems (DCOSS’07 Poster Session). and X. 2007. K. J. Aug. Jun. vol. making LPL MAC protocols [4] K. Ganesan. Sep. made possible by this work. Heinzelman.15. in Proceedings of the Sixth International Symposium on Information The implementation of AADCC promises to be quicker. and Processing in Sensor Networks (IPSN’07). Goodwin and K.edu/∼merlin/NodeSynchronization/NodeSync work: we could replace the NLMS algorithm by the Newton’s URTR. pp. thus and Standards. While DDCC generally provides ti val. Apr. vol. Pister. R. 2008. 307–320. [17] C. 2006. V. “System architecture directions for network sensors. J. Wang. “Node synchronization for min- imizing delay and energy consumption in low-power-listening mac protocols. 802. Hollar.” in IEEE Transactions on Mobile Computing.15. J. and P. Abdelzaher. Qiao. we plan to investigate the possible cross-layer interactions [20] MoteIV Tmote sky. B. S. However. [15] G. and T. Liu. All these Control. D. 2007. 2004. When it comes to increasing ti when the packet Communications and Networking Conference (WCNC’04).” in Proceedings brings ti down very quickly when a packet loss occurs. Culler. Mar.rochester.4 not require knowledge of a system’s physical model. V. to throughput optimization in multi-channel collection sensor networks. Vigorito.com/tmote. “Node synchronization for minimizing delay and energy con- For our future work. B. in Stochastic Systems.” suitable for a greater number of WSN applications. “Aloha with preamble sampling for sporadic traffic in ad hoc wireless sensor networks. [3] J. DDCC is relatively sluggish. “X-mac: a short preamble mac protocol for duty-cycled wireless sensor networks. ues closer to the optimal values. Prentice-Hall. Han.” in Proceedings Computers and Communications (ISCC’04). [14] H. 6. Yee. Le. energy conservation is more important than packet delivery. Kumar and P. 95–107. M. Baldi. C. Programming Languages and Operating Systems (ASPLOS). Woo. “CMAC: An energy efficient MAC These aspects guide the responsiveness of DDCC to packet layer protocol using convergent packet forwarding for wireless sensor loss or when the packet rate decreases. and A. “Medium access control in wireless sensor networks. rate decreases. Buettner. Merlin and W. 1534–1539. K. [5] IEEE Computer Society LAN MAN Standards Committee. AADCC cycling in energy-harvesting wireless sensor networks. Future Work [18] ——. 2007. D. A. as well as determining if wireless sensor networks. Varaiya. 2002. The higher duty cycle caused only a limited increase protocol for the downlink of infrastructure wireless sensor networks. and K. El-Hoiydi and J. 2. Henriksson. Decotignie. In particular. Langendoen. Jun. and R. “Adaptive control of duty small α to prevent oscillations.-W.-J. Wong and D. “Wireless saving considerable amounts of energy when the network load medium access control (MAC) and physical layer (PHY) specifications is low. in energy consumption. Merlin and W. Lopes. [12] P. Hill. the proposed DDCC method.” in Proceedings of path synchronization and ti control to more particular of the Ninth International Conference on Architectural Support for networks such as those made of branches of branches. for low rate wireless personal area networks (LR-WPANs).ece.com/files/CC2420 Data Sheet 1 3. pp. 2007.(compared to the fixed duty cycle case) when the offered load [2] A.” in IEEE Trans- actions on Mobile Computing (to appear) and available at life deployments.” in IEEE More importantly. [8] K. Volume II: Practice allows the network to choose a very low duty cycle.4 / zigbee-ready rf transceiver. Other estimators may be considered for our http://www.moteiv. In the results presented networks. [13] C. while accommodating higher loads whenever needed. D. http://www. [11] S. Jurdak.pdf a network. C. Apr. 8.