PowerPoint Presentation

Document Sample
PowerPoint Presentation Powered By Docstoc
					    Portlets and Web Services for
Collaboration and Videoconferencing
                           NESC 16 July 2003

              PTLIU Laboratory for Community Grids
             Geoffrey Fox, Hasan Bulut, Bryan Carpenter,
            Marlon Pierce, X. Qiu, Ahmet Uyar, Wenjun Wu
                  Indiana University, Bloomington IN 47404


2012/10/3                                                       1
   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
   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

2012/10/3                                                  2
          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

2012/10/3                                                               3
            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
      • 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
      • “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
2012/10/3                                                                           4
              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
2012/10/3                                                                     5
                XGSP MCU Architecture
            Use Multiple Media servers to scale to many codecs and many
            versions of audio/video mixing

               Session Server            Web       Media Servers
             XGSP-based Control        Services       Filters

   NB Scales as                 NaradaBrokering          High Performance (RTP)
   distributed                   All Messaging           and XML/SOAP and ..

      Admire              SIP           H323       Access Grid     Native XGSP

                    Gateways convert to uniform XGSP Messaging

2012/10/3                                                                        6
    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

2012/10/3                                                               7
    Shared Output Port Collaboration
                                                    Collaboration as a WS
            Web Service Message                   Set up Session with XGSP

                R                       U
            F                               F              WS           WS
                     Application or
            I       Content source          I
                                                         Viewer       Display
                O                       O
                    Web Service

                                                          WS           WS
     Text Chat                                           Viewer       Display
     Multiple                           Event                         Other
     masters                          (Message)                    Participants
                                                          WS            WS
                                                         Viewer       Display

2012/10/3                                                                       8
   Shared Input Port (Replicated WS) Collaboration
                                       Collaboration as a WS
                                     Set up Session with XGSP

                        R     U
                    F    Web     F
                        Servic            WS            WS
                    I     e      I      Viewer        Display
                      O        O


                        R     U
                    F    Web     F
                        Servic           WS            WS
      Event         I     e      I      Viewer        Display
                      O        O
                        R     U
                    F    Web     F
                        Servic           WS             WS
                    I     e      I      Viewer        Display
                      O        O

2012/10/3                                                   9
             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

2012/10/3                                                           10
 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
      Link/Disconnect XGSP SubSession
2012/10/3                                                               11
                   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.

2012/10/3                                                                12
     Based on a network of cooperating broker nodes
        • Cluster based architecture allows system to scale to arbitrary
     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
2012/10/3                                                              13
  vic and RealVideo views of multiple streams
2012/10/3                                   14
 Polycom view of multiple video streams
2012/10/3                             15
  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

2012/10/3                                                               16
               Transit delay for message samples in NaradaBrokering
                  Different communication hops - Internal Machines
              Sender/receiver/broker - (Pentium-3, 1                 hop-3
       8      GHz, 256 MB RAM). 100 Mbps LAN.                        hop-5
              JDK-1.3, Red Hat Linux 7.3                             hop-7






       1000   1500      2000     2500      3000        3500   4000     4500   5000
                                  Message Payload Size
                                        (Bytes)                                 17
                   Standard Deviation for message samples in NaradaBrokering
                        Different communication hops - Internal Machines
        0.7                                                         hop-3






            1000     1500    2000    2500    3000    3500    4000     4500     5000
                                     Message Payload Size
                                           (Bytes)                               18
                Comparison between the performance of
                     NaradaBrokering and JMF
      Average delays/packet for 12 (of the 400 total) video-clients.
         NaradaBrokering Avg=80.76 ms, JMF Avg=229.23 ms
     400                                      JMF-RTP
                0   200 400 600 800 1000 1200 1400 1600 1800 2000
                                Packet Number                  19
            Comparison between the performance of
                 NaradaBrokering and JMF
       Average jitter/packet for 12 (of the 400 total) video clients.
         NaradaBrokering Avg=13.38 ms, JMF Avg=15.55 ms




            0   200 400 600 800 1000 1200 1400 1600 1800 2000
                            Packet Number                  20
        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

2012/10/3                                                                21
            Unicast AG Portlet

2012/10/3                        22
             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

2012/10/3                                  23
    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
2012/10/3                                                                    24
 Collaborative SVG Chess
  Game in Batik Browser

