draft-ietf-apex-party-02.txt   draft-ietf-apex-party-03.txt 
Network Working Group E. Dixon Network Working Group E. Dixon
Internet-Draft H. Franklin Internet-Draft H. Franklin
Expires: January 7, 2002 J. Kint Expires: February 12, 2002 J. Kint
Invisible Worlds, Inc. Invisible Worlds, Inc.
G. Klyne G. Klyne
Baltimore Technologies Baltimore Technologies
D. New D. New
S. Pead S. Pead
M. Rose M. Rose
Invisible Worlds, Inc. Invisible Worlds, Inc.
July 9, 2001 August 14, 2001
The APEX Option Party Pack, Part Deux! The APEX Option Party Pack, Part Deux!
draft-ietf-apex-party-02 draft-ietf-apex-party-03
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 7, 2002. This Internet-Draft will expire on February 12, 2002.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract Abstract
APEX, at its core, provides a best-effort application-layer datagram APEX, at its core, provides a best-effort application-layer datagram
service. Options are used to alter the semantics of the core service. Options are used to alter the semantics of the core
service. This memo defines various options to change the default service. This memo defines various options to change the default
skipping to change at page 2, line 26 skipping to change at page 2, line 26
4.1 Registration: The attachOverride Option . . . . . . . . . . 16 4.1 Registration: The attachOverride Option . . . . . . . . . . 16
4.2 Registration: The dataTiming Option . . . . . . . . . . . . 16 4.2 Registration: The dataTiming Option . . . . . . . . . . . . 16
4.3 Registration: The hold4Endpoint Option . . . . . . . . . . . 16 4.3 Registration: The hold4Endpoint Option . . . . . . . . . . . 16
5. The APEX Party Pack DTD . . . . . . . . . . . . . . . . . . 17 5. The APEX Party Pack DTD . . . . . . . . . . . . . . . . . . 17
6. Security Considerations . . . . . . . . . . . . . . . . . . 18 6. Security Considerations . . . . . . . . . . . . . . . . . . 18
References . . . . . . . . . . . . . . . . . . . . . . . . . 19 References . . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 19
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21
B. IANA Considerations . . . . . . . . . . . . . . . . . . . . 22 B. IANA Considerations . . . . . . . . . . . . . . . . . . . . 22
C. Revision History . . . . . . . . . . . . . . . . . . . . . . 23 C. Revision History . . . . . . . . . . . . . . . . . . . . . . 23
C.1 Changes from draft-ietf-apex-party-01 . . . . . . . . . . . 23 C.1 Changes from draft-ietf-apex-party-02 . . . . . . . . . . . 23
C.2 Changes from draft-ietf-apex-party-00 . . . . . . . . . . . 23 C.2 Changes from draft-ietf-apex-party-01 . . . . . . . . . . . 23
C.3 Changes from draft-ietf-apex-party-00 . . . . . . . . . . . 23
Full Copyright Statement . . . . . . . . . . . . . . . . . . 24 Full Copyright Statement . . . . . . . . . . . . . . . . . . 24
1. The attachOverride Option 1. The attachOverride Option
Section 4.1 contains the APEX option registration for the Section 4.1 contains the APEX option registration for the
"attachOverride" option. "attachOverride" option.
The default behavior of the APEX relaying mesh, in the absence of The default behavior of the APEX relaying mesh, in the absence of
processing options, is to allow at most one application to attach as processing options, is to allow at most one application to attach as
a particular endpoint, on a "first come, first served" basis. The a particular endpoint, on a "first come, first served" basis. The
skipping to change at page 5, line 32 skipping to change at page 5, line 32
intermittent or slow connections, or congested relays; and, intermittent or slow connections, or congested relays; and,
o delays because the intended endpoint is not available to receive o delays because the intended endpoint is not available to receive
the data, when used in conjunction with the hold4Endpoint option the data, when used in conjunction with the hold4Endpoint option
(Section 3). (Section 3).
Accordingly, the "dataTiming" option allows for: Accordingly, the "dataTiming" option allows for:
o data to be discarded if not delivered within a finite amount of o data to be discarded if not delivered within a finite amount of
time as specified using the "noLaterThan" attribute (Section 2.1); time as specified using the "noLaterThan" attribute (Section 2.1);
and,
o a "statusResponse" message (c.f., Section 5.1 of [1]) to be o a "statusResponse" message (c.f., Section 5.1 of [1]) to be
generated if data is not delivered within a finite amount of time generated if data is not delivered within a known amount of time
as specified using the "reportAfter" attribute (Section 2.2). as specified using the "reportAfter" attribute (Section 2.2); and,
o an upper limit on the amount of time for the "statusResponse"
message to be delivered using the "returnTrip" attribute (Section
2.1.1), after which the sender may presume the message to be lost.
This option does not provide any functionality with respect to the This option does not provide any functionality with respect to the
priority of the data. Nor does this option have any effect on other priority of the data. Nor does this option have any effect on other
parts of the relaying process. parts of the relaying process.
Further, note that because this option is processed on a per-hop Further, note that because this option is processed on a per-hop
basis, the originator must set the "targetHop" attribute to the value basis, the originator must set the "targetHop" attribute to the value
"all" and the "mustUnderstand" attribute to the value "true". "all" and the "mustUnderstand" attribute to the value "true".
2.1 Upper-Bounds on Delivery 2.1 Upper-Bounds on Delivery
skipping to change at page 6, line 27 skipping to change at page 6, line 27
Immediately prior to sending the data to the next relay, the value Immediately prior to sending the data to the next relay, the value
of the "noLaterThan" attribute is adjusted to reflect the of the "noLaterThan" attribute is adjusted to reflect the
processing time of the data at the local relay (e.g., the time processing time of the data at the local relay (e.g., the time
required to determine the next relay, to successfully issue a required to determine the next relay, to successfully issue a
"bind" operation, and then be ready to immediately issue a "data" "bind" operation, and then be ready to immediately issue a "data"
operation). operation).
If the value of the "noLaterThan" attribute becomes less than or If the value of the "noLaterThan" attribute becomes less than or
equal to zero, an error in processing has occurred, the data equal to zero, an error in processing has occurred, the data
element is not sent to the next relay, and if the "reportErrors" element is not sent to the next relay, and if the "reportErrors"
attribute is true, the APEX report service is invokved to send a attribute is true, the APEX report service is invoked to send a
timing error report. timing error report.
o For Step 5.3 of Section 4.4.4.1 of [1]: o For Step 5.3 of Section 4.4.4.1 of [1]:
If the relay does not receive an "ok" element from the recipient If the relay does not receive an "ok" element from the recipient
endpoint within the number of milli-seconds indicated by the value endpoint within the number of milli-seconds indicated by the value
of the "noLaterThan" attribute, an error in processing has of the "noLaterThan" attribute, an error in processing has
occurred, and if the "reportErrors" attribute is true, the APEX occurred, and if the "reportErrors" attribute is true, the APEX
report service is invoked to send a timing error report. report service is invoked to send a timing error report.
Otherwise, if the data is successfully transmitted to the Otherwise, if the data is successfully transmitted to the
recipient, and the "returnTrip" attribute is non-zero, the APEX recipient, and the "returnTrip" attribute is non-zero, the APEX
report service is invoked to send a final hop report. report service is invoked to send a final hop report.
Note that in some cases, a relay may be able to predict this outcome
without actually connecting to the next relay; if so, a timing error
report may be sent without connecting to the next relay.
2.1.1 Final Hop Report 2.1.1 Final Hop Report
If the APEX report service (c.f., Section 6.2 of [1]) is invoked to If the APEX report service (c.f., Section 6.2 of [1]) is invoked to
send a final hop report, it issues a data operation with: send a final hop report, it issues a data operation with:
o its originator identifying the report service associated with the o its originator identifying the report service associated with the
issuing relay issuing relay
o its recipient identifying the endpoint address of the originator o its recipient identifying the endpoint address of the originator
associated with the "dataTiming" option associated with the "dataTiming" option
skipping to change at page 8, line 33 skipping to change at page 8, line 33
| | <------- data -- | | | | <------- data -- | |
| appl. | | relay | | appl. | | relay |
| #1 | -- ok ---------> | | | #1 | -- ok ---------> | |
+-------+ +-------+ +-------+ +-------+
C: <data content='#Content'> C: <data content='#Content'>
<originator identity='apex=report@example.com' /> <originator identity='apex=report@example.com' />
<recipient identity='fred@example.com' /> <recipient identity='fred@example.com' />
<option internal='dataTiming' targetHop='all' <option internal='dataTiming' targetHop='all'
mustUnderstand='true' transID='99' /> mustUnderstand='true' transID='99' />
<dataTiming noLaterThan='2000' /> <dataTiming noLaterThan='20000' />
</option> </option>
<data-content Name='Content'> <data-content Name='Content'>
<statusResponse transID='86'> <statusResponse transID='86'>
<destination identity='barney@example.com'> <destination identity='barney@example.com'>
<reply code='250' /> <reply code='250' />
</destination> </destination>
</statusResponse> </statusResponse>
</data-content> </data-content>
</data> </data>
S: <ok /> S: <ok />
skipping to change at page 17, line 12 skipping to change at page 17, line 12
Contact Information: c.f., the "Authors' Addresses" section of this Contact Information: c.f., the "Authors' Addresses" section of this
memo memo
5. The APEX Party Pack DTD 5. The APEX Party Pack DTD
<!-- <!--
DTD for the APEX option party pack, as of 2001-05-14 DTD for the APEX option party pack, as of 2001-05-14
Refer to this DTD as: Refer to this DTD as:
<!ENTITY % APEXPARTY PUBLIC "-//IETF//DTD APEX PARTY//EN" <!ENTITY % APEXPARTY PUBLIC "-//IETF//DTD APEX PARTY//EN" "">
"http://xml.resource.org/profiles/APEX/apex-party.dtd">
%APEXPARTY; %APEXPARTY;
--> -->
<!ENTITY % APEXCORE PUBLIC "-//IETF//DTD APEX CORE//EN" <!ENTITY % APEXCORE PUBLIC "-//IETF//DTD APEX CORE//EN"
"http://xml.resource.org/profiles/APEX/apex-core.dtd">
%APEXCORE; %APEXCORE;
<!-- <!--
DTD data types: DTD data types:
entity syntax/reference example entity syntax/reference example
====== ================ ======= ====== ================ =======
milli-seconds milli-seconds
MILLISECS 0..2147483647 60000 MILLISECS 0..2147483647 60000
--> -->
skipping to change at page 19, line 8 skipping to change at page 19, line 8
o The hold4Endpoint option (Section 3) may be used to facilitate o The hold4Endpoint option (Section 3) may be used to facilitate
denial-of-service attacks. Accordingly, an administrator may wish denial-of-service attacks. Accordingly, an administrator may wish
to impose administrative limits on this attribute (e.g., always to impose administrative limits on this attribute (e.g., always
require that the "dataTiming" option also be present with a short- require that the "dataTiming" option also be present with a short-
lived "noLaterThan" attribute). lived "noLaterThan" attribute).
References References
[1] Rose, M., Klyne, G. and D. Crocker, "The Application Exchange [1] Rose, M., Klyne, G. and D. Crocker, "The Application Exchange
Core", draft-ietf-apex-core-04 (work in progress), July 2001. Core", draft-ietf-apex-core-05 (work in progress), August 2001.
[2] Newman, D., "Deliver By SMTP Service Extension", RFC 2852, June [2] Newman, D., "Deliver By SMTP Service Extension", RFC 2852, June
2000. 2000.
Authors' Addresses Authors' Addresses
Eric Dixon Eric Dixon
Invisible Worlds, Inc. Invisible Worlds, Inc.
131 Stony Circle 131 Stony Circle
Suite 500 Suite 500
skipping to change at page 23, line 7 skipping to change at page 23, line 7
The authors gratefully acknowledge the contributions of Chris Newman The authors gratefully acknowledge the contributions of Chris Newman
and Bob Wyman. Further, the dataTiming option is similar in function and Bob Wyman. Further, the dataTiming option is similar in function
to "Deliver By" SMTP service extension defined by Dan Newman in [2]. to "Deliver By" SMTP service extension defined by Dan Newman in [2].
Appendix B. IANA Considerations Appendix B. IANA Considerations
The IANA makes the registrations specified in Section 4. The IANA makes the registrations specified in Section 4.
Appendix C. Revision History Appendix C. Revision History
C.1 Changes from draft-ietf-apex-party-01 Note to RFC editor: please remove this entire appendix, and the
corresponding entries in the table of contents, prior to publication.
C.1 Changes from draft-ietf-apex-party-02
o Corrected one typo, used better grammar in one spot.
o Added some text on the deterministic behavior of the "returnTrip"
attribute.
o Added some text on relay optimization of non-connections.
o Removed the reference to "xml.resource.org" in the DTD.
C.2 Changes from draft-ietf-apex-party-01
o A page-break was fixed. o A page-break was fixed.
C.2 Changes from draft-ietf-apex-party-00 C.3 Changes from draft-ietf-apex-party-00
o When terminating an association due to processing the o When terminating an association due to processing the
"attachOverride" option, the "code" attribute of the terminate "attachOverride" option, the "code" attribute of the terminate
operation must be supplied. operation must be supplied.
o A small number of typos were corrected. o A small number of typos were corrected.
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
 End of changes. 15 change blocks. 
17 lines changed or deleted 37 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/