IP Library Granted Patent US 11,249,655
Granted Patent B1
US 11,249,655 · App. 17/114,130 · Granted Feb 15, 2022

Data resychronization methods and systems in continuous data protection

Inventors: Shaomin Chen (San Jose, CA); Li Ding (Cupertino, CA); Kushaagra Goyal (Cupertino, CA); Abhay Mitra (Santa Clara, CA); Kunal Sean Munshani (Fremont, CA); Shaswat Chaubey (Mountain View, CA); Benjamin Travis Meadowcroft (Lincoln, CA)
Assignee: Rubrik, Inc.
G06F3/0619G06F3/065G06F3/0673G06F11/1464G06F9/45558G06F2009/45579G06F2009/45583G06F2009/45587G06F2201/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,249,655
App. No.
17/114,130
Granted
Feb 15, 2022
Kind
B1
Abstract

Example embodiments relate generally to data resynchronization methods and systems in 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 (56)

1. A method of data resynchronization in continuous data protection of a virtual machine (VM) having a virtual disk, the method comprising at least the following operations:

obtaining a base snapshot of the virtual disk;

intercepting, at an interception point in an I/O path, a virtual disk I/O stream between the VM and a virtualization server;

replicating the I/O stream at a backup site;

in a synchronization mode, storing the replicated I/O stream at the backup site in I/O logs;

forming a recoverable snapshot-log chain by applying the replicated I/O stream stored in the I/O logs on top of the base snapshot;

based on an interruption or discontinuity in the I/O stream, in a resynchronization mode:

maintaining a bitmap,

marking dirty blocks in the bitmap, and

sending corresponding dirty block data to a log receiver service to resynchronize a virtual disk state at the log receiver service;

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 , wherein the operations further comprise 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 I/O filter maintains at least two bitmap buffers for tracking the dirty blocks.

4. The method of claim 3 , wherein the at least two bitmap buffers include an active buffer and a passive buffer.

5. The method of claim 4 , wherein the active buffer reads and sends the dirty block data to the log receiver service.

6. The method of claim 4 , wherein the passive buffer tracks the dirty blocks.

7. The method of claim 4 , wherein the active buffer and the passive buffer simultaneously switch roles based on a clearance of dirty blocks from the active buffer.

8. A system for data resynchronization in continuous data protection of 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:

obtaining a base snapshot of the virtual disk;

intercepting, at an interception point in an I/O path, a virtual disk I/O stream between the VM and a virtualization server;

replicating the I/O stream at a backup site;

in a synchronization mode, storing the replicated I/O stream at the backup site in I/O logs;

forming a recoverable snapshot-log chain by applying the replicated I/O stream stored in the I/O logs on top of the base snapshot;

based on an interruption or discontinuity in the I/O stream, in a resynchronization mode:

maintaining a bitmap,

marking dirty blocks in the bitmap, and

sending corresponding dirty block data to a log receiver service to resynchronize a virtual disk state at the log receiver service;

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.

9. The system of claim 8 , wherein the operations further comprise establishing a filter framework at the interception point, the filter framework including an I/O stack and an I/O filter.

10. The system of claim 9 , wherein the I/O filter maintains at least two bitmap buffers for tracking the dirty blocks.

11. The system of claim 10 , wherein the at least two bitmap buffers include an active buffer and a passive buffer.

12. The system of claim 11 , wherein the active buffer reads and sends the dirty block data to the log receiver service.

13. The system of claim 11 , wherein the passive buffer tracks the dirty blocks.

14. The system of claim 11 , wherein the active buffer and the passive buffer simultaneously switch roles based on a clearance of dirty blocks from the active buffer.

15. A non-transitory, machine-readable medium storing instructions which, when read by a machine, cause the machine to perform operations in a method of data resynchronization in continuous data protection for a virtual machine (VM) having a virtual disk, the operations comprising, at least:

obtaining a base snapshot of the virtual disk;

intercepting, at an interception point in an I/O path, a virtual disk I/O stream between the VM and a virtualization server;

replicating the I/O stream at a backup site;

in a synchronization mode, storing the replicated I/O stream at the backup site in I/O logs;

forming a recoverable snapshot-log chain by applying the replicated I/O stream stored in the I/O logs on top of the base snapshot;

based on an interruption or discontinuity in the I/O stream, in a resynchronization mode:

maintaining a bitmap,

marking dirty blocks in the bitmap, and

sending corresponding dirty block data to a log receiver service to resynchronize a virtual disk state at the log receiver service;

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.

16. The medium of claim 15 , wherein the operations further comprise establishing a filter framework at the interception point, the filter framework including an I/O stack and an I/O filter.

17. The medium of claim 16 , wherein the I/O filter maintains at least two bitmap buffers for tracking the dirty blocks.

18. The medium of claim 17 , wherein the at least two bitmap buffers include an active buffer and a passive buffer.

19. The medium of claim 17 , wherein the active buffer reads and sends the dirty block data to the log receiver service.

20. The medium of claim 17 , wherein the passive buffer tracks the dirty blocks.

21. The medium of claim 17 , wherein the active buffer and the passive buffer simultaneously switch roles based on a clearance of dirty data blocks from the active buffer.

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 Dec 14, 2020
From: CHEN, SHAOMIN; DING, LI; GOYAL, KUSHAAGRA; MITRA, ABHAY; MUNSHANI, KUNAL SEAN; CHAUBEY, SHASWAT; MEADOWCROFT, BENJAMIN TRAVIS
To: RUBRIK, INC.
Reel/Frame 054634/0345 →
Cited By (2)
US 12,204,503 US 12,608,282