IP Library Granted Patent US 12,360,855
Granted Patent B1
US 12,360,855 · App. 16/867,499 · Granted Jul 15, 2025

Systems and methods for protecting data

Inventors: Shilpa Umarjee (Pune, IN); Vaijayanti Bharadwaj (Pune, IN); Chirag Dalal (Pune, IN)
Assignee: Cohesity, Inc.
G06F11/1464G06F9/45558G06F11/1451G06F2009/45583G06F2009/45595G06F2201/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,360,855
App. No.
16/867,499
Granted
Jul 15, 2025
Kind
B1
Abstract

The disclosed computer-implemented method for protecting data may include (i) detecting that a data storage protection protocol for backing up a virtual machine is switching from a hypervisor native snapshot solution to a continuous data protection solution, (ii) toggling, at a specific toggling time, an input/output tap to switch to the continuous data protection solution, (iii) capturing, at a specific snapshot time and in response to switching to the continuous data protection solution, an incremental snapshot that includes differences in the virtual machine between a last snapshot captured prior to the specific toggling time and the specific snapshot time, and (iv) generating a synthetic snapshot based on a combination of the incremental snapshot captured at the specific snapshot time and a set of at least one snapshot taken prior to the specific toggling time. Various other methods, systems, and computer-readable media are also disclosed.

Claims (40)

1. A computer-implemented method for protecting data, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

detecting that a data storage protection protocol for backing up a virtual machine is switching from a hypervisor native snapshot solution to a continuous data protection solution;

toggling, at a specific toggling time, an input/output tap to switch to the continuous data protection solution, wherein the input/output tap records each of a plurality of write operations performed on the virtual machine upon activation;

querying, at a specific snapshot time after the specific toggling time, the continuous data protection solution to determine a previous capture of data corresponding to differences in the virtual machine from the specific toggling time to the specific snapshot time;

capturing, at the specific snapshot time, an incremental snapshot corresponding to differences in the virtual machine, from a last snapshot time of a last snapshot captured prior to the specific toggling time to the specific snapshot time, that is absent from the previous capture of data, wherein the switching from the hypervisor native snapshot solution to the continuous data protection solution is finalized upon capturing the incremental snapshot; and

generating a synthetic snapshot based on a combination of the incremental snapshot captured at the specific snapshot time and a set of at least one snapshot taken prior to the specific toggling time;

wherein the continuous data protection solution synchronizes the specific snapshot time with a matching time such that a last block written as part of the incremental snapshot is the same as a last block written within the continuous data protection solution at the matching time marked within the continuous data protection solution.

2. The computer-implemented method of claim 1 , wherein the continuous data protection solution utilizes the input/output tap to send input/output operations to a gateway.

3. The computer-implemented method of claim 1 , wherein generating the synthetic snapshot based on the combination of the incremental snapshot captured at the specific snapshot time and the set of at least one snapshot taken prior to the specific toggling time eliminates a requirement to perform a full backup as a condition to switch to the continuous data protection solution.

4. The computer-implemented method of claim 1 , wherein the set of at least one snapshot taken prior to the specific toggling time includes at least one full backup.

5. The computer-implemented method of claim 1 , wherein generating the synthetic snapshot comprises the hypervisor native snapshot solution querying the continuous data protection solution whether the continuous data protection solution already possesses a set of incremental changes to the virtual machine.

6. The computer-implemented method of claim 2 , wherein the gateway creates the synthetic snapshot.

7. The computer-implemented method of claim 6 , wherein the gateway sends the synthetic snapshot to a media server.

8. The computer-implemented method of claim 2 , wherein the input/output tap begins transmitting, at the specific toggling time, new data written to the virtual machine after the specific toggling time.

9. The computer-implemented method of claim 8 , wherein the input/output tap transmits the new data written to the virtual machine without transmitting full data corresponding to a full backup taken prior to the specific toggling time.

10. The computer-implemented method of claim 4 , wherein the set of at least one snapshot taken prior to the specific toggling time includes at least one full backup and at least one incremental backup.

11. A system for protecting data, the system comprising:

a detection module, stored in memory, that detects that a data storage protection protocol for backing up a virtual machine is switching from a hypervisor native snapshot solution to a continuous data protection solution;

a toggling module, stored in memory, that toggles, at a specific toggling time, an input/output tap to switch to the continuous data protection solution, wherein the input/output tap records each of a plurality of write operations performed on the virtual machine upon activation;

a capturing module, stored in memory, that:

queries, at a specific snapshot time after the specific toggling time, the continuous data protection solution to determine a previous capture of data corresponding to differences in the virtual machine from the specific toggling time to the specific snapshot time; and

captures, at the specific snapshot time, an incremental snapshot corresponding to differences in the virtual machine, from a last snapshot time of a last snapshot captured prior to the specific toggling time to the specific snapshot time, that is absent from the previous capture of data, wherein the switching from the hypervisor native snapshot solution to the continuous data protection solution is finalized upon capturing the incremental snapshot;

a generation module, stored in memory, that generates a synthetic snapshot based on a combination of the incremental snapshot captured at the specific snapshot time and a set of at least one snapshot taken prior to the specific toggling time; and

at least one physical processor configured to execute the detection module, the toggling module, the capturing module, and the generation module;

wherein the continuous data protection solution synchronizes the specific snapshot time with a matching time such that a last block written as part of the incremental snapshot is the same as a last block written within the continuous data protection solution at the matching time marked within the continuous data protection solution.

12. The system of claim 11 , wherein the continuous data protection solution utilizes the input/output tap to send input/output operations to a gateway.

13. The system of claim 11 , wherein the generation module generates the synthetic snapshot based on the combination of the incremental snapshot captured at the specific snapshot time and the set of at least one snapshot taken prior to the specific toggling time at least in part by eliminating a requirement to perform a full backup as a condition to switch to the continuous data protection solution.

14. The system of claim 11 , wherein the set of at least one snapshot taken prior to the specific toggling time includes at least one full backup.

15. The system of claim 12 , wherein the gateway creates the synthetic snapshot.

16. The system of claim 15 , wherein the gateway sends the synthetic snapshot to a media server.

17. The system of claim 12 , wherein the input/output tap is configured to begin transmitting, at the specific toggling time, new data written to the virtual machine after the specific toggling time.

18. The system of claim 17 , wherein the input/output tap is configured to transmit the new data written to the virtual machine without transmitting full data corresponding to a full backup taken prior to the specific toggling time.

19. The system of claim 14 , wherein the set of at least one snapshot taken prior to the specific toggling time includes at least one full backup and at least one incremental backup.

20. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

detect that a data storage protection protocol for backing up a virtual machine is switching from a hypervisor native snapshot solution to a continuous data protection solution;

toggle, at a specific toggling time, an input/output tap to switch to the continuous data protection solution, wherein the input/output tap records each of a plurality of write operations performed on the virtual machine upon activation;

query, at a specific snapshot time after the specific toggling time, the continuous data protection solution to determine a previous capture of data corresponding to differences in the virtual machine from the specific toggling time to the specific snapshot time;

capture, at the specific snapshot time, an incremental snapshot corresponding to differences in the virtual machine, from a last snapshot time of a last snapshot captured prior top the specific toggling time to the specific snapshot time, that is absent from the previous capture of data, wherein the switching from the hypervisor native snapshot solution to the continuous data protection solution is finalized upon capturing the incremental snapshot; and

generate a synthetic snapshot based on a combination of the incremental snapshot captured at the specific snapshot time and a set of at least one snapshot taken prior to the specific toggling time;

wherein the continuous data protection solution synchronizes the specific snapshot time with a matching such that a last block written as part of the incremental snapshot is the same as a last block written within the continuous data protection solution at the matching time marked within the continuous data protection solution.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075377/0130 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0951 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELESAE OF SECURITY INTEREST IN PATENTS AT R/F 053640/0780 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0492 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Aug 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053640/0780 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 053373/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: UMARJEE, SHILPA; BHARADWAJ, VAIJAYANTI; DALAL, CHIRAG
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 052666/0449 →
References Cited (5)
US 9946603B1 · Kumar · 2018 [cited by examiner]
US 20090182784A1 · Rohit · 2009 [cited by examiner]
US 20130159249A1 · Dewall · 2013 [cited by examiner]
US 20200349029A1 · Meadowcroft · 2020 [cited by examiner]
US 20200356442A1 · Agarwal · 2020 [cited by examiner]