- About this Journal ·
- Abstracting and Indexing ·
- Aims and Scope ·
- Annual Issues ·
- Article Processing Charges ·
- Articles in Press ·
- Author Guidelines ·
- Bibliographic Information ·
- Citations to this Journal ·
- Contact Information ·
- Editorial Board ·
- Editorial Workflow ·
- Free eTOC Alerts ·
- Publication Ethics ·
- Reviewers Acknowledgment ·
- Submit a Manuscript ·
- Subscription Information ·
- Table of Contents

International Journal of Distributed Sensor Networks

Volume 2013 (2013), Article ID 801758, 13 pages

http://dx.doi.org/10.1155/2013/801758

## Adaptive Scheduling and Routing Scheme for Delay Guarantee in Wireless Sensor Networks

Beijing Key Lab of Intelligent Telecommunication Software and Multimedia, School of Computer Science, Beijing University of Posts and Telecommunications, Beijing 100876, China

Received 3 May 2013; Revised 16 July 2013; Accepted 16 July 2013

Academic Editor: Sartaj K. Sahni

Copyright © 2013 Yan Sun et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

In wireless sensor networks (WSNs), periodical sleeping scheme on sensor nodes is an effective way to save energy. However, it will hinder the capability of the network to provide real-time data reporting due to relay node being sleep. Motivated by this, we propose an adaptive scheduling and routing scheme for guaranteeing dynamic end-to-end delay requirement while minimizing the energy consumption. First of all, we utilize an optimal wake-up scheduling algorithm to achieve the initial wake-up schedules and routes and design an adaptive adjustment algorithm. When the end-to-end delay requirement of a region changes, our proposed adaptive adjustment algorithm can locally adjust the wake-up schedules or the routing tables of the nodes which are the nearest ones to the source node, so as to minimize energy consumption and the impact on other regions while guaranteeing the new end-to-end delay requirement of the region. Through experiments in a real wireless sensor network and extensive simulations, we can get that the proposed scheme can conserve at least 20% energy consumption comparing to other existing adjustment algorithms, and its performance approaches that of the optimal solution.

#### 1. Introduction

Due to the vast potential applications, large-scale wireless sensor networks (WSNs) are widely used in environmental monitoring, battlefield detection, water level monitoring, and so on. Since sensor nodes are small devices with limited resources, in particular battery power (or energy), it is therefore crucial to reduce energy consumption of those nodes in order to achieve a longer network lifetime. Periodical sleeping scheme on sensor nodes is an effective way to save energy in the context of WSNs. However, due to the presence of sleep-awake scheduling, when a node needs to report data, it has to wait for its next-hop node to wake up. When the next-hop node is receiving data, it will encounter the same problem. As a result, end-to-end delay may uncontrollably increase, and hence the system may be unacceptable in many applications requiring real-time response.

Let us see an example of data reporting process in an industrial temperature monitoring system. At the beginning, the entire network has a same delay requirement. When we pay more attention to region since its temperature exceeds a threshold, we may increase the data collecting and reporting frequency so as to get more detailed information there, and thus the delay requirement of this region will be accordingly shortened. Such change on delay requirement can also be triggered by event detection. The node that detects the event or quickly reports is called trigger node. To meet the new end-to-end delay requirement of the region A, the optimal solution is to find some necessary adjustments near the trigger node while keeping other nodes unchanged. The adjustments include changes on route and sleep schedule. In most environmental monitoring WSNs, for prolonging the system lifetime, we usually set a long sleeping interval when the environment changes smoothly. Only when the sensing data is not in reasonable range or exceeds the pre-setting threshold, we shorten the sleep time in the event area and increase the reporting frequency, so as to reduce the end-to-end delay and hence ensure the rapid response of events. Wang et al. [1] proposed a dynamic duty cycle control approach that decomposed the end-to-end delay guarantee problem into a set of single-hop delay guarantee problems along the path of each data flow in a network. When the end-to-end delay requirement changed, the authors solved this problem by feedback. The problem they studied is similar to ours, but their solution needs recalculating all the single-hop delays and rescheduling all the nodes on the data flow path.

The algorithm proposed in [2] can provide the optimal wake-up scheduling algorithm for minimizing energy consumption and limiting the maximum end-to-end delay simultaneously. We use it to get the initial wake-up schedules and routes and name it as *Initial Algorithm* in this paper. The challenge is to find an adaptive scheduling and routing adjustment algorithm for guaranteeing dynamic end-to-end delay requirement while minimizing energy consumption and the impact on other regions, when the delay requirement of a region changes. Towards this end, we do some exploratory research, which is named as *Adaptive Adjustment Algorithm*. The proposed adjustment algorithm merely modifies the route path and duty cycle of those nodes which transmit or relay the data from *trigger node*, so as to minimize the energy consumption of the additional data and minimize the impact on the other paths. The brief procedure is as follows: all relay nodes on the path from trigger node to the sink will be processed one by one. We first search all the nodes in the communication range of the current relay node and find whether there is an agent node that can meet the new end-to-end delay requirement. If there is such an *agent node*, the current relay node just needs to change its route to the agent node. If none of them meets the new delay requirement, we firstly use adaptive adjustment algorithm to change the duty cycle and increase the wake-up frequency of the current relay node, then find an agent node around the current relay node again. This procedure will be repeated on the path from the trigger node to the sink till finding a suitable agent node. In the adaptive adjustment algorithm, we calculate the new wake-up frequency based on the energy consumption of all nodes on the path, the energy consumption of the current relay node, and the new end-to-end delay requirement. If the new wake-up frequency exceeds an upper threshold, we let the node stop sleeping since frequently switching between sleep and working states shall bring more energy consumption [3]. We also prove that the adaptive adjustment algorithm can guarantee the optimal assignment of frequency to achieve the optimum distribution of energy. In general, a distributed algorithm is more flexible for WSNs than a centralized one [4]. So, we implement the algorithm in a distributed way. The contributions of the proposed scheme are summarized as follows.(i)It makes the nodes automatically adapt to the new delay requirements when events happen.(ii)It minimizes energy consumption and the impact on other paths while guaranteeing dynamic end-to-end delay requirement in a region.(iii)With the increasing scale of nodes, the energy consumption of the proposed algorithm is constantly close to the optimal algorithm.(iv)It has good stability for all kinds of tree-topology networks.

The rest of this paper is organized as follows. Section 2 surveys the related works from the literature. In Section 3, we give the problem description. The initial algorithm is summarized in Section 4. In Section 5, we detail the proposed scheduling and routing scheme and the adaptive adjustment algorithm. In Section 6, we describe detailed procedure in a real wireless sensor network. Section 7 illustrates simulation results for the proposed method and shows its performance. Section 8 concludes the paper.

#### 2. Related Work

To shorten the end-to-end delay in WSNs, many literatures have focused on how to trade off between energy consumption and end-to-end delay caused by sleep. In S-MAC protocol [5], sensor nodes were divided into different virtual clusters. All the sensor nodes in a same virtual cluster adopted same sleep scheduling policy for energy saving. However, delay will increase with the increase of the number of transmission hops. In literatures [6–8], DMAC protocol and some improved DMAC protocols were proposed; these protocols greatly reduce delay while saving energy consumption. The shortcoming is that they cannot guarantee end-to-end delay due to retransmission incurred by data loss. Meanwhile, they were effective to unidirectional data flow while the reverse data flow will lead to greater delay. Q-MAC [9] can balance the tradeoff between energy consumption and the sleeping delay in query-based sensor networks by predicting nodes’ wake-up time using query commands. The authors of [10] presented and evaluated a packet scheduling policy and routing algorithm called RACE that inherently accounts for time constraints. However, both Q-MAC and the sleep scheduling in [10] only aimed to minimize but not guarantee the end-to-end delay. The authors of [11] proposed a methodology to provide a time-division cluster scheduling (TDCS) mechanism. The objective is to meet all end-to-end deadlines of a predefined set of time-bounded data flows while minimizing the energy consumption of the nodes by setting the TDCS period as long as possible. In literature [12], a solution was provided to the joint control problem of how to optimally control the system parameters of the sleep-wake scheduling protocol and the anycast packet-forwarding protocol to maximize the network lifetime, subject to a constraint on the expected end-to-end packet-delivery delay. The authors of [13] proposed a novel sleep scheduling method to reduce the delay of alarm broadcasting from any sensor node in WSNs. However, the sleep scheduling mentioned above was lack of flexibility when new tasks are added into the original schedule.

Other researchers worked on the delay guaranteed scheduling and routing strategies. In [14], the authors proposed delay guaranteed routing and MAC protocol (DGRAM) which was a TDMA-based protocol designed to provide deterministic delay guarantee in energy-efficient manner. Another tree-based delay guaranteed and energy efficient MAC protocol (TDGEE) was proposed in [15]. TDGEE was a cross-layered TDMA-based MAC protocol, which was energy efficient and delay guaranteed based on the tree topology. Unfortunately, both of them are TDMA-based and need carefully slot computation, so they may bring extra synchronization overheads. The authors of [2] proposed an algorithm for maximizing the lifetime of a sensor network while guaranteeing an upper bound on the end-to-end delay. It was mainly based on different wake-up frequency distributions of node in a network. However, the algorithm should take wake-up frequency distribution of all the nodes as a priori knowledge. Therefore, it cannot adapt to the case that the wake-up frequency of reporting sensor node has to change due to more precise observation requirement. Indeed, the aim of our study is how to quickly adjust the wake-up schedule or the routing table with minimum energy cost so as to satisfy the new delay requirement.

