A distributed system, comprising: a plurality of server nodes (102, 104, 106, 504), each comprising a client application and being configured to receive client requests to change a state of the client application and to generate corresponding proposals; a first version (506, B602) of a distributed coordination engine "DConE", coupled to the plurality of server nodes via respective input and output queues and configured to receive the proposals on the input queues, the first version of the DConE being further configured to reach agreements on the proposals and to output a first ordering of agreements on output queues, coupled to the plurality of server nodes, the first ordering of agreements specifying an order in which the client applications are to execute constituent agreements of the first ordering of agreements and correspondingly update their respective states, the first version of the DConE being further configured to monitor the input queues for a predetermined proposal configured to direct a changeover from the first to a second version of the DConE, to dequeue the predetermined proposal, submit the predetermined proposal for processing and reach an agreement thereon using a consensus protocol, to place the agreement on the predetermined proposal on the output queues and thereafter to reach no further agreements on the proposals on the input queues; and the second version (512, B608) of the DConE being coupled to respective input and output queues, the second version of the DConE being further configured to, after agreement has been reached on the predetermined proposal, reach agreements on the proposals on the input queues and to output a second ordering of agreements on the output queues, beginning with the agreement on the predetermined proposal, the second ordering of agreements including proposals on which agreement has been reached and specifying an order in which the client applications are to execute constituent agreements of the second ordering of agreements and correspondingly update their respective states, wherein each client application is further configured to cause any agreed-upon proposal received from the first version of the DConE after receipt of the agreement corresponding to the predetermined proposal to be sent back to the second version of the DConE via the input queues. a plurality of server nodes (102, 104, 106, 504), each comprising a client application and being configured to receive client requests to change a state of the client application and to generate corresponding proposals; a first version (506, B602) of a distributed coordination engine "DConE", coupled to the plurality of server nodes via respective input and output queues and configured to receive the proposals on the input queues, the first version of the DConE being further configured to reach agreements on the proposals and to output a first ordering of agreements on output queues, coupled to the plurality of server nodes, the first ordering of agreements specifying an order in which the client applications are to execute constituent agreements of the first ordering of agreements and correspondingly update their respective states, the first version of the DConE being further configured to monitor the input queues for a predetermined proposal configured to direct a changeover from the first to a second version of the DConE, to dequeue the predetermined proposal, submit the predetermined proposal for processing and reach an agreement thereon using a consensus protocol, to place the agreement on the predetermined proposal on the output queues and thereafter to reach no further agreements on the proposals on the input queues; and the second version (512, B608) of the DConE being coupled to respective input and output queues, the second version of the DConE being further configured to, after agreement has been reached on the predetermined proposal, reach agreements on the proposals on the input queues and to output a second ordering of agreements on the output queues, beginning with the agreement on the predetermined proposal, the second ordering of agreements including proposals on which agreement has been reached and specifying an order in which the client applications are to execute constituent agreements of the second ordering of agreements and correspondingly update their respective states, wherein each client application is further configured to cause any agreed-upon proposal received from the first version of the DConE after receipt of the agreement corresponding to the predetermined proposal to be sent back to the second version of the DConE via the input queues.