next up previous contents
Next: EMSD PROCEDURE FOR OPERATIONS Up: Internet DRAFT EMSD - Previous: EFFICIENT MAIL SUBMISSION AND   Contents

Subsections


DUPLICATE OPERATION DETECTION SUPPORT

Duplicate Operation Detection Support Overview

Some operations are idempotent in nature, i.e. they can be performed more than once without any harm. However, some other operations are non-idempotent in nature, i.e. they should be performed only once. In the case of non-idempotent operations, performer should be able to detect duplicate operations and perform each non- idempotent operation only once.

Examples of non-idempotent operations are Submission and Delivery of messages which shouldn't be performed more than once. Examples of idempotent operations are Submission-control and Delivery-control which can be performed more than once with no harm.

ESRO Services don't detect duplicate invocation of operations. As a result, the Duplicate Operation Detection Support Functional Unit is used to detect duplication when the same operation instance is invoked more than once. Invoker assigns an Operation Instance Identifier to an operation and this Operation Instance Identifier is used at the peer performer entity to detect the duplicate invocation of the same operation.

Using this support, non-idempotent operations can be repeated over and over with no harm because the duplicate invocations are detected by this functional unit. This support helps the performer not to perform an operation more than once.

Support for duplication detection is realized through allocating Operation Instance Id (see Section 4.1.2, "Operation Instance Identifier") to an operation by invoker. When an operation is invoked using duplication detection support, performer logs the Operation Instance Identifier and checks the next operations against duplication.

Operation value identifies whether performer should detect duplicate operations (see Section 4.1.1, ``Operation Value") and Operation Instance Id is assigned by invoker and sent as the first byte of operation's parameter.


Operation Value

Operation Values are divided into two groups. Operation values from 0 to 31 do not have Duplicate Operation Detection Support (0 to 31) and operation values from 32 to 63 have Duplicate Operation Detection Support.

Duplicate Operation Detection Functional Unit checks for duplication only if Operation Value is in the range of 32 to 63.

When invoker user uses an Operation Value in the range of 32 to 63 which means operation with support for duplication detection, the user should specify an Operation Instance ID for the operation (see next section).


Operation Instance Identifier

To support duplication detection, an Operation Instance Identifier is assigned by invoker user and sent as the first byte of the operation's parameter. This identifier is used on performer side to detect duplicate invocation of the same operation. Characteristics of Operation Instance Identifier is as follows:


next up previous contents
Next: EMSD PROCEDURE FOR OPERATIONS Up: Internet DRAFT EMSD - Previous: EFFICIENT MAIL SUBMISSION AND   Contents