Synchronization of computer databases using caching agents
First Claim
1. A computer implemented method of synchronizing database information using a caching agent software module associated with a persistent store, the method comprising the steps of:
- accessing, by a processor, coverage information as part of a first synchronization process between a first database and a second database for determining new data items to said caching agent software module by monitoring communication during the first synchronization process, wherein said coverage information is a tuple of versioning of said first and second databases;
storing said data items into said persistent store during said first synchronization process and updating said coverage information of said caching agent software module associated with said first synchronization process and the stored data items, wherein said updating is based on a synchronization clock, said coverage information describes a level of information in at least one database of said first and second databases;
adding a present value of said synchronization clock to a description of the coverage information of said first database in response to a change to a data element of said first database;
determining delta information needed by the at least one database to bring coverage to maximum level and updating said at least one database to maximum coverage level; and
without said first and second databases participating in a second synchronization, synchronizing a third database using in part said stored coverage information residing in the persistent store from said first synchronization process to identify the new data items to synchronize with said third database, and allowing for said third database to be updated with said data items from the databases that are not currently participating in said second synchronization, but are stored in said persistent store.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for synchronization of computer databases using caching agents. In one embodiment, information is accessed from a first database. The information is stored into a persistent store, which may be a permanent media, such as a magnetic disk. The information is retrieved from the persistent store. Such retrieval may be in close time proximity to the storing, or the retrieval may be at a substantially different time from the storing. The synchronization is completed by updating a second database with the information retrieved by the caching agent from the persistent store. As an advantageous result, synchronization of computer databases is more efficient due to an optimized storage format for the information as well as maximum bandwidth access. As a further beneficial result, if a database is not present at the time of synchronization, embodiments of the present invention may enable synchronization capabilities unavailable under the prior art.
-
Citations
25 Claims
-
1. A computer implemented method of synchronizing database information using a caching agent software module associated with a persistent store, the method comprising the steps of:
-
accessing, by a processor, coverage information as part of a first synchronization process between a first database and a second database for determining new data items to said caching agent software module by monitoring communication during the first synchronization process, wherein said coverage information is a tuple of versioning of said first and second databases; storing said data items into said persistent store during said first synchronization process and updating said coverage information of said caching agent software module associated with said first synchronization process and the stored data items, wherein said updating is based on a synchronization clock, said coverage information describes a level of information in at least one database of said first and second databases; adding a present value of said synchronization clock to a description of the coverage information of said first database in response to a change to a data element of said first database; determining delta information needed by the at least one database to bring coverage to maximum level and updating said at least one database to maximum coverage level; and without said first and second databases participating in a second synchronization, synchronizing a third database using in part said stored coverage information residing in the persistent store from said first synchronization process to identify the new data items to synchronize with said third database, and allowing for said third database to be updated with said data items from the databases that are not currently participating in said second synchronization, but are stored in said persistent store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A removable storage media connected to a computing device storing instructions for controlling said computing device, the instructions associated with a single ended synchronization agent software module that caches database information for synchronizing a first database and a second database, the instructions comprising:
-
accessing coverage information associated with a first synchronization process between the first database and the second database to determine new data items to the single ended synchronization agent software module during said first synchronization process, wherein said coverage information is a tuple of versioning of said first and second databases, storing said data items in a persistent store during said first synchronization process and updating said coverage information to represent addition of the data items, wherein said updating is based on a synchronization clock and said coverage information describes a level of information in at least on database of the first and second databases; adding a present value of said synchronization clock to a description of the coverage information of said first database in response to a change to a data element of said first database; determining delta information needed by the at least one database to bring coverage to maximum level and updating said at least one database to maximum coverage level; and without said first and second databases participating in a second synchronization, synchronizing a third database using in part said stored coverage information residing in the persistent store from said first synchronization process to identify the data items to synchronize with said third database, and allowing for said third database to be updated with said data items from the databases that are not currently participating in said second synchronization, but are stored in said persistent store. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system for synchronizing database information comprising:
- a memory; and
at least one processing device configured to; access coverage information associated with a first synchronization process between a first database and a second database, wherein said coverage information is a tuple of the versioning of said first and second databases and describes a level of information in at least one database; store new data items based on said coverage information into a persistent store during said first synchronization process and updating said coverage information based on a synchronization clock; adding a present value of said synchronization clock to a description of the coverage information of said first database in response to a change to a data element of said first database; determining delta information needed by the at least one database to bring coverage to maximum level and updating said at least one database to maximum coverage level; and without said first and second databases participating in a second synchronization, synchronizing a third database using in part said stored coverage information residing in the persistent store from said first synchronization process to identify the data items to synchronize with said third database, and allowing for said third database to be updated with said data items from the databases that are not currently participating in said second synchronization, but are stored in said persistent store. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
- a memory; and
Specification