Presentation on theme: "1 Integrating Geographical Information Systems and Grid Services for Earthquake Forecasting Marlon Pierce Community Grids Lab Indiana University May 4,"— Presentation transcript:
1 Integrating Geographical Information Systems and Grid Services for Earthquake Forecasting Marlon Pierce Community Grids Lab Indiana University May 4, 2005
2 A Big Picture for Crisis Grid
3 The Problem: Integrating Data, Applications, and Client Devices The key issue we try to solve is building the distributed computing infrastructure that can connect Legacy data archives Executable codes Real time data sources Collaboration services (http://www.globalmmcs.org) Client tools for collaboration Audio/Video systems, whiteboard annotators, etc Various application-specific grids can be built out of the common infrastructure Science Grids (described here) Emergency planning, crisis response We choose certain fixed points for our foundations Web Service standards: SOAP and WSDL Other standards where available: GIS standards Universal messaging substrate for SOAP and other messages:
4 Pattern Informatics (PI) PI is a technique developed at University of California, Davis for analyzing earthquake seismic records to forecast regions with high future seismic activity. They have correctly forecasted the locations of 15 of last 16 earthquakes with magnitude > 5.0 in California. See Tiampo, K. F., Rundle, J. B., McGinnis, S. A., & Klein, W. Pattern dynamics and forecast methods in seismically active regions. Pure Ap. Geophys. 159, (2002). bin/fulltext?format=application/pdf&identifier=oai%3AarXiv.org%3Aco nd-mat%2F http://citebase.eprints.org/cgi- bin/fulltext?format=application/pdf&identifier=oai%3AarXiv.org%3Aco nd-mat%2F PI is being applied other regions of the world, and John has gotten a lot of press. Google “John Rundle UC Davis Pattern Informatics”
5 Pattern Informatics in a Grid Environment PI in a Grid environment: Hotspot forecasts are made using publicly available seismic records. Southern California Earthquake Data Center Advanced National Seismic System (ANSS) catalogs Code location is unimportant, can be a service through remote execution Results need to be stored, shared, modified Grid/Web Services can provide these capabilities Problems: How do we provide programming interfaces (not just user interfaces) to the above catalogs? How do we connect remote data sources directly to the PI code. How do we automate this for the entire planet? Solutions: Use GIS services to provide the input data, plot the output data Use HPSearch tool to tie together and manage the distributed data sources and code.
6 CGL Work on GIS Services Some example OGC services include Web Feature Service (WFS): for retrieving GML encode features, like faults, roads, county boundaries, GPS station locations,…. Web Map Service (WMS): for creating maps out of Web Features Problems with current GIS services Not (yet) Web Service compliant Efforts underway to provide this within OGC. But current specs are “pre” web service, no SOAP or WSDL Use instead HTTP GET/POST conventions. Often define general Web Service services as specialized standards Information services Notification services in sensor grids Can’t use other Web Service standards for reliability, security, etc. CGL is developing Web Service versions of OGC standard services
Data Filter (Danube) PI Code Runner (Danube) Accumulate Data Run PI Code Create Graph Convert RAW -> GML WFS (Gridfarm001) WMS HPSearch (TRex) HPSearch (Danube) HPSearch hosts an AXIS service for remote deployment of scripts GML (Danube) WS Context (Tambora) NaradaBroker network: Used by HPSearch engines as well as for data transfer Actual Data flow HPSearch controls the Web services Final Output pulled by the WMS HPSearch Engines communicate using NB Messaging infrastructure Virtual Data flow Data can be stored and retrieved from the 3 rd part repository (Context Service) WMS submits script execution request (URI of script, parameters)
12 Some Challenges Performance: Are GIS services suitable for non-trivial data transfers? Entire California seismic record since 1932 is 12 MB. Global records obviously larger This is not really suitable for HTTP downloads. We are currently pursuing streaming data transfers for higher performance Adoption: We must get the tools and services to the point where science application developers want to use them early in the development process rather than later. Web Service client libraries to remote GIS data Develop codes to work with data streams rather than files. Security: A global version of this has interesting security requirements Authentication, authorization, federation for different countries Time/event dependent security for crisis response
13 More Information Contact: GIS Work at CGL: HPSearch at CGL: SERVOGrid Web Sites Our fine parent project
14 Status and Software Web Feature Service 1.x software available now Our SERVO WFS includes Fault data GPS records Seismic records now for most areas of the globe Note these are Web Services, so you can build your own clients to connect to our running services. Web Map Service Client portlets (shown) and services to be public soon. Software downloads available soon. HPSearch Currently available, WS-Context and Information Services Work
15 Acknowledgements Prof. John Rundle and his group at UC-Davis, particularly James Holliday. Prof. Geoffrey Fox, director of the Community Grids Lab, and CGL grad students Ahmet Sayar: Web Map Server development Galip Aydin: Web Feature Service development Mehmet Aktas: Information and Context Services Harshawardhan Gadgil: HPSearch Workflow development Satellite images from NASA OnEarth WMS This work is supported by the NASA Advanced Information Systems Technology Program.
16 Back up slides
17 A Screen Shot From the WMS Client
18 When you select (i) and click on a feature in the map
19 SERVO Apps and Their Data Pattern Informatics: using seismic records, forecast “hotspot” areas of Disloc: handles multiple arbitrarily dipping dislocations (faults) in an elastic half-space. Relies upon geometric fault models. GeoFEST: Three-dimensional viscoelastic finite element model for calculating nodal displacements and tractions. Allows for realistic fault geometry and characteristics, material properties, and body forces. Relies upon fault models with geometric and material properties. Virtual California: Program to simulate interactions between vertical strike- slip faults using an elastic layer over a viscoelastic half-space. Relies upon fault and fault friction models. RDAHMM: Time series analysis program based on Hidden Markov Modeling. Produces feature vectors and probabilities for transitioning from one class to another. Used to analyze GPS and seismic catalogs.
20 Where Is the Data? QuakeTables Fault Database SERVO’s fault repository for California. Compatible with GeoFEST, Disloc, and VirtualCalifornia GPS Data sources and formats (RDAHMM and others). JPL: ftp://sideshow.jpl.nasa.gov/pub/mbhftp://sideshow.jpl.nasa.gov/pub/mbh SOPAC: ftp://garner.ucsd.edu/pub/timeseriesftp://garner.ucsd.edu/pub/timeseries USGS: Seismic Event Data (RDAHMM and others) SCSN: SCEDC: Dinger-Shearer: shearer/dinger-shearer.cataloghttp://www.scecdc.org/ftp/catalogs/dinger- shearer/dinger-shearer.catalog Haukkson:
21 What Are Web Services? Web Services framework is a way for doing distributed computing with XML. WSDL: Defines interfaces to functions of remote components. This is the programming interface. SOAP: Defines the message format that you exchange between components. This carries the messages over the network. Web Services are not web pages, CGI, servlets, applets. XML provides cross-language support Suitable for both human and application clients. We built SERVOGrid’s execution grid services this way. We are building data grid components in the same fashion. Allows us to build general purpose client environments like Web portals and command line tools. Web Server DB JDBC Browser Web Server SOAP Appl SOAP WSDL
22 User Interface Server DB Service 1 JDBC DB Job Sub/Mon And File Services Operating and Queuing Systems WSDL Browser Interface WSDL Viz Service WSDL Host 1Host 2Host 3 IDL GMT SOAP HTTP(S)
23 GIS for Data Grids Geographic Information Systems ESRI: commercial company with many popular GIS products. Open Geospatial Consortium (formerly OpenGIS Consortium). We will focus on OGC since they define open and interoperable standards. What are the characteristics of a GIS system? Need data models to represent information Need services for remotely accessing data. Need metadata for determining what is stored in the services.
24 GML: A Data Model For GIS GML 3.x is a interconnected suite of over 20 connected XML schemas. GML is an abstract model for geography. With GML, you can encode Features: abstract representations of map entities. Geometry: encode abstractly how to represent a feature pictorially. Coordinate reference systems Topology Time, units of measure Observation data.
25 Using GML to Encode GPS Collected GPS data for each site is made available through online catalogs. Using various text formats. We have developed GML descriptions of GPS using Feature.xsd schema. Full GML GPS schema: sd. sd Supports JPL, SOPAC, and USGS formats. Other efforts: Feature encodings of Seismic and Fault catalogs. o_-_gps.htmlhttp://www.crisisgrid.org/html/serv o_-_gps.html
26 Anatomy of Web Feature Service GML provides the data model, but we must still provide a remote programming interface to the data. Web Feature Service provides three major services as described in OGC specification: GetCapabilities: The clients (WMS servers or users) starts with requesting a document from WFS which describes it’s abilities. When a getCapabilities request arrives, the server dynamically creates a capabilities document and returns this. This is OGC’s formalization of metadata, so important to GEON, ESG, etc. DescribeFeatureType: After the client receives the capabilities document he/she can request a more detailed description for any of the features listed in the WFS capabilities document. The WFS returns an XML schema that describes the requested feature. Metadata about a specific entry. GetFeature: The client can ask the WFS to return a particular portion of any feature data. GetFeature requests contain some property names of the feature and a Filter element to describe the query. The WFS extracts the query and bounding box from the filter and queries the feature databases. The results obtained from the DB query are converted the feature’s GML format and returned to the client as a FeatureCollection.
27 Sample Feature- CA Fault Lines Northridge2 Wald D. J , , After receiving getFeature request, WFS decodes this request, creates a DB query from it and queries the database. WFS then retrieves the features from the database and converts them into GML documents. Each feature instance is wrapped as a gml:featureMember element. WFS returns a wfs:FeatureCollection document which includes all featureMembers returned in the query result.
A Web Feature Service can serve multiple feature types data. WFS returns the results of GetFeature requests as GML documents (Feature Collections). Clients may include other services as well as humans. Services include Web Map Servers.
29 Web Map Services OGC Web Map Servers create digital maps from abstract data sets retrieved from Web Feature Services. Layer features are overlayed. WMS servers can be daisy chained. Our research efforts here are to build Web Service version of the WMS as well as portlet clients. We are developing backward compatibility with existing WMS. Purdue CAAGIS for Indiana maps. NASA JPL OnEarth WMS. Future plans are to replace current GMT portal tools with WMS, combine maps with GeoFEST and Virtual California application output.
California boundaries and streams overlaid with QuakeTables faults. Indiana map data proxied through legacy WMS.
33 SERVOGrid Portal Screen Shots
34 Conclusion and Other Topics We have reviewed Community Grids Lab efforts to build a GIS-compatible set of data grid services. This provides a unified architecture for grid execution and data grid services. Two other important topics: Managing messaging between components. NaradaBrokering project led by Dr. Shrideep Pallickara. Managing client environments Component-based portals: Command line and scripting interfaces for web services:
35 More Information My Overview (submitted to ACES special issue of PAGEOPH). QuakeSim Project Page: QuakeSim Portal: QuakeTables Fault Database: Community Grids Lab GIS Grid Development: See particularly for GML information.http://www.crisisgrid.org/html/servo.html See for more on Web Feature Service.http://www.crisisgrid.org/html/wfs.html WMS and Information Services information coming soon.
36 Client Environments for Web Services Web Services can support multiple types of clients. Tools such as Apache Axis are service hosting environments. Manage deployed Web Services Questions now: How do I manage several client applications for cooperating services? How do I manage multiple clients that collaborate through the same services? G. Erlebacher, et al. Client environments for Web Services Component-based Web portals: Shell environments: Program and prototype complicated interactions between data and execution services. Manage data streams.
37 Data flow in applications Real-time processing required. Typically data transfer involves temporary storing of data. This data may be transferred using files (E.g. Grid FTP). Every component of the chain processes data from input file, writes processed data to output file. Time and Space critical in real-time applications hence file-based transfer is undesirable for real-time applications. Tools to automate data transfer and invoke applications (E.g. Grid Ant, Karajan)
39 Architecture Components SHELL Front end to scripting. TASK_SCHEDULER (FLOW_ENGINE) Distributes tasks among co-operating engines for load-balancing purposes. WSPROXY - An AXIS web service wraps an actual service. The behavior of the service can be controlled by making simple WS calls to this proxy. Can be controlled by any Workflow Engine WSProxy handles streaming data communication on behalf of the service. Service only sees I/P and O/P streams. These could be files or a remote data stream or even a file transferred via HTTP / FTP or results from a database query Can be deployed in standard Web Service containers (such as Tomcat)
40 WSProxy Interfaces Runnable More control over execution (start, suspend, resume, stop…) Basic idea (read block of data, process it, write it out) Ideal for designing quick filtering applications that process data in streams. Wrapped Wrap an existing service (Executables [*.exe], Matlab scripts, shell / Perl scripts etc…) Less control, can only start, stop Ideal for wrapping existing programs / services to expose as a pluggable component / web service
41 HPSearch Architecture Overview Request Handler Java script Shell Task Scheduler Flow Handler Web Service EP Other Objects HPSearch Kernel URIHandler DBHandler WSDLHandler WSProxyHandler Request Handler HPSearch Kernel HPSearch Kernel Broker Network... DataBase Web Service Files Sockets Topics WSProxy Service WSProxy Service WSProxy Service
42 Applications Streaming Data Filtering GPS Data Data Filter Filters the input data to get only the estimate and error values RDAHMM Analyze the data Matlab Plotting Script Graph HPSearch Kernel - TSE (Distributed) Services Sensor Source
43 Acknowledgements I have presented work from the following collaborators Prof. Geoffrey Fox, Community Grids Lab director Harshawardhan Gadgil: HPSearch Galip Aydin: Web Feature Service, GML, Sensor Grid Ahmet Sayar: Web Map Service and Clients Mehmet S. Aktas: GIS Information and Discovery Services This work is supported by NASA Advanced Information Systems Technology (AIST)
44 SERVOGrid Basics SERVOGrid is our project to build a distributed computing infrastructure to support earthquake simulation codes. Distributed Computing Infrastructure Services for remotely executing applications, managing distributed files in logical units, monitoring applications, archiving user projects, and so on. Variously called “Grids” (DOE), “Cyberinfrastructure” (NSF), “e- Science” (UK e-Science program), …. The above is sometimes referred to as an “Execution Grid”. We designed this around a web service architecture. See links at the end for more information. But what about the data? Need ways to access remote data sources through programming interfaces. Practice often is to download (via FTP) entire catalogs and hand edit to get data you want in the format you want. We need to automate this.
47 FeatureInfo Popup (non-geometric attributes of the selected features)