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