Method and apparatus for performing consistent reads in multiple-server environments
First Claim
1. A method for supplying a particular version of a data item to a transaction executing in a first database server, where the data item is in a database accessible by the first database server and one or more other database servers, the method comprising the steps of:
- determining whether a current version of the data item resides in a cache that is remote relative to the first database server;
if the current version of the data item does not reside in a cache that is remote relative to the first database server, then causing a first derivation mechanism that is local to the first database server to derive the particular version of the data item from the current version of the data item; and
if the current version of the data item resides in a cache that is remote relative to the first database server, thencausing a second derivation mechanism that is local to the cache to derive the particular version of the data item from the current version of the data item; and
sending the particular version of the data item to the first database server.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for supplying a particular version of a data item to a transaction executing in a first database server is provided. The data item is in a database accessible by the first database server and one or more other database servers. The method involves determining whether a current version of the data item resides in a cache that is remote relative to the first database server. If the current version of the data item does not reside in a cache that is remote relative to the first database server, then a first derivation mechanism that is local to the first database server to derives the particular version of the data item from the current version of the data item. If the current version of the data item resides in a cache that is remote relative to the first database server, then a second derivation mechanism that is local to the cache derives the particular version of the data item from the current version of the data item. Once built, the particular version of the data item sent to the first database server. Determining whether a current version of the data item resides in a cache that is remote relative to the first database server may be performed by determining whether a process currently holds a write lock on the data item, and if a process currently holds a write lock on the data item, then determining whether the process is remote relative to the first database server.
50 Citations
20 Claims
-
1. A method for supplying a particular version of a data item to a transaction executing in a first database server, where the data item is in a database accessible by the first database server and one or more other database servers, the method comprising the steps of:
-
determining whether a current version of the data item resides in a cache that is remote relative to the first database server; if the current version of the data item does not reside in a cache that is remote relative to the first database server, then causing a first derivation mechanism that is local to the first database server to derive the particular version of the data item from the current version of the data item; and if the current version of the data item resides in a cache that is remote relative to the first database server, then causing a second derivation mechanism that is local to the cache to derive the particular version of the data item from the current version of the data item; and sending the particular version of the data item to the first database server. - View Dependent Claims (2)
-
-
3. A method for supplying a derived object to a process executing in a node of a plurality of nodes, said plurality of nodes being coupled to a multiple-layer storage system that includes one or more shared storage layers and one or more private storage layers, the method comprising the steps of:
-
determining derivation data required to build said derived object; determining where said derivation data is located within said multiple-layer storage system; selecting a selected node from said plurality of nodes based on where said derivation data is located within said multiple-layer storage system; causing a derivation mechanism executing on said selected node to build said derived object from said derivation data; and if said derivation mechanism is not located on the same node as the process, then sending the derived object from said selected node to the node on which the process is executing. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium having stored thereon sequences of instructions for supplying a derived object to a process executing in a node of a plurality of nodes, said plurality of nodes being coupled to a multiple-layer storage system that includes one or more shared storage layers and one or more private storage layers, the sequences instructions including sequences of instructions for performing the steps of:
-
determining derivation data required to build said derived object; determining where said derivation data is located within said multiple-layer storage system; selecting a selected node from said plurality of nodes based on where said derivation data is located within said multiple-layer storage system; causing a derivation mechanism executing on said selected node to build said derived object from said derivation data; and if said derivation mechanism is not located on the same node as the process, then sending the derived object from said selected node to the node on which the process is executing. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification