Garne
Collaboration Framework
Geoffrey Fo
Professor of Computer Science, Informatics, Physics
and Director
PTLIU Laboratory for Community Grids
Indiana University, Bloomington IN 4740
http://grids.ucs.indiana.edu/ptliupages/presentations
Collaboration Lessons from Past
n
“True” Shared
Event
flexible but too much work for
most cases
n
Shared
Display
– nearly always works
n
Shared
Export
–
SVG PDF HTML Java3D X3D
etc.
useful as can be re-used
n
Integrate
synchronous
and
asynchronous
collaboration
nDo not build into
browser
as not a reliable or standard
virtual machine
n
Build around uniform
publish-subscribe style XML
Event Model
supporting archiving, customization,
filtering – apply to all collaboration functions
n
Later we realized need to integrate with
Peer to Peer
and
Web Services
(straightforward as XML event
Garnet Collaboration
n Assume Enterprise System built from communicating Web
Services exchanging XML-Specified Messages
n Collaboration is Sharing Objects (state) – preferably as Web
services
n 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
n Integrate with existing solutions consistent with basic architecture
• Application Server (Web Service Host) • Data and Network Management
• Portals
Asynchronou Collaboration
Web Services
Grid Peer-to-Peer Portals
Universa Access Architecture
Synchronou
Collaboration Audio/VideConferencing
Desktop Tool (chat,whitebrd) Share Event Share Display Share Export
email Web pages
Application
Garnet Capabilities
n
Default sharing is
Shared Display
with basic tools (Text
Chat, White Board, Polls, A/V Conferencing)
n
Build custom
shared export
for common formats –
SVG (Scalable Vector Graphics) and Java3D examples
• Lower bandwidth, better animation
n
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
n
Archive events for
replay
by subscribing database to
session
n
Integrate
particular applications
– such as learning
Collaborative Web Services
n First note that there are two distinct concepts
n 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”
n 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
Types of Collaboration I
n
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
n
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
n
Collaborative Web Service Access:
here one has
multiple clients accessing a single instance of a web
Types of Collaboration II
n
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
n
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
Collaboration: Shared Display
n Sharing can be done at any point on “object” pipeline
Objec
t Object’ Object’’
Object Displa y Object Viewer Object Displa y Object Displa y Even (Message Service
Shared Display shares framebuffer with event corresponding to change pixels in master client.
Master Share Display Share Web Service Share
Event SharedExport
In these and following diagrams, we hav three collaborating clients; is maste
Commercial
Collaboratio
Systems
PlaceWar WebEx
Centra Garnet
11
Shared Event Mode
Shared HTML Form Illustrated by Shared
Shared Multiple List Shared Buttons
Shared Text field Shared Checkbox
My original system Tango implemented
shared event collaboration mode
SVG Sharing PC to PDA
PowerPoint can be converted to SV via Illustrator or Web export
Collaborative Web Service Access
n This shows how the “Collaboration Web service” supports collaborative web services
Collaborative We Service
Maste Client
Clien t
Even (Message
Service
Web Service has a port (perhaps WSRP portlet) on which collaborativ modes set
Web Service can b “front-end” (in middl
tier) to complex Clien
Web Service Intercepto Providing General Services
Set Collaboration and Message Mode
Collaboratio as a We
Collaborative Portlets I
n When one has multiple components in the UI one must extend
Web Service picture to include Portal and Portlets
Application o Content source WSD L Web Service S R W P
Application as a WS
General Application Port Interface with other We Services
User Face o Web Servic
WSRP Ports define
WS as a Portlet
Portal User Profil Aggregat UI Fragments Clien t
Integrate Multiple Portlets User Customizatio
Collaborative Portlets II
n
Collaboration is gotten by extending the WSRP
Interface
Application o Content source WSD L Web Service S R W P Even (Message Service Collaboratio as a WeShared Display in Portlet Model
Shared Displa WS WSD L Web Service S R W P Even (Message Service Collaboratio as a WeService
Maste Client
Local or Remot Application to Shar
(maybe from Portal)
Display Updates Multi resolutio
Garnet to portlet picture
n 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.
n We already have “Collaboration as a Web Service” control
process and JMS as event service
n In one month we will have extended JMS to enable server side
customization. This is essentially “interceptor”
n Currently options like multi-resolution are scheduled for
beginning of June deployment
n Total portlet integration is 4 person-months for SD application n 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
Event Web Service
n
Filter is mapping to PDA or slow communication
channel (universal access) – see our PDA adaptor
n
Workflow natural as all messages “intercepted” by
Event Web Service
n
Routing illustrated by JXTA
n
Destination-Source matching illustrated by JMS
WebService 1 (VirtualQueue Service 2Web
Destinatio
Source Matching Filter
Routin
g workflow
WSD