Method and system that analyzes operational characteristics of multi-tier applications
US-9882798-B2 · Jan 30, 2018 · US
US11188439B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11188439-B2 |
| Application number | US-201815952824-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 13, 2018 |
| Priority date | Apr 13, 2018 |
| Publication date | Nov 30, 2021 |
| Grant date | Nov 30, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The detection of idle virtual machines through usage pattern analysis is described. In one example, a computing device can collect utilization metrics from a virtual machine over time. The utilization metrics can be related to one or more processing usage, disk usage, network usage, and memory usage metrics, among others. The utilization metrics can be separated into a set of training metrics and a set of validation metrics, and a number of clusters can be determined based on the set of training metrics. The clusters can be used to organize the set of validation metrics into groups. Depending upon the number or overall percentage of the utilization metrics assigned to individual ones of the plurality of clusters, it is possible to determine whether or not the virtual machine is an idle virtual machine. Once identified, idle virtual machines can be shut down to conserve processing resources and costs.
Opening claim text (preview).
Therefore, the following is claimed: 1. A non-transitory computer-readable medium embodying program code for detecting idle virtual machines that, when executed by at least one computing device, directs the at least one computing device to at least: collect a plurality of utilization metrics from a virtual machine; separate the plurality of utilization metrics into a set of training metrics and a set of validation metrics; determine a plurality of clusters to be used for organizing the plurality of utilization metrics into groups based on the set of training metrics, the plurality of clusters being initialized based on different resources utilized by the virtual machine; assign individual utilization metrics from among the set of validation metrics to individual ones of the plurality of clusters; compute a percentage of utilization metrics assigned to individual ones of the plurality of clusters; and determine that the virtual machine is an idle virtual machine in response to the percentage of utilization metrics assigned to one of the plurality of clusters being equal to or greater than a predetermined percentage. 2. The non-transitory computer-readable medium according to claim 1 , wherein the program code further directs the at least one computing device to at least remove outlier utilization metrics from among the plurality of utilization metrics. 3. The non-transitory computer-readable medium according to claim 1 , wherein the program code further directs the at least one computing device to at least normalize the plurality of utilization metrics. 4. The non-transitory computer-readable medium according to claim 1 , wherein individual ones of the plurality of utilization metrics comprise at least one of a processing unit utilization metric, a disk input/output (I/O) utilization metric, a network I/O utilization metric, and a memory utilization metric. 5. The non-transitory computer-readable medium according to claim 4 , wherein, to determine the plurality of clusters, the program code further directs the at least one computing device to at least: initialize a center of at least one cluster among the plurality of clusters, the center being initialized based on a metric unit of at least one of processing unit utilization, disk I/O utilization, network I/O utilization, and a memory utilization for the virtual machine; attribute a number of utilization metrics from among the set of training metrics to the at least one cluster based on a difference between individual ones of the number of utilization metrics and the center of the at least one cluster; and update the center of the at least one cluster based on an average of the difference between individual ones of the number of utilization metrics from among the set of training metrics and the center of the at least one cluster. 6. The non-transitory computer-readable medium according to claim 4 , wherein the program code further directs the at least one computing device to at least notify an owner of the virtual machine that the virtual machine is idle. 7. The non-transitory computer-readable medium according to claim 4 , wherein the program code further directs the at least one computing device to at least notify an owner of the virtual machine that the virtual machine is being shut down. 8. The non-transitory computer-readable medium according to claim 4 , wherein the program code further directs the at least one computing device to at least shut down the virtual machine. 9. A method for detecting idle virtual machines, comprising: collecting, by at least one computing device, a plurality of utilization metrics from a virtual machine; determining, by the at least one computing device, a plurality of clusters to be used for organizing the plurality of utilization metrics into groups, the plurality of clusters being initialized based on different resources utilized by the virtual machine; assigning, by the at least one computing device, individual utilization metrics from among the plurality of utilization metrics to individual ones of the plurality of clusters; computing, by the at least one computing device, a percentage of utilization metrics assigned to individual ones of the plurality of clusters; and determining, by the at least one computing device, that the virtual machine is an idle virtual machine in response to the percentage of utilization metrics assigned to one of the plurality of clusters being equal to or greater than a predetermined percentage. 10. The method for detecting idle virtual machines according to claim 9 , further comprising notifying an owner of the virtual machine that the virtual machine is idle. 11. The method for detecting idle virtual machines according to claim 9 , further comprising: determining, by the at least one computing device, that the virtual machine is a utilized virtual machine in response to the percentage of utilization metrics assigned to two of the plurality of clusters being equal to or greater than a predetermined percentage. 12. The method for detecting idle virtual machines according to claim 9 , further comprising: separating, by the at least one computing device, the plurality of utilization metrics into a set of training metrics and a set of validation metrics; and determining the plurality of clusters based on the set of training metrics. 13. The method for detecting idle virtual machines according to claim 9 , further comprising: removing, by the at least one computing device, outlier utilization metrics from among the plurality of utilization metrics; and normalizing, by the at least one computing device, the plurality of utilization metrics. 14. The method for detecting idle virtual machines according to claim 9 , wherein individual ones of the plurality of utilization metrics comprise at least one of a processing unit utilization metric, a disk input/output (I/O) utilization metric, a network I/O utilization metric, and a memory utilization metric. 15. The method for detecting idle virtual machines according to claim 14 , wherein determining the plurality of clusters comprises: initializing, by the at least one computing device, a center of at least one cluster among the plurality of clusters, the center being initialized based on a metric unit of at least one of processing unit utilization, disk I/O utilization, network I/O utilization, and a memory utilization for the virtual machine; attributing, by the at least one computing device, a number of utilization metrics from among the plurality of utilization metrics to the at least one cluster based on a difference between individual ones of the number of utilization metrics and the center of the at least one cluster; and updating, by the at least one computing device, the center of the at least one cluster based on an average of the difference between individual ones of the number of utilization metrics and the center of the at least one cluster. 16. A system for detecting idle virtual machines, comprising: a memory device configured to store computer-readable instructions thereon; and at least one computing device configured, through execution of the computer-readable instructions, to at least: collect a plurality of utilization metrics from a virtual machine; separate the plurality of utilization metrics into a set of training metrics and a set of validation metrics; determine a plurality of clusters to be used for organizing the plurality of utilization metrics into groups based on the set of training metrics, the plurality of clusters being initialized based on different resources utilized by the vir
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title
for performance assessment · CPC title
Monitoring or debugging support · CPC title
where the assessed time is active or idle time · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.