# Presentation: 266167

## Overview of GarnetCollaboration System

**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***
***fox@csit.fsu.edu***** **

- http://aspen.csit.fsu.edu/collabtools

## Goals and Features of Garnet

-  Support distance education, collaborative computing and building electronic communities (such as for American Indian Tribal Colleges)
- Uses desktop HearMe Audio Conferencing or Access Grid
- Builds on lessons from Tango (Syracuse) and commercial WebEx Placeware and Centra
- Integrate synchronous and asynchronous collaboration
- Supports universal access including PDA’s collaborating with desktops

- http://aspen.csit.fsu.edu/collabtools

## Architecture of 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
- Also Publish/Subscribe ....

- http://aspen.csit.fsu.edu/collabtools

## Garnet Architecture Underpinnings

- All software written in Java; all data structures defined in XML GXOS
- Unified Event Model – assume all systems communicate with XML based messages (possibly wrapped) – portalML
- All entities – computers, 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

- http://aspen.csit.fsu.edu/collabtools

## GMS Model for Messages

- Agent based messaging with server (broker) side intelligence and archiving

**Publishers**

**Subscribers**

**Server****Message**
**Input Queue**

**Subscriber****Profiles**

**Agent****combines****Message Properties****Subscriber Requests****to decide on****message recipient**

**GMS: Garnet Message Service****built on commercial JMS**

- Subscribes to all events

- http://aspen.csit.fsu.edu/collabtools

##  All forms of Collaboration are Event based
Different modes: Display, Export, “Event” correspond to events generated at different places in object rendering pipeline
 Shared Display – Events contain updates to frame buffer
 Shared “Event” – Events contain updates to state of either original or transformed object
 Shared 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

- Different modes: Display, Export, “Event” correspond to events generated at different places in object rendering pipeline
-  Shared Display – Events contain updates to frame buffer
-  Shared “Event” – Events contain updates to state of either original or transformed object
-  Shared 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

**Architecture of Collaboration II**

- http://aspen.csit.fsu.edu/collabtools

## GXOS GNDI Structure I

- Typically GXOS does NOT hold the object but rather all the metadata for object including where to find it
- internalND defines where the metadata is (GNDI Garnet Naming/Directory)
- externalND where the object is (JNDI Java Naming/Directory Interface)
- 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

- http://aspen.csit.fsu.edu/collabtools

## 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
- 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

- http://aspen.csit.fsu.edu/collabtools

## Overall Structure of GXOS for a MegaMeeting

- Global Root

**Users**

**Devices**

**Documents**

**Admin**

**Multimedia**

- MegaMeeting

- Meeting

- Have a hierarchy of MegaMeetings(any collection of meetings)

- Meeting

- Meeting

**Event****Archive**

**Capabilities**

- http://aspen.csit.fsu.edu/collabtools

## Structure of GXOS For a Collaborative Session

- Meeting

**Users**

**Devices**

**Admin**

- Sharedlets

**Sharedlet2**

**Sharedlet3**

**Sharedlet1**

- VE is VirtualEnvironment

- Links

**Capabilities**

- Links

- http://aspen.csit.fsu.edu/collabtools

## Important Collaboration Concepts

- 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
- 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

- http://aspen.csit.fsu.edu/collabtools

## 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.)

- http://aspen.csit.fsu.edu/collabtools

## myHPCC Portal Interface

**Yahoo Messenger is an interesting model for the myANL 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.**

- http://aspen.csit.fsu.edu/collabtools

## Typical Virtual Class(Meeting)room 

**Invoke this from ****myANL**** or ****myProfessor**
**See Centra, Placeware, WebEx....**

**Chat Room**

**Lecture Page**
**Annotations**
**(student, teacher)**
**Pointers etc.**

**Control buttons for Audio/Video/Floor Control etc.**

**Invoke Quiz**

**Alert/****Raise Hands**

**index**

- http://aspen.csit.fsu.edu/collabtools

## Typical 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)

- http://aspen.csit.fsu.edu/collabtools

## Hand Held devices and Device Control

**Hand 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

- http://aspen.csit.fsu.edu/collabtools

## A Sample Collaboratory

** ****Here is a ****sample collaboratory**** designed for “****HallD****” – a proposed experiment at DoE’s Jefferson Laboratory**
** ****HallD**** produces 10****15**** 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**

- http://aspen.csit.fsu.edu/collabtools

## MyHallD 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 10****15**** ****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**

- http://aspen.csit.fsu.edu/collabtools

## Features of MyHallD and it’s 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 people’s attention**

- http://aspen.csit.fsu.edu/collabtools

## Features 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**

- http://aspen.csit.fsu.edu/collabtools

## Features 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**

- http://aspen.csit.fsu.edu/collabtools