# US 2020/0404076 A1 · Method for deploying an application workload on a cluster

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

- Number: US 2020/0404076 A1
- Document ID: US20200404076A1
- Status: Published application
- Kind: A1
- Application number: 16/446,315
- Filed: 2019-06-19
- Published: 2020-12-24
- Earliest claimed: 2019-06-19
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Nilakantan Mahadevan
- Web page: https://patentgrep.com/patent/US20200404076A1

## CPC

- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F 8/61: Installation
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5044: {considering hardware capabilities}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 9/5072: {Grid computing}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0836: {to enhance reliability, e.g. reduce downtime}
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure describes a plurality of examples for deploying an application workload consisting of micro-service instances. The examples include federating a cluster from a plurality of computing nodes, defining a network overlay policy based on an application policy associated with the application workload, configuring one or more virtual networks in accordance with defined network overlay policy, each virtual network from one or more virtual networks connects one or more computing nodes from the two or more computing nodes of the cluster for providing layer 2 adjacency, and deploying the plurality of micro-service instances on the two or more computing nodes in accordance with the network overlay policy, for executing the application workload.

## Claims

### Claim 1

A method for deploying an application workload, the method comprising:
a. federating a cluster from a plurality of computing nodes, wherein each computing node is connected to other computing nodes from the plurality of computing node by one or more network devices and wherein the cluster comprises two or more computing nodes from the plurality of computing nodes;
b. defining a network overlay policy based on an application policy associated with the application workload, wherein the application workload comprises a plurality of micro-service instances and wherein application policy is indicative of one or more relationships between the plurality of the micro-service instances;
c. configuring one or more virtual networks in accordance with defined network overlay policy, wherein each virtual network from one or more virtual networks connects one or more computing nodes from the two or more computing nodes of the cluster for providing layer 2 adjacency; and
d. deploying the plurality of micro-service instances on the two or more computing nodes in accordance with the network overlay policy, for executing the application workload.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein each micro-service instance from the plurality of micro-service instances, is associated with at least one tenant and wherein configuring one or more virtual networks in accordance with the defined network overlay policy further includes
a. identifying a first set of micro-service instances associated with a first tenant and a second set of instances associated with a second tenant based on the application policy associated with the application workload;
b. configuring a first virtual network and a second virtual network from the one or more virtual networks, wherein the first virtual network is associated with the first set of micro-service instances and the second virtual network is associated with the second set of micro-service instances.

### Claim 3 (depends on 1)

The method as claimed in claim 1, wherein defining the network overlay policy comprises generating an application policy graph from the application policy associated with the application workload, wherein the application policy graph comprises a root node indicative of the application workload and a plurality of child nodes associated with the micro-services wherein an edge between two child nodes is indicative of a relationship between the corresponding two micro-services.

### Claim 4 (depends on 1)

The method as claimed in claim 1, wherein the application policy comprises configuration information associated with the plurality of micro-service instances, wherein configuration information of each micro-service instance comprises tenant identifier, and process identifiers of related micro-service instances.

### Claim 5 (depends on 1)

The method as claimed in claim 1, wherein federating the cluster further comprises:
a. identifying a plurality of fault domains based on network information and the enclosure information associated with the plurality of computing nodes, wherein each fault domain includes one or more computing nodes impacted by at least one of a corresponding network fault event and a corresponding enclosure fault event; and
b. selecting the two or more computing nodes from the plurality of fault domains for federating a cluster, wherein a first computing node from the two or more computing nodes, is from a first fault domain and a second computing node from the two or more computing nodes is from a second fault domain, wherein the first and second fault domains form a disjoint set, and every node from the first fault domain is distinct from the nodes of the second fault domain.

### Claim 6 (depends on 1)

The method as claimed in claim 1, wherein the plurality of computing nodes including a first set of physical nodes and a second set of virtual nodes.

### Claim 7 (depends on 1)

The method as claimed in claim 1, wherein one or more computing nodes are interconnected via a virtual switch (vSwitch).

### Claim 8 (depends on 1)

The method as claimed in claim 1, selecting the two or more computing nodes further comprises
a. generating a graph model from the network information and the enclosure information, wherein a plurality of nodes from the graph model are indicative of the plurality of computing nodes and wherein each sub-tree in the graph model is indicative of a fault domain from the plurality of fault domains, each sub-tree comprises a root node and one or more child nodes wherein the one or more computing nodes associated with the child nodes are impacted by a fault associated with associated with the root node; and
b. determining the first computing node and the second computing node, wherein distance of a path between a first node associated with the first computing node, in the graph model and a second node associated with the second computing node via the root node of the graph model, is less than distance of paths between other nodes in the graph via the root node of the graph model.

### Claim 9 (depends on 8)

The method as claimed in claim 8, wherein defining the network overlay policy further comprises determining a first computing node and second computing node for deploying a first micro-service instance and second micro-service instance, wherein the first computing node is from a first fault domain and the second computing node is from the second fault domain, and wherein the first fault domain and the second fault domain form a disjoint set.

### Claim 10

A cluster management system, the cluster management system comprising:
a. a plurality of computing nodes, wherein each computing node is connected to other computing nodes via one or more network devices;
b. a controller connected to the plurality of computing nodes, the controller for:
i. federating a cluster from a plurality of computing nodes, wherein each computing node is connected to other computing nodes from the plurality of computing node by one or more network devices and wherein the cluster comprises two or more computing nodes from the plurality of computing nodes;
ii. defining a network overlay policy based on an application policy associated with the application workload, wherein the application workload comprises a plurality of micro-service instances and wherein application policy is indicative of one or more relationships between the plurality of the micro-service instances;
iii. configuring one or more virtual networks in accordance with defined network overlay policy, wherein the each virtual network from one or more virtual networks connects one or more computing nodes from the two or more computing nodes of the cluster for providing layer 2 adjacency; and
iv. deploying the plurality of micro-service instances on the two or more computing nodes in accordance with the network overlay policy, for executing the application workload.

### Claim 11 (depends on 10)

The cluster management system as claimed in claim 10, wherein the application policy comprises configuration information associated with the plurality of micro-service instances, wherein configuration information of each micro-service instance comprises tenant identifier, and process identifiers of related micro-service instances.

### Claim 12 (depends on 10)

The cluster management system as claimed in claim 10, wherein the plurality of computing nodes including a first set of physical nodes and a second set of virtual nodes.

### Claim 13 (depends on 10)

The cluster management system as claimed in claim 10, wherein one or more computing nodes are interconnected via a virtual switch (vSwitch).

### Claim 14

A non-transitory machine-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to:
a. federate a cluster from a plurality of computing nodes, wherein each computing node is connected to other computing nodes from the plurality of computing node by one or more network devices and wherein the cluster comprises two or more computing nodes from the plurality of computing nodes;
b. define a network overlay policy based on an application policy associated with the application workload, wherein the application workload comprises a plurality of micro-service instances and wherein application policy is indicative of one or more relationships between the plurality of the micro-service instances;
c. configure one or more virtual networks in accordance with defined network overlay policy, wherein the each virtual network from one or more virtual networks connects one or more computing nodes from the two or more computing nodes of the cluster for providing layer 2 adjacency; and
d. deploy the plurality of micro-service instances on the two or more computing nodes in accordance with the network overlay policy, for executing the application workload.

### Claim 15 (depends on 14)

The non-transitory machine-readable storage medium as claimed in claim 14, wherein each micro-service instance from the plurality of micro-service instances, is associated with at least one tenant and wherein instructions to configure one or more virtual networks in accordance with the defined network overlay policy, further includes instructions that when executed by the at least one processor, causes the at least one processor to:
a. identify a first set of micro-service instances associated with a first tenant and a second set of instances associated with a second tenant based on the application policy associated with the application workload;
b. configure a first virtual network and a second virtual network from the one or more virtual networks, wherein the first virtual network is associated with the first set of micro-service instances and the second virtual network is associated with the second set of micro-service instances.

### Claim 16 (depends on 14)

The non-transitory machine-readable storage medium as claimed in claim 14, wherein instructions to define the network overlay policy further includes instructions that when executed by the at least one processor, causes the at least one processor to generate an application policy graph from the application policy associated with the application workload, wherein the application policy graph comprises a root node indicative of the application workload and a plurality of child nodes associated with the micro-services wherein an edge between two child nodes is indicative of a relationship between the corresponding two micro-services.

### Claim 17 (depends on 14)

The non-transitory machine-readable storage medium as claimed in claim 14, wherein the application policy comprises configuration information associated with the plurality of micro-service instances, wherein configuration information of each micro-service instance comprises tenant identifier, and process identifiers of related micro-service instances.

### Claim 18 (depends on 14)

The non-transitory machine-readable storage medium as claimed in claim 14, wherein instructions to federate the cluster includes instructions that when executed by the at least one processor, causes the at least one processor to:
a. identify a plurality of fault domains based on network information and the enclosure information associated with the plurality of computing nodes, wherein each fault domain includes one or more computing nodes impacted by at least one of a corresponding network fault event and a corresponding enclosure fault event; and
b. select the two or more computing nodes from the plurality of fault domains for federating a cluster, wherein a first computing node from the two or more computing nodes, is from a first fault domain and a second computing node from the two or more computing nodes is from a second fault domain, wherein the first and second fault domains form a disjoint set, and every node from the first fault domain is distinct from the nodes of the second fault domain.

### Claim 19 (depends on 14)

The non-transitory machine-readable storage medium as claimed in claim 14, wherein the plurality of computing nodes including a first set of physical nodes and a second set of virtual nodes.

### Claim 20 (depends on 14)

The non-transitory machine-readable storage medium as claimed in claim 14, wherein one or more computing nodes are interconnected via a virtual switch (vSwitch).
