Collaborative Peer-to-peer Grids for Education and Research Purdue 15 January 2003 PTLIU Laboratory for Community Grids Geoffrey Fox Computer Science, Informatics, Physics Indiana University, Bloomington IN.

Download Report

Transcript Collaborative Peer-to-peer Grids for Education and Research Purdue 15 January 2003 PTLIU Laboratory for Community Grids Geoffrey Fox Computer Science, Informatics, Physics Indiana University, Bloomington IN.

Collaborative Peer-to-peer Grids for
Education and Research
Purdue 15 January 2003
PTLIU Laboratory for Community Grids
Geoffrey Fox
Computer Science, Informatics, Physics
Indiana University, Bloomington IN 47404
(Technology Officer, Anabas Corporation, San Francisco)
http://grids.ucs.indiana.edu/ptliupages
[email protected]
11/7/2015
uri="http://www.naradabrokering.org"
email="[email protected]"
1
Some Basic Observations/Goals


Technology Support for e-learning is one motivation
Need Synchronous and Asynchronous Resource Sharing
• Can provide universal access using collaboration technology



Grids manage and share asynchronous resources in a rather
centralized fashion
Peer-to-peer networks are “just like” Grids with different
implementations of services like registration and look-up
Web Services interact with messages
• Everything (including applications like PowerPoint) will be a WS?

Computers are fast and getting faster. One can afford many
strategies that used to be unrealistic
• All messages can be publish/subscribe
• Software message routing

XML will be used for most interesting data and meta-data
• One will store/consider data and meta-data separately but often use same
technology to manage both of them.
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
2
Deductions


The system consists of a sea of message-based Services
Services inject and extract messages whose transport and
manipulation is support by a logically distinct sea of
brokers/routers
• They support adaptive routing, filtering, workflow …
• They separate logical and actual transport
• These form a federated XML database and support asynchronous
collaboration
• These process real-time messages in about a millisecond and support
synchronous collaboration


Basic Unit of information (including events and messages) is a
bunch of XML using URI’s to link to other XML or to “other
technology capabilities” – Fortran programs, video files,
telescopes …
This XML includes service meta-data, user profiles, H323 done
right, your homework grades, update of framebuffer in shared
display etc.
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
3
So what are we doing I?


We co-edited a book on Grid Computing to be published April
2003 http://www.grid2002.org
We have designed and built a messaging infrastructure
NaradaBrokering embodying some of these ideas
• We have shown interoperability between JXTA (Sun’s P2P environment),
Java Message Service (JMS) and NaradaBrokering





We have deployed a classic (Placeware, Interwise, WebEx)
synchronous collaboration environment (Garnet) using JMS or
Narada (uses Anabas technology)
We have illustrated filtering/universal access by linking PDA’s to
desktop collaboration
We have prototyped audio-video conferencing as a web service
We are repackaging collaborative SVG as a Web service to
illustrate (explore) how wonderful it will be when all applications
are Collaborative Web services
We have started HPSearch Internet Scripting Language project
using “search” as access mechanism to web resources
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
4
So what are we doing II?





We have some “Architecture of Computing Portals” including concept of
Grid Shell
We are building a “Application Web service toolkit” to allow any
application to be made a Web service (this only manipulates metadata)
• Aimed at support of classic Grid applications running on a backend
supercomputer
• This gives Computing Portals for various applications
We are building Jetspeed portlets of various types – including
collaborative
We have thought about integration of XML with more traditional
information resources and designed some XML news group technology
which uses news group interface to support management and browsing of
multiple XML information nuggets (instances) of general Schema
• Supported by JMS/NaradaBorokering
• Wizard generates interfaces to define nuggets
• JSP wizard layout and browsing specification defined by annotating
Schema
We continue work on HPJava (parallel computing in Java)
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
5
Classic Grid Architecture
Resources
Database
Database
Composition
Content Access
Netsolve
Security
Collaboration
Middle Tier
Brokers
Service Providers
Computing
Middle Tier becomes Web Services
11/7/2015
Clients
Users and Devices
uri="http://www.naradabrokering.org" email="[email protected]"
6
Web Services in a Nutshell
WSDL
Application or
Content source
Ports: Messages to and from
other web services, resources
or users
Web Service

Web Services codify a clear process for deploying distributed software
components representing
•
•
•
•
•


Data and Information Sources (Sensors, Databases)
Computers
Application Software
Learning Services like “Submit Homework”, “Grade”
System services (OGSA Open Grid Service Architecture)
Distributed Message Passing Model
We should be in some process of dividing applications (including e-learning)
into components and giving them an XML “skin” defining input and output
ports (data, remote procedure calls)
• WSDL Web Service Definition Language
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
7
Different Web Service Organizations




Everything is a resource (distributed object) implemented as a
Web Service, whether it be:
• back end supercomputers and a petabyte dataset
• Microsoft PowerPoint and this file
Web Services communicate by messages …..
• Web Services are “just distributed objects” with focus on
(particular) XML specified input and output messages
Grids and Peer to Peer (P2P) networks can be integrated by
building both in terms of Web Services with different (or in fact
sometimes the same) implementations of core services such as
registration, discovery, life-cycle, collaboration and event or
message transport …..
• Gives a Peer-to-Peer Grid
Roughly but not completely consistent with OGSA
• Consistent with “rule”: build everything as a Web service
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
8
Peers
Database
Database
Service Facing
Web Service Interfaces
Event/
Message
Brokers
Event/
Message
Brokers
Event/
Message
Brokers
Peer to Peer Grid
Peers
User Facing
Web Service Interfaces
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
9
A
democratic organization
Peer to Peer Grid
Education as a Web Service













