WO2014045549A1 - マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法 - Google Patents

マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法 Download PDF

Info

Publication number
WO2014045549A1
WO2014045549A1 PCT/JP2013/005394 JP2013005394W WO2014045549A1 WO 2014045549 A1 WO2014045549 A1 WO 2014045549A1 JP 2013005394 W JP2013005394 W JP 2013005394W WO 2014045549 A1 WO2014045549 A1 WO 2014045549A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource usage
virtual machine
time zone
increase rate
load time
Prior art date
Application number
PCT/JP2013/005394
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 JP2014536583A priority Critical patent/JPWO2014045549A1/ja
Priority to US14/428,875 priority patent/US9244718B2/en
Publication of WO2014045549A1 publication Critical patent/WO2014045549A1/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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • 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]
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present invention relates to an information processing apparatus, a machine arrangement plan generation method, and a program for generating a machine arrangement plan that reduces the number of operating servers and its power consumption.
  • the technology includes a static placement processing technology and a dynamic placement processing technology.
  • the static placement processing technology is a technology for predicting the required performance of a server from past logs and the like and creating a plan for controlling the number of operating servers in advance.
  • the dynamic arrangement processing technology is a technology for controlling the number of operating units in accordance with the load status of the server or the system including the server from time to time.
  • Patent Document 1 discloses a machine operation plan creation device.
  • the machine here is a physical computer or a virtual machine.
  • This virtual machine is a virtual computer obtained by dividing the computer resources of one physical computer as a plurality of virtual computers.
  • a physical computer virtual machine that is supposed to provide some kind of service is also called a physical server.
  • a virtual machine that is supposed to provide some kind of service is also called a virtual server.
  • the effect of the machine operation plan creation device described in Patent Document 1 is that the operation plan is reduced so as to reduce the number of operating units for each web service providing time period and minimize the number of operations for starting and stopping the machine.
  • the web service is a service in which a server returns a calculation result in a relatively short time (within several seconds) in response to a request from a client.
  • the performance of the web service is expressed by tps (Transaction Per Second) which is the number of requests (transactions) that can be processed per second.
  • the performance required for a certain web service varies with time and has periodicity. Further, the number of requests that can be processed by a certain machine is constant. Therefore, in order to process a large number of requests, a method of improving the processing performance by clustering a plurality of machines and distributing the requests to these machines (load distribution) is used. In such a large-scale configuration, the number of necessary machines varies for each time zone.
  • the machine operation plan creation device described in Patent Document 1 receives a list of the number of machines required in each time zone, and creates an operation plan based on this to minimize the number of times each machine is started and stopped. As a result, the machine operation plan creation device reduces the number of machines in operation and their power consumption, as well as reducing the trouble of changing settings and the risk of setting errors associated with adding (starting) and reducing (stopping) machines. .
  • Patent Document 2 discloses a server management apparatus.
  • the server management apparatus described in Patent Literature 2 is an apparatus that manages a plurality of cluster systems that provide a plurality of services.
  • the server management apparatus described in Patent Literature 2 includes a load information collection unit, a configuration information collection unit, a configuration change determination unit, a configuration change target selection unit, and a configuration change execution unit.
  • the load information collection unit collects load information of the virtual server group constituting the cluster system.
  • the configuration information collection unit collects to which physical server the virtual server is assigned as configuration information.
  • the configuration change determination unit determines whether the number of virtual servers can be reduced from the load information.
  • the configuration change target selection unit selects the physical server having the smallest number of operating virtual servers with reference to the configuration information.
  • the configuration change execution unit stops the virtual server on the selected physical server.
  • the configuration change target selection unit selects the physical server having the largest number of operating virtual servers. Further, the configuration change execution unit activates a virtual server on the selected physical server.
  • the server management apparatus having such a configuration moves the virtual server on the physical server with a small number of operating virtual servers to another physical server (aligns), and the physical machine in which the operating virtual machine disappears This has the effect of facilitating the reduction of power consumption by stopping the server. This effect can be obtained more conspicuously by intentionally creating the physical server with a small number of operating virtual servers.
  • Patent Document 3 discloses a server migration plan creation system.
  • the server migration plan creation system described in Patent Literature 3 assigns the migration destination of the migration source server to one of the migration destination servers based on the resource usage of each migration source server and the resource capacity of each migration destination server. Create a server migration plan.
  • the server migration plan creation system selects the migration source servers one by one in descending order of their resource usage.
  • the server migration plan creation system selects one of the migration destination servers, the target usage that is the resource usage of the migration source server selected earlier, and the resources of the selected migration destination server. Compare the remaining capacity.
  • the server migration plan creation system selects a migration destination server different from the migration destination server that has already been selected, and performs the above comparison again. Further, the server migration plan creation system allocates the selected migration destination server as the migration destination of the selected migration source server when the target usage is equal to or less than the remaining capacity of the resource capacity.
  • the machine operation plan preparation apparatus of patent document 1 produces an operation plan, without considering the connection state of the client and server at the time of arrangement
  • the server management apparatus of Patent Literature 2 does not consider the connection state between the client and the server when the virtual machine configuration is changed (stopping and starting the virtual server on the physical server).
  • the server migration plan creation system of Patent Document 3 creates an operation plan without considering the connection state between the client and the server at the time of server migration.
  • a virtual machine type thin client system is a system in which a client can connect to a desktop environment of a user operating as a virtual machine on a server over a long period of time and the client can operate a desktop from a remote location.
  • a virtual machine layout change configuration change, server migration
  • a virtual machine in which a client is connected is connected to a physical server. The possibility of moving from one server to another is increased. Such movement degrades the user's perceived performance due to overhead during movement.
  • An object of the present invention is to provide an information processing apparatus, a machine arrangement plan generation method, and a program that solve the above-described problems.
  • the machine arrangement planning device provides a high load on the first virtual machine in a connection time zone for each first virtual machine obtained from a connection history between each of the plurality of first virtual machines and the client.
  • a time zone cover ratio which is a ratio of time covered by a time zone, is calculated for each of the first virtual machines, and the calculated time zone cover ratio is defined as a lower limit value of the time zone cover ratio.
  • a connection time determination unit that determines whether or not the rate exceeds a rate, and determines the first virtual machine that has been determined that the corresponding time zone coverage rate exceeds the minimum coverage rate as a second virtual machine; Based on the resource usage data indicating the resource usage of the second virtual machine in time series, in each of the low load time zone which is a time zone other than the high load time zone and the high load time zone, An arrangement plan generating unit that calculates the number of physical servers necessary to accommodate the two virtual machines and outputs the calculated number of the physical servers in association with the second virtual machine.
  • the computer Ratio of the time covered by the high load time zone of the first virtual machine among the connection time zones for each of the first virtual machines obtained from the connection history between each of the plurality of first virtual machines and the client For each first virtual machine, Determining whether or not the calculated time zone coverage exceeds a minimum coverage set as a lower limit value of the time zone coverage; Determining the first virtual machine that has been determined that the corresponding time zone coverage is greater than the minimum coverage as a second virtual machine; Necessary for accommodating the second virtual machine in each of the high load time zone and the low load time zone based on the resource usage data indicating the resource usage of the second virtual machine in time series The number of physical servers The calculated number and the second virtual machine are output in association with each other.
  • the non-volatile recording medium of the present invention has a high load on the first virtual machine in a connection time zone for each first virtual machine obtained from a connection history between each of the plurality of first virtual machines and the client.
  • Calculating a time zone coverage ratio which is a ratio of time covered by the time zone, for each of the first virtual machines; Determining whether or not the calculated time zone coverage exceeds a minimum coverage set as a lower limit value of the time zone coverage; Determining the first virtual machine that has been determined that the corresponding time zone coverage is greater than the minimum coverage as a second virtual machine; Necessary for accommodating the second virtual machine in each of the high load time zone and the low load time zone based on the resource usage data indicating the resource usage of the second virtual machine in time series The number of physical servers A program for causing a computer to execute a process of outputting the calculated number of units in association with the second virtual machine is recorded.
  • the present invention has an effect that, in a virtual machine type thin client system, it is possible to output a machine arrangement plan for moving a virtual machine while suppressing deterioration in the perceived performance of a client user.
  • FIG. 1 is a block diagram illustrating a configuration of a machine arrangement planning apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of a machine arrangement system including the machine arrangement planning apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a connection history.
  • FIG. 4 is a diagram illustrating an example of a resource usage history.
  • FIG. 5 is a diagram illustrating an example of a resource usage history for a high load time period.
  • FIG. 6 is a diagram illustrating an example of a resource usage history for a low load time period.
  • FIG. 7 is a diagram illustrating a hardware configuration of a computer that realizes the machine arrangement planning apparatus.
  • FIG. 1 is a block diagram illustrating a configuration of a machine arrangement planning apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of a machine arrangement system including the machine arrangement planning apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example
  • FIG. 8 is a flowchart illustrating the operation of the machine arrangement planning apparatus according to the first embodiment.
  • FIG. 9 is a block diagram illustrating a configuration of a machine arrangement planning apparatus according to the second embodiment.
  • FIG. 10 is a flowchart illustrating the operation of the machine arrangement planning apparatus according to the second embodiment.
  • FIG. 1 is a block diagram showing a configuration of a machine arrangement planning device 100 according to the first exemplary embodiment of the present invention.
  • the machine arrangement planning device is also called an information processing device.
  • the machine arrangement planning apparatus 100 includes a connection time determination unit 110 and an arrangement plan generation unit 130.
  • FIG. 2 is a block diagram showing a configuration of a machine arrangement system 101 including the machine arrangement planning apparatus 100 according to the first embodiment of the present invention.
  • the machine arrangement system 101 includes a machine arrangement planning apparatus 100, a machine arrangement execution apparatus 102, a physical server group 103, a virtual machine group 104, a connection history storage unit 160, and a resource usage history storage unit 170.
  • the machine arrangement planning apparatus 100, the machine arrangement execution apparatus 102, the connection history storage unit 160, and the resource usage history storage unit 170 are connected to each other by an interface (not shown).
  • the machine arrangement execution apparatus 102 and the arrangement plan generation unit 130 are connected by an interface (not shown).
  • the physical server group 103 is connected to the connection history storage unit 160 and the resource usage history storage unit 170 through an interface (not shown).
  • connection history storage unit 160 and the resource usage history storage unit 170 may be included in the machine arrangement planning device 100. Each of the connection history storage unit 160 and the resource usage history storage unit 170 may be included in each of the connection time determination unit 110 and the arrangement plan generation unit 130 when included in the machine arrangement planning apparatus 100. Further, the connection history storage unit 160 and the resource usage history storage unit 170 may be included in the machine arrangement execution apparatus 102.
  • machine arrangement planning apparatus 100 may be included in the machine arrangement execution apparatus 102.
  • machine arrangement execution apparatus 102 may be included in the machine arrangement planning apparatus 100.
  • FIG. 3 is a diagram illustrating an example of the connection history 161 stored in the connection history storage unit 160.
  • the connection history 161 includes one or more connection time records 1611 including a VMID (Virtual Machine IDentifier), a connection start date and time, and a connection disconnection date and time.
  • VMID Virtual Machine IDentifier
  • VMID is an identifier for identifying a virtual machine.
  • the connection start date and time and the connection disconnect date and time are the times when connection and disconnection occur between each virtual machine and each client (not shown).
  • the resource usage history storage unit 170 stores the resource usage history of each virtual machine included in the virtual machine group 104 during a past fixed period (for example, one week).
  • FIG. 4 is a diagram illustrating an example of the resource usage history 171 stored in the resource usage history storage unit 170.
  • the resource usage data included in the resource usage history 171 includes one or more resource usage records (also referred to as resource usage data) 1711 including VMID, date and time, and CPU usage rate.
  • the resource usage history 171 is time-series data regarding the resource usage of the virtual machine.
  • a resource usage history 171 shown in FIG. 4 is an example of a resource usage history when a CPU (Central Processing Unit) usage rate is a resource usage.
  • Each resource usage record 1711 of the resource usage history 171 includes a sampling value of the CPU usage rate at the date and time of 15 minute intervals.
  • the physical server group 103 includes one or more physical servers.
  • the virtual machine group 104 includes one or more virtual machines. Each of these virtual machines operates on any resource of their physical server.
  • Each physical server records the connection time information and the resource usage history information of the virtual machine arranged in itself in the connection history storage unit 160 and the resource usage history storage unit 170, respectively.
  • Each physical server may transmit the connection time information and the resource usage history information of the virtual machine arranged in itself to the machine arrangement planning apparatus 100 or the machine arrangement execution apparatus 102.
  • the machine arrangement planning device 100 and the machine arrangement execution device 102 record the received connection time information and the resource usage history information in the connection history storage unit 160 and the resource usage history storage unit 170, respectively. You may do it.
  • the constituent elements shown in FIG. 1 may be constituent elements in hardware units or constituent elements divided into functional units of the computer apparatus.
  • the components shown in FIG. 1 will be described as components divided into functional units of the computer apparatus.
  • the connection time determination unit 110 calculates a time zone coverage rate for each virtual machine.
  • the time zone coverage rate is a ratio that the high load time zone covers the connection time zone obtained from the connection time record 1611 of the connection time for each acquired virtual machine.
  • the high load time zone is a time zone determined as the high load time zone of the virtual machine.
  • a virtual machine that provides a thin client service is operated for 24 hours, and the operation time is a continuous time zone with a relatively high load (high load time zone) and other low load times (low load time). It can be classified into two types.
  • the high load time zone is from 9:00 to 17:00
  • the low load time zone is from 0:00 to 9:00 and from 17:00 to 24:00 (in other words, from 17:00 to the next 9:00 )).
  • the high load time zone is information “from 9:00 to 17:00”.
  • the high load time period may be held in advance in the connection time determination unit 110 or may be set in the connection time determination unit 110 by an input unit (not shown). Further, the high load time zone may be acquired from the outside by a high load time zone acquisition means (not shown) included in the machine arrangement planning device 100.
  • connection time determination unit 110 determines whether or not the calculated time zone coverage corresponding to each virtual machine exceeds the minimum coverage for each virtual machine. Then, the connection time determination unit 110 determines a virtual machine whose calculated time zone cover ratio exceeds the minimum cover ratio as a determination passing virtual machine (also referred to as a second virtual machine).
  • the minimum coverage is a value determined as the lower limit of the time period coverage.
  • the minimum coverage is a value close to 100%, such as 0.95 (95%), 0.99 (99%), and 0.999 (99.9%).
  • the minimum coverage may be 1 (100%).
  • the minimum coverage ratio may be held in advance in the connection time determination unit 110 or may be set in the connection time determination unit 110 by an input unit (not shown). Further, the minimum coverage rate may be acquired from the outside by a minimum coverage rate acquisition means (not shown) included in the machine arrangement planning device 100.
  • the arrangement plan generation unit 130 based on the extracted resource usage record 1711 in the high load time zone, of the physical server necessary to accommodate each determination passing virtual machine in the high load time zone. Calculate the number. Similarly, the arrangement plan generation unit 130 calculates the number of physical servers necessary to accommodate the determined passing virtual machine in the low load time zone based on the resource usage record 1711 in the low load time zone. . Then, the arrangement plan generating unit 130 outputs a set of the calculated number and the VMID of the determined passing virtual machine.
  • FIG. 7 is a diagram illustrating a hardware configuration of a computer 700 that realizes the machine arrangement planning apparatus 100 according to the present embodiment.
  • the computer 700 includes a CPU (Central Processing Unit) 701, a storage unit 702, a storage device 703, an input unit 704, an output unit 705, and a communication unit 706. Furthermore, the computer 700 includes a recording medium (or storage medium) 707 supplied from the outside.
  • the recording medium 707 may be a non-volatile recording medium that stores information non-temporarily.
  • the CPU 701 controls the overall operation of the computer 700 by operating an operating system (not shown).
  • the CPU 701 reads a program and data from a recording medium 707 mounted on the storage device 703, for example, and writes the read program and data to the storage unit 702.
  • the program is, for example, a program that causes the computer 700 to execute an operation of a flowchart shown in FIG.
  • the CPU 701 executes various processes as the connection time determination unit 110 and the arrangement plan generation unit 130 shown in FIG. 1 according to the read program and based on the read data.
  • the CPU 701 may download a program or data to the storage unit 702 from an external computer (not shown) connected to a communication network (not shown).
  • the storage unit 702 stores programs and data.
  • the storage unit 702 may include a connection history storage unit 160 and a resource usage history storage unit 170.
  • the storage device 703 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, and a semiconductor memory, and includes a recording medium 707.
  • the storage device 703 (recording medium 707) stores the program in a computer-readable manner.
  • the storage device 703 may store data.
  • the storage device 703 may include a connection history storage unit 160 and a resource usage history storage unit 170.
  • the input unit 704 is realized by, for example, a mouse, a keyboard, a built-in key button, and the like, and is used for an input operation.
  • the input unit 704 is not limited to a mouse, a keyboard, and a built-in key button, and may be a touch panel, an accelerometer, a gyro sensor, a camera, or the like.
  • the output unit 705 is realized by a display, for example, and is used for confirming the output.
  • the communication unit 706 implements an interface with the machine arrangement execution device 102, the connection history storage unit 160, and the resource usage history storage unit 170.
  • the communication unit 706 is included as part of the connection time determination unit 110 and the arrangement plan generation unit 130.
  • the functional unit block of the machine arrangement planning apparatus 100 shown in FIG. 1 is realized by the computer 700 having the hardware configuration shown in FIG.
  • the means for realizing each unit included in the computer 700 is not limited to the above.
  • the computer 700 may be realized by one physically coupled device, or may be realized by two or more physically separated devices connected by wire or wirelessly and by a plurality of these devices. .
  • the recording medium 707 in which the above-described program code is recorded may be supplied to the computer 700, and the CPU 701 may read and execute the program code stored in the recording medium 707.
  • the CPU 701 may store the code of the program stored in the recording medium 707 in the storage unit 702, the storage device 703, or both. That is, the present embodiment includes an embodiment of a recording medium 707 that stores a program (software) executed by the computer 700 (CPU 701) temporarily or non-temporarily.
  • FIG. 8 is a flowchart showing the operation of the present embodiment. Note that the processing according to this flowchart may be executed based on the above-described program control by the CPU. Further, the step name of the process is described by a symbol as in step S601.
  • the connection time determination unit 110 calculates the time period coverage for each virtual machine (step S611).
  • connection time determination unit 110 determines, for each of the virtual machines, the virtual machine whose calculated time zone cover ratio exceeds the minimum cover ratio as a determination passing virtual machine (step S612).
  • connection time zone extracted from the connection history record 1611 corresponding to a certain virtual machine A is “2012/07/24 9:05 to 16:45”, “2012/07/25 10:00 on the same day. 12:00 ”,“ 2012/07/25 from 15:00 to 17:30 on the same day ”, and“ 2012/07/27 from 8:45 to 18:00 on the same day ”.
  • the time (minute) of the connection time zone corresponding to each of the connection histories is 460 minutes, 120 minutes, 150 minutes, and 555 minutes.
  • the connection time determination unit 110 calculates the total time of the connection time zone as 1285 minutes.
  • connection time determination unit 110 determines that the virtual machine A is “the determined passing virtual machine whose time zone coverage exceeds the minimum coverage”. . If the minimum coverage is 95%, the connection time determination unit 110 does not determine the virtual machine A as a determination passing virtual machine.
  • the connection time determination unit refers to the connection history 161 of each virtual machine as shown in FIG. 3, performs the determination process as described above, and determines the determination passing virtual machine.
  • the determination pass virtual machine (determination pass virtual machine group) determined as described above is included in the high load time zone for the most part of the connection time zone to which the client (user) is connected. It is a virtual machine with few clients connected during the time.
  • the arrangement plan generating unit 130 extracts the resource usage record 1711 related to each of the determination passing virtual machines from the resource usage history 171 stored in the resource usage history storage unit 170 (step S613).
  • the arrangement plan generation unit 130 distributes the extracted resource usage record 1711 to the resource usage record 1711 for the high load time zone and the resource usage record 1711 for the other low load time zones ( Step S614).
  • FIG. 5 shows the high load time zone resource usage history 172 when the history of the CPU usage rate regarding the determination passing virtual machine K is distributed to the high load time zone “9:00 to 17:00”. An example is shown.
  • FIG. 6 similarly shows an example of the low load time zone resource usage history 173.
  • the CPU usage rate shown in FIGS. 5 and 6 is a sampling value at intervals of 15 minutes.
  • the CPU usage rate of the resource usage record 1711 whose date is “9:15” represents the CPU usage rate from 9:00 to 9:15. Accordingly, each resource usage record 1711 from 9:15 to 17:00 corresponds to the CPU usage rate from 9:00 to 17:00.
  • the arrangement plan generation unit 130 distributes the resource usage record 1711 corresponding to all the determination passing virtual machines as described above.
  • the arrangement plan generation unit 130 based on the resource usage record 1711 in the high load time period of the determination passing virtual machine group, the physical server necessary to accommodate the virtual machine group 104 in the high load time period Is calculated (step S615).
  • the arrangement plan generating unit 130 determines the physical server necessary to accommodate the virtual machine group 104 in the low load time zone. The number is calculated (step S615).
  • Patent Literature 3 discloses the following technology.
  • the technology is based on the resource usage of the migration source server (virtual machine) and the resource amount of the migration destination server (physical server), and the number of physical servers required for storage (packing) of the virtual server and the physical server of the virtual server. This is a technique for calculating the arrangement information.
  • the arrangement plan generation unit 130 calculates the average value of the resource usage for each virtual machine from the resource usage record 1711 of the resource usage during the high load time period. Then, the arrangement plan generation unit 130 uses the average value as the resource usage of the virtual machine, and accommodates the determination passing virtual machine group in the high load time zone by using the resource amount of the physical server given in advance. The number of physical servers required for the calculation is calculated using the technique of Patent Document 3. At the same time, the arrangement plan generation unit 130 generates arrangement information of the virtual machine on the physical server.
  • a threshold value of the CPU usage rate during server operation is set as the resource amount of the physical server.
  • the threshold of the CPU usage rate is set to around 80%, but when high performance is required, the threshold may be set to about 50%.
  • the arrangement plan generating unit 130 determines the VMID of the determined passing virtual machine corresponding to the calculated number of physical servers required in the high load time period and the low load time period (that is, the arrangement information of the determination passing virtual machine). ) Are output as an arrangement plan (step S616).
  • the high load time zone may be “7:00 to 9:00” and “17:00 to 19:00” corresponding to the commuting time of the employee.
  • the necessary number of physical servers and virtual machines from 7:00 to 9:00, from 9:00 to 17:00, from 17:00 to 19:00, from 19:00 to 7:00 on the next day are also obtained in the same manner. Can be calculated.
  • the machine placement execution device 102 executes machine placement using the placement plan output by the machine placement planning device 100 described above, the following system operation is possible.
  • the number of servers required in the high load time zone (9:00 to 17:00) is five, and the number of servers required in the low load time zone (17:00 to 9:00 on the next day) is Assume that there are three units.
  • the machine placement execution apparatus 102 migrates (just shifts) the virtual machines on the two physical servers to the remaining three for 16 hours from 17:00 to 9:00, Stopping the physical server can save its power consumption.
  • the performance of the virtual machine deteriorates due to the overhead associated with the migration process.
  • the machine placement execution apparatus 102 performs the migration process based on this placement plan, the probability that there is a connection from the user to any virtual machine at the time of migration is relatively low. Therefore, it is possible to suppress the deterioration of the user's experience performance.
  • connection time of the user is linked to the business hours of the company. Accordingly, there is a high probability of periodicity in the time zone in which the user is connected on business days.
  • connection history 161 holds data only for business days (connection time record 1611), and an arrangement plan obtained by the machine arrangement planning device 100 is a plan concerning business days. In this way, a useful arrangement plan can be obtained.
  • the resource usage (load) of a virtual machine is generally large during connection and low when not connected. For this reason, the number of necessary servers is often small outside business hours with few connections.
  • the machine arrangement execution apparatus 102 executes the machine arrangement using the arrangement plan provided by the present embodiment, which is useful, for example, when the virtual machines are shifted in the thin client system. It is possible to control the operation of a physical server. In addition, by using the operation plan, the machine arrangement execution apparatus 102 can perform a single alignment for a virtual machine with few connections from the user during a low load time period in which the single alignment is performed. Therefore, in order to reduce the power consumption of the physical server, it is possible to prevent the user's quality of experience from deteriorating.
  • the effect of this embodiment described above is that it is possible to output a machine arrangement plan for moving a virtual machine while suppressing deterioration in the sensory performance of the client user.
  • connection time determination unit 110 determines a virtual machine in which the time period cover ratio in which the high load time period covers the connection time period of the virtual machine exceeds the minimum coverage ratio.
  • arrangement plan generation unit 130 generates and outputs the determined virtual machine arrangement plan based on the resource usage data in the determined high load time zone and low load time zone of the virtual machine. To do.
  • FIG. 9 is a block diagram showing a configuration of the machine arrangement planning device 200 according to the second exemplary embodiment of the present invention.
  • the machine arrangement planning apparatus 200 further includes a resource usage increase rate determination unit 240 as compared with the machine arrangement planning apparatus 100 according to the first embodiment.
  • the increase rate of the resource usage means the increase rate of the resource usage of the virtual machine in the high load time period with respect to the resource usage of the virtual machine in the low load time period.
  • the resource usage increase rate determination unit 240 determines whether or not the calculated resource usage increase rate exceeds the minimum resource usage increase rate for each of the determination passing virtual machines determined by the connection time determination unit 110. Is further determined.
  • the minimum resource usage increase rate is a value determined as the lower limit of the resource usage increase rate. Typically, the minimum resource usage increase rate is about 1.5 or larger.
  • the minimum resource usage increase rate may be stored in advance in the resource usage increase rate determination unit 240, or may be set in the resource usage increase rate determination unit 240 by an input unit (not shown).
  • the minimum resource usage increase rate may be acquired from the outside by a minimum resource usage increase rate acquisition means (not shown) included in the machine arrangement planning device 100.
  • the resource usage increase rate determination unit 240 assigns a specific determination passing virtual machine among the determination passing virtual machines determined by the connection time determination unit 110 to a new determination passing virtual machine (third virtual machine). (Also called a machine).
  • the specific determination passing virtual machine is the determination passing virtual machine in which it is determined that the calculated resource usage increase rate exceeds the lower limit value of the resource usage increase rate. That is, the resource usage increase rate determination unit 240 further narrows down the determination passing machines determined by the connection time determination unit 110.
  • FIG. 10 is a flowchart showing the operation of the machine arrangement planning apparatus 200 according to the present embodiment.
  • steps S611 to S614 in FIG. 10 are the same as the operations in steps S611 to S614 in the first embodiment.
  • the resource usage increase rate determination unit 240 calculates the resource usage increase rate based on the high load time zone resource usage history 172 and the low load time zone resource usage history 173. (Step S621).
  • the resource usage increase rate determination unit 240 determines that the calculated resource usage increase rate is the lower limit value of the resource usage increase rate for each of the determination passing virtual machines determined by the connection time determination unit 110. It is determined whether it exceeds (step S622). Subsequently, the resource usage increase rate determination unit 240 passes the determination passing virtual machine determined that the calculated resource usage increase rate exceeds the lower limit value of the resource usage increase rate to the new determination pass. The virtual machine is determined (step S622).
  • the resource usage increase rate determination unit 240 determines the virtual machine as a determination passing virtual machine, but the minimum resource usage increase rate is 2 If it is .0, the virtual machine is not determined as a decision-passing virtual machine.
  • steps S615 to S616 in FIG. 10 are the same as the operations in steps S615 to S616 in the first embodiment.
  • the machine placement execution device 102 executes machine placement using the placement plan output by the above-described machine placement planning device 200, the following system operation is possible.
  • the placement plan output by the machine placement planning device 200 is a placement plan that makes the rate of increase of the resource usage of the virtual machine in a high load time zone a value greater than a certain value.
  • the machine arrangement planning apparatus 200 further performs the determination by the resource usage increase rate determination unit 240, thereby outputting the arrangement plan.
  • this arrangement plan is an arrangement plan in which the reduction rate of the resource usage of the virtual machine in the low load time period is set to a value greater than a certain value.
  • the machine placement execution apparatus 102 can execute the virtual machine registration in the low load time period using the placement plan. By doing so, the machine placement execution apparatus 102 enables an operation in which the number of physical servers that accommodate the virtual machine is reduced to about half.
  • the machine arrangement execution apparatus 102 can use the arrangement plan to perform an operation of accommodating the virtual machine whose load hardly changes in a specific physical server. In that case, since the daily load fluctuation of the physical server becomes small, it is not necessary to make a shift in the first place.
  • the machine placement execution apparatus 102 can use the placement plan to select only virtual machines whose resource usage increase rate in a high load time period is equal to or higher than a certain level and set them as a target to be shifted. it can. In this way, the machine arrangement execution apparatus 102 can suppress the number of virtual machines that are justified and the overhead associated with the justification.
  • the effects of the present embodiment described above can reduce the number of virtual machines to be moved, and further output a machine arrangement plan that suppresses the deterioration of the client user's perceived performance. It is a point to become.
  • the reason is that the resource usage increase rate determination unit 240 further narrows down the determination passing virtual machines based on the resource usage increase rate.
  • each component described in each of the above embodiments does not necessarily need to be an independent entity.
  • each component may be realized as a module with a plurality of components.
  • each component may be realized by a plurality of modules.
  • Each component may be configured such that a certain component is a part of another component.
  • Each component may be configured such that a part of a certain component overlaps a part of another component.
  • each component and a module that realizes each component may be realized by hardware if necessary. Moreover, each component and the module which implement
  • the program is provided by being recorded on a non-volatile computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up.
  • the read program causes the computer to function as a component in each of the above-described embodiments by controlling the operation of the computer.
  • a plurality of operations are not limited to being executed at different timings. For example, another operation may occur during the execution of a certain operation, or the execution timing of a certain operation and another operation may partially or entirely overlap.
  • each of the embodiments described above it is described that a certain operation becomes a trigger for another operation, but the description does not limit all relationships between the certain operation and other operations. For this reason, when each embodiment is implemented, the relationship between the plurality of operations can be changed within a range that does not hinder the contents.
  • the specific description of each operation of each component does not limit each operation of each component. For this reason, each specific operation
  • movement of each component may be changed in the range which does not cause trouble with respect to a functional, performance, and other characteristic in implementing each embodiment.
  • the present invention can be applied to an apparatus, a system, a method, and a program that realize apparatus number control and power consumption reduction control.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 本発明は、仮想マシン型シンクライアントシステムにおいて、ユーザの体感性能の劣化を抑えつつ仮想マシンの移動を行うための、マシン配置計画を出力する情報処理装置を提供する。その情報処理装置は、第1の仮想マシン毎の、接続時間帯を高負荷時間帯がカバーしている割合である時間帯カバー率を算出し、その時間帯カバー率が最低カバー率を上回る第1の仮想マシンを第2の仮想マシンとして決定する接続時間判定部と、各第2の仮想マシンのリソース使用量の時系列のデータに基づいて、高負荷時間帯及び低負荷時間帯のそれぞれにおいて、第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、その台数と仮想マシンとを関連付けて出力する配置計画生成部と、を備える。

