IP Library Granted Patent US 9,933,956
Granted Patent B2
US 9,933,956 · App. 14/586,614 · Granted Apr 3, 2018

Systems and methods for implementing stretch clusters in a virtualization environment

Inventors: Parthasarathy Ramachandran (Palo Alto, CA); Brian Byrne (San Jose, CA)
Assignee: NUTANIX, INC.
G06F3/0619G06F3/065G06F3/067G06F3/0661G06F11/1484
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 9,933,956
App. No.
14/586,614
Filed
Dec 30, 2014
Granted
Apr 3, 2018
Kind
B2
Art Unit
2199
USPC
718/1
Abstract

Described is an approach for implementing stretching datastores/clusters in a virtualization environment. In this approach, data replication can be performed across multiple namespace protocols. In addition, control can be made of the granularity of the data replication such that different combinations of data subsets are replicated from one cluster to another.

Claims (46)

1. A method for replicating data in a virtualization environment, comprising:

receiving a request to replicate data of a first namespace type from a first node to a second node, wherein the data is to be replicated to the second node as a second namespace type, wherein the first namespace type and the second namespace type are different namespace protocols implemented within the virtualization environment;

translating, via a mapping table, the request to replicate the data of the first namespace type into a normalized format that is implemented by a storage system, the mapping table comprising information to map the data from the first namespace type to the normalized format;

translating, via the mapping table, the normalized format into another request corresponding to the second namespace type, the mapping table comprising information to map the data from the normalized format to the second namespace type; and

replicating the data to the second node in the second namespace type via the another request.

2. The method of claim 1 , wherein the first node corresponds to a first virtualization node, the second node corresponds to a second virtualization node, and the data corresponds to storage in a virtualization environment comprising virtual disks.

3. The method of claim 1 , wherein a controller virtual machine performs namespace translations.

4. The method of claim 1 , wherein a mapping structure is used to perform namespace translations.

5. The method of claim 1 , wherein translations occur to replicate the data into a different storage architecture.

6. The method of claim 1 , wherein a portion of a storage hierarchy at the first node is not replicated to the second node or is replicated to a different hierarchical location at the second node.

7. The method of claim 1 , wherein multiple nodes replicate the data to a single node.

8. The method of claim 1 , further comprising:

traversing a hierarchy for the data at the first node to identify necessary nodes;

constructing metadata at the second node corresponding to the necessary nodes; and

replicating the data to the second node in correspondence to the metadata.

9. The method of claim 1 , wherein the first node replicates data to multiple other nodes.

10. A computer program product embodied on a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for performing a process for replicating data in a virtualization environment, the process comprising:

receiving a request to replicate data of a first namespace type from a first node to a second node, wherein the data is to be replicated to the second node as a second namespace type, wherein the first namespace type and the second namespace type are different namespace protocols implemented within the virtualization environment;

translating, via a mapping table, the request to replicate the data of the first namespace type into a normalized format that is implemented by a storage system, the mapping table comprising information to map the data from the first namespace type to the normalized format;

translating, via the mapping table, the normalized format into another request corresponding to the second namespace type, the mapping table comprising information to map the data from the normalized format to the second namespace type; and

replicating the data to the second node in the second namespace type via the another request.

11. The computer program product of claim 10 , wherein the first node corresponds to a first virtualization node, the second node corresponds to a second virtualization node, and the data corresponds to storage in a virtualization environment comprising virtual disks.

12. The computer program product of claim 10 , wherein a controller virtual machine performs protocol translations.

13. The computer program product of claim 10 , wherein a mapping structure is used to perform protocol translations.

14. The computer program product of claim 10 , wherein translations occur to replicate the data into a different storage architecture.

15. The computer program product of claim 14 , wherein a portion of a storage hierarchy at the first node is not replicated to the second node or is replicated to a different hierarchical location.

16. The computer program product of claim 14 , wherein multiple nodes replicate the data to a single node.

17. The computer program product of claim 14 , wherein the computer readable medium further comprises instructions which, when executed by the processor causes the processor to execute the process comprising:

traversing a hierarchy for the data at the first node to identify necessary nodes;

constructing metadata t the second node corresponding to the necessary nodes; and

replicating the data to the second node in correspondence to the metadata.

18. The computer program product of claim 10 , wherein the first node replicates data to multiple other nodes.

19. A system, comprising:

a computer processor to execute a set of program code instructions;

a memory to hold the program code instructions, in which the program code instructions comprises program code to perform: receiving a request to replicate data of a first namespace type from a first node to a second node, wherein the data is to be replicated to the second node as a second namespace type, wherein the first namespace type and the second namespace type are different namespace protocols implemented within a virtualization environment; translating, via a mapping table, the request to replicate the data of the first namespace type into a normalized format that is implemented by a storage system, the mapping table comprising information to map the data from the first namespace type to the normalized format; translating, via the mapping table, the normalized format into another request corresponding to the second namespace type, the mapping table comprising information to map the data from the normalized format to the second namespace type; and replicating the data to the second node in the second namespace type via the another request.

20. The system of claim 19 , wherein the first node corresponds to a first virtualization node, the second node corresponds to a second virtualization node, and the data corresponds to storage in a virtualization environment comprising virtual disks.

21. The system of claim 19 , wherein a controller virtual machine performs protocol translations.

22. The system of claim 19 , wherein a mapping structure is used to perform protocol translations.

23. The system of claim 19 , wherein translations occur to replicate the data into a different storage architecture.

24. The system of claim 19 , wherein a portion of a storage hierarchy at the first node is not replicated to the second node or is replicated to a different hierarchical location.

25. The system of claim 19 , wherein multiple nodes replicate the data to a single node.

26. The system of claim 19 , further comprising program code instructions having program code to perform: traversing a hierarchy for the data at the first node to identify necessary nodes; constructing metadata t the second node corresponding to the necessary nodes; and replicating the data to the second node in correspondence to the metadata.

27. The system of claim 19 , wherein the first node replicates data to multiple other nodes.

28. The method of claim 1 , wherein the first namespace type is a Server Message Block (SMB) namespace protocol.

29. The computer program product of claim 10 , wherein the first namespace type is a Server Message Block (SMB) namespace protocol.

30. The system of claim 19 , wherein the first namespace type is a Server Message Block (SMB) namespace protocol.

Assignments (4)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
RELEASE OF SECURITY INTEREST Recorded Sep 28, 2016
From: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS AGENT
To: NUTANIX, INC.
Reel/Frame 040168/0586 →
SECURITY INTEREST Recorded Apr 15, 2016
From: NUTANIX, INC.
To: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS AGENT
Reel/Frame 038440/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2015
From: RAMACHANDRAN, PARTHASARATHY; BYRNE, BRIAN
To: NUTANIX, INC.
Reel/Frame 036760/0070 →
Continuity (1)
Related Publication 20160188232A1 · Jun 30, 2016