Query dispatching system and method

US10754874B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10754874-B2
Application numberUS-201815944819-A
CountryUS
Kind codeB2
Filing dateApr 4, 2018
Priority dateDec 10, 2014
Publication dateAug 25, 2020
Grant dateAug 25, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer receives a database request to be executed on a source database or a target database. The source database is configured to efficiently process database queries of a first query type, the target database is configured to efficiently process database queries of a second query type, data changes in the source database are asynchronously replicated to the target database, and all changed data in the source database impacting a result of the database request are replicated to the target database before executing the database request. The computer determines a latency time to asynchronously complete a replication of unreplicated data changes and determines a velocity of replication. The computer predicts, using the latency time and velocity of replication, which of the databases will complete an execution of the database request first and dispatches the database request to the database predicted to complete the execution of the database request first.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for dispatching a database request to either a source database or a target database, wherein the source database is configured to efficiently process database queries of a first query type, wherein the target database is configured to efficiently process database queries of a second query type, wherein data changes in the source database are asynchronously replicated to the target database, and wherein all changed data in the source database impacting a result of the database request are replicated to the target database before executing the database request, the computer program comprising: one or more non-transitory computer readable storage media and program instructions stored on at least one of the one or more non-transitory computer readable storage media, the program instructions, when executed by a computer, cause the computer to perform a method comprising: receiving, by a computer, a database request to be executed on a source database or a target database; determining, by the computer, a latency time to asynchronously complete a replication from the source database to the target database of, at least, all unreplicated data changes that impact the result of the received database request; determining, by the computer, a velocity of replication to the target database, wherein the velocity of replication is one of: a capture velocity, the capture velocity being a number or size of data changes applied to the source database that can be identified in a predefined time interval; an apply velocity, the apply velocity being a number or size of identified data changes that can be applied to the target database in a predefined time interval; a function of the capture velocity; a function of the apply velocity; or a function of both the capture and the apply velocity; predicting, by the computer, using the determined latency time and determined velocity of replication, which of the source database or the target database will complete an execution of the received database request first, by: determining, by the computer, a transfer velocity, the transfer velocity being a number or size of identified data changes applied to the source database that can be transferred to the target database in a predefined time interval during an asynchronous replication to the target database; calculating, by the computer, a total target database time, starting at the receipt of the database request by the computer and ending at the completion of the execution of the received database request on the target database, according to the following formula: CTD = EQ ⁢ ⁢ 2 + ( L * VT V * C ⁢ ⁢ 3 ) + CF , wherein L is the determined latency time, wherein VT is the determined transfer velocity, wherein V is the determined velocity of replication, wherein C3 is a correction constant, wherein CTD is the total target database time, wherein CF is a constant indicating invariable hardware, software and/or firmware-related delays, and wherein EQ2 is an estimated time for executing the received database request on the target database; and comparing, by the computer, the calculated total target database time with an estimated time for executing the received database request on the source database, wherein a high latency time and a low velocity lowers a probability that the execution of the received database request will be finished first on the target database; and responsive to predicting which of the source database or the target database will complete the execution of the database request first, dispatching, by the computer, the database request to the source database or the target database predicted to complete the execution of the database request first. 2. The computer program product according to claim 1 , wherein determining, by the computer, the velocity of replication further comprises calculating, by the computer, the velocity of replication according to the following formula: Vtotal=(minimum(Vcapture, Vapply))*C1+C2, wherein Vcapture is the capture velocity, wherein Vapply is the apply velocity, wherein Vtotal is the determined velocity of replication, and wherein C1 and C2 are correction constants. 3. The computer program product according to claim 1 , wherein the method further comprises: receiving, by the computer, a first estimated time for executing the received database request on the source database; receiving, by the computer, a second estimated time for executing the received database request on the target database; and wherein predicting, by the computer, which of the source database or the target database will complete the execution of the received database request first further includes using the received first estimated time and second estimated time, wherein a long received first estimated time and a short received second estimated time increases the probability that the execution of the received database request will be finished first on the target database. 4. The computer program product according to claim 3 , wherein the method further comprises: normalizing, by the computer, the received first estimated time and the received second estimated time. 5. The computer program product according to claim 1 , wherein the method further comprises: identifying, by the computer, the unreplicated data changes in the source database that impact the result of the received database request, the unreplicated data changes including: data changes most recently committed in the source database by a transaction; and data changes in the source database, made by a database operation in a same transaction as the received database request, wherein the database operation directly precedes the received database request and wherein the data changes are not committed. 6. The computer program product according to claim 1 wherein the target database is one of a plurality of target databases, wherein the method further comprises: requesting, by the computer, an estimated time for executing the received database request from each of the plurality of target databases; receiving, by the computer, a plurality of estimated times from each of two or more of the plurality of target databases; wherein determining, by the computer, the latency time further comprises determining, by the computer the latency time to asynchronously complete a replication from the source database to each of the two or more of the target databases; wherein determining, by the computer, the velocity of replication further comprises determining, by the computer, the velocity of replication to each of the two or more target databases; wherein calculating, by the computer, the total target database time furthe

Assignees

Inventors

Classifications

  • Updating materialised views · CPC title

  • G06F16/273Primary

    Asynchronous replication or reconciliation · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Tablespace storage structures; Management thereof · CPC title

  • Updates performed during online database operations; commit processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10754874B2 cover?
A computer receives a database request to be executed on a source database or a target database. The source database is configured to efficiently process database queries of a first query type, the target database is configured to efficiently process database queries of a second query type, data changes in the source database are asynchronously replicated to the target database, and all changed…
Who is the assignee on this patent?
IBM, Int Business Machines Company
What technology area does this patent fall under?
Primary CPC classification G06F16/273. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 25 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).