IP Library Granted Patent US 11,537,384
Granted Patent B2
US 11,537,384 · App. 17/091,758 · Granted Dec 27, 2022

Virtualized file server distribution across clusters

Inventors: Richard James Sharpe (Mountain View, CA); Durga Mahesh Arikatla (San Jose, CA); Kalpesh Ashok Bafna (Milpitas, CA); Satyajit Sanjeev Deshmukh (Milpitas, CA); Shyamsunder Prayagchand Rathi (Sunnyvale, CA); Vishal Sinha (Union City, CA); Devyani Suryakant Kanada (Cupertino, CA)
Assignee: Nutanix, Inc.
G06F8/65G06F3/065G06F3/0619G06F3/0647G06F3/0664G06F3/0665G06F3/0683G06F3/0689G06F9/4406G06F9/45558G06F11/0712G06F11/0751G06F11/0793G06F11/1451G06F11/1464G06F11/1484G06F11/2025G06F11/2033G06F11/2035G06F11/2046G06F11/2058G06F11/2069G06F16/176G06F16/1727G06F16/1774G06F16/183G06F16/1844G06F16/2365G06F21/53G06F21/56G06F21/6218G06F21/78H04L41/06H04L41/082H04L67/1095H04L67/1097G06F2009/45579G06F2009/45583G06F2009/45587G06F2009/45595G06F2201/80G06F2201/815G06F2201/825G06F2201/84G06F2201/87G06F2221/034G06F2221/2101G06F2221/2141G06F2221/2145H04L41/0859H04L41/5009H04L67/10H04L67/34
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,537,384
App. No.
17/091,758
Filed
Nov 6, 2020
Granted
Dec 27, 2022
Kind
B2
Art Unit
2154
USPC
707/827
Abstract

In one embodiment, a system for managing a virtualization environment includes host machines implementing a virtualization environment, a plurality of clusters of the host machines, a virtualized file server (VFS) comprising a plurality of file server virtual machines (FSVMs), and a VFS cluster manager (CM) configured to distribute storage items among the clusters and receive cluster storage statistics for one or more shares of the VFS. The CM is further configured to, in response to a request from a first FSVM to identify a storage location for a storage item, identify a cluster at which the storage item is to be located based on the cluster storage statistics, identify a second FSVM at which the storage item is to be located based on compute usage statistics of one or more FSVMs in the identified cluster, and send an address of the second FSVM to the first FSVM.

Claims (43)

1. A system comprising:

a cluster of file server virtual machines (FSVMs) hosted on a combination of a first computing node cluster and a second computing node cluster, the cluster of FSVMs including a first FSVM wherein the cluster of FSVMs is configured to implement a virtualized file server; and

a virtualized file server cluster manager configured to, in response to a request from the first FSVM to identify a storage location for a storage item:

identify one of the first computing node cluster or the second computing node cluster at which the storage item is to be located based on a respective cluster storage statistic; and

provide an address of a second FSVM hosted on the one of the first computing node cluster or the second computing node cluster to manage storage of the storage item.

2. The system of claim 1 , wherein the virtualized file server cluster manager is configured to determine the respective cluster storage statistic.

3. The system of claim 1 , wherein the virtualized file server cluster manager is configured to determine a respective cluster storage statistic for each of the first and second computing node clusters to use as the respective cluster storage statistic.

4. The system of claim 1 , wherein the virtualized file server cluster manager is configured to select the one of the first computing node cluster or the second computing node cluster having a least amount of used storage spaced as indicated by the respective cluster storage statistic corresponding to each of the first computing node cluster and the second computing node cluster.

5. The system of claim 1 , wherein the virtualized file server cluster manager is configured to select the second FSVM based on a compute usage statistic.

6. The system of claim 5 , wherein the virtualized file server cluster manager is configured to request CPU utilization of the second FSVM to use as the compute usage statistic.

7. A virtualized file server, comprising:

a cluster of file server virtual machines (FSVMs), wherein each FSVM of the cluster of FSVMs is configured to manage respective input/output (I/O) transactions directed toward storage items maintained on virtual disks; and

a virtualized file server cluster manager configured to, in response to a request from a first FSVM to identify a storage location for a storage item to be added to the storage items:

select a second FSVM of the cluster of FSVMs to be assigned to manage an I/O transaction associated with the storage item based on a compute usage statistic; and

provide an address of the second FSVM to the first FSVM.

8. The virtualized file server of claim 7 , wherein the virtualized file server cluster manager is configured analyze respective central processing unit (CPU) utilization of each of the cluster of FSVMs as the compute usage statistic to select the second FSVM.

9. The virtualized file server of claim 8 , wherein the virtualized file server cluster manager is configured to request the respective CPU utilization of each of the cluster of FSVMs to use as the compute usage statistic.

10. The virtualized file server of claim 8 , wherein the virtualized file server cluster manager is configured to retrieve the respective CPU utilization of each of the cluster of FSVMs from a database to use as the compute usage statistic.

11. The virtualized file server of claim 8 , wherein the virtualized file server cluster manager is configured to receive the respective CPU utilization over a defined period of time for each of the cluster of FSVMs to use as the compute usage statistic.

12. The virtualized file server of claim 7 , wherein the virtualized file server cluster manager is configured to analyze respective historical central processing unit (CPU) load average or average percentage of CPU processing capacity of each of the cluster of FSVMs as the compute usage statistic to select the second FSVM.

13. The virtualized file server of claim 7 , wherein the virtualized file server cluster manager is configured to select the second FSVM based on a comparison of the compute usage statistic to a threshold value.

14. At least one non-transitory computer-readable storage medium including instructions that when executed by a computing node of one of a first or a second computing node cluster, causes the first or the second computing node cluster to:

manage, via a cluster of file server virtual machines (FSVMs) hosted on a combination of the first and second computing node cluster, a virtualized file server; and

in response to a request from a first FSVM of the cluster of FSVMs to identify a storage location for a storage item:

identify one of the first computing node cluster or the second computing node cluster at which the storage item is to be located based on a respective cluster storage statistic; and

provide an address of a second FSVM hosted on the one of the first computing node cluster or the second computing node cluster to manage storage of the storage item.

15. The at least one non-transitory computer-readable storage medium of claim 14 , further including instructions that when executed, cause the first or the second computing node cluster to determine the respective cluster storage statistic.

16. The at least one non-transitory computer-readable storage medium of claim 14 , further including instructions that when executed, cause the first or the second computing node cluster to determine a respective cluster storage usage statistic for each of the first and second computing node clusters to use as the respective cluster storage statistic.

17. The at least one non-transitory computer-readable storage medium of claim 14 , further including instructions that when executed, cause the first or the second computing node cluster to select the one of the first computing node cluster or the second computing node cluster having a least amount of used storage spaced as indicated by the respective cluster storage statistic corresponding to each of the first computing node cluster and the second computing node cluster.

18. The at least one non-transitory computer-readable storage medium of claim 14 , further including instructions that when executed, cause the first or the second computing node cluster to select the second FSVM based on a compute usage statistic.

19. The at least one non-transitory computer-readable storage medium of claim 18 , further including instructions that when executed, cause the first or the second computing node cluster to request CPU utilization of the second FSVM to use as the compute usage statistic.

20. At least one non-transitory computer-readable storage medium including instructions that when executed by a computing node of a computing node cluster, causes the computing node to:

manage, via a cluster of file server virtual machines (FSVMs), respective input/output (I/O) transactions directed toward storage items maintained on virtual disks; and

in response to a request from a first FSVM to identify a storage location for a storage item to be added to the storage items:

select a second FSVM of the cluster of FSVMs to be assigned to manage an I/O transaction associated with the storage item based on a compute usage statistic; and

provide an address of the second FSVM to the first FSVM.

21. The at least one non-transitory computer-readable storage medium of claim 20 , further including instructions that when executed, cause the computing node to analyze respective central processing unit (CPU) utilization of each of the cluster of FSVMs as the compute usage statistic to select the second FSVM.

22. The at least one non-transitory computer-readable storage medium of claim 21 , further including instructions that when executed, cause the computing node to request the respective CPU utilization of each of the cluster of FSVMs to use as the compute usage statistic.

23. The at least one non-transitory computer-readable storage medium of claim 21 , further including instructions that when executed, cause the computing node to retrieve the respective CPU utilization of each of the cluster of FSVMs from a database to use as the compute usage statistic.

24. The at least one non-transitory computer-readable storage medium of claim 21 , further including instructions that when executed, cause the computing node to receive the respective CPU utilization over a defined period of time for each of the cluster of FSVMs to use as the compute usage statistic.

25. The at least one non-transitory computer-readable storage medium of claim 20 , further including instructions that when executed, cause the computing node to analyze respective historical central processing unit (CPU) load average or average percentage of CPU processing capacity of each of the cluster of FSVMs as the compute usage statistic to select the second FSVM.

26. The system of claim 1 , wherein the virtualized file server cluster manager is further configured to communicate with the first computing node cluster and the second computing node cluster to identify the one of the first computing node cluster or the second computing node cluster.

27. The non-transitory computer-readable storage medium of claim 14 , wherein in response to the request from the first FSVM, the instructions further cause the computing node to communicate with the first computing node cluster and the second computing node cluster to identify the one of the first computing node cluster or the second computing node cluster.

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 Nov 6, 2020
From: SHARPE, RICHARD JAMES; ARIKATLA, DURGA MAHESH; BAFNA, KALPESH ASHOK; DESHMUKH, SATYAJIT SANJEEV; RATHI, SHYAMSUNDER PRAYAGCHAND; SINHA, VISHAL; KANADA, DEVYANI SURYAKANT
To: NUTANIX, INC.
Reel/Frame 054302/0969 →
Continuity (3)
Continuation 15422291 · Feb 1, 2017
Provisional Application 62294984 · Feb 12, 2016
Related Publication 20210141630A1 · May 13, 2021
Cited By (6)
US 12,217,039 US 12,307,238 US 12,400,015 US 12,461,832 US 12,541,431 US 12,699,560