IP Library Granted Patent US 11,755,418
Granted Patent B2
US 11,755,418 · App. 17/403,824 · Granted Sep 12, 2023

Emulating high-frequency application-consistent snapshots by forming restore point data sets based on remote site replay of I/O commands

Inventors: Parthasarathy Ramachandran (Palo Alto, CA); Bharat Kumar Beedu (Bangalore, IN); Karthik Chandrasekaran (Bangalore, IN); Balaji Janakiram (Pune, IN); Monoreet Mutsuddi (San Jose, CA); Vanita Prabhu (Bengaluru, IN); Mayur Vijay Sadavarte (Sunnyvale, CA)
Assignee: Nutanix, Inc.
G06F11/1451G06F11/1407G06F8/61G06F9/45558G06F2009/45579G06F2201/82G06F2201/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,755,418
App. No.
17/403,824
Filed
Aug 16, 2021
Granted
Sep 12, 2023
Kind
B2
Art Unit
2113
USPC
714/19
Abstract

The disclosed systems emulate high-frequency application-consistent snapshots by forming restore point data sets based on remote site replay of I/O commands. A method embodiment commences upon identifying a primary computing site and a secondary computing site, then identifying an application to be restored from the secondary computing site after a disaster. Prior to the disaster, a group of computing entities of the application to be restored from the secondary computing site are identified. Input/output operations that are performed over any of the computing entities at the primary site are streamed to the secondary site where they are stored. An I/O map that associates a time with an indication of a last received I/O command that had been performed over a changing set of computing entities is sent to the secondary site. An agent at the secondary site accesses the I/O map and the streamed-over I/Os to construct recovery data.

Claims (38)

1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes a set of acts for emulating high-frequency application-consistent snapshotting, the set of acts comprising:

registering a first group of computing entities for a first application and a second group of computing entities for a second application;

transmitting, from a first computing site to a second computing site, a stream of I/O commands performed over any computing entity from the first group of computing entities and the second group of computing entities;

maintaining an I/O map that associates a first identifier for the first group of computing entities with first corresponding individual I/O commands of the stream of I/O commands and that associates a second identifier for the second group of computing entities with second corresponding individual I/O commands of the stream of I/O commands; and

transmitting a signal to the second computing site to invoke replaying of at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct an application-consistent snapshot for the first group of computing entities, wherein the at least some of the first corresponding individual I/O commands correspond to the first identifier of the first group of computing entities in the I/O map and the application-consistent snapshot is constructed at the second computing site.

2. The computer readable medium of claim 1 , wherein a guest agent identifies an event that changes at least one aspect of the first group of computing entities.

3. The computer readable medium of claim 1 , wherein a guest agent configures a frequency to monitor the first group of computing entities for the first application.

4. The computer readable medium of claim 1 , wherein the set of acts further comprise responding to an event that changes at least one aspect of the first group of computing entities of the first application by registering an updated group of computing entities.

5. The computer readable medium of claim 1 , wherein the signal to the second computing site to invoke replaying of the at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct the application-consistent snapshot for the first group of computing entities specifies a point in time for use in constructing the application-consistent snapshot at the second computing site.

6. The computer readable medium of claim 1 , wherein the set of acts further comprise transmitting a recovery point specification to the second computing site before transmitting the signal to the second computing site to invoke replaying of the at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct the application-consistent snapshot for the first group of computing entities.

7. The computer readable medium of claim 1 , wherein the set of acts further comprise monitoring for changes to the second group of computing entities.

8. The computer readable medium of claim 1 , wherein respective I/Os of the first corresponding individual I/O commands correspond to an I/O command ID and a sequence ID.

9. A method for emulating high-frequency application-consistent snapshotting, the method comprising:

registering a first group of computing entities for a first application and a second group of computing entities for a second application;

transmitting, from a first computing site to a second computing site, a stream of I/O commands performed over any computing entity from the first group of computing entities and the second group of computing entities;

maintaining an I/O map that associates a first identifier for the first group of computing entities with first corresponding individual I/O commands of the stream of I/O commands and that associates a second identifier for the second group of computing entities with second corresponding individual I/O commands of the stream of I/O commands; and

transmitting a signal to the second computing site to invoke replaying of at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct an application-consistent snapshot for the first group of computing entities, wherein the at least some of the first corresponding individual I/O commands correspond to the first identifier of the first group of computing entities in the I/O map and the application-consistent snapshot is constructed at the second computing site.

10. The method of claim 9 , wherein a guest agent identifies an event that changes at least one aspect of the first group of computing entities.

11. The method of claim 9 , wherein a guest agent configures a frequency to monitor the first group of computing entities for the first application.

12. The method of claim 9 , further comprising responding to an event that changes at least one aspect of the first group of computing entities of the first application by registering an updated group of computing entities.

13. The method of claim 9 , wherein the signal to the second computing site to invoke replaying of the at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct the application-consistent snapshot for the first group of computing entities specifies a point in time for use in constructing the application-consistent snapshot at the second computing site.

14. The method of claim 9 , further comprising transmitting a recovery point specification to the second computing site before transmitting the signal to the second computing site to invoke replaying of the at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct the application-consistent snapshot for the first group of computing entities.

15. The method of claim 9 , further comprising monitoring for changes to the second group of computing entities.

16. The method of claim 9 , wherein respective I/Os of the first corresponding individual I/O commands correspond to an I/O command ID and a sequence ID.

17. A system for emulating high-frequency application-consistent snapshotting, the system comprising:

a storage medium having stored thereon a set of instructions; and

a processor that executes the set of instructions to cause the processor to perform a set of acts comprising:

registering a first group of computing entities for a first application and a second group of computing entities for a second application;

transmitting, from a first computing site to a second computing site, a stream of I/O commands performed over any computing entity from the first group of computing entities and the second group of computing entities;

maintaining an I/O map that associates a first identifier for the first group of computing entities with first corresponding individual I/O commands of the stream of I/O commands and that associates a second identifier for the second group of computing entities with second corresponding individual I/O commands of the stream of I/O commands; and

transmitting a signal to the second computing site to invoke replaying of at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct an application-consistent snapshot for the first group of computing entities, wherein the at least some of the first corresponding individual I/O commands correspond to the first identifier of the first group of computing entities in the I/O map and the application-consistent snapshot is constructed at the second computing site.

18. The system of claim 17 , wherein a guest agent identifies an event that changes at least one aspect of the first group of computing entities.

19. The system of claim 17 , wherein a guest agent configures a frequency to monitor the first group of computing entities for the first application.

20. The system of claim 17 , wherein the set of acts further comprise responding to an event that changes at least one aspect of the first group of computing entities of the first application by registering an updated group of computing entities.

21. The system of claim 17 , wherein the signal to the second computing site to invoke replaying of the at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct the application-consistent snapshot for the first group of computing entities specifies a point in time for use in constructing the application-consistent snapshot at the second computing site.

22. The system of claim 17 , wherein the set of acts further comprise transmitting a recovery point specification to the second computing site before transmitting the signal to the second computing site to invoke replaying of the at least some of the first corresponding individual I/O commands of the stream of I/O commands to construct the application-consistent snapshot for the first group of computing entities.

23. The system of claim 17 , wherein the set of acts further comprise monitoring for changes to the second group of computing entities.

24. The system of claim 17 , wherein respective I/Os of the first corresponding individual I/O commands correspond to an I/O command ID and a sequence ID.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2021
From: RAMACHANDRAN, PARTHASARATHY; BEEDU, BHARAT KUMAR; CHANDRASEKARAN, KARTHIK; JANAKIRAM, BALAJI; MUTSUDDI, MONOREET; PRABHU, VANITA; SADAVARTE, MAYUR VIJAY
To: NUTANIX INC.
Reel/Frame 057195/0694 →
Continuity (4)
Continuation 16201826 · Nov 27, 2018
Provisional Application 62591110 · Nov 27, 2017
Provisional Application 62591123 · Nov 27, 2017
Related Publication 20210374010A1 · Dec 2, 2021