Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Constructing a Message-Pruning Tree with Minimum Cost for Tracking Moving Objects in Wireless Sensor Networks Is NPComplete and an Enhanced Data Aggregation Structure IEEE TRANSACTIONS ON COMPUTERS, VOL. 57, NO. 6, JUNE 2008 Presented By Yen-Yi, Hsu Contents 1. 2. 3. 4. 5. 6. 7. 8. 9. Introduction Related Work Preliminaries Reference 1 Reference 2 Hardness of Min-Cost Message-Pruning Tree New Data Aggregation Structure Performance Study Conclusion 2 Introduction WSNs be used in a wide range of applications ex: environment monitoring, battlefield surveillance, health care One of the most important areas of research ─ object tracking Two basic operation:Update and Query The Object’s location stored in the sink or not Construct the message-pruning tree with shortcuts 3 Related Works How to monitor the object This paper: address now to aggregate the sensed data Dual prediction using the moving history Tree topology Distributed database and a message-pruning tree: attempt to prune redundant message 4 Preliminaries Voronoi graph Assume that the sensor that receives the strongest signal from an object is responsible for reporting the object’s location 5 Preliminaries Undirected Weighted Graph Assumed that the event rate between any two neighboring sensors can be statistically calculated Assumed that the sensor’s transmission range is large enough such that any two neighbors can directly communicate with each other Represented as G(VG,EG,wG) 6 Preliminaries Undirected Weighted Graph Assumed that the event rate between any two neighboring sensors can be statistically calculated Assumed that the sensor’s transmission range is large enough such that any two neighbors can directly communicate with each other Represented as G(VG,EG,wG) 7 Preliminaries Message-Pruning Tree T(VT,ET,wT), rooted at the sink wT(u,v): minimum hop count between u and v in G. VT=VG and ET EG 8 Preliminaries Database Update Each node v maintains a list v.DL=(L0, L1, L2, …, Lk), where k is the number of v’s children For example, L0=L2=NIL and L1={Car1} in b.DL 9 Preliminaries Database Update When a object o moves from u to neighbor v • dep(o, u, v) • arv(o, u, v) • Along to the tree path to lca(u, v) distT(g, h) = wT(g, d)+wT(d, b) +wT(b, e)+wT(e, i) +wT(i, h)=5 The cost of updating the database is 10 Preliminaries Object Query Forwarding path for Car1 • (a, b, d, g)(a, b, d) When a sensor receives a query for object o, it forwards the query to its ith child if o Li and it’s ith child is not a leaf The cost of a query for object is double the sum of wTs of edges on the reduced forwarding path 11 Preliminaries Object Query For example: the cost of a query for Car1 is 2 x distT(a, d) = 4 The cost of querying objects is where q(v) denotes the query rate of sensor v 12 Reference Efficient In-Network Moving Object Tracking in Wireless Sensor Networks Chih-Yu Lin, Student Member, IEEE, Wen-Chih Peng, Member, IEEE, and Yu-Chee Tseng, Senior Member, IEEE IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 5, NO. 8, AUGUST 2006 13 Update Cost counting the average number of messages transmitted in network per unit time (2) p(v) v 14 Deviation-Avoidance Tree 1. We would expect that distT(u, sink)= distG(u, sink) otherwise, u deviates from its shortest path to the sink 15 Deviation-Avoidance Tree 2. minimize the wT(u, v) by selecting neighboring sensors as parents avg. of distT(u, lca(u, v))+distT(v, lca(u, v)) can be minimized 16 Deviation-Avoidance Tree 3. an edge with higher wG(u, v) should be included into T as early as possible highest-weight-first principle For two edges (u, v) and (u’, v’) EG such that wG(u, v) > wG(u’, v’), it’s desirable that 17 Deviation-Avoidance Tree T is always a subgraph of G wT (u, v)=1 18 Zone-Based DAT 19 Zone-Based DAT 20 Query Cost Reduction QCR tries to adjust the tree T obtained by DAT or Z-DAT in a bottom-up manner Two observation 1. Placing a node as a leaf can save the query cost 2. We should choose a node closer to the sink as v’s parent, 21 Query Cost Reduction 1. if a node v is not a leaf 22 Query Cost Reduction 2. if a node v is a leaf node 23 Reference Message-Efficient In-Network Location Management in a Multi-sink Wireless Sensor Network Chih-Yu Lin and Yu-Chee Tseng, Ten H. Lai 24 Multi-sink WSNs Naïve way to extend a single-sink system to multisink system is to construct a virtual tree for each sink x Three issues need to be addressed when multiple trees coexist 1. Update and query mechanisms 2. Multi-tree construction 3. The number of trees used 25 Update and Query Mechanisms We denote a WSN with n sensors, m of which are designated as sinks (σi , i =1, ..., m) rooted at σi has constructed form G Each sensor x keeps two tables Subtree_Member SX : • An m x n table to indicate whether another sensor is a descendant of x in a certain tree Detected_List DLX : • k+1 entries, each entry maintain a set of objects 26 Update and Query Mechanisms B For Example Subtree_Member A Car3 • SD(TB,F)=1 • SD(TA,F)=0 Detected_List • Car2 DLA(D) • D is a neighbor of A • SD(TA,G)=1 and Car1 is tracked by G C D E F H Car2 G I K Car1 J 27 Update and Query Mechanisms 1. The Location Update Mechanism Update message should be sent from a and b to lcai(a, b) In a system with m trees, a sensor x need to maintain pi(x) for each Because the number of neighbors of x may be smaller than m, some of the pi(x) may be duplicate and thus can be update together Thus, update mechanism comprise two parts: • (1.) Forwarding Rule • (2.) Updating Rule 28 Update and Query Mechanisms (1.)Forwarding Rule If there is a tree making Eq.1 true, the update message should be sent to pi(x) If two trees both satisfy Eq.1 and pi(x) = pj(x), then only one update message needs to be sent (2.)Updating Rule 29 Update and Query Mechanisms 30 Update and Query Mechanisms 31 Update and Query Mechanisms 2. The Location Query Mechanism Assume user can issue a query from any sensor • (1) o does not appear in any of the entries of DLX – x will forward the query to the closest sink – If an intermediate node y finds that o appears in DLy, then the second scenario will be initiated immediately • (2) o appears at least in one of the entries of DLX – Model the WSN responsible for tracking object o as a directed query graph 32 Update and Query Mechanisms 33 Update and Query Mechanisms 34 Multi-Tree Construction 1. The MT-HW Algorithm(with the high-weight-first property) an edge (u, v) with higher weight will be considered for being included into a tree earlier candidate parents : distG(σi , x) = distG(σi , y) +1 and y is x’s neighbor Each sensor x will sort its neighbors in a decreasing order according to the event rates Then, for each sink σi , x will pick one neighbor y as its parent that has the highest event rate among x’s candidate parents for σi and set y= pi(x) 35 Multi-Tree Construction 2. The MT-EO Algorithm(with the edge-overlap-first property) If we can increase the number of the tree edges that overlap with each other, SC(v)↑and U↓ Each of x’s neighbors is associated with an overlap counter for x Then, x select the neighbor y whose overlap counter is the largest Until x has determined its paents for all sinks 36 Simulation Results Comparison of Update Costs 37 Simulation Results Comparison of total costs under different query rate 38 Simulation Results Comparison of total cost (single vs. multiple) 39 Simulation Results Two implicit results should be addressed 1. multi-sink system has a faster query response time 40 Simulation Results 2. multi-sink system can achieve a better load balance factor 41 Hardness of MC-MPT Exact 3-cover problem Given a S= {σ1,…, σs} of triplets of elements from a set L={τ1,… , τ3t}, is there a subcollection S’ S of size t that covers L? Ex: L={ }, S={ } is given, S’={ } is a solution of this problem Minimum-Cost Message-Pruning Tree G(VG, EG, wG, qG), a sink sink, integer M≥0 Determine whether there exist a T(VT, ET) rooted at sink with VT=VG whose cost U(T)+Q(T) is at most M 42 Hardness of MC-MPT 43 Hardness of MC-MPT 44 New Data Aggregation Structure When Car1 moves: g→h Reduced forwarding path: (a, b, e ,i) The cost of a query is 6 This paper’s idea: Add a shortcut (d→h) 45 New Data Aggregation Structure After add a shortcut: Reduced forwarding path: (a, b, d) The cost of updating the database: wT(g, d)+wT(d→h)=2 The cost of a query for Car1: 2x( wT(a, b)+wT(b, d))=4 46 New Data Aggregation Structure The Structure The shortcut (u→v) will be • u’s outgoing shortcut and • v’s incoming shortcut wT(u→v) = distG(u, v) For example, wT(d→h) = 1 (u1, u2, …, un) is a downward path if • ui is the parent of ui+1 • (ui →ui+1) is a shortcut (b, d, h) is a shortest downward path from b to h 47 New Data Aggregation Structure The Structure v.DL( ) • k is the number of v’s children • p is the number of v’s outgoing shortcut • q is the number of v’s incoming shortcut d.DL(NIL, NIL, {Car1}) 48 New Data Aggregation Structure The Structure Extended_ancestor: ex: a, b, d, e, i and h are extended_ancestor of h u.prec(o) ex: h.prec(Car1) = d can be evaluated by checking DL u.succ(v) ex: d.succ(h) = h and b.succ(h) = d 49 New Data Aggregation Structure Object Query 50 New Data Aggregation Structure Example sink a receive query(Car1)) The cost of a query(o) is 2 x dist(r fpath(query(o))) The cost of queries for all objects is 2 x 51 New Data Aggregation Structure Database Update 52 New Data Aggregation Structure Example The cost of updating the database for all events 53 New Data Aggregation Structure Addition of Shortcuts Add shortcut (u→v) with the property • 1. distT(sink,u)+wT(u→v)≦distT(sink,v) • 2. (u, v) EG-ET • 3. u is not a leaf 54 Performance Study 256 sensors, 32 x 32 sensing field Random & regular deployment Z-DAT and Z-DAT+QCR were constructed α and δ are set to 4 and 0 the tree root in Z-DAT or Z-DAT+QCR is located in either the corner or the center averaging the data of 1000 simulations 55 Performance Study The Cost of Updating the Database 56 Performance Study The Cost of Updating the Database 57 Performance Study The Cost of Updating the Database 58 Performance Study The Cost of Updating the Database 59 Performance Study The Cost of Querying Objects 60 Performance Study The Cost of Querying Objects distT(sink,u)+wT(u→v)=distT(sink,v) 61 Conclusion Total cost = Update cost + Query Cost Multiple sink is important when the network scale is large or when the query rate is high It proposed a data aggregation structure that is constructed by adding shortcuts to MPT 62