Self-optimization of computing environments
AssigneeMicroStrategy Incorporated
InventorsClayton Myers, Andrew Smith, Richard Gardner
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for self-optimization of computing environments. In some implementations, different combinations of settings used by one or more server environments are determined. Results achieved by the one or more server environments are monitored when using the different combinations of settings. Based on the monitored results, one or more performance measures are generated that correspond to each of the different combinations of settings. An updated set of settings are selected for a particular server environment based on the performance measures. The selected settings are provided for the particular server environment.
Claims19
A method performed by one or more computers, the method comprising:
- determining, by the one or more computers, different combinations of settings used by one or more server environments;
- tracking, by the one or more computers, load levels and amounts of resources allocated to the one or more server environments;
- monitoring, by the one or more computers, results achieved by the one or more server environments when using the different combinations of settings, wherein the monitored results include at least one of throughput, task completion times, or response times;
- based on the monitored results, generating, by the one or more computers, a performance measure for each of the different combinations of settings, wherein the performance measure for each combination of settings is based on the throughput, task completion times, or response times achieved using the combination of settings, and wherein the performance measures are normalized to account for differences in the tracked load levels and amounts of resources allocated when the throughput, task completion times, or response times were achieved using the respective combinations of settings;
- ranking, by the one or more computers, the different combinations of settings based on the performance measures that are normalized to account for differences in the tracked load levels and amounts of resources allocated and that respectively correspond to the different combinations of settings;
- selecting, by the one or more computers, an updated set of settings for a particular server environment, wherein the updated set of settings is selected from the different combinations of settings based on the ranking of the different combinations of settings;
- and
- providing, by the one or more computers, the updated set of settings that was selected for the particular server environment.
A system comprising:
- one or more computers;
- and
- one or more computer-readable media storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:
- determining, by the one or more computers, different combinations of settings used by one or more server environments;
- tracking, by the one or more computers, load levels and amounts of resources allocated to the one or more server environments;
- monitoring, by the one or more computers, results achieved by the one or more server environments when using the different combinations of settings, wherein the monitored results include at least one of throughput, task completion times, or response times;
- based on the monitored results, generating, by the one or more computers, a performance measure for each of the different combinations of settings, wherein the performance measure for each combination of settings is based on the throughput, task completion times, or response times achieved using the combination of settings, and wherein the performance measures are normalized to account for differences in the tracked load levels and amounts of resources allocated when the throughput, task completion times, or response times were achieved using the respective combinations of settings;
- ranking, by the one or more computers, the different combinations of settings based on the performance measures that are normalized to account for differences in the tracked load levels and amounts of resources allocated and that respectively correspond to the different combinations of settings;
- selecting, by the one or more computers, an updated set of settings for a particular server environment, wherein the updated set of settings is selected from the different combinations of settings based on the ranking of the different combinations of settings;
- and
- providing, by the one or more computers, the updated set of settings that was selected for the particular server environment.
One or more computer-readable media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
- determining, by the one or more computers, different combinations of settings used by one or more server environments;
- tracking, by the one or more computers, load levels and amounts of resources allocated to the one or more server environments;
- monitoring, by the one or more computers, results achieved by the one or more server environments when using the different combinations of settings, wherein the monitored results include at least one of throughput, task completion times, or response times;
- based on the monitored results, generating, by the one or more computers, a performance measure for each of the different combinations of settings, wherein the performance measure for each combination of settings is based on the throughput, task completion times, or response times achieved using the combination of settings, and wherein the performance measures are normalized to account for differences in the tracked load levels and amounts of resources allocated when the throughput, task completion times, or response times were achieved using the respective combinations of settings;
- ranking, by the one or more computers, the different combinations of settings based on the performance measures that are normalized to account for differences in the tracked load levels and amounts of resources allocated and that respectively correspond to the different combinations of settings;
- selecting, by the one or more computers, an updated set of settings for a particular server environment, wherein the updated set of settings is selected from the different combinations of settings based on the ranking of the different combinations of settings;
- and
- providing, by the one or more computers, the updated set of settings that was selected for the particular server environment.
Dependencies are inferred from the claim text.