Guaranteed delivery of replication message
First Claim
1. One or more computer-storage media storing computer-executable instructions that, when executed by a computing device having a processor, cause the computing device to perform a method for guaranteeing delivery of replication messages in distributed storage systems, the method comprising:
- receiving a request to perform an operation;
creating a first replication message corresponding to the request, the first replication message comprising instructions to replicate the result of the operation to one or more target storages in corresponding data stores;
inserting the first replication message into a message queue, the first replication message having a delayed visibility;
performing the operation, a result of the operation being persisted in a source storage in a data store;
upon determining that the result was successfully persisted in the source storage, creating a second replication message corresponding to the request, the second replication message comprising instructions to replicate the result of the operation to the one or more target storages in the corresponding data stores; and
inserting the second replication message in the message queue, the second replication message having immediate visibility.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the present invention relate to guaranteeing delivery of replication messages in distributed storage systems. A request to perform an operation may be received. A first replication message corresponding to the request may be created, where the first replication message comprises instructions to replicate the result of the operation to one or more target storages. The replication message may be inserted in a message queue with a delayed visibility. The operation may be performed, where a result of the operation is persisted in a source storage in a data store. Upon determining that the result was successfully persisted in the source storage, a second replication message may be created, where the second replication message comprises instructions to replicate the result of the operation to the one or more target storages. The second replication message may be inserted in the message queue with an immediate visibility.
34 Citations
17 Claims
-
1. One or more computer-storage media storing computer-executable instructions that, when executed by a computing device having a processor, cause the computing device to perform a method for guaranteeing delivery of replication messages in distributed storage systems, the method comprising:
-
receiving a request to perform an operation; creating a first replication message corresponding to the request, the first replication message comprising instructions to replicate the result of the operation to one or more target storages in corresponding data stores; inserting the first replication message into a message queue, the first replication message having a delayed visibility; performing the operation, a result of the operation being persisted in a source storage in a data store; upon determining that the result was successfully persisted in the source storage, creating a second replication message corresponding to the request, the second replication message comprising instructions to replicate the result of the operation to the one or more target storages in the corresponding data stores; and inserting the second replication message in the message queue, the second replication message having immediate visibility. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for guaranteeing delivery of messages, the method comprising:
receiving a request to perform an operation, the operation being associated with a result, wherein the result of the operation is persisted in a source storage in a data store, wherein the message is a replication message corresponding to the request, wherein the replication message comprises instructions to replicate the result of the operation to one or more target storages on corresponding data stores, and wherein the replication message is inserted into the message queue; creating a message corresponding to the request, the message indicating a notification to be communicated upon the operation achieving the result; inserting the message in a message queue, the message having a delayed visibility, the delayed visibility facilitating maintaining the message in the queue until the message is dequeued upon communicating the notification; and determining that the operation was successfully persisted in the source storage; upon determining that the message was successfully persisted in the source storage, creating a second replication message corresponding to the request, wherein the second replication message comprises instructions to replicate the result of the operation to the one or more target storages on corresponding data stores; and inserting the second replication message into the message queue, the second replication message having an immediate visibility. - View Dependent Claims (11, 12)
-
13. A system for performing processing of replication messages in distributed storages, comprising:
-
a source storage component configured to store a result of an operation; a replication guarantee component configured to; receive a request to perform the operation, the result of the operation being persisted in the source storage component on a data store; create a replication message corresponding to the request; and insert the replication message into the message queue, the message having a delayed visibility, wherein the delayed visibility facilitates maintaining the replication message in the queue until the replication message is dequeued upon communicating instructions to replicate the result of the operation on each of one or more target storages in corresponding data stores; and a target storage component configured to store the result of the operation, wherein storing the result is based on the replication message, the replication message comprising instructions to replicate the result of the operation on the target storage component; and the replication guarantee component further configured to; perform a latency optimization operation, wherein the latency optimization operation comprises; upon determining that the result was successfully persisted on the source storage, creating a second replication message corresponding to the request, wherein the second replication message comprises instructions to replicate the result of the operation to the one or more target storages in corresponding data stores; and inserting the second replication message in the message queue, the second replication message having an immediate visibility. - View Dependent Claims (14, 15, 16, 17)
-
Specification