Presentation is loading. Please wait.

Presentation is loading. Please wait.

UCLA Computer Science Department

Similar presentations


Presentation on theme: "UCLA Computer Science Department"— Presentation transcript:

1 UCLA Computer Science Department
PEAS: A Robust Energy-Conserving Protocol for Long-lived Sensor Networks Fan Ye, Gary Zhong, Songwu Lu, Lixia Zhang UCLA Computer Science Department

2 Motivation Berkeley single-chip spec sensor node
Small, battery-powered sensor nodes Unpredictable failures in a harsh environment Applications need a robust, long-lived sensing system Berkeley single-chip spec sensor node First the motivation. Sensor networks has been an active research field in recent years. Sensor nodes, at the same time, are getting smaller and smaller. This is a photo of berkeley single-chip sensor nodes. They’re even smaller than the tip of a pen. We can build many application using large quantities of such small nodes. For example, in a military application, thousands or even tens of thousands nodes can be deployed to monitor enemy tanks. Soldiers can use the network to track the locations of tanks. One problem of these networks is that, each node is powered by battery and can work for a few days or weeks if working continuously. But applications need a network that can function for much longer time, such as a few months or even a couple of years. At the same time, these nodes can be very unreliable in a harsh or even hostile environment. Extreme temperatures and humidity can make nodes fail before energy is used up; enemy tanks and vehicles passing over can also destroy sensor nodes. Fundamentally, we want to build a robust, long-lived system using unreliable, short-lived nodes.

3 Design Goals Easy trade-off between efficiency and robustness
Extend the lifetime of a sensor network Robust to unexpected node failures Scale to dense deployment, constrained sensor resources, large network size Simple protocol operations Small amount of maintained state Distributed We want a protocol that can extend the lifetime of the sensor network; and we want this protocol itself be robust against unexpected node failures. We notice that there’s a tradeoff between them. One can not achieve the best efficiency and the best robustness at the same time. We try to provide means that can let users easily tradeoff between efficiency and robustness. We also want the protocol to fit in the application scenarios. It must scale to dense node deployment, the constrained computing, memory and energy resources of sensor node, and large network size. These translate into simple protocol operations, because simplicity leads to better robustness. We want each node keep very small amount of state so that the overhead is within the resource constraints. Specifically, we do not want any node to keep per neighbor state because it’s very difficult to track the status of each neighbor in a densely deployed network with frequent node failures. We also want the protocol be distributed.

4 Outline PEAS Design Evaluation Related Work Conclusions
Probing Environment Adaptive Sleeping Evaluation Analytical Properties Simulations Related Work Conclusions This is the outline of my talk. I’ll present the design of peas, which has two components: probing environment and adaptive sleeping. Then I’ll give both analytical properties and simulation results. Finally I’ll compare PEAS with related work and give conclusions.

5 Basic Approach and assumption
Exploit the redundancy Keep a necessary subset of nodes working; turn off others into sleeping Sleeping nodes replace failed ones as needed Assume nodes can control the transmitting power to reach a given radius Variable tx power available in Berkeley motes Our basic approach is to exploit the redundancy. We keep a necessary subset of nodes working, and turn off the rest into sleep to save energy. Sleeping nodes wake up and probe the local neighborhood once in a while and replace failed working nodes when needed. We assume nodes can control their transmitting power to reach a given radius. Such kind of variable transmitting power is already available in some hardware such as berkeley motes. We’ve said that we want to avoid maintaining per neighbor state. Without such information, how can nodes coordinate among themselves to decide which should be turned on and which to turned off?

6 Probing Environment working No REPLY is heard
Each node sleeps for a random time ts ts follows an exponential distribution f(ts) = e- ts The PROBE message is within a radius Rp (given by applications) Rp < maximum tx range Rt Working nodes send back REPLY when hearing the PROBE (also within radius Rp) No REPLY is heard Broadcast a PROBE within Rp Probing environment decides which nodes be working and which be turned off. There’re 3 operation modes of nodes. When nodes are initially deployed, each sleeps for a random time ts, which follows an exponential distribution of parameter lambda. After a node finishes sleeping, it enters probing mode by broadcasting a PROBE message with a radius Rp, which is given by the application. Any working node within this radius should send back a REPLY message, which is also within radius Rp. If the probing node hears a REPLY, it goes back to sleep again for another random time ts. But the parameter lambda is adjusted by the second component of Adaptive Sleeping, which I’ll talk later. If this node doesn’t hear any REPLY after some time, it starts working continuously, until it uses up energy or dies unexpectedly. Both lambda and Rp are set before nodes are deployed. To keep working nodes connected, one requirement is that Rp is less than the maximum transmitting range Rt. More analysis will be given later. sleeping probing Upon hearing a REPLY

7 An example Rp 1 2 3 4 5 6 7 sleeping working dead Final result:
PROBE PROBE Rp 1 2 3 4 5 6 7 sleeping REPLY working dead PROBE Let’s see an example. A number of nodes are deployed. And node 1 finishes sleeping and broadcasts a PROBE message within Rp. Because no working node is within the radius, node 1 starts working. Similarly, node 2 probes and starts working. Here come node 3 and node 4. Now, node 5 wakes up and broadcasts a PROBE. Because node 2 is working, it will send back a REPLY after receiving this PROBE. Thus node 5 goes back to sleep again. When node 6 wakes up and probes, both 1 and 2 are within the radius. To avoid collisions, they each wait for a small amount of random time before sending back REPLY. After some time, node 2 dies unexpectedly. Now node 5 probes again. This time it’ll replace node 2 and starts working. So the final result is that any two adjacent working nodes keep a distance of at least Rp. REPLY Final result: Any two working nodes keep a distance of at least Rp

8 Design Rationale Adjacent working nodes keep appropriate distances (at least Rp) Redundancy in sensing and communicating function at appropriate levels Probing avoid per-neighbor state about topology information maintenance Randomized sleeping times Spread over time to reduce “gap”, avoid prediction of a working node’s active time Let me explain why we do it this way. First, we keep certain distances between neighboring working nodes, so that the overlapping in sensing and communicating areas of adjacent working nodes are at appropriate levels. We need certain overlapping to be robust against node failures. But this overlapping also leads to less efficiency. By specifying Rp, the application can adaptively control the redundancy to desired levels so as to be robust against node failures, while not consuming too much energy. Probing avoid per neighbor state about local topology. We want to avoid that because it can be very difficult to track the status of each neighbor in a densely deployed network with frequent node failures. We achieve coordination among nodes through this probing.

9 Detect unpredictable failures: randomized sleeping times
wakeups wakeups wakeups If wakeups are synchronized to some time points long “gaps” if a working one fails unexpectedly Difficult to predict how long the working one remains active Randomized sleeping times spread wakeups over time Any unexpected failure is detected on time t0 t1 t2 time Node A working Node B working t0 t1 t2 time A fails Node B working The sleeping times of sleeping nodes are randomized. They’re not predetermined. They spread over time. This is because we want to detect unexpected working node failures on time. Wakeups could be decided based on how long working neighbors will be active. For example, at time t0, all nodes wake up and elect node A to work. The rest sleep for the time during which A will be active. Then they wake up at time t1 and elect another working node B, and so on. The problem of this deterministic sleeping is that, when nodes fail frequently, there can be long gaps between the death of a node and the working of the next node. Also, it can be very difficult to predict how long working ones will be active given that they fail unexpectedly. Randomizing sleeping times spread wakeups over time, so that the gap caused by node failures is much smaller, than avoid the difficulty to predict the active time of working nodes. We can see that for each working node, how frequent its sleeping neighbors probe decide how quick it’ll be replaced if it dies unexpected. Long gap A fails B working C working

10 Adaptive Sleeping Goal: keep the aggregate PROBE rate on a desired level _d (specified by the application) independent from node densities at different locations, over time Probing rate decides how quick a dead node can be replaced Unnecessary overhead if too frequent Long gaps if too slow Basic idea working node measures the aggregate PROBE rate piggybacks the info in REPLY probing nodes adjust their rates accordingly. Adaptive Sleeping is second component that keeps the aggregate probing from each working nodes’ sleeping neighbors on a desired level lambda_d, which is given by the application based on how long a gap, that is, an interruption in sensing and communication it can tolerate. The probings should not be too frequent, otherwise we use too much overhead in PROBEs and REPLYs; the probings cannot be too slow, either. Otherwise the interruptions will go beyond what is tolerable by the application. Because the density of sleeping nodes change at different locations and over time, a fixed probing rate at each node cannot keep the aggregate probing rate as desired by the application. So the basic idea is to let each node measure the aggregate probing rate and piggybacks this information in its REPLYs. Probing nodes then adjust their rates accordingly.

11 How it works … Time K wakeups Measure aggregate rate:
Ts A working node keeps Counter C Last measurement time t0 Increase the counter each time a PROBE is heard Calculate aggregate PROBE rate _a and includes it in REPLYs Each probing neighbor adjusts its rate accordingly Time t0 t K wakeups Measure aggregate rate: _a = K / (t - t0) Each probing one adjusts: _new =  (_d / _a ) Here’s how it works. Each working node keeps a counter of how many PROBE it has heard. Each time is hears a PROBE, it increase the counter by one. When this value reaches a threshold, capital K, the node calculates the aggregate probing rate as lambda_a equal to K over the time duration in which these K PROBEs are heard. It then includes the measured rate in REPLYs. Each probing node adjusts to a new probing rate lamdba_new based on its current probing rate, the desired aggregate rate from the application, and the measured rate lambda_a Let’s see an example. Suppose an application wants lambda_d of 6 times per minute. That means, on average, a dead working node needs to be replaced within 5 seconds. Working node A has 5 sleeping neighobrs, each probes 6 times per minute. A measures the aggregate rate lambda_a as 30. Each sleeping node then adjusts to lambda_new equal to 1.2. Thus the new aggregate probing rate is 6. Example: An application wants _d = 6 times/min. Working node A has 5 sleeping neighbors, each probes at  =6 times/min. A measures aggregate _a = 30. Each sleeping one adjusts to _new = 6(6/30)=1.2, thus new _a = 6

12 Some explanations Exponential interval means PROBEs form a Poisson process PROBEs from all sleeping neighbors still form a Poisson process Aggregate PROBE rate _a = 1 / average inter-arrival time Ts Avoid summing up all individual sleeping nodes’ rates - per neighbor state Here’s the reason why we choose an exponential distribution of sleeping times. We know that exponential interval means the probing events form a Poisson process. Since the aggregate of Poisson process is still a Poisson process, we can use the property of Poinsson process to measure the aggreate probing rate based on this equation between the aggregate probing rate and the inter probing time Ts. Thus we do not need to summing up the rates of individual working neighbors. That’s the kind of per neighbor state we want to avoid.

13 Outline PEAS Design Evaluation Related Work Conclusions
Probing Environment Adaptive Sleeping Evaluation Analytical Properties Simulations Related Work Conclusions Next is evaluation. I’ll give both analytical properties and simulation results.

14 Analytical Properties
PEAS model An intuition for the topology of working nodes Why simply maintaining distance gives a relatively even distribution? Asymptotic connectivity of working nodes Under what conditions the network is connected How much distance be kept? I’ll talk two analytical properties. First I’ll give an intuitive model about the topology of working nodes. It tells us why simply maintain certain distance between workign nodes gives a relatively even distribution. Next I’ll give the conditions under which the network is asymptotically connected. This gives us guidelines in setting Rp to maintain a connected topology.

15 Peas model: why working node locations relatively even
Working nodes are equivalent to round peas of radius Rp/2 The centers of two peas are at least Rp apart, when they’re tangent Assuming infinite deployment density Densest: each pea is tangent to 6 neighbors Sparsest: the space among any 3 adjacent peas is slightly smaller than a pea densest sparsest Rp Rp/2 node pea First, working nodes are equivalent to round peas of radius Rp/2. Any topology of working nodes is equivalent to replacing each working node with a round pea of radius Rp/2, and these peas cannot overlap with each other. This will keep exactly a distance of at least Rp between adjacent working nodes, when two peas are tangent to each other. With this model, we can see the desest case of working nodes is when each pea is tangent to 6 neighbors, and the sparsest case is when the space among 3 adjacent peas is slight smaller than the size of pea. These two extreme cases have little chance to happen in reality because they require exact hexagonal placements of nodes. In real cases, the density of working nodes are kept relatively constant at different place. In this example, the right half of the network has twice as many nodes deployed as the left half. But the density of working node is relatively constant over the whole filed.

