WO2014125818A1 - Information processing device that performs allocation processing for virtual machine, and virtual machine allocation method - Google Patents
Information processing device that performs allocation processing for virtual machine, and virtual machine allocation method Download PDFInfo
- Publication number
- WO2014125818A1 WO2014125818A1 PCT/JP2014/000728 JP2014000728W WO2014125818A1 WO 2014125818 A1 WO2014125818 A1 WO 2014125818A1 JP 2014000728 W JP2014000728 W JP 2014000728W WO 2014125818 A1 WO2014125818 A1 WO 2014125818A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- server
- allocation
- size
- unit
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims description 30
- 230000008569 process Effects 0.000 claims description 15
- 230000005012 migration Effects 0.000 description 26
- 238000013508 migration Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 25
- 230000009467 reduction Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 238000013467 fragmentation Methods 0.000 description 4
- 238000006062 fragmentation reaction Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Definitions
- the present invention relates to a technique for controlling the configuration of a computer or a server, and more particularly to a technique for assigning a virtual machine to a real machine.
- Patent Document 1 discloses a server migration plan creation system.
- the server migration plan creation system performs server integration in which each of a large number of migration source servers is migrated to a small number of migration destination servers as virtual machines.
- the processor of the server migration plan creation system selects the migration source servers one by one in descending order of resource usage. In addition, the processor selects one of the migration destination servers. For example, the processor selects the migration destination server in ascending order of the remaining capacity of the resource capacity.
- the processor executes a comparison process between the resource usage of the selected migration source server and the remaining resource capacity of the selected migration destination server.
- the processor selects another migration destination server and executes the above comparison process again.
- the processor allocates the selected migration source server as a virtual machine to the selected migration destination server.
- the server migration plan creation system selects and processes the migration source servers in the descending order of the resource usage, thereby reducing the number of migrated servers (migration destination servers). It is possible to create a plan.
- Patent Document 1 has a problem that the number of servers at the migration destination cannot be appropriately reduced.
- Patent Document 1 uses the resources of the migration destination server after allocating the migration source server to the migration destination server when determining whether the migration source server can be allocated to the migration destination server. This is because the remaining capacity is not considered.
- the technique described in Patent Document 1 is based on the comparison result between the resource usage of the migration source server and the remaining resource capacity of the migration destination server, and the migration source to the migration destination server. This is because it is determined whether the server can be allocated.
- An object of the present invention is to provide an information processing apparatus, a virtual machine allocation method, and a program therefor that solve the above-described problems.
- the information processing apparatus acquires a payout request including a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration, Any one of the division standards that indicates the virtual machine specification corresponding to each of the servers and the virtual machine of the specification that can be issued by the server using the size, corresponding to each of the servers. Whether or not the virtual machine specifications conform to each other in the sort order, and based on the result of the determination and information on unallocated resources of the server, the virtual machine specifications are assigned to any of the servers. And virtual machine allocating means for outputting information indicating the allocated result.
- the information processing system acquires a payout request including a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration, Any one of the division standards that indicates the virtual machine specification corresponding to each of the servers and the virtual machine of the specification that can be issued by the server using the size, corresponding to each of the servers. Whether or not the virtual machine specifications conform to each other in accordance with the sorting order, and assigns the virtual machine specifications to any of the servers based on the determination result and information on unallocated resources of the server. , An information processing apparatus including a virtual machine allocating unit that outputs information indicating the allocated result, and the server.
- the computer issues a payout request including a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration.
- a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration.
- a computer-readable non-transitory recording medium includes a virtual machine specification including a virtual machine specification indicating a size of a virtual machine specification in units of a resource amount of a virtual machine having a specific resource configuration. Any of the split standards that obtains the request, sorts the virtual machine specifications included in the payout request in descending order, and indicates the virtual machine of the specification that the server can pay out using the size corresponding to each of the servers. Whether or not the virtual machine specifications conform to each other is determined in the sorted order, and based on the determined result and the information on the unallocated resources of the server, the virtual machine specifications are determined for any of the servers.
- a program for causing a computer to execute processing for outputting information indicating the assignment result is recorded.
- the present invention has an effect of making it possible to appropriately reduce the number of required servers when a plurality of virtual machines whose specifications are standardized are paid out from the server.
- FIG. 1 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus according to the first embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a hardware configuration of a computer that implements the standardized virtual machine allocation apparatus according to the first embodiment.
- FIG. 3 is a block diagram illustrating a configuration of an information processing system including the standardized virtual machine assignment apparatus according to the first embodiment.
- FIG. 4 is a diagram illustrating an example of a payout request structure according to the first embodiment.
- FIG. 5 is a diagram illustrating an example of a division standard list according to the first embodiment.
- FIG. 6 is a diagram illustrating an example of a virtual machine allocation list according to the first embodiment.
- FIG. 1 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus according to the first embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a hardware configuration of a computer that implements the standardized virtual machine allocation apparatus according to the first embodiment.
- FIG. 3 is a
- FIG. 7 is a diagram illustrating an example of an unallocated server resource list according to the first embodiment.
- FIG. 8 is a flowchart illustrating the operation of the standardized virtual machine assignment apparatus according to the first embodiment.
- FIG. 9 is a flowchart illustrating the operation of the virtual machine allocation unit in the first embodiment.
- FIG. 10 is a block diagram showing the configuration of the standardized virtual machine allocation apparatus according to the second embodiment of the present invention.
- FIG. 11 is a diagram illustrating an example of a payout request structure according to the second embodiment.
- FIG. 12 is a diagram illustrating an example of a virtual machine allocation list according to the second embodiment.
- FIG. 13 is a block diagram showing the configuration of the standardized virtual machine allocation apparatus according to the third embodiment of the present invention.
- FIG. 14 is a diagram illustrating an example of a division standard list according to the third embodiment.
- FIG. 15 is a diagram illustrating an example of a division standard list according to the third embodiment.
- FIG. 16 is a flowchart showing the operation of the standardized virtual machine allocation apparatus in the third embodiment.
- FIG. 1 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus (also referred to as an information processing apparatus) 100 according to the first embodiment of the present invention.
- the standardized virtual machine allocation apparatus 100 includes an allocation request sorting unit 110 and a virtual machine allocation unit 120.
- the constituent elements shown in FIG. 1 may be constituent elements in hardware units or constituent elements divided into functional units of the computer apparatus. That is, the standardized virtual machine assignment apparatus 100 may be a computer.
- the components shown in FIG. 1 are components divided into functional units of a computer.
- FIG. 2 is a diagram illustrating a hardware configuration of a computer 700 that implements the standardized virtual machine assignment apparatus 100 according to the present embodiment.
- the computer 700 includes a CPU (Central Processing Unit) 701, a storage unit 702, a storage device 703, an input unit 704, an output unit 705, and a communication unit 706. Furthermore, the computer 700 includes a recording medium (or storage medium) 707 supplied from the outside.
- the recording medium 707 may be a non-volatile recording medium that stores information non-temporarily.
- the nonvolatile recording medium is also called a non-temporary recording medium.
- the recording medium 707 may be a temporary recording medium that holds information as a signal.
- the CPU 701 controls the overall operation of the computer 700 by operating an operating system (not shown).
- the CPU 701 reads a program and data from a recording medium 707 mounted on the storage device 703, for example, and writes the read program and data to the storage unit 702.
- the program is, for example, a program that causes the computer 700 to execute operations of flowcharts shown in FIGS.
- the CPU 701 executes various processes as the allocation request sort unit 110 and the virtual machine allocation unit 120 shown in FIG. 1 according to the read program and based on the read data.
- the CPU 701 may download a program and data to the storage unit 702 from an external computer (not shown) connected to a communication network (not shown) via the communication unit 706.
- the storage unit 702 stores programs and data (for example, an unallocated server resource list 810 and a division standard list 820 described later).
- the storage device 703 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, and a semiconductor memory, and includes a recording medium 707.
- the storage device 703 (recording medium 707) stores the program in a computer-readable manner.
- the storage device 703 may store data (for example, an unallocated server resource list 810 and a division standard list 820 described later).
- the input unit 704 is realized by, for example, a mouse, a keyboard, a built-in key button, and their control means, and is used for an input operation.
- the input unit 704 is not limited to a mouse, a keyboard, and a built-in key button, and may be a touch panel and its control means, for example.
- the input unit 704 may be included as part of the allocation request sorting unit 110 and the virtual machine allocation unit 120.
- the output unit 705 is realized by, for example, a display and its control means, and is used for confirming the output.
- the output unit 705 may be included as part of the virtual machine allocation unit 120.
- the communication unit 706 implements an interface with an external device (not shown).
- the communication unit 706 may be included as a part of each of the allocation request sorting unit 110 and the virtual machine allocation unit 120.
- the functional unit block of the standardized virtual machine allocation apparatus 100 shown in FIG. 1 is realized by the computer 700 having the hardware configuration shown in FIG.
- the means for realizing each unit included in the computer 700 is not limited to the above.
- the computer 700 may be realized by one physically coupled device, or may be realized by two or more physically separated devices connected by wire or wirelessly and by a plurality of these devices. .
- the recording medium 707 in which the above-described program code is recorded may be supplied to the computer 700, and the CPU 701 may read and execute the program code stored in the recording medium 707.
- the CPU 701 may store the code of the program stored in the recording medium 707 in the storage unit 702, the storage device 703, or both. That is, the present embodiment includes an embodiment of a recording medium 707 that stores a program (software) executed by the computer 700 (CPU 701) temporarily or non-temporarily.
- FIG. 3 is a block diagram showing the configuration of the information processing system 101 including the standardized virtual machine allocation apparatus 100.
- the information processing system 101 includes a standardized virtual machine allocation device 100 and a server 102 connected via a network 103.
- the number of servers 102 may be an arbitrary number regardless of the example of the present embodiment.
- the server 102 is a physical server that can allocate a virtual machine VM.
- the allocation request sorting unit 110 acquires a payout request input by the operator via the input unit 704 shown in FIG.
- the assignment request sorting unit 110 may acquire a payout request from an external device (not shown) via the communication unit 706 shown in FIG.
- FIG. 4 is a diagram illustrating an example of the structure of the payout request 830.
- the payout request 830 includes a virtual machine specification 832 and a requested number 833.
- the virtual machine specification 832 is information indicating a specification corresponding to the virtual machine VM as a size, which is a numerical value in units of the resource amount of the virtual machine VM having a specific resource configuration.
- the virtual machine specification 832 is a specification of the virtual machine VM standardized using the size.
- the requested number 833 is the number of virtual machines VM corresponding to the virtual machine specification 832 that is requested to be allocated to the server 102.
- the specification (resource amount) of a general virtual machine VM is shown as, for example, “a certain kind of CPU 2 core, memory amount 8 GB, hard disk capacity 500 GB”.
- the performance of one CPU core differs depending on the type, generation, model number, etc. as well as the frequency (number of clocks). Therefore, the performance value of the CPU is expressed by normalizing the performance of a specific CPU or the performance of an integer of 1 as 1.
- the specification (CPU performance value) related to the CPU resource of a certain virtual machine VM is defined as “CPU 3 core performance 3”.
- the specification (resource amount) of the virtual machine VM having the lowest performance which is basic in the standardization, is defined as follows. For convenience, this is referred to here as the basic size of the virtual machine VM.
- the basic size of the virtual machine VM is, for example, “performance 1 CPU 1 core, memory 2 GB, hard disk 120 GB”.
- the basic size may be arbitrarily defined regardless of the above example.
- the virtual machine VM of this basic size is a standardized virtual machine VM of the basic size.
- this basic size is the specification of the virtual machine VM in a standardized minimum unit (when used as a unit, it is simply expressed as a size).
- the specifications of other standardized virtual machines VM are defined based on an integral multiple of the basic size. For example, the specification of twice the basic size is defined as “CPU 1 core of performance 2 and memory 4 GB, hard disk 240 GB”, and the specification of 4 times is defined as “CPU 2 core of performance 2 and memory 8 GB, hard disk 480 GB”.
- the basic size specification is referred to as a size 1 specification
- a specification N times the basic size is referred to as a size N specification.
- a virtual machine VM having a size N specification is referred to as a size N virtual machine VM.
- the virtual machine specification 832 is information indicating the specification corresponding to the virtual machine VM as a numerical value with the specification of the basic size (virtual machine VM having a specific resource configuration) as a unit.
- the server 102 also has a specification that is an integral multiple of the basic size.
- a basic size is defined by equally dividing the resource amount of a physical server (server 102) having a certain standard specification.
- the specification of the server 102 is “performance 8 CPU 8 core, memory 32 GB, hard disk 1920 GB”.
- the above-mentioned basic size example can be obtained.
- a server 102 having a specification N times the basic size is referred to as a size N server 102.
- the basic size may be obtained by equally dividing the remaining amount obtained by subtracting a certain resource amount from the resource amount of the server 102 regardless of the above example.
- the basic size may be obtained by dividing the resource amount of the server 102 into a plurality of different resource amounts, and then dividing each of the divided different resource amounts equally.
- the allocation request sorting unit 110 sorts the virtual machine specifications 832 included in the acquired payout request 830 in descending order.
- the allocation request sorting unit 110 changes the virtual machine specification 832 to “size 4, size 3, size 3, size 2, Sort as “size 2”.
- the virtual machine allocation unit 120 of this embodiment includes a standard determination unit 121 and an allocation information generation unit 122, for example.
- the allocation information generation unit 122 of the virtual machine allocation unit 120 selects the virtual machine specifications 832 included in the payout request 830 one by one in the sorted order.
- the standard determination unit 121 of the virtual machine allocation unit 120 refers to the division standard list and determines whether or not the selected virtual machine specification 832 conforms to any of the division standards corresponding to each of the servers 102. To do.
- FIG. 5 is a diagram showing an example of the division standard list 820.
- the division standard list 820 includes a set of a server identifier 811 that is an identifier of the server 102 and a division standard 822.
- the division standard 822 is a standard that uses the virtual machine specification 832 to indicate the specifications of the virtual machine VM that the server 102 can issue. Details of the division standard 822 will be described later.
- the virtual machine allocation unit 120 uses the division standard list 820 stored in advance in the storage unit 702 or the storage device 703 illustrated in FIG. Further, the virtual machine allocation unit 120 may read and use the division standard list 820 stored in the recording medium 707 shown in FIG. Further, the virtual machine allocation unit 120 may acquire the division standard list 820 from an external device (not illustrated) via the communication unit 706 illustrated in FIG. 2 and use the division standard list 820. Further, the virtual machine allocating unit 120 may acquire the division standard list 820 input by the operator via the input unit 704 illustrated in FIG. 2 and use the division standard list 820.
- the allocation information generation unit 122 of the virtual machine allocation unit 120 allocates the virtual machine specification 832 to the server 102 based on the determined result.
- the server 102 is the server 102 identified by the server identifier 811 corresponding to the division standard 822 to which the selected virtual machine specification 832 conforms.
- the meaning of “assigning the virtual machine specification 832 to the server 102” is that the virtual machine VM of the virtual machine specification 832 can be paid out using the resource on the server 102.
- the allocation information generation unit 122 of the virtual machine allocation unit 120 outputs the allocation result.
- the virtual machine assignment unit 120 outputs the assignment result as a virtual machine assignment list.
- FIG. 6 is a diagram showing an example of the virtual machine allocation list 840.
- the virtual machine allocation list 840 includes a set of a virtual machine specification 832 and a server identifier 811. The set indicates that the virtual machine specification 832 is assigned to the server 102 specified by the server identifier 811.
- the allocation information generation unit 122 of the virtual machine allocation unit 120 allocates the virtual machine specification 832 to one of the servers 102 based on the unallocated server resource list in addition to the above-described determination result.
- the unallocated server resource list is a list of unallocated resource amounts corresponding to each of the servers 102.
- FIG. 7 is a diagram illustrating an example of the unallocated server resource list 810. As illustrated in FIG. 7, the unallocated server resource list 810 includes a set of a server identifier 811 and an unallocated resource amount 812 that indicates the amount of resources that are not allocated to the virtual machine specification 832.
- the virtual machine allocation unit 120 allocates the virtual machine specification 832 to the server 102 that satisfies the following two conditions.
- the first condition is that the unallocated resource amount 812 of the server 102 is the virtual machine specification 832 or more.
- the second condition is that the above-mentioned determination is a determination that “the virtual machine specification 832 conforms to the division standard 822 of the server 102”.
- the virtual machine allocation unit 120 uses the unallocated server resource list 810 stored in advance in the storage unit 702 or the storage device 703 illustrated in FIG. Further, the virtual machine allocation unit 120 may read and use the unallocated server resource list 810 stored in the recording medium 707 illustrated in FIG. Further, the virtual machine allocation unit 120 may acquire the unallocated server resource list 810 from an external device (not illustrated) via the communication unit 706 illustrated in FIG. 2 and use the unallocated server resource list 810. . Further, the virtual machine allocation unit 120 may acquire the unallocated server resource list 810 input by the operator via the input unit 704 illustrated in FIG. 2 and use the unallocated server resource list 810.
- the virtual machine allocation unit 120 allocates the virtual machine specification 832 to any one of the servers 102 based on any information other than the unallocated server resource list 810 and the division standard list 820 as well. It may be.
- the arbitrary information is, for example, the relationship between the application operating on the virtual machine VM and the model, installation location, and management unit of the server 102.
- a size 1 to N virtual machine VM can be paid out from the size N server 102.
- the division standard 822 is determined based on the following three rules.
- a size N virtual machine VM can be issued from the size N server 102.
- a size 6 virtual machine VM can be paid out from the size 6 server 102.
- a virtual machine VM of size X can be issued from the server 102 of size N
- the divisor A of the integer X selected in the second rule should not be changed after being selected once for a certain server 102.
- Integer X always includes X itself as a divisor. For this reason, it is possible to issue a size 1 virtual machine VM to the server 102 of any size.
- the virtual machines VM of size 6, 3, 1 can be paid out from the size 6 server 102.
- the list of virtual machine VM sizes that can be paid out from the server 102 determined in this way is called a division standard (division standard 822) of the server 102.
- the division standard 822 is expressed as [6-3-1].
- another server 102 may have another division standard 822.
- the division standards 822 of the two servers 102 of size 6 may be [6-3-1] and [6-2-1], respectively.
- the server 102 and the virtual machine VM have specifications related to resources expressed in units of size.
- Each server 102 is assigned a division standard 822 that defines the size of the virtual machine VM that may be paid out from the server 102.
- FIG. 8 is a flowchart showing the operation of the standardized virtual machine assignment apparatus 100 of this embodiment. Note that the processing according to this flowchart may be executed based on the program control by the CPU 701 described above. Further, the step name of the process is described by a symbol as in step S601.
- the allocation request sorting unit 110 acquires the payout request 830 (step S601).
- the allocation request sorting unit 110 sorts the virtual machine specifications 832 included in the payout request 830 in descending order (in descending order of size) (step S602).
- the virtual machine allocation unit 120 allocates the virtual machine specification 832 to one of the servers 102 based on the division standard list 820 and the unallocated server resource list 810 (step S603). Specifically, the virtual machine allocation unit 120 includes the virtual machine specification 832 and the server identifier 811 of the server 102 to which the virtual machine specification 832 is allocated in the virtual machine allocation list 840.
- the virtual machine allocation unit 120 outputs allocation information (for example, the virtual machine allocation list 840) indicating the allocation result (step S604).
- FIG. 9 is a flowchart showing the operation of the virtual machine allocation unit 120 in step S603 of FIG.
- the allocation information generation unit 122 of the virtual machine allocation unit 120 checks whether allocation has been completed for all the virtual machine specifications 832 (step S611). For example, the allocation information generation unit 122 stores the sorted list of virtual machine specifications 832 in the storage unit 702 illustrated in FIG. 2 and sets a flag for each virtual machine specification 832 to determine whether the allocation is completed. to manage.
- step S611 If the allocation has been completed for all the virtual machine specifications 832 (YES in step S611), the process ends.
- the assignment information generation unit 122 selects one virtual machine specification 832 in the sorted order (step S612). For example, the allocation information generation unit 122 refers to the list of virtual machine specifications 832 described above, and sequentially selects the virtual machine specifications 832.
- the allocation information generation unit 122 confirms whether all the servers 102 have been selected (step S613). For example, the allocation information generation unit 122 stores a list of server identifiers 811 in the storage unit 702 illustrated in FIG. 2, and provides a flag for each server identifier 811 to manage whether the selection has been performed.
- the allocation information generation unit 122 If all the servers 102 have been selected (YES in step S613), the allocation information generation unit 122 generates failure information (step S614).
- the failure information is information indicating that the allocation of the virtual machine specification 832 has failed.
- the failure information may include detailed information indicating information about the virtual machine specification 832 that could not be assigned, information about the virtual machine specification 832 that could be assigned, and the like. Then, the process ends.
- the allocation information generating unit 122 selects one of the unselected servers 102 (step S615).
- the allocation information generation unit 122 may refer to the unallocated server resource list 810 and select the servers 102 in ascending order of the unallocated resource amount 812. Further, the allocation information generation unit 122 may select the server 102 according to other criteria.
- the allocation information generation unit 122 refers to the unallocated server resource list 810 and determines whether or not the unallocated resource amount 812 of the selected server 102 is equal to or greater than the selected virtual machine specification 832 (step S616). ).
- step S616 If the unallocated resource amount 812 is less than the virtual machine specification 832 (NO in step S616), the process returns to step S613.
- the standard determination unit 121 of the virtual machine allocation unit 120 refers to the division standard list 820, and the virtual machine specification 832 is the server. It is determined whether or not the division standard 822 corresponding to 102 conforms (step S617).
- step S617 If the virtual machine specification 832 does not conform to the division standard 822 (NO in step S617), the process returns to step S613.
- the standard determination unit 121 updates the virtual machine allocation list 840 so that the virtual machine specification 832 is allocated to the server 102 ( Step S618). “Assigning the virtual machine specification 832 to the server 102” means “allowing the virtual machine VM corresponding to the virtual machine specification 832 to be issued from the server 102”.
- the above-described operation is an operation in which the virtual machine specifications 832 corresponding to the virtual machines VM are assigned to any of the servers 102 having matching division standards 822 in descending order.
- the payout request 835 is “size 3; 2, size 4; 2”.
- the server 102 has two servers, the server identifier 811 is “SV001” and the unallocated resource amount 812 is “6”, the server identifier 811 is “SV002”, and the unallocated resource amount 812 is “8”. Further, it is assumed that the division standards 822 are “6-3-1” and “8-4-1” corresponding to the servers 102 whose server identifiers 811 are “SV001” and “SV002”, respectively.
- the first “size 4” virtual machine VM is paid out from the server “SV001”.
- the second “size 4” virtual machine VM is assigned to the “SV002” server 102, and the first “size 3” virtual machine VM is assigned to “ The payout is made from the server 102 of “SV002”.
- payout is performed. Fail. At this time, the unallocated resource amount of “2” size remains in the server 102 of “SV001” and the size of “1” remains in the server 102 of “SV002”.
- the standardized virtual machine allocation apparatus 100 allocates two “size 3” virtual machine specifications 832 to “SV001” and two “size 4” virtual machine specifications 832 to “SV002” based on the division standard 822. . Therefore, the standardized virtual machine allocation device 100 can issue the requested virtual machine VM by the two servers 102. At this time, the unallocated resource amount of both servers 102 is “0”.
- a certain virtual machine allocation device does not sort the resource amounts of the virtual machines VM in descending order, the allocation of the virtual machines VM by the virtual machine allocation device is not guaranteed to be optimal. For example, it is assumed that there are two servers 102 having an unallocated resource amount 812 of “6”. Then, the virtual machine allocation device first issues a virtual machine VM with a virtual machine specification 832 of “3” from those servers 102. Next, even if the virtual machine allocation device tries to pay out the virtual machine VM whose virtual machine specification 832 is “6”, it cannot be paid out. Then, two servers 102 having an unallocated resource amount 812 of “3” and a virtual machine VM having a virtual machine specification 832 of “6” remain.
- allocation request sorting unit 110 may be included in the virtual machine allocation unit 120. That is, when the virtual machine allocation unit 120 selects the virtual machine specification 832, the allocation request sorting unit 110 may sequentially sort the virtual machine specification 832.
- the first effect of the present embodiment described above is that it is possible to appropriately reduce the number of necessary servers 102 when paying out a plurality of virtual machines VMs whose specifications are standardized from the server 102. is there.
- the reason is that the allocation request sorting unit 110 sorts the virtual machine specifications 832 in descending order, and the virtual machine allocation unit 120 assigns the virtual machine specifications 832 to any of the servers 102 in the sorted order based on the division standard list 820. It is because it was assigned to.
- the second effect of the present embodiment described above is that the server 102 can be allocated without waste.
- FIG. 10 is a block diagram showing the configuration of the standardized virtual machine allocation apparatus 200 according to the second embodiment of the present invention.
- the standardized virtual machine allocation device 200 includes a processing device 201 and a storage device 800.
- the standardized virtual machine allocation apparatus 200 is, for example, the computer 700 shown in FIG. Further, the standardized virtual machine allocation device 200 may be a dedicated device realized by hardware and software.
- the processing apparatus 201 includes an allocation request sorting unit 210, a virtual machine allocation unit 220, and an instruction unit 230.
- the allocation request sorting unit 210, the virtual machine allocation unit 220, and the instruction unit 230 are realized when the CPU 701 illustrated in FIG. 2 executes, for example, a program stored in the recording medium 707 illustrated in FIG.
- FIG. 11 is a diagram illustrating an example of the structure of the payout request 835.
- the payout request 835 includes an arbitrary number of virtual machine allocation requests 839.
- the virtual machine allocation request 839 is a set of a virtual machine identifier 831 and a virtual machine specification 832.
- the virtual machine identifier 831 is an identifier for identifying the virtual machine VM.
- the payout request 835 is “VM001; 3, VM002; 4, VM003; 2, VM004; 3, VM005; 2”
- the allocation request sort unit 210 “VM002; 4, VM001; ; 2, VM005; 2 ".
- the allocation request sorting unit 210 is equivalent to the allocation request sorting unit 110 shown in FIG.
- the allocation information generation unit 222 of the virtual machine allocation unit 220 generates a virtual machine allocation list 845 as shown in FIG. 12 based on the result of sorting the payout requests 835 by the allocation request sorting unit 210 as described above.
- FIG. 12 is a diagram illustrating an example of the virtual machine allocation list 845.
- the virtual machine allocation list 845 includes a set of a server identifier 811 and a virtual machine identifier 831 that is an identifier of the virtual machine VM.
- the set indicates that the virtual machine VM specified by the virtual machine identifier 831 is issued from the server 102 specified by the server identifier 811.
- the virtual machine allocation unit 220 acquires the unallocated server resource list 810 and the division standard list 820 from the storage device 800.
- the virtual machine allocation unit 220 is equivalent to the virtual machine allocation unit 120 shown in FIG.
- the server 102 can be executed up to a process for instructing the payout of the virtual machine VM.
- the allocation request sorting unit 210 sorts the virtual machine specifications 832 paired with the virtual machine identifier 831 in descending order.
- the virtual machine allocation unit 220 generates a virtual machine allocation list 845 indicating that the virtual machine identifier 831 is allocated to the server 102.
- the instruction unit 230 instructs each of the servers 102 to pay out the virtual machine VM based on the virtual machine allocation list 845.
- FIG. 13 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus 300 according to the third embodiment of the present invention.
- the standardized virtual machine allocation apparatus 300 in the present embodiment is different from the standardized virtual machine allocation apparatus 200 in the second embodiment illustrated in FIG. 10 in that a processing apparatus 301 is used instead of the processing apparatus 201. Including. Further, the storage device 800 stores a division standard list 860 instead of the division standard list 820.
- FIG. 14 is a diagram illustrating an example of the division standard list 860.
- the division standard list 860 includes a division standard record 869 that is a set of a server identifier 811, a division standard 822, and a valid flag 863.
- the valid flag 863 indicates whether the corresponding division standard record 869 is in a valid state (“1”) or invalid (“0”).
- the division standard list 860 includes a plurality of division standard records 869 having the same server identifier 811 and different division standards 822.
- the server 102 may include a plurality of division standards 822.
- the division standard list 860 may include all or some of the division standards 822 that the server 102 can have for each server 102.
- the processing device 301 includes a virtual machine allocation unit 320 instead of the virtual machine allocation unit 220, as compared with the processing device 201 illustrated in FIG.
- the virtual machine allocation unit 320 of this embodiment includes a standard determination unit 321, an allocation information generation unit 222, and a standard reduction unit 323.
- the standard determination unit 321 of the virtual machine allocation unit 320 refers to the division standard list 860 as illustrated in FIG. 14, and the selected virtual machine specification 832 corresponds to one of the division standards 822 for which the validity flag 863 is “1”. Determine if it matches.
- the standard reduction unit 323 of the virtual machine allocation unit 320 determines that the selected virtual machine specification 832 conforms to any one of the division standards 822 whose valid flag 863 is “1”, the standard reduction unit 323 reduces the division standard 822. Execute. The standard reduction unit 323 sets the validity flag 863 of the division standard record 869 that includes the same server identifier 811 as the division standard 822 determined to be compatible and does not conform to the virtual machine specification 832 to “0”. Reduce standard 822.
- the virtual machine allocation unit 320 determines that the selected virtual machine specification 832 conforms to the division standard 822 whose valid flag 863 is “1”. Then, reduction processing of the division standard 822 is performed. The virtual machine allocation unit 320 sets the validity flag 863 corresponding to the division standard 822 that does not conform to the virtual machine specification 832 corresponding to the server 102 corresponding to the division standard 822 determined to conform to “0”. The division standard 822 is reduced.
- the virtual machine allocation unit 320 is equivalent to the virtual machine allocation unit 220 shown in FIG.
- the overall operation of the standardized virtual machine assignment apparatus 300 is the same as the operation shown in the flowchart shown in FIG.
- FIG. 16 is a flowchart showing the operation of the virtual machine assignment unit 320 of the present embodiment, corresponding to the flowchart showing the operation of the virtual machine assignment unit 120 shown in FIG.
- Steps S611 to S616 are equivalent to steps S611 to S616 in FIG.
- the standard determination unit 321 of the virtual machine allocation unit 320 refers to the division standard list 860 to determine whether the virtual machine specification 832 conforms to any of the division standards 822 corresponding to the server 102. Determination is made (step S637).
- step S637 If the virtual machine specification 832 does not conform to the division standard 822 (NO in step S637), the process returns to step S613.
- step S637 If the virtual machine specification 832 conforms to the division standard 822 (YES in step S637), the process proceeds to step S618.
- Step S618 and step S619 are equivalent to step S618 and step S619 of FIG.
- the standard reduction unit 323 of the virtual machine allocation unit 320 sets the validity flag 863 of the division standard record 869 including the division standard 822 to be invalidated to “0”.
- the division standard record 869 includes the same server identifier 811 as the division standard 822 to which the virtual machine specification 832 conforms, and includes the division standard 822 to which the virtual machine specification 832 does not conform (step S640).
- the server identifier 811 is “SV001”, and the division standards 822 are “12-6-3-1”, “12-6-2-1” and “12-”, respectively.
- a division standard record 869 that is “4-2-1” is included.
- the validity flags 863 of those division standard records 869 are all “1”.
- step S637 the standard determination unit 321 of the virtual machine allocation unit 320 determines, for example, that “6” of the virtual machine specification 832 conforms to “12-6-3-1” of the division standard 822.
- the standard reduction unit 323 of the virtual machine allocation unit 320 includes the validity flag 863 of the division standard record 869 that does not conform to “6” of the virtual machine specification 832 including “SV001” of the server identifier 811. Set to “0”.
- the division standard record 869 that does not match “6” of the virtual machine specification 832 has the division standard 822 of “12-4-2-1”. Note that when the division standard 822 is “12-6-2-1,” “6” of the virtual machine specification 832 conforms, so the standard reduction unit 323 changes the validity flag 863 of the division standard record 869 (“ Set to “0”).
- the division standard list 860 is updated as shown in FIG.
- the effects of the present embodiment described above can increase the possibility of paying out virtual machines VM having more types of specifications from each server 102. It is a point to do.
- the division standard list 860 includes division standard records 869 corresponding to a plurality of different division standards 822 for the same server identifier 811. Secondly, when the standard reduction unit 323 of the virtual machine allocation unit 320 determines that the selected virtual machine specification 832 matches the effective division standard 822, the division standard 822 is reduced.
- each component described in each of the above embodiments does not necessarily need to be an independent entity.
- each component may be realized as a module with a plurality of components.
- each component may be realized by a plurality of modules.
- Each component may be configured such that a certain component is a part of another component.
- Each component may be configured such that a part of a certain component overlaps a part of another component.
- each component and a module that realizes each component may be realized by hardware if necessary. Moreover, each component and the module which implement
- the program is provided by being recorded on a non-volatile computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up.
- the read program causes the computer to function as a component in each of the above-described embodiments by controlling the operation of the computer.
- a plurality of operations are not limited to being executed at different timings. For example, another operation may occur during the execution of a certain operation, or the execution timing of a certain operation and another operation may partially or entirely overlap.
- each of the embodiments described above it is described that a certain operation becomes a trigger for another operation, but the description does not limit all relationships between the certain operation and other operations. For this reason, when each embodiment is implemented, the relationship between the plurality of operations can be changed within a range that does not hinder the contents.
- the specific description of each operation of each component does not limit each operation of each component. For this reason, each specific operation
- movement of each component may be changed in the range which does not cause trouble with respect to a functional, performance, and other characteristic in implementing each embodiment.
- the present invention can be applied to an information processing apparatus, an information processing system, a method, and a program for determining from which server a virtual machine VM is paid out in response to a request from a user.
- the present invention can be applied to an information processing apparatus, an information processing system, a method, and a program for an IaaS (Infrastructure as a Service) provider to determine a server to which a virtual machine VM is paid out.
- IaaS Infrastructure as a Service
- the present invention can be applied to an information processing apparatus, an information processing system, a method, and a program for a PaaS (Platform as a Service) business operator to determine a server to which a virtual machine VM is paid out.
- PaaS Platinum as a Service
- Standardized Virtual Machine Allocation Device 101 Information Processing System 102 Server 103 Network 110 Allocation Request Sorting Unit 120 Virtual Machine Allocation Unit 121 Standard Judgment Unit 122 Allocation Information Generation Unit 200 Standardized Virtual Machine Allocation Device 201 Processing Unit 210 Allocation Request Sorting Unit 222 Allocation information generation unit 220 Virtual machine allocation unit 230 Instruction unit 300 Standardized virtual machine allocation device 301 Processing device 320 Virtual machine allocation unit 321 Standard determination unit 323 Standard reduction unit 700 Computer 701 CPU 702 Storage unit 703 Storage device 704 Input unit 705 Output unit 706 Communication unit 707 Recording medium 800 Storage device 810 Unallocated server resource list 811 Server identifier 812 Unallocated resource amount 820 Division standard list 822 Division standard 830 Delivery request 831 Virtual machine identifier 832 Virtual machine specifications 833 Requested number 835 Dispensing request 839 Virtual machine allocation request 840 Virtual machine allocation list 845 Virtual machine allocation list 860 Division standard list 863 Valid flag 869 Division standard record
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The present invention provides an information processing device that appropriately reduces the number of transfer destination servers. The information processing device includes the following: an allocation request sorting means that acquires issue requests that include virtual machine specifications indicative of virtual machine specifications by size, and sorts the virtual machine specifications in descending order; and a virtual machine allocation means that determines, in the sorted order, whether the virtual machine specifications meet any of the division standards corresponding to each of the servers and indicating a virtual machine with specifications that can be issued by the server using the size of that machine, and allocates those virtual machine specifications to any of the servers on the basis of the determination results and information on unallocated resources for those servers, and outputs information indicating the allocation results.
Description
本発明は、コンピュータやサーバの構成を制御するための技術に関し、特に、仮想マシンを実マシンに割り当てるための技術に関する。
The present invention relates to a technique for controlling the configuration of a computer or a server, and more particularly to a technique for assigning a virtual machine to a real machine.
仮想マシンを実マシンに割り当てるための、さまざまな関連技術が知られている。
Various related technologies for assigning virtual machines to real machines are known.
例えば、特許文献1は、サーバ移行計画作成システムを開示する。そのサーバ移行計画作成システムは、多数の移行元サーバのそれぞれを仮想マシンとして、少数の移行先サーバ上に移行する、サーバ統合を行う。
For example, Patent Document 1 discloses a server migration plan creation system. The server migration plan creation system performs server integration in which each of a large number of migration source servers is migrated to a small number of migration destination servers as virtual machines.
そのサーバ移行計画作成システムのプロセッサは、資源使用量の降順で移行元サーバを1つずつ選択する。また、そのプロセッサは、移行先サーバのうちのいずれかを選択する。例えば、そのプロセッサは、資源容量の残量の昇順で移行先サーバを選択する。
The processor of the server migration plan creation system selects the migration source servers one by one in descending order of resource usage. In addition, the processor selects one of the migration destination servers. For example, the processor selects the migration destination server in ascending order of the remaining capacity of the resource capacity.
次に、そのプロセッサは、その選択した移行元サーバの資源使用量と、その選択した移行先サーバの資源容量の残量と、の比較処理を実行する。
Next, the processor executes a comparison process between the resource usage of the selected migration source server and the remaining resource capacity of the selected migration destination server.
その資源使用量がその残量より大きい場合、そのプロセッサは、別の移行先サーバを選択し、上述の比較処理を再度実行する。また、その資源使用量がその残量以下の場合、そのプロセッサは、その選択した移行元サーバを仮想マシンとして、その選択した移行先サーバに割り当てる。
If the resource usage is greater than the remaining amount, the processor selects another migration destination server and executes the above comparison process again. When the resource usage is equal to or less than the remaining amount, the processor allocates the selected migration source server as a virtual machine to the selected migration destination server.
特許文献1は、上述のように、サーバ移行計画作成システムが移行元サーバを資源使用量の降順で選択して処理することで、移行後のサーバ(移行先サーバ)台数が少なくなるような移行計画を作成することが可能になるとしている。
In Patent Document 1, as described above, the server migration plan creation system selects and processes the migration source servers in the descending order of the resource usage, thereby reducing the number of migrated servers (migration destination servers). It is possible to create a plan.
しかしながら、上述した特許文献1に記載された技術においては、移行先のサーバ台数を適切に削減できない場合があるという問題点がある。
However, the technique described in Patent Document 1 described above has a problem that the number of servers at the migration destination cannot be appropriately reduced.
その理由は、特許文献1に記載された技術は、移行先サーバへの移行元サーバの割当可否の判断に際して、その移行先サーバへその移行元サーバを割り当てた後の、その移行先サーバの資源容量の残りかたについて考慮していないからである。換言すると、特許文献1に記載された技術は、その移行元サーバの資源使用量とその移行先サーバの資源容量の残量との比較結果のみに基づいて、その移行先サーバへのその移行元サーバの割当可否を判断するからである。
The reason is that the technology described in Patent Document 1 uses the resources of the migration destination server after allocating the migration source server to the migration destination server when determining whether the migration source server can be allocated to the migration destination server. This is because the remaining capacity is not considered. In other words, the technique described in Patent Document 1 is based on the comparison result between the resource usage of the migration source server and the remaining resource capacity of the migration destination server, and the migration source to the migration destination server. This is because it is determined whether the server can be allocated.
本発明の目的は、上述した問題点を解決する情報処理装置、仮想マシン割当方法及びそのためのプログラムを提供することにある。
An object of the present invention is to provide an information processing apparatus, a virtual machine allocation method, and a program therefor that solve the above-described problems.
本発明の一様態における情報処理装置は、仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、前記払出要求に含まれる仮想マシン仕様を降順にソートする割当要求ソート手段と、サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソート順に、判定し、前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、前記割り当てた結果を示す情報を出力する仮想マシン割当手段と、を含む。
The information processing apparatus according to an aspect of the present invention acquires a payout request including a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration, Any one of the division standards that indicates the virtual machine specification corresponding to each of the servers and the virtual machine of the specification that can be issued by the server using the size, corresponding to each of the servers. Whether or not the virtual machine specifications conform to each other in the sort order, and based on the result of the determination and information on unallocated resources of the server, the virtual machine specifications are assigned to any of the servers. And virtual machine allocating means for outputting information indicating the allocated result.
本発明の一様態における情報処理システムは、仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、前記払出要求に含まれる仮想マシン仕様を降順にソートする割当要求ソート手段と、サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソート順に判定し、前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、前記割り当てた結果を示す情報を出力する仮想マシン割当手段と、を含む情報処理装置と、前記サーバと、を含む。
The information processing system according to one aspect of the present invention acquires a payout request including a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration, Any one of the division standards that indicates the virtual machine specification corresponding to each of the servers and the virtual machine of the specification that can be issued by the server using the size, corresponding to each of the servers. Whether or not the virtual machine specifications conform to each other in accordance with the sorting order, and assigns the virtual machine specifications to any of the servers based on the determination result and information on unallocated resources of the server. , An information processing apparatus including a virtual machine allocating unit that outputs information indicating the allocated result, and the server.
本発明の一様態における仮想マシン割当方法は、コンピュータが、仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、前記払出要求に含まれる仮想マシン仕様を降順にソートし、サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソートされた順に判定し、前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、前記割り当てた結果を示す情報を出力する。
In the virtual machine allocation method according to one aspect of the present invention, the computer issues a payout request including a virtual machine specification indicating a virtual machine specification, which is a numerical value in units of a resource amount of a virtual machine having a specific resource configuration. Acquire and sort the virtual machine specifications included in the payout request in descending order, and correspond to each of the servers, and indicate the virtual machine with the specifications that the server can pay out using the size. Determining whether or not the virtual machine specifications match, in the sorted order, and based on the result of the determination and information on unallocated resources of the server, the virtual machine specifications are set to one of the servers. Allocation and information indicating the allocation result is output.
本発明の一様態におけるコンピュータ読み取り可能な非一時的記録媒体は、仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、前記払出要求に含まれる仮想マシン仕様を降順にソートし、サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソートされた順に判定し、前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、前記割り当てた結果を示す情報を出力する処理をコンピュータに実行させるプログラムを記録する。
A computer-readable non-transitory recording medium according to an aspect of the present invention includes a virtual machine specification including a virtual machine specification indicating a size of a virtual machine specification in units of a resource amount of a virtual machine having a specific resource configuration. Any of the split standards that obtains the request, sorts the virtual machine specifications included in the payout request in descending order, and indicates the virtual machine of the specification that the server can pay out using the size corresponding to each of the servers. Whether or not the virtual machine specifications conform to each other is determined in the sorted order, and based on the determined result and the information on the unallocated resources of the server, the virtual machine specifications are determined for any of the servers. A program for causing a computer to execute processing for outputting information indicating the assignment result is recorded.
本発明は、仕様を規格化された複数の仮想マシンをサーバから払い出す際、必要となるサーバの台数を適切に削減することを可能にするという効果がある。
The present invention has an effect of making it possible to appropriately reduce the number of required servers when a plurality of virtual machines whose specifications are standardized are paid out from the server.
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
Embodiments for carrying out the present invention will be described in detail with reference to the drawings. In each embodiment described in each drawing and specification, the same reference numerals are given to the same components, and the description thereof is omitted as appropriate.
<<<第1の実施形態>>>
図1は、本発明の第1の実施形態に係る規格化仮想マシン割当装置(情報処理装置とも呼ばれる)100の構成を示すブロック図である。 <<<< first embodiment >>>>
FIG. 1 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus (also referred to as an information processing apparatus) 100 according to the first embodiment of the present invention.
図1は、本発明の第1の実施形態に係る規格化仮想マシン割当装置(情報処理装置とも呼ばれる)100の構成を示すブロック図である。 <<<< first embodiment >>>>
FIG. 1 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus (also referred to as an information processing apparatus) 100 according to the first embodiment of the present invention.
図1を参照すると、本実施形態に係る規格化仮想マシン割当装置100は、割当要求ソート部110と、仮想マシン割当部120とを含む。尚、図1に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。即ち、規格化仮想マシン割当装置100は、コンピュータであってよい。ここでは、図1に示す構成要素は、コンピュータの機能単位に分割した構成要素とする。
Referring to FIG. 1, the standardized virtual machine allocation apparatus 100 according to the present embodiment includes an allocation request sorting unit 110 and a virtual machine allocation unit 120. The constituent elements shown in FIG. 1 may be constituent elements in hardware units or constituent elements divided into functional units of the computer apparatus. That is, the standardized virtual machine assignment apparatus 100 may be a computer. Here, the components shown in FIG. 1 are components divided into functional units of a computer.
次に、規格化仮想マシン割当装置100を実現するコンピュータについて説明する。
Next, a computer that realizes the standardized virtual machine assignment apparatus 100 will be described.
図2は、本実施形態における規格化仮想マシン割当装置100を実現するコンピュータ700のハードウェア構成を示す図である。
FIG. 2 is a diagram illustrating a hardware configuration of a computer 700 that implements the standardized virtual machine assignment apparatus 100 according to the present embodiment.
図2に示すように、コンピュータ700は、CPU(Central Processing Unit)701、記憶部702、記憶装置703、入力部704、出力部705及び通信部706を含む。更に、コンピュータ700は、外部から供給される記録媒体(または記憶媒体)707を含む。記録媒体707は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。不揮発性記録媒体は、非一時的記録媒体とも呼ばれる。また、記録媒体707は、情報を信号として保持する、一時的記録媒体であってもよい。
As shown in FIG. 2, the computer 700 includes a CPU (Central Processing Unit) 701, a storage unit 702, a storage device 703, an input unit 704, an output unit 705, and a communication unit 706. Furthermore, the computer 700 includes a recording medium (or storage medium) 707 supplied from the outside. The recording medium 707 may be a non-volatile recording medium that stores information non-temporarily. The nonvolatile recording medium is also called a non-temporary recording medium. The recording medium 707 may be a temporary recording medium that holds information as a signal.
CPU701は、オペレーティングシステム(不図示)を動作させて、コンピュータ700の、全体の動作を制御する。また、CPU701は、例えば記憶装置703に装着された記録媒体707から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部702に書き込む。そのプログラムは、例えば、後述の図8及び図9に示すフローチャートの動作をコンピュータ700に実行させるプログラムである。
The CPU 701 controls the overall operation of the computer 700 by operating an operating system (not shown). The CPU 701 reads a program and data from a recording medium 707 mounted on the storage device 703, for example, and writes the read program and data to the storage unit 702. The program is, for example, a program that causes the computer 700 to execute operations of flowcharts shown in FIGS.
そして、CPU701は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図1に示す割当要求ソート部110及び仮想マシン割当部120として各種の処理を実行する。
The CPU 701 executes various processes as the allocation request sort unit 110 and the virtual machine allocation unit 120 shown in FIG. 1 according to the read program and based on the read data.
尚、CPU701は、通信網(不図示)に接続されている外部コンピュータ(不図示)から、通信部706を経由して、記憶部702にプログラムやデータをダウンロードするようにしてもよい。
Note that the CPU 701 may download a program and data to the storage unit 702 from an external computer (not shown) connected to a communication network (not shown) via the communication unit 706.
記憶部702は、プログラムやデータ(例えば、後述する未割当サーバリソースリスト810及び分割規格リスト820)を記憶する。
The storage unit 702 stores programs and data (for example, an unallocated server resource list 810 and a division standard list 820 described later).
記憶装置703は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体707を含む。記憶装置703(記録媒体707)は、プログラムをコンピュータ読み取り可能に記憶する。また、記憶装置703は、データ(例えば、後述する未割当サーバリソースリスト810及び分割規格リスト820)を記憶してもよい。
The storage device 703 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, and a semiconductor memory, and includes a recording medium 707. The storage device 703 (recording medium 707) stores the program in a computer-readable manner. The storage device 703 may store data (for example, an unallocated server resource list 810 and a division standard list 820 described later).
入力部704は、例えばマウスやキーボード、内蔵のキーボタンなど及びそれらの制御手段で実現され、入力操作に用いられる。入力部704は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル及びその制御手段などでもよい。入力部704は、割当要求ソート部110及び仮想マシン割当部120の一部として含まれてよい。
The input unit 704 is realized by, for example, a mouse, a keyboard, a built-in key button, and their control means, and is used for an input operation. The input unit 704 is not limited to a mouse, a keyboard, and a built-in key button, and may be a touch panel and its control means, for example. The input unit 704 may be included as part of the allocation request sorting unit 110 and the virtual machine allocation unit 120.
出力部705は、例えばディスプレイとその制御手段で実現され、出力を確認するために用いられる。出力部705は、仮想マシン割当部120の一部として含まれてよい。
The output unit 705 is realized by, for example, a display and its control means, and is used for confirming the output. The output unit 705 may be included as part of the virtual machine allocation unit 120.
通信部706は、図示しない外部装置とのインタフェースを実現する。通信部706は、割当要求ソート部110及び仮想マシン割当部120のそれぞれの一部として含まれてよい。
The communication unit 706 implements an interface with an external device (not shown). The communication unit 706 may be included as a part of each of the allocation request sorting unit 110 and the virtual machine allocation unit 120.
以上説明したように、図1に示す規格化仮想マシン割当装置100の機能単位のブロックは、図2に示すハードウェア構成のコンピュータ700によって実現される。但し、コンピュータ700が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ700は、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
As described above, the functional unit block of the standardized virtual machine allocation apparatus 100 shown in FIG. 1 is realized by the computer 700 having the hardware configuration shown in FIG. However, the means for realizing each unit included in the computer 700 is not limited to the above. In other words, the computer 700 may be realized by one physically coupled device, or may be realized by two or more physically separated devices connected by wire or wirelessly and by a plurality of these devices. .
尚、上述のプログラムのコードを記録した記録媒体707が、コンピュータ700に供給され、CPU701は、記録媒体707に格納されたプログラムのコードを読み出して実行してもよい。或いは、CPU701は、記録媒体707に格納されたプログラムのコードを、記憶部702、記憶装置703またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ700(CPU701)が実行するプログラム(ソフトウェア)を、一時的にまたは非一時的に、記憶する記録媒体707の実施形態を含む。
Note that the recording medium 707 in which the above-described program code is recorded may be supplied to the computer 700, and the CPU 701 may read and execute the program code stored in the recording medium 707. Alternatively, the CPU 701 may store the code of the program stored in the recording medium 707 in the storage unit 702, the storage device 703, or both. That is, the present embodiment includes an embodiment of a recording medium 707 that stores a program (software) executed by the computer 700 (CPU 701) temporarily or non-temporarily.
以上が、本実施形態における規格化仮想マシン割当装置100を実現するコンピュータ700の、ハードウェアについての説明である。
This completes the description of the hardware of the computer 700 that implements the standardized virtual machine assignment apparatus 100 in the present embodiment.
図3は、規格化仮想マシン割当装置100を含む情報処理システム101の構成を示すブロック図である。図3に示すように、情報処理システム101は、ネットワーク103で接続された規格化仮想マシン割当装置100及びサーバ102を含む。尚、サーバ102の台数は、本実施形態の例に係わらず、任意の台数であってよい。
FIG. 3 is a block diagram showing the configuration of the information processing system 101 including the standardized virtual machine allocation apparatus 100. As illustrated in FIG. 3, the information processing system 101 includes a standardized virtual machine allocation device 100 and a server 102 connected via a network 103. The number of servers 102 may be an arbitrary number regardless of the example of the present embodiment.
サーバ102は、仮想マシン(Virtual Machine)VMを割り当てることが可能な物理サーバである。
The server 102 is a physical server that can allocate a virtual machine VM.
次に、図1に戻って、規格化仮想マシン割当装置100が備える各構成要素について詳細に説明する。
Next, returning to FIG. 1, each component included in the standardized virtual machine allocation apparatus 100 will be described in detail.
===割当要求ソート部110===
割当要求ソート部110は、払出要求を取得する。例えば、割当要求ソート部110は、図2に示す入力部704を介して、オペレータが入力した払出要求を取得する。また、割当要求ソート部110は、図2に示す通信部706を介して、図示しない外部装置から払出要求を取得するようにしてもよい。 === AllocationRequest Sorting Unit 110 ===
The allocationrequest sorting unit 110 acquires a payout request. For example, the allocation request sorting unit 110 acquires a payout request input by the operator via the input unit 704 shown in FIG. Further, the assignment request sorting unit 110 may acquire a payout request from an external device (not shown) via the communication unit 706 shown in FIG.
割当要求ソート部110は、払出要求を取得する。例えば、割当要求ソート部110は、図2に示す入力部704を介して、オペレータが入力した払出要求を取得する。また、割当要求ソート部110は、図2に示す通信部706を介して、図示しない外部装置から払出要求を取得するようにしてもよい。 === Allocation
The allocation
図4は、払出要求830の構造の一例を示す図である。図4に示すように払出要求830は、仮想マシン仕様832と要求個数833とを含む。仮想マシン仕様832は、その仮想マシンVMに対応する仕様を、特定のリソース構成の仮想マシンVMのリソース量を単位とする数値である、サイズで示す情報である。換言すると、仮想マシン仕様832は、サイズを用いて規格化された仮想マシンVMの仕様である。また、要求個数833は、サーバ102に割り当てられることを要求する、その仮想マシン仕様832に対応する、仮想マシンVMの個数である。
FIG. 4 is a diagram illustrating an example of the structure of the payout request 830. As shown in FIG. 4, the payout request 830 includes a virtual machine specification 832 and a requested number 833. The virtual machine specification 832 is information indicating a specification corresponding to the virtual machine VM as a size, which is a numerical value in units of the resource amount of the virtual machine VM having a specific resource configuration. In other words, the virtual machine specification 832 is a specification of the virtual machine VM standardized using the size. The requested number 833 is the number of virtual machines VM corresponding to the virtual machine specification 832 that is requested to be allocated to the server 102.
次に、そのサイズ(或いはサイズを単位とする、「規格化された仮想マシンVMの仕様」)について、詳細に説明する。
Next, the size (or “standardized virtual machine VM specification” in units of size) will be described in detail.
一般的な仮想マシンVMの仕様(リソース量)は、例えば、「ある種類のCPU2コアと、メモリ量8GB、ハードディスク容量500GB」のように示される。
The specification (resource amount) of a general virtual machine VM is shown as, for example, “a certain kind of CPU 2 core, memory amount 8 GB, hard disk capacity 500 GB”.
CPUは、周波数(クロック数)だけでなく、種類や世代、型番等によって1CPUコア分の性能が異なる。従って、CPUの性能値は、ある特定のCPUの性能やその整数分の1の性能を1として、正規化して表現される。例えば、ある仮想マシンVMのCPUリソースに関する仕様(CPU性能値)は、「性能3のCPU3コア分」のように規定される。
The performance of one CPU core differs depending on the type, generation, model number, etc. as well as the frequency (number of clocks). Therefore, the performance value of the CPU is expressed by normalizing the performance of a specific CPU or the performance of an integer of 1 as 1. For example, the specification (CPU performance value) related to the CPU resource of a certain virtual machine VM is defined as “CPU 3 core performance 3”.
ここで、その規格化において基本となる、もっとも性能の低い仮想マシンVMの仕様(リソース量)を、以下のように規定する。便宜上、ここではこれを仮想マシンVMの基本サイズと呼ぶ。仮想マシンVMの基本サイズは、例えば、「性能1のCPU1コア、メモリ2GB、ハードディスク120GB」である。尚、基本サイズは、上述の例に係わらず、任意に規定されてよい。
Here, the specification (resource amount) of the virtual machine VM having the lowest performance, which is basic in the standardization, is defined as follows. For convenience, this is referred to here as the basic size of the virtual machine VM. The basic size of the virtual machine VM is, for example, “performance 1 CPU 1 core, memory 2 GB, hard disk 120 GB”. The basic size may be arbitrarily defined regardless of the above example.
この基本サイズの仮想マシンVMが、規格化された基本サイズの仮想マシンVMである。即ち、この基本サイズが、規格化された最小単位(単位として用いるときは、単にサイズと表記する)の仮想マシンVMの仕様である。
The virtual machine VM of this basic size is a standardized virtual machine VM of the basic size. In other words, this basic size is the specification of the virtual machine VM in a standardized minimum unit (when used as a unit, it is simply expressed as a size).
他の規格化された仮想マシンVMの仕様は、基本サイズの整数倍を基本に規定される。例えば、基本サイズの2倍の仕様は、「性能2のCPU1コア、メモリ4GB、ハードディスク240GB」、4倍の仕様は「性能2のCPU2コア、メモリ8GB、ハードディスク480GB」のように規定される。便宜上、基本サイズの仕様をサイズ1の仕様、基本サイズのN倍の仕様をサイズNの仕様と呼ぶ。また、サイズNの仕様を持つ仮想マシンVMをサイズNの仮想マシンVMと呼ぶ。
The specifications of other standardized virtual machines VM are defined based on an integral multiple of the basic size. For example, the specification of twice the basic size is defined as “CPU 1 core of performance 2 and memory 4 GB, hard disk 240 GB”, and the specification of 4 times is defined as “CPU 2 core of performance 2 and memory 8 GB, hard disk 480 GB”. For convenience, the basic size specification is referred to as a size 1 specification, and a specification N times the basic size is referred to as a size N specification. A virtual machine VM having a size N specification is referred to as a size N virtual machine VM.
即ち、仮想マシン仕様832は、その仮想マシンVMに対応する仕様を、基本サイズ(特定のリソース構成の仮想マシンVM)の仕様を単位とする、数値で示す情報である。
That is, the virtual machine specification 832 is information indicating the specification corresponding to the virtual machine VM as a numerical value with the specification of the basic size (virtual machine VM having a specific resource configuration) as a unit.
サーバ102もまた、基本サイズの整数倍の仕様を持つものとする。換言すると、ある標準的な仕様の物理サーバ(サーバ102)のリソース量を等分割したものを、基本サイズとして規定する。例えば、サーバ102の仕様は「性能2のCPU8コア、メモリ32GB、ハードディスク1920GB」である。この仕様を16分割することによって、前述の基本サイズの例が得られる。仮想マシンVMと同様に、基本サイズのN倍の仕様を持つサーバ102を、サイズNのサーバ102と呼ぶ。尚、基本サイズは、上記の例に係わらず、サーバ102のリソース量から、一定のリソース量を差し引いた残りを等分割されたものであってもよい。また、基本サイズは、サーバ102のリソース量が複数の異なるリソース量に分割され、その後にそれらの分割された異なるリソース量のそれぞれが等分割されたものであってもよい。
The server 102 also has a specification that is an integral multiple of the basic size. In other words, a basic size is defined by equally dividing the resource amount of a physical server (server 102) having a certain standard specification. For example, the specification of the server 102 is “performance 8 CPU 8 core, memory 32 GB, hard disk 1920 GB”. By dividing this specification into 16 parts, the above-mentioned basic size example can be obtained. Similar to the virtual machine VM, a server 102 having a specification N times the basic size is referred to as a size N server 102. The basic size may be obtained by equally dividing the remaining amount obtained by subtracting a certain resource amount from the resource amount of the server 102 regardless of the above example. In addition, the basic size may be obtained by dividing the resource amount of the server 102 into a plurality of different resource amounts, and then dividing each of the divided different resource amounts equally.
以上が、その規格化についての詳細な説明である。即ち、そのサイズ(或いはサイズを単位とする、「規格化された仮想マシンVMの仕様」)についての詳細な説明である。
The above is a detailed description of the standardization. That is, it is a detailed description of the size (or “standardized virtual machine VM specification” in units of size).
図1の割当要求ソート部110の説明に戻る。
Returning to the description of the allocation request sorting unit 110 in FIG.
割当要求ソート部110は、取得した払出要求830に含まれる仮想マシン仕様832を降順でソートする。
The allocation request sorting unit 110 sorts the virtual machine specifications 832 included in the acquired payout request 830 in descending order.
例えば、払出要求830が「サイズ4;1、サイズ3;2、サイズ2;2」の場合、割当要求ソート部110は、仮想マシン仕様832を「サイズ4、サイズ3、サイズ3、サイズ2、サイズ2」のようにソートする。
For example, when the payout request 830 is “size 4; 1, size 3; 2, size 2; 2”, the allocation request sorting unit 110 changes the virtual machine specification 832 to “size 4, size 3, size 3, size 2, Sort as “size 2”.
===仮想マシン割当部120===
本実施形態の仮想マシン割当部120は、例えば、規格判断部121と割当情報生成部122とを含む。 === VirtualMachine Allocation Unit 120 ===
The virtualmachine allocation unit 120 of this embodiment includes a standard determination unit 121 and an allocation information generation unit 122, for example.
本実施形態の仮想マシン割当部120は、例えば、規格判断部121と割当情報生成部122とを含む。 === Virtual
The virtual
仮想マシン割当部120の割当情報生成部122は、払出要求830に含まれる仮想マシン仕様832を、ソートされた順に、1つずつ選択する。
The allocation information generation unit 122 of the virtual machine allocation unit 120 selects the virtual machine specifications 832 included in the payout request 830 one by one in the sorted order.
続けて、仮想マシン割当部120の規格判断部121は、分割規格リストを参照し、選択した仮想マシン仕様832が、サーバ102のそれぞれに対応する分割規格のいずれかに適合するか否かを判定する。
Subsequently, the standard determination unit 121 of the virtual machine allocation unit 120 refers to the division standard list and determines whether or not the selected virtual machine specification 832 conforms to any of the division standards corresponding to each of the servers 102. To do.
図5は、分割規格リスト820の一例を示す図である。図5に示すように、分割規格リスト820は、サーバ102の識別子であるサーバ識別子811と分割規格822との組を含む。その分割規格822は、サーバ102が払出可能な仮想マシンVMの仕様を、仮想マシン仕様832を用いて示す規格である。その分割規格822の詳細は、後述する。
FIG. 5 is a diagram showing an example of the division standard list 820. As illustrated in FIG. 5, the division standard list 820 includes a set of a server identifier 811 that is an identifier of the server 102 and a division standard 822. The division standard 822 is a standard that uses the virtual machine specification 832 to indicate the specifications of the virtual machine VM that the server 102 can issue. Details of the division standard 822 will be described later.
例えば、仮想マシン割当部120は、図2に示す記憶部702或いは記憶装置703に、予め記憶された分割規格リスト820を使用する。また、仮想マシン割当部120は、図2に示す記録媒体707に格納された分割規格リスト820を読み出して、使用するようにしてもよい。また、仮想マシン割当部120は、図2に示す通信部706を介して、図示しない外部装置から分割規格リスト820を取得し、その分割規格リスト820を使用するようにしてもよい。また、仮想マシン割当部120は、図2に示す入力部704を介して、オペレータの入力した分割規格リスト820を取得し、その分割規格リスト820を利用するようにしてもよい。
For example, the virtual machine allocation unit 120 uses the division standard list 820 stored in advance in the storage unit 702 or the storage device 703 illustrated in FIG. Further, the virtual machine allocation unit 120 may read and use the division standard list 820 stored in the recording medium 707 shown in FIG. Further, the virtual machine allocation unit 120 may acquire the division standard list 820 from an external device (not illustrated) via the communication unit 706 illustrated in FIG. 2 and use the division standard list 820. Further, the virtual machine allocating unit 120 may acquire the division standard list 820 input by the operator via the input unit 704 illustrated in FIG. 2 and use the division standard list 820.
続けて、仮想マシン割当部120の割当情報生成部122は、その判定した結果に基づいて、サーバ102に、その仮想マシン仕様832を割り当てる。そのサーバ102は、選択した仮想マシン仕様832が適合する分割規格822に対応する、サーバ識別子811で特定されるサーバ102である。「サーバ102に仮想マシン仕様832を割り当てる」ことの意味は、そのサーバ102上のリソースを使って、その仮想マシン仕様832の仮想マシンVMを払い出せるようにすることである。
Subsequently, the allocation information generation unit 122 of the virtual machine allocation unit 120 allocates the virtual machine specification 832 to the server 102 based on the determined result. The server 102 is the server 102 identified by the server identifier 811 corresponding to the division standard 822 to which the selected virtual machine specification 832 conforms. The meaning of “assigning the virtual machine specification 832 to the server 102” is that the virtual machine VM of the virtual machine specification 832 can be paid out using the resource on the server 102.
続けて、仮想マシン割当部120の割当情報生成部122は、その割り当てた結果を出力する。仮想マシン割当部120は、例えば、割り当てた結果を仮想マシン割当リストとして出力する。
Subsequently, the allocation information generation unit 122 of the virtual machine allocation unit 120 outputs the allocation result. For example, the virtual machine assignment unit 120 outputs the assignment result as a virtual machine assignment list.
図6は、仮想マシン割当リスト840の一例を示す図である。図6に示すように、その仮想マシン割当リスト840は、仮想マシン仕様832とサーバ識別子811との組を含む。その組は、そのサーバ識別子811で特定されるサーバ102に、その仮想マシン仕様832が割り当てられたことを示す。
FIG. 6 is a diagram showing an example of the virtual machine allocation list 840. As shown in FIG. As shown in FIG. 6, the virtual machine allocation list 840 includes a set of a virtual machine specification 832 and a server identifier 811. The set indicates that the virtual machine specification 832 is assigned to the server 102 specified by the server identifier 811.
尚、仮想マシン割当部120の割当情報生成部122は、上述の判定した結果に加えて、未割当サーバリソースリストにも基づいて、仮想マシン仕様832をサーバ102のいずれかに割り当てる。ここで、未割当サーバリソースリストは、サーバ102のそれぞれに対応する未割当のリソース量のリストである。図7は、未割当サーバリソースリスト810の一例を示す図である。図7に示すように、未割当サーバリソースリスト810は、サーバ識別子811と仮想マシン仕様832に割り当てられていないリソースの量を示す未割当リソース量812との組を含む。
The allocation information generation unit 122 of the virtual machine allocation unit 120 allocates the virtual machine specification 832 to one of the servers 102 based on the unallocated server resource list in addition to the above-described determination result. Here, the unallocated server resource list is a list of unallocated resource amounts corresponding to each of the servers 102. FIG. 7 is a diagram illustrating an example of the unallocated server resource list 810. As illustrated in FIG. 7, the unallocated server resource list 810 includes a set of a server identifier 811 and an unallocated resource amount 812 that indicates the amount of resources that are not allocated to the virtual machine specification 832.
従って、仮想マシン割当部120は、以下の2つの条件を満足するサーバ102にその仮想マシン仕様832を割り当てる。第1の条件は、そのサーバ102の未割当リソース量812がその仮想マシン仕様832以上であることである。第2の条件は、上述の判定が「その仮想マシン仕様832がそのサーバ102の分割規格822に適合する」という判定であることである。
Therefore, the virtual machine allocation unit 120 allocates the virtual machine specification 832 to the server 102 that satisfies the following two conditions. The first condition is that the unallocated resource amount 812 of the server 102 is the virtual machine specification 832 or more. The second condition is that the above-mentioned determination is a determination that “the virtual machine specification 832 conforms to the division standard 822 of the server 102”.
例えば、仮想マシン割当部120は、図2に示す記憶部702或いは記憶装置703に、予め記憶された未割当サーバリソースリスト810を使用する。また、仮想マシン割当部120は、図2に示す記録媒体707に格納された未割当サーバリソースリスト810を読み出して、使用するようにしてもよい。また、仮想マシン割当部120は、図2に示す通信部706を介して、図示しない外部装置から未割当サーバリソースリスト810を取得し、その未割当サーバリソースリスト810を使用するようにしてもよい。また、仮想マシン割当部120は、図2に示す入力部704を介して、オペレータの入力した未割当サーバリソースリスト810を取得し、その未割当サーバリソースリスト810を利用するようにしてもよい。
For example, the virtual machine allocation unit 120 uses the unallocated server resource list 810 stored in advance in the storage unit 702 or the storage device 703 illustrated in FIG. Further, the virtual machine allocation unit 120 may read and use the unallocated server resource list 810 stored in the recording medium 707 illustrated in FIG. Further, the virtual machine allocation unit 120 may acquire the unallocated server resource list 810 from an external device (not illustrated) via the communication unit 706 illustrated in FIG. 2 and use the unallocated server resource list 810. . Further, the virtual machine allocation unit 120 may acquire the unallocated server resource list 810 input by the operator via the input unit 704 illustrated in FIG. 2 and use the unallocated server resource list 810.
尚、仮想マシン割当部120は、未割当サーバリソースリスト810及び分割規格リスト820に加えて、これら以外の任意の情報にも、更に基づいて、仮想マシン仕様832をサーバ102のいずれかに割り当てるようにしてもよい。その任意の情報は、例えば、仮想マシンVM上で動作するアプリケーションと、サーバ102の機種、設置場所及び管理単位との関係などである。
Note that the virtual machine allocation unit 120 allocates the virtual machine specification 832 to any one of the servers 102 based on any information other than the unallocated server resource list 810 and the division standard list 820 as well. It may be. The arbitrary information is, for example, the relationship between the application operating on the virtual machine VM and the model, installation location, and management unit of the server 102.
次に、その分割規格822について、詳細に説明する。
Next, the division standard 822 will be described in detail.
一般に、サイズNのサーバ102からは、サイズ1~Nの仮想マシンVMを払い出すことができる。しかし、分割規格822は、次の3つの規定に基づいて、決定される。
Generally, a size 1 to N virtual machine VM can be paid out from the size N server 102. However, the division standard 822 is determined based on the following three rules.
第1の規定として、サイズNのサーバ102からはサイズNの仮想マシンVMを払い出すことができる。例えば、サイズ6のサーバ102からはサイズ6の仮想マシンVMを払い出すことができる。
As a first rule, a size N virtual machine VM can be issued from the size N server 102. For example, a size 6 virtual machine VM can be paid out from the size 6 server 102.
第2の規定として、サイズNのサーバ102からサイズXの仮想マシンVMを払い出せるなら、整数Xの1以外の約数の1つをAとしたとき、このサーバ102からはサイズY=X/Aの仮想マシンVMを払い出すことができる。例えば、サイズ6のサーバ102からはサイズ6の仮想マシンVMを払い出せるので、サイズ6の約数のうちの1つである2を選択し、サイズ3(=6/2)の仮想マシンVMを払い出すことができる。
As a second rule, if a virtual machine VM of size X can be issued from the server 102 of size N, when one of the divisors other than 1 of the integer X is A, the size of Y = X / A virtual machine VM can be paid out. For example, since the size 6 virtual machine VM can be issued from the size 6 server 102, 2 which is one of the divisors of size 6 is selected, and the size 3 (= 6/2) virtual machine VM is selected. Can be paid out.
第3の規定として、第2の規定において選択した整数Xの約数Aは、あるサーバ102に対して1度選択した以後、変更されてはならない。例えば、前述の例のように、Aとして2が選択され、サイズ6のサーバ102からサイズ6の仮想マシンVMとサイズ3の仮想マシンVMを払い出せるようにされたとする。その後、整数6の、2とは別の、約数である3を使って、このサーバ102からサイズ2(=6/3)の仮想マシンVMを払い出すことは許さない。
As a third rule, the divisor A of the integer X selected in the second rule should not be changed after being selected once for a certain server 102. For example, it is assumed that 2 is selected as A and the size 6 virtual machine VM and the size 3 virtual machine VM can be issued from the size 6 server 102 as in the above example. Thereafter, it is not allowed to issue a virtual machine VM of size 2 (= 6/3) from the server 102 using a divisor of 3, which is a divisor other than the integer of 2.
更に、補足すると、サイズ6のサーバ102からサイズ6とサイズ3の仮想マシンVMを払い出せる場合、サイズ3の整数3についてはまだ約数による除算が行われていない。従って、整数3の約数である3を用いてサイズ1(=3/3)の仮想マシンVMを払い出せるようにすることができる。
Further, supplementally, when the size 6 and size 3 virtual machines VM can be paid out from the size 6 server 102, the size 3 integer 3 is not yet divided by a divisor. Therefore, the virtual machine VM of size 1 (= 3/3) can be paid out using 3 which is a divisor of the integer 3.
また、整数Xは約数として必ずX自身を含む。このため、任意のサイズのサーバ102に対して、サイズ1の仮想マシンVMを払い出せるようにすることができる。
Integer X always includes X itself as a divisor. For this reason, it is possible to issue a size 1 virtual machine VM to the server 102 of any size.
前述の例では、結果として、サイズ6のサーバ102からサイズ6、3、1の仮想マシンVMを払い出せることが決定できる。このようにして決定された、サーバ102から払い出せる、仮想マシンVMサイズのリストをサーバ102の分割規格(分割規格822)と呼ぶ。また、分割規格822を[6-3-1]のように表現する。
In the above example, as a result, it can be determined that the virtual machines VM of size 6, 3, 1 can be paid out from the size 6 server 102. The list of virtual machine VM sizes that can be paid out from the server 102 determined in this way is called a division standard (division standard 822) of the server 102. The division standard 822 is expressed as [6-3-1].
サイズが同じであっても、別のサーバ102であれば、別の分割規格822を持ってもよい。例えば、サイズ6の2つのサーバ102の分割規格822がそれぞれ[6-3-1]と[6-2-1]とであってもよい。
Even if the size is the same, another server 102 may have another division standard 822. For example, the division standards 822 of the two servers 102 of size 6 may be [6-3-1] and [6-2-1], respectively.
要するに、本実施形態では、サーバ102及び仮想マシンVMはサイズという単位で表現されたリソースに関する仕様を持つ。そして、各サーバ102は、そのサーバ102から払いだしてよい仮想マシンVMのサイズを規定した分割規格822が付与されている。
In short, in this embodiment, the server 102 and the virtual machine VM have specifications related to resources expressed in units of size. Each server 102 is assigned a division standard 822 that defines the size of the virtual machine VM that may be paid out from the server 102.
以上が、規格化仮想マシン割当装置100の機能単位の各構成要素についての説明である。
This completes the description of each component of the functional unit of the standardized virtual machine allocation apparatus 100.
次に本実施形態の動作について、図1~図9を参照して詳細に説明する。
Next, the operation of this embodiment will be described in detail with reference to FIGS.
図8は、本実施形態の規格化仮想マシン割当装置100の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPU701によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名については、ステップS601のように、記号で記載する。
FIG. 8 is a flowchart showing the operation of the standardized virtual machine assignment apparatus 100 of this embodiment. Note that the processing according to this flowchart may be executed based on the program control by the CPU 701 described above. Further, the step name of the process is described by a symbol as in step S601.
割当要求ソート部110は、払出要求830を取得する(ステップS601)。
The allocation request sorting unit 110 acquires the payout request 830 (step S601).
次に、割当要求ソート部110は、払出要求830に含まれる仮想マシン仕様832を降順(サイズの大きい順)でソートする(ステップS602)。
Next, the allocation request sorting unit 110 sorts the virtual machine specifications 832 included in the payout request 830 in descending order (in descending order of size) (step S602).
次に、仮想マシン割当部120は、分割規格リスト820及び未割当サーバリソースリスト810に基づいて、仮想マシン仕様832をサーバ102のいずれかに割り当てる(ステップS603)。具体的には、仮想マシン割当部120は、その仮想マシン仕様832とそれを割り当てられたサーバ102のサーバ識別子811とを仮想マシン割当リスト840に含める。
Next, the virtual machine allocation unit 120 allocates the virtual machine specification 832 to one of the servers 102 based on the division standard list 820 and the unallocated server resource list 810 (step S603). Specifically, the virtual machine allocation unit 120 includes the virtual machine specification 832 and the server identifier 811 of the server 102 to which the virtual machine specification 832 is allocated in the virtual machine allocation list 840.
次に、仮想マシン割当部120は、その割り当てた結果を示す割当情報(例えば、仮想マシン割当リスト840)を出力する(ステップS604)。
Next, the virtual machine allocation unit 120 outputs allocation information (for example, the virtual machine allocation list 840) indicating the allocation result (step S604).
図9は、図8のステップS603における、仮想マシン割当部120の動作を示すフローチャートである。
FIG. 9 is a flowchart showing the operation of the virtual machine allocation unit 120 in step S603 of FIG.
仮想マシン割当部120の割当情報生成部122は、全ての仮想マシン仕様832について割当が完了したか否かを確認する(ステップS611)。例えば、割当情報生成部122は、図2に示す記憶部702にソートされた仮想マシン仕様832のリストを記憶し、その仮想マシン仕様832毎にフラグを設けて、割当が完了したか否かを管理する。
The allocation information generation unit 122 of the virtual machine allocation unit 120 checks whether allocation has been completed for all the virtual machine specifications 832 (step S611). For example, the allocation information generation unit 122 stores the sorted list of virtual machine specifications 832 in the storage unit 702 illustrated in FIG. 2 and sets a flag for each virtual machine specification 832 to determine whether the allocation is completed. to manage.
全ての仮想マシン仕様832について割当が完了した場合(ステップS611でYES)、処理は終了する。
If the allocation has been completed for all the virtual machine specifications 832 (YES in step S611), the process ends.
割当がされていない仮想マシン仕様832がある場合(ステップS611でNO)、割当情報生成部122は、ソートされた順に、仮想マシン仕様832を1つ選択する(ステップS612)。例えば、割当情報生成部122は、上述の仮想マシン仕様832のリストを参照し、仮想マシン仕様832を順次選択する。
When there is a virtual machine specification 832 that is not assigned (NO in step S611), the assignment information generation unit 122 selects one virtual machine specification 832 in the sorted order (step S612). For example, the allocation information generation unit 122 refers to the list of virtual machine specifications 832 described above, and sequentially selects the virtual machine specifications 832.
次に、割当情報生成部122は、全てのサーバ102を選択済みか、否かを確認する(ステップS613)。例えば、割当情報生成部122は、図2に示す記憶部702にサーバ識別子811のリストを記憶し、そのサーバ識別子811毎にフラグを設けて、選択済みか否かを管理する。
Next, the allocation information generation unit 122 confirms whether all the servers 102 have been selected (step S613). For example, the allocation information generation unit 122 stores a list of server identifiers 811 in the storage unit 702 illustrated in FIG. 2, and provides a flag for each server identifier 811 to manage whether the selection has been performed.
全てのサーバ102を選択済みの場合(ステップS613でYES)、割当情報生成部122は、失敗情報を生成する(ステップS614)。失敗情報は、仮想マシン仕様832の割当が失敗したことを示す情報である。尚、その失敗情報は、割り当てることができなかった仮想マシン仕様832の情報や、割り当てることができた仮想マシン仕様832の情報などを示す、詳細な情報を含んでもよい。そして、処理は終了する。
If all the servers 102 have been selected (YES in step S613), the allocation information generation unit 122 generates failure information (step S614). The failure information is information indicating that the allocation of the virtual machine specification 832 has failed. The failure information may include detailed information indicating information about the virtual machine specification 832 that could not be assigned, information about the virtual machine specification 832 that could be assigned, and the like. Then, the process ends.
選択していないサーバ102がある場合(ステップS613でNO)、割当情報生成部122は、選択していないサーバ102のいずれかを1つ選択する(ステップS615)。例えば、割当情報生成部122は、未割当サーバリソースリスト810を参照して、未割当リソース量812が少ない順にサーバ102を選択するようにしてよい。また、割当情報生成部122は、他の基準に従って、サーバ102を選択するようにしてよい。
If there is an unselected server 102 (NO in step S613), the allocation information generating unit 122 selects one of the unselected servers 102 (step S615). For example, the allocation information generation unit 122 may refer to the unallocated server resource list 810 and select the servers 102 in ascending order of the unallocated resource amount 812. Further, the allocation information generation unit 122 may select the server 102 according to other criteria.
次に、割当情報生成部122は、未割当サーバリソースリスト810を参照し、選択したサーバ102の未割当リソース量812が、選択した仮想マシン仕様832以上であるか否かを判定する(ステップS616)。
Next, the allocation information generation unit 122 refers to the unallocated server resource list 810 and determines whether or not the unallocated resource amount 812 of the selected server 102 is equal to or greater than the selected virtual machine specification 832 (step S616). ).
その未割当リソース量812がその仮想マシン仕様832未満の場合(ステップS616でNO)、処理はステップS613に戻る。
If the unallocated resource amount 812 is less than the virtual machine specification 832 (NO in step S616), the process returns to step S613.
その未割当リソース量812がその仮想マシン仕様832以上の場合(ステップS616でYES)、仮想マシン割当部120の規格判断部121は、分割規格リスト820を参照し、その仮想マシン仕様832がそのサーバ102に対応する分割規格822に、適合するか否かを判定する(ステップS617)。
When the unallocated resource amount 812 is greater than or equal to the virtual machine specification 832 (YES in step S616), the standard determination unit 121 of the virtual machine allocation unit 120 refers to the division standard list 820, and the virtual machine specification 832 is the server. It is determined whether or not the division standard 822 corresponding to 102 conforms (step S617).
その仮想マシン仕様832がその分割規格822に適合しない場合(ステップS617でNO)、処理はステップS613に戻る。
If the virtual machine specification 832 does not conform to the division standard 822 (NO in step S617), the process returns to step S613.
その仮想マシン仕様832がその分割規格822に適合する場合(ステップS617でYES)、規格判断部121は、その仮想マシン仕様832をそのサーバ102に割り当てるように、仮想マシン割当リスト840を更新する(ステップS618)。尚、「その仮想マシン仕様832をそのサーバ102に割り当てる」ということは、「その仮想マシン仕様832に対応する仮想マシンVMを、そのサーバ102から払い出せるようにする」ことである。
When the virtual machine specification 832 conforms to the division standard 822 (YES in step S617), the standard determination unit 121 updates the virtual machine allocation list 840 so that the virtual machine specification 832 is allocated to the server 102 ( Step S618). “Assigning the virtual machine specification 832 to the server 102” means “allowing the virtual machine VM corresponding to the virtual machine specification 832 to be issued from the server 102”.
次に、規格判断部121は、そのサーバ102に対応する未割当リソース量812から、その仮想マシン仕様832を減算して、未割当サーバリソースリスト810を更新する(ステップS619)。例えば、未割当リソース量812が「6」のサーバ102から、仮想マシン仕様832が「2」の仮想マシンVMを払いだした場合、そのサーバ102の未割当リソース量812は、6-2=4となる。
Next, the standard determining unit 121 updates the unallocated server resource list 810 by subtracting the virtual machine specification 832 from the unallocated resource amount 812 corresponding to the server 102 (step S619). For example, when a virtual machine VM whose virtual machine specification 832 is “2” is paid out from the server 102 whose unallocated resource amount 812 is “6”, the unallocated resource amount 812 of the server 102 is 6-2 = 4. It becomes.
上述の動作により、規格化された仮想マシンVMを分割規格822の定められたサーバ102から払い出す場合、必要となるサーバ102の台数を適切に削減することができる。上述の動作とは、即ち、それらの仮想マシンVMに対応する仮想マシン仕様832を大きい順に、適合する分割規格822を持つサーバ102のいずれかに割り当てる動作である。
By the above-described operation, when the standardized virtual machine VM is paid out from the server 102 defined by the division standard 822, the number of necessary servers 102 can be appropriately reduced. In other words, the above-described operation is an operation in which the virtual machine specifications 832 corresponding to the virtual machines VM are assigned to any of the servers 102 having matching division standards 822 in descending order.
その具体例を以下に説明する。
Specific examples will be described below.
前提として、払出要求835は、「サイズ3;2、サイズ4;2」であるとする。サーバ102は、サーバ識別子811が「SV001」及び未割当リソース量812が「6」と、サーバ識別子811が「SV002」及び未割当リソース量812が「8」との2台とする。また、分割規格822は、サーバ識別子811が「SV001」及び「SV002」のサーバ102のそれぞれに対応して、「6-3-1」及び「8-4-1」であるとする。
Suppose that the payout request 835 is “size 3; 2, size 4; 2”. The server 102 has two servers, the server identifier 811 is “SV001” and the unallocated resource amount 812 is “6”, the server identifier 811 is “SV002”, and the unallocated resource amount 812 is “8”. Further, it is assumed that the division standards 822 are “6-3-1” and “8-4-1” corresponding to the servers 102 whose server identifiers 811 are “SV001” and “SV002”, respectively.
まず、特許文献1に開示された方法で、仮想マシンVMをサーバ102から払い出す場合を説明する。
First, a case where the virtual machine VM is paid out from the server 102 by the method disclosed in Patent Document 1 will be described.
特許文献1に開示された方法は、1つ目の「サイズ4」の仮想マシンVMを「SV001」のサーバ102から払い出すようにする。次に、特許文献1に開示された方法は、2つ目の「サイズ4」の仮想マシンVMを「SV002」のサーバ102に、更に、1つ目の「サイズ3」の仮想マシンVMを「SV002」のサーバ102から払い出すようにする。最後に、特許文献1に開示された方法は、2つ目の「サイズ3」の仮想マシンVMを割当可能な未割当のリソースが、いずれのサーバ102にも残っていないために、払い出すことを失敗する。この時、「SV001」のサーバ102には「2」のサイズの、及び「SV002」のサーバ102には「1」のサイズのそれぞれの、未割当のリソース量が残る。
In the method disclosed in Patent Document 1, the first “size 4” virtual machine VM is paid out from the server “SV001”. Next, in the method disclosed in Patent Document 1, the second “size 4” virtual machine VM is assigned to the “SV002” server 102, and the first “size 3” virtual machine VM is assigned to “ The payout is made from the server 102 of “SV002”. Finally, in the method disclosed in Patent Document 1, since no unallocated resources to which the second “size 3” virtual machine VM can be allocated remain in any of the servers 102, payout is performed. Fail. At this time, the unallocated resource amount of “2” size remains in the server 102 of “SV001” and the size of “1” remains in the server 102 of “SV002”.
次に、本実施形態の規格化仮想マシン割当装置100による、仮想マシンVMをサーバ102から払い出す場合について説明する。
Next, a case where the virtual machine VM is paid out from the server 102 by the standardized virtual machine allocation apparatus 100 of the present embodiment will be described.
規格化仮想マシン割当装置100は、分割規格822に基づいて、2つの「サイズ3」の仮想マシン仕様832を「SV001」へ、2つの「サイズ4」の仮想マシン仕様832を「SV002」へ割り当てる。従って、規格化仮想マシン割当装置100は、要求された仮想マシンVMを2台のサーバ102で払い出すようにすることができる。このとき、両サーバ102の未割当のリソース量は、ともに「0」である。
The standardized virtual machine allocation apparatus 100 allocates two “size 3” virtual machine specifications 832 to “SV001” and two “size 4” virtual machine specifications 832 to “SV002” based on the division standard 822. . Therefore, the standardized virtual machine allocation device 100 can issue the requested virtual machine VM by the two servers 102. At this time, the unallocated resource amount of both servers 102 is “0”.
上述のような成否を分けるのは、未割当のリソースが分断(フラグメンテーション)されるかされないかの違いである。ある分割規格822を持つサーバ102に、その分割規格822に適合するサイズ(仮想マシン仕様832)の仮想マシン仕様832を、大きい順に割り当てる場合、理論的にフラグメンテーションは発生し得ない。
The difference between success and failure as described above is whether or not unallocated resources are fragmented. When a virtual machine specification 832 having a size (virtual machine specification 832) conforming to the division standard 822 is assigned to the server 102 having a certain division standard 822 in descending order, fragmentation cannot theoretically occur.
例えば、未割当リソース量812が「6」及び分割規格822が[6-3-1]の、サーバ102が複数あるとする。これらのサーバ102に、分割規格822上もっとも大きな、「6」の仮想マシン仕様832を割り当てる処理においては、サーバ102の未割当リソース量812は常に「0」または「6」である。次に、これらのサーバ102に「3」の仮想マシン仕様832を割り当てる処理においては、サーバ102の未割当リソース量812は常に「0」、「3」または「6」となる。従って、この場合も同様に、フラグメンテーションは発生しない。「1」の仮想マシン仕様832についても同様である。
For example, it is assumed that there are a plurality of servers 102 having an unallocated resource amount 812 of “6” and a division standard 822 of [6-3-1]. In the process of assigning the virtual machine specification 832 of “6”, which is the largest in the division standard 822, to these servers 102, the unallocated resource amount 812 of the server 102 is always “0” or “6”. Next, in the process of assigning the virtual machine specification 832 of “3” to these servers 102, the unallocated resource amount 812 of the server 102 is always “0”, “3”, or “6”. Accordingly, in this case as well, no fragmentation occurs. The same applies to the virtual machine specification 832 of “1”.
このような、分割規格822に適合する仮想マシン仕様832の仮想マシンVMを、仮想マシン仕様832が大きい順に、サーバ102から払い出す場合、フラグメンテーションは発生しないという性質から、必要なサーバ数の最適性が保証される。
When such virtual machine VMs of the virtual machine specification 832 conforming to the division standard 822 are paid out from the server 102 in descending order of the virtual machine specification 832, the optimality of the necessary number of servers is required due to the property that fragmentation does not occur. Is guaranteed.
尚、ある仮想マシン割当装置が仮想マシンVMのリソース量を降順にソートをしない場合、その仮想マシン割当装置による仮想マシンVMの割当は、最適性を保証されない。例えば、未割当リソース量812が「6」のサーバ102が2台あるとする。そして、その仮想マシン割当装置が、それらのサーバ102から、まず、仮想マシン仕様832が「3」の仮想マシンVMを払い出す。次に、その仮想マシン割当装置が、仮想マシン仕様832が「6」の仮想マシンVMを払い出そうとしても、払い出すことができない。そして、未割当リソース量812が「3」のサーバ102が2つと仮想マシン仕様832が「6」の仮想マシンVMが残る。
If a certain virtual machine allocation device does not sort the resource amounts of the virtual machines VM in descending order, the allocation of the virtual machines VM by the virtual machine allocation device is not guaranteed to be optimal. For example, it is assumed that there are two servers 102 having an unallocated resource amount 812 of “6”. Then, the virtual machine allocation device first issues a virtual machine VM with a virtual machine specification 832 of “3” from those servers 102. Next, even if the virtual machine allocation device tries to pay out the virtual machine VM whose virtual machine specification 832 is “6”, it cannot be paid out. Then, two servers 102 having an unallocated resource amount 812 of “3” and a virtual machine VM having a virtual machine specification 832 of “6” remain.
本実施形態の規格化仮想マシン割当装置100は、異なるサイズ(未割当リソース量812)や分割規格822を持つサーバ102が混在していても、前述した場合と同様に、フラグメンテーションは発生せず、サーバ数の最適性が保証される。
In the standardized virtual machine allocation apparatus 100 of this embodiment, even when servers 102 having different sizes (unallocated resource amount 812) and division standards 822 are mixed, as in the case described above, fragmentation does not occur. The optimal number of servers is guaranteed.
以上が、本実施形態の動作の説明である。
The above is the description of the operation of the present embodiment.
尚、割当要求ソート部110は、仮想マシン割当部120に含まれていてもよい。即ち、仮想マシン割当部120が仮想マシン仕様832を選択する際に、割当要求ソート部110が仮想マシン仕様832を逐次ソートするようにしてもよい。
Note that the allocation request sorting unit 110 may be included in the virtual machine allocation unit 120. That is, when the virtual machine allocation unit 120 selects the virtual machine specification 832, the allocation request sorting unit 110 may sequentially sort the virtual machine specification 832.
上述した本実施形態における第1の効果は、仕様を規格化された複数の仮想マシンVMをサーバ102から払い出す際、必要となるサーバ102の台数を適切に削減することを可能にする点である。
The first effect of the present embodiment described above is that it is possible to appropriately reduce the number of necessary servers 102 when paying out a plurality of virtual machines VMs whose specifications are standardized from the server 102. is there.
その理由は、割当要求ソート部110が仮想マシン仕様832を降順にソートし、仮想マシン割当部120が、分割規格リスト820に基づいて、ソートされた順で仮想マシン仕様832をサーバ102のいずれかに割り当てる、ようにしたからである。
The reason is that the allocation request sorting unit 110 sorts the virtual machine specifications 832 in descending order, and the virtual machine allocation unit 120 assigns the virtual machine specifications 832 to any of the servers 102 in the sorted order based on the division standard list 820. It is because it was assigned to.
上述した本実施形態における第2の効果は、サーバ102を無駄なく割り当てることを可能にする点である。
The second effect of the present embodiment described above is that the server 102 can be allocated without waste.
その理由は、標準的な仕様のサーバ102のリソース量を等分割したものを、基本サイズとして規定するようにしたからである。
The reason is that the resource size of the standard specification server 102 is equally divided so as to be defined as the basic size.
<<<第2の実施形態>>>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。 <<< Second Embodiment >>>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。 <<< Second Embodiment >>>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.
図10は、本発明の第2の実施形態に係る規格化仮想マシン割当装置200の構成を示すブロック図である。
FIG. 10 is a block diagram showing the configuration of the standardized virtual machine allocation apparatus 200 according to the second embodiment of the present invention.
図10に示すように、規格化仮想マシン割当装置200は、処理装置201と記憶装置800とを含む。規格化仮想マシン割当装置200は、例えば、図2に示すコンピュータ700である。また、規格化仮想マシン割当装置200は、ハードウェア及びソフトウェアで実現される専用装置であってもよい。
As shown in FIG. 10, the standardized virtual machine allocation device 200 includes a processing device 201 and a storage device 800. The standardized virtual machine allocation apparatus 200 is, for example, the computer 700 shown in FIG. Further, the standardized virtual machine allocation device 200 may be a dedicated device realized by hardware and software.
===処理装置201===
処理装置201は、割当要求ソート部210、仮想マシン割当部220及び指示部230を含む。割当要求ソート部210、仮想マシン割当部220及び指示部230は、図2に示すCPU701が、例えば図2に示す記録媒体707に格納されたプログラムを実行することにより、実現される。 ===Processing Device 201 ===
Theprocessing apparatus 201 includes an allocation request sorting unit 210, a virtual machine allocation unit 220, and an instruction unit 230. The allocation request sorting unit 210, the virtual machine allocation unit 220, and the instruction unit 230 are realized when the CPU 701 illustrated in FIG. 2 executes, for example, a program stored in the recording medium 707 illustrated in FIG.
処理装置201は、割当要求ソート部210、仮想マシン割当部220及び指示部230を含む。割当要求ソート部210、仮想マシン割当部220及び指示部230は、図2に示すCPU701が、例えば図2に示す記録媒体707に格納されたプログラムを実行することにより、実現される。 ===
The
===割当要求ソート部210===
割当要求ソート部210は、図11に示すような払出要求835を取得する。 === AllocationRequest Sorting Unit 210 ===
The allocationrequest sorting unit 210 acquires a payout request 835 as shown in FIG.
割当要求ソート部210は、図11に示すような払出要求835を取得する。 === Allocation
The allocation
図11は、払出要求835の構造の一例を示す図である。図11に示すように、払出要求835は、任意の数の仮想マシン割当要求839を含む。仮想マシン割当要求839は、仮想マシン識別子831と仮想マシン仕様832との組である。仮想マシン識別子831は、仮想マシンVMを識別する識別子である。
FIG. 11 is a diagram illustrating an example of the structure of the payout request 835. As shown in FIG. 11, the payout request 835 includes an arbitrary number of virtual machine allocation requests 839. The virtual machine allocation request 839 is a set of a virtual machine identifier 831 and a virtual machine specification 832. The virtual machine identifier 831 is an identifier for identifying the virtual machine VM.
割当要求ソート部210は、例えば払出要求835が「VM001;3、VM002;4、VM003;2、VM004;3、VM005;2」の場合、「VM002;4、VM001;3、VM004;3、VM003;2、VM005;2」のようにソートする。
For example, when the payout request 835 is “VM001; 3, VM002; 4, VM003; 2, VM004; 3, VM005; 2”, the allocation request sort unit 210 “VM002; 4, VM001; ; 2, VM005; 2 ".
以上の点を除いて、割当要求ソート部210は、図1に示す割当要求ソート部110と同等である。
Except for the above points, the allocation request sorting unit 210 is equivalent to the allocation request sorting unit 110 shown in FIG.
===仮想マシン割当部220===
本実施形態の仮想マシン割当部220は、規格判断部121と割当情報生成部222とを含む。 === VirtualMachine Allocation Unit 220 ===
The virtualmachine allocation unit 220 according to the present embodiment includes a standard determination unit 121 and an allocation information generation unit 222.
本実施形態の仮想マシン割当部220は、規格判断部121と割当情報生成部222とを含む。 === Virtual
The virtual
仮想マシン割当部220の割当情報生成部222は、割当要求ソート部210により払出要求835が上述のようにソートされた結果に基づいて、図12に示すような仮想マシン割当リスト845を生成する。
The allocation information generation unit 222 of the virtual machine allocation unit 220 generates a virtual machine allocation list 845 as shown in FIG. 12 based on the result of sorting the payout requests 835 by the allocation request sorting unit 210 as described above.
図12は、仮想マシン割当リスト845の一例を示す図である。図12に示すように、仮想マシン割当リスト845は、サーバ識別子811と、仮想マシンVMの識別子である仮想マシン識別子831との組を含む。その組は、そのサーバ識別子811で特定されるサーバ102から、その仮想マシン識別子831で特定される仮想マシンVMが払い出されることを示す。
FIG. 12 is a diagram illustrating an example of the virtual machine allocation list 845. As illustrated in FIG. 12, the virtual machine allocation list 845 includes a set of a server identifier 811 and a virtual machine identifier 831 that is an identifier of the virtual machine VM. The set indicates that the virtual machine VM specified by the virtual machine identifier 831 is issued from the server 102 specified by the server identifier 811.
仮想マシン割当部220は、未割当サーバリソースリスト810及び分割規格リスト820を記憶装置800から取得する。
The virtual machine allocation unit 220 acquires the unallocated server resource list 810 and the division standard list 820 from the storage device 800.
以上の点を除いて、仮想マシン割当部220は、図1に示す仮想マシン割当部120と同等である。
Except for the above points, the virtual machine allocation unit 220 is equivalent to the virtual machine allocation unit 120 shown in FIG.
===指示部230===
指示部230は、仮想マシン割当リスト845に基づいて、サーバ102のそれぞれに、仮想マシンVMの払出を指示する。 ===Instruction Unit 230 ===
Theinstruction unit 230 instructs each of the servers 102 to issue the virtual machine VM based on the virtual machine allocation list 845.
指示部230は、仮想マシン割当リスト845に基づいて、サーバ102のそれぞれに、仮想マシンVMの払出を指示する。 ===
The
===記憶装置800===
記憶装置800は、未割当サーバリソースリスト810と、分割規格リスト820とを記憶する。 ===Storage device 800 ===
Thestorage device 800 stores an unallocated server resource list 810 and a division standard list 820.
記憶装置800は、未割当サーバリソースリスト810と、分割規格リスト820とを記憶する。 ===
The
上述した本実施形態における効果は、第1の実施形態の効果に加えて、サーバ102のそれぞれに、仮想マシンVMの払出を指示する処理まで実行することを可能にする点である。
The effect of the present embodiment described above is that, in addition to the effect of the first embodiment, the server 102 can be executed up to a process for instructing the payout of the virtual machine VM.
その理由は、以下の構成を含むようにしたからである。第1に、割当要求ソート部210が、仮想マシン識別子831と組を成す仮想マシン仕様832を降順にソートする。第2に、仮想マシン割当部220が、その仮想マシン識別子831をサーバ102に割り当てることを示す、仮想マシン割当リスト845を生成する。第3に、指示部230が、仮想マシン割当リスト845に基づいて、サーバ102のそれぞれに、仮想マシンVMの払出を指示する。
The reason is that the following configuration is included. First, the allocation request sorting unit 210 sorts the virtual machine specifications 832 paired with the virtual machine identifier 831 in descending order. Second, the virtual machine allocation unit 220 generates a virtual machine allocation list 845 indicating that the virtual machine identifier 831 is allocated to the server 102. Third, the instruction unit 230 instructs each of the servers 102 to pay out the virtual machine VM based on the virtual machine allocation list 845.
<<<第3の実施形態>>>
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。 <<< Third Embodiment >>>
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。 <<< Third Embodiment >>>
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.
図13は、本発明の第3の実施形態に係る規格化仮想マシン割当装置300の構成を示すブロック図である。
FIG. 13 is a block diagram showing a configuration of a standardized virtual machine allocation apparatus 300 according to the third embodiment of the present invention.
図13を参照すると、本実施形態における規格化仮想マシン割当装置300は、図10に示す第2の実施形態の規格化仮想マシン割当装置200と比べて、処理装置201に替えて処理装置301を含む。また、記憶装置800は、分割規格リスト820に替えて分割規格リスト860を記憶する。
Referring to FIG. 13, the standardized virtual machine allocation apparatus 300 in the present embodiment is different from the standardized virtual machine allocation apparatus 200 in the second embodiment illustrated in FIG. 10 in that a processing apparatus 301 is used instead of the processing apparatus 201. Including. Further, the storage device 800 stores a division standard list 860 instead of the division standard list 820.
図14は、分割規格リスト860の一例を示す図である。図14に示すように、分割規格リスト860は、サーバ識別子811と分割規格822と有効フラグ863との組である分割規格レコード869を含む。有効フラグ863は、対応する分割規格レコード869が有効状態にある(「1」)か無効状態にあるか(「0」)かを示す。
FIG. 14 is a diagram illustrating an example of the division standard list 860. As illustrated in FIG. 14, the division standard list 860 includes a division standard record 869 that is a set of a server identifier 811, a division standard 822, and a valid flag 863. The valid flag 863 indicates whether the corresponding division standard record 869 is in a valid state (“1”) or invalid (“0”).
また、分割規格リスト860は、サーバ識別子811が同一で分割規格822が異なる複数の分割規格レコード869を含む。換言すると、サーバ102は、複数の分割規格822を含んでもよい。尚、分割規格リスト860は、サーバ102のそれぞれについて、そのサーバ102の持ち得る分割規格822の全部を含んでよいし、一部を含むようにしてもよい。
Further, the division standard list 860 includes a plurality of division standard records 869 having the same server identifier 811 and different division standards 822. In other words, the server 102 may include a plurality of division standards 822. The division standard list 860 may include all or some of the division standards 822 that the server 102 can have for each server 102.
===処理装置301===
処理装置301は、図10に示す処理装置201と比べて、仮想マシン割当部220に替えて仮想マシン割当部320を含む。 ===Processing Device 301 ===
Theprocessing device 301 includes a virtual machine allocation unit 320 instead of the virtual machine allocation unit 220, as compared with the processing device 201 illustrated in FIG.
処理装置301は、図10に示す処理装置201と比べて、仮想マシン割当部220に替えて仮想マシン割当部320を含む。 ===
The
===仮想マシン割当部320===
本実施形態の仮想マシン割当部320は、規格判断部321と割当情報生成部222と規格縮減部323とを含む。 === VirtualMachine Allocation Unit 320 ===
The virtualmachine allocation unit 320 of this embodiment includes a standard determination unit 321, an allocation information generation unit 222, and a standard reduction unit 323.
本実施形態の仮想マシン割当部320は、規格判断部321と割当情報生成部222と規格縮減部323とを含む。 === Virtual
The virtual
仮想マシン割当部320の規格判断部321は、図14に示すような分割規格リスト860を参照し、選択した仮想マシン仕様832が、有効フラグ863が「1」である分割規格822のいずれかに適合するか否かを判定する。
The standard determination unit 321 of the virtual machine allocation unit 320 refers to the division standard list 860 as illustrated in FIG. 14, and the selected virtual machine specification 832 corresponds to one of the division standards 822 for which the validity flag 863 is “1”. Determine if it matches.
また、仮想マシン割当部320の規格縮減部323は、選択した仮想マシン仕様832が、有効フラグ863が「1」である分割規格822のいずれかに適合すると判定した場合、分割規格822の縮減を実行する。規格縮減部323は、その適合すると判定した分割規格822と同一のサーバ識別子811を含む、その仮想マシン仕様832が適合しない分割規格レコード869の有効フラグ863を「0」に設定することで、分割規格822を縮減する。
If the standard reduction unit 323 of the virtual machine allocation unit 320 determines that the selected virtual machine specification 832 conforms to any one of the division standards 822 whose valid flag 863 is “1”, the standard reduction unit 323 reduces the division standard 822. Execute. The standard reduction unit 323 sets the validity flag 863 of the division standard record 869 that includes the same server identifier 811 as the division standard 822 determined to be compatible and does not conform to the virtual machine specification 832 to “0”. Reduce standard 822.
換言すると、サーバ102に対応する分割規格822が複数存在する場合、仮想マシン割当部320は、有効フラグ863が「1」である分割規格822に、選択した仮想マシン仕様832が適合すると判定した場合、分割規格822の縮減処理を行う。仮想マシン割当部320は、その適合すると判定した分割規格822に対応するサーバ102に対応する、その仮想マシン仕様832が適合しない分割規格822に対応する有効フラグ863を「0」に設定することで分割規格822を縮減する。
In other words, when there are a plurality of division standards 822 corresponding to the server 102, the virtual machine allocation unit 320 determines that the selected virtual machine specification 832 conforms to the division standard 822 whose valid flag 863 is “1”. Then, reduction processing of the division standard 822 is performed. The virtual machine allocation unit 320 sets the validity flag 863 corresponding to the division standard 822 that does not conform to the virtual machine specification 832 corresponding to the server 102 corresponding to the division standard 822 determined to conform to “0”. The division standard 822 is reduced.
以上の点を除いて、仮想マシン割当部320は、図10に示す仮想マシン割当部220と同等である。
Except for the above points, the virtual machine allocation unit 320 is equivalent to the virtual machine allocation unit 220 shown in FIG.
次に本実施形態の動作について、図13~図16を参照して詳細に説明する。尚、規格化仮想マシン割当装置300全体の動作は、図4に示すフローチャートに示す動作と同等である。
Next, the operation of this embodiment will be described in detail with reference to FIGS. The overall operation of the standardized virtual machine assignment apparatus 300 is the same as the operation shown in the flowchart shown in FIG.
図16は、図9に示す仮想マシン割当部120の動作を示すフローチャートに対応する、本実施形態の仮想マシン割当部320の動作を示すフローチャートである。
FIG. 16 is a flowchart showing the operation of the virtual machine assignment unit 320 of the present embodiment, corresponding to the flowchart showing the operation of the virtual machine assignment unit 120 shown in FIG.
ステップS611からステップS616は、図9のステップS611からステップS616と同等である。
Steps S611 to S616 are equivalent to steps S611 to S616 in FIG.
次に、仮想マシン割当部320の規格判断部321は、分割規格リスト860を参照して、その仮想マシン仕様832がそのサーバ102に対応する分割規格822のいずれかに、適合するか否かを判定する(ステップS637)。
Next, the standard determination unit 321 of the virtual machine allocation unit 320 refers to the division standard list 860 to determine whether the virtual machine specification 832 conforms to any of the division standards 822 corresponding to the server 102. Determination is made (step S637).
その仮想マシン仕様832がその分割規格822に適合しない場合(ステップS637でNO)、処理はステップS613に戻る。
If the virtual machine specification 832 does not conform to the division standard 822 (NO in step S637), the process returns to step S613.
その仮想マシン仕様832がその分割規格822に適合する場合(ステップS637でYES)、処理はステップS618へ進む。
If the virtual machine specification 832 conforms to the division standard 822 (YES in step S637), the process proceeds to step S618.
ステップS618及びステップS619は、図9のステップS618及びステップS619と同等である。
Step S618 and step S619 are equivalent to step S618 and step S619 of FIG.
次に、仮想マシン割当部320の規格縮減部323は、無効化対象の分割規格822を含む、分割規格レコード869の有効フラグ863を「0」に設定する。ここで、その分割規格レコード869は、仮想マシン仕様832が適合した分割規格822と同一のサーバ識別子811を含み、かつその仮想マシン仕様832が適合しない分割規格822を含む(ステップS640)。
Next, the standard reduction unit 323 of the virtual machine allocation unit 320 sets the validity flag 863 of the division standard record 869 including the division standard 822 to be invalidated to “0”. Here, the division standard record 869 includes the same server identifier 811 as the division standard 822 to which the virtual machine specification 832 conforms, and includes the division standard 822 to which the virtual machine specification 832 does not conform (step S640).
分割規格822の縮減について、具体的な例を説明する。
A specific example of reduction of the division standard 822 will be described.
図14に示す分割規格リスト860を参照すると、サーバ識別子811が「SV001」で、分割規格822のそれぞれが「12-6-3-1」、「12-6-2-1」及び「12-4-2-1」である分割規格レコード869が含まれる。そして、図14においては、それらの分割規格レコード869の有効フラグ863のそれぞれは、全て「1」である。
Referring to the division standard list 860 shown in FIG. 14, the server identifier 811 is “SV001”, and the division standards 822 are “12-6-3-1”, “12-6-2-1” and “12-”, respectively. A division standard record 869 that is “4-2-1” is included. In FIG. 14, the validity flags 863 of those division standard records 869 are all “1”.
ステップS637において、仮想マシン割当部320の規格判断部321は、例えば、仮想マシン仕様832の「6」が分割規格822の「12-6-3-1」に適合すると判定する。
In step S637, the standard determination unit 321 of the virtual machine allocation unit 320 determines, for example, that “6” of the virtual machine specification 832 conforms to “12-6-3-1” of the division standard 822.
この場合、ステップS640において、仮想マシン割当部320の規格縮減部323は、サーバ識別子811の「SV001」を含む、その仮想マシン仕様832の「6」が適合しない分割規格レコード869の有効フラグ863を「0」に設定する。この場合、その仮想マシン仕様832の「6」が適合しない分割規格レコード869は、分割規格822が「12-4-2-1」である。尚、分割規格822が「12-6-2-1」は、仮想マシン仕様832の「6」が適合するので、規格縮減部323は、その分割規格レコード869の有効フラグ863を、変更(「0」に設定)しない。
In this case, in step S640, the standard reduction unit 323 of the virtual machine allocation unit 320 includes the validity flag 863 of the division standard record 869 that does not conform to “6” of the virtual machine specification 832 including “SV001” of the server identifier 811. Set to “0”. In this case, the division standard record 869 that does not match “6” of the virtual machine specification 832 has the division standard 822 of “12-4-2-1”. Note that when the division standard 822 is “12-6-2-1,” “6” of the virtual machine specification 832 conforms, so the standard reduction unit 323 changes the validity flag 863 of the division standard record 869 (“ Set to “0”).
結果的に、分割規格リスト860は図15に示すように更新される。
As a result, the division standard list 860 is updated as shown in FIG.
上述した本実施形態における効果は、第1の実施形態の効果に加えて、各サーバ102から、より多くの種類の仕様を持つ仮想マシンVMを払い出すようにする可能性を高めることを可能にする点である。
In addition to the effects of the first embodiment, the effects of the present embodiment described above can increase the possibility of paying out virtual machines VM having more types of specifications from each server 102. It is a point to do.
その理由は、以下の構成を含むようにしたからである。第1に、分割規格リスト860が同一のサーバ識別子811に対して複数の異なる分割規格822が対応する分割規格レコード869を含む。第2に、仮想マシン割当部320の規格縮減部323が、有効な状態にある分割規格822に、選択した仮想マシン仕様832が適合すると判定した場合、分割規格822の縮減処理を行う。
The reason is that the following configuration is included. First, the division standard list 860 includes division standard records 869 corresponding to a plurality of different division standards 822 for the same server identifier 811. Secondly, when the standard reduction unit 323 of the virtual machine allocation unit 320 determines that the selected virtual machine specification 832 matches the effective division standard 822, the division standard 822 is reduced.
尚、サーバ識別子811に対する分割規格822が多いほど(最大の場合で、そのサーバ識別子811で特定されるサーバ102が持ちうる全ての分割規格822)、その効果は大きくなる。従って、最多の分割規格822(そのサーバ識別子811で特定されるサーバ102が持ちうる全ての分割規格822)を対象とした場合に、その効果は最大になる。
Note that as the number of division standards 822 for the server identifier 811 increases (in the maximum case, all the division standards 822 that the server 102 specified by the server identifier 811 can have), the effect becomes greater. Therefore, when the largest number of division standards 822 (all division standards 822 that the server 102 specified by the server identifier 811 can have) is targeted, the effect is maximized.
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されてよい。また、各構成要素は、1つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
Each component described in each of the above embodiments does not necessarily need to be an independent entity. For example, each component may be realized as a module with a plurality of components. In addition, each component may be realized by a plurality of modules. Each component may be configured such that a certain component is a part of another component. Each component may be configured such that a part of a certain component overlaps a part of another component.
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
In the embodiments described above, each component and a module that realizes each component may be realized by hardware if necessary. Moreover, each component and the module which implement | achieves each component may be implement | achieved by a computer and a program. Each component and a module that realizes each component may be realized by mixing hardware modules, computers, and programs.
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
The program is provided by being recorded on a non-volatile computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up. The read program causes the computer to function as a component in each of the above-described embodiments by controlling the operation of the computer.
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障のない範囲で変更することができる。
In each of the embodiments described above, a plurality of operations are described in order in the form of a flowchart. However, the order of description does not limit the order in which the plurality of operations are executed. For this reason, when each embodiment is implemented, the order of the plurality of operations can be changed within a range that does not hinder the contents.
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
Furthermore, in each embodiment described above, a plurality of operations are not limited to being executed at different timings. For example, another operation may occur during the execution of a certain operation, or the execution timing of a certain operation and another operation may partially or entirely overlap.
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されてよい。
Furthermore, in each of the embodiments described above, it is described that a certain operation becomes a trigger for another operation, but the description does not limit all relationships between the certain operation and other operations. For this reason, when each embodiment is implemented, the relationship between the plurality of operations can be changed within a range that does not hinder the contents. The specific description of each operation of each component does not limit each operation of each component. For this reason, each specific operation | movement of each component may be changed in the range which does not cause trouble with respect to a functional, performance, and other characteristic in implementing each embodiment.
以上、各実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得るさまざまな変更をすることができる。
As mentioned above, although this invention was demonstrated with reference to each embodiment, this invention is not limited to the said embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
この出願は、2013年2月18日に出願された日本出願特願2013-028748を基礎とする優先権を主張し、その開示の全てをここに取り込む。
This application claims priority based on Japanese Patent Application No. 2013-028748 filed on February 18, 2013, the entire disclosure of which is incorporated herein.
本発明は、ユーザからの要求に応じて仮想マシンVMをどのサーバから払い出すかを決めるための情報処理装置、情報処理システム、方法及びプログラムに適用できる。例えば、IaaS(Infrastructure as a Service)事業者が、仮想マシンVMを払いだすサーバを決定するための情報処理装置、情報処理システム、方法及びプログラムに適用できる。また、PaaS(Platform as a Service)事業者等が、仮想マシンVMを払いだすサーバを決定するための情報処理装置、情報処理システム、方法及びプログラムにも適用できる。
The present invention can be applied to an information processing apparatus, an information processing system, a method, and a program for determining from which server a virtual machine VM is paid out in response to a request from a user. For example, the present invention can be applied to an information processing apparatus, an information processing system, a method, and a program for an IaaS (Infrastructure as a Service) provider to determine a server to which a virtual machine VM is paid out. Further, the present invention can be applied to an information processing apparatus, an information processing system, a method, and a program for a PaaS (Platform as a Service) business operator to determine a server to which a virtual machine VM is paid out.
100 規格化仮想マシン割当装置
101 情報処理システム
102 サーバ
103 ネットワーク
110 割当要求ソート部
120 仮想マシン割当部
121 規格判断部
122 割当情報生成部
200 規格化仮想マシン割当装置
201 処理装置
210 割当要求ソート部
222 割当情報生成部
220 仮想マシン割当部
230 指示部
300 規格化仮想マシン割当装置
301 処理装置
320 仮想マシン割当部
321 規格判断部
323 規格縮減部
700 コンピュータ
701 CPU
702 記憶部
703 記憶装置
704 入力部
705 出力部
706 通信部
707 記録媒体
800 記憶装置
810 未割当サーバリソースリスト
811 サーバ識別子
812 未割当リソース量
820 分割規格リスト
822 分割規格
830 払出要求
831 仮想マシン識別子
832 仮想マシン仕様
833 要求個数
835 払出要求
839 仮想マシン割当要求
840 仮想マシン割当リスト
845 仮想マシン割当リスト
860 分割規格リスト
863 有効フラグ
869 分割規格レコード 100 Standardized Virtual Machine Allocation Device 101Information Processing System 102 Server 103 Network 110 Allocation Request Sorting Unit 120 Virtual Machine Allocation Unit 121 Standard Judgment Unit 122 Allocation Information Generation Unit 200 Standardized Virtual Machine Allocation Device 201 Processing Unit 210 Allocation Request Sorting Unit 222 Allocation information generation unit 220 Virtual machine allocation unit 230 Instruction unit 300 Standardized virtual machine allocation device 301 Processing device 320 Virtual machine allocation unit 321 Standard determination unit 323 Standard reduction unit 700 Computer 701 CPU
702Storage unit 703 Storage device 704 Input unit 705 Output unit 706 Communication unit 707 Recording medium 800 Storage device 810 Unallocated server resource list 811 Server identifier 812 Unallocated resource amount 820 Division standard list 822 Division standard 830 Delivery request 831 Virtual machine identifier 832 Virtual machine specifications 833 Requested number 835 Dispensing request 839 Virtual machine allocation request 840 Virtual machine allocation list 845 Virtual machine allocation list 860 Division standard list 863 Valid flag 869 Division standard record
101 情報処理システム
102 サーバ
103 ネットワーク
110 割当要求ソート部
120 仮想マシン割当部
121 規格判断部
122 割当情報生成部
200 規格化仮想マシン割当装置
201 処理装置
210 割当要求ソート部
222 割当情報生成部
220 仮想マシン割当部
230 指示部
300 規格化仮想マシン割当装置
301 処理装置
320 仮想マシン割当部
321 規格判断部
323 規格縮減部
700 コンピュータ
701 CPU
702 記憶部
703 記憶装置
704 入力部
705 出力部
706 通信部
707 記録媒体
800 記憶装置
810 未割当サーバリソースリスト
811 サーバ識別子
812 未割当リソース量
820 分割規格リスト
822 分割規格
830 払出要求
831 仮想マシン識別子
832 仮想マシン仕様
833 要求個数
835 払出要求
839 仮想マシン割当要求
840 仮想マシン割当リスト
845 仮想マシン割当リスト
860 分割規格リスト
863 有効フラグ
869 分割規格レコード 100 Standardized Virtual Machine Allocation Device 101
702
Claims (9)
- 仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、前記払出要求に含まれる仮想マシン仕様を降順にソートする割当要求ソート手段と、
サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソート順に判定し、前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、前記割り当てた結果を示す情報を出力する仮想マシン割当手段と、を含む
情報処理装置。 Obtain a payout request including a virtual machine specification indicated by a size, which is a numerical value with the resource amount of a virtual machine having a specific resource configuration as a unit, and specify the virtual machine specifications included in the payout request in descending order. Assignment request sorting means to sort;
A determination is made as to whether or not the virtual machine specifications conform to any of the division standards, indicating the virtual machines of the specifications that can be delivered by the server using the size corresponding to each of the servers, Virtual machine allocating means for allocating the virtual machine specification to any of the servers based on the determined result and information on unallocated resources of the server and outputting information indicating the allocated result. Information processing device. - 前記分割規格は有効な状態と無効な状態とのいずれかの状態にあり、
前記仮想マシン割当手段は、前記サーバに対応する前記分割規格が複数存在する場合、前記有効な状態にある前記分割規格に前記仮想マシン仕様が適合すると判定した場合に、前記適合すると判定した前記分割規格に対応する前記サーバに対応する、前記仮想マシン仕様が適合しない前記分割規格を前記無効な状態にする
ことを特徴とする請求項1記載の情報処理装置。 The division standard is in a valid state or an invalid state,
The virtual machine allocating unit determines that the division is determined to conform when the virtual machine specification conforms to the division standard in the valid state when there are a plurality of the division standards corresponding to the server. The information processing apparatus according to claim 1, wherein the division standard corresponding to the server corresponding to the standard and not compatible with the virtual machine specification is set to the invalid state. - 前記分割規格は、
前記サイズがN(Nは1以上の自然数)の前記サーバには、前記サイズがNの前記仮想マシンを割り当てることができること、
前記サイズがNの前記サーバに、サイズがX(Xは1からNの自然数)の仮想マシンを割り当てることができるならば、整数Xの1以外の約数の1つをAとおくと、前記サーバには、XをAで除した商をサイズとする仮想マシンを割り当てることができること、及び
前記約数のAは、1つの前記サーバの1つのXに対して、1つだけを選択できること、を満足する
ことを特徴とする請求項1または2記載の情報処理装置。 The division standard is
The virtual machine having the size N can be allocated to the server having the size N (N is a natural number equal to or greater than 1);
If a virtual machine of size X (X is a natural number from 1 to N) can be assigned to the server of size N, if one of the divisors other than 1 of the integer X is set to A, A server can be assigned a virtual machine whose size is the quotient of X divided by A, and the divisor A can only select one for one X of the server; The information processing apparatus according to claim 1 or 2, wherein: - 前記サイズの単位とするリソース量は、
前記サーバのリソース量を等分割したリソース量である
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 The resource amount as a unit of the size is
The information processing apparatus according to claim 1, wherein the resource amount is obtained by equally dividing the resource amount of the server. - 前記割当要求ソート手段と前記仮想マシン割当手段とを含む処理手段と、
前記サーバの未割当のリソースの情報と前記分割規格の情報とを記憶する記憶手段と、を含む
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 Processing means including the assignment request sorting means and the virtual machine assignment means;
5. The information processing apparatus according to claim 1, further comprising storage means for storing information on unallocated resources of the server and information on the division standards. - 前記割当の情報に基づいて、前記サーバに前記仮想マシンの払出を指示する指示手段を更に含む
ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 5, further comprising instruction means for instructing the server to pay out the virtual machine based on the allocation information. - 仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、前記払出要求に含まれる仮想マシン仕様を降順にソートする割当要求ソート手段と、
サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソート順に判定し、前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、前記割り当てた結果を示す情報を出力する仮想マシン割当手段と、を含む情報処理装置と、
前記サーバと、を含む
情報処理システム。 Obtain a payout request including a virtual machine specification indicated by a size, which is a numerical value with the resource amount of a virtual machine having a specific resource configuration as a unit, and specify the virtual machine specifications included in the payout request in descending order. Assignment request sorting means to sort;
A determination is made as to whether or not the virtual machine specifications conform to any of the division standards, indicating the virtual machines of the specifications that can be delivered by the server using the size corresponding to each of the servers, Virtual machine allocating means for allocating the virtual machine specification to any of the servers based on the determined result and information on unallocated resources of the server and outputting information indicating the allocated result. An information processing device;
An information processing system including the server. - コンピュータが、
仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、
前記払出要求に含まれる仮想マシン仕様を降順にソートし、
サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソートされた順に判定し、
前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、
前記割り当てた結果を示す情報を出力する
仮想マシン割当方法。 Computer
Obtain a payout request that includes the virtual machine specification, which is the numerical value of the virtual machine specification in units of the resource amount of the virtual machine with a specific resource configuration,
Sort the virtual machine specifications included in the withdrawal request in descending order;
It is determined in the sorted order whether or not the virtual machine specification conforms to any of the division standards indicating the virtual machine of the specification that can be delivered by the server using the size corresponding to each of the servers. And
Based on the determination result and information on unallocated resources of the server, the virtual machine specification is allocated to one of the servers,
A virtual machine allocation method for outputting information indicating the allocation result. - 仮想マシンの仕様を、特定のリソース構成の仮想マシンのリソース量を単位とする数値である、サイズで示す仮想マシン仕様を含む払出要求を取得し、
前記払出要求に含まれる仮想マシン仕様を降順にソートし、
サーバのそれぞれに対応する、前記サイズを用いて前記サーバが払出可能な仕様の前記仮想マシンを示す、分割規格のいずれかに、前記仮想マシン仕様が適合するか否かを前記ソートされた順に判定し、
前記判定した結果と前記サーバの未割当のリソースの情報とに基づいて、前記仮想マシン仕様を前記サーバのいずれかに割り当て、
前記割り当てた結果を示す情報を出力する処理をコンピュータに実行させる
プログラムを記録したコンピュータ読み取り可能な非一時的記録媒体。 Obtain a payout request that includes the virtual machine specification, which is the numerical value of the virtual machine specification in units of the resource amount of the virtual machine with a specific resource configuration,
Sort the virtual machine specifications included in the withdrawal request in descending order;
It is determined in the sorted order whether or not the virtual machine specification conforms to any of the division standards indicating the virtual machine of the specification that can be delivered by the server using the size corresponding to each of the servers. And
Based on the determination result and information on unallocated resources of the server, the virtual machine specification is allocated to one of the servers,
A computer-readable non-transitory recording medium recording a program for causing a computer to execute a process of outputting information indicating the assigned result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015500146A JP5811301B2 (en) | 2013-02-18 | 2014-02-13 | Information processing apparatus for performing virtual machine allocation processing and virtual machine allocation method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-028748 | 2013-02-18 | ||
JP2013028748 | 2013-02-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014125818A1 true WO2014125818A1 (en) | 2014-08-21 |
Family
ID=51353830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/000728 WO2014125818A1 (en) | 2013-02-18 | 2014-02-13 | Information processing device that performs allocation processing for virtual machine, and virtual machine allocation method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5811301B2 (en) |
WO (1) | WO2014125818A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114518933A (en) * | 2021-12-27 | 2022-05-20 | 浪潮云信息技术股份公司 | Method and system for realizing hot migration of virtual machine across CPUs (central processing units) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192612A (en) * | 2002-12-09 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | Power saving in segmented data processing system |
JP2008210001A (en) * | 2007-02-23 | 2008-09-11 | Nec Corp | Server transfer planning system and server transfer planning method |
JP2009087213A (en) * | 2007-10-02 | 2009-04-23 | Nec Corp | Computer reserve capacity calculating device and computer reserve capacity calculating method |
JP2012174068A (en) * | 2011-02-22 | 2012-09-10 | Fujitsu Ltd | Arrangement change method of virtual machine, arrangement change device of virtual machine, and arrangement change program of virtual machine |
-
2014
- 2014-02-13 JP JP2015500146A patent/JP5811301B2/en active Active
- 2014-02-13 WO PCT/JP2014/000728 patent/WO2014125818A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192612A (en) * | 2002-12-09 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | Power saving in segmented data processing system |
JP2008210001A (en) * | 2007-02-23 | 2008-09-11 | Nec Corp | Server transfer planning system and server transfer planning method |
JP2009087213A (en) * | 2007-10-02 | 2009-04-23 | Nec Corp | Computer reserve capacity calculating device and computer reserve capacity calculating method |
JP2012174068A (en) * | 2011-02-22 | 2012-09-10 | Fujitsu Ltd | Arrangement change method of virtual machine, arrangement change device of virtual machine, and arrangement change program of virtual machine |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114518933A (en) * | 2021-12-27 | 2022-05-20 | 浪潮云信息技术股份公司 | Method and system for realizing hot migration of virtual machine across CPUs (central processing units) |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014125818A1 (en) | 2017-02-02 |
JP5811301B2 (en) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11340803B2 (en) | Method for configuring resources, electronic device and computer program product | |
US9038085B2 (en) | System, method and program product for cost-aware selection of stored virtual machine images for subsequent use | |
US11150949B2 (en) | Resource release method, resource allocation method, devices, and computer program products | |
US10620928B2 (en) | Global cloud applications management | |
US9098378B2 (en) | Computing reusable image components to minimize network bandwidth usage | |
US10025630B2 (en) | Operating programs on a computer cluster | |
CN108351769B (en) | Dashboard as a remote computing service | |
WO2012039053A1 (en) | Method of managing computer system operations, computer system and computer-readable medium storing program | |
JP6003590B2 (en) | Data center, virtual system copy service providing method, data center management server, and virtual system copy program | |
US20160352821A1 (en) | Method and system for allocating resources for virtual hosts | |
JP2010020759A (en) | Method and apparatus for assigning lock to thread | |
CN108400875B (en) | Key value-based authorization authentication method, system, electronic device and storage medium | |
US10379912B2 (en) | Data storage allocation utilizing virtual machine resource allocation | |
US20150163111A1 (en) | Managing resources in a distributed computing environment | |
JP5988505B2 (en) | Virtual resource management apparatus, selection method, and selection program | |
CN104700255B (en) | Multi-process processing method, device and system | |
US9317420B2 (en) | Computer program installation across multiple memories | |
US11360756B2 (en) | Processing unit subtype configuration | |
JP5811301B2 (en) | Information processing apparatus for performing virtual machine allocation processing and virtual machine allocation method | |
KR102156656B1 (en) | System and method for creating stack of virtual machine | |
US20160239522A1 (en) | Database identifier generation in transaction processing systems | |
CN109271179B (en) | Virtual machine application program management method, device, equipment and readable storage medium | |
US20100205329A1 (en) | File input/output method | |
KR20140117965A (en) | Method for assigning resource using cloud application programming interface key and apparatus therefor | |
JP2017111644A (en) | Information processing apparatus, control method, and program |
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: 14751755 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015500146 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: 14751755 Country of ref document: EP Kind code of ref document: A1 |