Download Constructing a Messa..

Document related concepts

Prognostics wikipedia , lookup

Sensors for arc welding wikipedia , lookup

Intelligent maintenance system wikipedia , lookup

Transcript
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