WO2017109890A1 - Management computer and batch processing execution method - Google Patents

Management computer and batch processing execution method Download PDF

Info

Publication number
WO2017109890A1
WO2017109890A1 PCT/JP2015/085993 JP2015085993W WO2017109890A1 WO 2017109890 A1 WO2017109890 A1 WO 2017109890A1 JP 2015085993 W JP2015085993 W JP 2015085993W WO 2017109890 A1 WO2017109890 A1 WO 2017109890A1
Authority
WO
WIPO (PCT)
Prior art keywords
batch
information
resource
execution
management unit
Prior art date
Application number
PCT/JP2015/085993
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2015/085993 priority Critical patent/WO2017109890A1/en
Publication of WO2017109890A1 publication Critical patent/WO2017109890A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present invention relates to a batch processing execution method executed by a system on a cloud service.
  • a user system (tenant) is constructed on a computer system that provides a cloud service, and various processes are performed on the tenant.
  • the tenant includes a virtual computer and a virtual switch.
  • the user uses the computer resources of the computer system according to the tenant's requirements and processing contents.
  • computer resources are also simply referred to as resources.
  • Patent Document 1 discloses a resource allocation method for maximizing an application level performance index.
  • a cloud service in which the resource usage fee varies depending on the amount of free resources in the computer system or the usage status of the computer system.
  • the provider of the cloud service can grasp the free resource amount of the computer system and the usage status of the computer system, but the user cannot grasp them. For this reason, a fixed amount of resources is allocated to a standard process such as a batch process.
  • a typical example of the invention disclosed in the present application is as follows. That is, a management computer that manages a plurality of computers that provide computer resources, wherein the management computer includes a first processor, a first memory connected to the first processor, and the first processor. A first interface for connecting to a device, wherein each of the plurality of computers includes a second processor, a second memory connected to the second processor, and the second processor; And having a second interface for connecting to a device, on the plurality of computers, at least one business system for providing a predetermined business is constructed using computer resources of the plurality of computers The at least one business system executes a batch process including a plurality of jobs, and the management computer performs the batch process.
  • a batch allocation management unit that manages allocation of computer resources, and a batch execution unit that controls execution of the batch processing, wherein the batch allocation management unit includes a start time of the batch processing and the batch processing Batch processing management information including information related to the first resource, which is a computer resource with a fixed usage charge regardless of the usage time, and job management information for managing the configuration of the plurality of jobs of the batch processing, Policy management information for managing a computer resource allocation policy for the batch processing, and free resource amount history information for managing a history of the free capacity of the second resource, which is a computer resource whose usage fee varies depending on the usage time, Charge history information for managing a history of usage charges of the second resource, and the batch allocation management unit Generating first resource amount prediction information for predicting a free capacity of the second resource based on the resource amount history information, and predicting a usage fee of the second resource based on the fee history information Whether or not the second resource can be used for the batch processing based on the first resource amount prediction information, the first fee prediction information, and the policy management information is
  • the second resource necessary for each of the plurality of jobs is determined based on the batch processing management information and the job management information. Calculating a resource amount, generating first execution plan information for reserving a resource amount of the second resource necessary for each of the plurality of jobs, and the batch execution unit, The execution of the batch process is controlled based on the first execution plan information.
  • FIG. 1 is a diagram illustrating an example of a system configuration of Embodiment 1.
  • FIG. FIG. 3 is a block diagram illustrating a configuration of a management server according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a hardware configuration and a software configuration example of a server that implements IaaS of the first embodiment.
  • FIG. 2 is a block diagram illustrating a hardware configuration and a software configuration example of a server that implements PaaS according to the first embodiment. It is a figure which shows an example of the system configuration information of Example 1. It is a figure which shows an example of the system configuration information of Example 1.
  • FIG. 6 is a diagram illustrating an example of batch processing management information according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of job management information according to the first exemplary embodiment.
  • FIG. It is a figure which shows an example of the budget information of Example 1.
  • FIG. 6 is a diagram illustrating an example of free resource amount history information according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of free resource amount history information according to the first embodiment. It is a figure which shows an example of the charge history information of Example 1.
  • FIG. It is a figure which shows an example of the charge history information of Example 1.
  • FIG. It is a figure which shows an example of the policy management information of Example 1.
  • FIG. It is a figure which shows an example of the execution plan management information of Example 1.
  • 6 is a flowchart illustrating an example of an execution plan generation process for batch processing according to the first exemplary embodiment.
  • 6 is a flowchart illustrating an example of an execution plan generation process for batch processing according to the first exemplary embodiment.
  • 6 is a flowchart illustrating an example of an execution plan change process according to the first embodiment.
  • 6 is a flowchart illustrating an example of a resource amount calculation process (scale out) according to the first embodiment.
  • 6 is a flowchart illustrating an example of a resource amount calculation process (scale-up) according to the first embodiment.
  • 3 is a flowchart illustrating an example of execution processing of batch processing according to the first exemplary embodiment.
  • 10 is a flowchart illustrating an example of an execution plan update process for a job according to the first exemplary embodiment.
  • FIG. 10 is a flowchart illustrating an example of an execution plan update process for a job according to the first exemplary embodiment.
  • 6 is a diagram illustrating an example of a user interface displayed by a display unit according to the first embodiment.
  • FIG. It is a figure explaining an example of the effect of the process which the management server of Example 1 performs.
  • FIG. 1 is a diagram illustrating an example of a system configuration of the first embodiment.
  • the system of the first embodiment includes a plurality of computer systems operated by a cloud service provider.
  • the computer system includes a management server 101, a server 102, a virtual server management server 151, a storage subsystem 105, NW-SWs 103 and 104, and an FC-SW 108.
  • the management server 101 manages a computer system group included in the management target system.
  • the management server 101 is connected to the management interface (management I / F) 113 of the NW-SW 103 and the management interface 114 of the NW-SW (business network switch) 104 via the NW-SW (management network switch) 103.
  • the management server 101 can set a VLAN (Virtual LAN) for each NW-SW 103, 104.
  • a virtual server management server 151 that manages a virtual server (virtual machine) running on the server 102 is connected to the NW-SW 103.
  • the NW-SW 103 constitutes a management network.
  • the management network is a network for managing the OS and applications distributed on the plurality of physical servers 102 and the power control, etc. by the management server 101.
  • NW-SW 104 constitutes a business network.
  • the business network is a network used by an application executed by a virtual server on the server 102.
  • the NW-SW 104 is connected to a WAN or the like and communicates with a client computer outside the virtual computer system.
  • the management server 101 is connected to the storage subsystem 105 via an FC-SW (Fibre Channel switch) 108.
  • the management server 101 manages LU (Logical Unit) in the storage subsystem 105.
  • the management server 101 manages N LU1 to LUn.
  • a control unit 110 that manages a computer system such as the server 102 is executed.
  • the control unit 110 refers to and updates the management information group 111.
  • the server 102 to be managed provides a virtual server as described later.
  • the server 102 connects to the NW-SWs 103 and 104 via the PCIex-SW 107 and the I / O device.
  • the PCI Express-SW 107 is connected to a PCI Express standard I / O device.
  • the I / O device has an I / O adapter such as NIC (Network Interface Card), HBA (Host Bus Adapter), and CNA (Converged Network Adapter).
  • the PCIex-SW 107 is an I / O switch that extends a PCI Express bus from a motherboard (or server blade) to the outside and connects a number of PCI-Express devices.
  • a system configuration in which the server 102 is directly connected to the NW-SW 103 and the NW-SW 104 without using the PCIex-SW 107 may be used.
  • the management server 101 is connected to the management interface 117 of the PCIex-SW 107, and manages the connection of the plurality of servers 102 and I / O devices. Further, the server 102 accesses LU1 to LUn of the storage subsystem 105 via an I / O device (HBA in FIG. 1) connected to the PCIex-SW 107.
  • HBA I / O device
  • the virtual server management server 151 manages the first virtualization unit 311 (see FIG. 3) and the second virtual server 314 (see FIG. 3) executed by the server 102. Specifically, the virtual server management unit 161 instructs the first virtualization unit 311.
  • the virtual server management unit 161 instructs power supply control of the second virtual server 314 and migration of the second virtual server 314 and the first virtualization unit 311.
  • the management server 101 may include the virtual server management unit 161.
  • FIG. 2 is a block diagram illustrating the configuration of the management server 101 according to the first embodiment.
  • the management server 101 includes a processor 201, a memory 202, a disk interface 203, and a network interface 204.
  • the processor 201 executes a program stored in the memory 202.
  • the memory 202 stores a program executed by the processor 201 and information necessary for executing the program.
  • the program and information stored in the memory 202 will be described later.
  • the disk interface 203 is an interface for accessing the storage subsystem 105.
  • the network interface 204 is an interface for communicating with other devices via the IP network.
  • one disk interface 203 and one network interface 204 are shown, but a plurality of interfaces may be provided.
  • the management server 101 may have a network interface connected to the NW-SW 103 and a network interface connected to the NW-SW 104.
  • the management server 101 may have a BMC (Basement Management Controller) that performs power control and control of each interface, and a PCI-Express interface for connection to the PCIex-SW 107.
  • BMC Base Management Controller
  • the memory 202 stores a program for realizing the control unit 110 and a management information group 111.
  • the control unit 110 includes a plurality of program modules and provides functions for performing various controls. Specifically, the control unit 110 includes a batch assignment management unit 211, a batch execution unit 212, and a display unit 213.
  • the control unit 110 includes program modules other than those described above, but omits program modules not directly related to the present embodiment.
  • One functional unit may be divided into a plurality of functional units, or a plurality of functional units may be integrated into one functional unit.
  • the batch assignment management unit 211 and the batch execution unit 212 may be a single functional unit.
  • the processor 201 loads the function units of the batch assignment management unit 211, the batch execution unit 212, and the display unit 213 as programs into the memory 202, and executes the loaded programs.
  • the processor 201 operates as a functional unit that realizes a predetermined function by operating according to a program of each functional unit.
  • the processor functions as the batch assignment management unit 211 by operating according to a program that implements the batch assignment management unit 211.
  • the processor 201 also operates as a functional unit that implements each of a plurality of processes executed by each program.
  • the batch allocation management unit 211 manages resource allocation for batch processing. Specifically, the batch allocation management unit 211 generates an execution plan for batch processing based on the usage status of the computer system and the policy for batch processing. The batch execution unit 212 controls the execution of batch processing based on the execution plan generated by the batch assignment management unit 211.
  • the display unit 213 displays various information.
  • the management information group 111 includes system configuration information 221, batch processing management information 222, job management information 223, budget information 224, free resource amount history information 225, fee history information 226, policy management information 227, change method definition information 228, and Execution plan management information 229 is included.
  • the management information group 111 includes other information such as business setting information provided using a tenant, but information that is not directly used in the processing of this embodiment is omitted.
  • System configuration information 221 is information for managing the tenant configuration. Details of the system configuration information 221 will be described with reference to FIGS. 5A and 5B.
  • the batch processing management information 222 is information for managing batch processing executed in each tenant. Details of the batch processing management information 222 will be described with reference to FIG.
  • the job management information 223 is information for managing jobs included in one batch process. Details of the job management information 223 will be described with reference to FIG.
  • budget information 224 manages the budget of users who use one or more tenants. Details of the budget information 224 will be described with reference to FIG.
  • the free resource amount history information 225 is history information related to the resource amount of free resources. Details of the free resource amount history information 225 will be described with reference to FIGS. 9A and 9B.
  • the fee history information 226 is history information related to the usage fee of the free resource. Details of the charge history information 226 will be described with reference to FIGS. 10A and 10B.
  • Policy management information 227 is information indicating a resource allocation policy for each batch process. Details of the policy management information 227 will be described with reference to FIG.
  • the change method definition information 228 is definition information of a resource allocation change method for batch processing. Details of the change method definition information 228 will be described with reference to FIG.
  • the execution plan management information 229 is information for managing an execution plan for batch processing generated by the batch assignment management unit 211.
  • the execution plan includes information related to the start time of batch processing, the amount of resources to be reserved, the type of resources to be reserved, and the like.
  • the batch execution unit 212 executes batch processing based on the execution plan management information 229. Details of the execution plan management information 229 will be described with reference to FIG.
  • FIG. 3 is a block diagram illustrating a hardware configuration and a software configuration example of the server 102 that realizes IaaS (Infrastructure as a Services) of the first embodiment.
  • FIG. 3 shows an example of a software group that can configure a multistage virtual machine. Note that the virtualization infrastructure may or may not be nested.
  • the server 102 includes a processor 301, a memory 302, a network interface 303, a disk interface 304, a BMC 305, and a PCI-Express interface 306.
  • the processor 301 executes a program stored in the memory 302.
  • the memory 302 stores a program executed by the processor 301 and information necessary for executing the program.
  • the program and information stored in the memory 302 will be described later.
  • the network interface 303 is an interface for communicating with other devices via the IP network.
  • the disk interface 304 is an interface for accessing the storage subsystem 105.
  • the BMC 305 performs power supply control and control of each interface.
  • the PCI-Express interface 306 is an interface for connecting to the PCIex-SW 107.
  • one network interface 303, one disk interface 304, and one PCI-Express interface 306 are shown, but a plurality of interfaces may be provided.
  • the server 102 may have a network interface connected to the NW-SW 103 and a network interface connected to the NW-SW 104.
  • the memory 302 stores a program for realizing the first virtualization unit 311 and the second virtualization unit 313, and stores a data group that is an entity of the first virtual server 312 (or logical partition) and the second virtual server 314. Store.
  • the first virtualization unit 311 allocates physical resources to a plurality of first virtual servers 312 (or logical partitions).
  • the second virtualization unit 313 allocates resources of the first virtual server 312 to the plurality of second virtual servers 314.
  • the first virtualization unit 311 that virtualizes the resources of the server 102 is deployed as a lower layer virtualization unit in the memory 302, and the resource (first cluster) is provided to the plurality of second virtualization units 313 that are upper layer virtualization units. 1 virtual server 312).
  • the second virtualization unit 313 generates a plurality of second virtual servers 314 and stores them in the memory 302.
  • the first virtualization unit 311 includes a virtualization unit management interface 351 as a control interface.
  • the second virtualization unit 313 also includes a virtualization unit management interface as a control interface.
  • the first virtualization unit 311 generates a plurality of first virtual servers 312 by virtualizing resources of the server 102 (or blade server) and allocating the virtualized resources to the plurality of first virtual servers 312.
  • the first virtualization unit 311 can be realized using, for example, a hypervisor or a VMM (Virtual Machine Monitor).
  • the second virtualization unit 313 further virtualizes the resource (first virtual server 312) provided by the first virtualization unit 311, and uses the resources of the first virtual server 312 virtualized by the plurality of second virtual servers 314. By assigning, a plurality of second virtual servers 314 are generated.
  • the second virtualization unit 313 can be realized using, for example, a hypervisor or a VMM.
  • the first virtual server 312 includes a virtual device (or logical device) provided by the first virtualization unit 311.
  • the virtual device of the present embodiment includes a virtual processor 321, a virtual memory 322, a virtual network interface 323, a virtual disk interface 324, a virtual BMC 325, and a virtual PCIex interface 326.
  • the virtual device described above is one that is assigned to each first virtual server 312 by the first virtualization unit 311.
  • the second virtual server 314 is also composed of similar virtual devices.
  • the virtual device provided to the second virtual server 314 is the resource (first virtual server 312) allocated by the first virtualization unit 311 to the plurality of second virtualization units 313 and the second virtualization unit 313. This is realized by allocating to each second virtual server 314.
  • the OS 331 is stored in the virtual memory 322.
  • the OS 331 manages virtual devices provided to the first virtual server 312 or the second virtual server 314.
  • An application 341 is executed on the OS 331.
  • the management program 342 running on the OS 331 realizes functions such as failure detection, virtual server power control, and inventory management.
  • the first virtualization unit 311 manages the association between the physical resources of the server 102 and the resources allocated to the second virtualization unit 313.
  • the example in which the first virtualization unit 311 allocates the resources of the first virtual server 312 to the second virtualization unit 313 has been described.
  • the first virtualization unit 311 allocates the resources of the physical server 102 to the second virtual unit 313. You may make it allocate directly to the conversion part 313. In this case, the first virtual server 312 can be omitted.
  • the first virtualization unit 311 can dynamically change the resource of the server 102 to be allocated to the plurality of second virtualization units 313 and can cancel the allocation of the resource.
  • the first virtualization unit 311 holds the resource amount, configuration information, and operation history of the resources allocated to the second virtualization unit 313.
  • the second virtualization unit 313 manages the association between the resources of the first virtual server 312 and the resources allocated to the second virtual server 314.
  • the second virtualization unit 313 can dynamically change the resources of the first virtual server 312 to be allocated to the plurality of second virtual servers 314 and can cancel the allocation of the resources. Further, the second virtualization unit 313 holds the resource amount, configuration information, and operation history of the resources allocated to the second virtual server 314.
  • the first virtualization unit 311 is the first layer
  • the second virtualization unit 313 is the second layer
  • the OS 331 is the third layer.
  • the third layer side is the upper layer
  • the first layer side is the lower layer.
  • the first virtualization unit 311 is the first layer
  • the OS 331 operates in the upper layer.
  • FIG. 4 is a block diagram illustrating a hardware configuration and a software configuration example of the server 102 that realizes PaaS (Platform as a Services) of the first embodiment.
  • the hardware configuration of the server 102 is the same as the hardware configuration of the server 102 shown in FIG.
  • the memory 302 stores a program for realizing the OS 401, the application 402, and the monitoring unit 403.
  • the application 402 and the monitoring unit 403 operate on the OS 401.
  • the memory 302 may store a program for realizing the first virtualization unit 311 and the like.
  • the user constructs a virtual board (tenant) for executing a predetermined task using one or more servers 102 as shown in FIG. 3 or FIG.
  • the user executes a plurality of batch processes using a tenant.
  • the user pays the cloud service provider according to the amount of resources used by the tenant.
  • a resource with a fixed usage charge is described as a fixed price resource regardless of the usage time.
  • a resource whose usage fee varies according to usage time is also referred to as a price variation resource.
  • the management server 101 generates an execution plan that defines resources to be allocated to batch processing so as to satisfy the user policy based on the resource amount of the price fluctuation resource and the usage charge prediction information. As a result, resource allocation for batch processing is dynamically changed. Furthermore, the management server 101 presents an additional batch process related to the batch process, and also generates an execution plan for the additional batch process.
  • 5A and 5B are diagrams illustrating an example of the system configuration information 221 according to the first embodiment.
  • the system configuration information 221 includes an identifier 501, a tenant ID 502, a system ID 503, a hardware characteristic 504, and a software characteristic 505.
  • the identifier 501 is an identifier for uniquely identifying an entry of the system configuration information 221. In this embodiment, it is assumed that an ascending value is automatically set in the identifier 501. A value of any column of the system configuration information 221 or a value obtained by combining values of a plurality of columns may be used as the identifier of the entry. In this case, the identifier 501 may be omitted.
  • the tenant ID 502 is an identifier for uniquely identifying a tenant. In this embodiment, it is assumed that one or more tenants exist for one user.
  • the system ID 503 is an identifier for identifying devices that constitute a tenant.
  • the identifier of the server 102 is stored in the system ID 503, and when the first virtual server 312 or the second virtual server 314 is assigned as a device to the tenant, The identifier of the virtual server is set in the system ID 503.
  • Hardware characteristics 504 indicate the hardware characteristics of the device corresponding to the system ID 503. For example, HBA, NIC, CNA, etc., HBA identifier WWN, NIC identifier MAC address, performance information, architecture information, generation information, model number, support function, vendor type, firmware information, driver information, I / F information, switch information, RAID information, virtualization type, virtualization correspondence information, and the like are stored.
  • Software characteristic 505 indicates the software characteristic of the device corresponding to the system ID 503. For example, OS type, OS version, middleware type, middleware version, application information, management program information, and the like are stored.
  • the information stored in each column of the system configuration information 221 is an example and does not limit the present invention.
  • FIG. 6 is a diagram illustrating an example of the batch processing management information 222 according to the first embodiment.
  • the batch processing management information 222 includes a tenant ID 601, job net ID 602, type 603, start time 604, target time 605, instance number 606, instance type 607, business type 608, execution time 609, and fee 610.
  • the tenant ID 601 is the same as the tenant ID 502.
  • the job net ID 602 is an identifier for uniquely identifying batch processing executed in the tenant.
  • the batch processing includes a plurality of jobs that are the minimum unit of processing.
  • a job net includes a plurality of jobs, and each job is connected to at least one job.
  • batch processing is managed as a job net.
  • Type 603 is a type of batch processing.
  • the type 603 stores at least one of “normal” and “addition”.
  • “Normal” indicates a batch process planned by the user.
  • “Addition” indicates a batch process newly added by an execution plan generation process of a batch process to be described later.
  • a batch process planned by the user is described as a main batch process, and a batch process added in an execution plan generation process and an execution plan update process described later is described as an additional batch process.
  • the start time 604 is the start time of batch processing.
  • the target time 605 is a batch processing completion time when only the fixed price resource is used.
  • the instance number 606 indicates the number of instances allocated to batch processing.
  • the instance indicates a device that executes jobs such as the server 102, the first virtual server 312, and the second virtual server 314.
  • the number of instances of the fixed price resource is set in the instance number 606 of the main batch process. That is, in the initial setting, a value is set in the main batch process so that a fixed price resource is reserved.
  • the instance type 607 is an instance type. In this embodiment, it is assumed that a usage fee is set for each instance type.
  • the business type 608 is a type of batch processing.
  • the business type 608 stores the name of an application executed in batch processing.
  • the execution time 609 is the execution time of batch processing.
  • the fee 610 is a usage fee for resources used by batch processing.
  • the fee 610 stores a usage fee when the number of instances indicated by the instance number 606 is used for the time indicated by the execution time 609.
  • FIG. 7 is a diagram illustrating an example of the job management information 223 according to the first embodiment.
  • One job management information 223 exists for one batch process (job net).
  • the job management information 223 includes a job ID 701, a parallel degree 702, a maximum parallel degree 703, a parallelization time 704, a required performance 705, an execution time 706, and an output job ID 707.
  • the job ID 701 is an identifier that uniquely identifies a job included in a batch process (job net).
  • the degree of parallelism 702 is the number of jobs executed in parallel.
  • An instance (resource) matching the value of the degree of parallelism 702 is assigned to the job executed in parallel. For example, the number of parallel executions of a job whose job ID 701 is “job 1” in FIG. 7 is “2”. Therefore, two instances are assigned to the job, and the two instances execute the same job in parallel.
  • the maximum parallelism 703 is the maximum value of the number of jobs executed in parallel. As will be described later, when the value of the degree of parallelism 702 is smaller than the value of the maximum degree of parallelism 703, it indicates that the job can add resources.
  • the parallelization time 704 is a processing time required for executing jobs in parallel.
  • the required performance 705 is performance required for an instance executing a job, that is, a resource amount.
  • the execution time 706 is a job execution time.
  • the output job ID 707 is an identifier of a job to which a job processing result corresponding to the job ID 701 is output. Based on the output job ID 707, the management server 101 can grasp the connection relationship of jobs in the job net. In the case of a job that does not output the processing result to another job, the output job ID 707 is blank. For example, the output job ID 707 of the job executed at the end of the job net is blank.
  • the management server 101 holds the job management information 223 as job initial setting information. This makes it possible to compare the execution time before and after the resource allocation change, performance, price, and the like.
  • the batch process management information 222 and the job management information 223 are information generated from information input when the user constructs a tenant.
  • the management server 101 may generate the batch processing management information 222 and the job management information 223 based on the current tenant setting information and the like.
  • FIG. 8 is a diagram illustrating an example of the budget information 224 according to the first embodiment.
  • Budget information 224 includes tenant ID 801, date 802, and budget 803.
  • the tenant ID 801 is the same as the tenant ID 502.
  • One tenant entry includes budget rows with different dates.
  • a date 802 is a date on which the set budget is applied.
  • a budget 803 is a budget applied on the date designated by the date 802. The budget may be managed for each user.
  • a monthly budget for each tenant is set. Therefore, year and month are set for the date 802. In the budget 803, an operation budget for one month is set. Note that the budget setting period can be changed as appropriate.
  • the budget information 224 is information generated from information input when a user constructs a tenant or the like. Note that the management server 101 can appropriately update the budget information 224 based on a request from the user.
  • the free resource amount history information 225 of the present embodiment includes first resource amount history information 900 and second resource amount history information 910.
  • the first resource amount history information 900 is history information on the number of unused instances provided as price fluctuation resources.
  • the first resource amount history information 900 includes a date 901 and columns of a plurality of instance types.
  • the date 901 is the date when the history is acquired.
  • the first resource amount history information 900 includes columns corresponding to the types of instances.
  • the first resource amount history information 900 includes Physical Server 902, VM xlarge 903, VM large 904, VM medium 905, VM small 906, and VM tiny 907.
  • Each column stores the number of unused instances corresponding to the instance type.
  • the second resource amount history information 910 is history information on the amount of free resources of a device that allocates resources to instances provided as price fluctuation resources.
  • the second resource amount history information 910 includes a date 911, an instance type 912, a system ID 913, a processor 914, a memory 915, and an IOPS 916.
  • Date 911 is the same as date 901.
  • the instance type 912 is an instance type.
  • the system ID 913 is an identifier of an instance included in the price fluctuation resource.
  • the system ID 913 stores an identifier similar to the system ID 503.
  • the processor 914, the memory 915, and the IOPS 916 are free resource amounts of the instance.
  • the processor 914 stores the number of processors that are not used.
  • the memory 915 stores the capacity of the memory that is not used.
  • the IOPS 916 is an IOPS (I / O per Second) indicating the I / O performance of the instance.
  • the IOPS is not a free resource, but is used as one of resource allocation indexes. Therefore, the second resource amount history information 910 includes the IOPS of each instance.
  • FIGS. 10A and 10B are diagrams illustrating an example of the charge history information 226 according to the first embodiment.
  • the fee history information 226 of the present embodiment includes first fee history information 1000 and second fee history information 1010.
  • the first fee history information 1000 is usage fee history information for each instance type provided as a price fluctuation resource.
  • the first fee history information 1000 includes a date 1001 and a column of a plurality of instance types.
  • the date 1001 is the same as the date 901.
  • the first fee history information 1000 includes a physical server 1002, a VM xlarge 1003, a VM large 1004, a VM medium 1005, a VM small 1006, and a VM tiny 1007 as columns of instance types. Each column stores a usage fee for one instance corresponding to the instance type.
  • the second fee history information 1010 is the history information of the usage fee of the free resource of the device that allocates the resource to the instance provided as the price fluctuation resource.
  • the second fee history information 1010 includes a date 1011, an instance type 1012, a fee (processor) 1013, a fee (memory) 1014, and a fee (IOPS) 1015.
  • the date 1011 is the same as the date 1001.
  • the instance type 1012 is the same as the instance type 912.
  • a usage fee history is managed for each instance type.
  • the fee (processor) 1013 stores the usage fee of the processor of the instance corresponding to the instance type 1012.
  • the fee (memory) 1014 stores a memory usage fee of the instance corresponding to the instance type 1012.
  • the charge (IOPS) 1015 stores the IOPS usage charge of the instance corresponding to the instance type 1012.
  • FIG. 11 is a diagram illustrating an example of the policy management information 227 according to the first embodiment.
  • Policy management information 227 manages a policy preset by the user. For example, when registering a batch process, the user sets a policy for the batch process (job net). The timing for setting the policy is not limited to this.
  • the policy management information 227 includes a job net ID 1101, a policy ID 1102, a policy type 1103, a change method 1104, a batch processing addition condition 1105, and a selection flag 1106.
  • the job net ID 1101 is the same as the job net ID 602.
  • one or more policies are set for one job net.
  • the policy ID 1102 is an identifier for uniquely identifying the policy set for the job net.
  • the policy type 1103 is a policy type.
  • the change method 1104 is definition information of a resource allocation change method. Note that the change method 1104 may store a program, a processing code, and the like.
  • the batch process addition condition 1105 is a condition for adding a new batch process.
  • the batch processing addition condition 1105 of “Policy 2” indicates that the addition of the batch processing is permitted if it can be added within a fee exceeding 10% of the budget.
  • the batch processing addition condition 1105 of “Policy 3” indicates that the addition of the batch processing is permitted if it can be added within the budget.
  • the selection flag 1106 is a flag indicating whether or not the policy is selected by the user. In this embodiment, “ON” is set in the policy selection flag 1106 selected by the user. In this embodiment, when one policy is set for one job, “ON” is automatically set in the selection flag 1106. In addition, when a plurality of policies are set for one job, the policy to be applied by the user is selected.
  • FIG. 12 is a diagram illustrating an example of the change method definition information 228 according to the first embodiment.
  • the change method definition information 228 manages the resource allocation change method preset by the administrator.
  • the change method definition information 228 includes a method ID 1201, a process type 1202, a target 1203, and an additional amount 1204.
  • Method ID 1201 is an identifier for uniquely identifying the change method registered in the change method definition information 228.
  • the process type 1202 is a type of change method. In this embodiment, either “scale out” or “scale up” is stored in the processing type 1202.
  • Scaling out is a method of changing resources allocated to a job by adding instances.
  • Scale-up is a method of changing the resource allocated to a job by adding the performance of the instance, that is, the resource allocated to the instance.
  • Target 1203 is a resource to be added.
  • the addition amount 1204 is a change amount of the resource to be added.
  • FIG. 13 is a diagram illustrating an example of the execution plan management information 229 according to the first embodiment.
  • one entry corresponds to one batch processing execution plan.
  • One entry includes a job net ID 1301, method ID 1302, job ID 1303, parallelism 1304, parallelization time 1305, required performance 1306, execution time 1307, fee 1308, efficiency 1309, confirmation flag 1310, and execution flag 1311.
  • the job net ID 1301 is the same as the job net ID 602.
  • the method ID 1302 is the same as the method ID 1201.
  • the job ID 1303 is the same as the job ID 701.
  • the parallelism 1304, the parallelization time 1305, the required performance 1306, and the execution time 1307 are the same as the parallelism 702, the parallelization time 704, the required performance 705, and the execution time 706.
  • values after the resource allocation is changed are stored in the degree of parallelism 1304, the parallelization time 1305, the required performance 1306, and the execution time 1307.
  • the fee 1308 is a fee for using resources used when executing a job.
  • Efficiency 1309 is an index indicating cost performance due to a change in resource allocation.
  • the confirmation flag 1310 is a flag indicating that the execution plan is actually used. That is, the confirmation flag 1310 indicates that the job is executed based on the generated execution plan.
  • the value of “0” or “1” is stored in the confirmation flag 1310 of this embodiment. “0” indicates that the execution plan is not adopted, and “1” indicates that the execution plan is adopted.
  • the execution flag 1311 is a flag indicating whether or not the job has been executed.
  • the execution flag 1311 of this embodiment stores either “0” or “1”. “0” indicates that the job has been executed, and “1” indicates that the job has not been executed.
  • 14A and 14B are flowcharts illustrating an example of an execution plan generation process for batch processing according to the first embodiment.
  • the batch allocation management unit 211 starts processing at a predetermined opportunity. For example, it is executed when a batch process is newly registered, when the free resource amount history information 225 or the like is updated, or when the change rate of the free resource amount of the price fluctuation resource is larger than a predetermined threshold. Also, the batch allocation management unit 211 periodically refers to the start time 604 of the batch processing management information 222 and determines whether there is a batch process that is executed within one hour from the current time. Good.
  • a list including a plurality of entries including the identifier of the newly registered batch process (job net) and the identifier of the tenant on which the batch process is executed is input to the batch assignment management unit 211 as input information. .
  • the batch allocation management unit 211 predicts the state of the computer system (step S1401). Specifically, the following processing is executed.
  • the batch allocation management unit 211 performs machine learning using the free resource amount history information 225, and generates a free resource amount prediction function with time as a variable as resource amount prediction information.
  • the prediction function generated based on the first resource amount history information 900 is described as a first resource amount prediction function
  • the prediction function generated based on the second resource amount history information 910 is referred to as a second resource.
  • quantity prediction function Also described as quantity prediction function.
  • the batch allocation management unit 211 can calculate the number of instances using the first resource amount prediction function, and calculate the resource amount allocated to one instance using the second resource amount prediction function. Can do. Note that there are as many first resource amount prediction functions and second resource amount prediction functions as the number of instance types.
  • the batch allocation management unit 211 performs machine learning using the fee history information 226, and generates a function for predicting the usage fee of the price fluctuation resource with time as a variable, as usage fee prediction information.
  • the prediction function generated based on the first fee history information 1000 is described as a first fee prediction function
  • the prediction function generated based on the second fee history information 1010 is referred to as a second fee prediction function. Describe. Note that there are as many first charge prediction functions and second charge prediction functions as the number of instance types.
  • the batch allocation management unit 211 executes machine learning using history information in units of one week, and generates each prediction function from the present to one week later. Since machine learning using history information is a well-known technique, description thereof is omitted. The above is the description of the processing in step S1401.
  • the batch assignment management unit 211 starts a loop process for batch processing (step S1402). Specifically, one target batch process is selected from a plurality of batch processes. In the following description, the batch process selected in step S1402 is also referred to as a selected batch process.
  • the batch allocation management unit 211 may select a batch processing group of a tenant with a large operation budget and select a plurality of batch processing of the tenant using the method described above.
  • the batch assignment management unit 211 determines a policy for the selected batch process (step S1403). Specifically, the following processing is executed.
  • the batch assignment management unit 211 refers to the policy management information 227 and searches for an entry in which the job net identifier corresponding to the selected batch process is stored in the job net ID 1101.
  • the batch assignment management unit 211 When a plurality of entries are searched, the batch assignment management unit 211 presents a selectable policy to the user via the display unit 213, and accepts input from the user. In this case, the batch assignment management unit 211 sets “ON” in the selection flag 1106 of the entry corresponding to the policy selected by the user.
  • step S1414 If there is no policy applicable to the selected batch process, or if the user does not select a policy, the batch assignment management unit 211 proceeds to step S1414 without executing any particular process.
  • the above is the description of the process in step S1403.
  • step S1404 the batch assignment management unit 211 starts a loop process of the changing method. Specifically, the following processing is executed.
  • the batch allocation management unit 211 refers to the change method definition information 228 and selects one change method to be used. For example, the batch assignment management unit 211 sequentially selects entries from the change method definition information 228 in order. Further, based on the policy, applicable change methods may be listed, and one change method to be used may be selected from the list.
  • the batch allocation management unit 211 adds an entry to the execution plan management information 229, and sets the job net identifier corresponding to the selected batch process in the job net ID 1301. Further, the batch assignment management unit 211 sets the identifier of the selected change method in the method ID 1302 of the added entry.
  • the batch assignment management unit 211 refers to the job management information 223 associated with the identifier of the job net corresponding to the selected batch process, and adds as many lines as the number of jobs to the added entry.
  • the batch allocation management unit 211 includes a job ID 701, a degree of parallelism 702, a parallelization time 704, a required performance 705, a job ID 1303, a parallelism 1304, a parallelization time 1305, a required performance 1306, and an execution time 1307 of each added row. And the value of the execution time 706 is set. That is, the batch assignment management unit 211 copies the contents of the job management information 223 to the added entry.
  • the batch assignment management unit 211 acquires the number of instances 606 of the selected batch process, the execution time 609, and the charge 610 from the batch process management information 222.
  • the batch allocation management unit 211 calculates a charge per unit time (first charge) of one instance using the number of instances 606, the execution time 609, and the charge 610.
  • the batch allocation management unit 211 can calculate the first fee by dividing the value of the fee 610 by the value of the number of instances 606 and further dividing the calculated value by the execution time 609.
  • the batch allocation management unit 211 calculates a fee required for job execution based on the parallelism 702, the parallelization time 704, and the execution time 706 of each job and the first fee. For example, the batch allocation management unit 211 can calculate the above-described fee by multiplying the first fee by the degree of parallelism 702 and multiplying the calculated value by a value obtained by adding the parallelization time 704 and the execution time 706.
  • the batch allocation management unit 211 sets the calculated value in the charge 1308. Further, the batch allocation management unit 211 sets “1” for the efficiency 1309 of the added entry, and sets “0” for the confirmation flag 1310 and the execution flag 1311. The above is the description of step S1404.
  • step S1405 the batch assignment management unit 211 starts a loop process of the selected batch process job.
  • the job selected in step S1405 is also referred to as a selected job. Specifically, the following processing is executed.
  • the batch assignment management unit 211 grasps the connection relation of a plurality of jobs included in the selected batch process based on the output job ID 707 of the job management information 223 for the selected batch process.
  • the batch allocation management unit 211 selects jobs in the execution order based on the connection relation of jobs. Note that when there are a plurality of jobs having a connection relationship to be output to the same job, the batch assignment management unit 211 selects one job from the plurality of jobs based on the job ID 701. The above is the description of the processing in step S1405.
  • the batch assignment management unit 211 determines whether or not a price fluctuation resource is available for the selected job (step S1406).
  • the determination method differs depending on the policy.
  • the batch allocation management unit 211 refers to the batch process management information 222 and acquires the time from the start time 604 of the entry corresponding to the selected batch process.
  • the batch allocation management unit 211 substitutes the time into the first fee prediction function corresponding to the type of the instance, and starts the selected batch process.
  • the price (second charge) of the price fluctuation resource (instance) is calculated.
  • the batch allocation management unit 211 determines whether or not the second fee is lower than the first fee. That is, it is determined whether the price of the price fluctuation resource is lower than the price of the fixed price resource.
  • the batch allocation management unit 211 determines that the price fluctuation resource is available because there is a possibility of reducing the fee.
  • the batch allocation management unit 211 calculates the free resource amount (number of instances) of the price fluctuation resource when executing the selected job by substituting the time into the first resource amount prediction function corresponding to the instance type.
  • the batch allocation management unit 211 refers to the entry corresponding to the selected job in the job management information 223.
  • the batch assignment management unit 211 determines whether or not the value of the parallel degree 702 of the referenced entry is smaller than the calculated number of instances. That is, it is determined whether or not the number of unused instances of the price fluctuation resource is larger than the number of instances assigned to the selected job.
  • the batch allocation management unit 211 determines that the price fluctuation resource is available because there is a possibility that the execution time of the batch processing may be shortened. To do.
  • the batch allocation management unit 211 uses a determination method in which (1) and (2) are combined. That is, the batch allocation management unit 211 determines whether or not the second fee is lower than the first fee and the value of the degree of parallelism 702 is smaller than the calculated number of instances. If any determination result is YES, the batch allocation management unit 211 determines that the price fluctuation resource is available.
  • step S1407 the batch allocation management unit 211 executes an execution plan change process. Details of the execution plan change process will be described with reference to FIG.
  • the batch assignment management unit 211 determines whether or not the processing has been completed for all jobs included in the selected batch processing (step S1408).
  • step S1405 selects a new job, and executes the same process.
  • the batch assignment management unit 211 determines whether processing has been completed for all change methods (step S1409). .
  • step S1404 selects a new change method, and executes the same processing.
  • the batch allocation management unit 211 determines whether there is an execution plan that satisfies the policy based on the entry group added to the execution plan management information 229. Is determined (step S1410). In this embodiment, as described below, the determination method differs depending on the policy.
  • the batch allocation management unit 211 calculates a fee for each execution plan. Specifically, the batch allocation management unit 211 calculates the charge for one execution plan by summing the charges 1308 for each row included in one execution plan entry. The batch allocation management unit 211 determines whether there is an execution plan for which the calculated fee is lower than the fee 610 for the selected batch process. If there is an execution plan whose calculated charge is lower than the charge 610 for the selected batch process, the batch allocation management unit 211 determines that there is an execution plan that satisfies the policy.
  • the batch allocation management unit 211 calculates the execution time of each execution plan. Specifically, the batch allocation management unit 211 calculates the execution time of one execution plan by summing the parallelization time 1305 and the execution time 1307 of each row included in one execution plan entry. The batch assignment management unit 211 determines whether there is an execution plan whose calculated execution time is shorter than the execution time 609 of the selected batch process. If there is an execution plan whose calculated execution time is smaller than the execution time 609 of the selected batch process, the batch assignment management unit 211 determines that there is an execution plan that satisfies the policy.
  • the batch allocation management unit 211 determines whether the total execution time of the main batch process and the execution time of the additional batch process is smaller than the target time 605. In addition, the batch allocation management unit 211 refers to the budget information 224, stores the tenant identifier for which the selected batch process is executed in the tenant ID 801, and sets the date and time corresponding to the time when the selected batch process is executed as the date 802. Search for entries. The batch assignment management unit 211 acquires the budget 803 of the searched entry. The batch allocation management unit 211 determines whether or not the batch processing additional condition 1105 is satisfied based on the sum of the main batch processing fee and the additional batch processing fee, and the budget 803.
  • the batch allocation management unit 211 determines that there is no execution plan that satisfies the policy.
  • the batch allocation management unit 211 calculates the execution efficiency of each execution plan. Specifically, the batch allocation management unit 211 calculates an average value of efficiency using the efficiency 1309 of each row included in one execution plan entry, and sets the average value as the execution efficiency of one execution plan. . The batch allocation management unit 211 determines whether there is an execution plan with the calculated execution efficiency greater than “1”. When there is an execution plan with the calculated execution efficiency greater than “1”, the batch allocation management unit 211 determines that there is an execution plan that satisfies the policy.
  • the batch allocation management unit 211 determines whether the execution efficiency of the main batch process is greater than “1”, and the execution efficiency of the additional batch process is greater than “1”. It is determined whether or not. Further, the batch allocation management unit 211 determines whether or not the batch processing additional condition 1105 is satisfied based on the total of the main batch processing fee and the additional batch processing fee and the budget 803. If any one of the conditions is not satisfied, the batch allocation management unit 211 determines that there is no execution plan that satisfies the policy.
  • the batch allocation management unit 211 selects one execution plan to be adopted (step S1411).
  • the batch allocation management unit 211 selects an execution plan that is most effective. For example, in the case of a policy whose policy type 1103 is “cost”, the batch allocation management unit 211 selects an execution plan with the lowest charge. When the policy type 1103 is a policy having “target time”, the batch allocation management unit 211 selects an execution plan that has the shortest execution time. When the policy type 1103 is a policy having “cost performance”, the batch allocation management unit 211 selects an execution plan having the highest execution efficiency. Note that the batch allocation management unit 211 may delete the execution plan that has not been selected, or may use the execution plan that has not been selected as new knowledge.
  • the batch allocation management unit 211 reserves resources based on the selected execution plan (step S1412).
  • the batch assignment management unit 211 secures resources so that they are not assigned to other batch processes. Since the resource reservation method is a known technique, the description thereof is omitted. At this time, the batch assignment management unit 211 sets “1” to the confirmation flag 1310 of each line of the selected execution plan.
  • the batch assignment management unit 211 determines whether addition of batch processing is permitted (step S1413).
  • the batch assignment management unit 211 refers to the policy batch processing addition condition 1105 and determines whether or not information indicating that the addition of batch processing is permitted is set.
  • the batch assignment management unit 211 determines whether the process has been completed for all the batch processes included in the list (step S1414).
  • the batch assignment management unit 211 If it is determined that the processing has not been completed for all the batch processes included in the list, the batch assignment management unit 211 returns to step S1402, selects a new batch process, and executes the same process. At this time, the batch assignment management unit 211 presents the processing result for the batch processing to the user via the display unit 213.
  • the batch assignment management unit 211 ends the execution plan generation process of the batch process.
  • step S1413 If it is determined in step S1413 that the addition of batch processing is permitted, the batch assignment management unit 211 presents a list of batch processes that can be added to the user via the display unit 213 (step S1420). Settings for additional batch processing are accepted (step S1421). Thereafter, the batch assignment management unit 211 returns to step S1403, and executes the same process with the additional batch process as the selected batch process. In this case, the loop process of the main batch process is continued.
  • the batch allocation management unit 211 may be considered to present a batch process for which an execution plan has been generated as an addable batch process.
  • the batch allocation management unit 211 may be presented as a batch process that can add another batch process executed in the tenant.
  • the batch assignment management unit 211 When the batch assignment management unit 211 receives the setting, the batch assignment management unit 211 updates the batch processing management information 222 and the job management information 223. Note that “addition” is set in the additional batch processing type 603.
  • a batch process added in advance by the user may be defined in the batch process management information 222.
  • the batch assignment management unit 211 selects a batch process to be automatically added based on the batch process management information 222.
  • the process of step S1422 can be omitted.
  • step S1410 determines whether the selected batch process is an additional batch process (step S1417).
  • the batch assignment management unit 211 determines whether the type 603 of the row corresponding to the selected batch process in the batch process management information 222 is “addition”. When the type 603 is “addition”, the batch assignment management unit 211 determines that the selected batch process is an additional batch process.
  • the batch assignment management unit 211 reserves a resource for the batch process based on the job management information 223 (step S1418). Thereafter, the batch assignment management unit 211 proceeds to step S1414.
  • the batch allocation management unit 211 deletes all execution plans for the selected batch process registered in the execution plan management information 229 and generates an execution plan for the selected batch process based on the job management information 223. That is, an execution plan for the selected batch process is generated according to the initial setting. In this case, an entry having the same content as the entry generated in step S1404 is generated in the execution plan management information 229. That is, the price fluctuation resource is not used.
  • the batch allocation management unit 211 deletes all execution plans for the additional batch process from the execution plan management information 229 (step S1419). Thereafter, the batch assignment management unit 211 proceeds to step S1414.
  • the batch assignment management unit 211 presents the processing result for the main batch process to the user via the display unit 213.
  • step S1406 determines whether the price fluctuation resource is not available. If it is determined in step S1406 that the price fluctuation resource is not available, the batch assignment management unit 211 determines whether the selected batch process is an additional batch process (step S1415). The process of step S1415 is the same as that of step S1417.
  • step S1408 the batch assignment management unit 211 proceeds to step S1408. That is, for the selected batch process, the execution plan change process is not executed, and the loop process of the selected batch process ends.
  • the batch assignment management unit 211 deletes the execution plan of the additional batch process from the execution plan management information 229 (step S1416). Thereafter, the batch assignment management unit 211 proceeds to step S1414. At this time, the batch assignment management unit 211 presents the processing result for the main batch process to the user via the display unit 213.
  • FIG. 15 is a flowchart illustrating an example of an execution plan change process according to the first embodiment.
  • the batch allocation management unit 211 determines whether or not the processing type 1202 of the change method selected in step S1404 is “scale-out” (step S1501).
  • the batch allocation management unit 211 executes a resource amount calculation process (scale-out) (step S1502), and then changes the execution plan. The process ends. Details of the resource amount calculation process (scale-out) will be described with reference to FIG.
  • the batch allocation management unit 211 executes a resource amount calculation process (scale up) (step S1503), and then changes the execution plan. The process ends. Details of the resource amount calculation process (scale-up) will be described with reference to FIG.
  • FIG. 16 is a flowchart illustrating an example of a resource amount calculation process (scale out) according to the first embodiment.
  • the batch assignment management unit 211 determines whether or not the parallelism of the selected job can be increased (step S1601). Specifically, the following processing is executed.
  • the batch assignment management unit 211 refers to the entry of the selected job in the job management information 223 and determines whether the value of the parallel degree 702 is smaller than the value of the maximum parallel degree 703.
  • the batch assignment management unit 211 determines that the degree of parallelism of the selected job cannot be increased.
  • the batch allocation management unit 211 calculates the additional degree of parallelism by subtracting the value of the degree of parallelism 702 from the value of the maximum degree of parallelism 703. The batch allocation management unit 211 determines whether or not the value of the additional amount 1204 of the change process selected in step S1404 is smaller than the additional parallelism.
  • the batch assignment management unit 211 determines that the parallelism of the selected job cannot be increased.
  • the batch assignment management unit 211 determines that the parallelism of the selected job can be increased. The above is the description of the processing in step S1601.
  • the batch allocation management unit 211 ends the resource amount calculation process (scale-out).
  • the batch allocation management unit 211 calculates a resource amount necessary for increasing the degree of parallelism (step S1602).
  • the batch allocation management unit 211 calculates the number of instances (resource amount) required when the degree of parallelism is increased using the selected addition amount 1204 of the change process and the degree of parallelism 702. For example, when the additional amount 1204 is “twice”, the value obtained by multiplying the value of the degree of parallelism 702 by “2” is the number of instances (resource amount) required when the degree of parallelism is increased.
  • the batch allocation management unit 211 determines whether there is a resource amount necessary for the price fluctuation resource (step S1603).
  • the method for determining whether or not the necessary resource amount exists in the resource pool is a known method, and therefore detailed description thereof is omitted. For example, the following method can be used.
  • the batch allocation management unit 211 refers to the second resource amount history information 910 and determines whether or not the number of instances of a predetermined type having a resource with the required performance 1306 or higher is greater than or equal to the degree of parallelism after the change. When the above-described conditions are satisfied, the batch allocation management unit 211 determines that there is a necessary resource amount for the price fluctuation resource.
  • the batch allocation management unit 211 ends the resource amount calculation process (scale-out).
  • the batch allocation management unit 211 calculates the execution time and usage fee of the selected job after the change of the parallelism (step S1604). Further, the batch allocation management unit 211 updates the value of the row corresponding to the selected job in the execution plan management information 229 (step S1605), and then ends the resource amount calculation process (scale out). Specifically, the following processing is executed.
  • the batch allocation management unit 211 calculates the change ratio by dividing the parallel degree after the change by the parallel degree before the change.
  • the batch assignment management unit 211 calculates a first evaluation value by multiplying the change ratio by a predetermined coefficient.
  • the batch allocation management unit 211 calculates a new execution time by dividing the value of the execution time 1307 by the first evaluation value. For example, when the first evaluation value is “2”, the execution time of the selected job is half the time before the change.
  • the batch assignment management unit 211 calculates a second evaluation value by multiplying the change ratio by a predetermined coefficient.
  • the batch allocation management unit 211 calculates a new fee by multiplying the value of the fee 1308 by the second evaluation value. For example, when the second evaluation value is “2”, the charge for the selected job is double the charge before the change.
  • the batch allocation management unit 211 sets the calculated execution time and fee in the execution time 1307 and fee 1308 of the row corresponding to the selected job. The above is the description of the processing in steps S1604 and S1605.
  • FIG. 17 is a flowchart illustrating an example of a resource amount calculation process (scale-up) according to the first embodiment.
  • the batch allocation management unit 211 calculates a resource amount necessary when the required performance of the instance is changed (step S1701).
  • the batch allocation management unit 211 calculates the required performance of the instance based on the selected addition amount 1204 of the change process and the required performance 1306. For example, when the additional amount 1204 is “double”, the batch assignment management unit 211 multiplies each value of the required performance 1306 in the row of the selected job by “2”.
  • the batch allocation management unit 211 determines whether there is a necessary resource amount for the price fluctuation resource (step S1702).
  • the method for determining whether or not the necessary resource amount exists in the resource pool is a known method, and therefore detailed description thereof is omitted. For example, the following method can be used.
  • the batch allocation management unit 211 refers to the second resource amount history information 910 and determines whether or not the number of instances of a predetermined type having a resource equal to or higher than the calculated required performance is greater than or equal to the value of the parallelism 1304. . When the above-described conditions are satisfied, the batch allocation management unit 211 determines that there is a necessary resource amount for the price fluctuation resource.
  • the batch allocation management unit 211 ends the resource amount calculation process (scale-up).
  • the batch allocation management unit 211 calculates the execution time and usage fee of the selected job after changing the requested performance of the instance (step S1703). Furthermore, the batch allocation management unit 211 updates the value of the row corresponding to the selected job in the execution plan management information 229 (step S1704), and then ends the resource amount calculation process (scale-up). Specifically, the following processing is executed.
  • the batch allocation management unit 211 calculates the change ratio by dividing the required performance after the change by the required performance before the change. When conditions are set for a plurality of resources, the batch allocation management unit 211 calculates a change ratio for each resource, and uses an average value of the change ratios for each resource.
  • the batch allocation management unit 211 calculates a third evaluation value by multiplying the change ratio by a predetermined coefficient.
  • the batch allocation management unit 211 calculates a new execution time by dividing the value of the execution time 1307 by the third evaluation value. For example, when the third evaluation value is “2”, the execution time of the selected job is half the time before the change.
  • the batch allocation management unit 211 calculates the fourth evaluation value by multiplying the change ratio by a predetermined coefficient.
  • the batch allocation management unit 211 calculates a new fee by multiplying the value of the fee 1308 by the fourth evaluation value. For example, when the fourth evaluation value is “2”, the charge for the selected job is double the charge before the change.
  • the batch allocation management unit 211 sets the calculated execution time and fee in the execution time 1307 and fee 1308 of the row corresponding to the selected job. The above is the description of the processing in steps S1703 and S1704.
  • FIG. 18 is a flowchart illustrating an example of the execution process of the batch process according to the first embodiment.
  • the batch execution unit 212 periodically refers to the start time 604 of the batch process management information 222 and identifies the target batch process (step S1801). For example, the batch execution unit 212 identifies a batch process executed within one hour from the current time as the target batch process.
  • the batch execution unit 212 refers to the execution plan management information 229 and specifies an execution plan corresponding to the specified batch process (step S1802).
  • the batch execution unit 212 searches for an entry in which the job net ID 1301 matches the identified identifier of the batch process, and the confirmation flag 1310 is set to “1”.
  • the batch execution unit 212 deploys a job to be executed first based on the specified execution plan, and instructs the start of the job (step S1803).
  • the batch execution unit 212 allocates a resource to the job to be executed first, and deploys necessary software to the resource (instance).
  • the batch execution unit 212 instructs the job to be executed after the start time 604 has elapsed.
  • the batch execution unit 212 sets “0” in the determination flag 1310 of the line of the job instructed to execute, and sets “1” in the execution flag 1311.
  • the batch execution unit 212 determines whether there is a job to be executed next (step S1804).
  • the batch execution unit 212 refers to the job management information 223 based on the value of the job net ID 1301. The batch execution unit 212 determines whether there is a job to be executed next to the started job based on the output job ID 707 of the job management information 223.
  • the job specified in step S1804 is also referred to as a target job.
  • the batch execution unit 212 ends the execution process of the batch process.
  • the batch execution unit 212 sets the start time of the execution plan update process for the job (step S1805). For example, a method is conceivable in which 10 minutes before the target job is started is set as the start time of the execution plan update process.
  • the start time of the target job can be calculated using the start time of the job that is the output source of the target job and the execution time 1307 of the job.
  • the batch execution unit 212 determines whether or not the set start time has elapsed (step S1806).
  • the batch execution unit 212 If it is determined that the set start time has not elapsed, the batch execution unit 212 returns to step S1806 and waits until the start time elapses.
  • the batch execution unit 212 If it is determined that the set start time has elapsed, the batch execution unit 212 outputs an execution instruction for execution plan update processing to the batch assignment management unit 211 (step S1807).
  • the execution instruction includes an identifier for batch processing and an identifier for the target job.
  • the batch execution unit 212 determines whether or not a processing completion notification has been received from the batch assignment management unit 211 (step S1808).
  • the batch execution unit 212 If it is determined that the process completion notification has not been received from the batch allocation management unit 211, the batch execution unit 212 returns to step S1808 and waits until a completion notification is received.
  • the batch execution unit 212 allocates resources to the target job based on the execution plan, and the target job is output after completion of the output source job.
  • the job execution is instructed (step S1809). Thereafter, the batch execution unit 212 returns to step S1804 and executes the same processing.
  • 19A and 19B are flowcharts for explaining an example of an execution plan update process for a job according to the first embodiment.
  • the batch allocation management unit 211 When the batch allocation management unit 211 receives an execution instruction for job execution plan update processing from the batch execution unit 212, the batch allocation management unit 211 starts processing described below.
  • the batch allocation management unit 211 predicts the state of the computer system (step S1901).
  • the process of step S1901 is the same as the process of step S1401. Since each prediction function is generated from the history information at the time of execution of step S1901, it differs from the prediction function generated in step S1401.
  • the batch assignment management unit 211 determines a policy for batch processing including the target job (step S1902).
  • batch processing including a target job is also referred to as target batch processing.
  • the batch allocation management unit 211 refers to the policy management information 227, stores the identifier of the job net corresponding to the target batch process in the job net ID 1101, and stores “ON” in the selection flag 1106. Search for entries. If a batch processing policy is selected during execution of a batch processing execution plan change process, the target batch processing policy is uniquely determined.
  • step S1903 the batch assignment management unit 211 starts a loop process of the change method.
  • the process in step S1903 is the same as the process in step S1404.
  • step S1904 whether the batch allocation management unit 211 is in a state where the price fluctuation resource is available for the target job based on the determined policy.
  • the process in step S1904 is the same as the process in step S1406.
  • step S1906 If it is determined that the price fluctuation resource is not available, the batch allocation management unit 211 proceeds to step S1906.
  • step S1905 the batch allocation management unit 211 executes an execution plan change process.
  • the process in step S1905 is the same as the process in step S1407.
  • the execution plan change process the resource reservation for the target job is updated. It does not change the reservation of resources for other jobs.
  • step S1906 determines whether or not processing has been completed for all the change methods.
  • step S1906 is the same as the process in step S1409.
  • the batch assignment management unit 211 returns to step S1903, selects a new change method, and executes the same processing.
  • the batch allocation management unit 211 determines whether there is an execution plan that satisfies the policy based on the entry group added to the execution plan management information 229. Is determined (step S1907).
  • the process in step S1907 is the same as the process in step S1410.
  • the batch assignment management unit 211 ends the execution plan update process.
  • step S1908 If it is determined that there is an execution plan that satisfies the policy, the batch allocation management unit 211 selects one execution plan to be adopted (step S1908).
  • the process in step S1908 is the same as the process in step S1411.
  • the batch assignment management unit 211 reserves the resource of the target job based on the selected execution plan (step S1909).
  • the batch assignment management unit 211 secures the resource of the target job so that it is not assigned to other batch processing. Note that the reservation of resources for other jobs is not performed.
  • step S1910 determines whether or not addition of batch processing is permitted.
  • the process in step S1910 is the same as the process in step S1413.
  • the batch assignment management unit 211 ends the execution plan update processing.
  • step S1911 the batch assignment management unit 211 presents a list of batch processes that can be added to the user via the display unit 213 (step S1911), and The setting is accepted (step S1912). Note that the processing in step S1911 and step S1912 is the same as the processing in step S1420 and step S1421. The processes after step S1912 are processes related to the additional batch process.
  • step S1913 the batch assignment management unit 211 determines a policy for additional batch processing.
  • the process in step S1913 is the same as the process in step S1403.
  • the batch assignment management unit 211 starts a loop process of the change method (step S1914). In addition, the batch assignment management unit 211 starts a loop process of the job of the selected batch process (step S1915).
  • the processes in steps S1914 and S1915 are the same as the processes in steps S1404 and S1405.
  • step S1916 whether the batch allocation management unit 211 is in a state where the price fluctuation resource is available based on the determined policy.
  • the process in step S1916 is the same as the process in step S1406.
  • step S1923 the batch allocation management unit 211 deletes all execution plans for the additional batch processing from the execution plan management information 229. Thereafter, the batch assignment management unit 211 ends the execution plan update process.
  • step S1923 is the same as the process of step S1416.
  • step S1917 When it is determined that the price fluctuation resource is available, the batch allocation management unit 211 executes an execution plan change process (step S1917).
  • the process of step S1917 is the same as the process of step S1407.
  • step S1918 the batch assignment management unit 211 determines whether or not processing has been completed for all jobs included in the additional batch processing.
  • the process of step S1918 is the same as the process of step S1408.
  • the batch allocation management unit 211 returns to step S1915, selects a new job, and executes similar processing.
  • step S1919 determines whether the processing has been completed for all the change methods. .
  • the process in step S1919 is the same as the process in step S1409.
  • the batch assignment management unit 211 returns to step S1914, selects a new job, and executes the same processing.
  • step S1920 determines whether there is an execution plan that satisfies the policy based on the entry group added to the execution plan management information 229. Is determined (step S1920).
  • the process of step S1920 is the same as the process of step S1410.
  • the batch allocation management unit 211 deletes all execution plans for the additional batch processing from the execution plan management information 229 (step S1923). Thereafter, the batch assignment management unit 211 ends the execution plan update process.
  • the batch allocation management unit 211 selects one execution plan to be adopted (step S1921). Further, the batch allocation management unit 211 reserves resources based on the selected execution plan (step S1922). Thereafter, in the batch assignment management unit 211, the processes in steps S1921 and S1922 are the same as the processes in steps S1411 and S1412.
  • the execution plan is updated so as to satisfy the policy based on the latest prediction information. As a result, finer control can be realized.
  • FIG. 20 is a diagram illustrating an example of a user interface displayed by the display unit 213 according to the first embodiment.
  • the user interface 2000 displays the processing results of the execution plan generation process and the execution plan update process.
  • the user interface 2000 shown in FIG. 20 is a display format for displaying the processing result of one batch process using one tab screen 2001.
  • the tab screen 2001 includes a start time column 2011, a target time column 2012, a scheduled completion time column 2013, and an additional batch process candidate column 2014.
  • the start time column 2011 is the start time of batch processing set by the user. Note that the value set in the start time column 2011 may be automatically calculated based on the execution history of similar batch processing.
  • the target time column 2012 is a batch processing completion time set by the user. In the start time column 2011 and the target time column 2012, an allowable time gap may be input.
  • the scheduled completion time column 2013 is the completion time of the batch process when the resource allocation is changed by the execution plan generation process and the execution plan update process. Note that the scheduled completion time column 2013 may include items for displaying a policy type, a fee, a reserved resource amount, and the like.
  • the additional batch processing candidate column 2014 is a column for displaying additional batch processing candidates.
  • the additional batch processing candidate column 2014 includes an additional batch processing display column 2020 for each policy type.
  • the additional batch processing display field 2020 includes one or more detailed information fields 2021.
  • the detailed information column 2021 includes parameters, start time, and completion time set for the additional batch processing.
  • the detailed information column 2021 includes a cancel button 2022.
  • a cancel button 2022 is an operation button for canceling the addition of the additional batch process. When the operation button is operated, the batch assignment management unit 211 deletes the execution plan for the additional batch process from the execution plan management information 229.
  • the detailed information column 2021 may include an operation button that permits addition of additional batch processing.
  • the batch assignment management unit 211 sets “1” to the execution plan confirmation flag 1310 of the additional batch process in the execution plan management information 229.
  • FIG. 21 is a diagram illustrating an example of the effect of the process executed by the management server 101 according to the first embodiment.
  • a curve 2101 is a graph showing the free resource amount of the price fluctuation resource.
  • a rectangle 2102 with a pattern indicates one instance of a fixed price resource.
  • a rectangle 2103 indicates one instance using a price fluctuation resource. The heights of the rectangles 2102 and 2103 correspond to the required performance of the instance.
  • a resource group 2104 surrounded by a thick frame indicates resources for additional batch processing.
  • Pattern 1 shows an image of an execution plan for batch processing that does not use price fluctuation resources. In this case, batch processing is executed using instances having the same required performance.
  • Pattern 2 shows an image of an execution plan for batch processing using only price fluctuation resources.
  • Pattern 3 shows an image of an execution plan for batch processing using a fixed price resource and a price fluctuation resource.
  • Pattern 4 shows an image of an execution plan with additional batch processing added. It is possible to improve the business by executing the additional batch process while shortening the completion time of the main batch process using the price fluctuation resource.
  • the main batch process is a cost calculation process
  • an additional batch process for calculating a more detailed cost or an additional batch process corresponding to a cost calculation process with a changed parameter is executed.
  • the influence of setting can be analyzed from various perspectives.
  • this invention is not limited to the above-mentioned Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • the present invention can also be realized by software program codes that implement the functions of the embodiments.
  • a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention.
  • Non-temporary storage media such as a nonvolatile memory card and ROM are used.
  • program code for realizing the functions described in this embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, Perl, Shell, PHP, Java, and the like.
  • the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R.
  • the CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.
  • control lines and information lines indicate those that are considered necessary for the explanation, and do not necessarily indicate all the control lines and information lines on the product. All the components may be connected to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Provided is a management computer for managing a plurality of computers providing computer resources, wherein: a business system is built on the plurality of computers; the business system executes batch processing composed of a plurality of jobs; the management computer has a batch assignment management unit and a batch execution unit; the batch assignment management unit manages batch processing management information including information relating to a first resource having a fixed usage fee, job management information for managing job composition, policy management information for defining an operation policy of the business system, and history information of a second resource having a fluctuating usage fee; and the batch assignment management unit generates prediction information from the history information, determines whether the second resource can be used on the basis of the prediction information and the policy management information, and if the second resource can be used, generates execution plan information by calculating a resource amount of the second resource necessary for each of the plurality of jobs.

