Garnet Collaboration system

Download Report

Transcript Garnet Collaboration system

Overview of Garnet
Collaboration System
22 February 2001
University of Michigan
CHEF Collaboration
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
[email protected]
7/21/2015
http://aspen.csit.fsu.edu/collabtools
1
Goals 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 PDA’s collaborating
with desktops
– PDA Control of device or PDA alternative kiosk access gotten
as a collaborative session between device and PDA
7/21/2015
http://aspen.csit.fsu.edu/collabtools
2
Publish/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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
3
JMS Latency
Latency (Non-Persistent)
10000
JMQ
iBus
SonicMQ
100
FioranoM
Q
10
1M
25
6K
64
K
16
K
4K
1K
25
6
64
16
4
1
0
milli-seconds
1000
Message Size (bytes)
7/21/2015
http://aspen.csit.fsu.edu/collabtools
4
Bandwidth of JMS
Non-Pe r siste nt/Non-Dur able
Messages per Seco nd
Number of Topic
: 50
pub/sub per Topic : 1
4000
3500
3000
2500
2000
1500
1000
500
0
iBus
FioranoMQ
SonicMQ
publisher
subscriber
Message Size (bytes) : 100
7/21/2015
http://aspen.csit.fsu.edu/collabtools
5
Garnet 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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
6
GMS Model for Messages
Agent based messaging with server (broker) side
intelligence and archiving
Subscribes to all events to get
Database persistence
Server
Message
Input Queue
Central
Knowledge
Agent
combines
Message Properties
Subscriber Requests
to decide on
message recipient
Subscriber
Profiles
GMS: Garnet Message Service
built on commercial JMS
Publishers
7/21/2015
Set via GMS
Subscribers
http://aspen.csit.fsu.edu/collabtools
7
Different Ways of Sharing
 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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
8
A Lesson from UNIX, Windows, Yahoo …
 Structured information is always labeled as a hierarchy
with symbolic links e.g. //A(home=root)/B/C/D ….
We have
search
engines for
unstructured
information
Symbolic Links
7/21/2015
http://aspen.csit.fsu.edu/collabtools
9
Confirmed by ADL and W3C DOM
 DoD’s 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
(<body> <form> <a> etc.)
 Consider “world” as a bunch of trees with domain
dependent extensions
7/21/2015
http://aspen.csit.fsu.edu/collabtools
10
XML DTD Structure for Block Element
? globalProperties
source ~
+ externalMetadata
model ~
location ~
Internal Node
* objectiveRef ~
title ~
identification
? description ~
? curricular ~
? labels
? developer ~
? prerequisites ~
? completionReq ~
course
source ~
* extensions
block ~
model ~
location ~
+ property
+
* au ~
* block ~
blockAlias ~
7/21/2015
? objectives
name ~
value ~
Leaf Node
http://aspen.csit.fsu.edu/collabtools
11
More 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)
7/21/2015
http://aspen.csit.fsu.edu/collabtools
12
MetaObject Event-based Computing Paradigm
All entities are MetaObjects defined in universal GXOS XML
Syntax – Meta means GXOS doesn’t really want to manage
Object, just information required to find, render and share it
– Rendering includes Palm devices as well as PC’s
– 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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
13
GXOS 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) -- essentially XPATH
– 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/Lecture
– Structure says can handle quadrillion meta-objects
//Jefferson/HallD/Run1/May132005/Tape5/Event1234/Detector3 …
 Events are a special type of GXOS object defined with
GMS Extension to basic hierarchical object
7/21/2015
http://aspen.csit.fsu.edu/collabtools
14
GXOS 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 --> Universal Access
7/21/2015
http://aspen.csit.fsu.edu/collabtools
15
Overall Structure of GXOS for a MegaMeeting
Event
Archive
Capabilities
Global Root
Users
Devices
MegaMeeting
Meeting
7/21/2015
Documents
Admin
Multimedia
Have a hierarchy of MegaMeetings
(any collection of meetings)
Meeting
Meeting
http://aspen.csit.fsu.edu/collabtools
16
Important 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 (Flash~SVG) 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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
17
Typical Shared Information
Allow customizable “skins” in portalML
Allow auditorium participant interface as in Placeware
Control buttons for Audio/Video/Floor Control etc.
Overview of Garnet
Collaboration System
Index
Manage
Info
Alert/
Raise Hands
Invoke Quiz
7/21/2015
30-31 January 2001
Argonne National Lab, Chicago
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
[email protected]
1/31/01
http://aspen.csit.fsu.edu/collabtools
Chat Room/IM
Lecture Page
superimposed on
a Java White Board
Annotations
(student, teacher)
Pointers etc.
1
Video or HearMe
controls or …..
http://aspen.csit.fsu.edu/collabtools
18