• No results found

Collaborative Peer to peer Grids for Education and Research

N/A
N/A
Protected

Academic year: 2020

Share "Collaborative Peer to peer Grids for Education and Research"

Copied!
83
0
0

Loading.... (view fulltext now)

Full text

(1)

Collaborative Peer-to-peer Grids for

Education and Research

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]

(2)

Some Basic Observations/Goals

n Technology Support for e-learning is one motivation

n Need Synchronous and Asynchronous Resource Sharing

Can provide universal access using collaboration technology

n Grids manage and share asynchronous resources in a rather

centralized fashion

n Peer-to-peer networks are “just like” Grids with different

implementations of services like registration and look-up

n Web Services interact with messages

Everything (including applications like PowerPoint) will be a WS?

n Computers are fast and getting faster. One can afford many

strategies that used to be unrealistic

All messages can be publish/subscribeSoftware message routing

n XML will be used for most interesting data and meta-data

(3)

Deductions

n The system consists of a sea of message-based Services

n 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

n 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 …

n This XML includes service meta-data, user profiles, H323 done

right, your homework grades, update of framebuffer in shared display etc.

(4)

So what are we doing I?

n We co-edited a book on Grid Computing to be published April

2003 http://www.grid2002.org

n 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

n We have deployed a classic (Placeware, Interwise, WebEx)

synchronous collaboration environment (Garnet) using JMS or Narada (uses Anabas technology)

n We have illustrated filtering/universal access by linking PDA’s

to desktop collaboration

n We have prototyped audio-video conferencing as a web service

n We are repackaging collaborative SVG as a Web service to

illustrate (explore) how wonderful it will be when all applications are Collaborative Web services

n We have started HPSearch Internet Scripting Language project

(5)

So what are we doing II?

n We have some “Architecture of Computing Portals” including concept of

Grid Shell

n 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

n We are building Jetspeed portlets of various types – including

collaborative

n 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

n We continue work on HPJava (parallel computing in Java)

(6)

Classic Grid Architecture

Database Database

Netsolv e

Computin g

Securit y Collaboratio

n

Compositio n

Content Access

Resources

Middle Tie Brokers Service Providers

(7)

Web Services in a Nutshell

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

n Distributed Message Passing Model

n 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

Application o Content

source WSD L

Web Service

Ports: Messages to and fro other web services, resource or users

(8)

Different Web Service Organizations

n 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

n Web Services communicate by messages …..

Web Services are “just distributed objects” with focus on

(particular) XML specified input and output messages

n 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

n Roughly but not completely consistent with OGSA

(9)

Peer to Peer Grid

Database Database

Peers Peers

Peer to Peer Grid A democratic organization

User Facin

Web Service Interfaces

Service Facin

Web Service Interfaces

Event Messag Brokers

Event Messag Brokers

Event Messag Brokers

(10)

Education as a Web Service

n “Learning Object” XML standards already exist from IMS/ADL

http://www.adlnet.org – need to update architecture

n Web Services for virtual university include:

n Registration

n Performance (grading) n Authoring of Curriculum

n Online laboratories for real and virtual instruments n Homework submission

n Quizzes of various types (multiple choice, random parameters) n Assessment data access and analysis

n Synchronous Delivery of Curricula including Audio/Video

Conferencing and other synchronous collaborative tools as Web Services

n Scheduling of courses and mentoring sessions

n Asynchronous access, data-mining and knowledge discovery

(11)

Collaboration and Web Services

n

Collaboration

has

Mechanism to set up members (people, devices) of a

“collaborative sessions”

Shared generic tools such as text chat, white boards,

audio-video conferencing

Shared applications such as Web Pages, PowerPoint,

Visualization

n

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

n

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

(12)

Web Service Architectur

(13)

XGSP: Introduction

Session Channel Binding Method

Query Method Session Command

Method Registration

Method

n Registration Method

registration server with its alias name and current location

n Session Command Method

Membership Control Commands, Session Control Commands

n Query Method

discover various properties about the system

n Session Channel Binding Method (Specific to A/V)

bind the RTP channels of a client into the media server

Collaboration as a WS

(14)

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>

(15)

Linking Client

and Servers

Current Implementatio

Polycom (H323) Access Grid Admire (Chinese system

Similar to AG

and HearMe SIP VOI Integration

Future Projec

Link Proprietary MCU’s

Illustrated for SIP (HearMe and Access Grid

Current linkage for Clients not servers

(16)

Current Status

n

XGSP Specification stable

n

Demo prototype of Polycom (H323), Access Grid,

Admire, HearMe clients

n

H323 Gateway based on openh323

XGSP MCU (Control) User Interface

JMF (Java Media Framework) used for Media Serve

XGSP used Internally between audio, video and session

control services

Codec negotiation supported (No XGSP clients yet)

(17)

H323 Client (Polycom) in XGSP Session

(18)
(19)

Possible A/V Web Service Futures

n Productize Narada Integration – needs more testing of Narada

multi-protocol interface

Will this defeat firewalls that currently spoil my lectures?

n Integrate video codec shared display system with classic bimap

shared display with dynamic choice

n 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

n Add RealMedia (Windows Media) SIP (VOIP) and native XGSP

clients

n Integrate at server (MCU) level for Polycom, AccessGrid, VOIP

– this is Federation

(20)

Personal View of Collaborative Systems

n

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

n

Newer simpler (

Garnet/Anabas

) system addresses these

issues although network issues still being addressed

n

Use of

XML meta-data

and building

Education

or

e-learning

as a set of

Web Services

gives

interoperability

n

Use of

Grid

(as from

IBM

) and

peer-to-peer

technology

(21)

Courses at Jackson State

n 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

n Jackson State major MSI (Minority Serving) University with

many computer science graduates

n 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

n Fall 99 Semester CPS640 offered to 40 students in 5 distant places

and separately 40 at Syracuse

(22)

Lessons from Past

n

“True” Shared

Event

flexible but too much work for

most cases

n

Shared

Display

– nearly always works

n

Shared

Export

SVG PDF HTML X3D

etc. can be

re-used

n

Integrate

synchronous

and

asynchronous

collaboration

n

Do not build into

browser

as not a reliable or standard

virtual machine

n

Build around uniform

publish-subscribe style XML

Event Model

supporting archiving, customization,

filtering – apply to all collaboration modes

n

Later we realized need to integrate with

Peer to Peer

(23)

What is meant to Happen

n 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

n One needs “automation”/”support tools” for process of generating

meta-data

Such as prerequisites for courses; Author of web page etc.

n One uses conventional authoring tools to build curricula

Uses portal technology to integrate user-interfaces to multiple Web ServicesUnfortunately open approach not used in current

n 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

(24)

Current Status in a Nutshell

n 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

n Blackboard, WebCT, Lotus offer learning management systems

Not very consistent with modern architectures but can be used

effectively today

n Access Grid (community e.g. classroom) and Polycom (etc.) are

excellent audio-video systems

n 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

(25)

Commercial

Collaboratio

Systems

Placewar e

WebEx

Centra Anabas

(26)

Learning Objects

n Given changing technology, need standards to protect investment

in authoring and administrative data generated and stored in databases

n Education community has unusually good set of community

standards

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

n 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

n IEEE (Computing Community) set up P1484 Learning

(27)

LMS Model used by ADL

Learnin Server Conten t Server( s) External systems: HR, E-Commerce, ERP... Migrati onAdapt er Learning Server AP I Adapt

er Application

(28)

Properties of Learning Objects

n Metadata from IEEE and IMS

Roughly Properties of educational objects thought of as “documents” (author, title …)

n 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

n Tests and Quizzes from IMS

n Specialized CSF descriptors from SCORM (via CMI)

Such as objectives, prerequisites, completion requirements

n LMS Runtime API from SCORM – I am doubtful about value n Enterprise Properties from IMS

Link to people and organization databases (training, human

resource, library, student administration)

n Learner Information Package from IMS

Name/Address, Goals, Skills, Grades etc.

n “Competencies” from IMS

(29)

Learning Management Systems

n Most education and training stresses asynchronous or web

support for conventional delivery

n 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

n Popular with colleges as supports not so expert faculty

n DoD use less clear as need for homework and other tools less

critical than for University classes

n No built in support for areas like “programming labs” (VPL

from NPAC did this)

(30)

Hierarchical Delivery Model

n

One could teach to

1000 different students

– each at a

separate workstation but …

n

No real opportunity for questions so better to use

broadcast technology – not conferencing

n

Further could better deliver to 40 classrooms – each

with an average of 25 students

n

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

n

So synchronous systems must support simultaneously

(31)

Authoring of Curriculum

n Possible Market pressures push to high end authoring

n Authoring approaches for the Web can include

Basic HTML

Macromedia/Adobe/etc. packages like Fireworks,

Dreamweaver, Illustrator

PowerPoint and Word exported

n Also can include RealNetworks or Microsoft or .. format

Multimedia

Note Streaming multimedia formats have larger buffers than

A/V conferencing formats

n Certainly use XML to specify content and render this into

attractive portal

n 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”

(32)

Web Services as a Portlet

n

Each

Web Service

naturally has

a

user interface

specified as “just

another port”

Customizable for universal access

n

This gives each Web Service a

Portlet

view specified (in XML

as always) by

WSRP

(Web

services for Remote Portals)

n

So component model for

resources “automatically” gives

a

component model for user

interfaces

When you build your

application, you define portle

at same time

Application o Content source WSD L Web Service S R W P

Application as a WS General Application Port Interface with other We Services

User Face o Web Servic

WSRP Ports define

WS as a Portlet

WSRP i

(33)

Integration of Portlets

n

Portals

integrate

Portlets

into a complete user interface

n

Apache Jetspeed

seems good open source technology

supporting this model

Application o Content source WSD L Web Service S R W P

Application as a WS General Application Port Interface with other We Services

User Face o Web Servic

WSRP Ports define

WS as a Portlet

Portal

User Profil Aggregat

UI Fragments

Integrate Multiple Portlets User Customizatio

at either Portal or if complicated at WS

Clien Render

(34)

Online Knowledge Center built from Portlets

n

Web Services

provide a

component model

for the

middleware (see large “

common component

architecture

” effort in Dept. of Energy)

n

Should match each WSDL component with a

corresponding user interface component

n

Thus one “must use” a

component model for the portal

with again an XML specification (

portalML

) of portal

component

(35)

Jetspeed Computing Portal: Choose Portlets

4 available portlet

linking to Web Service I choose two

(36)
(37)

Collaboration: Shared Display

n Sharing can be done at any point on “object” or Web Service

pipeline

Objec

t Object’ Object’’

Object Displa y Object Viewer Object Displa y Object Displa y Even (Message Service

Shared Display shares framebuffer with event corresponding to change pixels in master client.

Master

Share Display

Shared Web Service Share

Event SharedExport

As long as pipeline uses messages, easy t make collaborativ

Windows framebuffers and in fact most applications do NOT expose a message based update interface

(38)

W Displa y W Viewe r WS Displa y WS Viewe r Even (Message Service Master W Displa y WS Viewe r

Collaboration as a W Set up Session with XGSP

We Servic e F I U O F I R O

Shared Input Port (Replicated WS) Collaboration

(39)

W Displa y W Viewe r WS Displa y WS Viewe r Even (Message Service Master W Displa y WS Viewe r Web Service Message

Interceptor

Collaboration as a W Set up Session with XGSP

Application o Content source WSD L Web Service F I U O F I R O

(40)

NaradaBrokering

n

Based on a network of cooperating broker nodes

Cluster based architecture allows system to scale to arbitrary

size

n

Originally designed to provide

uniform software

multicast

to support real-time collaboration linked to

publish-subscribe for asynchronous systems.

n

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

(41)

Role of Event/Message Brokers

n We will use events and messages interchangeably

An event is a time stamped message

n 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

n 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

(42)

Engineering Issues Addresse

by Event / Messaging Service

n Application level Quality of Service

– e.g. give audio highest priority

n Tunnel through firewalls & proxies

n Filter messages to slow (collaborative/real-time) clients

n Choose Hardware or Software multicast

n Scaling of software multicast

Efficient calculation of destinations and routes.

n Integrate synchronous and asynchronous collaboration with

same messaging, control, archiving for all functions

n Supports local broker accesses

n Transparently replace single server JMS systems with a

distributed solution.

(43)

NaradaBrokering implements an Event Service

n Filter is mapping to PDA or slow communication channel

(universal access) – see our PDA adaptor

n Workflow implements message process

n Routing illustrated by JXTA and includes firewall

n Destination-Source matching illustrated by JMS using

Publish-Subscribe mechanism

n These use Security model (being designed) based on WS-Sec

Web

Service 1 (VirtualQueue Service 2Web

Destinatio

Source Matching Filter

Routin

g workflow

WSD

Ports Broker WSDPorts

(44)

Features of Event Service

n MPI nowadays aims at a microsecond latency

n 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

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

n Synchronous systems: B acts as a real-time router/filterer

Messages can be archived and software multicast

n Asynchronous systems: B acts as a database & workflow engine n Subscription is in each case, roughly equivalent to a database

query

n Company X sets up a firewall

(45)

Narada Broker Network

Data base

Reso urce

Broker

Broker Broker Broker

Broker

Broker

Software multicast

(P2P) Community

(P2P) Community

For message/events service (P2P) Community

(P2P) Community

Hypercube topology for brokers?

Tree for distance education with teacher at root

(46)

Performance in Message-based Architecture I

n Useful analogies with transportation grids

and parallel computing

n 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 …

n 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”

Satellit UDP

Firewal HTTP

Dial-u Filter A

B1

Hand-Hel Protocol Fas

Link

Software Multicast B2

(47)

Performance in Message-based Architecture II

n

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)

n

“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

(48)

NaradaBrokering Communication

n 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

n UserChannels have publish/subscribe semantics with XML topics n 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

n Different links can have different underlying transport implementationsImplementations 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,

(49)

Note on Optimization

n

Note in

parallel computing

, couldn’t do much dynamic

optimization as aiming at

microsecond latency

Natural to use hardware routing

n

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”

n

Jitter

in latency (transit time) due to routing, processing

(in NB) or packet loss recovery is important property

n

Grid needs and can tolerate significant dynamic

optimization

(50)
(51)

Sender/receiver/broker - (Pentium-3, 1 GHz, 256 MB RAM). 100 Mbps LAN. JDK-1.3, Red Hat Linux 7.3

(52)
(53)
(54)
(55)

Jitter J = J + (|D(i-1, i)| -J)/16

H.263 video file

Average bit-rate of 600Kbps. Frame-rate of 30 frames/sec

(56)
(57)
(58)
(59)
(60)

Narada/JMS and Collaboration

n Collaboration involves sharing resources and synchronous

collaboration involves coordinating a common view of a resource

between multiple clients

n Typically one client is “in charge” and others get initial and

updated resource from this “master”

n 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

n Update events include:

text you type into text chat or Instant MessengerURL defining shared browser

Change in framebuffer for (most flexible) shared display

(61)

NaradaBrokering and JMS (Java Message Service)

Low Rate; Small

Messages (commercialJMS)

(62)

NaradaBrokering

and JXTA

Narada-JXTA provides JXTA guaranteed long

distance delivery

Request/Response

(63)
(64)
(65)
(66)

Narada Performance Web Service

n Performance measurements are

used by Links in

Reconfiguring Connectivity between nodes

Deciding underlying transport protocol

Determining possible filtering

n Each node determines performance

of links of which it is endpoint

n Individual node web services are

aggregated as another Web Service

n Factors measured include

n Transit delays, bandwidth, Jitter, Receiving rates. n Performance measurements are

Spaced out at increasing intervals for healthy

channels.

Factors selectively measured for unhealthy

channels.

No repeated measurements of bandwidth for

example. Administrative Interface

(67)

Firewall Non-Firewall Proxy Firewall Proxy

Proxy Detection API

WinINET Detection Text Config SSL Tunnel Server Proxy UD P TC P

Control Channel (TCP)

Specifics tunnel destination, parameters.

[ SOAP port 80 ]

Config Specifics default tunnel destination, parameters. SSL Tunnel Client Proxy TC P UD P CTL S S L Li b A PI JSSE Impl. WinINE T Impl.

Required for MS Authentication support. Required for Proxy location detection Fake SSL Impl.

(68)

UD P TC P Win do ws ? Try SSL Over HTTPS Proxy Try HTTP Over HTTP Proxy Does HTTP S Proxy Exist Try SSL Over Does HTTP Proxy Exist Try HTTP Direct Connectio n Complete Doesn’t Work Doesn’t Work Doesn’t Work Doesn’t Work Doesn’t Work Doesn’t Works Works Works Works Works Works Stream Media Types Reliable Data Stream Start Start WinINET

Try SSL first then HTTP

(69)

Architecture of Message Layer

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

n Related to Akamai, AOL … caching and Server optimization

problem

1-> N Grid Nodes

Hypercube o

NB Brokers (logical not physical)

N≈100 for Distance Education Scale to billions of grid nodes?

(70)

NaradaBrokering as an XML database

n

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

n Publish as XML topic; subscribe using XQuery?

n

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

n

Subscribe a real database (Oracle) to all topics for

(71)

Federation of Services

n If you have a service – Notification (as with Grid or JXTA

advertisements), Search, Scheduling, Audio-Video conferencing ….

n With a standard which client and server components

n Then can build a “server” that services all clients

n Alternatively can hierarchically consider collection of existing

Server-client domains

IBM or Globus OGSA islandsSun Grid Engine Schedulers

Polycom/Access Grid A/V sessionsEnterprise Search Engine

n 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 N Hub

(72)

Filtering Service

n

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

n

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

n

Mapping in event service enables universal access

n

Note

clients’ subscription

to publish/subscribe service

(73)

Collaborative PDA

n Extendable to more general universal access

n 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

n 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

n Currently implemented as MyProfessor for Windows CE iPAQ

n Working on Palm OS Cell-PDA combination

n Have implemented shared display, SVG, Text chat, Instant

Messenger (using Jabber)

(74)

PDA Collaboration Event Filter

GMS JMS o

Narada Lightweigh

Narad Hand Hel Link

Protocol Pass Through

(75)

Collaborative SVG

(76)
(77)

Sharing Applications

n Very few applications are written as Web services

n Rather they integrate Rendering and Control

n These need to be separated for

Easy Collaborative model

Use on devices with limited rendering or for users requesting custom rendering

n Note important standards like W3C DOM do not separate

Master IE Word etc.

Trap User Events

Inject User Events

“NaradaBrokering”

Pre Web Servic Shared Even Collaboration

Rendering

non-Master

IE Word etc. 77

(78)

Architecture of Collaborative SVG

Application as a WebService

SVG

portlet Portlet Control

Portlet Controller Turbine Screen Event Service {NaradaBrokering …} HTTP Client {JMS, NB} Client HTTP Client HHMS Client Minimum

collaborative Minimumcollaborative

Communication Adaptor for

PDAs Rendering Engine

{JMS, NB} Client

Portlet A Portlet B

Collaborative SVG content server Session manager New/Updated Content HHMS HT TP request HT ML

content HTTP

request HT ML/W ML content SVG Documen t Setup Controlling Event Controlling Event Controlling Event New/Updated Content HHMS New/Updated Content

Jetspeed ChoseRenderin

(79)

Select Collaborative SVG Portlet : HTML

Select Collaborative SVG Portlet for Desktop environment

(80)

Collaborative content viewer for Users

Input URL of SVG document

Browse

Ready-to-use image from SVG content WS

(81)

Use Profile Application o Content source WSD L Web Service F I U O F I R O Render Porta (Aggregator ) Selecto r Filte r Control Channel Customized View Selectio View Control Channel Customized View

Customize

User-Facin

Ports

As used in Universal Access

(NaradaBrokering Event Service

(82)

Different Models for Rendering

n

Current Collaborative SVG leaves Batik SVG browser

largely unchanged but wrapped as a Web Service

n

User sees a simple (say JPEG) rendering

Very convenient for annotations etc.

n

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

Model Control

Native Render

(view)

Image View Web Service

Model Control

Native Render

(view) Web

(83)

Invertible User View Transformations

n DAT defines data/model of a Content Web Service

n CTL defines control of a Content Web Service

n DTX is a typical transformation e.g. XSLT action

n MCL is client interface – simplest is just an image with mouse

click positions recognized

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

Each of these is some sort of DOM FPC L DT X CT

L DTX

…..

DTX FPCL

CT

L DTX

…..

DTX PPCL User

CT

L

…..

DTX

DA

T MCL

References

Related documents

Jika saya tidak menamati pengajian yang tersebut dengan tiada sebab-sebab yang tertentu SAYA BERSETUJU AKAN MEMBAYAR BALIK kepada MARA segala perbelanjaan

This study illustrates how metrics can be used to assess the brand of a public research university and can facilitate the development of corporate brand equity

Common plants used by the indigenous people of south eastern Nigeria for medicinal purposes were catalogued based on collections during field trips and visits to traditional

Of the genetic and common environmental influences that contributed to stabil- ity, most were shared across time, although overlap of nonshared environmental effects was much

Structuration of a project Diagnosis Action plans Financing &amp; administration Operations C limact S olutions company Project Management Energy/equipment renting

Custom printed lunch boxes with window are available, minimum order 50,000 units per design.... Custom printed napkins are available, minimum order 100,000 units

The catalytic activity, effect of parameters (amount of catalyst, L/G ratio, and gas flow rate) and the composition of the biogas before and after treatment on

This study investigates the effects of the two types of fiber sheets, namely, carbon and glass fiber sheets, on the flexural behaviors of reinforced concrete (RC)