16 Asymptotic connectivity of working nodes
Based on Blough’s Theorem 2 in Mobicom 2002 Consider n nodes uniformly randomly distributed in R=[0, l]d. When d = 2, and cdn = k ld ln l for some constant k > d. The expected number of empty cells 0(n)  0 as l  . When deployment density is large enough, every cell almost always has at least one node. The condition for asymptotic connectivity is based on blough’s theorem 2 in mobicom 2002 paper. If we distributed n nodes uniformly randomly in a network and divide the field into square cells of size c, when there’s such a relation between node number n, cell size c and network size l, the expected number of empty cells, that is, cells without any node deployed, goes to 0 as the network size goes to infinity. Basically it tells us when the density deployemnt is large enough, every cell almost always has at least one node.

17 Maximum distance between working neighbors
Working node A puts nodes in cell 4, 5, 6 into sleep To put node C in cell 2 into sleep, node B’s maximum distance to A is (1+5)Rp Otherwise, C will be working When there’s at least one node in each cell, distance between working neighbors is bounded Theorem 3.1: when Rt > (1+5)Rp, and conditions in Blough’s Theorem 2 hold, working nodes are connected asymptotically. Rp 3 B C 4 5 A C 2 6 Based on this, we can show that the maximum distance between adjacent working nodes is bounded. This is because if two working nodes are too far apart, there’s enough space in the middle so that another node will be working. If the maximum transmitting range is larger than this maximum distance, the working nodes will be connected. We derive this maximum distance using Blough’s results. Suppose the cell size is Rp, the probing radius. And each cell has at least one node. We assume node A is working in cell 1, and it has put other nodes in cell 4, 5, 6 into sleep. Now let’s consider how far node A’s working neighbor can be. The dashed round rectangular shape is the area occpupied by a peas in cell 2. C can show up anywhere within cell 2. The maximum distance between node B in cell 3 and A is (1+sqrt5)Rp. If B is farther to A than this, no matter where C is located, it’ll be working. The result of probing radius is given in theorem 3.1 in the paper, which tells us that when Rt>(1+sqrt5)Rp, and the conditions in blough’s theorem 2 hold, working nodes are connected asymptotically. 1

18 Performance evaluation
System Lifetime extension Robustness against unexpected failures Simulation setting 50 x 50 fields, a source at (45, 45), a sink at (5, 5) Deployed node number 160, 320, 480, 640, 800 Probing range Rp=3 meters, sensing range 10 meters, maximum transmitting range Rt=10 meters Inject artificial node failures, from 7% to 38% Metrics Data delivery lifetime: the time till the success ratio drops below 90% Sensing coverage lifetime: the time till the coverage ratio drops below 90%

19 Average data delivery lifetime vs. the number of deployed node
The network's data delivery lifetime increases linearly with the number of deployed nodes

20 Average coverage lifetime vs. number of deployed node

21 Data delivery life vs. node failures
Data delivery lifetime decreases gracefully as more nodes fail Node failure percentage from 7% to 38%

22 Sensing coverage lifetime vs. node failures
Sensing coverage lifetime decreases similarly

23 Related work Wireless ad hoc networks Sensor networks SPAN GAF ASCENT
S-MAC STEM SPAN keeps connectivety information in 2 hop neighborhood and uses that to decide which nodes to turn on/off. We do not keep such per neighbor state. The sleeping times are decides based on how long working nodes will be active. We do not make such predictions and randomize the sleeping time. GAF uses location information to divide network into square cells and tries to keep only one node working within each cell. We do not need location information and uses probing to maintain working node topology instead. Ascent lets each working node actively measure the data rate and link quality to each neighbor and use that information to decide which nodes to turn on/off. We do not maintain such per-neighbor state. S-MAC and STEM control duty cycle of nodes to explore energy savings in the time dimension. The technique can be combined with PEAS to achieve further energy savings.

24 Conclusions PEAS enables robust, long-lived sensor network
Simple protocol operations Minimize amount of maintained state No per-neighbor state Work with small sensor nodes with stringent resource constraints


Download ppt "UCLA Computer Science Department"

Similar presentations


Ads by Google