FIND: Faulty Node Detection for Wireless Sensor Networks Shuo Guo, Ziguo Zhong and Tian He University of Minnesota, Twin Cities
Shuo 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 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 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 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 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 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 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 physical distance-based sequence: dBm -55dBm -60dBm -65dBm RSS-based node sequence: 1243 Node 1’s ranking in 1243 is Node 1’s ranking in 2413 is 3 Ranking Difference -62dBm RSS: Received Signal Strength
Shuo of Minnesota Main Idea Find mismatch between RSS-based and physical distance-based rankings Distance Ranking Difference 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
Shuo 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 N-node Network N! Possible Sequences small subset Given Topology O(N 4 )
Shuo of Minnesota Map Division Divide map into subareas identified by a unique node sequence indicating distance information distance-based sequence
Shuo of Minnesota Map Division Divide map into subareas identified by a unique node sequence indicating distance information
Shuo 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 N-node Network N! Possible Sequences subset
Shuo of Minnesota MAP Estimation (1) Estimate physical distance-based sequence from RSS-based sequences 14 V =
Shuo of Minnesota Main Idea Find mismatch between RSS-based and physical distance-based rankings RSS Distance Ranking Difference 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 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 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 Total: Sort in descending order of ranking differences: probability of being faulty High Low
Shuo 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: probability of being faulty High Low α=25% 1 α=75% α unknown?? : defective rate
Shuo of Minnesota Main Idea Find mismatch between RSS-based and physical distance-based rankings RSS Distance Ranking Difference 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 of Minnesota Detection Algorithm 20 High Low probability of being faulty nodes Theorem ranking difference Blacklist UpdateCheck K Add next node Yes! No! Stop
Shuo 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 RSS, Noise Free Distance-Based RSS, with Noise
Shuo of Minnesota Practical Issues Simultaneous events elimination Detected sequence no longer matches with any distance sequence Remove sequences with short Longest Common Subsequence (LCS) Radio signal : sum of RSS
Shuo of Minnesota Practical Issues Subsequence estimation Complete RSS-based node sequences unavailable Use also truncated distance-based subsequence in mapping process dBm-55dBm -60dBm???
Shuo 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 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 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 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 of Minnesota Evaluation Simulations 100 nodes, 250m×250m map, 50 events, R=25m where 28 Noise Free With Noise
Shuo 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 of Minnesota Preliminary Experiments sensor nodes, 49 events EVENT 1 RSS vs. Distance
Shuo of Minnesota Preliminary Experiments sensor nodes, 49 events EVENT 1 EVENT 2 RSS vs. Distance
Shuo 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 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α4α 0.25α,0.5α, α, 2α
Shuo 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 Theorem 1 Theorem 2 Starting from, add nodes into blacklist one by one Update, after adding a new node Stop if no longer holds Uniqueness proved!
Shuo of Minnesota MAP Estimation (2) 35 How to calculate ? K L : defective rate … + 6 faulty 6 normal faulty 5 4 Subsequence Matched, Stop! distance-based RSS-based
Shuo of Minnesota MAP Estimation (1) Estimate physical distance-based sequence from RSS-based sequences 36 V =
Shuo of Minnesota Map Division Divide map into subareas identified by a unique node sequence indicating distance information Size of V = 8 << 4! = 24
Shuo of Minnesota MAP Estimation (2) 38 How to calculate ? K L : defective rate … + 6 faulty 6 normal 5 faulty 4 Subsequence Matched, Stop! distance-based RSS-based