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:
“In my dreams is a country where the State is the Church and the Church the people: three in one and one in three. It is a commonwealth in which work is play and play is life: three in one and one in three. It is a temple in which the priest is the worshiper and the worshiper the worshipped: three in one and one in three. It is a godhead in which all life is human and all humanity divine: three in one and one in three.”
—George Bernard Shaw (18561950)
“Goodbye, boys; Im under arrest. I may have to go to jail. I may not see you for a long time. Keep up the fight! Dont surrender! Pay no attention to the injunction machine at Parkersburg. The Federal judge is a scab anyhow. While you starve he plays golf. While you serve humanity, he serves injunctions for the money powers.”
—Mother Jones (18301930)