Resource Optimization Device, Resource Optimization Method, and Computer Program

The resource optimization device uses time series prediction to determine high-load VMs and optimal migration destinations, addressing the limitations of existing methods by considering past and future load scenarios for improved resource management.

JP7715424B1Active Publication Date: 2025-07-30NEC PLATFROMS LTD
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing techniques for optimizing virtual machine resources fail to consider the load situation from the past to the future, relying on human experience and time-consuming corrections.

Method used

A resource optimization device that applies a time series prediction algorithm to historical resource data to forecast future load, determining high-load virtual machines and identifying suitable destination machines for guest VM migration based on past and future data.

Benefits of technology

Enables more effective destination selection for VM migration, improving resource optimization efficiency through future load prediction and VM installation planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007715424000001_ABST
    Figure 0007715424000001_ABST
Patent Text Reader

Abstract

It is possible to relocate a guest VM in consideration of the load situation from the past to the future. 【Solution means】 The resource optimization device includes a resource data prediction unit configured to apply a time series prediction algorithm to historical resource data for each of virtual machines (VMs) to predict future predicted resource data for each of the plurality of VMs, and based on the historical resource data and future resource data of each of the plurality of VMs, a high-load VM determination unit configured to determine a high-load host VM among the plurality of VMs, and a movement target determination unit configured to determine a destination host VM to which a movement target guest VM in at least one of the high-load host VMs is to be moved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] In the operation of virtual machines (VMs), there is a technique for optimizing the resources of the entire VM by proposing to move guest VMs from a highly loaded host VM to a lowly loaded host VM. Since human optimization depends on experience and takes time, it has been proposed to perform the movement based on the prediction of the future load of the VMs.

[0003] Patent Document 1 proposes, for example, predicting the load based on actual measurements in the same time zone or the like, and then comparing the predicted value with the actual measurement value to correct the prediction.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, the above-described technique has a problem that it is impossible to relocate guest VMs in consideration of the load situation from the past to the future.

[0006] An object of the present invention is to provide a resource optimization apparatus, a resource optimization method, and a computer program that solve the above-described problems.

Means for Solving the Problems

[0007] A resource optimization device according to an aspect of the present disclosure is 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 resource data prediction unit, based on the historical resource data of each of the plurality of host virtual machines and the future resource data, a high-load virtual machine determination unit configured to determine a high-load host virtual machine among the plurality of host virtual machines, and a movement target determination unit configured to determine a destination host virtual machine to which a guest virtual machine to be moved in at least one of the high-load host virtual machines is 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.

[0008] A resource optimization method according to an aspect of the present disclosure includes a step 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, a step of determining a high-load host virtual machine among the plurality of host virtual machines based on the historical resource data of each of the plurality of host virtual machines and the future resource data, and a step of determining a destination host virtual machine to which a guest virtual machine to be moved in at least one of the high-load host virtual machines is 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.

[0009] A computer program according to an aspect of the present disclosure is resource data prediction means configured to cause a processor 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; 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 of each of the plurality of host virtual machines and the future resource data; and movement target determination means configured to determine a destination host virtual machine to which a guest virtual machine to be moved 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 that is not the high load host virtual machine among the plurality of host virtual machines, and function as the movement target determination means.

Advantages of the Invention

[0010] According to the present invention, by determining a high load host VM based on past and future resource data of host VMs, a more effective destination host VM for migration can be determined. Further, based on detection of high load VMs, future prediction of the load status of VMs, and prediction of the number of VMs that can be installed, it is possible to propose a destination for VM migration, enabling more efficient resource optimization.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Mode for Carrying Out the Invention

[0012] <First Embodiment> Hereinafter, the resource optimization device related to the first embodiment 1 will be described with reference to FIGS. 1 to 7.

[0013] (Functional Configuration of Resource Optimization Device 1) FIG. 1 is a diagram showing the configuration of the resource optimization device 1 according to the present disclosure. The resource optimization device 1 is a device 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 according to, for example, a computer program (hereinafter also 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 included in 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 inside it, but 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 can also acquire information from the external storage device.

[0015] By operating according to a program, the CPU 10 functions as a resource data prediction unit 101, a high-load virtual machine determination unit 102, and a movement target determination unit 103. Hereinafter, these functional configurations will be described.

[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. Resource data (including historical resource data and future predicted resource data) means, in this specification, time-series data of resource information of a VM over a predetermined period. Resource data includes CPU usage rate, memory usage rate, disk usage rate, network usage rate, etc. Also, the resource data is resource data with a timestamp. For example, the resource data may be timestamped processor time as shown in FIG. 2. Also, historical resource data means past resource data. Since resource data can be defined for both host VMs and guest VMs, the VM to be the target of 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 (autoregressive, moving average, autoregressive moving average, seasonal autoregressive integrated moving average, vector autoregressive, state space, neural networks such as LSTM, and ensemble methods of various algorithms, etc.) to the historical resource data to predict future resource data.

[0018] Some time-series prediction algorithms set the periodicity parameter of time-series data as an input when predicting the future of time-series data. The periodic component parameter indicates how many data counts the resource data has in one cycle. When using such a time-series prediction algorithm, the resource data prediction unit 101 may optimize the periodic component parameter. The procedure for optimizing the periodic component parameter is executed as follows (1) to (5).

[0019] (1) Verify whether there has been no baseline fluctuation during the period for all the historical resource data. If there has been a baseline fluctuation, only extract the data of the latest baseline. This can avoid the reduction in prediction accuracy due to baseline fluctuations. In the example shown in Figure 3, at the baseline change point t, since a baseline change has occurred, extract the historical resource data after the baseline change point t.

[0020] (2) Next, divide the historical resource data extracted in (1) into training data and verification data. Hereinafter, this training data will be referred to as "training data for optimization" in the sense of being used in the optimization procedure. In the time series prediction algorithm, the model is trained by adjusting the model parameters to fit the training data for optimization. When performing the above division, it is advisable to use the older data in chronological order as the training data for optimization and the newer data as the verification data. For example, if there is data for 5 months from January to May, use the data for 3 months from January to March as the training data for optimization and the data for 2 months in April and May as the verification data. However, the ratio and period are not limited to this.

[0021] (3) Next, perform Fourier transform on the training data for optimization and perform peak detection on the result of the Fourier transform. In the example shown in Figure 4, similar to the above example, the historical resource data for 3 months is used as the training data for optimization. As is known, Fourier transform can calculate the frequency components of the target time series data. As shown in Figure 4, for the result of the Fourier transform, since there are often multiple peaks, some of the main peaks may be adopted.

[0022] (4) Set the period of the detected peak as the periodic component parameter, apply the time series prediction algorithm to the training data for optimization, and perform prediction for the same period as the verification data. This operation is performed on at least a part of the multiple detected peaks (for example, the main peaks with large peak values).

[0023] (5) Next, calculate and compare the MAE (Mean Absolute Error) between the prediction results at each peak and the verification data. Determine the peak value with the best accuracy as the periodic parameter. The above is the procedure for optimizing the periodic component parameter.

[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 parameter determined as described above. By optimizing such periodic component parameters, it is possible to perform tuning faster than methods such as optimization by grid search 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 of each VM and the future predicted resource data. 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 source of guest VM migration. If the VM is a guest VM, the determination of the high-load guest VM is considered when determining the guest VM to be migrated. The high-load virtual machine determination unit 102 determines that the VM is high-load when the following two-stage judgment conditions are satisfied in more detail.

[0026] 〔High-load VM First Judgment〕 If the resource data exceeds the threshold during a time period of a predetermined ratio within a period having a first length (hereinafter referred to as the first period; for example, one day), it is determined that the period is a high load. This threshold is also referred to as the "Critical level" in this specification. For example, if the resource data is the CPU usage rate, it may be 80% of the CPU usage rate. The Critical level can be changed to any value by a system engineer or a user who is a system administrator. For example, as shown in FIG. 5, when the first length is set to one day, the above "time period of a predetermined ratio" is set to 10% of one day (144 minutes), and the Critical level is set to 80% of the CPU usage rate, if the CPU usage rate is in the state of 80% for a period of 144 minutes or more in one day, that day is determined to be a high load. Note that, in this embodiment, the Critical level is described as an example, but a plurality of thresholds such as a Warning level and an over-allocation level may be provided. The over-allocation level is set to a low value such as 20% or 40% in order to detect whether resources are not allocated more than necessary to the VM, and if the high load detection is not satisfied, it is determined as over-allocation. Also, in this embodiment, an example in which the period is determined to be a high load during a "time period of a predetermined ratio" exceeding the threshold within a period having a first length is described, but it may be determined based on the percentile and the threshold within the period having a first length.

[0027] [High load VM second determination] Check how many times the first period determined to be a high load exists 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 or more first periods determined to be a high load, the corresponding VM is determined to be a high load. Note that when the first periods determined to be a high load are continuous, the number may be counted, or non-continuous ones may be counted. In the above example, as shown in FIG. 6, within one week which is the second period, if there are 4 or more first periods, that is, if there are days determined to be a high load for 4 days or more, the VM may be determined to be a high load. Note that hereinafter, such a 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 the VM. In response to this, the high-load virtual machine determination unit 102 can determine whether the VM is under high load with respect to the historical resource data of the VM and the future predicted resource data of the VM predicted by the resource data prediction unit 101. Thus, based on both past resource data and predicted resource data, it is possible to determine whether it is under high load, and it is possible to assume at which timing (for example, which week) it may become under high load.

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

[0030] 〔Determination of the source host〕 First, the determination of the source host VM will be described. From the results of high-load VM detection, list up high-load host VMs and non-high-load host VMs, and the migration target determination unit 103 designates one of the high-load host VMs as the source host VM. At this time, a host with a higher degree of high load may be preferentially adopted as the source host VM.

[0031] 〔Determination of the guest to be migrated〕 Next, the migration target determination unit 103 selects a guest VM to be migrated in the selected source host based on a predetermined condition. The predetermined condition may include a condition based on a resource trend classification regarding the load status of the guest VM. The resource trend classification will be 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 the long-term data variation, the seasonal component is a component of the periodic data variation, and the residual is a data variation component including error variations and sudden specific changes. Examples of the decomposition method include, but are not limited to, STL decomposition (Seasonal Decomposition of Time Series by Loess). After decomposition into each component, the tendency of each extracted component is classified.

[0033] The trend component may be classified into an upward trend, a downward trend, or a constant trend. For example, linear regression is performed on the extracted trend component to obtain the slope. If the slope is a certain value or more (for example, 0.2 or the like), it is an increasing trend. If the slope is a certain value or less (for example, -0.2 or the like), it is a decreasing trend. Otherwise (for example, greater than -0.2 and less than 0.2, etc.), it is a constant trend.

[0034] Also, the seasonal component may be classified into "seasonal" or "non-seasonal". For example, the maximum value of the absolute value of the extracted seasonal component is obtained, and if it is a certain value or more, it is determined that there is seasonality.

[0035] Also, the residual may be classified into whether it is rising rapidly, falling rapidly, fluctuating wildly, or having no wild fluctuations. For example, linear regression is performed on the resource data for a certain period (for example, 7 days) to obtain the slope. Next, for the resource data of the same certain period (starting from one day after the first 7 days and the next 7 days) following the said period, the slope is similarly obtained. This operation is repeated for the target period to obtain the slope for all certain periods. Check whether there is any slope that is above the upper limit value or below the lower limit value. If not, it is determined that there is no wild fluctuation. If there is a slope above the upper limit value, it is determined that there is a rapid rise. If there is a slope below the lower limit value, it is determined that there is a rapid fall. If there are both slopes, it is determined that there is wild fluctuation.

[0036] The combination of the classifications for each component is taken as the final classification. In the above example, as shown in FIG. 7, it can be classified in 15 ways. The above is the explanation of the resource trend classification.

[0037] The movement target determination unit 103 can select a movement target guest VM from among the guest VMs in the selected source host based on the above-mentioned trend classification. For example, the movement target determination unit 103 may, based on the trend classification, select, as the first priority, those that are easy to predict the impact of the movement on the destination host VM. For example, the movement target determination unit 103 may select, as the first priority, a VM whose trend component has a certain trend. Also, the selection of the guest VM can be based on, for example, the periodic change of the seasonal component being constant, or the classification of the residual component being determined to have no chaotic high and low fluctuations. As a result, the impact on the resource state of the destination becomes constant or easy to predict, so the prediction accuracy of the resource situation of the destination host VM after the movement is improved. When there are multiple selected movement target candidate guest VMs (for example, guest VMs with a certain trend), next, the high-load guest VMs determined to be high-load by the high-load VM detection for the guest VMs may be given the second priority. As described above, the high-load virtual machine determination unit 102 can execute the high-load VM detection for the guest VMs. If it still cannot be determined, it can be in the order of the highest average resource utilization rate.

[0038] 〔Determination of the destination host〕 Next, the movement target determination unit 103 selects a destination host VM from among the host VMs determined not to be high-load based on the resource state of the host VM. For example, the destination host VM may preferentially select, as candidates, those with less resource usage. Regarding the determination of whether the candidate host VM is actually selected, more specifically, the following three-stage determination may be made. If it is determined that the candidate host VM is appropriate as the destination host VM in any of the determinations, the candidate host VM is selected as the destination host VM.

[0039] (1) Primary determination of the destination candidate host First, from the perspective of the amount of free resources in the candidate destination host VM, it is determined whether the guest VM to be migrated is migratable. The amount of resources allocated to the guest VM to be migrated (for example, the number of vCPUs allocated, and the size of physical memory allocated, etc.) is compared with the amount of free resources in the candidate destination host VM (for example, available vCPUs and available physical memory) to check whether migration is possible. Specifically, it is determined that migration is possible when the following two equations are satisfied simultaneously.

[0040] The number of vCPUs allocated to the guest to be migrated <= The available vCPUs of the candidate destination host The size of physical memory allocated to the guest to be migrated <= The available physical memory of the candidate destination host (2) Secondary determination of the candidate destination host Next, it is determined whether the resource state of the candidate destination host VM will cause the resources of the host VM to be depleted due to the migration of the guest VM to be migrated. If it is determined that the resources will not be depleted, the candidate host VM is determined to be suitable as the destination in the secondary determination. Also, the determination of whether the resources of the host VM will be depleted may be performed in different procedures depending on whether overcommitment is considered or not. First, when not considering overcommitment, similar to the above primary determination, the determination regarding resources is made only based on the allocable amount. In other words, when not considering overcommitment, since it is possible to make a determination based on the same criteria as the primary determination, the secondary determination can be omitted.

[0041] Next, when considering overcommitment, by performing high-load VM detection on the time-series resource data of the host VM after migration to check whether a high-load determination occurs, it is determined whether the resources will be depleted. Hereinafter, when using the memory usage rate as the resource data, 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, will be described.

[0042] The memory usage rate of the host after migration is (The amount of memory used by the host after migration) / (The amount of memory installed in the host) It may be defined as follows. First, the amount of available physical memory of the host VM and the amount of available physical memory of the host VM after migration are obtained by the following formulas.

[0043] (Amount of available physical memory of the host) = (Amount of installed memory of the host) - (Amount of installed memory of the host × Expected memory utilization rate) (Amount of physical memory in use by the guest) = (Amount of memory allocated to the VM - "Available MBytes" of the VM) Next, the amount of available physical memory of the host after migration is obtained as follows.

[0044] (Amount of available physical memory of the host after migration) = (Amount of available physical memory of the host) - (Amount of physical memory in use by the guest) And then, the memory usage amount of the host after migration is obtained as follows.

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

[0046] In the high-load VM detection for the memory utilization rate of the host VM after migration, if it is not determined to be high-load, it is determined that the candidate host VM for migration will not deplete resources due to migration (that is, it is suitable as a migration destination).

[0047] (3) Tertiary determination of the candidate host for migration For the host VM determined to be suitable as a migration destination in the above primary and secondary determinations, it may be further determined whether the resource state of the source host is improved by migrating the guest VM to be migrated. If it is improved, the candidate host VM for migration is selected as the destination host VM. If it is not improved, the above determination is performed for the candidate host VM with the next highest priority.

[0048] (Processing flow of the resource optimization device 1) Figure 8 shows the 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, for example, a computer program stored in the storage unit 11.

[0049] First, in step S10, the resource data prediction unit 101 of the resource optimization device 1 applies a time series prediction algorithm to the historical resource data for each of the plurality of VMs to predict future predicted resource data for each of the plurality of VMs. As already described, the historical resource data and the future predicted resource data are time series data. Further, the plurality of VMs includes 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 among the plurality of VMs based on the historical resource data of each of the plurality of VMs and the predicted future resource data. The specific method for detecting a high-load VM may be, for example, the one described above with respect to the resource data prediction unit 101. Different criteria may be used for the guest VM and the host VM when determining the high-load host VM.

[0051] Next, in step S12, the movement target determination unit 103 of the resource optimization device 1 determines a destination host VM to move a guest VM in at least one of the high-load VM and the determined host VM. The destination host VM may be a host VM that is not a high-load VM in step S11 among the plurality of host VMs. Step S12 more specifically includes a step of selecting a source host VM from the host VM determined to be a high-load VM in step S11, a step of selecting a guest VM to be moved in the selected source host VM, and a step of selecting a destination host VM. The specific selection methods for the source host VM, the guest VM to be moved, and the destination host VM may be the ones described above with respect to the movement target determination unit 103, and the description thereof is omitted here.

[0052] (Effect according to the first embodiment) In the first embodiment, when predicting future resource data with timestamps by a time series prediction algorithm, it is possible to ensure both calculation speed and accuracy by using Fourier transform and peak detection.

[0053] Also, in the first embodiment, by using high-load VM detection from past data to the result of future prediction, it is possible to detect the timing when the VM is under high load from the past to the future.

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

[0055] Also, hereinafter, an example of collecting and implementing data in an on-premises environment will be used for explanation, but the capacity planning system 2 may be realized on the cloud. When realized on the cloud, in a plurality of systems, make them connectable to the cloud, and realize it with the data stored in the cloud.

[0056] FIG. 9 is a diagram showing the configuration of the 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 resource future prediction unit 203, a model storage unit 204, a mountable VM number 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 on which host VM a guest VM belongs to, and data on installed software and middleware. These pieces of information are transmitted to the capacity planning system 2 and recorded in the log information storage unit 200. The capacity planning system 2 can know the dependency relationship between the guest VM and the host VM and the information of each guest VM and host VM based on these pieces of information. The virtual machine cluster 400 includes host VMs 410 and guest VMs 420. The capacity planning system 2 creates a recommendation 700 regarding the migration of the guest VMs 420 between the host VMs 410 and transmits it to the system administrator device 500. Note that the system administrator device 500 can also provide an input (for example, a selection instruction of a host VM and / or a guest VM, etc.) in a series of processes in the capacity planning system 2 by communicating with the capacity planning system 2.

[0057] Hereinafter, the functions and processes performed by each functional unit of the capacity planning system 2 will be described along a series of operations of the capacity planning system 2. The operations performed by the capacity planning system 2 can be mainly divided into a high-load VM detection operation, a future prediction operation of the VM load status, a prediction operation of the number of mountable VMs, and a VM migration destination proposal operation. Each of these operations will be described in order.

[0058] 〔1. High-load VM detection〕 FIG. 10 is a processing flowchart of high-load VM detection performed by the capacity planning system 2. The high-load VM detection operation is executed by the preprocessing unit 201 and the high-load VM detection unit 202 of the capacity planning system 2. The preprocessing 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 a timestamp as exemplified in FIG. 2 in the first embodiment.

[0059] The preprocessing unit 201 performs preprocessing such as complementing the acquired historical resource data for deficiencies (S101). Next, the high-load VM detection unit 202 performs high-load VM detection based on the preprocessed historical resource data. The high-load VM detection unit 202 can perform high-load VM detection in the same manner as the high-load virtual machine determination unit 102 in the first embodiment.

[0060] Specifically, first, the ratio exceeding the threshold is obtained for each first period (hereinafter, the case of one day will be described as an example) (S102). It is checked whether the time exceeding the threshold exceeds a predetermined ratio in one day (S103). For example, if the time when the CPU usage rate exceeds 80% of the threshold exceeds 10% of a day (that is, when the answer is yes in S103), a flag is set for that day as a high load determination period (S104). Note that in this embodiment, an example of obtaining and determining the ratio exceeding the threshold in the first period is described, but it may be determined that the first period is a high load period based on the percentile and the threshold in the first period. Next, the high load determination is repeated for all target days (S105). When the high load determination is completed for all days (when the answer is yes in S105), it is checked whether there is a week in which the days determined to be high load are 4 days or more in a second period longer than the first period (hereinafter, an example of one week will be described) (S106). When there are 4 high load days in a week (when the answer is 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). In addition, the high load VM detection unit 202 similarly performs the above-described high load VM detection on the predicted future resource data, which will be described later, and this result is also recorded in the model storage unit 204 as a high load determination list. Thus, the high load VM detection operation is completed.

[0061] [2. Future Prediction of VM Load Status] FIG. 11 is a flowchart of a future prediction operation (hereinafter referred to as a resource prediction operation) of the VM load status performed by the capacity planning system 2. The resource prediction operation is executed by the resource future prediction unit 203. The resource future prediction unit 203 includes a tuning unit 210, a prediction execution unit 211, and a trend classification unit 212. The resource future prediction unit 203 corresponds to the resource data prediction unit 101 in the first embodiment, and further includes a trend classification unit 212 corresponding to the resource trend classification function of the movement target determination unit 103 in addition to the functions of the resource data prediction unit 101 in the first embodiment.

[0062] In the future prediction of the VM load status, 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 it into learning data for optimization and verification data (S201). The tuning unit 210 performs baseline detection and uses the 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 Fourier transform on the learning data for optimization (S203). As already described with reference to FIG. 4, peak detection is performed on the result of the Fourier transform (S204). Using the plurality of detected peak values, the periodic component parameters are optimized (S205). Since the details of the optimization are the same as those in the first embodiment, they are omitted. 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 outputs the result (S207). The trend classification unit 212 performs trend classification on the historical resource data and the prediction result according to the 15 patterns of trends already shown in FIG. 7 (S208). Thus, the resource prediction operation ends.

[0063] 3. Prediction of the Number of VMs That Can Be Installed FIG. 12 is a flowchart of the prediction operation of the number of VMs that can be installed performed by the capacity planning system 2. The prediction operation of the number of VMs that can be installed is executed by the installable VM number prediction unit 205. In the prediction of the number of VMs that can be installed, each host VM 310 predicts how many guest VMs can be additionally installed. First, as shown in FIG. 12, the installable VM number prediction unit 205 checks whether the target resource takes overcommitment into account (S300). If overcommitment is not considered (in the case of "no" in S300), the first installation number prediction is performed (S301). If overcommitment is considered (in the case of "yes" in S300), the second installation number prediction is performed (S302).

[0064] FIG. 13 is a processing flowchart of the first installed number prediction when overcommitment is not considered. In the first installed number prediction, first, the remaining number obtained by subtracting the already allocated vCPU number and the reserved vCPU from the vCPU number of the host VM is saved (S310). In the example of FIG. 14, the vCPU number of the host VM is 16, the already allocated vCPU number is 10, and the reserved vCPU is 4, so the remaining vCPU number is 2. Next, the remaining value obtained by subtracting the already allocated memory amount and the reserved memory amount from the memory installed amount of the host VM is saved (S311). In the example of FIG. 15, the memory installed amount of the host VM is 16 GB, and the remaining value obtained by subtracting the already allocated memory amount of 10 GB and the reserved memory amount of 2 GB for the guest VM is 4 GB. Next, the remaining vCPUs are divided by the allocated vCPU number 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 value calculated in S312 and S313 is output as the predicted number of VMs to be installed (S314). The prediction operation of the number of VMs installed without considering overcommitment is as above.

[0065] FIG. 16 is a processing flow of the second installed number prediction executed when overcommitment is considered in S300 (when it is yes in S300). In the second installed number prediction, first, the CPU times of the guests held by the host are added together for each same timestamp (S320). Similarly, the memory usage amounts of the guests held by the host are added together for each same timestamp (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 resources of the host, and for the used CPU time of the host, the CPU times for each timestamp of the guest VM to be added are sequentially added up to the maximum CPU time, and it is calculated how many guest VMs can be added together (S323). At this time, for the guest VMs to be added, the same ones may be used, or different ones may be sequentially used for the guest VMs to be added. In the case of repeatedly adding the same ones, the user can more intuitively recognize a host VM with a large free capacity (the same applies to the case of the used memory amount described later). Similarly, the maximum memory capacity of the host is obtained, and for the used memory amount of the host, the used memory amounts for each timestamp of the guest VM to be added are sequentially added up to the maximum memory capacity, and it is calculated how many guest VMs can be added together and how many times (S324). For the guest VMs to be added, similar to the case of the CPU, the same ones may be repeatedly used, or different ones may be sequentially used. FIG. 17 shows a graph when the used memory amounts for each timestamp of the guest VM to be added are added to the total memory usage amount of the guests held by the host VM. In the example of FIG. 17, the maximum memory capacity of the host is 10 GB, and it is possible to further add guest VMs. After that, of the number of installable guest VMs calculated in S323 and S324, the smaller value is set as the predicted value of the installed number (S325). The prediction operation of the VM installed number considering overcommitment is as above.

[0066] [4. Proposal of VM Migration Destination] FIG. 18 is a flowchart of the operation of proposing a destination for migrating a VM, which is performed by the capacity planning system 2. The operation of proposing a destination for migrating a VM is executed by the VM destination proposal unit 206.

[0067] First, the VM destination proposal unit 206 checks whether the target resource takes overcommit into account (S400). If overcommit is not considered (in the case of "no" in S400), the first destination proposal procedure is executed (S401). If overcommit is considered in S400 (in the case of "yes" in S400), the second destination proposal procedure is executed (S402).

[0068] FIG. 19 is a flowchart of the first destination proposal procedure executed when overcommit is not considered. The VM destination proposal unit 206 first saves the remaining number obtained by subtracting the allocated vCPUs and reserved vCPUs from the number of vCPUs of the host VM that is a candidate for the destination (S410). The host VM of the destination candidate may be determined based on selection by the user, a predetermined priority, or the predicted number of additional installable VMs. The remaining value obtained by subtracting the allocated memory amount and reserved memory amount from the memory capacity of the host VM is saved (S411). Hosts with a resource allocation of a threshold ratio (for example, 80%) or more are listed as high-load hosts (S412). Note that the high-load hosts here may be different from the method of determining high load in high-load VM detection. Next, one high-load host and one non-listed host are selected one by one (S413). The amount of allocated resources of the high-load host when the guest VM is migrated from the high-load host to the non-listed host is obtained (S414). It is confirmed whether the amount of allocated resources of the high-load host is below the threshold ratio (S415). It is confirmed whether the amount of allocated resources exceeds the threshold ratio when the non-listed host accepts the guest VM (S416). If there is no problem in both confirmations in S415 and S415, it is checked whether there is no other listed host (S416). If all hosts are below the threshold ratio of the allocated resource amount, the first destination proposal procedure is completed (S417).

[0069] FIG. 20 is a flowchart of a second destination proposal procedure executed when considering overcommitment. In the second destination proposal procedure, first, the VM destination proposal unit 206 acquires a high load determination list of the host VM from the model storage unit 204 (S420). A host VM listed in the high load determination list is selected as the source host (S421). From the guest VMs on the selected source host, a guest that meets the conditions described below is selected as the guest VM to be moved (S422).

[0070] In the selection of the guest VM to be moved, the trend classification unit 212 of the resource future prediction unit 203 preferentially selects a guest VM with a certain trend in the trend classification as the first priority. Due to this condition, since the degree of influence on the resource state of the destination is constant, the prediction accuracy of the resource situation after the movement is improved. Also, if there are multiple guest VMs with a certain trend, next, a VM determined to be a high load by high load VM detection for the guest VM is preferentially selected as the second priority. Otherwise, they are sorted in descending order of the average resource usage rate.

[0071] Next, after selecting the guest VM to be moved, a host not included in the high load determination list is selected as a destination candidate (S423). The destination candidate host VM may be determined based on user selection, a predetermined priority order, or the predicted number of additional VMs that can be installed. Similar to what is shown in FIG. 17, the resources of the guest VM to be moved are added to the resources of the destination candidate host for each time stamp (S424). High load VM detection is performed on the added resources (S425). It is confirmed whether the result of the high load determination is high load (S426). If the destination candidate host is high load, another destination candidate host is selected. If it is not high load, it is checked whether the source host is still high load (S427). If it is high load, another guest is selected as the guest to be moved. If the source host is not high load after the movement, it is checked whether there are other high load hosts (S426). If there are other host VMs, the same process is repeated. If it is determined that all host VMs are not high load, the second destination proposal procedure is completed.

[0072] As described above, the capacity planning system 2 may determine the source host VM, the guest VM to be migrated, and the destination host VM, and the recommendation transmission unit 207 may transmit this information as a recommendation 700 to the system administrator device 500. Further, the capacity planning system 2 may automatically perform relocation based on the determined source host VM, the guest VM to be migrated, and the 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 it is detected that the host VM is under high load, the number of guest VMs that can be installed on all host VMs can be calculated, and a more optimal arrangement can be determined.

[0074] Although the above description has been made assuming an on-premises environment, as described above, this embodiment can also be implemented on the cloud. In that case, first, regarding data collection, performance information of the devices to be monitored, installed software information, and service information operating on the server may be collected periodically. The information collected periodically is transmitted to the operation management system on the cloud via the network. The operation management system on the cloud receives the transmitted performance information and event logs.

[0075] Regarding server business classification, the use of the server can be determined from the installed software information and service information. Examples of server uses include DB servers, web servers, mail servers, file servers, DNS servers, AP servers, backup servers, etc., and these category classes may be generated.

[0076] In addition, resource future prediction can be used for capacity planning for each server usage. From the resource data of the classified server usages, the above-described solution means is implemented, and the result is recorded as a categorical class feature amount as a tendency and feature amount corresponding to the server usage. By using the recorded feature amounts for multiple series modeling (combination of predictions), it is possible to realize optimal future prediction and capacity planning considering the characteristics of the server usage. By applying the recorded feature amount data to an on-premises environment, the same effect can be obtained even in an on-premises environment.

[0077] (Effect according to 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 it is detected that the host VM is under high load, the number of guest VMs that can be installed on all host VMs can be calculated, and an optimal arrangement can be recommended.

[0078] <Third Embodiment> FIG. 21 is a diagram showing a resource optimization apparatus 3 according to the present disclosure.

[0079] The resource optimization apparatus 3 according to the present embodiment is configured to at least 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, a high load VM determination means 32 configured to determine a high load host virtual machine among the plurality of host virtual machines based on the historical resource data and future resource data of each of the plurality of host virtual machines, and a movement target determination means 33 configured to determine a destination host virtual machine to which a guest virtual machine to be moved in at least one of the high load host virtual machines is to be moved. The historical resource data and the future predicted resource data are time series data. Further, the destination host virtual machine is a host virtual machine that is not a high load host virtual machine 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 the historical resource data for each of the plurality of host virtual machines to predict future predicted resource data for each of the plurality of host virtual machines (step S31). The historical resource data and the future predicted resource data are time series data. Next, the high load VM determination means 32 determines 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 (step S32). The movement target determination means 33 determines a destination host virtual machine to which a guest virtual machine to be moved in at least one of the high load host virtual machines is to be moved (step S33). The destination host virtual machine is a host virtual machine that is not a high load host virtual machine among the plurality of host virtual machines.

[0081] <Fourth Embodiment> FIG. 23 is a diagram showing the hardware configuration of the resource optimization device 4 according to the present disclosure. As shown in this figure, the resource optimization device 4 may be a computer including 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] With the above configuration, it becomes possible for the client server to recognize the disk array device after the replacement without changing the configurations of the client server, the disk array device at the source of replacement, and the disk array device at the destination of replacement.

[0083] As described above, the present disclosure has been described with reference to the embodiments, but the present disclosure is not limited to the above-described embodiments. Various changes 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. And each embodiment can be combined with other embodiments as appropriate.

[0084] Some or all of the above embodiments may be described as follows in the appended claims, but are not limited thereto.

[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 among the plurality of host virtual machines based on the historical resource data and the future resource data for each of the plurality of host virtual machines; A migration target determination unit configured to determine a destination host virtual machine to which a guest virtual machine to be migrated in at least one of the high-load host virtual machines is to be migrated, wherein the destination host virtual machine is a host virtual machine that is not a high-load host virtual machine among the plurality of host virtual machines; A resource optimization device comprising the above. (Appendix 2) The resource data prediction unit is further configured to: Perform a Fourier transform on learning data included in the historical resource data to detect a plurality of peak values; Apply the time series prediction algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values; The resource optimization device according to Appendix 1, further configured as described above. (Appendix 3) The resource data prediction unit is further configured to: Divide the historical resource data into the learning data and verification data; Apply the time series prediction algorithm to the learning data using the periodic component parameters corresponding to at least two of the detected peak values, and perform a prediction for the same period as the verification data. Based on the comparison between the prediction for the same period as the verification data at each of the at least two of the plurality of peak values and the verification data, determine a peak value with better accuracy as the one peak value. The resource optimization device according to Appendix 2, further configured as described above. (Appendix 4) The high-load virtual machine determination unit When the resource data exceeds the threshold level for a time corresponding to a predetermined ratio in the first period, determine the corresponding first period as a high-load period. If there are a predetermined number or more of the first periods determined to be high-load within a second period longer than the first period, determine that it is a high-load virtual machine. The resource optimization device according to any one of Appendices 1 to 3, further configured as described above. (Appendix 5) The movement target determination unit is further configured to classify the resource trends 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 the trend classification of the trend component, seasonal component, and residual component of the resource data. The movement target determination unit is further configured to determine the destination host virtual machine based on the classification of the resource trends. The resource optimization device according to any one of Appendices 1 to 4. (Appendix 6) The movement target determination unit Prioritize and determine a host virtual machine with a constant trend of the trend component as the destination host virtual machine. The resource optimization device according to Appendix 5, further configured as described above. (Appendix 7) The resource optimization device further includes a loading number prediction unit that predicts the number of guest virtual machines that can be additionally loaded by the host virtual machines other than the high-load host virtual machines from the present to the future. The resource optimization device according to one of Appendices 1 to 6, wherein the movement target determination unit is further configured to determine the destination host virtual machine based at least in part on the number of guest virtual machines that can be additionally loaded. (Appendix 8) The loading number prediction unit The resource optimization device according to Appendix 7, further configured to predict the number of guest virtual machines that can be additionally loaded based on whether overcommitment is considered. (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 the historical resource data of each of the plurality of host virtual machines and the future resource data; Determining a destination host virtual machine to which a migration target guest virtual machine in at least one of the high-load host virtual machines is to be migrated, 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 resource optimization method executed by a computer, including the above steps. (Appendix 10) The step of predicting the future predicted resource data Performing a Fourier transform on learning data included in the historical resource data to detect a plurality of peak values; Applying the time series prediction algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values; The resource optimization method according to appendix 9, including (Appendix 11) The step of predicting the future predicted resource data includes The step of dividing the historical resource data into the learning data and the verification data, and Using the periodic component parameters corresponding to at least two of the detected peak values, applying the time series prediction algorithm to the learning data, and performing a prediction for the same period as the verification data, and Based on the comparison between the prediction for the same period as the verification data and the verification data at each of the at least two of the plurality of peak values, determining a peak value with better accuracy as the one peak value The resource optimization method according to appendix 10, further including (Appendix 12) The step of determining the high-load host virtual machine includes When the resource data exceeds the threshold level for a time corresponding to a predetermined ratio in the first period, determining the corresponding first period as a high load, and When there are a predetermined number or more of the first periods determined to be high load within a second period longer than the first period, determining that it is a high-load virtual machine The resource optimization method according to any one of appendices 9 to 11, including (Appendix 13) The step of determining the destination host virtual machine includes Classifying the resource trends 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, wherein the classification is based on the trend classification of the trend component, seasonal component, and residual component of the resource data, and Based on the classification of the resource trends, determining the virtual machine to be migrated The resource optimization method according to any one of appendices 9 to 12, further including (Appendix 14) further comprising the step of predicting the number of guest virtual machines that can be additionally installed by the host virtual machines that are not the high-load host virtual machines from the present to the future, wherein the step of determining the destination host virtual machine further comprises the step of determining the destination host virtual machine based at least in part on the number of guest virtual machines that can be additionally installed, the resource optimization method according to any one of Appendices 9 to 13. (Appendix 15) wherein the step of predicting the number of guest virtual machines that can be additionally installed further comprises the step of predicting the number of guest virtual machines that can be additionally installed based on whether overcommitment is considered or not, the resource optimization method according to Appendix 14. (Appendix 16) 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; 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 of each of the plurality of host virtual machines and the future resource data; moving target determination means configured to determine a destination host virtual machine to which a moving target guest virtual machine 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 that is not the high-load host virtual machine among the plurality of host virtual machines; A computer program for causing the above to function. (Appendix 17) wherein the resource data prediction means performs a Fourier transform on learning data included in the historical resource data to detect a plurality of peak values, Apply the time series prediction algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values The computer program according to appendix 16, further configured as described above (Appendix 18) The resource data prediction means Divide the historical resource data into the learning data and the verification data Apply the time series prediction algorithm to the learning data using periodic component parameters corresponding to at least two of the detected plurality of peak values, and perform predictions for the same period as the verification data Based on the comparison between the prediction for the same period as the verification data at each of the at least two of the plurality of peak values and the verification data, determine a peak value with higher accuracy as the one peak value The computer program according to appendix 17, further configured as described above (Appendix 19) The high-load virtual machine determination means When the resource data exceeds the threshold level for a time corresponding to a predetermined ratio in the first period, determine the corresponding first period as high load If there are a predetermined number or more of the first periods determined to be high load within a second period longer than the first period, determine that it is a high-load virtual machine The computer program according to any one of appendices 16 to 18, further configured as described above (Appendix 20) The movement target determination means is further configured to classify the resource trends 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 the trend classification of the trend component, seasonal component, and residual component of the resource data The moving target determination means is further configured to determine the destination host virtual machine based on the classification of the resource trend, and is the computer program according to any one of Appendices 16 to 19. (Appendix 21) The moving target determination means is further configured to preferentially determine, as the destination host virtual machine, the host virtual machine in which the trend component has a certain trend and is the computer program according to Appendix 20. (Appendix 22) The computer program further causes a processor to function as a number-of-installable prediction means for predicting the number of guest virtual machines that can be additionally installed by the host virtual machine that is not the high-load host virtual machine from the present to the future, and the moving target determination means is further configured to determine the destination host virtual machine based on at least one means of the number of guest virtual machines that can be additionally installed, and is the computer program according to one of Appendices 16 to 21. (Appendix 23) The number-of-installable prediction means is further configured to predict the number of guest virtual machines that can be additionally installed based on whether or not overcommit is considered, and is the computer program according to Appendix 22.

Explanation of Signs

[0086] 1 Resource optimization device 10 CPU 11 Storage unit 101 Resource data prediction unit 102 High-load virtual machine determination unit 103 Moving target determination unit 2 Capacity planning system 200 Log information storage unit 201 Preprocessing unit 202 High-load VM detection unit 203 Resource future prediction unit 204 Model storage unit 205 Number of installable VMs prediction unit 206 VM Migration Destination Proposal Department 207 Recommendation Sending Department 300 Storage 400 Virtual Machine Cluster 410 Host VM 420 Guest VM 500 System Administrator Device 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 resource data prediction unit, 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 of each of the plurality of host virtual machines and the future resource data; A migration target determination unit configured to determine a destination host virtual machine to which a guest virtual machine to be migrated in at least one of the high-load host virtual machines is to be migrated, wherein the destination host virtual machine is a host virtual machine that is not a high-load host virtual machine among the plurality of host virtual machines; a migration target determination unit Comprising: The resource data prediction unit is 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 prediction algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values A resource optimization device further configured as described above.

2. The resource data prediction unit is Dividing the historical resource data into the learning data and the verification data, Applying the time series prediction algorithm to the learning data using periodic component parameters corresponding to at least two of the detected plurality of peak values, and performing a prediction for the same period as the verification data, Determining a peak value with higher accuracy as the one peak value based on a comparison between the prediction for the same period as the verification data at each of the at least two of the plurality of peak values and the verification data The resource optimization device according to claim 1, further configured as described above.

3. The high-load virtual machine determination unit is When the resource data exceeds a threshold level for a time corresponding to a predetermined ratio in a first period, determining the corresponding first period as high load, When there are a predetermined number or more of the first periods determined to be high load within a second period longer than the first period, determining that it is a high-load virtual machine The resource optimization device according to claim 1, further configured as described above.

4. 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, and the resource data prediction unit, 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 of each of the plurality of host virtual machines and the future resource data, A movement target determination unit configured to determine a destination host virtual machine to which a guest virtual machine to be moved 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 that is not a high-load host virtual machine among the plurality of host virtual machines, and the movement target determination unit Comprising The movement target determination unit is further configured to classify the resource trends 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 the trend component, seasonal component, and residual component of the resource data, The movement target determination unit is further configured to determine the guest virtual machine to be moved based on the classification of the resource trends. The resource optimization device.

5. The movement target determination unit Determines the guest virtual machine having a constant trend in the trend component as the guest virtual machine to be moved preferentially The resource optimization device according to claim 4, further configured as described above.

6. A step 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, and the step, Determining a high-load host virtual machine among the plurality of host virtual machines based on the historical resource data of each of the plurality of host virtual machines and the future resource data; Determining a destination host virtual machine to which a guest virtual machine to be migrated in at least one of the high-load host virtual machines is to be migrated, wherein the destination host virtual machine is a host virtual machine that is not a high-load host virtual machine among the plurality of host virtual machines; including; Predicting future predicted resource data for each of the plurality of host virtual machines, 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 prediction algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values; A resource optimization method executed by a computer, including.

7. A computer program for causing a processor to function as a resource data prediction means, a high-load virtual machine determination means, and a migration target determination means, wherein the resource data prediction means is 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, and the historical resource data and the future predicted resource data are time series data; the high-load virtual machine determination means is configured to determine a high-load host virtual machine among the plurality of host virtual machines based on the historical resource data of each of the plurality of host virtual machines and the future resource data; the migration target determination means is configured to determine a destination host virtual machine to which a guest virtual machine to be migrated in 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 a high-load host virtual machine among the plurality of host virtual machines; the resource data prediction means, performs a Fourier transform on the learning data included in the historical resource data to detect a plurality of peak values, Apply the time series prediction algorithm to the historical resource data using a periodic component parameter corresponding to one of the plurality of peak values. A computer program further configured to be like this.

Citation Information

Patent Citations

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

    JP2012181647A

  • 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