Method and system for upgrading a set of replicated state machine processes

US10083217B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10083217-B2
Application numberUS-201514952944-A
CountryUS
Kind codeB2
Filing dateNov 26, 2015
Priority dateNov 26, 2015
Publication dateSep 25, 2018
Grant dateSep 25, 2018

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.

A computer-implemented method, computerized apparatus and computer program product, the method comprising: receiving a proposed reconfiguration command, the proposed reconfiguration command indicating a modification of a protocol version employed by a plurality of replica-set processes to an updated protocol version; tentatively agreeing on at least one proposed command following the proposed reconfiguration command, the at least one proposed command being in accordance with the updated protocol version, wherein said tentatively agreeing is decided prior to agreeing on the reconfiguration command; and, responsive to agreeing on the reconfiguration command, committing the tentatively agreed at least one proposed command.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of updating a software version in a replica-set including a plurality of replica-set processes, comprising: receiving, by a process belonging to the replica-set, a proposed reconfiguration command, indicating a modification of a protocol software version employed by the plurality of replica-set processes to an updated protocol software version; employing the modified protocol software version of the process, responsively to receiving the proposed reconfiguration command; receiving at least one proposed command requiring the updated protocol software version, after employing the modified protocol software version; replying with acknowledgement messages indicating tentatively agreeing to the received at least one proposed command, prior to receiving an instruction to commit the proposed reconfiguration command; responsive to receiving an instruction to commit the proposed reconfiguration command, committing the tentatively agreed at least one proposed command; receiving, by the process belonging to the replica-set, proposed reconfiguration commands indicating a change in a quorum required to agree on replicated state machine (RSM) commands; and in response to the commands indicating a change in the quorum, handling received RSM commands, based on both a current and proposed quorum, until the change in the quorum is committed or cancelled. 2. The computer-implemented method of claim 1 , wherein said tentatively agreeing on the at least one proposed command comprises acknowledgement by at least a predetermined number of replica-set processes. 3. The computer-implemented method of claim 1 , wherein the agreeing on the proposed reconfiguration command is based on acknowledgement by at least a predetermined number of replica-set processes. 4. The computer-implemented method of claim 1 , wherein said tentatively agreeing on at least one proposed command is Paxos based. 5. The computer-implemented method of claim 1 , wherein the agreeing on the proposed reconfiguration command is Paxos based. 6. The computer-implemented method of claim 1 , wherein the proposed reconfiguration command further indicates a modification of a current set of replica-set processes to a proposed set of replica-set processes, wherein said agreeing on the reconfiguration command comprises acknowledgement by at least a first predetermined number of members of the proposed set and by at least a second predetermined number of members of the current set. 7. The computer-implemented method of claim 1 , wherein employing the modified protocol software version comprises stopping the process, upgrading the software of the process, restarting the process and synchronizing the process with the replica-set. 8. The computer-implemented method of claim 1 , comprising acknowledging the modifying of the protocol software version to a process from which the proposed reconfiguration command was received, after employing the modified protocol software version. 9. The computer-implemented method of claim 1 , further comprising executing the received at least one proposed command, prior to receiving the instruction to commit the proposed reconfiguration command, wherein the executing is performed in a tentative manner allowing rollback of a state of the process to a state before execution of the at least one proposed command, if the updated protocol software version is not committed. 10. A computerized apparatus having a central processing unit (CPU) processor, the processor being adapted to perform the steps of: receiving, by a process running on the processor, wherein the process belongs to a replica-set including a plurality of replica-set processes, a proposed reconfiguration command, indicating a modification of a protocol software version employed by the plurality of replica-set processes to an updated protocol software version; employing the modified protocol software version of the process, responsively to receiving the proposed reconfiguration command; receiving at least one proposed command requiring the updated protocol software version, after employing the modified protocol software version; replying with acknowledgement messages indicating tentatively agreeing to the received at least one proposed command, prior to receiving an instruction to commit the proposed reconfiguration command; and responsive to receiving an instruction to commit the proposed reconfiguration command committing the tentatively agreed at least one proposed command, wherein the process running on the processor is additionally configured to receive proposed reconfiguration commands indicating a change in a quorum required to agree on replicated state machine (RSM) commands, and in response to the commands indicating a change in the quorum, to handle RSM commands based on both a current and proposed quorum, until the change in the quorum is committed or cancelled. 11. The computerized apparatus of claim 10 , wherein the agreeing on the proposed reconfiguration command is based on acknowledgement by at least a predetermined number of replica-set processes. 12. The computerized apparatus of claim 10 , wherein said tentatively agreeing on at least one proposed command is Paxos based. 13. The computerized apparatus of claim 10 , wherein the agreeing on the proposed reconfiguration command is Paxos based. 14. The computerized apparatus of claim 10 , wherein the proposed reconfiguration command further indicates a modification of a current set of replica-set processes to a proposed set of replica-set processes, wherein said agreeing on the reconfiguration command comprises acknowledgement by at least a first predetermined number of members of the proposed set and by at least a second predetermined number of members of the current set. 15. The computerized apparatus of claim 10 , wherein employing the modified protocol software version comprises stopping the process, upgrading the software of the process, restarting the process and synchronizing the process with the replica-set. 16. The computerized apparatus of claim 10 , comprising acknowledging the modifying of the protocol software version to a process from which the proposed reconfiguration command was received, after employing the modified protocol software version. 17. The computerized apparatus of claim 10 , further comprising executing the received at least one proposed command, prior to receiving the instruction to commit the proposed reconfiguration command, wherein the executing is performed in a tentative manner allowing rollback of a state of the process to a state before execution of the at least one proposed command, if the updated protocol software version is not committed. 18. A computer program product comprising a computer readable storage memory retaining program instructions, which program instructions when read by a processor, cause the processor to perform a method comprising: receiving, by a process running on the processor, wherein the process belongs to a replica-set including a plurality of replica-set processes, a proposed reconfiguration command, indicating a modification of a protocol software version employed by the plurality of replica-set processes to an updated protocol software version; employing the modified protocol software version of the process, responsively to receiving the proposed reconfiguration command; receiving at least one proposed command requiring the updated protocol software version, after employing the modified protocol software version; replying with acknowledgement messages

Assignees

Inventors

Classifications

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • G06F8/656Primary

    while running · CPC title

  • Physics · mapped topic

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 US10083217B2 cover?
A computer-implemented method, computerized apparatus and computer program product, the method comprising: receiving a proposed reconfiguration command, the proposed reconfiguration command indicating a modification of a protocol version employed by a plurality of replica-set processes to an updated protocol version; tentatively agreeing on at least one proposed command following the proposed r…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 25 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).