* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download DutyCon: A dynamic duty-cycle control approach to end
Piggybacking (Internet access) wikipedia , lookup
Network tap wikipedia , lookup
TCP congestion control wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
Backpressure routing wikipedia , lookup
Asynchronous Transfer Mode 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
Cracking of wireless networks wikipedia , lookup
Deep packet inspection wikipedia , lookup
Wake-on-LAN wikipedia , lookup
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.