WO2012108007A1 - 実行制御プログラム、実行制御装置および実行制御方法 - Google Patents

実行制御プログラム、実行制御装置および実行制御方法 Download PDF

Info

Publication number
WO2012108007A1
WO2012108007A1 PCT/JP2011/052667 JP2011052667W WO2012108007A1 WO 2012108007 A1 WO2012108007 A1 WO 2012108007A1 JP 2011052667 W JP2011052667 W JP 2011052667W WO 2012108007 A1 WO2012108007 A1 WO 2012108007A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution
multiplicity
computer
resource
same type
Prior art date
Application number
PCT/JP2011/052667
Other languages
English (en)
French (fr)
Inventor
菊池 慎司
松本 安英
裕二 和田
敦二 関口
松原 正純
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP11858287.3A priority Critical patent/EP2674861A4/en
Priority to JP2012556691A priority patent/JP5641064B2/ja
Priority to PCT/JP2011/052667 priority patent/WO2012108007A1/ja
Publication of WO2012108007A1 publication Critical patent/WO2012108007A1/ja
Priority to US13/958,099 priority patent/US9378050B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Definitions

  • the present invention relates to an execution control program, an execution control apparatus, and an execution control method.
  • VM Virtual Machine
  • an object of the present invention is to provide an execution control program, an execution control device, and an execution control method that can suppress resource overload.
  • a request for execution of a predetermined operation to the system is received, and the same type as the predetermined operation being executed by a computer in the system involved in execution of the predetermined operation that has received the execution request.
  • the number of operations of the same type detected and the number of operations of the same type detected by the computer and the execution of the predetermined operation by the computer being completed within a specified time.
  • the predetermined operation is assigned to the computer based on the comparison result.
  • resource overload can be suppressed.
  • FIG. 1 is an explanatory diagram (part 1) of an example of the network system according to the embodiment.
  • FIG. 2 is a block diagram of a hardware configuration example of the execution control apparatus according to the embodiment.
  • FIG. 3 is an explanatory diagram showing an example of the contents stored in the policy information table 300.
  • FIG. 4 is an explanatory diagram showing a specific example of an operation execution request.
  • FIG. 5 is a block diagram of a functional configuration of the execution control apparatus according to the embodiment.
  • FIG. 6 is an explanatory diagram (part 1) of an example of the contents stored in the recommended multiplicity table.
  • FIG. 7 is an explanatory diagram of an example of the contents stored in the resource usage status table.
  • FIG. 8 is an explanatory diagram showing the migration time in a certain load state.
  • FIG. 1 is an explanatory diagram (part 1) of an example of the network system according to the embodiment.
  • FIG. 2 is a block diagram of a hardware configuration example of the execution control apparatus according to the embodiment.
  • FIG. 3
  • FIG. 9 is an explanatory diagram of a specific example of log information.
  • FIG. 10 is an explanatory diagram of an example of calculating the recommended multiplicity of an operation.
  • FIG. 11 is an explanatory diagram showing an example of the stored contents of the recommended multiplicity table when setting the recommended multiplicity of operation for each resource.
  • FIG. 12 is a flowchart (part 1) illustrating an example of an execution control processing procedure of the execution control apparatus according to the embodiment.
  • FIG. 13 is a flowchart (part 2) illustrating an example of the execution control processing procedure of the execution control apparatus according to the embodiment.
  • FIG. 14 is an explanatory diagram (part 2) of an example of the network system according to the embodiment.
  • FIG. 15 is an explanatory diagram (part 2) of an example of the stored contents of the recommended multiplicity table.
  • FIG. 16 is an explanatory diagram (part 1) showing the transition of the resource usage status.
  • FIG. 17 is an explanatory diagram (part 2) of the transition of the resource usage status.
  • FIG. 18 is an explanatory diagram (part 3) illustrating the transition of the resource usage status.
  • FIG. 19 is an explanatory diagram (part 4) showing the transition of the resource usage status.
  • FIG. 20 is an explanatory diagram (part 5) showing the transition of the resource usage status.
  • FIG. 21 is an explanatory diagram (part 6) illustrating the transition of the resource usage status.
  • FIG. 22 is an explanatory diagram (part 7) illustrating the transition of the resource usage status.
  • FIG. 23 is an explanatory diagram showing a timeline of operations OP1 to OP6.
  • FIG. 1 is an explanatory diagram (part 1) of an example of the network system according to the embodiment.
  • a network system 100 includes an execution control apparatus 101 and resources R1 to RK.
  • the execution control device 101 and the resources R1 to RK are connected via a network 110 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet.
  • a network 110 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet.
  • the execution control device 101 is a computer that controls execution of operations for the network system 100.
  • Resources R1 to RK are computers to be controlled by the execution control apparatus 101.
  • the resources R1 to RK are components of the network system 100 such as a physical server, a network device (for example, a switch device), a storage device, and a VM (virtual machine) on the physical server.
  • the operation is, for example, an operation process related to operation management of the network system 100. Specifically, for example, the operation is executed simultaneously and frequently, such as VM activation, restart, termination, VM live migration, patch application of the application operating on the VM, and network device setting change. The possibility is high.
  • resource Rk a resource involved in execution of a predetermined operation OPi
  • resource Rk 1, 2,..., K
  • the execution control apparatus 101 receives an execution request for the operation OPi for the network system 100.
  • the execution control apparatus 101 counts the number of operations of the same type as the operation OPi being executed by the resource Rk involved in the execution of the operation OPi that has received the execution request (hereinafter referred to as “multiplicity Nk of the resource Rk”). Is detected.
  • the type of operation is for classifying a plurality of operations.
  • a plurality of operations are the processing contents of each operation such as VM activation, restart, termination, VM live migration, patch application of the application operating on the VM, and network device setting change. It is classified according to.
  • the execution control apparatus 101 compares the detected multiplicity Nk of the resource Rk with the recommended multiplicity Fi of the operation OPi.
  • the recommended multiplicity Fi of the operation OPi is the number of operations of the same type that can be executed simultaneously by the resource Rk when the execution of the operation OPi is completed within a specified time by the resource Rk.
  • Specified time for operation OPi can be set arbitrarily. Specifically, for example, the specified time for the operation OPi is set by an administrator of the network system 100 in consideration of operation requirements of the network system 100 (service level of services provided to customers, etc.).
  • the recommended multiplicity Fi of the operation OPi may be set in advance, or may be calculated from past execution results of the same type of operation as the operation OPi executed by the resource Rk. Note that specific processing contents for calculating the recommended multiplicity Fi of the operation OPi will be described later.
  • the execution control apparatus 101 allocates the operation OPi to the resource Rk based on the compared result of comparison.
  • the execution control apparatus 101 assigns the operation OPi to the resource Rk ((4-1) in the figure). As a result, the execution of the operation OPi is started by the resource Rk.
  • the execution control apparatus 101 does not assign the operation OPi to the resource Rk. In this case, the execution control apparatus 101 waits for one or more operations of the same type being executed by the resource Rk to be completed, and then repeats the above (2) to (4) ((4-2) in the figure) .
  • the execution control apparatus 101 it is possible to control the number of operations of the same type simultaneously executed by the resource Rk according to the recommended multiplicity Fi of the operation OPi that has received the execution request.
  • the operation OPi can be allocated to the resource Rk so that the execution of the operation OPi is completed within a specified time, and the processing time of the operation OPi can be prolonged and the resource Rk can be prevented from being overloaded.
  • FIG. 2 is a block diagram of a hardware configuration example of the execution control apparatus according to the embodiment.
  • the execution control apparatus 101 includes a CPU (Central Processing Unit) 201, a ROM (Read-Only Memory) 202, a RAM (Random Access Memory) 203, a magnetic disk drive 204, a magnetic disk 205, and an optical disk.
  • a drive 206, an optical disc 207, and an I / F (Interface) 208 are provided. Each component is connected by a bus 200.
  • the CPU 201 governs overall control of the execution control apparatus 101.
  • the ROM 202 stores a program such as a boot program.
  • the RAM 203 is used as a work area for the CPU 201.
  • the magnetic disk drive 204 controls reading / writing of data with respect to the magnetic disk 205 according to the control of the CPU 201.
  • the magnetic disk 205 stores data written under the control of the magnetic disk drive 204.
  • the optical disc drive 206 controls reading / writing of data with respect to the optical disc 207 according to the control of the CPU 201.
  • the optical disk 207 stores data written under the control of the optical disk drive 206, or causes the computer to read data stored on the optical disk 207.
  • the I / F 208 is connected to a network 110 such as a LAN, WAN, or the Internet through a communication line, and is connected to another device via the network 110.
  • the I / F 208 controls an internal interface with the network 110 and controls data input / output from an external device.
  • a modem or a LAN adapter may be employed as the I / F 208.
  • the execution control apparatus 101 may include input / output devices such as a display, a keyboard, and a mouse in addition to the hardware configuration described above.
  • the resources R1 to RK shown in FIG. 1 can also be realized by the same hardware configuration as that of the execution control apparatus 101.
  • the policy information table 300 is stored in a storage device such as the ROM 202, RAM 203, magnetic disk 205, and optical disk 207 shown in FIG.
  • FIG. 3 is an explanatory diagram showing an example of the stored contents of the policy information table 300.
  • the policy information table 300 has policy information for each policy (for example, policy information 300-1 to 300-5).
  • the policy is a condition that should be satisfied when the operation OPi is executed, and defines a time required for the execution of the operation OPi to be completed.
  • the policy information includes a policy name for identifying the policy and the content of the policy.
  • the processing time of live migration (LM in FIG. 3) is “((execution time when multiplicity is“ 1 ”) ⁇ 2)” and “2 [minutes]
  • the policy P1 “within” is shown.
  • the live migration processing time is the time required to complete the VM live migration.
  • Multiplicity is the number of operations of the same type that are executed simultaneously.
  • the execution time when the multiplicity is “1” is the time required to complete the live migration when the resource Rk executes the VM live migration with the multiplicity “1”.
  • the policy P2 is indicated as “(VM size [GB] ⁇ 30 [seconds]) within the live migration processing time”.
  • the VM size is the memory size of the VM to be moved.
  • policy P3 is a combination of policy P1 and policy P2 with “and”.
  • FIG. 4 is an explanatory diagram showing a specific example of an operation execution request.
  • the execution request 400 includes information on operation ID, type, processing content, application policy name, and participating resources.
  • the operation ID is an identifier of the operation OPi.
  • the type is the type of operation OPi.
  • the processing content is the processing content of the operation OPi.
  • the applied policy name is a name of a policy applied to the operation OPi.
  • the participating resource is a resource Rk involved in the execution of the operation OPi.
  • the execution request 400 includes the type “LM” of the operation OP1, the processing content “move VM1 from Svr (server) A to SvrB”, the applied policy name “P1”, and the involved resource “VM1 (1 [GB]”. ), SvrA (src), SvrB (dst) ”.
  • VM1 (1 [GB]) indicates that the memory size of the VM1 is 1 [GB].
  • SvrA (src) indicates that SvrA is the physical server of the migration source (source).
  • SvrB (dst) indicates that SvrB is the physical server of the migration destination (destination).
  • FIG. 5 is a block diagram of a functional configuration of the execution control apparatus according to the embodiment.
  • the execution control apparatus 101 includes a reception unit 501, a selection unit 502, a detection unit 503, a calculation unit 504, a comparison unit 505, an allocation unit 506, and a collection unit 507.
  • the functions (accepting unit 501 to collecting unit 507) serving as the control unit are, for example, a program stored in a storage device such as the ROM 202, the RAM 203, the magnetic disk 205, and the optical disc 207 illustrated in FIG.
  • the function is realized by executing the function or by the I / F 208.
  • the accepting unit 501 accepts an execution request for a predetermined operation OPi for the network system 100.
  • the execution request for the operation OPi includes, for example, the type of the operation OPi, the processing content, the execution condition, and the application policy name.
  • the execution condition is information indicating, for example, the resource Ri involved in the execution of the operation OPi, the memory size of the target VM, and the like.
  • the reception unit 501 issues an operation OPi execution request (for example, the execution request 400) by a user operation input using a keyboard (not shown) or a mouse (not shown) of the execution control apparatus 101. Accept.
  • the reception unit 501 may receive an operation OPi execution request from an external computer via the network 110.
  • the operation OPi that has received the execution request is registered, for example, in the operation pool.
  • the operation pool is a storage area that temporarily holds the operation OPi waiting to be executed, and is realized by a storage device such as the RAM 203, the magnetic disk 205, and the optical disk 207 shown in FIG.
  • the selection unit 502 selects the operation OPi for which the execution request has been accepted. Specifically, for example, the selection unit 502 may select the operation OPi from the operation pool in the order in which the execution request is received, or select the operation OPi in the descending order of priority. Also good.
  • the detecting unit 503 detects the multiplicity Nk of the resource Rk involved in the execution of the selected operation OPi.
  • the multiplicity Nk is the number of operations of the same type as the operation OPi being executed by the resource Rk.
  • the detection unit 503 specifies the resource Rk involved in the execution of the operation OPi from the received execution request.
  • the resource Rk involved in the execution of the operation OPi is specified as the resource Rk involved in the execution of the operation OP1.
  • the detection unit 503 may detect the multiplicity Nk of the resource Rk by inquiring about the currently executed operation with respect to the specified resource Rk. Further, the detection unit 503 may detect the multiplicity Nk of the resource Rk with reference to a resource usage status table 700 shown in FIG. Details of the resource usage status table 700 will be described later with reference to FIG.
  • the calculation unit 504 calculates the recommended multiplicity Fi of the operation OPi based on the load information of the resource Rk and the log information of the operation of the same type as the operation OPi executed by the resource Rk.
  • the load information of the resource Rk is, for example, the utilization rate of the CPU or I / O (Input / Output) device of the resource Rk.
  • the execution control apparatus 101 can acquire the load information of the resource Rk by making an inquiry to the resource Rk, for example.
  • the log information of the same type of operation as the operation OPi includes the execution result of the same type of operation executed by the resource Rk in the past.
  • the log information includes, for example, values of various parameters such as an execution condition, a processing time of the operation OPj executed by the resource Rk, a multiplicity Nk of the resource Rk when the operation OPj is executed, and load information.
  • the calculation unit 504 performs regression analysis using the processing time of the operation OPj as an objective variable, the execution condition of the operation OPj, the multiplicity Nk of the resource Rk at the time of execution, and the load information as explanatory variables. Identify relationships between various parameters. Then, the calculation unit 504 calculates a recommended multiplicity Fi that satisfies the policy applied to the operation OPi.
  • the specific processing content of the calculation unit 504 will be described later with reference to FIGS.
  • the calculated result is registered in the recommended multiplicity table 600 shown in FIG.
  • the recommended multiplicity table 600 is realized by a storage device such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.
  • the contents stored in the recommended multiplicity table 600 will be described.
  • FIG. 6 is an explanatory diagram (part 1) showing an example of the stored contents of the recommended multiplicity table.
  • the recommended multiplicity table 600 has fields of type, recommended multiplicity, and condition. By setting information in each field, recommended multiplicity information 600-1 to 600-3 is stored as records.
  • the type is the type of operation.
  • the recommended multiplicity is a recommended multiplicity of the operation.
  • the condition is a condition to be satisfied by each resource involved in the execution of the operation when the operation is simultaneously executed at the recommended multiplicity.
  • a condition “Others” is shown when an operation of the type “LM” is simultaneously executed with a recommended multiplicity “1”.
  • the condition “Others” indicates an arbitrary condition other than the conditions indicated by the recommended multiplicity information 600-1 and 600-2.
  • a condition to be satisfied by the resource a common condition is described for the resource involved in the execution of the operation OPi.
  • a condition for each resource involved in the execution of the operation OPi is set. Also good.
  • the comparison unit 505 compares the detected multiplicity Nk of the resource Rk with the calculated recommended multiplicity Fi of the operation OPi.
  • the recommended multiplicity Fi is the number of operations of the same type that can be executed simultaneously by the resource Rk when the operation OPi is completed by the resource Rk within a specified time.
  • the allocation unit 506 allocates the operation OPi to the resource Rk based on the compared result. Specifically, for example, when the multiplicity Nk of all resources Rk involved in the execution of the operation OPi is less than the recommended multiplicity Fi of the operation OPi, the allocation unit 506 allocates the operation OPi to the resource Rk.
  • the allocation unit 506 does not allocate the operation OPi to the resource Rk.
  • the operation OPi being assigned to the resource Rk, it is possible to prevent the execution of the operation OPi from completing within the time specified by the policy.
  • the assigned result is stored, for example, in the resource usage status table 700 shown in FIG.
  • the resource usage status table 700 is realized by a storage device such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.
  • the contents stored in the resource usage status table 700 will be described.
  • FIG. 7 is an explanatory diagram showing an example of the stored contents of the resource usage status table.
  • a resource usage status table 700 has fields for resource name, operation being executed, and multiplicity. By setting information in each field, usage status information 700-1 to 700-6 for each resource Rk is stored as a record.
  • the resource name is an identifier of the resource Rk.
  • the operation being executed is an identifier of the operation OPi being executed by the resource Rk.
  • the multiplicity is the number of operations of the same type as the operation OPi that are being executed simultaneously by the resource Rk.
  • the multiplicity Nk of the resource Rk is incremented when the operation OPi is assigned to the resource Rk, and is decremented when the execution of the operation OPi by the resource Rk is completed.
  • the usage status information 700-1 indicates that “SvrA” is executing “operations OP1 and OP2” with multiplicity “2”.
  • the usage status information 700-6 indicates that “SW (switch device) Y” is executing “operation OP2” with multiplicity “1”.
  • the detection unit 503 can detect the multiplicity Nk of the resource Rk with reference to the resource usage status table 700. For example, if the resource Rk is “SvrA”, the detection unit 503 can detect the multiplicity “2” of SvrA by referring to the usage status information 700-1.
  • resource usage status table 700 is created for each type of operation, for example.
  • all the resources Rk involved in the execution of the operation of the type “LM” among the resources R1 to RK are registered in advance.
  • the comparison unit 505 compares the detected multiplicity Nk of the resource Rk with the recommended multiplicity Fj of the operation OPj. You may decide to do it.
  • the recommended multiplicity Fj of the operation OPj is calculated before, for example, assigning the operation OPj to the resource Rk.
  • the allocation unit 506 may allocate the operation OPi to the resource Rk based on the comparison result between the multiplicity Nk of the resource Rk and the recommended multiplicity Fj of the operation OPj. Specifically, for example, the allocation unit 506 allocates the operation OPi to the resource Rk when the multiplicity Nk is less than the recommended multiplicity Fj of the operation OPj for all the resources Rk involved in the execution of the operation OPi.
  • the allocation unit 506 does not allocate the operation OPi to the resource Rk. That is, when there is an operation OPj already assigned to the resource Rk, by assigning a new operation OPi, when the multiplicity Nk of the resource Rk exceeds the recommended multiplicity Fj of the operation OPj, the operation OPi is assigned. Absent. As a result, as a result of the operation OPi being assigned to the resource Rk, it is possible to prevent the execution of the operation OPj from completing within the time specified by the policy.
  • the collection unit 507 receives log information of the operation OPi executed by the resource Rk from the resource Rk as a result of the operation OPi being assigned to the resource Rk.
  • the log information of the operation OPi is received, for example, the multiplicity Nk of the resource Rk in the resource usage status table 700 is decremented.
  • the calculation unit 504 may calculate the recommended multiplicity of the same type of operation as the operation OPi using the received log information of the operation OPi. Thereby, the recommended multiplicity Fi of the operation OPi can be calculated by feeding back the execution result of the same type of operation as the operation OPi in each resource Rk.
  • the recommended multiplicity Fi of the operation OPi is calculated, but the present invention is not limited to this.
  • the administrator of the network system 100 may determine the recommended multiplicity Fi of each operation OPi and register it in the recommended multiplicity table 600.
  • FIG. 8 is an explanatory diagram showing the migration time in a certain load state.
  • graphs 801, 802, and 803 are shown in a coordinate system 800 including a vertical axis indicating migration time [seconds] and a horizontal axis indicating multiplicity.
  • the graph 801 shows the relationship between the multiplicity Nk of the resource Rk and the migration time when migration of a VM having a VM size of 1 [GB] is performed in a resource Rk in a certain load state.
  • the migration time is the time required until the VM migration is completed.
  • the graph 802 shows the relationship between the multiplicity Nk of the resource Rk and the migration time when migration of a VM having a VM size of 2 [GB] is executed in the resource Rk.
  • a graph 803 shows the relationship between the multiplicity Nk of the resource Rk and the migration time when the migration of the VM having the VM size of 4 [GB] is executed in the resource Rk.
  • the execution time when executing a live migration of a VM having a multiplicity of “1” and a VM size of 1 [GB] is 34 [seconds]. Therefore, the policy P1 is “within 68 [seconds]”. In this case, the recommended multiplicity Fi of the operation OPi that performs live migration of the VM having the VM size of 1 [GB] is “3”.
  • the execution time when a live migration of a VM having a multiplicity of “1” and a VM size of 2 [GB] is executed is 54 [seconds]. Therefore, the policy P1 is “within 108 [seconds]”. In this case, the recommended multiplicity Fi of the operation OPi that performs live migration of the VM having the VM size of 2 [GB] is “3”.
  • the execution time when executing a live migration of a VM having a multiplicity “1” and a VM size of 4 [GB] is 92 [seconds].
  • the policy P1 is “within 120 [seconds]”.
  • the recommended multiplicity Fi of the operation OPi that performs live migration of a VM having a VM size of 4 [GB] is “2”.
  • FIG. 9 is an explanatory diagram showing a specific example of log information.
  • the log information 900 includes logs L1 to L7 of the operations OP1 to OP7 of the type “LM” executed by the resource Rk involved in the execution of the operation OPi.
  • the logs L1 to L7 include an operation ID, type, VMID, VM size, multiplicity, processing time, and load information.
  • the operation ID is an identifier of each operation.
  • the type is the type of each operation.
  • the VMID is an identifier of the migration target VM.
  • the VM size is the memory size of the migration target VM.
  • the multiplicity is the multiplicity of the resource Rk when each operation is executed.
  • the processing time is the time required to complete the execution of each operation.
  • the load information is the utilization rate of the CPU and I / O of the resource Rk when each operation is executed.
  • the CPU and I / O utilization rates of any resource Rk among the resources Rk involved in the execution of each operation are extracted and shown.
  • the operation OP1 is a live migration of the VM 1 with a VM size of 1 [GB] executed with a multiplicity “3”.
  • the processing time of the operation OP1 is 20 [seconds]
  • the CPU and I / O utilization rates of the resource Rk are 20 [%] and 10 [%], respectively.
  • the recommended multiplicity Fi of the operation OPi for performing the live migration of the VM is calculated according to the policy P2 shown in the policy information table 300.
  • FIG. 10 is an explanatory diagram showing an example of calculating the recommended multiplicity of an operation.
  • log information 900 L1 to L7 of the same type of operation as the operation OPi is shown (see (10-1) in FIG. 10).
  • the calculation unit 504 extracts a log that matches the policy P2 from the logs L1 to L7 of the log information 900 (see (10-2) in FIG. 10).
  • logs L1, L2, L5, L6, and L7 that match the policy P2 are extracted from the logs L1 to L7.
  • the VM size of the log L1 is 1 [GB]
  • the policy P2 is “within 30 [seconds]”. Since the processing time of the log L1 is 20 [seconds], the log L1 matches the policy P2.
  • the policy P2 is “within 30 [seconds]”. Since the processing time of the log L3 is 60 [seconds], the log L3 does not match the policy P2.
  • the calculation unit 504 specifies a log having the maximum CPU and I / O utilization rate for each pair of VM size and multiplicity.
  • the log L6 having the maximum utilization ratio of the CPU and I / O is specified in the pair of the VM size “1” and the multiplicity “2”.
  • the log L5 having the maximum CPU and I / O utilization rate is specified in the pair of the VM size “1” and the multiplicity “3”.
  • the log L2 having the maximum CPU and I / O utilization rate is specified in the pair of the VM size “2” and the multiplicity “2”.
  • the calculation unit 504 For each pair of VM size and multiplicity, the calculation unit 504 sets the multiplicity of the specified log as the recommended multiplicity of the operation of the type “LM”, and uses the VM size of the log, CPU, and I / O usage
  • the rate is a condition (see (10-3) in FIG. 10). This condition is a condition to be satisfied by the resource Rk when the operation of the type “LM” is simultaneously executed with the recommended multiplicity.
  • the recommended multiplicity information 600-1 is registered in the recommended multiplicity table 600.
  • recommended multiplicity information 600-2 is registered.
  • recommended multiplicity information 600-3 is registered in the recommended multiplicity table 600.
  • the VM size “All” indicates an arbitrary memory size.
  • the calculation unit 504 refers to the recommended multiplicity table 600 and specifies the recommended multiplicity Fi of the operation OPi corresponding to the load information of the current resource Rk.
  • the load information of the resource Rk is, for example, the usage rate of the CPU and I / O, the VM size of the VM to be moved, and the like. Note that the load information of the resource Rk is received from the resource Rk by the collection unit 507, for example.
  • the CPU and I / O utilization rates of all resources Rk involved in the execution of operation OPi are 25 [%] or less and the VM size of the migration target VM is 1 [GB] or less.
  • the recommended multiplicity Fi of the operation OPi is “3” from the recommended multiplicity information 600-1.
  • the CPU utilization rate of all resources Rk involved in the execution of the operation OPi is greater than 25 [%] and 30 [%] or less, and the I / O utilization rate is greater than 25 [%] and 40 [%] or less.
  • the VM size is 1 [GB] or less.
  • the recommended multiplicity Fi of the operation OPi is “2” from the recommended multiplicity information 600-2.
  • the CPU utilization rate of all resources Rk involved in the execution of the operation OPi is 40 [%] or less, the I / O utilization rate is 20 [%] or less, and the VM size is larger than 1 [GB]. A case of 2 [GB] or less is assumed. In this case, the recommended multiplicity Fi of the operation OPi is “2” from the recommended multiplicity information 600-2.
  • the recommended multiplicity Fi of the operation OPi is recommended many. It becomes “1” from the severity information 600-3.
  • resource R (M) any resource among the resources R (1) to R (M)
  • the recommended multiplicity of the operation OPi for the resource R (m) is expressed as “recommended multiplicity Fi ⁇ m”.
  • the calculation unit 504 loads the load information of the resource R (m) and a log of operations of the same type as the operation OPi executed by the resource R (m). Based on the information, the recommended multiplicity Fi-m of the operation OPi is calculated.
  • comparing unit 505 for each resource R (m), the multiplicity N (m) of the resource R (m) and the minimum recommended multiplicity Fi of the calculated recommended multiplicity Fi-1 to Fi-M. Compare with Min .
  • Allocation unit 506 allocates operation OPi to resources R (1) to R (M) based on the comparison result for each resource R (m).
  • the allocation unit 506 has the multiplicity N (1) to N (M) of all the resources R (1) to R (M) less than the recommended multiplicity Fi Min .
  • the operation OPi is set to the resource R. (1) to R (M) are assigned. That is, the recommended multiplicity Fi Min becomes the recommended multiplicity Fi of the operation OPi.
  • FIG. 11 is an explanatory diagram showing an example of the stored contents of the recommended multiplicity table when the recommended multiplicity of operation is set for each resource.
  • SvrA, SvrB, and SwX are resources Rk involved in the execution of the operation OPi that has received the execution request.
  • Operation OPi performs VM migration from SvrA to SvrB via SwX.
  • the recommended multiplicity table 1100 shows recommended multiplicity information 1100-1 to 1100-6 for each resource (SvrA, SvrB, SwX) involved in the execution of the operation OPi.
  • Recommended multiplicity information 1100-1 to 1100-3 indicates the recommended multiplicity of the operation OPi for SvrA.
  • the recommended multiplicity of the operation OPi with respect to SvrA is calculated by the calculation unit 504 based on the log information of the operation of the same type as the operation OPi executed by SvrA.
  • Recommended multiplicity information 1100-4, 1100-5 indicates the recommended multiplicity of operation OPi for SvrB.
  • the recommended multiplicity of the operation OPi for SvrB is calculated by the calculation unit 504 based on the log information of the same type of operation as the operation OPi executed by SvrB.
  • Recommended multiplicity information 1100-6 indicates the recommended multiplicity of operation OPi for SwX.
  • the recommended multiplicity of the operation OPi with respect to SwX is calculated by the calculation unit 504 based on log information of the same type of operation as the operation OPi executed by SwX.
  • the utilization rates of the SvrA CPU and I / O are 10 [%] and 20 [%]
  • the utilization rates of the SvrB CPU and I / O are 20 [%] and 50 [%].
  • the utilization rates of the SvrA CPU and I / O are 30 [%] and 50 [%]
  • the utilization rates of the SvrB CPU and I / O are 20 [%] and 50 [%].
  • the recommended multiplicity for each resource (SvrA, SvrB, SwX) of the operation OPi that performs live migration of a VM having a VM size of 4 [GB] is (1, 2, 3).
  • the execution of the operation OPi is a policy. It is possible to prevent incomplete completion within a specified time.
  • FIG. 12 and 13 are flowcharts illustrating an example of an execution control processing procedure of the execution control apparatus according to the embodiment.
  • the selection unit 502 determines whether or not there is an operation OPi waiting for execution in the operation pool (step S1201).
  • step S1201: No when there is no operation OPi waiting to be executed (step S1201: No), the reception unit 501 waits for the operation OPi to be registered in the operation pool. On the other hand, when there is an operation OPi waiting for execution (step S1201: Yes), the selection unit 502 selects the operation OPi from the operation pool (step S1202).
  • the detection unit 503 identifies the resource Rk involved in the execution of the selected operation OPi from the resources R1 to RK (step S1203). Then, the detecting unit 503 detects the multiplicity Nk of the identified resource Rk (step S1204).
  • the calculation unit 504 calculates the recommended multiplicity Fi of the operation OPi based on the load information of the identified resource Rk and the log information of the operation of the same type as the operation OPi executed by the resource Rk. (Step S1205). Thereafter, the comparison unit 505 selects the resource Rk involved in the execution of the selected operation OPi (step S1206).
  • step S1207 determines whether or not there is an operation OPj that is being executed by the selected resource Rk (step S1207). If there is no operation OPj being executed (step S1207: NO), the process proceeds to step S1213.
  • the comparison unit 505 selects the operation OPj being executed by the selected resource Rk (step S1208). Then, the comparison unit 505 identifies the recommended multiplicity Fj of the selected operation OPj (step S1209). Note that the recommended multiplicity Fj of the operation OPj is calculated before the execution is started, and is stored in the RAM 203, for example.
  • the comparison unit 505 compares the multiplicity Nk of the selected resource Rk with the recommended multiplicity Fj of the identified operation OPj (step S1210). Then, the allocation unit 506 determines whether the multiplicity Nk of the resource Rk is less than the recommended multiplicity Fj of the operation OPj (step S1211).
  • step S1211: No when the multiplicity Nk of the resource Rk is greater than or equal to the recommended multiplicity Fj of the operation OPj (step S1211: No), the process proceeds to step S1307 shown in FIG.
  • step S1211: Yes when the multiplicity Nk is less than the recommended multiplicity Fj (step S1211: Yes), the comparison unit 505 determines whether or not there is an unselected operation OPj that is not selected among the operations OPj in which the resource Rk is being executed. Judgment is made (step S1212).
  • step S1212: Yes when there is an unselected operation OPj (step S1212: Yes), the process returns to step S1208.
  • step S1212: No when there is no unselected operation OPj (step S1212: No), the comparison unit 505 determines whether there is an unselected resource Rk that is not selected among the resources Rk involved in the execution of the operation OPi. (Step S1213).
  • step S1213: Yes when there is an unselected resource Rk (step S1213: Yes), the process returns to step S1206. On the other hand, when there is no unselected resource Rk (step S1213: No), it transfers to step S1301 shown in FIG.
  • the comparison unit 505 selects the resource Rk involved in the execution of the operation OPi selected in step S1202 shown in FIG. 12 (step S1301). Thereafter, the comparison unit 505 compares the multiplicity Nk of the selected resource Rk with the recommended multiplicity Fi of the selected operation OPi (step S1302).
  • the allocation unit 506 determines whether or not the multiplicity Nk of the resource Rk is less than the recommended multiplicity Fi of the operation OPi (step S1303).
  • the comparison unit 505 selects an unselected unselected resource Rk involved in the execution of the operation OPi. It is determined whether there is a resource Rk (step S1304).
  • step S1304 when there is an unselected resource Rk (step S1304: Yes), the process returns to step S1301.
  • the allocation unit 506 allocates the selected operation OPi to the resource Rk (step S1305). Then, the allocation unit 506 deletes the allocated operation OPi from the operation pool (step S1306), and the process returns to step S1201 shown in FIG.
  • step S1303 If the multiplicity Nk of the resource Rk is greater than or equal to the recommended multiplicity Fi of the operation OPi in step S1303 (step S1303: No), the selection unit 502 causes the unselected operation that has not been selected among the operations OPi waiting to be executed. It is determined whether there is OPi (step S1307).
  • step S1307: Yes when there is an unselected operation OPi (step S1307: Yes), the process returns to step S1202 shown in FIG.
  • step S1307: No when there is no unselected operation OPi (step S1307: No), the selection unit 502 determines whether or not the execution of one or more operations OPj is completed with the selected resource Rk (step S1308).
  • the selection unit 502 waits for execution of one or more operations OPj to be completed (step S1308: No), and when completed (step S1308: Yes), the process proceeds to step S1202 shown in FIG. .
  • the operation OPi can be allocated to the resource Rk so that the execution of the operation OPi is completed within the time specified by the policy. Further, the operation OPi can be assigned to the resource Rk so that the execution of the operation OPj being executed on the resource Rk is completed within the time specified by the policy.
  • FIG. 14 is an explanatory diagram (part 2) of an example of the network system according to the embodiment.
  • the network system 1400 includes an execution control device 101, SvrA, SvrB, SvrC, SvrD, SwX, and SwY.
  • VM1 VM size: 1 [GB]
  • VM2 VM size: 4 [GB]
  • SvrB VM3 (VM size: 4 [GB]) is operating.
  • SvrC VM4 (VM size: 4 [GB])
  • VM5 VM size: 2 [GB]
  • SvrD VM6 (VM size: 1 [GB]) is operating.
  • FIG. 15 is an explanatory diagram (part 2) showing an example of the stored contents of the recommended multiplicity table.
  • the recommended multiplicity table 1500 stores recommended multiplicity information 1500-1 to 1500-3 as records.
  • the recommended multiplicity information 1500-1 indicates a condition “size ⁇ 2 GB” when the operation of the type “LM” is simultaneously executed with the recommended multiplicity “3”.
  • the conditions regarding the utilization rate of the CPU and I / O in each resource Rk are omitted.
  • the recommended multiplicity information 1500-2 indicates a condition “size ⁇ 4 GB” when the operation of the type “LM” is simultaneously executed with the recommended multiplicity “2”.
  • the recommended multiplicity information 1500-3 indicates a condition “Others” when the operation of the type “LM” is simultaneously executed with the recommended multiplicity “1”.
  • FIGS. 16 to 22 are explanatory diagrams showing changes in the resource usage status.
  • the multiplicity of SvrA, SvrD, SwX, and SwY involved in the execution of operation OP6 is less than “3”.
  • the recommended multiplicity F3 and F4 of the operations OP3 and OP4 being executed in SwX and SwY is “2”, the execution of the operation OP6 is suspended. Therefore, the operation OP6 remains registered in the operation pool.
  • the multiplicity of SvrB, SvrC, SwX, SwY involved in the execution of the operation OP4 being executed is less than “2”. For this reason, execution of operation OP6 is started. As a result, the operation OP6 is deleted from the operation pool, and the multiplicity of SvrA, SvrD, SwX, SwY involved in the execution of the operation OP6 in the resource usage status table 700 is incremented.
  • FIG. 23 is an explanatory diagram showing a timeline of operations OP1 to OP6.
  • the timeline 2300 shows the execution status of each operation OP1 to OP6 (running, pending execution) and the multiplicity of SvrA, SvrB, SvrC, SvrD, SwX and SwY in time series. Yes.
  • the operation OP3 is suspended because the recommended multiplicity F3 of the operation OP3 is “2”.
  • the operation OP4 is suspended because the recommended multiplicity F4 of the operation OP4 is “2”.
  • the operation OP4 is continuously held, while the operation OP5 that has received the execution request after the operation OP4 is executed first.
  • the operation OP6 is continuously held because the recommended multiplicity F4 of the operation OP4 being executed is “2”.
  • the operation OPi is executed based on the comparison result between the recommended multiplicity Fi of the operation OPi that has received the execution request and the multiplicity Nk of the resource Rk. Can be controlled.
  • the execution of the operation OPi can be assigned to the resource Rk so as to be completed within the time specified by the policy, and the processing time of the operation OPi can be prolonged and the overload of the resource Rk can be suppressed.
  • the recommended multiplicity Fi of the operation OPi is calculated based on the load information of the resource Rk and the log information of the operation of the same type as the operation OPi executed by the resource Rk. Can do.
  • the multiplicity in which the execution of the same type of operation as the operation OPi in the resource Rk is completed within the specified time can be calculated as the recommended multiplicity Fi of the operation OPi.
  • the execution control apparatus 101 controls the execution of the operation OPi that has received the execution request based on the comparison result between the recommended multiplicity Fj of the operation OPj being executed by the resource Rk and the multiplicity Nk of the resource Rk. be able to. As a result, as a result of the operation OPi being assigned to the resource Rk, it is possible to prevent the execution of the operation OPj from completing within the time specified by the policy.
  • the execution control apparatus 101 can calculate the recommended multiplicity Fi-m of the operation OPi for each resource R (m) involved in the execution of the operation OPi.
  • the minimum recommended multiplicity Fi Min among the calculated recommended multiplicity Fi-1 to Fi-M can be set as the recommended multiplicity Fi of the operation OPi.
  • the operation OPi can be allocated according to the resource that becomes the bottleneck among the resources R (1) to R (M), and the execution of the operation OPi is prevented from being completed within the time specified in the policy. Can do.
  • log information of the same type of operation as the operation OPi executed by the resource Rk can be received from the resource Rk.
  • the recommended multiplicity Fi of the operation OPi can be calculated by feeding back the execution result of the same type of operation as the operation OPi in each resource Rk.
  • the network system 100 can suppress an increase in processing time of operation management operations that can be executed simultaneously and an overload of the resource Rk. Further, by suppressing the processing time of the operation management operation from being prolonged, further resource pressure and service performance deterioration can be prevented. Specifically, for example, by suppressing an increase in the processing time of live migration, it is possible to suppress an increase in the amount of retransmission data and prevent the operation management network resource from being compressed. In addition, for example, by suppressing an increase in processing time of VM activation, it is possible to prevent physical server resource pressure due to simultaneous activation processing of a large number of VMs and degradation of service performance due to VMs being executed on the same physical server. it can.
  • the execution control method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • the execution control program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
  • the execution control program may be distributed via a network such as the Internet.

Landscapes

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

Abstract

 実行制御装置(101)は、ネットワークシステム(100)に対するオペレーション(OPi)の実行要求を受け付ける。そして、実行制御装置(101)は、実行要求を受け付けたオペレーション(OPi)の実行に関与するリソース(Rk)の多重度(Nk)を検出する。つぎに、実行制御装置(101)は、検出したリソース(Rk)の多重度(Nk)と、オペレーション(OPi)の推奨多重度(Fi)とを比較する。そして、実行制御装置(101)は、比較した比較結果に基づいて、オペレーション(OPi)をリソース(Rk)に割り当てる。

Description

実行制御プログラム、実行制御装置および実行制御方法
 本発明は、実行制御プログラム、実行制御装置および実行制御方法に関する。
 近年、データセンタでは、仮想化により物理サーバ上に仮想マシン(VM:Virtual Machine)を集約してリソース(計算資源)の利用効率を向上させるとともに、大規模化による規模の経済の効果が追求されている。
 一方、システムの仮想化および大規模化にともなって、システムの運用管理が複雑化している。例えば、仮想化により、VMイメージの管理やマイグレーションの制御などの新たな運用管理オペレーションが発生している。また、大規模化により、運用管理オペレーションの発生頻度が増加している。なお、関連する先行技術としては、例えば、下記特許文献1,2がある。
特開2002-024192号公報 特開2005-293048号公報
 しかしながら、従来技術では、運用管理オペレーションが同時多発的に発生することにより、リソースの負荷が増大する場合があるという問題があった。
 1つの側面では、本発明は、リソースの過負荷を抑止することができる実行制御プログラム、実行制御装置および実行制御方法を提供することを目的とする。
 本発明の一態様では、システムに対する所定のオペレーションの実行要求を受け付け、前記実行要求を受け付けた前記所定のオペレーションの実行に関与する前記システム内の計算機が実行中の、前記所定のオペレーションと同一種類のオペレーションの数を検出し、検出した前記同一種類のオペレーションの数と、前記計算機により前記所定のオペレーションの実行が規定時間内に完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数とを比較し、比較した比較結果に基づいて、前記所定のオペレーションを前記計算機に割り当てる。
 本発明の一態様によれば、リソースの過負荷を抑止することができる。
図1は、実施の形態にかかるネットワークシステムの一実施例を示す説明図(その1)である。 図2は、実施の形態にかかる実行制御装置のハードウェア構成例を示すブロック図である。 図3は、ポリシー情報テーブル300の記憶内容の一例を示す説明図である。 図4は、オペレーションの実行要求の具体例を示す説明図である。 図5は、実施の形態にかかる実行制御装置の機能的構成を示すブロック図である。 図6は、推奨多重度テーブルの記憶内容の一例を示す説明図(その1)である。 図7は、リソース利用状況テーブルの記憶内容の一例を示す説明図である。 図8は、ある負荷状態におけるマイグレーション時間を示す説明図である。 図9は、ログ情報の具体例を示す説明図である。 図10は、オペレーションの推奨多重度の算出例を示す説明図である。 図11は、各リソースに対してオペレーションの推奨多重度を設定する場合の推奨多重度テーブルの記憶内容の一例を示す説明図である。 図12は、実施の形態にかかる実行制御装置の実行制御処理手順の一例を示すフローチャート(その1)である。 図13は、実施の形態にかかる実行制御装置の実行制御処理手順の一例を示すフローチャート(その2)である。 図14は、実施の形態にかかるネットワークシステムの一実施例を示す説明図(その2)である。 図15は、推奨多重度テーブルの記憶内容の一例を示す説明図(その2)である。 図16は、リソース利用状況の変遷を示す説明図(その1)である。 図17は、リソース利用状況の変遷を示す説明図(その2)である。 図18は、リソース利用状況の変遷を示す説明図(その3)である。 図19は、リソース利用状況の変遷を示す説明図(その4)である。 図20は、リソース利用状況の変遷を示す説明図(その5)である。 図21は、リソース利用状況の変遷を示す説明図(その6)である。 図22は、リソース利用状況の変遷を示す説明図(その7)である。 図23は、オペレーションOP1~OP6のタイムラインを示す説明図である。
 以下に添付図面を参照して、この発明にかかる実行制御プログラム、実行制御装置および実行制御方法の実施の形態を詳細に説明する。
