Transactional replication

US9317545B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317545-B2
Application numberUS-201313955487-A
CountryUS
Kind codeB2
Filing dateJul 31, 2013
Priority dateSep 21, 2005
Publication dateApr 19, 2016
Grant dateApr 19, 2016

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.

Writing data in a distributed database having a plurality of nodes is disclosed. Writing includes receiving a write request at a node, wherein the write request is associated with one or more operations to define an atomic transaction and performing the atomic transaction based on the request. The atomic transaction includes writing to a first version of the database in the node and writing to an entity representative of a state of the first version of the database.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of writing data in a distributed database having a plurality of nodes, comprising: receiving a write request at a first member node having a first version of a database; applying the received original write request to both the first version of the database and a journal queue in a single atomic transaction using a processor, comprising: placing the received write request in the journal, queue of the first member node, wherein the journal queue is associated with the first member node and is configured to store write requests that have not yet been reconciled with a master version of the database on a master node; propagating one or more items in the journal queue to the master node; determining whether a conflict exists between the first version of the database with the write request applied and a master version of the database; in the event that a conflict exists, reconciling a write request with the master version of the database; and in the event that a conflict does not exist: determining that the first version of the database is in a high availability pair, wherein the high availability pair includes a second version of the database in a second member node; and applying the received original write request to both the first version of the database and to the second version of the database in the second member node. 2. The method of claim 1 , wherein the write request comprises a semantically expressed request to modify the database without sending changed data. 3. The method of claim 1 , wherein the write request includes one or more selected from the group consisting of commands, operations, and instructions. 4. The method of claim 1 , wherein the first member node is an active node and the second member node is a passive node in the high availability pair. 5. The method of claim 1 , wherein the second member node is associated with a second journal queue and further including applying the write request to the second version of the database and to the second journal queue in a single atomic transaction. 6. The method of claim 1 , further comprising: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node. 7. The method of claim 1 , further comprising: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node; and in response to receiving the indication, removing the one or more items from the journal queue. 8. The method of claim 1 , further comprising: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node, wherein the indication indicates whether data in the master version of the database conflicts with the one or more items in the journal queue. 9. The method of claim 1 , further comprising: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node; and in the event that the indication indicates a conflict between data in the master version of the database and the one or more items in the journal queue, resolving the conflict. 10. The method of claim 1 , further comprising: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node; and in the event that the indication indicates a conflict between data in the master version of the database and the one or more items in the journal queue, resolving the conflict, wherein removing the one or more items from the journal queue and resolving the conflict are performed in a single atomic transaction. 11. A computer program product for writing data in a distributed database having a plurality of nodes, the computer program product being embodied in a tangible computer readable storage medium and comprising computer instructions for: receiving a write request at a first member node having a first version of a database; applying the received original write request to both the first version of the database and a journal queue in a single atomic transaction, comprising: placing the write request in the journal, queue of the first member node, wherein the journal queue is associated with the first member node and is configured to store write requests that have not yet been reconciled with a master version of the database on a master node; propagating one or more items in the journal queue to the master node; determining whether a conflict exists between the first version of the database with the write request applied and a master version of the database; in the event that a conflict exists, reconciling a write request with the master version of the database; and in the event that a conflict does not exist: determining that the first version of the database is in a high availability pair, wherein the high availability pair includes a second version of the database in a second member node; and applying the received original write request to both the first version of the database and to the second version of the database in the second member node. 12. The computer program product recited in claim 11 , wherein the write request comprises a semantically expressed request to modify the database without sending changed data. 13. The computer program product recited in claim 11 , wherein the write request includes one or more selected from the group consisting of commands, operations, and instructions. 14. The computer program product recited in claim 11 , wherein the first member node is an active node and the second member node is a passive node in the high availability pair. 15. The computer program product recited in claim 11 , wherein the second member node is associated with a second journal queue and further including applying the write request to the second version of the database and to the second journal queue in a single atomic transaction. 16. The computer program product recited in claim 11 , further comprising computer instructions for: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node. 17. The computer program product recited in claim 11 , further comprising computer instructions for: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node; and in response to receiving the indication, removing the one or more items from the journal queue. 18. The computer program product recited in claim 11 , further comprising computer instructions for: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the master node, wherein the indication indicates whether data in the master version of the database conflicts with the one or more items in the journal queue. 19. The computer program product recited in claim 11 , further comprising computer instructions for: receiving from the master node an indication that the one or more items in the journal queue have been reconciled with the master version of the database by the

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • Physics · mapped topic

  • G06F16/219Primary

    Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · 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 US9317545B2 cover?
Writing data in a distributed database having a plurality of nodes is disclosed. Writing includes receiving a write request at a node, wherein the write request is associated with one or more operations to define an atomic transaction and performing the atomic transaction based on the request. The atomic transaction includes writing to a first version of the database in the node and writing to …
Who is the assignee on this patent?
Infoblox Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30309. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).