Description

マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法
 本発明は、サーバの稼働台数ならびにその電力消費量を削減するマシン配置計画を生成する情報処理装置、マシン配置計画生成方法及びプログラムに関する。
 サーバの稼働台数や電力消費量などを削減するためのさまざまな関連技術が知られている。
 例えば、仮想マシンの配置の工夫によってサーバの稼働台数や電力消費量を削減する技術がある。その技術には、静的な配置処理技術と動的な配置処理技術とが存在する。その静的配置処理技術は、サーバへの要求性能を過去のログ等から予測し、サーバのその稼働台数を制御する計画を事前に作成する技術である。一方、その動的配置処理技術は、その時々のそのサーバ或いはそのサーバを含むシステムの負荷の状況にあわせて、その稼働台数を制御する技術である。
 特許文献1は、マシン稼働計画作成装置を開示する。ここで言うマシンとは、物理的なコンピュータや仮想マシンのことである。この仮想マシンは、1台の物理的なコンピュータの計算機資源が、仮想的な複数のコンピュータとして分割して得られる、仮想的なコンピュータである。また、なんらかのサービスを提供することを想定した物理的なコンピュータ仮想マシンは、物理サーバとも呼ばれる。同じく、なんらかのサービスを提供することを想定した仮想マシンは、仮想サーバとも呼ばれる。
 特許文献1記載のマシン稼働計画作成装置の効果は、ウェブサービスを提供するマシンの時間帯別の稼働台数を削減すると共に、そのマシンの起動や停止の操作回数を最小化するように、稼動計画を作成することにある。そのウェブサービスは、クライアントからのリクエストに対して、サーバが比較的短時間(数秒以内)にある演算結果を返すようなサービスである。そのウェブサービスの性能は1秒間に処理可能なリクエスト(トランザクション)数であるtps(Transaction Per Second)等で表現される。
 一般に、あるウェブサービスに要求される性能は、時間帯によって変化し、かつ周期性をもつ。また、あるマシンによって処理可能なリクエスト数は一定である。従って、多数のリクエストを処理するには、複数台のマシンをクラスタ化し、リクエストをこれらのマシンに振り分ける(負荷分散する)ことによって処理性能を向上する手法が用いられる。このような規模の大きな構成では、時間帯毎に必要なマシン数が変動することになる。
 特許文献1記載のマシン稼働計画作成装置は、各時間帯において必要となるマシン数のリストを受け取り、これに基づいて各マシンの起動と停止の回数を最小化するように稼働計画を作成する。これにより、そのマシン稼働計画作成装置は、マシンの稼働台数やその電力消費を削減すると共に、マシンの追加(起動)と削減(停止)に伴う設定変更の手間や設定ミスのリスク等を削減する。
 特許文献2は、サーバ管理装置を開示する。特許文献2記載のサーバ管理装置は、複数のサービスを提供する複数のクラスタシステムを管理する装置である。
 特許文献2記載のサーバ管理装置は、負荷情報収集部と構成情報収集部と構成変更判断部と構成変更対象選択部と構成変更実行部とを有する。その負荷情報収集部は、クラスタシステムを構成する仮想サーバ群の負荷情報を収集する。その構成情報収集部は、仮想サーバがどの物理サーバに割り当てられているかを構成情報として収集する。その構成変更判断部は、その負荷情報から仮想サーバ数の削減可否を判断する。その構成変更対象選択部は、稼働するその仮想サーバ数が最も少ない物理サーバを、その構成情報を参照して選択する。その構成変更実行部は、その選択された物理サーバ上の仮想サーバを停止する。また、その構成変更対象選択部は、稼働するその仮想サーバ数が最も多い物理サーバを選択する。更に、その構成変更実行部が、その選択された物理サーバ上で仮想サーバを起動する。
 このような構成を有する、そのサーバ管理装置は、稼働するその仮想サーバ数の少ない物理サーバ上の仮想サーバを他の物理サーバ上に移動(片寄せ)し、稼働する仮想マシンのなくなったその物理サーバを停止して電力消費量を削減しやすくする効果を有する。この効果は、稼働するその仮想サーバ数の少ないその物理サーバを意図的に作り出すことで、より顕著に得ることができる。
 特許文献3は、サーバ移行計画作成システムを開示する。特許文献3記載のサーバ移行計画作成システムは、移行元サーバのそれぞれの資源使用量と移行先サーバのそれぞれの資源容量とに基づいて、移行元サーバの移行先を移行先サーバのいずれかに割り当てる、そのサーバ移行計画を作成する。ここで、そのサーバ移行計画作成システムは、それらの資源使用量の降順でその移行元サーバを1つずつ選択する。次に、そのサーバ移行計画作成システムは、その移行先サーバのうちいずれかを選択し、先に選択された移行元サーバの資源使用量である対象使用量とその選択された移行先サーバの資源容量の残量との比較を行う。そして、そのサーバ移行計画作成システムは、その対象使用量がその資源容量の残量より大きい場合、既に選択されたその移行先サーバとは別の移行先サーバを選択し、上述の比較を再度行う。また、そのサーバ移行計画作成システムは、その対象使用量がその資源容量の残量以下の場合、その選択された移行先サーバを、その選択された移行元サーバの移行先として割り当てる。
WO/2011/118424 特開2011-90594号公報 特許4853717号公報
 しかしながら、上述した特許文献に記載された技術においては、仮想マシン型シンクライアントシステムにおける仮想マシンの配置変更時(構成変更時、サーバ移行時)に、クライアントのユーザの体感性能が劣化してしまう場合があるという、問題点がある。
 その理由は、上述した特許文献に記載された技術が以下の通りだからである。第1に、特許文献1に記載のマシン稼働計画作成装置は、サーバの配置変更時におけるクライアントとサーバとの接続状態を考慮することなく、稼働計画を作成する。また、特許文献2のサーバ管理装置は、仮想マシンの構成変更(物理サーバ上で仮想サーバの停止と起動)時における、クライアントとサーバとの接続状態を考慮していない。また、特許文献3の、サーバ移行計画作成システムは、サーバ移行時におけるクライアントとサーバとの接続状態を考慮することなく、稼働計画を作成する。
 例えば、仮想マシン型のシンクライアントシステムは、サーバ上の仮想マシンとして稼働するユーザのデスクトップ環境に、クライアントが長時間にわたってネットワーク接続し、そのクライアントが遠隔地からデスクトップを操作できるようにしたシステムである。このようなシステムにおいて、上述の特許文献に記載された技術を利用しての仮想マシンの配置変更(構成変更、サーバ移行)が行われると、クライアントが接続状態にある仮想マシンを、ある物理サーバから別のサーバに移動する可能性が大きくなる。このような移動は、その移動時のオーバヘッドによって、そのユーザの体感性能を劣化させてしまう。
 本発明の目的は、上述した問題点を解決する情報処理装置、マシン配置計画生成方法及びプログラムを提供することにある。
 本発明のマシン配置計画装置は、複数の第1の仮想マシンのそれぞれとクライアントとの接続履歴から得られる前記第1の仮想マシン毎の接続時間帯のうち、前記第1の仮想マシンの高負荷時間帯でカバーされる時間の割合である時間帯カバー率を、前記第1の仮想マシン毎に算出し、前記算出した時間帯カバー率が前記時間帯カバー率の下限値として定められた最低カバー率を上回るか否かを判定し、対応する前記時間帯カバー率が前記最低カバー率を上回ると判定された前記第1の仮想マシンを第2の仮想マシンとして決定する接続時間判定部と、
 前記第2の仮想マシンのリソース使用量を時系列で示すリソース使用量データに基づいて、前記高負荷時間帯及び前記高負荷時間帯以外の時間帯である低負荷時間帯のそれぞれにおいて、前記第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、前記算出した台数と前記第2の仮想マシンとを関連付けて出力する配置計画生成部と、を含む。
 本発明のマシン配置計画方法は、コンピュータが、
 複数の第1の仮想マシンのそれぞれとクライアントとの接続履歴から得られる前記第1の仮想マシン毎の接続時間帯のうち、前記第1の仮想マシンの高負荷時間帯でカバーされる時間の割合である時間帯カバー率を、前記第1の仮想マシン毎に算出し、
 前記算出した時間帯カバー率が前記時間帯カバー率の下限値として定められた最低カバー率を上回るか否かを判定し、
 対応する前記時間帯カバー率が前記最低カバー率を上回ると判定された前記第1の仮想マシンを第2の仮想マシンとして決定し、
 前記第2の仮想マシンのリソース使用量を時系列で示すリソース使用量データに基づいて、前記高負荷時間帯及び前記低負荷時間帯のそれぞれにおいて、前記第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、
 前記算出した台数と前記第2の仮想マシンとを関連付けて出力する。
 本発明の不揮発性記録媒体は、複数の第1の仮想マシンのそれぞれとクライアントとの接続履歴から得られる前記第1の仮想マシン毎の接続時間帯のうち、前記第1の仮想マシンの高負荷時間帯でカバーされる時間の割合である時間帯カバー率を、前記第1の仮想マシン毎に算出し、
 前記算出した時間帯カバー率が前記時間帯カバー率の下限値として定められた最低カバー率を上回るか否かを判定し、
 対応する前記時間帯カバー率が前記最低カバー率を上回ると判定された前記第1の仮想マシンを第2の仮想マシンとして決定し、
 前記第2の仮想マシンのリソース使用量を時系列で示すリソース使用量データに基づいて、前記高負荷時間帯及び前記低負荷時間帯のそれぞれにおいて、前記第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、
 前記算出した台数と前記第2の仮想マシンとを関連付けて出力する処理をコンピュータに実行させるプログラムを記録する。
 本発明は、仮想マシン型シンクライアントシステムにおいて、クライアントユーザの体感性能の劣化を抑えつつ仮想マシンの移動を行うための、マシン配置計画を出力することが可能になるという効果がある。
図1は、第1の実施形態に係るマシン配置計画装置の構成を示すブロック図である。 図2は、第1の実施形態に係るマシン配置計画装置を含むマシン配置システムの構成を示すブロック図である。 図3は、接続履歴の一例を示す図である。 図4は、リソース使用量履歴の一例を示す図である。 図5は、高負荷時間帯分リソース使用量履歴の一例を示す図である。 図6は、低負荷時間帯分リソース使用量履歴の一例を示す図である。 図7は、マシン配置計画装置を実現するコンピュータのハードウェア構成を示す図である。 図8は、第1の実施形態におけるマシン配置計画装置の動作を示すフローチャートである。 図9は、第2の実施形態に係るマシン配置計画装置の構成を示すブロック図である。 図10は、第2の実施形態におけるマシン配置計画装置の動作を示すフローチャートである。
 本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
 [第1の実施形態]
 図1は、本発明の第1の実施形態に係るマシン配置計画装置100の構成を示すブロック図である。尚、マシン配置計画装置は、情報処理装置とも呼ばれる。
 図1に示すように、本実施形態に係るマシン配置計画装置100は、接続時間判定部110と、配置計画生成部130とを含む。
 図2は、本発明の第1の実施形態に係るマシン配置計画装置100を含むマシン配置システム101の構成を示すブロック図である。
 図2に示すようにマシン配置システム101は、マシン配置計画装置100、マシン配置実行装置102、物理サーバ群103、仮想マシン群104、接続履歴記憶部160及びリソース使用量履歴記憶部170を備える。マシン配置計画装置100と、マシン配置実行装置102、接続履歴記憶部160及びリソース使用量履歴記憶部170とは、図示しないインタフェースでそれぞれ接続されている。また、マシン配置実行装置102と配置計画生成部130とは図示しないインタフェースで接続されている。また、物理サーバ群103と、接続履歴記憶部160及びリソース使用量履歴記憶部170とは、図示しないインタフェースでそれぞれ接続されている。
 尚、接続履歴記憶部160及びリソース使用量履歴記憶部170は、マシン配置計画装置100に含まれるようにしてもよい。接続履歴記憶部160及びリソース使用量履歴記憶部170のそれぞれは、マシン配置計画装置100に含まれる場合、接続時間判定部110及び配置計画生成部130のそれぞれに含まれるようにしてもよい。また、接続履歴記憶部160及びリソース使用量履歴記憶部170は、マシン配置実行装置102に含まれるようにしてもよい。
 また、マシン配置計画装置100は、マシン配置実行装置102に含まれるようにしてもよい。或いは、マシン配置実行装置102は、マシン配置計画装置100に含まれるようにしてもよい。
 まず、マシン配置システム101の各構成要素について説明する。
 ===接続履歴記憶部160===
 接続履歴記憶部160は、過去の一定期間(例えば1週間)の、仮想マシン群104に含まれる各仮想マシン(第1の仮想マシン)の接続履歴を記憶する。図3は、接続履歴記憶部160が記憶する接続履歴161の一例を示す図である。図3に示すように、接続履歴161は、VMID(Virtual Machine IDentifier)、接続開始日時及び接続切断日時を含む1以上の接続時間レコード1611から成る。
 VMIDは、仮想マシンを識別するための識別子である。接続開始日時及び接続切断日時それぞれは、仮想マシンのそれぞれとクライアント(不図示)のそれぞれとの間の、接続及び切断が発生した時刻である。
 ===リソース使用量履歴記憶部170===
 リソース使用量履歴記憶部170は、過去の一定期間(例えば1週間)の、仮想マシン群104に含まれる各仮想マシンのリソース使用量履歴を記憶する。図4は、リソース使用量履歴記憶部170が記憶するリソース使用量履歴171の一例を示す図である。図4に示すように、リソース使用量履歴171に含まれるリソース使用量のデータは、VMID、日時及びCPU使用率を含む1以上のリソース使用量レコード(リソース使用量データとも呼ばれる)1711から成る。
 リソース使用量履歴171は、仮想マシンのリソース使用量に関する、時系列のデータである。図4に示すリソース使用量履歴171は、CPU(Central Processing Unit)使用率をリソースの使用量とした場合の、リソース使用量履歴の例である。リソース使用量履歴171の各リソース使用量レコード1711は、15分間隔の日時におけるCPU使用率のサンプリング値を含む。
 ===マシン配置計画装置100===
 マシン配置計画装置100は、接続履歴記憶部160及びリソース使用量履歴記憶部170を参照して配置計画を生成し、その生成した配置計画をマシン配置実行装置102に送信する。マシン配置計画装置100の詳細は、後述する。
 ===マシン配置実行装置102===
 マシン配置実行装置102は、受信した配置計画に基づいて、物理サーバ群103に含まれる物理サーバに、仮想マシン群104の各仮想マシンを配置する。
 ===物理サーバ群103及び仮想マシン群104===
 物理サーバ群103は、1以上の物理サーバを含む。仮想マシン群104は、1以上の仮想マシンを含む。それらの各仮想マシンは、それらの物理サーバのいずれかのリソースで動作する。
 各物理サーバは、自身に配置された仮想マシンの接続時間情報及びリソース使用量履歴情報のそれぞれを、接続履歴記憶部160及びリソース使用量履歴記憶部170のそれぞれに記録する。尚、各物理サーバは、その自身に配置された仮想マシンのその接続時間情報及びそのリソース使用量履歴情報を、マシン配置計画装置100或いはマシン配置実行装置102に送信してもよい。その場合、マシン配置計画装置100及びマシン配置実行装置102は、受信したその接続時間情報及びそのリソース使用量履歴情報のそれぞれを、接続履歴記憶部160及びリソース使用量履歴記憶部170のそれぞれに記録するようにしてよい。
 次に、第1の実施形態におけるマシン配置計画装置100が備える各構成要素について詳細に説明する。尚、図1に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図1に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
 ===接続時間判定部110===
 接続時間判定部110は、接続履歴記憶部160が記憶している接続履歴161から仮想マシン毎の接続時間の接続時間レコード1611を取得する。
 次に、接続時間判定部110は、時間帯カバー率を、その仮想マシン毎に算出する。その時間帯カバー率は、その取得した仮想マシン毎のその接続時間の接続時間レコード1611から得られる接続時間帯を、高負荷時間帯がカバーしている割合である。ここで、その高負荷時間帯は、その仮想マシンの高負荷時間帯であるとして定められた時間帯である。
 例えば、シンクライアントサービスを提供する仮想マシンが24時間稼働され、その稼働時間が、比較的負荷の高い連続した時間帯(高負荷時間帯)と、それ以外の負荷の低い時間帯(低負荷時間帯)の2つに分類できるものとする。そして、その高負荷時間帯が9:00から17:00まで、その低負荷時間帯が0:00から9:00と17:00から24:00(言い換えれば、17:00から翌9:00まで)であったとする。このとき、その高負荷時間帯は、「9:00から17:00まで」という情報である。
 その高負荷時間帯は、接続時間判定部110内に予め保持されていてもよいし、図示しない入力手段により接続時間判定部110に設定されてもよい。また、その高負荷時間帯は、マシン配置計画装置100に含まれる高負荷時間帯取得手段(不図示)によって、外部から取得するようにしてもよい。
 次に、接続時間判定部110は、仮想マシンのそれぞれについて、算出された仮想マシンそれぞれに対応するその時間帯カバー率が、最低カバー率を上回るか否かを判定する。そして、接続時間判定部110は、その算出された時間帯カバー率がその最低カバー率を上回る仮想マシンを、判定通過仮想マシン(第2の仮想マシンとも呼ばれる)として決定する。
 ここで、その最低カバー率は、その時間帯カバー率の下限値として定められた値である。典型的には、その最低カバー率は、0.95(95%)や0.99(99%)、0.999(99.9%)といった、100%に近い値である。また、その最低カバー率は、1(100%)であってもよい。
 その最低カバー率は、接続時間判定部110内に予め保持されていてもよいし、図示しない入力手段により接続時間判定部110に設定されてもよい。また、その最低カバー率は、マシン配置計画装置100に含まれる最低カバー率取得手段(不図示)によって、外部から取得するようにしてもよい。
 ===配置計画生成部130===
 配置計画生成部130は、リソース使用量履歴記憶部170が記憶するリソース使用量履歴171から、各判定通過仮想マシンに対応する高負荷時間帯のリソース使用量レコード1711を抽出する。
 次に、配置計画生成部130は、その抽出したその高負荷時間帯のリソース使用量レコード1711に基づいて、その高負荷時間帯において、各判定通過仮想マシンを収容するのに必要な物理サーバの台数を算出する。同様に、配置計画生成部130は、低負荷時間帯のリソース使用量レコード1711に基づいて、その低負荷時間帯において、その判定通過仮想マシンを収容するのに必要な物理サーバの台数を算出する。そして、配置計画生成部130は、それらの算出した台数とその判定通過仮想マシンのVMIDとの組を出力する。
 以上が、マシン配置計画装置100の機能単位の各構成要素についての説明である。
 次に、マシン配置計画装置100のハードウェア単位の構成要素について説明する。
 図7は、本実施形態におけるマシン配置計画装置100を実現するコンピュータ700のハードウェア構成を示す図である。
 図7に示すように、コンピュータ700は、CPU(Central Processing Unit)701、記憶部702、記憶装置703、入力部704、出力部705及び通信部706を含む。更に、コンピュータ700は、外部から供給される記録媒体(または記憶媒体)707を含む。記録媒体707は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
 CPU701は、オペレーティングシステム(不図示)を動作させて、コンピュータ700の、全体の動作を制御する。また、CPU701は、例えば記憶装置703に装着された記録媒体707から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部702に書き込む。ここで、そのプログラムは、例えば、後述の図8に示すフローチャートの動作をコンピュータ700に実行させるプログラムである。
 そして、CPU701は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図1に示す接続時間判定部110及び配置計画生成部130として各種の処理を実行する。
 尚、CPU701は、通信網(不図示)に接続されている外部コンピュータ(不図示)から、記憶部702にプログラムやデータをダウンロードするようにしてもよい。
 記憶部702は、プログラムやデータを記憶する。記憶部702は、接続履歴記憶部160及びリソース使用量履歴記憶部170を含んでよい。
 記憶装置703は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体707を含む。記憶装置703(記録媒体707)は、プログラムをコンピュータ読み取り可能に記憶する。また、記憶装置703は、データを記憶してもよい。記憶装置703は、接続履歴記憶部160及びリソース使用量履歴記憶部170を含んでよい。
 入力部704は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部704は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
 出力部705は、例えばディスプレイで実現され、出力を確認するために用いられる。
 通信部706は、マシン配置実行装置102、接続履歴記憶部160及びリソース使用量履歴記憶部170とのインタフェースを実現する。通信部706は、接続時間判定部110及び配置計画生成部130の一部として含まれる。
 以上説明したように、図1に示すマシン配置計画装置100の機能単位のブロックは、図7に示すハードウェア構成のコンピュータ700によって実現される。但し、コンピュータ700が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ700は、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
 尚、上述のプログラムのコードを記録した記録媒体707が、コンピュータ700に供給され、CPU701は、記録媒体707に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、CPU701は、記録媒体707に格納されたプログラムのコードを、記憶部702、記憶装置703またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ700(CPU701)が実行するプログラム(ソフトウェア)を、一時的にまたは非一時的に、記憶する記録媒体707の実施形態を含む。
 以上が、本実施形態におけるマシン配置計画装置100を実現するコンピュータ700の、ハードウェア単位の各構成要素についての説明である。
 次に本実施形態の動作について、図1~図8を参照して詳細に説明する。
 図8は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPUによるプログラム制御に基づいて、実行されても良い。また、処理のステップ名については、ステップS601のように、記号で記載する。
 接続時間判定部110は、その時間帯カバー率を各仮想マシンについて算出する(ステップS611)。
 次に、接続時間判定部110は、その仮想マシンそれぞれについて、その算出された時間帯カバー率がその最低カバー率を上回るその仮想マシンを、判定通過仮想マシンとして決定する(ステップS612)。
 例えば、ある仮想マシンAに対応する接続履歴レコード1611から抽出された接続時間帯が、「2012/07/24の9:05から16:45」、「2012/07/25の10:00から同日12:00」、「2012/07/25の15:00から同日17:30」、「2012/07/27の8:45から同日18:00」であったとする。このとき、それらの接続履歴のそれぞれに対応するその接続時間帯の時間(分)は、460分、120分、150分、555分である。これより、接続時間判定部110は、その接続時間帯の合計時間を1285分と算出する。
 そして、高負荷時間帯が「9:00から17:00」であったとすると、それらの接続時間帯のそれぞれに対応する、その高負荷時間帯に含まれない時間帯の時間(分)は、0分、0分、30分、75分である。これより、接続時間判定部110は、その高負荷時間帯に含まれないその接続時間帯の合計時間を105分と算出する。また、接続時間判定部110は、その高負荷時間帯に含まれる接続時間帯の時間を1285分-105分=1180分と算出する。以上より、接続時間判定部110は、仮想マシンAに関するその時間帯カバー率を1180/1285≒0.918(91.8%)と算出する。
 続けて、接続時間判定部110は、例えばその最低カバー率が90%であれば、仮想マシンAを「その時間帯カバー率がその最低カバー率を上回るその判定通過仮想マシン」であると決定する。また、その最低カバー率が95%であれば、接続時間判定部110は、仮想マシンAを判定通過仮想マシンと決定しない。
 接続時間判定部は、図3に示すような各仮想マシンの接続履歴161を参照し、上述のような判定処理を行い、判定通過仮想マシンを決定する。上述のようにして決定されたその判定通過仮想マシン(判定通過仮想マシン群)は、クライアント(ユーザ)が接続している接続時間帯の大部分を高負荷時間帯に包含され、逆に低負荷時間帯にはクライアントがほとんど接続されないような仮想マシンである。
 次に、配置計画生成部130は、リソース使用量履歴記憶部170が記憶するリソース使用量履歴171から、判定通過仮想マシンのそれぞれに関するリソース使用量レコード1711を抽出する(ステップS613)。
 次に、配置計画生成部130は、その抽出したリソース使用量レコード1711を高負荷時間帯分のリソース使用量レコード1711とそれ以外の低負荷時間帯分のリソース使用量レコード1711とに分配する(ステップS614)。
 分配されたそれぞれのリソース使用量レコード1711の1例を図5及び図6に示す。図5は、高負荷時間帯「9:00から17:00」に対して、前述の判定通過仮想マシンKに関するCPU使用率の履歴を分配した場合の、高負荷時間帯リソース使用量履歴172の一例を示す。図6は、同じく、低負荷時間帯リソース使用量履歴173の一例を示す。
 図5及び図6に示すCPU使用率は、15分間隔のサンプリング値である。例えば、日時が「9:15」のリソース使用量レコード1711のCPU使用率は、9:00から9:15までのCPU使用率を表しているものとする。従って、9:15から17:00までの各リソース使用量レコード1711は、9:00から17:00までのCPU使用率に対応している。配置計画生成部130は、判定通過全仮想マシンに対応するリソース使用量レコード1711について、上述のような分配を行う。
 次に、配置計画生成部130は、判定通過仮想マシン群の高負荷時間帯のリソース使用量レコード1711に基づいて、その高負荷時間帯における、仮想マシン群104を収容するのに必要な物理サーバの台数を算出する(ステップS615)。同時に、配置計画生成部130は、判定通過仮想マシン群の低負荷時間帯のリソース使用量レコード1711に基づいて、その低負荷時間帯における、仮想マシン群104を収容するのに必要な物理サーバの台数を算出する(ステップS615)。
 例えば、複数の仮想マシンに関するリソース使用量が与えられたとき、これらを収容するのに物理サーバが何台必要になるかは、パッキング問題として定式化される。
 背景技術に記載したように、特許文献3には、以下の技術が開示されている。その技術は、移行元サーバ(仮想マシン)のリソース使用量と移行先サーバ(物理サーバ)のリソース量とから、仮想サーバの収容(パッキング)に必要な物理サーバ数と仮想サーバのその物理サーバへの配置情報とを算出する技術である。
 配置計画生成部130は、各仮想マシンに対して、高負荷時間帯のリソース使用量のリソース使用量レコード1711から、リソース使用量の平均値を算出する。そして、配置計画生成部130は、この平均値をその仮想マシンのリソース使用量とし、予め与えられた物理サーバのリソース量を利用して、判定通過仮想マシン群をその高負荷時間帯に収容するのに必要となる物理サーバの台数を、特許文献3の技術を用いて算出する。また同時に、配置計画生成部130は、その物理サーバへのその仮想マシンの配置情報を生成する。
 このとき、リソース使用量がCPU使用率とするならば、その物理サーバのリソース量としてサーバ運用時のCPU使用率の閾値が設定される。典型的には、そのCPU使用率の閾値は、80%前後に設定されるが、高い性能が求められる場合には、その閾値は、50%程度に設定される場合がある。
 次に、配置計画生成部130は、それらの算出された高負荷時間帯及び低負荷時間帯に必要な物理サーバ数と対応する判定通過仮想マシンのVMID(即ち、その判定通過仮想マシンの配置情報)との組を配置計画として出力する(ステップS616)。
 以上が、本実施形態の動作の説明である。
 尚、以上の実施形態では、高負荷時間帯が24時間の中で1つのみであり、かつ連続している前提であったが、複数の高負荷時間帯があってもよい。例えば、高負荷時間帯が社員の通勤時間に対応する「7:00から9:00」と「17:00から19:00」の2つであってもよい。この場合も同様の手法によって、7:00から9:00、9:00から17:00、17:00から19:00、19:00から翌日7:00までの物理サーバの必要台数や仮想マシンの配置計画が算出可能である。
 上述のマシン配置計画装置100が出力する配置計画を利用して、マシン配置実行装置102がマシン配置を実行することにより、以下のようなシステム運用が可能となる。
 例えば、配置計画が、高負荷時間帯(9:00から17:00)に必要なサーバ数が5台であり、低負荷時間帯(17:00から翌日9:00)に必要なサーバ数が3台であることを示しているとする。この場合、マシン配置実行装置102は、17:00から9:00までの16時間の間は2台分の物理サーバ上の仮想マシンを残りの3台に移行(片寄せ)し、2台の物理サーバを停止することで、その電力消費を節約することができる。
 また、仮想マシンの移行処理中は、その移行処理に伴うオーバヘッド等から仮想マシンの性能が劣化する。しかし、マシン配置実行装置102がこの配置計画に基づいて移行処理を行えば、移行時において、いずれかの仮想マシンに対してユーザからの接続がある確率は、相対的に低くなる。そのため、ユーザの体感性能の劣化を抑えることが可能である。
  例えば、企業で一般に用いられるシンクライアントシステムは、ユーザの接続時間が企業の営業時間に連動している可能性が高い。従って、営業日にユーザが接続する時間帯には高い確率で周期性が存在する。この場合、前述の接続履歴161は、営業日のみのデータ(接続時間レコード1611)を保持し、マシン配置計画装置100によって得られる配置計画を、営業日に関する計画とする。こうすることによって、有用な配置計画を得ることができる。また、仮想マシンのリソース使用量(負荷)は一般的に、接続中に大きく、接続していない間は低い。このため、接続の少ない営業時間外には、必要なサーバ数が少なくて済む場合が多い。
 以上に説明したように、本実施形態により提供される配置計画を利用して、マシン配置実行装置102がマシン配置を実行することにより、例えば、シンクライアントシステムにおける仮想マシンの片寄せの際に有用な物理サーバの稼働制御が可能となる。また、その稼働計画を利用することにより、マシン配置実行装置102は、片寄せの実施される低負荷時間帯にはユーザからの接続が少ない仮想マシンを対象として片寄せを実施できる。従って、その物理サーバの電力消費量を削減するために、ユーザの体感品質が劣化してしまうことを抑えることが可能である。
 上述した本実施形態における効果は、クライアントユーザの体感性能の劣化を抑えつつ、仮想マシンの移動を行うための、マシン配置計画を出力することが可能になる点である。
 その理由は、以下のような構成を含むからである。即ち、第1に、接続時間判定部110が、仮想マシンの接続時間帯を高負荷時間帯がカバーするその時間帯カバー率がその最低カバー率を上回る、仮想マシンを決定する。第2に、配置計画生成部130が、その決定された仮想マシンの高負荷時間帯及び低負荷時間帯におけるリソース使用量データに基づいて、その決定された仮想マシンの配置計画を生成し、出力する。
  [第2の実施形態]
 次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
 図9は、本発明の第2の実施形態に係るマシン配置計画装置200の構成を示すブロック図である。
 図9を参照すると、本実施形態におけるマシン配置計画装置200は、第1の実施形態のマシン配置計画装置100と比べて、リソース使用量上昇率判定部240を更に含む。
 ===リソース使用量上昇率判定部240===
 リソース使用量上昇率判定部240は、高負荷時間帯リソース使用量履歴172及び低負荷時間帯リソース使用量履歴173に基づいて、リソース使用量上昇率を算出する。
 ここで、そのリソース使用量上昇率は、低負荷時間帯における仮想マシンのリソース使用量に対する、高負荷時間帯におけるその仮想マシンのリソース使用量の上昇率を意味する。
 次に、リソース使用量上昇率判定部240は、接続時間判定部110が決定した判定通過仮想マシンのそれぞれについて、その算出されたリソース使用量上昇率が最低リソース使用量上昇率を上回るか否かを更に判定する。
 ここで、その最低リソース使用量上昇率は、そのリソース使用量上昇率の下限値として定められた値である。典型的には、その最低リソース使用量上昇率は、1.5程度か、それより大きな値である。
 その最低リソース使用量上昇率は、リソース使用量上昇率判定部240内に予め保持されていてもよいし、図示しない入力手段によりリソース使用量上昇率判定部240に設定されてもよい。また、その最低リソース使用量上昇率は、マシン配置計画装置100に含まれる最低リソース使用量上昇率取得手段(不図示)によって、外部から取得するようにしてもよい。
 次に、リソース使用量上昇率判定部240は、接続時間判定部110が決定したその判定通過仮想マシンの内の、特定のその判定通過仮想マシンを、新たな判定通過仮想マシン(第3の仮想マシンとも呼ばれる)として決定する。その特定の判定通過仮想マシンは、その算出されたリソース使用量上昇率がリソース使用量上昇率のその下限値を上回ると判定されたその判定通過仮想マシンである。即ち、リソース使用量上昇率判定部240は、接続時間判定部110が決定した判定通過マシンを更に絞り込む。
 ===配置計画生成部130===
 本実施形態の、配置計画生成部130は、リソース使用量上昇率判定部240が決定した、その新たな判定通過仮想マシンについて、第1の実施形態と同じ処理を実行する。
 次に本実施形態の動作について、図面を参照して詳細に説明する。
 図10は、本実施形態に係るマシン配置計画装置200の動作を示すフローチャートである。
 図10におけるステップS611~S614の動作は、第1の実施形態におけるステップS611~S614の動作と同様である。
 ステップS614に続き、リソース使用量上昇率判定部240は、高負荷時間帯リソース使用量履歴172及び低負荷時間帯リソース使用量履歴173に基づいて、リソース使用量上昇率を算出する。(ステップS621)。
 次に、リソース使用量上昇率判定部240は、接続時間判定部110が決定したその判定通過仮想マシンのそれぞれについて、その算出されたリソース使用量上昇率がリソース使用量上昇率のその下限値を上回るか否かを判定する(ステップS622)。続けて、リソース使用量上昇率判定部240は、その算出されたリソース使用量上昇率がリソース使用量上昇率のその下限値を上回ると判定されたその判定通過仮想マシンを、その新たな判定通過仮想マシンとして決定する(ステップS622)。
 例えば、ある仮想マシンの高負荷時間帯(9:00から17:00)における平均リソース使用量は、9:15から17:00までのリソース使用量履歴に含まれるCPU使用率の平均をとることで求められる。低負荷時間帯についても同様である。その仮想マシンの高負荷時間帯の平均CPU使用率が14(%)、低負荷時間帯の平均CPU使用率が8(%)であったとすると、その仮想マシンのリソース使用量上昇率は、14/8=1.75と算出される。
 この時、リソース使用量上昇率判定部240は、その最低リソース使用量上昇率が1.5であれば、その仮想マシンを判定通過仮想マシンとして決定するが、その最低リソース使用量上昇率が2.0であればその仮想マシンを判定通過仮想マシンとして決定しない。
 図10におけるステップS615~S616の動作は、第1の実施形態におけるステップS615~S616の動作と同様である。
 以上が、本実施形態の動作の説明である。
 上述のマシン配置計画装置200が出力する配置計画を利用して、マシン配置実行装置102がマシン配置を実行することにより、以下のようなシステム運用が可能となる。
 マシン配置計画装置200が出力する配置計画は、高負荷時間帯における仮想マシンのリソース使用量の上昇率が一定以上の値になるようにする配置計画である。マシン配置計画装置200は、接続時間判定部110による判定に加えて、更にリソース使用量上昇率判定部240による判定を実施することで、その配置計画を出力する。換言すると、この配置計画は、低負荷時間帯における仮想マシンのリソース使用量の低減率を一定以上の値になるようにする配置計画である。
 例えば、その最低リソース使用量上昇率を2.0と設定すると、低負荷時間帯におけるリソース使用量は、高負荷時間帯の1/2=0.5、すなわち半分程度となる。従って、マシン配置実行装置102は、その配置計画を利用して、その低負荷時間帯においてその仮想マシンの片寄せを実行することができる。こうすることによって、マシン配置実行装置102は、その仮想マシンを収容する物理サーバ数を、半分程度に削減する運用を可能にする。
 また、マシン配置計画装置200が出力する配置計画からは低負荷時間帯に負荷がほとんど低下しないような仮想マシンを知ることができる。このような仮想マシンを片寄せ(移動)の対象としない運用が、合理的である。マシン配置実行装置102は、その配置計画を利用して、負荷がほとんど変化しないようなその仮想マシンを特定の物理サーバに収容するような運用を行うことができる。その場合、その物理サーバの1日の負荷変動が小さくなるため、そもそも片寄せの必要がなくなる。
 換言すると、高負荷時間帯にリソース使用量が上昇しない仮想マシンと上昇する仮想マシンとが混在し、リソース使用量が上昇しないその仮想マシンも片寄せする必要が生じて片寄せに伴う無駄なオーバヘッドが発生するという問題を回避可能となる。
 即ち、マシン配置実行装置102は、その配置計画を利用することにより、その高負荷時間帯におけるリソース使用量の上昇率が一定以上となる仮想マシンだけを選別して片寄せの対象とすることができる。こうして、マシン配置実行装置102は、片寄せされるその仮想マシンの台数と片寄せに伴うオーバヘッドを抑えることができる。
 上述した本実施形態における効果は、第1の実施形態の効果に加えて、移動対象の仮想マシンを削減して、更に、クライアントユーザの体感性能の劣化を抑えるマシン配置計画を出力することが可能になる点である。
 その理由は、リソース使用量上昇率判定部240がリソース使用量上昇率に基づいて、判定通過仮想マシンを更に絞り込むようにしたからである。
 以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されてよい。また、各構成要素は、1つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
 以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
 そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
 また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
 更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
 更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
 以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
 この出願は、2012年9月19日に出願された日本出願特願2012-205670を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、装置稼働台数制御及び消費電力削減制御を実現する装置、システム、方法及びプログラムに適用できる。
 100  マシン配置計画装置
 101  マシン配置システム
 102  マシン配置実行装置
 103  物理サーバ群
 104  仮想マシン群
 110  接続時間判定部
 130  配置計画生成部
 160  接続履歴記憶部
 161  接続履歴
 170  リソース使用量履歴記憶部
 171  リソース使用量履歴
 172  高負荷時間帯リソース使用量履歴
 173  低負荷時間帯リソース使用量履歴
 200  マシン配置計画装置
 240  リソース使用量上昇率判定部
 700  コンピュータ
 701  CPU
 702  記憶部
 703  記憶装置
 704  入力部
 705  出力部
 706  通信部
 707  記録媒体
 1611  接続時間レコード
 1711  リソース使用量レコード

Claims (10)

  1.  複数の第1の仮想マシンのそれぞれとクライアントとの接続履歴から得られる前記第1の仮想マシン毎の接続時間帯のうち、前記第1の仮想マシンの高負荷時間帯でカバーされる時間の割合である時間帯カバー率を、前記第1の仮想マシン毎に算出し、前記算出した時間帯カバー率が前記時間帯カバー率の下限値として定められた最低カバー率を上回るか否かを判定し、対応する前記時間帯カバー率が前記最低カバー率を上回ると判定された前記第1の仮想マシンを第2の仮想マシンとして決定する接続時間判定手段と、
     前記第2の仮想マシンのリソース使用量を時系列で示すリソース使用量データに基づいて、前記高負荷時間帯及び前記高負荷時間帯以外の時間帯である低負荷時間帯のそれぞれにおいて、前記第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、前記算出した台数と前記第2の仮想マシンとを関連付けて出力する配置計画生成手段と、を含む
     情報処理装置。
  2.  前記高負荷時間帯のデータ及び前記低負荷時間帯のデータに基づいてリソース使用量上昇率を算出し、前記第2の仮想マシンについて、前記算出したリソース使用量上昇率が前記リソース使用量上昇率の下限値として定められた最低リソース使用量上昇率を上回るか否かを判定し、対応する前記リソース使用量上昇率が前記最低リソース使用量上昇率を上回ると判定された前記第2の仮想マシンを第3の仮想マシンとして決定するリソース使用量上昇率判定手段を含む
     ことを特徴とする請求項1記載の情報処理装置。
  3.  前記リソース使用量上昇率判定手段は、前記第2の仮想マシン毎の前記高負荷時間帯における平均リソース使用量と前記低負荷時間帯における平均リソース使用量を算出し、前記高負荷時間帯における平均リソース使用量を前記低負荷時間帯における平均リソース使用量で除することによって前記リソース使用量上昇率を算出する、
     ことを特徴とする請求項2記載の情報処理装置。
  4.  前記最低リソース使用量上昇率を、1.5以上の値とする
     ことを特徴とする請求項3記載の情報処理装置。
  5.  前記最低カバー率を、1.0または0.9以上のいずれかの値とする
     ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6.  前記リソース使用量として、CPU使用率を用いる
     ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7.  コンピュータが、
     複数の第1の仮想マシンのそれぞれとクライアントとの接続履歴から得られる前記第1の仮想マシン毎の接続時間帯のうち、前記第1の仮想マシンの高負荷時間帯でカバーされる時間の割合である時間帯カバー率を、前記第1の仮想マシン毎に算出し、
     前記算出した時間帯カバー率が前記時間帯カバー率の下限値として定められた最低カバー率を上回るか否かを判定し、
     対応する前記時間帯カバー率が前記最低カバー率を上回ると判定された前記第1の仮想マシンを第2の仮想マシンとして決定し、
     前記第2の仮想マシンのリソース使用量を時系列で示すリソース使用量データに基づいて、前記高負荷時間帯及び前記低負荷時間帯のそれぞれにおいて、前記第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、
     前記算出した台数と前記第2の仮想マシンとを関連付けて出力する
     マシン配置計画方法。
  8.  前記コンピュータが、更に、
     前記高負荷時間帯のデータ及び前記低負荷時間帯のデータに基づいてリソース使用量上昇率を算出し、
     前記第2の仮想マシンについて、前記算出したリソース使用量上昇率が前記リソース使用量上昇率の下限値として定められた最低リソース使用量上昇率を上回るか否かを判定し、
     対応する前記リソース使用量上昇率が前記最低リソース使用量上昇率を上回ると判定された前記第2の仮想マシンを第3の仮想マシンとして決定する
     ことを特徴とする請求項7記載のマシン配置計画方法。
  9.  複数の第1の仮想マシンのそれぞれとクライアントとの接続履歴から得られる前記第1の仮想マシン毎の接続時間帯のうち、前記第1の仮想マシンの高負荷時間帯でカバーされる時間の割合である時間帯カバー率を、前記第1の仮想マシン毎に算出し、
     前記算出した時間帯カバー率が前記時間帯カバー率の下限値として定められた最低カバー率を上回るか否かを判定し、
     対応する前記時間帯カバー率が前記最低カバー率を上回ると判定された前記第1の仮想マシンを第2の仮想マシンとして決定し、
     前記第2の仮想マシンのリソース使用量を時系列で示すリソース使用量データに基づいて、前記高負荷時間帯及び前記低負荷時間帯のそれぞれにおいて、前記第2の仮想マシンを収容するのに必要な物理サーバの台数を算出し、
     前記算出した台数と前記第2の仮想マシンとを関連付けて出力する処理をコンピュータに実行させる
     プログラムを記録した不揮発性記録媒体。
  10.  前記高負荷時間帯のデータ及び前記低負荷時間帯のデータに基づいてリソース使用量上昇率を算出し、
     前記第2の仮想マシンについて、前記算出したリソース使用量上昇率が前記リソース使用量上昇率の下限値として定められた最低リソース使用量上昇率を上回るか否かを判定し、
     対応する前記リソース使用量上昇率が前記最低リソース使用量上昇率を上回ると判定された前記第2の仮想マシンを第3の仮想マシンとして決定する処理を前記コンピュータに、更に実行させる
     請求項9記載のプログラムを記録した不揮発性記録媒体。
PCT/JP2013/005394 2012-09-19 2013-09-12 マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法 WO2014045549A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014536583A JPWO2014045549A1 (ja) 2012-09-19 2013-09-12 マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法
US14/428,875 US9244718B2 (en) 2012-09-19 2013-09-12 Virtual machine resource allocation based on connection time coverage exceeding a minimum threshold

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-205670 2012-09-19
JP2012205670 2012-09-19

Publications (1)

Publication Number Publication Date
WO2014045549A1 true WO2014045549A1 (ja) 2014-03-27

Family

ID=50340891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/005394 WO2014045549A1 (ja) 2012-09-19 2013-09-12 マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法

Country Status (3)

Country Link
US (1) US9244718B2 (ja)
JP (1) JPWO2014045549A1 (ja)
WO (1) WO2014045549A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018504665A (ja) * 2014-12-19 2018-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 電力管理のための論理的にパーティション化された環境のイベント駆動型再最適化
CN112988389A (zh) * 2021-03-22 2021-06-18 成都卓拙科技有限公司 结合负载调节及周期性调节的自动伸缩方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
US11294700B2 (en) * 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
US9807008B2 (en) * 2014-06-06 2017-10-31 Google Inc. Tournament scheduling
US20190327159A1 (en) * 2018-04-20 2019-10-24 Nutanix, Inc. Systems and methods for identifying and displaying logon duration metrics
US10956199B2 (en) * 2019-03-14 2021-03-23 International Business Machines Corporation Remote virtual machine console access with persistent and seamless client connections during virtual machine migration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013822A (ja) * 2009-06-30 2011-01-20 Nec Corp 情報システム、制御装置、そのデータ処理方法およびプログラム
JP2011076470A (ja) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd 負荷管理装置、情報処理システムおよび負荷管理方法
WO2011118424A1 (ja) * 2010-03-25 2011-09-29 日本電気株式会社 マシン稼動計画作成装置、マシン稼動計画作成方法、及びマシン稼動計画作成用プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826287B1 (en) * 2005-01-28 2014-09-02 Hewlett-Packard Development Company, L.P. System for adjusting computer resources allocated for executing an application using a control plug-in
US8056082B2 (en) * 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
JP4853717B2 (ja) 2007-02-23 2012-01-11 日本電気株式会社 サーバ移行計画作成システム、サーバ移行計画作成方法
US8141090B1 (en) * 2007-04-24 2012-03-20 Hewlett-Packard Development Company, L.P. Automated model-based provisioning of resources
US8291411B2 (en) * 2007-05-21 2012-10-16 International Business Machines Corporation Dynamic placement of virtual machines for managing violations of service level agreements (SLAs)
US8751654B2 (en) * 2008-11-30 2014-06-10 Red Hat Israel, Ltd. Determining the graphic load of a virtual desktop
US8914511B1 (en) * 2009-06-26 2014-12-16 VMTurbo, Inc. Managing resources in virtualization systems
JP5378946B2 (ja) 2009-10-26 2013-12-25 株式会社日立製作所 サーバ管理装置およびサーバ管理方法
US8880679B2 (en) * 2009-12-07 2014-11-04 Oracle International Corporation Techniques for web server management
US8825791B2 (en) * 2010-11-24 2014-09-02 Red Hat, Inc. Managing subscribed resource in cloud network using variable or instantaneous consumption tracking periods
US9183030B2 (en) * 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
US9251032B2 (en) * 2011-11-03 2016-02-02 Fujitsu Limited Method, computer program, and information processing apparatus for analyzing performance of computer system
US8447851B1 (en) * 2011-11-10 2013-05-21 CopperEgg Corporation System for monitoring elastic cloud-based computing systems as a service
US9178763B2 (en) * 2013-03-13 2015-11-03 Hewlett-Packard Development Company, L.P. Weight-based collocation management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013822A (ja) * 2009-06-30 2011-01-20 Nec Corp 情報システム、制御装置、そのデータ処理方法およびプログラム
JP2011076470A (ja) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd 負荷管理装置、情報処理システムおよび負荷管理方法
WO2011118424A1 (ja) * 2010-03-25 2011-09-29 日本電気株式会社 マシン稼動計画作成装置、マシン稼動計画作成方法、及びマシン稼動計画作成用プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018504665A (ja) * 2014-12-19 2018-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 電力管理のための論理的にパーティション化された環境のイベント駆動型再最適化
CN112988389A (zh) * 2021-03-22 2021-06-18 成都卓拙科技有限公司 结合负载调节及周期性调节的自动伸缩方法及系统
CN112988389B (zh) * 2021-03-22 2023-08-11 成都卓拙科技有限公司 结合负载调节及周期性调节的自动伸缩方法及系统

Also Published As

Publication number Publication date
US20150234672A1 (en) 2015-08-20
JPWO2014045549A1 (ja) 2016-08-18
US9244718B2 (en) 2016-01-26

Similar Documents

Publication Publication Date Title
WO2014045549A1 (ja) マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法
US10127086B2 (en) Dynamic management of data stream processing
US11016808B2 (en) Multi-tenant license enforcement across job requests
US10754704B2 (en) Cluster load balancing based on assessment of future loading
US11010197B2 (en) Dynamic allocation of physical computing resources amongst virtual machines
US20100058350A1 (en) Framework for distribution of computer workloads based on real-time energy costs
US10333859B2 (en) Multi-tenant resource coordination method
US10228974B2 (en) Intelligent management of processing tasks on multi-tenant or other constrained data processing platform
Convolbo et al. GEODIS: towards the optimization of data locality-aware job scheduling in geo-distributed data centers
US10102490B2 (en) Optimization of workload placement
US10944814B1 (en) Independent resource scheduling for distributed data processing programs
JP2011186701A (ja) リソース割当装置、リソース割当方法、およびリソース割当プログラム
JP2012118669A (ja) 負荷分散処理システム及び負荷分散処理方法
JP5552343B2 (ja) 管理装置、管理方法およびプログラム
WO2012046386A1 (ja) サーバシステム、管理装置、サーバ管理方法、およびプログラム
Khan et al. Cloud computing: Issues and future direction
US10691653B1 (en) Intelligent data backfill and migration operations utilizing event processing architecture
US20050086665A1 (en) Autonomous device driver
Feldhaus et al. State‐of‐the‐Art Technologies for Large‐Scale Computing
JP6065843B2 (ja) サービスレベル管理装置、プログラム、及び、方法
JP2011070464A (ja) 計算機システム及び計算機システムの性能管理方法
US11381468B1 (en) Identifying correlated resource behaviors for resource allocation
CN113472638A (zh) 边缘网关控制方法及系统、装置、电子设备、存储介质
US20140215473A1 (en) Objectives of operations executing across environments
Afgan et al. Application Information Services for distributed computing environments

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: 13839944

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014536583

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14428875

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: 13839944

Country of ref document: EP

Kind code of ref document: A1