IP Library Granted Patent US 11,609,775
Granted Patent B2
US 11,609,775 · App. 16/398,649 · Granted Mar 21, 2023

Systems and methods for continuous data protection comprising storage of completed I/O requests intercepted from an I/O stream using touch points

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)
Assignee: Rubrik, Inc.
G06F9/45558G06F11/0712G06F11/1464G06F11/1448G06F11/1469G06F11/1471G06F11/2023G06F11/2038G06F11/2097G06F2009/45579G06F2009/45587G06F2009/45595G06F2201/815G06F2201/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 11,609,775
App. No.
16/398,649
Granted
Mar 21, 2023
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 (50)

1. A method for continuous data protection for a virtual machine (VM) having a virtual disk, comprising:

accessing, at an interception point in an input/output I/O path, an I/O stream comprising records of completed I/O requests and records of uncompleted I/O requests exchanged between the VM and a virtualization server;

configuring an I/O touch point in the I/O stream, the I/O touch point associated with I/O request cancellation of uncompleted I/O requests;

filtering the I/O stream to intercept only the records of the completed I/O requests in the I/O stream using the I/O touch point;

storing, from among the records of the completed I/O requests and the records of the uncompleted I/O requests, only the records of the completed I/O requests at a backup site based at least in part on the filtering;

forming a recoverable snapshot-log chain by associating the records stored at the backup site with a snapshot;

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

sending data to the replication target based at least on a portion of the recoverable snapshot-log chain.

2. The method of claim 1 , further comprising:

establishing a filter framework at the interception point, the filter framework including an I/O stack and an I/O filter.

3. The method of claim 2 , wherein the virtualization server is an ESX hypervisor server, the method further comprising:

including a filter driver for the filter framework within the ESX hypervisor server.

4. The method of claim 2 , further comprising:

configuring a filter driver to intercept only the completed I/O requests in the I/O stream using the I/O touch point, wherein the snapshot is a full image snapshot.

5. The method of claim 4 , wherein the I/O request cancellation is a distributed I/O request cancellation of a plurality of I/O requests comprising a first set of completed I/O requests and a second set of uncompleted I/O requests, the method further comprising:

managing the distributed I/O request cancellation at the I/O stack and not at the I/O filter of the filter framework.

6. A system for continuous data protection for a virtual machine (VM) having a virtual disk, comprising:

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

a memory storing instructions executable by the at least one processor to cause the system to:

access, at an interception point in an input/output I/O path, an I/O stream comprising records of completed I/O requests and records of uncompleted I/O requests exchanged between the VM and a virtualization server;

configure an I/O touch point in the I/O stream, the I/O touch point associated with I/O request cancellation of uncompleted I/O requests;

filter the I/O stream to intercept only the records of the completed I/O requests in the I/O stream using the I/O touch point;

store, from among the records of the completed I/O requests and the records of the uncompleted I/O requests, only the records of the completed I/O requests at a backup site based at least in part on the filtering;

form a recoverable snapshot-log chain by associating the records stored at the backup site with a snapshot;

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

send data to the replication target based at least on a portion of the recoverable snapshot-log chain.

7. The system of claim 6 , wherein the instructions are further executable by the at least one processor to cause the system to:

establish a filter framework at the interception point, the filter framework including an I/O stack and an I/O filter.

8. The system of claim 7 , wherein the virtualization server is an ESX hypervisor server, and wherein the instructions are further executable by the at least one processor to cause the system to:

include a filter driver for the filter framework within the ESX hypervisor server.

9. The system of claim 7 , wherein the instructions are further executable by the at least one processor to cause the system to:

configure a filter driver to intercept only the completed I/O requests in the I/O stream using the I/O touch point, wherein the snapshot is a full image snapshot.

10. The system of claim 9 , wherein the I/O request cancellation is a distributed I/O request cancellation of a plurality of I/O requests comprising a first set of completed I/O requests and a second set of uncompleted I/O requests, and wherein the instructions are further executable by the at least one processor to cause the system to:

manage the distributed I/O request cancellation at the I/O stack and not at the I/O filter of the filter framework.

11. A non-transitory, machine-readable medium storing instructions for continuous data protection for a virtual machine (VM) having a virtual disk, wherein the instructions, when read by a machine, cause the machine to:

access, at an interception point in an input/output I/O path, an I/O stream comprising records of completed I/O requests and records of uncompleted I/O requests exchanged between the VM and a virtualization server;

configure an I/O touch point in the I/O stream, the I/O touch point associated with I/O request cancellation of uncompleted I/O requests;

filter the I/O stream to intercept only the records of the completed I/O requests in the I/O stream using the I/O touch point;

store, from among the records of the completed I/O requests and the records of the uncompleted I/O requests, only the records of the completed I/O requests at a backup site based at least in part on the filtering;

form a recoverable snapshot-log chain by associating the records stored at the backup site with a snapshot;

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

send data to the replication target based at least on a portion of the recoverable snapshot-log chain.

12. The non-transitory, machine-readable medium of claim 11 , wherein the instructions, when read by the machine, further cause the machine to:

establish a filter framework at the interception point, the filter framework including an I/O stack and an I/O filter.

13. The non-transitory, machine-readable medium of claim 12 , wherein the virtualization server is an ESX hypervisor server, and wherein the instructions, when read by the machine, further cause the machine to:

include a filter driver for the filter framework within the ESX hypervisor server.

14. The non-transitory, machine-readable medium of claim 12 , wherein the instructions, when read by the machine, further cause the machine to:

configure a filter driver to intercept only the completed I/O requests in the I/O stream using the I/O touch point, and wherein the snapshot is a full image snapshot.

15. The non-transitory, machine-readable medium of claim 14 , wherein the I/O request cancellation is a distributed I/O request cancellation of a plurality of I/O requests comprising a first set of completed I/O requests and a second set of uncompleted I/O requests, and wherein the instructions, when read by the machine, further cause the machine to:

manage the distributed I/O request cancellation at the I/O stack and not at the I/O filter of the filter framework.

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
To: RUBRIK, INC.
Reel/Frame 052675/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: MEADOWCROFT, BENJAMIN TRAVIS; DING, LI; CHEN, SHAOMIN; VOHRA, HARDIK; BANERJEE, ARIJIT; MITRA, ABHAY; GOYAL, KUSHAAGRA; MISHRA, ARNAV GAUTUM; CHAUDHRY, SAMIR RISHI; SWAROOP, SUMAN
To: RUBRIK, INC.
Reel/Frame 052038/0428 →
Cited By (2)
US 12,259,796 US 12,554,594