Description

管理計算機及びバッチ処理の実行方法Management computer and batch processing execution method
 本発明は、クラウドサービス上のシステムが実行するバッチ処理の実行方法に関する。 The present invention relates to a batch processing execution method executed by a system on a cloud service.
 クラウドサービスを提供する計算機システム上にはユーザのシステム(テナント)が構築され、テナント上では様々処理が行われる。テナントは、仮想計算機、及び仮想スイッチ等から構成される。ユーザは、テナントの要件及び処理の内容等に応じて計算機システムの計算機リソースを利用する。以下、本明細書では、計算機リソースを単にリソースとも記載する。 A user system (tenant) is constructed on a computer system that provides a cloud service, and various processes are performed on the tenant. The tenant includes a virtual computer and a virtual switch. The user uses the computer resources of the computer system according to the tenant's requirements and processing contents. Hereinafter, in this specification, computer resources are also simply referred to as resources.
 テナントに割り当てるリソースの最適化方法は様々な手法が知られている(例えば、特許文献1参照)。特許文献1には、アプリケーションレベルの性能指標を最大限に発揮するためのリソースの割当方法が開示されている。 Various methods are known for optimizing the resources allocated to tenants (for example, see Patent Document 1). Patent Document 1 discloses a resource allocation method for maximizing an application level performance index.
