constructing a message-pruning tree with minimum cost for tracking moving objects in wireless sensor...
TRANSCRIPT
Constructing a Message-Pruning Tree with Minimum
Cost for Tracking Moving Objects in Wireless Sensor
Networks Is NP-Complete and an Enhanced Data
Aggregation Structure
Constructing a Message-Pruning Tree with Minimum
Cost for Tracking Moving Objects in Wireless Sensor
Networks Is NP-Complete and an Enhanced Data
Aggregation StructureIEEE TRANSACTIONS ON COMPUTERS, VOL. 57, NO. 6, JUNE 2008
Presented By Yen-Yi, Hsu
Contents
1. Introduction2. Related Work3. Preliminaries4. Reference 15. Reference 26. Hardness of Min-Cost Message-Pruning
Tree7. New Data Aggregation Structure8. Performance Study9. Conclusion
2
Introduction
WSNs be used in a wide range of applicationsex: environment monitoring, battlefield surveillance, health care
One of the most important areas of research─ object tracking
Two basic operation:Update and QueryThe Object’s location stored in the sink or notConstruct the message-pruning tree with
shortcuts
3
Related Works
How to monitor the objectThis paper:
address now to aggregate the sensed dataDual prediction using the moving historyTree topologyDistributed 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 responsiblefor reporting the object’s location
5
Preliminaries
Undirected Weighted Graph Assumed that the event rate
between any two neighboringsensors can be statisticallycalculated
Assumed that the sensor’s transmission range is largeenough such that any twoneighbors can directlycommunicate with each other
Represented as G(VG,EG,wG)
6
Preliminaries
Undirected Weighted Graph Assumed that the event rate
between any two neighboringsensors can be statisticallycalculated
Assumed that the sensor’s transmission range is largeenough such that any twoneighbors can directlycommunicate 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), wherek 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
Object Query Forwarding path for Car1
• (a, b, d, g)(a, b, d) When a sensor receives a
query for object o, it forwardsthe query to its ith child ifo Li and it’s ith child is not a leaf
The cost of a query for objectis double the sum of wTs of edges on the reduced forwardingpath
Preliminaries
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)
14
vp(v)
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 observation1. 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 multi-sink system is to construct a virtual treefor 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 GEach 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 objects26
For Example Subtree_Member
• 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 I
D
F
J
A
B
C
E
G H
K Car1
Car3
Car2
Update and Query Mechanisms
27
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
Update and Query Mechanisms
28
(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
Update and Query Mechanisms
29
Update and Query Mechanisms
30
Update and Query Mechanisms
31
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
Update and Query Mechanisms
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 h47
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})
New Data Aggregation Structure
48
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
New Data Aggregation Structure
49
Object Query
New Data Aggregation Structure
50
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 objectsis 2 x
New Data Aggregation Structure
51
Database Update
New Data Aggregation Structure
52
Example
New Data Aggregation Structure
The cost of updating the database for all events
53
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
New Data Aggregation Structure
54
Performance Study
256 sensors, 32 x 32 sensing fieldRandom & regular deploymentZ-DAT and Z-DAT+QCR were constructedα and δ are set to 4 and 0the 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 ObjectsdistT(sink,u)+wT(u→v)=distT(sink,v)
61
Conclusion
Total cost = Update cost + Query CostMultiple 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