Synchronization of computer databases using caching agents
First Claim
1. A computer device for synchronization between databases, the device comprising:
- a first interface for impermanently communicating with a remote server on which a first database is maintained;
a second interface for communicating with a removable media device on which a second database is maintained;
a third interface for communicating with an external computer device on which a third database is maintained;
a memory associated with the first, second, and third interfaces;
a synchronization agent configured to execute synchronization among the first, second and third databases; and
a caching agent associated with a persistent store, the caching agent monitors the synchronization among the first, second and third databases to store any new information,wherein, if all databases are present, the synchronization agent obtains information directly from each database of the first, second and third databases in order to update other database, and if the computer device and the external computer device are connected with each other and the removable media device is not removed from the computer device and the computer device is unable to communicate with the first database, the synchronization agent executes synchronization between the second and third databases and the caching agent monitors the synchronization between the second and third databases to store the new information into the persistent store, and if the computer device is able to communicate with the first database when the removable media device has been removed from the computer device, the caching agent supplies the new information stored on the persistent store to the first database on the server, wherein the synchronization between the second and third databases further comprises accessing coverage information for the first database and coverage information for the second database, wherein the coverage information for the first database and the coverage information for the second database are accessed at a different time from when the synchronization among the first, second and third databases occurred and replacing a description of coverage of the third database with a present value of synchronization clock and a database identifier.
0 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.
16 Citations
12 Claims
-
1. A computer device for synchronization between databases, the device comprising:
-
a first interface for impermanently communicating with a remote server on which a first database is maintained; a second interface for communicating with a removable media device on which a second database is maintained; a third interface for communicating with an external computer device on which a third database is maintained; a memory associated with the first, second, and third interfaces; a synchronization agent configured to execute synchronization among the first, second and third databases; and a caching agent associated with a persistent store, the caching agent monitors the synchronization among the first, second and third databases to store any new information, wherein, if all databases are present, the synchronization agent obtains information directly from each database of the first, second and third databases in order to update other database, and if the computer device and the external computer device are connected with each other and the removable media device is not removed from the computer device and the computer device is unable to communicate with the first database, the synchronization agent executes synchronization between the second and third databases and the caching agent monitors the synchronization between the second and third databases to store the new information into the persistent store, and if the computer device is able to communicate with the first database when the removable media device has been removed from the computer device, the caching agent supplies the new information stored on the persistent store to the first database on the server, wherein the synchronization between the second and third databases further comprises accessing coverage information for the first database and coverage information for the second database, wherein the coverage information for the first database and the coverage information for the second database are accessed at a different time from when the synchronization among the first, second and third databases occurred and replacing a description of coverage of the third database with a present value of synchronization clock and a database identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer implemented method for synchronizing databases, the method comprising the steps of:
-
impermanently communicating, via a first interface, with a remote server on which a first database is maintained; communicating, via a second interface, with a removable media device on which a second database is maintained; communicating, via a third interface, with an external computer device on which a third database is maintained; associating a memory with the first, second, and third interfaces; synchronizing, by using a synchronization agent, among the first, second and third databases; and associating a caching agent with a persistent store; monitoring, by using the caching agent, the synchronization among the first, second and third databases to store any new information, wherein, if all databases are present, the synchronization agent obtains information directly from each database of the first, second and third databases in order to update other database, and if a computer device and the external computer device are connected with each other and the removable media device is not removed from the computer device and the computer device is unable to communicate with the first database, the synchronization agent executes synchronization between the second and third databases and the caching agent monitors the synchronization between the second and third databases to store the new information into the persistent store, and if the computer device is able to communicate with the first database when the removable media device has been removed from the computer device, the caching agent supplies the new information stored on the persistent store to the first database on the server, wherein the synchronization between the second and third databases further comprises accessing coverage information for the first database and coverage information for the second database, wherein the coverage information for the first database and the coverage information for the second database are accessed at a different time from when the synchronization among the first, second and third databases occurred and replacing a description of coverage of the third database with a present value of synchronization clock and a database identifier.
-
-
9. A removable storage media connected to a computer device storing instructions for controlling the instructions associated with a synchronization agent software module that is executed on a programmed device, the instructions comprising:
-
impermanently communicating, via a first interface, with a remote server on which a first database is maintained; communicating, via a second interface, with a removable media device on which a second database is maintained; communicating, via a third interface, with an external computer device on which a third database is maintained; associating a memory with the first, second, and third interfaces; synchronizing, by using a synchronization agent, among the first, second and third databases; and associating a caching agent with a persistent store; monitoring, by using the caching agent, the synchronization among the first, second and third databases to store any new information, wherein, if all databases are present, the synchronization agent obtains information directly from each database of the first, second and third databases in order to update other database, and if the computer device and the external computer device are connected with each other and the removable media device is not removed from the computer device and the computer device is unable to communicate with the first database, the synchronization agent executes synchronization between the second and third databases and the caching agent monitors the synchronization between the second and third databases to store the new information into the persistent store, and if the computer device is able to communicate with the first database when the removable media device has been removed from the computer device, the caching agent supplies the new information stored on the persistent store to the first database on the server, wherein the synchronization between the second and third databases further comprises accessing coverage information for the first database and coverage information for the second database, wherein the coverage information for the first database and the coverage information for the second database are accessed at a different time from when the synchronization among the first, second and third databases occurred and replacing a description of coverage of the third database with a present value of synchronization clock and a database identifier. - View Dependent Claims (10, 11, 12)
-
Specification