Patent US6446089B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6446089B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions

Assignee: Oracle America Inc
•
Filing: 1999-08-13
•
Granted: 2002-09-03
•
Expires: 2019-08-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Robert S. Brodersen
  • 👤 Peter S. Lim

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 06:03
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/27; G06F16/278; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99936; Y10S707/99941; Y10S707/99942; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 51
Claim 1
Independent Claim 98 words
A method of managing a database, said database including a central database, and separate partially replicated databases, each having separate users, comprising the steps of: (a) determining whether a visibility of a user of a partially replicated database to data being propagated 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 to the partially replicated database only if the user of the partially replicated database has visibility to the data.
Claim 2
Independent Claim 98 words
A method of managing a database, said database including a central database, and separate partially replicated databases, each having separate users, comprising the steps of: (a) determining whether a visibility of a user of a partially replicated database to data being propagated 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 to the partially replicated database only if the user of the partially replicated database has visibility to the data.
Claim 3
Dependent Claim 21 words
The method of claim 1 wherein step (a)(ii) comprises the step of caching the visibility in a docking object instance table.
Claim 4
Dependent Claim 30 words
The method of claim 1 wherein step (b) comprises asserting a docking object has visibility to a client when an instance of the docking object is in the cache memory.
Claim 5
Dependent Claim 60 words
The method of claim 3 wherein step (b) further comprises the steps of: (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.
Claim 6
Dependent Claim 90 words
An article of manufacture comprising: (a) a computer usable medium including computer usable program code embodied therein for managing a partially replicated database by: (i) determining whether a visibility of a user of a partially replicated database to data being propagated is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, determining the visibility, and storing the visibility in the cache memory; and (ii) propagating said data to a partially replicated database only if the user has visibility to the data.
Claim 7
Dependent Claim 90 words
An article of manufacture comprising: (a) a computer usable medium including computer usable program code embodied therein for managing a partially replicated database by: (i) determining whether a visibility of a user of a partially replicated database to data being propagated is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, determining the visibility, and storing the visibility in the cache memory; and (ii) propagating said data to a partially replicated database only if the user has visibility to the data.
Claim 8
Dependent Claim 24 words
The article of manufacture of claim 5 further comprising program code for instantiating and maintaining a docking object instance table in the cache memory.
Claim 9
Dependent Claim 21 words
The article of manufacture of claim 6 further comprising program code for caching visibility events in the docking object instance table.
Claim 10
Dependent Claim 99 words
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, said method steps comprising: determining whether a visibility of a user of a partially replicated database to data being propagated is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, determining the visibility and storing the visibility in the cache memory; and propagating said data to the partially replicated database only if the user of the partially replicated database has visibility to the data.
Claim 11
Dependent Claim 99 words
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, said method steps comprising: determining whether a visibility of a user of a partially replicated database to data being propagated is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, determining the visibility and storing the visibility in the cache memory; and propagating said data to the partially replicated database only if the user of the partially replicated database has visibility to the data.
Claim 12
Dependent Claim 25 words
The program storage device of claim 8 wherein storing the visibility in the cache memory comprises storing the visibility in a docking object instance table.
Claim 13
Dependent Claim 32 words
The program storage device of claim 8 wherein said propagating comprises asserting a docking object has visibility to a client when an instance of the docking object is in the cache memory.
Claim 14
Dependent Claim 57 words
The program storage device of claim 10 wherein said propagating further comprises determining an initial visibility event from a set of one or more Structured Query Language (SQL) statements applied against a visibility rules database and thereafter determining the cached visibility from a single SQL statement applied against the docking object instance table in the cache memory.
Claim 15
Independent Claim 228 words
A method of selectively transmitting a transaction from a central database to at least one node having a partially replicated database out of a plurality of nodes having partially replicated databases, comprising the steps of: (a) encoding the transaction in a docking object representing the transaction and including at least two tables from the central database, one of the tables containing visibility rules controlling whether a particular instance of the docking object is visible to a particular node, said visibility rule including either: (1) a set of statements that are evaluated to determine if any data meeting criteria specified in the statements exists in the docking object, or (2) a pointer to another docking object containing a set of statements to be evaluated as in (a)(1); (b) selecting a node; (c) determining whether the visibility of the selected node to the particular instance of the docking object is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) executing the visibility rule against the selected node to determine whether the particular instance of the docking object is visible to the selected node, and (ii) storing in cache memory the visibility of the node; and (d) selectively transmitting the transaction to the selected node depending on whether the particular instance of the docking object is visible to the selected node.
Claim 16
Independent Claim 228 words
A method of selectively transmitting a transaction from a central database to at least one node having a partially replicated database out of a plurality of nodes having partially replicated databases, comprising the steps of: (a) encoding the transaction in a docking object representing the transaction and including at least two tables from the central database, one of the tables containing visibility rules controlling whether a particular instance of the docking object is visible to a particular node, said visibility rule including either: (1) a set of statements that are evaluated to determine if any data meeting criteria specified in the statements exists in the docking object, or (2) a pointer to another docking object containing a set of statements to be evaluated as in (a)(1); (b) selecting a node; (c) determining whether the visibility of the selected node to the particular instance of the docking object is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) executing the visibility rule against the selected node to determine whether the particular instance of the docking object is visible to the selected node, and (ii) storing in cache memory the visibility of the node; and (d) selectively transmitting the transaction to the selected node depending on whether the particular instance of the docking object is visible to the selected node.
Claim 17
Dependent Claim 37 words
The method of claim 12 wherein the set of statements comprises a set of one or more Structured Query Language (SQL) statements and wherein the visibility is stored in the cache memory as a single SQL statement.
Claim 18
Dependent Claim 15 words
The method of claim 12 in which the partially replicated database is a relational database.
Claim 19
Dependent Claim 18 words
The method of claim 12 in which the selected node is intermittently in communication with the central database.
Claim 20
Dependent Claim 29 words
The method of claim 12 wherein step (d) comprises asserting a docking object has visibility to a client when an instance of the docking object is in cache memory.
Claim 21
Dependent Claim 55 words
The method of claim 16 wherein step (d) further comprises determining an initial visibility event from a set of one or more Structured Query Language (SQL) statements applied against a visibility rules database and thereafter determining the cached visibility from a single SQL statement applied against the docking object instance table in the cache memory.
Claim 22
Dependent Claim 127 words
An article of manufacture comprising computer usable media having computer usable program code embodied therein, portions of said program code residing on a server computer and other portions thereof residing on a client computer, said program code for (a) managing a partially replicated database by (i) determining whether a visibility of a user of the partially replicated database to data being propagated from the server computer is stored in a cache memory at the client computer, and if so, accessing the visibility from the cache memory, and if not, determining the visibility and storing the visibility in the cache memory, (ii) propagating said data to the partially replicated database at the client computer only if the user of the partially replicated database has visibility to the data.
Claim 23
Dependent Claim 127 words
An article of manufacture comprising computer usable media having computer usable program code embodied therein, portions of said program code residing on a server computer and other portions thereof residing on a client computer, said program code for (a) managing a partially replicated database by (i) determining whether a visibility of a user of the partially replicated database to data being propagated from the server computer is stored in a cache memory at the client computer, and if so, accessing the visibility from the cache memory, and if not, determining the visibility and storing the visibility in the cache memory, (ii) propagating said data to the partially replicated database at the client computer only if the user of the partially replicated database has visibility to the data.
Claim 24
Dependent Claim 22 words
The article of manufacture of claim 18 further comprising program code for instantiating and maintaining a docking object instance table in cache.
Claim 25
Dependent Claim 23 words
The article of manufacture of claim 19 further comprising program code for caching visibility events in the docking object instance table in cache.
Claim 26
Independent Claim 241 words
A system for selectively transmitting a transaction from a central database residing in a server to at least one node having a partially replicated database out of a plurality of nodes having partially replicated databases, the system being configured to carry out the method comprising the steps of: (a) encoding the transaction in a docking object representing the transaction and including at least two tables from the central database, one of the tables containing visibility rules controlling whether a particular instance of the docking object is visible to a particular node, said visibility rule including either: (1) a set of statements that are evaluated to determine if any data meeting criteria specified in the statements exists in the docking object, or (2) a pointer to another docking object containing a set of statements to be evaluated as in (a)(1); (b) selecting a node; (c) determining whether the visibility of the selected node to the particular instance of the docking object is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) executing the visibility rule against the selected node to determine whether the particular instance of the docking object is visible to the selected node, and (ii) storing in cache memory the visibility of the node; and (d) selectively transmitting the transaction to the selected node depending on whether the particular instance of the docking object is visible to the selected node.
Claim 27
Independent Claim 241 words
A system for selectively transmitting a transaction from a central database residing in a server to at least one node having a partially replicated database out of a plurality of nodes having partially replicated databases, the system being configured to carry out the method comprising the steps of: (a) encoding the transaction in a docking object representing the transaction and including at least two tables from the central database, one of the tables containing visibility rules controlling whether a particular instance of the docking object is visible to a particular node, said visibility rule including either: (1) a set of statements that are evaluated to determine if any data meeting criteria specified in the statements exists in the docking object, or (2) a pointer to another docking object containing a set of statements to be evaluated as in (a)(1); (b) selecting a node; (c) determining whether the visibility of the selected node to the particular instance of the docking object is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, (i) executing the visibility rule against the selected node to determine whether the particular instance of the docking object is visible to the selected node, and (ii) storing in cache memory the visibility of the node; and (d) selectively transmitting the transaction to the selected node depending on whether the particular instance of the docking object is visible to the selected node.
Claim 28
Dependent Claim 37 words
The system of claim 21 wherein the set of statements comprises a set of one or more Structured Query Language (SQL) statements and wherein the visibility is stored in the cache memory as a single SQL statement.
Claim 29
Dependent Claim 15 words
The system of claim 21 in which the partially replicated database is a relational database.
Claim 30
Dependent Claim 18 words
The system of claim 21 in which the selected node is intermittently in communication with the central database.
Claim 31
Dependent Claim 32 words
The system of claim 21 wherein step (d) comprises the step of asserting a docking object has visibility to a client when an instance of the docking object is in cache memory.
Claim 32
Dependent Claim 58 words
The system of claim 25 wherein step (d) further comprises the step of determining an initial visibility event from a set of one or more Structured Query Language (SQL) statements applied against a visibility rules database and thereafter determining the cached visibility from a single SQL statement applied against the docking object instance table in the cache memory.
Claim 33
Independent Claim 109 words
A system for managing a database said database including a central database, and separate partially replicated databases, each having separate users, where the system is configured to carry out the method comprising the steps of (a) determining whether a visibility of a user of a partially replicated database to data being propagated from the central database is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, determining the visibility and storing the visibility in the cache memory; (b) propagating said data to the partially replicated database only if the user of the partially replicated database has visibility to the data.
Claim 34
Independent Claim 109 words
A system for managing a database said database including a central database, and separate partially replicated databases, each having separate users, where the system is configured to carry out the method comprising the steps of (a) determining whether a visibility of a user of a partially replicated database to data being propagated from the central database is stored in a cache memory, and if so, accessing the visibility from the cache memory, and if not, determining the visibility and storing the visibility in the cache memory; (b) propagating said data to the partially replicated database only if the user of the partially replicated database has visibility to the data.
Claim 35
Dependent Claim 22 words
The system of claim 27 wherein storing the visibility comprises the step of caching visibility events in a docking object instance table.
Claim 36
Dependent Claim 29 words
The system of claim 27 wherein step (b) comprises asserting a docking object has visibility to a client when an instance of the docking object is in cache memory.
Claim 37
Dependent Claim 60 words
The system of claim 29 wherein step (b) further comprises the steps of: (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.
Claim 38
Independent Claim 83 words
A method of propagating data in a database, wherein the database includes a central database and a partially replicated database, the method comprising: 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 propagating said data to the partially replicated database according to said visibility.
Claim 39
Independent Claim 83 words
A method of propagating data in a database, wherein the database includes a central database and a partially replicated database, the method comprising: 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 propagating said data to the partially replicated database according to said visibility.
Claim 40
Dependent Claim 15 words
The method of claim 31 , wherein the partially replicated database comprises a relational database.
Claim 41
Dependent Claim 19 words
The method of claim 31 , wherein the partially replicated database is intermittently in communication with the central database.
Claim 42
Dependent Claim 34 words
The method of claim 31 , wherein determining whether a visibility of a user of the partially replicated database to data being propagated is stored in a cache memory comprises evaluating a visibility rule.
Claim 43
Dependent Claim 14 words
The method of claim 34 , wherein said visibility rule comprises a SQL statement.
Claim 44
Dependent Claim 14 words
The method of claim 34 , wherein said visibility rule comprises a check-docking-object rule.
Claim 45
Dependent Claim 92 words
Computer executable software code for propagating data in a database, wherein the database includes a central database and a partially replicated database, the software code comprising: code to determine whether a visibility of a user of the partially replicated database to data being propagated is stored in a cache memory, and if so, to access said visibility from said cache memory, and if not, to determine said visibility and selectively store said visibility in said cache memory; and code to propagate said data to the partially replicated database according to said visibility.
Claim 46
Dependent Claim 92 words
Computer executable software code for propagating data in a database, wherein the database includes a central database and a partially replicated database, the software code comprising: code to determine whether a visibility of a user of the partially replicated database to data being propagated is stored in a cache memory, and if so, to access said visibility from said cache memory, and if not, to determine said visibility and selectively store said visibility in said cache memory; and code to propagate said data to the partially replicated database according to said visibility.
Claim 47
Dependent Claim 16 words
The software code of claim 37 , wherein the partially replicated database comprises a relational database.
Claim 48
Dependent Claim 20 words
The software code of claim 37 , wherein the partially replicated database is intermittently in communication with the central database.
Claim 49
Dependent Claim 39 words
The software code of claim 37 , wherein code to determine whether a visibility of a user of the partially replicated database to data being propagated is stored in a cache memory comprises code to evaluate a visibility rule.
Claim 50
Dependent Claim 15 words
The software code of claim 40 , wherein said visibility rule comprises a SQL statement.
Claim 51
Dependent Claim 15 words
The software code of claim 40 , wherein said visibility rule comprises a check-docking-object rule.

References Cited (Backward Citations)

US4432057A Cited
US5291594A Cited
US5581757A Cited
US5263156A Cited
US5317742A Cited
US5446885A Cited
US5841984A Cited
US6189011B1 Cited
US5758337A Cited
US6178425B1 Cited
US6216135B1 Cited
US5873096A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-09-02 2006-03-04 2006-09-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-09-02 2010-03-04 2010-09-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-09-02 2014-03-04 2014-09-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag