Top Banner
Video Conferencing with NaradaBrokering Mark Baker and Rahim Lakhoo QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture.
26

Video Conferencing with NaradaBrokering

Dec 05, 2014

Download

Documents

Videoguy

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Video Conferencing with NaradaBrokering

Video Conferencing with NaradaBrokering

Mark Baker and Rahim Lakhoo

QuickTime™ and aTIFF (Uncompressed) decompressor

are needed to see this picture.

Page 2: Video Conferencing with NaradaBrokering

13 July 2006 2

Outline•Introduction•Motivation•Technologies:

–GridSphere,–Java Media Framework,–NaradaBrokering.

•System Architecture•Experiments•Issues•Conclusions

Page 3: Video Conferencing with NaradaBrokering

13 July 2006 3

Introduction• Portsmouth and Reading’s role in the Sakai VRE project is to develop and deploy a number of portlet-based tools and services.

• In particular we are looking at:– Collaborative tools based on NaradaBrokering,– Semantic Web tools based on RDF,– Bridging technologies to enable legacy applications,– Peer-to-Peer technologies.

• Portsmouth and Reading are developing JSR-168 portlets, on the basis that Sakai will consume portlets via the WSRP consumer developed within the project.

• In this talk we will recount our experiences developing, deploying and testing chat and video conferencing services based on NaradaBrokering, GridSphere and the Java Media Framework.

Page 4: Video Conferencing with NaradaBrokering

13 July 2006 4

Collaborative Service•Motivation:

–Investigate NaradaBrokering that is also partially funded by the e-Science programme, which other UK Universities and organisations are interested.

–Add useful tools for the Sakai Demonstrator,–To create a chat and video conferencing system that work-site users and external users may communicate with.

–To provide the ability to conference with many participants, i.e. meetings or teleconferences.

–Note: this work was completed in Jan 2005.

Page 5: Video Conferencing with NaradaBrokering

13 July 2006 5

Technologies Choices• GridShpere:

– Supports JSR-168 and WebSphere portlets,– Provides a portal framework, not just a portal, but a

development infrastructure.– Has an active support and user community.

• NaradaBrokering:– Unified messaging framework with support for Grid and

Web Services,– Software multi-casting with support for different

transport protocols,– Supports video conferencing with Global-MMCS.

• Java Media Framework:– Java-based solution for handling time-sensitive data,– Ability to capture video and compress streams in different

formats,– Supports the Real-Time Protocol.

Page 6: Video Conferencing with NaradaBrokering

13 July 2006 6

Portals - GridSphere•The GridSphere framework provides an open-source portlet-based Web portal.

•The framework allows developers to manage and deploy portlets within the container.

•GridSphere supports JSR-168 and WebSphere-based portlets.

•GridSphere also supports GridPortlets for managing jobs and data on the Grid.

•GridSphere uses Apache Tomcat as its container – though it can also use Jetty.

Page 7: Video Conferencing with NaradaBrokering

13 July 2006 7

Java Media Framework (JMF)• JMF provides an interface for Java applications to interact with media or time sensitive data.

• JMF includes codecs and protocols, such as:– Support for Quick Time movies,– MP3 playback,– Video/audio capture,– Supports the Real Time Protocol (RTP),– H.263 video conferencing codec (compression format).

• JMF is available in two formats:– Performance Pack, for only Linux, Solaris and Windows:

• Includes native libraries for codecs and capturing from devices,

– Platform Independent version:• Includes partial capability for codecs and no video capturing.

Page 8: Video Conferencing with NaradaBrokering

13 July 2006 8

NaradaBrokering• NaradaBrokering is developed by the Community Grids Lab at Indiana University.

• Originally designed to provide software multi-casting for real-time collaborative systems.

• Asynchronous messaging system that is JMS 1.02b compliant.

• Publish, subscribe and bind architecture with JMS topics.

• NaradaBrokering supports other capabilities:– Video Conferencing via Global-MMCS,– Peer-to-Peer with JXTA,– Grid and Web Services.

• Provides a number of transport protocols:– HTTP/HTTPS, TCP/NIO-TCP and UDP.

Page 9: Video Conferencing with NaradaBrokering

13 July 2006 9

NB Chat and Video Architecture• The NB Chat and Video System consists of portlets, portlet services and Java applets from a users perspective:

– Chat portlet,– Video Conferencing portlet,– NaradaBrokering portlet service,– Userlist portlet service,– JMF applet.

• The servers consist of:– NaradaBrokering,– Apache Tomcat,– GridSphere,– Global-MMCS.

Page 10: Video Conferencing with NaradaBrokering

13 July 2006 10

System Architecture

Page 11: Video Conferencing with NaradaBrokering

13 July 2006 11

The Chat Service (1)• The Chat Service consists of:

– A Chat portlet, – A NaradaBrokering portlet service, – A Userlist portlet service.

• The Chat portlet provides the interface and user notification messages.

• The NaradaBrokering portlet service, handles all connections and messages to be sent/received for all connected users.

• The Userlist portlet service tracks connected users and stores user information.

Page 12: Video Conferencing with NaradaBrokering

13 July 2006 12

The Chat Service (2)

The User Interface

Page 13: Video Conferencing with NaradaBrokering

13 July 2006 13

The Chat Service (3)

Configuration Interface

Page 14: Video Conferencing with NaradaBrokering

13 July 2006 14

An Example System Set-up

N ara d aB rok er

C h atT op ic N

N ara daB rok erin g , B rok erc lou d

C lien t 3

C h at V ide o

Clien t 2

C ha t V id eo

C lie nt 1

C ha t V id eo

C lie nt 4

C h at V ide o

P ortlet S ess io n

JM S T o p ic C on nec tio n O b je c tJM S P ub lish ers S es sion O b je c tJ M S S u bscrib e r S es s io n O b ject

JM S T o p ic P ub lis h er O bjec tJM S To p ic S ub s crib er O b je ct

JM S To p ic U se rna m eJM S To p ic S tr in g

JM S C o nn ec tio n P ro pertie sJM S T ex t M e ss ag es Re ceive dJ M S T ex t M es sa g es to S en d

C on ne c tio n S tatus

B ro ker S erv er

G rid sp he re

N arad a B ro k er ingS ervic e

S es sio nin fo - 1

S e ss io ninfo - 2

S es sio nin fo - 3

S e ssio nin fo - 4

T om catC on ta in er

Page 15: Video Conferencing with NaradaBrokering

13 July 2006 15

The Chat Service (4)• Each user has a PortletSession, which hold all connection information per a user.

• The Chat portlet and the NaradaBrokering portlet service use PortletSessions for the communication of messages and connection information.

• Messages are sent by the NaradaBrokering portlet service to a JMS Chat topic on the broker.

• Each user has an associated asynchronous MesaageListener, which stores any received messages inside their PortletSession.

Page 16: Video Conferencing with NaradaBrokering

13 July 2006 16

The Video Service (1)•The Video Service consists of:

–A Video Conferencing portlet, –JMF Applets,–A Userlist portlet service.

•The Video Conferencing portlet displays a list of available cameras and loads the relevant JMF applet.

•The Userlist portlet provides the video stream topics and other details, to initiate the video conference.

Page 17: Video Conferencing with NaradaBrokering

13 July 2006 17

The Video Service (2)

The Video Camera Subscription Interface

Page 18: Video Conferencing with NaradaBrokering

13 July 2006 18

The Video Service (3)•Users may publish a web-cam or subscribe to other registered web-cams.

•The video conferencing portlet gathers user information from the Userlist portlet service, to display a list of any available cameras.

•The video conferencing portlet generates an applet tag with the connection details.

•The applet then connects to a broker to initialise a video conference.

Page 19: Video Conferencing with NaradaBrokering

13 July 2006 19

Video Service (4)• There are two JMF applets:

– A transmitting applet which captures a device,– A receiving applet which displays a video stream.

• The transmitting applet captures a users Web-cam as RTP data and encapsulates it within the NaradaRTPConnector.

• The receiving applet uses the NaradaRTPConnector to extract the video stream and plays it with a JMF player.

• This means that only one UDP port is required to be open on the broker for users to use the video conferencing.

• The chat facility also only requires one TCP port on the broker.

• This is unlike VRVS or Access Grid which requires a range of ports to be open.

Page 20: Video Conferencing with NaradaBrokering

13 July 2006 20

Chat and Video Services•The presentation layers are separated from the logic – an MVC design pattern.

•All inter-portlet communications are undertaken with either PortletSessionsor via portlet services.

•The portlet services interact with external sources, while the portlets only deal with the layout and passing of information to the services.

Page 21: Video Conferencing with NaradaBrokering

13 July 2006 21

NB Chat and Video System Experiment

• The Chat and Video Portlet was tested with four cameras and five users.

• Each participant was connected to the chat room and four cameras where published.

• All participants subscribed to all four cameras.• To stress test the system all participants subscribed multiple times to all four cameras.

• The limitations of the number of subscriptions each user could make, was only limited by their system resources.

• The maximum obtained was 18 subscriptions with one published camera, by a single user.

• The broker and GridSphere consistently utilised 500 MBytes of memory, peaking to 643 MBytes.

Page 22: Video Conferencing with NaradaBrokering

13 July 2006 22

NB Chat and Video System Experiment

Page 23: Video Conferencing with NaradaBrokering

13 July 2006 23

Issues• The RTPLinkManager in NaradaBrokering (0.99RC4) has

‘hardwired’ ports, even though there is a configuration file.• NaradaBrokering’s RTP session configuration file is not

dynamic; it requires a broker restart.• When many messages are sent to the broker memory usage

increases and eventually the broker fails.• The system suffers from session bloating with this portlet

and thus consumes a lot of memory.• Memory is not reclaimed by the system.• JMF has compatibility issues with web-cams and Linux.• Refreshing the chat room messages automatically requires

other technologies, such as AJAX and/or JavaScript.• Closing the an applet’s connection is problematic; needs the

whole browser to be shutdown.

Page 24: Video Conferencing with NaradaBrokering

13 July 2006 24

Conclusions•As proof of concept the system does work, however, some of the technologies and standards need to mature.

•Installing JMF is still problematic for platforms other than Windows and seems to be a dormant project, with few updates.

•JSR-168 does not accommodate for the concept of portlet services, thus portlets could be very large and not easily reusable.

•NaradaBrokering’s RTP support and JMS API needs to be extended to improve its capabilities.

Page 25: Video Conferencing with NaradaBrokering

13 July 2006 25

References• http://www.gridpshere.org• http://www.naradabrokering.org• http://java.sun.com/products/java-media/jmf/• http://www.globalmmcs.org/• http://java.sun.com/products/java-media/jmf/2.1.1/guide/JMFArchitecture.html

• http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-portlet.html

• http://www-128.ibm.com/developerworks/websphere/library/techarticles/0312_hepper/hepper.html

Page 26: Video Conferencing with NaradaBrokering

Questions?

http://dsg.port.ac.ukhttp://acet.rdg.ac.uk

QuickTime™ and aTIFF (Uncompressed) decompressor

are needed to see this picture.