WO2011111131A1 - コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ - Google Patents

コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ Download PDF

Info

Publication number
WO2011111131A1
WO2011111131A1 PCT/JP2010/006095 JP2010006095W WO2011111131A1 WO 2011111131 A1 WO2011111131 A1 WO 2011111131A1 JP 2010006095 W JP2010006095 W JP 2010006095W WO 2011111131 A1 WO2011111131 A1 WO 2011111131A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
computer
transmission
information
storage device
Prior art date
Application number
PCT/JP2010/006095
Other languages
English (en)
French (fr)
Inventor
平 竹本
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to CN201080065267.9A priority Critical patent/CN102792287B/zh
Priority to EP20100847364 priority patent/EP2546753B1/en
Priority to JP2012504164A priority patent/JP5459389B2/ja
Priority to US13/578,889 priority patent/US9128903B2/en
Publication of WO2011111131A1 publication Critical patent/WO2011111131A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Definitions

  • the present invention relates to data backup technology in a computer system that performs replication, particularly data replication in an asynchronous manner.
  • the computer system disclosed in Patent Document 1 includes a failure prediction unit that predicts the occurrence of a failure in the computer, and all services running on the computer where the failure occurrence is predicted by the failure prediction unit At the same time, the service is re-executed on another computer. Then, after all services are re-executed on another computer, the computer on which the failure occurrence is predicted by the failure prediction means is stopped.
  • a service running on a computer that is predicted to fail before the failure occurs is transferred to another computer, and the failure is predicted. It is said that the computer can be stopped normally.
  • the business computer (active computer) is provided with an abnormality detection sensor for detecting a sign that the computer will be destroyed, and the abnormality detection sensor indicates the sign described above.
  • the backup computer receives the electronic information from the business computer, the backup computer stores it in a recording medium provided in the backup computer.
  • the active device includes an active TM (Transaction Manager) that processes a transaction and an active DBMS (Data Base Management System) that reflects update data generated by the transaction.
  • the standby system apparatus includes a standby system TM in which update data is notified from the active system TM and a standby system DBMS that makes the data contents stored in the active system DBMS the same.
  • the active TM notifies the active DBMS of the update data generated by the execution of the transaction and also notifies the standby TM via synchronous communication.
  • the active DBMS receives the update data notified from the active TM itself. The data is reflected in the database to be managed, and update data is notified to the standby DBMS by asynchronous communication.
  • the backup TM stores the notified update data in the difference file, reads the update data from the difference file at a predetermined opportunity, and notifies the backup DBMS, and the backup DBMS is acquired from the active DBMS or the backup TM.
  • the updated data is reflected in the database managed by itself.
  • update data is collected by one computer and transmitted together with control information of the update data, and the update data is assembled based on the control information by the other computer, and the update data is returned to the transaction unit and the other database. If a failure occurs during the process of collecting update data in one computer when using the database identification method to be reflected in the database, the database in the one computer and the database in the other computer cannot be identified. It is said that the reliability of database identification can be improved.
  • Patent Document 1 the occurrence of a failure is known by the abnormality detection sensor and the failure prediction means provided in the system.
  • Patent Document 4 there is also known a method of knowing the occurrence of a failure by receiving disaster notification information for notifying the occurrence of a disaster.
  • data replication for avoiding failures.
  • data replication is required to back up new data generated by execution of an application in the active computer to the standby computer.
  • Synchronous replication means that the active computer sends the data to the standby computer and stores it in the standby computer in synchronization with the generation of the data to be updated.
  • Asynchronous replication means that the active computer does not return control to the writing application after sending the data to the standby computer in synchronization with the generation of the update target data.
  • Means that the data to be updated is transmitted to the standby computer after returning control to the application that performed the writing before transmitting to the standby computer.
  • the generated update target data may be temporarily stored, and the data stored at a predetermined opportunity may be collectively transmitted to the standby computer.
  • a system that uses asynchronous replication for data replication has the advantage that communication latency for data replication in the active computer can be suppressed.
  • communication latency for data replication in the active computer can be suppressed.
  • data that has not been transmitted from the active computer to the standby computer is lost, and when the standby computer is later used as the active computer for business operation, the lost data is recovered. There is a problem that it takes time to resume business.
  • Patent Literature 1 terminates all services executed on a computer in which a failure is predicted, and the occurrence of a failure is predicted after these services are re-executed on another computer. Stop the calculator.
  • Patent Document 1 there is no specific disclosure about data replication. However, assuming that asynchronous replication is used for data replication, all services executed on the computer on which a failure has been predicted are re-executed on another computer. In order to execute, it is necessary to transmit data that has not yet been transmitted to other computers until the time when the occurrence of a failure is predicted.
  • Patent Document 2 transmits data in the business computer to the backup computer when an abnormality detection sensor detects a sign that the business computer will be destroyed. This technique is the ultimate asynchronous replication, if anything. This method is also described when the method of Patent Document 1 is described when a failure occurs between the detection of a sign of destruction of the business computer and the completion of transmission of data to the backup computer. Have similar problems.
  • Patent Document 3 substantially eliminates the above-described problems of asynchronous replication by using synchronous replication and asynchronous replication in combination with data replication. This has the problem of limiting the benefits of asynchronous replication.
  • the present invention has been made in view of the above circumstances, and provides a replication technology that makes use of the advantages of asynchronous replication for data replication and can guarantee the reliability of data backed up to a backup computer when a failure occurs.
  • One aspect of the present invention is an active computer on which a business application is executed, and the active computer performs asynchronous replication of data generated by the execution of the business application with a standby computer. ing.
  • the present active computer includes a storage device for the business application to write data, a transmission queue, a reception unit, a control unit, and a transmission unit.
  • the transmission queue queues data that has not been transmitted to the standby computer among data written to the storage device by the business application.
  • the receiving unit receives a notice of advance notice for notifying the occurrence of a failure.
  • the control unit stops the execution of the business application upon receiving the notice of notice from the receiving unit.
  • the transmission unit When the notification is received by the reception unit, the transmission unit receives transmission start information indicating the start of data transmission for avoiding a failure, data queued in the transmission queue, and transmission completion information indicating the completion of data transmission. Send to the standby computer.
  • Another aspect of the present invention is a standby computer that performs asynchronous replication of data generated by execution of the business application on the active computer with the active computer on which the business application is executed.
  • the standby computer includes a storage device and a backup unit that writes data from the active computer to the storage device in association with asynchronous replication.
  • the backup unit When receiving the transmission start information from the active computer, the backup unit writes the data received after the transmission start information to the storage device and indicates that the data received before the transmission start information is reliable data First reliability assurance information is generated and held.
  • the transmission start information is information indicating the start of “data transmission” performed for avoiding a failure when the active computer receives a notification of notification of occurrence of a failure.
  • the “data transmission” is a backup system. This means sending data that has not yet been sent to the computer.
  • the backup unit when the backup computer receives the transmission completion information transmitted after the completion of the “data transmission”, the backup unit indicates that the data received before the transmission completion information is reliable data. Generate and maintain reliability assurance information.
  • a method, apparatus, or system in which the active computer or the standby computer of the above aspect is replaced and expressed, a program that causes the computer to execute the operation of the active computer or the standby computer, and a computer reading that records the program A possible recording medium and a computer system including the active computer and the standby computer are also effective as an aspect of the present invention.
  • FIG. 5 is a diagram for explaining a relationship between a writing time of write data queued in a transmission queue of the computer shown in FIG. 4 and temporary holding time information. It is a figure for demonstrating the additional time information queued to a transmission queue with write data. It is a figure for demonstrating the meaning of the synchronization start packet etc. in the computer system shown in FIG.
  • FIG. 4 is a diagram for explaining switching after a failure occurs in the computer system shown in FIG. 3.
  • non-transitory computer-readable media examples include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROM (Read Only Memory) CD-R, CD -R / W, including semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)).
  • the program may be supplied to the computer by various types of temporary computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the computer system 100 includes an active computer 110 and a standby computer 130 that are communicably connected.
  • the active computer 110 is a computer on which a business application is executed, and asynchronous replication of data generated by the execution of the business application on the active computer 110 is performed with the standby computer 130.
  • asynchronous replication of data transmits the data to the standby computer as needed as the data is generated, and transmits the data to the standby computer instead of returning control to the business application after the transmission is completed.
  • Processing is asynchronously returning write control to the business application and sending data to the backup computer for backup.
  • Generated data is temporarily stored, and the data stored at a predetermined predetermined trigger is sent to the standby computer at predetermined time intervals or when the processing load on the active computer is low. May be.
  • the backup computer may write the data to the storage device provided in the standby computer, or store the data in a difference file and collect the differences at a predetermined opportunity. You may make it read from a file and write in a memory
  • storage device may be used to write the data to the standby computer.
  • the data replication performed between the active computer 110 and the standby computer 130 may be any conventionally known asynchronous replication method, and therefore the technique according to the present invention will be described here. Except for the points required above, details of asynchronous replication and functional blocks necessary for this are omitted.
  • the computer system 100 includes a storage device 112, an application execution unit 114, a main processing unit 115, a transmission unit 116, a transmission queue 118, a reception unit 120, and a control unit 122.
  • the application execution unit 114 performs control such as execution and stop of business applications.
  • the main processing unit 115 writes the write data generated by the execution of the business application in the storage device 112 and accumulates the same data as the data written in the storage device 112 in the transmission queue 118.
  • the storage device 112 is a recording medium such as a hard disk, and stores data written by the main processing unit 115.
  • the transmission unit 116 transmits the same data as the data written to the storage device 112 by the main processing unit 115 to the standby computer 130, and data transmission by the transmission unit 116 is transmitted to the storage device 112 by the main processing unit 115.
  • the transmission unit 116 includes a transmission queue 118, accumulates the same data as the data written in the storage device 112 by the main processing unit 115 in the transmission queue 118, and sequentially stores the data in the standby computer 130 if transmission is possible. Send. Instead of sequentially transmitting data when transmission is possible, the data may be transmitted to the standby computer 130 collectively at a predetermined trigger.
  • the receiving unit 120 is for receiving a notice of notice for notifying the occurrence of a failure. When the notice of notice is received, the receiving unit 120 notifies the control unit 122 accordingly.
  • the “notice notice” is a notice for the occurrence of a failure in the active computer 110, and may be any information for notifying the occurrence of a failure in the active computer 110.
  • a failure is detected from information from a failure notification organization that notifies a disaster such as an earthquake at the installation location of the active computer 110 or a result of monitoring the state of the memory, CPU, etc. of the active computer 110 provided in the computer system 100. It may be information from a means for notifying the occurrence.
  • the control unit 122 performs control for failure avoidance on the application execution unit 114 and the main processing unit 115 when the reception unit 120 receives the advance notice.
  • control unit 122 causes the application execution unit 114 to stop the execution of the business application when the reception unit 120 receives the notice of notice.
  • main processing unit 115 is controlled so that transmission to the standby computer 130 is performed in the order of transmission start information, data transmission, and transmission completion information.
  • Transmission start information and “transmission completion information” are information indicating the start and completion of the data transmission, respectively.
  • the standby computer 130 includes a storage device 132 and a backup unit 140.
  • the storage device 132 is a recording medium such as a hard disk, and stores data written by the backup unit 140.
  • the backup unit 140 writes the data from the active computer 110 to the storage device 132 by asynchronous replication of data, and receives the data received after the transmission start information when the transmission start information is received from the active computer 110.
  • the first reliability assurance information is written and stored in the storage device 132, and the data received before the transmission start information is reliable data. Further, when the transmission completion information is received from the active computer 110, the second reliability assurance information is generated and held, the data received before the transmission completion information being reliable data.
  • the transmission start information and the transmission completion information can be in any format as long as the start and completion of the “data transmission” from the active computer 110 for avoiding the failure can be notified to the standby computer 130. Also good.
  • the transmission start information may be a synchronization start packet indicating the start of the “data transmission”, the time information of the first queue of data accumulated in the transmission queue of the “data transmission”, or the like. May be a synchronization completion packet indicating completion of the “data transmission” or time information of the last queue of data accumulated in the transmission queue of the “data transmission”.
  • the first reliability assurance information may be in any format as long as it can indicate that the data received before the transmission start information is reliable data. For example, it may be information indicating data received last before the transmission start information.
  • Asynchronous replication is performed, and data waiting to be transmitted to the standby computer 130 is accumulated in the transmission queue 118 of the active computer 110.
  • the data stored in the transmission queue 118 is sequentially transmitted to the standby computer 130 if transmission is possible.
  • “data transmission” for transmitting the data stored in the transmission queue 118 to the standby computer 130 is started to avoid a failure. Transmission start information and transmission completion information are transmitted at the start and completion of the transmission, respectively.
  • the standby computer 130 holds the first reliability assurance information indicating that the data received before the transmission start information is reliable data, and the transmission is completed.
  • second reliability assurance information indicating that the received data is reliable data is held before the transmission completion information.
  • transmission start information indicates that “the backup computer 130 has received”
  • X indicates that “the backup computer 130 has not received”.
  • “ ⁇ ” indicates “retained in the standby computer 130
  • “ ⁇ ” indicates“ retained in the standby computer 130. Not ".
  • Case 1 As shown in FIG. 2, when the standby computer 130 has not received the transmission start information from the active computer 110 (of course, it has not received the transmission completion information), the standby computer 130 The reliability assurance information and the second reliability assurance information are not held. This case is a case where the active computer 110 has not received a notice of notice of the occurrence of a failure, such as normal asynchronous replication.
  • the standby computer 130 when the standby computer 130 is used as the active computer later to execute a business application, the reliability of the data backed up in the storage device 132 of the standby computer 130 can be confirmed, and the business application is executed from where. Can be dealt with.
  • the data received before the transmission start information is reliable data
  • the business application can be executed from the point of obtaining the last received data among the reliable data.
  • the data received before the transmission completion information is reliable data
  • the business application can be executed from the last received data of these data.
  • asynchronous replication of data is performed between the active computer 110 and the standby computer 130 until the active computer 110 receives an advance notice, and the active computer 110 notifies the advance notice.
  • data synchronization is performed between the active computer 110 and the standby computer 130, and information indicating whether the data synchronization is complete, that is, how far the data is reliable. (First reliability assurance information, second reliability assurance information) is generated and held in the standby computer 130. Therefore, it is possible to make use of the advantages of asynchronous replication for data replication and to guarantee the reliability of data backed up to a backup computer when a failure occurs.
  • the active computer 110 can suppress the amount of data to be transmitted to the receiving unit 120 by the data synchronization by stopping the business application being executed, and the data synchronization is completely performed. Can increase the probability of being caught.
  • FIG. 3 shows a computer system 200 according to an embodiment of the present invention.
  • the computer system 200 includes a plurality of computers (only two of the computer 210 and the computer 220 are illustrated in the figure) and a failure notice service device 240. These computers and the failure notice service device 240 are connected via a network 230 such as a LAN or a WAN.
  • a network 230 such as a LAN or a WAN.
  • the plurality of computers provided in the computer system 200 of the present embodiment have the same configuration.
  • an operating system hereinafter referred to as an OS
  • replication software 216 and a business application (hereinafter referred to as AP) AP 218 are installed in a computer 210, and these software read and write data first.
  • Storage device 212 and a second storage device 213 different from the first storage device 212.
  • an OS 224, replication software 226, and AP 228 are installed in the computer 220.
  • the first storage device 222 from which these software read and write data is different from the first storage device 222.
  • a second storage device 223 is included.
  • the AP 218 mounted on the computer 210 and the AP 228 mounted on the computer 220 are the same business application, and the AP 218 surrounded by the solid line frame is executed, and the AP 228 surrounded by the dotted line frame Has been stopped. That is, in this case, the computer 210 is an active computer, and the computer 220 is a standby computer. Further, data generated by the execution of AP 218 is transmitted to the computer 220 by asynchronous replication and backed up.
  • the failure notice service device 240 transmits a notice of notice for notifying of the occurrence of the trouble to the computer via the network 230.
  • the failure notice service device 240 notifies a notice of a natural disaster such as an earthquake that may cause a failure of the computer, and is provided, for example, in an organization that predicts a disaster.
  • the active computer and the standby computer normally perform asynchronous data replication.
  • This asynchronous replication is performed by replication software installed in the active computer and the standby computer.
  • the active computer receives the notice of notice, it stops the running business application and starts data synchronization, and the backup computer backs up the data transmitted from the active computer during data synchronization to its own storage device. To do.
  • FIG. 4 shows a specific configuration of each computer in the computer system 200.
  • FIG. 4 only the portion related to the “data synchronization” described above is shown, and illustration and description of the other portions are omitted.
  • the computer 210 since each computer has the same configuration, the computer 210 will be described as a representative.
  • the computer 210 includes a first storage device 212, a second storage device 213, a transmission / reception unit 300, a control unit 302, a main processing unit 310, an I / O request queue 312, a transmission queue 314, decompression.
  • the computer 210 can be either an active computer or a standby computer.
  • solid lines between functional blocks indicate the flow of data and signals when the computer 210 is an active computer
  • dotted lines indicate the flow of data and signals when the computer 210 is a standby computer. .
  • the main processing unit 310 has a function for executing a business application and a backup function.
  • a function for executing a business application is executed, and when the computer 210 is a standby computer, a backup function is executed. That is, the main processing unit 310 can operate as an application execution unit when the computer 210 is an active computer, and the main processing unit 310 can operate as a backup unit when the computer 210 is a standby computer.
  • the main processing unit 310 queues write data generated by the execution of the business application in the I / O request queue 312 and the transmission queue 314.
  • temporary holding time information described later is queued together with the write data as additional time information, and the temporary holding time information is updated to the current writing occurrence time (hereinafter referred to as writing time). To do.
  • the relationship between the data writing time and the temporary holding time information will be described. As an example, it is assumed that writing of data 0, data 1, data 2, and data 3 occurs in time order, and the writing times of these data are time 0, time 1, time 2, and time 3, respectively.
  • the main processing unit 310 holds the latest writing occurrence time as temporary holding time information. As shown in FIG. 5, writing of data 0 occurs at time 0, and time 0 is stored as temporary holding time information.
  • the temporary holding time information is updated to time 2 when data 2 is written and updated to time 3 when data 3 is written.
  • the main processing unit 115 queues the write data to the transmission queue 314.
  • the main processing unit 115 queues the temporary holding time information before the update in association with the data. This will be described with reference to FIG.
  • the temporary holding time information being held immediately before the data 1 write time (time 1) is the data 0 write time (time 0). Therefore, at time 1, data 1 is queued in the transmission queue 314 together with additional time information at time 0. Accordingly, the temporary holding time information is updated to time 1.
  • the temporary holding time information is time 1 immediately before the data 2 write time (time 2). Therefore, at time 2, data 2 is queued in the transmission queue 314 together with the additional time information at time 1. The Accordingly, the temporary holding time information is updated at time 2.
  • the temporary holding time information is time 2 immediately before the data 3 write time (time 3), at time 3, the data 3 is queued in the transmission queue 314 together with the additional time information at time 2. . Accordingly, the temporary holding time information is updated at time 3.
  • the transmission queue 314 queues the write data and the write time of the write data immediately before the write data in association with each other.
  • the I / O request queue 312 sequentially queues the queued data to the first storage device 212.
  • the first storage device 212 stores data from the I / O request queue 312.
  • the transmission queue 314 sequentially queues the queued write data to the compression unit 318.
  • the compression unit 318 compresses the data from the transmission queue 314 and outputs the compressed data to the transmission / reception unit 300.
  • the transmission / reception unit 300 sequentially outputs data from the compression unit 318 (hereinafter referred to as compressed data) to the standby computer (in this case, the computer 220) via the network 230.
  • the main processing unit 310 stores the data in the difference storage unit 320 without queuing the data to the transmission queue 314. Thereafter, when communication with the standby computer becomes possible, the data stored in the difference storage unit 320 is queued in the transmission queue 314.
  • the notice of notice from the trouble notice service device 240 is transmitted via the network 230. That is, the transmission / reception unit 300 of the computer 210 also serves as a reception unit that receives the notice of advance notice.
  • the transmission / reception unit 300 When the transmission / reception unit 300 receives the advance notice, the transmission / reception unit 300 notifies the control unit 302 to that effect.
  • the control unit 302 When the control unit 302 is notified from the control unit 302 that the notification of the advance notice is received, the control unit 302 outputs a data synchronization start command to the main processing unit 310, and the business application is asynchronous with the data synchronization start command.
  • the stop command is output.
  • the main processing unit 310 stops the business application upon receiving the business application stop command. This eliminates the generation of new data by the business application.
  • the main processing unit 310 When the main processing unit 310 receives the data synchronization start command, the main processing unit 310 operates as follows. First, the main processing unit 310 interrupts transmission data stored in the transmission queue 314 and causes the transmission / reception unit 300 to transmit a “synchronization start packet” indicating the start of data synchronization.
  • This synchronization start packet includes the additional time information of the head queue of the data accumulated in the transmission queue 314. This additional time information is the additional time information of the write data queued at the head of the transmission queue 314, that is, the write time of the write data immediately before the write data.
  • the transmission queue 314, the compression unit 318, and the transmission / reception unit 300 are controlled so that the write data accumulated in the transmission queue 314 is sequentially transmitted after the “synchronization start packet”.
  • the main processing unit 310 causes the transmission / reception unit 300 to transmit a “synchronization completion packet” indicating the completion of data synchronization.
  • This synchronization completion packet is the current temporary holding time information, that is, the write time of the last queue of data accumulated in the transmission queue 314.
  • the computer 210 when the computer 210 is an active computer and receives a notification of a notice of occurrence of a failure (a disaster notice in this embodiment), the business application being executed is stopped in the computer 210. At the same time, the computer 210 transmits the synchronization start packet, the compressed data of the data queued in the transmission queue 314, and the synchronization completion packet in this order.
  • the transmission / reception unit 300 receives data from the active computer along with asynchronous data replication. This data is compressed data of data generated during execution on the active computer.
  • the main processing unit 310 causes the decompression unit 316 to decompress the compressed data received by the transmission / reception unit 300.
  • the decompression unit 316 outputs the decompressed data to the I / O request queue 312.
  • the I / O request queue 312 sequentially queues the data from the decompression unit 316 to the first storage device 212.
  • the first storage device 212 stores data from the I / O request queue 312.
  • the above processing is processing on the standby computer side when asynchronous data replication is executed, and detailed description thereof is omitted here.
  • the main processing unit 310 When the transmission / reception unit 300 receives the “synchronization start packet”, the main processing unit 310 outputs the additional time information included in the synchronization start packet to the I / O request queue 312 as the first reliability assurance information. In addition, the I / O request queue 312 is controlled so that this additional time information is queued to the second storage device 213.
  • the main processing unit 310 sequentially decompresses each data received by the transmission / reception unit 300 after the “synchronization start packet” to the decompression unit 316 and outputs the decompressed data to the I / O request queue 312. For these data, the main processing unit 310 controls the I / O request queue 312 to queue out to the first storage device 212.
  • the main processing unit 310 When the transmission / reception unit 300 receives the “synchronization completion packet”, the main processing unit 310 outputs the temporary holding time information included in the synchronization completion packet to the I / O request queue 312 as the second reliability assurance information. To do. In addition, the I / O request queue 312 is controlled so that the temporary holding time information is queued to the second storage device 213.
  • FIG. 8 is a flowchart showing the flow of processing in the active computer in the computer system 200.
  • the active computer executes the business application until the notice of notice is received, and performs asynchronous replication of data generated by the execution of the business application with the standby computer (S100: No). , S102).
  • the asynchronous replication of data in step S102 returns the write control to the business application asynchronously with the process of transmitting the data to the standby computer, compresses the data accumulated in the transmission queue, and transfers it to the standby computer. It is a process to transmit.
  • control unit When the notice notice is received in the active computer, the control unit issues a business application stop command and a data synchronization start command (S110, S120).
  • the main processing unit of the active computer stops the business application being executed (S112).
  • the transmission / reception unit transmits the synchronization start packet including the additional time information of the head queue of the data stored in the transmission queue to the standby computer. After that, the data accumulated in the transmission queue is compressed and transmitted until the transmission queue becomes empty (S124, S126: No, S124 ⁇ ).
  • the main processing unit causes the transmission unit to transmit a synchronization completion packet including temporary holding time information to the standby computer.
  • FIG. 9 is a flowchart showing the flow of processing in the standby computer in the computer system 200.
  • the backup computer backs up data (compressed data) from the active computer until it receives a synchronization start packet from the active computer (S150: No, S152).
  • the backup in step S152 is decompression of compressed data from the active computer, queuing to the I / O request queue, and queuing from the I / O request queue to the first storage device.
  • the main processing unit of the standby computer uses the additional time information included in the synchronization start packet as the first reliability assurance information to the second storage device via the I / O request queue.
  • the compressed data from the active computer is backed up and written to the first storage device until a synchronization completion packet is received (S150: Yes, S160, S162: No, S164-).
  • the main processing unit of the standby computer uses the temporary storage time information included in the synchronization completion packet as second reliability assurance information via the I / O request queue to the second storage device. (S162: Yes, S170).
  • FIG. 10 is an example showing switching of computers that execute business applications manually or automatically after a failure occurs.
  • FIG. 10 shows an example in which HA cluster software is installed together with replication software on each computer.
  • the HA cluster software installed on each computer monitors the state of each other's computer and executes business applications exclusively.
  • the replication software performs asynchronous data replication between a computer on which a business application is executed, a computer on which the business application is installed, and a computer on which the business application is not executed.
  • the HA cluster software also switches the computer that executes the business application when a failure occurs in the computer on which the business application is executed. This switching can be selected automatically or manually depending on the setting.
  • this example is an example of switching when the computer 210 is an active computer and the computer 220 is a standby computer.
  • the active computer 210 is stopped.
  • the HA cluster software 227 in the computer 220 causes the AP 228 to be executed.
  • the computer 220 that was the standby system is switched to the active computer.
  • the HA cluster software 227 executes the AP 228, the additional time information included in the synchronization start packet and the temporary holding time information included in the synchronization completion packet are recorded in the second storage device 223 of the computer 220.
  • the execution start point of the AP 228 is determined based on the confirmation result.
  • the HA cluster software 227 is recorded in the first storage device 222.
  • the data transmitted and received before the transmission time is regarded as reliable data, and the AP 228 is executed from the point where the last received data is obtained.
  • the HA cluster software 227 As the data received before the synchronization completion packet recorded in the storage device 222 is reliable, the AP 228 is executed from the last received data among these data.
  • the computer system 200 according to the present embodiment is an example in which the computer system 100 shown in FIG. 1 is embodied, and each effect of the computer system 100 can be obtained.
  • the standby computer records the first reliability assurance information and the second reliability assurance information in a second storage device different from the first storage device, whereby the active computer and the standby computer are recorded.
  • the data in the first storage device can be matched.
  • each computer has the functions of both the active computer and the standby computer.
  • both of the above functions are mounted only on a computer that becomes a server, for example. May be.
  • only the function of the active computer may be mounted on the active server, and only the function of the standby computer may be mounted on the standby server.
  • the function of the active computer can be installed in the active shared storage device, and the function of the spare computer can be installed in the standby shared storage.
  • the notice of notice is received via a network.
  • the notice of notice may be received by any communication method such as a radio wave.
  • the present invention can be used for data backup in a computer system that performs replication, particularly data replication in an asynchronous manner.

Abstract

 予備系コンピュータとの間でデータの非同期レプリケーションが行われている現用系コンピュータは、予告通知を受信すると、業務アプリケーションを停止し、データ同期の開始を示す送信開始情報、送信キュー118に蓄積されているデータ、データ同期の完了を示す送信完了情報の順で予備系コンピュータへの送信を行う。予備系コンピュータは、送信開始情報を受信すると、該送信開始情報の前に受信したデータが信頼できるデータであることを示す第1の信頼性保障情報を、送信完了情報を受信すると、該送信完了情報の前に受信したデータが信頼できるデータであることを示す第2の信頼性保障情報を生成して保持する。これにより、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証する。

Description

コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ
 本発明は、レプリケーション、特に非同期方式でデータのレプリケーションを行うコンピュータシステムにおけるデータのバックアップ技術に関する。
 複数のコンピュータを備えたコンピュータシステムの分野において、障害時の対策について様々な視点から手法が提案されている。
 例えば、特許文献1に開示された計算機システムでは、計算機の障害発生を予測する障害予測手段が備えられ、該障害予測手段により障害発生が予測された計算機上で稼動している全てのサービスを正常終了させると共に、これらのサービスを他の計算機上で再実行させることが行われている。そして、全てのサービスが他の計算機で再実行された後に、上記障害予測手段により障害発生が予測された計算機を停止させる。
 この計算機システムによれば、システム管理者が介在することなく、計算機に障害が発生する前に障害発生が予測される計算機上で動いているサービスを他の計算機に移し、障害発生が予測される計算機を正常に停止させることができるとされている。
 また、特許文献2に開示されたコンピュータバックアップシステムにおいて、業務用コンピュータ(現用系コンピュータ)は、コンピュータが破壊される予兆を検出する異常検知センサが設けられており、異常検知センさが上記予兆を検出すると、ネットワークを介してバックアップすべき電子情報をバックアップコンピュータに送信する。バックアップコンピュータは、業務用コンピュータから上記電子情報を受信すると、自身に備えられた記録媒体に保存する。
 このコンピュータバックアップシステムによれば、災害が発生する直前までに業務用コンピュータにおいて作成された電子情報を保存できるとされている。
 また、特許文献3に開示されたデータベースシステムにおいて、現用系装置は、トランザクションを処理する現用系TM(Transaction Manager)と、トランザクションにより発生した更新データを反映する現用系DBMS(Data Base Management System)を備え、予備系装置は、現用系TMから更新データが通知される予備系TMと、現用系DBMSが格納するデータ内容を同一化する予備系DBMSを備える。現用系TMは、トランザクションの実行により発生した更新データを現用系DBMSに通知すると共に、予備系TMに同期通信で通知し、現用系DBMSは、現用系TMからの通知された更新データを自身が管理するデータベースに反映すると共に、非同期通信で予備系DBMSに更新データを通知する。予備系TMは、通知された更新データを差分ファイルに記憶し、所定契機にて差分ファイルから更新データを読み取って予備系DBMSに通知し、予備系DBMSは、現用系DBMSまたは予備系TMから取得した更新データを自身が管理するデータベースに反映する。
 このデータベースシステムによれば、一方の計算機で更新データをまとめ、更新データの制御情報と共に送信し、他方の計算機で制御情報を基に更新データを組み立てて、更新データをトランザクション単位に戻し他方のデータベースに反映させるデータベースの同一化手法を用いる際に、一方の計算機で更新データをまとめる処理途中に障害が発生した場合、該一方の計算機にあるデータベースと他方の計算機にあるデータベースは同一化できない問題を解消し、データベースの同一化の信頼性を高めることができるとされている。
 なお、特許文献1と特許文献2に開示されたシステムでは、障害の発生は、システムに備えられた異常検知センサや障害予測手段により現用系コンピュータの障害発生を知るようにしているが、例えば、特許文献4に記載のように、災害の発生予測を通知する災害報知情報を受信することにより障害発生を知る手法も知られている。
