Title: MobiQuery:
1MobiQuery A Spatiotemporal Query Service for
Mobile Users in Sensor Networks
Guoliang Xing Advisor Prof. Chenyang Lu
Collaborators Octav Chipara Chien-Liang Fok,
Sangeeta Bhattacharya Washington University in
St. Louis
2Wireless Sensor Network Applications
- Smart sensors massively distributed in
environments for sensing and control - Will enable spatially and temporally dense
environmental monitoring - Real-time monitoring and responding in critical
missions
habitat monitoring
detection tracking
wildfire monitoring
search rescue
3Motivation
- Data collection is critical for sensor-net
applications - Existing data collection approaches
- Spatiotemporal queries from mobile users not
addressed - Mobile users and moving query areas
- Stringent real-time requirement
- Fixed query areas, fixed users
- directed diffusion (Mobicom 00), TinyDB
- (OSDI 02)
- Fixed query areas, mobile users
- TTDD (Mobicom 02), SEAD (Sensys 04)
4Spatiotemporal Query in Mission-Critical
Applications
- Coordinate fireman efforts to put out wildfires
- Search and rescue missions
- Robotic motion planning in hazardous environments
- Query fresh data from surrounding sensors
periodically - report the temperature within 100m in every 2s
data can be at most 1s old.
5Problem Formulation
- Spatiotemporal query
- temperature within 100m of a moving user every
2s data can be at most 1s old. - Spatial constraints
- Moving query area range of 100m
- all and only the sensors within the query area
should respond to the query - Temporal constraints
- Query period Tp2s
- results must be delivered before end of current
period - Data freshness Tfresh1s
6Challenges
- Scarce resources
- CPU 8Mhz, 8bit
- Memory data 4KB, code 128Kb
- Radio max. 40Kbps
- Limited power supply (AA batteries)
- Long life time required
- Wireless communication is energy intensive
- Lifetime of 450 days ? 1 duty cycle
- High communication delay with low duty cycle
Mica2 Mote
7Trivial solution does not work!
- User issues a query at the beginning of each
query period - A node is active for 150ms in every 15s (1 duty
cycle) ? communication delay is 0 14.85s - Many nodes cannot be woken up and respond
8MobiQuery Approach
- Motion prediction
- Calculate future pickup points where the user
expects a query result, based on a user motion
profile - Prefetching
- Send prefetch messages to future pickup points
ahead of time - Query dissemination
- Forewarn sleeping nodes and create a routing tree
- Data collection
- Nodes wake up in time and send data to user
through the tree
Uninvolved nodes
Collector node
Active nodes
Forewarned nodes
Results
Routing tree
9Generation of Motion Profiles
- Motion prediction
- Predict future user path based on movement
history - Example predict the direction and speed based on
two location readings from GPS - Motion profile available after actual movement
- Motion planning
- Robots plan their paths in advance based on map
- Motion profile available before actual movement
10Greedy Prefetching
Uninvolved nodes
Collector node
Active nodes
Forewarned nodes
Routing tree
- Send a prefetch msg to future pickup points ASAP
- Many routing trees set up simultaneously
- Prediction to pickup points far away is likely
wrong!
11Just-in-time (JIT) Prefetching
Uninvolved nodes
Collector node
Active nodes
Forewarned nodes
Routing tree
- Send a prefetch msg to a future pickup point at
the right time - Only a few trees being set up simultaneously
- Reduce the network contention storage cost
- More robust to user motion changes
12Analysis I Prefetch Forwarding Time
When is the latest time to forward a prefetch
message to the next pickup point to guarantee the
next query deadline to be met?
Tcollect
Tdissem
Ttravel
Tsleep
TtravelltTp, Tcollect, TdissemltTfresh ? Kth
collector node must forward before KTp Tsleep
2Tfresh
13Analysis II Network Contention
- The setup processes of two trees interfere with
each other if they overlap both spatially and
temporally - Greedy prefetching causes higher contention if
- user speed lt V (2Rc4Rq)/(TsleepTfresh)
- Examples
- When Rc50m, Rq150m, Tsleep9s, Tfresh3s, V
131mph - When vuser4m/s, Tp5s 4 interfering trees for
JIT prefetching, and 35 for greedy prefetching
14Performance under Accurate Motion Profile
- No-prefetching (NP) user issues a query at the
beginning of each query period
Success ratio ratio of the num of queries that
meet deadlines and have data fidelity above 95,
to the total num of queries
15Performance under Imperfect Motion Profile
- Mobiquery is robust to
- Frequent motion changes
- Delay in motion prediction
- Location errors
- Over 85 of queries succeed when 1) the user
changes his direction speed every 70s and 2)
location error is 10m, 3) queries a 150m area
every 2s, wakeup delay is 9s
16Conclusions
- A spatiotemporal query service
- Meet stringent spatiotemporal constraints through
just-in-time prefetching - Can handle extreme low duty cycles
- Can handle imperfect motion prediction schemes
- Analysis to practical issues
- JIT prefetching incurs much lower network
contention, especially when users move slowly - JIT prefetching has low network storage