330 likes | 345 Views
Power Efficient Monitoring Management in Sensor Networks. Zelikovsky Georgia State joint work with P. Berman Pennstate G. Calinescu Illinois IT C. Shah Georgia State. Outline. Maximum sensor network lifetime Monitoring model in sensor networks
E N D
Power Efficient Monitoring Management in Sensor Networks • Zelikovsky Georgia State • joint work with • P. Berman Pennstate • G. Calinescu Illinois IT • C. Shah Georgia State
Outline • Maximum sensor network lifetime • Monitoring model in sensor networks • Disjoint vs Nondisjoint sensor covers • Example of MAX-SNLP • Minimum weigh sensor cover • Garg-Konemann algorithm • LP enhancement of GK • Distributed Algorithms • Experimental results • Conclusions
Sensor Networks Model Monitor Region R Sensor Region L Randomly Deployed Sensors over L • The set of sensors largely exceeds the necessary amount to monitor R
Maximum Sensor Network Lifetime Problem • A formal definition of the energy preserving scheduling problem • Sensor cover : A set of sensors C covering R. • A monitoring schedule: aset of pairs (C1, t1),…, (Ck,tk). — Ci is a sensor cover; —ti is time during which Ci is active. • Maximum Sensor Network Lifetime problem Given: a monitored region R, a set of sensors p1, … , pn , and monitored region Ri ,and energy supply bi for each sensor Find: a monitoring schedule (C1,t1), … , (Ck, tk) with the maximum length t1+ … + tk, such that for any sensor pi the total active time does not exceed bi .
R3 monitored region R R1 R2 sensor regions Disjoint vs Nondisjoint Sensor Covers • Previous work assumed that sensor covers are disjoint • Slijepcevic and Potkonjak [01], Cardei and Du [03], Zussman and Segall [03] This is unnecessary constraint: the lifetime can be prolonged if we do not use each sensor cover till battery exhaustion but switch to another one. • An example (Disjoint vs. Non-disjoint set covers).It shows advantage of switching between sensor covers. Example Properties Any sensor is assumed to have 2 batteries Any sensor alone cannot cover R Any two sensors cover R Disjoint sensor covers formulation: Any two sensor covers intersect — There is onesingle disjoint sensor cover; —The total lifetime of scheduleis2 units of time.
Example of Maximum Sensor Network Lifetime Problem • Advantage of switching between sensor covers: R3 R3 R3 monitored region R monitored region R monitored region R R1 R1 R1 R2 R2 R2 sensors p1 and p3 for 1 time unit sensors p1 and p2 for 1 time unit sensors p2 and p3 for 1 time unit Non-disjoint set covers: —the schedule ({p1, p2}, 1), ({p2p3}, 1), ({p3, p1}), 1); —3 units of time.
Given a monitored region R, a set of sensors p1,…,pnand monitored region Riand the weight wifor each sensor; Find sensor cover with the minimum total weight. Maximum Sensor Network Lifetime Problem (cont’d) • Primal /dual approach: uses solution for the dual problem for solving primal problem • The Dual Problem: Minimum weight sensor cover problem • Disc Cover selection • Garg-Konemann algorithm
Grid Data Structure Representing Sensor Coverage • Grid data structure (Used by Potkonjak and Slijepcevic) • A set of grid points (gg) to discretize R. • Partition all grid points into ‘fields’. • A fieldis defined as a subset of grid points covered by the same set of sensors. • Advantage —easy to implement — good if coverage delineation does not need to be very precise. • Disadvantages — if too few grid points: coverage of the area not well defined. — iftoo many grid points: large calculation A grid of gg Time = Ω(n*g2)
Face: points covered by same set of sensors forms the equivalence class, called face. Number of Intersection points are at most n(n-1) Number of the faces o(n2) Any face can not be covered partially. Data Structure face 2 face 3 face 4 face 1 face 9 face 5 face 6 face 12 face 10 face 7 face 11 face 8 face 13
Experimental Results • Comparison of planar graph and grid data structures
Greedy Heuristics • Greedy heuristics is used to find the sensor cover. • For partial q-cover problem, solution can be approximated with (1 + ln (1-q)-1 )
— bi = lifetime of sensor i { 1 if sensor j covers face i 0 if sensor j doesn’t cover face j — CMij = — tj a time variable for each cover cj. Maximize: Subject to: max{cTx| Ax ≤ b, x ≥ 0 } • Packing LP is defined as: — where A , b and c have positive entries; — the dimensions of A as mn. MSNLP • Sensor lifetime problem is a packing LP problem • LP formulation
Garg-Könemann Algorithm • Garg-Könemann is primal dual algorithm to solve the packing LP. • It finds the solution using iterations, which can be controlled by epsilon
State diagram of GK algorithm A weight is assigned to the each sensor according to the batteries it has Condition for exit is checked based on dual variables Find the weighted q-set cover • Garg-Könemann algorithm • Finds the life time for the q-set cover based on bottleneck sensor • Increases the weight of node based on • Epsilon ( quality of the Garg-Könemann) • Batteries left • Change dual variables
Tight & CPLEX • Tight • Garg-Könemann finds the life time for each sensor cover and divides it by constant number based on epsilon and number of iteration • Tight solution is obtained using the finding the tightest energy constraint from Garg-Könemann solution • CPLEX • After Garg-Könemann finds the all the sensor-covers, the best time schedule for each sensor covers can be obtained using CPLEX • Constraints: satisfying the battery requirements Objective: Maximizing the life time
LP Enhancement vs GK • GK Algorithm and LP enhancement * The lesser the , the accuracy of GK, the more sensor covers are found the more runtime the better quality of the approximate solution * CPLEX improves significantly over the Garg-Konemann.
Distributed Algorithms • Assumptions • Sensor nodes only know about the neighbors information (e.g. batteries left, current state and id) on receiving information packets • Neighbors of node N can be defined as set of nodes sharing the faces with node N • Communication range = 2 * monitoring range • Node can sleep (not monitor the region), but it always listens to the neighbors
State diagram to find the sensor cover Vulnerable A • We first put all the nodes in vulnerable state • If there is a face which is not covered by any other active or vulnerable sensor, then go to active state and inform neighbors • if all its faces are covered by one of two types of sensors: active or vulnerable sensors with a larger energy supply, i.e., the sensor is not a champion for any of its faces, then go to idle state and inform neighbors B Active Idle D C
Correctness of distributed algorithm Theorem: The distributed algorithm always finds the minimal sensor cover. • Lemma: The distributed algorithm is deadlock-free. • Among vulnerable sensors there is always one that either should become active or idle • On the contrary, assume that each vulnerable sensor • covers at least one face non-covered by active sensor and • does not have an individual face • Then there is always vulnerable sensor which is not a champion for any of its faces: • Sensor 1 should be a champion for face say a, but a is not individual so there should be a sensor 2 covering face a and having less batteries than 1. • Similar, 2 is a champion for a face say b which is also covered by 3 who has less batteries than 2, and so on. • Since all the sensors 1,2, … have different battery supply, they all are different • Resulted active set is minimal since any active sensor has individual face • Resulted active set covers all faces since a sensor cannot go to idle state if it has individual face 1 2 3 4 n Sensors … a b c d e Faces
Life time in the distributed algorithms • As described in centralized algorithms, we need to shuffle sensor covers to maximize the lifetime of the sensor networks • After sensor node goes to Active state, it will stay in Active state for pre-defined time called Reshuffle-triggering threshold value. Upon reaching the threshold value, node in Active state will go to Vulnerable state and inform the neighbors If sensor node is in Idle or Active state then it will go in vulnerable state, if one of its neighbor goes into Vulnerable state It causes global reshuffle and it will find new minimal sensor cover • There is a trade-off between quality of the life time and number of reshuffles
State diagram for lifetime Vulnerable • 1. Upon reaching the reshuffle-triggering threshold value 2. When neighbor node goes in vulnerable state D. 2. When neighbor node goes in Vulnerable state A B Active Idle D C
State diagram with Permanent and Dead G Dead Permanent E. If current sensor is the only sensor which covers one or more faces F&G. When sensor nodes exhausts all its batteries Permanent Solution:Node in vulnerable state directly goes to the Permanent (no-reshuffle, no active state) state, similar to disjoint sensor cover problem E F V A B Active Idle C D
Results • Result of centralized algorithms • Results of distributed algorithms • Show the comparison between Life time and Communication overhead for the distributed algorithms with different reshuffle-triggering threshold values • Comparison of distributed algorithms with centralized algorithms
Results • Result of centralized algorithms • Results of distributed algorithms • Comparison of distributed algorithms with centralized algorithms • The lifetime of the different distributed algorithms are compared with centralized algorithms (GK, Tight and CPLEX)
Sensor q-Cover Problem • Sensor cover - A set of sensors C covering monitored area R. Generalized q-Cover q[0,1] problem, e.g. q = 0.9, 90% monitored area covered by sensors. • For given constant q[0,1], the monitored region R with area M, and a set of sensors Findsubset {p1, p2, … , pt} of sensors. such that w (pi ) min with the constraint • Partial q-Coverage problem is equivalent to the weighted set q-cover problem.
Conclusions • In Sensor Networks, • For Maximizing the Sensor Network Lifetime Problem (MSNLP), centralized and distributed algorithms are proposed and has been compared in simulated environment • Centralized algorithms have trade-off between life time and run time • Distributed algorithms have trade-off between life time and communication overhead