(ネットワークシステム100の一実施例)
 図1は、実施の形態にかかるネットワークシステムの一実施例を示す説明図(その1)である。図1において、ネットワークシステム100は、実行制御装置101と、リソースR1~RKと、を含む。ネットワークシステム100において、実行制御装置101およびリソースR1~RKは、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク110を介して接続されている。
 実行制御装置101は、ネットワークシステム100に対するオペレーションの実行を制御するコンピュータである。リソースR1~RKは、実行制御装置101の制御対象となる計算機である。具体的には、例えば、リソースR1~RKは、物理サーバ、ネットワーク機器(例えば、スイッチ装置)、ストレージ装置および物理サーバ上のVM(仮想マシン)などのネットワークシステム100の構成要素である。
 ここで、オペレーションとは、例えば、ネットワークシステム100の運用管理にかかる操作処理である。具体的には、例えば、オペレーションは、VMの起動、再起動、終了、VMのライブマイグレーション、VM上で動作しているアプリケーションのパッチ適用、ネットワーク機器の設定変更などの同時多発的に実行される可能性が高いものである。
 以下、実施の形態にかかる実行制御装置101の実行制御処理手順の一例について説明する。ここでは、リソースR1~RKのうち、所定のオペレーションOPiの実行に関与するリソースを「リソースRk」と表記する(k=1,2,…,K)。また、リソースR1~RKは、同一の処理性能を有する場合を想定する。
 (1)実行制御装置101は、ネットワークシステム100に対するオペレーションOPiの実行要求を受け付ける。
 (2)実行制御装置101は、実行要求を受け付けたオペレーションOPiの実行に関与するリソースRkが実行中の、オペレーションOPiと同一種類のオペレーションの数(以下、「リソースRkの多重度Nk」という)を検出する。
 ここで、オペレーションの種類とは、複数のオペレーションを分類するためのものである。具体的には、例えば、複数のオペレーションは、VMの起動、再起動、終了、VMのライブマイグレーション、VM上で動作しているアプリケーションのパッチ適用、ネットワーク機器の設定変更などの各オペレーションの処理内容に応じて分類される。
 (3)実行制御装置101は、検出したリソースRkの多重度Nkと、オペレーションOPiの推奨多重度Fiとを比較する。ここで、オペレーションOPiの推奨多重度Fiとは、リソースRkによりオペレーションOPiの実行が規定時間内に完了する、リソースRkが同時に実行可能な該同一種類のオペレーションの数である。
 オペレーションOPiの規定時間は、任意に設定可能である。具体的には、例えば、オペレーションOPiの規定時間は、ネットワークシステム100の管理者により、ネットワークシステム100の運用要件(顧客に提供されるサービスのサービスレベルなど)を考慮して設定される。
 オペレーションOPiの推奨多重度Fiは、予め設定されていてもよく、また、リソースRkにより実行されたオペレーションOPiと同一種類のオペレーションの過去の実行結果から算出されることにしてもよい。なお、オペレーションOPiの推奨多重度Fiを算出する具体的な処理内容については後述する。
 (4)実行制御装置101は、比較した比較結果に基づいて、オペレーションOPiをリソースRkに割り当てる。
 具体的には、例えば、リソースRkの多重度NkがオペレーションOPiの推奨多重度Fi未満の場合、実行制御装置101が、オペレーションOPiをリソースRkに割り当てる(図中(4-1))。この結果、リソースRkにより、オペレーションOPiの実行が開始される。
 一方、リソースRkの多重度NkがオペレーションOPiの推奨多重度Fi以上の場合、実行制御装置101が、オペレーションOPiをリソースRkに割り当てない。この場合、実行制御装置101が、リソースRkにより実行中の該同一種類のオペレーションが1個以上完了するのを待って、上記(2)~(4)を繰り返す(図中(4-2))。
 以上説明した実施の形態にかかる実行制御装置101によれば、実行要求を受け付けたオペレーションOPiの推奨多重度Fiに従って、リソースRkが同時実行する同一種類のオペレーションの数を制御することができる。これにより、オペレーションOPiの実行が規定時間内に完了するようにリソースRkに割り当てることができ、オペレーションOPiの処理時間の長期化およびリソースRkの過負荷を抑止することができる。
(実行制御装置101のハードウェア構成例)
 図2は、実施の形態にかかる実行制御装置のハードウェア構成例を示すブロック図である。図2において、実行制御装置101は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、I/F(Interface)208と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
 ここで、CPU201は、実行制御装置101の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御に従って磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
 光ディスクドライブ206は、CPU201の制御に従って光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
 I/F208は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク110に接続され、ネットワーク110を介して他の装置に接続される。そして、I/F208は、ネットワーク110と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F208には、例えば、モデムやLANアダプタなどを採用することができる。
 なお、実行制御装置101は、上述したハードウェア構成のほか、ディスプレイ、キーボード、マウスなどの入出力装置を備えることにしてもよい。また、図1に示したリソースR1~RKについても、実行制御装置101と同様のハードウェア構成により実現することができる。
(ポリシー情報テーブル300の記憶内容)
 つぎに、実行制御装置101が用いるポリシー情報テーブル300について説明する。ポリシー情報テーブル300は、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
 図3は、ポリシー情報テーブル300の記憶内容の一例を示す説明図である。図3において、ポリシー情報テーブル300は、ポリシーごとのポリシー情報(例えば、ポリシー情報300-1~300-5)を有している。ここで、ポリシーとは、オペレーションOPiの実行時に満たすべき条件であり、オペレーションOPiの実行が完了するまでに要する時間を規定するものである。具体的には、ポリシー情報は、ポリシーを識別するポリシー名と該ポリシーの内容とを含む。
 ポリシー情報300-1を例に挙げると、ライブマイグレーション(図3中、LM)の処理時間は、『((多重度「1」のときの実行時間)×2)以内』かつ『2[分]以内』というポリシーP1が示されている。ライブマイグレーションの処理時間とは、VMのライブマイグレーションを完了するまでに要する時間である。多重度とは、同時実行している同一種類のオペレーションの数である。多重度「1」のときの実行時間とは、リソースRkが多重度「1」でVMのライブマイグレーションを実行する際に、該ライブマイグレーションを完了するまでに要する時間である。
 また、ポリシー情報300-2を例に挙げると、ライブマイグレーションの処理時間は、『(VMサイズ[GB]×30[秒])以内』というポリシーP2が示されている。VMサイズとは、移動対象となるVMのメモリサイズである。
 なお、ポリシーの内容が矛盾しない限り、「and」や「or」で複数のポリシーを組み合わせて用いることができる。ポリシー情報300-3を例に挙げると、ポリシーP3は、ポリシーP1とポリシーP2とを「and」で組み合わせたものである。
(オペレーションOPiの実行要求)
 つぎに、実行制御装置101が受け付けるオペレーションOPiの実行要求について説明する。図4は、オペレーションの実行要求の具体例を示す説明図である。図4において、実行要求400は、オペレーションID、種類、処理内容、適用ポリシー名および関与リソースに関する情報を含む。
 オペレーションIDは、オペレーションOPiの識別子である。種類は、オペレーションOPiの種類である。処理内容は、オペレーションOPiの処理内容である。適用ポリシー名は、オペレーションOPiに適用するポリシーの名称である。関与リソースは、オペレーションOPiの実行に関与するリソースRkである。
 具体的には、実行要求400は、オペレーションOP1の種類『LM』、処理内容『VM1をSvr(サーバ)AからSvrBへ移動』、適用ポリシー名『P1』および関与リソース『VM1(1[GB]),SvrA(src),SvrB(dst)』を含む。なお、VM1(1[GB])は、VM1のメモリサイズが1[GB]であることを示している。SvrA(src)は、SvrAが移動元(ソース)の物理サーバであることを示している。SvrB(dst)は、SvrBが移動先(ディスティネーション)の物理サーバであることを示している。
(実行制御装置101の機能的構成例)
 つぎに、実行制御装置101の機能的構成例について説明する。図5は、実施の形態にかかる実行制御装置の機能的構成を示すブロック図である。図5において、実行制御装置101は、受付部501と、選択部502と、検出部503と、算出部504と、比較部505と、割当部506と、収集部507と、を含む構成である。この制御部となる機能(受付部501~収集部507)は、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F208により、その機能を実現する。
 受付部501は、ネットワークシステム100に対する所定のオペレーションOPiの実行要求を受け付ける。ここで、オペレーションOPiの実行要求は、例えば、オペレーションOPiの種類、処理内容、実行条件および適用ポリシー名を含むものである。実行条件は、例えば、オペレーションOPiの実行に関与するリソースRiや対象となるVMのメモリサイズなどを示す情報である。
 具体的には、例えば、受付部501が、実行制御装置101のキーボード(不図示)やマウス(不図示)を用いたユーザの操作入力により、オペレーションOPiの実行要求(例えば、実行要求400)を受け付ける。また、受付部501が、ネットワーク110を介して、外部のコンピュータからオペレーションOPiの実行要求を受信することにしてもよい。
 なお、実行要求を受け付けたオペレーションOPiは、例えば、オペレーションプールに登録される。オペレーションプールは、実行待ちのオペレーションOPiを一時的に保持する記憶領域であり、例えば、図2に示したRAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。
 選択部502は、実行要求が受け付けられたオペレーションOPiを選択する。具体的には、例えば、選択部502が、オペレーションプールの中から、実行要求を受け付けた順にオペレーションOPiを選択することにしてもよく、また、優先順位の高い順にオペレーションOPiを選択することにしてもよい。
 検出部503は、選択されたオペレーションOPiの実行に関与するリソースRkの多重度Nkを検出する。多重度Nkは、上述したように、リソースRkが実行中の、オペレーションOPiと同一種類のオペレーションの数である。
 具体的には、例えば、まず、検出部503が、受け付けられた実行要求からオペレーションOPiの実行に関与するリソースRkを特定する。図4に示した実行要求400の例では、オペレーションOP1の実行に関与するリソースRkとして、VM1,SvrAおよびSvrBが特定される。
 そして、検出部503が、特定したリソースRkに対して、現在実行中のオペレーションを問い合わせることにより、リソースRkの多重度Nkを検出することにしてもよい。また、検出部503が、後述の図7に示すリソース利用状況テーブル700を参照して、リソースRkの多重度Nkを検出することにしてもよい。なお、リソース利用状況テーブル700についての詳細な説明は、図7を用いて後述する。
 算出部504は、リソースRkの負荷情報と、リソースRkにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報とに基づいて、オペレーションOPiの推奨多重度Fiを算出する。ここで、リソースRkの負荷情報とは、例えば、リソースRkのCPUやI/O(Input/Output)デバイスの利用率である。実行制御装置101は、例えば、リソースRkに問い合わせることにより、リソースRkの負荷情報を取得することができる。
 オペレーションOPiと同一種類のオペレーションのログ情報とは、リソースRkが過去に実行した該同一種類のオペレーションの実行結果を含むものである。ログ情報は、具体的には、例えば、リソースRkが実行したオペレーションOPjの実行条件、処理時間、オペレーションOPjを実行時のリソースRkの多重度Nkおよび負荷情報などの各種パラメータの値を含む。
 具体的には、例えば、算出部504が、オペレーションOPjの処理時間を目的変数とし、オペレーションOPjの実行条件、実行時のリソースRkの多重度Nkおよび負荷情報を説明変数として回帰分析を行うことにより、各種パラメータ間の関係を特定する。そして、算出部504が、オペレーションOPiに適用するポリシーを満たす推奨多重度Fiを算出する。なお、算出部504の具体的な処理内容については、図8~図10を用いて後述する。
 算出された算出結果は、例えば、図6に示す推奨多重度テーブル600に登録される。推奨多重度テーブル600は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。ここで、推奨多重度テーブル600の記憶内容について説明する。
 図6は、推奨多重度テーブルの記憶内容の一例を示す説明図(その1)である。図6において、推奨多重度テーブル600は、種類、推奨多重度、条件のフィールドを有する。各フィールドに情報を設定することで、推奨多重度情報600-1~600-3がレコードとして記憶されている。
 ここで、種類は、オペレーションの種類である。推奨多重度は、オペレーションの推奨多重度である。条件は、オペレーションを推奨多重度で同時実行する場合に、該オペレーションの実行に関与する各リソースが満たすべき条件である。
 推奨多重度情報600-1を例に挙げると、種類「LM」のオペレーションを推奨多重度「3」で同時実行する場合の条件「(CPU≦25%)and(I/O≦25%)and(size≦1GB)」が示されている。この条件は、具体的には、オペレーションの実行に関与するリソースのCPUの利用率が25%以下、かつ、I/Oの利用率が25%以下、かつ、移動対象のVMのメモリサイズが1GB以下であることを示している。
 また、推奨多重度情報600-2を例に挙げると、種類「LM」のオペレーションを推奨多重度「2」で同時実行する場合の2つの条件が示されている。これは、種類「LM」のオペレーションを推奨多重度「2」で同時実行する場合、「or」で接続された2つの条件のうちいずれか一方の条件を満たせばよいことを示している。
 また、推奨多重度情報600-3を例に挙げると、種類「LM」のオペレーションを推奨多重度「1」で同時実行する場合の条件「Others」が示されている。条件「Others」は、推奨多重度情報600-1,600-2で示した条件以外の任意の条件を示している。
 なお、ここでは、リソースが満たすべき条件として、オペレーションOPiの実行に関与するリソースで共通の条件を例に挙げて説明したが、オペレーションOPiの実行に関与するリソースごとの条件を設定することにしてもよい。
 図5の説明に戻り、比較部505は、検出されたリソースRkの多重度Nkと、算出されたオペレーションOPiの推奨多重度Fiとを比較する。推奨多重度Fiは、上述したように、リソースRkによりオペレーションOPiの実行が規定時間内に完了する、リソースRkが同時に実行可能な同一種類のオペレーションの数である。
 割当部506は、比較された比較結果に基づいて、オペレーションOPiをリソースRkに割り当てる。具体的には、例えば、割当部506が、オペレーションOPiの実行に関与するすべてのリソースRkの多重度Nkが、オペレーションOPiの推奨多重度Fi未満の場合、オペレーションOPiをリソースRkに割り当てる。
 一方、オペレーションOPiの実行に関与する少なくともいずれかのリソースRkの多重度Nkが、オペレーションOPiの推奨多重度Fi以上の場合、割当部506は、オペレーションOPiをリソースRkに割り当てない。これにより、オペレーションOPiがリソースRkに割り当てられた結果、オペレーションOPiの実行がポリシーで規定された時間内に完了しないことを防ぐことができる。
 割り当てられた割当結果は、例えば、図7に示すリソース利用状況テーブル700に記憶される。リソース利用状況テーブル700は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。ここで、リソース利用状況テーブル700の記憶内容について説明する。
 図7は、リソース利用状況テーブルの記憶内容の一例を示す説明図である。図7において、リソース利用状況テーブル700は、リソース名、実行中オペレーションおよび多重度のフィールドを有する。各フィールドに情報を設定することで、リソースRkごとの利用状況情報700-1~700-6がレコードとして記憶されている。
 ここで、リソース名は、リソースRkの識別子である。実行中オペレーションは、リソースRkが実行中のオペレーションOPiの識別子である。多重度は、リソースRkが同時実行中の、オペレーションOPiと同一種類のオペレーションの数である。リソースRkの多重度Nkは、オペレーションOPiがリソースRkに割り当てられるとインクリメントされ、リソースRkによるオペレーションOPiの実行が完了するとデクリメントされる。
 例えば、利用状況情報700-1は、「SvrA」が、多重度「2」で「オペレーションOP1,OP2」を実行中であることを示している。利用状況情報700-6は、「SW(スイッチ装置)Y」が、多重度「1」で「オペレーションOP2」を実行中であることを示している。
 上記検出部503は、リソース利用状況テーブル700を参照して、リソースRkの多重度Nkを検出することができる。例えば、リソースRkを「SvrA」とすると、検出部503が、利用状況情報700-1を参照することにより、SvrAの多重度「2」を検出することができる。
 なお、リソース利用状況テーブル700は、例えば、オペレーションの種類ごとに作成される。また、リソース利用状況テーブル700には、リソースR1~RKのうち、例えば、種類「LM」のオペレーションの実行に関与するすべてのリソースRkが予め登録されている。
 図5の説明に戻り、比較部505は、リソースRkがオペレーションOPiと同一種類のオペレーションOPjを実行中の場合、検出されたリソースRkの多重度Nkと、オペレーションOPjの推奨多重度Fjとを比較することにしてもよい。オペレーションOPjの推奨多重度Fjは、例えば、オペレーションOPjをリソースRkに割り当てる前に算出されたものである。
 また、割当部506は、リソースRkの多重度NkとオペレーションOPjの推奨多重度Fjとの比較結果に基づいて、オペレーションOPiをリソースRkに割り当てることにしてもよい。具体的には、例えば、割当部506が、オペレーションOPiの実行に関与するすべてのリソースRkについて、多重度Nkが、オペレーションOPjの推奨多重度Fj未満の場合、オペレーションOPiをリソースRkに割り当てる。
 一方、オペレーションOPiの実行に関与する少なくともいずれかのリソースRkについて、多重度NkがオペレーションOPjの推奨多重度Fj以上の場合、割当部506は、オペレーションOPiをリソースRkに割り当てない。すなわち、リソースRkに割当済みのオペレーションOPjが存在する場合、新たなオペレーションOPiを割り当てることで、リソースRkの多重度NkがオペレーションOPjの推奨多重度Fjを超えるときは、オペレーションOPiの割当は行われない。これにより、オペレーションOPiがリソースRkに割り当てられた結果、オペレーションOPjの実行がポリシーで規定された時間内に完了しないことを防ぐことができる。
 収集部507は、オペレーションOPiがリソースRkに割り当てられた結果、リソースRkにより実行されたオペレーションOPiのログ情報をリソースRkから受信する。オペレーションOPiのログ情報が受信されると、例えば、リソース利用状況テーブル700内の該当リソースRkの多重度Nkがデクリメントされる。
 また、算出部504は、受信されたオペレーションOPiのログ情報を用いて、オペレーションOPiと同一種類のオペレーションの推奨多重度を算出することにしてもよい。これにより、各リソースRkにおけるオペレーションOPiと同一種類のオペレーションの実行結果をフィードバックして、オペレーションOPiの推奨多重度Fiを算出することができる。
 なお、上述した説明では、オペレーションOPiの推奨多重度Fiを算出することにしたが、これに限らない。例えば、ネットワークシステム100の管理者により、各オペレーションOPiの推奨多重度Fiを決定して推奨多重度テーブル600に登録しておくことにしてもよい。
(算出部504の具体的な処理内容)
 つぎに、上記算出部504の具体的な処理内容について説明する。まず、ある負荷状態におけるリソースRkを例に挙げて、オペレーションOPiの推奨多重度Fiを算出する処理内容の一例について説明する。ここでは、オペレーションOPiの種類を「LM」とする。
 図8は、ある負荷状態におけるマイグレーション時間を示す説明図である。図8において、マイグレーション時間[秒]を示す縦軸と多重度を示す横軸とからなる座標系800に、グラフ801,802,803が示されている。
 グラフ801は、ある負荷状態のリソースRkにおいて、VMサイズが1[GB]のVMのマイグレーションが行われたときのリソースRkの多重度Nkとマイグレーション時間との関係を示している。マイグレーション時間は、VMのマイグレーションが完了するまでに要した時間である。
 また、グラフ802は、リソースRkにおいて、VMサイズが2[GB]のVMのマイグレーションが実行されたときのリソースRkの多重度Nkとマイグレーション時間との関係を示している。また、グラフ803は、リソースRkにおいて、VMサイズが4[GB]のVMのマイグレーションが実行されたときのリソースRkの多重度Nkとマイグレーション時間との関係を示している。
 ここで、ポリシー情報テーブル300に示したポリシーP1に従って、VMのライブマイグレーションを行う場合を想定する。
 リソースRkにおいて、多重度「1」でVMサイズが1[GB]のVMのライブマイグレーションを実行したときの実行時間は34[秒]である。このため、ポリシーP1は『68[秒]以内』となる。この場合、VMサイズが1[GB]のVMのライブマイグレーションを行うオペレーションOPiの推奨多重度Fiは「3」となる。
 リソースRkにおいて、多重度「1」でVMサイズが2[GB]のVMのライブマイグレーションを実行したときの実行時間は54[秒]である。このため、ポリシーP1は『108[秒]以内』となる。この場合、VMサイズが2[GB]のVMのライブマイグレーションを行うオペレーションOPiの推奨多重度Fiは「3」となる。
 リソースRkにおいて、多重度「1」でVMサイズが4[GB]のVMのライブマイグレーションを実行したときの実行時間は92[秒]である。このため、ポリシーP1は『120[秒]以内』となる。この場合、VMサイズが4[GB]のVMのライブマイグレーションを行うオペレーションOPiの推奨多重度Fiは「2」となる。
 つぎに、リソースRkにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報に基づいて、オペレーションOPiの推奨多重度Fiを算出する、より具体的な処理内容の一例について説明する。ここでは、オペレーションOPiの種類を「LM」とする。
 図9は、ログ情報の具体例を示す説明図である。図9において、ログ情報900は、オペレーションOPiの実行に関与するリソースRkにより実行された種類「LM」のオペレーションOP1~OP7のログL1~L7を有する。
 具体的には、ログL1~L7は、オペレーションID、種類、VMID、VMサイズ、多重度、処理時間および負荷情報を含む。オペレーションIDは、各オペレーションの識別子である。種類は、各オペレーションの種類である。VMIDは、移動対象のVMの識別子である。VMサイズは、移動対象のVMのメモリサイズである。
 多重度は、各オペレーション実行時のリソースRkの多重度である。処理時間は、各オペレーションの実行が完了するまでに要した時間である。負荷情報は、各オペレーション実行時のリソースRkのCPUおよびI/Oの利用率である。ここでは、各オペレーションの実行に関与するリソースRkのうちいずれかのリソースRkのCPUおよびI/Oの利用率を抜粋して示している。
 ここで、ログL1を例に挙げると、オペレーションOP1は、多重度「3」で実行されたVMサイズが1[GB]のVM1のライブマイグレーションである。また、オペレーションOP1の処理時間は20[秒]であり、リソースRkのCPUおよびI/Oの利用率はそれぞれ20[%]および10[%]である。
 以下、ポリシー情報テーブル300に示したポリシーP2に従って、VMのライブマイグレーションを行うオペレーションOPiの推奨多重度Fiを算出する場合を想定する。
 図10は、オペレーションの推奨多重度の算出例を示す説明図である。図10において、オペレーションOPiと同一種類のオペレーションのログ情報900(L1~L7)が示されている(図10中、(10-1)参照)。
 算出部504は、ログ情報900のログL1~L7の中から、ポリシーP2に合致するログを抽出する(図10中、(10-2)参照)。ここでは、ログL1~L7の中から、ポリシーP2に合致するログL1,L2,L5,L6,L7が抽出されている。
 ログL1を例に挙げると、ログL1のVMサイズは1[GB]のため、ポリシーP2は『30[秒]以内』となる。ログL1の処理時間は20[秒]のため、ログL1はポリシーP2に合致する。ログL3を例に挙げると、ログL3のVMサイズは1[GB]のため、ポリシーP2は『30[秒]以内』となる。ログL3の処理時間は60[秒]のため、ログL3はポリシーP2に合致しない。
 算出部504は、VMサイズと多重度とのペアごとに、CPUおよびI/Oの利用率が最大のログを特定する。ここでは、VMサイズ「1」と多重度「2」とのペアにおいて、CPUおよびI/Oの利用率が最大のログL6が特定されている。また、VMサイズ「1」と多重度「3」とのペアにおいて、CPUおよびI/Oの利用率が最大のログL5が特定されている。また、VMサイズ「2」と多重度「2」とのペアにおいて、CPUおよびI/Oの利用率が最大のログL2が特定されている。
 算出部504は、VMサイズと多重度とのペアごとに、特定されたログの多重度を、種類「LM」のオペレーションの推奨多重度とし、該ログのVMサイズ、CPUおよびI/Oの利用率を条件とする(図10中、(10-3)参照)。この条件とは、種類「LM」のオペレーションを推奨多重度で同時実行する場合のリソースRkが満たすべき条件である。
 ここでは、VMサイズ「1」と多重度「3」とのペアについて、ログL5が特定された結果、推奨多重度テーブル600に推奨多重度情報600-1が登録されている。また、VMサイズ「1」と多重度「2」とのペアについてログL6が特定され、VMサイズ「2」と多重度「2」とのペアについてログL2が特定された結果、推奨多重度テーブル600に推奨多重度情報600-2が登録されている。また、VMサイズ「All」と多重度「1」とのペアについて、推奨多重度テーブル600に推奨多重度情報600-3が登録されている。なお、VMサイズ「All」は、任意のメモリサイズを示している。
 そして、算出部504は、推奨多重度テーブル600を参照して、現在のリソースRkの負荷情報に対応するオペレーションOPiの推奨多重度Fiを特定する。リソースRkの負荷情報は、例えば、CPUおよびI/Oの利用率、移動対象となるVMのVMサイズなどである。なお、リソースRkの負荷情報は、例えば、収集部507によりリソースRkから受信される。
 例えば、オペレーションOPiの実行に関与する全リソースRkのCPUおよびI/Oの利用率が25[%]以下かつ移動対象となるVMのVMサイズが1[GB]以下の場合を想定する。この場合、オペレーションOPiの推奨多重度Fiは、推奨多重度情報600-1から「3」となる。
 また、オペレーションOPiの実行に関与する全リソースRkのCPUの利用率が25[%]より大きく30[%]以下、かつ、I/Oの利用率が25[%]より大きく40[%]以下、かつ、VMサイズが1[GB]以下の場合を想定する。この場合、オペレーションOPiの推奨多重度Fiは、推奨多重度情報600-2から「2」となる。
 また、オペレーションOPiの実行に関与する全リソースRkのCPUの利用率が40[%]以下、かつ、I/Oの利用率が20[%]以下、かつ、VMサイズが1[GB]より大きく2[GB]以下の場合を想定する。この場合、オペレーションOPiの推奨多重度Fiは、推奨多重度情報600-2から「2」となる。
 また、オペレーションOPiの実行に関与する少なくともいずれかのリソースRkのCPUおよびI/Oの利用率が上記条件以外、かつ、VMサイズが上記条件以外の場合、オペレーションOPiの推奨多重度Fiは推奨多重度情報600-3から「1」となる。
(リソースRkごとの推奨多重度Fi-k)
 上述した説明では、各リソースR1~RKの処理性能が同一であることを想定して、実行要求を受け付けたオペレーションOPiに対して推奨多重度Fiを算出する場合について説明したが、これに限らない。例えば、各リソースR1~RKの処理性能が異なる場合を想定して、オペレーションOPiの実行に関与する各リソースに対して、オペレーションOPiの推奨多重度Fiをそれぞれ算出することにしてもよい。
 ここでは説明のため、オペレーションOPiの実行に関与するリソースを「リソースR(1)~R(M)」と表記し、リソースR(1)~R(M)のうち任意のリソースを「リソースR(m)」と表記する(m=1,2,…,M)。また、リソースR(m)に対するオペレーションOPiの推奨多重度を「推奨多重度Fi-m」と表記する。
 具体的には、例えば、算出部504は、リソースR(m)ごとに、リソースR(m)の負荷情報と、該リソースR(m)により実行された、オペレーションOPiと同一種類のオペレーションのログ情報とに基づいて、オペレーションOPiの推奨多重度Fi-mを算出する。
 また、比較部505は、リソースR(m)ごとに、リソースR(m)の多重度N(m)と、算出された推奨多重度Fi-1~Fi-Mのうち最小の推奨多重度FiMinとを比較する。そして、割当部506は、リソースR(m)ごとの比較結果に基づいて、オペレーションOPiをリソースR(1)~R(M)に割り当てる。
 具体的には、例えば、割当部506が、全リソースR(1)~R(M)の多重度N(1)~N(M)が推奨多重度FiMin未満の場合、オペレーションOPiをリソースR(1)~R(M)に割り当てる。すなわち、推奨多重度FiMinが、オペレーションOPiの推奨多重度Fiとなる。
 図11は、各リソースに対してオペレーションの推奨多重度を設定する場合の推奨多重度テーブルの記憶内容の一例を示す説明図である。図11において、SvrA,SvrBおよびSwXは、実行要求を受け付けたオペレーションOPiの実行に関与するリソースRkである。
 オペレーションOPiは、SwXを介してSvrAからSvrBへVMのマイグレーションを行うものである。また、推奨多重度テーブル1100には、オペレーションOPiの実行に関与するリソース(SvrA,SvrB,SwX)ごとの推奨多重度情報1100-1~1100-6が示されている。
 推奨多重度情報1100-1~1100-3は、SvrAに対するオペレーションOPiの推奨多重度を示すものである。SvrAに対するオペレーションOPiの推奨多重度は、上記算出部504により、SvrAにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報に基づいて算出される。
 推奨多重度情報1100-4,1100-5は、SvrBに対するオペレーションOPiの推奨多重度を示すものである。SvrBに対するオペレーションOPiの推奨多重度は、上記算出部504により、SvrBにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報に基づいて算出される。
 推奨多重度情報1100-6は、SwXに対するオペレーションOPiの推奨多重度を示すものである。SwXに対するオペレーションOPiの推奨多重度は、上記算出部504により、SwXにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報に基づいて算出される。
 ここで、SvrAのCPUおよびI/Oの利用率を10[%]および20[%]とし、SvrBのCPUおよびI/Oの利用率を20[%]および50[%]とする。この場合、例えば、VMサイズが1[GB]のVMのライブマイグレーションを行うオペレーションOPiのリソース(SvrA,SvrB,SwX)ごとの推奨多重度は(3,2,3)となる。このため、オペレーションOPiの推奨多重度Fiは「2」(=Min(3,2,3))となる。
 また、SvrAのCPUおよびI/Oの利用率を30[%]および50[%]とし、SvrBのCPUおよびI/Oの利用率を20[%]および50[%]とする。この場合、例えば、VMサイズが4[GB]のVMのライブマイグレーションを行うオペレーションOPiのリソース(SvrA,SvrB,SwX)ごとの推奨多重度は(1,2,3)となる。このため、オペレーションOPiの推奨多重度Fiは「1」(=Min(1,2,3))となる。
 これにより、各リソースR1~RKの処理性能が異なる場合を想定して、オペレーションOPiの推奨多重度Fiを算出することができる。具体的には、例えば、オペレーションOPiの実行に関与するリソースRkのうち処理性能が最も低いリソースRkの推奨多重度を、オペレーションOPiの推奨多重度Fiとすることで、オペレーションOPiの実行がポリシーで規定された時間内に完了しないことを防ぐことができる。
(実行制御装置101の実行制御処理手順)
 つぎに、実施の形態にかかる実行制御装置101の実行制御処理手順について説明する。図12および図13は、実施の形態にかかる実行制御装置の実行制御処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、選択部502により、オペレーションプールに実行待ちのオペレーションOPiがあるか否かを判断する(ステップS1201)。
 ここで、実行待ちのオペレーションOPiがない場合(ステップS1201:No)、受付部501により、オペレーションプールにオペレーションOPiが登録されるのを待つ。一方、実行待ちのオペレーションOPiがある場合(ステップS1201:Yes)、選択部502により、オペレーションプールの中からオペレーションOPiを選択する(ステップS1202)。
 そして、検出部503により、リソースR1~RKの中から、選択されたオペレーションOPiの実行に関与するリソースRkを特定する(ステップS1203)。そして、検出部503により、特定されたリソースRkの多重度Nkを検出する(ステップS1204)。
 つぎに、算出部504により、特定されたリソースRkの負荷情報と、リソースRkにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報とに基づいて、オペレーションOPiの推奨多重度Fiを算出する(ステップS1205)。このあと、比較部505により、選択されたオペレーションOPiの実行に関与するリソースRkを選択する(ステップS1206)。
 そして、比較部505により、選択されたリソースRkが実行中のオペレーションOPjがあるか否かを判断する(ステップS1207)。ここで、実行中のオペレーションOPjがない場合(ステップS1207:No)、ステップS1213に移行する。
 一方、実行中のオペレーションOPjがある場合(ステップS1207:Yes)、比較部505により、選択されたリソースRkが実行中のオペレーションOPjを選択する(ステップS1208)。そして、比較部505により、選択されたオペレーションOPjの推奨多重度Fjを特定する(ステップS1209)。なお、オペレーションOPjの推奨多重度Fjは、実行開始前に算出されたものであり、例えば、RAM203に記憶されている。
 つぎに、比較部505により、選択されたリソースRkの多重度Nkと、特定されたオペレーションOPjの推奨多重度Fjとを比較する(ステップS1210)。そして、割当部506により、リソースRkの多重度NkがオペレーションOPjの推奨多重度Fj未満か否かを判断する(ステップS1211)。
 ここで、リソースRkの多重度NkがオペレーションOPjの推奨多重度Fj以上の場合(ステップS1211:No)、図13に示すステップS1307に移行する。一方、多重度Nkが推奨多重度Fj未満の場合(ステップS1211:Yes)、比較部505により、リソースRkが実行中のオペレーションOPjのうち選択されていない未選択のオペレーションOPjがあるか否かを判断する(ステップS1212)。
 ここで、未選択のオペレーションOPjがある場合(ステップS1212:Yes)、ステップS1208に戻る。一方、未選択のオペレーションOPjがない場合(ステップS1212:No)、比較部505により、オペレーションOPiの実行に関与するリソースRkのうち選択されていない未選択のリソースRkがあるか否かを判断する(ステップS1213)。
 ここで、未選択のリソースRkがある場合(ステップS1213:Yes)、ステップS1206に戻る。一方、未選択のリソースRkがない場合(ステップS1213:No)、図13に示すステップS1301に移行する。
 図13のフローチャートにおいて、まず、比較部505により、図12に示したステップS1202において選択されたオペレーションOPiの実行に関与するリソースRkを選択する(ステップS1301)。このあと、比較部505により、選択されたリソースRkの多重度Nkと、選択されたオペレーションOPiの推奨多重度Fiとを比較する(ステップS1302)。
 そして、割当部506により、リソースRkの多重度NkがオペレーションOPiの推奨多重度Fi未満か否かを判断する(ステップS1303)。ここで、リソースRkの多重度NkがオペレーションOPiの推奨多重度Fi未満の場合(ステップS1303:Yes)、比較部505により、オペレーションOPiの実行に関与するリソースRkのうち選択されていない未選択のリソースRkがあるか否かを判断する(ステップS1304)。
 ここで、未選択のリソースRkがある場合(ステップS1304:Yes)、ステップS1301に戻る。一方、未選択のリソースRkがない場合(ステップS1304:No)、割当部506により、選択されたオペレーションOPiをリソースRkに割り当てる(ステップS1305)。そして、割当部506により、オペレーションプールの中から、割当済みのオペレーションOPiを削除して(ステップS1306)、図12に示したステップS1201に戻る。
 また、ステップS1303において、リソースRkの多重度NkがオペレーションOPiの推奨多重度Fi以上の場合(ステップS1303:No)、選択部502により、実行待ちのオペレーションOPiのうち選択されていない未選択のオペレーションOPiがあるか否かを判断する(ステップS1307)。
 ここで、未選択のオペレーションOPiがある場合(ステップS1307:Yes)、図12に示したステップS1202に戻る。一方、未選択のオペレーションOPiがない場合(ステップS1307:No)、選択部502により、選択されたリソースRkにより1個以上のオペレーションOPjの実行が完了したか否かを判断する(ステップS1308)。
 ここで、選択部502により、1個以上のオペレーションOPjの実行が完了するのを待って(ステップS1308:No)、完了した場合(ステップS1308:Yes)、図12に示したステップS1202に移行する。
 これにより、オペレーションOPiの実行がポリシーで規定された時間内に完了するようにリソースRkに割り当てることができる。また、リソースRkで実行中のオペレーションOPjの実行がポリシーで規定された時間内に完了するように、リソースRkにオペレーションOPiを割り当てることができる。
(実行制御装置101の実行制御処理の実施例)
 図14は、実施の形態にかかるネットワークシステムの一実施例を示す説明図(その2)である。図14において、ネットワークシステム1400は、実行制御装置101と、SvrAと、SvrBと、SvrCと、SvrDと、SwXと、SwYと、を含む。
 SvrAにおいて、VM1(VMサイズ:1[GB])およびVM2(VMサイズ:4[GB])が動作している。SvrBにおいて、VM3(VMサイズ:4[GB])が動作している。SvrCにおいて、VM4(VMサイズ:4[GB])およびVM5(VMサイズ:2[GB])が動作している。SvrDにおいて、VM6(VMサイズ:1[GB])が動作している。
 ここでは、以下に示すタイミング(時刻t)で、オペレーションOP1~OP6の実行要求を受け付けた場合を想定する。また、オペレーションOP1~OP6に適用するポリシーを図3に示した「ポリシーP1」とする。
・時刻t=0
 <オペレーションOP1>
 種類「LM」
 処理内容「VM1をSvrAからSvrBへ移動」
 関与リソース「VM1,SvrA,SvrB,SwX」
・時刻t=10
 <オペレーションOP2>
 種類「LM」
 処理内容「VM2をSvrAからSvrDへ移動」
 関与リソース「VM2,SvrA,SvrD,SwX,SwY」
・時刻t=20
 <オペレーションOP3>
 種類「LM」
 処理内容「VM3をSvrBからSvrAへ移動」
 関与リソース「VM3,SvrA,SvrB,SwX」
・時刻t=50
 <オペレーションOP4>
 種類「LM」
 処理内容「VM4をSvrCからSvrBへ移動」
 関与リソース「VM4,SvrB,SvrC,SwX,SwY」
・時刻t=70
 <オペレーションOP5>
 種類「LM」
 処理内容「VM5をSvrCからSvrDへ移動」
 関与リソース「VM5,SvrC,SvrD,SwY」
・時刻t=100
 <オペレーションOP6>
 種類「LM」
 処理内容「VM6をSvrDからSvrAへ移動」
 関与リソース「VM6,SvrA,SvrD,SwX,SwY」
 つぎに、図15を用いて、ポリシーP1を満たす種類「LM」のオペレーションの推奨多重度について説明する。
 図15は、推奨多重度テーブルの記憶内容の一例を示す説明図(その2)である。図15において、推奨多重度テーブル1500には、推奨多重度情報1500-1~1500-3がレコードとして記憶されている。
 推奨多重度情報1500-1は、種類「LM」のオペレーションを推奨多重度「3」で同時実行する場合の条件「size≦2GB」を示している。なお、ここでは、各リソースRkにおけるCPUおよびI/Oの利用率に関する条件を省略している。
 推奨多重度情報1500-2は、種類「LM」のオペレーションを推奨多重度「2」で同時実行する場合の条件「size≦4GB」を示している。推奨多重度情報1500-3は、種類「LM」のオペレーションを推奨多重度「1」で同時実行する場合の条件「Others」を示している。
 以下、図16~図22を用いて、実行制御装置101の実行制御処理の実施例について説明する。図16~図22は、リソース利用状況の変遷を示す説明図である。
 図16に示す(1)実行開始前は、オペレーションOP1~OP6の実行が開始される前の状態である。このため、オペレーションプールは空の状態となっている。また、各リソースにより実行されているオペレーションがないため、リソース利用状況テーブル700内のSvrA~SvrD,SwX,SwYの多重度は「0」となっている。
 図16に示す(2)時刻t=0において、オペレーションOP1の実行要求が受け付けられると、オペレーションOP1がオペレーションプールに登録される。ここで、VM1のVMサイズは1[GB]のため、オペレーションOP1の推奨多重度F1は「3」となる(図15参照)。
 また、各SvrA~SvrD,SwX,SwYの多重度は「0」のため、オペレーションOP1の実行が開始される。この結果、オペレーションプールからオペレーションOP1が削除され、リソース利用状況テーブル700内のオペレーションOP1の実行に関与するSvrA,SvrB,SwXの多重度がインクリメントされている。
 図17に示す(3)時刻t=10において、オペレーションOP2の実行要求が受け付けられると、オペレーションOP2がオペレーションプールに登録される。ここで、VM2のVMサイズは4[GB]のため、オペレーションOP2の推奨多重度F2は「2」となる(図15参照)。
 また、各SvrA~SvrD,SwX,SwYの多重度は「2」未満のため、オペレーションOP2の実行が開始される。この結果、オペレーションプールからオペレーションOP2が削除され、リソース利用状況テーブル700内のオペレーションOP2の実行に関与するSvrA,SvrD,SwX,SwYの多重度がインクリメントされている。
 図17に示す(4)時刻t=20において、オペレーションOP3の実行要求が受け付けられると、オペレーションOP3がオペレーションプールに登録される。ここで、VM3のVMサイズは4[GB]のため、オペレーションOP3の推奨多重度F3は「2」となる(図15参照)。
 ここで、オペレーションOP3の実行に関与するSvrA,SvrB,SwXのうち、SvrA,SwXの多重度が「2」のため、オペレーションOP3の実行は保留される。このため、オペレーションプールにオペレーションOP3が登録されたままとなる。
 図18に示す(5)時刻t=40において、オペレーションOP1の実行が完了し、オペレーションOP1の実行に関与するSvrA,SvrB,SwXの多重度がデクリメントされたとする。この場合、実行待ちとなっているオペレーションOP3の実行に関与するSvrA,SvrB,SwXの多重度が「2」未満となるため、オペレーションOP3の実行が開始される。この結果、オペレーションプールからオペレーションOP3が削除され、リソース利用状況テーブル700内のオペレーションOP3の実行に関与するSvrA,SvrB,SwXの多重度がインクリメントされている。
 図18に示す(6)時刻t=50において、オペレーションOP4の実行要求が受け付けられると、オペレーションOP4がオペレーションプールに登録される。ここで、VM4のVMサイズは4[GB]のため、オペレーションOP4の推奨多重度F4は「2」となる(図15参照)。
 ここで、オペレーションOP4の実行に関与するSvrB,SvrC,SwX,SwYのうち、SwXの多重度が「2」のため、オペレーションOP4の実行は保留される。このため、オペレーションプールにオペレーションOP4が登録されたままとなる。
 図19に示す(7)時刻t=70において、オペレーションOP5の実行要求が受け付けられると、オペレーションOP5がオペレーションプールに登録される。ここで、VM5のVMサイズは2[GB]のため、オペレーションOP5の推奨多重度F5は「3」となる(図15参照)。
 また、オペレーションOP5の実行に関与するSvrC,SvrD,SwYの多重度はすべて「3」未満となっているため、オペレーションOP5の実行が開始される。この結果、オペレーションプールからオペレーションOP5が削除され、リソース利用状況テーブル700内のオペレーションOP5の実行に関与するSvrC,SvrD,SwYの多重度がインクリメントされている。
 図19に示す(8)時刻t=90において、オペレーションOP2の実行が完了し、オペレーションOP2の実行に関与するSvrA,SvrD,SwX,SwYの多重度がデクリメントされたとする。この場合、実行待ちとなっているオペレーションOP4の実行に関与するSvrB,SvrC,SwX,SwYの多重度が「2」未満となるため、オペレーションOP4の実行が開始される。この結果、オペレーションプールからオペレーションOP4が削除され、リソース利用状況テーブル700内のオペレーションOP4の実行に関与するSvrB,SvrC,SwX,SwYの多重度がインクリメントされている。
 図20に示す(9)時刻t=100において、オペレーションOP6の実行要求が受け付けられると、オペレーションOP6がオペレーションプールに登録される。ここで、VM6のVMサイズは1[GB]のため、オペレーションOP6の推奨多重度F6は「3」となる(図15参照)。
 ここで、オペレーションOP6の実行に関与するSvrA,SvrD,SwX,SwYの多重度はすべて「3」未満である。しかし、SwX,SwYで実行中のオペレーションOP3,OP4の推奨多重度F3,F4は「2」のため、オペレーションOP6の実行は保留される。このため、オペレーションプールにオペレーションOP6が登録されたままとなる。
 図20に示す(10)時刻t=120において、オペレーションOP3の実行が完了し、オペレーションOP3の実行に関与するSvrA,SvrB,SwXの多重度がデクリメントされている。しかし、SwYで実行中のオペレーションOP4の推奨多重度F4は「2」のため、継続してオペレーションOP6の実行は保留される。
 図21に示す(11)時刻t=140において、オペレーションOP5の実行が完了し、オペレーションOP5の実行に関与するSvrC,SvrD,SwYの多重度がデクリメントされたとする。この場合、実行待ちとなっているオペレーションOP6の実行に関与するSvrA,SvrD,SwX,SwYの多重度が「3」未満となる。
 また、実行中のオペレーションOP4の実行に関与するSvrB,SvrC,SwX,SwYの多重度が「2」未満となる。このため、オペレーションOP6の実行が開始される。この結果、オペレーションプールからオペレーションOP6が削除され、リソース利用状況テーブル700内のオペレーションOP6の実行に関与するSvrA,SvrD,SwX,SwYの多重度がインクリメントされている。
 図21に示す(12)時刻t=160において、オペレーションOP4の実行が完了し、オペレーションOP4の実行に関与するSvrB,SvrC,SwX,SwYの多重度がデクリメントされている。
 図22に示す(13)時刻t=180において、オペレーションOP6の実行が完了し、オペレーションOP6の実行に関与するSvrA,SvrD,SwX,SwYの多重度がデクリメントされている。これにより、実行要求を受け付けたオペレーションOP1~OP6の実行がすべて完了したことになる。
 図23は、オペレーションOP1~OP6のタイムラインを示す説明図である。図23において、タイムライン2300には、各オペレーションOP1~OP6の実行状況(実行中、実行保留中)と、SvrA、SvrB、SvrC、SvrD、SwXおよびSwYの多重度とが時系列に示されている。
 時刻t=20~40において、オペレーションOP3は、オペレーションOP3の推奨多重度F3が「2」のため実行が保留されている。また、時刻t=50~90において、オペレーションOP4は、オペレーションOP4の推奨多重度F4が「2」のため実行が保留されている。
 また、時刻t=70において、オペレーションOP4は継続して保留中となっている一方で、オペレーションOP4よりもあとに実行要求を受け付けたオペレーションOP5が先に実行されている。また、時刻t=100~140において、オペレーションOP6は、実行中のオペレーションOP4の推奨多重度F4が「2」のため継続して保留されている。
 このように、各オペレーションOP1~OP6の実行タイミングを推奨多重度F1~F6に従ってスケジューリングすることで、リソースの過負荷を抑止するとともに、オペレーションOP1~OP6の処理全体にかかる処理時間の長期化を抑止することができる。すなわち、複数のオペレーションを同時に実行してリソースRkの過負荷を招くのではなく、また、オペレーションを1個ずつ実行して全体処理時間の長期化を招くのではなく、複数のオペレーションを適切な順序と多重度で効率的に実行することができる。
 以上説明したように、実施の形態にかかる実行制御装置101によれば、実行要求を受け付けたオペレーションOPiの推奨多重度FiとリソースRkの多重度Nkとの比較結果に基づいて、オペレーションOPiの実行を制御することができる。これにより、オペレーションOPiの実行がポリシーで規定された時間内に完了するようにリソースRkに割り当てることができ、オペレーションOPiの処理時間の長期化およびリソースRkの過負荷を抑止することができる。
 また、実行制御装置101によれば、リソースRkの負荷情報と、リソースRkにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報とに基づいて、オペレーションOPiの推奨多重度Fiを算出することができる。これにより、リソースRkにおいて、オペレーションOPiと同一種類のオペレーションの実行が規定時間内に完了した多重度を、オペレーションOPiの推奨多重度Fiとして算出することができる。
 また、実行制御装置101によれば、リソースRkが実行中のオペレーションOPjの推奨多重度FjとリソースRkの多重度Nkとの比較結果に基づいて、実行要求を受け付けたオペレーションOPiの実行を制御することができる。これにより、オペレーションOPiがリソースRkに割り当てられた結果、オペレーションOPjの実行がポリシーで規定された時間内に完了しないことを防ぐことができる。
 また、実行制御装置101によれば、オペレーションOPiの実行に関与する各々のリソースR(m)について、オペレーションOPiの推奨多重度Fi-mを算出することができる。そして、算出された推奨多重度Fi-1~Fi-Mのうち最小の推奨多重度FiMinを、オペレーションOPiの推奨多重度Fiとすることができる。これにより、リソースR(1)~R(M)のうちボトルネックとなるリソースに合わせてオペレーションOPiを割り当てることができ、オペレーションOPiの実行がポリシーで規定された時間内に完了しないことを防ぐことができる。
 また、実行制御装置101によれば、リソースRkにより実行された、オペレーションOPiと同一種類のオペレーションのログ情報を、リソースRkから受信することができる。これにより、各リソースRkにおけるオペレーションOPiと同一種類のオペレーションの実行結果をフィードバックして、オペレーションOPiの推奨多重度Fiを算出することができる。
 これらのことから、実行制御装置101によれば、ネットワークシステム100において、同時多発的に実行され得る運用管理オペレーションの処理時間の長期化およびリソースRkの過負荷を抑止することができる。また、運用管理オペレーションの処理時間の長期化を抑止することにより、さらなるリソースの圧迫やサービスの性能劣化を防ぐことができる。具体的には、例えば、ライブマイグレーションの処理時間の増大化を抑止することにより、再送データ量の増加を抑え、運用管理ネットワークリソースの圧迫を防ぐことができる。また、例えば、VM起動の処理時間の増大化を抑止することにより、多数のVMの同時起動処理による物理サーバリソースの圧迫や同一物理サーバ上で実行中のVMによるサービスの性能劣化を防ぐことができる。
 なお、本実施の形態で説明した実行制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実行制御プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実行制御プログラムは、インターネット等のネットワークを介して配布してもよい。
 100,1400 ネットワークシステム
 101 実行制御装置
 300 ポリシー情報テーブル
 400 実行要求
 501 受付部
 502 選択部
 503 検出部
 504 算出部
 505 比較部
 506 割当部
 507 収集部
 600 推奨多重度テーブル
 700 リソース利用状況テーブル
 900 ログ情報

