Collaboration and Grid Technologies Geoffrey Fox Professor of Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email protected] http://www.infomall.org http://www.grid2002.org.

Download Report

Transcript Collaboration and Grid Technologies Geoffrey Fox Professor of Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email protected] http://www.infomall.org http://www.grid2002.org.

Collaboration and Grid Technologies

Geoffrey Fox Professor of Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email protected]

http://www.infomall.org

http://www.grid2002.org

What we can discuss

Grid and Collaboration Tools and Architectures which can address some difficulties encountered upto now in areas like distance education

Audio-Video conferencing addressing network difficulties and the integration of different approaches

  

Sharing material over the Internet

Shared display collaboration Producing web pages using “re-usable” portlet architecture Tools are in “ alpha ” release at moment

So they might be less reliable than unreliable tools they are trying to improve

Teaching Jackson State Fall 97 to Fall 2001

JSU Syracuse Spring 2004: Course on “e-Science”/Grid

Distance Learning …..

• Linking teachers to students remotely • Linking students/mentors to students/mentors for collaboration at a distance on a project • Collaboration is sharing – People (audio, video, text chat, instant messenger) – Web Pages – Other electronic resources (e.g. Word running on laptop) – Homework – Grades • Asynchronous: I post a web page; you access it – I send email – Can recover from temporary network glitches • Synchronous: I post an electronic document; you see what I post (in a second or two) – As I update, you get update

    

Problems from Tango and all Others

Clients were unreliable – addressed by better windows and moving collaboration from Browser to an application Networks were unreliable and firewalls are a problem

• •

Not a lot of progress with QoS at network level Some QoS problems are due to different collaboration streams interfering

Use application level QoS messaging Very hard to customize model” with highly robust managed each application in “shared state event

• •

Offer shared display Convert Applications to Web Services Many different standards H323, SIP, Access Grid, T120 …

Unify as single XML standard Inconvenient to customize user interfaces

Use portlet technology supporting desktop and PDA clients

  

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 XGSP based 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 Global-MMCS 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 (needs performance enhancement)

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 NaradaBrokering All Messaging High Performance (RTP) and XML/SOAP and ..

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

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

     

Features of A/V Conferencing

Need a video camera – Polycom ViaVideo or Logicon Plantronics or similar echo-canceling microphone such as Viavideo VRVS or GlobalMMCS does not need hardware multicast

Messenging in GlobalMMCS very powerful

Software multicast will IMHO replace hardware multicast Access Grid supports multiple video cameras but no special reason one needs four – depends on application Web service will mosaic multiple streams into one

Allow Polycom to receive multiple streams RealVideo for most reliability as 10 second buffer

Minicomputer Firewall Computer Modem

NaradaBrokering Broker Network

Server Peers

Brokers ONLY process messages

Workstation Peers PDA

Audio/Video Conferencing Client

Laptop computer

Grid Messaging Substrate

SOAP+HTTP RMI TCP/IP RTP ….

Standard client-server style communication.

Consumer Service Substrate mediated communication removes transport protocol dependence . Consumer

SOAP+HTTP RMI TCP/IP RTP ….

Service Messaging Substrate

Any Protocols satisfying QoS

Messaging Substrate has “intelligence”, “any desired fault tolerance” “logging” etc.

    

“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 Grid routing topologies are open research issue?

Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems.

Perhaps better thought of as stream not message handler

• • • •

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 General software routing Distributed XML QoS, Security Interface with to avoid event selection network problem using XPATH metaphor profiles for sent and received messages reliable storage for persistent events

Laudable Features of NaradaBrokering

       

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

available now; major new release for SC03 Will have end-point “plug-in” as well as standalone brokers

end-point is service or user-interface machine Will have a discovery service to find nearest brokers Does tunnel through most firewalls without requiring ports to be opened Links to NWS (Network Weather Service) style performance estimation systems Supports JXTA (peer-to-peer network), 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 ( streams ) to support different end-point requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs) Virtualization of addressing, routing, interfaces (OGSI versus pure Web services for example) Federation and Mediation of multiple instances of Grid services as illustrated by

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

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

Performance Test : GlobalMMCS1.0

 

We conducted extensive performance tests on audio and video servers. Video:

The test shows that our video server is capable of supporting 100 300 clients if there is only one video sender .

• Video Server Machine :

1.2GHz Intel Pentium III dual CPU, 1GB MEM, RedHat Linux 7.3

 

Audio:

Our tests show that audio server can support 5 concurrent sessions (250 participants in total) without any packet droppings.

Audio Server Machine: 2.5GHz Pentium 4 CPU, 512MB

Windows XP machine memory,

Scale with logarithmic Broker network

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

4.5

4 3.5

3 2.5

2 1.5

1 0.5

0 0 NaradaBrokering-RTP 900 audio clients JMF-RTP 200 400 600 800 1000 1200 1400 1600 1800 2000 Packet Number

Commercial Collaboration Systems

Centra WebEx Anabas Placeware

   

Robust Web Service Model

However hard we work, there will be disconnects and problems Typically difficulty is client and client/server network So we are designing a backup with a web page version of collaborative page – shared display, text chat etc.

And using instant messenger as backup control function Have this working (roughly) for Shared PowerPoint but need to extend to other functions Synchronization Server (NB) Backup Web Service Fancy Collaboration Backup HTML Instant Messenger Collaboration

Application Web Service Model

Anabas provides shared display (frame-buffer) as this works for all applications

Shared event is how Tango used to it and this is Access Grid PowerPoint model

Share events like “New Slide” or “New File”

Our strategy is to convert applications to Web Services and use these to produce shared event

Using NaradaBrokering as system to share events

Have implemented for Scalable Vector Graphics (SVG) and PowerPoint (partially as Microsoft makes hard)

Will extend to OpenOffice if pratical

Data Web Service Model for Application Development

Resource Facing Ports Logic of Application Semantic Events

Model Messaging System

User Facing Ports Events as Messages Rendering as Messages

Control

Raw (UI) Events User Interface

View

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

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

SIMD Collaboration

Non Web Service Implementation NaradaBrokering SVG Browser SVG Browser SVG Browser SVG Browser Identical Programs receiving identical events Token determines if browser is moving, waiting for opponent or an observer SVG Viewer SVG Model (DOM) NaradaBrokering Shared Output port SIMD Collaborative Web Service SVG Viewer SVG Viewer SVG Viewer

SVG Model SVG Viewer

MIMD Collaboration

Shared Input port MIMD Collaborative Web Service NaradaBrokering SVG Model SVG Model NaradaBrokering SVG Viewer SVG Viewer SVG Model SVG Viewer

PowerPoint as a Sort of Web Service

As in Access Grid Collaborative Client Master Client Sink NaradaBrokering Message Service User 1 1 User 2 User n Connectable Object

PPT as a Web Service

Holds meta-data (sample of high level semantic events) like slide number and title

Integration of PDA, Cell phone and Desktop Grid Access

    

Portals and Web Services

Web Services allow us to build a component model CCA) for resources.

(see Each resource naturally has a user interface might be customized for user) (which Web Service <--> Portlet Natural to use a component model for portal building displayed web page from collection of portlets

So can customize each portlet and customize which portlets you want Apache Jetspeed seems good open source technology supporting this model

Being used by NCSA and DoD HPCMO

  

WSRP Structure of a Portlet

Each port” Web Service naturally has a user interface specified as “just another This gives each Web Service a Portlet WSRP view specified (in XML as always) by (Web services 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 Application as a WS

General Application Ports Interface with other Web Services WSDL Application or Content source Web Service W S R P

Portal

User Profile Aggregate UI Fragments

Client

User Face of Web Service WSRP Ports define

WS as a Portlet

WSRP is Web Services for Remote Portals 1 st Meeting OASIS March 18 2002

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

Collage of Portals

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

• Each

Web Services as a Portlet

Web Service naturally has a user interface specified as “just another port” – Customizable for universal

Application as a WS

General Application Ports Interface with other Web Services WSDL access W • This gives each Web Service a Application or Content source P Portlet view specified (in Web Service S R XML as always) by WSRP (Web services for Remote Portals) • So component model for resources “automatically” User Face of Web Service WSRP Ports define

WS as a Portlet

Web Services have other gives a component model for ports ( Grid Service ) to be OGSI compliant user interfaces – When you build your

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