Collaboration and Web Services

Shared by: 5i32VE
Categories
Tags
-
Stats
views:
2
posted:
6/6/2012
language:
pages:
57
Document Sample
scope of work template
							               Collaboration and
                Web Services
                       UIUC October 15 2002

            PTLIU Laboratory for Community Grids
                              Geoffrey Fox
                Computer Science, Informatics, Physics
               Indiana University, Bloomington IN 47404
           (Technology Officer, Anabas Corporation, San Jose)
           http://grids.ucs.indiana.edu/ptliupages




                                                        gcf@indiana.edu

6/6/2012                 uri="http://www.naradabrokering.org"             1
                               email="gcf@indiana.edu"
       Some Basic Observations/Goals
     Technology Support for e-learning is one motivation
     Need Synchronous and Asynchronous Resource Sharing
           • Can provide universal access using synchronous collaboration technology
     Grids manage and share asynchronous resources in a rather
      centralized fashion
     Peer-to-peer networks are “just like” Grids with different
      implementations of services like registration and look-up
      Web Services interact with messages
           • Everything (including applications like PowerPoint will be a WS?)
     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
     XML will be used for most interesting data and meta-data
           • One will store/consider data and meta-data separately but often use same
             technology to manage both of them.
6/6/2012                    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   2
                               Deductions
   The system consists of a sea of message-based Services
   Services inject and extract messages whose transport and
    manipulation is support by a logically distinct sea of
    brokers/routers
      • They support 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
   Basic Unit of information (including events and messages) is a
    bunch of XML using URI’s to link to other XML or to “other
    technology capabilities” – Fortran programs, video files,
    telescopes …
   This XML includes service meta-data, user profiles, H323 done
    right, your homework grades, update of framebuffer in shared
    display etc.
6/6/2012                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   3
               So what are we doing I?
   We need to be UIUC to do all of this and I can only do a few
    scattered projects based on this model
   We have designed and built a messaging infrastructure
    NaradaBrokering embodying some of these ideas
      • We have shown interoperability between JXTA (Sun’s P2P environment),
        Java Message Service (JMS) and NaradaBrokering
   We have deployed a classic (Placeware, Interwise, WebEx)
    synchronous collaboration environment (Garnet) using JMS or
    Narada (uses Anabas technology)
   We have illustrated filtering/universal access by linking PDA’s to
    desktop collaboration
   We have prototyped audio-video conferencing as a web service
   We are repackaging collaborative SVG as a Web service to
    illustrate (explore) how wonderful it will be when all applications
    are Collaborative Web services

6/6/2012               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   4
               So what are we doing II?
               but won’t mention again
   We are building a toolkit to allow any application to be made a
    Web service (this only manipulates metadata)
      • Aimed at support of classic Grid applications running on a backend
        supercomputer
      • A Computing Portal
   We are building Jetspeed portlets of various types – including
    collaborative
   We have some XML news group technology which uses news
    group interface to support management and browsing of
    multiple XML information nuggets (instances) of general
    Schema
      • Wizard generates interfaces to define nuggets
      • JSP wizard layout and browsing specification defined by annotating
        Schema
6/6/2012                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   5
       Classic Grid Architecture                                                                  Resources


      Database                                                          Database




                                                          Content Access
                            Composition                                                    Middle Tier
       Netsolve                                                                            Brokers
                                                                       Security            Service Providers
                   Collaboration
                                                  Computing

           Middle Tier becomes Web Services




6/6/2012          Clients                                           Users and Devices
                            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 6
 Different Web Service Organizations
   Everything is a resource (distributed object)
    implemented as a Web Service, whether it be:
     • back end supercomputers and a petabyte dataset
     • Microsoft PowerPoint and this file
   Web Services communicate by messages …..
      • Web Services are “just distributed objects” with focus on
        (particular) XML specified input and output messages
   Grids and Peer to Peer (P2P) networks can be
    integrated by building both in terms of Web Services
    with different (or in fact sometimes the same)
    implementations of core services such as registration,
    discovery, life-cycle, collaboration and event or message
    transport …..
      • Gives a Peer-to-Peer Grid
   Roughly but not completely consistent with OGSA
      • Consistent with “rule”: build everything as a Web service
6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   7
                                                      Database
         Database                           Peers


                         Service Facing
                      Web Service Interfaces

                  Event/         Event/         Event/
                    Peer to Peer Grid
                  Message
                  Brokers
                                 Message
                                 Brokers
                                                Message
                                                Brokers




                                                           Peers
                            User Facing
                       Web Service Interfaces



A democratic organization
6/6/2012                                                        Peer to Peer Grid
              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"      8
           Education as a Web Service
     “Learning Object” XML standards already exist from IMS/ADL
      http://www.adlnet.org – need to update architecture
     Web Services for virtual university include:
     Registration
     Performance (grading)
     Authoring of Curriculum
     Online laboratories for real and virtual instruments
     Homework submission
     Quizzes of various types (multiple choice, random parameters)
     Assessment data access and analysis
     Synchronous Delivery of Curricula including Audio/Video
      Conferencing and other synchronous collaborative tools as Web
      Services
     Scheduling of courses and mentoring sessions
     Asynchronous access, data-mining and knowledge discovery
     Learning Plan agents to guide students and teachers
6/6/2012            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   9
           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
      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 can make it a WS
       quite easily
6/6/2012                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   10
             Web Service Architecture
           for Audio Video Conferencing
                                SIP                                                                 Access
  H.323
                                Client                                                               Grid
  Client


           A/V Web-Service
                                            A/V Web-Service                            A/V Web-Service
                Gateway
                                            Gateway ( SIP )                             Gateway ( AG )
               ( H.323)



                   A/V Media                    A/V Media                      A/V Media
                     Server                       Server                         Server


                                         Event Message Service




                      Session                      Session                         Session
                      Server                       Server                          Server


                                   Core Collaboration MiddleWare

6/6/2012                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     11
                          XGSP: Introduction
                                     Session Command
           Registration                   Method                                         Query
             Method                                                                      Method
                                       Session Channel
                                       Binding Method

                                                                                 Collaboration as a WS
     Registration Method
      registration server with its alias name and current location
     Session Command Method
      Membership Control Commands, Session Control
      Commands
     Query Method
      discover various properties about the system
     Session Channel Binding Method (Specific to A/V)
      bind the RTP channels of a client into the media server
6/6/2012                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"             12
                       XGSP: Example
   <SessionDes>
      <SessionName> PervasiveTech Seminar </SessionName>
      <SessionID> 1234567 </SessionID>
     <SessionCreator> Ahmet@indiana.edu </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> Wenjun@156.56.103.129 </Participant>
           <Participant> Hasan@156.56.103.27 </Participant>
           <Participant> Shrideeper@156.56.103.111 </Participant>
      </SessionParticipants>
      <ContactInfo> wewu@indiana.edu </ContactInfo>
   </SessionDes>

6/6/2012               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   13
                                             Collaboration Web
     Administrator
        Clients
         User
        Clients
                                                  Server
                                           ( Java Sevelets & JSP )
                                                                                                Linking
                                                Web Interface
                                                                                                Clients
                         c
                         e
                         f
                         a
                         ea
                         ry
                         ne
                         tw
                         It
              H.323



                          G
                          a
             Gateway
                                                  Session
                                                   Server
                                                Media Server
                                                                                              and Servers
                                                  Interface
 H323
                                                                                            Current Implementation
Client               H323 Signaling
                        Channels
                                                                                            Polycom (H323) Access Grid
 Polycom
Netmeeti                                                                                    Integration
    ng
                                                                                 Access
                                               Media Server                       Grid
                  A/V RTP Channels                                   A/V RTP   Multicast
                                                                    Channels



                           W                                    W
                                                                          Venues
           Talk Server     S              Session Server        S
                           D                  Bridge            D
                                                                          Server
                                                                                           Future Project
                           L                                    L                          Link Proprietary MCU’s
            HearMe                                                      Multicast
                                                                                           Illustrated for SIP (HearMe)
                                  SIP
              MCU               Gateway
                                                Media                     Cloud            and Access Grid
                                               Server




            HearMe                                                   Access Grid
6/6/2012                                       uri="http://www.naradabrokering.org" email="gcf@indiana.edu"               14
                       Current Status
   XGSP Specification stable
   Demo prototype of Polycom (H323), Access Grid,
    Shared Display clients
   H323 Gateway based on openh323

JMF (Java Media Framework)
used for Media Server                   XGSP MCU (Control) User Interface

XGSP used Internally between
audio, video and session
control services
Codec negotiation supported
(No XGSP clients yet)

Narada UDP Communication
has been successfully tested

6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   15
  H323 Client (Polycom) in XGSP Session




6/6/2012    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   16
                                                      Comparison with
6/6/2012                                              other approaches
           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   17
    Possible A/V Web Service Futures
   Productize Narada Integration – needs more testing of
    Narada multi-protocol interface
      • Will this defeat firewalls that currently spoil my lectures?
   Session Control Server can be used to define
    collaborative sessions for other shared applications
      • Text chat etc.
      • Shared SVG, StarOffice, Internet Explorer, Word etc. (using
        “.net” event interface)
      • Integrate with JXTA interface using Narada-JXTA link
   Add RealMedia (Windows Media) SIP (VOIP) and
    native XGSP clients
   Integrate at server (MCU) level for Polycom,
    AccessGrid, VOIP – this is Federation

6/6/2012              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   18
           Personal View of Collaborative Systems
   Originally (at Syracuse) built a collaborative
    environment Tango and used for online lectures and
    training sessions from 1997-2001 (2001 updated system)
      • Functionality fine but browser interface and network
        produced instability
      • Hard to build custom collaborative applications
   Newer simpler (Garnet) system addresses these issues
    although network issues still being addressed
   Use of XML meta-data and building Education or e-
    learning as a set of Web Services gives interoperability
   Use of Grid (as from IBM) and peer-to-peer technology
    will give improved infrastructure (still quite primitive)

6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   19
           Courses at Jackson State
   Taught using Tango/Garnet since fall 97 over Internet twice a
    week from Syracuse/FSU/Indiana
     • Course material same style as online material for in-university
       classes
     • Curricula, Homework, Grading, Facilities done by “me”
     • Students get JSU NOT Syracuse/Indiana Credit
     • “Trivial” in that learning model identical to that in traditional
       courses – just changed interaction mode
   Jackson State major MSI (Minority Serving) University with
    many computer science graduates
   Do not compete with base courses but offer addon courses with
    “leading edge” material (Web Technology, modern scientific
    computing) which give JSU (under)graduates skills that are
    important in their career
   Fall 99 Semester CPS640 offered to 40 students in 5 distant places
    and separately 40 at Syracuse
6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   20
                Lessons from Past
      “True” Shared Event flexible but too much work for
       most cases
      Shared Display – nearly always works
      Shared Export – SVG PDF HTML X3D etc. can be re-
       used
      Integrate synchronous and asynchronous collaboration
      Do not build into browser as not a reliable or standard
       virtual machine
      Build around uniform publish-subscribe style XML
       Event Model supporting archiving, customization,
       filtering – apply to all collaboration modes
      Later we realized need to integrate with Peer to Peer
       and Web Services (straightforward as XML event
       model fits these architectures)
6/6/2012            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   21
    User Facing Ports for Web Service


   Resource or                                                Other WS
   Service-facing
                                     User-facing
   Ports
                        WSDL               Ports
               R                            U
           F                                    F
                                                                            Portal
           I
                   Content Provider             I
                                                                         Aggregate
                                                                       WS-User Facing
               O                            O                            Fragments
                     Web Service


                                                    Other WS
                                                    User Facing
                                                    Ports                                 Render




6/6/2012                   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"      22
           Collaboration: Shared Display
    Sharing can be done at any point on “object” or Web Service
     pipeline
                              Shared Web Service                                        Shared
           Shared                    Shared Export                                      Display
            Event
                                                                         Object         Object
    Object          Object’              Object’’
                                                                         Viewer         Display
    Master

      Shared Display shares
      framebuffer with events                          Event
                                                                                         Object
      corresponding to changed                       (Message)
                                                                                         Display
      pixels in master client.                        Service


    As long as pipeline uses messages, easy to
    make collaborative                                                                   Object
    Windows framebuffers and in fact most applications                                   Display
    do NOT expose a message based update interface
6/6/2012                 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"              23
   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

                                                                               Master

                             R           U
                         F    Web     F
                             Servic                                   WS             WS
      Event              I     e      I                              Viewer         Display
                           O        O
    (Message)
     Service
                                                                              Other
                                                                           Participants
                             R           U
                         F    Web     F
                             Servic                                   WS              WS
                         I     e      I                              Viewer         Display
                           O        O

6/6/2012        uri="http://www.naradabrokering.org" email="gcf@indiana.edu"              24
    Shared Output Port Collaboration
                                                                      Collaboration as a WS
           Web Service Message                                      Set up Session with XGSP
           Interceptor

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


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

6/6/2012                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"               25
    Role of Event/Message Brokers
   We will use events and messages interchangeably
     • An event is a time stamped message
   Our systems are built from clients, servers and “event brokers”
     • These are logical functions – a given computer can have one
       or more of these functions
     • In P2P networks, computers typically multifunction; in Grids
       one tends to have separate function computers
     • Event Brokers “just” provide message/event services; servers
       provide traditional distributed object services as Web services
   There are functionalities that only depend on event itself and
    perhaps the data format; they do not depend on details of
    application and can be shared among several applications
     • NaradaBrokering is designed to provide these functionalities
     • MPI provided such functionalities for all parallel computing
6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   26
 NaradaBrokering implements an Event Service
                             Destination
     Routing                                                             Filter              workflow
                           Source Matching




            Web                              (Virtual)                                Web
           Service 1                          Queue                                  Service 2

                   WSDL                   Broker                              WSDL
                   Ports                                                      Ports
   Filter is mapping to PDA or slow communication channel
    (universal access) – see our PDA adaptor
   Workflow implements message process
   Routing illustrated by JXTA and includes firewall
   Destination-Source matching illustrated by JMS using Publish-
    Subscribe mechanism
   These use Security model (being designed) based on WS-Sec
6/6/2012                   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 27
           Engineering Issues Addressed
           by Event / Messaging Service
    Application level Quality of Service – give audio highest
     priority
    Tunnel through firewalls
    Filter messages to slow (collaborative or real time)
     clients
    Hardware multicast is erratically implemented (Event
     service can dynamically use software multicast)
    Scaling of software multicast
    Elegant implementation of Collaboration in a Groove
     Networks (done better) style
    Integrate synchronous and asynchronous collaboration
6/6/2012           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   28
           Features of Event Service I
     MPI nowadays aims at a microsecond latency
     The Event Web Service aims at a millisecond (computer) latency
       • Typical distributed system travel times are many milliseconds
         (to seconds for Geosynchronous satellites)
       • Different performance/functionality trade-off
     Messages are not sent directly from P to S but rather from P to
      Broker B and from Broker B to subscriber S
       • Actually a network of brokers
     Synchronous systems: B acts as a real-time router/filterer
       • Messages can be archived and software multicast
     Asynchronous systems: B acts as an XML database and
      workflow engine
     Subscription is in each case, roughly equivalent to a (XML)
      database query
6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   29
           Features of Event Service II
   In principle Message brokering can be virtual and compiled
    away in the same way that WSDL ports can be bound in real
    time to optimal transport mechanism
     • All Web Services are specified in XML but can be
       implemented quite differently
     • Audio Video Conferencing sessions could be negotiated using
       SOAP (raw XML) messages and agree to use certain video
       codecs transmitted by UDP/RTP
   Separate logical User Channel and its protocol from “actual
    ports/protocols” which are Transport Channels
     • Use Performance Service to map user requirements into
       transport
     • e.g. audio user channel requests UDP from A to B but we use
       TCP/IP on port 80 from A to N1 (through nasty firewall) and
       UDP from N1 to B (say on Internet2)
   There is a collection of XML Schema – call it GXOS – specifying
    event service and requirements of message streams and their
    endpoints
6/6/2012            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   30
           Features of Event Service III
   The event service is naturally implemented as a
    dynamic distributed network
      • Required for fault tolerance and performance
      • Implies a corresponding dynamic distributed XML database
   A new classroom joins my online lecture
      • A broker is created to handle students – multicast locally my
        messages to classroom; handle with high performance local
        messages between students
   Company X sets up a firewall
      • The event service sets up brokers either side of firewall to
        optimize transport through the firewall
   Note all message based applications use same message
    service
      • Web services imply ALL applications are (possibly virtual)
        message based
6/6/2012              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   31
             Single Server P2P Illusion


                              Traditional Collaboration Architecture
      Data                    e.g. commercial WebEx
      base
             Collaboration Server




6/6/2012             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   32
           Narada Broker Network
                                                                                      (P2P) Community
                         For message/events service

                                 Broker
                                                                     Broker
     (P2P) Community


       Resource
                                                Broker
                  Broker

                                                                                             Data
  (P2P) Community                                 Broker
                                                                                             base


                                        Software multicast


                                                Broker
                                                                              (P2P) Community
6/6/2012               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 33
  NaradaBrokering and JMS (Java Message Service)


           Low Rate; Small Messages                                       (commercial JMS)




6/6/2012         uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                34
NaradaBrokering                                                            High end "long lived"/
                                                                           persistent resources

and JXTA
   Narada-JXTA provides                                                                              NARADA-
                                                                                                     JXTA proxy
   JXTA guaranteed long
     distance delivery                                                   NARADA
                                                                        broker cloud




      Narada JXTA Event

For duplicate     Narada Headers
detection                                        Peers
within
                  Interaction UUID                                                          JXTA
NARADA                                         Request/
                  JXTA Interaction             Dynamic/fluid                                Rendezvous
                                               Response
                       Type                    peer groups                                  PEER

Allows the         Peer group id
NARADA
                      Peer id
                                                 Request/Response
                                               Present if the
system to                                      interaction is
route event to      JXTA Event                 trageted to a
specific JXTA          Payload                   Present
                                               specific Peer if targeted         at
proxies            Narada Event                  Particular peer
                 Distribution Traces
6/6/2012                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     35
                Transit delay for message samples in Narada, JXTA & Narada-JXTA
                               Topology - I (2 routers) Internal Machines
       140
                                                                                             NaradaBr
                                                                                            Pure JXTA
       120                                                                                Narada-JXTA

       100

           80
                           N        NaradaBrokering broker       NaradaBrokering client

           60              R        JXTA Rendezvous
                                                                 JXTA Peer

                                                                 N


           40                       R          R             R          R
                                                                                          N         N




           20                            (a)                     (b)                          (c)




           0
           500      1000 1500 2000 2500 3000 3500 4000 4500 5000 5500
                                               Message Payload Size
6/6/2012
                                                             (Bytes)
                               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"             36
            Transit delay for message samples in Narada, JXTA and Narada-JXTA
                            Topology - III (8 routers) Internal Machines
       300
                                                                                                NaradaBr
                                                                                               Pure JXTA
       250               R                           R                                       Narada-JXTA
                     R         R             R               R


                         R                           R
       200                         (a)


                                   N                 R             R

                         R                               R
       150
                     R         R   R         R               R             R

                                                                                   N    NaradaBrokering broker
                         R                               R
                                       (b)
       100                                       RN                R
                         N                                                         R    JXTA Rendezvous
                                                             (a)
                     N         N             N
                                                 R           N         R               JXTA Peer
           50            N                           N                                 NaradaBrokering client
                                   (c)
                               R                     N             N           R
           0
           500   1000 1500 2000 2500 3000 3500 4000 4500 5000 5500
                             R                                         R
                                             Message Payload Size
                                                             (b)
                                                     N N
6/6/2012
                                                           (Bytes)
                             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                        37
           Transit delay for message samples in NaradaBr, JXTA & Narada-JXTA
                           Topology - II (6 routers) External Machines
       400
                                                                                                      NaradaBr
                               R              R
                                                                                                     Pure JXTA
       350                                                                                         Narada-JXTA
                       R                               R

                                                               N    NaradaBrokering broker


       300                     R              R                R    JXTA Rendezvous
                                       (a)
                           R                       R               JXTA Peer

                                                                   NaradaBrokering client

       250         R           N              N            R



                           R                       R
                                       (b)
       200                         N          N



                       N                               N


       150
                               N              N

                                        (c)


       100
          50     100       150                    200          250             300           350   400   450   500   550
                                                   Message Payload Size
6/6/2012
                                                                 (Bytes)
                                   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                       38
                 NaradaBrokering Communication
     Applications interface to NaradaBrokering through UserChannels.
     UserChannels are implemented as TransportChannels which are made up
      of Links
     UserChannels have publish/subscribe semantics
     Links implement a single conventional “data” protocol supported by a
      SOAP administrative channel
           • Easily adding new transport protocols within the Framework.
           • Negotiating the best available communication protocol
     Link implementations can incorporate their own handshaking protocols
      for setting up of the communication channel.
     Different links can have different underlying transport implementations
           • Implementations in the next release will include support for TCP,UDP,
             Multicast, SSL, HTTP, HTTPS.
           • Support communication through proxies such as iPlanet, Netscape
           • Support for communication through firewalls such as Microsoft ISA.
     NaradaBrokering brokers and Links can be instantiated dynamically
           • Support communication between two application end points across firewall &
             proxy boundaries.

6/6/2012                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   39
                                                                    User   “XML
                                                                           Database”




6/6/2012   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                40
Narada Performance Web Service
       Performance measurements are
        used by Links in
         • Reconfiguring Connectivity
           between nodes
         • Deciding underlying transport
           protocol
         • Determining possible filtering
       TransportChannel uses
        “performance heuristic” to define
        links and their protocols

        Factors measured include
           • Transit delays, bandwidth, Jitter, Receiving rates.
           • Performance measurements are
               Spaced out at increasing intervals for healthy
                 channels.
               Factors selectively measured for unhealthy
                 channels.
                   • No repeated measurements of bandwidth
                      for example.                                                Administrative Interface
               Injected into Narada network as XML events

6/6/2012                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"             41
    Control Channel (TCP)                                                                     Config
        Specifics tunnel                                                                  Specifics default
    destination, parameters.                                                             tunnel destination,
       [ SOAP port 80 ]                                                                     parameters.
                                                          Non-Firewall
                                                            Proxy

             CTL

             TCP                                                                  SSL Tunnel     UDP
                              SSL
                 SSL Tunnel                                                         Server
                              Lib
                 Client Proxy                                                       Proxy        TCP
             UDP              API



                                                             Firewall
              Fake SSL         JSSE     WinINET               Proxy
                Impl.          Impl.     Impl.

            Proxy Detection API

                                                                                                Required for MS
                         WinINET                                                                 Authentication
       Text Config                                                                                 support.
                         Detection

                                                                                                 Required for
                                                                                                Proxy location
                                                              Firewall
Narada Link Firewall Architecture                                                                 detection
6/6/2012                         uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     42
   Stream Media    Start                                                               Works
                              UDP
       Types
                                 Doesn’t Work

   Reliable Data   Start                                                               Works
                              TCP
      Stream
                                 Doesn’t Work
                                                             WinINET                   Works
                            Windows
                               ?                       Try SSL first then HTTP

  NaradaBrokering       Doesn’t Work
  Link Transport                                                                       Works
                                                           Try SSL Over                        Connection
  Firewall       Does HTTPS      Yes
                                                              HTTPS                             Complete
                  Proxy Exist
  Heuristic                                                    Proxy

                                 Doesn’t Work

                                                           Try HTTP                    Works
                           Does HTTP        Yes
                                                           Over HTTP
                           Proxy Exist
                                                             Proxy

                                 Doesn’t Work

                             “Fake
                                                                                       Works
                             ” SSL                 Try SSL Over             Try HTTP
                              Over                     Direct                 Direct
                                         Doesn’t                  Doesn’t
                             Direct
                                          Work                     Work
                                                                                       Works
6/6/2012                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                  43
           Roles of NaradaBrokering
     Originally to provide uniform software multicast to
      support real-time collaboration linked to publish-
      subscribe for asynchronous
     Until recently used JMS “instead” but have replaced by
      NB as we can control features (bugs) in implemenation
     Now has three major core functions
     Message transport (based on performance) in multi-
      link fashion
     General publish-subscribe including JMS&JXTA
     Federation of multiple instances (just starting) of Grid
      services

6/6/2012           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   44
                 Federation of Services
   If you have a service – Notification (as with Grid or JXTA
    advertisements), Search, Scheduling, Audio-Video conferencing
    ….
   With a standard which client and server components
   Then can build a “server” that services all clients
   Alternatively can hierarchically consider collection of existing
    Server-client domains
      •    IBM or Globus OGSA islands
      •    Sun Grid Engine Schedulers
                                                                                         NB
      •    Polycom/Access Grid A/V sessions
                                                                                         Hub
      •    Enterprise Search Engines

   Federation links islands together
      • JXTA Search has XML specified federation approach – will try to include
        and generalize as a NaradaBrokering federation framework
      • DoD High Level Architecture HLA does this for simulation
6/6/2012                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"         45
     Narada/JMS and Collaboration
    Collaboration involves sharing resources and synchronous
     collaboration involves coordinating a common view of a resource
     between multiple clients
    Typically one client is “in charge” and others get initial and
     updated resource from this “master”
    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
    Update events include:
       •   text you type into text chat or Instant Messenger
       •   URL defining shared browser
       •   Change in framebuffer for (most flexible) shared display
       •   Microsoft events for shared PowerPoint (file replicated between clients)
6/6/2012                   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   46
     Commercial
     Collaboration
       Systems
           Centra                                                                    Anabas




           WebEx
6/6/2012            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   PlaceWare
                                                                                          47
                    Filtering Service
    As (real-time) collaboration uses publish-subscribe, we
     can and in fact must map/filter “object renderings” or
     updates to them differently for each class of client
    In distance education, needed for example to
       • Cope with mix of Internet2 and dial-up clients (the student
         who overslept and is at home)
       • Allow PDA’s (Personal Digital Assistants) and desktops to be
         in same session
       • To allow Blind users to select the purely audio version of
         some content
    Mapping in event service enables universal access
    Note clients’ subscription to publish/subscribe service
     includes “user profile”
6/6/2012              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   48
                     Collaborative PDA
   Extendable to more general universal access
   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
   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
   Currently implemented as MyProfessor for Windows CE iPAQ
   Working on Palm OS Cell-PDA combination
   Have implemented shared display, SVG, Text chat, Instant
    Messenger (using Jabber)

6/6/2012               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   49
                             PDA Collaboration Event Filter


                                                GM S( Sub scr ib er )
                                                GM SM E

                     10000



                      1000

                                                                 Shared Display
    Message/Second




                       100


                        10        GMS =                         Pass Through
                                  JMS or
                                  Narada
                         1
                                                                                                 Lightweight
                                                                                                 Narada
                       0.1
                                                                                                 Hand Held
                                                                                                 Link
                                                                                           1M
                                   16

                                        64
                         1

                              4




                                                      1K

                                                              4K
                                                6




                                                                                      6K
                                                                          K

                                                                                K
                                              25




                                                                        16

                                                                              64

                                                                                    25




                                             Message Size (bytes)                                Protocol

6/6/2012                                     uri="http://www.naradabrokering.org" email="gcf@indiana.edu"      50
           Collaborative SVG




6/6/2012    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   51
                 Sharing Applications
      Very few applications are written as Web services
      Rather they integrate Rendering and Control
      These need to be separated for
      a) Easy Collaborative model
      b) Use on devices with limited rendering or for users requesting custom
         rendering
      Note important standards like W3C DOM do not separate



                                                      “NaradaBrokering”
                                     Trap                                                Inject
    Pre Web Service                  User                                                 User
    Shared Event                    Events                                               Events
    Collaboration
                                                             Control

              Rendering                                 IE Word etc.
6/6/2012                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"            52
            Architecture of Collaborative SVG
              Application as a WebService
              Collaborative SVG
              content server
              Rendering Engine                                                                              SVG
                                                                                                          Document
             {JMS, NB} Client



                                               Session manager


                    SVG portlet               Portlet A     Portlet B                                                                 Chosen
  Jetspeed                                                                                                   Event Service
                                                Portlet Control
                                                Portlet Controller                                        {NaradaBrokering…}
                                                                                                                                      Rendering
                                                 Turbine Screen                                                                       & Update



                                                                           HTTP request
             HTTP request

                               HTML content




                                                                                              HTML/WML
                                                                                                            Controlling Event   New/Updated Content
    Setup



                                                                                              content
                                                                                                                         Communication
                                                                                                                         Adaptor for PDAs
                            HTTP Client                                                   HTTP Client

                    {JMS, NB}                                                    HHMS
                    Client                                                       Client
                            Minimum                                                       Minimum
                            collaborative                                                 collaborative
                            environment                                                   environment
6/6/2012                                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
                                                                                PDA user                                                        53
                    Desktop user
 Select Collaborative SVG Portlet : HTML




   Select Collaborative SVG Portlet
   for Desktop environment



6/6/2012              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   54
    Collaborative content viewer for Users

Input URL of
SVG document




Browse
Ready-to-use image
from SVG content WS



Catch user’s collaborative
events from viewer



6/6/2012            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   55
                       WSDL                              Selection             (NaradaBrokering)
               R                           U                                   Event Service
           F                                   F           View
                    Application or
           I       Content source              I
               O                           O                                        Filter
                   Web Service
                                     Customized View                              Selector

                                      Control Channel                            Portal
                                                                              (Aggregator)
           Customized
           User-Facing                                 Customized View
                                                                                                   User
              Ports                                                  Control Channel              Profile

     As used in Universal Access
                                                                                         Render



6/6/2012                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                      56
            Different Models for Rendering
     Current Collaborative SVG leaves Batik SVG browser
      largely unchanged but wrapped as a Web Service
     User sees a simple (say JPEG) rendering
           • Very convenient for annotations etc.
     Alternatively take Batik source and split into two
           • Control and Render/Catch User actions
           • Build messaging interface between them and only wrap
             control                                             Minimal
               Control                          Transform                         Transform   Client

   DAT          CTL      DTX         …..               DTX             FPCL
                                                                       PPCL             DTX    MCL
                                                                                              User

                                                                      Portlet
Content
                                  Each of these is some sort of DOM
All transformations must be “invertible” whether DOM “semantic”
(Interpretable by CTL) or not (position of mouse click etc.)
6/6/2012                 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"              57

						
Related docs
Other docs by 5i32VE
enrollment forms on cacfp
Views: 0  |  Downloads: 0
Fall 2008 Baruch STEP Academy Courses - DOC
Views: 0  |  Downloads: 0
CriteriaCaixaBank 1S11results Excel ENG
Views: 3  |  Downloads: 0
AdvisorETF401k Select List
Views: 2  |  Downloads: 0
Indonesian Nurses in Kuwait
Views: 10  |  Downloads: 0
PowerPoint Presentation
Views: 0  |  Downloads: 0
Horsepower Converter
Views: 7  |  Downloads: 0
15App 11 6 2convertrawmax24
Views: 0  |  Downloads: 0
Student Nomination Fee 13103117
Views: 9  |  Downloads: 0
Lesson 36 � Gravitational Fields
Views: 5  |  Downloads: 0