IP Library Granted Patent US 11,747,995
Granted Patent B2
US 11,747,995 · App. 17/569,699 · Granted Sep 5, 2023

Data resynchronization 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,747,995
App. No.
17/569,699
Granted
Sep 5, 2023
Kind
B2
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 (44)

1. A method of data resynchronization for 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;

in a synchronization mode, storing a replicated I/O stream in I/O logs;

forming a recoverable snapshot-log chain by applying the replicated I/O stream to the base snapshot; and

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

sending modified block data to an I/O log receiver service to resynchronize a state of the virtual disk; and

sending data to a replication target based at least on the resynchronized state of the virtual disk.

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 modified 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 modified block data to the I/O log receiver service.

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

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

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

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;

in a synchronization mode, storing a replicated I/O stream in I/O logs;

forming a recoverable snapshot-log chain by applying the replicated I/O stream to the base snapshot; and

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

sending modified block data to an I/O log receiver service to resynchronize a state of the virtual disk; and

sending data to a replication target based at least on the resynchronized state of the virtual disk.

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 modified 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 modified block data to the I/O log receiver service.

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

14. The system of claim 11 , wherein the active buffer and the passive buffer simultaneously switch roles based on a clearance of modified 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 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;

in a synchronization mode, storing a replicated I/O stream in I/O logs;

forming a recoverable snapshot-log chain by applying the replicated I/O stream to the base snapshot; and

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

sending modified block data to an I/O log receiver service to resynchronize a state of the virtual disk; and

sending data to a replication target based at least on the resynchronized state of the virtual disk.

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 modified 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 18 , wherein the active buffer reads and sends the modified block data to the I/O log receiver service.

20. The medium of claim 18 , wherein the passive buffer tracks the modified blocks.

21. The medium of claim 18 , 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. 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 Jan 10, 2022
From: CHEN, SHAOMIN; DING, LI; GOYAL, KUSHAAGRA; MITRA, ABHAY; MUNSHANI, KUNAL SEAN; CHAUBEY, SHASWAT; MEADOWCROFT, BENJAMIN TRAVIS
To: RUBRIK, INC.
Reel/Frame 058590/0219 →