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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-msg message

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


Subject: Re: What are the sides here? RE: T2 Retry with Delivery Receipt



(Note - I copied the list on this reply.)

Replies embedded below.

Regards,
Marty

*************************************************************************************

Martin W. Sachs
IBM T. J. Watson Research Center
P. O. B. 704
Yorktown Hts, NY 10598
914-784-7287;  IBM tie line 863-7287
Notes address:  Martin W Sachs/Watson/IBM
Internet address:  mwsachs @ us.ibm.com
*************************************************************************************



"Dale Moberg" <dmoberg@cyclonecommerce.com> on 09/14/2001 02:31:53 PM

To:   "Christopher Ferris" <chris.ferris@sun.com>, Martin W
      Sachs/Watson/IBM@IBMUS
cc:
Subject:  What are the sides here? RE: T2 Retry with Delivery Receipt



I am not certain I have read every msg on
this topic of intermediaries and RM.

But whether ebXML RM or MQ RM is used,
isn't the intermediaries that
cause the problem of there even
being a distinction between hop to hop
and end to end?

Without intermediaries, the distinction
collapses because the next hop just is
the end!

I see two main ways to do handle the
end to end assurance (and I think
the flavor of onceandonlyonce
semantics is probably a slight tangent):

1. Make certain some message or
other from the real end actually
gets back to the real start.

(drawback: possibly a lot of unneeded traffic)

MWS:  If the intermediaries are passing acks back to the
To MSH, the end to end ACK may be more than just unneeded
traffic.  It would considerably complicate the protocol and
may produce its own indeterminate situations.

2. Lay down a constraint that
no intermediate ack be issued
before the next hop acks  back
(intermediates delay any ack
until final ack has been
issued.)

(drawback: possibly a slight implementation
burden on intermediaries--but
they deserve it!!)

MWS:  This actually a critical element, not just an option. The basic
requirement is that the To MSH must persist the message before sending the
acknowledgment.  The requirement cannot be met unless each intermediary
withholds an ACK until it receives an ACK from the next intermediary.  That
way, when an intermediary receives an ACK, it knows that the message was
persisted at the To MSH and then sends its own ACK forward. Each ACK must
be only on the hop connected to that IM.

MWS:  There is one problem with what I just said.  If one hop is an
exactlyOnce protocol that does not need ACKs because it unconditionally
guarantees that the message will get to the next destination, there is an
additional complication.  I believe that MQ is an example of this case.
Example:

        ebXML-RM        non-ebXML-RM        ebXML-RM    ebXML-RM
   A----------------B-------------------C-------------D-------------E

MWS: When the message gets to the E MSH, it returns an ACK which goes to D,
which then sends an ACK to C.  Since there are no ACKS in the B-C RM
protocol.  The application level of the C node must build an ebXML ACK that
can flow to B as an application message.  The B application level then has
to (somehow?) cause the B MSH to create an ACK that is a proper ebXML ACK
to the original message and sent it to A. Another way to say this is that
from an ebXML viewpoint, the combination of B and C is an ebXML node and
what goes on between B and C is irrelevant but the combination must be able
to send the correct ebXML ACK when the C MSH receives an ebXML ACK from D.


=============

Under item 1, either you add
on the Delivery Receipt as
the message (I think David F
favors this) or you
forward the last ack back
( is this Chris solution ) or something
like this.

Why has approach 2 been rejected?

MWS:  Approach 2 should be a key element.  See above.

MWS:  If we want to get V 1.1 out in a reasonable time, I urge that for V
1.1 all hops must be ebXML hops.  That's hard enough.  Non-ebXML hops
should be out of scope for V1.1 if not forever.  We can dispose of
non-ebXML hops once and for all by declaring among ourselves that two nodes
with a non-ebXML hop between them are a single ebXML node for purposes of
the specification.  We should not mention the non-ebXML hop at all but we
must have enough guiding text to make it clear what an ebXML node with a
non-ebXML hop inside it must do.




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


Powered by eList eXpress LLC