Cross-region replication architecture
First Claim
Patent Images
1. A system, comprising:
- a first one or more computing nodes that, as result of processing a first update of a data item stored in a first collection of data items, transmits information indicative of the first update over a broadcast communications channel, wherein the information indicative of the first update is transmitted based at least in part on determining that the update originated from a client request to update the data item in the first collection of data items;
a second one or more computing nodes that, as a result of being activated, maintains a second collection of data configured as an at least partial replica of the first collection; and
one or more memories comprising computer-executable instructions that, as a result of execution, cause the system at least to;
receive the information indicative of the first update from the broadcast communications channel; and
transmit a request to update the data item in the second collection, the request comprising the information indicative of the first update and a sequence indicator, wherein the request comprises a flag indicative of the request being associated with replication of the updated data item, wherein the second one or more computing nodes determines to process the first update in response to a determination that the first update does not conflict with a prior update to the data item, the determination based at least in part on the sequence indicator being indicative of the first update occurring after the prior update, wherein the system determines to not transmit the request to update the data item in the second collection over the broadcast communications channel, based at least in part on the flag, in the request, that indicates the request is associated with replication of the data item.
1 Assignment
0 Petitions
Accused Products
Abstract
One or more computing nodes located in a first region may maintain a first collection of data items. A second set of one or more computing nodes in a second region may maintain a collection of data items that is at least a partial replica of the first collection. Notifications of changes to the first collection may be transmitted, via a broadcast communications channel, to a replication module, which may be included in a client application. The replication module may transmit requests to update the second collection of data based on changes to the first collection. Conflicts may be resolved through a last-write wins policy.
-
Citations
20 Claims
-
1. A system, comprising:
-
a first one or more computing nodes that, as result of processing a first update of a data item stored in a first collection of data items, transmits information indicative of the first update over a broadcast communications channel, wherein the information indicative of the first update is transmitted based at least in part on determining that the update originated from a client request to update the data item in the first collection of data items; a second one or more computing nodes that, as a result of being activated, maintains a second collection of data configured as an at least partial replica of the first collection; and one or more memories comprising computer-executable instructions that, as a result of execution, cause the system at least to; receive the information indicative of the first update from the broadcast communications channel; and transmit a request to update the data item in the second collection, the request comprising the information indicative of the first update and a sequence indicator, wherein the request comprises a flag indicative of the request being associated with replication of the updated data item, wherein the second one or more computing nodes determines to process the first update in response to a determination that the first update does not conflict with a prior update to the data item, the determination based at least in part on the sequence indicator being indicative of the first update occurring after the prior update, wherein the system determines to not transmit the request to update the data item in the second collection over the broadcast communications channel, based at least in part on the flag, in the request, that indicates the request is associated with replication of the data item. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method, comprising:
-
receiving, from a broadcast communications channel, information indicative of a first update to a data item stored in a first collection of data items, wherein the information indicative of the first update was broadcast based at least in part on determining that the update originated from a client request to update the data item; transmitting a request to update a version of the data item stored in a second collection of data items, wherein the request comprises a flag indicative of the request being associated with replication of the data item, wherein the version of the data item is updated based at least in part on a determination that the first update does not conflict with a prior update of the version of the data item in the second collection, wherein the determination is based at least in part on a conflict detection policy indicated by the request; and determining to not transmit the received request over the broadcast communications channel, based at least in part on the flag, in the request, that indicates the request is associated with replication of the data item. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium having stored thereon instructions that, as a result of execution by one or more computing devices, cause the one or more computing devices at least to:
-
transmit a request to receive a stream of information indicative of updates to data items in a first collection of data items, the information to be transmitted over a broadcast communications channel; receive, from the broadcast communications channel, information indicative of a first update to a data item stored in the first collection of data items; determine that the first update was in response to a request to update the data item issued by a client; and transmit a request to update a version of the data item stored in a second collection of data items, wherein the request comprises a flag indicative of the request being associated with replication, wherein the version of the data item is updated based at least in part on a determination that the first update does not conflict with a prior update of the version of the data item in the second collection, wherein the determination is based at least in part on a policy indicated by the request, and wherein it is determined to not transmit the request over the broadcast communications channel, based at least in part on the flag, in the request, that indicates the request is associated with replication. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification