WO2018042601A1 - 計算機システム、管理計算機、および記録媒体 - Google Patents

計算機システム、管理計算機、および記録媒体 Download PDF

Info

Publication number
WO2018042601A1
WO2018042601A1 PCT/JP2016/075707 JP2016075707W WO2018042601A1 WO 2018042601 A1 WO2018042601 A1 WO 2018042601A1 JP 2016075707 W JP2016075707 W JP 2016075707W WO 2018042601 A1 WO2018042601 A1 WO 2018042601A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
computer
amount
resource
virtual
Prior art date
Application number
PCT/JP2016/075707
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 JP2018536623A priority Critical patent/JP6612458B2/ja
Priority to PCT/JP2016/075707 priority patent/WO2018042601A1/ja
Publication of WO2018042601A1 publication Critical patent/WO2018042601A1/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/46Multiprogramming arrangements
    • 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]

Definitions

  • the present invention relates to a computer system.
  • Scale-out technology that increases the number of virtual machines and improves performance is known. Scale-out is not infinitely effective, and there are elements that become bottlenecks, so the effect of scale-out is saturated with a certain number of units.
  • Patent Document 1 specifies a bottleneck location before scale-out from the correlation between load information such as the number of transactions and performance information such as throughput required for the system. And invalid scale-out can be avoided.
  • resource capacity such as CPU and memory that can be used in a whole system is limited.
  • the amount of resources that a user can use is limited by a certain amount according to the type of contract and usage fee.
  • a resource amount guaranteed for the virtual machine can be allocated as a reservation amount to each virtual machine constituting the system.
  • a computer system includes a physical computer including a plurality of computer resources, and a management computer connected to the physical computer.
  • the management computer instructs the physical computer to create the plurality of virtual machines by allocating a part of each computer resource to the plurality of virtual machines, and the plurality of virtual machines and the plurality of computers.
  • Configuration information indicating a relationship with a resource is stored, and it is configured to determine whether or not a virtual machine needs to be added based on the state of each virtual machine.
  • the management computer adds an unallocated amount that is an amount of a computer resource that is not allocated to any virtual machine to each computer resource.
  • the management computer based on the configuration information, adds the additional virtual machine from the plurality of virtual machines.
  • a virtual machine affected by the addition of the virtual machine is selected as a related virtual machine
  • a lender virtual machine is selected from virtual machines different from the related virtual machine among the plurality of virtual machines, and assigned to the lender virtual machine
  • a specific computer resource that is equal to or less than the unused amount, which is the amount of the specific computer resource that is not used by the lender virtual machine is selected as a borrowed computer resource, and the borrowed computer resource is allocated to the additional virtual machine to the physical computer To create the additional virtual machine.
  • the structure of the computer system of an Example is shown. Physical machine operation information 510 is shown. Virtual machine operating load information 530 is shown. System configuration information 550 is shown. Virtual machine configuration information 560 is shown. Parameter information 570 is shown. Parameter dependency relationship information 580 is shown. Resource lending information 590 is shown. A control process is shown. The scale-out process is shown. Indicates resource reservation processing. The lender virtual machine determination process is shown. An excluded virtual machine identification process is shown. The borrowing judgment process is shown. Scale-in processing is shown.
  • xxx table information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
  • xxx information information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
  • the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
  • an ID is used as element identification information, but other types of identification information may be used instead of or in addition thereto.
  • a reference number or a common number in the reference number is used, and when a description is made by distinguishing the same type of element, the reference number of the element is used.
  • an ID assigned to the element may be used instead of the reference code.
  • an I / O (Input / Output) request is a write request or a read request, and may be referred to as an access request.
  • the process may be described using “program” as a subject.
  • the program is executed by a processor (for example, a CPU (Central Processing Unit)), so that a predetermined processing is appropriately performed. Since processing is performed using a storage resource (for example, a memory) and / or an interface device (for example, a communication port), the subject of processing may be a processor.
  • the process described with the program as the subject may be a process or system performed by a processor or an apparatus having the processor.
  • the processor may include a hardware circuit that performs a part or all of the processing.
  • the program may be installed in a computer-like device from a program source.
  • the program source may be, for example, a storage medium that can be read by a program distribution server or a computer.
  • the program distribution server may include a processor (for example, a CPU) and a storage resource, and the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
  • a processor for example, a CPU
  • the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
  • two or more programs may be realized as one program, or one program may be realized as two or more programs.
  • the management system may include one or more computers.
  • the management computer displays information (specifically, for example, the management computer displays information on its own display device, or the management computer displays display information in a remote display computer)
  • Management computer is the management system.
  • the plurality of computers may include a display computer when the display computer performs display
  • the management computer (eg, management system) may include an interface device connected to the I / O system including the display system, a storage resource (eg, memory), and a processor connected to the interface device and the storage resource.
  • the display system may be a display device included in the management computer or a display computer connected to the management computer.
  • the I / O system may be an I / O device (for example, a keyboard and a pointing device or a touch panel) included in the management computer, a display computer connected to the management computer, or another computer.
  • “Displaying display information” by the management computer means displaying the display information on the display system, which may be displaying the display information on a display device included in the management computer.
  • the management computer may transmit display information to the display computer (in the latter case, the display information is displayed by the display computer).
  • the management computer inputting / outputting information may be inputting / outputting information to / from an I / O device of the management computer, or a remote computer connected to the management computer (for example, a display) Information may be input / output to / from the computer.
  • the information output may be a display of information.
  • the management computer may be a monitoring control server.
  • FIG. 1 shows the configuration of the computer system of the embodiment.
  • the computer system of this embodiment includes a monitoring control server 100, a physical server (physical computer) 200, a load balancer 300, and a client 400.
  • the monitoring control server 100 includes a CPU 110 and a memory 120.
  • the monitoring control server 100 may further include an input device, a display device, an auxiliary storage device, and the like.
  • the CPU 110 executes processing according to a program stored in memory 120.
  • the memory 120 stores programs of an operating load information collection unit 141, an operating load prediction unit 142, a VM deployment processing unit 143, a resource lending processing unit 144, and an overall control unit 145. Further, the memory 120 stores data of physical machine operation information 510, virtual machine operation load information 530, system configuration information 550, virtual machine configuration information 560, parameter information 570, parameter dependency relationship information 580, and resource lending information 590.
  • the physical machine operation information 510 indicates the operation status of the physical server 200 that is a physical machine.
  • the virtual machine operating load information 530 indicates the operating status and load of a virtual machine operating on the physical server 200.
  • the system configuration information 550 indicates the configuration of the business system.
  • the virtual machine configuration information 560 indicates the configuration of the virtual machine.
  • the parameter information 570 indicates software parameters on the virtual machine.
  • the parameter dependency relationship information 580 indicates parameter dependency relationships.
  • the resource lending information 590 indicates a resource lending relationship between virtual machines.
  • the operating load information collection unit 141 collects physical machine operating information 510 and virtual machine operating load information 530.
  • the operation load prediction unit 142 predicts the operation status and load of the virtual machine.
  • the VM deployment processing unit 143 adds and deletes virtual machines.
  • the resource lending processing unit 144 lends resources between virtual machines.
  • the overall control unit 145 controls the operating load information collecting unit 141, the operating load predicting unit 142, the VM deployment processing unit 143, and the resource lending processing unit 144.
  • the physical server 200 is connected to the monitoring control server 100 via a communication network.
  • the physical server 200 includes a CPU 210 and a memory 220.
  • the CPU 210 executes processing according to a program stored in the memory 220.
  • the memory 220 stores programs of a plurality of Web / AP (application) servers 230, a DB (database) server 240, and a virtual machine control unit 250.
  • the physical server 200 creates a virtual machine by allocating (reserving) a part of a plurality of resources (computer resources) in the physical server 200 in accordance with an instruction from the monitoring control server 100.
  • the virtual machine control unit 250 generates a virtual machine and controls the virtual machine.
  • the Web / AP server 230 is a virtual machine, performs processing in response to a request from the client 400, and returns a response to the client 400.
  • the DB server 240 is a virtual machine, performs processing in response to a request from the Web / AP server 230, and returns a response to the Web / AP server 230.
  • a plurality of Web / AP servers 230 and DB servers 240 constitute a business system.
  • the business system includes at least one virtual machine.
  • the physical server 200 may create and operate a plurality of business systems.
  • the load balancer 300 is connected to the physical server 200 via a communication network.
  • the load balancer 300 includes a CPU 310 and a memory 320.
  • CPU 310 executes processing according to a program stored in memory 320.
  • the load balancer 300 distributes the load of the plurality of Web / AP servers 230 by transferring a request from the client 400 to any one of the plurality of Web / AP servers 230.
  • the client 400 is connected to the load balancer 300 via a communication network.
  • the client 400 includes a CPU 410 and a memory 420.
  • the CPU 410 executes processing according to a program stored in the memory 420.
  • the client 400 transmits a request for the Web / AP server 230 to the load balancer 300.
  • the physical server 200 provides a business system to the client 400.
  • FIG. 2 shows physical machine operation information 510.
  • the physical machine operation information 510 has an entry for each physical server.
  • One physical server entry includes a physical server number 511, a physical server name 512, a CPU reservation amount 521, a CPU usage amount 522, a CPU surplus amount 523, a memory reservation amount 524, a memory usage amount 525, a memory surplus amount 526, and a network bandwidth.
  • a reservation amount 527, a network bandwidth usage amount 528, and a network bandwidth surplus amount 529 are included.
  • the physical server number 511 indicates the number of the physical server.
  • the physical server name 512 indicates the name of the physical server.
  • the CPU reservation amount 521 indicates the resource amount [GHz] reserved for the virtual machine among the CPUs of the physical server.
  • the CPU usage 522 indicates the amount of resources used for the virtual machine among the CPUs of the physical server.
  • the CPU surplus amount 523 indicates the resource amount that is reserved for the virtual machine and is not used among the CPUs of the physical server, that is, the CPU reservation amount 521 -the CPU usage amount 522.
  • the memory reservation amount 524 indicates the resource amount [GB] reserved for the virtual machine in the memory of the physical server.
  • the memory usage 525 indicates the amount of resources used for the virtual machine in the memory of the physical server.
  • the memory surplus amount 526 indicates a resource amount that is reserved for the virtual machine and is not used in the memory of the physical server, that is, a memory reservation amount 524-a memory usage amount 525.
  • the network bandwidth reservation amount 527 indicates the resource amount [Gbps] reserved for the virtual machine in the network bandwidth of the physical server.
  • the network bandwidth usage 528 indicates the amount of resources used for the virtual machine in the network bandwidth of the physical server.
  • the network bandwidth surplus amount 529 indicates a resource amount that is reserved for the virtual machine and is not used in the network bandwidth of the physical server, that is, a network bandwidth reservation amount 527-a network bandwidth usage amount 528.
  • FIG. 3 shows virtual machine operating load information 530.
  • the virtual machine operating load information 530 has an entry for each virtual machine.
  • One virtual machine entry includes a virtual machine number 531, a virtual machine name 532, a load 533, a minimum service level agreement (SLA) 534, a CPU reservation amount 541, a CPU usage amount 542, a CPU surplus amount 543, a memory reservation amount 544, It includes a memory usage amount 545, a memory surplus amount 546, a network bandwidth reservation amount 547, a network bandwidth usage amount 548, and a network bandwidth surplus amount 549.
  • SLA minimum service level agreement
  • the virtual machine number 531 indicates the number of the virtual machine.
  • the virtual machine name 532 indicates the name of the virtual machine.
  • the load 533 indicates the load [tps (transactions per second)] of the virtual machine.
  • the minimum SLA 534 indicates the minimum value of the load on the virtual machine guaranteed to the user.
  • the CPU reservation amount 541 indicates the CPU resource amount [GHz] reserved by the virtual machine.
  • the CPU usage 542 indicates the amount of CPU resources used by the virtual machine.
  • the CPU surplus amount 543 indicates the CPU resource amount reserved by the virtual machine and not used, that is, the CPU reservation amount 541 -the CPU usage amount 542.
  • the memory reservation amount 544 indicates the memory resource amount [GB] reserved by the virtual machine.
  • the memory usage 545 indicates the amount of memory resources used by the virtual machine.
  • the memory surplus amount 546 indicates the resource amount of the memory that is reserved by the virtual machine and is not used, that is, the memory reservation amount 544 -the memory usage amount 545.
  • the network bandwidth reservation amount 547 indicates the resource amount [GB] of the network bandwidth reserved by the virtual machine.
  • the network bandwidth usage 548 indicates the amount of network bandwidth used by the virtual machine.
  • the network bandwidth surplus amount 549 indicates a network bandwidth resource amount that is reserved by the virtual machine and is not used, that is, a network bandwidth reservation amount 547-a network bandwidth usage amount 548.
  • Each of the CPU, memory, and network bandwidth is called a resource
  • the resource amount reserved for the virtual machine is called the reservation amount
  • the resource amount used for the virtual machine is called the use amount
  • the load for each virtual machine, the reservation amount, the usage amount, etc. for each virtual machine and each resource are referred to as operation load information.
  • the virtual machine operating load information 530 may not include the surplus amount, may include the usage rate that is the usage amount / reservation amount, or may include the unused rate that is 1-usage rate.
  • Information indicating performance such as response time may be used instead of load.
  • Resources other than the CPU, memory, and network bandwidth may be used.
  • a NIC (network interface) card number may be used instead of the network bandwidth.
  • the number of CPU cores may be used instead of the CPU frequency.
  • the monitoring control server 100 may periodically acquire virtual machine operating load information and store time-series operating load information.
  • the monitoring control server 100 uses the physical machine operation information 510 based on the total reservation amount, the total use amount, and the total surplus amount for all virtual machines on one physical server 200. , The reservation amount, the usage amount, and the surplus amount of the corresponding resource may be calculated respectively.
  • FIG. 4 shows the system configuration information 550.
  • the system configuration information 550 has an entry for each virtual machine.
  • One virtual machine entry includes a system number 551, a system name 552, a server type 553, and a virtual machine name 554.
  • the system number 551 indicates the number of the business system to which the virtual machine belongs.
  • a system name 552 indicates the name of the business system.
  • the server type 553 indicates the type of the virtual machine.
  • the server type 553 in this embodiment indicates any one of an AP server, a DB server, and a Web server.
  • the virtual machine name 554 indicates the name of the virtual machine.
  • the monitoring control server 100 sets the system configuration information 550 according to the addition and deletion of the virtual machine.
  • FIG. 5 shows the virtual machine configuration information 560.
  • the virtual machine configuration information 560 has an entry for each virtual machine.
  • One virtual machine entry includes a virtual machine number 561, a virtual machine name 562, a CPU frequency 563, a CPU core number 564, a memory 565, a network band 566, an OS 567, and software 568.
  • the virtual machine number 561 indicates the number of the virtual machine.
  • the virtual machine name 562 indicates the name of the virtual machine.
  • the CPU frequency 563 indicates the CPU frequency reserved for the virtual machine.
  • the number of CPU cores 564 indicates the number of CPU cores reserved for the virtual machine.
  • a memory 565 indicates the storage capacity of the memory reserved for the virtual machine.
  • a network bandwidth 566 indicates a network bandwidth reserved for the virtual machine.
  • the OS 567 indicates the OS of the virtual machine.
  • Software 568 indicates software that operates in the virtual machine.
  • FIG. 6 shows the parameter information 570.
  • the parameter information 570 has an entry for each software parameter on the virtual machine.
  • One parameter entry includes a parameter number 571, a software name 572, a parameter name 573, a default value 574, and a setting value 575.
  • Parameter number 571 indicates the parameter number.
  • a software name 572 indicates software having the parameter.
  • the parameter name 573 indicates the name of the parameter.
  • the default value 574 indicates the default value of the parameter.
  • a setting value 575 indicates a setting value of the parameter.
  • the monitoring control server 100 sets a parameter name 573 and a default value 574 based on information input in advance by an administrator.
  • FIG. 7 shows parameter dependency relationship information 580.
  • the parameter dependency relationship information 580 has an entry for each dependency relationship of parameters and resource amounts.
  • One dependency entry includes a dependency number 581, a software name 582, a sizing item 583, and a dependency 584.
  • Dependency relationship number 581 indicates the number of the dependency relationship.
  • the software name 582 indicates the name of software that calculates the resource amount using the dependency relationship.
  • a sizing item 583 indicates the resource amount.
  • the dependency relationship 584 indicates a sizing calculation formula for calculating the resource amount from the parameter.
  • the sizing calculation formula is used, for example, for calculating the amount of resources to be secured.
  • the parameter indicates the load of the virtual machine, and the sizing calculation formula calculates the necessary CPU resource amount from the load.
  • the monitoring control server 100 creates the parameter dependency relationship information 580 based on information input in advance by the administrator.
  • FIG. 8 shows resource lending information 590.
  • the resource lending information 590 has an entry for each resource borrowing.
  • One borrowing entry includes a borrowing number 591, a borrower 592, a lender 593, a borrowed resource 594, a borrowed amount 595, and a borrowing period 596.
  • Borrowed number 591 indicates the borrowed number.
  • the borrower 592 indicates the name of the virtual machine that borrows the resource.
  • the lender 593 indicates a virtual machine name that lends the resource.
  • the borrowed resource 594 indicates a resource borrowed from the lender 593 by the borrower 592.
  • the borrowed amount 595 indicates the amount of resource borrowed.
  • the borrowing period 596 indicates a period for borrowing the resource.
  • the monitoring control server 100 performs control processing by monitoring the computer system and changing the scale.
  • FIG. 9 shows the control process.
  • the overall control unit 145 determines whether or not an instruction to end the control process has been received. For example, the administrator inputs an end instruction to the monitoring control server 100.
  • the operational load information collection unit 141 collects the operational load information from the physical server 200 in S120.
  • the operational load prediction unit 142 determines whether any virtual machine satisfies the scale-out condition (scale-out is necessary).
  • the operation load prediction unit 142 calculates the use rate of the reservation amount of each resource in the virtual machine operation load information 530 as the use rate, and the use rate of any resource of any virtual machine is set in advance. If the scale-out usage rate threshold is exceeded, it may be determined that the virtual machine satisfies the scale-out condition. For example, when the CPU usage amount 542 / CPU reservation amount 541 of a certain virtual machine exceeds the scale-out usage rate threshold value 0.9, the operating load prediction unit 142 determines that the virtual machine satisfies the scale-out condition.
  • the operating load prediction unit 142 may determine that a virtual machine satisfies the scale-out condition when the load of a certain virtual machine exceeds a preset scale-out load threshold. Further, the operational load prediction unit 142 may determine that a virtual machine satisfies the scale-out condition when a certain virtual machine does not satisfy a condition of a specific sizing calculation formula.
  • the VM deployment processing unit 143 selects a virtual machine determined to satisfy the scale-out condition as a target virtual machine, and performs a scale-out process to be described later for adding the virtual machine. Then, the process proceeds to S110.
  • the operational load prediction unit 142 determines whether any virtual machine satisfies the scale-in condition (scale-in is necessary).
  • the operational load prediction unit 142 determines that the virtual machine satisfies the scale-in condition when the usage rate of any resource of any virtual machine falls below a preset scale-in usage rate threshold. May be.
  • the scale-in usage rate threshold may be equal to the scale-out usage rate threshold or may be smaller than the scale-out usage threshold.
  • the operating load prediction unit 142 may determine that the virtual machine satisfies the scale-in condition when the load of a virtual machine falls below a preset scale-in load threshold.
  • the operation load prediction unit 142 may determine that the virtual machine satisfies the scale-in condition when the borrowing period of the resource borrowed by a certain virtual machine ends.
  • the VM deployment processing unit 143 selects a virtual machine determined to satisfy the scale-in condition as a target virtual machine, and performs scale-in processing described later for deleting the virtual machine. Then, the process proceeds to S110.
  • the monitoring control server 100 can perform scale-out and scale-in according to the status of the virtual machine.
  • the monitoring control server 100 may perform S110 at regular time intervals until receiving an end instruction.
  • the monitoring control server 100 performs a scale-out process in S140 described above.
  • FIG. 10 shows the scale-out process
  • the VM deployment processing unit 143 selects, as a target resource, one of a plurality of resources required for an additional virtual machine of the same type as the target virtual machine, and performs a resource securing process described later for securing the target resource. .
  • the VM deployment processing unit 143 determines whether or not all resources necessary for the additional virtual machine have been secured.
  • the VM deployment processing unit 143 creates an additional virtual machine (performs scale-out) by allocating the reserved resources to the additional virtual machine, and ends this flow.
  • the VM deployment processing unit 143 adds the entry of the virtual machine to the virtual machine configuration information 560. Further, the VM deployment processing unit 143 adds the added virtual machine to the setting of the transfer destination of the request from the client 400 to the load balancer 300.
  • the monitoring control server 100 can secure necessary resources and perform scale-out.
  • the monitoring control server 100 performs resource securing processing in S810 described above.
  • FIG. 11 shows the resource securing process.
  • the VM deployment processing unit 143 calculates a necessary amount that is a target resource amount necessary for the additional virtual machine based on the virtual machine operating load information 530. For example, the VM deployment processing unit 143 may calculate the reservation amount of the target resource in the target virtual machine as the necessary amount.
  • the operation load prediction unit 142 searches the physical server 200 for which the available resource amount (unallocated amount) of the target resource is greater than or equal to the necessary amount based on the physical machine operation information 510.
  • the amount of the target resource amount that is not reserved for the virtual machine is referred to as a free resource amount.
  • the operational load prediction unit 142 determines whether there is a physical server 200 in which the amount of free resources of the target resource is greater than or equal to the necessary amount.
  • the operational load prediction unit 142 determines in S360 that the target resource has been successfully secured, and ends this flow.
  • the operational load prediction unit 142 searches for a virtual machine that satisfies the remaining condition (can be lent) in S240.
  • the remainder condition is that the usage rate of the target resource is smaller than the scale-out usage rate threshold.
  • the operational load prediction unit 142 determines whether there is a virtual machine that satisfies the remainder condition.
  • the operational load prediction unit 142 searches for a virtual machine that satisfies the SLA condition (can secure the SLA).
  • the operational load prediction unit 142 sets a lower limit amount of the target resource for maintaining the minimum SLA, and when the reservation amount of the target resource of a certain virtual machine is larger than the lower limit amount, the virtual machine satisfies the SLA condition. Is determined.
  • the operational load prediction unit 142 determines whether there is a virtual machine that satisfies the SLA condition.
  • the operational load predicting unit 142 determines in S370 that securing of the target resource has failed, and ends this flow. In this case, the operational load predicting unit 142 interrupts the scale-out process and notifies the administrator of the failure of the scale-out.
  • the VM deployment processing unit 143 performs a later-described renter virtual machine determination process for determining a renter. Thereafter, in S330, the resource lending processing unit 144 performs a borrowing determination process described later.
  • the resource lending processing unit 144 determines whether or not the borrower can borrow the necessary amount of the target resource from the lender.
  • the resource lending processing unit 144 borrows a necessary amount of the target resource from the lender's virtual machine, and shifts the processing to S360.
  • the resource loan processing unit 144 adds a borrowing entry for each lender and borrowed resource in the resource loan information 590.
  • the resource borrowing processing unit 144 sets the target resource as the borrowed resource 594, sets the borrowable amount calculated by the borrowing determination process as the borrowed amount 595, and sets the borrowable period calculated by the borrowing determination process as the borrowing period. Set as 596.
  • the resource lending processing unit 144 adds the borrowing amount to the usage amount of the target resource of the lender in the virtual machine operating load information 530.
  • the monitoring control server 100 can add a virtual machine using a resource that is not reserved or a resource that is reserved but not used. Assuming that the resource usage amount in the business system ⁇ the number of virtual machines is the total resource amount, the total resource amount can be increased by the scale-out process.
  • the monitoring control server 100 selects the target resources from the plurality of physical servers 200 in descending order, and adds virtual machines to the selected physical server 200. Also good.
  • the monitoring control server 100 may select the target virtual machines in the order of the required amount from the plurality of virtual machines and perform scale-out of the target virtual machines.
  • the monitoring control server 100 may select the target virtual machine according to the priority set in advance for each virtual machine type.
  • the monitoring control server 100 performs the renter virtual machine determination process in S320 described above.
  • FIG. 12 shows a lender virtual machine determination process.
  • the resource lending processing unit 144 selects a virtual machine that satisfies the remaining condition as a lender candidate.
  • the operational load predicting unit 142 specifies an excluded virtual machine (related virtual machine) by performing an excluded virtual machine specifying process described later.
  • the resource lending processing unit 144 excludes the excluded virtual machine from the lender candidate.
  • the resource lending processing unit 144 determines the remaining lender candidates as lenders, and ends this flow.
  • the resource lending processing unit 144 may select a lender from the plurality of lender candidates. For example, when there is one lender candidate who holds a required amount of target resource among a plurality of lender candidates, the resource lending processing unit 144 may select one of them as a lender.
  • the resource lending processing unit 144 may select, as a lender, a lender candidate having the smallest borrowing effect from among lender candidates based on the prediction of the operating load information.
  • the resource lending processing unit 144 may select, as a lender, a lender candidate having the smallest borrowing influence from among lender candidates based on the relationship between virtual machines.
  • the resource lending processing unit 144 determines a plurality of lender candidates as a plurality of lenders, calculates the ratio of the rentable amount of each lender candidate, and distributes the necessary amount to the plurality of lenders according to each ratio.
  • the lending amount of each lender may be determined.
  • the monitoring control server 100 can determine a virtual machine that lends unused resources to other virtual machines.
  • the monitoring control server 100 performs the excluded virtual machine specifying process in S420 described above.
  • FIG. 13 shows the excluded virtual machine specifying process.
  • the operational load prediction unit 142 selects a parameter related to the target resource from the parameter dependency relationship information 580. For example, when the target virtual machine executes the AP software, the operational load prediction unit 142 selects ap_param3 and db_param1 related to the memory amount of the AP in the example of the parameter dependency relationship information 580 described above.
  • the operational load prediction unit 142 selects the software to which the selected parameter belongs from the parameter information 570.
  • the operating load prediction unit 142 selects the software AP and DB to which ap_param3 and db_param1 belong in the example of the parameter information 570 described above.
  • the operational load prediction unit 142 selects a virtual machine on which the selected software operates from the virtual machine configuration information 560. For example, the operational load prediction unit 142 selects the virtual machines # 1 and # 3 that execute the AP and the virtual machine # 2 that executes the DB in the example of the virtual machine configuration information 560 described above.
  • the operational load prediction unit 142 selects a virtual machine in the same business system as the borrower from the selected virtual machines as an excluded virtual machine from the system configuration information 550, and ends this flow.
  • the operational load predicting unit 142 selects the virtual machine # 1 in the A system that is the business system to which the target virtual machine belongs from among the virtual machines # 1, # 2, and # 3. , # 2 is selected as an excluded virtual machine.
  • the monitoring control server 100 can prevent the performance degradation of other virtual machines due to scale-out by excluding the virtual machine affected by the scale-out from the lent candidate.
  • the monitoring control server 100 performs the borrowing determination process in S330 described above.
  • FIG. 14 shows the borrowing determination process.
  • the resource lending processing unit 144 predicts the future operating load information of each virtual machine of each lender based on the past virtual machine operating load information 530, and determines the borrowable period of each lender based on the prediction result. To do. For example, the resource lending processing unit 144 calculates a current slope of time-series operational load information and predicts future operational load information based on the slope. Further, for example, the resource lending processing unit 144 calculates a period in which the target resource of the lender satisfies the remaining condition as a borrowable period in the prediction result.
  • the resource loan processing unit 144 determines the upper limit amount of the target resource that can be borrowed within the borrowable period as the borrowable amount. For example, the resource lending processing unit 144 calculates (scale-out usage rate threshold ⁇ usage rate) ⁇ reserved amount as the usable amount within the borrowable period.
  • the resource loan processing unit 144 calculates the total borrowable amount of all the lenders.
  • the resource lending processing unit 144 determines whether or not the total borrowable amount is greater than or equal to the necessary amount.
  • the resource lending processing unit 144 determines that borrowing is possible in S650, and ends this flow.
  • the monitoring control server 100 can calculate the borrowable period of each lender, and can determine whether or not the borrower can be borrowed.
  • the monitoring control server 100 performs the scale-in process in S160 described above.
  • FIG. 15 shows the scale-in process
  • the VM deployment processing unit 143 selects one of a plurality of resources allocated to the target virtual machine as the target resource, and releases the target resource reserved for the target virtual machine.
  • the VM deployment processing unit 143 determines whether the target resource is borrowed.
  • the VM deployment processing unit 143 determines that the target resource is borrowed if there is an entry in the resource loan information 590 where the borrower 592 indicates the target virtual machine and the borrowed resource 594 indicates the target resource. .
  • the resource loan processing unit 144 returns the borrowed resource of the target resource to the lender.
  • the resource loan processing unit 144 deletes the target resource entry from the resource loan information 590.
  • the VM deployment processing unit 143 determines whether all resources allocated to the target virtual machine have been released.
  • the VM deployment processing unit 143 ends this flow.
  • the VM deployment processing unit 143 deletes the entry of the target virtual machine from the virtual machine configuration information 560. Further, the VM deployment processing unit 143 deletes the deleted virtual machine from the setting of the transfer destination of the request from the client 400 to the load balancer 300.
  • the borrower may borrow resources from other virtual machines and the borrower may continue to use the borrowed resources.
  • the monitoring control server 100 can return the resource when the borrowing period ends, and can delete the virtual machine when the virtual machine becomes unnecessary.
  • the physical computer corresponds to the physical server 200 or the like.
  • the management computer corresponds to the monitoring control server 100 or the like.
  • the memory corresponds to the memory 120 or the like.
  • the processor corresponds to the CPU 110 and the like.
  • the state corresponds to any information or the like in the virtual machine operating load information 530.
  • the configuration information corresponds to any information in the system configuration information 550, the virtual machine configuration information 560, the parameter information 570, and the parameter dependency relationship information 580.
  • DESCRIPTION OF SYMBOLS 100 Monitoring control server, 110 ... CPU, 120 ... Memory, 200 ... Physical server, 210 ... CPU, 220 ... Memory, 230 ... Web / AP server, 240 ... DB server, 300 ... Load balancer, 310 ... CPU, 320 ... Memory, 400 ... Client, 410 ... CPU, 420 ... Memory

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)

Abstract

複数の計算機リソースの中の特定計算機リソースの未割当量が必要量以上でないと判定された場合、管理計算機は、構成情報に基づいて、複数の仮想マシンの中から、追加仮想マシンの追加の影響を受ける仮想マシンを関連仮想マシンとして選択し、複数の仮想マシンのうち関連仮想マシンと異なる仮想マシンから貸主仮想マシンを選択し、貸主仮想マシンに割り当てられており且つ貸主仮想マシンに使用されていない特定計算機リソースの量である未使用量以下の特定計算機リソースを借用計算機リソースとして選択し、物理計算機に対し、借用計算機リソースを追加仮想マシンへ割り当てることで追加仮想マシンを作成することを、指示する。

Description

計算機システム、管理計算機、および記録媒体
 本発明は、計算機システムに関する。
 仮想マシンの台数を増やし、性能向上を図るスケールアウト技術が知られている。スケールアウトは無限に効果があるわけではなく、ボトルネックとなる要素が存在するため、ある一定の台数でスケールアウトの効果は飽和する。
 特許文献1に記載の監視制御システムは、トランザクション数などの負荷情報と、システムに要求されるスループットなどといった性能情報との相関から、スケールアウトを行う前に、ボトルネックとなる箇所を特定することができ、無効なスケールアウトを回避することができる。
特許第5500301号公報
 一般に、あるシステム全体で使用できるCPUやメモリなどのリソース容量は限られている。たとえば、パブリッククラウドなどでは、契約の種類や利用料に応じて、ユーザが使用できるリソース量がある一定の量で制限されている。その限られたリソース量の範囲内で、システムを構成する各仮想マシンに対して、その仮想マシンに保証されるリソース量を予約量として、割り当てることができる。
 各仮想サーバのリソース予約量は、多少の負荷変動があっても耐えられるように、多めに確保していることが多い。ただし、システムのすべての仮想マシンが予約量分のリソースをすべて使い切る状況は、稀であり、どうしても、未使用だが予約されて使用できないリソースが残ってしまう。
 このような状況下で、特許文献1の技術を用いてスケールアウトを実施した場合、未使用のリソースが存在するにも関わらず、新たに追加する仮想マシンに対して必要なリソース量が予約できず、物理リソースのボトルネックを検出してしまい、スケールアウトを実施する事ができない。つまり、このような技術は、未使用であるが予約されて使用できないリソースを有効活用できない。
 上記課題を解決するために、本発明の一態様である計算機システムは、複数の計算機リソースを含む物理計算機と、前記物理計算機に接続される管理計算機と、を備える。前記管理計算機は、前記物理計算機に対し、各計算機リソースの一部を複数の仮想マシンへ割り当てることで前記複数の仮想マシンを作成することを、指示し、前記複数の仮想マシンと前記複数の計算機リソースとの関係を示す構成情報を記憶し、各仮想マシンの状態に基づいて、仮想マシンの追加が必要である否かを判定する、ように構成されている。仮想マシンの追加が必要であると判定された場合、前記管理計算機は、各計算機リソースに対し、何れの仮想マシンにも割り当てられていない計算機リソースの量である未割当量が、追加される追加仮想マシンのための計算機リソースの必要量以上であるか否かを判定する。前記複数の計算機リソースの中の特定計算機リソースの未割当量が前記必要量以上でないと判定された場合、前記管理計算機は、前記構成情報に基づいて、前記複数の仮想マシンの中から、前記追加仮想マシンの追加の影響を受ける仮想マシンを関連仮想マシンとして選択し、前記複数の仮想マシンのうち前記関連仮想マシンと異なる仮想マシンから貸主仮想マシンを選択し、前記貸主仮想マシンに割り当てられており且つ前記貸主仮想マシンに使用されていない特定計算機リソースの量である未使用量以下の特定計算機リソースを借用計算機リソースとして選択し、前記物理計算機に対し、前記借用計算機リソースを前記追加仮想マシンへ割り当てることで前記追加仮想マシンを作成することを、指示する。
 仮想マシンに割り当てられた計算機リソースを有効に利用できる。
実施例の計算機システムの構成を示す。 物理マシン稼働情報510を示す。 仮想マシン稼働負荷情報530を示す。 システム構成情報550を示す。 仮想マシン構成情報560を示す。 パラメータ情報570を示す。 パラメータ依存関係情報580を示す。 リソース貸借情報590を示す。 制御処理を示す。 スケールアウト処理を示す。 リソース確保処理を示す。 貸主仮想マシン決定処理を示す。 除外仮想マシン特定処理を示す。 借用判定処理を示す。 スケールイン処理を示す。
 以下、図面を参照して本発明の実施形態を説明する。
 以下の説明では、「×××テーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××テーブル」を「×××情報」と呼ぶことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
 また、以下の説明では、要素の識別情報として、IDが使用されるが、それに代えて又は加えて他種の識別情報が使用されてもよい。
 また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
 また、以下の説明では、I/O(Input/Output)要求は、ライト要求又はリード要求であり、アクセス要求と呼ばれてもよい。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理又はシステムとしてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
 また、以下の説明では、管理システムは、一以上の計算機を含んでいてもよい。具体的には、例えば、管理計算機が情報を表示する場合(具体的には、例えば、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合)、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んでよい)が、管理システムである。管理計算機(例えば管理システム)は、表示システムを含むI/Oシステムに接続されたインタフェースデバイスと、記憶資源(例えばメモリ)と、インタフェースデバイス及び記憶資源に接続されたプロセッサとを有してよい。表示システムは、管理計算機が有する表示デバイスでもよいし、管理計算機に接続された表示用計算機でもよい。I/Oシステムは、管理計算機が有するI/Oデバイス(例えばキーボード及びポインティングデバイス、タッチパネル)でもよいし、管理計算機に接続された表示用計算機又は別の計算機でもよい。管理計算機が「表示用情報を表示する」ことは、表示システムに表示用情報を表示することであり、これは、管理計算機が有する表示デバイスに表示用情報を表示することであってもよいし、管理計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。また、管理計算機が情報を入出力するとは、管理計算機が有するI/Oデバイスとの間で情報の入出力を行うことであってもよいし、管理計算機に接続された遠隔の計算機(例えば表示用計算機)との間で情報の入出力を行うことであってもよい。情報の出力は、情報の表示であってもよい。管理計算機は、監視制御サーバであってもよい。
 以下、実施例の計算機システムの構成について説明する。
 図1は、実施例の計算機システムの構成を示す。
 本実施例の計算機システムは、監視制御サーバ100、物理サーバ(物理計算機)200、ロードバランサ300、クライアント400を含む。
 監視制御サーバ100は、CPU110、メモリ120を含む。監視制御サーバ100は更に、入力装置、表示装置、補助記憶装置等を含んでもよい。
 CPU110は、メモリ120に格納されたプログラムに従って、処理を実行する。メモリ120は、稼働負荷情報収集部141、稼働負荷予測部142、VMデプロイ処理部143、リソース貸借処理部144、全体制御部145の、プログラムを格納する。更にメモリ120は、物理マシン稼働情報510、仮想マシン稼働負荷情報530、システム構成情報550、仮想マシン構成情報560、パラメータ情報570、パラメータ依存関係情報580、リソース貸借情報590の、データを格納する。
 物理マシン稼働情報510は、物理マシンである物理サーバ200の稼働状況を示す。仮想マシン稼働負荷情報530は、物理サーバ200上で動作する仮想マシンの稼働状況および負荷を示す。システム構成情報550は、業務システムの構成を示す。仮想マシン構成情報560は、仮想マシンの構成を示す。パラメータ情報570は、仮想マシン上のソフトウェアのパラメータを示す。パラメータ依存関係情報580は、パラメータの依存関係を示す。リソース貸借情報590は、仮想マシン間のリソースの貸借の関係を示す。
 稼働負荷情報収集部141は、物理マシン稼働情報510および仮想マシン稼働負荷情報530を収集する。稼働負荷予測部142は、仮想マシンの稼働状況及び負荷を予測する。VMデプロイ処理部143は、仮想マシンの追加および削除を行う。リソース貸借処理部144は、仮想マシン間のリソースの貸借を行う。全体制御部145は、稼働負荷情報収集部141、稼働負荷予測部142、VMデプロイ処理部143、リソース貸借処理部144を制御する。
 物理サーバ200は、通信ネットワークを介して監視制御サーバ100に接続されている。物理サーバ200は、CPU210、メモリ220を含む。CPU210は、メモリ220に格納されたプログラムに従って、処理を実行する。メモリ220は、複数のWeb/AP(application)サーバ230、DB(database)サーバ240、仮想マシン制御部250の、プログラムを格納する。物理サーバ200は、監視制御サーバ100からの指示に従って、物理サーバ200内の複数のリソース(計算機リソース)の一部を仮想マシンに割り当てる(予約する)ことで、仮想マシンを作成する。
 仮想マシン制御部250は、仮想マシンを生成し、その仮想マシンを制御する。Web/APサーバ230は、仮想マシンであり、クライアント400からのリクエストに応じて処理を行い、応答をクライアント400へ返す。DBサーバ240は、仮想マシンであり、Web/APサーバ230からのリクエストに応じて処理を行い、応答をWeb/APサーバ230へ返す。ここでは、複数のWeb/APサーバ230とDBサーバ240が業務システムを構成する。業務システムは、少なくとも一つの仮想マシンを含む。物理サーバ200は、複数の業務システムを作成し、動作させてもよい。
 ロードバランサ300は、通信ネットワークを介して物理サーバ200に接続されている。ロードバランサ300は、CPU310、メモリ320を含む。CPU310は、メモリ320に格納されたプログラムに従って、処理を実行する。ロードバランサ300は、クライアント400からのリクエストを複数のWeb/APサーバ230の何れか一つへ転送することにより、複数のWeb/APサーバ230の負荷分散を行う。
 クライアント400は、通信ネットワークを介してロードバランサ300に接続されている。クライアント400は、CPU410、メモリ420を含む。CPU410は、メモリ420に格納されたプログラムに従って、処理を実行する。クライアント400は、Web/APサーバ230へのリクエストをロードバランサ300へ送信する。
 物理サーバ200は、クライアント400へ業務システムを提供する。
 図2は、物理マシン稼働情報510を示す。
 物理マシン稼働情報510は、物理サーバ毎のエントリを有する。一つの物理サーバのエントリは、物理サーバ番号511、物理サーバ名512、CPU予約量521、CPU使用量522、CPU余り量523、メモリ予約量524、メモリ使用量525、メモリ余り量526、ネットワーク帯域予約量527、ネットワーク帯域使用量528、ネットワーク帯域余り量529を含む。
 物理サーバ番号511は、当該物理サーバの番号を示す。物理サーバ名512は、当該物理サーバの名称を示す。CPU予約量521は、当該物理サーバのCPUのうち、仮想マシンに対して予約されているリソース量[GHz]を示す。CPU使用量522は、当該物理サーバのCPUのうち、仮想マシンに使用されているリソース量を示す。CPU余り量523は、当該物理サーバのCPUのうち、仮想マシンに予約されていて使用されていないリソース量、即ち、CPU予約量521-CPU使用量522を示す。メモリ予約量524は、当該物理サーバのメモリのうち、仮想マシンに対して予約されているリソース量[GB]を示す。メモリ使用量525は、当該物理サーバのメモリのうち、仮想マシンに使用されているリソース量を示す。メモリ余り量526は、当該物理サーバのメモリのうち、仮想マシンに予約されていて使用されていないリソース量、即ち、メモリ予約量524-メモリ使用量525を示す。ネットワーク帯域予約量527は、当該物理サーバのネットワーク帯域のうち、仮想マシンに対して予約されているリソース量[Gbps]を示す。ネットワーク帯域使用量528は、当該物理サーバのネットワーク帯域のうち、仮想マシンに使用されているリソース量を示す。ネットワーク帯域余り量529は、当該物理サーバのネットワーク帯域のうち、仮想マシンに予約されていて使用されていないリソース量、即ち、ネットワーク帯域予約量527-ネットワーク帯域使用量528を示す。
 図3は、仮想マシン稼働負荷情報530を示す。
 仮想マシン稼働負荷情報530は、仮想マシン毎のエントリを有する。一つの仮想マシンのエントリは、仮想マシン番号531、仮想マシン名532、負荷533、最小SLA(service level agreement)534、CPU予約量541、CPU使用量542、CPU余り量543、メモリ予約量544、メモリ使用量545、メモリ余り量546、ネットワーク帯域予約量547、ネットワーク帯域使用量548、ネットワーク帯域余り量549を含む。
 仮想マシン番号531は、当該仮想マシンの番号を示す。仮想マシン名532は、当該仮想マシンの名称を示す。負荷533は、当該仮想マシンの負荷[tps(transactions per second)]を示す。最小SLA534は、ユーザに対して保証された当該仮想マシンの負荷の最小値を示す。CPU予約量541は、当該仮想マシンにより予約されているCPUのリソース量[GHz]を示す。CPU使用量542は、当該仮想マシンにより使用されているCPUのリソース量を示す。CPU余り量543は、当該仮想マシンにより予約されていて使用されていないCPUのリソース量、即ちCPU予約量541-CPU使用量542を示す。メモリ予約量544は、当該仮想マシンにより予約されているメモリのリソース量[GB]を示す。メモリ使用量545は、当該仮想マシンにより使用されているメモリのリソース量を示す。メモリ余り量546は、当該仮想マシンにより予約されていて使用されていないメモリのリソース量、即ちメモリ予約量544-メモリ使用量545を示す。ネットワーク帯域予約量547は、当該仮想マシンにより予約されているネットワーク帯域のリソース量[GB]を示す。ネットワーク帯域使用量548は、当該仮想マシンにより使用されているネットワーク帯域のリソース量を示す。ネットワーク帯域余り量549は、当該仮想マシンにより予約されていて使用されていないネットワーク帯域のリソース量、即ちネットワーク帯域予約量547-ネットワーク帯域使用量548を示す。
 CPU、メモリ、ネットワーク帯域の夫々をリソースと呼び、仮想マシンに予約されているリソース量を予約量と呼び、仮想マシンに使用されているリソース量を使用量と呼び、予約量-使用量を余り量(未使用量)と呼ぶ。仮想マシン毎の負荷や、仮想マシン毎、リソース毎の、予約量、使用量等を、稼働負荷情報と呼ぶ。仮想マシン稼働負荷情報530余り量を含まなくてもよいし、使用量/予約量である使用率を含んでもよいし、1-使用率である未使用率を含んでもよい。
 負荷の代わりに、レスポンスタイム等の性能を示す情報が用いられてもよい。CPU、メモリ、ネットワーク帯域以外のリソースが用いられてもよい。例えば、ネットワーク帯域の代わりに、NIC(network interface card)数が用いられてもよい。CPU周波数の代わりに、CPUコア数が用いられてもよい。
 監視制御サーバ100は、定期的に仮想マシンの稼働負荷情報を取得し、時系列の稼働負荷情報を記憶してもよい。
 監視制御サーバ100は、各リソースに対し、一つの物理サーバ200上の全ての仮想マシンについて、予約量の合計と、使用量の合計と、余り量の合計とに基づいて、物理マシン稼働情報510において、対応するリソースの予約量と使用量と余り量を夫々算出してもよい。
 図4は、システム構成情報550を示す。
 システム構成情報550は、仮想マシン毎のエントリを有する。一つの仮想マシンのエントリは、システム番号551、システム名552、サーバ種別553、仮想マシン名554を含む。
 システム番号551は、当該仮想マシンが属する業務システムの番号を示す。システム名552は、当該業務システムの名称を示す。サーバ種別553は、当該仮想マシンの種別を示す。本実施例におけるサーバ種別553は、APサーバ、DBサーバ、Webサーバの何れか一つを示す。仮想マシン名554は、当該仮想マシンの名称を示す。
 監視制御サーバ100は、仮想マシンの追加および削除に応じて、システム構成情報550を設定する。
 図5は、仮想マシン構成情報560を示す。
 仮想マシン構成情報560は、仮想マシン毎のエントリを有する。一つの仮想マシンのエントリは、仮想マシン番号561、仮想マシン名562、CPU周波数563、CPUコア数564、メモリ565、ネットワーク帯域566、OS567、ソフトウェア568を含む。
 仮想マシン番号561は、当該仮想マシンの番号を示す。仮想マシン名562は、当該仮想マシンの名称を示す。CPU周波数563は、当該仮想マシンに対して予約されたCPUの周波数を示す。CPUコア数564は、当該仮想マシンに対して予約されたCPUのコア数を示す。メモリ565は、当該仮想マシンに対して予約されたメモリの記憶容量を示す。ネットワーク帯域566は、当該仮想マシンに対して予約されたネットワーク帯域を示す。OS567は、当該仮想マシンのOSを示す。ソフトウェア568は、当該仮想マシンで動作するソフトウェアを示す。
 図6は、パラメータ情報570を示す。
 パラメータ情報570は、仮想マシン上のソフトウェアのパラメータ毎のエントリを有する。一つのパラメータのエントリは、パラメータ番号571、ソフトウェア名572、パラメータ名573、デフォルト値574、設定値575を含む。
 パラメータ番号571は、当該パラメータの番号を示す。ソフトウェア名572は、当該パラメータを持つソフトウェアを示す。パラメータ名573は、当該パラメータの名称を示す。デフォルト値574は、当該パラメータのデフォルト値を示す。設定値575は、当該パラメータの設定値を示す。
 監視制御サーバ100は、予め管理者から入力された情報に基づいて、パラメータ名573およびデフォルト値574を設定する。
 図7は、パラメータ依存関係情報580を示す。
 パラメータ依存関係情報580は、パラメータとリソース量の依存関係毎のエントリを有する。一つの依存関係のエントリは、依存関係番号581、ソフトウェア名582、サイジング項目583、依存関係584を含む。
 依存関係番号581は、当該依存関係の番号を示す。ソフトウェア名582は、当該依存関係を用いてリソース量を算出するソフトウェアの名称を示す。サイジング項目583、当該リソース量を示す。依存関係584は、当該パラメータから当該リソース量を算出するサイジング計算式を示す。サイジング計算式は例えば、確保するリソース量の算出に用いられる。例えば、パラメータが仮想マシンの負荷を示し、サイジング計算式が負荷から必要なCPUのリソース量を算出する。
 監視制御サーバ100は、予め管理者から入力された情報に基づいてパラメータ依存関係情報580を作成する。
 図8は、リソース貸借情報590を示す。
 リソース貸借情報590は、リソースの借用毎のエントリを有する。一つの借用のエントリは、借用番号591、借主592、貸主593、借用リソース594、借用量595、借用期間596を含む。
 借用番号591、当該借用の番号を示す。借主592は、当該リソースを借りる仮想マシン名を示す。貸主593は、当該リソースを貸す仮想マシン名を示す。借用リソース594は、借主592により貸主593から借りているリソースを示す。借用量595は、借りているリソース量を示す。借用期間596は、当該リソースを借りる期間を示す。
 以下、計算機システムの動作について説明する。
 監視制御サーバ100は、計算機システムを監視してスケール変更を行う、制御処理を行う。
 図9は、制御処理を示す。
 S110において全体制御部145は、制御処理の終了の指示を受けたか否かを判定する。例えば、管理者が監視制御サーバ100に対して終了の指示を入力する。
 S110の結果がYESである場合、全体制御部145は、このフローを終了する。
 S110の結果がNOである場合、S120において稼働負荷情報収集部141は、物理サーバ200から稼働負荷情報を収集する。
 S130において稼働負荷予測部142は、何れかの仮想マシンがスケールアウト条件を満たす(スケールアウトが必要である)か否かを判定する。ここで稼働負荷予測部142は、仮想マシン稼働負荷情報530における各リソースの予約量に対する使用量の割合を使用率として算出し、何れかの仮想マシンの何れかのリソースの使用率が予め設定されたスケールアウト使用率閾値を上回った場合、その仮想マシンがスケールアウト条件を満たすと判定してもよい。例えば、稼働負荷予測部142は、ある仮想マシンのCPU使用量542/CPU予約量541がスケールアウト使用率閾値0.9を超えた場合、その仮想マシンがスケールアウト条件を満たすと判定する。また、稼働負荷予測部142は、ある仮想マシンの負荷が、予め設定されたスケールアウト負荷閾値を上回った場合、その仮想マシンがスケールアウト条件を満たすと判定してもよい。また、稼働負荷予測部142は、ある仮想マシンが特定のサイジング計算式の条件を満たさない場合に、その仮想マシンがスケールアウト条件を満たすと判定してもよい。
 S130の結果がYESである場合、S140においてVMデプロイ処理部143は、スケールアウト条件を満たすと判定された仮想マシンを対象仮想マシンとして選択し、仮想マシンを追加するための後述のスケールアウト処理を行い、処理をS110へ移行させる。
 S130の結果がNOである場合、S150において稼働負荷予測部142は、何れかの仮想マシンがスケールイン条件を満たす(スケールインが必要である)か否かを判定する。ここで稼働負荷予測部142は、何れかの仮想マシンの何れかのリソースの使用率が、予め設定されたスケールイン使用率閾値を下回った場合、その仮想マシンがスケールイン条件を満たすと判定してもよい。スケールイン使用率閾値は、スケールアウト使用率閾値と等しくてもよいし、スケールアウト閾値より小さくてもよい。また、稼働負荷予測部142は、ある仮想マシンの負荷が、予め設定されたスケールイン負荷閾値を下回った場合、その仮想マシンがスケールイン条件を満たすと判定してもよい。また、稼働負荷予測部142は、ある仮想マシンが借用しているリソースの借用期間が終了した場合、その仮想マシンがスケールイン条件を満たすと判定してもよい。
 S150の結果がYESである場合、S160においてVMデプロイ処理部143は、スケールイン条件を満たすと判定された仮想マシンを対象仮想マシンとして選択し、仮想マシンを削除するための後述のスケールイン処理を行い、処理をS110へ移行させる。
 S150の結果がNOである場合、稼働負荷予測部142は、処理をS110へ移行させる。
 以上の制御処理によれば、監視制御サーバ100は、仮想マシンの状況に応じて、スケールアウトおよびスケールインを行うことができる。監視制御サーバ100は、終了の指示を受けるまで、一定の時間間隔でS110を行ってもよい。
 監視制御サーバ100は、前述のS140においてスケールアウト処理を行う。
 図10は、スケールアウト処理を示す。
 S810においてVMデプロイ処理部143は、対象仮想マシンと同一の種類の追加仮想マシンに必要な複数のリソースの一つを対象リソースとして選択し、対象リソースを確保するための後述のリソース確保処理を行う。
 S820においてVMデプロイ処理部143は、追加仮想マシンに必要な全てのリソースを確保したか否かを判定する。
 S820の結果がNOである場合、VMデプロイ処理部143は、処理をS810へ移行させる。
 S820の結果がYESである場合、S830においてVMデプロイ処理部143は、確保されたリソースを追加仮想マシンに割り当てることで追加仮想マシンを作成し(スケールアウトを行い)、このフローを終了する。ここでVMデプロイ処理部143は、仮想マシン構成情報560へ当該仮想マシンのエントリを追加する。更にVMデプロイ処理部143は、ロードバランサ300に対し、クライアント400からのリクエストの転送先の設定へ、追加された仮想マシンを追加する。
 以上のスケールアウト処理によれば、監視制御サーバ100は、必要なリソースを確保し、スケールアウトを行うことができる。
 監視制御サーバ100は、前述のS810においてリソース確保処理を行う。
 図11は、リソース確保処理を示す。
 S210においてVMデプロイ処理部143は、仮想マシン稼働負荷情報530に基づいて、追加仮想マシンに必要な対象リソース量である必要量を算出する。例えば、VMデプロイ処理部143は、対象仮想マシンにおける対象リソースの予約量を、必要量として算出してもよい。
 S220において稼働負荷予測部142は、物理マシン稼働情報510に基づいて、対象リソースの空きリソース量(未割当量)が必要量以上である物理サーバ200を探す。ここで、対象リソース量のうち仮想マシンに予約されていない量を空きリソース量と呼ぶ。S230において稼働負荷予測部142は、対象リソースの空きリソース量が必要量以上である物理サーバ200が存在するか否かを判定する。
 S230の結果がYESである場合、S360において稼働負荷予測部142は、対象リソースの確保に成功したと判定し、このフローを終了する。
 S230の結果がNOである場合、S240において稼働負荷予測部142は、余り条件を満たす(貸出可能な)仮想マシンを探す。例えば、余り条件は、対象リソースの使用率がスケールアウト使用率閾値より小さいことである。S250において稼働負荷予測部142は、余り条件を満たす仮想マシンが存在するか否かを判定する。
 S250の結果がYESである場合、稼働負荷予測部142は、処理をS320へ移行させる。
 S250の結果がNOである場合、S260において稼働負荷予測部142は、SLA条件を満たす(SLAを確保できる)仮想マシンを探す。ここで稼働負荷予測部142は、最小SLAを維持するための対象リソースの下限量を設定し、ある仮想マシンの対象リソースの予約量が下限量よりも大きい場合、当該仮想マシンがSLA条件を満たすと判定する。S310において稼働負荷予測部142は、SLA条件を満たす仮想マシンが存在するか否かを判定する。
 S310の結果がNOである場合、S370において稼働負荷予測部142は、対象リソースの確保に失敗したと判定し、このフローを終了する。この場合、稼働負荷予測部142は、スケールアウト処理を中断し、スケールアウトの失敗を管理者に通知する。
 S310の結果がYESである場合、S320においてVMデプロイ処理部143は、貸主を決定するための後述の貸主仮想マシン決定処理を行う。その後、S330においてリソース貸借処理部144は、後述の借用判定処理を行う。
 S340においてリソース貸借処理部144は、借主が必要量の対象リソースを貸主から借用できるか否かを判定する。
 S340の結果がNOである場合、リソース貸借処理部144は、処理をS370へ移行させる。
 S340の結果がYESである場合、S350においてリソース貸借処理部144は、貸主の仮想マシンから必要量の対象リソースを借用し、処理をS360へ移行させる。ここでリソース貸借処理部144は、リソース貸借情報590において、貸主、借用リソース毎に、借用のエントリを追加する。ここでリソース貸借処理部144は、対象リソースを借用リソース594として設定し、借用判定処理により算出される借用可能量を借用量595として設定し、借用判定処理により算出される借用可能期間を借用期間596として設定する。更にリソース貸借処理部144は、仮想マシン稼働負荷情報530の貸主の対象リソースの使用量に借用量を加算する。
 以上のリソース確保処理によれば、監視制御サーバ100は、予約されていないリソース、または予約されているが使用されていないリソースを用いて、仮想マシンを追加することができる。業務システムにおけるリソース使用量×仮想マシン台数をリソース総量とすると、スケールアウト処理によりリソース総量を増やすことができる。
 計算機システムが複数の物理サーバ200を含む場合、監視制御サーバ100は、複数の物理サーバ200の中から対象リソースの余り量が多い順に選択し、選択された物理サーバ200へ仮想マシンを追加してもよい。
 複数の仮想マシンがスケールアウト条件を満たす場合、監視制御サーバ100は、複数の仮想マシンの中から必要量が多い順に、対象仮想マシンを選択し、対象仮想マシンのスケールアウトを行ってもよい。また、監視制御サーバ100は、予め各仮想マシンの種類に対して設定された優先度に従って対象仮想マシンを選択してもよい。
 監視制御サーバ100は、前述のS320において貸主仮想マシン決定処理を行う。
 図12は、貸主仮想マシン決定処理を示す。
 S410においてリソース貸借処理部144は、余り条件を満たす仮想マシンを貸主候補として選択する。
 S420において稼働負荷予測部142は、後述の除外仮想マシン特定処理を行うことで、除外仮想マシン(関連仮想マシン)を特定する。
 S430においてリソース貸借処理部144は、貸主候補から除外仮想マシンを除外する。
 S440においてリソース貸借処理部144は、残った貸主候補を貸主として決定し、このフローを終了する。ここでリソース貸借処理部144は、複数の貸主候補が存在する場合、複数の貸主候補の中から、貸主を選択してもよい。例えば、複数の貸主候補の中に、必要量の対象リソースを保有する1台の貸主候補がある場合、リソース貸借処理部144は、その1台を貸主として選択してもよい。例えば、リソース貸借処理部144は、稼働負荷情報の予測に基づいて、貸主候補の中から、最も借用の影響が小さい貸主候補を貸主として選択してもよい。例えば、リソース貸借処理部144は、仮想マシン間の関係に基づいて、貸主候補の中から、最も借用の影響が小さい貸主候補を貸主として選択してもよい。例えば、リソース貸借処理部144は、複数の貸主候補を複数の貸主として決定し、各貸主候補の借用可能量の割合を算出し、各割合に応じて必要量を複数の貸主へ分配することで、各貸主の借用量を決定してもよい。
 以上の貸主仮想マシン決定処理によれば、監視制御サーバ100は、使用されていないリソースを他の仮想マシンへ貸す仮想マシンを決定することができる。
 監視制御サーバ100は、前述のS420において除外仮想マシン特定処理を行う。
 図13は、除外仮想マシン特定処理を示す。
 S510において稼働負荷予測部142は、対象リソースに関連するパラメータを、パラメータ依存関係情報580から選択する。例えば、稼働負荷予測部142は、対象仮想マシンがAPのソフトウェアを実行する場合、前述のパラメータ依存関係情報580の例において、APのメモリ量に関連するap_param3とdb_param1を選択する。
 S520において稼働負荷予測部142は、選択されたパラメータが属するソフトウェアを、パラメータ情報570から選択する。例えば、稼働負荷予測部142は、前述のパラメータ情報570の例において、ap_param3とdb_param1が夫々属するソフトウェアAPとDBを選択する。
 S530において稼働負荷予測部142は、選択されたソフトウェアが動作する仮想マシンを、仮想マシン構成情報560から選択する。例えば、稼働負荷予測部142は、前述の仮想マシン構成情報560の例において、APを実行する仮想マシン#1、#3とDBを実行する仮想マシン#2を選択する。
 S540において稼働負荷予測部142は、選択された仮想マシンのうち、借主と同一の業務システム内の仮想マシンを除外仮想マシンとして、システム構成情報550から選択し、このフローを終了する。例えば、稼働負荷予測部142は、前述のシステム構成情報550の例において、仮想マシン#1、#2、#3の中から、対象仮想マシンが属する業務システムであるAシステム内の仮想マシン#1、#2を除外仮想マシンとして選択する。
 以上の除外仮想マシン特定処理によれば、監視制御サーバ100は、スケールアウトの影響を受ける仮想マシンを貸主候補から除外することで、スケールアウトによる他の仮想マシンの性能低下を防ぐことができる。
 監視制御サーバ100は、前述のS330において借用判定処理を行う。
 図14は、借用判定処理を示す。
 S610においてリソース貸借処理部144は、過去の仮想マシン稼働負荷情報530に基づいて、各貸主の仮想マシンの将来の稼働負荷情報を予測し、予測結果に基づいて、各貸主の借用可能期間を決定する。例えば、リソース貸借処理部144は、時系列の稼働負荷情報の現在の傾きを算出し、その傾きに基づいて将来の稼働負荷情報を予測する。また、例えば、リソース貸借処理部144は、予測結果において、貸主の対象リソースが余り条件を満たす期間を、借用可能期間として算出する。
 S620においてリソース貸借処理部144は、借用可能期間内で借用可能な対象リソースの上限量を借用可能量として決定する。例えば、リソース貸借処理部144は、借用可能期間内で、(スケールアウト使用率閾値-使用率)×予約量を使用可能量として算出する。
 S630においてリソース貸借処理部144は、全ての貸主の借用可能量の合計を算出する。
 S640においてリソース貸借処理部144は、借用可能量の合計が必要量以上であるか否かを判定する。
 S640の結果がYESである場合、S650においてリソース貸借処理部144は、借用可能と判定し、このフローを終了する。
 S640の結果がNOである場合、S660においてリソース貸借処理部144は、借用不可能と判定し、このフローを終了する。
 以上の借用判定処理によれば、監視制御サーバ100は、各貸主の借用可能期間を算出することができ、借用可能か否かを判定することができる。
 監視制御サーバ100は、前述のS160においてスケールイン処理を行う。
 図15は、スケールイン処理を示す。
 S710においてVMデプロイ処理部143は、対象仮想マシンに割り当てられている複数のリソースの一つを対象リソースとして選択し、対象仮想マシンに予約されている対象リソースを解放する。
 S720においてVMデプロイ処理部143は、対象リソースが借用されているか否かを判定する。ここでVMデプロイ処理部143は、リソース貸借情報590内に、借主592が対象仮想マシンを示し、且つ借用リソース594が対象リソースを示す、エントリがある場合、対象リソースが借用されていると判定する。
 S720の結果がNOである場合、VMデプロイ処理部143は、処理をS750へ移行させる。
 S720の結果がYESである場合、S730においてリソース貸借処理部144は、対象リソースの借用リソースを貸主へ返却する。ここでリソース貸借処理部144は、リソース貸借情報590から、対象リソースのエントリを削除する。
 S750においてVMデプロイ処理部143は、対象仮想マシンに割り当てられた全てのリソースを解放したか否かを判定する。
 S750の結果がNOである場合、VMデプロイ処理部143は、処理をS710へ移行させる。
 S750の結果がYESである場合、VMデプロイ処理部143は、このフローを終了する。ここでVMデプロイ処理部143は、仮想マシン構成情報560から、対象仮想マシンのエントリを削除する。更にVMデプロイ処理部143は、ロードバランサ300に対し、クライアント400からのリクエストの転送先の設定から、削除された仮想マシンを削除する。
 借用期間の終了時に、借主が引き続き借用リソースを必要としている場合、貸主が他の仮想マシンからリソースを借用し、借主が引き続き借用リソースを使用してもよい。
 以上のスケールイン処理によれば、監視制御サーバ100は、借用期間が終了した場合にリソースを返却でき、仮想マシンが不要になった場合に仮想マシンを削除できる。
 物理計算機は、物理サーバ200等に対応する。管理計算機は、監視制御サーバ100等に対応する。メモリは、メモリ120等に対応する。プロセッサは、CPU110等に対応する。状態は、仮想マシン稼働負荷情報530内の何れかの情報等に対応する。構成情報は、システム構成情報550、仮想マシン構成情報560、パラメータ情報570、パラメータ依存関係情報580内の何れかの情報等に対応する。
 以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲を上記構成に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
 100…監視制御サーバ、 110…CPU、 120…メモリ、 200…物理サーバ、 210…CPU、 220…メモリ、 230…Web/APサーバ、 240…DBサーバ、 300…ロードバランサ、 310…CPU、 320…メモリ、 400…クライアント、 410…CPU、 420…メモリ

Claims (11)

  1.  複数の計算機リソースを含む物理計算機と、
     前記物理計算機に接続される管理計算機と、
    を備え、
     前記管理計算機は、
      前記物理計算機に対し、各計算機リソースの一部を複数の仮想マシンへ割り当てることで前記複数の仮想マシンを作成することを、指示し、
      前記複数の仮想マシンと前記複数の計算機リソースとの関係を示す構成情報を記憶し、
      各仮想マシンの状態に基づいて、仮想マシンの追加が必要である否かを判定する、
    ように構成されており、
     仮想マシンの追加が必要であると判定された場合、前記管理計算機は、各計算機リソースに対し、何れの仮想マシンにも割り当てられていない計算機リソースの量である未割当量が、追加される追加仮想マシンのための計算機リソースの必要量以上であるか否かを判定し、
     前記複数の計算機リソースの中の特定計算機リソースの未割当量が前記必要量以上でないと判定された場合、前記管理計算機は、前記構成情報に基づいて、前記複数の仮想マシンの中から、前記追加仮想マシンの追加の影響を受ける仮想マシンを関連仮想マシンとして選択し、前記複数の仮想マシンのうち前記関連仮想マシンと異なる仮想マシンから貸主仮想マシンを選択し、前記貸主仮想マシンに割り当てられており且つ前記貸主仮想マシンに使用されていない特定計算機リソースの量である未使用量以下の特定計算機リソースを借用計算機リソースとして選択し、前記物理計算機に対し、前記借用計算機リソースを前記追加仮想マシンへ割り当てることで前記追加仮想マシンを作成することを、指示する、
    計算機システム。
  2.  前記物理計算機は、複数の業務システムを作成し、
     各業務システムは、前記複数の仮想マシンの何れかを含み、
     前記構成情報は、前記複数の業務システムと、前記複数の仮想マシンとの関係を示し、
     前記特定計算機リソースの未割当量が前記必要量以上でないと判定された場合、前記管理計算機は、前記構成情報に基づいて、前記複数の業務システムの中から、前記追加仮想マシンを含む特定業務システムを特定し、前記特定業務システムから前記関連仮想マシンを選択する、
    請求項1に記載の計算機システム。
  3.  前記構成情報は、仮想マシンと、ソフトウェアと、パラメータと、計算機リソースとの関係を示し、
     前記特定計算機リソースの未割当量が前記必要量以上でないと判定された場合、前記管理計算機は、前記構成情報に基づいて、前記特定計算機リソースに関連するパラメータを特定し、前記特定されたパラメータを用いるソフトウェアを特定し、前記特定業務システム内の仮想マシンのうち、前記特定されたソフトウェアを実行する仮想マシンを前記関連仮想マシンとして選択する、
    請求項2に記載の計算機システム。
  4.  各仮想マシンの状態は、対応する仮想マシンに割り当てられている計算機リソースの量である予約量と、対応する仮想マシンにより使用されている計算機リソースの使用量との関係を示し、
     前記未割当量が前記必要量以上でないと判定された場合、前記管理計算機は、各仮想マシンの状態に基づいて、前記複数の仮想マシンの何れかに割り当てられている特定計算機リソースを貸し出し可能であるか否かを判定し、
     前記複数の仮想マシンの何れかに割り当てられている特定計算機リソースを貸し出し可能であると判定された場合、前記管理計算機は、前記特定計算機リソースを貸し出し可能であると判定された仮想マシンであって前記関連仮想マシンと異なる仮想マシンから、前記貸主仮想マシンを選択する、
    請求項3に記載の計算機システム。
  5.  前記複数の仮想マシンの何れに割り当てられている特定計算機リソースも貸し出し可能でないと判定された場合、前記管理計算機は、前記複数の仮想マシンのうち、予め設定されたSLAを確保できる仮想マシンであって前記関連仮想マシンと異なる仮想マシンから、前記貸主仮想マシンを選択する、
    請求項4に記載の計算機システム。
  6.  前記管理計算機は、前記複数の仮想マシンの過去の状態に基づいて、前記貸主仮想マシンの将来の状態を予測し、前記予測の結果に基づいて、前記借用計算機リソースの借用期間を算出し、前記借用期間の終了時、前記借用計算機リソースを前記貸主仮想マシンへ返却する、
    請求項5に記載の計算機システム。
  7.  前記管理計算機は、前記予測の結果に基づいて、前記借用計算機リソースの量である借用量を算出する、
    請求項6に記載の計算機システム。
  8.  前記借用期間の終了時、前記管理計算機は、各仮想マシンの状態に基づいて、仮想マシンの追加が必要である否かを判定する、
    請求項7に記載の計算機システム。
  9.  前記追加仮想マシンの実行中、前記管理計算機は、前記追加仮想マシンの状態に基づいて、前記追加仮想マシンの削除が必要であるか否かを判定し、
     前記追加仮想マシンの削除が必要であると判定された場合、前記借用計算機リソースを前記貸主仮想マシンへ返却する、
    請求項8に記載の計算機システム。
  10.  メモリと、
     前記メモリに接続されるプロセッサと、
    を備え、
     前記プロセッサは、
      複数の計算機リソースを含む物理計算機に対し、各計算機リソースの一部を複数の仮想マシンへ割り当てることで前記複数の仮想マシンを作成することを、指示し、
      前記複数の仮想マシンと前記複数の計算機リソースとの関係を示す構成情報を記憶し、
      各仮想マシンの状態に基づいて、仮想マシンの追加が必要である否かを判定する、
    ように構成されており、
     仮想マシンの追加が必要であると判定された場合、前記プロセッサは、各計算機リソースに対し、何れの仮想マシンにも割り当てられていない計算機リソースの量である未割当量が、追加される追加仮想マシンのための計算機リソースの必要量以上であるか否かを判定し、
     前記複数の計算機リソースの中の特定計算機リソースの未割当量が前記必要量以上でないと判定された場合、前記プロセッサは、前記構成情報に基づいて、前記複数の仮想マシンの中から、前記追加仮想マシンの追加の影響を受ける仮想マシンを関連仮想マシンとして選択し、前記複数の仮想マシンのうち前記関連仮想マシンと異なる仮想マシンから貸主仮想マシンを選択し、前記貸主仮想マシンに割り当てられており且つ前記貸主仮想マシンに使用されていない特定計算機リソースの量である未使用量以下の特定計算機リソースを借用計算機リソースとして選択し、前記物理計算機に対し、前記借用計算機リソースを前記追加仮想マシンへ割り当てることで前記追加仮想マシンを作成することを、指示する、
    管理計算機。
  11.  プロセスをコンピュータに実行させるプログラムを格納するコンピュータ読取可能な記録媒体であって、
     前記プロセスは、
     複数の計算機リソースを含む物理計算機に対し、各計算機リソースの一部を複数の仮想マシンへ割り当てることで前記複数の仮想マシンを作成することを、指示し、
     前記複数の仮想マシンと前記複数の計算機リソースとの関係を示す構成情報を記憶し、
     各仮想マシンの状態に基づいて、仮想マシンの追加が必要である否かを判定し、
     仮想マシンの追加が必要であると判定された場合、各計算機リソースに対し、何れの仮想マシンにも割り当てられていない計算機リソースの量である未割当量が、追加される追加仮想マシンのための計算機リソースの必要量以上であるか否かを判定し、
     前記複数の計算機リソースの中の特定計算機リソースの未割当量が前記必要量以上でないと判定された場合、前記構成情報に基づいて、前記複数の仮想マシンの中から、前記追加仮想マシンの追加の影響を受ける仮想マシンを関連仮想マシンとして選択し、前記複数の仮想マシンのうち前記関連仮想マシンと異なる仮想マシンから貸主仮想マシンを選択し、前記貸主仮想マシンに割り当てられており且つ前記貸主仮想マシンに使用されていない特定計算機リソースの量である未使用量以下の特定計算機リソースを借用計算機リソースとして選択し、前記物理計算機に対し、前記借用計算機リソースを前記追加仮想マシンへ割り当てることで前記追加仮想マシンを作成することを、指示する、
    ことを備える、
    記録媒体。
PCT/JP2016/075707 2016-09-01 2016-09-01 計算機システム、管理計算機、および記録媒体 WO2018042601A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018536623A JP6612458B2 (ja) 2016-09-01 2016-09-01 計算機システム、管理計算機、および記録媒体
PCT/JP2016/075707 WO2018042601A1 (ja) 2016-09-01 2016-09-01 計算機システム、管理計算機、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/075707 WO2018042601A1 (ja) 2016-09-01 2016-09-01 計算機システム、管理計算機、および記録媒体

Publications (1)

Publication Number Publication Date
WO2018042601A1 true WO2018042601A1 (ja) 2018-03-08

Family

ID=61301195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/075707 WO2018042601A1 (ja) 2016-09-01 2016-09-01 計算機システム、管理計算機、および記録媒体

Country Status (2)

Country Link
JP (1) JP6612458B2 (ja)
WO (1) WO2018042601A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033852A (ja) * 2006-08-01 2008-02-14 Hitachi Ltd リソース管理システム及びその方法
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
WO2012039053A1 (ja) * 2010-09-24 2012-03-29 株式会社日立製作所 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033852A (ja) * 2006-08-01 2008-02-14 Hitachi Ltd リソース管理システム及びその方法
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
WO2012039053A1 (ja) * 2010-09-24 2012-03-29 株式会社日立製作所 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体

Also Published As

Publication number Publication date
JPWO2018042601A1 (ja) 2018-11-15
JP6612458B2 (ja) 2019-11-27

Similar Documents

Publication Publication Date Title
EP3161632B1 (en) Integrated global resource allocation and load balancing
CN110858161B (zh) 资源分配方法、装置、系统、设备和介质
US10789083B2 (en) Providing a virtual desktop service based on physical distance on network from the user terminal and improving network I/O performance based on power consumption
CN111344688B (zh) 云计算中资源提供的方法及系统
US10623481B2 (en) Balancing resources in distributed computing environments
CN106453457B (zh) 云计算平台内的多优先级服务实例分配
US9442763B2 (en) Resource allocation method and resource management platform
CN109684074B (zh) 物理机资源分配方法及终端设备
JP4374378B2 (ja) 運用実績評価装置、運用実績評価方法、およびプログラム
US8595364B2 (en) System and method for automatic storage load balancing in virtual server environments
JP5400482B2 (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
US8104038B1 (en) Matching descriptions of resources with workload requirements
KR100956636B1 (ko) 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
JP5000456B2 (ja) 資源管理システム、資源管理装置およびその方法
US20150196841A1 (en) Load balancing system and method for rendering service in cloud gaming environment
JP6881575B2 (ja) 資源割当システム、管理装置、方法およびプログラム
US10616134B1 (en) Prioritizing resource hosts for resource placement
US20140215076A1 (en) Allocation of Virtual Machines in Datacenters
CN104937584A (zh) 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
US8892728B2 (en) Automatic zone-based management of a data center
KR102389334B1 (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
JPWO2016103471A1 (ja) 計算機システムおよび管理プログラム
US20110099265A1 (en) Defining enforcing and governing performance goals of a distributed caching infrastructure
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018536623

Country of ref document: JP

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

Ref document number: 16915161

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16915161

Country of ref document: EP

Kind code of ref document: A1