U.S. patent application number 13/237300 was filed with the patent office on 2012-01-12 for method and system for controlling computer resources.
This patent application is currently assigned to HITACHI, LTD.. Invention is credited to Shuji FUJINO, Takashi YAMAKABE.
Application Number | 20120011510 13/237300 |
Document ID | / |
Family ID | 35097759 |
Filed Date | 2012-01-12 |
United States Patent
Application |
20120011510 |
Kind Code |
A1 |
YAMAKABE; Takashi ; et
al. |
January 12, 2012 |
METHOD AND SYSTEM FOR CONTROLLING COMPUTER RESOURCES
Abstract
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.
Inventors: |
YAMAKABE; Takashi;
(Yokohama, JP) ; FUJINO; Shuji; (Ayase,
JP) |
Assignee: |
HITACHI, LTD.
TOKYO
JP
|
Family ID: |
35097759 |
Appl. No.: |
13/237300 |
Filed: |
September 20, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10938540 |
Sep 13, 2004 |
8046764 |
|
|
13237300 |
|
|
|
|
Current U.S.
Class: |
718/1 |
Current CPC
Class: |
G06F 2209/508 20130101;
G06F 9/5072 20130101; G06F 2209/503 20130101 |
Class at
Publication: |
718/1 |
International
Class: |
G06F 9/455 20060101
G06F009/455 |
Foreign Application Data
Date |
Code |
Application Number |
Apr 20, 2004 |
JP |
2004-123760 |
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.
Description
CLAIM OF PRIORITY
[0001] 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 INVENTION
[0002] The 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.
[0003] 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.
[0004] 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 INVENTION
[0005] When 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 illustrates the overall structure of one embodiment
according to the present invention;
[0017] FIG. 2 shows the details of each element shown in FIG.
1;
[0018] FIG. 3 shows the details of a manager processing
section;
[0019] FIG. 4 illustrates a table that presents manager
configuration information;
[0020] FIG. 5 illustrates a table that manages the optimum resource
allocation amount for each business application;
[0021] FIG. 6 illustrates a table that manages the weight values
for the capacities of various resources;
[0022] FIG. 7 shows the details of a sub-management computer;
[0023] FIG. 8 illustrates a table that presents sub-manager
configuration information;
[0024] FIG. 9 illustrates a table that manages the resource
capacities of business computers;
[0025] FIG. 10 illustrates a table that manages the performance
information about virtual computers;
[0026] FIG. 11 shows the details of a business computer that is in
a state illustrated in FIG. 8;
[0027] FIG. 12 illustrates a table that manages the resource
allocations to virtual computers within a business computer, the
total amounts of allocations, and the amounts of available
resources;
[0028] FIG. 13 illustrates a table that manages the priorities of
business applications within a business computer;
[0029] FIG. 14 illustrates the generation of a virtual computer and
the executions of a performance management sub-agent and business
application;
[0030] FIG. 15 illustrates the performance management of a
storage;
[0031] FIG. 16 illustrates how performance management is exercised
within a business computer;
[0032] FIG. 17 is a flowchart illustrating a resource recovery
process;
[0033] FIG. 18 is a flowchart illustrating a resource allocation
process;
[0034] FIG. 19 is a flowchart illustrating a process that is
performed to delete business application AP2; and
[0035] FIG. 20 is a flowchart illustrating a process that is
performed to add business application AP4, which has a "low"
priority.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] 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.
[0037] FIG. 1 illustrates one embodiment of a system's physical
configuration according to the present invention. A management
computer 1, sub-management computers 3, 6, and business computers
4, 5, 7, 8 are connected to a network 2. Sub-management computer 3
and business computers 4 and 5 are connected to a network 9 that is
exclusively used as a SAN (Storage Area Network) or for other
storage purpose. Storage 11 is connected to network 9. Similarly,
sub-management computer 6 and business computers 7 and 8 are
similarly connected to network 10 that is exclusively used for
storage purposes. Storage 12 is connected to network 10. The
management computer 1 manages sub-management computers 3 and 6.
Sub-management computer 3 manages business computers 4 and 5.
Sub-management computer 6 manages business computers 7 and 8. A
client computer 15 is connected to the management computer 1. A
manager can request the management computer to perform a process by
manipulating the GUI screen of the client computer 15.
[0038] 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.
[0039] FIG. 2 illustrates the logical configuration of a scheme
shown in FIG. 1. For ease of explanation, the figure merely shows
one sub-management computer, one business computer, and one client
computer.
[0040] 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. FIG. 2 indicates that the manager processing
section 30 and sub-manager processing section 40 exist in different
computers. However, they may be positioned in the same computer.
The sub-manager processing section 40 may also be positioned in the
business computer 4. The business computer 4 has a plurality of
virtual computers 50, a virtual computer management processing
section 51, and a business computer storage management processing
section 52. Business applications run on the virtual computers 50.
A plurality of business applications may run on a single virtual
computer. For ease of explanation, however, it is assumed that one
business application runs on one virtual computer. In compliance
with a request from the client computer 15, the manager processing
section 30 can coordinate with the sub-manager processing section
40 to acquire the information about the use of the business
computers managed by the sub-manager processing section 40 or
start/stop a business application on the business computer 4. The
information acquired in this manner may relate to various
resources. For ease of explanation, however, it is assumed that the
acquired information is the dynamic resource distribution
information (capacity information and other similar items of
information included) about computer (CPU and memory), network, and
storage resources. The storage 11 has a management logical volume
60 and business logical volumes 61, 62. The management logical
volume 60 is an area for storing the dynamic resource distribution
information about the business computers 4, 5 that are managed by
the sub-management computer 3. The business logical volumes 61, 62
are storage areas for storing, for instance, the data that are used
by business application programs executed by the virtual computers
50 within business computer 4.
[0041] FIG. 3 shows the details of the manager processing section
30. The manager processing section 30 has a manager configuration
management processing section 70, a distribution management
processing section 71, and a manager policy management processing
section 72. The manager configuration management processing section
70 manages, processes, and retains manager configuration
information 75 such as the information about sub-management
computer 3, which is shown in FIG. 4. The distribution management
processing section 71 manages, processes, and retains manager
distribution management information 76a, 76b of the resource
distribution information (resource capacity information and other
similar items of information included) about business computers 4
and 5, which are shown in FIGS. 5 and 6. The manager policy
management processing section 72 exercises policy management over,
for instance, the priorities of business applications to be
executed by the virtual computers 50.
[0042] FIG. 4 shows the details of the manager configuration
information 75 that the manager configuration management processing
section 70 of the manager processing section 30 shown in FIG. 3
manages, processes, and retains, for instance, for sub-management
computer (Tokyo, New York, . . . ) addition/deletion. The
information about sub-management computers 85 and the addresses 86
of the sub-management computers are to be retained as the manager
configuration information 75. The retained information enables the
manager processing section 30 to locate sub-management computer 3
that the manager processing section 30 should manage, and
communicate with such sub-management computer 3. When a
sub-management computer is to be added/deleted, the manager
configuration management processing section 70 registers/deletes
the information about the sub-management computer.
[0043] FIGS. 5 and 6 show the details of manager distribution
management information (resource distribution optimization table
76a and resource capacity weighting table 76b). The manager
distribution management information is managed, processed, and
retained by the distribution management processing section 71 of
the manager processing section 30 shown in FIG. 3. The manager
distribution management information relates, for instance, to
updates of resource distribution combinations that are used when
the business applications (AP1, AP2, AP3, . . . ) run normally
while the processing capacity differences among the business
computer resources (CPU, memory, network, and storage) are absorbed
to ensure that the amounts of given resources are neither excessive
nor insufficient.
[0044] FIG. 5 shows the resource distribution optimization table
76a, which retains appropriate resource distribution values (120,
121, 122, . . . ) for the business applications (AP1, AP2, AP3, . .
. ) 123. The table has appropriate resource distribution values for
combinations of resources, including computer resources such as a
CPU 124 and memory 125, a network 126, and a storage 127. The
amounts of resources required for a business application vary with
time because the data amount and processing volume vary with time.
Therefore, the appropriate resource distribution values vary at all
times. It means that there is no optimum resource distribution
combination for a specific business application. The table manages
the resource distribution combinations that prevail when the
business applications run normally and the amounts of given
resources are neither excessive nor insufficient. The values in the
table 76a are updated as needed after a resource recovery process
(FIG. 17) or resource allocation process (FIG. 18) is performed to
compare the current resource allocations against the values in the
table 76a. When the values in the table 76a are used to newly run a
business application, the resource amount values close to the
optimum values can be allocated to the business application from
the beginning of its operation. As a result, the business
application can be steadily run.
[0045] FIG. 6 illustrates the resource capacity weighting table
76b, which retains weight values 143 for resource capacities 142.
This table has weight values for the capacities (130 to 132; 133 to
135; 136 to 138; 139 to 141) of various resources, including
computer resources such as a CPU 124 and memory 125, a network 126,
and a storage 127. Although a plurality of business computers 4, 5
are managed by the management computer 1, the business computers
have different resource capacities. For example, the CPU used in an
old computer differs in processing capacity from the CPU used in
the latest computer. Since the resource capacities 142 of the
business computers may differ from each other, the weight values
143 are used to calculate the resource distribution values shown in
FIG. 5 for the purpose of absorbing the difference in the
processing capacity. When the values calculated through the use of
the weight values are used, resource allocation can be properly
accomplished in a case where the same business application is run
on business computers having different capacities. A typical use of
the weight values will now be described. If it is assumed, as shown
in FIG. 6, that the weight value is 2 for a CPU having a capacity
of 2 GHz and 3 for a CPU having a capacity of 3 GHz, and if the CPU
allocation amount for a certain business application is 15% in a
business computer having a CPU capacity of 2 GHz, the CPU value in
the resource distribution optimization table 76a shown in FIG. 5 is
30, which is obtained by multiplying the value 15% by 2. If the
same business application runs on a business computer having a CPU
capacity of 3 GHz, the CPU allocation amount is 10%, which is
obtained by dividing an optimum value of 30 by a weight value of 3
for a 3-GHz CPU. When the allocation amount is calculated with a
weight value in this manner, it is possible to absorb the
difference in the resource capacity. For ease of explanation, the
figure indicates that the weight value is 2 for a double capacity
and 3 for a triple capacity. In reality, however, the processing
speed does not always increase twofold even if the resource
capacity increases twofold. The weight values should be predefined
while considering the above.
[0046] As described above, the weight values shown in FIG. 6 are
used when the resource distribution optimization table 76a shown in
FIG. 5 stores appropriate resource distribution values (120, 121,
122, . . . ) for the business applications (AP1, AP2, AP3, . . . )
and when resources are to be newly allocated (distributed) to the
virtual computers.
[0047] FIG. 7 shows the details of sub-management computer 3.
Sub-management computer 3 has the sub-manager processing section 40
and sub-management computer storage management processing section
41. The sub-manager processing section 40 comprises a sub-manger
configuration management processing section 150, a sub-manager
distribution information management processing section 151, and a
sub-manager policy management processing section 152. The
sub-manger configuration management processing section 150 manages,
processes, and retains sub-manager configuration information 153
such as the information about virtual computers within a business
computer that is managed by sub-management computer 3. The
sub-manager distribution information management processing section
151 manages, processes, and retains distribution management
information 154a, 154b about a business computer that is managed by
sub-management computer 3. The sub-manager policy management
processing section 152 manages the policy (priority) of a business
computer. The sub-management computer storage management processing
section 41 has storage data path information 155 about the storage
path of business computers 4, 5 that are managed by sub-management
computer 3. The sub-manager processing section 40 performs a
process in compliance with a processing request from the manager
processing section 30. When the sub-manager processing section 40
performs a process in which a storage is referenced, a process
request 156 is issued to the sub-management computer storage
management processing section 41 to obtain a process response
157.
[0048] FIG. 8 shows the details of the sub-manager configuration
information 153. The sub-manager configuration information 153 is
managed and retained by the sub-manager configuration management
processing section 150 of the sub-manager processing section 40.
The sub-manager configuration information 153 relates, for
instance, to updates of all business computers, virtual computers
within the business computers, storage paths, and business
applications, which are performed after an appropriate business
computer is asked to perform a process in compliance with a process
request from the manager processing section 30. The sub-manager
configuration information 153 to be retained comprises the
information about a business computer 203, a business computer
address 204, the information about a virtual computer 205, the
information about a storage path 206, the information about a
business application 123, and the information about a business
application operation 207. The sub-manager configuration
information 153 includes the information about all the business
computers and virtual computers that are managed by the sub-manager
processing section 40. Therefore, an appropriate business computer
(Tokyo 1) can be asked to perform processes (200, 201, 202, . . . )
in compliance with a process request from the manager processing
section 30. The sub-manager configuration management processing
section 150 updates the sub-manager configuration information 153
when, for instance, a business computer is added/deleted, a virtual
computer in a business computer is generated/deleted, a storage
path is changed, or a business application is started/stopped.
[0049] FIGS. 9 and 10 show the details of sub-manager distribution
management information (resource capacity management table 154a and
distribution information management table 154b), which is updated
or otherwise managed, processed, and retained by the sub-manager
distribution information management processing section 151 of the
sub-manager processing section 40.
[0050] FIG. 9 illustrates the resource capacity management table
154a, which retains the resource capacity information (100 to 102)
about business computers A (Tokyo 1), B, C, and so on. The resource
capacity information includes the information about computer
resources such as a CPU 124 and memory 125, a network 126, and a
storage 127. As indicated by the reference numeral 100, business
computer A, for instance, has a CPU capacity of 2 GHz, a memory
capacity of 3 GB, a network capacity of 50 Mbps, and a storage
capacity of 200 Mbps. The information about the resource capacities
is periodically transmitted from the business computers 4, 5 to the
sub-manager distribution information management processing section
151. The sub-manager distribution information management processing
section 151 updates the resource capacity management table
154a.
[0051] FIG. 10 illustrates the distribution information management
table 154b, which retains the distribution management information
about virtual computers A1 (Tokyo 1-1) through A3 (Tokyo 1-3), B1,
B2, and so on. This table retains the present distribution
information and past distribution information about virtual
computers A1 to A3, B1, B2, and so on in all business computers (A,
B, that are managed by the sub-manager processing section 40. The
distribution information is periodically transmitted from the
business computers 4, 5 to the sub-manager distribution information
management processing section 151. The sub-manager distribution
information management processing section 151 updates the
distribution information management table 154b. As indicated in
FIG. 10, business application AP1 runs on virtual computer A1,
which is within business computer A. The figure indicates that the
CPU use ratio, memory use ratio, network use ratio, and storage use
ratio are 30%, 40%, 60%, and 30%, respectively. These resource use
ratios represent the proportions to the resource amounts
(distributions) that are allocated as indicated in a resource
allocation table 215, which is shown in FIG. 12. Therefore, if the
resource use ratio is 100%, it means that the resources for a
virtual computer are not sufficient. In such a situation, it is
necessary to change the resource allocation amounts for the virtual
computer.
[0052] FIG. 11 illustrates business computer Tokyo 1, which is in a
state indicated in FIG. 8. The state indicated in FIG. 11 prevails
immediately before virtual computer Tokyo 1-1 (201) is generated.
Business computer Tokyo 1 (200) has business computer distribution
management information 215, which includes the information about
business applications running on business computer Tokyo 1, and
policy management information 216, which includes the information
for use in policy execution. When business application AP1 shown in
FIG. 8 is to be run, the virtual computer management processing
section 51 generates a virtual computer 201, and then runs a
distribution management sub-agent 211 on virtual computer 201.
Finally, business application AP1 is run so that the sub-manager
configuration information 153 shown in FIG. 8 is updated. The
reference numeral 212 denotes a virtual operating system for the
generated virtual computer. The reference numeral 213 denotes a
distribution management agent for business computer 200. The
reference numeral 214 denotes an operating system for business
computer 200.
[0053] FIG. 12 shows the details of the resource allocation table
215, which retains business computer distribution management
information for business computer 200. This table retains the
information about the amounts of resource allocations for each of
business applications AP1, AP2, and AP3. The information about
resource allocation amounts includes the information about computer
resources such as a CPU 124 and memory 125, a network 126, and a
storage 127. The table also contains the information about the
total allocation amounts 223 and unused resource amounts 224 within
the business computer. As regards business application AP1, FIG. 12
indicates that the CPU, memory, network, and storage allocation
amounts are 40%, 30%, 30%, and 20%, respectively. If any unused
resource exists, it can be allocated as needed to the business
application. When the unused resource amount is 0% (the total
allocation amount is 100%), all the business computer resources are
already allocated. Even if any resource is needed for the business
application in such a situation, resource allocation cannot be
accomplished. In such an instance, it is necessary to perform a
resource recovery process (FIG. 17) for the purpose of allocating
the resources in accordance with the priorities of the business
applications.
[0054] FIG. 13 shows the details of a priority table, which
presents policy management information 216 and indicates the
priorities of business applications. The priority table retains the
information about the priorities of business applications AP1
through AP3, which are executed by a business computer. This table
retains the information about the priorities 233 of all business
applications (AP1 to AP3) within a business computer. The policy
management information 216 contained in this table also includes
the information about a resource allocation unit (1% in FIGS. 17
and 18) and a threshold value for judging whether the resource
recovery process should be performed (a usage ratio of lower than
70% in FIG. 17). The resource allocation unit and threshold value
can be set variously for all business applications. The
administrator can set the policy management information 216 from
the client computer 15. A request issued by the client computer 15
is transmitted to the distribution management agent 213 shown in
FIG. 11 via the policy management processing section 72 of the
manager processing section 30 and the sub-manager policy management
processing section 152 of the sub-manager processing section 40
shown in FIGS. 3 and 7. The distribution management agent 213
updates the policy management information 216.
[0055] FIG. 14 illustrates the generation of a virtual computer 202
and the execution of a business application 210. When a request for
executing the business application 210 is received from a business
computer, the virtual computer management processing section 51
sets a storage path for a business logical volume 61 and generates
a virtual computer 202. Next, a reference request 251 for a
management sub-agent program 260 and a business application program
261 is issued to the business computer storage management
processing section 52. Upon receipt of the request, the business
computer storage management processing section 52 obtains the
requested program reference from the management logical volume 60
of a storage 23 (252), and passes the reference 253 to the virtual
computer management processing section 51. The virtual computer
management processing section 51 starts the management sub-agent
program 260 on the virtual computer 202 and then starts the
business application program 261.
[0056] FIG. 15 illustrates the distribution management of the
storage 11 and network 9. The sub-management computer storage
management processing section 41 comprises a sub-management
computer storage coordination processing section 300, a logical
volume control processing section 301, and a sub-management
computer use information collection processing section 302. The
business computer storage management processing section 52
comprises a business computer storage coordination processing
section 310, a logical volume reference processing section 311, and
a business computer use information collection processing section
312. The storage 11 has a plurality of logical volumes (storage
resources) LVM321, LVM322, LVM323, LVM324. The sub-management
computer storage coordination processing section 300 coordinates
with the business computer storage coordination processing section
310 so that a storage control request from the logical volume
control processing section 301 can be conveyed to the business
computer storage management processing section 52. The
sub-management computer use information collection processing
section 302 collects the information about all logical volumes in
an available storage 11, the response time (capacity information),
and the information about all networks from the business computer
200 (330, 331, 332, 333). In other words, the sub-management
computer use information collection processing section 302 collects
the information about all available networks and storages from the
business computer 200.
[0057] 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).
[0058] 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 FIG. 8 is updated. Finally, the data of
logical volume 322 is deleted because it is no longer needed. As
described above, if the performance (capacity) of a storage used by
the business computer is inadequate, it is possible to allocate the
optimum storage resource that is managed by the sub-management
computer use information collection processing section 302.
[0059] FIG. 16 illustrates how resource use information is
collected within a business computer and how resource distribution
management is exercised. The distribution management agent 213
comprises a resource distribution processing section 410, a policy
execution processing section 411, a use information overall
processing section 412, a use information collection processing
section 413, and a capacity management processing section 414. The
use information collection processing section 413 and capacity
management processing section 414 acquire the information about
computer resource use (use status) and capacity within a business
computer from an operating system 214 of the business computer
(422, 423). The acquired information is conveyed to the use
information overall processing section 412 (424, 425).
[0060] 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).
[0061] 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).
[0062] In accordance with the conveyed use information, the use
information overall processing section 412 updates the resource
capacity management table 154a shown in FIG. 9 and the distribution
information management table 154b shown in FIG. 10. The policy
execution processing section 411 transmits a resource distribution
change notification to the resource distribution processing section
410 in accordance with the use information (use status of each
resource) retained by the use information overall processing
section 412, the policy specified by the administrator, and the
priorities of business applications (427). The resource
distribution processing section 410 issues a distribution change
request 428 to a resource distribution change processing section
401 of the virtual computer management processing section 51 to
update the information (use ratios allocated to various resources)
in the resource allocation table 215 shown in FIG. 12.
[0063] 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.
[0064] 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).
[0065] 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.
[0066] 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.
[0067] The above-mentioned processes will now be sequentially
described. The resource recovery process shown in FIG. 17 and the
resource allocation process shown in FIG. 18 are performed, for
instance, by the policy execution processing section 411, resource
distribution processing section 410, and resource distribution
change processing section 401.
[0068] First of all, the resource recovery process will be
described in detail with reference to FIG. 17. The resource
recovery process is performed by the use information overall
processing section 412 in accordance with the information about
resource use, which is collected from various virtual computers
within a business computer. The resources for the virtual computers
within the business computer are first checked (step 500) to
determine whether the resource use ratios are smaller than the
threshold value (e.g., 70%) that is preset by the system
administrator. If no resource use ratios are smaller than the
threshold value, the process terminates immediately.
[0069] 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 FIG. 16.
If the performance remains unaffected, the program flow returns to
step 501 to further decrease the allocation amount. If the business
application performance is affected, the resource allocation amount
is increased by 1% to restore the previous state (step 503). As a
result, the extra resource amount, which prevails after allocation
amount reduction, is calculated. The resource distribution
processing section 410 then pools the calculated resource amount
into the resource allocation table 215, thereby terminating the
resource recovery process. The extra resource is managed by an
"Unused resource" value 224 in the resource allocation table 215 of
the business computer 200, which is shown in FIG. 12. The resource
recovery process is performed for all the virtual computers within
the business computers in the manner described above.
[0070] 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 FIG. 18. If any
unused (extra) resources exist on the business computer, they are
sequentially allocated to virtual computers, beginning with a
virtual computer running the highest-priority business application
that requires resources. In this manner, the business applications
can be steadily run. This process is periodically performed.
[0071] 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 FIG.
12 (step 518), and then the resource allocation process
terminates.
[0072] 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 FIG. 12; and the resource
distribution change processing section 401 changes the resource
allocation amount for a virtual computer upon receipt of the
instruction for resource increase/decrease.
[0073] The process for deleting business application AP2 in
accordance with the resource allocation table shown in FIG. 12 and
the priority table shown in FIG. 13 will now be described in detail
with reference to FIG. 19. First of all, step 600 is performed to
deallocate (release) the resources for a virtual computer on which
business application AP2 is running. Next, step 601 is performed to
delete the information about business application AP2 from the
resource allocation table, priority table, and distribution
information management table (FIG. 10). Step 602 is then performed
to update the "Total" value 223 and "Unused resource" value 224 in
the resource allocation table. Now, there are unused resources for
the business computer. Therefore, the unused resources are
allocated to the business applications existing in the business
computer (step 603).
[0074] The process for adding business application AP4, which has a
low priority, in accordance with the resource allocation table
shown in FIG. 12 and the priority table shown in FIG. 13 will now
be described in detail with reference to FIG. 20. First of all,
step 700 is performed to check whether the information about
business application AP4 exists in the resource distribution
optimization table 76a shown in FIG. 5. If the information is
found, step 701 is performed to allocate the resource allocation
amount that is calculated from the resource distribution
optimization table 76a and the resource capacity weighting table
76b shown in FIG. 6. If, on the other hand, the information is not
found, the default value preselected by the system administrator is
set as the resource allocation amount (step 702). Next, step 703 is
performed to check whether the resources required for allocation
exist. If the resources are not sufficient, step 707 is performed
to check whether the amounts of resources are adequate for virtual
computer generation. If a virtual computer cannot be generated, the
sequence for generating business application AP4 is forced to stand
by until adequate resources are available (step 708), and then the
resource recovery process is periodically performed (step 709). If
it is found in step 703 that there are adequate amounts of unused
resources, step 704 is performed to accomplish resource acquisition
and update the resource allocation table. Next, step 705 is
performed to generate a virtual computer for executing business
application AP4. In step 706, the generated virtual computer
executes business application AP4. FIG. 20 illustrates a case where
the priority is low. If the priority is medium or high, the
contents of processing step 708 are different from those for a low
priority. When a business application having a medium or high
priority is to be added in a situation where an existing business
application has a lower priority than the business application to
be added, processing step 708 is not performed, but an alternative
process is performed to stop the business application having the
lower priority and achieve resource recovery. If there is no
lower-priority business application, processing step 708 is
performed as is the case where the priority is low.
[0075] The business application addition/deletion operation
described above is performed by the virtual computer management
processing section 51 shown in FIGS. 14 and 16. FIG. 14 illustrates
an embodiment for business application addition.
* * * * *