IP Library Granted Patent US 10,949,192
Granted Patent B2
US 10,949,192 · App. 16/140,250 · Granted Mar 16, 2021

Virtualized file server data sharing

Inventors: Anil Kumar Gopalapura Venkatesh (Santa Clara, CA); Richard James Sharpe (Mountain View, CA); Durga Mahesh Arikatla (San Jose, CA); Kalpesh Ashok Bafna (Milpitas, 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 10,949,192
App. No.
16/140,250
Filed
Sep 24, 2018
Granted
Mar 16, 2021
Kind
B2
Examiner
KIM, DONG U
Art Unit
2196
USPC
718/1
Abstract

In one embodiment, a system for managing a virtualization environment includes a set of host machines, each of which includes a hypervisor, virtual machines, and a virtual machine controller, and a first virtualized file server configured to receive a request to access a storage item located at a second virtualized file server, determine that the storage item is designated as being accessible by other virtualized file servers, identify an FSVM of the second virtualized file server at which the storage item is located, and forward the request to the FSVM of the second virtualized file server. The storage item may be designated as being accessible by other virtualized file servers when the storage item is associated with a predetermined tag value indicating that the storage item is shared among virtualized file servers. The predetermined tag value may be stored in a sharding map in association with the storage item.

Claims (67)

1. A method comprising:

receiving, from a client system and at a first file server virtual machine (FSVM) of a first plurality of FSVMs of a first virtualized file server via a first hypervisor in communication with the first FSVM, a request to access a storage item located at a second virtualized file server, wherein the first FSVM and the first hypervisor are both hosted on a first computing device;

identifying, by the first FSVM, a second FSVM of a second plurality of FSVMs of the second virtualized file server configured to serve a storage resource storing the storage item, wherein the second FSVM is hosted on a second computing device; and

sending the request to access the storage item received from the client system to the second FSVM of the second plurality of FSVMs of the second virtualized file server.

2. The method of claim 1 , further comprising identifying the second FSVM of the second plurality of FSVMs of the second virtualized file server in response to a determination that the first virtualized file server is permitted to access the storage item.

3. The method of claim 2 , further comprising determining whether the first virtualized file server is permitted to access the storage item.

4. The method of claim 2 , further comprising determining that the first virtualized server is permitted to access the storage item in response to a tag value associated with the storage item.

5. The method of claim 4 , wherein the storage item is associated with a container storage item that includes another storage item, the method further comprising determining that the storage item is associated with the tag value in response to a determination that the another storage item is associated with the tag value.

6. The method of claim 4 , further comprising retrieving the tag value from a sharding map.

7. The method of claim 6 , further comprising querying the sharding map for the storage item to identify the second FSVM of the second plurality of FSVMs of the second virtualized file server.

8. The method of claim 1 , wherein the storage item includes at least one of a file, a folder, or a directory.

9. A computer-readable, non-transitory media storing instructions embodying software for managing a virtualization environment including a first virtualized file server, the media comprising instructions operable, when executed, to cause a computing system to:

receive, from a client system and at a first file server virtual machine (FSVM) of a first plurality of FSVMs of a first virtualized file server via a first hypervisor in communication with the first FSVM, a request to access a storage item located at a second virtualized file server;

identify, via the first FSVM, a second FSVM of a second plurality of FSVMs of the second virtualized file server configured to serve a storage resource storing the storage item; wherein the second FSVM is hosted on a second computing device; and

send the request to the identified FSVM of the second plurality of FSVMs of the second virtualized file server.

10. The media of claim 9 , wherein the instructions, when executed, are operable to cause the computing system to identify the second FSVM of the second plurality of FSVMs of the second virtualized file server in response to a determination that the first virtualized file server is permitted to access the storage item.

11. The media of claim 10 , wherein the instructions, when executed, are further operable to cause the computing system to determine whether the first virtualized server is permitted to access the storage item.

12. The media of claim 10 , wherein, the instructions are operable, when executed, to cause the computing system to determine that the first virtualized server is permitted to access the storage item in response to a determination that a tag value associated with the storage item indicates that the storage item is shared with the first virtualized file server.

13. The media of claim 12 , wherein the instructions, when executed, are further operable to cause the computing system query a sharding map for the storage item to retrieve the tag value.

14. The media of claim 9 , wherein the instructions, when executed, are further operable to cause the computing system to:

provide a response to the request to access the storage item to the client system in response to receipt of a response from the second virtualized file server.

15. A system comprising:

a hypervisor; and

a first file server virtual machine (FSVM) of a first plurality of FSVMs of a first virtualized file server in communication with the hypervisor, wherein, while running on a first computing device, the first FSVM is configured to:

receive, from a client system via the hypervisor, a request to access a storage item located at a second virtualized file server;

identify a second FSVM of a second plurality of FSVMs of the second virtualized file server configured to serve a storage resource storing the storage item, wherein the second FSVM is hosted on a second computing device; and

send the request to the second FSVM of the second plurality of FSVMs of the second virtualized file server.

16. The system of claim 15 , wherein the first plurality of FSVMs of the first virtualized file server are configured to be hosted on a first plurality of computing devices, including the first computing device, wherein the second plurality of FSVMs of the second virtualized file server are configured to be hosted on a second plurality of computing devices.

17. The system of claim 16 , wherein the first computing device includes at least one of a user virtual machine (user VM) or a virtual machine controller.

18. The system of claim 15 , wherein the first virtualized file server is further configured to identify the second FSVM of the second plurality of FSVMs of the second virtualized file server in response to a determination that the first virtualized file server is permitted to access the storage item.

19. The system of claim 18 , wherein the first virtualized file server is further configured to determine that the first virtualized file server is permitted to access the storage item based on a tag value associated with the storage item indicating the storage item is shared with the first virtualized file server.

20. The system of claim 19 , wherein the first virtualized file server is further configured to query a sharding map for the storage item to retrieve the tag value.

21. A computer-readable, non-transitory media storing instructions that, when executed by a first file server virtual machine (FSVM) of a first virtualized file server hosted on a first computing device, are operable to:

receive, from a user virtual machine via a hypervisor in communication with the first FSVM and the user virtual machine, a request to access a storage item;

determine a location of the storage item;

in response to the storage item being located on the first virtualized file server, perform an access operation corresponding to the storage item based on the request; and

in response to the storage item being located on a second FSVM of a second virtualized file server hosted on a second computing device, send the request to the second FSVM.

22. The media of claim 21 , wherein the instructions, when executed by the first FSVM of the first virtualized file server hosted on the first computing device, are further operable to query a sharding map to determine the location of the storage item.

23. The media of claim 22 , wherein the instructions, when executed by the first FSVM of the first virtualized file server hosted on the first computing device, are further operable to send the request to the second FSVM of the second virtualized file server in response to a determination that the storage item is designated as being accessible to the first virtualized file server.

24. The media of claim 21 , wherein the instructions, when executed by the first FSVM of the first virtualized file server hosted on the first computing device, are further operable to determine whether the storage item is designated as being accessible to the first virtualized file server based on an entry of a sharding map associated with the storage item.

25. The media of claim 21 , wherein the instructions, when executed by the first FSVM of the first virtualized file server hosted on the first computing device, are further operable to determine a location of the storage item based on an identifier associated with the storage item received with the request.

26. The media of claim 21 , wherein the instructions, when executed by the first FSVM of the first virtualized file server hosted on the first computing device, are further operable to determine the access operation specified in the request prior to performing the access operation.

27. The media of claim 21 , wherein the first virtualized file server includes a first plurality of FSVMs, including the first FSVM, wherein the second virtualized file server includes a second plurality of FSVMs, including the second FSVM.

28. A method comprising:

receiving, from a client system and at a first file server virtual machine (FSVM) of a first virtualized file server via a first hypervisor in communication with the first FSVM, a request to access a storage item located at a second virtualized file server, wherein the first FSVM and the first hypervisor are both hosted on a first computing device;

in response to a determination that the first virtualized file server is permitted to access to the storage item, identifying, by the first FSVM, a second FSVM of the second virtualized file server configured to serve a storage resource storing the storage item, wherein the second FSVM is hosted on a second computing device; and

sending the request to access the storage item received from the client system to the second FSVM of the second virtualized file server.

29. The method of claim 28 , further comprising determining that the first virtualized server is permitted to access the storage item based on a tag value associated with the storage item.

30. The method of claim 29 , wherein the storage item is associated with a container storage item that includes another storage item, the method further comprising determining that the storage item is associated with the tag value in response to a determination that the another storage item is associated with the tag value.

31. The method of claim 30 , further comprising querying a sharding map for the storage item to retrieve the tag value and identify the second FSVM of the second virtualized file server.

32. A computer-readable, non-transitory media storing instructions embodying software for managing a virtualization environment including a first virtualized file server, the media comprising instructions operable, when executed, to cause a computing system to:

receive, from a client system and at a first file server virtual machine (FSVM) of a first virtualized file server via a first hypervisor in communication with the first FSVM, a request to access a storage item located at a second virtualized file server;

in response to a determination that the first virtualized file server is permitted to access the storage item, identify, via the first FSVM, a second FSVM of the second virtualized file server configured to serve a storage resource storing the storage item, wherein the second FSVM is hosted on a second computing device; and

send the request to the identified FSVM of the second virtualized file server.

33. The media of claim 32 , wherein the instructions, when executed, are further operable to cause the computing system to determine whether the first virtualized server is permitted to access the storage item.

34. The media of claim 32 , wherein, the instructions are operable, when executed, to cause the computing system to determine that the first virtualized server is permitted to access the storage item based on a tag value associated with the storage item indicating that the storage item is shared with the first virtualized file server.

35. The media of claim 34 , wherein the instructions, when executed, are further operable to cause the computing system query a sharding map for the storage item to retrieve the tag value.

36. A system comprising:

a hypervisor; and

a first file server virtual machine (FSVM) of a first virtualized file server in communication with the hypervisor, wherein, while running on a first computing device, the first FSVM is configured to:

receive, from a client system via the hypervisor, a request to access a storage item located at a second virtualized server;

in response to a determination that the first virtualized file server is permitted to access the storage item, identify a second FSVM of the second virtualized file server configured to serve a storage resource storing the storage item, wherein the second FSVM is hosted on a second computing device; and

send the request to the second FSVM of the second virtualized file server.

37. The system of claim 36 , wherein the first virtualized file server is configured to be hosted on a plurality of computing devices, including the first computing device.

38. The system of claim 37 , wherein the first computing device includes at least one of a user virtual machine (user VM) or a virtual machine controller.

39. The system of claim 36 , wherein the first virtualized file server is further configured to identify the second FSVM of the second virtualized file server in response to a determination that the storage item is permitted to be accessible to the first virtualized file server.

40. The system of claim 39 , wherein the first virtualized file server is further configured to determine that the storage item is permitted to be accessible to the first virtualized file server based on a tag value associated with the storage item indicating that the storage item is shared with the first virtualized file server.

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 24, 2018
From: GOPALAPURA VENKATESH, ANIL KUMAR; SHARPE, RICHARD JAMES; ARIKATLA, DURGA MAHESH; BAFNA, KALPESH ASHOK; KANADA, DEVYANI SURYAKANT
To: NUTANIX, INC.
Reel/Frame 046954/0971 →
Continuity (3)
Continuation 15422240 · Feb 1, 2017
Provisional Application 62294984 · Feb 12, 2016
Related Publication 20190026101A1 · Jan 24, 2019
Cited By (20)
US 12,189,499 US 12,197,398 US 12,217,039 US 12,242,455 US 12,248,434 US 12,248,435 US 12,307,238 US 12,367,108 US 12,400,015 US 12,461,832 US 12,517,874 US 12,541,431 US 12,568,160 US 12,572,503 US 12,591,700 US 12,619,754 US 12,627,681 US 12,641,166 US 12,688,312 US 12,699,560