Dynamic hashing method for optimal distribution of locks within a clustered system
First Claim
1. In a clustered computer system including a network of processing nodes, resources shared by said processing nodes, and a distributed lock manager for coordinating processing activities within the clustered computer system, the improvement comprising a method for evenly distributing the mastership of said resources within a clustered computer system amongst the processing nodes, said method comprising the steps of:
- maintaining a set of hash buckets within each processing node;
assigning each one of said resources to one of said hash buckets;
assigning a hash vector to each one of said hash buckets, each one of said hash vectors identifying said processing nodes in a predetermined sequence unique to said one of said hash buckets, mastership of the resources assigned to any one of said hash buckets residing with the first processing node identified by the hash vector assigned to said one of said hash buckets; and
reassigning mastership of the resources assigned to said set of hash buckets associated with one of said processing nodes following a failure of said one of said processing nodes to the next processing node having an active state identified by the hash vector assigned to said set of hash buckets associated with said failed processing node.
12 Assignments
0 Petitions
Accused Products
Abstract
A method for redistributing the mastership of system resources among the processing nodes within the clustered computer system following a change in the system configuration, such as the failure of a processing node or the return to service of a failed processing node. The method includes the steps of: maintaining a set of hash buckets within each processing node; assigning each one of the resources to one of the hash buckets; and assigning a hash vector, determined through utilization of an N-way recursive algorithm, to each one of the hash buckets, each one of the hash vectors identifying the processing nodes within the clustered computer system in a predetermined sequence unique to the one of the hash buckets. Mastership of any system resource resides with the first processing node identified by the hash vector assigned to the hash bucket to which the system resource is assigned. Following the failure of a processing node, the method reassigns mastership of the system resources assigned to the set of hash buckets associated with a failed processing node the next processing node having an active state identified by the hash vector assigned to the set of hash buckets associated with the failed processing node. Mastership of the resources initially assigned to the set of hash buckets associated with the failed node is reassigned to the failed node upon return of the failed node to an active state.
329 Citations
5 Claims
-
1. In a clustered computer system including a network of processing nodes, resources shared by said processing nodes, and a distributed lock manager for coordinating processing activities within the clustered computer system, the improvement comprising a method for evenly distributing the mastership of said resources within a clustered computer system amongst the processing nodes, said method comprising the steps of:
-
maintaining a set of hash buckets within each processing node; assigning each one of said resources to one of said hash buckets; assigning a hash vector to each one of said hash buckets, each one of said hash vectors identifying said processing nodes in a predetermined sequence unique to said one of said hash buckets, mastership of the resources assigned to any one of said hash buckets residing with the first processing node identified by the hash vector assigned to said one of said hash buckets; and reassigning mastership of the resources assigned to said set of hash buckets associated with one of said processing nodes following a failure of said one of said processing nodes to the next processing node having an active state identified by the hash vector assigned to said set of hash buckets associated with said failed processing node. - View Dependent Claims (2, 3, 4, 5)
-
Specification