Abstract:
This invention enables a storage management program to easily obtain an attribute of another storage management programs managing the storage system. A computer system including a first management server, a second management server, and a storage system, in which the first management server comprises a control unit to execute a first storage management program, which manages the storage system, the second management server comprises a control unit to execute a second storage management program, which manages the storage system in a manner different from the first storage management program, the storage system comprises a storing unit to store an attribute of the first storage management program which manages the storage system and an attribute of the second storage management program which manages the storage system, and the first storage management program obtains the attribute of the second storage management program from the storage system to manage the storage system.

Description:
CLAIM OF PRIORITY  
       [0001]     The present application claims priority from Japanese patent application P2004-367656 filed on Dec. 20, 2004, the content of which is hereby incorporated by reference into this application.  
       BACKGROUND  
       [0002]     This invention relates to a storage system management method, and more specifically to a technique of obtaining attributes of a storage management program.  
         [0003]     Recent computer systems have many storage systems. A storage system itself has, in addition to disks as its main components, various I/Fs, a number of memories, and a controller capable of high-speed processing. Thus, there arises a need to manage different aspects of a storage system by plural storage management programs distributed over plural computers on a network, as discussed in JP 2003-316607 A.  
         [0004]     When plural storage management programs manage a storage system in cooperation with one another, one of the storage management programs is to communicate with another. Thus, the storage management program that initiates communication needs information indicating the location of another storage management program as its communication target and cooperation partner.  
         [0005]     Conventionally, to achieve cooperation between storage management programs, a storage management program that initiates cooperation holds location information (for example, IP address) of its cooperation partner storage management program.  
         [0006]     JP 11-316693 A discloses, as a method of making plural storage management programs work in cooperation with one another, a technique in which a computer loaded with a data cooperation control program manages location information or the like of cooperating programs. Upon receiving a data transmission request from a computer loaded with one of the cooperating programs that initiates cooperation, the computer loaded with a data cooperation control program identifies a computer loaded with its cooperation partner program, so that data is sent from the computer having the cooperation initiating program to the computer having the cooperation partner program.  
         [0007]     In the prior art described above, installing a new storage management program has to follow advance notification of the IP address or the like of a computer in which the new program is to be installed for establishing a cooperative operation with the existing storage management programs. The advance notification is also necessary when one of the storage management programs is upgraded to a newer version and when there is a change in location of the computers on the network.  
         [0008]     With the technique disclosed in JP 11-316693 A, changes in cooperating storage management programs such as installation, a version upgrade, and relocation necessitate setting the storage system anew. In such a case, the computer that executes the cooperation control program (an integrating server) also has to be notified of the new location of the relocated program.  
         [0009]     This increases a maintenance burden particularly when a program is newly installed in a management server to cooperate with programs loaded in plural management servers, or when a program which has been executed by one management server is switched to another management server, since every management server loaded with a cooperation initiating program has to be notified of the new location of its cooperation partner program so that the cooperation partner program location settings that have been set in the cooperation initiating program can be changed to the new location settings.  
         [0010]     A change in location of a cooperation partner program necessitates not only changing settings of the storage system managed by this program but also registering the location change of the cooperation partner program in a computer that executes a cooperation initiating program or in the integrating server which executes the cooperation control program.  
       SUMMARY  
       [0011]     It is therefore an object of this invention to facilitate cooperation between the plural programs that manage a storage system while lessening a burden of maintaining the plural storage management programs.  
         [0012]     According to the embodiment of this invention, there is provided a computer system including a first management server, a second management server, and a storage system, in which the first management server comprises a control unit to execute a first storage management program which manages the storage system, the second management server comprises a control unit to execute a second storage management program which manages the storage system in a manner different from the first storage management program, the storage system comprises a storing unit to store an attribute of the first storage management program which manages the storage system and an attribute of the second storage management program which manages the storage system, and the first storage management program obtains the attribute of the second storage management program from the storage system to manage the storage system.  
         [0013]     The embodiment of this invention enables one of the storage management programs to obtain the attribute of another storage management program managing the storage system. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]     The present invention can be appreciated by the description which follows in conjunction with the following figures, wherein:  
         [0015]      FIG. 1  is a configuration diagram of a computer system according to a first embodiment of this invention;  
         [0016]      FIG. 2  is a configuration diagram of the storage management program attribute according to the first embodiment;  
         [0017]      FIG. 3  is a flow chart of registration processing  1  (performed by a management server) to register the storage management program attribute according to the first embodiment;  
         [0018]      FIG. 4  is a flow chart of registration processing  2  (performed by a storage system) to register the storage management program attribute according to the first embodiment;  
         [0019]      FIG. 5  is a flow chart of updating processing  1  (performed by the management server) to update the storage management program attribute according to the first embodiment;  
         [0020]      FIG. 6  is a flow chart of updating processing  2  (performed by the storage system) to update the storage management program attribute according to the first embodiment;  
         [0021]      FIG. 7  is a flow chart of deletion processing  1  (performed by the management server) to delete the storage management program attribute  301  according to the first embodiment;  
         [0022]      FIG. 8  is a flow chart of deletion processing  2  (performed by the storage system) to delete the storage management program attribute according to the first embodiment;  
         [0023]      FIG. 9  is an explanatory diagram of how storage management programs cooperate with one another in the first embodiment;  
         [0024]      FIG. 10  is a flow chart of a cooperation organizing processing of the storage management program (performed by the management server A) in the first embodiment;  
         [0025]      FIG. 11  is a flow chart of the processing (performed in the storage system) while the storage management programs are cooperating with one another according to the first embodiment;  
         [0026]      FIG. 12  is a flow chart for processing of notifying a storage management program of a failure according to the first embodiment;  
         [0027]      FIG. 13  is an explanatory diagram of a storage management program call-up screen according to the first embodiment;  
         [0028]      FIG. 14  is an explanatory diagram of how storage management programs cooperate with one another in a second embodiment;  
         [0029]      FIG. 15  is a flow chart of processing performed by the storage system  3  in the second embodiment;  
         [0030]      FIG. 16  is an explanatory diagram of how storage management programs cooperate with one another in a third embodiment; and  
         [0031]      FIG. 17  is a flow chart of processing performed by the storage system  3  in the third embodiment. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0032]     Embodiments of this invention will be described below.  
       First Embodiment  
       [0033]      FIG. 1  is a configuration diagram of a computer system according to a first embodiment of this invention.  
         [0034]     The computer system according to the first embodiment is composed of a management server A  1 , a management server B  2 , a storage system  3 , an application server A  7 , and networks  4 ,  5  and  6 , which connect the servers and the storage system to one another.  
         [0035]     The management server A  1  is a computer device equipped with a controller (CPU)  11 , a memory  12 , and network interfaces  15  and  16 . Though omitted from the drawing, input/output devices (a keyboard, a display device, and the like) may be provided in the management server A  1 .  
         [0036]     The memory  12  stores a storage management program A  101 , a cooperation program  102 , and a program attribute registration program  103 . The cooperation program  102  is a program that controls cooperation between the storage management program A  101  and another storage management program. The program attribute registration program  103  is a program that controls the storage system  3  when the storage management program A  101  is installed in the management server  1  or when the storage management program A  101  is updated. The controller  11  reads various programs stored in the memory  12  to execute the read programs. Those programs may be stored in an external storage medium instead. The cooperation program  102  and the program attribute registration program  103  may be composed of the hardware configuration of the management server A  1  is designed to have functions equal to those of the programs  102  and  103 .  
         [0037]     The network interface (A)  15  is connected to the LAN  6 , thereby enabling the management server A  1  to exchange, via the LAN  6 , data and control signals with the application server A  7 .  
         [0038]     The network interface (A)  16  is connected to the LAN  5 , thereby enabling the management server A  1  to exchange, via the LAN  5 , data and control signals with the storage system  3  and the management server B  2 .  
         [0039]     The management server B  2  is a computer device equipped with a controller (CPU)  21 , a memory  22 , and network interfaces  25  and  26 . Though omitted from the drawing, input/output devices (a keyboard, a display device, and the like) may be provided in the management server B  2 .  
         [0040]     The memory  22  stores a storage management program B  201 , a cooperation program  202 , and a program attribute registration program  203 . The cooperation program  202  is a program that controls cooperation between the storage management program B  201  and another storage management program. The program attribute registration program  203  is a program that controls the storage system  3  when the storage management program B  201  is installed in the management server B  2  or when the storage management program B  201  is updated. The controller  21  reads various programs stored in the memory  22  to execute the read programs. Those programs may be stored in an external storage medium instead. The cooperation program  202  and the program attribute registration program  203  may be composed of the hardware configuration of the management server B  2  is designed to have functions equal to those of the programs  202  and  203 .  
         [0041]     The network interface (A)  25  is connected to the LAN  6 , thereby enabling the management server B  2  to exchange, via the LAN  6 , data and control signals with the application server A  7 .  
         [0042]     The network interface (A)  26  is connected to the LAN  5 , thereby enabling the management server B  2  to exchange, via the LAN  5 , data and control signals with the storage system  3  and the management server A  1 .  
         [0043]     The storage system  3  is a storage system composed of a controller (disk array controller)  31 , a memory  32 , plural disk drives  33 , and network interfaces  34  and  35 .  
         [0044]     The disk array controller  31  is provided with a CPU, a cache memory, and an interface. The CPU executes a control program to control data inputted to and outputted from disks upon request from the management server A  1 . The CPU also manages a RAID (Redundant Array of Independent Disks) constituted of the disks.  
         [0045]     The memory  32  stores storage management program attribute  301  and a attribute management program  302 . The storage management program attribute  301  are used by the storage management programs of the management server A  1  and the management server B  2 . The attribute management program  302  registers, updates and deletes the storage management program attribute  301 .  
         [0046]     The network interface (B)  34  is connected to the SAN  4 , thereby enabling the storage system  3  to exchange, via the SAN  4 , data and control signals with the application server A  7 .  
         [0047]     The network interface (A)  36  is connected to the LAN  5 , thereby enabling the storage system  3  to exchange, via the LAN  5 , data and control signals with the management server A  1  and the management server B  2 .  
         [0048]     The application server A  7  executes an application that requests data be written or read in a storage area of the storage system, a backup application, and other applications. The operation server A  7  is provided with a controller (CPU)  71 , a memory  72 , and network interfaces  74  and  75 .  
         [0049]     The memory  72  stores application programs that use data stored in the storage system  3 . The controller  71  executes the application programs to perform various processing.  
         [0050]     The network interface (A)  75 , is connected to the LAN  6 , thereby enabling the application server A  7  to exchange, via the LAN  6 , data and control signals with the management server A  1  and the management server B  2 .  
         [0051]     The network interface (B)  76  is connected to the SAN  4 , thereby enabling the application server A  7  to exchange, via the SAN  4 , data and control signals with the storage system  3 .  
         [0052]     The SAN (Storage Area Network)  4  is a network connecting the application server A  7  and the storage system  3  to one another, and employs, for example, a fiber channel protocol to transfer data and control signals.  
         [0053]     The LAN (Local Area Network)  5  is a network connecting the management server A  1 , the management server B  2  and, the storage system  3  to one another, and employs, for example, a TCP/IP protocol to transfer data and control signals.  
         [0054]     The LAN (Local Area Network)  6  is a network connecting the application server A  7 , the management server A  1 , and the management server B  2  to one another, and employs, for example, a TCP/IP protocol to transfer data and control signals.  
         [0055]     This embodiment uses plural networks to connect the management servers  1  and  2  and the storage system  3  to one another, but may employ a single network instead. In other words, control signals (e.g., a request for an attribute of a storage management program and a response to the request) may be exchanged between the management servers A  1  and B  2  and the storage system  3  over the same network that is used to input and output data to and from the storage system  3  (in-band).  
         [0056]      FIG. 2  is a configuration diagram of the storage management program attribute  301  according to the first embodiment.  
         [0057]     The storage management program attribute  301  is the attribute of the storage management programs that manage the storage system  3 . The attribute is recorded as the storage management program attribute  301  when the storage system is set as a resource to be managed to the storage management programs of the management servers.  
         [0058]     Stored as the storage management program attribute  301  for each storage management program is the name of the storage management program, the identifier of the storage management program, a management server name, a resource to be managed, and a management type.  
         [0059]     A storage management program identifier is an identifier unique to each storage management program, and a serial number assigned to each storage management programs can serve as the storage management program identifier. Alternatively, an identifier set for each storage management program type defined by the purpose of the program (for example, a log output) may be employed.  
         [0060]     The location of a management server that executes the storage management program identified by the identifier is stored as a management server name. The location of the management server is expressed by, for example, IP address.  
         [0061]     A resource to be managed is a subject that is managed by this storage management program. Examples of the resource to be managed include a disk drive, an I/O port of an interface, and a cache memory.  
         [0062]     Stored as a management type is the type of management executed by this storage management program. There are several management types, including configuration management in which the configuration of the storage system is set or changed, and performance management in which the performance of the storage system is optimized or otherwise managed. A resource to be managed and a management type are stored as text information in this embodiment. Alternatively, a resource to be managed and a management type may be stored in the form of flags that are set for each resource to be managed and management type.  
         [0063]      FIG. 3  is a flow chart of Registration Processing One to register the storage management program attribute  301  according to the first embodiment. This processing is executed by the attribute management program  103 .  
         [0064]     Processing described in the following description is executed by the program attribute registration program  103 , which is executed on the management server A  1 . The program attribute registration program  203 , which is executed on the management server B  2 , performs similar processing.  
         [0065]     First, the program attribute registration program  103  judges whether or not to register the storage system  3  in the storage management program A  101 , or other storage management programs (S 101 ). This can be judged by, for instance, an instruction from a user. It may be automatically judged that registration is necessary when a new storage management program is installed.  
         [0066]     When there is no need to register the storage system  3  in the storage management program A  101  or other storage management programs, this program is terminated. On the other hand, when the storage system  3  needs to be registered in the storage management program A  101  or other storage management programs, attribute of this storage management program is sent to the storage system  3  (S 102 ).  
         [0067]     The program attribute registration program  103  then waits for a response from the storage system  3 . Once a response is received from the storage system  3 , the program attribute registration program  103  judges whether or not the response is to report normal completion (S 103 ).  
         [0068]     At this point, the storage system  3  may use given authentication information (for example, a user ID and a password) to authenticate a management server that has sent storage management program attribute to the storage system  3  to be registered. This authentication step ensures security for access to the storage system  3 .  
         [0069]     When the storage system  3  does not report normal completion, the program attribute registration program  103  alerts the user since there is a fear that the storage management program attribute is not registered normally (S 107 ). For instance, a warning message is outputted to a display, or e-mail or the like is sent to a computer that is available to the user.  
         [0070]     Then the program attribute registration program  103  judges whether or not there is a further instruction from the user that insists on registration (S 108 ). When there is a registration instruction sent by the user through the input device, a forced registration request is sent to the storage system  3  (S 109 ). When the user sends no further registration instruction, on the other hand, this program ends without registering the storage system  3  in the storage management program A  101  or other programs.  
         [0071]     In the case where the storage system  3  reports normal completion, the program attribute registration program  103  obtains, from the storage system  3 , information on the resource to be managed such as a disk drive capacity (S 104 ).  
         [0072]     The program attribute registration program  103  then waits for a response from the storage system  3 . Once a response is received from the storage system  3 , the program attribute registration program  103  judges whether or not the response is to report normal completion (S 105 ).  
         [0073]     When the storage system  3  does not report normal completion, it means that the storage management program attribute has not been registered normally, and the user is notified of the error (S 110 ). Then this program ends.  
         [0074]     On the other hand, when the storage system  3  reports normal completion, the program attribute registration program  103  sends a message, that registration of the attribute in the storage system  3  has been completed, to the user (S 106 ). Then the program ends.  
         [0075]     This storage management program attribute registration processing is started upon an instruction from the user. It may also be automatically executed as a storage management program is installed.  
         [0076]      FIG. 4  is a flow chart of Registration Processing Two to register the storage management program attribute  301  according to the first embodiment. This processing is executed by the attribute management program  302  in the controller  31  of the storage system  3 .  
         [0077]     The controller  31  receives the storage management program attributes from a management server (S 111 ).  
         [0078]     The received storage management program attribute is analyzed to judge whether or not they contain a forced registration request (S 112 ).  
         [0079]     When it is judged as a result that a forced registration request is contained in the received storage management program attributes, the processing advances to step S 114  without checking storage management program attribute that is stored in the memory  32 .  
         [0080]     On the other hand, when a forced registration request is not contained in the received storage management program attribute, the attribute management program  302  judges whether or not a storage management program of the same management type as the one contained in the received attribute are found in the memory  32  (S 1113 ). Specifically, it is judged whether or not the memory  32  holds storage management program attribute that has the same resource to be managed and management types as those of the received storage management program attribute, and when the received storage management program attribute and the stored storage management program attribute are equal in terms of both management type and resource to be managed, it is judged that a storage management program of the same management type has already been registered.  
         [0081]     When a storage management program of the same management type as the one contained in the received attribute is not found in the memory  32 , the processing advances to the step S 114 , where registration processing is started.  
         [0082]     In the step S 114 , the received storage management program attribute is stored in the memory  32 . Thereafter, a message reporting normal completion of the processing is sent to the storage management program (management server) that has requested the registration (S 115 ).  
         [0083]     When it is judged in the step S 113  that the memory  32  holds a storage management program of the same management type as the one contained in the received attribute, an error message is sent to the storage management program (management server) that has requested the registration (S 116 ).  
         [0084]      FIG. 5  is a flow chart of Updating Processing One to update the storage management program attribute  301  according to the first embodiment. This processing is executed by the program attribute management program  103 .  
         [0085]     First, storage management program attribute is sent to the storage system  3  (S 121 ). Receiving the storage management program attribute, the storage system  3  starts Update Processing Two shown in  FIG. 6 .  
         [0086]     After sending the storage management program attribute, the program attribute registration program  103  waits for the storage system  3  to report normal completion (S 122 ). When a message saying that the processing has been completed normally is sent from the storage system  3 , this processing is ended.  
         [0087]     When the storage system  3  reports an error, on the other hand, a forced registration request is sent to the storage system  3  (S 123 ). The processing then returns to the step S 122 , where the program attribute registration program  103  waits for the storage system  3  to report normal completion.  
         [0088]     This storage management program attribute update processing is started upon an instruction from the user, or may be started at a given timing (for example, each time a refresh cycle is started). Alternatively, the update processing may be activated each time the storage management program communicates with the storage system  3 .  
         [0089]      FIG. 6  is a flow chart of Updating Processing Two to update the storage management program attribute  301  according to the first embodiment. This processing is executed by the program attribute management program  302  in the controller  31  of the storage system  3 .  
         [0090]     The controller  31  receives storage management program attribute from the management server (S 131 ).  
         [0091]     The program attribute management program  302  then searches the storage management program attribute  301  stored in the memory  32  for the identifier contained in the received storage management program attribute (S 132 ), and judges whether or not the memory  32  holds storage management program attribute having an identifier that matches the identifier contained in the received attribute (S 133 ).  
         [0092]     When the memory  32  does not hold storage management program attribute having an identifier that matches the identifier contained in the received attribute, the program attribute management program  302  judges that the received storage management program attribute is to be newly registered, and starts the attribute registration processing shown in  FIG. 4 .  
         [0093]     On the other hand, when the memory  32  holds storage management program attribute having an identifier that matches the identifier contained in the received attribute, the received storage management program attribute is compared against the storage management program attribute  301  stored in the memory  32 . When it is found as a result of the comparison that the received attribute differ from the stored attribute, the stored attribute is overwritten with the received attribute (S 136 ), and the processing proceeds to S 135 . When it is found as a result of the comparison that the received attribute is equal to the stored attribute, the processing proceeds to the step S 135  without writing the received attribute in the memory  32 .  
         [0094]     In the step S 135 , the storage management program (management server) that has requested the update is informed of normal completion of the update processing.  
         [0095]      FIG. 7  is a flow chart of Deletion Processing One to delete the storage management program attribute  301  according to the first embodiment. This processing is executed by the attribute management program  103 .  
         [0096]     First, a storage management program deletion request and the identifier of the program requested to be deleted are sent to the storage system  3  (S 141 ). Receiving the storage management program deletion request, the storage system  3  starts Deletion Processing Two shown in FIG.  8 .  
         [0097]     After sending the deletion request, the program attribute registration program  103  waits for the storage system  3  to report normal completion of the processing (S 142 ).  
         [0098]     When the program attribute registration program  103  receives an error message from the storage system  3 , the user is notified of the error (S 143 ) and this deletion processing is terminated.  
         [0099]     When normal completion of the processing is reported by the storage system  3 , the program attribute registration program  103  ends this deletion processing.  
         [0100]     This storage management program attribute deletion processing is started upon an instruction from the user. It may also be automatically executed as a storage management program is uninstalled.  
         [0101]      FIG. 8  is a flow chart of Deletion Processing Two to delete the storage management program attribute  301  according to the first embodiment. This processing is executed by the attribute management program  302  in the controller  31  of the storage system  3 .  
         [0102]     First, the program attribute management program  302  receives a storage management program attribute deletion request and the identifier of the storage management program whose identifier is requested to be deleted (S 151 ).  
         [0103]     The program attribute management program  302  then searches the storage management program attribute  301  stored in the memory  32  for the received identifier (S 152 ) contained in the received storage management program attribute, and judges whether or not the memory  32  holds storage management program attribute having an identifier that matches the identifier contained in the received attribute (S 153 ).  
         [0104]     When the memory  32  holds storage management program attribute having an identifier that matches the identifier contained in the received attribute, the storage management program attribute is deleted from the memory  32 . Then the storage management program (management server) that has requested the deletion is informed of normal completion of the deletion processing (S 155 ), and the processing is ended.  
         [0105]     When the memory  32  does not hold storage management program attribute having an identifier that matches the identifier contained in the received attribute, it means that storage management program attribute that is requested to be deleted are not stored in the memory  32 . Accordingly, the program attribute management program  302  sends an error message to the storage management program (management server) that has requested the deletion (S 156 ), and terminates this processing.  
         [0106]      FIG. 9  is an explanatory diagram of how storage management programs cooperate with one another in the first embodiment.  
         [0107]     When storage management programs cooperate with one another, one of the cooperating storage management programs calls up another and utilizes information obtained from this other storage management program. The cooperation between the storage management programs is orchestrated mainly by the cooperation program  102 .  
         [0108]     Here, consider a configuration in which the storage management program A  101  is executed on the management server A  1  and manages the storage system configuration whereas the storage management program B  201  is executed on the management server B  2  and manages the performance of the storage system  3 .  
         [0109]     When the storage management program A  101  which manages the storage system configuration is installed in the management server A  1 , the attribute of the storage management program A  101  is registered in the storage system  3 . Similarly, when the storage management program B  201  which manages the storage system performance is installed in the management server B  2 , the attribute of the storage management program B  201  is registered in the storage system  3  (( 1 ) in  FIG. 9 ).  
         [0110]     Thereafter, the user operates the storage management program A  101  ( 2 ). For instance, the user gives an instruction to create a volume in a disk of low I/O access frequency, and the storage management program A  101  calls up the cooperation program  102 . The cooperation program  102  makes an inquiry about attribute of a program that manages the performance of the storage system  3  to the program attribute management program  302  of the storage system  3 . Receiving the inquiry, the program attribute management program  302  sends, to the cooperation program  102 , the attribute inquired ( 3 ). For example, the program attribute management program  302  sends the IP address of the management server B  2  in which the storage management program B  201  is executed to the cooperation program  102 .  
         [0111]     The cooperation program  102  then makes an inquiry about performance information of the storage system  3  to the storage management program B  201  which is executed in the management server B  2  in order to manage the storage system performance ( 4 ). Receiving the inquiry, the storage management program B  201  sends, to the storage management program A  101 , the performance information inquired ( 5 ). The storage management program A  101  thus obtains information on the I/O access frequency of disks in the storage system  3 .  
         [0112]     The storage management program A  101  uses the performance information obtained from the storage management program B  201  to choose a disk that has low I/O access frequency, and instructs the storage system  3  to create a volume in the chosen disk ( 6 ).  
         [0113]     When the creation of the volume in the storage system  3  is finished, the user is notified of the completion of the volume creating processing ( 7 ).  
         [0114]     Those communications between the management servers and between the storage system and the management servers preferably comply with the CIM interface.  
         [0115]     In other words, the storage management program A  101  which manages the storage system configuration fulfills user&#39;s demands in cooperation with the storage management program B  201  which manages the storage system performance.  
         [0116]      FIG. 10  is a flow chart of cooperation organizing processing performed by the cooperation program  102  in the first embodiment.  
         [0117]     First, the program attribute registration program  103  executes Registration Processing One described above with reference to  FIG. 3  to register a storage management program attribute in the storage system  3  (S 161 ).  
         [0118]     As an instruction to create a volume in a disk of low I/O access frequency is received from the user (S 162 ), the storage management program A  101  judges whether it is necessary to obtain performance information of the storage system  3  or not.  
         [0119]     When it is judged that obtaining performance information of the storage system  3  is necessary for execution of the user&#39;s request, the cooperation program  102  is requested to provide a storage management program attribute that have “Disk” as a resource to be managed and “performance management” as a management type. Receiving the request, the cooperation program  102  requests the storage system  3  to provide the storage management program attribute. At this point, for security measures, the storage system  3  may authenticate the management server that is trying to obtain the storage management program attribute with the use of given authentication information. For instance, the storage system  3  authenticates by using a preset password or by checking whether or not the attribute of the storage management program (here, the storage management program A  101 ) of the management server that is asking for the attribute of another storage management program are stored in the storage management program attribute  301  stored in the storage system  3 .  
         [0120]     The cooperation program  102  thus obtains, from the storage system  3 , the attribute of the storage management program that manages the storage system performance (S 163 ). The request for the attribute starts up processing of the storage system  3  which is shown in  FIG. 11 .  
         [0121]     Then whether necessary the storage management program attribute have been obtained or not is judged (S 164 ).  
         [0122]     When it is judged as a result that necessary storage management program attribute have not been obtained, an error message is sent to the storage management program A  101 , which has made the request (S 169 ), and this processing is terminated.  
         [0123]     On the other hand, when it is judged that necessary the storage management program attribute have been obtained, the processing advances to step S 165 , where the cooperation program  102  requests the storage management program B  201 , which is identified by the obtained attribute, to provide performance information (data about the I/O access frequency of disks) (S 165 ).  
         [0124]     Obtaining the data about the I/O access frequency of disks from the storage management program B  201  (S 166 ), the cooperation program  102  identifies a disk having low I/O access frequency to create a volume in the storage system  3  (S 167 ).  
         [0125]     As the volume creation is finished, the user is notified that the volume has been created (S 168 ), and the processing is ended.  
         [0126]      FIG. 11  is a flow chart of the processing performed in the storage system  3  while the storage management programs are cooperating with one another according to the first embodiment.  
         [0127]     First, the storage system  3  receives, from the storage management program A  101 , a request for the attribute of the storage management program that manages the storage system performance (S 171 ). Then it is judged whether or not the storage system  3  holds the requested storage management program attribute, namely, a storage management program attribute that have “Disk” as a resource to be managed and “performance management” as a management type (S 172 ). Specifically, it is judged whether the requested the attribute of the storage management program that manages the performance related to disks of the storage system  3  are stored in the memory  32  or not.  
         [0128]     When it is judged as a result that the memory  32  holds the storage management program attribute having both the management type and the resource to be managed that are contained in the received request, the storage system  3  sends the storage management program attribute to the storage management program A  101  which has made the request (S 173 ), and ends the processing.  
         [0129]     On the other hand, when it is judged that the memory  32  does not hold the storage management program attribute having both the management type and the resource to be managed that are contained in the received request, the storage system  3  sends a message saying that the requested attribute is not stored in the memory  32  to the storage management program A  101  which has made the request (S 174 ), and terminates this processing.  
         [0130]      FIG. 12  is a flow chart for processing of notifying a storage management program of a failure according to the first embodiment.  
         [0131]     Upon detection of a failure in the storage system  3 , the storage management program A  101  searches the storage management program attribute  301  for attribute that have, as a resource to be managed, the failed component of the storage system  3  (S 181 ).  
         [0132]     In the case where the search finds attribute that have as a resource to be managed the storage system component that has failed, there is no need to send failure information to other storage management programs than the storage management program identified by the retrieved attribute. Therefore, failure information of the storage system  3  is sent to only the storage management program identified by the retrieved attribute (S 182 ). In the case where the search does not find attribute that have as a resource to be managed the storage system component that has failed, failure information of the storage system  3  is sent to every storage management program (S 183 ).  
         [0133]     Thus a storage management program does not receive information about a failure in a component of the storage system  3  that is managed by another storage management program, and the load of the storage management programs is reduced.  
         [0134]      FIG. 13  is an explanatory diagram of a storage management program call-up screen according to the first embodiment.  
         [0135]     This management screen is displayed by the cooperation program  102 , which is executed in the management server A  1 . A similar screen is displayed by the cooperation program  202 , which is executed in the management server B  2 ,  
         [0136]     The management screen has a storage system displaying area  1001 , an operation selecting area  1002  to select an operation performed on a storage system, and a storage management program selecting area  1003 .  
         [0137]     Displayed in the storage system displaying area  1001  are the name of a storage system managed by this management server and the name of a volume set in each storage system. Displayed in the operation selecting area  1002  are operations that can be performed on a storage system. Displayed in the management program selecting area  1003  is the name of a storage management program that is available.  
         [0138]     The user selects a storage system, or a combination of a storage system and a volume displayed in the storage system displaying area  1001 . Then operations that can be performed on the selected storage system are displayed in the operation selecting area  1002 .  
         [0139]     The user chooses a “call up another management program” operation displayed in the operation selecting area  1002 , causing the management program selecting area  1003  to display names of storage management programs that can be used in the chosen operation. Each program on the list of the storage management programs displayed in the management program selecting area  1003  is associated with its link information. The user selects one from the programs displayed in the management program selecting area  1003 , and the chosen storage management program is executed.  
         [0140]     Names of available storage management programs may be displayed in another window instead of the management program selecting area  1003 .  
         [0141]     As has been described, in the first embodiment of this invention, registration of a storage system as a resource to be managed in a storage management program is accompanied by registration of the attribute of the storage management program, such as where this program is executed or stored, in the storage system. This makes it possible to obtain, from the storage system, the attribute of the storage management program that manages the storage system. Accordingly, a list of other storage management programs that are available for a call-up from one storage management program can be created without bothering a user.  
         [0142]     In contrast to prior art where a user has to create a list of other storage management programs that are available for a call-up from one storage management program, this embodiment is capable of creating a storage management program call-up screen with the use of the storage management program attribute obtained from the storage system  3 .  
         [0143]     Prior art also requires a user to register, in each storage management program that initiates cooperation, an attribute of its cooperation partner storage management program.  
         [0144]     In the first embodiment of this invention, on the other hand, an attribute of a storage management program are registered in a storage system that is a management resource of the storage management program, and another storage management program that plans to cooperate with the former storage management program can obtain the attribute of the former storage management program from the storage system without needing any particular operation on user&#39;s part. Thus a storage system can be managed with ease through cooperation between storage management programs.  
         [0145]     In other words, this embodiment of this invention enables a storage management program to obtain an attribute of another storage management program that manages this storage system from a storage system which is a management resource of the storage management program. Since the attribute of a storage management program can be obtained from a storage system that is managed by the storage management program, it is easy to find other storage management programs that manage this same storage system without any input from the user.  
         [0146]     To summarize, this embodiment of this invention does not allow registration of a storage system in a storage management program as a management resource without registering the attribute of the storage management program in the storage system, and thus makes it possible to obtain from the storage system attribute of any storage management program that manages the storage system. A storage management program can therefore know which of other storage management programs is available for a call-up without relying on a user.  
         [0147]     This embodiment of this invention also enables a storage management program to obtain the attribute of other storage management programs as long as they manage the same storage system.  
         [0148]     In addition, registering the attribute of a storage management program in a storage system at the same time the storage system is registered in the storage management program as a management resource makes it possible to register the storage management program attribute through a usual set-up operation.  
         [0149]     It also eliminates the need to register in advance attribute of its cooperation partner storage management program in a storage management program that initiates cooperation.  
         [0150]     With a storage system storing an attribute of storage management programs by which it is managed, the storage system can find storage management programs of the same type from among the storage management programs by which it is managed, and can alert a user of the fact by itself.  
         [0151]     A storage management program may not request an attribute of its cooperation partner from a storage system each time the storage management program initiates cooperation. Instead, once a storage management program that initiates cooperation obtains an attribute of its cooperation partner storage management program from a storage system, the cooperation initiating storage management program communicates with the cooperation partner storage management program based on the obtained an attribute, and may not ask the storage system for the attribute again until communications with the cooperation partner storage management program fail due to relocation of the cooperation partner storage management program.  
         [0152]     Storing an attribute of storage management programs by which it is managed, a storage system can appropriately judge about where to send failure information. Thus a storage system where a failure has occurred can avoid notifying a storage management program that does not relate to the storage system of the failure.  
         [0153]     A storage management program can obtain an attribute of other storage management programs that manage the same storage system irrespective of whether interfaces used between the storage system and the storage management programs vary from one program to another, or not.  
         [0154]     Storing a storage management program attribute in a storage system instead of management servers also eliminates the need to update a storage management program attribute in each management server.  
         [0155]     Another advantage of this embodiment is that, since a attribute of a storage management program are not available to irrelevant resources, this embodiment can prevent an unexpected operation of a storage system that results from calling up a wrong storage management program.  
         [0156]     The cooperation program  102  and the program attribute registration program  103  may be modules of the storage management program A  101 .  
       Second Embodiment  
       [0157]     Described next is another form of cooperation between storage management programs.  
         [0158]     In the first embodiment described above, the management server A  1  and the management server B  2  directly communicate with each other. In a second embodiment described below, the management server A  1  and the management server B  2  do not directly communicate with each other.  
         [0159]     In the second embodiment, only configurations that differ from those in the first embodiment will be described while configurations that are identical in function and effect in the first and second embodiments are denoted by the same reference symbols and explanations thereof are omitted.  
         [0160]      FIG. 14  is an explanatory diagram of how storage management programs cooperate with one another in the second embodiment.  
         [0161]     In the second embodiment, a cooperation program is stored in the memory  32  of the storage system  3 . In this cooperation program, the storage system  3  calls up the storage management program A  101  and the storage management program B  201  to perform processing of sending and receiving data.  
         [0162]     First, as the storage management program A  101  which manages the storage system configuration is installed in the management server A  1 , the attribute of the storage management program A  101  are registered in the storage system  3  by the program attribute management program  302 . As the storage management program B  201  which manages the storage system performance is installed in the management server B  2 , the attribute of the storage management program B  201  are registered in the storage system  3  ( 1 ).  
         [0163]     Thereafter, a user operates the storage management program A  101  ( 2 ). For instance, when the user gives an instruction to create a volume in a disk of low I/O access frequency, the storage management program A  101  requests the storage system  3  to provide performance information (data about the I/O access frequency of disks) of the storage system  3  ( 3 ).  
         [0164]     Receiving the request for performance information, the program attribute management program  302  identifies a program that manages the performance of the storage system  3 . Then, the program attribute management program  302  of the storage system  3  sends the attribute of the identified program to the cooperation program stored in the memory  32 . For example, the program attribute management program  302  sends the IP address of the management server B  2  in which the storage management program B  201  is executed to the cooperation program. The cooperation program then requests performance information of the storage system  3  from the storage management program B  201  which is executed in the management server B  2  in order to manage the storage system performance ( 4 ).  
         [0165]     Receiving the request, the storage management program B  201  sends the requested performance information to the cooperation program of the storage system  3  ( 5 ).  
         [0166]     The cooperation program of the storage system  3  sends the received performance information to the storage management program A  101  ( 6 ). The storage management program A  101  thus obtains information about the I/O access frequency of disks in the storage system  3 .  
         [0167]     The storage management program A  101  uses the performance information obtained from the storage management program B  201  to choose a disk that has low I/O access frequency, and instructs the storage system  3  to create a volume in the chosen disk ( 7 ).  
         [0168]     When the creation of the volume in the storage system  3  is finished, the user is notified of the completion of the volume creating processing ( 8 ).  
         [0169]     In short, the storage management program A  101 , which manages the storage system configuration, fulfills user&#39;s demands in cooperation with the storage management program B  201 , which manages the storage system performance, via the storage system  3 .  
         [0170]     As in the first embodiment described above, when a storage management program obtains an attribute of another storage management program from a storage system, the validity of a device that provides the attribute may be checked as security measures.  
         [0171]      FIG. 15  is a flow chart of processing performed by the program attribute registration program  302  and cooperation program of the storage system  3  in the second embodiment. Steps S 201  and S 202  in  FIG. 15  are processing performed by the program attribute registration program  302  whereas the rest is processing performed by the cooperation program.  
         [0172]     First, the storage system  3  receives, from the storage management program A  101 , a request for performance information provided by a storage management program that manages the storage system performance (S 201 ). Then, the request contains the management type and a management resource of the storage management program. Referring to the management type and the management resource which are contained in the received request, the storage system  3  judges whether or not it holds the attribute of the storage management program from which the requested performance information is to be obtained (S 202 ). Specifically, it is judged whether the attribute of the storage management program that manages the performance of the storage system  3  are stored in the memory  32  or not.  
         [0173]     When it is judged as a result that the memory  32  does not holds storage management program attribute having both the management type and the management resource that are contained in the request, the storage management program from which the requested performance information is to be obtained cannot be identified. Accordingly, the requested performance information cannot be obtained. Then an error message saying that the requested performance information cannot be obtained is sent to the storage management program A  101  which has made the request (S 206 ), and this processing is terminated.  
         [0174]     When it is judged that the memory  32  holds an attribute having both the management type and the management resource that are contained in the request, the processing proceeds to step S 203 , where a request for performance information (data about the I/O access frequency of disks) is sent to the storage management program B  201  which is identified by the attribute.  
         [0175]     The cooperation program waits, for a given period of time, for the storage management program B  201  to confirm reception of the request, and judges whether the reception confirmation has been received from the storage management program B  201  or not (S 204 ).  
         [0176]     When it is judged that the requested performance information has been obtained, the requested performance information is sent to the storage management program A  101 , which has issued the request (S 205 ), and this processing is ended.  
         [0177]     On the other hand, when it is judged as a result that the requested performance information has not been obtained, the storage management program A  101 , which has issued the request, is notified of the failure in obtaining the requested performance information (S 206 ), and this processing is terminated.  
         [0178]     As has been described, according to the second embodiment, a storage management program can obtain an attribute of another storage management program without direct communications between the management server A  1  and the management server B  2 .  
       Third Embodiment  
       [0179]     A still another form of cooperation between storage management programs will be described next.  
         [0180]     In the first embodiment described above, the management server A  1  uses the storage management program attribute obtained from the storage system  3  to ask the management server B  2  for performance information. In a third embodiment described below, the storage system  3  asks the management server B  2  for performance information in place of the management server A  1 .  
         [0181]     In the third embodiment, only configurations that differ from those in the first embodiment will be described while configurations that are identical in function and effect in the first and third embodiments are denoted by the same reference symbols and explanations thereof are omitted.  
         [0182]      FIG. 16  is an explanatory diagram of how storage management programs cooperate with one another in the third embodiment.  
         [0183]     In the third embodiment, a cooperation program is stored in the memory  32  of the storage system  3 . In this cooperation program, the storage system  3  calls up the storage management program A  101  and the storage management program B  201  to perform processing of sending and receiving data.  
         [0184]     First, as the storage management program A  101  which manages the storage system configuration is installed in the management server A  1 , the attribute of the storage management program A  101  are registered in the storage system  3 . As the storage management program B  201  which manages the storage system performance is installed in the management server B  2 , the attribute of the storage management program B  201  are registered in the storage system  3  ( 1 ).  
         [0185]     Thereafter, a user operates the storage management program A  101  ( 2 ). For instance, the user gives an instruction to create a volume in a disk of low I/O access frequency, and the storage management program A  101  requests the storage system  3  to provide performance information (data about the I/O access frequency of disks) of the storage system  3  ( 3 ).  
         [0186]     Receiving the request for performance information, the storage system  3  identifies a program that manages the performance of the storage system  3 . The storage system  3  sends the attribute of the identified program to the cooperation program stored in the memory  32 . For example, the storage system  3  sends the IP address of the management server B  2  in which the storage management program B  201  is executed to the cooperation program. The cooperation program then requests performance information of the storage system  3  from the storage management program B  201  which is executed in the management server B  2  in order to manage the storage system performance ( 4 ). The request sent to the storage management program B  201  also contains the attribute of the storage management program that has requested the performance information (the storage management program A  101 ).  
         [0187]     Receiving the request, the storage management program B  201  uses the performance information request from the storage system  3  to identify the storage management program that has requested the performance information (the storage management program A  101 ). Then the storage management program B  201  sends the requested performance information to the storage management program A  101  ( 5 ).  
         [0188]     The storage management program A  101  uses the performance information obtained from the storage management program B  201  to choose a disk that has low I/O access frequency, and instructs the storage system  3  to create a volume in the chosen disk ( 6 ).  
         [0189]     When the creation of the volume in the storage system  3  is finished, the user is notified of the completion of the volume creating processing ( 7 ).  
         [0190]     In short, the storage management program A  101 , which manages the storage system configuration, fulfills user&#39;s demands in cooperation with the storage management program B  201 , which manages the storage system performance, via the storage system  3 .  
         [0191]     As in the first embodiment described above, when a storage management program obtains from a storage system an attribute of another storage management program, the validity of a device that provides the attribute may be checked as security measures.  
         [0192]      FIG. 17  is a flow chart of processing performed by the attribute management program  302  and cooperation program of the storage system  3  in the third embodiment. Steps S 301  and S 302  in  FIG. 17  are processing performed by the attribute management program  302  whereas the rest is processing performed by the cooperation program.  
         [0193]     First, the storage system  3  receives, from the storage management program A  101 , a request for performance information provided by a storage management program that manages the storage system performance (S 301 ). The request contains the management type and a management resource of the storage management program. Referring to the management type and the management resource which are contained in the received request, the storage system  3  judges whether or not it holds the attribute of the storage management program from which the requested performance information is to be obtained (S 302 ). Specifically, it is judged whether the attribute of the storage management program that manages the performance of the storage system  3  are stored in the memory  32  or not.  
         [0194]     When it is judged as a result that the memory  32  does not holds the storage management program attribute having both the management type and the management resource that are contained in the request, the storage management program from which the requested performance information is to be obtained cannot be identified. Accordingly, the requested performance information cannot be obtained. Then an error message saying that the requested performance information cannot be obtained is sent to the storage management program A  101  which has made the request (S 305 ), and this processing is terminated.  
         [0195]     When it is judged that the memory  32  holds the attribute having both the management type and the management resource that are contained in the request, the processing proceeds to step S 303 , where a request for performance information (data about the I/O access frequency of disks) is sent to the storage management program B  201  which is identified by the attribute.  
         [0196]     The cooperation program waits, for a given period of time, for the storage management program B  201  to confirm reception of the request, and judges whether the reception confirmation has been received from the storage management program B  201  or not (S 304 ).  
         [0197]     When it is judged that the reception confirmation has been received, it means normal transition of processing to the storage management program B  201 , and the processing by the cooperation program is ended.  
         [0198]     When it is judged that the reception confirmation has not been received, the cooperation program notifies the storage management program A  101  which has made the request of the failure in obtaining the requested performance information (S 305 ), and terminates this processing.  
         [0199]     As has been described, the third embodiment is capable of lessening the burden of a storage management program in obtaining attribute of another storage management program.  
         [0200]     While the present invention has been described in detail and pictorially in the accompanying drawings, the present invention is not limited to such detail but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.