#### 3. Problem Description

In many WSNs, sensor nodes collect information of the environment continuously, and then these data are transmitted to the sink through a chain of relay nodes. We call the sensor nodes as source nodes, which only collect the data instead of forwarding data for other nodes. When the source node periodically reports data, the reporting delay must be less than or equal to the reporting cycle. In WSNs, delay mainly consists of three parts: transmission delay, processing delay, and sleep delay. To maximize network lifetime, the sleep cycle is usually set as long as possible, for example, several seconds or above, so the transmission delay and the processing delay can be ignored. Hence, the upper boundary of the end-to-end delay depends on cumulative sleep delay. On the other hand, even if the data reporting cycle is less than the sleep cycle, the data cannot be sent because the node is in sleep state when reporting cycle arrives. Therefore, it is reasonable to set the sleep cycle equal to the reporting cycle. As a result, the upper boundary of the reporting end-to-end delay is the cumulative sleep delay, and its lower boundary is the reporting cycle of source node. So, we set the reporting cycle equal to the end-to-end delay in order to minimize the energy consumption while guaranteeing the end-to-end delay. Hence, we usually set the reporting cycle equal to the delay requirement in practice, and the two terms are used interchangeably in this paper.

When a WSN begins running, the entire network has same delay requirement; this is static scheduling phase, and initial schedule and route of each node should be calculated in order to minimize the energy while guaranteeing a fixed end-to-end delay. Due to the dynamic change of environment, the reporting cycle of a region needs change due to more precise observation requirement; this is dynamic scheduling phase. To meet new end-to-end delay requirement of the region, we can recalculate the schedule and route of each node according to the method in static scheduling phase. However, the solution will improve the energy consumption of the entire network because the wake-up frequency of each node rises, and this makes the network consume much more extra energy. In dynamic scheduling phase, we can consider two kinds of solutions. One solution is to adjust the wake-up frequency of each node along the original path from the source node to the sink node. Because the energy consumption of wake-up is greater than that of sending one packet [16], we hope to adjust the smallest number of nodes on the original routing path. Therefore, the main work of the paper is to find an optimal solution to make the minimal adjustment in order to maximize the reduction of the extra energy consumption.

The optimal solution is to make local adjustment on the original routing path; for example, as shown in Figure 1, source node reports data to the sink node along the routing path marked by thick line; when source node has to shorten its reporting cycle from to , it searches in its communication set and finds whether a relay node in set satisfies the delay requirement or not. If cannot find such a relay node, then it notifies along the original routing path, and thus searches in its communication set. If cannot find a relay node, then it rises up its wake-up frequency and notifies . If finds out such a relay node , it uses this relay node as the agent node to deliver its subsequent data along the routing path marked by dotted line. Otherwise, we rise up the frequency of and continue the searching process at ’s next-hop node in the original path. The searching process is performed from the source node to the sink until an appropriate agent node is found.

Subsequently, we briefly introduce *Initial Algorithm* [2] in static scheduling phase and propose an adaptive and distributed algorithm in dynamic scheduling phase.

#### 4. Initial Algorithm

Because no node needs source node to forward data, the source nodes will not affect the end-to-end delays of other nodes. As a result, the authors of [2] modeled a network by simplifying the original tree topology into a corresponding T-tree that ignores all the source nodes. In the corresponding T-tree , is the set of all the relay nodes and is the set of all the edges. Assume that the reporting cycle is for all the source nodes in a network. After the corresponding T-tree is created, we can use the *Initial Algorithm* to calculate the optimal wake-up frequency for each relay node . The calculation method of node’s wake-up frequency is given as Algorithm 1.

*Algorithm 1. *Initial Scheduling and Routing Algorithm.(1)Calculate frequency division in the T-tree. The function Calculate-Frequency-Division() receives a node and returns the delay on the subtree rooted at as a function of the amount of energy assigned to this subtree. From the sink node, they perform this function to get the subtree delay denoted by, the partition of energy assigned to node denoted by , the partition of the energy assigned to the subtree rooted at each child node : , and the coefficient according to . After recursively calling this function for all its children , , we finally obtain the frequency division for all the nodes in the T-tree.(2)Set and compute using .(3)Assign frequencies to each node in the T-tree. The function Assign-Frequencies() calculates the node’s wake-up frequency . From the sink node, they perform this function to get the wake-up frequency of current node. After recursively calling this function for all its children using got in , then we obtain the wake-up frequency for all the nodes in the T-tree.

This algorithm can guarantee that the delay on each path from the leaf to the sink is less than or equal to the end-to-end delay requirement. For example, there is a path . Let denote the reporting delay from node to the sink and denotes the end-to-end delay requirement. Since and , we can get .

Besides, this algorithm has the following characteristics.(i)The reporting delay on each path from the leaves to the root is equal, and those paths are fixed.(ii)The reporting cycle on each path from the leaves to the root is equal to the delay requirement.(iii)The reporting delay from a leaf to a relay node is inversely proportional to the energy consumption of the subtree rooted at the relay node.

Now, let us see the energy consumption according to the Initial Algorithm when the reporting cycle is , The total energy consumption per second, denoted by , is

In the previous equations, is the wake-up frequency of relay node calculated by the initial algorithm, denotes the average energy consumption of relay node during the wake-up period, and hence denotes the average energy consumption of all the relay nodes per second; denotes the average energy consumption of one source node per collection, is the number of source nodes in the network, and thus is the energy consumption of all the source nodes in the network with the reporting cycle .

#### 5. Adaptive Adjustment Algorithm

##### 5.1. Problem Formulation

Using the Initial Algorithm, the entire network has same transmission delay which is equal to the tolerant delay. When there is an emergency or users want to quickly obtain data in a region, for example, the reporting cycle in the region A needs to be changed to and is less than , as shown in Figure 1, the *Initial Algorithm* cannot perform local adjustment. Our purpose is to locally adjust some nodes’ reporting cycles and their routes to the sink with the minimum energy consumption while guaranteeing the new reporting cycle .

Firstly, let us study the extra cost when the reporting cycle of some nodes becomes . The energy consumption per second, , can be denoted as follows:

In the previous equations, is the new wake-up frequency of relay node , so denotes the new average energy consumption of all the relay nodes per second; is the duration that the region A keeps its reporting cycle with , and is the number of the source nodes in the region A, so is the energy consumption per second of the sensor nodes in the region A; represents the communication overhead per node due to adjusting the node wake-up frequency, and is the number of relay nodes which should adjust wake-up frequency; thus, is the communication overhead generated by adjusting the corresponding node’s sleep schedule. Comparing (4) with (1), we can get that the extra cost when the delay requirement of some nodes changes from to , denoted by , is According to (3) and (6), the second part in (8) is

Since , , , and are predefined constants, we set as a constant .

According to (2) and (5), we have . Let us divide all the relay nodes into two sets and . consists of the necessary relay nodes which change report cycle to . consists of the rest relay nodes which keep report cycle at . In order to minimize the impact on other paths, we set As a result, we can obtain Bring the results of (7), (9), and (11) into (8) we have or Here, are calculated via the Initial Algorithm, depend on the device, and are predefined. So, we can regard them as constants. Then, the objective of the problem is subject to: (for all ) and .

The adaptive adjustment problem is NP-hard, so we shall propose the heuristic algorithm to attain the suboptimal solution locally with limited computation. Before discussing the heuristic algorithm, we first study the lower boundary of the optimal solution and use it as the standard to verify the performance of the adjustment algorithms.

##### 5.2. The Lower Boundary of Optimal Solution

According to the objective function (14), the ideal conditions are (for all ) and . When , it means that no node needs to change its route or schedule, but this method may lead to and against the constraint. Obviously, a feasible solution is to transmit the data through other paths. Ideally, we only need to adjust the routes without adjusting all wake-up frequencies. In this case, the extra energy is , where is an indeterminate value for different topologies or different trigger regions. So we set and regard it as the lower boundary of the optimal solution. In the heuristic algorithm, we will also only reallocate frequency on the reporting path and partially adjust the route to reduce overall cost, while keeping as a variable.

Therefore, the key challenge here is to select the minimum number of nodes to be adjusted and reassign wake-up frequency for them.

##### 5.3. Optimal Assignment Theory

For presenting the adaptive adjustment algorithm, we first describe and prove an optimal assignment theory which is used in the algorithm.

Theorem 2. *, , , are positive, and are constants. If and only if ), then will be minimum.*

*Proof. *We have
Since and are constants, will be minimum when is minimum. As for any and , we get that if any one of is not minimum, will not be minimum. In other words, if is minimum, each of should be minimum. By the binary average value inequality, is minimum when for any and . That is,
Substituting (16) into , we have . Then, we get . Similarly, we can get . So, we prove that will be minimum when . This finishes the proof.

##### 5.4. Adaptive Adjustment Algorithm

*Definition 3. *In a WSN, the communication set of node denoted as is the set of nodes within the communication radius of node .

*Algorithm 4. *Adaptive Adjustment Algorithm.(1)Search all the nodes in the communication set of source node . If we find a node with the delay which is less than the required delay , is the agent node. Set as the next-hop node of and stop the process. If not, go to .(2)Set the required delay .(3)Calculate the new frequency of current node according to (17), that is, . Compare it with the original frequency and the upper threshold of frequency . if , set which means the node is no longer sleep; If , then keep as its old value; otherwise, change the frequency of current node to . Go to .(4)Modify the required delay to. Then, search all the nodes in the communication set of node. If we find a node with the delay which is less than the required delay , is the *agent node*. Set as the next-hop node of and stop the process. If not, go to .(5)If the node is sink, the algorithm ends. Otherwise, send an adjustment message with parameters and to the next relay node on the reporting path.(6)When a relay node receives such an adjustment message, repeat and on the current node.

We use optimal assignment theory proved in Section 5.3 to determine the new frequencies of the relay nodes on the path. According to Theorem 2, we should know how many relay nodes need to adjust their frequencies. However, the number of nodes that should be adjusted will vary with the conditions (*i.e.* topology, delay requirement, and trigger node). Here, we study the worst case that all the relay nodes on the original path from to the sink need to increase their frequencies. In the worst case, in the objective function is constant for the special source node . Therefore, the objective is to minimize . Using Theorem 2, we set as and as . Since all the are constants, so both and are constants too. As a result, the new frequency of each relay node on the original path from to the sink is

Hence, we get the optimal energy assignment theory as Corollary 5.

Corollary 5. *Let be the new end-to-end delay requirement, the energy consumption per second of current relay node, and . The nodes will achieve optimum distribution of energy by adjusting their frequencies according to .*

According to Corollary 5, we summarize the adaptive adjustment algorithm as Algorithm 4.

#### 6. Adaptive Scheduling and Routing Procedure

##### 6.1. Initialization Procedure

In the initialization procedure, we design two types of messages: the upstream message “Info” and the downstream message “Notify.” Via “Info,” children nodes report their own control parameters including coefficient factor to their parent nodes. Through “Notify,” parent node sends its own control parameters (including frequency and delay ) to its children nodes. Figure 2 illustrates the workflow of the initialization procedure. In Figure 2, is a sensor node, and denote the router nodes on the path from source to the sink node , so is the leaf node in the routing tree (T-tree). Source reports data to the sink with cycle . The workflow is described in Figure 2.

*Step 1. *All the source nodes collect data according to a predefined cycle .

*Step 2. * sets the total energy of the tree rooted at it to 1, that is, , and calculates its coefficient factor . Then, sends the coefficient to its directed parent node .

*Step 3. *The total energy of the tree rooted at is set to “1.” When receives the coefficient factors of its children nodes, it calculates its own energy , its coefficient factor , and the assigned energy of the subtrees rooted at its children nodes. Then, sends the coefficient to its directed parent node . The above process is repeated until the sink node receives the coefficient factor of each child node.

*Step 4. *Sink node receives the coefficient factors of its children nodes and calculates , , and . Then, the sink node calculates the actual energy consumption of the whole network according to the predefined cycle via ; the actual energy consumption of sink node ; the actual energy assigned to the subtree rooted at each child node ; and its wake-up frequency . Based on the wake-up frequency, sink node computes the end-to-end delay requirement and . Finally, Sink node sends the parameters ,,, and to all of its children nodes.

*Step 5. * receives message from its parent node, same as Step 4, calculates its actual energy consumption and the actual energy assigned to the subtree rooted at its child node , then, accumulates the end-to-end delay and . Finally, sends the parameters ,,, and to all of its children nodes until the leaf node is reached.

*Step 6. * calculates various parameters in the same manner and notifies its wake-up frequency to the source node . As a result, all the nodes in the network work with a fixed wake-up frequency.

##### 6.2. Adjustment Procedure

In the adjustment procedure, we design four types of messages. “Adjust” is an upstream message which tells its next-hop node to be adjusted, including necessary control parameters. When a node wants the delay information of agent candidate nodes in the communication range, it sends a “Search” message to those nodes. Then, those nodes will return “ACK” messages with their delays to the sink node.

Figure 3 shows an example of the adaptive adjustment procedure. In Figure 3, represents the th neighbor node of the router . In an area of a wireless sensor network, when an event occurs, for example, temperature value collected by source node exceeds a predefined threshold or the node received an adjustment command, then, adjusts data reporting cycle to . The adjustment procedure works as in Figure 3.