国際公開第2008/132924号International Publication No. 2008/132924
 現在、計算機システムの空きリソース量又は計算機システムの使用状態等に応じて、リソースの利用料金が変動するクラウドサービスが提供されている。 Currently, a cloud service is provided in which the resource usage fee varies depending on the amount of free resources in the computer system or the usage status of the computer system.
 クラウドサービスの提供者は、計算機システムの空きリソース量及び計算機システムの使用状況を把握できるが、ユーザはこれらを把握することができない。そのため、バッチ処理のような定型処理は、予め固定されたリソース量が割り当てられている。 The provider of the cloud service can grasp the free resource amount of the computer system and the usage status of the computer system, but the user cannot grasp them. For this reason, a fixed amount of resources is allocated to a standard process such as a batch process.
 前述したような理由から、従来、リソースの利用料金及びユーザの要求等に応じて、バッチ処理に割り当てるリソース量の最適化が行われていなかった。したがって、コスト削減、バッチ処理の実行時間の短縮、及びバッチ処理の複数実行等、ユーザの要求を満たすクラウドサービスが提供されていない。 For the reasons described above, conventionally, the amount of resources allocated to batch processing has not been optimized according to resource usage fees and user requests. Therefore, a cloud service that satisfies user requirements such as cost reduction, batch processing execution time reduction, and batch processing multiple execution has not been provided.
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機リソースを提供する複数の計算機を管理する管理計算機であって、前記管理計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続され、デバイスに接続するための第1のインタフェースを有し、前記複数の計算機の各々は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続され、デバイスに接続するための第2のインタフェースを有し、前記複数の計算機上には、所定の業務を提供する少なくとも一つの業務システムが前記複数の計算機の計算機リソースを用いて構築され、前記少なくとも一つの業務システムは、複数のジョブから構成されるバッチ処理を実行し、前記管理計算機は、前記バッチ処理に対する計算機リソースの割当を管理するバッチ割当管理部と、前記バッチ処理の実行を制御するバッチ実行部と、を有し、前記バッチ割当管理部は、前記バッチ処理の開始時間、及び、前記バッチ処理に対して割り当てられる、利用時間にかかわらず利用料金が一定の計算機リソースである第1リソースに関する情報を含むバッチ処理管理情報と、前記バッチ処理の前記複数のジョブの構成を管理するジョブ管理情報と、前記バッチ処理に対する計算機リソースの割当方針を管理するポリシ管理情報と、利用時間に応じて利用料金が変動する計算機リソースである第2リソースの空き容量の履歴を管理する空きリソース量履歴情報と、前記第2リソースの利用料金の履歴を管理する料金履歴情報と、を管理し、前記バッチ割当管理部は、前記空きリソース量履歴情報に基づいて、前記第2リソースの空き容量を予測するための第1リソース量予測情報を生成し、前記料金履歴情報に基づいて、前記第2リソースの利用料金を予測するための第1料金予測情報を生成し、前記第1リソース量予測情報、前記第1料金予測情報、及び前記ポリシ管理情報に基づいて、前記バッチ処理に対して前記第2リソースを利用できるか否かを判定し、前記バッチ処理に対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出し、前記複数のジョブの各々に必要な前記第2リソースのリソース量を予約するための第1実行計画情報を生成し、前記バッチ実行部は、前記第1実行計画情報に基づいて前記バッチ処理の実行を制御することを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a management computer that manages a plurality of computers that provide computer resources, wherein the management computer includes a first processor, a first memory connected to the first processor, and the first processor. A first interface for connecting to a device, wherein each of the plurality of computers includes a second processor, a second memory connected to the second processor, and the second processor; And having a second interface for connecting to a device, on the plurality of computers, at least one business system for providing a predetermined business is constructed using computer resources of the plurality of computers The at least one business system executes a batch process including a plurality of jobs, and the management computer performs the batch process. A batch allocation management unit that manages allocation of computer resources, and a batch execution unit that controls execution of the batch processing, wherein the batch allocation management unit includes a start time of the batch processing and the batch processing Batch processing management information including information related to the first resource, which is a computer resource with a fixed usage charge regardless of the usage time, and job management information for managing the configuration of the plurality of jobs of the batch processing, Policy management information for managing a computer resource allocation policy for the batch processing, and free resource amount history information for managing a history of the free capacity of the second resource, which is a computer resource whose usage fee varies depending on the usage time, Charge history information for managing a history of usage charges of the second resource, and the batch allocation management unit Generating first resource amount prediction information for predicting a free capacity of the second resource based on the resource amount history information, and predicting a usage fee of the second resource based on the fee history information Whether or not the second resource can be used for the batch processing based on the first resource amount prediction information, the first fee prediction information, and the policy management information is generated. And when it is determined that the second resource can be used for the batch processing, the second resource necessary for each of the plurality of jobs is determined based on the batch processing management information and the job management information. Calculating a resource amount, generating first execution plan information for reserving a resource amount of the second resource necessary for each of the plurality of jobs, and the batch execution unit, The execution of the batch process is controlled based on the first execution plan information.
 本発明によれば、利用料金が変動するリソースを用いて、ユーザの要求を満たすバッチ処理の実行が可能となる。すなわち、バッチ処理の完了時間の短縮、及び運用コストの削減等によって、ユーザの要求を満たすクラウドサービスを提供できる。上記以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the present invention, it is possible to execute a batch process that satisfies a user's request using a resource whose usage fee varies. That is, it is possible to provide a cloud service that satisfies the user's request by shortening the completion time of batch processing and reducing operation costs. Problems, configurations, and effects other than those described above will become apparent from the description of the following examples.
実施例1のシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration of Embodiment 1. FIG. 実施例1の管理サーバの構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a management server according to the first embodiment. 実施例1のIaaSを実現するサーバのハードウェア構成及びソフトウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration and a software configuration example of a server that implements IaaS of the first embodiment. 実施例1のPaaSを実現するサーバのハードウェア構成及びソフトウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration and a software configuration example of a server that implements PaaS according to the first embodiment. 実施例1のシステム構成情報の一例を示す図である。It is a figure which shows an example of the system configuration information of Example 1. 実施例1のシステム構成情報の一例を示す図である。It is a figure which shows an example of the system configuration information of Example 1. 実施例1のバッチ処理管理情報の一例を示す図である。FIG. 6 is a diagram illustrating an example of batch processing management information according to the first embodiment. 実施例1のジョブ管理情報の一例を示す図である。6 is a diagram illustrating an example of job management information according to the first exemplary embodiment. FIG. 実施例1の予算情報の一例を示す図である。It is a figure which shows an example of the budget information of Example 1. 実施例1の空きリソース量履歴情報の一例を示す図である。FIG. 6 is a diagram illustrating an example of free resource amount history information according to the first embodiment. 実施例1の空きリソース量履歴情報の一例を示す図である。FIG. 6 is a diagram illustrating an example of free resource amount history information according to the first embodiment. 実施例1の料金履歴情報の一例を示す図である。It is a figure which shows an example of the charge history information of Example 1. FIG. 実施例1の料金履歴情報の一例を示す図である。It is a figure which shows an example of the charge history information of Example 1. FIG. 実施例1のポリシ管理情報の一例を示す図である。It is a figure which shows an example of the policy management information of Example 1. 実施例1の変更方法定義情報の一例を示す図である。It is a figure which shows an example of the change method definition information of Example 1. FIG. 実施例1の実行計画管理情報の一例を示す図である。It is a figure which shows an example of the execution plan management information of Example 1. FIG. 実施例1のバッチ処理の実行計画生成処理の一例を説明するフローチャートである。6 is a flowchart illustrating an example of an execution plan generation process for batch processing according to the first exemplary embodiment. 実施例1のバッチ処理の実行計画生成処理の一例を説明するフローチャートである。6 is a flowchart illustrating an example of an execution plan generation process for batch processing according to the first exemplary embodiment. 実施例1の実行計画変更処理の一例を説明するフローチャートである。6 is a flowchart illustrating an example of an execution plan change process according to the first embodiment. 実施例1のリソース量算出処理(スケールアウト)の一例を説明するフローチャートである。6 is a flowchart illustrating an example of a resource amount calculation process (scale out) according to the first embodiment. 実施例1のリソース量算出処理(スケールアップ)の一例を説明するフローチャートである。6 is a flowchart illustrating an example of a resource amount calculation process (scale-up) according to the first embodiment. 実施例1のバッチ処理の実行処理の一例を説明するフローチャートである。3 is a flowchart illustrating an example of execution processing of batch processing according to the first exemplary embodiment. 実施例1のジョブを対象とする実行計画更新処理の一例を説明するフローチャートである。10 is a flowchart illustrating an example of an execution plan update process for a job according to the first exemplary embodiment. 実施例1のジョブを対象とする実行計画更新処理の一例を説明するフローチャートである。10 is a flowchart illustrating an example of an execution plan update process for a job according to the first exemplary embodiment. 実施例1の表示部によって表示されるユーザインタフェースの一例を示す図である。6 is a diagram illustrating an example of a user interface displayed by a display unit according to the first embodiment. FIG. 実施例1の管理サーバが実行する処理の効果の一例を説明する図である。It is a figure explaining an example of the effect of the process which the management server of Example 1 performs.
 図1は、実施例1のシステム構成の一例を示す図である。 FIG. 1 is a diagram illustrating an example of a system configuration of the first embodiment.
 実施例1のシステムは、クラウドサービスの提供者が運用する複数の計算機システムを含む。計算機システムは、管理サーバ101、サーバ102、仮想サーバ用管理サーバ151、ストレージサブシステム105、NW-SW103、104、及びFC-SW108から構成される。 The system of the first embodiment includes a plurality of computer systems operated by a cloud service provider. The computer system includes a management server 101, a server 102, a virtual server management server 151, a storage subsystem 105, NW-SWs 103 and 104, and an FC-SW 108.
 管理サーバ101は、管理対象システムに含まれる計算機システム群を管理する。管理サーバ101は、NW-SW(管理用ネットワークスイッチ)103を介して、NW-SW103の管理インタフェース(管理I/F)113及びNW-SW(業務用ネットワークスイッチ)104の管理インタフェース114に接続されており、管理サーバ101は各NW-SW103、104に対してVLAN(Virtual LAN)を設定できる。 The management server 101 manages a computer system group included in the management target system. The management server 101 is connected to the management interface (management I / F) 113 of the NW-SW 103 and the management interface 114 of the NW-SW (business network switch) 104 via the NW-SW (management network switch) 103. The management server 101 can set a VLAN (Virtual LAN) for each NW- SW 103, 104.
 また、NW-SW103には、管理サーバ101及びサーバ102に加えて、サーバ102上で稼動する仮想サーバ(仮想マシン)を管理する仮想サーバ用管理サーバ151が接続される。 Further, in addition to the management server 101 and the server 102, a virtual server management server 151 that manages a virtual server (virtual machine) running on the server 102 is connected to the NW-SW 103.
 NW-SW103は、管理用ネットワークを構成する。管理用ネットワークは、管理サーバ101が複数の物理サーバ102上で稼動するOS及びアプリケーションの配布並びに電源制御等の管理をするためのネットワークである。 The NW-SW 103 constitutes a management network. The management network is a network for managing the OS and applications distributed on the plurality of physical servers 102 and the power control, etc. by the management server 101.
 NW-SW104は、業務用ネットワークを構成する。業務用ネットワークは、サーバ102上の仮想サーバが実行するアプリケーションによって使用されるネットワークである。なお、NW-SW104は、WAN等に接続され、仮想計算機システムの外部のクライアント計算機と通信する。 NW-SW 104 constitutes a business network. The business network is a network used by an application executed by a virtual server on the server 102. The NW-SW 104 is connected to a WAN or the like and communicates with a client computer outside the virtual computer system.
 管理サーバ101は、FC-SW(ファイバーチャネル スイッチ)108を介してストレージサブシステム105に接続する。管理サーバ101は、ストレージサブシステム105内のLU(Logical Unit)を管理する。図1に示す例では、管理サーバ101は、N個のLU1~LUnを管理する。 The management server 101 is connected to the storage subsystem 105 via an FC-SW (Fibre Channel switch) 108. The management server 101 manages LU (Logical Unit) in the storage subsystem 105. In the example shown in FIG. 1, the management server 101 manages N LU1 to LUn.
 管理サーバ101上では、サーバ102等の計算機システムを管理する制御部110が実行される。制御部110は、管理情報群111を参照及び更新する。 On the management server 101, a control unit 110 that manages a computer system such as the server 102 is executed. The control unit 110 refers to and updates the management information group 111.
 管理対象となるサーバ102は、後述するように仮想サーバを提供する。サーバ102は、PCIex-SW107とI/Oデバイスとを介して、NW-SW103及び104に接続する。 The server 102 to be managed provides a virtual server as described later. The server 102 connects to the NW- SWs 103 and 104 via the PCIex-SW 107 and the I / O device.
 PCIex-SW107には、PCI Express規格のI/Oデバイスが接続されている。I/Oデバイスは、NIC(Network Interface Card)、HBA(Host Bus Adapter)、及びCNA(Converged Network Adapter)等のI/Oアダプタを有する。 The PCI Express-SW 107 is connected to a PCI Express standard I / O device. The I / O device has an I / O adapter such as NIC (Network Interface Card), HBA (Host Bus Adapter), and CNA (Converged Network Adapter).
 一般的に、PCIex-SW107は、マザーボード(又はサーバブレード)から外へPCI Expressのバスを延長し、さらに多数のPCI-EXpressデバイスを接続するI/Oスイッチである。ただし、PCIex-SW107を介さずに、サーバ102が直接、NW-SW103及びNW-SW104へ接続するシステム構成でもよい。 Generally, the PCIex-SW 107 is an I / O switch that extends a PCI Express bus from a motherboard (or server blade) to the outside and connects a number of PCI-Express devices. However, a system configuration in which the server 102 is directly connected to the NW-SW 103 and the NW-SW 104 without using the PCIex-SW 107 may be used.
 また、管理サーバ101は、PCIex-SW107の管理インタフェース117に接続し、複数のサーバ102及びI/Oデバイスの接続を管理する。また、サーバ102は、PCIex-SW107に接続されたI/Oデバイス(図1では、HBA)を介してストレージサブシステム105のLU1~LUnにアクセスする。 Also, the management server 101 is connected to the management interface 117 of the PCIex-SW 107, and manages the connection of the plurality of servers 102 and I / O devices. Further, the server 102 accesses LU1 to LUn of the storage subsystem 105 via an I / O device (HBA in FIG. 1) connected to the PCIex-SW 107.
 仮想サーバ用管理サーバ151は、サーバ102で実行される第1仮想化部311(図3参照)及び第2仮想サーバ314(図3参照)を管理する。具体的には、仮想サーバ管理部161が第1仮想化部311に対して、指示を行う。 The virtual server management server 151 manages the first virtualization unit 311 (see FIG. 3) and the second virtual server 314 (see FIG. 3) executed by the server 102. Specifically, the virtual server management unit 161 instructs the first virtualization unit 311.
 例えば、仮想サーバ管理部161は、第2仮想サーバ314の電源制御、並びに、第2仮想サーバ314及び第1仮想化部311のマイグレーションの指示を行う。なお、管理サーバ101に仮想サーバ管理部161が含まれていてもよい。 For example, the virtual server management unit 161 instructs power supply control of the second virtual server 314 and migration of the second virtual server 314 and the first virtualization unit 311. The management server 101 may include the virtual server management unit 161.
 図2は、実施例1の管理サーバ101の構成を示すブロック図である。 FIG. 2 is a block diagram illustrating the configuration of the management server 101 according to the first embodiment.
 管理サーバ101は、プロセッサ201、メモリ202、ディスクインタフェース203及びネットワークインタフェース204を有する。 The management server 101 includes a processor 201, a memory 202, a disk interface 203, and a network interface 204.
 プロセッサ201は、メモリ202に格納されるプログラムを実行する。メモリ202は、プロセッサ201によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ202に格納されるプログラム及び情報については後述する。 The processor 201 executes a program stored in the memory 202. The memory 202 stores a program executed by the processor 201 and information necessary for executing the program. The program and information stored in the memory 202 will be described later.
 ディスクインタフェース203は、ストレージサブシステム105にアクセスするためのインタフェースである。ネットワークインタフェース204は、IPネットワークを介して他の装置と通信するためのインタフェースである。 The disk interface 203 is an interface for accessing the storage subsystem 105. The network interface 204 is an interface for communicating with other devices via the IP network.
 なお、図2では、ディスクインタフェース203及びネットワークインタフェース204を、それぞれ一つずつ示しているが、各インタフェースは複数あってもよい。例えば、管理サーバ101は、NW-SW103と接続するネットワークインタフェースと、NW-SW104と接続するネットワークインタフェースとを有してもよい。 In FIG. 2, one disk interface 203 and one network interface 204 are shown, but a plurality of interfaces may be provided. For example, the management server 101 may have a network interface connected to the NW-SW 103 and a network interface connected to the NW-SW 104.
 なお、図示しないが、管理サーバ101は、電源制御及び各インタフェースの制御を行うBMC(Basement Management Controller)、PCIex-SW107に接続するためのPCI-Expressインタフェースを有してもよい。 Although not shown, the management server 101 may have a BMC (Basement Management Controller) that performs power control and control of each interface, and a PCI-Express interface for connection to the PCIex-SW 107.
 メモリ202には、制御部110を実現するプログラム及び管理情報群111が格納される。制御部110は、複数のプログラムモジュールから構成され、各種制御を行うための機能を提供する。具体的には、制御部110は、バッチ割当管理部211、バッチ実行部212、及び表示部213を含む。なお、制御部110は、前述した以外のプログラムモジュールも含むが、本実施例に直接関係しないプログラムモジュールについては省略している。 The memory 202 stores a program for realizing the control unit 110 and a management information group 111. The control unit 110 includes a plurality of program modules and provides functions for performing various controls. Specifically, the control unit 110 includes a batch assignment management unit 211, a batch execution unit 212, and a display unit 213. The control unit 110 includes program modules other than those described above, but omits program modules not directly related to the present embodiment.
 説明上、三つの機能部に分けているがこれに限定されない。一つの機能部を複数の機能部に分けてもよいし、複数の機能部を一つの機能部に集約してもよい。例えば、バッチ割当管理部211及びバッチ実行部212を一つの機能部としてもよい。 Although it is divided into three functional parts for explanation, it is not limited to this. One functional unit may be divided into a plurality of functional units, or a plurality of functional units may be integrated into one functional unit. For example, the batch assignment management unit 211 and the batch execution unit 212 may be a single functional unit.
 プロセッサ201は、バッチ割当管理部211、バッチ実行部212、及び表示部213の各機能部をプログラムとしてメモリ202にロードし、ロードされたプログラムを実行する。 The processor 201 loads the function units of the batch assignment management unit 211, the batch execution unit 212, and the display unit 213 as programs into the memory 202, and executes the loaded programs.
 プロセッサ201は、各機能部のプログラムにしたがって動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサは、バッチ割当管理部211を実現するプログラムにしたがって動作することによってバッチ割当管理部211として機能する。他のプログラムについても同様である。さらに、プロセッサ201は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。 The processor 201 operates as a functional unit that realizes a predetermined function by operating according to a program of each functional unit. For example, the processor functions as the batch assignment management unit 211 by operating according to a program that implements the batch assignment management unit 211. The same applies to other programs. Furthermore, the processor 201 also operates as a functional unit that implements each of a plurality of processes executed by each program.
 バッチ割当管理部211は、バッチ処理に対するリソースの割当を管理する。具体的には、バッチ割当管理部211は、計算機システムの使用状態及びバッチ処理のポリシに基づいて、バッチ処理の実行計画を生成する。バッチ実行部212は、バッチ割当管理部211によって生成された実行計画に基づいて、バッチ処理の実行を制御する。表示部213は、各種情報を表示する。 The batch allocation management unit 211 manages resource allocation for batch processing. Specifically, the batch allocation management unit 211 generates an execution plan for batch processing based on the usage status of the computer system and the policy for batch processing. The batch execution unit 212 controls the execution of batch processing based on the execution plan generated by the batch assignment management unit 211. The display unit 213 displays various information.
 管理情報群111は、システム構成情報221、バッチ処理管理情報222、ジョブ管理情報223、予算情報224、空きリソース量履歴情報225、料金履歴情報226、ポリシ管理情報227、変更方法定義情報228、及び実行計画管理情報229を含む。なお、管理情報群111は、テナントを用いて提供される業務の設定情報等その他の情報を含むが、本実施例の処理において直接使用されない情報については省略している。 The management information group 111 includes system configuration information 221, batch processing management information 222, job management information 223, budget information 224, free resource amount history information 225, fee history information 226, policy management information 227, change method definition information 228, and Execution plan management information 229 is included. The management information group 111 includes other information such as business setting information provided using a tenant, but information that is not directly used in the processing of this embodiment is omitted.
 システム構成情報221は、テナントの構成を管理する情報である。システム構成情報221の詳細は、図5A及び図5Bを用いて説明する。バッチ処理管理情報222は、各テナントにおいて実行されるバッチ処理を管理する情報である。バッチ処理管理情報222の詳細は、図6を用いて説明する。ジョブ管理情報223は、一つのバッチ処理に含まれるジョブを管理する情報である。ジョブ管理情報223の詳細は、図7を用いて説明する。 System configuration information 221 is information for managing the tenant configuration. Details of the system configuration information 221 will be described with reference to FIGS. 5A and 5B. The batch processing management information 222 is information for managing batch processing executed in each tenant. Details of the batch processing management information 222 will be described with reference to FIG. The job management information 223 is information for managing jobs included in one batch process. Details of the job management information 223 will be described with reference to FIG.
 予算情報224は、一つ以上のテナントを使用するユーザの予算を管理する。予算情報224の詳細は、図8を用いて説明する。空きリソース量履歴情報225は、空きリソースのリソース量に関する履歴情報である。空きリソース量履歴情報225の詳細は、図9A及び図9Bを用いて説明する。料金履歴情報226は、空きリソースの利用料金に関する履歴情報である。料金履歴情報226の詳細は、図10A及び図10Bを用いて説明する。 Budget information 224 manages the budget of users who use one or more tenants. Details of the budget information 224 will be described with reference to FIG. The free resource amount history information 225 is history information related to the resource amount of free resources. Details of the free resource amount history information 225 will be described with reference to FIGS. 9A and 9B. The fee history information 226 is history information related to the usage fee of the free resource. Details of the charge history information 226 will be described with reference to FIGS. 10A and 10B.
 ポリシ管理情報227は、各バッチ処理に対するリソースの割当方針を示す情報である。ポリシ管理情報227の詳細は、図11を用いて説明する。変更方法定義情報228は、バッチ処理に対するリソース割当の変更方法の定義情報である。変更方法定義情報228の詳細は、図12を用いて説明する。 Policy management information 227 is information indicating a resource allocation policy for each batch process. Details of the policy management information 227 will be described with reference to FIG. The change method definition information 228 is definition information of a resource allocation change method for batch processing. Details of the change method definition information 228 will be described with reference to FIG.
 実行計画管理情報229は、バッチ割当管理部211によって生成されたバッチ処理の実行計画を管理する情報である。なお、実行計画には、バッチ処理の開始時間、予約するリソース量、及び予約するリソースの種別等に関する情報が含まれる。バッチ実行部212は、実行計画管理情報229に基づいてバッチ処理を実行する。実行計画管理情報229の詳細は、図13を用いて説明する。 The execution plan management information 229 is information for managing an execution plan for batch processing generated by the batch assignment management unit 211. The execution plan includes information related to the start time of batch processing, the amount of resources to be reserved, the type of resources to be reserved, and the like. The batch execution unit 212 executes batch processing based on the execution plan management information 229. Details of the execution plan management information 229 will be described with reference to FIG.
 図3は、実施例1のIaaS(Infrastructure as a Services)を実現するサーバ102のハードウェア構成及びソフトウェア構成例を示すブロック図である。図3では、多段仮想計算機を構成可能なソフトウェア群の一例を示す。なお、仮想化基盤がネストされてもよいし、ネストされていなくてもよい。 FIG. 3 is a block diagram illustrating a hardware configuration and a software configuration example of the server 102 that realizes IaaS (Infrastructure as a Services) of the first embodiment. FIG. 3 shows an example of a software group that can configure a multistage virtual machine. Note that the virtualization infrastructure may or may not be nested.
 まず、サーバ102のハードウェア構成について説明する。サーバ102は、プロセッサ301、メモリ302、ネットワークインタフェース303、ディスクインタフェース304、BMC305、及びPCI-Expressインタフェース306を有する。 First, the hardware configuration of the server 102 will be described. The server 102 includes a processor 301, a memory 302, a network interface 303, a disk interface 304, a BMC 305, and a PCI-Express interface 306.
 プロセッサ301は、メモリ302に格納されるプログラムを実行する。メモリ302は、プロセッサ301によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。メモリ302に格納されるプログラム及び情報については後述する。 The processor 301 executes a program stored in the memory 302. The memory 302 stores a program executed by the processor 301 and information necessary for executing the program. The program and information stored in the memory 302 will be described later.
 ネットワークインタフェース303は、IPネットワークを介して他の装置と通信するためのインタフェースである。ディスクインタフェース304は、ストレージサブシステム105にアクセスするためのインタフェースである。BMC305は、電源制御及び各インタフェースの制御を行う。PCI-Expressインタフェース306は、PCIex-SW107に接続するためのインタフェースである。 The network interface 303 is an interface for communicating with other devices via the IP network. The disk interface 304 is an interface for accessing the storage subsystem 105. The BMC 305 performs power supply control and control of each interface. The PCI-Express interface 306 is an interface for connecting to the PCIex-SW 107.
 なお、図3では、ネットワークインタフェース303、ディスクインタフェース304及びPCI-Expressインタフェース306を、それぞれ一つずつ示しているが、各インタフェースは複数あってもよい。例えば、サーバ102は、NW-SW103と接続するネットワークインタフェースと、NW-SW104と接続するネットワークインタフェースとを有してもよい。 In FIG. 3, one network interface 303, one disk interface 304, and one PCI-Express interface 306 are shown, but a plurality of interfaces may be provided. For example, the server 102 may have a network interface connected to the NW-SW 103 and a network interface connected to the NW-SW 104.
 メモリ302は、第1仮想化部311及び第2仮想化部313を実現するプログラムを格納し、また、第1仮想サーバ312(又は論理区画)及び第2仮想サーバ314の実体であるデータ群を格納する。 The memory 302 stores a program for realizing the first virtualization unit 311 and the second virtualization unit 313, and stores a data group that is an entity of the first virtual server 312 (or logical partition) and the second virtual server 314. Store.
 第1仮想化部311は、複数の第1仮想サーバ312(又は論理区画)に物理的なリソースを割り当てる。第2仮想化部313は、複数の第2仮想サーバ314に第1仮想サーバ312が有するリソースを割り当てる。 The first virtualization unit 311 allocates physical resources to a plurality of first virtual servers 312 (or logical partitions). The second virtualization unit 313 allocates resources of the first virtual server 312 to the plurality of second virtual servers 314.
 サーバ102のリソースを仮想化する第1仮想化部311は、メモリ302内では下位層の仮想化部として配備され、上位層の仮想化部である複数の第2仮想化部313にリソース(第1仮想サーバ312)を提供する。また、第2仮想化部313は、複数の第2仮想サーバ314を生成し、メモリ302に格納する。また、第1仮想化部311は、制御用インタフェースとして仮想化部管理用インタフェース351を備える。なお、図示はしないが第2仮想化部313も制御用インタフェースとして仮想化部管理用インタフェースを備える。 The first virtualization unit 311 that virtualizes the resources of the server 102 is deployed as a lower layer virtualization unit in the memory 302, and the resource (first cluster) is provided to the plurality of second virtualization units 313 that are upper layer virtualization units. 1 virtual server 312). The second virtualization unit 313 generates a plurality of second virtual servers 314 and stores them in the memory 302. The first virtualization unit 311 includes a virtualization unit management interface 351 as a control interface. Although not shown, the second virtualization unit 313 also includes a virtualization unit management interface as a control interface.
 第1仮想化部311は、サーバ102(又はブレードサーバ)のリソースを仮想化し、複数の第1仮想サーバ312に仮想化されたリソースを割り当てることによって、複数の第1仮想サーバ312を生成する。第1仮想化部311は、例えば、ハイパバイザ又はVMM(Virtual Machine Monitor)等を用いて実現できる。 The first virtualization unit 311 generates a plurality of first virtual servers 312 by virtualizing resources of the server 102 (or blade server) and allocating the virtualized resources to the plurality of first virtual servers 312. The first virtualization unit 311 can be realized using, for example, a hypervisor or a VMM (Virtual Machine Monitor).
 第2仮想化部313は、第1仮想化部311が提供するリソース(第1仮想サーバ312)をさらに仮想化し、複数の第2仮想サーバ314に仮想化された第1仮想サーバ312のリソースを割り当てることによって、複数の第2仮想サーバ314を生成する。第2仮想化部313は、例えば、ハイパバイザ又はVMM等を用いて実現できる。 The second virtualization unit 313 further virtualizes the resource (first virtual server 312) provided by the first virtualization unit 311, and uses the resources of the first virtual server 312 virtualized by the plurality of second virtual servers 314. By assigning, a plurality of second virtual servers 314 are generated. The second virtualization unit 313 can be realized using, for example, a hypervisor or a VMM.
 第1仮想サーバ312は、第1仮想化部311が提供する仮想デバイス(又は論理デバイス)から構成される。本実施例の仮想デバイスは、仮想プロセッサ321、仮想メモリ322、仮想ネットワークインタフェース323、仮想ディスクインタフェース324、仮想BMC325、及び仮想PCIexインタフェース326を含む。前述の仮想デバイスは、第1仮想化部311が各第1仮想サーバ312へ割り当てたものである。 The first virtual server 312 includes a virtual device (or logical device) provided by the first virtualization unit 311. The virtual device of the present embodiment includes a virtual processor 321, a virtual memory 322, a virtual network interface 323, a virtual disk interface 324, a virtual BMC 325, and a virtual PCIex interface 326. The virtual device described above is one that is assigned to each first virtual server 312 by the first virtualization unit 311.
 また、第2仮想サーバ314も同様の仮想デバイスから構成される。なお、第2仮想サーバ314に提供される仮想デバイスは、第1仮想化部311が複数の第2仮想化部313に割り当てたリソース(第1仮想サーバ312)を、第2仮想化部313が各第2仮想サーバ314へ割り当てることによって実現される。 Further, the second virtual server 314 is also composed of similar virtual devices. Note that the virtual device provided to the second virtual server 314 is the resource (first virtual server 312) allocated by the first virtualization unit 311 to the plurality of second virtualization units 313 and the second virtualization unit 313. This is realized by allocating to each second virtual server 314.
 仮想メモリ322には、OS331が格納される。OS331は、第1仮想サーバ312又は第2仮想サーバ314に提供される仮想デバイスを管理する。OS331上では、アプリケーション341が実行される。また、OS331上で稼働する管理プログラム342によって、障害検知、仮想サーバの電源制御、及びインベントリ管理等の機能が実現される。 The OS 331 is stored in the virtual memory 322. The OS 331 manages virtual devices provided to the first virtual server 312 or the second virtual server 314. An application 341 is executed on the OS 331. The management program 342 running on the OS 331 realizes functions such as failure detection, virtual server power control, and inventory management.
 第1仮想化部311は、サーバ102の物理的なリソース及び第2仮想化部313に割り当てるリソースの対応付けを管理する。本実施例では、第1仮想化部311が第2仮想化部313へ第1仮想サーバ312のリソースを割り当てる例を示したが、第1仮想化部311が物理サーバ102のリソースを第2仮想化部313に直接割り当てるようにしてもよい。この場合、第1仮想サーバ312を省略することができる。 The first virtualization unit 311 manages the association between the physical resources of the server 102 and the resources allocated to the second virtualization unit 313. In the present embodiment, the example in which the first virtualization unit 311 allocates the resources of the first virtual server 312 to the second virtualization unit 313 has been described. However, the first virtualization unit 311 allocates the resources of the physical server 102 to the second virtual unit 313. You may make it allocate directly to the conversion part 313. In this case, the first virtual server 312 can be omitted.
 第1仮想化部311は、複数の第2仮想化部313に対して割り当てるサーバ102のリソースを動的に変更し、また、当該リソースの割当を解除することができる。また、第1仮想化部311は、第2仮想化部313に割り当てたリソースのリソース量、構成情報、及び稼働履歴を保持する。 The first virtualization unit 311 can dynamically change the resource of the server 102 to be allocated to the plurality of second virtualization units 313 and can cancel the allocation of the resource. The first virtualization unit 311 holds the resource amount, configuration information, and operation history of the resources allocated to the second virtualization unit 313.
 第2仮想化部313は、第1仮想サーバ312が有するリソース及び第2仮想サーバ314に割り当てるリソースの対応付けを管理する。第2仮想化部313は、複数の第2仮想サーバ314に対して割り当てる第1仮想サーバ312のリソースを動的に変更し、また、当該リソースの割当を解除することができる。また、第2仮想化部313は、第2仮想サーバ314に割り当てたリソースのリソース量、構成情報、及び稼働履歴を保持する。 The second virtualization unit 313 manages the association between the resources of the first virtual server 312 and the resources allocated to the second virtual server 314. The second virtualization unit 313 can dynamically change the resources of the first virtual server 312 to be allocated to the plurality of second virtual servers 314 and can cancel the allocation of the resources. Further, the second virtualization unit 313 holds the resource amount, configuration information, and operation history of the resources allocated to the second virtual server 314.
 本実施例では、第1仮想化部311を第1層とし、第2仮想化部313を第2層とし、OS331を第3層とする。そして、第3層側を上位層とし、第1層側を下位層とする。ただし、多段構成にならない場合は第1仮想化部311が第1層であり、OS331がその上位層で稼働する。 In this embodiment, the first virtualization unit 311 is the first layer, the second virtualization unit 313 is the second layer, and the OS 331 is the third layer. The third layer side is the upper layer, and the first layer side is the lower layer. However, if the multi-stage configuration is not used, the first virtualization unit 311 is the first layer, and the OS 331 operates in the upper layer.
 図4は、実施例1のPaaS(Platform as a Services)を実現するサーバ102のハードウェア構成及びソフトウェア構成例を示すブロック図である。 FIG. 4 is a block diagram illustrating a hardware configuration and a software configuration example of the server 102 that realizes PaaS (Platform as a Services) of the first embodiment.
 サーバ102のハードウェア構成は、図3に示すサーバ102のハードウェア構成と同一であるため説明を省略する。 The hardware configuration of the server 102 is the same as the hardware configuration of the server 102 shown in FIG.
 メモリ302は、OS401、アプリケーション402及び監視部403を実現するプログラムを格納する。アプリケーション402及び監視部403は、OS401上で稼働する。なお、メモリ302は、第1仮想化部311等を実現するプログラムを格納していてもよい。 The memory 302 stores a program for realizing the OS 401, the application 402, and the monitoring unit 403. The application 402 and the monitoring unit 403 operate on the OS 401. Note that the memory 302 may store a program for realizing the first virtualization unit 311 and the like.
 本実施例では、ユーザは、図3又は図4に示すようなサーバ102を一つ以上用いて所定の業務を実行するための仮想基板(テナント)を構築する。ユーザは、テナントを用いて複数のバッチ処理を実行する。また、ユーザは、テナントに使用するリソース量に応じてクラウドサービスの提供者に料金を支払う。 In this embodiment, the user constructs a virtual board (tenant) for executing a predetermined task using one or more servers 102 as shown in FIG. 3 or FIG. The user executes a plurality of batch processes using a tenant. In addition, the user pays the cloud service provider according to the amount of resources used by the tenant.
 従来、空きリソースのリソース量及び利用料金が様々な要因で変動する計算機システムでは、ユーザは空きリソースのリソース量及び利用料金を予測できないため、バッチ処理に対しては、料金が固定されたリソースが割り当てられるようにバッチ処理の設定が行われている。そのため、バッチ処理にかかる計算機リソースの利用料金は固定された料金となる。 Conventionally, in a computer system in which the resource amount and usage fee of a free resource fluctuate due to various factors, a user cannot predict the resource amount and usage fee of a free resource. Batch processing is set to be assigned. Therefore, the computer resource usage fee for batch processing is a fixed fee.
 以下の説明では、利用時間にかかわらず、利用料金が一定のリソースを価格固定リソースとも記載する。また、利用料金が利用時間に応じて変動するリソースを価格変動リソースとも記載する。 In the following explanation, a resource with a fixed usage charge is described as a fixed price resource regardless of the usage time. Also, a resource whose usage fee varies according to usage time is also referred to as a price variation resource.
 本実施例の管理サーバ101は、価格変動リソースのリソース量及び利用料金の予測情報に基づいて、ユーザのポリシを満たすようにバッチ処理に割り当てるリソースを定義する実行計画を生成する。これによって、バッチ処理に対するリソースの割当が動的に変更される。さらに、管理サーバ101は、当該バッチ処理に関連する追加のバッチ処理を提示し、また、追加のバッチ処理についても実行計画を生成する。 The management server 101 according to the present embodiment generates an execution plan that defines resources to be allocated to batch processing so as to satisfy the user policy based on the resource amount of the price fluctuation resource and the usage charge prediction information. As a result, resource allocation for batch processing is dynamically changed. Furthermore, the management server 101 presents an additional batch process related to the batch process, and also generates an execution plan for the additional batch process.
 図5A及び図5Bは、実施例1のシステム構成情報221の一例を示す図である。 5A and 5B are diagrams illustrating an example of the system configuration information 221 according to the first embodiment.
 システム構成情報221は、識別子501、テナントID502、システムID503、ハードウェア特性504、及びソフトウェア特性505を含む。 The system configuration information 221 includes an identifier 501, a tenant ID 502, a system ID 503, a hardware characteristic 504, and a software characteristic 505.
 識別子501は、システム構成情報221のエントリを一意に識別するための識別子である。本実施例では、自動的に、識別子501に昇順の値が設定されるものとする。なお、システム構成情報221のいずれかのカラムの値、又は、複数のカラムの値を組み合わせた値を、エントリの識別子として用いてもよい。この場合、識別子501を省略してもよい。 The identifier 501 is an identifier for uniquely identifying an entry of the system configuration information 221. In this embodiment, it is assumed that an ascending value is automatically set in the identifier 501. A value of any column of the system configuration information 221 or a value obtained by combining values of a plurality of columns may be used as the identifier of the entry. In this case, the identifier 501 may be omitted.
 テナントID502は、テナントを一意に識別するための識別子である。本実施例では、一ユーザに対して一つ以上のテナントが存在するものとする。 The tenant ID 502 is an identifier for uniquely identifying a tenant. In this embodiment, it is assumed that one or more tenants exist for one user.
 システムID503は、テナントを構成するデバイスを識別するための識別子である。テナントにサーバ102がデバイスとして割り当てられている場合には、サーバ102の識別子がシステムID503に格納され、テナントに第1仮想サーバ312又は第2仮想サーバ314がデバイスとして割り当てられている場合には、仮想サーバの識別子がシステムID503に設定される。 The system ID 503 is an identifier for identifying devices that constitute a tenant. When the server 102 is assigned as a device to the tenant, the identifier of the server 102 is stored in the system ID 503, and when the first virtual server 312 or the second virtual server 314 is assigned as a device to the tenant, The identifier of the virtual server is set in the system ID 503.
 ハードウェア特性504は、システムID503に対応するデバイスのハードウェアの特性を示す。例えば、HBA、NIC、CNAなどの種別、HBAの識別子であるWWN、NICの識別子であるMACアドレス、性能情報、アーキテクチャ情報、世代情報、型番、サポート機能、ベンダ種別、ファームウェア情報、ドライバ情報、I/F情報、スイッチ情報、RAID情報、仮想化種別及び仮想化対応情報などが格納される。 Hardware characteristics 504 indicate the hardware characteristics of the device corresponding to the system ID 503. For example, HBA, NIC, CNA, etc., HBA identifier WWN, NIC identifier MAC address, performance information, architecture information, generation information, model number, support function, vendor type, firmware information, driver information, I / F information, switch information, RAID information, virtualization type, virtualization correspondence information, and the like are stored.
 ソフトウェア特性505は、システムID503に対応するデバイスのソフトウェアの特性を示す。例えば、OS種別、OSのバージョン、ミドルウェア種別、ミドルウェアのバージョン、アプリケーションの情報、及び管理プログラムの情報等が格納される。 Software characteristic 505 indicates the software characteristic of the device corresponding to the system ID 503. For example, OS type, OS version, middleware type, middleware version, application information, management program information, and the like are stored.
 なお、システム構成情報221の各カラムに格納される情報は一例であって、本発明を限定するものではない。 The information stored in each column of the system configuration information 221 is an example and does not limit the present invention.
 図6は、実施例1のバッチ処理管理情報222の一例を示す図である。 FIG. 6 is a diagram illustrating an example of the batch processing management information 222 according to the first embodiment.
 バッチ処理管理情報222は、テナントID601、ジョブネットID602、種別603、開始時間604、目標時間605、インスタンス数606、インスタンス種別607、業務種別608、実行時間609、及び料金610を含む。 The batch processing management information 222 includes a tenant ID 601, job net ID 602, type 603, start time 604, target time 605, instance number 606, instance type 607, business type 608, execution time 609, and fee 610.
 テナントID601は、テナントID502と同一のものである。ジョブネットID602は、テナント内で実行されるバッチ処理を一意に識別するための識別子である。バッチ処理は、処理の最小単位となるジョブを複数含む。ジョブネットは、複数のジョブを含み、各ジョブが少なくとも一つのジョブに接続されたものをいう。本実施例では、バッチ処理はジョブネットとして管理される。 The tenant ID 601 is the same as the tenant ID 502. The job net ID 602 is an identifier for uniquely identifying batch processing executed in the tenant. The batch processing includes a plurality of jobs that are the minimum unit of processing. A job net includes a plurality of jobs, and each job is connected to at least one job. In this embodiment, batch processing is managed as a job net.
 種別603は、バッチ処理の種別である。種別603には「通常」及び「追加」の少なくともいずれかが格納される。「通常」は、ユーザによって計画されたバッチ処理を示す。「追加」は、後述するバッチ処理の実行計画生成処理によって新たに追加されたバッチ処理であることを示す。以下の説明では、ユーザによって計画されたバッチ処理を主バッチ処理と記載し、後述する実行計画生成処理及び実行計画更新処理において追加されるバッチ処理を追加バッチ処理と記載する。開始時間604は、バッチ処理の開始時間である。目標時間605は、価格固定リソースのみを使用した場合のバッチ処理の完了時間である。 Type 603 is a type of batch processing. The type 603 stores at least one of “normal” and “addition”. “Normal” indicates a batch process planned by the user. “Addition” indicates a batch process newly added by an execution plan generation process of a batch process to be described later. In the following description, a batch process planned by the user is described as a main batch process, and a batch process added in an execution plan generation process and an execution plan update process described later is described as an additional batch process. The start time 604 is the start time of batch processing. The target time 605 is a batch processing completion time when only the fixed price resource is used.
 インスタンス数606は、バッチ処理に割り当てられるインスタンスの数を示す。ここで、インスタンスはサーバ102、第1仮想サーバ312、及び第2仮想サーバ314等のジョブを実行するデバイスを示す。なお、主バッチ処理のインスタンス数606には、価格固定リソースのインスタンスの数が設定される。すなわち、初期設定では、主バッチ処理には、価格固定リソースが予約されるように値が設定される。インスタンス種別607は、インスタンスの種別である。本実施例では、インスタンスの種別毎に利用料金が設定されているものとする。 The instance number 606 indicates the number of instances allocated to batch processing. Here, the instance indicates a device that executes jobs such as the server 102, the first virtual server 312, and the second virtual server 314. Note that the number of instances of the fixed price resource is set in the instance number 606 of the main batch process. That is, in the initial setting, a value is set in the main batch process so that a fixed price resource is reserved. The instance type 607 is an instance type. In this embodiment, it is assumed that a usage fee is set for each instance type.
 業務種別608は、バッチ処理の種別である。本実施例では、業務種別608には、バッチ処理において実行されるアプリケーションの名称等が格納される。実行時間609は、バッチ処理の実行時間である。料金610は、バッチ処理によって使用されるリソースの利用料金である。料金610には、インスタンス数606に示す数のインスタンスを、実行時間609に示す時間だけ使用した場合の利用料金が格納される。 The business type 608 is a type of batch processing. In this embodiment, the business type 608 stores the name of an application executed in batch processing. The execution time 609 is the execution time of batch processing. The fee 610 is a usage fee for resources used by batch processing. The fee 610 stores a usage fee when the number of instances indicated by the instance number 606 is used for the time indicated by the execution time 609.
 図7は、実施例1のジョブ管理情報223の一例を示す図である。一つのバッチ処理(ジョブネット)に対して一つのジョブ管理情報223が存在する。 FIG. 7 is a diagram illustrating an example of the job management information 223 according to the first embodiment. One job management information 223 exists for one batch process (job net).
 ジョブ管理情報223は、ジョブID701、並列度702、最大並列度703、並列化時間704、要求性能705、実行時間706、及び出力ジョブID707を含む。 The job management information 223 includes a job ID 701, a parallel degree 702, a maximum parallel degree 703, a parallelization time 704, a required performance 705, an execution time 706, and an output job ID 707.
 ジョブID701は、バッチ処理(ジョブネット)に含まれるジョブを一意に識別する識別子である。 The job ID 701 is an identifier that uniquely identifies a job included in a batch process (job net).
 並列度702は、ジョブの並列実行数である。並列実行されるジョブは、並列度702の値に一致するインスタンス(リソース)が割り当てられる。例えば、図7のジョブID701が「ジョブ1」であるジョブの並列実行数は「2」である。したがって、当該ジョブには二つのインスタンスが割り当てられ、二つのインスタンスが並列して同一のジョブを実行する。最大並列度703は、ジョブの並列実行数の最大値である。後述するように、並列度702の値が最大並列度703の値より小さい場合、リソースの追加が可能なジョブであることを示す。 The degree of parallelism 702 is the number of jobs executed in parallel. An instance (resource) matching the value of the degree of parallelism 702 is assigned to the job executed in parallel. For example, the number of parallel executions of a job whose job ID 701 is “job 1” in FIG. 7 is “2”. Therefore, two instances are assigned to the job, and the two instances execute the same job in parallel. The maximum parallelism 703 is the maximum value of the number of jobs executed in parallel. As will be described later, when the value of the degree of parallelism 702 is smaller than the value of the maximum degree of parallelism 703, it indicates that the job can add resources.
 並列化時間704は、ジョブを並列実行するために必要となる処理時間である。要求性能705は、ジョブを実行するインスタンスに要求される性能、すなわち、リソース量である。本実施例では、リソースの割当を変更する方法として、インスタンス数を増減する方法、及び、インスタンスに割り当てられるリソースを増減する方法の二つの方法が存在する。実行時間706は、ジョブの実行時間である。 The parallelization time 704 is a processing time required for executing jobs in parallel. The required performance 705 is performance required for an instance executing a job, that is, a resource amount. In this embodiment, there are two methods for changing the resource allocation: a method for increasing / decreasing the number of instances, and a method for increasing / decreasing the resources allocated to the instances. The execution time 706 is a job execution time.
 出力ジョブID707は、ジョブID701に対応するジョブの処理結果が出力されるジョブの識別子である。管理サーバ101は、出力ジョブID707に基づいて、ジョブネット内のジョブの接続関係を把握することができる。なお、処理結果を他のジョブに出力しないジョブの場合、出力ジョブID707は空欄となる。例えば、ジョブネットの最後に実行されるジョブの出力ジョブID707は空欄となる。 The output job ID 707 is an identifier of a job to which a job processing result corresponding to the job ID 701 is output. Based on the output job ID 707, the management server 101 can grasp the connection relationship of jobs in the job net. In the case of a job that does not output the processing result to another job, the output job ID 707 is blank. For example, the output job ID 707 of the job executed at the end of the job net is blank.
 本実施例では、管理サーバ101は、ジョブ管理情報223をジョブの初期設定情報として保持する。これによって、リソースの割当変更前後の実行時間、性能、及び価格等を比較できる。 In this embodiment, the management server 101 holds the job management information 223 as job initial setting information. This makes it possible to compare the execution time before and after the resource allocation change, performance, price, and the like.
 バッチ処理管理情報222及びジョブ管理情報223は、ユーザがテナントの構築する場合等に入力された情報から生成される情報であるものとする。なお、管理サーバ101は、現在のテナントの設定情報等に基づいてバッチ処理管理情報222及びジョブ管理情報223を生成してもよい。 The batch process management information 222 and the job management information 223 are information generated from information input when the user constructs a tenant. The management server 101 may generate the batch processing management information 222 and the job management information 223 based on the current tenant setting information and the like.
 図8は、実施例1の予算情報224の一例を示す図である。 FIG. 8 is a diagram illustrating an example of the budget information 224 according to the first embodiment.
 予算情報224は、テナントID801、日付802、及び予算803を含む。 Budget information 224 includes tenant ID 801, date 802, and budget 803.
 テナントID801は、テナントID502と同一のものである。一つのテナントのエントリは、日付が異なる予算の行を含む。日付802は、設定された予算が適用される日付である。予算803は、日付802で指定された日付において適用される予算である。なお、ユーザ単位で予算が管理されてもよい。 The tenant ID 801 is the same as the tenant ID 502. One tenant entry includes budget rows with different dates. A date 802 is a date on which the set budget is applied. A budget 803 is a budget applied on the date designated by the date 802. The budget may be managed for each user.
 図8に示す予算情報224には、各テナントの一か月単位の予算が設定されている。したがって、日付802には、年、月が設定される。予算803には、一か月の運用予算が設定される。なお、予算の設定期間は適宜変更することができる。 In the budget information 224 shown in FIG. 8, a monthly budget for each tenant is set. Therefore, year and month are set for the date 802. In the budget 803, an operation budget for one month is set. Note that the budget setting period can be changed as appropriate.
 予算情報224は、ユーザがテナントを構築する場合等に入力された情報から生成される情報であるものとする。なお、管理サーバ101は、ユーザからの要求に基づいて、適宜、予算情報224を更新できる。 The budget information 224 is information generated from information input when a user constructs a tenant or the like. Note that the management server 101 can appropriately update the budget information 224 based on a request from the user.
 図9A及び図9Bは、実施例1の空きリソース量履歴情報225の一例を示す図である。本実施例の空きリソース量履歴情報225は、第1リソース量履歴情報900及び第2リソース量履歴情報910を含む。 9A and 9B are diagrams illustrating an example of the free resource amount history information 225 according to the first embodiment. The free resource amount history information 225 of the present embodiment includes first resource amount history information 900 and second resource amount history information 910.
 第1リソース量履歴情報900は、価格変動リソースとして提供される未使用のインスタンスの数の履歴情報である。第1リソース量履歴情報900は、日付901、及び複数のインスタンスの種別のカラムを含む。 The first resource amount history information 900 is history information on the number of unused instances provided as price fluctuation resources. The first resource amount history information 900 includes a date 901 and columns of a plurality of instance types.
 日付901は、履歴が取得された日付である。本実施例では、六つのインスタンスの種別が存在し、第1リソース量履歴情報900には、それぞれのインスタンスの種別に対応するカラムが含まれる。具体的には、第1リソース量履歴情報900は、Physical Server902、VM xlarge903、VM large904、VM medium905、VM small906、及びVM tiny907を含む。各カラムには、インスタンスの種別に対応する未使用のインスタンスの数が格納される。 The date 901 is the date when the history is acquired. In this embodiment, there are six types of instances, and the first resource amount history information 900 includes columns corresponding to the types of instances. Specifically, the first resource amount history information 900 includes Physical Server 902, VM xlarge 903, VM large 904, VM medium 905, VM small 906, and VM tiny 907. Each column stores the number of unused instances corresponding to the instance type.
 第2リソース量履歴情報910は、価格変動リソースとして提供されるインスタンスにリソースを割り当てるデバイスの空きリソース量の履歴情報である。第2リソース量履歴情報910は、日付911、インスタンスタイプ912、システムID913、プロセッサ914、メモリ915、及びIOPS916を含む。 The second resource amount history information 910 is history information on the amount of free resources of a device that allocates resources to instances provided as price fluctuation resources. The second resource amount history information 910 includes a date 911, an instance type 912, a system ID 913, a processor 914, a memory 915, and an IOPS 916.
 日付911は日付901と同一のものである。インスタンスタイプ912は、インスタンスの種別である。システムID913は、価格変動リソースに含まれるインスタンスの識別子である。システムID913には、システムID503と同様の識別子が格納される。 Date 911 is the same as date 901. The instance type 912 is an instance type. The system ID 913 is an identifier of an instance included in the price fluctuation resource. The system ID 913 stores an identifier similar to the system ID 503.
 プロセッサ914、メモリ915、及びIOPS916は、インスタンスの空きリソース量である。プロセッサ914は、使用されていないプロセッサの数を格納する。メモリ915は、使用されていないメモリの容量を格納する。IOPS916は、インスタンスのI/O性能を示すIOPS(I/O per Second)である。IOPSは空きリソースではないが、リソース割当の指標の一つとして用いられる。そのため、第2リソース量履歴情報910は各インスタンスのIOPSを含む。 The processor 914, the memory 915, and the IOPS 916 are free resource amounts of the instance. The processor 914 stores the number of processors that are not used. The memory 915 stores the capacity of the memory that is not used. The IOPS 916 is an IOPS (I / O per Second) indicating the I / O performance of the instance. The IOPS is not a free resource, but is used as one of resource allocation indexes. Therefore, the second resource amount history information 910 includes the IOPS of each instance.
 図10A及び図10Bは、実施例1の料金履歴情報226の一例を示す図である。本実施例の料金履歴情報226は、第1料金履歴情報1000及び第2料金履歴情報1010を含む。 10A and 10B are diagrams illustrating an example of the charge history information 226 according to the first embodiment. The fee history information 226 of the present embodiment includes first fee history information 1000 and second fee history information 1010.
 第1料金履歴情報1000は、価格変動リソースとして提供されるインスタンスの種別毎の利用料金の履歴情報である。第1料金履歴情報1000は、日付1001、及び複数のインスタンスの種別のカラムを含む。 The first fee history information 1000 is usage fee history information for each instance type provided as a price fluctuation resource. The first fee history information 1000 includes a date 1001 and a column of a plurality of instance types.
 日付1001は、日付901と同一のものである。第1料金履歴情報1000は、インスタンスの種別のカラムとして、Physical Server1002、VM xlarge1003、VM large1004、VM medium1005、VM small1006、及びVM tiny1007を含む。各カラムには、インスタンスの種別に対応する一つのインスタンスの利用料金が格納される。 The date 1001 is the same as the date 901. The first fee history information 1000 includes a physical server 1002, a VM xlarge 1003, a VM large 1004, a VM medium 1005, a VM small 1006, and a VM tiny 1007 as columns of instance types. Each column stores a usage fee for one instance corresponding to the instance type.
 第2料金履歴情報1010は、価格変動リソースとして提供されるインスタンスにリソースを割り当てるデバイスの空きリソースの利用料金の履歴情報である。第2料金履歴情報1010は、日付1011、インスタンスタイプ1012、料金(プロセッサ)1013、料金(メモリ)1014、及び料金(IOPS)1015を含む。 The second fee history information 1010 is the history information of the usage fee of the free resource of the device that allocates the resource to the instance provided as the price fluctuation resource. The second fee history information 1010 includes a date 1011, an instance type 1012, a fee (processor) 1013, a fee (memory) 1014, and a fee (IOPS) 1015.
 日付1011は、日付1001と同一のものである。インスタンスタイプ1012は、インスタンスタイプ912と同一のものである、第2料金履歴情報1010では、インスタンスの種別毎に利用料金の履歴が管理される。料金(プロセッサ)1013は、インスタンスタイプ1012に対応するインスタンスのプロセッサの利用料金を格納する。料金(メモリ)1014は、インスタンスタイプ1012に対応するインスタンスのメモリの利用料金を格納する。料金(IOPS)1015は、インスタンスタイプ1012に対応するインスタンスのIOPSの利用料金を格納する。 The date 1011 is the same as the date 1001. The instance type 1012 is the same as the instance type 912. In the second fee history information 1010, a usage fee history is managed for each instance type. The fee (processor) 1013 stores the usage fee of the processor of the instance corresponding to the instance type 1012. The fee (memory) 1014 stores a memory usage fee of the instance corresponding to the instance type 1012. The charge (IOPS) 1015 stores the IOPS usage charge of the instance corresponding to the instance type 1012.
 図11は、実施例1のポリシ管理情報227の一例を示す図である。 FIG. 11 is a diagram illustrating an example of the policy management information 227 according to the first embodiment.
 ポリシ管理情報227は、ユーザによって予め設定されたポリシを管理する。例えば、ユーザは、バッチ処理を登録する場合に、当該バッチ処理(ジョブネット)のポリシを設定する。なお、ポリシを設定するタイミングはこれに限定されない。ポリシ管理情報227は、ジョブネットID1101、ポリシID1102、ポリシ種別1103、変更方法1104、バッチ処理追加条件1105、及び選択フラグ1106を含む。 Policy management information 227 manages a policy preset by the user. For example, when registering a batch process, the user sets a policy for the batch process (job net). The timing for setting the policy is not limited to this. The policy management information 227 includes a job net ID 1101, a policy ID 1102, a policy type 1103, a change method 1104, a batch processing addition condition 1105, and a selection flag 1106.
 ジョブネットID1101は、ジョブネットID602と同一である。本実施例では、一つのジョブネットに対して一つ以上のポリシが設定される。ポリシID1102は、ジョブネットに対して設定されたポリシを一意に識別するための識別子である。ポリシ種別1103は、ポリシの種別である。変更方法1104は、リソース割当の変更方法の定義情報である。なお、変更方法1104には、プログラム、及び処理コード等が格納されてもよい。 The job net ID 1101 is the same as the job net ID 602. In this embodiment, one or more policies are set for one job net. The policy ID 1102 is an identifier for uniquely identifying the policy set for the job net. The policy type 1103 is a policy type. The change method 1104 is definition information of a resource allocation change method. Note that the change method 1104 may store a program, a processing code, and the like.
 バッチ処理追加条件1105は、新たなバッチ処理を追加する場合の条件である。「ポリシ2」のバッチ処理追加条件1105は、予算の10パーセントを超える料金以内で追加可能ならばバッチ処理の追加を許可すること示す。「ポリシ3」のバッチ処理追加条件1105は、予算内で追加可能ならばバッチ処理の追加を許可することを示す。 The batch process addition condition 1105 is a condition for adding a new batch process. The batch processing addition condition 1105 of “Policy 2” indicates that the addition of the batch processing is permitted if it can be added within a fee exceeding 10% of the budget. The batch processing addition condition 1105 of “Policy 3” indicates that the addition of the batch processing is permitted if it can be added within the budget.
 選択フラグ1106は、ユーザによって選択されたポリシであるか否かを示すフラグである。本実施例ではユーザによって選択されたポリシの選択フラグ1106には、「ON」が設定される。なお、本実施例では、一つのジョブに対して一つのポリシが設定されている場合、選択フラグ1106には「ON」が自動的に設定されるものとする。また、一つのジョブに対して複数のポリシが設定されている場合、ユーザが適用するポリシを選択するものとする。 The selection flag 1106 is a flag indicating whether or not the policy is selected by the user. In this embodiment, “ON” is set in the policy selection flag 1106 selected by the user. In this embodiment, when one policy is set for one job, “ON” is automatically set in the selection flag 1106. In addition, when a plurality of policies are set for one job, the policy to be applied by the user is selected.
 図12は、実施例1の変更方法定義情報228の一例を示す図である。 FIG. 12 is a diagram illustrating an example of the change method definition information 228 according to the first embodiment.
 変更方法定義情報228は、管理者によって予め設定されたリソース割当の変更方法を管理する。変更方法定義情報228は、方法ID1201、処理種別1202、対象1203、及び追加量1204を含む。 The change method definition information 228 manages the resource allocation change method preset by the administrator. The change method definition information 228 includes a method ID 1201, a process type 1202, a target 1203, and an additional amount 1204.
 方法ID1201は、変更方法定義情報228に登録された変更方法を一意に識別するための識別子である。処理種別1202は、変更方法の種別である。本実施例では、「スケールアウト」及び「スケールアップ」のいずれかが処理種別1202に格納される。 Method ID 1201 is an identifier for uniquely identifying the change method registered in the change method definition information 228. The process type 1202 is a type of change method. In this embodiment, either “scale out” or “scale up” is stored in the processing type 1202.
 「スケールアウト」は、インスタンスを追加することによって、ジョブに割り当てるリソースを変更する方法である。「スケールアップ」は、インスタンスの性能、すなわち、インスタンスに割り当てられるリソースを追加することによって、ジョブに割り当てるリソースを変更する方法である。 “Scaling out” is a method of changing resources allocated to a job by adding instances. “Scale-up” is a method of changing the resource allocated to a job by adding the performance of the instance, that is, the resource allocated to the instance.
 対象1203は、追加対象のリソースである。追加量1204は、追加対象のリソースの変更量である。 Target 1203 is a resource to be added. The addition amount 1204 is a change amount of the resource to be added.
 図13は、実施例1の実行計画管理情報229の一例を示す図である。 FIG. 13 is a diagram illustrating an example of the execution plan management information 229 according to the first embodiment.
 実行計画管理情報229は、一つのエントリが一つのバッチ処理の実行計画に対応する。一つのエントリは、ジョブネットID1301、方法ID1302、ジョブID1303、並列度1304、並列化時間1305、要求性能1306、実行時間1307、料金1308、効率1309、確定フラグ1310、及び実行フラグ1311を含む。 In the execution plan management information 229, one entry corresponds to one batch processing execution plan. One entry includes a job net ID 1301, method ID 1302, job ID 1303, parallelism 1304, parallelization time 1305, required performance 1306, execution time 1307, fee 1308, efficiency 1309, confirmation flag 1310, and execution flag 1311.
 ジョブネットID1301は、ジョブネットID602と同一のものである。方法ID1302は、方法ID1201と同一のものである。ジョブID1303は、ジョブID701と同一のものである。並列度1304、並列化時間1305、要求性能1306、及び実行時間1307は、並列度702、並列化時間704、要求性能705、及び実行時間706と同一のものである。なお、リソースの割当が変更された場合、並列度1304、並列化時間1305、要求性能1306、及び実行時間1307には、リソース割当が変更された後の値が格納される。 The job net ID 1301 is the same as the job net ID 602. The method ID 1302 is the same as the method ID 1201. The job ID 1303 is the same as the job ID 701. The parallelism 1304, the parallelization time 1305, the required performance 1306, and the execution time 1307 are the same as the parallelism 702, the parallelization time 704, the required performance 705, and the execution time 706. When the resource allocation is changed, values after the resource allocation is changed are stored in the degree of parallelism 1304, the parallelization time 1305, the required performance 1306, and the execution time 1307.
 料金1308は、ジョブの実行時に使用するリソースの利用料金である。効率1309は、リソース割当の変更によるコストパフォーマンスを示す指標である。 The fee 1308 is a fee for using resources used when executing a job. Efficiency 1309 is an index indicating cost performance due to a change in resource allocation.
 確定フラグ1310は、実際に使用する実行計画であることを示すフラグである。すなわち、確定フラグ1310は、生成された実行計画に基づいてジョブが実行されることを示す。本実施例の確定フラグ1310には、「0」及び「1」のいずれかの値が格納される。「0」は採用されていない実行計画であることを示し、「1」は採用された実行計画であることを示す。 The confirmation flag 1310 is a flag indicating that the execution plan is actually used. That is, the confirmation flag 1310 indicates that the job is executed based on the generated execution plan. The value of “0” or “1” is stored in the confirmation flag 1310 of this embodiment. “0” indicates that the execution plan is not adopted, and “1” indicates that the execution plan is adopted.
 実行フラグ1311は、ジョブが実行されたか否かを示すフラグである。本実施例の実行フラグ1311には、「0」及び「1」のいずれかの値が格納される。「0」はジョブが実行されたことを示し、「1」はジョブが実行されていないことを示す。 The execution flag 1311 is a flag indicating whether or not the job has been executed. The execution flag 1311 of this embodiment stores either “0” or “1”. “0” indicates that the job has been executed, and “1” indicates that the job has not been executed.
 次に、バッチ処理の実行計画生成処理について説明する。図14A及び図14Bは、実施例1のバッチ処理の実行計画生成処理の一例を説明するフローチャートである。 Next, an execution plan generation process for batch processing will be described. 14A and 14B are flowcharts illustrating an example of an execution plan generation process for batch processing according to the first embodiment.
 バッチ割当管理部211は、所定の契機で処理を開始する。例えば、バッチ処理が新たに登録された場合、空きリソース量履歴情報225等が更新された場合、又は、価格変動リソースの空きリソース量の変化率が所定の閾値より大きい場合に実行される。また、バッチ割当管理部211が、周期的に、バッチ処理管理情報222の開始時間604を参照し、現在の時刻から1時間以内に実行されるバッチ処理が存在するか否かを判定してもよい。 The batch allocation management unit 211 starts processing at a predetermined opportunity. For example, it is executed when a batch process is newly registered, when the free resource amount history information 225 or the like is updated, or when the change rate of the free resource amount of the price fluctuation resource is larger than a predetermined threshold. Also, the batch allocation management unit 211 periodically refers to the start time 604 of the batch processing management information 222 and determines whether there is a batch process that is executed within one hour from the current time. Good.
 以下の説明では、新たなバッチ処理が登録された場合を例に説明する。このとき、新たに登録されたバッチ処理(ジョブネット)の識別子、及び当該バッチ処理が実行されるテナントの識別子から構成されるエントリを複数含むリストがバッチ割当管理部211に入力情報として入力される。 In the following explanation, a case where a new batch process is registered will be described as an example. At this time, a list including a plurality of entries including the identifier of the newly registered batch process (job net) and the identifier of the tenant on which the batch process is executed is input to the batch assignment management unit 211 as input information. .
 まず、バッチ割当管理部211は、計算機システムの状態を予測する(ステップS1401)。具体的には、以下のような処理が実行される。 First, the batch allocation management unit 211 predicts the state of the computer system (step S1401). Specifically, the following processing is executed.
 バッチ割当管理部211は、空きリソース量履歴情報225を用いた機械学習を行って、時間を変数とする空きリソース量の予測関数をリソース量の予測情報として生成する。 The batch allocation management unit 211 performs machine learning using the free resource amount history information 225, and generates a free resource amount prediction function with time as a variable as resource amount prediction information.
 以下の説明では、第1リソース量履歴情報900に基づいて生成された予測関数を第1リソース量予測関数と記載し、第2リソース量履歴情報910に基づいて生成された予測関数を第2リソース量予測関数とも記載する。本実施例では、バッチ割当管理部211は、第1リソース量予測関数を用いてインスタンス数を算出することができ、第2リソース量予測関数を用いて一つのインスタンスに割り当てるリソース量を算出することができる。なお、第1リソース量予測関数及び第2リソース量予測関数は、インスタンスの種別の数だけ存在する。 In the following description, the prediction function generated based on the first resource amount history information 900 is described as a first resource amount prediction function, and the prediction function generated based on the second resource amount history information 910 is referred to as a second resource. Also described as quantity prediction function. In the present embodiment, the batch allocation management unit 211 can calculate the number of instances using the first resource amount prediction function, and calculate the resource amount allocated to one instance using the second resource amount prediction function. Can do. Note that there are as many first resource amount prediction functions and second resource amount prediction functions as the number of instance types.
 バッチ割当管理部211は、料金履歴情報226を用いた機械学習を行って、時間を変数とする価格変動リソースの利用料金の予測関数を利用料金の予測情報として生成する。 The batch allocation management unit 211 performs machine learning using the fee history information 226, and generates a function for predicting the usage fee of the price fluctuation resource with time as a variable, as usage fee prediction information.
 以下の説明では、第1料金履歴情報1000に基づいて生成された予測関数を第1料金予測関数と記載し、第2料金履歴情報1010に基づいて生成された予測関数を第2料金予測関数と記載する。なお、第1料金予測関数及び第2料金予測関数は、インスタンスの種別の数だけ存在する。 In the following description, the prediction function generated based on the first fee history information 1000 is described as a first fee prediction function, and the prediction function generated based on the second fee history information 1010 is referred to as a second fee prediction function. Describe. Note that there are as many first charge prediction functions and second charge prediction functions as the number of instance types.
 例えば、バッチ割当管理部211は、一週間単位の履歴情報を用いた機械学習を実行し、現在から一週間後までの各予測関数を生成する。なお、履歴情報を用いた機械学習は公知の技術であるため説明を省略する。以上がステップS1401の処理の説明である。 For example, the batch allocation management unit 211 executes machine learning using history information in units of one week, and generates each prediction function from the present to one week later. Since machine learning using history information is a well-known technique, description thereof is omitted. The above is the description of the processing in step S1401.
 次に、バッチ割当管理部211は、バッチ処理のループ処理を開始する(ステップS1402)。具体的には、複数のバッチ処理の中から対象のバッチ処理を一つ選択する。以下の説明では、ステップS1402で選択されたバッチ処理を選択バッチ処理とも記載する。 Next, the batch assignment management unit 211 starts a loop process for batch processing (step S1402). Specifically, one target batch process is selected from a plurality of batch processes. In the following description, the batch process selected in step S1402 is also referred to as a selected batch process.
 バッチ処理の選択方法としては、リストの上のエントリから順に選択する方法、及び重要なバッチ処理から順に選択する方法等が考えられる。また、バッチ割当管理部211は、運用予算が多いテナントのバッチ処理群を選択し、当該テナントの複数のバッチ処理を前述した方法を用いて選択してもよい。 As a selection method of batch processing, a method of selecting in order from an entry on the list, a method of selecting in order from an important batch processing, and the like can be considered. Further, the batch allocation management unit 211 may select a batch processing group of a tenant with a large operation budget and select a plurality of batch processing of the tenant using the method described above.
 次に、バッチ割当管理部211は、選択バッチ処理のポリシを決定する(ステップS1403)。具体的には、以下のような処理が実行される。 Next, the batch assignment management unit 211 determines a policy for the selected batch process (step S1403). Specifically, the following processing is executed.
 バッチ割当管理部211は、ポリシ管理情報227を参照し、ジョブネットID1101に選択バッチ処理に対応するジョブネットの識別子が格納されるエントリを検索する。 The batch assignment management unit 211 refers to the policy management information 227 and searches for an entry in which the job net identifier corresponding to the selected batch process is stored in the job net ID 1101.
 複数のエントリが検索された場合、バッチ割当管理部211は、表示部213を介してユーザに選択可能なポリシを提示し、ユーザからの入力を受け付ける。この場合、バッチ割当管理部211は、ユーザによって選択されたポリシに対応するエントリの選択フラグ1106に「ON」を設定する。 When a plurality of entries are searched, the batch assignment management unit 211 presents a selectable policy to the user via the display unit 213, and accepts input from the user. In this case, the batch assignment management unit 211 sets “ON” in the selection flag 1106 of the entry corresponding to the policy selected by the user.
 なお、選択バッチ処理に適用可能なポリシが存在しない場合、又は、ユーザがポリシを選択しなかった場合、バッチ割当管理部211は、特に処理を実行することなくステップS1414に進む。以上がステップS1403の処理の説明である。 If there is no policy applicable to the selected batch process, or if the user does not select a policy, the batch assignment management unit 211 proceeds to step S1414 without executing any particular process. The above is the description of the process in step S1403.
 次に、バッチ割当管理部211は、変更方法のループ処理を開始する(ステップS1404)。具体的には、以下のような処理が実行される。 Next, the batch assignment management unit 211 starts a loop process of the changing method (step S1404). Specifically, the following processing is executed.
 バッチ割当管理部211は、変更方法定義情報228を参照し、使用する変更方法を一つ選択する。例えば、バッチ割当管理部211は、変更方法定義情報228の上のエントリから順に選択する。また、ポリシに基づいて、適用可能な変更方法をリスト化し、当該リストから使用する変更方法を一つ選択してもよい。 The batch allocation management unit 211 refers to the change method definition information 228 and selects one change method to be used. For example, the batch assignment management unit 211 sequentially selects entries from the change method definition information 228 in order. Further, based on the policy, applicable change methods may be listed, and one change method to be used may be selected from the list.
 バッチ割当管理部211は、実行計画管理情報229にエントリを追加し、ジョブネットID1301に選択バッチ処理に対応するジョブネットの識別子を設定する。また、バッチ割当管理部211は、追加されたエントリの方法ID1302に選択された変更方法の識別子を設定する。 The batch allocation management unit 211 adds an entry to the execution plan management information 229, and sets the job net identifier corresponding to the selected batch process in the job net ID 1301. Further, the batch assignment management unit 211 sets the identifier of the selected change method in the method ID 1302 of the added entry.
 さらに、バッチ割当管理部211は、選択バッチ処理に対応するジョブネットの識別子と対応付けられたジョブ管理情報223を参照し、追加されたエントリにジョブの数だけ行を追加する。バッチ割当管理部211は、追加された各行のジョブID1303、並列度1304、並列化時間1305、要求性能1306、及び実行時間1307に、ジョブID701、並列度702、並列化時間704、要求性能705、及び実行時間706の値を設定する。すなわち、バッチ割当管理部211は、追加されたエントリにジョブ管理情報223の内容をコピーする。 Furthermore, the batch assignment management unit 211 refers to the job management information 223 associated with the identifier of the job net corresponding to the selected batch process, and adds as many lines as the number of jobs to the added entry. The batch allocation management unit 211 includes a job ID 701, a degree of parallelism 702, a parallelization time 704, a required performance 705, a job ID 1303, a parallelism 1304, a parallelization time 1305, a required performance 1306, and an execution time 1307 of each added row. And the value of the execution time 706 is set. That is, the batch assignment management unit 211 copies the contents of the job management information 223 to the added entry.
 また、バッチ割当管理部211は、バッチ処理管理情報222から選択バッチ処理のインスタンス数606、実行時間609、及び料金610を取得する。バッチ割当管理部211は、インスタンス数606、実行時間609、及び料金610を用いて一つのインスタンスの単位時間あたりの料金(第1料金)を算出する。例えば、バッチ割当管理部211は、料金610の値をインスタンス数606の値で除算し、算出された値をさらに実行時間609で除算することによって第1料金を算出できる。 Also, the batch assignment management unit 211 acquires the number of instances 606 of the selected batch process, the execution time 609, and the charge 610 from the batch process management information 222. The batch allocation management unit 211 calculates a charge per unit time (first charge) of one instance using the number of instances 606, the execution time 609, and the charge 610. For example, the batch allocation management unit 211 can calculate the first fee by dividing the value of the fee 610 by the value of the number of instances 606 and further dividing the calculated value by the execution time 609.
 さらに、バッチ割当管理部211は、各ジョブの並列度702、並列化時間704、及び実行時間706と、第1料金に基づいて、ジョブの実行に必要な料金を算出する。例えば、バッチ割当管理部211は、第1料金に並列度702を乗算し、算出された値に、並列化時間704及び実行時間706を加算した値を乗算することによって前述した料金を算出できる。 Further, the batch allocation management unit 211 calculates a fee required for job execution based on the parallelism 702, the parallelization time 704, and the execution time 706 of each job and the first fee. For example, the batch allocation management unit 211 can calculate the above-described fee by multiplying the first fee by the degree of parallelism 702 and multiplying the calculated value by a value obtained by adding the parallelization time 704 and the execution time 706.
 バッチ割当管理部211は、算出された値を料金1308に設定する。また、バッチ割当管理部211は、追加されたエントリの効率1309に「1」を設定し、確定フラグ1310及び実行フラグ1311に「0」を設定する。以上がステップS1404の処理に説明である。 The batch allocation management unit 211 sets the calculated value in the charge 1308. Further, the batch allocation management unit 211 sets “1” for the efficiency 1309 of the added entry, and sets “0” for the confirmation flag 1310 and the execution flag 1311. The above is the description of step S1404.
 次に、バッチ割当管理部211は、選択バッチ処理のジョブのループ処理を開始する(ステップS1405)。以下の説明では、ステップS1405で選択されたジョブを選択ジョブとも記載する。具体的には、以下のような処理が実行される。 Next, the batch assignment management unit 211 starts a loop process of the selected batch process job (step S1405). In the following description, the job selected in step S1405 is also referred to as a selected job. Specifically, the following processing is executed.
 バッチ割当管理部211は、選択バッチ処理のジョブ管理情報223の出力ジョブID707に基づいて、選択バッチ処理に含まれる複数のジョブの接続関係を把握する。 The batch assignment management unit 211 grasps the connection relation of a plurality of jobs included in the selected batch process based on the output job ID 707 of the job management information 223 for the selected batch process.
 バッチ割当管理部211は、ジョブの接続関係に基づいて、実行順にジョブを選択する。なお、同一のジョブに出力するような接続関係があるジョブが複数存在する場合、バッチ割当管理部211は、ジョブID701に基づいて、複数のジョブの中から一つのジョブを選択する。以上がステップS1405の処理の説明である。 The batch allocation management unit 211 selects jobs in the execution order based on the connection relation of jobs. Note that when there are a plurality of jobs having a connection relationship to be output to the same job, the batch assignment management unit 211 selects one job from the plurality of jobs based on the job ID 701. The above is the description of the processing in step S1405.
 次に、バッチ割当管理部211は、決定されたポリシに基づいて、選択ジョブに対して価格変動リソースが利用可能な状態であるか否かを判定する(ステップS1406)。本実施例では、以下で説明するように、ポリシによって判定方法が異なる。 Next, based on the determined policy, the batch assignment management unit 211 determines whether or not a price fluctuation resource is available for the selected job (step S1406). In this embodiment, as described below, the determination method differs depending on the policy.
 (1)決定されたポリシのポリシ種別1103が「コスト」である場合、以下のような処理が実行される。 (1) When the policy type 1103 of the determined policy is “Cost”, the following processing is executed.
 バッチ割当管理部211は、バッチ処理管理情報222を参照し、選択バッチ処理に対応するエントリの開始時間604から時刻を取得する。 The batch allocation management unit 211 refers to the batch process management information 222 and acquires the time from the start time 604 of the entry corresponding to the selected batch process.
 バッチ割当管理部211は、ステップS1404において選択された変更方法の対象1203が「インスタンス」である場合、インスタンスの種別に対応する第1料金予測関数に時刻を代入して、選択バッチ処理開始時の価格変動リソース(インスタンス)の料金(第2料金)を算出する。 When the change method target 1203 selected in step S1404 is “instance”, the batch allocation management unit 211 substitutes the time into the first fee prediction function corresponding to the type of the instance, and starts the selected batch process. The price (second charge) of the price fluctuation resource (instance) is calculated.
 バッチ割当管理部211は、第2料金が第1料金より低いか否かを判定する。すなわち、価格変動リソースの料金が価格固定リソースの料金より安いか否かが判定される。 The batch allocation management unit 211 determines whether or not the second fee is lower than the first fee. That is, it is determined whether the price of the price fluctuation resource is lower than the price of the fixed price resource.
 第2料金が第1料金より低いと判定された場合、バッチ割当管理部211は、料金を削減できる可能性があるため、価格変動リソースが利用可能な状態であると判定する。 When it is determined that the second fee is lower than the first fee, the batch allocation management unit 211 determines that the price fluctuation resource is available because there is a possibility of reducing the fee.
 (2)決定されたポリシのポリシ種別1103が「目標時間」である場合、以下のような処理が実行される。 (2) When the policy type 1103 of the determined policy is “target time”, the following processing is executed.
 バッチ割当管理部211は、インスタンスの種別に対応する第1リソース量予測関数に時刻を代入して、選択ジョブの実行時の価格変動リソースの空きリソース量(インスタンス数)を算出する。 The batch allocation management unit 211 calculates the free resource amount (number of instances) of the price fluctuation resource when executing the selected job by substituting the time into the first resource amount prediction function corresponding to the instance type.
 バッチ割当管理部211は、ジョブ管理情報223の選択ジョブに対応するエントリを参照する。バッチ割当管理部211は、参照したエントリの並列度702の値が算出されたインスタンス数より小さいか否かを判定する。すなわち、価格変動リソースの未使用のインスタンス数が、選択ジョブに割り当てられるインスタンス数より大きいか否かが判定される。 The batch allocation management unit 211 refers to the entry corresponding to the selected job in the job management information 223. The batch assignment management unit 211 determines whether or not the value of the parallel degree 702 of the referenced entry is smaller than the calculated number of instances. That is, it is determined whether or not the number of unused instances of the price fluctuation resource is larger than the number of instances assigned to the selected job.
 エントリの並列度702の値が算出されたインスタンス数より小さい場合、バッチ割当管理部211は、バッチ処理の実行時間を短縮できる可能性があるため、価格変動リソースが利用可能な状態であると判定する。 If the value of the degree of parallelism 702 of the entry is smaller than the calculated number of instances, the batch allocation management unit 211 determines that the price fluctuation resource is available because there is a possibility that the execution time of the batch processing may be shortened. To do.
 (3)決定されたポリシのポリシ種別1103が「コストパフォーマンス」である場合、バッチ割当管理部211は、(1)及び(2)を組み合わせた判定方法を使用する。すなわち、バッチ割当管理部211は、第2料金が第1料金より低く、かつ、並列度702の値が算出されたインスタンス数より小さいか否かを判定する。いずれの判定結果もYESである場合、バッチ割当管理部211は、価格変動リソースが利用可能な状態であると判定する。 (3) When the policy type 1103 of the determined policy is “cost performance”, the batch allocation management unit 211 uses a determination method in which (1) and (2) are combined. That is, the batch allocation management unit 211 determines whether or not the second fee is lower than the first fee and the value of the degree of parallelism 702 is smaller than the calculated number of instances. If any determination result is YES, the batch allocation management unit 211 determines that the price fluctuation resource is available.
 なお、前述した(1)から(3)までの判定方法は一例であってこれに限定されない。例えば、ポリシ種別1103に関わらず、第2料金が第1料金より低い場合、価格変動リソースが利用可能な状態であると判定してもよい。以上がステップS1406の処理の説明である。 Note that the determination methods (1) to (3) described above are merely examples and are not limited thereto. For example, when the second fee is lower than the first fee regardless of the policy type 1103, it may be determined that the price fluctuation resource is available. The above is the description of the process in step S1406.
 価格変動リソースが利用可能な状態であると判定された場合、バッチ割当管理部211は、実行計画変更処理を実行する(ステップS1407)。実行計画変更処理の詳細は、図15を用いて説明する。 When it is determined that the price fluctuation resource is available, the batch allocation management unit 211 executes an execution plan change process (step S1407). Details of the execution plan change process will be described with reference to FIG.
 次に、バッチ割当管理部211は、選択バッチ処理に含まれる全てのジョブに対して処理が完了したか否かを判定する(ステップS1408)。 Next, the batch assignment management unit 211 determines whether or not the processing has been completed for all jobs included in the selected batch processing (step S1408).
 選択バッチ処理に含まれる全てのジョブに対して処理が完了していないと判定された場合、バッチ割当管理部211は、ステップS1405に戻り、新たなジョブを選択し、同様の処理を実行する。 If it is determined that the processing has not been completed for all jobs included in the selected batch process, the batch assignment management unit 211 returns to step S1405, selects a new job, and executes the same process.
 選択バッチ処理に含まれる全てのジョブに対して処理が完了したと判定された場合、バッチ割当管理部211は、全ての変更方法に対して処理が完了したか否かを判定する(ステップS1409)。 When it is determined that processing has been completed for all jobs included in the selected batch processing, the batch assignment management unit 211 determines whether processing has been completed for all change methods (step S1409). .
 全ての変更方法に対して処理が完了していないと判定された場合、バッチ割当管理部211は、ステップS1404に戻り、新たな変更方法を選択し、同様の処理を実行する。 If it is determined that the processing has not been completed for all the change methods, the batch assignment management unit 211 returns to step S1404, selects a new change method, and executes the same processing.
 全ての変更方法に対して処理が完了したと判定された場合、バッチ割当管理部211は、実行計画管理情報229に追加されたエントリ群に基づいて、ポリシを満たす実行計画が存在するか否かを判定する(ステップS1410)。本実施例では、以下で説明するように、ポリシによって判定方法が異なる。 When it is determined that the processing has been completed for all the change methods, the batch allocation management unit 211 determines whether there is an execution plan that satisfies the policy based on the entry group added to the execution plan management information 229. Is determined (step S1410). In this embodiment, as described below, the determination method differs depending on the policy.
 (1)決定されたポリシのポリシ種別1103が「コスト」である場合、以下のような処理が実行される。 (1) When the policy type 1103 of the determined policy is “Cost”, the following processing is executed.
 バッチ割当管理部211は、各実行計画の料金を算出する。具体的には、バッチ割当管理部211は、一つの実行計画のエントリに含まれる各行の料金1308を合計することによって、一つの実行計画の料金を算出する。バッチ割当管理部211は、算出された料金が選択バッチ処理の料金610より低い実行計画が存在するか否かを判定する。算出された料金が選択バッチ処理の料金610より低い実行計画が存在する場合、バッチ割当管理部211は、ポリシを満たす実行計画が存在すると判定する。 The batch allocation management unit 211 calculates a fee for each execution plan. Specifically, the batch allocation management unit 211 calculates the charge for one execution plan by summing the charges 1308 for each row included in one execution plan entry. The batch allocation management unit 211 determines whether there is an execution plan for which the calculated fee is lower than the fee 610 for the selected batch process. If there is an execution plan whose calculated charge is lower than the charge 610 for the selected batch process, the batch allocation management unit 211 determines that there is an execution plan that satisfies the policy.
 (2)決定されたポリシのポリシ種別1103が「目標時間」である場合、以下のような処理が実行される。 (2) When the policy type 1103 of the determined policy is “target time”, the following processing is executed.
 バッチ割当管理部211は、各実行計画の実行時間を算出する。具体的には、バッチ割当管理部211は、一つの実行計画のエントリに含まれる各行の並列化時間1305及び実行時間1307を合計することによって、一つの実行計画の実行時間を算出する。バッチ割当管理部211は、算出された実行時間が選択バッチ処理の実行時間609より小さい実行計画が存在するか否かを判定する。算出された実行時間が選択バッチ処理の実行時間609より小さい実行計画が存在する場合、バッチ割当管理部211は、ポリシを満たす実行計画が存在すると判定する。 The batch allocation management unit 211 calculates the execution time of each execution plan. Specifically, the batch allocation management unit 211 calculates the execution time of one execution plan by summing the parallelization time 1305 and the execution time 1307 of each row included in one execution plan entry. The batch assignment management unit 211 determines whether there is an execution plan whose calculated execution time is shorter than the execution time 609 of the selected batch process. If there is an execution plan whose calculated execution time is smaller than the execution time 609 of the selected batch process, the batch assignment management unit 211 determines that there is an execution plan that satisfies the policy.
 なお、追加バッチ処理が存在する場合、バッチ割当管理部211は、主バッチ処理の実行時間及び追加バッチ処理の実行時間の合計が目標時間605より小さいか否かを判定する。また、バッチ割当管理部211は、予算情報224を参照し、テナントID801に選択バッチ処理が実行されるテナントの識別子が格納され、かつ、日付802に選択バッチ処理が実行時に対応する日時が設定されたエントリを検索する。バッチ割当管理部211は、検索されたエントリの予算803を取得する。バッチ割当管理部211は、主バッチ処理の料金及び追加バッチ処理の料金の合計、並びに予算803に基づいて、バッチ処理追加条件1105を満たすか否かが判定される。 When there is an additional batch process, the batch allocation management unit 211 determines whether the total execution time of the main batch process and the execution time of the additional batch process is smaller than the target time 605. In addition, the batch allocation management unit 211 refers to the budget information 224, stores the tenant identifier for which the selected batch process is executed in the tenant ID 801, and sets the date and time corresponding to the time when the selected batch process is executed as the date 802. Search for entries. The batch assignment management unit 211 acquires the budget 803 of the searched entry. The batch allocation management unit 211 determines whether or not the batch processing additional condition 1105 is satisfied based on the sum of the main batch processing fee and the additional batch processing fee, and the budget 803.
 いずれかかの条件を満たさない場合、バッチ割当管理部211は、ポリシを満たす実行計画が存在しないと判定する。 If any of the conditions is not satisfied, the batch allocation management unit 211 determines that there is no execution plan that satisfies the policy.
 (3)決定されたポリシのポリシ種別1103が「コストパフォーマンス」である場合、以下のような処理が実行される。 (3) When the policy type 1103 of the determined policy is “cost performance”, the following processing is executed.
 バッチ割当管理部211は、各実行計画の実行効率を算出する。具体的には、バッチ割当管理部211は、一つの実行計画のエントリに含まれる各行の効率1309を用いて効率の平均値を算出し、当該平均値を一つの実行計画の実行効率に設定する。バッチ割当管理部211は、算出された実行効率が「1」より大きい実行計画が存在するか否かを判定する。算出された実行効率が「1」より大きい実行計画が存在する場合、バッチ割当管理部211は、ポリシを満たす実行計画が存在すると判定する。 The batch allocation management unit 211 calculates the execution efficiency of each execution plan. Specifically, the batch allocation management unit 211 calculates an average value of efficiency using the efficiency 1309 of each row included in one execution plan entry, and sets the average value as the execution efficiency of one execution plan. . The batch allocation management unit 211 determines whether there is an execution plan with the calculated execution efficiency greater than “1”. When there is an execution plan with the calculated execution efficiency greater than “1”, the batch allocation management unit 211 determines that there is an execution plan that satisfies the policy.
 なお、追加バッチ処理が存在する場合、バッチ割当管理部211は、主バッチ処理の実行効率が「1」より大きいか否かを判定し、また、追加バッチ処理の実行効率が「1」より大きいか否かを判定する。また、バッチ割当管理部211は、主バッチ処理の料金及び追加バッチ処理の料金の合計、並びに予算803に基づいて、バッチ処理追加条件1105を満たすか否かを判定する。いずれかかの条件を満たさない場合、バッチ割当管理部211は、ポリシを満たる実行計画が存在しないと判定する。 When there is an additional batch process, the batch allocation management unit 211 determines whether the execution efficiency of the main batch process is greater than “1”, and the execution efficiency of the additional batch process is greater than “1”. It is determined whether or not. Further, the batch allocation management unit 211 determines whether or not the batch processing additional condition 1105 is satisfied based on the total of the main batch processing fee and the additional batch processing fee and the budget 803. If any one of the conditions is not satisfied, the batch allocation management unit 211 determines that there is no execution plan that satisfies the policy.
 なお、前述した(1)から(3)までの判定方法は一例であってこれに限定されない。以上がステップS1410の処理の説明である。 Note that the determination methods (1) to (3) described above are merely examples and are not limited thereto. The above is the description of the process in step S1410.
 ポリシを満たす実行計画が存在すると判定された場合、バッチ割当管理部211は、採用する実行計画を一つ選択する(ステップS1411)。 If it is determined that there is an execution plan that satisfies the policy, the batch allocation management unit 211 selects one execution plan to be adopted (step S1411).
 具体的には、バッチ割当管理部211は、最も効果が高い実行計画を選択する。例えば、ポリシ種別1103が「コスト」であるポリシの場合、バッチ割当管理部211は、料金が最も安い実行計画を選択する。ポリシ種別1103が「目標時間」であるポリシの場合、バッチ割当管理部211は、実行時間が最も短くなる実行計画を選択する。ポリシ種別1103が「コストパフォーマンス」であるポリシの場合、バッチ割当管理部211は、実行効率が最も高い実行計画を選択する。なお、バッチ割当管理部211は、選択されなかった実行計画を削除してもよいし、選択されなかった実行計画を新たな知見として利用してもよい。 Specifically, the batch allocation management unit 211 selects an execution plan that is most effective. For example, in the case of a policy whose policy type 1103 is “cost”, the batch allocation management unit 211 selects an execution plan with the lowest charge. When the policy type 1103 is a policy having “target time”, the batch allocation management unit 211 selects an execution plan that has the shortest execution time. When the policy type 1103 is a policy having “cost performance”, the batch allocation management unit 211 selects an execution plan having the highest execution efficiency. Note that the batch allocation management unit 211 may delete the execution plan that has not been selected, or may use the execution plan that has not been selected as new knowledge.
 バッチ割当管理部211は、選択された実行計画に基づいてリソースを予約する(ステップS1412)。 The batch allocation management unit 211 reserves resources based on the selected execution plan (step S1412).
 具体的には、バッチ割当管理部211は、他のバッチ処理に割り当てられないようにリソースを確保する。なお、リソースの予約方法は公知の技術であるため説明を省略する。このとき、バッチ割当管理部211は、選択された実行計画の各行の確定フラグ1310に「1」を設定する。 Specifically, the batch assignment management unit 211 secures resources so that they are not assigned to other batch processes. Since the resource reservation method is a known technique, the description thereof is omitted. At this time, the batch assignment management unit 211 sets “1” to the confirmation flag 1310 of each line of the selected execution plan.
 次に、バッチ割当管理部211は、バッチ処理の追加が許可されているか否かを判定する(ステップS1413)。 Next, the batch assignment management unit 211 determines whether addition of batch processing is permitted (step S1413).
 具体的には、バッチ割当管理部211は、ポリシのバッチ処理追加条件1105を参照し、バッチ処理の追加を許可する旨の情報が設定されか否かを判定する。 Specifically, the batch assignment management unit 211 refers to the policy batch processing addition condition 1105 and determines whether or not information indicating that the addition of batch processing is permitted is set.
 バッチ処理の追加が許可されていないと判定された場合、バッチ割当管理部211は、リストに含まれる全てのバッチ処理に対して処理が完了したか否かを判定する(ステップS1414)。 When it is determined that the addition of the batch process is not permitted, the batch assignment management unit 211 determines whether the process has been completed for all the batch processes included in the list (step S1414).
 リストに含まれる全てのバッチ処理に対して処理が完了していないと判定された場合、バッチ割当管理部211は、ステップS1402に戻り、新たなバッチ処理を選択し、同様の処理を実行する。このとき、バッチ割当管理部211は、バッチ処理に対する処理結果を表示部213を介してユーザに提示する。 If it is determined that the processing has not been completed for all the batch processes included in the list, the batch assignment management unit 211 returns to step S1402, selects a new batch process, and executes the same process. At this time, the batch assignment management unit 211 presents the processing result for the batch processing to the user via the display unit 213.
 リストに含まれる全てのバッチ処理に対して処理が完了したと判定された場合、バッチ割当管理部211は、バッチ処理の実行計画生成処理を終了する。 When it is determined that the processing has been completed for all the batch processes included in the list, the batch assignment management unit 211 ends the execution plan generation process of the batch process.
 ステップS1413において、バッチ処理の追加が許可されていると判定された場合、バッチ割当管理部211は、表示部213を介して、ユーザに追加可能なバッチ処理の一覧を提示し(ステップS1420)、追加バッチ処理の設定を受け付ける(ステップS1421)。その後、バッチ割当管理部211は、ステップS1403に戻り、追加バッチ処理を選択バッチ処理として同様の処理を実行する。この場合、主バッチ処理のループ処理は継続している。 If it is determined in step S1413 that the addition of batch processing is permitted, the batch assignment management unit 211 presents a list of batch processes that can be added to the user via the display unit 213 (step S1420). Settings for additional batch processing are accepted (step S1421). Thereafter, the batch assignment management unit 211 returns to step S1403, and executes the same process with the additional batch process as the selected batch process. In this case, the loop process of the main batch process is continued.
 例えば、バッチ割当管理部211は、実行計画が生成されたバッチ処理を追加可能なバッチ処理として提示する方法が考えられる。また、バッチ割当管理部211は、テナントにおいて実行される他のバッチ処理を追加可能なバッチ処理として提示する方法が考えられる。 For example, the batch allocation management unit 211 may be considered to present a batch process for which an execution plan has been generated as an addable batch process. In addition, the batch allocation management unit 211 may be presented as a batch process that can add another batch process executed in the tenant.
 ユーザは、提示されたバッチ処理に対してパラメタ、インスタンス数等を設定する。バッチ割当管理部211は、設定を受け付けた場合、バッチ処理管理情報222及びジョブ管理情報223を更新する。なお、追加バッチ処理の種別603には「追加」が設定される。 User sets parameters, number of instances, etc. for the presented batch process. When the batch assignment management unit 211 receives the setting, the batch assignment management unit 211 updates the batch processing management information 222 and the job management information 223. Note that “addition” is set in the additional batch processing type 603.
 また、ユーザが、予め追加するバッチ処理をバッチ処理管理情報222に定義してもよい。この場合、バッチ割当管理部211は、バッチ処理管理情報222に基づいて自動的に追加するバッチ処理を選択する。この場合、ステップS1422の処理は省略することができる。 Further, a batch process added in advance by the user may be defined in the batch process management information 222. In this case, the batch assignment management unit 211 selects a batch process to be automatically added based on the batch process management information 222. In this case, the process of step S1422 can be omitted.
 ステップS1410において、ポリシを満たす実行計画が存在しないと判定された場合、バッチ割当管理部211は、選択バッチ処理が追加バッチ処理であるか否かを判定する(ステップS1417)。 If it is determined in step S1410 that there is no execution plan that satisfies the policy, the batch assignment management unit 211 determines whether the selected batch process is an additional batch process (step S1417).
 具体的には、バッチ割当管理部211は、バッチ処理管理情報222の選択バッチ処理に対応する行の種別603が「追加」であるか否かを判定する。種別603が「追加」である場合、バッチ割当管理部211は、選択バッチ処理が追加バッチ処理であると判定する。 Specifically, the batch assignment management unit 211 determines whether the type 603 of the row corresponding to the selected batch process in the batch process management information 222 is “addition”. When the type 603 is “addition”, the batch assignment management unit 211 determines that the selected batch process is an additional batch process.
 選択バッチ処理が追加バッチ処理ではないと判定された場合、バッチ割当管理部211は、ジョブ管理情報223に基づいてバッチ処理のリソースを予約する(ステップS1418)。その後、バッチ割当管理部211は、ステップS1414に進む。 If it is determined that the selected batch process is not an additional batch process, the batch assignment management unit 211 reserves a resource for the batch process based on the job management information 223 (step S1418). Thereafter, the batch assignment management unit 211 proceeds to step S1414.
 具体的には、バッチ割当管理部211は、実行計画管理情報229に登録された選択バッチ処理の実行計画を全て削除し、ジョブ管理情報223に基づいて選択バッチ処理の実行計画を生成する。すなわち、初期設定にしたがって、選択バッチ処理の実行計画が生成される。この場合、実行計画管理情報229には、ステップS1404において生成されたエントリと同じ内容のエントリが生成される。すなわち、価格変動リソースは使用されない。 Specifically, the batch allocation management unit 211 deletes all execution plans for the selected batch process registered in the execution plan management information 229 and generates an execution plan for the selected batch process based on the job management information 223. That is, an execution plan for the selected batch process is generated according to the initial setting. In this case, an entry having the same content as the entry generated in step S1404 is generated in the execution plan management information 229. That is, the price fluctuation resource is not used.
 選択バッチ処理が追加バッチ処理であると判定された場合、バッチ割当管理部211は、実行計画管理情報229から追加バッチ処理の実行計画を全て削除する(ステップS1419)。その後、バッチ割当管理部211は、ステップS1414に進む。 When it is determined that the selected batch process is an additional batch process, the batch allocation management unit 211 deletes all execution plans for the additional batch process from the execution plan management information 229 (step S1419). Thereafter, the batch assignment management unit 211 proceeds to step S1414.
 すなわち、ポリシを満たさない追加バッチ処理の実行計画は生成されず、主バッチ処理のループ処理が終了する。このとき、バッチ割当管理部211は、主バッチ処理に対する処理結果を表示部213を介してユーザに提示する。 That is, the execution plan of the additional batch process that does not satisfy the policy is not generated, and the loop process of the main batch process ends. At this time, the batch assignment management unit 211 presents the processing result for the main batch process to the user via the display unit 213.
 ステップS1406において、価格変動リソースが利用可能な状態でないと判定された場合、バッチ割当管理部211は、選択バッチ処理が追加バッチ処理であるか否かを判定する(ステップS1415)。ステップS1415の処理はステップS1417と同一である。 If it is determined in step S1406 that the price fluctuation resource is not available, the batch assignment management unit 211 determines whether the selected batch process is an additional batch process (step S1415). The process of step S1415 is the same as that of step S1417.
 選択バッチ処理が追加バッチ処理でないと判定された場合、バッチ割当管理部211は、ステップS1408に進む。すなわち、選択バッチ処理については実行計画変更処理が実行されることなく、選択バッチ処理のループ処理が終了する。 If it is determined that the selected batch process is not an additional batch process, the batch assignment management unit 211 proceeds to step S1408. That is, for the selected batch process, the execution plan change process is not executed, and the loop process of the selected batch process ends.
 選択バッチ処理が追加バッチ処理であると判定された場合、バッチ割当管理部211は、実行計画管理情報229から追加バッチ処理の実行計画を削除する(ステップS1416)。その後、バッチ割当管理部211は、ステップS1414に進む。このとき、バッチ割当管理部211は、主バッチ処理に対する処理結果を表示部213を介してユーザに提示する。 When it is determined that the selected batch process is an additional batch process, the batch assignment management unit 211 deletes the execution plan of the additional batch process from the execution plan management information 229 (step S1416). Thereafter, the batch assignment management unit 211 proceeds to step S1414. At this time, the batch assignment management unit 211 presents the processing result for the main batch process to the user via the display unit 213.
 図15は、実施例1の実行計画変更処理の一例を説明するフローチャートである。 FIG. 15 is a flowchart illustrating an example of an execution plan change process according to the first embodiment.
 バッチ割当管理部211は、ステップS1404において選択された変更方法の処理種別1202が「スケールアウト」であるか否かを判定する(ステップS1501)。 The batch allocation management unit 211 determines whether or not the processing type 1202 of the change method selected in step S1404 is “scale-out” (step S1501).
 選択された変更方法の処理種別1202が「スケールアウト」であると判定された場合、バッチ割当管理部211は、リソース量算出処理(スケールアウト)を実行し(ステップS1502)、その後、実行計画変更処理を終了する。リソース量算出処理(スケールアウト)の詳細は、図16を用いて説明する。 If it is determined that the processing type 1202 of the selected change method is “scale-out”, the batch allocation management unit 211 executes a resource amount calculation process (scale-out) (step S1502), and then changes the execution plan. The process ends. Details of the resource amount calculation process (scale-out) will be described with reference to FIG.
 選択された変更方法の処理種別1202が「スケールアップ」であると判定された場合、バッチ割当管理部211は、リソース量算出処理(スケールアップ)を実行し(ステップS1503)、その後、実行計画変更処理を終了する。リソース量算出処理(スケールアップ)の詳細は、図17を用いて説明する。 If it is determined that the process type 1202 of the selected change method is “scale up”, the batch allocation management unit 211 executes a resource amount calculation process (scale up) (step S1503), and then changes the execution plan. The process ends. Details of the resource amount calculation process (scale-up) will be described with reference to FIG.
 図16は、実施例1のリソース量算出処理(スケールアウト)の一例を説明するフローチャートである。 FIG. 16 is a flowchart illustrating an example of a resource amount calculation process (scale out) according to the first embodiment.
 バッチ割当管理部211は、選択ジョブの並列度を上げることができるか否かを判定する(ステップS1601)。具体的には、以下のような処理が実行される。 The batch assignment management unit 211 determines whether or not the parallelism of the selected job can be increased (step S1601). Specifically, the following processing is executed.
 具体的には、バッチ割当管理部211は、ジョブ管理情報223の選択ジョブのエントリを参照し、並列度702の値が最大並列度703の値より小さいか否かを判定する。 Specifically, the batch assignment management unit 211 refers to the entry of the selected job in the job management information 223 and determines whether the value of the parallel degree 702 is smaller than the value of the maximum parallel degree 703.
 並列度702の値が最大並列度703の値以上である場合、バッチ割当管理部211は、選択ジョブの並列度を上げることができないと判定する。 If the value of the degree of parallelism 702 is equal to or greater than the value of the maximum degree of parallelism 703, the batch assignment management unit 211 determines that the degree of parallelism of the selected job cannot be increased.
 並列度702の値が最大並列度703の値より小さい場合、バッチ割当管理部211は、最大並列度703の値から並列度702の値を減算することによって、追加並列度を算出する。バッチ割当管理部211は、ステップS1404において選択された変更処理の追加量1204の値が追加並列度より小さいか否かを判定する。 When the value of the degree of parallelism 702 is smaller than the value of the maximum degree of parallelism 703, the batch allocation management unit 211 calculates the additional degree of parallelism by subtracting the value of the degree of parallelism 702 from the value of the maximum degree of parallelism 703. The batch allocation management unit 211 determines whether or not the value of the additional amount 1204 of the change process selected in step S1404 is smaller than the additional parallelism.
 選択された変更処理の追加量1204の値が追加並列度より小さい場合、バッチ割当管理部211は、選択ジョブの並列度を上げることができないと判定する。 If the value of the selected additional amount 1204 of change processing is smaller than the additional parallelism, the batch assignment management unit 211 determines that the parallelism of the selected job cannot be increased.
 選択された変更処理の追加量1204の値が追加並列度以上である場合、バッチ割当管理部211は、選択ジョブの並列度を上げることができると判定する。以上がステップS1601の処理の説明である。 If the value of the added amount 1204 of the selected change process is equal to or greater than the additional parallelism, the batch assignment management unit 211 determines that the parallelism of the selected job can be increased. The above is the description of the processing in step S1601.
 選択ジョブの並列度を上げることができないと判定された場合、バッチ割当管理部211は、リソース量算出処理(スケールアウト)を終了する。 If it is determined that the parallelism of the selected job cannot be increased, the batch allocation management unit 211 ends the resource amount calculation process (scale-out).
 選択ジョブの並列度を上げることができると判定された場合、バッチ割当管理部211は、並列度を上げた場合に必要なリソース量を算出する(ステップS1602)。 When it is determined that the degree of parallelism of the selected job can be increased, the batch allocation management unit 211 calculates a resource amount necessary for increasing the degree of parallelism (step S1602).
 具体的には、バッチ割当管理部211は、選択された変更処理の追加量1204及び並列度702を用いて、並列度を上げた場合に必要なインスタンス数(リソース量)を算出する。例えば、追加量1204が「2倍」である場合、並列度702の値に「2」を乗算した値が、並列度を上げた場合に必要なインスタンス数(リソース量)である。 Specifically, the batch allocation management unit 211 calculates the number of instances (resource amount) required when the degree of parallelism is increased using the selected addition amount 1204 of the change process and the degree of parallelism 702. For example, when the additional amount 1204 is “twice”, the value obtained by multiplying the value of the degree of parallelism 702 by “2” is the number of instances (resource amount) required when the degree of parallelism is increased.
 次に、バッチ割当管理部211は、価格変動リソースに必要なリソース量が存在するか否かを判定する(ステップS1603)。 Next, the batch allocation management unit 211 determines whether there is a resource amount necessary for the price fluctuation resource (step S1603).
 リソースプール(価格変動リソース)に必要なリソース量が存在するか否かを判定する方法は、公知の方法であるため詳細な説明は省略するが、例えば以下のような方法を用いることができる。 The method for determining whether or not the necessary resource amount exists in the resource pool (price fluctuation resource) is a known method, and therefore detailed description thereof is omitted. For example, the following method can be used.
 バッチ割当管理部211は、第2リソース量履歴情報910を参照し、要求性能1306以上のリソースを有する所定の種別のインスタンスの数が変更後の並列度以上存在するか否かを判定する。前述した条件を満たす場合、バッチ割当管理部211は、価格変動リソースに必要なリソース量が存在すると判定する。 The batch allocation management unit 211 refers to the second resource amount history information 910 and determines whether or not the number of instances of a predetermined type having a resource with the required performance 1306 or higher is greater than or equal to the degree of parallelism after the change. When the above-described conditions are satisfied, the batch allocation management unit 211 determines that there is a necessary resource amount for the price fluctuation resource.
 価格変動リソースに必要なリソース量が存在しないと判定された場合、バッチ割当管理部211は、リソース量算出処理(スケールアウト)を終了する。 When it is determined that the necessary resource amount does not exist for the price fluctuation resource, the batch allocation management unit 211 ends the resource amount calculation process (scale-out).
 価格変動リソースに必要なリソース量が存在すると判定された場合、バッチ割当管理部211は、並列度の変更後の選択ジョブの実行時間及び利用料金を算出する(ステップS1604)。さらに、バッチ割当管理部211は、実行計画管理情報229の選択ジョブに対応する行の値を更新し(ステップS1605)、その後、リソース量算出処理(スケールアウト)を終了する。具体的には、以下のような処理が実行される。 When it is determined that there is a necessary resource amount for the price fluctuation resource, the batch allocation management unit 211 calculates the execution time and usage fee of the selected job after the change of the parallelism (step S1604). Further, the batch allocation management unit 211 updates the value of the row corresponding to the selected job in the execution plan management information 229 (step S1605), and then ends the resource amount calculation process (scale out). Specifically, the following processing is executed.
 バッチ割当管理部211は、変更後の並列度を変更前の並列度で除算することによって、変更比率を算出する。バッチ割当管理部211は、変更比率に所定の係数を乗算して第1評価値を算出する。バッチ割当管理部211は、実行時間1307の値を第1評価値で除算することによって新たな実行時間を算出する。例えば、第1評価値が「2」である場合、選択ジョブの実行時間は、変更前の半分の時間となる。 The batch allocation management unit 211 calculates the change ratio by dividing the parallel degree after the change by the parallel degree before the change. The batch assignment management unit 211 calculates a first evaluation value by multiplying the change ratio by a predetermined coefficient. The batch allocation management unit 211 calculates a new execution time by dividing the value of the execution time 1307 by the first evaluation value. For example, when the first evaluation value is “2”, the execution time of the selected job is half the time before the change.
 また、バッチ割当管理部211は、変更比率に所定の係数を乗算して第2評価値を算出する。バッチ割当管理部211は、料金1308の値に第2評価値を乗算することによって新たな料金を算出する。例えば、第2評価値が「2」である場合、選択ジョブの料金は、変更前の2倍の料金となる。 Also, the batch assignment management unit 211 calculates a second evaluation value by multiplying the change ratio by a predetermined coefficient. The batch allocation management unit 211 calculates a new fee by multiplying the value of the fee 1308 by the second evaluation value. For example, when the second evaluation value is “2”, the charge for the selected job is double the charge before the change.
 バッチ割当管理部211は、選択ジョブに対応する行の実行時間1307及び料金1308に、算出された実行時間及び料金を設定する。以上がステップS1604及びステップS1605の処理の説明である。 The batch allocation management unit 211 sets the calculated execution time and fee in the execution time 1307 and fee 1308 of the row corresponding to the selected job. The above is the description of the processing in steps S1604 and S1605.
 図17は、実施例1のリソース量算出処理(スケールアップ)の一例を説明するフローチャートである。 FIG. 17 is a flowchart illustrating an example of a resource amount calculation process (scale-up) according to the first embodiment.
 バッチ割当管理部211は、インスタンスの要求性能を変更した場合に必要なリソース量を算出する(ステップS1701)。 The batch allocation management unit 211 calculates a resource amount necessary when the required performance of the instance is changed (step S1701).
 バッチ割当管理部211は、選択された変更処理の追加量1204及び要求性能1306に基づいて、インスタンスの要求性能を算出する。例えば、追加量1204が「2倍」である場合、バッチ割当管理部211は、選択ジョブの行の要求性能1306の各値に「2」を乗算する。 The batch allocation management unit 211 calculates the required performance of the instance based on the selected addition amount 1204 of the change process and the required performance 1306. For example, when the additional amount 1204 is “double”, the batch assignment management unit 211 multiplies each value of the required performance 1306 in the row of the selected job by “2”.
 次に、バッチ割当管理部211は、価格変動リソースに必要なリソース量が存在するか否かを判定する(ステップS1702)。 Next, the batch allocation management unit 211 determines whether there is a necessary resource amount for the price fluctuation resource (step S1702).
 リソースプール(価格変動リソース)に必要なリソース量が存在するか否かを判定する方法は、公知の方法であるため詳細な説明は省略するが、例えば以下のような方法を用いることができる。 The method for determining whether or not the necessary resource amount exists in the resource pool (price fluctuation resource) is a known method, and therefore detailed description thereof is omitted. For example, the following method can be used.
 バッチ割当管理部211は、第2リソース量履歴情報910を参照し、算出された要求性能以上のリソースを有する所定の種別のインスタンスの数が並列度1304の値以上存在するか否かを判定する。前述した条件を満たす場合、バッチ割当管理部211は、価格変動リソースに必要なリソース量が存在すると判定する。 The batch allocation management unit 211 refers to the second resource amount history information 910 and determines whether or not the number of instances of a predetermined type having a resource equal to or higher than the calculated required performance is greater than or equal to the value of the parallelism 1304. . When the above-described conditions are satisfied, the batch allocation management unit 211 determines that there is a necessary resource amount for the price fluctuation resource.
 価格変動リソースに必要なリソース量が存在しないと判定された場合、バッチ割当管理部211は、リソース量算出処理(スケールアップ)を終了する。 When it is determined that the required resource amount does not exist for the price fluctuation resource, the batch allocation management unit 211 ends the resource amount calculation process (scale-up).
 価格変動リソースに必要なリソース量が存在すると判定された場合、バッチ割当管理部211は、インスタンスの要求性能の変更後の選択ジョブの実行時間及び利用料金を算出する(ステップS1703)。さらに、バッチ割当管理部211は、実行計画管理情報229の選択ジョブに対応する行の値を更新し(ステップS1704)、その後、リソース量算出処理(スケールアップ)を終了する。具体的には、以下のような処理が実行される。 When it is determined that there is a necessary resource amount for the price fluctuation resource, the batch allocation management unit 211 calculates the execution time and usage fee of the selected job after changing the requested performance of the instance (step S1703). Furthermore, the batch allocation management unit 211 updates the value of the row corresponding to the selected job in the execution plan management information 229 (step S1704), and then ends the resource amount calculation process (scale-up). Specifically, the following processing is executed.
 バッチ割当管理部211は、変更後の要求性能を変更前の要求性能で除算することによって、変更比率を算出する。複数のリソースについて条件が設定されている場合、バッチ割当管理部211は、各リソースについて変更比率を算出し、各リソースの変更比率の平均値を用いる。 The batch allocation management unit 211 calculates the change ratio by dividing the required performance after the change by the required performance before the change. When conditions are set for a plurality of resources, the batch allocation management unit 211 calculates a change ratio for each resource, and uses an average value of the change ratios for each resource.
 バッチ割当管理部211は、変更比率に所定の係数を乗算して第3評価値を算出する。バッチ割当管理部211は、実行時間1307の値を第3評価値で除算することによって新たな実行時間を算出する。例えば、第3評価値が「2」である場合、選択ジョブの実行時間は、変更前の半分の時間となる。 The batch allocation management unit 211 calculates a third evaluation value by multiplying the change ratio by a predetermined coefficient. The batch allocation management unit 211 calculates a new execution time by dividing the value of the execution time 1307 by the third evaluation value. For example, when the third evaluation value is “2”, the execution time of the selected job is half the time before the change.
 また、バッチ割当管理部211は、変更比率に所定の係数を乗算して第4評価値を算出する。バッチ割当管理部211は、料金1308の値に第4評価値を乗算することによって新たな料金を算出する。例えば、第4評価値が「2」である場合、選択ジョブの料金は、変更前の2倍の料金となる。 Also, the batch allocation management unit 211 calculates the fourth evaluation value by multiplying the change ratio by a predetermined coefficient. The batch allocation management unit 211 calculates a new fee by multiplying the value of the fee 1308 by the fourth evaluation value. For example, when the fourth evaluation value is “2”, the charge for the selected job is double the charge before the change.
 バッチ割当管理部211は、選択ジョブに対応する行の実行時間1307及び料金1308に、算出された実行時間及び料金を設定する。以上がステップS1703及びステップS1704の処理の説明である。 The batch allocation management unit 211 sets the calculated execution time and fee in the execution time 1307 and fee 1308 of the row corresponding to the selected job. The above is the description of the processing in steps S1703 and S1704.
 図18は、実施例1のバッチ処理の実行処理の一例を説明するフローチャートである。 FIG. 18 is a flowchart illustrating an example of the execution process of the batch process according to the first embodiment.
 バッチ実行部212は、周期的にバッチ処理管理情報222の開始時間604を参照し、対象のバッチ処理を特定する(ステップS1801)。例えば、バッチ実行部212は、現時刻から1時間以内に実行されるバッチ処理を対象のバッチ処理として特定する。 The batch execution unit 212 periodically refers to the start time 604 of the batch process management information 222 and identifies the target batch process (step S1801). For example, the batch execution unit 212 identifies a batch process executed within one hour from the current time as the target batch process.
 次に、バッチ実行部212は、実行計画管理情報229を参照して、特定されたバッチ処理に対応する実行計画を特定する(ステップS1802)。 Next, the batch execution unit 212 refers to the execution plan management information 229 and specifies an execution plan corresponding to the specified batch process (step S1802).
 具体的には、バッチ実行部212は、ジョブネットID1301が特定されたバッチ処理の識別子と一致し、かつ、確定フラグ1310に「1」が設定されたエントリを検索する。 Specifically, the batch execution unit 212 searches for an entry in which the job net ID 1301 matches the identified identifier of the batch process, and the confirmation flag 1310 is set to “1”.
 次に、バッチ実行部212は、特定された実行計画に基づいて最初に実行されるジョブをデプロイし、当該ジョブの開始を指示する(ステップS1803)。 Next, the batch execution unit 212 deploys a job to be executed first based on the specified execution plan, and instructs the start of the job (step S1803).
 具体的には、バッチ実行部212は、最初に実行されるジョブに対してリソースを割り当て、必要なソフトウェアをリソース(インスタンス)にデプロイする。また、バッチ実行部212は、開始時間604が経過した後に当該ジョブの実行を指示する。このとき、バッチ実行部212は、実行を指示したジョブの行の確定フラグ1310に「0」を設定し、また、実行フラグ1311に「1」を設定する。 Specifically, the batch execution unit 212 allocates a resource to the job to be executed first, and deploys necessary software to the resource (instance). The batch execution unit 212 instructs the job to be executed after the start time 604 has elapsed. At this time, the batch execution unit 212 sets “0” in the determination flag 1310 of the line of the job instructed to execute, and sets “1” in the execution flag 1311.
 次に、バッチ実行部212は、次に実行されるジョブが存在するか否かを判定する(ステップS1804)。 Next, the batch execution unit 212 determines whether there is a job to be executed next (step S1804).
 具体的には、バッチ実行部212は、ジョブネットID1301の値に基づいて、ジョブ管理情報223を参照する。バッチ実行部212は、ジョブ管理情報223の出力ジョブID707に基づいて、開始されたジョブの次に実行されるジョブが存在するか否かを判定する。以下の説明では、ステップS1804において特定されたジョブを対象ジョブとも記載する。 Specifically, the batch execution unit 212 refers to the job management information 223 based on the value of the job net ID 1301. The batch execution unit 212 determines whether there is a job to be executed next to the started job based on the output job ID 707 of the job management information 223. In the following description, the job specified in step S1804 is also referred to as a target job.
 対象ジョブが存在しないと判定された場合、バッチ実行部212は、バッチ処理の実行処理を終了する。 When it is determined that the target job does not exist, the batch execution unit 212 ends the execution process of the batch process.
 対象ジョブが存在すると判定された場合、バッチ実行部212は、当該ジョブの実行計画更新処理の開始時間を設定する(ステップS1805)。例えば、対象ジョブが開始される10分前を、実行計画更新処理の開始時間に設定する方法が考えられる。なお、対象ジョブの開始時間は、対象ジョブの出力元のジョブの開始時間と、当該ジョブの実行時間1307とを用いて算出できる。 When it is determined that the target job exists, the batch execution unit 212 sets the start time of the execution plan update process for the job (step S1805). For example, a method is conceivable in which 10 minutes before the target job is started is set as the start time of the execution plan update process. The start time of the target job can be calculated using the start time of the job that is the output source of the target job and the execution time 1307 of the job.
 次に、バッチ実行部212は、設定された開始時間を経過したか否かを判定する(ステップS1806)。 Next, the batch execution unit 212 determines whether or not the set start time has elapsed (step S1806).
 設定された開始時間を経過していないと判定された場合、バッチ実行部212は、ステップS1806に戻り、開始時間が経過するまで待ち状態となる。 If it is determined that the set start time has not elapsed, the batch execution unit 212 returns to step S1806 and waits until the start time elapses.
 設定された開始時間を経過したと判定された場合、バッチ実行部212は、実行計画更新処理の実行指示をバッチ割当管理部211に出力する(ステップS1807)。なお、当該実行指示には、バッチ処理の識別子及び対象ジョブの識別子が含まれる。 If it is determined that the set start time has elapsed, the batch execution unit 212 outputs an execution instruction for execution plan update processing to the batch assignment management unit 211 (step S1807). The execution instruction includes an identifier for batch processing and an identifier for the target job.
 次に、バッチ実行部212は、バッチ割当管理部211から処理の完了通知を受信したか否かを判定する(ステップS1808)。 Next, the batch execution unit 212 determines whether or not a processing completion notification has been received from the batch assignment management unit 211 (step S1808).
 バッチ割当管理部211から処理の完了通知を受信していないと判定された場合、バッチ実行部212は、ステップS1808に戻り完了通知を受け付けるまで待ち状態となる。 If it is determined that the process completion notification has not been received from the batch allocation management unit 211, the batch execution unit 212 returns to step S1808 and waits until a completion notification is received.
 バッチ割当管理部211から処理の完了通知を受信したと判定された場合、バッチ実行部212は、実行計画に基づいて対象ジョブに対してリソースを割り当て、対象ジョブの出力元のジョブの完了後に対象ジョブの実行を指示する(ステップS1809)。その後、バッチ実行部212は、ステップS1804に戻り、同様の処理を実行する。 If it is determined that the process completion notification has been received from the batch assignment management unit 211, the batch execution unit 212 allocates resources to the target job based on the execution plan, and the target job is output after completion of the output source job. The job execution is instructed (step S1809). Thereafter, the batch execution unit 212 returns to step S1804 and executes the same processing.
 図19A及び図19Bは、実施例1のジョブを対象とする実行計画更新処理の一例を説明するフローチャートである。 19A and 19B are flowcharts for explaining an example of an execution plan update process for a job according to the first embodiment.
 バッチ割当管理部211は、バッチ実行部212からジョブの実行計画更新処理の実行指示を受信した場合、以下で説明する処理を開始する。 When the batch allocation management unit 211 receives an execution instruction for job execution plan update processing from the batch execution unit 212, the batch allocation management unit 211 starts processing described below.
 バッチ割当管理部211は、計算機システムの状態を予測する(ステップS1901)。ステップS1901の処理はステップS1401の処理と同一である。なお、各予測関数は、ステップS1901の実行時の履歴情報から生成されるため、ステップS1401において生成された予測関数とは異なる。 The batch allocation management unit 211 predicts the state of the computer system (step S1901). The process of step S1901 is the same as the process of step S1401. Since each prediction function is generated from the history information at the time of execution of step S1901, it differs from the prediction function generated in step S1401.
 次に、バッチ割当管理部211は、対象ジョブを含むバッチ処理のポリシを決定する(ステップS1902)。以下の説明では対象ジョブを含むバッチ処理を対象バッチ処理とも記載する。 Next, the batch assignment management unit 211 determines a policy for batch processing including the target job (step S1902). In the following description, batch processing including a target job is also referred to as target batch processing.
 具体的には、バッチ割当管理部211は、ポリシ管理情報227を参照し、ジョブネットID1101に対象バッチ処理に対応するジョブネットの識別子が格納され、かつ、選択フラグ1106に「ON」が格納されるエントリを検索する。なお、バッチ処理の実行計画変更処理の実行時にバッチ処理のポリシが選択されている場合、対象バッチ処理のポリシは一意に定まる。 Specifically, the batch allocation management unit 211 refers to the policy management information 227, stores the identifier of the job net corresponding to the target batch process in the job net ID 1101, and stores “ON” in the selection flag 1106. Search for entries. If a batch processing policy is selected during execution of a batch processing execution plan change process, the target batch processing policy is uniquely determined.
 次に、バッチ割当管理部211は、変更方法のループ処理を開始する(ステップS1903)。ステップS1903の処理は、ステップS1404の処理と同一である。 Next, the batch assignment management unit 211 starts a loop process of the change method (step S1903). The process in step S1903 is the same as the process in step S1404.
 次に、バッチ割当管理部211は、決定されたポリシに基づいて、対象ジョブに対して価格変動リソースが利用可能な状態であるか(ステップS1904)。ステップS1904の処理はステップS1406の処理と同一である。 Next, whether the batch allocation management unit 211 is in a state where the price fluctuation resource is available for the target job based on the determined policy (step S1904). The process in step S1904 is the same as the process in step S1406.
 価格変動リソースが利用可能な状態でないと判定された場合、バッチ割当管理部211は、ステップS1906に進む。 If it is determined that the price fluctuation resource is not available, the batch allocation management unit 211 proceeds to step S1906.
 価格変動リソースが利用可能な状態であると判定された場合、バッチ割当管理部211は、実行計画変更処理を実行する(ステップS1905)。ステップS1905の処理は、ステップS1407の処理と同一である。実行計画変更処理が実行されることによって、対象ジョブに対するリソースの予約が更新される。他のジョブに対するリソースの予約については変更されない。 If it is determined that the price fluctuation resource is available, the batch allocation management unit 211 executes an execution plan change process (step S1905). The process in step S1905 is the same as the process in step S1407. By executing the execution plan change process, the resource reservation for the target job is updated. It does not change the reservation of resources for other jobs.
 次に、バッチ割当管理部211は、全ての変更方法に対して処理が完了したか否かを判定する(ステップS1906)。ステップS1906の処理はステップS1409の処理と同一である。 Next, the batch assignment management unit 211 determines whether or not processing has been completed for all the change methods (step S1906). The process in step S1906 is the same as the process in step S1409.
 全ての変更方法に対して処理が完了していないと判定された場合、バッチ割当管理部211は、ステップS1903に戻り、新たな変更方法を選択し、同様の処理を実行する。 If it is determined that the processing has not been completed for all the change methods, the batch assignment management unit 211 returns to step S1903, selects a new change method, and executes the same processing.
 全ての変更方法に対して処理が完了したと判定された場合、バッチ割当管理部211は、実行計画管理情報229に追加されたエントリ群に基づいて、ポリシを満たす実行計画が存在するか否かを判定する(ステップS1907)。ステップS1907の処理はステップS1410の処理と同一である。 When it is determined that the processing has been completed for all the change methods, the batch allocation management unit 211 determines whether there is an execution plan that satisfies the policy based on the entry group added to the execution plan management information 229. Is determined (step S1907). The process in step S1907 is the same as the process in step S1410.
 ポリシを満たす実行計画が存在しないと判定された場合、バッチ割当管理部211は、実行計画更新処理を終了する。 When it is determined that there is no execution plan that satisfies the policy, the batch assignment management unit 211 ends the execution plan update process.
 ポリシを満たす実行計画が存在すると判定された場合、バッチ割当管理部211は、採用する実行計画を一つ選択する(ステップS1908)。ステップS1908の処理はステップS1411の処理と同一である。 If it is determined that there is an execution plan that satisfies the policy, the batch allocation management unit 211 selects one execution plan to be adopted (step S1908). The process in step S1908 is the same as the process in step S1411.
 次に、バッチ割当管理部211は、選択された実行計画に基づいて対象ジョブのリソースを予約する(ステップS1909)。 Next, the batch assignment management unit 211 reserves the resource of the target job based on the selected execution plan (step S1909).
 具体的には、バッチ割当管理部211は、他のバッチ処理に割り当てられないように対象ジョブのリソースを確保する。なお、他のジョブのリソースの予約は行われない。 Specifically, the batch assignment management unit 211 secures the resource of the target job so that it is not assigned to other batch processing. Note that the reservation of resources for other jobs is not performed.
 次に、バッチ割当管理部211は、バッチ処理の追加が許可されているか否かを判定する(ステップS1910)。ステップS1910の処理はステップS1413の処理と同一である。 Next, the batch assignment management unit 211 determines whether or not addition of batch processing is permitted (step S1910). The process in step S1910 is the same as the process in step S1413.
 バッチ処理の追加が許可されていないと判定された場合、バッチ割当管理部211は、実行計画更新処理を終了する。 If it is determined that the addition of batch processing is not permitted, the batch assignment management unit 211 ends the execution plan update processing.
 バッチ処理の追加が許可されていると判定された場合、バッチ割当管理部211は、表示部213を介して、ユーザに追加可能なバッチ処理の一覧を提示し(ステップS1911)、追加バッチ処理の設定を受け付ける(ステップS1912)。なお、ステップS1911及びステップS1912の処理は、ステップS1420及びステップS1421の処理と同一である。ステップS1912以降の処理は、追加バッチ処理に関する処理である。 If it is determined that the addition of the batch process is permitted, the batch assignment management unit 211 presents a list of batch processes that can be added to the user via the display unit 213 (step S1911), and The setting is accepted (step S1912). Note that the processing in step S1911 and step S1912 is the same as the processing in step S1420 and step S1421. The processes after step S1912 are processes related to the additional batch process.
 次に、バッチ割当管理部211は、追加バッチ処理のポリシを決定する(ステップS1913)。ステップS1913の処理はステップS1403の処理と同一である。 Next, the batch assignment management unit 211 determines a policy for additional batch processing (step S1913). The process in step S1913 is the same as the process in step S1403.
 次に、バッチ割当管理部211は、変更方法のループ処理を開始する(ステップS1914)。また、バッチ割当管理部211は、選択バッチ処理のジョブのループ処理を開始する(ステップS1915)。ステップS1914及びステップS1915の処理は、ステップS1404及びステップS1405の処理と同一である。 Next, the batch assignment management unit 211 starts a loop process of the change method (step S1914). In addition, the batch assignment management unit 211 starts a loop process of the job of the selected batch process (step S1915). The processes in steps S1914 and S1915 are the same as the processes in steps S1404 and S1405.
 次に、バッチ割当管理部211は、決定されたポリシに基づいて、価格変動リソースが利用可能な状態であるか(ステップS1916)。ステップS1916の処理はステップS1406の処理と同一である。 Next, whether the batch allocation management unit 211 is in a state where the price fluctuation resource is available based on the determined policy (step S1916). The process in step S1916 is the same as the process in step S1406.
 価格変動リソースが利用可能な状態でないと判定された場合、バッチ割当管理部211は、実行計画管理情報229から追加バッチ処理の実行計画を全て削除する(ステップS1923)。その後、バッチ割当管理部211は、実行計画更新処理を終了する。ステップS1923の処理はステップS1416の処理と同一である。 When it is determined that the price fluctuation resource is not available, the batch allocation management unit 211 deletes all execution plans for the additional batch processing from the execution plan management information 229 (step S1923). Thereafter, the batch assignment management unit 211 ends the execution plan update process. The process of step S1923 is the same as the process of step S1416.
 価格変動リソースが利用可能な状態であると判定された場合、バッチ割当管理部211は、実行計画変更処理を実行する(ステップS1917)。ステップS1917の処理は、ステップS1407の処理と同一である。 When it is determined that the price fluctuation resource is available, the batch allocation management unit 211 executes an execution plan change process (step S1917). The process of step S1917 is the same as the process of step S1407.
 次に、バッチ割当管理部211は、追加バッチ処理に含まれる全てのジョブに対して処理が完了したか否かを判定する(ステップS1918)。ステップS1918の処理はステップS1408の処理と同一である。 Next, the batch assignment management unit 211 determines whether or not processing has been completed for all jobs included in the additional batch processing (step S1918). The process of step S1918 is the same as the process of step S1408.
 追加バッチ処理に含まれる全てのジョブに対して処理が完了していないと判定された場合、バッチ割当管理部211は、ステップS1915に戻り、新たなジョブを選択し、同様の処理を実行する。 If it is determined that processing has not been completed for all jobs included in the additional batch processing, the batch allocation management unit 211 returns to step S1915, selects a new job, and executes similar processing.
 追加バッチ処理に含まれる全てのジョブに対して処理が完了したと判定された場合、バッチ割当管理部211は、全ての変更方法に対して処理が完了したか否かを判定する(ステップS1919)。ステップS1919の処理はステップS1409の処理と同一である。 When it is determined that the processing has been completed for all jobs included in the additional batch processing, the batch assignment management unit 211 determines whether the processing has been completed for all the change methods (step S1919). . The process in step S1919 is the same as the process in step S1409.
 全ての変更方法に対して処理が完了していないと判定された場合、バッチ割当管理部211は、ステップS1914に戻り、新たなジョブを選択し、同様の処理を実行する。 If it is determined that the processing has not been completed for all the change methods, the batch assignment management unit 211 returns to step S1914, selects a new job, and executes the same processing.
 全ての変更方法に対して処理が完了したと判定された場合、バッチ割当管理部211は、実行計画管理情報229に追加されたエントリ群に基づいて、ポリシを満たす実行計画が存在するか否かを判定する(ステップS1920)。ステップS1920の処理はステップS1410の処理と同一である。 When it is determined that the processing has been completed for all the change methods, the batch allocation management unit 211 determines whether there is an execution plan that satisfies the policy based on the entry group added to the execution plan management information 229. Is determined (step S1920). The process of step S1920 is the same as the process of step S1410.
 ポリシを満たす実行計画が存在しないと判定された場合、バッチ割当管理部211は、実行計画管理情報229から追加バッチ処理の実行計画を全て削除する(ステップS1923)。その後、バッチ割当管理部211は、実行計画更新処理を終了する。 If it is determined that there is no execution plan that satisfies the policy, the batch allocation management unit 211 deletes all execution plans for the additional batch processing from the execution plan management information 229 (step S1923). Thereafter, the batch assignment management unit 211 ends the execution plan update process.
 ポリシを満たす実行計画が存在すると判定された場合、バッチ割当管理部211は、採用する実行計画を一つ選択する(ステップS1921)。また、バッチ割当管理部211は、選択された実行計画に基づいてリソースを予約する(ステップS1922)。その後、バッチ割当管理部211は、ステップS1921及びステップS1922の処理はステップS1411及びステップS1412の処理と同一である。 If it is determined that there is an execution plan that satisfies the policy, the batch allocation management unit 211 selects one execution plan to be adopted (step S1921). Further, the batch allocation management unit 211 reserves resources based on the selected execution plan (step S1922). Thereafter, in the batch assignment management unit 211, the processes in steps S1921 and S1922 are the same as the processes in steps S1411 and S1412.
 図19A及び図19Bを用いて説明したように、バッチ処理の実行中に、最新の予測情報に基づいてポリシを満たように実行計画が更新される。これによって、より細やかな制御を実現できる。 As described with reference to FIGS. 19A and 19B, during the execution of batch processing, the execution plan is updated so as to satisfy the policy based on the latest prediction information. As a result, finer control can be realized.
 図20は、実施例1の表示部213によって表示されるユーザインタフェースの一例を示す図である。 FIG. 20 is a diagram illustrating an example of a user interface displayed by the display unit 213 according to the first embodiment.
 ユーザインタフェース2000は、実行計画生成処理及び実行計画更新処理の処理結果を表示する。 The user interface 2000 displays the processing results of the execution plan generation process and the execution plan update process.
 図20に示すユーザインタフェース2000は、一つのバッチ処理の処理結果を一つのタブ画面2001を用いて表示する表示形式である。 The user interface 2000 shown in FIG. 20 is a display format for displaying the processing result of one batch process using one tab screen 2001.
 タブ画面2001は、開始時間欄2011、目標時間欄2012、完了予定時間欄2013、及び追加バッチ処理候補欄2014を含む。 The tab screen 2001 includes a start time column 2011, a target time column 2012, a scheduled completion time column 2013, and an additional batch process candidate column 2014.
 開始時間欄2011は、ユーザによって設定されたバッチ処理の開始時間である。なお、開始時間欄2011に設定する値は、類似するバッチ処理の実行履歴等に基づいて自動的に算出されてもよい。目標時間欄2012は、ユーザによって設定されたバッチ処理の完了時間である。なお、開始時間欄2011及び目標時間欄2012には、許容される時間のズレの幅を入力してもよい。 The start time column 2011 is the start time of batch processing set by the user. Note that the value set in the start time column 2011 may be automatically calculated based on the execution history of similar batch processing. The target time column 2012 is a batch processing completion time set by the user. In the start time column 2011 and the target time column 2012, an allowable time gap may be input.
 完了予定時間欄2013は、実行計画生成処理、及び実行計画更新処理によってリソースの割当が変更された場合のバッチ処理の完了時間である。なお、完了予定時間欄2013には、ポリシの種別、料金、及び予約されたリソース量等を表示する項目を含んでもよい。 The scheduled completion time column 2013 is the completion time of the batch process when the resource allocation is changed by the execution plan generation process and the execution plan update process. Note that the scheduled completion time column 2013 may include items for displaying a policy type, a fee, a reserved resource amount, and the like.
 追加バッチ処理候補欄2014は、追加バッチ処理の候補を表示する欄である。追加バッチ処理候補欄2014は、ポリシ種別毎に追加バッチ処理表示欄2020を含む。追加バッチ処理表示欄2020は、一つ以上の詳細情報欄2021を含む。 The additional batch processing candidate column 2014 is a column for displaying additional batch processing candidates. The additional batch processing candidate column 2014 includes an additional batch processing display column 2020 for each policy type. The additional batch processing display field 2020 includes one or more detailed information fields 2021.
 詳細情報欄2021は、追加バッチ処理に設定されるパラメタ、開始時間、及び完了時間等を含む。また、詳細情報欄2021は、キャンセルボタン2022を含む。キャンセルボタン2022は、追加バッチ処理の追加をキャンセルするための操作ボタンである。当該操作ボタンが操作された場合、バッチ割当管理部211は、実行計画管理情報229から追加バッチ処理の実行計画を削除する。 The detailed information column 2021 includes parameters, start time, and completion time set for the additional batch processing. The detailed information column 2021 includes a cancel button 2022. A cancel button 2022 is an operation button for canceling the addition of the additional batch process. When the operation button is operated, the batch assignment management unit 211 deletes the execution plan for the additional batch process from the execution plan management information 229.
 なお、詳細情報欄2021には、追加バッチ処理の追加を許可する操作ボタンが含まれてもよい。この場合、バッチ割当管理部211は、当該操作ボタンが操作された場合に、実行計画管理情報229の追加バッチ処理の実行計画の確定フラグ1310に「1」を設定する。 Note that the detailed information column 2021 may include an operation button that permits addition of additional batch processing. In this case, when the operation button is operated, the batch assignment management unit 211 sets “1” to the execution plan confirmation flag 1310 of the additional batch process in the execution plan management information 229.
 図21は、実施例1の管理サーバ101が実行する処理の効果の一例を説明する図である。 FIG. 21 is a diagram illustrating an example of the effect of the process executed by the management server 101 according to the first embodiment.
 ここでは、横軸が時間、縦軸がリソースのリソース量を表すグラフを用いて説明する。曲線2101は、価格変動リソースの空きリソース量を示すグラフである。模様が付された矩形2102は、価格固定リソースの一つのインスタンスを示す。矩形2103は、価格変動リソースを用いた一つのインスタンスを示す。矩形2102、2103の高さはインスタンスの要求性能に対応するものとする。また、太枠で囲まれたリソース群2104は、追加バッチ処理のリソースを示す。 Here, explanation will be made using a graph in which the horizontal axis represents time and the vertical axis represents the resource amount of the resource. A curve 2101 is a graph showing the free resource amount of the price fluctuation resource. A rectangle 2102 with a pattern indicates one instance of a fixed price resource. A rectangle 2103 indicates one instance using a price fluctuation resource. The heights of the rectangles 2102 and 2103 correspond to the required performance of the instance. A resource group 2104 surrounded by a thick frame indicates resources for additional batch processing.
 パターン1は、価格変動リソースを用いないバッチ処理の実行計画のイメージを示す。この場合、要求性能が全て同じインスタンスを用いてバッチ処理が実行される。 Pattern 1 shows an image of an execution plan for batch processing that does not use price fluctuation resources. In this case, batch processing is executed using instances having the same required performance.
 パターン2は、価格変動リソースのみを用いたバッチ処理の実行計画のイメージを示す。パターン3は、価格固定リソース及び価格変動リソースを用いたバッチ処理の実行計画のイメージを示す。価格変動リソースを用いることによって、バッチ処理の完了時間を従来の目標時間より短縮することができる。また、コストパフォーマンスを向上できる。 Pattern 2 shows an image of an execution plan for batch processing using only price fluctuation resources. Pattern 3 shows an image of an execution plan for batch processing using a fixed price resource and a price fluctuation resource. By using the price fluctuation resource, the batch processing completion time can be shortened from the conventional target time. Moreover, cost performance can be improved.
 パターン4は、追加バッチ処理が追加された実行計画のイメージを示す。価格変動リソースを用いて主バッチ処理の完了時間を短縮するとともに、追加バッチ処理を実行することによって業務の向上等が可能となる。 Pattern 4 shows an image of an execution plan with additional batch processing added. It is possible to improve the business by executing the additional batch process while shortening the completion time of the main batch process using the price fluctuation resource.
 例えば、主バッチ処理が原価算出処理である場合に、より詳細な原価を算出するための追加バッチ処理、又は、パラメタを変更した原価算出処理に対応する追加バッチ処理が実行されることによって、価格設定の影響を多角的に分析できる。 For example, when the main batch process is a cost calculation process, an additional batch process for calculating a more detailed cost or an additional batch process corresponding to a cost calculation process with a changed parameter is executed. The influence of setting can be analyzed from various perspectives.
 図21で示すように、本実施例によれば、価格変動リソースを用いてユーザの要求を満たすバッチ処理のリソースの予約が可能となるため、テナントの運用効率の向上及び運用コストの削減が可能となる。 As shown in FIG. 21, according to the present embodiment, it is possible to reserve resources for batch processing that satisfies a user's request using price fluctuation resources, so that it is possible to improve tenant operation efficiency and reduce operation costs. It becomes.
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 In addition, this invention is not limited to the above-mentioned Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROM等の非一時的な記憶媒体が用いられる。 In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. The present invention can also be realized by software program codes that implement the functions of the embodiments. In this case, a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program codes include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, Non-temporary storage media such as a nonvolatile memory card and ROM are used.
 また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。 Further, the program code for realizing the functions described in this embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, Perl, Shell, PHP, Java, and the like.
 さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, by distributing the program code of the software that realizes the functions of the embodiments via a network, the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R. The CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.
 上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiments, the control lines and information lines indicate those that are considered necessary for the explanation, and do not necessarily indicate all the control lines and information lines on the product. All the components may be connected to each other.

Claims (10)

  1.  計算機リソースを提供する複数の計算機を管理する管理計算機であって、
     前記管理計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続され、デバイスに接続するための第1のインタフェースを有し、
     前記複数の計算機の各々は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続され、デバイスに接続するための第2のインタフェースを有し、
     前記複数の計算機上には、所定の業務を提供する少なくとも一つの業務システムが前記複数の計算機の計算機リソースを用いて構築され、
     前記少なくとも一つの業務システムは、複数のジョブから構成されるバッチ処理を実行し、
     前記管理計算機は、前記バッチ処理に対する計算機リソースの割当を管理するバッチ割当管理部と、前記バッチ処理の実行を制御するバッチ実行部と、を有し、
     前記バッチ割当管理部は、
     前記バッチ処理の開始時間、及び、前記バッチ処理に対して割り当てられる、利用時間にかかわらず利用料金が一定の計算機リソースである第1リソースに関する情報を含むバッチ処理管理情報と、
     前記バッチ処理の前記複数のジョブの構成を管理するジョブ管理情報と、
     前記バッチ処理に対する計算機リソースの割当方針を管理するポリシ管理情報と、
     利用時間に応じて利用料金が変動する計算機リソースである第2リソースの空き容量の履歴を管理する空きリソース量履歴情報と、
     前記第2リソースの利用料金の履歴を管理する料金履歴情報と、を管理し、
     前記バッチ割当管理部は、
     前記空きリソース量履歴情報に基づいて、前記第2リソースの空き容量を予測するための第1リソース量予測情報を生成し、
     前記料金履歴情報に基づいて、前記第2リソースの利用料金を予測するための第1料金予測情報を生成し、
     前記第1リソース量予測情報、前記第1料金予測情報、及び前記ポリシ管理情報に基づいて、前記バッチ処理に対して前記第2リソースを利用できるか否かを判定し、
     前記バッチ処理に対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出し、
     前記複数のジョブの各々に必要な前記第2リソースのリソース量を予約するための第1実行計画情報を生成し、
     前記バッチ実行部は、前記第1実行計画情報に基づいて前記バッチ処理の実行を制御することを特徴とする管理計算機。
    A management computer that manages a plurality of computers that provide computer resources,
    The management computer has a first processor, a first memory connected to the first processor, and a first interface connected to the first processor and connected to a device,
    Each of the plurality of computers has a second processor, a second memory connected to the second processor, and a second interface connected to the second processor and connected to the device. ,
    On the plurality of computers, at least one business system that provides a predetermined business is constructed using computer resources of the plurality of computers,
    The at least one business system executes batch processing including a plurality of jobs,
    The management computer has a batch allocation management unit that manages allocation of computer resources for the batch processing, and a batch execution unit that controls execution of the batch processing,
    The batch allocation management unit
    Batch processing management information including information related to a first resource that is a computer resource that is assigned to the batch process and has a fixed usage fee regardless of the usage time, and is assigned to the batch process.
    Job management information for managing the configuration of the plurality of jobs of the batch processing;
    Policy management information for managing a computer resource allocation policy for the batch processing;
    Free resource amount history information for managing the history of the free capacity of the second resource, which is a computer resource whose use fee varies depending on the use time,
    Managing charge history information for managing a history of usage charges of the second resource;
    The batch allocation management unit
    Generating first resource amount prediction information for predicting the free capacity of the second resource based on the free resource amount history information;
    Based on the fee history information, generating first fee prediction information for predicting a usage fee of the second resource,
    Determining whether the second resource can be used for the batch processing based on the first resource amount prediction information, the first fee prediction information, and the policy management information;
    When it is determined that the second resource can be used for the batch processing, the resource amount of the second resource required for each of the plurality of jobs is determined based on the batch processing management information and the job management information. Calculate
    Generating first execution plan information for reserving a resource amount of the second resource required for each of the plurality of jobs;
    The batch execution unit controls execution of the batch process based on the first execution plan information.
  2.  請求項1に記載の管理計算機であって、
     前記バッチ割当管理部は、
     前記第1実行計画情報が生成された後、前記第1リソース量予測情報、前記第1料金予測情報、及び前記ポリシ管理情報に基づいて、追加バッチ処理に対して前記第2リソースを利用できるか否かを判定し、
     前記追加バッチ処理に対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記追加バッチ処理の前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出し、
     前記追加バッチ処理の前記複数のジョブの各々に必要な前記第2リソースのリソース量を予約するための第2実行計画情報を生成し、
     前記バッチ実行部は、前記第2実行計画情報に基づいて前記追加バッチ処理の実行を制御することを特徴とする管理計算機。
    The management computer according to claim 1,
    The batch allocation management unit
    After the first execution plan information is generated, can the second resource be used for additional batch processing based on the first resource amount prediction information, the first fee prediction information, and the policy management information? Determine whether or not
    When it is determined that the second resource can be used for the additional batch processing, the second resource necessary for each of the plurality of jobs of the additional batch processing is determined based on the batch processing management information and the job management information. Calculate the resource amount of 2 resources,
    Generating second execution plan information for reserving a resource amount of the second resource necessary for each of the plurality of jobs of the additional batch processing;
    The batch execution unit controls execution of the additional batch process based on the second execution plan information.
  3.  請求項2に記載の管理計算機であって、
     前記バッチ割当管理部は、前記複数のジョブに割り当てる計算機リソース量の変更方法を定義する変更方法定義情報を管理し、
     前記バッチ割当管理部は、
     前記第1実行計画情報を生成する場合及び前記第2実行計画情報を生成する場合に、前記ポリシ管理情報に基づいて、前記バッチ処理及び前記追加バッチ処理に適応する前記変更方法を選択し、
     前記選択された変更方法、前記バッチ処理管理情報、及び前記ジョブ管理情報に基づいて、前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出し、
     前記第1リソース量予測情報に基づいて、前記算出された第2リソースのリソース量だけ空きリソースが存在するか否かを判定し、
     前記算出された第2リソースのリソース量だけ空きリソースが存在すると判定された場合、前記第2リソースを予約するための情報を前記第1実行計画情報及び前記第2実行計画情報に設定し、
     前記算出された第2リソースのリソース量だけ空きリソースが存在しないと判定された場合、前記第1リソースを予約するための情報を前記第1実行計画情報及び前記第2実行計画情報に設定することを特徴とする管理計算機。
    The management computer according to claim 2,
    The batch allocation management unit manages change method definition information that defines a change method of a computer resource amount allocated to the plurality of jobs,
    The batch allocation management unit
    When generating the first execution plan information and when generating the second execution plan information, select the change method adapted to the batch processing and the additional batch processing based on the policy management information,
    Based on the selected change method, the batch processing management information, and the job management information, a resource amount of the second resource required for each of the plurality of jobs is calculated,
    Based on the first resource amount prediction information, it is determined whether there is a free resource by the calculated resource amount of the second resource,
    When it is determined that there are free resources corresponding to the calculated amount of the second resource, information for reserving the second resource is set in the first execution plan information and the second execution plan information,
    When it is determined that there are no free resources for the calculated amount of the second resource, information for reserving the first resource is set in the first execution plan information and the second execution plan information. Management computer characterized by
  4.  請求項2に記載の管理計算機であって、
     前記バッチ割当管理部は、
     複数の前記第1実行計画情報が生成された場合及び複数の前記第2実行計画情報が生成された場合、前記ポリシ管理情報に基づいて、一つの前記第1実行計画情報及び一つの前記第2実行計画情報を選択し、
     前記選択された第1実行計画情報及び前記選択された第2実行計画情報に基づいて、前記第2リソースを予約することを特徴とする管理計算機。
    The management computer according to claim 2,
    The batch allocation management unit
    When a plurality of the first execution plan information are generated and a plurality of the second execution plan information are generated, one first execution plan information and one second one are generated based on the policy management information. Select execution plan information,
    A management computer that reserves the second resource based on the selected first execution plan information and the selected second execution plan information.
  5.  請求項2に記載の管理計算機であって、
     前記バッチ実行部は、
     前記第1実行計画情報に基づいて前記バッチ処理に含まれる第1ジョブの処理が実行された場合、前記第1ジョブの実行後に実行される第2ジョブを特定し、
     前記第2ジョブの識別情報を含む、前記第1実行計画情報の更新指示を前記バッチ割当管理部に出力し、
     前記バッチ割当管理部は、
     前記空きリソース量履歴情報に基づいて、前記第2リソースの空き容量を予測するための第2リソース量予測情報を生成し、
     前記料金履歴情報に基づいて、前記第2リソースの利用料金を予測するための第2料金予測情報を生成し、
     前記第2リソース量予測情報、前記第2料金予測情報、及び前記ポリシ管理情報に基づいて、前記第2ジョブに対して前記第2リソースを利用できるか否かを判定し、
     前記第2ジョブに対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記第2ジョブに必要な前記第2リソースのリソース量を算出し、
     前記算出された前記第2ジョブに必要な前記第2リソースのリソース量を前記第1実行計画情報に反映することによって当該第1実行計画情報を更新することを特徴とする管理計算機。
    The management computer according to claim 2,
    The batch execution unit
    When processing of the first job included in the batch processing is executed based on the first execution plan information, a second job to be executed after execution of the first job is specified,
    Outputting an instruction to update the first execution plan information including the identification information of the second job to the batch allocation management unit;
    The batch allocation management unit
    Generating second resource amount prediction information for predicting the free capacity of the second resource based on the free resource amount history information;
    Generating second fee prediction information for predicting a usage fee of the second resource based on the fee history information;
    Determining whether the second resource can be used for the second job based on the second resource amount prediction information, the second fee prediction information, and the policy management information;
    When it is determined that the second resource can be used for the second job, a resource amount of the second resource necessary for the second job is calculated based on the batch processing management information and the job management information. And
    A management computer that updates the first execution plan information by reflecting the calculated resource amount of the second resource necessary for the second job in the first execution plan information.
  6.  計算機リソースを提供する複数の計算機を管理する管理計算機が実行するバッチ処理の実行方法であって、
     前記管理計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続され、デバイスに接続するための第1のインタフェースを有し、
     前記複数の計算機の各々は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続され、デバイスに接続するための第2のインタフェースを有し、
     前記複数の計算機上には、所定の業務を提供する少なくとも一つの業務システムが前記複数の計算機の計算機リソースを用いて構築され、
     前記少なくとも一つの業務システムは、複数のジョブから構成されるバッチ処理を実行し、
     前記管理計算機は、前記バッチ処理に対する計算機リソースの割当を管理するバッチ割当管理部と、前記バッチ処理の実行を制御するバッチ実行部と、を有し、
     前記バッチ割当管理部は、
     前記バッチ処理の開始時間、及び、前記バッチ処理に対して割り当てられる、利用時間にかかわらず利用料金が一定の計算機リソースである第1リソースに関する情報を含むバッチ処理管理情報と、
     前記バッチ処理の前記複数のジョブの構成を管理するジョブ管理情報と、
     前記業務システムの運用方針を定義するポリシ管理情報と、
     利用時間に応じて利用料金が変動する計算機リソースである第2リソースの空き容量の履歴を管理する空きリソース量履歴情報と、
     前記第2リソースの利用料金の履歴を管理する料金履歴情報と、を管理し、
     前記バッチ処理の実行方法は、
     前記バッチ割当管理部が、前記空きリソース量履歴情報に基づいて、前記第2リソースの空き容量を予測するための第1リソース量予測情報を生成する第1のステップと、
     前記バッチ割当管理部が、前記料金履歴情報に基づいて、前記第2リソースの利用料金を予測するための第1料金予測情報を生成する第2のステップと、
     前記バッチ割当管理部が、前記第1リソース量予測情報、前記第1料金予測情報、及び前記ポリシ管理情報に基づいて、前記バッチ処理に対して前記第2リソースを利用できるか否かを判定する第3のステップと、
     前記バッチ割当管理部が、前記バッチ処理に対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出する第4のステップと、
     前記バッチ割当管理部が、前記複数のジョブの各々に必要な前記第2リソースのリソース量を予約するための第1実行計画情報を生成する第5のステップと、
     前記バッチ実行部が、前記第1実行計画情報に基づいて前記バッチ処理の実行を制御する第6のステップと、を含むことを特徴とするバッチ処理の実行方法。
    An execution method of batch processing executed by a management computer that manages a plurality of computers that provide computer resources,
    The management computer has a first processor, a first memory connected to the first processor, a first interface connected to the first processor and connected to a device,
    Each of the plurality of computers has a second processor, a second memory connected to the second processor, a second interface connected to the second processor and connected to a device,
    On the plurality of computers, at least one business system that provides a predetermined business is constructed using computer resources of the plurality of computers,
    The at least one business system executes batch processing including a plurality of jobs,
    The management computer has a batch allocation management unit that manages allocation of computer resources for the batch processing, and a batch execution unit that controls execution of the batch processing,
    The batch allocation management unit
    Batch processing management information including information related to a first resource that is a computer resource that is assigned to the batch process and has a fixed usage fee regardless of the usage time, and is assigned to the batch process.
    Job management information for managing the configuration of the plurality of jobs of the batch processing;
    Policy management information that defines the operational policy of the business system;
    Free resource amount history information for managing the history of the free capacity of the second resource, which is a computer resource whose use fee varies depending on the use time,
    Managing charge history information for managing a history of usage charges of the second resource;
    The execution method of the batch process is as follows:
    A first step in which the batch allocation management unit generates first resource amount prediction information for predicting a free capacity of the second resource based on the free resource amount history information;
    A second step in which the batch allocation management unit generates first fee prediction information for predicting a usage fee of the second resource based on the fee history information;
    The batch allocation management unit determines whether the second resource can be used for the batch processing based on the first resource amount prediction information, the first fee prediction information, and the policy management information. A third step;
    When the batch allocation management unit determines that the second resource can be used for the batch processing, the batch allocation management unit is required for each of the plurality of jobs based on the batch processing management information and the job management information. A fourth step of calculating the resource amount of the second resource;
    A fifth step in which the batch allocation management unit generates first execution plan information for reserving a resource amount of the second resource necessary for each of the plurality of jobs;
    The batch execution unit includes a sixth step of controlling execution of the batch process based on the first execution plan information.
  7.  請求項6に記載のバッチ処理の実行方法であって、
     前記バッチ割当管理部が、前記第1実行計画情報が生成された後、前記第1リソース量予測情報、前記第1料金予測情報、及び前記ポリシ管理情報に基づいて、追加バッチ処理に対して前記第2リソースを利用できるか否かを判定する第7のステップと、
     前記バッチ割当管理部が、前記追加バッチ処理に対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記追加バッチ処理の前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出する第8のステップと、
     前記バッチ割当管理部が、前記追加バッチ処理の前記複数のジョブの各々に必要な前記第2リソースのリソース量を予約するための第2実行計画情報を生成する第9のステップと、
     前記バッチ実行部が、前記第2実行計画情報に基づいて前記追加バッチ処理の実行を制御する第10のステップと、を含むことを特徴とするバッチ処理の実行方法。
    The execution method of batch processing according to claim 6,
    After the first execution plan information is generated, the batch allocation management unit performs the additional batch processing on the basis of the first resource amount prediction information, the first fee prediction information, and the policy management information. A seventh step of determining whether the second resource can be used;
    When the batch allocation management unit determines that the second resource can be used for the additional batch processing, the plurality of jobs of the additional batch processing based on the batch processing management information and the job management information An eighth step of calculating a resource amount of the second resource required for each of
    A ninth step in which the batch allocation management unit generates second execution plan information for reserving a resource amount of the second resource necessary for each of the plurality of jobs of the additional batch processing;
    The batch execution unit includes: a tenth step of controlling execution of the additional batch process based on the second execution plan information.
  8.  請求項7に記載のバッチ処理の実行方法であって、
     前記バッチ割当管理部は、前記複数のジョブに割り当てる計算機リソース量の変更方法を定義する変更方法定義情報を管理し、
     前記第3のステップ及び前記第7のステップは、前記バッチ割当管理部が、前記ポリシ管理情報に基づいて、前記バッチ処理及び前記追加バッチ処理に適応する前記変更方法を選択するステップを含み、
     前記第4のステップ及び前記第8のステップは、前記バッチ割当管理部が、前記選択された変更方法、前記バッチ処理管理情報、及び前記ジョブ管理情報に基づいて、前記複数のジョブの各々に必要な前記第2リソースのリソース量を算出するステップを含み、
     前記第5のステップ及び前記第9のステップは、
     前記バッチ割当管理部が、前記第1リソース量予測情報に基づいて、前記算出された第2リソースのリソース量だけ空きリソースが存在するか否かを判定するステップと、
     前記バッチ割当管理部が、前記算出された第2リソースのリソース量だけ空きリソースが存在すると判定された場合、前記第2リソースを予約するための情報を前記第1実行計画情報及び前記第2実行計画情報に設定するステップと、
     前記バッチ割当管理部が、前記算出された第2リソースのリソース量だけ空きリソースが存在しないと判定された場合、前記第1リソースを予約するための情報を前記第1実行計画情報及び前記第2実行計画情報に設定するステップと、を含むことを特徴とするバッチ処理の実行方法。
    The execution method of batch processing according to claim 7,
    The batch allocation management unit manages change method definition information that defines a change method of a computer resource amount allocated to the plurality of jobs,
    The third step and the seventh step include a step in which the batch allocation management unit selects the change method adapted to the batch processing and the additional batch processing based on the policy management information,
    The fourth step and the eighth step are required for each of the plurality of jobs by the batch allocation management unit based on the selected change method, the batch processing management information, and the job management information. Calculating a resource amount of the second resource,
    The fifth step and the ninth step are:
    The batch allocation management unit determining, based on the first resource amount prediction information, whether or not there are free resources corresponding to the calculated resource amount of the second resource;
    When the batch allocation management unit determines that there are free resources for the calculated amount of the second resource, information for reserving the second resource is the first execution plan information and the second execution information. Steps to set in the plan information,
    When the batch allocation management unit determines that there are no free resources by the calculated amount of the second resource, information for reserving the first resource is the first execution plan information and the second And a step for setting the execution plan information.
  9.  請求項7に記載のバッチ処理の実行方法であって、
     前記第5のステップ及び前記第9のステップは、
     前記バッチ割当管理部が、複数の前記第1実行計画情報が生成された場合及び複数の前記第2実行計画情報が生成された場合、前記ポリシ管理情報に基づいて、一つの前記第1実行計画情報及び一つの前記第2実行計画情報を選択するステップと、
     前記バッチ割当管理部が、前記選択された第1実行計画情報及び前記選択された第2実行計画情報に基づいて、前記第2リソースを予約するステップと、を含むことを特徴とするバッチ処理の実行方法。
    The execution method of batch processing according to claim 7,
    The fifth step and the ninth step are:
    When the batch allocation management unit generates a plurality of the first execution plan information and a plurality of the second execution plan information, one batch of the first execution plan is generated based on the policy management information. Selecting information and one piece of the second execution plan information;
    The batch allocation management unit includes a step of reserving the second resource based on the selected first execution plan information and the selected second execution plan information. Execution method.
  10.  請求項7に記載のバッチ処理の実行方法であって、
     前記第6のステップ前記第10のステップは、
     前記バッチ実行部が、前記第1実行計画情報に基づいて前記バッチ処理に含まれる第1ジョブの処理が実行された場合、前記第1ジョブの実行後に実行される第2ジョブを特定するステップと、
     前記バッチ実行部が、前記第2ジョブの識別情報を含む、前記第1実行計画情報の更新指示を前記バッチ割当管理部に出力するステップと、を含み、
     前記バッチ処理の実行方法は、
     前記バッチ割当管理部が、前記第1実行計画情報の更新指示を受信した場合、前記空きリソース量履歴情報に基づいて、前記第2リソースの空き容量を予測するための第2リソース量予測情報を生成するステップと、
     前記バッチ割当管理部が、前記料金履歴情報に基づいて、前記第2リソースの利用料金を予測するための第2料金予測情報を生成するステップと、
     前記バッチ割当管理部が、前記第2リソース量予測情報、前記第2料金予測情報、及び前記ポリシ管理情報に基づいて、前記第2ジョブに対して前記第2リソースを利用できるか否かを判定するステップと、
     前記バッチ割当管理部が、前記第2ジョブに対して前記第2リソースを利用できると判定された場合、前記バッチ処理管理情報及び前記ジョブ管理情報に基づいて、前記第2ジョブに必要な前記第2リソースのリソース量を算出するステップと、
     前記バッチ割当管理部が、前記算出された前記第2ジョブに必要な前記第2リソースのリソース量を前記第1実行計画情報に反映することによって当該第1実行計画情報を更新するステップと、を含むことを特徴とするバッチ処理の実行方法。
    The execution method of batch processing according to claim 7,
    The sixth step, the tenth step,
    The batch execution unit specifying a second job to be executed after execution of the first job when processing of the first job included in the batch processing is executed based on the first execution plan information; ,
    The batch execution unit, including the identification information of the second job, outputting an update instruction for the first execution plan information to the batch allocation management unit,
    The execution method of the batch process is as follows:
    When the batch allocation management unit receives an instruction to update the first execution plan information, second resource amount prediction information for predicting the free capacity of the second resource is based on the free resource amount history information. Generating step;
    The batch allocation management unit generating second fee prediction information for predicting a usage fee of the second resource based on the fee history information;
    The batch allocation management unit determines whether the second resource can be used for the second job based on the second resource amount prediction information, the second fee prediction information, and the policy management information. And steps to
    If the batch allocation management unit determines that the second resource can be used for the second job, the second job necessary for the second job is based on the batch processing management information and the job management information. Calculating a resource amount of two resources;
    The batch allocation management unit updating the first execution plan information by reflecting the calculated resource amount of the second resource necessary for the second job in the first execution plan information; A method for performing batch processing, comprising:
PCT/JP2015/085993 2015-12-24 2015-12-24 Management computer and batch processing execution method WO2017109890A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/085993 WO2017109890A1 (en) 2015-12-24 2015-12-24 Management computer and batch processing execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/085993 WO2017109890A1 (en) 2015-12-24 2015-12-24 Management computer and batch processing execution method

Publications (1)

Publication Number Publication Date
WO2017109890A1 true WO2017109890A1 (en) 2017-06-29

Family

ID=59089740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/085993 WO2017109890A1 (en) 2015-12-24 2015-12-24 Management computer and batch processing execution method

Country Status (1)

Country Link
WO (1) WO2017109890A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021111611A1 (en) * 2019-12-06 2021-06-10
CN113742052A (en) * 2020-05-29 2021-12-03 北京京东振世信息技术有限公司 Batch task processing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120310765A1 (en) * 2011-05-31 2012-12-06 Jonathan Masters Automated cost assessment of cloud computing resources
WO2014024251A1 (en) * 2012-08-06 2014-02-13 富士通株式会社 Cloud service selection device, cloud service selection system, cloud service selection method, and cloud service selection program
JP2015524581A (en) * 2012-11-09 2015-08-24 株式会社日立製作所 Management computer, computer system, and instance management method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120310765A1 (en) * 2011-05-31 2012-12-06 Jonathan Masters Automated cost assessment of cloud computing resources
WO2014024251A1 (en) * 2012-08-06 2014-02-13 富士通株式会社 Cloud service selection device, cloud service selection system, cloud service selection method, and cloud service selection program
JP2015524581A (en) * 2012-11-09 2015-08-24 株式会社日立製作所 Management computer, computer system, and instance management method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021111611A1 (en) * 2019-12-06 2021-06-10
WO2021111611A1 (en) * 2019-12-06 2021-06-10 日本電信電話株式会社 Thread synchronization device, thread synchronization method, and program
JP7384220B2 (en) 2019-12-06 2023-11-21 日本電信電話株式会社 Thread synchronizers, thread synchronization methods, and programs
CN113742052A (en) * 2020-05-29 2021-12-03 北京京东振世信息技术有限公司 Batch task processing method and device
CN113742052B (en) * 2020-05-29 2023-09-01 北京京东振世信息技术有限公司 Batch task processing method and device

Similar Documents

Publication Publication Date Title
Gill et al. BULLET: particle swarm optimization based scheduling technique for provisioned cloud resources
US11656895B1 (en) Computing resource provisioning
US8266254B2 (en) Allocating resources in a distributed computing environment
JP6254948B2 (en) Method, program, storage medium storing program, and system for assigning job to pool of virtual machine in distributed computing environment and executing task on virtual machine
JP5400482B2 (en) Management computer, resource management method, resource management program, recording medium, and information processing system
JP6025856B2 (en) Shared resource systems, methods for allocating resources, and computer program products (systems, methods, and program products for cost-aware template selection for provisioning shared resources)
EP2802998B1 (en) Assignment of resources in virtual machine pools
JP5951111B2 (en) Management computer, computer system, and instance management method
JP5476485B2 (en) Service reservation management method, virtual computer system, and storage medium
JP5767480B2 (en) Information processing apparatus, information processing system, arrangement configuration determining method, program, and recording medium
US10120724B2 (en) Optimized resource metering in a multi tenanted distributed file system
US20110154353A1 (en) Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US20130179289A1 (en) Pricing of resources in virtual machine pools
Chard et al. Cost-aware cloud provisioning
US20160156568A1 (en) Computer system and computer resource allocation management method
US20210157644A1 (en) Selecting an optimal combination of cloud resources within budget constraints
US20210109787A1 (en) Estimating resource requests for workloads to offload to host systems in a computing environment
US20170359221A1 (en) Method and management system for calculating billing amount in relation to data volume reduction function
JP6293683B2 (en) Computer system and coping method for performance failure of computer system
US20180136980A1 (en) Provisioning of computing resources for a workload
US20150235156A1 (en) Enabling Capacity On Demand In A Computing System Using A Calendar
WO2017109890A1 (en) Management computer and batch processing execution method
US10877814B2 (en) Profiling workloads in host systems allocated to a cluster to determine adjustments to allocation of host systems to the cluster
US20140164594A1 (en) Intelligent placement of virtual servers within a virtualized computing environment
US10230664B1 (en) Strategic resource allocation in a web-based computing system

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15911328

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP