(57)【特許請求の範囲】
【請求項１】
業務アプリケーションが実行されている現用系コンピュータと、
前記現用系コンピュータとの間で、前記現用系コンピュータにおける前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータとを備えたコンピュータシステムにおいて、
前記現用系コンピュータは、
前記業務アプリケーションがデータを書き込むための記憶装置と、
前記業務アプリケーションにより前記記憶装置に書き込まれたデータのうちの、前記予備系コンピュータにまだ送信していないデータをキューイングする送信キューと、
障害発生の予告を通知する予告通知を受信する受信手段と、
該受信手段により前記予告通知を受信すると、前記業務アプリケーションの実行を停止する制御手段と、
前記受信手段により前記予告通知を受信すると、障害回避のためのデータ送信の開始を示す送信開始情報、前記送信キューにキューイングされているデータ、前記データ送信の完了を示す送信完了情報の順で前記予備系コンピュータへの送信を行う送信手段とを有し、
前記予備系コンピュータは、
記憶装置と、
前記非同期レプリケーションに伴って前記現用系コンピュータからのデータを前記記憶装置に書き込むバックアップ手段とを有し、
該バックアップ手段は、
前記送信開始情報を受信したとき、
該送信開始情報の後に受信したデータを前記記憶装置に書き込むと共に、前記送信開始情報の前に受信したデータが信頼できるデータであることを示す第１の信頼性保障情報を生成して保持し、
前記送信完了情報を受信したとき、
該送信完了情報の前に受信したデータが信頼できるデータであることを示す第２の信頼性保障情報を生成して保持することを特徴とするコンピュータシステム。
【請求項２】
前記送信開始情報は、前記現用系コンピュータにおける前記送信キューの先頭にキューイングされているデータの１つ前に生じたデータの書込時刻が含まれており、
前記送信完了情報は、前記送信キューの末尾にキューイングされているデータの書込時刻が含まれており、
前記予備系コンピュータにおける前記バックアップ手段は、
前記送信開始情報と前記送信完了情報に含まれる書込時刻を夫々前記第１の信頼性保障情報と第２の信頼性保障情報として保持することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
業務アプリケーションが実行されている現用系コンピュータであって、予備系コンピュータとの間で、前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる前記現用系コンピュータにおいて、
前記業務アプリケーションがデータを書き込むための記憶装置と、
前記業務アプリケーションにより前記記憶装置に書き込まれたデータのうちの、前記予備系コンピュータにまだ送信していないデータをキューイングする送信キューと、
障害発生の予告を通知する予告通知を受信する受信手段と、
該受信手段により前記予告通知を受信すると、前記業務アプリケーションの実行を停止する制御手段と、
前記受信手段により前記予告通知を受信すると、障害回避のためのデータ送信の開始を示す送信開始情報、前記送信キューにキューイングされているデータ、前記データ送信の完了を示す送信完了情報の順で前記予備系コンピュータへの送信を行う送信手段とを有し、
前記送信開始情報と前記送信完了情報は、さらに、前記予備系コンピュータに、前記送信完了情報が受信されるまで前記送信開始情報の後に受信したデータが信頼できないことを示すものである、
現用系コンピュータ。
【請求項４】
前記送信開始情報は、前記送信キューの先頭にキューイングされているデータの１つ前に生じたデータの書込時刻が含まれており、
前記送信完了情報は、前記送信キューの末尾にキューイングされているデータの書込時刻が含まれていることを特徴とする請求項３に記載の現用系コンピュータ。
【請求項５】
業務アプリケーションが実行されている現用系コンピュータとの間で、前記現用系コンピュータにおける前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータにおいて、
記憶装置と、
前記非同期レプリケーションに伴って前記現用系コンピュータからのデータを前記記憶装置に書き込むバックアップ手段とを有し、
前記バックアップ手段は、
前記現用系コンピュータが障害発生の予告を通知する予告通知を受信した時に障害回避のために行うデータ送信であって、前記予備系コンピュータにまだ送信されていないデータの送信である前記データ送信の開始を示す送信開始情報を前記現用系コンピュータから受信したとき、
該送信開始情報の後に受信したデータを前記記憶装置に書き込むと共に、前記送信開始情報の前に受信したデータが信頼できるデータであることを示す第１の信頼性保障情報を生成して保持し、
前記現用系コンピュータが前記データ送信の完了後に送信する送信完了情報を受信したとき、
該送信完了情報の前に受信したデータが信頼できるデータであることを示す第２の信頼性保障情報を生成して保持することを特徴とする予備系コンピュータ。
【請求項６】
前記送信開始情報は、前記送信キューの先頭にキューイングされているデータの１つ前に生じたデータの書込時刻が含まれており、
前記送信完了情報は、前記送信キューの末尾にキューイングされているデータの書込時刻が含まれており、
前記バックアップ手段は、前記送信開始情報と前記送信完了情報に含まれる書込時刻を前記第１の信頼性保障情報と第２の信頼性保障情報として夫々保持することを特徴とする請求項５に記載の予備系コンピュータ。
【請求項７】
前記記憶装置とは別の記憶装置をさらに備え、
前記バックアップ手段は、前記第１の信頼性保障情報と前記第２の信頼性保障情報を前記別の記憶装置に書き込むことにより保持することを特徴とする請求項５または請求項６に記載の予備系コンピュータ。
【請求項８】
業務アプリケーションが実行され、障害発生の予告を通知する予告通知を受信可能な現用系コンピュータであって、予備系コンピュータとの間で、前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる前記現用系コンピュータに対して、
前記予告通知を受信した際に、
前記業務アプリケーションの実行を停止し、
障害回避のためのデータ送信の開始を示す送信開始情報、前記業務アプリケーションが記憶装置に書き込まれたデータのうちの、前記予備系コンピュータにまだ送信されていないデータ、前記データ送信の完了を示す送信完了情報の順で前記予備系コンピュータへの送信を行う処理を実行せしめ、
前記送信開始情報と前記送信完了情報は、さらに、前記予備系コンピュータに、前記送信完了情報が受信されるまで前記送信開始情報の後に受信したデータが信頼できないことを示すものである、
プログラム。
【請求項９】
業務アプリケーションが実行されている現用系コンピュータとの間で、前記現用系コンピュータにおける前記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータに対して、
前記現用系コンピュータが障害発生の予告を通知する予告通知を受信した時に障害回避のために行うデータ送信であって、前記予備系コンピュータにまだ送信されていないデータの送信である前記データ送信の開始を示す送信開始情報を前記現用系コンピュータから受信したとき、
該送信開始情報の後に受信したデータを記憶装置に書き込み、
前記送信開始情報の前に受信したデータが信頼できるデータであることを示す第１の信頼性保障情報を生成して保持し、
前記現用系コンピュータが前記データ送信の完了後に送信する送信完了情報を受信したとき、
該送信完了情報の前に受信したデータが信頼できるデータであることを示す第２の信頼性保障情報を生成して保持する処理を実行せしめるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーション、特に非同期方式でデータのレプリケーションを行うコンピュータシステムにおけるデータのバックアップ技術に関する。
【背景技術】
【０００２】
複数のコンピュータを備えたコンピュータシステムの分野において、障害時の対策について様々な視点から手法が提案されている。【０００３】
例えば、特許文献１に開示された計算機システムでは、計算機の障害発生を予測する障害予測手段が備えられ、該障害予測手段により障害発生が予測された計算機上で稼動している全てのサービスを正常終了させると共に、これらのサービスを他の計算機上で再実行させることが行われている。そして、全てのサービスが他の計算機で再実行された後に、上記障害予測手段により障害発生が予測された計算機を停止させる。【０００４】
この計算機システムによれば、システム管理者が介在することなく、計算機に障害が発生する前に障害発生が予測される計算機上で動いているサービスを他の計算機に移し、障害発生が予測される計算機を正常に停止させることができるとされている。【０００５】
また、特許文献２に開示されたコンピュータバックアップシステムにおいて、業務用コンピュータ（現用系コンピュータ）は、コンピュータが破壊される予兆を検出する異常検知センサが設けられており、異常検知センさが上記予兆を検出すると、ネットワークを介してバックアップすべき電子情報をバックアップコンピュータに送信する。バックアップコンピュータは、業務用コンピュータから上記電子情報を受信すると、自身に備えられた記録媒体に保存する。【０００６】
このコンピュータバックアップシステムによれば、災害が発生する直前までに業務用コンピュータにおいて作成された電子情報を保存できるとされている。【０００７】
また、特許文献３に開示されたデータベースシステムにおいて、現用系装置は、トランザクションを処理する現用系ＴＭ（Ｔｒａｎｓａｃｔｉｏｎ  Ｍａｎａｇｅｒ）と、トランザクションにより発生した更新データを反映する現用系ＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を備え、予備系装置は、現用系ＴＭから更新データが通知される予備系ＴＭと、現用系ＤＢＭＳが格納するデータ内容を同一化する予備系ＤＢＭＳを備える。現用系ＴＭは、トランザクションの実行により発生した更新データを現用系ＤＢＭＳに通知すると共に、予備系ＴＭに同期通信で通知し、現用系ＤＢＭＳは、現用系ＴＭからの通知された更新データを自身が管理するデータベースに反映すると共に、非同期通信で予備系ＤＢＭＳに更新データを通知する。予備系ＴＭは、通知された更新データを差分ファイルに記憶し、所定契機にて差分ファイルから更新データを読み取って予備系ＤＢＭＳに通知し、予備系ＤＢＭＳは、現用系ＤＢＭＳまたは予備系ＴＭから取得した更新データを自身が管理するデータベースに反映する。【０００８】
このデータベースシステムによれば、一方の計算機で更新データをまとめ、更新データの制御情報と共に送信し、他方の計算機で制御情報を基に更新データを組み立てて、更新データをトランザクション単位に戻し他方のデータベースに反映させるデータベースの同一化手法を用いる際に、一方の計算機で更新データをまとめる処理途中に障害が発生した場合、該一方の計算機にあるデータベースと他方の計算機にあるデータベースは同一化できない問題を解消し、データベースの同一化の信頼性を高めることができるとされている。【０００９】
なお、特許文献１と特許文献２に開示されたシステムでは、障害の発生は、システムに備えられた異常検知センサや障害予測手段により現用系コンピュータの障害発生を知るようにしているが、例えば、特許文献４に記載のように、災害の発生予測を通知する災害報知情報を受信することにより障害発生を知る手法も知られている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−３３４７１３号公報
【特許文献２】特開２００４−３２６３６５号公報
【特許文献３】特開２００８−３１０５１７号公報
【特許文献４】特開２００７−０９４９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、障害の回避のためのデータのレプリケーション（以下データレプリケーションという）に着目する。障害の回避に備えて、現用系コンピュータにおけるアプリケーションの実行により発生した新しいデータを予備系コンピュータにバックアップする所謂上記データレプリケーションが必要である。【００１２】
現用系コンピュータと予備系コンピュータ間におけるデータレプリケーションの手法としては、大きく分けて同期レプリケーションと非同期レプリケーションが知られている。【００１３】
同期レプリケーションとは、現用系コンピュータは更新対象のデータの発生に同期してそのデータを予備系コンピュータに送信して予備系コンピュータに保存させることを意味する。非同期レプリケーションとは、現用系コンピュータは、更新対象のデータの発生に同期してそのデータを予備系コンピュータに送信した後に、書き込みを行ったアプリケーションに制御を戻すのではなく、発生した更新対象のデータを予備系コンピュータに送信する前に、書き込みを行ったアプリケーションに制御を戻してから、更新対象のデータを予備系コンピュータに送信することを意味する。発生した更新対象のデータを一時的に蓄積しておき、所定の契機で蓄積しておいたデータをまとめて予備系コンピュータに送信しても良い。【００１４】
データレプリケーションに非同期レプリケーションが用いられたシステムによれば、現用系コンピュータおけるデータレプリケーションのための通信待ち時間を抑制することができるという利点がある。しかし、障害が発生したときには、現用系コンピュータからまた予備系コンピュータに送信していないデータが消失してしまい、後に予備系コンピュータを現用系コンピュータにして業務運用する際に、消失したデータに対する復旧処理が必要であり、業務再開に時間がかかるという問題がある。【００１５】
特許文献１に開示された手法は、障害発生が予測された計算機上で実行される全てのサービスを終了させると共に、これらのサービスが他の計算機で再実行された後に、障害発生が予測された計算機を停止させる。特許文献１において、データレプリケーションについての具体的な開示がないが、データレプリケーションに非同期レプリケーションが用いられたと仮定すると、障害発生が予測された計算機上で実行される全てのサービスを他の計算機で再実行させるためには、障害発生が予測された時点までの、まだ他の計算機に送信していないデータを送信する必要がある。【００１６】
しかし、上記処理の完了前に障害が発生してしまうと、障害発生が予測された計算機の上のデータがどこまで他の計算機に送信したか否かを知るすべがなく、他の計算機におけるサービスの再開に支障を来たしてしまう。【００１７】
また、特許文献２に開示された手法は、異常検知センサにより業務用コンピュータが破壊される予兆を検知した際に業務用コンピュータ内のデータをバックアップコンピュータに送信する。この手法は、強いていえば究極の非同期レプリケーションである。この手法も、業務用コンピュータが破壊される予兆を検知してから、バックアップコンピュータへのデータの送信が完了するまでの間に障害が発生した場合に、特許文献１の手法を説明する際に述べたのと同様の問題を有する。【００１８】
特許文献３に開示された手法は、実質的には、データレプリケーションに同期レプリケーションと非同期レプリケーションを併用することにより非同期レプリケーションの上記問題点を解消している。これでは、非同期レプリケーションによる利点を制限してしまうという問題がある。【００１９】
本発明は、上記事情に鑑みてなされたものであり、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証できるレプリケーション技術を提供する。
【課題を解決するための手段】
【００２０】
本発明の１つの態様は、業務アプリケーションが実行されている現用系コンピュータであり、この現用系コンピュータは、予備系コンピュータとの間で、上記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われている。【００２１】
本現用系コンピュータは、上記業務アプリケーションがデータを書き込むための記憶装置と、送信キューと、受信部と、制御部と、送信部を備える。【００２２】
送信キューは、上記業務アプリケーションにより記憶装置に書き込まれたデータのうちの、予備系コンピュータにまだ送信していないデータをキューイングする。受信部は、障害発生の予告を通知する予告通知を受信する。【００２３】
制御部は、受信部により予告通知を受信すると、上記業務アプリケーションの実行を停止する。【００２４】
送信部は、受信部により予告通知を受信すると、障害回避のためのデータ送信の開始を示す送信開始情報、送信キューにキューイングされているデータ、データ送信の完了を示す送信完了情報の順で予備系コンピュータへの送信を行う。【００２５】
本発明の別の態様は、業務アプリケーションが実行されている現用系コンピュータとの間で、現用系コンピュータにおける上記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われる予備系コンピュータである。【００２６】
この予備系コンピュータは、記憶装置と、非同期レプリケーションに伴って現用系コンピュータからのデータを該記憶装置に書き込むバックアップ部を備える。【００２７】
バックアップ部は、現用系コンピュータから送信開始情報を受信したとき、該送信開始情報の後に受信したデータを記憶装置に書き込むと共に、送信開始情報の前に受信したデータが信頼できるデータであることを示す第１の信頼性保障情報を生成して保持する。送信開始情報は、現用系コンピュータが障害発生の予告を通知する予告通知を受信した時に障害回避のために行う「データ送信」の開始を示す情報であり、該「データ送信」とは、予備系コンピュータにまだ送信されていないデータの送信を意味する。【００２８】
また、バックアップ部は、現用系コンピュータが上記「データ送信」の完了後に送信する送信完了情報を受信したとき、該送信完了情報の前に受信したデータが信頼できるデータであることを示す第２の信頼性保障情報を生成して保持する。【００２９】
なお、上記態様の現用系コンピュータまたは予備系コンピュータを方法や、装置、システムに置き換えて表現したもの、該現用系コンピュータまたは予備系コンピュータの動作をコンピュータに実行せしめるプログラム、該プログラムを記録したコンピュータ読取可能な記録媒体、該現用系コンピュータと予備系コンピュータを備えたコンピュータシステムなども、本発明の態様としては有効である。
【発明の効果】
【００３０】
本発明にかかる技術によれば、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証できる。
【図面の簡単な説明】
【００３１】
【図１】本発明にかかる技術の原理を説明するために用いられたコンピュータシステムを示す図である。
【図２】図１に示すコンピュータシステムにおける送信開始情報などの意義を説明するための図である。
【図３】本発明の実施の形態にかかるコンピュータシステムを示す図である。
【図４】図３に示すコンピュータシステムにおける各コンピュータの構成を示す図である。
【図５】図４に示すコンピュータの送信キューにキューイングされる書込データの書込み時刻と一時保持時刻情報との関係を説明するための図である。
【図６】書込データと共に送信キューにキューイングされる付加時刻情報を説明するための図である。
【図７】図３に示すコンピュータシステムにおける同期開始パケットなどの意義を説明するための図である。
【図８】図３に示すコンピュータシステムにおける現用系コンピュータの処理を示すフローチャートである。
【図９】図３に示すコンピュータシステムにおける予備系コンピュータの処理を示すフローチャートである。
【図１０】図３に示すコンピュータシステムにおいて、障害発生後の切替えを説明するための図である。
【発明を実施するための形態】
【００３２】
説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。また、以下の図面に示す各装置の構成は、例えば記憶装置に読み込まれたプログラムをコンピュータ上で実行することにより実現される。また、これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００３３】
本発明の具体的な実施の形態を説明する前に、まず、図１に示すコンピュータシステム１００を参照して本発明にかかる技術の原理を説明する。
【００３４】
図１に示すように、コンピュータシステム１００は、通信可能に接続された現用系コンピュータ１１０と予備系コンピュータ１３０を有する。
【００３５】
現用系コンピュータ１１０は、業務アプリケーションが実行されているコンピュータであり、予備系コンピュータ１３０との間で、現用系コンピュータ１１０における上記業務アプリケーションの実行により生じたデータの非同期レプリケーションが行われている。
【００３６】
データの非同期レプリケーションは、前述したように、データの発生に伴って随時該データを予備系コンピュータに送信し、送信完了後に上記業務アプリケーションへ制御を戻すのではなく、予備系コンピュータにデータを送信する処理とは非同期で上記業務アプリケーションに書き込み制御を戻し、予備系コンピュータにデータを送信してバックアップに供することである。発生したデータを一時的に蓄積しておき、所定の時間間隔毎や、現用系コンピュータの処理負荷が少ないときなど、予め定められた所定の契機にて蓄積したデータをまとめて予備系コンピュータに送信してもよい。また、予備系コンピュータにおいては、現用系コンピュータからのデータを受信する度に自身に備えられた記憶装置に書き込むようにしてもよいし、差分ファイルに蓄積しておき、所定の契機にまとめて差分ファイルから読み出して記憶装置に書き込むようにしてもよい。
【００３７】
コンピュータシステム１００において、現用系コンピュータ１１０と予備系コンピュータ１３０間で行われるデータレプリケーションは、従来知られているいかなる非同期レプリケーションの手法であってもよいため、ここで、本発明にかかる技術を説明する上で必要な点を除き、非同期レプリケーションの詳細、及びそのために必要な機能ブロックの図示を省略する。
【００３８】
図１に示すように、コンピュータシステム１００は、記憶装置１１２、アプリケーション実行部１１４、主処理部１１５、送信部１１６、送信キュー１１８、受信部１２０、制御部１２２を備える。
【００３９】
アプリケーション実行部１１４は、業務アプリケーションの実行、停止などの制御を行う。
【００４０】
主処理部１１５は、業務アプリケーションの実行により生じた書き込みデータを記憶装置１１２に書き込むと共に、記憶装置１１２に書き込んだものと同じデータを送信キュー１１８に蓄積する。
【００４１】
記憶装置１１２は、例えばハードディスクなどの記録媒体であり、主処理部１１５が書き込んだデータを格納する。
【００４２】
送信部１１６は、主処理部１１５が記憶装置１１２へ書き込んだデータと同じデータを予備系コンピュータ１３０に送信するものであり、送信部１１６によるデータの送信は、主処理部１１５による記憶装置１１２への書き込みに対して非同期である。具体的には、送信部１１６は、送信キュー１１８を備え、主処理部１１５が記憶装置１１２に書き込んだデータと同じデータを送信キュー１１８に蓄積し、送信可能であれば順次予備系コンピュータ１３０に送信する。送信可能なときに順次送信する方式ではなく、予め定められた所定の契機にまとめて予備系コンピュータ１３０に送信してもよい。
【００４３】
受信部１２０は、障害発生の予告を通知する予告通知を受信するためのものであり、予告通知を受信すると、その旨を制御部１２２に通知する。
【００４４】
「予告通知」とは、現用系コンピュータ１１０の障害発生を予告するものであり、現用系コンピュータ１１０における障害の発生を予告するいかなる情報であってもよい。例えば、現用系コンピュータ１１０の設置場所における地震などの災害を予告する障害予告機関からの情報や、コンピュータシステム１００に設けられた、現用系コンピュータ１１０のメモリ、ＣＰＵなどの状態を監視した結果から障害発生を予告する手段からの情報であってもよい。
【００４５】
制御部１２２は、受信部１２０により予告通知を受信したときに、障害回避のための制御を、アプリケーション実行部１１４と主処理部１１５に対して行う。
【００４６】
具体的には、制御部１２２は、受信部１２０により予告通知を受信すると、アプリケーション実行部１１４に対して、業務アプリケーションの実行を停止させる。また、送信開始情報、データ送信、送信完了情報の順で予備系コンピュータ１３０への送信が行われるように主処理部１１５を制御する。
【００４７】
上記「データ送信」とは、障害回避のために、送信キュー１１８に格納されたデータを順次予備系コンピュータ１３０に送信することを意味する。また、「送信開始情報」と「送信完了情報」は、上記データ送信の開始と完了を夫々示す情報である。
【００４８】
予備系コンピュータ１３０は、記憶装置１３２とバックアップ部１４０を備える。記憶装置１３２は、例えばハードディスクなどの記録媒体であり、バックアップ部１４０により書き込まれるデータを格納する。バックアップ部１４０は、データの非同期レプリケーションにより現用系コンピュータ１１０からのデータを記憶装置１３２に書き込むと共に、現用系コンピュータ１１０から上記送信開始情報を受信したときに、該送信開始情報の後に受信したデータを記憶装置１３２に書き込むと共に、送信開始情報の前に受信したデータが信頼できるデータである第１の信頼性保証情報を生成して保持する。さらに、現用系コンピュータ１１０から送信完了情報を受信すると、該送信完了情報の前に受信したデータが信頼できるデータである第２の信頼性保証情報を生成して保持する。
【００４９】
上記送信開始情報と送信完了情報は、予備系コンピュータ１３０に対して、障害回避のための現用系コンピュータ１１０からの上記「データ送信」の開始と完了を通知することができれば、いかなる形式であってもよい。例えば、送信開始情報は、上記「データ送信」の開始を示す同期開始パケットや、上記「データ送信」の送信キューに蓄積されたデータの先頭キューの時刻情報などであってもよく、送信完了情報は、上記「データ送信」の完了を示す同期完了パケットや、上記「データ送信」の送信キューに蓄積されたデータの最後尾キューの時刻情報であってもよい。
【００５０】
第１の信頼性保証情報は、送信開始情報の前に受信したデータが信頼できるデータであることを示すことができれば、いかなる形式であってもよい。例えば、送信開始情報の前に最後に受信したデータを示す情報などとすることができる。第２の信頼性情報についても同様であり、送信完了情報の前に受信したデータが信頼できるデータであることを示すことができれば、いかなる形式であってもよい。例えば、送信完了情報の前に最後に受信したデータを示す情報などとすることができる。
【００５１】
すなわち、コンピュータシステム１００において、現用系コンピュータ１１０の受信部１２０により予告通知を受信する前に、現用系コンピュータ１１０と予備系コンピュータ１３０間で、現用系コンピュータ１１０で実行中の業務アプリケーションにより発生したデータの非同期レプリケーションが行われ、予備系コンピュータ１３０に送信待ちのデータが現用系コンピュータ１１０の送信キュー１１８に蓄積される。送信キュー１１８に蓄積されたデータは送信可能であれば順次予備系コンピュータ１３０に送信される。現用系コンピュータ１１０の受信部１２０により予告通知を受信すると、障害回避のために、送信キュー１１８に蓄積されたデータを予備系コンピュータ１３０に送信する「データ送信」が開始されるが、このデータ送信の開始時と完了時に送信開始情報と送信完了情報がそれぞれ送信される。また、予備系コンピュータ１３０においては、送信開始情報が受信されると、該送信開始情報の前に受信したデータが信頼できるデータであることを示す第１の信頼性保証情報が保持され、送信完了情報が受信されると、該送信完了情報の前に受信したデータが信頼できるデータであることを示す第２の信頼性保証情報が保持される。
【００５２】
図２を参照して、送信開始情報、送信完了情報、第１の信頼性保証情報、第２の信頼性保証情報の意義を説明する。図２において、送信開始情報と送信完了情報について、「○」は「予備系コンピュータ１３０が受信した」ことを示し、「×」は「予備系コンピュータ１３０が受信しなかった」ことを示す。また、第１の信頼性保証情報と第２の信頼性保証情報について、「○」は「予備系コンピュータ１３０に保持されていることを示し、「×」は「予備系コンピュータ１３０に保持されていない」ことを示す。
【００５３】
・ケース１
図２に示すように、予備系コンピュータ１３０が現用系コンピュータ１１０から送信開始情報を受信していない（当然ながら送信完了情報も受信していない）場合に、予備系コンピュータ１３０には、第１の信頼性保証情報と第２の信頼性保証情報が保持されない。このケースは、通常の非同期レプリケーションが行われているなど、現用系コンピュータ１１０において障害発生の予告を通知する予告通知を受信しなかった場合である。
【００５４】
・ケース２
一方、予備系コンピュータ１３０が現用系コンピュータ１１０から送信開始情報を受信しており、送信完了情報を受信しなかった場合、予備系コンピュータ１３０には、第１の信頼性保証情報が保持されるが、第２の信頼性保証情報が保持されない。このケースは、現用系コンピュータ１１０が予告通知を受信し、まだ送信していないデータを予備系コンピュータ１３０に送信するデータ送信（以下「データ同期」ともいう）を行ったが、例えばデータ同期中に障害が発生してしまったなど、データ同期が完全にできなかった場合である。
【００５５】
・ケース３
また、予備系コンピュータ１３０が現用系コンピュータ１１０から送信開始情報と送信完了情報の両方を受信した場合、予備系コンピュータ１３０には、第１の信頼性保証情報と第２の信頼性保証情報の両方が保持される。このケースは、現用系コンピュータ１１０が予告通知を受信した後にデータ同期を行い、このデータ同期は完全に行われた場合である。
【００５６】
そのため、後に予備系コンピュータ１３０を現用系コンピュータにして業務アプリケーションを実行する際に、予備系コンピュータ１３０の記憶装置１３２にバックアップされたデータの信頼性の確認が可能であり、業務アプリケーションをどこから実行させるなどの対処が可能である。
【００５７】
例えば、「第１の信頼性保証情報」が保持されており、「第２の信頼性保証情報」が保持されていない上記ケース２の場合、送信開始情報の前に受信したデータが信頼できるデータであることが分かり、信頼できるデータのうちの最後に受信したデータを得たところから業務アプリケーションを実行させることができる。
【００５８】
また、「第１の信頼性保証情報」と「第２の信頼性保証情報」のいずれも保持されている上記ケース３の場合、送信完了情報の前に受信したデータが信頼できるデータであることが分かり、これらのデータのうちの最後に受信したデータを得たところから業務アプリケーションを実行させることができる。
【００５９】
コンピュータシステム１００のこのような構成によって、現用系コンピュータ１１０にて予告通知が受信されるまで、現用系コンピュータ１１０と予備系コンピュータ１３０間でデータの非同期レプリケーションが行われ、現用系コンピュータ１１０にて予告通知が受信されると、現用系コンピュータ１１０と予備系コンピュータ１３０間でデータの同期が行われると共に、データの同期が完全であるか否かすなわちどこまでのデータが信頼できるデータであるかを示す情報（第１の信頼性保証情報、第２の信頼性保証情報）が予備系コンピュータ１３０において生成され保持される。したがって、データレプリケーションに非同期レプリケーションの利点を生かすと共に、障害発生時に、予備系コンピュータにバックアップされたデータの信頼性を保証できる。
【００６０】
また、コンピュータシステム１００において、現用系コンピュータ１１０は、実行中の業務アプリケーションを停止することにより、上記データ同期により受信部１２０に送信するデータの量を抑制することができ、データ同期が完全に行われる確率を高めることができる。
【００６１】
次いで、上記原理を具現化した実施の形態を説明する。
図３は、本発明の実施の形態にかかるコンピュータシステム２００を示す。コンピュータシステム２００は、複数のコンピュータ（図においてコンピュータ２１０とコンピュータ２２０の２つのみを例示）と、障害予告サービス装置２４０を備える。これらのコンピュータと障害予告サービス装置２４０は、ＬＡＮやＷＡＮなどのネットワーク２３０を介して接続されている。
【００６２】
本実施の形態のコンピュータシステム２００に備えられた複数のコンピュータは、同様の構成を有する。図３に示すように、コンピュータ２１０は、オペレーティングシステム（以下ＯＳという）２１４と、レプリケーションソフトウェア２１６と、業務アプリケーション（以下ＡＰ）ＡＰ２１８が実装されており、これらのソフトウェアがデータの読み書きを行う第１の記憶装置２１２と、該第１の記憶装置２１２とは別の第２の記憶装置２１３を有する。同様に、コンピュータ２２０は、ＯＳ２２４と、レプリケーションソフトウェア２２６と、ＡＰ２２８が実装されており、これらのソフトウェアがデータの読み書きを行う第１の記憶装置２２２と、該第１の記憶装置２２２とは別の第２の記憶装置２２３を有する。
【００６３】
図３に示す例において、コンピュータ２１０に実装されたＡＰ２１８と、コンピュータ２２０に実装されたＡＰ２２８が同じ業務アプリケーションであり、実線枠により囲まれたＡＰ２１８は実行されており、点線枠により囲まれたＡＰ２２８は停止されている。すなわち、この場合、コンピュータ２１０は現用系コンピュータであり、コンピュータ２２０は、予備系コンピュータである。また、ＡＰ２１８の実行により生じたデータは非同期レプリケーションによりコンピュータ２２０に送信され、バックアップされる。
【００６４】
障害予告サービス装置２４０は、ネットワーク２３０を介して、障害発生の予告を通知する予告通知を当該コンピュータに送信する。本実施の形態において、障害予告サービス装置２４０は、コンピュータに障害を発生させうる地震などの自然災害の予告を通知するものであり、例えば、災害を予測する機関などに設けられている。
【００６５】
コンピュータシステム２００において、現用系コンピュータと予備系コンピュータは、通常、非同期データレプリケーションを行う。この非同期レプリケーションは、現用系コンピュータと予備系コンピュータに実装されたレプリケーションソフトウェアにより行われる。現用系コンピュータは、予告通知を受信すると実行中の業務アプリケーションを停止する共にデータ同期を開始し、予備系コンピュータは、データ同期にて現用系コンピュータから送信されてきたデータを自身の記憶装置にバックアップする。
【００６６】
図４は、コンピュータシステム２００における各コンピュータの具体的な構成を示す。なお、図４において、上述した「データ同期」に関連する部分のみを示し、他の部分については図示及び説明を省略する。また、本実施の形態において、各コンピュータが同じ構成を有するため、コンピュータ２１０を代表にして説明する。
【００６７】
図４に示すように、コンピュータ２１０は、第１の記憶装置２１２、第２の記憶装置２１３、送受信部３００、制御部３０２、主処理部３１０、Ｉ／Ｏリクエストキュー３１２、送信キュー３１４、伸張部３１６、圧縮部３１８、差分記憶部３２０を有する。これらの機能ブロックは、コンピュータ２１０に備えられたハードウェアと、インストールされたソフトウェアの協働により実現される。
【００６８】
コンピュータ２１０は、現用系コンピュータと予備系コンピュータのいずれにもなり得る。図４において、各機能ブロック間の実線は、コンピュータ２１０が現用系コンピュータであるときのデータや信号の流れを示し、点線は、コンピュータ２１０が予備系コンピュータであるときのデータや信号の流れを示す。
【００６９】
主処理部３１０は、業務アプリケーションを実行する機能と、バックアップ機能を備える。コンピュータ２１０が現用系コンピュータであるときには、業務アプリケーションを実行する機能が実行され、コンピュータ２１０が予備系コンピュータであるときにはバックアップ機能が実行される。すなわち、コンピュータ２１０が現用系コンピュータであるときに主処理部３１０はアプリケーション実行部として動作でき、コンピュータ２１０が予備系コンピュータであるときに主処理部３１０はバックアップ部として動作できる。
【００７０】
以下、現用系コンピュータである場合と予備系コンピュータである場合を分けて、コンピュータ２１０の各機能ブロックの動作を説明する。
【００７１】
＜コンピュータ２１０が現用系コンピュータである場合＞
この場合、主処理部３１０は、業務アプリケーションの実行により生じた書き込みデータをＩ／Ｏリクエストキュー３１２と送信キュー３１４にキューイングする。送信キュー３１４へキューイングする際、後述する一時保持時刻情報を付加時刻情報として当該書き込みデータと一緒にキューイングすると共に、一時保持時刻情報を今回の書き込みの発生時刻（以下書込み時刻という）に更新する。
【００７２】
図５を参照して、データの書込み時刻と一時保持時刻情報の関係を説明する。例として、時間順にデータ０、データ１、データ２、データ３の書込みが発生し、これらのデータの夫々の書込み時刻が時刻０、時刻１、時刻２、時刻３であるとする。
【００７３】
主処理部３１０は、最新の書き込みの発生時刻を一時保持時刻情報として保持する。図５に示すように、時刻０でデータ０の書込みが発生し、時刻０は、一時保持時刻情報として保存される。
【００７４】
次に、時刻１でデータ１の書込みが発生したため、一時保持時刻情報は、時刻１に更新される。
【００７５】
その後、一時保持時刻情報は、データ２の書込み時に時刻２に更新され、データ３の書込み時に時刻３に更新される。
【００７６】
主処理部１１５は、書込みデータを送信キュー３１４へキューイングする際に、更新前の一時保持時刻情報を該データに対応付けてキューイングする。図６を参照して説明する。
【００７７】
データ１の書込み時刻（時刻１）の直前に、保持中の一時保持時刻情報がデータ０の書込み時刻（時刻０）である。そのため、時刻１において、データ１は、時刻０となる付加時刻情報と共に送信キュー３１４へキューイングされる。これに伴い、一時保持時刻情報は、時刻１に更新される。
【００７８】
同様に、データ２の書込み時刻（時刻２）の直前に、一時保持時刻情報が時刻１であるため、時刻２において、データ２は、時刻１となる付加時刻情報と共に送信キュー３１４にキューイングされる。これに伴い、一時保持時刻情報は、時刻２に更新される。
【００７９】
また、データ３の書込み時刻（時刻３）の直前に、一時保持時刻情報が時刻２であるため、時刻３において、データ３は、時刻２となる付加時刻情報と共に送信キュー３１４にキューイングされる。これに伴い、一時保持時刻情報は、時刻３に更新される。
【００８０】
すなわち、本実施の形態において、送信キュー３１４には、書込みデータと、該書込みデータの１つ前の書込みデータの書込み時刻とが対応付けてキューイングされている。
【００８１】
Ｉ／Ｏリクエストキュー３１２は、キューイングされたデータを順次第１の記憶装置２１２にキューアウトする。第１の記憶装置２１２は、Ｉ／Ｏリクエストキュー３１２からのデータを格納する。
【００８２】
また、送信キュー３１４は、キューイングされた書込みデータを順次圧縮部３１８にキューアウトする。圧縮部３１８は、送信キュー３１４からのデータを圧縮して送受信部３００に出力する。送受信部３００は、ネットワーク２３０を介して、圧縮部３１８からのデータ（以下圧縮データという）を順次予備系コンピュータ（この場合コンピュータ２２０となる）に出力する。
【００８３】
上記各処理は、データの非同期レプリケーションのルールに従って行われ、ここで詳細な説明を省略する。
【００８４】
なお、予備系コンピュータと通信できない場合には、主処理部３１０は、データを送信キュー３１４へキューイングせず、差分記憶部３２０に格納する。その後、予備系コンピュータと通信できるようになると、差分記憶部３２０に格納されたデータを送信キュー３１４にキューイングする。
【００８５】
前述したように、本実施の形態において、障害予告サービス装置２４０からの予告通知はネットワーク２３０を介して送信される。すなわち、コンピュータ２１０の送受信部３００は、この予告通知を受信する受信部を兼ねる。
【００８６】
送受信部３００は、予告通知を受信すると、その旨を制御部３０２に通知する。
【００８７】
制御部３０２は、予告通知の受信を制御部３０２から通知されると、主処理部３１０に対して、データ同期の開始命令を出力すると共に、該データ同期の開始命令とは非同期に、業務アプリケーションの停止命令を出力する。業務アプリケーションの停止を待たずにデータ同期の開始命令を出力することで、いち早くデータ同期処理を開始することができ、いち早く第１の信頼性保証情報を予備系に通知することができる。
【００８８】
主処理部３１０は、業務アプリケーションの停止命令を受信すると業務アプリケーションを停止する。これにより、業務アプリケーションによる新しいデータの生成が無くなる。
【００８９】
主処理部３１０は、データ同期の開始命令を受信すると、下記のように動作する。
まず、主処理部３１０は、送信キュー３１４に蓄積されている送信データに割り込み、データ同期の開始を示す「同期開始パケット」を送受信部３００に送信させる。この同期開始パケットには、送信キュー３１４に蓄積されたデータの先頭キューの付加時刻情報が含まれている。この付加時刻情報は、送信キュー３１４の先頭にキューイングされた書込みデータの付加時刻情報、すなわち該書込みデータの１つ前の書込みデータの書込み時刻である。
【００９０】
そして、送信キュー３１４に蓄積されている書込みデータが上記「同期開始パケット」の後に順次送信されるように送信キュー３１４、圧縮部３１８、送受信部３００を制御する。
【００９１】
送信キュー３１４に蓄積された全てのデータが圧縮されて送信されると、主処理部３１０は、データ同期の完了を示す「同期完了パケット」を送受信部３００に送信させる。この同期完了パケットには、現在の一時保持時刻情報、すなわち送信キュー３１４に蓄積されていたデータの最後尾キューの書き込み時刻である。
【００９２】
すなわち、コンピュータ２１０が現用系コンピュータである場合に、障害発生の予告（本実施の形態では災害予告）を通知する予告通知を受信されると、コンピュータ２１０において、実行中の業務アプリケーションが停止されると共に、コンピュータ２１０から、同期開始パケット、送信キュー３１４にキューイングされているデータの圧縮データ、同期完了パケットの順の送信が行われる。
【００９３】
＜コンピュータ２１０が予備系コンピュータである場合＞
この場合、送受信部３００は、データの非同期レプリケーションに伴って現用系コンピュータからのデータを受信する。このデータは、現用系コンピュータで実行中により生じたデータの圧縮データである。
【００９４】
主処理部３１０は、送受信部３００が受信した圧縮データを伸張部３１６に伸張させる。伸張部３１６は、伸張したデータをＩ／Ｏリクエストキュー３１２に出力する。
【００９５】
Ｉ／Ｏリクエストキュー３１２は、伸張部３１６からのデータを第１の記憶装置２１２に順次キューアウトする。第１の記憶装置２１２は、Ｉ／Ｏリクエストキュー３１２からのデータを格納する。
【００９６】
上記処理は、データの非同期レプリケーションが実行される場合の予備系コンピュータ側の処理であり、ここで詳細な説明を省略する。
【００９７】
送受信部３００が「同期開始パケット」を受信すると、主処理部３１０は、第１の信頼性保証情報として、該同期開始パケットに含まれる付加時刻情報をＩ／Ｏリクエストキュー３１２に出力する。また、この付加時刻情報を第２の記憶装置２１３にキューアウトするようにＩ／Ｏリクエストキュー３１２を制御する。
【００９８】
また、主処理部３１０は、「同期開始パケット」の後に送受信部３００が受信した各データを、伸張部３１６に順次伸張させてＩ／Ｏリクエストキュー３１２に出力する。これらのデータについては、主処理部３１０は、第１の記憶装置２１２にキューアウトするようにＩ／Ｏリクエストキュー３１２を制御する。
【００９９】
また、送受信部３００が「同期完了パケット」を受信すると、主処理部３１０は、第２の信頼性保証情報として、該同期完了パケットに含まれる一時保持時刻情報をＩ／Ｏリクエストキュー３１２に出力する。また、この一時保持時刻情報を第２の記憶装置２１３にキューアウトするようにＩ／Ｏリクエストキュー３１２を制御する。
【０１００】
図７を参照して、本実施の形態における同期開始パケット、同期完了パケット、第１の信頼性保証情報、第２の信頼性保証情報の意義を説明する。図２のときと同じように、図７において、同期開始パケットと同期完了パケットについて、「○」は「予備系コンピュータが受信した」ことを示し、「×」は「予備系コンピュータが受信しなかった」ことを示す。また、第１の信頼性保証情報（ここでは、同期開始パケットに含まれる付加時刻情報）と第２の信頼性保証情報（ここでは、同期完了パケットに含まれる一時保持時刻情報）について、「○」は「予備系コンピュータの記憶装置に記録されている」ことを示し、「×」は「予備系コンピュータの記憶装置に記録されていない」ことを示す。
【０１０１】
・ケース１
図７に示すように、予備系コンピュータが現用系コンピュータから同期開始パケットを受信していない（当然ながら同期完了パケットも受信していない）場合に、予備系コンピュータの第２の記憶装置には、同期開始パケットに含まれる付加時刻情報と、同期完了パケットに含まれる一時保持時刻情報が記録されない。このケースは、通常の非同期レプリケーションが行われているなど、現用系コンピュータにおいて障害発生の予告を通知する予告通知を受信しなかった場合である。
【０１０２】
・ケース２
一方、予備系コンピュータが現用系コンピュータから同期開始パケットを受信しており、同期完了パケットを受信しなかった場合、予備系コンピュータの第２の記憶装置には、同期開始パケットに含まれる付加時刻情報が記録されるが、同期完了パケットに含まれる一時保持時刻情報が記録されない。このケースは、現用系コンピュータが予告通知を受信し、まだ送信していないデータを予備系コンピュータに送信するデータ送信（すなわち「データ同期」）を行ったが、データ同期中に障害が発生してしまったなど、データ同期が完全にできなかった場合である。
【０１０３】
・ケース３
また、予備系コンピュータが現用系コンピュータから同期開始パケットと同期完了パケットの両方を受信した場合、予備系コンピュータの第２の記憶装置には、同期開始パケットに含まれる付加時刻情報と同期完了パケットに含まれる一時保持時刻情報の両方が記録される。このケースは、現用系コンピュータが予告通知を受信した後にデータ同期を行い、このデータ同期は完全に行われた場合である。
【０１０４】
図８は、コンピュータシステム２００において、現用系コンピュータにおける処理の流れを示すフローチャートである。
【０１０５】
図８に示すように、現用系コンピュータは、予告通知を受信するまで、業務アプリケーションを実行すると共に、業務アプリケーションの実行により生じたデータの非同期レプリケーションを予備系コンピュータとの間で行う（Ｓ１００：Ｎｏ、Ｓ１０２）。ステップＳ１０２におけるデータの非同期レプリケーションは、具体的には、予備系コンピュータにデータを送信する処理とは非同期で業務アプリケーションに書き込み制御を戻し、送信キューに蓄積されたデータを圧縮して予備系コンピュータに送信する処理である。
【０１０６】
現用系コンピュータにおいて、予告通知を受信すると、制御部により業務アプリケーションの停止命令とデータ同期開始命令が出される（Ｓ１１０、Ｓ１２０）。
【０１０７】
現用系コンピュータの主処理部は、業務アプリケーションの停止命令を受信すると、実行中の業務アプリケーションを停止する（Ｓ１１２）。
【０１０８】
また、現用系コンピュータの主処理部は、データ同期の開始命令を受信すると、送信キューに蓄積されたデータの先頭キューの付加時刻情報を含む同期開始パケットの予備系コンピュータへの送信を送受信部にさせてから、送信キュー内に蓄積されたデータの圧縮、送信を、送信キューが空になるまで行わせる（Ｓ１２４、Ｓ１２６：Ｎｏ、Ｓ１２４〜）。
【０１０９】
送信キュー内の全てのデータの圧縮、送信が完了すると、主処理部は、一時保持時刻情報を含む同期完了パケットの予備系コンピュータへの送信を送信部にさせる。
【０１１０】
図９は、コンピュータシステム２００において、予備系コンピュータにおける処理の流れを示すフローチャートである。
【０１１１】
図９に示すように、予備系コンピュータは、現用系コンピュータから同期開始パケットを受信するまで、現用系コンピュータからのデータ（圧縮データ）のバックアップを行う（Ｓ１５０：Ｎｏ、Ｓ１５２）。ステップＳ１５２におけるバックアップは、具体的には、現用系コンピュータからの圧縮データの伸張、Ｉ／Ｏリクエストキューへのキューイング、Ｉ／Ｏリクエストキューから第１の記憶装置へのキューアウトである。
【０１１２】
同期開始パケットを受信すると、予備系コンピュータの主処理部は、該同期開始パケットに含まれる付加時刻情報を第１の信頼性保証情報として、Ｉ／Ｏリクエストキューを介して第２の記憶装置に記録すると共に、その後、同期完了パケットを受信するまで、現用系コンピュータからの圧縮データのバックアップを行って、第１の記憶装置に書き込む（Ｓ１５０：Ｙｅｓ、Ｓ１６０、Ｓ１６２：Ｎｏ、Ｓ１６４〜）。
【０１１３】
同期完了パケットを受信すると、予備系コンピュータの主処理部は、該同期完了パケットに含まれる一時保持時刻情報を第２の信頼性保証情報として、Ｉ／Ｏリクエストキューを介して第２の記憶装置に記録する（Ｓ１６２：Ｙｅｓ、Ｓ１７０）。
【０１１４】
図１０は、障害の発生後に、手動または自動で業務アプリケーションを実行するコンピュータの切替えを示す例である。
【０１１５】
図１０は、各コンピュータに、レプリケーションソフトウェアと共にＨＡクラスタソフトウェアが実装された場合の例である。各コンピュータに実装されたＨＡクラスタソフトウェアは、互いのコンピュータの状態を監視し、排他的に業務アプリケーションを実行させる。レプリケーションソフトウェアは、業務アプリケーションが実行されているコンピュータと、該業務アプリケーションが実装されているものと、実行されていないコンピュータとの間で非同期のデータレプリケーションを行わせる。ＨＡクラスタソフトウェアは、業務アプリケーションが実行されているコンピュータに障害が発生した場合に、業務アプリケーションを実行するコンピュータの切替えも行う。この切替えは、設定により自動または手動が選択可能である。
【０１１６】
図１０に示すように、この例では、コンピュータ２１０が現用系コンピュータであり、コンピュータ２２０が予備系コンピュータであった場合における切替えの例である。
【０１１７】
障害発生後、現用系であったコンピュータ２１０は停止される。コンピュータ２２０におけるＨＡクラスタソフトウェア２２７は、ＡＰ２２８を実行させる。これにより、予備系であったコンピュータ２２０は、現用系コンピュータに切り替わる。なお、ＨＡクラスタソフトウェア２２７は、ＡＰ２２８を実行させるのに当たり、コンピュータ２２０の第２の記憶装置２２３に、同期開始パケットに含まれる付加時刻情報と、同期完了パケットに含まれる一時保持時刻情報が記録されているか否かを確認し、確認結果に基づいてＡＰ２２８の実行開始ポイントを決定する。
【０１１８】
具体的には、第２の記憶装置２２３に、同期開始パケットに含まれる付加時刻情報のみが記録されている場合には、ＨＡクラスタソフトウェア２２７は、第１の記憶装置２２２に記録された、該送信時刻より前に送信され受信したデータが信頼できるデータとして、これらのデータのうちの最後に受信したデータを得たところからＡＰ２２８を実行させる。一方、第２の記憶装置２２３に、同期開始パケットに含まれる付加時刻情報と、同期完了パケットに含まれる一時保持時刻情報のいずれも記録されている場合には、ＨＡクラスタソフトウェア２２７は、第１の記憶装置２２２に記録された、同期完了パケットの前に受信したデータが信頼できるデータとして、これらのデータのうちの最後に受信したデータを得たところからＡＰ２２８を実行させる。
【０１１９】
本実施の形態のコンピュータシステム２００は、図１に示すコンピュータシステム１００を具現化した例であり、コンピュータシステム１００の各効果を得ることができる。
【０１２０】
また、コンピュータシステム２００において、現用系コンピュータと予備系コンピュータ間で、データが圧縮されて送信されるので、ネットワーク２３０を流れるデータの量を抑制することができる。
【０１２１】
また、予備系コンピュータは、第１の信頼性保障情報と第２の信頼性保障情報を第１の記憶装置とは別の第２の記憶装置に記録することにより、現用系コンピュータと予備系コンピュータの第１の記憶装置内のデータを一致させることができる。
【０１２２】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述各実施の形態に対して、さまざまな変更、増減、組合せを加えてもよい。これらの変更、増減、組合せが加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１２３】
例えば、コンピュータシステム２００において、各コンピュータは、現用系コンピュータと予備系コンピュータの両方の機能が実装されているが、必要に応じて、例えばサーバとなるコンピュータにのみ上記両方の機能を実装するようにしてもよい。また、この場合、現用系サーバに現用系コンピュータの機能のみを実装し、予備系サーバに予備系コンピュータの機能のみを実装するようにしてもよい。
【０１２４】
また、現用系コンピュータの機能を現用系の共有ストレージ装置に実装すると共に、予備コンピュータの機能を予備系の共有ストレージに実装するように運用することができる。
【０１２５】
また、コンピュータシステム２００において、予告通知は、ネットワークを介して受信するようになっているが、予告通知を受信できれば、無線電波など、如何なる通信方式で受信するようにしてもよい。
【０１２６】
この出願は、２０１０年３月８日に出願された日本出願特願２０１０−０５０７８４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１２７】
本発明は、レプリケーション、特に非同期方式でデータのレプリケーションを行うコンピュータシステムにおけるデータのバックアップに利用することができる。
【符号の説明】
【０１２８】
１００  コンピュータシステム  １１０  現用系コンピュータ
１１２  記憶装置  １１４  アプリケーション実行部
１１５  主処理部  １１６  送信部
１１８  送信キュー  １２０  受信部
１２２  制御部  １３０  予備系コンピュータ
１３２  記憶装置  １４０  バックアップ部
２００  コンピュータシステム  ２１０  コンピュータ
２１２  第１の記憶装置  ２１３  第２の記憶装置
２１４  ＯＳ  ２１６  レプリケーションソフトウェア
２１７  ＨＡクラスタソフトウェア  ２１８  アプリケーション
２２０  コンピュータ  ２２２  第１の記憶装置
２２３  第２の記憶装置  ２２４  ＯＳ
２２６  レプリケーションソフトウェア  ２２７  ＨＡクラスタソフトウェア
２２８  アプリケーション  ２３０  ネットワーク
２４０  障害予告サービス装置  ３００  送受信部
３０２  制御部  ３１０  主処理部
３１２  Ｉ／Ｏリクエストキュー  ３１４  送信キュー
３１６  伸張部  ３１８  圧縮部
３２０  差分記憶部
【図１】
0005459389.tif 000002
【図２】
0005459389.tif 000003
【図３】
0005459389.tif 000004
【図４】
0005459389.tif 000005
【図５】
0005459389.tif 000006
【図６】
0005459389.tif 000007
【図７】
0005459389.tif 000008
【図８】
0005459389.tif 000009
【図９】
0005459389.tif 000010
【図１０】
0005459389.tif 000011