“Learning Object” XML standards already exist from IMS/ADL
http://www.adlnet.org – need to update architecture
Web Services for virtual university include:
Registration
Performance (grading)
Authoring of Curriculum
Online laboratories for real and virtual instruments
Homework submission
Quizzes of various types (multiple choice, random parameters)
Assessment data access and analysis
Synchronous Delivery of Curricula including Audio/Video
Conferencing and other synchronous collaborative tools as Web
Services
Scheduling of courses and mentoring sessions
Asynchronous access, data-mining and knowledge discovery
Learning Plan agents to guide students and teachers
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
10
Collaboration and Web Services

Collaboration has
a) Mechanism to set up members (people, devices) of a
“collaborative sessions”
b) Shared generic tools such as text chat, white boards, audiovideo conferencing
c) Shared applications such as Web Pages, PowerPoint,
Visualization

b) and c) are “just shared objects” where objects
could be Web Services but rarely are at moment
•

We can port objects to Web Services and build a general
approach for making Web services collaborative
a) is a “Service” which is set up in many different
ways (H323 SIP JXTA are standards supported by
multiple implementations) – we can make it a WS
quite easily
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
11
Web Service Architecture
for Audio Video Conferencing
Access
Grid
SIP
Client
H.323
Client
A/V Web-Service
Gateway
( H.323)
A/V Media
Server
A/V Web-Service
Gateway ( SIP )
A/V Media
Server
A/V Web-Service
Gateway ( AG )
A/V Media
Server
Event Message Service
Session
Server
Session
Server
Session
Server
Core Collaboration MiddleWare
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
12
XGSP: Introduction
Registration
Method
Session Command
Method
Query
Method
Session Channel
Binding Method




Collaboration as a WS
Registration Method
registration server with its alias name and current location
Session Command Method
Membership Control Commands, Session Control
Commands
Query Method
discover various properties about the system
Session Channel Binding Method (Specific to A/V)
bind the RTP channels of a client into the media server
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
13
XGSP: Example
<SessionDes>
<SessionName> PervasiveTech Seminar </SessionName>
<SessionID> 1234567 </SessionID>
<SessionCreator> [email protected] </SessionCreator>
<SessionInfo> this is a meeting on the XGSP </SessionInfo>
<SessionPlace> Lobby Room </SessionPlace>
<SessionTime>
<StartTime> (EastTime) 10:00AM </StartTime>
<EndTime> (EastTime) 12:00AM </EndTime>
</SessionTime>
<SessionURI> http://grids.ucs.indiana.edu/~ag </SessionURI>
<SessionParticipants>
<Participant> [email protected] </Participant>
<Participant> [email protected] </Participant>
<Participant> [email protected] </Participant>
</SessionParticipants>
<ContactInfo> [email protected] </ContactInfo>
</SessionDes>
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
14
Collaboration Web
Server
Administrator
Clients
User
Clients
H323
Client
G
a
t
I
ne
w
t
a
e
y
r
f
a
c
e
H.323
Gateway
Linking
Clients
and Servers
( Java Sevelets & JSP )
Web Interface
Session
Server
Media Server
Interface
H323 Signaling
Channels
Polycom
Netmeeti
ng
Media Server
A/V RTP Channels
Talk Server
HearMe
MCU
HearMe
11/7/2015
W
S
D
L
A/V RTP
Channels
Session Server
Bridge
SIP
Gateway
Media
Server
W
S
D
L
Access
Grid
Multicast
Venues
Server
Multicast
Cloud
Access Grid
Current Implementation
Polycom (H323) Access Grid
Admire (Chinese system
Similar to AG)
and HearMe SIP VOIP
Integration
Future Project
Link Proprietary MCU’s
Illustrated for SIP (HearMe)
and Access Grid
Current linkage for
Clients not servers
uri="http://www.naradabrokering.org" email="[email protected]"
15
Current Status



XGSP Specification stable
Demo prototype of Polycom (H323), Access Grid,
Admire, HearMe clients
H323 Gateway based on openh323
JMF (Java Media Framework)
used for Media Server
XGSP MCU (Control) User Interface
XGSP used Internally between
audio, video and session
control services
Codec negotiation supported
(No XGSP clients yet)
Narada UDP Communication
has been successfully tested
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
16
H323 Client (Polycom) in XGSP Session
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
17
11/7/2015
Comparison with
other approaches
uri="http://www.naradabrokering.org" email="[email protected]"
18
Possible A/V Web Service Futures

Productize Narada Integration – needs more testing of Narada
multi-protocol interface
• Will this defeat firewalls that currently spoil my lectures?


Integrate video codec shared display system with classic bimap
shared display with dynamic choice
Session Control Server can be used to define collaborative
sessions for other shared applications
• Text chat etc.
• Shared SVG, StarOffice, Internet Explorer, Word etc. (using “.net” event
interface)
• Integrate with JXTA interface using Narada-JXTA link


Add RealMedia (Windows Media) SIP (VOIP) and native XGSP
clients
Integrate at server (MCU) level for Polycom, AccessGrid, VOIP
– this is Federation
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
19
Personal View of Collaborative Systems

Originally (at Syracuse) built a collaborative
environment Tango and used for online lectures and
training sessions from 1997-2001 (2001 updated system)
• Functionality fine but browser interface and network
produced instability
• Hard to build custom collaborative applications



Newer simpler (Garnet/Anabas) system addresses these
issues although network issues still being addressed
Use of XML meta-data and building Education or elearning as a set of Web Services gives interoperability
Use of Grid (as from IBM) and peer-to-peer technology
will give improved infrastructure (still quite primitive)
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
20
Courses at Jackson State




Taught using Tango/Garnet since fall 97 over Internet twice a
week from Syracuse/FSU/Indiana
• Course material same style as online material for in-university
classes
• Curricula, Homework, Grading, Facilities done by “me”
• Students get JSU NOT Syracuse/Indiana Credit
• “Trivial” in that learning model identical to that in traditional
courses – just changed interaction mode
Jackson State major MSI (Minority Serving) University with
many computer science graduates
Do not compete with base courses but offer addon courses with
“leading edge” material (Web Technology, modern scientific
computing) which give JSU (under)graduates skills that are
important in their career
Fall 99 Semester CPS640 offered to 40 students in 5 distant places
and separately 40 at Syracuse
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
21
Lessons from Past







“True” Shared Event flexible but too much work for
most cases
Shared Display – nearly always works
Shared Export – SVG PDF HTML X3D etc. can be reused
Integrate synchronous and asynchronous collaboration
Do not build into browser as not a reliable or standard
virtual machine
Build around uniform publish-subscribe style XML
Event Model supporting archiving, customization,
filtering – apply to all collaboration modes
Later we realized need to integrate with Peer to Peer
and Web Services (straightforward as XML event
model fits these architectures)
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
22
What is meant to Happen

One uses IMS/ADL to define all needed properties in XML
• Such as Title of page; Address of student etc.
• Ignore those sensitive to architecture;
• add some XML specifications such as those to define collaborative sessions

One needs “automation”/”support tools” for process of generating
meta-data
• Such as prerequisites for courses; Author of web page etc.

One uses conventional authoring tools to build curricula
• Uses portal technology to integrate user-interfaces to multiple Web Services
• Unfortunately open approach not used in current

Hopefully industry will build needed tools as Web services and
interoperability will allow picking and choosing between vendors
rather than use of monolithic systems
• LMS or Learning Management Systems
• LCMS or Learning Content Management Systems (Use non education
specific system)
• Authoring/Portals (I think it is best NOT to use education specific tools)
• Collaborative Environments (shared applications)
• Audio-Video Conferencing
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
23
Current Status in a Nutshell
Systems such as Centra, WebEx, Garnet and Placeware offer
similar functionality to our old system Tango for synchronous
collaboration
• Shared applications, chatroom, whiteboard, A/V conferencing
 Blackboard, WebCT, Lotus offer learning management systems
• Not very consistent with modern architectures but can be used
effectively today
 Access Grid (community e.g. classroom) and Polycom (etc.) are
excellent audio-video systems
 I develop research system Garnet for education portals
• Features hand-held and desktop clients, integrated
collaboration and some “technical advances” – major use of
XML and publish/subscribe systems
• Audio-Video Conferencing as a Web Service
• Improving network
robustness including firewall tolerance 24
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"

Commercial
Collaboration
Systems
Centra
Anabas
WebEx
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
25
Placeware
Learning Objects





Given changing technology, need standards to protect investment
in authoring and administrative data generated and stored in
databases
Education community has unusually good set of community
standards
Educational Environment Educause set up IMS –
http://www.imsproject.org Instructional Management System
with selection of companies and universities
• IMS focus was changed to drop implementation work and is
now “Global Learning Consortium” Inc.
Department of Defense (which has huge training needs) set up
ADL Advanced Distributed Learning Initiative
• www.adlnet.org whose links section includes all other useful
URL’s
IEEE (Computing Community) set up P1484 Learning
Technology Standards Committee LTSC
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
26
LMS Model used by ADL
“Learning
Management
System”
LMS
Content
Server(s)
External systems:
HR, E-Commerce, ERP...
Learning
Server
Migration
Adapter
Course
Interchange:
Course
Structure
Format (CSF),
Metadata
Services or Adapter
Learning Server
Server
Adapter
Server Side
Client Side
Client
Browser
API
Adapter
11/7/2015
Application
HTML+
Critical
Interchange
Capability
Runtime
Environment:
Launch, API,
Data Model
Antiquated
Architecture
uri="http://www.naradabrokering.org" email="[email protected]"
27
Properties of Learning Objects

Metadata from IEEE and IMS
• Roughly Properties of educational objects thought of as “documents”
(author, title …)

Course Packaging, Digital Repositories from SCORM and IMS
• How to form bigger units of instruction from smaller units
• Called Content Packaging by IMS and Course Structure Format (CSF) by
SCORM which goes in greater depth than IMS





