Community Grids work on Messaging A/V Conferencing Portals Cardiff January 30 2003 Geoffrey Fox Community Grids Lab Indiana University [email protected].

Download Report

Transcript Community Grids work on Messaging A/V Conferencing Portals Cardiff January 30 2003 Geoffrey Fox Community Grids Lab Indiana University [email protected].

Community Grids work on Messaging A/V Conferencing Portals Cardiff January 30 2003

Geoffrey Fox Community Grids Lab Indiana University [email protected]

What do we do?

• Portals : co-chair of Grid Computing Environment research group at GGF • Metadata : co-chair at GGF of Semantic Grid RG – Apply to Earth Science using GML (Geography mark up) • Collaboration : built a Web Service based collaboration environment sharing applications and audio/video conferencing to desktops and PDA ’s • Web Service model for all applications • Messaging : Open “Grid Messaging System” NaradaBrokering linking P2P and (Cellular) Grid • Autonomic services using managed messages • Applications – CrisisGrid – Indiana and openGIS Consortium – SERVOGrid for Earthquake Science – Biocomplexity Grid-based Computational Environment

NaradaBrokering

Audio/Video Conferencing Client

Computer Modem

NaradaBrokering Broker Network

Minicomputer Firewall Server Peers Workstation Peers PDA

Audio/Video Conferencing Client

Laptop computer

    

“GridMPI” v. NaradaBrokering

In parallel computing , MPI and PVM one needed’ for inter-node messaging provided “all the features NB aims to play same role for the Grid but the requirements and constraints are very different

NB is not MPI ported to a Grid/Globus environment Typically MPI aiming at microsecond latency but for Grid , time scales are different

100 millisecond quite normal network latency

30 millisecond typical packet time sensitivity (this is one audio or video frame) but even here can buffer 10-100 frames on client (conferencing to streaming)

1 millisecond is time for a Java server to “think” Jitter in latency (transit time through broker) due to routing, processing (in NB) or packet loss recovery is important property Grids need and can use software supported message functions and trade-offs between hardware and software routing different from parallel computing

  

NaradaBrokering

Based on a network of cooperating broker nodes

Cluster based architecture allows system to scale in size Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems.

• • •

Now has several core functions

Reliable order-preserving “Optimized” Message transport (based on performance measurement) in heterogeneous multi-link fashion with TCP, UDP, SSL, HTTP, and will add GridFTP

General publish-subscribe including JMS & JXTA and support for RTP-based audio/video conferencing Distributed XML event selection using XPATH metaphor QoS, Security profiles for sent and received messages Interface with reliable storage for persistent events

Laudable Features of NaradaBrokering

 

Is open source http://www.naradabrokering.org

Will have client “plug-in” as well as standalone brokers

Will have a discovery service to find nearest brokers

Does tunnel through most firewalls without requiring ports to be opened

Supports JXTA, JMS (Java Message Service) and more powerful native mode

Transit time < 1 millisecond per broker

Will have setup and broker network administration module

NaradaBrokering Naturally Supports

     

Filtering of events to support different client requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs) Virtualization of addressing, routing, interfaces Federation and Mediation of multiple instances of Grid services as illustrated by

Composition of Gridlets computers in P2P case) into full Grids (Gridlets are single

JXTA with peer-group forming a Gridlet Monitoring of messages for Service management and general autonomic functions Fault tolerant data transport Virtual Private Grid with fine-grain Security model

Grid Messaging Substrate

SOAP+HTTP GridFTP RTP ….

Standard client-server style communication.

Consumer Service Substrate mediated communication removes transport protocol dependence. Consumer

SOAP+HTTP GridFTP RTP ….

Messaging Substrate Service

Any Protocol satisfying QoS

Protocols have become overloaded e.g. MUST use UDP for A/V latency requirements but MUSTn’t use UDP as firewall will not support ………

A

Heterogeneous Routing in NB

Satellite UDP Firewall HTTP Fast Link B 1 Hand-Held Protocol

Software Multicast NB Brokers Client Filtering

Dial-up Filter B 3 B 2 

Mediation in Cellular Grid using NB as interface agent

Build Virtual Private Grid Gridlets Grid formed from Multiple cells

 

Architecture of Message Layer

Need to optimize not only routing of particular messages but classic publish/subscribe problem of integrating different requests with related topics (subscribe to sports/basketball/lakers and sports ) Related to Akamai, AOL … caching and Server optimization problem

Hypercube of NB Brokers (logical not physical) N≈100 for Distance Education Scale to billions of grid clients?

1-> N Grid Clients

      

Autonomic Services

In a Web (Grid) Service architecture, the state by its initial condition and all the messages of any service is defined (including ordering) that it receives

This how shared event model of collaboration works This is a “ Finite State Change ” model analogous to saving file and “undo” command in many editors NB plus a robust store (all) services can “guarantee” to save all these messages for This allows one to build both " autonomic data transport " and "

autonomic services " since these services can sustain packet losses in transport and can also sustain failures of apps/brokers archived messages (previous invocations, published events etc) can be retransmitted to reconstruct state at the service or to correct a transport error. Further anomalies in message traffic (such as a publisher or subscriber are silent) can be detected by NB and signal problems We are building examples of both scenarios using GridFTP transport example as our data We will build a sample autonomic visualization service of failed servers and brokers with detection

  

Collaborative SVG Web Service

SVG is W3C 2D Vector Graphics standard and is interesting for visualization and as a simple PowerPoint like application

Further SVG is built on W3C DOM and one can generalize results to all W3C DOM-based applications (“all” in future?) Apache Batik SVG is Java and open source and so it is practical to modify it to explore

Real Applications as a Web Service

Collaboration as a Web Service

MVC model and web services with implications for portlets We use NaradaBrokering and XGSP to control collaboration; support PDA Cell-phone and desktop clients; are restructuring Batik as MVC Web Service

Good progress in all areas see

• •

http://www.svgarena.org

for SVG Games http://grids.ucs.indiana.edu/ptliupages/projects/carousel/ for PDA

Data

Web Service Model for Application Development

Resource Facing Ports Application as a Web service W3C DOM Semantic Events User Facing Ports Events as Messages Rendering as Messages

Model Control Narada Brokering

W3C DOM Raw (UI) Events W3C DOM User Interface

View

Interrupts in traditional monolithic applications become “real messages” not directly method calls Natural for collaboration and universal access

Natural in MVC Model

Collaborative SVG As A Web Service

Control flow for collaborative SVG clients

From Collaboration As a WS

Application as a Web service Application as a Web service Events From Master

NaradaBrokering

W3C DOM Events User Interface Participating Client

From Collaboration As a WS

Application as a Web service Application as a Web service Events To Collaborative Clients W3C DOM Events User Interface Master Client Figure 3

Control flow for collaborative SVG clients

Collaborative SVG Chess Game in Batik Browser

Players Observers

XGSP Web Service MCU Architecture

Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing Session Server XGSP-based Control Web Services Media Servers Filters NB Scales as distributed Admire NaradaBrokering All Messaging High Performance (RTP) and XML/SOAP and ..

SIP H323 Access Grid Gateways convert to uniform XGSP Messaging NaradaBrokering Native XGSP

Polycom, Access Grid and RealVideo views of multiple streams using CGL A/V Web Service integrating SIP and H323

Integration of PDA, Cell phone and Desktop Grid Access

   

NaradaBrokering Communication

Applications interface to NaradaBrokering through UserChannels which NB constructs as a set of link s between NB Brokers acting as “ waystations” which may need to be dynamically instantiated UserChannels have publish/subscribe semantics with XML topics Link s implement a single conventional “data” protocol.

Interface to add new transport protocols within the Framework

Administrative channel negotiates the best available communication protocol for each link Different links can have different underlying transport implementations

Implementations in the current release include support for TCP,UDP, Multicast, SSL, RTP and HTTP.

Supports communication through proxies and firewalls such as iPlanet , Netscape, Apache, Microsoft ISA and Checkpoint .

9 8 3 2 1 0 7 6 5 4 Mean transit delay for message samples in NaradaBrokering: Different communication hops hop-2 hop-3 hop-5 hop-7 100 1000 Message Payload Size (Bytes)

Pentium-3, 1GHz, 256 MB RAM 100 Mbps LAN JRE 1.3 Linux

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0 1000 Standard Deviation for message samples in NaradaBrokering Different communication hops - Internal Machines 1500 2000 2500 3000 3500 Message Payload Size (Bytes) 4000 hop-2 hop-3 hop-5 hop-7 4500 5000

60 Average delays per packet for 50 video-clients NaradaBrokering Avg=2.23 ms, JMF Avg=3.08 ms NaradaBrokering-RTP JMF-RTP 50 40 30 20 10 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Packet Number

8 7 6 3 2 5 4 1 0 0 Average jitter (std. dev) for 50 video clients.

NaradaBrokering Avg=0.95 ms, JMF Avg=1.10 ms NaradaBrokering-RTP JMF-RTP 200 400 600 800 1000 1200 1400 1600 1800 2000 Packet Number

  

Collaboration and Web Services

Collaboration has a) b) Mechanism to set up members (people, devices) of a “collaborative sessions” 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 should make it a WS

   

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 updates of all kinds as messages

“Event service” for collaboration is similar to Grid notification service and we effectively define SDE’s (service data elements) in OGSI Group ( Session ) communication service is needed for the delivery of the update events

Using Event Messaging middleware makes messaging universal

Global-MMCS 2.0 (1) XGSP MCU

   

We are building an open source protocol independent Web Service “MCU” which will scale to an arbitrary number of users and provide integrated thousands of simultaneous users collaboration services. We will deploy it globally and hope to test with later this year.

The function of A/V media server will be 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 from Indiana Java Media Framework basis of Media Servers

Shared Output Port Collaboration

Web Service Message Interceptor Collaboration as a WS Set up Session with XGSP R F I O WSDL Application or Content source Web Service U O F I WS Viewer

Master

WS Display Text Chat Whiteboard Multiple masters

Event (Message) Service

WS Viewer WS Viewer WS Display

Other Participants

WS Display

Shared Input Port (Replicated WS) Collaboration

Collaboration as a WS Set up Session with XGSP F I R O Web Servic e U O F I WS Viewer WS Display

Master Event (Message) Service

F I R O Web Servic e U O F I WS Viewer WS Display F I R O Web Servic e U O F I

Other Participants

WS Viewer WS Display

vic and RealVideo views of multiple streams

Polycom view of multiple video streams

Unicast AG Portlet

Collage of Portals

Earthquakes – NASA Fusion – DoE Computing Info – DoD Publications -- CGL

Web Services as a Portlet

• Each Web Service user interface another port” naturally has a specified as “just

Application as a WS

General Application Ports Interface with other Web Services – Customizable for universal access WSDL • This gives each Web Service a W S Portlet view specified (in XML as Application or Content source always) by WSRP (Web services P R Web Service for Remote Portals) • So component model for resources “automatically” gives a component model for user interfaces – When you build your application, you define portlet at same time User Face of Web Service WSRP Ports define

WS as a Portlet

Web Services have other ports ( Grid Service ) to be OGSI compliant

Online Knowledge Center built from Portlets

A set of UI Components

• Web Services provide a component model for the middleware (see large “ common component architecture ” effort in Dept. of Energy) • Should match each WSDL component with a corresponding user interface component • Thus one “must use” a component model for the portal with again an XML specification ( portalML ) of portal component

Jetspeed Architecture

PSML

PortletControl

PortletController ECS HTML Turbine Servlet JSP template ECS Root to HTML Screen Manager ECS PortletController ECS ECS ECS ECS Portlets Data Portlet XML RSS, OCS, or other Local or remote Portlet HTML Local files ECS ECS ECS Portlet JSP or VM Local templates Portlet Portlet WebPage Remote HTML Portlets User implemented using Portal API

Portlets and Portal Stacks

• User interfaces to Portal services (Code Submission, Job Monitoring, File Management for Host X) are all

managed as portlets

.

• Users, administrators can customize their portal interfaces to just precisely the services they want.

Aggregation Portals (Jetspeed) User facing Web Service Ports Application Grid Web Services Core Grid Services

IU and OGCE Portal Architecture

Emphasis Largely taken from other projects Portlet Class: WebForm Portlet Class: IFramePortlet Gateway (IU) Remote or Proxy Portlets Web/Grid service Web/Grid service Computing Data Stores Portlet Class: JspPortlet GridPort Texas Web/Grid service Instruments Portlet Class: VelocityPortlet Jetspeed Internal Services Clients Portal Portlets (Jetspeed) (Java) COG Kit Local Portlets Libraries Hierarchical arrangement Services Resources

Jetspeed Computing Portal: Choose Portlets

4 available portlets linking to Web Services I choose two

Choose Portlet Layout

Choose 1-column Layout Original 2-column Layout

File management

Tabs indicate available portlet interfaces.

Lists user files on selected host, noahsark.

File operations include Upload, download, Copy, rename, crossload

Sample page with several portlets: proxy credential manager, submission, monitoring

Administer Grid Portal

Provide information about application and host parameters Select application to edit