Deterministic database systems
First Claim
1. A method comprising:
- acquiring a plurality of transactions for accessing a database, the plurality of transactions including a first transaction, a second transaction, and a third transaction, the first transaction being received before the second transaction and the third transaction being received after the second transaction, the database being associated with a plurality of locks;
identifying a logical serialization sequence for executing the first, second, and third transactions, the identifying including;
identifying that the first transaction is to be executed before the second transaction based on all locks, in the plurality of locks, that are required by the first transaction being available,identifying that the second transaction is to be executed after the first transaction has completed execution based on the second transaction requiring a lock, in the plurality of locks, that is required by the first transaction, andidentifying that the third transaction is to be executed before or during execution of the first transaction based on all locks, in the plurality of locks, required by the third transaction being different than the locks required by the first transaction; and
executing the first, second, and third transactions, based on the identified logical serialization sequence.
2 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a plurality of transactions for accessing a database may be acquired. The database may be associated with a plurality of locks. The plurality of transactions may include a first transaction, a second transaction, and a third transaction. A logical serialization sequence for executing the transactions may be identified. The logical serialization sequence may indicate that (1) the first transaction is to be executed before the second transaction based on all locks that are required by the first transaction being available; (2) the second transaction is to be executed after the first transaction has completed execution based on the second transaction requiring a lock that is required by the first transaction; and (3) the third transaction is to be executed before or during execution of the first transaction based on all locks required by the third transaction being different than the locks required by the first transaction.
24 Citations
14 Claims
-
1. A method comprising:
-
acquiring a plurality of transactions for accessing a database, the plurality of transactions including a first transaction, a second transaction, and a third transaction, the first transaction being received before the second transaction and the third transaction being received after the second transaction, the database being associated with a plurality of locks; identifying a logical serialization sequence for executing the first, second, and third transactions, the identifying including; identifying that the first transaction is to be executed before the second transaction based on all locks, in the plurality of locks, that are required by the first transaction being available, identifying that the second transaction is to be executed after the first transaction has completed execution based on the second transaction requiring a lock, in the plurality of locks, that is required by the first transaction, and identifying that the third transaction is to be executed before or during execution of the first transaction based on all locks, in the plurality of locks, required by the third transaction being different than the locks required by the first transaction; and executing the first, second, and third transactions, based on the identified logical serialization sequence. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
acquiring a plurality of transactions for accessing a database, the plurality of transactions including a first transaction and second transaction, the first transaction being received before the second transaction, the database being associated with a plurality of locks; decompose the first transaction into a third transaction and a fourth transaction based on; the first transaction including the third transaction and the fourth transaction, and the fourth transaction being dependent on a result of the third transaction; identifying a logical serialization sequence for executing the second and third transactions, the identifying including; identifying that the third transaction is to be executed before the second transaction based on all locks, in the plurality of locks, that are required by the third transaction being available, and identifying that the second transaction is to be executed after the third transaction has completed execution based on the second transaction requiring a lock, in the plurality of locks, that is required by the third transaction; and executing the second, and third transactions, based on the identified logical serialization sequence.
-
-
6. A non-transitory tangible computer-readable medium storing computer-executable instructions for:
-
acquiring a plurality of transactions for accessing a database, the plurality of transactions including a first transaction, a second transaction, and a third transaction, the first transaction being received before the second transaction and the third transaction being received after the second transaction, the database being associated with a plurality of locks; identifying a logical serialization sequence for executing the first, second, and third transactions, the identifying including; identifying that the first transaction is to be executed before the second transaction based on all locks, in the plurality of locks, that are required by the first transaction being available, identifying that the second transaction is to be executed after the first transaction has completed execution based on the second transaction requiring a lock, in the plurality of locks, that is required by the first transaction, and identifying that the third transaction is to be executed before or during execution of the first transaction based on all locks, in the plurality of locks, required by the third transaction being different than the locks required by the first transaction; and executing the first, second, and third transactions, based on the identified logical serialization sequence. - View Dependent Claims (7, 8, 9)
-
-
10. A system comprising:
-
processing logic for; acquiring a plurality of transactions for accessing a database, the plurality of transactions including a first transaction, a second transaction, and a third transaction, the first transaction being received before the second transaction and the third transaction being received after the second transaction, the database being associated with a plurality of locks, identifying a logical serialization sequence for executing the first, second, and third transactions, the identifying including; identifying that the first transaction is to be executed before the second transaction based on all locks, in the plurality of locks, that are required by the first transaction being available, identifying that the second transaction is to be executed after the first transaction has completed execution based on the second transaction requiring a lock, in the plurality of locks, that is required by the first transaction, and identifying that the third transaction is to be executed before or during execution of the first transaction based on all locks, in the plurality of locks, required by the third transaction being different than the locks required by the first transaction, and executing the first, second, and third transactions, based on the identified logical serialization sequence. - View Dependent Claims (11, 12, 13, 14)
-
Specification