×

Method for managing concurrent processes using dual locking

  • US 6,401,110 B1
  • Filed: 11/30/1998
  • Issued: 06/04/2002
  • Est. Priority Date: 11/30/1998
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for managing access to a shared resource in a computing system, including multiple processors each coupled to the shared resource, the processors being coupled to one or more hosts, the method comprising operations of:

  • each processor separately storing a corresponding lock table listing one or more subparts of the shared resource, where each lock table also lists in association with each subpart a state selected from a state group including a LOCAL state and a REMOTE state;

    in response to an access request from one of the hosts, the access request identifying one or more subparts of the shared resource, the processors awarding a lock on all identified subparts by electing a single processor to have exclusive access to the identified subparts;

    wherein the awarding of a lock for one or more subparts comprises the processors exchanging one or more messages from a group including lock request and lock grant, each lock request message including a newly generated token to distinguish the lock request from other lock requests, each lock grant message including a token from a lock request being granted thereby;

    wherein the exchanging of messages comprises each processor applying predetermined operations to cooperate with other processors in awarding locks, the predetermined operations comprising;

    responsive to a processor receiving a lock request message and associated token concerning a specified subpart of the shared resource when the receiving processor'"'"'s lock table shows a REMOTE state associated with specified subpart, the receiving processor returning a lock grant message including a token from a lock grant message originally granting a lock on the specified subpart causing the shared resource to enter the REMOTE state;

    in response to the election, at a first time all non-lock-holding processors configuring their lock tables to show the identified subparts in the REMOTE state, and no earlier then the first time the lock-holding processor configuring its lock table to show the identified subpart in the LOCAL state; and

    each processor refraining from accessing a subpart of the shared resource unless the processor'"'"'s lock table indicates a LOCAL state for that subpart.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×