Cluster voter model
AssigneeMicrosoft Technology Licensing, LLC
InventorsLu Xun, Alex Wun, Gopala Krishna R. Kakivaya, Rishi Rakesh Sinha
Life of this patent
Estimating the term…
Abstract
Determining if a new federation should be formed. A method includes a voter node determining that it has sufficient votes to form a new federation. The method further includes determining that no node existing in a previous federation already has a quorum of valid global tickets. Each global ticket indicates that a node agrees that a federation should continue to exist. As a result, the voter node forms a new federation.
Claims20
A method, implemented by a voter node in a federation environment, of determining that a new federation should be formed, the method comprising:
- a first voter node in the federation environment determining that it has a majority quorum of votes needed to form a new federation, the determination comprising the first voter node identifying a plurality of vote proxies stored in a vote proxy component at the first voter node, each vote proxy representing a corresponding vote in the federation environment using a single interface that is common across all different vote authority types, regardless of a vote authority type of an entity casting the corresponding vote, the plurality of vote proxies comprising (i) a first vote proxy corresponding to a first node vote of the first voter node, (ii) a second vote proxy corresponding to a second node vote of a second voter node, and (iii) a third vote proxy corresponding to an external vote of a shared voter comprising a non-node device, wherein one of the first voter node or the second voter node owns the external vote on behalf of the shared voter, wherein the shared voter has a different vote authority type than each of the first voter node and the second voter node, and wherein each of the first node and the second node instantiates a corresponding vote proxy for each of the first vote proxy corresponding to the first node vote, the second vote proxy corresponding to the second node vote, and the third vote proxy corresponding to the external vote;
- the first voter node determining that no node existing in a previous federation still has a quorum of valid global tickets, each global ticket indicating that a voter agrees that a federation should continue to exist;
- and
- as a result, the first voter node forming the new federation.
A computer system, comprising:
- one or more processors;
- and
- one or more computer readable media, wherein the one or more computer readable media comprise computer executable instructions that are structured to configure the computer system as a first voter node that includes a vote manager component, wherein the vote manager component is configured to:
- determine that the first voter node has a majority quorum of votes to needed form a new federation, the determination comprising identifying a plurality of vote proxies stored in a vote proxy component at the first voter node, each vote proxy representing a corresponding vote in the federation environment using a single interface that is common across all different vote authority types, regardless of a vote authority type of an entity casting the corresponding vote, the plurality of vote proxies comprising (i) a first vote proxy corresponding to a first node vote of the first voter node, (ii) a second vote proxy corresponding to a second node vote of a second voter node, and (iii) a third vote proxy corresponding to an external vote of a shared voter comprising a non-node device having a vote authority type that is different from vote authority types of either the first voter node or the second voter node, wherein one of the first voter node or the second voter node owns the external vote on behalf of the shared voter, and wherein each of the first node and the second node instantiates a corresponding vote proxy for each of the first vote proxy, the second vote proxy, and the third vote proxy;
- determine that no node existing in a previous federation still has a quorum of valid global tickets, each global ticket indicating that a voter agrees that a federation should continue to exist;
- and
- as a result, form the new federation.
A computer program product comprising one or more hardware storage devices having stored thereon computer executable instructions that are structured such that, when executed by at least one processor of a computing system, the computer executable instructions configure the computing system as a first voter node in a federation environment, including computer executable instructions that configure the computing system to perform at least the following:
- determine that the first voter node has a majority quorum of votes to needed form a new federation, the determination comprising identifying a plurality of vote proxies stored in a vote proxy component at the first voter node, each vote proxy representing a corresponding vote in the federation environment using a single interface that is common across all different vote authority types, regardless of a vote authority type of an entity casting the corresponding vote, the plurality of vote proxies comprising (i) a first vote proxy corresponding to a first node vote of the first voter node, (ii) a second vote proxy corresponding to a second node vote of a second voter node, and (iii) a third vote proxy corresponding to an external vote of a shared voter comprising a non-node device, wherein one of the first voter node or the second voter node owns the external vote on behalf of the shared voter, wherein the shared voter has a different vote authority type than each of the first voter node and the second voter node, and wherein each of the first node and the second node instantiates a corresponding vote proxy for each of the first vote proxy, the second vote proxy, and the third vote proxy;
- based on determining that the first voter node has a majority quorum of votes to needed form a new federation identify that no node existing in a previous federation still has a quorum of valid global tickets, each global ticket indicating that a voter agrees that a federation should continue to exist;
- and
- as a result of the identification, form the new federation.
Dependencies are inferred from the claim text.