Top Banner
1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 http://grids.ucs.indiana.edu/ptliupages/present ations/cnitjuly5-05.ppt [email protected] http:// www.infomall.org
64

1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

Jan 19, 2016

Download

Documents

Laurel Taylor
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

11

Grids for Real-time and Streaming Applications

TIWDC 2005CNIT Tyrrhenian International Workshop on Digital

Communications July 4-6 2005

Geoffrey Fox

Computer Science, Informatics, PhysicsPervasive Technology Laboratories

Indiana University Bloomington IN 47401

http://grids.ucs.indiana.edu/ptliupages/presentations/[email protected]

http://www.infomall.org

Page 2: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

22

Summary This presentation describes how Grids can support

sensors or instruments with high performance streaming information

Grids, Web Services and P2P Networks are all though of as services connected by messages

We describe the WS-* specifications and their role We illustrate with three projects from the

Community Grids Laboratory NaradaBrokering: Software Overlay Network CrisisGrid and SERVOGrid: GIS and Sensor Grids GlobalMMCS: Service oriented collaboration Grid

Page 3: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

33

Internet Scale Distributed Services Grids use Internet technology and are distinguished by managing

or organizing sets of network connected resources• Classic Web allows independent one-to-one access to

individual resources • Grids integrate together and manage multiple Internet-

connected resources: People, Sensors, computers, data systems

Organization can be explicit as in• TeraGrid which federates many supercomputers; • Deep Web Technologies Information Retrieval Grid which

federates multiple data resources; • CrisisGrid which federates first responders, commanders,

sensors, GIS, (Tsunami) simulations, science/public data Organization can be implicit as in Internet resources such as

curated databases and simulation resources that “harmonize a community”

Page 4: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

44

Different Visions of the Grid Grid just refers to the technologies

• Or Grids represent the full system/Applications In the USA, DoD’s vision of Network Centric Computing can be

considered a Grid (linking sensors, warfighters, commanders, backend resources) and they are building the GIG (Global Information Grid)

Utility Computing or X-on-demand (X=data, computer ..) is major computer Industry interest in Grids and this is key part of enterprise or campus Grids

e-Science or Cyberinfrastructure are virtual organization Grids supporting global distributed science (note sensors, instruments are people are all distributed)

Skype (Kazaa) VOIP system is a Peer-to-peer Grid (and VRVS/GlobalMMCS like Internet A/V conferencing are Collaboration Grids)

Commercial 3G Cell-phones and ad-hoc network initiatives are forming mobile Grids

Page 5: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

55

e-moreorlessanything and the Grid e-Business captures an emerging view of corporations as

dynamic virtual organizations linking employees, customers and stakeholders across the world. • The growing use of outsourcing is one example

e-Science is the similar vision for scientific research with international participation in large accelerators, satellites or distributed gene analyses.

The Grid integrates the best of the Web, traditional enterprise software, high performance computing and Peer-to-peer systems to provide the information technology e-infrastructure for e-moreorlessanything.

A deluge of data of unprecedented and inevitable size must be managed and understood.

People, computers, data and instruments must be linked. On demand assignment of experts, computers, networks and

storage resources must be supported

Page 6: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

66

Some Important Styles of Grids Computational Grids were origin of concepts and link

computers across the globe – high latency stops this from being used as parallel machine• Typically Compute/File Grids where information (messages) exchanged

by writing and reading files Knowledge and Information Grids link sensors and information

repositories as in Virtual Observatories or BioInformatics Education Grids link teachers, learners, parents as a VO with

learning tools, distant lectures etc. e-Science Grids link multidisciplinary researchers across

laboratories and universities Community Grids focus on Grids involving large numbers of

peers rather than focusing on linking major resources – links Grid and Peer-to-peer network concepts

Semantic Grid links Grid, and AI community with Semantic web (ontology/meta-data enriched resources) and Agent concepts

Collaboration Grids support the linkage of multiple people and electronic resources (often peer-to-peer architecture)

Page 7: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

77

Information/Knowledge Grids Distributed (10’s to 1000’s) of data sources (instruments,

file systems, curated databases …) Data Deluge: 1 (now) to 100’s petabytes/year (2012)

• Moore’s law for Sensors Possible filters assigned dynamically (on-demand)

• Run image processing algorithm on telescope image• Run Gene sequencing algorithm on compiled data

Needs decision support front end with “what-if” simulations

Metadata (provenance) critical to annotate data

Integrate across experiments as in multi-wavelength astronomy

Data Deluge comes from pixels/year available

Page 8: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

88

Database Database

Analysis and VisualizationPortal

RepositoriesFederated Databases

Data Filter

Services

Field Trip DataStreaming Data

Sensors

?DiscoveryServices

SERVOGrid

ResearchSimulations

Research Education

CustomizationServices

From Research

to Education

EducationGrid ComputerFarmGrid of Grids: Research Grid and Education Grid

GISGrid

Sensor GridDatabase Grid

Compute Grid

Page 9: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

9

Virtual Observatory Astronomy GridIntegrate Experiments

Radio Far-Infrared Visible

Visible + X-ray

Dust Map

Galaxy Density Map

Page 10: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1010

HPCSimulation

DataFilter

Data FilterD

ata

Filt

er

Data

Filter

Data

Filter

Distributed Filters massage dataFor simulation

Other

Grid

and W

eb

Servi

ces

AnalysisControl

Visualize

SERVOGrid (Complexity) Computing Model

Grid

OGSA-DAIGrid Services

This Type of Gridintegrates with

Parallel computingMultiple HPC

facilities but only use one at a time

Many simultaneous data sources and

sinks

Grid Data Assimilation

Databases and/or Sensors

Page 11: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1111

Sources of Grid Technology Grids support distributed collaboratories or virtual

organizations integrating concepts from The Web Agents Distributed Objects (CORBA Java/Jini COM) Globus, Legion, Condor, NetSolve, Ninf and other High

Performance Computing activities Peer-to-peer Networks With perhaps the Web and P2P networks being the most

important for “Information Grids” and Globus for “Compute/File Grids”

Page 12: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1212

The Essence of Grid Technology? We will start from the Web view and assert that basic

paradigm is Meta-data rich Web Services communicating via

messages These have some basic support from some runtime

such as .NET, Jini (pure Java), Apache Tomcat+Axis (Web Service toolkit), Enterprise JavaBeans, WebSphere (IBM) or GT3/4 (Globus Toolkit 3/4)• These are the distributed equivalent of operating system

functions as in UNIX Shell

• Called Hosting Environment or platform W3C standard WSDL defines IDL (Interface

standard) for Web Services

Page 13: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1313

A typical Web Service In principle, services can be in any language (Fortran .. Java ..

Perl .. Python) and the interfaces can be method calls, Java RMI Messages, CGI Web invocations, totally compiled away (inlining)

The simplest implementations involve XML messages (SOAP) and programs written in net friendly languages like Java and Python

PaymentCredit Card

WarehouseShippingcontrol

WSDL interfaces

WSDL interfaces

Security CatalogPortalService

Web Services

Web Services

Page 14: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1414

Classic Grid Architecture

Database Database

Netsolve

Computing

SecurityCollaboration

CompositionContent Access

Resources

Clients Users and Devices

Middle TierBrokers Service Providers

Middle Tier becomes Web Services

Page 15: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1515

Peer to Peer Grid

DatabaseDatabase

Peers

Peers

Peer to Peer GridA democratic organization

User FacingWeb Service Interfaces

Service FacingWeb Service Interfaces

Event/MessageBrokers

Event/MessageBrokers

Event/MessageBrokers

Page 16: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1616

What is Happening? Grid ideas are being developed in (at least) four communities

• Web Service – W3C, OASIS, (DMTF)• Grid Forum (High Performance Computing, e-Science)• Enterprise Grid Alliance (Commercial “Grid Forum” with a

near term focus) Service Standards are being debated Grid Operational Infrastructure is being deployed Grid Architecture and core software being developed

• Apache has several important projects as do academia; large and small companies

Particular System Services are being developed “centrally” – OGSA framework for this in GGF; WS-* for OASIS/W3C/Microsoft-IBM

Lots of fields are setting domain specific standards and building domain specific services

USA started Grids but now Europe is probably in the lead and Asia will soon catch USA if momentum (roughly zero for USA) continues

Page 17: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1717

Technical Activities of Note Look at different styles of Grids such as Autonomic (Robust

Reliable Resilient) New Grid architectures hard due to investment required Program the Grid – Workflow Access the Grid – Portals, Grid Computing Environments Critical Services Such as

• Security – build message based not connection based

• Notification – event services

• Metadata – Use Semantic Web, provenance

• Fabric and Service Management

• Databases and repositories – instruments, sensors

• Computing – Submit job, scheduling, distributed file systems

• Visualization, Computational Steering

• Network performance

LowLevelWS-*

High Levele.g. OGSA

Page 18: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1818

Web services Web Services build

loosely-coupled, distributed applications, (wrapping existing codes and databases) based on the SOA (service oriented architecture) principles.

Web Services interact by exchanging messages in SOAP format

The contracts for the message exchanges that implement those interactions are described via WSDL interfaces.

Databases

Humans

ProgramsComputational resources

Devices

reso

urce

s

BP

EL,

Jav

a, .N

ET

serv

ice

logi

c

<env:Envelope> <env:Header> ... </env:header> <env:Body> ... </env:Body></env:Envelope> m

essa

ge p

roce

ssin

g

SO

AP

and

WS

DL

SOAP messages

Page 19: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

1919

Philosophy of Web Service Grids Much of Distributed Computing was built by natural

extensions of computing models developed for sequential machines

This leads to the distributed object (DO) model represented by Java and CORBA• RPC (Remote Procedure Call) or RMI (Remote Method

Invocation) for Java Key people think this is not a good idea as it scales badly

and ties distributed entities together too tightly• Distributed Objects Replaced by Services

Note CORBA was considered too complicated in both organization and proposed infrastructure• and Java was considered as “tightly coupled to Sun”• So there were other reasons to discard

Thus replace distributed objects by services connected by “one-way” messages and not by request-response messages

Page 20: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2020

SOAP Message Structure I SOAP Message consists of headers and a body

• Headers could be for Addressing, WSRM, Security, Eventing etc. Headers are processed by handlers or filters controlled by

container as message enters or leaves a service Body processed by Service itself The header processing defines the “Web Service Distributed

Operating System” Containers queue messages; control processing of headers and

offer convenient (for particular languages) service interfaces Handlers are really the core Operating system services as they

receive and give back messages like services; they just process and perhaps modify different elements of SOAP Message

H1 H4H3H2 Body F1 F2 F3 F4 Service

Container Handlers

Container Workflow

Page 21: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2121

Merging the OSI Levels All messages pass through multiple operating systems and each

O/S thinks of message as a header and a body Important message processing is done at

• Network

• Client (UNIX, Windows, J2ME etc)

• Web Service Header

• Application

EACH is < 1ms (except forsmall sensor clients andexcept for complex security)

But network transmissiontime is often 100ms or worse

Thus no performance reasonnot to mix up places processingdone

IP

TCP

SOAP

App

Page 22: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2222

Consequences of Rule of the Millisecond Useful to remember critical time scales

• 1) 0.000001 ms – CPU does a calculation• 2a) 0.001 to 0.01 ms – Parallel Computing MPI latency• 2b) 0.001 to 0.01 ms – Overhead of a Method Call• 3) 1 ms – wake-up a thread or process (do simple things

on a PC)• 4) 10 to 1000 ms – Internet delay

2a), 4) implies geographically distributed metacomputing can’t in general compete with parallel systems

3) << 4) implies a software overlay network is possible without significant overhead• We need to explain why it adds value of course!

2b) versus 3) and 4) describes regions where method and message based programming paradigms important

Page 23: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2323

Plethora of Web Service Standards Java is very powerful partly due to its many “frameworks” that

generalize libraries e.g.• Java Media Framework JMF• Java Database Connectivity JDBC

Web Services have a correspondingly collections of specifications that represent critical features of its distributed operating systems for

About 60 WS-* specifications introduced in last 2-3 years• These are low level with higher level standards such as access

database (OGSA-DAI) or “Submit a job” built on top of these Many battles both between standard bodies and between companies

as each tries to set standards they consider best; thus there are multiple standards for many of key Web Service functionalities

Microsoft a key player and stands to benefit as Web Services open up enterprise software space to all participants• e.g. MQSeries (IBM) and Tibco have to change their messaging

systems to support new open standards

Page 24: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2424

WS-I Interoperability Critical underpinning of Grids and Web Services is the

gradually growing set of specifications in the Web Service Interoperability Profiles

Web Services Interoperability (WS-I) Interoperability Profile 1.0a." http://www.ws-i.org. gives us XSD, WSDL1.1, SOAP1.1, UDDI in basic profile and parts of WS-Security in their first security profile.

We imagine the “60 Specifications” being checked out and evolved in the cauldron of the real world and occasionally best practice identifies a new specification to be added to WS-I which gradually increases in scope• Note only 4.5 out of 60 specifications have “made it” in this

definition

Page 25: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

25

Bit levelInternet

(OSI Stack)

Layered Architecture for Web Services and Grids

Base Hosting EnvironmentProtocol HTTP FTP DNS …

Presentation XDR …Session SSH …

Transport TCP UDP …Network IP …

Data Link / Physical

ServiceInternet

Application Specific GridsGenerally Useful Services and Grids

Workflow WSFL/BPELService Management (“Context etc.”)

Service Discovery (UDDI) / InformationService Internet Transport Protocol

Service Interfaces WSDL

ServiceContext

HigherLevelServices

Page 26: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

WS-* implies the Service Internet We have the classic (CISCO, Juniper ….) Internet routing the

flood of ordinary packets in OSI stack architecture Web Services build the “Service Internet” or IOI (Internet on

Internet) with• Routing via WS-Addressing not IP header• Fault Tolerance (WS-RM not TCP)• Security (WS-Security/SecureConversation not IPSec/SSL)• Data Transmission by WS-Transfer not HTTP• Information Services (UDDI/WS-Context not

DNS/Configuration files)• At message/web service level and not packet/IP address level

Software-based Service Internet possible as computers “fast” Familiar from Peer-to-peer networks and built as a software

overlay network defining Grid (analogy is VPN) SOAP Header contains all information needed for the “Service

Internet” (Grid Operating System) with SOAP Body containing information for Grid application service

Page 27: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2727

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 “globs” sharing common security,

user profile, file access .. services

Page 28: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

28

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

Overlayand ComposeGrids of Grids

Methods Services Component Grids

CPUs Clusters ComputeResource Grids

MPPs

DatabasesFederatedDatabases

Sensor Sensor Nets

DataResource Grids

Page 29: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

2929

Component Grids So we build collections of Web Services which we

package as component Grids• Visualization Grid• Sensor Grid• Management Grid• Utility Computing Grid• Collaboration Grid• Earthquake Simulation Grid• Control Room Grid• Crisis Management Grid• Intelligence Data-mining Grid

We build bigger Grids by composing component Grids using the Service Internet

Page 30: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3030

Critical Infrastructure (CI) Grids built as Grids of Grids

Gas Servicesand Filters

Physical Network

Registry Metadata

Flood Servicesand Filters

Flood CIGrid Gas CIGrid… Electricity CIGrid …

Data Access/Storage

Security WorkflowNotification Messaging

Portals Visualization GridCollaboration Grid

Sensor Grid Compute GridGIS Grid

Core Grid Services

Page 31: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3131

The WS-* Infrastructure Core Grid Services build on and/or extend the 60 or so

WS-* Infrastructure specifications which define• Container Model, XML, WSDL …• Service Internet ( (Reliable) Messaging, Addressing)

including extensions for high performance transport and representation. This is natural basis for streaming applications

• Notification (WS-Notification and WS-Eventing)• Workflow and Transactions• Security• Service Discovery • Metadata and State including lifetime• Management (service interactions)• Policy, Agreements• Portals and User Interfaces

Page 32: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3232

Role of WS-* specifications Service Internet and Notification define a distributed

publish-subscribe software overlay network• SOAP Intermediaries give you needed routing

Workflow specifies how the services (sensors and their aggregators and transformers) are linked together

WS-Security gives you message based security Service discovery, metadata and state define several

types of metadata catalogs (MDS, UDDI, Chord …) Management defines the protocol and information

exchange between services or between a service and a proxy• Intel will support plug & play by putting WS-Management on

every chip WS-Policy allows one to specify HOW to do things WSRP specifies how users interact with services

Page 33: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3333

Core (Commonly Used) Grid Services (OGSA) Higher level discovery and metadata – Registries,

catalogs, Semantic Grid, Provenance Higher level security with fine grain authorization,

session level security etc. Higher level execution services building on workflow

and including job management for simulations Infrastructure services giving common interfaces to

heterogeneous resource such as storage and computers Data and Information services including federated

databases and use of CIM Self and distributed (resource) management for

autonomic features, configuration Collaboration, Sensors, Visualization, GIS Not in OGSA

Page 34: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3434

3 Real-time Grid Projects in Community Grids Laboratory

htpp://www.naradabrokering.org provides Web service (and JMS) compliant distributed publish-subscribe messaging (software overlay network)

htpp://www.globlmmcs.org is a service oriented (Grid) collaboration environment (audio-video conferencing) including mobile clients

http://www.crisisgrid.org is an OGC (open geospatial consortium) Geographical Information System (GIS) compliant GIS and Sensor Grid

The work is still in progress but NaradaBrokering is quite mature

All software is open source and freely available

Page 35: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

35

NaradaBrokering

Stream

NB supports messagesand streams

NB role for Grid isSimilar toMPI role for MPP

Queues

Page 36: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

36

Multiple protocol transport supportIn publish-subscribeParadigm with differentProtocols on each link

Transport protocols supported include TCP,  Parallel TCP streams, UDP, Multicast, SSL, HTTP and HTTPS.Communications through authenticating proxies/firewalls & NATs. Network QoS based RoutingAllows Highest performance transport

Subscription Formats Subscription can be Strings, Integers, XPath queries, Regular Expressions, SQL and tag=value pairs.

Reliable delivery Robust and exactly-once delivery in presence of failures

Ordered delivery Producer Order and Total Order over a message type. Time Ordered delivery using Grid-wide NTP based absolute time

Recovery and Replay Recovery from failures and disconnects.Replay of events/messages at any time. Buffering services.

Security Message-level WS-Security compatible security

Message Payload options

Compression and Decompression of payloadsFragmentation and Coalescing of payloads

Messaging Related Compliance

Java Message Service (JMS) 1.0.2b compliant Support for routing P2P JXTA interactions.

Grid Feature Support NaradaBrokering enhanced Grid-FTP. Bridge to Globus GT3.

Web Services supported

Implementations of WS-ReliableMessaging, WS-Reliability and WS-Eventing.

Traditional NaradaBrokering Features

Page 37: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3737

Features for mid 2005 Releases Production implementations of WS-Eventing, WS-RM and

WS-Reliability. • WS-Notification when specification agreed

SOAP message support and NaradaBrokers viewed as SOAP Intermediaries

Active replay support: Pause and Replay live streams. Stream Linkage: can link permanently multiple streams –

using in annotating real-time video streams Replicated storage support for fault tolerance and resiliency

to storage failures. Management: HPSearch Scripting Interface to streams and

services Broker Discovery: Locate appropriate brokers

Page 38: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3838

hop-3

0

1

2

3

4

5

6

7

8

9

100 1000

Tra

nsit

Del

ay

(Mill

isec

onds

)

Message Payload Size (Bytes)

Mean transit delay for message samples in NaradaBrokering: Different communication hops

hop-2

hop-5 hop-7

Pentium-3, 1GHz, 256 MB RAM100 Mbps LAN

JRE 1.3 Linux

Page 39: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

3939

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

1000 1500 2000 2500 3000 3500 4000 4500 5000

Sta

nd

ard

De

via

tion

(M

illis

eco

nd

s)

Message Payload Size (Bytes)

Standard Deviation for message samples in NaradaBrokering Different communication hops - Internal Machines

hop-2hop-3hop-5hop-7

Page 40: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4040

Possible NaradaBrokering Futures Support for replicated storages within the system.

• In a system with N replicas the scheme can sustain the loss of N-1 replicas. Clarification and expansion of NB Broker to act as a WS

container Integration with Axis 2.0 as Message Oriented Middleware

infrastructure Support for High Performance transport and representation for

Web Services• Needs Context catalog under development

Performance based routing• The broker network will dynamically respond to changes in the network

based on metrics gathered at individual broker nodes. Replicated publishers for fault tolerance Pure client P2P implementation (originally we linked to JXTA) Security Enhancements for fine-grain topic authorization, multi-

cast keys, Broker attacks

Page 41: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4141

SOAP Message Structure II Content of individual headers and the body is defined by XML

Schema associated with WS-* headers and the service WSDL SOAP Infoset captures header and body structure XML Infoset for individual headers and the body capture the

details of each message part Web Service Architecture requires that we capture Infoset

structure but does not require that we represent XML in angle bracket <content>value</content> notation

H1 H4H3H2 Body

bp1 bp2 bp3hp1 hp2 hp3 hp4 hp5

Infoset representssemantic structureof message and itsparts

Page 42: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4242

High Performance XML I There are many approaches to efficient “binary”

representations of XML Infosets• MTOM, XOP, Attachments, Fast Web Services• DFDL is one approach to specifying a binary format

Assume URI-S labels Scheme and URI-R labels realization of Scheme for a particular message i.e. URI-R defines specific layout of information in each message

Assume we are interested in conversations where a stream of messages is exchanged between two services or between a client and a service i.e. two end-points

Assume that we need to communicate fast between end-points that understand scheme URI-S but must support conventional representation if one end-point does not understand URI-S

Page 43: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4343

High Performance XML II First Handler Ft=F1 handles Transport protocol; it negotiates

with other end-point to establish a transport conversation which uses either HTTP (default) or a different transport such as UDP with WSRM implementing reliability

• URI-T specifies transport choice Second Handler Fr=F2 handles representation and it negotiates

a representation conversation with scheme URI-S and realization URI-R

• Negotiation identifies parts of SOAP header that are present in all messages in a stream and are ONLY transmitted ONCE

Fr needs to negotiate with Service and other handlers illustrated by F3 and F4 below to decide what representation they will process

F1 F2 F3 F4

Container Handlers

Page 44: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4444

High Performance XML III Filters controlled by Conversation Context convert messages

between representations using permanent context (metadata) catalog to hold conversation context

Different message views for each end point or even for individual handlers and service within one end point• Conversation Context is fast dynamic metadata service to

enable conversions NaradaBrokering will implement Fr and Ft using its support of

multiple transports, fast filters and message queuing;

H1 H4H3H2 Body

Service

Conversation ContextURI-S, URI-R, URI-T

Replicated Message Header

Transported Message Handler Message View

ServiceMessage View

Container Handlers

Ft Fr F3 F4

Page 45: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4545

GIS and Sensor Grids OGC has defined a suite of data structures and services

to support Geographical Information Systems and Sensors

GML Geography Markup language defines specification of geo-referenced data

SensorML and O&M (Observation and Measurements) define meta-data and data structure for sensors

Services like Web Map Service, Web Feature Service, Sensor Collection Service define services interfaces to access GIS and sensor information

Grid workflow links services that are designed to support streaming input and output messages

We are building Grid (Web) service implementations of these specifications for NASA’s SERVOGrid

Page 46: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4646

Raw to GML via NaradaBrokering The Scripps Orbit and Permanent Array Center

(SOPAC) GPS station network data published in RYO format is converted to ASCII and GML

Page 47: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4747

A Screen Shot From the WMS Client

Page 48: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4848

WMS uses WFS that uses data sources

Railroads

RiversBridges

Interstate Highways

90

WFS Server

SQL Query

Railroads

[a-b]

SQ

L Q

uery

Riv

er [a

-d]

Bri

dge

[1-5

]

SQL QueryHigway [12-18]

