Computer network cluster generation indicator
First Claim
1. In a computer network, a method for sharing a resource among a cluster of devices, the method comprising the steps of:
- generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each processing and non-processing voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices, advancing the selected generation indicator and storing the advanced selected generation indicator in memory as a cluster generation indicator, forming a cluster that includes the voting devices upon the advanced selected generation indicator being stored in memory, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after such cluster is formed.
5 Assignments
0 Petitions
Accused Products
Abstract
A technique for sharing a resource among a cluster of devices in a computer network. The technique involves generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum. The technique further involves, when the quorum is reached, selecting a most advanced generation indicator from among the voting devices, advancing the selected generation indicator and storing the advanced selected generation indicator in memory as a cluster generation indicator. Upon the advanced selected generation indicator being stored in memory, the cluster is formed and includes the voting devices. The technique further involves sharing a resource among the voting devices after the cluster is formed.
-
Citations
38 Claims
-
1. In a computer network, a method for sharing a resource among a cluster of devices, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each processing and non-processing voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices, advancing the selected generation indicator and storing the advanced selected generation indicator in memory as a cluster generation indicator, forming a cluster that includes the voting devices upon the advanced selected generation indicator being stored in memory, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after such cluster is formed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
writing the advanced selected generation indicator in the local memory of each voting device.
-
-
3. The method of claim 2, wherein the local memory of each voting device includes a non-volatile memory, and wherein the step of writing includes the step of:
storing the advanced selected generation indicator in the non-volatile memory of the local memory of each voting device.
-
4. The method of claim 2, wherein at least one of the voting devices is a non-processing voting device, and wherein the step of writing includes the step of:
storing the advanced selected generation indicator in the local memory of each non-processing voting device.
-
5. The method of claim 4, wherein at least one non-processing voting device is a voting storage device, and wherein the step of storing the advanced selected generation indicator in the local memory of each non-processing voting device includes the step of:
storing the advanced selected generation indicator in the local memory of each voting storage device.
-
6. The method of claim 2, wherein the step of selecting, advancing and storing further includes the step of:
blocking formation of the cluster until the advanced selected generation indicator is written into the local memory of each voting device.
-
7. The method of claim 2, wherein the cluster includes voting devices and non-voting devices, and wherein the step of writing includes the step of:
storing the advanced selected generation indicator in the local memory of each voting device while excluding non-voting devices from storing the advanced selected generation indicator.
-
8. The method of claim 2, wherein the cluster includes voting devices and non-voting devices, and wherein the step of writing includes the step of:
storing the advanced selected generation indicator in the local memory of each voting device and a local memory of at least one non-voting device.
-
9. The method of claim 1, further comprising the step of:
when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in memory, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in memory.
-
10. In a computer network, a method for sharing a resource among a cluster of devices, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
when the quorum is reached, writing a cluster generation indicator in a local memory of each voting device, at least one voting device being a non-processing voting device, a cluster being formed that includes the voting devices when the cluster generation indicator is written in the local memory of each voting device, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from a selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after the cluster is formed. - View Dependent Claims (11, 12, 13, 14)
storing the cluster generation indicator in the local memory of each voting device while excluding non-voting devices from storing the cluster generation indicator.
-
-
12. The method of claim 10, wherein the cluster includes voting devices and non-voting devices, and wherein the step of writing includes the step of:
storing the cluster generation indicator in the local memory of each voting device and a local memory of at least one non-voting device.
-
13. The method of claim 10, further comprising the step of:
when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in the local memory of each voting device remaining in the cluster, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in the local memory of each voting device remaining in the cluster.
-
14. The method of claim 10, further comprising:
before the step of generating, setting the quorum equal to more than one half of a total number of votes available to the cluster.
-
15. In a computer network, a system for sharing a resource among a cluster of devices, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes respective votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each processing and non-processing voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices that attempted to form the cluster, advancing the selected generation indicator and storing the advanced selected generation indicator in the local memory of at least one voting device as a cluster generation indicator, a cluster being formed that includes the voting devices that attempted to form the cluster when the advanced selected generation indicator is stored in the local memory of the at least one voting device, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing the shareable resource among the at least one voting device after the cluster is formed. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
a plurality of non-voting devices, wherein the cluster includes voting devices and non-voting devices, and wherein the code includes instructions for storing the advanced selected generation indicator in the local memory of each voting device while excluding non-voting devices from storing the advanced selected generation indicator.
-
-
22. The system of claim 16, further comprising:
a plurality of non-voting devices, wherein the cluster includes voting devices and non-voting devices, and wherein the code includes instructions for storing the advanced selected generation indicator in the local memory of each voting device and a local memory of at least one non-voting device.
-
23. The system of claim 15, wherein the code includes instructions for, when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in memory, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in memory.
-
24. In a computer network, a system for sharing a resource among a cluster of devices, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
when the quorum is reached, writing a cluster generation indicator in the local memory of each voting device that attempted to form the cluster, at least one voting device being a non-processing voting device, a cluster being formed that includes the voting devices that attempted to form the cluster when the cluster generation indicator is written in the local memory of each voting device that attempted to form the cluster; and
sharing the shareable resource among the voting devices that attempted to form the cluster after the cluster, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned is formed. - View Dependent Claims (25, 26, 27, 28)
a plurality of non-voting devices wherein the cluster includes voting devices and non-voting devices, and wherein the code includes instructions for storing the cluster generation indicator in the local memory of each voting device while excluding non-voting devices from storing the cluster generation indicator.
-
-
26. The system of claim 24, further comprising:
a plurality of non-voting devices, wherein the cluster includes voting devices and non-voting devices, and wherein the code includes instructions for storing the cluster generation indicator in the local memory of each voting device and a local memory of at least one non-voting device.
-
27. The system of claim 24, wherein the code includes instructions for, when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in the local memory of each voting device remaining in the cluster, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in the local memory of each voting device remaining in the cluster.
-
28. The system of claim 24, wherein the code includes instructions for setting the quorum equal to more than one half of a total number of votes available to the cluster before generating the vote count.
-
29. In a computer network, a method for sharing a resource among a cluster of devices, the cluster including at least one non-processing voting storage device, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices, advancing the selected generation indicator, storing the advanced selected generation indicator in memory as a cluster generation indicator, a cluster being formed that includes the voting devices when the advanced selected generation indicator is stored in memory, and storing the advanced selected generation indicator in a local memory of each non-processing voting storage device, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after the cluster is formed.
-
-
30. In a computer network, a method for sharing a resource among a cluster of devices, the cluster including voting devices and non-voting devices, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices, advancing the selected generation indicator, storing the advanced selected generation indicator in memory as a cluster generation indicator, a cluster being formed that includes the voting devices when the advanced selected generation indicator is stored in memory, and storing the advanced selected generation indicator in a local memory of each voting device while either a) excluding non-voting devices from storing the advanced selected generation indicator or b) storing the advanced selected generation indicator in the local memory of at least one non-voting device, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after the cluster is formed.
-
-
31. In a computer network, a method for sharing a resource among a cluster of devices, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices, advancing the selected generation indicator and storing the advanced selected generation indicator in memory as a cluster generation indicator, a cluster being formed that includes the voting devices when the advanced selected generation indicator is stored in memory, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned;
when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in memory, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in memory; and
sharing a resource among the voting devices after the cluster is formed.
-
-
32. In a computer network, a method for sharing a resource among a cluster of devices, the cluster including voting devices and non-voting devices, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
when the quorum is reached, writing a cluster generation indicator in a local memory of each voting device, at least one voting device being a non-processing voting device, while either a) excluding non-voting devices from storing the cluster generation indicator or b) storing the advanced selected generation indicator in the local memory of at least one non-voting device, a cluster being formed that includes the voting devices when the cluster generation indicator is written in the local memory of each voting device, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from a selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after the cluster is formed.
-
-
33. In a computer network, a method for sharing a resource among a cluster of devices, the method comprising the steps of:
-
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
when the quorum is reached, writing a cluster generation indicator in a local memory of each voting device, at least one voting device being a non-processing voting device, a cluster being formed that includes the voting devices when the cluster generation indicator is written in the local memory of each voting device;
when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in the local memory of each voting device remaining in the cluster, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in the local memory of each voting device remaining in the cluster such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from a selected generation indicator that the cluster has been partitioned; and
sharing a resource among the voting devices after the cluster is formed.
-
-
34. In a computer network, a system for sharing a resource among a cluster of devices, the cluster including at least one non-processing voting storage device, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes respective votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices that attempted to form the cluster, advancing the selected generation indicator and storing the advanced selected generation indicator in the local memory of each non-processing voting storage device that attempted to form the cluster, as a cluster generation indicator, a cluster being formed that includes the voting devices that attempted to form the cluster when the advanced selected generation indicator is stored in the local memory of each voting device that attempted to form the cluster, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing the shareable resource among the at least one voting device after the cluster is formed.
-
-
35. In a computer network, a system for sharing a resource among a cluster of devices, the cluster including voting and non-voting devices and at least one non-processing voting storage device, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes respective votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices that attempted to form the cluster, advancing the selected generation indicator and storing the advanced selected generation indicator in the local memory of each voting device that attempted to form the cluster, as a cluster generation indicator, while either a) excluding non-voting devices from storing the advanced selected generation indicator or b) storing the advanced selected generation indicator in the local memory of each voting device and a local memory of at least one non-voting device, a cluster being formed that includes the voting devices that attempted to form the cluster when the advanced selected generation indicator is stored in the local memory of each voting device that attempted to form the cluster, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned; and
sharing the shareable resource among the at least one voting device after the cluster is formed.
-
-
36. In a computer network, a system for sharing a resource among a cluster of devices, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes respective votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
generating a generation indicator and storing the generation indicator in each voting device;
when the quorum is reached, selecting a most advanced generation indicator from among the voting devices that attempted to form the cluster, advancing the selected generation indicator and storing the advanced selected generation indicator in the local memory of at least one voting device as a cluster generation indicator, a cluster being formed that includes the voting devices that attempted to form the cluster when the advanced selected generation indicator is stored in the local memory of the at least one voting device, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from the selected generation indicator that the cluster has been partitioned;
when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in memory, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in memory; and
sharing the shareable resource among the at least one voting device after the cluster is formed.
-
-
37. In a computer network, a system for sharing a resource among a cluster of devices, the cluster including voting devices and non-voting devices, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
when the quorum is reached, writing a cluster generation indicator in the local memory of each voting device that attempted to form the cluster, at least one voting device being a non-processing voting device, while either a) excluding non-voting devices from storing the cluster generation indicator or b) storing the cluster generation indicator in the local memory of each voting device and a local memory of at least one non-voting device, a cluster being formed that includes the voting devices that attempted to form the cluster when the cluster generation indicator is written in the local memory of each voting device that attempted to form the cluster, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from a selected generation indicator that the cluster has been partitioned; and
sharing the shareable resource among the voting devices that attempted to form the cluster after the cluster is formed.
-
-
38. In a computer network, a system for sharing a resource among a cluster of devices, comprising:
-
a shareable resource; and
a plurality of voting devices, each voting device having a local memory, the voting devices including code for;
generating a vote count that includes votes from voting devices attempting to form a cluster until the vote count reaches a quorum;
when the quorum is reached, writing a cluster generation indicator in the local memory of each voting device that attempted to form the cluster, at least one voting device being a non-processing voting device, a cluster being formed that includes the voting devices that attempted to form the cluster when the cluster generation indicator is written in the local memory of each voting device that attempted to form the cluster;
when a voting device leaves the cluster and the quorum is maintained, advancing the cluster generation indicator, storing the advanced cluster generation indicator in the local memory of each voting device remaining in the cluster, and preventing each voting device remaining in the cluster from further sharing the resource until the advanced cluster generation indicator is stored in the local memory of each voting device remaining in the cluster, such that the cluster generation indicators are associated with cluster votes and the cluster is able to determine from a selected generation indicator that the cluster has been partitioned; and
sharing the shareable resource among the voting devices that attempted to form the cluster after the cluster is formed.
-
Specification