IP Library Granted Patent US 10,419,548
Granted Patent B1
US 10,419,548 · App. 15/607,278 · Granted Sep 17, 2019

Efficient scaling of computing resources by accessing distributed storage targets

Inventors: Tabrez Memon (Santa Clara, CA); Jaya Singhvi (Cupertino, CA); Miao Cui (New York, NY); Binny Sher Gill (San Jose, CA)
Assignee: Nutanix, Inc.
H04L67/148G06F3/0647G06F9/45558G06F3/0604G06F3/0683G06F2009/4557
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,419,548
App. No.
15/607,278
Filed
May 26, 2017
Granted
Sep 17, 2019
Kind
B1
Art Unit
2195
USPC
718/1
Abstract

Systems and methods for storage resource and computation resource expansion. A method embodiment includes migrating a computing task from an external computing environment to a different computing/storage environment. The method commences by identifying a storage system having virtualized controllers and by identifying a computing device that performs a workload that interfaces with the storage system. The virtualized controllers execute in the second computing environment to manage access to storage target devices by accessing a storage target device identified by an IP address. A particular virtualized controller that is connected to the storage target device is selected and configured to process storage I/O from a migrated workload. A user virtual machine or user executable container is configured to execute the workload on one of the nodes in the computing and storage system within the second computing environment. After migration, the computing task from the external computing environment is discarded or decommissioned.

Claims (44)

1. A method, comprising:

identifying a workload sent for execution to an external computing device located external to a virtualization environment,

the virtualization environment comprising a computing node having a storage device and a virtualized controller managing access to the storage device, and data for the external computing device is stored within the storage device in the virtualization environment,

wherein the virtualization environment comprises multiple computing nodes and a storage pool having multiple storage devices, the multiple computing nodes comprising respective virtualized controllers that manage access to the storage pool;

configuring a user virtual machine or user executable container to execute at least a portion of the workload on the computing node, wherein the data for the external computing device is accessible to the user virtual machine or user executable container using the virtualized controller, wherein the user virtual machine or user executable container accesses a snapshot on at least one of the multiple storage devices; and

redirecting execution of the at least a portion of the workload from the external computing device to the user virtual machine or the user executable container.

2. The method of claim 1 , further comprising:

identifying the external computing device in an external computing environment, the external computing device performing at least a part of the workload that interfaces with the storage pool by accessing the storage pool identified by a network address, wherein

the user virtual machine or user executable container accesses the storage device via the virtualized controller based at least in part on processing of a redirect command.

3. The method of claim 2 , further comprising:

identifying the virtualized controller from the respective virtualized controllers, the virtualized controller being connected to the storage device identified by the network address.

4. The method of claim 1 , further comprising selecting the virtualized controller based at least in part on at least one of one or more controller selection policy attributes, one or more policy specifications, one or more node loading attributes, one or more node topology attributes, or one or more events.

5. The method of claim 4 , wherein the one or more controller selection policy attributes describe at least one of one or more preferred virtualized controllers, one or more excluded virtualized controllers, a virtualized controller health, a virtualized controller loading, or a random selection algorithm.

6. The method of claim 1 , further comprising deleting, responsive to a workload activity threshold breach, at least one of the user virtual machine or user executable container, or the snapshot.

7. The method of claim 1 , further comprising detaching, responsive to configuring the user virtual machine or user executable container, the external computing device from the virtualized controller.

8. The method of claim 1 , wherein at least one of the external computing device, or the user virtual machine or user executable container comprises a protocol initiator to facilitate access to the storage device.

9. The method of claim 1 , redirecting the execution comprising:

determining the storage device from the multiple storage devices in the storage pool managed by at least the virtualized controller on a host machine; and

determining the virtual machine or executable container from multiple virtual machines or executable containers on the host machine based at least in part upon network identification information of the multiple storage devices, wherein

the virtualized controller being connected to the storage pool is connected by at least one of a virtual network address, or a DNS-resolvable hostname.

10. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a microprocessor, causes the microprocessor to perform a set of acts, the set of acts comprising:

identifying a workload sent for execution to an external computing device located external to a virtualization environment,

the virtualization environment comprising a computing node having a storage device and a virtualized controller managing access to the storage device, and data for the external computing device is stored within the storage device in the virtualization environment,

wherein the virtualization environment comprises multiple computing nodes and a storage pool having multiple storage devices, the multiple computing nodes comprising respective virtualized controllers that manage access to the storage pool;

configuring a user virtual machine or user executable container to execute at least a portion of the workload on the computing node, wherein the data for the external computing device is accessible to the user virtual machine or user executable container using the virtualized controller, wherein the user virtual machine or user executable container accesses a snapshot on at least one of the multiple storage devices; and

redirecting execution of the at least a portion of the workload from the external computing device to the user virtual machine or the user executable container.

11. The non-transitory computer readable medium of claim 10 , the set of acts further comprising:

identifying the external computing device in an external computing environment, the external computing device performing at least a part of the workload that interfaces with the storage pool by accessing the storage pool identified by a network address, wherein the workload is an application.

12. The non-transitory computer readable medium of claim 10 , the set of acts further comprising selecting the virtualized controller based at least in part on at least one of one or more controller selection policy attributes, one or more policy specifications, one or more node loading attributes, one or more node topology attributes, or one or more events.

13. The non-transitory computer readable medium of claim 12 , wherein the one or more controller selection policy attributes describe at least one of one or more preferred virtualized controllers, one or more excluded virtualized controllers, a virtualized controller health, a virtualized controller loading, or a random selection algorithm.

14. The non-transitory computer readable medium of claim 10 , the set of acts further comprising deleting, responsive to a workload activity threshold breach, at least one of the user virtual machine or user executable container, or the snapshot.

15. The non-transitory computer readable medium of claim 10 , the set of acts further comprising detaching, responsive to configuring the user virtual machine or user executable container, the external computing device from the virtualized controller.

16. The non-transitory computer readable medium of claim 10 , the set of acts further comprising selecting the virtualized controller based at least in part on at least one of one or more controller selection policy attributes or one or more events.

17. A system, comprising:

a non-transitory storage medium having stored thereon a sequence of instructions; and

one or more processors that execute the instructions to cause the one or more processors to perform a set of acts, the set of acts comprising,

identifying a workload sent for execution to an external computing device located external to a virtualization environment,

the virtualization environment comprising a computing node having a storage device and a virtualized controller managing access to the storage device, and data for the external computing device is stored within the storage device in the virtualization environment,

wherein the virtualization environment comprises multiple computing nodes and a storage pool having multiple storage devices, the multiple computing nodes comprising respective virtualized controllers that manage access to the storage pool;

configuring a user virtual machine or user executable container to execute at least a portion of the workload on the computing node, wherein the data for the external computing device is accessible to the user virtual machine or user executable container using the virtualized controller; and

redirecting execution of the at least a portion of the workload from the external computing device to the user virtual machine or the user executable container.

18. The system of claim 17 , the set of acts further comprising:

identifying the external computing device in an external computing environment, the external computing device performing at least a part of the workload that interfaces with the storage pool by accessing the storage pool identified by a network address; and

identifying the virtualized controller from the respective virtualized controllers, the virtualized controller being connected to the storage device identified by the network address.

Assignments (3)
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 Jun 6, 2019
From: CUI, MIAO
To: NUTANIX, INC.
Reel/Frame 049398/0562 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2017
From: MEMON, TABREZ; SINGHVI, JAYA; GILL, BINNY SHER
To: NUTANIX, INC.
Reel/Frame 042520/0187 →
Continuity (3)
Provisional Application 62342019 · May 26, 2016
Provisional Application 62341977 · May 26, 2016
Provisional Application 62341991 · May 26, 2016