Title: QuakeWatch System CISN Display Client
1QuakeWatch SystemCISN Display Client
- Technology used for Rapid and Reliable Push of
Earthquake Information to Critical Users
July 9, 2003 Paul Friberg, ISTI
2QuakeWatch Overview
- Design requirements
- Server technology
- Server details
- CISN Display details
- Demonstration
3General System Design Requirements
- Replace the legacy CUBE/REDI system
- Rapidly Reliably push data to end users
- Operate on any platform (both client server)
- Use Internet standards (TCP, CORBA, XML)
- Push earthquake info any related data products
(expandable protocol) - Scalable server
- High-end GIS-based client
- Provide an open platform for expansion
4QuakeWatch Server Technology
- Written in Java
- CORBA IDL for services
- CORBA Notification Service for messaging
- XML message format
- Plug-in feeder modules
- Scalable architecture
- FTP/HTTP for out of band product retrieval
5CORBA What is it?
- Common Object Request Broker Architecture
(distributed component computing) the glue - Backed by over 800 companies
(See www.omg.org) - Well developed (since 1994) standard middleware
technology used by Banking, E-commerce,
Aerospace, Communications, and Manufacturing - American Airlines, Raytheon, Boeing, SABRE,
Weather Channel, Wells Fargo, Chase Manhattan,
Credit Suisse, Bank of America, and ATT - See www.corba.org for more details.
6QuakeWatch CORBA Usage
- OpenOrb open-source (See www.openorb.org)
- Bi-Directional IIOP (firewall penetrating)
- IIOP Standard Internet Protocol
- CORBA Interface Definition Language (IDL)
- QuakeWatch Server CORBA Services
- Login/Authentication
- Request missing Event/Product messages
- Client/Server versioning information
- Alternative Server listing
- Client redirect to another server
- Messaging using the CORBA Notification Service
7CORBA Notification Service
- Rapid Push (best effort delivery via TCP)
- Middleware software Message Channel
- All clients subscribed to Message Channel receive
messages. - Server alive messages are sent to clients in
addition to Quake related messages. - Message Channels can be distributed.
- Unlimited number of Message Channels.
8QuakeWatch XML messages
lt?xml version"1.0" encoding"US-ASCII"?gt lt!--
QWmessage VERSION 0.06 June 26, 2002 --gt lt!-- A
message for event and product notification
--gt lt!ELEMENT QWmessage (StatusMessageDataMessage
) gt lt!ATTLIST QWmessage MsgNumber CDATA
REQUIRED MsgVersion CDATA
IMPLIED ServerID CDATA
IMPLIED TimeGenerated CDATA
IMPLIED MsgSource CDATA
IMPLIED CreatedSource CDATA
IMPLIED Signature CDATA
IMPLIEDgt lt!-- MsgNumber ID
number for message --gt lt!--
MsgVersion version number for message --gt
lt!-- ServerID ID/revision info for QW
server --gt lt!-- TimeGenerated
when was this message created --gt
lt!-- MsgSource what server did QWserver receive
message from --gt lt!--
CreatedSource where did it get built --gt
lt!-- Signature XML security signature
--gt lt!ELEMENT StatusMessage EMPTYgt lt!ATTLIST
StatusMessage Command CDATA
REQUIRED Value CDATA
IMPLIEDgt lt!-- Command server
to client command (ALIVE, TERMINATING, SECURITY)
--gt lt!-- Value optional data
value for the command --gt lt!ELEMENT DataMessage
(EventProduct) gt lt!ATTLIST DataMessage Action
CDATA REQUIRED TimeReceived
CDATA REQUIREDgt lt!--
Action NEW, UPDATE, DELETE --gt
lt!-- TimeReceived when was this message
received at server --gt lt!ELEMENT Identifier
EMPTYgt lt!ATTLIST Identifier EventIDKey CDATA
REQUIRED DataSource CDATA
REQUIRED Authoritative (YN)
IMPLIED Version CDATA
IMPLIEDgt Continued..
- XML - eXtensible Markup Language
- Standard Internet data distribution format
- Changes to messages do not break clients
- Events and Products
- Clearly defined schema
- Document Type Definition
9QuakeWatch Server Plug-in
New Data
- Written in Java
- Well defined Application Programmer Interface
- QDDS modifications were trivial to make it a
plug-in - QWS is an end-user of QDDS not a competitor
- XML formatter of event data and products
- Data suppliers can provide custom products
QuakeData
10QW Server Performance
- Latest Beta tests have shown excellent
reliability and stability. - QuakeWatch Server uptime 46 days as of July 7
- Running on stock Intel hardware RedHat 9 OS
- Tested with 10s of clients
- Tested over numerous Internet connections
(dial-up, cable modem, satellite) - Tested behind firewalls/NAT.
11Client/Server Services Interaction
Connection Requested
QWServer Portal
Authentication Referral
CISN Display Client
QWMessage Channel
Internet
Connect to Message Channel
12Messaging Interaction
Message Channel Server
Client
Internet
Fetch additional Content automatically via
HTTP/FTP
Product Server (Web content, ShakeMap, CIIM
Reports etc.)
13CISN Display Overview
- Replicates CUBE/REDI app. USGS Recent Quakes
web - GIS capable via OpenMap
- Uses USGS QDM filter
- Fully user configurable
- Automatic download and display of ShakeMap GIS
files - Settable alarms to alert users
- Install wizard for easy installation
- Firewalls not a problem
- Tested under Windows, Mac OS, Linux, and Solaris
- Commercial support available
14USGS Recent Quakes Comparison with CISN Display
15GIS capability with OpenMap
- Free Java-based mapping engine from BBN (well
supported) - Expandable since it is open-source
- Provides input of standard GIS layers (ESRI,
MapInfo) - Permits basic GIS operations (e.g. ArcView)
- Allows end-user to include any number of possible
layers. - Nationwide and global mapping capability.
16Live Demo of Client
17Current Developments
- New server plug-ins
- New client applications (PDA)
- End-user authentication mechanism improvements
- User documentation
18Recap of QuakeWatch System Goals
- Earthquake notification system for critical users
- Quick
- Reliable
- Expandable
- Easy to install and use
- Gateway to earthquake products on the web
- Platform for future development and expansion
- Entirely open-source system
- Replaces legacy CUBE/REDI display systems
19Thank You