• No results found

Solving Some Problems in Collaboration

N/A
N/A
Protected

Academic year: 2020

Share "Solving Some Problems in Collaboration"

Copied!
59
0
0

Loading.... (view fulltext now)

Full text

(1)

Solving Some of the Problems i

Collaboration

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)

Abstract

n We address the challenges of building reliable collaboration environments and the opportunities to address this using modern Internet and Grid

technologies. We examine two key building blocks;

namely a common dynamic messaging environment and

systematic use of Web Services including one to support session

specification and control.

n We present our prototype audio-video conferencing Web Service and

messaging environment NaradaBrokering. We describe a core collaboration Web Service defined with an XML protocol XGSP subsuming the capabilities of H323, SIP and JXTA.

n At this stage we have demonstrated various component ideas and are working on integrating them. We will discuss and hopefully demonstrate

n a) Integration of Access Grid, desktop video and Polycom systems n b) Integration of SIP into XGSP with VOIP and Microsoft Messenger n c) Better software multicast support for Access Grid

n d) Use of publish subscribe media servers supporting codec conversion and firewall tunneling.

n e) Demonstration of codec conversion with integration of conferencing (H261) and streaming (RealVideo) clients

(3)

Grid Computing: Making The Global

Infrastructure a Reality

n Fran Berman,

Anthony J.G. Hey, Geoffrey Fox

n ISBN: 0-470-85319-0

n Hardcover 1080 Pages

n Publication March 2003

n http://www.grid2002.org

n Chapters 18 22 and 43

(4)

Some Basic Observations/Goals

n

Web Services

interact with

messages

Everything (including applications like PowerPoint) will be a

Web Service?

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

Software message routing for performance (QoS) and

multicast

n

XML

will be used for most interesting

data and

meta-data

n

Currently

Grids

are “just”

Web Service

approach to

(5)

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

Middle Tier becomes Web Services

(6)

Message Passing on the Grid

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

(7)

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

(8)

Problems from Tango and all Others

n Clients were unreliable – addressed by better windows and

moving collaboration from Browser to an application

n Networks were unreliable and firewalls are a problem

Not a lot of progress with QoS at network level

Some QoS problems are due to different collaboration

streams interfering

Use application level QoS with highly robust managed

messaging

n Very hard to customize each application in “shared state event

model”

Offer shared display

Convert Applications to Web Services

n Many different standards H323, SIP, Access Grid, T120 …

Unify as single XML standard

n Inconvenient to customize user interfaces

(9)

Portals and Web Services

n

Web Services

allow us to build a

component model

(see

CCA) for resources.

n

Each resource

naturally has a

user interface

(which

might be customized for user)

n

Web Service <--> Portlet

n

Natural to use a component model for portal building

displayed web page from collection of portlets

So can customize each portlet and customize which portlets

you want

n

Apache Jetspeed

seems good open source technology

supporting this model

(10)

WSRP Structure of a Portlet

n Each Web Service naturally has a user interface specified as “just another port”

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 portlet at same time

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

Application as a WS

General Application Ports Interface with other Web Services

User Face o Web Servic

WSRP Ports define

Portal User Profil Aggregat UI Fragments Clien t WSRP i

(11)
(12)
(13)

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

(14)

XGSP MCU Architecture

SIP H323 AccessGrid NativeXGSP Admire

Gateways convert to uniform XGSP Messaging

High Performance (RTP and XML/SOAP and ..

Media Servers

Filters Session Server

XGSP-based Control

NaradaBrokerin g

All Messaging

Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing

(15)

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

(16)

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>

(17)

Shared Event Collaboration

n

“True shared events” shares the events (like URL or

PowerPoint file name/slide # ) that specify state of an

application

n

However all collaboration is about sharing some sort of

event

Audio/Video conferencing shares events specifying in

compressed form audio or video

Shared display shares events corresponding to change in

pixels of a framebuffer

Instant Messengers share updates to text message streams

n

Using Web services makes universal as exposes updates

of all kinds as messages

(18)

Application as a Web service Application Mode

Remaining W3C DOM Semantic Events

Data

Control

Application with W3C DOM Structure as a Web Service User Facin Ports Resource Facing Ports Events as Message s Rendering as Messages

W3C DOM User Interface W3C DOM Raw(UI) Events

(19)

Application as a Web service

Master Client

Event

s Rendering

User Interface W3C DOM Events To Collaborativ

Clients From

Collaboration As a WS

Application as a Web service

Participating Client

Event

s Rendering

User Interface W3C DOM Events From Master

From

(20)

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

(21)

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

(22)

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

(23)

H323 Client (Polycom) in XGSP Session

(24)
(25)
(26)
(27)
(28)

Software in the XGSP MCU

n

Core Components are Open source

openh323 is basis of H323 Gateway

NIST SIP stack is basis of SIP Gateway

NaradaBrokering is open source messaging from Indiana

Java Media Framework basis of Media Servers

n

Can have proprietary modules such as

Anabas Shared Display

Instant Messengers

DIVX MPEG4

(29)

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

and

Palm OS Cell-PDA

combination

n

Have implemented

shared display, SVG, Text chat,

(30)

Real-time Community Collaboration

n Desktop PC, local wireless (802.11b) and the rest of the world (Sprint PCSVision as glimpse of next generation cell phones)

n Reconcile different protocols, different display areas, different O/S and different network bandwidths

(31)

Real-time Community Collaboration

(32)
(33)

Use Profile Application o Content source WSD L Web Service F I U O F I R O Render Jetspee d Portal Selecto r Filte r Control Channel Customized View Selectio View Control Channel Customized View

Customize

User-Facin

Ports

Universal Access With Jetspee Web Services

MVC Model for applications Asynchronous Messaging

(34)
(35)

Status of XGSP Collaboration

n We have demonstrated most key ideas but won’t have real

“alpha” integrated system until June

n Need to add RealAudio

n Need to improve audio handling (silence suppression) in media

server

n Add other collaborative tools – many prototypes (shared display,

shared PowerPoint, Games)

n Could link at server (MCU) not client

n Include Beihang tools like MPEG4

n Production version of PDA interface

n Messaging (NaradaBroker) available today – full functionality

by August

n Aiming at 1000 students interacting with each other across

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

(36)

NaradaBrokering Publish/Subscribe Distributed Event/Message System

http://www.naradabrokering.org

“MQSeries/JMS” P/S applied to Collaboration, Grid, P2P(JXTA)

Supports UDP, TCP/IP, Firewalls (actual transportuser call)

(37)

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

Distributed XML data-base using P/S XPATH metaphorFiltering for heterogeneous clients

Federation of multiple instances of Grid services as illustrated

(38)

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?

(39)

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

(40)

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,

(41)

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

(42)

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

(43)
(44)
(45)
(46)
(47)
(48)

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.

(49)

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

(50)

Commercial

Collaboratio

Systems

Placewar WebEx

Centra Anabas

(51)
(52)

NaradaBrokering and JMS (Java Message Service)

Low Rate; Small

(53)

NaradaBrokering

and JXTA

Narada-JXTA provides JXTA guaranteed long

distance delivery

Request/Response

Present if targeted a Particular peer

(54)
(55)
(56)
(57)

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

(58)

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)

(59)

NaradaBrokering Status

n

Basic System available for download – has been used as

engine of several Audio/Video (largely USB video

cameras) and Anabas sessions with upto 30

participants – JMS compatibility tested

n

Next few months devoted to testing and improving

administrative support of deployment

n

Multiple distributed broker

n

Performance monitoring integrated

n

Firewall WS Security integration

n

JXTA Peer-to-peer integration

n

Full integration of Java NIO with thread pool

June

References

Related documents

We discuss the classic isotropic Poisson line tessellation in some detail and then move on to more complicated models, including Arak–Clifford–Surgailis polygonal Markov fields

In this section we consider four representative examples: Gaussian fields, tessellations associated with a Poisson point process, random parking bounded inclusions, and Poisson

Old Process Banner Customer Service Division Service Technicians Service Orders Print Service Orders Collect Service Orders Carry Service Orders to the Assembly room

Relative to the Second Fermi LAT catalog, the 3FGL catalog incorporates twice as much data, as well as a number of analysis improvements, including improved calibrations at the

3 Weeks course on Christian Meditation Good Shepherd Room, Parish Center, 7 - 8 p.m?. March 2: What is

Several studies have found elevated levels of high risk sex- ual behaviour among people who seek – and meet – sex- ual partners through the Internet [1-7] In a study conducted in

Abbreviations: AMP, Agence de Médecine Préventive; DTP, diphtheria-tetanus- pertussis; EPI, Expanded Programme on Immunisation; GAVI, Global Alliance for Vaccines and Immunisation;