WO2012117453A1 - 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 - Google Patents

計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 Download PDF

Info

Publication number
WO2012117453A1
WO2012117453A1 PCT/JP2011/001271 JP2011001271W WO2012117453A1 WO 2012117453 A1 WO2012117453 A1 WO 2012117453A1 JP 2011001271 W JP2011001271 W JP 2011001271W WO 2012117453 A1 WO2012117453 A1 WO 2012117453A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
physical
virtual
virtual machine
scheduled
Prior art date
Application number
PCT/JP2011/001271
Other languages
English (en)
French (fr)
Inventor
村瀬香緒里
飯塚大介
増田峰義
Original Assignee
株式会社日立製作所
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US13/991,274 priority Critical patent/US20130339956A1/en
Priority to JP2013502047A priority patent/JP5412599B2/ja
Priority to PCT/JP2011/001271 priority patent/WO2012117453A1/ja
Publication of WO2012117453A1 publication Critical patent/WO2012117453A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the present invention relates to a computer system, and more particularly to a computer system suitable for optimally arranging virtual machines on a physical server existing in the computer system. Furthermore, the present invention relates to a method for optimizing the placement of virtual machines in a virtual machine system.
  • a computer resource with a single physical server plurality of virtual machines that is utilized in (VM V irtual M achine), virtualization technology servers are known.
  • the virtual computer is a physical server and operates as a virtual server, so that a plurality of users can effectively use the resources of the physical server (physical computer).
  • a plurality of virtual computers are optimally arranged on a plurality of physical computers.
  • a plurality of virtual machines may be distributed to a plurality of physical computers so that the load is leveled between a plurality of physical computers on which the virtual machines are operating, respectively.
  • optimal placement processing of virtual machines is desired, such as by putting as many virtual machines as possible to the same physical machine.
  • Virtual machine placement is reconfigured among multiple physical computers for optimal placement processing of virtual machines.
  • the virtual machines are migrated between a plurality of physical machines.
  • the management server (management computer) of the computer system releases the computer resource of the migration source physical computer from the virtual computer and allocates the computer resource of the migration destination computer to the virtual computer.
  • a management computer calculates an optimal combination of a virtual computer and a physical computer, and based on the calculation result, the virtual computer A system is disclosed in which a virtual machine is migrated between a plurality of physical computers to adjust the load balance among the plurality of physical computers, each of which is deployed, even when the virtual computer is in operation.
  • the conventional system disclosed by the above-mentioned publications considers the optimal load of a plurality of virtual machines with respect to a plurality of physical computers in consideration of the past load information of the virtual machines and the predicted load information of the virtual machines in the future. Although it was determined, it was not intended to realize the optimal arrangement of virtual machines taking into account the case where the number of virtual machines is changed.
  • the optimal arrangement state of the virtual machines is adversely affected when a new virtual machine starts to operate on the physical computer.
  • the management computer has to redo the optimal placement processing of the virtual computer when the new virtual computer is operated on the physical computer.
  • an object of the present invention is to provide a computer system in which a load in processing for optimally arranging a plurality of virtual computers on a plurality of physical computers is reduced.
  • Another object of the present invention is to provide a computer system in which even when a new virtual computer starts to run on a physical computer, the optimum arrangement state of the running virtual computer is not impaired.
  • Still another object of the present invention is to provide a method for optimizing the placement of virtual machines in a computer system.
  • the present invention obtains a planned load of a virtual machine scheduled to be operated from schedule information for operating a virtual machine in a computer system, and the actual load of the scheduled load and the virtual machine in operation.
  • the execution subject of the virtual computer in which the computer related to the operation schedule is arranged is determined from the load before the operation start time of the virtual computer scheduled to operate in the computer system.
  • the present invention it is possible to provide a computer system in which a load in a process of optimally arranging a plurality of virtual computers on a plurality of physical computers is reduced. Furthermore, according to the present invention, it is possible to provide a computer system in which even when a new virtual computer starts to operate on a physical computer, the optimum arrangement state of the operating virtual computer is not impaired. Furthermore, according to the present invention, it is possible to provide a method for optimizing the arrangement of virtual machines in the above-described computer system.
  • FIG. 1 is a hardware configuration diagram of a computer system according to Embodiment 1.
  • FIG. 3 is an example of a physical computer configuration table according to the first embodiment.
  • 3 is an example of an information table of a virtual machine according to the first embodiment.
  • 4 is an example of a reservation information table according to the first embodiment.
  • 3 is a flowchart of optimal placement processing of an operation-scheduled virtual computer according to the first embodiment.
  • 2 is an arrangement score table of the first embodiment.
  • 3 is a flowchart of an arrangement determination process for an operation scheduled virtual machine according to the first embodiment.
  • 10 is a physical computer configuration table, a VM information table, and a reservation information table according to the second embodiment.
  • 12 is a flowchart of optimal placement processing of a virtual machine according to a second embodiment.
  • FIG. 10 is a flowchart of an optimal arrangement plan creation process for a virtual machine that is operating and a virtual machine that is scheduled to operate according to the second embodiment.
  • FIG. 10 illustrates a physical computer configuration table, a VM information table, and a reservation information table according to the third embodiment.
  • FIG. 10 is a flowchart of an optimal arrangement process for an operation scheduled virtual machine according to a third embodiment.
  • the resource management program is a management table related to a state in which it is not necessary to consider the end time of an operating virtual machine when determining the placement of a virtual machine to be operated, and a physical computer information table (FIG. 13 ( A)), a VM information table (FIG. 13B), and a reservation information table (FIG. 13C).
  • FIG. 1 shows hardware blocks of the computer system.
  • the computer system includes a plurality of physical computers 0130, 0140,..., A management server 0100 that manages the placement of virtual computers between physical computers, and a network 0120 that connects the plurality of physical computers and the management server. ing.
  • the resource management server 0100 includes a CPU 0101, a memory 0102, a network interface card (shown as NIC) 0109, an input I / F 0103, an output I / F 0105, and an HDD I / F 0107.
  • NIC network interface card
  • the input I / F 0103 of the resource management server 0100 is connected to an input device such as a mouse or a keyboard 0104, and accepts an operation from a user of the resource management server 0100.
  • the output I / F 0105 is connected to an output device such as a display 0106, and performs screen output to the user.
  • a printer (not shown) can be connected as long as it is an output device.
  • the HDD I / F 0107 is connected to the HDD 0108, which is an external storage, and stores various programs, various data tables processed by the CPU 0101, and the like.
  • the NIC 0109 is connected to the network 0120 and is connected to other physical computers 0130 and 0140.
  • a resource management program 0110 is installed in the memory 0102.
  • the resource management program 0110 may be stored in the HDD 0108 and loaded into the memory 0102 in response to a request from the CPU 0101.
  • the resource management program 0110 includes a reservation acceptance process 0111, a virtual machine placement calculation process 0112, a virtual machine migration process 0113, a measurement process 0114 for calculating the load of an operating virtual machine, and a virtual machine that has been scheduled to be operated as a virtual machine Deployment processing 0115 that makes it available to users on a timely basis, and load information and configuration information of virtual machines and hypervisors operating on the physical computers 0130 and 0140 are collected and managed from the physical computers 0130 and 0140 and hypervisors 0135 and 0145 Management processing 0116 is executed.
  • Each of these processes is achieved by one or a combination of flowcharts described later, or one or more steps of these flowcharts.
  • the memory 0102 stores a physical computer information table (TBL) 0200 that stores information on the total resource amount that can be allocated from the physical computer to the virtual computers 0136 and 0146 by the hypervisors 0135 and 0145.
  • TBL physical computer information table
  • the total resource amount is collected from the physical computers 0130 and 0140 by the resource management program 0110.
  • the memory 0102 further includes a reservation information table 0300 that stores information related to a schedule for operating a virtual machine created based on an input from a user of the virtual machine, load information of the operating virtual machine, virtual information A VM information table 0400 that stores information on the physical computer on which the computer operates, a placement score table 0600 that stores priority information for determining which physical computer is to be the physical computer on which the virtual computer is to be placed, and the like Management table.
  • a reservation information table 0300 that stores information related to a schedule for operating a virtual machine created based on an input from a user of the virtual machine, load information of the operating virtual machine, virtual information
  • a VM information table 0400 that stores information on the physical computer on which the computer operates
  • a placement score table 0600 that stores priority information for determining which physical computer is to be the physical computer on which the virtual computer is to be placed, and the like Management table.
  • the resource management program 0100 performs read or write processing on these management tables in the course of resource management processing.
  • the management table may be stored in the HDD 0108.
  • the CPU 0101 reads the management table from the HDD 0108, loads it into the memory 0102, and stores the management table in the HDD 0108.
  • the physical computers 0130 and 0140 have the same hardware configuration as that of the resource management server 0100.
  • HDD I / Fs 0134 and 0144 for connecting to 0150 are provided.
  • an input I / F (0103) and an output I / F (0105) may be provided.
  • the identifier of the physical computer 0130 is P1
  • the identifier of the physical computer 0140 is P2
  • the third and subsequent physical computers are P3, P4,.
  • Hypervisors 0135 and 0145 are loaded in the memory 0132 and 0142 of the physical computer, and one or a plurality of virtual machines 0136... 137, 0146. Management processing related to various virtual computers such as allocation of computer resources of physical computers to virtual computers is performed.
  • the computer resource is, for example, one or more of a CPU, a memory, a hard disk drive, a NIC network bandwidth, a disk I / O, and the like included in the computer.
  • Computer resources include not only hardware resources but also logical resources such as volumes, host groups, and pools.
  • Each hypervisor 135, 145 is management software for allocating one or more virtual machines to each physical machine and deploying them. For example, a plurality of virtual machines including a virtual machine 0136 and a virtual machine 0137 are assigned to the physical machine P1: 0130. A plurality of virtual machines including a virtual machine 0146 and a virtual machine 0147 are allocated on the physical computer P2: 0140. In the virtual machine assignment management in the management table described above, the assignment target of the virtual machine may be a physical computer or a hypervisor.
  • the resource management program 0110 of the resource management server 0100 exchanges information by communicating with the hypervisors 0135 and 0145 of the physical computers P1: 0130 and P2: 0140, and at any time load information of the virtual machine and load information of the hypervisor ( (Physical computer load information) can be acquired and the physical computer information table 0200 and the VM information table 0400 can be updated.
  • load information of the virtual machine and load information of the hypervisor (Physical computer load information) can be acquired and the physical computer information table 0200 and the VM information table 0400 can be updated.
  • the resource management server 0100 sets and updates the reservation information table 0300 based on the reservation information of the virtual machine input from the user who uses the virtual machine.
  • the virtual machine 0136 and the virtual machine 0137 operate on the hypervisor 0135.
  • the hypervisor 0135 divides the computer resources of the physical computer P1: 0130, for example, the CPU 0131 and the memory 0132 into each virtual computer of a plurality of virtual computers and assigns them.
  • the hypervisor 0135 can also dynamically change the amount of computer resources allocated to each virtual computer.
  • the hypervisor 0145 similarly acts on the virtual machine 0146 and the virtual machine 0147. Since the guest OS runs on one virtual machine, the virtual machine can use application software that runs on the guest OS.
  • the shared storage 0150 connected to the physical computers P1: 0130 and P2: 0140 stores a disk image 0151 of the virtual computer.
  • the virtual machine disk image is an image file stored in a virtual HDD given to the virtual machine.
  • the shared storage 0150 sets a virtual HDD, and loads an operating system or application stored in the virtual HDD into the memory 0132 (0142) for execution.
  • the VM disk image becomes a substance of the virtual HDD.
  • the virtual machine can handle the VM disk image as a virtual HDD.
  • the VM disk image corresponds to one file actually stored in the HDD when viewed from the hypervisor.
  • One virtual machine requires one or more VM disk images.
  • the virtual machine 0147 on the physical machine P2: 0140 uses one VM disk image 0151 stored in the HDD 0150.
  • the VM disk image 0151 is controlled by the hypervisor. Since the VM disk image is stored in the shared HDD 0150 connected to both the physical computers P1: 0130 and P2: 0140, the management server 0100 loads the operating system and application software stored in the VM disk image. If the target physical computer is changed, the physical computer on which the virtual computer operates can be changed, that is, the virtual computer can be moved between a plurality of physical computers.
  • the management server 0100 When the management server 0100 enables the virtual machine to operate on another physical machine, the physical machine that is the migration source of the virtual machine is loaded into the memory for the virtual machine, and data that is added, updated, or deleted as appropriate Is copied over the network to the physical computer to which the virtual machine is migrated.
  • changing the physical computer on which the virtual machine operates means that the migration source physical computer copies the memory data used for the virtual machine to be migrated to the memory of the migration destination physical computer, and This is executed by the hypervisor performing an operation such as changing a VM disk image into which data is loaded.
  • the migration of the virtual machine is started when the resource management server 0100 issues an instruction to migrate the virtual machine to the hypervisors 0135 and 0145 of the migration source / destination physical machine.
  • the physical computers P1: 130 and P2: 140 are both connected to the shared HDD 150 in which the VM disk image is stored.
  • the VM disk image can be copied via the network, and the VM disk image data can be copied. If the physical computer to be loaded can be changed, the HDD in which the VM disk image is stored need not be a shared HDD connected to both the physical computers P1: 130 and P2: 140, and the physical computers P1: 130, P2 : HDDs individually connected to 140.
  • the resource management server 0100 obtains information from the physical computers P1: 0130 and P2: 0140, and the physical computer for migrating the virtual computers.
  • the network for copying data and the like between P1: 0130 and P2: 0140 may be separated.
  • FIG. 2 shows an example of the physical computer information table 0200.
  • the physical computer information table 0200 stores all physical computers that can deploy virtual computers in the computer system, such as the physical computer P1: 0130 and the physical computer P2: 0140, and the total computer resource amount allocated to the virtual computers. ing. In the physical computer information table 0200, one row is assigned to one physical computer.
  • the physical computer identifier column 0201 stores an identifier for identifying each physical computer P1: 0130, P2: 0140, and the like.
  • the total memory capacity column 0202 stores the total computer resource amount that each physical computer can allocate to the virtual computer.
  • the row 0211 indicates that the total memory capacity that can be allocated from the memory 0132 of the physical computer P1: 0130 to all virtual computers operating on the physical computer P1: 0130 is “6.0 GB”. Yes.
  • the memory is illustrated as an example of the computer resource allocated to the virtual machine, but other resources allocated to the virtual machine such as the number of CPU clocks and disk I / O, or a combination thereof may be used instead of the memory.
  • FIG. 3 shows an example of the VM information table 0400.
  • the VM information table 0400 stores load information of virtual machines (0136, 0146, etc.) operating on the physical computer P1: 0130 and the physical computer P2: 140 that constitute the computer system.
  • a load is a load that a virtual computer gives to a physical computer.
  • one row is allocated to one virtual machine. It is not necessary to register information regarding virtual machines that are not operating in this table.
  • the VM identifier column 0401 stores identifiers of virtual machines that operate on a plurality of physical computers constituting the computer system. As shown in FIG. 1, an identifier for identifying a virtual machine 0136 and a virtual machine 0146 running on the physical computer P1: 0130 and the physical computer P2: 140 is stored.
  • the physical computer identifier column 0402 stores an identifier for identifying a physical computer to which a running virtual computer is deployed. This identifier is the same identifier as the identifier stored in the physical computer identifier column 0201 of the physical computer information table 0200.
  • the row 0411 stores an identifier “P1” for identifying the physical computer P1: 0130 on which the virtual computer “VM1” operates.
  • the load column 0403 stores the loads of active virtual machines collected from the hypervisors 0135 and 0145 by the measurement process 0114 by the resource management program 0110.
  • the value stored in the load column 0403 is, for example, the maximum value of a plurality of pieces of load information collected by the resource management server 0110 from the hypervisors 0135 and 0145 in the past certain period.
  • the row 0411 means that the maximum value of the memory consumption of the virtual machine “VM1” collected from the hypervisor 0135 by the resource management server 0100 is “2.0 GB”.
  • the maximum value of the memory consumption of the virtual machine collected in the past certain period is illustrated, but the average value of the memory consumption or the standard deviation is added to the average value. It may be an added value. Alternatively, it may be a predicted value of the future load for a certain period from the present, which is predicted based on the load actually measured in the past certain period. Further, instead of the memory, other resources assigned to the virtual machine, such as the number of CPU clocks and disk I / O, or a combination thereof may be used.
  • the value stored in the load column 0403 is an absolute value, but it may be a relative value between the computer resource amount of the physical computer and the collected virtual computer load. Note that the value stored in the load column 0403 does not need to be information of one load, but may be a set of a plurality of pieces of load information of virtual machines collected from the hypervisors 0135, 0136, etc. by the resource management server 0100 in the past fixed period. .
  • FIG. 4 is an example of the reservation information table 0300.
  • This table 0300 is for storing information relating to the operation schedule of the virtual machine.
  • the reservation identifier column 0301 stores an identifier for identifying reservation information for operating a virtual machine in a certain period.
  • the VM identifier column 0302 stores an identifier for identifying a virtual machine that operates the reservation. This identifier is the same as the identifier stored in the virtual machine identifier column 0401 of the VM information table 0400.
  • the identifier stored in the VM identifier column 0401 of the VM information table 0400 is always present in the VM identifier column of the reservation information table 0300, the start time of the reservation information is before the current time, and the end time is after the current time. Is stored. If the disk image of the virtual machine identified by this identifier has already been created in the shared HDD 0150, the virtual machine identifier is stored.
  • the resource management program 0110 stores an appropriate unique identifier and stores the virtual machine disk image when the virtual machine disk image is created. Let the identifier be the identifier of the virtual machine.
  • the start time column 0304 stores the time when the reserved virtual machine starts operating and the resources are allocated from the physical computer, and the end time column 0305 ends the virtual computer and returns the resource to the physical computer. Stores the time.
  • the reservation identifier “RSV1” in the row 0311 indicates that the virtual machine “VM1” is a reservation that operates from April 1, 2010 to September 1, 2010.
  • the deployed physical computer column 0303 stores an identifier for identifying a physical computer that is mounted and operated when the virtual computer starts operation. This identifier is the same as the identifier stored in the physical computer identifier column 0201 of the physical computer information table 0200.
  • the row 0311 indicates that when the virtual machine VM1 starts operation, the virtual machine VM1 operates on the physical computer P1: 0130 and computer resources can be allocated from the physical computer P1: 0130.
  • the identifier in the deployment destination physical computer column 0303 can be changed as appropriate until the virtual computer starts operation.
  • the physical computer on which the virtual computer operates does not have to be determined until the virtual computer starts operation. If it is not determined, “null” may be stored in the deployment destination physical computer column 0303 (line 0314). Since the virtual machine that has started operation can be migrated between a plurality of physical computers, after the virtual machine starts operation, the combination of the VM identifier column 0302 and the deployment destination physical computer column 0303 in the reservation information table 0400, and the VM The combination of the VM identifier column 0401 and the physical computer identifier column 0402 of the information table 0400 may be different.
  • the scheduled load column 0306 the predicted value of the computer resource allocated from the physical computer to the virtual computer when the virtual computer is operated is stored.
  • the value stored in the scheduled load column 0306 is, for example, a value input by a user of the virtual machine by predicting the load of the virtual machine scheduled to operate.
  • the memory consumption is exemplified as an example of the load of the virtual machine as with the value entered in the load 0403 of the VM information table 0400.
  • the CPU clock number and the disk I Other resources assigned to the virtual machine such as / O or a combination thereof may be used.
  • the value stored in the planned load 0306 may be an absolute value or a relative value with the computer resource amount of the physical computer.
  • the value stored in the scheduled load 0306 need not be a single value, but may be a set of a plurality of values. For example, it is 2.0 G from 9 am to 9 pm and 1.0 G from 9 pm to 9 am.
  • the row 0311 indicates that the virtual machine “VM1” has been operating on the physical machine “P1” from April 1, 2010, and 2.0 GB of the total memory capacity of the physical machine “P1” is allocated. This means that 2.0 GB, which is the memory capacity allocated on September 1, 2012, is returned to the physical computer “P1”.
  • the resource management program 0110 determines that the identifier stored in the VM identifier column 0302 of the reserved virtual machine is the same as the identifier of the active virtual machine, the resource management program 0110 and the start time of the reserved virtual machine When the former is the time before the latter by comparing with the end time of the virtual machine, an error is displayed at the time of inputting the reservation information, or the VM identifier of the virtual machine to be reserved is used as the VM identifier of the virtual machine to be reserved The administrator may be prompted to enter a value different from the identifier.
  • FIG. 21 is a reservation information input screen of the virtual machine displayed on the display 0106 by the resource management program 0110 via the output I / F.
  • the placement destination physical computer of the virtual computer may be designated via the reservation information input screen.
  • the placement destination of the virtual computer is described as a physical computer, but this may be a hypervisor.
  • the user may group a plurality of hypervisors and use the resource group as a virtual machine deployment destination. This grouping can limit the range of physical computers in which virtual computers are optimally arranged.
  • FIG. 5 is a flowchart for performing the processing.
  • the resource management program 0110 executes the flowchart of FIG.
  • Optimization means placing virtual machines so that they match the “policy”.
  • the policy is set as a policy file in the resource management program 0110 by the management user.
  • a plurality of virtual machines may be arranged in a plurality of physical machines so that the load of the virtual machines is leveled between the plurality of physical machines.
  • the load leveling may be executed based on the load value exerted on the physical computer by the virtual computer, or based on the remaining capacity of the computer resource of the physical computer.
  • a virtual computer may be deployed to a plurality of physical computers separated by a certain distance or more.
  • the resource management program 0110 executes step S0501 at an arbitrary time.
  • the arbitrary time is, for example, the time set by the user in the resource management server 0100.
  • Step S0501 is executed by the arrangement calculation processing 0112, and the processing up to step S0504 is repeatedly performed until all of the plurality of pieces of physical computer information stored in the physical computer information table 0200 of FIG. 2 are referred to.
  • Step S0502 selects one piece of physical computer information to be referred to. Specifically, one piece of physical computer information stored in the physical computer information table 0200 is selected, and data for one row of the physical computer information table 0200 is stored in the memory 0102.
  • step S0503 the VM information table 0400 in FIG. 3 is referred to, and VM identifier information in which the identifier of the physical computer identifier 0201 of the physical computer information selected in step S0502 matches the identifier of the physical computer identifier column 0402 is obtained from the VM information table 0400. Extract all.
  • step S0504 the placement score of the physical computer is calculated using the value in the memory total capacity column 0202 of the physical computer information selected in step S0502 and the value in the load column 0403 of all VM information extracted in step S0503. Record in the placement score table 0600.
  • the placement score is a value related to the high priority at which a virtual computer can be deployed in each physical computer in order to realize an optimal placement of the virtual computer. It is determined that a physical computer having a larger placement score has a higher priority in mounting a virtual computer.
  • the resource management server 0100 selects, as an index for optimally allocating virtual machines to physical computers, the leveling of the memory space between the plurality of physical computers constituting the computer system between the plurality of physical computers To do. From this point of view, a physical computer having a larger memory capacity is more suitable for deploying a virtual computer scheduled to operate. Therefore, the free capacity of the physical computer becomes the placement score of the physical computer.
  • the physical computer information selected in step S0502 is row 0211
  • the physical computer identifier column 0201 is “P1”
  • FIG. 6 shows data recorded in the placement score table 0600 in step S0504.
  • the placement score table 0600 includes a physical computer identifier column 0601 and a placement score column 0602.
  • the physical computer identifier column 0601 stores the identifier of the physical computer identifier column 0201 of the physical computer information 0200 selected in step S0502.
  • the placement score column 0602 stores the placement score of each physical computer calculated in step S0504.
  • the physical computer “P1” is stored in the placement score table 0600 as shown in the row 0611.
  • the identifier “P1” is stored in the identifier column 0601 and the placement score “4.0” is stored in the placement score column 0602.
  • Step S0505 in FIG. 5 is a terminal step corresponding to S0501 which is the head of the repetition step, and steps S0502 to S0504 are repeatedly executed until all physical computer information stored in the physical computer information table 0200 is referred to.
  • step S0506 based on the information stored in the placement score table 0600 in FIG. 6 and the reservation information table 0300 in FIG. 4, the physical computer stored in the deployment destination physical computer column 0303 in the reservation information table 0300 is displayed. The identifier is read, and the physical computer to which the computer resource is allocated to the virtual computer scheduled to operate is determined. Details of step S0506 are shown in the flowchart of FIG.
  • FIG. 7 is a flowchart for achieving the process (S0506 in FIG. 5) for determining the destination physical computer in which the virtual computer scheduled to operate is placed.
  • This flowchart shows that the management server 0100 is scheduled to operate every “predetermined period” from the “start time” when executing (re) allocation of virtual machines to a plurality of physical computers existing in the computer system.
  • This is an example of a process for determining which physical computer is optimally arranged from among a plurality of physical computers.
  • the management server 0100 acquires information of “(relocation execution) scheduled time” and “predetermined period” by input from the administrator user.
  • the “scheduled time” may be any time after the time when the process of FIG. 5 is completed.
  • the “predetermined period” is a predetermined period from the “scheduled time” to the next “scheduled time”, and is, for example, one week or one month.
  • Step S0702 refers to the reservation information table 0300 in FIG. 4 and extracts all reservation information in a row whose time stored in the start time column 0304 is within the “predetermined period” from the “scheduled time”. For example, when the resource management program 0110 acquires “scheduled time” as “May 1, 2010 0:00” and a certain period as “1 month” in step S0701, step S0702 displays the reservation information table 0300 in FIG. , A row 0313 in which the time stored in the start time column 0304 is between 0:00 on May 1, 2010 and May 31, 2010 is extracted.
  • step S0703 the processing up to step S0707 is repeatedly performed until all the reservation information extracted in step S0702 is referred to.
  • step S0704 one piece of extracted reservation information is selected.
  • step S0705 the arrangement of the virtual computers scheduled to operate is determined based on the arrangement score table 0600 shown in FIG. 6, and the deployment destination physical computer column of the reservation information table is updated based on the result. Specifically, the reservation information table is updated so that the identifier of the placement destination physical computer column of the reservation information selected in step S0703 becomes the identifier of the physical computer with the highest score in the placement score table 0600.
  • the management program 0110 refers to the placement score column 0602 of the placement score table 0600 (FIG. 6), the row with the largest placement score is 0612, and the reservation information selected in step S0704 is the reservation information table 0300 (FIG. 4).
  • the virtual machine “VM3” scheduled to be operated indicated by the VM identifier column 0302 is deployed and the physical computer to be operated is the physical computer “P2” indicated by the physical computer identifier column 0601 of row 0612. judge.
  • the deployment destination physical computer identifier 0303 in the row 0313 is “P1”, but the management program 0110 updates the deployment destination physical computer identifier 0303 to the identifier “P2”. Even when the deployment-destination physical computer identifier 0303 in the row 0313 is “null”, the identifier is updated to “P2”.
  • Step S0706 is a case where the virtual machine scheduled for operation indicated by the VM identifier 0302 of the reservation information selected in step S0704 is assigned as a computer resource from the physical computer determined in step S0705 to the load indicated in the scheduled load column 0306.
  • the placement score of the physical computer is recalculated, and the recalculated placement score is updated and registered in the placement score table 0600.
  • the physical computer on which the virtual computer scheduled to operate is determined as “P2” determined in step S0705, and the reservation information selected in step S0704 is row 0313 of the reservation information table 0300.
  • the value before the update of the arrangement score column 0602 in the row 0612 indicating the arrangement score of the physical computer “P2” is “7.0”
  • the VM identifier column 0302 in the row 0313 is “ VM3 ”and the scheduled load column 0306 is“ 3.0 GB ”.
  • the free capacity of the memory of the physical computer “P2” becomes 4.0 G (7.0 GB-3.0 GB) when the virtual computer “VM3” is newly allocated, and therefore the row 0612 of the arrangement score table 0600 The value of the arrangement score column 0602 is updated to 4.0G.
  • Step S0707 is a termination step corresponding to S0703, which is the head of the repetition step.
  • the management program 0110 repeatedly executes the above steps until step S0707 until all the reservation information extracted in step S0702 is referred to.
  • the resource management program 0110 displays that the virtual computer related to the operation schedule cannot be allocated to the physical computer.
  • the management program 0110 moves the physical computer identified by the identifier stored in the deployment destination physical computer column 0303 of the reservation information table 0300 as the deployment processing 0115 (FIG. 1).
  • the virtual machine identified in the VM identifier column 0302 is deployed to the target physical computer at the time stored in the start time column 0304 of the reservation information table 0800C. Thereby, the optimal arrangement of the virtual machines scheduled to be operated is realized.
  • the management server 0100 changes the identifier of the deployment destination physical computer column in the row 0313 of the reservation information table 0300 from the physical computer “P1” to the physical computer “
  • the virtual machine “VM3” on the physical computer “P2” from May 5, 2010, from May 5, 2010 to September 1, 2010, Realize the optimal placement of virtual machines by making the free capacity of both the physical computer "P1” and the physical computer “P2” 4.0 GB and leveling the free capacity of multiple physical computers that make up the computer system To do.
  • step S0703 to step S0707 in FIG. 7 determines the arrangement of virtual machines
  • the order of determining the arrangement of virtual machines is n floors. There is a ride. Therefore, in the process of FIG. 7, the virtual machine layout determination process is executed with the virtual machine layout determination order fixed in one way. However, the processing of FIG. 7 repeatedly executes the virtual machine placement determination process in the order of m (m ⁇ n factorial), and all the physical in the placement of the virtual machine scheduled for operation determined in each order. You may change so that the arrangement
  • the computer system in the above-described embodiment is currently operating load balance adjustment of a plurality of physical computers on which a plurality of virtual computers are mounted when determining an optimal arrangement of a plurality of virtual computers.
  • the load balance of the entire system is optimized without repeating the optimal placement process of multiple virtual machines when the virtual machines that are scheduled to operate are actually operating Can be adjusted.
  • the optimal placement processing of multiple virtual machines is performed without the migration of the operating virtual machines. In order to achieve this, an increase in the load on the network associated with the migration of virtual machines among a plurality of physical machines is prevented.
  • the virtual machine When migrating a virtual machine that is installed and running on a physical machine between multiple physical machines, the virtual machine is transferred to the physical machine to which the virtual machine is migrated. Copying from a computer, the migration destination physical computer must create a new virtual computer based on the copied information, and stop the copy source virtual computer. At this time, if the storage information in the copy source memory is updated before the copy is completed, the migration source physical computer needs to copy the updated information to the migration destination physical computer again. Therefore, if the amount of information to be copied is large, it takes a long time to migrate the virtual machine. Since the computer system according to the above-described embodiment is not accompanied by migration of an operating virtual machine, such a problem is solved.
  • the management server realizes the optimal placement of virtual machines, assuming that the virtual machines scheduled for operation can be mounted on all physical computers that make up the computer system. May be restricted. Such a physical computer can be registered on the reservation screen (FIG. 21). For virtual machines that need to be placed on a specific physical calculation on the reservation screen and do not want to be optimally placed, the management user registers the combination of this virtual machine and physical computer on the reservation screen. be able to.
  • start timing of optimal placement of a plurality of virtual servers is periodically generated.
  • this is a manual trigger, addition of reservation, change of reservation (start time, end time, load) ), Deleting a reservation, or deleting a virtual machine.
  • the “certain period” is described as one month, but this is an example. If the “certain period” is long, the “optimal placement” will not be realized for a long time until the virtual machine scheduled to start operation starts. On the other hand, if this period is short, the virtual machine will be relocated frequently. Will have to be implemented. Therefore, the “certain period” is set within a reasonable range for the operation of the computer system.
  • the management server sets a target value related to the load on each physical computer belonging to the computer system, and optimally arranges the virtual computers scheduled to operate. If the target value cannot be achieved simply by relocating the virtual machines that are in operation, that is, relocating the virtual machines that are in operation when the optimal placement of the virtual machines that are scheduled to operate is achieved. It is the point that tries to achieve the value. However, in the computer system according to this embodiment, the frequency and number of virtual computers in operation are reduced as much as possible as follows.
  • FIGS. 8A to 8C show the physical computer information table 0800A (FIG. 8A), the VM information table 0800B (FIG. 8B), and the reservation information table 0800C (FIG. 8C) according to the second embodiment.
  • FIG. 8 (C)) is shown.
  • the physical computer information table 0800A has the same structure as the physical computer information table 0200 in the first embodiment.
  • the VM information table 0800B has the same structure as the VM information table 0400 in the first embodiment.
  • the reservation information table 0800C has the same structure as the reservation information table 0300 of the first embodiment.
  • the data registered in the management table of the first embodiment may differ from the data registered in the management table shown in FIGS. 8A to 8C.
  • FIG. 9 shows a flowchart of processing for optimally arranging virtual machines in a plurality of physical computers in the second embodiment.
  • the resource management program 0110 shown in FIG. 1 executes the flowchart of FIG.
  • the processing shown in FIG. 9 is based on the flowcharts of FIGS. 5 and 7 on the premise of the determined optimal arrangement of the virtual machines scheduled to be operated, and includes a plurality of existing virtual machines in the computer system. This is to determine whether or not the optimal arrangement of virtual machines can be maintained. If this determination is affirmed, the resource management program 0110 terminates the virtual machine placement process, and if this determination is negative, both the active virtual machine and the virtual machine that is scheduled to operate are both a plurality of physical computers. Change the placement for.
  • the resource management program 0110 executes the optimum placement processing for the scheduled virtual machine to be operated according to step S0901 at an arbitrary time set by the user of the resource management server 0100.
  • Step S0901 corresponds to the flowcharts of FIGS. 5 and 7 described above.
  • step S0902 it is possible to improve the balance of the load among a plurality of physical computers by simply placing the virtual computer scheduled to be operated in the target physical computer, which is determined in step S0901. Determine if it can be achieved. If step S0902 affirms this determination, the process for optimal placement of virtual machines is terminated.
  • the deployment process 0115 (FIG. 1) is stored in the VM identifier column 0302 in the physical computer identified by the identifier stored in the deployment destination physical computer column 0303 of the reservation information table 0800C (FIG. 8C).
  • the reserved virtual machine identified by the identifier is set to the time stored in the start time column 0304.
  • the process proceeds to step S0903.
  • step S0701 in FIG. 7 within the “predetermined period” (eg, January) from the “scheduled time” (eg, 0:00 on May 1, 2010), the free memory capacity of each physical computer and all the physical computers The difference from the average value of the empty memory capacity is within 0.5 GB in all physical computers. Note that the states of the tables shown in FIGS. 8A to 8C are those after the execution of step S0901.
  • the virtual computer “VM2” having a load of “2.0 GB” is operating, and within a certain period (one month) from the relocation time (00:00 on May 1, 2010).
  • step S0903 is executed.
  • Step S0903 executes arithmetic processing for determining an optimal arrangement of a plurality of virtual machines including a running virtual machine and a scheduled virtual machine. At this time, the number of active virtual machines to be migrated between a plurality of physical computers is reduced.
  • the resource management program 0110 changes the identifier of the physical computer identifier 0402 in the VM information table 0800B to the identifier of the migration destination physical computer for the operating virtual computer to be migrated to another physical computer based on the calculation result. To do. Further, for the virtual computer scheduled to be operated, the identifier of the deployment destination physical computer 0303 in the reservation information table 0800C is changed to the identifier of the placement destination physical computer of the operation-scheduled virtual computer re-determined in step S0903. A detailed flowchart of step S0903 will be described with reference to FIG.
  • FIG. 23 shows a management table corresponding to the arrangement form of a plurality of virtual machines obtained by the optimum arrangement process of the virtual machines.
  • (A) is a physical computer configuration table
  • (B) is a VM information table related to a virtual machine after optimal placement
  • (C) is a reservation information table for a virtual machine reserved for operation after optimal placement. .
  • VM3 currently operating virtual machine
  • step S0904 it is determined whether or not to change the virtual machine arrangement in the computer system to the virtual machine arrangement determined in step S0903. That is, the management program 0100 compares the virtual machine layout determined in step S0901 with the virtual machine layout determined in step S0903, and the layout determined in step S0903 is targeted. Determine whether they are close. If the arrangement determined in step S0903 is closer to the optimal arrangement target of the virtual machine, the process proceeds to step S0905. If the arrangement determined in step S0901 is closer to the optimal arrangement target of the virtual machine, the process proceeds to step S0906. In step S0906, the arrangement of the virtual machines scheduled to operate and the arrangement of the operating virtual machines are returned to the state before execution of step S0903.
  • step S0904 is aimed at "arrangement of a plurality of virtual machines in which the free capacity of the memory of all physical computers belonging to the computer system is leveled"
  • the operating virtual machine determined in step S0901 The standard deviation of the free space of the memory for all the physical computers after the optimal allocation of the virtual machines scheduled to operate and the relocation of the operating virtual machines determined in step S0903 are allowed without relocation of the virtual machines.
  • the standard deviation of the free capacity of the memory for all the physical computers in the state is compared, and if the latter is smaller than the former, the process proceeds to step S0905, and if vice versa, the process proceeds to S0906. If both are the same, move to either.
  • step S0904 the management program 0110 compares the virtual machine layout determined in step S0901 with the virtual machine layout determined in step S0903, but is determined in step S0903. Similarly to step S0902, it may be determined whether or not the placement of the virtual machines has achieved the goal related to the optimum placement of the virtual machines.
  • step S0905 the VM migration process 0113 (FIG. 1) of the resource management program 0110 is executed, and the running virtual machine is migrated so that the virtual machine arrangement determined in step S0903 is obtained.
  • This migration process starts at the “relocation execution scheduled time” acquired in step S0701.
  • step S0906 the physical computer identifier 0402 in the VM information table 0800B and the deployment destination physical computer identifier 0303 in the reservation information table 0800C changed in step S0903 are returned to the state before step S0903 is executed.
  • FIG. 10 is a flowchart relating to processing for creating a plan for arranging the active virtual machine and the virtual machine scheduled to be operated on the physical computer in an optimal form, which is executed in step S0903 of FIG. This flowchart is executed by the resource management program 0110.
  • Step S1001 determines a boundary condition, for example, “capacity condition” for each physical computer for realizing the optimal arrangement of the virtual machines.
  • the “capacity condition” is an index related to the memory capacity of the physical computer that the resource management program 0110 considers when determining whether to change the arrangement of the virtual machines operating on each physical computer. .
  • the resource management program 0110 aims to equalize the free capacity of each memory of a plurality of physical computers, and each physical computer within a certain period from the time when the relocation of the plurality of virtual computers is to be executed. Is set as a capacity condition that the free capacity is equal to or greater than the average value of the free capacity of all physical computers.
  • the average of the free capacity of all physical computers within a certain period from the relocation execution time is 4.0 GB, so the capacity condition of each physical computer is “empty”.
  • the capacity is 4.0 GB or more. If the operating virtual machine is not migrated, the resource management program determines the physical computer that is the migration destination of the operating virtual machine based on the placement score only when this condition is not satisfied.
  • step S1002 the processing up to step S1009 is repeated until all the individual virtual machine information stored in the VM information table 0800B is referred to.
  • step S1003 one piece of VM information to be referred to is selected.
  • step S1004 the VM information of the active virtual machine whose arrangement has already been determined in the iterative processing steps S1002 to S1009 is used to calculate the load of the physical computer on which the virtual machine selected in step S1003 is operating. To do.
  • step S1002 to step S1009 is executed twice, the arrangement of the virtual machine with the VM identifier “VM1” in the VM information table 0800B is the physical machine “P1”, and the arrangement of the virtual machine with the VM identifier “VM2” Is determined as the physical computer “P2”, and the identifiers “P1” and “P2” of the respective physical computers are stored in the physical computer identifier column 0402 of the VM information table 0800B.
  • the operating virtual machine selected from the VM information table 0800B in step S1003 is assumed to be a virtual machine identified by the VM identifier “VM3”.
  • the physical computer on which “VM3” operates is the physical computer “P1” identified in the physical computer identifier column 0413 in row 0413. It is determined that the virtual machine “VM1” is allocated to the physical machine “P1”, and the load is “2.0 GB” by referring to the load column 0403 in the row 0411 of the VM information table 0800B. Therefore, the load on the physical computer “P1” in step S1004 is 2.0 GB.
  • step S1005 when the operating virtual machine selected in step S1003 is not transferred from the current physical computer to another physical computer, the load of the physical computer on which the selected virtual machine is currently operating is determined. In this step, it is determined whether or not the capacity condition set in step S1001 is satisfied. If the capacity condition is not satisfied, the process proceeds to step S1007, and if the capacity condition is satisfied, the process proceeds to step S1009.
  • step S1001 “the free capacity of each physical computer is set to 4.0 GB or more” is set as the capacity condition, and the operating virtual machine selected from the VM information table 0800B in step S1003 has the VM identifier “VM3”.
  • the total memory capacity of the physical computer “P1” in which “VM3” is installed is 6.0 GB as shown in the total memory capacity column 0202, and the virtual computer “VM3”
  • the load is 1.0 GB according to the load column 0403 of the VM information table 0800B.
  • the calculated load of the physical computer “P1” is 2.0 GB.
  • step S1007 the placement score of a plurality of physical computers is determined using the load of the operating virtual computer whose placement with respect to the physical computer has already been determined by the repeated processing from step S1002 to step S1009.
  • the concept of the arrangement score is the same as that in step S0504 in FIG.
  • step S1008 based on the arrangement score calculated in step S1007, the virtual machine selected in step S1003 is migrated from the currently installed physical computer to determine another physical computer to be mounted, and the VM information
  • the identifier of the other physical computer is stored in the physical computer identifier column 0402 of the row where the selected virtual computer exists in the table 0800B.
  • the free space of the memory is used as the placement score of each physical computer.
  • step S1007 the iterative processing from step S1002 to step S1009 has already been executed twice, and the virtual computer identified by the VM identifier “VM1” in the VM information table 0800B is the physical computer “P1”.
  • the virtual machine identified by the VM identifier “VM2” is arranged in the physical computer “P2”, and these identifiers “P1” and “P2” are determined in the VM information table 0800B. It is assumed that it is stored in the physical computer identifier column 0402.
  • the placement scores are 4.0 and 6.0, respectively.
  • the arrangement of the virtual machine (VM3) selected in step S1003 is determined to be the physical machine “P2” having the highest arrangement score, and row 0413 indicating the virtual machine (VM3) in the VM information table 0800B is displayed.
  • the identifier of the physical computer identifier column 0402 is changed and registered from “P1” to “P2”.
  • step S1003 if the placement score of the physical computer on which the virtual computer selected in step S1003 is the largest, the virtual computer is not transferred to another computer. However, since the flowchart of FIG. 10 (S0903) is executed after the determination in step S0902 is denied, at least one operating virtual machine has the most margin in resource capacity from the currently operating computer. Migrated to a physical computer.
  • Step S1009 is a termination step corresponding to S1002, which is the head of the repetition step. Until the resource management program S0110 refers to all the virtual machine information stored in the VM information table 0800B, S1002 to S1009 are repeatedly executed.
  • Step S1010 is a step of rearranging virtual machines scheduled to be operated based on the arrangement of operating virtual machines determined in steps S1002 to S1009, and is the same as the flowchart of FIG.
  • FIG. 22 is an input screen corresponding to step S0903 (flowchart in FIG. 10).
  • step S0903 continues the optimum placement plan creation process.
  • FIG. 22 shows that the virtual machine (VM1) that is operating on the physical computer (P1) is migrated to another physical computer (P2), and the virtual machine (VM3) that is scheduled to operate is the original scheduled physical computer (P1). It shows that the shift to the other physical computer (P3) is output as the optimum arrangement. The latter is the optimal arrangement determined in step S1010.
  • FIG. 10 shows an example of a method for simultaneously determining the optimal arrangement of the virtual machines that are in operation and the optimal arrangement of the virtual machines that are scheduled to operate.
  • the placement order of the placement includes n levels. There is a ride.
  • FIG. 10 has been described assuming that the order for determining the placement of virtual machines is one, but the resource management program 0110 examines the placement pattern of virtual machines in the order of m ways (m ⁇ n factorial). However, the arrangement of the patterns with the smallest standard deviation of the free capacity of all the physical computers may be the optimum arrangement.
  • the resource management program 0110 determines the arrangement of virtual machines scheduled to operate in order to realize the optimal arrangement of virtual machines at regular intervals from the scheduled time.
  • the target in the optimal arrangement of a plurality of virtual machines including the computer cannot be achieved, the optimum arrangement of the plurality of virtual machines as a whole is realized by shifting the operating virtual machines.
  • the resource management program 0110 reduces the frequency and the number of times the operating virtual machine is migrated by changing the arrangement of the operating virtual machine when the capacity condition described above is not satisfied. As a result, the resource management program reduces the time required for migration of the virtual machines that must be migrated, and stably maintains the performance of the plurality of virtual machines in the computer system.
  • the resource management program can also place restrictions on physical computers to which virtual computers that are in operation and / or scheduled to operate are migrated.
  • the resource management program calculates the standard deviation of the free capacity of all physical computers and the number of virtual computers to be migrated for all combinations of multiple virtual machines that are in operation and planned to be operated. Optimize the virtual machine by adopting an arrangement that minimizes the number of virtual machines that should be migrated from the currently running physical machine to another physical machine and that minimizes the standard deviation of the placement score. An arrangement may be realized.
  • the virtual machine that has already been operating for a certain period from the time when the operation of the scheduled virtual machine starts and the virtual machine that has started operating during this period are not terminated, interrupted, or stopped.
  • the operation of the active computer may end during this period, and the optimum arrangement of a plurality of virtual computers including the operation scheduled computer is determined in consideration of this.
  • the resource management server 0110 determines not only the operation start time of the virtual machine but also the operation end time as elements for determining the optimum arrangement, and determines the arrangement of the virtual machines scheduled to operate.
  • the resource management program determines the placement of multiple virtual machines scheduled for operation in the order of the start time of operation, and when determining the placement of a virtual machine scheduled for operation, starts the operation of the virtual machine scheduled for operation. If there is a virtual machine that terminates operation before the time, the corresponding load is subtracted from the physical computer load, and the actual value of the physical computer load immediately before the operation start time of the scheduled virtual machine is calculated. Based on the calculated load of each physical computer, the arrangement of the virtual computers that are scheduled to operate is determined.
  • the third embodiment will be described based on a flowchart. Also in this embodiment, as an index for optimally allocating a virtual computer to a physical computer, the virtual computer is allocated so that the free capacities of a plurality of physical computers in the computer system are leveled.
  • the third embodiment differs from the previous two embodiments in that the processing in the third embodiment reconfigures the arrangement of a plurality of virtual machines in consideration of the end time of the scheduled virtual machine. It is.
  • FIG. 11A shows a physical computer information table 1100A according to this embodiment
  • FIG. 11B shows a VM information table 1100B
  • FIG. 11C shows a reservation information table 1100C.
  • the configuration of the table excluding the reservation information table is the same as that of the above-described embodiment.
  • This reservation information table is different from the reservation information table of the above-described embodiment in that an operation status column 0307 is provided.
  • the operating status column 0307 stores an identifier indicating the operating status of the virtual machine identified in the VM identifier column 0302 in each row of the reservation information table 1100C.
  • operation status There are two types of operation status: “operation” and “stop”. “Operating” indicates a state in which the virtual computer is operated on the physical computer by the reservation. “Stop” indicates that the virtual machine is not operated on the physical computer by the reservation.
  • operation status column 0307 For the row in which “operation” is stored in the operation status column 0307, the virtual machine identifier stored in the VM identifier column 0302 always exists in the VM identifier column 0401 of the VM information table 1100B.
  • the row 0311 of the reservation information table 1100C in FIG. 11 includes the VM information table 1100B.
  • the VM identifier column 0401 there is a row 0411 in which the identifier “VM1” is stored. If the virtual machine is operating but not operating due to the reservation, “stopped” is stored in the operating status column 0307. For example, in row 0316 of the reservation information table 1100C in FIG.
  • the identifier “VM1” of the operating virtual machine is stored in the VM identifier column 0302, but the virtual machine “VM1” is not row 0316, but row 0311 Since it is operating according to the reservation shown, “stop” is stored in the operation status column 0307 of the row 0316.
  • FIG. 12 is a flowchart for determining the optimal arrangement of the virtual machines scheduled to operate in the third embodiment. This is executed by the resource management program 0110.
  • the resource management program 0110 executes step S1201 at an arbitrary time.
  • the arbitrary time is, for example, the time set by the user in the resource management server 0100.
  • Step S1201 is the same processing as the processing from step S0501 to step S0505 in the flowchart of FIG.
  • the resource management program 0110 calculates the placement score of each physical computer from the load of the operating virtual computer and the total memory capacity of the physical computer, and records it in the placement score table 0600 of FIG.
  • Step S1202 is the same process as step S0701 of FIG.
  • Step S1203 is the same process as step S0702 of the flowchart of FIG.
  • step S1204 the reservation information extracted in step S1203 is sorted in ascending order by start time.
  • Step S1205 sets the current time as an initial value of time information (hereinafter referred to as time information) recorded in a predetermined area of the management server memory 0102.
  • time information time information
  • step S1206 the processing from step S1207 to step S1219 is repeatedly performed until all the reservation information extracted in step S1203 is referred to.
  • step S1207 one piece of extracted reservation information is selected.
  • step S1208 the reservation information table 1100C is referred to, and all the reservation information whose operation ends during the period of the start time of the reservation information selected from the time information is extracted. For example, when the time information is 0:00 on May 1, 2010 and the reservation information selected in step S1207 is row 0313, the start time column 0304 of row 0313 is May 10, 2010, so step S1208 Extracts the row 0312 whose end time column 0305 is May 5, 2010.
  • step S1209 the processing up to step S1214 is repeated until all the reservation information extracted in step S1208 is referred to.
  • step S1210 one piece of reservation information extracted in step S1208 is selected.
  • step S1211 it is determined whether the reservation information selected in step S1210 is the reservation information of the operating virtual machine or the reservation information of the virtual machine scheduled to be operated. In the case of an operating virtual machine, the process proceeds to step S1212. In the case of a virtual machine scheduled to operate, the process proceeds to step S1213. Specifically, if the identifier stored in the operation status column 0307 of the reservation information selected in step S1210 is “operation”, the process proceeds to step S1212, and if it is “stop”, the process proceeds to step S1213. .
  • Step S1212 updates the placement score table 0600 of FIG. 6 based on the load of the operating virtual machine identified by the VM identifier column 0302 of the reservation information selected in Step S1210. Specifically, a row in which the VM identifier 0401 matches the identifier stored in the VM identifier column 0302 of the reservation information selected in step S1210 is extracted from the VM information table 1100B. The physical computer placement score when the load of the virtual machine stored in the extracted row load column 0403 is removed from the load of the physical computer identified by the identifier stored in the physical computer identifier column 0402 of that row. Recalculation is performed, and the placement score is updated and registered in the placement score table 0600.
  • the placement score is defined as the free capacity of each physical computer and the reservation information selected in step S1210 is row 0312 of the reservation information table 1100C
  • the reservation target virtual computer is stored in the column 0302 of 0312.
  • the virtual machine with the identifier “VM2” is based on the VM information table 1100B, and the line whose VM identifier column 0401 is “VM2” is 0412.
  • the load column 0403 in the row 0412 of the VM information table 1100B is “1.0 GB”
  • the physical computer identifier 0402 is “P2”
  • “P2” is stored in the physical computer identifier column 0601 of the arrangement score table shown in FIG.
  • the row that has been set is row 0612
  • the placement score column 0602 of row 0612 is “7.0”.
  • the free memory capacity of the physical computer P2 is 7.0 GB.
  • the load “1.0 GB” of the VM 12 indicated by the row 0412 is removed from the load of the physical computer P2
  • the actual free capacity of the physical computer P2 is 8.0 GB. Therefore, 8.0 is stored in the placement score column 0602 of the row 0612 of the placement score table 0600.
  • Step S1213 updates the arrangement score table 0600 of FIG. 6 based on the load stored in the scheduled load column 0306 of the reservation information selected in Step S1210. Specifically, in step S1210, the load stored in the scheduled load column 0306 of the selected reservation information is removed from the load of the physical computer identified by the identifier stored in the deployment destination physical computer column 0303. The placement score of the physical computer is calculated, and the placement score is stored in the placement score table 0600.
  • the resource management program 0110 defines the placement score as the free capacity of the memory of each physical computer
  • the reservation information selected in step S1210 is row 0314 in the reservation information table 1100C
  • the scheduled load column 0306 in row 0314 is “1.0 GB”
  • the deployment destination physical computer column 0402 is “P1”
  • the row in which “P1” is stored in the physical computer identifier column 0601 of the placement score table shown in FIG. 4.0 is stored in the arrangement score column 0602 of the row 0611.
  • step S1213 when the free capacity of the memory of the physical computer P1 is 4.0 GB and the planned load “1.0 GB” of the VM indicated by the row 0314 is removed from the load of the physical computer P1, the free space of the physical computer P2 Since the capacity is 5.0 GB, 5.0 is stored in the placement score column 0602 of the row 0611 of the placement score table 0600.
  • Step S1214 is a termination step corresponding to S1209 which is the head of the repetition step. The above-described steps are repeatedly executed until all the reservation information extracted in step S1208 is referred to.
  • step S1215 and S1217 The processing in steps S1215 and S1217 is the same as the processing in steps S0705 and S0706 described with reference to FIG.
  • step S1218 the time stored in the start time column 0304 of the reservation information selected in step S1207 is overwritten and recorded in the memory initialized in step S1205.
  • step S1219 is a termination step corresponding to S1206 which is the head of the return step, and the above-described steps are repeatedly executed until all the reservation information extracted in step S1203 is referred to.
  • the load of each physical computer between the start time and the end time of the selected reservation information is set to the planned load and start time of the virtual machine that is in operation and the virtual machine that is scheduled to be operated first.
  • the placement score of each physical computer it is not necessary to determine the placement of the operation-scheduled virtual computer from the earliest start time.
  • the resource management program selects a virtual machine scheduled for operation and decides the placement, it determines the operation period of the selected virtual machine from the load of the virtual machine that is operating in the operation period of the selected virtual machine. Calculate the load on each physical computer and determine the placement of the selected virtual machine to be operated based on the calculated load on each physical machine, so that the virtual machine that is currently operating or the virtual machine that is scheduled to operate is relocated. Even when the operation is terminated within a certain period from the time, it is possible to determine the optimal arrangement of the virtual machines scheduled to operate.
  • FIG. 13A to FIG. 13C show that the resource management program 0110 does not need to consider the end time of the operating virtual machine when determining the placement of the virtual machine to be operated.
  • the management table includes a physical computer information table 0800A (FIG. 13A), a VM information table 0800B (FIG. 13B), and a reservation information table 0800C (FIG. 13C).
  • FIG. 14 is a graph showing the displacement of the load on the virtual machine with respect to the total memory capacity of the physical server (P3).
  • the virtual machine (VM10) that was scheduled to operate is already operating on the physical server (P3) at the current time (March 1, 2010), and the current time is one month from the current time.
  • the virtual machine (VM11) and the virtual machine (VM12) continue to operate in the physical server (P3), and during that time, the three virtual machines (VM10, VM11, VM 12) does not finish operation. Therefore, when the resource management program 0110 determines the placement of the virtual machines (VM11, VM12) to be operated on the physical server (P3) at the current time and operates these virtual machines, the physical computer (P3) has already been used. It is not necessary to reduce the load of the virtual machines already arranged in the total capacity of the physical computer (P3) memory.
  • FIG. 15 is a modification of the reservation information table according to FIG. According to the reservation information table of FIG. 15, within one month from the current time (March 1, 2010), the virtual machine (VM10) and the virtual machine (VM11) are temporarily placed on the physical machine (P3). However, the operation will be completed by April 1, 2010. Therefore, the actual planned load of the virtual machine arranged in the physical computer (P3) during this period is the value of the planned load of the virtual machine (VM11) (FIG. 16). Therefore, when the resource management program 0110 calculates the above-described placement score of the physical computer (P3), it must be based on the planned load value of the physical computer (P3).
  • the virtual machine load is not present in the physical machine (P3), as shown in FIG.
  • the placement score is based on these accumulations and is accumulated in the load of the computer (VM12), and the management program has no allowance even though the capacity of the physical computer (P3) has an allowance.
  • the placement destination of the virtual machine (VM11) and / or the virtual machine (VM12) is determined by another physical machine, and there is a possibility that the objective of the optimum placement of the virtual machine scheduled to operate cannot be achieved.
  • FIGS. 18-20 are other examples of FIGS. 15-17.
  • FIG. 18 is a reservation information table
  • FIG. 19 shows the load displacement of the virtual machine in the physical computer (P3) when the end of the operation of the virtual machine is considered
  • FIG. 20 shows the end of the operation of the virtual machine This shows the displacement of the load of the virtual computer in the physical computer (P3) when the above is not considered.
  • This example is different from the previous example in FIG. 19 in that the maximum value of the planned load between the current time (March 1, 2010) and a certain period (January) is the virtual machine (VM10) and virtual When the operating periods of the computer (VM 11) partially overlap, they are added values.
  • the management user can also specify a physical server on which a virtual machine scheduled to operate is to be deployed. For example, if a virtual machine is deployed on a special physical server and you want to run the virtual machine on that physical server, the management user specifies the physical server where the virtual machine is to be placed, and the virtual machine is not subject to relocation If you want to limit a certain virtual machine to move only between specific physical machines, the management user specifies the range of the virtual machines where the virtual machines are to be placed, and determines the placement destination when the virtual machines are optimally placed. The placement of virtual machines is determined within the range of physical machines specified at times.
  • the management user can also set restrictions on the placement of the virtual machine. For example, when operating a specified virtual machine on the same physical computer, operating a specified virtual machine on a different physical computer, a physical computer with a network distance as close as possible to the specified virtual machines For example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

