IP Library Granted Patent US 11,368,519
Granted Patent B2
US 11,368,519 · App. 16/947,098 · Granted Jun 21, 2022

Architecture for managing I/O and storage for a virtualization environment using executable containers and virtual machines

Inventors: Binny Sher Gill (San Jose, CA); Karan Gupta (San Jose, CA); Miao Cui (New York, NY)
Assignee: Nutanix, Inc.
H04L67/10G06F9/45558H04L67/1097G06F2009/45579H04L61/2514H04L61/2525
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,368,519
App. No.
16/947,098
Filed
Jul 17, 2020
Granted
Jun 21, 2022
Kind
B2
Art Unit
2446
USPC
709/223
Abstract

Systems for high-performance computing. A storage control architecture is implemented by a plurality of nodes, where a node comprises combinations of executable containers that execute in cooperation with virtual machines running above a hypervisor. The containers run in a virtual machine above a hypervisor, and/or can be integrated directly into the operating system of a host node. Sensitive information such as credit card information may be isolated from the containers in a separate virtual machine that is configured to be threat resistant, and which can be accessed through a threat resistant interface module. One of the virtual machines of the node may be a node-specific control virtual machine that is configured to operate as a dedicated storage controller for a node. One of the virtual machines of the node may be a node-specific container service machine that is configured to provide storage-related and other support to a hosted executable container.

Claims (36)

1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when execute a processor causes the processor to perform a set of acts comprising:

determining a deployment location for an executable container, the deployment location comprising a node of a plurality of nodes forming a hyper-converged environment having a virtualized storage resource, the deployment location being determined using a container service;

deploying the executable container to a container service machine at the deployment location determined by the container service, wherein the executable container initiates a storage access input/output (I/O) command; and

processing the storage access I/O command initiated by the executable container at the deployment location to access the virtualized storage resource of the hyper-converged environment.

2. The computer readable medium of claim 1 , wherein the container service comprises a control virtual machine that manages a virtual disk accessible using the storage access I/O command initiated by the executable container and the virtual disk managed by the container service corresponds to a block device or a server target.

3. The computer readable medium of claim 1 , wherein the container service accesses the virtualized storage resource of the hyper-converged environment to process the storage access I/O command, and the virtualized storage resource of the hyper-converged environment is shared by a plurality of container services.

4. The computer readable medium of claim 1 , wherein a request for storage managed by a second container service on a second node is sent from the container service on the node to the second node to be processed by the second container service.

5. The computer readable medium of claim 1 , wherein a plurality of container services for each of the plurality of nodes corresponds to a same IP address, a same fully-qualified domain name, or a same hostname that is isolated by an internal VLAN.

6. The computer readable medium of claim 1 , wherein the container service formats the storage access I/O command into a request to a virtual disk stored on the virtualized storage resource of the hyper-converged environment.

7. The computer readable medium of claim 1 , wherein the container service maintains metadata for virtual disks managed by the container service and the virtualized storage resource of the hyper-converged environment is accessible to a plurality of user virtual machines.

8. The computer readable medium of claim 1 , wherein the executable container comprises an operating system component and the storage access I/O command initiated by the executable container is forwarded by the container service without modification.

9. The computer readable medium of claim 1 , wherein the container service the executable container is part of a group of executable containers that are deployed at the same node as a swarm.

10. A method comprising:

determining a deployment location for an executable container, the deployment location comprising a node of a plurality of nodes forming a hyper-converged environment having a virtualized storage resource, the deployment location being determined using a container service;

deploying the executable container to a container service machine at the deployment location determined by the container service, wherein the executable container initiates a storage access input/output (I/O) command; and

processing the storage access I/O command initiated by the executable container at the deployment location to access the virtualized storage resource of the hyper-converged environment.

11. The method of claim 10 , wherein the container service comprises a control virtual machine that manages a virtual disk accessible using the storage access I/O command initiated by the executable container and the virtual disk managed by the container service corresponds to a block device or a server target.

12. The method of claim 10 , wherein the container service accesses the virtualized storage resource of the hyper-converged environment to process the storage access I/O command, and the virtualized storage resource of the hyper-converged environment is shared by a plurality of container services.

13. The method of claim 10 , wherein a request for storage managed by a second container service on a second node is sent from the container service on the node to the second node to be processed by the second container service.

14. The method of claim 10 , wherein a plurality of container services for each of the plurality of nodes corresponds to a same IP address, a same fully-qualified domain name, or a same hostname that is isolated by an internal VLAN.

15. The method of claim 10 , wherein the container service formats the storage access I/O command into a request to a virtual disk stored on the virtualized storage resource of the hyper-converged environment.

16. The method of claim 10 , wherein the container service maintains metadata for virtual disks managed by the container service and the virtualized storage resource of the hyper-converged environment is accessible to a plurality of user virtual machines.

17. The method of claim 10 , wherein the container service the executable container is part of a group of executable containers that are deployed at the same node as a swarm.

18. A system comprising:

a storage medium having stored thereon a sequence of instructions; and

a processor that executes the sequence of instructions to perform a set of acts comprising:

determining a deployment location for an executable container, the deployment location comprising a node of a plurality of nodes forming a hyper-converged environment having a virtualized storage resource, the deployment location being determined using a container service;

deploying the executable container to a container service machine at the deployment location determined by the container service, wherein the executable container initiates a storage access input/output (I/O) command; and

processing the storage access I/O command initiated by the executable container at the deployment location to access the virtualized storage resource of the hyper-converged environment.

19. The system of claim 18 , wherein the container service comprises a control virtual machine that manages a virtual disk accessible using the storage access I/O command initiated by the executable container and the virtual disk managed by the container service corresponds to a block device or a server target.

20. The system of claim 18 , wherein the container service accesses the virtualized storage resource of the hyper-converged environment to process the storage access I/O command, and the virtualized storage resource of the hyper-converged environment is shared by a plurality of container services.

21. The system of claim 18 , wherein a request for storage managed by a second container service on a second node is sent from the container service on the node to the second node to be processed by the second container service.

22. The system of claim 18 , wherein a plurality of container services for each of the plurality of nodes corresponds to a same IP address, a same fully-qualified domain name, or a same hostname that is isolated by an internal VLAN.

23. The system of claim 18 , wherein the container service formats the storage access I/O command into a request to a virtual disk stored on the virtualized storage resource of the hyper-converged environment.

24. The system of claim 18 , wherein the container service maintains metadata for virtual disks managed by the container service and the virtualized storage resource of the hyper-converged environment is accessible to a plurality of user virtual machines.

25. The system of claim 18 , wherein the executable container comprises an operating system component and the storage access I/O command initiated by the executable container is forwarded by the container service without modification.

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 Aug 12, 2020
From: GILL, BINNY SHER; GUPTA, KAREN; CUI, MIAO
To: NUTANIX, INC.
Reel/Frame 053470/0966 →