US20180150230A1

State machine abstraction for log-based consensus protocols

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A generic state machine concept can be used to decouple specific state machine functionality from any specific consensus protocol. A generic state machine can prepare a local log record and generate a local log index in response to a data update received at a computing node of a plurality of computing nodes in a distributed data storage application. The generic state machine can pass replication information to one or more other computing nodes in the plurality of computing nodes in accordance with the consensus protocol and can mutate a state of the generic state machine upon the plurality of computing nodes achieving a quorum.

US20180150230A1, drawing sheet 1
Sheet 1 of 9

Term

10.8 yearsto projected expiry

Projected expiry 27 July 2037, counted from filing; an application has no term until it is granted.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

19 claims: 3 independent, 16 dependent

  1. 1
    Broadest claimClaim Score 62, broad(NHIP)A computer-implemented method comprising:preparing a local log record and generating a local log index at a generic state machine executing on a computing node of a plurality of computing nodes, the preparing and generating occurring in response to a data update received at the computing node, the generic state machine including a decoupling of state handling from handling of a consensus protocol implemented by the plurality of nodes;passing replication information to one or more other computing nodes in the plurality of computing nodes in accordance with the consensus protocol;mutating a state of the generic state machine upon the plurality of computing nodes achieving a quorum;andsending a reply to the data update.
  2. 7
    A system comprising:computer hardware configured to perform operations comprising: preparing a local log record and generating a local log index at a generic state machine executing on a computing node of a plurality of computing nodes, the preparing and generating occurring in response to a data update received at the computing node, the generic state machine including a decoupling of state handling from handling of a consensus protocol implemented by the plurality of nodes;passing replication information to one or more other computing nodes in the plurality of computing nodes in accordance with the consensus protocol;mutating a state of the generic state machine upon the plurality of computing nodes achieving a quorum;andsending a reply to the data update.
  3. 14
    A computer program product comprising a non-transitory computer-readable medium storing instructions that, when executed by at least one programmable processor result in operations comprising:preparing a local log record and generating a local log index at a generic state machine executing on a computing node of a plurality of computing nodes, the preparing and generating occurring in response to a data update received at the computing node, the generic state machine including a decoupling of state handling from handling of a consensus protocol implemented by the plurality of nodes;passing replication information to one or more other computing nodes in the plurality of computing nodes in accordance with the consensus protocol;mutating a state of the generic state machine upon the plurality of computing nodes achieving a quorum;andsending a reply to the data update.