(57)【要約】【課題】複数のサイト間でデータのバックアップを行う際に正しくバックアップされていることを確認する。【解決手段】遠地系サイト３は、現用系サイト１から受信したデータを格納するとともに、近地系サイト２へ前記格納したデータを転送し、近地系サイト２は、遠地系サイト３から受信したデータを格納するとともに、現用系サイト１へ前記格納したデータを転送し、現用系サイト１は、遠地系サイト３に送信したデータと、近地系サイト２から戻ってきたデータとを照合し、これらのデータが不一致の場合には前記データを遠地系サイト３へ再度送信する。【選択図】図３
2005182251.tif 000002
【特許請求の範囲】
【請求項１】
書き込み要求を受け付けたデータを格納するとともに、第２の装置に送信する第１の装置と、前記第１の装置から受信したデータを格納する第２の装置を有するデータのバックアップ方法において、
前記第１の装置が前記データを格納するとともに、前記データを前記第２の装置へ送信する手順と、
前記第２の装置が第１の装置から受信した前記データを格納する手順と、
前記第２の装置が前記格納したデータを第１の装置へ送信する手順と、
前記第１の装置は、前記第２の装置へ送信したデータと、第２の装置から受信したデータとを照合して、これらデータが一致または不一致のいずれであるかを判定する手順と、
前記判定が不一致であった場合には、第１の装置が前記データを再度送信する手順と、
を含むことを特徴とするデータのバックアップ方法。
【請求項２】
前記第１の装置は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第２の装置へ送信し、
前記データの一致または不一致を判定する手順は、第２の装置から受信したデータより前記識別情報を抽出し、この抽出した識別情報と前記データに付加した識別情報とを照合する手順を含むことを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項３】
前記第１の装置は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第２の装置へ送信するとともに、識別情報を格納するテーブルを保持し、
前記照合が完了したデータに対応する前記識別情報をテーブルから消去する手順を含むことを特徴とする請求項２に記載のデータのバックアップ方法。
【請求項４】
前記データの一致または不一致を判定する手順は、前記第２の装置から受信したデータと、前記書き込み要求を受け付けたデータとの照合結果を前記第１の装置に設定したテーブルに格納する手順を含むことを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項５】
前記第１の装置は、前記送信したデータの送信時刻を格納する手順と、
前記送信したデータの送信時刻から所定の時間を経過したか否かを判定する手順と、
前記所定の時間が経過した場合には、前記データを再度送信する手順と、
を含むことを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項６】
前記第１の装置は、第１の計算機と、この第１の計算機に接続された第１の記憶装置から構成され、
前記データを格納する手順は、前記第１の計算機が書き込み要求を受け付けたデータを、前記第１の記憶装置に対して書き込みを指令し、
前記送信する手順は、前記第１の記憶装置に書き込みを指令したデータを前記第２の装置へ送信することを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項７】
前記第２の装置は、第２の計算機と、この第２の計算機に接続された第２の記憶装置から構成され、
前記データを格納する手順は、前記第１の装置から受信したデータを、前記第２の記憶装置に対して書き込みを指令し、
前記送信する手順は、前記第２の記憶装置に書き込みを指令したデータを前記第１の装置へ送信することを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項８】
前記第１の装置は、通信を行う制御部とデータを格納する記憶部を有する第１の記憶装置から構成され、
前記データを格納する手順は、前記制御部が書き込み要求を受け付けたデータを、前記記憶部に対して書き込みを指令し、
前記送信する手順は、前記記憶部に書き込みを指令したデータを、前記制御部が前記第２の装置へ送信することを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項９】
前記第２の装置は、通信を行う制御部とデータを格納する記憶部を有する第２の記憶装置から構成され、
前記データを格納する手順は、前記制御部が第１の装置から受信したデータを、前記記憶部に対して書き込みを指令し、
前記送信する手順は、前記記憶部に書き込みを指令したデータを、前記制御部が前記第１の装置へ送信することを特徴とする請求項１に記載のデータのバックアップ方法。
【請求項１０】
第１の装置が書き込み要求を受け付けたデータを格納するとともに、第２の装置に送信してデータをバックアップするプログラムであって、
前記データを格納するとともに、前記データを前記第２の装置へ送信する処理と、
前記第２の装置から前記送信したデータを受信する処理と、
前記第２の装置へ送信したデータと、第２の装置から受信したデータとを照合して、これらデータが一致または不一致のいずれであるかを判定する処理と、
前記判定が不一致であった場合には、前記データを第２の装置へ再度送信する処理と、
を第１の装置に機能させることを特徴とするプログラム。
【請求項１１】
前記第２の装置へ送信する処理は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加する処理を含み、
前記データの一致または不一致を判定する処理は、前記第２の装置から受信したデータより前記識別情報を抽出し、この抽出した識別情報と前記データに付加した識別情報とを照合する処理を含むことを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記データ固有の識別情報を付加する処理は、
前記識別情報を予め設定したテーブルに格納する処理と、
前記照合が完了したデータに対応する前記識別情報をテーブルから消去する処理と、
を含むことを特徴とする請求項１に記載のプログラム。
【請求項１３】
前記データの一致または不一致を判定する処理は、前記第２の装置から受信したデータと、前記書き込み要求を受け付けたデータとの照合結果を前記第１の装置に設定したテーブルに格納する処理を含むことを特徴とする請求項１０に記載のプログラム。
【請求項１４】
前記第２の装置へ送信したデータの送信時刻を格納する処理と、
前記送信したデータの送信時刻から所定の時間を経過したか否かを判定する処理と、
前記所定の時間が経過した場合には、前記データを再度送信する処理と、
を含むことを特徴とする請求項１０に記載のプログラム。
【請求項１５】
書き込み要求を受け付けたデータを格納するとともに、第２の装置に送信する第１の装置と、前記第１の装置から受信したデータを格納する第２の装置を有するデータのバックアップシステムにおいて、
前記第１の装置は、前記データを格納する第１の記憶部と、前記データを前記第２の装置へ送信する第１の送信部を有し、
前記第２の装置は、前記第１の装置から受信した前記データを格納する第２の記憶部と、第２の記憶部に格納した前記データを第１の装置へ送信する第２の送信部を有し、
前記第１の装置は、前記第２の装置からのデータを受信する受信部と、
前記第２の装置へ送信したデータと、第２の装置から受信したデータとを照合して、これらデータが一致または不一致のいずれであるかを判定する照合部と、を備えて、
前記判定が不一致であった場合には、第１の装置が前記データを第２の装置へ再度送信することを特徴とするデータのバックアップシステム。
【請求項１６】
前記第１の送信部は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第２の装置へ送信し、
前記照合部は、前記第２の装置から受信したデータより前記識別情報を抽出し、この抽出した識別情報と前記データに付加した識別情報とを照合することを特徴とする請求項１５に記載のデータのバックアップシステム。
【請求項１７】
前記第１の装置は、前記書き込み要求を受け付けたデータに、データ固有の識別情報を付加してから前記第２の装置へ送信するとともに、この識別情報を格納するテーブルを有し、
前記照合が完了したデータに対応する前記識別情報をテーブルから消去することを特徴とする請求項１６に記載のデータのバックアップシステム。
【請求項１８】
前記照合部は、前記第２の装置から受信したデータと、前記書き込み要求を受け付けたデータとの照合結果を前記第１の装置に設定したテーブルに格納することを特徴とする請求項１５に記載のデータのバックアップシステム。
【請求項１９】
前記第１の送信部は、前記送信したデータの送信時刻を格納する計時部と、
前記送信したデータの送信時刻から所定の時間を経過したか否かを判定するタイムアウト判定部と、
前記所定の時間が経過した場合には、前記データを再度送信する再送部と、
を有することを特徴とする請求項１５に記載のデータのバックアップシステム。
【請求項２０】
第一の処理装置で書き込んだデータを、第二の処理装置と第三の処理装置で格納するバックアップシステムであって、
前記第一の処理装置は、
書き込み要求の対象となるバックアップデータを格納する記憶部と、
前記バックアップデータ及び、当該データの前記第一の記憶部における格納場所を示すアドレス情報とを含む転送データを前記第二の処理装置へ送信する送信部と、
前記第三の処理装置から送信される前記転送データを受信する受信部と、
前記受信部が前記転送データを受信した場合に、受信した当該転送データに含まれる前記アドレス情報で特定されるアドレスに格納されている前記バックアップデータと、受信した前記転送データに含まれている前記バックアップデータとを照合する照合部と、
前記照合部における前記照合結果に応じて、前記第一の記憶部に格納されている前記バックアップデータを含む転送データを前記第二の処理装置へ再送する再送部と、
を有し、
前記第二の処理装置は、
前記第一の処理装置から送信されるデータを受信する受信部と、
前記受信部が受信したデータを前記第三の処理装置へ転送する送信部と、
を有し、
前記第三の処理装置は、
前記第二の処理装置から送信されるデータを受信する受信部と、
前記受信部が受信したデータを前記第一の処理装置へ転送する送信部と、
を有することを特徴とするバックアップシステム。
【請求項２１】
複数のサイトで同一のデータを循環させてバックアップするデータのバックアップシステムであって、
書き込み要求を受け付けたデータを格納するとともに、このデータを第１のバックアップサイトに送信する送信元サイトと、
前記第１のバックアップサイトは、送信元サイトから受信したデータを格納するとともに、第２のバックアップサイトへ前記格納したデータを転送し、
前記第２のバックアップサイトは、前記第１のバックアップサイトから受信したデータを格納するとともに、送信元サイトへ前記格納したデータを転送し、
前記送信元サイトは、前記第１のバックアップサイトに送信したデータと、前記第２のバックアップサイトから受信したデータを照合し、これらのデータが不一致の場合には前記データを前記第１のバックアップサイトへ再度送信することを特徴とするバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置やサーバのデータをバックアップする技術に関し、特に、複数のサイト間でデータの更新を非同期で行うものに関する。
【背景技術】
【０００２】
データベースやＷｅｂサイトなどのデータは、物理的に異なる記憶装置へバックアップを行うことでデータの冗長化を図っている。例えば、現在使用中のサイト（以下、現用系のサイト）のデータを、地理的に異なる遠隔地に設けたサイト（以下、遠地系のサイト）の記憶装置に転送し、データを更新しておくことで、現用系のサイトに損傷が生じても、遠地系サイトにバックアップしたデータを用いることで、地震などの災害等からデータの損傷を回避することが行われている。
【０００３】
このようなデータのバックアップシステムでは、現用系のサイトでデータの更新が発生すると、遠地系のサイトのデータも現用系のサイトに同期して更新する同期バックアップシステム（特許文献１）と、現用系のサイトでデータの更新が発生した後に遠地系サイトのデータを更新する非同期バックアップシステムが知られている（特許文献２）。
【特許文献１】欧州特許出願公開第０６７１６８６Ａ１号明細書
【特許文献２】欧州特許出願公開第０６７２９８５Ａ１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の技術では、現用系のサイトから、遠地系のサイトへ送信したデータが、遠地系のサイトで正しくバックアップされているか否かを確認することについては考慮されていなかった。
【０００５】
そこで本発明は、上記問題点に鑑みてなされたもので、複数のサイト間でデータのバックアップを行う際に正しくバックアップされていることを確認することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、送信元サイトのデータを第１のバックアップサイトと第２のバックアップサイトでバックアップを行うものであって、第１のバックアップサイトは、送信元サイトから受信したデータを格納するとともに、第２のバックアップサイトへ前記格納したデータを転送し、前記第２のバックアップサイトは、前記第１のバックアップサイトから受信したデータを格納するとともに、送信元サイトへ前記格納したデータを転送し、前記送信元サイトは、前記第１のバックアップサイトへ送信したデータと、前記第２のバックアップサイトから受信して戻ってきたデータとを照合し、これらのデータが不一致の場合には前記データを前記第１のバックアップサイトへ再度送信する。
【発明の効果】
【０００７】
したがって、本発明は、バックアップデータの送信元は、単一のサイトに向けてバックアップデータを送信し、戻ってきたデータと送信したデータでバックアップデータの照合を実現することができ、複数のサイト間でデータのバックアップが正確に行われたことを確認することが可能となるのである。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【０００９】
図１〜図３は、本発明を適用するシステムの全体的な構成を示すブロック図で、図１はあるサイトの構成を示すブロック図で、図２は上記図１のサーバと記憶装置の関係を示すブロック図、図３は地理的に異なる３カ所に現用系サイト１、近地系サイト２、遠地系サイト３を設け、現用系サイト１のデータを近地系サイト２と遠地系サイト３でバックアップを行う例を示す。
【００１０】
図１は、図３に示す現用系サイト１の一例を示すブロック図である。
【００１１】
上記図３に示す現用系サイト１は、例えば、図１のように、内部ネットワークが、基幹ＬＡＮ（Local Area Network）１１ＡとＳＡＮ（Storage Area Network）１１Ｂから構成することができる。なお、基幹ＬＡＮ１１Ａは図示しないゲートウェイ（ルータなど）を介してインターネットやＷＡＮなどの外部ネットワーク（図示省略）に接続される。
【００１２】
基幹ＬＡＮ１１Ａには各種サーバ１０Ａ〜１０Ｆが接続され、同じく基幹ＬＡＮ１１Ａに接続された業務クライアント（クライアントコンピュータ）５Ａ、５Ｂ、５Ｃからの要求に応じて情報の処理及び蓄積を行っている。
【００１３】
各種サーバ１０Ａ〜１０Ｆは、次のように各記憶装置と接続されている。
【００１４】
まず、業務サーバ１０Ａ、１０Ｂは、ＳＡＮ１１Ｂを介して記憶装置１２Ａ、１２Ｂに接続され、サーバ１０Ａ、１０Ｂは記憶装置１２Ａ、１２Ｂのデータに対して読み書きを行う。
【００１５】
また、ＮＡＳサーバ１０ＣはＳＡＮ１１Ｂを介して、記憶装置１２Ａ、１２Ｂに接続され、ＮＡＳサーバ１０Ｃは業務クライアント５Ａ〜５Ｃの要求に応じて記憶装置１２Ａ、１２Ｂのデータに対して読み書きを行う。
【００１６】
次に、ＮＡＳサーバ１０Ｄは、記憶装置１２Ｄに接続されており、ＮＡＳサーバ１０Ｄは業務クライアント５Ａ〜５Ｃの要求に応じて記憶装置１２Ｄのデータに対して読み書きを行う。
【００１７】
次に、ファイルサーバ１０Ｅ、１０Ｆは、記憶装置１２Ｅ、１２Ｆをローカルに接続しており、ファイルサーバ１０Ｅは業務クライアント５Ａ〜５Ｃの要求に応じて記憶装置１２Ｅのデータに対して読み書きを行い、ファイルサーバ１０Ｆは業務クライアント５Ａ〜５Ｃの要求に応じて記憶装置１２Ｆのデータに対して読み書きを行う。
【００１８】
そして、各サーバ１０Ａ〜１０Ｆは、記憶装置１２Ａ〜１２Ｆ内のデータを、後述するソフトウェアにより、図３に示す近地系サイト２と遠地系サイト３へバックアップを行う。
【００１９】
なお、図３に示す近地系サイト２と遠地系サイト３も現用系サイト１と同様に、図１に示す構成とすることができる。
【００２０】
次に、図２は、現用系サイト１を構成する業務サーバ１０Ａと記憶装置１２Ａの関係を示す詳細なブロック図である。
【００２１】
業務サーバ１０Ａは、ＣＰＵ、メモリ及び外部ネットワークと内部ネットワーク１１Ａに接続されるインターフェース（図中Ｉ／Ｆ、以下同様）を有し、記憶装置１２Ａは、ＣＰＵ、メモリ、キャッシュメモリ（データキャッシュ）及び内部ネットワーク１１Ｂに接続されるインターフェースと、ディスク装置１２０に接続されるインターフェースを有する制御部１２１を備える。また、業務サーバ１０Ａには図示しない表示装置や入力装置が備えられる。
【００２２】
そして、業務サーバ１０Ａは後述するクライアントからの要求などに応じて、ＳＡＮ記憶装置１２Ａからデータの読み出しまたは書き込みを行い、データが更新された場合には後述のように近地系サイト２と遠地系サイト３にデータを転送してバックアップを行う。なお、業務サーバ１０Ａは、上記図１のファイルサーバ１０Ｅ、１０Ｆのように、ローカルなディスク装置を備えるものであっても良い。
【００２３】
なお、図１、図２の業務サーバ１０Ａ及び記憶装置１２Ａが図３に示す各サイトに設けられ、各サイト間でデータの送受信を行って、バックアップを行う例を以下に示し、説明を簡易にするため図３の現用系サイト１、近地系サイト２及び遠地系サイト３にそれぞれ業務サーバ１０ＡとＳＡＮ１１Ｂ及び記憶装置１２Ａが配置され、各サイトの業務サーバ１０Ａでバックアップシステムが稼働するものとする。
【００２４】
なお、上記図１及び図２において、業務サーバ１０Ａと記憶装置１２ＡをＳＡＮ１１Ｂで接続したが、ＳＡＮ１１Ｂに代わってＬＡＮや独自ネットワークで構成しても良い。また、上記図１において、内部ネットワーク１１ＡをＬＡＮとしたが、ＩＰネットワークなどで構成しても良い。
【００２５】
図３は、地理的に異なる３つのサイト間でデータのバックアップを行う際の、データの流れを示す説明図である。
【００２６】
本発明のバックアップシステムでは、現用系サイト１でデータの書き込みが発生すると（図中Ｓ１）、現用系サイト１の記憶装置１２へ書き込みを行った後、書き込んだデータを遠地系サイト３に転送（コピー）する（図中Ｓ２）。
【００２７】
遠地系サイト３では現用系サイト１から受信したデータを記憶装置（例えば図１の１２Ａ）へ書き込んだ後、この書き込んだデータを近地系サイト２へ転送（コピー）する（図中Ｓ３）。近地系サイト２では遠地系サイト３から受信したデータを記憶装置（例えば、図１のＳ１２Ａ）へ書き込んだ後、この書き込んだデータを現用系サイト１へ転送する（図中Ｓ４）。
【００２８】
現用系サイト１では、上記Ｓ２で遠地系サイト３に送信したデータと、近地系サイト２から受信したデータとを照合して、遠地系サイト３及び近地系サイト２で書き込んだデータが正しいものであるか否かを照合する（図中Ｓ５）。照合結果が正しくなければ、現用系サイト１は遠地系サイト３へデータの再送を行う。
【００２９】
つまり、バックアップするデータを送信元となるサイト（現用系サイト１）からバックアップ先のサイト（近地系サイト２、遠地系サイト３）へ送り、バックアップ先のサイトで書き込んだデータを、送信元のサイトへ転送してデータをループさせて、データのループが完了した時点で、送信元から送信したデータと、最後にバックアップされたデータとを比較して照合を行うのである。
【００３０】
これにより、送信元ではデータ更新とバックアップを行いながらも、送信元の負荷の増大を抑制しながらデータの整合性を確保できるのである。すなわち、本発明では、一つの送信元となるサイトから、バックアップ先のサイトをデイジーチェーンにしておくことで、送信元となるサイトはバックアップ先サイトの数にかかわらず、最小限の負荷でバックアップを行うことが可能となるのである。
【００３１】
なお、サイトとは、サーバなどの計算機と、データを格納する記憶装置と、計算機と記憶装置または計算機同士あるいは記憶装置同士を接続するネットワークを含む情報処理装置で構成されるものである。そして、現用系サイト１は、バックアップすべきデータを有するサイトであり、例えば、業務サーバ１０Ａが内部ネットワーク（ＳＡＮまたはＬＡＮ）１１Ｂを介して接続された記憶装置１２Ａにデータを格納する。
【００３２】
次に、現用系サイト１と近地系サイト２及び遠地系サイト３のソフトウェア構成を図４に示す。
【００３３】
図４において、バックアップするデータの送信元となる現用系サイト１のソフトウェア群１００と、現用系サイト１からのデータをバックアップする近地系サイト２及び遠地系サイト３のソフトウェア群２００の２種に大別できる。これらソフトウェア群１００、２００は、図１に示した業務サーバ１０Ａで実行されるものとする。
【００３４】
まず、ソフトウェア群１００の構成について説明する。書き込んだデータを送信し、バックアップ先から戻ってきたデータの照合を行う現用系サイト１のソフトウェア群１００は、各サイトの役割を決定する役割定義部１０１と、記憶装置１２へ書き込んだデータと送信するデータの管理を行うデータ管理部１０２と、記憶装置１２Ａに対してデータの書き込みを行うデータwrite部１０３と、記憶装置１２Ａへ書き込んだデータをバックアップ先へ送信するデータ転送部１０４と、バックアップ先からループして戻ってきたデータを受信するデータ受信部１０５と、データ転送部１０４で送信したデータと、データ受信部１０５で受信したデータを比較して照合を行う照合部１０６の６つのモジュールから構成される。
【００３５】
バックアップ先のサイトで実行されるソフトウェア群２００では、近地系サイト２と遠地系サイト３のサーバは図１の業務サーバ１０Ａと同一の構成であり、近地系サイト２と遠地系サイト３のサーバの違いは後述する役割定義による受信先と送信先が異なるのみであって、他の処理は同一である。
【００３６】
ソフトウェア群２００は、送信されたバックアップデータ及び役割定義を受信するデータ受信部２０１と、受信した役割定義を解析し、役割定義に基づくサーバの動作を規定する役割解析部２０２と、受信したバックアップデータを記憶装置１２Ａに書き込むデータwrite部２０３と、書き込んだデータを次のバックアップ先または送信元（現用系サイト１）へ送信する転送部２０４から構成される。
【００３７】
ここで、送信元の現用系サイト１の業務サーバ１０Ａで実行される役割定義部１０１は、送信元の現用系サイト１からどのような順序でバックアップデータを転送し、各サイトにおいてどのような処理を行うかを定義したもので、例えば、図５で示すようなテーブルとして設定される。
【００３８】
図５のテーブルの例では、各サイトの送信先について、送信元の現用系サイト１のバックアップデータの送信先（転送先）は、遠地系サイト３であり、遠地系サイト３の転送先は近地系サイト２であり、近地系サイト２の転送先は現用系サイト１であることが定義される。
【００３９】
そして、各サイトが受信したデータの処理について、現用系サイト１では、データの転送（送信）と、送信したデータと受信したデータの照合を行うことが定義され、遠地系サイト３の受信後の処理は、受信したバックアップデータを記憶装置へ書き込み、書き込んだデータを転送することが定義されている。同様に、近地系サイト２の受信後の処理は、受信したバックアップデータを記憶装置へ書き込み、書き込んだデータを転送することが定義されている。
【００４０】
この図５の役割定義により、図３で示したように、現用系サイト１で記憶装置１２Ａへの書き込みが発生すると、書き込んだデータを現用系サイト１に割り当てられた転送先である遠地系サイト３に転送する。遠地系サイト３は現用系サイト１から受信したデータを記憶装置へ書き込んで、このデータを近地系サイト２へ転送する。近地系サイト２は、遠地系サイト３から受信したデータを記憶装置へ書き込み、書き込んだデータを現用系サイト１に転送する。現用系サイト１では近地系サイト２から受信したデータを、送信したデータと比較し、データが一致しているか否か（つまり、各サイトをループしたデータが正しいか）を照合する。この照合結果が不一致であれば、後述するように、再度バックアップデータを送信するなど所定の処理を実行する。
【００４１】
役割定義部１０１の処理は、図６で示すように構成され、現用系サイト１の業務サーバ１０Ａは、ソフトウェア群１００を実行すると、まず最初に、役割定義部１０１を実行して、上記図５の役割定義を読み込んで（Ｓ１０）、近地系サイト２と遠地系サイト３にそれぞれ図５で示した各サイトの受信後処理とデータ転送先を送信する（Ｓ１１）。
【００４２】
つまり、図５のテーブルに基づいて、現用系サイト１は、近地系サイト２に対して受信後処理が書き込みと転送であり、転送先が現用系サイト１である役割定義（役割分担情報）を送信し、同様に現用系サイト１は、遠地系サイト３に対して受信後処理が書き込みと転送で、転送先が近地系サイト２である役割定義（役割分担情報）を送信する。
【００４３】
次に、近地系サイト２と遠地系サイト３のサーバで実行される、ソフトウェア群２００の詳細について、図７のフローチャートを参照しながら説明する。
【００４４】
図７は、図４に示したデータ受信部２０１、役割解析部２０２、データwrite部２０３、データ転送部２０４を示しており、まず、Ｓ２０では、送信元からのデータ受信を待ち、データを受信するとＳ２１に進んで、受信したデータの判定を行い、データの種類に応じた分岐処理を行う。
【００４５】
Ｓ２１では、受信したデータが役割定義（役割分担情報）であればＳ２２の処理へ進む一方、転送データ（バックアップデータ）であればＳ２３の処理へ進む。
【００４６】
Ｓ２２では、受信したデータが役割定義であるため、このサイトの次に転送すべきサイトを受信したデータに基づいて設定するとともに、受信したデータに対する処理の内容を設定する。例えば、遠地系サイト３の場合、図５のテーブルより、現用系サイト１が送信した役割定義から、データ転送先が近地系サイト２で、受信後処理が書き込み（write）と転送であることを設定する。この後、Ｓ２０へ戻って次のデータを待つ。
【００４７】
一方、Ｓ２１の判定で受信したデータが転送データ（バックアップデータ）である場合のＳ２３では、受信したデータを記憶装置へ書き込む。そして、この書き込んだデータをＳ２２で設定された転送先へ送信する。
【００４８】
以上の処理により、現用系サイト１から役割定義を受信した近地系サイト２と遠地系サイト３は、受信した役割定義に沿って転送先や受信データの処理内容を設定する。この後、現用系サイト１で記憶装置１２Ａへの書き込みが発生すると、図８に示す手順で、各サイトでバックアップ処理が行われる。なお、データの書き込みは、業務サーバ１０Ａが記憶装置１２Ａの制御部１２１へ送信し、制御部１２１が書き込み指令を受け付けた時点を書き込みの完了とする。
【００４９】
複数のサイト間でデータの同期を行う手法としては様々な手法があるが、ここでは、スナップショットを用いる例を示す。
【００５０】
送信元の現用系サイト１の業務サーバ１０Ａでは、記憶装置１２Ａへデータを書き込んだ後に、スナップショットを取得し、後述するデータ管理情報を作成してから図８で示すように転送先の遠地系サイト３へデータの転送を行う。
【００５１】
なお、スナップショットは、記憶装置１２Ａへ書き込んだファイルやブロックまたはボリュームについてスナップショットを取得すればよい。
【００５２】
このスナップショットは、初回のスナップショット取得時であれば、全データのスナップショットを取得し、転送する。そして、次回以降のスナップショット取得時では、更新のあったデータだけを転送する。つまり、バックアップ開始時では、全データのスナップショットを取得するとともに、全データを他のサイトに転送しておき、次回からはデータの差分についてスナップショットを取得するとともに、データの差分を他のサイトへ転送してバックアップを行う。
【００５３】
図８は、各サイト間のデータの流れを示す図である。
【００５４】
現用系サイト１は、このバックアップシステム（ソフトウェア群１００）の起動時等の初期化時とスナップショットの取得要求があったときに、Ｓ３１にてデータのスナップショットを取得する同期要求の処理が行われる。
【００５５】
この同期処理は、後述するように、例えば、バックアップするデータの物理的位置（記憶装置１２Ａ上の位置）を示すスナップショットの生成や、識別情報（例えば、タイムスタンプやアドレスなどからなるデータに固有の情報）を生成し、書き込んだデータを他のサイトでバックアップした後に照合するための管理情報として保持する（図４のデータ管理部１０２で実現する処理）。
【００５６】
次に、業務サーバ１０Ａは、書き込んだデータに管理情報を付したものを、役割定義で決定された転送先である遠地系サイト３に送信する（Ｓ３２、図４のデータ転送部１０４）。
【００５７】
遠地系サイト３のサーバは、上記図７のフローチャートに基づいて受信したデータを、役割定義に応じて処理する。すなわち、データを受信した後（Ｓ３３）、受信したデータを記憶装置へ書き込んでバックアップを実行する（Ｓ３４）。その後、記憶装置へ書き込んだデータを、役割定義に沿った転送先である近地系サイト２へ送信する（Ｓ３５）。
【００５８】
遠地系サイト３から送信されたデータは、近地系サイト２のサーバが受信する（Ｓ３６）。近地系サイト２のサーバは、上記図７のフローチャートに基づいて受信したデータを、役割定義に応じて処理する。すなわち、データを受信した後（Ｓ３６）、受信したデータを記憶装置へ書き込んでバックアップを実行する（Ｓ３７）。その後、記憶装置へ書き込んだデータを、役割定義に沿った転送先である現用系サイト１へ送信する（Ｓ３８）。
【００５９】
近地系サイト２から送信されたデータは、現用系サイト１の業務サーバ１０Ａが受信する（Ｓ３９）。現用系サイト１の業務サーバ１０Ａは、上記図４のソフトウェア群１００に基づいて受信したデータを、役割定義に応じて処理する。すなわち、データを受信し（Ｓ３９、データ受信部１０５）、受信したデータの管理情報と、上記Ｓ３１で保持したデータの管理情報とを比較して、現用系サイト１から送信したデータが、２つのサイトでバックアップを実行した後に戻ってきた結果が一致するか否かを照合する（Ｓ４０、図４のデータ照合部１０６）。
【００６０】
この照合結果が一致していれば、Ｓ４２でデータ管理情報を更新する一方、不一致の場合には再び、Ｓ３２の処理へ戻って、照合に失敗したデータをもう一度送信する（Ｓ４１）。なお、Ｓ４２でデータ管理情報を更新した後には、次のデータについてバックアップ処理を行う。
【００６１】
このように、現用系サイト１で書き込んだデータは、データに固有の管理情報を付与されてから近地系サイト２と遠地系サイト３でそれぞれバックアップされた後に、送信元で保持された送信データの管理情報と、近地系サイト２から受信した各サイトをループしてきたデータに含まれる管理情報とを比較することで、確実にデータがバックアップされたか否かを、容易に照合することができるのである。
【００６２】
つまり、バックアップデータの送信元である現用系サイト１でデータの照合を行う場合、バックアップするサイトが多数存在したとしても、送信したデータの管理情報を保持しておき、最後にデータのバックアップデータを行ったサイトから受信したデータについて管理情報を比較すればよいので、照合に要する負荷はバックアップを行うサイトの数に影響を受けることがないのである。
【００６３】
なお、上記図８において、Ｓ３１〜Ｓ３２及びＳ３９〜Ｓ４２で行われる処理が、データ送信元の業務サーバ１０Ａで実行される図４のソフトウェア群１００のうち、データ管理部１０２〜データ照合部１０６によって実現される。
【００６４】
次に、現用系サイト１の業務サーバ１０Ａで作成されるデータの管理情報について説明する。
【００６５】
データ管理情報は、例えば、図９で示すように、スナップショットを取得した時刻Ｔｉをタイムスタンプとして用い、このタイムスタンプをインデックスとして、データのアドレス４１、送信時刻４２や再送カウンタ４３などの付加情報４４を管理情報とし、データの長さ及び値を含む管理リスト４０から構成される。そして、この管理リスト４０は、現用系サイト１で書き込みが行われてスナップショットを取得する度に、タイムスタンプＴｉ毎にデータの管理情報が追加されていく。つまり、アドレス４１、付加情報４４、データ５０の図中一列が一つのエントリ（またはレコード）として順次作成され、複数のエントリはタイムスタンプＴｉ毎に管理される。
【００６６】
そして、データ転送処理は、図１０で示すように、予め設定したデータ形式でデータ５０に管理情報（タイムスタンプＴｉ、アドレス４１、付加情報４４）を付加して遠地系サイト３へ送信する。
【００６７】
図１０は、データ形式の一例を示しており、例えば、転送するデータの先頭（０バイト）から８バイトをタイムスタンプＴｉとし、１２バイト目までをアドレス４１、１６バイト目までを付加情報４４として、１７バイト以降にデータ長を含むデータ５０が格納され、転送される。
【００６８】
ここで、管理情報の一例を説明する。まず、タイムスタンプＴｉは、例えば、年月日時分秒＋１／１００秒で構成され、スナップショットを取得した時刻が２００３年１０月２９日９時５３分２秒７８であれば、「2003102909530278」となる。
【００６９】
次に、データ５０のアドレス４１は、ファイルシステム上の論理的な位置や記憶装置１２Ａ上の物理的な位置で構成することができ、例えば、「file＿a10」の論理的な位置を示す場合では、「/nas/data/dir＿a/file＿a10」がアドレス４１となる。また、データの値は、例えば、テキストデータの場合「“NASのバックアップ方式事例”」などのデータが格納される。
【００７０】
また、再送カウンタ４３は、照合結果が不一致となったときにデータを再度転送した回数を示す値である。なお、付加情報４４としては、タイムアウト（一定時間内に転送データが戻ってこないとき）の回数を示すカウンタや照合結果が不一致の回数を示すカウンタなどを含んでも良い。また、付加情報４４に送信時刻４２を含んだ例を示したが、タイムスタンプＴｉで転送するデータを管理する場合では、送信時刻４２を含まなくとも良い。
【００７１】
ここで、管理リスト４０は、タイムスタンプＴｉに対応付けられているグループは、異なるタイミングで現用系サイト１で書き込まれたデータを含んでもよく、例えば、第一のデータのブロック（例えば、ブロック１）とし、このブロック１を記憶装置１２Ａへ書き込んだ後、転送を行うために管理リスト４０に登録する。このとき、ブロック１についてはスナップショットを取得した時刻のタイムスタンプＴ１が付されてリストに登録される。次に、第二のデータのブロック（ブロック２）について、記憶装置１２Ａへ書き込んだ後、転送を行う際に管理リスト４０に登録する。このとき、時刻Ｔ１のスナップショットがブロック１とブロック２を含んでいれば、ブロック１と２は、同一のタイムスタンプＴｉをインデックスとした管理リスト４０のグループとなる。
【００７２】
なお、上記スナップショット取得処理及びデータ管理情報作成処理で得た、スナップショット及び管理リスト４０は、図１に示す業務サーバ１０Ａのメモリや記憶装置１２Ａの所定の領域に記憶する。なお、これらのスナップショット及び管理リスト４０の各エントリは、後述の照合結果が一致すれば削除される。
【００７３】
図１１は、本バックアップシステムが稼働するイベントを示すタイムチャートである。
【００７４】
時刻Ｔ０でバックアップシステムが起動すると、まず初期化が行われる。
【００７５】
この初期化処理では、上記図６のＳ１０以降が実行されてバックアップを行うサイトに役割分担情報を配布し、その後、後述する処理及び上記図８のデータ同期要求により全データのスナップショットを取得して、現用系サイト１のデータとバックアップを行う近地系サイト２、遠地系サイト３のデータを同期させておく。
【００７６】
その後、業務サーバ１０Ａに書き込み（write）要求があると、業務サーバ１０Ａは記憶装置１２Ａにデータを格納してから、時刻Ｔ１で更新されたデータのスナップショットを取得する。
【００７７】
初期化処理の時点で各サイトのデータ同期を取っているので、時刻Ｔ１以降のスナップショット取得では、差分データだけを転送して、各サイトのデータ同期が行われ、現用系サイト１にwrite要求があるときは、差分データを管理するだけでよくなり、write要求の処理負荷を低減することができる。
【００７８】
次に、上記スナップショット取得処理、データ管理情報作成処理、データ転送処理の詳細について、図１２及び図１３に示すフローチャートを参照しながら詳述する。
【００７９】
図１２において、まず、Ｓ５５では、スナップショット処理の種別が、初期化であるか否かを判定して、初期化の場合にはＳ５６へ進む一方、初期化が完了した後であれば通常のスナップショット取得処理と判定して、Ｓ６０に進む。
【００８０】
なお、本バックアップシステムの初期起動時には、ターゲットとなるデータを”スナップショット未取得”に初期化しておき、スナップショット取得時にその状態を判定する。また、ターゲットとなるデータは、上述のようなファイル単位の他、ボリューム単位などである。
【００８１】
初期化処理となるＳ５６では、最初のタイムスタンプＴｉをｉ＝０とし、タイムスタンプＴ０を取得するとともにスナップショットを取得する。そして、Ｓ５７では、全データのデータ管理情報を作成する。その後、Ｓ５８では、次回のタイムスタンプＴ１で用いる管理リスト４０やスナップショット用の領域を確保するとともに初期化しておく。
【００８２】
Ｓ５９では、上記Ｓ５７で作成したタイムスタンプＴ０のデータを、遠地系サイト３に転送する。このとき、管理リスト４０の送信時刻４２に現在の時刻を書き込むとともに、再送カウンタの値を初期化しておく。
【００８３】
次に、２回目以降の処理となるＳ６０では、タイムスタンプＴ（ｉ）を取得するとともに、図１１で示したように、業務サーバ１０Ａでのwrite要求の後にバックアップを行うため、最新のスナップショットの時刻を取得する。
【００８４】
次に、Ｓ６１では、次回のタイムスタンプＴ（ｉ＋１）で用いる管理リスト４０やスナップショット用の領域を確保するとともに初期化しておく。なお、この２回目以降のスナップショット取得処理では、更新されたデータのスナップショットを後述するWrite要求処理で実行する。
【００８５】
次に、Ｓ６２では、上記Ｓ６０で作成したタイムスタンプＴ（ｉ）のデータを、遠地系サイト３に転送する。このとき、管理リスト４０の送信時刻４２に現在の時刻を書き込む。
【００８６】
次に、上記図１１のwrite要求時に行われる処理について、図１３のフローチャートを参照しながら説明する。
【００８７】
書き込み要求があると、Ｓ６５にてこのデータのアドレス、データを含む管理情報を作成する。すなわち、管理リスト４０には、次回のタイムスタンプＴ（ｉ）をインデックスとする管理情報のエントリが追加される。
【００８８】
そして、Ｓ６６では記憶装置１２Ａに対してこのデータの書き込み指令を発行する。
【００８９】
以上図１２、図１３の処理により、初期化終了後からは書き込み要求があると、書き込むデータの管理情報作成した後に、タイムスタンプＴ（ｉ）を取得するとともに、スナップショットの取得が行われて、現用系サイト１に書き込まれたデータは、役割定義（役割分担情報）に基づいて遠地系サイト３に送信される。
【００９０】
また、Ｓ５８とＳ６１で行われる次のデータ用の領域確保は、Ｔ（ｉ＋１）の管理情報の作成をwrite処理（図１３）で行うようにすると、write時に毎回管理情報が作成済みか否かの判定が必要になり、データ書き込み処理が重くなる場合がある。このため、データ管理情報の作成はスナップショット取得とほぼ等価なので、領域確保をスナップショット取得処理で行うことで、write処理を軽くすることができる。
【００９１】
上記Ｓ６５の処理により、比較する元データ（転送データ）を、データ管理情報に格納しておき、照合処理においてデータ管理情報から該当するデータを取り出して比較を行う。
【００９２】
したがって、時刻Ｔｉの時点における現用系サイト１のデータ内容を、他のサイトへ同期させることができ、時刻Ｔｉの時点のデータが、時刻Ｔｉ以降の同一アドレスのデータで上書きされても問題ないように、データ管理情報に時刻Ｔｉでのデータ内容を保存しておくのである。
【００９３】
つまり、現用系サイト１の記憶装置で同一アドレスの更新が数回あるとき、Ｓ６５の処理で、同一アドレスを持つデータ管理情報リストのデータ（値）を上書きしておくのである。
【００９４】
次に、上記図８のＳ４０で行われるデータの照合処理について、図１４のフローチャートを参照しながら詳述する。
【００９５】
まず、Ｓ７０では業務サーバ１０Ａが受信した近地系サイト２からのデータから、上記図１０で示したように、管理情報からタイムスタンプＴｉとアドレス４１を抽出する。そして、タイムスタンプＴｉをインデックスとして管理リスト４０を検索し、該当するタイムスタンプＴｉのエントリからアドレス４１が一致するデータを抽出する。
【００９６】
次に、Ｓ７１では、受信したデータと管理リスト４０のデータ５０と比較を行い、一致するか否かの判定を行う。
【００９７】
ここで、受信したデータと管理リスト４０に保持しておいたデータ５０との比較は、両者の値を全ビット照合しても良いし、あるいは、送信時にチェックサムを生成して、チェックサムを比較することでデータの照合を行っても良い。または、データの一部を比較して照合を行っても良く、例えば、データの先頭から所定ビット数の範囲やデータの最後から所定ビット数の範囲、あるいはデータの境界を含む所定のビット数の範囲などで照合を行えばよい。なお、データの境界は、データブロックの境界やパケットデータの境界等を示す。
【００９８】
受信したデータと管理リスト４０のデータ５０が一致する場合にはＳ７６へ進む一方、不一致の場合にはＳ７２に進む。
【００９９】
各サイトをループして戻ってきた受信データと管理リスト４０のデータ５０が不一致の場合のＳ７２では、管理リスト４０の再送カウンタ４３を読み込み、再送カウンタ４３の値が所定の再送回数を超えていないか否かを判定する。
【０１００】
再送カウンタ４３の値が所定の再送回数を超えていれば、Ｓ７４へ進んで業務サーバ１０Ａの図示しない表示装置などに再送エラーの通知（所定の再送回数を超えた通知）を行う。これにより、業務サーバ１０Ａの管理者などに、現用系サイト１からバックアップされたデータが遠地系サイト３と近地系サイト２をループする過程で、複数回の異常が生じたことを通知することができる。
【０１０１】
一方、所定の再送回数を超えていない場合でも、再送エラーの場合には、Ｓ７３へ進んで業務サーバ１０Ａの図示しないコンソールなどにデータの照合エラーが生じた警告を通知する。
【０１０２】
その後、Ｓ７５へ進んで、上記管理リスト４０の再送カウンタ４３の値をインクリメントするとともに、送信時刻を更新してから元のデータ５０を再度送信する。
【０１０３】
上記Ｓ７２からＳ７５の処理が、図８に示したＳ３９〜Ｓ４１及びＳ３２の処理に相当する。
【０１０４】
次に、上記Ｓ７１の判定で、近地系サイト２から受信したデータと管理リスト４０のデータ５０が一致する場合のＳ７６では、データ５０の管理情報から送信時刻４２を抽出し、上記Ｓ７０でデータを受信した時刻と送信時刻４２を比較して、到着時間（受信時刻−送信時刻４２）が予め設定した基準時間を超えたか否かを判定する。
【０１０５】
到着時間が基準時間を超えた場合には、Ｓ７７へ進んで業務サーバ１０Ａの図示しない表示装置などにバックアップ側のサイトや外部ネットワークの性能が低下したことを示す警告を通知する。この警告により、業務サーバ１０Ａの管理者などは、外部ネットワークのトラフィックの増大やサーバの性能の低下などを推測することができる。
【０１０６】
次に、Ｓ７８では、受信したデータと管理リスト４０のデータ５０が一致したエントリを削除する。
【０１０７】
そして、Ｓ７９では、データ５０のインデックスとなっているタイムスタンプＴｉの全エントリが削除されたか否かを判定し、タイムスタンプＴｉで管理されるエントリが全て削除された場合には、Ｓ８０に進んでタイムスタンプＴｉに対応するスナップショットを削除するとともに、管理リスト４０からタイムスタンプＴｉのインデックスを削除して処理を終了する。なお、上記Ｓ７８〜Ｓ８０の処理が図８に示したＳ４２のデータ管理情報更新処理に相当する。
【０１０８】
以上のデータ照合処理により、現用系サイト１から遠地系サイト３、近地系サイト２をループして戻ってきたデータを、送信前に作成した管理リスト４０のデータ５０と比較することで、各バックアップサイトで正確にバックアップを行われたか否かを戻ってきた時点で照合するようにしたので、業務サーバ１０Ａはバックアップするサイトの数にかかわらず、最後にバックアップを行ったサイトからのデータのみを照合すればよいので、多数のサイトでバックアップを行うようにしても、業務サーバ１０Ａの負荷が増大することはないのである。したがって、多数のサイトでバックアップを行うようなバックアップシステムであっても照合処理を極めて低負荷で行うことが可能となる。
【０１０９】
次に、図１５は、現用系サイト１の業務サーバ１０Ａで所定時間毎（例えば、数百msecなど）に実行されるタイムアウト監視処理の一例を示すフローチャートである。
【０１１０】
送信元の現用系サイト１では、送信したデータがループして戻ってきた時点で照合を行うため、バックアップサイト２、３や外部ネットワークの障害により、データが戻ってこない場合についての処理を以下のように行う。
【０１１１】
まず、Ｓ９１では、管理リスト４０から、送信時刻４２が記載されたエントリを取り出して、現在時刻と送信時刻４２の時間差を演算する。
【０１１２】
そして、Ｓ９２では、この時間差が予め設定したタイムアウト判定値（一定時間）を超えたか否かを判定する。
【０１１３】
この時間差がタイムアウト判定値以下であれば処理を終了する一方、時間差がタイムアウト判定値を超えた場合には、Ｓ９３へ進んで再送カウンタ４３の値を読み込み、再送カウンタ４３の値が所定の再送回数以下であるか否かを判定する。
【０１１４】
再送カウンタ４３の値が所定の再送回数以下の場合には、Ｓ９５へ進んで業務サーバ１０Ａの図示しない表示装置などに送信タイムアウトが発生した警告を通知する。その後、Ｓ９６へ進んで当該データ５０を再度送信する。このとき該当するエントリの再送カウンタ４３の値をインクリメントするとともに、送信時刻を更新する。
【０１１５】
一方、再送カウンタ４３の値が所定の再送回数を超えた場合には、Ｓ９４へ進んで業務サーバ１０Ａの図示しない表示装置などに送信タイムアウトのエラーが生じ、再送回数が規定値を超えたことを通知する。
【０１１６】
上記Ｓ９１〜Ｓ９６の処理は、管理リスト４０の先頭から最後のエントリまで順次行う。
【０１１７】
以上の処理により、バックアップを行う近地系サイト２や遠地系サイト３または外部ネットワークに障害が発生して、送信したデータが戻ってこない場合を的確に検知することができ、業務サーバ１０Ａの管理者などへ照合処理ができないことを通知することができる。
【０１１８】
以上のように、本発明によれば、バックアップデータの送信元となる現用系サイト１は、単一のサイトに向けてバックアップデータを送信し、複数（または単一）のサイトでバックアップを実行したデータを戻してもらうことで、極めて低い処理負荷でバックアップの実行と、バックアップデータの照合を実現することができ、データ更新の管理を簡素にしながらも複数のサイト間でデータのバックアップを正確に行うことが可能となるのである。
【０１１９】
そして、所定時間毎にタイムアウトの監視処理を行うようにしたので、バックアップのループの最後のサイトからデータが受信できない場合には、警告を通知するようにしたので、業務サーバ１０Ａの管理者などに対処を促すことができる。
【０１２０】
なお、上記図１５のＳ９４ではエラーの警告（通知）を行ったが、この場合は、再送回数が規定値を超えて、かつ、送信タイムアウトのエラーが生じているので、バックアップを行うサイトや外部ネットワークのいずれかが停止している可能性があるので、バックアップシステムを停止するように処理しても良い。
【０１２１】
また、上記実施形態においては、業務サーバ１０Ａが内部ネットワーク１１Ｂを介して記憶装置１２Ａに接続された例を示したが、業務サーバ１０Ａに代わって図１に示したＮＡＳサーバ１０Ｃ、１０Ｄやファイルサーバ１０Ｅ、Ｆで上記バックアップ処理を行うことができ、さらに、ＮＡＳサーバＣ、１０ＤをＮＡＳヘッドに置き換えてもよい。
【０１２２】
＜変形例１＞
上記実施形態においては、スナップショットを取る場合の一例を示したが、スナップショットを取得せずに、データを記憶装置１２Ａへ書き込んだ時刻をタイムスタンプＴｉとしてもよい。あるいは、管理情報を作成した時刻などをタイムスタンプＴｉとして、管理リスト４０を管理してもよい。
【０１２３】
あるいは、時刻Ｔｉに限定することなく、現用系サイト１のデータ内容に、追いついて同期させていくようにしてもよい。
【０１２４】
上述のようなスナップショットという特定の時刻のデータ内容に同期させるのではなく、同期要求（図８）があったときに、各サイト間のデータの不一致が解消するまで、同期の処理が継続し、バックアップサイトでは最新の現用系サイト１のデータ内容に合わせればよいので、図９、図１０に示したデータ管理情報のうちタイムスタンプとデータ５０は不要になり、アドレス４１で管理するようにしてもよい。つまり、データ管理情報中にはデータの実体はなく、照合の際にはデータ管理情報から特定したアドレス４１に格納されているデータを取得するようにする。なお、この場合では、図１２に示したスナップショットの取得というパスは不要となり、また、図１３のＳ６５では、同一アドレスのデータのwriteがあるとき、データ管理情報の送信時刻４２をリセットすればよい。
【０１２５】
＜変形例２＞
上記実施形態では、送信元までバックアップをループさせて照合を行ったが、図１６で示すように、バックアップの送信元と照合を行うサイトが異なっても良い。つまり、現用系サイト１は遠地系サイト３にバックアップデータを転送するとともに、管理情報（管理リスト４０）をバックアップのループの最後となる近地系サイト２へ転送しておく。
【０１２６】
そして、近地系サイト２では、遠地系サイト３からデータを受信すると、記憶装置へ書き込んだ後、書き込んだデータと、現用系サイト１から受信した管理リスト４０から上記実施形態と同様の処理を行ってデータの照合を実行する。
【０１２７】
これにより、バックアップデータの送信元となる現用系サイト１の業務サーバ１０Ａの負荷をさらに低減することが可能となり、現用系サイト１の業務サーバ１０Ａにおける書き込み処理などのレスポンスを向上させることができる。
【０１２８】
このように、複数のバックアップサイトがある場合では、送信元またはバックアップサイトのいずれかひとつでデータの照合を行えば良く、好ましくはバックアップのループの最後のサイトで照合を行うことで、データの整合性を確実に保証することができる。
【０１２９】
なお、各サイトの役割は、図５に示した役割定義に応じて随時変更することができるので、各サイトにソフトウェア群１００を設定しておけば、役割定義の受信後処理、データ転送先を変更するだけで、バックアップのループの流れや照合サイトを任意に変更することが可能となる。
【０１３０】
＜変形例３＞
上記図１においては、現用系サイト１と近地系サイト２を外部ネットワークを介して接続したが、現用系サイト１の記憶装置と近地系サイト２の記憶装置とを同一のＳＡＮ１１Ｂで接続することができる。
【０１３１】
この場合、上記実施形態のように業務サーバ１０Ａでバックアップシステム（ソフトウェア群１００、２００）を稼動させても良いし、記憶装置１２Ａの制御部１２１でバックアップシステムを稼働させても良い。この場合、業務サーバ１０Ａの負荷をさらに低減でき、加えて、記憶装置１２Ａは同一のＳＡＮ１１Ｂを介して高速に通信を行うことで、バックアップシステム全体の性能を向上させることができる。
【０１３２】
＜変形例４＞
上記実施形態では、各サイトのサーバ同士を外部ネットワークで接続したが、各サイトの記憶装置１２Ａの制御部１２１同士を外部ネットワークで接続し、各制御部１２１で上記実施形態のソフトウェア群１００、２００をそれぞれ実行しても良い。
【０１３３】
なお、上記記憶装置１２Ａではディスク装置を備えた例を示したが、テープ装置や光ディスク装置を備えたものであっても良い。
【０１３４】
また、管理情報に用いるアドレスは、上記実施形態のようにファイルの位置を示すものの他、記憶装置１２Ａ上の物理的な格納位置をアドレス４１として用いることができる。
【０１３５】
アドレスが物理的格納位置の場合、通常、現用系サイト１と他サイトは、同一物理構成にする必要があり、各サイトでは同一のアドレスに同一のデータを格納する。なお、アドレスが論理的情報であれば、各サイトは同一物理構成である必要はない。
【図面の簡単な説明】
【０１３６】
【図１】システムの全体的な構成を示すブロック図。
【図２】現用系サイトの一例を示すブロック図。
【図３】地理的に異なる３つのサイト間でデータのバックアップを行う際の、データの流れを示す説明図。
【図４】現用系サイトと近地系サイト及び遠地系サイトのソフトウェア構成を示すブロック図。
【図５】役割定義テーブルの一例を示す説明図。
【図６】役割定義部の処理の流れを示す説明図。
【図７】バックアップサイトで行われる処理の一例を示すフローチャート。
【図８】各サイト間のデータの流れを示すフローチャート。
【図９】管理リストの一例を示す説明図。
【図１０】転送データの一例を示す説明図。
【図１１】スナップショットと書き込みタイミングを示すタイムチャート。
【図１２】スナップショット取得処理を示すフローチャート。
【図１３】Write要求処理の一例を示すフローチャート。
【図１４】データの照合処理の一例を示すフローチャート。
【図１５】タイムアウト監視処理の一例を示すフローチャート。
【図１６】変形例を示し、バックアップサイトで照合処理を行う場合のデータの流れを示す説明図。
【符号の説明】
【０１３７】
１  現用系サイト
２  近地系サイト
３  遠地系サイト
１０、２０、３０  業務サーバＡ
１１Ａ、１１Ｂ内部ネットワーク
１２Ａ  記憶装置
【図２】
2005182251.tif 000003
【図３】
2005182251.tif 000004
【図５】
2005182251.tif 000005
【図６】
2005182251.tif 000006
【図７】
2005182251.tif 000007
【図８】
2005182251.tif 000008
【図９】
2005182251.tif 000009
【図１０】
2005182251.tif 000010
【図１１】
2005182251.tif 000011
【図１２】
2005182251.tif 000012
【図１３】
2005182251.tif 000013
【図１４】
2005182251.tif 000014
【図１５】
2005182251.tif 000015
【図１６】
2005182251.tif 000016
【図１】
2005182251.tif 000017
【図４】
2005182251.tif 000018