Garnet Collaboration Framework Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404 http://grids.ucs.indiana.edu/ptliupages/presentations [email protected] uri="gxos:/ptliupages/presentations/colla btalkmar02" email="[email protected]" 11/6/2015

Download Report

Transcript Garnet Collaboration Framework Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404 http://grids.ucs.indiana.edu/ptliupages/presentations [email protected] uri="gxos:/ptliupages/presentations/colla btalkmar02" email="[email protected]" 11/6/2015

Garnet Collaboration Framework

Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404 http://grids.ucs.indiana.edu/ptliupages/presentations

uri="gxos:/ptliupages/presentations/colla btalkmar02" email="[email protected]" 4/30/2020

[email protected]

1

   

Collaboration Lessons from Past

“True” Shared Event flexible but too much work for most cases Shared Display – nearly always works Shared Export – SVG PDF HTML Java3D X3D useful as can be re-used etc. Integrate synchronous and asynchronous collaboration

 

Do not build into browser as not a reliable or standard virtual machine Build around uniform publish-subscribe style XML Event Model supporting archiving, customization, filtering – apply to all collaboration functions

Later we realized need to integrate with Peer to Peer and Web Services (straightforward as XML event model fits these architectures)

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 2

   

Garnet Collaboration

Assume Enterprise System built from communicating Web Services exchanging XML-Specified Messages Collaboration is Sharing Objects (state) – preferably as services Web Change in state defined by XML messages and transported by event service

JMS JXTA are typical publish-subscribe event services with different delivery models

Insures integration of collaboration synchronous and asynchronous

Includes models Netmeeting, Groove, WebEx, Placeware, Interwise Integrate with existing solutions consistent with basic architecture

Application Server (Web Service Host)

• • •

Data and Network Management Portals Workflow, Content Management

uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 4/30/2020 3

Synchronous Collaboration

Audio/Video Conferencing email Web pages Workflow Pub-Sub

Asynchronous Collaboration

Desktop Tools (chat,whitebrd) File Mgmt IM P2P Tools Shared Event Shared Export Many Polycom Many Yahoo AOL MSN Groove Tango

Garnet Integrated Collaboration

Netmeeting WebEx … WebSphere Sybase EA Srvr Groove JXTA Jetspeed WebSphere Sybase EP Blackboard JMS Shared Display Web Services

Architecture

Grid Portals Peer-to-Peer Slide Blackboard Content Mgmt Meta-data Mgmt Vertical Applications LMS, Gaming ….

Universal Access 4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 4

Garnet Capabilities

    

Default sharing is Shared Display with basic tools (Text Chat, White Board, Polls, A/V Conferencing) Build custom shared export for common formats – SVG (Scalable Vector Graphics) and Java3D examples

Lower bandwidth, better animation Publish-Subscribe

sharing model allows customization to different portal views and client characteristics

Basic event infrastructure with well defined interfaces PDA’s; Slow Clients with adaptor Archive events for replay session by subscribing database to Integrate particular applications content and management systems – such as learning

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 5

  

Collaborative Web Services

First note that there are two distinct concepts Collaboration (and its basic tools) as a Web Service

Such as “Audio-Video Conferencing” as a Web Service or “Text Chat as a Web Service” Collaborative Web Services

Here we view a Web Service as specifying a (distributed) object and wish to share an object

Object could be a Web page, a Job status form, a scientific visualization, a PowerPoint slide etc. (not all of these are Web Services but all should be)

There is an overall framework (part of collaboration as a web service) specifying such items as members of collaborative session and their preferences. There is a mechanism to make Web services collaborative within this framework

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 6

Types of Collaboration I

Shared Display: here one shares the rendering of a Web Service. No modification is needed of the web service. Rather this is handled by the portal controlling the user interface

Collaborative Replicated Web Services: here one replicates several instances of a web service and the task is to keep these copies consistent. This synchronizes inputs to multiple Web Services

Collaborative Web Service Access: here one has multiple clients accessing a single instance of a web service and obtaining consistent views. This multicasts output of a single Web service to multiple clients

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 7

 

Types of Collaboration II

Shared Export is built on synchronizing the viewers (PDF HTML SVG Browsers) of standard formats. It differs from Shared Web Services in that user inputs (mouse clicks, keyboard) and not (XML Web service) messages are shared

One can share export with either a single or replicated back end engine

The most elegant shared export models are built around viewers of documents sharing W3C DOM

It would be interesting to convert W3C DOM to a Web Service Shared event is like shared Web service but is a custom “implementation” for each application

One can often choose between sharing user inputs implied change in specification of object state or sharing

uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 4/30/2020 8

Collaboration: Shared Display

Sharing can be done at any point on “object” pipeline

Shared Web Service Shared Event Shared Export Shared Display Object Object’ Object’’ Object Viewer Object Display

Master

Shared Display shares framebuffer with events corresponding to changed pixels in master client.

Event (Message) Service

Object Display In these and following diagrams, we have three collaborating clients; is master while and are non-masters 4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" Object Display 9

4/30/2020

Shared Display in Garnet

uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 10

Commercial Collaboration Systems

Centra Garnet WebEx

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]"

PlaceWare

My original system Tango implemented shared event collaboration model Here is a shared browser Shared Multiple List Shared Buttons Shared Text field Shared Checkbox Shared Event Model Shared HTML Form Illustrated by Shared

4/30/2020

Access to NCSA Biology Workbench

12

SciVis Integrated into Garnet

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 13

PDA Collaboration Adaptor

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 14

Batik Viewer on PC PowerPoint can be converted to SVG via Illustrator or Web export

SVG Sharing PC to PDA

uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 4/30/2020 15

Collaborative Web Service Access

This shows how the “Collaboration Web service” supports collaborative web services

Web Service Interceptor Providing General Services Collaboration as a Web Service Collaborative Web Service Set Collaboration and Message Mode Master Client Web Service has a port (perhaps WSRP portlet) on which collaborative modes set Web Service can be “front-end” (in middle tier) to complex back-end object 4/30/2020

Event (Message) Service

Client Client uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 16

Collaborative Portlets I

When one has multiple components in the UI one must extend Web Service picture to include Portal and Portlets 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

Integrate Multiple Portlets User Customization at either Portal or if complicated at WS 4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 17

Collaborative Portlets II

Collaboration is gotten by extending the WSRP Interface Interceptor

WSDL Application or Content source Web Service W S R P Control Workflow Filter Pub-Sub

Event (Message) Service Portal

User Profile Aggregate UI Fragments

Collaboration as a Web Service

Client

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 18

Shared Display in Portlet Model

Multi resolution And other shared display Features WSDL Shared Display WS Web Service W S R P

Event (Message) Service

Collaboration as a Web Service

Portal

User Profile Aggregate UI Fragments

Non Master Clients

Shared Input Control Port Local or Remote Application to Share (maybe from Portal) Display Updates

Master Client

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 19

     

Garnet to portlet picture

Need to breakup current custom client (a Java application) into a set of components (Java applets or ActiveX control for shared display master)

SD, text chat, HearMe control, buttons etc.

We already have “Collaboration as a Web Service” control process and JMS as event service In one month we will have extended JMS to enable server side customization. This is essentially “interceptor” Currently options like multi-resolution are scheduled for beginning of June deployment Total portlet integration is 4 person-months for SD application Shared WSRP for shared WS would be supported

Need to build WSDL/WSRP versions of CLIENT applications to share (SVG, Star Office, PowerPoint)

Essentially no change is needed for applications which are already Web services and have message based user interface

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 20

Routing

Event Web Service

Destination Source Matching Filter workflow Web Service 1 (Virtual) Queue Web Service 2   WSDL Ports WSDL Ports

Filter is mapping to PDA or slow communication channel (universal access) – see our PDA adaptor Workflow natural as all messages “intercepted” by Event Web Service

Routing illustrated by JXTA

Destination-Source matching illustrated by JMS

4/30/2020 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="[email protected]" 21