MANAGING CONCURRENT TRANSACTIONS USING BLOOM FILTERS
First Claim
Patent Images
1. A computer-implemented method for managing concurrent transactions, the method comprising:
- recording locations written by a first transaction in a first Bloom filter;
recording locations to be read by a second transaction in a second Bloom filter; and
performing one of a cancellation or a commission of the second transaction based on an intersection of the first Bloom filter and the second Bloom filter.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method for managing concurrent transactions includes recording locations written by a first transaction in a first Bloom filter, recording locations to be read by a second transaction in a second Bloom filter, and performing one of a cancellation or a commission of the second transaction based on an intersection of the first Bloom filter and the second Bloom filter.
107 Citations
20 Claims
-
1. A computer-implemented method for managing concurrent transactions, the method comprising:
-
recording locations written by a first transaction in a first Bloom filter; recording locations to be read by a second transaction in a second Bloom filter; and performing one of a cancellation or a commission of the second transaction based on an intersection of the first Bloom filter and the second Bloom filter. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for managing concurrent transactions, the method comprising:
-
maintaining a list for a plurality of committed transactions, each entry in the list comprising a first write Bloom filter for storing locations to be written by a corresponding committed transaction; maintaining metadata for a plurality of pending transactions, the metadata comprising a first read Bloom filter for storing locations to read by a pending transaction and a second write Bloom filter for storing locations to be written by the pending transaction; and canceling the pending transaction when at least one bit of an intersection of a first write Bloom filter and the first read Bloom filter is set. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-implemented method for managing concurrent transactions, the method comprising:
-
recording locations written by a first transaction in a first Bloom filter of N bits, N being a natural number; recording locations to be read by a second transaction in a second Bloom filter of M bits, M being a natural number; and determining whether N is different from M after the first transaction has logically committed and when N is different from M, restarting the second transaction; recording locations read by the restarted second transaction in a third Bloom filter of N bits; and performing one of a cancellation or a commission of the second transaction based on an intersection of the first Bloom filter and the third Bloom filter. - View Dependent Claims (14, 15, 16)
-
-
17. A computer-implemented method for managing concurrent transactions, the method comprising:
-
maintaining a plurality of lists of committed transactions, each list comprising at least one Bloom filter, each list representing a different priority level, each Bloom filter in a respective list representing locations written by at least one committed transaction; generating a Bloom filter representing locations read by a pending transaction; increasing a priority level of the pending transaction when the pending transaction has aborted based on an intersection of the Bloom filter of the pending transaction and a Bloom filter of the plurality of lists; and restarting the pending transaction when transactions of the lists having a priority level higher than the increased priority level have completed. - View Dependent Claims (18, 19, 20)
-
Specification