- 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 2011 (2011), Article ID 107062, 17 pages
Quadratic Programming for TDMA Scheduling in Wireless Sensor Networks
1Faculty of Information Technology, Pazmany Peter Catholic University, P.O. Box 278, 1444 Budapest, Hungary
2Department of Telecommunications, Budapest University of Technology and Economics, P.O. Box 91, 1521 Budapest, Hungary
Received 16 February 2011; Revised 22 June 2011; Accepted 29 June 2011
Copyright © 2011 Gergely Treplán 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.
This paper presents a novel Multihop Aperiodic Scheduling (MAS) algorithm which guarantees energy-efficient data collection by Wireless Sensor Networks (WSNs) under delay constraints. Present Medium Access Control (MAC) protocols in WSNs typically sacrifice packet latency and/or the reliability of packet transfer to achieve energy-efficiency. Thus, the paper is concerned with developing a novel protocol to achieve energy efficient and reliable multihop data transfer in WSNs satisfying given latency requirements. Energy efficiency is achieved by optimizing the scheduling of the underlying Time Division Multiple Access (TDMA) system by minimizing the wake-up number of the nodes. Schedule optimization is transformed into a quadratic programming (QP) task, which is then solved by the Hopfield net in polynomial time. In this way, an energy efficient scheduling can be obtained which meets a given delay requirement in TDMA systems. The performance of the new algorithm has been evaluated by simulations and compared to the performance of well-known scheduling methods, such as SMAC, UxDMA (a slot assignment algorithm for WSN), and traditional tree-based protocols. The simulations have demonstrated that our method reduces global power consumption for time-driven monitoring.
Due to the recent developments in communication technologies and microelectronics, Wireless Sensor Networks (WSNs) are capable of conveying high-resolution information processes to a Base Station (BS) [1, 2]. However, the longevity of such networks has become of crucial importance in applications like environment and health monitoring, where WSNs might have to be operational for several years [3, 4]. Therefore one of the most important problems of WSNs stems from the limited energy storage capacity which imposes severe limits on the longevity [5, 6].
The major energy consumption of a sensor node results from the active state of its radio component . Thus, by “sleeping” (i.e., switching off the radio module), one may save a considerable amount of energy . Therefore the lifespan of a wireless network is roughly defined by how often the electricity consuming parts are turned on. In WSN, the physical layer was designed with short radio range to meet the requirement of low energy consumption. As a result, the network frequently relies on multihop communication schemes to the BS but this procedure leads to asymmetry in the energy consumption; nodes close to the BS are forced to be engaged in higher forwarding activity . Existing routing approaches of load and energy balancing employ periodical route changes [9, 10], however, most of the work does not take into account the underlying channel access method. Hence, the proper design of medium access (MAC) gives rise to new challenges and it is intensively researched [8, 11–13]. A large number of research work have proposed low power MAC protocols for multihop WSNs [14–17], which is going to be detailed in Section 2.
In WSN, the reduction of energy consumption must be one of the primary goals in the design, however, collision avoidance capability can also be a crucial metric. To achieve energy efficiency, we need to identify what are the main sources that cause inefficient use of energy as well as what tradeoffs we can make to reduce energy consumption. The following factors have been identified as the most significant ones regarding energy consumption .
When a transmitted packet is not delivered it has to be discarded and the retransmissions increase energy consumption as well as the latency.
This is due to the fact that a node accidentally picks up packets that are destined to other nodes.
When the node listens to receive possible packets, which are not sent.
Control Packet Overhead
Sending and receiving control packets.
Plenty of channel access methods are proposed to overcome these drawbacks. There are two common solutions: (i) contention based; (ii) TDMA solutions. In case of contention-based MACs, nodes try to assign the channel themselves competitively. Since nodes do not cooperate, collisions happen and increase energy consumption and latency severely. However, collision can be eliminated by using four handshaking RTS/CTS strategies, the energy overhead is huge due to the extra energy consumption of control packets. Overhearing and idle listening are also typical in contention-based MACs and consume about half of the energy (one can see more details of exact measurements presented in ). These distributed protocols are reactive to environment changes, however they do not exploit the topology, routing, and traffic information, which with more efficient channel assignment could be achieved. In case of stochastic traffic pattern, contention-based solutions transmit the data in a very fast manner to the BS, but it still fails to provide energy efficient communication. On the other hand, the fully cooperative TDMA-based solutions communicate on different time slots to prevent conflicts and offer several advantages for data collection as compared to contention-based protocols. They eliminate collisions, overhearing, and idle listening and the network does not suffer from extra energy overhead (i.e., RTS/CTS overhead). Note, that idle listening inherently appears in TDMA systems, since the time slot has to be greater than the packet duration. On the other hand, they also permit nodes to enter into sleep modes during inactive periods, thus, achieving low duty cycles and conserving energy. From the point of quality of service (QoS) TDMA-based communications can provide provable guarantee on the completion time of data collection, for instance, in timely detection of events. On the other hand, TDMA needs tight synchronization and accurate traffic and topology information, which implies extra communication overhead compared to a contention-based MAC.
In this work, we present a novel scheduling algorithm to unite the advantages of TDMA and contention-based protocols, that is, energy-efficient communication with acceptable latency. Namely, we are seeking an energy optimal schedule for a given traffic demand and routing topology, while a given end-to-end latency requirement is satisfied (i.e., the length of the schedule does not exceed a predefined threshold). This gives a cross layer perspective to our work, as the application and the routing information are used to determine the schedule. This cross layer optimization will be carried out by Binary Quadratic Programming (BQP). BQP is a well-known NP-hard problem, but we solve it by the Hopfield neural network (HNN). However, other solvers (e.g., semidefinite relaxation ) can also be used.
The rest of this paper is organized as follows: (i) Section 2 discusses the related works; (ii) Section 3 describes the system model; (iii) Section 4 introduces the optimization problem to be solved; (iv) Section 5 presents the HNN to minimize the penalty functions mapped into quadratic programming and realize feasible schedules; (v) Section 6 evaluates the performance by extensive simulations; (vi) some concluding remarks can be found in Section 7.
2. Related Works
In the recent years, a large number of the energy-efficient MAC schemes in the data link layer have been proposed for WSNs in recent years [8, 21]. Current MAC design for WSNs can be broadly divided into two common solutions, contention based and scheduled based (or TDMA protocols).
In the contention-based scheme, nodes try to access the channel randomly, independently from each other, such as ALOHA . ALOHA has been improved in many ways to achieve different performance requirements (e.g., no collision) by using such methods as the four-way handshaking carrier sense multiple access with collision avoidance (CSMA/CA) . In WSN, B-MAC  is the most popular example of the contention-based protocol, and it is mainly built on the well-known standardized protocol for wireless ad hoc networks the IEEE 802.11 . The B-MAC protocol reduces idle listening and provides an asynchronous channel access method, however X-MAC  and C-MAC  made an improvement on it by trying to use shorter preambles and avoid the overhearing among neighboring nodes. Contention-based protocols are very important channel access methods in the case of rare, but bursty traffic, which is the typical in event driven mode.
TDMA-based packet transmission scheduling schemes could be very efficient if the users are known and their number is fix, the data arrives regularly (e.g., every one minutes the temperature value must be delivered to the BS and topology are static). Time-slotted communication is robust during heavy traffic loads while contention-based access protocols may fail to allocate the medium successfully when the data rates and the number of sources are high. The TDMA-based protocols can also save more energy, since each node can stay in sleep mode and wakes up during its own slot time. For these reasons, TDMA has been a subject of extensive research and there are also several TDMA commercial standards and applications . Scheduled or TDMA-based protocols use topology information as a basis of scheduling. Based on tight synchronicity among their neighbors, time slots are scheduled for access in such a way that no two interfering nodes access the channel at the same time. Note that the synchronization method is out of the scope of this paper, however, one must note that clock drifts can cause energy overhead in TDMA systems (i.e., since synchronicity could only be guaranteed only with a certain accuracy, hence receiver must wake up a certain guard time before the sender does). The most popular TDMA-based MAC protocols proposed for WSNs are as follows: S-MAC  is one of the standard solution in the TinyOS  operating system designed to be used with networked sensors and it supports the Mica2 platform . The S-MAC is a method using loose synchronization and RTS/CTS handshaking which occurs significant energy overhead in case of small packets. Furthermore, the paper  proposes SMACS as an energy-efficient interference free TDMA-based protocol. A link is only active (i.e., it consumes energy) in its own slot when a packet is generated to be sent and one frame contains all the slots. Hence time slot assignment is the main component of TDMA protocols in wireless networks. Slot assignment problem is NP hard . In paper , the protocols RAND, MNF, and PMNF are proposed which provide heuristic solutions to the slot assignment problem. In  authors presents DRAND a distributed version of RAND, which runs fast and efficiently. This slot assignment solution uses constant frame size such as SMACS or SMAC, however, a hybrid protocol Z-MAC  protocol contains DRAND and adapts the size of the frame. Static frame size is not optimal because of the asymmetry of the data collection tree and traffic pattern . Figure 1 summarizes the typical frame constructions.
In  scheduling for QoS routing is presented, where QoS means that traffic requires a given number of slots per frame in the QoS route and formulates it as a slot shortage problem. This paper proposed a distributive solution for the slot shortage problem, which even works in mobile multihop wireless networks. However the protocol presented in this paper assumes static topology and the primary QoS metric is latency instead of data rate. Goldsmith et al.  also uses cross-layer-based optimization perspective as Jurdak et al. [38, 39], however, none of them build energy optimal schedules with respect to a given data collection time.
In the rest of the section we analyze the solutions assuming that the topology and the data collection tree are given. A very good summary of such scheduling algorithms for tree networks can be found in . According to , schedules can be optimal in terms of the following performance metrics: energy consumption: the energy consumed by the data gathering operation; schedule length/data collection time: the time duration in which the last generated packet is gathered; latency: the maximum end-to-end latency of data gathering; fairness: a metric to determine whether users or applications are receiving a fair share of system resources. Ukai et al. presented a novel formulation for scheduling in , whereas one can find suboptimal schedule by shortest path search algorithm. In , Furuta et al. proposed an integer linear programming formulation of the same TDMA scheduling problem, which can be a practical real-time solution for large-scale sensor networks. Goldsmith et al. have also provided very elegant ways to build energy optimal schedule in , where the authors analyzed the tradeoff between data collection time (i.e., the schedule length) and energy consumption and proposed a scheduling algorithm which is proven to be energy optimal. Energy optimality is achieved under the condition that sensor nodes should wait for transmission completion of its child nodes. Hence, relay nodes have to only wake up at once, which minimizes the number of switches from sleep mode to active mode. Minimization of this number is crucially important, since transient mode consumes extra energy; guard time affects overhead. Hence, if a node waits for the transmission of its children then it is possible to aggregate the received packets. Thus, no extra energy is consumed by switches from sleep mode to active mode, which also minimizes the listening duration because of guard time. On the other hand, Varaiya et al. minimize schedule length (i.e., the data collection time) with centralized and distributed algorithms, respectively, in . A previous work of Varaiya called PEDAMACS, can be found in . Moreover the TreeMAC protocol  arranges schedule in order to maximize the throughput of the network.
In this paper, we define the scheduling problem such as Varaiya did in , thus the optimal schedule depends on the number of generated packets and the data collection tree. However, most of the solution only optimizes schedules in terms of minimizing either the schedule length or energy consumption (see Figure 2). We consider both performance metrics in order to strike an optimal trade-off between longevity and QoS. To demonstrate this point, in Figure 2 the energy and the schedule length minimal solutions are presented: (i) scheduling of Goldsmith et al.  does not exploit time slots for a given node until each packet arrived from its children; (ii) scheduling of  exploits time slots in a parallel way to minimize schedule length, but it suffers from significant energy overhead arisen from the extra on/off switches. In most health monitoring application a given data collection time is given, but energy minimization is still the primary objective. This paper presents a fast data gathering (comparable to ) with minimal energy consumption (comparable to ). This improvement is achieved from reducing the number of wake-ups using the information of application and routing layer.
3. The System Model
In this section, we present the system model concerning (i) the basic data collection framework; (ii) the energy model; (iii) the network model; (iv) the interference model.
3.1. The Data Collection Framework
In the case of wireless body-area monitoring network, sensor nodes worn on or implanted in the body continuously gather information about the monitored patient's physiological condition, such as electrocardiogram (ECG), pulse, blood oxygen saturation, skin temperature, blood pressure, and hemodynamic calculator . These important measurements are stored in the local memory buffer of the node until the data is downloaded to the BS, when the patient arrives at a data collection point in a hospital. In this case it is imperative that the sensed data is acquired by the BS in an energy efficient way. This can be ensured by a proper scheduling algorithm. The sensor nodes located at different points on the human body transmit data in a multihop manner to the BS. Note, that both on-body and out-body sensors can be used to relay packets. In order to achieve efficient data transfer only a few protocols are designed specifically for multihop wireless body area network (WBAN) communication. One concern is to minimize the thermal effects of the implanted devices by balancing the traffic over a tree-like topology network.
In this paper, we are interested in developing an optimal scheduling for downloading the data from the low-power body sensors to BS. More specifically, the sensor nodes powered by limited capacity batteries, forward packets to other relay nodes by using a single-transmit and a single-receive antenna. The sensor nodes transmit the sensed information at a constant low power to their parents (i.e., parent node is the one which is selected from the routing table to relay the packet in the next hop) in a time-division manner based on the TDMA scheduling. The time axis is not divided into periodical frame periods such as in the case of  illustrated in Figure 2. Instead of using fixed frame size, a node is scheduled based on the routing condition and on the traffic requirements of the applications. For example, if a node has more tasks (sensed information and received packets to relay), then it wakes up more frequently. Based on this information each active time slot with a length of is known to the sensor node. According to our novel packet scheduling scheme the BS decides on the time instant when a given sensor node utilizes the channel for length of time. The proposed scheduling is made available to the nodes by using traditional dissemination protocols, which is detailed in Section 6. In the next subsection the energy model is presented which is based on the specification of Mica2 node with CC1100 transceiver.
3.2. The Energy Model
The target platform is the Berkeley Mica2 node  which is one of the most widely used WSN platforms. The platform has an 8 MHz processor, 4 kB of RAM, 128 kB of flash memory, and a 433 MHz wireless radio transceiver. The transfer rate is 38.4 kbps and it is powered by two AA batteries. Parameters related to energy use are listed in Table 1.
The slot size has to be greater than the length of packet times the duration needed to transmit/receive a byte plus the guard time. Formally we use the following notation: where is the number of bytes in a packet (with headers) and is the time to transmit/receive a byte. Because of clock drift the receiver must wake up earlier with the so-called guard time, . Hence, Assuming that the default packet size is 28 bytes () and the activation time of a sensor is 22 μJ (see Table 1), the following energy consumptions per slot can be derived for the receiver node: and for the transmitter node During the inactive period, no data is exchanged between the sensor nodes. To efficiently save the energy, each sensor node is active during a time slot only when it has packet(s) to send or to receive, otherwise, it is in the sleep state and consumes . For these reasons, if a node has to send packets and receive packets, then the following overall energy is consumed: where is the total energy of the battery, hence is the maximum lifespan of the network. One can see that the lifespan is basically determined by the traffic load . In the next subsection the network model is introduced.
3.3. The WSN Model
We assume that the WSN has static sensor nodes, which are able to transmit packets by using single omnidirectional antennas, and there exists a BS node to collect the data from the sensor nodes. These sensor nodes do not only send their own sensed data but they relay packets generated by other sensor nodes, as well. Each node has a local memory buffer, where the generated or received packets are temporarily stored. The WSN can be represented by a graph , where denotes the set of nodes, and denotes the set of edges referred to the communication links. If , the edge if and only if is located within the transmission range of . Let us define the adjacency matrix of graph (the size of matrix is ): where if . These assumptions entail that all the sensor nodes have the same communication range , the communication links are symmetrical, and no lossy links are assumed. Hence is a symmetric matrix and represents the neighborhood information. This neighborhood information can be constructed either by measurements or by using general fading models.
To collect data a tree is constructed (which the most popular data gathering topology [43, 45]). The data gathering tree is routed at a BS node and each intermediate node collects the data from its children nodes and then forwards the data to its parent node. The routing tree is constructed by running the distributed Bellman-Ford algorithm (such as ESR, DSR). In Figure 4 a typical routing tree is illustrated.
A static routing tree can be represented by a routing matrix with size : where if node is the parent of node (i.e., if node sends a packet, it sends to node ). The routing matrix of topology presented in Figure 4 is given as follows:
Note that multiple packet transmissions are permitted, however, packet collision or interference has to be avoided.
3.4. The Interference Model
Due to the broadcast nature of the wireless medium, interference or collisions may occur among the nodes within the same transmission range. Two types of interference exist: primary interference and secondary interference . Typical examples of primary interference is sending and receiving or receiving from two different transmitters at the same time slot. Secondary interference occurs when there are two parallel transmissions from different senders to different nodes being in the same collision domain (i.e., one of the transmission disturbs the signal at the receiver of the other transmission). Primary and secondary interferences are to be avoided in our approach. We use the protocol interference model  in this paper. In the protocol model, each node has a fixed transmission range and an interference range , where . For the sake of simplicity let us assume that . In this case, according to the adjacency matrix, we define the interference matrix as follows: This construction is motivated by the fact that links are defined as follows: where if node is not allowed to transmit parallel with node .
Figure 5 illustrates the interference domain of a given node. As summary interference can occur during transmission of node 8 (Figure 5) because of the following reasons: (i)the receiver node (3) tries to send at the same time as node 8; (ii)a node (e.g., one of 7 or 10) sends packet to the receiver of node 3; (iii)a node in the collision domain of the receiver (e.g., 7, 9 or 10) sends packet at the same time, effecting collision at node 3; (iv)the sender node disturbs other receivers' collision domain, when another node (e.g., 11) is transmitting.
Note that we make the diagonal element of matrix zeros to represent that a node does not conflict with itself. We also note that matrix symmetric, because of the symmetric feature of adjacency matrix. To give an example the interference matrix of topology of Figure 3 is the following: Let us analyze the 8th row vector:
If the vector contains “1” in a given position then the corresponding node is not allowed to send packet at the same time as node 8 (e.g., 1, 3, 7, 9, 10, 11).
4. The Scheduling Problem
In this section, we formulate the scheduling problem of MAS. In order to do this we need a data structure to represent a schedule.
4.1. Representation of a Schedule
The scheduling is represented by a binary matrix called scheduling matrix, where The number of rows is equivalent with the number of nodes in the network and represents the number of time slots during which the data collection must be completed. The element if node sends a packet to the receiver defined by the routing tree at time instant , and 0 otherwise.
A possible schedule is given as follows: This particular matrix represents a schedule, where the different rows of the matrix define the TX schedule of the radios of the different nodes. Note that the RX schedule is uniquely determined by the scheduling matrix because of the tree topology of the data collection. If a node should send a packet according to the TX schedule then the first packet of the buffer is transmitted. For example, let us analyze the row vector related to node : Based on this specific schedule, node transmits packet at time instants 1, 2, and 4 to its parent, where the parent is determined by routing matrix .
Returning to the challenge, we are seeking an optimal scheduling matrix of type , which guarantees interference free transmissions, minimizes the idle wake-ups and the energy consumption. In the case of exhaustive search the number of steps to obtain the solution is . Thus, the endeavour is to find a feasible and efficient solution obtained in a much shorter time. To accomplish this objective, first we map the problem and the constraints into an objective function. Having the scheduling problem mapped into a quadratic objective function will let us use fast algorithms developed for quadratic optimization to solve the scheduling problem realtime.
Note that if we choose from (5), we are seeking schedule which is valid for the whole lifespan of the network. If is too large then the whole problem is broken into smaller sized scheduling problems by choosing the size as follows: where is the size of the th smaller timescale problem.
Based on the discussion above, a WSN network is defined by its adjacency , routing , and interference matrices. Furthermore let matrix denote the scheduling. In this and following subsections we look for a scheduling matrix, which guarantees feasibility and efficiency in terms of minimizing the following heuristic cost function and penalty functions.
4.2. The Objective Function
In this section we develop the objective function the optimization of which will guarantee the energy efficiency in terms of minimizing the RX/TX switches.
Since activation of the radio needs energy, it is worth selecting a schedule, in which the slots requiring radio activities (sending or receiving) follow each other to avoid frequent activations and deactivations. The following function rewards the situation when the receiver remains awake after an active slot, so the number of on/off switches is minimal by fulfilling the following expression:
4.3. Penalty Functions
The following penalty functions are developed to guarantee the feasibility and validity of the scheduling matrix .
4.3.1. Minimizing the Interference
In wireless networks minimizing the interference is equivalent with minimizing the number of collisions. Formally it means the minimization of where denotes the th column of scheduling matrix , the schedule corresponding to the time instant . The quadratic function gives the number of conflicts at time slot . If this expression is zero then there is no packet which has collided.
4.3.2. Fulfilling the Transmission Requirements
Let us assume that the number of packets generated at node is denoted by and amount of packets must then be sent during time slots to the BS from node . Let us denote the number of transmissions needed (sending and forwarding) at node as , where includes not only the sensed data packets but the packets to relay, as well. It is easy to see, that at each node can be easily calculated by Algorithm 1. This algorithm evaluates the traffic state for all runs from 1 to .
Therefore has to be equal with the sum of th row in the scheduling matrix to perform all tasks provided by node . Formally, This equation can be rewritten as the following minimization problem: Instead of using the absolute value let use minimize the following quadratic form: Note, that if is too short then the minimum of (25) can be larger than zero, meaning that the remaining part of the traffic has to be forwarded in the next session (e.g., as new task).
4.3.3. Minimizing the Remaining Number of Packets in the Network
The traffic generated at each sensor node () has to be collected by the BS for all . It entails that the input and the output traffic in the network have to be the same. A scheduling vector of time instant is denoted by which is the th column vector of the scheduling matrix. Let us denote the buffer state vector in time instant with . Note, that multiplying the th schedule vector and the routing matrix, the buffer state vector at the next time instant can be computed as The received vector at time instant represents the number of incoming packets and it is . It is easy to see, that the number of incoming packets at time instant at node is The number of packets sent by a node is The number of incoming packets must equal the number of outgoing packet for each node, if This can be reformulated as the following optimization task:
4.3.4. Minimizing the Number of Idle Wake-Ups
The previous conditions guarantee that the information generated at sensor nodes arrive at the BS without interference. The penalty function developed in this subsection is to ensure that relay nodes should only wake up if there are packets to forward. This can be guaranteed if holds for each time instant. Formula (31) can be rewritten as follows:
4.4. The Overall Objective Function
If we could minimize the previously defined objective function and four penalty functions simultaneously, then it will yield the scheduling matrix having the following properties: (i)the schedule length is ; (ii)all the sensed data packets at each node and incoming packet from other nodes are forwarded toward the BS; (iii)schedules do not interfere with each other; (iv)a node only wakes up if there is packet to send.
Therefore it is expected that the algorithm minimizing these objectives by minimizing the objective function (21) and the penalty functions (22), (25), (30), (32), can construct feasible and energy-efficient scheduling matrix . In the next section we transform these optimization tasks into a single quadratic optimization by combining the objective function in an additive manner.
5. Quadratic Programming for Scheduling
Since the number of binary matrices is exponential with the number of nodes multiplied by the length of the schedule, exhaustive search with complexity cannot be applied to solve the optimizations derived in the previous section. Thus, our goal is to develop a polynomial time solution by QP as it has been presented in [49–51]. In order to develop this solution let us first summarize the general background of QP.
5.1. Quadratic Programming
Let us assume that matrix is a symmetric matrix of type and vector is of length . In QP we seek the optimal dimensional vector which minimizes the following quadratic function : subject to one or more constraints of the form of If QP contains only linear equation constraints then it can be solved as presented in . In other cases, if the matrix is positive definite, then the function is convex and the problem can be solved with the ellipsoid method . When is indefinite the problem is NP hard (for details see in ).
A frequently used powerful heuristic algorithm to solve QP is the Hopfield Neural Network (HNN). This neural network is described by the following state transition rule: where
Using the Lyapunov method, authors in  proved that HNN converges to its fix point, as a consequence HNN minimizes a quadratic Lyapunov function: Thus, HNN is able to solve combinatorial optimization problems in polynomial time under special conditions [56–58]. As a result, one can see that there are quite a number of algorithms which can provide efficient solution to QP. Therefore it motivates us to map the scheduling problem to QP, which is done in the next subsection.
5.2. The Scheduling Problem as QP
First the binary scheduling matrix is mapped into a binary column vector as follows: The objective function and various penalty functions are transformed into quadratic forms in the next paragraph. Once we have mapped each penalty function into a corresponding quadratic form, then we add them up to form an overall QP which then represents the scheduling problem.
5.2.1. Minimizing the Number of Radio On/Off Switches
The following mapping has to be carried out in order to construct a QP for this objective function: Similarly to the previous subsection this construction penalizes the wrong solutions. For example a schedule has to be penalized if a node does not wake up again to transmit or receive after a some preceding radio activity. On the other hand, the schedule is rewarded in the case of the continuous radio activity. The corresponding objective function is described by (21).
Having solved (40) one obtains the following matrix and vector as follows:
5.2.2. Handling the Interference Constraint
In order to obtain the parameter of QP over binary vector for the interference constraint, the following equation will yield the corresponding and : It is easy to see that where is the interference matrix.
5.2.3. Handling the Transmission Requirements
To obtain the parameters of the corresponding QP the following equation has to be solved for and : where vector denotes the quantity of packets to be sent in a given time interval . Let us rewrite the left side of (46) as Note, that is constant, which can be neglected from the point of minimization. By solving (46) one obtains where is the identity matrix.
5.2.4. Handling the Constraint on the Remaining Number of Packets in the Network
Since the incoming traffic must be the same as the outgoing traffic for each node, we have Let us rewrite the left side of (49): Evaluating the formula above results in the following quadratic form: where matrix of type can be constructed as Note, that is defined in (53).
5.2.5. Handling the Constraint on Minimizing the Number of Idle Wake-Ups
In order to map this constraint into a quadratic form the following transformation has to be carried out: In this case we penalize the wrong solutions. In order to solve this equation first let us analyze the traffic vector (i.e., the number of packets waiting in the buffers) at the different time instances. Obviously the traffic vector is at time instant 0. At time instant 1 the traffic vector updated as follows: Note, that it is only true if contains only “1”-s, if there is at least one packet to send. This formula can be evaluated recursively and the traffic vector can be calculated for every time instance. It is easy to see that has to be penalized if it contains “1” at a location where there is no packets in the buffer. Thus the penalty is positive if there is no packet at the buffer, but node (2) is waken up. On the other hand, it is negative if there is more than one packet in the buffer. Substituting (55) into (56) we get
Following this method recursively, we get the matrix of QP defined as where matrix of type can be calculated as
5.3. Constructing the Overall QP for the Scheduling Problem
Based on the previously defined quadratic forms belonging to the different objective functions we combine them into an overall objective function as follows: where Note that, the objectives can be controlled with heuristic constants , , , in order to strike a good tradeoff between the importance of different requirements. Having these quadratic form at hand now we can apply the HNN (described in Section 5.1) to provide an approximate solution to the QP in polynomial time.
In the next section simulation results illustrate the advantages of our novel proposed scheduling algorithm.
6. Performance Evaluation
In this section we evaluate the performance of the novel algorithm and compare it to the traditional solutions.
We use a variety of microbenchmark tests to show how MAS improves channel access functionality. These benchmarks show the throughput and energy consumption of MAS, TreeMAC, PEDAMACS, S-MAC, and UxDMA, protocols developed by Varaiya et al. and Goldsmith et al., respectively. We will demonstrate that there is a tradeoff among throughput, latency, and energy consumptions. The figures obtained from the microbenchmarks empirically characterize the performance of MAS and provides an insight of the expected behavior of the scheduling algorithms in TDMA systems. To illustrate the effectiveness of our centralized scheduling algorithm, we compare MAS to existing MAC protocols, especially with the S-MAC, TreeMAC, protocols developed by Varaiya and Goldsmith and UxDMA-based TDMA protocol.
The protocol developed by Goldsmith et al.  minimizes this number and also minimizes the the energy consumption of the nodes in the network, but it provides less throughput. On the other hand the two protocols developed by Varaiya et al.  provide relatively high throughput and minimizes the length of schedule, however they are not energy efficient in terms of minimizing the RX/TX switches. We also implemented TreeMAC  in order to analyze its throughput, whereas the primary goal was to maximize capacity. Our proposed protocol can achieve high throughput being comparable to protocol developed by Varaiya, on the other hand it works in an energy-efficient manner which extends the lifespan of the corresponding WSN. As a result, we managed to develop an adjustable protocol which provides a good tradeoff between throughput and energy efficiency.
At the last subsection we will summarize the complexity of the algorithms.
6.1. The Simulation Method
Each protocol has been simulated on a large set of traffic and topology parameters, which will characterize the protocol performance empirically. The purpose of these Matlab-based microbenchmarks is to show how the investigated protocols perform with different network topologies.
We simulated TDMA-based protocol variants using time slot assignment method called UxDMA . Three different versions of UxDMA time slot assignment have been implemented. The data payload is the default payload for TinyOS applications; however, the protocols send only packets with length specified by higher level services. When we performed our tests, we used the parameters of Mica2 wireless sensor node to perform our tests (Table 2). All tests performed in an 100 m times 100 m area with nodes with no line-of-sight communication to every other node. The topology of the simulated networks is static, and we used both homogeneous and heterogeneous initial packed load on the sensor nodes. (In case of homogeneous packet load one packet is generated on each sensor node to send. In case of heterogeneous packet loads the initial number of packets are generated in random fashion.)
The multihop data collection trees were obtained by the Bellman-Ford algorithm using hop count as link metric. To determine the number of radio switches of each protocol, we implemented counters in the simulation that kept track of how many times the various operations were performed.
In all cases, we measured the data throughput, schedule length, and number of radio switches of the network. In all tests “packet size” is referring to the size of the data payload without the header information. The overhead attributed to each protocol is shown in Table 2. Note that control packets in S-MAC are less (18 bytes) than in the case of MAS, however, the S-MAC overheads consume energy at every packets. On the other hand MAS produces control overhead to disseminate the actual schedule but it happens less frequently.
The time synchronization of the nodes could be performed by FTSP protocol . This protocol is fast enough and requires only one dissemination cycle by the BS. The dissemination of the schedule tables can be integrated into the FTSP method. The topology and interference discovery we used is similar as Varaiya et al. introduced in . This protocol operates in two phases: (i) first all nodes determine their neighbors and broadcasts their information about the neighbors, (ii) this information reaches the BS then the BS determines the routing matrix, and interference matrix, topology matrix. The amount of packet which have to be scheduled may be included into the previous data messages, therefore with the discovery protocol the BS can acquire information about the number of packet to be scheduled.
In the simulation the synchronization packets, the network topology discovery packets, and schedule control packets of each protocol are neglected (i.e., each solution requires the same amount of packets to keep the nodes' synchronicity and to disseminate actual schedule).
Throughput or channel utilization is one of the most important metrics for MAC protocols which illustrates protocol efficiency. High channel utilization is critical for delivering a large number of packets in a short amount of time. In sensor networks, the speed of data transfer can be important, for example, to detect emergency situations. MAS minimizes the time to send packets as opposed to TDMA systems with fix frame size. MAS also achieves lower contention than the contention-based protocols. In the test we analyze the performance over 100 different network topologies including 30 nodes and the BS collects total number of 30 packets generated from sensor nodes. Each node generates one packet in homogeneous scenario. The throughput of the network was taken as the average of the 100 different simulation results. The throughput achieved by the different protocols is shown in Figures 6 and 7. Whenever the initial packet load is heterogeneous the achieved throughput is better than in case of homogeneous load. One may notice that the TreeMAC protocol falls back due to the enormous number of unused timeslots.
Varaiya's method gives the best solution as far as the throughput is concerned, however our solution only slightly differs from that that of Varaiya's. One can see that MAS aims to find the optimal solution which has a maximal throughput. In general, better throughput is accomplished with our novel scheduling algorithm: MAS outperforms S-MAC, PEDAMACS, Goldsmith's method, and all variant of the UxDMA-based TDMA protocols. Furthermore, the TreeMAC solution, which is also developed for good throughput, is also outperformed by MAS. S-MAC has a lower channel utilization performance only because of suffering from the overhead of RTS-CTS (Request To Send, Clear To Send) exchanges. Instead of using control messages like RTS-CTS for hidden terminal support, MAS uses a control packet to inform the nodes about the optimal schedule, this control packets also used for synchronizing the nodes. In Figure 8, one can see as the number of nodes increases in the network the performance of MAS converges to performance of Varaiya's protocol. MAS can utilize several times more time slots, than the static frame-based TDMA solutions. The tests demonstrated that channel utilization of MAS is higher than the traditional MAC solutions and also higher from novel distributed solutions.
6.3. Energy Efficiency
We designed MAS to operate in an energy-efficient manner by minimizing the number of radio on/off and the number TX/RX switches. In the previous subsection we demonstrated that the throughput of MAS is high and now we show that the novel method is also energy efficient. Low duty cycle applications have extremely low network throughput, and vice versa, high-throughput applications need a lot of energy. However, some applications, such as bulk data transfer also need protocols ensuring high throughput with energy efficiency. In this subsection we evaluate the number of radio switches of different protocols in different network scenarios. Figure 9 shows the number of radio switches of the different methods according to the network size.
Figure 10 summarizes the overall number of radio switch overhead of the network, whose result is simulated as the average of 100 different scenarios with 30 nodes and one packet on each node. The protocol designed by Goldsmith is the best from this point of view. Both the traditional TDMA and Varaiya's protocol has more energy overhead than Goldsmith's method.
In case of heterogeneous initial packet load the differences are even bigger. In Figure 11, one can see the number of radio switches of the different protocols. The scenario is the same: 30 nodes and random number of packets packets. The energy efficiency of the MAS protocol is between the methods developed by Varaiya and Goldsmith.
When the MAC protocol is permitted to increase latency, we can reduce the duty cycle of the node and conserve energy. The latency is measured by the total length of schedule.
Result of test for evaluating end-to-end latency can be seen in Figure 12 for homogeneous packet load and in Figure 13 for heterogeneous load. Figure 14 summarizes schedule length differences amongst the tested protocols. MAS protocol has better values for heterogeneous packet load, outperforms the Goldsmith's method and performs as well as the Varaiya's method. Note that in the case of UxDMA, minimization of frame size is the primary objective in order to yield as low latency as possible. However, it is clear from figures that the end-to-end delay is much worse in the case of static frame sized TDMA protocol than in the case of MAS or S-MAC.
Based upon the previous test, we have a new protocol which achieves good throughput, minimizes the number of radio switches (and the consumed energy) and has minimal latency as well. It combines the good properties of several protocols.
6.5. Complexity Analysis of the Algorithms
The complexity of the protocols is an important metrics in order to determine how fast we can achieve the scheduling and the corresponding timeslot assignment. Table 3 summarizes the complexity of the investigated protocols. All of tested protocols has polynomial or better complexity, however it is obvious that the novel MAS protocol may be slower than the others.
We have proposed a novel protocol to provide an optimal scheduling for data collection in Wireless Sensor Networks. The objective was to minimize the number of radio RX/TX switches in order to achieve minimum energy overhead. Other factors, such as (i) achieving interference free communication; (ii) minimizing the number of idle wake-ups; (iii) gathering the specified amount of packets within the given latency constraints, have been taken into account as penalties. Then optimal scheduling has been transformed into quadratic functions, which can then be solved heuristically in polynomial time by using the Hopfield Neural Network. Simulations have demonstrated that the novel MAS protocol minimizes energy consumption and delays. The performance evaluation has shown that the achieved end-to-end latency is as good as either the traditional contention or the traditional scheduled based solutions. On the other hand, MAS consumes less energy by minimizing the number of radio switches. Furthermore, MAS manages to achieve high channel utilization (comparable to Varaiya's method), with low energy consumption (comparable to Goldsmith's method).
- P. Corke, T. Wark, R. Jurdak, D. Moore, and P. Valencia, “Environmental wireless sensor networks,” Proceedings of the IEEE, vol. 98, no. 11, pp. 1903–1917, 2010.
- C.-Y. Chong and S. P. Kumar, “Sensor networks: evolution, opportunities, and challenges,” Proceedings of the IEEE, vol. 91, no. 8, pp. 1247–1256, 2003.
- A. Mainwaring, D. Culler, J. Polastre, R. Szewczyk, and J. Anderson, “Wireless sensor networks for habitat monitoring,” in Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications (WSNA '02), pp. 88–97, ACM, New York, NY, USA, 2002.
- D. Puccinelli and M. Haenggi, “Wireless sensor networks: applications and challenges of ubiquitous sensing,” IEEE Circuits and Systems Magazine, vol. 5, no. 3, pp. 19–31, 2005.
- I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “Wireless sensor networks: a survey,” Computer Networks, vol. 38, no. 4, pp. 393–422, 2002.
- A. Rogers, D. D. Corkill, and N. R. Jennings, “Agent technologies for sensor networks,” IEEE Intelligent Systems, vol. 24, no. 2, pp. 13–17, 2009.
- T. Rappaport, Wireless Communications: Principles and Practice, Prentice Hall PTR, Upper Saddle River, NJ, USA, 2nd edition, 2001.
- R. Jurdak, C. V. Lopes, and P. Baldi, “A survey classification and comparative analysis of medium access control protocols for ad hoc networks,” IEEE Communications Surveys and Tutorials, vol. 6, pp. 2–16, 2004.
- J. Levendovszky, L. Tran-Thanh, G. Treplan, and G. Kiss, “Fading-aware reliable and energy efficient routing in wireless sensor networks,” Computer Communications, vol. 33, 1, pp. S102–S109, 2010.
- W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient communication protocol for wireless microsensor networks,” in Proceedings of the 33rd Hawaii International Conference on System Sciences (HICSS '00), vol. 8, p. 223, IEEE Computer Society, Honolulu, Hawaii, 2000.
- S. Cui, R. Madan, A. J. Goldsmith, and S. Lall, “Joint routing, MAC, and link layer optimization in sensor networks with energy constraints,” in Proceedings of the IEEE International Conference on Communications (ICC '05), pp. 725–729, Seoul, Korea, 2005.
- I. Akyildiz and I. Kasimoglu, “Wireless sensor and actor networks: research challenges,” Ad Hoc Networks, vol. 2, no. 4, pp. 351–367, 2004.
- K. H. Hui, D. Guo, R. Berry, and M. Haenggi, “Performance analysis of MAC protocols in wireless line networks using statistical mechanics,” in Proceedings of the Allerton Conference on Communication, Control, and Computing, pp. 1315–1322, Monticello, Ill, USA, 2009.
- J. Polastre, J. Hui, P. Levis et al., “A unifying link abstraction for wireless sensor networks,” in Proceedings of the 3rd International Conference on Embedded Networked Sensor Systems (SenSys ’05), pp. 76–89, ACM, New York, NY, USA, 2005.
- L. F. W. V. Hoesel and P. J. M. Havinga, “A lightweight medium access protocol for wireless sensor networks,” Tech. Rep., 2004.
- D. Chen and P. K. Varshney, “On-demand geographic forwarding for data delivery in wireless sensor networks,” Computer Communications, vol. 30, no. 14-15, pp. 2954–2967, 2007.
- M. Schuts, F. Zhu, F. Heidarian, and F. W. Vaandrager, “Modelling clock synchronization in the chess gMAC WSN protocol,” in Proceedings of the Workshop on Quantitative Formal Methods: Theory and Applications (QFM '09), vol. 13, Eindhoven, The Netherlands, 2010.
- I. Demirkol, C. Ersoy, and F. Alagoz, “MAC protocols for wireless sensor networks: a survey,” IEEE Communications Magazine, vol. 44, no. 4, pp. 115–121, 2006.
- M. Stemm, R. H. Katz, and Y. H. Katz, “Measuring and reducing energy consumption of network interfaces in hand-held devices,” IEICE Transactions on Communications, vol. 80, no. 8, pp. 1125–1131, 1997.
- Z. Q. Luo, W. K. Ma, A.-C. So, Y. Ye, and S. Zhang, “Semidefinite relaxation of quadratic optimization problems,” IEEE Signal Processing Magazine, vol. 27, no. 4, pp. 20–34, 2010.
- R. Madan, S. Cui, S. Lall, and A. J. Goldsmith, “Modeling and optimization of transmission schemes in energy-constrained wireless sensor networks,” IEEE/ACM Transactions on Networking, vol. 15, no. 6, pp. 1359–1372, 2007.
- N. Abramson, “The aloha system—another alternative for computer communications,” in Proceedings of the Fall Joint Computer Conference, AFIPS Conference, ACM, Honolulu, Hawaii, 1970.
- A. Cawood and R. Wolhuter, “Comparison and optimisation of CSMA/CA back-off distribution functions for a low earth orbit satellite link,” in Proceedings of the IEEE AFRICON 2007, pp. 1–8, Windhoek, South Africa, 2007.
- J. Polastre, J. Hill, and D. Culler, “Versatile low power media access for wireless sensor networks,” in Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems (SenSys '04), pp. 95–107, ACM, Baltimore, Md, USA, 2004.
- “Wireless lan medium access control (mac) and physical layer (phy) specifications,” IEEE Standard 802.11, 1999.
- M. Buettner, G. V. Yee, E. Anderson, and R. Han, “X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks,” in Proceedings of the 4th International Conference on Embedded Networked Sensor Systems (SenSys '06), pp. 307–320, ACM, New York, NY, USA, 2006.
- S. Liu, K.-W. Fan, and P. Sinha, “CMAC: an energy-efficient MAC layer protocol using convergent packet forwarding for wireless sensor networks,” ACM Transactions on Sensor Networks, vol. 5, no. 4, pp. 29–1, 29–34, 2009.
- Incel, Ghosh, and Krishnamachari, “Scheduling algorithms for tree based data collection in wireless sensor networks,” in Theoretical Aspects of Distributed Computing in Sensor Networks, S. Nicoletseas and J. Rolim, Eds., Springer, 2010.
- 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), pp. 1567–1576, New York, NY, USA, 2002.
- TOSWiki, “Tinyos introduction,” 2010, http://docs.tinyos.net/tinywiki/index.php/Main_Page.
- CAPSIL, “Mica2 technical parameters,” 2010, http://www.capsil.org/capsilwiki/index.php/MICA2.
- K. Sohrabi, J. Gao, V. Ailawadhi, and G. J. Pottie, “Protocols for self-organization of a wireless sensor network,” IEEE Personal Communications, vol. 7, no. 5, pp. 16–27, 2000.
- S. Ramanathan, “A unified framework and algorithm for channel assignment in wireless networks,” Wireless Networks, vol. 5, no. 2, pp. 81–94, 1999.
- I. Rhee, A. Warrier, J. Min, and L. Xu, “Drand: distributed randomized TDMA scheduling for wireless ad hoc networks,” IEEE Transactions on Mobile Computing, vol. 8, no. 10, pp. 1384–1396, 2009.
- I. Rhee, A. Warrier, M. Aia, and J. Min, “Z-MAC: a hybrid MAC for wireless sensor networks,” in Proceedings of the 3rd International Conference on Embedded Networked Sensor Systems, pp. 90–101, ACM, New York, NY, USA, 2005.
- K.-P. Shih, C.-Y. Chang, Y.-D. Chen, and T.-H. Chuang, “Dynamic bandwidth allocation for QoS routing on TDMA-based mobile ad hoc networks,” Computer Communications, vol. 29, no. 9, pp. 1316–1329, 2006.
- S. Cui, R. Madan, A. J. Goldsmith, and S. Lall, “Cross-layer energy and delay optimization in small-scale sensor networks,” IEEE Transactions on Wireless Communications, vol. 6, no. 10, pp. 3688–3699, 2007.
- A. G. Ruzzelli, G. O'Hare, M. O'Grady, and R. Jurdak, “Merlin: cross-layer integration of MAC and routing for low duty-cycle sensor networks,” Ad Hoc Networks, vol. 6, no. 8, pp. 1238–1257, 2007.
- R. Jurdak, P. Baldi, and C. V. Lopes, “Adaptive low power listening for wireless sensor networks,” IEEE Transactions on Mobile Computing, vol. 6, no. 8, pp. 988–1004, 2007.
- T. Ukai, M. Sasaki, F. Ishizaki, and A. Suzuki, “A new approachfor scheduling problem in multi-hop sensor networks,” in Proceedings of the 9th International Symposium on Operations Research and Its Applications (ISORA '10), pp. 386–393, ORSC & APORC, Jiuzhaigou, China, 2010.
- T. Furuta, M. Sasaki, F. Ishizaki, T. Ukai, H. Miyazawa, and W. Koo, “New formulation for scheduling problem in multi-hop wireless sensor networks,” in Proceedings of the 6th International Wireless Communications and Mobile Computing Conference (IWCMC '10), pp. 73–78, ACM, New York, NY, USA, 2010.
- S. Cui, R. Madan, A. Goldsmith, and S. Lall, “Energy-delay tradeoffs for data collection in TDMA-based sensor networks,” in Proceedings of the IEEE International Conference on Communications (ICC '05), pp. 3278–3284, Seoul, Korea, 2005.
- S. C. Ergen and P. Varaiya, “TDMA scheduling algorithms for wireless sensor networks,” Wireless Networks, vol. 16, no. 4, pp. 985–997, 2010.
- S. Ergen and P. Varaiya, “Pedamacs: power efficient and delay aware medium access protocol for sensor networks,” IEEE Transactions on Mobile Computing, vol. 5, no. 7, pp. 920–930, 2006.
- W.-Z. Song, R. Huang, B. Shirazi, and R. LaHusent, “TreeMAC: Localized TDMA MAC protocol for real-time high-data-rate sensor networks,” in Proceedings of the 7th Annual IEEE International Conference on Pervasive Computing and Communications (PerCom '09), pp. 1–10, 2009.
- D. Cypher, N. Chevrollier, N. Montavont, and N. Golmie, “Prevailing over wires in healthcare environments: benefits and challenges,” IEEE Communications Magazine, vol. 44, no. 4, pp. 56–63, 2006.
- S. Ramanathan and E. L. Lloyd, “Scheduling algorithms for multihop radio networks,” IEEE/ACM Transactions on Networking, vol. 1, no. 2, pp. 166–177, 1993.
- P. Gupta and P. R. Kumar, “The capacity of wireless networks,” IEEE Transactions on Information Theory, vol. 46, no. 2, pp. 388–404, 2000.
- J. Levendovszky, E. László, K. Tornai, and G. Treplán, “Optimal pricing based resource management,” in Proceedings of the International Conference on Operations Research, p. 169, Germany, 2010.
- J. Levendovszky, A. Oláh, K. Tornai, and G. Treplán, “Novel load balancing algorithms ensuring uniform packet loss probabilities for WSN,” in Proceedings of the IEEE 73rd Vehicular Technology Conference, Budapest, Hungary, 2011.
- E. László, K. Tornai, G. Treplán, and J. Levendovszky, “Novel load balancing scheduling algorithms for wireless sensor networks,” in Proceedings of the 4th International Conference on Communication Theory, Reliability, and Quality of Service (CTRQ '11), Budapest, Hungary, 2011.
- J. Nocedal and S. J. Wright, Numerical Optimization, Springer, Berlin, Germany, 2006.
- K. G. Murty, Linear Complementarity, Linear and Nonlinear Programming, Heldermann, Berlin, Germany, 1988.
- S. Sahni, “Computationally related problems,” SIAM Journal on Computing, vol. 3, no. 4, pp. 262–279, 1974.
- J. J. Hopfield, “Neural networks and physical systems with emergent collective computational abilities,” Proceedings of the National Academy of Sciences of the United States of America, vol. 79, no. 8, pp. 2554–2558, 1982.
- J. J. Hopfield and D. W. Tank, “Neural computation of decisions in optimization problems,” Biological Cybernetics, vol. 55, no. 3, pp. 141–146, 1985.
- J. Mandziuk, “Solving the travelling salesman problem with a hopfield—type neural network,” Demonstratio Mathematica, vol. 29, no. 1, pp. 219–231, 1996.
- J. Mandziuk and B. Macuk, “A neural network designed to solve the N-queens Problem,” Biological Cybernetics, vol. 66, no. 4, pp. 375–379, 1992.
- M. Maróti, B. Kusy, G. Simon, and K. Lédeczi, “The flooding time synchronization protocol,” in Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems (SenSys '04), pp. 39–49, New York, NY, USA, 2004.