Collaboration and Web Services @ Community Grids Laboratory

Document Sample
scope of work template
							 Collaboration and Web Services
 @ Community Grids Laboratory
                     Beijing October 27-31 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/16/2010                 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/16/2010                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/16/2010               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   3
               So what are we doing I?
   We co-edited a book on Grid Computing to be published
    February 2003
      • http://www.grid2002.org
   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/16/2010              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   4
              So what are we doing II?
     We have some “Architecture of Computing Portals” including concept of
      Grid Shell
     We are building a “Application Web service 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
       • This gives Computing Portals for various applications
     We are building Jetspeed portlets of various types – including
      collaborative
     We have thought about integration of XML with more traditional
      information resources and designed some XML news group technology
      which uses news group interface to support management and browsing of
      multiple XML information nuggets (instances) of general Schema
       • Supported by JMS/NaradaBorokering
       • Wizard generates interfaces to define nuggets
       • JSP wizard layout and browsing specification defined by annotating
          Schema
     We continue work on HPJava (parallel computing in Java)
6/16/2010             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/16/2010         Clients                                           Users and Devices
                            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 6
                Web Services in a Nutshell
                          WSDL
                                                                Ports: Messages to and from
                       Application or
                                                                other web services, resources
                      Content source
                                                                or users
                       Web Service

   Web Services codify a clear process for deploying distributed software
    components representing
      •     Data and Information Sources (Sensors, Databases)
      •     Computers
      •     Application Software
      •     Learning Services like “Submit Homework”, “Grade”
      •     System services (OGSA Open Grid Service Architecture)
   Distributed Message Passing Model
   We should be in some process of dividing applications (including e-learning)
    into components and giving them an XML “skin” defining input and output
    ports (data, remote procedure calls)
      • WSDL Web Service Definition Language
6/16/2010                    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   7
 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/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   8
                                                      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/16/2010                                                       Peer to Peer Grid
              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"      9
            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/16/2010           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   10
          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/16/2010               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   11
              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/16/2010                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     12
                           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/16/2010                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"             13
                       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/16/2010              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   14
                                             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/16/2010                                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"               15
                       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/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   16
  H323 Client (Polycom) in XGSP Session




6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   17
                                                       Comparison with
6/16/2010                                              other approaches
            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   18
    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/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   19
        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/Anabas) 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/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   20
            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/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   21
                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/16/2010           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   22
            What is meant to Happen
   One uses IMS/ADL to define all needed properties in XML
      • Such as Title of page; Address of student etc.
      • Ignore those sensitive to architecture;
      • add some XML specifications such as those to define collaborative sessions
   One needs “automation”/”support tools” for process of generating
    meta-data
      • Such as prerequisites for courses; Author of web page etc.
   One uses conventional authoring tools to build curricula
      • Uses portal technology to integrate user-interfaces to multiple Web Services
      • Unfortunately open approach not used in current
   Hopefully industry will build needed tools as Web services and
    interoperability will allow picking and choosing between vendors
    rather than use of monolithic systems
      • LMS or Learning Management Systems
      • LCMS or Learning Content Management Systems (Use non education
        specific system)
      • Authoring/Portals (I think it is best NOT to use education specific tools)
      • Collaborative Environments (shared applications)
      • Audio-Video Conferencing
6/16/2010                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   23
          Current Status in a Nutshell
    Systems such as Centra, WebEx, Garnet and Placeware offer
     similar functionality to our old system Tango for synchronous
     collaboration
      • Shared applications, chatroom, whiteboard, A/V conferencing
 Blackboard, WebCT, Lotus offer learning management systems

      • Not very consistent with modern architectures but can be used
          effectively today
 Access Grid (community e.g. classroom) and Polycom (etc.) are

     excellent audio-video systems
 I develop research system Garnet for education portals

      • Features hand-held and desktop clients, integrated
          collaboration and some “technical advances” – major use of
          XML and publish/subscribe systems
      • Audio-Video Conferencing as a Web Service
      • Improving network robustness including firewall tolerance 24
6/16/2010                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
     Commercial
     Collaboration
       Systems
            Centra                                                                    Anabas




            WebEx
