Creating and dissolving affinity relationships in a cluster
First Claim
1. A method for mastering resources within a system that includes a plurality of nodes, the method comprising:
- using an affinity-independent assignment mechanism to determine which nodes, of said plurality of nodes, master resources that belong to a first set of resources;
wherein resources within said first set of resources belong to objects for which no affinity relationship has been established;
using an affinity-based assignment mechanism to determine which nodes, of said plurality of nodes, master resources that belong to a second set of resources;
wherein resources within the second set of resources belong to objects for which an affinity relationship has been established;
wherein an affinity relationship has been established between a particular object and a particular node based on a set of factors;
wherein the set of factors includes at least one of;
how many locks the particular node has opened on the particular object relative to how many locks other nodes have opened on the particular object;
a comparison between a first cost of executing a particular command without establishing the affinity relationship, and a second cost of executing said particular command after establishing the affinity relationship;
the type of the operation specified in a command that accesses the object;
knowledge, about the object, known by the system;
user-specified affinity information; and
existence of a relationship between the particular object and another object that is in an affinity relationship with the particular node;
wherein the method is executed by a computer system.
1 Assignment
0 Petitions
Accused Products
Abstract
A lock manager system is provided that includes multiple distinct mechanisms for assigning resources to masters. Specifically, the lock manager system includes (1) one or more assignment mechanisms that do not take into account the affinity between nodes and objects (“affinity-independent assignment mechanisms”), and (3) one or more assignment mechanisms that do take into account the affinity between nodes and objects (“affinity-based assignment mechanisms”). At any given time, the assignment of any given resource to a master is governed by only one of the multiple assignment mechanisms employed by the system. Various techniques are described for determining which assignment mechanism to use with which resources.
82 Citations
22 Claims
-
1. A method for mastering resources within a system that includes a plurality of nodes, the method comprising:
-
using an affinity-independent assignment mechanism to determine which nodes, of said plurality of nodes, master resources that belong to a first set of resources; wherein resources within said first set of resources belong to objects for which no affinity relationship has been established; using an affinity-based assignment mechanism to determine which nodes, of said plurality of nodes, master resources that belong to a second set of resources; wherein resources within the second set of resources belong to objects for which an affinity relationship has been established; wherein an affinity relationship has been established between a particular object and a particular node based on a set of factors; wherein the set of factors includes at least one of; how many locks the particular node has opened on the particular object relative to how many locks other nodes have opened on the particular object; a comparison between a first cost of executing a particular command without establishing the affinity relationship, and a second cost of executing said particular command after establishing the affinity relationship; the type of the operation specified in a command that accesses the object; knowledge, about the object, known by the system; user-specified affinity information; and existence of a relationship between the particular object and another object that is in an affinity relationship with the particular node; wherein the method is executed by a computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification