Patent application EP18170530A (EP), filed 2018-05-03
Publication number: EP3401804A1
Title: ADAPTIVE QUERY ROUTING IN A REPLICATED DATABASE ENVIRONMENT
Abstract: Technologies are described providing adaptive query routing in a replicated database environment. The technologies can be used with a variety of replication protocols. Prepared statements, such as for queries, from a database client can be routed to a source node, or a source node and available replica nodes, when a replica node becomes unavailable. When a replica node becomes available again, a prepared statement can be updated to indicate that the updated prepared statement can be executed at nodes including the replica node that is available again. Prepared statement routing can also be used when a portion of replicated data becomes unavailable at a replica node, but a portion of replicated data remains available.
IPC codes: G06F  11/    14            A I
G06F  17/    30            A I
H04L  29/    08            A I
G06F  11/    20            A I
G06F  16/    23            A I
G06F  16/    27            A I
H04L  67/  1095            A I
Claims: number: 1
text: A method, implemented at least in part by a database system node comprising a processing unit and memory, the database system node being one of a plurality of database system nodes and being in communication with at least a portion of the plurality of database system nodes and with a database client, at least one of the plurality of database system nodes being a source node and at least one of the plurality of database system nodes being a replica node, the method comprising:
number: 2
text: The method of claim 1, wherein the change in status of the replica node comprises the replica node becoming unavailable and updating the prepared statement comprises not including the replica node in the updated prepared statement.
number: 3
text: The method of claim 1, wherein the change in status of the replica node comprises the replica node becoming available and updating the prepared statement comprises including the replica node in the updated prepared statement.
number: 4
text: The method of any one of the preceding claims, the method further comprising:
number: 5
text: The method of any one of the preceding claims, wherein the change in status of the replica node comprises the replica node being unavailable and updating the prepared statement comprises specifying that the prepared statement should be executed at the source database system node.
number: 6
text: The method of any one of the preceding claims, wherein the change in status of the replica node comprises the replica node being unavailable, the replica node is a first replica node, and updating the prepared statement comprises specifying that the updated prepared statement may be executed at the source database system node and at least a second replica node.
number: 7
text: The method of any one of the preceding claims, wherein determining that the availability status of the replica node has changed comprises determining that a portion of data replicated at the replica node is not available, a portion of the replicated data remains available, and updating the prepared statement comprises:
number: 8
text: The method of any one of the preceding claims, wherein determining that the availability status of the replica node has changed comprises determining that a portion of data replicated at the replica node is not available, a portion of the replicated data remains available, and updating the prepared statement comprises:
number: 9
text: The method of any one of the preceding claims, the method further comprising:
number: 10
text: The method of any one of the preceding claims, wherein the node is the source node, the replica node is a first replica node and the database system further comprising at least a second replica node, the method further comprising:
number: 11
text: A computer system comprising a database client comprising a processing unit and memory that accesses a replicated database system, the replicated database system comprising at least one source node and at least one replica node, the database client configured to perform a prepared statement execution method, the method comprising:
number: 12
text: The computer system of claim 11, the method further comprising:
number: 13
text: One or more tangible computer-readable storage media storing computer-executable instructions for causing a computer device operating a first database system node, the computer device comprising a processing unit and memory and storing at least one database table and in communication with a database client and at least second and third database system nodes, programmed thereby to perform a method for facilitating prepared statement execution in a replicated database environment, the method comprising:
number: 14
text: The one or more tangible computer-readable storage media of claim 13, wherein determining that an availability status of a replica node of the replicated database environment has changed comprises determining at least one replicated table that is not accessible at the replica node and recording the availability status change in the data store comprises recording that the at least one replicated table is not available at the replica node, wherein optionally, after the recording, the data store comprises at least one replicated table that is accessible at the replica node, wherein further optionally updating the prepared statement comprises comparing tables accessed by the prepared statement with accessible tables recorded in the data store.
number: 15
text: The one or more tangible computer-readable storage media of claim 13 or 14, the method further comprising:
associating the incremented metadata identifier with the updated prepared statement.
Office action: search_report, dated 2018-11-14
Rejection reasons: novelty_epc_54
Prior art cited: ref_id: WO2012067910A1
ref_type: patent
severity: background
ref_id: US6070191A
ref_type: patent
severity: background
ref_id: WO2012069091A1
ref_type: patent
severity: background
ref_id: US6070191
ref_type: patent
severity: background
ref_id: WO2012067910
ref_type: patent
severity: novelty_destroying
ref_id: WO2012069091
ref_type: patent
severity: background
Final disposition: pending (2018-11-14)