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

Method for managing termination of a lock-holding process using a waiting lock

Assignee: Oracle International Corp
•
Filing: 1997-05-30
•
Granted: 1999-02-16
•
Expires: 2017-05-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for managing termination of a process that holds a resource lock on behalf of another process is described. A first process acquires a first lock to a resource on behalf of a second process to exclude other processes from accessing the resource. The second process then acquires a wait lock to the resource. Later, when a third process acquires the first lock to the resource, the third process determines whether the first process terminated without releasing the lock. If the first process did terminate without releasing the lock, the third process attempts to acquire the wait lock. In attempting to acquire the wait lock, execution of the third process is suspended until the second process releases the wait lock. Consequently, acquisition of the wait lock by the third process prevents concurrent access to the resource by the third process and the second process.

Inventors

  • 👤 William H. Waddington
  • 👤 Leng Leng Tan
  • 👤 Patricia Grewell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 03:14
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 106 words
A method for managing termination of a process that holds a resource lock on behalf of another process, said method comprising the steps of: a first process acquiring a first lock to a resource on behalf of a second process, the first lock signaling exclusive access to the resource; the second process acquiring a wait lock to the resource; a third process acquiring the first lock to the resource; the third process determining that the first process terminated without releasing the first lock; and the third process acquiring the wait lock to prevent concurrent access to the resource by the third process and the second process.
Claim 2
Independent Claim 106 words
A method for managing termination of a process that holds a resource lock on behalf of another process, said method comprising the steps of: a first process acquiring a first lock to a resource on behalf of a second process, the first lock signaling exclusive access to the resource; the second process acquiring a wait lock to the resource; a third process acquiring the first lock to the resource; the third process determining that the first process terminated without releasing the first lock; and the third process acquiring the wait lock to prevent concurrent access to the resource by the third process and the second process.
Claim 3
Dependent Claim 33 words
The method of claim 1 wherein said step of the second process acquiring a wait lock to the resource comprises the step of the second process acquiring the wait lock in an exclusive-mode.
Claim 4
Dependent Claim 48 words
The method of claim 1 wherein said step of a first process acquiring a first lock to a resource on behalf of a second process comprises the step of the first process storing a value identifying the first process in a storage location associated with the first lock.
Claim 5
Dependent Claim 43 words
The method of claim 3 wherein said step of the third process determining that the first process terminated without releasing the first lock comprises the step of the third process examining the value stored in the storage location associated with the first lock.
Claim 6
Dependent Claim 51 words
The method of claim 3 wherein said step of the third process determining that the first process terminated without releasing the first lock comprises the step of the third process determining that the value stored in the storage location associated with the first lock is not equal to a predefined value.
Claim 7
Dependent Claim 50 words
The method of claim 3 wherein said step of the first process storing a value identifying the first process in a storage location associated with the first lock comprises the step of storing the value identifying the first process in an attribute of a data object representing the first lock.
Claim 8
Dependent Claim 75 words
The method of claim 1 further comprising the steps of: the second process acquiring the first lock in a mode compatible with a mode in which the first process acquired the first lock; the second process determining whether a value associated with the first lock identifies the first process; and the second process releasing the first lock and the wait lock if the value associated with the first lock does not identify the first process.
Claim 9
Dependent Claim 23 words
The method of claim 7 further comprising the step of the second process terminating after releasing the first lock and the wait lock.
Claim 10
Dependent Claim 32 words
The method of claim 7 further comprising the steps of: detecting that the first process terminated without releasing the first lock; and releasing the first lock on behalf of the first process.
Claim 11
Dependent Claim 48 words
The method of claim 9 further comprising the step of restoring the value associated with the first lock to a predefined value if the second process has not acquired the first lock in the mode compatible with the mode in which the first process acquired the first lock.
Claim 12
Dependent Claim 46 words
The method of claim 7 wherein said step of the second process acquiring the first lock in a mode compatible with a mode in which the first process acquired the first lock comprises the step of the second process acquiring the first lock in a null-mode.
Claim 13
Dependent Claim 165 words
A computer-readable medium having a plurality of sequences of instructions stored thereon which, when executed by one or more processors, cause said one or more processors to manage termination of a process that holds a resource lock on behalf of another process, said plurality of sequences of instructions including sequences of instructions which, when executed by said one or more processors, cause said one or more processors to perform the steps of: executing a first process to acquire a first lock to a resource on behalf of a second process, the first lock signaling exclusive access to the resource; executing the second process to acquire a wait lock to the resource; executing a third process to acquire the first lock to the resource; executing the third process to determine that the first process terminated without releasing the first lock; and executing the third process to attempt to acquire the wait lock, preventing concurrent access to the resource by the third process and the second process.
Claim 14
Dependent Claim 165 words
A computer-readable medium having a plurality of sequences of instructions stored thereon which, when executed by one or more processors, cause said one or more processors to manage termination of a process that holds a resource lock on behalf of another process, said plurality of sequences of instructions including sequences of instructions which, when executed by said one or more processors, cause said one or more processors to perform the steps of: executing a first process to acquire a first lock to a resource on behalf of a second process, the first lock signaling exclusive access to the resource; executing the second process to acquire a wait lock to the resource; executing a third process to acquire the first lock to the resource; executing the third process to determine that the first process terminated without releasing the first lock; and executing the third process to attempt to acquire the wait lock, preventing concurrent access to the resource by the third process and the second process.
Claim 15
Dependent Claim 53 words
The computer-readable medium of claim 12 wherein said step of executing a first process to acquire a first lock to a resource on behalf of a second process comprises the step of executing the first process to store a value identifying the first process in a storage location associated with the first lock.
Claim 16
Dependent Claim 56 words
The computer-readable medium of claim 13 wherein said step of executing the third process to determine that the first process terminated without releasing the first lock comprises the step of executing the third process to determine that the value stored in the storage location associated with the first lock is not equal to a predefined value.
Claim 17
Dependent Claim 99 words
The computer-readable medium of claim 12 wherein said plurality of sequences of instructions further include sequences of instructions which, when executed by said one or more processors, cause said one or more processors to execute the second process to perform the steps of: acquiring the first lock in a mode compatible with a mode in which the first process acquired the first lock; determining whether a value associated with the first lock identifies the first process; and releasing the first lock and the wait lock if the value associated with the first lock does not identify the first process.
Claim 18
Dependent Claim 24 words
The computer-readable medium of claim 15 further comprising the step of terminating the second process after releasing the first lock and the wait lock.
Claim 19
Dependent Claim 173 words
A computer data signal embodied in a carrier wave and encoding a plurality of sequences of instructions which, when executed by one or more processors, cause said one or more processors to manage termination of a process that holds a resource lock on behalf of another process, said plurality of sequences of instructions including sequences of instructions which, when executed by said one or more processors, cause said one or more processors to perform the steps of: executing a first process to acquire a first lock to a resource on behalf of a second process, the first lock signaling exclusive access to the resource; executing the second process to acquire a wait lock to the resource; executing a third process to acquire the first lock to the resource; executing the third process to determine that the first process terminated without releasing the first lock; and executing the third process to acquire the wait lock, acquisition of the wait lock preventing concurrent access to the resource by the third process and the second process.
Claim 20
Dependent Claim 173 words
A computer data signal embodied in a carrier wave and encoding a plurality of sequences of instructions which, when executed by one or more processors, cause said one or more processors to manage termination of a process that holds a resource lock on behalf of another process, said plurality of sequences of instructions including sequences of instructions which, when executed by said one or more processors, cause said one or more processors to perform the steps of: executing a first process to acquire a first lock to a resource on behalf of a second process, the first lock signaling exclusive access to the resource; executing the second process to acquire a wait lock to the resource; executing a third process to acquire the first lock to the resource; executing the third process to determine that the first process terminated without releasing the first lock; and executing the third process to acquire the wait lock, acquisition of the wait lock preventing concurrent access to the resource by the third process and the second process.
Claim 21
Dependent Claim 54 words
The computer data signal of claim 17 wherein said step of executing a first process to acquire a first lock to a resource on behalf of a second process comprises the step of executing the first process to store a value identifying the first process in a storage location associated with the first lock.
Claim 22
Dependent Claim 57 words
The computer data signal of claim 18 wherein said step of executing the third process to determine that the first process terminated without releasing the first lock comprises the step of executing the third process to determine that the value stored in the storage location associated with the first lock is not equal to a predefined value.
Claim 23
Independent Claim 215 words
A method for managing termination of a process that holds a resource lock on behalf of another process, said method comprising the steps of: a first process acquiring a first lock to a resource in an exclusive-mode on behalf of a second process, the first lock signaling exclusive access to the resource; the first process storing a value identifying the first process in a storage location associated with the first lock; the second process acquiring a wait lock to the resource; the second process acquiring the first lock in a mode compatible with the exclusive mode in which the first process acquired the first lock; the second process releasing the first lock and the wait lock if a value associated with the first lock does not identify the first process; a third process acquiring the first lock to the resource; the third process examining the value stored in the storage location associated with the first lock to determine if the first process terminated without releasing the first lock; and the third process acquiring the wait lock to prevent concurrent access to the resource by the third process and the second process if the value stored in the storage location associated with the first lock indicates that the first process terminated without releasing the first lock.
Claim 24
Independent Claim 215 words
A method for managing termination of a process that holds a resource lock on behalf of another process, said method comprising the steps of: a first process acquiring a first lock to a resource in an exclusive-mode on behalf of a second process, the first lock signaling exclusive access to the resource; the first process storing a value identifying the first process in a storage location associated with the first lock; the second process acquiring a wait lock to the resource; the second process acquiring the first lock in a mode compatible with the exclusive mode in which the first process acquired the first lock; the second process releasing the first lock and the wait lock if a value associated with the first lock does not identify the first process; a third process acquiring the first lock to the resource; the third process examining the value stored in the storage location associated with the first lock to determine if the first process terminated without releasing the first lock; and the third process acquiring the wait lock to prevent concurrent access to the resource by the third process and the second process if the value stored in the storage location associated with the first lock indicates that the first process terminated without releasing the first lock.

References Cited (Backward Citations)

US4574350A Cited
US4829427A Cited
US4769772A Cited
US5091852A Cited
US4965719A Cited
US5325525A Cited
US5339427A Cited
US5423044A Cited
US5729749A Cited
US5761659A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-02-15 2002-08-17 2003-02-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-02-15 2006-08-17 2007-02-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-02-15 2010-08-17 2011-02-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag