FIND: Faulty Node Detection for Wireless Sensor Networks

waralligatorΚινητά – Ασύρματες Τεχνολογίες

21 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

64 εμφανίσεις

FIND: Faulty Node Detection
for Wireless Sensor Networks

Shuo Guo
, Ziguo Zhong and Tian He

University of Minnesota, Twin Cities

Shuo

Guo@University

of Minnesota

Background


Importance of fault detection in WSNs


Node failures => performance degradation


Two types of faults


Function fault


Crash of nodes, packet loss, routing failure or
network partition

2

Shuo

Guo@University

of Minnesota

Related Work


Function faults






3


Q. Cao,
et. al,

Declarative
Tracepoints

in SenSys’08


M. Khan, et. al,
DustMiner

in SenSys’08


J. Yang, et.al,
Clairvoyant

in SenSys’07


V.
Krunic
, et.al,
NodeMD

in MobiSys’07



N.
Ramanathan
, et.al,
Sympathy

in SenSys’05



Shuo

Guo@University

of Minnesota

Background


Importance of fault detection


Two types of faults


Function fault


Crash of nodes, packet loss, routing failure or
network partition


Data fault


Behaves normally except for sensing results

4

Shuo

Guo@University

of Minnesota

Related Work


Function faults





Data faults






5


Q. Cao,
et. al,

Declarative
Tracepoints

in SenSys’08


M. Khan, et. al,
DustMiner

in SenSys’08


J. Yang, et.al,
Clairvoyant

in SenSys’07


V.
Krunic
, et.al,
NodeMD

in MobiSys’07



N.
Ramanathan
, et.al,
Sympathy

in SenSys’05




M. Ding, et.al, Localized Fault
-
Tolerant Event Boundary Detection in
Sensor Networks. In INFOCOM’05


L.
Balzano
, et.al, Blind Calibration of Sensor Networks. In IPSN’07


V.
Bychkovskiy
, et.al, A Collaborative Approach to In
-
Place Sensor
Calibration. In IPSN’03


J.
Feng
, et.al, Model
-
Based Calibration for Sensor Networks. In IEEE
Sensors, 2003.

Shuo

Guo@University

of Minnesota

Related Work


Outlier detection


Identify readings numerically distant from the rest


After
-
deployment calibration


Find a mapping function that maps faulty readings
into correct ones (Y=aX+b)


Limitations


Assumptions on data distribution


Mapping functions may not exist




6

Shuo

Guo@University

of Minnesota

Our Work


Objective: find a
blacklist

of possible faulty
nodes, in order of their probability of being faulty


Node locations are available


Generally monotonic sensing readings over
distance, can have violations locally, but general
trend holds


No longer assume any mathematical model for
reading
-
distance relationship


No longer assume any function to map faulty
readings into correct ones


Detect both random and biased faulty readings

7

Shuo

Guo@University

of Minnesota

Node Sequences and Ranks


Node sequence


A complete node list of node IDs sorted by reading
(e.g., RSS), or physical distance from targets


Rankings


The rank a node appears in a node sequence


8

1

2

4

3

physical distance
-
based sequence:
1243

-
50dBm

-
55dBm

-
60dBm

-
65dBm

RSS
-
based node sequence:
1243

Node 1’s ranking in
1243
is 1

Node 1’s ranking in
1243
is 1

2413

Node 1’s ranking in
2413
is 3

Ranking

Difference

-
62dBm

RSS: Received Signal Strength

Shuo

Guo@University

of Minnesota

Main Idea


Find mismatch between
RSS
-
based and
physical distance
-
based rankings


9

1

2

4

3


Distance

1243

2314

4123


Ranking

Difference



4

3

2

1


3 1 1 1


1 0 0 1


1 1 0 0


5 2 1 2

Total:

Events

1.
Unknown target locations?

Estimate
distance

sequences from
RSS
-
based sequences?

2.
Why ranking difference?

3.
How many nodes are faulty, given ranking differences?

RSS

2431

2341

4213

Shuo

Guo@University

of Minnesota

Sequence Estimation


Estimate
physical

distance
-
based

sequence
from
RSS
-
based sequences


Map Division: find = consisting of
all possible distance
-
based sequences


Maximum A Posterior (MAP) estimation




10

ˆ
s
ˆ
s
s
s

N
-
node


Network



N!
Possible


Sequences

s
mall subset

Given Topology

O(N
4
)

Shuo

Guo@University

of Minnesota

Map Division


Divide map into subareas identified by a unique
node sequence indicating distance information

11

1

2

distance
-
based sequence


1

2

distance
-
based sequence


1

2

Shuo

Guo@University

of Minnesota

Map Division


Divide map into subareas identified by a unique
node sequence indicating distance information

12

1

2

4

3

1423

1243

4123

2314

4312

3421

3241

2134

1 2
{,,...,}
M
V s s s

Shuo

Guo@University

of Minnesota

Sequence Estimation


Estimate
physical

distance
-
based

sequence
from
RSS
-
based sequences


Map Division: find all possible distance
-
based
sequences =


Maximum A Posterior (MAP) estimation




13

ˆ
s
ˆ
s
s
s

N
-
node


Network



N!
Possible


Sequences

subset

Shuo

Guo@University

of Minnesota

MAP Estimation (1)


Estimate
physical

distance
-
based

sequence
from
RSS
-
based sequences




14

ˆ
s
s
)
Find maximizes
Pr( | Pr( )
i
s V
i
s s s
i

V

=

Pr( )
i
A
A
s
i

:the area of subarea
:the total sensing area
i
A i
A
Shuo

Guo@University

of Minnesota

Main Idea


Find mismatch between
RSS
-
based and
physical distance
-
based rankings


15

1

2

4

3

RSS


Distance

2431

1243

2341

2314

4213

4123


Ranking

Difference



4

3

2

1


3 1 1 1


1 0 0 1


1 1 0 0


5 2 1 2

Total:

Events

1.
Unknown target locations?

Estimate distance sequences from RSS
-
based sequences?

2.
Why ranking difference?

3.
How many nodes are faulty, given ranking differences?

DONE!

Shuo

Guo@University

of Minnesota

Why ranking difference?


Average
ranking difference is a provable
indicator of possible data faults



Theorem 1
: A node is faulty if its average
ranking difference is above a bound
B

given by




N
: Total number of nodes


N
e
: Total number of faulty nodes


μ
e
: Average ranking difference of faulty nodes





16

Shuo

Guo@University

of Minnesota

Why ranking difference?


Theorem 2
: Nodes with larger average ranking
difference have higher probability of being faulty


17

Theorem 1

Theorem 2

Sorting by ranking differences
gives correct order in likelihood of
being faulty nodes


Ranking

Difference

4

3

2

1


3 1 1 1


1 0 0 1


1 1 0 0


5 2 1 2

Total:

Sort in descending order of
ranking differences:

1

3

4

2

probability of being faulty

High

Low

Shuo

Guo@University

of Minnesota

Why ranking difference?


Theorem 2
: Nodes with larger average ranking
difference have higher probability of being faulty


18

Theorem 1

Theorem 2

Sorting by ranking differences
gives correct order in likelihood of
being faulty nodes

Sort in descending order of
ranking differences:

1

3

4

2

probability of being faulty

High

Low

α
=25%

1

α
=75%

1

4

2

α

unknown??

: defective rate


Shuo

Guo@University

of Minnesota

Main Idea


Find mismatch between
RSS
-
based and
physical distance
-
based rankings


19

1

2

4

3

RSS


Distance

2431

1243

2341

2314

4213

4123


Ranking

Difference



4

3

2

1


3 1 1 1


1 0 0 1


1 1 0 0


5 2 1 2

Total:

Events

1.
Unknown target locations?

Estimate distance sequences from RSS
-
based sequences?

2.
Why ranking difference?

3.
How many nodes are faulty, given ranking differences?

DONE!

DONE!

Shuo

Guo@University

of Minnesota

Detection Algorithm


20

High

Low

p
robability of being faulty nodes

Theorem 1

( )
k
D n B

4

3

2

1

8

7

6

5

9

r
anking difference

Blacklist

Update


Check


( )
k
D n B

K

Add next node

Yes!

Stop

Shuo

Guo@University

of Minnesota

Practical Issues


Detection in noisy environments






Increases ranking differences of normal nodes



Remove nodes from blacklist if their ranking
difference is close to that of normal nodes


21

4

3

2

1

8

7

6

5

9

RSS, Noise Free

4

3

2

1

8

7

6

5

9

4

3

2

1

8

7

6

5

9

Distance
-
Based

RSS, with Noise

Shuo

Guo@University

of Minnesota

Practical Issues


Simultaneous events elimination






Detected sequence no longer matches with any
distance sequence



Remove sequences with short Longest Common
Subsequence (LCS)


22

1

2

4

3

Radio signal : sum of RSS

Shuo

Guo@University

of Minnesota

Practical Issues


Subsequence estimation







Complete RSS
-
based node sequences unavailable



Use also truncated distance
-
based subsequence in
mapping process


23

1

2

4

3

-
50dBm

-
55dBm

-
60dBm

???

Shuo

Guo@University

of Minnesota

Evaluation


Two test
-
bed experiments


Radio signal: 25 nodes recording RSS, 35m
×
35m
map, R=25m


24

29,39 and 49 events

Shuo

Guo@University

of Minnesota

19 events

49 events

Avg.

Evaluation


Two test
-
bed experiments


Radio signal: 25 nodes recording RSS, 35m
×
35m
map, R=25m


25

29,39 and 49 events

Shuo

Guo@University

of Minnesota

19 events

Evaluation


Two test
-
bed experiments


Radio signal: 25 nodes recording RSS, 35m
×
35m
map, R=25m


26

29,39 and 49 events

Shuo

Guo@University

of Minnesota

Evaluation


Two test
-
bed experiments


Radio signal: 25 nodes recording RSS, 35m
×
35m
map, R=25m


Acoustic signal: 20 nodes recording timestamp,
5m
×
6m map, 18 events



27

Shuo

Guo@University

of Minnesota

Evaluation


Simulations


100 nodes, 250m
×
250m map, 50 events, R=25m



where



28

Noise Free

With Noise

Shuo

Guo@University

of Minnesota

Summary


FIND detects faulty nodes by assuming only
monotonic sensing readings over distance


Ranking difference is a provable indicator of
possible faulty nodes


Detection algorithm finalizes blacklist given
node list ordered by ranking difference


5% false positive rate and false negative
rate can be achieved in most noisy
environments


29

Shuo

Guo@University

of Minnesota

Preliminary Experiments


30

49 sensor nodes, 49 events

EVENT 1

RSS vs. Distance

Shuo

Guo@University

of Minnesota

Preliminary Experiments


31

49 sensor nodes, 49 events

EVENT 1

EVENT 2

RSS vs. Distance

Shuo

Guo@University

of Minnesota

Preliminary Experiments


32

The monotonicity assumption is more accommodating to real
world environments than the assumption based on a more
specific model.

RSS vs. Distance

EVENT 1

EVENT 2

Average of 49 Events

Large Variance!

Y = f(x)??

Shuo

Guo@University

of Minnesota

Evaluation


Simulations


100 nodes, 250m
×
250m map, 50 events, R=25m



where



33

α

sensitivity:
α

is changed from 25% to 400% of true value

4
α

0.25
α
,0.5
α
,
α
, 2
α

Shuo

Guo@University

of Minnesota

Detection Algorithm


Given a node list in descending order
of ranking differences, find k such that
are best estimation (blacklist) for faulty nodes.


34

1 2
{,,...}
N
n n n
1 2
{,,...}
k
n n n
Theorem 1

( )
k
D n B

Theorem 2

1
Pr( is Pr is
i i
n n


f aul t y


f aul t y



Starting from , add nodes into blacklist one by one



Update , after adding a new node



Stop if no longer holds

1
n
,,
e e
N B

( )
k
D n B

Uniqueness proved!

Shuo

Guo@University

of Minnesota

MAP Estimation (2)


35

How to calculate ?

Pr( | )
s s
i
4

3

2

1

8

7

6

5

9

3

6

2

1

8

7

4

5

9

K

L

i
s
s
4

3

2

1

9

8

7

5

5

3

2

1

9

8

7

4

'
s
i
'
s
2

1

9

8

7

2

1

9

8

7

''
s
i
''
s

: defective rate

( )
''''
(1 )( ) Pr( | )
L K
s s
i
N




''
( )Pr( | )
s s
i
N



+

6

faulty

6

normal

3

4

5

faulty

5

faulty

4

faulty

Subsequence Matched, Stop!

distance
-
based

RSS
-
based

Shuo

Guo@University

of Minnesota

MAP Estimation (1)


Estimate
physical

distance
-
based

sequence
from
RSS
-
based sequences




36

ˆ
s
s
)
Find maximizes
Pr( | Pr( )
i
s V
i
s s s
i

V

=

Pr( )
i
A
A
s
i

:the area of subarea
:the total sensing area
i
A i
A
Shuo

Guo@University

of Minnesota

Map Division


Divide map into subareas identified by a unique
node sequence indicating distance information

37

1

2

4

3

1423

1243

4123

2314

4312

3421

3241

2134

1 2
{,,...,}
M
V s s s

Size of

V
= 8 << 4! = 24

ˆ
s
s
Shuo

Guo@University

of Minnesota

MAP Estimation (2)


38

How to calculate ?

Pr( | )
s s
i
4

3

2

1

8

7

6

5

9

3

6

2

1

8

7

4

5

9

K

L

i
s
s
4

3

2

1

9

8

7

5

5

3

2

1

9

8

7

4

'
s
i
'
s
2

1

9

8

7

2

1

9

8

7

''
s
i
''
s

: defective rate

( )
''''
(1 )( ) Pr( | )
L K
s s
i
N




''
( )Pr( | )
s s
i
N



+

6

faulty

6

normal

5

faulty

4

faulty

Subsequence Matched, Stop!

distance
-
based

RSS
-
based