# US 10,484,242 B2 · Dynamic cloud stack configuration

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

- Number: US 10,484,242 B2
- Document ID: US10484242B2
- Status: Granted
- Kind: B2
- Application number: 15/684,765
- Filed: 2017-08-23
- Published: 2019-02-28
- Granted: 2019-11-19
- Earliest claimed: 2017-08-23
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Sandeep Kumar Chauhan; Sasidhar Purushothaman
- Web page: https://patentgrep.com/patent/US10484242B2

## CPC

- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- G06F 8/60: Software deployment
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5072: {Grid computing}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- H04L 41/0859: by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/5051: Service on demand, e.g. definition and deployment of services in real time
- H04L 43/50: Testing arrangements
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06N 20/00: Machine learning
- H04L 41/5096: {wherein the managed service relates to distributed or central networked applications}
- 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)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A dynamic cloud stack configuration system includes a cloud network, which comprises cloud components. A cloud stack server is coupled to the cloud network. The cloud stack server includes an interface, a memory, and a cloud stack configuration engine implemented by a processor. The interface receives a cloud stack request from a user device, which includes functionality parameters. The memory stores historic cloud stack configurations and each is associated with functionality parameters. The cloud stack configuration engine identifies cloud components associated with the functionality parameters. The cloud stack configuration engine further determines a cloud stack configuration, and determines whether the cloud stack configuration is an optimal cloud stack configuration by analyzing the historic cloud stack configurations. In response to determining that the cloud stack configuration is optimal, the cloud stack configuration engine further constructs the cloud stack configuration, and implements it at the user device.

## Claims

### Claim 1

A dynamic cloud stack configuration system comprising:
a cloud network comprising a plurality of cloud components;
a cloud stack server communicatively coupled to the cloud network, the cloud stack server comprising:
an interface operable to receive a cloud stack request from a user device, wherein the cloud stack request identifies user preferences associated with an operation of a cloud stack; and
a memory operable to store a plurality of historic cloud stack configurations, wherein each of the plurality of historic cloud stack configurations is associated with one or more functionality parameters;
a cloud stack configuration engine implemented by a processor operably coupled to the memory and the interface, and configured to:
identify one or more cloud components associated with the user preferences, wherein identifying the one or more cloud components comprises comparing the user preferences with features of the one or more cloud components;
determine the one or more cloud components are compatible with each other;
determine a cloud stack configuration that incorporates the one or more cloud components in response to determining that the one or more cloud components are compatible with each other;
determine whether the cloud stack configuration is an optimal cloud stack configuration by analyzing the historic cloud stack configurations;
in response to determining that the cloud stack configuration is an optimal cloud stack configuration, construct the cloud stack configuration by including the one or more cloud components that are determined to be compatible with each other and that meet the user preferences, and by excluding any cloud components that are determined to be incompatible with a remainder of the cloud stack configuration; and
implement the cloud stack configuration at the user device.

### Claim 2 (depends on 1)

The dynamic cloud stack configuration system of claim 1, wherein the cloud stack configuration engine uses a machine learning technique to determine whether the cloud stack configuration is the optimal cloud stack configuration.

### Claim 3 (depends on 1)

The dynamic cloud stack configuration system of claim 1, wherein the cloud components comprise: a hypervisor, a cloud management suite; a virtual machine; an application; and an operating system.

### Claim 4 (depends on 1)

The dynamic cloud stack configuration system of claim 1, wherein the one or more functionality parameters comprise: a hardware preference; an operating system preference; a preference for open source; a performance requirement; and an intended application.

### Claim 5 (depends on 1)

The dynamic cloud stack configuration system of claim 1, wherein the historic cloud stack configurations are associated with performance metrics of the historic cloud stack configuration.

### Claim 6 (depends on 1)

The dynamic cloud stack configuration system of claim 1, wherein the user device runs one or more virtual machines.

### Claim 7 (depends on 1)

The dynamic cloud stack configuration system of claim 1, wherein the cloud stack configuration comprises: a hypervisor; a virtual machine; an operating system; and an application.

### Claim 8

A method for dynamic cloud stack configuration, comprising:
receiving, by an interface, a cloud stack request from a user device, wherein the cloud stack request identifies user preferences associated with an operation of a cloud and the cloud stack comprises one or more cloud components;
identifying, by a processor communicatively coupled to the interface, one or more cloud components associated with the user preferences, wherein identifying the one or more cloud components comprises comparing the user preferences with features of the one or more cloud components;
determining, by the process, the one or more cloud components are compatible with each other;
determining, by the processor, a cloud stack configuration that incorporates the one or more cloud components in response to determining that the one or more cloud components are compatible with each other;
determining, by the processor, whether the cloud stack configuration is an optimal cloud stack configuration by analyzing historic cloud stack configurations;
in response to determining that the cloud stack configuration is an optimal cloud stack configuration, constructing, by the processor, the cloud stack configuration by including the one or more cloud components that are determined to be compatible with each other and that meet the user preferences, and by excluding any cloud components that are determined to be incompatible with a remainder of the cloud stack configuration; and
implementing, by the interface, the cloud stack configuration at the user device.

### Claim 9 (depends on 8)

The dynamic cloud stack configuration method of claim 8, wherein the cloud stack configuration engine uses a machine learning technique to determine whether the cloud stack configuration is an optimal cloud stack configuration.

### Claim 10 (depends on 8)

The dynamic cloud stack configuration method of claim 8, wherein the cloud components comprise: a hypervisor, a cloud management suite; a virtual machine; an application; and an operating system.

### Claim 11 (depends on 8)

The dynamic cloud stack configuration method of claim 8, wherein the one or more functionality parameters comprise: a hardware preference; an operating system preference; a preference for open source; a performance requirement; and an intended application.

### Claim 12 (depends on 8)

The dynamic cloud stack configuration method of claim 8, wherein the historic cloud stack configurations are associated with performance metrics of the historic cloud stack configuration.

### Claim 13 (depends on 8)

The dynamic cloud stack configuration method of claim 8, wherein the user device runs one or more virtual machines.

### Claim 14 (depends on 8)

The dynamic cloud stack configuration method of claim 8, wherein the cloud stack configuration comprises: a hypervisor; a virtual machine; an operating system; and an application.

### Claim 15

A non-transitory computer-readable medium encoded with logic, the logic operable when executed to:
receive a cloud stack request from a user device, wherein the cloud stack request identifies user preferences associated with an operation of a cloud and the cloud stack comprises one or more cloud components;
identify one or more cloud components associated with the user preferences, wherein identifying the one or more cloud components comprises comparing the user preferences with features of the one or more cloud components;
determine the one or more cloud components are compatible with each other;
determine a cloud stack configuration that incorporates the one or more cloud components in response to determining that the one or more cloud components are compatible with each other;
determine whether the cloud stack configuration is an optimal cloud stack configuration by analyzing historic cloud stack configurations;
in response to determining that the cloud stack configuration is the optimal cloud stack configuration, construct the cloud stack configuration by including the one or more cloud components that are determined to be compatible with each other and that meet the user preferences, and by excluding any cloud components that are determined to be incompatible with a remainder of the cloud stack configuration; and
implement the cloud stack configuration at the user device.

### Claim 16 (depends on 15)

The computer-readable medium of claim 15, wherein the logic is further operable to use a machine learning technique to determine whether the cloud stack configuration is an optimal cloud stack configuration.

### Claim 17 (depends on 15)

The computer-readable medium of claim 15, wherein the cloud components comprise: a hypervisor, a cloud management suite; a virtual machine; an application; and an operating system.

### Claim 18 (depends on 15)

The computer-readable medium of claim 15, wherein the one or more functionality parameters comprise: a hardware preference; an operating system preference; a preference for open source; a performance requirement; and an intended application.

### Claim 19 (depends on 15)

The computer-readable medium of claim 15, wherein the historic cloud stack configurations are associated with performance metrics of the historic cloud stack configuration.

### Claim 20 (depends on 15)

The computer-readable medium of claim 15, wherein the user device runs one or more virtual machines.
