Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | doreen-hampton |
View: | 219 times |
Download: | 5 times |
GarnetGXOSGMSGNDIJMS
MyXoS
23 January 2001
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
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
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
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
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
JMS Structure
Convert Eventsto JMS
JavaScript Java C++ …..
Publish
17 Nov 2000
PDAwithout JMS
PDAwith JMS
Global (distributed) Event Receptor (Queue)
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
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
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
Overall Structure of GXOS
Global Root
Users Devices Documents Admin Multimedia
MegaMeeting
Meeting
Have a hierarchy of these
Meeting Meeting
EventArchive
Capabilities
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
GXOS Capabilities
Global Root
Capabilities
Any Sharedlet
DefaultSetup 1
…….
All of these are GXOSObjects
GXOSShell
GXOSShellScript 1
…….
WebExport
DefaultSetup 1
…….
ObjectWizard
DefaultObject 1
…….
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
GXOS Schema
See http://aspen.csit.fsu.edu/users/ozgur/docs/gxos/
http://aspen.csit.fsu.edu/project/cctools/jmseventapi.xls
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
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.)
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
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