| CPC G06F 16/2379 (2019.01) [G06F 16/27 (2019.01); G06F 16/9024 (2019.01)] | 19 Claims |

|
1. A system, comprising:
a memory or other storage device configured to store a directed acyclic graph comprising, for each of a plurality of transactions, data identifying the transaction, data indicating one or more prior transactions on which the transaction depends, and data indicating whether the transaction has been committed; and
a processor associated with a resource manager of a first database server included in a plurality of database servers each having a resource manager, the processor being coupled to the memory or other storage device and configured to:
determine, on behalf of the resource manager, based on the directed acyclic graph a leading edge comprising a set of committed leaf nodes of the directed acyclic graph;
provide data representing a respective leading edge from each respective resource manager of each of the plurality of database servers;
receive, via coordinator included in the processor, a respective leading edge from each respective resource manager of each of the plurality of database servers; and
determine to commit a transaction using the respective leading edges to determine to commit the transaction and based at least in part on a determination that a majority of the resource managers have indicated they agree on a consistent starting state and ending state for the transaction.
|