# US 12,591,446 B2 · Configuring virtualization system images for a computing cluster

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,591,446 B2
- Document ID: US12591446B2
- Status: Granted
- Kind: B2
- Application number: 18/216,511
- Filed: 2023-06-29
- Published: 2024-02-29
- Granted: 2026-03-31
- Earliest claimed: 2020-12-31
- Assignees: Nutanix, Inc.
- Applicants: Nutanix, Inc.
- Inventors: Joshua John Berry; Mohan Maturi; Shlomo Shlomi Vaknin; Aman Nijhawan; Anil Kumar Kushwah; Avi Bhandari; Jan Ralf Alexander Olderdissen
- Web page: https://patentgrep.com/patent/US12591446B2

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 8/60: Software deployment
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A plurality of different virtualization system images are configured for deployment to a plurality of nodes in heterogeneous environments. Individual ones of the virtualization system images are configured such that once deployed, the nodes form a computer cluster having a storage pool that is shared across the nodes. When configuring the virtualization system images, information that describes the heterogeneous computing environments is accessed, and constraints pertaining the heterogeneous computing environments are reconciled in advance of configuring the different virtualization system images. A common subnet across the heterogeneous environments is established. The plurality of different virtualization system images are configured to access the common subnet once deployed. The common subnet serves as a storage I/O communication path over which a cluster-wide storage pool is implemented. The virtualization system images are configured to correspond to address portions of a contiguous address space that is used to access data in the storage pool.

## Claims

### Claim 1

A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor, cause acts comprising:
identifying a set of candidate nodes, the set of candidate nodes being distributed across first and second cloud environments;
identifying a subset of nodes of the set of candidate nodes that can be configured to be included in a cluster distributed across the first and second cloud environments and interconnected using a common subnet; and
bringing up a cluster comprising the subset of nodes by exchanging communications between each node of the subset of nodes over the same common subnet, at least by:
defining a logical subnet across the first and second cloud environments; and
deploying one of two or more configurations to respective nodes of a portion of the subset of nodes to form the cluster, wherein
the two or more configurations comprise virtualization system images, a first virtualization system image corresponding to the first cloud environment and a second virtualization system image corresponding to the second cloud environment, the virtualization system images are configured to be node specific, each node of the subset of nodes is assigned a network identity and a cluster identity in a corresponding virtualization system image, the network identity is associated with the cluster identity, and each node of the subset of nodes knows which nodes have been assigned into the cluster, and
the common subnet forms a communication path for the portion of the subset of nodes that form the cluster, the cluster spanning the first and second cloud environments, and the configurations of the respective nodes of the portion of the subset of nodes cause the subset of nodes to self-assemble using the common subnet.

### Claim 2 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the acts further comprise provisioning networking equipment to form an isolated network for the cluster using a private VxLAN as an overlay and provisioning a tenant-specific secure underlay within the private VxLAN.

### Claim 3 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the cluster indicates readiness to process a workload after completing self-assembly.

### Claim 4 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the first cloud environment comprises a first heterogeneous pool of on-premises nodes and the second cloud environment comprises a second heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, or specialized nodes.

### Claim 5 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the common subnet further spans a third cloud environment, and one or more nodes of the third cloud environment are configured to cause the one or more nodes to self-assemble with the subset of nodes using the common subnet.

### Claim 6 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the virtualization system images are configured such that, when executed, the portion of the subset of nodes are able to communicate with each other to self-assemble themselves into a cluster.

### Claim 7 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the virtualization system images are configured by one or more of: (1) assigning node-specific identities, (2) assigning an initial leader, (3) setting of initial environment-specific parameters, (4) setting parameters for an initial networking configuration, (5) setting an initial networking configuration for communications between first and second cloud environments, or (6) setting parameters for accepting commands or other messages from on-cluster or external control systems.

### Claim 8 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the first cloud environment comprises a first heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, on-premises nodes, or specialized nodes, and the second cloud environment comprises a second heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, on-premises nodes, or specialized nodes.

### Claim 9

A method comprising:
identifying a set of candidate nodes, the set of candidate nodes being distributed across first and second cloud environments;
identifying a subset of nodes of the set of candidate nodes that can be configured to be included in a cluster distributed across the first and second cloud environments and interconnected using a common subnet; and
bringing up a cluster comprising the subset of nodes by exchanging communications between each node of the subset of nodes over the same common subnet, at least by:
defining a logical subnet across the first and second cloud environments; and
deploying one of two or more configurations to respective nodes of a portion of the subset of nodes to form the cluster, wherein
the two or more configurations comprise virtualization system images, a first virtualization system image corresponding to the first cloud environment and a second virtualization system image corresponding to the second cloud environment, the virtualization system images are configured to be node specific, each node of the subset of nodes is assigned a network identity and a cluster identity in a corresponding virtualization system image, the network identity is associated with the cluster identity, and each node of the subset of nodes knows which nodes have been assigned into the cluster, and
the common subnet forms a communication path for the portion of the subset of nodes that form the cluster, the cluster spanning the first and second cloud environments, and the configurations of the respective nodes of the portion of the subset of nodes cause the subset of nodes to self-assemble using the common subnet.

### Claim 10 (depends on 9)

The method of claim 9, further comprising provisioning networking equipment to form an isolated network for the cluster using a private VxLAN as an overlay and provisioning a tenant-specific secure underlay within the private VxLAN.

### Claim 11 (depends on 9)

The method of claim 9, wherein the cluster indicates readiness to process a workload after completing self-assembly.

### Claim 12 (depends on 9)

The method of claim 9, wherein the first cloud environment comprises a first heterogeneous pool of on-premises nodes and the second cloud environment comprises a second heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, or specialized nodes.

### Claim 13 (depends on 9)

The method of claim 9, wherein the common subnet further spans a third cloud environment, and one or more nodes of the third cloud environment are configured to cause the one or more nodes to self-assemble with the subset of nodes using the common subnet.

### Claim 14 (depends on 9)

The method of claim 9, wherein the virtualization system images are configured such that, when executed, the portion of the subset of nodes are able to communicate with each other to self-assemble themselves into a cluster.

### Claim 15 (depends on 9)

The method of claim 9, wherein the virtualization system images are configured by one or more of: (1) assigning node-specific identities, (2) assigning an initial leader, (3) setting of initial environment-specific parameters, (4) setting parameters for an initial networking configuration, (5) setting an initial networking configuration for communications between first and second cloud environments, or (6) setting parameters for accepting commands or other messages from on-cluster or external control systems.

### Claim 16 (depends on 9)

The method of claim 9, wherein the first cloud environment comprises a first heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, on-premises nodes, or specialized nodes, and the second cloud environment comprises a second heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, on-premises nodes, or specialized nodes.

### Claim 17

A computing system comprising:
a storage medium having stored thereon a sequence of instructions; and
a processor that executes the sequence of instructions to cause a set of acts comprising:
identifying a set of candidate nodes, the set of candidate nodes being distributed across first and second cloud environments;
identifying a subset of nodes of the set of candidate nodes that can be configured to be included in a cluster distributed across the first and second cloud environments and interconnected using a common subnet; and
bringing up a cluster comprising the subset of nodes by exchanging communications between each node of the subset of nodes over the same common subnet, at least by:
defining a logical subnet across the first and second cloud environments; and
deploying one of two or more configurations to respective nodes of a portion of the subset of nodes to form the cluster, wherein
the two or more configurations comprise virtualization system images, a first virtualization system image corresponding to the first cloud environment and a second virtualization system image corresponding to the second cloud environment, the virtualization system images are configured to be node specific, each node of the subset of nodes is assigned a network identity and a cluster identity in a corresponding virtualization system image, the network identity is associated with the cluster identity, and each node of the subset of nodes knows which nodes have been assigned into the cluster, and
the common subnet forms a communication path for the portion of the subset of nodes that form the cluster, the cluster spanning the first and second cloud environments, and the configurations of the respective nodes of the portion of the subset of nodes cause the subset of nodes to self-assemble using the common subnet.

### Claim 18 (depends on 17)

The computing system of claim 17, wherein the set of acts further comprise provisioning networking equipment to form an isolated network for the cluster using a private VxLAN as an overlay and provisioning a tenant-specific secure underlay within the private VxLAN.

### Claim 19 (depends on 17)

The computing system of claim 17, wherein the cluster indicates readiness to process a workload after completing self-assembly.

### Claim 20 (depends on 17)

The computing system of claim 17, wherein the first cloud environment comprises a first heterogeneous pool of on-premises nodes and the second cloud environment comprises a second heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, or specialized nodes.

### Claim 21 (depends on 17)

The computing system of claim 17, wherein the common subnet further spans a third cloud environment, and one or more nodes of the third cloud environment are configured to cause the one or more nodes to self-assemble with the subset of nodes using the common subnet.

### Claim 22 (depends on 17)

The computing system of claim 17, wherein the virtualization system images are configured such that, when executed, the portion of the subset of nodes are able to communicate with each other to self-assemble themselves into a cluster.

### Claim 23 (depends on 17)

The computing system of claim 17, wherein the virtualization system images are configured by one or more of: (1) assigning node-specific identities, (2) assigning an initial leader, (3) setting of initial environment-specific parameters, (4) setting parameters for an initial networking configuration, (5) setting an initial networking configuration for communications between first and second cloud environments, or (6) setting parameters for accepting commands or other messages from on-cluster or external control systems.

### Claim 24 (depends on 17)

The computing system of claim 17, wherein the first cloud environment comprises a first heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, on-premises nodes, or specialized nodes, and the second cloud environment comprises a second heterogeneous pool of: nodes of a public cloud facility, nodes of a bare metal provider, on-premises nodes, or specialized nodes.
