Collaborative Peer-to-peer Grids for Education and Research - PowerPoint PPT Presentation

Loading...

PPT – Collaborative Peer-to-peer Grids for Education and Research PowerPoint presentation | free to download - id: 575857-NGJhM



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Collaborative Peer-to-peer Grids for Education and Research

Description:

... VOIP this is Federation Personal View of Collaborative Systems ... Event Model supporting archiving, ... mapping to PDA or slow communication ... – PowerPoint PPT presentation

Number of Views:525
Avg rating:3.0/5.0
Slides: 84
Provided by: geoffr8
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Collaborative Peer-to-peer Grids for Education and Research


1
Collaborative Peer-to-peer Grids for Education
and Research
Purdue 15 January 2003
  • PTLIU Laboratory for Community Grids
  • Geoffrey Fox
  • Computer Science, Informatics, Physics
  • Indiana University, Bloomington IN 47404
  • (Technology Officer, Anabas Corporation, San
    Francisco)
  • http//grids.ucs.indiana.edu/ptliupages

gcf_at_indiana.edu
2
Some Basic Observations/Goals
  • Technology Support for e-learning is one
    motivation
  • Need Synchronous and Asynchronous Resource
    Sharing
  • Can provide universal access using 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.

3
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 URIs 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.

4
So what are we doing I?
  • We co-edited a book on Grid Computing to be
    published April 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
    (Suns 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 PDAs 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
  • We have started HPSearch Internet Scripting
    Language project using search as access
    mechanism to web resources

5
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
Classic Grid Architecture
Resources
Content Access
Composition
Middle TierBrokers Service Providers
Netsolve
Security
Collaboration
Computing
Middle Tier becomes Web Services
Clients
Users and Devices
7
Web Services in a Nutshell
Ports Messages to and fromother web services,
resourcesor users
  • 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

8
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

9
Peer to Peer Grid
Peers
Service FacingWeb Service Interfaces
Peers
User FacingWeb Service Interfaces
Peer to Peer Grid
A democratic organization
10
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

11
Collaboration and Web Services
  • Collaboration has
  • Mechanism to set up members (people, devices) of
    a collaborative sessions
  • Shared generic tools such as text chat, white
    boards, audio-video conferencing
  • 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

12
Web Service Architecturefor Audio Video
Conferencing
13
XGSP Introduction
Registration Method Session Command Method Query Method
Registration Method Session Channel Binding Method Query 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

14
XGSP Example
  • ltSessionDesgt
  • ltSessionNamegt PervasiveTech Seminar
    lt/SessionNamegt
  • ltSessionIDgt 1234567 lt/SessionIDgt
  • ltSessionCreatorgt Ahmet_at_indiana.edu
    lt/SessionCreatorgt
  • ltSessionInfogt this is a meeting on the XGSP
    lt/SessionInfogt
  • ltSessionPlacegt Lobby Room lt/SessionPlacegt
  • ltSessionTimegt
  • ltStartTimegt (EastTime) 1000AM lt/StartTimegt
  • ltEndTimegt (EastTime) 1200AM lt/EndTimegt
  • lt/SessionTimegt
  • ltSessionURIgt http//grids.ucs.indiana.edu/ag
    lt/SessionURIgt
  • ltSessionParticipantsgt
  • ltParticipantgt Wenjun_at_156.56.103.129
    lt/Participantgt
  • ltParticipantgt Hasan_at_156.56.103.27
    lt/Participantgt
  • ltParticipantgt Shrideeper_at_156.56.103.111
    lt/Participantgt
  • lt/SessionParticipantsgt
  • ltContactInfogt wewu_at_indiana.edu lt/ContactInfogt
  • lt/SessionDesgt

15
Linking Clientsand Servers
Current ImplementationPolycom (H323) Access Grid
Admire (Chinese system Similar to AG)and HearMe
SIP VOIPIntegration
Future ProjectLink Proprietary MCUs Illustrated
for SIP (HearMe)and Access Grid Current linkage
for Clients not servers
16
Current Status
  • XGSP Specification stable
  • Demo prototype of Polycom (H323), Access Grid,
    Admire, HearMe clients
  • H323 Gateway based on openh323

JMF (Java Media Framework) used for Media
Server XGSP used Internally between audio, video
and session control services Codec negotiation
supported (No XGSP clients yet) Narada UDP
Communication has been successfully tested
XGSP MCU (Control) User Interface
17
H323 Client (Polycom) in XGSP Session
18
Comparison with other approaches
19
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?
  • Integrate video codec shared display system with
    classic bimap shared display with dynamic choice
  • 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

20
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)

21
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

22
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)

23
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

24
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

25
Commercial CollaborationSystems
Centra
Anabas
WebEx
Placeware
26
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 URLs
  • IEEE (Computing Community) set up P1484 Learning
    Technology Standards Committee LTSC

27
LMS Model used by ADL
28
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

29
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)

30
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

31
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

32
Web Services as a Portlet
  • Each Web Service naturally has a user interface
    specified as just another port
  • Customizable for universal access
  • This gives each Web Service a Portlet view
    specified (in XML as always) by WSRP (Web
    services for Remote Portals)
  • So component model for resources automatically
    gives a component model for user interfaces
  • When you build your application, you define
    portletat same time

WSRP isWeb Services for Remote Portals1st
Meeting OASIS March 18 2002
33
Integration of Portlets
  • Portals integrate Portlets into a complete user
    interface
  • Apache Jetspeed seems good open source technology
    supporting this model

Application as a WSGeneral Application
PortsInterface with other WebServices
PortalUser ProfileAggregateUI Fragments
Integrate Multiple Portlets User
Customizationat either Portal or if complicated
at WS
User Face ofWeb ServiceWSRP Ports define WS as
a Portlet
34
Online Knowledge Center built from Portlets
A set of UIComponents
  • Web Services provide a component model 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

35
Jetspeed Computing Portal Choose Portlets
36
(No Transcript)
37
Collaboration Shared Display
  • Sharing can be done at any point on object or
    Web Service pipeline

SharedDisplay
Shared Web Service
Shared Export
Shared Event
Master
Event(Message)Service
Shared Display shares framebuffer with
eventscorresponding to changedpixels in master
client.
Object Display
As long as pipeline uses messages, easy tomake
collaborativeWindows framebuffers and in fact
most applications do NOT expose a message based
update interface
Object Display
38
Shared Input Port (Replicated WS) Collaboration
Collaboration as a WSSet up Session with XGSP
Master
Event(Message)Service
OtherParticipants
39
Shared Output Port Collaboration
Collaboration as a WSSet up Session with XGSP
Web Service Message Interceptor
Master
WS Display
WS Viewer
Text Chat Whiteboard Multiple masters
Event(Message)Service
OtherParticipants
WSDisplay
WS Viewer
40
NaradaBrokering
  • Based on a network of cooperating broker nodes
  • Cluster based architecture allows system to scale
    to arbitrary size
  • Originally designed to provide uniform software
    multicast to support real-time collaboration
    linked to publish-subscribe for asynchronous
    systems.
  • Now has four major core functions
  • Message transport (based on performance
    measurement) in heterogeneous multi-link fashion
  • General publish-subscribe including JMS JXTA
    and support for RTP-based audio/video
    conferencing
  • Filtering for heterogeneous clients
  • Federation of multiple instances of Grid services

41
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

42
Engineering Issues Addressedby Event / Messaging
Service
  • Application level Quality of Service e.g.
    give audio highest priority
  • Tunnel through firewalls proxies
  • Filter messages to slow (collaborative/real-time)
    clients
  • Choose Hardware or Software multicast
  • Scaling of software multicast
  • Efficient calculation of destinations and
    routes.
  • Integrate synchronous and asynchronous
    collaboration with same messaging, control,
    archiving for all functions
  • Supports local broker accesses
  • Transparently replace single server JMS systems
    with a distributed solution.
  • Provides reliable inter-peer group messaging for
    JXTA

43
NaradaBrokering implements an Event Service
  • 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

44
Features of Event Service
  • 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 (via
    other brokers) to subscriber S.
  • Synchronous systems B acts as a real-time
    router/filterer
  • Messages can be archived and software multicast
  • Asynchronous systems B acts as a database
    workflow engine
  • Subscription is in each case, roughly equivalent
    to a database query
  • Company X sets up a firewall
  • The event service sets up brokers either side of
    firewall to optimize transport through the
    firewall.

45
Narada Broker Network
(P2P) Community
For message/events service
Broker
Broker
(P2P) Community
Resource
Broker
Hypercube topology for brokers? Tree for distance
education with teacher at root
Broker
Broker
(P2P) Community
Software multicast
Broker
(P2P) Community
46
Performance in Message-based Architecture I
B2
  • Useful analogies with transportation grids and
    parallel computing
  • In traveling from cities A to B (say 3 separate
    passengers), one chooses between and changes
    transport mechanism at waystations to optimize
    cost, time, comfort, scenic beauty
  • Waystations are now NB brokers where one chooses
    transport protocol
  • Able to choose between car, type of car, plane,
    train etc
  • Able to dynamically create waystations to cope
    with problems and acts as hubs for multicast
    messages
  • Knows about traffic jams and can assign the HOV
    lane

B3
47
Performance in Message-based Architecture II
  • Application level QoS can optimize among
    managed streams (audio versus video) using
    performance subsystem
  • This is just a variant of the NP complete load
    balancing problem of parallel computing where all
    reasonable heuristics worked
  • Load-balance in Space-time (strings) not just
    Space (particles)
  • Performance needs to measured carefully as
    includes QoS
  • I delayed shared application update to ensure
    audio quality and filtered image to lower
    resolution
  • So application has changed to satisfy
    performance constraints

48
NaradaBrokering Communication
  • Applications interface to NaradaBrokering through
    UserChannels which NB constructs as a set of
    links between NB Broker waystations which may
    need to be dynamically instantiated
  • UserChannels have publish/subscribe semantics
    with XML topics
  • Links implement a single conventional data
    protocol.
  • Interface to add new transport protocols within
    the Framework
  • Administrative channel negotiates the best
    available communication protocol for each link
  • Different links can have different underlying
    transport implementations
  • Implementations in the current release include
    support for TCP,UDP, Multicast, SSL and RTP.
    HTTP, HTTPS support will be available in Feb 2003
    release.
  • Supports communication through proxies such as
    iPlanet, Netscape and Apache.
  • Supports communication through firewalls such as
    Microsoft ISA, Checkpoint.

49
Note on Optimization
  • Note in parallel computing, couldnt do much
    dynamic optimization as aiming at microsecond
    latency
  • Natural to use hardware routing
  • In Grid, time scales are different
  • 100 millisecond quite normal network latency
  • 30 millisecond typical packet time sensitivity
    (this is one audio or video frame) but even here
    can buffer 10-100 frames on client (conferencing
    to streaming)
  • 1 millisecond is time for a Java server to
    think
  • Jitter in latency (transit time) due to routing,
    processing (in NB) or packet loss recovery is
    important property
  • Grid needs and can tolerate significant dynamic
    optimization

50
Sender/receiver/broker - (Pentium-3, 1 GHz, 256
MB RAM). 100 Mbps LAN. JDK-1.3, Red Hat Linux 7.3
51
Sender/receiver/broker - (Pentium-3, 1 GHz, 256
MB RAM). 100 Mbps LAN. JDK-1.3, Red Hat Linux 7.3
52
(No Transcript)
53
(No Transcript)
54
(No Transcript)
55
H.263 video file Average bit-rate of 600Kbps.
Frame-rate of 30 frames/sec
Jitter J J (D(i-1, i) - J)/16
56
(No Transcript)
57
(No Transcript)
58
(No Transcript)
59
(No Transcript)
60
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)

61
NaradaBrokering and JMS (Java Message Service)
(commercial JMS)
62
NaradaBrokering and JXTA
Narada-JXTA provides JXTA guaranteed long
distance delivery
63
(No Transcript)
64
(No Transcript)
65
(No Transcript)
66
Narada Performance Web Service
  • Performance measurements are used by Links in
  • Reconfiguring Connectivity between nodes
  • Deciding underlying transport protocol
  • Determining possible filtering
  • Each node determines performance of links of
    which it is endpoint
  • Individual node web services are aggregated as
    another Web Service

Probably should replace by a more sophisticated
measurement package
  • 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.
  • Injected into Narada network as XML events

Administrative Interface
67
Firewall
Control Channel (TCP) Specifics tunnel
destination, parameters. SOAP port 80
Config Specifics default tunnel destination,
parameters.
Non-Firewall Proxy
CTL
SSL Tunnel Server Proxy
UDP
SSL Tunnel Client Proxy
TCP
SSL Lib API
TCP
UDP
Firewall Proxy
JSSE Impl.
WinINET Impl.
Fake SSL Impl.
Proxy Detection API
Required for MS Authentication support.
WinINET Detection
Text Config
Required for Proxy location detection
Narada Link Firewall Architecture
68
UDP
Works
Start
Connection Complete
Stream Media Types
Doesnt Work
TCP
Works
Start
Reliable Data Stream
Doesnt Work
Windows ?
Works
WinINET Try SSL first then HTTP
Doesnt Work
NaradaBrokeringLink Transport FirewallHeuristic
Try SSL Over HTTPS Proxy
Does HTTPS Proxy Exist
Works
Yes
Doesnt Work
Try HTTP Over HTTP Proxy
Does HTTP Proxy Exist
Works
Yes
Doesnt Work
Try SSL Over Direct
Try HTTP Direct
Fake SSL Over Direct
Works
Doesnt Work
Doesnt Work
Works
69
Architecture of Message Layer
  • Need to optimize not only routing of particular
    messages but classic publish/subscribe problem of
    integrating different requests with related
    topics (subscribe to sports/basketball/lakers and
    sports)
  • Related to Akamai, AOL caching and Server
    optimization problem

Hypercube ofNB Brokers (logical not physical)
N100 for Distance Education Scale to billions of
grid nodes?
1-gt N Grid Nodes
70
NaradaBrokering as an XML database
  • NB is inevitably a distributed XML database
    supporting real-time update and access (JMS uses
    SQL like syntax)
  • Performance data
  • Event Logging
  • Published properties of publish/subscribe
    messages
  • Publish as XML topic subscribe using XQuery?
  • We use NB as a simple XML database for News
    groups and other XML nuggets see
    http//www.xmlnuggets.org
  • XML InstanceMessage what is difference between
    a message and a database record except
    performance but Moores law is rewriting rules
    here
  • Subscribe a real database (Oracle) to all topics
    for reliable storage

71
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
  • Polycom/Access Grid A/V sessions
  • 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

72
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 PDAs (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

73
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)

74
PDA Collaboration Event Filter
GMS JMS orNarada
LightweightNaradaHand HeldLink Protocol
75
Collaborative SVG
76
MyProfessor on the PDA
77
Sharing Applications
  • Very few applications are written as Web services
  • Rather they integrate Rendering and Control
  • These need to be separated for
  • Easy Collaborative model
  • Use on devices with limited rendering or for
    users requesting custom rendering
  • Note important standards like W3C DOM do not
    separate

non-Master IE Word etc.
Master IE Word etc.
78
Architecture of Collaborative SVG Application as
a WebService
Collaborative SVG content server
SVG Document
Controlling Event
Session manager
New/Updated Content
ChosenRendering Update
SVG portlet
Event Service NaradaBrokering
Portlet A
Portlet B
Portlet Control
Jetspeed
Portlet Controller
Turbine Screen
Controlling Event
New/Updated Content
Setup
HTML/WML content
HTTP request
HTML content
HTTP request
Communication Adaptor for PDAs
Controlling Event
HHMS
New/Updated Content
HTTP Client
HTTP Client
HHMS
JMS, NB Client
HHMS Client
Minimum collaborative environment
Minimum collaborative environment
PDA user
Desktop user
79
Select Collaborative SVG Portlet HTML
Select Collaborative SVG Portlet for Desktop
environment
80
Collaborative content viewer for Users
Input URL of SVG document
Browse Ready-to-use image from SVG content WS
Catch users collaborative events from viewer
81
CustomizedUser-FacingPorts
(NaradaBrokering)Event Service
As used in Universal Access
82
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 Render (view)
Model Control
Image View
Web Service
Web Service
Convert View
83
Invertible User View Transformations
MinimalClient
Control
Transform
Transform
..
..
..
FPCL
DTX
CTL
DTX
FPCL
DTX
CTL
DTX
PPCL
DTX
CTL
DTX
DAT
User
DTX
Portlet
Defining data And model
Each of these is some sort of DOM
Content WebService
  • 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.)
About PowerShow.com