WO2012056596A1 - 計算機システム及び処理制御方法 - Google Patents

計算機システム及び処理制御方法 Download PDF

Info

Publication number
WO2012056596A1
WO2012056596A1 PCT/JP2010/072637 JP2010072637W WO2012056596A1 WO 2012056596 A1 WO2012056596 A1 WO 2012056596A1 JP 2010072637 W JP2010072637 W JP 2010072637W WO 2012056596 A1 WO2012056596 A1 WO 2012056596A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
task
physical resource
time
physical
Prior art date
Application number
PCT/JP2010/072637
Other languages
English (en)
French (fr)
Inventor
雄二郎 市川
高本 良史
貴志 爲重
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US13/877,696 priority Critical patent/US9396026B2/en
Publication of WO2012056596A1 publication Critical patent/WO2012056596A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/485Resource constraint

Definitions

  • the present invention relates to a computer system provided with a server virtualization mechanism, and more particularly to a technique for determining a control method of a process operating on a server.
  • This effect will affect the processing efficiency of periodic tasks performed on business. For example, when executing a periodic task that requires network bandwidth such as backup on a virtual server, the execution time depends on whether other virtual servers running on the same physical server are using a large amount of network bandwidth. change. As a result, the task cannot be completed within the execution time estimated at the time of design, and there is a possibility that the business or task to be executed after the regular task is completed cannot be started at the scheduled time.
  • the problem to be solved by the present invention is to execute a task before the original start time in a situation where there is a surplus in physical resources in order to complete the task by a target completion time that is a periodic task. That is.
  • a typical example of the invention disclosed in the present application is as follows. That is, a processing control method for controlling processing for the business, comprising a computer including a processor and a memory, the business, processing for the business, and a management server that manages physical resources of the computer, A second procedure in which the management server assigns the task to the computer and executes the task, and the management server sets a process start time and an end time of the process in the task execution information; A third procedure in which the management server sets the amount of physical resources of the computer necessary for execution of the processing as task resource information as a first physical resource amount, and the management server includes the computer A fourth procedure for acquiring a physical resource usage amount as a second physical resource amount, and a second physical resource amount indicating that the management server uses a physical resource of the computer, The previous first physical resource amount necessary for execution of the processing is compared, and it is determined whether the physical resource of the computer has the sum of the first physical resource amount and the second physical resource amount.
  • the task set in the task execution information A sixth procedure for updating the process start time to the current time side, and when the management server monitors the task execution information and the current time becomes the process start time, the computer And a seventh procedure for instructing the start of the process.
  • FIG. 1 is a block diagram illustrating a configuration of a computer system including a server virtualization mechanism according to the first embodiment of this invention.
  • the computer system includes a management server 201, one or more physical servers 111, one or more network switches 108, one or more storage switches 112, and a disk array device 116.
  • the management server 201 is a computer controlled by a program to be executed, and has a NIC 205 connected to the network switch 108.
  • the management server 201 is connected to the physical server 111 and the disk array device 116 via the network switch 207.
  • the management server 201 realizes the functions of the resource management unit 102, the task control unit 103, the business management unit 104, and the server management unit 105, and includes a resource usage status table 119, a task execution table as tables necessary for these processes. (Task execution information) 107, an execution pattern table (task resource information) 108, and a business table 118 are included. Each table will be described later using a configuration example of the table in FIG.
  • the physical server 111 is a computer controlled by a program to be executed, and has a NIC connected to the network switch 207 and a host bus adapter (HBA) connected to the storage switch 112.
  • the physical server 111 is connected to another physical server 111, the management server 201, and the disk array device 116 via the network switch 207.
  • the physical server 111 is connected to the disk array device 116 via the storage switch 112.
  • the storage switch 112 constitutes a SAN (Storage Area Network) 112A.
  • the physical server 111 implements the functions of the server virtualization mechanism 110 (or server virtualization unit) and the virtual server 109.
  • the network switch 207 is one or more network devices constituting the network 207A.
  • the network device is specifically a network switch, a router, a load balancer, and / or a firewall.
  • the disk array device 116 includes a FC (Fiber Channel) and a LAN interface, and is a storage system including one or more disks used by the management server 201 and the physical server 111 and / or a nonvolatile semiconductor storage device.
  • the disk array device 116 includes a virtual server image storage disk 114 and a definition information storage disk 115 as disks necessary for executing the server virtualization mechanism 110 and the virtual server 109.
  • the virtual server image storage disk 114 is a disk volume (or logical volume) having a disk image constituting the virtual server 109.
  • the definition information storage disk 115 is the contents of an OS (Operating System) and business 320 installed in the virtual server 109, and virtual devices (virtual processors, virtual memory, virtual I / O devices, etc.) assigned to the virtual server 109.
  • This is a disk volume (or logical volume) having metadata describing.
  • the disk array device 116 includes a data disk 3201 as a logical volume for storing business data used by a business executed on the virtual server 109.
  • the data disk 3201 may be generated for each business, or may be a shared volume in which one logical volume is shared by a plurality of business (or virtual server 109).
  • FIG. 2 shows the configuration of the management server 201.
  • the management server 201 includes a resource management unit 102, a task control unit 103, a business management unit 104, and a server management unit 105.
  • the resource management unit 102, the task control unit 103, the business management unit 104, and the server management unit 105 are described as programs executed by the processor (CPU) 203. Hardware, firmware, or a combination thereof.
  • the resource management unit 102, task control unit 103, task management unit 104, and server management unit 105 are stored in an auxiliary storage device included in the management server 201, loaded into the memory 202 at the time of execution, and then executed by the processor 203.
  • the resource management unit 102 collects and holds load information (CPU usage rate, memory usage, etc.) of each physical server 111 from the physical server 111.
  • the task control unit 103 manages an execution state of a task necessary for a task executed on the virtual server 109 and transmits a task execution instruction to the virtual server 109.
  • the business management unit 104 holds information associating the physical server 111 with the business running on the virtual server 109 on the physical server 111.
  • the server management unit 105 collects configuration information (host name, operating system type, device information, etc.) related to each physical server 111 from the physical server 111 and holds it. Then, the server management unit 105 controls the virtual server 109 on the physical server 111 by instructing the server virtual mechanism 110 of the physical server 111 to generate, move, or delete the virtual server 109 based on a command from an administrator or the like. . Further, the server management unit 105 can control the business 320 executed by the virtual server 109.
  • the server management unit 105 selects the physical server 111 that performs the business 320 and assigns the business 320 to the virtual server 109 on the selected physical server 111.
  • the virtual server 109 can provide the business 320 to a client terminal (not shown) by executing the business 320.
  • the management server 201 has a NIC 205 for connecting to the network 207A.
  • the management server 201 is connected to the physical server 111 and the disk array device 116 via the network 207A.
  • the management server 201 may have a plurality of NICs.
  • FIG. 3 shows the configuration of the physical server 111.
  • the physical server 111 includes a memory 301 and a processor 303.
  • the memory 301 holds a program for executing the server virtualization mechanism 110 and the virtual server 109.
  • the physical server 111 has a NIC 305 for connecting to the network 207A.
  • the physical server 111 is connected to the management server 201 and other physical servers 111 via the network 207A.
  • the physical server 111 includes a host bus adapter (HBA) 304 for connecting to the disk array device 116 through the SAN 112A.
  • the physical server 111 may have a plurality of NICs and HBAs.
  • the server virtualization mechanism 110 includes a virtual server management unit 310 and a control interface (I / F) 302.
  • the server virtualization mechanism 110 virtualizes computer resources of the physical server 111 and provides a plurality of virtual servers 109.
  • the server virtualization mechanism 110 can be configured by, for example, a VMM (Virtual Machine Monitor) or a hypervisor. In this embodiment, an example in which a VMM is adopted as the server virtualization mechanism 110 is shown.
  • the virtual server management unit 310 includes load information (CPU usage rate, memory usage, etc.), configuration information (OS type, assigned virtual device, etc.), status information (power supply, device validity / invalidity, Collect, maintain, and update faults).
  • the control interface 302 provides a user interface for accessing the virtual server management unit 310 from the outside (the management server 201, another physical server 111, etc.).
  • the virtual server 109 is a virtual server that functions by allocating the computer resources of the physical server 111 by the server virtualization mechanism 110.
  • processing software / program etc. for providing the OS 302 and the business 320 is executed.
  • FIG. 4 shows an example of the flow of processing between the management server 201 and one or more physical servers 111.
  • a method for causing a periodic operation 320 to be executed before the scheduled start time in a situation where there is a surplus in the physical resources of the computer is shown.
  • the management server 201 selects the low-load physical server 111 based on the information held by the resource management unit 102. In this process, as will be described later, the load information collected from each physical server 111 by the resource management unit 102 is compared with a preset threshold value, and the physical server 111 with small load information is set as a low-load physical server 111. select.
  • the server management unit 105 operates the virtual server 109 for the periodic business 320 on the physical server 111 selected by the resource management unit 102 in the first process. If the periodic task 320 can be executed by the already activated virtual server 109, the server management unit 105 causes the virtual server 109 to execute the periodic task 320. If there is no virtual server 109 capable of executing the periodic task 320 among the virtual servers 109 already started on the selected physical server 111, the server management unit 105 executes the periodic task 320. A new virtual server 109 is generated.
  • the task control unit 103 instructs the virtual server 109 operated in the second process to execute a predetermined task for performing the regular work 320.
  • the virtual server 109 on the low-load physical server 111 executes a task set in advance for the periodic work 320.
  • the business 320 is a process of providing a service to a client computer (not shown) that accesses the virtual server 109 via the network 207A, such as a WEB server, an application server, or a database server.
  • a client computer not shown
  • the network 207A such as a WEB server, an application server, or a database server.
  • the task is a process executed for each business 320.
  • backup of the data disk 3201 used by the business 320 batch processing (for example, daily update, monthly update) set in advance, etc.
  • This is processing for business data stored in the data disk 3201 preset for each business 320.
  • a start time for starting the task and an end time for completing the task are set for the task. However, it is permissible to start a task before the start time, but the end time is not allowed to continue execution of the task beyond that time. The task should be completed by that time. It's time.
  • FIG. 5 shows an example of the task execution table 107.
  • the task execution table 107 holds tasks necessary for periodic work 320 and information related to the execution.
  • a column 501 stores an identifier for identifying the content (type) of the task.
  • the column 502 stores an identifier for identifying the task 320 to be executed by the task shown in the column 501. In this embodiment, this identifier is described as an identifier for identifying the business 320, but an identifier for identifying the virtual server 109 may be used.
  • Column 503 is a time at which execution of the task specified by the task identifier 501 and the target 502 is started.
  • a column 504 is a time at which execution of the column 501 should be completed.
  • the initial values of the columns 503 and 504 are set in advance by a user (such as a business administrator) based on SLA (Service Level Agreement).
  • a column 505 indicates the execution status of the task specified in the column 501.
  • the execution statuses in the present embodiment are described as three types of non-execution, executing, and execution completion. However, the progress of processing (%, the number of steps constituting a task) may be used.
  • the task control unit 103 periodically monitors the task execution table 107 (predetermined cycle), and executes a task whose current time is after the start time 503 among the unexecuted tasks in the column 505. Commands the server 109. It should be noted that the time until the task becomes executable, such as task activation processing in the virtual server 109, may be added to the comparison between the start time in the column 503 and the current time.
  • FIG. 6 shows an example of the resource usage status table 119.
  • the resource usage status table 119 holds information related to the physical resource usage degree of the physical server 111.
  • the resource usage status table 119 stores the degree of use for each computer resource calculated by comparing the load information for each computer resource collected by the resource management unit 102 with a preset threshold value.
  • the column 601 stores an identifier for identifying the physical server 111.
  • a column 602 indicates the degree of use of each physical component (processor (CPU), memory, network bandwidth (shown as N / W in the figure), etc.) of the physical server 111. This degree of use indicates the amount of physical resources used by the process executed on the physical server 111.
  • the column 602 includes a column 603, a column 604, and a column 605 as sub-columns.
  • a column 603 stores the usage level of the processor 303
  • a column 604 stores the usage level of the memory 301
  • a column 605 stores the network bandwidth usage rate of the NIC 305.
  • a column that stores the degree of use such as a disk I / O bandwidth and a disk area may be provided.
  • the values of the columns 603, 604, and 605 are obtained from the load information of the server virtualization mechanism 110 and the virtual server 109 from the virtual server management unit 310 of the server virtualization mechanism 110, and based on the acquired load information
  • the management unit 102 periodically calculates and updates.
  • each utilization degree shown in FIG. 6 obtains a utilization rate (or usage amount) from physical computer resource load information measured by the server virtualization mechanism 110 of the physical server 111, and calculates the utilization rate of each computer resource.
  • An example in which the degree of use is set in three stages of “high”, “medium”, and “low” as compared with a predetermined threshold (two thresholds in the illustrated example) is shown. That is, if the usage rate is less than the first threshold, the usage level is “low”, and if the usage rate is equal to or higher than the first threshold value and lower than the second threshold value, the usage level is “medium”, and the usage rate is If it is greater than or equal to the second threshold, the usage level is “high”.
  • an example in which three usage levels are obtained from two threshold values is shown, but an administrator can set a desired number of threshold values.
  • the usage rate of the processor 303 indicates the usage level obtained by the resource management unit 102 using the threshold value from the usage rate of the processor 303 acquired from the server virtualization mechanism 110.
  • the usage degree of the memory 301 is determined based on the ratio of the amount of the memory 301 actually used by the server virtualization mechanism 110 to the amount of the memory 301 mounted on the physical server 111 by using a threshold. 102 shows the degree of use obtained.
  • the usage rate of the network is obtained by using the ratio of the actual communication amount used by the server virtualization mechanism 110 to the maximum transfer rate of the NIC 305 as the usage rate, and the resource management unit 102 calculates the usage rate using a threshold value. Is.
  • leveling using a threshold value will be described as a method for calculating the utilization rate.
  • a ratio of the used physical resource amount to the physical resource amount may be used.
  • FIG. 7 shows an example of the execution pattern table 108.
  • the execution pattern table 108 stores information on the types of tasks required for the regular work 320 and the characteristics of computer resources required for executing the tasks.
  • the column 701 stores an identifier for identifying the content (type) of the task. As this identifier, the same identifier as that used in the column 501 of the task execution table 107 shown in FIG. 5 is used.
  • a column 702 holds information on the degree of use of physical resources required when the task shown in the column 701 is executed. This degree of use indicates the amount of physical resources used when the physical server 111 executes a task.
  • the column 702 includes columns 703, 704, and 705 as sub-columns, each of which indicates the degree of use of each physical computer resource (processor, memory, network bandwidth) possessed by the physical server 111.
  • a column that stores the degree of use such as a disk I / O bandwidth and a disk area may be provided.
  • the values in the columns 703, 704, and 705 are set based on settings by the administrator, load information collected during past task execution, and the like.
  • the administrator sets the degree of use of computer resources, it can be input from a console (an input / output device such as a keyboard and a mouse and an output device such as a display) (not shown) of the management server 201.
  • FIG. 8 shows an example of the business table 118.
  • the business table 118 holds information indicating the characteristics of the business 320 operating on the physical server 111.
  • a column 801 stores an identifier for identifying a business. As this identifier, the same identifier as that used in the column 501 of the task execution table 107 shown in FIG. 5 is used.
  • a column 802 is an identifier for identifying the physical server 111 on which the business shown in the column 801 operates. As this identifier, the same identifier as that used in the column 601 of the resource usage status table 119 shown in FIG. 6 is used.
  • FIG. 15 is a flowchart illustrating an example of processing executed by the task control unit 103.
  • the task control unit 103 execute the periodic job 320 before the scheduled start time in a situation where there is room in physical resources of the physical server 111? It is executed when determining whether or not.
  • the management server 201 is assigned the business 320 to at least one of the plurality of virtual servers 109.
  • the task control unit 103 refers to the task execution table 107 and checks whether there is a task whose status 505 is not executed (step 1501). If there is an unexecuted task, the task is selected and the process proceeds to step 1503. If there is no unexecuted task, the process ends (step 1502).
  • the task control unit 103 refers to the task table 118, the execution pattern table 108, and the resource usage status table 119, and checks whether the task selected in step 1501 is currently executable on the physical server 111. (Step 1503). In this check, for a physical server 111 on which a task that is a task target is executed, a task is selected from the target 502 in the task execution table 107, and the task identifier 801 in the task table 118 matches the identifier of the selected task. A server identifier 802 is acquired.
  • the task control unit 103 acquires the usage level of the physical resource of the physical server 111 with the acquired server identifier 802 from the resource usage status 602 of the resource usage status table 119. In addition, the task control unit 103 acquires the usage level of the physical resource necessary for executing the task selected in step 1501 from the used resource 702 of the execution pattern table 108 using the task identifier as a key.
  • the task control unit 103 acquires the acquired current physical resource usage level and the physical resource level required by the task from the resource usage state 602, the task identifier 701, and the used resource 702. Then, it is determined whether or not a physical resource necessary for executing the task exists on the physical server 111 (step 1504). This determination is made based on whether or not the resource usage status 602 indicating the current usage level of the physical resource can accept the usage resource (physical resource usage level) 702 necessary for the selected task.
  • the task control unit 103 quantifies the resource usage status 602 and the degree of the used resource 702, and if there is a physical server 111 whose sum is less than the threshold set by the administrator or the system, the physical resource that can execute the task It is determined that there is, and the process proceeds to step 1505.
  • the task control unit 103 determines that there is no physical resource that can execute the task and ends the process.
  • step 1504 it is determined whether the physical resource of the physical server 111 is less than the threshold value of the resource usage status 602 and the used resource 702, and the physical resource of the physical server 111 is determined as the resource usage status. If the sum of 602 and used resources 702 is less than the threshold, it is determined that the task can be executed by the physical server 111.
  • the resource usage status 602 and the used resource 702 are obtained by converting “low”, “medium”, and “high” of the computer resource usage levels 603 to 605 and 703 to 705 into predetermined numerical values, respectively. If the sum of the degrees of use 603 to 605 and 703 to 705 is less than a predetermined threshold, the task control unit 130 determines that the current physical server 111 can execute the task, and if not, Is determined to be impossible.
  • step 1505 the task control unit 103 changes the execution start time 503 of the task execution table 107 to the current time for the task selected in step 1501.
  • the task control unit 103 Since the task control unit 103 periodically refers to the task execution table 107 and instructs the virtual server 109 to execute a task whose current time is after the execution start time 503, the start time 503 is changed in step 1505. Task can be executed immediately.
  • the task control unit 103 causes the periodic task 320 to be immediately executed by the virtual server 109 in a situation where the physical resources of the physical server 111 have room, so that the periodic task can be executed.
  • the risk that the task assigned to 320 cannot be completed by the target completion time can be reduced.
  • Time 503 may be set. That is, the execution start time 503 is set to a time between the current time and the stored execution start time.
  • the processing control method including the step for causing the task of the periodic task 320 to be executed immediately in the situation where the physical resources of the physical server 111 are available at the present time has been described.
  • a process control method including a step for reserving the execution start of a task of the periodic task 320 in a situation where there is a surplus in physical resources of the physical server 111 after the present time will be described.
  • FIG. 20 is a block diagram showing a configuration of a computer system according to the second embodiment of this invention.
  • the computer system according to the second embodiment includes a resource usage status table 119A and a business table 118A obtained by changing the resource usage status table 119 and the business table 118 of the first embodiment.
  • Other configurations are the same as those of the first embodiment described above.
  • FIG. 9 shows an example of the resource usage status table 119A of the second embodiment.
  • the resource usage status table 119A of the second embodiment shown in FIG. 9 holds the information indicating the transition of the resource usage status from the current time in order to hold the resource usage status table of the first embodiment (FIG. 6). ),
  • a column 901 and a column 902 are newly added. Other configurations are the same as the resource usage status table 119 of the first embodiment described above.
  • a column 901 indicates the time when the resource usage status of the physical server 111 indicated by the columns 601 and 602 starts.
  • a column 902 indicates the time when the resource usage status of the physical server 111 indicated by the columns 601 and 602 ends.
  • 9 includes an estimated value (for example, a statistical value of each time zone) of the resource usage status 602 for a predetermined period (for example, 24 hours) for each physical server 111 (physical server identifier 601). Is set in advance by an administrator or the like. Note that the values in the columns 901 and 902 are determined based on the business characteristics 1001 of each business 320 described later with reference to FIG.
  • FIG. 10 shows an example of the business table 118A of the second embodiment.
  • the business table 118A of the second embodiment shown in FIG. 10 is stored in the business table 118 (FIG. 8) of the first embodiment in order to hold information indicating the transition of the load of each business from the current time.
  • Column 1001, column 1002, column 1003, column 1004, column 1005, column 1006, and column 1007 are newly added.
  • Other configurations are the same as those of the business table 118 of the first embodiment described above.
  • Column 1001 shows the load characteristics of each business 320.
  • the column 1001 includes a column 1002, a column 1006, and a column 1007 as sub-columns.
  • a column 1002 shows the load characteristics of the business 320.
  • a column 1002 includes columns 1003, 1004, and 1005 as sub-columns, each of which indicates the degree of use of each physical component (CPU, memory, N / W bandwidth, etc.) that the physical server 111 has.
  • a column that stores the degree of use such as a disk I / O bandwidth and a disk area may be provided.
  • the values in the columns 1003, 1004, and 1005 are set in advance for each time period (start time 1006 to end time 1007) based on settings by the administrator, load information collected during past task execution, and the like.
  • the A column 1006 indicates the time (start point of the time zone) when the load characteristic indicated by the column 1002 starts.
  • a column 1007 indicates the time (end of time zone) when the load characteristic indicated by the column 1002 ends.
  • the time zones (start time 1006, end time 1007) and load characteristics 1002 set in the business table 118A in FIG. 10 are reflected in the time zone start time 901, end time 902, and resource usage status 602 in FIG.
  • the resource usage status table 119A and the business table 118A of the second embodiment are set with estimated values (or predicted values) of load characteristics and resource usage status after the current time zone.
  • FIG. 16 is a flowchart illustrating an example of processing executed by the task control unit 103 according to the second embodiment.
  • FIG. 16 is a process in which a part of the process (FIG. 15) of the task control unit 103 of the first embodiment described above is changed. That is, in the processing of the second embodiment shown in FIG. 16, steps 1503, 1504, and 1505 in the processing of the first embodiment (FIG. 15) described above are replaced with steps 1603, 1604, and 1605. It is a thing. Other processes are the same as those in the first embodiment described above.
  • the task control unit 130 executes the processing in steps 1501 and 1502 and selects an unexecuted task, as in the first embodiment described above. Then, after determining YES in step 1502, the task control unit 130 refers to the business table 118A, the execution pattern table 108, and the resource usage status table 119, and the task selected in step 1501 is stored on the physical server 111. It is checked whether or not there is a time zone that can be executed in step 1603. In this check, first, the physical server 111 on which the task 320 to be a task target is executed is selected from the target 502 in the task execution table 107 shown in FIG. 5, and the task identifier 801 in the task table 118A is selected. The server identifier 802 that matches the identifier of the business that has been acquired is acquired.
  • the task control unit 130 acquires the usage level of the physical resource of the physical server 111 with the acquired server identifier 802 from the resource usage status 602 of the resource usage status table 119A.
  • the time zones indicated by the columns 901 and 902 of the resource usage status table 119A include the time zones indicated by the columns 503 (start time) and 504 (end time) of the task execution table 107. Select one and get resource usage status for the selected record.
  • the task control unit 130 uses the acquired physical resource usage level, the physical resource level required by the task, the resource usage status in the column 602 of the resource usage status table 119A in FIG. 9, and the execution pattern table 108.
  • Column 702 (task identifier) of column 702 (amount of used resources) that matches the currently focused task is acquired.
  • the task control unit 130 compares the resource usage status in the column 602 of the resource usage status table 119A with the resources used in the column 702 of the execution pattern table 108, and the physical resource necessary for executing the task is the physical server 111. Determine if it exists above. In this determination, if the sum of the resource usage status in the column 602 and the resource usage in the column 702 is less than a preset threshold, the task is executed in the time zone indicated by the columns 901 and 902 in the resource usage status table 119A. It can be determined that it is possible. In this determination, for example, as in the first embodiment, the computer resource usage levels 603 to 605 and 703 to 705 “low”, “medium”, and “high” are converted into predetermined numerical values.
  • the task control unit 130 determines that the task can be executed by the currently selected physical server 111, and is not so. In this case, it is determined that the execution is impossible.
  • step 1603 determines in step 1603 that there is a physical resource necessary for executing the task
  • the task control unit 103 proceeds to step 1605, and if it determines that there is no physical resource necessary for executing the task, the task control unit 103 ends the processing (step 1604).
  • the task control unit 103 selects the record with the earliest start time 901 among the records in the resource usage status table 119A that is determined to be executable by the currently selected physical server 111. If the selected start time 901 is later than the task start time 503, the task control unit 103 determines that the execution is not possible in the physical server 111, and prohibits updating of the start time 503 in step 1605. May be.
  • the task control unit 103 changes the start time 503 of the task in the task execution table 107 to the start time 901 included in the record selected in step 1604 in order to execute the task selected in step 1501 (step 1605).
  • the task control unit 103 Since the task control unit 103 periodically refers to the task execution table 107 and instructs the virtual server 109 to execute a task whose time is after the execution start time 503, the start time 503 is changed in step 1605.
  • the task can be executed in advance in a time zone where the physical resources of the physical server 111 are available.
  • the task control unit 103 reserves the execution start of the task assigned to the periodic business 320 in a situation where the physical resources of the physical server 111 have room after the current time.
  • the number of tasks that can be executed before the execution plan of the task planned in the task execution table 107 is increased, and the risk that the task cannot be completed by the target completion time can be reduced.
  • the processing control method including a step for reserving a task for the periodic business 320 in a situation where the physical server 111 has sufficient physical resources after the present time has been described.
  • a processing control method when there are a plurality of executable physical servers will be described.
  • FIG. 21 is a block diagram showing a configuration of a computer system according to the third embodiment of this invention.
  • the computer system according to the third embodiment adds the executable server table 121 to the management server 201 according to the second embodiment described above, and changes the task execution table 107A according to the first and second embodiments described above.
  • a table 107A is included.
  • Other configurations are the same as those of the second embodiment described above.
  • FIG. 12 shows an example of the task execution table 107A of the third embodiment.
  • the task execution table 107A shown in FIG. 12 is obtained by adding the execution location 1201 for storing the identifier of the physical server 111 that executes the task to the task execution table 107 (FIG. 5) of the first and second embodiments described above. It is.
  • Other configurations are the same as those of the task execution table 107 of the first and second embodiments described above.
  • FIG. 11 shows an example of the executable server table 121 of the third embodiment.
  • the executable server table 121 illustrated in FIG. 11 holds the relationship between each task indicated by the task execution table 107A, the business targeted by each task, and the physical server 111 that can execute the task.
  • Column 1101 indicates an identifier indicating the content of the task. As this identifier, the same identifier as the task identifier in the column 501 of the task execution table 107A is used.
  • Column 1102 indicates an identifier indicating an execution target of the column 1101. As this identifier, the same identifier as the identifier of the business 320 stored in the column 502 of the task execution table 107A is used.
  • Column 1103 stores identifiers of physical servers that can execute tasks in column 501 of task execution table 107A.
  • the column 1103 includes a column 1104 and a column 1105 as sub-columns.
  • Each of the column 1104 and the column 1105 is set for each identifier for identifying the physical server 111.
  • the column 1103 will be described as having two sub-columns, but it is preferable to have as many sub-columns as the number of physical servers 111 existing on the computer system.
  • “ ⁇ ” is set for each task identifier in the column 1101 if the task related to the target business in the column 1102 can be executed on the physical server A.
  • the values in the column 1104 and the column 1105 can be determined by the configuration information collected from the server management unit 105 and the virtual server management unit 310 by the management server 201. For example, in the case of a backup task, when the backup is executed by file transfer via the network, if the physical server 111 of the target business in the column 1102 is connected to the network 207A, the task is determined to be executable, If the physical server 111 of the target business is not connected to the network 207A, it is determined that the task cannot be executed, and the executable server table 121 can be set based on the determination result.
  • the relationship between the task identifier 1101 and the target task 1102 in the executable server table 121 in FIG. 11 can be set by an administrator who uses the management server 201.
  • FIG. 17 is a flowchart illustrating an example of processing executed by the task control unit 103 according to the third embodiment.
  • FIG. 17 is obtained by replacing steps 1603 and 1605 in the processing (FIG. 16) of the task control unit 103 of the second embodiment described above with steps 1703 and 1705.
  • Other processes are the same as those in the second embodiment described above.
  • the task control unit 130 executes the processing in steps 1501 and 1502 and selects an unexecuted task, as in the first embodiment described above. Then, after determining YES in step 1502, the task control unit 103 checks whether there is a time zone in which the task selected in step 1501 can be executed on the physical server 111 (step 1703).
  • the task control unit 103 refers to the executable server table 121, acquires the identifier of the physical server 111 that can execute the selected task, and stores “ ⁇ ” in the executable server 1103.
  • the resource usage status table 119A is referred to in the same manner as in the second embodiment to search for a time zone in which the selected task can be executed. That is, in the resource usage status table 119A, a time zone including the start time 503 and the end time 504 of the task selected in step 1502 is extracted in the time zone between the start time 901 and the end time 902 of the acquired server identifier.
  • the task control unit 103 determines whether or not there is a time zone of the resource usage status 602 that satisfies the physical resources necessary for executing the task in the time zone extracted in the same manner as in step 1604 of the second embodiment. (Step 1604).
  • the task control unit 103 When there is a time zone of the resource usage status 602 that satisfies the physical resources necessary for execution of the task, the task control unit 103 satisfies the physical resource with the corresponding record in the resource usage status table 119A selected in step 1604.
  • the identifier of the band physical server 111 is stored in the execution location 1201 of the task execution table 107A.
  • the task control unit 103 changes the start time 503 of the task execution table 107A to the start time 901 of the record selected in the usage status table 119A at the start time of the entry of the selected task. (Step 1705).
  • the task control unit 103 periodically refers to the task execution table 107 and instructs the virtual server 109 on the physical server 111 at the execution location 1201 to execute a task whose current time is after the execution start time 503. Therefore, the task in which the start time 503 is changed in step 1705 and the execution location 1201 is set can be executed in advance on the physical server 111 having the earliest start time 901 in the time zone with sufficient physical resources. .
  • the task control unit 103 reserves the execution of the task for the periodic task 320 to the physical server 111 in a time zone with sufficient physical resources when there are a plurality of executable physical servers. Thus, it is possible to increase the number of tasks that can be executed before the original start time, and to reduce the risk that the task cannot be completed by the target completion time.
  • the third embodiment an example in which a plurality of time zones are set for each of the plurality of physical servers 111 has been described. However, as in the first embodiment described above, there is a surplus in physical resources at the current time.
  • the task may be executed by selecting the physical server 111.
  • ⁇ Fourth embodiment> the processing control method when there are a plurality of executable physical servers 111 has been described.
  • a processing control method when there are a plurality of task execution patterns will be described. For example, when the task is backup, backup at the file system level linked with the agent software of the virtual server 109, backup at the virtual server level linked with the snapshot function of the virtualization software (server virtualization mechanism 110), There are a plurality of patterns such as backup at the logical volume level in cooperation with the volume copy function of the disk array device 116 (storage device). These backup task execution methods differ in terms of execution time, application range, application consistency, and required physical resources.
  • the backup at the file system level has the highest consistency with the application, but the performance of the business 320 is affected.
  • the backup at the logical volume level has a small influence on the performance of the business 320 because the backup processing can be executed in the storage device, but there is a possibility that the backup cannot be performed while the business 320 is in operation.
  • FIG. 22 is a block diagram showing the configuration of a computer system according to the fourth embodiment of this invention.
  • the computer system of the fourth embodiment includes an execution pattern table 108A in which the task satisfaction table 120 is added to the management server 201 of the third embodiment, and the execution pattern table 108 of the first embodiment is modified.
  • a task execution table 107B obtained by changing the task execution table 107A of the third embodiment is provided, and other configurations are the same as those of the third embodiment.
  • FIG. 13 shows an example of the task satisfaction table 120.
  • the task satisfaction table (task information table) 120 holds information indicating the range of the work 320 covered by the execution of each task.
  • the task satisfaction table 120 is prepared for the task identifier 501.
  • FIG. 13 illustrates a task satisfaction table related to backup.
  • a column 1301 shows contents indicating specific (detailed) execution patterns of tasks.
  • “file system backup” indicates backup at the file system level in cooperation with the agent software of the virtual server 109
  • logical volume copy indicates the volume copy function of the disk array device 116 (storage device).
  • Snaphot” creation indicates backup at the virtual server 109 level using the snapshot function of the server virtualization mechanism 110.
  • the column 1302 stores an identifier indicating the task 320 to be executed by the task execution pattern in the column 1301. As this identifier, the same identifier as that in the column 502 (target business) of the task execution table 107A in FIG. 12 is used.
  • a column 1306 indicates the priority of the execution pattern indicated in the column 1301. The value in the column 1306 is set by the administrator according to the characteristics of the execution pattern. For example, a backup of a file system has a high priority because it is superior to a logical volume copy in terms of consistency with an application. Note that the application range 2001 of the task satisfaction table 120 is used in a fifth embodiment to be described later, and thus the description thereof is omitted here.
  • FIG. 14 shows an example of the task execution table 107B.
  • a task execution table 107B shown in FIG. 14 is obtained by adding an execution pattern 1401 indicating the detailed contents of a task to the task execution table 107A (FIG. 12) of the third embodiment described above.
  • Other configurations are the same as those of the task execution table 107A of the third embodiment described above.
  • FIG. 18 is an example of the execution pattern table 108A, and shows an example of the execution pattern table 108A related to backup.
  • the execution pattern table 108A is obtained by adding a pattern 1801 to the execution pattern table 108 shown in FIG. 7 of the first embodiment, and the other configuration is the same as that of the execution pattern table 108 of the first embodiment. is there.
  • a pattern 1801 stores an execution pattern of a task identified by a task identifier 701.
  • file system backup indicates backup at the file system level in cooperation with the agent software of the virtual server 109
  • logical volume copy indicates the volume copy function of the disk array device 116 (storage device).
  • Snaphot creation indicates backup at the virtual server 109 level using the snapshot function of the server virtualization mechanism 110.
  • FIG. 19 is a flowchart illustrating an example of processing executed by the task control unit 103 according to the fourth embodiment.
  • the flowchart shown in FIG. 19 is obtained by replacing steps 1703 and 1705 shown in FIG. 17 of the third embodiment with steps 1903 and 1905.
  • Other processes are the same as those in the third embodiment.
  • the task control unit 130 executes the processing in steps 1501 and 1502 and selects an unexecuted task, as in the first embodiment described above. Then, after determining YES in step 1502, the task control unit 103 checks whether there is a time zone in which the unexecuted task selected in step 1501 can be executed on the physical server 111 (step 1903). .
  • the task control unit 130 refers to the task satisfaction table 120 in addition to the contents of step 1703 in FIG.
  • the task satisfaction table 120 corresponding to the task identifier (here, backup) indicated by the column 501 of the task execution table 107B is referred to.
  • the task control unit 130 selects a pattern 1301 that has never been selected in this process and has the highest priority 1306.
  • the task control unit 130 selects the selected pattern 1301 from the pattern 1801 (FIG. 18) of the execution pattern table 108A, and acquires the used resource amount 702 described in the selected record.
  • the task control unit 130 determines whether or not there is a time zone in which the required physical resource amount 702 can be secured on the physical server 111 as in the second embodiment. If there is no time zone in which the physical resource amount 702 can be secured, it is determined that the selected pattern 1301 cannot be executed, and the pattern 1301 corresponding to the next highest priority column 1306 is selected (step 1903). This process is performed in order from the highest priority to the lowest. If there is no time zone in which the physical resource amount 702 can be secured, this process can be terminated (step 1604).
  • the task control unit 130 starts the time 901 and the server identifier 601 of the corresponding record in the resource usage status table 119A selected in step 1604 (there is a time zone of the resource usage status 602 that satisfies the physical resources necessary for executing the task). And the task execution table 107B is updated from the pattern 1301 selected in the task satisfaction table 120.
  • the task control unit 103 stores the task identifier selected in step 1501 and the task 320 in the task identifier 501 and the target task 502 of the task execution table 107B, respectively, and stores the corresponding record in the resource usage status table 119A.
  • the start time 901 is stored at the start time 503 of the task execution table 107B
  • the server identifier 601 of the resource usage status table 119A is stored at the execution location 1201 of the task execution table 107B
  • the pattern 1301 selected in the task satisfaction table 120 is stored in the task.
  • the data is stored in the pattern 1401 of the execution table 107B, and the status 505 is set to “unexecuted” (step 1905).
  • the task control unit 103 periodically refers to the task execution table 107 and executes the task whose current time is after the execution start time 503 on the virtual server 109 on the physical server 111 at the execution location 1201 according to the pattern 1301. Therefore, the task of the pattern 1401 in which the start time 503 is changed in step 1905 and the execution place 1201 is set can be executed in advance by the physical server 111 in a time zone with a sufficient physical resource. .
  • the task control unit 103 selects an execution pattern of a task having a high priority of the execution pattern of the task satisfaction table 120, and increases the number of tasks that can be executed before the original start time. Can reduce the risk that the process cannot be completed by the target completion time.
  • a process control method using the application range of each task execution pattern that affects task execution time will be described as information for dynamically determining the priority of each execution pattern.
  • the fifth embodiment uses the same configuration as that of the fourth embodiment shown in FIG.
  • backup at the file system level and backup at the virtual server level need to be backed up by the number of virtual servers 109, but backup at the logical volume level is A plurality of virtual servers 109 sharing a volume can be backed up at a time.
  • a new application range 2001 is added to the task satisfaction table 120 (FIG. 13).
  • the application range 2001 is used by the task control unit 130 to determine or update the priority of the column 1306 by numerical calculation or the like.
  • the application range 2001 indicates a task 320 that is an application range of a detailed pattern of the task indicated by the pattern 1301.
  • the application range 2001 includes a column 2002 and a column 2003 as sub-columns. Columns 2002 and 2003 are provided for each identifier for identifying a business, and store information indicating whether the task of the pattern 1301 can be executed. Note that the identifiers of the columns 2002 and 2003 are the same as the task identifiers of the column 502 of the task execution table 107B.
  • the column 2002 indicates “operation A” and the column 2003 indicates “operation B”.
  • “ ⁇ ” or “ ⁇ ” is set. These values are set by the administrator. In this information, “ ⁇ ” is set if the pattern 1301 can be executed, and “ ⁇ ” is set if the pattern 1301 cannot be executed.
  • the application range indicates that only the column 2002 of job A can be executed.
  • the pattern 1301 is “copy logical volume” and the target job 1302 is “job A”
  • the scope of application is the task execution pattern 1301 in both jobs A and B in the columns 2002 and 2003 of the job A
  • the task pattern 1301 is executed in the business A and the business B.
  • the copy of the logical volume the copy is performed in units of blocks on the same logical volume, so the copy is executed regardless of the access range (file system or the like) for each application. For this reason, if the business A data and the business B data are stored on the same logical volume, if the logical volume is copied for one business, the other business B data is also copied.
  • Each value stored in the pattern of the column 1301 is set based on information acquired from the resource management unit 102 and the business management unit 104 by the server management unit 105.
  • the column 2001 is described as having two sub-columns in the fifth embodiment, the column 2001 may have as many sub-columns as the number of one or more tasks existing on the system.
  • the task control unit 130 updates the priority of the column 1306 from the value of the column 2001 in step 1903 shown in FIG.
  • a method of updating the priority for example, there is a method in which the application range of the column 2001 and the priority of the column 1306 are digitized and further weighted, but another calculation method may be used.
  • the task control unit 130 can determine the priority generated between a plurality of task execution patterns in a situation where the system configuration changes dynamically.
  • the present invention is applied to a computer system that executes the business 320 and the task on the physical server 111.
  • the risk that the process cannot be completed by the completion time targeted by the task can be reduced.
  • the present invention can be applied to a virtual computer system that provides a business on a virtual server and executes tasks such as backup and batch processing for each business.

Landscapes

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

Abstract

 管理サーバが、計算機に業務を割り当てて実行させ、前記業務の処理の開始時刻と当該処理の終了時刻とをタスク実行情報に設定し、前記処理の実行に必要な前記計算機の物理資源の量である第1の物理資源量を設定し、前記計算機の物理資源の使用量である第2の物理資源量を取得し、前記第1の物理資源量と前記第2の物理資源量の和の物理資源を前記計算機が有する場合には、前記業務に対する処理の開始時刻を現在の時刻に近い時刻に更新し、現在の時刻が前記処理の開始時刻となったときに、前記処理の開始を前記計算機へ指令する処理制御方法。

Description

計算機システム及び処理制御方法 参照による取り込み
 本出願は、平成22年(2010年)10月28日に出願された日本特許出願特願2010-241892の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、サーバ仮想化機構を備える計算機システムに係り、特にサーバ上で稼動する処理の制御方法を決定する技術に関する。
 1つの物理サーバ上で複数の仮想的なサーバ(以下、仮想サーバ)を稼動させる方法として、サーバ仮想化機構があり、サーバ仮想化機構の一例としてVMware(登録商標)が挙げられる。サーバ仮想化機構を備えたシステム環境における、物理資源の有効活用に関する方法として、バッチジョブ、バックアップなど定期的に発生する処理(以下、定期業務)への割当がある(例えば、特許文献1)。特許文献1に記載の方法では、仮想サーバ上で稼動するアプリケーションの活動より、仮想サーバのリソース要求の変化をモニタし、仮想サーバへのリソース割当を動的に調整している。