*Step 1. *Source node initializes the required delay and sends “Adjust” message with the parameters and to its router node .

*Step 2. *The router receives “Adjust” message with the parameters and and calculates a new wake-up frequency using (17), according to its reserved parameter . If , the node is no longer sleep. If , then modifies its old wake-up frequency ; otherwise, maintains its old wake-up frequency. Then, notifies its wake-up frequency to all of its child nodes, updates the required delay , and sends “Search” messages to all of its neighbor nodes .

*Step 3. *When the neighbor node receives the “Search” message, it responses an “ACK” message with its actual delay to router .

*Step 4. * receives all the actual delays compares them with , and calculates the minimal delay . If the minimum is , then, sends “Adjust” message to its parent node ; otherwise, adjusts the path to its neighbor node with the minimum actual delay, and the adjustment procedure ends.

*Step 5. *When a router node receives the “Adjust” message, it performs similar execution as node . If no router node on the original path can find an agent neighbor node to meet the delay requirement, sink node will receive the “Adjust” message.

*Step 6. *When the sink node receives the “Adjust” message, it calculates a new wake-up frequency using (17). If , then the sink node modifies its old wake-up frequency ; else, the sink node maintains its old wake-up frequency. Then, the sink node notifies its wake-up frequency to all the children nodes. All the nodes continue to work in accordance with the adjusted wake-up frequency.

For example, in Figure 3, receives Adjust() and sends “Search” messages to all its neighbor nodes . After receiving the “ACK” message with the delay from the neighbor nodes , compares all the required delay and calculates the minimum. Due to , sends “Adjust” () to its parent node ; receives adjustment command and then sends “Search” messages to all its neighbor nodes . After receiving the “ACK” message with the delay from the neighbor nodes , computes . Now, since , so, adjusts its path. As a result, the data transmission path shown in Figure 2 adjusts to the transmission path shown in Figure 3.

#### 7. Simulation and Analysis

We use a large number of simulation experiments to verify the performance of the adaptive scheduling and routing adjustment algorithm and study how various factors impact the algorithm performance.

##### 7.1. Simulation Environment

We use C language to establish the simulation platform. In the simulation environment, there are nodes in an area of , both the tree topology of network and the region which needs to accelerate reporting are randomly generated. We randomly select a node as a trigger and adjust its end-to-end delay requirement of data reporting. Then, we study the effects of route adjusting and frequency adjusting in different algorithms. The communication radius of node varies between 25m and 75m. The original reporting cycle is 20s. For simplicity, is 20mW for each relay node.

The proposed algorithm will be compared with the global adjustment algorithm, the lower boundary of optimal solution, and the local adjustment algorithm. The global adjustment algorithm will follow the smallest end-to-end delay of all regions as a global end-to-end delay to adjust the wake-up frequency. In the lower boundary of optimal solution, only the routes are adjusted, but all the wake-up frequencies are not adjusted, and it also neglects the additional communication overhead for routing modification.

In the local adjustment algorithm, all the wake-up frequencies of the nodes on the path increase to times of their original frequencies. We will, respectively, discuss the impacts of the network scale(), new reporting cycle(), and communication radius on the performance of the adaptive adjustment algorithm.

##### 7.2. Impact of Network Scale

In this set of simulation, the communication radius is and the new reporting cycle is . The network scale increases from 100 to 835 in step of 15.

Figure 4 shows the relationship between the energy consumption and the network scale in the four algorithms. In Figure 4, the energy consumption of the global adjustment algorithm increases much faster with the increase of network scale compared with the other three algorithms. So, the global adjustment algorithm is unacceptable, while the energy of the other three algorithm is comparable. Next, we further study the relationship of the local algorithm, the proposed algorithm, and the lower boundary of optimal solution.

Figure 5(a) shows that the proposed algorithm and the lower boundary of optimal solution are similar in slope, but the local adjustment algorithm is larger than others. It demonstrates that the energy consumption of the proposed algorithm is the lowest growth. Meanwhile, from Figure 5(b) we can see that the ratio significantly decreases with the increase of network scale. This shows that the proposed algorithm is constantly close to the lower boundary of optimal solution with the increase of network scale.

Table 1 shows average energy consumption, maximum energy consumption gap, and ratio of them in the same node scale and different topologies. According to the data given in Table 1, the energy consumption gap of any topology is within of the average when the network scale is larger than . It goes to show that the proposed algorithm has good stability in different topologies for a large-scale network.

##### 7.3. Impact of New Reporting Cycle

The network scale is and the communication radius is . The new reporting cycle decreases from to in step of . We run the simulation with 20 random topologies and the average energy consumptions for the three algorithms are shown in Figure 6. Since it is impossible that the adjustment of the boundary of optimal algorithm does not consume any energy when the gap between and is great, we ignore the result of the optimal algorithm when is from to .

Figure 6 shows that the energy consumption of the proposed algorithm is very close to the boundary of optimal algorithm when changes from to and always less than that of the local adjustment algorithm. From , the energy consumption gap between the proposed algorithm, and the local adjustment algorithm increases quickly. When , the energy consumption of the proposed algorithm, the boundary of optimal algorithm and the local adjustment algorithm are , , and , respectively. That means the proposed algorithm can save energy compared with the local adjustment algorithm and only cost extra energy than the boundary of optimal algorithm. When decreases to less than , the energy cost of the proposed algorithm is about half of the energy cost of the local adjustment algorithm.

##### 7.4. Impact of Communication Radius

In this set of simulation, the network scale is 500 and the new reporting cycle is . The communication radius changes from to in step of . will change with different devices of different communication radiuses. The relationship is . We will, respectively, discuss the changes of the wake-up time and the extra energy in different communication radiuses.

Figures 7(a), 8(a), and 9(a) show the wake-up time in three topologies. In these three topologies, the wake-up times of both the local adjustment algorithm and the boundary of optimal algorithm keep constant and look like the upper and lower bounds of the proposed algorithm. That means that the proposed algorithm can significantly reduce the wake-up time through adaptive adjustment and therefore reduce the extra energy consumption.

The wake-up time of the proposed algorithm is ladder-like down and approaches the boundary of optimal algorithm when the communication radius increases from to . We analyze the phenomenon as follows. When the communication radius increases, there are four cases: the communication radius increases, but the communication set does not become larger. The communication radius increases and the communication set becomes larger, but the minimum delay of the communication set will not decrease. The communication radius increases, the communication set becomes larger, and the minimum delay of the communication set decreases, but the minimum delay still does not meet the end-to-end delay requirement. The communication radius increases, the communication set becomes larger, and the delay of one new node meets the end-to-end delay requirement. In cases , , and , even though the communication radius increases, the wake-up time will not change since no adjustment is needed through our adaptive adjustment algorithm. Only in case , the wake-up time decreases since we can find a proper agent node. Therefore, when the communication radius increases, the wake-up time keeps for a while and then jumps down when the communication radius satisfies the case .

Although the wake-up time of the proposed algorithm reduces with the increase of the communication radius, it does not mean the larger the communication radius is, the less the energy consumes. Figures 7(b), 8(b), and 9(b) show the extra energy consumption of the path in three topologies. We can see that with any kind of topology, the extra energy of the local adjustment algorithm and communication radius follows square rule. But the extra energy of the proposed algorithm and communication radius obeys a piecewise linear relationship. Meanwhile it hops down at some points. The reason of hopping down is same as above. The reason of the linear relationship is that the proposed algorithm uses the nearby nodes of the path as agent nodes so as to reduce extra energy. Comparing the proposed algorithm with the local adjustment algorithm, the lager the communication radius is, the bigger gap between them will be. In different networks, it is possible that nodes have different communication radiuses. Figures 7(b), 8(b), and 9(b) show that the extra energy when radius is is slightly larger than that of when radius is . So, the proposed algorithm has good adaptability and stability in different communication radiuses.

#### 8. Conclusions

In this paper, the scheduling and routing strategies for end-to-end delay guarantee in WSNs have been studied. Firstly, we use the optimal wake-up frequency distribution algorithm proposed in [2] to initialize the wake-up schedule of nodes and guarantee the initial end-to-end delay. In the case that the end-to-end delay requirement of a region changes, we propose an adaptive adjustment algorithm to locally adjust the wake-up schedule or the routing table with the minimum energy cost while satisfying the new delay requirement. Then, we propose the detailed procedure in a real wireless sensor network. We simulate the algorithm over random sensor networks with different tree topologies and investigate the energy consumption of the network. The simulation results show that the adaptive adjustment algorithm can minimize energy consumption while guaranteeing the delay requirement. In the future work, we plan to take into account remaining energy of nodes when the frequency increases in order to balance the energy consumption of the entire network.

#### Acknowledgments

This work is partly supported by the Major National Science and Technology Projects (no. 2012ZX03005008); the National Natural Science Foundation of China under Grant nos. 61272520, 61370196, and 61070205; the Research Fund for the Doctoral Program of Higher Education under Grant no. 20110005110007.

#### References

- X. Wang, X. Wang, G. Xing, and Y. Yao, “Dynamic duty cycle control for end-to-end delay guarantees in wireless sensor networks,” in
*Proceedings of the IEEE 18th International Workshop on Quality of Service (IWQoS '10)*, June 2010. View at Publisher · View at Google Scholar · View at Scopus - R. Cohen and B. Kapchits, “An optimal wake-up scheduling algorithm for minimizing energy consumption while limiting maximum delay in a mesh sensor network,”
*IEEE/ACM Transactions on Networking*, vol. 17, no. 2, pp. 570–581, 2009. View at Publisher · View at Google Scholar · View at Scopus - C. Chi-Tsun, C. K. Tse, and F. C. M. Lau, “An energy-aware scheduling scheme for wireless sensor networks,”
*IEEE Transactions on Vehicular Technology*, vol. 59, no. 7, pp. 3427–3444, 2010. View at Publisher · View at Google Scholar · View at Scopus - X. Cao, J. Chen, Y. Xiao, and Y. Sun, “Building-environment control with wireless sensor and actuator networks: centralized versus distributed,”
*IEEE Transactions on Industrial Electronics*, vol. 57, no. 11, pp. 3596–3605, 2010. View at Publisher · View at Google Scholar · View at Scopus - W. Ye, J. Heidemann, and D. Estrin, “An energy-efficient MAC protocol for wireless sensor networks,” in
*Proceedings of the 21st Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '02)*, vol. 3, pp. 1567–1576, June 2002. View at Publisher · View at Google Scholar · View at Scopus - G. Lu, B. Krishnamachari, and C. S. Raghavendra, “An adaptive energy-efficient and low-latency MAC for data gathering in wireless sensor networks,” in
*Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS '04)*, pp. 3091–3098, April 2004. View at Scopus - C. Sue, Y. Wu, and C. Hsu, “Design of robust data gathering MAC in wireless sensor networks,” in
*Proceedings of the IEEE Region 10 Conference (TENCON '06)*, November 2006. View at Publisher · View at Google Scholar · View at Scopus - K. Oh, S. Woo, S. Sung, and K. Kim, “Improved energy efficiency of DMAC with periodic full sleep cycle for wireless sensor networks with heavy traffics,” in
*Proceedings of the 3rd International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP '07)*, pp. 85–89, December 2007. View at Publisher · View at Google Scholar · View at Scopus - N. A. Vasanthi and S. Annadurai, “Energy efficient sleep schedule for achieving minimum latency in query based sensor networks,” in
*Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing*, pp. 214–219, June 2006. View at Publisher · View at Google Scholar · View at Scopus - K. Mizanian, R. Hajisheykhi, B. Mohammad, and A. H. Jahangir, “RACE: a real-time scheduling policy and communication architecture for large-scale wireless sensor networks,” in
*Proceedings of the 7th Annual Communication Networks and Services Research Conference (CNSR '09)*, pp. 458–460, May 2009. View at Publisher · View at Google Scholar · View at Scopus - Z. Hanzálek and P. Jurčík, “Energy efficient scheduling for cluster-tree wireless sensor networks with time-bounded data flows: application to IEEE 802.15.4/ZigBee,”
*IEEE Transactions on Industrial Informatics*, vol. 6, no. 3, pp. 438–450, 2010. View at Publisher · View at Google Scholar · View at Scopus - J. Kim, X. Lin, N. B. Shroff, and P. Sinha, “Minimizing delay and maximizing lifetime for wireless sensor networks with anycast,”
*IEEE/ACM Transactions on Networking*, vol. 18, no. 2, pp. 515–528, 2010. View at Publisher · View at Google Scholar · View at Scopus - P. Guo, T. Jiang, Q. Zhang, and K. Zhang, “Sleep scheduling for critical event monitoring in wireless sensor networks,”
*IEEE Transactions on Parallel and Distributed Systems*, vol. 23, no. 2, pp. 345–352, 2012. View at Publisher · View at Google Scholar · View at Scopus - A. Sahoo and S. Chilukuri, “DGRAM: a delay guaranteed routing and MAC protocol for wireless sensor networks,”
*IEEE Transactions on Mobile Computing*, vol. 9, no. 10, pp. 1407–1423, 2010. View at Publisher · View at Google Scholar · View at Scopus - L. Chang, B. Zhang, L. Cui, and Q. Li, “Tree-based delay guaranteed and energy efficient MAC protocol for wireless sensor networks,” in
*Proceedings of the International Conference on Industrial Control and Electronics Engineering*, August 2012. - C. Cheng, C. K. Tse, and F. C. M. Lau, “An energy-aware scheduling scheme for wireless sensor networks,”
*IEEE Transactions on Vehicular Technology*, vol. 59, no. 7, pp. 3427–3444, 2010. View at Publisher · View at Google Scholar · View at Scopus