10/3/2012                                    25
                                                                                                         Data to
                                                                                                         other clients         R
                                                                                                                                    Master client
                                                                                                                                   SVG browser 1
                                                                                                         Control to/from

                                                                Event (Message) Service Infrastructure
                                                                                                         XGSP                      O

                                                                                                         Data from

                                                                                                         master client         R
       XGSP            Control to/from                                                                                              Other client
  Session control                                                                                                          F
                       all SVG browsers                                                                                            SVG browser 2
      Server                                                                                             Control to/from
                       in the collaborative                                                                                    I
                                                                                                         XGSP                      O

                                                                                                         Data from
                                                                                                         master client         R
                                                                                                                                    Other client
                                                                                                                                   SVG browser n
                                                                                                         Control to/from
                                                                                                         XGSP                      O

10/3/2012           Figure 3 Architecture of collaborative SVG browser on PC                                                                        26
Architecture of collaborative SVG browser on PC
     Classic MVC Paradigm
                   Model View Controller



            Mouse event         View
            Keyboard events

10/3/2012              Figure   MVC Model             27
            Model View Controller        Decomposition of SVG Browser


                                          Events as                 Rendering as
                                          messages                  messages

                                                    High Level UI

                                            Input port         Output port

                                          Events as                Rendering as
                                          messages                 messages

                                                         Raw UI

                                        Messages contain control information

               a. MVC Model                    b. Three-stage pipeline

          Figure 1 Reformulation SVG message based MVC in a Web Service Model
Reformulation of of SVG to to message based MVC in a
 10/3/2012                                                                    28

                             Web Service Model
                                                                                                                     Architecture of
Session control
                        Control to/from                                                                             multiplayer game
    Server              SVG WS1,2, …, n
                                                                                                                       with SVG

                                                                Event (Message) Service Infrastructure
  SVG WS 1                                                                                                                 SVG display 1

                     Rendering to                                                                        Rendering from

                     SVG display 2                                                                       SVG WS 2
  SVG WS 2                                                                                                                 SVG display 2

                     Control to/from XGSP,                                                               Control to/from
                     SVG display 2                                                                       SVG display 2

  SVG WS n                                                                                                                 SVG display n

    Internet            Control to/from
                        SVG WS1,2, …, n

 Web Services
                                             Messaging                                                                     Displays        29

                  Figure 4 Architecture of collaborative Web Services drawn for
     Control flow for SVG As A Web
Collaborative collaborative SVG clients Service
   From                                   Application as a Web service
   Collaboration                           Application as a Web service
   As a WS
                                            Events                Rendering
                          From Master

                                                     W3C DOM Events

                                                      User Interface
    Participating Client

     From                                Application as a Web service
     Collaboration                        Application as a Web service
     As a WS
                                          Events                Rendering

              To Collaborative Clients

                                                W3C DOM Events

                                                     User Interface
     Master   Client                                                          30
    Shared SVG Browser on PC                   Shared SVG Browser on PDA                            Internet Game

          Event (Message) Service                        Event (Message) Service                 Event (Message) Service

                                                 Collaborative            Events and        Collaborative          Events and
                                                 Web Service              messages          Web Service            messages
     Collaborative          Events and
     Web Service            messages                                                                        RFIO
                                                                                                        Web Service
                                                             Web Service
                     RFIO                                                                                   Semantic
                                                             High Level UI                                  UFIO
             SVG Browser
                                                                                               Input port         Output port
                 Semantic                                                                     Events as                Rendering as
               High Level UI                           Input port         Output port         messages                 messages
                  Raw UI                              Events as            Rendering as
                  Display                             messages             messages
                                                                                                        High Level UI
                                                                Raw UI                                     Raw UI
                                                                Display                                    Display

 Messages contain control information        Messages contain control information          Messages contain control information

a. Non-decomposed collaborative SVG         b. Decomposed WS optimized for thin           c. Decomposed WS optimized for
requiring minimal changes to the original   clients                                       performance
source code

               Figure 2 Three among the different ways of decomposing SVG between client and Web Service component
       Three among the different ways of decomposing
       SVG between client and Web Service component
       10/3/2012                                   31
Real-time Community Collaboration

10/3/2012                                          32
Scalable Vector Graphics (SVG) via “Shared Web Service”

Shared By: