IP Library Granted Patent US 11,609,825
Granted Patent B1
US 11,609,825 · App. 17/096,610 · Granted Mar 21, 2023

Systems and methods for backing-up an eventually-consistent database in a production cluster

Inventors: Vaijayanti Bharadwaj (Pune, IN); Chirag Dalal (Pune, IN); Vinay Sharma (Pune, IN)
Assignee: Veritas Technologies LLC
G06F11/1464G06F11/1451G06F11/1453G06F11/1456G06F11/1458G06F11/1469H04L67/1097G06F2201/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,609,825
App. No.
17/096,610
Granted
Mar 21, 2023
Kind
B1
Abstract

The disclosed computer-implemented method for backing-up an eventually-consistent database in a production cluster may include (1) forming, on a production node, a stable copy of production data, (2) provisioning storage on a backup node based on an amount of data in the stable copy and a replication factor, (3) transferring information from the stable copy to a backup copy on the backup node, (4) performing record synthesis on the backup copy to merge record updates into complete backup records, (5) identifying and discarding any stale records and any redundant records in the complete backup records, and (6) transferring the complete backup records from the backup node to a cloud storage device. Various other methods, systems, and computer-readable media are also disclosed.

Claims (47)

1. A computer-implemented method for restoring a backup copy of an eventually-consistent database from a cloud storage device to a production node, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying, at the computing device, chains of incremental backup data stored on the cloud storage device, wherein the incremental backup data includes updates to different database columns made at different times;

downloading the incremental backup data from the cloud storage device to a backup node;

performing record synthesis to merge the incremental backup data to restore the backup copy of the eventually-consistent database; and

transferring the backup copy of the eventually-consistent database from the backup node to a production node.

2. The computer-implemented method of claim 1 , further comprising:

preparing, based on an amount of incremental backup data to be transferred from the cloud storage device for a keyspace to be restored, a backup cluster by provisioning the backup node in the backup cluster and provisioning storage on the backup node.

3. The computer-implemented method of claim 1 , further comprising:

preparing, based on processing power of the backup node, a backup cluster by provisioning the backup node in the backup cluster and provisioning storage on the backup node.

4. The computer-implemented method of claim 1 , wherein the production node is in a plurality of production nodes, and further comprising:

multiply writing records from the backup node to different production nodes in the plurality of production nodes depending on replication factors.

5. The computer-implemented method of claim 1 , further comprising:

transferring the backup copy of the eventually-consistent database from the backup node to a server.

6. The computer-implemented method of claim 1 , wherein a number of production nodes in a production cluster of which the production node is a constituent part does not equal a number of backup nodes in a backup cluster of which the backup node is a constituent part.

7. The computer-implemented method of claim 1 , further comprising:

reverting the backup node to a pre-transfer state.

8. A system for restoring a backup copy of an eventually-consistent database from a cloud storage device to a production node, the system comprising:

an identifying module, stored in a memory, that identifies chains of incremental backup data stored on the cloud storage device, wherein the incremental backup data includes updates to different database columns made at different times;

a downloading module, stored in the memory, that downloads the incremental backup data from the cloud storage device to a backup node;

a performing module, stored in the memory, that performs record synthesis to merge the incremental backup data to restore the backup copy of the eventually-consistent database;

a transferring module, stored in the memory, that transfers the backup copy of the eventually-consistent database from the backup node to a production node; and

at least one physical processor that executes the identifying module, the downloading module, the performing module, and the transferring module.

9. The system of claim 8 , further comprising:

a preparing module, stored in the memory, that prepares, based on an amount of incremental backup data to be transferred from the cloud storage device for a keyspace to be restored, a backup cluster by provisioning the backup node in the backup cluster and provisioning storage on the backup node.

10. The system of claim 8 , further comprising:

a preparing module, stored in the memory, that prepares, based on processing power of the backup node, a backup cluster by provisioning the backup node in the backup cluster and provisioning storage on the backup node.

11. The system of claim 8 , wherein the production node is in a plurality of production nodes, and further comprising:

a writing module, stored in the memory, that multiply writes records from the backup node to different production nodes in the plurality of production nodes depending on replication factors.

12. The system of claim 8 , further comprising:

a second transferring module, stored in the memory, that transfers the backup copy of the eventually-consistent database from the backup node to a server.

13. The system of claim 8 , wherein a number of production nodes in a production cluster of which the production node is a constituent part does not equal a number of backup nodes in a backup cluster of which the backup node is a constituent part.

14. The system of claim 8 , further comprising:

a reverting module, stored in the memory, that reverts the backup node to a pre-transfer state.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify chains of incremental backup data stored on a cloud storage device, wherein the incremental backup data includes updates to different database columns made at different times;

download the incremental backup data from the cloud storage device to a backup node;

perform record synthesis to merge the incremental backup data to restore a backup copy of an eventually-consistent database; and

transfer the backup copy of the eventually-consistent database from the backup node to a production node.

16. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable instructions further cause the computing device to:

prepare, based on an amount of incremental backup data to be transferred from the cloud storage device for a keyspace to be restored, a backup cluster by provisioning the backup node in the backup cluster and provisioning storage on the backup node.

17. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable instructions further cause the computing device to:

prepare, based on processing power of the backup node, a backup cluster by provisioning the backup node in the backup cluster and provisioning storage on the backup node.

18. The non-transitory computer-readable medium of claim 15 , wherein the production node is in a plurality of production nodes, and wherein the computer-executable instructions further cause the computing device to:

multiply writing records from the backup node to different production nodes in the plurality of production nodes depending on replication factors.

19. The non-transitory computer-readable medium of claim 15 , wherein a number of production nodes in a production cluster of which the production node is a constituent part does not equal a number of backup nodes in a backup cluster of which the backup node is a constituent part.

20. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable instructions further cause the computing device to:

revert the backup node to a pre-transfer state.

Assignments (9)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069591/0510 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069577/0001 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2022
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 059337/0159 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Feb 24, 2022
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059247/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: BHARADWAJ, VAIJAYANTI; DALAL, CHIRAG; SHARMA, VINAY
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054536/0443 →
Continuity (1)
Continuation 15934440 · Mar 23, 2018