Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration...

19
Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001

Transcript of Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration...

Page 1: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

GarnetGXOSGMSGNDIJMS

MyXoS

23 January 2001

Page 2: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Goals• Near Term (May 2001):• 1) Build a collaboration system to support

distance education • 2) Illustrate interesting collaborative computing

environment• With many long term and some short term

requirements– Must support PDA (Short and Long Term)– Must support high quality web pages (Medium Term)

• Generate electronic communities (One year)– Indian Nation, Florida Mathematics

Page 3: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Partners• Anabas Corporation: will build basic

infrastructure and cross license it to us• HearMe: audio conferencing• Argonne: Access Grid (Community room A/V

conferencing)– Will go to their “retreat” next week

• Funding: PET DoD at ANL ASC ERDC• Funding: NCSA (NSF)• Funding: NSF for Geosciences• Maybe Funding for Indigenous Nation

Collaboratory

Page 4: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Architecture Underpinnings• Unified Event Model – assume all systems

communicate with XML based messages -- portalML

• All entities – computers, users, programs -- defined in XML – resourceML

• All events archived to enable fault tolerance and replay– Links synchronous and asynchronous collaboration

• Such a unified messaging natural in Instant Messenger, PDA and our model can support this

• All software written in Java; all data structures defined in XML

Page 5: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Some Abbreviations• Garnet: Overall System• JMS: Java Message Service for basic publish/subscribe

infrastructure• GMS: Garnet Message Service with high level XML

messages• GNDI: Garnet Naming and Directory Service• GXOS: Garnet XML Object Specification• MyXoS: XML based OS for the Web• Sharedlet: Collaborative application supporting GMS

Page 6: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

JMS Structure• Publishers send Messages which have

– Headers with a set of properties (text)– Body which can be quite interesting: Byte Stream, Serialized Java, XML (in

extensions) etc.

• Messages are delivered to queues on one or more servers• Subscribers send requests to servers which request JMS queued

messages based on SQL like queries on properties stored in header– Classic example: Header is topic and subtopics such as Sports – NBA –

Lakers – Shaq. Select all Sports messages involving Shaq– Synchronous Example: Header is IT2 – Lecture 6 – Chat Room. Select all

messages in Chat room for a particular class

• In GMS Headers are also XML and interpreted on Server

Page 7: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

JMS Structure

Convert Eventsto JMS

JavaScript Java C++ …..

Publish

17 Nov 2000

PDAwithout JMS

PDAwith JMS

Global (distributed) Event Receptor (Queue)

Page 8: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

GMS Model for Messages• Agent based messaging with server (broker) side

intelligence and archiving

Publishers Subscribers

ServerMessage

Input Queue

SubscriberProfiles

Agentcombines

Message PropertiesSubscriber Requests

to decide onmessage recipient

Database

Page 9: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Architecture

ControlModule

Global (distributed) Event ReceptorAnd Distributor after selection

Publish

Foreign Adapter

Client

DatabaseArchive Adapter

Client

Subscribe

Client ……

SubscribeTo all

SubscribeTo control eventsPublish other events

E-mail Web Server

Publish andSubscribe

……Database

17 Nov 2000

JMS

Page 10: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

GNDI Structure• 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)

• GXOS uses classic UNIX style directory structure such as //Education/University/FSU/CS/PhD/Course/Lecture– Structure says can handle quadrillion meta-objects

• 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

• Events are a special type of GXOS object defined with GMS Extension to basic hierarchical object

• Can create a link (internalND pointer) with a profile to define special properties of this object in a new context

Page 11: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Overall Structure of GXOS

Global Root

Users Devices Documents Admin Multimedia

MegaMeeting

Meeting

Have a hierarchy of these

Meeting Meeting

EventArchive

Capabilities

Page 12: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Structure of GXOS For a Collaborative Session

Meeting

Users Devices Admin

Sharedlets

VEa VEb VEc

Sharedlet2Sharedlet3Sharedlet1

VEa VEb VEc

VEa VEb VEcVE is VirtualEnvironment

Links

CapabilitiesLinks

Page 13: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

GXOS Capabilities

Global Root

Capabilities

Any Sharedlet

DefaultSetup 1

…….

All of these are GXOSObjects

GXOSShell

GXOSShellScript 1

…….

WebExport

DefaultSetup 1

…….

ObjectWizard

DefaultObject 1

…….

Page 14: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Structure of GXOS For a Sharedlet

Admin

Sharedlet1

VEa VEb VEc

VE is VirtualEnvironment

Combination of User/DeviceLabeled by a b c … z

Users Devices Documents

Profiles

Stream1a Stream1b Stream1c

Events1a: 1,2…

Events1b: 1,2…Events1c: 1,2…

Links

Page 15: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

GXOS Schema

See http://aspen.csit.fsu.edu/users/ozgur/docs/gxos/

http://aspen.csit.fsu.edu/project/cctools/jmseventapi.xls

Page 16: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Important Concepts• Support Shared Display, Shared Export and Shared Event• Must be able to record and replay all features of session (SMIL)

– A/V, Presentation, Annotations, Text Chat• Later support mathematics (MathML)• How does one link database to XML – what is Entity Relationship for DB and how

is it related to GXOS• SVG seems very important as

– 2D Scientific Visualization (Whiteboard)– Future of Macromedia and Adobe

• Initial source of SVG: Convert PowerPoint VML to SVG– Would give shared export model for PowerPoint with each client able to scale

• Shared Java Server Pages for Gateway• Structure of Web Pages and Templates

– What is XSL and what is specialized filter (Note GXOS can define page fragments)

• “Universal Access” and support of Palm/Windows CE Clients– MyProfessor or MyPET Yahoo Messenger like interface

• Event Service (Shrideep Pallickara’s Thesis)– JMS done right; MyXoS

Page 17: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

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

Page 18: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

MetaObjects and Napster / Jini• 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

• What unites Napster Jini Collaboration– They are enabled by exposing properties of distributed objects

Page 19: Garnet GXOS GMS GNDI JMS MyXoS 23 January 2001. Goals Near Term (May 2001): 1) Build a collaboration system to support distance education 2) Illustrate.

Writing a PhD Thesis• Choose a research topic – this is NEVER writing software

– e.g. Architecture of a Distributed MetaObject Web OS

• Choose what prototype system you will build to test and refine research topic– e.g. Build XML Interpreter for basic MyXoS implementing Jini

federation mechanism

• Decide what artifacts you need on the way and what it is necessary for group to have built– E.g. you build GXOS Object Creation wizard; XML version of Jini

– E.g. Assume somebody builds GXOS and basic management system for GXOS Objects

• Write up a plan and review with me and group• Then you spend 90% of your time writing software