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.
Claims20
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.
Dependencies are inferred from the claim text.