Claims (8)

  1.  システムに対する所定のオペレーションの実行要求を受け付ける受付工程と、
     前記受付工程によって前記実行要求が受け付けられた前記所定のオペレーションの実行に関与する前記システム内の計算機が実行中の、前記所定のオペレーションと同一種類のオペレーションの数を検出する検出工程と、
     前記検出工程によって検出された前記同一種類のオペレーションの数と、前記計算機により前記所定のオペレーションの実行が規定時間内に完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数とを比較する比較工程と、
     前記比較工程によって比較された比較結果に基づいて、前記所定のオペレーションを前記計算機に割り当てる割当工程と、
     をコンピュータに実行させることを特徴とする実行制御プログラム。
  2.  前記コンピュータに、
     前記計算機の負荷情報と前記計算機により実行された前記同一種類のオペレーションのログ情報とに基づいて、前記実行要求から特定される規定時間内に前記所定のオペレーションの実行が完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数を算出する算出工程を実行させ、
     前記比較工程は、
     前記検出工程によって検出された前記同一種類のオペレーションの数と、前記算出工程によって算出された前記計算機が同時に実行可能な前記同一種類のオペレーションの数とを比較することを特徴とする請求項1に記載の実行制御プログラム。
  3.  前記比較工程は、
     前記計算機が前記同一種類のオペレーションを実行中の場合、さらに、前記検出工程によって検出された前記同一種類のオペレーションの数と、前記計算機により実行中の前記同一種類のオペレーションの実行が規定時間内に完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数とを比較することを特徴とする請求項2に記載の実行制御プログラム。
  4.  前記コンピュータに、
     前記所定のオペレーションの実行に関与する複数の計算機の各々の計算機について、前記検出工程および前記比較工程を実行させ、
     前記割当工程は、
     前記比較工程によって比較された前記各々の計算機の比較結果に基づいて、前記所定のオペレーションを前記複数の計算機に割り当てることを特徴とする請求項3に記載の実行制御プログラム。
  5.  前記算出工程は、
     前記各々の計算機ごとに、前記各々の計算機の負荷情報と前記各々の計算機により実行された前記同一種類のオペレーションのログ情報とに基づいて、前記規定時間内に前記所定のオペレーションの実行が完了する、前記各々の計算機が同時に実行可能な前記同一種類のオペレーションの数を算出し、
     前記比較工程は、
     前記各々の計算機ごとに、前記検出工程によって検出された前記各々の計算機が実行中の前記同一種類のオペレーションの数と、前記算出工程によって算出された前記各々の計算機が同時に実行可能な前記同一種類のオペレーションの数のうちの最小値とを比較することを特徴とする請求項4に記載の実行制御プログラム。
  6.  前記計算機により実行された前記同一種類のオペレーションのログ情報を前記計算機から受信する受信工程を前記コンピュータに実行させ、
     前記算出工程は、
     前記計算機の負荷情報と前記受信工程によって受信された前記同一種類のオペレーションのログ情報とに基づいて、前記規定時間内に前記所定のオペレーションの実行が完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数を算出することを特徴とする請求項5に記載の実行制御プログラム。
  7.  システムに対する所定のオペレーションの実行要求を受け付ける受付部と、
     前記受付部によって前記実行要求が受け付けられた前記所定のオペレーションの実行に関与する前記システム内の計算機が実行中の、前記所定のオペレーションと同一種類のオペレーションの数を検出する検出部と、
     前記検出部によって検出された前記同一種類のオペレーションの数と、前記計算機により前記所定のオペレーションの実行が規定時間内に完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数とを比較する比較部と、
     前記比較部によって比較された比較結果に基づいて、前記所定のオペレーションを前記計算機に割り当てる割当部と、
     を備えることを特徴とする実行制御装置。
  8.  コンピュータが、
     システムに対する所定のオペレーションの実行要求を受け付け、
     前記実行要求が受け付けられた前記所定のオペレーションの実行に関与する前記システム内の計算機が実行中の、前記所定のオペレーションと同一種類のオペレーションの数を検出し、
     前記検出された前記同一種類のオペレーションの数と、前記計算機により前記所定のオペレーションの実行が規定時間内に完了する、前記計算機が同時に実行可能な前記同一種類のオペレーションの数とを比較し、
     前記比較された比較結果に基づいて、前記所定のオペレーションを前記計算機に割り当てる、
     処理を実行することを特徴とする実行制御方法。
PCT/JP2011/052667 2011-02-08 2011-02-08 実行制御プログラム、実行制御装置および実行制御方法 WO2012108007A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP11858287.3A EP2674861A4 (en) 2011-02-08 2011-02-08 EMBODIMENT PROGRAM, EMISSION CONTROL DEVICE AND EMISSION CONTROL METHOD
JP2012556691A JP5641064B2 (ja) 2011-02-08 2011-02-08 実行制御プログラム、実行制御装置および実行制御方法
PCT/JP2011/052667 WO2012108007A1 (ja) 2011-02-08 2011-02-08 実行制御プログラム、実行制御装置および実行制御方法
US13/958,099 US9378050B2 (en) 2011-02-08 2013-08-02 Assigning an operation to a computing device based on a number of operations simultaneously executing on that device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/052667 WO2012108007A1 (ja) 2011-02-08 2011-02-08 実行制御プログラム、実行制御装置および実行制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/958,099 Continuation US9378050B2 (en) 2011-02-08 2013-08-02 Assigning an operation to a computing device based on a number of operations simultaneously executing on that device

Publications (1)

Publication Number Publication Date
WO2012108007A1 true WO2012108007A1 (ja) 2012-08-16

Family

ID=46638250

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/052667 WO2012108007A1 (ja) 2011-02-08 2011-02-08 実行制御プログラム、実行制御装置および実行制御方法

Country Status (4)

Country Link
US (1) US9378050B2 (ja)
EP (1) EP2674861A4 (ja)
JP (1) JP5641064B2 (ja)
WO (1) WO2012108007A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067402A (ja) * 2012-09-04 2014-04-17 Fujitsu Ltd プログラム、情報処理装置およびスケジュール決定方法
JP7448703B2 (ja) 2020-12-24 2024-03-12 株式会社日立製作所 情報処理システム及び情報処理システムにおけるデータ配置方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642635B2 (en) * 2014-06-07 2020-05-05 Vmware, Inc. Decentralized demand-based virtual machine migration management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024192A (ja) 2000-07-07 2002-01-25 Hitachi Ltd 計算機資源分割装置および資源分割方法
JP2003058518A (ja) * 2001-08-06 2003-02-28 Internatl Business Mach Corp <Ibm> ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
JP2003316587A (ja) * 2002-04-23 2003-11-07 Hitachi Ltd 負荷分散システム
JP2005293048A (ja) 2004-03-31 2005-10-20 Fujitsu Ltd 資源計画作成プログラム
JP2007133578A (ja) * 2005-11-09 2007-05-31 Hitachi Software Eng Co Ltd データ処理システム及びデータ送信システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725211B1 (en) * 2000-09-28 2004-04-20 International Business Machines Corporation Work load assessment heuristic for optimal task parallelism determination
JP2005062927A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 負荷制御方法および装置並びにその処理プログラム
US8831026B2 (en) * 2004-03-19 2014-09-09 International Business Machines Corporation Method and apparatus for dynamically scheduling requests
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
US8321870B2 (en) * 2009-08-14 2012-11-27 General Electric Company Method and system for distributed computation having sub-task processing and sub-solution redistribution
KR101653204B1 (ko) * 2010-03-16 2016-09-01 삼성전자주식회사 멀티 코어 시스템에서 데이터 병렬 처리를 위한 동적 태스크 관리 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024192A (ja) 2000-07-07 2002-01-25 Hitachi Ltd 計算機資源分割装置および資源分割方法
JP2003058518A (ja) * 2001-08-06 2003-02-28 Internatl Business Mach Corp <Ibm> ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
JP2003316587A (ja) * 2002-04-23 2003-11-07 Hitachi Ltd 負荷分散システム
JP2005293048A (ja) 2004-03-31 2005-10-20 Fujitsu Ltd 資源計画作成プログラム
JP2007133578A (ja) * 2005-11-09 2007-05-31 Hitachi Software Eng Co Ltd データ処理システム及びデータ送信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2674861A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067402A (ja) * 2012-09-04 2014-04-17 Fujitsu Ltd プログラム、情報処理装置およびスケジュール決定方法
JP7448703B2 (ja) 2020-12-24 2024-03-12 株式会社日立製作所 情報処理システム及び情報処理システムにおけるデータ配置方法

Also Published As

Publication number Publication date
JPWO2012108007A1 (ja) 2014-07-03
JP5641064B2 (ja) 2014-12-17
US20130318532A1 (en) 2013-11-28
US9378050B2 (en) 2016-06-28
EP2674861A1 (en) 2013-12-18
EP2674861A4 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
US11204793B2 (en) Determining an optimal computing environment for running an image
US10924349B2 (en) Automatic placement of clients in a distributed computer system satisfying constraints
JP5162579B2 (ja) 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
US9442763B2 (en) Resource allocation method and resource management platform
US9588789B2 (en) Management apparatus and workload distribution management method
US8930957B2 (en) System, method and program product for cost-aware selection of stored virtual machine images for subsequent use
US8402470B2 (en) Processor thread load balancing manager
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
US20210149743A1 (en) Resource processing method of cloud platform, related device, and storage medium
US20140244844A1 (en) Control device and resource control method
WO2024119763A1 (zh) 一种容器集群算力调度方法及相关装置
US20210357269A1 (en) Quality of service scheduling with workload profiles
US20170329644A1 (en) Computer-readable recording medium having stored therein program, information processing apparatus, information processing system, and method for processing information
JP5641064B2 (ja) 実行制御プログラム、実行制御装置および実行制御方法
WO2016056060A1 (ja) 計算機及びベクタの設定方法
JP5988505B2 (ja) 仮想リソース管理装置、選択方法及び選択プログラム
US8245229B2 (en) Temporal batching of I/O jobs
WO2024021467A1 (zh) 一种集群资源规划方法、设备、装置及介质
US11803414B2 (en) Diagonal autoscaling of serverless computing processes for reduced downtime
JPH1027167A (ja) 並列計算機の負荷分散方法
JP2010097566A (ja) 情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法
US20140059008A1 (en) Resource allocation analyses on hypothetical distributed computer systems
CN111143059A (zh) 改进的Kubernetes资源调度方法
WO2024125114A1 (zh) 基于云服务的资源分配方法及装置
WO2024036940A1 (zh) 一种容器管理方法及相关设备

Legal Events

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

Ref document number: 11858287

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012556691

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011858287

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE