System and method for managing resources

A resource management system including a plurality of computer systems and providing services through operations of task applications by combining the plurality of the computer systems, which comprises: a storage which is included in at least one of the computer systems for storing information for identifying the computer systems which execute the task applications, respectively, and resource utilization rate information which includes utilization rates of resources configuring the respective computer systems; and an effected range investigation unit which is included in at least one of the computer systems and obtains utilization rates of additional resources required by a task application from the resource utilization rate information when the effected range investigation unit obtains information that the task application requires the additional resources of the computer systems; and sums utilization rates of resources configuring newly configured computer systems.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the foreign priority benefit under Title 35, United States Code, §119(a)-(d) of Japanese Patent Application No. 2006-209367, filed on Aug. 1, 2006, the contents of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a resource management of an information processing system, and more particularly to a resource management system and a resource management method which provide countermeasures for continuously operating the information processing system when the system is involved in an overload or troubles, by utilizing a technology for virtualizing the information processing system through objectizing and a policy control technology for managing operation of the information processing system.

2. Description of Relevant Art

In recent years, most of operation services in, for example, companies are performed by using an information processing system. Therefore, high reliabilities and high flexibilities are required in the system.

When a trouble such as an expected overload, accident, and abnormality happens in the information processing system, a quick and correct action is required for minimizing an economical loss due to, for example, stopping operation services, and falling of credit of such a customer who uses the information processing system.

Therefore, a policy control processing technology has been developed for diagnosing a trouble condition and providing a countermeasure for avoiding the trouble when the trouble happens in the information processing system.

In general, as a policy control processing, if a trouble happens an alternative computer is assigned; in a case of overload, an additional computer is dynamically added (processing of this practical counteraction is defined as a policy action).

Here, as a verification method for verifying whether or not a computer system assigned to an alternative is usable, a method for verifying whether or not the computer is already in some trouble has been proposed in Japanese Patent Laid-open Publication No. 2003-330899 and US 2004/0213153A1. In addition, in the patent literatures No. 2003-330899 and US 2004/0213153A1, a method for assigning an overload processing to a shared computer system has been also proposed.

Meanwhile, as operation services by the information processing system according to the present invention, for example, a payroll calculation and sales management in a company are listed up. However, the present invention is not limited to these, but includes various kinds of processing and functions achieved by using the information processing system. For example, a processing and function for providing services of a Web information delivery, an advance sale for tickets, an online sale, and the like; or services themselves are included in the task service.

There exist various kinds of information processing systems which are utilized in, for example, a company due to different architectures supplied by each vendor. In addition, it is preferable to use resources as efficiently as possible. Further, operation services provided by the information processing system may not be configured with a single resource, but may be configured with a combination of a plurality of resources in many cases, for complying with a complex utilization configuration due to a large scale, high performance, and high reliability service.

In the aforementioned patent literatures No. 2003-330899 and US 2004/0213153A1, since operation services with a single configuration and a single resource are handled, it is difficult to apply the systems of the above literatures to a case where an information processing system is configured with multi-layers and a plurality of resources, and a case to handle operation services (for example, Web system, batch system, DB: Data Base, and ledger sheet output) which have various kinds of processing.

SUMMARY OF THE INVENTION

Therefore, there is provided a following method by the present invention.

When a plurality of resources are shared, the method for obtaining a resource which does not effect on another information processing system is provided even when it is already in operation, with respect to resources to be used in a policy control of a plurality of information processing systems which are configured with a plurality of resources and with multi-level layers, and which use the resources duplicatedly.

According to the present invention, there is provided a resource management system including a plurality of computer systems and providing services through operations of task applications by combining the plurality of computer systems, the resource management system comprises: a storage storing information for identifying the computer systems which execute the respective task applications and resource utilization rate information which includes utilization rates of resources configuring the respective computer systems in at least one of the computer systems; and an effected range investigation unit which obtains utilization rates of additional resources required by a task application from the resource utilization rate information when the effected range investigation unit obtains information that the task application requires the additional resources of the computer systems; and sums utilization rates of resources configuring a newly configured computer systems in at least one of the computer systems.

Other embodiments of the present invention will be described later in detail.

According to the present invention, in the information processing system which provides task services by combining a plurality of resources, effects on another computer system already in operation can be obtained when obtaining a resource to execute a policy action. Therefore, it becomes possible to utilize the resources effectively for increasing the operation rate of the information processing system and for improving the reliability of the information processing system.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, embodiments according to the present invention will be explained in detail by referring to attached drawings.

First Embodiment

<Example of System Configuration>

An example of a whole system configuration according to a first embodiment of the present invention is shown inFIG. 1.

As shown inFIG. 1, a system according to the embodiment is configured with a plurality of task servers106which provide task services to clients by operating a task application, a manager101which implements an execution control and policy control of the task application, a console102which is capable of referring to an execution status and policy control status of the task application, and an agent104which monitors each task server106. The configuration members are connected to each other via management networks (103,105). In addition, the task server106provides task services to a task client108via a task net work107.

Meanwhile, the manager101corresponds to a “resource management system”.

With respect to the task server106which executes a task application, there are various kinds of and a plurality of task servers106corresponding to various kinds of OS (Operating System) and computers. They provide task services by dynamically assigning task applications to resources which are selected under conditions for operating the task applications.

Meanwhile, in the configuration shown inFIG. 1, a plurality of agents104are arranged for monitoring respective task servers106. However, it is possible to arrange a single agent104for monitoring the plurality of servers106. In addition, each of the task servers106can monitor itself by installing an agent program on each of the task servers106.

In addition, with respect to the task servers106, for example, some of the task servers106may be arranged in another protective network by considering a security in general, or a unit such as a firewall and the like may be set against net works outside the task servers106. However, since there are few relations between the present invention and the above, the explanation will be omitted.

In the embodiment, the task servers106and clients108are four sets and three sets, respectively, as examples. However, the set numbers are not limited to the above. The numbers may be more, or may be less than that of inFIG. 1. This is the same regarding a number of the agent104which monitors the task server106.

In addition, with respect to the task network107, for example, LAN (Local Area Network) or WAN (Wide Area Network) may correspond to this in general. However, any kind of network capable of providing a service from the task server106to the client107can be used.

As for the manager101, a processing of the manager101may be decentralized by configuring the processing as a multi-layers type.

Next, inFIG. 2, an example of a task system configuration is shown for providing task services in the system configuration shown inFIG. 1. For example, a Web server201, an AP (Application) server202, and a DB (Data Base) server203, which are the task server106, configure a Web application of three-level layers by being connected via the management network105shown inFIG. 1, thereby providing a service by combining a plurality of task servers106. A task service is available at a Web browser205, which is the task client108, via the task network107.

Meanwhile, inFIG. 2, a box shown with a reference number206is blocks showing an internal configuration of the Web server201, the AP sever202, and the DB server203, and a box shown with a reference number207is that of the Web browser205. These relations are shown with arrowed dotted lines inFIG. 2.

InFIG. 2, an example is cited, in which a Web application of three-level layers for providing a task service is configured with a plurality of task servers. However, a system may be a single task server106for providing a task service.

In addition, the reference number206inFIG. 2shows an internal configuration of the task server106such as the Web server201, the AP server202, and the DB server203. First, an OS (Operating System) runs, subsequently, a middleware and container server run on the OS. Further, for example, a task application may run and task data may be managed on the middleware and the container server (A configuration in which a task application directly runs on the OS may be also available). The reference number207inFIG. 2shows the internal configuration of the Web browser205(task client108), and the Web browser and a program designed for a client run on the OS.

FIG. 3is an illustration showing a configuration example of each apparatus such as the manager101, the agents104, the task servers106, and the task clients108, which are shown inFIG. 1. An apparatus301inFIG. 3shows that it is configured with a CPU (Central Processing Unit)302, a memory305, a storage306, a network I/F (Interface)307, and an I/O port I/F308. In addition, a storage medium read unit304for reading stored information in the storage medium303, an input unit309such as a keyboard, and an output unit310such as a printer may be included in each of the apparatuses, as needed.

A configuration of each of the apparatuses is almost identical. However, when the configuration is different, if the configuration has functions identical to those of the identical configuration, it is no matter even if the configuration is, for example, a virtual computer. In addition, each of the apparatuses provides each function, by, for example, executing a program stored in each of the storages306.

A system according to the embodiment has a characteristic to execute a task application and a policy execution of the task application as one job, and provides task services through execution of the task application and countermeasures for monitoring the task application and troubles, thereby making the task application to be operated continuously. As an example of the task application, a Web application of three-level layers system is exemplified. However, any environment may be used, and the environment is not needed to be same if a task application can be executed by dynamically assigning the application on resources in the environment. A task application other than the present embodiment may also be available.

The present invention may be applied not only to a system which dynamically assigns a task application, such as the present embodiment, but also to any system which continuously executes the task application by a policy control.

Meanwhile, a specific example of a policy execution processing will be explained later.

FIG. 4is an illustration showing a configuration example of modules and tables configuring a manager101according the embodiment of the present invention. Arrows inFIG. 4indicate relations between each module and table.

The modules included in the manager101are a task application control unit403which manages a task application execution, a policy control unit404which controls an execution of a policy installed in the task application, a resource broker unit406which retrieves a target of a resource when a policy action is executed, a load status investigation unit408which obtains a load status of a resource, an effected range investigation unit409which investigates effects when a policy action is executed, a display unit411which displays a job execution status and a policy action executing status, and an utilization rate collection unit415which periodically collects an utilization status of each resource.

In addition, as a table which is utilized by each of the above modules, the manager101includes a task object table402which manages a task application in operation by ID and name for identifying the task application, a task policy table405which manages a policy action description (countermeasure is called as policy action.) describing an event occurring on the task application and countermeasures to the event, and a resource object table407which objectizes a resource by utilizing a technology of a virtual object and manages the ID for identifying a resource and an attribute and attribute value of each resource.

The manager101further includes a resource utilization rate table410which manages a utilization rate (“User-defined utilization rate”) defined for each sub-resource (for example, “CPU” and “Memory” which configure a resource are defined as sub-resource) in a resource when task configuration objects configuring a task application are operated on the resource, or a utilization rate actually collected from the agent104, a task configuration table412which manages a task application and task configuration objects configuring the task application; and further manages relation information between the task application and a resource which is really used by the task configuration objects, a task policy execution parameter table414which manages information for controlling operation of each module which is included in the manager101, and a task configuration object attribute table413which manages relation information between a task application and a task configuration objects and their attribute information. Meanwhile, sub-resources in the resource utilization table410are not limited to the items defined in the table, but anything can be added if it has a common indicator among the task applications. In addition, it is possible to define an item to be referred to in advance depending on a task application.

It is noted that each of the aforementioned modules and tables is utilized by installing them in the memory305and the storage306in the unit configuration shown inFIG. 3. A detailed configuration of each of the tables and an example of information stored in the table will be described later by referring to figures. Each of the tables included in the manager101corresponds to a “storage unit”.

Further, a task configuration table412(this will be described later inFIG. 17) and the resource utilization rate table410correspond to “resource utilization rate information”, and the task policy table405corresponds to “policy information”.

FIG. 5is an illustration showing an example of a module configuration of an agent104.

The agent104includes a status monitoring unit502which monitors a status for recognizing a status change of a resource and transmits an event message when the status is changed (for example, overload, troubles); and a utilization rate measurement unit503for periodically collecting a loading condition of a resource. The modules are respectively installed in the memory305and storage306in the unit configuration shown inFIG. 3, and utilized. The agent is also required to have tables requested for the controlling (for example, tables for initial setting and for indicating what item is being measured). However, since these tables are not essential in the present invention, only modules will be explained, and an explanation on a unique function and the like of each of the modules will be omitted.

<Interaction Between Manager and Agent>

FIG. 6shows an interaction between the manager101and agent104. Because the manager101is required to obtain a sign of troubles with which a policy execution of a task application in operation starts, the policy control unit404instructs a status monitoring of the task application to the status monitoring unit502. If any status change is observed, the state monitoring unit502transmits an event message of the change, and the message is received by the policy control unit404. Then, an execution of a policy control processing starts.

In addition, because utilization rates of a task application and resources are required as a factor for executing the policy control processing, the load status investigation unit408and the utilization rate collection unit415instruct collection of the utilization rates to the utilization rate measurement unit503. The utilization rate measurement unit503transmits utilization rate information obtained by the agent104, and the information is received by the load status investigation unit408and utilization rate collection unit415. Then, utilization rate values are stored in the tables. The utilization rate values stored in the tables are referenced in the policy control processing.

Meanwhile, inFIG. 6, a configuration, in which the status monitoring unit502is located on the agent104side, is shown as an example. However, a configuration of a polling type interaction may also be available, where the status monitoring unit502is located on a manager101side, periodically collects the utilization rates from the manager101side, and evaluates a status change.

<Effected Range Investigation Method and Polling Action>

FIG. 7is an illustration showing relations among a task application, a task object configuring the task application, and an object model of a resource. “G0000001” of a reference number701which indicates a task application is configured with “A0000001” of a reference number702which indicates a task configuration object, “A0000002” of a reference number703, and “A0000003” of a reference number704. The “A0000001” of the reference number702, “A0000002” of the reference number703, and “A0000003” of the reference number704are shown in operation with arrows by using “R0000001” of a reference number709, “R0000002” of a reference number711, and “R0000003” of a reference number713, which indicate an object of each resource. Considering the above relations in the task system shown inFIG. 2, “A0000001” of the reference number702corresponds to the Web server201, “A0000002” of the reference number703corresponds to the AP server202, and “A0000003” of the reference number703corresponds to the DB server203in a modeling, and they configure one task service.

In addition, “G0000002” of a reference number705which indicates another task application is configured with “A0000004” of a reference number706which indicates a task configuration object, “A0000005” of a reference number707, and “A0000006” of a reference number708. “A0000004” of the reference number706, “A0000005” of the reference number707, and “A0000006” of the reference number708are shown with arrows to operate by using “R0000004” of a reference number710, “R0000005” of a reference number712, and “R0000003” of the reference number713, which indicate an object of each resource (In the illustration, task applications “G0000001” and “G0000002” share a resource. However, the “G0000001” and “G0000002” have not always same characteristics).

In addition, the illustration shows that task applications “G0000001” and “G0000002” share the resource “R0000003”. A task configuration object configuring these task applications is dynamically assigned to a resource selected (resource brokering) from a pool in which various kinds of resources exist, and executed. Meanwhile, relations between a task application and a task configuration object, and the task configuration object and a resource are stored in a task configuration table412and task configuration object attribute table413, which will be described later.

FIG. 8is an illustration for explaining an investigation method of an effected range in a configuration shown inFIG. 7. Here, since an overload phenomenon has occurred in the task application “G0000001”, a policy action processing is just being executed in a policy control processing for continuously executing the task application. After confirming an overload status in the policy control processing, “A0000001” of a reference number802is added to “A0000001” of a reference number801, and “A0000002” of a reference number804is added to “A0000002” of a reference number803, respectively, as a countermeasure policy action. As a result, a load dividing is executed by a scale out of an amount of processing which has caused the overload phenomenon of the previous resource.

Here, “R0000004” of the reference number810is assigned as an executor of “A0000001” of the reference number802as a result of brokering of the resources, and also “R0000005” of the reference number812is assigned as an executor of “A0000002” of the reference number804as a result of brokering of the resources (The relations are shown with arrows).

In this brokering of the resources, a shared resource is set as a retrieval target for effective utilization of the resources by sharing the resources as many as possible. For investigating effects on a task application by a scale out, it is evaluated whether or not an execution of the scale out is acceptable from a sum of resource utilization rates of “A0000004” of the reference number806, which is a task configuration object operated on “R0000004” of the reference number810, and that of “A0000001” of the reference number802for an amount of the divided load.

