Reliable messaging for grids and web services
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

Reliable Messaging for Grids and Web Services PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on
  • Presentation posted in: General

Reliable Messaging for Grids and Web Services. Geoffrey Fox, Shrideep Pallickara, Damodar Yemme, Hasan Bulut and Sima Patel (gcf, spallick, dyemme, hbulut and skpatel)@indiana.edu Community Grids Lab Indiana University. Message-Based Reliability.

Download Presentation

Reliable Messaging for Grids and Web Services

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Reliable messaging for grids and web services

Reliable Messaging for Grids and Web Services

Geoffrey Fox, Shrideep Pallickara, Damodar Yemme, Hasan Bulut and Sima Patel

(gcf, spallick, dyemme, hbulut and skpatel)@indiana.edu

Community Grids Lab

Indiana University


Message based reliability

Message-Based Reliability

  • Web Services exchange messages and interact with resources that produce and absorb messages

  • Action and state (if exists) of a service defined by messages

  • Our approach to Reliability is based on a building a messaging infrastructure that is intrinsically reliable and high performance

    • WS-RM and WS-Reliability for web services

    • Naradabrokering message-oriented middleware


Reliable messaging for grids and web services

SS

Database

SS

SS

SS

SS

SS

SS

SS

Raw Data  Data  Information  Knowledge  Wisdom

AnotherGrid

Decisions

AnotherGrid

SS

SS

SS

SS

FS

FS

OS

MD

MD

FS

Portal

OS

OS

FS

OS

SOAP Messages

OS

FS

FS

FS

AnotherService

FS

FS

MD

MD

OS

MD

OS

OS

FS

Other

Service

FS

FS

FS

FS

MD

OS

OS

OS

FS

FS

FS

MD

MD

FS

Filter Service

OS

AnotherGrid

FS

MetaData

FS

FS

FS

MD

Sensor Service

SS

SS

SS

SS

SS

SS

SS

SS

SS

SS

AnotherService


Applications of our technology

Applications of our Technology

  • 1) Point-to-point generic linkage of services using WSRM with messages saved in databases as required in specification

  • 2) Scalable Management Architecture to support dynamic robust collections of entities

    • Applied first to the brokers used in distributed messaging of NaradaBrokering

  • 3) Management of the streams of data from sensors and web-cams

    • Allow real-time replay and annotation based on real-time saving of messages forming streams


Wsrm and ws reliability

WSRM and WS-Reliability

  • WSRM describes a protocol that facilitates the reliable delivery of messages between two web service endpoints in the presence of component, system or network failures.

  • WSRM facilitates the reliable delivery of messages from the source (or originator) of messages to the sink (or destination) of messages.

  • The delivery (and ordering) guarantees are valid over a group of messages, which is referred to as a sequence.


Publishing messages in wsrm

Publishing Messages in WSRM

  • Every message from the source contains two pieces of information ─

    • The Sequence that this message is a part of and

    • A monotonically increasing Message Number within this Sequence.

  • These Message Numbers enable the tracking of problems, if any, in the intended message delivery at a sink.

    • Message Numbers enable the determination of out of order receipt of messages as well as message losses.

  • Protocol has acknowledgements and negative acknowledges defined


Typical processing acknowledgments

Typical Processing Acknowledgments

  • Upon receipt of acknowledgements a source can determine which messages might have been lost in transit and proceed to retransmit the missed messages.

  • Thus if a sink has acknowledged the receipt of messages 1 ─ 10 and 13 ─ 18.

    • The source can conclude that messages with Message Numbers 11 and 12 were lost en route to the sink and proceed to retransmit these messages.


Notification of errors

Notification of Errors

  • WSRM provides for notification of errors in processing between the endpoints involved in reliable delivery.

    • These are routed back as SOAP Faults.

  • The range of errors can vary from an inability to decipher a message’s content to complex errors pertaining to violations in implied agreements between the interacting source and sink.

  • All errors are reported as faults with the appropriate wsa:Action attribute, and encapsulated in WSRM fault elements.


Comments on wsrm implementation

Comments on WSRM Implementation

  • We are delivering this to the UK Open Middleware Infrastructure Institute

  • We built WS-Eventing that is available in OMII 2.3.3 http://www.omii.ac.uk/news/newsdetail.jsp?id=25 in FINS Project

  • WS-RM is currently being tested in OMII container (FIRMS Project) and is expected to be finished in a month and released by OMII in approximately June 2006

  • WS-RM and WS-Eventing use SOAP handlers that are not well supported in current Axis used by OMII; we should hope Axis 2 will be soon mature enough to use


Reliable messaging for grids and web services

Times are Microseconds


Reliable messaging for grids and web services

Times are Microseconds


Naradabrokering management framework

NaradaBrokering Management Framework


Management of services

Management of services

  • We prefer to build Grids (collections of web services) that use distributed publish-subscribe message-oriented middleware to transport all messages.

    • Our publish-subscribe software is called NaradaBrokering (NB) and one can bind SOAP to NB transport (very different from WS-Notification/Eventing) building a handler for this

  • NB will guarantee message delivery and its distributed nature has implicit reliability

    • However we need to maximize reliability of this infrastructure including attention to network QoS, firewalls etc.


Naradabrokering

NaradaBrokering

Queues

Stream

NB supports messages

and streams

NB role for Grid is

Similar to

MPI role for MPP


Naradabrokering 2003 2006

NaradaBrokering 2003-2006

  • Messaging infrastructure for collaboration, peer-to-peer and Grids Implements JMS and native high-performance protocols (message transit time of 1 to 2 ms per hop)

  • Order-preserving message transport with QoS and security profiles

  • Support for different underlying transport such as TCP, UDP, Multicast, RTP

  • SOAP message supportand WS-Eventing, WS-RM and WS-Reliability.

    • WS-Notification when specification agreed

  • Active replay support: Pause and Replay live streams.

  • Stream Linkage: can link permanently multiple streams – using in annotation of real-time video streams

  • Replicated storage support for fault tolerance and resiliency to storage failures.

  • Management: HPSearch Scripting Interface to streams and brokers (uses WS-Management)

  • Broker Topics and Message Discovery: Locate appropriate

  • Integration with Axis2 Web Service Container (?)

  • High Performance Transport supporting SOAP Infoset


Management architecture

Management Architecture

WS-Management

Multiple DistributedManagee Instances

With web service proxy

Multiple DistributedManager Instances


Features of the managee service

Features of the Managee Service

  • The distributed managers use NaradaBrokering itself for robust messaging with the “Managees” (Web Service adaptors or proxies to each broker in NaradaBroker networker)


Features of the manager service

Features of the Manager Service

  • WS-Management used for communicating between Managers and Managees

  • Managers implement policy and user instructions but this very primitive


Generic recording and replay framework

Generic Recording and Replay Framework


Reliable messaging for grids and web services

e-Annotation Archived Stream Annotated e-Annotation Player Player Stream Player Whiteboard

Archived stream

Annotation

/

WB

e

-

Annotation

e

-

Annotation

player

player

Whiteboard

Player

Archived Real Time Real TimeStream List Stream List Player

Real time

Real time stream

Archieved

stream list

player

stream list


Generic recording and replay framework1

Generic Recording and Replay Framework

  • A generic framework for recording and replay of any type of streaming event or data.

  • Active replay of streams: Real-time (live) streams can be replayed, paused and rewound while streams are being recorded.

    • Fast forward is available for the duration of the recorded stream.

  • Note streams are collections of events and events are essentially messages

  • Rewind is same as undo (as in Office)

    • Go back N messages in stream

  • Replay is same as redo i.e. re-apply sequence of messages to a Web service ports

  • Good replay implies robust message recording


Generic recording and replay framework2

Generic Recording and Replay Framework

  • Stream linkage: Multiple streams are linked together to construct a session.

    • A collaboration session can be recorded and replayed within this framework. Examples;

      • Anabas – Uses JMS events to transport data such as whiteboard, shared display, audio, etc.

      • GlobalMMCS – Uses NaradaBrokering RTP Events to transport audio and video data.

  • Streams can be added/removed to/from session dynamically while the session is being recorded.

  • Maintains metadata information for recorded sessions and their streams.

    • Dynamic metadata stored in high performance light weight WS-Context service


Uniform event type for generic framework

Uniform Event Type For Generic Framework

  • Received events are wrapped inside NaradaBrokering native events (NBEvent) with additional event specific information.

    • Received event is placed to the payload of the NBEvent to preserve original data and related information.

    • NBEvent also contains timestamp information to timespace original events during replay and event type to initiate appropriate player for that event type.

  • Events and related metadata are stored in database tables.


Session recorders

Session Recorders

  • Session recorder includes topic recorders that subscribe to each topic defined in that session.

  • Topic recorders are like subscribing clients receiving the streaming events. Topic recorders are specialized for event types. i.e. JMS events need JMS topic recorder to receive those type of events.

  • Event types for those streams are already known from the initiated record request.


Time differential service tds

Time Differential Service (TDS)

  • Replay of events rely on one critical service: Time differential service.

  • Each replay session has one dedicated TDS to achieve replay, pause, rewinding and fast forwarding of the streams in the session in one operation.

  • Achieves synchronization of multiple streams in the same session by maintaining a shared buffer for those streams.

  • Maintains the timespace between the replay events equal to the timespace between the original received events .

  • Resolution of this timespacing is one millisecond; events can be timespaced with one millisecond accuracy.

  • TDS can be maintained on robust node (NaradaBrokering node that provides stable storage) or on client side.

  • Replication of robust nodes supported for better fault tolerance


Session players

Session Players

  • The primary purpose of session player is to simulate clients in the original session.

  • To achieve this;

    • Each recorded topic (or stream) is mapped to a new topic and events of the same original topic are released to the mapped topic.

    • While releasing the events, timespacing between events are preserved.

    • Utilizes Time Differential Service to timespace events

  • Recording of live streams are available for replay as soon as they are stored to the reliable storage.

  • Session players support replay, pause, rewind and fast forward operations. When one of those operations is requested, it is applied to all of the topics (streams) in that session.


Session players ii

Session Players II

  • Figure on the left depicts a scenario for playing a session with multiple streams (NB RTPEvent or JMS event based streams)


  • Login