IP Library Granted Patent US 11,831,495
Granted Patent B2
US 11,831,495 · App. 17/066,675 · Granted Nov 28, 2023

Hierarchical cloud computing resource configuration techniques

Inventor: Jeremy Collins (Leesburg, CA)
Assignee: Perfect Sense, Inc.
H04L41/0803G06F9/5088H04L41/22
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,831,495
App. No.
17/066,675
Granted
Nov 28, 2023
Kind
B2
Abstract

Techniques and systems are disclosed to provide a configuration tool that can be used to improve configuration of cloud-based network resources. In some implementations, data indicating (i) a present configuration state of a cloud computing resource, and (ii) a desired state configuration of the cloud computing resource is obtained. A determination is made that adjusting the cloud computing resource from the present state configuration to the desired state configuration includes executing one or more operations classified as likely involving user confirmation. A workflow representation is generated for configuring the cloud computing resource from the present state configuration to the desired state configuration. The workflow representation identifies a hierarchical arrangement of tasks to be performed. A user interface is provided for output to a computing device. The user interface enables a user to perceive the hierarchical arrangement of tasks to be performed in configuration of the cloud computing resource.

Claims (72)

1. A method performed by one or more computers, the one or more computers being configured to execute a command-line tool for configuring a cloud computing resource and comprising a state processor and a configuration processor, the method comprising:

obtaining, by the state processor, data indicating (i) a present configuration state of the cloud computing resource, and (ii) a desired state configuration of the cloud computing resource;

determining, by the state processor, that adjusting the cloud computing resource from the present state configuration to the desired state configuration comprises executing one or more operations classified as involving user confirmation;

based on the determination that adjusting the cloud computing resource involves executing, the one or more operations, generating a workflow representation for configuring the cloud computing resource from the present state configuration to the desired state configuration, wherein:

the workflow representation identifies a hierarchical arrangement for a set of tasks to be performed in configuration of the cloud computing resource,

the set of tasks comprises (i) a first task that a user is permitted to configure through a user interface associated with the command line tool, the first task implemented on a first hardware platform, and (ii) a second task that the user is restricted from configuring through the user interface, the second task implemented on a second hardware platform that is different than the first hardware platform;

receiving, by the configuration processor and through the user interface, a user input associated with the set of tasks, wherein the user input specifies one or more configurations to the set of tasks specified by the workflow representation;

determining, by the configuration processor, that the user input specifies a configuration corresponding to the second task;

in response to determining that the user input specifies the configuration to the second task:

identifying, by the configuration processor, one or more template workflow representations from a repository of previously-generated workflow representations for prior configuration operations that configure the cloud computing resource from the present state configuration to the desired state configuration but do not include the second task;

providing, by the configuration processor and through the user interface, an indication for the user to replace the workflow representation with the one or more template workflow representations;

receiving, by the configuration processor and through the user interface, a second user input selecting a template workflow representation from the one or more template workflow representations, wherein the template workflow representation selected by the user is associated with a second set of tasks;

in response to receiving the second user input, configuring, by the configuration processor, the cloud computing resource according to the template workflow representation selected by the user.

2. The method of claim 1 , wherein the hierarchical arrangement of tasks specified in the workflow representation indicates a sequence for executing the set of tasks.

3. The method of claim 2 , wherein the hierarchical arrangement for the set of tasks specified in the workflow representation indicates, for each task included in the set of the tasks:

a set of one or more operations to be performed during execution of a particular task; and one or more execution parameters associated with each of the one or more operations included in the set of one or more operations.

4. The method of claim 3 , wherein the user interface enables the user to provide one or more user inputs to adjust values for the one or more execution parameters.

5. The method of claim 1 , wherein the set of tasks specified by the hierarchical arrangement of tasks comprises:

the first task to delete an existing instance of the cloud computing resource;

the second task to create a new instance of the cloud computing resource; and

a third task to migrate one or more components presently configured to the existing instance to the new instance.

6. The method of claim 1 , further comprising:

obtaining, through the user interface, data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration;

in response to obtaining the data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration, generating a configuration instruction based on the workflow representation; and

providing the configuration instruction to a configuration server associated with the cloud computing resource.

7. The method of claim 6 , wherein generating the configuration instruction comprises:

identifying, for each task within the hierarchical arrangement of the set of tasks specified by the workflow representation, a set of one or more operations to be performed during execution of a particular task;

determining a programming language used by the configuration server to configure the cloud computing resource; and

generating the configuration instruction such that the configuration instruction is coded according to the programming language used by the configuration server to configure the cloud computing resource.

8. A system comprising:

one or more computing devices configured to execute a command-line tool for configuring a cloud computing resource, and comprising a configuration state processor and a configuration module; and

a non-transitory computer-readable storage device storing instructions that are executable by the one or more computing devices to perform operations comprising:

obtaining, by the state processor, data indicating (i) a present configuration state of the cloud computing resource, and (ii) a desired state configuration of the cloud computing resource;

determining, by the state processor, that adjusting the cloud computing resource from the present state configuration to the desired state configuration comprises executing one or more operations classified as involving user confirmation;

based on the determination that adjusting the cloud computing resource involves executing, the one or more operations, generating a workflow representation for configuring the cloud computing resource from the present state configuration to the desired state configuration, wherein:

