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> </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 “retry” and = “resend” 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> </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> </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 “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 = _<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> </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 “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).<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> </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, “no MDN = requested.”<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> </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’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?]<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> </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> </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> </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> </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> </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 "Once and Only Once" 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> </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'> <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'> <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'>"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", </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'>"or the resend <br> count is reached."</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'> <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'> <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'> <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 "Once and Only Once" 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'> 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 "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.</span></font> <br> <br> <font size=3D2 face=3Dsans-serif><span = style=3D'font-size:10.0pt;font-family:sans-serif'>John Duker Dale = Moberg</span></font> <br> <font size=3D2 face=3Dsans-serif><span = style=3D'font-size:10.0pt;font-family:sans-serif'>Procter & Gamble 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> </P> </html> ------_=_NextPart_001_01C5A1DB.FD3F4C10--