Method and system for synchronizing data using fine-grained synchronization plans
First Claim
1. A method for performing synchronization between a first replica associated with an application in a first computer processing device and a second replica associated with the application in a second computer processing device, the method comprising the steps of:
- generating at least one synchronization plan for the replicas for managing the synchronization therebetween, the sync plan comprising data structure information corresponding to data structures of the replicas, storage access information for enabling access to each individual data unit within the data structures of the replicas, and synchronization and conflict resolution actions for specifying actions to be taken for each individual data unit with respect to the synchronization and any conflicts resulting therefrom; and
synchronizing at least one individual data unit in the first replica with a corresponding individual data unit in the second replica, in accordance with the sync plan, wherein the synchronization and conflict resolution actions have a capability of comprising different conflict resolution actions for different levels of the replicas and for different synchronizations between the replicas.
1 Assignment
0 Petitions
Accused Products
Abstract
There is provided a method and system for performing synchronization between a first replica associated with an application in a first computer processing device and a second replica associated with the application in a second computer processing device. The method includes the step of generating a synchronization plan for the replicas for managing the synchronization therebetween. The sync plan includes data structure information corresponding to data structures of the replicas, storage access information for enabling access to each individual data unit within the data structures of the replicas, and synchronization and conflict resolution actions for specifying actions to be taken for each individual data unit with respect to the synchronization and any conflicts resulting therefrom. At least one individual data unit in the first replica is synchronized with a corresponding individual data unit in the second replica, in accordance with the sync plan.
246 Citations
37 Claims
-
1. A method for performing synchronization between a first replica associated with an application in a first computer processing device and a second replica associated with the application in a second computer processing device, the method comprising the steps of:
-
generating at least one synchronization plan for the replicas for managing the synchronization therebetween, the sync plan comprising data structure information corresponding to data structures of the replicas, storage access information for enabling access to each individual data unit within the data structures of the replicas, and synchronization and conflict resolution actions for specifying actions to be taken for each individual data unit with respect to the synchronization and any conflicts resulting therefrom; and
synchronizing at least one individual data unit in the first replica with a corresponding individual data unit in the second replica, in accordance with the sync plan, wherein the synchronization and conflict resolution actions have a capability of comprising different conflict resolution actions for different levels of the replicas and for different synchronizations between the replicas. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
determining and retrieving portions of the first and the second replicas that are to be replicated, in accordance with the synchronization plan;
determining whether the conflicts exist between the portions of the first and the second replicas that are to be replicated;
resolving the conflicts when the conflicts exist, in accordance with the synchronization plan; and
replicating the portions of the first and the second replicas that are to be replicated, in accordance with the synchronization plan and the mapping.
-
-
8. The method according to claim 7, wherein said synchronizing step further comprises the step of obtaining the synchronization plan and the mapping, when the synchronization plan and the mapping are not included in whichever of the first and the second computer processing devices that is to perform said synchronizing step.
-
9. The method according to claim 6, wherein said synchronizing step is performed by another computer, and further comprises the steps of:
-
determining and retrieving portions of the first and the second replicas that are to be replicated, based on the synchronization plan;
determining whether the conflicts exist between the portions of the first and the second replicas that are to be replicated;
resolving the conflicts when the conflicts exist, in accordance with the synchronization plan; and
replicating the portions of the first and the second replicas that are to be replicated, in accordance with the synchronization plan and the mapping.
-
-
10. The method according to claim 9, wherein said synchronizing step further comprises the step of obtaining the synchronization plan and the mapping, when the synchronization plan and the mapping are not included in the other computer processing device.
-
11. The method according to claim 1, wherein the data structures of the first and the second replicas are different.
-
12. The method according to claim 1, wherein the first and the second computer processing devices are coupled through a network.
-
13. The method according to claim 8, wherein at least one of the two replicas is one of stored and obtained by an other computer processing device having one of a continuous and an intermittent connection to the network.
-
14. The method according to claim 13, wherein said synchronizing step is performed in the other computer processing device.
-
15. The method according to claim 13, further comprising the step of storing the synchronization plan in the other computer processing device.
-
16. The method according to claim 13, further comprising the step of enabling an individual to at least one of create, update, and delete the synchronization plan using an input/output device of the other computer processing device.
-
17. The method according to claim 1, wherein said synchronizing step is performed in one of the first and the second computer processing devices.
-
18. The method according to claim 1, further comprising the step of storing the synchronization plan in one of the first and the second computer processing devices.
-
19. The method of claim 1, wherein said generating step comprises the steps of:
-
selecting a first set of conflict resolution actions for a first synchronization between the replicas; and
selecting a second set of conflict resolutions actions for a subsequent synchronization between the replicas with respect to the first synchronization, said selecting steps being performed by at least one user of at least one of the first computer processing device and the second computer processing device, the second set of conflict resolution actions comprising at least one conflict resolution action that is absent from the first set of conflict resolution actions.
-
-
20. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform steps for synchronization between a first replica associated with an application in a first computer processing device and a second replica associated with the application in a second computer processing device, said method steps comprising:
-
generating at least one synchronization plan for the replicas for managing the synchronization therebetween, the sync plan comprising data structure information corresponding to data structures of the replicas, storage access information for enabling access to each individual data unit within the data structures of the replicas, and synchronization and conflict resolution actions for specifying actions to be taken for each individual data unit with respect to the synchronization and any conflicts resulting therefrom; and
synchronizing at least one individual data unit in the first replica with a corresponding individual data unit in the second replica, in accordance with the sync plan, wherein the synchronization and conflict resolution actions have a capability of comprising different conflict resolution actions for different. levels of the replicas and for different synchronizations between the replicas. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
determining and retrieving portions of the first and the second replicas that are to be replicated, in accordance with the synchronization plan;
determining whether the conflicts exist between the portions of the first and the second replicas that are to be replicated;
resolving the conflicts when the conflicts exist, in accordance with the synchronization plan; and
replicating the portions of the first and the second replicas that are to be replicated, in accordance with the synchronization plan and the mapping.
-
-
27. The program storage device according to claim 26, wherein said synchronizing step further comprises the step of obtaining the synchronization plan and the mapping, when the synchronization plan and the mapping are not included in whichever of the first and the second computer processing devices that is to perform said synchronizing step.
-
28. The program storage device according to claim 25, wherein said synchronizing step is performed by another computer, and further comprises the steps of:
-
determining and retrieving portions of the first and the second replicas that are to be replicated, based on the synchronization plan;
determining whether the conflicts exist between the portions of the first and the second replicas that are to be replicated;
resolving the conflicts when the conflicts exist, in accordance with the synchronization plan; and
replicating the portions of the first and the second replicas that are to be replicated, in accordance with the synchronization plan and the mapping.
-
-
29. The program storage device according to claim 28, wherein said synchronizing step further comprises the step of obtaining the synchronization plan and the mapping, when the synchronization plan and the mapping are not included in the other computer processing device.
-
30. The program storage device according to claim 20, wherein the data structures of the first and the second replicas are different.
-
31. The program storage device according to claim 20, wherein the first and the second computer processing devices are coupled through a network.
-
32. The program storage device according to claim 31, wherein at least one of the two replicas is one of stored and obtained by an other computer processing device having one of a continuous and an intermittent connection to the network.
-
33. The program storage device according to claim 32, wherein said synchronizing step is performed in the other computer processing device.
-
34. The program storage device according to claim 32, further comprising the step of storing the synchronization plan in the other computer processing device.
-
35. The program storage device according to claim 32, further comprising the step of enabling an individual to at least one of create, update, and delete the synchronization plan using an input/output device of the other computer processing device.
-
36. The program storage device according to claim 20, wherein said synchronizing step is performed in one of the first and the second computer processing devices.
-
37. The program storage device according to claim 20, further comprising the step of storing the synchronization plan in one of the first and the second computer processing devices.
Specification