Source: https://patents.google.com/patent/US5258982?oq=5319712
Timestamp: 2018-03-24 18:47:34
Document Index: 282358818

Matched Legal Cases: ['art 2', 'art 2', 'art 1', 'art 1', 'art 3', 'art 3']

US5258982A - Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system - Google Patents
Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system Download PDF
US5258982A
US5258982A US07696667 US69666791A US5258982A US 5258982 A US5258982 A US 5258982A US 07696667 US07696667 US 07696667 US 69666791 A US69666791 A US 69666791A US 5258982 A US5258982 A US 5258982A
US07696667
1. In a distributed transaction network having a plurality of nodes forming a logical tree and using a two-phase sync point protocol for determining to commit or backout a transaction in the network, a method of reducing the number of sync point messages in the network to control transaction processing, comprising the steps of
in response to the beginning of a sync point operation on the present transaction x, determining at each node if each partner node stated during an earlier transaction that it could be left out of sync point operations for the present transaction x,
for each partner node that stated it could be left out, determining if the partner node was included by this node during the present transaction x, and
if the partner node was not included during the present transaction x, excluding the partner node from the present sync point operations.
2. The method of claim 1 wherein a sync point operation comprises propagating a prepare to commit message from a sync point initiator node to the remaining nodes of the network, propagating agree or not agree messages to the sync point initiator in response to the prepare to commit message and propagating a commit or backout message from the sync point initiator node to the remaining nodes of the network, wherein the step of excluding further comprises
propagating the prepare to commit message to nodes that stated during a previous sync point operation that they could not be left out of sync point operations for transaction x.
3. The method of claim 2 wherein the step of excluding further comprises
propagating the prepare to commit message to nodes that were included in transaction x.
4. The method of claim 3 wherein the step of excluding further comprises
omitting the propagation of prepare to commit messages to all other nodes.
5. The method of claim 2 or claim 3 or claim 4 further comprising the step of determining if a partner node that is a child node in the present sync point operation has stated that it can be left out of sync point operations for the next transaction by
interrogating a first indication in an agree message from the child node, the state of the first indication indicating whether or not the child node can be left out of the next sync point operation from that child node's point of view.
6. The method of claim 5 further comprising the step of determining if a partner node that is a parent node in the present sync point operation has stated that it can be left out of sync point operations for the next transaction by
interrogating a second indication in a commit message from the parent node, the state of the second indication indicating whether or not the parent node can be left out from that parent node's point of view.
7. The method of claim 2 further comprising the following steps performed at each node that is not the sync point initiator,
propagating a prepare to commit message to each of its children nodes in response to receipt of a prepare to commit message from its parent node,
waiting for a response agree or not agree message from the children nodes in response to the prepare to commit message,
setting a first indication to an okay to leave out state in an agree message to the parent node if all children indicated in their responses that they can be left out and the present node agrees that it can also be left out.
8. The method of claim 7 wherein the setting of the first indication in an agree message further comprises
determining if the connection to the parent node is a half duplex connection,
if the connection is a half duplex connection, determining if the state of the connection at the end of the sync point operation will be a receive state from the parent, and
if so, setting the first indication in the agree message to the parent to the okay to leave out state, and otherwise,
setting the first indication to the parent to the not okay to leave out state.
9. The method of claim 7 further comprising the following steps performed at each node that is not the sync point initiator,
in response to a commit message from a parent node, for each child node, determining if all the other partner nodes, including the parent node, have agreed that they can be left out of the next sync point operation,
if so, determining if the child node has indicated that it cannot be left out of the next sync point operation,
if so, setting the second indication to the okay to leave out state in a commit message to the child node.
determining if the connection to the child is a half duplex connection,
if the connection is a half duplex connection, determining if the state of the connection at the end of this sync point operation will be a receive state from the child, and
if so, setting the second indication in the commit message to the child to the okay to leave out state, and
otherwise, setting the second indication to the child to the not okay to leave out state.
11. The method of claim 1 further comprising the following steps performed at the sync point initiator,
propagating a prepare to commit message to each of its children nodes that has not indicated that it okay to be left out or that has participated in the present transaction,
waiting for a response message to the prepare to commit message from each of the children nodes,
determining if all responses to the prepare to commit message are agree,
if so, for each child, determining if the child has indicated that it cannot be left out of the next sync point operation,
if so, determining if all other children nodes have indicated that they can be left out,
if so, setting the second indication in a commit message to the child node to the okay to leave out state.
12. The method of claim 11 wherein setting the second indication in a commit message further comprises
if the connection is a half duplex connection, determining if the state of the connection at the end of this sync point operation will be a receive state from the child,
13. In a distributed transaction network having a plurality of nodes logically configured into a tree for each database transaction, a method of reducing the number of protocol messages that flow in the network to control transaction processing, comprising the steps of
at each node that performs work for transaction x,
determining if the node will perform work at its own initiative on transaction x+1,
if the node will not perform work at its own initiative on transaction x+1, informing its parent node during transaction x that it may be excluded during processing of transaction x+1, and
at each node performing work during transaction x+1,
determining if a child node previously indicated that it may be excluded during this transaction, and, if so,
transmitting protocol messages to the child node only if this node has need of the transaction services of the child node.
14. For use in a distributed transaction network having a plurality of nodes forming a logical tree and using a two phase sync point protocol for determining to commit or backout a transaction in the network, apparatus at each node for reducing the number of sync point messages in the network to control transaction processing, comprising
first means responsive to a first signal from each partner node on a sync point operation pertaining to a past transaction for determining if it is okay to leave the partner out of sync point operations for a present transaction,
second means for determining if the partner node has been included by this node in the present transaction, and
means responsive to a first state of the first signal and to the determining means for excluding the partner node from the present sync point operations if the partner node was not included during the present transaction.
15. The apparatus of claim 14 wherein a sync point operation comprises propagating a prepare to commit message from a sync point initiator node to the remaining nodes of the network, propagating agree or not agree messages to the sync point initiator in response to the prepare to commit message and propagating a commit or backout message from the sync point initiator node to the remaining nodes of the network, wherein the excluding means further comprises
means responsive to a second state of the first signal from a node for propagating the prepare to commit message to the node.
16. The apparatus of claim 15 wherein the excluding means further comprises
means responsive to the second determining means for propagating the prepare to commit message to the node if it participated in the present transaction.
17. The apparatus of claim 16 wherein the excluding means further comprises
means responsive to the first state of the first signal and to the second determining means for omitting the propagation of the prepare to commit message to the node.
means at each node for determining that the node is not the sync point initiator,
means for propagating a prepare to commit message to each of its children nodes in response to receipt of a prepare to commit message from its parent node,
means for waiting for a response message from each of the children nodes to the prepare to commit message,
means for setting the first signal to the first state in an agree message to the parent node if the first indication in all responses from the children are set to the first state and the present node agrees that it can be left out of the next sync point operation.
third means for determining if the connection to the parent node is a half duplex connection,
fourth means for determining that the state of the half duplex connection at the end of this sync point operation will be in a receive state from the parent, and
means responsive to the fourth means for setting the first signal in the agree message to the parent to the first state.
third means responsive to a commit message from a parent node for determining for each child node if all the first signals from all other partner nodes, including the parent node, is set to the first state,
fourth means responsive to the third determining means for determining if the first signal from the child node is set to the second state,
means responsive to the fourth determining means for setting the second signal to the first state in a commit message to the child node.
fifth means for determining if the connection to the child is a half duplex connection,
sixth means responsive to the last mentioned means for determining if the state of the connection at the end of this sync point operation will be a receive state from the child, and
means responsive to the sixth determining means for setting the second signal in the commit message to the child to the first state.
third means for determining if a node is the sync point initiator,
means responsive to the third determining means for propagating a prepare to commit message to each of its children nodes for which the first signal is set to the second state,
fourth means for determining if all responses to the prepare to commit message are agree,
fifth means responsive to the fourth determining means for determining for each child if the first signal is set to the second state,
sixth means responsive to the fifth determining means for determining if the first signal from all other children nodes is set to the first state, and
means responsive to the sixth determining means for setting the second signal in a commit message to the child node to the first state.
seventh means for determining if the connection to the child is a half duplex connection,
eighth means responsive to the seventh determining means for determining if the state of the connection at the end of this sync point operation will be a receive state from the child,
means responsive to the eighth determining means for setting the second signal in the commit message to the child to the first state, and
means for otherwise setting the second signal to the child to the second state.
US07696667 1991-05-07 1991-05-07 Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system Expired - Fee Related US5258982A (en)
US07696667 US5258982A (en) 1991-05-07 1991-05-07 Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
JP8182492A JPH0675261B2 (en) 1991-05-07 1992-04-03 How to reduce the number of methods and devices, as well as the protocol message through the network to reduce the number of sync point messages in the network to control the transaction process
EP19920480055 EP0514306A2 (en) 1991-05-07 1992-04-07 Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
US5258982A true US5258982A (en) 1993-11-02
ID=24798066
US07696667 Expired - Fee Related US5258982A (en) 1991-05-07 1991-05-07 Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
US (1) US5258982A (en)
EP (1) EP0514306A2 (en)
JP (1) JPH0675261B2 (en)
US20120166407A1 (en) * 2010-12-28 2012-06-28 Juchang Lee Distributed Transaction Management Using Two-Phase Commit Optimization
ISO/IEC JTC 1/SC 21 N2607 Information Processing Systems Part 2. *
ISO/IEC JTC 1/SC 21 N2607 Information Processing Systems-Part 2.
ISO/IEC JTC 1/SC 21 N2608 Information Processing Systems Part 1. *
ISO/IEC JTC 1/SC 21 N2608 Information Processing Systems-Part 1.
ISO/IEC JTS 1/SC 21 N2608 Information Processing Systems Part 3. *
ISO/IEC JTS 1/SC 21 N2608 Information Processing Systems-Part 3.
Transaction Management in the R* Distributed Database Management System, by C. Mohan, B. Lindsay, and R. Obermarck. *
JPH0628292A (en) 1994-02-04 application
JPH0675261B2 (en) 1994-09-21 grant
JP1938748C (en) grant
EP0514306A2 (en) 1992-11-19 application
Smith 1980 The contract net protocol: High-level communication and control in a distributed problem solver
Raynal et al. 1991 The causal ordering abstraction and a simple way to implement it
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:BRITTON, KATHRYN H.;CITRON, ANDREW P.;MOHANM CHANDRASEKARAN;AND OTHERS;REEL/FRAME:005725/0508;SIGNING DATES FROM 19910522 TO 19910604