6/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   Placeware
                                                                                           25
                 Learning Objects
   Given changing technology, need standards to protect investment
    in authoring and administrative data generated and stored in
    databases
   Education community has unusually good set of community
    standards
   Educational Environment Educause set up IMS –
    http://www.imsproject.org Instructional Management System
    with selection of companies and universities
     • IMS focus was changed to drop implementation work and is
       now “Global Learning Consortium” Inc.
   Department of Defense (which has huge training needs) set up
    ADL Advanced Distributed Learning Initiative
     • www.adlnet.org whose links section includes all other useful
       URL’s
   IEEE (Computing Community) set up P1484 Learning
    Technology Standards Committee LTSC
6/16/2010           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   26
            LMS Model used by ADL
                                                               Learning
    “Learning   Content        External systems:
                             HR, E-Commerce, ERP...             Server
   Management   Server(s)                                                               Course
     System”                                                                            Interchange:
       LMS                                                                              Course
                                                                                        Structure
                                                                                        Format (CSF),
                                                                Migration               Metadata
                                                                Adapter
                                                                            Services or Adapter
                                  Learning Server                                                 Critical
   Server                                                                                         Interchange
                                        Adapter
                                                          Server Side
                                                                                                  Capability
                                                          Client Side                    Runtime
                                                                                         Environment:
   Client                                    Browser                                     Launch, API,
                                                                                         Data Model


                          API                                                           Antiquated
                        Adapter             Application   HTML+                         Architecture


6/16/2010               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                        27
      Properties of Learning Objects
    Metadata from IEEE and IMS
      • Roughly Properties of educational objects thought of as “documents”
        (author, title …)
    Course Packaging, Digital Repositories from SCORM and IMS
      • How to form bigger units of instruction from smaller units
      • Called Content Packaging by IMS and Course Structure Format (CSF) by
        SCORM which goes in greater depth than IMS
   Tests and Quizzes from IMS
   Specialized CSF descriptors from SCORM (via CMI)
     • Such as objectives, prerequisites, completion requirements
   LMS Runtime API from SCORM – I am doubtful about value
   Enterprise Properties from IMS
     • Link to people and organization databases (training, human
       resource, library, student administration)
   Learner Information Package from IMS
      • Name/Address, Goals, Skills, Grades etc.
   “Competencies” from IMS
   “Accessibility” (universal access guidelines) from IMS
6/16/2010               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   28
  Learning Management Systems
     Most education and training stresses asynchronous or web
      support for conventional delivery
      WebCT Blackboard Lotus(IBM) and others offer LMS
      systems with limited synchronous capability
       • Support typical educational needs like grading, quizzes,
         homework, glossaries, group email
       • Varying database backend and
       • Varying authoring support
      Popular with colleges as supports not so expert faculty
      DoD use less clear as need for homework and other tools less
      critical than for University classes
      No built in support for areas like “programming labs” (VPL
      from NPAC did this)

6/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   29
            Hierarchical Delivery Model
     One could teach to 1000 different students – each at a
      separate workstation but …
     No real opportunity for questions so better to use
      broadcast technology – not conferencing
     Further could better deliver to 40 classrooms – each
      with an average of 25 students
     Each classroom has central high quality A/V
      conferencing, displays and
        • A Mentor monitoring and helping students
        • Each student could have wireless laptop or PDA
     So synchronous systems must support simultaneously
      disparate clients – high end display to PC to PDA
6/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   30
               Authoring of Curriculum
   Possible Market pressures push to high end authoring
   Authoring approaches for the Web can include
     • Basic HTML
     • Macromedia/Adobe/etc. packages like Fireworks,
       Dreamweaver, Illustrator
     • PowerPoint and Word exported
   Also can include RealNetworks or Microsoft or .. format
    Multimedia
     • Note Streaming multimedia formats have larger buffers than
       A/V conferencing formats
   Certainly use XML to specify content and render this into
    attractive portal
   SVG and SMIL are important 2D vector graphics and multimedia
    standards
      • HTML does not give reproducible pages
      • Flash can be thought of as “proprietary SVG”
6/16/2010               uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   31
             Web Services as a Portlet
   Each Web Service naturally has                              Application as a WS
    a user interface specified as “just                         General Application Ports
    another port”                                               Interface with other Web
                                                                Services
      • Customizable for universal access
                                                                                 WSDL
   This gives each Web Service a                                                           W
                                                                           Application or       S
    Portlet view specified (in XML                                        Content source        R
    as always) by WSRP (Web                                                                 P
                                                                           Web Service
    services for Remote Portals)
   So component model for                                                      User Face of
    resources “automatically” gives                                             Web Service
                                                                                WSRP Ports define
    a component model for user                                                  WS as a Portlet
    interfaces
                                                         WSRP is
      • When you build your                              Web Services for Remote Portals
        application, you define portlet                  1st Meeting OASIS March 18 2002
        at same time
6/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                  32
                Integration of Portlets
      Portals integrate Portlets into a complete user interface
      Apache Jetspeed seems good open source technology
       supporting this model
      Application as a WS
      General Application Ports
      Interface with other Web
      Services

                WSDL                                                             Client
                                   W                          Portal
             Application or            S                                         Render
                                                            User Profile
            Content source             R                    Aggregate
                                   P                       UI Fragments
            Web Service

                                              Integrate Multiple Portlets
                User Face of
                                              User Customization
                Web Service
                                              at either Portal or if
                WSRP Ports define
                                              complicated at WS
6/16/2010                Portlet
                WS as a uri="http://www.naradabrokering.org" email="gcf@indiana.edu"      33
  Online Knowledge Center built from Portlets
                                                                                    A set of UI
    Web Services provide a component model                                         Components
                                                                                 for the
     middleware (see large “common component
     architecture” effort in Dept. of Energy)
    Should match each WSDL component with a
     corresponding user interface component
    Thus one “must use” a component model for the portal
     with again an XML specification (portalML) of portal
     component




6/16/2010         uri="http://www.naradabrokering.org" email="gcf@indiana.edu"               34
  Jetspeed Computing Portal: Choose Portlets




                                                           4 available portlets
                                                           linking to Web Services
                                                           I choose two




6/16/2010    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"       35
            Choose Portlet Layout



                      Choose 1-column Layout




                      Original 2-column Layout
6/16/2010      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   36
                                                      Two Computing
                                                         Portlets




6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   37
                                                               HTML


                                                          Turbine Servlet
                                                            JSP template
                                                                     ECS Root to HTML

  PSML                                                    Screen Manager
                                                                            ECS

                   PortletController                                               PortletController

                                 ECS                                                 ECS          ECS

PortletControl




                           ECS                     ECS                      ECS                  ECS            ECS




 Portlets        Portlet                       Portlet                   Portlet             Portlet        Portlet


             XML                            HTML                       JSP or VM            WebPage       Portlets
 Data                                       Local files                Local templates      Remote HTML   User implemented
             RSS, OCS, or other
                                                                                                          using Portal API
             Local or remote
 6/16/2010                             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     38
            XML Nugget Technology
   One can expect lots of small bundles of XML data such as
     • XML representation of each entry in a digital library
     • Metadata for course pages or homework or …
     • XML defining Web Services
     • XML defining news items
   One needs technology to handle this
     • RSS defines News Items
     • We developed XML News groups
   We designed a Schema wizard that automatically generates an
    input page to allow one to specify Schema instances
   We developed a “nugget browser” with a news group like
    view of repositories of multiple instances of a particular
    Schema
   Integrate with XML database plus “Google” (to search links
    from XML)
6/16/2010          uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   39
                                          Schema wizard generates JSP that
                                          delivers the form
                                          That enables one to create instance of
                                          Schema




6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"           40
            Schema Wizard Architecture
                                                      Velocity
                                                       Velocity
                                                     Templates
                                                      Templates
                                                         Velocity
                                                        Templates




                  Castor SOM
                                                                                   Velocity
                 Schema Object Model
                                                                                     Velocity
                                                                                  Templates
                                                                                         JSP
                                                                                    Templates
                                                         Schema                          and
                                                        Processor                      HTML
                                                                                        forms
        XML
       Schema




                       Castor                      Javabeans
                   SourceGenerator                   Javabeans
                                                       Javabeans




6/16/2010          uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 41
6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   42
6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   43
        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/16/2010                 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"              44
   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/16/2010       uri="http://www.naradabrokering.org" email="gcf@indiana.edu"              45
    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/16/2010                      uri="http://www.naradabrokering.org" email="gcf@indiana.edu"               46
    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/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   47
 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/16/2010                   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 48
            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/16/2010          uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   49
            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/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   50
            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/16/2010           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   51
            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/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   52
             Single Server P2P Illusion


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




6/16/2010            uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   53
            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/16/2010              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                 54
  NaradaBrokering and JMS (Java Message Service)


            Low Rate; Small Messages                                       (commercial JMS)




6/16/2010         uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                55
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/16/2010                 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     56
                 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/16/2010
                                                              (Bytes)
                                uri="http://www.naradabrokering.org" email="gcf@indiana.edu"             57
             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/16/2010
                                                            (Bytes)
                              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                        58
            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/16/2010
                                                                  (Bytes)
                                    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                       59
              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/16/2010                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   60
                                                                     User   “XML
                                                                            Database”




6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                61
     Network Protocol Architecture
                Application                                                  e.g. Audio
                (user level)                                                 Specified as
                                                                             Low Bandwith
                                            QoS, Priority                    Low Latency
                                            Specification                    High Reliability
              NaradaBrokering

Performance                                 Chosen                        e.g. QoS Request
Information                                 Implementation                Satisfied as UDP on
                Traditional                                               Long haul with
                Transport                                                 Optimized TCP/IP
                 Protocols                                                through firewall

                 Physical
                  Level                          Process priority within application
                                                 So Audio would be set to high
                                                 Priority so no interference with
                                                 Video and shared application in
                                                 for example collaboration session
6/16/2010         uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                  62
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/16/2010                    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"             63
    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/16/2010                        uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                     64
   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/16/2010                     uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                  65
            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/16/2010          uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   66
                  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/16/2010                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"         67
     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/16/2010                   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   68
                    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/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   69
                     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/16/2010              uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   70
                             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/16/2010                                    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"      71
            Collaborative SVG




6/16/2010    uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   72
                                                           MyProfessor
                                                           on the PDA




6/16/2010   uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   73
                 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


              Rendering
                                       Master                                   non-Master
6/16/2010                         IE Word etc.                                 IE Word etc.
                          uri="http://www.naradabrokering.org" email="gcf@indiana.edu"        74
            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/16/2010                                     uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
                                                                                PDA user                                                        75
                    Desktop user
 Select Collaborative SVG Portlet : HTML




   Select Collaborative SVG Portlet
   for Desktop environment



6/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   76
   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/16/2010           uri="http://www.naradabrokering.org" email="gcf@indiana.edu"   77
                        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/16/2010                  uri="http://www.naradabrokering.org" email="gcf@indiana.edu"                      78
            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 (Model and Control in MVC) and Render/Catch
          User actions (View in MVC)
        • Build messaging interface between Model/Control and View
          and only wrap Model/Control section

           Native                                                                    Native
   Model                          Image                       Model
           Render                                                                    Render
   Control                         View                       Control
           (view)                                                                    (view)
   Web Service                                                 Web
                                                              Service
               Convert View
6/16/2010             uri="http://www.naradabrokering.org" email="gcf@indiana.edu"            79
     Invertible User View Transformations
                                                                              Minimal
           Control                      Transform                Transform    Client

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

                                                       Portlet
Defining data
And model                      Each of these is some sort of DOM
    Content Web
      Service
    DAT defines data/model of a Content Web Service
 CTL defines control of a Content Web Service

 DTX is a typical transformation e.g. XSLT action

 MCL is client interface – simplest is just an image with mouse
     click positions recognized
 Universal Access or Collaboration requires that Control (CTL) be
     properly supported by MCL – this requires that all transformations
     must be “invertible” whether DOM “semantic” (Interpretable directly
     by CTL) or not (position of mouse click etc.)
6/16/2010              uri="http://www.naradabrokering.org" email="gcf@indiana.edu" 80

						
Related docs