Claims
- 1. A method of synchronizing data, including docking objects having data tables and visibility rules, between a central database (3) and a plurality of separate replicated databases (23a, 23b, 23c), wherein the separate, partially replicated databases reside at separate nodes (21a, 21b, 21c) from each other and the central database (3), and each partially replicated database (23a, 23b, 23c) has an associated non-binary visibility strength, the method comprising the steps of:(1) selecting a partially replicated database (23a, 23b, 23c), (2) selecting a docking object to propagate thereto, (3) determining the associated non-binary visibility strength of the selected partially replicated database (23a, 23b, 23c) to the selected docking object to be propagated, (4) determining, from the visibility of the selected partially replicated database (23a, 23b, 23c) to the docking object to be propagated, if the docking object has a visibility strength greater than or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c), and (5) if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c), directing the node at which the selected partially replicated database (23a, 23b, 23c) resides to perform an operation on the data table row in accordance with instructions in the docking object.
- 2. The method of claim 1 comprising performing a query of the docking object to determine whether to insert or delete the data table row into the selected partially replicated database (23a, 23b, 23c).
- 3. The method of claim 2 comprising inserting the data table row of the docking object into the selected partially replicated database (23a, 23b, 23c), in accordance with instructions in the docking object, if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
- 4. The method of claim 2 comprising deleting the data table row of the docking object from the selected partially replicated database (23a, 23b, 23c), in accordance with instructions in the docking object, if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
- 5. The method of claim 1 comprising(1) verifying if the docking object is visible to the selected, partially replicated data base, (2) verifying if the selected partially replicated database (23a, 23b, 23c) has a copy of the docking object, and (3) if the docking object is visible and a copy is not present in the selected partially replicated database (23a, 23b, 23c), inserting the docking object into the selected partially replicated database.
- 6. The program storage device of claim 1 wherein said method steps further comprise:(1) verifying if the docking object is visible to the selected, partially replicated data base, (2) verifying if the selected partially replicated database (23a, 23b, 23c) has a copy of the docking object, and (3) if the docking object is visible and a copy is not present in the selected partially replicated database (23a, 23b, 23c), inserting the docking object into the selected partially replicated database.
- 7. A system for synchronizing data, including docking objects having data tables and visibility rules, said system comprising a central database (3) and a plurality of separate replicated databases (23a, 23b, 23c), wherein the separate, partially replicated databases reside at separate nodes (21a, 21b, 21c) from each other and the central database (3), and each partially replicated database (23a, 23b, 23c) has an associated non-binary visibility strength, the system being configured to:(1) select a partially replicated database (23a, 23b, 23c), (2) select a docking object to propagate thereto, (3) determine the associated, non-binary visibility strength of the selected partially replicated database (23a, 23b, 23c) to the selected docking object to be propagated, and (4) determine, from the visibility of the selected partially replicated database (23a, 23b, 23c) to the docking object to be propagated, if the docking object has a visibility strength greater than or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
- 8. The system of claim 7, wherein the system is configured to perform a query of the docking object to determine whether to insert or delete the data table row into the selected partially replicated database (23a, 23b, 23c).
- 9. The system of claim 8 wherein the system is configured to direct the node at which the selected partially replicated database (23a, 23b, 23c) resides to insert the data table row of the docking object into the selected partially replicated database (23a, 23b, 23c) in response to a query of the docking object and if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
- 10. The system of claim 8 wherein the system is configured to direct the node at which the selected partially replicated database (23a, 23b, 23c) resides to delete the data table row of the docking object from the selected partially replicated database (23a, 23b, 23c) in response to a query of the docking object and if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
- 11. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for managing a database, the database including a central database (3) and a plurality of separate replicated databases (23a, 23b, 23c), wherein the separate, partially replicated databases reside at separate nodes (21a, 21b, 21c) from each other and the central database (3), and each partially replicated database (23a, 23b, 23c) has an associated non-binary visibility strength, and wherein said method steps comprise:(1) selecting a partially replicated database (23a, 23b, 23c), (2) selecting a docking object to propagate thereto, (3) determining the non-binary visibility strength of the partially replicated database (23a, 23b, 23c) to data being propagated, (4) determining therefrom the visibility of the partially replicated database (23a, 23b, 23c) to the data being propagated, and (5) if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c), directing the node at which the selected partially replicated database (23a, 23b, 23c) resides to perform an operation on the data table row in accordance with instructions in the docking object.
- 12. The program storage device of claim 11 wherein said method steps further comprise performing a query of the docking object to determine whether to insert or delete the data table row into the selected partially replicated database (23a, 23b, 23c).
- 13. The program storage device of claim 12 wherein said method steps further comprise inserting the data table row of the docking object into the selected partially replicated database (23a, 23b, 23c), in accordance with instructions in the docking object, if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
- 14. The program storage device of claim 12 wherein said method steps further comprise deleting the data table row of the docking object from the selected partially replicated database (23a, 23b, 23c), in accordance with instructions in the docking object, if the docking object has a visibility strength greater then or equal to the visibility strength of a data table row of the selected partially replicated database (23a, 23b, 23c).
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation application under the provisions of 35 USC §120 of PCT International Application No. PCT/US98/03573, filed Feb. 24, 1998, itself claiming the benefit of the filing date of U.S. Provisional Application No. 60/039,813 filed Feb. 26, 1997.
US Referenced Citations (7)
Non-Patent Literature Citations (2)
Entry |
Nakagawa et al., “Software process a la algebra: OBJ for OBJ”, Proceedings for the twelfth International conference on Software engineering, 1990, pp. 12-23, Mar. 1990.* |
Jarvinen et al., “Object-oriented specification of reactive systems”, Proceedings for the twelfth International conference of Software engineering, 1990, pp. 63-71, Mar. 1990. |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/039813 |
Feb 1997 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
PCT/US98/03573 |
Feb 1998 |
US |
Child |
09/375446 |
|
US |