+ All Categories
Home > Documents > Portlets and Web Services for Collaboration and Videoconferencing

Portlets and Web Services for Collaboration and Videoconferencing

Date post: 19-Feb-2016
Category:
Upload: xia
View: 43 times
Download: 1 times
Share this document with a friend
Description:
NESC 16 July 2003. Portlets and Web Services for Collaboration and Videoconferencing. PTLIU Laboratory for Community Grids Geoffrey Fox, Hasan Bulut, Bryan Carpenter, Marlon Pierce, X. Qiu, Ahmet Uyar, Wenjun Wu Indiana University, Bloomington IN 47404. [email protected]. Abstract. - PowerPoint PPT Presentation
Popular Tags:
32
22/7/4 22/7/4 1 Portlets and Web Services for Collaboration and Videoconferencing PTLIU Laboratory for Community Grids Geoffrey Fox, Hasan Bulut, Bryan Carpenter, Marlon Pierce, X. Qiu, Ahmet Uyar, Wenjun Wu Indiana University, Bloomington IN 47404 [email protected] NESC 16 July 2003
Transcript
Page 1: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 11

Portlets and Web Services for Collaboration and Videoconferencing

PTLIU Laboratory for Community GridsGeoffrey Fox, Hasan Bulut, Bryan Carpenter,

Marlon Pierce, X. Qiu, Ahmet Uyar, Wenjun WuIndiana University, Bloomington IN 47404

[email protected]

NESC 16 July 2003

Page 2: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 22

Abstract We define interoperable framework called XGSP (XML

based General Session Protocol) based on Web services technology for creating and controlling sessions

We developed a common dynamic messaging environment (NaradaBrokering) for Grid and collaboration applications

Based on the web-services framework and NaradaBrokering messaging environment, we are developing Global Multimedia Collaboration System (Global-MMCS) with Beihang University China

We use MVC (Model View Control) paradigm to develop Web Service model/data – Messaging Control -- Jetspeed style aggregation – portlet style view

Page 3: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 33

Collaboration and Web Services Collaboration has

a) Mechanism to set up members (people, devices) of a “collaborative sessions”

b) Shared generic tools such as text chat, white boards, audio-video conferencing

c) Shared applications such as Web Pages, PowerPoint, Visualization, maps, (medical) instruments ….

b) and c) are “just shared objects” where objects could be Web Services but rarely are at moment

• We can port objects to Web Services and build a general approach for making Web services collaborative

a) is a “Service” which is set up in many different ways (H323 SIP JXTA are standards supported by multiple implementations) – we should make it a WS

Page 4: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 44

Shared Event Collaboration All collaboration is about sharing events defining state changes

• Audio/Video conferencing shares events specifying in compressed form audio or video

• Shared display shares events corresponding to change in pixels of a frame buffer• Instant Messengers share updates to text message streams• Microsoft events for shared PowerPoint (file replicated between clients) as in

Access Grid Finite State Change NOT Finite State Machine architecture Using Web services allows one to expose updates of all kinds as

messages• “Event service” for collaboration is similar to Grid notification service and we

effectively define SDE’s (service data elements) in OGSI Group (Session) communication service is needed for the delivery of

the update events• Using Event Messaging middleware makes messaging universal

Page 5: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 55

Portals and Web Services Web Services allow us to build a component model for resources. Each resource naturally has a user interface (which might be

customized for user) Web Service <--> Portlet 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• Need to redirect portlets to cell-phones etc.

What is form of MVC (Model-View-Controller) paradigm What happens if “real applications” like PowerPoint are

formulated as Web Services Jetspeed uses HTML to build a portal – as well as Java, SVG

(Scalable Vector Graphics) is interesting

Page 6: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 66

XGSP MCU Architecture

SIP H323 Access Grid Native XGSPAdmire

Gateways convert to uniform XGSP Messaging

High Performance (RTP)and XML/SOAP and ..

Media ServersFilters

Session ServerXGSP-based Control

NaradaBrokeringAll Messaging

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

NB Scales asdistributed

WebServices

Page 7: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 77

Global-MMCS 2.0 (1) XGSP MCU We are building an open source protocol independent Web

Service “MCU” which will scale to an arbitrary number of users and provide integrated thousands of simultaneous users collaboration services.

We will deploy it globally and hope to test with later this year. The function of A/V media server will be distributed using

NaradaBrokering architecture.• Media Servers mix and convert A/V streams

Open XGSP MCU based on the following open source projects• 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

Page 8: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 88

WSDisplay

WSViewer

WS Display

WS Viewer

Event(Message)

Service

Master

WSDisplay

WS Viewer

Web Service MessageInterceptor

Collaboration as a WSSet up Session with XGSP

Application orContent source

WSDL

Web Service

FI

U

O

FI

R

O

Shared Output Port Collaboration

OtherParticipants

Text ChatWhiteboardMultiplemasters

Page 9: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 99

WSDisplay

WSViewer

WS Display

WS ViewerEvent

(Message)Service

Master

WSDisplay

WS Viewer

Collaboration as a WSSet up Session with XGSP

WebServic

e

FI

U

O

FI

R

O

Shared Input Port (Replicated WS) Collaboration

OtherParticipants

WebServic

e

FI

U

O

FI

R

O

WebServic

e

FI

U

O

FI

R

O

Page 10: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1010

XGSP Conference Control Framework Components

User session management • User session management supports user sign-in, user

create/terminate/join/leave/invite-into XGSP sessions. Application Session Management

• XGSP application session management provides the services to A/V and data application endpoints and communities, controlling multipoint A/V RTP and data channels.

Floor Control • Floor control manages the access to shared collaboration

resources.

Page 11: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1111

XGSP Application Session Management XGSP signaling protocol for

• H.323 signaling protocols (H.225, H.245) • SIP signaling protocol ( Invite, Bye Message )• Access Grid ( Unicast VIC & RAT ) Join XGSP Session, Leave XGSP Session, Invite into XGSP Session, Expel from XGSP Session

Activate the XGSP session• the XGSP session server will link all the “rooms” in the session

together by connecting multipoint A/V and data channels from different communities to the XGSP A/V Media and Data Channel Services.

Link/Disconnect XGSP SubSession

Page 12: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1212

XGSP Floor Control XGSP should provide:

• Floor control primitives, including: request floor, release floor, grant floor, cancel floor, remove floor request

• mediator-controlled floor control: to support the mediator control policy

• Collaboration applications have to define their own roles in the XGSP registration so that the mediator could assign the role of the application to each user.

for example, a shared PowerPoint application should define master/slave role.

Page 13: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1313

NaradaBrokering Based on a network of cooperating broker nodes

• Cluster based architecture allows system to scale to arbitrary size

Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems.

Now has 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 metaphor• Filtering for heterogeneous clients• Federation of multiple instances of Grid services as

illustrated by JXTA peer-group linkage

Page 14: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1414vic and RealVideo views of multiple streams

Page 15: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1515Polycom view of multiple video streams

Page 16: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1616

Performance Test : GlobalMMCS1.0 We conducted extensive performance tests on audio

and video servers. Video:

• The test shows that our video server is capable of supporting 300 clients if there is only one video sender.

• Video Server Machine : 1.2GHz Intel Pentium III dual CPU, 1GB MEM, RedHat Linux 7.3

Audio: • Our tests show that audio server can support 5 concurrent

sessions (250 participants in total) without any packet droppings. • Audio Server Machine: 2.5GHz Pentium 4 CPU, 512MB memory,

Windows XP machine Scale with logarithmic Broker network

Page 17: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1717

1

2

3

4

5

6

7

8

9

1000 1500 2000 2500 3000 3500 4000 4500 5000

Tran

sit D

elay

(M

illise

cond

s)

Message Payload Size (Bytes)

Transit delay for message samples in NaradaBrokering Different communication hops - Internal Machines

hop-2hop-3hop-5hop-7

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

Page 18: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1818

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

1000 1500 2000 2500 3000 3500 4000 4500 5000

Sta

ndar

d D

evia

tion

(Milli

seco

nds)

Message Payload Size (Bytes)

Standard Deviation for message samples in NaradaBrokering Different communication hops - Internal Machines

hop-2hop-3hop-5hop-7

Page 19: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 1919

0

50

100

150

200

250

300

350

400

450

0 200 400 600 800 1000 1200 1400 1600 1800 2000

Del

ay (M

illis

econ

ds)

Packet Number

Average delays/packet for 12 (of the 400 total) video-clients. NaradaBrokering Avg=80.76 ms, JMF Avg=229.23 ms

NaradaBrokering-RTP JMF-RTP

Comparison between the performance of NaradaBrokering and JMF

Page 20: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 2020

0

5

10

15

20

25

0 200 400 600 800 1000 1200 1400 1600 1800 2000

Jitte

r (M

illis

econ

ds)

Packet Number

Average jitter/packet for 12 (of the 400 total) video clients. NaradaBrokering Avg=13.38 ms, JMF Avg=15.55 ms

NaradaBrokering-RTP JMF-RTP

Comparison between the performance of NaradaBrokering and JMF

Page 21: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 2121

Global-MMCS 2.0 (2) Portlets Collaboration clients will be built into portlets by

creating Java Applet or ActiveX controls for the non-HTML clients and adding them into HTML pages.

A collaboration portlet opens local services for XGSP application session management and floor control. • Node Manager portlet invoke the service to control local portlets

Apache Jetspeed seems good open source technology supporting this model

Portlets such as Access Grid portlet (really a VIC portlet) can be reused by Grid Portal Developers

Page 22: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 2222

Unicast AG Portlet

Page 23: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 2323

Multicast Multi-stream AG Portlet Java applet supports

multicast AG with multiple streams

In Jetspeed, easiest to have fixed size but this doesn’t fit well natural range of 1-20 separate streams

Page 24: Portlets and Web Services for Collaboration and Videoconferencing

23/4/2223/4/22 2424

Collaborative SVG Web Service SVG is W3C 2D Vector Graphics standard and is interesting for

visualization and as a simple PowerPoint like application• Further SVG is built on W3C DOM and one can generalize results

to all W3C DOM-based applications (“all” in future?) Apache Batik SVG is Java and open source and so it is practical

to modify it to explore• Real Applications as a Web Service• Collaboration as a Web Service• MVC model and web services with implications for portlets

We intend to use NaradaBrokering and XGSP to control collaboration; support PDA Cell-phone and desktop clients; restructure Batik as MVC Web Service• Good progress in all areas see • http://www.svgarena.org for SVG Games• http://grids.ucs.indiana.edu/ptliupages/projects/carousel/ for PDA

Page 25: Portlets and Web Services for Collaboration and Videoconferencing

04/22/2304/22/23 2525

Collaborative SVG Chess Collaborative SVG Chess Game in Batik BrowserGame in Batik Browser

Players

Observers

Page 26: Portlets and Web Services for Collaboration and Videoconferencing

04/22/23 26Figure 3 Architecture of collaborative SVG browser on PC

XGSPSession control

Server

Nar

adaB

roke

ring

Even

t (M

essa

ge) S

ervi

ce In

fras

truc

ture

•••

Master clientSVG browser 1F

I

R

O

Other clientSVG browser 2F

I

R

O

Other clientSVG browser nF

I

R

O

Control to/from

all SVG browsers in the collaborative session

Data from master client

Control to/from XGSP

Data to other clients

Control to/from XGSP

Data from master client

Control to/from XGSP

Figure 3 Architecture of collaborative SVG browser on PC

XGSPSession control

Server

XGSPSession control

Server

Nar

adaB

roke

ring

Even

t (M

essa

ge) S

ervi

ce In

fras

truc

ture

•••

Master clientSVG browser 1F

I

R

O

Master clientSVG browser 1F

I

R

O

Other clientSVG browser 2F

I

R

O

Other clientSVG browser 2F

I

R

O

Other clientSVG browser nF

I

R

O

Other clientSVG browser nF

I

R

O

Control to/from

all SVG browsers in the collaborative session

Control to/from

all SVG browsers in the collaborative session

Data from master client

Control to/from XGSP

Data from master client

Control to/from XGSP

Data to other clients

Control to/from XGSP

Data to other clients

Control to/from XGSP

Data from master client

Control to/from XGSP

Data from master client

Control to/from XGSP

Architecture of collaborative SVG browser on PC

Page 27: Portlets and Web Services for Collaboration and Videoconferencing

04/22/2304/22/23 2727

Classic MVC ParadigmClassic MVC ParadigmModel View Controller

Model

Controller

ViewMouse eventKeyboard events

Figure MVC Model

Display

Page 28: Portlets and Web Services for Collaboration and Videoconferencing

04/22/23 28

Model View Controller

a. MVC Model

Controller

View

Display

Model

Messages contain control information

Decomposition of SVG Browser

b. Three-stage pipeline

High Level UI

Raw UIDisplay

Rendering as messages

Events as messages

Semantic

Events as messages

Rendering as messages

Figure 1 Reformulation of SVG to message based MVC in a Web Service Model

Input port Output port

Model View Controller

a. MVC Model

Controller

View

Display

Model

Model View ControllerModel View Controller

a. MVC Model

Controller

View

DisplayDisplay

Model

Messages contain control information

Decomposition of SVG Browser

b. Three-stage pipeline

High Level UI

Raw UIDisplayRaw UIDisplay

Rendering as messages

Events as messages

Semantic

Events as messages

Rendering as messages

Figure 1 Reformulation of SVG to message based MVC in a Web Service Model

Input port Output port

Reformulation of SVG to message based MVC in a Web Service Model

Page 29: Portlets and Web Services for Collaboration and Videoconferencing

04/22/23 29

Figure 4 Architecture of collaborative Web Services drawn for particular case of Internet multiplayer game with SVG

Nar

adaB

roke

ring

Even

t (M

essa

ge) S

ervi

ce In

fras

truc

ture

•••

XGSPSession control

Server

SVG WS 1

Internet Game

SVG WS 2

SVG WS n

•••SVG display 1

SVG display 2

SVG display n

Control to/from

SVG WS1,2, …, n

Control to/from XGSP, SVG display 2

Rendering to SVG display 2

Control to/from

SVG WS1,2, …, n

Rendering from SVG WS 2

Control to/from SVG display 2

Figure 4 Architecture of collaborative Web Services drawn for particular case of Internet multiplayer game with SVG

Nar

adaB

roke

ring

Even

t (M

essa

ge) S

ervi

ce In

fras

truc

ture

•••

XGSPSession control

Server

XGSPSession control

Server

SVG WS 1

Internet Game

Internet Game

SVG WS 2

SVG WS n

•••SVG display 1

SVG display 2

SVG display n

•••SVG display 1SVG display 1

SVG display 2SVG display 2

SVG display nSVG display n

Control to/from

SVG WS1,2, …, n

Control to/from

SVG WS1,2, …, n

Control to/from XGSP, SVG display 2

Rendering to SVG display 2

Control to/from

SVG WS1,2, …, n

Control to/from

SVG WS1,2, …, n

Rendering from SVG WS 2

Control to/from SVG display 2

Web Services Messaging Displays

Architecture of multiplayer game

with SVG

Page 30: Portlets and Web Services for Collaboration and Videoconferencing

04/22/2304/22/23 3030

Application as a Web serviceApplication as a Web service

Participating Client

RenderingRendering

User Interface

W3C DOM Events

From Master

FromCollaborationAs a WS

Events

Application as a Web serviceApplication as a Web service

Master Client

RenderingRendering

User Interface

W3C DOM Events

To Collaborative Clients

FromCollaborationAs a WS

Events

Control flow for collaborative SVG clients

Figure 3 Control flow for collaborative SVG clients

Collaborative SVG As A Web ServiceCollaborative SVG As A Web Service

Page 31: Portlets and Web Services for Collaboration and Videoconferencing

04/22/23 31

Three among the different ways of decomposing SVG between client and Web Service component

Shared SVG Browser on PDA

b. Decomposed WS optimized for thin clients

Rendering as messages

Events as messages

Messages contain control information

SemanticHigh Level UI

R F I O

U F I O

Web Service

Event (Message) Service

Raw UIDisplay

Shared SVG Browser on PC

a. Non-decomposed collaborative SVG requiring minimal changes to the original source code

Messages contain control information

Event (Message) Service

R F I O

SVG Browser

SemanticHigh Level UI

Raw UIDisplay

Collaborative Events and Web Service messages

Internet Game

c. Decomposed WS optimized for performance

Messages contain control information

Semantic

R F I O

U F I O

Web Service

Event (Message) Service

High Level UIRaw UIDisplay

Figure 2 Three among the different ways of decomposing SVG between client and Web Service component

Input port Output portRendering as messages

Events as messages

Input port Output port

Collaborative Events and Web Service messages

Collaborative Events and Web Service messages

Shared SVG Browser on PDA

b. Decomposed WS optimized for thin clients

Rendering as messages

Events as messages

Messages contain control information

SemanticHigh Level UI

R F I O

U F I O

Web Service

Event (Message) Service

Raw UIDisplay

Shared SVG Browser on PC

a. Non-decomposed collaborative SVG requiring minimal changes to the original source code

Messages contain control information

Event (Message) ServiceEvent (Message) Service

R F I O

SVG Browser

SemanticHigh Level UI

Raw UIDisplay

Collaborative Events and Web Service messages

Internet Game

c. Decomposed WS optimized for performance

Messages contain control information

Semantic

R F I O

U F I O

Web Service

Event (Message) ServiceEvent (Message) Service

High Level UIRaw UIDisplay

Figure 2 Three among the different ways of decomposing SVG between client and Web Service component

Input port Output portRendering as messages

Events as messages

Input port Output port

Collaborative Events and Web Service messages

Collaborative Events and Web Service messages

Page 32: Portlets and Web Services for Collaboration and Videoconferencing

04/22/23 32

Real-time Community Collaboration

Scalable Vector Graphics (SVG) via “Shared Web Service”


Recommended