Patent ID: 8725684

Claim:
A non-transitory computer-readable medium embodying a program executable in at least one of a plurality of computing devices, the program comprising: code that determines a delay based on a probability of consistency for an eventually consistent data store, wherein the eventually consistent data store comprises a plurality of component data stores replicated across the plurality of computing devices and wherein the probability of consistency is less than one-hundred percent; code that obtains a message from a queue, the message indicating that a write transaction to the eventually consistent data store was performed and including a path used by the write transaction, wherein the write transaction to one of the component data stores is guaranteed to be replicated to another one of the component data stores within the delay, such that data included in the write transaction is guaranteed to be returned in a subsequent read transaction from the another one of the component data stores after passage of the delay; code that, in response to obtaining the message, obtains a current time; code that determines, based at least on the current time, whether the delay has passed since a receipt of the message; code that, if the delay has not passed, returns the message to the queue; code that, if the delay has passed, performs a read from the eventually consistent data store using the path included in the message; code that determines whether the read from the eventually consistent data store was successful; and code that, if the read from the eventually consistent data store was successful, writes data returned by the read from the eventually consistent data store to a strongly consistent data store and acknowledges the message, wherein the strongly consistent data store guarantees that data written in the write transaction to the strongly consistent data store is available in a subsequent transaction involving the strongly consistent data store.