Tests and Quizzes from IMS
Specialized CSF descriptors from SCORM (via CMI)
• Such as objectives, prerequisites, completion requirements
LMS Runtime API from SCORM – I am doubtful about value
Enterprise Properties from IMS
• Link to people and organization databases (training, human
resource, library, student administration)
Learner Information Package from IMS
• Name/Address, Goals, Skills, Grades etc.


“Competencies” from IMS
“Accessibility” (universal access guidelines) from IMS
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
28
Learning Management Systems





Most education and training stresses asynchronous or web
support for conventional delivery
WebCT Blackboard Lotus(IBM) and others offer LMS systems
with limited synchronous capability
• Support typical educational needs like grading, quizzes,
homework, glossaries, group email
• Varying database backend and
• Varying authoring support
Popular with colleges as supports not so expert faculty
DoD use less clear as need for homework and other tools less
critical than for University classes
No built in support for areas like “programming labs” (VPL
from NPAC did this)
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
29
Hierarchical Delivery Model




One could teach to 1000 different students – each at a
separate workstation but …
No real opportunity for questions so better to use
broadcast technology – not conferencing
Further could better deliver to 40 classrooms – each
with an average of 25 students
Each classroom has central high quality A/V
conferencing, displays and
• A Mentor monitoring and helping students
• Each student could have wireless laptop or PDA

So synchronous systems must support simultaneously
disparate clients – high end display to PC to PDA
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
30
Authoring of Curriculum





Possible Market pressures push to high end authoring
Authoring approaches for 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
Certainly use XML to specify content and render this into
attractive portal
SVG and SMIL are important 2D vector graphics and multimedia
standards
• HTML does not give reproducible pages
• Flash can be thought of as “proprietary SVG”
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
31
Web Services as a Portlet

Each Web Service naturally has
a user interface specified as “just
another port”
• Customizable for universal access


This gives each Web Service a
Portlet view specified (in XML
as always) by WSRP (Web
services for Remote Portals)
So component model for
resources “automatically” gives
a component model for user
interfaces
• When you build your
application, you define portlet
at same time
11/7/2015
Application as a WS
General Application Ports
Interface with other Web
Services
WSDL
W
Application or
Content source
Web Service
P
S
R
User Face of
Web Service
WSRP Ports define
WS as a Portlet
WSRP is
Web Services for Remote Portals
1st Meeting OASIS March 18 2002
uri="http://www.naradabrokering.org" email="[email protected]"
32
Integration of Portlets


Portals integrate Portlets into a complete user interface
Apache Jetspeed seems good open source technology
supporting this model
Application as a WS
General Application Ports
Interface with other Web
Services
WSDL
W
Application or
Content source
Web Service
11/7/2015
P
S
R
Portal
User Profile
Aggregate
UI Fragments
Client
Render
Integrate Multiple Portlets
User Face of
User Customization
Web Service
at either Portal or if
WSRP Ports define
complicated at WS
email="[email protected]"
WS as a uri="http://www.naradabrokering.org"
Portlet
33
Online Knowledge Center built from Portlets



A set of UI
forComponents
the
Web Services provide a component model
middleware (see large “common component
architecture” effort in Dept. of Energy)
Should match each WSDL component with a
corresponding user interface component
Thus one “must use” a component model for the portal
with again an XML specification (portalML) of portal
component
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
34
Jetspeed Computing Portal: Choose Portlets
4 available portlets
linking to Web Services
I choose two
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
35
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
36
Collaboration: Shared Display

Sharing can be done at any point on “object” or Web Service
pipeline
Shared Web Service
Shared Export
Shared
Event
Object
Object’
Object’’
Shared
Display
Object
Viewer
Object
Display
Master
Shared Display shares
framebuffer with events
corresponding to changed
pixels in master client.
Event
(Message)
Service
As long as pipeline uses messages, easy to
make collaborative
Windows framebuffers and in fact most applications
do NOT expose a message based update interface
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
Object
Display
Object
Display
37
Shared Input Port (Replicated WS) Collaboration
Collaboration as a WS
Set up Session with XGSP
R
U
Web
F
Servic
I
I
e
O
O
F
WS
Viewer
WS
Display
Master
U
Web
F
Servic
I
I
e
O
O
F
Event
(Message)
Service
R
R
U
Web
F
Servic
I
I
e
O
O
F
11/7/2015
WS
Viewer
WS
Display
Other
Participants
WS
Viewer
uri="http://www.naradabrokering.org" email="[email protected]"
WS
Display
38
Shared Output Port Collaboration
Collaboration as a WS
Set up Session with XGSP
Web Service Message
Interceptor
F
I
WSDL
R
O
Master
U
Application or
Content source
Web Service
Text Chat
Whiteboard
Multiple
masters
11/7/2015
O
F
I
Event
(Message)
Service
WS
Viewer
WS
Display
WS
Viewer
WS
Display
Other
Participants
WS
Viewer
uri="http://www.naradabrokering.org" email="[email protected]"
WS
Display
39
NaradaBrokering

Based on a network of cooperating broker nodes
• Cluster based architecture allows system to scale to arbitrary
size


Originally designed to provide uniform software
multicast to support real-time collaboration linked to
publish-subscribe for asynchronous systems.
Now has four major core functions
• Message transport (based on performance measurement) in
heterogeneous multi-link fashion
• General publish-subscribe including JMS & JXTA and
support for RTP-based audio/video conferencing
• Filtering for heterogeneous clients
• Federation of multiple instances of Grid services
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
40
Role of Event/Message Brokers



We will use events and messages interchangeably
• An event is a time stamped message
Our systems are built from clients, servers and “event brokers”
• These are logical functions – a given computer can have one
or more of these functions
• In P2P networks, computers typically multifunction; in Grids
one tends to have separate function computers
• Event Brokers “just” provide message/event services; servers
provide traditional distributed object services as Web services
There are functionalities that only depend on event itself and
perhaps the data format; they do not depend on details of
application and can be shared among several applications
• NaradaBrokering is designed to provide these functionalities
• MPI provided such functionalities for all parallel computing
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
41
Engineering Issues Addressed
by Event / Messaging Service





Application level Quality of Service
– e.g. give audio highest priority
Tunnel through firewalls & proxies
Filter messages to slow (collaborative/real-time) clients
Choose Hardware or Software multicast
Scaling of software multicast
• Efficient calculation of destinations and routes.




Integrate synchronous and asynchronous collaboration with
same messaging, control, archiving for all functions
Supports local broker accesses
Transparently replace single server JMS systems with a
distributed solution.
Provides reliable inter-peer group messaging for JXTA
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
42
NaradaBrokering implements an Event Service
Destination
Source Matching
Routing
Web
Service 1
WSDL
Ports





(Virtual)
Queue
Broker
Filter
workflow
Web
Service 2
WSDL
Ports
Filter is mapping to PDA or slow communication channel
(universal access) – see our PDA adaptor
Workflow implements message process
Routing illustrated by JXTA and includes firewall
Destination-Source matching illustrated by JMS using PublishSubscribe mechanism
These use Security model (being designed) based on WS-Sec
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
43
Features of Event Service


MPI nowadays aims at a microsecond latency
The Event Web Service aims at a millisecond (computer) latency
• Typical distributed system travel times are many milliseconds (to seconds
for Geosynchronous satellites)
• Different performance/functionality trade-off





Messages are not sent directly from P to S but rather from P to
Broker B and from Broker B (via other brokers) to subscriber S.
Synchronous systems: B acts as a real-time router/filterer
• Messages can be archived and software multicast
Asynchronous systems: B acts as a database & workflow engine
Subscription is in each case, roughly equivalent to a database
query
Company X sets up a firewall
• The event service sets up brokers either side of firewall to optimize
transport through the firewall.
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
44
Narada Broker Network
(P2P) Community
For message/events service
Broker
Broker
(P2P) Community
Resource
Hypercube topology
Broker
for brokers?
Broker
Tree for distance education
with teacherBroker
at root
(P2P) Community
Data
base
Software multicast
Broker
(P2P) Community
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
45
Performance in Message-based Architecture I
A
Satellite
UDP
Firewall
HTTP
Fast
Link
Hand-Held
Protocol B2
Software Multicast



B1
Dial-up
Filter
Useful analogies with transportation grids
B3
and parallel computing
In traveling from cities A to B (say 3 separate passengers), one
chooses between and changes transport mechanism at
waystations to optimize cost, time, comfort, scenic beauty …
Waystations are now NB brokers where one chooses transport
protocol
• Able to choose between car, type of car, plane, train etc
• Able to dynamically create waystations to cope with problems
and acts as hubs for multicast messages
• Knows about traffic jams and can assign the “HOV lane”
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
46
Performance in Message-based Architecture II


Application level QoS – can optimize among managed
streams (audio versus video) using performance
subsystem
• This is just a variant of the NP complete load
balancing problem of parallel computing where all
reasonable heuristics worked
• Load-balance in Space-time (strings) not just Space
(particles)
“Performance” needs to measured carefully as
includes QoS
• I delayed shared application update to ensure audio
quality and filtered image to lower resolution
• So “application” has changed to satisfy performance
constraints
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
47
NaradaBrokering Communication




Applications interface to NaradaBrokering through UserChannels
which NB constructs as a set of links between NB Broker waystations
which may need to be dynamically instantiated
UserChannels have publish/subscribe semantics with XML topics
Links implement a single conventional “data” protocol.
• Interface to add new transport protocols within the Framework
• Administrative channel negotiates the best available communication
protocol for each link
Different links can have different underlying transport implementations
• Implementations in the current release include support for
TCP,UDP, Multicast, SSL and RTP.
HTTP, HTTPS support will be available in Feb 2003 release.
• Supports communication through proxies such as iPlanet, Netscape
and Apache.
• Supports communication through firewalls such as Microsoft ISA,
Checkpoint.
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
48
Note on Optimization

Note in parallel computing, couldn’t do much dynamic
optimization as aiming at microsecond latency
• Natural to use hardware routing

In Grid, time scales are different
• 100 millisecond quite normal network latency
• 30 millisecond typical packet time sensitivity (this is one audio
or video frame) but even here can buffer 10-100 frames on
client (conferencing to streaming)
• 1 millisecond is time for a Java server to “think”


Jitter in latency (transit time) due to routing, processing
(in NB) or packet loss recovery is important property
Grid needs and can tolerate significant dynamic
optimization
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
49
Transit delay for message samples in NaradaBrokering
Different communication hops - Internal Machines
5.5
hop-2
hop-3
hop-5
hop-7
5
4.5
4
3.5
3
Sender/receiver/broker - (Pentium-3, 1
GHz, 256 MB RAM). 100 Mbps LAN.
JDK-1.3, Red Hat Linux 7.3
2.5
2
1.5
1
0.5
50
11/7/2015
100
150
200
250
300
350
Message Payload Size
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
400
450
500
50
Transit delay for message samples in NaradaBrokering
Different communication hops - Internal Machines
9
8
7
hop-2
hop-3
hop-5
hop-7
Sender/receiver/broker - (Pentium-3, 1
GHz, 256 MB RAM). 100 Mbps LAN.
JDK-1.3, Red Hat Linux 7.3
6
5
4
3
2
1
1000
11/7/2015
1500
2000
2500
3000
3500
4000
Message Payload Size
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
4500
5000
51
Standard Deviation for message samples in NaradaBrokering
Different communication hops - Internal Machines
0.8
hop-2
hop-3
hop-5
hop-7
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
50
11/7/2015
100
150
200
250
300
350
Message Payload Size
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
400
450
500
52
Standard Deviation for message samples in NaradaBrokering
Different communication hops - Internal Machines
0.8
hop-2
hop-3
hop-5
hop-7
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1000
11/7/2015
1500
2000
2500
3000
3500
4000
Message Payload Size
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
4500
5000
53
Jitter for message samples in NaradaBrokering
Different communication hops - Internal Machines
0.9
hop-2
hop-3
hop-5
hop-7
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
11/7/2015
0
100
200
300
400 500 600 700
Packet Number
uri="http://www.naradabrokering.org" email="[email protected]"
800
900
54
80
JMF-RTP
NaradaBrokering-RTP
H.263 video file
70
Average bit-rate of 600Kbps.
Frame-rate of 30 frames/sec
60
50
40
Jitter J = J + (|D(i-1, i)| - J)/16
30
20
10
0
0
200
400
600
800
1000
1200
1400
1600
1800
Packet Number
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
55
10
NaradaBrokering-RTP
10 video clients
JMF-RTP
9
8
7
6
5
4
3
2
1
0
0
11/7/2015
200
400
600
800 1000 1200 1400 1600 1800 2000
Packet Number
uri="http://www.naradabrokering.org" email="[email protected]"
56
100
NaradaBrokering-RTP
10 video clients
JMF-RTP
10
1
0.1
0
11/7/2015
200
400
600
800 1000 1200 1400 1600 1800 2000
Packet Number
uri="http://www.naradabrokering.org" email="[email protected]"
57
100
NaradaBrokering-RTP
100 video clients
JMF-RTP
10
1
0.1
0
11/7/2015
200
400
600
800 1000 1200 1400 1600 1800 2000
Packet Number
uri="http://www.naradabrokering.org" email="[email protected]"
58
250
NaradaBrokering-RTP
100 video clients
JMF-RTP
200
150
100
50
0
0
11/7/2015
200
400
600
800 1000 1200 1400 1600 1800 2000
Packet Number
uri="http://www.naradabrokering.org" email="[email protected]"
59
Narada/JMS and Collaboration




Collaboration involves sharing resources and synchronous
collaboration involves coordinating a common view of a resource
between multiple clients
Typically one client is “in charge” and others get initial and
updated resource from this “master”
Specification of initial state of resource and its change are “just
XML events” and we (Anabas and Indiana) have used first JMS
and now NaradaBrokering to implement the transport of update
events between collaborating clients
Update events include:
•
•
•
•
11/7/2015
text you type into text chat or Instant Messenger
URL defining shared browser
Change in framebuffer for (most flexible) shared display
Microsoft events for shared PowerPoint (file replicated between clients)
uri="http://www.naradabrokering.org" email="[email protected]"
60
NaradaBrokering and JMS (Java Message Service)
Low Rate; Small Messages
11/7/2015
(commercial JMS)
uri="http://www.naradabrokering.org" email="[email protected]"
61
NaradaBrokering
and JXTA
High end "long lived"/
persistent resources
Narada-JXTA provides
JXTA guaranteed long
distance delivery
NARADAJXTA proxy
NARADA
broker cloud
Narada JXTA Event
For duplicate
detection
within
NARADA
Narada Headers
Peers
Interaction UUID
JXTA Interaction
Type
Allows the
NARADA
system to
route event to
specific JXTA
proxies
11/7/2015
JXTA
Rendezvous
PEER
Request/
Dynamic/fluid
Response
peer groups
Peer group id
Peer id
JXTA Event
Payload
Narada Event
Distribution Traces
Present
if the
Request/Response
interaction is
trageted to a
specific
Peer if targeted
Present
Particular peer
at
uri="http://www.naradabrokering.org" email="[email protected]"
62
Transit delay for message samples in Narada, JXTA & Narada-JXTA
Topology - I (2 routers) Internal Machines
140
NaradaBr
Pure JXTA
Narada-JXTA
120
100
80
60
N
NaradaBrokering broker
R
JXTA Rendezvous
NaradaBrokering client
JXTA Peer
N
40
20
0
500
11/7/2015
R
R
(a)
R
R
(b)
N
N
(c)
1000 1500 2000 2500 3000 3500 4000 4500 5000 5500
Message Payload Size
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
63
Transit delay for message samples in Narada, JXTA and Narada-JXTA
Topology - III (8 routers) Internal Machines
300
250
R
R
R
R
R
R
R
200
R
(a)
R
N
R
150
R
R
R
R
R
R
R
R
R
R
N
NaradaBrokering broker
R
JXTA Rendezvous
(b)
100
RN
N
N
50
NaradaBr
Pure JXTA
Narada-JXTA
N
(a)
NR
N
R
R
N
JXTA Peer
N
NaradaBrokering client
(c)
R
0
500
N
N
R
1000 1500 2000
2500 3000 3500 4000 4500 5000 5500
R
R
Message Payload Size
N
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
(b)
N
11/7/2015
64
Transit delay for message samples in NaradaBr, JXTA & Narada-JXTA
Topology - II (6 routers) External Machines
400
R
NaradaBr
Pure JXTA
Narada-JXTA
R
350
R
R
300
R
R
(a)
R
R
N
NaradaBrokering broker
R
JXTA Rendezvous
JXTA Peer
NaradaBrokering client
250
R
N
N
R
R
R
(b)
200
N
N
N
N
150
N
N
(c)
100
50
11/7/2015
100
150
200
250
300
350
400
Message Payload Size
(Bytes)
uri="http://www.naradabrokering.org" email="[email protected]"
450
500
550
65
Narada Performance Web Service
Performance measurements are
used by Links in
• Reconfiguring Connectivity
between nodes
• Deciding underlying transport
protocol
• Determining possible filtering
Each node determines performance
of links of which it is endpoint
Individual node web services are
aggregated as another Web Service



Probably should replace by a more
sophisticated measurement package
Factors measured include

Transit delays, bandwidth, Jitter, Receiving rates.

Performance measurements are
• Spaced out at increasing intervals for healthy
channels.
• Factors selectively measured for unhealthy
channels.
Administrative Interface
• No repeated measurements of bandwidth for
example.
• Injected into Narada
network as XML events
11/7/2015
uri="http://www.naradabrokering.org"
email="[email protected]"
66

Control Channel (TCP)
Specifics tunnel
destination, parameters.
[ SOAP port 80 ]
Config
Specifics default
tunnel destination,
parameters.
Non-Firewall
Proxy
CTL
SSL Tunnel
Server
Proxy
TCP
SSL
SSL Tunnel
Lib
Client Proxy
API
UDP
Fake SSL
Impl.
JSSE
Impl.
WinINET
Impl.
UDP
TCP
Firewall
Proxy
Proxy Detection API
Text Config
WinINET
Detection
Narada Link Firewall Architecture
11/7/2015
Required for MS
Authentication
support.
Firewall
uri="http://www.naradabrokering.org" email="[email protected]"
Required for
Proxy location
detection
67
Stream Media
Types
Works
Start
UDP
Doesn’t Work
Reliable Data
Stream
Start
Works
TCP
Doesn’t Work
WinINET
Try SSL first then HTTP
Windows
?
Doesn’t Work
NaradaBrokering
Link Transport
Yes
Does HTTPS
Firewall
Proxy Exist
Heuristic
Works
Works
Try SSL Over
HTTPS
Proxy
Connection
Complete
Doesn’t Work
Does HTTP
Proxy Exist
Works
Try HTTP
Over HTTP
Proxy
Yes
Doesn’t Work
“Fake
” SSL
Over
Direct
Doesn’t
Work
Try SSL Over
Direct
Doesn’t
Work
Try HTTP
Direct
Works
Works
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
68
Architecture of Message Layer


Need to optimize not only routing of particular messages but
classic publish/subscribe problem of integrating different
requests with related topics (subscribe to sports/basketball/lakers
and sports)
Related to Akamai, AOL … caching and Server optimization
problem
Hypercube of
NB Brokers (logical
not physical)
N≈100 for
Distance
Education
Scale to
billions of
grid nodes?
1-> N Grid Nodes
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
69
NaradaBrokering as an XML database

NB is inevitably a distributed XML database
supporting real-time update and access (JMS uses SQL
like syntax)
• Performance data
• Event Logging
• Published “properties” of publish/subscribe messages
 Publish as XML topic; subscribe using XQuery?

We use NB as a simple XML database for News groups
and other “XML nuggets” see
http://www.xmlnuggets.org
• XML Instance==Message; what is difference between a
message and a database record except performance but
Moore’s law is rewriting rules here

Subscribe a real database (Oracle) to all topics for
reliable storage
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
70
Federation of Services




If you have a service – Notification (as with Grid or JXTA
advertisements), Search, Scheduling, Audio-Video conferencing
….
With a standard which client and server components
Then can build a “server” that services all clients
Alternatively can hierarchically consider collection of existing
Server-client domains
•
•
•
•

IBM or Globus OGSA islands
Sun Grid Engine Schedulers
Polycom/Access Grid A/V sessions
Enterprise Search Engines
NB
Hub
Federation links islands together
• JXTA Search has XML specified federation approach – will try to include
and generalize as a NaradaBrokering federation framework
• DoD High Level Architecture HLA does this for simulation
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
71
Filtering Service


As (real-time) collaboration uses publish-subscribe, we
can and in fact must map/filter “object renderings” or
updates to them differently for each class of client
In distance education, needed for example to
• Cope with mix of Internet2 and dial-up clients (the student
who overslept and is at home)
• Allow PDA’s (Personal Digital Assistants) and desktops to be
in same session
• To allow Blind users to select the purely audio version of some
content


Mapping in event service enables universal access
Note clients’ subscription to publish/subscribe service
includes “user profile”
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
72
Collaborative PDA



Extendable to more general universal access
Can implement filter either as an insertion in message stream or
in batch mode where a Service subscribes to event stream (one
collaborative application or “sharedlet”), filters it and reposts to
a different stream
We developed first case with a special adaptor that is essentially
a NaradaBrokering node that
• Has added filters controlled by client profile
• Has stripped down special purpose link protocol HHMS (Hand held
message service) optimized for PDA



Currently implemented as MyProfessor for Windows CE iPAQ
Working on Palm OS Cell-PDA combination
Have implemented shared display, SVG, Text chat, Instant
Messenger (using Jabber)
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
73
PDA Collaboration Event Filter
GM S( Sub scr ib er )
GM SM E
10000
Message/Second
1000
Shared Display
100
GMS =
JMS or
Narada
10
1
Pass Through
0.1
1
11/7/2015
4
16
64
6
1K
4 K 1 6K 6 4K
25
Message Size (bytes)
6K
25
1M
Lightweight
Narada
Hand Held
Link
Protocol
uri="http://www.naradabrokering.org" email="[email protected]"
74
Collaborative SVG
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
75
MyProfessor
on the PDA
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
76
Sharing Applications



Very few applications are written as Web services
Rather they integrate Rendering and Control
These need to be separated for
a) Easy Collaborative model
b) Use on devices with limited rendering or for users requesting custom
rendering

Note important standards like W3C DOM do not separate
Pre Web Service
Shared Event
Collaboration
Trap
User
Events
“NaradaBrokering”
Inject
User
Events
Rendering
11/7/2015
non-Master
Master
IE Word etc.
IE Word etc.
uri="http://www.naradabrokering.org"
email="[email protected]"
77
Architecture of Collaborative SVG
Application as a WebService
Collaborative SVG
content server
SVG
Document
Rendering Engine
{JMS, NB} Client
Session manager
HTTP Client
{JMS, NB}
Client
Minimum
collaborative
environment
11/7/2015
Desktop user
Event Service
{NaradaBrokering…}
HTML/WML
content
HTML content
Setup
HTTP request
Jetspeed
Portlet A
Portlet B
Portlet Control
Portlet Controller
Turbine Screen
HTTP request
SVG portlet
Controlling Event
Chosen
Rendering
& Update
New/Updated Content
Communication
Adaptor for PDAs
HTTP Client
HHMS
Client
Minimum
collaborative
environment
uri="http://www.naradabrokering.org"
PDAemail="[email protected]"
user
78
Select Collaborative SVG Portlet : HTML
Select Collaborative SVG Portlet
for Desktop environment
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
79
Collaborative content viewer for Users
Input URL of
SVG document
Browse
Ready-to-use image
from SVG content WS
Catch user’s collaborative
events from viewer
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
80
F
I
R
O
WSDL
U
Application or
Content source
Web Service
O
F
Selection
View
(NaradaBrokering)
Event Service
I
Filter
Customized View
Selector
Control Channel
Portal
(Aggregator)
Customized
User-Facing
Ports
Customized View
Control Channel
User
Profile
As used in Universal Access
Render
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
81
Different Models for Rendering


Current Collaborative SVG leaves Batik SVG browser
largely unchanged but wrapped as a Web Service
User sees a simple (say JPEG) rendering
• Very convenient for annotations etc.

Alternatively take Batik source and split into two
• Control (Model and Control in MVC) and Render/Catch User
actions (View in MVC)
• Build messaging interface between Model/Control and View
and only wrap Model/Control section
Native
Model
Render
Control
(view)
Web Service
Image
View
Convert View
11/7/2015
Model
Control
Native
Render
(view)
Web
Service
uri="http://www.naradabrokering.org" email="[email protected]"
82
Invertible User View Transformations
Control
DAT
CTL
Defining data
And model
Transform
DTX
…..
DTX
Transform
PPCL
FPCL
DTX
Minimal
Client
MCL
User
Portlet
Each of these is some sort of DOM
Content Web
Service
DAT defines data/model of a Content Web Service
 CTL defines control of a Content Web Service
 DTX is a typical transformation e.g. XSLT action
 MCL is client interface – simplest is just an image with mouse
click positions recognized
 Universal Access or Collaboration requires that Control (CTL) be
properly supported by MCL – this requires that all transformations
must be “invertible” whether DOM “semantic” (Interpretable directly
by CTL) or not (position
of mouse click etc.)
11/7/2015
uri="http://www.naradabrokering.org" email="[email protected]"
83
