• No results found

Collaborative Web Services and Peer to peer Grids

N/A
N/A
Protected

Academic year: 2020

Share "Collaborative Web Services and Peer to peer Grids"

Copied!
61
0
0

Loading.... (view fulltext now)

Full text

(1)

Collaborative Web Services and

Peer-to-peer Grids

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

n 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?Note few applications today have message-based I/O

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

(3)

Classic Grid Architecture

Database Database Netsolv e Computin g Securit y Collaboratio n Compositio n Content Access Resources Client

s Users and Devices

Middle Tie Brokers Service Providers

Middle Tier becomes Web Services

(4)

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 publish/subscribe, 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 For collaboration, this implies one can:

Unify Collaboration Control (H323,SIP ..) as a Web Service

Provide single collaboration messaging environment

(Audio/Video, shared display, text chat …)

(5)

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

(6)

So what are we doing of interest to CTS?

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 to support collaboration. Grids and P2P

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 using JMS or Narada

for messaging (uses Anabas technology for shared applications)

n We have illustrated collaborative pervasive/universal access by

subscribing PDA’s and desktop’s to different filtered topics

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

n We are repackaging collaborative SVG as a Web service to

(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 (Open Grid

Service Architecture)

(9)

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

n Learning Plan agents to guide students and teachers

(10)

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, maps, (medical) instruments ….

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

(11)

Web Service Architectur

for Audio Video Conferencing

(12)

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

(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>

(14)

Linking Client

or Servers

Current Implementatio

Polycom (H323)

Access Grid

Admire (Chinese system Similar to AG

and HearMe SIP VOI

Client Integration

Server is Future Projec

Link Proprietary MCU’s

(15)

System Summary

n XGSP Specification stable

n Will add native XGSP clients

n H323 Gateway based on openh323

n JMF (Java Media Framework) used for Media Server but will

replace JMF by NaradaBrokering for transport

Will describe use of NaradaBrokering for publish/subscribe Media Server

n Will add filtering at server to allow codec choice as different

topics in JMS/Narada

Initially offer streaming (RealNetworks) or conferencing (H261, MPEG4)

n Add P2P (JXTA) interfaces

n Add other shared applications using same XGSP control and

Narada messaging

n Collaboration with Admire Group at Beihang University

n Aiming at 1000 students interacting with each other across

Internet2 using A/V and Shared Display Summer 2003 (NOT

broadcast Webcast)

(16)

H323 Client (Polycom) in XGSP Session

(17)

Comparison with

other approaches

17

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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 Transparently replace single server JMS systems with a

distributed solution.

n Provides reliable inter-peer group messaging for JXTA

(25)

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 implemented) based on WS-Sec

Web

Service 1 (VirtualQueue Service 2Web

Destinatio

Source Matching Filter

Routin

g workflow

WSD

Ports Broker WSDPorts

(26)

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?

(27)

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

(28)

Performance/Routing in Message-based Architecture

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 (individual or collective)

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

(29)

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

(30)

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.

Injected into Narada network as XML events Administrative Interface

(31)

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

All measurements on commodity $1500 Linux PC

(32)
(33)
(34)
(35)

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

(36)
(37)

Each Stream 64kbp 60 ms interval

(38)
(39)
(40)
(41)
(42)
(43)
(44)

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

(45)

Commercial

Collaboratio

Systems

Placewar e

WebEx

Centra Anabas

(46)

NaradaBrokering and JMS (Java Message Service)

Low Rate; Small

(47)

NaradaBrokering

and JXTA

Narada-JXTA provides JXTA guaranteed long

distance delivery

Request/Response

Present if targeted a Particular peer

Narada JXTA Event

(48)
(49)
(50)
(51)

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 Direct 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 Work Works Works Works Works Works Works Stream Media Types Reliable Data Stream Start Start WinINET

Try SSL first then HTTP

“Fake ” SSL Over

Direct Doesn’tWork

(52)

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)

(53)

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 XPath/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

reliable storage

(54)

Federation of Services

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

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

With a standard for client and server componentsThen 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 servers for each island 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

(55)

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

includes “

user profile

(56)

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 with JXTA and

MyProfessor Interface

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

(57)

Collaborative SVG

(58)
(59)

Sharing Applications

n Very few applications are written as Web services

n Rather they integrate Rendering and Control

n These need to be separated (MVC) 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. 59

(60)

Architecture of Collaborative SVG

Application as a Portlet/WebService

SVG

portlet Portlet Control

Portlet Controller Turbine Screen Event Service {NaradaBrokering …} HTTP Client {JMS, NB} Client HTTP Client HHMS Client Minimum collaborative environment Minimum collaborative environment 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

(61)

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

References

Related documents

CONTACTS ENTRE LA HAUTE AUTORITE ET LES-. Voir:

Results of single stage decompression, anterior interbody fusion and posterior instrumentation for tuberculous kyphosis of DL spine are encouraging.. It is a very demanding surgery

stage 1 overview Case management nurse Darcy and student nurse.. Jamie are visiting

The tool allows for the easy development of 2D game prototypes.The didactic approach was based on play as a lever for the design process, and on constructionistic and

Enter the SIP (VoIP) server information provided by your voice account provider, then click Apply to

Nebraska City, bu.. Survey participants reported that since February, 2015, the largest price decline by land class of about 17% occurred in the hayland category. The

Since the Construction/Ramp Safety Program is intended to supplement the airport and companies standardized training primary users requesting access to the safety zones will

BioMed CentralBMC Pregnancy and Childbirth ss Open AcceResearch article The effect of pre pregnancy body mass index and gestational weight gain on pregnancy outcomes in urban care