Essential Ideas Distributed software systems are being “revolutionized” by developments from e-commerce, eScience and the consumer Internet.
Download ReportTranscript Essential Ideas Distributed software systems are being “revolutionized” by developments from e-commerce, eScience and the consumer Internet.
Essential Ideas Distributed software systems are being “revolutionized” by developments from e-commerce, eScience and the consumer Internet. There is rapid progress in technology families termed “Web services”, “Grids” and “Web 2.0” Many of these developments have important implications for collaboration both in terms of core technology and capabilities The emerging picture is of distributed services with advertised interfaces but opaque implementations communicating by streams of messages over a variety of protocols • Complete systems are built by combining either services or Grids (predefined/pre-existing collections of services) together to achieve new capabilities 1 The Three Technology Families Web Services have clearly defined protocols (SOAP) and a well defined mechanism (WSDL) to define service interfaces • There is good .NET and Java support • The so-called WS-* specifications provide a rich sophisticated standard set of capabilities for security, fault tolerance, meta-data, discovery, notification etc. Grids build on Web Services and provide a robust managed environment with growing adoption in Enterprise systems and distributed science (so called e-Science) Web 2.0 supports a similar architecture to Web services but has developed in a more chaotic but remarkably successful fashion with a service architecture with a variety of protocols including those of Web and Grid services • Over 350 Interfaces defined at http://www.programmableweb.com/apis Web 2.0 also has many well known capabilities with Google Maps and Amazon Compute/Storage services of clear general relevance to DoD There are also Web 2.0 services supporting novel collaboration modes as seen in social networking sites, portals, MySpace, YouTube, 2 The three service technologies and DoD The Web Service, Grid and Web 2.0 approaches differ in important detail but their broad architectures are similar and so it is possible to use them all in DoD applications We expect growing support with rich functionality for all three technology approaches and this plus the broad interoperability enabled by a service architecture, has important implications for capabilities and ease of maintenance and upgrade for DoD systems built on these broad-based service technologies Anabas analyzed in detail the Net Centric NCOW specifications and showed how they could be mapped into Web and Grid services • This included the NCOW Core Enterprise Services and also Sensor Grids and the NCOW Data Model • Anabas also addressed how one could achieve managed consistent architecture with the intrinsically distributed architecture 3 Anabas Approach This is in collaboration with Community Grids Laboratory at Indiana University We follow the Grid architecture and use Web services for all capabilities; if one needs a capability like Google Maps from Web 2.0 it is wrapped as a Web Service (and in fact to use an Open Geospatial Consortium Interface) We use a powerful publish-subscribe messaging environment to provide collaboration (via software overlay networks) and faulttolerance • The same software is used to support both Web Service messaging (TCP) and audio-video conferencing (UDP) We package collections of services as Grids which provide particular composite capability such as hosting a sensor Grid or supporting one or more collaboration functions We provide tools to build Grids by composing other Grids together and to dynamically manage them Anabas is subcontracting to Ball Aerospace to build demonstration DoD relevant Grids • Community Grids Laboratory will use technology for civilian critical infrastructure especially for the Earthquake science and emergency response areas 4 Comparison of Web 2.0 and Grids See http://grids.ucs.indiana.edu/ptliupages/presentations/ogf19web20jan29-07.ppt 5 Architecture of Streaming Grids of Grids And describing the underlying messaging system NaradaBrokering and how message multicast enables collaboration 6 Raw Data S S S S FS FS FS FS MD FS MD O S FS O S FS F S FS MD MD SS O S FS FS O S FS MD O S FS F S O S MD Filter Service FS O S FS Other Service MD O S FS MetaData SS S S Database O S FS SS Another Grid FS O S O S SS Decisions MD MD FS SS FS S S O S SS Another Service Wisdom Knowledge Another Grid FS SS Information S S Another Grid Data S S S S Another Service S S S S S S S S S S S S Sensor Service 7 Grid Service Philosophy I Services receive data in SOAP messages, manipulate it and produce transformed data as further messages Knowledge is created from information by services • Information is created from data by services Semantic Grid comes from building metadata rich systems of services Meta-data is carried in SOAP messages The Grid enhances Web services with semantically rich system and application specific management One must exploit and work around the different approaches to meta-data (state) and their manipulation in Web Services 8 Grid Service Philosophy II There are a horde of support services supplying security, collaboration, database access, user interfaces The support services are either associated with system or application where the former are WS-* and GS-* which implicitly or explicitly define many support services There are generalized filter services which are applications that accept messages and produce new messages with some data derived from that in input • Simulations (including PDE’s and reactive systems) • Data-mining • Transformations • Agents • Reasoning are all termed filters here Agent Systems are a special case of Grids Peer-to-peer systems can be built as a Grid with particular discovery and messaging strategies 9 Grid Service Philosophy III Filters can be a workflow which means they are “just collections of other simpler services” Grids are distributed systems that accept distributed messages and produce distributed result messages A service or a workflow is a special case of a Grid A collection of services on a multi-core chip is a Grid Sensors or Instruments are “managed” by services; they may accept non SOAP control messages and produce data as messages (that are not usually SOAP) Collaborative services share either input (replicated model) or output ports Collaboration involves a sharing messaging system (naturally publish-subscribe) and a control formalism (XGSP is SOAP compatible H323/SIP) 10 Raw Data S S O S S S FS FS O S FS SS FS FS FS FS MD FS O S FS FS MD MD FS O S MD F S O S MD F S FS FS O FS S Filter Service FS O S FS Other Service MD O S FS MetaData SS S S Database O S FS SS Another Grid FS O S O S SS Decisions MD MD FS SS FS S S O S SS Another Service Wisdom Knowledge Another Grid FS SS Information S S Another Grid Data S S S S Another Service S S S S S S S S S S Sensor Service Collaboration11by Message Replication S U Web F Servic I I e O O F S U Web F Servic I I e O O F WS Viewer WS Display WS Viewer WS Display U Web F Servic I I e O O F Event (Message) Service S Master Other Participants WS Viewer WS Display Shared Input Port (Replicated WS) Collaboration with UFIO as User Facing and SFIO as Service Facing Ports 12 F I S O WSDL Master U Application or Content source Web Service O F I Event (Message) Service WS Viewer WS Display WS Viewer WS Display Other Participants WS Viewer Shared Output Port (Single WS) Collaboration that Can be shared at any point on visualization pipeline WS Display 13 Raw Data O S O S S S S S FS FS FS FS MD FS MD O S FS O S FS F S FS MD MD SS O S FS FS O S FS FS F S MD O S O S MD Filter Service FS Other Service MD O S FS MetaData SS S S Database FS FS SS Decisions MD O S SS Another Grid FS MD FS SS S S O S SS Another Service Wisdom Knowledge Another Grid FS SS Information S S Another Grid Data S S S S Another Shared Service S S S S S S S S Display is the “last” filter S S S Sensor Service Collaboration by S Message Replication at any point14in filter chain 15 NaradaBrokering 2003-2006 Messaging infrastructure for collaboration, peer-to-peer and Grids Implements JMS and native high-performance protocols (message transit time of 1 to 2 ms per hop) Order-preserving message transport with QoS and security profiles Support for different underlying transport such as TCP, UDP, Multicast, RTP SOAP message support and WS-Eventing, WS-RM and WS-Reliability. Active replay support: Pause and Replay live streams. Stream Linkage: can link permanently multiple streams – using in annotation of real-time video streams Replicated storage support for fault tolerance and resiliency to storage failures. Management: Scripting Interface to streams and brokers (uses WSManagement) for initialization, firewall issues and fault tolerance Broker Topics and Message Discovery: Locate appropriate High Performance Transport supporting SOAP Infoset for GIS applications 16 Standard Deviation (Milliseconds) Round-trip delays for different payload sizes (100B - 10KB) 5 5 Delay Standard Deviation 4 These measurements are messages from client to 4 broker and back using latest Java 1.6 release that is about twice performance of earlier releases 3 3 2 2 1 0 100 1 1000 Content Payload Size (Bytes) 0 10000 17 60 50 40 30 Standard Deviation (Milliseconds) Round-trip delays for different payload sizes (100B - 1MB) 20 Delay 70 Standard Deviation 18 These measurements are messages from client to broker and back using latest Java 1.6 release that is about twice performance of earlier releases. This graph is identical to previous one for small messages 20 10 0 100 16 14 12 10 8 6 4 2 1000 10000 100000 Content Payload Size (Bytes) 0 1e+006 18 Average Video Delays UDP Performance when NaradaBrokering used for audio-video conferencing Latency ms Multiple sessions One session 30 frames/sec # Receivers 19 Analysis of DoD Net Centric Services in terms of Web and Grid services 20 The Grid and Web Service Institutional Hierarchy 4: Application or Community of Interest (CoI) Specific Services such as “Map Services”, “Run BLAST” or “Simulate a Missile” XBML XTCE VOTABLE CML CellML 3: Generally Useful Services and Features (OGSA and other GGF, W3C) Such as “Collaborate”, “Access a Database” or “Submit a Job” OGSA GS-* and some WS-* GGF/W3C/…. XGSP (Collab) 2: System Services and Features (WS-* from OASIS/W3C/Industry) Handlers like WS-RM, Security, UDDI Registry 1: Container and Run Time (Hosting) Environment (Apache Axis, .NET etc.) Must set standards to get interoperability WS-* from OASIS/W3C/ Industry Apache Axis .NET etc. 21 The Ten areas covered by the 60 core WS-* Specifications WS-* Specification Area Examples 1: Core Service Model XML, WSDL, SOAP 2: Service Internet WS-Addressing, WS-MessageDelivery; Reliable Messaging WSRM; Efficient Messaging MOTM 3: Notification WS-Notification, WS-Eventing (Publish-Subscribe) 4: Workflow and Transactions BPEL, WS-Choreography, WS-Coordination 5: Security WS-Security, WS-Trust, WS-Federation, SAML, WS-SecureConversation 6: Service Discovery UDDI, WS-Discovery 7: System Metadata and State WSRF, WS-MetadataExchange, WS-Context 8: Management WSDM, WS-Management, WS-Transfer 9: Policy and Agreements WS-Policy, WS-Agreement 10: Portals and User Interfaces WSRP (Remote Portlets) 22 Activities in Global Grid Forum Working Groups GGF Area GS-* and OGSA Standards Activities 1: Architecture High Level Resource/Service Naming (level 2 of slide 6), Integrated Grid Architecture 2: Applications Software Interfaces to Grid, Grid Remote Procedure Call, Checkpointing and Recovery, Interoperability to Job Submittal services, Information Retrieval, 3: Compute Job Submission, Basic Execution Services, Service Level Agreements for Resource use and reservation, Distributed Scheduling 4: Data Database and File Grid access, Grid FTP, Storage Management, Data replication, Binary data specification and interface, High-level publish/subscribe, Transaction management 5: Infrastructure Network measurements, Role of IPv6 and high performance networking, Data transport 6: Management Resource/Service configuration, deployment and lifetime, Usage records and access, Grid economy model 7: Security Authorization, P2P and Firewall Issues, Trusted Computing 23 Net-Centric Core Enterprise Services Core Enterprise Services Service Functionality NCES1: Enterprise Services Management (ESM) including life-cycle management NCES2: Information Assurance (IA)/Security Supports confidentiality, integrity and availability. Implies reliability and autonomic features NCES3: Messaging Synchronous or asynchronous cases NCES4: Discovery Searching data and services NCES5: Mediation Includes translation, aggregation, integration, correlation, fusion, brokering publication, and other transformations for services and data. Possibly agents NCES6: Collaboration Provision and control of sharing with emphasis on synchronous real-time services NCES7: User Assistance Includes automated and manual methods of optimizing the user GiG experience (user agent) NCES8: Storage Retention, organization and disposition of all forms of data NCES9: Application Provisioning, applications. operations and maintenance of 24 Produce the Needed Core Services • We can classify services in many ways and following 2 charts are one way; slightly changed from proposal as NCOW and our work changed a little. • Green is “in hand”; we know a lot • Orange is “in hand” with outside but available solutions • Red has problems – Security does not have industry consensus while current Scheduling work does not address DoD real-time service and network requirements 25 The Core Features/Service Areas I Service or Feature WS-* GS-* NCES (DoD) Comments A: Broad Principles FS1: Use SOA: Service Oriented Arch. WS1 Core Service Architecture, Build Grids on Web Services. Industry best practice FS2: Grid of Grids Distinctive Strategy for legacy subsystems and modular architecture B: Core Services FS3: Service Internet, Messaging WS2 NCES3 Streams/Sensors. Team FS4: Notification WS3 NCES3 JMS, MQSeries. FS5 Workflow WS4 NCES5 Grid Programming FS6 : Security WS5 FS7: Discovery WS6 FS8: System Metadata & State WS7 FS9: Management WS8 FS10: Policy WS9 GS7 NCES2 Grid-Shib, Permis Liberty Alliance ... NCES4 UDDI Globus MDS Semantic Grid, WS-Context GS6 NCES1 CIM ECS 26 The Core Feature/Service Areas II Service or Feature WS-* GS-* NCES Comments NCES7 Portlets JSR168, NCES Capability Interfaces NCES8 NCOW Data Strategy Federation at data/information layer major research area; CGL leading role B: Core Services (Continued) FS11: Portals and User WS10 assistance FS12: Computing GS3 FS13: Data and Storage GS4 FS14: Information GS4 FS15: Applications and User Services GS2 FS16: Resources and Infrastructure GS5 FS17: Collaboration and Virtual Organizations GS7 FS18: Scheduling and matching of Services and Resources GS3 JBI for DoD, WFS for OGC NCES9 Standalone Services Proxies for jobs Ad-hoc networks NCES6 XGSP, Shared Web Service ports Current work only addresses scheduling “batch jobs”. Need networks and services 27 Some Conclusions I One can map nearly all NCOW/NCES and GiG core capabilities into Web Service (WS-*) and Grid (GS-*) architecture and core services • Analysis of Grids in NCOW/NCES document inaccurate (confuse Grids and Globus and only consider early activities) Some “mismatches” on both NCOW and Grid sides GS-*/WS-* do not have collaboration and miss some messaging NCOW does not have at core level system metadata and resource/service scheduling and matching Higher level services of importance include GIS (Geographical Information Systems), Sensors and data-mining 28 Some Conclusions II Criticisms of Web services in a paper by Birman seem to be addressed by Grids or reflect immaturity of initial technology implementations NCOW/NCES does not seem to have any analysis of how to build their systems on WS-*/GS-* technologies in a layered fashion; they do have a layered service architecture so this can be done • They agree with service oriented architecture • They seem to have no process for agreeing to WS-* GS-* or setting other standards for CES Grid of Grids allows modular architectures and natural treatment of legacy systems • Note Grids, Services and Handlers are all “just” entities with distributed message-based input and output interfaces 29 Additional Services • Sensors have low level support listed as FS3; higher level integration using SensorML and Filters well understood. Some work in phase I • GIS Grid services pioneered by team and already shown in phase I • Mediation (Interoperability) Services needed to link Grids (defined as a collection of ≥ 1 Services) – Need to generalize existing solutions for Sensor Grids and for MQSeries-SOAP Mediation – View NaradaBrokering as a SOAP Intermediary 30 Out of Scope for Phase II • Many areas are still evolving significantly – – – – – Mediation/Interoperation Security Scheduling of non-compute Resources Data/Information Federation Semantic Grid and management • We will not test scalability on large number of services, sensors and component Grids • Integrating legacy systems not addressed • Grid of Grids building tool is “new idea” – can expect will benefit from further work 31 Grid of Grids 32 What is a Simple Service? Take any system – it has multiple functionalities • We can implement each functionality as an independent distributed service • Or we can bundle multiple functionalities in a single service Whether functionality is an independent service or one of many method calls into a “glob of software”, we can always make them as Web services by converting interface to WSDL Simple services are gotten by taking functionalities and making as small as possible subject to “rule of millisecond” • Distributed services incur messaging overhead of one (local) to 100’s (far apart) of milliseconds to use message rather than method call • Use scripting or compiled integration of functionalities ONLY when require <1 millisecond interaction latency Apache web site has many (pre Web Service) projects that are multiple functionalities presented as (Java) globs and NOT (Java) Simple Services • Makes it hard to integrate sharing common security, user 33 profile, file access .. services • • • • • Grids of Grids of Simple Services Link via methods messages streams Services and Grids are linked by messages Internally to service, functionalities are linked by methods A simple service is the smallest Grid We are familiar with method-linked hierarchy Lines of Code Methods Objects Programs Packages Methods CPUs Services Clusters Component Grids Compute Resource Grids MPPs Databases Sensor Federated Databases Sensor Nets Data Resource Grids Overlay and Compose Grids of Grids 34 Component Grids? So we build collections of Web Services which we package as component Grids • Visualization Grid • Sensor Grid • Utility Computing Grid • Collaboration Grid • Earthquake Simulation Grid • Control Room Grid • Crisis Management Grid • Drug Discovery Grid • Bioinformatics Sequence Analysis Grid • Intelligence Data-mining Grid We build bigger Grids by composing component Grids using the Service Internet 35 Using the Grid of Grids and Core Services to build multiple application grids re-using common components. BioInformatics Grid Chemical Informatics Grid 15: Application Services Services Screening Tools Quantum Calculations … 14: Information 11: Portals 17: Collaboration 9: Management … Domain Specific Grids/Services 12: Computing 18: Scheduling 4: Notification 7: Discovery 6: Security 15: Application Services Sequencing Tools Biocomplexity Simulations Instrument/Sensor 13: Data Access/Storage 10: Policy 8:Metadata Core Low Level Grid Services 3: Messaging 5: Workflow 9: Management Physical Network (monitored by FS16) 36 Net Centric Grid … Electricity CIGrid … Flood Services and Filters Military Services and Filters Collaboration Grid Sensor Grid Registry Flood CIGrid Portals GIS Grid Data Access/Storage Information Management Grid Compute Grid Metadata Core Grid Services Security Notification Workflow Messaging Physical Network Net Centric and Critical Infrastructure (CI) Grids built as Grids of Grids and re-using subGrids 37 Port Mediation and Transformation in a Grid of Grids and Simple Services Port Internal Port Interfaces Port Internal Port Port Interfaces Subgrid or service Messaging Port Subgrid or service Port Internal Port Interfaces Port Port Port External facing Interfaces Mediation and Transformation Services Subgrid or service 38 Grid of Grids Builder Tool • This will provide a graphical interface to build grids from existing libraries of Services and Grids • Meta-data (provenance) needs to be specified • Grids (services) need to be linked • This will be built by extending an existing workflow engine which is aimed at a more tightly couple version of the builder problem – We examined HPSearch (CGL), Taverna (Open source from UK OMII), BPEL with user interface (OMII or IU LEAD project), Eclipse – Semantic Grid provenance “add-ons” – We chose BPEL with an Eclipse interface 39 BPEL Workflow Designer An example of GeoFest workflow 40 Setting the System Metadata and Policy The Grid Builder will set up and launch a monitoring framework that can provide fault tolerance for services and message brokers The properties set up at Grid definition stage are used to specify initial set up of services and how they are to be restarted This includes policy on what and how to restart 41 Technology Nuggets produced for Collaboration Grids Group Support in Anabas Collaboration Framework • Hybrid Shared Display • GlobalMMCS is a collaboration system built using services and publish-subscribe messaging • Improved Java Media Framework • 42 Collaborative Groups Illustrated In Anabas Impromptu Examples of applications: private discussions in conference/lecture simultaneous breakout groups Multiple broadcasting in the same session (e.g. audio/voice or video/TV channels for user-defined, such as particular need-to-know, groups) Group & Sharedlets An Anabas Sharedlet is a shared application, e.g. TextChat, VoIP, Video Conferencing, Shared Applications, Whiteboard GroupManager provides preliminary Group information to each sharedlet, include joined sessions, active session, session participants, participant privileges (e.g. host, presenter) in each session Each Sharedlet has its own specific method to handle Group. E.g. Text Sharedlet stores all conversations in every sessions Video Sharedlet displays the videos in the active session only Audio Sharedlet plays the audio in the active session only Shared Display Sharedlet may store data in every sessions or in the active session only The Sharedlet specific method depends on network bandwidth requirement (e.g. Is the network bandwidth sufficient?) and usage difference (e.g. Can past data be disposed? Who can share information?) Video Group Audio Text HSD – Hybrid Shared Display HSD builds on a combination of Classic Shared Display (CSD) and Video Shared Display (VSD) Problem: Video sharing using lossless encoding scheme consumes very high network bandwidth Motivation of HSD: Find the video or fast changing regions in the shared application, and encode them using video codec e.g. H.261 and MPEG4 to save network bandwidth while retaining good visual quality Fig. 1: The left window shows an Anabas operational client sharing a browser window with an embedded video. The window on the right is only for our debugging purposes and shows the rate of pixel change spatial distribution. The superimposed red rectangular outline on both windows is identified by a region finding algorithm operating on right window and used on the left. All pixels inside the red outline are shared with a video codec; all others use a lossless compression technique. 47 Illustration of Hybrid Shared Display on the sharing of a browser window with a fast changing region. HSD Flow Screen capturing Region finding VSD CSD Video encoding Through NaradaBrokering SD screen data encoding Presenter Network transmission (RTP) Network transmission (TCP) Participants Video Decoding (H.261) SD screen data decoding Rendering Rendering Screen display GlobalMMCS Web Service Architecture Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing Session Server XGSP-based Control NaradaBrokering All Messaging NB Scales as distributed Admire Web Services SIP H323 Media Servers Filters High Performance (RTP) and XML/SOAP and .. Access Grid Native XGSP Gateways convert to uniform XGSP Messaging NaradaBrokering 50 Global-MMCS Community Grid This includes an open source protocol independent Web Service “MCU” which will scale to an arbitrary number of users and provides support for thousands of simultaneous users of collaboration services. The function of A/V media server is distributed using NaradaBrokering architecture. • Media Servers mix and convert A/V streams Open XGSP MCU based on the following open source projects • openh323 is basis of H323 Gateway • NIST SIP stack is basis of SIP Gateway • NaradaBrokering is open source messaging • Java Media Framework basis of Media Servers • Helix Community http://www.helixcommunity.org for Real Media http://www.globalmmcs.org open source release 51 Break up into “Services” Monolithic MCU becomes many different “Simple Services” • • • • • • • • Session Control Thumbnail “image” grabber Audio Mixer Video Mixer Codec Conversion Helix Real Streaming PDA Conversion H323/SIP Session/Signaling Gateways As independent can replicate particular services as needed • Codec conversion might require 20 services for 20 streams spread over 5 machines 1000 simultaneous users could require: • 1 session controller, 1 audio mixer, 10 video mixers, 20 codec converters, 2 PDA converters and 20 NaradaBrokers Support with a stream optimized Grid Farm in the sky • Future billion way “Video over IP” serving 3G Phones and home media centers/TV’s could require a lot of computing 52 Collaboration Grid WS-Context HPSearch UDDI Narada Broker Audio Mixer Video Mixer Narada Broker WS-Security Gateway XGSP Media Service Narada Broker Gateway SharedWS Transcoder Thumbnail Replay Record Annotate SharedDisplay WhiteBoard 53 GlobalMMCS and NaradaBrokering All communication – both control and “binary” codecs are handled by NaradaBrokering Control uses SOAP and codecs use RTP transport Each stream is regarded as a “topic” for NB Each RTP packet from this stream is regarded as an “event” for this topic Can use replay and persistency support in NB to support archiving and late clients Can build customized stream management to administer replay, and who gets what stream in what codec NaradaBrokering supports unicast and multicast Use firewall penetration and network monitoring services in NB to improve Q0S 54 XML based General Session Protocol XGSP The XGSP conference control includes three services: Conference management supports user sign-in, user create/terminate/join/leave/inviteinto XGSP conferences conference calendar service Application session management provides users with the service for creating/terminating application sessions, managing session related services such as audio/video mixing Floor control manages the access to shared collaboration resources in different application sessions for example, in a large scale of meetings having thousands of people, only limited people are allowed to become presenters so that they can send audio/video 55 Improved Java Media Framework Performance 60 70 50 60 40 AG VIC 30 SunJMF 20 FastJMF 50 40 SunJMF 30 FastJMF 20 10 10 0 0 1 2 3 4 5 6 7 8 AG VIC 1 2 3 4 5 6 7 8 Video Rendering performance (left: still desktop, right: movie sequence) We plot CPU percentage use versus number of streams rendered 56 GIS TV Chat Video Mixer Webcam GlobalMMCS SWT Client 57 Integration of PDA, Cell phone and Desktop Grid Access NB Support for optimized PDA Communication58 Real time annotation and replay I Opens an Closes the eSports session eSports session Session ID Session Description GlobalMMCS Video 2 Whiteboard area (Snapshot annotation tool area) GlobalMMCS Video 1 Snapshot Button for Video 2 Snapshot Button for Video 1 Timeline Session List Session Information Area Stream Information Area Starting and stopping replay sessions and streams 59 Snapshot during a recording/annotation session 60 Replay of an annotation session 61 Sensor and GIS Grids See also PhD Thesis http://grids.ucs.indiana.edu/ptliupages/publications/GalipAydinThesis.pdf http://grids.ucs.indiana.edu/ptliupages/presentations/galip-aydin-defense.ppt Paper http://grids.ucs.indiana.edu/ptliupages/publications/PEPIRealTimeGISAydin_YB.pdf 62 Managing Real Time GPS Data PhD of Galip Aydin 63 California Real Time Network Continuous GPS Stations (CGPS) are depicted as triangles while the Real-Time stations are represented as circles. Image is obtained from SOPAC GPS Explorer at http://sopac.ucsd.edu/projects/realtime Message Format Network Data Rates CRTN GPS Site Positions (9 Stations) Entire SCIGN Network (250 stations) Time RYO ASCII GML 1 second 1.5KB 4.03KB 48.7KB 1 hour 5.31MB 14.18MB 171.31MB 1 day 127.44MB 340.38MB 4.01GB 1 month 3.8GB 9.97GB 123.3GB 1 year 45.8GB 119.67GB 1.41TB 1year 1.23TB 16.18TB 160TB How does one manage all the data generated by the 85 stations? How can you get just the data you want? Note this is fundamentally different from traditional request/response style Web Services. 64 Processing Real-Time GPS Streams ascii2gm l ryo2as cii RYO Ports ascii2po s 7010 Raw Data Scripp s RTD Server 7011 NB Server ryo2nb Single Station 7012 Displaceme nt Filter GPS Networks RDAHMM Filter Raw Data ryo2nb ryo2as cii ascii2po s Station Health Filter Single Station RDAHMM Filter /SOPAC/GPS/CRTN01/R YO /SOPAC/GPS/CRTN01/A SCII /SOPAC/GPS/CRTN01/P OS /SOPAC/GPS/CRTN01/DS ME A Complete Sensor Message Processing Path, including a data analysis application. 65 65 Application Integration with Real-Time Filters I Station Monitor Filter records real-time positions for 10 minutes and calculates position changes Graph Plotter Application creates visual representation of the positions. 66 66 Application Integration with Real-Time Filters II RDAHMM Filter records real-time positions for 10 minutes and invokes RDAHMM application which determines state changes in the XYZ signal. Graph Plotter Application creates visual representation of the RDAHMM output. 67 67 2 – Multiple Publishers Test Multiple Publishers Test 6 5 2 1 Time Of The Day Simple Filter Transfer Time We add more GPS networks by running more publishers. The results show that 1000 publishers can be supported with no performance loss. This is an operating system 68 68 limit. 22:30 21:00 19:30 18:00 16:30 15:00 13:30 12:00 10:30 9:00 7:30 6:00 0 4:30 Topi c 1B RYO Publisher n 0:00 RYO To ASCII Converter NB Topi cn Server 3 3:00 Topi c 1A 4 1:30 Topi c2 Time (ms) RYO Publisher 1 RYO Publisher 2 4 – Multiple Brokers Test NaradaBrokering allows RYO Publisher RYO To ASCII Converter Topi c 1A NB Server 1 Topi c 1B Simpl e Filter Simpl 1 e Filter 2 Simple Filter 750 Simple Filter 751 NB Serv er 2 NB Server 2 Simple Filter 752 Topi c 1B Simple Filter 1500 creation of Broker networks. We create a two-broker network. Messages published to first broker can be received from the second broker. We take timings on each broker. We connect 750 clients to each broker and run for 24 hours. We chose 750 clients to stay well below the saturation limit. The results show that the performance is very good and 69 69 similar to single broker test. Federating Geographical Information Systems 70 Integrating Map Servers Geographical Information Systems combine online dynamic maps and databases. Many GIS software packages exist GIS servers around state of Indiana ESRI ArcIMS and ArcMap Server (Marion, Vanderburgh, Hancock, Kosciusco, Huntington, Tippecanoe) Autodesk MapGuide (Hamilton, Hendricks, Monroe, Wayne) WTH Mapserver™ Web Mapping Application (Fulton, Cass, Daviess, City of Huntingburg) based on several Open Source projects (Minnesota Map Server) Challenge: make 17 different county map servers from different companies work together. 92 counties in Indiana, so potentially 92 different map servers. 71 Considerations We assume heterogeneity in GIS map and feature servers. GIS services are organized bottom-up rather than top-down. Local city governments, 92 different county governments, multiple Indiana state agencies, inter-state (Ohio, Kentucky) consideration, federal government data providers (Hazus). Must find a way to federate existing services. We must reconcile ESRI, Autodesk, OGC, Google Map, and other technical approaches. Must try to take advantage of Google, ESRI, etc rather than compete. We must have good performance and interactivity. Servers must respond quickly--launching queries to 20 different map servers is very inefficient. Clients should have simplicity and interactivity of Google Maps and similar AJAX style applications. 72 Caching and Tiling Maps Federation through caching: WMS and WFS resources are queried and results are stored on the cache servers. WMS images are stored as tiles. These can be assembled into new images on demand (c. f. Google Maps). Projections and styling can be reconciled. We can store multiple layers this way. We build adapters that can work with ESRI and OGC products; tailor to specific counties. Serving images as tiles Client programs obtain images directly from our tile server. That is, don’t go back to the original WMS for every request. Similar approaches can be used to mediate WFS requests. This works with Google Map-based clients. The tile server can re-cache and tile on demand if tile sections are missing. 73 Google Maps Server Marion County Map Server (ESRI ArcIMS) Must provide adapters for each Map Server type . Tile Server requests map tiles at all zoom levels with all layers. These are converted to uniform projection, indexed, and stored. Overlapping images are combined. Hamilton County Map Server (AutoDesk) Adapter Adapter Adapter Tile Server Cache Server Browser + Google Map API Cass County Map Server (OGC Web Map Server) Browser client fetches image tiles for the bounding box using Google Map API. The cache server fulfills Google map calls with cached tiles at the requested bounding box that fill the bounding box. 74 74 Map Server Example Marion and Hancock county parcel plots and IDs are overlaid on IU aerial photographic images that are accessed by this mashup using Google Map APIs. We cache and tile all the images from several different map servers. (Marion and Hancock actually use different commercial software.) 75