IP Library Granted Patent US 11,126,508
Granted Patent B2
US 11,126,508 · App. 16/398,539 · Granted Sep 21, 2021

Systems and methods for continuous data protection

Inventors: Benjamin Travis Meadowcroft (San Jose, CA); Li Ding (Cupertino, CA); Shaomin Chen (San Jose, CA); Hardik Vohra (Sunnyvale, CA); Arijit Banerjee (Palo Alto, CA); Abhay Mitra (Santa Clara, CA); Kushaagra Goyal (Mountain View, CA); Arnav Gautum Mishra (San Jose, CA); Samir Rishi Chaudhry (Saratoga, CA); Suman Swaroop (Palo Alto, CA); Kunal Sean Munshani (Fremont, CA); Mudit Malpani (Mountain View, CA); Abhishek Modi (Sunnyvale, CA)
Assignee: Rubrik, Inc.
G06F11/1466G06F3/065G06F3/067G06F3/0611G06F3/0619G06F3/0656G06F3/0667G06F11/1464G06F11/1471
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,126,508
App. No.
16/398,539
Granted
Sep 21, 2021
Kind
B2
Abstract

Example embodiments relate generally to systems and methods for continuous data protection (CDP) and more specifically to an input and output (I/O) filtering framework and log management system to seek a near-zero recovery point objective (RPO).

Claims (44)

1. A method for optimizing a recovery point objective (RPO) for a virtual machine (VM) having a virtual disk, the method comprising at least the following operations:

storing a base snapshot of the virtual disk;

implementing an I/O filter framework to intercept an I/O stream between the VM and a virtualization server, the I/O filter framework to provide one or more configurable interception points of the I/O stream during an I/O lifecycle;

receiving, at a log receiver, I/O data from an I/O stream intercepted at a configured interception point, between the VM and a virtualization server;

storing, at the log receiver, the I/O data as a plurality of log chains in one or more log files, the one or more log files at least including an open log file;

identifying the open log file to be replicated at the log receiver, the open log file receiving the I/O data from the I/O filter framework intercepting the I/O stream;

associating a log chain in the plurality of log chains with the base snapshot to form a recoverable snapshot-log chain;

receiving a request for recoverable data from a replication target; and

transmitting the requested data to the replication target including at least a portion of the recoverable snapshot-log chain.

2. The method of claim 1 , wherein the operations further comprise establishing an instance of a log replication sender at the log receiver to communicate with a log replication receiver at the replication target.

3. The method of claim 2 , wherein the operations further comprise configuring the log replication receiver at the replication target to run at an unmodified existing snapshot recovery service.

4. The method of claim 2 , wherein the operations further comprise configuring a CDP metadata service to communicate with the log replication sender and the log replication receiver.

5. The method of claim 4 , wherein the operations further comprise configuring the log replication sender to identify a log file to be replicated and, based on the identified log file including a closed file, including the contents of the log file in a closed replication.

6. The method of claim 4 , wherein the operations further comprise configuring the log replication sender to identify a log file to be replicated and, based on the identified log file including an open file receiving I/O data, including the I/O data in a live replication.

7. A system for optimizing a recovery point objective (RPO) for a virtual machine (VM) having a virtual disk, the system comprising:

at least one processor for executing machine-readable instructions; and

a memory storing instructions configured to cause the at least one processor to perform operations comprising, at least:

storing a base snapshot of the virtual disk;

implementing an I/O filter framework to intercept an I/O stream between the VM and a virtualization server, the I/O filter framework to provide one or more configurable interception points of the I/O stream during an I/O lifecycle;

receiving, at a log receiver, I/O data from an I/O stream intercepted at a configured interception point, between the VM and a virtualization server;

storing, at the log receiver, the I/O data as a plurality of log chains in one or more log files, the one or more log files at least including an open log file;

identifying the open log file to be replicated at the log receiver, the open log file receiving the I/O data from the I/O filter framework intercepting the I/O stream;

associating a log chain in the plurality of log chains with the base snapshot to form a recoverable snapshot-log chain;

receiving a request for recoverable data from a replication target; and

transmitting the requested data to the replication target including at least a portion of the recoverable snapshot-log chain.

8. The system of claim 7 , wherein the operations further comprise establishing an instance of a log replication sender at the log receiver to communicate with a log replication receiver at the replication target.

9. The system of claim 8 , wherein the operations further comprise configuring the log replication receiver at the replication target to run at an unmodified existing snapshot recovery service.

10. The system of claim 8 , wherein the operations further comprise configuring a CDP metadata service to communicate with the log replication sender and the log replication receiver.

11. The system of claim 10 , wherein the operations further comprise configuring the log replication sender to identify a log file to be replicated and, based on the identified log file including a closed file, including the contents of the log file in a closed replication.

12. The system of claim 10 , wherein the operations further comprise configuring the log replication sender to identify a log file to be replicated and, based on the identified log file including an open file receiving I/O data, including the data in a live replication.

13. A non-transitory, machine-readable medium storing instructions which, when read by a machine, cause the machine to perform operations in a method of optimizing a recovery point objective (RPO) for a virtual machine (VM) having a virtual disk, the operations comprising, at least:

storing a base snapshot of the virtual disk;

implementing an I/O filter framework to intercept an I/O stream between the VM and a virtualization server, the I/O filter framework to provide one or more configurable interception points of the I/O stream during an I/O lifecycle;

receiving, at a log receiver, I/O data from an I/O stream intercepted at a configured interception point, between the VM and a virtualization server;

storing, at the log receiver, the I/O data as a plurality of log chains in one or more log files, the one or more log files at least including an open log file;

identifying the open log file to be replicated at the log receiver, the open log file receiving the I/O data from the I/O filter framework intercepting the I/O stream;

associating a log chain in the plurality of log chains with the base snapshot to form a recoverable snapshot-log chain;

receiving a request for recoverable data from a replication target; and

transmitting the requested data to the replication target including at least a portion of the recoverable snapshot-log chain.

14. The medium of claim 13 , wherein the operations further comprise establishing an instance of a log replication sender at the log receiver to communicate with a log replication receiver at the replication target.

15. The medium of claim 14 , wherein the operations further comprise configuring the log replication receiver at the replication target to run at an unmodified existing snapshot recovery service.

16. The medium of claim 14 , wherein the operations further comprise configuring a CDP metadata service to communicate with the log replication sender and the log replication receiver.

17. The medium of claim 16 , wherein the operations further comprise configuring the log replication sender to identify a log file to be replicated and, based on the identified log file including a closed file, including the contents of the log file in a closed replication.

18. The medium of claim 16 , wherein the operations further comprise configuring the log replication sender to identify a log file to be replicated and, based on the identified log file including an open file receiving I/O data, including the I/O data in a live replication.

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 May 15, 2020
From: MUNSHANI, KUNAL SEAN; MALPANI, MUDIT; MODI, ABHISHEK
To: RUBRIK, INC.
Reel/Frame 052675/0629 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: MITRA, ABHAY; MEADOWCROFT, BENJAMIN TRAVIS; DING, LI; CHEN, SHAOMIN; VOHRA, HARDIK; BANERJEE, ARIJIT; GOYAL, KUSHAAGRA; MISHRA, ARNAV GAUTUM; CHAUDHRY, SAMIR RISHI; SWAROOP, SUMAN
To: RUBRIK, INC.
Reel/Frame 052038/0822 →
Cited By (1)
US 12,379,953