Contents Related Work II Analysis of Data III Analysis of Query IV Target Environment I Define Query Interface V System Architecture VI
Continuous Query Processing for GeoSensor Streaming Data
Ubiquitous Computing Database Lab. Dept. of Logistics Information Technology Pusan National Univ. Il-Geun Kim June 11, 2009
2
Contents Related Work II Analysis of Data III Analysis of Query IV Target Environment I Define Query Interface V System Architecture VI
‹#›
Target Environment GeoSensor Data Stream Management System 3 location sensor Mobile Device GeoSensor DSMS Air Pollution monitoring data data data data data data data data data data data data data data data data data data data data - send result report of query - user register query - sending stream data From sensor to device - send location & sensor data
Target Environment
Feature of GeoSensor DSMS GeoSensor Location and Sensor data Feature of stream data Mobile device Process sensor data Combine location and sensor data Transfer data to GeoSensor DSMS GeoSensor DSMS User register query User receive to the GeoSensor DSMS query report from GeoSensor DSMS Processing of stream data 4
Target Environment
GeoSensor Hardware Mobile Device => PDA Location Data => GPS Sensor Data => Co2 Communication Sensor <-> Mobile Device RS-232 Bluetooth Zigbee Mobile Device <-> GeoSensor DSMS HSDPA Wi-Fi 5 Location Sensor Mobile Device GeoSensor
Analysis of Data 6 Example of data generator Device ID, Location(X,Y), Sensor(Co2), Timestamp Mobile device moves and gather data simultaneously No ID Location Sensor Timestamp 1 1 100,130 390ppm 2009/06/04 10:15:13 2 1 95,140 380ppm 2009/06/04 10:15:40 3 1 105,150 375ppm 2009/06/04 10:16:10 4 1 120,150 379ppm 2009/06/04 10:16:36 5 1 140,150 378ppm 2009/06/04 10:17:01 6 1 160,140 386ppm 2009/06/04 10:17:25 7 1 150,130 387ppm 2009/06/04 10:17:58 8 1 130,100 390ppm 2009/06/04 10:18:14 9 1 120,100 395ppm 2009/06/04 10:18:49
Analysis of Data Feature of Data(1/4) Stream Data Many mobile device can send data at the same time. Mobile device combine Location data and sensor data to the GeoSensor DSMS Data has feature of stream. GeoSensor DSMS can process stream data 7 GeoSensor DSMS … Mobile Device - sending stream data From sensor to device location sensor data data data data data data data data data data data data data data data data data data data data - send combined location & sensor data
Analysis of Data
Feature of Data(2/4) real time data sending Mobile Device has HSDPA and Wi-Fi Send real time data from mobile device to DSMS DSMS needs real time processing 8 GeoSensor DSMS
Analysis of Data
Feature of Data(3/4) Combination location and sensor data location and sensor data are received by sensor and sended to mobile device Mobile device Combine data location and sensor data GeoSensor DSMS receive Combined data 9 Location Data Sensor Data GPS Co2 Mobile Device GeoSensor DSMS Processing Combination of location and sensor data Location Data Sensor Data
Analysis of Data
Feature of Data(4/4) Contiguity location data has contiguity over time sensor data has contiguity over time Location and sensor data has contiguity 10 X Y 350 300 300 50 250 100 150 200 300 350 250 50 200 150 100 382 378 370 376 384 390 398 386 399 397 393 388
Analysis of Data
Feature of Data Stream Data Require processing stream data Real time Require real time processing Combination of location and sensor data Combine location and sensor data in the mobile device Contiguity Require contiguity data processing 11
Window Query Save at buffer received data from device Send to search data When query execute
GeoSensor DSMS Analysis of Query 12 ID Location Sensor 1 130,254 387 1 135,300 380 ID Location Sensor 2 130,254 367 2 135,300 375 ID Location Sensor 3 130,254 390 3 135,300 395 ID Location Sensor 4 130,254 378 4 135,300 371 Continuous Query Process 1 2 Insert data 3 save data select * from GeoSensor period 10 second Data ID Location Sensor 1 130,254 387 1 135,300 380 2 130,254 367 2 135,300 375 3 130,254 390 3 135,300 395 4 130,254 378 4 135,300 371 4 search data Registerd Query 5 Send Report
GeoSensor DSMS
Analysis of Query Filtering Query Device send to generated data at Report Synthesizer Report Synthesizer drop query unacceptable condition data Send acceptable data for query 13 Continuous Query Process 1 2 Insert data 3 select * from GeoSensor where ID=1 or ID=2 Registerd query Report Synthesizer Drop data ID Location Sensor 1 130,254 387 1 135,300 380 2 130,254 387 2 135,300 380 Send Report 4 ID Location Sensor 3 130,254 390 3 135,300 395 4 130,254 378 4 135,300 371 ID Location Sensor 1 130,254 387 1 135,300 380 ID Location Sensor 2 130,254 367 2 135,300 375 ID Location Sensor 3 130,254 390 3 135,300 395 ID Location Sensor 4 130,254 378 4 135,300 371
ID Location Sensor 1 130,254 387 1 135,300 380 2 130,254 367 2 135,300 375 3 130,254 390 3 135,300 395 4 130,254 378 4 135,300 371 Analysis of Query Approximate Query Save approximate generated data from device Approximate data load when query result require 14 GeoSensor DSMS Continuous Query Process 1 2 Insert data 3 save data select avg(sensor) from GeoSensor Data 4 load data Registered Query 5 Send Report ID Location Sensor 1 130,254 387 1 135,300 380 ID Location Sensor 2 130,254 367 2 135,300 375 ID Location Sensor 3 130,254 390 3 135,300 395 ID Location Sensor 4 130,254 378 4 135,300 371
Analysis of Query
Alarm Query Device send to generated data at Alarm Process Alarm Process check data and immediately generate Alarm 15 GeoSensor DSMS Continuous Query Process 1 2 Insert data 3 Report sensor data > 390 Registerd query Alarm Process Drop data ID Location Sensor 3 130,254 390 3 135,300 395 Send Alarm 4 ID Location Sensor 3 130,254 390 3 135,300 395 4 130,254 378 4 135,300 371 ID Location Sensor 1 130,254 387 1 135,300 380 ID Location Sensor 2 130,254 367 2 135,300 375 ID Location Sensor 3 130,254 390 3 135,300 395 ID Location Sensor 4 130,254 378 4 135,300 371
‹#›
Analysis of Query
Kind of query Window Filtering Approximate Alarm Filtering condition ID Sensor Timestamp Location - special operator Touches, Contain, Crosses, Overlap 16
So far we studied about analysis of query There are 4 kinds of query ‹#›
Define Query Interface
Query Type Normal query Data Filtering Device ID Sensing value Location Touches, Contain, Crosses, Overlap Timestamp Alarm query Location Touches, Contain, Crosses, Overlap Sensing Value Aggregation query Sum, Max, Min, Avg Etc. 17
There are 3 types of query ‹#›
Define Query Interface Query Interface GeoReportSpec(GeoSensor Report Spec) Report GeoReport Data GeoSensor ReportName GeoReport ReportType: Normal, Alarm SpecName Datetime geoSpec AlarmedData CalculatedData ListGeoSensor Extension - Result for Alarm (true, false) - Result for Calculation GeoSensor ID Type DateTime GPS X Y Temperature Centigrade Airflow CMH Humidity Kilogram ECG Pulse Extension - list of GeoSensor
Define Query Interface
User Interface 20 Function Description define(GeoSpecName : string, GeoSpec : spec) : void Register query using parameters. undefine(GeoSpecName : string) : Boolean Remove registered query. subscribe(GeoSpecName : string, NotificationURI : URI) : void Execute continuous query using parameters. unsubscribe(GeoSpecName : string) : void Stop executing continuous query. poll(GeoSpecName : string) : GeoReportSpec Execute one-time query using parameters. getGeoSpec(GeoSpecName : string) : GeoSpec Return a registerd GeoSpec. getGeoSpecNames() : List Return all registered SpecName.
Comments