Applications as Web (Grid) Services and Related Issues


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Every broker in NaradaBrokering incorporates a monitoring service (as shown in Figure 12) that monitors the state of the links originating from the broker node. Metrics computed and reported over individual links, originating from a broker node, include bandwidth , jitter , transit delays , loss rates and system throughputs . Factors are measured in a non-intrusive way so as to ensure that the measurements do not further degrade the metrics being measured in the first place. Factors such as bandwidth measurements, which can pollute other metrics being measured, are measured at lesser frequencies. Furthermore, once a link is deemed to be at the extreme ends of the performance spectrum (either very good or very bad) the measurement of certain factors are turned off while others are measured at a far lower frequency . The monitoring service then reports this data to a performance aggregator node, which aggregates information from monitoring services running at other nodes.
  • Standarad deviation between inter packet arrival times
  • Applications as Web (Grid) Services and Related Issues

    1. 1. Applications as Web (Grid) Services and Related Issues PTLIU Laboratory for Community Grids Geoffrey Fox Computer Science, Informatics, Physics Indiana University, Bloomington IN 47404 [email_address] Argonne 10 November 2003
    2. 2. Reporting work of <ul><li>Minjun Wang PowerPoint/OpenOffice as a WS </li></ul><ul><li>Xiaohong Qiu SVG as a WS </li></ul><ul><li>Bryan Carpenter SVG Javascript games </li></ul><ul><li>Sangmi Lee , Sunghoon Ko PDA and WS </li></ul><ul><li>Shrideep Pallickara NaradaBrokering messaging </li></ul><ul><li>Gurhan Gunduz Messaging performance module </li></ul><ul><li>Wenjun Wu and Ahmet Uyar Global-MMCS A/V </li></ul><ul><li>And other students not graduating in next 3 to 9 months </li></ul>
    3. 3. Client Applications and O/S I <ul><li>Consider applications like Word , Illustrator, Internet Explorer </li></ul><ul><li>These haven’t dramatically changed over the last 3 or perhaps more years </li></ul><ul><ul><li>Some complain that such products are in fact getting worse as they increase in size and complexity and correspondingly decrease in usability </li></ul></ul><ul><li>Microsoft has an obvious dominance in both O/S and associated applications </li></ul><ul><li>Sun is trying to compete directly with StarOffice/OpenOffice which are competitive with but not clearly better than Microsoft products </li></ul><ul><ul><li>To be compatible with Microsoft Office requires reproducing its bugs? </li></ul></ul><ul><li>Mozilla is very competitive with Internet Explorer but not clearly better </li></ul>
    4. 4. Client Applications and O/S II <ul><li>Asia – led by China – is aiming at escaping Windows noose by developing their own (Linux) client </li></ul><ul><ul><li>For cost and desire to develop their software industry </li></ul></ul><ul><li>Palm O/S and Java are doing rather well in PDA/Cell-phone industry </li></ul><ul><ul><li>Doesn’t seem one wants to run same applications on PDA’s and desktops </li></ul></ul><ul><ul><li>At least don’t want same user interface? </li></ul></ul><ul><li>Macintosh is doing quite well broadly as a client with a UNIX based client </li></ul><ul><li>Linux (Unix?) has rather specialized CLIENT user base </li></ul>
    5. 5. Lessons from Web Services <ul><li>Web services are an attractive way of building service side ( Middle-tier ) applications with a component model </li></ul><ul><ul><li>Expressed by using WSDL and meta-data </li></ul></ul><ul><ul><li>All remarks here valid for Grid and Web services! </li></ul></ul><ul><li>WSRP, JSR168, Portlets, Jetspeed have taught us to distinguish user-facing and service (resource) ports on Web services and build a corresponding component model for user interfaces </li></ul><ul><ul><li>Jetspeed is primitive and standards WSRP, JSR168, portlets are incomplete </li></ul></ul><ul><ul><li>But this will surely rapidly improve as relatively obvious what to do </li></ul></ul><ul><li>So Web service based applications are significantly different from classic desktop products like Word </li></ul><ul><ul><li>Light weight client which is relatively easily ported between client O/S </li></ul></ul><ul><ul><li>Very easy to make collaborative using shared input port (MIMD) or shared output port (SIMD) </li></ul></ul><ul><ul><li>Perhaps hopelessly slow due to service-client interaction (the rule of the millisecond?) </li></ul></ul>
    6. 6. Applications as Web Services? <ul><li>Build “all” classic applications in Web service style with user interface and “real application” interacting by (WSDL/SOAP) messages and NOT by O/S controlled interrupts </li></ul><ul><ul><li>This is “just” MVC ( Model View Control ) paradigm done very explicitly </li></ul></ul><ul><ul><li>Quite hard because MVC not actually used very systematically </li></ul></ul><ul><li>Perhaps the advantages of this architecture could be enough to shake the Microsoft hegemony in both O/S and “productivity” applications </li></ul><ul><ul><li>Current challenges of Microsoft applications are trying to do as well and not easy to see how they can do better </li></ul></ul><ul><li>Immediately make a lot easier to support cross O/S applications </li></ul><ul><li>Form the “ Next Generation Client Consortium ”? </li></ul><ul><ul><li>There is quite a lot of open source (but not web service based) software with which to begin </li></ul></ul>
    7. 7. Classic MVC Paradigm
    8. 8. Web Service Model for Application Development Logic of Application Semantic Events Data User Facing Ports Resource Facing Ports Events as Messages Rendering as Messages View Control Model Messaging System Interrupts in traditional monolithic applications become “real messages” not directly method calls Natural for collaboration and universal access User Interface Raw (UI) Events
    9. 9. Next Generation Client? <ul><li>Access Grid (GlobalMMCS), JXTA , Mozilla (or Firebird for browser and Thunderbird for mail), Batik SVG, OpenOffice , Better Jetspeed ….. </li></ul><ul><li>Support Linux, Windows, Palm, Java cellphone </li></ul><ul><li>Use W3C DOM and “ better portlets ” </li></ul><ul><li>What are the principles </li></ul><ul><ul><li>Split at “user interface” events (mouse clicks) or at “semantic” events (slide change) </li></ul></ul><ul><ul><li>What part of rendering on client (AWT, Java2D or …) </li></ul></ul><ul><ul><li>could be different for different clients with server-side adaptors mapping </li></ul></ul><ul><li>What general support (tools) do we need? </li></ul><ul><ul><li>Event to message mapping and serialization </li></ul></ul><ul><li>When is there a performance problem? </li></ul><ul><ul><li>How “far” can server be from client? </li></ul></ul>
    10. 10. Web Service Model for Application Development Data User Facing Ports Resource Facing Ports Another View Control Another version of Model Messaging System Events as Messages Rendering as Messages User Interface (framebuffer) Raw (UI) Events Some Semantic Events Logic of Application Other Semantic Events
    11. 11. What have we done in this Area? <ul><li>Most of this is work in progress …. </li></ul><ul><li>PowerPoint only partially as a Web Service </li></ul><ul><li>SVG as a Web Service and Collaborative SVG </li></ul><ul><ul><li>Example of W3C Document Object Model (DOM) </li></ul></ul><ul><li>PDA Interfaces and Collaboration using this architecture </li></ul><ul><li>Universal Access </li></ul><ul><li>Publish-subscribe Messaging to link clients and Web services </li></ul><ul><li>Global-MMCS : Collaboration as a Web Service </li></ul><ul><li>Looking at OpenOffice but not perfect </li></ul><ul><ul><li>Not Java and not W3C DOM compliant </li></ul></ul>
    12. 12. Handling Events (Control in MVC) <ul><li>Typically events (Mouse click or change node in DOM) are handled by setting listeners for produced events </li></ul><ul><ul><li>This is publish/subscribe intra-application </li></ul></ul><ul><li>Collaboration whether audio-video, text-chat or shared display can be handled by collaborators subscribing to change events published by master </li></ul><ul><ul><li>Publish/subscribe inter-clients </li></ul></ul><ul><li>Java takes about 0.75 millisecond to handle this on a Linux server </li></ul><ul><li>Can handle with uniform publish/subscribe environment </li></ul><ul><ul><li> </li></ul></ul>
    13. 13. Role of Portal and User Facing Ports Portal Aggregate WS-User Facing Fragments Render Other WS User Facing Ports Possible Filter Other WS User Facing Ports Application or Content source WSDL Web Service F I U O F I R O
    14. 14. Customized User-Facing Ports Universal Access With Jetspeed Web Services, MVC Model for applications Asynchronous Messaging (NaradaBrokering) Event Service User Profile Application or Content source WSDL Web Service F I U O F I R O Render Jetspeed Portal Selector Filter Control Channel Customized View Selection View Control Channel Customized View
    15. 15. Event (Message) Service Master Collaboration as a WS Set up Session with XGSP Shared Input Port (Replicated WS) Collaboration Other Participants WS Display WS Viewer WS Display WS Viewer WS Display WS Viewer Web Service F I U O F I R O Web Service F I U O F I R O Web Service F I U O F I R O
    16. 16. WS Display WS Viewer Event (Message) Service Master WS Display WS Viewer Web Service Message Interceptor Collaboration as a WS Set up Session with XGSP Shared Output Port Collaboration Other Participants Text Chat Whiteboard Multiple masters WS Display WS Viewer Application or Content source WSDL Web Service F I U O F I R O
    17. 17. Collaborative SVG Web Service <ul><li>SVG is W3C 2D Vector Graphics standard and is interesting for visualization and as a simple PowerPoint like application </li></ul><ul><ul><li>Further SVG is built on W3C DOM and one can generalize results to all W3C DOM-based applications (“all” applications in future?) </li></ul></ul><ul><li>Apache Batik SVG is Java and open source and so it is practical to modify it to explore </li></ul><ul><ul><li>Real Applications as a Web Service </li></ul></ul><ul><ul><li>Collaboration as a Web Service </li></ul></ul><ul><ul><li>MVC model and web services with implications for portlets </li></ul></ul><ul><li>We use NaradaBrokering and Global-MMCS to control collaboration; support PDA Cell-phone and desktop clients; are restructuring Batik as MVC Web Service </li></ul><ul><ul><li>Good progress in all areas see </li></ul></ul><ul><ul><li> for SVG Games </li></ul></ul><ul><ul><li> for PDA </li></ul></ul>
    18. 18. Document Object Model <ul><li>DOM (Document Object Model) defines how documents to be accessed as distributed objects – especially as a Web service </li></ul><ul><li>DOM has a particular tree-like specification of the Object structure of a document </li></ul><ul><li>It defines </li></ul><ul><ul><li>An application programming interface ( API ) for documents (e.g. HTML, XML documents) for Java, CORBA, Javascript …. </li></ul></ul><ul><ul><li>Including how to change DOM </li></ul></ul><ul><ul><li>The logical structure of documents </li></ul></ul><ul><ul><li>The way a document is accessed and manipulated </li></ul></ul><ul><li>DOM has a generic event model defining uniform interface for mouse and keyboard actions </li></ul><ul><ul><li>Also defines events signifying change in DOM </li></ul></ul><ul><li>W3C DOM builds on earlier ad-hoc DOM’s of Internet Explorer and Netscape </li></ul><ul><ul><li>Surprisingly unsuccessful so far but critical for this project as allows general approach to user interfaces </li></ul></ul>
    19. 19. Example of HTML DOM <ul><li>Here is an example of a fragment of HTML and how it can be thought of as a tree </li></ul><ul><li>This is called a “ document fragment ” in DOM (lightweight tree) </li></ul>
    20. 20. The Node Interface in CORBA IDL Constants Properties Methods
    21. 21. Collaborative SVG As A Web Service NaradaBrokering
    22. 22. Collaborative SVG Chess Game in Batik Browser Players Observers
    23. 23. Lessons from SVG Web Service <ul><li>This keeps DOM and Javascript Event Handlers on the Server; keeps the Graphics version of DOM that interfaces with Java2D on client; client captures raw user interface events inside SVG frame; client captures some semantic events (zoom, change URL) in menu-bar </li></ul><ul><li>We identified SIMD and MIMD model of collaboration </li></ul><ul><ul><li>Program is JavaScript implementing in our case chess or card game </li></ul></ul><ul><ul><li>SIMD collaboration is shared output port in Web Services model </li></ul></ul><ul><ul><li>MIMD collaboration becomes shared input port model </li></ul></ul><ul><li>Internally there are pipelines AWT/Swing  GVT  DOM  JavaScript  new DOM for user input new DOM  GVT  Java2D  Framebuffer for rendering </li></ul><ul><li>The Graphic Vector Toolkit (GVT) module represents a view of the DOM tree in terms of Java objects that is more suitable for rendering and event handling purposes. </li></ul><ul><li>Can share at different points of pipeline based on software engineering issues – where is current software easiest to split </li></ul>
    24. 24. From the Battle Lines Why not easy to convert legacy applications to WS <ul><li>Although many modern applications adopt MVC (Model-View-Control) paradigm, they may not strictly follow the principles in implementation. </li></ul><ul><li>Not faithfully following modularized design principle   the applications does not have a clear &quot; control &quot; design which plays the role as the only communication channel between &quot; model &quot; and &quot; view &quot;. </li></ul><ul><ul><li>there exits direct linkage (not through &quot;control&quot;) between Model and View in the MVC paradigm. </li></ul></ul><ul><ul><li>For example, some functional modules </li></ul></ul><ul><ul><ul><li>involve information from many stages across the pipeline rather than just provide the linkage between the two modules </li></ul></ul></ul><ul><ul><ul><li>Are instantiated in GUI/&quot;view&quot; but execute functions in the backend &quot;model&quot; through direct methods calls </li></ul></ul></ul><ul><li>Not providing &quot; Object Serialization &quot; </li></ul><ul><ul><li>Object Serialization (the process of reading and writing objects) has many uses, including remote method invocation (RMI) </li></ul></ul><ul><ul><li>In addition to the object streams, has other classes and interfaces that define the API to help classes perform serialization for its instances. </li></ul></ul><ul><ul><li>lacking of serializable feature of the modularized components makes it hard to split the application into a Web service </li></ul></ul>
    25. 25. SIMD Collaboration Identical Programs receiving identical events Token determines if browser is moving, waiting for opponent or an observer Shared Output port SIMD Collaborative Web Service Non Web Service Implementation SVG Browser SVG Browser SVG Browser SVG Browser SVG Viewer SVG Viewer SVG Viewer SVG Viewer SVG Model (DOM) NaradaBrokering NaradaBrokering
    26. 26. MIMD Collaboration NaradaBrokering Shared Input port MIMD Collaborative Web Service SVG Viewer SVG Viewer SVG Viewer SVG Viewer SVG Model SVG Model SVG Model SVG Model NaradaBrokering
    27. 27. PowerPoint as a Sort of Web Service PPT as a Web Service As in Access Grid Collaborative Client Holds meta-data (sample of high level semantic events) like slide number and title Master Client Connectable Object Sink Outgoing interface Connection Point IUnknown NaradaBrokering Message Service Event Messages User 1 1 User 2 User n Event Messages
    28. 28. Semantic Events in PPT Web Service <ul><li>One can capture slide and animation semantic events such as WindowSelectionChange WindowBeforeRightClick, WindowBeforeDoubleClick, PresentationClose, PresentationSave, PresentationOpen, NewPresentation, PresentationNewSlide, WindowActivate, WindowDeactivate, SlideShowBegin, SlideShowNextBuild, SlideShowNextSlide, SlideShowEnd, PresentationPrint, SlideSelectionChanged, ColorSchemeChanged, PresentationBeforeSave, SlideShowNextClick </li></ul><ul><li>We don’t know how to capture </li></ul><ul><ul><li>Raw UI events such as MouseOver, MouseClicked, MouseDoubleClicked, KeyDown, KeyUp, KeyStroke, etc. </li></ul></ul><ul><ul><li>Sound events such as SoundClipPlayed, SoundFilePlayed, etc. </li></ul></ul><ul><ul><li>Some animation events such as AnimationClipPlayed, MoviesPlayed, AnimationFilePlayed </li></ul></ul>
    29. 29. Integration of PDA, Cell phone and Desktop Grid Access
    30. 30. Real-time Community Collaboration <ul><li>Desktop PC, local wireless (802.11b) and the rest of the world (Sprint PCSVision as glimpse of next generation cell phones) </li></ul><ul><li>Reconcile different protocols, different display areas, different O/S and different network bandwidths </li></ul>Text Chat
    31. 31. Real-time Community Collaboration PowerPoint via “Shared Pixels”
    32. 32. Real-time Community Collaboration Scalable Vector Graphics (SVG) via “Shared Web Service”
    33. 33. Performance of PDA Client <ul><li>Treo 300 Sprint PCS Vision Java MIDP on Palm O/S </li></ul><ul><li>50 Kbit/sec bandwidth both directions </li></ul><ul><li>Developing optimized protocol (HHMP) to be built into NaradaBrokering for fault-tolerance and latency hiding (pre-start HTTP connection) </li></ul>Latency over successive iterations Publishing Event from PDA to Server Subscribing to Event from PDA
    34. 34. Application Web Services and Universal Access <ul><li>NaradaBrokering can link lightweight clients (V in MVC) to Web Services holding as a Web service the “guts of an application” (M in MVC) </li></ul><ul><ul><li>This allows customizable user interfaces gotten by mapping between client profile protocols at NB </li></ul></ul><ul><ul><li>Supports collaboration between diverse clients </li></ul></ul>Web Service Client1 Client2 M Agent1 Agent2 Profiles NB P1 P2 P Map P to P1 Map P to P2
    35. 35. NB HHMP RTP SVG Web Service A Topic set A (needs content adapting) Collaboration Personal Server Topic set C Subscribe/Publish to Topic set B,C Web Service B Topic set B (does not need content adaption) Subscribe/Publish to Topic set A,B ( Subscribe to Topic set A instead of mobile devices and adapt the content to give Topic Set C) Subscribe /Publish to Topic set A,C Subscribe/Publish to Topic set A Subscribe/Publish to Topic set B Collaboration Personal Server and EventFlow NB JMS HTTP HTTP/HHMP Interface (for current 3G phone service)
    36. 36. Web Service to Client Pipeline <ul><li>DAT (Data) stage : Data source (facing remote resources) </li></ul><ul><li>M&L (Model and Logic) stage : Semantic processing of the data </li></ul><ul><li>DTX (Data Transformer) stage : Process of filtering the object for heterogeneous devices </li></ul><ul><li>PCL (Presentation client) stage : Generating abstract presentation for each client </li></ul><ul><li>MCL (Minimal client) stage : Actual drawing onto user device </li></ul><ul><li>PDA would “just” have MCL </li></ul><ul><li>Desktop might have PDA and MCL </li></ul><ul><li>Such diagrams can be analysed formally using Petri nets </li></ul>Universal user devices real time multimedia I B M computation unit DAT M&L DTX PCL MCL Database Generating user presentation User event transmit
    37. 37. Event Processing in Web Service to Client Pipeline <ul><li>Events allow Client and service to interact </li></ul><ul><ul><li>Transformations in each module MUST be invertible </li></ul></ul><ul><li>Two directions of dataflow </li></ul><ul><ul><li>Event transmission </li></ul></ul><ul><ul><li>Presentation Generation </li></ul></ul>DAT M&L DTX PCL MCL <?xml vers <!DOCTYPE <!--local DT <svg width= <desc>This User Event Transmission SVG document with the original size of 1200 x 2000 DOM tree of SVG document Rendered Image with CSS for PDAs (resolution of 160 x 160) SVG browser for PDAs Actual Display on PDA Generating Presentation View
    38. 38. Some Simple Principles <ul><li>One must use invertible transformations so that can propagate information to AND from the client </li></ul><ul><li>Don’t ever send a position (x,y) for say a mouse click – rather send position and coordinate system specified by some transformation (as in affine transformations used in graphics) </li></ul><ul><ul><li>Or send semantic meaning of click – e.g. open URL </li></ul></ul><ul><li>Accumulate mouse-move events into arrays or cumulative events to avoid too many messages </li></ul><ul><li>Choose “ cutting point ” between M and V to support interactivity and performance </li></ul><ul><li>Jetspeed is just aggregating lots of different “Views” </li></ul><ul><li>All messages MUST go through messaging system – it must support all needed protocols such as those needed to minimize latency for cellphones </li></ul><ul><ul><li>Messaging system has routing optimization/firewalls built in </li></ul></ul>
    39. 39. NaradaBrokering Brokers ONLY process messages
    40. 40. “ GridMPI” v. NaradaBrokering <ul><li>In parallel computing , MPI and PVM provided “all the features one needed’ for inter-node messaging </li></ul><ul><li>NB aims to play same role for the Grid but the requirements and constraints are very different </li></ul><ul><ul><li>NB is not MPI ported to a Grid/Globus environment </li></ul></ul><ul><li>Typically MPI aiming at microsecond latency but for Grid , time scales are different </li></ul><ul><ul><li>100 millisecond quite normal network latency </li></ul></ul><ul><ul><li>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) </li></ul></ul><ul><ul><li><1 millisecond is time for a Java server to “think” </li></ul></ul><ul><li>Jitter in latency (transit time through broker) due to routing, processing (in NB) or packet loss recovery is important property </li></ul><ul><li>Grids need and can use software supported message functions and trade-offs between hardware and software routing different from parallel computing </li></ul>
    41. 41. NaradaBrokering <ul><li>Based on a network of cooperating broker nodes </li></ul><ul><ul><li>Cluster based architecture allows system to scale in size </li></ul></ul><ul><ul><li>Grid routing topologies are open research issue? </li></ul></ul><ul><li>Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems. </li></ul><ul><li>Perhaps better thought of as stream not message handler </li></ul><ul><li>Now has several core functions </li></ul><ul><ul><li>Reliable order-preserving “Optimized” Message transport (based on performance measurement) in heterogeneous multi-link fashion with TCP, UDP, SSL, HTTP, and will add GridFTP </li></ul></ul><ul><ul><li>General publish-subscribe including JMS & JXTA and support for RTP-based audio/video conferencing </li></ul></ul><ul><ul><li>General software routing to avoid network problem </li></ul></ul><ul><ul><li>Distributed XML event selection using XPATH metaphor </li></ul></ul><ul><ul><li>QoS, Security profiles for sent and received messages </li></ul></ul><ul><ul><li>Interface with reliable storage for persistent events </li></ul></ul>
    42. 42. Grid Messaging Substrate Consumer Service SOAP+HTTP GridFTP RTP …. Messaging Substrate Consumer Service Standard client-server style communication. Substrate mediated communication removes transport protocol dependence . SOAP+HTTP GridFTP RTP …. Any Protocols satisfying QoS Messaging Substrate has “intelligence” “any desired fault tolerance” “logging” etc. Hope to demonstrate with multicast fault tolerant GridFTP
    43. 43. Laudable Features of NaradaBrokering <ul><li>Is open source available now; major new release for SC03 </li></ul><ul><li>Will have end-point “plug-in” as well as standalone brokers </li></ul><ul><ul><li>end-point is service or user-interface machine </li></ul></ul><ul><li>Will have a discovery service to find nearest brokers </li></ul><ul><li>Does tunnel through most firewalls without requiring ports to be opened </li></ul><ul><li>Links to NWS (Network Weather Service) style performance estimation systems </li></ul><ul><li>Supports JXTA (peer-to-peer network), JMS (Java Message Service) and more powerful native mode </li></ul><ul><li>Transit time < 1 millisecond per broker </li></ul><ul><li>Will have setup and broker network administration module </li></ul>
    44. 44. NaradaBrokering Naturally Supports <ul><li>Filtering of events ( streams ) to support different end-point requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs) </li></ul><ul><li>Virtualization of addressing, routing, interfaces (OGSI versus pure Web services for example) </li></ul><ul><li>Federation and Mediation of multiple instances of Grid services as illustrated by </li></ul><ul><ul><li>Composition of Gridlets into full Grids (Gridlets are single computers in P2P case) </li></ul></ul><ul><ul><li>JXTA with peer-group forming a Gridlet </li></ul></ul><ul><li>Monitoring of messages for Service management and general autonomic functions </li></ul><ul><li>Fault tolerant data transport </li></ul><ul><li>Virtual Private Grid with fine-grain Security model </li></ul>
    45. 45. Virtualizing Communication <ul><li>Communication specified in terms of user goal and Quality of Service – not in choice of port number and protocol </li></ul><ul><li>Protocols have become overloaded e.g. MUST use UDP for A/V latency requirements but CAN’t use UDP as firewall will not support ……… </li></ul><ul><li>A given communication can involve multiple transport protocols and multiple destinations – the latter possibly determined dynamically </li></ul>Dial-up Filter Satellite UDP Firewall HTTP A B 1 Hand-Held Protocol Fast Link Software Multicast B 2 B 3 NB Broker Client Filtering NB Brokers
    46. 46. Performance Monitoring <ul><li>Every broker incorporates a Monitoring service that monitors links originating from the node. </li></ul><ul><li>Every link measures and exposes a set of metrics </li></ul><ul><ul><li>Average delays, jitters, loss rates, throughput. </li></ul></ul><ul><li>Individual links can disable measurements for individual or the entire set of metrics. </li></ul><ul><li>Measurement intervals can also be varied </li></ul><ul><li>Monitoring Service, returns measured metrics to Performance Aggregator . </li></ul>
    47. 47. Pentium-3, 1GHz, 256 MB RAM 100 Mbps LAN JRE 1.3 Linux hop-3 0 1 2 3 4 5 6 7 8 9 100 1000 Transit Delay (Milliseconds) Message Payload Size (Bytes) Mean transit delay for message samples in NaradaBrokering: Different communication hops hop-2 hop-5 hop-7
    48. 51. Architecture of Message Layer <ul><li>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 ) </li></ul><ul><li>Related to Akamai, AOL … caching and Server optimization problem </li></ul>1-> N Grid Clients Hypercube of NB Brokers (logical not physical) N≈100 clients per leaf node for A/V conferencing Scale using NB broker network
    49. 52. Global-MMCS 2.0 XGSP based MCU <ul><li>We are building an open source protocol independent Web Service “MCU” which will scale to an arbitrary number of users and provide integrated thousands of simultaneous users collaboration services. </li></ul><ul><li>We will deploy it globally and hope to test with later this year. </li></ul><ul><li>The function of A/V media server will be distributed using NaradaBrokering architecture. </li></ul><ul><ul><li>Media Servers mix and convert A/V streams and are built as Web Services </li></ul></ul><ul><li>Open Global-MMCS MCU based on the following open source projects </li></ul><ul><ul><li>openh323 is basis of H323 Gateway </li></ul></ul><ul><ul><li>NIST SIP stack is basis of SIP Gateway </li></ul></ul><ul><ul><li>NaradaBrokering is open source messaging from Indiana </li></ul></ul><ul><ul><li>Java Media Framework basis of Media Servers </li></ul></ul>
    50. 53. XGSP Web Service MCU Architecture Gateways convert to uniform XGSP Messaging High Performance (RTP) and XML/SOAP and .. Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing NB Scales as distributed Web Services NaradaBrokering SIP H323 Access Grid Native XGSP Admire Media Servers Filters Session Server XGSP-based Control NaradaBrokering All Messaging
    51. 54. Polycom, Access Grid and RealVideo views of multiple streams using A/V Web Service integrating SIP and H323
    52. 55. Performance Test : GlobalMMCS1.0 <ul><li>We conducted extensive performance tests on audio and video servers. </li></ul><ul><li>Video: </li></ul><ul><ul><li>The test shows that our video server is capable of supporting 100 - 300 clients if there is only one video sender . </li></ul></ul><ul><ul><li>Video Server Machine : 1.2GHz Intel Pentium III dual CPU, 1GB MEM, RedHat Linux 7.3 </li></ul></ul><ul><li>Audio: </li></ul><ul><ul><li>Our tests show that audio server can support 5 concurrent sessions (250 participants in total) without any packet droppings. </li></ul></ul><ul><ul><li>Audio Server Machine: 2.5GHz Pentium 4 CPU, 512MB memory, Windows XP machine </li></ul></ul><ul><li>Scale with logarithmic Broker network </li></ul>
    53. 56. 0 10 20 30 40 50 60 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Delay (Milliseconds) Packet Number Average delays per packet for 50 video-clients NaradaBrokering Avg=2.23 ms, JMF Avg=3.08 ms NaradaBrokering-RTP JMF-RTP
    54. 57. 0 1 2 3 4 5 6 7 8 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Jitter (Milliseconds) Packet Number Average jitter (std. dev) for 50 video clients. NaradaBrokering Avg=0.95 ms, JMF Avg=1.10 ms NaradaBrokering-RTP JMF-RTP