IP Library Granted Patent US 7,644,305
Granted Patent B2
US 7,644,305 · App. 11/419,118 · Granted Jan 5, 2010

Quorum establishment based on a vote from a voting device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,644,305
App. No.
11/419,118
Granted
Jan 5, 2010
Kind
B2
Abstract

A cluster system including as few as two cluster nodes and a plurality of links, each one of the plurality of links coupling one of the cluster nodes to a voting device wherein a single surviving cluster node obtain a vote from the voting device. A method of establishing quorum in a cluster system including as few as two cluster nodes, the method comprising determining a single surviving cluster node of the as few as two cluster nodes, obtaining a vote from a voting device, and establishing quorum such that cluster operations are continued by the single surviving cluster node. A method for preventing a partition-in-time quorum establishment problem in a cluster system including as few as two cluster nodes, the method comprising determining that a revived cluster node is also a sole active cluster node of the cluster system, checking a last-surviving flag of the sole active cluster node, and if the last-surviving flag is set to FALSE, not restarting cluster operations.

Claims (26)

1. A cluster system comprising:

as few as two cluster nodes wherein each of the as few as two cluster nodes includes a last-surviving flag that, when set to TRUE, indicates that the corresponding cluster node is a last surviving node of the cluster system, and wherein the as few as two cluster nodes are communicatively coupled by a plurality of links, at least one of the plurality of links communicatively coupling one of the as few as two cluster nodes to a voting device wherein a single surviving cluster node of the as few as two cluster nodes that is the one of the as few as two cluster nodes obtains a vote from the voting device, and wherein the vote from the voting device is defined as the single surviving cluster node confirming communicative contact with the voting device.

2. The cluster system of claim 1 wherein the single surviving node is indicated by its last-surviving flag being set to TRUE.

3. The cluster system of claim 1 wherein the voting device is unrelated to the cluster system other than by being able to communicate with the as few as two cluster nodes and provide the vote.

4. The cluster system of claim 1 wherein the voting device is two or more devices within a safe zone wherein the safe zone is a portion of a network that provides sufficient redundant pathways between the two or more devices that it is statistically unlikely that the two or more devices become unable to communicate with each other due to network failures, wherein statistically unlikely is defined as less than a 1% probability.

5. The cluster system of claim 1 wherein the single surviving cluster node continues cluster operations after obtaining the vote from the voting device.

6. The cluster system of claim 1 wherein the as few as two cluster nodes are geographically distributed.

7. A method of establishing quorum in a cluster system including as few as two cluster nodes, the method comprising:

determining a single surviving cluster node of the as few as two cluster nodes wherein each of the as few as two cluster nodes includes a last-surviving flag that, when set to TRUE, indicates that the corresponding cluster node is a last surviving node of the cluster system;

obtaining a vote from a voting device wherein the vote from the voting device is defined as the single surviving cluster node confirming contact with the voting device; and

establishing quorum such that cluster operations are continued by the single surviving cluster node.

8. The method of claim 7 further comprising setting the last-surviving flag of the single surviving cluster node to TRUE.

9. The method of claim 7 wherein the voting device is unrelated to the cluster system other than by being able to communicate with the as few as two cluster nodes and provide the vote.

10. The method of claim 7 wherein the vote is a response from the voting device responsive to a contact attempt by the single surviving cluster node.

11. The method of claim 7 wherein the voting device is one or more devices within a safe zone.

12. The method of claim 7 wherein the as few as two cluster nodes are geographically distributed.

13. The method of claim 7 wherein the voting device is a web server.

14. The method of claim 7 wherein the vote is obtained using a uniform resource locator associated with the voting device.

15. The method of claim 7 embodied as computer-executable instructions on computer-readable media.

16. The method of claim 7 wherein the as few as two cluster nodes are coupled to the voting device via the Internet.

17. A method for preventing a partition-in-time quorum establishment problem in a cluster system including as few as two cluster nodes, the method comprising:

determining that a revived cluster node of the as few as two cluster nodes is also a sole active cluster node of the cluster system, wherein each of the as few as two cluster nodes includes a last-surviving flag that, when set to TRUE, indicates that the corresponding cluster node is a last surviving node of the cluster system;

checking the last-surviving flag of the sole active cluster node; and

if the last-surviving flag of the sole active cluster node is set to FALSE, not restarting cluster operations.

18. The method of claim 17 embodied as computer-executable instructions on computer-readable media.

19. The method of claim 17 further comprising joining the revived cluster node to cluster operations after a second cluster node of the as few as two cluster nodes, the second cluster node including a last-surviving flag previously set to TRUE, restarts cluster operations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2006
From: FRIEDRICH, KURT LAWRENCE; DION, DAVID ALLEN; DAS, RAJSEKHAR; THIEL, GREGORY I.
To: MICROSOFT CORPORATION
Reel/Frame 017660/0014 →