IP Library Granted Patent US 12,411,975
Granted Patent B2
US 12,411,975 · App. 18/094,918 · Granted Sep 9, 2025

Incremental synchronization of metadata

Inventors: Vijay Karthik (Santa Clara, CA); Akhilesh Krishnan (Sunnyvale, CA); Dhawal Upadhyay (Mountain View, CA); Kevin Mu (Santa Clara, CA)
Assignee: Rubrik, Inc.
G06F21/6227G06F11/1464G06F16/25G06F16/27G06F16/275G06F21/6272G06F16/2322
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 12,411,975
App. No.
18/094,918
Granted
Sep 9, 2025
Kind
B2
Abstract

Methods, systems, and devices for data management are described. Data management clusters may be configured to store metadata associated with providing data protection for a set of computing objects. A data management cluster may be triggered to export respective metadata to a cloud environment, where the respective metadata may be associated with providing data protection for one or more of the computing objects. Based on the export operation being triggered, the respective metadata may be downloaded from the cloud environment and written to a database that is configured to store a version of the metadata associated with providing the data protection for the set of computing objects. An interface for managing the operation of the data management clusters may be provided, where a content of the interface may reflect the version of the metadata stored at the database.

Claims (67)

1. A system, comprising:

a set of data management clusters configured to provide data protection for a set of computing objects and to store metadata associated with providing the data protection for the set of computing objects, and

a management system for managing an operation of the set of data management clusters, wherein the management system is coupled with the set of data management clusters via a plurality of network connections and configured to:

trigger a data management cluster of the set of data management clusters to export, to a cloud environment, respective metadata for the data management cluster, wherein the respective metadata for the data management cluster is associated with providing the data protection for one or more computing objects of the set of computing objects,

download from the cloud environment, after triggering the export, the respective metadata for the data management cluster,

write the downloaded metadata for the data management cluster to a database configured to store a version of the metadata associated with providing the data protection for the set of computing objects, and

provide an interface for managing the operation of the set of data management clusters, wherein a content of the interface reflects the version of the metadata associated with providing the data protection for the set of computing objects, the reflected version of the metadata based at least in part on the downloaded metadata for the data management cluster.

2. The system of claim 1 , wherein the set of data management clusters comprises:

monotonically increasing time sources that indicate elapsed times since respective reference events, wherein the data management cluster exports the respective metadata with a timestamp obtained using a monotonically increasing time source of the data management cluster.

3. The system of claim 1 , wherein, based at least in part on the management system triggering the data management cluster to export the respective metadata, the data management cluster is configured to:

export, to respective paths of the cloud environment as data objects, respective information for one or more metadata tables hosted at the data management cluster.

4. The system of claim 3 , wherein the respective information for the one or more metadata tables comprises one or more rows of respective metadata tables.

5. The system of claim 4 , wherein the one or more rows exported to the cloud environment are associated with updates having timestamps that are later than a timestamp of a prior export operation.

6. The system of claim 1 , wherein the management system is further configured to:

monitor, based at least in part on triggering the data management cluster to export the respective metadata, one or more paths in the cloud environment for respective information exported by the data management cluster and associated with one or more metadata tables hosted at the data management cluster,

wherein, to download the respective metadata for the data management cluster, the management system is further configured to download portions of the respective information that are fully uploaded to respective paths of one or more paths in the cloud environment.

7. The system of claim 6 , wherein, based at least in part on downloading the respective metadata for the data management cluster, the management system is further configured to:

determine, based at least in part on downloading the one or more metadata tables, dependencies for the one or more metadata tables; and

arrange the one or more metadata tables in accordance with the dependencies.

8. The system of claim 7 , wherein, to write the downloaded metadata to the database, the management system is further configured to:

write the one or more metadata tables into the database in accordance with an arrangement of the one or more metadata tables that results from the arranging, wherein the management system is configured to write independent metadata tables of the one or more metadata tables in parallel.

9. The system of claim 6 , wherein the management system comprises:

a plurality of nodes configured to execute loading jobs, wherein the loading jobs are configured to cause the management system to:

download, from the cloud environment, respective data objects of one or more data objects in the cloud environment; and

write respective metadata tables corresponding to the respective data objects into the database.

10. The system of claim 6 , wherein, to write the downloaded metadata to the database, the management system is further configured to:

determine, for rows of the one or more metadata tables, whether corresponding rows exist in the database; and

write, to the database, rows of the one or more metadata tables for which a corresponding row is missing from the database.

11. The system of claim 6 , wherein, to write the downloaded metadata to the database, the management system is further configured to:

determine, for rows of the one or more metadata tables, whether corresponding rows exist in the database;

identify, from among those rows of the one or more metadata tables for which corresponding rows exist in the database, rows having first timestamps that are later than respective second timestamps for the corresponding rows in the database; and

write, to the database, the identified rows based at least in part on the first timestamps of the written rows being later than the respective second timestamps for the corresponding rows in the database.

12. The system of claim 11 , wherein, to write the downloaded metadata to the database, the management system is further configured to:

determine, for the identified rows, whether values in the identified rows are different than values in the corresponding rows in the database, wherein the written rows being written to the database is further based at least in part on the values in the written rows being different than the values in the corresponding rows in the database.

13. The system of claim 6 , wherein, to write the downloaded metadata to the database, the management system is further configured to:

determine, for rows of the one or more metadata tables, whether respective version numbers match a version number of a loading job for writing the respective metadata for the data management cluster to the database, the respective version numbers corresponding to a version number of a prior loading job; and

write, to the database, rows of the one or more metadata tables for which there is a mismatch with the version number of the loading job.

14. The system of claim 1 , wherein:

the version of the metadata stored by the database comprises a plurality of metadata tables that include:

a first column for indicating a version of a loading job that wrote a respective row to the database, and

a second column for indicating an instance of the loading job that wrote the respective row to the database; and

the database comprises a table that stores respective versions of one or more loading jobs running at the management system.

15. The system of claim 1 , wherein the management system is further configured to:

identify information at the data management cluster that has been deleted or marked as deleted based at least in part on the downloaded metadata; and

delete corresponding information from the version of the metadata based at least in part on the information that has been deleted or marked as deleted.

16. The system of claim 1 , wherein the management system is configured to write the downloaded metadata to a first set of rows of a first set of metadata tables in the database, and wherein the management system is further configured to:

update a second set of rows in a second set of metadata tables in the database based at least in part on writing the downloaded metadata to the first set of rows of the first set of metadata tables.

17. The system of claim 1 , wherein the management system is further configured to:

monitor, for respective data management clusters of the set of data management clusters, for a time at which a last successful metadata synchronization procedure was performed; and

schedule metadata synchronization procedures for the respective data management clusters based at least in part on the monitoring.

18. A method, comprising:

triggering, by a management system that is coupled with a set of data management clusters that provide data protection for a set of computing objects and store metadata associated with providing the data protection for the set of computing objects, a data management cluster of the set of data management clusters to export, to a cloud environment, respective metadata for the data management cluster, wherein:

the respective metadata for the data management cluster is associated with providing the data protection for one or more computing objects of the set of computing objects, and

the management system is coupled with the set of data management clusters via a plurality of network connections:

downloading, by the management system, from the cloud environment, after triggering the export, the respective metadata for the data management cluster;

writing, by the management system, the downloaded metadata for the data management cluster to a database configured to store a version of the metadata associated with providing the data protection for the set of computing objects; and

providing, by the management system, an interface for managing an operation of the set of data management clusters, wherein a content of the interface reflects the version of the metadata associated with providing the data protection for the set of computing objects, the reflected version of the metadata based at least in part on the downloaded metadata for the data management cluster.

19. The method of claim 18 , further comprising:

monitoring, based at least in part on triggering the data management cluster to export the respective metadata, one or more paths in the cloud environment for respective information exported by the data management cluster and associated with one or more metadata tables hosted at the data management cluster,

wherein downloading the respective metadata for the data management cluster comprises downloading portions of the respective information that are fully uploaded to respective paths of one or more paths in the cloud environment.

20. A non-transitory, computer-readable medium storing code that comprises instructions executable by a processor of an electronic device to cause the electronic device to:

trigger, by a management system that is coupled with a set of data management clusters that provide data protection for a set of computing objects and store metadata associated with providing the data protection for the set of computing objects, a data management cluster of the set of data management clusters to export, to a cloud environment, respective metadata for the data management cluster, wherein:

the respective metadata for the data management cluster is associated with providing the data protection for one or more computing objects of the set of computing objects, and

the management system is coupled with the set of data management clusters via a plurality of network connections:

download, by the management system, from the cloud environment, after triggering the export, the respective metadata for the data management cluster;

write, by the management system, the downloaded metadata for the data management cluster to a database configured to store a version of the metadata associated with providing the data protection for the set of computing objects; and

provide, by the management system, an interface for managing an operation of the set of data management clusters, wherein a content of the interface reflects the version of the metadata associated with providing the data protection for the set of computing objects, the reflected version of the metadata based at least in part on the downloaded metadata for the data management cluster.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64659/0236 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071566/0187 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 21, 2023
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 064659/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2023
From: KARTHIK, VIJAY; KRISHNAN, AKHILESH; UPADHYAY, DHAWAL; MU, KEVIN
To: RUBRIK, INC.
Reel/Frame 062713/0420 →
Continuity (1)
Related Publication 20240232418A1 · Jul 11, 2024
References Cited (8)
US 20170031779A1 · Helliker · 2017 [cited by examiner]
US 20180018346A1 · Esaka · 2018 [cited by examiner]
US 20200341856A1 · Chen · 2020 [cited by examiner]
US 20210124826A1 · Matsuda · 2021 [cited by examiner]
US 20230142346A1 · Menezes · 2023 [cited by examiner]
US 20230289347A1 · Gibson · 2023 [cited by examiner]
US 20240296099A1 · Mishra · 2024 [cited by examiner]
US 20250061090A1 · Khobragade · 2025 [cited by examiner]