Patent US5764976A successfully refreshed from Google Patents.
US5764976A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system of deadlock detection in a data processing system having transactions with multiple processes capable of resource locking
Assignee: International Business Machines Corp
•
Filing: 1995-02-06
•
Granted: 1998-06-09
•
Expires: 2015-02-06
Abstract
Abstract A deadlock detection system and method that checks the state of a lock owning process and the duration of the lock before adding an edge to the wait-for graph. If the lock owning process is not in the wait state and the lock is of medium duration, no edge is added to the wait-for graph.
Inventors
- 👤 Hui-I Hsiao
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 07:10
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/524
Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
144 words
A method of detecting deadlock in a data processing system comprising the steps of: scanning a wait-for table for a process in a wait state, said process waiting for a resource and referred to as said waiting process; checking a waitee corresponding to a second process having a lock on the resource being waited for by said waiting process to determine if said waitee is in a wait state waiting for another resource; adding an edge to a wait-for graph if said waitee is in the wait state; and if said waitee is not in the wait state, checking a requested duration of the lock held by said waitee and adding an edge to said wait-for graph if the requested duration of the lock held by said waitee is greater than a predetermined limit, wherein a premature detection of a deadlock situation is avoided.
Claim 2
Independent Claim
144 words
A method of detecting deadlock in a data processing system comprising the steps of: scanning a wait-for table for a process in a wait state, said process waiting for a resource and referred to as said waiting process; checking a waitee corresponding to a second process having a lock on the resource being waited for by said waiting process to determine if said waitee is in a wait state waiting for another resource; adding an edge to a wait-for graph if said waitee is in the wait state; and if said waitee is not in the wait state, checking a requested duration of the lock held by said waitee and adding an edge to said wait-for graph if the requested duration of the lock held by said waitee is greater than a predetermined limit, wherein a premature detection of a deadlock situation is avoided.
Claim 3
Dependent Claim
28 words
The method of claim 1, further comprising the step of checking said wait-for graph for cycles, wherein the presence of a cycle is indicative of a deadlock situation.
Claim 4
Dependent Claim
34 words
The method of claim 1, further comprising the step of rolling back either said waitee or said waiting process when said waitee or said waiting process is considered a member of a deadlocked group.
Claim 5
Dependent Claim
13 words
The method of claim 1, wherein said predetermined limit is a medium duration.
Claim 6
Dependent Claim
175 words
A data processing system for detecting deadlock, comprising: a processing unit; a database management system processed by said processing unit; a first locked resource; a second locked resource; a table associated with said database management system, said table having first and second entries associated with said first and second locked resources, said first and second entries each having a waiting process and a waitee, wherein a respective waitee corresponds to a process having a lock on the resource being waited for by a respective waiting process; a wait-for graph; first edge building means for building an edge in said wait-for graph when said waitee of said first locked resource is said waiting process of said second locked resource; and second edge building means for building an edge in said wait-for graph when said waitee of said first locked resource is not said waiting process of said second locked resource and a requested lock duration of said first locked resource is greater than a predetermined limit, wherein a premature detection of a deadlock situation is avoided.
Claim 7
Dependent Claim
175 words
A data processing system for detecting deadlock, comprising: a processing unit; a database management system processed by said processing unit; a first locked resource; a second locked resource; a table associated with said database management system, said table having first and second entries associated with said first and second locked resources, said first and second entries each having a waiting process and a waitee, wherein a respective waitee corresponds to a process having a lock on the resource being waited for by a respective waiting process; a wait-for graph; first edge building means for building an edge in said wait-for graph when said waitee of said first locked resource is said waiting process of said second locked resource; and second edge building means for building an edge in said wait-for graph when said waitee of said first locked resource is not said waiting process of said second locked resource and a requested lock duration of said first locked resource is greater than a predetermined limit, wherein a premature detection of a deadlock situation is avoided.
Claim 8
Dependent Claim
32 words
The data processing system of claim 5, further comprising cycle detection means for detecting a cycle in said wait-for graph, wherein the presence of a cycle is indicative of a deadlock situation.
Claim 9
Dependent Claim
33 words
The data processing system of claim 5, further comprising roll back means for rolling back said waitee of said first locked resource when said waitee is considered a member of a deadlocked group.
Claim 10
Dependent Claim
15 words
The data processing system of claim 5, wherein said predetermined limit is a medium duration.
Claim 11
Dependent Claim
70 words
The data processing system of claim 5, wherein said table further comprises: a lock table having first and second entries associated with said first and second locked resources, respectively, said first entry having a first waitee and said second entry having a second waitee; and a wait-for table having first and second entries, said first entry having a first waiting process and said second entry having a second waiting process.
Claim 12
Dependent Claim
176 words
A data processing system for detecting deadlock comprising: a processing unit; a database management system processed by said processing unit; a table associated with said database management system, said table including a wait-for table; means for scanning the wait-for table for a waiting process corresponding to a process in a wait state waiting for a resource; a wait-for graph; first edge building means for checking a waitee corresponding to a second process having a lock on the resource being waited for by said waiting process to determine if said waitee is in a wait state waiting for another resource and adding an edge to the wait-for graph if said waitee is in the wait state; and second edge building means for checking a requested duration of the lock held by said waitee if said waitee is not in a wait state and adding an edge to said wait-for graph if the requested duration of the lock held by said waitee is greater than a predetermined limit, wherein a premature detection of a deadlock situation is avoided.
Claim 13
Dependent Claim
176 words
A data processing system for detecting deadlock comprising: a processing unit; a database management system processed by said processing unit; a table associated with said database management system, said table including a wait-for table; means for scanning the wait-for table for a waiting process corresponding to a process in a wait state waiting for a resource; a wait-for graph; first edge building means for checking a waitee corresponding to a second process having a lock on the resource being waited for by said waiting process to determine if said waitee is in a wait state waiting for another resource and adding an edge to the wait-for graph if said waitee is in the wait state; and second edge building means for checking a requested duration of the lock held by said waitee if said waitee is not in a wait state and adding an edge to said wait-for graph if the requested duration of the lock held by said waitee is greater than a predetermined limit, wherein a premature detection of a deadlock situation is avoided.
Claim 14
Dependent Claim
30 words
The system of claim 10, further comprising cycle detection means for detecting a cycle in said wait-for graph, wherein the presence of a cycle is indicative of a deadlock situation.
Claim 15
Dependent Claim
35 words
The system of claim 10, further comprising roll back means for rolling back either said waitee or said waiting process when said waitee or said waiting process is considered a member of a deadlocked group.
Claim 16
Dependent Claim
13 words
The system of claim 10, wherein said predetermined limit is a medium duration.
Claim 17
Dependent Claim
44 words
The data processing system of claim 10, wherein said table further comprises: a wait-for table having entries corresponding to waiting processes; and a lock table having entries corresponding to waitees and locked resources, wherein each respective locked resource is associated with a respective waitee.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-06-08 | 2001-12-08 | 2002-06-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-06-08 | 2005-12-08 | 2006-06-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-06-08 | 2009-12-08 | 2010-06-09 | $7700.00 | Window Closed / Lapsed |