OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ws-rx] AS need for ordered delivery?


Alistair:

No matter which DA is in effect/observed/promised at/by the RMD to the
AD, the source only detects which messages have been received by the
RMD. It is not logical for it to try and make any assumptions about the
delivery of messages between the RMD and AD.  I think we are driving
Chris Ferris to drink over this item since he has essentially been
trying to explain this since day one ;-)

The behavior between RMS and RMD is in scope.  Comments inline: 

-----Original Message-----
From: Alastair Green [mailto:alastair.green@choreology.com] 
Sent: Friday, October 28, 2005 6:48 AM
To: Duane Nickull
Cc: ws-rx@lists.oasis-open.org
Subject: Re: [ws-rx] AS need for ordered delivery?

Duane et al,

I am trying to get my head around the ramifications of this discussion.

The delivery assurance patterns in the first instance concern the retry 
responsibilities of the RM endpoints with respect to at least once 
delivery. Does the sender resend until acknowledged, or does it not?

DN: An RMS may retry and whatever interval the contract between it and
the RMD states until it receives an ack.  This is different that any
contract between RMD and AD.  The RMS should not try to infer anything
about that.
 
Does the receiver acknowledge, or does it not? 

DN: if an RMD receives a message and its' contract specifies it needs to
send an ack back to the RMS, then it sends one.  Chris summed this up
nicely by stating " The job of the RMS is to ensure that messages have
been received. Nothing more, nothing less. If it receives an ack that
suggests that a message was not received, it retransmits that message
and listens for an ack that indicates that the message was indeed
received. It then uses the shampoo methodology (lather, rinse, repeat)
until the message is successfully received"

If the protocol is always at-least-once (does not have a mode where
delivery drops are tolerated) then there is nothing to say on the wire,
because the at-least-once contract is implicit.

DN:  Now I am confused.  Why would anyone allow Reliable messaging where
drops are permitted.  I think the high level goal is to ensure drops are
detected and corrective action is undertaken to mitigate it.

Exactly-once delivery, and ordered delivery, are contracts between the 
receiving endpoints and the consuming application, but have differing 
requirements upon the RM-RM protocol per se.

EO delivery requires that the RMD receive at least once from the RMS, 
and deliver exactly once to the AD (eliminate dups). This implies no 
addition to the ALO-capable inter-RM protocol.

Ordered delivery requires that the protocol communicate sequence ids and

an end-of-sequence marker (or a logical equivalent). These ids can then 
be used by the RMD to ensure ordered delivery.

DN: yes - the RMD can use these to effect behavior between it and the
AD.  

I have truncated the rest of this thread.  Perhaps we need to make an
issue and place it on the next conf call agenda.

Duane


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]