特開2009-181578
 しかし、サーバ仮想化環境においては、ある仮想サーバ上で稼動する他の仮想サーバが、同じ物理サーバの負荷(例えば、ネットワーク転送やディスクI/O(Input/Output)効率)の影響を受けてしまう。これは、仮想サーバ間で物理資源(CPU、メモリ、ネットワークデバイス、HBA(Host Bus Adapter)など)を共有するからである。
 この影響は、業務に対して行われる定期的なタスクの処理効率に影響を与えることとなる。例えば、仮想サーバ上でバックアップなどネットワーク帯域を必要とする定期的なタスクを実行する場合、その実行時間は、同じ物理サーバ上で稼動する他の仮想サーバがネットワーク帯域を大量に使用しているかで変わる。これにより、設計時に見積もった実行時間内でタスクを終わらせることができず、定期的なタスクの終了後に実行すべき業務やタスクを予定の時刻に開始できない恐れがある。
 そこで、本発明が解決しようとする課題は、定期的なタスクを目標とする完了時刻までに完了するために、物理資源に余裕がある状況において、本来の開始時刻よりも前にタスクを実行させることである。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサとメモリを備えた計算機と、前記業務と、前記業務に対する処理と、前記計算機の物理資源を管理する管理サーバとを備えて、前記業務に対する処理を制御する処理制御方法であって、前記管理サーバが、前記計算機に前記業務を割り当てて実行させる第1の手順と、前記管理サーバが、前記業務に対する処理の開始時刻と、当該処理の終了時刻とをタスク実行情報に設定する第2の手順と、前記管理サーバが、前記処理の実行に必要な前記計算機の物理資源の量を第1の物理資源量としてタスクリソース情報に設定する第3の手順と、前記管理サーバが、前記計算機の物理資源の使用量を第2の物理資源量として取得する第4の手順と、前記管理サーバが、前記計算機の物理資源の利用状況を示す第2の物理資源量と、前記処理の実行に必要な前第1の物理資源量とを比較して、前記第1の物理資源量と第2の物理資源量の和を前記計算機の物理資源が有するか否かを判定する第5の手順と、前記管理サーバが、前記第1の物理資源量と第2の物理資源量の和を前記計算機の物理資源が有すると判定したときには、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を現在の時刻側に更新する第6の手順と、前記管理サーバが、前記タスク実行情報を監視して、現在の時刻が前記処理の開始時刻となったときに、前記計算機へ前記処理の開始を指令する第7の手順と、を含む。
 したがって、本発明の代表的な実施の形態によれば、タスクが目標とする完了時刻までに処理を終わらせる事ができないリスクを低減できる。
本発明の第1の実施形態の計算機システムの構成を示すブロック図である。 本発明の第1の実施形態の管理サーバの構成を示すブロック図である。 本発明の第1の実施形態の物理サーバの構成を示すブロック図である。 本発明の第1の実施形態の物理サーバ及び管理サーバ間の処理の概要を示すブロック図である。 本発明の第1の実施形態のタスク実行テーブルの構成を示す説明図である。 本発明の第1の実施形態の資源利用状況テーブルの構成を示す説明図である。 本発明の第1の実施形態の実行パターンテーブルの構成を示す説明図である。 本発明の第1の実施形態の業務テーブルの構成を示す説明図である。 本発明の第2の実施形態の資源利用状況テーブルの構成を示す説明図である。 本発明の第2の実施形態の業務テーブルの構成を示す説明図である。 本発明の第3の実施形態の実行可能サーバテーブルの構成を示す説明図である。 本発明の第3の実施形態のタスク実行テーブルの構成を示す説明図である。 本発明の第4の実施形態のタスク充足テーブルの構成を示す説明図である。 本発明の第4の実施形態のタスク実行テーブルの構成を示す説明図である。 本発明の第1の実施形態のタスク制御部で行われる処理の一例を示すフローチャートである。 本発明の第2の実施形態のタスク制御部で行われる処理の一例を示すフローチャートである。 本発明の第3の実施形態のタスク制御部で行われる処理の一例を示すフローチャートである。 本発明の第4の実施形態の実行パターンテーブルの構成を示す説明図である。 本発明の第4の実施形態のタスク制御部で行われる処理の一例を示すフローチャートである。 本発明の第2の実施形態の計算機システムの構成を示すブロック図である。 本発明の第3の実施形態の計算機システムの構成を示すブロック図である。 本発明の第4の実施形態の計算機システムの構成を示すブロック図である。
 以下、本発明の実施形態を添付図面に基づいて説明する。
 <第1実施形態>
 図1は、本発明の第1の実施形態のサーバ仮想化機構を備えた計算機システムの構成を示すブロック図である。
 計算機システムは、管理サーバ201、1つ以上の物理サーバ111、1つ以上のネットワークスイッチ108、1つ以上のストレージスイッチ112、及びディスクアレイ装置116を有する。
 管理サーバ201は、実行されるプログラムによって制御されるコンピュータであり、ネットワークスイッチ108に接続するNIC205を有する。管理サーバ201は、ネットワークスイッチ207を介して、物理サーバ111及びディスクアレイ装置116に接続する。管理サーバ201では、資源管理部102、タスク制御部103、業務管理部104、及びサーバ管理部105の各機能を実現し、これらの処理に必要なテーブルとして、資源利用状況テーブル119、タスク実行テーブル(タスク実行情報)107、実行パターンテーブル(タスクリソース情報)108及び業務テーブル118を有する。各テーブルは、図5以降のテーブルの構成例を用いて後述する。
 物理サーバ111は、実行されるプログラムによって制御されるコンピュータであり、ネットワークスイッチ207に接続するNIC、及びストレージスイッチ112に接続するホストバスアダプタ(HBA)を有する。物理サーバ111は、ネットワークスイッチ207を介して、他の物理サーバ111、管理サーバ201及びディスクアレイ装置116に接続する。物理サーバ111は、ストレージスイッチ112を介して、ディスクアレイ装置116に接続する。なお、ストレージスイッチ112は、SAN(Storage Area Network)112Aを構成する。物理サーバ111は、サーバ仮想化機構110(またはサーバ仮想化部)、及び仮想サーバ109の各機能を実現する。
 ネットワークスイッチ207は、ネットワーク207Aを構成する1つ以上のネットワーク機器である。ネットワーク機器は、具体的にはネットワークスイッチ、ルータ、ロードバランサ及び/またはファイアウォールなどである。
 ディスクアレイ装置116は、FC(Fiber Channel)及びLANインタフェースを備え、管理サーバ201及び物理サーバ111が使用する1つ以上のディスク及び/または不揮発性の半導体記憶装置を含む記憶システムである。ディスクアレイ装置116は、サーバ仮想化機構110、仮想サーバ109の実行に必要なディスクとして、仮想サーバイメージ格納ディスク114、及び定義情報格納ディスク115を有する。仮想サーバイメージ格納ディスク114は、仮想サーバ109を構成するディスクイメージを有するディスクボリューム(または論理ボリューム)である。
 定義情報格納ディスク115は、仮想サーバ109にインストールされるOS(Operating System)や業務320、仮想サーバ109に割り当てられた仮想的なデバイス(仮想プロセッサ、仮想メモリ、仮想I/Oデバイスなど)の内容を記述したメタデータを有するディスクボリューム(または論理ボリューム)である。
 ディスクアレイ装置116は、仮想サーバ109上で実行される業務が使用する業務データを格納する論理ボリュームとしてデータディスク3201を含む。データディスク3201は、業務ごとに生成されてもよいし、一つの論理ボリュームを複数の業務(または仮想サーバ109)で共有する共有ボリュームとしてもよい。
 図2は、管理サーバ201の構成を示す。管理サーバ201は、資源管理部102、タスク制御部103、業務管理部104、及びサーバ管理部105を有する。尚、本実施形態では、資源管理部102、タスク制御部103、業務管理部104、サーバ管理部105は、プロセッサ(CPU)203により実行されるプログラムとして説明するが、管理サーバ201に搭載するハードウェアやファームウェア、またはそれらの組み合わせにより実装してもよい。また、資源管理部102、タスク制御部103、業務管理部104、サーバ管理部105は、管理サーバ201が備える補助記憶装置に格納され、実行時にはメモリ202にロードされてから、プロセッサ203によって実行される。
 資源管理部102は、各物理サーバ111の負荷情報(CPU使用率、メモリ使用量など)を、物理サーバ111より収集して保持する。タスク制御部103は、仮想サーバ109で実行される業務に必要なタスクの実行状態の管理し、仮想サーバ109へのタスクの実行命令を送信する。
 業務管理部104は、物理サーバ111と、当該物理サーバ111上の仮想サーバ109で稼動する業務を関連付ける情報を保持する。サーバ管理部105は、各物理サーバ111に関する構成情報(ホスト名、オペレーティングシステムの種別、デバイス情報など)を、物理サーバ111より収集して保持する。そして、サーバ管理部105は、管理者などの指令に基づいて物理サーバ111のサーバ仮想機構110に仮想サーバ109の生成、移動または削除を指令して、物理サーバ111上の仮想サーバ109を制御する。また、サーバ管理部105は、仮想サーバ109で実行される業務320を制御することができる。例えばサーバ管理部105は、業務320を行う物理サーバ111を選択し、当該選択されした物理サーバ111上の仮想サーバ109に業務320を割り当てる。仮想サーバ109は、業務320を実行することによって、図示しないクライアント端末などへ当該業務320を提供することができる。
 管理サーバ201は、ネットワーク207Aに接続するためのNIC205を有する。管理サーバ201はネットワーク207Aを通じて、物理サーバ111及びディスクアレイ装置116と接続する。管理サーバ201は、複数のNICを有してもよい。
 図3は、物理サーバ111の構成を示す。物理サーバ111は、メモリ301及びプロセッサ303を有する。メモリ301は、サーバ仮想化機構110及び仮想サーバ109を実行するためのプログラムを保持する。
 物理サーバ111は、ネットワーク207Aに接続するためのNIC305を有する。物理サーバ111は、ネットワーク207Aを通じて、管理サーバ201及び他の物理サーバ111と接続する。物理サーバ111は、SAN112Aを通じてディスクアレイ装置116に接続するためのホストバスアダプタ(HBA)304を備える。物理サーバ111は、複数のNIC及びHBAを有してもよい。
 サーバ仮想化機構110は、仮想サーバ管理部310、制御インターフェース(I/F)302を有する。サーバ仮想化機構110は、物理サーバ111の計算機リソースを仮想化して複数の仮想サーバ109を提供する。サーバ仮想化機構110は、例えば、VMM(Virtual Machine Monitor)やハイパーバイザなどで構成することができる。本実施形態では、サーバ仮想化機構110にVMMを採用した例を示す。
 仮想サーバ管理部310は、仮想サーバ109の負荷情報(CPU使用率、メモリ使用量など)、構成情報(OS種別、割り当てた仮想デバイスなど)、状態情報(電源、デバイスの有効または無効、デバイスの障害の有無など)を収集し、保持し、更新する。制御インターフェース302は、外部(管理サーバ201、他の物理サーバ111など)からの、仮想サーバ管理部310に対するアクセスを行うユーザインターフェースを提供する。
 サーバ仮想化機構110上では、1つ以上の仮想サーバ109が実行される。仮想サーバ109は、サーバ仮想化機構110によって物理サーバ111の計算機の資源が割り当てられることによって機能する仮想的なサーバである。仮想サーバ109では、OS302、業務320を提供する処理(ソフトウェア/プログラムなど)が実行される。
 図4は、管理サーバ201と、1つ以上の物理サーバ111との間の処理の流れの例を示す。この例では、計算機の物理資源に余裕がある状況において、開始予定時刻より前に定期的な業務320を実行させるための方法を示す。
 第1の処理(1)
 管理サーバ201は、資源管理部102が保持する情報に基づいて低負荷の物理サーバ111を選択する。この処理は、後述するように、資源管理部102が各物理サーバ111から収集した負荷情報と、予め設定された閾値とを比較し、負荷情報が小さい物理サーバ111を低負荷の物理サーバ111として選択する。
 第2の処理(2)
 サーバ管理部105が、第1の処理において資源管理部102が選択した物理サーバ111上で、定期的な業務320用の仮想サーバ109を稼動させる。定期的な業務320が既に起動している仮想サーバ109で実行可能であれば、サーバ管理部105は、当該仮想サーバ109に定期的な業務320を実行させる。選択された物理サーバ111上で既に起動している仮想サーバ109のうち定期的な業務320を実行可能な仮想サーバ109がない場合には、サーバ管理部105は、定期的な業務320を実行する新たな仮想サーバ109を生成する。
 第3の処理(3)
 タスク制御部103は、第2の処理で稼動させた仮想サーバ109に、定期的な業務320を遂行するための所定のタスクの実行を指令する。前述した処理によって、低負荷の物理サーバ111上の仮想サーバ109が、定期的な業務320に対して予め設定されたタスクを実行する。
 ここで、定期的な業務320とタスクとの関係は、以下の通りとなる。業務320は、WEBサーバやアプリケーションサーバまたはデータベースサーバなど、ネットワーク207Aを介して仮想サーバ109にアクセスするクライアント計算機(図示省略)に対してサービスを提供する処理である。
 一方、タスクは、各業務320ごとに実行される処理であり、例えば、業務320が利用するデータディスク3201のバックアップや、予め設定されたバッチ処理(例えば、日次更新、月次更新)など、業務320ごとに予め設定されたデータディスク3201に格納された業務データに対する処理である。さらに、タスクには、当該タスクを開始すべき開始時刻と、当該タスクを完了させておくべき終了時刻とが設定される。ただし、開始時刻よりも前にタスクを開始することは許容するが、終了時刻は、当該時刻を越えてタスクの実行を継続することは許容されない、当該時刻までに当該タスクを完了させておくべき時刻である。
 図5は、タスク実行テーブル107の例を示す。タスク実行テーブル107は、定期的な業務320に必要なタスクとその実行に関する情報を保持する。カラム501には、タスクの内容(種類)を識別するための識別子が格納される。カラム502には、カラム501に示すタスクの実行対象の業務320を識別するための識別子が格納される。本実施形態では、この識別子を、業務320を識別するための識別子として説明するが、仮想サーバ109を識別するための識別子を用いてもよい。
 カラム503は、タスク識別子501及び対象502によって指定されたタスクの実行を開始する時刻である。カラム504は、カラム501の実行を完了させておくべき時刻である。カラム503、カラム504の初期値はユーザ(業務管理者など)がSLA(Service Level Agreement)などに基づいて予め設定しておく。カラム505は、カラム501で指定されたタスクの実行状況を示す。本実施形態における実行状況は、未実行、実行中、実行完了の3種類として説明するが、処理の進捗度合い(%、タスクを構成するステップの数)などを用いてもよい。
 タスク制御部103は、定期的(所定の周期)にタスク実行テーブル107を監視し、カラム505が未実行のタスクのうち、現在の時刻が開始時刻503以降となったタスクを実行するよう、仮想サーバ109に指令する。尚、カラム503の開始時刻と現在の時刻との比較には、仮想サーバ109におけるタスクの起動処理など、タスクが実行可能状態になるまでの時間を加えてもよい。
 図6は、資源利用状況テーブル119の例を示す。資源利用状況テーブル119は、物理サーバ111の物理資源の使用度合いに関する情報を保持する。資源利用状況テーブル119には、資源管理部102が収集した計算機資源毎の負荷情報を、予め設定した閾値と比較することによって算出された各計算機資源毎の利用の度合いが格納される。
 カラム601には、物理サーバ111を識別するための識別子が格納される。カラム602は、物理サーバ111が持つ各物理コンポーネント(プロセッサ(CPU)、メモリ、ネットワーク帯域(図中は、N/Wと示す)など)の使用度合いを示す。この使用度合いは、物理サーバ111で実行されている処理が使用している物理資源の量を示す。本実施形態では、カラム602は、サブカラムとして、カラム603、カラム604、カラム605を有する。カラム603はプロセッサ303の利用度合いを格納し、カラム604はメモリ301の利用度合いを格納し、カラム605はNIC305のネットワーク帯域の利用率を格納する。
 なお、カラム603、カラム604、カラム605とは別に、ディスクI/O帯域、ディスク領域などの使用度合いが格納されるカラムを有してもよい。カラム603、カラム604、カラム605の値は、サーバ仮想化機構110の仮想サーバ管理部310より、サーバ仮想化機構110及び仮想サーバ109の負荷情報を取得し、取得した負荷情報に基づいて、資源管理部102が定期的に演算して更新する。
 例えば、図6に示す各利用度合いは、物理サーバ111のサーバ仮想化機構110が測定した物理的な計算機資源の負荷情報から利用率(または使用量)を求め、各計算器資源の利用率を所定の閾値(図示の例では、2つの閾値)と比較して、「高」、「中」、「低」の3段階の利用度合いとした例を示す。つまり、利用率が第1の閾値未満であれば利用度合いは「低」とし、利用率が第1の閾値以上、かつ第2の閾値未満であれば利用度合いは「中」とし、利用率が第2の閾値以上であれば利用度合いは「高」とする。なお、図示の例では2つの閾値から3つの利用度合いを求める例を示したが、管理者が所望の数の閾値を設定することができる。
 ここで、プロセッサ303の利用率は、資源管理部102が、サーバ仮想化機構110から取得したプロセッサ303の利用率から、閾値を用いて求めた利用度合いを示す。
 メモリ301の使用度合いは、物理サーバ111に実装されたメモリ301の量に対して、サーバ仮想化機構110が実際に使用しているメモリ301の量の比率から、閾値を用いて、資源管理部102が求めた利用度合いを示す。また、ネットワークの利用度合いは、NIC305の最大転送速度に対してサーバ仮想化機構110が利用した実際の通信量の比率を利用率として求め、資源管理部102が閾値を用いて利用度合いを算出したものである。
 尚、この利用率の演算方法として、本実施形態では、閾値を用いたレベライズについて説明するが、物理資源量に対する使用物理資源量の比率などを用いてもよい。
 図7は、実行パターンテーブル108の例を示す。実行パターンテーブル108には、定期業務320に必要なタスクの種類と、タスクを実行する際に必要とする計算機資源の特徴に関する情報が格納される。
 カラム701には、タスクの内容(種類)を識別するための識別子が格納される。この識別子には、図5に示したタスク実行テーブル107のカラム501に使用される識別子と同じ識別子を使用する。カラム702は、カラム701に示すタスクを実行した場合に必要となる物理資源の使用度合いに関する情報を保持する。この使用度合いは、物理サーバ111がタスクを実行する際に使用する物理資源の量を示す。
 カラム702は、サブカラムとして、カラム703、カラム704、カラム705を有し、それぞれが、物理サーバ111が持つ各物理的な計算機資源(プロセッサ、メモリ、ネットワーク帯域)の使用度合いを示す。カラム703、カラム704、カラム705とは別に、ディスクI/O帯域、ディスク領域などの使用度合いが格納されるカラムを有してもよい。カラム703、カラム704、カラム705の値は、管理者による設定や、過去のタスク実行時に収集した負荷情報などに基づいて設定される。なお、管理者が計算機資源の使用の度合いを設定する際には、管理サーバ201の図示しないコンソール(キーボード、マウス等の入出力装置及びディスプレイ等の出力装置)から入力することができる。
 図8は、業務テーブル118の例を示す。業務テーブル118は、物理サーバ111上で稼動する業務320の特徴を示す情報を保持する。カラム801には、業務を識別するための識別子が格納される。この識別子には、図5に示したタスク実行テーブル107のカラム501に使用される識別子と同じ識別子を使用する。カラム802は、カラム801に示す業務が稼動する物理サーバ111を識別するための識別子である。この識別子には、図6に示した資源利用状況テーブル119のカラム601に使用される識別子と同じ識別子を使用する。
 図15は、タスク制御部103で実行される処理の一例を示すフローチャートである。タスク制御部103は、図4の第1の処理で示したように、物理サーバ111の物理資源に余裕がある状況において、開始予定時刻より前に定期的な業務320を実行させることが可能か否かを判定する際に実行される。図15に示すタスク制御部の処理が実行される際には、管理サーバ201が、複数の仮想サーバ109の少なくとも1つに業務320を割り当てられている
 タスク制御部103は、タスク実行テーブル107を参照し、ステータス505が未実行のタスクがあるか否かをチェックする(ステップ1501)。未実行のタスクがある場合は当該タスクを選択してステップ1503へ進み、未実行のタスクが無い場合は処理を終了する(ステップ1502)。
 タスク制御部103は、業務テーブル118と、実行パターンテーブル108と、資源利用状況テーブル119とを参照し、ステップ1501で選択したタスクが物理サーバ111上で現在実行可能であるか否かをチェックする(ステップ1503)。このチェックは、まずタスクの対象となる業務が実行される物理サーバ111について、タスク実行テーブル107の対象502から業務を選択し、業務テーブル118の業務識別子801が選択された業務の識別子と一致するサーバ識別子802を取得する。
 次に、タスク制御部103は、取得したサーバ識別子802の物理サーバ111の物理資源の使用度合いを、資源利用状況テーブル119の資源利用状態602から取得する。また、タスク制御部103は、ステップ1501で選択したタスクの実行に必要な物理資源の使用度合いを、タスク識別子をキーとして、の実行パターンテーブル108の使用資源702から取得する。
 次に、タスク制御部103は、取得した現在の物理資源の使用度合いと、タスクが必要とする物理資源の度合いとを、資源利用状態602と、タスク識別子701と、使用資源702とから取得し、タスクの実行に必要な物理資源が物理サーバ111上に存在するか否かを判定する(ステップ1504)。この判定は、現在の物理資源の使用度合いを示す資源利用状況602が、選択したタスクで必要とする使用資源(物理資源の使用度合い)702を受け付け可能か否かで判定される。例えば、タスク制御部103は、資源利用状況602と使用資源702の度合いとを数値化し、この和が管理者又はシステムが設定した閾値未満の物理サーバ111があれば、タスクを実行可能な物理資源があると判定して、ステップ1505へ進む。
 一方、タスク制御部103は、資源利用状況602と使用資源702との和が閾値未満となる物理サーバ111がなければ、タスクを実行可能な物理資源がないと判定して処理を終了する。
 すなわち、ステップ1504の判定では、物理サーバ111の物理資源が、資源利用状況602と使用資源702との和が閾値未満であるか否かを判定し、物理サーバ111の物理資源が、資源利用状況602と使用資源702との和が閾値未満であれば、当該物理サーバ111でタスクを実行可能であると判定する。ここで、資源利用状況602と使用資源702とは、計算機資源の使用の度合い603~605と703~705の「低」、「中」、「高」を所定の数値に変換し、計算機資源の使用の度合い603~605と703~705との和が、所定の閾値未満であれば、タスク制御部130は、現在選択した物理サーバ111で当該タスクを実行可能であると判定し、そうでない場合には実行不可であると判定する。
 ステップ1505では、タスク制御部103が、ステップ1501で選択したタスクについて、タスク実行テーブル107の実行開始時刻503を現時刻に変更する。
 タスク制御部103は、定期的にタスク実行テーブル107を参照し、現在の時刻が実行開始時刻503以降となったタスクを実行するよう仮想サーバ109に指令するので、ステップ1505で開始時刻503を変更されたタスクを即座に実行することができる。
 本実施形態によれば、タスク制御部103は、物理サーバ111の物理資源に余裕がある状況にて、定期的な業務320のタスクを即時に仮想サーバ109で実行させることによって、定期的な業務320に割り当てられたタスクが目標とする完了時刻までに処理を終わらせることができないリスクを軽減することができる。
 なお、第1の実施形態では、物理サーバ111の物理資源に余裕がある場合には、即座にタスクを実行する例を示したが、タスクの開始時刻を現在時刻側に早めるように、実行開始時刻503を設定してもよい。すなわち、実行開始時刻503は、現在時刻と、保存されている実行開始時刻との間の時刻に設定される。
 <第2実施形態>
 前述した第1の実施形態では、現時点で物理サーバ111の物理資源に余裕がある状況にて、定期業務320のタスクを即時に実行させるためのステップを含む処理制御方法について述べた。第2の実施形態では、現時点以降で物理サーバ111の物理資源に余裕がある状況にて、定期業務320のタスクの実行開始を予約させるためのステップを含む処理制御方法について述べる。
 図20は、本発明の第2の実施形態の計算機システムの構成を示すブロック図である。第2の実施形態の計算機システムでは、前述した第1の実施形態の資源利用状況テーブル119と業務テーブル118とを変更した、資源利用状況テーブル119Aと業務テーブル118Aとを含む。その他の構成は、前述した第1の実施形態と同一である。
 図9は、第2の実施形態の資源利用状況テーブル119Aの例を示す。図9に示す第2の実施形態の資源利用状況テーブル119Aは、現時刻からの資源利用状況の推移を示す情報を保持するために、前述した第1の実施形態の資源利用状況テーブル(図6)に、新たにカラム901、カラム902が追加されている。その他の構成は、前述した第1の実施形態の資源利用状況テーブル119と同一である。カラム901は、カラム601、カラム602が示す物理サーバ111の資源利用状況が、開始する時刻を示す。カラム902は、カラム601、カラム602が示す物理サーバ111の資源利用状況が、終了する時刻を示す。図9に示す資源利用状況テーブル119Aは、物理サーバ111(物理サーバ識別子601)毎に所定の期間(例えば、24時間)の資源利用状況602の推定値(例えば、各時間帯の統計値など)を管理者などが予め設定しておく。なお、カラム901、カラム902の値は、図10にて後述する各業務320の業務特性1001より決定する。
 図10は、第2の実施形態の業務テーブル118Aの例を示す。図10に示す第2の実施形態の業務テーブル118Aは、現時刻からの各業務の負荷の推移を示す情報を保持するために、前述した第1の実施形態の業務テーブル118(図8)に、新たにカラム1001、カラム1002、カラム1003、カラム1004、カラム1005、カラム1006、カラム1007を追加したものである。その他の構成は、前述した第1の実施形態の業務テーブル118と同一である。
 カラム1001は、各業務320の負荷特性を示す。カラム1001はサブカラムとしてカラム1002、カラム1006、カラム1007を有する。カラム1002は、業務320の負荷特性を示す。カラム1002は、サブカラムとしてカラム1003、カラム1004、カラム1005を有し、それぞれが、物理サーバ111が持つ各物理コンポーネント(CPU、メモリ、N/W帯域など)の使用度合いを示す。カラム1003、カラム1004、カラム1005とは別に、ディスクI/O帯域、ディスク領域などの使用度合いが格納されるカラムを有してもよい。
 このカラム1003、カラム1004、カラム1005の値は、管理者による設定や、過去のタスク実行時に収集した負荷の情報などに基づいて、時間帯(開始時刻1006から終了時刻1007)毎に予め設定される。カラム1006は、カラム1002が示す負荷特性が開始する時刻(時間帯の始点)を示す。カラム1007は、カラム1002が示す負荷特性が終了する時刻(時間帯の終点)を示す。
 図10の業務テーブル118Aで設定された時間帯(開始時刻1006、終了時刻1007)と負荷特性1002は、図9の時間帯開始時刻901、終了時刻902と資源利用状況602に反映される。すなわち、第2の実施形態の資源利用状況テーブル119Aと業務テーブル118Aは、現在以降の負荷特性及び資源利用状況の推定値(または予測値)を時間帯毎に設定したものである。
 図16は、第2の実施形態のタスク制御部103で実行される処理の一例を示すフローチャートである。図16は、前述した第1の実施形態のタスク制御部103の処理(図15)の一部を変更した処理である。すなわち、図16に示す第2の実施の形態の処理は、前述した第1の実施形態の処理(図15)のステップ1503、ステップ1504、ステップ1505を、ステップ1603、ステップ1604、ステップ1605に置き換えたものである。なお、その他の処理は前述した第1の実施形態と同一である。
 タスク制御部130は、前述した第1の実施形態と同様に、ステップ1501、1502の処理を実行して未実行のタスクを選択する。そして、タスク制御部130は、ステップ1502でYESと判定された後、業務テーブル118Aと、実行パターンテーブル108と、資源利用状況テーブル119とを参照し、ステップ1501で選択したタスクが物理サーバ111上で実行可能な時間帯があるか否かをチェックする(ステップ1603)。このチェックは、まずタスクの対象となる業務320が実行される物理サーバ111を、図5に示したタスク実行テーブル107の対象502から業務320を選択し、業務テーブル118Aの業務識別子801が選択された業務の識別子と一致するサーバ識別子802を取得する。
 次に、タスク制御部130は、取得したサーバ識別子802の物理サーバ111の物理資源の使用度合いを、資源利用状況テーブル119Aの資源利用状況602から取得する。このとき、タスク制御部130は、資源利用状況テーブル119Aのカラム901及びカラム902が示す時間帯が、タスク実行テーブル107のカラム503(開始時刻)及びカラム504(終了時刻)が示す時間帯を含むものを選択して、選択されたレコードについて資源利用状況を取得する。
 次に、タスク制御部130は、取得した物理資源の使用度合いと、タスクが必要とする物理資源の度合いと、図9の資源利用状況テーブル119Aのカラム602の資源利用状況と、実行パターンテーブル108のカラム701(タスク識別子)が現在着目しているタスクに一致するカラム702(使用資源量)を取得する。
 そして、タスク制御部130は、資源利用状況テーブル119Aのカラム602の資源利用状況と、実行パターンテーブル108のカラム702の使用資源とを比較して、タスクの実行に必要な物理資源が物理サーバ111上に存在するか否かを判定する。この判定は、カラム602の資源利用状況とカラム702の使用資源との和が、予め設定した閾値未満であれば、資源利用状況テーブル119Aのカラム901及びカラム902が示す時間帯で当該タスクを実行可能と判定することができる。この判定は、例えば、前記第1の実施形態と同様に、計算機資源の使用の度合い603~605と703~705の「低」、「中」、「高」を所定の数値に変換し、計算機資源の使用の度合い603~605と703~705との和が、所定の閾値未満であればタスク制御部130は、現在選択した物理サーバ111で当該タスクを実行可能であると判定し、そうでない場合には実行不可であると判定する。
 タスク制御部103は、ステップ1603でタスクの実行に必要な物理資源があると判定した場合はステップ1605へ進み、タスクの実行に必要な物理資源がないと判定した場合は処理を終了する(ステップ1604)。ここで、タスク制御部103は、現在選択した物理サーバ111で当該タスクを実行可能であると判定した資源利用状況テーブル119Aのレコードのうち最も開始時刻901が早いレコードを選択する。なお、タスク制御部103は、選択した開始時刻901がタスクの開始時刻503よりも遅い場合には、物理サーバ111で実行不可であると判定して、ステップ1605の開始時刻503の更新を禁止してもよい。
 タスク制御部103は、ステップ1501で選択したタスクを実行するために、タスク実行テーブル107の当該タスクの開始時刻503をステップ1604で選択したレコードに含まれる開始時刻901に変更する(ステップ1605)。
 タスク制御部103は、定期的にタスク実行テーブル107を参照し、時刻が実行開始時刻503以降となったタスクを実行するよう仮想サーバ109に指令するので、ステップ1605で開始時刻503が変更されたタスクを物理サーバ111の物理資源に余裕のある時間帯で前もって実行することができる。
 本実施形態によれば、タスク制御部103は、現時点以降で物理サーバ111の物理資源に余裕がある状況にて、定期的な業務320に対して割り当てられたタスクの実行開始を予約することによって、タスク実行テーブル107で計画されたタスクの実行計画より前に実行可能なタスクを増加させ、タスクが目標とする完了時刻までに処理を終わらせることができないリスクを軽減することができる。
 <第3実施形態>
 前述した第2の実施形態では、現時点以降で物理サーバ111に物理資源に余裕がある状況にて、定期的な業務320に対するタスクを予約させるためのステップを含む処理制御方法について述べた。第3の実施形態では、実行可能な物理サーバが複数存在する場合における処理制御方法について述べる。
 図21は、本発明の第3の実施形態の計算機システムの構成を示すブロック図である。第3の実施形態の計算機システムは、前述した第2の実施形態の管理サーバ201に実行可能サーバテーブル121を加え、前述した第1及び第2の実施形態のタスク実行テーブル107Aを変更したタスク実行テーブル107Aを含む。その他の構成は、前述した第2の実施形態と同一である。
 図12は、第3の実施形態のタスク実行テーブル107Aの一例を示す。図12に示すタスク実行テーブル107Aは、前述した第1及び第2の実施形態のタスク実行テーブル107(図5)に、タスクを実行する物理サーバ111の識別子を格納する実行場所1201を加えたものである。その他の構成は、前述した第1及び第2の実施形態のタスク実行テーブル107と同一である。
 図11は、第3の実施形態の実行可能サーバテーブル121の一例を示す。図11に示す実行可能サーバテーブル121は、タスク実行テーブル107Aが示す各タスクと、各タスクが対象とする業務と、そのタスクを実行できる物理サーバ111の関係を保持する。
 カラム1101はタスクの内容を示す識別子を示す。この識別子には、タスク実行テーブル107Aのカラム501のタスク識別子と同じ識別子を使用する。
 カラム1102は、カラム1101の実行対象を示す識別子を示す。この識別子には、タスク実行テーブル107Aのカラム502に格納された業務320の識別子と同じ識別子を使用する。
 カラム1103は、タスク実行テーブル107Aのカラム501のタスクを実行できる物理サーバの識別子を格納する。カラム1103は、サブカラムとしてカラム1104、カラム1105を有する。カラム1104及びカラム1105の各々は、物理サーバ111を識別する識別子毎に設定される。本実施形態では、カラム1103は、2つのサブカラムを持つこととして説明するが、計算機システム上に存在する物理サーバ111の数だけサブカラムを持つとよい。図11に示す例では、カラム1104には、物理サーバAに関して、カラム1101のタスク識別子毎に、カラム1102の対象業務に関するタスクが物理サーバAで実行可能であれば「○」が設定され、タスクが実行不能であれば「-」が設定される。同様に、カラム1105には、物理サーバBで実行可能なタスク(1101)と業務(1102)の組み合わせには「○」が設定され、タスクと業務の組み合わせが物理サーバBで実行不能であれば「-」が設定される。
 カラム1104及びカラム1105の値は、管理サーバ201が、サーバ管理部105及び仮想サーバ管理部310から収集した構成情報よって決定することができる。例えば、バックアップタスクの場合、そのバックアップがネットワークを介したファイル転送によって実行される場合、カラム1102の対象業務の物理サーバ111がネットワーク207Aに接続されていれば、当該タスクは実行可能と判定し、対象業務の物理サーバ111がネットワーク207Aに接続されていなければ、当該タスクは実行不能と判定し、該判定結果によって実行可能サーバテーブル121を設定することができる。
 図11の実行可能サーバテーブル121のタスク識別子1101と対象業務1102との関係は、管理サーバ201を利用する管理者が設定することができる。
 図17は、第3の実施形態のタスク制御部103で実行される処理の一例を示すフローチャートである。図17は、前述した第2の実施形態のタスク制御部103の処理(図16)のステップ1603、1605を、ステップ1703、1705に置き換えたものである。なお、その他の処理は、前述した第2の実施形態と同一である。
 タスク制御部130は、前述した第1の実施形態と同様に、ステップ1501、1502の処理を実行して未実行のタスクを選択する。そして、タスク制御部103は、ステップ1502でYESと判定された後、ステップ1501で選択したタスクが物理サーバ111上で実行可能な時間帯があるか否かをチェックする(ステップ1703)。ここで、タスク制御部103は、実行可能サーバテーブル121を参照し、選択されたタスクを実行可能な物理サーバ111の識別子を取得し、実行可能サーバ1103に「○」が格納されている物理サーバのサーバ識別子を取得して、前記第2の実施形態と同様に資源利用状況テーブル119Aを参照し、選択されたタスクを実行可能な時間帯を検索する。すなわち、資源利用状況テーブル119Aにおいて、取得したサーバ識別子の開始時刻901と終了時刻902の時間帯で、ステップ1502で選択したタスクの開始時刻503と終了時刻504を含む時間帯を抽出する。
 そして、タスク制御部103は、前記第2の実施形態のステップ1604と同じく抽出した時間帯で、タスクの実行に必要な物理資源を満たす資源利用状況602の時間帯が存在するか否かを判定する(ステップ1604)。
 タスク制御部103は、タスクの実行に必要な物理資源を満たす資源利用状況602の時間帯が存在する場合には、ステップ1604にて選択した資源利用状況テーブル119Aの該当レコードで物理資源を満たす時間帯の物理サーバ111の識別子を、タスク実行テーブル107Aの実行場所1201に格納する。そして、タスク制御部103は、前記第2の実施形態と同じく、選択されたタスクのエントリの開始時刻に利用状況テーブル119Aで選択したレコードの開始時刻901にタスク実行テーブル107Aの開始時刻503を変更する(ステップ1705)。
 タスク制御部103は、定期的にタスク実行テーブル107を参照し、現在の時刻が実行開始時刻503以降となったタスクを、実行場所1201の物理サーバ111上の仮想サーバ109で実行するように指令するので、ステップ1705で開始時刻503が変更され、実行場所1201が設定されたタスクを、物理資源に余裕のある時間帯のうち、最も開始時刻901が早い物理サーバ111で前もって実行することができる。
 本実施形態によれば、タスク制御部103は、実行可能な物理サーバが複数存在する場合にて、定期業務320に対するタスクの実行を物理資源に余裕のある時間帯の物理サーバ111に予約することによって、本来の開始時刻よりも前に実行可能なタスクを増加させ、タスクが目標とする完了時刻までに処理を終わらせることができないリスクを軽減することができる。
 なお、第3の実施形態では、複数の物理サーバ111毎に複数の時間帯毎を設定する例を示したが、前述した第1の実施形態と同様に、現在時刻で物理資源に余裕のある物理サーバ111を選択してタスクを実行してもよい。
 <第4実施形態>
 前述した第3の実施形態では、実行可能な物理サーバ111が複数存在する場合における処理制御方法について述べた。第4の実施形態では、タスクの実行パターンが複数存在する場合における処理制御方法について述べる。例えば、タスクがバックアップである場合、仮想サーバ109のエージェントソフトウェアと連携したファイルシステムレベルでのバックアップや、仮想化ソフトウェア(サーバ仮想化機構110)のスナップショット機能と連携した仮想サーバレベルでのバックアップ、ディスクアレイ装置116(ストレージ装置)のボリュームコピー機能と連携した論理ボリュームレベルでのバックアップ、などの複数のパターンがある。これらのバックアップタスクの実行方法は、実行時間や、適用範囲、アプリケーションの整合性、必要とする物理資源の点で違いがある。
 例えば、ファイルシステムレベルでのバックアップは、アプリケーションとの整合性は最も高いが、業務320の性能への影響が発生する。論理ボリュームレベルでのバックアップは、ストレージ装置にてバックアップ処理を実行できるため業務320の性能への影響は少ないが、業務320の稼働中にバックアップできない可能性がある。
 第4の実施形態では、図22で示すように、新たに、タスク充足テーブル120を用いる。図22は、本発明の第4の実施形態を示し、計算機システムの構成を示すブロック図である。第4の実施形態の計算機システムは、前記第3の実施形態の管理サーバ201にタスク充足テーブル120を加え、前記第1の実施形態の実行パターンテーブル108に変更を加えた実行パターンテーブル108Aと、前記第3の実施形態のタスク実行テーブル107Aに変更を加えたタスク実行テーブル107Bを備えたもので、その他の構成については前記第3の実施形態と同一である。
 図13は、タスク充足テーブル120の例を示す。タスク充足テーブル(タスク情報テーブル)120は、各タスクの実行によってカバーされる業務320の範囲を示す情報を保持する。タスク充足テーブル120は、タスク識別子501の分だけ用意される。図13では、バックアップに関するタスク充足テーブルを説明する。カラム1301は、タスクの具体的(詳細)な実行パターンを示す内容を示す。図示の例では、「ファイルシステムのバックアップ」が、仮想サーバ109のエージェントソフトウェアと連携したファイルシステムレベルでのバックアップを示し、「論理ボリュームのコピー」がディスクアレイ装置116(ストレージ装置)のボリュームコピー機能を用いた論理ボリュームレベルでのバックアップを示し、「スナップショット」作成が、サーバ仮想化機構110のスナップショット機能を用いた仮想サーバ109レベルでのバックアップを示す。
 カラム1302には、カラム1301のタスクの実行パターンの実行対象となる業務320を示す識別子が格納される。この識別子には、図12のタスク実行テーブル107Aのカラム502(対象業務)の識別子と同じ識別子を使用する。カラム1306は、カラム1301で示された実行パターンの優先度を示す。カラム1306の値は、実行パターンの特徴に応じて管理者が設定する。例えば、ファイルシステムのバックアップは、アプリケーションと整合性の点で、論理ボリュームのコピーより優れているため、優先度が高い。なお、タスク充足テーブル120の適用範囲2001は、後述の第5の実施形態で用いるので、ここでは説明を省略する。
 図14は、タスク実行テーブル107Bの一例を示す。図14に示すタスク実行テーブル107Bは、前述した第3の実施形態のタスク実行テーブル107A(図12)に、タスクの詳細な内容を示す実行パターン1401を加えたものである。その他の構成は、前述した第3の実施形態のタスク実行テーブル107Aと同一である。
 図18は、実行パターンテーブル108Aの一例であり、バックアップに関する実行パターンテーブル108Aの例を示す。
 実行パターンテーブル108Aは、前記第1の実施形態の図7に示した実行パターンテーブル108に、パターン1801を追加したもので、その他の構成は前記第1の実施形態の実行パターンテーブル108と同一である。パターン1801はタスク識別子701によって識別されるタスクの実行パターンが格納される。図示の例では、「ファイルシステムのバックアップ」が、仮想サーバ109のエージェントソフトウェアと連携したファイルシステムレベルでのバックアップを示し、「論理ボリュームのコピー」がディスクアレイ装置116(ストレージ装置)のボリュームコピー機能を用いた論理ボリュームレベルでのバックアップを示し、「スナップショット作成」が、サーバ仮想化機構110のスナップショット機能を用いた仮想サーバ109レベルでのバックアップを示す。
 図19は、第4の実施形態のタスク制御部103で実行されるの処理の一例を示すフローチャートである。図19に示すフローチャートは、前記第3の実施形態の図17に示したステップ1703、ステップ1705を、ステップ1903、ステップ1905に置き換えたものである。なお、その他の処理は、前記第3の実施形態と同一である。
 タスク制御部130は、前述した第1の実施形態と同様に、ステップ1501、1502の処理を実行して未実行のタスクを選択する。そして、タスク制御部103は、ステップ1502でYESと判定された後、ステップ1501で選択した未実行のタスクが物理サーバ111上で実行可能な時間帯が有るか否かをチェックする(ステップ1903)。ここで、タスク制御部130は、図17のステップ1703の内容に加えて、タスク充足テーブル120を参照する。ステップ1903では、タスク実行テーブル107Bのカラム501が示すタスク識別子(ここでは、バックアップ)に該当するタスク充足テーブル120が参照される。タスク制御部130は、本処理にて一度も選択されておらず、優先度1306が最も高いパターン1301を選択する。タスク制御部130は、選択したパターン1301を実行パターンテーブル108Aのパターン1801(図18)から選択し、選択されたレコードに記載された使用資源の量702を取得する。
 そして、タスク制御部130は、必要な物理資源量702が、物理サーバ111上で確保できる時間帯があるか否かを前記第2の実施形態と同様に判定する。物理資源量702を確保できる時間帯が無い場合は、選択したパターン1301は実行できないものとし、次に優先度の高いカラム1306に対応するパターン1301を選択する(ステップ1903)。この処理は、優先度が高い順から低い順に行い、物理資源量702を確保できる時間帯が無い場合は本処理を終了することができる(ステップ1604)。
 タスク制御部130は、ステップ1604にて選択した資源利用状況テーブル119Aの該当レコード(タスクの実行に必要な物理資源を満たす資源利用状況602の時間帯が存在する)の開始時刻901とサーバ識別子601とを取得し、タスク充足テーブル120で選択したパターン1301からタスク実行テーブル107Bを更新する。
 この更新は、タスク制御部103が、タスク実行テーブル107Bのタスク識別子501と対象業務502とに、各々ステップ1501で選択したタスク識別子と業務320とを格納し、資源利用状況テーブル119Aの該当レコードの開始時刻901をタスク実行テーブル107Bの開始時刻503に格納し、資源利用状況テーブル119Aのサーバ識別子601を、タスク実行テーブル107Bの実行場所1201に格納し、タスク充足テーブル120で選択したパターン1301をタスク実行テーブル107Bのパターン1401に格納し、ステータス505を「未実行」に設定する(ステップ1905)。
 タスク制御部103は、定期的にタスク実行テーブル107を参照し、現在の時刻が実行開始時刻503以降となったタスクを、実行場所1201の物理サーバ111上の仮想サーバ109でパターン1301に従って実行するように指令するので、ステップ1905で開始時刻503が変更され、実行場所1201が設定されたパターン1401のタスクを、物理資源に余裕のある時間帯のうち、物理サーバ111で前もって実行することができる。
 本実施形態によれば、タスク制御部103は、タスク充足テーブル120の実行パターンの優先度が高いタスクの実行パターンを選択し、本来の開始時刻よりも前に実行可能なタスクを増加させ、タスクが目標とする完了時刻までに処理を終わらせることができないリスクを軽減することができる。
 <第5実施形態>
 前述した第4の実施形態では、タスクの実行パターンが複数存在する場合における処理制御方法について述べた。しかし、仮想サーバ109のマイグレーションなどによって、システム構成が動的に変化する環境においては、第4の実施形態で決定した優先度は適切でない可能性がある。
 第5の実施形態では、各実行パターンの優先度を動的に決定するための情報として、タスクの実行時間に影響する、タスクの各実行パターンの適用範囲を用いた処理制御方法について述べる。なお、第5の実施形態は、図22に示した前記第4の実施形態と同様の構成を用いる。
 タスクの複数の実行パターンの適用範囲は、例えば、ファイルシステムレベルでのバックアップ及び仮想サーバレベルでのバックアップは、仮想サーバ109の数だけバックアップを行う必要があるが、論理ボリュームレベルでのバックアップは、ボリュームを共有する複数の仮想サーバ109を一度にバックアップできる。
 本第5の実施形態では、タスク充足テーブル120(図13)に、新たに適用範囲2001を追加する。適用範囲2001は、タスク制御部130が、数値計算などによって、カラム1306の優先度を決定または更新するために用いる。第5の実施形態では、適用範囲2001は、パターン1301が示すタスクの詳細なパターンの適用範囲となる業務320を示す。適用範囲2001は、サブカラムとしてカラム2002、カラム2003を有する。カラム2002、カラム2003は、業務を識別する識別子毎に設けられ、パターン1301のタスクを実行可能か否かを示す情報が格納される。なお、カラム2002、カラム2003の識別子には、タスク実行テーブル107Bのカラム502の業務識別子と同じ識別子を使用する。
 図13に示す例では、カラム2002が「業務A」を示し、カラム2003が「業務B」を示す。パターン1301のタスクを実行可能か否かを示す情報としては「○」または「-」が設定される。これらの値は管理者が設定する。この情報は、パターン1301が実行可能であれば「○」が設定され、実行不能であれば「-」が設定される。
 図13に示す例では、パターン1301が「ファイルシステムのバックアップ」では、対象業務1302が「業務A」のとき、適用範囲は業務Aのカラム2002のみが実行可能であることを示す。一方、パターン1301が「論理ボリュームのコピー」では、対象業務1302が「業務A」のとき、適用範囲は業務Aのカラム2002と2003の双方の業務A及び業務Bでタスクの実行パターン1301が行われることを示す。なお、この例では、業務Aと業務Bがディスクアレイ装置116の同一の論理ボリュームを使用するので、業務A及び業務Bでタスクのパターン1301が実行される場合である。論理ボリュームのコピーでは、同一の論理ボリューム上のブロック単位でコピーが行われるため、業務ごとのアクセス範囲(ファイルシステム等)にかかわらずコピーが実行される。このため同一の論理ボリューム上に業務Aのデータと、業務Bのデータとが格納されていれば、一方の業務について論理ボリュームのコピーを行えば、他方の業務Bのデータもコピーされる。
 カラム1301のパターンに格納される各値は、サーバ管理部105が、資源管理部102、業務管理部104から取得した情報を元に設定する。第5の実施形態では、カラム2001は、2つのサブカラムを持つこととして説明するが、システム上に存在する1つ以上の業務の数だけサブカラムを持ってもよい。
 タスク制御部130は、図19に示したステップ1903において、カラム2001の値よりカラム1306の優先度を更新する。この優先度の更新方法として、例えば、カラム2001の適用範囲とカラム1306の優先度を数値化し、さらに重み付けを行う方法が挙げられるが、別の計算方法を用いてもよい。例えば、カラム2002、2003のパターン1301を実行か否かを示す情報が「○」のとき「1」、「-」のとき「0」とし、さらにカラム1306の優先度が「高」、「中」、「低」の順に「3」、「2」、「1」とし、パターン1301と対象業務1302のレコード単位でカラム2001と1306の和を求め、この和の大きい順に優先度を再設定するなどの数値計算を行うことができる。
 第5の実施形態によれば、タスク制御部130は、システム構成が動的に変化する状況にて、複数のタスク実行パターンの間で発生する優先度を決定することができる。
 なお、上記第1~第5の実施形態では、業務320を仮想サーバ109上で実行する例について述べたが、物理サーバ111上で業務320とタスクを実行する計算器システムに本発明を適用し、タスクが目標とする完了時刻までに処理を終わらせることができないリスクを軽減することができる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
 以上のように、本発明は仮想サーバ上で業務を提供し、業務ごとにバックアップやバッチ処理などのタスクを実行する仮想計算機システムに適用することができる。

Claims (12)

  1.  プロセッサ及びメモリを有する計算機と、
     プロセッサ及びメモリを有し、前記業務、前記業務に対する処理、及び前記計算機の物理資源を管理する管理サーバと、を有する計算機システムにおいて、前記業務に対する処理を制御する処理制御方法であって、
     前記管理サーバは、
     前記業務の処理の開始時刻及び当該処理の終了時刻を含むタスク実行情報と、
     前記処理の実行に必要な前記計算機の物理資源の量である第1の物理資源量を含むタスクリソース情報と、を保持し、
     前記方法は、
     前記管理サーバが、前記計算機に前記業務を割り当てて、前記割り当てられた業務を前記計算機に実行させる第1の手順と、
     前記管理サーバが、前記開始時刻及び前記終了時刻を前記タスク実行情報に設定する第2の手順と、
     前記管理サーバが、前記第1の物理資源量を前記タスクリソース情報に設定する第3の手順と、
     前記管理サーバが、前記計算機の物理資源の使用量である第2の物理資源量を取得する第4の手順と、
     前記管理サーバが、前記第1の物理資源量と前記第2の物理資源量の和の物理資源を前記計算機が有するか否かを判定する第5の手順と、
     前記管理サーバが、前記計算機の物理資源が前記物理資源量の和を満たすと判定した場合には、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を現在の時刻に近い時刻に更新する第6の手順と、
     前記管理サーバが、前記タスク実行情報を参照して、現在の時刻が前記処理の開始時刻となったときに、前記処理の開始を前記計算機へ指令する第7の手順と、を含むことを特徴とする処理制御方法。
  2.  請求項1に記載の処理制御方法であって、
     前記第2の物理資源量は、前記業務を実行する計算機で使用される物理資源の使用量の時間帯毎の複数の推定値を含み、
     前記第5の手順では、前記管理サーバは、前記第1の物理資源量と前記第2の物理資源量の推定値と和の物理資源を前記計算機が有するか否かを判定し、
     前記第6の手順では、前記管理サーバは、前記第1の物理資源量と前記第2の物理資源量の推定値との和を満たす物理資源を有する前記計算機の前記時間帯を抽出し、前記抽出された時間帯のうち開始時刻が最も早い時間帯を選択し、前記タスク実行情報に設定された前記開始時刻を前記選択された時間帯の開始時刻に更新することを特徴とする処理制御方法。
  3.  請求項2に記載の処理制御方法であって、
     前記計算機は複数の計算機によって構成され、
     前記第2の物理資源量は、前記複数の計算機のそれぞれで使用される物理資源の使用量の時間帯毎の複数の推定値を含み、
     前記第1の手順では、前記管理サーバは、前記複数の計算機のうちの少なくとも一つに前記業務を割り当てて、当該割り当てられた業務を当該計算機に実行させ、
     前記第2の手順では、前記管理サーバは、前記開始時刻と、前記終了時刻と、前記処理を実行する前記少なくとも一つの計算機をタスク実行情報に設定し、
     前記第6の手順では、前記管理サーバは、前記第1の物理資源量と前記第2の物理資源量の推定値の和を満たす物理資源を有する前記少なくとも一つの計算機の前記時間帯を抽出し、前記抽出された時間帯のうち開始時刻が最も早い時間帯と前記計算機とを選択し、前記タスク実行情報に設定された前記開始時刻を前記選択された時間帯の開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択された計算機に更新することを特徴とする処理制御方法。
  4.  請求項3に記載の処理制御方法であって、
     前記管理サーバは、実行可能な前記処理と前記業務との関係が前記計算機毎に設定された実行可能計算機情報をさらに保持し、
     前記第6の手順では、前記管理サーバは、前記第1の物理資源量と前記第2の物理資源量の推定値の和を満たす物理資源を有する前記計算機の前記時間帯を選択する際に、前記実行可能計算機情報を参照して当該処理を実行可能な計算機を選択し、当該選択された計算機の前記時間帯を選択することを特徴とする処理制御方法。
  5.  請求項3に記載の処理制御方法であって、
     前記管理サーバは、前記処理を実現する複数のパターンのそれぞれについて、当該パターンを実行可能な前記業務と前記計算機との関係及び前記業務の優先度が設定されたタスクパターン情報をさらに保持し、
     前記第2の手順では、前記管理サーバは、前記業務の処理の開始時刻、当該処理の終了時刻、当該処理を実行する前記計算機、及び当該処理の詳細なパターンを前記タスク実行情報に設定し、
     前記第6の手順では、前記管理サーバは、前記第1の物理資源量と前記第2の物理資源量の推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出する際に、前記タスクパターン情報に設定されたパターンのうち、前記優先度の高いパターンを実行可能な計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯、前記計算機及び前記パターンを選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択した計算機に更新し、前記タスク実行情報に設定されたパターンを前記タスクパターン情報で選択したパターンに更新することを特徴とする処理制御方法。
  6.  請求項3に記載の処理制御方法であって、
     前記計算機は、物理資源を仮想化する仮想化部によって生成された仮想計算機であることを特徴とする処理制御方法。
  7.  プロセッサ及びメモリを有する計算機と、
     プロセッサ及びメモリを有し、前記計算機で実行する業務、前記業務に対する処理、前記計算機の物理資源、及び前記業務に対する処理を管理する管理サーバと、を備えた計算機システムであって、
     管理サーバは、プロセッサ、メモリ及び前記計算機に接続されるインターフェースを有し、
     前記管理サーバは、
     前記業務の処理の開始時刻及び当該処理の終了時刻を含むタスク実行情報と、
     前記処理の実行に必要な前記計算機の物理資源量である第1の物理資源量を含むタスクリソース情報と、を保持し
     前記計算機の物理資源の使用量である第2の物理資源量を取得する資源管理部と、
     前記タスク実行情報を参照して、現在の時刻が前記処理の開始時刻となったときに、前記処理の開始を前記計算機へ指令するタスク制御部と、を備え、
     前記タスク制御部は、
     前記第1の物理資源量と前記第2の物理資源量の和の物理資源を前記計算機が有するか否かを判定し、
     前記計算機の物理資源が前記物理資源量の和を満たすと判定した場合には、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を現在の時刻に近い時刻に更新することを特徴とする計算機システム。
  8.  請求項7に記載の計算機システムであって、
     前記第2の物理資源量は、前記業務を実行する計算機で使用される物理資源の使用量の時間帯毎の複数の推定値を含み、
     前記タスク制御部は、
     前記第1の物理資源量と前記第2の物理資源量の推定値と和の物理資源を前記計算機が有するか否かを判定し、
     前記第1の物理資源量と前記第2の物理資源量の推定値との和を満たす物理資源を有する前記計算機の前記時間帯を抽出し、前記抽出された時間帯のうち開始時刻が最も早い時間帯を選択し、前記タスク実行情報に設定された前記開始時刻を前記選択された時間帯の開始時刻に更新することを特徴とする計算機システム。
  9.  請求項8に記載の計算機システムであって、
     前記計算機は複数の計算機によって構成され、
     前記第2の物理資源量は、前記複数の計算機のそれぞれで使用される物理資源の使用量の時間帯毎の複数の推定値を含み、
     前記管理サーバは、前記複数の計算機のうちの少なくとも一つに前記業務を割り当てて、当該割り当てられた業務を当該計算機に実行させ、
     前記タスク制御部は、
     前記開始時刻と、前記終了時刻と、前記処理を実行する前記少なくとも一つの計算機をタスク実行情報に設定し、
     前記第1の物理資源量と前記第2の物理資源量の推定値の和を満たす物理資源を有する前記少なくとも一つの計算機の前記時間帯を抽出し、前記抽出された時間帯のうち開始時刻が最も早い時間帯と前記計算機とを選択し、前記タスク実行情報に設定された前記開始時刻を前記選択された時間帯の開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択された計算機に更新することを特徴とする計算機システム。
  10.  請求項9に記載の計算機システムであって、
     前記管理サーバは、実行可能な前記処理と前記業務との関係が前記計算機毎に設定された実行可能計算機情報をさらに保持し、
     前記タスク制御部は、前記第1の物理資源量と前記第2の物理資源量の推定値の和を満たす物理資源を有する前記計算機の前記時間帯を選択する際に、前記実行可能計算機情報を参照して当該処理を実行可能な計算機を選択し、当該選択された計算機の前記時間帯を選択することを特徴とする計算機システム。
  11.  請求項9に記載の計算機システムであって、
     前記管理サーバは、前記処理を実現する複数のパターンのそれぞれについて、当該パターンを実行可能な前記業務と前記計算機との関係及び当該業務の優先度が設定されたタスクパターン情報をさらに保持し、
     前記タスク制御部は、
     前記業務の処理の開始時刻、当該処理の終了時刻、当該処理を実行する前記計算機、及び当該処理の詳細なパターンを前記タスク実行情報に設定し、
     前記第1の物理資源量と前記第2の物理資源量の推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出する際に、前記タスクパターン情報に設定されたパターンのうち、前記優先度の高いパターンを実行可能な計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯、前記計算機及び前記パターンを選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択した計算機に更新し、前記タスク実行情報に設定されたパターンを前記タスクパターン情報で選択したパターンに更新することを特徴とする計算機システム。
  12.  請求項9に記載の計算機システムであって、
     前記計算機は、物理資源を仮想化する仮想化部によって生成された仮想計算機であることを特徴とする計算機システム。
