US 12,436,944 B2
Database system with transactional commit protocol based on safe conjunction of majorities
Mats Tobias Lindaaker, Malmo (SE); and James Webber, Guildford (GB)
Assigned to Neo4j Sweden AB, San Mateo, CA (US)
Filed by Neo4j Sweden AB, San Mateo, CA (US)
Filed on Mar. 6, 2024, as Appl. No. 18/597,698.
Application 18/597,698 is a continuation of application No. 17/984,993, filed on Nov. 10, 2022, granted, now 11,960,478.
Application 17/984,993 is a continuation of application No. 16/860,570, filed on Apr. 28, 2020, granted, now 11,544,251, issued on Jan. 3, 2023.
Prior Publication US 2024/0211471 A1, Jun. 27, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/23 (2019.01); G06F 16/27 (2019.01); G06F 16/901 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/27 (2019.01); G06F 16/9024 (2019.01)] 19 Claims
OG exemplary drawing
 
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.