IP Library Granted Patent US 12,298,862
Granted Patent B2
US 12,298,862 · App. 17/526,288 · Granted May 13, 2025

Multi-channel backup system

Inventors: Vaibhav Bhagee (Delhi, IN); Abhishek Goyal (Punjab, IN); Nicolas Groh (Marignac Laspeyres, FR); Kshitiz Jain (Bengaluru, IN); Nitin Rathor (Mountain View, CA); Sankaran Sivathanu (Chennai Tamilnadu, IN); Toshad Salwekar (Palo Alto, CA); Alok Srivastava (Bangalore, IN)
Assignee: Rubrik, Inc.
G06F11/1464G06F16/182G06F2201/84
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,298,862
App. No.
17/526,288
Granted
May 13, 2025
Kind
B2
Abstract

Methods, systems, and computer programs are presented for backing up data to a distributed multichannel storage system. One method includes an operation for detecting, by a distributed backup system (DBS), a request for backing up data from a host to the distributed backup system. The DBS sends a request to a backup agent executing at the host to initiate the backup. The backup agent mounts an endpoint for writing to the DBS and executes a script that writes the data for the backup to the endpoint. Further, the method includes operations for creating a file system stack at the DBS associated with the endpoint, storing data received by the file system stack at the DBS, and detecting, by the DBS, an end of the backup. The DBS sends a command to the backup agent to end the backup and terminates the file system stack at the DBS.

Claims (64)

1. A computer-implemented method comprising:

detecting, by a distributed backup system, a request for backing up data from a host to the distributed backup system;

sending a request, from the distributed backup system to a backup agent executing at the host, to initiate a backup, wherein, based on the request to initiate the backup, the backup agent:

mounts a first network file share endpoint at the host for writing to the distributed backup system and executes a first script that writes a first portion of the data for the backup to the first network file share endpoint; and

mounts a second network file share endpoint at the host for writing to the distributed backup system and executes a second script that writes a second portion of the data for backup to the second network file share endpoint;

creating, based at least in part on sending the request to initiate the backup:

a first file system stack at a first node of the distributed backup system that provides a first path to the first network file share endpoint at the host via a first network file share client at the distributed backup system, wherein the first network file share client is at the first node; and

a second file system stack at a second node of the distributed backup system that provides a second path to the second network file share endpoint at the host via a second network file share client at the distributed backup system, wherein the second network file share client is at the second node,

storing data received by the first file system stack and the second file system stack at the distributed backup system, wherein the first portion of the data for the backup is received by the first file system stack at the first node, and wherein the second portion of the data for the backup is received by the second file system stack at the second node;

detecting, by the distributed backup system, an end of the backup;

sending a command, in response to detecting the end of the backup and from the distributed backup system to the backup agent executing at the host, to end the backup; and

terminating the first file system stack and the second file system stack at the distributed backup system in response to detecting the end of the backup.

2. The computer-implemented method as recited in claim 1 , further comprising:

in response to the command to end the backup, unmounting the first network file share endpoint by the backup agent.

3. The computer-implemented method as recited in claim 1 , wherein the distributed backup system comprises a plurality of nodes, wherein the first file system stack is created at one node from the plurality of nodes, wherein an internet protocol (IP) address of the one node with the first file system stack is provided to the backup agent.

4. The computer-implemented method as recited in claim 3 , further comprising:

providing a plurality of channels for backing up data from the host to the plurality of nodes.

5. The computer-implemented method as recited in claim 1 , further comprising:

providing a plurality of endpoints at the distributed backup system, the plurality of endpoints being in communication with the first file system stack for backing up data.

6. The computer-implemented method as recited in claim 5 , wherein the plurality of endpoints comprises the first network file share endpoint and a Server Message Block (SMB) endpoint.

7. The computer-implemented method as recited in claim 1 , wherein the request for backing up data is generated by the distributed backup system based on a service level agreement (SLA).

8. The computer-implemented method as recited in claim 7 , wherein the SLA defines one or more of frequency of full backups, frequency of incremental backups, and amount of time to retain the full backups and the incremental backups.

9. The computer-implemented method as recited in claim 1 , wherein an availability of a managed volume for backing up the data comprises a plurality of states comprising export requested, exported, resize requested, unexport requested, and destroyed.

10. The computer-implemented method as recited in claim 1 , further comprising:

initializing parameters of the backup agent when backing up of data is initially configured by the distributed backup system, the parameters comprising an IP address of a node for backing up the data, type of endpoint, and the first script to be executed for backing up data.

11. The computer-implemented method as recited in claim 1 , further comprising:

creating, prior to creation of the first file system stack and based at least in part on sending the request to initiate the backup, a third file system stack at a third node of the distributed backup system that provides a third path to a third network file share endpoint at the host via a third network file share client at the third node, wherein the first file system stack is created at the first node of the distributed backup system based at least in part on a failure condition or a traffic condition at the third node.

12. The computer-implemented method as recited in claim 1 , wherein detecting the request for backing up data comprises determining, in accordance with a service level agreement, that a scheduled time for an ingest of data from the host is satisfied, wherein sending the request to initiate the backup is in response to determining that the scheduled time for the ingest of data from the host is satisfied.

13. A system comprising:

a memory comprising instructions; and

one or more computer processors, wherein the instructions, when executed by the one or more computer processors, cause the system to perform operations comprising:

detecting, by a distributed backup system, a request for backing up data from a host to the distributed backup system;

sending a request, from the distributed backup system to a backup agent executing at the host, to initiate a backup, wherein, based on the request to initiate the backup, the backup agent:

mounts a first network file share endpoint at the host for writing to the distributed backup system and executes a first script that writes a first portion of the data for the backup to the first network file share endpoint; and

mounts a second network file share endpoint at the host for writing to the distributed backup system and executes a second script that writes a second portion of the data for backup to the second network file share endpoint;

creating, based at least in part on sending the request to initiate the backup:

a first file system stack at a first node of the distributed backup system that provides a first path to the first network file share endpoint at the host via a first network file share client at the distributed backup system, wherein the first network file share client is at the first node; and

a second file system stack at a second node of the distributed backup system that provides a second path to the second network file share endpoint at the host via a second network file share client at the distributed backup system, wherein the second network file share client is at the second node,

storing data received by the first file system stack and the second file system stack at the distributed backup system, wherein the first portion of the data for the backup is received by the first file system stack at the first node, and wherein the second portion of the data for the backup is received by the second file system stack at the second node;

detecting, by the distributed backup system, an end of the backup;

sending a command, in response to detecting the end of the backup and from the distributed backup system to the backup agent executing at the host, to end the backup; and

terminating the first file system stack and the second file system stack at the distributed backup system in response to detecting the end of the backup.

14. The system as recited in claim 13 , wherein the instructions further cause the one or more computer processors to perform operations comprising:

in response to the command to end the backup, unmounting the first network file share endpoint by the backup agent.

15. The system as recited in claim 13 , wherein the distributed backup system comprises a plurality of nodes, wherein the first file system stack is created at one node from the plurality of nodes, wherein an internet protocol (IP) address of the one node with the first file system stack is provided to the backup agent.

16. The system as recited in claim 15 , wherein the instructions further cause the one or more computer processors to perform operations comprising:

providing a plurality of channels for backing up data from the host to the plurality of nodes.

17. The system as recited in claim 13 , wherein the instructions further cause the one or more computer processors to perform operations comprising:

providing a plurality of endpoints at the distributed backup system, the plurality of endpoints being in communication with the first file system stack for backing up data.

18. The system as recited in claim 13 , wherein detecting the request for backing up data comprises determining, in accordance with a service level agreement, that a scheduled time for an ingest of data from the host is satisfied, wherein sending the request to initiate the backup is in response to determining that the scheduled time for the ingest of data from the host is satisfied.

19. A non-transitory machine-readable storage medium including instructions that, when executed by a machine, cause the machine to perform operations comprising:

detecting, by a distributed backup system, a request for backing up data from a host to the distributed backup system;

sending a request, from the distributed backup system to a backup agent executing at the host, to initiate a backup, wherein, based on the request to initiate the backup, the backup agent:

mounts a first network file share endpoint at the host for writing to the distributed backup system and executes a first script that writes a first portion of the data for the backup to the first network file share endpoint; and

mounts a second network file share endpoint at the host for writing to the distributed backup system and executes a second script that writes a second portion of the data for backup to the second network file share endpoint;

creating, based at least in part on sending the request to initiate the backup:

a first file system stack at a first node of the distributed backup system that provides a first path to the first network file share endpoint at the host via a first network file share client at the distributed backup system, wherein the first network file share client is at the first node; and

a second file system stack at a second node of the distributed backup system that provides a second path to the second network file share endpoint at the host via a second network file share client at the distributed backup system, wherein the second network file share client is at the second node,

storing data received by the first file system stack and the second file system stack at the distributed backup system, wherein the first portion of the data for the backup is received by the first file system stack at the first node, and wherein the second portion of the data for the backup is received by the second file system stack at the second node;

detecting, by the distributed backup system, an end of the backup;

sending a command, in response to detecting the end of the backup and from the distributed backup system to the backup agent executing at the host, to end the backup; and

terminating the first file system stack and the second file system stack at the distributed backup system in response to detecting the end of the backup.

20. The non-transitory machine-readable storage medium as recited in claim 19 , wherein the instructions, when executed by the machine, cause the machine to further perform operations comprising:

in response to the command to end the backup, unmounting the first network file share endpoint by the backup agent.

Assignments (4)
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 9, 2022
From: JAIN, KSHITIZ; RATHOR, NITIN; SIVATHANU, SANKARAN; SALWEKAR, TOSHAD; SRIVASTAVA, ALOK
To: RUBRIK, INC.
Reel/Frame 059206/0275 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2021
From: BHAGEE, VAIBHAV; GOYAL, ABHISHEK; GROH, NICOLAS
To: RUBRIK, INC.
Reel/Frame 058333/0126 →
Priority Claims (1)
IN 202141043689 · Sep 27, 2021 · national
Continuity (1)
Related Publication 20230105187A1 · Apr 6, 2023
References Cited (11)
US 9830082B1 · Srinivasan · 2017 [cited by examiner]
US 20080147997A1 · Littlefield · 2008 [cited by examiner]
US 20100169587A1 · Atluri · 2010 [cited by examiner]
US 20160063029A1 · Mu · 2016 [cited by examiner]
US 20160224434A1 · Winokur · 2016 [cited by examiner]
US 20160239388A1 · Joseph · 2016 [cited by examiner]
US 20160350015A1 · Luo · 2016 [cited by examiner]
US 20170315872A1 · Prabhu · 2017 [cited by examiner]
US 20170315877A1 · Kaplingat · 2017 [cited by examiner]
US 20180095915A1 · Prabhakar · 2018 [cited by examiner]
US 20220058267A1 · Chow · 2022 [cited by examiner]