← Back to Patent Explorer
US5745747A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system of lock request management in a data processing system having multiple processes per transaction

Assignee: International Business Machines Corp
•
Filing: 1996-12-20
•
Granted: 1998-04-28
•
Expires: 2016-12-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system and method which manages lock requests at both the transaction and process levels. A lock manager allocates one lock request block (LRB) per process and identifies the ownership of the lock by storing process, transaction and shared IDs in the LRB. The process ID is used to identify which lock to release when a process wants to release the lock before transaction commit while the transaction ID is used to identify all locks to be released at the commit/roll back time of the transaction. The shared ID is a unique value which identifies the lock. The LRB also has a granted transaction mode (GTM) field which stores a value representing the upper bound of the lock modes granted to the transaction. Whenever a lock is granted or released, the GTM of the transaction is recomputed.

Inventors

  • 👤 Amy Chang
  • 👤 Hui-I Hsiao

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 12:07
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/466

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 202 words
A method, of managing a request for a lock to a resource in a data processing system which processes a plurality of transactions having a plurality of processes per transaction wherein each process generates a lock request, comprising the steps of: creating a lock request block for each process; storing mode data in each lock request block to indicate the mode of the requested lock; calculating, in a processor, a granted transaction mode for each lock request block; storing, in a memory, the granted transaction mode in each lock request block; performing the following steps when a second process of a transaction generates a lock request for a lock to a resource granted to a first process of said transaction: comparing the granted transaction mode with the mode data in the lock request block corresponding to the second process to determine if the lock request is compatible with the granted transaction mode; and granting, by the first process, the lock to the second process if the granted transaction mode is compatible with the lock request; and recalculating, in the processor, the granted transaction mode each time the lock is granted to a process of said transaction to prevent said transaction from deadlocking.
Claim 2
Independent Claim 202 words
A method, of managing a request for a lock to a resource in a data processing system which processes a plurality of transactions having a plurality of processes per transaction wherein each process generates a lock request, comprising the steps of: creating a lock request block for each process; storing mode data in each lock request block to indicate the mode of the requested lock; calculating, in a processor, a granted transaction mode for each lock request block; storing, in a memory, the granted transaction mode in each lock request block; performing the following steps when a second process of a transaction generates a lock request for a lock to a resource granted to a first process of said transaction: comparing the granted transaction mode with the mode data in the lock request block corresponding to the second process to determine if the lock request is compatible with the granted transaction mode; and granting, by the first process, the lock to the second process if the granted transaction mode is compatible with the lock request; and recalculating, in the processor, the granted transaction mode each time the lock is granted to a process of said transaction to prevent said transaction from deadlocking.
Claim 3
Dependent Claim 24 words
The method of claim 1, wherein said calculating step comprises the step of computing an upper bound of lock requests granted to said transaction.
Claim 4
Dependent Claim 23 words
The method of claim 1, further comprising the step of grouping each lock request block in a queue associated with the lockable resource.
Claim 5
Dependent Claim 31 words
The method of claim 1, further comprising the steps of: determining a process ID for said lock request from said process; and storing said process ID in said lock request block.
Claim 6
Dependent Claim 31 words
The method of claim 1, further comprising the steps of: determining a transaction ID for said lock request from said transaction; and storing said transaction ID in said lock request block.
Claim 7
Dependent Claim 28 words
The method of claim 1, further comprising the steps of: determining a shared ID for said lock request; and storing said shared ID in said lock request block.
Claim 8
Dependent Claim 23 words
The method of claim 1, further comprising the step of checking an existing granted transaction mode to determine compatibility with said lock request.
Claim 9
Dependent Claim 40 words
The method of claim 1, further comprising the steps of: calculating a granted group mode associated with a lockable resource when said lock request block is granted; and calculating said granted group mode when said lock request block is released.
Claim 10
Dependent Claim 229 words
A data processing system for managing a request for a lock to a resource, comprising: a processing unit for processing a plurality of transactions having a plurality of processes per transaction wherein each process generates a lock request; a database system processed by said processing unit; a lock manager associated with said data base system for creating a lock request block for each said process; calculating means associated with said database system for calculating a granted transaction mode for said lock request block; storing means associated with said database system for storing said granted transaction mode and mode data for indicating the mode of the requested lock in said lock request block; wherein said lock manager compares, when a second process of a transaction generates a lock request for a lock to a resource granted to a first process of said transaction, said granted transaction mode with said mode data in said lock request block corresponding to said second process to determine if said lock request is compatible with said granted transaction mode and wherein said lock is granted, by said first process, to said second process if said granted transaction mode is compatible with said lock request; and wherein said calculating means includes means for recalculating said granted transaction mode each time said lock is granted to a process of said transaction to prevent said transaction from deadlocking.
Claim 11
Dependent Claim 229 words
A data processing system for managing a request for a lock to a resource, comprising: a processing unit for processing a plurality of transactions having a plurality of processes per transaction wherein each process generates a lock request; a database system processed by said processing unit; a lock manager associated with said data base system for creating a lock request block for each said process; calculating means associated with said database system for calculating a granted transaction mode for said lock request block; storing means associated with said database system for storing said granted transaction mode and mode data for indicating the mode of the requested lock in said lock request block; wherein said lock manager compares, when a second process of a transaction generates a lock request for a lock to a resource granted to a first process of said transaction, said granted transaction mode with said mode data in said lock request block corresponding to said second process to determine if said lock request is compatible with said granted transaction mode and wherein said lock is granted, by said first process, to said second process if said granted transaction mode is compatible with said lock request; and wherein said calculating means includes means for recalculating said granted transaction mode each time said lock is granted to a process of said transaction to prevent said transaction from deadlocking.
Claim 12
Dependent Claim 23 words
The data processing system of claim 9, wherein said calculating means calculates an upper bound of said lock requests received from said process.
Claim 13
Dependent Claim 24 words
The data process system of claim 9, further comprising: a queue for storing said lock request blocks, said queue associated with a lockable resource.
Claim 14
Dependent Claim 31 words
The data processing system of claim 9, further comprising: a process ID associated with said process; and process ID storing means for storing said process ID in said lock request block.
Claim 15
Dependent Claim 31 words
The data processing system of claim 9, further comprising: a transaction ID associated with said transaction; and transaction ID storing means for storing said transaction ID in said lock request block.
Claim 16
Dependent Claim 32 words
The data processing system of claim 9, further comprising: a shared ID associated with said lock request; and shared ID storing means for storing said shared ID in said lock request block.
Claim 17
Dependent Claim 31 words
The data processing system of claim 9, further comprising: an existing granted transaction mode; checking means for checking said existing granted transaction mode for compatibility with one of said lock requests.
Claim 18
Dependent Claim 48 words
The data processing system of claim 9, further comprising: a lockable resource; a granted group mode associated with said lockable resource; and granted group mode calculating means for calculating said granted group mode when said lock request block is granted and when said lock request block is released.

References Cited (Backward Citations)

US4716528A Cited
US4897782A Cited
US5117352A Cited
US5161227A Cited
US5062038A Cited
US5063504A Cited
US5063501A Cited
US5247672A Cited
US5355477A Cited
US5414839A Cited
US5485607A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-04-27 2001-10-27 2002-04-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-04-27 2005-10-27 2006-04-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-04-27 2009-10-27 2010-04-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag