Patent EP0132237A2 successfully refreshed from Google Patents.
Patent EP0665495A2 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0665495A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

A distributed lock manager using a passive, state-full control-server

Assignee: International Business Machines Corp
•
Filing: 1995-01-09
•
Granted: —
•
Expires: 2015-01-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A locking apparatus for a multicomputer system. The lock apparatus is a two level system wherein local lock managers grant locks on a resource only after they have acquired an appropriate token from a lock control server which is the owner of the resource. The lock control server is passive and has all the control information for a resource it owns. When a local lock manager needs a token in a specified mode for a particular resource, it acquires the token from the lock control server. If there are no conflicting tokens, then the lock control server grants the token. However, if there are conflicting tokens, then the lock control server responds with a list of the local lock managers with conflicting tokens. The requesting lock manager then requests each of the local lock managers with conflicting tokens to give it up and to acknowledge when it has done so. When the acknowledgements have been received, the local lock manager requests the lock control server to update its table and grant the requested token.

Inventors

  • 👤 Murthy Devarakonda
  • 👤 Ajay Mohindra

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-07 05:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/526; G06F2209/00; G06F2209/52; G06F2209/522; G06F2209/523

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 240 words
A locking apparatus for managing access to a shared data resource by a plurality of processes having access to the shared data controlled by two or more data managers executing in a processing complex comprising one or more coupled processors, said apparatus comprising: a) a lock control server associated with the shared data resource, said lock control server comprising: i) table means to record lock control status of data objects of the shared data resource; ii) means responsive to a requested lock on a data object, to report conflicting lock status of the data object; b) a plurality of lock managers, each of the lock managers, each of said lock managers comprising: i) means to request that lock control in a specified mode be granted from the data object from the lock control server, and if not granted, to receive a list of the lock managers with conflicting control for the data object; ii) means to request of and receive acknowledgement from other lock managers of the giving-up of conflicting control of the data object; iii) means to request of the lock control server to update said table means to reflect that this lock managers has lock control in a specified mode for the data object; and, iv) means to locally grant locks in a specified mode on the data object after lock control in an appropriate mode for the data object has been acquired from the lock control server.
Claim 2
Dependent Claim 232 words
A locking apparatus for use in a multicomputer system wherein multiple data processing nodes, each under control of its own operating system, are joined by a communications network and wherein at least some of the processing nodes control access to shared resources, the locking apparatus comprising: a) a lock control server associated with each processing node owning a shared resource, said lock control server comprising: i) table means to record lock control status of data objects of the shared resource; ii) means responsive to a requested lock on a data object, to report conflicting lock status of the data object; b) a plurality of lock managers, each of the lock managers being associated with a node which requires access to a data object whose access is controlled by another node, each of said lock managers comprising: i) means to request that lock control in a specified mode be granted from the data object from the lock control server, and if not granted, to receive a list of the lock managers with conflicting control for the data object; ii) means to request of and receive acknowledgement from other lock managers of the giving-up of conflicting control of the data object; iii) means to locally grant locks in a specified mode on the data object after lock control in an appropriate mode for the data object has been acquired from the lock control server.
Claim 3
Dependent Claim 73 words
The apparatus of Claim 2 wherein each node comprises a lock state table, the lock state table comprising an entry for each lock known to the node and each entry including a token ID field which identifies a shared resource which is locked, a mode field indicates a mode of the lock and a lock bit field which indicates whether a process executing on the node has a lock on the data object.
Claim 4
Dependent Claim 36 words
The apparatus of Claim 2 further comprising means for locally granting locks, by the node, on the data object whose access is controlled by another node, after lock control for the data object has been acquired.
Claim 5
Dependent Claim 205 words
A locking apparatus for use in a client node of a multicomputer system wherein multiple data processing nodes, each under control of its own operating system, are joined by a communications network and wherein at least one of the data processing nodes controls access to a shared resource having a plurality of data objects stored therein, the locking apparatus comprising: request receiving means, for receiving a lock request on a specified data object from a process executing on the client node; lock state determination means for determining a present lock state of the data object; lock comparator means for determining whether the present lock state is compatible with the lock request; lock request generator means, responsive to a determination by the lock comparator means that the present lock state is incompatible with the requested lock, for sending a message on the network, from the client node to another node which has the lock, requesting that the another node give up the incompatible lock and acknowledge when it has done so; and, update means, for analyzing responses from the network and, responsive to acknowledgement from the another node, for updating the lock state to indicate that the node has the lock on the specified data object.
Claim 6
Dependent Claim 84 words
The locking apparatus of Claim 5, further comprising: lock storage means for storing the present lock states of at least some of the data objects not owned by the node; and, wherein, the lock comparator means comprises means, responsive to the lock request, for comparing the requested lock state with the present lock states stored in the lock state storage means and for indicating whether a present lock state, compatible with the data object lock request, is stored in the lock state storage means.
Claim 7
Dependent Claim 35 words
The locking apparatus of Claim 5, further comprising: a file owner directory coupled to the lock request means, the file owner directory comprising a list of shared resources in the system and their respective owners.
Claim 8
Dependent Claim 172 words
In a multicomputer system wherein multiple data processing nodes, each under control of its own operating system, are joined by a communications network and wherein at least one server controls access to a shared resource, a locking method comprising the steps of: recording, at the server, lock control status of data objects of the shared data resource; requesting, by a first node, that lock control in a specified mode be granted on a particular data object; responsive to a requested lock on a data object, reporting by the server, a list of nodes having conflicting lock status of the data object; responsive to receipt of the list, requesting by the first node that other nodes on the list give up of conflicting control of the data object; and, responsive to acknowledgement from the other nodes that conflicting control has been given up, request by the first node that the server update the lock control status to reflect that the first node has lock control in the particular mode for the data object.
Claim 9
Dependent Claim 31 words
The method of Claim 8 comprising the further step of: locally granting locks, by the first node, on the data object after lock control for the data object has been acquired.
Claim 10
Independent Claim 142 words
A method for determining granularity of a lock request on an data object shared by two or more processes executing on a least one processor, comprising the steps of: identifying the particular data object on which a lock is needed; (a) determining if the data object is a directory type file; (b) determining if the data object is smaller than a predetermined size; (c) determining if access is needed to a first page of the data object; (d) determining if the access is consecutive to a previous access; (e) determining if the access is to greater than a predetermined number of pages; and, (f) when it is determined that any of steps (a), (b), (c), (d) and (e) are answered in the affirmative, requesting a lock on the entire data object and otherwise requesting the lock on particular pages to be accessed.
Claim 11
Independent Claim 136 words
A system for determining granularity of a lock request on an data object shared by two or more processes executing on a least one processor, comprising: process means for identifying a particular data object on which a lock is needed; granularity means, coupled to the means for identifying, for determining a granularity of a lock to be requested; the granularity means determining the granularity responsive to whether the data object is a directory type file; size of the data object; whether access is needed to a first page of the data object; whether access is consecutive to a previous access; and whether access is to greater than a predetermined number of pages; and, lock request means, coupled to the granularity means, for requesting a lock on pages of the data object specified by the granularity means.
Claim 12
Dependent Claim 131 words
The system of Claim 11 wherein the lock request means comprises: lock state determination means for determining a present lock state of the data object; lock comparator means for determining whether the present lock state is compatible with the lock request; lock request generator means, responsive to a determination by the lock comparator means that the present lock state is incompatible with the requested lock, for sending a message on the network to another node which has the lock, requesting that the another node give up the incompatible lock and acknowledge when it has done so; and, update means, for analyzing responses from the network and, responsive to acknowledgement from the other node, for updating the lock state to indicate that the node has the lock on the specified data object.
Claim 13
Independent Claim 94 words
A system for determining granularity of a lock request on a data object shared by two or more processes executing on a least one processor, comprising: process means for identifying a particular data object on which a lock is needed; granularity means, coupled to the means for identifying, for determining a granularity of a lock to be requested; the granularity means determining the granularity responsive to a set of heuristic rules; lock request means, coupled to the granularity means, for requesting a lock on pages of the data object specified by the granularity means.
Claim 14
Dependent Claim 26 words
The system of Claim 13 where in the set of heuristic rules are applied to attributes of the data object and attributes of a requested access.
Claim 15
Dependent Claim 45 words
The system of Claim 14 wherein the attributes of the requested access include whether access is needed to a first page of the data object; whether access is consecutive to a previous access; and whether access is to greater than a predetermined number of pages.
Claim 16
Dependent Claim 28 words
The system of Claim 14 wherein the attributes of the data object include whether the data object is a directory type file and size of the data object.
Claim 17
Dependent Claim 196 words
In a multicomputer system wherein multiple data processing nodes, each under control of its own operating system, are joined by a communications network and wherein at least one server controls access to a shared resource, a locking method comprising the steps of: recording, at the server, lock control status of data objects of the shared data resource; identifying a data object on which a lock is required; determining a portion of the data object on which to request the lock; requesting, by a first node, that lock control in a specified mode be granted on the portion of a data object; responsive to a requested lock on a data object, reporting by the server, a list of nodes having conflicting lock status of the data object; responsive to receipt of the list, requesting by the first node that other nodes on the list give up conflicting control of the data object; and, responsive to acknowledgement from the other nodes that conflicting control has been given up, request by the first node that the server update the lock control status to reflect that the first node has lock control in the particular mode for the data object.
Claim 18
Dependent Claim 34 words
The method of Claim 17 wherein the determining comprises the step of applying a set of heuristic rules to attributes of the data object and attributes of a requested access to the data object.
Claim 19
Dependent Claim 51 words
The method of Claim 15 wherein the applying of the set of heuristic rules comprises the step of determining whether access is needed to a first page of the data object; whether access is consecutive to a previous access; and whether access is to greater than a predetermined number of pages.
Claim 20
Dependent Claim 114 words
The method of Claim 17 wherein the determining comprises the steps of: (a) determining if the data object is a directory type file; (b) determining if the data object is smaller than a predetermined size; (c) determining if access is needed to a first page of the data object; (d) determining if the access is consecutive to a previous access; (e) determining if the access is to greater than a predetermined number of pages; and, (f) when it is determined that any of steps (a), (b), (c), (d) and (e) are answered in the affirmative, requesting a lock on the entire data object and otherwise requesting the lock on particular pages to be accessed.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag