IP Library Granted Patent US 11,567,840
Granted Patent B2
US 11,567,840 · App. 16/812,536 · Granted Jan 31, 2023

Node level recovery for clustered databases

Inventors: Prasenjit Sarkar (Los Gatos, CA); Tarun Thakur (Fremont, CA)
Assignee: Rubrik, Inc.
G06F11/2028G06F9/45558G06F11/1469G06F16/182G06F2201/805G06F2201/82
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,567,840
App. No.
16/812,536
Filed
Mar 9, 2020
Granted
Jan 31, 2023
Kind
B2
Examiner
TRUONG, LOAN
Art Unit
2114
USPC
714/11
Abstract

An example networked computing system for iterative node level recovery comprises a node cluster; a database; at least one processor configured by instructions to perform operations comprising at least: identifying a failed node among existing nodes in the node cluster; identifying and initiating a replacement node as a new node for the node cluster; accessing at the database a logical backup of the node cluster; retrieving logical backup data of the node cluster and identifying specific rows of backup data to be restored to the new node; restoring the specific data rows to the new node; identifying new data written by applications, to the existing nodes of the node cluster, during restoration of the new node; iteratively accessing supplementary back up data to identify supplementary data rows to be restored to the new node; and iteratively restoring the supplementary data rows to the new node until the new node is synchronized with the existing nodes in the node cluster.

Claims (63)

1. A networked computing system for iterative node level recovery, the system comprising:

a node cluster;

a database; and

at least one processor configured by instructions to perform operations comprising at least:

identifying a failed node among existing nodes in the node cluster;

identifying and initiating a replacement node as a new node for the node cluster;

accessing, at the database, original backup data of the node cluster;

identifying, based at least in part on applying a node level filter to the original backup data of the node cluster, specific data rows associated with the failed node;

restoring the specific data rows to the new node while refraining from restoring other data rows within the original backup data;

identifying new data written by an application, to the existing nodes of the node cluster, during restoration of the new node;

iteratively accessing supplementary backup data that includes the new data associated with both the existing nodes and the new node to identify, based at least in part on applying the node level filter to the supplementary backup data, specific supplementary data rows to be restored to the new node from the supplementary backup data; and

iteratively restoring the specific supplementary data rows identified by the node level filter to the new node while refraining from restoring other supplementary data rows within the supplementary backup data until the new node is synchronized with the existing nodes in the node cluster.

2. The networked computing system of claim 1 , wherein the operations further comprise:

detecting that no additional new data written by the application to the existing nodes during the restoration of the new node is identified; and

based on the detecting, determining that the new node is synchronized with the existing nodes in the node cluster.

3. The networked computing system of claim 1 , wherein the operations further comprise:

detecting that an amount of additional new data written by the application to the existing nodes during the restoration of the new node is below a pre-determined threshold level; and

based on the detecting, determining that the new node is synchronized with the existing nodes in the node cluster.

4. The networked computing system of claim 1 , wherein the supplementary backup data is included in an on-demand supplementary logical backup of the node cluster.

5. The networked computing system of claim 4 , wherein the operations further comprise:

accessing the supplementary backup data included in the on-demand supplementary logical backup of the node cluster; and

applying the node level filter to the supplementary backup data to identify the specific supplementary data rows associated with the new data written by the application during the restoration of the new node.

6. The networked computing system of claim 1 , wherein the specific data rows of the original backup data include data associated with the failed node and devoid of data associated with the existing nodes of the node cluster.

7. A method of node level recovery at a networked computing system including a node cluster, the method comprising:

identifying a failed node among existing nodes in the node cluster;

identifying and initiating a replacement node as a new node for the node cluster;

accessing original backup data of the node cluster;

identifying, based at least in part on applying a node level filter to the original backup data of the node cluster, specific data rows associated with the failed node;

restoring the specific data rows to the new node while refraining from restoring other data rows within the original backup data;

identifying new data written by an application, to the existing nodes of the node cluster, during restoration of the new node;

iteratively accessing supplementary backup data that includes the new data associated with both the existing nodes and the new node to identify, based at least in part on applying the node level filter to the supplementary backup data, specific supplementary data rows to be restored to the new node from the supplementary backup data; and

iteratively restoring the specific supplementary data rows identified by the node level filter to the new node while refraining from restoring other supplementary data rows within the supplementary backup data until the new node is synchronized with the existing nodes in the node cluster.

8. The method of claim 7 , further comprising:

detecting that no additional new data written by the application to the existing nodes during the restoration of the new node is identified; and

based on the detecting, determining that the new node is synchronized with the existing nodes in the node cluster.

9. The method of claim 7 , further comprising:

detecting that an amount of additional new data written by the application to the existing nodes during the restoration of the new node is below a pre-determined threshold level; and

based on the detecting, determining that the new node is synchronized with the existing nodes in the node cluster.

10. The method of claim 7 , wherein the supplementary backup data is included in an on-demand supplementary logical backup of the node cluster.

11. The method of claim 10 , further comprising:

accessing the supplementary backup data included in the on-demand supplementary logical backup of the node cluster; and

applying the node level filter to the supplementary backup data to identify the specific supplementary data rows associated with the new data written by the application during the restoration of the new node.

12. The method of claim 7 , wherein the specific data rows of the original backup data include data associated with the failed node and devoid of data associated with the existing nodes of the node cluster.

13. A non-transitory machine-readable medium including instructions, which when read by a machine, cause the machine to perform operations in a method of node level recovery at a networked computing system including a node cluster, the operations comprising at least:

identifying a failed node among existing nodes in the node cluster;

identifying and initiating a replacement node as a new node for the node cluster;

accessing original backup data of the node cluster;

identifying, based at least in part on applying a node level filter to the original backup data of the node cluster, specific data rows associated with the failed node;

restoring the specific data rows to the new node while refraining from restoring other data rows within the original backup data;

identifying new data written by an application, to the existing nodes of the node cluster, during restoration of the new node;

iteratively accessing supplementary backup data that includes the new data associated with both the existing nodes and the new node to identify, based at least in part on applying the node level filter to the supplementary backup data, specific supplementary data rows to be restored to the new node from the supplementary backup data; and

iteratively restoring the specific supplementary data rows identified by the node level filter to the new node while refraining from restoring other supplementary data rows within the supplementary backup data until the new node is synchronized with the existing nodes in the node cluster.

14. The non-transitory machine-readable medium of claim 13 , wherein the operations further comprise:

detecting that no additional new data written by the application to the existing nodes during the restoration of the new node is identified; and

based on the detecting, determining that the new node is synchronized with the existing nodes in the node cluster.

15. The non-transitory machine-readable medium of claim 13 , wherein the operations further comprise:

detecting that an amount of additional new data written by the application to the existing nodes during the restoration of the new node is below a pre-determined threshold value; and

based on the detecting, determining that the new node is synchronized with the existing nodes in the node cluster.

16. The non-transitory machine-readable medium of claim 13 , wherein the supplementary backup data is included in an on-demand supplementary logical backup of the node cluster.

17. The non-transitory machine-readable medium of claim 16 , wherein the operations further comprise:

accessing the supplementary backup data included in the on-demand supplementary logical backup of the node cluster; and

applying the node level filter to the supplementary backup data to identify the specific supplementary data rows associated with the new data written by the application during the restoration of the new node.

18. The non-transitory machine-readable medium of claim 13 , wherein the specific data rows of the original backup data include data associated with the failed node and devoid of data associated with the existing nodes of the node cluster.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2020
From: SARKAR, PRASENJIT; THAKUR, TARUN
To: RUBRIK, INC.
Reel/Frame 052141/0581 →
Continuity (1)
Related Publication 20210279151A1 · Sep 9, 2021