Cloud-based data replication for web applications with replica identifier reassignment feature
First Claim
1. A method performed by one or more computing devices for joining a replica to a shared data store, the method comprising:
- receiving first information from a personal computing device;
wherein the first information comprises an identifier of a shared data store and a first identifier of a replica, stored at the personal computing device, that is to be joined to the shared data store;
responsive to receiving the first information, joining the replica to the shared data store;
wherein joining the replica to the shared data store includes;
based, at least in part, on the shared data store identifier and the first replica identifier received in the first information, determining whether the first replica identifier is already assigned to another known replica of the shared data store;
responsive to determining that the first replica identifier is already assigned to another known replica of the shared data store;
assigning a second replica identifier to the replica stored at the personal computing device that is not already assigned to any other known replica of the shared data store, andsending second information to the personal computing device, wherein the second information comprises the assigned second replica identifier;
wherein after the personal computing device receives the second information, the personal computing device modifies the replica stored at the personal computing device by replacing the first replica identifier with the second replica identifier in a plurality of change stamps stored in the replica;
wherein the first replica identifier is different from the second replica identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-master cloud-based data replication service designed to support the needs of a broad class of web applications is disclosed. Generally, the replication service serves the purposes of facilitating sharing of web application data among personal computing devices and increasing the availability of that data. In one embodiment, the replication service includes a replica identifier reassignment features that allows a personal computing device to begin sharing application data changes with an existing group of personal computing devices that are already sharing application data changes between them even if the joining personal computing device has application data changes to share with the other personal computing devices of the group at the time the joining personal computing device requests to join the group.
39 Citations
29 Claims
-
1. A method performed by one or more computing devices for joining a replica to a shared data store, the method comprising:
-
receiving first information from a personal computing device; wherein the first information comprises an identifier of a shared data store and a first identifier of a replica, stored at the personal computing device, that is to be joined to the shared data store; responsive to receiving the first information, joining the replica to the shared data store; wherein joining the replica to the shared data store includes; based, at least in part, on the shared data store identifier and the first replica identifier received in the first information, determining whether the first replica identifier is already assigned to another known replica of the shared data store; responsive to determining that the first replica identifier is already assigned to another known replica of the shared data store; assigning a second replica identifier to the replica stored at the personal computing device that is not already assigned to any other known replica of the shared data store, and sending second information to the personal computing device, wherein the second information comprises the assigned second replica identifier; wherein after the personal computing device receives the second information, the personal computing device modifies the replica stored at the personal computing device by replacing the first replica identifier with the second replica identifier in a plurality of change stamps stored in the replica; wherein the first replica identifier is different from the second replica identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method performed by a personal computing device for joining a replica to a shared data store, the method comprising:
-
sending first information to a data replication service; wherein the first information comprises an identifier of a shared data store and a first identifier of a replica of the shared data store, the replica stored at the personal computing device; receiving second information from the data replication service; wherein the second information comprises a second replica identifier; responsive to receiving the second information, modifying the replica stored at the personal computing device by replacing the first replica identifier with the second replica identifier in a plurality of change stamps stored in the replica; wherein the first replica identifier is different from the second replica identifier; wherein the data replication service, responsive to receiving the first information, is configured to join the replica to the shared data store including performing; determining whether the first replica identifier is already assigned to another known replica of the shared data store, based at least in part on the shared data store identifier and the first replica identifier received in the first information, assigning the second replica identifier to the replica stored at the personal computing device that is not already assigned to any other known replica of the shared data store, responsive to determining the first replica identifier is already assigned to another replica of the shared data store, and sending the second information to the personal computing device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system comprising:
-
a personal computing device; a data replication service; a device replica stored at the personal computing device; and the personal computing device configured with instructions which, when executed by the personal computing device, cause the personal computing device to perform a method comprising; sending first information to the data replication service; wherein the first information comprises an identifier of a shared data store and a first identifier of the device replica; receiving second information from the data replication service; wherein the second information comprises a second replica identifier; responsive to receiving the second information, modifying the device replica by replacing the first replica identifier with the second replica identifier in a plurality of change stamps stored in the device replica; wherein the first replica identifier is different from the second replica identifier; the data replication service configured with instructions which, when executed by the data replication service, cause the data replication service to perform a method comprising; receiving the first information from the personal computing device; responsive to receiving the first information, determining, based at least in part on the shared data store identifier and the first replica identifier received in the first information, whether the first replica identifier is already assigned to another known replica of the shared data store; responsive to determining that the first replica identifier is already assigned to another known replica of the shared data store, assigning a second replica identifier to the device replica that is not already assigned to any other known replica of the shared data store, and sending the second information to the personal computing device. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification