IP Library Granted Patent US 12,306,775
Granted Patent B2
US 12,306,775 · App. 18/467,998 · Granted May 20, 2025

Instant recovery as an enabler for uninhibited mobility between primary storage and secondary storage

Inventors: Dezhou Jiang (San Jose, CA); Kiran Tatiparthi (Dublin, CA); Monil Devang Shah (Milpitas, CA); Mukul Sharma (San Jose, CA); Prakash Narayanasamy (San Jose, CA); Praveen Kumar Padia (Fremont, CA); Sagi Sai Sruthi (Bengaluru, IN); Deepak Narayan (Bengaluru, IN)
Assignee: Nutanix, Inc.
G06F13/1668G06F13/4004
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,306,775
App. No.
18/467,998
Filed
Sep 15, 2023
Granted
May 20, 2025
Kind
B2
Art Unit
2615
USPC
710/113
Abstract

In accordance with some aspects of the present disclosure, a non-transitory computer readable medium is disclosed. In some embodiments, the non-transitory computer readable medium includes instructions that, when executed by a processor, cause the processor to receive, from a workload hosted on a host of a cluster, first I/O traffic programmed according to a first I/O traffic protocol supported by a cluster-wide storage fabric exposed to the workload as being hosted on the same host. In some embodiments, the workload is recovered by a hypervisor hosted on the same host. In some embodiments, the non-transitory computer readable medium includes the instructions that, when executed by the processor, cause the processor to adapt the first I/O traffic to generate second I/O traffic programmed according to a second I/O traffic protocol supported by a repository external to the storage fabric and forward the second I/O traffic to the repository.

Claims (46)

1. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to:

recover, by a hypervisor hosted on a host, a workload to run on the host of a cluster comprising a plurality of hosts, the cluster including a virtual disk controller which virtualizes storage resources of the cluster as a storage fabric, wherein the hypervisor recovers the workload before all workload data is retrieved from an external repository;

attach the external repository to the recovered workload as a virtual disk, wherein the external repository is external to the storage fabric, and wherein the external repository is not virtualized by the virtual disk controller;

receive a request including first I/O traffic according to a first I/O traffic protocol from the recovered workload, the request specifying the virtual disk as a recipient;

translate the request to be compatible with the external repository to include second I/O traffic according to a second I/O traffic protocol; and

forward the translated request to the repository, while maintaining availability of the recovered workload.

2. The non-transitory computer readable medium of claim 1 , wherein the request includes I/O traffic protocol that is a hyperconverged infrastructure (HCI) native protocol specific to communication between the hypervisor and the virtual disk controller on the host.

3. The non-transitory computer readable medium of claim 1 , wherein the translated request includes at least one of: Network File System (NFS), Server Message Block (SMB), or Simple Storage Service (S3).

4. The non-transitory computer readable medium of claim 1 , wherein the instructions further cause the processor to identify whether a read request can be serviced locally in a cache associated with the virtual disk controller before adapting and forwarding the read request to the repository.

5. The non-transitory computer readable medium of claim 1 , wherein the instructions further cause the processor to:

create a child virtual disk mapped to a parent virtual disk that is backed by the repository; and

absorb write requests in the request locally in the child virtual disk.

6. The non-transitory computer readable medium of claim 1 , wherein the instructions further cause the processor to migrate data from the repository to the storage fabric while maintaining the availability of the workload.

7. The non-transitory computer readable medium of claim 1 , wherein the virtual disk controller exposes the storage fabric to the workload through a native interface that enables the workload to interact with the virtual disk controller as if it were a direct-attached storage controller.

8. A system comprising:

a cluster including a plurality of hosts sharing a cluster-wide storage fabric;

a hypervisor running on a host in the cluster;

a virtual disk controller running on the host that virtualizes storage resources of the storage fabric;

a workload recovered by the hypervisor and running on the host; and

a processor configured to:

recover, by the hypervisor, the workload before all workload data is retrieved from an external repository;

attach the external repository to the recovered workload as a virtual disk, wherein the external repository is external to the storage fabric, and wherein the external repository is not virtualized by the virtual disk controller;

receive a request including first I/O traffic according to a first I/O traffic protocol from the recovered workload, the request specifying the virtual disk as a recipient;

translate the request to be compatible with the external repository to include second I/O traffic according to a second I/O traffic protocol; and

forward the translated request to the repository while maintaining availability of the recovered workload.

9. The system of claim 8 , wherein the request includes I/O traffic protocol that is a hyperconverged infrastructure (HCI) native protocol specific to communication between the hypervisor and the virtual disk controller on the host.

10. The system of claim 8 , wherein the translated request includes at least one of: Network File System (NFS), Server Message Block (SMB), or Simple Storage Service (S3).

11. The system of claim 8 , wherein the processor is further configured to identify whether a read request can be serviced locally in a cache associated with the virtual disk controller before adapting and forwarding the read request to the repository.

12. The system of claim 8 , wherein the processor is further configured to:

create a child virtual disk mapped to a parent virtual disk that is backed by the repository; and

absorb write requests in the request locally in the child virtual disk.

13. The system of claim 8 , wherein the processor is further configured to migrate data from the repository to the storage fabric while maintaining the availability of the workload.

14. The system of claim 8 , wherein the virtual disk controller is configured to expose the storage fabric to the workload through a native interface that enables the workload to interact with the virtual disk controller as if it were a direct-attached storage controller.

15. A method comprising:

recovering, by a hypervisor hosted on a host, a workload to run on the host of a cluster comprising a plurality of hosts, the cluster including a virtual disk controller which virtualizes storage resources of the cluster as a storage fabric, wherein the hypervisor recovers the workload before all workload data is retrieved from an external repository;

attaching the external repository to the recovered workload as a virtual disk, wherein the external repository is external to the storage fabric, and wherein the external repository is not virtualized by the virtual disk controller;

receiving a request including first I/O traffic according to a first I/O traffic protocol from the recovered workload, the request specifying the virtual disk as a recipient;

translate the request to be compatible with the external repository to include second I/O traffic according to a second I/O traffic protocol; and

forward the translated request to the repository, while maintaining availability of the recovered workload.

16. The method of claim 15 , wherein the request includes I/O traffic protocol that is a hyperconverged infrastructure (HCI) native protocol specific to communication between the hypervisor and the virtual disk controller on the host, and wherein the translated request includes at least one of: Network File System (NFS), Server Message Block (SMB), or Simple Storage Service (S3).

17. The method of claim 15 , further comprising identifying whether a read request can be serviced locally in a cache associated with the virtual disk controller before adapting and forwarding the read request to the repository.

18. The method of claim 15 , further comprising:

creating a child virtual disk mapped to a parent virtual disk that is backed by the repository; and

absorbing write requests in the request locally in the child virtual disk.

19. The method of claim 15 , further comprising migrating data from the repository to the storage fabric while maintaining the availability of the workload.

20. The method of claim 15 , wherein the virtual disk controller exposes the storage fabric to the workload through a native interface that enables the workload to interact with the virtual disk controller as if it were a direct-attached storage controller.

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 Sep 15, 2023
From: JIANG, DEZHOU; TATIPARTHI, KIRAN; SHAH, MONIL DEVANG; SHARMA, MUKUL; NARAYANASAMY, PRAKASH; PADIA, PRAVEEN KUMAR; SRUTHI, SAGI SAI; NARAYAN, DEEPAK
To: NUTANIX, INC.
Reel/Frame 064919/0196 →
Priority Claims (1)
IN 202141007358 · Feb 22, 2021 · national
Continuity (2)
Continuation 17676013 · Feb 18, 2022
Related Publication 20240078198A1 · Mar 7, 2024
References Cited (50)
US 7702851B2 · Satoyama · 2010 [cited by examiner]
US 8196154B2 · Glaizel · 2012 [cited by examiner]
US 8549518B1 · Aron et al. · 2013 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8850130B1 · Aron et al. · 2014 [cited by applicant]
US 8863124B1 · Aron · 2014 [cited by applicant]
US 9009106B1 · Aron et al. · 2015 [cited by applicant]
US 9069708B2 · Gill et al. · 2015 [cited by applicant]
US 9128626B2 · Chacko · 2015 [cited by examiner]
US 9336132B1 · Aron et al. · 2016 [cited by applicant]
US 9436555B2 · Dornemann et al. · 2016 [cited by applicant]
US 9584568B2 · Tanabe · 2017 [cited by examiner]
US 9652265B1 · Narayanasamy et al. · 2017 [cited by applicant]
US 9659017B2 · Sorenson et al. · 2017 [cited by applicant]
US 9772866B1 · Aron et al. · 2017 [cited by applicant]
US 9794124B2 · Numata · 2017 [cited by examiner]
US 9953072B2 · Singh · 2018 [cited by examiner]
US 10044830B2 · Otake · 2018 [cited by examiner]
US 10185624B2 · Akutsu · 2019 [cited by examiner]
US 10191760B2 · Kitano · 2019 [cited by examiner]
US 10303562B2 · Nanivadekar · 2019 [cited by examiner]
US 10656877B2 · Franciosi · 2020 [cited by examiner]
US 10713123B2 · Yu · 2020 [cited by examiner]
US 11442768B2 · Kumar · 2022 [cited by applicant]
US 11487468B2 · Gupta et al. · 2022 [cited by applicant]
US 11681652B2 · Liu · 2023 [cited by examiner]
US 11860802B2 · Jiang · 2024 [cited by examiner]
US 20120290804A1 · Eguchi · 2012 [cited by examiner]
US 20130003745A1 · Nishimura · 2013 [cited by examiner]
US 20140366155A1 · Chang et al. · 2014 [cited by applicant]
US 20150074054A1 · Antony · 2015 [cited by applicant]
US 20150378831A1 · Tarasuk-Levin et al. · 2015 [cited by applicant]
US 20160048408A1 · Madhu et al. · 2016 [cited by applicant]
US 20180157444A1 · Franciosi · 2018 [cited by examiner]
US 20190179805A1 · Prahlad et al. · 2019 [cited by applicant]
US 20190250938A1 · Claes · 2019 [cited by examiner]
US 20210203550A1 · Thakkar · 2021 [cited by examiner]
US 20210263721A1 · Liu et al. · 2021 [cited by applicant]
US 20220043608A1 · Karamanolis et al. · 2022 [cited by applicant]
Cano, Ignacio, et al. “Curator: Self-Managing Storage for Enterprise Clusters” (Mar. 27, 2017), from https://www.usenix.org/conference/nsdi17/. [cited by applicant]
Non-Final Office Action on U.S. Appl. No. 17/676,013 Dtd Apr. 14, 2023. [cited by applicant]
Notice of Allowance on U.S. Appl. No. 17/676,013 Dtd Sep. 6, 2023. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 11, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Oct. 15, 2013), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Sep. 17, 2019), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 20, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 7, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 9, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
VMware, “Disaster Recovery as-a-Service using VMware Site Recovery with VMware Cloud on AWS,” pp. 1-4. [cited by applicant]
VMware, “VMware VSAN Disaster Recovery,” https://core.vmware.com/resource/vsan-disaster-recovery#sec10254-sub1, pp. 1-5. [cited by applicant]