Collaboration and Gri
Technologies
Geoffrey Fo
Professor of Computer Science, Informatics, Physics Pervasive Technology Laboratories
Indiana University Bloomington IN 47401
What we can discuss
n
Grid
and
Collaboration Tools
and Architectures which
can address some difficulties encountered upto now in
areas like distance education
n
Audio-Video conferencing
addressing network
difficulties and the integration of different approaches
n
Sharing material
over the Internet
• Shared display collaboration
n
Producing web pages
using “re-usable” portlet
architecture
n
Tools are in “
alpha
” release at moment
• So they might be less reliable than unreliable tools they are
JSU
Syracuse
Teaching Jackson State Fall 97 to Fall 2001
Distance Learning …..
• Linking teachers to students remotely
• Linking students/mentors to students/mentors for
collaboration at a distance on a project
• Collaboration is sharing
–
People (audio, video, text chat, instant messenger)
–
Web Pages
–
Other electronic resources (e.g. Word running on laptop)
–
Homework
–
Grades
• Asynchronous: I post a web page; you access it
–
I send email
–
Can recover from temporary network glitches
• Synchronous: I post an electronic document; you see
what I post (in a second or two)
–
As I update, you get update
Problems from Tango and all Others
n Clients were unreliable – addressed by better windows and
moving collaboration from Browser to an application
n Networks were unreliable and firewalls are a problem
• Not a lot of progress with QoS at network level
• Some QoS problems are due to different collaboration
streams interfering
• Use application level QoS with highly robust managed
messaging
n Very hard to customize each application in “shared state event
model”
• Offer shared display
• Convert Applications to Web Services
n Many different standards H323, SIP, Access Grid, T120 …
• Unify as single XML standard
n Inconvenient to customize user interfaces
Collaboration and Web Services
n
Collaboration
has
• Mechanism to set up members (people, devices) of a
“collaborative sessions”
• Shared generic tools such as text chat, white boards,
audio-video conferencing
• Shared applications such as Web Pages, PowerPoint,
Visualization, maps, (medical) instruments ….
n
b)
and
c)
are “just shared objects” where objects
could be Web Services but rarely are at moment
• We can port objects to Web Services and build a general
approach for making Web services collaborative
n
a)
is a “Service” which is set up in many different
Shared Event Collaboration
n All collaboration is about sharing events defining state changes
• Audio/Video conferencing shares events specifying in compressed form
audio or video
• Shared display shares events corresponding to change in pixels of a frame
buffer
• Instant Messengers share updates to text message streams
• Microsoft events for shared PowerPoint (file replicated between clients) as
in Access Grid
n Finite State Change NOT Finite State Machine architecture n Using Web services allows one to expose updates of all kinds as
messages
• “Event service” for collaboration is similar to Grid notification service
and we effectively define SDE’s (service data elements) in OGSI
n Group (Session) communication service is needed for the
delivery of the update events
Global-MMCS 2.0 XGSP based MCU
n We are building an open source protocol independent Web
Service “MCU” which will scale to an arbitrary number of users and provide integrated thousands of simultaneous users
collaboration services.
n We will deploy it globally and hope to test with later this year. n The function of A/V media server will be distributed using
NaradaBrokering architecture.
• Media Servers mix and convert A/V streams
n Open Global-MMCS MCU based on the following open source
projects
• openh323 is basis of H323 Gateway
• NIST SIP stack is basis of SIP Gateway
• NaradaBrokering is open source messaging from Indiana • Java Media Framework basis of Media Servers (needs
XGSP Web Service MCU Architecture
SIP H323 AccessGrid NativeXGSP Admire
Gateways convert to uniform XGSP Messaging
High Performance (RTP and XML/SOAP and ..
Media Servers
Filters Session Server
XGSP-based Control
NaradaBrokerin g
All Messaging
Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing
NB Scales a distributed
We Services
Polycom, Access Grid
and RealVideo views of
multiple streams using
A/V Web Service
Features of A/V Conferencing
n
Need a video camera – Polycom ViaVideo or Logicon
nPlantronics or similar echo-canceling microphone such
as Viavideo
n
VRVS or GlobalMMCS does not need hardware
multicast
• Messenging in GlobalMMCS very powerful
• Software multicast will IMHO replace hardware multicast
n
Access Grid supports multiple video cameras but no
special reason one needs four – depends on application
n
Web service will mosaic multiple streams into one
• Allow Polycom to receive multiple streams
NaradaBrokering
Grid Messaging Substrate
Consum
er Service
SOAP+HTT RMI TCP/I RTP ….
Messaging Substrate Consum
er Service
Standard client-server style communication.
Substrate mediated
communication removes
transport protocol dependence.
SOAP+HTT RMI TCP/I RTP ….
Any Protocols satisfying QoS
“GridMPI” v. NaradaBrokering
n In parallel computing, MPI and PVM provided “all the featuresone needed’ for inter-node messaging
n NB aims to play same role for the Grid but the requirements and
constraints are very different
• NB is not MPI ported to a Grid/Globus environment
n Typically MPI aiming at microsecond latency but for Grid, time
scales are different
• 100 millisecond quite normal network latency
• 30 millisecond typical packet time sensitivity (this is one audio or video
frame) but even here can buffer 10-100 frames on client (conferencing to streaming)
• <1 millisecond is time for a Java server to “think”
n Jitter in latency (transit time through broker) due to routing,
processing (in NB) or packet loss recovery is important property
n Grids need and can use software supported message functions and
trade-offs between hardware and software routing different from
NaradaBrokering
n Based on a network of cooperating broker nodes
• Cluster based architecture allows system to scale in size • Grid routing topologies are open research issue?
n Originally designed to provide uniform software multicast to
support real-time collaboration linked to publish-subscribe for asynchronous systems.
n Perhaps better thought of as stream not message handler n Now has several core functions
• Reliable order-preserving “Optimized” Message transport
(based on performance measurement) in heterogeneous multi-link fashion with TCP, UDP, SSL, HTTP, and will add GridFTP • General publish-subscribe including JMS & JXTA and
support for RTP-based audio/video conferencing
• General software routing to avoid network problem
• Distributed XML event selection using XPATH metaphor • QoS, Security profiles for sent and received messages
Laudable Features of NaradaBrokering
n Is open source http://www.naradabrokering.org available now;
major new release for SC03
n Will have end-point “plug-in” as well as standalone brokers
• end-point is service or user-interface machine
n Will have a discovery service to find nearest brokers
n Does tunnel through most firewalls without requiring ports to be
opened
n Links to NWS (Network Weather Service) style performance
estimation systems
n Supports JXTA (peer-to-peer network), JMS (Java Message
Service) and more powerful native mode
n Transit time < 1 millisecond per broker
NaradaBrokering Naturally Supports
n Filtering of events (streams) to support different end-point
requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs)
n Virtualization of addressing, routing, interfaces (OGSI versus
pure Web services for example)
n Federation and Mediation of multiple instances of Grid services
as illustrated by
• Composition of Gridlets into full Grids (Gridlets are single computers in
P2P case)
• JXTA with peer-group forming a Gridlet
n Monitoring of messages for Service management and general
autonomic functions
n Fault tolerant data transport
Performance Test : GlobalMMCS1.0
n We conducted extensive performance tests on audio and video
servers.
n Video:
• The test shows that our video server is capable of supporting
100-300 clients if there is only one video sender.
• Video Server Machine : 1.2GHz Intel Pentium III dual CPU,
1GB MEM, RedHat Linux 7.3
n Audio:
• Our tests show that audio server can support 5 concurrent
sessions (250 participants in total) without any packet droppings.
• Audio Server Machine: 2.5GHz Pentium 4 CPU, 512MB memory,
Windows XP machine
0 1 0 2 0 3 0 4 0 5 0 6 0
0 20
0 400 600 800 1000 1200 1400 1600 1800 2000 Delay (Milliseconds)
Packet Number
Average delays per packet for 50
video-clientsNaradaBrokering Avg=2.23 ms, JMF Avg=3.08
ms
NaradaBrokering-RTP
0 1 2 3 4 5 6 7 8
0 20
0 400 600 800 1000 1200 1400 1600 1800 2000
Jit
ter
(Milliseconds)
Packet Number
Average jitter (std. dev) for 50 video clients.
NaradaBrokering Avg=0.95 ms, JMF Avg=1.10
ms
NaradaBrokering-RTP
Commercial
Collaboratio
Systems
Placewar e
WebEx
Robust Web Service Model
n However hard we work, there will be disconnects and problems n Typically difficulty is client and client/server network
n So we are designing a backup with a web page version of
collaborative page – shared display, text chat etc.
• And using instant messenger as backup control function
n Have this working (roughly) for Shared PowerPoint but need to
extend to other functions
Synchronizatio Server (NB)
Backu Web Service
Fancy
Application Web Service Model
n
Anabas provides shared display (frame-buffer) as this
works for all applications
n
Shared event is how Tango used to it and this is Access
Grid PowerPoint model
• Share events like “New Slide” or “New File”
n
Our strategy is to convert applications to Web Services
and use these to produce shared event
• Using NaradaBrokering as system to share events
n
Have implemented for Scalable Vector Graphics (SVG)
and PowerPoint (partially as Microsoft makes hard)
Web Service Model for Application Development
User Interface Raw (UI) Events
Logic of Application Semantic Events
Data
User Facin Ports
Resource Facing Ports
Events as Message
s
Rendering as Messages
View Control Model
Messaging System
Interrupts in traditional monolithic applications becom “real messages” not directly method calls
Collaborative SVG As A Web Service
SV Browse r SV Browse r SV Browse r SV Browse r
Identical Programs receiving identical event
Token determines if browser is moving, waiting for opponent or an observer
SIMD Collaboration
SV
Viewer ViewerSV ViewerSV ViewerSV
SVG Model
(DOM)
NaradaBrokeri ng
Shared Output por
SIMD Collaborativ
Web Service
Non Web Service Implementation
MIMD Collaboration
SV
Viewer ViewerSV ViewerSV ViewerSV
NaradaBrokering
Shared Input por
MIMD Collaborativ
Web Service
SVG Mode
l
SVG Mode
l
SVG Mode
l
SVG Mode
l
PowerPoint as a Sort of Web Service
Master Client
Connectable Object Sink
NaradaBrokering Message Service
User 1
1
User
2 Usern
PPT as a Web Service
As in Access Grid Collaborativ
Client
Holds meta-dat
(sample of high
level semanti
Portals and Web Services
n
Web Services
allow us to build a
component model
(see
CCA) for resources.
n
Each resource
naturally has a
user interface
(which
might be customized for user)
n
Web Service <--> Portlet
n
Natural to use a component model for portal building
displayed web page from collection of portlets
• So can customize each portlet and customize which portlets
you want
n
Apache Jetspeed
seems good open source technology
supporting this model
WSRP Structure of a Portlet
n Each Web Service naturally has a user interface specified as “just another
port”
n This gives each Web Service a Portlet view specified (in XML as always) by
WSRP (Web services for Remote Portals)
n So component model for resources “automatically” gives a component model
for user interfaces
• When you build your application, you define portlet at same time
Application o Content source WSD L Web Service S R W P
Application as a WS
General Application Ports Interface with other Web Services
User Face o Web Servic
WSRP Ports define
WS as a Portlet
Portal User Profil Aggregat UI Fragments Clien t WSRP i
W Displa y W Viewe r WS Displa y WS Viewe r Even (Message Service Master W Displa y WS Viewe r
Web Service Message Interceptor
Collaboration as a W Set up Session with XGSP
Application o Content source WSD L Web Service F I U O F I R O
W Displa y W Viewe r WS Displa y WS Viewe r Even (Message Service Master W Displa y WS Viewe r
Collaboration as a W Set up Session with XGSP
We Servic e F I U O F I R O
Shared Input Port (Replicated WS) Collaboration
Collage of Portals
Earthquakes – NAS Fusion – DoE
Web Services as a Portlet
• Each
Web Service
naturally
has a
user interface
specified
as “just another port”
–
Customizable for universal
access
• This gives each Web Service a
Portlet
view specified (in
XML as always) by
WSRP
(Web services for Remote
Portals)
• So component model for
resources “automatically”
gives a
component model for
user interfaces
–
When you build your
application, you define
portle
at same time
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
Web Services have other ports (Grid Service) to be
Online Knowledge Center built from Portlets
• Web Services
provide a
component model
for the middleware (see large “common
component architecture” effort in Dept. of
Energy)
• Should match each WSDL component with
a corresponding user interface component
• Thus one “must use” a
component model
for the portal
with again an XML
specification (portalML) of portal
component
Portlet Portlet Portlet Portlet
XML
RSS, OCS, or other Local or remote
HTML
Local files
JSP or VM
Local templates WebPageRemote HTML
Portlet
Portlets
User
implemented using Portal API
Portlets
Data
PortletControlle
r PortletController Screen Manager HTML PSML PortletContro l EC S JSP template EC
S ECS EC
S ECS
EC
S ECS ECS
ECS Root to HTML
EC S
Turbine Servlet
Jetspeed
Portlets and Portal Stacks
• User interfaces to
Portal services (Code
Submission, Job
Monitoring, File
Management for Host
X) are all
managed as
portlets
.
• Users, administrators
can customize their
portal interfaces to just
precisely the services
they want.
Core Grid Services User facing Web
Service Ports
IU and OGCE Portal Architecture
Client s (P ure HT ML, Java Applet ..) Aggregat ion and Rendering Jetspeed Internal Services Portlet Class IFramePortlet Portlet Class VelocityPortlet Portlet Class JspPortlet Portlet ClassWebForm Gateway(IU) Web/Griservice
Web/Gri service Web/Gri service Computing Data Stores Instruments GridPort Texas (Java) COG Kit
Clients Portal Portlets Libraries Services Resources Loca
Portlets
Remot or Prox Portlets
Emphasis from other projectsLargely take
(Jetspeed)
Jetspeed Computing Portal: Choose Portlets
4 available portlet
Choose Portlet Layout
Choose 1-column Layout
Lists user files on selected host, noahsark.
File operations include Upload, download, Copy, rename, crossload
Tabs indicate available
portlet interfaces.
File
Sample page with several portlets:
Provide information about application
and
host parameters
Select application to edit