Title: Collaboration within an Event based Computing Paradigm
1Collaboration within an Event based Computing
Paradigm
- 15 February 2001 Indiana University
- Geoffrey Fox
- Florida State University
- Department of Computer Science and
- CSIT (School of Computational Science and
Information Technology) - 400 Dirac Science Library
- Tallahassee
- Florida 32306-4120
- fox_at_csit.fsu.edu
2Introduction
- Build web-based support for people to interact
with each other and with other resources
computers, documents, instruments - This was originally called a Collaboratory by
Bill Wulf in a famous Science article in volume
261, 13 Aug 1993 - We must do this while technology is rapidly
changing and while we are not certain what
collaborative tools, scientists will actually use
i.e. requirements are not known - We will find a set of successful existing
capabilities where some consensus exists as to
what they do and how they look to users these
are typically (now) commercialized - We will see that a somewhat different computing
paradigm is suggested to support collaborative
systems one that is explicitly message based
and we will start with this MyXoS
3Legacy from the Distant Past
- What have we learnt from parallel computing,
clusters and the Internet? - Message Passing Rules
- Note an event is just a message with (an
optional) time stamp and typically (but not
necessarily) an active (interrupt) message
processing paradigm - Message passing enables modularity, fault
tolerance, distribution
4A Lesson from UNIX, Windows, Yahoo
- Structured information is always labeled as a
hierarchy with symbolic links e.g.
//A(homeroot)/B/C/D .
We havesearch engines for unstructured
information
Symbolic Links
5Confirmed by ADL and W3C DOM
- DoDs advanced distributed learning effort (and
IMS more academic consortium) use a tree
structure for educational material in SCORM - http//www.adlnet.org
- Add educational specific tags like prerequisites
and completion requirements - Node of tree is called block
- W3C DOM is at times a document object model but
it is really general object instance looked at
as a tree - The basic XML Node is extended for each XML
artifact (element, atttribute ..) in appropriate
ways - For HTML, one has further extensions for each
tag (ltbodygt ltformgt ltagt etc.) - Consider world as a bunch of trees with domain
dependent extensions
6XML DTD Structure for Block Element
Internal Node
Leaf Node
7Example Tree based Course Structure
8More on Trees
- ADL have an educational hierarchy with
extensions for the rest of the world - Rather one should have a general tree with
extensions for documents, people, education,
computers, events,transactions . - One must as always distinguish location from
name from type of node - Location and name are in general distinct
hierarchies - Xlink/Xpath would normally identify an object
component (value of an element) by hierarchical
external location (URL) and hierarchical internal
name (id or tag sequence for DOM)
9MetaObject Event-based Computing Paradigm
- All entities are MetaObjects defined in universal
GXOS XML Syntax Meta means GXOS doesnt really
want to manage Object, just information required
to find, render and share it - Rendering includes Palm devices as well as PCs
- Entities are people, computers, data sources,
information from e-mail, scientific visualization
to digitized Bible - All actions including object changes are events
all events are GXOS objects - e-mail, paging etc. are all GXOS events uniformly
routed/archived etc. - All action is instantiated or recorded in
messages which are events themselves - All events are archived allowing actions to be
undone and to be reviewed - There is an MetaObject Shell MyXoS with basic
Services (copy, create, collaborate etc.) - Discovery etc. via Jini/Napster mechanisms
10GXOS GNDI Structure I
- Typically GXOS does NOT hold the object but
rather all the metadata for object including
where to find it - internalND (XML/EJB) defines where the metadata
is (GNDI Garnet Naming/Directory) - externalND where the object is (JNDI Java
Naming/Directory Interface or CORBA or COM or
SOAP) - Idea used in WebFlow/Gateway portals implies
efficient as use natural high performance
mechanisms for real objects - GXOS uses classic UNIX style directory structure
such as //Education/University/FSU/CS/PhD/Course/L
ecture - Structure says can handle quadrillion
meta-objects//Jefferson/HallD/Run1/May132005/Tape
5/Event1234/Detector3 - Events are a special type of GXOS object defined
with GMS Extension to basic hierarchical object
11GXOS GNDI Structure II
- The more you know about an object, the easier it
is to build a collaborative system - It is hard to share a general program as
properties are not explicit - You put in GXOS metadata precisely those
properties that need to be shared - All GXOS objects can be containers as well as
having full object characteristics - Unlike UNIX where directories (only containers)
and files (never explicit containers) are
different - Can create a link (internalND pointer) with a
profile to define special properties of this
object in a new context - Intelligent symbolic links
- One links User, Client Device to VE (Virtual
Environment) with XML profiles mapping user to
this session --gt Universal Access
12GXOS Schema
See http//aspen.csit.fsu.edu/users/ozgur/docs/gxo
s/
http//aspen.csit.fsu.edu/project/cctools/jmsevent
api.xls
13Overall Structure of GXOS for a MegaMeeting
EventArchive
Capabilities
Global Root
Users
Devices
Documents
Admin
Multimedia
Have a hierarchy of MegaMeetings(any collection
of meetings)
MegaMeeting
Meeting
Meeting
Meeting
14Structure of GXOS For a Collaborative Session
Meeting
An ApplicationSupporting GMS
GNDI Links
Users
Devices
GNDI Links
Sharedlets
Capabilities
Sharedlet3
Sharedlet1
Sharedlet2
VE is VirtualEnvironment
15Collaboratory Applications
- Distance Education including advanced seminars
and training - Help Desk including
- Microsoft helping user debug problem on home PC
(connected to Internet) - MSRC consulting staff interacting over distance
in real time with a user with a program bug - Yahoo staff asking in depth questions from users
browsing either their knowledge or Shopping sites - Scientists brainstorming difficult research
issues in distributed locations - Virtual communities around the world from
children chatting to each other or integration of
distributed organizations (like ARL) - Indian Nation remaining in their homeland but
participating electronically in modern economy
(digital.indigineousworld.org) - Implementing next round of PET activities
- Crisis Management and Command and Control for
Military
16Goals and Features of Garnet
- Support distance education, collaborative
computing and building electronic communities - Uses desktop (HearMe VOIP, Polycomm) Conferencing
or Access Grid at higher end - Garnet has a low-end heritage
- Builds on lessons from Tango (Syracuse) and
commercial NetMeeting WebEx Placeware Centra etc. - Integrate synchronous and asynchronous
collaboration - Integrate concept of a portal (web interfaces to
applications) with collaboration - Supports universal access including PDAs
collaborating with desktops - PDA Control of device or PDA alternative kiosk
access gotten as a collaborative session between
device and PDA
17Publish/Subscribe Collaboration
- The web is full of objects web pages sitting
on web servers and these support asynchronous
collaboration - You post a web page and I later look at it in my
own time - Replacing web document by a CGI script or
servlet (web interface to program, database etc.)
gives general multi-tier object sharing - This is Publish/Subscribe mechanism
- If add some mechanism (automatic email or word of
mouth) to tell viewing client when new
information is posted - We build on JMS (Java Message Service) as
Industry standard for publish/subscribe systems - Synchronous Collaboration provides real-time
notification and automatic update of changed
objects - JMS seems fast enough to do real-time
18JMS Structure
Global (distributed) Event Receptor (Queue)
PDAwith JMS
Subscribe
PDAwithout JMS
HHMS
Publish
Convert Eventsto JMS
HHMS Optimized for Performance. Assume complex
(XML) processingdone on personal server
JavaScript
Java
C ..
17 Nov 2000
19JMS Latency
20JMS Latency
21Bandwidth of JMS
22Bandwidth of JMS
23Garnet Architecture Underpinnings
- All software written in Java (EJB) all data
structures defined in XML GXOS - Unified Event Model assume all systems
communicate with XML based messages (possibly
wrapped) universal rendering portalML - All entities client and server devices, users,
programs -- defined in XML resourceML - All events archived to enable fault tolerance and
replay - GMS -- Garnet(Grid?) Message Service -- extends
JMS to XML not text properties to allow server
side intelligence - Assume clients can crash but servers persistent
24GMS Model for Messages
- Agent based messaging with server (broker) side
intelligence and archiving
Subscribes to all events to getpersistence
AgentcombinesMessage PropertiesSubscriber
Requeststo decide onmessage recipient
Central Knowledge
ServerMessage Input Queue
SubscriberProfiles
GMS Garnet Message Servicebuilt on commercial
JMS
Set via GMS
Publishers
Subscribers
25Requirements of Collaboration I
- We have learnt a lot from our own experiments
(systems called Tango (synchronous) and
WebWisdom/Virtual Classroom Manager
(asynchronous)) - and from study of commercial models
- NetMeeting, WebEx Centra and Placeware (and
others) have evolved to more or less identical
synchronous models - Yahoo, Excite, NetCenter are asynchronous
information portals - WebCT and Blackboard are asynchronous education
portals - New systems like Groove and concepts like MOOs
which appear to have limited popularity - Why are bulletin boards not used in place of
simple email? - e.g. in Grid Forum
26Requirements of Collaboration II
- Need to support both synchronous and
asynchronous models in an integrated fashion - Some think asynchronous web based education will
replace conventional methods - Maybe role of synchronous (teacher-student
interaction) shifts from lecturing to mentoring - Implies need to archive synchronous sessions for
later replay - Implies build collaborative portals
- Need to support PDA and PC seamlessly
- Define content in XML and use style-sheets or
other transformation tools to map into HTML (PC)
or WML (PDA) - This is part of portalML
- Collaboration implies sharing objects the
better object structure exposed, the better
sharing is possible - So define everything you can in XML (ResourceML)
- We can share Word/PowerPoint best in Web or SVG
form as this is universal export. Could build a
custom office sharing tool but hard
27Requirements of Collaboration III
- Predict that future will see higher quality web
pages as Web allows more competition (e.g.
between education providers) - So need to understand how to share pages written
with Macromedia Flash and other high end
authoring tools - Need to migrate to evolving standards whether
sure things like SMIL (multimedia) or W3C
Universal Access or possibles like OpenOffice or
WML - Must assume all commercial and indeed academic
products will evolve (rapidly) and so generic
collaboration framework strongly preferred - Special requirements of Science and HPCC
- Share Mathematics (MathML) and other science
symbols (e.g. molecules) in scientific whiteboard
etc. - Share Computing (submit jobs, visualization etc.)
28Aspects of Collaboration
- Collaboration means Sharing and we identify three
classes of capability - Share the people Audio/Video Conferencing
- Basic Tools email, Instant Messenger, Bulletin
Boards, White board - Shared resources i.e. shared objects (Basic tools
are special case where object is a text message
or simple drawing) - Objects can be shared in several ways
- Shared display
- Shared export
- Shared event
- Which trade off ease of use versus flexibility
versus ease of implementation - If we share objects and we have a lot of them,
then we must have management capabilities so we
can store and retrieve them - Management issues have special needs in some
areas e.g. store grades and homework in learning
systems
Everything is implicitly an ObjectNeed to make
that explicit forCollaboration Systems
29Collaborative Visualization
- Consider a computer program (object above) and
then its output and input wend their way through
multiple filters(tiers) until they are finally
rendered onsome sort of device CAVE through
PDA. - One can share object at any stage in pipeline
30Architecture of Collaboration II
- All forms of Collaboration are Event based
- Different modes Display, Export, Event
correspond to events generated at different
places in object realization/rendering pipeline - Shared Display Events contain updates to frame
buffer - Shared Event Events contain updates to state
of either original or transformed object - Shared Dynamic Export Convert (rendering of)
object to some standard form that is more
flexible than bitmap of Shared Display. Build a
custom sharing for this exported form - WebEx uses patented sharing of virtual printer
which is equivalent to sharing export to PDF - I like shared HTML (web pages) or SVG described
later
31Architecture of Collaboration III
Pub/SubServer
Receive eventson subscribedchannels
PostEvents
Subscribe
Exported Object
SubscribingObject II
SubscribingObject I
- Objects are all copies of each other with
events maintaining state - Result can be identical or different renderings
e.g. one can choose on subscribing client to
resize rendering to a larger (so can see) or
smaller (as PDA) size
32Architecture of Collaboration IV
This is replicated between each collaborating
client.It is frame buffer,original
object,Web/SVG/PDF/.. Exportfor Shared
display, eventand export models respectively
Transform
Render
- For each collaborative model, we are sharing and
replicating an object - We just need to choose which version of original
object to use
33Important Concepts in Initial Garnet
- Standard stuff built in shared display,
whiteboard, HearMe control, quizzes, annotations,
chat (Jabber.org) - Must be able to record and replay all features of
session (SMIL) - A/V, Presentation, Annotations, Text Chat
- Developing SVG (Scalable Vector Graphics) Shared
Export - 2D Scientific Visualization/Whiteboard
- Macromedia (FlashSVG) and Adobe (already)
- Initial source of SVG Convert PowerPoint VML to
SVG - Would give shared export model for PowerPoint
with each client able to scale independently at
high resolution - Shared Java Server Pages for Gateway Computing
Portal - Universal Access and support of Palm/Windows CE
Clients - Java based MyProfessor or MyCommunity Yahoo
Messenger like interface
34Summary of Architecture
- Multi-tier with resourceML to define Objects and
portalML to define client server interface and
dissociate Object and its rendering - Server side logic to allow range of clients and
exploit increasing network bandwidth - Automatically gives universal archiving
- Publish/Subscribe can be used as universal
mechanism for synchronous and asynchronous
collaboration - only need latencies of fractions of a second
as this built already due to browser update time,
long distance transmission time etc. (JMS
latencies around 0.1 second for modest size
message going from publisher to subscriber) - Will need multicast (not in JMS) to scale to lots
of clients - Naturally supported by event based model of
computing with all transactions expressed as time
stamped messages (events) which are archived and
forwarded by middle tier
35myIndiana Portal Interface
- Yahoo Messenger is an interesting model for the
myAG or more generally myProfessor (Education) or
myHPCC (general computing) interface - Small Application that invokes browser
- Runs on PC or Palmtop and only contains summary
information suitable for Palms can we use Java
(J2ME) - Has services like file manipulation, send a
message and set of custom buttons - Access News, Weather, Stocks etc.
- Develop myHPCC with computers, papers, programs
and sensors instead of news and stocks - Develop myProfessor with school events, classes
etc.
36Typical Shared Information
- Allow customizable skins in portalML
- Allow auditorium participant interface as in
Placeware
Control buttons for Audio/Video/Floor Control etc.
Lecture Page superimposed on a Java White
Board Annotations (student, teacher) Pointers etc.
IndexManageInfo
Alert/Raise Hands
Video or HearMecontrols or ..
Chat Room/IM
Invoke Quiz
37Typical MyProfessor Interface
- Messages will give you access to email, instant
messenger, voice messages, alerts etc. - Agents scan for useful resources you requested
e.g. news about Enterprise Javabeans - Calendar and Scheduler supports CDIS, CAP and CIP
data Interchange, access and Interoperability
standards (see iPlanet Calendar Server 2.1)
38Audio-Video Conferencing
- In Tango training, audio-video conferencing was
always problematical. Current commercial systems
quite flaky - Video may or may not be necessary Internet only
supports postage stamp talking heads - Audio only requires a few kilobits per second but
quality of service critical and not likely to be
supported on current Internet - HearMe desktop audio Support general mix of
internet and ordinary phone lines which have - Quality of service and good echo canceling etc.
on high-end phones - Should work with modem (28.8 kilobits per second)
- Access-Grid community audio/video Supports
multiple high-quality audio and video streams - Each client client needs 20 megabits per second
39Authoring
- Authoring on the Web can include
- Basic HTML
- Macromedia/Adobe/etc. packages like Fireworks,
Dreamweaver, Illustrator - PowerPoint and Word exported
- Also can include RealNetworks or Microsoft or ..
Format Multimedia - Note Streaming multimedia formats have larger
buffers than A/V conferencing formats - Pressure to improve web quality
- Training and Education need a lot of material
and so custom editing of each page not practical - Using XML to specify content and include this in
beautiful framework seems best - SVG and SMIL are 2D vector graphics and
multimedia standards - HTML does not give reproducible pages
- Flash can be thought of as proprietary SVG
40Macromedia Flash is Premier Web Authoring Tool?
Vector Graphics EnsuresScalableImages
41Peer to Peer P2P B2B B2P
- Napster, GrooveNetworks, Entropia etc. have
popularized peer to peer concepts - Not clear what this means as implementations are
naturally server based and Gilders law says
Servers should be efficient - At Demo 2001, XDegrees of Mountain View, Calif.,
will preview a new Internet service that allows
applications and business processes to
automatically locate one another on the Web. The
company plans to demonstrate how its service can
be used by turning Microsoft Outlook into a
p-to-p application by embedding an applet in
Microsoft Explorer. XDegrees offers its software
as a service whereas other platforms, such as
Groove's, require downloading a client - Meanwhile, Consilient, in Berkeley, Calif., will
preview its namesake platform for linking
business processes in a peer-to-peer
architecture. Scheduled to be available in March,
Consilient is built around Java and makes use of
a Sitelet client code, XML containers, and Java
to create a p-to-p infrastructure for any given
set of processes, said company President Erik
Freed.
42Technology Trends and Principles
- All performance and capability measures of
infrastructure continue to improve - Gilders law says that network bandwidth
increases 3 times faster than CPU Performance
(Moores Law) - The Telecosm eclipses the Microcosm .
George Gilder Telecosm How Infinite Bandwidth
Will Revolutionize Our World (September 2000,
Free Press ISBN 0684809303, 146 in Amazon
Sales Jan 15 2001)
43B2B becomes Collaborative
- Ariba Inc., the largest of the business-to-busines
s software companies, is expanding its product
line with a planned 2.4 billion stock purchase
of Agile Software Inc. Ariba Acquisition - Agile makes software for what is being called
"collaborative manufacturing," in which companies
that change their products frequently use the
Internet to work with their suppliers, among
others, to better plan for those changes. - It is the latest B-to-B offering to promise
greatly increased efficiencies for customers --
though it is not yet clear when, or if, the
technology will make good on the expectations
people have for it. Earlier B-to-B products, like
"exchange" commerce sites used for online buying
and selling were all the rage a year ago, but
have disappointed many investors.
44P2P Hype Lessons
- One wishes to enable on the Internet edge
resources (computer cycles, files, users) to be
linked together - Napster implements Web based NFS (Network File
System) for self defining music objects (.mp3 has
audio plus metadata) - GXOS provides the missing metadata for all the
file types (.txt .doc .jpg etc.) which are not
self defining - Thus MyXoS could implement general Napster like
services - Jini mechanism could be used to allow distributed
meta-objects to federate together - You have lots of instances of MyXoS running on
disconnected machines each in charge of their
own set of GXOS MetaObjects - Enabling network connections, these instances
would announce themselves and lease the
metadata under their control
45Hand Held Internet
- So we will have convenient hand-held devices
linked to the wireless internet - Wireless Internet is basically the same as
conventional Internet except that content is
optimized for size and communication limitations
of wireless systems - Current bandwidth is around 14.4 kbaud poor
modem - Maybe WAN Cellphone bandwidth will be limited for
near future - Bluetooth standard should give hand-held
devices megabit per second communication
bandwidth for LAN - Two positives for the wireless hand-held device
- Cheaper than a PC (relevant for students)
- More portable and more pervasively useable than a
PC - Grid on the Go Meeting May 2001
46Collaborative Palm Tops
- Shared Display Share pixels between clients
- Shared Event Share URL between clients in
general have different versions (WAP for
Palm-top, HTML/HTTP for PCs) of display
controlled by same XML content
Collaboration Server
URL or (scaled)frame buffer
..
HTTP-HTML
WAP
Web Server
47Hand Held devices and Device Control
- Ubiquitous access to resources from palm-top
devices will allow new HPCC access modes from
simple job submission through visualization of
results - Implement as collaboration between Palmtops and
vizdevices - Control large screendisplays Banksand
Erlebacher - Control active walls ofFlat Panel screens
- Note by 2005 65 of Broadband Internetaccess
expected to befrom non desktop devices
48Two Hand Held Prototypes
- Latest release of VNC (public domain shared
display) for Palm tops is quite impressive fast
and includes server side resizing for reducing
shared display for smaller hand held display - We have a prototype of a Java client in a Palm
controlling 3D object on PowerWall through a
wireless connection
PalmVNC
49Real Time Collaborative Systems
- Real time situations demand immediate response
from anywhere expert - spacecraft reports unexpected problem
- IMT test surprise
- Commanders or field personnel in Crisis
Management - Scientific analysis during aftershocks of
Earthquake - Collaboration (must bring in special expert) and
support of diverse displays maybe critical
person only has Palmtop are particularly
important in these application - Synchronous and asynchronous
50page
ALARM
Caltech
quake location, size --
page
disloc
disp
JPL
sorted station potential --
modem
Dial Stations(and database)
USGS
station raw files --
page
WAKE UP!
GIPSY/auto_p
JPL
station motions --
JPL
disloc
simplex
JPL
--maps for civil authorities
single-fault model
multi-fault model
Virtual_California
Boulder (University of Colorado)
web simplex
JPL
--graphics --refined fault model
collaboration
--graphics --hazard model
51SharedBrowserof Simulation Results
Will become myACES
Chatroom
Shared map of faults/sensors
SCEC Demo (Sept 99)Collaboration in GEM
Earthquake Analysis System
Conferencing
52Collaborative Portal
Persistent Store of Earthquake Data
Simulations
ResourceML
Real Time control And sensor data
Asynchronous Access
Store
Real time Share
CollaborativemyACES
Synchronous Distributed Science
PersonalServer
PortalML
Client
HTML WML/WAP Rendering Standards
53A Sample Collaboratory
- Here is a sample collaboratory designed for
HallD a proposed experiment at DoEs
Jefferson Laboratory - HallD produces 1015 data or simulation objects
per year - HallD involves hundreds of scientists around the
country collaborating in taking data, processing
it and analyzing it to find nifty science
breakthroughs - One first would establish HallD Digital Object
Standard covering everything from LED on
experimental apparatus, data produced in each
part of apparatus, plots and other analysis
artifacts, presentations and papers - GNDI Organizes systematically in natural
hierarchical fashion and it will be efficient
54MyHallD Collaborative Portal
- MyHallD is the portal door to the
- Virtual HallD Experiment Control Room
- Virtual HallD Monte Carlo Farm
- Virtual HallD DST Factory
- Virtual HallD Physics Engine
- Virtual HallD Board Room
- HallD Education and Outreach Area
- These share access to 1015 HallD digital objects
but access (and make) them in different ways and
are optimized in different ways - They share certain features and services
- All actions are archived as GMS Events (in XML)
- Common security infrastructure
- Access can be from PC or Hand Held device
55Features of MyHallD and its HallD Virtual Places
- MyHallD would have
- Handles to open 6 Community Virtual Places as
well as ability to open private virtual rooms - HallD/Jefferson/HEP Calendar, Phone lists etc.
- News Items with browser links
- Experiment Status etc.
- Invoke basic Collaboration Tools Internet
Phone Local and remote cameras Chat Whiteboard - Automatic Update (to myHallD) Feature
- Indicator as to which places you are in and who
else is active there. - To do list for you in HallD
- Gentle and Crass ways of getting peoples
attention
56Features of Virtual MyHallD Places
- HallD Board room can be done today for some
capabilities using WebEx Placeware or Centra - DST Factory and Monte Carlo Farm do not require
significant synchronous collaboration build
computing portals for standard Physics packages - Need strong management functions
- HallD Physics Engine could benefit from
innovative user interfaces and collaboration in
analysis of results - Here is where difficult decisions made (how to
run Minuit optimization program) and distributed
experts could be useful - Share analysis results and choice of parameters
for future large analysis (which partial waves to
include) - HallD Education and Outreach can use standard
Virtual Classroom model
57Features of Virtual MyHallD Places
- Virtual Experiment Control Room could be a big
win as (unexpected) real-time decisions need
experts-on-demand - Similar model with DoD and IMT experiments or
NASA for remote spacecraft mission control and
real-time scientific analysis of earthquakes - Needs to evaluate collaborative decision making
(vote?) and planning tools - Needs to allow shared streaming data as well as
shared read-outs of experimental monitors (output
of all devices must be distributed objects which
can be shared) - Needs to support experts caught on their sailboat
with poor connectivity or in their car with just
a cell phone and a PDA