WO2013128836A1 - 仮想サーバ管理装置及び仮想サーバの移動先決定方法 - Google Patents

仮想サーバ管理装置及び仮想サーバの移動先決定方法 Download PDF

Info

Publication number
WO2013128836A1
WO2013128836A1 PCT/JP2013/000874 JP2013000874W WO2013128836A1 WO 2013128836 A1 WO2013128836 A1 WO 2013128836A1 JP 2013000874 W JP2013000874 W JP 2013000874W WO 2013128836 A1 WO2013128836 A1 WO 2013128836A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual server
resource
server
physical
servers
Prior art date
Application number
PCT/JP2013/000874
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 日本電気株式会社
Publication of WO2013128836A1 publication Critical patent/WO2013128836A1/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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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

Definitions

  • the present invention relates to a virtual server technology capable of operating a plurality of virtual servers on a plurality of physical servers.
  • virtual server technology has been realized in which a plurality of virtual servers (also referred to as virtual machines) are constructed on a single physical server by software, and a plurality of processes are simultaneously executed by the plurality of virtual servers.
  • a virtual server system capable of operating a plurality of virtual servers on a plurality of physical servers connected by a communication network can be constructed.
  • Patent Document 1 classifies a plurality of physical servers into a plurality of groups according to a predetermined index such as a load or an amount of free resources, and determines the number of units determined in advance for each group.
  • a method has been proposed in which a representative server is selected and a physical server that is a movement destination of a virtual server to be moved is determined from each representative server for each group.
  • the calculation time for determining the placement destination of the virtual server is reduced by reducing the number of physical servers that are migration destination candidates.
  • this proposed method performs the process of determining the migration destination from the representative server of each group for each virtual server, there is room for further improvement when the number of virtual servers to be migrated is large. ing.
  • the present invention has been made in view of such circumstances, and provides a technique for efficiently determining each physical server as a migration destination of each virtual server.
  • the first aspect relates to a virtual server management apparatus.
  • the virtual server management device includes an information acquisition unit that acquires resource information for each of a plurality of physical servers and a plurality of virtual servers, and a plurality of virtual servers, the plurality of virtual servers included in the resource information
  • a clustering unit for clustering into k-means clusters (k is an integer equal to or greater than 2) based on the resource load information of the virtual server, and the resource load of the virtual server to which the k-means cluster belongs, based on the resource load information of each virtual server
  • the physical server selected as the migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server among the plurality of virtual servers belongs is determined as the migration destination of the migration target virtual server.
  • the second aspect relates to a virtual server migration destination determination method.
  • the computer acquires resource information for each of the plurality of physical servers and the plurality of virtual servers, and the plurality of virtual servers are included in the plurality of virtual servers included in the resource information.
  • k-means clusters Clustered into k-means clusters (k is an integer of 2 or more) based on the resource load information of the server, and for each k-means cluster, the resource load of the virtual server to which it belongs, based on the resource load information of each virtual server
  • Each of the representative virtual server models having the maximum resource load is generated, and a physical server that can bear the maximum resource load of each representative virtual server model is selected from the plurality of physical servers based on the resource information on the plurality of physical servers.
  • a program that causes a computer to realize each configuration in the first aspect described above may be used, or a computer-readable recording medium that records such a program may be used.
  • This recording medium includes a non-transitory tangible medium.
  • the virtual server management device includes an information acquisition unit that acquires resource information for each of a plurality of physical servers and a plurality of virtual servers, and a plurality of virtual servers that are included in the resource information.
  • a clustering unit for clustering into k-means clusters (k is an integer equal to or greater than 2) based on the resource load information of the virtual server, and the resource load of the virtual server to which the k-means cluster belongs, based on the resource load information of each virtual server
  • the maximum virtual resource load of each representative virtual server model from among multiple physical servers based on the resource information on multiple physical servers and the generation unit that generates each representative virtual server model with the maximum resource load
  • Possible physical servers as migration destinations of each representative virtual server model The selection unit to be selected and the physical server selected as the migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server among the plurality of virtual servers belongs is determined as the migration destination of the migration target virtual server.
  • a plurality of virtual servers are clustered by the K-means method based on the resource load of each virtual server, and based on each resource load of a virtual server group belonging to each k-means cluster.
  • the physical server that is the migration destination of the migration target virtual server is determined from the plurality of physical servers.
  • a plurality of virtual servers are aggregated into the representative virtual server model of each k-means cluster, and by selecting a physical server that is a migration destination only for the aggregated representative virtual server model, The number of virtual server candidates to be moved is reduced. Thereby, according to this embodiment, the time spent for determination of the movement destination of a virtual server can be shortened.
  • the physical server that is the migration destination of each representative virtual server model can be determined in advance. In this way, in determining the destination of the virtual server to be moved, it is only necessary to specify the k-means cluster to which the virtual server belongs, so the destination of the virtual server can be determined efficiently. As a result, the time spent for determining the destination of the virtual server can be further reduced.
  • the representative virtual server model of each k-means cluster is generated as having the maximum resource load among the resource loads of the virtual servers belonging to each k-means cluster.
  • the physical server that can bear the resource load is selected as the migration destination of each representative virtual server model.
  • FIG. 1 is a diagram conceptually illustrating a configuration example of a virtual server system 1 in the first embodiment.
  • the virtual server system 1 in the first embodiment includes a plurality of physical servers 10 (# 1) to 10 (#m) (m is a positive integer), an autonomous control server 20, and the like.
  • the autonomous control server 20 corresponds to the virtual server management device in the above-described embodiment.
  • the plurality of physical servers 10 (# 1) to 10 (#m) are collectively referred to as physical servers 10 unless they need to be individually distinguished.
  • the physical server 10 and the autonomous control server 20 are so-called computers, and have, for example, a CPU (Central Processing Unit) 2, a memory 3, an input / output interface (I / F) 4 and the like connected to each other via a bus 5.
  • the memory 3 is a RAM (Random Access Memory), a ROM (Read Only Memory), a hard disk, a portable storage medium, or the like.
  • the input / output I / F 4 is connected to a communication device 7 that communicates with other devices via a communication network 9.
  • the input / output I / F 4 may be connected to a device that accepts an input of a user operation such as a keyboard or a mouse, or a device that provides information to the user such as a display device or a printer.
  • the hardware configurations of the physical server 10 and the autonomous control server 20 are not limited.
  • the plurality of physical servers 10 and the autonomous control server 20 are connected via a communication network 9 so that they can communicate with each other.
  • the communication network 9 is a public network such as the Internet, a WAN (Wide Area Network), a LAN (Local Area Network), a wireless communication network, or the like.
  • communication modes between the physical servers 10 and between the physical servers 10 and the autonomous control server 20 are not limited.
  • Each physical server 10 operates at least one virtual server. Thereby, a plurality of virtual servers are operated in the virtual server system 1.
  • virtual servers 15 (# 11) to 15 (# 1n) are operated on the physical server 10 (# 1) and virtual servers 15 (# m1) to 15 (#m) are operated on the physical server 10 (#m).
  • the state in which mn) is activated is shown.
  • the virtual servers 15 (# 11) to 15 (# 1n) and 15 (# m1) to 15 (#mn) are collectively referred to as the virtual server 15 unless they need to be individually distinguished.
  • the virtual server 15 is realized by executing a program stored in the memory 3 by the CPU 2 in the physical server 10.
  • the program may be installed from a portable recording medium such as a CD (Compact Disc) or a memory card or another computer on the network via the input / output I / F 4 and stored in the memory 3. Good.
  • a portable recording medium such as a CD (Compact Disc) or a memory card or another computer on the network via the input / output I / F 4 and stored in the memory 3. Good.
  • FIG. 2 is a diagram conceptually illustrating a processing configuration example of the autonomous control server 20 in the first embodiment.
  • the autonomous control server 20 includes a resource information acquisition unit 21, a resource information storage unit 22, a clustering unit 23, a generation unit 24, a selection unit 25, a movement destination determination unit 26, a movement processing unit 29, and the like.
  • Each of these processing units is realized by executing a program stored in the memory 3 by the CPU 2 in the autonomous control server 20. Further, the program may be installed from a portable recording medium such as a CD (Compact Disc) or a memory card or another computer on the network via the input / output I / F 4 and stored in the memory 3. Good.
  • a portable recording medium such as a CD (Compact Disc) or a memory card or another computer on the network via the input / output I / F 4 and stored in the memory 3. Good.
  • CD Compact Disc
  • the resource information acquisition unit 21 acquires resource information for each of the plurality of physical servers 10 and the plurality of virtual servers 15.
  • the resource information includes information indicating the resource load used by each physical server 10 and each virtual server 15 and information indicating the resource performance of each physical server 10.
  • the resource performance information of each physical server 10 may be acquired by prior measurement, measurement using benchmark software, or other methods.
  • the resource information is information that can distinguish each of a plurality of resource types.
  • resource types such as CPU 2, memory 3 (main storage, secondary storage such as a hard disk), communication device 7, graphic accelerator, etc. included in each physical server 10.
  • the resource information includes a CPU usage rate, a memory usage rate, a network I / O usage rate, a hard disk I / O usage rate, an input / output performance value of a recording medium (for example, input / output data transfer for the maximum data transfer rate) Speed ratio), input / output performance values (transmission speed, bandwidth used, etc.) of the communication control device.
  • the resource information acquisition unit 21 collects resource information of each physical server 10 and each virtual server 15 in a predetermined cycle so that other processing units can perform processing based on as new information as possible. Note that the resource performance information of each physical server 10 does not need to be collected periodically because there are few changes.
  • the resource information storage unit 22 stores the resource information collected by the resource information acquisition unit 21.
  • the clustering unit 23 clusters the plurality of virtual servers 15 into k-means clusters (k is an integer of 2 or more) based on the resource load information of a plurality of resource types included in the resource information acquired by the resource information acquisition unit 21. . Specifically, the k-means cluster is divided based on values obtained by integrating the resource load information of all resource types regarding each virtual server 15. This integration of resource load information is performed by, for example, normalizing the range of resource load values of each resource type from 0 to 100, and using the resource load information of each virtual server 15 as coordinate points of the number of resource types. This is done by calculating the center of gravity from the distance. Since the k-means method itself is a well-known technique, description thereof is omitted here.
  • the generation unit 24 generates a representative virtual server model for each k-means cluster based on the resource load information of each virtual server acquired by the resource information acquisition unit 21.
  • the generation unit 24 displays the representative virtual server model of each k-means cluster for each resource type in the resource load for each resource type of the virtual server 15 belonging to each k-means cluster. Generate as each with maximum resource load.
  • Virtual server 15 (# 11), (# 12), and (# 13) belong to the k-means cluster A, and each virtual server 15 has the following resource load. To do.
  • the generation unit 24 first identifies information indicating the maximum load for each resource type (CPU usage rate, memory usage rate, used communication bandwidth).
  • the CPU usage rate is that of the virtual server 15 (# 13)
  • the memory usage rate is that of the virtual server 15 (# 12)
  • the communication bandwidth used is that of the virtual server 15 (# 11).
  • the generation unit 24 generates a representative virtual server model having the following resource load for the k-means cluster A. Representative virtual server model: CPU usage rate (1.5%), memory usage rate (1.8%), used communication bandwidth (1Mbit / s)
  • the selection unit 25 compares the resource information of each physical server 10 stored in the resource information storage unit 22 with the resource load information of each representative virtual server model generated by the generation unit 24, so that a plurality of physical servers The physical server 10 that is the migration destination of each representative virtual server model is selected from among the ten virtual server models. At this time, the selection unit 25 selects a physical server that can bear all of the maximum resource load of each resource type of each representative virtual server model as the migration destination of each representative virtual server model. Here, whether each physical server 10 can bear all of the maximum resource load of each resource type of each representative virtual server model is determined based on the free resource information of each physical server 10. The free resource information is calculated, for example, by subtracting the resource load information of the physical server 10 from the resource performance information of the physical server 10.
  • the selection unit 25 includes information for specifying each k-means cluster, information for specifying the representative virtual server model of each k-means cluster, and information for specifying the physical server 10 to which the representative virtual server model is moved.
  • the associated list information may be generated.
  • the migration destination determination unit 26 identifies the k-means cluster to which the migration-target virtual server 15 belongs among the k-means clusters generated by the clustering unit 23, and represents the representative virtual server model of the identified k-means cluster.
  • the physical server 10 selected as the migration destination is determined as the migration destination of the migration target virtual server 15.
  • the resource load of the representative virtual server model is equal to or higher than the resource load of all the virtual servers 15 belonging to the corresponding k-means cluster for all resource types.
  • the selected physical server 10 does not run out of resources no matter which virtual server 15 in the k-means cluster is arranged.
  • the movement processing unit 29 moves the virtual server 15 to be moved to the physical server 10 determined by the movement destination determining unit 26.
  • description is abbreviate
  • FIG. 3 is a flowchart showing an operation example of the autonomous control server 20 in the first embodiment.
  • the autonomous control server 20 acquires resource information about each physical server 10 and each virtual server 15 (S31). The acquired resource information is stored in the resource information storage unit 22.
  • the autonomous control server 20 clusters a plurality of virtual servers 15 into k-means clusters (k is an integer of 2 or more) based on resource load information of a plurality of resource types of the plurality of virtual servers 15 included in the resource information ( S32).
  • the autonomous control server 20 generates a representative virtual server model for each k-means cluster based on the resource load information of each virtual server 15 (S33).
  • the representative virtual server model of each k-means cluster has the maximum resource load for each resource type among the resource loads for each resource type of the virtual server 15 belonging to each k-means cluster. Generated.
  • the autonomous control server 20 selects a physical server 10 that can bear all of the maximum resource load of each resource type of each representative virtual server model from among the plurality of physical servers 10 based on the resource information regarding the plurality of physical servers 10. , Each of the representative virtual server models is selected as a migration destination (S34).
  • the autonomous control server 20 specifies the k-means cluster to which the movement target virtual server 15 belongs, and is selected as the destination of the representative virtual server model of this k-means cluster.
  • the physical server 10 is determined as the movement destination of the movement target virtual server 15 (S35).
  • the autonomous control server 20 moves the virtual server 15 to be moved to the destination physical server 10 determined in (S35) (S36).
  • the processing steps are arranged in order, but the steps (S31) to (S34) may be executed in order at the execution timing of the step (S31). Further, the step (S31) and the steps (S32) to (S34) may be executed at different periods. Similarly, the step (S35) and the step (S36) may be executed asynchronously with other steps.
  • a plurality of virtual servers 15 are classified into k-means clusters based on resource information of a plurality of resource types, and a representative virtual server model of each k-means cluster is assigned to each k-means cluster. It is generated as having a maximum resource load for each resource type in the resource load information of the virtual server 15 belonging to the means cluster. Then, a physical server that can bear all of the maximum resource load of each resource type of each representative virtual server model is selected as the migration destination of each representative virtual server model, and based on this, the virtual server 15 to be migrated is selected. The destination is determined.
  • the first embodiment has the following further effect. That is, in the first embodiment, since the migration destination of the virtual server 15 to be moved is determined in consideration of the resource load and resource performance of a plurality of resource types, the movement of the virtual server 15 according to the determination causes The possibility of resource shortage occurring in the physical server 10 at the movement destination can be further reduced.
  • any one of the candidate physical servers 10 may be determined as the migration destination of the migration target virtual server 15.
  • the second embodiment when a plurality of candidate physical servers 10 are selected for the representative virtual server model by the selection unit 25, the amount of free resources after moving the virtual server 15 to be moved is determined.
  • the physical server 10 that is the smallest is determined as the migration destination of the migration target virtual server.
  • FIG. 4 is a diagram conceptually illustrating a processing configuration example of the autonomous control server 20 in the second embodiment.
  • the autonomous control server 20 in the second embodiment further includes an error calculation unit 41 in addition to the configuration of the first embodiment.
  • the error calculation unit 41 has a free space after moving the virtual server 15 to be moved for each candidate physical server 10.
  • Each resource amount is calculated as an error.
  • the error calculated here is calculated as a value obtained by integrating free resource amounts for each resource type.
  • the integration of the free resource amounts is performed, for example, by summing the product of the value indicating the free resource amount of each resource type and the coefficient determined for each resource type for all resource types.
  • the free resource amount of each resource type is acquired from the resource information of the physical server 10 stored in the resource information storage unit 22.
  • the migration destination determination unit 26 selects a physical server 10 having the above-described minimum error among the plurality of physical servers 10 selected by the selection unit 25 as the migration destination of each representative virtual server model. Decide on the destination.
  • FIG. 5 is a flowchart showing an operation example of the autonomous control server 20 in the second embodiment. Steps (S51) to (54) in FIG. 5 are the same as those in the first embodiment (steps (S31) to (S34) in FIG. 3), and thus description thereof is omitted here.
  • the autonomous control server 20 specifies the k-means cluster to which the movement target virtual server 15 belongs (S55). Subsequently, the autonomous control server 20 determines whether or not there are a plurality of physical servers 10 selected in the step (S54) as the migration destination of the representative virtual server model of the identified k-means cluster (S56). . When there is only one physical server 10 (S56; NO), the autonomous control server 20 is the physical server 10 selected as the migration destination of the representative virtual server model of the k-means cluster, as in the first embodiment. Is determined as the movement destination of the movement target virtual server 15 (S59).
  • the autonomous control server 20 determines the free resource amount after the movement target virtual server 15 has moved for each selected physical server 10. Each is calculated as an error (S57). Then, the autonomous control server 20 determines the physical server 10 with the smallest error as the movement destination of the representative virtual server model of the identified k-means cluster (S58).
  • the autonomous control server 20 determines the physical server 10 determined as the migration destination of the representative virtual server model of the k-means cluster as the migration destination of the migration target virtual server 15 ( In S59, the movement target virtual server 15 is moved to the virtual server 15 (S60).
  • the free resource amount (error) after moving the virtual server 15 to be moved is the smallest among them.
  • the physical server 10 to be moved is determined as the movement destination of the movement target virtual server.
  • the amount of free resources after the virtual server 15 is moved is small. Since the smallest physical server 10 is selected, it is possible to reduce the generation of useless free resources.
  • the migration target virtual server 15 when the selection unit 25 selects a plurality of physical servers 10 that are candidates for the representative virtual server model, the migration target virtual server 15 based on the history information of the resource load is moved from among them.
  • the physical server 10 having the smallest time accumulated value of the free resource amount later is determined as the movement destination of the movement target virtual server.
  • the third embodiment will be described focusing on the content different from the first embodiment and the second embodiment, and the same content as the first embodiment and the second embodiment will be omitted as appropriate.
  • the processing configuration of the autonomous control server 20 in the third embodiment is the same as that of the second embodiment shown in the example of FIG. 4, and the contents of the following processing units are different from those of the second embodiment.
  • the resource information storage unit 22 stores the resource history information for each physical server 10 and each virtual server 15 by sequentially storing the resource information acquired by the resource information acquisition unit 21.
  • the resource history information is time-series data in which time-series information is added to information indicating the resource load and resource performance for each resource type.
  • the error calculation unit 41 has a free space after moving the virtual server 15 to be moved for each candidate physical server 10.
  • the integrated value of the resource amount for a predetermined period is calculated as an error.
  • the accumulated value of the free resource amount for a predetermined period includes the resource performance value of the physical server 10 stored in the resource information storage unit 22, the resource load history data of the physical server 10, and the resource load history data of the virtual server 15 to be moved. Is calculated using The predetermined period may be stored in the memory 3 in advance, may be input via an input device (not shown), or may be acquired from another device via the communication device 7.
  • the autonomous control server 20 operates as follows.
  • the autonomous control server 20 extracts resource history information of each selected physical server 10 and movement target virtual server 15 from the resource information storage unit 22. To do. Then, based on the extracted resource history information, the autonomous control server 20 adds, for each selected physical server 10, the accumulated value of the free resource amount after moving the virtual server 15 to be moved for a predetermined period. Are respectively calculated as errors.
  • the integrated value of the free resource amount of the physical server 10 after moving the migration target virtual server 15 for a predetermined period is calculated as an error, and the physical server 10 with the minimum error is the migration target virtual server 15. It is decided to move to.
  • the physical server 10 having the minimum amount of free resources in a predetermined period is determined as the destination in consideration of the temporal trend of the resource load of the virtual server 15 to be moved. Further reduction can be achieved.
  • the error calculation unit 41 assumes that the representative virtual server model has moved for each candidate physical server 10.
  • the free resource amount after the movement is calculated as a first error
  • the free resource amount after moving the virtual server 15 to be moved is calculated as a second error for each candidate physical server 10.
  • the first error is calculated by subtracting the resource load information of the representative virtual server model from the resource performance information of the physical server 10 stored in the resource information storage unit 22.
  • FIGS. 6A and 6B are flowcharts showing an example of the operation of the autonomous control server 20 in the fourth embodiment.
  • the method in the fourth embodiment is the same as the example in FIG. 5 except for the steps (S57) and (S58) in the second and third embodiments shown in the example of FIG. That is, steps (S61) to (S66) shown in FIG. 6A are the same as steps (S51) to (S56) shown in FIG. 5, and steps (S68) and (S69) shown in FIG. These are the same as step (59) and step (S60) shown in FIG.
  • the autonomous control server 20 When there are a plurality of physical servers 10 selected in the step (S64) as the migration destination of the representative virtual server model of the identified k-means cluster (S66; YES), the autonomous control server 20 operates as follows. . The autonomous control server 20 first sets the free resource amount after the movement when the representative virtual server model of the identified k-means cluster has moved for each selected physical server 10 to the first Each is calculated as an error (S70).
  • the autonomous control server 20 sorts the list of physical servers 10 selected as the movement destinations in ascending order of the first error (S71).
  • the autonomous control server 20 calculates, as a second error, the free resource amount after the movement target virtual server has moved for each physical server 10 in the list (S72).
  • the autonomous control server 20 further sorts the list in ascending order of the second error (S73).
  • the autonomous control server 20 determines the virtual server 15 located at the top of the list as the migration destination of the representative virtual server model of the identified k-means cluster (S74).
  • the list of the physical servers 10 is represented by the representative virtual server model. Sorted in ascending order of the free resource amount (first error) after the movement, and subsequently sorted in ascending order of the free resource amount (second error) after the movement-target virtual server 15 is moved. Then, the top physical server 10 of the sorted list is determined as the migration destination of the representative virtual server model of the identified k-means cluster.
  • candidates for the movement destination are determined and determined in two stages of the first error and the second error, so that the generation of unauthorized resources can be further reduced.
  • the physical server 10 that has the smallest free resource amount after moving the virtual server 15 or the representative virtual server model to be moved is selected.
  • the selection criterion is switched by policy information set in the autonomous control server 20.
  • a configuration obtained by adding a new configuration to the fourth embodiment will be described as a fifth embodiment, and the fifth embodiment will be described focusing on the content different from the fourth embodiment, and the same content as the fourth embodiment will be appropriately described. Omitted.
  • the new configuration added as the fifth embodiment may be added to the second embodiment or the third embodiment.
  • FIG. 7 is a diagram conceptually illustrating a processing configuration example of the autonomous control server 20 in the fifth embodiment.
  • the autonomous control server 20 in the fifth embodiment further includes a policy information storage unit 71 in addition to the configuration of the fourth embodiment.
  • the policy information storage unit 71 determines the migration destination physical server 10 from the plurality of physical servers 10. Stores policy information indicating a criterion to be selected. This policy information can also be referred to as a destination selection policy. For example, performance priority or stuffing priority is set in this policy information.
  • the policy information may be stored in advance in the policy information storage unit 71 when the virtual server system 1 is activated, or may be set and changed by a user operation via a user interface.
  • the migration destination determination unit 26 selects policy information from the policy information storage unit 71 when there are a plurality of physical servers 10 selected as the migration destinations of the representative virtual server model of the identified k-means cluster, and this policy information
  • the migration destination is determined from the plurality of physical servers 10 in accordance with the criteria indicated by. Specifically, when the policy information indicates the performance priority, the movement destination determination unit 26 sorts the list of the physical servers 10 in descending order of the first error and the second error, and the policy information indicates the packing priority. In this case, the list of physical servers 10 is sorted in ascending order of the first error and the second error.
  • FIG. 8 is a flowchart showing an operation example of the autonomous control server 20 in the fifth embodiment.
  • the step shown in FIG. 6B of the method according to the fourth embodiment is replaced with the step shown in FIG. That is, the process shown in FIG. 6A is common to the fourth embodiment and the fifth embodiment.
  • the autonomous control server 20 When there are a plurality of physical servers 10 selected in the step (S64) as the migration destination of the representative virtual server model of the identified k-means cluster (S66; YES), the autonomous control server 20 operates as follows. . First, the autonomous control server 20 acquires policy information from the policy information storage unit 71 (S81). Subsequently, the autonomous control server 20 determines the free resource amount after the movement when it is assumed that the representative virtual server model of the identified k-means cluster has moved for each selected physical server 10. Each is calculated as one error (S82).
  • the autonomous control server 20 sorts the list of physical servers 10 selected as the movement destination according to the policy information based on the first error (S83). Thereby, when the policy information indicates the performance priority, the list of the physical servers 10 is sorted in descending order of the first error, and when the policy information indicates the stuffing priority, the physical servers are sorted in the order of the small first error. Ten lists are sorted.
  • the autonomous control server 20 calculates the free resource amount after the movement target virtual server has moved for each physical server 10 in the list as a second error (S84).
  • the autonomous control server 20 further sorts the list according to the policy information based on the second error (S85). As a result, when the policy information indicates performance priority, the list of the physical servers 10 is further sorted in descending order of the second error. When the policy information indicates stuffing priority, the physical information is displayed in ascending order of the second error. The list of servers 10 is further sorted.
  • the autonomous control server 20 determines the virtual server 15 located at the top of the list as the migration destination of the representative virtual server model of the identified k-means cluster (S86).
  • the policy is designated from the plurality of physical servers 10.
  • the destination physical server 10 is determined according to the selected selection criteria.
  • the destination physical server 10 is selected so that the probability of the physical server 10 being overloaded is below a predetermined value.
  • the sixth embodiment will be described with a focus on the content different from the first embodiment, and the same content as the first embodiment will be omitted as appropriate.
  • the configuration of the sixth embodiment can be combined with any of the second to fifth embodiments.
  • FIG. 9 is a diagram conceptually illustrating a processing configuration example of the autonomous control server 20 in the sixth embodiment.
  • the generation unit 24 includes an inclusion probability distribution calculation unit 91
  • the selection unit 25 includes a probability distribution calculation unit 92 and an overload probability calculation unit 93. including.
  • the resource information storage unit 22 stores the resource history information for each physical server 10 and each virtual server 15 by sequentially storing the resource information acquired by the resource information acquisition unit 21.
  • the resource history information is as described in the third embodiment.
  • the generation unit 24 includes the probability distribution of the load of all virtual servers in each k-means cluster with respect to each k-means cluster from the resource load information at a certain point in time included in the resource history information regarding each virtual server.
  • Each representative virtual server model having a probability distribution is generated.
  • the inclusion probability distribution calculation unit 91 relates to all the virtual servers 15 included in the k-means cluster, from the resource load history data of each virtual server 15 acquired from the resource information storage unit 22, the resource for each virtual server 15. Generate a histogram of each load.
  • the inclusion probability distribution calculation unit 91 calculates a probability distribution including the resource loads of all virtual servers 15 in the k-means cluster (the inclusion probability distribution) from the histogram.
  • the generation unit 24 generates a representative virtual server model having an inclusion probability distribution calculated by the inclusion probability distribution calculation unit 91.
  • FIG. 10A is a diagram showing the inclusion probability distribution of the first to (i ⁇ 1) th virtual servers 15 in a certain k-means cluster
  • FIG. 10B shows the probability distribution of the i-th virtual server 15.
  • FIG. 10C is a diagram illustrating an inclusion probability distribution of the first to i-th virtual servers 15. 10A, 10B, and 10C, the horizontal axis U indicates the resource usage rate, and the vertical axis P indicates the probability.
  • the probability A1 and the probability A1 ′ of the section (75 to 100) of the resource usage rate U are compared, the probability A1 is larger than the probability A1 ′. Therefore, the value (20) of the probability A1 is set to the inclusion probability A1 '' of the section (75 to 100).
  • the probability A2 and the probability A2 ′ of the section (50 to 100) of the resource usage rate U are compared, the probability A2 ′ is larger than the probability A2. Therefore, the value (15) obtained by subtracting the allocated inclusion probability A1 ′′ from the probability A2 ′ is set as the inclusion probability in the section (50 to 75) of the resource usage rate U. Similarly, the probability A3 and the probability A3 ′ are compared, and a value (45) obtained by subtracting the already included allocation probability A2 ′′ from the larger probability A3 is an interval (from 25 50) inclusion probability.
  • the inclusion probability distribution of the first to i-th virtual servers 15 finally obtained is as shown in FIG. 10C.
  • the inclusion probability distribution of the representative virtual server model is a probability distribution obtained as a result of repeating the above procedure up to the nth virtual server 15. Since the inclusion probability distribution of the representative virtual server model indicates a probability distribution of a load that is greater than or equal to the load of any virtual server 15 in each k-means cluster, the representative virtual server having such an inclusion probability distribution
  • a physical server that can store a model can stochastically store any virtual server in each k-means cluster.
  • the probability distribution calculation unit 92 calculates the probability distribution of the resource load of all the virtual servers 15 operating on each physical server 10. Specifically, the probability distribution calculation unit 92 obtains the resource load history data of all the virtual servers 15 operating on each physical server 10 from the resource information storage unit 22, and the resource for each physical server 10. A load histogram is generated, and the probability distribution of each physical server 10 is calculated from each histogram.
  • the overload probability calculation unit 93 is based on the inclusion probability distribution of each representative virtual server model calculated by the inclusion probability distribution calculation unit 91 and the probability distribution of each physical server 10 calculated by the probability distribution calculation unit 92.
  • the overload probability of each physical server 10 indicating the probability that the resource load of the physical server 10 after moving the representative virtual server model exceeds the predetermined load upper limit value is calculated for each representative virtual server model.
  • the selection unit 25 selects a physical server that is a migration destination of each representative virtual server model based on the overload probability of each physical server 10 calculated for each representative virtual server model by the overload probability calculation unit 93. For example, the selection unit 25 selects the physical server 10 that is lower than a predetermined threshold and has the highest overload probability as the migration destination of the representative virtual server model. Further, the selection unit 25 may select the physical server 10 having the lowest overload probability as the migration destination of the representative virtual server model.
  • FIG. 11 is a flowchart showing an operation example of the autonomous control server 20 in the sixth embodiment.
  • the resource information storage unit 22 stores resource history information for each physical server and each virtual server.
  • the autonomous control server 20 acquires resource history information for each physical server and each virtual server from the resource information storage unit 22 (S101).
  • the autonomous control server 20 clusters a plurality of virtual servers 15 into k-means clusters (k is an integer of 2 or more) based on resource load information of a plurality of resource types of the plurality of virtual servers 15 included in the resource information ( S102).
  • the autonomous control server 20 relates to all the virtual servers 15 included in each k-means cluster, based on the resource load history data of each virtual server 15, of all the virtual servers 15 in each k-means cluster. An inclusion probability distribution including the resource load is calculated.
  • the autonomous control server 20 generates a representative virtual server model having an inclusion probability distribution for each k-means cluster (S103).
  • the autonomous control server 20 calculates the probability distribution of the resource load of all the virtual servers 15 operating on each physical server 10 (S104).
  • the autonomous control server 20 determines each representative virtual server model based on the inclusion probability distribution of the representative virtual server model calculated in (S103) and the probability distribution of each physical server 10 calculated in (S104). When it is assumed that the representative virtual server model is moved on each physical server 10, the overload probability of each physical server 10 after the movement is calculated (S105).
  • the autonomous control server 20 selects the movement destination of each representative virtual server model from the plurality of physical servers 10 based on the overload probability of each physical server 10 calculated in (S105).
  • Each physical server 10 is selected (S106).
  • the autonomous control server 20 sorts the list of physical servers 10 with the overload probability calculated in (S105) lower than a predetermined threshold with respect to each representative virtual server model in descending order of the overload probability, and is positioned at the top of the list.
  • the physical server 10 to be selected is selected as the physical server to be moved. By sorting in descending order of the overload probability, wasteful resources can be reduced and loads can be aggregated.
  • a process (S107) and a process (S108) are the same as the process (S35) and process (S36) of FIG. 3 which show the method of 1st Embodiment.
  • the representative virtual server model of each k-means cluster is generated as having an inclusion probability distribution including the resource load probability distribution of all the virtual servers 15 to which the k-means cluster belongs.
  • the overload probability of each physical server 10 after the movement is calculated. Then, based on the overload probability, the physical server 10 that is the migration destination of each representative virtual server model is selected.
  • the resource load of the physical server 10 exceeds the predetermined load upper limit value also in the migration destination determination method of the virtual server 15 using the representative virtual server model in which a plurality of virtual servers 15 are aggregated.
  • the physical server 10 to which the virtual server 15 is moved can be selected so that the overload probability indicating the probability is lower than a predetermined value.
  • An information acquisition unit for acquiring resource information for each of a plurality of physical servers and a plurality of virtual servers;
  • a clustering unit that clusters the plurality of virtual servers into k-means clusters (k is an integer of 2 or more) based on resource load information of the plurality of virtual servers included in the resource information;
  • a generating unit that generates a representative virtual server model having a maximum resource load among the resource loads of the virtual server to which the k-means cluster belongs, based on the resource load information of each virtual server;
  • a physical server that can bear the maximum resource load of each representative virtual server model is selected from among the plurality of physical servers as a destination of each representative virtual server model.
  • the information acquisition unit acquires resource information regarding each of a plurality of resource types for each of the plurality of physical servers and the plurality of virtual servers,
  • the clustering unit clusters the plurality of virtual servers into a k-means cluster (k is an integer of 2 or more) based on the resource load information of the plurality of resource types included in the resource information;
  • the generation unit determines the representative virtual server model of each k-means cluster as a maximum resource load for each resource type among resource loads for each resource type of a virtual server belonging to each k-means cluster.
  • the selection unit selects a physical server that can bear all of the maximum resource load of each resource type of each representative virtual server model from among the plurality of physical servers as a migration destination of each representative virtual server model.
  • the virtual server management device according to attachment 1.
  • the migration destination determination unit moves the migration target virtual server among a plurality of physical servers selected by the selection unit as a migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server belongs. If a physical server that satisfies at least one of the condition that the amount of free resources after minimizing and the condition that the amount of free resources after migrating the representative virtual server model is minimum is moved, Decide first, The virtual server management device according to appendix 1 or 2.
  • a resource information storage unit that stores resource history information for each of the plurality of physical servers and the plurality of virtual servers based on the resource information acquired by the information acquisition unit;
  • the migration destination determination unit is configured to select a resource based on the resource history information among a plurality of physical servers selected by the selection unit as a migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server belongs.
  • At least one of the condition that the accumulated value of the free resource amount after moving the migration target virtual server for the predetermined period is minimum and the condition that the free resource amount after moving the representative virtual server model is minimum
  • the virtual server management device according to appendix 1 or 2.
  • a policy storage unit for storing a destination selection policy of the migration target virtual server;
  • the destination determination unit uses the condition as to whether or not a value calculated for at least one of the movement target virtual server and the representative virtual server model after the movement matches the movement destination selection policy.
  • the virtual server management device according to appendix 3 or 4.
  • a resource information storage unit that stores resource history information for each of the plurality of physical servers and the plurality of virtual servers based on the resource information acquired by the information acquisition unit;
  • the generator generates a probability distribution of loads of all virtual servers in each k-means cluster with respect to each k-means cluster from resource load information at a certain point in time included in the resource history information regarding each virtual server.
  • Each of the representative virtual server models having an inclusion probability distribution including The selection unit includes: From the resource history information of each virtual server on each physical server, with respect to each physical server, a probability distribution calculation unit that calculates the probability distribution of the resource load of the virtual server, Based on the inclusion probability distribution of each representative virtual server model and the probability distribution of each physical server, the resource load of the physical server after moving the representative virtual server model exceeds a predetermined load upper limit value An overload probability calculation unit for calculating an overload probability of each physical server indicating a probability with respect to each representative virtual server model; Including Based on the overload probability of each physical server calculated for each representative virtual server model, select a physical server that is the migration destination of each representative virtual server model; The virtual server management device according to appendix 1 or 2.
  • (Appendix 7) Computer Obtain resource information for each of multiple physical servers and multiple virtual servers, Clustering the plurality of virtual servers into a k-means cluster (k is an integer of 2 or more) based on resource load information of the plurality of virtual servers included in the resource information; Based on the resource load information of each virtual server, for each k-means cluster, a representative virtual server model having the maximum resource load among the resource loads of the virtual server to which it belongs is generated, Based on the resource information about the plurality of physical servers, a physical server that can bear the maximum resource load of each representative virtual server model is selected from among the plurality of physical servers as a destination of each representative virtual server model.
  • the acquired resource information includes resource information regarding each of a plurality of resource types
  • the plurality of virtual servers are clustered into k-means clusters (k is an integer of 2 or more) based on resource load information of the plurality of resource types included in the resource information
  • the generation of the representative virtual server model is performed by using the representative virtual server model of each k-means cluster for each resource type in the resource load for each resource type of the virtual server belonging to each k-means cluster.
  • Selection of the migration destination of the representative virtual server model is performed by selecting a physical server that can bear all of the maximum resource load of each resource type of each representative virtual server model from among the plurality of physical servers. Select each as the model destination, The virtual server migration destination determination method according to attachment 7.
  • the migration destination of the migration target virtual server is determined by selecting the migration among the plurality of physical servers selected by the selection unit as the migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server belongs. Move a physical server that satisfies at least one of the condition that the amount of free resources after moving the target virtual server is minimum and the condition that the amount of free resources after moving the representative virtual server model is minimum Determine the destination of the target virtual server.
  • the virtual server migration destination determination method according to appendix 7 or 8.
  • the computer is Based on the acquired resource information, resource history information is stored in a resource information storage unit for each of the plurality of physical servers and the plurality of virtual servers, Further including The migration destination of the migration target virtual server is determined by selecting the resource among the plurality of physical servers selected by the selection unit as the migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server belongs.
  • the condition that the accumulated value of the free resource amount after moving the migration target virtual server based on the history information for a predetermined period is the minimum, and the free resource amount after moving the representative virtual server model is the minimum
  • a physical server that satisfies at least one of the conditions is determined as a migration destination of the migration target virtual server;
  • the computer is Based on the acquired resource information, resource history information is stored in a resource information storage unit for each of the plurality of physical servers and the plurality of virtual servers, From the resource load information at a certain time point included in the resource history information regarding each virtual server, the inclusion probability including the probability distribution of the loads of all virtual servers in each k-means cluster with respect to each k-means cluster Calculate the distribution, For each k-means cluster, generate the representative virtual server model having the inclusion probability distribution, From the resource history information of each virtual server on each physical server, for each physical server, calculate the probability distribution of the resource load of the virtual server, Based on the inclusion probability distribution of each representative virtual server model and the probability distribution of each physical server, the resource load of the physical server after moving the representative virtual server model exceeds a predetermined load upper limit value Calculating an overload probability of each physical server indicating a probability with respect to each representative virtual server model, Further including The selection of the migration destination of the representative virtual server model selects a physical server that is the migration destination of each representative virtual server
  • An information acquisition unit for acquiring resource information for each of a plurality of physical servers and a plurality of virtual servers;
  • a clustering unit that clusters the plurality of virtual servers into k-means clusters (k is an integer of 2 or more) based on resource load information of the plurality of virtual servers included in the resource information;
  • a generating unit that generates a representative virtual server model having a maximum resource load among the resource loads of the virtual server to which the k-means cluster belongs, based on the resource load information of each virtual server;
  • a physical server that can bear the maximum resource load of each representative virtual server model is selected from among the plurality of physical servers as a destination of each representative virtual server model.
  • a selection unit to select each as Determining the destination to which the physical server selected as the migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server of the plurality of virtual servers belongs is determined as the migration destination of the migration target virtual server And A program that makes a computer realize.
  • the information acquisition unit acquires resource information about each of a plurality of resource types for each of a plurality of physical servers and a plurality of virtual servers,
  • the clustering unit clusters the plurality of virtual servers into a k-means cluster (k is an integer of 2 or more) based on the resource load information of the plurality of resource types included in the resource information;
  • the generation unit determines the representative virtual server model of each k-means cluster as a maximum resource load for each resource type among resource loads for each resource type of a virtual server belonging to each k-means cluster.
  • the selection unit selects a physical server that can bear all of the maximum resource load of each resource type of each representative virtual server model from among the plurality of physical servers as a migration destination of each representative virtual server model.
  • the migration destination determination unit moves the migration target virtual server among a plurality of physical servers selected by the selection unit as a migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server belongs. If a physical server that satisfies at least one of the condition that the amount of free resources after minimizing and the condition that the amount of free resources after migrating the representative virtual server model is minimum is moved, Decide first, The program according to appendix 13 or 14.
  • the migration destination determination unit is configured to select a resource based on the resource history information among a plurality of physical servers selected by the selection unit as a migration destination of the representative virtual server model of the k-means cluster to which the migration target virtual server belongs.
  • At least one of the condition that the accumulated value of the free resource amount after moving the migration target virtual server for the predetermined period is minimum and the condition that the free resource amount after moving the representative virtual server model is minimum Determining a physical server that satisfies the migration destination of the migration target virtual server; The program according to appendix 13 or 14.
  • a policy storage unit for storing a destination selection policy of the migration target virtual server;
  • the migration destination determination unit uses the condition as to whether or not a value calculated regarding the migration of at least one of the migration target virtual server and the representative virtual server model matches the migration destination selection policy.
  • Each of the representative virtual server models having an inclusion probability distribution including
  • the selection unit includes: From the resource history information of each virtual server on each physical server, with respect to each physical server, a probability distribution calculation unit that calculates the probability distribution of the resource load of the virtual server, Based on the inclusion probability distribution of each representative virtual server model and the probability distribution of each physical server, the resource load of the physical server after moving the representative virtual server model exceeds a predetermined load upper limit value An overload probability calculation unit for calculating an overload probability of each physical server indicating a probability with respect to each representative virtual server model; Including Based on the overload probability of each physical server calculated for each representative virtual server model, select a physical server that is the migration destination of each representative virtual server model; The program according to appendix 13 or 14.
  • a recording medium for recording the program described in any one of appendices 13 to 18 in a computer-readable manner is described in any one of appendices 13 to 18 in a computer-readable manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 仮想サーバ管理装置は、リソース情報を取得する取得部と、複数の仮想サーバを複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタにクラスタリングするクラスタリング部と、各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、複数の物理サーバの中から、各代表仮想サーバモデルの最大リソース負荷を負担し得る物理サーバを、各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、複数の仮想サーバの中の移動対象仮想サーバが属するk-meansクラスタの代表仮想サーバモデルの移動先として選択された物理サーバを、その移動対象仮想サーバの移動先に決定する決定部と、を備える。

Description

仮想サーバ管理装置及び仮想サーバの移動先決定方法
 本発明は、複数の物理サーバ上で複数の仮想サーバを稼動させ得る仮想サーバ技術に関する。
 近年、1台の物理サーバ上にソフトウェアによって複数の仮想サーバ(仮想マシンとも呼ばれる)を構築し、それら複数の仮想サーバで複数の処理を同時に実行するための仮想サーバ技術が実現されている。仮想サーバ技術によれば、通信網によって接続された複数の物理サーバ上で複数の仮想サーバを稼動させ得る仮想サーバシステムを構築することが可能となる。
 このような仮想サーバシステムでは、各仮想サーバに関し、その配置先となる物理サーバがそれぞれ決定される。ところが、仮想サーバや物理サーバの台数が多い場合、各仮想サーバの配置先の決定にかかる計算時間が多大になる可能性がある。このような問題点を解決するために、下記特許文献1には、複数の物理サーバをその負荷や空きリソース量などの所定指標にしたがって複数のグループに分類し、グループ毎に予め決められた台数の代表サーバを選択し、グループ毎の各代表サーバから移動対象の仮想サーバの移動先の物理サーバを決定する手法が提案されている。
国際公開第2010/024027号
 上述の提案手法では、移動先の候補となる物理サーバの数を減らすことにより、仮想サーバの配置先の決定にかかる計算時間を軽減させている。しかしながら、この提案手法は、各仮想サーバについて各グループの代表サーバから移動先を決定する処理をそれぞれ実施するため、移動対象となる仮想サーバの数が多数の場合には更なる改善の余地を残している。
 本発明は、このような事情に鑑みてなされたものであり、各仮想サーバの移動先となる各物理サーバを効率的に決定する技術を提供する。
 本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
 第1の態様は、仮想サーバ管理装置に関する。第1態様に係る仮想サーバ管理装置は、複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得する情報取得部と、複数の仮想サーバを、当該リソース情報に含まれる複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングするクラスタリング部と、各仮想サーバのリソース負荷情報に基づいて、各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、複数の物理サーバに関するリソース情報に基づいて、複数の物理サーバの中から、各代表仮想サーバモデルの最大リソース負荷を負担し得る物理サーバを、各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、複数の仮想サーバの中の移動対象仮想サーバが属するk-meansクラスタの代表仮想サーバモデルの移動先として選択された物理サーバを、その移動対象仮想サーバの移動先に決定する移動先決定部と、を備える。
 第2の態様は、仮想サーバの移動先決定方法に関する。第2態様に係る仮想サーバの移動先決定方法は、コンピュータが、複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得し、複数の仮想サーバを、リソース情報に含まれる複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、各仮想サーバのリソース負荷情報に基づいて、各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成し、複数の物理サーバに関するリソース情報に基づいて、複数の物理サーバの中から、各代表仮想サーバモデルの最大リソース負荷を負担し得る物理サーバを、各代表仮想サーバモデルの移動先としてそれぞれ選択し、複数の仮想サーバの中の移動対象仮想サーバが属するk-meansクラスタの代表仮想サーバモデルの移動先として選択された物理サーバを、移動対象仮想サーバの移動先に決定する、ことを含む。
 なお、本発明の他の態様としては、上述の第1態様における各構成をコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
 上記各態様によれば、各仮想サーバの適切な移動先となる各物理サーバを効率的に決定する技術を提供することができる。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
第1実施形態における仮想サーバシステムの構成例を概念的に示す図である。 第1実施形態における自律制御サーバの処理構成例を概念的に示す図である。 第1実施形態における自律制御サーバの動作例を示すフローチャートである。 第2実施形態における自律制御サーバの処理構成例を概念的に示す図である。 第2実施形態における自律制御サーバの動作例を示すフローチャートである。 第4実施形態における自律制御サーバの動作例を示すフローチャートである。 第4実施形態における自律制御サーバの動作例を示すフローチャートである。 第5実施形態における自律制御サーバの処理構成例を概念的に示す図である。 第5実施形態における自律制御サーバの動作例を示すフローチャートである。 第6実施形態における自律制御サーバの処理構成例を概念的に示す図である。 或るk-meansクラスタにおける1番目から(i-1)番目までの仮想サーバの包含確率分布を示す図である。 i番目の仮想サーバの確率分布を示す図である。 1番目からi番目までの仮想サーバの包含確率分布を示す図である。 第6実施形態における自律制御サーバの動作例を示すフローチャートである。
 以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
 本実施形態に係る仮想サーバ管理装置は、複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得する情報取得部と、複数の仮想サーバを、当該リソース情報に含まれる複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングするクラスタリング部と、各仮想サーバのリソース負荷情報に基づいて、各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、複数の物理サーバに関するリソース情報に基づいて、複数の物理サーバの中から、各代表仮想サーバモデルの最大リソース負荷を負担し得る物理サーバを、各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、複数の仮想サーバの中の移動対象仮想サーバが属するk-meansクラスタの代表仮想サーバモデルの移動先として選択された物理サーバを、その移動対象仮想サーバの移動先に決定する移動先決定部と、を備える。
 本実施形態では、複数の仮想サーバが、各仮想サーバのリソース負荷を基準とするK平均(k-means)法でクラスタリングされ、各k-meansクラスタに所属する仮想サーバ群の各リソース負荷に基づいて生成される各k-meansクラスタの代表仮想サーバモデルを用いて、複数の物理サーバの中から、移動対象の仮想サーバの移動先となる物理サーバが決定される。このように、本実施形態では、複数の仮想サーバを各k-meansクラスタの代表仮想サーバモデルに集約し、集約された代表仮想サーバモデルに対してのみ移動先の物理サーバを選択することにより、移動対象の仮想サーバの候補の数を減らしている。これにより、本実施形態によれば、仮想サーバの移動先の決定に費やされる時間を短縮することができる。
 更に、本実施形態によれば、各代表仮想サーバモデルの移動先となる物理サーバを予め決めておくこともできる。このようにすれば、移動対象の仮想サーバの移動先を決めるにあたり、その仮想サーバが所属するk-meansクラスタを特定するだけで済むため、仮想サーバの移動先を効率的に決定することができ、ひいては、仮想サーバの移動先の決定に費やされる時間を一層短縮することができる。
 また、本実施形態では、各k-meansクラスタの代表仮想サーバモデルは、各k-meansクラスタに所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つものとして生成され、各代表仮想サーバモデルのリソース負荷を負担し得る物理サーバが、各代表仮想サーバモデルの移動先としてそれぞれ選択される。
 従って、本実施形態によれば、移動対象の仮想サーバの移動先を適切に決定することができる。
 以下、上述の実施形態について更に詳細を説明する。以下の各実施形態は、上述の仮想サーバ管理装置の構成を仮想サーバシステム1に適用した場合の例である。
 [第1実施形態]
 〔システム構成〕
 図1は、第1実施形態における仮想サーバシステム1の構成例を概念的に示す図である。第1実施形態における仮想サーバシステム1は、複数の物理サーバ10(#1)から10(#m)(mは正の整数)、自律制御サーバ20等を有する。自律制御サーバ20は、上述の実施形態における仮想サーバ管理装置に相当する。以降、複数の物理サーバ10(#1)から10(#m)は、個別に区別する必要がある場合を除き、物理サーバ10と総称される。
 物理サーバ10及び自律制御サーバ20は、いわゆるコンピュータであり、例えば、バス5で相互に接続される、CPU(Central Processing Unit)2、メモリ3、入出力インタフェース(I/F)4等を有する。メモリ3は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、可搬型記憶媒体等である。入出力I/F4は、通信網9を介して他の装置と通信を行う通信装置7と接続される。なお、入出力I/F4は、キーボード、マウス等のようなユーザ操作の入力を受け付ける装置や、ディスプレイ装置やプリンタ等のようなユーザに情報を提供する装置に接続されてもよい。物理サーバ10及び自律制御サーバ20のハードウェア構成は制限されない。
 複数の物理サーバ10及び自律制御サーバ20は通信網9を介して相互に通信可能に接続されている。通信網9は、インターネット等のような公衆網、WAN(Wide Area Network)、LAN(Local Area Network)、無線通信ネットワーク等である。なお、本実施形態において、物理サーバ10間、各物理サーバ10と自律制御サーバ20との間の各通信形態は限定されない。
 各物理サーバ10は、少なくとも1つの仮想サーバをそれぞれ稼働させる。これにより、仮想サーバシステム1内では、複数の仮想サーバが稼働される。図1の例では、物理サーバ10(#1)に仮想サーバ15(#11)から15(#1n)が稼働され、物理サーバ10(#m)に仮想サーバ15(#m1)から15(#mn)が稼働される状態が示されている。以降、仮想サーバ15(#11)から15(#1n)、及び、15(#m1)から15(#mn)は、個別に区別する必要がある場合を除き、仮想サーバ15と総称される。
 仮想サーバ15は、物理サーバ10において、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F4を介してインストールされ、メモリ3に格納されてもよい。
 〔装置構成〕
 図2は、第1実施形態における自律制御サーバ20の処理構成例を概念的に示す図である。自律制御サーバ20は、リソース情報取得部21、リソース情報格納部22、クラスタリング部23、生成部24、選択部25、移動先決定部26、移動処理部29等を有する。これら各処理部は、自律制御サーバ20において、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F4を介してインストールされ、メモリ3に格納されてもよい。
 リソース情報取得部21は、複数の物理サーバ10及び複数の仮想サーバ15の各々についてリソース情報をそれぞれ取得する。そのリソース情報には、各物理サーバ10及び各仮想サーバ15により利用されているリソース負荷を示す情報と、各物理サーバ10が備えるリソース性能を示す情報とが含まれる。各物理サーバ10のリソース性能情報は、事前計測、ベンチマークソフト等を用いた計測又はその他の方法により取得されてもよい。
 また、当該リソース情報は、複数のリソース種の各々を区別可能な情報となっている。ここで、リソース種には、各物理サーバ10が備える、CPU2、メモリ3(主記憶や、ハードディスクのような2次記憶など)、通信装置7、グラフィックアクセラレータ等のように複数種存在する。よって、例えば、当該リソース情報には、CPU使用率、メモリ使用率、ネットワークI/O使用率、ハードディスクI/O使用率、記録媒体の入出力性能値(例えば最大データ転送速度に対する入出力データ転送速度の割合)、通信制御装置の入出力性能値(伝送速度や使用帯域等)等が含まれる。
 リソース情報取得部21は、可能な限り新しい情報に基づいて他の処理部に処理させるために、所定周期で、各物理サーバ10及び各仮想サーバ15のリソース情報を収集することが望ましい。なお、各物理サーバ10のリソース性能情報は、変更が少ないため、周期的に収集されなくてもよい。
 リソース情報格納部22は、リソース情報取得部21により収集されたリソース情報を格納する。
 クラスタリング部23は、複数の仮想サーバ15を、リソース情報取得部21により取得されたリソース情報に含まれる複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングする。具体的には、k-meansクラスタは、各仮想サーバ15に関する、全リソース種のリソース負荷情報を統合することにより得られる値に基づいて分けられる。このリソース負荷情報の統合は、例えば、各リソース種のリソース負荷値の範囲を0から100にそれぞれ正規化し、各仮想サーバ15のリソース負荷情報をリソース種の数の次元の座標点として、各点の距離から重心を計算することにより行われる。なお、k-means法自体については周知の技術であるため、ここでは説明を省略する。
 生成部24は、リソース情報取得部21により取得された各仮想サーバのリソース負荷情報に基づいて、前記各k-meansクラスタについて、代表仮想サーバモデルをそれぞれ生成する。第1実施形態では、生成部24は、各k-meansクラスタの代表仮想サーバモデルを、各k-meansクラスタに所属する仮想サーバ15のリソース種毎のリソース負荷の中の、各リソース種についての最大リソース負荷をそれぞれ持つものとして生成する。
 例えば、k-meansクラスタAに、3つの仮想サーバ15(#11)、(#12)及び(#13)が所属しており、各仮想サーバ15が次のようなリソース負荷を持つものと仮定する。
 仮想サーバ15(#11):CPU使用率(1.2%)、メモリ使用率(0.5%)、使用通信帯域(1Mbit(メガビット)/s(秒))
 仮想サーバ15(#12):CPU使用率(0.8%)、メモリ使用率(1.8%)、使用通信帯域(0.2Mbit/s)
 仮想サーバ15(#13):CPU使用率(1.5%)、メモリ使用率(1.2%)、使用通信帯域(0.8Mbit/s)
 この場合、生成部24は、まず、各リソース種(CPU使用率、メモリ使用率、使用通信帯域)について最大の負荷を示す情報を特定する。CPU使用率は仮想サーバ15(#13)のものであり、メモリ使用率は仮想サーバ15(#12)のものであり、使用通信帯域は仮想サーバ15(#11)のものである。そして、生成部24は、k-meansクラスタAに関し、次のようなリソース負荷を持つ代表仮想サーバモデルを生成する。
 代表仮想サーバモデル:CPU使用率(1.5%)、メモリ使用率(1.8%)、使用通信帯域(1Mbit/s)
 選択部25は、リソース情報格納部22に格納される各物理サーバ10のリソース情報と、生成部24により生成された各代表仮想サーバモデルのリソース負荷情報とを比較することにより、複数の物理サーバ10の中から、各代表仮想サーバモデルの移動先となる物理サーバ10をそれぞれ選択する。このとき、選択部25は、各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバを、各代表仮想サーバモデルの移動先としてそれぞれ選択する。ここで、各物理サーバ10が各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得るか否かは、各物理サーバ10の空きリソース情報に基づいて判断される。その空きリソース情報は、例えば、物理サーバ10のリソース性能情報から物理サーバ10のリソース負荷情報を減算することにより算出される。
 選択部25は、各k-meansクラスタを特定する情報と、各k-meansクラスタの代表仮想サーバモデルを特定する情報と、各代表仮想サーバモデルの移動先の物理サーバ10を特定する情報とが関連付けられたリスト情報を生成するようにしてもよい。
 移動先決定部26は、クラスタリング部23により生成されたk-meansクラスタのうち、移動対象の仮想サーバ15が属するk-meansクラスタを特定し、その特定されたk-meansクラスタの代表仮想サーバモデルの移動先として選択されている物理サーバ10を、その移動対象の仮想サーバ15の移動先に決定する。ここで、代表仮想サーバモデルのリソース負荷は、全てのリソース種について、対応するk-meansクラスタに所属する全ての仮想サーバ15のリソース負荷と同等以上となるため、代表仮想サーバモデルの移動先として選択された物理サーバ10には、そのk-meansクラスタ内のどの仮想サーバ15が配置されたとしても、リソース不足にはならない。
 移動処理部29は、移動先決定部26により決定された物理サーバ10に、その移動対象の仮想サーバ15を移動させる。なお、仮想サーバ15の移動手法自体は周知であるため、ここでは説明を省略する。
 〔動作例〕
 以下、第1実施形態における仮想サーバの移動先決定方法について図3を用いて説明する。図3は、第1実施形態における自律制御サーバ20の動作例を示すフローチャートである。
 自律制御サーバ20は、各物理サーバ10及び各仮想サーバ15についてのリソース情報をそれぞれ取得する(S31)。取得されたリソース情報は、リソース情報格納部22に格納される。
 自律制御サーバ20は、複数の仮想サーバ15を、当該リソース情報に含まれる複数の仮想サーバ15の複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングする(S32)。
 続いて、自律制御サーバ20は、各仮想サーバ15のリソース負荷情報に基づいて、各k-meansクラスタに関し代表仮想サーバモデルをそれぞれ生成する(S33)。このとき、各k-meansクラスタの代表仮想サーバモデルは、各k-meansクラスタに所属する仮想サーバ15のリソース種毎のリソース負荷の中の、各リソース種についての最大リソース負荷をそれぞれ持つものとして生成される。
 自律制御サーバ20は、複数の物理サーバ10に関するリソース情報に基づいて、複数の物理サーバ10の中から、各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバ10を、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する(S34)。
 或る仮想サーバ15を移動させたいとき、自律制御サーバ20は、その移動対象仮想サーバ15が属するk-meansクラスタを特定し、このk-meansクラスタの代表仮想サーバモデルの移動先として選択された物理サーバ10を、その移動対象仮想サーバ15の移動先に決定する(S35)。
 続いて、自律制御サーバ20は、移動対象の仮想サーバ15を、(S35)で決定された移動先の物理サーバ10に移動させる(S36)。
 図3の例では、各処理工程が順に並べられているが、工程(S31)から工程(S34)は、工程(S31)の実行タイミングで順に実行されてもよい。また、工程(S31)と、工程(S32)から工程(S34)とは、異なる周期でそれぞれ実行されてもよい。同様に、工程(S35)及び工程(S36)は、他の工程とは非同期に実行されてもよい。
 〔第1実施形態の作用及び効果〕
 上述のように、第1実施形態では、複数のリソース種のリソース情報に基づいて複数の仮想サーバ15がk-meansクラスタに分類され、各k-meansクラスタの代表仮想サーバモデルが、各k-meansクラスタに所属する仮想サーバ15のリソース負荷情報の中での各リソース種についての最大リソース負荷をそれぞれ持つものとして生成される。そして、各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバが、各代表仮想サーバモデルの移動先としてそれぞれ選択され、これに基づいて、移動対象の仮想サーバ15の移動先が決定される。
 これにより、第1実施形態では、上述の実施形態で述べた効果に加えて、次のような更なる効果を奏する。即ち、第1実施形態では、複数のリソース種のリソース負荷及びリソース性能を考慮して、移動対象の仮想サーバ15の移動先が決定されるため、その決定に応じた仮想サーバ15の移動により、移動先の物理サーバ10でリソース不足が生じる可能性を一層低減させることができる。
 [第2実施形態]
 上述の第1実施形態では、或る代表仮想サーバモデルのリソース負荷を満足する物理サーバ10が複数存在する場合について特に言及されていなかった。つまり、第1実施形態では、候補となる複数の物理サーバ10の中でいずれか1つの物理サーバ10が移動対象の仮想サーバ15の移動先に決定されればよい。第2実施形態では、選択部25により、代表仮想サーバモデルについて候補となる複数の物理サーバ10が選択された場合、その中から、移動対象の仮想サーバ15を移動させた後の空きリソース量が最小となる物理サーバ10を移動対象仮想サーバの移動先に決定する。以下、第2実施形態について第1実施形態と異なる内容を中心に説明し、第1実施形態と同様の内容については適宜省略する。
 〔装置構成〕
 図4は、第2実施形態における自律制御サーバ20の処理構成例を概念的に示す図である。第2実施形態における自律制御サーバ20は、第1実施形態の構成に加えて、誤差算出部41を更に有する。
 誤差算出部41は、選択部25により代表仮想サーバモデルについて候補となる複数の物理サーバ10が選択された場合、候補の各物理サーバ10について、移動対象の仮想サーバ15を移動させた後の空きリソース量を誤差としてそれぞれ算出する。ここで算出される誤差は、リソース種毎の空きリソース量を統合した値として算出される。この空きリソース量の統合は、例えば、各リソース種の空きリソース量を示す値とリソース種毎に決められた係数との積を、全リソース種について合計することで行われる。また、各リソース種の空きリソース量は、リソース情報格納部22に格納される物理サーバ10のリソース情報から取得される。
 移動先決定部26は、各代表仮想サーバモデルの移動先として選択部25により選択された複数の物理サーバ10の中で、上述の誤差が最小となる物理サーバ10を、その移動対象仮想サーバの移動先に決定する。
 〔動作例〕
 以下、第2実施形態における仮想サーバの移動先決定方法について図5を用いて説明する。図5は、第2実施形態における自律制御サーバ20の動作例を示すフローチャートである。図5における工程(S51)から工程(54)は、第1実施形態(図3の工程(S31)から工程(S34))と同様であるため、ここでは説明を省略する。
 或る仮想サーバ15を移動させたいとき、自律制御サーバ20は、その移動対象仮想サーバ15が属するk-meansクラスタを特定する(S55)。続いて、自律制御サーバ20は、その特定されたk-meansクラスタの代表仮想サーバモデルの移動先として工程(S54)で選択された物理サーバ10は複数存在するか否かを判定する(S56)。1つの物理サーバ10のみが存在する場合(S56;NO)、自律制御サーバ20は、第1実施形態と同様に、k-meansクラスタの代表仮想サーバモデルの移動先として選択されている物理サーバ10を、その移動対象仮想サーバ15の移動先に決定する(S59)。
 一方、複数の物理サーバ10が選択されている場合(S56;YES)、自律制御サーバ20は、その選択されている各物理サーバ10について、移動対象仮想サーバ15が移動した後の空きリソース量を誤差としてそれぞれ算出する(S57)。そして、自律制御サーバ20は、その特定されたk-meansクラスタの代表仮想サーバモデルの移動先を、最小誤差の物理サーバ10に決定する(S58)。
 以降、自律制御サーバ20は、第1実施形態と同様に、k-meansクラスタの代表仮想サーバモデルの移動先として決定された物理サーバ10を、その移動対象仮想サーバ15の移動先に決定し(S59)、移動対象仮想サーバ15をその仮想サーバ15に移動させる(S60)。
 〔第2実施形態における作用及び効果〕
 第2実施形態では、代表仮想サーバモデルについて候補となる複数の物理サーバ10が選択された場合、その中から、移動対象の仮想サーバ15を移動させた後の空きリソース量(誤差)が最小となる物理サーバ10が移動対象仮想サーバの移動先に決定される。このように、第2実施形態によれば、複数の仮想サーバ15が集約された代表仮想サーバモデルを用いた仮想サーバ15の移動先決定方法においても、仮想サーバ15の移動後の空きリソース量が最小となる物理サーバ10が選ばれるため、無駄な空きリソースの発生を低減させることができる。
 [第3実施形態]
 第3実施形態では、選択部25により、代表仮想サーバモデルについて候補となる複数の物理サーバ10が選択された場合、その中から、リソース負荷の履歴情報に基づく移動対象仮想サーバ15を移動させた後の空きリソース量の時間積算値が最小となる物理サーバ10を移動対象仮想サーバの移動先に決定する。以下、第3実施形態について第1実施形態及び第2実施形態と異なる内容を中心に説明し、第1実施形態及び第2実施形態と同様の内容については適宜省略する。
 第3実施形態における自律制御サーバ20の処理構成は、図4の例に示される第2実施形態と同様であり、次の各処理部の内容が第2実施形態と異なる。
 リソース情報格納部22は、リソース情報取得部21により取得されたリソース情報を逐次格納することにより、各物理サーバ10及び各仮想サーバ15についてのリソース履歴情報をそれぞれ格納する。リソース履歴情報は、言い換えれば、リソース種毎のリソース負荷及びリソース性能を示す情報に時系列情報が付加された時系列データである。
 誤差算出部41は、選択部25により代表仮想サーバモデルについて候補となる複数の物理サーバ10が選択された場合、候補の各物理サーバ10について、移動対象の仮想サーバ15を移動させた後の空きリソース量の所定期間の積算値を誤差としてそれぞれ算出する。空きリソース量の所定期間の積算値は、リソース情報格納部22に格納される物理サーバ10のリソース性能値、物理サーバ10のリソース負荷の履歴データ、移動対象の仮想サーバ15のリソース負荷の履歴データを用いて算出される。所定期間は、予めメモリ3に格納されていてもよいし、入力装置(図示せず)を介して入力されてもよいし、他の装置から通信装置7を介して取得されてもよい。
 〔動作例〕
 以下、第3実施形態における仮想サーバの移動先決定方法について図5を用いて説明する。第3実施形態における方法では、図5の工程(S57)の誤差の算出の仕方が図5で示される第2実施形態と異なる。第3実施形態の工程(S57)では、自律制御サーバ20は次のように動作する。
 選択部25により複数の物理サーバ10が選択されている場合、自律制御サーバ20は、リソース情報格納部22から、その選択されている各物理サーバ10及び移動対象仮想サーバ15のリソース履歴情報を抽出する。そして、自律制御サーバ20は、抽出されたリソース履歴情報に基づいて、その選択されている各物理サーバ10について、移動対象の仮想サーバ15を移動させた後の空きリソース量の所定期間の積算値を誤差としてそれぞれ算出する。
 〔第3実施形態の作用及び効果〕
 第3実施形態では、移動対象仮想サーバ15を移動させた後の物理サーバ10の空きリソース量の所定期間の積算値が誤差として算出され、最小誤差の物理サーバ10が、移動対象の仮想サーバ15の移動先に決定される。これにより、移動対象の仮想サーバ15のリソース負荷の時間的傾向を考慮して所定期間で空きリソース量の合計が最小となる物理サーバ10が移動先に決定されるため、無断なリソースの発生を一層低減することができる。
 [第4実施形態]
 上述の第2実施形態及び第3実施形態では、最小誤差の物理サーバ10が複数存在する場合について言及されなかった。第4実施形態では、代表仮想サーバモデルが移動したと仮定した場合のその移動後の空きリソース量を更に加味し、最適な物理サーバ10を移動対象の仮想サーバ15の移動先に決定する。以下、第2実施形態に新たな構成を付加した構成を第4実施形態として、第4実施形態について第2実施形態と異なる内容を中心に説明し、第2実施形態と同様の内容については適宜省略する。第4実施形態として付加される当該新たな構成は、第1実施形態及び第3実施形態に付加されてもよい。
 誤差算出部41は、選択部25により代表仮想サーバモデルについて候補となる複数の物理サーバ10が選択された場合、候補の各物理サーバ10について、その代表仮想サーバモデルが移動したと仮定した場合のその移動後の空きリソース量を第1誤差としてそれぞれ算出し、更に、候補の各物理サーバ10について、移動対象の仮想サーバ15を移動させた後の空きリソース量を第2誤差としてそれぞれ算出する。ここで、第1誤差は、リソース情報格納部22に格納される物理サーバ10のリソース性能情報からその代表仮想サーバモデルが持つリソース負荷情報を減算することにより算出される。
 〔動作例〕
 以下、第4実施形態における仮想サーバの移動先決定方法について図6A及び図6Bを用いて説明する。図6A及び図6Bは、第4実施形態における自律制御サーバ20の動作例を示すフローチャートである。第4実施形態における方法は、図5の例に示される第2実施形態及び第3実施形態の工程(S57)及び工程(S58)以外、図5の例と同様である。即ち、図6Aに示される工程(S61)から工程(S66)は、図5に示される工程(S51)から工程(S56)と同様であり、図6Aに示される工程(S68)及び(S69)は、図5に示される工程(59)及び工程(S60)と同様である。
 特定されたk-meansクラスタの代表仮想サーバモデルの移動先として工程(S64)で選択された物理サーバ10が複数存在する場合(S66;YES)、自律制御サーバ20は、次のように動作する。自律制御サーバ20は、まず、その選択されている各物理サーバ10について、その特定されたk-meansクラスタの代表仮想サーバモデルが移動したと仮定した場合のその移動後の空きリソース量を第1誤差としてそれぞれ算出する(S70)。
 自律制御サーバ20は、移動先として選択されている物理サーバ10のリストを第1誤差が小さい順にソートする(S71)。
 続いて、自律制御サーバ20は、当該リストの各物理サーバ10について、移動対象仮想サーバが移動した後の空きリソース量を第2誤差としてそれぞれ算出する(S72)。
 自律制御サーバ20は、当該リストを、第2誤差が小さい順に更にソートする(S73)。
 自律制御サーバ20は、当該リストの先頭に位置する仮想サーバ15を、その特定されたk-meansクラスタの代表仮想サーバモデルの移動先に決定する(S74)。
 〔第4実施形態における作用及び効果〕
 このように第4実施形態では、特定されたk-meansクラスタの代表仮想サーバモデルの移動先とし選択された物理サーバ10が複数存在する場合、その物理サーバ10のリストが、代表仮想サーバモデルが移動した後の空きリソース量(第1誤差)の小さい順にソートされ、続けて移動対象の仮想サーバ15が移動した後の空きリソース量(第2誤差)の小さい順にソートされる。そして、そのソートされたリストの先頭の物理サーバ10が、その特定されたk-meansクラスタの代表仮想サーバモデルの移動先に決定される。
 これにより、第4実施形態によれば、移動先の候補が、第1誤差と第2誤差との2段階で絞られ決定されるため、無断なリソースの発生を一層低減することができる。
 [第5実施形態]
 上述の第2実施形態、第3実施形態及び第4実施形態では、移動対象の仮想サーバ15又は代表仮想サーバモデルを移動させた後の空きリソース量が最小となる物理サーバ10が選択されたが、第5実施形態では、その選択基準が、自律制御サーバ20に設定されるポリシ情報によって切り替えられる。以下、第4実施形態に新たな構成を付加した構成を第5実施形態として、第5実施形態について第4実施形態と異なる内容を中心に説明し、第4実施形態と同様の内容については適宜省略する。第5実施形態として付加される当該新たな構成は、第2実施形態や第3実施形態に付加されてもよい。
 〔装置構成〕
 図7は、第5実施形態における自律制御サーバ20の処理構成例を概念的に示す図である。第5実施形態における自律制御サーバ20は、第4実施形態の構成に加えて、ポリシ情報格納部71を更に有する。
 ポリシ情報格納部71は、特定されたk-meansクラスタの代表仮想サーバモデルの移動先として選択された物理サーバ10が複数存在する場合において、その複数の物理サーバ10から移動先の物理サーバ10を選択する基準を示すポリシ情報を格納する。このポリシ情報は、移動先選択ポリシと呼ぶこともできる。例えば、このポリシ情報には、性能優先又は詰め込み優先が設定される。ポリシ情報は、仮想サーバシステム1起動時に予めポリシ情報格納部71に格納されていてもよいし、ユーザインタフェースを介したユーザ操作により設定及び変更されてもよい。
 移動先決定部26は、特定されたk-meansクラスタの代表仮想サーバモデルの移動先とし選択された物理サーバ10が複数存在する場合、ポリシ情報格納部71からポリシ情報を選択し、このポリシ情報が示す基準に応じて、その複数の物理サーバ10から移動先を決定する。具体的には、ポリシ情報が性能優先を示す場合には、移動先決定部26は、第1誤差及び第2誤差が大きい順にその物理サーバ10のリストをソートし、ポリシ情報が詰め込み優先を示す場合には、第1誤差及び第2誤差が小さい順にその物理サーバ10のリストをソートする。
 〔動作例〕
 以下、第5実施形態における仮想サーバの移動先決定方法について図6A及び図8を用いて説明する。図8は、第5実施形態における自律制御サーバ20の動作例を示すフローチャートである。第5実施形態における方法では、第4実施形態における方法の図6Bに示される工程が図8に示される工程に置き換えられる。即ち、図6Aに示される工程は、第4実施形態と第5実施形態とで共通である。
 特定されたk-meansクラスタの代表仮想サーバモデルの移動先として工程(S64)で選択された物理サーバ10が複数存在する場合(S66;YES)、自律制御サーバ20は、次のように動作する。自律制御サーバ20は、まず、ポリシ情報格納部71からポリシ情報を取得する(S81)。続いて、自律制御サーバ20は、その選択されている各物理サーバ10について、その特定されたk-meansクラスタの代表仮想サーバモデルが移動したと仮定した場合のその移動後の空きリソース量を第1誤差としてそれぞれ算出する(S82)。
 自律制御サーバ20は、移動先として選択されている物理サーバ10のリストを第1誤差に基づくポリシ情報に従ってソートする(S83)。これにより、ポリシ情報が性能優先を示す場合には、第1誤差が大きい順にその物理サーバ10のリストがソートされ、ポリシ情報が詰め込み優先を示す場合には、第1誤差が小さい順にその物理サーバ10のリストがソートされる。
 続いて、自律制御サーバ20は、当該リストの各物理サーバ10について、移動対象仮想サーバが移動した後の空きリソース量を第2誤差としてそれぞれ算出する(S84)。
 自律制御サーバ20は、当該リストを、第2誤差に基づくポリシ情報に従って更にソートする(S85)。これにより、ポリシ情報が性能優先を示す場合には、第2誤差が大きい順にその物理サーバ10のリストが更にソートされ、ポリシ情報が詰め込み優先を示す場合には、第2誤差が小さい順にその物理サーバ10のリストが更にソートされる。
 自律制御サーバ20は、当該リストの先頭に位置する仮想サーバ15を、その特定されたk-meansクラスタの代表仮想サーバモデルの移動先に決定する(S86)。
 〔第5実施形態における作用及び効果〕
 このように第5実施形態では、特定されたk-meansクラスタの代表仮想サーバモデルの移動先とし選択された物理サーバ10が複数存在する場合、その複数の物理サーバ10の中から、ポリシで指定された選択基準に従って、移動先の物理サーバ10が決定される。これにより、第5実施形態によれば、第4実施形態における効果を奏するのみならず、ポリシ情報格納部71に格納されるポリシ情報の変更により、仮想サーバ15の配置基準を切り替えることができる。
 [第6実施形態]
 第6実施形態では、
 物理サーバ10の過負荷になる確率が所定値以下となるように移動先の物理サーバ10が選択される。以下、第6実施形態について第1実施形態と異なる内容を中心に説明し、第1実施形態と同様の内容については適宜省略する。なお、第6実施形態の構成は、第2実施形態から第5実施形態のいずれにも組み合わせ可能である。
 〔装置構成〕
 図9は、第6実施形態における自律制御サーバ20の処理構成例を概念的に示す図である。図9に示されるように、第6実施形態における自律制御サーバ20では、生成部24は、包含確率分布算出部91を含み、選択部25は、確率分布算出部92及び過負荷確率算出部93を含む。
 リソース情報格納部22は、リソース情報取得部21により取得されたリソース情報を逐次格納することにより、各物理サーバ10及び各仮想サーバ15についてのリソース履歴情報をそれぞれ格納する。リソース履歴情報とは、第3実施形態で述べたとおりである。
 生成部24は、各仮想サーバに関するリソース履歴情報に含まれる或る時点のリソース負荷情報から、各k-meansクラスタに関し、各k-meansクラスタ内の全仮想サーバの負荷の確率分布を包含する包含確率分布を持つ代表仮想サーバモデルをそれぞれ生成する。
 包含確率分布算出部91は、k-meansクラスタ内に含まれる全ての仮想サーバ15に関し、リソース情報格納部22から取得される各仮想サーバ15のリソース負荷の履歴データから、各仮想サーバ15についてリソース負荷のヒストグラムをそれぞれ生成する。包含確率分布算出部91は、そのヒストグラムからk-meansクラスタ内の全ての仮想サーバ15のリソース負荷を包含する確率分布(上記包含確率分布)を算出する。生成部24は、包含確率分布算出部91により算出された包含確率分布を持つ代表仮想サーバモデルを生成する。
 ここで、図10A、図10B及び図10Cを用いて、包含確率分布算出部91による包含確率分布の生成手法の例を説明する。図10Aは、或るk-meansクラスタにおける1番目から(i-1)番目までの仮想サーバ15の包含確率分布を示す図であり、図10Bは、i番目の仮想サーバ15の確率分布を示す図である。図10Cは、1番目からi番目までの仮想サーバ15の包含確率分布を示す図である。図10A、図10B及び図10Cにおける横軸Uはリソース使用率を示し、縦軸Pは確率を示す。
 ここで、リソース使用率Uの区間(75から100)の確率A1及び確率A1'を比較すると、確率A1が確率A1'よりも大きい。よって、確率A1の値(20)がその区間(75から100)の包含確率A1''に設定される。
 次に、リソース使用率Uの区間(50から100)の確率A2と確率A2'とを比較すると、確率A2'が確率A2よりも大きい。よって、確率A2'から割り当て済みの包含確率A1''を減算して得られる値(15)がリソース使用率Uの区間(50から75)の包含確率に設定される。同様に、確率A3と確率A3'とが比較され、大きい方の確率A3から既に割り当て済みの包含確率A2''を減算して得られる値(45)が、リソース使用率Uの区間(25から50)の包含確率に設定される。
 最終的に得られる1番目からi番目の仮想サーバ15の包含確率分布は、図10Cのようになる。代表仮想サーバモデルの包含確率分布は、上記の手順をn番目の仮想サーバ15まで繰り返した結果得られる確率分布である。この代表仮想サーバモデルの包含確率分布は、各k-meansクラスタ内のどの仮想サーバ15の負荷よりも大きいか又は同等の負荷の確率分布を示すため、このような包含確率分布を有する代表仮想サーバモデルを格納できる物理サーバは、各k-meansクラスタ内のどの仮想サーバも確率的に格納することができる。
 確率分布算出部92は、各物理サーバ10に関し、その上で稼働される全仮想サーバ15のリソース負荷の確率分布をそれぞれ算出する。具体的には、確率分布算出部92は、各物理サーバ10上で稼動している全ての仮想サーバ15のリソース負荷の履歴データをリソース情報格納部22から取得し、各物理サーバ10についてのリソース負荷のヒストグラムをそれぞれ生成し、各ヒストグラムから、各物理サーバ10の確率分布をそれぞれ算出する。
 過負荷確率算出部93は、包含確率分布算出部91により算出される各代表仮想サーバモデルの包含確率分布と、確率分布算出部92により算出される各物理サーバ10の確率分布とに基づいて、代表仮想サーバモデルを移動させた後の物理サーバ10のリソース負荷が所定負荷上限値を超える確率を示す各物理サーバ10の過負荷確率を、各代表仮想サーバモデルに関しそれぞれ算出する。ここで、過負荷確率とは、負荷の上限値(例えば、リソース使用率90%)を超えてしまう確率を意味するものとする。例えば、物理サーバ10の稼働時間100に対して、過負荷になっている(=負荷の上限値を超えている)時間が5の場合、過負荷確率は5%となる。
 選択部25は、過負荷確率算出部93により、各代表仮想サーバモデルに関し算出された各物理サーバ10の過負荷確率に基づいて、各代表仮想サーバモデルの移動先となる物理サーバを選択する。例えば、選択部25は、所定閾値より低く、かつ、最も高い過負荷確率を持つ物理サーバ10をその代表仮想サーバモデルの移動先として選択する。また、選択部25は、最も低い過負荷確率を持つ物理サーバ10をその代表仮想サーバモデルの移動先として選択するようにしてもよい。
 〔動作例〕
 以下、第6実施形態における仮想サーバの移動先決定方法について図11を用いて説明する。図11は、第6実施形態における自律制御サーバ20の動作例を示すフローチャートである。ここでは、リソース情報格納部22には、各物理サーバ及び各仮想サーバについてのリソース履歴情報がそれぞれ格納されているものとする。
 自律制御サーバ20は、リソース情報格納部22から、各物理サーバ及び各仮想サーバについてのリソース履歴情報をそれぞれ取得する(S101)。自律制御サーバ20は、複数の仮想サーバ15を、当該リソース情報に含まれる複数の仮想サーバ15の複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングする(S102)。
 続いて、自律制御サーバ20は、各k-meansクラスタ内に含まれる全ての仮想サーバ15に関し、各仮想サーバ15のリソース負荷の履歴データから、各k-meansクラスタ内の全ての仮想サーバ15のリソース負荷を包含する包含確率分布を算出する。自律制御サーバ20は、各k-meansクラスタに関し、包含確率分布を有する代表仮想サーバモデルをそれぞれ生成する(S103)。
 次に、自律制御サーバ20は、各物理サーバ10に関し、その上で稼働される全仮想サーバ15のリソース負荷の確率分布をそれぞれ算出する(S104)。
 自律制御サーバ20は、(S103)で算出された代表仮想サーバモデルの包含確率分布と、(S104)で算出された各物理サーバ10の確率分布とに基づいて、各代表仮想サーバモデルについて、各代表仮想サーバモデルを各物理サーバ10上に移動させたと仮定した場合のその移動後の各物理サーバ10の過負荷確率をそれぞれ算出する(S105)。
 自律制御サーバ20は、各代表仮想サーバモデルについて、(S105)で算出された各物理サーバ10の過負荷確率に基づいて、複数の物理サーバ10の中から、各代表仮想サーバモデルの移動先となる物理サーバ10をそれぞれ選択する(S106)。例えば、自律制御サーバ20は、各代表仮想サーバモデルに関し(S105)で算出された過負荷確率が所定閾値より低い物理サーバ10のリストを過負荷確率の高い順にソートし、そのリストの先頭に位置する物理サーバ10を移動先の物理サーバとして選択する。過負荷確率の高い順にソートすることによって、無駄なリソースを減らして負荷を集約することができる。
 以降、工程(S107)及び工程(S108)は、第1実施形態の手法を示す図3の工程(S35)及び工程(S36)と同様である。
 〔第6実施形態の作用及び効果〕
 上述のように、第6実施形態では、各k-meansクラスタの代表仮想サーバモデルが、所属する全仮想サーバ15のリソース負荷の確率分布を包含する包含確率分布を有するものとして生成され、各代表仮想サーバモデルが各物理サーバ10に移動されたと仮定した場合のその移動後の各物理サーバ10の過負荷確率がそれぞれ算出される。そして、その過負荷確率に基づいて、各代表仮想サーバモデルの移動先の物理サーバ10が選択される。
 従って、第6実施形態によれば、複数の仮想サーバ15が集約された代表仮想サーバモデルを用いた仮想サーバ15の移動先決定方法においても、物理サーバ10のリソース負荷が所定負荷上限値を超える確率を示す過負荷確率が所定値より低くなるように、仮想サーバ15の移動先の物理サーバ10を選択することができる。
 [変形例]
 上述の第1実施形態から第6実施形態では、複数のリソース種の全てが考慮されて、仮想サーバ15のk-meansクラスタリング、各k-meansクラスタの代表仮想サーバモデルの生成、及び、各代表仮想サーバモデルの移動先となる物理サーバ10の選択が行われていた。しかしながら、それら実施形態は、複数のリソース種の中のいずれか複数のリソース種、又は、複数のリソース種の中のいずれか1つのリソース種が考慮されてそれら各処理が行われるように変形されてもよい。この変形例によれば、仮想サーバ15の移動先の決定精度は低下するものの、処理効率は向上する。
 なお、上述の説明で用いた複数のフローチャートでは、複数のステップ(処理)が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
 上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
 (付記1)
 複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得する情報取得部と、
 前記複数の仮想サーバを、前記リソース情報に含まれる前記複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングするクラスタリング部と、
 前記各仮想サーバの前記リソース負荷情報に基づいて、前記各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、
 前記複数の物理サーバに関する前記リソース情報に基づいて、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの前記最大リソース負荷を負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、
 前記複数の仮想サーバの中の移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として選択された物理サーバを、該移動対象仮想サーバの移動先に決定する移動先決定部と、
 を備える仮想サーバ管理装置。
 (付記2)
 前記情報取得部は、前記複数の物理サーバ及び前記複数の仮想サーバの各々について、複数リソース種の各々に関するリソース情報をそれぞれ取得し、
 前記クラスタリング部は、前記複数の仮想サーバを、前記リソース情報に含まれる前記複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、
 前記生成部は、前記各k-meansクラスタの前記代表仮想サーバモデルを、前記各k-meansクラスタに所属する仮想サーバのリソース種毎のリソース負荷の中の、各リソース種についての最大リソース負荷をそれぞれ持つものとして生成し、
 前記選択部は、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する、
 付記1に記載の仮想サーバ管理装置。
 (付記3)
 前記移動先決定部は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、該移動対象仮想サーバを移動させた後の空きリソース量が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
 付記1又は2に記載の仮想サーバ管理装置。
 (付記4)
 前記情報取得部により取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をそれぞれ格納するリソース情報格納部を更に備え、
 前記移動先決定部は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、前記リソース履歴情報に基づく該移動対象仮想サーバを移動させた後の空きリソース量の所定期間の積算値が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
 付記1又は2に記載の仮想サーバ管理装置。
 (付記5)
 移動対象仮想サーバの移動先選択ポリシを格納するポリシ格納部を更に備え、
 前記移動先決定部は、前記移動対象仮想サーバ及び前記代表仮想サーバモデルの少なくとも一方の移動後に関し算出される値が前記移動先選択ポリシに合致するか否かを前記条件とする、
 付記3又は4に記載の仮想サーバ管理装置。
 (付記6)
 前記情報取得部により取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をそれぞれ格納するリソース情報格納部を更に備え、
 前記生成部は、前記各仮想サーバに関する前記リソース履歴情報に含まれる或る時点のリソース負荷情報から、前記各k-meansクラスタに関し、前記各k-meansクラスタ内の全仮想サーバの負荷の確率分布を包含する包含確率分布を持つ前記代表仮想サーバモデルをそれぞれ生成し、
 前記選択部は、
  前記各物理サーバ上の各仮想サーバのリソース履歴情報から、各物理サーバに関し、仮想サーバのリソース負荷の確率分布をそれぞれ算出する確率分布算出部と、
  前記各代表仮想サーバモデルの前記包含確率分布と、前記各物理サーバの前記確率分布とに基づいて、前記代表仮想サーバモデルを移動させた後の前記物理サーバのリソース負荷が所定負荷上限値を超える確率を示す前記各物理サーバの過負荷確率を、前記各代表仮想サーバモデルに関しそれぞれ算出する過負荷確率算出部と、
 を含み、
 前記各代表仮想サーバモデルに関し算出された前記各物理サーバの過負荷確率に基づいて、前記各代表仮想サーバモデルの移動先となる物理サーバを選択する、
 付記1又は2に記載の仮想サーバ管理装置。
 (付記7)
 コンピュータが、
 複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得し、
 前記複数の仮想サーバを、前記リソース情報に含まれる前記複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、
 前記各仮想サーバの前記リソース負荷情報に基づいて、前記各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成し、
 前記複数の物理サーバに関する前記リソース情報に基づいて、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの前記最大リソース負荷を負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択し、
 前記複数の仮想サーバの中の移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として選択された物理サーバを、該移動対象仮想サーバの移動先に決定する、
 ことを含む仮想サーバの移動先決定方法。
 (付記8)
 前記取得されるリソース情報は、複数リソース種の各々に関するリソース情報が含まれ、
 前記クラスタリングは、前記複数の仮想サーバを、前記リソース情報に含まれる前記複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、
 前記代表仮想サーバモデルの生成は、前記各k-meansクラスタの前記代表仮想サーバモデルを、前記各k-meansクラスタに所属する仮想サーバのリソース種毎のリソース負荷の中の、各リソース種についての最大リソース負荷をそれぞれ持つものとして生成し、
 前記代表仮想サーバモデルの移動先の選択は、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する、
 付記7に記載の仮想サーバの移動先決定方法。
 (付記9)
 前記移動対象仮想サーバの移動先の決定は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、該移動対象仮想サーバを移動させた後の空きリソース量が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
 付記7又は8に記載の仮想サーバの移動先決定方法。
 (付記10)
 前記コンピュータが、
 前記取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をリソース情報格納部にそれぞれ格納する、
 ことを更に含み、
 前記移動対象仮想サーバの移動先の決定は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、前記リソース履歴情報に基づく該移動対象仮想サーバを移動させた後の空きリソース量の所定期間の積算値が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
 付記7又は8に記載の仮想サーバの移動先決定方法。
 (付記11)
 前記移動対象仮想サーバの移動先選択ポリシを取得し、
 前記移動対象仮想サーバの移動先の決定は、前記移動対象仮想サーバ及び前記代表仮想サーバモデルの少なくとも一方の移動後に関し算出される値が前記移動先選択ポリシに合致するか否かを前記条件とする
 付記9又は10に記載の仮想サーバの移動先決定方法。
 (付記12)
 前記コンピュータが、
 前記取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をリソース情報格納部にそれぞれ格納し、
 前記各仮想サーバに関する前記リソース履歴情報に含まれる或る時点のリソース負荷情報から、前記各k-meansクラスタに関し、前記各k-meansクラスタ内の全仮想サーバの負荷の確率分布を包含する包含確率分布を算出し、
 前記各k-meansクラスタに関し、前記包含確率分布を有する前記代表仮想サーバモデルをそれぞれ生成し、
 前記各物理サーバ上の各仮想サーバのリソース履歴情報から、各物理サーバに関し、仮想サーバのリソース負荷の確率分布をそれぞれ算出し、
 前記各代表仮想サーバモデルの前記包含確率分布と、前記各物理サーバの前記確率分布とに基づいて、前記代表仮想サーバモデルを移動させた後の前記物理サーバのリソース負荷が所定負荷上限値を超える確率を示す前記各物理サーバの過負荷確率を、前記各代表仮想サーバモデルに関しそれぞれ算出する、
 ことを更に含み、
 前記代表仮想サーバモデルの移動先の選択は、前記各代表仮想サーバモデルに関し算出された前記各物理サーバの過負荷確率に基づいて、前記各代表仮想サーバモデルの移動先となる物理サーバを選択する、
 付記7又は8に記載の仮想サーバの移動先決定方法。
 (付記13)
 複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得する情報取得部と、
 前記複数の仮想サーバを、前記リソース情報に含まれる前記複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングするクラスタリング部と、
 前記各仮想サーバの前記リソース負荷情報に基づいて、前記各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、
 前記複数の物理サーバに関する前記リソース情報に基づいて、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの前記最大リソース負荷を負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、
 前記複数の仮想サーバの中の移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として選択された物理サーバを、該移動対象仮想サーバの移動先に決定する移動先決定部と、
 をコンピュータに実現させるプログラム。
 (付記14)
 前記情報取得部は、複数の物理サーバ及び複数の仮想サーバの各々について、複数リソース種の各々に関するリソース情報をそれぞれ取得し、
 前記クラスタリング部は、前記複数の仮想サーバを、前記リソース情報に含まれる前記複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、
 前記生成部は、前記各k-meansクラスタの前記代表仮想サーバモデルを、前記各k-meansクラスタに所属する仮想サーバのリソース種毎のリソース負荷の中の、各リソース種についての最大リソース負荷をそれぞれ持つものとして生成し、
 前記選択部は、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する、
 付記13に記載のプログラム。
 (付記15)
 前記移動先決定部は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、該移動対象仮想サーバを移動させた後の空きリソース量が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
 付記13又は14に記載のプログラム。
 (付記16)
 前記情報取得部により取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をそれぞれ格納するリソース情報格納部を前記コンピュータに更に実現させ、
 前記移動先決定部は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、前記リソース履歴情報に基づく該移動対象仮想サーバを移動させた後の空きリソース量の所定期間の積算値が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
 付記13又は14に記載のプログラム。
 (付記17)
 移動対象仮想サーバの移動先選択ポリシを格納するポリシ格納部を更に備え、
 前記移動先決定部は、前記移動対象仮想サーバ及び前記代表仮想サーバモデルの少なくとも一方の移動後に関し算出される値が前記移動先選択ポリシに合致するか否かを前記条件とする
 付記15又は16に記載のプログラム。
 (付記18)
 前記情報取得部により取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をそれぞれ格納するリソース情報格納部を前記コンピュータに更に実現させ、
 前記生成部は、前記各仮想サーバに関する前記リソース履歴情報に含まれる或る時点のリソース負荷情報から、前記各k-meansクラスタに関し、前記各k-meansクラスタ内の全仮想サーバの負荷の確率分布を包含する包含確率分布を持つ前記代表仮想サーバモデルをそれぞれ生成し、
 前記選択部は、
  前記各物理サーバ上の各仮想サーバのリソース履歴情報から、各物理サーバに関し、仮想サーバのリソース負荷の確率分布をそれぞれ算出する確率分布算出部と、
  前記各代表仮想サーバモデルの前記包含確率分布と、前記各物理サーバの前記確率分布とに基づいて、前記代表仮想サーバモデルを移動させた後の前記物理サーバのリソース負荷が所定負荷上限値を超える確率を示す前記各物理サーバの過負荷確率を、前記各代表仮想サーバモデルに関しそれぞれ算出する過負荷確率算出部と、
 を含み、
 前記各代表仮想サーバモデルに関し算出された前記各物理サーバの過負荷確率に基づいて、前記各代表仮想サーバモデルの移動先となる物理サーバを選択する、
 付記13又は14に記載のプログラム。
 付記13から18のいずれか1つに記載のプログラムをコンピュータに読み取り可能に記録する記録媒体。
 この出願は、2012年3月2日に出願された日本出願特願2012-046194号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (8)

  1.  複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得する情報取得部と、
     前記複数の仮想サーバを、前記リソース情報に含まれる前記複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングするクラスタリング部と、
     前記各仮想サーバの前記リソース負荷情報に基づいて、前記各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、
     前記複数の物理サーバに関する前記リソース情報に基づいて、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの前記最大リソース負荷を負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、
     前記複数の仮想サーバの中の移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として選択された物理サーバを、該移動対象仮想サーバの移動先に決定する移動先決定部と、
     を備える仮想サーバ管理装置。
  2.  前記情報取得部は、前記複数の物理サーバ及び前記複数の仮想サーバの各々について、複数リソース種の各々に関するリソース情報をそれぞれ取得し、
     前記クラスタリング部は、前記複数の仮想サーバを、前記リソース情報に含まれる前記複数リソース種のリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、
     前記生成部は、前記各k-meansクラスタの前記代表仮想サーバモデルを、前記各k-meansクラスタに所属する仮想サーバのリソース種毎のリソース負荷の中の、各リソース種についての最大リソース負荷をそれぞれ持つものとして生成し、
     前記選択部は、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの各リソース種の最大リソース負荷の全てを負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する、
     請求項1に記載の仮想サーバ管理装置。
  3.  前記移動先決定部は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、該移動対象仮想サーバを移動させた後の空きリソース量が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
     請求項1又は2に記載の仮想サーバ管理装置。
  4.  前記情報取得部により取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をそれぞれ格納するリソース情報格納部を更に備え、
     前記移動先決定部は、移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として前記選択部により選択された複数の物理サーバの中で、前記リソース履歴情報に基づく該移動対象仮想サーバを移動させた後の空きリソース量の所定期間の積算値が最小となる条件、及び、該代表仮想サーバモデルを移動させた後の空きリソース量が最小となる条件の少なくとも一方を満たす物理サーバを、該移動対象仮想サーバの移動先に決定する、
     請求項1又は2に記載の仮想サーバ管理装置。
  5.  移動対象仮想サーバの移動先選択ポリシを格納するポリシ格納部を更に備え、
     前記移動先決定部は、前記移動対象仮想サーバ及び前記代表仮想サーバモデルの少なくとも一方の移動後に関し算出される値が前記移動先選択ポリシに合致するか否かを前記条件とする、
     請求項3又は4に記載の仮想サーバ管理装置。
  6.  前記情報取得部により取得された前記リソース情報に基づいて、前記複数の物理サーバ及び複数の仮想サーバの各々についてリソース履歴情報をそれぞれ格納するリソース情報格納部を更に備え、
     前記生成部は、前記各仮想サーバに関する前記リソース履歴情報に含まれる或る時点のリソース負荷情報から、前記各k-meansクラスタに関し、前記各k-meansクラスタ内の全仮想サーバの負荷の確率分布を包含する包含確率分布を持つ前記代表仮想サーバモデルをそれぞれ生成し、
     前記選択部は、
      前記各物理サーバ上の各仮想サーバのリソース履歴情報から、各物理サーバに関し、仮想サーバのリソース負荷の確率分布をそれぞれ算出する確率分布算出部と、
      前記各代表仮想サーバモデルの前記包含確率分布と、前記各物理サーバの前記確率分布とに基づいて、前記代表仮想サーバモデルを移動させた後の前記物理サーバのリソース負荷が所定負荷上限値を超える確率を示す前記各物理サーバの過負荷確率を、前記各代表仮想サーバモデルに関しそれぞれ算出する過負荷確率算出部と、
     を含み、
     前記各代表仮想サーバモデルに関し算出された前記各物理サーバの過負荷確率に基づいて、前記各代表仮想サーバモデルの移動先となる物理サーバを選択する、
     請求項1又は2に記載の仮想サーバ管理装置。
  7.  コンピュータが、
     複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得し、
     前記複数の仮想サーバを、前記リソース情報に含まれる前記複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングし、
     前記各仮想サーバの前記リソース負荷情報に基づいて、前記各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成し、
     前記複数の物理サーバに関する前記リソース情報に基づいて、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの前記最大リソース負荷を負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択し、
     前記複数の仮想サーバの中の移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として選択された物理サーバを、該移動対象仮想サーバの移動先に決定する、
     ことを含む仮想サーバの移動先決定方法。
  8.  複数の物理サーバ及び複数の仮想サーバの各々についてリソース情報をそれぞれ取得する情報取得部と、
     前記複数の仮想サーバを、前記リソース情報に含まれる前記複数の仮想サーバのリソース負荷情報に基づくk-meansクラスタ(kは2以上の整数)にクラスタリングするクラスタリング部と、
     前記各仮想サーバの前記リソース負荷情報に基づいて、前記各k-meansクラスタに関し、所属する仮想サーバのリソース負荷の中の最大リソース負荷を持つ代表仮想サーバモデルをそれぞれ生成する生成部と、
     前記複数の物理サーバに関する前記リソース情報に基づいて、前記複数の物理サーバの中から、前記各代表仮想サーバモデルの前記最大リソース負荷を負担し得る物理サーバを、前記各代表仮想サーバモデルの移動先としてそれぞれ選択する選択部と、
     前記複数の仮想サーバの中の移動対象仮想サーバが属する前記k-meansクラスタの前記代表仮想サーバモデルの移動先として選択された物理サーバを、該移動対象仮想サーバの移動先に決定する移動先決定部と、
     をコンピュータに実現させるプログラム。
PCT/JP2013/000874 2012-03-02 2013-02-18 仮想サーバ管理装置及び仮想サーバの移動先決定方法 WO2013128836A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-046194 2012-03-02
JP2012046194 2012-03-02

Publications (1)

Publication Number Publication Date
WO2013128836A1 true WO2013128836A1 (ja) 2013-09-06

Family

ID=49082052

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/000874 WO2013128836A1 (ja) 2012-03-02 2013-02-18 仮想サーバ管理装置及び仮想サーバの移動先決定方法

Country Status (2)

Country Link
JP (1) JPWO2013128836A1 (ja)
WO (1) WO2013128836A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087449A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP2015184965A (ja) * 2014-03-25 2015-10-22 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207173A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd 性能分析プログラム、性能分析方法、および性能分析装置
JP2009537894A (ja) * 2006-05-18 2009-10-29 マイクロソフト コーポレーション 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
JP2010244181A (ja) * 2009-04-02 2010-10-28 Nec Corp 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207173A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd 性能分析プログラム、性能分析方法、および性能分析装置
JP2009537894A (ja) * 2006-05-18 2009-10-29 マイクロソフト コーポレーション 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
JP2010244181A (ja) * 2009-04-02 2010-10-28 Nec Corp 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MITSURU YANAGISAWA ET AL.: "Kaso Server no Saiteki na Haichi Hoshiki no Teian to Hyoka", DAI 69 KAI (HEISEI 19 NEN) ZENKOKU TAIKAI KOEN RONBUNSHU (3), 6 March 2007 (2007-03-06), pages 3-43 - 3-44 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087449A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP2015184965A (ja) * 2014-03-25 2015-10-22 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム

Also Published As

Publication number Publication date
JPWO2013128836A1 (ja) 2015-07-30

Similar Documents

Publication Publication Date Title
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
CN112153700B (zh) 一种网络切片资源管理方法及设备
WO2010024027A1 (ja) 仮想サーバシステム及び物理サーバ選択方法
JP5880575B2 (ja) リソース検索装置及び該プログラム
US8209511B2 (en) Storage management apparatus, a storage management method and a storage management program
US10051056B2 (en) Resource planning method, system, and apparatus for cluster computing architecture
US20190056983A1 (en) It system fault analysis technique based on configuration management database
JP5077617B2 (ja) 想定外需要検出システムおよび想定外需要検出プログラム
CN107404523A (zh) 云平台自适应资源调度***和方法
CN111552570B (zh) 物联网数据处理资源的自适应分配方法及云计算服务器
CN105607952B (zh) 一种虚拟化资源的调度方法及装置
Davis et al. Failuresim: a system for predicting hardware failures in cloud data centers using neural networks
KR102612841B1 (ko) 마이크로 데이터센터 내 운용 서비스별 작업 부하 예측 모델 적용 방법
CN104199724A (zh) 一种基于性价比的虚拟化资源调度优化方法
CN116244085A (zh) Kubernetes集群容器组调度方法、装置及介质
WO2013128836A1 (ja) 仮想サーバ管理装置及び仮想サーバの移動先決定方法
CN117422274A (zh) 综合能源***运行优化***及方法
CN110058942B (zh) 基于层次分析法的资源分配***及方法
CN115168042A (zh) 监控集群的管理方法及装置、计算机存储介质、电子设备
JP6213665B2 (ja) 情報処理装置、及び、クラスタリング方法
CN110647381B (zh) 一种虚拟机资源均衡和部署优化方法
US20200280525A1 (en) Allocation method, allocating device, and computer-readable recording medium
CN114296872A (zh) 用于容器集群管理***的调度方法及装置
CN109040214B (zh) 一种云环境下可靠性增强的服务部署方法
CN117808602B (zh) 基于子账户扩展的热点账户记账方法及相关装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014502004

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13755354

Country of ref document: EP

Kind code of ref document: A1