Patent ID: 7552122
Filing Date: 2009-06-23
Classification: G06F,Y10S

Abstract:
1. A computer-implemented method for granting access rights associated with a set of named resources to a given computer, the given computer and multiple other computers being part of a cluster having shared access to the set of named resources, the computer-implemented method comprising: maintaining current access rights associated with the given computer for the set of named resources, the set of named resources including a first named resource, a second named resource and a third named resource; associating exclusive access rights to the first named resource for the given computer indicating that the multiple other computers have no associated access rights to the first named resource; associating no access rights to the second named resource for the given computer indicating that the given computer has no knowledge about access associated with the multiple other computers for the second named resource; associating shared access rights to the third named resource for the given computer indicating that none of the multiple other computers has associated exclusive access rights to the third named resource; maintaining a respective sets of identifiers of neighbor computers in the cluster, the respective sets of identifiers forming a respective tree associated with a respective resource, each node in the respective tree representing a computer in the cluster, each computer in the tree having a pointer pointing to computers at a higher level towards a root computer of the tree; receiving a request by a computer in the tree to obtain access rights with respect to the resource; in response to receiving the request, modifying the respective tree to change access rights associated with at least one computer in the cluster in response to a request by a computer in the tree to obtain access rights to the respective resource; upon receiving a request from a particular computer in the cluster for exclusive access to a given shared resource, the request being received at a time when multiple computers including the particular computer have shared access rights to the given shared resource, recording the request for later examination and sending a drain message to computers identified in a neighbors set associated with the given shared resource, the drain message including the request and being sent to the computers identified in the neighbors set to initiate granting of exclusive access rights in the given shared resource to the particular computer; and upon receiving a draining message about a shared resource by a computer that has associated shared access rights for that shared resource, if the corresponding neighbors set contains only an identity of a computer that sent the drain message, performing the following steps: assigning the shrinker computer in the received drain message as a leader computer for the given shared resource; associating a neighbors set containing only the identity of the shrinker computer for the shared resource for the receiving computer; and sending a ‘joint’ transformation message to the sender of the draining message.