計算機システムで仮想計算機を稼働させる予定情報から、稼働が予定された仮想計算機の予定負荷を取得し、当該予定負荷と稼働中の仮想計算機の実際の負荷とから、計算機システムで前記稼働が予定された仮想計算機の稼働開始時刻以前に、当該稼働予定に係る計算機を配置する仮想計算機の実行主体を決定する。

Description

計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
 本発明は計算機システムに係り、特に、計算機システムに存在する物理サーバに仮想計算機を最適に配置するのに適した計算機システムに関するものである。さらに、本発明は、仮想計算機システムにおける仮想計算機の配置の最適化方法に関するものである。
 計算機システムのリソースを有効に活用するという観点から、1つの物理サーバの持つ計算機リソースを複数の仮想計算機(VM:irtual achine)で利用させるという、サーバの仮想化技術が知られている。仮想計算機は、物理サーバで、仮想サーバとして動作することによって、複数のユーザが物理サーバ(物理計算機)のリソースを有効に利用することができるようになる。
 複数の物理計算機と複数の仮想計算機とが存在する計算機システムでは、複数の物理計算機に複数の仮想計算機を最適に配置される。例えば、それぞれ仮想計算機が動作している複数の物理計算機間で負荷が互いに平準化されるように、複数の仮想計算機を複数の物理計算機に分散させたり、これとは反対に、計算機システムの省電力のために、できるだけ多くの仮想計算機を同じ物理計算機に片寄したりなど、仮想計算機の最適配置処理が望まれている。
 仮想計算機の最適配置処理のために、複数の物理計算機間で仮想計算機の配置の再構成が行われる。仮想計算機の再配置に当たっては、仮想計算機を複数の物理計算機間で移行される。計算機システムの管理サーバ(管理計算機)は、移行元物理計算機の計算機リソースを仮想計算機から解放し、移行先計算機の計算機リソースを仮想計算機に割当てる。
 例えば、特開2010-224756号公報、及び、特開2010-211546号公報には、管理計算機が、仮想計算機と物理計算機との最適な組み合わせを算出し、その算出結果に基づいて、仮想計算機が稼働中であっても、仮想計算機を複数の物理計算機間で移行させることにより、それぞれ仮想計算機をデプロイした、複数の物理計算機間で負荷のバランスを調整するシステムが開示されている。
特開2010-224756号公報 特開2010-211546号公報
 既述の公報によって開示された従来のシステムは、仮想計算機の過去の負荷情報、さらに、仮想計算機の将来予測される負荷情報を考慮して、複数の物理計算機に対する複数の仮想計算機の最適配置を決定していたが、仮想計算機の数が変更される場合を考慮に入れて仮想計算機の最適配置を実現しようとするものではなかった。
 すなわち、計算機システムにおいて、仮想計算機の最適な配置が一旦実現されても、新たな仮想計算機が物理計算機で稼働し始めた段階で仮想計算機の最適な配置状態が悪影響を受けてしまう。それを避けようとすると、新たな仮想計算機を物理計算機で稼働した段階で、管理計算機は、仮想計算機の最適配置処理をやり直さなければならないという課題があった。
 そこで、本発明は、複数の物理計算機に複数の仮想計算機を最適に配置する処理における負荷が低減された計算機システムを提供することを目的とするものである。
 本発明の他の目的は、新たな仮想計算機が物理計算機で稼働し始めても、稼働中の仮想計算機の最適な配置状態を損なわないようにした計算機システムを提供することにある。
 本発明のさらに他の目的は、計算機システムにおいて、仮想計算機の配置の最適化方法を提供することにある。
 前記目的を達成するために、本発明は、計算機システムで仮想計算機を稼働させる予定情報から、稼働が予定された仮想計算機の予定負荷を取得し、当該予定負荷と稼働中の仮想計算機の実際の負荷とから、計算機システムで前記稼働が予定された仮想計算機の稼働開始時刻以前に、当該稼働予定に係る計算機を配置する仮想計算機の実行主体を決定することを特徴とするものである。
 以上説明したように、本発明によれば、複数の物理計算機に複数の仮想計算機を最適に配置する処理における負荷が低減された計算機システムを提供することができる。さらに、本発明によれば、新たな仮想計算機が物理計算機で稼働し始めても、稼働中の仮想計算機の最適な配置状態を損なわないようにした計算機システムを提供することができる。さらにまた、本発明によれば、既述の計算機システムにおいて、仮想計算機の配置の最適化方法を提供することができる。
実施例1に係る計算機システムのハードウエア構成図である。 実施例1の物理計算機構成テーブルの一例である。 実施例1の仮想計算機の情報テーブルの一例である。 実施例1の予約情報テーブルの一例である。 実施例1の稼働予定仮想計算機の最適配置処理のフローチャートである。 実施例1の配置スコアテーブルある。 実施例1の稼働予定仮想計算機の配置決定処理のフローチャートある。 実施例2の物理計算機構成テーブル、VM情報テーブル、予約情報テーブルである。 実施例2の仮想計算機の最適配置処理のフローチャートである。 実施例2の稼働中の仮想計算機と稼働予定の仮想計算機の最適配置案作成処理のフローチャートである。 実施例3の物理計算機構成テーブル、VM情報テーブル、予約情報テーブルである。 実施例3の稼働予定仮想計算機の最適配置処理のフローチャートである。 リソース管理プログラムが、稼働が予定される仮想計算機の配置を決定する上で、稼働中の仮想計算機の終了時刻を考慮する必要がない状態に係る管理テーブルであり、物理計算機情報テーブル(図13(A))、VM情報テーブル(図13(B))、予約情報テーブル(図13(C))である。 物理サーバのメモリの総容量に対する、仮想計算機の負荷の変位を示すグラフである。 図13(C)に係る予約情報テーブルの変形例である。 図15に対応した、物理サーバのメモリの総容量に対する、仮想計算機の負荷の変位を示すグラフである。 複数の仮想計算機の負荷が累積された状態を示すグラフである。 図15の変形に係る予約情報テーブルである。 図16の変形例に係るグラフである。 図17の変形に係るグラフである。 リソース管理プログラムが出力I/Fを介してディスプに表示する、仮想計算機の予約情報入力画面の例である。 仮想計算機の最適配置案の出力を要求するための入力画面の例である。 仮想計算機の最適配置処理によって得られた、複数の仮想計算機の配置形態に相当する管理テーブルである。
 次に、本発明に係る計算機システムの実施形態について説明する。図1に、計算機システムのハードウエアブロックを示す。計算機システムは、複数の物理計算機0130、0140・・・・と、物理計算機間に対する仮想計算機の配置を管理する管理サーバ0100と、複数の物理計算機と管理サーバとを接続するネットワーク0120と、を備えている。
 リソース管理サーバ0100は、CPU0101、メモリ0102、ネットワークインターフェースカード(NICと図示する)0109、入力I/F0103、出力I/F0105、そして、HDD I/F0107を具備する。
 リソース管理サーバ0100の入力I/F0103は、マウスやキーボード0104といった入力デバイスと接続され、リソース管理サーバ0100の利用者からの操作を受け付ける。出力I/F0105はディスプレイ0106といった出力デバイスと接続され、利用者への画面出力を行う。出力デバイスであれば他にもプリンタ(図示せず)も接続可能である。
 HDD I/F0107は外部ストレージであるHDD0108と接続され、種々のプログラムやCPU0101で処理された各種データ・テーブル等を格納する。NIC0109はネットワーク0120と接続され、他の物理計算機0130、0140と接続されている。
 メモリ0102には、リソース管理プログラム0110が実装されている。リソース管理プログラム0110は、HDD0108に格納され、CPU0101からの要求によってメモリ0102へロードされるものでもよい。リソース管理プログラム0110は、予約受付処理0111、仮想計算機の配置計算処理0112、仮想計算機の移行処理0113、稼働中の仮想計算機の負荷を算出する計測処理0114、稼働予定であった仮想計算機を仮想計算機の利用者が定刻に利用できるようにする配備処理0115、そして、物理計算機0130、0140で動作する仮想計算機やハイパバイザの負荷情報、構成情報を物理計算機0130、0140やハイパバイザ0135、0145から収集し管理する管理処理0116を実行する。これらの各処理は、後述のフローチャートの一つまたはその組み合わせ、或いは、これらフローチャートの一つ又は複数のステップによって達成される。
 メモリ0102には、ハイパバイザ0135,0145が仮想計算機0136,0146に対して物理計算機から割り当てることのできる総リソース量に関する情報を格納する物理計算機情報テーブル(TBL)0200が格納されている。総リソース量は、リソース管理プログラム0110によって各物理計算機0130、0140から収集される。
 メモリ0102は、さらに、仮想計算機の利用者からの入力に基づいて作成された仮想計算機が稼働する予定に関する情報が格納された予約情報テーブル0300と、稼働している仮想計算機の負荷情報や、仮想計算機が動作する物理計算機の情報が格納されたVM情報テーブ0400と、仮想計算機を配置すべき物理計算機をどの物理計算機にするかを決定する際の優先度情報が格納された配置スコアテーブル0600などの管理テーブルを有する。
 リソース管理プログラム0100は、リソース管理処理の過程でこれら管理テーブルに対してリード又はライト処理を行う。なお、管理テーブルはHDD0108に格納されていてもよい。CPU0101は、HDD0108から管理テーブルを読み出してメモリ0102へロードし、管理テーブルをHDD0108へ格納する。
 物理計算機0130、0140は、リソース管理サーバ0100と同様のハードウエア構成から構成され、CPU0131、0141、メモリ0132、0142、リソース管理サーバ0100とネットワーク接続するためのNIC0133、0143、共有ストレージ(共有HDD)0150と接続するためのHDD I/F0134、0144とを備える。リソース管理サーバ0100のように、入力I/F(0103)、出力I/F(0105)を備えてもよい。なお、物理計算機の0130の識別子をP1とし、物理計算機0140の識別子をP2、これに続き第3以降の物理計算機をP3,P4・・・として、互いを区別する。
 物理計算機のメモリ0132,0142にはハイパバイザ0135、0145がロードされており、一つ又は複数の仮想計算機0136・・・137、0146・・・0147の生成、そのスペック変更、その削除、その移行、物理計算機の計算機リソースを仮想計算機に割当てるといった様々な仮想計算機に関する管理処理を行う。
 計算機リソースとは、例えば、計算機に具備されているCPU、メモリ、ハードディスクドライブ、NICのネットワーク帯域、ディスクI/Oなどの一つ又は複数である。計算機リソースにはハードウエアリソースの他、ボリューム、ホストグループ、プール等の論理リソースも含まれる。
 各ハイパバイザ135、145は、各々の物理計算機に一つ又は複数の仮想計算機を割り当て、これをデプロイするための管理ソフトウェアである。例えば、物理計算機P1:0130には仮想計算機0136と仮想計算機0137を含む複数の仮想計算機が割り当てられている。物理計算機P2:0140上には仮想計算機0146と仮想計算機0147とを含む複数の仮想計算機が割り当てられている。既述の管理テーブルにおける仮想計算機の割当て管理において、仮想計算機の割当て対象を物理計算機にする他、ハイパバイザにしてもよい。
 リソース管理サーバ0100のリソース管理プログラム0110は、各物理計算機P1:0130、P2:0140のハイパバイザ0135、0145と通信することによって情報の授受を行い、いつでも、仮想計算機の負荷情報やハイパバイザの負荷情報(物理計算機の負荷情報)を取得して、物理計算機情報テーブル0200、VM情報テーブル0400を更新することができる。
 さらに、リソース管理サーバ0100は、仮想計算機を利用するユーザから入力される、仮想計算機の予約情報に基づいて、予約情報テーブル0300を設定、更新する。
 仮想計算機0136、仮想計算機0137は、ハイパバイザ0135上で動作する。ハイパバイザ0135は、物理計算機P1:0130の計算機リソース、例えばCPU0131やメモリ0132を複数ある仮想計算機の各々の仮想計算機に分割して、これを割り当てる。ハイパバイザ0135は、各仮想計算機へ割り当てる計算機リソースの量を動的に変更することもできる。ハイパバイザ0145も、仮想計算機0146、仮想計算機0147に対して同様に作用する。一つの仮想計算機上にはゲストOSが稼働するため、仮想計算機はゲストOSで動作するアプリケーションソフトを利用することができる。
 物理計算機P1:0130、P2:0140に接続されている共有ストレージ0150には仮想計算機のディスクイメージ0151が格納されている。仮想計算機のディスクイメージとは、仮想計算機に与えられる仮想HDDに格納されたイメージファイルである。共有ストレージ0150は、仮想HDDを設定しており、仮想HDDに格納されているオペレーティングシステムやアプリケーションをメモリ0132(0142)にロードして実行する。VMディスクイメージは仮想HDDの実体になる。
 ハイパバイザ0135(0145)が仮想計算機で使用するVMディスクイメージを制御することで、仮想計算機はVMディスクイメージを仮想的なHDDとして扱うことができるになる。VMディスクイメージは、ハイパバイザから見れば実際にHDDに格納されている1つのファイルに相当する。1つの仮想計算機には1つ以上のVMディスクイメージが必要となる。例えば、物理計算機P2:0140上の仮想計算機0147は、HDD0150に格納されている1つのVMディスクイメージ0151を利用する。
 VMディスクイメージ0151はハイパバイザによって制御される。VMディスクイメージは、物理計算機P1:0130、P2:0140の両方に接続されている共有HDD0150に格納されているため、管理サーバ0100がVMディスクイメージに格納されているオペレーティングシステムやアプリケーションソフトウェアをロードする対象の物理計算機を変更すれば、仮想計算機が動作する物理計算機を変更、すなわち、仮想計算機を複数の物理計算機間で移動することができる。
 管理サーバ0100が仮想計算機を他の物理計算機で稼働できるようにする場合には、仮想計算機の移行元の物理計算機は、仮想計算機用にそのメモリにロードされ、適宜追加、更新、削除されたデータを仮想計算機の移行先の物理計算機にネットワークを介してコピーする。
 このように、仮想計算機が動作する物理計算機を変更することは、移行元物理計算機が、移行すべき仮想計算機について使用したメモリのデータを移行先物理計算機のメモリにコピーし、両物理計算機の各ハイパバイザがデータをロードするVMディスクイメージを変更するといった操作を行うことによって実行される。仮想計算機の移行は、リソース管理サーバ0100が、移行元・移行先物理計算機のハイパバイザ0135、0145に仮想計算機を移行する旨の指示を出すことによって開始される。
 図1では物理計算機P1:130、P2:140の両方が、VMディスクイメージが格納された共有HDD150に接続されているが、VMディスクイメージを、ネットワークを介してコピーでき、VMディスクイメージのデータをロードする物理計算機を変更できるのであれば、VMディスクイメージの格納されるHDDは物理計算機P1:130、P2:140の両方に接続された共有HDDである必要はなく、物理計算機P1:130、P2:140に個別に接続されたHDDであってよい。
 図1では物理計算機を接続するネットワークはネットワーク0120のみ図示されているが、リソース管理サーバ0100が物理計算機P1:0130、P2:0140から情報を取得するネットワークと、仮想計算機を移行するために物理計算機P1:0130、P2:0140間でデータなどをコピーするネットワークとを別々にしてもよい。
 図2に物理計算機情報テーブル0200の一例を示す。物理計算機情報テーブル0200は、物理計算機P1:0130、物理計算機P2:0140など、計算機システムにおいて仮想計算機をデプロイすることができる全ての物理計算機と、それから仮想計算機に割り当てられる総計算機リソース量を記憶している。物理計算機情報テーブル0200は、1つの物理計算機に対して1つの行を割り当てている。
 先ず、物理計算機情報テーブル0200の各列について説明する。物理計算機識別子欄0201は、各物理計算機P1:0130、P2:0140などを識別するための識別子を格納する。メモリ総容量欄0202は、各物理計算機が仮想計算機に割り当てることのできる総計算機リソース量を格納する。例えば、行0211は、物理計算機P1:0130の持つメモリ0132から、物理計算機P1:0130上で動作するすべての仮想計算機に割り当てることのできる総メモリ容量が「6.0GB」であることを示している。なお、仮想計算機に割り当てる計算機リソースの例としてメモリを例示しているが、メモリの代わりにCPUクロック数やディスクI/Oなど仮想計算機に割り当てられるその他のリソースや、あるいはその複数の組み合わせでもよい。
 図3は、VM情報テーブル0400の一例を示す。VM情報テーブル0400は、計算機システムを構成する、物理計算機P1:0130、物理計算機P2:140上で稼働している仮想計算機(0136、0146等)の負荷情報を記憶している。負荷とは仮想計算機が物理計算機に与える負荷のことである。VM情報テーブル0400は、1つの仮想計算機に対して1つの行を割り当てる。稼働していない仮想計算機に関する情報を本テーブルに登録しなくてもよい。
 VM識別子欄0401は、計算機システムを構成する複数の物理計算機上で動作する仮想計算機の識別子を格納する。図1のように、物理計算機P1:0130、物理計算機P2:140上で稼働中の仮想計算機0136、仮想計算機0146を識別するための識別子を格納する。
 物理計算機識別子欄0402は、稼働中の仮想計算機がデプロイされる物理計算機を識別するための識別子を格納する。この識別子は、物理計算機情報テーブル0200の物理計算機識別子欄0201に格納される識別子と同じ識別子である。行0411には、仮想計算機「VM1」が動作する物理計算機P1:0130を識別するための識別子「P1」が格納されている。
 負荷欄0403は、リソース管理プログラム0110が計測処理0114によってハイパバイザ0135,0145から収集した、稼働中の仮想計算機の負荷を格納する。負荷欄0403に格納される値は、例えば、リソース管理サーバ0110がハイパバイザ0135、0145から過去一定期間に収集した複数の負荷情報の最大値である。行0411は、リソース管理サーバ0100がハイパバイザ0135から収集した過去一定期間内の仮想計算機「VM1」のメモリ消費量の最大値が「2.0GB」であることを意味している。
 なお、稼働中の仮想計算機の負荷の例として、過去一定期間に収集した仮想計算機のメモリ消費量の最大値を例示しているが、メモリ消費量の平均値、又は、平均値に標準偏差を加えた値などでもよい。又は、過去一定期間に実測した負荷を基に予測された、現在から一定期間将来の負荷の予測値でもよい。また、メモリの代わりにCPUクロック数やディスクI/Oなど仮想計算機に割り当てられるその他のリソースやそれらの組み合わせでもよい。
 負荷欄0403に格納する値は、絶対値であるが、物理計算機の持つ計算機リソース量と収集した仮想計算機の負荷の相対値でもよい。なお、負荷欄0403に格納する値は、1つの負荷の情報である必要はなく、過去一定期間にリソース管理サーバ0100がハイパバイザ0135、0136などから収集した仮想計算機の複数の負荷情報の集合でもよい。
 図4は、予約情報テーブル0300の一例である。本テーブル0300は、仮想計算機の稼働予定に関する情報を格納するためのものである。予約識別子欄0301は、ある期間にある仮想計算機を稼働させるための予約情報を識別する識別子を格納する。
 VM識別子欄0302は、予約が稼働させる仮想計算機を識別するための識別子を格納する。この識別子は、VM情報テーブル0400の仮想計算機識別子欄0401に格納される識別子と同じ識別子である。VM情報テーブル0400のVM識別子欄0401に格納されている識別子は、必ず予約情報テーブル0300のVM識別子欄に存在し、当該予約情報の開始時刻は現在時刻より前、終了時刻は現在時刻よりも後の時刻が格納されている。また、この識別子で識別される仮想計算機のディスクイメージがすでに共有HDD0150に作成済みである場合、仮想計算機の識別子を格納する。
 
 VM識別子欄0302の識別子で識別される仮想計算機のディスクイメージが未作成の場合は、リソース管理プログラム0110は、適当な固有の識別子を格納し、仮想計算機のディスクイメージが作成された時点で格納した識別子を仮想計算機の識別子とする。
 開始時刻欄0304には、予約した仮想計算機が稼働を開始し、物理計算機からリソースが割り当てられる時刻が格納され、終了時刻欄0305には仮想計算機が稼働を終了し、物理計算機にリソースを返却する時刻が格納される。例えば、行0311の予約識別子「RSV1」は、仮想計算機「VM1」が2010年4月1日から2010年9月1日まで稼働する予約であることを示している。
 配備先物理計算機欄0303は、仮想計算機が稼働を開始した時に仮想計算機がマウントされて、稼働する物理計算機を識別するための識別子を格納する。この識別子は、物理計算機情報テーブル0200の物理計算機識別子欄0201に格納される識別子と同じである。例えば、行0311は、仮想計算機VM1が稼働を開始する際に、物理計算機P1:0130上で動作し、物理計算機P1:0130から計算機リソースを割り当てられることを示している。この配備先物理計算機欄0303の識別子は、仮想計算機が稼働を開始するまで、適宜変更されることが可能である。
 仮想計算機が稼働を開始するまでは仮想計算機が動作する物理計算機が決定されてなくてもよい。決定されていない場合は、配備先物理計算機欄0303には「null」が格納されればよい(行0314)。稼働を開始した仮想計算機は複数の物理計算機間を移行可能であるため、仮想計算機が稼働を開始した後は、予約情報テーブル0400のVM識別子欄0302と配備先物理計算機欄0303の組み合わせと、VM情報テーブル0400のVM識別子欄0401と物理計算機識別子欄0402の組み合わせが異なることがあってもよい。
 予定負荷欄0306には、仮想計算機が稼働したときに物理計算機から仮想計算機に割り当てる計算機リソースの予測値を格納する。予定負荷欄0306に格納する値は、例えば、仮想計算機の利用者が、稼働する予定の仮想計算機の負荷を予測して入力した値である。予定負荷欄0306に格納する値として、VM情報テーブル0400の負荷0403に入る値と同様、仮想計算機が負荷の例としてメモリ消費量が例示されているが、メモリの代わりにCPUクロック数やディスクI/Oなど仮想計算機に割り当てられるその他のリソースやそれらの組み合わせでもよい。
 また、予定負荷0306に格納する値は、絶対値である他、物理計算機の持つ計算機リソース量との相対値でもよい。予定負荷0306に格納する値は、1つの値である必要はなく、複数の値の集合でもよい。例えば、午前9時から午後9時までは2.0G、午後9時から午前9時までは1.0Gなどである。
 例えば、行0311は、仮想計算機「VM1」が2010年4月1日から物理計算機「P1」上で動作し、物理計算機「P1」の持つメモリ総容量のうち、2.0GBが割り当てられ、2010年9月1日に割り当てられたメモリ容量である2.0GB分を物理計算機「P1」に返却することを意味している。
 リソース管理プログラム0110は、予約された仮想計算機のVM識別子欄0302に格納された識別子が稼働中の仮想計算機の識別子と同じであることを判定すると、予約された仮想計算機の開始時刻と稼働中の仮想計算機の終了時刻とを比較して、前者が後者以前の時刻である場合には、予約情報入力時にエラーを表示するか、或いは、予約する仮想計算機のVM識別子として、稼働中の仮想計算機の識別子と異なる値を入力するように管理者に促すようにしてもよい。
 図21は、リソース管理プログラム0110が出力I/Fを介してディスプレイ0106に表示する、仮想計算機の予約情報入力画面である。仮想計算機を必ずある特定の物理計算機で稼働させたい場合には、予約情報入力画面を介して仮想計算機の配置先物理計算機が指定されるようにしてもよい。
 図4では、仮想計算機の配置先を物理計算機として説明したが、これをハイパバイザにしてもよい。ユーザは複数のハイパバイザをグループ化してリソースグループを仮想計算機の配備先としてもよい。このグループ化により、仮想計算機が最適に配置される物理計算機の範囲を制限できる。
 次に、稼働予定である仮想計算機を物理計算機に配置する上で、最適な配置形態を実現するための処理を説明する。図5は、その処理を実施するためのフローチャートである。リソース管理プログラム0110が、図5のフローチャートを実行する。
 「最適化」とは、「ポリシー」に合致するように、仮想計算機を配置することをいう。ポリシーはポリシーファイルとして、管理ユーザによって、リソース管理プログラム0110に設定される。ポリシーとして、例えば、既述のように、複数の物理計算機の間で、仮想計算機の負荷が平準化するように、複数の物理計算機に複数の仮想計算機を配置することがある。負荷の平準化を、仮想計算機が物理計算機に及ぼす負荷値に基づいて実行する他、或いは、物理計算機の計算機リソースの余力に基づいて実行してもよい。その他のポリシーとして、計算機システムの省電力化の観点から、一部の物理計算機に複数の仮想計算機を片寄せし、他の物理計算機の消費電力を低減させようとするものがある。さらに、他のポリシーとして、計算機システムの信頼性を確保する観点から、一定以上離れた複数の物理計算機に仮想計算機をデプロイすることもある。
 次に、図5のフローチャートを詳細に説明する。最初に、リソース管理プログラム0110は、任意の時刻にステップS0501を実行する。任意の時刻とは、例えば、リソース管理サーバ0100に利用者が設定した時刻などである。ステップS0501は、配置計算処理0112によって実行され、図2の物理計算機情報テーブル0200に格納された複数の物理計算機情報をすべて参照するまで、ステップS0504までの処理を繰返し実施する。
 ステップS0502は、参照される物理計算機情報を1つ選択する。具体的には物理計算機情報テーブル0200に格納された物理計算機情報の1つを選択し、物理計算機情報テーブル0200の1行分のデータをメモリ0102に格納する。
 ステップS0503は、図3のVM情報テーブル0400を参照し、ステップS0502で選択した物理計算機情報の物理計算機識別子0201の識別子と物理計算機識別子欄0402の識別子が一致するVM識別子情報をVM情報テーブル0400からすべて抽出する。
 ステップS0504は、ステップS0502で選択した物理計算機情報のメモリ総容量欄0202の値と、ステップS0503で抽出した全VM情報の負荷欄0403の値と、を用いて物理計算機の配置スコアを計算し、配置スコアテーブル0600に記録する。
 配置スコアとは、仮想計算機の最適な配置を実現するために、各物理計算機において、仮想計算機を配備できる優先度の高さに関する値である。配置スコアの値が大きい物理計算機ほど、仮想計算機を搭載する上での優先度が高いと判定される。例えば、リソース管理サーバ0100は、仮想計算機を物理計算機に最適に配置する指標として、計算機システムを構成する複数の物理計算機相互のメモリの空容量を複数の物理計算機の間で平準化することを選択する。この観点から、メモリの空容量が大きい物理計算機ほど稼働予定の仮想計算機を配備するのに適したものとなる。そこで、物理計算機の空容量が物理計算機の配置スコアになる。
 図2、図3に示すように、ステップS0502で選択された物理計算機情報が行0211であった場合、物理計算機識別子欄0201は「P1」であり、メモリ総容量欄に格納された値は「6.0GB」である。したがって、ステップS0503でVM情報テーブル0400から抽出するVM情報は、物理計算機識別子欄0402の識別子が「P1」と一致する行0411のものである。行0411の負荷欄0403に格納された値は「2.0GB」であるため、物理計算機「P1」の空きメモリ容量は「6.0-2.0=4.0GB」となる。したがって、物理計算機「P1」の配置スコアは4.0となる。
 ステップS0504が配置スコアテーブル0600に記録したデータを図6に示す。配置スコアテーブル0600は、物理計算機識別子欄0601、配置スコア欄0602から構成される。物理計算機識別子欄0601は、ステップS0502で選択した、物理計算機情報0200の物理計算機識別子欄0201の識別子を格納する。配置スコア欄0602は、ステップS0504で計算した、各物理計算機の配置スコアを格納する。図2、図3に示す例では、既述上述したように物理計算機「P1」の配置スコアは「4.0」となるため、配置スコアテーブル0600には、行0611に示すように、物理計算機識別子欄0601に識別子「P1」、配置スコア欄0602に配置スコア「4.0」が格納される。
 図5のステップS0505は、繰返しステップの先頭であるS0501に対応する終端ステップであり、物理計算機情報テーブル0200に格納された全ての物理計算機情報を参照するまで、S0502-S0504を繰り返し実行する。
 ステップS0506は、図6の配置スコアテーブル0600と、図4の予約情報テーブル0300とに格納されている情報に基づいて、予約情報テーブル0300の配備先物理計算機欄0303に格納された、物理計算機の識別子を読み込んで、稼働予定の仮想計算機に計算機リソースを割り当てる物理計算機を決定する。ステップS0506の詳細は、次の図7のフローチャートに示されている。
 図7は、稼働予定の仮想計算機を配置する先の物理計算機を決定するための処理(図5のS0506)を達成するフローチャートである。このフローチャートは、管理サーバ0100が、計算機システムに存在する複数の物理計算機に対して仮想計算機の(再)配置を実行する開始時刻、すなわち、「予定時刻」から「一定期間」毎に、稼働予定の仮想計算機を複数の物理計算機の中からどの物理計算機に配置することが最適かを決定するための処理の一例である。
 ステップS0701は、管理サーバ0100が「(再配置実行)予定時刻」、「一定期間」の情報を管理者ユーザからの入力によって取得する。「予定時刻」とは、図5の処理が完了する時刻以降の任意の時刻であればよい。「一定期間」とは、「予定時刻」から次回の「予定時刻」までの間の所定期間であり、例えば、一週間、或いは一カ月などである。
 ステップS0702は、図4の予約情報テーブル0300を参照して、開始時刻欄0304に格納された時刻が、「予定時刻」から「一定期間」以内である行の予約情報を全て抽出する。例えば、ステップS0701において、リソース管理プログラム0110が、「予定時刻」を「2010年5月1日0時」、一定期間を「1カ月」として取得すると、ステップS0702は、図4の予約情報テーブル0300を参照して、開始時刻欄0304に格納された時刻が2010年5月1日0時から2010年5月31日の間である行0313を抽出する。
 ステップS0703は、ステップS0702で抽出した予約情報を全て参照するまで、ステップS0707までの処理を繰返し実施する。ステップS0704は、抽出した予約情報を1つ選択する。
ステップS0705は、図6に示す配置スコアテーブル0600に基づいて稼働予定の仮想計算機の配置を決定し、その結果に基づいて予約情報テーブルの配備先物理計算機欄を更新する。具体的には、ステップS0703で選択した予約情報の配備先物理計算機欄の識別子を、配置スコアテーブル0600で最もスコアの大きい物理計算機の識別子になるように予約情報テーブルを更新する。
 管理プログラム0110が、配置スコアテーブル0600(図6)の配置スコア欄0602を参照すると、最も配置スコアの大きい行は0612であり、ステップS0704で選択した予約情報が予約情報テーブル0300(図4)の行0313であった場合、VM識別子欄0302が示す稼働予定の仮想計算機「VM3」を配備し、動作させるべき物理計算機を、行0612の物理計算機識別子欄0601が示す物理計算機「P2」であると判定する。行0313の配備先物理計算機識別子0303は「P1」となっているが、管理プログラム0110は、配備先物理計算機識別子0303を識別子「P2」に更新する。なお、行0313の配備先物理計算機識別子0303が「null」であった場合も、識別子「P2」に更新する。
 ステップS0706は、ステップS0704で選択した予約情報のVM識別子0302が示す稼働予定の仮想計算機が、予定負荷欄0306で示される負荷を、ステップS0705で決定した物理計算機から計算機リソースとして割り当てられた場合での当該物理計算機の配置スコアを再計算し、配置スコアテーブル0600に再計算した配置スコアを更新登録する。
 図4、図6に即して説明すると、ステップS0705が決定した、稼働予定の仮想計算機が動作する物理計算機は「P2」であり、ステップS0704が選択した予約情報が予約情報テーブル0300の行0313であった場合、配置スコアテーブル0600の物理計算機「P2」の配置スコアを示す行0612の配置スコア欄0602の更新前の値は「7.0」であり、行0313のVM識別子欄0302は「VM3」であり、予定負荷欄0306は「3.0GB」である。したがって、物理計算機「P2」のメモリの空容量は、仮想計算機「VM3」が新たに割り当てられた場合4.0G(7.0GB-3.0GB)になるため、配置スコアテーブル0600の行0612の配置スコア欄0602の値は4.0Gに更新される。
 ステップS0707は、繰返しステップの先頭であるS0703に対応する終端ステップである。管理プログラム0110は、ステップS0702で抽出した予約情報をすべて参照するまで、ステップS0707まで、繰返し上述ステップを実行する。
 なお、予定負荷が最も大きい配置スコアを上回る場合には、リソース管理プログラム0110は、稼働予定に係る仮想計算機を物理計算機に配置できない旨を表示する。
 図5及び図7のフローチャートに示す処理によって、管理プログラム0110は、配備処理0115(図1)として、予約情報テーブル0300の配備先物理計算機欄0303に格納された識別子で識別される物理計算機に、VM識別子欄0302で識別される仮想計算機を、予約情報テーブル0800Cの開始時刻欄0304に格納された時刻に、目的の物理計算機に配備する。これによって、稼働予定の仮想計算機の最適配置が実現される。
 すなわち、図2、図3、図4に即して具体的に説明すると、管理サーバ0100は、予約情報テーブル0300の行0313の配備先物理計算機欄の識別子を物理計算機「P1」から物理計算機「P2」に変更し、仮想計算機「VM3」を2010年5月5日から物理計算機「P2」上で稼働を開始させることによって、2010年5月5日から2010年9月1日までの間、物理計算機「P1」、物理計算機「P2」の空容量をともに4.0GBにし、そして、これによって、計算機システムを構成する複数の物理計算機の空容量を平準化させる、仮想計算機の最適配置を実現する。
 なお、予約情報テーブル0300の行数がnであると、図7のステップS0703からステップS0707の繰返し処理が仮想計算機の配置を決定する際、での仮想計算機の配置を決定する順序はnの階乗通りある。そこで、図7の処理は、仮想計算機の配置決定順序を1通りに固定して仮想計算機の配置の決定処理を実行している。しかしながら、図7の処理が、m通り(m≦nの階乗)の順序で仮想計算機の配置の決定の処理を繰り返し実施し、各順序で決定された、稼働予定仮想計算機の配置における全物理計算機の空容量の標準偏差を記憶し、標準偏差が最も小さいパターンを構成する、稼働予定仮想計算機の配置を採用するように変更してもよい。
 以上説明したように、既述の実施例における計算機システムは、複数の仮想計算機の最適配置を決定する際の複数の仮想計算機が搭載される複数の物理計算機の負荷バランスの調整を、現在稼働していないが、稼働予定の仮想計算機を含めて実行するため、稼働予定の仮想計算機が実際に稼働した時点で、複数の仮想計算機の最適配置処理を繰り返さなくても、システム全体の負荷バランスを最適に調整できる。
 さらに、稼働中の仮想計算機の負荷と、物理計算機が仮想計算機に割り当て可能な総計算機リソース量とに基づいて、稼働中の仮想計算機の移行を伴うことなく、複数の仮想計算機の最適配置処理を実現するため、複数の物理計算機間での仮想計算機の移行に伴うネットワークに与える負荷の増大化が防止される。
 物理計算機に搭載され、稼働している仮想計算機を複数の物理計算機間で移行する場合には、仮想計算機が移行先する物理計算機に、仮想計算機に割当てられていたメモリ等の情報を移行元物理計算機からコピーし、移行先物理計算機はコピーした情報を元に新しい仮想計算機を作成し、コピー元の仮想計算機を停止させなければならない。このとき、コピーが完了する前にコピー元のメモリの格納情報が更新されると、移行元物理計算機は更新された情報を再度移行先物理計算機にコピーする必要がある。したがって、コピーすべ情報量が多いと、仮想計算機の移行に長い時間を要することになる。既述の実施形態に係る計算機システムは、稼働中の仮想計算機の移行を伴わないため、このような問題を解消する。
 なお、管理サーバは、稼働予定の仮想計算機を、計算機システムを構成する全ての物理計算機に対して搭載でき得るとして、仮想計算機の最適配置を実現したが、稼働予定の仮想計算機を配備できる物理計算機を制限してもよい。このような物理計算機は、予約画面(図21)に登録されることができる。なお、予約画面において、特定の物理計算に配置されることが必要で、最適配置の対象にされたくない仮想計算機については、この仮想計算機と物理計算機の組み合わせを、管理ユーザは予約画面に登録することができる。
 既述の実施形態では、複数の仮想サーバの最適配置の開始契機を定期的に生じるものとして説明したが、これを手動での契機、予約の追加、予約の変更(開始時期、終了時期、負荷)、予約の削除、仮想計算機の削除でもよい。
 図7のS0701では、「一定期間」が一月として説明されたが、これは一例である。「一定期間」が長いと、稼働予定の仮想計算機が稼働を開始するまで、「最適配置」が長い間実現されないことになり、一方で、この期間が短いと、仮想計算機の再配置処理が頻繁に実施されなければならなくなる。そこで、「一定期間」は計算機システムの運用上妥当な範囲に設定される。
 次に本発明の第2の実施形態について説明する。この実施形態の既述の第1の実施形態と相違する点は、管理サーバは、計算機システムに属する夫々の物理計算機にその負荷に関する目標値を設定し、稼働予定の仮想計算機を最適配置にするだけでは目標値を達成できない場合に、稼働予定の仮想計算機の最適配置を実現する際に、稼働中の仮想計算機の再配置をも実施、即ち、稼働中の仮想計算機の移転を行って、目標値を達成しようとする点である。但し、この実施形態に係る計算機システムは、稼働中の仮想計算機が移行する頻度や数を、下記のとおり極力低減するようにした。
 図8(A)-図8(C)に、第2の実施形態における、物理計算機情報テーブル0800A(図8(A))、VM情報テーブル0800B(図8(B))、予約情報テーブル0800C(図8(C))を示す。物理計算機情報テーブル0800Aは、第1の実施形態における物理計算機情報テーブル0200と同じ構造を有する。VM情報テーブル0800Bは、第1の実施形態におけるVM情報テーブル0400と同じ構造を有する。予約情報テーブル0800Cは第1の実施形態の予約情報テーブル0300と同じ構造を有する。但し、実施例1の管理テーブルに登録されているデータと図8(A)-図8(C)に示す管理テーブルに登録されているデータとが異なることがあることは勿論である。
 図9は、第2の実施形態における、仮想計算機を複数の物理計算機に最適に配置するための処理のフローチャートを示す。図1で示したリソース管理プログラム0110が、図9のフローチャートを実行する。
 図9に示す処理は、図5及び図7のフローチャートによって、稼働予定の仮想計算機の決定された最適配置を前提にしながら、そして、稼働中の仮想計算機を含めて、計算機システムに存在する複数の仮想計算機の最適配置が維持できるか否かを判定するためのものである。そして、リソース管理プログラム0110は、この判定を肯定する場合には仮想計算機の配置処理を終了し、この判定を否定する場合には稼働中の仮想計算機と稼働予定の仮想計算機とも、複数の物理計算機に対する配置を変更する。
 次に、図9のフローチャートを具体的に説明する。リソース管理プログラム0110は、リソース管理サーバ0100のユーザから設定された任意の時刻にステップS0901に係る稼働予定仮想計算機の最適配置処理を実行する。ステップS0901は、既述の図5及び図7のフローチャートに相当する。
 ステップS0902は、ステップS0901において決定された、稼働予定の仮想計算機を目的の物理計算機に配置するだけで、複数の物理計算機間での負荷のバランスを改善できるなど、仮想計算機の最適配置における目標を達成できるかどうかを判定する。ステップS0902がこの判定を肯定すると、仮想計算機の最適配置のための処理を終了する。
 この後、配備処理0115(図1)が、予約情報テーブル0800C(図8(C))の配備先物理計算機欄0303に格納された識別子によって識別される物理計算機に、VM識別子欄0302に格納された識別子によって識別された予約された仮想計算機を、開始時刻欄0304に格納された時刻に設定する。一方、ステップS0902が仮想計算機の最適配置における目標を達成できないと判定すると、ステップS0903へ移行する。
 計算機システムに属する複数の物理計算機間でメモリの空容量が平準化されるための、仮想計算機の最適配置の目標値を例示すると、例えば、次のようなものになる。図7におけるステップS0701における、「予定時刻」(例:2010年5月1日0時)から「一定期間」(例:一月)以内において、各物理計算機の空メモリ容量と、全ての物理計算機の空メモリ容量の平均値との差を、全ての物理計算機において0.5GB以内とすることである。なお、図8(A)-図8(C)に示す各テーブルの状態は、ステップS0901を実行した後の状態のものである。
 仮に、現在が2010年5月2日とすると、図8(A)-図8(C)は、物理計算機「P1」上で、負荷が「2.0GB」の仮想計算機「VM1」と、負荷が「1.0GB」の仮想計算機「VM3」が稼働しており、物理計算機「P1」のメモリ総容量は「6.0GB」であることを示している。この場合、物理計算機「P1」の空メモリ容量は「6.0-2.0-1.0=3.0GB」である。
 物理計算機「P2」上では負荷が「2.0GB」の仮想計算機「VM2」が稼働しており、さらに、再配置時刻(2010年5月1日0時)から一定期間(一月)以内である2010年5月5日に稼働を開始する仮想計算機「VM4」が予定負荷「1.0GB」の下で稼働する予定であり、物理計算機「P2」のメモリ総容量は「8.0GB」である。そのため、2010年5月5日には、物理計算機「P2」の空メモリ容量は「8.0-2.0-1.0=5.0GB」になる。したがって、物理計算機「P1」と物理計算機「P2」の空メモリ容量の平均は「(3.0+5.0)÷2=4.0GB」であり、「各々の物理計算機の空容量と、全ての物理計算機のメモリ空容量の平均値との差が、全ての物理計算機において0.5GB以内である」という目標が達成されない。そこで、ステップS0903が実行される。
 ステップS0903は、稼働中の仮想計算機と稼働予定の仮想計算機とを含めた複数の仮想計算機の最適配置を決定するための演算処理を実行する。この際、複数の物理計算機間を移行される、稼働中の仮想計算機の数が少なくなるようにする。リソース管理プログラム0110は、演算結果に基づき、他の物理計算機に移行されるべき稼働中の仮想計算機に対して、VM情報テーブル0800Bの物理計算機識別子0402の識別子を、移行先物理計算機の識別子に変更する。さらに、稼働される予定の仮想計算機について、予約情報テーブル0800Cの配備先物理計算機0303の識別子を、ステップS0903において再決定された、稼働予定仮想計算機の配置先物理計算機の識別子に変更する。ステップS0903の詳細なフローチャートを後述の図10において説明する。
 図23に、仮想計算機の最適配置処理によって得られた、複数の仮想計算機の配置形態に相当する管理テーブルを示す。(A)は物理計算機構成テーブルであり、(B)は最適配置後の仮想計算機に係るVM情報テーブルであり、(C)は最適配置後の稼働が予約された仮想計算機の予約情報テーブルである。図8の管理テーブルと比較すると、現在稼働中の仮想計算機(VM3)がP1で識別される物理計算機からP2で識別される物理計算機に移行されたことが分かる。
 ステップS0904は、計算機システムにおける仮想計算機の配置を、ステップS0903で決定した仮想計算機の配置に変更するか否かを判定する。即ち、管理プログラム0100が、ステップS0901において決定された仮想計算機の配置の形態と、ステップS0903において決定された仮想計算機の配置の形態とを比較し、ステップS0903において決定された配置の方が目標に近いか否かを判定する。ステップS0903で決定した配置の方がより仮想計算機の最適配置目標に近い場合はステップS0905に移行する。ステップS0901で決定した配置の方が仮想計算機の最適配置目標に近い場合は、ステップS0906に移行する。ステップS0906は、稼働予定の仮想計算機の配置と稼働中の仮想計算機の配置とを、ステップS0903の実行前の状態に戻す。
 ステップS0904は、「計算機システムに属する全物理計算機のメモリの空容量が平準化されるようにした複数の仮想計算機の配置」を目標としているため、ステップS0901によって決定された、稼働中の仮想計算機の再配置を伴うことなく、稼働予定の仮想計算機の最適配置後の全ての物理計算機についてのメモリの空容量の標準偏差と、ステップS0903で決定された、稼働中の仮想計算機の再配置も許容した状態での全ての物理計算機についてのメモリの空容量の標準偏差と、を比較し、後者の方が前者より小さければステップS0905に移行し、その逆である場合にはS0906に移行する。両者が同じである場合には、どちらかに移行する。
 なお、ステップS0904において、管理プログラム0110は、ステップS0901で決定された、仮想計算機の配置と、ステップS0903で決定された、仮想計算機の配置とを比較しているが、ステップS0903で決定された、仮想計算機の配置が、ステップS0902と同様に、仮想計算機の最適な配置に係る目標を達成しているかどうかを判断してもよい。
 ステップS0905は、リソース管理プログラム0110のVM移行処理0113(図1)を実行し、稼働中の仮想計算機を、ステップS0903で決定された、仮想計算機の配置になるように移行させる。この移行処理を、ステップS0701において取得した「再配置実行予定時刻」に開始する。
 ステップS0906は、ステップS0903で変更された、VM情報テーブル0800Bの物理計算機識別子0402と、予約情報テーブル0800Cの配備先物理計算機の識別子0303を、ステップS0903を実行する前の状態に戻す。
 図10は、図9のステップS0903で実行される、稼働中の仮想計算機と稼働予定の仮想計算機を最適な形態で物理計算機に配置するための案を作成する処理に係るフローチャートである。このフローチャートはリソース管理プログラム0110によって実行される。
 ステップS1001は、仮想計算機の最適配置を実現するための各物理計算機について、境界条件、例えば、「容量条件」を決定する。「容量条件」とは、各物理計算機に稼働している仮想計算機の配置を変更するか否かの判断をする際に、リソース管理プログラム0110が考慮する、物理計算機のメモリの容量に関する指標である。
 リソース管理プログラム0110は、例えば、複数ある物理計算機の各メモリの空容量を平準化することを狙って、複数の仮想計算機の再配置を実行しようとする時刻から一定期間内において、各々の物理計算機の空容量が、全ての物理計算機の空容量の平均値以上であることを容量条件として設定する。
 図8に例示する形態では、ステップS0902と同じように、再配置実行時刻から一定期間内における、全ての物理計算機の空容量の平均が4.0GBであるので各物理計算機の容量条件は「空容量が4.0GB以上」になる。稼働中の仮想計算機を仮に移行しなかった場合に、この条件を満たさない時のみ、リソース管理プログラムは、配置スコアに基づいて稼働中の仮想計算機の移行先となる物理計算機を決定する。
 ステップS1002は、VM情報テーブル0800Bに格納された個々の仮想計算機情報をすべて参照するまで、ステップS1009までの処理を繰返し実施する。ステップS1003は、参照するVM情報を1つ選択する。
 ステップS1004は、繰返し処理ステップS1002からステップS1009において、既に配置が決定されている稼働中の仮想計算機のVM情報を用いて、ステップS1003で選択した仮想計算機が動作している物理計算機の負荷を計算する。
 例えば、ステップS1002からステップS1009の処理が2度実行され、VM情報テーブル0800BのVM識別子が「VM1」の仮想計算機の配置が物理計算機「P1」に、VM識別子が「VM2」の仮想計算機の配置が物理計算機「P2」に決定され、それぞれの物理計算機の識別子「P1」「P2」がVM情報テーブル0800Bの物理計算機識別子欄0402に格納されているとする。ステップS1003でVM情報テーブル0800Bから選択された稼働中の仮想計算機は、VM識別子が「VM3」で識別された仮想計算機とする。
 「VM3」が動作する物理計算機は、行0413の物理計算機識別子欄0413で識別される物理計算機「P1」である。物理計算機「P1」には、仮想計算機「VM1」が配置されることが決定しており、VM情報テーブル0800Bの行0411の負荷欄0403を参照するとその負荷は「2.0GB」である。したがって、ステップS1004における、物理計算機「P1」の負荷は2.0GBとなる。
 ステップS1005は、ステップS1003で選択された、稼働中の仮想計算機を現在の物理計算機から他の物理計算機に移行しないこととした場合に、選択した仮想計算機が現在動作している物理計算機の負荷が、ステップS1001で設定した容量条件を満たすかどうかを判断するステップである。容量条件が満たさなければステップS1007に移行し、容量条件が満たされればステップS1009に移行する。
 例えば、ステップS1001において、容量条件として「各物理計算機の空き容量が4.0GB以上」と設定され、ステップS1003でVM情報テーブル0800Bから選択した、稼働中の仮想計算機は、VM識別子が「VM3」で識別される仮想計算機とする。
 「VM3」が実装されている物理計算機「P1」のメモリ総容量は、物理計算機情報テーブル0800Aによれば、メモリ総容量欄0202にあるように、6.0GBであり、仮想計算機「VM3」の負荷は、VM情報テーブル0800Bの負荷欄0403によれば、1.0GBである。ステップS1004において、物理計算機「P1」の算出された負荷が2.0GBである。仮想計算機「VM3」がこの物理計算機から他の物理計算機に移行されない場合、物理計算機「P1」のメモリ空容量は6.0-2.0-1.0=3.0GBとなり、容量条件「空きメモリ容量が4.0GB以上」未満であるため、処理はステップS1007に移行される。
 ステップS1007は、ステップS1002からステップS1009の繰り返し処理によって、既に、物理計算機に対する配置が決定された稼働中の仮想計算機の負荷を用いて、複数の物理計算機の配置スコアを決定する。配置スコアの考え方は既述の図5におけるステップS0504と同じである。
 ステップS1008は、ステップS1007で算出された配置スコアに基づいて、ステップS1003で選択された仮想計算機が現在搭載されている物理計算機から移行されて搭載されるべき他の物理計算機を決定し、VM情報テーブル0800Bの選択された仮想計算機が存在する行の物理計算機識別子欄0402に前記他の物理計算機の識別子を格納する。
 例えば、第1の実施形態と同様に、メモリの空容量を各物理計算機の配置スコアとする。ここで、ステップS1007が実行される時に、既に、ステップS1002からステップS1009の繰り返し処理が2度実行され、VM情報テーブル0800BでVM識別子が「VM1」で識別される仮想計算機が物理計算機「P1」に配置されること、VM識別子が「VM2」で識別される仮想計算機が物理計算機「P2」に配置されること、がそれぞれ決定され、これらの識別子「P1」「P2」がVM情報テーブル0800Bの物理計算機識別子欄0402に格納されているとする。
 図8(A)-図8(C)に即して説明すると、物理計算機「P1」の空容量は6.0GB(メモリ総容量)-2.0GB(仮想計算機の負荷)=4.0GBであり、物理計算機P2の空容量は8.0-2.0=6.0GBとなり、配置スコアはそれぞれ4.0、6.0となる。したがって、ステップS1008は、ステップS1003で選択された仮想計算機(VM3)の配置を、配置スコアの最も大きい物理計算機「P2」に決定し、VM情報テーブル0800Bの仮想計算機(VM3)を示す行0413の物理計算機識別子欄0402の識別子を「P1」から「P2」に変更登録する。
 なお、ステップS1003で選択された仮想計算機が稼働している物理計算機の配置スコアが最も大きい場合には、当該仮想計算機は他の計算機に移行されない。但し、図10のフローチャート(S0903)は、ステップS0902の判定が否定されて実行されるものであるから、少なくとも一つの稼働中の仮想計算機は現在稼働中の計算機からリソース容量に最も余裕がある他の物理計算機に移行される。
 ステップS1009は、繰返しステップの先頭であるS1002に対応する終端ステップである。リソース管理プログラムS0110がVM情報テーブル0800Bに格納された全ての仮想計算機情報を参照するまで、S1002-S1009を繰り返し実行する。
 ステップS1010は、ステップS1002からステップS1009で決定された、稼働中の仮想計算機の配置に基づいて、稼働予定の仮想計算機の再配置を行うステップであり、図5のフローチャートと同一である。
 図22は、ステップS0903(図10のフローチャート)に対応する、入力画面である。管理ユーザが、稼働予約に係る仮想計算機を含めた稼働中の仮想計算機の最適配置案の出力を入力画面に要求すると、ステップS0903は最適配置案作成処理を続行する。
 図22は、物理計算機(P1)で稼働中の仮想計算機(VM1)を他の物理計算機(P2)に移行すること、そして、稼働予定の仮想計算機(VM3)を当初の予定物理計算機(P1)から他の物理計算機(P3)に移行することを、最適配置として出力していることを示している。なお、後者はステップS1010によって決定された最適配置である。
 図10は、稼働中の仮想計算機の最適配置と稼働予定の仮想計算機の最適配置とを同時に決定する方法の一例である。VM情報テーブル0800Bの行数がnであった場合、リソース管理プログラム0110が、図10のステップS1002からステップS1009を繰返して仮想計算機の配置を決定する際、その配置の決定順序にはnの階乗通りある。図10は、仮想計算機の配置決定のための順序を、1通りのものとして、説明したが、リソース管理プログラム0110がm通り(m≦nの階乗)の順序で仮想計算機の配置パターンを検討し、全物理計算機の空容量の標準偏差が最も小さいパターンの配置を最適配置としてもよい。
 既述したように、リソース管理プログラム0110は、予定時刻から一定期間毎に、仮想計算機の最適配置を実現するために、稼働予定の仮想計算機の配置を決定するが、それだけでは、稼働中の仮想計算機を含めた複数の仮想計算機の最適配置での目標を達成できなかった場合に、稼働中の仮想計算機を移行することによって、複数の仮想計算機全体の最適配置を実現する。
 この際、リソース管理プログラム0110は、既述の容量条件を満たさない場合に、稼働中の仮想計算機の配置を変更することによって、稼働中の仮想計算機が移行される頻度、回数を低減する。これにより、リソース管理プログラムは、移行されなければならない仮想計算機の移行に要する時間を短縮して、計算機システムにある複数の仮想計算機の性能を安定的に維持する。
 なお、既述の実施形態において、リソース管理プログラムは、稼働中及び/又は稼働予定の仮想計算機が移行される物理計算機に制約を設けることもできる。さらに、リソース管理プログラムは、稼働中の仮想計算機と稼働予定の仮想計算機の配置の複数ある全ての組み合わせに対して、全物理計算機の空容量の標準偏差と移行すべき仮想計算機数とを算出し、現在稼働している物理計算機から他の物理計算機に移行されるべき仮想計算機の数が最小となる配置、かつ、配置スコアの標準偏差が最小になる配置を採用することによって、仮想計算機の最適配置を実現することでもよい。
 次に、第3の実施例形態について説明する。既述の実施形態は、稼働予定仮想計算機の稼働が開始される時刻から一定期間の間に既に稼働していた仮想計算機及びこの間に稼働を開始した仮想計算機が稼働を終了、中断、停止しないことを前提としていた。これに対して、第3の実施形態は、この間に稼働計算機の稼働が終了することもあり、これを勘案して、稼働予定計算機を含む複数の仮想計算機の最適配置を決定しようとしている。
 そこで、リソース管理サーバ0110は、仮想計算機の稼働開始時刻ばかりでなく、稼働終了時刻も最適配置を決定する際の要素に含めて、稼働予定の仮想計算機の配置を決定する。リソース管理プログラムは、稼働が予定されている複数の仮想計算機の配置を稼働開始時刻順に決定し、そして、ある稼働予定の仮想計算機の配置を決定する際に、この稼働予定の仮想計算機の稼働開始時刻以前に稼働を終了する仮想計算機が存在する場合には、物理計算機の負荷からその分の負荷を減算し、稼働予定仮想計算機の稼働開始時刻直前の物理計算機の負荷の実質値を計算する。そして、算出した各物理計算機の負荷に基づいて稼働しようとしている予定の仮想計算機の配置を決定する。
 以下に、第3の実施形態をフローチャートに基づいて説明する。本実施形態においても、仮想計算機を物理計算機に最適に配置するための指標として、計算機システムにおける複数の物理計算機の空容量が平準化されるように仮想計算機を配置する。第3の実施形態が前2つの実施形態と異なる点は、第3の実施形態における処理が、稼働予定仮想計算機の終了時刻を考慮して、複数の仮想計算機の配置を再構成している点である。
 図11(A)は、この実施形態に係る物理計算機情報テーブル1100A、図11(B)はVM情報テーブル1100B、図11(C)は予約情報テーブル1100Cをそれぞれ示す。予約情報テーブル除くテーブルの構成は既述の実施形態のものと同様である。この予約情報テーブルが既述の実施形態の予約情報テーブルと異なるのは稼働状況欄0307を備える点である。
 稼働状況欄0307は、予約情報テーブル1100Cの各行のVM識別子欄0302で識別される仮想計算機の稼働状況を示す識別子を格納している。稼働状況には、「稼働」と「停止」2種類がある。「稼働」とは、当該予約によって当該仮想計算機が物理計算機上で動作されている状態を示す。「停止」とは、当該予約によって当該仮想計算機が物理計算機上で動作されていないことを示す。稼働状況欄0307に「稼働」が格納されている行について、VM識別子欄0302に格納されている、仮想計算機の識別子が、VM情報テーブル1100BのVM識別子欄0401に必ず存在する。例えば、図11の予約情報テーブル1100Cの行0311は稼動状況欄0307に「稼動」が格納されており、VM識別子欄0302には識別子「VM1」が格納されているため、VM情報テーブル1100Bには、VM識別子欄0401に識別子「VM1」が格納された行0411が存在する。
また、仮想計算機が稼動していても当該予約による稼動でない場合は稼動状況欄0307には「停止」が格納される。例えば、図11の予約情報テーブル1100Cの行0316は、VM識別子欄0302に稼働中の仮想計算機の識別子「VM1」が格納されているが、仮想計算機「VM1」は行0316ではなく、行0311が示す予約によって稼動しているため、行0316の稼動状況欄0307には「停止」が格納される。
 図12は、第3の実施形態における、稼働予定の仮想計算機の最適配置を決定処理するためのフローチャートである。これはリソース管理プログラム0110によって実行される。まず、リソース管理プログラム0110は、任意の時刻にステップS1201を実行する。任意の時刻とは、例えば、リソース管理サーバ0100に利用者が設定した時刻などである。
 ステップS1201は、図5のフローチャートのステップS0501からステップS0505までの処理と同一の処理である。リソース管理プログラム0110は、稼働中の仮想計算機の負荷と物理計算機の総メモリ容量から各物理計算機の配置スコアを計算し、図6の配置スコアテーブル0600に記録する。
 ステップS1202は、図7のステップS0701と同一の処理である。 ステップS1203は図7のフローチャートのステップS0702と同一の処理である。ステップS1204はステップS1203で抽出した予約情報を開始時刻で昇順にソートする。
 ステップS1205は、管理サーバのメモリ0102の所定領域に記録する時刻情報(以下、時刻情報と呼ぶ)の初期値として現在時刻を設定する。ステップS1206は、ステップS1203で抽出した予約情報を全て参照するまで、ステップS1207からステップS1219までの処理を繰返し実施する。ステップS1207は、抽出した予約情報を1つ選択する。
 ステップS1208は、予約情報テーブル1100Cを参照し、時刻情報の時刻から選択した予約情報の開始時刻の期間に稼働を終了する予約情報を全て抽出する。例えば、時刻情報が2010年5月1日0時であり、ステップS1207で選択した予約情報が行0313である場合、行0313の開始時刻欄0304は2010年5月10日であるから、ステップS1208は、終了時刻欄0305が2010年5月5日である行0312を抽出する。
 ステップS1209は、ステップS1208で抽出した予約情報を全て参照するまで、ステップS1214までの処理を繰返し実施する。ステップS1210は、ステップS1208で抽出した予約情報を1つ選択する。
 ステップS1211は、ステップS1210で選択した予約情報が稼働中の仮想計算機の予約情報か、稼働予定の仮想計算機の予約情報かを判定する。稼働中の仮想計算機の場合は、処理はステップS1212に移行し、稼働予定の仮想計算機の場合は、ステップS1213に移行する。具体的には、ステップS1210で選択した予約情報の稼働状況欄0307に格納されている識別子が「稼働」であれば、処理はステップS1212に移行し、「停止」であればステップS1213に移行する。
 ステップS1212は、ステップS1210で選択した予約情報のVM識別子欄0302が識別する稼働中の仮想計算機の負荷に基づいて、図6の配置スコアテーブル0600を更新する。具体的には、VM情報テーブル1100Bから、VM識別子0401がステップS1210で選択した予約情報のVM識別子欄0302に格納された識別子と一致する行を抽出する。抽出した行の負荷欄0403に格納された仮想計算機の負荷が、その行の物理計算機識別子欄0402に格納された識別子で識別される物理計算機の負荷から除かれた場合の物理計算機の配置スコアを再計算し、その配置スコアを配置スコアテーブル0600に更新登録する。
 例えば、配置スコアが各物理計算機の空容量と定義されており、ステップS1210で選択した予約情報が予約情報テーブル1100Cの行0312である場合、予約対象の仮想計算機は、0312の欄0302に格納された、識別子が「VM2」である仮想計算機であり、VM情報テーブル1100Bに基づくと、VM識別子欄0401が「VM2」である行は0412である。
 VM情報テーブル1100Bの行0412の負荷欄0403は「1.0GB」であり、物理計算機識別子0402は「P2」であり、図6に示す配置スコアテーブルの物理計算機識別子欄0601に「P2」が格納されている行は行0612であり、行0612の配置スコア欄0602は「7.0」である。物理計算機P2の空きメモリ容量は7.0GBであり、行0412が示すVM12の負荷「1.0GB」が物理計算機P2の負荷から除かれた場合、物理計算機P2の実の空容量は8.0GBとなるため、配置スコアテーブル0600の行0612の配置スコア欄0602には8.0が格納される。
 ステップS1213は、ステップS1210で選択した予約情報の予定負荷欄0306に格納された負荷に基づいて、図6の配置スコアテーブル0600を更新する。具体的には、ステップS1210は、選択した予約情報の予定負荷欄0306に格納された負荷が、配備先物理計算機欄0303に格納された識別子によって識別される物理計算機の負荷から除かれた場合の物理計算機の配置スコアを計算し、その配置スコアを配置スコアテーブル0600に格納する。
 例えば、リソース管理プログラム0110は、配置スコアを各物理計算機のメモリの空容量と定義すると、ステップS1210で選択した予約情報が予約情報テーブル1100Cの行0314である場合、行0314の予定負荷欄0306は「1.0GB」であり、配備先物理計算機欄0402は「P1」であり、図6に示す配置スコアテーブルの物理計算機識別子欄0601に「P1」が格納されている行は行0611であり、行0611の配置スコア欄0602には4.0が格納されている。したがって、ステップS1213は、物理計算機P1のメモリの空容量は4.0GBであり、行0314が示すVMの予定負荷「1.0GB」が物理計算機P1の負荷から除かれると、物理計算機P2の空容量は5.0GBとなるため、配置スコアテーブル0600の行0611の配置スコア欄0602には5.0を格納する。
 ステップS1214は、繰返しステップの先頭であるS1209に対応する終端ステップである。ステップS1208で抽出した全ての予約情報を参照するまで、既述のステップを繰り返し実行する。
 ステップS1215、ステップS1217の処理はそれぞれ図7で説明したステップS0705、ステップS0706の処理と同じである。ステップS1218は、ステップS1207で選択した予約情報の開始時刻欄0304に格納されている時刻を、ステップS1205で初期化したメモリに上書きして記録する。ステップS1219は、返しステップの先頭であるS1206に対応する終端ステップであり、ステップS1203で抽出した全ての予約情報を参照するまで、既述のステップを繰り返し実行する。
 この実施形態では、選択した予約情報の開始時刻から終了時刻までの間の各物理計算機の負荷を、稼働中の仮想計算機と先に配置を決定した稼働予定の仮想計算機の予定負荷と開始時刻と終了時刻とから算出する際、各物理計算機の配置スコアを算出できるのであれば、稼働予定仮想計算機の配置を開始時刻が早いものから決定していかなくてもよい。
 リソース管理プログラムが、ある稼働予定の仮想計算機を選択して配置を決定する際に、選択した仮想計算機の稼働期間に稼働が重複している仮想計算機の負荷から、選択した仮想計算機の稼働期間の各物理計算機の負荷を算出し、算出した各物理計算機の負荷に基づいて、選択した稼働予定仮想計算機の配置を決定することで、稼働中の仮想計算機または稼働予定の仮想計算機が、再配置実行時刻から一定期間内に稼働を終了する場合にも、稼働予定の仮想計算機の最適な配置を決定することができる。
 図13(A)-図13(C)は、リソース管理プログラム0110が、稼働が予定される仮想計算機の配置を決定する上で、稼働中の仮想計算機の終了時刻を考慮する必要がない状態に係る管理テーブルであり、具体的には、物理計算機情報テーブル0800A(図13(A))、VM情報テーブル0800B(図13(B))、予約情報テーブル0800C(図13(C))である。図14に、物理サーバ(P3)のメモリの総容量に対する、仮想計算機の負荷の変位をグラフにして示す。図13(C)によれば、稼働予定であった仮想計算機(VM10)が現在時刻(2010年3月1日)において、物理サーバ(P3)で既に稼働しており、現在時刻から一月の(2010年4月1日)まで、さらに、物理サーバ(P3)に、仮想計算機(VM11)と仮想計算機(VM12)とが続けて稼働し、そして、その間、3つの仮想計算機(VM10,VM11,VM12)が稼働を終了しない。したがって、リソース管理プログラム0110が、現在時刻において、稼働予定の仮想計算機(VM11,VM12)を物理サーバ(P3)への配置を決定し、これら仮想計算機を稼働させるに当たっては、既に物理計算機(P3)に配置済みの仮想計算機の負荷を物理計算機(P3)のメモリの総容量から減じる必要は無い。
 これに対して、この必要性がある場合を以下に説明する。図15は図13(C)に係る予約情報テーブルの変形例である。図15の予約情報テーブルによれば、現在時刻(2010年3月1日)から1月以内に、仮想計算機(VM10)と仮想計算機(VM11)とは、物理計算機(P3)に一旦は配置されて稼働するものの、2010年4月1日までにその稼働を終了する。したがって、この間での物理計算機(P3)に配置された仮想計算機の実際の予定負荷は、仮想計算機(VM11)の予定負荷の値となる(図16)。したがって、リソース管理プログラム0110が、物理計算機(P3)の既述の配置スコアを算出する際には、物理計算機(P3)の予定負荷の値に基づかなくてはならない。
 一方、仮想計算機(VM10)と仮想計算機(VM11)との稼働の終了を考慮しないと、これら仮想計算機の負荷が物理計算機(P3)に存在しないにも拘わらず、図17に示すように、仮想計算機(VM12)の負荷にそれぞれ累積されて、配置スコアはこれら累積に基づくものとなって、管理プログラムは、物理計算機(P3)の容量に余裕があるにも拘らず、これを余裕が無いものとして判定し、仮想計算機(VM11)及び/又は仮想計算機(VM12)の配置先を他の物理計算機に決定してしまい、稼働予定の仮想計算機の最適配置の目的を達成できないおそれが生じてしまう。
 図18-図20は、図15-17の他の例である。図18は予約情報テーブルであり、図19は、仮想計算機の稼働の終了を考慮した場合での、物理計算機(P3)における仮想計算機の負荷変位を示し、図20は、仮想計算機の稼働の終了を考慮しない場合での、物理計算機(P3)における仮想計算機の負荷の変位を示すものである。この例が先の例と異なるのは、図19において、現在時刻(2010年3月1日)から一定期間(1月)の間での予定負荷の最大値は、仮想計算機(VM10)と仮想計算機(VM11)の稼働期間が一部重なることにより、両者の加算値になる点である。
 既述の予約情報テーブル(図4等)において、管理ユーザが稼働予定の仮想計算機を配備する物理サーバを指定することもできる。例えば、ある仮想計算機を特殊な物理サーバに配備し、必ずその物理サーバ上で仮想計算機を稼働させていたい場合、管理ユーザが仮想計算機の配置先物理サーバを指定し、仮想計算機を再配置の対象外とする場合、ある仮想計算機を特定の複数物理計算機間だけで移動するように限定したい場合、管理ユーザが仮想計算機の配置先物理計算機の範囲を指定し、仮想計算機の最適配置時には、配置先決定時に指定された物理計算機の範囲で仮想計算機の配置を決定する。
 管理ユーザが、仮想計算機の配置先物理計算機を指定する以外に、管理ユーザが仮想計算機の配置に対して制約を設けることもできる。例えば、ある指定した複数の仮想計算機を同一物理計算機で稼動させる場合、ある指定した複数の仮想計算機を別物理計算機で稼働させる場合、ある指定した複数の仮想計算機をできるだけネットワークの距離が近い物理計算機に配置する場合などである。
 0100:リソース管理サーバ、0101:CPU,0102:メモリ、0103:入力I/F,0104:マウス・キーボード、0105:出力I/F、0106:ディスプレイ、0107:HDD I/F、0108:HDD、0109:NIC、0110:リソース管理プログラム0110、0111:予約受付部、0112:配置計算部、0113:VM移行部、0114:計測部、0115:配備部、0116:管理部、0200:物理計算機情報テーブル、0300:予約情報テーブル、0400:VM情報テーブル、0600:配置スコアテーブル、0120:ネットワーク、0130:物理計算機、0131:CPU、0132:メモリ、0133:NIC、0134:HDD I/F、0135:ハイパバイザ、0136:仮想計算機、0137:仮想計算機、0140:物理計算機、0141:CPU、0142:メモリ、0143:NIC、0144:HDD I/F、0145:ハイパバイザ、0146:仮想計算機、0147:仮想計算機、150:HDD、151:VMディスクイメージ。

Claims (11)

  1.  複数の物理計算機と、
     当該複数の物理計算機とネットワークを介して接続し、前記複数の物理計算機に対する複数の仮想計算機の配置を管理する管理計算機と、
     を備える計算機システムであって、
     前記管理計算機は、
     仮想計算機を稼働させる予定情報から、稼働が予定される前記仮想計算機を決定し、
     一つ又は複数の前記物理計算機に既に配置されて稼働している稼働中の仮想計算機に関する負荷に基づいて、
     前記稼働が予定されている仮想計算機を配置すべき物理計算機を、当該仮想計算機の稼働前に、前記複数の物理計算機の中から決定する、
     計算機システム。
  2.  前記管理計算機は、稼働中の仮想計算機に関する負荷を、
     前記複数の物理計算機の夫々が仮想計算機に割当て可能なリソースの総量から、稼働している仮想計算機に割当てられたリソース量を減じた値から算出する、請求項1記載の計算機システム。
  3.  前記管理計算機は、前記稼働することが予定されている仮想計算機が登録された管理テーブルを備え、
     前記管理テーブルは、当該仮想計算機が稼働を開始する時刻の情報と終了する時刻の情報とを備え、
     前記管理計算機は、予定時刻から規定期間内に前記開始する時刻が存在する前記稼働することが予定される仮想計算機を前記管理テーブルから抽出し、当該抽出した仮想計算機を配置すべき前記物理計算機を決定する、請求項1記載の計算機システム。
  4.  前記管理計算機は、前記複数の物理計算機の何れかで稼働中の仮想計算機を他の物理計算機に移行することなく、前記稼働が予定されている仮想計算機を前記複数の物理計算機の中から決定する、請求項1記載の計算機システム。
  5.  前記管理テーブルは、前記稼働することが予定されている仮想計算機の配置先物理計算機の情報を含み、
     前記管理計算機は、前記稼働予定されている仮想計算機を配置すべきとして決定された物理計算機が前記管理テーブルに含まれた配置先物理計算機と異なる場合には、前記決定された物理計算機の情報を前記管理テーブルに更新登録する、請求項1記載の計算機システム。
  6.  前記管理計算機は、前記複数の物理計算機の何れかで稼働中の仮想計算機を他の物理計算機に移行しながら、前記稼働が予定されている仮想計算機を前記複数の物理計算機の中から決定する、請求項1記載の計算機システム。
  7.  前記管理計算機は、
     前記稼働が予定されている仮想計算機を配置すべき物理計算機を決定後、前記稼働が予定されている仮想計算機に関する負荷と、前記複数の物理計算機の少なくとも一つで稼働している他の仮想計算機に関する負荷と、が目標値を達成しているか否かを判定し、
     当該判定を否定する場合には、前記複数の物理計算機の少なくとも一つで稼働している、前記複数の仮想計算機の少なくとも一つの仮想計算機を他の物理計算機に移行し、前記判定を肯定する場合には、当該移行を行うことなく、前記複数の仮想計算機の前記複数の物理計算機に対する配置を決定する、請求項
    6記載の計算機システム。
  8.  前記管理計算機は、前記他の物理計算機を、前記複数の物理計算機の中で、前記少なくとも一つの仮想計算機に割当てることができるリソース量が最も大きい物理計算機とする、請求項7記載の計算機システム。
  9.  前記管理計算機は、稼働が予定されている仮想計算機が配置される目標物理計算機を決定する際、当該仮想計算機の稼働開始前に稼働した後稼働を終了する仮想計算機が前記目標物理計算機に配置されている場合、当該仮想計算機に関する負荷を前記目標物理計算機のリソース量から減じることなく、前記目標物理計算機を前記複数の物理計算機の中か決定する、請求項1記載の計算機システム。
  10.  前記管理計算機は、稼働中の仮想計算機に関する負荷を、前記複数の物理計算機の夫々が仮想計算機に割当て可能なリソースの総量から、稼働している仮想計算機に割当てられたリソース量を減じた値から算出し、
     前記稼働することが予定されている仮想計算機が登録された管理テーブルを備え、
     前記管理テーブルは、当該仮想計算機が稼働を開始する時刻の情報と終了する時刻の情報と、
     前記管理計算機は、さらに、予定時刻から規定期間内に前記開始する時刻が存在する前記稼働することが予定される仮想計算機を前記管理テーブルから抽出し、当該抽出した仮想計算機を配置すべき前記物理計算機を決定し、
     前記管理テーブルは、前記稼働することが予定されている仮想計算機の配置先物理計算機の情報を含み、
     前記管理計算機は、さらに、
     前記稼働予定されている仮想計算機を配置すべきとして決定された物理計算機が前記管理テーブルに含まれた配置先物理計算機と異なる場合には、前記決定された物理計算機の情報を前記管理テーブルに更新登録し、
     前記複数の物理計算機の何れかで稼働中の仮想計算機を他の物理計算機に移行しながら、前記稼働が予定されている仮想計算機を前記複数の物理計算機の中から決定し、
     前記稼働が予定されている仮想計算機を配置すべき物理計算機を決定後、前記稼働が予定されている仮想計算機に関する負荷と、前記複数の物理計算機の少なくとも一つで稼働している他の仮想計算機に関する負荷と、が目標値を達成しているか否かを判定し、
     当該判定を否定する場合には、前記複数の物理計算機の少なくとも一つで稼働している、前記複数の仮想計算機の少なくとも一つの仮想計算機を他の物理計算機に移行し、前記判定を肯定する場合には、当該移行を行うことなく、前記複数の仮想計算機の前記複数の物理計算機に対する配置を決定し、
     前記他の物理計算機を、前記複数の物理計算機の中で、前記少なくとも一つの仮想計算機に割当てることができるリソース量が最も大きい物理計算機とし、
     稼働が予定されている仮想計算機が配置される目標物理計算機を決定する際、当該仮想計算機の稼働開始前に稼働した後稼働を終了する仮想計算機が前記目標物理計算機に配置されている場合、当該仮想計算機に関する負荷を前記目標物理計算機のリソース量から減じることなく、前記目標物理計算機を前記複数の物理計算機の中か決定する、請求項1記載の計算機システム。
  11.  複数の物理計算機と、
     当該複数の物理計算機とネットワークを介して接続し、前記複数の物理計算機に対する複数の仮想計算機の配置を管理する管理計算機と、
     を備える計算機システムの仮想計算機の最適配置方法において、
     前記管理計算機は、
     仮想計算機を稼働させる予定情報から、稼働が予定される前記仮想計算機を決定し、
     一つ又は複数の前記物理計算機に既に配置されて稼働している稼働中の仮想計算機に関する負荷に基づいて、
     前記稼働が予定されている仮想計算機を配置すべき物理計算機を、当該仮想計算機の稼働前に、前記複数の物理計算機の中から決定する、
     計算機システムの仮想計算機の最適配置方法。
PCT/JP2011/001271 2011-03-03 2011-03-03 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 WO2012117453A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/991,274 US20130339956A1 (en) 2011-03-03 2011-03-03 Computer system and optimal arrangement method of virtual machine in computer system
JP2013502047A JP5412599B2 (ja) 2011-03-03 2011-03-03 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
PCT/JP2011/001271 WO2012117453A1 (ja) 2011-03-03 2011-03-03 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/001271 WO2012117453A1 (ja) 2011-03-03 2011-03-03 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法

Publications (1)

Publication Number Publication Date
WO2012117453A1 true WO2012117453A1 (ja) 2012-09-07

Family

ID=46757426

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001271 WO2012117453A1 (ja) 2011-03-03 2011-03-03 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法

Country Status (3)

Country Link
US (1) US20130339956A1 (ja)
JP (1) JP5412599B2 (ja)
WO (1) WO2012117453A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013152622A (ja) * 2012-01-25 2013-08-08 Ntt Data Corp 仮想マシン配置装置、仮想マシン配置方法
JP2014197356A (ja) * 2013-03-29 2014-10-16 新日鉄住金ソリューションズ株式会社 管理サーバ装置、情報処理方法及びプログラム
JP2015022321A (ja) * 2013-07-16 2015-02-02 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
JP2016110248A (ja) * 2014-12-03 2016-06-20 日本電信電話株式会社 仮想化実行装置、仮想化システム、および、リソース最適化方法
JP2016186712A (ja) * 2015-03-27 2016-10-27 日本電気株式会社 システム
JP2016186713A (ja) * 2015-03-27 2016-10-27 日本電気株式会社 システム
WO2017002921A1 (ja) * 2015-06-30 2017-01-05 日本電気株式会社 仮想ネットワークファンクション管理装置、仮想マシン管理装置、仮想ネットワークファンクションへの資源の割り当て方法及びプログラム
JP2017062734A (ja) * 2015-09-25 2017-03-30 ビッグローブ株式会社 ストレージ管理装置、ストレージ管理方法、及び、プログラム
US10158526B2 (en) 2015-03-27 2018-12-18 Nec Corporation System that manages server function

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959506B (zh) 2010-06-22 2017-04-26 慧与发展有限责任合伙企业 用于计划应用部署的方法和系统
JP5766346B2 (ja) * 2011-04-07 2015-08-19 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ソフトウェア・オブジェクトをバックグラウンドで移動させる方法及び装置
CN103827823A (zh) * 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
US8949431B2 (en) * 2011-08-24 2015-02-03 Radware, Ltd. Method for live migration of virtual machines
JP5725191B2 (ja) * 2011-09-22 2015-05-27 富士通株式会社 電源管理装置、電源管理方法および電源管理プログラム
US9137130B2 (en) * 2011-09-22 2015-09-15 Sap Se Dynamic network load forecasting
TW201324357A (zh) * 2011-12-01 2013-06-16 Univ Tunghai 虛擬機叢集之綠能管理方法
JP5862359B2 (ja) * 2012-02-23 2016-02-16 日本電気株式会社 シンクライアントシステム、接続管理サーバ、接続管理方法、及び接続管理プログラム
CN102724277B (zh) * 2012-05-04 2016-01-06 华为技术有限公司 虚拟机热迁移和部署的方法、服务器及集群系统
WO2013190649A1 (ja) * 2012-06-20 2013-12-27 富士通株式会社 仮想ディスクのマイグレーションに関する情報処理方法及び装置
US8966495B2 (en) * 2012-09-05 2015-02-24 Cisco Technology, Inc. Dynamic virtual machine consolidation
US9223608B2 (en) 2012-12-14 2015-12-29 Vmware, Inc. Systems and methods for finding solutions in distributed load balancing
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
EP2979180B1 (en) * 2013-03-27 2019-10-30 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating virtualization resources
US10425481B2 (en) * 2013-05-13 2019-09-24 Telefonaktiebolaget Lm Ericsson (Publ) Node in a telecommunications network, a virtual network element and methods for retrieving resource identification information
US9384059B2 (en) * 2013-05-31 2016-07-05 Hitachi, Ltd. Comparing resource costs between allocation plans in a load balance apparatus
US9851988B1 (en) * 2013-09-04 2017-12-26 Amazon Technologies, Inc. Recommending computer sizes for automatically scalable computer groups
US11663025B2 (en) * 2013-09-23 2023-05-30 Bankvault Pty Ltd Maintenance of and caching of suspended virtual computers in a pool of suspended virtual computers
US9710308B1 (en) * 2013-12-24 2017-07-18 EMC IP Holding Company LLC Workflow for migration planning of data storage systems
JP6287321B2 (ja) * 2014-02-24 2018-03-07 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US9948493B2 (en) * 2014-04-03 2018-04-17 Centurylink Intellectual Property Llc Network functions virtualization interconnection gateway
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US9841991B2 (en) * 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
US10642635B2 (en) * 2014-06-07 2020-05-05 Vmware, Inc. Decentralized demand-based virtual machine migration management
US9678793B2 (en) * 2015-02-26 2017-06-13 International Business Machines Corporation Resource-based job scheduling
JP6477097B2 (ja) * 2015-03-20 2019-03-06 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
US10210079B2 (en) 2015-04-09 2019-02-19 Sungard Availability Services, Lp Touch free disaster recovery
US9836365B2 (en) 2015-04-09 2017-12-05 Sungard Availability Services, Lp Recovery execution system using programmatic generation of actionable workflows
US9727374B2 (en) 2015-04-21 2017-08-08 International Business Machines Corporation Temporary virtual machine migration for improved software application warmup
US9727366B2 (en) * 2015-04-23 2017-08-08 International Business Machines Corporation Machine learning for virtual machine migration plan generation
JP2016224582A (ja) * 2015-05-28 2016-12-28 富士通株式会社 制御方法、制御装置、及び制御プログラム
US9946564B2 (en) * 2015-06-23 2018-04-17 International Business Machines Corporation Adjusting virtual machine migration plans based on alert conditions related to future migrations
CA3000952A1 (en) * 2015-10-14 2017-04-20 Sungard Availability Services, Lp Automatic system disaster recovery
US9710305B2 (en) * 2015-11-12 2017-07-18 International Business Machines Corporation Virtual machine migration management
US10395219B1 (en) * 2015-12-18 2019-08-27 Amazon Technologies, Inc. Location policies for reserved virtual machine instances
US10341215B2 (en) 2016-04-06 2019-07-02 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion
JP2018060378A (ja) * 2016-10-05 2018-04-12 富士通株式会社 起動制御プログラム、起動制御方法及び起動制御装置
JP6969282B2 (ja) * 2017-10-25 2021-11-24 富士通株式会社 情報処理装置、情報処理システムおよび情報処理方法
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP2010224756A (ja) * 2009-03-23 2010-10-07 Nec Corp 仮想マシン再配置システム、方法、プログラム、及び仮想マシン管理装置
WO2010122709A1 (ja) * 2009-04-23 2010-10-28 日本電気株式会社 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US8336094B2 (en) * 2008-03-27 2012-12-18 Juniper Networks, Inc. Hierarchical firewalls
JP5544967B2 (ja) * 2010-03-24 2014-07-09 富士通株式会社 仮想マシン管理プログラム及び仮想マシン管理装置
US9563479B2 (en) * 2010-11-30 2017-02-07 Red Hat, Inc. Brokering optimized resource supply costs in host cloud-based network using predictive workloads

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP2010224756A (ja) * 2009-03-23 2010-10-07 Nec Corp 仮想マシン再配置システム、方法、プログラム、及び仮想マシン管理装置
WO2010122709A1 (ja) * 2009-04-23 2010-10-28 日本電気株式会社 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013152622A (ja) * 2012-01-25 2013-08-08 Ntt Data Corp 仮想マシン配置装置、仮想マシン配置方法
JP2014197356A (ja) * 2013-03-29 2014-10-16 新日鉄住金ソリューションズ株式会社 管理サーバ装置、情報処理方法及びプログラム
JP2015022321A (ja) * 2013-07-16 2015-02-02 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
JP2016110248A (ja) * 2014-12-03 2016-06-20 日本電信電話株式会社 仮想化実行装置、仮想化システム、および、リソース最適化方法
JP2016186712A (ja) * 2015-03-27 2016-10-27 日本電気株式会社 システム
JP2016186713A (ja) * 2015-03-27 2016-10-27 日本電気株式会社 システム
US10158526B2 (en) 2015-03-27 2018-12-18 Nec Corporation System that manages server function
WO2017002921A1 (ja) * 2015-06-30 2017-01-05 日本電気株式会社 仮想ネットワークファンクション管理装置、仮想マシン管理装置、仮想ネットワークファンクションへの資源の割り当て方法及びプログラム
JPWO2017002921A1 (ja) * 2015-06-30 2018-04-26 日本電気株式会社 仮想ネットワークファンクション管理装置、仮想マシン管理装置、仮想ネットワークファンクションへの資源の割り当て方法及びプログラム
US10846119B2 (en) 2015-06-30 2020-11-24 Nec Corporation Virtualized network function management apparatus, virtual machine management apparatus, method for allocating resources to virtual network function, and program
JP2017062734A (ja) * 2015-09-25 2017-03-30 ビッグローブ株式会社 ストレージ管理装置、ストレージ管理方法、及び、プログラム

Also Published As

Publication number Publication date
JP5412599B2 (ja) 2014-02-12
US20130339956A1 (en) 2013-12-19
JPWO2012117453A1 (ja) 2014-07-07

Similar Documents

Publication Publication Date Title
JP5412599B2 (ja) 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
JP4659526B2 (ja) ストレージシステムにインストールされるプログラムのライセンスを管理する管理計算機、計算機システム及び制御方法
CN101681268B (zh) 管理虚拟机存储器的系统、方法和程序
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
JP5830599B2 (ja) 計算機システム及びその管理システム
JP5439581B2 (ja) ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法
US8688909B2 (en) Storage apparatus and data management method
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
JP5973089B2 (ja) ストレージシステムの移行方式および移行方法
US10248460B2 (en) Storage management computer
US20160156568A1 (en) Computer system and computer resource allocation management method
JP7003692B2 (ja) 情報処理装置,情報処理システムおよび制御プログラム
JP2010282420A (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
CN102981929A (zh) 磁盘镜像的管理方法和系统
JP6293683B2 (ja) 計算機システム及び計算機システムの性能障害の対処方法
WO2013098960A1 (ja) 計算機システム、ファイル管理方法及び記憶媒体
JP4862067B2 (ja) キャッシュ制御装置及び方法
JP6969282B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
US20150234671A1 (en) Management system and management program
CN106687926A (zh) 被克隆的虚拟机的负载均衡
US20110208941A1 (en) Scalable performance-based volume allocation for time-based storage access services
JP2013025547A (ja) 演算制御装置及び演算制御方法並びにプログラム、並列プロセッサ
US12067413B2 (en) Apparatus for determining resource migration schedule
JP7125964B2 (ja) 計算機システムおよび管理方法
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11859821

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013502047

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13991274

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11859821

Country of ref document: EP

Kind code of ref document: A1