Garnet Collaboration system

Download Report

Transcript Garnet Collaboration system

Research and
Internet Technologies
9 March 2001
FSU
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
Why do Research I?
 The outside world is moving with Internet Time
 Not so many Universities are
 So maybe you get out there and join this
running tide ?
 But with a masters degree, you won’t go into
the leading projects
– You will be answering questions from clients of
Oracle 8i or even worse 7.x.y.z
– You will be in a struggling e-commerce company
with worthless stock options and abandoning its Java
middleware as must cut resources on new
developments
7/21/2015
http://aspen.csit.fsu.edu/collabtools
2
Why do Research II?
 Things get better but next time you look up, .net
has taken over and you know nothing about it
– Greatnewcompany.com won’t hire you
 Industry is probably a better bet for most of you
than academia but …
– You need to be prepared to ride the bow wave of
innovation
– Understand the best technologies and understand why
they are best
 A PhD will prepare you best and always have
value
7/21/2015
http://aspen.csit.fsu.edu/collabtools
3
Why Choose Internet Technologies?
 Computer science has many drivers but those
parts driven by expanding technology or demand
are best
– The web gets bigger
– Moore’s law says computers get more powerful
– Gilder’s law says networks get higher bandwidth
 So do research in areas where these advances
will help you
 Internet Technologies satisfy all criteria
 They are the most remarkable distributed
computing infrastructure
7/21/2015
http://aspen.csit.fsu.edu/collabtools
4
Everything is a distributed system
 From one PC to the IBM parallel supercomputer
to the company intranet to the world
– All our distributed systems
– Networks of PDA’s PC’s Sony Playstations are all
distributed systems
 All software needs to be designed, written or
rewritten as Internet technologies are more
powerful and allow easier integration of
capabilities such as databases in a more secure
and functional environment
7/21/2015
http://aspen.csit.fsu.edu/collabtools
5
Technology Trends and Principles
 All performance and capability measures of infrastructure
continue to improve
 Gilder’s law says that network bandwidth increases 3 times faster
than CPU Performance (Moore’s 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)
7/21/2015
http://aspen.csit.fsu.edu/collabtools
6
Palm Tops help define Client Model
There is growing interest in wireless
portable displays in the confluence of
cell phone and personal digital
assistant markets
By 2005, 60 million internet ready cell
phones sold each year
65% of all Broadband Internet
accesses via non desktop applicances
One needs to design web systems so
they can be accessed from either a
PDA or a PC or a Powerwall
This implies that only code in browser
should be that immediately needed to
relay events between user and web
system – all “logic” (state) should be
outside browser.
7/21/2015
http://aspen.csit.fsu.edu/collabtools
7
Everything communicates by Messages
 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
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
Everything is a Tree
 Consider “world” as a bunch of trees with domain
dependent extensions
documents, people, education, computers,
events,transactions ….
This suggested by UNIX Windows Yahoo Governments
..
One must as always distinguish location from name
from type of node
– Location and name are in general distinct hierarchies
 XML technologies RDF/Xlink/Xpath can identify an
object component (value of an element) by hierarchical
external location (URL) aor hierarchical internal name
(URI)
7/21/2015
http://aspen.csit.fsu.edu/collabtools
10
Napster P2P 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)
Must provide 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
All objects (data, programs) must be self defining and self finding
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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
11
Collaborative P2P Grid
Collaborating Grid with
Redundant Server
Network (Industry leader
WebEx has 120 in 6 centers)
for persistence and routing
(optimal software multicast)
Collab
Server
Collab
Server
Peer to Peer
“Illusion”
Among
collaborating clients
7/21/2015
Pu blish
Data
base
Collab
Server
Collab
Server
Collab
Server
Sub scribe
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
Research Topics I
 We are developing “the operating environment
of future” with a focus on a particular area –
collaborative P2P network for computing,
research and education
 How do represent meta-objects in memory and
efficiently go from serialized (XML, persistent)
form to Java data structures?
 What is distributed bootstrap that allows all
meta-objects to announce themselves?
 What is architecture of the Semantic Web?
 What services does MyXoS have?
 What is security in MyXoS?
7/21/2015
http://aspen.csit.fsu.edu/collabtools
14
Research Topics II
 What is the authoring model for documents spanning Word
PowerPoint Adobe Macromedia that is consistent with GXOS –
need interoperable basic infrastructure
– e.g. how do you prepare material for distance education –
Blackboard is obviously wrong
 What is model for collaborative computing
– e.g. bunch of earthquake scientists linked to worldwide
sensors and simulators as California breaks in two
 What are key concepts/services for P2P computing
– JXTA from Bill Joy
 What is structure of MyXoS message service
What is server architecture supporting dynamic distributed
clients?
7/21/2015
http://aspen.csit.fsu.edu/collabtools
15
Research Topics III
 What is MyXoSME (Micro Edition) for messaging, client server
breakup, API
– From Playstations to PDA’s to …
 How does one build particular collaborative objects
– Visualization, general shared display, web pages ..
 What does a next generation physics experiment look
like with a quadrillion objects?
– Field made mistake of using object databases
 What is audio/video conferencing structure and how do
we replay; conferencing versus streaming formats
What is a modern Java/XML based parallel computing
environment look like -- HPJava
7/21/2015
http://aspen.csit.fsu.edu/collabtools
16
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)
– 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
17
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
18
GXOS Schema
See http://aspen.csit.fsu.edu/users/ozgur/docs/gxos/
http://aspen.csit.fsu.edu/project/cctools/jmseventapi.xls
7/21/2015
http://aspen.csit.fsu.edu/collabtools
19
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
20
Structure of GXOS For a Collaborative Session
GNDI Links
Users
An Application
Supporting GMS
Meeting
Devices
GNDI Links
Capabilities
Sharedlets
Sharedlet1
Sharedlet3
Sharedlet2
VEa
VEb
VE is Virtual
Environment
7/21/2015
VEc
VEa
VEa
VEb
VEb
VEc
VEc
http://aspen.csit.fsu.edu/collabtools
21
Collaboratory 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
7/21/2015
http://aspen.csit.fsu.edu/collabtools
22
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
23
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
24
JMS Structure
Global (distributed)
Event Receptor (Queue)
PDA
with JMS
Subscribe
HHMS
Publish
Convert Events
to JMS
JavaScript
17 Nov 7/21/2015
2000
Java C++
…..
PDA
without JMS
HHMS Optimized for
Performance. Assume
complex (XML) processing
done on “personal server”
http://aspen.csit.fsu.edu/collabtools
25
JMS (Java Message Service) Structure
Global (distributed)
Event Receptor (Queue)
PDA
with JMS
Subscribe
HHMS
Publish
Convert Events
to JMS
JavaScript
7/21/2015
Java C++
…..
PDA
without JMS
HHMS (Hand Held Message
Service) Optimized for
Performance. Assume
complex (XML) processing
done on “personal server”
http://aspen.csit.fsu.edu/collabtools
26
Proposed 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: Grid Message Service
can be built on commercial JMS
Publishers
7/21/2015
All events in XML
Set via GMS
Subscribers
http://aspen.csit.fsu.edu/collabtools
27
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
28
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
29
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
30
Typical Shared Information
Allow customizable “skins” in portalML
Allow auditorium participant interface as in Placeware
Control buttons for Audio/Video/Floor Control etc.
Collaboration within an Event
based Computing Paradigm
Index
Manage
Info
Alert/
Raise Hands
Invoke Quiz
7/21/2015
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
[email protected]
2/15/2001
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
31
Caltech
ALARM
WAKE UP!
page
quake location, size --
disp
JPL
WAKE UP!
page
disloc
sorted station potential -Dial Stations(and database)
USGS
modem
station raw files -page
GIPSY/auto_p
station motions --
JPL
JPL
disloc
simplex
JPL
--maps for
civil authorities
single-fault
model
multi-fault
model
Boulder
WAKE UP!
Virtual_California
(University of
Colorado)
--graphics
7/21/2015--hazard model
JPL
web simplex
collaboration
http://aspen.csit.fsu.edu/collabtools
--graphics
--refined fault model
32
Shared
Browser
of
Simulation
Results
Will become
myACES
Chatroom
Shared map of faults/sensors
Conferencing
7/21/2015
SCEC Demo (Sept 99)Collaboration in GEM
Earthquake Analysis System
33
http://aspen.csit.fsu.edu/collabtools
Persistent Store of Earthquake Data
Data
base
Data
base
Collaborative Portal
Real Time control
And sensor data
Simulations
ResourceML
Asynchronous
Access
Store
Collaborative
myACES
Personal
Server
Web
Page
7/21/2015
“Client”
Real time Share
Synchronous Distributed Science
PortalML
HTML WML/WAP
Rendering Standards
http://aspen.csit.fsu.edu/collabtools
34