Multicast database replication

US9330154B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9330154-B2
Application numberUS-201113214302-A
CountryUS
Kind codeB2
Filing dateAug 22, 2011
Priority dateAug 22, 2011
Publication dateMay 3, 2016
Grant dateMay 3, 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.

Systems, methods and computer program products for multicast database replication are described herein. An embodiment includes creating a replication group for replication of data. One or more replicate (or target) databases are subscribed to the replication group and the replication group may include one or more subscribed replicate databases. The replication group is associated with a replication group address. Embodiments send (or publish) data that is to be replicated to the replication group multicast address causing automatic replication of the data to the subscribed replicate databases. In this way, by sending data to be replicated once to a replication group address, the data is automatically replicated to several subscribed replicate databases and a replication server need not establish distinct point-to-point connections with each replicate database.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for database replication, comprising: creating a first replication group and a second replication group for replication of data from one or more tables of one or more databases that are marked for replication, wherein said databases also comprise one or more tables not marked for replication, wherein each replication group is associated with its own unique replication group address; subscribing one or more databases to said first replication group and said second replication group; maintaining a list of databases subscribed to each replication group; transmitting a first set of data to a first replication group address to cause replication of said first set of data to said databases subscribed to said first replication group, wherein said databases subscribed to said first replication group periodically send acknowledge messages for successfully received data packets of said transmitted data and wherein each acknowledge message is sent for a plurality of said successfully received data packets; receiving a request to re-transmit a missing data packet from the first set of data, when said missing data packet is not received by one or more of said databases subscribed to said first replication group; and re-transmitting said missing data packet to said one or more of said databases while continuing to transmit said first set of data to said first replication group address, and wherein said creating, said subscribing and said sending are performed using one or more processors. 2. The method of claim 1 , wherein performance of said replication is independent of a change in a number of said databases. 3. The method of claim 1 , the transmitting comprising: transmitting said first set of data to said first replication group address as data packets, each data packet comprising a replication data payload and header, said header comprising a packet sequence number. 4. The method of claim 3 , further comprising: incrementing said sequence number for each data packet transmitted to said first replication group address. 5. The method of claim 1 , wherein said list comprises control information of said databases and sequence numbers of data packets transmitted to said databases. 6. The method of claim 3 , further comprising: caching said transmitted data packet until an acknowledgement is received from a receiving replicate database. 7. The method of claim 6 , wherein said caching comprises: maintaining one or more linear buffers to store said transmitted data packet and other transmitted data packets. 8. The method of claim 4 , wherein said data is replicated to said databases using a user datagram multicast protocol. 9. The method of claim 1 , wherein said list includes, for each subscribed database of each replication group, a sequence number of the last multicast replicate data packet that the respective database of the respective group received, wherein the sequence number for each group initializes at zero and increments by one for every data packet transmitted to the replication group address. 10. The method of claim 9 , wherein transmitted data older than the earliest received sequence number is discarded from a cache. 11. A processor-based system for database replication, comprising: a first hardware computer processor configured to create a first replication group and a second replication group for replication of data from one or more tables of one or more databases that are marked for replication, wherein said databases also comprise one or more tables not marked for replication, wherein each replication group is associated with its own unique replication group address; a second hardware computer processor configured to: subscribe one or more databases to said first replication group and said second replication group, and maintain a list of databases subscribed to each replication group; and a third hardware computer processor configured to: send a first set of data to a first replication group address to cause replication of said first set of data to said databases subscribed to said first replication group, wherein said databases subscribed to said first replication group periodically send acknowledge messages for successfully received data packets of said transmitted data and wherein each acknowledge message is sent for a plurality of said successfully received data packets, receive a request to re-transmit a missing data packet from the first set of data, when said missing data packet is not received by one or more of said databases subscribed to said first replication group, and re-transmit said missing data packet to said one or more of said databases while continuing to transmit said first set of data to said first replication group address. 12. The system of claim 11 , wherein performance of said replication is independent of a change in a number of said databases. 13. The system of claim 11 , further comprising: a fourth module configured to transmit said first set of data to said first replication group address as data packets, each data packet comprising a replication data payload and header, said header comprising a packet sequence number. 14. The system of claim 13 , further comprising: a fifth module configured to increment said sequence number for each data packet transmitted to said first replication group address. 15. The system of claim 11 , wherein said list comprises control information of said databases and sequence numbers of data packets transmitted to said databases. 16. The system of claim 13 , further comprising: a fifth module configured to cache said transmitted data packet until an acknowledgement is received from a receiving replicate database. 17. The system of claim 16 , further comprising: a sixth module configured to maintain one or more linear buffers to store said transmitted data packet and other transmitted data packets. 18. The system of claim 14 , wherein said data is replicated to said databases using a user datagram multicast protocol. 19. A non-transitory computer-readable storage device having instructions stored thereon, execution of which, by a processing device, causes the processing device to perform operations comprising: creating a first replication group and a second replication group for replication of data from one or more tables of one or more databases that are marked for replication, wherein said databases also comprise one or more tables not marked for replication, wherein each replication group is associated with its own unique replication group address; maintaining a list of one or more replicate databases subscribed to each replication group, wherein one or more databases are subscribed to each replication group; identifying one or more database rows that are to be replicated to the one or more replicate databases based on the marking; establishing a reliability layer for sequential transmission and re-transmission of data packets representing said identified database rows; multicasting said data packets to said replicate databases of the first replication group using a multicast transport layer associated with said reliability layer, wherein said replicate databases periodically send acknowledge messages for successfully received data packets and wherein each acknowledge message is sent for a plurality of said successfully received data packets; receiving a request to re-transmit a missing data packet, when said missing data packet is not received by one or more of said databases subscribed

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • with management of multicast group membership · CPC title

  • Physics · mapped topic

  • G06F16/27Primary

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

  • Techniques for file synchronisation in file systems · 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 US9330154B2 cover?
Systems, methods and computer program products for multicast database replication are described herein. An embodiment includes creating a replication group for replication of data. One or more replicate (or target) databases are subscribed to the replication group and the replication group may include one or more subscribed replicate databases. The replication group is associated with a replica…
Who is the assignee on this patent?
Di Vincenzo James John, Sybase Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30575. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 03 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).