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

Record lock processing for multiprocessing data system with majority voting

Assignee: Unisys Corp
•
Filing: 1991-09-16
•
Granted: 1992-08-18
•
Expires: 2011-09-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A record lock processor provides a common facility for control of the locking and unlocking of mass storage objects (for example, records, files, pages or any other logical entity) that is shared by a number of loosely-coupled data processors. The terms "record" or "records" wherever they are used in this document are intended to refer to all such objects, including records, files, pages or any other logical grouping or entity into which the mass storage may be portioned. Each of the data processors has access to all of the shared mass storage. Three Lock Modules all receive the same requests and majority voting techniques are used to determine the result. A fourth lock module is included as a Hot Spare Module. A Maintenance Module receives the same requests as the voting Lock Modules and, therefore, it is able to interpret results on-line based on user requests. Programmable Channel Interfaces provide the operational interface to the host processors. The Lock Modules are also programmable, and they hold lock and Queued Lock Requests and execute locking and unlocking algorithms in response thereto.

Inventors

  • 👤 Ralph E. Sipple
  • 👤 Marvin W. Theis
  • 👤 John O. Sjolander
  • 👤 John R. Jordan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 10:57
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/18; G06F11/181; G06F11/183; G06F11/184; G06F11/185; G06F11/20; G06F11/202; G06F11/2038; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F11/2097; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938

Claims Analysis

Total Claims: 5
Claim 1
Independent Claim 397 words
A process of controlling locking requests for data objects stored in a shared memory means in a multiprocessing system comprising a plurality of processors coupled to said shared memory means, and a central locking control means that is coupled to all of said processors, wherein said processors are able to obtain locks on said objects under the control of said locking control means, to utilize said objects and then to unlock said objects under the control of said locking control means comprising: (A) transmitting requested lock entries from said processors to said locking control means that identify the requesting processors and the requested data objects upon which locks are sought by requesting processors, (B) entering into an odd number of at least three lock lists in said locking control means those lock entries that represent requested objects upon which no requesting processor of said plurality of processors is then maintaining a lock, (C) entering into an odd number of at least three queue lists, wherein said queue lists are equal in number to the number of said lock lists and each of said queue lists is associated with one of said lock lists those lock entries that represent requested objects upon which one of said processors is then maintaining a lock, (D) granting locks on the objects represented by lock entries in said lock lists, according to the following procedure of steps (1) and (2): (1) comparing said lock entries in said lock lists to determine if a majority of said lock entries in said lock lists that are associated with a requested object match, and (2) granting a lock on a requested object for a requesting processor for which a majority of said lock entries do match, (E) obtaining a requested object for a requesting processor from said shared memory when a lock is granted on said requested object for said requesting processor, (F) utilizing said requested object upon which a lock has been obtained in said requesting processor, (G) unlocking said requested object after said requested object has been utilized in said requesting processor, (H) removing a lock entry for requested object from a lock list after said requested object is unlocked, and (I) moving lock entries for a requested object from said queue lists into the associated lock lists when no corresponding lock entries exist in said associated lock lists for said requested object.
Claim 2
Dependent Claim 397 words
A process of controlling locking requests for data objects stored in a shared memory means in a multiprocessing system comprising a plurality of processors coupled to said shared memory means, and a central locking control means that is coupled to all of said processors, wherein said processors are able to obtain locks on said objects under the control of said locking control means, to utilize said objects and then to unlock said objects under the control of said locking control means comprising: (A) transmitting requested lock entries from said processors to said locking control means that identify the requesting processors and the requested data objects upon which locks are sought by requesting processors, (B) entering into an odd number of at least three lock lists in said locking control means those lock entries that represent requested objects upon which no requesting processor of said plurality of processors is then maintaining a lock, (C) entering into an odd number of at least three queue lists, wherein said queue lists are equal in number to the number of said lock lists and each of said queue lists is associated with one of said lock lists those lock entries that represent requested objects upon which one of said processors is then maintaining a lock, (D) granting locks on the objects represented by lock entries in said lock lists, according to the following procedure of steps (1) and (2): (1) comparing said lock entries in said lock lists to determine if a majority of said lock entries in said lock lists that are associated with a requested object match, and (2) granting a lock on a requested object for a requesting processor for which a majority of said lock entries do match, (E) obtaining a requested object for a requesting processor from said shared memory when a lock is granted on said requested object for said requesting processor, (F) utilizing said requested object upon which a lock has been obtained in said requesting processor, (G) unlocking said requested object after said requested object has been utilized in said requesting processor, (H) removing a lock entry for requested object from a lock list after said requested object is unlocked, and (I) moving lock entries for a requested object from said queue lists into the associated lock lists when no corresponding lock entries exist in said associated lock lists for said requested object.
Claim 3
Dependent Claim 49 words
In the process of claim 1 the improvement comprising utilizing the same lock entries that are utilized by the locking control means to obtain locks on requested objects for requesting processors to diagnose the operation of said locking control means for failures during operation of said locking control means.
Claim 4
Dependent Claim 93 words
In the process of claim 1 the improvement comprising the further steps of entering said lock list entries and said queue list entries into a spare lock list and a spare queue list respectively, and substituting said spare lock list and said spare queue list for a previously utilized lock list and its corresponding previously used associated queue list when said previously utilized lock list contains a lock entry that fails to agree with the majority of lock entries for a requested object when said lock entries are compared by a majority match.
Claim 5
Dependent Claim 49 words
In the process of claim 3 the improvement comprising utilizing the same lock entries that are utilized by the locking control means to obtain locks on requested objects for requesting processors to diagnose the operation of said locking control means for failures during operation of said locking control means.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-08-18 1996-02-17 1996-08-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-08-18 2000-02-17 2000-08-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-08-18 2004-02-17 2004-08-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag