Resource optimization device, resource optimization method, and computer program

The resource optimization device uses time series prediction to forecast future load conditions, addressing inefficiencies in VM migration by determining high-load VMs and suggesting optimal migration destinations, thereby enhancing resource allocation.

JP2025150146AActive Publication Date: 2025-10-09NEC PLATFROMS LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024050872
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-27
Publication Date
2025-10-09
Estimated Expiration
2044-03-27

AI Technical Summary

Technical Problem

Existing VM migration techniques fail to consider future load predictions, leading to inefficient resource optimization in virtual machine operations.

Method used

A resource optimization device and method that utilize time series prediction algorithms to forecast future resource data, determine high-load virtual machines, and suggest optimal migration destinations based on historical and predicted resource data.

Benefits of technology

Enables more effective VM migration by predicting future load conditions, allowing for better resource allocation and optimization across VMs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025150146000001_ABST
    Figure 2025150146000001_ABST
Patent Text Reader

Abstract

To relocate guest VMs while taking into account the load conditions from the past to the future.SOLUTION: A resource optimization device includes: a resource data prediction unit configured to apply a time-series prediction algorithm to historical resource data for each of a plurality of virtual machines VMs to predict future predicted resource data for each of the VMs; a high-load VM determination unit configured to determine a high-load host VM among the plurality of VMs based on the historical resource data and the future resource data of each of the plurality of VMs; and a migration target determination unit configured to determine a migration destination host VM to which a migration target guest VM of at least one of the high-load host VMs is to be moved.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a resource optimization device, a resource optimization method, and a computer program. [Background technology]

[0002] In virtual machine (VM) operations, there is a technology that optimizes resources across VMs by proposing the migration of guest VMs from high-load host VMs to low-load host VMs. Since human optimization relies on experience and takes time, it is proposed to perform migration based on predictions of the VM's future load.

[0003] Patent Document 1 proposes, for example, predicting a load based on actual measurements during the same time period, and then comparing the predicted value with the actual measurement value to correct the prediction. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2012-181647 Summary of the Invention [Problem to be solved by the invention]

[0005] However, the above technique has a problem in that it is not possible to relocate guest VMs while taking into consideration the load situation from the past to the future.

[0006] An object of the present invention is to provide a resource optimization device, a resource optimization method, and a computer program that solve the above-mentioned problems. [Means for solving the problem]

[0007] A resource optimization device according to one aspect of the present disclosure includes: a resource data prediction unit configured to apply a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for the each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; a high-load virtual machine determination unit configured to determine a high-load host virtual machine among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; and a migration target determination unit configured to determine a destination host virtual machine to which a migration-target guest virtual machine of at least one of the high-load host virtual machines is moved, wherein the destination host virtual machine is a host virtual machine among the plurality of host virtual machines that is not the high-load host virtual machine.

[0008] A resource optimization method according to one aspect of the present disclosure includes the steps of: applying a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; determining a high-load host virtual machine from among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; and determining a destination host virtual machine to which a target guest virtual machine to be migrated in at least one of the high-load host virtual machines is to be moved, wherein the destination host virtual machine is a host virtual machine from among the plurality of host virtual machines that is not the high-load host virtual machine.

[0009] A computer program according to one aspect of the present disclosure causes a processor to function as: a resource data prediction means configured to apply a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for the each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; a high-load virtual machine determination means configured to determine a high-load host virtual machine among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; and a migration target determination means configured to determine a destination host virtual machine to which a migration-target guest virtual machine of at least one of the high-load host virtual machines is to be moved, wherein the destination host virtual machine is a host virtual machine among the plurality of host virtual machines that is not the high-load host virtual machine. [Effects of the Invention]

[0010] According to the present invention, by determining a high-load host VM based on past and future resource data of the host VM, it is possible to determine a host VM to be migrated more effectively. In addition, it is possible to propose a migration destination for a VM based on the detection of a high-load VM, a future prediction of the load status of the VM, and a prediction of the number of VMs that can be installed, thereby enabling more efficient resource optimization. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a diagram illustrating a configuration of a resource optimization device 1 according to the present disclosure. [Figure 2] FIG. 1 illustrates exemplary time-stamped resource data. [Figure 3] FIG. 1 illustrates an exemplary baseline change detection and learning period. [Figure 4] FIG. 10 is a diagram illustrating the relationship between exemplary optimization training data and peak detection after Fourier transform. [Figure 5]FIG. 10 is a diagram illustrating an exemplary high load determination. [Figure 6] FIG. 10 is a diagram illustrating an exemplary high load determination. [Figure 7] FIG. 1 illustrates an example resource trend classification. [Figure 8] 1 is a process flow diagram of a resource optimization device 1 according to the present disclosure. [Figure 9] 1 is a diagram illustrating a configuration of a capacity planning system 2 according to the present disclosure. [Figure 10] FIG. 10 is a flow diagram of a process for detecting a high-load VM performed by the capacity planning system 2 according to the present disclosure. [Figure 11] FIG. 10 is a process flow diagram of a future prediction operation of a VM load status performed by the capacity planning system 2 according to the present disclosure. [Figure 12] FIG. 10 is a process flow diagram of the operation of predicting the number of VMs that can be installed, performed by the capacity planning system 2 according to the present disclosure. [Figure 13] FIG. 10 is a process flow diagram of a first mounting quantity prediction when overcommitment is not taken into consideration according to the present disclosure. [Figure 14] FIG. 1 illustrates an exemplary relationship between allocated, reserved, and remaining vCPUs in a host VM. [Figure 15] FIG. 1 illustrates an exemplary relationship between installed memory, allocated memory, and reserved memory in a host VM. [Figure 16] FIG. 10 is a process flow diagram of a second mounting quantity prediction executed when overcommitment is taken into consideration, according to the present disclosure. [Figure 17] FIG. 10 is a graph showing time-series data obtained by adding the memory usage of a guest VM to the memory usage of a host VM. [Figure 18] FIG. 10 is a process flow diagram of a VM migration destination suggestion operation performed by the capacity planning system 2 according to the present disclosure. [Figure 19] FIG. 10 is a process flow diagram of a first destination suggestion procedure executed when overcommitment is not taken into consideration, according to the present disclosure. [Figure 20]FIG. 10 is a process flow diagram of a second destination suggestion procedure executed when overcommitment is taken into consideration, according to the present disclosure. [Figure 21] FIG. 2 is a diagram illustrating a resource optimization device 3 according to the present disclosure. [Figure 22] FIG. 4 is a diagram illustrating processing by the resource optimization device 3 according to the present disclosure. [Figure 23] FIG. 2 is a diagram illustrating a hardware configuration of a resource optimization device 4 according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0012] First Embodiment A resource optimizing device 1 according to the first embodiment will be described below with reference to FIGS.

