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 ReportTranscript 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
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