Patent US4847754A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4847754A Expired / Lapsed US ⏱️ 0.0 years remaining

Extended atomic operations

Assignee: International Business Machines Corp
•
Filing: 1985-10-15
•
Granted: 1989-07-11
•
Expires: 2005-10-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for serializing process access to shared resources utilizing low-level atomic functions to maintain control structures in which noncontiguous words must be modified at two different times. The atomic functions require an initiation operation partitionable from a completion operation. Each process requesting access to the shared resource performs the initiation operation, which begins modification of a control structure. The completion operation may be performed by the original process if there is no resource conflict. If, however, another process is currently modifying the control structure, then the task of performing the completion operation is passed to one of the concurrently-accessing processes.

Inventors

  • 👤 Ronald L. Obermarck
  • 👤 John D. Palmer
  • 👤 Richard K. Treiber

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 16:06
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/30; G06F9/30003; G06F9/3004; G06F9/30076; G06F9/30087

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 139 words
A lock-free method for serializing access to a shared resource among concurrent processes in either a multiprogramming pre-emptive scheduling environment or where at least two processors share a common main store, wherein process access to resources includes the indivisible step of reading a resource status variable, storing its value in a save area, and, conditioned on the value of the variable, altering said variable, comprising the steps of: storing each resource status variable in a main store location; and the further indivisible steps of: partially executing against a resource status variable at said main store location by one process while checking for resource contention from another process; and in the event of resource contention between processes, passing an obligation to complete the execution against the resource status variable at said main store location to one of said contending processes.
Claim 2
Dependent Claim 139 words
A lock-free method for serializing access to a shared resource among concurrent processes in either a multiprogramming pre-emptive scheduling environment or where at least two processors share a common main store, wherein process access to resources includes the indivisible step of reading a resource status variable, storing its value in a save area, and, conditioned on the value of the variable, altering said variable, comprising the steps of: storing each resource status variable in a main store location; and the further indivisible steps of: partially executing against a resource status variable at said main store location by one process while checking for resource contention from another process; and in the event of resource contention between processes, passing an obligation to complete the execution against the resource status variable at said main store location to one of said contending processes.
Claim 3
Dependent Claim 25 words
The method of claim 1 wherein said obligation is passed to the first of said contending processes to partially execute against said resource status variable.
Claim 4
Dependent Claim 25 words
The method of claim 1 wherein said obligation is passed to the last of said contending processes to partially execute against said resource status variable.
Claim 5
Dependent Claim 21 words
The method of claim 1 wherein each resource status variable includes three words, only two of which need be contiguously stored.
Claim 6
Dependent Claim 19 words
The method of claim 1 wherein each resource status variable includes three words, two of which are contiguously stored.
Claim 7
Independent Claim 123 words
A method for providing two or more contending processes with concurrent access to a shared resource wherein resource access includes an obligation to perform an access completion operation, comprising the steps of: storing a single resource status variable indicating the availability of a shared resource; performing, for each process requiring access to said resource, an initiation operation including changing the condition of said resource status variable to indicate access of said process to said resource; and in the event of concurrent access by two or more processes to said resource, passing, to one of said processes, the obligation to perform said access completion operation including changing the condition of said resource status variable to indicate that no process has access to said resource.
Claim 8
Independent Claim 123 words
A method for providing two or more contending processes with concurrent access to a shared resource wherein resource access includes an obligation to perform an access completion operation, comprising the steps of: storing a single resource status variable indicating the availability of a shared resource; performing, for each process requiring access to said resource, an initiation operation including changing the condition of said resource status variable to indicate access of said process to said resource; and in the event of concurrent access by two or more processes to said resource, passing, to one of said processes, the obligation to perform said access completion operation including changing the condition of said resource status variable to indicate that no process has access to said resource.
Claim 9
Dependent Claim 23 words
The method of claim 6 wherein said obligation is passed to the first of said two or more processes performing said initiation operation.
Claim 10
Dependent Claim 23 words
The method of claim 6 wherein said obligation is passed to the last of said two or more processes performing said initiation operation.
Claim 11
Dependent Claim 21 words
The method of claim 6 wherein said resource status variable includes three words, only two of which need be contiguously stored.
Claim 12
Dependent Claim 21 words
The method of claim 6 wherein said resource status variable includes at least three words, two of which are contiguously stored.
Claim 13
Dependent Claim 13 words
The method of claim 7 wherein said shared resource includes a communication channel.
Claim 14
Dependent Claim 14 words
The method of claim 8 wherein said shared resource includes a linked data list.
Claim 15
Dependent Claim 208 words
In a processing system including a storage facility, plural concurrently-executing processes, at least one shared resource, and operating system means for managing the use of said shared resource by said processes, the improvement comprising a resource allocation system in said operating system for permitting concurrent, non-exclusive use of said shared resource by said processes, said resource allocation system comprising: an undivided resource status data object stored in said storage facility for indicating use of the shared resource by one or more of said processes; atomic operation means for, each time a process uses said resource, indivisibly reading said resource status data object, storing the value of said resource status data object in a save area of said processing system, and, based upon the value of said resource status data object, altering said variable to indicate said use; and logic means executable by said processes for enabling a process to, by means of said atomic operation means, partially execute against said resource status data object while checking for contention for the resource from another process and for, in the event of resource contention between said partially executing process and another process, passing an obligation to complete execution against said resource status data object to one of said competing processes.
Claim 16
Dependent Claim 208 words
In a processing system including a storage facility, plural concurrently-executing processes, at least one shared resource, and operating system means for managing the use of said shared resource by said processes, the improvement comprising a resource allocation system in said operating system for permitting concurrent, non-exclusive use of said shared resource by said processes, said resource allocation system comprising: an undivided resource status data object stored in said storage facility for indicating use of the shared resource by one or more of said processes; atomic operation means for, each time a process uses said resource, indivisibly reading said resource status data object, storing the value of said resource status data object in a save area of said processing system, and, based upon the value of said resource status data object, altering said variable to indicate said use; and logic means executable by said processes for enabling a process to, by means of said atomic operation means, partially execute against said resource status data object while checking for contention for the resource from another process and for, in the event of resource contention between said partially executing process and another process, passing an obligation to complete execution against said resource status data object to one of said competing processes.
Claim 17
Dependent Claim 25 words
The improvement of claim 13 wherein said obligation is passed to the first of said contending processes to partially execute against said resource status variable.
Claim 18
Dependent Claim 25 words
The improvement of claim 13 wherein said obligation is passed to the last of said contending processes to partially execute against said resource status variable.
Claim 19
Dependent Claim 22 words
The improvement of claim 13 wherein said resource status data object includes three words, only two of which need be contiguously stored.
Claim 20
Dependent Claim 20 words
The improvement of claim 13 wherein said resource status data object includes three words, two of which are contiguously stored.
Claim 21
Dependent Claim 13 words
The improvement of claim 13 wherein said shared resource includes a communication channel.
Claim 22
Dependent Claim 16 words
The improvement of claim 13 wherein said shared resource includes a linked list of data objects.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-07-10 1993-01-09 1993-07-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-07-10 1997-01-09 1997-07-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-07-10 2001-01-09 2001-07-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag