← Prev in month ← Prev in thread

Rel 33: some thoughts and proposal...

From
Jacques Durand <>
Date
2003-11-18T22:04:45+00:00
ID
Thread
Rel 33: some thoughts and proposal...
Title: Rel 33: some thoughts and proposal...

All:

Sorry for a late notification, but here is a proposal for Rel 33 where a change in

the current semantics for Acknowledgements is proposed.

This is in the light of other issues that we are currently  trying to solve these days.

We would appreciate having at least the opportunity to present it to the TC at this meeting, if enough time...

Again, apologies for late notice but that is  a very recent conclusion of ours,

and we'd like at least to get early feedback if possible.

Jacques

-----------------------------------------------------------------

We'd like to propose a change in the semantics of sending an Acknowledgment.

Instead of sending the Ack when the message is received, the Ack. would be sent

when the message is made available to the server-side application/user. 

After some discussion related to faults/notifications, we believe this would help

significantly to get both Sender/Receiver aligned,

and also reduce the need for additional faults and notifications, always problematic

(e.g. if polling needed). 

The advantages we see with the new proposal are:

- More consistent semantically because the message is made available to

the user once acked, no more when buffered.

- Solves the async. failure notification problems.

- Makes Rel 50, Rel 52, and Rel 57 simpler.

- the main difference is for ordered groups, for pending out-of-order sequence.

- all semantics of RM features (guaranteed delivery, dup elim, ordering) would now be

about conditions of delivery to application. 

We have considered cases where Acks of received messages would be delayed

due to out-of-order sequences (not made available to app yet). 

To jot some memories back, this was decision we made at the first F2F

at Redwood Shores and was reverted back later as it may have payload

affect during retries. We believe this is a performance issue and

a trade-off on a functional behavior for a performance one. 

Performance can be handled without problem (see below) 

-------- detail: 

For implementations that are concerned about performance hit, an optimization

they could use is to only retry the lowest un-acked message in a grouped

ordered case, i.e., if msgs. 1,2,3 are sent and Sender hasn't received

acks. for 2 and 3, the Sender should not retry 3 until they get an ack. for 2.

For RMP impl. that doesn't worry about retries throttling the Receiver,

they might still send parallel retries. Either approach won't have any effect

on the end user behavior.
← Prev in month ← Prev in thread