Method for non-hierarchical lock management in a multi-system shared data environment
First Claim
1. A method for non-hierarchical locking of data resources in a shared data system including multiple database management systems (DBMS) connected to one or more data storage devices and to a global lock manager, the global lock manager receiving and granting requests for locks,each DBMS including a data cache, a cache manager, and a local lock manager for receiving, processing, and granting requests for a first type of lock (L lock) that serializes transaction access to data resources and for a second type of lock (P lock) for caching of a data resource in the cache,the method including the steps of:
- providing a request from a transaction to a local lock manager of a DBMS for an L lock on a data resource, and providing a request to the local lock manager from the cache manager of the DBMS for a P lock on the data resource;
a. responsive to receipt of either the L lock or the P lock, whichever is received first, by the local lock manager, transmitting to the global lock manager a request for a third type of lock (LP lock) that indicates interest on the part of the DBMS in the data resource, wherein said third type of lock hides from the global lock manager the type of the first received lock as being an L lock or a P lock; and
b. upon receipt by the local manager of a grant of the LP lock from the global lock manager, the local lock manager granting the request for the L lock or the P lock whichever is first.
0 Assignments
0 Petitions
Accused Products
Abstract
In a combination of multiple concurrently-executing database management systems which share data storage resources, efficient lock processing for shared data is implemented by hiding from a global lock manager the distinction between transaction-interest and cache-interest locks that are processed at the DBMS level. The local lock manager of a DBMS, in response to a request for either type of lock, may issue a request to the global lock manager for a system-level lock without disclosing to the global lock manager the type of lock requested of the local lock manager. After receipt of the system level lock, the local lock manager can grant either transaction or cache interest locks locally on a data resource if the combined mode of locally-held locks on that data resource is greater than or equal to the requested mode.
200 Citations
6 Claims
-
1. A method for non-hierarchical locking of data resources in a shared data system including multiple database management systems (DBMS) connected to one or more data storage devices and to a global lock manager, the global lock manager receiving and granting requests for locks,
each DBMS including a data cache, a cache manager, and a local lock manager for receiving, processing, and granting requests for a first type of lock (L lock) that serializes transaction access to data resources and for a second type of lock (P lock) for caching of a data resource in the cache, the method including the steps of: -
providing a request from a transaction to a local lock manager of a DBMS for an L lock on a data resource, and providing a request to the local lock manager from the cache manager of the DBMS for a P lock on the data resource; a. responsive to receipt of either the L lock or the P lock, whichever is received first, by the local lock manager, transmitting to the global lock manager a request for a third type of lock (LP lock) that indicates interest on the part of the DBMS in the data resource, wherein said third type of lock hides from the global lock manager the type of the first received lock as being an L lock or a P lock; and b. upon receipt by the local manager of a grant of the LP lock from the global lock manager, the local lock manager granting the request for the L lock or the P lock whichever is first. - View Dependent Claims (2, 6)
-
-
3. A method for inter-system data lock management in a combination with a global lock manager for processing system lock requests, one or more database storage resources, and a plurality of database management systems, each database management system (DBMS) including a cache for caching data resources at the DBMS, a cache manager, and a local lock manager coupled to the global lock manager, the method including the steps of:
-
maintaining at a first DBMS a list of locks granted by the first DBMS'"'"'s local lock manager, the locks including one or more locks of a first type (L lock) each L lock being granted to a respective transaction for a data resource, the plurality of locks further including one or more locks of a second type (P lock), each P lock being granted to the cache manager, each lock of the plurality of locks naming a data resource to which it applies; in response to receipt by the local lock manager of a request for a lock of either the first or the second type for a data resource not named in the table; sending a request from the local lock manager to the global lock manager for a lock of a third type (LP lock) for the data resource while hiding from the global lock manager the type of lock request received by the lock manager, the LP lock denoting interest of the first DBMS in the data resource; and placing the lock of either type in the list;
upon receipt of a grant of the LP lock from the global lock manager, granting the requested lock of either type by the local lock manager. - View Dependent Claims (4, 5)
-
Specification