Method, apparatus and system for real-time optimization of computer-implemented application operations using machine learning techniques
AssigneeDatagrid Systems, Inc.
InventorsRoss Schibler, Peter Nickolov, Stephen Quintero
Life of this patent
Estimating the term…
Abstract
Various aspects described or referenced herein are directed to different methods, systems, and computer program products for facilitating real-time optimization of computer-implemented application operations using machine learning techniques.
Claims35
A computer implemented method for optimizing at least one runtime configuration of a first plurality of applications hosted at a remote networked environment, the remote networked environment being communicatively coupled to a computer network, the computer network including an Optimizer System, the Optimizer System including a plurality of optimizer algorithms, the method comprising causing at least one processor to execute instructions stored in non-transient memory to automatically:
- cause at least one network device to identify a first application of the first plurality of applications;
- initiate a first measurement of a first operational metric of the first application while the first application is operating in accordance with a first runtime configuration;
- generate first measurement information relating to the first measurement of the first operational metric of the first application;
- calculate, using the first measurement information, a first score in relation to a first optimization objective, the first score being calculated using a first scoring function;
- determine a first set of updated application settings relating to a runtime configuration of the first application;
- deploy the first set of updated application settings at the first application to thereby cause the first application to operate in accordance with a second runtime configuration;
- initiate a second measurement of the first operational metric of the first application while the first application is operating in accordance with the second runtime configuration;
- generate second measurement information relating to the second measurement of the first operational metric of the first application;
- calculate, using the second measurement information, a second score in relation to the first optimization objective, the second score being calculated using a second scoring function;
- compute, using at least the second score, a first reward;
- update at least one of the plurality of optimizer algorithms using information relating to the first reward;
- select, from the plurality of optimizer algorithms, a first optimizer algorithm to be used for determining a second set of updated application settings relating to the runtime configuration of the first application;
- determine, using the first optimizer algorithm, a second set of updated application settings relating to the runtime configuration of the first application;
- deploy the second set of updated application settings at the first application to thereby cause the first application to operate in accordance with a third runtime configuration;
- cause the at least one network device to initiate a third measurement of the first operational metric of the first application while the first application is operating in accordance with the third runtime configuration;
- generate third measurement information relating to the third measurement of the first operational metric of the first application;
- calculate, using the third measurement information, a third score in relation to the first optimization objective, the third score being calculated using a third scoring function;
- compute, using at least the third score, a second reward;
- update at least one of the plurality of optimizer algorithms using information relating to the second reward;
- select, from the plurality of optimizer algorithms, a second optimizer algorithm to be used for determining a third set of updated application settings relating to the runtime configuration of the first application;
- determine, using the second optimizer algorithm, a third set of updated application settings relating to the runtime configuration of the first application;
- and
- deploy the third set of updated application settings at the first application to thereby cause the first application to operate in accordance with a fourth runtime configuration.
A computer implemented system for optimizing a runtime configuration of a first plurality of applications hosted at a remote networked environment, the remote networked environment being communicatively coupled to a computer network, the computer network including an Optimizer System, the Optimizer System including a plurality of optimizer algorithms, the system comprising:
- at least one non-transient memory;
- at least one processor operable to execute a plurality of instructions stored in the at least one non-transient memory to automatically:
- cause at least one network device to identify a first application of the first plurality of applications;
- initiate a first measurement of a first operational metric of the first application while the first application is operating in accordance with a first runtime configuration;
- generate first measurement information relating to the first measurement of the first operational metric of the first application;
- calculate, using the first measurement information, a first score in relation to a first optimization objective, the first score being calculated using a first scoring function;
- determine a first set of updated application settings relating to a runtime configuration of the first application;
- deploy the first set of updated application settings at the first application to thereby cause the first application to operate in accordance with a second runtime configuration;
- initiate a second measurement of the first operational metric of the first application while the first application is operating in accordance with the second runtime configuration;
- generate second measurement information relating to the second measurement of the first operational metric of the first application;
- calculate, using the second measurement information, a second score in relation to the first optimization objective, the second score being calculated using a second scoring function;
- compute, using at least the second score, a first reward;
- update at least one of the plurality of optimizer algorithms using information relating to the first reward;
- select, from the plurality of optimizer algorithms, a first optimizer algorithm to be used for determining a second set of updated application settings relating to the runtime configuration of the first application;
- determine, using the first optimizer algorithm, a second set of updated application settings relating to the runtime configuration of the first application;
- deploy the second set of updated application settings at the first application to thereby cause the first application to operate in accordance with a third runtime configuration;
- cause the at least one network device to initiate a third measurement of the first operational metric of the first application while the first application is operating in accordance with the third runtime configuration;
- generate third measurement information relating to the third measurement of the first operational metric of the first application;
- calculate, using the third measurement information, a third score in relation to the first optimization objective, the third score being calculated using a third scoring function;
- compute, using at least the third score, a second reward;
- update at least one of the plurality of optimizer algorithms using information relating to the second reward;
- select, from the plurality of optimizer algorithms, a second optimizer algorithm to be used for determining a third set of updated application settings relating to the runtime configuration of the first application;
- determine, using the second optimizer algorithm, a third set of updated application settings relating to the runtime configuration of the first application;
- and
- deploy the third set of updated application settings at the first application to thereby cause the first application to operate in accordance with a fourth runtime configuration.
A non-transitory computer usable medium for use in a computer network, the computer network including a first plurality of applications hosted at a remote networked environment, and including an Optimizer System configured to access a at least one of the plurality of optimizer algorithms, the computer network further including at least one processor, the computer usable medium having computer readable code embodied therein, the computer readable code comprising computer code for causing at least one processor to execute instructions stored in at least one memory to automatically:
- cause at least one network device to identify a first application of the first plurality of applications;
- initiate a first measurement of a first operational metric of the first application while the first application is operating in accordance with a first runtime configuration;
- generate first measurement information relating to the first measurement of the first operational metric of the first application;
- calculate, using the first measurement information, a first score in relation to a first optimization objective, the first score being calculated using a first scoring function;
- determine a first set of updated application settings relating to a runtime configuration of the first application;
- deploy the first set of updated application settings at the first application to thereby cause the first application to operate in accordance with a second runtime configuration;
- initiate a second measurement of the first operational metric of the first application while the first application is operating in accordance with the second runtime configuration;
- generate second measurement information relating to the second measurement of the first operational metric of the first application;
- calculate, using the second measurement information, a second score in relation to the first optimization objective, the second score being calculated using a second scoring function;
- compute, using at least the second score, a first reward;
- update at least one of the plurality of optimizer algorithms using information relating to the first reward;
- select, from the plurality of optimizer algorithms, a first optimizer algorithm to be used for determining a second set of updated application settings relating to the runtime configuration of the first application;
- determine, using the first optimizer algorithm, a second set of updated application settings relating to the runtime configuration of the first application;
- deploy the second set of updated application settings at the first application to thereby cause the first application to operate in accordance with a third runtime configuration;
- cause the at least one network device to initiate a third measurement of the first operational metric of the first application while the first application is operating in accordance with the third runtime configuration;
- generate third measurement information relating to the third measurement of the first operational metric of the first application;
- calculate, using the third measurement information, a third score in relation to the first optimization objective, the third score being calculated using a third scoring function;
- compute, using at least the third score, a second reward;
- update at least one of the plurality of optimizer algorithms using information relating to the second reward;
- select, from the plurality of optimizer algorithms, a second optimizer algorithm to be used for determining a third set of updated application settings relating to the runtime configuration of the first application;
- determine, using the second optimizer algorithm, a third set of updated application settings relating to the runtime configuration of the first application;
- deploy the third set of updated application settings at the first application to thereby cause the first application to operate in accordance with a fourth runtime configuration;
- initiate a fourth measurement of a second operational metric of a second application of the first plurality of applications while the second application is operating in accordance with a fifth runtime configuration;
- generate fourth measurement information relating to the fourth measurement of the second operational metric of the second application;
- calculate, using the fourth measurement information, a fourth score in relation to a second optimization objective, the fourth score being calculated using a fourth scoring function;
- determine a fourth set of updated application settings relating to the runtime configuration of the second application;
- deploying the fourth set of updated application settings at the second application to thereby cause the second application to operate in accordance with a sixth runtime configuration;
- initiate a fifth measurement of the second operational metric of the second application while the second application is operating in accordance with the sixth runtime configuration;
- generate fifth measurement information relating to the fifth measurement of the second operational metric of the second application;
- calculate, using the fifth measurement information, a fifth score in relation to the second optimization objective, the fifth score being calculated using a fifth scoring function;
- compute, using at least the fifth score, a third reward;
- update at least one of the plurality of optimizer algorithms using information relating to the third reward;
- select, from the plurality of optimizer algorithms, a third optimizer algorithm to be used for determining a fifth set of updated application settings relating to the runtime configuration of the second application;
- determine, using the third optimizer algorithm, a fifth set of updated application settings relating to the runtime configuration of the second application;
- deploy the fifth set of updated application settings at the second application to thereby cause the second application to operate in accordance with a seventh runtime configuration;
- initiate a sixth measurement of the second operational metric of the second application while the second application is operating in accordance with the seventh runtime configuration;
- generate sixth measurement information relating to the sixth measurement of the second operational metric of the second application;
- calculate, using the sixth measurement information, a sixth score in relation to the second optimization objective, the sixth score being calculated using a sixth scoring function;
- compute, using at least the sixth score, a fourth reward;
- update at least one of the plurality of optimizer algorithms using information relating to the fourth reward;
- select, from the plurality of optimizer algorithms, a fourth optimizer algorithm to be used for determining a sixth set of updated application settings relating to the runtime configuration of the second application;
- determine, using the fourth optimizer algorithm, a sixth set of updated application settings relating to the runtime configuration of the second application;
- and
- deploy the sixth set of updated application settings at the second application to thereby cause the second application to operate in accordance with an eighth runtime configuration.
Dependencies are inferred from the claim text.