1. A method of providing fault tolerance, comprising: buffering output data generated by execution of a service on the primary server during a current epoch between a first checkpoint and a second checkpoint; establishing a copy of an execution context of the primary server on a secondary server in response to the second checkpoint; and releasing the output data as buffered from the primary server in response to establishment of the copy of the execution context on the secondary server.