Intelligent, optimistic concurrency database access scheme
First Claim
1. In an optimistic concurrency database access scheme, a method for minimizing conflicts comprising the steps of:
- a) permitting multiple users to access a data record concurrently, the data record including data items having a stored value;
b) generating concurrent cache copies of the data record for each user who accesses the data record, the cache copy including an initial value for each data item amongst a set of data items within the data record, the initial value being correlated to the stored value contained in the data record;
c) permitting each user to perform a transaction on a respective cache copy by interacting with one or more data items in the cached copy, the interactions me including modifying or reading the data items;
d) for each transaction, tracking which data items were modified and whether they were read; and
e) for any transaction that includes modified data items, committing the transaction if no data item has been read, and committing the transaction if the data items that were read contain the same value as the initial value.
7 Assignments
0 Petitions
Accused Products
Abstract
Methods for minimizing conflicts in an optimistic concurrency database access scheme are described. The method provides users or software processes with cache copies of database records and tracks which data items in the cache copy were modified and whether they were read, or read before ever being modified. A decision is then made using this information as to whether the current transaction can be committed to the database. The inventive scheme engrafts intelligence to the commitment decision process and accommodates many transactions which prior art schemes consider as conflicting. Consequently, the inventive method increases throughput in such systems.
18 Citations
21 Claims
-
1. In an optimistic concurrency database access scheme, a method for minimizing conflicts comprising the steps of:
-
a) permitting multiple users to access a data record concurrently, the data record including data items having a stored value;
b) generating concurrent cache copies of the data record for each user who accesses the data record, the cache copy including an initial value for each data item amongst a set of data items within the data record, the initial value being correlated to the stored value contained in the data record;
c) permitting each user to perform a transaction on a respective cache copy by interacting with one or more data items in the cached copy, the interactions me including modifying or reading the data items;
d) for each transaction, tracking which data items were modified and whether they were read; and
e) for any transaction that includes modified data items, committing the transaction if no data item has been read, and committing the transaction if the data items that were read contain the same value as the initial value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In an optimistic concurrency database access scheme, a method for minimizing conflicts comprising the steps of:
-
a) permitting multiple users to access a data record concurrently, the data record including data items having a stored value;
b) generating concurrent cache copies of the data record for each user who accesses the data record, the cache copy including an initial value for each data item amongst a set of data items within the data record, the initial value being correlated to the stored value contained in the data record;
c) permitting each user to perform a transaction on a respective cache copy by interacting with one or more data items in the cached copy, the interactions including modifying or reading the data items;
d) for each data item in the transaction, using a first bit to track whether the data item was modified and a second bit to track the occurrence of a first prescribed operation relative to a second prescribed operation on the data item; and
e) for any transaction that includes modified data items, committing the transaction in response to at least one predetermined criterion. - View Dependent Claims (11, 12, 13, 14, 16, 17, 18, 19, 20, 21)
-
-
15. In an optimistic concurrency database access scheme, a method for minimizing conflicts comprising:
-
a) a step for permitting multiple users to access a data record concurrently, the data record including data items having a stored value;
b) a step for generating concurrent cache copies of the data record for each user who accesses the data record, the cache copy including an initial value for each data item amongst a set of data items within the data record, the initial value being correlated to the stored value contained in the data record;
c) a step for permitting each user to perform a transaction on a respective cache copy by interacting with one or more data items in the cached copy, the interactions including modifying or reading the data items;
d) for each transaction, a step for tracking which data items were modified and whether they were read; and
e) for any transaction that includes modified data items, a step for committing the transaction if no data item has been read, and a step for committing the transaction if the data items that were read contain the same value as the initial value.
-
Specification