State Machine Replication

State Machine Replication

For the subsequent discussion a State Machine will be defined as the following tuple of values (See also Mealy machine and Moore Machine):

  • A set of States
  • A set of Inputs
  • A set of Outputs
  • A transition function (Input x State -> State)
  • An output function (Input x State -> Output)
  • A distinguished State called Start.

A State Machine begins at the State labeled Start. Each Input received is passed through the transition and output function to produce a new State and an Output. The State is held stable until a new Input is received, while the Output is communicated to the appropriate receiver.

It should be clear that any algorithm can be implemented using this model if driven by an appropriate Input stream. In particular, this discussion requires a State Machine to have the following property:

Deterministic:
Multiple copies of the same State Machine begun in the Start state, and receiving the same Inputs in the same order will arrive at the same State having generated the same Outputs.

Read more about State Machine Replication:  The State Machine Approach, Historical Background

Famous quotes containing the words state and/or machine:

    One usually dies because one is alone, or because one has got into something over one’s head. One often dies because one does not have the right alliances, because one is not given support. In Sicily the Mafia kills the servants of the State that the State has not been able to protect.
    Giovanni Falcone (1939–1992)

    A multitude of little superfluous precautions engender here a population of deputies and sub-officials, each of whom acquits himself with an air of importance and a rigorous precision, which seemed to say, though everything is done with much silence, “Make way, I am one of the members of the grand machine of state.”
    Marquis De Custine (1790–1857)