Parameterized lock management system and method for conditional conflict serializability of transactions
First Claim
1. A resource lock management system, comprising:
- a lock data structure storing lock data representing granted and pending resource lock requests, wherein the data representing each granted and pending resource lock request includes;
data indicating a resource to which access has been granted or requested, and an access mode associated with the resource lock request;
wherein a subset of the granted and pending resource lock requests are parameterized resource lock requests and the data representing each resource lock request in the subset further includes one or more parameter values indicating a data reliability classification associated with the resource lock request; and
a lock manager for evaluating, granting and denying resource lock requests, including determining when a resource lock request is unconditionally conflicting with any granted resource lock request, determining when the resource lock request is conditionally conflicting with any granted resource lock request, and evaluating the resource lock request with respect to each conditionally conflicting granted resource lock request by performing a predefined comparison of the parameter values for the resource lock request with the parameter values for each conditionally conflicting granted resource lock request.
2 Assignments
0 Petitions
Accused Products
Abstract
A database management system (DBMS) is modified to provide improved concurrent usage of database objects, particularly when the system is executing long lived transactions. A subset of the transactions access database objects using parameterized read and parameterized write access modes. Each transaction using a parameterized write mode of access for a database object specifies a write access mode, and a write access mode parameter, where the parameter indicates a data reliability classification. Each transaction using a parameterized read mode of access for a database object specifies a read access mode, and a read access mode parameter, where the parameter indicates one or more reliability classifications that are acceptable to the transaction. Whenever a transaction requests access to a specified database object, the DBMS generates a corresponding lock request for the object. If the lock request is a parameterized lock request, a corresponding parameterized lock request is generated. A lock manager processes each lock request by checking to see if any outstanding, previously granted lock is unconditionally conflicting or conditionally conflicting with the requested lock. Two lock requests are unconditionally conflicting if their resource range overlaps and the access modes of the two requests are incompatible. Two requests are conditionally conflicting if analysis of their read/write parameters is necessary to determine whether a conflict exists. A conditional conflict is resolved by determining whether the write parameters for the write lock in question are a subset of the read parameters for the read lock in question.
-
Citations
9 Claims
-
1. A resource lock management system, comprising:
-
a lock data structure storing lock data representing granted and pending resource lock requests, wherein the data representing each granted and pending resource lock request includes;
data indicating a resource to which access has been granted or requested, and an access mode associated with the resource lock request;wherein a subset of the granted and pending resource lock requests are parameterized resource lock requests and the data representing each resource lock request in the subset further includes one or more parameter values indicating a data reliability classification associated with the resource lock request; and a lock manager for evaluating, granting and denying resource lock requests, including determining when a resource lock request is unconditionally conflicting with any granted resource lock request, determining when the resource lock request is conditionally conflicting with any granted resource lock request, and evaluating the resource lock request with respect to each conditionally conflicting granted resource lock request by performing a predefined comparison of the parameter values for the resource lock request with the parameter values for each conditionally conflicting granted resource lock request. - View Dependent Claims (2, 3)
-
-
4. A resource lock management method, comprising the steps of:
-
storing lock data representing granted and pending resource lock requests, wherein the data representing each granted and pending resource lock request includes;
data indicating a resource to which access has been granted or requested, and an access mode associated with the resource lock request;wherein a subset of the granted and pending resource lock requests are parameterized resource lock requests and the data representing each resource lock request in the subset further includes one or more parameter values indicating a data reliability classification associated with the resource lock request; and evaluating, granting and denying resource lock requests, including determining when a resource lock request is unconditionally conflicting with any granted resource lock request, determining when the resource lock request is conditionally conflicting with any granted resource lock request, and evaluating the resource lock request with respect to each conditionally conflicting granted resource by performing a predefined comparison of the parameter values for the resource lock request with the parameter values for each conditionally conflicting granted resource lock request. - View Dependent Claims (5, 6)
-
-
7. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
instructions for storing lock data representing granted and pending resource lock requests, wherein the data representing each granted and pending resource lock request includes;
data indicating a resource to which access has been granted or requested, and an access mode associated with the resource lock request;wherein a subset of the granted and pending resource lock requests are parameterized resource lock requests and the data representing each resource lock request in the subset further includes one or more parameter values indicating a classification associated with the resource lock request; and lock manager means for evaluating, granting and denying resource lock requests, including determining when a resource lock request is unconditionally conflicting with any granted resource lock request, determining when the resource lock request is conditionally conflicting with any granted resource lock request, and evaluating the resource lock request with respect to each conditionally conflicting granted resource lock request by performing a predefined comparison of the parameter values for the resource lock request with the parameter values for each conditionally conflicting granted resource lock request. - View Dependent Claims (8, 9)
-
Specification