Browse Prior Art Database

Combining Presumed Abort Two Phase Commit Protocols with SNA's Last Agent Optimization

IP.com Disclosure Number: IPCOM000122651D
Original Publication Date: 1991-Dec-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 5 page(s) / 177K

Publishing Venue

IBM

Related People

Citron, A: AUTHOR [+2]

Abstract

Transaction processing uses protocols called two-phase commit protocols. With this scheme the number of messages to commit a transaction are 4(n-1), where n is the number of participants. With the 'last resource optimization' that is used in LU 6.2, one partner is sent one-half of the messages that is sent to other partners.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 46% of the total text.

Combining Presumed Abort Two Phase Commit Protocols with SNA's Last
Agent Optimization

      Transaction processing uses protocols called two-phase
commit protocols.  With this scheme the number of messages to commit
a transaction are 4(n-1), where n is the number of participants. With
the 'last resource optimization' that is used in LU 6.2, one partner
is sent one-half of the messages that is sent to other partners.

      Presumed-abort protocols are an enhancement to the basic
two-phase commit protocols. The presumed-abort enhancement is that
fewer disk I/Os need to be performed. In some cases no disk I/Os need
to be performed.

      The last agent optimization of LU 6.2 requires at least one
disk I/O.  Therefore, the last agent optimization is not always an
optimization when using presumed-abort protocols.

      The problem solved by this invention is how to take advantage
of the last agent optimization savings in communication overhead and
also take advantage of the presumed-abort disk I/O savings.

      Fig. 1 shows an example of two-phase commit flows when not
using the optimized last agent.

      Fig. 2 shows an example when using the optimized last agent.

      An important point is that the figures show the disk I/O
required for today's LU 6.2 SYNCPT protocols.  For presumed-abort
protocols the I/O that writes INITIATOR, SPM PENDING is omitted.

      That means that for presumed-abort, there is no logging when
sending the first record to the partner.  However, when sending to an
optimized last agent, INITIATOR, IN-DOUBT must be written to
non-volatile storage.

      This article discloses a way to send to an optimized last agent
without writing to non-volatile storage first.

      It should be noted that a read-only transaction does not have
to be involved in recovery logic in the event that a failure occurs
prior to the completion of the commit protocols.  For read-only
transactions disk I/O can be avoided.

      The following notes correspond to the numbers in Fig. 1.
1.  Before sending Prepare, the initiator logs [INITIATOR, SPM
PENDING].  The log is forced.
2.  After Request Commit is received from all agents and before
Committed is sent, [INITIATOR, COMMITTED] is logged. The log is
forced.  This commits the transaction.  Since the last agent
optimization is not used, the initiator is the one that decides
whether to commit or back out.
3.  When Forget is received from all agents, the LUW is forgotten.
This entails erasing the log or logging FORGOTTEN.  The log does not
have to be forced. It will be forced to disk at the beginning of the
next SYNCPT invocation or when the LU shuts down.

      The next LUW is started. This next LUW does not have logged
until the next time the SYNCPT verb is issued.

      The following notes correspond to the numbers in Fig. 2.
1.  The initiator logs [INITIATOR, SPM PENDING] before sending
Prepare to any not-last agents. ...