In addition, it is also evaluated whether or not an execution of the scale out is acceptable from a sum of resource utilization rates of “A0000005” of the reference number807, which is a task configuration object operated on “R0000005” of the reference number812, and resource utilization rates of “A0000002” of the reference number804for an amount of the divided load.

Further, for simultaneously evaluating effects of a policy control execution of the task application “G0000001” on another task application, a load status of “R0000003” of a reference number813which is a shared resource with “G0000002” is also checked. In each of the resources, a sum of resource utilization rate of task configuration objects which use the resource is calculated, and if the sum of the utilization rate exceeds an amount (in the embodiment, the value is set at 100, but any value is available as needed) that the resource can process, it is determined that there exist effects on another task which is already in normal operation. In addition, for example, even if resources of “R0000004” of the reference number810and “R0000005” of the reference number812have high performance capabilities, and succeed in scale outs, if a resource of “R0000003” of the reference number813is operated with a minimum performance necessary for the operation, an existence of the effects may be supposed. Therefore, it is also requested to evaluate whether the effects on shared resources between the task applications exist or not, by using the utilization rates.

Here, the utilization rate is evaluated by obtaining a sum of a utilization rate of each sub-resource such as “CPU” and “Memory”, which are sub-resources configuring a resource. For example, if the task applications of “G000001” and “G0000002” are entirely different in processing configuration each other, each of the task applications may use different sub-resources to each other. Therefore, continuous parallel operations of the task applications on a same resource are available. On the other hand, if the processing configuration is identical, the sub-resources in a resource may be used in both task applications, thereby resulting in a conflict between the task applications. Accordingly, sharing the sub-resources become difficult.

Here, a case in which two task applications share resources has been shown as an example. However, three task applications may share resources.

Hereinafter, a processing flow in the manager101shown inFIG. 4will be explained by referring to a flowchart showing a processing procedure of each function unit (refer toFIG. 4, as needed). For operating the manager101, it is required that information is stored in advance in a plurality of tables. First, an example of a table which records information will be explained.

FIG. 9is an illustration showing an example of information stored in a task object table402. A task ID901for identifying a task application and a name902corresponding to the task application are stored in the task object table402. In the example shown inFIG. 9, “G0000001” to “G0000003” of the task ID901, which indicate three task applications, and task application names corresponding to the three task applications are stored, and task applications currently in operation are shown. In addition, in the task object table402, entries are added as many as jobs which must be executed. In903, SLO (Service Level Object) of a service that the task application provides is stored. Here, a content of the SLO is SLA (Service Level Agreement), that is, it is an item of a service quality which is assured to a user by a business side, and the content of the SLO corresponds to the SLA. The item in903may be made as a request item which indicates a service level of the SLA.

Meanwhile, when an information display on a task application is required, other columnar information which indicates attributes of the task application other than the name902may be added.

Next,FIG. 10is an illustration showing an example of information stored in a task policy table405. In the task policy table405, information of a policy action (execution method of specific countermeasures) indicated in the item of policy action1003is stored. A policy action is executed when an event shown in an item of an event1002happens (the trigger may be, for example, a notification of an event message from an agent) in a task ID1001which indicates a task application. A plurality of patterns, which are prioritized, of the policy action may be set for one event (in the embodiment, it is an entry order). In addition, in the name1004and explanation1005, information which can identify a policy action is stored when a display indicating in operation of the policy is displayed on a console102.

In the example shown inFIG. 10, policy actions of a task “G0000001” are set. Three events, “Event content 1”, “Event content 2”, and “Event content 3”, are listed up as the event of “G0000001”. Policy actions with priority orders 1 to 3 are set for the “Event content 1”, policy actions with priority orders 1 and 2 are set for the “Event content 2”, and policy actions with priority orders 1 and 2 are set for the “Event content 3”.

Next,FIG. 11is an illustration showing an example of information stored in a resource object table407. In the resource object table407, a resource ID1101which identifies a resource, an attribute1102and attribute value1103of the resource are stored. In the example shown inFIG. 11, a resource indicated by the resource ID “R0000001”, and the attribute information (attribute1102and attribute value1103) of the resource are shown as an example.

Meanwhile, in theFIG. 11, for example, “CPU”, “CPU clock frequency”, and the like are shown as attributes. However, the attributes are not limited to the above, but other attributes may also be set.

Next,FIG. 12andFIG. 13are illustrations showing examples of information stored in a resource utilization rate table410. The resource utilization rate table410shown inFIG. 12stores a sub-resource utilization rate when a task configuration object configuring a task application is operated on a resource.

In a “User-estimated utilization rate”1206which is a User-defined utilization rate indicated by a reference number1212, estimated values of the utilization rates are stored, which are used by a task configuration object when the task configuration object uses a resource. In a “Date and time specified peak utilization rate”1207, estimated values of the utilization rates in which a certain increase of the utilization rates is forecasted on the specified date and time are stored. Here, as a content of a format of the “Date and time specified peak utilization rate”1207, “the utilization rate will be 40% during 17:00-20:00 on Oct. 25, 2006” is shown in the example indicated by a reference number1201.

In addition, in an “Average utilization rate in one hour”1208, which is a “Utilization rate measured by utilization rate measurement unit” of a reference number1213which indicates a utilization rate actually obtained from the agent104, an average value of the utilization rate during the past one hour operation is stored. In a “One day/One week utilization rate”1209, an average value of the utilization rate during the past one day or past one week operation is stored. In a “Total time utilization rate”1210, an average value of the utilization rate of the past total operation time is stored. In addition, in a “Maximum utilization rate”1211, a maximum utilization rate in the past operation is stored. Especially, items of the “User-estimated utilization rate”1206and, as needed, “Date and time specified peak utilization rate”1207of the “User-defined utilization rate”1212are required to be set in advance.

In addition, in the example shown inFIG. 12, a task configuration ID1203“A0000001” configuring a task ID1202“G0000001” which indicates a task application, and each utilization rate (1206,1207) of “CPU”, “Memory”, “Disc volume”, “Printer support”, and “Network resource”, which are sub-resource type1205corresponding to resource ID1204“R0000001” and “R0000004”, are stored. If a utilization rate of each sub-resource is set, it is preferable to set the utilization rate of the sub-resource based on an accumulated utilization rate, by accumulating a utilization rate which is obtained, for example, when an operation of the task application is evaluated (since a reset of the utilization rate is available even after starting operation of a task service, it may be possible to use a value obtained in the task service operation). In addition, the sub-resources such as, “CPU”, “Memory”, “Disc volume”, “Printer support”, and “Network resource”, are listed up here. However, the sub-resources are not limited to the above. Other than the above may be available to include.

Next,FIG. 14is an illustration showing an example of information stored in a task configuration object attribute table413. In the task configuration object attribute table413, a Task ID1401, a Task configuration object1402, a Name1403, a Sub-resource type1404, a Preferential sub-resource type1405, and Relation information1406are set as attributes of the task configuration object configuring a task application. A name of the task configuration object is stored in the Name1403. In the Sub-resource type1404, a sub-resource which is utilized by the task configuration object, as well as used for evaluation of the utilization rate is stored. In the Preferential sub-resource type1405, a sub-resource type which is preferentially evaluated in evaluation of the utilization rate (for instance, in automatic execution of a policy) of the sub-resource is stored. In the Relation information1406, a relation among task configuration objects configuring a task object is stored.

In the example shown inFIG. 14, as one example of the task configuration object attribute table413, it is shown that “G0000001” of the Task ID1401which indicates a task application is configured with “A0000001” (Web server), “A0000002” (AP server), and “A0000003” (DB server) of the Task configuration object1402. Here, it is shown that task configuration objects of the Task ID1401“G000001” have relations among “A0000001”, “A0000002”, and “A0000003”. In addition, it is shown that target sub-resources for utilization rate evaluation of “A0000001” (Web server) are “CPU” and “Memory”, and the “CPU” is preferentially evaluated.

Next,FIG. 15is an illustration showing an example of information stored in a Task policy execution parameter table414. In the Task policy execution parameter table414, a Task ID1501and Parameter information1502are stored for changing a behavior of each module of the manager101.

In the example shown inFIG. 15, it is shown that in each task application of the Task ID1501from “G0000001” to “G0000003”, a unique parameter is set for each of the task applications. In a reference number1503, the Parameter information1502of the Task ID1501“G0000001” is shown as an example. Here, rules for determining, for example, the following subjects are stored. That is, when an effected range is investigated, the rules for determining which utilization rate should be referenced, whether or not an execution status of a policy should be displayed on a screen or whether or not a resource with a minimum utilization rate should be automatically selected and the policy should be executed by the resource without displaying the execution status, and how to determine a display order of the resources when the execution status of the policy is displayed, are stored.

Next, operations of the manager101shown inFIG. 4will be explained assuming that the aforementioned each of the tables is stored in the manager101.

First, a flowchart inFIG. 16shows a processing procedure in a task application control unit403for executing a start-up and stop of a task application. Meanwhile, a start-up of one task application (including policy control processing) is treated as one job in the embodiment.

A first processing of the flowchart shown inFIG. 16is a wait state of a job (Step1601), and when any operation is made, an operation content of the job is determined. When a job starts (“Y” in Step1602), a task application is assigned and started as a start of the job. In addition, for starting up a policy control of the task application, a policy control unit404is called and executes a processing shown inFIG. 18(Step1604).

At this stage, in a Task configuration table412shown inFIG. 17, a Task ID1710, a Task configuration object1711, a Utilization resource ID1712, and a Load dispersion balance rate1713are stored in advance as information relating to the task configuration object configuring the task application. The example inFIG. 17shows a content of task configuration objects configuring two task applications. A task application of the Task ID1710of an item “G0000001” indicates that it is a Web application of three-level layers and configured with “A0000001”, “A0000002”, and “A0000003” of a Task configuration object1711, and stores information of the Utilization resource ID1712which indicates a resource actually used by the task configuration object. It is shown that the Task configuration object1711from “A0000001” to “A0000003” utilizes a resource of each of the “R0000001”, “R0000002”, and “R0000003” of the Resource ID1712. In addition, in the Load dispersion balance rate1713, a dispersion rate of a processing is stored, for example, when a task configuration object is concurrently operated on a plurality of resources. Since each task configuration object utilizes one resource at this stage, the all Load dispersion rates1713are filled with “100”.

Next, when an operation of a job is not a start-up (“N” in Step1602), but a stop of the job (“Y” in Step1603), a task application is stopped or scrapped for stopping the job. In addition, a stop message is transmitted (Step1605) to the policy control unit404for stopping a policy control of the task application.

Meanwhile, in this system, an operation of a job other than the “Start up” and “Stop” may be executed (for example, display of job, “Y” in Step1606), and may be processed corresponding to an instruction of the operation (Step1607). However, the detail will be omitted since this part is not essential in the present invention.

After completing a series of the processing, the processing returns again to the wait state of a job at Step1601. In regard to a processing of the task application control unit403shown inFIG. 16, a screen for starting or stopping a job is displayed on the console102(refer toFIG. 1) in general, thereby resulting in easy utilization for a user. However, the detail will be omitted since the part is not essential in the present invention.

Next, a flowchart inFIG. 18shows a processing procedure in the policy control unit404. It is a processing for executing a policy execution control of a task application.

A first processing is to start up the agent104(Step1801) for monitoring whether or not the task application is in an unusual condition, subsequently, calls the utilization rate collection unit415for obtaining a utilization rate of a resource of a task configuration object configuring the task application, then, waits for a notification of an event message from the agent104, or a notification of a stop message of a job from the task application control unit403(Step1802). Meanwhile, in the embodiment, the event message from the agent104is the event message of an overload status (an event message of troubles will be explained separately).

Here, a flowchart shown inFIG. 19is a processing procedure in the utilization rate collection unit415. The utilization rate collection unit415is started up by a calling of the policy control unit404, and obtains a utilization rate (Step1901) of each sub-resource of a resource which is utilized by a task configuration object of a task application through the agent104, according to acquisition methods of the “Average utilization rate in one hour”1208, “One day/One week utilization rate”1209, “Total time utilization rate”1210, and “Maximum utilization rate”1211, with respect to the “CPU”, “Memory”, “Disc volume”, “Printer support”, and “Network resource”, which are sub-resource type1205of the resource utilization rate table410(refer toFIG. 12). Here, the utilization rates are obtained based on the resource utilization rate table410(refer toFIG. 12). However, a utilization rate of other monitoring items can also be obtained.

Returning toFIG. 18, when a stop message of a job is notified from the task application control unit403(“Stop request” in Step1803), the agent104is stopped and the processing ends (go to “End” from Step1805). When an event message is notified from the agent104(“Event reception” in Step1803), it is evaluated whether the SLO (Service Level Object) of a service provided by the task application is achieved or not (Step1804).

When the SLO is achieved (“Y” in Step1804), the processing returns again to Step1802of the wait state of a job by ignoring the notification of the event message. When the SLO is not achieved (“N” in Step1804), the load status investigation unit408is called for obtaining a resource utilization rate of a task configuration object configuring the task application (Step1806).

Here, a flowchart shown inFIG. 20is a processing procedure in the load status investigation unit408. The load status investigation unit408is started up by a calling of the policy control unit404, and executes a processing for obtaining a load status of a resource or a load status of a task object on the resource from the agent104, by obtaining a utilization rate of each sub-resource (for example, “CPU”, “Memory”, “Disc volume”, “Printer support”, and “Network resource”) of a resource which is utilized by a task configuration object of an indicated task application through the agent104(Step2001).

Meanwhile, as described above, since operations of the load status investigation unit408and utilization rate collection unit415are substantially identical, both units may be combined in one unit. Then, “Utilization rate collection unit” corresponds to both the investigation unit408and utilization rate collection unit415.

Returning toFIG. 18, at Step1806, according to a detailed load status of the task application (task configuration object) obtained from the load status investigation unit408, a policy action1003(specific countermeasure processing in policy control processing) to be executed is obtained from the task policy table405(refer toFIG. 10), and also the resource broker406is called for obtaining a resource which is a candidate of a policy action target (Step1807).

Here, a flowchart shown inFIG. 21is a processing procedure in a resource broker unit406. The resource broker unit406is started up by a calling of the policy control unit404and retrieves of a resource of a policy action target from the resource object table407based on an assignment by an invoker, and determines the resource (Step2101). If a system is in an overload status, the system determines that a countermeasure is required by a scale out for adding a resource. As a resource of a scale out target, the resource which is shared by another task application is preferentially selected for effective utilization of resources (Further, it is possible to set a detailed condition which includes a specific attribute as a collateral condition of the resource to be retrieved. The content of the attribute must be described in the policy action description). Here, a resource number of a policy action target is not limited to one, but more than one of resources may be listed up as the candidates.

Returning toFIG. 18, in the resource broker unit406, when a target resource is determined, an effected range investigation unit409is called for verifying effects on other task applications by executing the policy action (Step1808). Meanwhile, a processing of the effected range investigation unit409will be described later.

In the processing of the effected range investigation unit409described later, if the effects by the policy action exist, the processing moves to “A” and steps are repeated from Step1806for obtaining a second or later candidate of the policy action description.

If the effects do not exist, the processing is continued and the policy action is executed (Step1809). Then, it is determined whether or not the SLO is achieved (Step1810).

If the SLO is not achieved (“N” in Step1810), the processing from Step1806to Step1810is repeated.

On the other hand, if the SLO is achieved (“Y” in Step1810), the processing will become the wait state again in Step1802waiting for a notification of an event message from the agent104or a notification of a job stop request from a task application control unit403.

An achievement of the SLO may be verified for not only the task application which executed the policy action, but also other task applications sharing the resource for confirmation.

Meanwhile, if a policy action at Step1809is completely correct, it is unnecessary to verify the achievement of the SLO after the policy action. Then, it may be possible not to execute the processing at Step1810.

Here, if a policy action is executed correctly, the policy control unit404updates a task configuration table412according to the executed policy action. As an example, the example of information stored in the task configuration table412before and after the execution of the policy action is shown inFIG. 22. The task configuration table412indicated by a reference number2201is the table before a change by the execution of the policy action, and the table indicated by a reference number2202is the table after the change by the execution of the policy action.

The task configuration table412indicated by the reference number2202shows that since a countermeasure by a scale out of the task configuration object “A0000001” is implemented as a policy action, the “A0000001” utilizes two resources and a load dispersion balance rate1713between the two resources are set at 50%. One of the resource is “R0000001” and the other is given a resource ID as the policy action target as shown by a reference number2203(in the figure, shown with “Rxxxxxxx” as a temporary resource).

Next, flowcharts inFIG. 23,FIG. 24, andFIG. 25are processing procedures in the effected range investigation unit409. The effected range investigation unit409is started up by a calling (Step1808inFIG. 18) of the policy control unit404and investigates whether or not other task applications are effected by adding a resource as a policy action target.

First, a task configuration object utilizing a resource which is a policy action target is obtained from the task configuration table412. Then, a task object configured with the task configuration object is obtained from the task configuration table412. Next, task configuration objects configuring the task object and resources which are utilized by the task configuration object are obtained from the task configuration table412(Step2301).

That is, a task configuration object, which is operated on a resource of a policy action target, of a task application and all resources used by the task application are obtained. Meanwhile, if a plurality of task configuration objects which use the resource exist, the above processing is implemented for all of the task configuration objects.

Next, a method for identifying an effected range by a policy action is obtained from a task policy execution parameter table414(Step2302). When a utilization rate is obtained based on a current load status (“Acquisition of current load status” at Step2303), a utilization rate of each sub-resource, which is utilized by a task configuration object of a resource which is a policy action target obtained at Step2301, is obtained (Step2305) by calling the load status investigation unit408(refer toFIG. 20). A target sub-resource must be a sub-resource which is utilized by the task configuration object, and it is obtained from the sub-resource type (1404) corresponding to the task configuration object defined by the task configuration object attribute table (refer toFIG. 14).

On the other hand, when a utilization rate is obtained from the resource utilization table410(“Acquisition from resource utilization rate table” at Step2303) and the rate is obtained from an item of “Utilization rate by utilization rate measurement unit”1213(refer toFIG. 12) of the resource utilization table410(“N” in Step2304), a utilization rate of each sub-resource, which is utilized by the task configuration object of the resource which is the policy action target obtained at Step2301, is obtained by a combination of the task configuration object and resource from one of items or all of items of the “Average utilization rate in one hour”1208, “One day/One week utilization rate”1209, “Total time utilization rate”1210, and “Maximum utilization rate”1211of the “Utilization rate by utilization rate measurement unit”1213on the resource utilization table410. With the above, the task configuration object obtained at Step2301and the utilization rate of the resource are obtained from the resource utilization rate table410(Step2306). A sub-resource to be a target must be the sub-resource utilized by a task configuration object. It is obtained from sub-resources corresponding to the task configuration object defined by the task configuration object attribute table (refer toFIG. 14).

When a utilization rate is obtained from the resource utilization rate table410(“Acquisition from resource utilization rate table” at Step2303) and the rate is obtained from the item of “User-defined utilization rate”1212of the resource utilization rate table410(“Y” in Step2304), a utilization rate of each sub-resource of the task configuration object of the resource, which is the policy action target obtained at Step2301, is obtained by a combination of the task configuration object and resource from one of items or all of items of the “User-estimated utilization rate”1206and “Date and time specified peak utilization rate”1207of “User-defined utilization rate”1212on the resource utilization table410. However, the obtained utilization rate must be a value based on a rate of the load dispersion balance rate1713of the task configuration object1711stored in the task configuration table412(Step2307). Here, a sub-resource to be a target must be the sub-resource utilized by the task configuration object, and it is obtained from the sub-resource type (1404) corresponding to the task configuration object defined by the task configuration object attribute table (refer toFIG. 14).

Next, a sum of a utilization rate of a sub-resource is obtained by obtaining the utilization rate of each of the sub-resources from the “User-estimated utilization rate”1206of the resource utilization rate table410when a task configuration object which is selected at Step1806utilizes a resource of a policy action target (However, it is also possible to obtain the utilization rate by other utilization rates other than the “User-estimated utilization rate” by holding the processing on the task policy execution parameter table414(refer toFIG. 15) as at Step2302), and by adding the obtained utilization rate of each of the sub-resources to the utilization rate of the sub-resource, which is same with each of the sub-resources, obtained at Step2305, or Step2306, or Step2307, respectively (Step2308).

Here, for example, a summation is implemented for “CPU”, “Memory”, “Disc volume”, “Printer support”, and “Network resource” respectively, by considering a difference of resource functions utilized by each task. However, a sub-resource to be a target must be the sub-resource utilized by the task configuration object. It is obtained from the sub-resource type1404corresponding to the task configuration object defined by the task configuration object attribute table (refer toFIG. 14).

Here, with respect to a utilization rate of a sub-resource of a task configuration object which is obtained at Step1806, a rate of a load dispersion balance rate which is set in a policy action to be executed at Step1807is applied to the utilization rate. For example, when a countermeasure is performed by a scale out, the load dispersion balance rate of the processing should be set according to an added resource number, and the utilization rate is calculated by the rate of the load dispersion balance rate. For example, when the utilization rate of a “CPU”, which is one of the sub-resources of the resource utilization table, is 60% and the load dispersion balance rate is 50%, then, the utilization rate of the “CPU” becomes 30%.

In addition, when there exist a plurality of candidates of a resource which is a policy action target obtained at Step1807, the processing from Step2301to Step2308is repeatedly executed as many as a resource number. Therefore, it is evaluated whether or not the processing has been completed for all resources which are targets of the policy action (Step2309) The processing returns to Step2301until the processing is completed for all resources. When utilization rates of all resources are obtained, the processing proceeds to a flowchart inFIG. 24, which is a processing of “B”.

Next, as a first processing of the flowchart shown inFIG. 24, an assignment of automatic execution (policy action is executed automatically) for confirming effects of a policy action on other task applications is extracted from the task policy execution parameter table414(Step2401). Here, when the policy action is executed automatically (“Y” at Step2402), it is evaluated whether all sums, which are obtained at Step2308(refer toFIG. 22), of a utilization rate of each sub-resource exceed “100” (Step2404) or not.

When the all sums of the utilization rate of each sub-resource exceed “100” (“Y” at Step2404), the processing returns to “A” of the flowchart which is executed by the policy control unit404inFIG. 18, and a second or later policy action is executed.

Meanwhile, in the embodiment, it was evaluated whether or not a sum of a utilization rate exceeds “100” at Step2404. However, the value is a threshold which can be set arbitrarily. Therefore, for example, an administrator of the system may determine the value, considering a system safety.

In addition, when a policy action for a plurality of task configuration objects is required, and when a plurality of resources are listed up as the candidates at Step1807, the processing becomes as follows. A resource, whose sum of a utilization rate of each sub-resource does not exceed “100” and also which has a minimum sum value of the utilization rate of the sub-resource which is set in the preferential sub-resource type1405(for example, “CPU” if the resource is a Web server) of the task configuration object attribute table413(refer toFIG. 14), is selected as an optimal resource, thereby resulting in a selection of an optimal resource combination (Step2407). Then, the processing proceeds to a flowchart inFIG. 25, that is, a processing “C”.

In addition, when a policy action is not executed automatically (“N” at Step2402), an effected range due to the policy execution is displayed by calling a display unit411(Step2403). Here, a flowchart shown inFIG. 26is a processing procedure in the display unit411. The display unit411outputs information for displaying it on the console102(Step2601).

Here, contents of a display of the display unit411are, first; a task object of a task application which executed a policy action, a task configuration object, and a resource which is utilized by the task configuration object, second; all resources and attributes of the resources which are candidates of a policy action, a task object of a task application which utilizes the resources, a task configuration object, and an attribute of the task object. In the displays of the first and second task objects, configurations of the task applications are displayed by referring to the task configuration object attribute table413(refer toFIG. 14). In addition, a relation between a task object and a resource is displayed by referring to the task configuration table412(refer toFIG. 21).

Further, the contents displayed by the display unit411are, third; a sum of utilization rate of each sub-resource of all resources which are policy action targets, fourth; a display (for example, Red: for more than “100”, Yellow: for “80 to 99”) corresponding to the sum value of the utilization rate of each sub-resource of the resource displayed in the third. It may be possible to display only a sub-resource shown in the sub-resource type1404of the task configuration object attribute table (refer toFIG. 14). Further, fifth; in a display of resources in the second, an order change of a resource order which is based on a preferential item of the task application and a priority are displayed according to the sum value of the utilization rate of each sub-resource of the resource displayed in the third, as well as a display order based on an attribute such as a name of the resource. Since utilization rates of resources (sub-resources) are not equal depending on a task application, a preferential display item is set in advance (for example, “CPU” is set if the resource is a Web server.) in the preferential sub-resource type1405of the task configuration object attribute table413(refer toFIG. 14).

Meanwhile, examples of the display are shown inFIG. 27andFIG. 28. The explanations will be described later.

Next, when the above is displayed, the processing becomes a wait state of waiting for information whether or not a policy action can be executed, and waits for acquiring information for selecting any resource, which is selected by referencing the display at Step2403, of a policy action target (Step2405). Then, when the information for selecting a resource is acquired (“Y” at Step2406), the processing proceeds to a flowchart inFIG. 25, that is, a processing “C”, for executing the policy action. When the information is not acquired (“N” at Step2406), the processing returns to “A” of the flowchart inFIG. 18, and a second or later candidate of the policy action is executed.

Next, as a first processing in the flowchart shown inFIG. 25, a utilization rate of each sub-resource of a shared resource is obtained (Step2501) from all resources used by a task application which uses a resource obtained in the processing at Step2405and Step2407in the flowchart shown inFIG. 24and all resources used by the task application which has executed the policy action, then, a load status of the shared resource is obtained (Step2501). In addition, the obtained load status may be displayed on the console102by calling the display unit411.

Here, a task object is obtained from a resource by referring to the task configuration table412(refer toFIG. 22) as with the above. In addition, utilization rates are obtained from the utilization rate obtained at Step1806of the flowchart shown inFIG. 18and from the resource utilization rate table410in a manner similar toFIG. 23, respectively. The present processing is for confirming whether or not there are effects on a shared resource by execution of the policy action. When an automatic policy action is not set, an obtained utilization rate may be displayed on the console102by calling the display unit411. An example of the display is shown inFIG. 33, and the explanation will be described later.

Next, when a shared resource exists at Step2501, and there exists a sub-resource whose sum of a utilization rate by sub-resource exceeds “100” (“Y” at Step2502), and also when an automatic policy action is set (“Y” at Step2503), the processing returns to “A” of the flowchart shown inFIG. 18and a second or later policy action is executed. When the automatic policy action is not set (“N” at Step2503), a warning message to notify that a policy action is not correctly executed with the present setting is displayed by calling the display unit411(Step2504). Then, it is evaluated whether or not a second or later candidate of the policy action should be executed (Step2505). When the second or later candidate of the policy action is to be executed, the processing returns to “A” of the flowchart shown inFIG. 18, and when not executed, the processing proceeds to “D” inFIG. 24, and a resource of the policy action target is selected again.

When there is no resource whose sum of a utilization rate obtained at Step2501exceeds “100” (“N” at Step2502), the processing returns to Step1809of the flowchart shown inFIG. 18, and a policy action is executed.

<Evaluation by Date and Time Specified Utilization Rate>

In the resource utilization rate table410shown inFIG. 12, as an example of “Date and Time specified peak utilization rate”1207, a date and time specified utilization rate can be set, and contents of the setting are shown in reference number1201as an example. Here, it is shown that a utilization rate is high at a certain time, on a day, on a day of the week, and for a period of time. A format shown here is an example, and by using a separator with a different symbol, for instance, it is possible to set a plurality of periods and a plurality of times. Then, the utilization rate is evaluated by synchronizing a time for the evaluation with a period of time when the task system utilizes the resource. When the period of time is overlapped with that of in the table, a utilization rate set in the table is applied. When the period of time is not synchronized, the utilization rate is treated to be “0”% (zero).

In addition, as a future evaluation method of a utilization rate, when it is known that the task application uses a sub-resource with a high utilization rate in a future, a utilization of the resource can be determined by evaluating a sum of the utilization rate after determining whether or not a period of time with the high utilization rate in a future and that of a specified day and time in the table synchronize.

<Example of Screen Display>

An example of a screen display at Step2303of the flowchart shown inFIG. 23is shown inFIG. 27. A screen indicated by a reference number2701shows a status in which a policy action by a scale out is going to be executed because an overload status is detected in a task application of a “Task 1”.

According toFIG. 27, there exist a “Web server”2703, “AP server”2704, and “DB server”2705as configuration objects configuring the “Task 1”2702. These are shown on the left side of the screen indicated by the reference number2701. On the left side, a list of the task configuration objects configuring the task is displayed. Further, a task configuration object in which a policy action is required is displayed with emphasis for easy recognition (InFIG. 27, “Web server”2703and “AP server”2704are displayed with emphasis).

In addition, on the right side of the screen indicated by the reference number2701, icons of a list of resources of additional targets are shown. Here, scale outs are going to be executed for the “Web server”2703and “AP server”2704, respectively, which configure the “Task 1”. The screen shows that a “Computer A”2706, “Computer B”2707, and “Computer C”2708are additional candidates for the “Web server”2703, and a “Computer D”2709and “Computer E”2710are additional candidates for the “AP server”2703.

In the screen indicated by the reference number2701, the resources (for example,2706,2707, and2708) are ordered from the left to the right in order of increasing a sum value of a utilization rate of a preferential sub-resource type (“CPU”, “Memory”, and “Disc”, for instance) which is set for each task configuration object. This shows that a resource on the left side is an optimal resource by a preferential display of a resource which has a lower sum value of the utilization rate in consideration of stable operation of the task.

Further, when the sum value of the utilization rate of a sub-resource exceeds “100”, or close to “100”, the icon may be displayed with red or yellow, or a shape of the icon may be changed.

In addition, a display order may be changed based on some attribute of a resource which is available from the resource object table407(a display order can be set in advance in the task policy execution parameter table414(refer toFIG. 15)).

Then, in the screen indicated by the reference number2701, a resource which is a policy action target is selected by selecting any one of icons (2706,2707,2708,2709, and2710) indicating the resources.

For example, in a case of the “Web server”2703, any one of the resources “Computer A”2706, “Computer B”2707, and “Computer C”2708is selected, and in a case of the “AP server”2703, one of the “Computer D”2709and “Computer E”2710is selected. At a bottom of the screen, buttons of “Next, after selecting a resource”2711and “Select another policy”2712for selecting another policy are arranged for selecting the next control. When the processing proceeds to the next by selecting a resource of a policy action target, the button of “Next, after selecting a resource”2711is selected; and when another policy is executed, the button of “Select another policy”2712is selected.

Next,FIG. 28is, in the screen2701shown inFIG. 27, an example of a screen for popping up an icon indicating a task configuration object or detailed information corresponding to an icon of a resource of a policy action target.

In a screen2801shown inFIG. 28, it is shown that, for example, the “Web server” can display attribute information of an object, a resource used by a task configuration object, and attributes of the resource, as shown in a reference number2802. In addition, it is also shown that the “Computer D”, which is an icon of a resource, can display a sum value of a utilization rate of each sub-resource as a breakdown of a utilization rate of a resource, attribute information of the resource, and configuration information of a task configuration object using the resource and a task object, and can instruct a change of a display order.

A pop-up display of the above is performed by, for example, displaying available menus by clicking an icon with a right click of a mouse and the like, and a menu is selected.

In addition, further detailed information can be displayed by using another pop-up window and the like (Pop-up screen of the breakdown of the utilization rate is shown inFIG. 33as the example; the explanation will be described later)

FIG. 29shows a screen displaying a utilization rate of a shared resource by a task application which uses a resource of a policy action target selected inFIG. 27orFIG. 28and a task application which has executed the policy action.

In the screen2901shown inFIG. 29, a task configuration object using the shared resource is shown by highlighting an icon of the task configuration object on the left, and resources to be shared are indicated with icons of the resources on the right. For example, as a policy name in operation and configuration objects configuring the “Task 1”2702, there are icons of a “Web server”2903, “AP server”2904, and “DB server”2905, and they are displayed on the left of the screen2901. Here, the “DB server”2905is displayed with highlight as a task configuration object utilizing the shared resource.

In addition, a “Computer A”2906and “Computer D”2907are displayed with emphasis as resources of policy action targets on the right side of the screen2901, and resources other than the targets are displayed lightly (InFIG. 29, a “Computer B”, “Computer C”, and “Computer E” correspond to these resources) In addition, it is shown that a “Computer F”2908is newly displayed as a shared resource.

Further, at a bottom of the screen2901, buttons of “Execute policy action”2906and “Select another policy”2910for executing the next control are arranged. When a policy action is executed, the button of the “Execute policy action”2906is selected; and when another policy is executed, the button of the “Select another policy”2910is selected. In the screen2901, as in the screen2801shown inFIG. 28, for example, attributes and the like can be displayed from a menu by a right click of each icon. As described above and shown inFIG. 27toFIG. 29, the processing can proceed to the next after confirming a utilization rate of a shared resource by a display screen (2701,2801, and2901) according to the embodiment.

An example of actual operation is described below when load dispersion by a scale out is executed as a policy action.

There is a model “G0000001” indicating a task application as shown inFIG. 7, and the model “G0000001” is configured with task configuration objects “A0000001”702, “A0000002”703, and “A0000003”704. These task configuration objects configure a Web application of three-level layers as the task ID1401of the task configuration object attribute table413shown inFIG. 14indicates three entries of “G0000001”. When a job of the task application is executed according to the flowchart shown inFIG. 16, the job is executed in order of Step1601, Step1602, and Step1603. In this case, assignments of execution units of the task configuration objects are implemented as follows. As the task ID1710of the task configuration table412shown inFIG. 17shows three entries of the “G0000001”, a task configuration object of the “A0000001” indicated by the reference number1714is executed in the resource “R0000001”; a task configuration object of the “A0000002” indicated by the reference number1715is executed in the resource “R0000002”; and a task configuration object of the “A0000003” indicated by the reference number1716is executed in the resource “R0000006”.

Subsequently, according to the flowchart shown inFIG. 18, a policy control is executed, and a monitoring of a status change of a task application and an acquisition of a utilization rate of a sub-resource for each task configuration object are implemented. When an overload occurs after a while, an event message is received from the agent104(Step1803). From the event message, it is found that the SLO of the task can not be achieved at Step1804, and as a result, utilization rates of resources (sub-resources) which are utilized by the task configuration objects, “A0000001”, “A0000002”, and “A0000003” are acquired by a processing at Step1806.

In addition, considering a status of the overload in processing at Step1807and the utilization rates of the resources (sub-resources) obtained at Step1806, a policy to be executed is obtained from the task policy table405shown inFIG. 10. A description content of the obtained policy is to execute a scale out of the task configuration object “A0000001”, and a resource of the execution target is obtained by calling the resource broker unit406. Here, two resources, “R0000007” and “R0000010” are obtained as a candidate for the task application object “A0000001” (meanwhile, according to a status of the overload, a policy control by a scale out may be executed for the task configuration objects “A0000002” and “A0000003”).

Next, with respect to one obtained resource candidate or more than one, the processing shown inFIG. 23toFIG. 25is executed by calling the effected range investigation unit409for investigating an effected range by a policy action as a processing at Step1808.

First, as a processing at Step2301of the flowchart shown inFIG. 23, task configuration objects which use resources “R0000007” and “R0000010” are obtained. For this purpose, the task configuration table412(refer toFIG. 22) is retrieved by assuming that “R0000007” and “R0000010” are keys for the retrieval. As a result, task configuration objects, “A0000008” and “A0000012” are obtained. In addition, all resources which are utilized by the task configuration objects are acquired at the same time.

Here, the effected range is investigated by using “Average utilization rate in one hour”1508of the resource utilization rate410shown inFIG. 12according to a processing flow of Step2302, Step2303, and Step2304, and a utilization rate of each sub-resource is obtained from the resource utilization rate table410by combining the “R0000007” and “A0000008”, and “R0000010” and “A0000012”, as a processing at Step2306.

Here,FIG. 30andFIG. 31are figures showing other examples of the resource utilization rate table410. In the resource utilization rate table410shown inFIG. 30andFIG. 31, the utilization rates of “R0000007” and “A0000008”, and “R0000010” and “A0000012” are obtained from portions shown by reference numbers3101and3102, respectively. Subsequently, as a processing at Step2308, when a task application which executed a policy action is operated by using “R0000007” and “R0000010”, a utilization rate of each sub-resource is obtained from the resource utilization rate table410by assuming that the load dispersion balance rate of the policy action is temporarily 50% (round after the decimal point to unit). A sub-resource to be a target is defined by the sub-resource type shown in the task configuration object attribute table (FIG. 14). In the present example, “CPU”, “Memory”, “Disc volume”, “Printer support”, and “Network resource” are defined.

In a case of “R0000007” inFIG. 30, the sub-resources are indicated by a reference number3001, and “CPU” is 15%, “Memory” is 10%, “Disc volume” is 3%, “Printer support” is 0 (zero) %, and “Network resource” is 5%. In a case of “R0000010”, they are shown by a reference number3002, and “CPU” is 25%, “Memory” is 15%, “Disc volume” is 5%, “Printer support” is 0 (zero) %, and “Network resource” is 10%.

As a result, in the case of “R0000007”, a sum value of a utilization rate can be obtained from portions indicated by the reference numbers3001inFIG. 30 and 3101inFIG. 31. Also, in the case of “R0000010”, a sum value of a utilization rate can be obtained from portions indicated by the reference numbers3002inFIG. 30 and 3102inFIG. 31. For convenience of explanation, both cases of the “R0000007” and “R0000010” have been explained together. However, actually, a processing is individually executed from Step2301to Step2308for each resource.

Next, a screen is displayed at Step2403of the flowchart shown inFIG. 24based on the sum value of the utilization rate of each sub-resource obtained in the above. As an example, an execution result is shown inFIG. 32. In a screen3201shown inFIG. 32, one of resources “R0000007”3203and “R0000010”3204is selected as a target resource of a policy action of “Web Sever”3202by evaluating a utilization rate, and the policy action is executed. If the sum value of the sub-resource exceeds 100%, the sub-resource can not be selected. For example, in a combination of “R0000010” and “A0000012”, if the utilization rate of the sub-resource, “CPU”, becomes equal to or more than 70%, “R0000010”3204can not be selected from the screen3201because the sum value of the utilization rate of the “CPU” exceeds 100%.

Here, inFIG. 33, an example of a screen is shown, which displays sum values of utilization rates of the resource “R0000007”3203shown inFIG. 32.

Next, in a processing at Step2407(refer toFIG. 24) in which a policy action is executed automatically, if a preferential sub-resource type1405in the task configuration object attribute table413(refer toFIG. 14) corresponding to characteristics of a task configuration object is set in advance, a preferential resource of a policy execution target can be selected automatically by evaluating a sum value of a utilization rate of a sub-resource (a resource whose utilization rate of each sub-resource does not exceed 100%, and which has a minimum sum value of the utilization rate with respect to an assigned sub-resource type, is selected).

Next, as a processing at Step2501(refer toFIG. 25), a utilization rate of each sub-resource of a shared resource, which is another resource utilized by a task application utilizing a resource of a policy action target, and also which is a resource utilized by, for example, “A0000002” or “A0000003” other than “A0000001”, is evaluated. Then, after actually executing the policy action, the task configuration table412is updated (Example is shown inFIG. 22). In the embodiment, only the task configuration object “A0000001” is assumed to be a target of the policy action, however, the task configuration objects “A0000002”, “A0000003”, and the like may be set as the target of the policy action. Even if there is a resource candidate which is a target of a plurality of policy actions of the task configuration objects “A0000002”, “A0000003” and the like, the sum value of the utilization rate of each sub-resource can be obtained, and the effects can be evaluated.

According to the aforementioned embodiment, in a task system configured with a plurality of resources, when a resource of a policy execution target is selected, the task system can provide information for easily selecting the resource which does not effect on other task applications which are concurrently in operation. Further, a resource which does not effect on other task applications can automatically be obtained, thereby a policy control can be executed automatically.

In addition, by evaluating a utilization rate of each sub-resource configuring a resource, it becomes possible to accurately evaluate effects on a sharing of the resource between tasks which have different types of processing execution each other.

With the above, a reliability of task services and an operation rate of the system can be improved.

Meanwhile, in the embodiment, a relation between a resource and a sub-resource corresponds to a relation between a computer system and “CPU”, “Memory”, and the like. However, the relation may correspond to, for example, between “Data center” and “Computer resource”, “Blade server” and “Computer resource”, and the like.

Hereinafter, a modified example of the first embodiment will be explained. In the modified example described below, since a main configuration is same as in the first embodiment, the explanation in detail will be omitted. Refer toFIG. 1toFIG. 26, as needed.

Second Embodiment

A second embodiment is on a policy control for troubles other than an overload of the first embodiment.

In the first embodiment, a scale out due to an overload was exemplified. However, a policy control also can be executed by replacing a resource which is in trouble. This can be achieved by providing four reorganizations to the first embodiment.

First, set information in trouble in an event message of a status change. Second, obtain information which part of task configuration objects configuring a task application is in trouble at Step1806of the flowchart shown inFIG. 18. Third, apply a load dispersion balance rate of a task configuration object indicated by a reference number2202in the task configuration table412(refer toFIG. 22) when a utilization rate of a sub-resource is obtained, since a policy action for a trouble replacement is selected in selecting the policy action at Step1807as in the first embodiment. Fourth, entry a resource for replacing a trouble by deleting a resource which is originally utilized to update the task configuration table412.

With the above, it becomes possible to apply the present invention to a policy control technology which can manage various events.

Third Embodiment

A third embodiment is on an automatic switching of a reference with respect to a resource utilization rate table.

In the first embodiment, a reference method of the resource utilization rate table410(refer toFIG. 12,FIG. 30,FIG. 31) is selected based on a parameter which is set for each task application in advance. Here, the resource utilization rate table410has both utilization rates set by a user in advance and actually measured. In an actual task, there is a possibility that a utilization rate actually measured is not set correctly at an initial stage of a task operation. Therefore, initially, a user-set utilization rate is used as the utilization rate, and when a reliable utilization rate, which is actually measured, is obtained after a stable operation of the system for a while, it becomes possible to use the reliable utilization rate.

For the above purpose, for example, it is necessary to set a switching of “User-defined utilization rate”1212and “Utilization rate by utilization rate measurement unit”1213in the resource utilization rate table410shown inFIG. 12, as well as setting an accumulated operation time of the task in the task policy execution parameter table414(refer toFIG. 15), in which a policy execution parameter is set by each task application. A switching processing is set below Step2302of the flowchart shown inFIG. 23to achieve the above purpose.

In addition, the accumulated operation time of the task application is held in the task object table402(refer toFIG. 9) and task configuration object attribute table413(refer toFIG. 14) as one attribute. In accordance with the method described above, it becomes possible to apply a utilization rate which is closer to the utilization rate of the actual operation.

Fourth Embodiment

A fourth embodiment is on an automatic update of a resource utilization rate table.

In the first embodiment, when a change occurs in some attribute of a resource object which indicates an actual resource, information of a utilization rate of the resource object table407(refer toFIG. 11) and resource utilization rate table410(refer toFIG. 12) is automatically updated.

The manager101and agent104shown inFIG. 1are always connected. When a configuration change of resources of the task server106occurs, an event message is notified to the manager101from the agent104, and attributes1102,1103of the resource object table407and utilization rates of the resource utilization rate table410are updated. For example, a change of a utilization rate by a configuration change due to replacement of a CPU chip for, for example, upgrading of “CPU” of the sub-resource is difficult (this is possible if a comparison table of a performance and the like are prepared) However, in a case of configuration change for upgrading, for example, a capacity of “Memory” or “Disc volume” of the sub-resource, an update of the utilization rate is possible according to a change of the capacity. With the above, a manual maintenance becomes unnecessary both for the resource object table407and resource utilization rate table410when a user implements maintenance of a computer, thereby resulting in easy operation of the system.

Fifth Embodiment

A fifth embodiment is on an application of the present invention when a job is in operation (assignment of task application).

In the first embodiment, effects on other tasks are investigated with respect to a target resource for executing a policy action. The present invention also can be applied to securing a resource when a job is in operation.

In the first embodiment, the system includes a procedure for evaluating the effects based on an actual utilization rate when the policy action is executed. However, by using “User-estimated utilization rate”1206of “User-defined utilization rate”1212in the resource utilization table410(refer toFIG. 12), it is also possible to evaluate the effects on other task applications when a resource is determined to assign a job. With the above, a verification measure of effective utilization of a resource also can be obtained when a job is assigned.

Sixth Embodiment

A sixth embodiment is on an adjustment of a sum value of a utilization rate by adjusting a load dispersion balance rate when a scale out is executed as a policy action.

In the first embodiment, in a policy action of a scale out, a calculation of a utilization rate of a sub-resource is made based on a load dispersion balance rate. Depending on a ratio of the load dispersion balance rate, there may be effects on a result of the sum of the utilization rate of each sub-resource, thereby resulting in possibility for executing a policy action.

Therefore, at Step2403of the flowchart shown inFIG. 24, with respect to a resource of a policy action target in which a sum value of each sub-resource exceeds 100%, an optimal load dispersion balance rate is obtained by gradually lowering a load dispersion balance rate of the resource of the policy action target by a user instruction (for example, selection of button on screen) so that the sum value of each of the sub-resource does not exceed 100%. Then, the optimal load dispersion balance rate is displayed on a screen, and after confirmation by the user, the load dispersion balance rate obtained by the policy action processing at Step1809of the flowchart shown inFIG. 18is feedbacked.

With the above, the system can provide a method to continue a task service by a policy action, thereby resulting in improvement of the operation rate of the system.

Seventh Embodiment

In the first embodiment, the preferential sub-resource type1405is set in the task configuration object attribute table413(refer toFIG. 14), and based on a sum value of a utilization rate of the preferential sub-resource type, an additional resource is determined for the policy action at Step2407of the flowchart shown inFIG. 24.

If a type of a task is different, a sub-resource which is mainly used may be different depending on the type. Therefore, a selection of a resource, in a processing at Step2407, which is utilized by a different type of task application or a task configuration object of a different type of task, other than the preferential sub-resource type, can be used as an another measure for determining the priority of the additional resource.

The above purpose can be achieved by setting attribute information which indicates a processing configuration of a task in the task object table402(refer toFIG. 9) and task configuration object attribute table413(refer toFIG. 14), and by referring to the attributes in a resource determining processing at Step2407and resource display order determining processing at Step2403. The above is also one of methods to continue a task service by a policy action, thereby resulting in improvement of operation rate of the task service.

Eighth Embodiment

So far, when a computer system is selected as a policy action target, the computer system has been selected by evaluating a sum value of a utilization rate of each resource configuring the computer system. In the eighth embodiment, in addition to the above, a network configuration of the computer system on which a task application is operated is also evaluated. The network configuration can be obtained from the task configuration table. For example, when a plurality of policy action targets exist, by selecting a multiplexed computer system which is configured for load dispersion, effects on a task application which shares a resource can be further reduced. Whether or not a system is multiplexed is known from an existence of same task configuration objects by referring to a column of the task configuration object of the task configuration table. This processing is executed in the effected range investigation unit409, and can be achieved by adding the processing below Step2308of the flowchart shown inFIG. 23.