Download presentation
Presentation is loading. Please wait.
Published byYuliana Lie Modified over 6 years ago
1
Collaboration within an Event based Computing Paradigm
15 February 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 11/22/2018
2
Introduction Build web-based support for people to interact with each other and with other resources: computers, documents, instruments This was originally called a Collaboratory by Bill Wulf in a famous Science article in volume 261, 13 Aug 1993 We must do this while technology is rapidly changing and while we are not certain what collaborative tools, scientists will actually use i.e. requirements are not known We will find a set of successful existing capabilities where some consensus exists as to what they do and how they look to users – these are typically (now) commercialized We will see that a somewhat different computing paradigm is suggested to support collaborative systems – one that is explicitly message based and we will start with this MyXoS 11/22/2018
3
Legacy from the Distant Past
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 11/22/2018
4
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 11/22/2018
5
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 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 11/22/2018
6
XML DTD Structure for Block Element
Internal Node Leaf Node 11/22/2018
7
Example Tree based Course Structure
11/22/2018
8
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) 11/22/2018
9
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 , scientific visualization to digitized Bible All actions including object changes are events – all events are GXOS objects , 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 11/22/2018
10
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 11/22/2018
11
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 11/22/2018
12
See http://aspen.csit.fsu.edu/users/ozgur/docs/gxos/
GXOS Schema See 11/22/2018
13
Overall Structure of GXOS for a MegaMeeting
Event Archive Capabilities Global Root Users Devices Documents Admin Multimedia Have a hierarchy of MegaMeetings (any collection of meetings) MegaMeeting Meeting Meeting Meeting 11/22/2018
14
Structure of GXOS For a Collaborative Session
Meeting GNDI Links An Application Supporting GMS Users Devices GNDI Links Sharedlets Capabilities Sharedlet1 Sharedlet3 Sharedlet2 VEa VEb VEc VEa VEb VEc VE is Virtual Environment VEa VEb VEc 11/22/2018
15
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 11/22/2018
16
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 11/22/2018
17
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 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 11/22/2018
18
Global (distributed) Event Receptor (Queue)
JMS Structure Global (distributed) Event Receptor (Queue) PDA with JMS Subscribe PDA without JMS HHMS Publish Convert Events to JMS HHMS Optimized for Performance. Assume complex (XML) processing done on “personal server” JavaScript Java C ….. 17 Nov 2000 11/22/2018
19
JMS Latency 11/22/2018
20
JMS Latency 11/22/2018
21
Bandwidth of JMS 11/22/2018
22
Bandwidth of JMS 11/22/2018
23
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 11/22/2018
24
GMS Model for Messages Agent based messaging with server (broker) side intelligence and archiving Database Subscribes to all events to get persistence Agent combines Message Properties Subscriber Requests to decide on message recipient Central Knowledge Server Message Input Queue Subscriber Profiles GMS: Garnet Message Service built on commercial JMS Set via GMS Publishers Subscribers 11/22/2018
25
Requirements of Collaboration I
We have learnt a lot from our own experiments (systems called Tango (synchronous) and WebWisdom/Virtual Classroom Manager (asynchronous)) and from study of commercial models NetMeeting, WebEx Centra and Placeware (and others) have evolved to more or less identical synchronous models Yahoo, Excite, NetCenter are asynchronous information portals WebCT and Blackboard are asynchronous education portals New systems like Groove and concepts like MOO’s which appear to have limited popularity Why are bulletin boards not used in place of simple ? e.g. in Grid Forum 11/22/2018
26
Requirements of Collaboration II
Need to support both synchronous and asynchronous models in an integrated fashion Some think asynchronous web based education will replace conventional methods Maybe role of synchronous (teacher-student interaction) shifts from lecturing to mentoring Implies need to archive synchronous sessions for later replay Implies build collaborative portals Need to support PDA and PC seamlessly Define content in XML and use style-sheets or other transformation tools to map into HTML (PC) or WML (PDA) This is part of portalML Collaboration implies sharing objects – the better object structure exposed, the better sharing is possible So define everything you can in XML (ResourceML) We can share Word/PowerPoint best in Web or SVG form as this is universal export. Could build a custom office sharing tool but hard 11/22/2018
27
Requirements of Collaboration III
Predict that future will see higher quality web pages as Web allows more competition (e.g. between education providers) So need to understand how to share pages written with Macromedia Flash and other high end authoring tools Need to migrate to evolving standards whether “sure things” like SMIL (multimedia) or W3C Universal Access or possibles like OpenOffice or WML Must assume all commercial and indeed academic products will evolve (rapidly) and so generic collaboration framework strongly preferred Special requirements of Science and HPCC Share Mathematics (MathML) and other science symbols (e.g. molecules) in scientific whiteboard etc. Share Computing (submit jobs, visualization etc.) 11/22/2018
28
Aspects of Collaboration
Collaboration means Sharing and we identify three classes of capability Share the people: Audio/Video Conferencing Basic Tools: , Instant Messenger, Bulletin Boards, White board Shared resources i.e. shared objects (Basic tools are special case where object is a text message or simple drawing) Objects can be shared in several ways Shared display Shared export Shared event Which trade off ease of use versus flexibility versus ease of implementation If we share objects and we have a lot of them, then we must have management capabilities so we can store and retrieve them Management issues have special needs in some areas e.g. store grades and homework in learning systems Everything is implicitly an Object Need to make that explicit for Collaboration Systems 11/22/2018
29
Collaborative Visualization
Object Filter Map Transform Broker Event Adapter Input Output A B Shared Display C W3C Custom Master User B Collaborators A and C Shared “events” Consider a computer program (object above) and then its output and input wend their way through multiple filters (tiers) until they are finally rendered on some sort of device: CAVE through PDA. One can share “object” at any stage in pipeline 11/22/2018
30
Architecture of Collaboration II
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 11/22/2018
31
Architecture of Collaboration III
Pub/Sub Server Receive events on subscribed channels Post Events Subscribe Exported Object Subscribing Object II Subscribing Object I Objects are all “copies” of each other with events maintaining state Result can be identical or different renderings – e.g. one can choose on subscribing client to resize rendering to a larger (so can see) or smaller (as PDA) size 11/22/2018
32
Architecture of Collaboration IV
This is replicated between each collaborating client. It is “frame buffer”, “original object”, Web/SVG/PDF/.. Export for Shared display, event and export models respectively Original Object Transformed Transform Render For each collaborative model, we are sharing and replicating an object We just need to choose which version of original object to use 11/22/2018
33
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 11/22/2018
34
Summary of Architecture
Multi-tier with resourceML to define Objects and portalML to define client server interface and dissociate Object and its rendering Server side logic to allow range of clients and exploit increasing network bandwidth Automatically gives universal archiving Publish/Subscribe can be used as universal mechanism for synchronous and asynchronous collaboration “only” need latencies of fractions of a second as this built already due to browser update time, long distance transmission time etc. (JMS latencies around 0.1 second for modest size message going from publisher to subscriber) Will need multicast (not in JMS) to scale to lots of clients Naturally supported by event based model of computing with all transactions expressed as time stamped messages (events) which are archived and forwarded by middle tier 11/22/2018
35
myIndiana Portal Interface
Yahoo Messenger is an interesting model for the myAG 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. 11/22/2018
36
Typical Shared Information
Allow customizable “skins” in portalML Allow auditorium participant interface as in Placeware Control buttons for Audio/Video/Floor Control etc. Lecture Page superimposed on a Java White Board Annotations (student, teacher) Pointers etc. Index Manage Info Alert/ Raise Hands Video or HearMe controls or ….. Invoke Quiz Chat Room/IM 11/22/2018
37
Typical MyProfessor Interface
Messages will give you access to , 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) 2 alerts 6 new msgs My Professor Log Out Edit Intro To Java Next Class: Thursday, 9/14/2000, 4 pm Message: 5 new, 2 unread, 15 total Java: Swing Next Class: Thursday, 9/14/2000, 2 pm Message: 0 Total Visible Java: AWT Next Class: Tuesday, 9/12/2000, 1 pm Message: 1 new, 0 unread, 3 total Now View Announcements & News FSU announces 50 new online courses. Routine maintenance for 1:00 am Alerts & Notifications New speech recognition spanish course available. Your Java: AWT class starts in 3 min. Schedule September, 2000 My Courses 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Su M Tu W Th F Sat Month Week Today Main Menu Add Del Activity Home Courses Messages Agents Schedule Preferences Profile To Do’s 11/22/2018
38
Audio-Video Conferencing
In Tango training, audio-video conferencing was always problematical. Current commercial systems quite flaky Video may or may not be necessary – Internet only supports “postage stamp” talking heads Audio only requires a few kilobits per second but quality of service critical and not likely to be supported on current Internet HearMe desktop audio: Support general mix of internet and “ordinary” phone lines which have: Quality of service and good echo canceling etc. on high-end phones Should work with modem (28.8 kilobits per second) Access-Grid community audio/video: Supports multiple high-quality audio and video streams Each client client needs 20 megabits per second 11/22/2018
39
Authoring Authoring on the Web can include
Basic HTML Macromedia/Adobe/etc. packages like Fireworks, Dreamweaver, Illustrator PowerPoint and Word exported Also can include RealNetworks or Microsoft or .. Format Multimedia Note Streaming multimedia formats have larger buffers than A/V conferencing formats Pressure to improve web quality Training and Education need a lot of material and so custom editing of each page not practical Using XML to specify content and include this in beautiful framework seems best SVG and SMIL are 2D vector graphics and multimedia standards HTML does not give reproducible pages Flash can be thought of as “proprietary SVG” 11/22/2018
40
Macromedia Flash is Premier Web Authoring Tool?
Vector Graphics Ensures Scalable Images 11/22/2018
41
Peer to Peer P2P B2B B2P … Napster, GrooveNetworks, Entropia etc. have popularized peer to peer concepts Not clear what this means as implementations are naturally server based and Gilder’s law says Servers should be efficient …… At Demo 2001, XDegrees of Mountain View, Calif., will preview a new Internet service that allows applications and business processes to automatically locate one another on the Web. The company plans to demonstrate how its service can be used by turning Microsoft Outlook into a p-to-p application by embedding an applet in Microsoft Explorer. XDegrees offers its software as a service whereas other platforms, such as Groove's, require downloading a client Meanwhile, Consilient, in Berkeley, Calif., will preview its namesake platform for linking business processes in a peer-to-peer architecture. Scheduled to be available in March, Consilient is built around Java and makes use of a Sitelet client code, XML containers, and Java to create a p-to-p infrastructure for any given set of processes, said company President Erik Freed. 11/22/2018
42
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: , #146 in Amazon Sales Jan ) 11/22/2018
43
B2B becomes Collaborative
Ariba Inc., the largest of the business-to-business software companies, is expanding its product line with a planned $2.4 billion stock purchase of Agile Software Inc. Ariba Acquisition: Agile makes software for what is being called "collaborative manufacturing," in which companies that change their products frequently use the Internet to work with their suppliers, among others, to better plan for those changes. It is the latest B-to-B offering to promise greatly increased efficiencies for customers -- though it is not yet clear when, or if, the technology will make good on the expectations people have for it. Earlier B-to-B products, like "exchange" commerce sites used for online buying and selling were all the rage a year ago, but have disappointed many investors. 11/22/2018
44
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) 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 11/22/2018
45
Hand Held Internet Grid on the Go Meeting May 2001
So we will have convenient hand-held devices linked to the “wireless internet” Wireless Internet is basically the same as conventional Internet except that content is optimized for size and communication limitations of wireless systems Current bandwidth is around 14.4 kbaud – “poor modem” Maybe WAN Cellphone bandwidth will be limited for near future “Bluetooth” standard should give hand-held devices megabit per second communication bandwidth for LAN Two positives for the wireless hand-held device Cheaper than a PC (relevant for students) More portable and more pervasively useable than a PC Grid on the Go Meeting May 2001 11/22/2018
46
Collaborative Palm Tops
Shared Display: Share pixels between clients Shared Event: Share URL between clients – in general have different versions (WAP for Palm-top, HTML/HTTP for PC’s) of display controlled by same XML content Collaboration Server URL or (scaled) frame buffer …………….. HTTP-HTML WAP Web Server 11/22/2018
47
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 viz devices Control large screen displays – Banks and Erlebacher Control active walls of Flat Panel screens Note by % of Broadband Internet access expected to be from non desktop devices 11/22/2018
48
Two Hand Held Prototypes
Latest release of VNC (public domain shared display) for Palm tops is quite impressive – fast and includes server side resizing for reducing “shared display” for smaller hand held display We have a prototype of a Java client in a Palm controlling 3D object on PowerWall through a wireless connection PalmVNC 11/22/2018
49
Real Time Collaborative Systems
Real time situations demand immediate response from anywhere expert spacecraft reports unexpected problem IMT test surprise Commanders or field personnel in Crisis Management Scientific analysis during aftershocks of Earthquake Collaboration (must bring in special expert) and support of diverse displays – maybe critical person only has Palmtop – are particularly important in these application Synchronous and asynchronous 11/22/2018
50
Caltech JPL USGS JPL JPL JPL Boulder JPL disp page ALARM
WAKE UP! quake location, size -- page WAKE UP! disp disloc JPL sorted station potential -- modem USGS Dial Stations(and database) station raw files -- page JPL GIPSY/auto_p WAKE UP! station motions -- JPL simplex disloc JPL single-fault model --maps for civil authorities multi-fault model Virtual_California Boulder (University of Colorado) web simplex JPL --graphics --refined fault model collaboration --graphics --hazard model 11/22/2018
51
Shared map of faults/sensors
Shared Browser of Simulation Results Will become myACES Chatroom Shared map of faults/sensors SCEC Demo (Sept 99)Collaboration in GEM Earthquake Analysis System Conferencing 11/22/2018
52
Collaborative Portal Collaborative myACES Data base Real Time control
Persistent Store of Earthquake Data Data base Collaborative Portal Simulations Real Time control And sensor data ResourceML Asynchronous Access Store Collaborative myACES Real time Share Synchronous Distributed Science Personal Server PortalML “Client” Web Page HTML WML/WAP Rendering Standards 11/22/2018
53
A Sample Collaboratory
Here is a sample collaboratory designed for “HallD” – a proposed experiment at DoE’s Jefferson Laboratory HallD produces 1015 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 11/22/2018
54
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 1015 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 11/22/2018
55
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 11/22/2018
56
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 11/22/2018
57
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 11/22/2018
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.