`

ClientWMS

GetFeature

FeatureCollection

Get

Feat

ure

Feat

ureC

olle

ctio

n

<gml:featureMember> <fault> <name> Northridge2 </name> <segment> Northridge2

</segment> <author> Wald D. J.</author> <gml:lineStringProperty> <gml:LineString

srsName="null"> <gml:coordinates>

-118.72,34.243 -118.591,34.176 </gml:coordinates>

</gml:LineString> </gml:lineStringProperty> </fault> </gml:featureMember>

Page 49: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

4949

Role of WS-Context There are many WS-* specifications addressing meta-

data and both many approaches and many trade-offs We heard about Distributed Hash Tables (Chord) to

achieve scalability in large scale networks Managed dynamic workflows as in sensor integration

and collaboration require • Fault-tolerance• Ability to support dynamic changes with few millisecond

delay• But only a modest number of involved services (up to 1000’s)

We are building a WS-Context compliant metadata catalog supporting distributed or central paradigms

Use for OGC Web catalog service with UDDI for slowly varying meta-data

Page 50: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5050

Controlling Streaming Data NaradaBrokering capabilities can be created by

messages (as in WS-*) and by a scripting interface that allows topics to be created and linked to external services

Firewall traversal algorithms and network link performance data can be accessed

HPSearch offers this via JavaScript This scripting engine provides a simple workflow

environment that is useful for setting up Sensor Grids Should be made compatible with Web Service

workflow (BPEL) and streaming workflow models Triana and Kepler• Also link to WS-Management

Page 51: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5151

Collaboration Grids As with all Grids, we will use a SOA and identify what

core Grid (WS) services one needs and build on top of this• Core collaboration interface specification XGSP• Common collaboration services such as session management

and secure software multicast• Customized collaboration services in particular domains

Support asynchronous and synchronous collaboration• Most Grids naturally support asynchronous sharing

Need to see how to link to existing SIP and H323 capabilities

Need to examine current monolithic collaboration architectures and divide into simple services• MCU becomes multiple services

Page 52: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5252

Collaboration and Web Services Collaboration has

a) Mechanism to set up members (people, devices) of a “collaborative sessions”

b) Shared generic tools such as text chat, white boards, audio-video conferencing

c) Shared applications such as Web Pages, PowerPoint, Visualization, maps, (medical) instruments ….

b) and c) are “just shared objects” where objects could be Web Services but rarely are at moment

• We can port objects to Web Services and build a general approach for making Web services collaborative

a) is a “Service” which is set up in many different ways (H323 SIP JXTA are standards supported by multiple implementations) – we make it a WS

Page 53: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5353

Shared Event Collaboration All collaboration is about sharing events defining state changes

• Audio/Video conferencing shares events specifying in compressed form audio or video

• Shared display shares events corresponding to change in pixels of a frame buffer

• Instant Messengers share updates to text message streams

• Microsoft events for shared PowerPoint (file replicated between clients) as in Access Grid

Finite State Change NOT Finite State Machine architecture Using Web services allows one to expose update events of all

kinds as message streams Need publish/subscribe approach to share messages (NB) plus System to control “session” – who is collaborating and rules

• XGSP is XML protocol for controlling collaboration building on H323 and SIP

Page 54: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5454

Web Services and M-MVC Web Services are naturally

M-MVC – Message based Model View Controller with • Model is Web Service

• Controller is Messages (NaradaBrokering)

• View is rendering

R F I O

ViewView

PortalAggregate WS User Facing fragments

desktop handheld phone

Input port Output port

User Facing Port

PortFacingResource

Web ServiceApplication or

Model

WSRP and JSR168 Portlets

R F I O

ViewView

PortalAggregate WS User Facing fragments

desktop handheld phone

Input port Output port

User Facing Port

PortFacingResource

Web ServiceApplication or

Model

R F I O

ViewView

PortalAggregate WS User Facing fragments

PortalAggregate WS User Facing fragments

desktopdesktop handheldhandheld phonephone

Input port Output port

User Facing Port

PortFacingResource

Web ServiceApplication or

ModelUser Facing Port

PortFacingResource

Web ServiceApplication or

Model

WSRP and JSR168 Portlets

Model

Subscribe UI event

View

Broker

Subscribe re

nderingPublis

h UI event

Publish rendering

Explicit message-based Publish/Subscribe MVC model

ModelModel

Subscribe UI event

View

BrokerBroker

Subscribe re

nderingPublis

h UI event

Publish rendering

Explicit message-based Publish/Subscribe MVC model

As Controller

Page 55: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5555

WSDisplay

WSViewer

WS Display

WS ViewerEvent

(Message)Service

Master

WSDisplay

WS Viewer

Collaboration as a WSSet up Session with XGSP

WebServic

e

F

I

U

O

F

I

R

O

Shared Input Port (Replicated WS) Collaboration

OtherParticipants

WebServic

e

F

I

U

O

F

I

R

O

WebServic

e

F

I

U

O

F

I

R

O

Page 56: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5656

WSDisplay

WSViewer

WS Display

WS Viewer

Event(Message)

Service

Master

WSDisplay

WS Viewer

Web Service MessageInterceptor

Collaboration as a WSSet up Session with XGSP

Application orContent source

WSDL

Web Service

F

I

U

O

F

I

R

O

Shared Output Port Collaboration

OtherParticipants

Text ChatWhiteboardMultiplemasters

Page 57: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5757

GlobalMMCS Web Service Architecture

SIP H323 Access Grid Native XGSPAdmire

Gateways convert to uniform XGSP Messaging

High Performance (RTP)and XML/SOAP and ..

Media ServersFilters

Session ServerXGSP-based Control

NaradaBrokeringAll Messaging

Use Multiple Media servers to scale to many codecs and manyversions of audio/video mixing

NB Scales asdistributed

WebServices

NaradaBrokering

Page 58: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5858

GlobalMMCS Architecture

Event Messaging Service

(NaradaBrokering)

XGSP Conference Control Service

Audio Video

Web Service

Instant Messaging

Web Service

Shared Display

Web Service

Shared

….

Web Service

Non-WS collaboration control protocols are “gatewayed” to XGSP

NaradaBrokering supports TCP (chat, control, shared display, PowerPoint etc.) and UDP (Audio-Video conferencing)

Page 59: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

5959

XGSP Example: New Session <CreateAppSession>

<ConferenceID> GameRoom </ConferenceID><ApplicationID> chess </ApplicationID><AppSessionID> chess-0 </AppSessionID><AppSession-Creator> John </AppSession-Creator><Private> false </Private>

</CreateAppSession><SetAppRole>

<AppSessionID> chess-0 </AppSessionID><UserID> Bob </UserID><RoleDescription> black </RoleDescription>

</SetAppRole><SetAppRole>

<AppSessionID> chess-0 </AppSessionID><UserID> Jack </UserID><RoleDescription> white </RoleDescription>

</SetAppRole>

Page 60: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

6060

XGSP AV Signaling Protocol with H.323H323 Terminal H323 Gateway

H225.Setup

H225.Connect

JoinAVSession

JoinAVSession OK

Terminal CapabilitySet

ACK

Terminal Capability Set

ACK

OpenLogicChannel ( Video )

ACK

JoinAVSession (Video)ACK

OpenLogicChannel ( Video )

OpenLogicChannel ( Audio )

ACK

OpenLogicChannel ( Audio )

ACK JoinAVSession (Audio)

ACK with video RTPLink<IP Addr, Port>

ACK with Audio RTPLink<IP Addr, Port>

with the RTPLinks <IP Addr, Port>

& capability description

H.225Call Setup

H.245CapabilityExchange

OpenAudio &VideoLogicChannels

XGSP H323Session server

Page 61: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

61

Average Video Delays for one broker – Performance scales proportional to number of brokers

Latency ms

# Receivers

One sessionMultiple sessions

30 frames/sec

Page 62: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

62

Multiple Brokers – Multiple Meetings• 4 brokers can support 48 meetings with 1920 users in total with excellent

quality.• This number is higher than the single video meeting tests in which four

brokers supported up to 1600 users.• When we repeated the same test with meeting size 20, 1400 participants

can be supported.

Number of Meetings

Totalusers

Broker1(ms)

Broker2(ms)

Broker3(ms)

Broker4(ms)

40 1600 3.34 6.93 8.43 8.37

48 1920 3.93 8.46 14.62 10.59

60 2400 9.04 170.04 89.97 25.83

Number of Meetings

Total users

Broker1(%)

Broker2(%)

Broker3(%)

Broker4(%)

40 1600 0.00 0.00 0.00 0.00

48 1920 0.12 0.29 0.50 0.50

60 2400 0.16 1.30 2.51 2.82

Latency for meeting size 40

loss rates

Page 63: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

6363

PDA Download video (using 4-way video mixer service)

PDA

Desktop

Page 64: 1 Grids for Real-time and Streaming Applications TIWDC 2005 CNIT Tyrrhenian International Workshop on Digital Communications July 4-6 2005 Geoffrey Fox.

6464

Linked Stream applications Note NaradaBrokering supports composite streams

linking “atomic streams” Support hybrid codecs that mix TCP (lossless) and RTP

(lossy) algorithms Supports time-stamped annotations of sensor streams Atomic and composite streams can be archived and

replayed

VideoAnnotated Video Frame

e-Sports Project