[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]