METHOD AND SYSTEM FOR CONTROLLING COMPUTER RESOURCES
A computer resource control system for running business applications on virtual computers within a business computer by using computer, virtual computer, network, and storage resources, the system comprises a collection process section for periodically collecting the dynamically changing information about the use of each resource when business applications run on the virtual computers within the business computer; a resource recovery process section for calculating the amounts of resources required for the operations of the business applications periodically in accordance with the dynamically changing information about the use of each resource, which is gathered by the collection process section, allocating the calculated amounts of resources to the resources of each virtual computer, and recovering any extra resources; and a resource allocation process section for allocating the extra resources, which are recovered by the resource recovery process section, to the virtual computers in accordance with the priorities of the business applications.
Latest HITACHI, LTD. Patents:
This application is a continuation of U.S. patent application Ser. No. 10/938,540, filed Sep. 13, 2004, which claims priority from Japanese application JP 2004-123760 filed on Apr. 20, 2004, the content of which is hereby incorporated by reference into this application.
BACKGROUND OF THE INVENTIONThe present invention relates to a resource control method and system for allocating virtual computer resources, storage resources, and network resources within a system that runs a business application on a virtual computer.
Conventionally, the resource to be allocated was determined in advance. Resource allocation was carried out after comparing the resource's fixed value with the actual performance. Further, computer system resources were targeted for allocation. Storage resources were not targeted for allocation.
A conventional method disclosed, for instance, by Japanese Patent Laid-Open (PCT) No. 530780/2002 permits reconfiguration for optimizing the computer system capacities for processing an application by using a virtual computer operating technology in order to allocate a programmable logic resource to a plurality of application functions on the basis of a comparison between performance measurements taken in a computer system and prescribed performance requirements.
SUMMARY OF THE INVENTIONWhen a conventional technology was used, computer resources were allocated for the purpose of running a business application. However, a fixed standard based on experience was used without taking operating environment changes into consideration. The data used by a business application is more frequently stored in a storage resource than ever. However, no technology has been available for exercising control with computer resources and storage resources combined.
It is an object of the present invention to provide a resource control method and system that are capable of maintaining and managing the relationship among computer, virtual computer, network, and storage resources, dynamically calculating the allocation ratios of the computer, virtual computer, network, and storage resources, and achieving allocation and reallocation in order to steadily run a business application.
To achieve the above object, one aspect of the present invention provides a resource control method and system for running a business application on each virtual computer within a business computer by using computer, virtual computer, network, and storage resources. The resource control method according to the present invention comprises a collection step and resource recovery process step. The collection step periodically collects the dynamically changing information about the use of each resource when a business application runs on each virtual computer within the business computer. The resource recovery process step calculates the amounts of resources required for the operation of the business application periodically and dynamically in accordance with dynamically changing information about the use of each resource, which is gathered in the collection step, allocates the calculated resources to the resources of each virtual computer, and recovers any extra resources.
The resource control method according to the present invention may further comprise a resource allocation process step for increasing or decreasing the amounts of extra resources, which are collected in the resource recovery process step, and allocating the resulting amounts of extra resources to the virtual computers in accordance with the priority of the business application.
Another aspect of the present invention provides a resource control method and system for running a business application on each virtual computer within a business computer by using computer, virtual computer, network, and storage resources. The resource control method according to the present invention comprises a collection step, a resource recovery process step, and a resource allocation process step. The collection step periodically collects the dynamically changing information about the use of each resource when a business application runs on each virtual computer within the business computer. The resource recovery process step calculates the amounts of resources required for the operation of the business application periodically in accordance with dynamically changing information about the use of each resource, which is gathered in the collection step, allocates the calculated resources to the resources of each virtual computer, and recovers any extra resources. The resource allocation process step allocates the extra resources, which are recovered in the resource recovery process step, to the virtual computers in accordance with the priority of the business application.
The resource allocation process step according to the present invention may include a calculation step for dynamically calculating the individual resource allocation ratios to avoid the allocation of extra resources.
The resource allocation process step according to the present invention may include a step for creating a business list in which a plurality of business applications are listed in descending order of priority, sequentially allocating the extra resources, which are recovered in the resource recovery step, to the listed business applications in descending order of priority, and sequentially deleting the allocated business applications from the business list to ensure that the business applications to be allocated remain in the business list.
The resource allocation process step according to the present invention may include a step for ensuring that the current resource allocations for the business applications are reflected in a resource allocation table.
The present invention may also include a business application deletion step for deallocating (releasing) the resources that run a specified business application, deleting the specified business application from the resource allocation table, and updating the total allocation value and unused resource value in the resource allocation table for the purpose of allowing the resources for the other business applications to be allocated to the unused resources.
Further, the present invention may also include a business application addition step for checking whether the information about a specified business application exists in a distribution optimization table. If the specified business application is found in the table, the business application addition step gives an optimum value of the distribution optimization table as a resource allocation amount. If the specified business application is not found in the table, the business application addition step gives a default value as the resource allocation amount. If, as a result, adequate amounts of resources are available, the business application addition step acquires the resources for the specified business application, updates the resource allocation table, and generates a virtual computer to execute the specified business application.
The present invention makes it possible to steadily run business applications on virtual computers by dynamically allocating and reallocating the resources in accordance with the priorities of the business applications while considering the information about computer resource use, virtual computer resource use, network resource use, and storage resource use.
Embodiments for maintaining and managing the relationship among business computer, virtual computer, network, and storage resources and steadily running business applications in accordance with the present invention will now be described in detail with reference to the accompanying drawings.
A plurality of business applications run on business computers 4, 5, 7, and 8. The business applications can perform a process by using data in storages 11 and 12 via networks 9 and 10.
The management computer 1 has a manager processing section 30. The sub-management computer 3 has a sub-manager processing section 40 and a sub-management computer storage management processing section 41.
As described above, the weight values shown in
The business computer use information collection processing section 312 of the business computer storage management processing section 52 collects the information about all networks and logical volumes that can be referenced from the business computer as well as the information about response time (capacity information) (334, 335). In other words, the business computer use information collection processing section 312 collects only the information about networks and storages that the business computer and the virtual computers within the business computer actually use. The business computer use information collection processing section 312 of the business computer storage management processing section 52 corresponds to the means (functionality) for monitoring the network resource use and storage resource use by the business applications for the virtual computers (use ratios).
If the performance of an employed logical volume or the response time (capacity) of a network is not satisfactory for the business computer, the logical volume control processing section 301 can switch to another logical volume (another storage resource). If, for instance, the performance (capacity) of logical volume LVM322 is inadequate, the logical volume control processing section 301 selects an appropriate logical volume LVM323 and copies the LVM322 data to logical volume LVM323 (340). After completion of this copy operation, the logical volume control processing section 301 notifies the business computer storage coordination processing section 310 of a storage path change. After the storage path change, the storage path for the sub-manager configuration information shown in
The distribution management sub-agent 211 of the virtual computer 202 has a use information collection processing section 400 and collects the information about computer resource use in each virtual computer from a business application 210 and virtual operating system 212 (430, 431). The use information collection processing section 400 conveys the collected use information (use status) to the use information overall processing section 412 of the distribution management agent 213 (433).
The business computer storage management processing section 52 collects storage-related use information (use status) from the storage 23 and network-related use information (use status) from the network 9 (420, 421). The collected use information is then conveyed to the use information overall processing section 412 of the distribution management agent 213 (432).
In accordance with the conveyed use information, the use information overall processing section 412 updates the resource capacity management table 154a shown in
As described above, the use information collection processing section 413, capacity management processing section 414, sub-management computer use information collection processing section 302, and business computer use information collection processing section 312 correspond to the means (functionality) for monitoring the use of resources (e.g., computer, network, and storage) within a business computer. Particularly, the use information collection processing section 413 and capacity management processing section 414 correspond to the means (functionality) for monitoring the use of computer resources within a business computer. The resource use status within the business computer indicates the use ratios for the use of the resources allocated to various virtual computers.
Further, the use information collection processing section 400 and business computer use information collection processing section 312 correspond to the means (functionality) for monitoring the use of resources for business applications running on various virtual computers within the business computer. Particularly, the use information collection processing section 400 corresponds to the means (functionality) for monitoring the use of computer resources for business applications running on various virtual computers within the business computer. The monitored use of resources indicates the use ratios of resources (computer, network, storage, etc.) allocated to each business application (each virtual computer).
In a system in which the business applications according to the present invention run on the virtual computers (A1 to A3, B1, B2, . . . ) within the business computers (A, B, . . . ), the amounts of resources required for the business applications vary with time during business application operations because, for instance, the data amount and processing volume vary with time. Therefore, the resource use ratios of computer resources such as a CPU and memory, network resource (network performance), and storage resource (performance of data access to storage) dynamically vary. When the business applications run on the virtual computers within the business computers, the use information overall processing section 412 performs a collection operation in a state in which a dynamic change occurs in the use ratios of resources that are monitored by the use information collection processing section 413 and other sections of a business computer and the use information collection processing section 400 and business computer storage management processing section 52 of a virtual computer. As a result of such a collection operation, any extra resource can be recovered and allocated to another virtual computer when the associated resource use ratio is low. In this manner, the resources can be used efficiently without being wasted.
To steadily run the business applications in the above situation while maintaining the relationship among the business computer, virtual computer, network, and storage resources, it is necessary to perform a resource recovery process, a resource allocation process, and a business application deletion/addition process.
The above-mentioned processes will now be sequentially described. The resource recovery process shown in
First of all, the resource recovery process will be described in detail with reference to
If any resource use ratio is smaller than the threshold value, the resource allocation amount (allocation unit) is decreased, for instance, by 1% in compliance with an instruction from the policy execution processing section 411 (step 501). The administrator can change the resource allocation unit value at the client computer 15. Next, step 502 is performed to check whether the resource allocation decrease affects the business application performance. This check is performed in accordance with the performance information about the business application 210, which is collected as indicated by the reference numeral 431 in
The resource allocation process, which is performed in accordance with the resource use status collected from a business computer by the use information overall processing section 412, will now be described in detail with reference to
More specifically, step 510 is first performed to check for unused resources on the business computer. If there is no unused resource, nothing is performed and the resource allocation process terminates. If there is any unused resource, the resource allocation process continues. If, for instance, business applications AP1, AP2, and AP3 are running while their priorities are respectively low, medium, and high, step 511 is performed to create a business list in which the business applications are arranged in the descending order of priority (AP3, AP2, AP1). Step 512 is then performed to allocate a resource allocation unit (e.g., 1%) to the listed business application having the highest priority. The resource allocation unit is retained by the policy management information 216. The administrator can change the resource allocation unit from the client computer 15. Next, step 513 is performed to check whether the performance of the business application to which the resource has been allocated is improved. If the performance is improved, the program flow returns to step 512 to perform resource allocation. If, on the other hand, the performance is not improved (the performance is not enhanced by the resource allocation increase), the resource allocation amount is decreased by 1% to restore the previous state (step 514) for the purpose of avoiding an extra resource allocation. Step 515 is then performed to check whether any unused (extra) exists. If any unused (extra) resource exists, the business application to which the resource is already allocated is deleted from the business list (step 516). Next, step 517 is performed to check for remaining business applications in the business list. If business applications AP1 and AP2 still exist in the business list, step 512 is performed to allocate the resource to business applications AP1 and AP2, which are in the business list, in the descending order of priority. If no unused resource is found in step 515 or if it is found in step 516 that the business list contains no business application to which the resource is to be allocated, the resource allocations to the virtual computers within the business computer become reflected in the resource allocation table 215 shown in
In the resource recovery process and resource allocation process described above, the policy execution processing section 411 issues an instruction for resource increase/decrease; the resource distribution processing section 410 updates the resource allocation table 215 shown in
The process for deleting business application AP2 in accordance with the resource allocation table shown in
The process for adding business application AP4, which has a low priority, in accordance with the resource allocation table shown in
The business application addition/deletion operation described above is performed by the virtual computer management processing section 51 shown in
Claims
1. A computer system comprising:
- at least one computer virtually including a first virtual computer;
- a management computer managing resources at least including a resource of the at least one computer,
- wherein the management computer is configured to:
- (A) allocate a first part of the resources to the first virtual computer;
- (B) monitor a use ratio of the first part of the resources;
- (C) decide whether the use ratio is lower than a predetermined threshold value;
- (D) de-allocate a resource in the first part of the resources with referring a performance of a first business application executed by the first virtual computer for keeping the performance of the first business application, if the use ratio is lower than the predetermined threshold value.
2. A computer system according to claim 1, further comprising:
- a storage; and
- a network coupled to the storage and the at least one computer,
- wherein the resources further include a resource of the network and/or a resource of the storage.
3. A computer system according to claim 1, further comprising:
- a network, which couples between the at least one computer,
- wherein the resources further include a resource of the network.
4. A compute system according to claim 1,
- wherein the management computer is configured to:
- (E) re-allocate the previously de-allocated resource to the first virtual computer, if the previous de-allocation is affected to the performance of the first business application.
5. A computer system according to claim 1,
- wherein the at least one computer virtually includes one or more of second virtual computers, and
- wherein the management computer is configured to:
- (F) allocate the de-allocated resource to the one or more of second virtual computers.
6. A computer system according to claim 5,
- wherein the allocation to the second virtual computer is executed with a priority to the one or more of the second virtual computers.
7. A computer system according to claim 5,
- wherein the management computer is configured to:
- (G) de-allocate a resource allocated to the one or more of the second virtual computers in (F), if a performance of the one or more of the second virtual computers is not improved.
8. A method for a management computer for managing at least one computer virtually including a first virtual computer, the method for managing resources at least including a resource of the at least one computer comprising a step of
- (A) allocating a first part of the resources to the first virtual computer;
- (B) monitoring a use ratio of the first part of the resources;
- (C) deciding whether the use ratio is lower than a predetermined threshold value;
- (D) de-allocating a resource in the first part of the resources with referring a performance of a first business application executed by the first virtual computer for keeping the performance of the first business application, if the use ratio is lower than the predetermined threshold value.
9. A method according to claim 8,
- wherein the resources further include a resource of the network coupling to the at least one computer and a storage, and/or a resource of the storage.
10. A method according to claim 8,
- wherein the resources further include a resource of the network coupling between the at least one computer and a storage.
11. A method according to claim 8, the method for managing resource comprising a further step of:
- (E) re-allocating the previously de-allocated resource to the first virtual computer, if the previous de-allocation is affected to the performance of the first business application.
12. A method according to claim 8,
- wherein the at least one computer virtually includes one or more of second virtual computers, and
- wherein the method for managing resource comprises a further step of:
- (F) allocating the de-allocated resource to the one or more of second virtual computers.
13. A method according to claim 12,
- wherein the allocation to the second virtual computer is executed with a priority to the one or more of the second virtual computers.
14. A method according to claim 12,
- wherein the method for managing resources comprises a further step of:
- (G) de-allocating a resource allocated to the one or more of the second virtual computers in (F), if a performance of the one or more of second virtual computers is not improved.
15. A management computer for managing a first virtual computer virtually included in at least one computer, comprising means for:
- (A) allocating a first part of the resources to the first virtual computer;
- (B) monitoring a use ratio of the first part of the resources;
- (C) deciding whether the use ratio is lower than a predetermined threshold value;
- (D) de-allocating a resource in the first part of the resources with referring a performance of a first business application executed by the first virtual computer for keeping the performance of the first business application, if the use ratio is lower than the predetermined threshold value.
16. A management computer according to claim 15,
- wherein the resources further include a resource of the network coupling to the at least one computer and a storage, and/or a resource of the storage.
17. A management computer according to claim 15,
- wherein the resources further include a resource of the network coupling between the at least one computer and a storage.
18. A management computer according to claim 15, further comprising means for:
- (E) re-allocating the previously de-allocated resource to the first virtual computer, if the previous de-allocation is affected to the performance of the first business application.
19. A management computer according to claim 15,
- wherein the at least one computer virtually includes one or more of second virtual computers, and
- wherein the management computer comprises means for:
- (F) allocating the de-allocated resource to the one or more of second virtual computers.
20. A management computer according to claim 19,
- wherein the allocation to the second virtual computer is executed with a priority to the one or more of the second virtual computers.
21. A management computer according to claim 19, further comprising means for:
- (G) de-allocating a resource allocated to the one or more of the second virtual computers in (F), if a performance of the one or more of second virtual computers is not improved.
22. A computer-readable medium comprising code embodied therein that when executed causes a management computer, for managing resource at least including a resource of at least one computer, to:
- (A) allocate a first part of the resources to the first virtual computer;
- (B) monitor a use ratio of the first part of the resources;
- (C) decide whether the use ratio is lower than a predetermined threshold value;
- (D) de-allocate a resource in the first part of the resources with referring a performance of a first business application executed by the first virtual computer for keeping the performance of the first business application, if the use ratio is lower than the predetermined threshold value.
23. A computer-readable medium according to claim 22,
- wherein the resources further include a resource of a network coupling to the at least one computer and a storage, and/or a resource of the storage.
24. a computer-readable medium according to claim 22,
- wherein the resources further include a resource of the network coupling between the at least one computer and a storage.
25. A computer-readable medium according to claim 22, further comprising code embodied therein that when executed causes the management computer to:
- (E) re-allocate the previously de-allocated resource to the first virtual computer, if the previous de-allocation is affected to the performance of the first business application.
26. A computer-readable medium according to claim 22,
- wherein the at least one computer virtually includes one or more of second virtual computers, and
- wherein the computer-readable medium further comprises code embodied therein that when executed causes the management computer to:
- (F) allocate the de-allocated resource to the one or more of second virtual computers.
27. A computer-readable medium according to claim 26,
- wherein the allocation to the second virtual computer is executed with a priority to the one or more of the second virtual computers.
28. A computer-readable medium according to claim 26,
- wherein the computer-readable medium further comprises code embodied therein that when executed causes the management computer to:
- (G) de-allocate a resource allocated to the one or more of the second virtual computers in (F), if a performance of the one or more of second virtual computers is not improved.
Type: Application
Filed: Sep 20, 2011
Publication Date: Jan 12, 2012
Applicant: HITACHI, LTD. (TOKYO)
Inventors: Takashi YAMAKABE (Yokohama), Shuji FUJINO (Ayase)
Application Number: 13/237,300
International Classification: G06F 9/455 (20060101);