(57)【要約】【課題】  障害発生時等に正常系サイトから待機系サイトへ迅速に切り替えて確実に機能を継続し、かつ性能低下を低減したレプリケーションシステムを提供する。【解決手段】  第１のサイト１は、データの書き込みまたは読み込みを伴うシステム機能を提供する。中継転送装置２は、第１のサイト１から更新情報を受けて第１のサイト１におけるレプリケーションのための処理を完了させ、その更新情報を、順次、第２のサイト３に転送する処理を継続的に実行する。第２のサイト３は、第１のサイト１の更新情報を受けて自身に適用することにより第１のサイト１のデータの複製を保持している。そして、第２のサイト３は、システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを実行するとき、そのコマンドの対象となる最新のデータを未だ保持していなければ、必要な更新情報を取得してからコマンドを実行する。【選択図】      図１
2006011848.tif 000002
【特許請求の範囲】
【請求項１】
サイト間でデータのレプリケーションを行うレプリケーションシステムであって、
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトと、
前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトのデータの複製を保持しており、前記第１のサイトの更新情報を全て適用していなくても、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを受け付けることができ、前記コマンドを実行するとき、該コマンドの対象となる最新のデータを未だ保持していなければ、必要な更新情報を取得してから前記コマンドを実行する第２のサイトと、
前記第１のサイトから前記更新情報を受けて前記第１のサイトにおけるレプリケーションのための処理を完了させ、前記更新情報を、順次、前記第２のサイトに転送する処理を継続的に実行する機能を持った転送装置とを有するレプリケーションシステム。
【請求項２】
前記第２のサイトは、前記コマンドを実行するとき、該コマンドの対象となる前記最新のデータを未だ保持していなければ、前記転送装置に前記更新情報の即時転送を要求する、請求項１記載のレプリケーションシステム。
【請求項３】
前記第２のサイトは、前記コマンドを実行するとき、該コマンドの対象となる前記最新のデータを未だ保持していなければ、前記転送装置から前記更新情報が転送されてくるのを待つ、請求項１記載のレプリケーションシステム。
【請求項４】
前記第２のサイトは、前記コマンドを実行するとき、該コマンドの対象となる前記最新のデータを未だ保持しておらずかつ該コマンドが書き込み要求のコマンドであれば、前記コマンドの対象となる最新のデータを前記転送装置から取得することなく前記コマンドを実行し、前記コマンドの実行後に前記コマンドの対象のデータの更新情報が転送されてきても該更新情報を自身に適用しない、請求項１〜３のいずれか１項に記載のレプリケーションシステム。
【請求項５】
前記第２のサイトは、前記コマンドを実行するとき、該コマンドの対象となる前記最新のデータを未だ保持しておらずかつ該コマンドが書き込み要求のコマンドであれば、前記コマンドの対象となる最新のデータを前記転送装置から取得することなく前記コマンドを実行し、前記コマンドの対象のデータの更新情報を転送しないように前記転送装置に指示する、請求項１〜３のいずれか１項に記載のレプリケーションシステム。
【請求項６】
前記第２のサイトは、前記転送装置に保持されている前記更新情報のアドレス情報を保持しており、前記コマンドの対象となる前記最新のデータを保持しているか否かを前記アドレス情報を参照することにより判定する、請求項１〜５のいずれか１項に記載のレプリケーションシステム。
【請求項７】
前記転送装置は、前記更新情報を、順次、前記第２のサイトに転送する処理において、予め設定されたポリシーに基づく転送優先度に従って前記第２のサイトに転送する、請求項１記載のレプリケーションシステム。
【請求項８】
前記ポリシーは前記データの種類毎に設定されている、請求項７記載のレプリケーションシステム。
【請求項９】
前記ポリシーにおいて、前記システム機能を提供するためのアプリケーションの起動または運用に必要不可欠なデータの更新情報を、必ずしも必要でないデータの更新情報より高い転送優先度に設定する、請求項７記載のレプリケーションシステム。
【請求項１０】
前記ポリシーにおいて、前記第１のサイトにて書き込み要求コマンドを発生させたアプリケーション、サーバ、またはユーザーの重要度によって前記転送優先度を分類する、請求項７記載のレプリケーションシステム。
【請求項１１】
前記第１のサイトで書き込み要求が発生することにより前記転送装置に渡された更新情報を、前記第１のサイトでの書き込みに同期して前記第２のサイトに転送すべきか否かが前記ポリシーに設定される、請求項７記載のレプリケーションシステム。
【請求項１２】
前記ポリシーの設定を制御するポリシー制御装置を更に有する、請求項７記載のレプリケーションシステム。
【請求項１３】
前記ポリシー制御装置は少なくとも前記転送装置に接続されており、前記転送装置に対して前記ポリシーを制御するための指示を送る、請求項１２記載のレプリケーションシステム。
【請求項１４】
前記ポリシー制御装置は、前記第１のサイトまたは前記第２のサイトの少なくとも一方の状態を検知しており、検知された前記状態に応じて前記ポリシーを制御する、請求項１２または１３に記載のレプリケーションシステム。
【請求項１５】
前記ポリシー制御装置は、前記第１のサイトの障害を検知すると、該第１のサイトに代わって前記システム機能の提供を前記第２のサイトにて開始するのに必要なデータの更新情報の転送優先度を上げる、請求項１４記載のレプリケーションシステム。
【請求項１６】
前記ポリシー制御装置は、前記第１のサイトまたは前記第２のサイトの少なくとも一方からの要求に応じて前記ポリシーを制御する、請求項１２〜１５のいずれか１項に記載のレプリケーションシステム。
【請求項１７】
前記ポリシー制御装置は、通信ネットワークの状態を検知しており、前記通信ネットワークの状態を前記ポリシーの制御に反映させる、請求項１２〜１６のいずれか１項に記載のレプリケーションシステム。
【請求項１８】
前記ポリシー制御装置は、前記第１のサイトにて論理的な障害が発生すると、該障害が発生した後の更新情報を前記第２のサイトに転送しないように前記ポリシーを制御する、請求項１２記載のレプリケーションシステム。
【請求項１９】
前記ポリシー制御装置は、前記転送装置にある更新情報および通信ネットワークの状態から判断して、前記第２のサイトに更新情報を転送するよりも前記第２のサイトで再作成した方が早く適用できるデータに関する更新情報が前記第２のサイトに転送されないように前記ポリシーを制御する、請求項１２記載のレプリケーションシステム。
【請求項２０】
前記ポリシー制御装置は、前記第２のサイトに更新情報を転送するよりも前記第２のサイトで再作成した方が早く適用できるデータに関する更新情報が前記第２のサイトに転送されないように前記ポリシーを制御するとき、該データの再作成に必要なデータの転送優先度を上げる、請求項１９記載のレプリケーションシステム。
【請求項２１】
前記第１のサイトにて、読み込み要求が発生すると、該読み込み要求の対象のアドレス周辺のデータに関する更新情報の転送優先度を上げる、請求項１２記載のレプリケーションシステム。
【請求項２２】
前記ポリシー制御装置は、前記ポリシーの設定の変更、または検知した状態の少なくとも一部の履歴を記録する、請求項１２〜２１のいずれか１項に記載のレプリケーションシステム。
【請求項２３】
前記ポリシー制御装置は前記転送装置の内部に構成される、請求項１２〜２２のいずれか１項に記載のレプリケーションシステム。
【請求項２４】
前記転送装置は、前記第１のサイトまたは前記第２のサイトの内部に構成される、請求項１〜２３のいずれか１項に記載のレプリケーションシステム。
【請求項２５】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトの更新情報を保持し、順次、第２のサイトに転送する処理を継続的に実行するレプリケーションシステムにおいて、前記第２のサイトを構成するレプリケーション装置であって、
前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを実行する実行処理部と、
前記第１のサイトの複製を保持するデータ蓄積部と、
前記更新情報を前記データ蓄積部に適用するデータ適用部と、
転送されてきた前記更新情報を受けて前記データ適用部に送る機能を持ち、前記実行処理部が前記コマンドを実行するとき、該コマンドの対象となる最新のデータが前記データ蓄積部に未だ保持されていなければ、前記コマンドの実行前に必要な更新情報を取得するデータ取得部とを有するレプリケーション装置。
【請求項２６】
サイト間でデータのレプリケーションを行うレプリケーションシステムにおいて、データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトと、前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトのデータの複製を保持しており、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを実行する第２のサイトとの間で、前記第１のサイトの前記更新情報を前記第２のサイトに転送する転送装置であって、
前記第１のサイトからの前記更新情報を受けて前記第１のサイトにおけるレプリケーションのための処理を完了させる一時記憶部と、
前記一時記憶部が受けた前記更新情報の前記第２のサイトへの転送優先度に関するポリシーを蓄積するポリシー蓄積部と、
前記一時記憶部が受けた前記更新情報を、前記ポリシー蓄積部に蓄積された前記ポリシーの前記転送優先度に従って前記第２のサイトに転送するデータ転送部とを有する転送装置。
【請求項２７】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトの更新情報を保持し、順次、第２のサイトに転送する処理を継続的に実行するレプリケーションシステムにおいて、前記第２のサイトへの前記更新情報の転送に関するポリシーを設定するポリシー制御装置であって、
前記レプリケーションシステムの状況を検知する状況検知部と、
前記状況検知部で検知された状況に応じてデータの転送優先度を決定するポリシー決定部と、
前記ポリシー決定部によって決定された前記転送優先度を前記ポリシーとして設定するポリシー指示部とを有するポリシー制御装置。
【請求項２８】
データの書込みまたは読み込みを伴うシステム機能を提供する第１のサイトと、前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトの複製を保持しており、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供する第２のサイトとの間でデータのレプリケーションを行うレプリケーション方法であって、
前記第１のサイトからの前記更新情報を保持して前記第１のサイトのおけるレプリケーションのための処理を完了させ、保持した前記更新情報を順次前記第２のサイトに転送するステップと、
前記第２のサイトが書き込み要求または読み込み要求のコマンドを実行するとき、該コマンドの対象となる最新のデータが前記第２のサイトに保持されているか判定するステップと、
前記コマンドの対象となる最新のデータが前記第２のサイトに保持されていなければ、必要な更新情報を前記第２のサイトに転送してから前記コマンドを実行するステップとを有するレプリケーション方法。
【請求項２９】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトと、前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトの複製を保持しており、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供する第２のサイトとの間でデータのレプリケーションを行うレプリケーション方法であって、
前記更新情報の前記第２のサイトへの転送優先度に関するポリシーを蓄積しておくステップと、
前記第１のサイトにてデータの更新があると、前記第１のサイトの前記更新情報を保持して前記第１のサイトのおけるレプリケーションのための処理を完了させるステップと、
保持しておいた前記更新情報を前記ポリシーの前記転送優先度に従って前記第２のサイトに転送するステップとを有するレプリケーション方法。
【請求項３０】
前記レプリケーションシステムの状況を検知するステップと、
検知された状況に応じてデータの転送優先度を決定するステップと、
決定された前記転送優先度に設定されるように前記ポリシーを制御するステップとをさらに有する、請求項２９に記載のレプリケーション方法。
【請求項３１】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトからの更新情報を保持し、順次、第２のサイトに転送することにより、前記第２のサイトにて前記第１のサイトの複製を保持するレプリケーションシステムにおいて、コンピュータを前記第２のサイトとして機能させるためのプログラムであって、
転送されてきた前記更新情報を前記複製に順次適用する処理と、
前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを実行するとき、該コマンドの対象となる最新のデータが前記複製として保持されているか否か判定する処理と、
前記最新のデータが未だ保持されていなければ、前記コマンドの実行前に必要な更新情報を取得する処理とをコンピュータに実行させるためのプログラム。
【請求項３２】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトと、前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトのデータの複製を保持しており、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを実行する第２のサイトと、前記第１のサイトの前記更新情報を前記第２のサイトに転送する転送装置とを含むレプリケーションシステムにおいて、コンンピュータを前記転送装置として機能させるためのプログラムであって、
前記更新情報の前記第２のサイトへの転送優先度に関するポリシーを蓄積しておく処理と、
前記第１のサイトから前記更新情報を受けて前記第１のサイトにおけるレプリケーションのための処理を完了させる処理と、
前記第１のサイトから受けた前記更新情報を前記ポリシーの前記転送優先度に従って前記第２のサイトに転送する処理とを前記コンピュータに実行させるためのプログラム。
【請求項３３】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトからの更新情報を保持し、順次、第２のサイトに転送する処理を継続的に実行するレプリケーションシステムにおいて、コンピュータを、前記第２のサイトへの前記更新情報の転送に関するポリシーを設定するポリシー制御装置として機能させるためのプログラムであって、
前記レプリケーションシステムの状況を検知する処理と、
検知された状況に応じてデータの転送優先度を決定する処理と、
決定された前記転送優先度を前記ポリシーとして設定する処理とを前記コンピュータに実行させるためのプログラム。
【請求項３４】
サイト間でデータのレプリケーションを行うレプリケーションシステムであって、
データの書き込みまたは読み込みを伴うシステム機能を提供しており、更新情報を保持し、予め設定されたポリシーに基づく転送優先度に従って転送する処理を継続的に実行する機能を持った第１のサイトと、
前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトのデータの複製を保持しており、前記第１のサイトの更新情報を全て適用していなくても、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システム機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを受け付けることができ、前記コマンドを実行するとき、該コマンドの対象となる最新のデータを未だ保持していなければ、必要な更新情報を取得してから前記コマンドを実行する第２のサイトとを有するレプリケーションシステム。
【請求項３５】
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトの更新情報を保持し、順次、第２のサイトに転送する処理を継続的に実行するレプリケーションシステムにおいて、前記第１のサイトを構成するレプリケーション装置であって、
前記更新情報を受けて保持するストレージ部と、
前記ストレージ部にある前記更新情報の前記第２のサイトへの転送優先度に関するポリシーを蓄積するポリシー蓄積部と、
前記ストレージ部にある前記更新情報を、前記ポリシー蓄積部に蓄積された前記ポリシーの前記転送優先度に従って前記第２のサイトに転送するデータ転送部とを有するレプリケーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、正常系サイトと待機系サイトの間のレプリケーションを行うレプリケーションシステムに関する。
【背景技術】
【０００２】
従来から、災害等が発生しても機能を維持するために正常系（あるいは稼働系）サイトと待機系サイトを備えたコンピュータシステムが用いられている。このようなコンピュータシステムをレプリケーションシステムと呼ぶ。例えば、通常には正常系サイトがシステム機能を提供する動作をしており、正常系サイトが正常に機能できないときには、その正常系サイトに代わって待機系サイトが動作する。
【０００３】
コンピュータシステムとしての機能を提供するために、正常系サイトと待機系サイトは各々にデータを格納するためのストレージを有している。そして、レプリケーションシステムでは、待機系サイトが正常系サイトに代わって動作できるように、正常系サイトのストレージ内のデータが待機系サイトのストレージに複製され、保持される（例えば、非特許文献１参照）。この処理をレプリケーションと呼ぶ。
【０００４】
この種のレプリケーションシステムは、正常系サイトに障害が発生すると、正常系サイトで運用されていた機能を維持するために、正常系サイトで行っていた動作を待機系サイトに切り替える。
【０００５】
また、レプリケーション処理において、正常系サイトから待機系サイトに直接にデータを送信するのではなく、それらの間に中継転送装置を備え、正常系サイトから中継転送装置を介して待機系サイトにデータを送るレプリケーションシステムも提案されている（例えば、特許文献１または非特許文献２参照）。中継転送装置は、正常系サイトと待機系サイトの間で一時的あるいは永続的にデータの保持および転送を行う。
【０００６】
中継転送装置を用いたレプリケーションシステムでは、正常系サイトと待機系サイトが「同期」している場合（以下、「同期レプリケーション」という）と「非同期」の場合（以下、「非同期レプリケーション」という）がある。
【０００７】
同期レプリケーションでは、正常系サイトにおいてストレージにwrite（データの書き込み）があると、それを契機に待機系サイトのストレージにも同じデータのwriteが行われる。他方、非同期レプリケーションでは、待機系サイトのストレージに対するwriteは正常系サイトに対するwriteを契機とせず、事後的に行われる。
【特許文献１】特開２００４−０８６７２１号公報
【非特許文献１】イーエムシー・コーポレーション、EMC SRDF[online][平成16年2月4日検索]、インターネット＜ URL http://japan.emc.com/local/ja/JP/products/networking/srdf.jsp ＞
【非特許文献２】イーエムシー・コーポレーション、EMC Multi-Hop[online],[平成16年2月4日検索]、インターネット＜ URL http://japan.emc.com/local/ja/JP/continuity/popup/srdf#multi#hop.html ＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
障害発生時等には正常系サイトから待機系サイトへ迅速な切り替えを行い、かつ待機系サイトにおいて正常系サイトの機能を確実に継続することにより、コンピュータシステムとしての機能への影響を低減することが要求される。
【０００９】
しかし、従来のレプリケーションシステムでは、正常系サイトから待機系サイトへの同期または非同期のレプリケーションに時間がかかり、待機系サイトのデータが更新されてからの切り替えでは、迅速な切り替えが困難な場合があった。また、待機系サイトのデータ更新が完了する前に切り替えてしまうと、更新前のデータにアクセスされてしまうことがあった。また、最新データへのアクセスを保障するために、更新完了前のアクセスにおいて、アクセス対象が更新されたデータか否かを中継転送装置に問い合わせることとすることも可能であるが、その場合、処理量が増えてスループットの低下などの性能低下が生じる。
【００１０】
また、正常系サイトにおいて論理的障害が発生したときに、レプリケーション処理によってその論理的障害が待機系サイトに再現されてしまい、待機系サイトに切り替えても正常な動作ができないことがあった。
【００１１】
また、コンピュータシステムの機能においては、保持されるデータには様々な重要度レベルのものがあり、障害発生時には、重要度の高いものを優先的に保護すべきであるが、従来のレプリケーションシステムでは、重要度の高いデータが保護されないことがあった。
【００１２】
本発明の目的は、障害発生時等に正常系サイトから待機系サイトへ迅速に切り替えて確実に機能を継続し、かつ性能低下を低減したレプリケーションシステムを提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明のレプリケーションシステムは、サイト間でデータのレプリケーションを行うレプリケーションシステムであって、
データの書き込みまたは読み込みを伴うシステム機能を提供する第１のサイトと、
前記第１のサイトの更新情報を受けて自身に適用することにより前記第１のサイトのデータの複製を保持しており、前記第１のサイトの更新情報を全て適用していなくても、前記第１のサイトに代わってまたは前記第１のサイトの補助として前記システムの機能の少なくとも一部を提供するために書き込み要求または読み込み要求のコマンドを受け付けることができ、前記コマンドを実行するとき、該コマンドの対象となる最新のデータを未だ保持していなければ、必要な更新情報を取得してから前記コマンドを実行する第２のサイトと、
前記第１のサイトから前記更新情報を受けて前記第１のサイトにおけるレプリケーションのための処理を完了させ、前記更新情報を、順次、前記第２のサイトに転送する処理を継続的に実行する機能を持った転送装置とを有している。
【発明の効果】
【００１４】
本発明によれば、第２のサイトは、コマンドの対象の最新のデータが自身に適用されているか否かを確認し、必要な更新情報を自身に適用してからコマンドを実行するので、中継転送装置に格納されている更新情報を全て適用する前に第２のサイトを迅速に運用して第１のサイトの機能を切り替えることでき、かつ、最新のデータが第２のサイトに適用されていない時点でのコマンドについても確実に機能を継続させることができる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施形態について図面を参照して詳細に説明する。
【００１６】
（第１の実施形態）
図１は、本発明の第１の実施形態のレプリケーションシステムの構成を示すブロック図である。第１の実施形態のレプリケーションシステムは、正常系サイト１、待機系サイト３、および中継転送装置２を有し、サービスを提供するコンピュータシステムである。正常系サイト１と中継転送装置２はネットワーク４により接続されている。また、待機系サイト３と中継転送装置２はネットワーク５により接続されている。
【００１７】
正常系サイト１は、通常時に運用されるサイトであり、サーバ１１およびストレージ１２を有している。
【００１８】
ストレージ１２はデータを格納する記憶装置である。一例として、ストレージ１２は、単体のディスク装置、あるいは複数のディスク装置からなるディスクアレイ装置であってもよい。また、他の例として、ストレージ１２は、光磁気装置あるいはそれらの集合であるアレイ装置であってもよい。さらに他の例として、ストレージ１２は、単体あるいは複数の半導体メモリによる記憶装置であってもよい。
【００１９】
サーバ１１は、正常系サイト１で運用されているサービスを実現するアプリケーション、データベース、オペレーティングシステム等を動作させるコンピュータであり、ストレージ１２を利用して処理を行う。
【００２０】
待機系サイト３は、正常系サイト１のデータを複製して保持し、必要に応じてサービスを提供するサイトであり、サーバ３１およびストレージ３２を有している。
【００２１】
待機系サイト３が動作するのは、例えば、正常系サイト１の停止や災害発生時に正常系サイト１に代わってサービスを継続して運用する場合や、正常系サイト１の負荷を分散するために検索等の処理を担当する場合などが考えられる。そして、待機系サイト３は、正常系サイト１に代わってサービスを継続運用するため、正常系サイト１の負荷分散のため、あるいは正常系サイト１のデータのバックアップを行うため、正常系サイト１のデータを遠隔地にてレプリケーションあるいはバックアップする。
【００２２】
サーバ３１は、正常系サイト１に代わってあるいは正常系サイト１と並行して、待機系サイト３で運用されるサービスを実現するアプリケーション、データベース、オペレーティングシステム等を動作させるコンピュータであり、ストレージ３２を利用して処理を行う。そのため、ストレージ３２はストレージ１２と同じデータを保存する機能を果たす。
【００２３】
ストレージ３２は、ストレージ１２と同様に、単体あるいは複数のディスク装置、単体あるいは複数の光磁気装置、または単体あるいは複数の半導体メモリによる記憶装置からなる。
【００２４】
中継転送装置２は、ネットワーク４を介して正常系サイト１と接続し、またネットワーク５を介して待機系サイト３と接続し、正常系サイト１と待機系サイト３の間のレプリケーションにおいて転送されるデータを中継転送する。
【００２５】
ネットワーク４は、インターネットまたは専用線等の通信ネットワークであり、正常系サイト１のサーバ１１またはストレージ１２と中継転送装置２を接続する。ネットワーク５は、インターネットまたは専用線等の通信ネットワークであり、待機系サイト３のサーバ３１またはストレージ３２と中継転送装置２を接続する。また、サーバ１１とストレージ１２の間、サーバ３１とストレージ３２の間も同様に通信ネットワークにより接続される。ここで用いられる通信ネットワークは、例えば、SCSI、ファイバーチャネル(Fibre Channel)、ATA、S-ATA、イーサーネット(Ethernet)、Infiniband等である。
【００２６】
なお、図１では、正常系サイト１、待機系サイト３、および中継転送装置２がそれぞれ１つの場合が示されているが、各サイトが複数であってもよい。
【００２７】
図２は、第１の実施形態における中継転送装置および待機系サイトの詳細な構成を示すブロック図である。図２を参照すると、中継転送装置２は、データ転送部２０１、一時記憶部２０２、およびアドレス取得部２０３を有している。
【００２８】
データ転送部２０１は、一時記憶部２０２に格納されているデータを、中継転送装置２への到着順に待機系サイト３へ定常的に転送する。また、待機系サイト３のストレージ３２から要求があると、データ転送部２０１は、要求されたアドレスに該当するデータを一時記憶部２０２から取り出して待機系サイト３に転送する。
【００２９】
一時記憶部２０２は、正常系サイト１の更新情報を一時格納する記憶媒体であり、データを蓄積する機能を有する。例えば、中継転送装置２に備えられた半導体メモリあるいはストレージ装置が一時記憶部２０２として用いられる。ここで更新情報とは、待機系サイト３に未だ反映されていない正常系サイト１の更新を示す情報である。更新情報は、更新内容を所定の形式で表現したものであってもよく、また更新されたデータそのものであってもよい。
【００３０】
例えば、一実施態様として、一時記憶部２０２は、正常系サイト１に対する書き込み要求のコマンドを更新情報として格納することとしてもよい。コマンドには、書き込みコマンドと読み込みコマンドがあり、これらにはアドレス情報が含まれている。このように一時記憶部２０２が正常系サイト１に対する書き込み要求のコマンドを格納する場合、データ転送部２０１は、そのコマンドを順次待機系サイト３へ転送し、待機系サイト３を更新する。
【００３１】
他の実施態様として、一時記憶部２０２は、正常系サイト１のデータの完全な複製を保持しており、正常系サイト１のデータが更新されたときに、その複製を更新すると共に、更新されたアドレスの情報を記録することとしてもよい。
【００３２】
アドレス取得部２０３は、一時記憶部２０２に格納されているアドレス情報を取得し、待機系サイト３のストレージ３２に送る。一時記憶部２０２のアドレス情報に含まれているアドレスは、正常系サイト１の更新が待機系サイト３に未だ反映されていないアドレスであり、つまり正常系サイト１と待機系サイト３のデータが一致していないアドレスである。
【００３３】
一時記憶部２０２に書き込み要求のコマンドが格納される実施態様では、アドレス取得部２０３は、そのコマンドによってデータが書き込まれるアドレスを取得する。一時記憶部２０２に正常系サイト１の全てのデータの複製が格納される実施態様では、アドレス取得部２０３は、更新対象のアドレスを取得すればよい。
【００３４】
待機系サイト３のストレージ３２は、要求受信部３０１、要求実行処理部３０２、アドレス情報蓄積部３０３、データ取得部３０４、データ適用部３０５、およびデータ蓄積部３０６を有している。
【００３５】
要求受信部３０１は、サーバ３１におけるアプリケーションあるいはオペレーティングシステムの機能により、サーバ３１からストレージ３２に送られたコマンドを受け付ける。待機系サイト３におけるコマンドにも、書き込み要求コマンドと読み込み要求コマンドがある。書き込み要求と読み込み要求を合わせて「Ｒ／Ｗ要求」と呼ぶこととする。
【００３６】
要求実行処理部３０２は、要求受信部３０１にてストレージ３２に対するＲ／Ｗ要求が受け付けられると、Ｒ／Ｗ要求の対象のアドレスのデータブロックの更新情報が、中継転送装置２の一時記憶部２０２に格納されているか否かをアドレス情報蓄積部３０３の情報から調べる。そして、更新情報が一時記憶部２０２に格納されていなければ、要求実行処理部３０２は、即座にストレージ３２に対するＲ／Ｗ要求を実行する。一方、更新情報が一時記憶部２０２に格納されていれば、要求実行処理部３０２は、まず、データ取得部３０４に、そのデータブロックの更新情報の取得を指示し、データ蓄積部３０６のデータが更新されるのを待つ。そして、データ蓄積部３０６のデータが更新されると、要求実行処理部３０２は、データ蓄積部３０６へＲ／Ｗ要求を実行する。
【００３７】
アドレス情報蓄積部３０３は、アドレス取得部２０３から送られてきたアドレス情報を保持する。
【００３８】
データ取得部３０４は、要求実行処理部３０２から取得を指示されたデータを、中継転送装置２のデータ転送部２０１に要求して取得し、データ適用部３０５へ送る。また、データ取得部３０４は、定常的に中継転送装置２のデータ転送部２０１から転送されるデータを受信し、データ適用部３０５に送る。
【００３９】
データ適用部３０５は、データ転送部２０１からデータ取得部３０４に転送されたデータをデータ蓄積部３０６に適用して、待機系サイト３のデータを更新する。
【００４０】
データ蓄積部３０６は、ストレージ３２の記憶部として動作する。データ蓄積部３０６のデータは、要求実行処理部３０２がサーバ３１からのＲ／Ｗ要求を実行することにより、また、データ適用部３０５が中継転送装置２からのデータを適用することにより更新される。
【００４１】
第１の実施形態のレプリケーションシステムにおいて待機系サイトを起動したときの動作について説明する。
【００４２】
図３は、第１の実施形態のレプリケーションシステムの動作を説明するためのフローチャートである。
【００４３】
ここでは、正常系サイト１が何らかの理由で運用を継続ができない状態になったとする。図３を参照すると、そのとき、まず、待機系サイト３のサーバ３１は、正常系サイト１で運用されていたサービスを継続させるために、オペレーティングシステムおよびアプリケーションの起動処理を開始する（ステップＡ１）。
【００４４】
ここで起動処理とは、サーバがサービスを開始するためにＯＳ、ミドルウェア、アプリケーション等を起動する処理である。必要があれば、これらの処理の前にストレージの有効化、ハードウェアの設定変更、接続の変更などの作業が行われる。待機系サイト３のストレージ３２が正常系サイト１からのレプリケーションだけを行っているとき、待機系サイト３のサーバ３１はサービスを提供できない状態になっている場合があり、ここでは、その場合にサーバ３１をサービス提供できる状態にすることをストレージの有効化と称している。
【００４５】
なお、この起動処理は、待機系サイト３のサーバ３１がサービスを開始する必要が生じたときに自動的に行うこととしてもよく、またオペレータによる操作を伴ってもよい。
【００４６】
起動処理中、また起動処理後のシステム運用中に、サーバ３１がストレージ３２に対してＲ／Ｗ要求を発行すると（ステップＡ２）、ストレージ３２の要求受信部３０１が、このＲ／Ｗ要求を受信する（ステップＡ３）。そして、要求実行処理部３０２は、中継転送装置２の一時記憶部２０２に格納されている更新情報のアドレス情報がアドレス情報蓄積部３０３に保存されているか否かを判定する（ステップＡ４）。
【００４７】
ステップＡ４の判定において、アドレス情報蓄積部３０３にアドレス情報が格納されていなければ、アドレス情報蓄積部３０３が中継転送装置２のアドレス取得部２０３にアドレス情報の転送を要求する。この要求を、以下「アドレス情報転送要求」という。そして、後述する、中継転送装置２の「アドレス情報転送処理」により、中継転送装置２から待機系サイト３にアドレス情報が転送され、そのアドレス情報が待機系サイト３のアドレス情報蓄積部３０３に保存される（ステップＡ５）。
【００４８】
次に、要求実行処理部３０２は、Ｒ／Ｗ要求を解析し、Ｒ／Ｗ要求の対象のアドレスのデータブロックの更新情報が、中継転送装置２の一時記憶部２０２に格納されているか否かを、アドレス情報蓄積部３０３の情報から判定する（ステップＡ６）。
【００４９】
ステップＡ６の判定において、一時記憶部２０２にＲ／Ｗ要求の対象のアドレスのデータブロックの更新情報がなければ、要求実行処理部３０２は、即座にデータ蓄積部３０６に対してＲ／Ｗ要求を実行する（ステップＡ７）。
【００５０】
一方、ステップＡ６の判定において、一時記憶部２０２にＲ／Ｗ要求の対象のアドレスのデータブロックの更新情報があれば、要求実行処理部３０２の指示によりデータ取得部３０４は、そのブロックの更新情報の転送を中継転送装置２のデータ転送部３０３に要求する（ステップＡ８）。以下、この要求を「即時転送要求」という。
【００５１】
そのデータブロックの更新情報がデータ転送部２０１からデータ取得部３０４に転送されると、データ適用部３０５が、そのデータブロックの更新を待機系サイト３のデータ蓄積部３０６に適用し（ステップＡ９）、アドレス情報蓄積部３０３からそのデータブロックのアドレス情報を削除する。
【００５２】
これにより中継転送装置２に一時格納されていた更新情報が待機系サイト３に適用されたので、要求実行処理部３０２は、ステップＡ２において受信したＲ／Ｗ要求をデータ蓄積部３０６に対して実行する（ステップＡ７）。ステップＡ８からステップＡ９、Ａ７へと進む一連の処理を「即時転送処理」と呼ぶこととする。
【００５３】
Ｒ／Ｗ要求を実行し終えると、要求実行処理部３０２は、Ｒ／Ｗ要求が終了した旨をサーバ３１に通知し、次のＲ／Ｗ要求を待つ。
【００５４】
図４は、図３のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図４を参照すると、待機系サイト３は、ステップＡ１〜Ａ３の後のステップＡ４にて、更新情報のアドレス情報がアドレス情報蓄積部３０３に保存されているか否かを判定する。ここではアドレス情報がアドレス情報蓄積部３０３に保存されていないので、待機系サイト３は、アドレス情報の転送を要求する命令を中継転送装置２に送り、アドレス情報が送られてくるのを待つ。この要求命令を受けた中継転送装置２は、ステップＡ５の処理により、アドレス情報を待機系サイト３に転送する。
【００５５】
アドレス情報を受けた待機系サイト３は、このアドレス情報を用いてステップＡ６の判定、すなわち、Ｒ／Ｗ要求の対象のアドレスのデータブロックの更新情報が中継転送装置２に格納されているか否か判定する。ここでは更新情報が中継転送装置２に格納されているので、待機系サイト３は、更新情報転送要求を中継転送装置２に送り、更新情報が送られてくるのを待つ。この要求を受けた中継転送装置２は、ステップＡ８の処理により、更新情報を待機系サイト３に転送し、更新情報削除命令を待つ。
【００５６】
更新情報を受けた待機系サイト３は、ステップＡ９にて、その更新情報を自身に適用した後、中継転送装置２に更新情報削除命令を送る。この更新情報削除命令を受けた中継転送装置２は、待機系サイト３に送った更新情報を自身の一時記憶部２０２から削除する。
【００５７】
また、更新情報削除命令を送った待機系サイト３は、更新情報が適用された最新の状態で、ステップＡ７にて要求処理を実行する。
【００５８】
図５は、図３のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図５を参照すると、ステップＡ４の判定がＹｅｓ、すなわち待機系サイト３がアドレス情報を保持しているので、待機系サイト３からの要求で中継転送装置２から待機系サイト３にアドレス情報が送られる処理が無い点が図４と異なる。
【００５９】
図６は、図３のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図６を参照すると、ステップＡ４の判定がＹｅｓなので、図５と同様に、中継転送装置２から待機系サイト３にアドレス情報が送られる処理が無い。また、ステップＡ６の判定がＮｏ、すなわちＲ／Ｗ要求の対象の更新情報が中継転送装置２に格納されていないので、待機系サイト３は、そのまま要求処理を実行する。
【００６０】
図７は、図３のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図７を参照すると、ステップＡ４の判定がＹｅｓなので、図４と同様に、中継転送装置２から待機系サイト３ヘアドレス情報を転送している。また、ステップＡ６の判定がＮｏなので、図６と同様に、待機系サイト３は更新情報の取得および適用を行うことなく、そのまま要求処理を実行している。
【００６１】
第１の実施形態における正常系サイトにおける書き込み要求に対する動作について説明する。
【００６２】
図８は、第１の実施形態の正常系サイトの動作を説明するためのフローチャートである。図８を参照すると、まず、サーバ１１からストレージ１２に対する書き込み要求コマンドが発行されたとすると（ステップＢ１）、ストレージ１２は、その書き込み要求コマンドを自身に適用する。
【００６３】
次に、正常系サイト１は、その書き込み要求コマンドを更新情報として、あるいはそのコマンドによって更新されたデータブロックのアドレスおよびデータを更新情報として、ネットワーク４を介して中継転送装置２へ転送する（ステップＢ２）。
【００６４】
書き込み要求コマンドが更新情報として転送される実施態様では、中継転送装置２は、その書き込み要求コマンドを受けると、そのコマンドを一時記憶部２０２に適用あるいは格納する（ステップＢ３）。また、更新されたデータブロックのアドレスおよびデータが更新情報として転送される実施態様では、中継転送装置２は、それを受けると、そのデータを一時記憶部２０２に適用する（ステップＢ３）。一時記憶部２０２への適用あるいは格納が終わると、ストレージ１２は、最後に、サーバ１１に対して、書き込み処理が終了したことを通知する（ステップＢ４）。
【００６５】
図８の処理は、サーバ１１がストレージ１２に対して書き込み要求コマンドを発行する毎に繰り返される。これにより、ストレージ１２に対する全ての更新情報は中継転送装置２へ転送されることとなる。そのため、正常系サイト１に障害が発生しても更新されたデータが失われることはない。
【００６６】
図９は、図８のフローチャートに示したシステム動作おける装置間の動作を示すシーケンス図である。図９を参照すると、
正常系サイト１のサーバ１１は、ステップＢ１にて、ストレージ１２に対して書き込み（Ｗｒｉｔｅ）要求コマンドを発行し、書込み終了の通知を待つ。このコマンドを受けたストレージ１２は、ステップＢ２にてコマンドを自身に適用すると共に更新情報を中継転送装置２に転送し、中継転送装置２から蓄積が完了した旨の通知を待つ。
【００６７】
更新情報を受けた中継転送装置２は、ステップＢ３にて、それを自身に蓄積した後に蓄積完了通知をストレージ１２に送る。蓄積完了通知を受けたストレージ１２は、サーバ１１に書込み終了の通知を送る。書込完了通知を受けることにより、サーバ１１は、発行した書き込み要求が正常に処理されたことを確認する。
【００６８】
第１の実施形態の中継転送装置の動作について説明する。
【００６９】
図１０は、第１の実施形態の中継転送装置の動作を説明するためのフローチャートである。図１０を参照すると、まず、中継転送装置２のアドレス取得部２０３が、ストレージ３２からアドレス情報の取得要求を受けたか否かを判定する（ステップＣ１）。取得要求を受けていれば、アドレス取得部２０３は、後述する「アドレス情報転送処理」を行う（ステップＣ２）。
【００７０】
ステップＣ１の判定で取得要求を受けていないか、あるいはステップＣ２の処理を行った後、中継転送装置２は、図３のステップＡ８の処理によるデータ取得部３０４からの「即時転送要求」がデータ転送部２０１にて受信されているか否か判定する（ステップＣ３）。
【００７１】
即時転送要求が受信されていなければ、中継転送装置２は、通常通りの更新情報（あるいはデータ）の転送を行う（ステップＣ４）。すなわち、データ転送部２０１は、一時記憶部２０２に格納されている、更新され、転送の必要なデータブロックの更新情報を到着順に取り出し、その更新情報（またはそれにより示されたデータ）を待機系サイト３のストレージ３２に転送する。
【００７２】
また、ステップＣ３の判定において、即時転送要求が受信されていれば、中継転送装置２のデータ転送部２０１は、その即時転送要求コマンドによって要求されたアドレスのデータブロックの更新情報を一時記憶部２０２から取り出し（ステップＣ５）、更新情報（またはそれによって示されたデータ）をストレージ３２に転送する（ステップＣ６）。そのようなデータブロックの更新情報が複数あれば、データ転送部２０１は、到着順に、全ての更新情報を取り出して転送する。同じデータブロックに対して複数回の更新がある場合、最後の更新情報のみを取り出して用いることとし、それ以前に到着した更新情報は破棄する。
【００７３】
ステップＣ４、ステップＣ６においてストレージ３２のデータ取得部３０４に対して更新情報を転送し終えると、中継転送装置２は、その更新情報を一時記憶部２０２から削除する。あるいは削除の代わりに、例えば、転送済みであることを示すフラグを付与するなどの方法により、転送不要となった旨の表示を付与する処理を行うこととしてもよい。
【００７４】
中継転送装置２がステップＣ４またはステップＣ６の処理を行うと、ストレージ３２のデータ取得部３０４は、中継転送装置２のデータ転送部２０１から転送された更新情報（またはデータ）を受信する。そして、データ取得部３０４は、それをデータ蓄積部３０６に適用するために「データ適用処理」を行う（ステップＣ７）。「データ適用処理」の詳細については後述する。
【００７５】
最後に、中継転送装置２は、ストレージ３２にデータを転送していない更新情報が一時記憶部２０２に残っているか否か判定する（ステップＣ８）。更新情報が残っていれば、中継転送装置２は、ステップＣ１の処理に戻ってデータ転送を繰り返す。更新情報が残っていなければ、中継転送装置２は処理を終了し、一時記憶部２０２にて新たな更新情報が受信されるのを待つ。
【００７６】
図１１は、図１０のフローチャートにて示した動作の中で、ステップＣ１の判定がＹｅｓ、ステップＣ３の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図１１を参照すると、待機系サイト３がアドレス情報要求を発行しているので、中継転送装置２はステップＣ１にてＹｅｓと判定する。そして、中継転送装置２は、ステップＣ２にてアドレス情報を待機系サイト３に転送する。
【００７７】
アドレス情報を受けた待機系サイト３は、それによって自身の保持するアドレス情報を更新する。ここでは、待機系サイト３は、そのアドレス情報に基づき即時転送要求を中継転送措置２に送ることとする。なお、ここで示した即時転送要求のタイミングは一例であり、これに限定されるものではない。
【００７８】
即時転送要求を受けた中継転送装置２は、ステップＣ３にてＹｅｓと判定するので、ステップＣ５、Ｃ６にて更新情報を待機系サイト３に転送する。更新情報を受けた待機系サイト３は、ステップＣ７にて、その更新情報を自身に適用した後、更新情報の削除を中継転送装置２に要求する。中継転送装置２は、この要求に従って更新情報を削除する。また、ここで中継転送装置２にさらに更新情報が残っているとすると、中継転送装置２はステップＣ８にてＹｅｓと判定し、ステップＣ１の処理に戻る。
【００７９】
図１２は、図１０のフローチャートにて示した動作の中で、ステップＣ１の判定がＮｏ、ステップＣ３の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図１２を参照すると、待機系サイト３から中継転送装置２にアドレス情報が要求されていないので、中継転送装置２は、ステップＣ１にてＮｏと判定することとなる。また、待機系サイト３から中継転送装置２に即時転送要求が発行されているので、中継転送装置２は、ステップＣ３にてＹｅｓと判定し、それ以降、図１１と同じ処理を行うこととなる。
【００８０】
図１３は、図１０のフローチャートにて示した動作の中で、ステップＣ１の判定がＮｏ、ステップＣ３の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図１３を参照すると、待機系サイト３から中継転送装置２に即時転送要求が発行されていないので、中継転送装置２は、ステップＣ４にて、通常通りの定期的な更新情報の転送を行う。更新情報を受けた待機系サイト３の処理は図１１と同様である。
【００８１】
図１０のステップＣ２に示した「アドレス情報転送処理」について詳細に説明する。
図１４は、第１の実施形態のアドレス情報転送処理を説明するためのフローチャートである。まず、中継転送装置２のアドレス情報取得部２０３が、待機系サイト３のストレージ３２から、一時記憶部２０２内のアドレス情報の取得を要求する「アドレス情報転送要求」を受信したとする（ステップＤ１）。アドレス情報取得部２０３は、一時記憶部２０２を走査して、そこに格納されている書き込み要求コマンドを取り出す。さらに、アドレス情報取得部２０３は、それらのコマンドを解析して、コマンドの対象ブロックのアドレスリスト情報を作成する（ステップＤ２）。最後に、アドレス情報取得部２０３は、作成シタアドレスリスト情報を、ストレージ３２のアドレス情報蓄積部３０３に転送する（ステップＤ３）。
【００８２】
図１０のステップＣ７に示した「データ適用処理」について詳細に説明する。
【００８３】
図１５は、第１の実施形態のデータ適用処理を説明するためのフローチャートである。まず、待機系サイト３のストレージ３２のデータ取得部３０４は、中継転送装置２のデータ転送部２０１から転送された更新情報（またはデータ）を受信し（ステップＥ１）、データ適用部３０５に送る。
【００８４】
次に、データ適用部３０５は、それをデータ蓄積部３０６に適用する（ステップＥ２）。これにより、データ蓄積部３０６のデータが更新される。最後に、データ適用部３０５は、ステップＤ２で適用したデータの対象のブロックのアドレス情報を、アドレス情報蓄積部３０３から削除し（ステップＥ３）、ステップＥ１の処理に戻る。
【００８５】
以上、説明したように、本発明の第１の実施形態によれば、起動処理中または起動後の待機系サイト３にてＲ／Ｗ要求のコマンドが発行されると、待機系サイト３は、コマンドの対象のアドレスのデータブロックについての更新情報が中継転送装置２に蓄積されているか否か（すなわち自身に適用されていない更新情報があるか否か）を確認し、必要な更新情報を自身に適用してからＲ／Ｗ要求のコマンドを実行する。そのため、中継転送装置２の一時記憶部２０２に格納されている、待機系サイト３のストレージ３２に適用すべき更新情報をストレージ３２に全て適用する前に待機系サイト３を迅速に運用し、正常系サイト１の機能を切り替えることできる。また、最新のデータが待機系サイト３に適用されていない時点でのコマンドについても確実に機能を継続させることができる。
【００８６】
また、コマンド対象の最新のデータが未だ待機系サイト３に適用されていない状態では、待機系サイト３は必要な更新情報を自身に適用するために中継転送装置２に即時転送要求をするので、最新のデータが適用されていない状態から短時間でコマンド実行の準備を行うことができる。
【００８７】
また、本実施形態によれば、待機系サイト３から中継転送装置２に要求することにより、中継転送装置２の一時記憶部２０２に格納されている更新情報の対象のアドレス情報が待機系サイト３のストレージ３２に転送されるので、起動処理中の待機系サイト３にてＲ／Ｗ要求コマンドが発行された場合でも、その対象のアドレス情報が転送された後であれば、待機系サイト３は、個々のコマンドに対してデータブロックの更新の有無を中継転送装置２に問い合わせることなくＲ／Ｗ要求コマンドを実行することができ、待機系サイト３におけるストレージアクセスの性能低下が少ない。
【００８８】
また、本実施形態によれば、待機系サイト３は、Ｒ／Ｗ要求が発生したとき、その対象ブロックの更新情報が中継転送装置２にあるか否かを確認するので、Ｒ／Ｗ要求が発生したとき、更新情報が中継転送装置２にある状態で、待機系サイト３の古いデータにアクセスすることによってエラーが引き起こされることが無い。
【００８９】
また、本実施形態によれば、待機系サイト３は、読み込み要求コマンドに対して、中継転送装置２に読み込み要求の対象のデータブロックに対する更新情報が存在すれば、中継転送装置２から更新情報を即時に取得し適用してから読み込み要求の処理を行うので、待機系サイト３の更新前のデータにアクセスしてしまうことがない。また、即時転送のため、読み込みが完了するまでの応答時間が必要以上に長くなることがない。
【００９０】
また、本実施形態によれば、待機系サイト３は、書き込み要求コマンドに対して、中継転送装置２に書き込み要求の対象のデータブロックに対する更新情報が存在すれば、中継転送装置２から更新情報を即時に取得し適用してから書き込み要求の処理を行うので、サーバ３１の書き込み要求によるデータが後に上書きされてしまうことがない。
【００９１】
また、本実施形態によれば、中継転送装置２に格納されている更新情報の対象のデータブロックのアドレス情報が待機系サイト３に取得され、所持されるので、待機系サイト３は中継転送装置２に問い合わせることなく、更新が必要か否かを知ることができ、中継転送装置２に更新情報が格納されているデータブロック以外のアドレスに対する待機系サイト３のアクセスではアクセス性能は、ほとんど低下しない。
【００９２】
また、本実施形態によれば、待機系サイト３は、中継転送装置２に格納されている更新情報の対象のデータブロックのアドレス情報を取得、所持し、中継転送装置２からの更新情報を適用すると、適用したデータブロックのアドレス情報を削除するので、待機系サイト３から中継転送装置２へアドレス情報を繰り返して問合せる必要がない。
【００９３】
図３では、ステップＡ６において、対象のデータブロックの更新情報が中継転送装置２にあった場合の処理について、その一例が示されているが、その他にも様々な処理を用いることができる。
【００９４】
中継転送装置２に更新情報があった場合の他の処理例について説明する。
【００９５】
（第１の実施形態の変形例１）
図１６は、第１の実施形態における他の処理例を示すフローチャートである。図１６を参照すると、ステップＡ１〜Ａ９の処理は図３に示したものと同様である。図１６のフローチャートでは、ステップＡ６の判定において、一時記憶部２０２にＲ／Ｗ要求の対象のアドレスのデータブロックの更新情報があると、要求実行処理部３０２は、このＲ／Ｗ要求のコマンドが書き込みか読み込みかを調べて判定する（ステップＡ１０）。書き込み要求であれば、図３と同様のステップＡ８、９の処理へ進み、中継転送装置２の更新情報を即時に待機系サイト３に適用する。
【００９６】
一方、読み込み要求であれば、要求実行処理部３０２は、そのコマンドの対象のデータブロックの更新情報をデータ処理部３０４が受信し、そのデータがデータ適用部３０５によってデータ蓄積部３０６に適用されるまで待ち（ステップＡ１１）、その後にステップＡ７の処理に進む。ステップＡ１１では、ステップＡ８の処理のように、中継転送装置２にある更新情報の即時転送を要求するようなことをせず、中継転送装置２のデータ転送部２０１による順次の転送によって転送されるまで待ち合わせるという処理が行われる。このステップＡ１１の処理を、以下「転送待ち処理」と呼ぶこととする。つまり、図３では、待機系サイト３のＲ／Ｗ要求コマンドが書き込み、読み込みのいずれでも「即時転送処理」を行うのに対して、図１６では、書き込み要求であれば「即時転送処理」を行い、読み込み要求であれば「転送待ち処理」を行う。
【００９７】
図１７は、図１６のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。なお、中継転送装置２は、一時記憶部２０２に格納している更新情報を順次待機系サイト３に転送し、ストレージ３２に適用する処理も行うが、図面の簡単化のためここでは省略してある。（以下同様に、更新情報を順次転送する処理が重要でないところでは図面簡単化のためシーケンス図から省く。）
まず、待機系サイト３のサーバ３１は、ステップＡ１、Ａ２にてＲ／Ｗ要求をストレージ３２に発行する。ステップＡ３にてＲ／Ｗ要求を受けたストレージ３２は、ステップＡ４にて、アドレス情報がアドレス情報蓄積部３０３に保存されているかを判定する。ここではＮｏと判定されるので、ストレージ３２は中継転送装置２にアドレス情報の転送を要求する。中継転送装置２は、ステップＡ５にて、アドレス情報をストレージ３２に転送する。
【００９８】
アドレス情報を取得したストレージ３２は、ステップＡ６にて、Ｒ／Ｗ要求の対象となているデータブロックの更新情報が中継転送装置２に格納されているか否か判定する。ここではＹｅｓと判定されるので、ストレージ３２は、さらにステップＡ１０にてＲ／Ｗ要求が書き込み要求か否か判定する。ここではＹｅｓと判定されるので、待機系サイト３は、中継転送装置２に更新情報の即時転送を要求する。その要求を受けた中継転送装置２は、ステップＡ８にて、更新情報をストレージ３２に送る。
【００９９】
所望の更新情報を取得したストレージ３２は、ステップＡ９にて、それを自身に適用し、ステップＡ７にて、要求処理（ここでは書き込み要求）を実行し、Ｒ／Ｗ要求の処理の完了をサーバ３１に通知する。
【０１００】
図１８は、図１６のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図１８を参照すると、ステップＡ４の判定がＹｅｓなので、アドレス情報を転送する処理を行わずに、ステップＡ６の判定に進む。ステップＡ６の判定がＹｅｓと判定されるので、ストレージ３２は次にステップＡ１０の判定に進む。
【０１０１】
そして、ここでは、ステップＡ１０の判定はＮｏと判定される、すなわちＲ／Ｗ要求は読み込み要求なので、ストレージ３２は、ステップＡ１１にて、所望のデータブロックの更新情報が転送されるのを待つ。この間も中継転送装置２は、ストレージ３２に更新情報を順次転送している。所望の更新情報が転送されてくると（図では３度目の転送処理にて）、ストレージ３２は、ステップＡ７にて要求処理（ここでは読み込み要求）を実行する。
【０１０２】
図１９は、図１６のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図１９を参照すると、ステップＡ４の判定がＹｅｓなので、アドレス情報を転送する処理を行わずに、ステップＡ６の判定に進む。ステップＡ６の判定がＮｏ（すなわち対象アドレスの更新情報が中継転送装置２にない）と判定されるので、ストレージ３２は、即座に、ステップＡ７にて要求処理を実行する。
【０１０３】
以上説明したように、図１６の処理によれば、待機系サイト３に対する書き込み要求は即時に実行され、読み込み要求は定期的な転送を待って実行される。この処理例は、読み込み時にはキャッッシュにデータがなければディスクにアクセスするという一般的なキャッシュを利用したディスクのアクセス特性に近似した特性を示すので、多くのアプリケーションの処理と良好に整合する。
【０１０４】
また、即時転送の処理は、頻度が高くなければアプリケーションの効率的な実行に寄与するが、オーバーヘッドとなる処理を伴うので短時間に集中すると処理が輻輳してアプリケーションの効率的な実行を妨げる場合がある。この処理例では、同一データブロックからの読み込み要求が短時間に集中するようなアクセス特性のアプリケーションにおいて、定期的にまとめて転送されるのを待つことで、即時転送の処理の集中を緩和することができる。
【０１０５】
（第１の実施形態の変形例２）
図２０は、第１の実施形態における、さらに他の処理例を示すフローチャートである。図２０を参照すると、ステップＡ１〜Ａ９の処理は図１６（変形例１）に示したものと同様である。図２０のフローチャートでは、ステップＡ１０の判定において、Ｒ／Ｗ要求のコマンドが読み込み要求であれば、図３と同様のステップＡ８、９の処理へ進み、書き込み要求であれば、ステップＡ１１の処理に進む。
【０１０６】
つまり、変形例１では、待機系サイト３のＲ／Ｗ要求コマンドが書き込み要求であれば「即時転送処理」を行い、読み込み要求であれば「転送待ち処理」を行のに対して、変形例２では、それとは逆に、待機系サイト３のＲ／Ｗ要求コマンドが読み込み要求であれば「即時転送処理」を行い、書き込み要求であれば「転送待ち処理」を行う。
【０１０７】
図２１は、図２０のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図２１を参照すると、ステップＡ１０の判定までは図１８と同じ処理である。ここではステップＡ１０にてＹｅｓ（すなわち書き込み要求）と判定されるので、ストレージ３２は、ステップＡ１１にて更新情報が転送されるのを待ち、ステップＡ７にて要求処理（ここでは書き込み要求）を実行する。
【０１０８】
図２２は、図２０のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図２１を参照すると、ステップＡ１０の判定までは図１７と同じ処理である。ここではステップＡ１０にてＮｏ（すなわち読み込み要求）と判定されるので、ストレージ３２は、図１７における書き込み要求と同様に、ステップＡ８、Ａ９にて即時に更新情報を取得し、ステップＡ７にて要求処理を実行する。
【０１０９】
上述したように即時転送の処理は、頻度が高くなければアプリケーションの効率的な実行に寄与するが、オーバーヘッドとなる処理を伴うので短時間に集中すると処理が輻輳してアプリケーションの効率的な実行を妨げる場合がある。この処理例では、同一データブロックへの書き込み要求が短時間に集中するようなアクセス特性のアプリケーションにおいて、定期的にまとめて転送されるのを待つことで、即時転送の処理の集中を緩和することができる。
【０１１０】
（第１の実施形態の変形例３）
図２３は、第１の実施形態における、さらに他の処理例を示すフローチャートである。図２３を参照すると、ステップＡ１〜Ａ７、Ａ１１の処理は図１６、２０に示した変形例１、２と同様である。図２３のフローチャートでは、ステップＡ６の判定において、一時記憶部２０２にＲ／Ｗ要求の対象のアドレスのデータブロックの更新情報があると、要求実行処理部３０２は、図１６、２０にもあるステップＡ１１の処理に進む。
【０１１１】
つまり、図３では、書き込み、読み込みのいずれでも「即時転送処理」を行うのに対して、図２３の変形例３では、書き込み要求、読み込み要求のいずれの場合でも「転送待ち処理」を行う。
【０１１２】
図２４は、図２３のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図２５を参照すると、ステップＡ６の判定までは図１７と同じ処理である。ここではステップＡ６にてＹｅｓ（所望のデータブロックの更新情報が中継転送装置２にある）と判定されるので、ストレージ３２は、次にステップＡ１１にて、更新情報が転送されるのを待ち、ステップＡ７にて要求処理を実行する。
【０１１３】
図２５は、図２３のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。本変形例３ではステップＡ４の判定がＹｅｓの場合、図１９に示した変形例１と同じ処理となる。
【０１１４】
図２６は、第１の実施形態の変形例３における中継転送装置の動作を説明するためのフローチャートである。図２６において、各ステップの処理は、図１０に示したものと同じである。図２６のフローチャートが図１０のフローチャートと異なるのは、ステップＣ１の判定において取得要求を受けていないとき、およびステップＣ２の処理の後、ステップＣ３の判定を行うことなく、無条件でステップＣ４の処理に進む点である。すなわち、本変形例３では図２６に示したように「即時転送処理」が無いので、中継転送装置２は、即時転送要求があるか否かを判定することなく無条件で通常通りのデータ転送を行っている。
【０１１５】
図２７は、図２６のフローチャートにて示した動作の中でステップＣ１の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図２７を参照すると、ここでは待機系サイト３は何らかの契機でアドレス情報転送要求を中継転送装置２に送っている。
【０１１６】
中継転送装置２は、ステップＣ１の判定にてＹｅｓ（すなわちアドレス情報転送要求が来ている）と判定するので、ステップＣ２にて、アドレス情報転送処理を行うことにより待機系サイト３にアドレス情報を転送する。
【０１１７】
また、中継転送装置２は、順次、更新情報を待機系サイト３に転送する。更新情報を受けた待機系サイト３は、ステップＣ７にて、それを自身に適用し、適用した更新情報の削除を中継転送装置２に要求する。その要求を受けた中継転送装置２は、更新情報を削除し、ステップＣ８の判定に進む。
【０１１８】
図２８は、図２６のフローチャートにて示した動作の中でステップＣ１の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図２８を参照すると、ここでは待機系サイト３はアドレス情報転送要求を中継転送装置２に送っていない。
【０１１９】
中継転送装置２は、ステップＣ１の判定にてＮｏ（すなわちアドレス情報転送要求が来ていない）と判定するので、ステップＣ４の処理に進み、以下、図２７と同様の処理を行う。
【０１２０】
以上説明したように、本変形例によれば、更新情報を取得しなくても実行できる要求処理を即時に行い、更新情報の取得が必要な処理は更新情報が転送されてくるのを待って処理するので、即時転送処理を行うことなく、待機系サイト３が早期にサービスを開始することができ、即時転送処理の輻輳によるアクセス性能の低下が発生しない。
【０１２１】
また、ストレージ３２が書き込み要求か読み込み要求かを判定する処理、中継転送装置２が即時転送要求が来ているかを判定する処理が無いので、処理量削減によるアクセス性能の向上を図ることができる。
【０１２２】
（第１の実施形態の変形例４）
図２９は、第１の実施形態における、さらに他の処理例を示すフローチャートである。図２９を参照すると、ステップＡ１〜Ａ１０までの処理は図２０に示した変形例２のものと同様である。図２９のフローチャートでは、ステップＡ１０の判定において、Ｒ／Ｗ要求のコマンドが読み込み要求であれば、図３と同様にステップＡ８、９の処理へ進む。一方、Ｒ／Ｗ要求のコマンドが書き込み要求であれば、待機系サイト３は、その書き込み要求の対象のアドレスのデータブロックに対する更新のデータが中継転送装置２から転送されてきたときに、そのデータの書き込み要求で書き換えられた部分（キャンセル部分）へのてきようをキャンセルしてデータ蓄積部３０６に適用しないこととする禁止処理を行い（ステップＡ１２）、ステップＡ７の処理に進む。禁止処理の例としては、要求実行処理部３０２が、アドレス情報蓄積部３０３に対して、書き込み要求の対象のデータブロックに対して、転送されてきたデータの適用を禁止することを示すフラグを付与する処理をすることが考えられる。この場合、データ適用部３０５は、データ取得部３０４からデータを受けるとフラグを確認し、そのデータをデータ蓄積部３０６に適用するか否かを判定する。
【０１２３】
なお、図２９では、ステップＡ１０の判定でＲ／Ｗ要求のコマンドが読み込み要求であれば、中継転送装置２にある更新されたデータを取得し（ステップＡ８）、データ蓄積部３０６に適用してから（ステップＡ９）、読み込み処理を実行する（ステップＡ７）こととしたが、本発明は、これに限定されるものではない。他の例として、読み込み要求に対して変形例１と同様に「転送待ち処理」を行ってもよい。
【０１２４】
図３０は、図２９のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図３０は図１７に示した動作とほぼ同じ動作であるが、ステップＡ１０の判定がＮｏのとき更新情報の即時転送を行う点だけが異なる。
【０１２５】
図３１は、図２９のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図３１においてステップＡ６までの処理は図１８と同様である。ここでは、ステップＡ１０にてＹｅｓと判定されるので、ストレージ３２は、ステップＡ１２にて、対象のデータブロックの更新情報の適用をキャンセルする。図３０では、２回の更新情報の転送で、対象のデータブロックの更新情報が転送されており、ストレージ３２はその更新情報を自身に適用しない。そして、ストレージ３２は、ステップＡ７にて、要求処理を実行し、Ｒ／Ｗ要求完了の通知をサーバ３１に送る。
【０１２６】
図３２は、第１の実施形態の変形例４におけるデータ適用処理を説明するためのフローチャートである。図３２において、ステップＥ１〜Ｅ３の処理は図１５に示したものと同様である。図３２のフローチャートでは、図１５と異なり、ステップＥ１にてデータ取得部３０４が中継転送装置２から更新情報を受信した後、データ適用部３０５は、その更新情報のデータを適用する対象のデータブロックに禁止処理がされているか否か、すなわちそのデータがキャンセル対象であるか否かを判定する（ステップＥ４）。この判定は、フラグを確認することにより行うことができる。そのデータがキャンセル対象でなければ、ステップＥ３の処理に進む。一方、データがキャンセル対象であれば、データをキャンセル部分に適用せず、他の部分のみに適用して（ステップＥ５）、ステップＥ３の処理に進む。
【０１２７】
図３３は、図３２のフローチャートにて示した動作の中で、１回目のステップＥ４の判定がＮｏ、２回目のステップＥ４の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図３３を参照すると、中継転送装置２は、何らかの契機で更新情報を待機系サイト３に転送している。待機系サイト３は、ステップＥ１にて、更新情報を受信し、ステップＥ４にて、キャンセル対象のデータブロックであるか否か判定する。ここでは、１回目の判定はＮｏなので、待機系サイト３は、ステップＥ２にて更新情報を自身に適用した後、ステップＥ３にて更新情報の削除を中継転送装置２に要求する。中継転送装置２は、その要求に従って更新情報を削除する。
【０１２８】
また、中継転送装置２は、更新情報を待機系サイト３に転送している。待機系サイト３は、再び、ステップＥ１にて更新情報を受信し、ステップＥ４の判定を行う。今度は、ステップＥ４の判定においてＹｅｓと判定されるので、待機系サイト３は、ステップＥ５にて、更新情報の中でキャンセル部以外のデータのみを自身に適用し、ステップＥ３にて中継転送装置２に更新情報の削除を要求する。中継転送装置２は、その要求に従って更新情報を削除する。
【０１２９】
以上説明したように、本変形例によれば、待機系サイト３は、書き込み要求コマンドに対して、中継転送装置２に書き込み要求の対象のデータブロックに対する更新情報があれば、その後に転送されるデータの適用を禁止してから書き込み要求の処理を行うので、サーバ３１からストレージ３２への書き込みの性能が低下することがなく、書き込み要求が多い場合に有利である。
【０１３０】
（第１の実施形態の変形例５）
変形例５は、待機系サイト３に書き込み要求があった場合に、待機系サイト３から中継転送装置２へその部分の更新情報の転送をキャンセルすることを要求するものであるため、待機系サイト３と中継転送装置２の構成が図２に示したものと異なる。
【０１３１】
図３４は、第１の実施形態の変形例５における中継転送装置と待機系サイトの詳細な構成を示すブロック図である。本変形例の中継転送装置２は、データ転送部２０１、一時記憶部２０２、およびアドレス取得部２０３の他に、転送キャンセル部２０４を有する点で図２に示したものと異なる。データ転送部２０１、一時記憶部２０２、およびアドレス取得部２０３は図２のものと同様である。
【０１３２】
本変形例の待機系サイト３は、図２のものと同様にサーバ３１とストレージ３２を有している。また、ストレージ３２は、図２のものと同様に、要求受信部３０１、要求実行処理部３０２、アドレス情報蓄積部３０３、データ取得部３０４、データ適用部３０５、およびデータ蓄積部３０６を有している。
【０１３３】
本変形例が図２と異なるのは、待機系サイト３における書き込み要求コマンドに対して、待機系サイト３がそのコマンドをデータ蓄積部３０６に適用すると共に、中継転送装置２が、そのコマンドの対象のデータブロックの更新情報を待機系サイト３に転送することをキャンセルする点である。
【０１３４】
そのために、待機系サイト３のストレージ３２の要求実行処理部３０２は、書き込み要求に対する処理において、その書き込み要求の対象のアドレス情報と、そのアドレスを対象とするデータ転送をキャンセルする旨の要求を中継転送装置２の転送キャンセル部２０４に送る。
【０１３５】
転送キャンセル部２０４は、要求実行処理部３０２から受信したアドレス情報を対象とするデータの転送をキャンセルする。キャンセルの例として、転送キャンセル部２０４は、一時記憶部２０２から対象のアドレスの更新情報を削除すればよい。また、例えば、転送キャンセル部２０４は、待機系サイト３から受信したアドレス情報に対応する更新情報に対して、転送を行わないことを示すフラグを付与することとしてもよい。その場合、データ転送部２０１は、このフラグが付与された更新情報の転送を行わないこととすればよい。
【０１３６】
図３５は、第１の実施形態における本変形例５のレプリケーションシステムの動作を説明するためのフローチャートである。変形例５において、読み込み要求に対して変形例１のように「転送待ち処理」を行ってもよく、変形例２のように「即時転送処理」を行ってもよいが、図３５では一例として「即時転送処理」を行うこととしている。
【０１３７】
図３５を参照すると、ステップＡ１〜Ａ１０の処理は図２０に示したものと同様である。図３５のフローチャートでは、ステップＡ１０の判定において、読み込み要求であれば、図２０と同様のステップＡ８、９の処理へ進み、中継転送装置２の更新情報を即時に待機系サイト３に適用する。
【０１３８】
一方、書き込み要求コマンドであれば、ステップＡ１３にて、ストレージ３２の要求実行処理部３０２は、中継転送装置２の転送キャンセル部２０４に、このコマンドの対象のアドレス情報と転送キャンセルの要求を送る。中継転送装置２の転送キャンセル部２０４は、そのアドレスに対応するデータブロックの転送をキャンセルする。
【０１３９】
図３６は、図３５のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図３６を参照すると、ステップＡ１０までの処理は図３１のものと同様である。ここではステップＡ１０の判定においてＹｅｓと判定されるので、ストレージ３２は、ステップＡ１３にて、中継転送装置２に転送キャンセル要求を送る。そして、ストレージ３２は、ステップＡ７にて要求処理を実行し、Ｒ／Ｗ要求完了の通知をサーバ３１に送る。
【０１４０】
転送キャンセル要求を受けた中継転送装置２は、待機系サイト３に転送すべき更新情報のうち、コマンドの対象となっているアドレスの更新情報の転送をキャンセルする。
【０１４１】
以上説明したように、本変形例によれば、待機系サイト３のサーバ３１が書き込み要求コマンドを発行すると、待機系サイト３のストレージ３２が、そのコマンドの対象の更新情報を転送しないように中継転送装置２に要求し、中継転送装置２の転送キャンセル部２０４が更新情報の転送をキャンセルし、更新情報が転送されないようにするので、中継転送装置２から待機系サイト３に無駄な情報転送が行われず、通信ネットワークの伝送帯域を効率良く利用することができる。そのため、伝送帯域の少ない環境にも適用可能であり、また、更新情報の転送を短い時間で完了させることができる。
【０１４２】
また、本変形例によれば、待機系サイト３のサーバ３１が発行する書き込み要求コマンドに対して、中継転送装置２にコマンドの対象ブロックに対する更新情報が存在する場合、即座に書き込み要求の処理を行うことができるので、サーバ３１からストレージ３２への書き込みの性能が低下しない。
【０１４３】
また、本変形例によれば、既にサーバ３１から書き込み要求コマンドが発行され、実行されたブロックに対して、その後に中継転送装置２から古い更新情報が送られてきて、その古い更新情報によってストレージ３２のデータが上書きされてしまうことがない。
【０１４４】
（第１の実施形態の変形例６）
第１の実施形態およびその変形例１〜５においては、アドレス情報蓄積部３０３が待機系サイト３のストレージ３２に備えられた構成を示したが、本発明はその構成に限定されるものではない。他の構成例として、変形例６は、アドレス情報蓄積部３０３が中継転送装置２に備えられている。変変形例のレプリケーションシステムの全体構成は図１に示したものと同じである。
【０１４５】
図３７は、第１の実施形態の変形例６における中継転送装置および待機系サイトの詳細な構成を示すブロック図である。図３７を参照すると、中継転送装置２は、データ転送部２０１、一時記憶部２０２、およびアドレス取得部２０３の他に、アドレス情報蓄積部３０３を有している。一方、待機系サイト３のストレージ３２は、要求受信部３０１、要求実行処理部３０２、データ取得部３０４、データ適用部３０５、およびデータ蓄積部３０６を有し、アドレス情報蓄積部３０３を有していない。
【０１４６】
また、中継転送装置２および待機系サイト３の各部の動作は第１の実施形態およびその変形例１〜５と同じである。そして、本変形例の構成は、第１の実施形態およびその変形例１〜５の全てに対して適用可能である。
【０１４７】
以上説明した本変形例によれば、中継転送装置２の一時記憶部２０２に格納されている更新情報のアドレス情報を、ストレージ３２において利用可能とするために、中継転送装置２から待機系サイト３へ転送する必要が無いので、通信ネットワークにおける転送量を抑制することができる。
【０１４８】
（第１の実施形態の変形例７）
第１の実施形態およびその変形例１〜５においては、待機系サイト３のストレージ３２のアドレス情報蓄積部３０３が中継転送装置２のアドレス取得部２０３に対して更新情報のアドレス情報の転送を要求することとしていた。しかし、本発明はこれに限定されるものではない。他の例として、本変形例では、更新情報のアドレス情報は中継転送装置２が能動的に待機系サイト３に送るのみとしている。
【０１４９】
本変形例のレプリケーションシステムは図１、２に示したものと同じ構成である。本変形例は、中継転送装置２のアドレス取得部２０３から待機系サイト３のストレージ３２のアドレス情報蓄積部３０３に能動的にアドレス情報が転送される点で上述のものと異なる。したがって、アドレス情報蓄積部３０３からアドレス取得部２０３にアドレス情報の転送を要求することはない。
【０１５０】
一例として、アドレス取得部２０３は、定期的な周期（例えば１０秒周期あるいは１分周期）で一時記憶部２０２の情報を調べてアドレス情報をストレージ３２に送り、アドレス情報蓄積部３０３の情報を更新することとしてもよい。
【０１５１】
また、他の例として、アドレス取得部２０３は、中継転送装置２内の一時記憶部２０２に新たな更新情報が追加される毎に、追加された更新情報のアドレスをストレージ３２に転送し、アドレス情報蓄積部３０３の情報を更新することとしてもよい。
【０１５２】
さらに、他の例として、アドレス取得部２０３は、正常系サイト１から中継転送装置２に一定期間（例えば５分間）新たな更新情報が到着しなかったとき、一時記憶部２０２に格納されている更新情報のアドレス情報をアドレス情報蓄積部３０３に送信すこととしてもよい。新たな更新情報が一定期間到達しない場合、正常系サイト１で何らかの障害が発生している可能性があり、その場合、待機系サイト３にて起動処理が行われる可能性があるからである。この場合、アドレス取得部２０３は、アドレス情報を送信した後に新たな更新情報が到達したら、アドレス情報蓄積部３０３に最新のアドレス情報の状態でないことを通知することが好ましい。
【０１５３】
さらに、他の例として、中継転送装置２が正常系サイト１の状態をハートビート等の方法で確認し、正常系サイト１が正常に動作していないときに、アドレス取得部２０３がアドレス情報をアドレス情報蓄積部３０３に転送することとしてもよい。
【０１５４】
本変形例のように、中継転送装置２が能動的に待機系サイト３にアドレス情報を送ることとすれば、図３のステップＡ４、Ａ５の処理は不要となる。
【０１５５】
図３８は、第１の実施形態の変形例７におけるレプリケーションシステムの動作を説明するためのフローチャートである。ここでは、中継転送装置２がアドレス情報を待機系サイト３に転送する例を示すが、変形例１〜５にも同様に適用することができる。
【０１５６】
図３８を参照すると、ステップＡ１〜Ａ３、Ａ６〜Ａ９の処理は、図３に示したものと同様である。図３８のフローチャートでは、ステップＡ３の処理の後、ストレージ３２は中継転送装置３のアドレス情報を取得しているか否かを判定することなく、ステップＡ６の判定に移行する。
【０１５７】
図３９は、図３８のフローチャートにて示した動作での装置間の動作を示すシーケンス図である。図３９は、ステップＡ４、Ａ５のよるアドレス情報の転送が無い点で図１７と異なる。中継転送装置２が能動的に待機系サイト３にアドレス情報を送るための契機は、上述した様に様々に考えられるので図３９には示していない。
【０１５８】
以上説明したような、第８の実施形態によれば、待機系サイト３のストレージ３２において、アドレス情報を取得しているかを判定し、取得していなければ、中継転送装置２に要求して取得する処理が不要となり、処理量を削減し、処理時間の短縮を図ることができる。
【０１５９】
（第１の実施形態の変形例８）
第１の実施形態およびその変形例１〜６において、待機系サイト３の要求実行処理部３０２は、Ｒ／Ｗ要求に対して、中継転送装置２の一時更新情報２０２内に転送されていない更新情報が残っているかをアドレス蓄積部３０３の情報で毎回確認することとしていた。しかし、本発明はそれに限定されるものではない。他の例として、本変形例では、中継転送装置２が待機系サイト３に対して、更新情報が残っていないことを伝達することとする。
【０１６０】
本変形例のレプリケーションシステムは図１、２に示したものと同様の構成である。本変形例は、中継転送装置２が待機系サイト３のストレージ３２に、一時記憶部２０２に更新情報が残っていないことを伝達する点で上述のものと異なる。
【０１６１】
一例として、図３のステップＡ５において、その時点で存在する全ての更新情報を転送すると、全ての更新情報を転送した旨を通知するメッセージをストレージ３２に送るようにアドレス取得部２０３が一時記憶部２０２に対して設定することとすればよい。具体例としては、一時記憶部２０２が更新情報をキューとして順次格納する構成とする。そして、図３のステップＡ９において、アドレス情報取得部２０３は、アドレス情報をアドレス情報蓄積部３０３に送るとき、一時記憶部２０２のキューの最末尾に、全ての更新情報を転送した旨を通知するメッセージを追加しておく。この場合、アドレス情報を転送した時点で存在した全ての更新情報が待機系サイト３に転送されたことがメッセージによって通知されるだけであり、その後に中継転送装置２に更新情報が到着すれば一時記憶部２０２の中は空でなくなる。しかし、その場合には、アドレス情報を転送した後に到着した更新情報が通知メッセージの後に転送されるので、待機系サイト３は、中継転送装置２の一時記憶部２０２が空でないことを認識できる。待機系サイト３は、通知メッセージの後に更新情報が転送されてこなければ、中継転送装置２の一時記憶部２０２が空であると判断できる。
【０１６２】
また、他の例として、一時記憶部２０２内に更新情報が無くなったときに、アドレス取得部２０３がアドレス情報蓄積部３０３に対して通知メッセージを送ることとしてもよい。通知メッセージを送った後に中継転送装置２に更新情報が到着した場合、上述と同様に、通知メッセージの後に更新情報が転送されるので、待機系サイト３は一時記憶部２０２が空でないことを認識できる。
【０１６３】
さらに他の例として、変形例７の中の一例のように、一定期間（例えば５分）新たな更新情報が到着しなかったとき中継転送装置２が待機系サイト３にアドレス情報を送信する構成において、そのアドレス情報を転送した後に、アドレス取得部２０３は、全ての更新情報が転送されたことを通知するメッセージを送るように一時記憶部２０２に設定することとしてもよい。具体例としては、上述したものと同様に、キューの末尾にメッセージを追加することとすればよい。例えば、５分ほど新たな更新情報が到達しなければ正常系サイト１に何らかの障害が発生している可能性があるので、このタイミングで通知メッセージを送っておけば、その後、更新情報が到着することは少ないと考えられるからである。
【０１６４】
さら他の例として、変形例７の中の一例のように、ハートビートで正常系サイト１の障害を検知したときに中継転送装置２が待機系サイト３にアドレス情報を送信する構成において、上述と同様に、そのアドレス情報を転送した後に、アドレス取得部２０３は、全ての更新情報が転送されたことを通知するメッセージを一時記憶部２０２のキューにセットすることとすればよい。
【０１６５】
以上説明したように、本変形例によれば、中継転送装置２の一時記憶部２０２に格納されている更新情報が全て待機系サイト３に転送されたことを中継転送装置２から待機系サイト３に通知することができるので、待機系サイト３は、全ての更新情報が転送されたことを認識した後には、更新情報があるか否かを確認することなくＲ／Ｗ要求コマンドを即座に実行することができる。
【０１６６】
また、中継転送装置２の一時記憶部２０２に更新情報がなくなった場合、正常系サイト１に何らかの障害が発生している可能性が高い場合が多いので、待機系サイト３は、それを契機に切り替え処理の準備を開始することができる。
【０１６７】
（第２の実施形態）
本発明の第２の実施形態は、複数のデータの種類がある場合に、一定のポリシーに応じて各データ種類に転送優先度を付与し、その転送優先度に従って中継転送装置２から待機系サイト３にデータを転送するものである。これは第１の実施形態およびその変形例１〜８を含めて広く適用可能である。ここでは第１の実施形態に適用した例を示すこととする。
【０１６８】
図４０は、第２の実施形態のレプリケーションシステムの構成を示すブロック図である。図４０を参照すると、第２の実施形態のレプリケーションシステムは、第１の実施形態と同様に、正常系サイト１、中継転送装置２、待機系サイト３、およびネットワーク４、５を有している。また、正常系サイト１は、サーバ１１およびストレージ１２を有している。待機系サイト３はサーバ３１およびストレージ３２を有している。
【０１６９】
第２の実施形態ではサーバ１１にはアプリケーション１１１が備えられている。また、ストレージ１２には、データ１２１、１２２、１２３が格納されている。また、中継転送装置２は、一時記憶部２０２、データ転送部２０５、およびポリシー蓄積部２０６を有している。
【０１７０】
一時記憶部２０２は、図３に示した第１の実施形態と同じものである。一時記憶部２０２は、正常系サイト１のデータを待機系サイト３に転送するために、一時的にデータを保持する。そのために、一時記憶部２０２は、正常系サイト１のデータの完全な複製を保持することとしてもよく、あるいはその一部のみの複製を保持してもよい。また、一時記憶部２０２は、変更状況の記録を保持することとしてもよく、正常系サイト１で実行された要求コマンドを保持することとしてもよい。
【０１７１】
データ転送部２０５は、第１の実施形態のデータ転送部２０１と異なり、正常系サイト１からのデータ（あるいはその更新情報）を、ポリシー蓄積部２０６に記録されているポリシーに従って待機系サイト３に転送する。
【０１７２】
正常系サイト１のサーバ１１に備えられたアプリケーション１１１は、サーバ１１上で動作するデータベース、アプリケーション、オペレーティングシステム等のプログラムである。また、ストレージ１２に格納されているデータ１２１、１２２、１２３は種類の異なるデータである。ここでは、データ種類は３種類としたが、データの種類の数がこれに限定されることはなく、複数の種類がある場合に広く適用可能である。中継転送装置２のポリシー蓄積部２０６には、この各データ種類毎に転送優先度を決めるポリシーが記録されている。
【０１７３】
また、データ種類の分類は、物理的、仮想的、あるいは論理的な格納位置によって分類される。例えば、ボリューム単位、ファイル単位、ブロックアドレスの範囲等で分けることが考えられる。具体例としては、データベースシステムにおいて、更新ログ（ジャーナル）ファイルと、更新ログのアーカイブファイルと、データファイルとをそれぞれデータ種類として分類し、その３種類のデータを扱うこととすればよい。また、他の例としては、同じくデータベースシステムにおいて、データファイルのうち正常系サイトに主に参照される部分と、待機系サイトに参照される部分と、双方に参照される部分とをそれぞれデータ種類として分類し、３種類のデータを扱うこととしてもよい。さらに他の例としては、ジャーナルファイルシステムにおいて、ジャーナル部分と、それ以外の部分とをそれぞれデータ種類として分類して扱うこととしてもよい。また、ファイルシステムにおいて、管理構造部と、それ以外の部分とをデータ種類としてもよい。
【０１７４】
さらに、データは、データの種類と、求められる可用性、待機系サイトの起動時における必要性、待機系サイトにおいてアクセスされる可能性の高さなどとで分類することとしてもよい。
【０１７５】
図４１は、第２の実施形態における中継転送装置および待機系サイトの詳細な構成を示すブロック図である。図４１を参照すると、中継転送装置２は、データ転送部２０５、一時記憶部２０２、アドレス取得部２０３、およびポリシー蓄積部２０６を有している。上述したように一時記憶部２０２は第１の実施形態と同じものであり、さらにアドレス取得部２０３も第１の実施形態と同じものである。待機系サイト３のストレージ３２は、第１の実施形態と同様に、要求受信部３０１、要求実行処理部３０２、アドレス情報蓄積部３０３、データ取得部３０４、データ適用部３０５、およびデータ蓄積部３０６を有している。
【０１７６】
第２の実施形態における中継転送装置２から待機系サイト３へのデータ転送の動作について説明する。
【０１７７】
図４２は、第２の実施形態のレプリケーションシステムにおける中継転送装置の動作を説明するためのフローチャートである。図４２を参照すると、まず、中継転送装置２のデータ転送部２０５は、一時記憶部２０２内に、待機系サイト３に転送すべきデータがあるか否かを判定する（ステップＦ１）。転送すべきデータが無ければ、データ転送部２０５は、正常系サイト１から新たなデータが転送されるのを待つ（ステップＦ２）。
【０１７８】
ステップＦ１の判定において、転送すべきデータがあれば、データ転送部２０５は、ポリシー蓄積部２０６に予め設定されたポリシーに従って、一時記憶部２０２から次に転送すべきデータを取り出す（ステップＦ３）。
【０１７９】
そして、データ転送部２０５は、取り出されたデータをネットワーク５を介して待機系サイト３に転送する（ステップＦ４）。データを転送した中継転送装置２はステップＦ１の処理に戻り、次の転送すべきデータの転送処理を行う。
【０１８０】
図４３は、第２の実施形態のレプリケーションシステムにおける待機系サイトの動作を説明するためのフローチャートである。図４３を参照すると、待機系サイト３のデータ取得部３０４は、ステップＦ５にて、中継転送装置２からデータを受信する。次に、ステップＦ６にて、データ適用部３０５は、そのデータをデータ蓄積部３０６に適用する。次に、待機系サイト３のデータ適用部３０５は、ステップＦ７にて、中継転送装置２に、転送し終えたデータを転送済の状態にするように指示する（ステップＦ７）。例えば、このとき中継転送装置２は、待機系サイト３に転送したデータを一時記憶部２０２から削除すればよい。あるいは削除の代わりに、例えば、転送済であることを示すフラグを付与するなど、転送不要となった旨の表示を付与する処理を行うこととしてもよい。
【０１８１】
ステップＦ３の処理に用いるポリシーについてさらに詳細に説明する。
【０１８２】
ステップＦ３では、データ転送部２０５が予め設定されたポリシーに従って転送処理を行う。ポリシーには、データの種類により転送優先度、転送の要／不要、転送方法などの設定が記述される。ここでは、データの種類としてデータ１２１、１２２、１２３の３種類があることとしている。
【０１８３】
具体的な一例を挙げると、ポリシーには、各データの種類毎に転送優先度が記述される。ここで、データ１２１は、サーバ１１で動作しているアプリケーション１１１に対するデータであり、起動と運用に必要不可欠なファイルであるとする。また、データ１２２は、データ１２１のアーカイブとなるファイルであるとする。また、データ１２３は、データ１２１からアプリケーション１１１が作成できるが、アプリケーション１１１の高速化あるいは利便性のために作成して保持しておくことが望ましいファイルであるとする。アプリケーション１１１の運用に必要なデータは、これらデータ１２１〜１２３の各データ種類に分類して格納される。
【０１８４】
図４４は、第２の実施形態におけるポリシー設定を示す図である。アーカイブであるデータ１２２は必ずしも待機系サイト３でのサービス開始に必要なデータではない。また、データ１２３は待機系サイト３で作成可能であり、また、サービス起動に必要無いデータである。したがって、図４４を参照すると、第２の実施形態では、データ１２１が最も優先的に送るべきデータなので、高い転送優先度に設定されている。データ１２３の転送優先度が次に高く、データ１２２の転送優先度が低く設定されている。
【０１８５】
ステップＦ３における動作として、データ転送部２０５は、データ１２１が一時記憶部２０２に格納されていれば、それを優先的に取り出して待機系サイト３へ転送する。具体的な構成例として、一時記憶部２０２に、データ種類毎に更新情報を蓄積するキューを備えておき、転送優先度の高いデータ種類のキューから優先的に更新情報を取り出して待機系サイト３に転送することとすればよい。データの分類は、正常系サイト１において設定されたデータの種類を正常系サイト１から中間転送装置２に通知し、中間転送装置２はそのデータ種類を用いることとすればよい。他の例として、正常系サイト１から中継転送装置２に更新情報を転送するときに、どのデータ種類に該当するかを示す情報を付加しておいてもよい。
【０１８６】
図４５は、図４２、４３のフローチャートにて示した動作の中で、ステップＦ１の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図４５を参照すると、ステップＦ１の判定がＹｅｓ、すなわち一時記憶部２０２に転送すべきデータ（あるいは更新情報）があれば、ステップＦ３にてポリシーに従ってそのデータを取り出し、ステップＦ４にてそれを待機系サイト３に転送する。
【０１８７】
ステップＦ５にてデータの転送を受けた待機系サイト３は、ステップＦ６にて、ストレージ３２に適用し、ステップＦ７にて、中継転送装置２にデータの削除または転送済フラグの付与などの処理を要求する。その要求を受けた中継転送装置２は、データに対する処理を行う。
【０１８８】
また、中継転送装置２は、ステップＦ４にてデータ転送を行った後、待機系サイト３での処理と並行して次のデータの転送に関する処理を開始してもよく、図４５にはその場合の動作が示されている。
【０１８９】
以上説明したように、第２の実施形態によれば、データ転送部２０５はポリシーによる転送優先度を用いてデータを転送するので、正常系サイト１に障害が発生して待機系サイト３に切り替えてサービスを開始するのに必要となる、優先的に送るべきデータが他のデータよりも先に転送され、待機系サイト３におけるサービス開始処理を早く行い、正常系サイト１の障害から短時間でサービスを再開することができる。
【０１９０】
また、第１〜第９の実施形態に適用した場合、サービス再開に必要なデータが優先的に待機系サイト３に転送されているので、サービス再開処理において、待機系サイト３が中継転送装置２に転送要求を行ったり、転送待ちをしたりする回数を少なくすることができ、再開処理を短い時間で終了させることができる。
【０１９１】
（第２の実施形態の変形例１）
第２の実施形態の変形例１は、中継転送装置２のデータ転送のポリシーを変更可能としたものである。
【０１９２】
図４６は、第２の実施形態の変形例１におけるレプリケーションシステムの構成を示すブロック図である。図４６を参照すると、本変形例のレプリケーションシステムは、正常系サイト１、中継転送装置２、待機系サイト３、およびネットワーク４、５の他に、ポリシー制御装置６を有している。正常系サイト１、中継転送装置２、待機系サイト３、およびネットワーク４、５は、図４０に示した第２の実施形態と同じものである。
【０１９３】
ポリシー制御装置６は、運用中または運用停止中の中継転送装置２のポリシー蓄積部２０６のポリシーを制御するため、中継転送装置２に指示を与える。例えば、ポリシー制御装置６は、正常系サイト１、中継転送装置２、待機系サイト３、あるいはその他のシステム状況を検知し、その状況に応じてポリシーを変更する。また、ポリシー制御装置６は、正常系サイト１、中継転送装置２、待機系サイト３、あるいはその他の外部装置からポリシー変更要求を受けてポリシーを変更する。
【０１９４】
図４７は、図４６に示されたポリシー制御装置の構成を示すブロック図である。図４７を参照すると、ポリシー制御装置６は、状況検知部６１、ポリシー決定部６２、ポリシー支持部６３、および履歴蓄積部６４を有している。
【０１９５】
状況検知部６１は、正常系サイト１、中継転送装置２、待機系サイト３、その他のシステムの状況を検知してポリシー決定部６２および履歴蓄積部６４に通知する。また、状況検知部６１は、中継転送装置２、待機系サイト３、あるいはその他の外部装置からポリシー変更要求を受けてポリシー決定部６２および履歴蓄積部６４に通知する。ポリシー決定部６２は、状況検知部６１から通知された情報に基づいて適切なポリシーを決定し、ポリシー指示部６３および履歴蓄積部６４に通知する。ポリシー指示部６３は、ポリシー決定部６２で決定されたポリシーを中継転送装置２のポリシー蓄積部２０６に設定する。履歴蓄積部６４は、状況検知部６１およびポリシー決定部６２から通知された情報を通知時刻と共に履歴として蓄積する。
【０１９６】
一例として、ここでは正常系サイト１で運用されているアプリケーション１１１を待機系サイト３が起動するのに必要なデータ種類をデータ１２１とする。サービス再開後に参照される可能性があるデータ種類をデータ１２２とする。必ずしも必要でないデータ種類をデータ１２３とする。
【０１９７】
正常運用時には、データ１２１、１２２、１２３の全てのデータの複製を待機系サイト３に保持しておくことが好ましいので、スループットを優先してデータ１２１、１２２、１２３の全ての転送優先度を同じにしていたとする。具体的には、ポリシー設定において、データ１２１、データ１２２、データ１２３の転送優先度を同じ値に設定すればよい。そして正常運用時には、データ転送部２０５は、まとめてデータを転送することによりスループットが最大になるようにデータ転送を行う。
【０１９８】
ここで正常系サイト１に障害が発生し、ポリシー制御装置６がそれを検知したとする。そうすると、ポリシー制御装置６は、中継転送装置２のポリシー蓄積部２０６のポリシーを、データ１２１を最優先にし、データ１２２を次に優先するように設定する。これにより待機系サイト３によるサービス再開を早めることができる。
【０１９９】
以上説明したように、本変形例によれば、ポリシー制御装置６が、状況に応じて中継転送装置２から待機系サイト３へのデータ転送のポリシーを動的に制御するので、そのときの状況に応じて最適なポリシーによってデータ転送を行うことができる。通常時にはスループットを優先するために転送効率を上げる設定にし、正常系サイト１の障害などにより待機系サイト３のサービス再開を急ぐときにはそれに必要なデータを優先的に転送する設定とすることで、通常時における中継転送装置２に蓄積された未転送のデータを少なくしておくことにより障害発生時に転送すべきデータ量も少なくし、障害発生時にはサービス再開に必要なデータを優先して転送することにより、短時間でサービスを再開させることができる。
【０２００】
また、本変形例を第１の実施形態およびその変形例１〜８に適用した場合、待機系サイト３が即時転送要求を行うようなデータ種類の転送優先度を高く設定しておくことにより、即時転送要求の回数をできる。
【０２０１】
また、本変形例を第１の実施形態およびその変形例１〜８に適用した場合、転送優先度の設定により待機系サイト３の即時転送要求あるいは転送待ち処理の回数を削減できるので、再開にかかる時間を短縮することができる。
【０２０２】
また、本変形例によれば、ポリシー制御装置６が正常系サイト１の状態を検知、あるいは正常系サイト１からのポリシー変更要求を受け付けて、ポリシーを変更できるよう構成されている。そのため、正常系サイト１における論理的障害が生じたとき、ポリシー制御装置６がそれを検知し、あるいは正常系サイト１からの通知を受けて、障害発生以降のデータを転送しないようにポリシーを設定すればよい。これにより、正常系サイト１に対するオペレーションミスなどによる論理的障害が生じた以降のデータが待機系サイト３へ適用されないようにすることができる。
【０２０３】
具体的な例としては、ポリシー設定として、各データ種別に対して、転送優先度、転送許可時間、転送禁止時刻を設定可能とする。転送許可時間とは、データが正常系サイト１から中継転送装置２に到達してから待機系サイト３へのデータ転送が許可されるまでの時間をいう。この転送許可時間が経過したデータが待機系サイト３に転送可能となる。転送禁止時刻とは、それ以降に中継転送装置２に到達したデータの待機系サイト３への転送を禁止する時刻をいう。例えば、通常時には、転送禁止時刻を設定せず、正常系サイト１にて論理的障害が発生したとき、その時刻を転送禁止時刻に設定すればよい。
【０２０４】
図４８は、第２の実施形態の変形例１における通常時のポリシー設定を示す図、図４９は、論理的障害発生時のポリシー設定を示す図である。
【０２０５】
図４８を参照すると、転送許可時間が５分と設定され、転送禁止時刻が設定されていない。この場合、各データ種類のデータは中継転送装置２に到着後５分経たない限り待機系サイト３に転送されない。
【０２０６】
この状態で、２００４年１月１日０時０分に正常系サイト１で論理的障害が発生したとする。論理障害発生以降のデータを破棄して、待機系サイト３で再開処理を行うこととしたとする。それには、論理障害発生から５分以内に、中継転送装置２から待機系サイト３に２００４年１月１日０時０分以降のデータの転送を禁止する必要がある。
【０２０７】
そこで、ポリシー制御装置６は図４９に示したようにポリシー設定を変更する。図４９を参照すると、転送禁止時刻に２００４年１月１日０時０分が設定されているので、それ以降に中継転送装置２に到着したデータは待機系サイト３に転送されない。なお、ポリシー設定の変更はシステム管理者が行うこととしてもよく、ポリシー変更装置６が、論理障害を検知して自動的に行ってもよい。ここでは一例として、転送許可時間を５分と設定したが、本発明はそれに限定されることはない。例えば、１時間、半日などシステムの特性に応じて適切に設定すればよい。
【０２０８】
なお、ポリシー制御装置６は、検知したシステム状況の変化またはポリシー設定の変更の履歴をログとして記録することとしてもよい。これにより、障害発生の箇所、原因、システムの動作状況の変化などの解析が容易となり、システム運用に利用することができる
（第２の実施形態の変形例２）
図４６に示した変形例１では、ポリシー制御装置６は、正常系サイト１、中継転送装置２、待機系サイト３とは別に構成されているが、本発明はこの構成に限定されるものではない。他の構成例として、ポリシー制御装置６の機能を正常系サイト１、中継転送装置２、または待機系サイト３と一体的に構成してもよい。また、それ以外の装置内に構成されてもよい。
【０２０９】
第２の実施形態の変形例２は、ポリシー制御装置６の役割を果たすプログラムを正常系サイト１、中継転送装置２、または待機系サイト３のいずれかの内部に構成している。本変形例のレプリケーションシステムの各装置および各部の機能は図４６に示したものと同じである。いずれかの装置内にポリシー制御装置６の機能を構成すれば、レプリケーションシステムの構成が複雑化せず、システムコストも抑えられる。また、例えば、正常系サイト１内にポリシー制御装置６の機能が構成されていれば、正常系サイト１の状態変化の検知を短時間で行うことができ、また詳細な状況変化を検知することが容易である。
【０２１０】
（第２の実施形態の変形例３）
第２の実施形態の変形例１、２では、ポリシー制御装置６が１つのシステム構成を示したが、本発明はそれに限定されるものではない。他の例として、本変形例はレプリケーションシステム内に複数のポリシー制御装置６が存在する。例えば、中継転送装置２および正常系サイト１の各々に対してポリシー制御装置６を構成してもよい。
【０２１１】
以上説明したように、本変形例によれば、ポリシー制御装置６が複数あるので、いずれかのポリシー制御部６に障害が発生しても、他のポリシー制御装置６によってポリシー設定の変更が可能であり、システムの運用に影響を受けなくてすむ。
【０２１２】
（第２の実施形態の変形例４）
第２の実施形態の変形例４におけるレプリケーションシステムは変形例２と同様の構成である。本変形例では、アプリケーション１１１としてデータベースが運用されているものとする。そして、データ１２１はデータベースの更新（ジャーナル）ログであるとする。また、データ１２２はデータベースのデータ領域であり、データ１２３は、過去の更新ログ（アーカイブログ）であるとする。
【０２１３】
正常系サイト１では、データベースは、データが更新されると、データ１２１の更新ログに更新前の情報と更新後の情報とを書き込むと共に、データ１２２のデータ領域を更新する。また、更新ログが一定量になると、データ１２３に新たなアーカイブログを作成し、その時点の更新ログをアーカイブログに保存する。
【０２１４】
データ領域は、ある過去の時刻におけるデータ領域の情報と、その時刻から復元したい時刻までの更新ログ（あるいは更新ログおよびアーカイブログ）とから復元することができる。この復元処理を「ロールフォーワード処理」と呼ぶ。
【０２１５】
ここで、待機系サイト３のストレージ３２には、ある過去の第１の時刻までの更新ログおよび第１の時刻のデータ領域の情報が格納されているとする。そして、中継転送装置２の一時記憶部２０２には、第１の時刻から第２の時刻までの全てのデータ１２１、１２２、１２３の更新情報が格納されているとする。
【０２１６】
この状態で正常系サイト１に障害が発生し、待機系サイト３が正常系サイト１に代わってサービスを運用する必要が生じた場合、待機系サイト３は、できるだけ短時間でサービス再開を行うことが好ましい。
【０２１７】
待機系サイト３にてサービスを再開するには、１つの方法として、既に待機系サイト３に適用されている第１の時刻におけるデータ領域とそれ以降の更新ログとから待機系サイト３でロールフォワード処理を行って復元すればよい。また、他の方法として、中継転送装置２から更新ログとデータ領域の全てを待機系サイト３に転送し、適用してもよい。サービスの再開を早めるには、それらのうち短時間ですむ方法を選択して実行することが必要である。
【０２１８】
例えば、ロールフォワード処理の方が早ければ、更新ログであるデータ１２１（必要であればアーカイブログであるデータ１２３も）の転送優先度を高くし、ロールフォワード処理に必要なデータを優先的に待機系サイト３に送ることとすればよい。
【０２１９】
図５０は、第２の実施形態の変形例４におけるレプリケーションシステムの動作を説明するためのフローチャートである。図５０を参照すると、何らかの理由で正常系サイト１に障害が発生したとする（ステップＧ１）。障害発生の理由としては、停電、ハードウェア障害、ソフトウェア障害、自然災害などが考えられる。この正常系サイト１の障害をポリシー制御装置６が検知する（ステップＧ２）。
【０２２０】
ポリシー制御装置６は、中継転送装置２の一時記憶部２０２内の情報を調査し、転送済の情報の時刻と、一時記憶部２０２に残っているデータ１２１（更新ログ）の更新情報の量と、データ１２２（データ領域）の更新情報の量とを調べる（ステップＧ３）。
【０２２１】
次に、ポリシー制御装置６は、ステップＧ３で得た情報とネットワーク５の伝送帯域とからデータ１２２の更新情報の転送に掛かる時間を算出する。転送にかかる時間は、（ログ容量×現時点のネットワーク帯域におけるスループット）によって算出することができる。また、ポリシー制御装置６は、データ１２１の量から、待機系サイト３でロールフォーワード処理を行った場合にかかる時間を予測する。ロールフォワード処理にかかる時間は、（容量当たりのリカバリ時間×ログ容量）で算出することができる。そして、転送にかかる時間と、ロールフォーワード処理にかかる時間とを比較し、ロールフォワード処理の方が早いか否か判定する（ステップＧ４）。
【０２２２】
ステップＧ４の判定において、転送にかかる時間がロールフォーワード処理にかかる時間よりも短かければ、ポリシー制御装置６は、全ての転送優先度が同じとなるようにポリシーを全てのデータが転送されるよう設定し（あるいは維持し）、データ１２１、１２２の転送を行う（ステップＦ５）。なお、サービス再開に、アーカイブログが必要無ければ、データ１２３の転送優先度を低くしてもよい。
【０２２３】
一方、ロールフォワード処理にかかる時間の方が短ければ、ポリシー制御装置６は、ポリシー制御装置６はデータ１２１（必要であればデータ１２３も）の転送優先度を高くして更新ログのみを優先的に転送する（ステップＧ６）。そして、待機系サイト３はロールフォワード処理によりデータ領域を復元する（ステップＧ７）。
【０２２４】
ステップＧ５またはステップＧ７により更新ログおよびデータ領域が待機系サイト３に格納された状態になると、待機系サイト３はサービス再開の処理を行う（ステップＧ８）。
【０２２５】
図５１は、図５０のフローチャートにて示した動作の中でステップＧ４の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図５１を参照すると、ステップＧ１にて正常系サイト１で発生した障害を、ステップＧ２にてポリシー制御装置６が検知し、中継転送装置２に一時記憶部２０２に格納されているデータの調査を要求する。ステップＧ３にて、中継転送装置２が一時記憶部２０２を調査し、結果をポリシー制御装置６に通知する。
【０２２６】
ステップＧ４にて、ポリシー制御装置６は、得られた情報からロールフォワード処理の方が早いか否か判定する。ここではステップＧ４でＹｅｓと判定されるので、ポリシー制御装置６は、中継転送装置２に、ロールフォワード処理に必要なデータの転送優先度を上げるようポリシーの変更を要求する。中継転送装置２は、ステップＧ６にて、その要求に従ってポリシーを変更し、待機系サイト３にデータを転送する。
【０２２７】
待機系サイト３は、得られたデータを用いてステップＧ７にてロールフォワード処理を行い、ステップＧ８にてサービスを開始する。
【０２２８】
図５２は、図５０のフローチャートにて示した動作の中でステップＧ４の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図５２では、図５１と異なり、ステップＧ４にてＮｏと判定されるので、ポリシー制御装置６は、必要に応じて中継転送装置２にポリシーの変更を要求する。例えば、各データ種類を同様に扱うようなポリシーが設定された状態ではポリシーの変更は必要ない。中継転送装置５は、ステップＧ５にて、ポリシーに従って待機系サイト３にデータを転送し、待機系サイト３はステップＧ８にてサービスを開始する。
【０２２９】
なお、本実施形態では、アプリケーション１１１としてデータベースが運用された例を示したが、本発明はこれに限定されるものではない。他の例として、ジャーナルファイルシステムにも同様に適用することができる。その場合、ジャーナルファイルをデータ１２１とすればよい。本実施形態の構成および動作は、その他、ジャーナルログを有し、そのデータから他のデータを再作成できるアプリケーションに広く適用可能である。
【０２３０】
一般的に、レプリケーションシステムでは帯域が小さいあるいは距離が長いためにスループットの小さいネットワーク５が用いられる場合が多いので、ロールフォワード処理を行った方が待機系サイト３のサービス再開が早い場合が多く、本実施形態によれば、一般的なレプリケーションシステムの待機系サイト３のサービス再開を早めることができる。
【０２３１】
（第２の実施形態の変形例５）
第２の実施形態の変形例５におけるレプリケーションシステムは、図４６に示したレプリケーションシステムにおいて、ポリシー制御装置６がネットワーク４またはネットワーク５の状態をも検知し、中間転送装置２のポリシーに反映させることとしたものである。
【０２３２】
例えば、図５０に示した変形例４のフローチャートにおけるステップＧ４の判定では、ネットワークのスループットからデータ転送にかかる時間を算出するが、厳密にはネットワークの状況によってもスループットは変化する。そこでポリシー制御装置６は、ネットワーク５の状況を監視してスループットを測定すれば、データ転送にかかる時間の算出精度を向上させることができる。
【０２３３】
また、例えば、利用可能な伝送帯域が少ない状況では必要性の高いデータだけを転送し、利用可能な伝送帯域が多い状況ではその他のデータも転送することとすれば、ネットワークを有効に活用することができる。
【０２３４】
また、通常の運用では、転送されるデータ量が増えてきたらデータ転送を減らす方向に、転送されるデータ量が減ったらデータ転送を増やす方向にポリシー設定をすれば、ネットワーク利用料が利用帯域に依存する料金体系の場合などに、利用帯域を平滑化し、利用料を低く抑えることができる。また、その場合、中継転送装置２の一時記憶部２０２に格納されている更新情報のデータ量に応じて、一時記憶部２０２のデータが増えてきたらデータ転送量が上がるようにポリシー設定を制御すれば、帯域利用料を制限すると共に、一時記憶部２０２に更新情報が大量に格納されないようにできる。
【０２３５】
さらに、正常系サイト１に障害が発生したことをポリシー制御装置６が検知したときには、ネットワーク５の帯域利用の制限を解除するようポリシー設定を変更すれば、緊急時以外のネットワーク帯域の利用量を制限すると共に、緊急時には短時間でのデータ転送が可能となる。
【０２３６】
（第２の実施形態の変形例６）
第２の実施形態の変形例６は、中継転送装置が存在しないレプリケーションシステムにおいて、ポリシー制御機能を実現したものである。図５３は、第２の実施形態の変形例６におけるレプリケーションシステムの構成を示すブロック図である。図５３を参照すると、本変形例のレプリケーションシステムは、正常系サイト１と待機系サイト３とを有しており、これらがネットワーク７で接続されている。待機系サイト３は、図４０に示したものと同じである。
【０２３７】
正常系サイト１は、サーバ１１、ストレージ１２、ポリシー制御部６Ａ、ポリシー蓄積部２０６、およびデータ転送部２０５を有している。
【０２３８】
サーバ１１に備えられたアプリケーション１１１は、図４０に示したものと同様に、サーバ１１上で動作するデータベース、アプリケーション、オペレーティングシステム等のプログラムである。アプリケーション１１１の動作により、ストレージ１２のデータ１２１〜１２３が更新される。更新されたデータ（あるいはその更新情報）は、即座に待機系サイト３に転送されるのではなく、一旦、ストレージ１２内に保持される。
【０２３９】
データ転送部２０５は、図４０に示した中継転送装置２内のデータ転送部２０５と同様に、ポリシー蓄積部２０６に記録されているポリシー設定に従って、ストレージ１２から転送すべきデータ（あるいはその更新情報）を取り出し、待機系サイト３のストレージ３２に転送する。ポリシー蓄積部２０６には、この各データ種類毎に転送優先度を決めるポリシーが記録されている。
【０２４０】
ポリシー制御部６Ａは、図４６に示した変形例１のポリシー制御装置６と同様に、正常系サイト１、待機系サイト３、あるいはその他の装置の状態を検知し、その状態に応じてポリシー蓄積部２０６のポリシー設定を変更する。また、ポリシー制御部６Ａは、正常系サイト１、待機系サイト３、あるいはその他の装置からポリシー設定変更の要求を受けて、ポリシー設定を変更する。
【０２４１】
本変形例における正常系サイト１の動作について説明する。図５４は、第２の実施形態の変形例６における正常系サイトの動作を説明するためのフローチャートである。図５４において、ステップＢ１およびＢ４の処理は、図８に示したものと同様の動作である。図５４では、ステップＢ２、Ｂ３がない点が図８と異なる。中継転送装置の機能が正常系サイト１内に構成されているので、その間のデータ転送が不要だからである。
【０２４２】
図５４を参照すると、まず、サーバ１１からストレージ１２に対して書き込み要求が発行されると（ステップＢ１）、ストレージ１２は、その書き込み要求を自身に適用する。そして、ストレージ１２は、書き込み要求を自身に適用した後、書き込み処理が終了した旨をサーバ１１に通知する（ステップＢ４）。
【０２４３】
第２の実施形態の変形例６における正常系サイト１から待機系サイト３へのデータ転送の動作について説明する。
【０２４４】
図５５は、第２の実施形態の変形例６における正常系サイトの動作を説明するためのフローチャートである。図５６は、第２の実施形態の変形例６における待機系サイトの動作を示すフローチャートである。
【０２４５】
図５５を参照すると、まず、正常系サイト１のデータ転送部２０５は、ストレージ１２内に、待機系サイト３に転送すべきデータがあるか否かを判定する（ステップＨ１）。転送すべきデータが無ければ、データ転送部２０５は、書き込み要求により新たなデータが作成されるのを待つ（ステップＨ２）。
【０２４６】
ステップＨ１の判定において、転送すべきデータがあれば、データ転送部２０５は、ポリシー蓄積部２０６に予め設定されたポリシーに従って、ストレージ１２から次に転送すべきデータを取り出す（ステップＨ３）。そして、データ転送部２０５は、取り出したデータをネットワーク７を介して待機系サイト３に転送する（ステップＨ４）。データを転送した正常系サイト１はステップＨ１の処理に戻り、次に転送すべきデータの転送処理を行う。
【０２４７】
一方、図５６を参照すると、ステップＨ４の処理により正常系サイト１からデータを転送された待機系サイト３は、転送されたデータを自身に適用する（ステップＨ５）。
【０２４８】
次に、待機系サイト３は、正常系サイト１に、待機系サイト３に転送し終えたデータを転送済の状態にする処理を行うよう命令する（ステップＨ６）。これにより、正常系サイト１は、例えば、待機系サイト３に転送したデータに転送済であることを示すフラグを付与するなど、転送不要となった旨の表示を付与する処理を行えばよい。
【０２４９】
図５７は、図５５、５６のフローチャートにて示した動作における装置間の動作を示すシーケンス図である。ステップＨ１にて、正常系サイト１は転送すべきデータがストレージ１２にあるか否か判定する。ステップＨ１にてＮｏと判定された場合、正常系サイト１は、ステップＨ２にて、転送すべきデータが現れるまで待つ。
【０２５０】
転送すべきデータが現れると、正常系サイト１は、ステップＨ３にて、ポリシーに従ってデータを取り出し、ステップＨ４にて待機系サイト３に転送する。データを転送すると、正常系サイト１は、ステップＨ１の判定に戻る。
【０２５１】
正常系サイト１からデータを転送された待機系サイト３は、ステップＨ５にて、それを自身のストレージ３２に適用した後、ステップＨ６にて、転送済みとする処理を正常系サイト１に命令する。
【０２５２】
その際、図５７に示されているように、正常系サイト１のステップＨ１、Ｈ３、Ｈ４の一連の処理と、待機系サイト３のステップＨ５、Ｈ６の一連の処理とは同時並行的に実行することができ、またその方が性能面で優れている。
【０２５３】
ここで、待機系サイト３は、一例として、正常系サイト１の障害時の代替サイトであると共に、通常時からデータの閲覧や集計などの読み込み処理の負荷を分散する装置であるとする。待機系サイト３も通常時から読み込み処理を行うので、正常系サイト１のデータが待機系サイト３にレプリケーションされている必要がある。
【０２５４】
読み込み処理において、待機系サイト３は、読み込もうとする最新のデータが自身のストレージ３２に格納されていれば、ストレージ３２からデータを読み出す。しかし、読み込もうとする最新のデータが正常系サイト１から未だ転送されていなければ、待機系サイト３は、正常系サイト１のストレージ１２から最新のデータを読み込む必要があるので、読み込み処理に時間がかかり性能が低下してしまう。
【０２５５】
そのため、正常系サイト１のストレージ１２ではデータは複数のデータ種類（ここではデータ１２１、１２２、１２３）に分類されており、ポリシー蓄積部２０６に記録されたポリシーにより、それぞれのデータ種類には転送優先度が付与されている。
【０２５６】
ここでデータの分類の一例として、データ１２１は、主として正常系サイト１から読み出され、あまり待機系サイト３から読み出されることのないデータである。データ１２２は、主として待機系サイト３から読み出されるデータである。データ１２３は、あまり読み出しが発生しないデータである。したがって、待機系サイト３において読み出し処理が行われるデータ種類は主にデータ１２２である。そこで、ポリシーにおいては、データ１２２の転送優先度は他のデータ種類よりも高く設定される。
【０２５７】
システム運用中に待機系サイト３の読み込み処理の傾向が変化することがあり、例えば、待機系サイト３の読み込み処理の主な対象がデータ１２２からデータ１２１に移行したとすると、ポリシー設定部６は、待機系サイト３の動作状態を検知し、あるいは待機系サイト３からの転送要求を受けて、データ１２１の転送優先度を上げ、データ１２２の転送優先度を下げる。
【０２５８】
以上説明したように、本変形例によれば、中継転送装置の機能が正常系サイト１内に構成されているので、レプリケーションシステムに、別途、中継転送装置を備える必要が無く、システム構成が簡略化され、かつネットワーク上のデータ転送量も削減される。
【０２５９】
また、本変形例によれば、待機系サイト３での利用頻度の高いデータを優先的に正常系サイト１から待機系サイト３に転送するので、待機系サイト３で負荷分散した場合に性能低下が少ない。
【０２６０】
また、本変形例によれば、データ転送部２０５、ポリシー蓄積部２０６、およびポリシー制御部６Ａが正常系サイト１内に備えられているので、中継転送装置が無くてもポリシーによる転送優先度の付与が可能である。
【０２６１】
また、本変形例によれば、ポリシー制御部６Ａがシステムの状態に応じてポリシー設定を変更するので、、システム運用中に待機系サイト３において発生する読み込み要求コマンドの傾向が変わっても、それに応じて適切に転送優先度を選択することができる。
【０２６２】
また、本変形例において、中継転送装置が物理的に構成されていないので、正常系サイト１に重大な障害が発生したときにデータの消失が考えられるが、ジャーナルログを用いるアプリケーションの機能を提供するときにジャーナルログの転送優先度を上げておけば、待機系サイト３に転送されない状態のジャーナルログが少なくなり、正常系サイト１に障害が発生したときに消失するデータを少なく抑えることができる。
【０２６３】
（第２の実施形態の変形例７）
第２の実施形態における変形例７は、中継転送装置の機能が正常系サイト１に備えられたシステム構成において、正常系サイト１での書き込み要求を待機系サイト３に同期転送するか非同期転送するかをポリシー設定にてデータ種類毎に定めることとしたものである。
【０２６４】
本変形例のレプリケーションシステムは図５３に示したものと同様の構成である。また、正常系サイト１から待機系サイト３へのデータ転送の動作も図５５、５６に示した変形例６のものと同様である。
【０２６５】
本変形例は、正常系サイト１における書き込み要求に対する動作において、ポリシーに従ってデータを待機系サイト３に同期転送または非同期転送する点が変形例６と異なる。そのため、ポリシー蓄積部２０６には、ポリシー設定として、データ種類毎に同期転送すべきか否かが設定されている。
【０２６６】
図５８は、第２の実施形態の変形例７におけるレプリケーションシステムの動作を説明するためのフローチャートである。図５８を参照すると、まず、サーバ１１からストレージ１２に対して書き込み要求が発行されると（ステップＢ１）、ストレージ１２は、その書き込み要求を自身に適用する。
【０２６７】
次に、データ転送部２０５は、書き込み要求の対象のデータ種類が同期転送すべきものか否かポリシー蓄積部２０６のポリシー設定により判定する（ステップＢ５）。書き込み要求の対象が同期転送すべきデータ種類でなければ、データ転送部２０５は同期転送を行わない。
【０２６８】
書き込み要求の対象が同期転送すべきデータ種類であれば、データ転送部２０５は、書き込まれたデータを待機系サイト３へ転送する（ステップＢ６）。待機系サイト３では、正常系サイト１から転送されたデータを受信し、ストレージ３２に適用する（ステップＢ７）。次に、正常系サイト１では、待機系サイト３のストレージ３２に適用されたストレージ１２上のデータが、その後さらに待機系サイト３に転送されることが無いような状態にする処理を行う（ステップＢ８）。
【０２６９】
ステップＢ５の判定において同期転送すべきデータでないと判定された場合、またはステップＢ８の処理の後、ストレージ１２は、書き込み処理が終了した旨をサーバ１１に通知する（ステップＢ４）。
【０２７０】
図５９は、図５８のフローチャートにて示した動作の中でステップＢ５の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。図５９を参照すると、ステップＢ１にて、ストレージ１２に対する書き込み要求が発生すると、正常系サイト１は、ステップＢ５にて、同期転送すべきデータか否か判定する。ここではステップＢ５でＹｅｓと判定されるので、正常系サイト１は待機系サイト３にデータを転送する。
【０２７１】
データの転送を受けた待機系サイト３は、ステップＢ７にてデータを自身に適用し、データを転送済にする処理を正常系サイト１に要求する。その要求を受けた正常掲載と１は、ステップＢ８にて処理を行い、ステップＢ４にて書き込み処理を完了とする。
【０２７２】
図６０は、図５８のフローチャートにて示した動作の中でステップＢ５の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。図６０を参照すると、ステップＢ５にてＮｏと判定されるので、正常系サイト１は、その時点では待機系サイト３に転送せず、そのまま書き込み処理を完了とする。なお、このときの書き込みデータは後に非同期で待機系サイト３に転送されるか、待機系サイト３で再作成されるか、あるいは待機系サイト３に転送されないこととなる。
【０２７３】
ここでデータの分類の一例として、データ１２１は、それが失わなければアプリケーション１１１の他のデータを再作成できるデータである。他のデータ１２２、１２３は、データ１２１から再作成できるデータである。また、データの分類の他の例として、データ１２１のみが更新され、データ１２２、１２３は更新されることがないものとしてもよい。これらの場合、ポリシー設定において、データ１２１だけに同期転送すべきと設定すれば、データの消失を防止することができる。
【０２７４】
以上説明したように、本変形例によれば、正常系サイト１への書き込み時に、待機系サイト３にて再作成できない必要最小限のデータだけを同期転送するので、ネットワークにおけるデータ転送による負荷を最小限に抑え、また非同期転送でよいデータの書き込み性能を低下させることなく、正常系サイト１で災害が発生したときにデータ消失を防止することができる。
【０２７５】
（第２の実施形態の変形例８）
変形例６、７では、ポリシー制御部６Ａは正常系サイト１内に構成されていたが、本発明のこの構成に限定されるものではない。他の構成例として、変形例８はポリシー制御部６Ａが待機系サイト３内、または正常系サイト１および待機系サイト３の双方に構成されたものである。本変形例における各部の動作は変形例６、７と同じである。
【０２７６】
本変形例によれば、待機系サイト３内にポリシー制御部６Ａが構成されていれば、待機系サイト３の状態変化の検知を短時間で行うことができ、また詳細な状況変化を検知することが容易である。
【０２７７】
また、本変形例によれば、ポリシー制御部６Ａが正常系サイト１および待機系サイト３の各々にあるので、いずれかで障害が発生しても、他のポリシー制御部６Ａによってポリシー設定の変更が可能であり、システムの運用に影響を受けなくてすむ。
【０２７８】
（第２の実施形態の変形例９）
第２の実施形態の変形例９は、ポリシー設定において、データ種類の分類を物理的、仮想的、または論理的な格納位置によって固定的にせず、書き込み要求を発行するプログラム、プロセス、スレッドなどを実行するアプリケーションまたはコマンド、あるいはそのアプリケーションまたはコマンドを呼び出したサーバやユーザーによって異なるデータ種類に分類するものである。例えば、同じファイルに対する書き込み要求であっても、その要求を発行したアプリケーションあるいはサーバやユーザーによって異なるデータ種類として扱われる。また、これらによる分類と格納位置による分類とを組み合わせたデータ種類を用いてもよい。具体例として、各要求コマンドを適用するときにデータ種類を識別可能とするには、プログラム、プロセス、スレッド、アプリケーション、サーバ、またはユーザー等の情報を、ストレージ１２に対する書き込み要求コマンドに埋め込んでおけばよい。
【０２７９】
以上説明したように、本変形例において、書き込み要求を発行したアプリケーション、コマンド、サーバ、またはユーザーによってポリシーを分類することにより、例えば、同じ領域のデータに対する書き込み要求であっても重要度の高いユーザーによる書き込み要求の転送優先度を高くすることができ、他のユーザーによる書き込み要求が大量に発生しても、重要度の高いユーザーにより書き込まれたデータが消失する確率が低減される。
【０２８０】
また、本変形例によれば、一時的にデータを保存するために書き込み要求を発行するアプリケーションの書き込み要求と、完全な保存のために書き込み要求を発行するアプリケーションの書き込み要求のプロセスまたはスレッドをポリシー設定上で区別し、完全に保存する書き込み要求を優先的に転送するように転送優先度を設定することにより、長期保存すべきデータの消失の確率を低減させることができる。
【０２８１】
また、本変形例によれば、転送優先度等のポリシーを決定するときに、アプリケーションまたはユーザー等の重要度からポリシーを決定することができ、保存箇所を固定させる必要がないので、データの格納の自由度が向上する。
【０２８２】
（第２の実施形態の変形例１０）
第２の実施形態の変形例１０は、データ種類をブロックアドレスによって分類し、かつ、ポリシー制御部６Ａは、正常系サイト１のストレージ１２に読み込み要求があったときには、その対象ブロックの近辺のブロックの転送優先度を高く制御するものである。
【０２８３】
あるブロックアドレスに読み込み要求があった後は、そのアドレスの近辺のブロックの読み込み要求が発生する確率が高い場合がある。その様な場合、そのブロックを優先的に転送することにより、待機系サイト３における読み込み要求に対して平均処理時間を短縮することができる。また、正常系サイト１で読み込まれたデータは、再開処理にて待機系サイト３にて読み込み要求の対象となることが多いので、そのブロックを優先的に転送することにより、待機系サイト３での再開処理の平均処理時間を短縮することができる。
【０２８４】
また、本変形例では、ブロックアドレスにより転送優先度を設定するので、ストレージ１２は、データを格納するときに上位層（ファイルシステム、プロセス等）の情報を得なくてもデータ種類に分類することができる。
【図面の簡単な説明】
【０２８５】
【図１】本発明の第１の実施形態のレプリケーションシステムの構成を示すブロック図である。
【図２】第１の実施形態における中継転送装置および待機系サイトの詳細な構成を示すブロック図である。
【図３】第１の実施形態のレプリケーションシステムの動作を説明するためのフローチャートである。
【図４】図３のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図５】図３のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図６】図３のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図７】図３のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図８】第１の実施形態の正常系サイトの動作を説明するためのフローチャートである。
【図９】図８のフローチャートに示したシステム動作おける装置間の動作を示すシーケンス図である。
【図１０】第１の実施形態の中継転送装置の動作を説明するためのフローチャートである。
【図１１】図１０のフローチャートにて示した動作の中で、ステップＣ１の判定がＹｅｓ、ステップＣ３の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図１２】図１０のフローチャートにて示した動作の中で、ステップＣ１の判定がＮｏ、ステップＣ３の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図１３】図１０のフローチャートにて示した動作の中で、ステップＣ１の判定がＮｏ、ステップＣ３の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図１４】第１の実施形態のアドレス情報転送処理を説明するためのフローチャートである。
【図１５】第１の実施形態のデータ適用処理を説明するためのフローチャートである。
【図１６】第１の実施形態における他の処理例を示すフローチャートである。
【図１７】図１６のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図１８】図１６のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図１９】図１６のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図２０】第１の実施形態における、さらに他の処理例を示すフローチャートである。
【図２１】図２０のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図２２】図２０のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図２３】第１の実施形態における、さらに他の処理例を示すフローチャートである。
【図２４】図２３のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図２５】図２３のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図２６】第１の実施形態の変形例３における中継転送装置の動作を説明するためのフローチャートである。
【図２７】図２６のフローチャートにて示した動作の中でステップＣ１の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図２８】図２６のフローチャートにて示した動作の中でステップＣ１の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図２９】第１の実施形態における、さらに他の処理例を示すフローチャートである。
【図３０】図２９のフローチャートにて示した動作の中でステップＡ４の判定がＮｏ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図３１】図２９のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図３２】第１の実施形態の変形例４におけるデータ適用処理を説明するためのフローチャートである。
【図３３】図３２のフローチャートにて示した動作の中で、１回目のステップＥ４の判定がＮｏ、２回目のステップＥ４の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図３４】第１の実施形態の変形例５における中継転送装置と待機系サイトの詳細な構成を示すブロック図である。
【図３５】第１の実施形態における本変形例５のレプリケーションシステムの動作を説明するためのフローチャートである。
【図３６】図３５のフローチャートにて示した動作の中でステップＡ４の判定がＹｅｓ、ステップＡ６の判定がＹｅｓ、ステップＡ１０の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図３７】第１の実施形態の変形例６における中継転送装置および待機系サイトの詳細な構成を示すブロック図である。
【図３８】第１の実施形態の変形例７におけるレプリケーションシステムの動作を説明するためのフローチャートである。
【図３９】図３８のフローチャートにて示した動作での装置間の動作を示すシーケンス図である。
【図４０】第２の実施形態のレプリケーションシステムの構成を示すブロック図である。
【図４１】第２の実施形態における中継転送装置および待機系サイトの詳細な構成を示すブロック図である。
【図４２】第２の実施形態のレプリケーションシステムにおける中継転送装置の動作を説明するためのフローチャートである。
【図４３】第２の実施形態のレプリケーションシステムにおける待機系サイトの動作を説明するためのフローチャートである。
【図４４】第２の実施形態におけるポリシー設定を示す図である。
【図４５】図４２、４３のフローチャートにて示した動作の中で、ステップＦ１の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図４６】第２の実施形態の変形例１におけるレプリケーションシステムの構成を示すブロック図である。
【図４７】図４６に示されたポリシー制御装置の構成を示すブロック図である。
【図４８】第２の実施形態の変形例１における通常時のポリシー設定を示す図である。
【図４９】第２の実施形態の変形例１における論理的障害発生時のポリシー設定を示す図である。
【図５０】第２の実施形態の変形例４におけるレプリケーションシステムの動作を説明するためのフローチャートである。
【図５１】図５０のフローチャートにて示した動作の中でステップＧ４の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図５２】図５０のフローチャートにて示した動作の中でステップＧ４の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【図５３】第２の実施形態の変形例６におけるレプリケーションシステムの構成を示すブロック図である。
【図５４】第２の実施形態の変形例６における正常系サイトの動作を説明するためのフローチャートである。
【図５５】第２の実施形態の変形例６における正常系サイトの動作を説明するためのフローチャートである。
【図５６】第２の実施形態の変形例６における待機系サイトの動作を示すフローチャートである。
【図５７】図５５、５６のフローチャートにて示した動作における装置間の動作を示すシーケンス図である。
【図５８】第２の実施形態の変形例７におけるレプリケーションシステムの動作を説明するためのフローチャートである。
【図５９】図５８のフローチャートにて示した動作の中でステップＢ５の判定がＹｅｓとなる場合の装置間の動作を示すシーケンス図である。
【図６０】図５８のフローチャートにて示した動作の中でステップＢ５の判定がＮｏとなる場合の装置間の動作を示すシーケンス図である。
【符号の説明】
【０２８６】
１    正常系サイト
２    中継転送装置
３    待機系サイト
４    ネットワーク
５    ネットワーク
６    ポリシー制御装置
１１、３１    サーバ
１２、３２    ストレージ
６１    状況検知部
６２    ポリシー決定部
６３    ポリシー指示部
６４    履歴蓄積部
１１１    アプリケーション
１２１    ストレージ
１２２、１２３    データ
２０１    データ転送部
２０２    一時記憶部
２０３    アドレス取得部
２０４    転送キャンセル部
２０５    データ転送部
２０６    ポリシー蓄積部
３０１    要求受信部
３０２    要求実行処理部
３０３    アドレス情報蓄積部
３０４    データ取得部
３０５    データ適用部
３０６    データ蓄積部
Ａ１〜Ａ１３、Ｂ１〜Ｂ８、Ｃ１〜Ｃ８、Ｄ１〜Ｄ３、Ｅ１〜Ｅ５、Ｆ１〜Ｆ７、Ｇ１〜Ｇ８、Ｈ１〜Ｈ６    ステップ
【図１】
2006011848.tif 000003
【図２】
2006011848.tif 000004
【図３】
2006011848.tif 000005
【図４】
2006011848.tif 000006
【図５】
2006011848.tif 000007
【図６】
2006011848.tif 000008
【図７】
2006011848.tif 000009
【図８】
2006011848.tif 000010
【図９】
2006011848.tif 000011
【図１０】
2006011848.tif 000012
【図１１】
2006011848.tif 000013
【図１２】
2006011848.tif 000014
【図１３】
2006011848.tif 000015
【図１４】
2006011848.tif 000016
【図１５】
2006011848.tif 000017
【図１６】
2006011848.tif 000018
【図１７】
2006011848.tif 000019
【図１８】
2006011848.tif 000020
【図１９】
2006011848.tif 000021
【図２０】
2006011848.tif 000022
【図２１】
2006011848.tif 000023
【図２２】
2006011848.tif 000024
【図２３】
2006011848.tif 000025
【図２４】
2006011848.tif 000026
【図２５】
2006011848.tif 000027
【図２６】
2006011848.tif 000028
【図２７】
2006011848.tif 000029
【図２８】
2006011848.tif 000030
【図２９】
2006011848.tif 000031
【図３０】
2006011848.tif 000032
【図３１】
2006011848.tif 000033
【図３２】
2006011848.tif 000034
【図３３】
2006011848.tif 000035
【図３４】
2006011848.tif 000036
【図３５】
2006011848.tif 000037
【図３６】
2006011848.tif 000038
【図３７】
2006011848.tif 000039
【図３８】
2006011848.tif 000040
【図３９】
2006011848.tif 000041
【図４０】
2006011848.tif 000042
【図４１】
2006011848.tif 000043
【図４２】
2006011848.tif 000044
【図４３】
2006011848.tif 000045
【図４４】
2006011848.tif 000046
【図４５】
2006011848.tif 000047
【図４６】
2006011848.tif 000048
【図４７】
2006011848.tif 000049
【図４８】
2006011848.tif 000050
【図４９】
2006011848.tif 000051
【図５０】
2006011848.tif 000052
【図５１】
2006011848.tif 000053
【図５２】
2006011848.tif 000054
【図５３】
2006011848.tif 000055
【図５４】
2006011848.tif 000056
【図５５】
2006011848.tif 000057
【図５６】
2006011848.tif 000058
【図５７】
2006011848.tif 000059
【図５８】
2006011848.tif 000060
【図５９】
2006011848.tif 000061
【図６０】
2006011848.tif 000062