Bidirectional data replication with wait for data function

US11995102B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11995102-B2
Application numberUS-202217657155-A
CountryUS
Kind codeB2
Filing dateMar 30, 2022
Priority dateMar 30, 2022
Publication dateMay 28, 2024
Grant dateMay 28, 2024

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.

In an approach, a processor receives a data manipulation request on a target database. A processor sends the data manipulation request to a source database. The source database attempts to persist a data manipulation action relating to the data manipulation request. Responsive to a successful attempt to persist the data manipulation action: the source database sends a log position of the data manipulation action to a data replication engine; a processor replicates the data manipulation request triggering the data manipulation action in the target database; and a processor confirms to the target database that the data manipulation action in the target database has been completed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by one or more processors, a data manipulation request on a target database; causing, by one or more processors, a data replication engine to send the data manipulation request to a source database; prior to triggering a data manipulation action, relating to the data manipulation request, in the target database, causing, by one or more processors, the source database to attempt to persist the data manipulation action relating to the data manipulation request; and responsive to a successful attempt to persist the data manipulation action by the source database: causing the source database to send a log position of the data manipulation action to the data replication engine, wherein the log position is a sequence number of results of already performed transactions and each position of the log record stores a respective data manipulation request; replicating, by one or more processors, the data manipulation request triggering the data manipulation action in the target database; and confirming, by one or more processors, to the target database that the data manipulation action in the target database has been completed. 2. The computer-implemented method of claim 1 , wherein the source database is a row-oriented database. 3. The computer-implemented method of claim 1 , wherein the target database is a row-oriented database. 4. The computer-implemented method of claim 1 , wherein the target database comprises an in-memory portion for fast execution of complex and multi-dimensional queries database and a persistent portion which stores tables and data of the in-memory portion of the target database to a selection from the group consisting of a hard drive and flash memory. 5. The computer-implemented method of claim 1 , wherein the target database is optimized for read-only operation. 6. The computer-implemented method of claim 1 , further comprising: responsive to an unsuccessful attempt to persist the data manipulation action: causing the source database to skip notifying the target database via the data replication engine about the unsuccessful attempt; and directly notifying the target database about the unsuccessful attempt. 7. The computer-implemented method of claim 1 , wherein the data replication engine received requests from both the source database and the target database. 8. A computer program product comprising: one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising: program instructions to receive a data manipulation request on a target database; program instructions to cause a data replication engine to send the data manipulation request to a source database; program instructions to, prior to triggering a data manipulation action, relating to the data manipulation request, in the target database, cause the source database to attempt to persist the data manipulation action relating to the data manipulation request; and program instructions to, responsive to a successful attempt to persist the data manipulation action by the source database: cause the source database to send a log position of the data manipulation action to the data replication engine, wherein the log position is a sequence number of results of already performed transactions and each position of the log record stores a respective data manipulation request; replicate the data manipulation request triggering the data manipulation action in the target database; and confirm, by one or more processors, to the target database that the data manipulation action in the target database has been completed. 9. The computer program product of claim 8 , wherein the source database is a row-oriented database. 10. The computer program product of claim 8 , wherein the target database is a row-oriented database. 11. The computer program product of claim 8 , wherein the target database comprises an in-memory portion for fast execution of complex and multi-dimensional queries database and a persistent portion which stores tables and data of the in-memory portion of the target database to a selection from the group consisting of a hard drive and flash memory. 12. The computer program product of claim 8 , wherein the target database is optimized for read-only operation. 13. The computer program product of claim 8 , further comprising: program instructions, collectively stored on the one or more computer readable storage media, to, responsive to an unsuccessful attempt to persist the data manipulation action: cause the source database to skip notifying the target database via the data replication engine about the unsuccessful attempt; and directly notify the target database about the unsuccessful attempt. 14. The computer program product of claim 8 , wherein the data replication engine received requests from both the source database and the target database. 15. A computer system comprising: one or more computer processors, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: program instructions to receive a data manipulation request on a target database; program instructions to cause a data replication engine to send the data manipulation request to a source database; program instructions to, prior to triggering a data manipulation action, relating to the data manipulation request, in the target database, cause the source database to attempt to persist the data manipulation action relating to the data manipulation request; and program instructions to, responsive to a successful attempt to persist the data manipulation action by the source database: cause the source database to send a log position of the data manipulation action to the data replication engine, wherein the log position is a sequence number of results of already performed transactions and each position of the log record stores a respective data manipulation request; replicate the data manipulation request triggering the data manipulation action in the target database; and confirm, by one or more processors, to the target database that the data manipulation action in the target database has been completed. 16. The computer-implemented method of claim 1 , wherein the log position is a logical record serial number of a recovery log file. 17. The computer-implemented method of claim 1 , wherein the target database is a read-optimized database.

Assignees

Inventors

Classifications

  • G06F16/273Primary

    Asynchronous replication or reconciliation · CPC title

  • implemented using Network-attached Storage [NAS] architecture (distributed or networked storage systems G06F3/067; protocols for distributed storage of data in a network H04L67/1097) · CPC title

  • Ensuring data consistency and integrity · 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 US11995102B2 cover?
In an approach, a processor receives a data manipulation request on a target database. A processor sends the data manipulation request to a source database. The source database attempts to persist a data manipulation action relating to the data manipulation request. Responsive to a successful attempt to persist the data manipulation action: the source database sends a log position of the data m…
Who is the assignee on this patent?
IBM
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 May 28 2024 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).