the workflow representation identifies a hierarchical arrangement for a set of tasks to be performed in configuration of the cloud computing resource, the set of tasks comprises (i) a first task that a user is permitted to configure through a user interface associated with the command line tool, the first task implemented on a first hardware platform, and (ii) a second task that the user is restricted from configuring through the user interface, the second task implemented on a second hardware platform that is different than the first hardware platform;

receiving, by the configuration processor and through the user interface, a user input associated with the set of tasks, wherein the user input specifies one or more configurations to the set of tasks specified by the workflow representation;

determining, by the configuration processor, that the user input specifies a configuration corresponding to the second task;

in response to determining that the user input specifies the configuration to the second task:

identifying, by the configuration processor, one or more template workflow representations from a repository of previously-generated workflow representations for prior configuration operations that configure the cloud computing resource from the present state configuration to the desired state configuration but do not include the second task;

providing, by the configuration processor and through the user interface, an indication for the user to replace the workflow representation with the one or more template workflow representations;

receiving, by the configuration processor and through the user interface, a second user input selecting a template workflow representation from the one or more template workflow representations, wherein the template workflow representation selected by the user is associated with a second set of tasks;

in response to receiving the second user input, configuring, by the configuration processor, the cloud computing resource according to the template workflow representation selected by the user.

9. The system of claim 8 , wherein the hierarchical arrangement of tasks specified in the workflow representation indicates a sequence for executing the set of tasks.

10. The system of claim 9 , wherein the hierarchical arrangement for the set of tasks specified in the workflow representation indicates, for each task included in the set of the tasks:

a set of one or more operations to be performed during execution of a particular task; and one or more execution parameters associated with each of the one or more operations included in the set of one or more operations.

11. The system of claim 10 , wherein the user interface enables the user to provide one or more user inputs to adjust values for the one or more execution parameters.

12. The system of claim 8 , wherein the set of tasks specified by the hierarchical arrangement of tasks comprises:

the first task to delete an existing instance of the cloud computing resource;

the second task to create a new instance of the cloud computing resource; and

a third task to migrate one or more components presently configured to the existing instance to the new instance.

13. The system of claim 8 , wherein the operations further comprise:

obtaining, through the user interface, data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration;

in response to obtaining the data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration, generating a configuration instruction based on the workflow representation; and

providing the configuration instruction to a configuration server associated with the cloud computing resource.

14. At least one non-transitory computer-readable storage device storing instructions that are executable by one or more computing devices configured to execute a command-line tool for configuring a cloud computing resource and comprising a state processor and a configuration processor, wherein the instructions cause the one or more computing devices to perform operations comprising:

obtaining, by the state processor, data indicating (i) a present configuration state of the cloud computing resource, and (ii) a desired state configuration of the cloud computing resource;

determining, by the state processor, that adjusting the cloud computing resource from the present state configuration to the desired state configuration comprises executing one or more operations classified as involving user confirmation;

based on the determination that adjusting the cloud computing resource involves executing, the one or more operations, generating a workflow representation for configuring the cloud computing resource from the present state configuration to the desired state configuration, wherein:

the workflow representation identifies a hierarchical arrangement for a set of tasks to be performed in configuration of the cloud computing resource, the set of tasks comprises (i) a first task that a user is permitted to configure through a user interface associated with the command line tool, the first task implemented on a first hardware platform, and (ii) a second task that the user is restricted from configuring through the user interface, the second task implemented on a second hardware platform that is different than the first hardware platform;

receiving, by the configuration processor and through the user interface, a user input associated with the set of tasks, wherein the user input specifies one or more configurations to the set of tasks specified by the workflow representation;

determining, by the configuration processor, that the user input specifies a configuration corresponding to the second task;

in response to determining that the user input specifies the configuration to the second task:

identifying, by the configuration processor, one or more template workflow representations from a repository of previously-generated workflow representations for prior configuration operations that configure the cloud computing resource from the present state configuration to the desired state configuration but do not include the second task;

providing, by the configuration processor and through the user interface, an indication for the user to replace the workflow representation with the one or more template workflow representations;

receiving, by the configuration processor and through the user interface, a second user input selecting a template workflow representation from the one or more template workflow representations, wherein the template workflow representation selected by the user is associated with a second set of tasks;

in response to receiving the second user input, configuring, by the configuration processor, the cloud computing resource according to the template workflow representation selected by the user.

15. The at least one non-transitory computer-readable storage device of claim 14 , wherein the hierarchical arrangement of tasks specified in the workflow representation indicates a sequence for executing the set of tasks.

16. The at least one non-transitory computer-readable storage device of claim 15 , wherein the hierarchical arrangement for the set of tasks specified in the workflow representation indicates, for each task included in the set of the tasks:

a set of one or more operations to be performed during execution of a particular task; and

one or more execution parameters associated with each of the one or more operations included in the set of one or more operations.

17. The at least one non-transitory computer-readable storage device of claim 16 , wherein the user interface enables the user to provide one or more user inputs to adjust values for the one or more execution parameters.

Assignments (2)
SECURITY INTEREST Recorded Nov 18, 2021
From: PERFECT SENSE, INC.
To: AB PRIVATE CREDIT INVESTORS LLC
Reel/Frame 058150/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2021
From: COLLINS, JEREMY
To: PERFECT SENSE, INC.
Reel/Frame 057759/0451 →
Continuity (2)
Provisional Application 62912736 · Oct 9, 2019
Related Publication 20210111949A1 · Apr 15, 2021