Dynamic quorum for distributed systems

US10169097B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10169097-B2
Application numberUS-201213356274-A
CountryUS
Kind codeB2
Filing dateJan 23, 2012
Priority dateJan 23, 2012
Publication dateJan 1, 2019
Grant dateJan 1, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Managing a distributed system. Embodiments may allow for a quorum to dynamically change the quorum vote. One example is illustrated in a method. The method includes determining a change to a voter's level of participation in a cluster. A quorum of voters changes the voter's voting privileges, based on the change in the voter's level of participation.

First claim

Opening claim text (preview).

What is claimed is: 1. In a distributed computing system in which performance of a computing task within the distributed system is based at least in part upon each of a minimum number of nodes or devices providing authorization for performance of the computing task, a method of dynamically managing the minimum number of nodes or devices required to enable performance of the computing task, the method comprising: instantiating a dynamic quorum daemon in the distributed system, the dynamic quorum daemon running as a background task in the distributed system and the dynamic quorum daemon managing a set of nodes within the distributed system that are enabled to authorize performance of a computing task in the distributed system; establishing that each of one or more nodes and zero or more devices in the distributed system is designated as an authorizing entity enabled to authorize performance of a computing task in the distributed system; establishing a minimum number of the authorizing entities which are required to authorize performance of the computing task in order to allow performance of the computing task in the distributed system; the dynamic quorum daemon determining that a state of a node or device in the distributed system has changed; based on the determined change in the state of a node or device, the dynamic quorum daemon changing a designation of whether the node or device is an authorizing entity that is enabled to authorize performance of a computing task in the distributed system; and based on the change of the designation of the node or device, the dynamic quorum daemon adjusting the minimum number of authorizing entities which are required to authorize performance of a computing task in order to allow performance of the computing task in the distributed system, the adjustment of the minimum number of authorizing entities being based at least in part upon a quorum policy which comprises one of node-majority with disk witness or node-majority with file share witness. 2. The method of claim 1 , wherein determining a change of a state of a node or device comprises: determining the node or device is no longer part of the distributed system; and changing the designation of the node or device to indicate that the node or device is not an authorizing entity. 3. The method of claim 1 , wherein determining a change of a state of a node or device comprises determining a node has been added to the distributed system and changing the designation of the node or device to indicate that the node or device is an authorizing entity. 4. The method of claim 1 , wherein determining a change of a state of a node or device comprises determining that a node is leaving the distributed system and wherein changing the designation of the node or device comprises removing the node or device from the authorizing entities and reducing the minimum number of authorizing entities which are required to authorize performance of a computing task. 5. The method of claim 1 , further comprising determining that only two nodes remain as authorizing entities and, as a result, deterministically selecting one of the two remaining nodes to lose its designation as an authorizing entity. 6. The method of claim 1 , further comprising receiving user input and, as a result, removing designation as an authorizing entity from one or more nodes. 7. The method of claim 1 , further comprising receiving user input and, as a result, designating one or more nodes as authorizing entities. 8. The method of claim 1 , further comprising: determining that the minimum number comprises two nodes and one device; determining that one of the two nodes leaves the distributed system; and as a result, determining not to remove designation of the node leaving the distributed system based on determination that the minimum number previously comprised three authorizing entities including two nodes and one device. 9. A computer program product for performing a method in a distributed computing system wherein performance of a computing task within the distributed system is based at least in part upon each of a minimum number of nodes or devices providing authorization for performance of the computing task, the method for dynamically managing the minimum number of nodes or devices required to enable performance of the computing task, the computer program product comprising one or more computer readable storage devices comprising computer executable instructions that when executed by one or more processors cause the one or more processors to perform the following: instantiating a dynamic quorum daemon in the distributed system, the dynamic quorum daemon running as a background task in the distributed system and the dynamic quorum daemon managing a set of nodes within the distributed system that are enabled to authorize performance of a computing task in the distributed system; establishing that each of one or more nodes and zero or more devices in the distributed system is designated as an authorizing entity enabled to authorize performance of a computing task in the distributed system; establishing a minimum number of the authorizing entities which are required to authorize performance of the computing task in order to allow performance of the computing task in the distributed system; the dynamic quorum daemon determining that a state of a node or device in the distributed system has changed; based on the determined change in the state of a node or device, the dynamic quorum daemon changing a designation of whether the node or device is an authorizing entity that is enabled to authorize performance of a computing task in the distributed system; and based on the change of the designation of the node or device, the dynamic quorum daemon adjusting the minimum number of authorizing entities which are required to authorize performance of a computing task in order to allow performance of the computing task in the distributed system, the adjustment of the minimum number of authorizing entities being based at least in part upon a quorum policy which comprises one of node-majority with disk witness or node-majority with file share witness. 10. The computer program product of claim 9 , wherein determining that a state of a node or device in the distributed system has changed comprises determining the node or device is no longer part of the distributed system; and changing the designation of the node or device to indicate that the node or device is not an authorizing entity. 11. The computer program product of claim 9 , wherein determining that a state of a node or device in the distributed system has changed comprises determining a node has been added to the distributed system and changing the designation of the node or device to indicate that the node or device is an authorizing entity. 12. The computer program product of claim 9 , wherein determining that a state of a node or device in the distributed system has changed comprises determining that a node is leaving distributed system and wherein the quorum of voters changing the voting privileges comprises removing the node's vote including the node itself as part of the quorum voting to remove its own vote to reduce the number of nodes needed for a quorum in the distributed system. 13. The computer program product of claim 9 , further comprising determining that only two nodes remain as authorizing entities and, as a result, deterministically selecting one of the two remaining nodes to lose its designation as an authorizing entity. 14. The computer program product of claim 9 , further comprising receiving user input and, as a result, removi

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10169097B2 cover?
Managing a distributed system. Embodiments may allow for a quorum to dynamically change the quorum vote. One example is illustrated in a method. The method includes determining a change to a voter's level of participation in a cluster. A quorum of voters changes the voter's voting privileges, based on the change in the voter's level of participation.
Who is the assignee on this patent?
Nishanov Gor, DAMATO Andrea, Tamhane Amitabh Prakash, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 01 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).