PCT/JP2010/072637 2010-10-28 2010-12-16 計算機システム及び処理制御方法 WO2012056596A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/877,696 US9396026B2 (en) 2010-10-28 2010-12-16 Allocating a task to a computer based on determined resources

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-241892 2010-10-28
JP2010241892A JP2012094030A (ja) 2010-10-28 2010-10-28 計算機システム及び処理制御方法

Publications (1)

Publication Number Publication Date
WO2012056596A1 true WO2012056596A1 (ja) 2012-05-03

Family

ID=45993346

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/072637 WO2012056596A1 (ja) 2010-10-28 2010-12-16 計算機システム及び処理制御方法

Country Status (3)

Country Link
US (1) US9396026B2 (ja)
JP (1) JP2012094030A (ja)
WO (1) WO2012056596A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580966A (zh) * 2020-04-30 2020-08-25 西安石油大学 一种基于内存利用率的云任务调度方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8640137B1 (en) * 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
KR20120076859A (ko) * 2010-12-30 2012-07-10 삼성전자주식회사 휴대단말에서 킵 얼라이브 패킷 동기화 방법 및 장치
JP5193327B2 (ja) * 2011-02-28 2013-05-08 シャープ株式会社 画像形成装置
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
JP2015119472A (ja) * 2013-11-18 2015-06-25 株式会社リコー 選択システム、通信管理システム、通信システム、プログラム、及び選択方法
US9871741B2 (en) 2014-03-10 2018-01-16 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
US9552228B2 (en) * 2014-09-08 2017-01-24 Empire Technology Development Llc Instruction set extension concealment in data centers
US10140188B2 (en) * 2014-11-26 2018-11-27 ArcServe (USA) LLC Snapshot management
US10108459B2 (en) * 2016-09-12 2018-10-23 Bmc Software, Inc. System and method to dynamically allocate varying processing capacity entitlements based on workload importance
CN108427602B (zh) * 2017-02-14 2021-10-29 全球能源互联网研究院有限公司 一种分布式计算任务的协同调度方法及装置
US11500663B1 (en) * 2017-06-07 2022-11-15 Amazon Technologies, Inc. Predictive virtual machine launch-based capacity management
CN109697121B (zh) * 2017-10-20 2023-05-05 伊姆西Ip控股有限责任公司 用于向应用分配处理资源的方法、设备和计算机可读介质
CN109697115B (zh) * 2017-10-20 2023-06-06 伊姆西Ip控股有限责任公司 用于调度应用的方法、装置以及计算机可读介质
US11636014B2 (en) 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
KR102387181B1 (ko) 2017-10-31 2022-04-19 에스케이하이닉스 주식회사 컴퓨팅 디바이스 및 그것의 동작방법
KR102455880B1 (ko) 2018-01-12 2022-10-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102394695B1 (ko) 2017-11-08 2022-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200088634A (ko) 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
EP3547127A1 (en) * 2018-03-27 2019-10-02 Siemens Aktiengesellschaft Method for configuration of an automation system
KR20190113437A (ko) 2018-03-28 2019-10-08 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 컴퓨팅 시스템
CN112000457A (zh) * 2019-05-27 2020-11-27 伊姆西Ip控股有限责任公司 管理处理系统中的任务的方法、设备和计算机程序产品
JP7297200B2 (ja) * 2019-06-17 2023-06-26 株式会社野村総合研究所 ブロックチェーンを利用するシステム
JP2021043684A (ja) * 2019-09-11 2021-03-18 富士通株式会社 情報処理システム、情報処理方法および情報処理プログラム
US10999403B2 (en) 2019-09-27 2021-05-04 Red Hat, Inc. Composable infrastructure provisioning and balancing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214962A (ja) * 1993-01-19 1994-08-05 Hitachi Ltd 負荷分散制御方法および分散処理システム
JPH10198643A (ja) * 1997-01-09 1998-07-31 Hitachi Ltd 分散計算機システム
JP2004302937A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd プログラム配置方法及びその実施システム並びにその処理プログラム
JP2006065658A (ja) * 2004-08-27 2006-03-09 Nec Corp 並列計算機システムおよびジョブ投入方法
JP2007193471A (ja) * 2006-01-18 2007-08-02 Fujitsu Ltd 予約管理プログラム、予約管理装置、および予約管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082606B2 (en) * 2001-05-01 2006-07-25 The Regents Of The University Of California Dedicated heterogeneous node scheduling including backfill scheduling
US8412822B1 (en) * 2004-01-27 2013-04-02 At&T Intellectual Property Ii, L.P. Optimized job scheduling and execution in a distributed computing grid
CN101499021A (zh) 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214962A (ja) * 1993-01-19 1994-08-05 Hitachi Ltd 負荷分散制御方法および分散処理システム
JPH10198643A (ja) * 1997-01-09 1998-07-31 Hitachi Ltd 分散計算機システム
JP2004302937A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd プログラム配置方法及びその実施システム並びにその処理プログラム
JP2006065658A (ja) * 2004-08-27 2006-03-09 Nec Corp 並列計算機システムおよびジョブ投入方法
JP2007193471A (ja) * 2006-01-18 2007-08-02 Fujitsu Ltd 予約管理プログラム、予約管理装置、および予約管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580966A (zh) * 2020-04-30 2020-08-25 西安石油大学 一种基于内存利用率的云任务调度方法

Also Published As

Publication number Publication date
US9396026B2 (en) 2016-07-19
JP2012094030A (ja) 2012-05-17
US20130227585A1 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US9977689B2 (en) Dynamic scaling of management infrastructure in virtual environments
US9588789B2 (en) Management apparatus and workload distribution management method
JP6054522B2 (ja) 統合型ストレージ/vdiプロビジョニング方法
JP6219512B2 (ja) 仮想ハドゥープマネジャ
JP4519098B2 (ja) 計算機の管理方法、計算機システム、及び管理プログラム
JP4920391B2 (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US10684878B1 (en) Virtual machine management
US8078824B2 (en) Method for dynamic load balancing on partitioned systems
US7979862B2 (en) System and method for replacing an inoperable master workload management process
US10191771B2 (en) System and method for resource management
WO2012066640A1 (ja) 計算機システム、マイグレーション方法及び管理サーバ
JP2006350780A (ja) キャッシュ割当制御方法
US10810054B1 (en) Capacity balancing for data storage system
US20130174175A1 (en) Resource allocation for a plurality of resources for a dual activity system
AU2004266019A2 (en) On demand node and server instance allocation and de-allocation
WO2018131556A1 (ja) リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、コンピュータ読み取り可能記録媒体
JPWO2015045046A1 (ja) 計算機システムおよび計算機システムのメモリ割当調整方法
US10754368B1 (en) Method and system for load balancing backup resources
US10019182B2 (en) Management system and management method of computer system
KR20150007698A (ko) 가상 데스크탑 서비스를 위한 부하 분산 시스템
US20240134762A1 (en) System and method for availability group database patching
JP5879117B2 (ja) 情報処理システムおよび運用管理方法
JP2010026828A (ja) 仮想計算機の制御方法
US20230185632A1 (en) Management system, data rebalancing management method, and recording medium

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13877696

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10858982

Country of ref document: EP

Kind code of ref document: A1