Distributed database replication

US11308043B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11308043-B2
Application numberUS-201916681922-A
CountryUS
Kind codeB2
Filing dateNov 13, 2019
Priority dateNov 13, 2019
Publication dateApr 19, 2022
Grant dateApr 19, 2022

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 request may be received to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels. The plurality of levels may include a local level that includes a plurality of pods, which may be end points in the hierarchy. The data may be stored at a source pod. The request may identify a designated level in the hierarchy at which to relocate the source data. A target pod within the distributed database system may be selected. The source pod and the target pod may be located remotely from one another. The data may be replicated to the target pod via a local change bus in communication with the source pod. The local change bus may capture changes made to data stored in the source pod and transmit the captured changes to the target pod via the hierarchy.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method comprising: receiving a request to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels, the plurality of levels including a local level that includes a plurality of pods, the plurality of pods being end points in the hierarchy, the data being stored at a source pod, the request identifying a designated level in the hierarchy at which to relocate the source data; identifying a replication policy associated with the source data, the replication policy governing the replication of data between different pods within the hierarchy; selecting a target pod within the distributed database system based on the replication policy by applying a hierarchically consistent hashing function to an identifier associated with the source data to determine a target pod identifier, the hierarchically consistent hashing function producing values that map to locations on a consistent hash ring, the source pod and the target pod located remotely from one another at the designated level in the hierarchy; replicating the data to the target pod via a local change bus in communication with the source pod, the local change bus capturing changes made to data stored in the source pod, the local change bus transmitting the captured changes to the target pod via the hierarchy; and transitioning the replicated data on the target pod to an activated state in which the target pod processes requests associated with the source data and transitioning the source data on the source pod to a deactivated state in which the source pod does not process requests associated with the source data. 2. The computer-implemented method recited in claim 1 , wherein the distributed database system is configured to store data associated with a plurality of database tenants. 3. The computer-implemented method recited in claim 2 , wherein the source data is associated with a designated one of the database tenants. 4. The computer-implemented method recited in claim 1 , wherein the local level is specific to a designated data center. 5. The computer-implemented method recited in claim 4 , wherein the plurality of levels includes a global level, a regional level, and a local level, and wherein the global level includes a plurality of geographic regions, and wherein each geographic region includes a plurality of data centers. 6. The computer-implemented method recited in claim 5 , wherein the designated data center includes a local replication policy node, the local replication policy node configured to determine whether the source pod and the target pod are located in different data centers. 7. The computer-implemented method recited in claim 6 , wherein the source pod and the target pod are located in different data centers within the same region. 8. The computer-implemented method recited in claim 7 , wherein transmitting the captured changes to the target pod via the hierarchy comprises transmitting the captured changes to a regional replication policy node. 9. A distributed database system configured to perform a method comprising: receiving a request to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels, the plurality of levels including a local level that includes a plurality of pods, the plurality of pods being end points in the hierarchy, the data being stored at a source pod, the request identifying a designated level in the hierarchy at which to relocate the source data; identifying a replication policy associated with the source data, the replication policy governing the replication of data between different pods within the hierarchy; selecting a target pod within the distributed database system based on the replication policy by applying a hierarchically consistent hashing function to an identifier associated with the source data to determine a target pod identifier, the hierarchically consistent hashing function producing values that map to locations on a consistent hash ring, the source pod and the target pod located remotely from one another at the designated level in the hierarchy; replicating the data to the target pod via a local change bus in communication with the source pod, the local change bus capturing changes made to data stored in the source pod, the local change bus transmitting the captured changes to the target pod via the hierarchy; and transitioning the replicated data on the target pod to an activated state in which the target pod processes requests associated with the source data and transitioning the source data on the source pod to a deactivated state in which the source pod does not process requests associated with the source data. 10. The distributed database system recited in claim 9 , wherein the distributed database system is configured to store data associated with a plurality of database tenants, wherein the source data is associated with a designated one of the database tenants, and wherein selecting the target pod comprises applying a hashing function to an identifier associated with the source data. 11. The distributed database system recited in claim 9 , wherein the local level is specific to a designated data center, wherein the plurality of levels includes a global level, a regional level, and a local level, and wherein the global level includes a plurality of geographic regions, and wherein each geographic region includes a plurality of data centers. 12. The distributed database system recited in claim 11 , wherein the designated data center includes a local replication policy node, the local replication policy node configured to determine whether the source pod and the target pod are located in different data centers, wherein the source pod and the target pod are located in different data centers within the same region, and wherein transmitting the captured changes to the target pod via the hierarchy comprises transmitting the captured changes to a regional replication policy node. 13. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising: receiving a request to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels, the plurality of levels including a local level that includes a plurality of pods, the plurality of pods being end points in the hierarchy, the data being stored at a source pod, the request identifying a designated level in the hierarchy at which to relocate the source data; identifying a replication policy associated with the source data, the replication policy governing the replication of data between different pods within the hierarchy; selecting a target pod within the distributed database system based on the replication policy by applying a hierarchically consistent hashing function to an identifier associated with the source data to determine a target pod identifier, the hierarchically consistent hashing function producing values that map to locations on a consistent hash ring, the source pod and the target pod located remotely from one another at the designated level in the hierarchy; replicating the data to the target pod via a local change bus in communication with the source pod, the local change bus capturing changes made to data stored in the source pod, the local change bus transmitting the captured changes to the target pod via the hierarchy; and transitioning the replicated data on the target pod to an activated state in which the target pod processes requests associated with the source data and transitioning the source

Assignees

Inventors

Classifications

  • where the redundant components share neither address space nor persistent storage · CPC title

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • Management specifically adapted to replicated file systems · CPC title

  • G06F16/178Primary

    Techniques for file synchronisation in file systems · 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 US11308043B2 cover?
A request may be received to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels. The plurality of levels may include a local level that includes a plurality of pods, which may be end points in the hierarchy. The data may be stored at a source pod. The request may identify a designated level in the hierarchy at which to relocate th…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/1844. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).