Patent Publication Number: US-7587466-B2

Title: Method and computer system for information notification

Description:
CROSS-REFERENCE TO PRIOR APPLICATION 
   This application relates to and claims priority from Japanese Patent Application No. 2005-338613, filed on Nov. 24, 2005 the entire disclosure of which is incorporated herein by reference. 
   BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a computer technology for notifying electronic information. 
   2. Description of the Related Art 
   A technology disclosed in Japanese patent Application Laid-Open No. 2005-115898, for example, is known in this field. According to this technology, the information processor generates a first data including a first instruction to be executed in a second storage device, and sends a request to write the first data to a first storage volume to a first write request section of a first storage device according to a first communication protocol. If the first data written in the first storage volume is an instruction to the second storage device, the first storage device sends a request to write the first data to a second storage volume to a second write request section of the second storage device according to a second communication protocol. The second storage device executes the first instruction which is set in the first data written in the second storage volume. 
   SUMMARY OF THE INVENTION 
   If a first computer and a second computer are communicably connected, for example, the first computer may notify information to the second computer on occasion. In this case, if the communication between the first computer and the second computer is cut off, information held by the first computer cannot be notified to the second computer. 
   With the foregoing in view, it is an object of the present invention to notify information held by the first computer to the second computer even if the first computer and the second computer are not communicably connected. 
   Other objects of the present invention shall be clarified in the description herein below. 
   The information notification method according to the first aspect of the present invention is as follows. 
   This method is a method for information notification to be implemented in a computer system wherein a first computer and a first storage system are communicably connected, the first storage system and a second storage system are communicably connected, the second storage system and a second computer are communicably connected, the first storage system comprises a first controller and a plurality of first storage devices, and the second storage system comprises a second controller and a plurality of second storage devices. The first computer sends information for the second computer (e.g. later mentioned catalog information) , which is information to be referred to so that the second computer can perform specific processing appropriately, to the first storage system. The first controller writes the information for the second computer received from the first computer to certain first storage device out of the plurality of first storage devices, and sends the information for the second computer to the second storage system. The second controller writes the information for the second computer received from the first storage system to a certain second storage device out of the plurality of second storage devices, and sends the information for the second computer to the second computer. And the second computer receives the information for the second computer from the second storage system, and executes the specific processing by referring to the received information for the second computer. 
   Each computer may be a server machine, for example, or may be another computer. 
   Each storage system can be a disk array device comprising a plurality of arrayed storage devices, for example. 
   According to a first aspect of this method for information notification, the certain first storage device is a first command device capable of storing a command for the first controller. The certain second storage device is a second command device capable of storing a command for the second controller. The first computer sends a command to the first controller. The first controller writes a command received from the first computer to the certain first command device, reads and processes a command stored in the first command device, and if the information for the second computer is received from the first computer, writes the received information for the second computer to the first command device, and sends the information for the second computer written in the first command device to the second controller. The second controller writes the information for the second computer received from the first controller to the second command device, and sends the information for the second computer from the second command device to the second computer. 
   According to a second aspect of this method for information notification, in the above mentioned first aspect, the second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs include first and second computer programs which can refer to the information for the second computer by being executed by the CPU, and a third computer program which receives the information for the second computer from the second command device by being executed by the CPU. Both of the first and second computer programs, by being executed by the CPU, receive the information for the second computer via the third computer program, and execute the specific processing using the received information for the second computer. 
   According to a third aspect of the method for information notification, in the above mentioned second aspect, (A) at least one of the first and second computer programs, by being executed by the CPU, requests the third computer program to acquire the information for the second computer, and (B) the third computer program, by being executed by the CPU, accesses the second command device according to the request, and the above (A) and (B) are repeated until at least one of the first and second computer programs acquires the information for the second computer. 
   According to a fourth aspect of the method for information notification, in the above mentioned second aspect, the first computer sends a second computer ID, which is an ID of a notification destination computer of the information for the second computer, to the first controller along with the information for the second computer. The first controller writes a set of the information for the second computer and the second computer ID to the first command device, and sends the set to the second controller. And the second controller receives the set from the first controller and writes it to the second command device, determines a second computer to be a notification destination of the information for the second computer in the set from the second computer ID included in the set written in the second command device, and sends the information for the second computer in the set written in the second command device to the determined second computer. 
   According to a fifth aspect of the method for information notification, in the fourth aspect, the third computer program, by being executed by the CPU, returns a corresponding response to the second controller if the information for the second computer is received from the second controller, and does not return this response to the second controller if not. And the second controller sends the information for the second computer again if this response is not received. 
   According to a sixth aspect of the method for information notification, the plurality of first storage devices include one or more primary data devices, which are primary storage devices for storing data to be referred to by the first computer. The plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device. The first computer writes the information for the second computer to a certain primary data device. The first controller sends a data group, including the information for the second computer in the certain primary data device, to the second controller. The second controller writes the data group received from the first controller to a certain secondary data device forming a pair with the certain primary data device. And the second computer acquires the information for the second computer from the certain secondary data device. 
   According to a seventh aspect of the method for information notification, in the above mentioned sixth aspect, the first computer converts the information for the second computer into an electronic file having a predetermined file name, and writes the electronic file to the certain primary data device. And the second computer acquires the information for the second computer, which is the electronic file, by searching the predetermined file name in the certain secondary data device. 
   According to an eighth aspect of the method for information notification, the information for the second computer is information for guaranteeing the consistency of the data in the first storage device to be referred to by the first computer. 
   According to a ninth aspect of the method for information notification, in the above mentioned eighth aspect, the plurality of first storage devices include one or more primary data devices, which are primary storage devices for storing data to be referred to by the first computer, and a first command device capable of storing a command for the first controller. The plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, and a second command device capable of storing a command for the second controller. The first command device is provided with a first management table for recording pair information to indicate which primary data device and which secondary data device form a pair. The second command device is provided with a second management table for recording pair information to indicate which primary data device and which secondary data device form a pair. The first computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the first computer include a first backup program for controlling backup of data, an access program for reading data from the primary data device and writing data to the primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device. The second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the second computer include a second backup program for controlling backup of data and a second copy control program for controlling data copy from the primary data device to the second data device. The first backup program, by being executed by the CPU, controls the access program so that the access program does not write data to a certain primary data device, prepares information for the second computer which includes information on the time when the control is performed, information on a pair of the certain primary data device and the certain secondary data device, and information on the access program, and sends an instruction to write the prepared information for the second computer to the first management table and to copy the data in the certain primary data device, to the first copy control program. The first copy control program, by being executed by the CPU, causes the first controller to write the prepared information for the second computer to the first management table, and to copy the data in the certain primary data device to the certain secondary data device. The first controller writes the information for the second computer from the first copy control program to the first management table, sends the information for the second computer written in the first management table to the second controller, and sends the data group in the certain primary data device to the second controller. The second controller writes the information for the second computer from the first controller to the second management table, and writes the data group from the first controller to the certain secondary data device. The second copy control program, by being executed by the CPU, receives the information for the second computer from the second management table, and transfers the received information for the second computer to the second backup program. And the second backup program, by being executed by the CPU, performs backup or recovery of the data group in the certain secondary data device using the information for the second computer from the second copy control program. 
   According to a tenth aspect of the method for information notification, in the above mentioned eighth aspect, the plurality of first storage devices include one or more primary data devices, which are primary storage devices for storing data to be referred to by the first computer. The plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device. The first computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the first computer include a first backup program for controlling backup of data, an access program for reading data from the primary data device and writing data to the primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device. The second computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the second computer include a second backup program for controlling backup of the data, and a second copy control program for controlling data copy from the primary data device to the secondary data device. The first backup program, by being executed by the CPU, controls the access program so that the access programs does not write data to the certain primary data device, prepares information for the second computer, which includes information on the time when the control is performed, information on a pair of the certain primary data device and the certain secondary data device, and information on the access program, converts the prepared information for the second computer into an electronic file having a predetermined file name, and sends an instruction to write the electronic file to the certain primary data device, and to copy the data in the certain primary data device, to the first copy control program. The first copy control program, by being executed by the CPU, causes the first controller to copy the data in the certain primary data device to the certain secondary data device. The first controller sends a data group including the electronic file in the certain primary data device to the second controller. The second controller writes the data group from the first controller to the certain secondary data device. And the second backup program, by being executed by the CPU, acquires the information for the second computer, which is the electronic file, from the certain secondary data device by searching the predetermined file name in the certain secondary data device, and performs backup or recovery of the data group in the certain secondary data device using the acquired information for the second computer. 
   Each processing may be executed by each predetermined means. Each means may be each unit. Each means or unit may be implemented by hardware (e.g. circuit), computer program or a combination thereof (e.g. one or more CPUs reading a plurality of computer programs). Each computer program can be read from a storage resource (e.g. memory) provided to the computer. The storage resource may be installed via such a recording medium as a CD-ROM, or downloaded via a communication network, such as the Internet. 
   According to the present invention, information held by a first computer can be notified to a second computer, even if the first computer and the second computer are not communicably connected. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a diagram depicting an overview of the physical configuration of a computer system according to a first embodiment of the present invention; 
       FIG. 2  is a diagram depicting an example of the logical configuration constructed in the computer system according to the first embodiment; 
       FIG. 3A  shows a configuration example of a first management table  47 ,  FIG. 3B  shows a configuration example of a second management table  147 , and  FIG. 3C  shows a configuration example of the command device management table stored in the memory  26  of a first storage system  21 ; 
       FIG. 4  is a flow chart depicting an example of processing until the update of the second management table  147  completes in the case when the catalog information is sent from a first server  1 ; 
       FIG. 5A  is a flow chart depicting an example of processing executed by a second storage control program  141 , and  FIG. 5B  is a flow chart depicting an example of processing executed by a second server  11  in a variant form of the first embodiment of the present invention; 
       FIG. 6  is a diagram depicting an example of the logical configuration constructed in the computer system according to the second embodiment of the present invention; 
       FIG. 7  is a flow chart depicting an example of processing executed by the first server  1  and the first storage system  21  in the second embodiment of the present invention; 
       FIG. 8  is a flow chart depicting an example of processing executed by the second server  11  in the second embodiment of the present invention; and 
       FIG. 9A  is a flow chart depicting an example of processing executed in a third embodiment of the present invention, and  FIG. 9B  is a flow chart depicting an example of processing executed in step S 74 . 
   

   DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Some embodiments of the present invention will now be described with reference to the drawings. In each of the following embodiments, it is assumed that the computer is a server. 
   Embodiment 1 
     FIG. 1  shows an overview of the physical configuration of the computer system according to the first embodiment of the present invention. 
   The first server  1  and the first storage system  21  are communicably connected via the first communication medium  12 A. The first storage system  21  and the second storage system  121  are communicably connected via the second communication medium  12 B. The second storage system  121  and the second server  11  are communicably connected via the third communication medium  12 C. And the second server  11  and the first server  1  are communicably connected via the fourth communication medium  12 D. Each communication medium  12 A- 12 D can be a leased line or a communication network, for example. The communication network can be the Internet, a LAN (Local Area Network) or a SAN (Storage Area Network), for example. The communication medium  12 A to  12 C may be one communication network or may be separate communication networks. At least one of the communication medium  12 A to  12 C can be a medium that can perform communication conforming to the Fiber Channel protocol, for example. The communication medium  12 D can be a medium that can perform communication conforming to TCP/IP, for example. 
   The first server  1  and the second server  11  can virtually have the same hardware configuration. So this hardware configuration example will be described using the first server  1  as an example. (In  FIG. 1 , in the first server  1  and the second server  11 , virtually the same composing elements are denoted by the same reference numbers increased by ten.) 
   The first server  1  comprises a storage resource (e.g. memory, hard disk drive)  5  for storing various computer programs, a CPU  3  for reading and executing a computer program from the storage resource  5 , a first I/F  9  to be a communication interface (hereafter I/F) of the first communication medium  12 A, and a fourth I/F  7  to be the I/F of the fourth communication medium  12 D. (The second server  11  may comprise the third I/F  19  to be the I/F of the third communication medium  12 C, instead of the first I/F  9 ). For each I/F, a host bus adapter or a LAN controller, for example, can be used. 
   The first storage system  21  and the second storage system  121  can virtually have the same hardware configuration. So this hardware configuration example will be described using the first storage system  21  as an example. (In  FIG. 1 , in the first storage system  21  and the second storage system  121 , virtually the same composing elements are denoted by the same reference numbers increased by one hundred.) 
   The first storage system  21  can be a RAID (Redundant Array of Independent Inexpensive Disks) system comprising a plurality of media drives  33 , for example. Each media drive  33  comprises a storage medium (e.g. such a disk as a hard disk and DVD) for storing data. The first storage system  21  can further comprise a first controller  22 , in addition to the plurality of media drives  33 . 
   The first controller  22  is a device for controlling operation of the first storage system  21 . The first controller  22  can comprise a first I/F  29  to be the I/F of the first communication medium  12 A, a second I/F  27  to be the I/F of the second communication medium  12 B, and a drive I/F  31  for controlling communication via each media drive  33 . (The second controller  122  can comprise a third I/F  129  to be the I/F of the third communication medium  12 C instead of the first I/F  29 .) The first controller  22  can also comprise a memory  26  and a CPU  23 . The number of memories  26  and CPUs  23  may be one or plural. The memory  26  can have a cache area for temporarily storing data to be exchanged between the media drive  33  and the first server  1 , and a control area for storing data and a computer program to control the first storage system  21 , for example. The CPU  23  can read and execute a computer program from the control area. 
   The above mentioned configuration of each controller  22  and  122  are examples, and other configurations may be used. For example, at least one of the controllers  22  and  122  may comprise a plurality of first control sections (e.g. control circuit boards) for controlling communication with an external device (e.g. computer or another storage system), a plurality of second control sections (e.g. control circuit boards) for controlling communication with a media drive  33 , a cache memory for the storing data to be exchanged between an external device and the media drive  33 , a control memory for storing data for controlling the first storage system  21 , each first control section, each second control section, and a connection section (e.g. such a switch as a crossbar switch) for connecting the cache memory and control memory. In this case, one of the first control section and the second control section, or both of them together can perform processing as a later mentioned controller. 
   The above is an example of a physical configuration of the computer system according to the first embodiment. In the first embodiment, even if the servers  1  and  11  cannot communicate via the fourth communication medium  12 D (or even if the fourth communication medium  12 D is not used), the information held by the first server  1  can be notified to the second server  11  via the first storage system  21  and the second storage system  121  by the following notification method. Now an example of the logical configuration to be constructed in the above mentioned computer system to implement the notification method will be described. 
     FIG. 2  shows an example of the logical configuration constructed in the computer system according to the first embodiment. 
   The first server  1  is a data base server, for example. The second server  11  is a backup server, for example. The storage resource  5  of the first server  1  and the storage resource  15  of the second server  11  store various computer programs. The computer programs to be stored in the storage resource  5  are, for example, such application programs as a data base management system (hereafter DBMS)  2 , first storage backup program  4 , and first copy control program  6 . The computer programs to be stored in the storage resource  15  are, for example, the second storage backup program  14  and second copy control program  16 . Processings which various computer programs can execute will be described later. It is the CPU that reads and executes various computer programs to perform specific processings, but to avoid redundant description, a simple expression, such as “computer program executes processing” will be used. 
   The memory  26  of the first storage system  21  stores the first storage control program  41 . In the same way, the memory  126  of the second storage system  121  stores the second storage control program  141 . Processings to be executed by these computer programs will also be described later. 
   In the physical storage areas of a plurality of media drives  33  of the first storage system  21 , a plurality of logical volumes, which are logical storage devices, are installed. At least one of the plurality of logical volumes may be installed in the memory  26 . The plurality of logical volumes include a data volume and a first command device  43 . The data volume is a logical volume where the data used by an application program of the first server  1  is stored (hereafter called data volume), and specifically this is a primary logical volume (hereafter PVOL)  45  to be a copy source of the remote copy, for example. The first command device  43  stores all of the plurality of commands received by the first storage system  21 , or a predetermined command (e.g. a command with a predetermined format different from a write request or read request to PVOL  45 ) out of these plurality of commands. The first command device  43  can have a first management table  47 . The first management table  47  will be described later. 
   The second storage system  121  can comprise a plurality of logical volumes, lust like the first storage system  21 . This plurality of logical volumes include a secondary logical volume (hereafter SVOL)m which is a kind of data volume, to be a copy destination of the remote copy, and a second command device  143  for storing all of the plurality of commands received by the second storage system  121  or a predetermined command out of these plurality of commands. The second command device  143  can have a second management table  147 . The second management table  147  will be described later. 
   In the first embodiment, the catalog information required for backing up (and/or restoring) data used by the DBMS  2  of the first server  1  is output from the first server  1 . The catalog information is written to the first management table  47  of the first command device  43 . The catalog information written in the first management table  47  is read from the first management table  47 . The catalog information which was read is sent from the first storage system  21  to the second storage system  121  via the second communication medium  12 B. The catalog information received by the second storage system  121  is written to the second management table  147  of the second command device  143 . The catalog information written in the second management table  147  is sent to the second server  11 . The CPU  13  of the second server  11  writes the received catalog information to the storage resource  15 , and executes backup or restore using the catalog information. 
   Now a configuration example of the first management table  47 , a configuration example of the second management table  147 , and a configuration example of the catalog information will be described. 
     FIG. 3A  shows a configuration example of the first management table  47 .  FIG. 3B  shows a configuration example of the second management table  147 . 
   The first management table  47  records information on a volume pair to indicate which logical volume of the first storage system  21  and which logical volume of which storage system form a pair. In the same way, the second management table  147  records information on a volume pair to indicate which logical volume of the second storage system  121  and which logical volume of which storage system form a pair. 
   Specifically, for example, each of the first management table  47  and the second management table  147  stores hardware information, DBMS information, storage backup program information, and notification destination server information for each data volume of the first or second storage system  21  or  121  having the table  47  or  147 . The information elements of the hardware information are, for example, the storage system identification number (L-Seq #), volume number (L-LDEV #), volume attribute (primary or secondary (P/S)), copy type (e.g. synchronous remote copy or asynchronous remote copy (FUNC)), identification number of another storage system where a pair partner logical volume exists (R-Seq #), the pair partner logical volume number (R-LDEV #), pair status (STATUS), and DBMS staticization time (TIME) . The information elements of DBMS information are, for example, the DBMS identifier (DBMS), AP instance name (INST), and AP data base name (DB) . An example of the information elements of the storage backup program information is the program identifier (PP) An example of the information elements of the notification destination server information is the ID of the server to be the notification destination of the catalog information, such as the World Wide Name (WWN) . The volume copy time may be recorded, although this is not shown in  FIG. 3A  and  FIG. 3B . The volume copy time may be at least one of the time when copy processing started, the time when copy processing ended, and the time length required for copy processing, for example. 
   The catalog information is information required for guaranteeing consistency of the data used for DBMS  2 . The catalog information includes, for example, the hardware information and DBMS information out of the information group recorded in the above mentioned tables  47  and  147 . 
   In the present embodiment, the catalog information sent from the first server  1  is sent to the second server  11  via the first command device  43  and the second command device  143 , but in this case the table for managing information on the command devices (hereafter command device management table) is recorded in the memory  26  and  126  of each storage system  21  and  121 . 
     FIG. 3C  shows a configuration example of the command device management table stored in the memory  26  of the first storage system  21 . (The configuration of the command device management table stored in the memory  126  of the second storage system  121  is virtually the same.) 
   In the command device management table  61 , the storage system identification number (L-Seq #) of the first storage system  21 , the volume number (L-LDEV #) of the first command device  43 , the identification number (R-Seq #) of the second storage system where the second command device  143 , which is a pair partner of the first command device  43 , exists, and the volume number (R-LDEV #) of the second command device  143  are recorded. 
   Now an example of the copy processing executed in the first embodiment will be described. 
   The first storage control program  41  controls copy from PVOL  45  to SVOL  145  as follows. Specifically the first storage control program  41  sets the pair status (STATUS) of PVOL  45  and SVOL  145  to copy status (COPY), synchronous status (PAIR) and asynchronous status (PSUS), for example. 
   “Copy status” is a status where the difference between the data in PVOL  45  and the data in SVOL  145  (hereafter difference data) has been copied to SVOL  145  based on the bit map for managing the difference between PVOL  45  and SVOL  145  (e.g. bit map comprised of each bit corresponding to each location in PVOL, hereafter called difference bit map, which is not illustrated here) in the stage where the volume pair reaches “synchronous status”. When the difference data becomes zero, the status of the volume pair automatically changes from “copy status” to “synchronous status”. 
   “Synchronous status” is a status where the data of PVOL  45  and that of SVOL  145  are synchronized. In this status, if the data of PVOL  45  is updated, the update (data newly written in PVOL  45 ) is immediately (e.g. virtually at the same time as the update of PVOL  45 ) written to SVOL  145 . 
   “Asynchronous status” is a status where the data of PVOL  45  and that of SVOL  145  are asynchronous, and an update of the data in PVOL  45  does not influence the data of SVOL  145 . (In other words, even if new data is written in PVOL  45 , that data is not written to SVOL  145 .) If new data is written in PVOL  45  in this status, the data is stored in a predetermined storage area by the first storage control program  41  as the difference data, and the bit map records that an update occurred at a location where the new data was written (e.g. bit corresponding to the location changes from 0 to 1). 
   In order to synchronize the data of PVOL  45  and that of SVOL  145 , the first storage control program  41  specifies the difference data which must be copied from PVOL  45  to SVOL  145  based on the difference bit map at the point when a predetermined instruction (e.g. snapshot acquisition instruction) from the first copy control program  6 , and changes the status of the volume pair to “copy status”. 
   The first storage control program  41  also executes copy of the specified difference data in bit map units, and updates the corresponding location on the difference bit map after data copy (e.g. at completion of copy of the difference data, corresponding bit is changed from 1 to 0). The first storage control program  41  can repeat this processing until the difference data becomes zero. At the point when the difference in bit maps becomes zero, the status of the volume pair automatically changes to “synchronous status”. 
   After copy of the difference data completes, the first storage control program  41  can change the status of the volume pair to “asynchronous status” in order to create a snapshot (that is, in order not to reflect the update of PVOL  45  to SVOL  145 ). 
   When a predetermined inquiry is received from the first copy control program  6 , the first storage control program  41  can report the pair status. By this series of processing, the first storage control program  41  can generate a snapshot of PVOL  45 , at the point when a predetermined instruction (e.g. snapshot acquisition instruction) is received, in SVOL  145 . 
   Now the flow of transmission of the catalog information from the first server  1  to the second server  11  when the above copy processing is performed will be described. 
     FIG. 4  shows an example of the processing flow to be performed up to the completion of the update of the second management table  147  when catalog information is sent from the first server  1 . 
   The first storage backup program  4  staticizes the DBMS  2  when a predetermined event is generated (step S 1 ). A “predetermined event” in this case is an event for acquiring a snapshot of PVOL  45 , for example, and specifically the input of a snapshot acquisition instruction to the first server  1 , or the detection of a predetermined time, for example. “Staticization of the DBMS  2 ” refers to the DBMS  2  not writing new data to PVOL  45 , for example. In staticized status, the DBMS  2  cannot write new data to PVOL  45 . In other words, an exchange of data between the DBMS  2  and PVOL  45  is performed via the first copy control program  6 ; staticizing DBMS  2  disables such an exchange. 
   Then the first storage backup program  4  generates catalog information, and writes it to the storage resource  5  (S 2 ). Here the first storage backup program  4  generates the hardware information including the time when DBMS  2  was staticized in step S 1 , and the DBMS information of the DBMS  2 . 
   Then the first storage backup program  4  performs the processing in step S 3 . In other words, the first storage backup program  4  sends the instruction of the volume copy to the first copy control program  6 . Also the first storage backup program  4  sends an instruction to write the catalog information generated in step S 2  to the first management table  47 , and the notification of the program identifier and the other server WWN to the first copy control program  6 . Here “volume copy instruction” includes L-Seq #, L-LDEV #, R-Seq # and R-LDEV #, for example. The program identifier can be the identifier of the first storage backup program  4 , for example. The other server WWN can be the WWN of the second server  11 . 
   Then step S 4  and step S 9  are performed. 
   In step S 4  the first copy control program  6  receives an instruction from the first storage backup program  4 , and responding to the instruction, sends a volume copy instruction to the first storage control program  41 . Specifically the first copy control program  6  writes the volume copy instruction to the command area (e.g. an area different from the storage area where the first management table  47  exists) of the first command device  43 , for example. The volume copy instruction includes L-Seq #, L-LDEV #, R-Seq # and R-LDEV #, for example. 
   In step S 4 , the first copy control program  6  writes the catalog information (specifically various information elements included therein) from the first storage backup program  4  and the program identifier and the other server WWN notified by the first storage backup program  4  in the open record or predetermined record of the first management table  47 . Specifically the first copy control program  6  can write a command to write the catalog information, the program identifier and the other server WWN to the first management table  47  (hereafter catalog write command) in the command area of the first command device  43 . In this case, when the first storage control program  41  reads the catalog write command from the command area of the first command device  43 , the first storage control program  41  writes the catalog information, program identifier and the other server WWN in the command to the first management table  47  according to the catalog write command. 
   In step S 5 , the first storage control program  41  can execute copy processing according to the volume copy instruction from the first copy control program  6 . Specifically the first storage control program  41  can judge the copy source PVOL  45  and the copy destination SVOL  145 , from L-Seq #, L-LDEV #, R-Seq # and R-LDEV # in the volume copy instruction (e.g. volume copy instruction acquired from the first command device  43 ), for example. And by performing the above mentioned copy processing, the first storage control program  41  generates a snapshot of PVOL  45  at the point when the volume copy instruction was received, in SVOL  145 . Specifically the first storage control program  41  sends a copy instruction, including the copy target data (e.g. above mentioned difference data), volume number of SVOL  145 , and write destination LBA (Logical Block Address) in SVOL  145 , to the second storage control program  141 , for example. The second storage control program  141  writes the copy target data to the SVOL  145  according to the copy instruction. 
   In step S 5 , the first storage control program  41  transfers the catalog information, program identifier and the other server WWN written in the record of the first management table  47  to the second storage control program  141 . This processing can be performed at the timing of the volume copy instruction from the first copy control program  6 , for example. The second storage control program  141  writes the transferred catalog information, program identifier and the other server WWN to a predetermined record (e.g. record corresponding to the transfer source record) or an open record of the second management table  147  (S 6 ). In step  5 , the first storage control program  41  specifies a second command device  143  corresponding to the first command device  43  from the command device management table  61 , and writes the catalog information transmission command to the second command device  143 . The catalog information transmission command instructs the second storage control program  141  to send the catalog information to the second server  11  having the other server WWN. The catalog information transmission command may be written to the first command device  43  by the first server  1 , and transferred from the first command device  43  to the second command device  143  by the first storage control program  41 . 
   The first storage control program  41  can periodically transfer the pair status (STATUS) to the second storage control program  141  until the above mentioned copy processing ends (S 7 ). The second storage control program  141  receives the pair status from the first storage control program  41 , and updates the pair status on the record where the catalog information, etc. were written in step S 6  to the received pair status (S 8 ). 
   In step S 9 , the following is executed. For example, the first storage backup program  4  periodically inquires the pair status to the first copy control program  6 . Responding to this, the first copy control program  6  inquires the pair status to the first storage control program  41 . Responding to the inquiry, the first storage control program  41  replies with the pair status at the point when the inquiry was received to the first copy control program  6 . Then the first copy control program  6  notifies the replied pair status to the first storage backup program  4 . 
   If a pair status to indicate copy completion is not acquired after a predetermined time elapses, or if a pair status to indicate a copy failure is acquired in step S 9  (NO in S 10 ), the first storage backup program  4  executes predetermined error processing (S 11 ), and cancels the staticization of the DBMS  2  (S 12 ). 
   If a pair status to indicate copy completion (e.g. synchronous status that transited from copy status) is acquired in step S 9  (YES in S 10 ), the first storage backup program  4  cancels the staticization of the DBMS  2  (S 13 ) The first storage backup program  4  records volume copy time (e.g. at least one of copy processing start time, copy processing end time and time length required for copy processing) in the catalog information written in the storage resource  5  (S 14 ) . Also the first storage backup program  4  instructs the first copy control program  6  to write the volume copy time to the first management table  47  (SIS) . According to this instruction, the first copy control program  6  writes the volume copy time in the record where the catalog information, etc. was written in step S 4  in the first management table  47 , and the first storage control program  41  transfers the volume copy time written in the first management table  47  to the second storage control program  141  (S 16 ). The second storage control program  141  receives the volume copy time, and writes the received volume copy time in the record where the catalog information, etc. was written in step S 6  in the second management table  147  (S 17 ) . The volume copy time can be indicated by the second server  11 , for example. 
     FIG. 5A  shows an example of the processing flow executed by the second storage control program  141 . 
   The processing shown in  FIG. 5A  can be started periodically. If a command is recorded in the command area of the second command device  143  (YES in S 30 ), the second storage control program  141  reads the command from the command area (S 31 ). If the read command is not the catalog information transmission command (NO is S 32 ), the second storage control program  141  executes processing according to the read command (S 33 ). If the read command is the catalog information transmission command (YES in S 32 ), the second storage control program  141  acquires the catalog information written in step S 8  from the second management table  147  according to the command (e.g. command in which the record where the catalog information, etc. is written is specified), and sends the acquired catalog information to the second server  11  having the other server WWN written in the record of the acquisition source from which the catalog information was acquired (S 34 ). In this case, if the response on the reception of the catalog information is received from the second copy control program  16  which receives the catalog information (YES in S 35 ), the second storage control program  141  ends the processing, but if this response is not received (NO in S 35 ), the second storage control program  141  can retry the transmission of the catalog information. 
   The above is the description on the first embodiment. The catalog information may be written to the second management table  147  by sending a write instruction from the first storage control program  41  to the second storage control program  141 , or by sending a read instruction from the second storage control program  141  to the first storage control program  41 . The catalog information sent from the second storage system  121  to the second server  11  is provided to the second storage backup program  14  via the second copy control program  16 . The second storage backup program  14  can execute backup or restore using the received catalog information. When backup is executed, the second storage backup program  14  reads data from the SVOL  145  which is specified based on the received catalog information, and writes the data to the storage resource  15  or a storage device communicably connected to the second server  11  (hereafter secondary storage device), which is not illustrated. When restore is executed, the second storage backup program  14  reads the data held as backup from the storage resource  15  or the above mentioned secondary storage device (e.g. a storage device having a magnetic tape), and writes the read data to the SVOL  145  which is specified based on the received catalog information. In this case, the second storage control program  141  writes the data in the SVOL  145  to PVOL  45  (specifically attributes of the logical volumes  145  and  45  are inverted so that  45  becomes SVOL and  145  becomes PVOL, and data is copied from PVOL  145  to SVOL  45 , for example). By this, the data can be restored in the logical volume  45 . 
   According to the above mentioned first embodiment, the catalog information sent from the first server  1  can be provided to the second server  11  via the first command device  43  and the second command device  143 . By this, the catalog information held by the first server  1  can be provided to the second server  11 , even if the first server  1  and the second server  11  are not communicably connected. 
   According to the first embodiment, the second copy control program  16  receives the catalog information and the catalog information is provided from the second copy control program  16  to the second storage backup program  14 . By this, if a different type of storage backup program  14 ′ is installed in the second server  11 , the second copy control program  16  can be a common interface for the second storage control program  141  of each storage backup program, as shown in the dotted line in  FIG. 2 , so a different type of storage backup program  14 ′ can receive the catalog information. 
   In the first embodiment, the second storage system  121  provides the catalog information written in the second management table  147  to the second server  11 , without receiving a request from the second server  11 , but the second server  11  may acquire the catalog information from the second management table  147  as a variant form. Now this variant form will be described. 
     FIG. 5B  shows an example of the processing flow executed by the second server  11  according to the variant form of the first embodiment of the present invention. 
   The second storage backup program  14  has a periodic monitoring function. The periodic monitoring function is a function to inquire the pair status to the second copy control program  16  periodically. 
   If a predetermined time (e.g. backup time defined in the schedule input by the user) comes when the periodic monitoring is performed, the second storage backup program  14  decreases the time interval to inquire the pair status, so as to continue periodic monitoring (S 21 ). Responding to the inquiry from the second storage backup program  14 , the second copy control program  16  inquires the pair status to the second storage control program  141 . Responding to this inquiry, the second storage control program  141  replies the pair status from the first storage control program  41  to the second copy control program  16 . The second copy control program  16  notifies the replied pair status to the second storage backup program  14 . 
   When the second storage backup program  14  does not acquire a pair status to indicate copy completion even if a certain time has elapsed since the above mentioned predetermined time, or the second storage backup program  14  acquired a pair status to indicate copy failure (NO in S 22 ), the second storage backup program  14  executes a predetermined error processing (S 25 ). If the pair status to indicate copy completion is acquired (YES in S 22 ), the second storage backup program  14  acquires catalog information from the target record of the second management table  147  (S 23 ), and performs backup or restore using the acquired catalog information (S 24 ). Here “target record” may be a predetermined record, or a record matching predetermined conditions found in the record groups in the second management table  147 . 
   In this variant form as well, effects the same as the first embodiment can be implemented. In this variant form, the other server WWN and the catalog information transmission command are unnecessary. 
   Embodiment 2 
   Now the second embodiment of the present invention will be described. Differences from the first embodiment will primarily be described, and description will be simplified or omitted for the common aspects with the first embodiment. 
     FIG. 6  shows an example of the logical configuration constructed in the computer system according to the second embodiment of the present invention. 
   In the second embodiment, the above mentioned command devices  43  and  143  are not installed in each storage system  21  and  121 . Therefore each management table  47  and  147  is not in each storage system  21  and  121 . 
   In the second embodiment, the first storage backup program  4  can write the catalog information to PVOL  45  along with the data. Therefore if data is copied from PVOL  45  to SVOL  145 , the catalog information is also copied to SVOL  145 . The second storage backup program  14  can acquire the catalog information when data is read from SVOL  145 . 
     FIG. 7  shows an example of the processing flow executed in the first server  1  and the first storage system  21  according to the second embodiment. 
   The first storage backup program  4  staticizes the DBMS  2 , just like steps S 1  and S 2  in the first embodiment, and generates the catalog information (S 51 , S 52 ). 
   The first storage backup program  4  converts the generated catalog information into a file and writes it to PVOL  45 , and sends the volume copy instruction to the first copy control program  6  (S 53 ). Here the catalog information is an electronic file, and the file name thereof is a predetermined file name. 
   The first copy control program  6  sends the volume copy instruction to the first storage control program  41  (S 54 ). The first storage control program  41  performs copy processing, just like step S 5  (S 55 ). 
   After S 53 , just like step S 9 , the pair status is periodically acquired (S 56 ). If a pair status to indicate copy completion is acquired (YES in S 57 ), the first storage backup program  4  cancels the staticization of the DBMS  2  (S 59 ). In a case which is the same as the case of NO in step S 10  (NO in S 57 ), on the other hand, the first storage backup program  4  executes a predetermined error processing (S 58 ), then cancels the staticization of the DBMS  2  (S 59 ). 
   In the above flow, the first storage control program  41  periodically notifies the pair status to the second storage control program  141 . 
     FIG. 8  shows an example of the processing flow executed by the second server  11  according to the second embodiment of the present invention. 
   The second storage backup program  14  performs processing the same as step S 21  (S 61 ). If a pair status to indicate copy completion is not acquired after a certain time has elapsed since the above mentioned predetermined time, or if a pair status to indicate copy failure is acquired (NO in S 62 ), then the second storage backup program  14  executes a predetermined error processing (S 65 ). 
   If the second storage backup program  14  acquired the pair status to indicate copy completion (YES in S 62 ), on the other hand, the second storage backup program  14  searches and reads the catalog information from SVOL  145  (S 63 ), and performs backup or restore using the read catalog information (S 64 ). Here a predetermined file name has been set in the catalog information by the above mentioned processing, and the second storage backup program  14  can find the catalog information by searching the predetermined file name. 
   According to the second embodiment of the present invention, just like the first embodiment, the catalog information sent from the first server  1  can be provided to the second server  11  via the first command device  43  and second command device  143 . By this, the catalog information held by the first server  1  can be provided to the second server  11 , even if the first server  1  and second server  11  are not communicably connected. 
   Also according to the second embodiment, the command device is unnecessary. 
   Embodiment 3 
     FIG. 9A  shows an example of the processing flow executed according to the third embodiment of the present invention. 
   In the third embodiment, the first storage backup program  4  selectively executes a first mode for sending the catalog information to the second server  11  via the fourth communication medium  12 D, and a second mode for sending the catalog information to the second server  11  via the first and second storage systems  21  and  121 . 
   The first storage backup program  4  periodically monitors the communication status with the second server  11  (S 71 ). 
   The first storage backup program  4  keeps the mode in current status if the communication status is virtually the same as the previous monitoring result (S 73 ). For example, if the current mode is the first mode, the first mode continues, and if the current mode is the second mode, the second mode continues. If the second mode continues, the first storage backup program  4  may perform the processing in  FIG. 9B . 
   If the communication worsens (e.g. the transfer speed of the fourth communication medium  12 D becomes a predetermined value or less, or it was detected that connection with the second server  11  was cut off), and the current mode is the first mode, then the first storage backup program  4  can switch the first mode to the second mode (S 74 ). In other words, the first storage backup program  4  sets the mode such that the catalog information is sent to the first storage system  21 , and the catalog information is not sent via the fourth communication medium  12 D. 
   If the communication status improves (e.g. the transfer speed of the fourth communication medium  12 D became faster than a predetermined value, or it was detected that the connection with the second server  11  recovered), and the current mode is the second mode, the first storage backup program  4  can switch the second mode to the first mode (S 75 ). In other words, the first storage backup program  4  sets the mode such that the catalog information is sent via the fourth communication medium  12 D, and the catalog information is not sent to the first storage system  21 . 
     FIG. 9B  shows an example of the specific flow of the processing executed in step S 74 . 
   If matched with a predetermined condition (YES in S 74 - 1 ), the first storage backup program  4  writes the catalog information to the first command device  43  via the first copy control program  6  (S 74 - 2 ), and if not matched with a predetermined condition and matched with another condition (NO in S 74 - 1 ), the first storage backup program  4  writes the catalog information to PVOL  45  (S 74 - 3 ). For the predetermined condition, a condition where the open capacity of PVOL  45  is a predetermined value or less, for example, may be used. For another condition, a condition where the open capacity of PVOL  45  is more than a predetermined value, for example, may be used. 
   According to the third embodiment, the first storage backup program  4  can select either sending the catalog information via the fourth communication medium  12 D, or sending the catalog information via the first storage system  21 . The first storage backup program  4  can select either sending the catalog information via the first command device  43  or sending the catalog information via the PVOL  45 . 
   Some preferred embodiments of the present invention were described above, but these are example to describe the present invention, and these shall not be intended to limit the scope of the present invention only to these embodiments. The present invention can be embodied in various other ways. For example, each of the above embodiments can be applied not only to catalog information, but also to notifying other kinds of information.