IP Library Granted Patent US 11,914,480
Granted Patent B2
US 11,914,480 · App. 17/540,630 · Granted Feb 27, 2024

Standbys for continuous data protection-enabled objects

Inventors: Shobhit Agarwal (San Jose, CA); Chinmaya Manjunath (San Jose, CA); Kishan Venkata Sravan Nerella (San Jose, CA); Himanshu Mehra (Mountain View, CA)
Assignee: Cohesity, Inc.
G06F11/1458G06F16/128G06F16/1734G06F16/9027G06F11/1461G06F2201/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,914,480
App. No.
17/540,630
Granted
Feb 27, 2024
Kind
B2
Abstract

Content of an object of a source system for backup is received at a backup system different from the source system. A standby version of at least a portion of the object of the source system is maintained at a recovery system. A backup of the received content is performed using the backup system. In response to a request to place the standby version at a specified recovery time point, backup data utilized in updating the standby version to the specified recovery time point is provided to the recovery system via the backup system.

Claims (41)

1. A method, comprising:

receiving at a backup system different from a source system, a stream of changes to content of an object of the source system for backup, wherein a hot standby version of at least a portion of the object of the source system is maintained at a recovery system;

performing a backup of at least the received stream of changes to the content of the object using the backup system in part by streaming, from the backup system to the recovery system, the stream of changes to the content of the object, wherein the recovery system updates the hot standby version of at least the portion of the object in response to receiving the stream of changes to the content of the object;

determining that a gap exists in the received stream of changes to the content of the object;

receiving a request to place the hot standby version of at least the portion of the object at a specified recovery time point; and

in response to receiving the request to place the hot standby version of at least the portion of the object at the specified recovery time point:

determining one or more differences between the hot standby version of at least the portion of the object and the specified recovery time point, and

providing to the recovery system via the backup system, backup data corresponding to the one or more determined differences, wherein the recovery system utilizes the backup data corresponding to the one or more determined differences in updating the hot standby version of at least the portion of the object to the specified recovery time point.

2. The method of claim 1 , wherein in response to receiving the request to place the hot standby version of at least the portion of the object at the specified recovery time point further comprises providing to the recovery system one or more instructions to clone the hot standby version.

3. The method of claim 2 , wherein in response to receiving the request to place the hot standby version of at least the portion of the object at the specified recovery time point further comprises determining whether the backup system stores a log entry that corresponds to the specified recovery time point.

4. The method of claim 3 , wherein in response to determining that the backup system stores the log entry that corresponds to the specified recovery time point, generating a view corresponding to the specified recovery time point and a view corresponding to a current state of the cloned hot standby version.

5. The method of claim 4 , wherein determining the one or more differences between the hot standby version of at least the portion of the object and the specified recovery time point includes determining differences between the view corresponding to the specified recovery time point and the view corresponding to the current state of the cloned hot standby version.

6. The method of claim 5 , wherein the determined differences between the view corresponding to the specified recovery time point and the view corresponding to the current state of the cloned hot standby version include one or more non-shared data chunks that are associated with the view corresponding to the specified recovery time point.

7. The method of claim 6 , wherein the backup data corresponding to the one or more determined differences provided to the recovery system includes the one or more non-shared data chunks that are associated with the view corresponding to the specified recovery time point.

8. The method of claim 1 , further comprising receiving a reference snapshot of the object to generate a reference restoration point.

9. The method of claim 8 , further comprising providing to the recovery system one or more instructions to clone the hot standby version.

10. The method of claim 9 , further comprising generating a view corresponding to the reference restoration point and a view corresponding to a current state of the cloned hot standby version.

11. The method of claim 10 , further comprising determining differences between the view corresponding to the reference restoration point and the view corresponding to the current state of the cloned hot standby version.

12. The method of claim 11 , wherein the determined differences between the view corresponding to the reference restoration point and the view corresponding to the current state of the cloned hot standby version include one or more non-shared data chunks that are associated with the view corresponding to the reference restoration point.

13. The method of claim 12 , further comprising providing to the recovery system via the backup system the backup data corresponding to the one or more determined differences that include the one or more non-shared data chunks that are associated with the view corresponding to the reference restoration point.

14. The method of claim 1 , wherein the recovery system is part of the backup system.

15. The method of claim 1 , wherein the recovery system is located at a specified disaster recovery site.

16. The method of claim 1 , wherein the object of the source system is a continuous data protection-enabled object.

17. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving at a backup system different from a source system, a stream of changes to content of an object of the source system for backup, wherein a hot standby version of at least a portion of the object of the source system is maintained at a recovery system;

performing a backup of at least the received stream of changes to the content of the object using the backup system in part by streaming, from the backup system to the recovery system, the stream of changes to the content of the object, wherein the recovery system updates the hot standby version of at least the portion of the object in response to receiving the stream of changes to the content of the object;

determining that a gap exists in the received stream of changes to the content of the object;

receiving a request to place the hot standby version of at least the portion of the object at a specified recovery time point; and

in response to receiving the request to place the hot standby version of at least the portion of the object at the specified recovery time point:

determining one or more differences between the hot standby version of at least the portion of the object and the specified recovery time point, and

providing to the recovery system via the backup system, backup data corresponding to the one or more determined differences, wherein the recovery system utilizes the backup data corresponding to the one or more determined differences in updating the hot standby version of at least the portion of the object to the specified recovery time point.

18. A system, comprising:

one or more processors configured to:

receive at a backup system different from a source system, a stream of changes to content of an object of the source system for backup, wherein a hot standby version of at least a portion of the object of the source system is maintained at a recovery system;

perform a backup of at least the received stream of changes to the content of the object using the backup system in part by streaming, from the backup system to the recovery system, the stream of changes to the content of the object, wherein the recovery system updates the hot standby version of at least the portion of the object in response to receiving the stream of changes to the content of the object;

determine that a gap exists in the received stream of changes to the content of the object;

receive a request to place the hot standby version of at least the portion of the object at a specified recovery time point; and

in response to receiving the request to place the hot standby version of at least the portion of the object at the specified recovery time point:

determine one or more differences between the hot standby version of at least the portion of the object and the specified recovery time point, and

provide to the recovery system via the backup system, backup data corresponding to the one or more determined differences, wherein the recovery system utilizes the backup data corresponding to the one or more determined differences in updating the hot standby version of at least the portion of the object to the specified recovery time point; and

a memory coupled to at least one of the one or more processors and configured to provide the at least one of the one or more processors with instructions.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2022
From: AGARWAL, SHOBHIT; MANJUNATH, CHINMAYA; NERELLA, KISHAN VENKATA SRAVAN; MEHRA, HIMANSHU
To: COHESITY, INC.
Reel/Frame 060069/0095 →
Continuity (2)
Provisional Application 63122722 · Dec 8, 2020
Related Publication 20220179748A1 · Jun 9, 2022
Cited By (1)
US 12,639,335