1. A method for selecting a value in a distributed computing system using a fault tolerant consensus algorithm, the method comprising: receiving at a computing device from a first client a first message comprising a first proposed value and a first client identifier corresponding to the first client; provisionally voting at the computing device for the first proposed value; transmitting from the computing device a first indication of the provisional voting for the first proposed value to one or more devices; transmitting from the computing device a first result of the provisional voting for the first proposed value to the first client, wherein the voting for the first proposed value, the transmitting the first indication of the voting for the first proposed value, and the transmitting the first result are not performed if a second message had previously been received at the computing device from a second client, the second message comprising a second proposed value and a second client identifier corresponding to a second client, the second client identifier being more dominant than the first client identifier, and the second proposed value having been previously provisionally voted for; receiving a message, the message being part of a fault tolerant consensus algorithm; ignoring additional proposed values from the first client; and participating in the fault tolerant consensus algorithm, wherein participating in the fault tolerant consensus algorithm comprises transmitting a possibly selected proposed value if a proposed value was previously voted for, and wherein the possibly selected proposed value was previously voted for and was proposed by a client having a most dominant client identifier among all clients whose proposals were received and who proposed values for a current system step.