Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-implemented method, comprising: generating an access set, which is a set of database entries to be accessed by each of a plurality of transactions, which are to be executed for a database of replica of common data in each of a plurality of member nodes that each store the database; and generating a batch that is to be executed by each of the plurality of member nodes and includes two or more transactions that lack an access conflict, based on the access set of each of the plurality of transactions to be executed; performing parallel execution of any of the plurality of transactions included in the batch including performing speculative execution for remaining transactions among the plurality of transactions to be executed to generate a next batch; performing a process to reach a consensus for the batch with the plurality of member nodes; and committing the two or more transactions included in the batch, in response to a consensus being reached for the batch among the computer and the plurality of member nodes.
This invention relates to distributed database systems where multiple member nodes maintain replicas of common data. The problem addressed is ensuring efficient and conflict-free execution of transactions across these nodes while maintaining data consistency. The method involves generating an access set for each transaction, which identifies the database entries that will be accessed. These access sets are used to create batches of transactions that do not conflict with each other, allowing parallel execution. The system performs speculative execution for remaining transactions to generate subsequent batches. A consensus process is then conducted among the member nodes to validate the batch. Once consensus is reached, the transactions in the batch are committed, ensuring atomicity and consistency across the distributed system. This approach optimizes transaction processing by minimizing conflicts and leveraging parallel execution while maintaining data integrity through consensus mechanisms. The method is particularly useful in high-availability distributed databases where low-latency and high-throughput transaction processing are critical.
2. The computer-implemented method according to claim 1 , wherein performing the parallel execution includes performing speculative execution of the plurality of transactions to be executed, and wherein the generating the access set includes generating the access set of each of the plurality of transactions to be executed, based on results of the speculative execution.
3. The computer-implemented method according to claim 1 , wherein the speculative execution is started after the two or more transactions included in the batch have been committed.
The invention relates to computer-implemented methods for managing speculative execution in transaction processing systems. The problem addressed is optimizing performance by reducing unnecessary speculative execution while ensuring data consistency. The method involves processing batches of transactions, where speculative execution is deferred until after all transactions in the batch have been committed. This ensures that speculative operations are only performed on committed data, avoiding wasted computational effort on transactions that may later be aborted. The method includes monitoring transaction states, detecting when all transactions in a batch have reached a committed state, and then initiating speculative execution based on the committed results. This approach improves efficiency by preventing speculative work on uncommitted transactions and reduces the risk of inconsistencies in the system. The method may also involve tracking dependencies between transactions to determine the optimal timing for speculative execution. By delaying speculative execution until commitment, the system avoids unnecessary overhead and ensures that speculative operations are only performed on valid, committed data. This technique is particularly useful in high-throughput transaction processing environments where minimizing speculative work is critical for performance.
4. The computer-implemented method according to claim 1 , wherein the speculative execution is started before the two or more transactions included in the batch have been committed.
This invention relates to computer-implemented methods for optimizing transaction processing in database systems, particularly focusing on speculative execution to improve performance. The problem addressed is the inefficiency in traditional transaction processing where transactions are executed sequentially, leading to delays and underutilization of computational resources. The solution involves a method where speculative execution of transactions is initiated before the transactions in a batch are fully committed, allowing the system to proceed with subsequent operations without waiting for prior transactions to complete. This reduces idle time and improves throughput. The method includes grouping transactions into batches, identifying dependencies between them, and executing transactions speculatively based on predicted outcomes. If a speculative execution is incorrect, the system rolls back the affected transactions, ensuring data consistency. The approach leverages predictive algorithms to determine the likelihood of successful execution, minimizing the overhead of rollbacks. By starting speculative execution early, the system can process transactions more efficiently, especially in high-throughput environments where latency is critical. The invention also includes mechanisms to validate speculative results and integrate them into the main transaction log once confirmed, maintaining data integrity while enhancing performance.
5. The computer-implemented method according to claim 4 , wherein performing the parallel execution includes, when performing the speculative execution of the remaining transactions to generate the next batch, speculatively reading data scheduled to be written to the database by uncommitted transactions in the batch.
6. The computer-implemented method according to claim 4 , wherein performing the parallel execution includes, when performing the speculative execution of the remaining transactions to generate the next batch, uses results of a previous speculative execution for transaction that did not have a write-read conflict with other transactions that had already been executed to generate the batch or a previous batch.
Unknown
January 19, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.