Quorum arbitrator for a high availability system
First Claim
1. A computer system operable to provide a plurality of nodes of a cluster with a quorum resource, comprising:
- a network interface controller operable to send messages to said plurality nodes via a network and receive messages from said plurality of nodes via said network;
a mass storage device comprising storage that is used to implement said quorum resource and that is accessible by said plurality of nodes via said network interface controller;
a processor operably coupled to said network interface controller and said mass storage device; and
memory operably coupled to said processor and comprising a plurality of instructions, which when executed by said processor, causes said processor to;
a) receive a first message requesting ownership of said quorum resource from a first node of said plurality of nodes via said network interface controller, b) determine whether said first node already owns said quorum resource in response to receiving said first message, c) determine whether a second message requesting ownership of said quorum resource is received from a second node of said plurality of nodes within a predetermined time period of receiving said first message if said first node does not already own said quorum resource, and d) grant ownership of said quorum resource to said first node of said plurality of nodes if said second message is not received within said predetermined time period.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system operable to provide nodes of a cluster with a quorum resource includes a network interface controller, a mass storage device, a processor, and memory. The network interface controller is operable to send messages to the nodes via a network and receive messages from the nodes via the network. The mass storage device includes storage that is used to implement the quorum resource and that is accessible by the nodes via the network interface controller. The processor is operably coupled to the network interface controller and the mass storage device. The memory is operably coupled to the processor and includes instructions, which when executed by the processor, cause the processor to process a first message requesting ownership of the quorum resource that is received from a first node of the cluster via the network interface controller. Furthermore, the instructions cause the processor to determine whether the first node already owns the quorum resource in response to receiving the first message. Moreover, the instructions cause the processor to determine whether a second message requesting ownership of the quorum resource is received from a second node of the cluster within a predetermined time period of receiving the first message it the first node does not already own the quorum resource. The instructions cause the processor to grant ownership of the quorum resource to the first node if the second message is not received within the predetermined time period.
-
Citations
18 Claims
-
1. A computer system operable to provide a plurality of nodes of a cluster with a quorum resource, comprising:
-
a network interface controller operable to send messages to said plurality nodes via a network and receive messages from said plurality of nodes via said network;
a mass storage device comprising storage that is used to implement said quorum resource and that is accessible by said plurality of nodes via said network interface controller;
a processor operably coupled to said network interface controller and said mass storage device; and
memory operably coupled to said processor and comprising a plurality of instructions, which when executed by said processor, causes said processor to;
a) receive a first message requesting ownership of said quorum resource from a first node of said plurality of nodes via said network interface controller, b) determine whether said first node already owns said quorum resource in response to receiving said first message, c) determine whether a second message requesting ownership of said quorum resource is received from a second node of said plurality of nodes within a predetermined time period of receiving said first message if said first node does not already own said quorum resource, and d) grant ownership of said quorum resource to said first node of said plurality of nodes if said second message is not received within said predetermined time period. - View Dependent Claims (2, 3, 4, 5, 6)
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, and grant ownership of said quorum resource to said first node if said second message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource.
-
-
3. The computer system of claim 1, wherein said plurality of instructions of said memory, further cause said processor to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, grant ownership of said quorum resource to said first node if said second message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource, and clear said pending list upon granting ownership of said quorum resource to said first node.
-
-
4. The computer system of claim 1, wherein said plurality of instructions of said memory, further cause said processor to:
grant ownership of said quorum resource to said second node of said plurality of nodes if said second message is received within said predetermined time period and said second node already owns said quorum resource.
-
5. The computer system of claim 1, wherein said plurality of instructions of said memory, further cause said processor to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, grant ownership of said quorum resource to said second node of said plurality of nodes if said second message is received within said predetermined time period and said second node already owns said quorum resource, and clear said pending list upon granting ownership of said quorum resource to said second node.
-
-
6. The computer system of claim 1, wherein said plurality of instructions of said memory, further cause said processor to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, and add said second message requesting ownership of said quorum resource received from said second node within said predetermined time period if said second node does not already own said quorum resource, determine whether a third message requesting ownership of said quorum resource is received from a third node of said plurality of nodes within said predetermined time period of receiving said second message, grant ownership of said quorum resource to said first node if said third message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource, and send each node identified by said pending list except for said first node a fourth message which indicates said each node has been ownership of the quorum resource.
-
-
7. A high availability system, comprising:
-
a cluster comprising a plurality of nodes coupled to a network; and
a quorum arbitrator comprising a quorum resource and operably coupled to said plurality of nodes via said network, said quorum aribtrator operable to (i) receive a first message requesting ownership of said quorum resource from a first node of said plurality of nodes, (ii) determine whether said first node already owns said quorum resource in response to receiving said first message, (iii) determine whether a second message requesting ownership of said quorum resource is received from a second node of said plurality of nodes within a predetermined time period of receiving said first message if said first node does not already own said quorum resource, (iv) grant ownership of said quorum resource to said first node of said plurality of nodes if said second message is not received within said predetermined time period. - View Dependent Claims (8, 9, 10, 11, 12)
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, and grant ownership of said quorum resource to said first node if said second message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource.
-
-
9. The high availability system of claim 7, wherein said quorum arbitrator is further operable to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, grant ownership of said quorum resource to said first node if said second message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource, and clear said pending list upon granting ownership of said quorum resource to said first node.
-
-
10. The high availability system of claim 7, wherein said quorum arbitrator is further operable to:
grant ownership of said quorum resource to said second node of said plurality of nodes if said second message is received within said predetermined time period and said second node already owns said quorum resource.
-
11. The high availability system of claim 7, wherein said quorum arbitrator is further operable to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, grant ownership of said quorum resource to said second node of said plurality of nodes if said second message is received within said predetermined time period and said second node already owns said quorum resource, and clear said pending list upon granting ownership of said quorum resource to said second node.
-
-
12. The high availability system of claim 7, wherein said quorum arbitrator is further operable to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, and add said second message requesting ownership of said quorum resource received from said second node within said predetermined time period if said second node does not already own said quorum resource, determine whether a third message requesting ownership of said quorum resource is received from a third node of said plurality of nodes within said predetermined time period of receiving said second message, grant ownership of said quorum resource to said first node if said third message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource, and send each node identified by said pending list except for said first node a fourth message which indicates said each node has been ownership of the quorum resource.
-
-
13. A computer readable medium for configuring a computer system comprising a network interface controller, at least one processor, and a mass storage device to implement a quorum arbitrator comprising a quorum resource, said computer readable medium comprising a plurality of instructions, which when executed by said computer system, cause said computer system to:
-
receive a first message requesting ownership of said quorum resource from a first node of a plurality of nodes via said network interface controller, determine whether said first node already owns said quorum resource in response to receiving said first message, determine whether a second message requesting ownership of said quorum resource is received from a second node of said plurality of nodes within a predetermined time period of receiving said first message if said first node does not already own said quorum resource, and grant ownership of said quorum resource to said first node of said plurality of nodes if said second message is not received within said predetermined time period. - View Dependent Claims (14, 15, 16, 17, 18)
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, and grant ownership of said quorum resource to said first node if said second message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource.
-
-
15. The computer readable medium of claim 13, wherein said plurality of instructions, when executed by said computer system, further cause said computer system to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, grant ownership of said quorum resource to said first node if said second message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource, and clear said pending list upon granting ownership of said quorum resource to said first node.
-
-
16. The computer readable medium of claim 13, wherein said plurality of instructions, when executed by said computer system, further cause said computer system to:
grant ownership of said quorum resource to said second node of said plurality of nodes if said second message is received within said predetermined time period and said second node already owns said quorum resource.
-
17. The computer readable medium of claim 13, wherein said plurality of instructions, when executed by said computer system, further cause said computer system to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, grant ownership of said quorum resource to said second node of said plurality of nodes if said second message is received within said predetermined time period and said second node already owns said quorum resource, and clear said pending list upon granting ownership of said quorum resource to said second node.
-
-
18. The computer readable medium of claim 13, wherein said plurality of instructions, when executed by said computer system, further cause said computer system to:
-
add said first message to a pending list of received messages in response to receiving said first message if said first node does not already own said quorum resource, and add said second message requesting ownership of said quorum resource received from said second node within said predetermined time period if said second node does not already own said quorum resource, determine whether a third message requesting ownership of said quorum resource is received from a third node of said plurality of nodes within said predetermined time period of receiving said second message, grant ownership of said quorum resource to said first node if said third message is not received within said predetermined time period and said pending list indicates said first node is to be granted ownership of said quorum resource, and send each node identified by said pending list except for said first node a fourth message which indicates said each node has been ownership of the quorum resource.
-
Specification