• No results found

Peer to Peer Grids and Collaborative Environments

N/A
N/A
Protected

Academic year: 2020

Share "Peer to Peer Grids and Collaborative Environments"

Copied!
51
0
0

Loading.... (view fulltext now)

Full text

(1)

Peer-to-peer Grids and

Collaborative Environments

PTLIU Laboratory for Community Grids

Geoffrey Fox

Computer Science, Informatics, Physics Indiana University, Bloomington IN 47404

(Technology Officer, Anabas Corporation, San Jose)

http:

//grids.ucs.indiana.edu/ptliupages

[email protected]

(2)

Some Basic Observations/Goals

n Technology Support for e-learning

n Need Synchronous and Asynchronous Resource Sharing

Can provide universal access using synchronous 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

One will store/consider data and meta-data separately but often use same

(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

(4)

So what are we doing I?

n We need to be IBM to do all of this and I can only do a few

scattered projects based on this model

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

(5)

So what are we doing II

but won’t mention again

n We are building a 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

A Computing Portal

n We are building Jetspeed portlets of various types – including

collaborative

n We have some XML news group technology which uses news

group interface to support management and browsing of

multiple XML information nuggets (instances) of general

Schema

Wizard generates interfaces to define nuggets

JSP wizard layout and browsing specification defined by annotating

(6)

Classic Grid Architecture

Database Database

Netsolv e

Computin g

Securit y Collaboratio

n

Compositio n

Content Access

Resources

Client Users and Devices

Middle Tie Brokers Service Providers

(7)

Different Web Service Organizations

n

Everything is a

resource 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

…..

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

Consistent with “rule”: build everything as a Web service

n

Narada is an example of

Event

or

Message Service

(8)

Peer to Peer Grid

Database Database

Peers Peers

User Facin

Web Service Interfaces

Service Facin

Web Service Interfaces

Event Messag Brokers

Event Messag Brokers

(9)

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

(10)

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

(11)

Engineering Issues Addresse

by Event / Messaging Service

n

Application level

Quality of Service

– give audio highest

priority

n

Tunnel through

firewalls

n

Filter messages

to slow (collaborative or real time)

clients

n

Hardware multicast

is erratically implemented (Event

service can dynamically use software multicast)

n

Scaling

of

software multicast

n

Elegant implementation of

Collaboration

in a Groove

Networks (done better) style

(12)

Features of Event Service I

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 to subscriber S

Actually a network of brokers

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

Messages can be archived and software multicast

n Asynchronous systems: B acts as an XML database and

workflow engine

n Subscription is in each case, roughly equivalent to a (XML)

(13)

Features of Event Service II

n In principle Message brokering can be virtual and compiled

away in the same way that WSDL ports can be bound in real

time to optimal transport mechanism

All Web Services are specified in XML but can be

implemented quite differently

Audio Video Conferencing sessions could be negotiated using

SOAP (raw XML) messages and agree to use certain video codecs transmitted by UDP/RTP

n Separate logical User Channel and its protocol from “actual

ports/protocols” which are Transport Channels

Use Performance Service to map user requirements into

transport

e.g. audio user channel requests UDP from A to B but we use

TCP/IP on port 80 from A to N1 (through nasty firewall) and UDP from N1 to B (say on Internet2)

n There is a collection of XML Schema – call it GXOS – specifying

(14)

Features of Event Service III

n

The event service is naturally implemented as a

dynamic distributed network

Required for fault tolerance and performance

Implies a corresponding dynamic distributed XML database

n

A new

classroom joins

my online lecture

A broker is created to handle students – multicast locally my

messages to classroom; handle with high performance local messages between students

n

Company X sets up a

firewall

The event service sets up brokers either side of firewall to

optimize transport through the firewall

n

Note

all message based applications

use

same message

service

Web services imply ALL applications are (possibly virtual)

(15)

Single Server P2P Illusion

Collaboration Server

Data base

(16)

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

(17)

NaradaBrokering and JMS (Java Message Service)

Low Rate; Small

(18)

NaradaBrokering

and JXTA

Narada-JXTA provides JXTA guaranteed long

distance delivery

Request/Response

Present if targeted a Particular peer

(19)
(20)
(21)
(22)

NaradaBrokering Communication

n Applications interface to NaradaBrokering through UserChannels.

n UserChannels are implemented as TransportChannels which are made up

of Links

n UserChannels have publish/subscribe semantics

n Links implement a single conventional “data” protocol supported by a

SOAP administrative channel

Easily adding new transport protocols within the Framework.Negotiating the best available communication protocol

n Link implementations can incorporate their own handshaking protocols

for setting up of the communication channel.

n Different links can have different underlying transport implementations

Implementations in the next release will include support for TCP,UDP,

Multicast, SSL, HTTP, HTTPS.

Support communication through proxies such as iPlanet, NetscapeSupport for communication through firewalls such as Microsoft ISA.

n NaradaBrokering brokers and Links can be instantiated dynamically

(23)

Use

(24)

Narada Performance Web Service

n Performance measurements are

used by Links in

Reconfiguring Connectivity between nodes

Deciding underlying transport protocol

Determining possible filtering

n TransportChannel uses

“performance heuristic” to define links and their protocols

n Factors measured include

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

n Spaced out at increasing intervals for healthy channels.

n Factors selectively measured for unhealthy channels.

No repeated measurements of bandwidth

for example.

(25)

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.

(26)

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

(27)

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

(28)

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

(29)

Commercial

Collaboratio

Systems

WebEx

(30)

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

(31)

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

(32)

PDA Collaboration Event Filter

GMS JMS o

Narada Lightweigh

Narad Hand Hel Link

Protocol Pass Through

(33)
(34)

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

(35)

Web Service Architectur

(36)

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

(37)

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>

(38)

Linking Client

and Servers

Current Implementatio

Polycom (H323) Access Grid Integration

Future Projec

Link Proprietary MCU’s

(39)

Current Status

n

XGSP Specification stable

n

Demo prototype of Polycom (H323), Access Grid,

Shared Display 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)

(40)
(41)
(42)

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

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,

(43)

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

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

(44)

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

Shared Output Port

Collaboration

Othe

(45)

Content Provider

WSD L

Web Service

F I U

O F

I R

O

Portal

Aggregat WS-User Facing

Fragments

Render Other W

User Facin Ports

Other WS Resource o

Service-facin

Ports User-facinPorts

(46)

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

(47)

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

Control

Trap User Events

Inject User Events

“NaradaBrokering” Pre Web Servic

(48)

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

(49)

Select Collaborative SVG Portlet : HTML

(50)

Collaborative content viewer for Users

Input URL of SVG document

Browse

Ready-to-use image from SVG content WS

(51)

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 and Render/Catch User actions

Build messaging interface between them and only wrap

control

Each of these is some sort of

FPC L DT

X CT

L DTX

…..

DTX FPCL

CT

L DTX

…..

DTX PPCL User

CT

L

…..

DTX

DA

T MCL

References

Related documents

Big Data Data management Data transparency Data quality Data governance Data automation Customer segmentation Purchase behavior analysis Social media IoT Analytics

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

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

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

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

During the global crisis, our investigation revealed opportunities for contrarian profits after positive shocks for a single index of BET market (BET-FI) and for

CONTACTS ENTRE LA HAUTE AUTORITE ET LES-. Voir: