Patent ID: 8868862

Claim:
An apparatus for synchronizing state between a primary process and a backup process, comprising: at least one memory configured to maintain a plurality of output buffers associated with a respective plurality of epochs of a synchronization process configured to synchronize state information of the primary process with state information of the backup process; and a processor communicatively connected to the at least one memory, the processor configured to: compute state update information for a current epoch, the state update information representing changes to the state information of the primary process since a previous epoch; buffer output messages generated during the current epoch in the output buffer associated with the current epoch; initiate a new epoch independent of receiving, from the backup process, a state update acknowledgement for the current epoch acknowledging receipt by the backup process of the state update information for the current epoch; and release the output messages generated during the current epoch from the output buffer associated with the current epoch based on a determination that the state update acknowledgment for the current epoch has been received from the backup process and a determination that output messages of any previous epochs have been released from the respective output buffers associated with the previous epochs.