Method of using cache to determine the visibility to a remote database client of a plurality of database transactions
First Claim
1. A method of managing partial replication of a first database to a second database, comprising:
- (a) determining whether a visibility of the second database to data being propagated from the first database is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) determining the visibility, and (ii) storing the visibility in the cache memory; and
(b) propagating said data from the first database to the second database only if the second database has visibility to the data.
0 Assignments
0 Petitions
Accused Products
Abstract
Updates made to a central database (3) or to another partially replicated database (23-1) are selectively propagated to a partially replicated database (23-2) if the owner of the partially replicated database (23-2) is deemed to have visibility to the data being updated. Visibility is determined by use of predetermined rules stored in a rules database. Stored rules are assessed against data content of various tables that make up a logical entity, known as a docking object that is being updated. The stored rules are assessed against data content of various tables that make up a docking object, not necessarily being the docking object that is being updated. The visibility rules of these related docking objects are recursively determined. Changes in visibility are determined to enable the central computer to direct the nodes to insert the docking object into its partially replicated database. The predetermined rules are in a declarative form and specify visibility of data based upon structure of the data without reference to data content. Database objects and transactions have an associated visibility strength used to determine the visibility of a transaction to an object.
2034 Citations
20 Claims
-
1. A method of managing partial replication of a first database to a second database, comprising:
-
(a) determining whether a visibility of the second database to data being propagated from the first database is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) determining the visibility, and (ii) storing the visibility in the cache memory; and
(b) propagating said data from the first database to the second database only if the second database has visibility to the data. - View Dependent Claims (2, 3, 4)
(a) determining an initial visibility event from a set of one or more Structured Query Language (SQL) statements applied against a visibility rules database; and
(b) thereafter determining the cached visibility from a single SQL statement applied against the docking object instance table in the cache memory.
-
-
5. A computer-readable medium whose contents cause a computing system to manage partial replication of a first database to a second database by:
-
(a) determining whether a visibility of the second database to data being propagated from the first database is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) determining the visibility, and (ii) storing the visibility in the cache memory; and
(b) propagating said data from the first database to the second database only if the second database has visibility to the data.
-
-
6. A database data propagation computing system for partially propagating a central database to a partially replicated database, comprising:
-
a visibility determination subsystem that determines whether a visibility of a user of the partially replicated database to data being propagated is stored in a cache memory, and if so, accessing said visibility from said cache memory, and if not, determining said visibility and selectively storing said visibility in said cache memory; and
a propagation subsystem that propagates said data to the partially replicated database according to said visibility determined by said visibility determination subsystem. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A system for propagating data in a database, wherein the database includes a central database and a partially replicated database, the system comprising:
-
means for determining whether a visibility of a user of the partially replicated database to data being propagated is stored in a cache memory, and if so, accessing said visibility from said cache memory, and if not, determining said visibility and selectively storing said visibility in said cache memory; and
means for propagating said data to the partially replicated database according to said visibility. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. One or more computer memories that together store a visibility cache data structure, comprising, for each of a plurality of data items residing in a first database, an indication of the outcome of earlier determining visibility of the data item by a second database,
such that the indications can be used to discern visibility of a selected data item among the plurality by the second database, and thereby determine whether to propagate the selected data item from the first database to the second database, without re-determining visibility of the selected data item by the second database.
-
20. One or more generated data signals that together convey a data item propagation data structure, the data item propagation data structure containing a data item propagated from a first database to a second database as the result of querying a visibility cache indicating that the propagated data item is visible to the second database,
wherein the generated data signals together further convey a second data item propagation data structure, the second data item propagation data structure containing a second data item propagated from the first database to the second database as the result of applying a visibility rule to determine that the propagated data item is visible to the second database at a time when the visibility cache does not indicate whether the propagated data item is visible to the second database.
Specification