RE: AS2 Reliability Draft for "Once and Only Once" Delivery

"Dale Moberg" <[email protected]> Mon, 15 Aug 2005 13:57:46 -0700
Newsgroups gmane.ietf.ediint
Message-ID <[email protected]>
This is a multi-part message in MIME format.

------_=_NextPart_001_01C5A1DB.FD3F4C10
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

HI,

=20

The terms "retry" and "resend" are used in different ways in this
Internet-Draft, and are not synonymous.

=20

The idea is that a resend is sending the message again after it was
apparently successfully sent.=20

=20

The resend operation only really makes sense in the context of
"asynchronous" MDNs where you are waiting for a MDN and think the MDN
may have gotten dropped on the floor, was not created, or otherwise
failed somehow,  because no MDN has arrived _when_ you were expecting
one.

=20

[The term "retry" is used when the message is not known to have been
sent (no 200 OK, the connection was refused, 503 server busy, and so
forth).

=20

You can think of it as if the resend timers only start when waiting for
a MDN. If no MDN is requested, you are expected to not be waiting for
one. In other words, the operation of resending never even starts unless
a MDN had been requested, so there is no reason to say what would stop
it in the case,   "no MDN requested."

=20

[In addition, the operation of resend never starts when a synchronous
MDN is requested. In that case, you can only retry if you don't get the
MDN in the HTTP reply. Of course, you don't retry if you get the MDN and
a 200 OK. One case we did not consider, come to think of it, is
requesting a synchronous MDN, getting a 200 OK, but no MDN! Should we
retry that one?]

=20

Thanks for your comment and we will try to make it more clearly evident
that resend operations are very different from retry operations.

=20

=20

=20

=20

________________________________

From: Shan Harter [mailto:[email protected]]=20
Sent: Monday, August 15, 2005 11:41 AM
To: [email protected]; [email protected]
Cc: Dale Moberg
Subject: RE: AS2 Reliability Draft for "Once and Only Once" Delivery=20

=20

We really don't want to keep retrying if receiving party did receive AS2
message but NO MDN is required:

=20

=20

"message, with the same content and the same Message-ID value is sent=20
again. This operation is referred to as a resend of the message. This=20
document will suggest guidelines to prevent AS2 software=20
implementations that receive duplicate messages from distributing=20
that message to back-end business applications, as well as guidelines=20
on resend intervals and resend counts for various modes of AS2=20
operation. Resending ends when the MDN is received", when a HTTP 200 OK
is received when NO MDN is requested, "or the resend=20
count is reached."

=20

=20

Shan

Regards,

=20

Shan Harter
PEBS, Inc.

	-----Original Message-----
	From: [email protected]
[mailto:[email protected]] On Behalf Of [email protected]
	Sent: Monday, August 15, 2005 7:45 AM
	To: [email protected]
	Cc: [email protected]
	Subject: AS2 Reliability Draft for "Once and Only Once" Delivery


=09
	A new Internet Draft addressing reliable delivery of AS2
messages is available at:=20
=09
http://www.ietf.org/internet-drafts/draft-duker-as2-reliability-00.txt
for review and discussion.=20
=09
	The purpose of the draft is to define ways to ensure that AS2
messages are delivered "once and only once". One key aspect is to ensure
that AS2 implementations do not pass "Duplicate Messages" on to back-end
business applications. The ultimate goal is to gain agreement on
standard approaches so that all AS2 software implementations can deliver
this functionality. We look forward to comments and suggestions from all
interested parties.=20
=09
	John Duker                Dale Moberg=20
	Procter & Gamble        Cyclone Commerce

=20


------_=_NextPart_001_01C5A1DB.FD3F4C10
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Message</title>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:sans-serif;
	panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>HI,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>The terms &#8220;retry&#8221; and =
&#8220;resend&#8221;
are used in different ways in this Internet-Draft, and are not =
synonymous.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>The idea is that a resend is =
sending the
message again after it was apparently successfully sent. =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>The resend operation only really =
makes
sense in the context of &#8220;asynchronous&#8221; MDNs where you are =
waiting
for a MDN and think the MDN may have gotten dropped on the floor, was =
not
created, or otherwise failed somehow, &nbsp;because no MDN has arrived =
_<i><span
style=3D'font-style:italic'>when</span></i>_ you were expecting =
one.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>[The term &#8220;retry&#8221; is =
used when
the message is not known to have been sent (no 200 OK, the connection =
was refused,
503 server busy, and so forth).<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>You can think of it as if the =
resend
timers only start when waiting for a MDN. If no MDN is requested, you =
are
expected to not be waiting for one. In other words, the operation of =
resending
never even starts unless a MDN had been requested, so there is no reason =
to say
what would stop it in the case, &nbsp;&nbsp;&#8220;no MDN =
requested.&#8221;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>[In addition, the operation of =
resend never
starts when a synchronous MDN is requested. In that case, you can only =
retry if
you don&#8217;t get the MDN in the HTTP reply. Of course, you =
don&#8217;t retry
if you get the MDN and a 200 OK. One case we did not consider, come to =
think of
it, is requesting a synchronous MDN, getting a 200 OK, but no MDN! =
Should we
retry that one?]<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Thanks for your comment and we will =
try to
make it more clearly evident that resend operations are very different =
from
retry operations.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'> Shan =
Harter
[mailto:[email protected]] <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Monday, August 15, =
2005 11:41
AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> [email protected];
[email protected]<br>
<b><span style=3D'font-weight:bold'>Cc:</span></b> Dale Moberg<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: AS2 =
Reliability Draft
for &quot;Once and Only Once&quot; Delivery =
</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:blue'>We really don't want to keep =
retrying if
receiving party did receive AS2 message but NO MDN is =
required:</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:blue'>&quot;message, with the same =
content and
the same Message-ID value is sent <br>
again. This operation is referred to as a resend of the message. This =
<br>
document will suggest guidelines to prevent AS2 software <br>
implementations that receive duplicate messages from distributing <br>
that message to back-end business applications, as well as guidelines =
<br>
on resend intervals and resend counts for various modes of AS2 <br>
operation. Resending ends when the MDN is =
received&quot;,&nbsp;</span></font><strong><b><font
size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
color:red'>when a HTTP 200 OK is received when NO MDN is requested, =
</span></font></b></strong><font
size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
color:blue'>&quot;or the resend <br>
count is reached.&quot;</span></font><font color=3Dblue><span =
style=3D'color:blue'><o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Shan</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Regards,<o:p></o:p></span></font></p=
>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:blue'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Shan Harter<br>
PEBS, Inc.</span></font><o:p></o:p></p>

</div>

</div>

<blockquote =
style=3D'margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><font size=3D2 =
face=3DTahoma><span
style=3D'font-size:10.0pt;font-family:Tahoma'>-----Original =
Message-----<br>
<b><span style=3D'font-weight:bold'>From:</span></b> <st1:PersonName =
w:st=3D"on">[email protected]</st1:PersonName>
[mailto:<st1:PersonName =
w:st=3D"on">[email protected]</st1:PersonName>]
<b><span style=3D'font-weight:bold'>On Behalf Of =
</span></b>[email protected]<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Monday, August 15, =
2005 7:45
AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> =
[email protected]<br>
<b><span style=3D'font-weight:bold'>Cc:</span></b> =
[email protected]<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> AS2 Reliability =
Draft for
&quot;Once and Only Once&quot; Delivery </span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><br>
</span></font><font size=3D2 face=3Dsans-serif><span =
style=3D'font-size:10.0pt;
font-family:sans-serif'>A new Internet Draft addressing reliable =
delivery of
AS2 messages is available at: </span></font><br>
<font size=3D2 color=3Dblue face=3Dsans-serif><span =
style=3D'font-size:10.0pt;
font-family:sans-serif;color:blue'>http://www.ietf.org/internet-drafts/dr=
aft-duker-as2-reliability-00.txt
</span></font><font size=3D2 face=3Dsans-serif><span =
style=3D'font-size:10.0pt;
font-family:sans-serif'>&nbsp; &nbsp; &nbsp; for review and =
discussion.</span></font>
<br>
<br>
<font size=3D2 face=3Dsans-serif><span =
style=3D'font-size:10.0pt;font-family:sans-serif'>The
purpose of the draft is to define ways to ensure that AS2 messages are
delivered &quot;once and only once&quot;. One key aspect is to ensure =
that AS2
implementations do not pass &quot;Duplicate Messages&quot; on to =
back-end
business applications. The ultimate goal is to gain agreement on =
standard
approaches so that all AS2 software implementations can deliver this
functionality. We look forward to comments and suggestions from all =
interested
parties.</span></font> <br>
<br>
<font size=3D2 face=3Dsans-serif><span =
style=3D'font-size:10.0pt;font-family:sans-serif'>John
Duker &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Dale =
Moberg</span></font>
<br>
<font size=3D2 face=3Dsans-serif><span =
style=3D'font-size:10.0pt;font-family:sans-serif'>Procter
&amp; Gamble &nbsp; &nbsp; &nbsp; &nbsp;Cyclone =
Commerce</span></font><o:p></o:p></p>

</blockquote>

</div>

</body>

<!--[object_id=3D#systrends.com#]--><P align=3Dcenter><FONT =
face=3DTahoma size=3D2><FONT color=3D#0000ff></FONT></FONT>&nbsp;</P>
</html>

------_=_NextPart_001_01C5A1DB.FD3F4C10--