[0013] (Functional configuration of resource optimization device 1) 1 is a diagram showing the configuration of a resource optimization device 1 according to the present disclosure. The resource optimization device 1 is configured to optimize resources among a plurality of host VMs.

[0014] The resource optimization device 1 includes a CPU (Central Processing Unit) 10 and a storage unit 11. The CPU 10 is a processor that controls the entire resource optimization device 1 and operates, for example, according to a computer program (hereinafter simply referred to as a program) recorded in the storage unit 11. Therefore, the program may cause the CPU 10 to function as each functional unit of the resource optimization device 1. The storage unit 11 may be a computer-readable recording medium for recording predetermined information. For ease of explanation, the resource optimization device 1 according to the first embodiment includes the storage unit 11 therein. However, in other embodiments, the storage unit 11 may be implemented as an external storage device of the resource optimization device 1, and the resource optimization device 1 may acquire information from the external storage device.

[0015] The CPU 10 operates according to the program to function as a resource data prediction unit 101, a high-load virtual machine determination unit 102, and a migration target determination unit 103. The functional configurations of these units will be described below.

[0016] The resource data prediction unit 101 is configured to predict future predicted resource data for a VM based on historical resource data for the VM. In this specification, resource data (including historical resource data and future predicted resource data) refers to time-series data of resource information for a VM over a predetermined period of time. The resource data includes CPU usage, memory usage, disk usage, network usage, and the like. The resource data is also time-stamped resource data. For example, the resource data may be time-stamped processor time as shown in FIG. 2. The historical resource data refers to past resource data. Because resource data can be defined for both a host VM and a guest VM, the VM to be subjected to resource prediction may be either a host VM or a guest VM.

[0017] The resource data prediction unit 101 can apply a time series prediction algorithm for time series data (autoregression, moving average, autoregressive moving average, seasonal autoregressive integrated moving average, vector autoregression, state space, neural networks such as LSTM, and ensemble methods of various algorithms, etc.) to historical resource data to predict future resource data.

[0018] Some time series prediction algorithms set a periodicity parameter of time series data as an input when predicting future time series data. The periodicity component parameter indicates the number of resource data pieces that make up one cycle. When using such a time series prediction algorithm, the resource data prediction unit 101 may optimize the periodicity component parameter. The periodicity component parameter is optimized as follows: (1) to (5) below.

[0019] (1) All historical resource data is verified to see if any baseline fluctuations have occurred during the period. If a baseline fluctuation has occurred, only the most recent baseline data is extracted. This makes it possible to avoid a decrease in prediction accuracy due to baseline fluctuations. In the example shown in Figure 3, a baseline change occurred at baseline change time t, so historical resource data from baseline change time t onwards is extracted.

[0020] (2) Next, the historical resource data extracted in (1) is divided into training data and validation data. Hereinafter, this training data will be referred to as "optimization training data," meaning the training data used in the optimization procedure. Models in time series prediction algorithms undergo training by adjusting the model parameters to fit the optimization training data. When dividing the data as described above, the oldest data in chronological order can be used as the optimization training data, and the newest data can be used as the validation data. For example, if there is five months of data from January to May, the three months from January to March can be used as the optimization training data, and the two months from April to May can be used as the validation data. However, the ratios and periods are not limited to these.

[0021] (3) Next, a Fourier transform is performed on the optimization training data, and peak detection is performed on the result of the Fourier transform. In the example shown in FIG. 4, similar to the example above, three months' worth of historical resource data is used as the optimization training data. As is known, a Fourier transform can calculate the frequency components of the target time series data. As shown in FIG. 4, the result of the Fourier transform often has multiple peaks, so several major peaks may be used.

[0022] (4) The period of the detected peak is set as a periodic component parameter, and a time series prediction algorithm is applied to the optimization training data to make a prediction for the same period as the validation data. This operation is performed for at least some of the detected peaks (e.g., the main peaks with large peak values).

[0023] (5) Next, calculate and compare the MAE (Mean Absolute Error) of the prediction results for each peak and the validation data. The peak value with the best accuracy is determined as the periodicity parameter. This completes the procedure for optimizing the periodic component parameters.

[0024] The resource data prediction unit 101 can perform time series prediction by applying a time series prediction algorithm to all of the historical resource data using the periodic component parameters determined as described above. By optimizing the periodic component parameters in this way, tuning can be performed faster than with methods such as grid search optimization and Bayesian optimization.

[0025] Next, the high-load virtual machine determination unit 102 is configured to determine a high-load VM based on the historical resource data and future predicted resource data of each VM. The VM may be a host VM or a guest VM. If the VM is a host VM, the host VM determined to be a high-load VM can be a candidate for the migration source of the guest VM. If the VM is a guest VM, the high-load determination of the guest VM is taken into consideration when determining the guest to be migrated. More specifically, the high-load virtual machine determination unit 102 determines that a VM is high-load when the following two-stage determination conditions are satisfied:

[0026] [High load VM first judgment] If resource data exceeds a threshold value for a predetermined percentage of a time period within a period having a first length (hereinafter referred to as the first period, e.g., one day), the period is determined to be highly loaded. This threshold value is also referred to as a "critical level" herein. For example, if the resource data is CPU usage, the threshold value may be 80% CPU usage. The critical level can be changed to any value by a user such as a system engineer or system administrator. For example, as shown in FIG. 5, if the first length is set to one day, the "predetermined percentage time period" is set to 10% of one day (144 minutes), and the critical level is set to 80% CPU usage, then if the CPU usage is 80% for a period of 144 minutes or more within a day, that day is determined to be highly loaded. Note that in this embodiment, the critical level is described as an example, but multiple threshold values, such as a warning level and a surplus allocation level, may also be set. The surplus allocation level is set to a low value such as 20% or 40% to detect whether more resources than necessary are being allocated to a VM, and if the high load detection is not met, it is determined to be surplus allocation. Furthermore, in this embodiment, an example has been described in which a period having a first length is determined to be high load when the "predetermined percentage of time period" exceeds a threshold value, but the determination may also be based on a percentile and a threshold value for the period having the first length.

[0027] [High load VM second judgment] The number of first periods determined to be high load is checked within a period having a second length longer than the first length (hereinafter referred to as the second period, for example, one week). If there are a predetermined number of first periods determined to be high load, the corresponding VM is determined to be high load. Note that the number of first periods determined to be high load may be counted when they occur consecutively, or may be counted when they are not consecutively occurring. In the above example, as shown in FIG. 6, if there are four or more first periods determined to be high load within one week, which is the second period, that is, four or more days, the VM may be determined to be high load. Note that hereinafter, this determination of a high load VM is also referred to as "high load VM detection."

[0028] As described above, the resource data prediction unit 101 can generate future predicted resource data for a VM. In response to this, the high-load virtual machine determination unit 102 can determine whether a VM is highly loaded based on the VM's historical resource data and the future predicted resource data for the VM predicted by the resource data prediction unit 101. This makes it possible to determine whether a VM is highly loaded based on both the historical resource data and the predicted resource data, and also to estimate when (e.g., which week) the VM may become highly loaded.

[0029] The migration target determination unit 103 is configured to determine a migration destination host VM to which a guest VM in at least one of the host VMs determined to be highly loaded by the high-load virtual machine determination unit 102 is to be migrated. The migration destination host VM may be a host VM determined not to be a highly loaded VM. The migration target determination unit 103 can determine each of the migration source host VM, the migration target guest VM in the migration source host VM, and the migration destination host VM.

[0030] [Determining the source host] First, the determination of the migration source host VM will be explained. Based on the result of high-load VM detection, high-load host VMs and non-high-load host VMs are listed, and the migration target determination unit 103 selects one of the high-load host VMs as the migration source host VM. At this time, the host with the higher degree of load may be preferentially selected as the migration source host VM.

[0031] [Determination of guests to be moved] The migration target determination unit 103 then selects a migration target guest VM on the selected migration source host based on predetermined conditions. The predetermined conditions may include conditions based on resource tendency classifications related to the load status of the guest VM. The resource tendency classifications are described below.

[0032] The movement target determination unit 103 can decompose at least one of the historical resource data and the future predicted resource data into (i) a trend component, (ii) a seasonal component, and (iii) a residual. The trend component is a component of long-term data fluctuation, the seasonal component is a component of periodic data fluctuation, and the residual is a data fluctuation component including error fluctuation and sudden specific changes. Decomposition methods include, but are not limited to, STL decomposition (Seasonal Decomposition of Time Series by Loess). After decomposition into each component, the trend is classified for each extracted component.

[0033] Trend components may be classified as an upward trend, a downward trend, or a constant trend. For example, a linear regression is performed on the extracted trend component to obtain the slope. If the slope is above a certain level (e.g., 0.2), it is an upward trend; if it is below a certain level (e.g., -0.2), it is a downward trend; and if it is otherwise (e.g., greater than -0.2 but less than 0.2), it is a constant trend.

[0034] Furthermore, seasonal components may be classified as either "seasonal" or "non-seasonal." For example, the maximum absolute value of the extracted seasonal components is obtained, and if it is equal to or greater than a certain value, it is determined to be seasonal.

[0035] Residuals may also be classified as either a sudden rise, a sudden fall, volatile fluctuations, or no volatile fluctuations. For example, a linear regression is performed on resource data for a certain period (e.g., seven days) to obtain the slope. Next, the slope is obtained in the same manner for the resource data for the same certain period following that period (one day after the first seven days, and then the next seven days). This operation is repeated for the target period to obtain the slope for all certain periods. A check is made to see if each slope is above the upper limit or below the lower limit. If not, it is determined that there is no volatile fluctuation. If there is one above the upper limit, there is a sudden rise; if there is one below the lower limit, there is a sudden fall; and if both slopes are present, there is volatile fluctuation.

[0036] The final classification is a combination of the classifications for each component. In the above example, 15 classifications can be made, as shown in Figure 7. This concludes the explanation of resource tendency classification.

[0037] The migration target determination unit 103 can select a migration target guest VM from among the guest VMs on the selected migration source host based on the trend classification. For example, the migration target determination unit 103 may select, as a first priority, a VM whose migration impact on the destination host VM is easy to predict based on the trend classification. For example, the migration target determination unit 103 may select, as a first priority, a VM whose trend component has a constant trend. The selection of a guest VM can also be based on whether the periodic change in the seasonal component is constant or whether the classification of the residual component can be determined to be free of wild fluctuations. This makes the impact on the resource status of the migration destination constant or easy to predict, thereby improving the prediction accuracy of the resource status of the destination host VM after migration. If there are multiple selected migration target candidate guest VMs (e.g., guest VMs with a constant trend), then a high-load guest VM determined to be high-load in high-load VM detection targeting the guest VM may be given second priority. As described above, the high-load virtual machine determination unit 102 can perform high-load VM detection targeting the guest VM. If a decision cannot be made, the guest VM can be selected in descending order of average resource usage.

[0038] [Determining the destination host] Next, the migration target determination unit 103 selects a destination host VM from among the host VMs determined not to be heavily loaded, based on the resource status of the host VM. For example, the destination host VM may be selected by giving priority to a candidate host VM with a lower resource usage. More specifically, the following three-stage determination may be made to determine whether a candidate host VM is actually selected. If the candidate host VM is determined to be appropriate as a destination host VM in any of the determinations, the candidate host VM is selected as the destination host VM.

[0039] (1) Primary decision on candidate destination hosts First, it is determined whether the target guest VM can be migrated from the perspective of the amount of free resources on the destination candidate host VM. The amount of allocated resources (e.g., number of allocated vCPUs and allocated physical memory size) of the target guest VM is compared with the amount of free resources (e.g., allocatable vCPUs and allocatable physical memory) of the destination candidate host VM to check whether migration is possible. Specifically, it is determined that migration is possible if the following two formulas are simultaneously satisfied.

[0040] Number of vCPUs allocated to the guest to be migrated <= vCPUs available to be allocated to the destination host Physical memory allocation size of the guest to be migrated <= Allocatable physical memory of the destination host (2) Secondary decision on candidate destination hosts Next, the resource status of the candidate destination host VM is checked to determine whether the migration of the migration target guest VM will result in resource depletion of the host VM. If it is determined that there will be no resource depletion, the candidate host VM is determined to be suitable as a migration destination in the secondary determination. Furthermore, the determination of whether the host VM's resources will be depleted may be performed using different procedures depending on whether overcommitment is taken into consideration or not. First, if overcommitment is not taken into consideration, resources are determined based only on the allocatable amount, as in the primary determination described above. In other words, if overcommitment is not taken into consideration, the determination can be made using the same criteria as in the primary determination, so the secondary determination can be omitted.

[0041] Next, when overcommit is taken into consideration, high-load VM detection is performed on the time-series resource data of the host VM after migration to check whether a high load judgment occurs, thereby determining whether resources will be depleted. Below, we will explain the procedure for calculating the memory usage rate of the host after migration, which corresponds to the resource data of the host VM after migration, when memory usage rate is used as resource data.

[0042] After the move, the host's memory usage is (Memory usage of the host after migration) / (Amount of memory installed on the host) First, the available physical memory amount of the host VM and the available physical memory amount of the host VM after migration are calculated using the following formulas.

[0043] (Amount of available physical memory on the host) = (Amount of memory installed on the host) - (Amount of memory installed on the host × Estimated memory usage) (Amount of physical memory used by guest) = (Amount of memory allocated to VM - VM's "Available MBytes") Next, the amount of available physical memory of the host after the migration is calculated as follows.

[0044] (Amount of available physical memory on the host after migration) = (Amount of available physical memory on the host) - (Amount of physical memory in use by the guest) Then, the memory usage of the host after the migration is calculated as follows:

[0045] (Memory usage of the host after migration) = (Amount of memory installed on the host) - (Amount of physical memory available on the host after migration) According to the above definition, the memory usage rate of the host after migration is obtained by dividing the memory usage of the host after migration by the amount of memory installed in the host.

[0046] If the high-load VM detection performed on the memory usage rate of the host VM after migration does not determine that it is high-loaded, the host VM that is a candidate for migration destination is determined to have resources that will not be depleted by the migration (i.e., is suitable as a migration destination).

[0047] (3) Third decision on candidate destination hosts For a host VM that is determined to be suitable as a migration destination in the above primary and secondary determinations, it may be further determined whether the resource status of the migration source host will improve by migrating the migration target guest VM. If the resource status will improve, the migration destination candidate host VM is selected as the migration destination host VM. If the resource status will not improve, the above determination is made for the migration destination candidate host VM with the next highest priority.

[0048] (Processing flow of resource optimization device 1) 8 shows a processing flow of the resource optimization device 1 according to the present disclosure. The processing flow of the resource optimization device 1 is started when the CPU 10 of the resource optimization device 1 executes a computer program stored in the storage unit 11, for example.

[0049] First, in step S10, the resource data prediction unit 101 of the resource optimization device 1 applies a time-series prediction algorithm to historical resource data for each of the multiple VMs to predict future predicted resource data for each of the multiple VMs. As already described, the historical resource data and future predicted resource data are time-series data. The multiple VMs include at least one of a host VM and a guest VM.

[0050] Next, in step S11, the high-load virtual machine determination unit 102 of the resource optimization device 1 determines a high-load host VM from among the multiple VMs based on the historical resource data of each of the multiple VMs and the predicted future resource data. A specific method for detecting a high-load VM may be, for example, the method described above with respect to the resource data prediction unit 101. Different criteria may be used for determining a high-load host VM for a guest VM and a host VM.

[0051] Next, in step S12, the migration target determination unit 103 of the resource optimization device 1 determines a destination host VM to which a guest VM in at least one of the host VMs determined to be high-load VMs is to be migrated. The destination host VM may be a host VM that is not determined to be a high-load VM in step S11 among the multiple host VMs. More specifically, step S12 includes the steps of selecting a source host VM from the host VMs determined to be high-load VMs in step S11, selecting a migration target guest VM in the selected source host VM, and selecting a destination host VM. Specific methods for selecting the source host VM, migration target guest VM, and migration destination host VM may be those described above with respect to the migration target determination unit 103, and will not be described here.

[0052] (Effects of the first embodiment) In the first embodiment, when time-stamped resource data is predicted for the future using a time-series prediction algorithm, it is possible to ensure both calculation speed and accuracy by using Fourier transform and peak detection.

[0053] Furthermore, in the first embodiment, by using high-load VM detection from past data to future predicted results, it is possible to detect timings when a VM is under high load from the past to the future.

[0054] <Second embodiment> A capacity planning system 2 according to the second embodiment will be described below with reference to FIGS. 9 to 22. The capacity planning system 2 may correspond to a more specific implementation of the resource optimization device 1. Therefore, additional functions in the capacity planning system 2 can be added to the resource optimization device 1 as appropriate. Note that in this embodiment, for easier understanding, specific numbers are used in the description, but these are merely examples, and predetermined parameters can be set as appropriate.

[0055] In the following, an example in which data is collected and implemented in an on-premise environment will be described, but the capacity planning system 2 may also be implemented on the cloud. When implemented on the cloud, multiple systems are set up to be able to connect to the cloud, and the system is implemented using data stored in the cloud.

[0056] FIG. 9 illustrates a configuration of a capacity planning system 2 according to the present disclosure. The capacity planning system 2 includes a log information storage unit 200, a preprocessing unit 201, a high-load virtual machine determination unit 202, a future resource prediction unit 203, a model storage unit 204, a mountable VM count prediction unit 205, a VM migration destination proposal unit 206, and a recommendation transmission unit 207. The storage 300 receives and stores performance information 600 and configuration information 601 from the virtual machine cluster 400. The performance information 600 may include historical resource data. The configuration information 601 may include data indicating which host VM a guest VM belongs to and data on installed software and middleware. This information is transmitted to the capacity planning system 2 and recorded in the log information storage unit 200. Based on this information, the capacity planning system 2 can determine the dependency relationships between guest VMs and host VMs, as well as information about each guest VM and host VM. The virtual machine cluster 400 includes a host VM 410 and a guest VM 420. The capacity planning system 2 creates a recommendation 700 regarding the migration of guest VMs 420 between host VMs 410 and transmits it to the system administrator device 500. Note that the system administrator device 500 can also provide input (e.g., instructions for selecting host VMs and / or guest VMs) in a series of processes in the capacity planning system 2 by communicating with the capacity planning system 2.

[0057] Below, the functions and processes performed by each functional unit of the capacity planning system 2 will be explained along with a series of operations of the capacity planning system 2. The operations performed by the capacity planning system 2 can be mainly divided into an operation for detecting high-load VMs, an operation for predicting future VM load conditions, an operation for predicting the number of VMs that can be installed, and an operation for proposing VM migration destinations. Each of these operations will be explained in turn.

[0058] [1. High-load VM detection] 10 is a processing flow diagram of high-load VM detection performed by the capacity planning system 2. The high-load VM detection operation is executed by the pre-processing unit 201 and the high-load VM detection unit 202 of the capacity planning system 2. The pre-processing unit 201 acquires historical resource data from the log information storage unit 200 (S100). The historical resource data may be time-series resource data with time stamps, as exemplified in FIG. 2 in the first embodiment.

[0059] The preprocessing unit 201 performs preprocessing such as complementing missing parts of the acquired historical resource data (S101). Next, the high-load VM detection unit 202 detects high-load VMs based on the preprocessed historical resource data. The high-load VM detection unit 202 can detect high-load VMs in the same way as the high-load virtual machine determination unit 102 in the first embodiment.

[0060] Specifically, first, the percentage of the time the threshold is exceeded for each first period (the following description will be given using a one-day example) is obtained (S102). It is then checked whether the time the threshold is exceeded exceeds a predetermined percentage of the day (S103). For example, if the time the CPU usage exceeds 80% of the threshold exceeds 10% of the day (i.e., if S103 returns "yes"), a flag is set for that day as a high-load determination period (S104). While the present embodiment describes an example in which the percentage of the time the threshold is exceeded for the first period is obtained and used to determine whether the first period is a high-load period, it is also possible to determine whether the first period is a high-load period based on the percentile and threshold for the first period. Next, the high-load determination is repeated for all target days (S105). Once the high-load determination for all days has been completed (the following description will be given using a one-week example), it is checked whether the day determined to be high-load occurs in a week with four or more days in a second period longer than the first period (S106). If there are four high-load days in a week (yes in S106), the target host VM is determined to be a high-load host VM (S107). The results of the high-load determination for each host VM are recorded in the model storage unit 204 as a high-load determination list (S108). The high-load VM detection unit 202 also performs the above-mentioned high-load VM detection on predicted future resource data, which will be described later, and records the results in the model storage unit 204 as a high-load determination list. This completes the high-load VM detection operation.

[0061] [2. Future prediction of VM load status] 11 is a processing flow diagram of a future prediction operation of a VM load status (hereinafter referred to as a resource prediction operation) performed by the capacity planning system 2. The resource prediction operation is executed by a future resource prediction unit 203. The future resource prediction unit 203 includes a tuning unit 210, a prediction execution unit 211, and a trend classification unit 212. The future resource prediction unit 203 corresponds to the resource data prediction unit 101 in the first embodiment, but in addition to the function of the resource data prediction unit 101 in the first embodiment, it further includes a trend classification unit 212 that corresponds to the resource trend classification function of the migration target determination unit 103.

[0062] In predicting the future load status of a VM, first, the resource future prediction unit 203 acquires historical resource data for learning from the log information storage unit 200 (S200). Next, the tuning unit 210 divides the data into optimization learning data and verification data (S201). The tuning unit 210 performs baseline detection and uses data after the baseline change as learning data (S202). The baseline detection may be the same as the operation of the resource data prediction unit 101 described with reference to FIG. 3. The tuning unit 210 performs a Fourier transform on the optimization learning data (S203). As already described with reference to FIG. 4, peak detection is performed on the result of the Fourier transform (S204). The periodic component parameters are optimized using multiple detected peak values ​​(S205). Details of the optimization are the same as those in the first embodiment and will not be repeated here. The optimized machine learning model is stored in the model storage unit 204 (S206). Next, the prediction execution unit 211 uses the optimized periodic component parameters to input the historical resource data into the machine learning model to perform future prediction and output the results (S207). The trend classification unit 212 performs trend classification on the historical resource data and prediction results into the 15 patterns of trends already shown in Fig. 7 (S208). This completes the resource prediction operation.

[0063] [3. Predicting the number of VMs that can be installed] FIG. 12 is a process flow diagram of the operation of predicting the number of VMs that can be installed, performed by the capacity planning system 2. The operation of predicting the number of VMs that can be installed is executed by the installable VM number prediction unit 205. In predicting the number of VMs that can be installed, it is predicted how many additional guest VMs each host VM 310 can install. First, as shown in FIG. 12, the installable VM number prediction unit 205 checks whether or not the target resource takes overcommit into consideration (S300). If overcommit is not taken into consideration (no in S300), it performs a first installation number prediction (S301). If overcommit is taken into consideration (yes in S300), it performs a second installation number prediction (S302).

[0064] FIG. 13 is a processing flow diagram of the first installation number prediction when overcommit is not taken into consideration. In the first installation number prediction, first, the number remaining after subtracting the number of allocated vCPUs and reserved vCPUs from the number of vCPUs of the host VM is saved (S310). In the example of FIG. 14, the number of vCPUs of the host VM is 16, the number of allocated vCPUs is 10, and the number of reserved vCPUs is 4, so the number of remaining vCPUs is 2. Next, the value remaining after subtracting the amount of memory allocated to the guest VMs and the amount of memory reserved is saved (S311). In the example of FIG. 15, the amount of memory installed in the host VM is 16 GB, and the value remaining after subtracting the amount of memory allocated to the guest VMs (10 GB) and the amount of reserved memory (2 GB) is 4 GB. Next, the remaining vCPUs are divided by the number of allocated vCPUs of the VM to be added (S312). The memory capacity calculated in S311 is divided by the memory capacity of the VM to be added (S313). Then, the smaller of the values ​​calculated in S312 and S313 is output as the predicted number of onboard VMs (S314). This completes the operation for predicting the number of onboard VMs without taking overcommit into consideration.

[0065] FIG. 16 shows the processing flow of the second installation number prediction executed when overcommit is considered in S300 (if yes in S300). In the second installation number prediction, first, the CPU times of the guests held by the host for each identical timestamp are added together (S320). Similarly, the memory usage amounts of the guests held by the host for each identical timestamp are added together (S321). Next, a guest VM to be added is selected (S322). This selection may be made by the user or may be automatically selected based on a predetermined criterion. Next, the maximum CPU time is obtained from the host resources, and the CPU times for each timestamp of the guest VM to be added are sequentially added up to the maximum CPU time to the CPU time used by the host, thereby calculating how many guest VMs can be added (S323). Note that the same guest VM may be added, or different guest VMs may be added sequentially. When the same guest VM is repeatedly added together, the user can more intuitively recognize host VMs with large free space (the same applies to the memory usage amount described below). Similarly, the maximum memory capacity of the host is acquired, and the memory usage of the guest VMs to be added for each timestamp is sequentially added up to the maximum memory capacity of the host, to calculate how many guest VMs can be added and how many times (S324). As with the CPU, the same guest VMs can be added repeatedly, or different guest VMs can be added sequentially. Figure 17 shows a graph in which the memory usage for each timestamp of the guest VMs to be added is added together with the total memory usage of the guests held by the host VM. In the example of Figure 17, the maximum memory capacity of the host is 10 GB, and there is a possibility of adding more guest VMs. The smaller of the numbers of guest VMs that can be installed calculated in S323 and S324 is then used as the predicted number (S325). This concludes the operation for predicting the number of VMs to be installed, taking overcommit into account.

[0066] [4. VM migration destination suggestion] 18 is a process flow diagram of the VM migration destination proposing operation performed by the capacity planning system 2. The VM migration destination proposing operation is executed by the VM migration destination proposing unit 206.

[0067] First, the VM migration destination proposal unit 206 checks whether the target resource takes overcommit into consideration (S400). If overcommit is not taken into consideration (no in S400), a first migration destination proposal procedure is implemented (S401). If overcommit is taken into consideration in S400 (yes in S400), a second migration destination proposal procedure is implemented (S402).

[0068] FIG. 19 is a process flow diagram of a first migration destination proposal procedure executed when overcommit is not considered. The VM migration destination proposal unit 206 first saves the remaining number obtained by subtracting the number of allocated vCPUs and reserved vCPUs from the number of vCPUs of the host VM that is a migration destination candidate (S410). The migration destination candidate host VM may be determined based on user selection, a predetermined priority, or the predicted number of VMs that can be added. The remaining value obtained by subtracting the amount of memory allocated to guest VMs and the amount of reserved memory from the memory capacity of the host VM is saved (S411). Hosts that allocate resources equal to or greater than a threshold percentage (e.g., 80%) are listed as high-load hosts (S412). Note that the high-load hosts here may be determined differently from the method used to determine high load in the high-load VM detection. Next, one high-load host and one non-listed host are selected (S413). The amount of allocated resources of the high-load host when a guest VM is migrated from the high-load host to a non-listed host is obtained (S414). It is checked whether the amount of allocated resources of the high-load host has fallen below the threshold percentage (S415). It is checked whether the amount of allocated resources of a host that is not listed will exceed the threshold percentage if it accepts the guest VM (S416). If there are no problems in the checks of both S415 and S415, it is checked whether there are any other listed hosts (S416). If the amount of allocated resources of all hosts is below the threshold percentage, the first migration destination proposal procedure is completed (S417).

[0069] 20 is a process flow diagram of the second migration destination proposal procedure executed when overcommit is taken into consideration. In the second migration destination proposal procedure, the VM migration destination proposal unit 206 first acquires a high load judgment list of host VMs from the model storage unit 204 (S420). A host VM listed in the high load judgment list is selected as the migration source host (S421). From the guest VMs on the selected migration source host, a guest that meets the conditions described below is selected as the migration target guest VM (S422).

[0070] When selecting a guest VM to be migrated, a guest VM that shows a consistent trend in the trend classification performed by the trend classification unit 212 of the resource future prediction unit 203 is selected as the first priority. This condition ensures that the impact on the resource state of the migration destination is consistent, improving the prediction accuracy of the resource status after migration. Furthermore, if there are multiple guest VMs with a consistent trend, a VM that is determined to be highly loaded in high-load VM detection targeting guest VMs is selected as the second priority. Other guest VMs are selected in descending order of average resource usage.

[0071] Next, after selecting the guest VM to be migrated, a host that is not included in the high load determination list is selected as a migration destination candidate (S423). The migration destination candidate host VM may be selected by the user, determined based on a predetermined priority, or determined based on the predicted number of additional VMs that can be installed. As shown in FIG. 17, the resources of the guest VM to be migrated are added up for each timestamp to the resources of the destination candidate host (S424). High-load VM detection is performed on the resources after addition (S425). The result of the high load judgment is confirmed to be high load (S426), and if the destination candidate host is high load, another destination candidate host is selected. If it is not high load, a check is made to see if the source host is still high load (S427). If it is high load, another guest is selected as the migration target. If the source host is not high load after the migration, a check is made to see if there are other high-load hosts (S426). If there are other host VMs, the same process is repeated, and if it is determined that all host VMs are not high load, the second migration destination proposal procedure is completed.

[0072] As described above, the capacity planning system 2 may determine the source host VM, the target guest VM, and the destination host VM, and the recommendation sending unit 207 may transmit this information to the system administrator device 500 as a recommendation 700. Furthermore, the capacity planning system 2 may automatically perform relocation based on the determined source host VM, target guest VM, and destination host VM.

[0073] Unlike the first embodiment, the capacity planning system 2 according to the second embodiment further predicts the number of VMs that can be installed. Therefore, when a high load on a host VM is detected, the number of guest VMs that can be installed on all host VMs is calculated, and a more optimal placement can be determined.

[0074] Although the above description assumes an on-premises environment, as mentioned above, this embodiment can also be implemented on the cloud. In this case, first, with regard to data collection, performance information of the monitored devices, information on installed software, and information on services running on the server may be collected periodically. The periodically collected information is transmitted via a network to an operations management system on the cloud. The operations management system on the cloud receives the transmitted performance information and event logs.

[0075] Regarding server service classification, the purpose of the server can be determined from the installed software information and service information. Server uses include DB server, Web server, mail server, file server, DNS server, AP server, backup server, etc., and category classes for these can be created.

[0076] It is also possible to perform capacity planning by forecasting future resources for each server use. The above-mentioned solutions are implemented using resource data for classified server use, and the results are recorded as category class features, which are trends and features according to the server use. The recorded features can be used in multi-series modeling (combining predictions) to achieve optimal future forecasts and capacity planning that take into account the characteristics of server use. Similar effects can be achieved in on-premises environments by applying the recorded feature data to them.

[0077] (Effects of the second embodiment) In the second embodiment, in addition to the first embodiment, the number of VMs that can be installed is predicted. Therefore, when a high load on a host VM is detected, the number of guest VMs that can be installed on all host VMs is calculated, and an optimal placement can be recommended.

[0078] <Third embodiment> FIG. 21 is a diagram illustrating a resource optimization device 3 according to the present disclosure.

[0079] According to this embodiment, the resource optimization device 3 includes at least a resource data prediction means 31 configured to predict future predicted resource data for each of the plurality of host virtual machines by applying a time series prediction algorithm to historical resource data for each of the plurality of host virtual machines; a high-load VM determination means 32 configured to determine a high-load host virtual machine from among the plurality of host virtual machines based on the historical resource data and future resource data for each of the plurality of host virtual machines; and a migration target determination means 33 configured to determine a migration destination host virtual machine to which a migration target guest virtual machine of at least one of the high-load host virtual machines is to be migrated. The historical resource data and future predicted resource data are time series data. The migration destination host virtual machine is a host virtual machine that is not a high-load host virtual machine from among the plurality of host virtual machines.

[0080] Next, the processing of the resource optimization device 3 according to the present disclosure will be described. FIG. 22 is a diagram showing the processing of the resource optimization device 3 according to the present disclosure. The resource data prediction means 31 applies a time-series prediction algorithm to historical resource data for each of the multiple host virtual machines to predict future predicted resource data for each of the multiple host virtual machines (step S31). The historical resource data and future predicted resource data are time-series data. Next, the high-load VM determination means 32 determines a high-load host virtual machine from among the multiple host virtual machines based on the historical resource data and future resource data of each of the multiple host virtual machines (step S32). The migration target determination means 33 determines a migration destination host virtual machine to which a migration-target guest virtual machine of at least one of the high-load host virtual machines is to be migrated (step S33). The migration destination host virtual machine is a host virtual machine that is not a high-load host virtual machine among the multiple host virtual machines.

[0081] <Fourth embodiment> 23 is a diagram illustrating a hardware configuration of a resource optimization device 4 according to the present disclosure. As shown in this diagram, the resource optimization device 4 may be a computer including various pieces of hardware such as a CPU 41, a ROM (Read Only Memory) 42, a RAM (Random Access Memory) 43, a database 44, a communication module 45, and a display 46.

[0082] The above configuration allows the client server to recognize the replaced disk array device without changing the configurations of the client server, the original disk array device, and the replacement disk array device.

[0083] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.

[0084] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0085] (Appendix 1) a resource data prediction unit configured to apply a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; a high-load virtual machine determination unit configured to determine a high-load host virtual machine from among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; a migration target determination unit configured to determine a destination host virtual machine to which a migration target guest virtual machine of at least one of the high-load host virtual machines is to be moved, the destination host virtual machine being a host virtual machine that is not the high-load host virtual machine among the plurality of host virtual machines; A resource optimization device comprising: (Appendix 2) The resource data prediction unit performing a Fourier transform on the learning data included in the historical resource data to detect a plurality of peak values; applying the time series forecasting algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values; 2. The resource optimization apparatus of claim 1, further configured as follows: (Appendix 3) The resource data prediction unit Dividing the historical resource data into the training data and the validation data; applying the time series prediction algorithm to the training data using periodic component parameters corresponding to at least two of the detected peak values, respectively, to perform a prediction for the same period as the validation data; determining a peak value with higher accuracy as the one peak value based on a comparison between a prediction for the same period as the verification data and the verification data for each of the at least two of the plurality of peak values; 3. The resource optimization apparatus of claim 2, further configured to: (Appendix 4) the high-load virtual machine determination unit, If the resource data exceeds a threshold level for a time period corresponding to a predetermined percentage of the first period, the corresponding first period is determined to be a high load period; If the number of first periods determined to be high loads is equal to or greater than a predetermined number within a second period longer than the first period, the virtual machine is determined to be a high-load virtual machine. The resource optimization device according to any one of Supplementary Notes 1 to 3, further configured as follows: (Appendix 5) the migration target determination unit is further configured to classify a resource trend for each of the plurality of host virtual machines based on at least one of the historical resource data and the future resource data of each of the plurality of host virtual machines; the classification is based on trend classification of a trend component, a seasonal component, and a residual component of the resource data; 5. The resource optimizing device according to claim 1, wherein the migration target determination unit is further configured to determine the migration destination host virtual machine based on the classification of the resource tendency. (Appendix 6) The movement target determination unit A host virtual machine whose trend component has a constant tendency is preferentially determined as the destination host virtual machine. 6. The resource optimization device of claim 5, further configured as follows: (Appendix 7) a host virtual machine that is not a high-load host virtual machine further comprising an installation number prediction unit that predicts the number of guest virtual machines that can be additionally installed from the present to the future; The resource optimization device according to any one of claims 1 to 6, wherein the migration target determination unit is further configured to determine the destination host virtual machine based at least in part on the number of additional guest virtual machines that can be installed. (Appendix 8) The installation number prediction unit 8. The resource optimization device of claim 7, further configured to predict the number of additional guest virtual machines that can be installed based on whether or not overcommitment is taken into account. (Appendix 9) applying a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; determining a high-load host virtual machine among the plurality of host virtual machines based on historical resource data of each of the plurality of host virtual machines and the future resource data; a step of determining a destination host virtual machine to which at least one of the high-load host virtual machines is to be moved, the destination host virtual machine being a host virtual machine that is not the high-load host virtual machine among the plurality of host virtual machines; 1. A computer-implemented method for optimizing resources, comprising: (Appendix 10) predicting the future predicted resource data includes: performing a Fourier transform on the learning data included in the historical resource data to detect a plurality of peak values; applying the time series forecasting algorithm to the historical resource data using a periodic component parameter corresponding to one peak value of the plurality of peak values; 10. The resource optimization method of claim 9, comprising: (Appendix 11) predicting the future predicted resource data includes: dividing the historical resource data into the training data and the validation data; applying the time series prediction algorithm to the training data using periodic component parameters corresponding to at least two of the detected peak values, respectively, to perform prediction for the same period as that of the validation data; determining a peak value with higher accuracy as the one peak value based on a comparison between a prediction for the same period as the verification data and the verification data for each of the at least two of the plurality of peak values; 11. The resource optimization method of claim 10, further comprising: (Appendix 12) determining the high-load host virtual machine, determining that a corresponding first period is a high load period when the resource data exceeds a threshold level for a time period corresponding to a predetermined percentage of the first period; determining that the virtual machine is a high-load virtual machine when the number of first periods determined to be high loads is equal to or greater than a predetermined number within a second period that is longer than the first period; 12. A resource optimization method according to any one of appendices 9 to 11, comprising: (Appendix 13) the step of determining the destination host virtual machine classifying a resource trend for each of the plurality of host virtual machines based on at least one of the historical resource data and the future resource data for each of the plurality of host virtual machines, wherein the classification is based on trend classification of a trend component, a seasonal component, and a residual component of resource data; determining the migration target guest virtual machine based on the resource trend classification; 13. The resource optimization method according to any one of appendices 9 to 12, further comprising: (Appendix 14) The method further includes predicting the number of guest virtual machines that can be additionally installed in the host virtual machine that is not the high-load host virtual machine from the present to the future, A resource optimization method described in any one of Appendices 9 to 13, wherein the step of determining the destination host virtual machine further includes a step of determining the destination host virtual machine based at least in part on the number of additional guest virtual machines that can be installed. (Appendix 15) The step of predicting the number of guest virtual machines that can be installed additionally includes: 15. The resource optimization method of claim 14, further comprising a step of predicting the number of additional guest virtual machines that can be installed based on whether or not overcommitment is taken into consideration. (Appendix 16) a resource data prediction means configured to apply a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; a high-load virtual machine determination means configured to determine a high-load host virtual machine from among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; a migration target determination means configured to determine a destination host virtual machine to which a migration target guest virtual machine of at least one of the high-load host virtual machines is to be moved, wherein the destination host virtual machine is a host virtual machine that is not the high-load host virtual machine among the plurality of host virtual machines; A computer program that functions as a (Appendix 17) The resource data prediction means performing a Fourier transform on the learning data included in the historical resource data to detect a plurality of peak values; applying the time series forecasting algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values; 17. The computer program of claim 16, further configured to: (Appendix 18) The resource data prediction means Dividing the historical resource data into the training data and the validation data; applying the time series prediction algorithm to the training data using periodic component parameters corresponding to at least two of the detected peak values, respectively, to perform a prediction for the same period as the validation data; determining a peak value with higher accuracy as the one peak value based on a comparison between a prediction for the same period as the verification data and the verification data for each of the at least two of the plurality of peak values; 18. The computer program of claim 17, further configured to: (Appendix 19) The high-load virtual machine determination means If the resource data exceeds a threshold level for a time period corresponding to a predetermined percentage of the first period, the corresponding first period is determined to be a high load period; If the number of first periods determined to be high loads is equal to or greater than a predetermined number within a second period longer than the first period, the virtual machine is determined to be a high-load virtual machine. 19. The computer program according to any one of appendices 16 to 18, further configured as follows: (Appendix 20) the migration target determination means is further configured to classify a resource trend for each of the plurality of host virtual machines based on at least one of the historical resource data and the future resource data of each of the plurality of host virtual machines; the classification is based on trend classification of a trend component, a seasonal component, and a residual component of the resource data; 20. The computer program according to any one of appendices 16 to 19, wherein the migration target determination means is further configured to determine the migration destination host virtual machine based on the resource tendency classification. (Appendix 21) The moving object determining means A host virtual machine whose trend component has a constant tendency is preferentially determined as the destination host virtual machine. 21. The computer program of claim 20, further configured to: (Appendix 22) the computer program further causes the processor to function as installation number prediction means for predicting the number of guest virtual machines that can be additionally installed in the host virtual machine that is not the high-load host virtual machine from the present to the future; The computer program according to any one of appendices 16 to 21, wherein the migration target determination means is further configured to determine the destination host virtual machine based on at least one of the number of additional guest virtual machines that can be installed. (Appendix 23) The means for predicting the number of vehicles to be loaded is 23. The computer program of claim 22, further configured to predict the number of additional guest virtual machines that can be installed based on whether or not overcommitment is taken into account. [Explanation of symbols]

[0086] 1 Resource Optimizer 10 CPU 11 Storage section 101 Resource Data Prediction Department 102 High-load virtual machine determination unit 103 Movement target determination unit 2 Capacity Planning System 200 Log information storage unit 201 Pretreatment section 202 High-load VM detection unit 203 Resource Future Forecasting Department 204 Model Memory Unit 205 Prediction of the number of VMs that can be installed 206 VM migration destination proposal department 207 Recommendation Sending Department 300 Storage 400 Virtual Machine Cluster 410 Host VM 420 guest VMs 500 System Administrator Devices 600 Performance information 601 Configuration Information

Claims

1. a resource data prediction unit configured to apply a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; a high-load virtual machine determination unit configured to determine a high-load host virtual machine from among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; a migration target determination unit configured to determine a destination host virtual machine to which a migration target guest virtual machine of at least one of the high-load host virtual machines is to be moved, the destination host virtual machine being a host virtual machine that is not the high-load host virtual machine among the plurality of host virtual machines; A resource optimization device comprising:

2. The resource data prediction unit performing a Fourier transform on the learning data included in the historical resource data to detect a plurality of peak values; applying the time series forecasting algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values; The resource optimization apparatus of claim 1 , further configured to:

3. The resource data prediction unit Dividing the historical resource data into the training data and the validation data; applying the time series prediction algorithm to the training data using periodic component parameters corresponding to at least two of the detected peak values, respectively, to perform a prediction for the same period as the validation data; determining a peak value with higher accuracy as the one peak value based on a comparison between a prediction for the same period as the verification data and the verification data for each of the at least two of the plurality of peak values; The resource optimization apparatus of claim 2 , further configured to:

4. the high-load virtual machine determination unit, If the resource data exceeds a threshold level for a time period corresponding to a predetermined percentage of the first period, the corresponding first period is determined to be a high load period; If the number of first periods determined to be high loads is equal to or greater than a predetermined number within a second period longer than the first period, the virtual machine is determined to be a high-load virtual machine. The resource optimization apparatus of claim 1 , further configured to:

5. the migration target determination unit is further configured to classify a resource trend for each of the plurality of host virtual machines based on at least one of the historical resource data and the future resource data of each of the plurality of host virtual machines; the classification is based on trend classification of a trend component, a seasonal component, and a residual component of the resource data; The resource optimization device according to claim 1 , wherein the migration target determination unit is further configured to determine the migration target guest virtual machine based on the classification of the resource tendency.

6. The movement target determination unit A guest virtual machine whose trend component has a constant tendency is preferentially determined as the guest virtual machine to be migrated. The resource optimization apparatus of claim 5 , further configured to:

7. applying a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; determining a high-load host virtual machine among the plurality of host virtual machines based on historical resource data of each of the plurality of host virtual machines and the future resource data; a step of determining a destination host virtual machine to which a migration target guest virtual machine of at least one of the high-load host virtual machines is to be migrated, the destination host virtual machine being a host virtual machine that is not the high-load host virtual machine among the plurality of host virtual machines; 1. A computer-implemented method for optimizing resources, comprising:

8. The processor, a resource data prediction means configured to apply a time series prediction algorithm to historical resource data for each of a plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines, wherein the historical resource data and the future predicted resource data are time series data; a high-load virtual machine determination means configured to determine a high-load host virtual machine from among the plurality of host virtual machines based on the historical resource data and the future resource data of each of the plurality of host virtual machines; a migration target determination means configured to determine a destination host virtual machine to which a migration target guest virtual machine of at least one of the high-load host virtual machines is to be moved, the destination host virtual machine being a host virtual machine that is not the high-load host virtual machine among the plurality of host virtual machines; A computer program that functions as a

Citation Information

Patent Citations

  • Load distribution management device, control method, and program

    JP2016057898A

  • Virtual machine operation support system and virtual machine operation support method

    JP2016212609A

  • Virtual machine management program, virtual machine management method, and virtual machine management device

    JP2018028746A

  • Distributed storage system and data migration method

    JP2021056955A

  • Information processor, virtual machine management method, and virtual machine management program

    JP2012181647A