Self-Organizing Search in the Web of Things Kay Römer, University of Lübeck
Networked Embedded Sensing Research Protocols Adaptation to interference Programming Models Role assignment Services Content-based Sensor Search Minimally-Invasive Management Systems Body sensor networks
Motivation Camera Accelerometer Mobile phones equipped GPS Ambient Light Bluetooth Microphone with sensors and connected GSM Magnetometer to the Internet WLAN Proximity Sensors published on the Web: state of the real world available in real-time Search the real world by Search the real world by its current state ! its current state ! 2
3 Mensa empty quiet A Web of Real-World Places tation hectic full S upermarket quiet full S
Web of Things Web presence of things, people, and places with real-time state information Web of real-world entities, not Web of sensors High-level states, not raw sensor data Searching the Web of Things Search for real-world entities: places, people, things, … by their current state: empty, hot, broken, … in real-time 4
Searching the Real World: Examples Quiet picnic places at waterfront? Route through city avoiding traffic jams? Which rental station has bicycles available? Where are many people who share my interests? Which trains from A to B are not crowded? Where to enter train to get free seat? Supermarkets with short waiting queues? 5
Problem: Content-based Sensor Search Find sensors reading given state in real time Potentially huge, distributed set of candidate sensors More state updates than queries, push not a good idea! Sensor output is highly dynamic Indexing sensor output not a good idea! We need only a limited number of results at a time Heuristics to select good candidates! 6
Approach: Sensor Ranking Sensors create prediction model using past readings Indexing Time Prediction models are published on the Web Search engine periodically indexes prediction models Prediction models are used to rank candidate sensors Query Time Highest ranking sensors are read first Goal: Minimize the number of read sensors 7
System Model Sensor maps discrete time to a finite discrete set of states: s : T V Sensor output time series: s( t i ) = v i Sensor Output ... V 1 V 2 V 3 V 4 ... V present ... t 1 t 2 t 3 t 4 t present ... Time 8
System Model (Continued) Prediction model maps query time and query value to a probability estimate: P T V : 0 , 1 P( t , v ): Probability that s( t ) = v search for v model construction Sensor ... V 1 V 2 V 3 V 4 ... V c ... ? Output ... t 1 t 2 t 3 t 4 ... t C ... t Time time window TW forecasting horizon 9
Query Resolution Example: Quiet places at waterfront 1. Filter static (waterfront, occupancy) 2. Predict (quiet) 3. Rank 4. Read 5. Return .7 .1 .9 .5 .6 .2 .2
Ranking Metrics Normalized overhead for reading non-matching sensors Ranking error e(t,v) Number of non-matching sensors above last matching sensor Rank of last matching sensor Top-m ranking error e top (t,v,m) Dito, but only first m sensors considered 15
Ranking Metrics: Examples Suboptimal ranking: Optimal ranking: S1 S1 • e = 4/8 • e = 0/6 S2 S2 • e top = 2/5 • e top = 0/5 S3 S3 S4 S4 m m S5 S5 Last match S6 S6 Sensors that S7 S7 match the query Last match S8 S8 Sensors that do not match the S9 S9 query 16
Prediction Models Focus on people-centric sensors Tend to show periodic behaviour Requirements Accurate predictions for forecasting horizons that match indexing frequencies (days - weeks) Deal with imperfect periodic behavior 17
Considered Prediction Models Single-period prediction model (SPPM) Assumes single dominant period of known length (e.g., 1 week) Multi-period prediction model (MPPM) Assumes multiple periodic processes of unknown length (e.g., 1 week, 4 weeks) Select appropriate models at runtime 18
Single-Period Prediction Model (SPPM) Assumption: Single dominant period with length p p p p p Sensor V 1 V 1 V 2 V 4 V 4 ... ... ... ? V 3 Output t C t 1 t 3 t 4 ... t t 2 ... Time time window TW P(t,green) = 2/4 P(t,red) = 1/4 19
Number of consecutive appearances of symbol α in period p at offset l Max. possible occurences Multi-Period Prediction Model (MPPM) p l Periodic symbol ( , , , ) α : symbol ; p : period ; l : offset ; : support Example: α =blue, p =2, l =1 p =2 p =2 p =2 l =1 Sensor Output ps blue ,2,1,2 3 21
Inferring Prediction Estimates Query for value v=b at time t=6 1. Filter periodic symbols Same value: = v Same phase: l t mod p 2. P(v,t) = max v = b ? p l b 2 0 0.7 g 3 1 0.1 b 4 2 0.9 0 1 2 3 4 5 6 23
Adjustment Process Faulty/malicious sensors, inaccurate S1 predictions may result in persistent S2 misranking S3 Individual ranking error for each sensor S4 S8 ranked to low: increase prediction value S5 S7 ranked to high: decrease prediction value S6 Idea: adjustment term for each sensor S7 Updated after each query using ranking error S8 E7 = -2/9 E8 = +6/9 S9 24
Adjustment Process: Feedback Loop C3 A1 + S1 S1 S3 S1 P1 P3 + + E3 E1 C3 A2 + S2 S2 P2 P3 S3 S2 + + E2 E3 C3 A3 + S3 S3 S3 S3 P3 P3 + + E3 E3 C3 A4 + S4 S4 P4 P3 + + E4 E3 S4 S3 C3 A5 + S5 S5 S3 S5 P3 P5 + + E3 E5 25 25
Evaluation Simulation of a realistic search engine Periodic rebuild and indexing of models (1 week) Periodic queries for possible values Measure average ranking error Prediction models: Random, SPPM, MPPM With / without adjustment 26
Evaluation: Data Sets MERL motion detector dataset 50 PIR sensors in office building PIR output mapped to “ free” and “ occupied” With and without a “faulty” sensor ETH room reservation system 7 “sensors” Room occupancy: “ free ” or “ occupied ” With and without “synthethic” multiperiod sensor Bicing data set (in progress) 350 bicycle rental stations in Barcelona Number of available bicycles: “no”, “few”, “many”
Average Ranking Error: MERL Average Ranking Error P P D D MPPM SPPM+AP SPPM+AP MPPM M SPPM A A N N P + A + A P M M R R S P P P P M M 30
Average Ranking Error vs. Top m Average Ranking Error x5.5 x10 #Top Entries 31
Summary Ubiquitous sensors connected to Internet Search for real-world entities by current state Sensor Ranking, a primitive for content-based sensor search utilizing prediction models Adjustment process to alleviate persistent inaccurate rankings Promising results on real-world data sets Ongoing work Improved ranking based on correlations Building a search engine 32
Ads Act-Control-Move: Beyond networked Sensors Summer School, Schloss Dagstuhl, August 15-21, 2010 www.cooperating-objects.eu/school IEEE SUTC (Sensor Networks, Ubiquitous & Trustworthy Computing) Conference, Newport Beach, California, June 7-9, 2010 sutc2010.eecs.uci.eu SESENA (Software Engineering for Sensor Nets) ICSE Workshop, CapeTown, South Africa, May 3, 2010 www.sesena.info
Recommend
More recommend