210 likes | 228 Views
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. gcf@indiana.edu. Collaboration Lessons from Past.
E N D
GarnetCollaboration Framework Geoffrey FoxProfessor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404http://grids.ucs.indiana.edu/ptliupages/presentations gcf@indiana.edu uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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) uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
SynchronousCollaboration Audio/VideoConferencing AsynchronousCollaboration Web pages email WorkflowPub-Sub Desktop Tools(chat,whitebrd) File Mgmt IMP2PTools Many Content Mgmt Polycom JMS Many Slide Meta-data Mgmt Yahoo AOL MSN Blackboard GarnetIntegrated Collaboration GrooveTango SharedEvent NetmeetingWebEx … JetspeedWebSphereSybase EPBlackboard WebSphereSybase EA Srvr SharedExport Vertical GrooveJXTA ApplicationsLMS, Gaming …. SharedDisplay Architecture UniversalAccess Web Services Portals Grid Peer-to-Peer uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
SharedWeb Service SharedDisplay Shared Export Shared Event Object Viewer Object Display Object Object’ Object’’ In these and following diagrams, we havethree collaborating clients; is masterwhile and are non-masters Collaboration: Shared Display • Sharing can be done at any point on “object” pipeline Master Event(Message)Service Object Display Shared Display shares framebuffer with eventscorresponding to changedpixels in master client. Object Display uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
Shared Display in Garnet uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
Commercial CollaborationSystems Centra Garnet WebEx PlaceWare uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
Shared Event ModelShared HTML Form Illustrated by Shared Access to NCSA Biology Workbench My original system Tango implemented shared event collaboration modelHere is a shared browser Shared Multiple List Shared Buttons Shared Text field Shared Checkbox uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
SciVis Integrated into Garnet uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
PDA Collaboration Adaptor uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
Batik Viewer on PC SVG Sharing PC to PDA PowerPoint can be converted to SVGvia Illustrator or Web export uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
Collaborative Web Service Access Web Service InterceptorProviding General Services Collaborationas a WebService • This shows how the “Collaboration Web service” supports collaborative web services Collaborative WebService Set Collaboration and Message Mode MasterClient Web Service has a port (perhaps WSRP portlet)on which collaborativemodes set Web Service can be“front-end” (in middletier) to complex back-end object Event(Message)Service Client Client uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
WSDL W S Application orContent source R P Web Service 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 WSGeneral Application PortsInterface with other WebServices PortalUser ProfileAggregateUI Fragments Client User Face ofWeb ServiceWSRP Ports define WS as a Portlet Integrate Multiple Portlets User Customizationat either Portal or if complicated at WS uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
WSDL W S Application orContent source R P Web Service Collaborative Portlets II • Collaboration is gotten by extending the WSRP Interface Collaborationas a WebService Interceptor Control PortalUser ProfileAggregateUI Fragments Client WorkflowFilterPub-Sub Event(Message)Service uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
WSDL W S Shared DisplayWS R P Web Service Shared Display in Portlet Model Event(Message)Service Collaborationas a WebService Multi resolutionAnd other shared displayFeatures PortalUser ProfileAggregateUI Fragments NonMasterClients Local or RemoteApplication to Share(maybe from Portal) Shared InputControl Port MasterClient Display Updates uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"
Destination Source Matching Routing Filter workflow Web Service 1 Web Service 2 (Virtual)Queue WSDLPorts WSDLPorts Event Web Service • 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 uri="gxos:/ptliupages/presentations/collabtalkmar02" email="gcf@indiana.edu"