1.3.1.1 Enlistment and Completion

The following sequence diagram is a schematic of the interactions that take place between a transaction program, a local LU, a transaction manager, and a remote LU when a logical unit of work is enlisted on a transaction and the transaction is completed.

MS-DTCLU enlistment

Figure 2: MS-DTCLU enlistment

All the exchanges depicted are notional, and are not intended to provide an accurate representation of any concrete protocol. The protocols involved are specified as follows:

  • The protocol between the local LU and the transaction manager is specified in sections 1.3.2.2.1 and 3.3.

  • The protocol between the transaction program and the transaction manager is specified in [MS-DTCO]. The transaction program plays the role of application, as specified in that document.

  • The protocol between the local LU and the remote LU is specified in [LU62Peer].

  • The protocol between the transaction program and the local LU is specified in [LU62Verb].

The general pattern is that of the Two-Phase Commit protocol described in [MS-DTCO]. A major difference is that the transaction manager does not communicate directly with all the participants in the transaction. Specifically, work performed by a transaction program that uses the remote LU is coordinated only indirectly, via the protocol between the local LU and the remote LU.

Note that the protocol specified in this document is applicable only where the local LU initiates the logical unit of work.

Note also that although the role played by the local LU is broadly similar to a resource manager, it does not correspond exactly with any of the roles specified by [MS-DTCO]. Consequently, this document specifies an additional role, LU 6.2 Implementation, in section 1.3.2.1.