Presentation is loading. Please wait.

Presentation is loading. Please wait.

Garnet Collaboration Framework

Similar presentations


Presentation on theme: "Garnet Collaboration Framework"— Presentation transcript:

1 Garnet Collaboration Framework
Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN uri="gxos:/ptliupages/presentations/collabtalkmar02" 11/26/2018

2 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 etc. useful as can be re-used 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) 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

3 Garnet Collaboration Assume Enterprise System built from communicating Web Services exchanging XML-Specified Messages Collaboration is Sharing Objects (state) – preferably as Web services 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 synchronous and asynchronous collaboration Includes Netmeeting, Groove, WebEx, Placeware, Interwise models Integrate with existing solutions consistent with basic architecture Application Server (Web Service Host) Data and Network Management Portals Workflow, Content Management 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

4 Garnet Integrated Collaboration
Synchronous Collaboration Audio/Video Conferencing Asynchronous Collaboration Web pages Workflow Pub-Sub Desktop Tools (chat,whitebrd) File Mgmt IM P2P Tools Many Content Mgmt Polycom JMS Many Slide Meta-data Mgmt Yahoo AOL MSN Garnet Integrated Collaboration Blackboard Groove Tango Shared Event Netmeeting WebEx … Jetspeed WebSphere Sybase EP Blackboard WebSphere Sybase EA Srvr Shared Export Vertical Groove JXTA Applications LMS, Gaming …. Shared Display Architecture Universal Access Web Services Portals Grid Peer-to-Peer 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

5 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 by subscribing database to session Integrate particular applications – such as learning content and management systems 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

6 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 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

7 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 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

8 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 or sharing implied change in specification of object state 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

9 Collaboration: Shared Display
Sharing can be done at any point on “object” pipeline Shared Display Shared Web Service Shared Event Shared Export Object Object’ Object’’ Object Display Object Viewer Master Event (Message) Service Object Display Shared Display shares framebuffer with events corresponding to changed pixels in master client. In these and following diagrams, we have three collaborating clients; is master while and are non-masters Object Display 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

10 Shared Display in Garnet
11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

11 Commercial Collaboration Systems
Centra Garnet WebEx PlaceWare 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

12 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 Access to NCSA Biology Workbench 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

13 SciVis Integrated into Garnet
11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

14 PDA Collaboration Adaptor
11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

15 SVG Sharing PC to PDA Batik Viewer on PC
PowerPoint can be converted to SVG via Illustrator or Web export SVG Sharing PC to PDA 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

16 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 Event (Message) Service Client Client 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

17 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 Application or Content source WSDL Web Service S R W 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 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

18 Collaborative Portlets II
Collaboration is gotten by extending the WSRP Interface Collaboration as a Web Service Interceptor Application or Content source WSDL Web Service S R W P Control Portal User Profile Aggregate UI Fragments Client Workflow Filter Pub-Sub Event (Message) Service 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

19 Shared Display in Portlet Model
Event (Message) Service Collaboration as a Web Service Multi resolution And other shared display Features Shared Display WS WSDL Web Service S R W P Portal User Profile Aggregate UI Fragments Non Master Clients Local or Remote Application to Share (maybe from Portal) Shared Input Control Port Master Client Display Updates 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

20 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 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"

21 Destination Source Matching
Event Web Service Web Service 1 (Virtual) Queue Web Service 2 Destination Source Matching Filter Routing workflow 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 11/26/2018 uri="gxos:/ptliupages/presentations/collabtalkmar02"


Download ppt "Garnet Collaboration Framework"

Similar presentations


Ads by Google