Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing Collaborative Tools and Services for GridSphere

Similar presentations


Presentation on theme: "Developing Collaborative Tools and Services for GridSphere"— Presentation transcript:

1 Developing Collaborative Tools and Services for GridSphere
11/15/2018 Developing Collaborative Tools and Services for GridSphere Mark Baker and Rahim Lakhoo

2 Outline Introduction Motivation Technologies: System Architecture
11/15/2018 Outline Introduction Motivation Technologies: GridSphere, Java Media Framework, NaradaBrokering. System Architecture Experiments Issues Conclusions 15 November 2018

3 11/15/2018 Introduction Portsmouth’s part of 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 utilities based on RDF, Virtualisation using Peer-to-Peer technologies. Portsmouth are developing JSR-168 portlets, on the basis that Sakai will in the future have some means to consume portlets based on this standard. 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. 15 November 2018

4 Collaborative Service
11/15/2018 Collaborative Service Motivation: Investigate NaradaBrokering, which is also 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 worksite users and external users may communicate with. To have the ability to conference with many participants, i.e. meetings or teleconferences. 15 November 2018

5 Technologies Choices GridShpere: NaradaBrokering:
11/15/2018 Technologies Choices GridShpere: Supports JSR-168 and WebSphere portlets, Provides a portal framework, not just a portal, Has an active support 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. 15 November 2018

6 11/15/2018 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. 15 November 2018

7 Java Media Framework (JMF)
11/15/2018 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 availiable in 2 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. 15 November 2018

8 11/15/2018 NaradaBrokering NaradaBrokering is developed by the Community Grids Lab at Indiana University. Originally designed to provide software multi-casting for real-time collaboration. 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. 15 November 2018

9 NB Chat and Video Architecture
11/15/2018 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. 15 November 2018

10 11/15/2018 System Architecture 15 November 2018

11 The Chat Service (1) The Chat Service consists of:
11/15/2018 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. 15 November 2018

12 11/15/2018 The Chat Service (2) The User Interface 15 November 2018

13 The Chat Service (3) Configuration Interface 15 November 2018
11/15/2018 The Chat Service (3) Configuration Interface 15 November 2018

14 11/15/2018 The Chat Service (3) The Chat portlet forwards messages to be sent via PortletSessions, to the NaradaBrokering portlet service. The Chat portlet also extracts messages received, via the users session. The NaradaBrokering portlet service uses the PortletSession to extract any connection objects and messages. 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. Each user has a PortletSession, which hold all connection information per a user. 15 November 2018

15 An Example System Set-up
11/15/2018 An Example System Set-up 15 November 2018

16 The Video Service (1) The Video Service consists of:
11/15/2018 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. 15 November 2018

17 The Video Service (2) The Video Camera Subscription Interface
11/15/2018 The Video Service (2) The Video Camera Subscription Interface 15 November 2018

18 11/15/2018 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. 15 November 2018

19 Video Service (4) There are 2 JMF Applets:
11/15/2018 Video Service (4) There are 2 JMF Applets: A transmitting Applet which captures a device, A receiving Applet which displays a video stream. The transmitting applet captures a users Webcam 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. 15 November 2018

20 Chat and Video Services
11/15/2018 Chat and Video Services The presentation layers are separated from the logic – an MVC design pattern. All inter-portlet communications are undertaken with either PortletSessions or 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. 15 November 2018

21 NB Chat and Video System Experiment
11/15/2018 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 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. The server only had 768 MBytes! 15 November 2018

22 NB Chat and Video System Experiment
11/15/2018 15 November 2018

23 11/15/2018 Issues The RTPLinkManager in NaradaBrokering has ‘hardwired’ ports, even though there’s a configuration file. NaradaBrokering’s RTP session configuration file is not dynamic;requires broker restart. When many messages are sent to the broker memory usage increases. GridSphere suffers from session bloating in this portlet and also 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 Applets connection is problematic; needs the whole browser to be ‘killed’. 15 November 2018

24 11/15/2018 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. JSR-168 does not accommodate for the concept of portlet services, thus portlets could be very large and not easilyreusable. NaradaBrokering’s RTP support and JMS API needs to be extended to improve its capabilities. 15 November 2018

25 11/15/2018 References 15 November 2018

26 11/15/2018 Questions?


Download ppt "Developing Collaborative Tools and Services for GridSphere"

Similar presentations


Ads by Google