US20130346973A1 - Management server, and virtual machine move control method - Google Patents
Management server, and virtual machine move control method Download PDFInfo
- Publication number
- US20130346973A1 US20130346973A1 US13/868,474 US201313868474A US2013346973A1 US 20130346973 A1 US20130346973 A1 US 20130346973A1 US 201313868474 A US201313868474 A US 201313868474A US 2013346973 A1 US2013346973 A1 US 2013346973A1
- Authority
- US
- United States
- Prior art keywords
- migration
- predicted
- virtual machine
- resource
- physical server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 70
- 230000008569 process Effects 0.000 claims description 65
- 230000005012 migration Effects 0.000 description 430
- 238000013508 migration Methods 0.000 description 430
- 238000005070 sampling Methods 0.000 description 107
- 238000010586 diagram Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Definitions
- the embodiment discussed herein is related to a program, a management server, and a virtual machine move control method.
- the management server copies a memory image of the move source to the move destination. Because the memory in the running virtual machine continues to be changed, strictly speaking, it is inevitable that the virtual machine temporarily fails (stops) at some point while the management server is performing the copying.
- This temporary downtime (hereinafter, referred to as a “downtime”) usually lasts for several seconds; however, it depends on the usage state of the resource of the virtual machine that is to be moved. Consequently, if the virtual machine is moved when a large amount of resource is being used, it takes a long time, e.g., several seconds or more.
- the management server uses a high-degree equation to predict the resource usage of a physical server that will be used in the future.
- the management server predicts the occurrence of a resource shortage, if a time zone is present where the resource usage does not exceed a move threshold for defining an upper limit of the movement related to a load and if a move time of the move virtual machine that is moved is included in this time zone, the management server moves the move virtual machine in this time zone.
- Patent Document 1 Japanese Laid-open Patent Publication No. 2010-117760
- a computer readable storage medium stores a program.
- the program causes a computer to execute a process including predicting a resource shortage, predicted to occur for a predetermined time period, of a physical machine that includes multiple virtual machines; specifying a virtual machine that eliminate the resource shortage by moving, at a time point at which the predicted resource shortage occurs, among the virtual machine, which is included in the physical machine for which the resource shortage is predicted, to another physical machine; and moving the specified virtual machine to the other physical machine on the basis of the resource usage of the specified virtual machine for the predetermined time period and on the basis of a time point that is associated with the resource usage.
- FIG. 1 is a schematic diagram illustrating the overall configuration of an information processing system according to an embodiment
- FIG. 2 is a functional block diagram illustrating the configuration of a management server according to the embodiment
- FIG. 3 is a schematic diagram illustrating an example of the data structure of a performance information DB
- FIG. 4 is a schematic diagram illustrating an example of the data structure of a configuration information DB
- FIG. 5 is a schematic diagram illustrating an example of the data structure of a virtual-machine predicted information table
- FIG. 6 is a schematic diagram illustrating an example of the data structure of a physical-server predicted information table
- FIG. 7 is a schematic diagram illustrating an example of the data structure of a migration information DB
- FIG. 8A is a schematic diagram illustrating an example of calculating an absolute difference sum of the most recent sampling
- FIG. 8B is a schematic diagram illustrating an example of calculating an absolute difference sum of day-of-week sampling
- FIG. 8C is a schematic diagram illustrating an example of calculating an absolute difference sum of date sampling
- FIG. 9 is a schematic diagram illustrating an example of calculating predicted resource usage
- FIG. 10 is a schematic diagram illustrating the flow of creating predicted performance information in a predicted performance information creating unit
- FIG. 11 is a schematic diagram illustrating determination of a migration source performed by a migration source determining unit
- FIG. 12 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration source determining unit
- FIG. 13 is a schematic diagram illustrating an example of searching the migration information DB performed by the migration destination determining unit
- FIG. 14 is a schematic diagram illustrating a difference sum calculated by the migration destination determining unit
- FIG. 15 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration destination determining unit
- FIG. 16 is a schematic diagram illustrating an example of searching the migration information DB performed by a migration execution requesting unit
- FIG. 17 is a schematic diagram illustrating a shift of the execution state of the migration information DB performed by the migration execution requesting unit
- FIG. 18 is a flowchart illustrating the flow of a main process performed by a migration control unit according to the embodiment.
- FIG. 19 is a flowchart illustrating the flow of a creation process of the predicted performance information according to the embodiment.
- FIG. 20 is a flowchart illustrating the flow of a resource shortage prediction process according to the embodiment.
- FIG. 21 is a flowchart illustrating the flow of a migration source determination process according to the embodiment.
- FIG. 22 is a flowchart illustrating the flow of a process for specifying a move combination of a virtual machine
- FIG. 23 is a flowchart illustrating the flow of a migration destination determination process according to the embodiment.
- FIG. 24 is a flowchart illustrating the flow of a process for acquiring predicted resource usage of a physical server
- FIG. 25 is a flowchart illustrating the flow of a migration execution requesting process according to the embodiment.
- FIG. 26 is a block diagram illustrating an example of a computer that executes a migration control program.
- the present invention is not limited to the embodiment.
- FIG. 1 is a schematic diagram illustrating the overall configuration of an information processing system according to an embodiment.
- an information processing system 9 includes a management server 1 and multiple physical servers 2.
- Each of the physical servers 2 includes a single hypervisor 21 and multiple virtual machines 22 .
- the hypervisor 21 is software needed to operate the virtual machines 22 and allocates the resources, such as a central processing unit (CPU), a memory, and the like, mounted on the physical server 2 to each of the virtual machines 22 .
- CPU central processing unit
- the management server 1 predicts a time point at which the resource becomes insufficient in the physical server 2, which includes the multiple virtual machines 22 ; finds a time point when the downtime of the system can be minimized before the predicted time point is reached; and automatically performs the live migration at the time point that was found.
- the time point at which the live migration is performed is the time point when, for example, the resource usage of the virtual machine to be moved is at a minimum.
- the virtual machine to be moved is preferably a virtual machine that has the earliest time point at which the resource usage thereof is at a minimum.
- migration the live migration is referred to as “migration”.
- FIG. 2 is a functional block diagram illustrating the configuration of a management server according to the embodiment.
- the management server 1 includes a storing unit 11 , a performance information collecting unit 12 , a configuration information collecting unit 13 , and a migration control unit 14 .
- the storing unit 11 is a storage device corresponding to a nonvolatile semiconductor memory device, such as a flash memory, a ferroelectric random access memory (FRAM) (registered trademark), and the like.
- the storing unit 11 includes a performance information DB (database) 111 , a predicted performance information DB 112 , a configuration information DB 113 , and a migration information DB 114 .
- the performance information DB 111 stores therein actual performance information that is collected for each virtual machine 22 from the hypervisor 21 .
- the performance information mentioned here is, for example, CPU usage (MHz), memory usage (byte), or disk usage (byte/sec); however, the performance information is not limited thereto. Namely, any usage may also be used for the performance information as long as the resource usage of the physical server 2 can be used for each virtual machine 22 .
- CPU usage is collected by the performance information DB 111 as performance information.
- the CPU usage is taken as being synonymous with resource usage.
- the performance information DB 111 is created by the performance information collecting unit 12 , which will be described later.
- the predicted performance information DB 112 includes a virtual-machine predicted information table 1121 and a physical-server predicted information table 1122 .
- the virtual-machine predicted information table 1121 stores therein, for each virtual machine 22 , resource usage that is predicted to be used for a predicted time period starting from the predicted start date and time and ending at the predicted end date and time.
- the physical-server predicted information table 1122 stores therein, for each physical server, resource usage that is predicted to be used in the future.
- the predicted performance information DB 112 is created by a predicted performance information creating unit 142 , which will be described later.
- the configuration information DB 113 stores therein configuration information on the system.
- the configuration information contains the physical server 2 and the virtual machines 22 in an associated manner and contains the upper limit of the resource of the physical server 2.
- the migration information DB 114 stores therein information related to a migration. Examples of the information related to the migration include migration date and time, a physical server and a virtual machine at the migration source, a physical server at the migration destination, the execution state of the migration, and the like.
- the configuration information DB 113 is created by the configuration information collecting unit 13 , which will be described later. The data structure of each DB will also be described later.
- the performance information collecting unit 12 periodically collects, from the hypervisor 21 , performance information on the virtual machine that is managed by the hypervisor 21 and records the collected performance information in the performance information DB 111 . For example, every five minutes, the performance information collecting unit 12 collects, from the hypervisor 21 , the resource usage that is managed by the hypervisor 21 and records the collected resource usage in the performance information DB 111 .
- FIG. 3 is a schematic diagram illustrating an example of the data structure of a performance information DB.
- the performance information DB 111 stores therein, in an associated manner, a collection date and time 111 a , a physical server name 111 b , a virtual machine name 111 c , and CPU usage 111 d .
- the collection date and time 111 a represent, as performance information, the date and time at which CPU usage is collected.
- the physical server name 111 b represents the name of a physical server.
- the virtual machine name 111 c represents the name of a virtual machine.
- the CPU usage 111 d represents usage of a CPU as performance information.
- the performance information DB 111 stores therein “Server1” as the physical server name 111 b , “Gest001” as the virtual machine name 111 c , and “500” as the CPU usage 111 d .
- the collection date and time is “2011/10/11 at 00:00:00”
- the CPU usage is “500” MHz in the virtual machine “Gest001” in the physical server “Server1”.
- the configuration information collecting unit 13 periodically collects, from the hypervisor 21 , configuration information that is managed by the hypervisor 21 and then records the collected configuration information in the configuration information DB 113 . For example, once one hour the configuration information collecting unit 13 collects, from the hypervisor 21 , the configuration information managed by the hypervisor 21 and records the collected configuration information in the configuration information DB 113 .
- FIG. 4 is a schematic diagram illustrating an example of the data structure of a configuration information DB.
- the configuration information DB 113 stores therein, in an associated manner, a physical server name 113 a , a hypervisor-managed virtual machine name 113 b , and a CPU usage upper limit 113 c .
- the physical server name 113 a indicates the name of the physical server.
- the hypervisor-managed virtual machine name 113 b represents the name of a virtual machine managed by the hypervisor 21 .
- the CPU usage upper limit 113 c represents the upper limit of the CPU usage of the physical server.
- the configuration information DB 113 stores therein the hypervisor-managed virtual machine name 113 b as “Gest1-1, Gest1-2, Gest1-3” and the CPU usage upper limit 113 c as “30000”.
- the migration control unit 14 includes an internal memory that stores therein control data and programs that is related to the migration control and that prescribe various kinds of procedures, whereby various kinds of processes are executed. Furthermore, the migration control unit 14 corresponds to an integrated circuit, such as an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and the like or an electronic circuit, such as a central processing unit (CPU), a micro processing unit (MPU), and the like. Furthermore, the migration control unit 14 includes a main processing unit 141 and the predicted performance information creating unit 142 . Furthermore, the migration control unit 14 includes a resource shortage predicting unit 143 , a migration source determining unit 144 , a migration destination determining unit 145 , and a migration execution requesting unit 146 .
- ASIC application specific integrated circuit
- FPGA field-programmable gate array
- the migration control unit 14 includes a main processing unit 141 and the predicted performance information creating unit 142 .
- the migration control unit 14 includes a resource shortage predicting unit 143 , a
- the main processing unit 141 is a processing unit that mainly performs various processes related to the migration control. For example, the main processing unit 141 periodically schedules a migration. For example, the main processing unit 141 determines, every five minutes, whether it is time to schedule the migration. If the main processing unit 141 determines that it is time to schedule the migration, the main processing unit 141 calls the predicted performance information creating unit 142 , which will be described later, in order to create predicted performance information that is used when the migration is scheduled. In contrast, if the main processing unit 141 determines that it is not time to schedule the migration, the main processing unit 141 calls the migration execution requesting unit 146 , which will be describe later, in order to request the execution of the scheduled migration.
- the predicted performance information creating unit 142 performs three types of sampling on resource usage for each virtual machine 22 in the physical server 2. For example, in a first type of sampling, the most recent several days are defined as the sampling target, which is referred to as “most recent sampling”. In a second type of sampling, several days corresponding to the same days of the week for which the sampling is performed are defined as the sampling target, which is referred to as “day-of-week sampling”. In a third type of sampling, several days corresponding to the same day on which the sampling is performed are defined as the sampling target, which is referred to as “date sampling”.
- the predicted performance information creating unit 142 performs sampling on the resource usage of the sampling target defined by each type.
- the resource usage subjected to sampling is obtained at multiple time points over a predetermined time period. However, the same number of days for which the sampling is performed and the same predetermined time period are used in these three types of sampling.
- the sampling target will be 11/9, 11/8, and 11/7 in the “most recent sampling”; the sampling target will be on Thursdays, 11/3, 10/27, and 10/20 in the “day-of-week sampling”; and the sampling target will be 10/10, 9/10, and 8/10 in the “date sampling”.
- the predicted performance information creating unit 142 calculates the magnitude of variation in the sampling for each type of sampling.
- the magnitude of variation is obtained by calculating the absolute difference sum by using the resource usage of each sampling target obtained at the same collection time point and then calculating the total value of the calculated absolute difference sums for the different collection time points.
- the total value of the calculated absolute difference sums is the magnitude of variation in the sampling type.
- the absolute difference sum is known to be used to determine the similarity of, for example, an image. If the absolute difference sum is used to determine the image similarity, the absolute difference sum is a value obtained by adding an absolute value of a difference between pixels of two images positioned at the same coordinates. It is assumed that the two images are similar as the value decreases.
- the predicted performance information creating unit 142 arrays resource usage of each sampling target in time series and uses the arrayed resource usage as the target for the absolute difference sum. Then, by using the total value of the calculated absolute difference sums, the predicted performance information creating unit 142 checks the magnitude of variation of each of the three types of sampling. Then, the predicted performance information creating unit 142 specifies the type of sampling having the smallest magnitude of variation from among the three types of sampling. By using the specified type of sampling, the predicted performance information creating unit 142 creates predicted performance information on the virtual machine 22 and on the physical server 2.
- FIG. 8A is a schematic diagram illustrating an example of calculating the absolute difference sum of the most recent sampling.
- FIG. 8B is a schematic diagram illustrating an example of calculating the absolute difference sum of day-of-week sampling.
- FIG. 8C is a schematic diagram illustrating an example of calculating an absolute difference sum of date sampling.
- the predicted performance information creating unit 142 calculates an absolute difference sum by using the resource usage that is obtained at the same collection time as that of the sampling targets 11/7, 11/8, and 11/9.
- the absolute value of the difference between the CPU usage on 11/7 and 11/8 is 100
- the absolute value of the difference between the CPU usage on 11/8 and 11/9 is 50
- the absolute value of the difference between the CPU usage on 11/7 and 11/9 is 150.
- the absolute difference sum of the collection time at 0:00 is 300, which is the sum of the absolute values of all the differences.
- the absolute difference sum of the collection time 0:05 is 600
- the absolute difference sum of the collection time at 0:10 is 500
- the absolute difference sum of the collection time at 0:15 is 400.
- the predicted performance information creating unit 142 calculates the total value of the absolute difference sums for the different calculated collection times.
- the predicted performance information creating unit 142 adds up the absolute difference sums, i.e., (300+600+500+400), where each absolute difference sum is for a different collection time, to obtain the total sum of the absolute difference sums, i.e., 1800.
- the calculated value corresponds to the magnitude of variation of the most recent sampling.
- the predicted performance information creating unit 142 calculates an absolute difference sum by using the resource usage that is obtained at the same collection time as that of the sampling targets 10/20, 10/27, and 11/3. In this example, for the collection time at 0:00, the absolute value of the difference between the CPU usage on 10/20 and 10/27 is 200, the absolute value of the difference between the CPU usage on 10/27 and 11/3 is 50, and the absolute value of the difference between the CPU usage on 10/20 and 11/3 is 150.
- the absolute difference sum of the collection time at 0:00 is 400, which is the sum of the absolute values of all the differences.
- the absolute difference sum at the collection time 0:05 is 200
- the absolute difference sum at the collection time 0:10 is 400
- the absolute difference sum at the collection time 0:15 is 200.
- the predicted performance information creating unit 142 calculates the total value of the absolute difference sums for the different calculated collection times.
- the predicted performance information creating unit 142 adds up the absolute difference sum, i.e., (400+200+400+200), where each absolute difference sum is for a different collection time, to obtain the total sum of the absolute difference sums, i.e., 1200.
- the calculated value corresponds to the magnitude of variation of the day-of-week sampling.
- the predicted performance information creating unit 142 calculates an absolute difference sum by using the resource usage that is obtained at the same collection time as that of the sampling targets 8/10, 9/10, and 10/10. In this example, for the collection time at 0:00, the absolute value of the difference between the CPU usage on 8/10 and 9/10 is 250, the absolute value of the difference between the CPU usage on 9/10 and 10/10 is 150, and the absolute value of the difference between the CPU usage on 8/10 and 10/10 is 100.
- the absolute difference sum of the collection time at 0:00 is 500, which is the sum of the absolute values of all the differences.
- the absolute difference sum of the collection time at 0:05 is 600
- the absolute difference sum of the collection time at 0:10 is 600
- the absolute difference sum of the collection time at 0:15 is 700.
- the predicted performance information creating unit 142 calculates the total value of the absolute difference sums for the different calculated collection times.
- the predicted performance information creating unit 142 adds up the absolute difference sums, i.e., (500+600+600+700), where each absolute difference sum is for a different collection time, to obtain the total sum of the absolute difference sums, i.e., 2400.
- the calculated value corresponds to the magnitude of variation of the date sampling.
- the predicted performance information creating unit 142 determines the magnitude of variation of the three types of sampling. Then, from among the three types of sampling, the predicted performance information creating unit 142 specifies the sampling having the smallest magnitude of variation.
- the total of the absolute difference sums for the most recent sampling is 1800
- the total of the absolute difference sums for the day-of-week sampling is 1200
- the total of the absolute difference sums for the date sampling is 2400. Consequently, the predicted performance information creating unit 142 specifies the day-of-week sampling as the type of sampling having the smallest variation.
- the predicted performance information creating unit 142 calculates, for each virtual machine 22 , the average of the resource usages with each resource usage being obtained at a different collection time point. Specifically, the predicted performance information creating unit 142 regards the calculated average of the resource usage as the resource usage that will be used by the associated virtual machine 22 in the future. The average of the resource usage is referred to as “predicted resource usage”.
- FIG. 9 is a schematic diagram illustrating an example of calculating predicted resource usage.
- the specified type of sampling is day-of-week sampling.
- the predicted performance information creating unit 142 calculates the average of CPU usage in one of the virtual machines 22 , where each CPU usage is for a different collection time.
- the predicted performance information creating unit 142 calculates the average value “916” of the CPU usage by using, for example, each of the CPU usages, i.e., 800, 1000, and 950.
- the calculated value corresponds to predicted resource usage at collection time 0:00.
- the predicted performance information creating unit 142 calculates predicted resource usage for each of the virtual machines 22 and records, for each virtual machine 22 , the calculated predicted resource usage in the virtual-machine predicted information table 1121 . Furthermore, the predicted performance information creating unit 142 calculates the total value of the predicted resource usage of all of the virtual machines 22 in the physical server 2 and records it in the physical-server predicted information table 1122 as the predicted resource usage of the physical server 2.
- FIG. 5 is a schematic diagram illustrating an example of the data structure of a virtual-machine predicted information table.
- the virtual-machine predicted information table 1121 stores therein, in an associated manner, a future date and time 1121 a , a physical server name 1121 b , a virtual machine name 1121 c , and predicted CPU usage 1121 d .
- the future date and time 1121 a is the date and time of the predicted time period, which starts from the predicted start date and time and ends at the predicted end date and time.
- the physical server name 1121 b represents the name of a physical server.
- the virtual machine name 1121 c represents the name of a virtual machine.
- the predicted CPU usage 1121 d represents the predicted usage of a CPU. For example, if the future date and time 1121 a is “2011/10/12 at 00:00:00”, the virtual-machine predicted information table 1121 stores therein “Server1” as the physical server name 1121 b , “Gest001” as the virtual machine name 1121 c , and “70” as the predicted CPU usage 1121 d . Specifically, if the future date and time is “2011/10/12 at 00:00:00”, it indicates that the predicted CPU usage is “70” MHz in the virtual machine “Gest001” in the physical server “Server1”.
- FIG. 6 is a schematic diagram illustrating an example of the data structure of a physical-server predicted information table.
- the physical-server predicted information table 1122 stores therein, in an associated manner, a future date and time 1122 a , a physical server name 1122 b , and predicted CPU usage 1122 c .
- the future date and time 1122 a is the date and time over the predicted time period starting from the predicted start date and time and ending at the predicted end date and time.
- the physical server name 1122 b represents the name of the physical server.
- the predicted CPU usage 1122 c represents predicted usage of a CPU.
- the physical-server predicted information table 1122 stores therein “Server1” as the physical server name 1122 b and “250” as the predicted CPU usage 1122 c .
- the predicted CPU usage is “250” MHz in the physical server “Server1”.
- the resource shortage predicting unit 143 acquires, for each physical server 2, resource usage from the physical-server predicted information table 1122 and determines whether the acquired resource usage exceeds a threshold. If the resource shortage predicting unit 143 determines that the resource usage exceeds the threshold, the resource shortage predicting unit 143 determines that a resource shortage is predicted and calls the migration source determining unit 144 , which will be described later.
- the threshold is, for example, 80% of the upper limit of the resource usage; however, the threshold is not limited thereto. Any threshold may be used as long as it is a limit value with which a resource shortage is estimated.
- the upper limit of the resource usage is stored in the CPU usage upper limit 113 c that is associated with the physical server 2 in the configuration information DB 113 .
- the resource usage is stored in the predicted CPU usage 1122 c that is associated with the future date and time 1122 a in the physical-server predicted information table 1122 .
- the resource shortage predicting unit 143 determines whether data in the predicted CPU usage 1122 c exceeds the threshold for the associated data in the future date and time 1122 a.
- the migration source determining unit 144 specifies the virtual machine 22 to be migrated from the physical server 2 for which a resource shortage is predicted and determines a time point at which the migration to be performed on the physical server 2. For example, the migration source determining unit 144 specifies a combination of the virtual machines 22 that can eliminate a resource shortage by moving, at the time point at which the resource shortage occurs in the physical server 2 for which the resource shortage is predicted, the virtual machines 22 mounted on the physical server 2, for which a resource shortage is predicted, to another physical server 2.
- this combination is referred to as a “move combination”.
- the migration source determining unit 144 excludes the subject virtual machine 22 from the target move combination. This is because, if migration is performed on the subject virtual machine 22 , resource usage at the move destination may possibly run short.
- the migration source determining unit 144 specifies a move combination involving the smallest number of virtual machines 22 . Consequently, the migration source determining unit 144 can minimize the effect of the migration on a task.
- the migration source determining unit 144 uses a move combination that includes the virtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum before a resource shortage occurs in the physical server 2 for which a resource shortage is predicted. If multiple specified move combinations are present, the migration source determining unit 144 may also use a move combination in which the average of the resource usages is a minimum at the earliest time point.
- the migration source determining unit 144 uses one of the virtual machines 22 included in this move combination as a virtual machine that is to be subjected to migration. Then, for one of the targeted virtual machines 22 included in this move combination, the migration source determining unit 144 records the virtual machines 22 in the migration information DB 114 starting with the virtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum. Furthermore, the migration source determining unit 144 uses, as virtual machines to be subjected to migration, the virtual machines 22 included in the move combination that was used when the move combinations are multiple.
- the migration source determining unit 144 records the virtual machines 22 in the migration information DB 114 starting with the virtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum. Namely, the time point at which resource usage is at a minimum corresponds to the time point at which migration is performed. Furthermore, the migration source determining unit 144 can perform migration earlier as the time point at which resource usage is at a minimum is reached earlier.
- FIG. 7 is a schematic diagram illustrating an example of the data structure of a migration information DB.
- the migration information DB 114 stores therein, in an associated manner, a migration date and time 114 a , a migration source physical server name 114 b , a migration source virtual machine name 114 c , a migration destination physical server name 114 d , and an execution state 114 e .
- the migration date and time 114 a represents the date and time when migration is performed.
- the migration source physical server name 114 b represents the name of the physical server of the migration source.
- the migration source virtual machine name 114 c represents the name of the virtual machine of the migration source.
- the migration destination physical server name 114 d represents the name of the physical server at the migration destination.
- the execution state 114 e represents the execution state of the migration.
- the execution state includes “pre-execution” indicating that migration is before execution, “active” indicating that migration is active, “execution completion” indicating that migration is completed normally, and “non-completion” indicating that the migration is abnormal.
- the migration information DB 114 stores therein “Server1” as the migration source physical server name 114 b ; “Gest1-1” as the migration source virtual machine name 114 c ; “Server5” as the migration destination physical server name 114 d ; and “execution completion” as the execution state 114 e.
- the migration destination determining unit 145 determines the physical server 2 at the migration destination. For example, the migration destination determining unit 145 refers to the migration information DB 114 and determines whether there is a record in which the migration source virtual machine name 114 c is set and the migration destination physical server name 114 d is not set. If the migration destination determining unit 145 determines that a target record is present, the migration destination determining unit 145 determines, for the target record, the physical server 2 at the migration destination with respect to the virtual machine 22 at the migration source.
- Determining the physical server 2 at the migration destination is performed, for example, as follows.
- the migration destination determining unit 145 specifies the physical server 2 at the move destination whose resource usage does not exceed the threshold due to moving the virtual machine 22 at the migration source.
- the same threshold used for the resource usage in the resource shortage predicting unit 143 is used here.
- the migration destination determining unit 145 determines, as the physical server 2 at the migration destination, the physical server 2 at the move destination whose resource usage is the closest to the threshold.
- the migration destination determining unit 145 acquires, for example, from the virtual-machine predicted information table 1121 , the predicted resource usage of the virtual machine 22 at the migration source. Furthermore, the migration destination determining unit 145 acquires, from the physical-server predicted information table 1122 , the predicted resource usage for each of the physical servers 2. Then, the migration destination determining unit 145 merges the predicted resource usage of the virtual machine 22 with the predicted resource usage of each of the physical servers 2. At this point, if the name of the physical server 2 to be merged has already been stored in the migration information DB 114 as the physical server at the migration destination, the migration destination determining unit 145 also merges the predicted resource usage of the virtual machine 22 at the move source.
- the migration destination determining unit 145 determines whether there is a predicted resource usage exceeding the threshold. If the migration destination determining unit 145 determines that the predicted resource usage exceeding the threshold is present, the migration destination determining unit 145 excludes the physical server 2 corresponding to this predicted resource usage from the migration destination. The reason for this is, if this physical server 2 is used as the migration destination, the resource usage of the physical server 2 may possibly run short. Then, for the physical server 2 whose resource usage does not exceed the threshold, the migration destination determining unit 145 calculates the difference between the predicted resource usage subjected to merging and the threshold. The difference is calculated every time point for a predicted time period (future date and time). Then, the migration destination determining unit 145 calculates the sum of the differences for the different time points for the predicted time period (hereinafter, referred to as a “difference sum”). Namely, the “difference sum” is represented by Equation (1) below:
- difference sum threshold sum ⁇ (sum of predicted resource usages of a virtual machine at the migration source+sum of predicted resource usages of a physical server at the migration destination) Equation (1)
- the migration destination determining unit 145 determines the physical server 2 that has the minimum difference sum as the migration destination.
- the reason for using the physical server 2 having the minimum difference sum as the migration destination is to use the resource with the maximum efficiency even after the migration is performed.
- the migration destination determining unit 145 records the name thereof and the execution state (“pre-execution”) in the migration information DB 114 .
- the migration destination determining unit 145 increases the threshold and re-performs the above process.
- the migration execution requesting unit 146 requests a migration to be executed at regular intervals. For example, the migration execution requesting unit 146 refers to the migration information DB 114 and determines whether, for each record, migration is needed. For example, if the migration date and time 114 a have elapsed and if the execution state 114 e is “pre-execution”, the migration execution requesting unit 146 determines that migration is needed. If the migration execution requesting unit 146 determines that the migration is needed, the migration execution requesting unit 146 requests the execution of the migration from the hypervisor 21 in the virtual machine 22 at the migration source and the hypervisor 21 in the physical server 2 at the migration destination. Then, the migration execution requesting unit 146 updates the execution state of the migration to the execution state 114 e in the migration information DB 114 .
- FIG. 10 is a schematic diagram illustrating the flow of creating predicted performance information in a predicted performance information creating unit.
- the predicted performance information creating unit 142 performs three types of sampling for each of the virtual machines 22 in the physical server 2 by using the past resource usage stored in the performance information DB 111 .
- the predicted performance information creating unit 142 performs the “most recent sampling”, the “day-of-week sampling”, and the “date sampling”. Specifically, for the sampling target specified for each type of sampling, the predicted performance information creating unit 142 performs the sampling on the resource usage.
- the predicted performance information creating unit 142 takes the absolute difference sum for each type of sampling and calculates the total value of these absolute difference sums. Then, by using the total value of the absolute difference sums, the predicted performance information creating unit 142 determines the magnitude of variation of the three types of sampling and specifies the type of sampling having the smallest variation from among the three types of sampling. In this case, the magnitude of variation of the “most recent sampling”, the “day-of-week sampling”, and the “date sampling” are 250, 350, and 100, respectively. Consequently, the predicted performance information creating unit 142 specifies the “date sampling” as the type of sampling having the smallest magnitude of variation.
- the predicted performance information creating unit 142 calculates the average value of the resource usage at each collection time point.
- the predicted performance information creating unit 142 records, as the predicted resource usage of the corresponding virtual machine 22 , the average value calculated at each collection time point in the virtual-machine predicted information table 1121 in the predicted performance information DB 112 .
- the predicted performance information creating unit 142 calculates the total value of the predicted resource usage of all of the virtual machines 22 in the physical server 2 and records the total value as the predicted resource usage of the physical server 2 in the physical-server predicted information table 1122 in the predicted performance information DB 112 .
- FIG. 11 is a schematic diagram illustrating the determination of a migration source performed by a migration source determining unit.
- predicted resource usage is associated with a time point in a predicted time period for the physical server 2 for which a resource shortage is predicted by the resource shortage predicting unit 143 .
- the predicted resource usage is associated with each of the virtual machines (Gest1-1, Gest1-2, and Gest1-3) in the physical server 2 for which a resource shortage is predicted.
- the X-axis represents time and the Y-axis represents predicted resource usage. Furthermore, t 0 represents the predicted start time for the predicted time period and t 9 represents the predicted end time for the predicted time period.
- the predicted resource usage of the physical server 2 exceeds the threshold at the time point t 4 . Namely, the time point of t 4 corresponds to the time point of the resource shortage.
- the migration source determining unit 144 specifies a move combination of the virtual machines 22 that can eliminate the resource shortage by moving, at the time point t 4 at which the resource shortage occurs in the physical server 2 for which the resource shortage is predicted, the virtual machine 22 to another physical server 2.
- the migration source determining unit 144 excludes the subject virtual machine 22 from the move combination.
- the Gest1-1 is excluded because the predicted resource usage r 41 at the peak time occupies a certain percentage of the predicted resource usage of the physical server 2.
- the migration source determining unit 144 specifies a combination of ⁇ Gest1-2 ⁇ , ⁇ Gest1-3 ⁇ , and ⁇ Gest1-2, Gest1-3 ⁇ as the move combination.
- the migration source determining unit 144 specifies a move combination in which the number of virtual machines 22 included in the move combination is the minimum.
- the migration source determining unit 144 specifies ⁇ Gest1-2 ⁇ and ⁇ Gest1-3 ⁇ , each of which has a single virtual machine 22 .
- the migration source determining unit 144 uses the move combination that includes the virtual machine 22 that has the earliest time point at which the predicted resource usage thereof is at a minimum before the time point t 4 at which the resource shortage occurs in the physical server 2.
- the time point at which the predicted resource usage of the Gest1-2 becomes the minimum (r 2 ) is t 2
- the time point at which the predicted resource usage of the Gest1-3 becomes the minimum (r 1 ) is t 1 . Consequently, the migration source determining unit 144 uses the ⁇ Gest1-3 ⁇ as the move combination having the earliest time point at which the predicted resource usage is at a minimum.
- the migration source determining unit 144 determines that the virtual machine represented by Gest1-3 is the virtual machine at the migration source.
- the time point t 1 corresponds to the time when migration is performed on the virtual machine represented by Gest1-3.
- FIG. 12 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration source determining unit.
- the migration source determining unit 144 records, in the migration information DB 114 , the virtual machines 22 starting with the virtual machine 22 that has the earliest time point at which predicted resource usage is a minimum.
- the migration source determining unit 144 records, as the migration date and time, “2011/10/12 at 5:25:00”, which corresponds to the time point at which the predicted resource usage of the Gest1-3 is at a minimum. Furthermore, the migration source determining unit 144 records “Server1”, which is the name of the physical server that has the Gest1-3, as the migration source physical server name and records the “Gest1-3” as the migration source virtual machine name.
- FIG. 13 is a schematic diagram illustrating an example of searching the migration information DB performed by the migration destination determining unit.
- the migration destination determining unit 145 refers to the migration information DB 114 and determines whether there is a record in which the migration source virtual machine name 114 c is set and the migration destination physical server name 114 d is not set. If the migration destination determining unit 145 determines that the target record is present, the migration destination determining unit 145 determines, for the target record, the physical server 2 at the migration destination with respect to the virtual machine 22 at the migration source.
- the migration destination determining unit 145 determines that target records are present. Then, the migration destination determining unit 145 determines, for the target records, the physical servers 2 at the migration destination with respect to the migration source virtual machine names “Gest3-1” and “Gest4-2”, respectively.
- FIG. 14 is a schematic diagram illustrating a difference sum calculated by the migration destination determining unit.
- the X-axis represents time and the Y-axis represents predicted resource usage.
- the symbol m 1 represents the sum of the thresholds of the resource usage for a predicted time period.
- the symbol m 2 represents the sum of the predicted resource usage of the virtual machine 22 at the migration source for a predicted time period.
- the symbol m 3 represents the sum of the predicted resource usage of the physical server 2 at the migration destination for a predicted time period.
- the migration destination determining unit 145 calculates the difference sum by subtracting (m 2 +m 3 ) from m 1 . Then, the migration destination determining unit 145 determines the physical server 2 that has the minimum difference sum as the physical server at the migration destination. The reason for this is the physical server 2 having the minimum difference sum can efficiently use the resource.
- FIG. 15 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration destination determining unit.
- a description is given of a case in which the migration destination determining unit 145 determines that the physical server 2 at the migration destination, which is associated with the migration source virtual machine name “Gest3-1”, is “Server6”.
- the migration destination determining unit 145 records the “Server6” in the migration destination physical server name 114 d that is associated with the virtual machine name “Gest3-1” at the migration source.
- the migration destination determining unit 145 records “pre-execution” in the migration execution state 114 e that is associated with the virtual machine name “Gest3-1” at the migration source.
- FIG. 16 is a schematic diagram illustrating an example of searching the migration information DB performed by a migration execution requesting unit.
- the migration execution requesting unit 146 refers to the migration information DB 114 and determines, for each record, whether migration is needed.
- the execution state 114 e of a record n 1 having the migration destination physical server name 114 d of “Server7” is “pre-execution”. Consequently, if the current time has already passed the migration date and time 114 a of “2011/10/12 at 7:28:00”, the migration execution requesting unit 146 determines that a migration is needed.
- FIG. 17 is a schematic diagram illustrating a shift of the execution state of the migration information DB performed by the migration execution requesting unit. As illustrated in the upper portion of FIG. 17 , “pre-execution” is set in a record in the execution state 114 e that is associated with the migration destination physical server name 114 d of “Server7”.
- the migration execution requesting unit 146 determines that a migration is needed, the migration execution requesting unit 146 updates the execution state 114 e to “active”, as illustrated in the middle portion of FIG. 17 . Then, the migration execution requesting unit 146 requests the execution of migration from the hypervisor 21 for the virtual machines 22 at the migration source and requests the execution of migration from the hypervisor 21 in the physical server 2 at the migration destination. If the result of the execution request indicates that the migration is successful, the migration execution requesting unit 146 updates the execution state 114 e to “execution completion”, as illustrated in the lower portion of FIG. 17 . If the result of the execution request indicates that the migration is not successful, the migration execution requesting unit 146 updates the execution state 114 e to “not-yet completed”.
- FIG. 18 is a flowchart illustrating the flow of a main process performed by a migration control unit according to the embodiment.
- the main processing unit 141 determines whether a regular interval (for example, five minutes) has elapsed (Step S 11 ). If it is determined that a regular interval has not elapsed (No at Step S 11 ), the main processing unit 141 repeats the determining process until the regular interval has elapsed. In contrast, if it is determined that the regular interval has elapsed (Yes at Step S 11 ), the main processing unit 141 determines whether the current time is the time (for example, 0:00) to schedule a migration (Step S 12 ).
- a regular interval for example, five minutes
- the main processing unit 141 creates the predicted resource usages of the virtual machine 22 and the physical server 2 (Step S 13 ).
- the main processing unit 141 calls a predicted performance information creating process in the predicted performance information creating unit 142 .
- the main processing unit 141 predicts the physical server 2 for which a resource shortage is predicted in the future and determines, for the predicted physical server 2, the virtual machines 22 at the migration source and the migration time (Step S 14 ).
- the main processing unit 141 calls the resource shortage prediction process in the resource shortage predicting unit 143 .
- the main processing unit 141 determines the physical server 2 at the migration destination to which the determined virtual machines 22 at the migration source are to be migrated (Step S 15 ).
- the main processing unit 141 calls the migration destination determination process in the migration destination determining unit 145 .
- the main processing unit 141 proceeds to Step S 17 .
- Step S 12 if it is determined that that the current time is not the time to schedule a migration (No at Step S 12 ), the main processing unit 141 executes the migration (Step S 16 ). Then, the main processing unit 141 calls the migration execution requesting process in the migration execution requesting unit 146 and proceeds to Step S 17 .
- the main processing unit 141 determines whether to end the migration control (Step S 17 ). If it is determined not to end the migration control (No at Step S 17 ), the main processing unit 141 proceeds to Step S 11 . In contrast, if it is determined to end the migration control (Yes at Step S 17 ), the main processing unit 141 ends the main process.
- FIG. 19 is a flowchart illustrating the flow of a creation process of the predicted performance information according to the embodiment.
- the predicted performance information creating unit 142 called by the main processing unit 141 determines whether predicted performance information has been created for all of the physical servers 2 (Step S 21 ). If it is determined that predicted performance information has not been created for all of the physical server 2 (No at Step S 21 ), the predicted performance information creating unit 142 determines that the physical server 2 whose performance information has not been created is targeted for the process (Step S 22 ).
- the predicted performance information creating unit 142 determines whether the predicted performance information has been created for all of the virtual machines 22 in the physical server 2 targeted for the process (Step S 23 ). If it is determined that the predicted performance information has not been created for all of the virtual machines 22 in the physical server 2 targeted for the process (No at Step S 23 ), the predicted performance information creating unit 142 determines that the virtual machine 22 for which performance information has not been created is targeted for the process (Step S 24 ).
- the predicted performance information creating unit 142 acquires a single type of sampling (Step S 25 ). For example, by using the CPU usage 111 d stored in the performance information DB 111 , the predicted performance information creating unit 142 performs the sampling on the CPU usage of the virtual machine 22 targeted for the process. One type of sampling is acquired one at a time from among the three types of sampling: “most recent sampling”, “day-of-week sampling”, and “date sampling”.
- the predicted performance information creating unit 142 calculates an absolute difference sum (Step S 26 ). For example, by using the CPU usage that is obtained at the same collection time point as that of the sampling target, which is defined by each type of sampling, the predicted performance information creating unit 142 calculates the absolute difference sums.
- the predicted performance information creating unit 142 determines whether the three types of sampling have been performed (Step S 27 ). If it is determined that the three types of sampling have not been performed (No at Step S 27 ), the predicted performance information creating unit 142 proceeds to Step S 25 in order to perform the next type of sampling.
- the predicted performance information creating unit 142 calculates the average value of the resource usages from the result of the type of sampling in which the total of the absolute difference sums is the minimum (Step S 28 ). For example, the predicted performance information creating unit 142 specifies the type of sampling in which the total absolute difference sum is the minimum. Then, by using the resource usage of each sampling target obtained from the specified type of sampling, the predicted performance information creating unit 142 calculates the average value of the resource usages at each of the collection time points. The resource usage corresponds to the CPU usage 111 d in the performance information DB 111 .
- the predicted performance information creating unit 142 records the calculation result in the virtual-machine predicted information table 1121 in the predicted performance information DB 112 (Step S 29 ).
- the predicted performance information creating unit 142 proceeds to Step S 23 in order to perform a process on the virtual machine 22 for which the predicted performance information has not been created.
- Step S 23 if it is determined that the predicted performance information has been created for all of the virtual machines 22 in the physical server 2 targeted for the process (Yes at Step S 23 ), the predicted performance information creating unit 142 acquires the predicted resource usage of the physical server 2 targeted for the process (Step S 30 ). By adding up the predicted resource usages of all of the virtual machines 22 in the physical server 2 targeted for the process, the predicted performance information creating unit 142 acquires the predicted resource usage of the targeted physical server 2.
- the predicted performance information creating unit 142 records the acquired predicted resource usage in the physical-server predicted information table 1122 in the predicted performance information DB 112 (Step S 31 ). Then, the predicted performance information creating unit 142 proceeds to Step S 21 in order to process the physical server 2 for which the predicted performance information has not been created.
- Step S 21 if it is determined that the predicted performance information has been created for all of the physical servers 2 (Yes at Step S 21 ), the predicted performance information creating unit 142 ends the predicted performance information creating process.
- FIG. 20 is a flowchart illustrating the flow of a resource shortage prediction process according to the embodiment.
- the resource shortage predicting unit 143 called by the main processing unit 141 determines whether a resource shortage has been predicted for all of the physical servers 2 (Step S 41 ). If it is determined that a resource shortage has not been predicted for all of the physical servers 2 (No at Step S 41 ), the resource shortage predicting unit 143 selects the physical server 2 for which a resource shortage thereof has not been predicted. Then, the resource shortage predicting unit 143 acquires the predicted resource usage of the selected physical server 2 from the physical-server predicted information table 1122 (Step S 42 ). The predicted resource usage corresponds to the predicted CPU usage 1121 d for each future date and time 1121 a.
- the resource shortage predicting unit 143 determines whether the acquired predicted resource usage exceeds the threshold (Step S 43 ). If it is determined that the acquired predicted resource usage exceeds the threshold (Yes at Step S 43 ), the resource shortage predicting unit 143 determines the virtual machine 22 at the migration source in the selected physical server 2 and the migration date and time (Step S 44 ). Consequently, the resource shortage of the selected physical server 2 is predicted.
- the resource shortage predicting unit 143 calls the migration source determination process in the migration source determining unit 144 . Then, the resource shortage predicting unit 143 proceeds to Step S 41 in order to select the physical server 2 for which the resource usage has not been predicted.
- Step S 43 if it is determined that the acquired predicted resource usage does not exceed the threshold (No at Step S 43 ), the resource shortage predicting unit 143 proceeds to Step S 41 in order to select the physical server 2 for which the resource usage has not been predicted.
- Step S 41 if it is determined that the resource shortage of all of the physical servers 2 has been predicted (Yes at Step S 41 ), the resource shortage predicting unit 143 ends the resource shortage prediction process.
- FIG. 21 is a flowchart illustrating the flow of a migration source determination process according to the embodiment.
- the migration source determining unit 144 called by the resource shortage predicting unit 143 specifies a move combination of the virtual machines 22 that eliminates the resource shortage of the physical server 2 for which the resource shortage is predicted (Step S 51 ). Then, the migration source determining unit 144 determines whether the number of the specified move combinations is one (Step S 52 ). If it is determined that the number of the specified move combination is one (Yes at Step S 52 ), the migration source determining unit 144 proceeds to Step S 59 .
- the migration source determining unit 144 determines whether all of the move combinations have been selected (Step S 53 ). If it is determined that not all of the move combinations have been selected (No at Step S 53 ), the migration source determining unit 144 selects a move combination that has not been selected (Step S 54 ).
- the migration source determining unit 144 acquires the earliest time from among the times at which the resource usage of the virtual machine 22 is at a minimum (Step S 55 ). Then, the migration source determining unit 144 determines whether the time acquired from among the selected move combinations is earlier than the move time acquired from another move combination (Step S 56 ). If it is determined that the time acquired from among the selected move combinations is later than the move time acquired from another move combination (No at Step S 56 ), the migration source determining unit 144 proceeds to Step S 53 in order to select a move combination that has not been selected.
- the migration source determining unit 144 acquires the time acquired from among the selected move combinations as the move time (Step S 57 ). Then, the migration source determining unit 144 retains the selected move combination (Step S 58 ) and proceeds to Step S 53 in order to select a move combination that has not been selected.
- Step S 53 if it is determined that all of the move combinations have been selected (Yes at Step S 53 ), the migration source determining unit 144 proceeds to Step S 59 .
- Step S 59 for all of the virtual machines 22 in the move combinations, the migration source determining unit 144 records the virtual machines 22 in the migration information DB 114 starting with the virtual machine 22 that has the earliest time point at which resource usage is a minimum (Step S 59 ). Then, the migration source determining unit 144 ends the migration source determination process.
- FIG. 22 is a flowchart illustrating the flow of a process for specifying a move combination of a virtual machine.
- the migration source determining unit 144 determines whether all of the virtual machines 22 in the physical server 2 for which a resource shortage is predicted have been selected (Step S 61 ). If it is determined that not all of the virtual machines 22 in the physical server 2 for which the resource shortage is predicted have been selected (No at Step S 61 ), the migration source determining unit 144 selects the virtual machine 22 that has not been selected (Step S 62 ).
- the migration source determining unit 144 determines whether the resource usage at the peak time of the selected virtual machine 22 is less than a predetermined value (Step S 63 ).
- the predetermined value is a value corresponding to a certain percentage (for example, 30%) of the upper limit of the resource usage of the physical server 2 for which the resource shortage is predicted. If it is determined that the resource usage at the peak time of the selected virtual machine 22 is greater than a predetermined value (No at Step S 63 ), the migration source determining unit 144 excludes the selected virtual machine 22 . Then, the migration source determining unit 144 proceeds to Step S 61 in order to select the virtual machine 22 that has not been selected.
- Step S 63 if it is determined that the resource usage at the peak time of the selected virtual machine 22 is less than a predetermined value (Yes at Step S 63 ), the migration source determining unit 144 specifies the selected virtual machine 22 (Step S 64 ). Then, the migration source determining unit 144 proceeds to Step S 61 in order to select one of the virtual machines 22 that has not been selected.
- Step S 61 if it is determined that all of the virtual machines 22 in the physical server 2 for which a resource shortage is predicted have been selected (Yes at Step S 61 ), the migration source determining unit 144 calculates the resource usage of the physical server 2 that is predicted to be in short supply (Step S 65 ). Namely, the migration source determining unit 144 calculates the difference between the threshold and the resource usage at the peak time of the physical server 2 for which the resource shortage is predicted. Then, the migration source determining unit 144 acquires the combinations of all of the specified virtual machines 22 (all combinations) (Step S 66 ).
- the migration source determining unit 144 determines whether all of the combinations have been selected (Step S 67 ). If it is determined that not all of the combinations are selected (No at Step S 67 ), the migration source determining unit 144 selects the combination that has not been selected (Step S 68 ). Then, the migration source determining unit 144 calculates the total value of the resource usages at the peak time of all of the virtual machines 22 that have been selected in the combinations (Step S 69 ).
- the migration source determining unit 144 determines whether the calculated total value is greater than the resource usage that is predicted to be in short supply (Step S 70 ). If it is determined that the calculated total value is greater than the resource usage that is predicted to be in short supply (Yes at Step S 70 ), the migration source determining unit 144 acquires the selected combination as a candidate move combination (Step S 71 ). The reason for this is that the migration source determining unit 144 determined that the resource shortage can be eliminated of the physical server 2 for which the resource shortage is predicted. Then, the migration source determining unit 144 proceeds to Step S 67 in order to select a combination that has not been selected.
- Step S 70 the migration source determining unit 144 proceeds to Step S 67 in order to select a combination that has not been selected. The reason for this is that the migration source determining unit 144 determines the resource shortage is not eliminated of the physical server 2 for which the resource shortage is predicted.
- Step S 67 if it is determined that all of the combinations have been selected (Yes at Step S 67 ), the migration source determining unit 144 determines whether all of the candidate move combinations have been selected (Step S 72 ). If it is determined that not all of the candidate move combinations have been selected (No at Step S 72 ), the migration source determining unit 144 selects a candidate move combination that has not been selected (Step S 73 ).
- the migration source determining unit 144 determines whether the number of components (the number of virtual machines) of the selected candidate move combination is the minimum (Step S 74 ). If it is determined that the number of components (the number of virtual machines) of the selected candidate move combination is the minimum (Yes at Step S 74 ), the migration source determining unit 144 specifies this combination as the move combination (Step S 75 ). Then, the migration source determining unit 144 proceeds to Step S 72 in order to select a candidate move combination that has not been selected.
- the migration source determining unit 144 proceeds to Step S 72 in order to select a candidate move combination that has not been selected.
- Step S 72 if it is determined that all of the candidate move combinations have been selected (Yes at Step S 72 ), the migration source determining unit 144 ends the process for specifying the move combination of the virtual machines.
- FIG. 23 is a flowchart illustrating the flow of a migration destination determination process according to the embodiment.
- the migration destination determining unit 145 called by the main processing unit 141 determines whether all of the definitions (records) in the migration information DB 114 have been selected (Step S 81 ). If it is determined that not all of the definitions in the migration information DB 114 have been selected (No at Step S 81 ), the migration destination determining unit 145 selects a definition that has not been selected (Step S 82 ).
- the migration destination determining unit 145 determines whether the physical server 2 at the migration destination has not been set (Step S 83 ). If it is determined that the physical server 2 at the migration destination is not a not-yet set server, i.e., the physical server 2 at the migration destination has been set (No at Step S 83 ), the migration destination determining unit 145 proceeds to Step S 81 in order to select a definition that has not been selected.
- the migration destination determining unit 145 acquires, from the virtual-machine predicted information table 1121 , the predicted resource usage of one of the virtual machines 22 at the move source (Step S 84 ).
- the migration destination determining unit 145 determines whether all of the physical servers have been selected (Step S 85 ). If it is determined that not all of the physical servers have been selected (No at Step S 85 ), the migration destination determining unit 145 selects one of the physical servers 2 that has not been selected (Step S 86 ). Then, the migration destination determining unit 145 acquires the predicted resource usage of the selected physical server 2 (migration destination candidate) (Step S 87 ).
- the migration destination determining unit 145 merges the predicted resource usage of the virtual machine 22 at the move source with the predicted resource usage of the selected physical server 2 (Step S 88 ). Then, the migration destination determining unit 145 determines whether the merged predicted resource usage has exceeded the threshold (Step S 89 ). If it is determined that the merged predicted resource usage has not exceeded the threshold (No at Step S 89 ), the migration destination determining unit 145 calculates the difference sum between the merged predicted resource usage and the threshold (Step S 90 ).
- the migration destination determining unit 145 compares the difference sum of the already selected physical server 2 with the difference sum of the physical server 2 that is selected this time and then determines that the physical server 2 having the smaller difference sum as the migration destination (Step S 91 ). Then, the migration destination determining unit 145 proceeds to Step S 85 in order to select a physical server that has not been selected.
- the migration destination determining unit 145 excludes the selected physical server 2 from the migration destination. Then, the migration destination determining unit 145 proceeds to Step S 85 in order to select a physical server that has not been selected.
- Step S 85 if it is determined that all of the physical servers have been selected (Yes at Step S 85 ), the migration destination determining unit 145 determines whether the physical server 2 at the migration destination has been determined (Step S 92 ). If it is determined that the physical server 2 at the migration destination has not been determined (No at Step S 92 ), the migration destination determining unit 145 proceeds to Step S 81 in order to select a definition that has not been selected.
- the migration destination determining unit 145 records the physical server name at the migration destination in the migration information DB 114 (Step S 93 ). Then, the migration destination determining unit 145 proceeds to Step S 81 in order to select a definition that has not been selected.
- Step S 81 if it is determined that all of the definitions in the migration information DB 114 are selected (Yes at Step S 81 ), the migration destination determining unit 145 ends the migration destination determination process.
- FIG. 24 is a flowchart illustrating the flow of a process for acquiring the predicted resource usage of a physical server.
- the migration destination determining unit 145 acquires, from the physical-server predicted information table 1122 , the predicted resource usage of a physical server (migration destination candidate) (Step S 101 ).
- the migration destination determining unit 145 determines whether all of the physical servers 2 that are already registered in the migration destination physical server name 114 d in the migration information DB 114 have been selected (Step S 102 ). If it is determined that not all of the physical servers 2 that are already registered in the migration information DB 114 have been selected (No at Step S 102 ), the migration destination determining unit 145 selects one of the physical servers 2 that has not been selected (Step S 103 ).
- the migration destination determining unit 145 determines whether the selected physical server 2 is the same as that at the migration destination candidate (Step S 104 ). If it is determined that the selected physical server 2 is the same as that at the migration destination candidate (Yes at Step S 104 ), the migration destination determining unit 145 corrects the predicted resource usage of the migration destination candidate (Step S 105 ). Specifically, the migration destination determining unit 145 merges the acquired predicted resource usage of the physical server 2 at the migration destination candidate with the predicted resource usage of the virtual machine 22 that has already been registered in the migration information DB 114 and that is to be moved to the target physical server 2. Then, the migration destination determining unit 145 proceeds to Step S 102 in order to select one of the physical servers 2 that has not been selected.
- Step S 104 the migration destination determining unit 145 proceeds to Step S 102 in order to select one of the physical servers 2 that has not been selected.
- Step S 102 if it is determined that all of the physical servers 2 that are already registered in the migration information DB 114 have been selected (Yes at Step S 102 ), the migration destination determining unit 145 returns the predicted resource usage at the migration destination candidate to the migration source.
- FIG. 25 is a flowchart illustrating the flow of a migration execution requesting process according to the embodiment.
- the migration execution requesting unit 146 called by the main processing unit 141 determines whether all of the definitions (records) in the migration information DB 114 have been selected (Step S 111 ). If it is determined that not all of the definitions in the migration information DB 114 have not been selected (No at Step S 111 ), the migration execution requesting unit 146 selects a definition in the migration information DB 114 that has not been selected (Step S 112 ).
- the migration execution requesting unit 146 determines whether a migration is needed (Step S 113 ). Specifically, for the selected definition, the migration execution requesting unit 146 determines whether the migration date and time 114 a have elapsed and the execution state 114 e is “pre-execution”. If the migration date and time 114 a have elapsed and the execution state 114 e is “pre-execution”, the migration execution requesting unit 146 determines that a migration is needed.
- the migration execution requesting unit 146 updates, for the selected definition, the execution state 114 e in the migration information DB 114 to “active” (Step S 114 ). Then, the migration execution requesting unit 146 requests the execution of a migration from the hypervisor 21 for the virtual machine 22 at the migration source and requests the execution of a migration from the hypervisor 21 in the physical server 2 at the migration destination (Step S 115 ).
- the migration execution requesting unit 146 After the migration has been executed, for the definition that is migrated normally or that has been selected, the migration execution requesting unit 146 updates the execution state 114 e in the migration information DB 114 to “execution completion” (Step S 116 ). Furthermore, if the migration is abnormal, the migration execution requesting unit 146 updates, for the selected definition, the execution state 114 e in the migration information DB 114 to “non-completion”. Then, the migration execution requesting unit 146 proceeds to Step S 111 in order to select the definition that has not been selected.
- Step S 113 if it is determined that a migration is not needed, the migration execution requesting unit 146 proceeds to Step S 111 in order to select a definition that has not been selected.
- Step S 111 if it is determined that all of the definitions in the migration information DB 114 have been selected (Yes at Step S 111 ), the migration execution requesting unit 146 ends the migration execution requesting process.
- the management server 1 predicts a resource shortage, predicted to occur for a predetermined time period, in the physical server 2 that includes multiple virtual machines 22 . Then, the management server 1 specifies the virtual machines 22 that can eliminate the resource shortage by moving, at the time point at which the predicated resource shortage occurs, the virtual machines 22 included in the physical server 2, for which the resource shortage is predicted, to another physical server 2. Then, on the basis of the resource usage of the specified virtual machines 22 for the predetermined time period and the time point that is associated with the resource usage, the management server 1 moves the specified virtual machines 22 to the other physical server 2. With this configuration, the management server 1 can eliminate a resource shortage at a time point at which the resource shortage of the physical server 2 is predicted. Consequently, it possible to prevent the operation of the target physical server 2 from being unstable.
- the management server 1 specifies a move combination of the virtual machines 22 such that the number of the multiple virtual machines 22 with which the resource shortage can be eliminated is the minimum.
- the management server 1 specifies the move combination of the virtual machines 22 such that the number of the multiple virtual machines 22 with which the resource shortage can be eliminated is the minimum, it is possible to promptly move the virtual machines 22 of the specified move combination to the other physical server 2. Consequently, the management server 1 can minimize the effect on a task at the time of moving.
- the management server 1 specifies a move combination that includes the virtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum before a resource shortage occurs in the physical server 2 for which a resource shortage is predicted. With this configuration, the management server 1 can safely move the virtual machines 22 included in the specified move combination before the resource shortage occurs in the physical server 2 for which the resource shortage is predicted.
- the management server 1 moves the virtual machines 22 to the other physical server 2 at the time point at which the resource usage of the virtual machines 22 that are specified to be moved is at a minimum.
- the management server 1 can promptly move the virtual machines 22 specified to be moved to the other physical server 2. Consequently, the management server 1 can minimize the effect on a task at the time of moving.
- the management server 1 determines, as the move destination, the physical server 2 whose resource usage after the virtual machines 22 specified to be moved are moved does not exceed the upper limit that the resource shortage is determined to be and whose resource usage is the closest to the upper limit. Then, the management server 1 moves the virtual machines 22 , which are specified to be moved, to the determined move destination. With this configuration, if the management server 1 moves the virtual machines 22 , which are specified to be moved, to the physical server 2 that is determined as the move destination, the resource of the physical server 2 at the move destination can be efficiently used.
- management server 1 can be implemented by installing the functions of units described above, such as the migration control unit 14 and the storing unit 11 , in an information processing apparatus, such as a known personal computer and a workstation.
- each unit illustrated in the drawings are not always physically configured as illustrated in the drawings.
- the specific shape of a separate or integrated unit is not limited to the drawings; however, all or part of the unit can be configured by functionally or physically separating or integrating any of the units depending on various loads or use conditions.
- the migration control unit 14 , the performance information collecting unit 12 , and the configuration information collecting unit 13 may also be integrated as a single unit.
- the migration source determining unit 144 may also be separated by dividing it into a specifying unit that specifies move combinations and a using unit that uses an optimum move combination from among the specified move combination.
- the storing unit 11 such as the performance information DB 111 , may also be an external unit of the management server 1 and connected via a network.
- FIG. 26 is a block diagram illustrating an example of a computer that executes a migration control program.
- a computer 200 includes a CPU 203 that executes various arithmetic processing, an input device 215 that receives an input of data from a user, and a display control unit 207 that controls a display 209 . Furthermore, the computer 200 includes a disk drive 213 that reads a program or the like from a storage medium, and a communication control unit 217 that receives/transmits data between other computers via a network. Furthermore, the computer 200 includes a memory 201 that temporarily stores therein various kinds of information and an HDD 205 . The memory 201 , the CPU 203 , the HDD 205 , the display control unit 207 , the disk drive 213 , the input device 215 , and the communication control unit 217 are connected via a bus 219 .
- the disk drive 213 is, for example, a device used for a removable disk 211 .
- the HDD 205 stores therein a migration control program 205 a , a performance information collection program 205 b , a configuration information collection program 205 c , and migration control related information 205 d.
- the CPU 203 reads the migration control program 205 a and loads it in the memory 201 .
- the migration control program 205 a functions as a migration control process 201 a .
- the CPU 203 reads the performance information collection program 205 b and loads it in the memory 201 .
- the performance information collection program 205 b functions as a performance information collection process 201 b .
- the CPU 203 reads the configuration information collection program 205 c and loads it in the memory 201 .
- the configuration information collection program 205 c functions as a configuration information collection process 201 c.
- the migration control process 201 a corresponds to each of the functioning units in the migration control unit 14 .
- the performance information collection process 201 b corresponds to the performance information collecting unit 12 .
- the configuration information collection process 201 c corresponds to the configuration information collecting unit 13 .
- the migration control related information 205 d corresponds to the performance information DB 111 , the predicted performance information DB 112 , the configuration information DB 113 , and the migration information DB 114 .
- each of the programs 205 a , 205 b , and 205 c does not always need to be stored in the HDD 205 from the beginning.
- each program may be stored in a “portable physical medium”, such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optic disk, or an IC card, that is to be inserted into the computer 200 .
- the computer 200 may read and execute each of the programs 205 a , 205 b , and 205 c from the portable physical medium.
Abstract
Description
- This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2012-142402, filed on Jun. 25, 2012, the entire contents of which are incorporated herein by reference.
- The embodiment discussed herein is related to a program, a management server, and a virtual machine move control method.
- There is a known virtualization technology in which a hypervisor manages the machine resources of a single server and multiple virtual machines are operated in parallel on the server. In this virtualization technology, in order for the server to efficiently use the machine resources of the server, the management server that manages the server moves a running virtual machine from one server to another server in an uninterrupted manner. This is referred to as a “live migration”.
- In a live migration, the management server copies a memory image of the move source to the move destination. Because the memory in the running virtual machine continues to be changed, strictly speaking, it is inevitable that the virtual machine temporarily fails (stops) at some point while the management server is performing the copying. This temporary downtime (hereinafter, referred to as a “downtime”) usually lasts for several seconds; however, it depends on the usage state of the resource of the virtual machine that is to be moved. Consequently, if the virtual machine is moved when a large amount of resource is being used, it takes a long time, e.g., several seconds or more.
- Consequently, there is a disclosed technology for avoiding the occurrence of a failure for a long time due to a live migration. In this technology, the management server uses a high-degree equation to predict the resource usage of a physical server that will be used in the future. When the management server predicts the occurrence of a resource shortage, if a time zone is present where the resource usage does not exceed a move threshold for defining an upper limit of the movement related to a load and if a move time of the move virtual machine that is moved is included in this time zone, the management server moves the move virtual machine in this time zone.
- Patent Document 1: Japanese Laid-open Patent Publication No. 2010-117760
- However, even when it is predicted that the resource usage in the physical server will run short, if no time zone is present in which the resource usage of the virtual machine running on the physical server below the move threshold, the moving of the virtual machine running on the physical server is limited. Consequently, there is a problem in that the operation of the physical server whose resource usage is predicted to be in short supply may possibly become unstable in the future.
- According to an aspect of an embodiment, a computer readable storage medium stores a program. The program causes a computer to execute a process including predicting a resource shortage, predicted to occur for a predetermined time period, of a physical machine that includes multiple virtual machines; specifying a virtual machine that eliminate the resource shortage by moving, at a time point at which the predicted resource shortage occurs, among the virtual machine, which is included in the physical machine for which the resource shortage is predicted, to another physical machine; and moving the specified virtual machine to the other physical machine on the basis of the resource usage of the specified virtual machine for the predetermined time period and on the basis of a time point that is associated with the resource usage.
- The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
- It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
-
FIG. 1 is a schematic diagram illustrating the overall configuration of an information processing system according to an embodiment; -
FIG. 2 is a functional block diagram illustrating the configuration of a management server according to the embodiment; -
FIG. 3 is a schematic diagram illustrating an example of the data structure of a performance information DB; -
FIG. 4 is a schematic diagram illustrating an example of the data structure of a configuration information DB; -
FIG. 5 is a schematic diagram illustrating an example of the data structure of a virtual-machine predicted information table; -
FIG. 6 is a schematic diagram illustrating an example of the data structure of a physical-server predicted information table; -
FIG. 7 is a schematic diagram illustrating an example of the data structure of a migration information DB; -
FIG. 8A is a schematic diagram illustrating an example of calculating an absolute difference sum of the most recent sampling; -
FIG. 8B is a schematic diagram illustrating an example of calculating an absolute difference sum of day-of-week sampling; -
FIG. 8C is a schematic diagram illustrating an example of calculating an absolute difference sum of date sampling; -
FIG. 9 is a schematic diagram illustrating an example of calculating predicted resource usage; -
FIG. 10 is a schematic diagram illustrating the flow of creating predicted performance information in a predicted performance information creating unit; -
FIG. 11 is a schematic diagram illustrating determination of a migration source performed by a migration source determining unit; -
FIG. 12 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration source determining unit; -
FIG. 13 is a schematic diagram illustrating an example of searching the migration information DB performed by the migration destination determining unit; -
FIG. 14 is a schematic diagram illustrating a difference sum calculated by the migration destination determining unit; -
FIG. 15 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration destination determining unit; -
FIG. 16 is a schematic diagram illustrating an example of searching the migration information DB performed by a migration execution requesting unit; -
FIG. 17 is a schematic diagram illustrating a shift of the execution state of the migration information DB performed by the migration execution requesting unit; -
FIG. 18 is a flowchart illustrating the flow of a main process performed by a migration control unit according to the embodiment; -
FIG. 19 is a flowchart illustrating the flow of a creation process of the predicted performance information according to the embodiment; -
FIG. 20 is a flowchart illustrating the flow of a resource shortage prediction process according to the embodiment; -
FIG. 21 is a flowchart illustrating the flow of a migration source determination process according to the embodiment; -
FIG. 22 is a flowchart illustrating the flow of a process for specifying a move combination of a virtual machine; -
FIG. 23 is a flowchart illustrating the flow of a migration destination determination process according to the embodiment; -
FIG. 24 is a flowchart illustrating the flow of a process for acquiring predicted resource usage of a physical server; -
FIG. 25 is a flowchart illustrating the flow of a migration execution requesting process according to the embodiment; and -
FIG. 26 is a block diagram illustrating an example of a computer that executes a migration control program. - Preferred embodiment of the present invention will be explained with reference to accompanying drawings.
- The present invention is not limited to the embodiment.
- Configuration of an Information Processing System According to an Embodiment
-
FIG. 1 is a schematic diagram illustrating the overall configuration of an information processing system according to an embodiment. As illustrated inFIG. 1 , aninformation processing system 9 includes amanagement server 1 and multiplephysical servers 2. Each of thephysical servers 2 includes asingle hypervisor 21 and multiplevirtual machines 22. Thehypervisor 21 is software needed to operate thevirtual machines 22 and allocates the resources, such as a central processing unit (CPU), a memory, and the like, mounted on thephysical server 2 to each of thevirtual machines 22. - The
management server 1 predicts a time point at which the resource becomes insufficient in thephysical server 2, which includes the multiplevirtual machines 22; finds a time point when the downtime of the system can be minimized before the predicted time point is reached; and automatically performs the live migration at the time point that was found. The time point at which the live migration is performed is the time point when, for example, the resource usage of the virtual machine to be moved is at a minimum. Furthermore, the virtual machine to be moved is preferably a virtual machine that has the earliest time point at which the resource usage thereof is at a minimum. Hereinafter, the live migration is referred to as “migration”. - Configuration of the Management Server According to the Embodiment
- The configuration of the
management server 1 will be described with reference toFIG. 2 .FIG. 2 is a functional block diagram illustrating the configuration of a management server according to the embodiment. As illustrated inFIG. 2 , themanagement server 1 includes a storingunit 11, a performanceinformation collecting unit 12, a configurationinformation collecting unit 13, and amigration control unit 14. - The storing
unit 11 is a storage device corresponding to a nonvolatile semiconductor memory device, such as a flash memory, a ferroelectric random access memory (FRAM) (registered trademark), and the like. The storingunit 11 includes a performance information DB (database) 111, a predictedperformance information DB 112, aconfiguration information DB 113, and amigration information DB 114. - The
performance information DB 111 stores therein actual performance information that is collected for eachvirtual machine 22 from thehypervisor 21. The performance information mentioned here is, for example, CPU usage (MHz), memory usage (byte), or disk usage (byte/sec); however, the performance information is not limited thereto. Namely, any usage may also be used for the performance information as long as the resource usage of thephysical server 2 can be used for eachvirtual machine 22. In the embodiment, it is assumed that CPU usage is collected by theperformance information DB 111 as performance information. Furthermore, in the description below, the CPU usage is taken as being synonymous with resource usage. Theperformance information DB 111 is created by the performanceinformation collecting unit 12, which will be described later. - The predicted
performance information DB 112 includes a virtual-machine predicted information table 1121 and a physical-server predicted information table 1122. The virtual-machine predicted information table 1121 stores therein, for eachvirtual machine 22, resource usage that is predicted to be used for a predicted time period starting from the predicted start date and time and ending at the predicted end date and time. The physical-server predicted information table 1122 stores therein, for each physical server, resource usage that is predicted to be used in the future. Furthermore, the predictedperformance information DB 112 is created by a predicted performanceinformation creating unit 142, which will be described later. - The
configuration information DB 113 stores therein configuration information on the system. The configuration information contains thephysical server 2 and thevirtual machines 22 in an associated manner and contains the upper limit of the resource of thephysical server 2. Themigration information DB 114 stores therein information related to a migration. Examples of the information related to the migration include migration date and time, a physical server and a virtual machine at the migration source, a physical server at the migration destination, the execution state of the migration, and the like. Theconfiguration information DB 113 is created by the configurationinformation collecting unit 13, which will be described later. The data structure of each DB will also be described later. - The performance
information collecting unit 12 periodically collects, from thehypervisor 21, performance information on the virtual machine that is managed by thehypervisor 21 and records the collected performance information in theperformance information DB 111. For example, every five minutes, the performanceinformation collecting unit 12 collects, from thehypervisor 21, the resource usage that is managed by thehypervisor 21 and records the collected resource usage in theperformance information DB 111. - In the following, the data structure of the
performance information DB 111 will be described with reference toFIG. 3 .FIG. 3 is a schematic diagram illustrating an example of the data structure of a performance information DB. As illustrated inFIG. 3 , theperformance information DB 111 stores therein, in an associated manner, a collection date andtime 111 a, aphysical server name 111 b, avirtual machine name 111 c, andCPU usage 111 d. The collection date andtime 111 a represent, as performance information, the date and time at which CPU usage is collected. Thephysical server name 111 b represents the name of a physical server. Thevirtual machine name 111 c represents the name of a virtual machine. TheCPU usage 111 d represents usage of a CPU as performance information. For example, if the collection date andtime 111 a is “2011/10/11 at 00:00:00”, theperformance information DB 111 stores therein “Server1” as thephysical server name 111 b, “Gest001” as thevirtual machine name 111 c, and “500” as theCPU usage 111 d. Specifically, if the collection date and time is “2011/10/11 at 00:00:00”, the CPU usage is “500” MHz in the virtual machine “Gest001” in the physical server “Server1”. - A description will be given here by referring back to
FIG. 2 . The configurationinformation collecting unit 13 periodically collects, from thehypervisor 21, configuration information that is managed by thehypervisor 21 and then records the collected configuration information in theconfiguration information DB 113. For example, once one hour the configurationinformation collecting unit 13 collects, from thehypervisor 21, the configuration information managed by thehypervisor 21 and records the collected configuration information in theconfiguration information DB 113. - In the following, the data structure of the
configuration information DB 113 will be described with reference toFIG. 4 .FIG. 4 is a schematic diagram illustrating an example of the data structure of a configuration information DB. As illustrated inFIG. 4 , theconfiguration information DB 113 stores therein, in an associated manner, aphysical server name 113 a, a hypervisor-managedvirtual machine name 113 b, and a CPU usageupper limit 113 c. Thephysical server name 113 a indicates the name of the physical server. The hypervisor-managedvirtual machine name 113 b represents the name of a virtual machine managed by thehypervisor 21. The CPU usageupper limit 113 c represents the upper limit of the CPU usage of the physical server. For example, if thephysical server name 113 a is “Server1”, theconfiguration information DB 113 stores therein the hypervisor-managedvirtual machine name 113 b as “Gest1-1, Gest1-2, Gest1-3” and the CPU usageupper limit 113 c as “30000”. - A description will be given here by referring back to
FIG. 2 . Themigration control unit 14 includes an internal memory that stores therein control data and programs that is related to the migration control and that prescribe various kinds of procedures, whereby various kinds of processes are executed. Furthermore, themigration control unit 14 corresponds to an integrated circuit, such as an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and the like or an electronic circuit, such as a central processing unit (CPU), a micro processing unit (MPU), and the like. Furthermore, themigration control unit 14 includes amain processing unit 141 and the predicted performanceinformation creating unit 142. Furthermore, themigration control unit 14 includes a resourceshortage predicting unit 143, a migrationsource determining unit 144, a migrationdestination determining unit 145, and a migrationexecution requesting unit 146. - The
main processing unit 141 is a processing unit that mainly performs various processes related to the migration control. For example, themain processing unit 141 periodically schedules a migration. For example, themain processing unit 141 determines, every five minutes, whether it is time to schedule the migration. If themain processing unit 141 determines that it is time to schedule the migration, themain processing unit 141 calls the predicted performanceinformation creating unit 142, which will be described later, in order to create predicted performance information that is used when the migration is scheduled. In contrast, if themain processing unit 141 determines that it is not time to schedule the migration, themain processing unit 141 calls the migrationexecution requesting unit 146, which will be describe later, in order to request the execution of the scheduled migration. - By using the past resource usage stored in the
performance information DB 111, the predicted performanceinformation creating unit 142 performs three types of sampling on resource usage for eachvirtual machine 22 in thephysical server 2. For example, in a first type of sampling, the most recent several days are defined as the sampling target, which is referred to as “most recent sampling”. In a second type of sampling, several days corresponding to the same days of the week for which the sampling is performed are defined as the sampling target, which is referred to as “day-of-week sampling”. In a third type of sampling, several days corresponding to the same day on which the sampling is performed are defined as the sampling target, which is referred to as “date sampling”. Then, for these three types of sampling, the predicted performanceinformation creating unit 142 performs sampling on the resource usage of the sampling target defined by each type. The resource usage subjected to sampling is obtained at multiple time points over a predetermined time period. However, the same number of days for which the sampling is performed and the same predetermined time period are used in these three types of sampling. For example, if the date on which sampling is performed is on Thursday, 11/10 (i.e., month/day) and the number of days for which the sampling is performed is three, the sampling target will be 11/9, 11/8, and 11/7 in the “most recent sampling”; the sampling target will be on Thursdays, 11/3, 10/27, and 10/20 in the “day-of-week sampling”; and the sampling target will be 10/10, 9/10, and 8/10 in the “date sampling”. - Furthermore, the predicted performance
information creating unit 142 calculates the magnitude of variation in the sampling for each type of sampling. The magnitude of variation is obtained by calculating the absolute difference sum by using the resource usage of each sampling target obtained at the same collection time point and then calculating the total value of the calculated absolute difference sums for the different collection time points. The total value of the calculated absolute difference sums is the magnitude of variation in the sampling type. The absolute difference sum is known to be used to determine the similarity of, for example, an image. If the absolute difference sum is used to determine the image similarity, the absolute difference sum is a value obtained by adding an absolute value of a difference between pixels of two images positioned at the same coordinates. It is assumed that the two images are similar as the value decreases. The predicted performanceinformation creating unit 142 arrays resource usage of each sampling target in time series and uses the arrayed resource usage as the target for the absolute difference sum. Then, by using the total value of the calculated absolute difference sums, the predicted performanceinformation creating unit 142 checks the magnitude of variation of each of the three types of sampling. Then, the predicted performanceinformation creating unit 142 specifies the type of sampling having the smallest magnitude of variation from among the three types of sampling. By using the specified type of sampling, the predicted performanceinformation creating unit 142 creates predicted performance information on thevirtual machine 22 and on thephysical server 2. - In the following, an example of calculating the variation for each type of sampling will be described with reference to
FIGS. 8A to 8C .FIG. 8A is a schematic diagram illustrating an example of calculating the absolute difference sum of the most recent sampling.FIG. 8B is a schematic diagram illustrating an example of calculating the absolute difference sum of day-of-week sampling.FIG. 8C is a schematic diagram illustrating an example of calculating an absolute difference sum of date sampling. - As illustrated in
FIG. 8A , it is assumed that 11/7, 11/8, and 11/9 are the sampling targets and assumed that the predetermined time period for the sampling is from 0:00 to 0:15. The predicted performanceinformation creating unit 142 calculates an absolute difference sum by using the resource usage that is obtained at the same collection time as that of the sampling targets 11/7, 11/8, and 11/9. In this example, for a collection time at 0:00, the absolute value of the difference between the CPU usage on 11/7 and 11/8 is 100, the absolute value of the difference between the CPU usage on 11/8 and 11/9 is 50, and the absolute value of the difference between the CPU usage on 11/7 and 11/9 is 150. Consequently, the absolute difference sum of the collection time at 0:00 is 300, which is the sum of the absolute values of all the differences. Similarly, the absolute difference sum of the collection time 0:05 is 600, the absolute difference sum of the collection time at 0:10 is 500, and the absolute difference sum of the collection time at 0:15 is 400. - Then, the predicted performance
information creating unit 142 calculates the total value of the absolute difference sums for the different calculated collection times. In this example, the predicted performanceinformation creating unit 142 adds up the absolute difference sums, i.e., (300+600+500+400), where each absolute difference sum is for a different collection time, to obtain the total sum of the absolute difference sums, i.e., 1800. The calculated value corresponds to the magnitude of variation of the most recent sampling. - In
FIG. 8B , it is assumed that 10/20, 10/27, and 11/3 are the sampling target. Similarly to the most recent sampling, it is assumed that the predetermined time period for the sampling is from 0:00 to 0:15. The predicted performanceinformation creating unit 142 calculates an absolute difference sum by using the resource usage that is obtained at the same collection time as that of the sampling targets 10/20, 10/27, and 11/3. In this example, for the collection time at 0:00, the absolute value of the difference between the CPU usage on 10/20 and 10/27 is 200, the absolute value of the difference between the CPU usage on 10/27 and 11/3 is 50, and the absolute value of the difference between the CPU usage on 10/20 and 11/3 is 150. Consequently, the absolute difference sum of the collection time at 0:00 is 400, which is the sum of the absolute values of all the differences. Similarly, the absolute difference sum at the collection time 0:05 is 200, the absolute difference sum at the collection time 0:10 is 400, and the absolute difference sum at the collection time 0:15 is 200. - Then, the predicted performance
information creating unit 142 calculates the total value of the absolute difference sums for the different calculated collection times. In this example, the predicted performanceinformation creating unit 142 adds up the absolute difference sum, i.e., (400+200+400+200), where each absolute difference sum is for a different collection time, to obtain the total sum of the absolute difference sums, i.e., 1200. The calculated value corresponds to the magnitude of variation of the day-of-week sampling. - It is assumed that 8/10, 9/10, and 10/10 are the sampling target, as illustrated in
FIG. 8C . Similarly to the most recent and day-of-week sampling, it is assumed that the predetermined time period for the sampling is from 0:00 to 0:15. The predicted performanceinformation creating unit 142 calculates an absolute difference sum by using the resource usage that is obtained at the same collection time as that of the sampling targets 8/10, 9/10, and 10/10. In this example, for the collection time at 0:00, the absolute value of the difference between the CPU usage on 8/10 and 9/10 is 250, the absolute value of the difference between the CPU usage on 9/10 and 10/10 is 150, and the absolute value of the difference between the CPU usage on 8/10 and 10/10 is 100. Consequently, the absolute difference sum of the collection time at 0:00 is 500, which is the sum of the absolute values of all the differences. Similarly, the absolute difference sum of the collection time at 0:05 is 600, the absolute difference sum of the collection time at 0:10 is 600, and the absolute difference sum of the collection time at 0:15 is 700. - Then, the predicted performance
information creating unit 142 calculates the total value of the absolute difference sums for the different calculated collection times. In this example, the predicted performanceinformation creating unit 142 adds up the absolute difference sums, i.e., (500+600+600+700), where each absolute difference sum is for a different collection time, to obtain the total sum of the absolute difference sums, i.e., 2400. The calculated value corresponds to the magnitude of variation of the date sampling. - Furthermore, by using the total value of the absolute difference sums, the predicted performance
information creating unit 142 determines the magnitude of variation of the three types of sampling. Then, from among the three types of sampling, the predicted performanceinformation creating unit 142 specifies the sampling having the smallest magnitude of variation. In this example, the total of the absolute difference sums for the most recent sampling is 1800, the total of the absolute difference sums for the day-of-week sampling is 1200, and the total of the absolute difference sums for the date sampling is 2400. Consequently, the predicted performanceinformation creating unit 142 specifies the day-of-week sampling as the type of sampling having the smallest variation. - A description will be given here by referring back to
FIG. 2 . By using the resource usage of the sampling target of the specified type of sampling, the predicted performanceinformation creating unit 142 calculates, for eachvirtual machine 22, the average of the resource usages with each resource usage being obtained at a different collection time point. Specifically, the predicted performanceinformation creating unit 142 regards the calculated average of the resource usage as the resource usage that will be used by the associatedvirtual machine 22 in the future. The average of the resource usage is referred to as “predicted resource usage”. - In the following, an example of calculating the “predicted resource usage” will be described with reference to
FIG. 9 .FIG. 9 is a schematic diagram illustrating an example of calculating predicted resource usage. InFIG. 9 , it is assumed that the specified type of sampling is day-of-week sampling. By using the CPU usage of each of the sampling targets 10/27, 11/8, and 11/3 for the specified day-of-week sampling, the predicted performanceinformation creating unit 142 calculates the average of CPU usage in one of thevirtual machines 22, where each CPU usage is for a different collection time. In this example, for collection time 0:00, the predicted performanceinformation creating unit 142 calculates the average value “916” of the CPU usage by using, for example, each of the CPU usages, i.e., 800, 1000, and 950. The calculated value corresponds to predicted resource usage at collection time 0:00. - A description will be given here by referring back to
FIG. 2 . As described above, the predicted performanceinformation creating unit 142 calculates predicted resource usage for each of thevirtual machines 22 and records, for eachvirtual machine 22, the calculated predicted resource usage in the virtual-machine predicted information table 1121. Furthermore, the predicted performanceinformation creating unit 142 calculates the total value of the predicted resource usage of all of thevirtual machines 22 in thephysical server 2 and records it in the physical-server predicted information table 1122 as the predicted resource usage of thephysical server 2. - In the following, the data structure of the virtual-machine predicted information table 1121 will be described with reference to
FIG. 5 .FIG. 5 is a schematic diagram illustrating an example of the data structure of a virtual-machine predicted information table. As illustrated inFIG. 5 , the virtual-machine predicted information table 1121 stores therein, in an associated manner, a future date andtime 1121 a, aphysical server name 1121 b, avirtual machine name 1121 c, and predictedCPU usage 1121 d. The future date andtime 1121 a is the date and time of the predicted time period, which starts from the predicted start date and time and ends at the predicted end date and time. Thephysical server name 1121 b represents the name of a physical server. Thevirtual machine name 1121 c represents the name of a virtual machine. The predictedCPU usage 1121 d represents the predicted usage of a CPU. For example, if the future date andtime 1121 a is “2011/10/12 at 00:00:00”, the virtual-machine predicted information table 1121 stores therein “Server1” as thephysical server name 1121 b, “Gest001” as thevirtual machine name 1121 c, and “70” as the predictedCPU usage 1121 d. Specifically, if the future date and time is “2011/10/12 at 00:00:00”, it indicates that the predicted CPU usage is “70” MHz in the virtual machine “Gest001” in the physical server “Server1”. - In the following, the data structure of the physical-server predicted information table 1122 will be described with reference to
FIG. 6 .FIG. 6 is a schematic diagram illustrating an example of the data structure of a physical-server predicted information table. As illustrated inFIG. 6 , the physical-server predicted information table 1122 stores therein, in an associated manner, a future date andtime 1122 a, aphysical server name 1122 b, and predictedCPU usage 1122 c. The future date andtime 1122 a is the date and time over the predicted time period starting from the predicted start date and time and ending at the predicted end date and time. Thephysical server name 1122 b represents the name of the physical server. The predictedCPU usage 1122 c represents predicted usage of a CPU. For example, if the future date andtime 1122 a is “2011/10/12 at 00:00:00”, the physical-server predicted information table 1122 stores therein “Server1” as thephysical server name 1122 b and “250” as the predictedCPU usage 1122 c. Specifically, if the future date and time is “2011/10/12 at 00:00:00”, the predicted CPU usage is “250” MHz in the physical server “Server1”. - A description will be given here by referring back to
FIG. 2 . The resourceshortage predicting unit 143 acquires, for eachphysical server 2, resource usage from the physical-server predicted information table 1122 and determines whether the acquired resource usage exceeds a threshold. If the resourceshortage predicting unit 143 determines that the resource usage exceeds the threshold, the resourceshortage predicting unit 143 determines that a resource shortage is predicted and calls the migrationsource determining unit 144, which will be described later. Here, the threshold is, for example, 80% of the upper limit of the resource usage; however, the threshold is not limited thereto. Any threshold may be used as long as it is a limit value with which a resource shortage is estimated. The upper limit of the resource usage is stored in the CPU usageupper limit 113 c that is associated with thephysical server 2 in theconfiguration information DB 113. The resource usage is stored in the predictedCPU usage 1122 c that is associated with the future date andtime 1122 a in the physical-server predicted information table 1122. Namely, the resourceshortage predicting unit 143 determines whether data in the predictedCPU usage 1122 c exceeds the threshold for the associated data in the future date andtime 1122 a. - The migration
source determining unit 144 specifies thevirtual machine 22 to be migrated from thephysical server 2 for which a resource shortage is predicted and determines a time point at which the migration to be performed on thephysical server 2. For example, the migrationsource determining unit 144 specifies a combination of thevirtual machines 22 that can eliminate a resource shortage by moving, at the time point at which the resource shortage occurs in thephysical server 2 for which the resource shortage is predicted, thevirtual machines 22 mounted on thephysical server 2, for which a resource shortage is predicted, to anotherphysical server 2. Hereinafter, this combination is referred to as a “move combination”. Furthermore, when a resource shortage occurs in thephysical server 2, if the resource usage of one of thevirtual machines 22 occupies a certain percentage (for example, 30% or more) of the resource usage of thephysical server 2, the migrationsource determining unit 144 excludes the subjectvirtual machine 22 from the target move combination. This is because, if migration is performed on the subjectvirtual machine 22, resource usage at the move destination may possibly run short. - Furthermore, from among the move combinations, the migration
source determining unit 144 specifies a move combination involving the smallest number ofvirtual machines 22. Consequently, the migrationsource determining unit 144 can minimize the effect of the migration on a task. - Furthermore, if there are multiple specified move combinations, the migration
source determining unit 144 uses a move combination that includes thevirtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum before a resource shortage occurs in thephysical server 2 for which a resource shortage is predicted. If multiple specified move combinations are present, the migrationsource determining unit 144 may also use a move combination in which the average of the resource usages is a minimum at the earliest time point. - Furthermore, if a single move combination is specified, the migration
source determining unit 144 uses one of thevirtual machines 22 included in this move combination as a virtual machine that is to be subjected to migration. Then, for one of the targetedvirtual machines 22 included in this move combination, the migrationsource determining unit 144 records thevirtual machines 22 in themigration information DB 114 starting with thevirtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum. Furthermore, the migrationsource determining unit 144 uses, as virtual machines to be subjected to migration, thevirtual machines 22 included in the move combination that was used when the move combinations are multiple. Then, for thevirtual machine 22 included in the move combinations, the migrationsource determining unit 144 records thevirtual machines 22 in themigration information DB 114 starting with thevirtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum. Namely, the time point at which resource usage is at a minimum corresponds to the time point at which migration is performed. Furthermore, the migrationsource determining unit 144 can perform migration earlier as the time point at which resource usage is at a minimum is reached earlier. - In the following, the data structure of the
migration information DB 114 will be described with reference toFIG. 7 .FIG. 7 is a schematic diagram illustrating an example of the data structure of a migration information DB. As illustrated inFIG. 7 , themigration information DB 114 stores therein, in an associated manner, a migration date andtime 114 a, a migration sourcephysical server name 114 b, a migration sourcevirtual machine name 114 c, a migration destinationphysical server name 114 d, and anexecution state 114 e. The migration date andtime 114 a represents the date and time when migration is performed. The migration sourcephysical server name 114 b represents the name of the physical server of the migration source. The migration sourcevirtual machine name 114 c represents the name of the virtual machine of the migration source. The migration destinationphysical server name 114 d represents the name of the physical server at the migration destination. Theexecution state 114 e represents the execution state of the migration. For example, the execution state includes “pre-execution” indicating that migration is before execution, “active” indicating that migration is active, “execution completion” indicating that migration is completed normally, and “non-completion” indicating that the migration is abnormal. For example, if the migration date andtime 114 a is “2011/10/12 at 5:25:00”, themigration information DB 114 stores therein “Server1” as the migration sourcephysical server name 114 b; “Gest1-1” as the migration sourcevirtual machine name 114 c; “Server5” as the migration destinationphysical server name 114 d; and “execution completion” as theexecution state 114 e. - The migration
destination determining unit 145 determines thephysical server 2 at the migration destination. For example, the migrationdestination determining unit 145 refers to themigration information DB 114 and determines whether there is a record in which the migration sourcevirtual machine name 114 c is set and the migration destinationphysical server name 114 d is not set. If the migrationdestination determining unit 145 determines that a target record is present, the migrationdestination determining unit 145 determines, for the target record, thephysical server 2 at the migration destination with respect to thevirtual machine 22 at the migration source. - Determining the
physical server 2 at the migration destination is performed, for example, as follows. The migrationdestination determining unit 145 specifies thephysical server 2 at the move destination whose resource usage does not exceed the threshold due to moving thevirtual machine 22 at the migration source. The same threshold used for the resource usage in the resourceshortage predicting unit 143 is used here. Furthermore, from among the specifiedphysical servers 2, the migrationdestination determining unit 145 determines, as thephysical server 2 at the migration destination, thephysical server 2 at the move destination whose resource usage is the closest to the threshold. - The migration
destination determining unit 145 acquires, for example, from the virtual-machine predicted information table 1121, the predicted resource usage of thevirtual machine 22 at the migration source. Furthermore, the migrationdestination determining unit 145 acquires, from the physical-server predicted information table 1122, the predicted resource usage for each of thephysical servers 2. Then, the migrationdestination determining unit 145 merges the predicted resource usage of thevirtual machine 22 with the predicted resource usage of each of thephysical servers 2. At this point, if the name of thephysical server 2 to be merged has already been stored in themigration information DB 114 as the physical server at the migration destination, the migrationdestination determining unit 145 also merges the predicted resource usage of thevirtual machine 22 at the move source. Then, from among the predicted resource usages that are merged for eachphysical server 2, the migrationdestination determining unit 145 determines whether there is a predicted resource usage exceeding the threshold. If the migrationdestination determining unit 145 determines that the predicted resource usage exceeding the threshold is present, the migrationdestination determining unit 145 excludes thephysical server 2 corresponding to this predicted resource usage from the migration destination. The reason for this is, if thisphysical server 2 is used as the migration destination, the resource usage of thephysical server 2 may possibly run short. Then, for thephysical server 2 whose resource usage does not exceed the threshold, the migrationdestination determining unit 145 calculates the difference between the predicted resource usage subjected to merging and the threshold. The difference is calculated every time point for a predicted time period (future date and time). Then, the migrationdestination determining unit 145 calculates the sum of the differences for the different time points for the predicted time period (hereinafter, referred to as a “difference sum”). Namely, the “difference sum” is represented by Equation (1) below: -
difference sum=threshold sum−(sum of predicted resource usages of a virtual machine at the migration source+sum of predicted resource usages of a physical server at the migration destination) Equation (1) - Then, the migration
destination determining unit 145 determines thephysical server 2 that has the minimum difference sum as the migration destination. The reason for using thephysical server 2 having the minimum difference sum as the migration destination is to use the resource with the maximum efficiency even after the migration is performed. Then, for thephysical server 2 determined to be used as the migration destination, the migrationdestination determining unit 145 records the name thereof and the execution state (“pre-execution”) in themigration information DB 114. - If the predicted resource usage of all of the
physical servers 2 exceeds the threshold, the migrationdestination determining unit 145 increases the threshold and re-performs the above process. - The migration
execution requesting unit 146 requests a migration to be executed at regular intervals. For example, the migrationexecution requesting unit 146 refers to themigration information DB 114 and determines whether, for each record, migration is needed. For example, if the migration date andtime 114 a have elapsed and if theexecution state 114 e is “pre-execution”, the migrationexecution requesting unit 146 determines that migration is needed. If the migrationexecution requesting unit 146 determines that the migration is needed, the migrationexecution requesting unit 146 requests the execution of the migration from thehypervisor 21 in thevirtual machine 22 at the migration source and thehypervisor 21 in thephysical server 2 at the migration destination. Then, the migrationexecution requesting unit 146 updates the execution state of the migration to theexecution state 114 e in themigration information DB 114. - Description of a process for creating predicted performance information
- In the following, the flow of creating predicted performance information in the predicted performance
information creating unit 142 will be described with reference toFIG. 10 .FIG. 10 is a schematic diagram illustrating the flow of creating predicted performance information in a predicted performance information creating unit. As illustrated inFIG. 10 , the predicted performanceinformation creating unit 142 performs three types of sampling for each of thevirtual machines 22 in thephysical server 2 by using the past resource usage stored in theperformance information DB 111. Here, the predicted performanceinformation creating unit 142 performs the “most recent sampling”, the “day-of-week sampling”, and the “date sampling”. Specifically, for the sampling target specified for each type of sampling, the predicted performanceinformation creating unit 142 performs the sampling on the resource usage. - Then, by using the resource usage that has been subjected to the sampling, the predicted performance
information creating unit 142 takes the absolute difference sum for each type of sampling and calculates the total value of these absolute difference sums. Then, by using the total value of the absolute difference sums, the predicted performanceinformation creating unit 142 determines the magnitude of variation of the three types of sampling and specifies the type of sampling having the smallest variation from among the three types of sampling. In this case, the magnitude of variation of the “most recent sampling”, the “day-of-week sampling”, and the “date sampling” are 250, 350, and 100, respectively. Consequently, the predicted performanceinformation creating unit 142 specifies the “date sampling” as the type of sampling having the smallest magnitude of variation. - Then, by using the resource usage of the sampling target of the specified “date sampling”, the predicted performance
information creating unit 142 calculates the average value of the resource usage at each collection time point. The predicted performanceinformation creating unit 142 records, as the predicted resource usage of the correspondingvirtual machine 22, the average value calculated at each collection time point in the virtual-machine predicted information table 1121 in the predictedperformance information DB 112. Furthermore, the predicted performanceinformation creating unit 142 calculates the total value of the predicted resource usage of all of thevirtual machines 22 in thephysical server 2 and records the total value as the predicted resource usage of thephysical server 2 in the physical-server predicted information table 1122 in the predictedperformance information DB 112. - Description of a Migration Source Determination Process
- In the following, determination of the migration source performed by the migration
source determining unit 144 will be described with reference toFIG. 11 .FIG. 11 is a schematic diagram illustrating the determination of a migration source performed by a migration source determining unit. InFIG. 11 , predicted resource usage is associated with a time point in a predicted time period for thephysical server 2 for which a resource shortage is predicted by the resourceshortage predicting unit 143. Furthermore, the predicted resource usage is associated with each of the virtual machines (Gest1-1, Gest1-2, and Gest1-3) in thephysical server 2 for which a resource shortage is predicted. - In
FIG. 11 , the X-axis represents time and the Y-axis represents predicted resource usage. Furthermore, t0 represents the predicted start time for the predicted time period and t9 represents the predicted end time for the predicted time period. InFIG. 11 , the predicted resource usage of thephysical server 2 exceeds the threshold at the time point t4. Namely, the time point of t4 corresponds to the time point of the resource shortage. - In this state, the migration
source determining unit 144 specifies a move combination of thevirtual machines 22 that can eliminate the resource shortage by moving, at the time point t4 at which the resource shortage occurs in thephysical server 2 for which the resource shortage is predicted, thevirtual machine 22 to anotherphysical server 2. However, if the predicted resource usage of one of thevirtual machines 22 occupies a certain percentage of the predicted resource usage of thephysical server 2 at the time point t4 (peak time) at which the resource shortage occurs in thephysical server 2, the migrationsource determining unit 144 excludes the subjectvirtual machine 22 from the move combination. In this example, the Gest1-1 is excluded because the predicted resource usage r41 at the peak time occupies a certain percentage of the predicted resource usage of thephysical server 2. Furthermore, because the predicted resource usages r42 and r43 of Gest1-2 and Gest1-3, respectively, at the peak time is greater than a shortage of the resource usage r40 of thephysical server 2, the Gest1-2 and the Gest1-3 are specified as the move combination. Consequently, the migrationsource determining unit 144 specifies a combination of {Gest1-2}, {Gest1-3}, and {Gest1-2, Gest1-3} as the move combination. - Then, from among the move combinations, the migration
source determining unit 144 specifies a move combination in which the number ofvirtual machines 22 included in the move combination is the minimum. In this example, the migrationsource determining unit 144 specifies {Gest1-2} and {Gest1-3}, each of which has a singlevirtual machine 22. - Then, because multiple move combinations are specified, the migration
source determining unit 144 uses the move combination that includes thevirtual machine 22 that has the earliest time point at which the predicted resource usage thereof is at a minimum before the time point t4 at which the resource shortage occurs in thephysical server 2. In this example, the time point at which the predicted resource usage of the Gest1-2 becomes the minimum (r2) is t2 and the time point at which the predicted resource usage of the Gest1-3 becomes the minimum (r1) is t1. Consequently, the migrationsource determining unit 144 uses the {Gest1-3} as the move combination having the earliest time point at which the predicted resource usage is at a minimum. Specifically, the migrationsource determining unit 144 determines that the virtual machine represented by Gest1-3 is the virtual machine at the migration source. The time point t1 corresponds to the time when migration is performed on the virtual machine represented by Gest1-3. - In the following, an example of addition to the
migration information DB 114 performed by the migrationsource determining unit 144 will be described with reference toFIG. 12 .FIG. 12 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration source determining unit. As illustrated inFIG. 12 , for thevirtual machines 22 that is included in the move combination and that is used as the migration source, the migrationsource determining unit 144 records, in themigration information DB 114, thevirtual machines 22 starting with thevirtual machine 22 that has the earliest time point at which predicted resource usage is a minimum. In this example, if thevirtual machine 22 included in the move combination is only the Gest1-3, the migrationsource determining unit 144 records, as the migration date and time, “2011/10/12 at 5:25:00”, which corresponds to the time point at which the predicted resource usage of the Gest1-3 is at a minimum. Furthermore, the migrationsource determining unit 144 records “Server1”, which is the name of the physical server that has the Gest1-3, as the migration source physical server name and records the “Gest1-3” as the migration source virtual machine name. - Description of the Migration Destination Determination Process
- In the following, an example of searching the
migration information DB 114 performed by the migrationdestination determining unit 145 will be described with reference toFIG. 13 .FIG. 13 is a schematic diagram illustrating an example of searching the migration information DB performed by the migration destination determining unit. As illustrated inFIG. 13 , the migrationdestination determining unit 145 refers to themigration information DB 114 and determines whether there is a record in which the migration sourcevirtual machine name 114 c is set and the migration destinationphysical server name 114 d is not set. If the migrationdestination determining unit 145 determines that the target record is present, the migrationdestination determining unit 145 determines, for the target record, thephysical server 2 at the migration destination with respect to thevirtual machine 22 at the migration source. In this example, because the migration destination physical server names are not set in the records associated with the migration source virtual machine names “Gest3-1” and “Gest4-2”, the migrationdestination determining unit 145 determines that target records are present. Then, the migrationdestination determining unit 145 determines, for the target records, thephysical servers 2 at the migration destination with respect to the migration source virtual machine names “Gest3-1” and “Gest4-2”, respectively. - In the following, a difference sum calculated by the migration
destination determining unit 145 will be described with reference toFIG. 14 .FIG. 14 is a schematic diagram illustrating a difference sum calculated by the migration destination determining unit. In each graph inFIG. 14 , the X-axis represents time and the Y-axis represents predicted resource usage. The symbol m1 represents the sum of the thresholds of the resource usage for a predicted time period. The symbol m2 represents the sum of the predicted resource usage of thevirtual machine 22 at the migration source for a predicted time period. The symbol m3 represents the sum of the predicted resource usage of thephysical server 2 at the migration destination for a predicted time period. In such a case, the migrationdestination determining unit 145 calculates the difference sum by subtracting (m2+m3) from m1. Then, the migrationdestination determining unit 145 determines thephysical server 2 that has the minimum difference sum as the physical server at the migration destination. The reason for this is thephysical server 2 having the minimum difference sum can efficiently use the resource. - In the following, an example of addition to the
migration information DB 114 performed by the migrationdestination determining unit 145 will be described with reference toFIG. 15 .FIG. 15 is a schematic diagram illustrating an example of addition to the migration information DB performed by the migration destination determining unit. InFIG. 15 , a description is given of a case in which the migrationdestination determining unit 145 determines that thephysical server 2 at the migration destination, which is associated with the migration source virtual machine name “Gest3-1”, is “Server6”. As illustrated inFIG. 15 , in themigration information DB 114, the migrationdestination determining unit 145 records the “Server6” in the migration destinationphysical server name 114 d that is associated with the virtual machine name “Gest3-1” at the migration source. Furthermore, in themigration information DB 114, the migrationdestination determining unit 145 records “pre-execution” in themigration execution state 114 e that is associated with the virtual machine name “Gest3-1” at the migration source. - Description of the Migration Execution Requesting Process
- In the following, an example of searching the
migration information DB 114 performed by the migrationexecution requesting unit 146 will be described with reference toFIG. 16 .FIG. 16 is a schematic diagram illustrating an example of searching the migration information DB performed by a migration execution requesting unit. As illustrated inFIG. 16 , the migrationexecution requesting unit 146 refers to themigration information DB 114 and determines, for each record, whether migration is needed. In this example, theexecution state 114 e of a record n1 having the migration destinationphysical server name 114 d of “Server7” is “pre-execution”. Consequently, if the current time has already passed the migration date andtime 114 a of “2011/10/12 at 7:28:00”, the migrationexecution requesting unit 146 determines that a migration is needed. - In the following, a shift of the execution state of the
migration information DB 114 performed by the migrationexecution requesting unit 146 will be described with reference toFIG. 17 .FIG. 17 is a schematic diagram illustrating a shift of the execution state of the migration information DB performed by the migration execution requesting unit. As illustrated in the upper portion ofFIG. 17 , “pre-execution” is set in a record in theexecution state 114 e that is associated with the migration destinationphysical server name 114 d of “Server7”. - For this record, if the migration
execution requesting unit 146 determines that a migration is needed, the migrationexecution requesting unit 146 updates theexecution state 114 e to “active”, as illustrated in the middle portion ofFIG. 17 . Then, the migrationexecution requesting unit 146 requests the execution of migration from thehypervisor 21 for thevirtual machines 22 at the migration source and requests the execution of migration from thehypervisor 21 in thephysical server 2 at the migration destination. If the result of the execution request indicates that the migration is successful, the migrationexecution requesting unit 146 updates theexecution state 114 e to “execution completion”, as illustrated in the lower portion ofFIG. 17 . If the result of the execution request indicates that the migration is not successful, the migrationexecution requesting unit 146 updates theexecution state 114 e to “not-yet completed”. - Flow of the main process performed by the migration control unit In the following, the flow of a migration control process performed by the
migration control unit 14 will be described with reference toFIGS. 18 to 25 .FIG. 18 is a flowchart illustrating the flow of a main process performed by a migration control unit according to the embodiment. - First, the
main processing unit 141 determines whether a regular interval (for example, five minutes) has elapsed (Step S11). If it is determined that a regular interval has not elapsed (No at Step S11), themain processing unit 141 repeats the determining process until the regular interval has elapsed. In contrast, if it is determined that the regular interval has elapsed (Yes at Step S11), themain processing unit 141 determines whether the current time is the time (for example, 0:00) to schedule a migration (Step S12). - If it is determined that that the current time is the time to schedule a migration (Yes at Step S12), the
main processing unit 141 creates the predicted resource usages of thevirtual machine 22 and the physical server 2 (Step S13). Themain processing unit 141 calls a predicted performance information creating process in the predicted performanceinformation creating unit 142. - Subsequently, the
main processing unit 141 predicts thephysical server 2 for which a resource shortage is predicted in the future and determines, for the predictedphysical server 2, thevirtual machines 22 at the migration source and the migration time (Step S14). Themain processing unit 141 calls the resource shortage prediction process in the resourceshortage predicting unit 143. - Then, the
main processing unit 141 determines thephysical server 2 at the migration destination to which the determinedvirtual machines 22 at the migration source are to be migrated (Step S15). Themain processing unit 141 calls the migration destination determination process in the migrationdestination determining unit 145. Then, themain processing unit 141 proceeds to Step S17. - At Step S12, if it is determined that that the current time is not the time to schedule a migration (No at Step S12), the
main processing unit 141 executes the migration (Step S16). Then, themain processing unit 141 calls the migration execution requesting process in the migrationexecution requesting unit 146 and proceeds to Step S17. - Then, the
main processing unit 141 determines whether to end the migration control (Step S17). If it is determined not to end the migration control (No at Step S17), themain processing unit 141 proceeds to Step S11. In contrast, if it is determined to end the migration control (Yes at Step S17), themain processing unit 141 ends the main process. - Flow of the Predicted Performance Information Creating Process Performed by the Migration Control Unit
-
FIG. 19 is a flowchart illustrating the flow of a creation process of the predicted performance information according to the embodiment. - The predicted performance
information creating unit 142 called by themain processing unit 141 determines whether predicted performance information has been created for all of the physical servers 2 (Step S21). If it is determined that predicted performance information has not been created for all of the physical server 2 (No at Step S21), the predicted performanceinformation creating unit 142 determines that thephysical server 2 whose performance information has not been created is targeted for the process (Step S22). - Then, the predicted performance
information creating unit 142 determines whether the predicted performance information has been created for all of thevirtual machines 22 in thephysical server 2 targeted for the process (Step S23). If it is determined that the predicted performance information has not been created for all of thevirtual machines 22 in thephysical server 2 targeted for the process (No at Step S23), the predicted performanceinformation creating unit 142 determines that thevirtual machine 22 for which performance information has not been created is targeted for the process (Step S24). - Subsequently, for resource usage, the predicted performance
information creating unit 142 acquires a single type of sampling (Step S25). For example, by using theCPU usage 111 d stored in theperformance information DB 111, the predicted performanceinformation creating unit 142 performs the sampling on the CPU usage of thevirtual machine 22 targeted for the process. One type of sampling is acquired one at a time from among the three types of sampling: “most recent sampling”, “day-of-week sampling”, and “date sampling”. - Then, by using the acquired sampling, the predicted performance
information creating unit 142 calculates an absolute difference sum (Step S26). For example, by using the CPU usage that is obtained at the same collection time point as that of the sampling target, which is defined by each type of sampling, the predicted performanceinformation creating unit 142 calculates the absolute difference sums. - Then, the predicted performance
information creating unit 142 determines whether the three types of sampling have been performed (Step S27). If it is determined that the three types of sampling have not been performed (No at Step S27), the predicted performanceinformation creating unit 142 proceeds to Step S25 in order to perform the next type of sampling. - In contrast, if it is determined that the three types of sampling has been completed (Yes at Step S27), the predicted performance
information creating unit 142 calculates the average value of the resource usages from the result of the type of sampling in which the total of the absolute difference sums is the minimum (Step S28). For example, the predicted performanceinformation creating unit 142 specifies the type of sampling in which the total absolute difference sum is the minimum. Then, by using the resource usage of each sampling target obtained from the specified type of sampling, the predicted performanceinformation creating unit 142 calculates the average value of the resource usages at each of the collection time points. The resource usage corresponds to theCPU usage 111 d in theperformance information DB 111. - Then, the predicted performance
information creating unit 142 records the calculation result in the virtual-machine predicted information table 1121 in the predicted performance information DB 112 (Step S29). The predicted performanceinformation creating unit 142 proceeds to Step S23 in order to perform a process on thevirtual machine 22 for which the predicted performance information has not been created. - At Step S23, if it is determined that the predicted performance information has been created for all of the
virtual machines 22 in thephysical server 2 targeted for the process (Yes at Step S23), the predicted performanceinformation creating unit 142 acquires the predicted resource usage of thephysical server 2 targeted for the process (Step S30). By adding up the predicted resource usages of all of thevirtual machines 22 in thephysical server 2 targeted for the process, the predicted performanceinformation creating unit 142 acquires the predicted resource usage of the targetedphysical server 2. - Then, the predicted performance
information creating unit 142 records the acquired predicted resource usage in the physical-server predicted information table 1122 in the predicted performance information DB 112 (Step S31). Then, the predicted performanceinformation creating unit 142 proceeds to Step S21 in order to process thephysical server 2 for which the predicted performance information has not been created. - At Step S21, if it is determined that the predicted performance information has been created for all of the physical servers 2 (Yes at Step S21), the predicted performance
information creating unit 142 ends the predicted performance information creating process. - Flow of the resource shortage prediction process performed by the migration control unit
-
FIG. 20 is a flowchart illustrating the flow of a resource shortage prediction process according to the embodiment. - The resource
shortage predicting unit 143 called by themain processing unit 141 determines whether a resource shortage has been predicted for all of the physical servers 2 (Step S41). If it is determined that a resource shortage has not been predicted for all of the physical servers 2 (No at Step S41), the resourceshortage predicting unit 143 selects thephysical server 2 for which a resource shortage thereof has not been predicted. Then, the resourceshortage predicting unit 143 acquires the predicted resource usage of the selectedphysical server 2 from the physical-server predicted information table 1122 (Step S42). The predicted resource usage corresponds to the predictedCPU usage 1121 d for each future date andtime 1121 a. - Subsequently, the resource
shortage predicting unit 143 determines whether the acquired predicted resource usage exceeds the threshold (Step S43). If it is determined that the acquired predicted resource usage exceeds the threshold (Yes at Step S43), the resourceshortage predicting unit 143 determines thevirtual machine 22 at the migration source in the selectedphysical server 2 and the migration date and time (Step S44). Consequently, the resource shortage of the selectedphysical server 2 is predicted. The resourceshortage predicting unit 143 calls the migration source determination process in the migrationsource determining unit 144. Then, the resourceshortage predicting unit 143 proceeds to Step S41 in order to select thephysical server 2 for which the resource usage has not been predicted. - In contrast, if it is determined that the acquired predicted resource usage does not exceed the threshold (No at Step S43), the resource
shortage predicting unit 143 proceeds to Step S41 in order to select thephysical server 2 for which the resource usage has not been predicted. At Step S41, if it is determined that the resource shortage of all of thephysical servers 2 has been predicted (Yes at Step S41), the resourceshortage predicting unit 143 ends the resource shortage prediction process. - Flow of the migration source determination process performed by the migration control unit
FIG. 21 is a flowchart illustrating the flow of a migration source determination process according to the embodiment. - The migration
source determining unit 144 called by the resourceshortage predicting unit 143 specifies a move combination of thevirtual machines 22 that eliminates the resource shortage of thephysical server 2 for which the resource shortage is predicted (Step S51). Then, the migrationsource determining unit 144 determines whether the number of the specified move combinations is one (Step S52). If it is determined that the number of the specified move combination is one (Yes at Step S52), the migrationsource determining unit 144 proceeds to Step S59. - In contrast, if it is determined that the number of the specified move combinations is not one (No at Step S52), the migration
source determining unit 144 determines whether all of the move combinations have been selected (Step S53). If it is determined that not all of the move combinations have been selected (No at Step S53), the migrationsource determining unit 144 selects a move combination that has not been selected (Step S54). - Then, for the selected move combinations, the migration
source determining unit 144 acquires the earliest time from among the times at which the resource usage of thevirtual machine 22 is at a minimum (Step S55). Then, the migrationsource determining unit 144 determines whether the time acquired from among the selected move combinations is earlier than the move time acquired from another move combination (Step S56). If it is determined that the time acquired from among the selected move combinations is later than the move time acquired from another move combination (No at Step S56), the migrationsource determining unit 144 proceeds to Step S53 in order to select a move combination that has not been selected. - In contrast, if it is determined that the time acquired from among the selected move combinations is earlier than the move time acquired from another move combination (Yes at Step S56), the migration
source determining unit 144 acquires the time acquired from among the selected move combinations as the move time (Step S57). Then, the migrationsource determining unit 144 retains the selected move combination (Step S58) and proceeds to Step S53 in order to select a move combination that has not been selected. - At Step S53, if it is determined that all of the move combinations have been selected (Yes at Step S53), the migration
source determining unit 144 proceeds to Step S59. At Step S59, for all of thevirtual machines 22 in the move combinations, the migrationsource determining unit 144 records thevirtual machines 22 in themigration information DB 114 starting with thevirtual machine 22 that has the earliest time point at which resource usage is a minimum (Step S59). Then, the migrationsource determining unit 144 ends the migration source determination process. - Flow of a Process for Specifying a Move Combination of the Virtual Machines
- In the following, the process performed at S51 illustrated in
FIG. 21 will be described with reference toFIG. 22 .FIG. 22 is a flowchart illustrating the flow of a process for specifying a move combination of a virtual machine. - The migration
source determining unit 144 determines whether all of thevirtual machines 22 in thephysical server 2 for which a resource shortage is predicted have been selected (Step S61). If it is determined that not all of thevirtual machines 22 in thephysical server 2 for which the resource shortage is predicted have been selected (No at Step S61), the migrationsource determining unit 144 selects thevirtual machine 22 that has not been selected (Step S62). - Then, the migration
source determining unit 144 determines whether the resource usage at the peak time of the selectedvirtual machine 22 is less than a predetermined value (Step S63). The predetermined value is a value corresponding to a certain percentage (for example, 30%) of the upper limit of the resource usage of thephysical server 2 for which the resource shortage is predicted. If it is determined that the resource usage at the peak time of the selectedvirtual machine 22 is greater than a predetermined value (No at Step S63), the migrationsource determining unit 144 excludes the selectedvirtual machine 22. Then, the migrationsource determining unit 144 proceeds to Step S61 in order to select thevirtual machine 22 that has not been selected. - In contrast, if it is determined that the resource usage at the peak time of the selected
virtual machine 22 is less than a predetermined value (Yes at Step S63), the migrationsource determining unit 144 specifies the selected virtual machine 22 (Step S64). Then, the migrationsource determining unit 144 proceeds to Step S61 in order to select one of thevirtual machines 22 that has not been selected. - At Step S61, if it is determined that all of the
virtual machines 22 in thephysical server 2 for which a resource shortage is predicted have been selected (Yes at Step S61), the migrationsource determining unit 144 calculates the resource usage of thephysical server 2 that is predicted to be in short supply (Step S65). Namely, the migrationsource determining unit 144 calculates the difference between the threshold and the resource usage at the peak time of thephysical server 2 for which the resource shortage is predicted. Then, the migrationsource determining unit 144 acquires the combinations of all of the specified virtual machines 22 (all combinations) (Step S66). - Subsequently, the migration
source determining unit 144 determines whether all of the combinations have been selected (Step S67). If it is determined that not all of the combinations are selected (No at Step S67), the migrationsource determining unit 144 selects the combination that has not been selected (Step S68). Then, the migrationsource determining unit 144 calculates the total value of the resource usages at the peak time of all of thevirtual machines 22 that have been selected in the combinations (Step S69). - Then, the migration
source determining unit 144 determines whether the calculated total value is greater than the resource usage that is predicted to be in short supply (Step S70). If it is determined that the calculated total value is greater than the resource usage that is predicted to be in short supply (Yes at Step S70), the migrationsource determining unit 144 acquires the selected combination as a candidate move combination (Step S71). The reason for this is that the migrationsource determining unit 144 determined that the resource shortage can be eliminated of thephysical server 2 for which the resource shortage is predicted. Then, the migrationsource determining unit 144 proceeds to Step S67 in order to select a combination that has not been selected. - In contrast, if it is determined that the calculated total value is not greater than the resource usage that is predicted to be in short supply (No at Step S70), the migration
source determining unit 144 proceeds to Step S67 in order to select a combination that has not been selected. The reason for this is that the migrationsource determining unit 144 determines the resource shortage is not eliminated of thephysical server 2 for which the resource shortage is predicted. - At Step S67, if it is determined that all of the combinations have been selected (Yes at Step S67), the migration
source determining unit 144 determines whether all of the candidate move combinations have been selected (Step S72). If it is determined that not all of the candidate move combinations have been selected (No at Step S72), the migrationsource determining unit 144 selects a candidate move combination that has not been selected (Step S73). - Then, the migration
source determining unit 144 determines whether the number of components (the number of virtual machines) of the selected candidate move combination is the minimum (Step S74). If it is determined that the number of components (the number of virtual machines) of the selected candidate move combination is the minimum (Yes at Step S74), the migrationsource determining unit 144 specifies this combination as the move combination (Step S75). Then, the migrationsource determining unit 144 proceeds to Step S72 in order to select a candidate move combination that has not been selected. - In contrast, if it is determined that the number of components (the number of virtual machines) of the selected candidate move combination is not the minimum (No at Step S74), the migration
source determining unit 144 proceeds to Step S72 in order to select a candidate move combination that has not been selected. - At Step S72, if it is determined that all of the candidate move combinations have been selected (Yes at Step S72), the migration
source determining unit 144 ends the process for specifying the move combination of the virtual machines. - Flow of the Migration Destination Determination Process Performed by the Migration Control Unit
-
FIG. 23 is a flowchart illustrating the flow of a migration destination determination process according to the embodiment. - The migration
destination determining unit 145 called by themain processing unit 141 determines whether all of the definitions (records) in themigration information DB 114 have been selected (Step S81). If it is determined that not all of the definitions in themigration information DB 114 have been selected (No at Step S81), the migrationdestination determining unit 145 selects a definition that has not been selected (Step S82). - Then, for the selected definition, the migration
destination determining unit 145 determines whether thephysical server 2 at the migration destination has not been set (Step S83). If it is determined that thephysical server 2 at the migration destination is not a not-yet set server, i.e., thephysical server 2 at the migration destination has been set (No at Step S83), the migrationdestination determining unit 145 proceeds to Step S81 in order to select a definition that has not been selected. In contrast, if it is determined that thephysical server 2 at the migration destination has not been set (Yes at Step S83), the migrationdestination determining unit 145 acquires, from the virtual-machine predicted information table 1121, the predicted resource usage of one of thevirtual machines 22 at the move source (Step S84). - Subsequently, the migration
destination determining unit 145 determines whether all of the physical servers have been selected (Step S85). If it is determined that not all of the physical servers have been selected (No at Step S85), the migrationdestination determining unit 145 selects one of thephysical servers 2 that has not been selected (Step S86). Then, the migrationdestination determining unit 145 acquires the predicted resource usage of the selected physical server 2 (migration destination candidate) (Step S87). - Then, the migration
destination determining unit 145 merges the predicted resource usage of thevirtual machine 22 at the move source with the predicted resource usage of the selected physical server 2 (Step S88). Then, the migrationdestination determining unit 145 determines whether the merged predicted resource usage has exceeded the threshold (Step S89). If it is determined that the merged predicted resource usage has not exceeded the threshold (No at Step S89), the migrationdestination determining unit 145 calculates the difference sum between the merged predicted resource usage and the threshold (Step S90). - Then, the migration
destination determining unit 145 compares the difference sum of the already selectedphysical server 2 with the difference sum of thephysical server 2 that is selected this time and then determines that thephysical server 2 having the smaller difference sum as the migration destination (Step S91). Then, the migrationdestination determining unit 145 proceeds to Step S85 in order to select a physical server that has not been selected. - In contrast, if it is determined that the merged predicted resource usage has exceeded the threshold (Yes at Step S89), the migration
destination determining unit 145 excludes the selectedphysical server 2 from the migration destination. Then, the migrationdestination determining unit 145 proceeds to Step S85 in order to select a physical server that has not been selected. - At Step S85, if it is determined that all of the physical servers have been selected (Yes at Step S85), the migration
destination determining unit 145 determines whether thephysical server 2 at the migration destination has been determined (Step S92). If it is determined that thephysical server 2 at the migration destination has not been determined (No at Step S92), the migrationdestination determining unit 145 proceeds to Step S81 in order to select a definition that has not been selected. - In contrast, if it is determined that the
physical server 2 at the migration destination has been determined (Yes at Step S92), the migrationdestination determining unit 145 records the physical server name at the migration destination in the migration information DB 114 (Step S93). Then, the migrationdestination determining unit 145 proceeds to Step S81 in order to select a definition that has not been selected. - At Step S81, if it is determined that all of the definitions in the
migration information DB 114 are selected (Yes at Step S81), the migrationdestination determining unit 145 ends the migration destination determination process. - In the following, the process performed at S87 illustrated in
FIG. 23 will be described with reference toFIG. 24 .FIG. 24 is a flowchart illustrating the flow of a process for acquiring the predicted resource usage of a physical server. - The migration
destination determining unit 145 acquires, from the physical-server predicted information table 1122, the predicted resource usage of a physical server (migration destination candidate) (Step S101). - Subsequently, the migration
destination determining unit 145 determines whether all of thephysical servers 2 that are already registered in the migration destinationphysical server name 114 d in themigration information DB 114 have been selected (Step S102). If it is determined that not all of thephysical servers 2 that are already registered in themigration information DB 114 have been selected (No at Step S102), the migrationdestination determining unit 145 selects one of thephysical servers 2 that has not been selected (Step S103). - Then, the migration
destination determining unit 145 determines whether the selectedphysical server 2 is the same as that at the migration destination candidate (Step S104). If it is determined that the selectedphysical server 2 is the same as that at the migration destination candidate (Yes at Step S104), the migrationdestination determining unit 145 corrects the predicted resource usage of the migration destination candidate (Step S105). Specifically, the migrationdestination determining unit 145 merges the acquired predicted resource usage of thephysical server 2 at the migration destination candidate with the predicted resource usage of thevirtual machine 22 that has already been registered in themigration information DB 114 and that is to be moved to the targetphysical server 2. Then, the migrationdestination determining unit 145 proceeds to Step S102 in order to select one of thephysical servers 2 that has not been selected. - In contrast, if it is determined that the selected
physical server 2 is not the same physical server as that at the migration destination candidate (No at Step S104), the migrationdestination determining unit 145 proceeds to Step S102 in order to select one of thephysical servers 2 that has not been selected. - At Step S102, if it is determined that all of the
physical servers 2 that are already registered in themigration information DB 114 have been selected (Yes at Step S102), the migrationdestination determining unit 145 returns the predicted resource usage at the migration destination candidate to the migration source. - Flow of the Migration Execution Requesting Process Performed by the Migration Control Unit
-
FIG. 25 is a flowchart illustrating the flow of a migration execution requesting process according to the embodiment. - The migration
execution requesting unit 146 called by themain processing unit 141 determines whether all of the definitions (records) in themigration information DB 114 have been selected (Step S111). If it is determined that not all of the definitions in themigration information DB 114 have not been selected (No at Step S111), the migrationexecution requesting unit 146 selects a definition in themigration information DB 114 that has not been selected (Step S112). - Subsequently, for the selected definition, the migration
execution requesting unit 146 determines whether a migration is needed (Step S113). Specifically, for the selected definition, the migrationexecution requesting unit 146 determines whether the migration date andtime 114 a have elapsed and theexecution state 114 e is “pre-execution”. If the migration date andtime 114 a have elapsed and theexecution state 114 e is “pre-execution”, the migrationexecution requesting unit 146 determines that a migration is needed. - If it is determined that a migration is needed (Yes at Step S113), the migration
execution requesting unit 146 updates, for the selected definition, theexecution state 114 e in themigration information DB 114 to “active” (Step S114). Then, the migrationexecution requesting unit 146 requests the execution of a migration from thehypervisor 21 for thevirtual machine 22 at the migration source and requests the execution of a migration from thehypervisor 21 in thephysical server 2 at the migration destination (Step S115). - After the migration has been executed, for the definition that is migrated normally or that has been selected, the migration
execution requesting unit 146 updates theexecution state 114 e in themigration information DB 114 to “execution completion” (Step S116). Furthermore, if the migration is abnormal, the migrationexecution requesting unit 146 updates, for the selected definition, theexecution state 114 e in themigration information DB 114 to “non-completion”. Then, the migrationexecution requesting unit 146 proceeds to Step S111 in order to select the definition that has not been selected. - At Step S113, if it is determined that a migration is not needed, the migration
execution requesting unit 146 proceeds to Step S111 in order to select a definition that has not been selected. - At Step S111, if it is determined that all of the definitions in the
migration information DB 114 have been selected (Yes at Step S111), the migrationexecution requesting unit 146 ends the migration execution requesting process. - According to the embodiment described above, the
management server 1 predicts a resource shortage, predicted to occur for a predetermined time period, in thephysical server 2 that includes multiplevirtual machines 22. Then, themanagement server 1 specifies thevirtual machines 22 that can eliminate the resource shortage by moving, at the time point at which the predicated resource shortage occurs, thevirtual machines 22 included in thephysical server 2, for which the resource shortage is predicted, to anotherphysical server 2. Then, on the basis of the resource usage of the specifiedvirtual machines 22 for the predetermined time period and the time point that is associated with the resource usage, themanagement server 1 moves the specifiedvirtual machines 22 to the otherphysical server 2. With this configuration, themanagement server 1 can eliminate a resource shortage at a time point at which the resource shortage of thephysical server 2 is predicted. Consequently, it possible to prevent the operation of the targetphysical server 2 from being unstable. - Furthermore, according to the embodiment described above, if a resource shortage is eliminated by moving multiple
virtual machines 22, themanagement server 1 specifies a move combination of thevirtual machines 22 such that the number of the multiplevirtual machines 22 with which the resource shortage can be eliminated is the minimum. With this configuration, because themanagement server 1 specifies the move combination of thevirtual machines 22 such that the number of the multiplevirtual machines 22 with which the resource shortage can be eliminated is the minimum, it is possible to promptly move thevirtual machines 22 of the specified move combination to the otherphysical server 2. Consequently, themanagement server 1 can minimize the effect on a task at the time of moving. - Furthermore, according to the embodiment described above, if there are multiple move combinations, the
management server 1 specifies a move combination that includes thevirtual machine 22 that has the earliest time point at which the resource usage thereof is at a minimum before a resource shortage occurs in thephysical server 2 for which a resource shortage is predicted. With this configuration, themanagement server 1 can safely move thevirtual machines 22 included in the specified move combination before the resource shortage occurs in thephysical server 2 for which the resource shortage is predicted. - Furthermore, according to the embodiment described above, the
management server 1 moves thevirtual machines 22 to the otherphysical server 2 at the time point at which the resource usage of thevirtual machines 22 that are specified to be moved is at a minimum. With this configuration, themanagement server 1 can promptly move thevirtual machines 22 specified to be moved to the otherphysical server 2. Consequently, themanagement server 1 can minimize the effect on a task at the time of moving. - Furthermore, according to the embodiment described above, the
management server 1 determines, as the move destination, thephysical server 2 whose resource usage after thevirtual machines 22 specified to be moved are moved does not exceed the upper limit that the resource shortage is determined to be and whose resource usage is the closest to the upper limit. Then, themanagement server 1 moves thevirtual machines 22, which are specified to be moved, to the determined move destination. With this configuration, if themanagement server 1 moves thevirtual machines 22, which are specified to be moved, to thephysical server 2 that is determined as the move destination, the resource of thephysical server 2 at the move destination can be efficiently used. - Program, etc.
- Furthermore, the
management server 1 can be implemented by installing the functions of units described above, such as themigration control unit 14 and the storingunit 11, in an information processing apparatus, such as a known personal computer and a workstation. - The components of each unit illustrated in the drawings are not always physically configured as illustrated in the drawings. In other words, the specific shape of a separate or integrated unit is not limited to the drawings; however, all or part of the unit can be configured by functionally or physically separating or integrating any of the units depending on various loads or use conditions. For example, the
migration control unit 14, the performanceinformation collecting unit 12, and the configurationinformation collecting unit 13 may also be integrated as a single unit. In contrast, the migrationsource determining unit 144 may also be separated by dividing it into a specifying unit that specifies move combinations and a using unit that uses an optimum move combination from among the specified move combination. Furthermore, the storingunit 11, such as theperformance information DB 111, may also be an external unit of themanagement server 1 and connected via a network. - The various processes described in the embodiments can be implemented by a program prepared in advance and executed by a computer such as a personal computer or a workstation. Accordingly, in the following, a computer that executes migration control program having the same function as that performed by the
management server 1 illustrated inFIG. 2 will be described.FIG. 26 is a block diagram illustrating an example of a computer that executes a migration control program. - As illustrated in
FIG. 26 , acomputer 200 includes aCPU 203 that executes various arithmetic processing, aninput device 215 that receives an input of data from a user, and adisplay control unit 207 that controls adisplay 209. Furthermore, thecomputer 200 includes adisk drive 213 that reads a program or the like from a storage medium, and acommunication control unit 217 that receives/transmits data between other computers via a network. Furthermore, thecomputer 200 includes amemory 201 that temporarily stores therein various kinds of information and anHDD 205. Thememory 201, theCPU 203, theHDD 205, thedisplay control unit 207, thedisk drive 213, theinput device 215, and thecommunication control unit 217 are connected via abus 219. - The
disk drive 213 is, for example, a device used for aremovable disk 211. TheHDD 205 stores therein amigration control program 205 a, a performanceinformation collection program 205 b, a configurationinformation collection program 205 c, and migration controlrelated information 205 d. - The
CPU 203 reads themigration control program 205 a and loads it in thememory 201. Themigration control program 205 a functions as amigration control process 201 a. Furthermore, theCPU 203 reads the performanceinformation collection program 205 b and loads it in thememory 201. The performanceinformation collection program 205 b functions as a performanceinformation collection process 201 b. Furthermore, theCPU 203 reads the configurationinformation collection program 205 c and loads it in thememory 201. The configurationinformation collection program 205 c functions as a configurationinformation collection process 201 c. - The
migration control process 201 a, for example, corresponds to each of the functioning units in themigration control unit 14. The performanceinformation collection process 201 b corresponds to the performanceinformation collecting unit 12. The configurationinformation collection process 201 c corresponds to the configurationinformation collecting unit 13. The migration controlrelated information 205 d corresponds to theperformance information DB 111, the predictedperformance information DB 112, theconfiguration information DB 113, and themigration information DB 114. - Furthermore, each of the
programs HDD 205 from the beginning. For example, each program may be stored in a “portable physical medium”, such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optic disk, or an IC card, that is to be inserted into thecomputer 200. Then, thecomputer 200 may read and execute each of theprograms - According to an aspect of a program disclosed in the present invention, it is possible to prevent the operation of a physical server for which the resource usage is predicted from being unstable in the future.
- All examples and conditional language recited herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Claims (7)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-142402 | 2012-06-25 | ||
JP2012142402A JP6044131B2 (en) | 2012-06-25 | 2012-06-25 | Program, management server, and virtual machine migration control method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130346973A1 true US20130346973A1 (en) | 2013-12-26 |
US9378056B2 US9378056B2 (en) | 2016-06-28 |
Family
ID=49775569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/868,474 Active 2033-12-27 US9378056B2 (en) | 2012-06-25 | 2013-04-23 | Management server, and virtual machine move control method |
Country Status (2)
Country | Link |
---|---|
US (1) | US9378056B2 (en) |
JP (1) | JP6044131B2 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140201732A1 (en) * | 2013-01-14 | 2014-07-17 | Cisco Technology, Inc. | Detection of Unauthorized Use of Virtual Resources |
US20140223430A1 (en) * | 2011-04-07 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for moving a software object |
US20150007178A1 (en) * | 2013-06-28 | 2015-01-01 | Kabushiki Kaisha Toshiba | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium |
US20150220371A1 (en) * | 2013-03-04 | 2015-08-06 | Rongzhen Yang | Energy aware information processing framework for computation and communication devices coupled to a cloud |
US20150242159A1 (en) * | 2014-02-21 | 2015-08-27 | Red Hat Israel, Ltd. | Copy-on-write by origin host in virtual machine live migration |
US20150295790A1 (en) * | 2014-04-09 | 2015-10-15 | International Business Machines Corporation | Management of virtual machine resources in computing environments |
US20150355924A1 (en) * | 2014-06-07 | 2015-12-10 | Vmware, Inc. | Decentralized Demand-Based Virtual Machine Migration Management |
CN106155782A (en) * | 2015-04-09 | 2016-11-23 | 联想(北京)有限公司 | Virtual machine migration method and device |
US20160350147A1 (en) * | 2015-05-28 | 2016-12-01 | Fujitsu Limited | Control method and control device |
US9600321B1 (en) * | 2015-08-24 | 2017-03-21 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US20170366602A1 (en) * | 2016-06-21 | 2017-12-21 | Kabushiki Kaisha Toshiba | Server apparatus, information processing method, and computer program product |
US9858068B2 (en) | 2010-06-22 | 2018-01-02 | Hewlett Packard Enterprise Development Lp | Methods and systems for planning application deployment |
KR101820269B1 (en) | 2017-07-21 | 2018-01-18 | 건국대학교 산학협력단 | Method and system for migration |
US20180181428A1 (en) * | 2015-06-23 | 2018-06-28 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
CN108255576A (en) * | 2017-12-08 | 2018-07-06 | 上海陆家嘴国际金融资产交易市场股份有限公司 | Live migration of virtual machine abnormality eliminating method, device and storage medium |
CN108287749A (en) * | 2018-01-11 | 2018-07-17 | 郑州云海信息技术有限公司 | A kind of data center's total management system cloud resource dispatching method |
US10091072B2 (en) | 2014-04-09 | 2018-10-02 | International Business Machines Corporation | Management of virtual machine placement in computing environments |
US10346201B2 (en) * | 2016-06-15 | 2019-07-09 | International Business Machines Corporation | Guided virtual machine migration |
US10346426B2 (en) * | 2015-08-10 | 2019-07-09 | Fujitsu Limited | System-replication control apparatus and system-replication control method |
US20190327159A1 (en) * | 2018-04-20 | 2019-10-24 | Nutanix, Inc. | Systems and methods for identifying and displaying logon duration metrics |
US10740157B2 (en) * | 2018-06-05 | 2020-08-11 | International Business Machines Corporation | Cache load balancing in a virtual input/output server |
FR3094812A1 (en) * | 2019-04-08 | 2020-10-09 | Orange | Method and device for migrating a virtualized function in the event of a failure of the technical server environment |
US10838754B2 (en) | 2018-04-27 | 2020-11-17 | Nutanix, Inc. | Virtualized systems having hardware interface services for controlling hardware |
US11010186B2 (en) | 2017-09-22 | 2021-05-18 | Fujitsu Limited | Non-transitory computer-readable recording medium, adjustment device, and adjustment method |
US11068314B2 (en) | 2017-03-29 | 2021-07-20 | Juniper Networks, Inc. | Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment |
US11074103B2 (en) | 2018-11-01 | 2021-07-27 | Fujitsu Limited | Scheduling method and scheduling device |
US20210278986A1 (en) * | 2020-03-04 | 2021-09-09 | Hitachi, Ltd. | Management system and management method for infrastructure system |
US11140039B2 (en) * | 2013-09-26 | 2021-10-05 | Appformix Inc. | Policy implementation and management |
US11144306B2 (en) | 2018-01-16 | 2021-10-12 | Nutanix, Inc. | Scheduling upgrades in distributed computing systems |
US11212159B2 (en) * | 2014-04-03 | 2021-12-28 | Centurylink Intellectual Property Llc | Network functions virtualization interconnection gateway |
US11240128B2 (en) | 2017-03-29 | 2022-02-01 | Juniper Networks, Inc. | Policy controller for distributed virtualization infrastructure element monitoring |
US11256541B2 (en) * | 2019-02-08 | 2022-02-22 | Fujitsu Limited | Rescheduling of virtual machine migrations with less impact on an existing migration schedule |
US11323327B1 (en) | 2017-04-19 | 2022-05-03 | Juniper Networks, Inc. | Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles |
US11658874B2 (en) | 2015-07-29 | 2023-05-23 | Juniper Networks, Inc. | Assessment of operational states of a computing environment |
US11907770B2 (en) * | 2019-09-19 | 2024-02-20 | Huawei Cloud Computing Technologies Co., Ltd. | Method and apparatus for vectorized resource scheduling in distributed computing systems using tensors |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6331549B2 (en) * | 2014-03-25 | 2018-05-30 | 日本電気株式会社 | Virtual machine management apparatus, virtual machine management method, and virtual machine management system |
JP6550822B2 (en) * | 2015-03-20 | 2019-07-31 | 日本電気株式会社 | Information processing resource management device, information processing resource management method, and information processing resource management program |
JP6451497B2 (en) * | 2015-05-20 | 2019-01-16 | 富士通株式会社 | Information processing apparatus, information processing program, and data center system |
JP6319770B2 (en) * | 2015-07-27 | 2018-05-09 | 日本電信電話株式会社 | Container migration system and method |
JP6724631B2 (en) * | 2016-07-27 | 2020-07-15 | 富士ゼロックス株式会社 | Information processing device and program |
JP6741941B2 (en) * | 2016-08-16 | 2020-08-19 | 富士通株式会社 | Virtual machine management program, virtual machine management method, and virtual machine management apparatus |
KR102062157B1 (en) * | 2019-04-29 | 2020-01-03 | 오케스트로 주식회사 | Vitual machine placement method and virtual machine placement device implementing the same |
KR102135209B1 (en) * | 2019-08-19 | 2020-07-17 | 오케스트로 주식회사 | Virtual machine placement simulation method and virtual machine placement simulation device implementing the same |
KR102135208B1 (en) * | 2019-07-31 | 2020-07-17 | 오케스트로 주식회사 | Virtual machine placement method using scheduling and virtual machine placement device implementing the same |
KR102316749B1 (en) * | 2019-07-31 | 2021-10-25 | 오케스트로 주식회사 | Virtual machine workload prediction method, virtual machine placement method and virtual machine placement device implementing the same |
KR102347371B1 (en) * | 2019-08-19 | 2022-01-05 | 오케스트로 주식회사 | Virtual machine placement simulation method using deep learning and virtual machine placement simulation device implementing the same |
JP7010272B2 (en) * | 2019-10-08 | 2022-01-26 | 横河電機株式会社 | Real-time communication processing system and real-time communication processing method |
KR102126434B1 (en) * | 2019-12-27 | 2020-06-25 | 오케스트로 주식회사 | Vitual machine placement method through workload prediction using deep learning and virtual machine placement device implementing the same |
US11539635B2 (en) | 2021-05-10 | 2022-12-27 | Oracle International Corporation | Using constraint programming to set resource allocation limitations for allocating resources to consumers |
US20230128199A1 (en) * | 2021-10-27 | 2023-04-27 | Oracle International Corporation | Telemetry data filter |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295096A1 (en) * | 2007-05-21 | 2008-11-27 | International Business Machines Corporation | DYNAMIC PLACEMENT OF VIRTUAL MACHINES FOR MANAGING VIOLATIONS OF SERVICE LEVEL AGREEMENTS (SLAs) |
US20090300173A1 (en) * | 2008-02-29 | 2009-12-03 | Alexander Bakman | Method, System and Apparatus for Managing, Modeling, Predicting, Allocating and Utilizing Resources and Bottlenecks in a Computer Network |
US20090307597A1 (en) * | 2008-03-07 | 2009-12-10 | Alexander Bakman | Unified management platform in a computer network |
US20090327781A1 (en) * | 2008-06-30 | 2009-12-31 | Sun Microsystems, Inc. | Method and system for power management in a virtual machine environment without disrupting network connectivity |
US20100169253A1 (en) * | 2008-12-27 | 2010-07-01 | Vmware, Inc. | Artificial neural network for balancing workload by migrating computing tasks across hosts |
US20100175070A1 (en) * | 2007-05-24 | 2010-07-08 | Teruyuki Baba | Virtual machine managing device, virtual machine managing method, and virtual machine managing program |
US20100242045A1 (en) * | 2009-03-20 | 2010-09-23 | Sun Microsystems, Inc. | Method and system for allocating a distributed resource |
US20110099267A1 (en) * | 2009-10-27 | 2011-04-28 | Vmware, Inc. | Resource Optimization and Monitoring in Virtualized Infrastructure |
US20120131174A1 (en) * | 2010-11-23 | 2012-05-24 | Red Hat Inc. | Systems and methods for identifying usage histories for producing optimized cloud utilization |
US20120137293A1 (en) * | 2004-05-08 | 2012-05-31 | Bozek James J | Dynamic migration of virtual machine computer programs upon satisfaction of conditions |
US20120198447A1 (en) * | 2011-01-31 | 2012-08-02 | International Business Machines Corporation | Determining an allocation configuration for allocating virtual machines to physical machines |
US20120246638A1 (en) * | 2011-03-22 | 2012-09-27 | International Business Machines Corporation | Forecasting based service assignment in cloud computing |
US20130086272A1 (en) * | 2011-09-29 | 2013-04-04 | Nec Laboratories America, Inc. | Network-aware coordination of virtual machine migrations in enterprise data centers and clouds |
US20130263117A1 (en) * | 2012-03-28 | 2013-10-03 | International Business Machines Corporation | Allocating resources to virtual machines via a weighted cost ratio |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3861087B2 (en) | 2003-10-08 | 2006-12-20 | 株式会社エヌ・ティ・ティ・データ | Virtual machine management apparatus and program |
JP4894745B2 (en) | 2007-12-14 | 2012-03-14 | 富士通株式会社 | Virtual machine migration control method |
US8230069B2 (en) * | 2008-03-04 | 2012-07-24 | International Business Machines Corporation | Server and storage-aware method for selecting virtual machine migration targets |
JP4839361B2 (en) * | 2008-11-11 | 2011-12-21 | 株式会社日立製作所 | Virtual machine migration management server and virtual machine migration method |
-
2012
- 2012-06-25 JP JP2012142402A patent/JP6044131B2/en active Active
-
2013
- 2013-04-23 US US13/868,474 patent/US9378056B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120137293A1 (en) * | 2004-05-08 | 2012-05-31 | Bozek James J | Dynamic migration of virtual machine computer programs upon satisfaction of conditions |
US20080295096A1 (en) * | 2007-05-21 | 2008-11-27 | International Business Machines Corporation | DYNAMIC PLACEMENT OF VIRTUAL MACHINES FOR MANAGING VIOLATIONS OF SERVICE LEVEL AGREEMENTS (SLAs) |
US20100175070A1 (en) * | 2007-05-24 | 2010-07-08 | Teruyuki Baba | Virtual machine managing device, virtual machine managing method, and virtual machine managing program |
US20090300173A1 (en) * | 2008-02-29 | 2009-12-03 | Alexander Bakman | Method, System and Apparatus for Managing, Modeling, Predicting, Allocating and Utilizing Resources and Bottlenecks in a Computer Network |
US20090307597A1 (en) * | 2008-03-07 | 2009-12-10 | Alexander Bakman | Unified management platform in a computer network |
US20090327781A1 (en) * | 2008-06-30 | 2009-12-31 | Sun Microsystems, Inc. | Method and system for power management in a virtual machine environment without disrupting network connectivity |
US20100169253A1 (en) * | 2008-12-27 | 2010-07-01 | Vmware, Inc. | Artificial neural network for balancing workload by migrating computing tasks across hosts |
US20100242045A1 (en) * | 2009-03-20 | 2010-09-23 | Sun Microsystems, Inc. | Method and system for allocating a distributed resource |
US20110099267A1 (en) * | 2009-10-27 | 2011-04-28 | Vmware, Inc. | Resource Optimization and Monitoring in Virtualized Infrastructure |
US20120131174A1 (en) * | 2010-11-23 | 2012-05-24 | Red Hat Inc. | Systems and methods for identifying usage histories for producing optimized cloud utilization |
US20120198447A1 (en) * | 2011-01-31 | 2012-08-02 | International Business Machines Corporation | Determining an allocation configuration for allocating virtual machines to physical machines |
US20120246638A1 (en) * | 2011-03-22 | 2012-09-27 | International Business Machines Corporation | Forecasting based service assignment in cloud computing |
US20130086272A1 (en) * | 2011-09-29 | 2013-04-04 | Nec Laboratories America, Inc. | Network-aware coordination of virtual machine migrations in enterprise data centers and clouds |
US20130263117A1 (en) * | 2012-03-28 | 2013-10-03 | International Business Machines Corporation | Allocating resources to virtual machines via a weighted cost ratio |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858068B2 (en) | 2010-06-22 | 2018-01-02 | Hewlett Packard Enterprise Development Lp | Methods and systems for planning application deployment |
US20140223430A1 (en) * | 2011-04-07 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for moving a software object |
US20140201732A1 (en) * | 2013-01-14 | 2014-07-17 | Cisco Technology, Inc. | Detection of Unauthorized Use of Virtual Resources |
US10180851B2 (en) * | 2013-01-14 | 2019-01-15 | Cisco Technology, Inc. | Detection of unauthorized use of virtual resources |
US20150220371A1 (en) * | 2013-03-04 | 2015-08-06 | Rongzhen Yang | Energy aware information processing framework for computation and communication devices coupled to a cloud |
US9436516B2 (en) * | 2013-06-28 | 2016-09-06 | Kabushiki Kaisha Toshiba | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium |
US20150007178A1 (en) * | 2013-06-28 | 2015-01-01 | Kabushiki Kaisha Toshiba | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium |
US11140039B2 (en) * | 2013-09-26 | 2021-10-05 | Appformix Inc. | Policy implementation and management |
US20150242159A1 (en) * | 2014-02-21 | 2015-08-27 | Red Hat Israel, Ltd. | Copy-on-write by origin host in virtual machine live migration |
US9851918B2 (en) * | 2014-02-21 | 2017-12-26 | Red Hat Israel, Ltd. | Copy-on-write by origin host in virtual machine live migration |
US11212159B2 (en) * | 2014-04-03 | 2021-12-28 | Centurylink Intellectual Property Llc | Network functions virtualization interconnection gateway |
US10129105B2 (en) | 2014-04-09 | 2018-11-13 | International Business Machines Corporation | Management of virtual machine placement in computing environments |
US10142192B2 (en) * | 2014-04-09 | 2018-11-27 | International Business Machines Corporation | Management of virtual machine resources in computing environments |
US10091072B2 (en) | 2014-04-09 | 2018-10-02 | International Business Machines Corporation | Management of virtual machine placement in computing environments |
US10129106B2 (en) * | 2014-04-09 | 2018-11-13 | International Business Machines Corporation | Management of virtual machine resources in computing environments |
US20150295792A1 (en) * | 2014-04-09 | 2015-10-15 | International Business Machines Corporation | Management of virtual machine resources in computing environments |
US20150295790A1 (en) * | 2014-04-09 | 2015-10-15 | International Business Machines Corporation | Management of virtual machine resources in computing environments |
US10642635B2 (en) * | 2014-06-07 | 2020-05-05 | Vmware, Inc. | Decentralized demand-based virtual machine migration management |
US20150355924A1 (en) * | 2014-06-07 | 2015-12-10 | Vmware, Inc. | Decentralized Demand-Based Virtual Machine Migration Management |
CN106155782A (en) * | 2015-04-09 | 2016-11-23 | 联想(北京)有限公司 | Virtual machine migration method and device |
US20160350147A1 (en) * | 2015-05-28 | 2016-12-01 | Fujitsu Limited | Control method and control device |
US11455183B2 (en) * | 2015-06-23 | 2022-09-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US20180181428A1 (en) * | 2015-06-23 | 2018-06-28 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US11658874B2 (en) | 2015-07-29 | 2023-05-23 | Juniper Networks, Inc. | Assessment of operational states of a computing environment |
US10346426B2 (en) * | 2015-08-10 | 2019-07-09 | Fujitsu Limited | System-replication control apparatus and system-replication control method |
US20170147406A1 (en) * | 2015-08-24 | 2017-05-25 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US9600321B1 (en) * | 2015-08-24 | 2017-03-21 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US10055258B2 (en) * | 2015-08-24 | 2018-08-21 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US20170147405A1 (en) * | 2015-08-24 | 2017-05-25 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US10055257B2 (en) * | 2015-08-24 | 2018-08-21 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US9600331B1 (en) * | 2015-08-24 | 2017-03-21 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
US10346201B2 (en) * | 2016-06-15 | 2019-07-09 | International Business Machines Corporation | Guided virtual machine migration |
US10956208B2 (en) * | 2016-06-15 | 2021-03-23 | International Business Machines Corporation | Guided virtual machine migration |
US20170366602A1 (en) * | 2016-06-21 | 2017-12-21 | Kabushiki Kaisha Toshiba | Server apparatus, information processing method, and computer program product |
US11115464B2 (en) * | 2016-06-21 | 2021-09-07 | Kabushiki Kaisha Toshiba | Server apparatus, information processing method, and computer program product |
US11240128B2 (en) | 2017-03-29 | 2022-02-01 | Juniper Networks, Inc. | Policy controller for distributed virtualization infrastructure element monitoring |
US11888714B2 (en) | 2017-03-29 | 2024-01-30 | Juniper Networks, Inc. | Policy controller for distributed virtualization infrastructure element monitoring |
US11068314B2 (en) | 2017-03-29 | 2021-07-20 | Juniper Networks, Inc. | Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment |
US11323327B1 (en) | 2017-04-19 | 2022-05-03 | Juniper Networks, Inc. | Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles |
KR101820269B1 (en) | 2017-07-21 | 2018-01-18 | 건국대학교 산학협력단 | Method and system for migration |
US11010186B2 (en) | 2017-09-22 | 2021-05-18 | Fujitsu Limited | Non-transitory computer-readable recording medium, adjustment device, and adjustment method |
CN108255576A (en) * | 2017-12-08 | 2018-07-06 | 上海陆家嘴国际金融资产交易市场股份有限公司 | Live migration of virtual machine abnormality eliminating method, device and storage medium |
CN108287749A (en) * | 2018-01-11 | 2018-07-17 | 郑州云海信息技术有限公司 | A kind of data center's total management system cloud resource dispatching method |
US11144306B2 (en) | 2018-01-16 | 2021-10-12 | Nutanix, Inc. | Scheduling upgrades in distributed computing systems |
US20190327159A1 (en) * | 2018-04-20 | 2019-10-24 | Nutanix, Inc. | Systems and methods for identifying and displaying logon duration metrics |
US10838754B2 (en) | 2018-04-27 | 2020-11-17 | Nutanix, Inc. | Virtualized systems having hardware interface services for controlling hardware |
US10740157B2 (en) * | 2018-06-05 | 2020-08-11 | International Business Machines Corporation | Cache load balancing in a virtual input/output server |
US11074103B2 (en) | 2018-11-01 | 2021-07-27 | Fujitsu Limited | Scheduling method and scheduling device |
US11256541B2 (en) * | 2019-02-08 | 2022-02-22 | Fujitsu Limited | Rescheduling of virtual machine migrations with less impact on an existing migration schedule |
WO2020207914A1 (en) * | 2019-04-08 | 2020-10-15 | Orange | Method and device for migrating a virtualised function in the event of a failure in the technical server environment |
FR3094812A1 (en) * | 2019-04-08 | 2020-10-09 | Orange | Method and device for migrating a virtualized function in the event of a failure of the technical server environment |
US11907770B2 (en) * | 2019-09-19 | 2024-02-20 | Huawei Cloud Computing Technologies Co., Ltd. | Method and apparatus for vectorized resource scheduling in distributed computing systems using tensors |
US20210278986A1 (en) * | 2020-03-04 | 2021-09-09 | Hitachi, Ltd. | Management system and management method for infrastructure system |
US11635996B2 (en) * | 2020-03-04 | 2023-04-25 | Hitachi, Ltd. | Management system and management method for migrating a business system operating on a target infrastructure |
Also Published As
Publication number | Publication date |
---|---|
US9378056B2 (en) | 2016-06-28 |
JP6044131B2 (en) | 2016-12-14 |
JP2014006739A (en) | 2014-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9378056B2 (en) | Management server, and virtual machine move control method | |
US9477460B2 (en) | Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method | |
US10884777B2 (en) | Apparatus and method to predict a time interval taken for a live migration of a virtual machine | |
JP6455035B2 (en) | Load balancing management device, control method, and program | |
US9436516B2 (en) | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium | |
US8839243B2 (en) | Remediating resource overload | |
US9110727B2 (en) | Automatic replication of virtual machines | |
US7979864B2 (en) | Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority | |
US9483314B2 (en) | Systems and methods for fault tolerant batch processing in a virtual environment | |
US20150067688A1 (en) | Method and apparatus for controlling job schedule | |
US9665512B2 (en) | Memory management in presence of asymmetrical memory transfer cost | |
US20180107503A1 (en) | Computer procurement predicting device, computer procurement predicting method, and recording medium | |
US20170052826A1 (en) | Resource management device and resource management method | |
US20160004566A1 (en) | Execution time estimation device and execution time estimation method | |
US20170353541A1 (en) | Non-transitory recording medium, information processing method, management node and information processing system | |
CN113010260A (en) | Elastic expansion method and system for container quantity | |
US20150370626A1 (en) | Recording medium storing a data management program, data management apparatus and data management method | |
US9910709B2 (en) | Allocation control method and apparatus | |
CN103399791A (en) | Method and device for migrating virtual machines on basis of cloud computing | |
US20150074454A1 (en) | Information processing method and apparatus for migration of virtual disk | |
US20170262310A1 (en) | Method for executing and managing distributed processing, and control apparatus | |
US20170295221A1 (en) | Apparatus and method for processing data | |
KR101599718B1 (en) | Method and Apparatus for Managing Performance of Database | |
Wang et al. | Toward cost-effective memory scaling in clouds: Symbiosis of virtual and physical memory | |
US11354201B2 (en) | Effective selection of a virtual machine to be moved outside influence range of a failure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ODA, YOSHIKAZU;SHIMAZAKI, KENICHI;TOBO, YASUHIDE;AND OTHERS;SIGNING DATES FROM 20130404 TO 20130408;REEL/FRAME:030346/0427 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |