Synchronizing databases
DCFirst Claim
1. A computer implemented method of synchronizing at least a first and a second database comprising:
- attempting to identify a plurality of records of the second database storing a span of information stored in a record of the first database; and
synchronizing the first database and the second database based on the results of the attempt.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A computer program and a computer implemented method are provided for synchronizing two databases by attempting to identify a plurality of records of the second database storing a span of information stored in a record of the first database and synchronizing the first database and the second database based on the results of the attempt. The computer program and a computer implemented can also store a record of a first database in a second database where the record of the first database stores a span of information and the second database is not capable of storing such span of information in a single record. To do so, a plurality of records of the second database are generated to store the span of information of the record of the first database, each of the plurality of the records of the second database storing a portion of the span of the information, where the plurality of records of the second database in combination store a selected segment of the span of information less than the entirety of the span of information.
-
Citations
92 Claims
-
1. A computer implemented method of synchronizing at least a first and a second database comprising:
-
attempting to identify a plurality of records of the second database storing a span of information stored in a record of the first database; and
synchronizing the first database and the second database based on the results of the attempt. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
comparing the record of the first database to the records of the second database to identify the plurality of records of the second database based on the results of the comparison.
-
-
13. The method of claim 1 wherein information is stored in a history file reflecting the records of the first and second databases at the previous synchronization and wherein attempting to identify the plurality of records of the second database further comprises:
comparing the records of the second database to the information in the history file to identify the plurality of records of the second database based on the results of the comparison.
-
14. The method of claim 13 wherein the record of the first database is a record which was present during the previous synchronization and which was deleted from the first database prior to the current synchronization, wherein synchronizing the first database and the second database further comprises deleting the identified plurality of records of the second database.
-
15. The method of claim 1 further comprising deleting the record of the first database, if the attempt to identify the plurality of records of the second database is unsuccessful.
-
16. The method of claim 1 further comprising:
- identifying the plurality of records of the second database as storing the span of information stored in the record of the first database.
-
17. The method of claim 16 wherein synchronizing the first database and the second database further comprises:
-
comparing the record of the first database to the identified plurality of records of the second database, and synchronizing the identified plurality of records of the second database with the record of the first database based on the results of the comparison.
-
-
18. The method of claim 17 further comprising:
processing the identified plurality of records of the second database to generate a span of information representative of information stored in the identified plurality of records of the second database, wherein comparing the record of the first database to the records of the second database includes comparing the span of information stored in the record of the first database to the generated span of information.
-
19. The method of claim 18 further comprising:
generating a record based on the identified plurality of records of the second database, the record storing the generated span of information.
-
20. The method of claim 19 wherein comparing the record of the first database to the identified plurality of records of the second database includes comparing the record of the first database to the generated record.
-
21. The method of claim 17 wherein a history file stores information reflecting the records of the first and second databases at a previous synchronization, the method further comprising:
-
comparing the record of the first database and the identified plurality of records of the second database to the information in the history file;
wherein synchronizing the first database and the second database further includes synchronizing the record of the first database and the identified plurality of records of the second database based on results of the comparison to the history file.
-
-
22. The method of claim 16 wherein identifying the plurality of records of the second database includes:
-
generating a plurality of instances based on a previously determined pattern for generating a plurality of instances which in combination represent the span of information stored by the record of the first database;
correlating a second plurality of the records of the second database to the plurality of generated instances by comparing the plurality of generated instances to the records of the second database, wherein the second plurality of the records of the second database is the identified plurality of records of the second database.
-
-
23. The method of claim 22 further comprising selecting the previously determined pattern based on a characteristic of the span of information stored in the record of the first database.
-
24. The method of claim 22 wherein the plurality of generated instances are generated using the record of the first database.
-
25. The method of claim 22 wherein information is stored in a history file reflecting the records of the first and second databases at the previous synchronization and the plurality of generated instances are generated using a record in the history file reflecting the content of the record of the first database at a previous synchronization.
-
26. The method of claim 22 further comprising:
-
generating, at a previous synchronization, a plurality of instances based on a second previously determined pattern for generating a plurality of instances which in combination represent the span of information stored in the record of the first database at the previous synchronization;
storing, at the previous synchronization information in the history file reflecting the second previously determined pattern;
retrieving the information reflecting the second previously determined pattern from the history file during the current synchronization wherein the retrieved information determines the previously determined pattern.
-
-
27. The method of claim 16 wherein identifying the plurality of records of the second database includes:
-
generating a first plurality of instances based on a first previously determined pattern for generating a plurality of instances which in combination represent the span of information stored by the record of the first database;
correlating a second plurality of the records of the second database to the first plurality of generated instances by comparing the plurality of generated instances to the records of the second database; and
generating a second plurality of instances based on a second previously determined pattern for generating a plurality of instances which in combination represent a span of information;
correlating a third plurality of the records of the second database to the second plurality of generated instances by performing a comparison of the second plurality of generated instances to the records of the second database; and
identifying the identified plurality of records of the second database based on the results of correlating the second plurality of the second database to the first plurality of generated instances and the third plurality of the second database records to the second plurality of generated records.
-
-
28. The method of claim 27 wherein identifying the identified plurality of records of the second database includes comparing the number of records in the second plurality of records of the second database to the number of records in the third plurality of records of the second database.
-
29. The method of claim 16 wherein the records of the second database are assigned unique identifications, the method further comprising:
-
generating, at a previous synchronization, a plurality of instances based on a previously determined pattern for generating a plurality of instances which in combination represent the span of information stored by the record of the first database;
storing, at the previous synchronization, the generated instances in a plurality of records of the second database;
storing, at the previous synchronization, information in a history file reflecting the unique identifications of the plurality of records of the second database;
wherein identifying the identified plurality of records of the second database further includes;
retrieving the information reflecting the unique identifications and correlating the retrieved information to unique identifications of the records of the second database at a current synchronization; and
determining the identified plurality of records of the second database based on the results of the correlation.
-
-
30. The method of claim 1 wherein the span of information represented by the record of the first database includes textual information, wherein size of the textual information is larger than that permitted by the second database.
-
31. The method of claim 30 wherein the identified plurality of records of the second database include textual information, the textual information of the identified plurality of records of the second database in combination represent the textual information represented by the record of the first database.
-
32. A computer program, resident on a computer readable medium, for synchronizing at least a first and a second database, comprising instructions for:
-
attempting to identify a plurality of records of the second database storing a span of information stored in a record of the first database; and
synchronizing the first database and the second database based on the results of the attempt. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
synchronizing the first database and the second database includes adding, modifying, or deleting one of the records. -
34. The computer program of claim 32 wherein the records of the second database are characterized by a predetermined limitation limiting a span of information storable by a single one of the records of the second database to a span different from the span of information stored by the record of the first database.
-
35. The computer program of claim 32 wherein the span of information represented by the record of the first database includes date-bearing information.
-
36. The computer program of claim 35 wherein the date-bearing information includes recurring date-bearing information.
-
37. The computer program of claim 36 further comprising instructions for identifying the plurality of records of the second database as storing the span of information stored in the record of the first database, wherein the identified plurality of records of the second database represent instances of the recurring date-bearing information.
-
38. The computer program of claim 37 wherein the span of information having a starting time and date and an ending time and date which span a continuous period of time.
-
39. The computer program of claim 38 wherein the continuous period of time is longer than a period of time permitted by the second database.
-
40. The computer program of claim 38 further comprising instructions for identifying the plurality of records of the second database as storing the span of information stored in the record of the first database, wherein each of the identified plurality of the records of the second database stores a portion of the span of the information, wherein the identified plurality of records of the second database in combination store a selected segment of the span of information.
-
41. The computer program of claim 40 wherein the selected segment is the entire span of information.
-
42. The computer program of claim 40 wherein the identified plurality of records of the second database include a recurring record.
-
43. The computer program of claim 32 wherein attempting to identify the plurality of records of the second database:
comparing the record of the first database to the records of the second database to identify the plurality of records of the second database based on the results of the comparison.
-
44. The computer program of claim 32 wherein information is stored in a history file reflecting the records of the first and second databases at the previous synchronization and wherein attempting to identify the plurality of records of the second database further comprises:
comparing the records of the second database to the information in the history file to identify the plurality of records of the second database based on the results of the comparison.
-
45. The computer program of claim 44 wherein the record of the first database is a record which was present during the previous synchronization and which was deleted from the first database prior to the current synchronization, wherein synchronizing the first database and the second database further comprises deleting the identified plurality of records of the second database.
-
46. The computer program of claim 32 further comprising instructions for:
deleting the record of the first database, if the attempt to identify the plurality of records of the second database is unsuccessful.
-
47. The computer program of claim 32 further comprising instructions for:
identifying the plurality of records of the second database as storing the span of information stored in the record of the first database.
-
48. The computer program of claim 47 wherein synchronizing the first database and the second database further comprises:
-
comparing the record of the first database to the identified plurality of records of the second database, and synchronizing the identified plurality of records of the second database with the record of the first database based on the results of the comparison.
-
-
49. The computer program of claim 48 further comprising instructions for:
processing the identified plurality of records of the second database to generate a span of information representative of information stored in the identified plurality of records of the second database, wherein comparing the record of the first database to the records of the second database includes comparing the span of information stored in the record of the first database to the generated span of information.
-
50. The computer program of claim 49 further comprising instructions for:
generating a record based on the identified plurality of records of the second database, the record storing the generated span of information.
-
51. The computer program of claim 50 wherein comparing the record of the first database to the identified plurality of records of the second database includes comparing the record of the first database to the generated record.
-
52. The computer program of claim 48 wherein a history file stores information reflecting the records of the first and second databases at a previous synchronization, the computer program further comprising instructions for:
-
comparing the record of the first database and the identified plurality of records of the second database to the information in the history file;
wherein synchronizing the first database and the second database further includes synchronizing the record of the first database and the identified plurality of records of the second database based on results of the comparison to the history file.
-
-
53. The computer program of claim 47 wherein identifying the identified plurality of records of the second database includes:
-
generating a plurality of instances based on a previously determined pattern for generating a plurality of instances which in combination represent the span of information stored by the record of the first database;
correlating a second plurality of the records of the second database to the plurality of generated instances by comparing the plurality of generated instances to the records of the second database, wherein the second plurality of the records of the second database is the identified plurality of records of the second database.
-
-
54. The computer program of claim 53 further comprising instructions for selecting the previously determined pattern based on a characteristic of the span of information stored in the record of the first database.
-
55. The computer program of claim 53 wherein the plurality of generated instances are generated using the record of the first database.
-
56. The computer program of claim 53 wherein information is stored in a history file reflecting the records of the first and second databases at the previous synchronization and the plurality of generated instances are generated using a record in the history file reflecting the content of the record of the first database at a previous synchronization.
-
57. The computer program of claim 53 further comprising instructions for:
-
generating, at a previous synchronization, a plurality of instances based on a second previously determined pattern for generating a plurality of instances which in combination represent the span of information stored in the record of the first database at the previous synchronization;
storing, at the previous synchronization information in the history file reflecting the second previously determined pattern;
retrieving the information reflecting the second previously determined pattern from the history file during the current synchronization wherein the retrieved information determines the previously determined pattern.
-
-
58. The computer program of claim 47 wherein identifying the identified plurality of records of the second database includes:
-
generating a first plurality of instances based on a first previously determined pattern for generating a plurality of instances which in combination represent the span of information stored by the record of the first database;
correlating a second plurality of the records of the second database to the first plurality of generated instances by comparing the plurality of generated instances to the records of the second database; and
generating a second plurality of instances based on a second previously determined pattern for generating a plurality of instances which in combination represent a span of information;
correlating a third plurality of the records of the second database to the second plurality of generated instances by performing a comparison of the second plurality of generated instances to the records of the second database; and
identifying the identified plurality of records of the second database based on the results of correlating the second plurality of the second database to the first plurality of generated instances and the third plurality of the second database records to the second plurality of generated records.
-
-
59. The computer program of claim 58 wherein identifying the identified plurality of records of the second database includes comparing the number of records in the second plurality of records of the second database to the number of records in the third plurality of records of the second database.
-
60. The computer program of claim 47 wherein the records of the second database are assigned unique identifications, the computer program further comprising instructions for:
-
generating, at a previous synchronization, a plurality of instances based on a previously determined pattern for generating a plurality of instances which in combination represent the span of information stored by the record of the first database;
storing, at the previous synchronization, the generated instances in a plurality of records of the second database;
storing, at the previous synchronization, information in a history file reflecting the unique identifications of the plurality of records of the second database;
wherein identifying the identified plurality of records of the second database further includes;
retrieving the information reflecting the unique identifications and correlating the retrieved information to unique identifications of the records of the second database at a current synchronization; and
determining the identified plurality of records of the second database based on the results of the correlation.
-
-
61. The computer program of claim 32 wherein the span of information represented by the record of the first database includes textual information, wherein size of the textual information is larger than that permitted by the second database.
-
62. The computer program of claim 61 wherein the identified plurality of records of the second database include textual information, the textual information of the identified plurality of records of the second database in combination represent the textual information represented by the record of the first database.
-
-
63. A computer implemented method of storing a record of a first database in a second database, the record of the first database storing a span of information, the second database not being capable of storing such span of information in a single record, the method comprising:
generating a plurality of records of the second database to store the span of information of the record of the first database, each of the plurality of the records of the second database storing a portion of the span of the information, wherein the plurality of records of the second database in combination store a selected segment of the span of information less than the entirety of the span of information. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77)
-
78. A computer program, resident on a computer readable medium, for storing a record of a first database in a second database, the record of the first database storing a span of information, the second database not being capable of storing such span of information in a single record, comprising instructions for:
generating a plurality of records of the second database to store the span of information of the record of the first database, each of the plurality of the records of the second database storing a portion of the span of the information, wherein the plurality of records of the second database in combination store a selected segment of the span of information less than the entirety of the span of information. - View Dependent Claims (79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92)
Specification