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.
The integration is based on the proxy model, which essentially acts as the bridge between the NaradaBrokering system and JXTA. The Narada-JXTA proxy, operating inside the JXTA rendezvous layer, serves in a dual role as both a rendezvous peer and as a NaradaBrokering client providing a bridge between NaradaBrokering and JXTA. NaradaBrokering could be viewed as a service by JXTA. We make no changes to the JXTA core and the associated protocols. We make additions to the rendezvous layer for integration purposes. Second, this integration should entail neither any changes to the peers nor a restriction of the interactions that these peers could have had prior to the integration. Peers do not know that the broker network is routing some of their interactions. Furthermore, these Narada-JXTA proxies, since they are configured as clients within the NaradaBrokering system, inherit all the guarantees that are provided to NaradaBrokering clients.
The figure above depicts the sequence of operations involved in securing messaging within NB. When an entity requests permission to publish, the KMC responds back with a topic key if the entity is authorized to publish to the topic. The entity then proceeds to encrypt the message with the topic key, compute a message digest and sign the message digest with its personal private-key. Individual Brokers upon receipt of the secure message can verify the entity signatures and permissions. If it is not authorized to publish or if the message integrity is compromised (revealed by the message digest) the message is discarded. When an entity requests permission to subscribe to a topic, the KMC returns it the topic keys if the entity is authorized to subscribe. Since the subscription needs to be propagated within the system, the entity propagates its subscription request by signing the request with its personal public-key. Upon receipt of a secure message, the subscriber verifies the signature and integrity of the message. It then proceeds to decrypt the secure message with the KMC supplied secret topic-key.
Standarad deviation between inter packet arrival times
NaradaBrokering and GlobalMMCS 22 July 2004 Grid Summer School Geoffrey Fox Community Grids Lab Indiana University [email_address]
Grid Messaging reliably in spirit of WS-ReliableMessaging
Virtualize inter-service communication
Federate different Grids Together
Scalable pervasive audio-video conferencing – “Video over IP”
General collaborative Applications and Web services including e-learning, e-Sports and Internet multiplayer gaming
Build next generation clients interacting with messages not method-based user interrupts
Unify peer-to-peer networks and Grids
Handle streams as in “media or sensor Grids”
Handle events as in WS-Notification
NaradaBrokering Web Service B Stream Server-enhanced Messaging NB supports messages and streams NB role for Grid is Similar to MPI role for MPP Queues Minicomputer Firewall Computer Server PDA Modem Laptop computer Workstation Peers Peers Audio/Video Conferencing Client Audio/Video Conferencing Client NaradaBrokering Broker Network
Filtering of events to support different client requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs)
Virtualization of addressing, routing, interfaces
Federation and Mediation of multiple instances of Grid services as illustrated by
Composition of Gridlets into full Grids (Gridlets are single computers in P2P case)
JXTA with peer-group forming a Gridlet
Monitoring of messages for Service management and general autonomic functions
Fault tolerant data transport
Virtual Private Grid with fine-grain Security model
Current NaradaBrokering Features Prototype implementation of WS-ReliableMessaging Web Service reliability NaradaBrokering enhanced Grid-FTP . Bridge to the Globus TK3 . Grid Application Support Java Message Service ( JMS ) 1.0.2b compliant Support for routing P2P JXTA interactions. Messaging Related Compliance Compression and Decompression of payloads Fragmentation a nd Coalescing of payloads Message Payload options Message-level WS-Security compatible security Security Recovery from failures and disconnects. Replay of events/messages at any time. Recovery and Replay Producer Order and Total Order over a message type Time Ordered delivery using Grid-wide NTP based absolute time Ordered delivery Robust and exactly-once delivery of messages in presence of failures Reliable delivery Subscription can be Strings, Integers, XPath queries, Regular Expressions , SQL and tag=value pairs. Subscription Formats Transport protocols supported include TCP, Parallel TCP streams, UDP, Multicast, SSL, HTTP and HTTPS. Communications through authenticating proxies/firewalls & NATs. Network QoS based Routing Multiple transport support In publish-subscribe Paradigm with different Protocols on each link
NaradaBrokering Service Integration Proxy Messaging Handler Messaging Notification Internal to Service: SOAP Handlers/Extensions/Plug-ins Java (JAX-RPC) .NET Indigo and special cases: PDA's gSOAP, Axis C++ S1 S2 P2 P1 S1 S2 S1 S2 S? Service P? Proxy NB Transport Standard SOAP Transport Any Transport
Each topic has a separate key; Topics can be organized into sessions
Yes No Yes end-to-end Security Yes Yes No Support for XPath queries/ subscriptions Yes No Yes Communication through proxies and firewalls Yes No No Support for Audio/Video Conferencing & raw RTP clients JXTA and later Gnutella Yes No Support for routing P2P Interactions Yes Yes Yes Guaranteed Messaging (Robust) No Yes Medium (MQ is based on the point-to-point model. There is a limit on the effectiveness of this mode in large configurations). WebSphere MQ (formerly MQSeries) Yes No Network Performance Monitoring Yes No JMS Compliant Very large Very large Maximum number of nodes hosting the messaging infrastructure NaradaBrokering Pastry Functionality I
Yes No Yes Multiple transport protocols over multiple hops. TCP (Blocking and non-blocking), Parallel TCP, UDP, Multicast, HTTP, SSL, RTP, (GridFTP) TCP, UDP TCP, HTTP, Multicast, SSL, SNA etc. Transport Protocols Supported Fair with some “production” testing Fair Extremely mature , with very robust diagnostic information Maturity of Software Platforms supporting Java 1.4 (tunneling C++) Supported on platforms which support C# (Microsoft) or Java (Rice). 35 different OS/ platforms supported. Also supports the Java Platform. Platforms or Hosting Environments No Yes (Squirrel) No Support for P2P distributed caching No Yes WebSphere MQ (formerly MQSeries) In Progress No Broker Network Design Interface No No Workflow Support NaradaBrokering Pastry Functionality II
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.
The function of A/V media server is distributed using NaradaBrokering architecture.
Media Servers mix and convert A/V streams
Open XGSP MCU based on the following open source projects
openh323 is basis of H323 Gateway
NIST SIP stack is basis of SIP Gateway
NaradaBrokering is open source messaging
Java Media Framework basis of Media Servers
Helix Community http:// www.helixcommunity.org for Real Media
http://www.globalmmcs.org open source “non advertised” release
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