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

Method and apparatus for intraprocess locking of a shared resource in a computer system

Assignee: International Business Machines Corp
•
Filing: 1992-09-25
•
Granted: 1995-02-21
•
Expires: 2012-09-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for the intraprocess locking of a shared resource in a computer system is disclosed. A computer system operates under the control of an operating system. The operating system supports the asynchronous execution of a plurality of tasks, referred to herein as processes. Each process is capable of being executed by a plurality of asynchronously executing programs. In addition to assuring that only one process may use a shared computer resource, such as a magnetic storage device, tape drive, printer, software module, message queue, etc, at one time, the operating system also grants access to a shared computer resource at the level of a program operating within a process. When one program executing within a process accesses a shared computer resource, it requests that the operating system lock out all other programs executing asynchronous within that process, as well as other processes executing within the computer system, from that shared resource. Different types of locks, such as exclusive and shared locks, are also supported.

Inventors

  • 👤 Scott D. Hammersley
  • 👤 Arthur D. Smet
  • 👤 Peter M. Wottreng

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 02:00
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 144 words
A method for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising the steps of: receiving a request from said first asynchronous program to use said resource, said first asynchronous program executing within a first process, said request being received by an operating system; checking a lock table to see if said second asynchronous program has acquired a lock for said resource, said second asynchronous program executing within said first process, said lock table being checked by said operating system; granting said request if said checking step indicates that said second asynchronous program has not acquired a lock for said resource, said request being granted by said operating system; and denying said request if said checking step indicates that said second asynchronous program has acquired a lock for said resource, said request being denied by said operating system.
Claim 2
Independent Claim 144 words
A method for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising the steps of: receiving a request from said first asynchronous program to use said resource, said first asynchronous program executing within a first process, said request being received by an operating system; checking a lock table to see if said second asynchronous program has acquired a lock for said resource, said second asynchronous program executing within said first process, said lock table being checked by said operating system; granting said request if said checking step indicates that said second asynchronous program has not acquired a lock for said resource, said request being granted by said operating system; and denying said request if said checking step indicates that said second asynchronous program has acquired a lock for said resource, said request being denied by said operating system.
Claim 3
Independent Claim 205 words
A method for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising the steps of: receiving a first request from said first asynchronous program to use said resource, said first asynchronous program executing in a first process, said first request being received by an operating system; checking a lock table to see if said second asynchronous program has acquired a lock for said resource, said second asynchronous program executing in said first process, said lock table being checked by said operating system; granting said first request based on an indication from said checking step that said second asynchronous program has not acquired a lock for said resource, said first request being granted by said operating system; receiving a second request from said second asynchronous program to use said resource, said second request being received by said operating system; checking a lock table to see if said first asynchronous program has acquired a lock for said resource, said lock table being checked by said operating system; and denying said second request based on an indication from said checking step that said second asynchronous program has acquired a lock for said resource, said second request being denied by said operating system.
Claim 4
Independent Claim 205 words
A method for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising the steps of: receiving a first request from said first asynchronous program to use said resource, said first asynchronous program executing in a first process, said first request being received by an operating system; checking a lock table to see if said second asynchronous program has acquired a lock for said resource, said second asynchronous program executing in said first process, said lock table being checked by said operating system; granting said first request based on an indication from said checking step that said second asynchronous program has not acquired a lock for said resource, said first request being granted by said operating system; receiving a second request from said second asynchronous program to use said resource, said second request being received by said operating system; checking a lock table to see if said first asynchronous program has acquired a lock for said resource, said lock table being checked by said operating system; and denying said second request based on an indication from said checking step that said second asynchronous program has acquired a lock for said resource, said second request being denied by said operating system.
Claim 5
Independent Claim 326 words
A method for locking a resource shared between a first asynchronous program and a second asynchronous program, and a third asynchronous program, said method comprising the steps of: receiving a first request from said first asynchronous program to use said resource, said first asynchronous program executing within a first process, said first request being received by an operating system; first checking a lock table to see if said second asynchronous program or said third asynchronous program has acquired a lock for said resource, said second asynchronous program executing within said first process, said third asynchronous program executing within a second process, said lock table being checked by said operating system; granting said first request based on an indication from said first checking step that said second asynchronous program or said third asynchronous program has not acquired a lock for said resource, said first request being granted by said operating system; receiving a second request from said second asynchronous program to use said resource, said second request being received by said operating system; second checking a lock table to see if said first asynchronous program or said second asynchronous program has acquired a lock for said resource, said lock table being checked by said operating system; denying said second request based on an indication from said checking step that said first asynchronous program has acquired a lock for said resource, said second request being denied by said operating system; receiving a third request from said third asynchronous program to use said resource, said third request being received by said operating system; checking a lock table to see if said first asynchronous program or said second asynchronous program has acquired a lock for said resource, said lock table being checked by said operating system; and denying said third request based on an indication from said checking step that said first asynchronous program has acquired a lock for said resource, said third request being denied by said operating system.
Claim 6
Independent Claim 326 words
A method for locking a resource shared between a first asynchronous program and a second asynchronous program, and a third asynchronous program, said method comprising the steps of: receiving a first request from said first asynchronous program to use said resource, said first asynchronous program executing within a first process, said first request being received by an operating system; first checking a lock table to see if said second asynchronous program or said third asynchronous program has acquired a lock for said resource, said second asynchronous program executing within said first process, said third asynchronous program executing within a second process, said lock table being checked by said operating system; granting said first request based on an indication from said first checking step that said second asynchronous program or said third asynchronous program has not acquired a lock for said resource, said first request being granted by said operating system; receiving a second request from said second asynchronous program to use said resource, said second request being received by said operating system; second checking a lock table to see if said first asynchronous program or said second asynchronous program has acquired a lock for said resource, said lock table being checked by said operating system; denying said second request based on an indication from said checking step that said first asynchronous program has acquired a lock for said resource, said second request being denied by said operating system; receiving a third request from said third asynchronous program to use said resource, said third request being received by said operating system; checking a lock table to see if said first asynchronous program or said second asynchronous program has acquired a lock for said resource, said lock table being checked by said operating system; and denying said third request based on an indication from said checking step that said first asynchronous program has acquired a lock for said resource, said third request being denied by said operating system.
Claim 7
Dependent Claim 147 words
A computer system for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising: means for receiving a first request from said first asynchronous program for a first lock type to use said resource, said first asynchronous program executing within a first process, said first request being received by an operating system; means for checking a lock table to see if said second asynchronous program has acquired a second lock type for said resource that would conflict with said first lock type requested by said first asynchronous program, said second asynchronous program executing within said first process, said lock table being checked by said operating system; means for granting said first request based on an indication from said checking means that said second lock type does not conflict with said first lock type, said first request being granted by said operating system.
Claim 8
Dependent Claim 147 words
A computer system for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising: means for receiving a first request from said first asynchronous program for a first lock type to use said resource, said first asynchronous program executing within a first process, said first request being received by an operating system; means for checking a lock table to see if said second asynchronous program has acquired a second lock type for said resource that would conflict with said first lock type requested by said first asynchronous program, said second asynchronous program executing within said first process, said lock table being checked by said operating system; means for granting said first request based on an indication from said checking means that said second lock type does not conflict with said first lock type, said first request being granted by said operating system.
Claim 9
Dependent Claim 30 words
The computer system of claim 4, wherein said second lock type is an exclusive allow other readers lock type and said first lock type is a shared read lock type.
Claim 10
Dependent Claim 31 words
The computer system of claim 4, wherein said second lock type is a shared but allow no updates lock type and said first lock type is a shared read lock type.
Claim 11
Dependent Claim 30 words
The computer system of claim 4, wherein said second lock type is a shared and allow updates lock type and said first lock type is a shared read lock type.
Claim 12
Dependent Claim 32 words
The computer system of claim 4, wherein said second lock type is a shared and allow updates lock type and said first lock type is a shared and allow update lock type.
Claim 13
Dependent Claim 28 words
The computer system of claim 4, wherein said second lock type is a shared read lock type and said first lock type is a shared read lock type.
Claim 14
Dependent Claim 28 words
The computer system of claim 4, wherein said second lock type is a shared read lock type and said first lock type is a shared read lock type.
Claim 15
Dependent Claim 30 words
The computer system of claim 4, wherein said second lock type is a shared read lock type and said first lock type is a shared and allow update lock type.
Claim 16
Dependent Claim 150 words
A computer system for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising: means for receiving a request from said first asynchronous program to use said resource, said first asynchronous program executing within a first process, said request being received by an operating system; means for checking a lock table to see if said second asynchronous program has acquired a lock for said resource, said second asynchronous program executing within said first process, said lock table being checked by said operating system; means for granting said request if said checking means indicates that said second asynchronous program has not acquired a lock for said resource, said request being granted by said operating system; and means for denying said request if said checking means indicates that said second asynchronous program has acquired a lock for said resource, said request being denied by said operating system.
Claim 17
Dependent Claim 150 words
A computer system for locking a resource shared between a first asynchronous program and a second asynchronous program, comprising: means for receiving a request from said first asynchronous program to use said resource, said first asynchronous program executing within a first process, said request being received by an operating system; means for checking a lock table to see if said second asynchronous program has acquired a lock for said resource, said second asynchronous program executing within said first process, said lock table being checked by said operating system; means for granting said request if said checking means indicates that said second asynchronous program has not acquired a lock for said resource, said request being granted by said operating system; and means for denying said request if said checking means indicates that said second asynchronous program has acquired a lock for said resource, said request being denied by said operating system.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-02-20 1998-08-22 1999-02-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-02-20 2002-08-22 2003-02-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-02-20 2006-08-22 2007-02-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag