© 2006 Open Grid Forum INFOD Use Case Scenario OGF21, Seattle, WA, USA
© 2006 Open Grid Forum 2 Status Steve Fisher (RAL) INFOD prototype First Responder - Use Case Scenario INFOD Registry Implementation Issues of Concern Demo Extended specification Dieter Gawlick (Oracle) Overview
© 2006 Open Grid Forum 3 An Information Dissemination Scenario ABC Chemicals Fire Station Hospital Police INFOD Registry Service County Office Registers as a Publisher Registers as a Consumer Registers as a Subscriber, defines subscription identifying consumers and describes message format. Registers as a Subscriber and defines subscription identifying dynamic consumers Service Providers Notification Message differs based on the entries created and the subscriptions Notification Message Registers as a Subscriber, defines subscription based on client necessities. Matches Entities based on entries created Registers as a Consumer Notification Message Weather Station Registers as a Publisher Notification Message
© 2006 Open Grid Forum 4 An Information Dissemination Scenario ABC Chemicals Fire Station Hospital Police Alert Msg: Category: Fire, Chemical Severity: Extreme Chemical Types: XXX Alert Msg: Category: Fire Urgency: Immediate Action: Stop Alert Msg: Category: Fire Urgency: Immediate Action: Detour Alert Msg: Category: Fire Urgency: Expected Action: Evacuate INFOD Registry Service Alert Msg: Category: Fire, Chemical Severity: Extreme, (Minor,Moderate) Chemical Types: XXX Sends Alert message County Office Alert Msg: Category: Fire, Chemical Service Providers Alert Msg: Category: Fire, Chemical Urgency: Immediate Alert Msg: Category: Fire Urgency: Immediate Action: Detour Alert Msg: Category: Chemical Fire Urgency: Immediate Action: Evacuate Weather Station Alert Msg: Category: Fire, Chemical Urgency: Immediate Notification Message
© 2006 Open Grid Forum 5 First Responder Use Case Scenario Weather Station Sensor Fusion Center Chemical Sensor 1 INFOD Registry Publisher First Responder 1 First Responder 2 APD 2000 Chemical Sensor 2 Alerting System Plume Analysis Publisher Consumer Subscriber/Consumer/Publisher INFOD Message ExchangeInformation Notification E911 Center Subscriber/Consumer
© 2006 Open Grid Forum 6 Subscription defines the event of interest at the publisher, the message to be generated in response to an event and helps identify consumers dynamically. Entries categorize real world entities and define constraints identifying other entities of interest Data sources associate publishers to data vocabularies; the metadata of the publisher. Subscribers and Consumers are modeled as independent entities. Subscriptions are created by a subscribers, conforming to a subset of consumer. Structured Information Model, user communities are identified by property and data vocabularies. INFOD Resources Consumer Subscription Data Vocabulary Data Source Entry Property Vocabulary Instance Creation of resource Notification (by INFOD registry) Reference (EPR) Notification (by Publishers) INFOD Registry EntryResource–not an entry ConsumerPublisher Subscriber Property Vocabulary Publisher Entry Subscriber Entry Consumer Entry Vocabulary instances characterize the entries, on which constraints are evaluated in the registry.
© 2006 Open Grid Forum 7 INFOD Registry Implementation Identifying and Registering Vocabularies Property Vocabulary Data Vocabulary Create Entries Publisher Subscriber Consumer Define Property Vocabulary Instances Publisher’s create Data Source entries Subscriber’s define Subscriptions Matching Entries Registry Notification Publisher to Consumer Notification
© 2006 Open Grid Forum 8 Property Vocabulary Property Vocabulary PredicatesComments Sensor IdentificationUnique id for sensor Sensor DescriptionDetails on the sensor LocationPhysical location of sensor Contact InformationPerson to be contacted Associated OrganizationThe owner of the sensor Sensor Property Vocabulary Property Vocabulary PredicatesComments IdentificationIdentifier for the Organization NameName of the Organization DescriptionText Description LocationPhysical location information Contact InformationPerson to me contacted Community User Property Vocabulary Vocabulary predicates are an abstraction from NIEM (National Information Exchange Model)
© 2006 Open Grid Forum 9 Registering Property Vocabulary SensorPropertyVocabulary Vocabulary for sensor and alerting systems Request Message Response Message
© 2006 Open Grid Forum 10 Data Vocabulary Data Vocabulary PredicatesComments ActivityDescription between time period EventDescription at a specific time SubstanceDescription of a chemical material StatusActual, Exercise, System, Test Message TypeAlert, Update, Cancel, Ack, Error ScopePublic, Restricted, Private, UrgencyImmediate, Expected, Future, Past Response TypeShelter, Evacuate, Prepare, Execute, Monitor, Assess, None SeverityExtreme, Severe, Moderate, Minor CertaintyVery likely, Likely, Possible, Unlikely CategoryGeo, Met, Safety, Security, Rescue, Fire, Health, Env, Transport, Infra, CBRNE, Other Sensor/Alert Data Vocabulary (NIEM and CAP - Common Alerting Protocol) Data Vocabulary PredicatesComments LocationWeather information at a location TimeInformation at a specific date & time TemperatureTemperature unit as an attribute Wind SpeedWith units as an attribute Wind DirectionAs an angular measure HumidityAs a relative or specific value Weather Sensor Data Vocabulary ( DWML –Digital Weather Markup Language)
© 2006 Open Grid Forum 11 Registering Data Vocabulary WeatherInformationDataVocabulary Weather information in DWML ….. …… Request Message Response Message
© 2006 Open Grid Forum 12 Chemical Sensor - Publisher Vocabularies Registered with INFOD registry Chemical Sensor as a Publisher Publisher Entry Property Vocabulary Instance Data Source Entry Chemical Sensor with multiple sensors (producers) Data sources referenced by the publisher entry Same external EPR, different INFOD EPR Property vocabulary instances are created with reference to data source entry’s Chemical Sensor 1 SENSOR Prop. Vocab. USER Prop. Vocab. SENSOR / Alert Data. Vocab INFOD Registry Weather Data. Vocab Publisher Entry 1 Prop. Vocab. Inst. Data Source Chemical Sensor 2 Publisher Entry 2 Prop. Vocab. Inst.Data Source Sensor 4 Sensor 5 Data Source Sensor 3 Prop. Vocab. Inst.
© 2006 Open Grid Forum 13 Sensor 5 Weather Station - Publisher Weather station returns information on request specifying a location in latitude and longitude coordinates. Weather station as a publisher Publisher Entry Property Vocabulary Instance Data Source Entry SENSOR Prop. Vocab. USER Prop. Vocab. SENSOR / Alert Data. Vocab INFOD Registry Weather Data. Vocab Prop. Vocab. Inst. Chemical Sensor 2 Publisher Entry 2 Prop. Vocab. Inst. Data Source Sensor 4 Sensor 3 Chemical Sensor 1 Publisher Entry Data Source Weather Station Publisher Entry Prop. Vocab. Inst. Data Source
© 2006 Open Grid Forum 14 Alerting System – Consumer/Subscriber/Publisher As a Consumer of information from the sensors Consumer Entry Property Vocabulary Instance As a Subscriber for sensor information Subscriber Entry Property Vocabulary Instance Creates subscription for data from sensors As a Publisher of Alert messages Publisher Entry Property Vocabulary Instance Data Source Entry Sensor 5 SENSOR Prop. Vocab. USER Prop. Vocab. SENSOR / Alert Data. Vocab INFOD Registry Weather Data. Vocab Prop. Vocab. Inst. Chemical Sensor 2 Publisher Entry 2 Prop. Vocab. Inst. Data Source Sensor 4 Sensor 3 Chemical Sensor 1 Publisher Entry 1 Data Source Weather Station Alerting System Plume Analysis Consumer Entry Prop. Vocab. Inst. Subscriber Entry Publisher Entry Data Source Subscription Prop. Vocab. Inst.
© 2006 Open Grid Forum 15 First Responder - Consumer First Responder acts based on alert messages received from the Plume Analysis System Consumer Entry Property Vocabulary Instance Sensor 5 SENSOR Prop. Vocab. USER Prop. Vocab. SENSOR / Alert Data. Vocab INFOD Registry Weather Data. Vocab Prop. Vocab. Inst. Chemical Sensor 2 Publisher Entry 2 Prop. Vocab. Inst. Data Source Sensor 4 Sensor 3 Chemical Sensor 1 Publisher Entry 1 Data Source Weather Station Alerting System Plume Analysis Consumer Entry Subscriber Entry First Responder Consumer Entry Prop. Vocab. Inst. Subscription First Responder Consumer Entry Prop. Vocab. Inst.
© 2006 Open Grid Forum 16 E911 Center - Consumer/Subscriber E911 center as a consumer of alert messages Consumer Entry Property Vocabulary Instance E911 center as a subscriber defining events and notification messages to consumers (first responders) Subscriber Entry Property Vocabulary Instance Sensor 5 SENSOR Prop. Vocab. USER Prop. Vocab. SENSOR / Alert Data. Vocab INFOD Registry Weather Data. Vocab Prop. Vocab. Inst. Chemical Sensor 2 Publisher Entry 2 Prop. Vocab. Inst. Data Source Sensor 4 Sensor 3 Chemical Sensor 1 Publisher Entry 1 Data Source Weather Station Alerting System Plume Analysis Consumer Entry Subscriber Entry Subscription Consumer Entry Subscription First Responder E911 Center Consumer Entry Prop. Vocab. Inst. Subscriber Entry Prop. Vocab. Inst. Subscription
© 2006 Open Grid Forum 17 Information Dissemination Model Subscription Data Vocabulary Data Source Entry Property Vocabulary Instance Creation of resource Notification (by INFOD registry) Reference (EPR) Notification (by Publishers) INFOD Registry EntryResource–not an entry Property Vocabulary Publisher Entry Subscriber Entry Consumer Entry Sensor 5 Chemical Sensor 2 Sensor 4 Sensor 3 Chemical Sensor 1 Weather Station Alerting System Plume Analysis First Responder E911 Center
© 2006 Open Grid Forum 18 Subscription xsd:string ? xsd:string ? wsa:EndPointReferenceType xsd:anyType * xsd:any * xsd:anyType * Request Message Response Message wsa:EndPointReferenceType
© 2006 Open Grid Forum 19 GetMetaData Subscribers and Consumers are not aware of data vocabulary contents. Subscriber in order to define subscription require the knowledge of data vocabulary. GetMetaData Request MetaDataQuery - XQuery expression – FLWOR Example 1 – Get the list of data vocabularies in the registry for $vocab in fn:collection(‘$$infodDataVocabularies’) return { $vocab//infodepr, $vocab//DataVocabularyName, $vocab//DataVocabularyDescription } Example 2 – Fetch the xml schema of the desired data vocabulary for $vocab in fn:collection(‘$$infodDataVocabularies’) where $vocab//infodepr = “ return $vocab {xsd:anyType}
© 2006 Open Grid Forum 20 Subscription Data Constraints and Dynamic Consumer Constraints XQuery expressions – FLWOR Subscription 1 – associating chemical sensors and alerting system Get Chemical Sensor Alerts On the watch for chemical spills Subscriber1 for $data in fn:collection(‘$$infodDataVocabularies’) return { $data//Substance } for $pub in fn:collection(‘$$infodpublishers’) where $pub//ItemName=”APD2000” for $con in fn:collection(‘$$infodconsumers’) where $con//OrganizationID=”PEC101”
© 2006 Open Grid Forum 21 Subscription Subscription 2 – weather information at location of the chemical sensor Property Constraint associates weather station to the alerting system Data constraint specifies the epr of the chemical sensor for weather information GetWeatherInformation For weather information return { let $i= where $i//Location = //Location } for $pub in fn:collection(‘$$infodpublishers’) where $pub//WSReference = for $con in fn:collection(‘$$infodconsumers’) where $con//OrganizationID=”PEC101”
© 2006 Open Grid Forum 22 Subscription Subscription 3 – E911 center subscribes for alert messages on behalf of first responders Property Constraint the subscription to the alerting system The dynamic consumer constraints determine the consumers at the time of an event SensorAlerts Need to send sensor alert information Subscriber2 /infod:SubscriberReference> for $pub in fn:collection(‘$$infodpublishers’) where $pub//WSReference= for $con in fn:collection(“$$infodConsumers”) where $con//OrganizationCategoryAbstract=”first_responders” and //capAlertStatus = Actual and fn:distance( $con//Location, $pub//Location ) < 5
© 2006 Open Grid Forum 23 Implementation specifics Publisher, Subscriber and Consumers are modeled as web services Publisher Service(s) Publisher Service Consumer Service(s) Consumer Service Notify Client Create & Monitor Notify Subscriber Service(s) Subscriber Service Create Test Environment JAVA ORACLE PL/SQL Create/ Replace/ Drop INFOD Registry Service Subscription Reasoning Component Registry Manager Component Vocabulary Manager INFOD Entry’s Manager Meta Data Manager ORACLE PL/SQL
© 2006 Open Grid Forum 24 The Matching Procedure The matching procedure in the INFOD registry is triggered for any create/replace/drop operation. The current implementation uses expression filter to evaluate property constraints, (expression filters only support XPath expressions) The where clause of the XQuery expression is equivalent to an XPath expression, when entries are created XQuery expressions are parsed and the where clause is rewritten as XPath expressions Taking advantage of the inbuilt database features, for every subscription, constraints are drafted as a single select query and the Xpath expression is evaluated using the EVALUATE operator
© 2006 Open Grid Forum 25 Notification Message On evaluating subscriptions notification messages are generated Notification to Publisher n1 Consumer1 for $data in fn:collection(‘$$infodDataVocabularies’) return { $data//Substance }.. Notification to Consumer <infod:ConsumerNotification. ubscription1 ublisher1 Notification to Subscriber ubscription1 ublisher1 Consumer1
© 2006 Open Grid Forum 26 Issues Subscribing for publisher information with reference to one other publisher’s property Need weather information at the location of the chemical sensors Subscription-1 : identifies chemical sensors Subscription-2 : requests for weather information at the location of the chemical sensors identified in the previous subscription Subscription-2 is defined on receiving the notification message as a result of subscription-1 and subscription-2 needs to be replaced as subscription-1 result set changes. Weather Station Chemical Sensor INFOD Registry Publisher Alerting System Plume Analysis Publisher Consumer/Subscriber
© 2006 Open Grid Forum 27 Publisher’s would require metadata to evaluate constraints As a result of subscription-1 the notification message lists publisher ( chemical sensor) epr’s. Subscription-2 carries the list of epr’s for weather information. The weather station needs to do a getMetaData for the location of the chemical sensor based on the epr’s in the subscription. Issues
© 2006 Open Grid Forum 28 Issues Handling Dynamic Consumers First Responder 1 First Responder 2 First Responder 3 INFOD Registry Alerting System Plume Analysis Change of entries in the registry triggers evaluation of subscriptions Alerting system is interested in first responders within a 5 mile radius of a chemical sensor As the location of the first responder changes, requires the registry to reevaluate subscriptions and generate notification messages incessantly.
© 2006 Open Grid Forum 29 If you want to contribute : Join our Work session dedicated to the Implementation on Thursday, October 9:00 am in Discovery A
© 2006 Open Grid Forum 30 Status Steve Fisher (RAL) INFOD prototype First Responder - Use Case Scenario Implementation Issues Demo Extended specification Dieter Gawlick (Oracle) Overview
© 2006 Open Grid Forum 31 Publisher Entry ChemSensor1 APD 2000 Chemical Sensor </infod:PublisherDescription xsd:any * TRUE Request Message Response Message
© 2006 Open Grid Forum 32 Property Constraint XQuery expression – FLWOR expression Entry Inside the registry INFOD EPR XML Entry Valid_from - SYSTIMESTAMP Valid_to – SYSTIMESTAMP The valid_from and valid_to are to facilitate replace and drop operations inside the registry. Publisher Entry
© 2006 Open Grid Forum 33 Property Vocabulary Instance APD Request Message
© 2006 Open Grid Forum 34 Property Vocabulary Instance Response Message
© 2006 Open Grid Forum 35 Data Source Entry Chemical Sensor APD Request Message Response Message
© 2006 Open Grid Forum 36 Data Source Entry Chemical Sensor APD Request Message Response Message
© 2006 Open Grid Forum 37 Property Vocabulary Instance APD Request Message
© 2006 Open Grid Forum 38 Publisher Entry Weather Station Provides weather information based on latitude and longitude co-ordinates TRUE Request Message Response Message
© 2006 Open Grid Forum 39 Data Source Entry Weather Station < Response Message Request Message
© 2006 Open Grid Forum 40 Consumer Entry Alerting System A plume modeling system which requires information on chemical sensor and weather information at the location of the sensor for plume estimation TRUE Request Message Response message would be an INFOD epr, in this case Consumer1
© 2006 Open Grid Forum 41 Property Vocabulary Instance <xsd:schema xmlns:xsd=" xmlns:nc=" > XLABS-PMC101 Request Message Response message would be an INFOD epr, in this case
© 2006 Open Grid Forum 42 Subscriber Entry Alert System Subscribes for chemical sensor and weather information Request Message Response message would be an INFOD epr, in this case Subscriber1
© 2006 Open Grid Forum 43 Full Copyright Notice Copyright (C) Open Grid Forum (2006). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. The limited permissions granted above are perpetual and will not be revoked by the OGF or its successors or assignees.