33
Practical issues of Practical issues of Sensor Web implementation Sensor Web implementation and gridification and gridification Kussul N., Korbakov M., Kravchenko O.

Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Embed Size (px)

Citation preview

Page 1: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Practical issues of Sensor Web Practical issues of Sensor Web implementation and implementation and gridificationgridification

Kussul N., Korbakov M., Kravchenko O.

Page 2: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

OutlookOutlook

• Sensor Web: overview

• Test case: floodings

• SensorML: experience

• Sensor Observation Service: experience

• Sensor Web: gridification

• Our plans

Page 3: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Web: the purposeSensor Web: the purpose

• Integration of heterogeneous sensors into the information infrastructure

• Sensors discovery and data access

• Composition of dataflows between system components

• Events triggering by sensors conditions

Page 4: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

OGC O&M Observations & Measurements Approved

SensorML Sensor Model Language Approved

TransducerML Transducer Model Language Approved

OGC SOS Sensor Observations Service Approved

OGC SPS Sensor Planning Service Approved

OGC SAS Sensor Alert Service In progress

OGC WNS Web Notification Services In progress

OpenGIS StandardsOpenGIS Standards

• SW Enablement working group at OGC have developed a number of standards governing different aspects of Sensor Web

Page 5: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Test CaseTest Case

• The task under study is flooding in different regions of world (requested by Red Cross )

• Particular test case is floodings in Mozambique

Page 6: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Test case: data flowTest case: data flow

Internet

RSGSESA LAADS

Data Storage

Envisat, ERS-2 Radarsat MODIS

USGS EarthExplorer

Landsat

RSGS Grid

Envisat/ASAR WSM&GM

Processing subsystem

Optical-based floodextent extraction

SAR-based flood extentextraction

Water bodiescartography

Visualization subsystem

UMN MapServerWeb-server/OpenLayers

Internet

ESA G-POD

UA Space Grid

InterGrid

Users

EUMETCastMSG, MetOp

Data integration

Page 7: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Test Case: data sourcesTest Case: data sources

• ASAR

• MODIS

• MERIS

• LandSat

• DEM

Page 8: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Weather model

SOS

SOS

SPS

Hydrologicalmodel

SOS

Sim

ulat

ion

data

Sim

ulat

ion

data

Order

SOS

Weatherstation

SOS

Hydrologicalstation

Mea

sure

men

ts

Mea

sure

men

ts

SAS

Test Case: SW perspectiveTest Case: SW perspective

Page 9: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Test Case: MozambiqueTest Case: Mozambique

http://floods.ikd.kiev.ua

Page 10: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Test Case: MozambiqueTest Case: Mozambique

Page 11: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

SensorMLSensorML

• Sensor modeling language is the cornerstone of all SW services

• It provides comprehensive description of sensor parameters and capabilities

• It can be used for describing different kind of sensors:– Stationary or dynamic– Remote or in-situ– Physical measurements or simulations

Page 12: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

SensorML: exampleSensorML: example

..............<inputs> <InputList> <input name="ambiantTemperature"> <swe:Quantity definition= "urn:ogc:def:phenomenon:temperature"/> </input> <input name="atmosphericPressure"> <swe:Quantity definition= "urn:ogc:def:phenomenon:pressure"/> </input> <input name="windSpeed"> <swe:Quantity definition= "urn:ogc:def:phenomenon:windSpeed"/> </input></InputList></inputs>..............

.............<outputs> <OutputList> <output name="weatherMeasurements"> <swe:DataGroup> <swe:component name="time"> <swe:Time definition="urn:ogc:def:phenomenon:time“ uom="urn:ogc:def:unit:iso8601"/> </swe:component> <swe:component name="temperature"> <swe:Quantitydefinition="urn:ogc:def:phenomenon:temperature uom="urn:ogc:def:unit:celsius"/> </swe:component> <swe:component name="barometricPressure"> <swe:Quantity definition="urn:ogc:def:phenomenon:pressure“ uom="urn:ogc:def:unit:bar" scale="1e-3"/> </swe:component> <swe:component name="windSpeed"> <swe:Quantity definition="urn:ogc:def:phenomenon:windSpeed“ uom="urn:ogc:def:unit:meterPerSecond"/> </swe:component> </swe:DataGroup> </output> </OutputList></outputs>.............

Page 13: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

SensorML: WRF modelSensorML: WRF model

• Modeling and simulation are very important parts of environmental monitoring

• Sensor Web infrastructure should be able to integrate modeling data in convenient way

• We have tried to describe weather modeling process using WRF numerical model in terms of SensorML

Page 14: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

An example of single model input in SensorML:

<sml:input name="QVAPOR"> <swe:DataArray definition="urn:ogc:def:phenomenon:time"> <swe:elementCount> <swe:Count definition="urn:ogc:def:property:OGC:numberOfPixels"><swe:value>1</swe:value></swe:Count> </swe:elementCount> <swe:elementType name=""> <swe:DataArray definition="urn:ogc:def:phenomenon:altitude"> <swe:elementCount> <swe:Count definition="urn:ogc:def:property:OGC:numberOfPixels"><swe:value>30</swe:value></swe:Count> </swe:elementCount> <swe:elementType name=""> <swe:DataArray definition="urn:ogc:def:phenomenon:latitude"> <swe:elementCount> <swe:Count definition="urn:ogc:def:property:OGC:numberOfPixels"><swe:value>202</swe:value></swe:Count> </swe:elementCount> <swe:elementType name=""> <swe:DataArray definition="urn:ogc:def:phenomenon:longtitude"> <swe:elementCount> <swe:Count definition="urn:ogc:def:property:OGC:numberOfPixels"><swe:value>219</swe:value></swe:Count> </swe:elementCount> <swe:elementType name=""> <swe:Quantity definition="urn:ogc:def:phenomenon:QVAPOR"><swe:uom code="kg_kg-1"/></swe:Quantity> </swe:elementType> </swe:DataArray> </swe:elementType> </swe:DataArray> </swe:elementType> </swe:DataArray> </swe:elementType> </swe:DataArray></sml:input>

SensorML: WRF modelSensorML: WRF model

Axis descriptionsAxis descriptions

Value description

Page 15: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

SensorML: WRF modelSensorML: WRF model

• There are nearly 50 inputs and 20 outputs for basic WRF configuration

• Each of them requires quite significant amount of XML code to be properly described

• It would be great if next revision of SensorML will include some elements for simpler description of multidimensional data

• Another negative issue is inconsistency between SML specification, published XML schemas and educational materials

Page 16: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• We have studied two possible implementations of Sensor Observation Service (SOS) for serving temperature sensors data

• Implementations under study were:– UMN Mapserver v5 (http://mapserver.gis.umn.edu/)– 52North SOS (http://52north.org/)

• The conclusion of study follows: there isn’t (yet) really good and reliable solution for serving data through SOS protocol

• However for some cases 52North’s implementation provides good experience

Page 17: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• UMN Mapserver (as SOS server)– Pros:

• Very good and reliable abstraction for different data sources (raster files, spatial databases, WFS, etc)

• Simple application model (CGI executable)• Wide set of features beside SOS• Open software

– Cons:• SOS support is declared but far from being working

implementation• Poor documentation on SOS topic• Strange plans for future development (automatic

SensorML generation)

Page 18: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• 52North SOS– Pros:

• SOS implementation is stable and complete• Platform-independent (Java-based)• A part of wider SW implementations stack (SPS, SAS)• Open software• Source code is clean and easily reusable

– Cons:• No data abstraction: the only data source is relational

database of specific structure• Database structure is far from optimal (strings as primary

keys, missed indexes, etc)• Complex application model (Java web application)

Page 19: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• We have used 52North implementation for building a testbed SOS server:– http://web.ikd.kiev.ua:8080/52nsos/sos

• Server is providing data of temperature sensors over Ukraine and South Africa region

• Data comes from PostGIS database with some tweaks to make is compatible with 52North database structure (VIEWS, index tables, etc)

• Performance is quite good for our DB. Yet, for other DBs such adaptations could lead to unacceptable drops in performance

Page 20: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• The database accessed through SOS contains more than 2 millions records

• Served by PostgreSQL with PostGIS extensions• We have used a number of VIEWS and stored

procedures to adapt it to 52North• Queries are complex:

SELECT observations."time" AS time_stamp, "procedure".procedure_id, feature_of_interest.feature_of_interest_id, phenomenon.phenomenon_id, offering.offering_id, '' AS text_value, observations.t AS numeric_value, '' AS mime_type, observations.oid AS observation_id FROM observations, "procedure", proc_foi, feature_of_interest, proc_off, offering_strings offering, foi_off, phenomenon, proc_phen, phen_off WHERE "procedure".procedure_id::text = proc_foi.procedure_id::text AND proc_foi.feature_of_interest_id::text = feature_of_interest.feature_of_interest_id AND "procedure".procedure_id::text = proc_off.procedure_id::text AND proc_off.offering_id::text = offering.offering_id::text AND foi_off.offering_id::text = offering.offering_id::text AND foi_off.feature_of_interest_id::text = feature_of_interest.feature_of_interest_id AND proc_phen.procedure_id::text = "procedure".procedure_id::text AND proc_phen.phenomenon_id::text = phenomenon.phenomenon_id::text AND phen_off.phenomenon_id::text = phenomenon.phenomenon_id::text AND phen_off.offering_id::text = offering.offering_id::text AND observations.wmoid::text = feature_of_interest.feature_of_interest_id;

Page 21: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• Despite of complex queries and large datasets SOS service shows linear scalability with respect to query depth:

0

200

400

600

800

1000

1200

1400

1600

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Months

ms

Page 22: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

Page 23: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• Example of single SOS measurement...

<om:Measurement gml:id="o255136"> <om:samplingTime> <gml:TimeInstant xsi:type="gml:TimeInstantType"> <gml:timePosition>2005-04-14T04:00:00+04</gml:timePosition> </gml:TimeInstant> </om:samplingTime> <om:procedure xlink:href="urn:ogc:object:feature:Sensor:WMO:33506"/> <om:observedProperty xlink:href="urn:ogc:def:phenomenon:OGC:1.0.30:temperature"/> <om:featureOfInterest> <sa:Station gml:id="33506"> <gml:name>WMO33506</gml:name> <sa:sampledFeature xlink:href=""/> <sa:position> <gml:Point> <gml:pos srsName="urn:ogc:crs:epsg:4326">34.55 49.6</gml:pos> </gml:Point> </sa:position> </sa:Station> </om:featureOfInterest> <om:result uom="celsius">10.9</om:result> </om:Measurement>

Page 24: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Sensor Observation ServiceSensor Observation Service

• ... and the whole time serie of observations

<om:result>2005-03-14T21:00:00+03,33506,-5@@2005-03-15T00:00:00+03,33506,-5.2@@2005-03-15T03:00:00+03,33506,-5.5@@2005-03-15T06:00:00+03,33506,-4.6@@2005-03-15T09:00:00+03,33506,-2.2@@2005-03-15T12:00:00+03,33506,1.7@@2005-03-15T15:00:00+03,33506,1.7@@2005-03-15T18:00:00+03,33506,2.4@@2005-03-15T21:00:00+03,33506,-0.7@@2005-03-16T00:00:00+03,33506,-1.4@@2005-03-16T03:00:00+03,33506,-1.1@@2005-03-16T06:00:00+03,33506,-1.1@@2005-03-16T09:00:00+03,33506,-1.3@@2005-03-16T12:00:00+03,33506,0.5@@2005-03-16T15:00:00+03,33506,1.7@@2005-03-16T18:00:00+03,33506,1.5@@</om:result>

Page 25: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Gridification: rationaleGridification: rationale

• Sensor Web services like SOS, SPS and SAS can benefit from integration with Grid platform like Globus Toolkit

• Advantages includes:– Convenient way for implementation of notifications

and event triggering– Sensors discovery through Index Service– High-level access to XML description– Reliable data transfer for large datasets– Enforcement of data and services access policies

Page 26: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Gridification: implementationGridification: implementation

• We have developed a testbed SOS service using the Globus Toolkit platform

• For now, service works as proxy translating and redirecting user request to usual SOS-server

Intranet

SOS Server DatabaseGrid Server/SOS Service

Page 27: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Gridification: implementationGridification: implementation

• We have developed a testbed SOS service using the Globus Toolkit platform

• For now, service works as proxy translating and redirecting user request to usual SOS-server

• Next version should have in-service implementation of SOS-server functionality

Intranet

SOS Server DatabaseGrid Server/SOS Service

Page 28: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Gridification: problemsGridification: problems

• The main problem of implementation of OGC Grid service lies in complexity of XML schema used

• According to OGC SOAP Interoperability Experiment, none of available SOAP binding tools were able to parse OGC schemas completely (year 2003)

• Situation haven’t improved significantly till now

• The main problem of complexity is GML data types

Page 29: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Gridification: problemsGridification: problems

• This problems could be solved by using custom serializers for services XML data or by discarding high-level access to XML data in service implementation

• Custom serialization is complex in implementation and debugging

• Discarding high-level OO access to XML is applicable for services acting like proxies to other XML-generating facilities

• Let’s hope that situation will improve from both sides

Page 30: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Gridification: eventsGridification: events

• GT4 middleware provides Trigger Service that can be used for triggering events basing specific conditions

• We have implemented additional request to SOS Grid service that registers specific observation for periodic update and exports it

• After registering observation user can pass it to the Trigger Service together with specific condition (in form of XPath expression) and an action to be fired

Page 31: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Our plansOur plans

Our future works include:

• Implementation of Mozambique test case in terms of Sensor Web

• To participate in IC "Space and Major Disasters“ with architectural proposals

• To provide stable Grid-based implementation of Sensor Web services

• To collaborate with International Red Cross organization within it’s tasks

Page 32: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Our plans: Red Cross tasksOur plans: Red Cross tasks

ThemeTheme--Based Flood Product Generation for I FRCBased Flood Product Generation for I FRC1

From portal select desired theme(s) and area of interest

Wizard picks appropriate workflow for desired result

Wizard

Mozambique

Disaster Management Information System (DMIS)

Workflows

Estimated rainfall accumulation and flood prediction model

Flood Model

Selected workflow automatically activates needed assets and models

Baseline water level, flood waters and predicted flooding

Page 33: Practical issues of Sensor Web implementation and gridification Kussul N., Korbakov M., Kravchenko O

Thank you!