Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
265 words
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.
Claim 2
Independent Claim
265 words
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.
Claim 3
Dependent Claim
236 words
The method of claim 1, locks being granted in at least a first mode (X mode) denoting exclusive use of a data resource or a second mode (S mode) denoting shared use of a data resource, the X mode being of a relatively higher magnitude than the S mode: wherein, step (a) includes transmitting the request for the LP lock as a request in X mode, if the first request denotes X mode or in S mode if the first request denotes S mode; and wherein, the grant received in step (b) is in the mode of the first request; the method further including: (c) responsive to receipt of a subsequent request for a lock of any type by the local lock manager for the data resource, determining a resultant mode of all locks held on the data resource at the DBMS, the resultant mode being the highest magnitude of the held locks; (d.1) if the subsequent request is for a lock with a mode having a magnitude greater than the magnitude of the resultant mode, transmitting a request to the global lock manager for the LP lock on the data resource in the mode of the subsequent request; (d.2) upon receipt by the local lock manager of a grant of the LP lock in the requested mode, the local lock manager granting the subsequent request; otherwise, (e) the local lock manager granting the subsequent request.
Claim 4
Independent Claim
275 words
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.
Claim 5
Independent Claim
275 words
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.
Claim 6
Dependent Claim
135 words
The method of claim 3, further including: maintaining at the global lock manager a list of LP locks granted by the global lock manager, each LP lock denoting interest of a respective DBMS in a respective data resource; at the global lock manager: (1) granting the requested LP lock if it is not in the list; (2) granting the requested LP lock if the list includes an LP lock owned by a second DBMS and the listed LP lock is compatible with the requested LP lock; or (3) if the list includes an LP lock owned by a second DBMS and the listed LP lock is incompatible with the requested LP lock, granting the requested LP lock after the listed LP lock is released by the second DBMS; and (4) listing the requested LP lock.
Claim 7
Dependent Claim
155 words
The method of claim 3, wherein locks are granted in a plurality of modes, at least one mode being incompatible with other modes, the method further including: maintaining at the global lock manager a list of LP locks granted by the global lock manager, each LP lock denoting interest of a respective DBMS in a respective data resource; and (1) the global lock manager comparing the requested LP lock with LP locks in the list; (2) the global lock manager detecting incompatibility between the mode of the requested LP lock and the mode of a granted LP lock in the list, the granted LP lock denoting interest of a second DBMS in the resource; (3) the global lock manager sending a lock conflict message to the second DBMS; (4) the second DBMS conducting a lock conflict resolution process with the first DBMS to resolve the conflict and transfer the data resource to the first DBMS.
Claim 8
Dependent Claim
49 words
The method of claim 1, further including: receiving a second request for a lock of either type by the DBMS local lock manage for the data resource; and the local lock manager granting the second request without transmitting to the global lock manager a request for an LP lock.