RE: Message reliability

Hi all,

I have been an avid reader of this thread and I would like to offer
a different opinion on the definition of "reliability".  My apologies
if this is not the appropriate forum.

A delivery service is reliable if it can satisfy delivery assurance 
constraints when delivering a message.

There are a number of different delivery assurance constraints that 
we could apply:  at-least-once, exactly once, ordered, at least once 
with 95% delivered within three seconds, 95% sent without error, acknowledgement, 
etc. It seems reasonable that commercial organizations will introduce 
a number of different types of assurance constraints according to their
terms of business.  If the definition of messaging reliability restricts 
the types of assurance constraints then its useful lifetime would seem 
to be limited.

On the performance front, we have had examples where the performance of
a system has improved by the introduction of different delivery assurance
constraints.  This improvement occured because we did not persist messages
on every hop but instead only persisted them on origination (for resending)
and at the destination (for duplicate detection).  This implementation
of "exactly once" assurance reduced cumulative residence
time (waiting + service time) by 40% because intermediate nodes did 
not need to persist messages.  This engineering tradeoff only results in
increased resending if any of the hops frequently fails to deliver 
messages.

Cheers,

Wayne.


-----Original Message-----
From: He, Hao [mailto:Hao.He@thomson.com.au]
Sent: Friday, 24 October 2003 8:14 AM
To: 'www-ws-arch@w3.org '
Cc: 'Champion, Mike'
Subject: RE: Message reliability


It was agreed to accept Roger's definition in today's discussion, so the
text has been modified to reflect the decision. 

Editors of the architecture document, please incorporate the text into the
document.

Hao


 2.3.1.13 Message reliability
2.3.1.13.1 Definition
Message reliability is the degree of certainty that a message will be
delivered
and that sender and recipient will both have the same understanding of
the delivery status.

... skip ...

2.3.1.13.3 Explanation


The goal of message reliability is to both reduce the error frequency for
messaging and to provide sufficient information about the status of a
message delivery. Such information enables a participating agent to make
a compensating decision when errors or less than desired results occur.
High level correlation such "two-phase commit" is needed if more than two
agents are involved. Note that in a distributed system, it is theoretically
not possible to guarantee correct notification of delivery; however, in
practice, simple techniques can greatly increase the overall confidence
in the message delivery.

It is important to note that a guarantee of the delivery of
messages alone does not improve the overall reliability of a Web service due
to the "end-to-end argument."[1]  It may, however, improve the performance
of
messaging, and therefore, the overall performance of a Web service.

Message reliability may be realized with a combination of message receipt
acknowledgement and correlation. In the event that a message has not been 
properly received and acted upon, the sender may attempt a resend, or some
other compensating action at the application level.

[1]http://www.reed.com/Papers/EndtoEnd.html

Received on Wednesday, 29 October 2003 19:50:29 UTC