Patent Publication Number: US-2013247047-A1

Title: Recording medium having virtual machine managing program recorded therein and managing server device

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This is a Continuation of application Ser. No. 12/408,008, filed Mar. 20, 2009, which is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2008-88341, filed on Mar. 28, 2008, the entire contents of which are incorporated herein by reference. 
    
    
     FIELD 
     An embodiment of the present invention relates to a recording medium having a virtual machine managing program recorded therein, the virtual machine managing program managing physical machines such as a host machine, etc. and making a computer execute processing of managing a virtual machine developed on each physical machine, and a managing server device. 
     BACKGROUND 
     There is known a technique for a managing server device in which physical machines such as a host machine, etc. are managed. Plural virtual machines developed on physical machines are managed by using virtualization software, and the plural virtual machines cooperate with one another so that one control processing can be executed. 
     There is also known a technique for a managing server device in which performance data of each virtual machine developed on a physical machine is measured and a virtual machine is moved onto another physical machine on the basis of the measurement result, so that performance is a maximum (for example, Japanese Patent No. 3861087). 
     Furthermore, there is also known a technique for a managing server device in which a usage rate of CPU (Central Processing Unit) of a physical machine on which plural virtual machines are developed is measured for every physical machine, and a virtual machine having the highest CPU usage rate is moved and developed onto a physical machine having the lowest CPU usage rate on the basis of the measurement result. The following document discloses such a technique for managing a server device. 
     According to that managing server device, the CPU usage rate of every physical machine is measured, and the virtual machine having the highest CPU usage rate is moved and developed onto the virtual machine having the lowest CPU usage rate on the basis of the measurement result. However, the operation state of the CPU of the physical machines can become unstable due to a great increase of CPU environmental temperature which is caused by rapid increase of the power consumption amount due to recent enhancement of the processor performance and high-densification of computing environment. Thus, it is difficult to attain a stable operation of not only a physical machine, but also a virtual machine merely by moving and developing the virtual machine on another physical machine with attention only to a usage rate of the CPU of the physical machine. 
     SUMMARY 
     According to an aspect of the invention, a virtual machine managing program that manages plural physical machines and makes a computer device manage virtual machines developed on each physical machine makes the computer execute: 
     a reference level storing procedure of pre-storing a physical event reference level relating to a physical event of the physical machine and a calculator event reference level relating to calculator events of the physical machine and the virtual machine; a physical event detecting procedure of detecting a physical event of the physical machine; a calculator event detecting procedure of detecting calculator events of the physical machine and the virtual machine; a movement target physical machine selecting procedure for selecting a physical machine as a movement target physical machine from the plural physical machines when the physical event of the physical machine concerned, which is detected in the physical event detecting procedure, is above the physical event reference level being stored; a movement target virtual machine selecting procedure for selecting a virtual machine as a movement target virtual machine from virtual machines selected in the movement target physical machine selecting procedure and developed onto the movement target physical machine when the calculator event of the virtual machine concerned which is detected in the calculator event detecting procedure is above the calculator event reference level being stored; and a movement destination physical machine selecting procedure for selecting an optimum physical machine from the plural physical machines on the basis of a detection result of the physical event detecting procedure or the calculator event detecting procedure, and selecting the selected optimum physical machine as a movement destination target physical machine which is a movement destination of the movement target virtual machine selected in the movement target virtual machine selecting procedure. 
     The object and advantages of the embodiment 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 embodiment, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a block diagram illustrating the overall construction of a virtual machine managing system according to a first embodiment; 
         FIG. 2  is a block diagram illustrating the internal construction of a managing server which is a main part of the first embodiment; 
         FIG. 3  is a diagram illustrating the table content of a virtual machine list table according to the first embodiment; 
         FIG. 4  is a diagram illustrating the table content of a movement managing table according to the first embodiment; 
         FIG. 5  is a flowchart illustrating the processing operation of the inside of a server managing controller in the managing server relating to first virtual machine moving and developing processing of the first embodiment; 
         FIG. 6  is a block diagram illustrating the internal construction of the managing server which is a main part of a second embodiment; and 
         FIG. 7  is a flowchart illustrating the processing operation of the inside of a server managing controller in a managing server relating to second virtual machine moving and developing processing of the second embodiment. 
     
    
    
     DESCRIPTION of EMBODIMENTS 
     Embodiments of a virtual machine managing program and a managing server device according to the present invention will be described in detail with reference to the accompanying drawings. The technical content of these embodiments does not limit the technical scope of the present invention. 
     First, a summary of an embodiment of the present invention is as follows. When a physical machine whose CPU environmental temperature (physical event) is above a stored reference temperature is selected from plural physical machines, the selected physical machine is selected as a movement target physical machine. When a virtual machine having the highest CPU usage rate (calculator event) is selected from virtual machines developed on the selected movement target physical machine, the selected virtual machine is selected as a movement target virtual machine. A physical machine having the lowest CPU environmental temperature, that is, the optimum physical machine, is selected as a movement destination target physical machine from the plural physical machines, and the movement target virtual machine is moved and developed on the selected movement destination target physical machine. Therefore, the virtual machine can be moved and developed in accordance with the system environment in consideration of not only the CPU usage rate, but also the CPU environmental temperature, whereby not only the physical machine, but also the virtual machine can be stably operated. 
     First Embodiment 
       FIG. 1  is a block diagram illustrating the overall construction of a virtual machine managing system according to a first embodiment. 
     The virtual machine managing system  1  illustrated in  FIG. 1  has a managing server  5  for managing plural host machines  3  and a storage device  4  through LAN (Local Area Network)  2 , and a client  6  managing the managing server  5 . Each host machine  3  has CPU  11  for controlling the whole of the host machine thereof, and a temperature detector  12  for detecting the environmental temperature of CPU  11 . 
     The temperature detector  12  is disposed so as to be adjacent to CPU  11  in a physical machine  10 , and directly detects the environmental temperature of CPU  11 . 
     By using virtualization software, CPU  11  in the host machine  3  develops plural virtual machines  20  and makes the plural virtual machines  20  being developed cooperate with one another to execute various kinds of processes. 
     The managing server  5  manages the physical machines  10  such as the host machines  3 , the storage device  4 , etc., and also manages plural virtual machines  20  developed on the physical machine  10  by using a virtualization software managing tool. 
       FIG. 2  is a block diagram illustrating the internal construction of the managing server  5  which is a main part of the first embodiment. 
     The managing server  5  illustrated in  FIG. 2  has a GUI (Graphical User Interface) unit  31  serving as a user interface with the client  6 , an authenticating unit  32  for executing authentication processing in cooperation with the managing tool of the virtualization software, a trace log monitoring unit  33  for managing information collected when a trouble occurs and an operation record of audit trail, and a calendar unit  34  having a calendar function. 
     Furthermore, the managing server  5  has a physical machine monitoring controller  35  for monitoring and controlling plural physical machines  10 , a virtualization software controller  36  for monitoring and controlling plural virtual machines developed on the physical machine  10  by using a managing tool of the virtualization software, a server side storage unit  37  for storing various kinds of information relating to the managing server  5 , and a server managing controller  38  for controlling the overall managing server  5 . 
     The server side storage unit  37  has a virtual machine list table  41  for managing virtual machines  20  developed on each physical machine  10  in a list style for every physical machine  10 , and a movement managing table  42  for managing information relating to movement management of the virtual machines  20  for every physical machine  10  respectively. 
     For convenience of description, the description is made such that the physical machines  10  and the virtual machines  20  are managed in the virtual machine list table  41  and the movement managing table  42 . However, the physical machines  10  and the virtual machines  20  are managed on the basis of physical machine identification information (PM) for identifying the physical machines  10  and virtual machine identification information (VM) for identifying the virtual machines  20 . 
     The server managing controller  38  has a virtual machine manager  51  for managing virtual machines  20  developed on each physical machine  10  through the virtualization software controller  36 , a virtual machine list creator  52  for creating a virtual machine list table  41 , and a movement managing controller  53  for renewing and controlling the table content of the movement managing table  42  and also controlling movement management of the virtual machine  20  on the basis of the table content of the movement managing table  42 . 
     The virtual machine list creator  52  collects management information of virtual machines  20  developed on a physical machine  10  according to the managing tool of the virtualization software through the virtualization software controller  36 , and creates a virtual machine list table  41  for managing the virtual machines  20  developed on each physical machine  10  in a list style. The managing tool of the virtualization software periodically collects the management information of the virtual machines  20  developed on the physical machine  10 . 
       FIG. 3  is a diagram illustrating the table content of the virtual machine list table  41  of the first embodiment. 
     The virtual machine list table  41  illustrated in  FIG. 3  manages the identification information  41 B of the virtual machines  20  developed on the physical machine  10  for every identification information  41 A of the physical machine  10  in a list style. As a result, on the basis of the table content of the virtual machine list table  41 , the server managing controller  38  can recognize that five virtual machines  20  of “VM 11 ”, “VM 12 ”, “VM 13 ”, “VM 15 ” and “VM 19 ” are being developed in the physical machine  10  of “PM 01 ”, and two virtual machines  20  of “MV 22 ” and “VM 26 ” are being developed in the physical machine  10  of “PM 02 ”, for example. 
       FIG. 4  is a diagram illustrating the table content of the movement managing table  42  of the first embodiment. 
     The movement managing table  42  illustrated in  FIG. 4  manages reference temperature information  42 B representing reference temperature of CPU  11  of the physical machine  10 , CPU environmental temperature information  42 C representing present CPU environmental temperature of CPU  11 , reference over-flag  42 D representing whether the present CPU environmental temperature is above the reference temperature or not, movement target virtual machine information  42 E representing a movement target virtual machine described later, and movement destination target physical machine information  42 F representing movement destination target physical machine described later, for every identification information  42 A of the physical machine  10 . The reference temperature information  42 B sets the reference temperature of a physical machine when the system is constructed for every physical machine  10 . 
     The server managing controller  38  illustrated in  FIG. 2  has a physical machine temperature detector  54  for detecting the present CPU environmental temperature through the physical machine monitoring controller  35  for every physical machine  10 , and a virtual machine usage rate detector  55  for detecting the CPU usage rate through the virtualization software controller  36  for every virtual machine  20 . 
     The physical machine temperature detector  54  successively collects the present CPU environmental temperature from the temperature detector  12  in the physical machine  10  through the physical machine monitoring controller  35  for every physical machine  10 . 
     The virtual machine usage rate detector  55  successively collects the CPU usage rate of CPU  11  of the physical machine  10  required for the virtual machine  20  on which the virtual machine  20  is developed, according to the managing tool of the virtualization software through the virtualization software controller  36  for every virtual machine  20 . 
     When detecting the present CPU environmental temperature of the physical machine  10  in the physical machine temperature detector  54 , the movement managing controller  53  renews the present CPU environmental temperature in the CPU environmental temperature information  42 C corresponding to the physical machine  10  in the movement managing table  42 . 
     The server managing controller  38  illustrated in  FIG. 2  has a movement target physical machine selector  56  for selecting a physical machine  10  as a movement target physical machine from plural physical machines  10  when the present CPU environmental temperature of the physical machine  10  concerned is above the reference temperature, and a movement target virtual machine selector  57  for selecting the virtual machine  20  that has the highest CPU usage rate as a movement target virtual machine. 
     The movement target physical machine selector  56  judges whether a physical machine  10  whose present CPU environmental temperature is above the reference temperature stored in the movement managing table  42  exists among the plural physical machines  10 . 
     When there is a physical machine  10  whose present CPU environmental temperature is above the reference temperature, the movement target physical machine selector  56  selects the physical machine  10  as a movement target physical machine, representing that the virtual machine  20  being developed is moved and developed onto another physical machine  10 . 
     Furthermore, when the movement target physical machine is selected in the movement target physical machine selector  56 , the movement managing controller  53  controls the flag renewal process to erect the flag of the reference over the flag  42 D corresponding to the physical machine  10  in the movement managing table  42 . 
     The movement target virtual machine selector  57  selects a virtual machine having the highest CPU usage rate from among the virtual machines  20  developed onto the movement target physical machine, and selects the selected virtual machine  20  as a movement target virtual machine, representing that the selected virtual machine  20  is moved and developed onto another physical machine  10 . 
     Furthermore, when the movement target virtual machine is selected by the movement target virtual machine selector  57 , the movement managing controller  53  controls to renew the movement target virtual machine in the movement target virtual machine information  42 E corresponding to the physical machine  10  in the movement managing table  42 . 
     Furthermore, the server managing controller  38  illustrated in  FIG. 2  has a movement destination physical machine selector  58  for selecting the optimum physical machine  10  from the plural physical machines  10  on the basis of the detection result of the physical machine temperature detector  54 , and selecting the selected optimum physical machine as a movement destination target physical machine, which is a movement target of the movement target virtual machine. The server managing controller  38  also has a movement developing unit  59  for moving and developing the movement target virtual machine onto the selected movement destination target physical machine, when the movement destination target physical machine is selected in the movement destination physical machine selector  58 . 
     The movement destination physical machine selector  58  selects the physical machine  10  having the lowest present CPU environmental temperature as the optimum physical machine  10  from the plural physical machines  10  on the basis of the detection result of the physical machine temperature detector  54 , and selects the selected optimum physical machine  10  as the movement destination target physical machine as a movement destination of the movement target virtual machine. 
     Furthermore, when the movement destination target physical machine is selected by the movement destination physical machine selector  58 , the movement managing controller controls to identify the movement destination target physical machine in the movement destination target physical machine information  42 F corresponding to the physical machine  10  in the movement managing table  42 . 
     When the movement destination target physical machine is selected by the movement destination physical machine selector  58 , the movement developing unit  59  moves and develops the movement target virtual machine onto the movement destination target physical machine according to the managing tool of the virtualization software through the virtualization software controller  36 . 
     Next, the operation of the virtual machine managing system of the first embodiment will be described.  FIG. 5  is a flowchart illustrating the operation in the server managing controller  38  in the managing server  5  relating to the first virtual machine moving and developing process of the first embodiment. 
     According to the first virtual machine moving and developing processing illustrated in  FIG. 5 , when a physical machine  10  whose present CPU environmental temperature is above the reference temperature is selected from the plural physical machines  10 , the virtual machine  20  having the highest CPU usage rate developed on the selected physical machine  10  is moved and developed onto another physical machine  10 . 
     In  FIG. 5 , the movement target physical machine selector  56  in the server managing controller  38  judges on the basis of the reference temperature information  42 B and the CPU environmental temperature information  42 C in the movement managing table  42  whether there is any physical machine  10  whose present CPU environmental temperature is above the reference temperature (step S 11 ). 
     When there is a physical machine whose present CPU environmental temperature is above the reference temperature (step S 11 ; Yes), the movement target physical machine selector  56  selects the physical machine  10  concerned as a movement target physical machine (step S 12 ). In the movement managing table  42  of  FIG. 4 , the reference temperature of the physical machine  10  of “PM 02 ” is equal to 70° C. while the present CPU environmental temperature is equal to 75°, so that the physical machine  10  of “PM 02 ” is selected as the movement target physical machine. 
     Furthermore, when the movement target physical machine was selected, the movement managing controller  53  executed the renewal control operation to erect a flag in the reference over-flag  42 D corresponding to the movement target physical machine in the movement managing table  42 . 
     The movement managing controller  53  judges whether plural movement target physical machines are selected in step S 12  (step S 13 ). 
     When plural movement target physical machines are selected (step S 13 ; Yes), the movement managing controller  53  indicates any movement target physical machine out of the plural movement target physical machines (step S 14 ), and detects the CPU usage rate of each virtual machine  20  being developed onto the movement target physical machine indicated through the virtual machine usage rate detector  55  (step S 15 ). 
     When detecting the CPU usage rate of each virtual machine  20  developed onto the movement target physical machine, the movement target virtual machine selector  57  selects the virtual machine  20  having the highest CPU usage rate, and selects the selected virtual machine  20  as a movement target virtual machine (step S 16 ). 
     When the movement target virtual machine is selected, the movement destination physical machine selector  58  selects the physical machine  10  having the lowest present CPU environmental temperature as a movement target physical machine on the basis of the CPU environmental temperature information  42 C in the movement managing table  42  (step S 17 ). 
     When the movement destination target physical machine is selected, the movement developing unit  59  moves and develops the movement target virtual machine selected in step S 16  onto the movement destination target physical machine through the virtualization software controller  36  (step S 18 ). When the movement and development of the movement target virtual machine onto the movement destination target physical machine is completed, the movement managing controller  53  executes renewal control to release the reference over-flag  42 D in the movement managing table  42  corresponding to the movement target physical machine selected in step S 12  and delete the content of the movement target virtual machine information  42 E and the content of the movement destination target physical machine information  42 F. 
     When the movement target virtual machine is moved and developed onto the movement destination target physical machine, the movement managing controller  53  judges whether there is any movement target physical machine which is not indicated in step S 14  (step S 19 ). 
     When there is any non-indicated movement target physical machine (step S 19 ; Yes), the movement managing controller  53  shifts the process to the step S 14  to indicate any non-indicated movement target physical machine out of the non-indicated movement target physical machines. 
     When there is no non-indicated movement target physical machine (step S 19 ; No), the movement managing controller  53  finishes the operation of  FIG. 5 . 
     When there is no physical machine whose present CPU environmental temperature is above the reference temperature (step S 11 ; No), the movement target physical machine selector  56  finishes the operation of  FIG. 5 . 
     When plural movement target physical machines do not exist (step S 13 ; No), the movement managing controller  53  indicates the movement target physical machine (step S 20 ), and shifts the process to step S 15  to detect the CPU usage rate of each virtual machine  20  developed on the indicated movement target physical machine. 
     In the first virtual machine moving and developing process illustrated in  FIG. 5 , when the physical machine  10  whose CPU environmental temperature is above the reference temperature is selected from the plural physical machines  10 , the selected physical machine  10  is selected as the movement target physical machine, and the virtual machine  20  having the highest CPU usage rate is selected as the movement target virtual machine from the virtual machines  20  developed on the selected movement target physical machine. The physical machine  10  having the lowest CPU usage rate is selected as the movement destination target physical machine from the plural physical machines  10 , and the movement target virtual machine is moved and developed onto the selected movement destination target physical machine. As a result, according to the first virtual machine moving and developing process, the movement and development of the virtual machine  20  are performed in accordance with the system environment in consideration of the CPU usage rate and the CPU environmental temperature, whereby not only the physical machine  10 , but also the virtual machine  20  can be stably operated. 
     In the first embodiment, when the physical machine  10  whose CPU environmental temperature is above the reference temperature is selected from the plural physical machine  10 , the selected physical machines  10  is selected as the movement target physical machine, and the virtual machine  20  having the highest CPU usage rate is selected as the movement target virtual machine from the virtual machines  20  developed on the selected movement target physical machine. Then, the physical machine  10  having the lowest CPU environmental temperature is selected as the movement destination target physical machine from the plural physical machines  10 , and the movement target virtual machine is moved and developed onto the selected movement destination target physical machine. As a result, according to the first embodiment, the movement and development of the virtual machine  20  are performed in accordance with the system environment in consideration of the CPU usage rate and the CPU environmental temperature, whereby not only the physical machine  10 , but also the virtual machine  20  can be stably operated. 
     In the first embodiment, when the movement target virtual machine is selected, the physical machine  10  having the lowest CPU environmental temperature is selected as the movement destination target physical machine of the movement target virtual machine. However, the movement destination target physical machine may be also selected by the following method, and this method will be described as a second embodiment. 
     Second Embodiment 
     In a second embodiment, the same elements as the first embodiment are represented by the same reference numerals, and the duplicative descriptions of the construction and the operation are omitted from the following description. 
       FIG. 6  is a block diagram illustrating the internal construction of the managing server  5  which is a main part of the second embodiment. 
     The difference between the virtual machine managing system  1  of the first embodiment and the virtual machine managing system of the second embodiment resides in that the physical machine  10  having the lowest CPU usage rage among the plural physical machines  10  is selected as the movement destination target physical machine. 
     The server managing controller  38  in the managing server  5  illustrated in  FIG. 6  has a physical machine usage rate detector  55 A for detecting the CPU usage rate of the physical machine  10  itself through the physical machine monitoring controller  35  for every physical machine  10 , and a movement destination physical machine selector  58 A for selecting the physical machine  10  having the lowest CPU usage rate as the movement destination target physical machine on the basis of the detection result of the physical machine usage rate detector  55 A. 
       FIG. 7  is a flowchart illustrating the operation of the server managing controller  38  in the server manager  5  associated with the second virtual machine moving and developing process of the second embodiment. 
     In  FIG. 7 , when the virtual machine  20  having the highest CPU usage rate as a movement target virtual machine from virtual machines  20  developed on a movement target physical machine is selected in step S 16 , the movement destination physical machine selector  58 A selects the physical machine  10  having the lowest CPU usage rate from the plural physical machines  10  as a movement destination target physical machine and a movement destination of the movement target virtual machine (step S 17 A). 
     Then, when the movement destination physical machine is selected in step S 17 A, the moving and developing unit  59  moves and develops the movement target virtual machine onto the movement destination target physical machine in step S 18 , and shifts the process to step S 19  to judge whether there is any non-indicated movement target physical machine. 
     In the second virtual machine moving and developing process illustrated in  FIG. 7 , when the physical machine whose CPU environmental temperature is above the reference temperature is selected from plural physical machines  10 , the selected physical machine  10  is selected as a movement target physical machine, and the virtual machine  20  having the highest CPU usage rate is selected as a movement target virtual machine from virtual machines  20  developed on the selected movement target physical machine. Furthermore, the physical machine  10  having the lowest CPU usage rate is selected as a movement destination target physical machine from the plural physical machines  10 , and the movement target virtual machine is moved and developed onto the selected movement destination target physical machine. As a result, according to the second virtual machine moving and developing process, the movement and development of the virtual machine  20  are performed in accordance with the system environment in consideration of the CPU usage rate and the CPU environmental temperature, whereby not only the physical machine  10 , but also the virtual machine  20  can be stably operated. 
     In the second embodiment, when a physical machine  10  whose CPU environmental temperature is above the reference temperature is selected from plural physical machines  10 , the selected physical machine  10  is selected as a movement target physical machine, and the virtual machine  20  having the highest CPU usage rate is selected as a movement target virtual machine from virtual machines  20  developed on the selected movement target physical machine. Then, the physical machine having the lowest CPU usage rate is selected as a movement destination target physical machine from the plural physical machines  10 , and the movement target virtual machine is moved and developed onto the selected movement target physical machine. As a result, according to the second embodiment, the movement and development of the virtual machine  20  are performed in accordance with the system environment in consideration of the CPU usage rate and the CPU environmental temperature, whereby not only the physical machine  10 , but also the virtual machine  20  can be stably operated. 
     In the first and second embodiments, the virtual machine  20  having the highest CPU usage rate is selected as the movement target virtual machine from the virtual machines  20  developed on the movement target physical machine in the movement target virtual machine selector  57  (see step  16  of  FIGS. 5 and 7 ). However, the same effect can be obtained by selecting virtual machines having a predetermined CPU usage rate (calculator event reference level) or more are selected as movement target virtual machines from virtual machines  20  being developed on the movement target physical machine, for example. 
     Furthermore, in the first embodiment, the physical machine  10  having the lowest CPU environmental temperature is selected in the movement destination physical machine selector  58 , but in the second embodiment, the physical machine  10  having the lowest CPU usage rate is selected in the movement destination physical machine selector  58 A. However, for example, when the selecting condition of the movement destination physical machine selector  58  is set on the basis of the CPU environmental temperature and the CPU usage rate so that the physical machine  10  having the lowest CPU environmental temperature and the lowest CPU usage rate is selected as the movement destination target physical machine, the movement and development of the virtual machine  20  are performed in accordance with the system environment, whereby not only the physical machine  10 , but also the virtual machine  20  can be more stably operated. 
     Furthermore, by paying attention to the physical arrangement of the physical machines  10  of the virtual machine managing system  1 , for example, by paying attention to the fact that the CPU environmental temperature of the physical machine  10  adjacent to cooling facilities such as a cooler or the like is low, the physical machine  10  adjacent to the cooling facilities may be selected as the movement destination target physical machine. 
     Furthermore, in the first and second embodiments, the CPU environmental temperature of the physical machine  10  is adopted as the physical event, and the CPU environmental temperature is detected through the temperature detector  12  which is arranged so as to be adjacent to CPU  11 . However, the internal temperature of a rack or housing in which the physical machine  10  is mounted may be adopted as the CPU environmental temperature. 
     In the first and second embodiments, the CPU environmental temperature of the physical machine is adopted as the physical event. The same effect can be obtained by adopting the power consumption amount of the physical machine  10  as the physical event. 
     Furthermore, in the first and second embodiments, the CPU environmental temperature of the physical machine  10  is adopted as the physical event. However, the combination of the CPU environmental temperature and the power consumption amount of the physical machine  10  may be set as the physical event. In this case, the movement target physical machine can be selected with higher precision. 
     In the second embodiment, the physical machine usage rate detector  55 A for detecting the CPU usage rate of the physical machine  10  itself is provided. However, in place of the physical machine usage rate detector  55 A, the CPU usage rates of all the virtual machines  20  developed on the physical machine  10  may be added for every physical machine  10  through the virtual machine usage rate detector  55 , and the addition result may be adopted as the CPU usage rate of the physical machine  10  itself. 
     The scope of the technical idea of the present invention is not limited by the above embodiments, and various modifications and alterations may be made to the above embodiments without departing from the scope of the technical idea (subject matter) described in the claims. Furthermore, the effect of the present invention is not limited to the effects described with reference to the above embodiments. 
     Furthermore, all or some of the various kinds of processing which are described as being automatically executed in the above embodiments may be manually executed, and also all or some of the various kinds of processing which are described as being manually executed in the above embodiments may be automatically executed. Furthermore, the processing procedure, the control procedure, the specific title and information containing various kinds of data and parameters which are described with reference to the above embodiments may be properly changed unless specifically indicated. 
     Furthermore, the respective devices and the respective constituent elements illustrated in the figures are described functionally and conceptually, and they are not necessarily required to be constructed as illustrated, and the specific styles of the respective devices are not limited to those illustrated in the figures. 
     Furthermore, all or any part of the various kinds of processing executed by the respective devices may be executed on CPU (Central Processing Unit) (or a microcomputer such as MPU (Micro Processing Unit), MCU (Micro Controller Unit) or the like), on a program analyzed and executed by CPU (or microcomputer such as MPU, MCU or the like) or on hardware based on wire logic.