×

Record lock processing for multiprocessing data system with majority voting

  • US 5,140,685 A
  • Filed: 09/16/1991
  • Issued: 08/18/1992
  • Est. Priority Date: 03/14/1988
  • Status: Expired due to Term
First Claim
Patent Images

1. 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.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×