A replicated state machine in a distributed computing system comprising a plurality of replicated state machines coupled to one another over a computer network, the replicated state machine comprising:
- a processor;
- and
- memory coupled to the processor, the processor being configured to execute sequences of instructions configured to:
- asynchronously receive out of order agreements from a distributed co-ordination engine;
- maintain at least a first membership comprising, a first plurality of agreements comprising a first plurality of processes within a global sequence of agreements and a second membership comprising a second plurality of agreements comprising a second plurality of processes within the global sequence of agreements;
- and
- dynamically change membership from the first membership to the second membership.