特開2004-334713号公報 特開2004-326365号公報 特開2008-310517号公報 特開2007-094925号公報
 ここで、障害の回避のためのデータのレプリケーション(以下データレプリケーションという)に着目する。障害の回避に備えて、現用系コンピュータにおけるアプリケーションの実行により発生した新しいデータを予備系コンピュータにバックアップする所謂上記データレプリケーションが必要である。
 現用系コンピュータと予備系コンピュータ間におけるデータレプリケーションの手法としては、大きく分けて同期レプリケーションと非同期レプリケーションが知られている。
 同期レプリケーションとは、現用系コンピュータは更新対象のデータの発生に同期してそのデータを予備系コンピュータに送信して予備系コンピュータに保存させることを意味する。非同期レプリケーションとは、現用系コンピュータは、更新対象のデータの発生に同期してそのデータを予備系コンピュータに送信した後に、書き込みを行ったアプリケーションに制御を戻すのではなく、発生した更新対象のデータを予備系コンピュータに送信する前に、書き込みを行ったアプリケーションに制御を戻してから、更新対象のデータを予備系コンピュータに送信することを意味する。発生した更新対象のデータを一時的に蓄積しておき、所定の契機で蓄積しておいたデータをまとめて予備系コンピュータに送信しても良い。
 データレプリケーションに非同期レプリケーションが用いられたシステムによれば、現用系コンピュータおけるデータレプリケーションのための通信待ち時間を抑制することができるという利点がある。しかし、障害が発生したときには、現用系コンピュータからまた予備系コンピュータに送信していないデータが消失してしまい、後に予備系コンピュータを現用系コンピュータにして業務運用する際に、消失したデータに対する復旧処理が必要であり、業務再開に時間がかかるという問題がある。
 特許文献1に開示された手法は、障害発生が予測された計算機上で実行される全てのサービスを終了させると共に、これらのサービスが他の計算機で再実行された後に、障害発生が予測された計算機を停止させる。特許文献1において、データレプリケーションについての具体的な開示がないが、データレプリケーションに非同期レプリケーションが用いられたと仮定すると、障害発生が予測された計算機上で実行される全てのサービスを他の計算機で再実行させるためには、障害発生が予測された時点までの、まだ他の計算機に送信していないデータを送信する必要がある。
 しかし、上記処理の完了前に障害が発生してしまうと、障害発生が予測された計算機の上のデータがどこまで他の計算機に送信したか否かを知るすべがなく、他の計算機におけるサービスの再開に支障を来たしてしまう。
 また、特許文献2に開示された手法は、異常検知センサにより業務用コンピュータが破壊される予兆を検知した際に業務用コンピュータ内のデータをバックアップコンピュータに送信する。この手法は、強いていえば究極の非同期レプリケーションである。この手法も、業務用コンピュータが破壊される予兆を検知してから、バックアップコンピュータへのデータの送信が完了するまでの間に障害が発生した場合に、特許文献1の手法を説明する際に述べたのと同様の問題を有する。
 特許文献3に開示された手法は、実質的には、データレプリケーションに同期レプリケーションと非同期レプリケーションを併用することにより非同期レプリケーションの上記問題点を解消している。これでは、非同期レプリケーションによる利点を制限してしまうという問題がある。
 本発明は、上記事情に鑑みてなされたものであり、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証できるレプリケーション技術を提供する。
 本発明の1つの態様は、業務アプリケーションが実行されている現用系コンピュータであり、この現用系コンピュータは、予備系コンピュータとの間で、上記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われている。
 本現用系コンピュータは、上記業務アプリケーションがデータを書き込むための記憶装置と、送信キューと、受信部と、制御部と、送信部を備える。
 送信キューは、上記業務アプリケーションにより記憶装置に書き込まれたデータのうちの、予備系コンピュータにまだ送信していないデータをキューイングする。受信部は、障害発生の予告を通知する予告通知を受信する。
 制御部は、受信部により予告通知を受信すると、上記業務アプリケーションの実行を停止する。
 送信部は、受信部により予告通知を受信すると、障害回避のためのデータ送信の開始を示す送信開始情報、送信キューにキューイングされているデータ、データ送信の完了を示す送信完了情報の順で予備系コンピュータへの送信を行う。
 本発明の別の態様は、業務アプリケーションが実行されている現用系コンピュータとの間で、現用系コンピュータにおける上記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータである。
 この予備系コンピュータは、記憶装置と、非同期レプリケーションに伴って現用系コンピュータからのデータを該記憶装置に書き込むバックアップ部を備える。
 バックアップ部は、現用系コンピュータから送信開始情報を受信したとき、該送信開始情報の後に受信したデータを記憶装置に書き込むと共に、送信開始情報の前に受信したデータが信頼できるデータであることを示す第1の信頼性保障情報を生成して保持する。送信開始情報は、現用系コンピュータが障害発生の予告を通知する予告通知を受信した時に障害回避のために行う「データ送信」の開始を示す情報であり、該「データ送信」とは、予備系コンピュータにまだ送信されていないデータの送信を意味する。
 また、バックアップ部は、現用系コンピュータが上記「データ送信」の完了後に送信する送信完了情報を受信したとき、該送信完了情報の前に受信したデータが信頼できるデータであることを示す第2の信頼性保障情報を生成して保持する。
 なお、上記態様の現用系コンピュータまたは予備系コンピュータを方法や、装置、システムに置き換えて表現したもの、該現用系コンピュータまたは予備系コンピュータの動作をコンピュータに実行せしめるプログラム、該プログラムを記録したコンピュータ読取可能な記録媒体、該現用系コンピュータと予備系コンピュータを備えたコンピュータシステムなども、本発明の態様としては有効である。
 本発明にかかる技術によれば、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証できる。
本発明にかかる技術の原理を説明するために用いられたコンピュータシステムを示す図である。 図1に示すコンピュータシステムにおける送信開始情報などの意義を説明するための図である。 本発明の実施の形態にかかるコンピュータシステムを示す図である。 図3に示すコンピュータシステムにおける各コンピュータの構成を示す図である。 図4に示すコンピュータの送信キューにキューイングされる書込データの書込み時刻と一時保持時刻情報との関係を説明するための図である。 書込データと共に送信キューにキューイングされる付加時刻情報を説明するための図である。 図3に示すコンピュータシステムにおける同期開始パケットなどの意義を説明するための図である。 図3に示すコンピュータシステムにおける現用系コンピュータの処理を示すフローチャートである。 図3に示すコンピュータシステムにおける予備系コンピュータの処理を示すフローチャートである。 図3に示すコンピュータシステムにおいて、障害発生後の切替えを説明するための図である。
 説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。また、以下の図面に示す各装置の構成は、例えば記憶装置に読み込まれたプログラムをコンピュータ上で実行することにより実現される。また、これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 本発明の具体的な実施の形態を説明する前に、まず、図1に示すコンピュータシステム100を参照して本発明にかかる技術の原理を説明する。
 図1に示すように、コンピュータシステム100は、通信可能に接続された現用系コンピュータ110と予備系コンピュータ130を有する。
 現用系コンピュータ110は、業務アプリケーションが実行されているコンピュータであり、予備系コンピュータ130との間で、現用系コンピュータ110における上記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われている。
 データの非同期レプリケーションは、前述したように、データの発生に伴って随時該データを予備系コンピュータに送信し、送信完了後に上記業務アプリケーションへ制御を戻すのではなく、予備系コンピュータにデータを送信する処理とは非同期で上記業務アプリケーションに書き込み制御を戻し、予備系コンピュータにデータを送信してバックアップに供することである。発生したデータを一時的に蓄積しておき、所定の時間間隔毎や、現用系コンピュータの処理負荷が少ないときなど、予め定められた所定の契機にて蓄積したデータをまとめて予備系コンピュータに送信してもよい。また、予備系コンピュータにおいては、現用系コンピュータからのデータを受信する度に自身に備えられた記憶装置に書き込むようにしてもよいし、差分ファイルに蓄積しておき、所定の契機にまとめて差分ファイルから読み出して記憶装置に書き込むようにしてもよい。
 コンピュータシステム100において、現用系コンピュータ110と予備系コンピュータ130間で行われるデータレプリケーションは、従来知られているいかなる非同期レプリケーションの手法であってもよいため、ここで、本発明にかかる技術を説明する上で必要な点を除き、非同期レプリケーションの詳細、及びそのために必要な機能ブロックの図示を省略する。
 図1に示すように、コンピュータシステム100は、記憶装置112、アプリケーション実行部114、主処理部115、送信部116、送信キュー118、受信部120、制御部122を備える。
 アプリケーション実行部114は、業務アプリケーションの実行、停止などの制御を行う。
 主処理部115は、業務アプリケーションの実行により生じた書き込みデータを記憶装置112に書き込むと共に、記憶装置112に書き込んだものと同じデータを送信キュー118に蓄積する。
 記憶装置112は、例えばハードディスクなどの記録媒体であり、主処理部115が書き込んだデータを格納する。
 送信部116は、主処理部115が記憶装置112へ書き込んだデータと同じデータを予備系コンピュータ130に送信するものであり、送信部116によるデータの送信は、主処理部115による記憶装置112への書き込みに対して非同期である。具体的には、送信部116は、送信キュー118を備え、主処理部115が記憶装置112に書き込んだデータと同じデータを送信キュー118に蓄積し、送信可能であれば順次予備系コンピュータ130に送信する。送信可能なときに順次送信する方式ではなく、予め定められた所定の契機にまとめて予備系コンピュータ130に送信してもよい。
 受信部120は、障害発生の予告を通知する予告通知を受信するためのものであり、予告通知を受信すると、その旨を制御部122に通知する。
 「予告通知」とは、現用系コンピュータ110の障害発生を予告するものであり、現用系コンピュータ110における障害の発生を予告するいかなる情報であってもよい。例えば、現用系コンピュータ110の設置場所における地震などの災害を予告する障害予告機関からの情報や、コンピュータシステム100に設けられた、現用系コンピュータ110のメモリ、CPUなどの状態を監視した結果から障害発生を予告する手段からの情報であってもよい。
 制御部122は、受信部120により予告通知を受信したときに、障害回避のための制御を、アプリケーション実行部114と主処理部115に対して行う。
 具体的には、制御部122は、受信部120により予告通知を受信すると、アプリケーション実行部114に対して、業務アプリケーションの実行を停止させる。また、送信開始情報、データ送信、送信完了情報の順で予備系コンピュータ130への送信が行われるように主処理部115を制御する。
 上記「データ送信」とは、障害回避のために、送信キュー118に格納されたデータを順次予備系コンピュータ130に送信することを意味する。また、「送信開始情報」と「送信完了情報」は、上記データ送信の開始と完了を夫々示す情報である。
 予備系コンピュータ130は、記憶装置132とバックアップ部140を備える。記憶装置132は、例えばハードディスクなどの記録媒体であり、バックアップ部140により書き込まれるデータを格納する。バックアップ部140は、データの非同期レプリケーションにより現用系コンピュータ110からのデータを記憶装置132に書き込むと共に、現用系コンピュータ110から上記送信開始情報を受信したときに、該送信開始情報の後に受信したデータを記憶装置132に書き込むと共に、送信開始情報の前に受信したデータが信頼できるデータである第1の信頼性保証情報を生成して保持する。さらに、現用系コンピュータ110から送信完了情報を受信すると、該送信完了情報の前に受信したデータが信頼できるデータである第2の信頼性保証情報を生成して保持する。
 上記送信開始情報と送信完了情報は、予備系コンピュータ130に対して、障害回避のための現用系コンピュータ110からの上記「データ送信」の開始と完了を通知することができれば、いかなる形式であってもよい。例えば、送信開始情報は、上記「データ送信」の開始を示す同期開始パケットや、上記「データ送信」の送信キューに蓄積されたデータの先頭キューの時刻情報などであってもよく、送信完了情報は、上記「データ送信」の完了を示す同期完了パケットや、上記「データ送信」の送信キューに蓄積されたデータの最後尾キューの時刻情報であってもよい。
 第1の信頼性保証情報は、送信開始情報の前に受信したデータが信頼できるデータであることを示すことができれば、いかなる形式であってもよい。例えば、送信開始情報の前に最後に受信したデータを示す情報などとすることができる。第2の信頼性情報についても同様であり、送信完了情報の前に受信したデータが信頼できるデータであることを示すことができれば、いかなる形式であってもよい。例えば、送信完了情報の前に最後に受信したデータを示す情報などとすることができる。
 すなわち、コンピュータシステム100において、現用系コンピュータ110の受信部120により予告通知を受信する前に、現用系コンピュータ110と予備系コンピュータ130間で、現用系コンピュータ110で実行中の業務アプリケーションにより発生したデータの非同期レプリケーションが行われ、予備系コンピュータ130に送信待ちのデータが現用系コンピュータ110の送信キュー118に蓄積される。送信キュー118に蓄積されたデータは送信可能であれば順次予備系コンピュータ130に送信される。現用系コンピュータ110の受信部120により予告通知を受信すると、障害回避のために、送信キュー118に蓄積されたデータを予備系コンピュータ130に送信する「データ送信」が開始されるが、このデータ送信の開始時と完了時に送信開始情報と送信完了情報がそれぞれ送信される。また、予備系コンピュータ130においては、送信開始情報が受信されると、該送信開始情報の前に受信したデータが信頼できるデータであることを示す第1の信頼性保証情報が保持され、送信完了情報が受信されると、該送信完了情報の前に受信したデータが信頼できるデータであることを示す第2の信頼性保証情報が保持される。
 図2を参照して、送信開始情報、送信完了情報、第1の信頼性保証情報、第2の信頼性保証情報の意義を説明する。図2において、送信開始情報と送信完了情報について、「○」は「予備系コンピュータ130が受信した」ことを示し、「×」は「予備系コンピュータ130が受信しなかった」ことを示す。また、第1の信頼性保証情報と第2の信頼性保証情報について、「○」は「予備系コンピュータ130に保持されていることを示し、「×」は「予備系コンピュータ130に保持されていない」ことを示す。
・ケース1
 図2に示すように、予備系コンピュータ130が現用系コンピュータ110から送信開始情報を受信していない(当然ながら送信完了情報も受信していない)場合に、予備系コンピュータ130には、第1の信頼性保証情報と第2の信頼性保証情報が保持されない。このケースは、通常の非同期レプリケーションが行われているなど、現用系コンピュータ110において障害発生の予告を通知する予告通知を受信しなかった場合である。
・ケース2
 一方、予備系コンピュータ130が現用系コンピュータ110から送信開始情報を受信しており、送信完了情報を受信しなかった場合、予備系コンピュータ130には、第1の信頼性保証情報が保持されるが、第2の信頼性保証情報が保持されない。このケースは、現用系コンピュータ110が予告通知を受信し、まだ送信していないデータを予備系コンピュータ130に送信するデータ送信(以下「データ同期」ともいう)を行ったが、例えばデータ同期中に障害が発生してしまったなど、データ同期が完全にできなかった場合である。
・ケース3
 また、予備系コンピュータ130が現用系コンピュータ110から送信開始情報と送信完了情報の両方を受信した場合、予備系コンピュータ130には、第1の信頼性保証情報と第2の信頼性保証情報の両方が保持される。このケースは、現用系コンピュータ110が予告通知を受信した後にデータ同期を行い、このデータ同期は完全に行われた場合である。
 そのため、後に予備系コンピュータ130を現用系コンピュータにして業務アプリケーションを実行する際に、予備系コンピュータ130の記憶装置132にバックアップされたデータの信頼性の確認が可能であり、業務アプリケーションをどこから実行させるなどの対処が可能である。
 例えば、「第1の信頼性保証情報」が保持されており、「第2の信頼性保証情報」が保持されていない上記ケース2の場合、送信開始情報の前に受信したデータが信頼できるデータであることが分かり、信頼できるデータのうちの最後に受信したデータを得たところから業務アプリケーションを実行させることができる。
 また、「第1の信頼性保証情報」と「第2の信頼性保証情報」のいずれも保持されている上記ケース3の場合、送信完了情報の前に受信したデータが信頼できるデータであることが分かり、これらのデータのうちの最後に受信したデータを得たところから業務アプリケーションを実行させることができる。
 コンピュータシステム100のこのような構成によって、現用系コンピュータ110にて予告通知が受信されるまで、現用系コンピュータ110と予備系コンピュータ130間でデータの非同期レプリケーションが行われ、現用系コンピュータ110にて予告通知が受信されると、現用系コンピュータ110と予備系コンピュータ130間でデータの同期が行われると共に、データの同期が完全であるか否かすなわちどこまでのデータが信頼できるデータであるかを示す情報(第1の信頼性保証情報、第2の信頼性保証情報)が予備系コンピュータ130において生成され保持される。したがって、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証できる。
 また、コンピュータシステム100において、現用系コンピュータ110は、実行中の業務アプリケーションを停止することにより、上記データ同期により受信部120に送信するデータの量を抑制することができ、データ同期が完全に行われる確率を高めることができる。
 次いで、上記原理を具現化した実施の形態を説明する。
 図3は、本発明の実施の形態にかかるコンピュータシステム200を示す。コンピュータシステム200は、複数のコンピュータ(図においてコンピュータ210とコンピュータ220の2つのみを例示)と、障害予告サービス装置240を備える。これらのコンピュータと障害予告サービス装置240は、LANやWANなどのネットワーク230を介して接続されている。
 本実施の形態のコンピュータシステム200に備えられた複数のコンピュータは、同様の構成を有する。図3に示すように、コンピュータ210は、オペレーティングシステム(以下OSという)214と、レプリケーションソフトウェア216と、業務アプリケーション(以下AP)AP218が実装されており、これらのソフトウェアがデータの読み書きを行う第1の記憶装置212と、該第1の記憶装置212とは別の第2の記憶装置213を有する。同様に、コンピュータ220は、OS224と、レプリケーションソフトウェア226と、AP228が実装されており、これらのソフトウェアがデータの読み書きを行う第1の記憶装置222と、該第1の記憶装置222とは別の第2の記憶装置223を有する。
 図3に示す例において、コンピュータ210に実装されたAP218と、コンピュータ220に実装されたAP228が同じ業務アプリケーションであり、実線枠により囲まれたAP218は実行されており、点線枠により囲まれたAP228は停止されている。すなわち、この場合、コンピュータ210は現用系コンピュータであり、コンピュータ220は、予備系コンピュータである。また、AP218の実行により生じたデータは非同期レプリケーションによりコンピュータ220に送信され、バックアップされる。
 障害予告サービス装置240は、ネットワーク230を介して、障害発生の予告を通知する予告通知を当該コンピュータに送信する。本実施の形態において、障害予告サービス装置240は、コンピュータに障害を発生させうる地震などの自然災害の予告を通知するものであり、例えば、災害を予測する機関などに設けられている。
 コンピュータシステム200において、現用系コンピュータと予備系コンピュータは、通常、非同期データレプリケーションを行う。この非同期レプリケーションは、現用系コンピュータと予備系コンピュータに実装されたレプリケーションソフトウェアにより行われる。現用系コンピュータは、予告通知を受信すると実行中の業務アプリケーションを停止する共にデータ同期を開始し、予備系コンピュータは、データ同期にて現用系コンピュータから送信されてきたデータを自身の記憶装置にバックアップする。
 図4は、コンピュータシステム200における各コンピュータの具体的な構成を示す。なお、図4において、上述した「データ同期」に関連する部分のみを示し、他の部分については図示及び説明を省略する。また、本実施の形態において、各コンピュータが同じ構成を有するため、コンピュータ210を代表にして説明する。
 図4に示すように、コンピュータ210は、第1の記憶装置212、第2の記憶装置213、送受信部300、制御部302、主処理部310、I/Oリクエストキュー312、送信キュー314、伸張部316、圧縮部318、差分記憶部320を有する。これらの機能ブロックは、コンピュータ210に備えられたハードウェアと、インストールされたソフトウェアの協働により実現される。
 コンピュータ210は、現用系コンピュータと予備系コンピュータのいずれにもなり得る。図4において、各機能ブロック間の実線は、コンピュータ210が現用系コンピュータであるときのデータや信号の流れを示し、点線は、コンピュータ210が予備系コンピュータであるときのデータや信号の流れを示す。
 主処理部310は、業務アプリケーションを実行する機能と、バックアップ機能を備える。コンピュータ210が現用系コンピュータであるときには、業務アプリケーションを実行する機能が実行され、コンピュータ210が予備系コンピュータであるときにはバックアップ機能が実行される。すなわち、コンピュータ210が現用系コンピュータであるときに主処理部310はアプリケーション実行部として動作でき、コンピュータ210が予備系コンピュータであるときに主処理部310はバックアップ部として動作できる。
 以下、現用系コンピュータである場合と予備系コンピュータである場合を分けて、コンピュータ210の各機能ブロックの動作を説明する。
<コンピュータ210が現用系コンピュータである場合>
 この場合、主処理部310は、業務アプリケーションの実行により生じた書き込みデータをI/Oリクエストキュー312と送信キュー314にキューイングする。送信キュー314へキューイングする際、後述する一時保持時刻情報を付加時刻情報として当該書き込みデータと一緒にキューイングすると共に、一時保持時刻情報を今回の書き込みの発生時刻(以下書込み時刻という)に更新する。
 図5を参照して、データの書込み時刻と一時保持時刻情報の関係を説明する。例として、時間順にデータ0、データ1、データ2、データ3の書込みが発生し、これらのデータの夫々の書込み時刻が時刻0、時刻1、時刻2、時刻3であるとする。
 主処理部310は、最新の書き込みの発生時刻を一時保持時刻情報として保持する。図5に示すように、時刻0でデータ0の書込みが発生し、時刻0は、一時保持時刻情報として保存される。
 次に、時刻1でデータ1の書込みが発生したため、一時保持時刻情報は、時刻1に更新される。
 その後、一時保持時刻情報は、データ2の書込み時に時刻2に更新され、データ3の書込み時に時刻3に更新される。
 主処理部115は、書込みデータを送信キュー314へキューイングする際に、更新前の一時保持時刻情報を該データに対応付けてキューイングする。図6を参照して説明する。
 データ1の書込み時刻(時刻1)の直前に、保持中の一時保持時刻情報がデータ0の書込み時刻(時刻0)である。そのため、時刻1において、データ1は、時刻0となる付加時刻情報と共に送信キュー314へキューイングされる。これに伴い、一時保持時刻情報は、時刻1に更新される。
 同様に、データ2の書込み時刻(時刻2)の直前に、一時保持時刻情報が時刻1であるため、時刻2において、データ2は、時刻1となる付加時刻情報と共に送信キュー314にキューイングされる。これに伴い、一時保持時刻情報は、時刻2に更新される。
 また、データ3の書込み時刻(時刻3)の直前に、一時保持時刻情報が時刻2であるため、時刻3において、データ3は、時刻2となる付加時刻情報と共に送信キュー314にキューイングされる。これに伴い、一時保持時刻情報は、時刻3に更新される。
 すなわち、本実施の形態において、送信キュー314には、書込みデータと、該書込みデータの1つ前の書込みデータの書込み時刻とが対応付けてキューイングされている。
 I/Oリクエストキュー312は、キューイングされたデータを順次第1の記憶装置212にキューアウトする。第1の記憶装置212は、I/Oリクエストキュー312からのデータを格納する。
 また、送信キュー314は、キューイングされた書込みデータを順次圧縮部318にキューアウトする。圧縮部318は、送信キュー314からのデータを圧縮して送受信部300に出力する。送受信部300は、ネットワーク230を介して、圧縮部318からのデータ(以下圧縮データという)を順次予備系コンピュータ(この場合コンピュータ220となる)に出力する。
 上記各処理は、データの非同期レプリケーションのルールに従って行われ、ここで詳細な説明を省略する。
 なお、予備系コンピュータと通信できない場合には、主処理部310は、データを送信キュー314へキューイングせず、差分記憶部320に格納する。その後、予備系コンピュータと通信できるようになると、差分記憶部320に格納されたデータを送信キュー314にキューイングする。
 前述したように、本実施の形態において、障害予告サービス装置240からの予告通知はネットワーク230を介して送信される。すなわち、コンピュータ210の送受信部300は、この予告通知を受信する受信部を兼ねる。
 送受信部300は、予告通知を受信すると、その旨を制御部302に通知する。
 制御部302は、予告通知の受信を制御部302から通知されると、主処理部310に対して、データ同期の開始命令を出力すると共に、該データ同期の開始命令とは非同期に、業務アプリケーションの停止命令を出力する。業務アプリケーションの停止を待たずにデータ同期の開始命令を出力することで、いち早くデータ同期処理を開始することができ、いち早く第1の信頼性保証情報を予備系に通知することができる。
 主処理部310は、業務アプリケーションの停止命令を受信すると業務アプリケーションを停止する。これにより、業務アプリケーションによる新しいデータの生成が無くなる。
 主処理部310は、データ同期の開始命令を受信すると、下記のように動作する。
 まず、主処理部310は、送信キュー314に蓄積されている送信データに割り込み、データ同期の開始を示す「同期開始パケット」を送受信部300に送信させる。この同期開始パケットには、送信キュー314に蓄積されたデータの先頭キューの付加時刻情報が含まれている。この付加時刻情報は、送信キュー314の先頭にキューイングされた書込みデータの付加時刻情報、すなわち該書込みデータの1つ前の書込みデータの書込み時刻である。
 そして、送信キュー314に蓄積されている書込みデータが上記「同期開始パケット」の後に順次送信されるように送信キュー314、圧縮部318、送受信部300を制御する。
 送信キュー314に蓄積された全てのデータが圧縮されて送信されると、主処理部310は、データ同期の完了を示す「同期完了パケット」を送受信部300に送信させる。この同期完了パケットには、現在の一時保持時刻情報、すなわち送信キュー314に蓄積されていたデータの最後尾キューの書き込み時刻である。
 すなわち、コンピュータ210が現用系コンピュータである場合に、障害発生の予告(本実施の形態では災害予告)を通知する予告通知を受信されると、コンピュータ210において、実行中の業務アプリケーションが停止されると共に、コンピュータ210から、同期開始パケット、送信キュー314にキューイングされているデータの圧縮データ、同期完了パケットの順の送信が行われる。
<コンピュータ210が予備系コンピュータである場合>
 この場合、送受信部300は、データの非同期レプリケーションに伴って現用系コンピュータからのデータを受信する。このデータは、現用系コンピュータで実行中により生じたデータの圧縮データである。
 主処理部310は、送受信部300が受信した圧縮データを伸張部316に伸張させる。伸張部316は、伸張したデータをI/Oリクエストキュー312に出力する。
 I/Oリクエストキュー312は、伸張部316からのデータを第1の記憶装置212に順次キューアウトする。第1の記憶装置212は、I/Oリクエストキュー312からのデータを格納する。
 上記処理は、データの非同期レプリケーションが実行される場合の予備系コンピュータ側の処理であり、ここで詳細な説明を省略する。
 送受信部300が「同期開始パケット」を受信すると、主処理部310は、第1の信頼性保証情報として、該同期開始パケットに含まれる付加時刻情報をI/Oリクエストキュー312に出力する。また、この付加時刻情報を第2の記憶装置213にキューアウトするようにI/Oリクエストキュー312を制御する。
 また、主処理部310は、「同期開始パケット」の後に送受信部300が受信した各データを、伸張部316に順次伸張させてI/Oリクエストキュー312に出力する。これらのデータについては、主処理部310は、第1の記憶装置212にキューアウトするようにI/Oリクエストキュー312を制御する。
 また、送受信部300が「同期完了パケット」を受信すると、主処理部310は、第2の信頼性保証情報として、該同期完了パケットに含まれる一時保持時刻情報をI/Oリクエストキュー312に出力する。また、この一時保持時刻情報を第2の記憶装置213にキューアウトするようにI/Oリクエストキュー312を制御する。
 図7を参照して、本実施の形態における同期開始パケット、同期完了パケット、第1の信頼性保証情報、第2の信頼性保証情報の意義を説明する。図2のときと同じように、図7において、同期開始パケットと同期完了パケットについて、「○」は「予備系コンピュータが受信した」ことを示し、「×」は「予備系コンピュータが受信しなかった」ことを示す。また、第1の信頼性保証情報(ここでは、同期開始パケットに含まれる付加時刻情報)と第2の信頼性保証情報(ここでは、同期完了パケットに含まれる一時保持時刻情報)について、「○」は「予備系コンピュータの記憶装置に記録されている」ことを示し、「×」は「予備系コンピュータの記憶装置に記録されていない」ことを示す。
・ケース1
 図7に示すように、予備系コンピュータが現用系コンピュータから同期開始パケットを受信していない(当然ながら同期完了パケットも受信していない)場合に、予備系コンピュータの第2の記憶装置には、同期開始パケットに含まれる付加時刻情報と、同期完了パケットに含まれる一時保持時刻情報が記録されない。このケースは、通常の非同期レプリケーションが行われているなど、現用系コンピュータにおいて障害発生の予告を通知する予告通知を受信しなかった場合である。
・ケース2
 一方、予備系コンピュータが現用系コンピュータから同期開始パケットを受信しており、同期完了パケットを受信しなかった場合、予備系コンピュータの第2の記憶装置には、同期開始パケットに含まれる付加時刻情報が記録されるが、同期完了パケットに含まれる一時保持時刻情報が記録されない。このケースは、現用系コンピュータが予告通知を受信し、まだ送信していないデータを予備系コンピュータに送信するデータ送信(すなわち「データ同期」)を行ったが、データ同期中に障害が発生してしまったなど、データ同期が完全にできなかった場合である。
・ケース3
 また、予備系コンピュータが現用系コンピュータから同期開始パケットと同期完了パケットの両方を受信した場合、予備系コンピュータの第2の記憶装置には、同期開始パケットに含まれる付加時刻情報と同期完了パケットに含まれる一時保持時刻情報の両方が記録される。このケースは、現用系コンピュータが予告通知を受信した後にデータ同期を行い、このデータ同期は完全に行われた場合である。
 図8は、コンピュータシステム200において、現用系コンピュータにおける処理の流れを示すフローチャートである。
 図8に示すように、現用系コンピュータは、予告通知を受信するまで、業務アプリケーションを実行すると共に、業務アプリケーションの実行により生じたデータの非同期レプリケーションを予備系コンピュータとの間で行う(S100:No、S102)。ステップS102におけるデータの非同期レプリケーションは、具体的には、予備系コンピュータにデータを送信する処理とは非同期で業務アプリケーションに書き込み制御を戻し、送信キューに蓄積されたデータを圧縮して予備系コンピュータに送信する処理である。
 現用系コンピュータにおいて、予告通知を受信すると、制御部により業務アプリケーションの停止命令とデータ同期開始命令が出される(S110、S120)。
 現用系コンピュータの主処理部は、業務アプリケーションの停止命令を受信すると、実行中の業務アプリケーションを停止する(S112)。
 また、現用系コンピュータの主処理部は、データ同期の開始命令を受信すると、送信キューに蓄積されたデータの先頭キューの付加時刻情報を含む同期開始パケットの予備系コンピュータへの送信を送受信部にさせてから、送信キュー内に蓄積されたデータの圧縮、送信を、送信キューが空になるまで行わせる(S124、S126:No、S124~)。
 送信キュー内の全てのデータの圧縮、送信が完了すると、主処理部は、一時保持時刻情報を含む同期完了パケットの予備系コンピュータへの送信を送信部にさせる。
 図9は、コンピュータシステム200において、予備系コンピュータにおける処理の流れを示すフローチャートである。
 図9に示すように、予備系コンピュータは、現用系コンピュータから同期開始パケットを受信するまで、現用系コンピュータからのデータ(圧縮データ)のバックアップを行う(S150:No、S152)。ステップS152におけるバックアップは、具体的には、現用系コンピュータからの圧縮データの伸張、I/Oリクエストキューへのキューイング、I/Oリクエストキューから第1の記憶装置へのキューアウトである。
 同期開始パケットを受信すると、予備系コンピュータの主処理部は、該同期開始パケットに含まれる付加時刻情報を第1の信頼性保証情報として、I/Oリクエストキューを介して第2の記憶装置に記録すると共に、その後、同期完了パケットを受信するまで、現用系コンピュータからの圧縮データのバックアップを行って、第1の記憶装置に書き込む(S150:Yes、S160、S162:No、S164~)。
 同期完了パケットを受信すると、予備系コンピュータの主処理部は、該同期完了パケットに含まれる一時保持時刻情報を第2の信頼性保証情報として、I/Oリクエストキューを介して第2の記憶装置に記録する(S162:Yes、S170)。
 図10は、障害の発生後に、手動または自動で業務アプリケーションを実行するコンピュータの切替えを示す例である。
 図10は、各コンピュータに、レプリケーションソフトウェアと共にHAクラスタソフトウェアが実装された場合の例である。各コンピュータに実装されたHAクラスタソフトウェアは、互いのコンピュータの状態を監視し、排他的に業務アプリケーションを実行させる。レプリケーションソフトウェアは、業務アプリケーションが実行されているコンピュータと、該業務アプリケーションが実装されているものと、実行されていないコンピュータとの間で非同期のデータレプリケーションを行わせる。HAクラスタソフトウェアは、業務アプリケーションが実行されているコンピュータに障害が発生した場合に、業務アプリケーションを実行するコンピュータの切替えも行う。この切替えは、設定により自動または手動が選択可能である。
 図10に示すように、この例では、コンピュータ210が現用系コンピュータであり、コンピュータ220が予備系コンピュータであった場合における切替えの例である。
 障害発生後、現用系であったコンピュータ210は停止される。コンピュータ220におけるHAクラスタソフトウェア227は、AP228を実行させる。これにより、予備系であったコンピュータ220は、現用系コンピュータに切り替わる。なお、HAクラスタソフトウェア227は、AP228を実行させるのに当たり、コンピュータ220の第2の記憶装置223に、同期開始パケットに含まれる付加時刻情報と、同期完了パケットに含まれる一時保持時刻情報が記録されているか否かを確認し、確認結果に基づいてAP228の実行開始ポイントを決定する。
 具体的には、第2の記憶装置223に、同期開始パケットに含まれる付加時刻情報のみが記録されている場合には、HAクラスタソフトウェア227は、第1の記憶装置222に記録された、該送信時刻より前に送信され受信したデータが信頼できるデータとして、これらのデータのうちの最後に受信したデータを得たところからAP228を実行させる。一方、第2の記憶装置223に、同期開始パケットに含まれる付加時刻情報と、同期完了パケットに含まれる一時保持時刻情報のいずれも記録されている場合には、HAクラスタソフトウェア227は、第1の記憶装置222に記録された、同期完了パケットの前に受信したデータが信頼できるデータとして、これらのデータのうちの最後に受信したデータを得たところからAP228を実行させる。
 本実施の形態のコンピュータシステム200は、図1に示すコンピュータシステム100を具現化した例であり、コンピュータシステム100の各効果を得ることができる。
 また、コンピュータシステム200において、現用系コンピュータと予備系コンピュータ間で、データが圧縮されて送信されるので、ネットワーク230を流れるデータの量を抑制することができる。
 また、予備系コンピュータは、第1の信頼性保障情報と第2の信頼性保障情報を第1の記憶装置とは別の第2の記憶装置に記録することにより、現用系コンピュータと予備系コンピュータの第1の記憶装置内のデータを一致させることができる。
 以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述各実施の形態に対して、さまざまな変更、増減、組合せを加えてもよい。これらの変更、増減、組合せが加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
 例えば、コンピュータシステム200において、各コンピュータは、現用系コンピュータと予備系コンピュータの両方の機能が実装されているが、必要に応じて、例えばサーバとなるコンピュータにのみ上記両方の機能を実装するようにしてもよい。また、この場合、現用系サーバに現用系コンピュータの機能のみを実装し、予備系サーバに予備系コンピュータの機能のみを実装するようにしてもよい。
 また、現用系コンピュータの機能を現用系の共有ストレージ装置に実装すると共に、予備コンピュータの機能を予備系の共有ストレージに実装するように運用することができる。
 また、コンピュータシステム200において、予告通知は、ネットワークを介して受信するようになっているが、予告通知を受信できれば、無線電波など、如何なる通信方式で受信するようにしてもよい。
 この出願は、2010年3月8日に出願された日本出願特願2010-050784を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、レプリケーション、特に非同期方式でデータのレプリケーションを行うコンピュータシステムにおけるデータのバックアップに利用することができる。
 100 コンピュータシステム 110 現用系コンピュータ
 112 記憶装置 114 アプリケーション実行部
 115 主処理部 116 送信部
 118 送信キュー 120 受信部
 122 制御部 130 予備系コンピュータ
 132 記憶装置 140 バックアップ部
 200 コンピュータシステム 210 コンピュータ
 212 第1の記憶装置 213 第2の記憶装置
 214 OS 216 レプリケーションソフトウェア
 217 HAクラスタソフトウェア 218 アプリケーション
 220 コンピュータ 222 第1の記憶装置
 223 第2の記憶装置 224 OS
 226 レプリケーションソフトウェア 227 HAクラスタソフトウェア
 228 アプリケーション 230 ネットワーク
 240 障害予告サービス装置 300 送受信部
 302 制御部 310 主処理部
 312 I/Oリクエストキュー 314 送信キュー
 316 伸張部 318 圧縮部
 320 差分記憶部

Claims (9)

  1.  業務アプリケーションが実行されている現用系コンピュータと、
     前記現用系コンピュータとの間で、前記現用系コンピュータにおける前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータとを備えたコンピュータシステムにおいて、
     前記現用系コンピュータは、
     前記業務アプリケーションがデータを書き込むための記憶装置と、
     前記業務アプリケーションにより前記記憶装置に書き込まれたデータのうちの、前記予備系コンピュータにまだ送信していないデータをキューイングする送信キューと、
     障害発生の予告を通知する予告通知を受信する受信手段と、
     該受信手段により前記予告通知を受信すると、前記業務アプリケーションの実行を停止する制御手段と、
     前記受信手段により前記予告通知を受信すると、障害回避のためのデータ送信の開始を示す送信開始情報、前記送信キューにキューイングされているデータ、前記データ送信の完了を示す送信完了情報の順で前記予備系コンピュータへの送信を行う送信手段とを有し、
     前記予備系コンピュータは、
     記憶装置と、
     前記非同期レプリケーションに伴って前記現用系コンピュータからのデータを前記記憶装置に書き込むバックアップ手段とを有し、
     該バックアップ手段は、
     前記送信開始情報を受信したとき、
     該送信開始情報の後に受信したデータを前記記憶装置に書き込むと共に、前記送信開始情報の前に受信したデータが信頼できるデータであることを示す第1の信頼性保障情報を生成して保持し、
     前記送信完了情報を受信したとき、
     該送信完了情報の前に受信したデータが信頼できるデータであることを示す第2の信頼性保障情報を生成して保持することを特徴とするコンピュータシステム。
  2.  前記送信開始情報は、前記現用系コンピュータにおける前記送信キューの先頭にキューイングされているデータの1つ前に生じたデータの書込時刻が含まれており、
     前記送信完了情報は、前記送信キューの末尾にキューイングされているデータの書込時刻が含まれており、
     前記予備系コンピュータにおける前記バックアップ手段は、
     前記送信開始情報と前記送信完了情報に含まれる書込時刻を夫々前記第1の信頼性保障情報と第2の信頼性保障情報として保持することを特徴とする請求項1に記載のコンピュータシステム。
  3.  業務アプリケーションが実行されている現用系コンピュータであって、予備系コンピュータとの間で、前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる前記現用系コンピュータにおいて、
     前記業務アプリケーションがデータを書き込むための記憶装置と、
     前記業務アプリケーションにより前記記憶装置に書き込まれたデータのうちの、前記予備系コンピュータにまだ送信していないデータをキューイングする送信キューと、
     障害発生の予告を通知する予告通知を受信する受信手段と、
     該受信手段により前記予告通知を受信すると、前記業務アプリケーションの実行を停止する制御手段と、
     前記受信手段により前記予告通知を受信すると、障害回避のためのデータ送信の開始を示す送信開始情報、前記送信キューにキューイングされているデータ、前記データ送信の完了を示す送信完了情報の順で前記予備系コンピュータへの送信を行う送信手段とを有することを特徴とする現用系コンピュータ。
  4.  前記送信開始情報は、前記送信キューの先頭にキューイングされているデータの1つ前に生じたデータの書込時刻が含まれており、
     前記送信完了情報は、前記送信キューの末尾にキューイングされているデータの書込時刻が含まれていることを特徴とする請求項3に記載の現用系コンピュータ。
  5.  業務アプリケーションが実行されている現用系コンピュータとの間で、前記現用系コンピュータにおける前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータにおいて、
     記憶装置と、
     前記非同期レプリケーションに伴って前記現用系コンピュータからのデータを前記記憶装置に書き込むバックアップ手段とを有し、
     前記バックアップ手段は、
     前記現用系コンピュータが障害発生の予告を通知する予告通知を受信した時に障害回避のために行うデータ送信であって、前記予備系コンピュータにまだ送信されていないデータの送信である前記データ送信の開始を示す送信開始情報を前記現用系コンピュータから受信したとき、
     該送信開始情報の後に受信したデータを前記記憶装置に書き込むと共に、前記送信開始情報の前に受信したデータが信頼できるデータであることを示す第1の信頼性保障情報を生成して保持し、
     前記現用系コンピュータが前記データ送信の完了後に送信する送信完了情報を受信したとき、
     該送信完了情報の前に受信したデータが信頼できるデータであることを示す第2の信頼性保障情報を生成して保持することを特徴とする予備系コンピュータ。
  6.  前記送信開始情報は、前記送信キューの先頭にキューイングされているデータの1つ前に生じたデータの書込時刻が含まれており、
     前記送信完了情報は、前記送信キューの末尾にキューイングされているデータの書込時刻が含まれていることを特徴とする請求項2に記載の現用系コンピュータ。
     前記バックアップ手段は、前記送信開始情報と前記送信完了情報に含まれる書込時刻を前記第1の信頼性保障情報と第2の信頼性保障情報として夫々保持することを特徴とする請求項5に記載の予備系コンピュータ。
  7.  前記記憶装置とは別の記憶装置をさらに備え、
     前記バックアップ手段は、前記第1の信頼性保障情報と前記第2の信頼性保障情報を前記別の記憶装置に書き込むことにより保持することを特徴とする請求項5または請求項6に記載の予備系コンピュータ。
  8.  業務アプリケーションが実行され、障害発生の予告を通知する予告通知を受信可能な現用系コンピュータであって、予備系コンピュータとの間で、前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる前記現用系コンピュータに対して、
     前記予告通知を受信した際に、
     前記業務アプリケーションの実行を停止し、
     障害回避のためのデータ送信の開始を示す送信開始情報、前記業務アプリケーションが記憶装置に書き込まれたデータのうちの、前記予備系コンピュータにまだ送信されていないデータ、前記データ送信の完了を示す送信完了情報の順で前記予備系コンピュータへの送信を行う処理を実行せしめるプログラムを格納した非一時的なコンピュータ可読媒体。
  9.  業務アプリケーションが実行されている現用系コンピュータとの間で、前記現用系コンピュータにおける前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータに対して、
     前記現用系コンピュータが障害発生の予告を通知する予告通知を受信した時に障害回避のために行うデータ送信であって、前記予備系コンピュータにまだ送信されていないデータの送信である前記データ送信の開始を示す送信開始情報を前記現用系コンピュータから受信したとき、
     該送信開始情報の後に受信したデータを記憶装置に書き込み、
     前記送信開始情報の前に受信したデータが信頼できるデータであることを示す第1の信頼性保障情報を生成して保持し、
     前記現用系コンピュータが前記データ送信の完了後に送信する送信完了情報を受信したとき、
     該送信完了情報の前に受信したデータが信頼できるデータであることを示す第2の信頼性保障情報を生成して保持する処理を実行せしめるプログラムを格納した非一時的なコンピュータ可読媒体。
PCT/JP2010/006095 2010-03-08 2010-10-13 コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ WO2011111131A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201080065267.9A CN102792287B (zh) 2010-03-08 2010-10-13 计算机系统、现用系统计算机和待机系统计算机
EP20100847364 EP2546753B1 (en) 2010-03-08 2010-10-13 Computer system, active system computer and standby system computer
JP2012504164A JP5459389B2 (ja) 2010-03-08 2010-10-13 コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ、プログラム
US13/578,889 US9128903B2 (en) 2010-03-08 2010-10-13 Computer system, active system computer, and standby system computer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-050784 2010-03-08
JP2010050784 2010-03-08

Publications (1)

Publication Number Publication Date
WO2011111131A1 true WO2011111131A1 (ja) 2011-09-15

Family

ID=44562979

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/006095 WO2011111131A1 (ja) 2010-03-08 2010-10-13 コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ

Country Status (5)

Country Link
US (1) US9128903B2 (ja)
EP (1) EP2546753B1 (ja)
JP (1) JP5459389B2 (ja)
CN (1) CN102792287B (ja)
WO (1) WO2011111131A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2016003673A (es) * 2013-10-11 2016-09-16 Landmark Graphics Corp Captura automatica de flujo de trabajo para analizar e informar errores en una aplicacion de perforacion.
US10587688B2 (en) 2014-09-19 2020-03-10 Netapp, Inc. Techniques for coordinating parallel performance and cancellation of commands in a storage cluster system
CN104216803A (zh) * 2014-09-29 2014-12-17 北京奇艺世纪科技有限公司 一种退服节点的数据备份方法及装置
CN115037674B (zh) * 2022-05-16 2023-08-22 郑州小鸟信息科技有限公司 一种中央控制系统单机及多设备冗余备份方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236258A (ja) * 1999-12-16 2001-08-31 Hitachi Ltd 記憶制御装置
JP2004005066A (ja) * 2002-05-30 2004-01-08 Internatl Business Mach Corp <Ibm> 複数の記録装置に記録されたデータのバックアップ技術
JP2004326365A (ja) 2003-04-23 2004-11-18 Alps Electric Co Ltd コンピュータバックアップシステム
JP2004334713A (ja) 2003-05-09 2004-11-25 Toshiba Corp 計算機システム、サービス継続制御プログラム
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2007094925A (ja) 2005-09-30 2007-04-12 Sanyo Electric Co Ltd サーバおよびクライアント機器
JP2008310517A (ja) 2007-06-13 2008-12-25 Hitachi Ltd データ同一化方法、データ同一化プログラム、および、現用系装置
JP2010050784A (ja) 2008-08-22 2010-03-04 Nikon Corp デジタルカメラ

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6684306B1 (en) * 1999-12-16 2004-01-27 Hitachi, Ltd. Data backup in presence of pending hazard
JP2002169738A (ja) 2000-11-30 2002-06-14 Mitsubishi Electric Corp ファイル配信方法
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
US6948089B2 (en) * 2002-01-10 2005-09-20 Hitachi, Ltd. Apparatus and method for multiple generation remote backup and fast restore
US7426559B2 (en) * 2002-05-09 2008-09-16 International Business Machines Corporation Method for sequential coordination of external database application events with asynchronous internal database events
US7266665B2 (en) * 2003-06-17 2007-09-04 International Business Machines Corporation Method, system, and article of manufacture for remote copying of data
US7801851B2 (en) * 2003-06-30 2010-09-21 Gravic, Inc. Method for ensuring referential integrity in multi-threaded replication engines
JP4764596B2 (ja) * 2003-12-08 2011-09-07 株式会社日立製作所 データ転送方法及びサーバコンピュータ
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
WO2005083569A1 (ja) * 2004-02-26 2005-09-09 Nec Corporation ネットワーク間のプロセス移動方法およびそのネットワークシステム
US7490083B2 (en) * 2004-02-27 2009-02-10 International Business Machines Corporation Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
JP2005292865A (ja) * 2004-03-31 2005-10-20 Hitachi Ltd ストレージシステム及びストレージシステムのバックアップ方法
US7213103B2 (en) * 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US20070174484A1 (en) 2006-01-23 2007-07-26 Stratus Technologies Bermuda Ltd. Apparatus and method for high performance checkpointing and rollback of network operations
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US8131924B1 (en) * 2008-03-19 2012-03-06 Netapp, Inc. De-duplication of data stored on tape media
US8234243B2 (en) * 2008-06-19 2012-07-31 Microsoft Corporation Third tier transactional commit for asynchronous replication
US8499297B2 (en) * 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8266107B2 (en) * 2009-03-11 2012-09-11 International Business Machines Corporation Method for mirroring a log file by threshold driven synchronization
US20100287407A1 (en) * 2009-05-05 2010-11-11 Siemens Medical Solutions Usa, Inc. Computer Storage Synchronization and Backup System
US8930527B2 (en) * 2009-05-26 2015-01-06 Oracle International Corporation High availability enabler
US8140914B2 (en) * 2009-06-15 2012-03-20 Microsoft Corporation Failure-model-driven repair and backup
KR101265388B1 (ko) * 2009-07-02 2013-05-20 엔에이치엔비즈니스플랫폼 주식회사 고가용성 데이터베이스 관리 시스템 및 이를 이용한 데이터베이스 관리 방법
US20120124311A1 (en) * 2009-08-04 2012-05-17 Axxana (Israel) Ltd. Data Gap Management in a Remote Data Mirroring System
US8285956B2 (en) * 2009-10-22 2012-10-09 Symantec Corporation Efficient logging for asynchronously replicating volume groups
US8448014B2 (en) * 2010-04-23 2013-05-21 International Business Machines Corporation Self-healing failover using a repository and dependency management system
US8484503B2 (en) * 2010-08-18 2013-07-09 International Business Machines Corporation Disaster recovery replication throttling in deduplication systems
US8406233B2 (en) * 2010-09-07 2013-03-26 Check Point Software Technologies Ltd. Predictive synchronization for clustered devices
US8667236B2 (en) * 2010-09-29 2014-03-04 Hewlett-Packard Development Company, L.P. Host based write ordering for asynchronous replication
US9864772B2 (en) * 2010-09-30 2018-01-09 International Business Machines Corporation Log-shipping data replication with early log record fetching

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236258A (ja) * 1999-12-16 2001-08-31 Hitachi Ltd 記憶制御装置
JP2004005066A (ja) * 2002-05-30 2004-01-08 Internatl Business Mach Corp <Ibm> 複数の記録装置に記録されたデータのバックアップ技術
JP2004326365A (ja) 2003-04-23 2004-11-18 Alps Electric Co Ltd コンピュータバックアップシステム
JP2004334713A (ja) 2003-05-09 2004-11-25 Toshiba Corp 計算機システム、サービス継続制御プログラム
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2007094925A (ja) 2005-09-30 2007-04-12 Sanyo Electric Co Ltd サーバおよびクライアント機器
JP2008310517A (ja) 2007-06-13 2008-12-25 Hitachi Ltd データ同一化方法、データ同一化プログラム、および、現用系装置
JP2010050784A (ja) 2008-08-22 2010-03-04 Nikon Corp デジタルカメラ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2546753A4 *

Also Published As

Publication number Publication date
US20120324300A1 (en) 2012-12-20
EP2546753B1 (en) 2015-04-08
EP2546753A4 (en) 2013-08-28
US9128903B2 (en) 2015-09-08
JPWO2011111131A1 (ja) 2013-06-27
CN102792287A (zh) 2012-11-21
CN102792287B (zh) 2016-01-06
JP5459389B2 (ja) 2014-04-02
EP2546753A1 (en) 2013-01-16

Similar Documents

Publication Publication Date Title
US7793060B2 (en) System method and circuit for differential mirroring of data
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
JP4796854B2 (ja) 差分リモートコピーにおける中間ボリュームのデータ溢れ対策
US7437598B2 (en) System, method and circuit for mirroring data
US11907561B2 (en) Data backup method and apparatus
US9075772B2 (en) Storage apparatus, controller and storage apparatus control method
JP5343436B2 (ja) 情報管理システム
US20100042795A1 (en) Storage system, storage apparatus, and remote copy method
US7797571B2 (en) System, method and circuit for mirroring data
JP4288418B2 (ja) 計算機システムおよび状態取得方法ならびに状態取得プログラム
JP2004303122A (ja) データ転送制御システム
CN105159795A (zh) 数据同步方法、装置和系统
JP5459389B2 (ja) コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ、プログラム
US8880552B2 (en) Database system and database control method
JP2008090798A (ja) データ処理システムのバックアップ制御装置及びシステム
JP6539974B2 (ja) 障害通報装置、障害通報方法及び障害通報プログラム
WO2016129275A1 (ja) 情報処理装置、ログ管理システム、ログ管理方法及びプログラム記録媒体
US9971654B2 (en) Safe storing data for disaster recovery
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
US8135982B2 (en) Parallel multiplex storage systems
JP2014006771A (ja) リモートバックアップ装置、リモートバックアップシステム、方法およびプログラム
JP5684016B2 (ja) 入退管理制御装置、及び入退管理システム
JP6900732B2 (ja) ディザスタリカバリシステム、ディザスタリカバリ方法及びプログラム
JPWO2007116467A1 (ja) ボリューム管理装置およびボリューム管理方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080065267.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10847364

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010847364

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13578889

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012504164

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 7626/CHENP/2012

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE