(57)【要約】【課題】ユーザによるファイルアクセス要求に際して少ないストレージ消費量で迅速にファイルを復元する。【解決手段】ファイル復元に際し、第２サーバ装置３ｂが、第２ストレージ装置１０ｂに記憶しているファイルのデータのうち、復元先ディレクトリに関連づけた日時に第１サーバ装置３ａのファイルシステムに構成されていたディレクトリイメージの、最上位ディレクトリから所定の下位階層までのディレクトリイメージを第１サーバ装置３ａに送信し、第１サーバ装置３ａがディレクトリイメージを第１ストレージ装置１０ａに復元する。第２サーバ装置３ｂは、第１サーバ装置３ａから要求が送られてきた場合、追加のディレクトリイメージを第２ストレージ装置１０ｂから読み出して第１サーバ装置３ａに送信する。
2013061388.tif 000002
【特許請求の範囲】
【請求項１】
第１ファイルシステムを有し、Ｉ／Ｏ要求をクライアント装置から受け付ける第１サーバ装置と、
前記第１サーバ装置のストレージを構成する第１ストレージ装置と、
第２ファイルシステムを有し、前記第１サーバ装置に通信可能に接続された第２サーバ装置と、
前記第２サーバ装置のストレージを構成する第２ストレージ装置と、
を備え、
前記第１サーバ装置は、前記第１ストレージ装置に記憶されている、前記Ｉ／Ｏ要求の対象であるファイルのデータを前記第２サーバ装置に送信し、
前記第２サーバ装置は、前記第１サーバ装置から送られてくる前記データを、前記第１ファイルシステムにおけるディレクトリイメージを前記第２のファイルシステムで保持しつつ、前記第２ストレージ装置に記憶する、
情報処理システムであって、
前記第２サーバ装置は、前記第１サーバ装置のファイルシステムに構成されていたディレクトリイメージのうちの所定の階層の第１ディレクトリイメージを、前記第２ストレージ装置に記載されているディレクトリイメージから取得して前記第１サーバ装置に送信し、
前記第１サーバ装置は、前記第２サーバ装置から送られた前記第１ディレクトリイメージを前記第１ストレージ装置に復元した後、復元されようとしているファイルに対するＩ／Ｏ要求を前記クライアント装置から受け付けると、当該受け付けた前記Ｉ／Ｏ要求を処理するために必要となる第２ディレクトリイメージが前記第１ストレージ装置の前記第１ディレクトリイメージに存在するか否かを判定し、当該第２ディレクトリイメージが存在しない場合、当該第２ディレクトリイメージを前記第２サーバ装置に要求し
前記第２サーバ装置は、前記第１サーバ装置から前記要求が送られてくると、前記第２ディレクトリイメージを前記第２ストレージ装置から読み出して前記第１サーバ装置に送信し、当該第１サーバ装置は、前記第２ディレクトリイメージを前記第１ストレージ装置に復元し、
前記第１サーバ装置は前記第１ディレクトリイメージと、前記第２ディレクトリイメージと、を含む、目的ディレクトリイメージを前記第１ストレージに復元し、
前記第２サーバ装置の前記第２ファイルシステムは、ファイルシステムオブジェクトの作成又は更新の都度、当該作成又は更新後のファイルシステムオブジェクトを異なるバージョンＩＤで管理し、前記第１サーバ装置は前記目的ディレクトリを復元する過程で前記バージョンＩＤを利用する、
情報処理システム。
【請求項２】
前記第１サーバ装置の第１ファイルシステムは、過去のある時点での復元されたルートディレクトリに存在するディレクトリのメタデータと、前記ルートディレクトリに存在するファイルのメタデータと、を前記第２サーバ装置に要求し、
前記第２サーバは、当該要求を受けると、前記メタデータを前記第２ストレージ装置から取得して前記１サーバ装置に設定された復元先ディレクトリに送信し、
前記第１サーバ装置は、前記復元先ディレクトリの前記メタデータに従って前記ルートディレクトリと、当該ルートディレクトリ直下のファイルシステムオブジェクトとからなるディレクトリイメージを構成し、当該ディレクトリイメージを前記第１ディレクトリイメージとして前記第１ストレージ装置に復元する、
請求項１記載の情報処理システム。
【請求項３】
前記第１サーバ装置は、前記目的ディレクトリイメージに存在する前記ファイルのメタデータを前記第１ストレージ装置から取得し、当該メタデータに基づいて前記第２サーバに前記ファイルの実体であるデータを要求し、
前記第２サーバ装置は、この要求に基づいて当該データを前記第２ストレージ装置から取得して前記第１サーバ装置に送信し、
当該第１サーバ装置は、当該データを取得すると、これを前記第１ストレージ装置の前記目的ディレクトリイメージの前記ファイルに格納する、
請求項２記載の情報処理システム。
【請求項４】
前記第１ファイルシステムは、当該第１ファイルシステムに属するファイルシステムオブジェクトのメタデータ又はデータに対する書き込みを、当該ファイルシステムオブジェクトに対するアクセス権のビューを変えることなく抑制するためのフラグを有し、
前記第１サーバ装置は、前記目的ディレクトリイメージに対する前記フラグを、前記メタデータ又はデータに対する読取専用の状態に設定する、請求項１記載の情報処理システム。
【請求項５】
前記第１サーバ装置は、前記第１ディレクトリイメージが復元された復元先ディレクトリを作成し、当該復元先ディレクトリに前記第１ディレクトリイメージが復元された復元日時を前記復元先ディレクトリと共に、ディレクトリイメージ管理テーブルに記録し、当該ディレクトリイメージ管理テーブルへの前記復元先ディレクトリと前記復元日時との記録を、所定のタイミングで複数実行する、請求項１記載の情報処理システム。
【請求項６】
前記第２サーバ装置の前記第２ファイルシステムは、ファイルシステムオブジェクトの作成又は更新の都度、当該作成又は更新後のファイルシステムオブジェクトを前記異なるバージョンＩＤと共に前記作成又は更新が実行された日時とによって管理する、請求項１記載の情報処理システム。
【請求項７】
前記第１サーバ装置は、前記バージョンＩＤの情報及び前記日時の情報、さらに、前記復元されようとしているファイルの復元日とに基づいて、前記第１ディレクトリイメージに属するファイルシステムオブジェクトのバージョンＩＤの中から特定のバージョンＩＤを決定し、当該特定バージョンＩＤで特定される前記ファイルシステムオブジェクトの前の取得要求を前記第２サーバに送信し、
前記第２サーバ装置は、前記特定バージョンＩＤのファイルシステムオブジェクトを含む第１ディレクトリイメージを前記第２ストレージ装置から取得して前記第１サーバ装置に送信し、当該第１サーバ装置は、当該第１ディレクトリイメージを前記第１ストレージ装置に復元する、請求項６記載の情報処理システム。
【請求項８】
前記第１サーバ装置は、前記特定のバージョンＩＤで特定される前記ファイルシステムオブジェクトを、前記ファイルの復元日に最も近い日付によって管理された前記ファイルシステムオブジェクトに設定する、請求項７記載の情報処理システム。
【請求項９】
前記第１サーバ装置は、
前記クライアント装置から前記復元されようとしているファイルに対するＩ／Ｏ要求を受付けると、前記クライアント装置からの前記復元先ディリクトリに構成された前記第１ディレクトリイメージに前記ファイルのメタデータが存在するか否かを調べ、
前記ファイルのメタデータが前記第１ディレクトリイメージに存在しない場合、前記Ｉ／Ｏ要求におけるパス情報に基づいて、前記第１ディレクトリイメージの直下の階層を含めた下層の階層にある前記第２ディレクトリイメージのメタデータとして前記ファイルのメタデータが得られるまで、前記第２サーバに対する当該第２のディレクトリイメージのメタデータの要求と、当該第２サーバの前記第２ストレージ装置からのメタデータの取得、そして、取得したメタデータの前記第１サーバへの送信とを繰り返し、
前記復元対象ファイルのメタデータを復元できた後、当該メタデータに従った特定ディレクトリイメージを構成した後前記第１ストレージ装置に格納する、請求項１記載の情報処理システム。
【請求項１０】
前記第１サーバ装置は、前記特定ディレクトリイメージに存在する前記復元対象ファイルを更新するＩ／Ｏ要求を前記クライアント装置から受け付けると、当該復元対象ファイルの実体を前記第２サーバに要求し、
前記第２サーバ装置が当該要求に基づいて前記第２ストレージ装置から前記実体を取得して前記第１サーバ装置に送信し、
前第１サーバ装置は前記実体を、前記特定ディレクトリイメージの前記復元対象ファイルに格納する、請求項９記載の情報処理システム。
【請求項１１】
前記第１サーバ装置は前記ファイルの実体を前記第２サーバ装置に要求する際、当該ファイルの実体の全てではなく、一部の実体を前記第２サーバ装置に要求する、請求項１０記載の情報処理システム。
【請求項１２】
前記第１サーバ装置は、請求項５記載のディレクトリ管理テーブルに存在する複数の復元日時のうち、前記クライアント装置から要求があった所定の復元日時の復元先ディレクトリに格納されている前記第１ディレクトリイメージに基づいて、前記復元対象ファイルの前記メタデータを復元する、請求項６記載の情報処理システム。
【請求項１３】
前記第１サーバ装置は、前記第１ストレージ装置に格納されている前記第１ディレクトリイメージについて、当該第１ディレクトリイメージの復元日からの経過日時をチェックし、当該経過日時が所定日時を経過すると判定すると、前記第１ディレクトリイメージを前記第１ストレージ装置から削除する、請求項１記載の情報処理システム。
【請求項１４】
第１ファイルシステムを有し、Ｉ／Ｏ要求をクライアント装置から受け付ける第１サーバ装置と、前記第１サーバ装置のストレージを構成する第１ストレージ装置と、第２ファイルシステムを有し、前記第１サーバ装置に通信可能に接続された第２サーバ装置と、前記第２サーバ装置のストレージを構成する第２ストレージ装置と、を備え、前記第１サーバ装置は、前記第１ストレージ装置に記憶されている、前記Ｉ／Ｏ要求の対象であるファイルのデータを前記第２サーバ装置に送信し、前記第２サーバ装置は、前記第１サーバ装置から送られてくる前記データを、前記第１ファイルシステムにおけるディレクトリイメージを前記第２のファイルシステムで保持しつつ、前記第２ストレージ装置に記憶する、
情報処理システムにおけるファイルの復元方法であって、
前記第２サーバ装置は、前記第１サーバ装置のファイルシステムに構成されていたディレクトリイメージのうちの所定の階層の第１ディレクトリイメージを、前記第２ストレージ装置に記載されているディレクトリイメージから取得して前記第１サーバ装置に送信し、
前記第１サーバ装置は、前記第２サーバ装置から送られた前記第１ディレクトリイメージを前記第１ストレージ装置に復元した後、復元されようとしているファイルに対するＩ／Ｏ要求を前記クライアント装置から受け付けると、当該受け付けた前記Ｉ／Ｏ要求を処理するために必要となる第２ディレクトリイメージが前記第１ストレージ装置の前記第１ディレクトリイメージに存在するか否かを判定し、当該第２ディレクトリイメージが存在しない場合、当該第２ディレクトリイメージを前記第２サーバ装置に要求し
前記第２サーバ装置は、前記第１サーバ装置から前記要求が送られてくると、前記第２ディレクトリイメージを前記第２ストレージ装置から読み出して前記第１サーバ装置に送信し、当該第１サーバ装置は、前記第２ディレクトリイメージを前記第１ストレージ装置に復元し、
前記第１サーバ装置は前記第１ディレクトリイメージと、前記第２ディレクトリイメージと、を含む、目的ディレクトリイメージを前記第１ストレージに復元し、
前記第２サーバ装置の前記第２ファイルシステムは、ファイルシステムオブジェクトの作成又は更新の都度、当該作成又は更新後のファイルシステムオブジェクトを異なるバージョンＩＤで管理し、前記第１サーバ装置は前記目的ディレクトリを復元する過程で前記バージョンＩＤを利用する、
ファイルの復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファイルの復元機能を備えた情報処理システムに関するものである。
【背景技術】
【０００２】
情報処理システムにおけるファイルの復元システムの従来例として、下記特許文献１及び特許文献２があることが知られている。このうち、特許文献１には、階層記憶装置の復旧に要する時間を低減し、階層記憶装置の復旧を高速に行うべく、オペレーティングシステム上で稼動する階層記憶装置において、ファイルの属性情報を含むｉノードを有し且つそのｉノード番号で当該ファイルを一意に識別するファイルシステムが構築された第１の記憶装置と、ファイルシステムのバックアップデータを含むデータを格納する第２の記憶装置とを有する階層記憶装置の復旧方法において、第２の記憶装置上のバックアップデータから第１の記憶装置上にファイルシステムが復旧されるときに、バックアップデータに含まれるｉノード番号を用いて、復旧対象ファイルのｉノード番号を指定し、指定されたｉノード番号をファイルシステムの復旧対象ファイルに割り当てることが記載されている。【０００３】
特許文献２には、ＨＳＭにおける名前空間のバックアップの世代管理を効率的に行うべく、一次ストレージと二次ストレージを有するＨＳＭの制御を行うＨＳＭ制御方法において、ＨＳＭのバックアップ毎に、該バックアップの世代番号を含む情報である世代情報を作成し、ＨＳＭにおけるファイル毎の名前空間に関する情報である名前空間情報と、世代情報作成ステップにより作成された世代番号を用いて該名前空間に関する情報が有効である世代番号の範囲を示す有効世代番号範囲とを名前空間情報履歴として管理することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３１６７０８号公報
【特許文献２】特開２００８−０４０６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、企業における支店や事業所等に設けられている情報処理装置のデータのバックアップをデータセンタ等に設けられているバックアップ装置で管理している情報処理システムにおいて、情報処理装置を利用してファイルにアクセスするユーザが誤ってファイルを削除した場合に、削除したファイルをそのユーザの操作によって復元することが望まれる。【０００６】
特許文献１に開示される方法では、バックアップ装置側のバックアップデータの全てを情報処理装置に復元した後に情報処理装置のサービスを再開する。そのため、例えば、バックアップデータのサイズが大きい場合は、ユーザが取得したいファイルの復元を完了するまでに長時間を要し、かつ、情報処理装置のファイルシステム容量を過大に消費し、ユーザの業務等への影響が生じる場合があった。【０００７】
一方、特許文献２に開示される方法では、情報処理装置の持つ全ファイルの世代を管理するリストを検索して復元対象を特定する。そのため、例えば、ファイルシステム上に多数のファイルが存在する場合やファイルの変更回数が多い場合はリストのサイズが大きくなり、ユーザが取得したいファイルの復元を完了するまでに長時間を要し、かつ、情報処理装置のファイルシステム容量を過大に消費し、ユーザの業務等への影響が生じる場合があった。【０００８】
本発明はこのような背景に鑑みてなされたもので、ユーザによるファイルアクセス要求に際して少ないファイルシステム消費量で迅速にファイルを復元可能な、情報処理システムにおけるファイル復元方法、及び、情報処理システムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明は、第１ファイルシステムを有し、Ｉ／Ｏ要求をクライアント装置から受け付ける第１サーバ装置と、前記第１サーバ装置のストレージを構成する第１ストレージ装置と、第２ファイルシステムを有し、前記第１サーバ装置に通信可能に接続された第２サーバ装置と、前記第２サーバ装置のストレージを構成する第２ストレージ装置と、を備え、前記第１サーバ装置は、前記第１ストレージ装置に記憶されている、前記Ｉ／Ｏ要求の対象であるファイルのデータを前記第２サーバ装置に送信し、
前記第２サーバ装置は、前記第１サーバ装置から送られてくる前記データを、前記第１ファイルシステムにおけるディレクトリイメージを前記第２のファイルシステムで保持しつつ、前記第２ストレージ装置に記憶する、情報処理システムであって、前記第２サーバ装置は、前記第１サーバ装置のファイルシステムに構成されていたディレクトリイメージのうちの所定の階層の第１ディレクトリイメージを、前記第２ストレージ装置に記載されているディレクトリイメージから取得して前記第１サーバ装置に送信し、前記第１サーバ装置は、前記第２サーバ装置から送られた前記第１ディレクトリイメージを前記第１ストレージ装置に復元した後、復元されようとしているファイルに対するＩ／Ｏ要求を前記クライアント装置から受け付けると、当該受け付けた前記Ｉ／Ｏ要求を処理するために必要となる第２ディレクトリイメージが前記第１ストレージ装置の前記第１ディレクトリイメージに存在するか否かを判定し、当該第２ディレクトリイメージが存在しない場合、当該第２ディレクトリイメージを前記第２サーバ装置に要求し、前記第２サーバ装置は、前記第１サーバ装置から前記要求が送られてくると、前記第２ディレクトリイメージを前記第２ストレージ装置から読み出して前記第１サーバ装置に送信し、当該第１サーバ装置は、前記第２ディレクトリイメージを前記第１ストレージ装置に復元し、前記第１サーバ装置は前記第１ディレクトリイメージと、前記第２ディレクトリイメージと、前記ファイルと、を含む、目的ディレクトリイメージを前記第１ストレージに復元し、前記第２サーバ装置の前記第２ファイルシステムは、ファイルシステムオブジェクトの作成又は更新の都度、当該作成又は更新後のファイルシステムオブジェクトを異なるバージョンＩＤで管理し、前記第１サーバ装置は前記目的ディレクトリを復元する過程で前記バージョンＩＤを利用することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ユーザによるファイルアクセス要求に際して少ないストレージ消費量で迅速にファイルを復元することができる。
【図面の簡単な説明】
【００１１】
【図１】第一の実施形態における、情報処理システム１の概略的な構成を示す図である。
【図２】第一の実施形態における、クライアント装置２のハードウエアの一例である。
【図３】第一の実施形態における、第１サーバ装置３ａ又は第２サーバ装置３ｂとして利用可能な情報処理装置のハードウエアの一例である。
【図４】第一の実施形態における、第１ストレージ装置１０ａ又は第２ストレージ装置１０ｂのハードウエアの一例である。
【図５】第一の実施形態における、チャネル基板１１のハードウエアの一例である。
【図６】第一の実施形態における、プロセッサ基板１２のハードウエアの一例である。
【図７】第一の実施形態における、ドライブ基板１３のハードウエアの一例である。
【図８】第一の実施形態における、ストレージ装置１０が備える基本的な機能を示す図である。
【図９】第一の実施形態における、書き込み処理Ｓ９００を説明するフローチャートである。
【図１０】第一の実施形態における、読み出し処理Ｓ１０００を説明するフローチャートである。
【図１１】第一の実施形態における、クライアント装置２が備える主な機能を示す図である。
【図１２】第一の実施形態における、第１サーバ装置３ａが備える主な機能、及び第１サーバ装置３ａにおいて管理される主な情報（データ）を示す図である。
【図１３】第一の実施形態における、レプリケーション情報管理テーブル３３１の一例である。
【図１４】第一の実施形態における、ファイルアクセスログ３３５の一例である。
【図１５】第一の実施形態における、第２サーバ装置３ｂが備える主な機能、及び第２サーバ装置３ｂにおいて管理される主な情報（データ）を示す図である。
【図１６】第一の実施形態における、リストアログ３６５の一例である。
【図１７】第一の実施形態における、ｉｎｏｄｅを説明する図である。
【図１８】第一の実施形態における、ｉｎｏｄｅの概念を説明する図である。
【図１９】第一の実施形態における、ｉｎｏｄｅの概念を説明する図である。
【図２０】第一の実施形態における、一般的なｉｎｏｄｅ管理テーブル１７１２の一例である。
【図２１】第一の実施形態における、本実施形態のｉｎｏｄｅ管理テーブル１７１２の一例である。
【図２２】第一の実施形態における、バージョン管理テーブル２２１の一例である。
【図２３】第一の実施形態における、ディレクトリイメージ管理テーブル２３１の一例である。
【図２４】第一の実施形態における、レプリケーション開始処理Ｓ２４００を説明する図である。
【図２５】第一の実施形態における、スタブ化候補選出処理Ｓ２５００を説明する図である。
【図２６】第一の実施形態における、スタブ化処理Ｓ２６００を説明する図である。
【図２７】第一の実施形態における、レプリケーションファイル更新処理Ｓ２７００を説明する図である。
【図２８】第一の実施形態における、レプリケーションファイル参照処理Ｓ２８００を説明する図である。
【図２９】第一の実施形態における、メタデータアクセス処理Ｓ２９００を説明する図である。
【図３０】第一の実施形態における、スタブ化ファイル実体参照処理Ｓ３０００を説明する図である。
【図３１】第一の実施形態における、スタブ化ファイル実体更新処理Ｓ３１００を説明する図である。
【図３２】第一の実施形態における、ディレクトリイメージ作成処理Ｓ３２００を説明する図である。
【図３３】第一の実施形態における、オンデマンド復元処理Ｓ３３００を説明する図である。
【図３４】第一の実施形態における、第１ストレージ装置１０ａにディレクトリイメージが復元されていく様子を説明する図である。
【図３５】第一の実施形態における、ディレクトリイメージ削除処理Ｓ３５００を説明する図である。
【図３６】第一の実施形態における、レプリケーション開始処理Ｓ２４００の詳細を説明するフローチャートである。
【図３７】第一の実施形態における、スタブ化候補選出処理Ｓ２５００の詳細を説明するフローチャートである。
【図３８】第一の実施形態における、スタブ化処理Ｓ２６００の詳細を説明するフローチャートである。
【図３９】第一の実施形態における、レプリケーションファイル更新処理Ｓ２７００の詳細を説明するフローチャートである。
【図４０】第一の実施形態における、レプリケーションファイル参照処理Ｓ２８００の詳細を説明するフローチャートである。
【図４１】第一の実施形態における、メタデータアクセス処理Ｓ２９００の詳細を説明するフローチャートである。
【図４２】第一の実施形態における、スタブ化ファイル実体参照処理Ｓ３０００の詳細を説明するフローチャートである。
【図４３】第一の実施形態における、スタブ化ファイル実体更新処理Ｓ３１００の詳細を説明するフローチャートである。
【図４４】第一の実施形態における、ディレクトリイメージ作成処理Ｓ３２００の詳細を説明するフローチャートである。
【図４５】第一の実施形態における、オンデマンド復元処理Ｓ３３００の詳細を説明するフローチャートである。
【図４６】第一の実施形態における、オンデマンド復元処理Ｓ３３００の詳細を説明するフローチャートである。
【図４７】第一の実施形態における、ディレクトリイメージ削除処理Ｓ３５００の詳細を説明するフローチャートである。
【図４８】第二の実施形態における、ディレクトリイメージ作成処理Ｓ３２００の詳細を説明するフローチャートである。
【図４９】第二の実施形態における、オンデマンド復元処理Ｓ３３００の詳細を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
（第一の実施形態）
以下、発明を実施するための第一の形態について図面とともに説明する。
【００１３】
図１に実施形態として説明する情報処理システム１の概略的な構成を示している。同図に示すように、本実施形態として例示する情報処理システム１は、商社や電機メーカ等の企業における支点や事業所などのように、ユーザが実際に業務を行う拠点（以下、エッジ５０（Edge）と称する。）に設けられるハードウエアと、データセンタのように、情報処理システム（アプリケーションサーバ／ストレージシステム等）の管理やクラウドサービスの提供などを行う拠点（以下、コア５１（Core）と称する。）に設けられるハードウエアと、を備える。
【００１４】
同図に示すように、エッジ５０には、第１サーバ装置３ａ、第１ストレージ装置１０ａ、及びクライアント装置２が設けられている。またコア５１には、第２サーバ装置３ｂ及び第２ストレージ装置１０ｂが設けられている。
【００１５】
エッジに設けられている第１サーバ装置３ａは、例えば、エッジに設けられているクライアント装置２に対してファイルを単位としたデータの管理機能を提供するファイルシステムを備えたファイルストレージ装置である。またコアに設けられている第２サーバ装置３ｂは、例えば、エッジに設けられている第１ストレージ装置１０ａに対してデータのアーカイブ（書庫）先として機能するアーカイブ装置である。
【００１６】
同図に示すように、クライアント装置２と第１サーバ装置３ａとは、通信ネットワーク５を介して通信可能に接続している。また第１サーバ装置３ａと第１ストレージ装置１０ａとは、第１ストレージネットワーク６ａを介して通信可能に接続している。また第２サーバ装置３ｂと第２ストレージ装置１０ｂとは、第２ストレージネットワーク６ｂを介して通信可能に接続している。また第１サーバ装置３ａと第２サーバ装置３ｂとは、通信ネットワーク７を介して通信可能に接続している。
【００１７】
通信ネットワーク５及び通信ネットワーク７は、例えば、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット、公衆通信網、専用線などである。第１ストレージネットワーク６ａ及び第２ストレージネットワーク６ｂは、例えば、ＬＡＮ、ＷＡＮ、ＳＡＮ（Storage Area Network）、インターネット、公衆通信網、専用線などである。
【００１８】
通信ネットワーク５、通信ネットワーク７、第１ストレージネットワーク６ａ、及び第２ストレージネットワーク６ｂを介して行われる通信は、例えば、ＴＣＰ／ＩＰ、ｉＳＣＳＩ（internet Small Computer System Interface）、ファイバーチャネルプロトコル（Fibre Channel Protocol）、ＦＩＣＯＮ（Fibre Connection）（登録商標）、ＥＳＣＯＮ（Enterprise System Connection）（登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture）（登録商標）などのプロトコルに従って行われる。
【００１９】
クライアント装置２は、第１サーバ装置３ａを介して第１ストレージ装置１０ａが提供する記憶領域を利用する情報処理装置（コンピュータ）であり、例えば、パーソナルコンピュータ、オフィスコンピュータなどである。クライアント装置２では、ファイルシステム、カーネルやドライバなどのソフトウエアモジュールによって実現されるオペレーティングシステム（Operating System）、及びアプリケーションなどが機能している。
【００２０】
図２にクライアント装置２のハードウエアを示している。同図に示すように、クライアント装置２は、ＣＰＵ２１、揮発性または不揮発性のメモリ２２（ＲＡＭまたはＲＯＭ）、記憶装置２３（例えばハードディスクドライブ、半導体記憶装置（ＳＳＤ（Solid State Drive）））、キーボードやマウス等の入力装置２４、液晶モニタやプリンタ等の出力装置２５、及びＮＩＣ（Network Interface Card）（以下、ＬＡＮアダプタ２６１と称する。）等の通信インタフェース（通信Ｉ／Ｆ２６と称する。）を備えている。
【００２１】
第１サーバ装置３ａは、第１ストレージ装置１０ａが提供する記憶領域を利用してクライアント装置２に情報処理サービスを提供する情報処理装置である。第１サーバ装置３ａは、パーソナルコンピュータ、メインフレーム（Mainframe）、オフィスコンピュータなどを用いて構成されている。第１サーバ装置３ａは、第１ストレージ装置１０ａが提供する記憶領域へのアクセスに際し、データＩ／Ｏ要求（データ書き込み要求、データ読み出し要求等）を含んだデータフレーム（以下、フレームと略記する。）を、第１ストレージネットワーク６ａを介して第１ストレージ装置１０ａに送信する。尚、上記フレームは、例えば、ファイバーチャネルのフレーム（ＦＣフレーム（FC:Fibre Channel））である。
【００２２】
第２サーバ装置３ｂは、第２ストレージ装置１０ｂが提供する記憶領域を利用して情報処理を行う情報処理装置である。第２サーバ装置３ｂは、パーソナルコンピュータ、メインフレーム、オフィスコンピュータなどを用いて構成されている。第２サーバ装置３ｂは、第２ストレージ装置１０ｂが提供する記憶領域へのアクセスに際し、データＩ／Ｏ要求を含んだフレームを、第２ストレージネットワーク６ｂを介して第２ストレージ装置１０ｂに送信する。
【００２３】
図３に第１サーバ装置３ａのハードウエアを示している。同図に示すように、第１サーバ装置３ａは、ＣＰＵ３１、揮発性または不揮発性のメモリ３２（ＲＡＭまたはＲＯＭ）、記憶装置３３（例えばハードディスクドライブ、半導体記憶装置（ＳＳＤ））、キーボードやマウス等の入力装置３４、液晶モニタやプリンタ等の出力装置３５、ＮＩＣ（以下、ＬＡＮアダプタ３６１と称する。）やＨＢＡ（以下、ＦＣアダプタ３６２と称する。）等の通信インタフェース（通信Ｉ／Ｆ３６と表記する。）、及びタイマ回路やＲＴＣ等を用いて構成される計時装置３７を備えている。尚、コア側に存在する第２サーバ装置３ｂも第１サーバ装置３ａと同一又は類似のハードウエア構成を有する。
【００２４】
図４に第１ストレージ装置１０ａのハードウエアを示している。第１ストレージ装置１０ａは、例えばディスクアレイ装置である。尚、コア側に存在する第２ストレージ装置１０ｂも第１ストレージ装置１０ａと同一又は類似のハードウエア構成を有する。ストレージ装置１０は、サーバ装置３（第１サーバ装置３ａ又は第２サーバ装置３ｂ。以下同様）から送られてくるデータＩ／Ｏ要求を受け付け、受け付けたデータＩ／Ｏ要求に応じて記録媒体にアクセスしてサーバ装置３にデータやレスポンスを送信する。
【００２５】
同図に示すように、ストレージ装置１０は、一つ以上のチャネル基板１１、一つ以上のプロセッサ基板１２（Micro Processor）、一つ以上のドライブ基板１３、キャッシュメモリ１４（Cache Memory）、共有メモリ１５（Shared Memory）、内部スイッチ１６、記憶装置１７、及び保守装置１８（SVP:SerVice Processor）を備える。チャネル基板１１、プロセッサ基板１２、ドライブ基板１３、キャッシュメモリ１４、及び共有メモリ１５は、内部スイッチ１６を介して互いに通信可能に接続されている。
【００２６】
チャネル基板１１は、サーバ装置３から送られてくるフレームを受信し、受信したフレームに含まれているデータＩ／Ｏ要求についての処理の応答（例えば読み出したデータ、読み出し完了報告、書き込み完了報告）を含んだフレームをサーバ装置３に送信する。
【００２７】
プロセッサ基板１２は、チャネル基板１１が受信したフレームに含まれている上記データＩ／Ｏ要求に応じて、チャネル基板１１、ドライブ基板１３、及びキャッシュメモリ１４の間で行われるデータ転送（ＤＭＡ（Direct Memory Access）等を用いた高速大容量のデータ転送)に関する処理を行う。プロセッサ基板１２は、キャッシュメモリ１４を介して行われる、チャネル基板１１とドライブ基板１３との間のデータ（記憶装置１７から読み出したデータ、記憶装置１７に書き込むデータ）の転送（引き渡し）や、キャッシュメモリ１４に格納されるデータのステージング（記憶装置１７からのデータの読み出し）及びデステージング（記憶装置１７への書き出し）等を行う。
【００２８】
キャッシュメモリ１４は、高速アクセスが可能なＲＡＭ（Random Access Memory）を用いて構成されている。キャッシュメモリ１４には、記憶装置１７に書き込まれるデータ（以下、書き込みデータと称する。）や記憶装置１７から読み出されたデータ（以下、読み出しデータと記載する。）等が格納される。共有メモリ１５には、ストレージ装置１０の制御に用いられる様々な情報が格納される。
【００２９】
ドライブ基板１３は、記憶装置１７からのデータの読み出しや記憶装置１７へのデータの書き込みに際して記憶装置１７と通信を行う。内部スイッチ１６は、例えば高速クロスバースイッチ（Cross Bar Switch）を用いて構成される。尚、内部スイッチ１６を介して行われる通信は、例えば、ファイバーチャネル、ｉＳＣＳＩ、ＴＣＰ／ＩＰ等のプロトコルに従って行われる。
【００３０】
記憶装置１７は、複数の記憶ドライブ１７１を備えて構成されている。記憶ドライブ１７１は、例えば、ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）、ＦＣ（Fibre Channel）、ＰＡＴＡ（Parallel ATA）、ＳＣＳＩ等のタイプのハードディスクドライブ、半導体記憶装置（ＳＳＤ）等である。
【００３１】
記憶装置１７は、記憶ドライブ１７１を、例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive （or Independent) Disks）等の方式で制御することによって提供される論理的な記憶領域を単位としてサーバ装置３に記憶装置１７の記憶領域を提供する。この論理的な記憶領域は、例えばＲＡＩＤグループ（パリティグループ（Parity Group））を用いて構成される論理装置（ＬＤＥＶ１７２（LDEV:Logical Device））である。
【００３２】
またストレージ装置１０は、サーバ装置３に対してＬＤＥＶ１７２を用いて構成される論理的な記憶領域（以下、ＬＵ（Logical Unit、Logical Volume、論理ボリューム）と称する。）を提供する。ストレージ装置１０は、ＬＵとＬＤＥＶ１７２との対応（関係）を管理しており、ストレージ装置１０は、この対応に基づきＬＵに対応するＬＤＥＶ１７２の特定、もしくは、ＬＤＥＶ１７２に対応するＬＵの特定を行う。
【００３３】
図５にチャネル基板１１のハードウエア構成を示している。同図に示すように、チャネル基板１１は、サーバ装置３と通信するためのポート（通信ポート）を有する外部通信インタフェース（以下、外部通信Ｉ／Ｆ１１１と表記する。）、プロセッサ１１２（フレーム処理チップ及びフレーム転送チップを含む）、メモリ１１３、プロセッサ基板１２と通信するためのポート（通信ポート）を有する内部通信インタフェース（以下、内部通信Ｉ／Ｆ１１４と表記する。）を備えている。
【００３４】
外部通信Ｉ／Ｆ１１１は、ＮＩＣ（Network Interface Card）やＨＢＡ（Host Bus Adaptor）等を用いて構成されている。プロセッサ１１２は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）等を用いて構成されている。メモリ１１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）である。メモリ１１３にはマイクロプログラムが格納されている。プロセッサ１１２が、メモリ１１３から上記マイクロプログラムを読み出して実行することにより、チャネル基板１１が提供する各種の機能が実現される。内部通信Ｉ／Ｆ１１４は、内部スイッチ１６を介してプロセッサ基板１２、ドライブ基板１３、キャッシュメモリ１４、共有メモリ１５と通信する。
【００３５】
図６にプロセッサ基板１２のハードウエア構成を示している。プロセッサ基板１２は、内部通信インタフェース（以下、内部通信Ｉ／Ｆ１２１と表記する。）、プロセッサ１２２、及び共有メモリ１５に比べてプロセッサ１２２からのアクセス性能が高い（高速アクセスが可能な）メモリ１２３（ローカルメモリ）を備えている。メモリ１２３にはマイクロプログラムが格納されている。プロセッサ１２２が、メモリ１２３から上記マイクロプログラムを読み出して実行することにより、プロセッサ基板１２が提供する各種の機能が実現される。
【００３６】
内部通信Ｉ／Ｆ１２１は、内部スイッチ１６を介してチャネル基板１１、ドライブ基板１３、キャッシュメモリ１４、及び共有メモリ１５と通信を行う。プロセッサ１２２は、ＣＰＵ、ＭＰＵ、ＤＭＡ（Direct Memory Access）等を用いて構成されている。メモリ１２３は、ＲＡＭ又はＲＯＭである。プロセッサ１２２は、メモリ１２３及び共有メモリ１５のいずれにもアクセスすることができる。
【００３７】
図７にドライブ基板１３のハードウエア構成を示している。ドライブ基板１３は、内部通信インタフェース（以下、内部通信Ｉ／Ｆ１３１と表記する。）、プロセッサ１３２、メモリ１３３、及びドライブインタフェース（以下、ドライブＩ／Ｆ１３４と表記する。）を備えている。メモリ１３３にはマイクロプログラムが格納されている。プロセッサ１３２が、メモリ１３３から上記マイクロプログラムを読み出して実行することにより、ドライブ基板１３が提供する各種の機能が実現される。内部通信Ｉ／Ｆ１３１は、内部スイッチ１６を介して、チャネル基板１１、プロセッサ基板１２、キャッシュメモリ１４、及び共有メモリ１５と通信する。プロセッサ１３２は、ＣＰＵ、ＭＰＵ等を用いて構成されている。メモリ１３３は、例えば、ＲＡＭ、ＲＯＭである。ドライブＩ／Ｆ１３４は、記憶装置１７との間で通信を行う。
【００３８】
図４に示した保守装置１８は、ストレージ装置１０の各構成要素の制御や状態監視を行う。保守装置１８は、パーソナルコンピュータやオフィスコンピュータ等である。保守装置１８は、内部スイッチ１６又はＬＡＮ等の通信手段を介してチャネル基板１１、プロセッサ基板１２、ドライブ基板１３、キャッシュメモリ１４、共有メモリ１５、及び内部スイッチ１６等のストレージ装置１０の構成要素と随時通信を行い、各構成要素から稼働情報等を取得して管理装置１９に提供する。また保守装置１８は管理装置１９から送られてくる制御情報や稼働情報に基づき、各構成要素の設定や制御、保守（ソフトウエアの導入や更新を含む）を行う。
【００３９】
管理装置１９は、保守装置１８とＬＡＮ等を介して通信可能に接続されるコンピュータである。管理装置１９はストレージ装置１０の制御や監視のためのＧＵＩ（Graphical User Interface）やＣＬＩ（Command Line Interface）等を用いたユーザインタフェースを備える。
【００４０】
図８にストレージ装置１０が備える基本的な機能を示している。同図に示すように、ストレージ装置１０は、Ｉ／Ｏ処理部８１１を備えている。Ｉ／Ｏ処理部８１１は、記憶装置１７への書き込みに関する処理を行うデータ書き込み処理部８１１１、記憶装置１７からのデータの読み出しに関する処理を行うデータ読み出し処理部８１１２を備えている。
【００４１】
尚、Ｉ／Ｏ処理部８１１の機能は、ストレージ装置１０のチャネル基板１１やプロセッサ基板１２、ドライブ基板１３が備えるハードウエアにより、又はプロセッサ１１２，１２２，１３２が、メモリ１１３，１２３，１３３に格納されているマイクロプログラムを読み出して実行することにより実現される。
【００４２】
図９は、ストレージ装置１０（第１ストレージ装置１０ａ又は第２ストレージ装置１０ｂ。以下同様。）がサーバ装置３（第１サーバ装置３ａ又は第２サーバ装置３ｂ）からデータ書き込み要求を含んだフレームを受信した場合に、Ｉ／Ｏ処理部８１のデータ書き込み処理部８１１１によって行われる基本的な処理（以下、書き込み処理Ｓ９００と称する。）を説明するフローチャートである。以下、同図とともに書き込み処理Ｓ９００について説明する。尚、以下の説明において、符号の前に付している「Ｓ」の文字は処理ステップを意味している。
【００４３】
同図に示すように、まずサーバ装置３から送信されてくるデータ書き込み要求のフレームが、ストレージ装置１０のチャネル基板１１によって受信される（Ｓ９１１，Ｓ９１２）。
【００４４】
チャネル基板１１は、サーバ装置３からデータ書き込み要求を含んだフレームを受信すると、その旨をプロセッサ基板１２に通知する（Ｓ９１３）。
【００４５】
プロセッサ基板１２は、チャネル基板１１から上記通知を受信すると（Ｓ９２１）、当該フレームのデータ書き込み要求に基づくドライブ書き込み要求を生成し、書き込みデータをキャッシュメモリ１４に格納し、チャネル基板１１に上記通知の受信通知を応答する（Ｓ９２２）。またプロセッサ基板１２は、生成したドライブ書き込み要求をドライブ基板１３に送信する（Ｓ９２３）。
【００４６】
一方、チャネル基板１１は、プロセッサ基板１２からの上記応答を受信すると、サーバ装置３に完了報告を送信し（Ｓ９１４）、サーバ装置３は、チャネル基板１１から完了報告を受信する（Ｓ９１５）。
【００４７】
ドライブ基板１３は、プロセッサ基板１２からドライブ書き込み要求を受信すると、受信したドライブ書き込み要求を書き込み処理待ちキューに登録する（Ｓ９２４）。
【００４８】
ドライブ基板１３は、書き込み処理待ちキューからドライブ書き込み要求を随時読み出し（Ｓ９２５）、読み出したドライブ書き込み要求に指定されている書き込みデータをキャッシュメモリ１４から読み出して、読み出した書き込みデータを記憶装置（記憶ドライブ１７１）に書き込む（Ｓ９２６）。そしてドライブ基板１３は、ドライブ書き込み要求について書き込みデータの書き込みが完了した旨の報告（完了報告）をプロセッサ基板１２に通知する（Ｓ９２７）。
【００４９】
プロセッサ基板１２は、ドライブ基板１３から送られてきた完了報告を受信する（Ｓ９２８）。
【００５０】
図１０は、ストレージ装置１０が、サーバ装置３からデータ読み出し要求を含んだフレームを受信した場合に、ストレージ装置１０のＩ／Ｏ処理部８１１の読み出し処理部８１１２によって行われるＩ／Ｏ処理（以下、読み出し処理Ｓ１０００と称する。）を説明するフローチャートである。以下、同図とともに読み出し処理Ｓ１０００について説明する。
【００５１】
同図に示すように、まずサーバ装置３から送信されてくるフレームが、ストレージ装置１０のチャネル基板１１によって受信される（Ｓ１０１１，Ｓ１０１２）。
【００５２】
チャネル基板１１は、サーバ装置３からデータ読み出し要求を含んだフレームを受信すると、その旨をプロセッサ基板１２及びドライブ基板１３に通知する（Ｓ１０１３）。
【００５３】
ドライブ基板１３は、チャネル基板１１から上記通知を受信すると（Ｓ１０１４）、当該フレームに含まれているデータ読み出し要求に指定されているデータ（例えばＬＢＡ（Logical Block Address）によって指定される）を、記憶装置（記憶ドライブ１７１）から読み出す（Ｓ１０１５）。尚、キャッシュメモリ１４に読み出しデータが存在する場合（キャッシュヒットした場合）には、記憶装置１７からの読み出し処理（Ｓ１０１５）は省略される。
【００５４】
プロセッサ基板１２は、ドライブ基板１３によって読み出されたデータをキャッシュメモリ１４に書き込む（Ｓ１０１６）。そしてプロセッサ基板１２は、キャッシュメモリ１４に書き込んだデータをチャネル基板１１に随時転送する（Ｓ１０１７）。
【００５５】
チャネル基板１１は、プロセッサ基板１２から随時送られてくる読み出しデータを受信すると、それらをサーバ装置３に順次送信する（Ｓ１０１８）。読み出しデータの送信が完了すると、チャネル基板１１は、サーバ装置３に完了報告を送信する（Ｓ１０１９）。サーバ装置３は、読み出しデータ及び完了報告を受信する（Ｓ１０２０，Ｓ１０２１）。
【００５６】
図１１にクライアント装置２が備える主な機能を示している。同図に示すように、クライアント装置２は、アプリケーション２１１、ファイルシステム２１２、及びカーネル／ドライバ２１３の各機能を備える。尚、これらの機能は、クライアント装置２のＣＰＵ２１が、メモリ２２や記憶装置２３に格納されているプログラムを読み出して実行することにより実現される。
【００５７】
ファイルシステム２１２は、クライアント装置２に対してファイル単位又はディレクトリ単位での論理ボリューム（ＬＵ）へのＩ／Ｏ機能を実現する。ファイルシステム２１３は、例えば、ＦＡＴ(File Allocation Table）、ＮＴＦＳ、ＨＦＳ（Hierarchical File System）、ｅｘｔ２（second extended file system）、ｅｘｔ３(third extended file system)、ｅｘｔ４(fourth extended file system)、ＵＤＦ（Universal Disk Format）、ＨＰＦＳ（High Performance File system）、ＪＦＳ（Journaled File System）、ＵＦＳ（Unix File System）、ＶＴＯＣ(Volume Table Of Contents)、ＸＦＳ等である。
【００５８】
カーネル／ドライバ２１３は、オペレーティングシステムのソフトウエアを構成しているカーネルモジュールやドライバモジュールを実行することにより実現される。カーネルモジュールには、クライアント装置２において実行されるソフトウエアについて、プロセスの管理、プロセスのスケジューリング、記憶領域の管理、ハードウエアからの割り込み要求のハンドリング等、オペレーティングシステムが備える基本的な機能を実現するためのプログラムが含まれている。ドライバモジュールには、クライアント装置２を構成しているハードウエアやクライアント装置２に接続して用いられる周辺機器とカーネルモジュールとが通信するためのプログラム等が含まれている。
【００５９】
図１２に第１サーバ装置３ａが備える主な機能、及び第１サーバ装置３ａにおいて管理される主な情報（データ）を示している。同図に示すように、第１サーバ装置３ａでは、仮想環境を提供する仮想化制御部３０５、及びこの仮想化制御部３０５の制御の下で動作する１つ以上の仮想マシン３１０が実現されている。
【００６０】
各仮想マシン３１０では、ファイル共有処理部３１１、ファイルシステム３１２、データ操作要求受付部３１３、データ複製／移動処理部３１４、ファイルアクセスログ取得部３１７、及びカーネル／ドライバ３１８の各機能が実現されている。
【００６１】
尚、仮想環境は、第１サーバ装置３ａのハードウエアと仮想化制御部３０５との間にオペレーティングシステムを介在させるいわゆるホストＯＳ型、もしくは第１サーバ装置３ａのハードウエアと仮想化制御部３０５との間にオペレーティングシステムを介在させないハイパーバイザー型のいずれの方式で実現されていてもよい。またデータ操作要求受付部３１３、データ複製／移動処理部３１４、ファイルアクセスログ取得部３１７の各機能は、ファイルシステム３１２の機能として実現してもよいし、ファイルシステム３１２とは独立した機能として実現してもよい。
【００６２】
同図に示すように、各仮想マシン３１０は、レプリケーション情報管理テーブル３３１、ファイルアクセスログ３３５などの情報（データ）を管理している。これらの情報は、第１ストレージ１０ａから第１サーバ装置３ａに随時読み出されて第１サーバ装置３ａのメモリ３２や記憶装置３３に格納される。
【００６３】
同図に示す機能のうち、ファイル共有処理部３１１は、クライアント装置２にファイルの共有環境を提供する。ファイル共有処理部３１１は、例えば、ＮＦＳ（Network File System）、ＣＩＦＳ（Common Internet File System）、ＡＦＳ（Andrew File System）等のプロトコルに従った機能を提供する。
【００６４】
ファイルシステム３１２は、クライアント装置２に対して、第１ストレージ装置１０ａによって提供される論理ボリューム（ＬＵ）に管理されるファイル（又はディレクトリ）に対するＩ／Ｏ機能を提供する。ファイルシステム３１２は、例えばＦＡＴ(File Allocation Table）、ＮＴＦＳ、ＨＦＳ（Hierarchical File System）、ｅｘｔ２（second extended file system）、ｅｘｔ３(third extended file system)、ｅｘｔ４(fourth extended file system)、ＵＤＦ（Universal Disk Format）、ＨＰＦＳ（High Performance File system）、ＪＦＳ（Journaled File System）、ＵＦＳ（Unix File System）、ＶＴＯＣ(Volume Table Of Contents)、ＸＦＳ等である。
【００６５】
データ操作要求受付部３１３は、クライアント装置２から送信されてくるデータの操作に関する要求（以下、データ操作要求と称する。）を受け付ける。データ操作要求には、後述する、レプリケーション開始要求、レプリケーションファイルに対する更新要求、レプリケーションファイルに対する参照要求、同期要求、メタデータに対するアクセス要求、ファイルの実体に対する参照要求、リコール要求、スタブ化ファイルの実体に対する更新要求などがある。
【００６６】
尚、スタブ化とは、ファイル（又はディレクトリ）のデータのメタデータについては第１ストレージ装置１０ａにて保持するが、ファイル（又はディレクトリ）のデータの実体については第１ストレージ装置１０ａ側では管理せず、第２ストレージ装置１０ｂにおいてのみ保持するようにすることをいう。スタブ化されたファイル（又はディレクトリ）に対してそのファイル（又はディレクトリ）の実体が必要になるようなデータＩ／Ｏ要求を第１サーバ装置３ａが受け付けた場合には、そのファイル（又はディレクトリ）の実体が第２ストレージ装置１０ｂから第１ストレージ装置１０ａに送信される（書き戻される（以下、リコールと称する。））。
【００６７】
データ複製／移動処理部３１４は、後述する、レプリケーション開始処理Ｓ２４００、スタブ化候補選出処理Ｓ２５００、同期処理Ｓ２９００、スタブ化ファイル実体参照処理Ｓ３０００、スタブ化ファイル実体更新処理Ｓ３１００、仮想マシン復旧処理Ｓ３３００、ディレクトリイメージ作成処理Ｓ３２００、オンデマンド復元処理Ｓ３３００、などにおいて、第１サーバ装置３ａと第２サーバ装置３ｂとの間、もしくは、第１ストレージ装置１０ａと第２ストレージ装置１０ｂとの間での制御情報（フラグやテーブルを含む）の授受やデータ(ファイルのメタデータや実体を含む）の転送、レプリケーション情報管理テーブル３３１、メタデータ３３２などの各種テーブルの管理を行う。
【００６８】
図１２に示すカーネル／ドライバ３１８は、オペレーティングシステムのソフトウエアを構成しているカーネルモジュールやドライバモジュールを実行することにより実現される。カーネルモジュールには、第１サーバ装置３ａにおいて実行されるソフトウエアについて、プロセスの管理、プロセスのスケジューリング、記憶領域の管理、ハードウエアからの割り込み要求のハンドリング等、オペレーティングシステムが備える基本的な機能を実現するためのプログラムが含まれる。ドライバモジュールには、第１サーバ装置３ａを構成しているハードウエアや第１サーバ装置３ａに接続して用いられる周辺機器とカーネルモジュールとが通信するためのプログラムが含まれる。
【００６９】
図１２に示すファイルアクセスログ取得部３１７は、ストレージ装置１０の論理ボリューム（ＬＵ）に格納されているファイルへのアクセス（ファイルの更新（Write,Update）、ファイルの読み出し（Read）、ファイルのオープン（Open）、ファイルのクローズ（Close）等）が行われると、そのアクセスの内容（履歴）を示す情報（以下、アクセスログと称する。）を、計時装置３７から取得される日時情報に基づくタイムスタンプを付与してファイルアクセスログ３３５として記憶する。
【００７０】
図１３にレプリケーション情報管理テーブル３３１の一例を示している。同図に示すように、レプリケーション情報管理テーブル３３１には、レプリケーション先となるホスト名３３１１（例えばＩＰアドレス等のネットワークアドレス。）、スタブ化するか否かの判断に用いる閾値３３１２（後述するスタブ化閾値）が設定される。
【００７１】
図１４にファイルアクセスログ３３５の一例を示している。同図に示すように、ファイルアクセスログ３３５には、アクセス日時３３５１、ファイル名３３５２、及びユーザＩＤ３３５３の各項目からなる一つ以上のレコードで構成されるアクセスログが記録される。
【００７２】
このうちアクセス日時３３５１には、そのファイル（又はディレクトリ）に対するアクセスがされた日時が設定される。ファイル名３３５２には、アクセス対象となったファイル（又はディレクトリ）のファイル名（又はディレクトリ名）が設定される。ユーザＩＤ３３５３には、そのファイル（又はディレクトリ）にアクセスしたユーザのユーザＩＤが設定される。
【００７３】
図１５に第２サーバ装置３ｂが備える主な機能、及び第２サーバ装置３ｂにおいて管理される主な情報（データ）を示している。同図に示すように、第２サーバ装置３ｂは、ファイル共有処理部３５１、ファイルシステム３５２、データ複製／移動処理部３５４、及びカーネル／ドライバ３５８の各機能を備えている。尚、データ複製／移動処理部３５４の機能は、ファイルシステム３５２の機能として実現してもよいし、ファイルシステム３５２とは独立した機能として実現してもよい。
【００７４】
また同図に示すように、第２サーバ装置３ｂは、リストアログ３６５及びファイルアクセスログ３６８を管理している。
【００７５】
ファイル共有処理部３５１は、第１サーバ装置３ａに対してファイルの共有環境を提供する。ファイル共有処理部３５１は、例えばＨＴＴＰプロトコルを用いて実現されている。
【００７６】
ファイルシステム３５２は、第２ストレージ装置１０ｂによって提供される論理ボリューム（ＬＵ）を用い、第１サーバ装置３ａに対してファイル単位又はディレクトリ単位での論理ボリューム（ＬＵ）へのＩ／Ｏ機能を提供する。さらに、ファイルシステム３５２は、ファイルやディレクトリのバージョン管理を行うことで、第１サーバ装置３aに対して、最新を含む過去のある時点のファイルやディレクトリを提供する。後述のようにバージョン管理を行うファイルシステムは、ファイルの作成や削除、ファイルのデータやメタデータの変更、ディレクトリの作成や削除、及びディレクトリへのエントリの追加や削除に際して、ファイルやディレクトリを上書きすることなくファイル、及び/又はディレクトリを保持する。
【００７７】
ファイルシステム３５２は、例えば、ｅｘｔ３ｃｏｗのような１つのファイルシステムであってもよいし、Ｗａｙｂａｃｋのようにｅｘｔ３やＲｅｉｓｅｒＦＳ、ＦＡＴなどの既存のファイルシステムと組み合わせたファイルシステムであってもよい。
【００７８】
データ複製／移動処理部３５４は、第１ストレージ装置１０ａと第２ストレージ装置１０ｂとの間でのデータの移動や複製に関する処理を行う。
【００７９】
カーネル／ドライバ３５８は、オペレーティングシステムのソフトウエアを構成しているカーネルモジュールやドライバモジュールを実行することにより実現される。カーネルモジュールには、第２サーバ装置３ｂにおいて実行されるソフトウエアについて、プロセスの管理、プロセスのスケジューリング、記憶領域の管理、ハードウエアからの割り込み要求のハンドリング等、オペレーティングシステムが備える基本的な機能を実現するためのプログラムが含まれる。ドライバモジュールには、第２サーバ装置３ｂを構成しているハードウエアや第２サーバ装置３ｂに接続して用いられる周辺機器とカーネルモジュールとが通信するためのプログラムが含まれる。
【００８０】
図１６にリストアログ３６５の一例を示している。リストアログ３６５は、後述するディレクトリイメージの作成（これをリストアと呼ぶ）が行われた場合に、第１サーバ装置３ａ又は第２サーバ装置３ｂによって復元に関する処理の内容が記録される。同図に示すように、リストアログ３６５は、日時３６５１、イベント３６５２、及びリストア対象ファイル３６５３の各項目を有する一つ以上のレコードで構成される。
【００８１】
このうち日時３６５１には、リストアに関するイベントが実行された日時が設定される。イベント３６５２には、実行されたイベントの内容を示す情報（リストア開始、リストア実行等）が設定される。リストア対象ファイル３６５３には、リストアの対象となったファイル（又はディレクトリ）を特定する情報（パス名、ファイル名（又はディレクトリ名）等）が設定される。
【００８２】
第２サーバ装置３ｂが管理しているファイルアクセスログ３６８の内容は、第１サーバ装置３ａにおけるファイルアクセスログ３３５の内容に基本的に一致している。第１サーバ装置３ａからファイルアクセスログ３３５の内容を第２サーバ装置３ｂに随時通知することにより、両者の同一性が確保されている。
【００８３】
次に第１サーバ装置３ａが備えるファイルシステム３１２について詳細に説明する。
【００８４】
図１７は、ファイルシステム３１２が論理ボリューム（ＬＵ）上に管理するデータの構造（以下、ファイルシステム構造１７００と称する。）の一例である。同図に示すように、ファイルシステム構造１７００には、スーパーブロック１７１１、ｉｎｏｄｅ管理テーブル１７１２、ファイルの実体（データ）が格納されるデータブロック１７１３の各記憶領域が含まれている。
【００８５】
このうちスーパーブロック１７１１には、ファイルシステム３１２に関する情報（ファイルシステムが取り扱う記憶領域の容量、使用量、空き容量等）が格納される。スーパーブロック１７１１は、原則としてディスク区画（論理ボリューム（ＬＵ）上に設定されるパーティション）ごとに設けられる。スーパーブロック１７１１に格納される上記情報の具体例として、区画内のデータブロック数、ブロックサイズ、空きブロック数、空きｉｎｏｄｅ数、当該区画のマウント数、最新の整合性チェック時からの経過時間等がある。
【００８６】
ｉｎｏｄｅ管理テーブル１７１２には、論理ボリューム（ＬＵ）に格納されるファイル（又はディレクトリ）の管理情報（以下、ｉｎｏｄｅと称する。）が格納される。ファイルシステム３１２は、１つのファイル（又はディレクトリ）に対して１つのｉｎｏｄｅを対応させて管理している。ｉｎｏｄｅのうちディレクトリに関する情報のみを含むものはディレクトリエントリと称される。ファイルに対するアクセスが行われる場合にはディレクトリエントリを参照してアクセス対象のファイルのデータブロックにアクセスする。例えば、「/home/user-01/a.txt」というファイルにアクセスする場合には、図２０に示すように、ｉｎｏｄｅ番号２→１０→１５→１００とディレクトリエントリを順に辿ってアクセス対象ファイルのデータブロックにアクセスする。
【００８７】
図１９に一般的なファイルシステム（例えば、ＵＮＩＸ（登録商標）系のオペレーティングシステムが備えるファイルシステム）におけるｉｎｏｄｅの概念を示している。また図２０にｉｎｏｄｅ管理テーブル１７１２の一例を示している。
【００８８】
これらの図に示すように、ｉｎｏｄｅには、個々のｉｎｏｄｅを区別する識別子であるｉｎｏｄｅ番号２０１１、当該ファイル（又はディレクトリ）の所有者２０１２、当該ファイル（又はディレクトリ）について設定されているアクセス権２０１３、当該ファイル（又はディレクトリ）のファイルサイズ２０１４、当該ファイル（又はディレクトリ）の最終更新日時２０１５、当該ｉｎｏｄｅがディレクトリエントリである場合に設定される当該ディレクトリの親ディレクトリ２０１６、当該ｉｎｏｄｅがディレクトリエントリである場合に設定される当該ディレクトリの子ディレクトリ２０１７、当該ファイルのデータの実体が格納されるデータブロックを特定する情報（以下、ブロックアドレス２０１８と称する。）などの情報が含まれる。
【００８９】
図２１に示すように、本実施形態のファイルシステム３１２は、図２０に示した通常の一般的なファイルシステムにおけるｉｎｏｄｅ管理テーブル１７１２の内容に加えて、更にスタブ化フラグ２１１１、メタデータ同期要フラグ２１１２、実体同期要フラグ２１１３、レプリケーションフラグ２１１４、読み取り専用フラグ２１１５、及びリンク先２１１６を管理している。
【００９０】
尚、レプリケーションによる管理方式やスタブ化による管理方式により、第１ストレージ装置１０ａに記憶されているファイルのメタデータ（図２１に示した各種のフラグを含む。）の複製が第２ストレージ装置１０ｂにも記憶されている場合（レプリケーションされている場合）には、後述する同期処理Ｓ２９００によって一方の装置のメタデータが更新されるとその旨が他方の装置にも通知される。これにより第１ストレージ装置１０ａのメタデータと第２ストレージ装置１０ｂのメタデータの内容の同一性がほぼリアルタイムに確保される。
【００９１】
同図において、スタブ化フラグ２１１１には、当該ｉｎｏｄｅに対応するファイル（又はディレクトリ）がスタブ化されているか否かを示す情報が設定される。ここでスタブ化とは、第１ストレージ装置１０ａから第２ストレージ装置１０ｂにファイル（又はディレクトリ）を移動（マイグレーション）するに際し、移動元の第１ストレージ装置１０ａからそのファイルのデータのうち実体のみ削除し、そのファイルのデータのうちメタデータについては削除せずに移動元の第１ストレージ装置１０ａに残すことをいう。
【００９２】
尚、スタブ（stub）とは、その場合に第１ストレージ装置１０ａに残留するメタデータのことをいう。当該ｉｎｏｄｅに対応するファイル（又はディレクトリ）がスタブ化されている場合はスタブ化フラグ２１１１にＯＮが設定され、スタブ化されていない場合はスタブ化フラグ２１１１にＯＦＦが設定される。
【００９３】
メタデータ同期要フラグ２１１２には、複製元の第１ストレージ装置１０ａのファイル（又はディレクトリ）のメタデータと複製先の第２ストレージ装置１０ｂのファイル（又はディレクトリ）のメタデータとの間で同期をとる必要（内容を一致させる必要）が有るか否かを示す情報が設定される。メタデータの同期が必要な場合はメタデータ同期要フラグ２１１２にＯＮが設定され、同期が不要な場合はメタデータ同期要フラグ２１１２にＯＦＦが設定される。
【００９４】
実体同期要フラグ２１１３には、複製元の第１ストレージ装置１０ａのファイルのデータの実体と複製先の第２ストレージ装置１０ｂのファイルのデータの実体との間で同期をとる必要（内容を一致させる必要）が有るか否かを示す情報が設定される。ファイルのデータの実体について同期が必要な場合は実体同期要フラグ２１１３にＯＮが設定され、同期が不要な場合は実体同期要フラグ２１１３にＯＦＦが設定される。
【００９５】
メタデータ同期要フラグ２１１２及び実体同期要フラグ２１１３は、後述する同期処理Ｓ２９００において随時参照される。メタデータ同期要フラグ２１１２、もしくは実体同期要フラグ２１１３がＯＮになっている場合は、第１ストレージ装置１０ａのメタデータ又は実体と、その複製である第２ストレージ装置１０ｂのメタデータ又は実体とが自動的に同期される。
【００９６】
レプリケーションフラグ２１１４には、そのｉｎｏｄｅに対応するファイル（又はディレクトリ）が、現在後述するレプリケーション管理方式による管理の対象になっているか否かを示す情報が設定される。当該ｉｎｏｄｅに対応するファイルが、現在、レプリケーション管理方式による管理の対象になっている場合はレプリケーションフラグ２１１４にＯＮが設定され、レプリケーションによる管理の対象になっていない場合はレプリケーションフラグ２１１４にＯＦＦが設定される。
【００９７】
読み取り専用フラグ２１１５は、そのｉｎｏｄｅに対応するファイル（又はディレクトリ）が、クライアント装置２によって書き込まれることが可能か否かを示す情報が設定される。当該ｉｎｏｄｅに対応するファイル（又はディレクトリ）が、書き込まれることが不可能な場合は読み取り専用フラグ２１１５にＯＮが設定され、書き込まれることが可能な場合は読み取り専用フラグ２１１５にＯＦＦが設定される。
【００９８】
尚、クライアント装置２以外の主体、例えばファイルシステム３１２とデータ複製／移動処理部３１４は、読み取り専用フラグ２１１５にＯＮが設定されたファイルに書き込むことができる。
【００９９】
尚、読み取り専用フラグ２１１５の設定は、アクセス権２０１３の設定と互いに独立である。例えば、クライアント装置２は、読み取り専用フラグ２１１５にＯＮが設定され、かつ、アクセス権２０１３で書き込み可能に設定されたファイルに、書き込むことができない。これにより、ファイルに対する、ACLやUNIXパーミッション等公知のアクセス権２０１３のビューをそのままにして書き込みを防ぐ事ができる。
【０１００】
リンク先２１１６には、そのｉｎｏｄｅに対応するファイルが、後述するレプリケーション管理方式で管理されている場合は、そのファイルの複製先を示す情報（例えば、格納先を特定するパス名（後述するバージョンＩＤを含む）、ＲＡＩＤグループの識別子、ブロックアドレス、ＵＲＬ（Uniform Resource Locator）、ＬＵ等）が設定される。
【０１０１】
次に第２サーバ装置３ｂが備えるファイルシステム３５２について詳細に説明する。ファイルシステム３５２は、第１サーバ装置３ａが備えるファイルシステム３１２に加えて、ファイル（又はディレクトリ）のバージョンを管理・操作するために必要な、バージョン管理テーブル２２１を備える。
【０１０２】
図２２に、バージョン管理テーブル２２１の一例を示している。ファイルシステム３５２は、バージョン管理テーブル２２１を、一つのファイル（又はディレクトリ）毎に対して１つ維持する。なお、ファイル及びディレクトリを総称して、ファイルシステムオブジェクトと呼ぶ。
【０１０３】
同図に示すように、バージョン管理テーブル２２１には、格納日時２２１１及びバージョンＩＤ２２１２の各項目からなる一つ以上のレコードで構成されるエントリが記録される。格納日時２２１１には、そのファイル（又はディレクトリ）がファイルシステム３５２に格納された日時が設定される。バージョンＩＤ２２１２には、そのファイル（又はディレクトリ）の特定のバージョンにアクセスするために必要な名前が設定される。バージョンＩＤ２２１２に設定される名前は、例えば、連続した数字やランダムに生成された一定の長さを持つ文字列（一般にＵＵＩＤと呼ばれる）である。バージョンＩＤ２２１２は、ユーザ（例えばクライアント装置２や第１サーバ装置３ａ）によって設定されてもよいし、システム（例えば、ファイルシステム３５２）によって設定されてもよい。
【０１０４】
ファイルシステム３５２は、ファイル（又はディレクトリ）が初めて作成された時にバージョン管理テーブル２２１を作成し、ファイルシステム３５２は、ファイル（又はディレクトリ）の全てのバージョンが削除されると、バージョン管理テーブル２２１を削除する。なお、ファイルシステム３５２は、ファイルの古くなったバージョンの削除を行う。例えば、ファイルシステム３５２は、過去バージョン保持日数を設定され、作成されてから前記過去バージョン保持日数を過ぎたファイルのバージョンを削除する。この削除により、ファイルシステム３５２は、その容量が過去バージョンによって満杯になることを防ぐ。
【０１０５】
ユーザは、ファイルシステム３５２に対して特定のパス名に対して参照要求を発行することで、ファイルシステム３５２に格納されたファイル（又はディレクトリ）のバージョン情報を取得することができる。ここで、バージョン情報は、バージョン管理テーブル２２１に格納されたすべてのエントリである。例えば、ユーザは「/home/user01/a.txt」で表されるパス名のファイルのバージョン情報を、「/home/user01/a.txt?version=list」への参照要求で取得できる。
【０１０６】
ユーザは、ファイルシステム３５２に対してパス名にバージョンＩＤ２２１２を加えて参照要求を発行することで、ファイルシステム３５２に格納されたファイル（又はディレクトリ）の特定のバージョンを読み込むことができる。例えば、ユーザは「/home/user01/a.txt」で表されるパス名のファイルの「v2」で表されるバージョンを、「/home/user01/a.txt?version=v2」への参照要求で取得できる。
【０１０７】
ユーザは、ファイルシステム３５２のパス名に対してファイル（又はディレクトリ）の更新要求をすることで、新しくファイル（又はディレクトリ）を格納することができる。例えば、ユーザは「/home/user01/a.txt」で表されるパス名にファイルの更新要求を行うと、ファイルシステム３５２は現在時刻の取得とバージョンＩＤ２２１２の作成を行う。次に、ファイルシステム３５２はバージョン管理テーブル２２１に新しくエントリを作成し、そしてエントリに関連づけられたファイルが新しく格納される。その際、以前のファイルに上書きを行わない。
【０１０８】
図２３に、ディレクトリイメージ管理テーブル２３１の一例を示している。第１サーバ装置３ａ上のファイルシステム３１２が、ファイル復元を行ったディレクトリを管理するために、第１ストレージ装置１０ａに格納してこれを維持する。
【０１０９】
同図に示すように、ディレクトリイメージ管理テーブル２３１には、ディレクトリ２３１１、復元する日時２３１２、及び削除する日時２３１３が格納される。
【０１１０】
このうちディレクトリ２３１１には、ファイルシステム３１２上の、ディレクトリイメージを復元する先のディレクトリが設定される。復元する日時２３１２には、復元するディレクトリイメージの日時が設定される。削除する日時２３１３には、復元する先のディレクトリが、ファイルシステム３１２上から削除される日時が設定される。復元する日時２３１２及び削除する日時２３１３は、ユーザが設定してもよいし、ファイルシステム３１２が設定しても良い。例えば、「/mnt/fs01/.histroy/09_05/ 2010/9/5 00:00:00 2010/10/5 00:00:00」のエントリは、ファイルシステム３１２上の/mnt/fs01/.history/09_05/で表されるディレクトリに、2010/9/5 00:00:00時点でファイルシステム３１２上に存在したファイル（又はディレクトリ）が復元され、そして2010/10/5 00:00:00にファイルシステム３１２から削除されることを意味する。復元されるのは、後述のとおり、ディレクトリの階層構造における最上位ディレクトリ（ルートディレクトリ）の直下のディレクトリ又はファイルのメタデータである。これは一例であって、さらに、配下のディレクトリ又はファイルまでが復元されてもよいし、また、所定の階層のディレクトリ又はファイルが直接復元されるものであってもよい。
【０１１１】
＝概略的な動作＝
次に、以上の構成からなる情報処理システム１の動作について説明する。
【０１１２】
図２４は、第１サーバ装置３ａが、１ストレージ装置１０ａに格納されているファイルを対象としたレプリケーションを開始させる旨の要求（以下、レプリケーション開始要求と称する。）を受け付けた場合に、情報処理システム１において行われる処理（以下、レプリケーション開始処理Ｓ２４００と称する）を説明する図である。
【０１１３】
第１サーバ装置３ａは、クライアント装置２からレプリケーション開始要求を受け付けると、当該要求に対象として指定されているファイルについてレプリケーションによる管理方式による管理を開始する。尚、第１サーバ装置３ａは、通信ネットワーク５を介してクライアント装置２からレプリケーション開始要求を受け付ける以外に、例えば、当該第１サーバ装置３ａにおいて内部的に発生するレプリケーション開始要求も受け付ける。
【０１１４】
ここでレプリケーションによる管理方式とは、ファイルのデータ（メタデータ及び実体）を、第１ストレージ装置１０ａ及び第２ストレージ装置１０ｂの双方において管理する方式である。
【０１１５】
レプリケーションによる管理方式では、第１ストレージ装置１０ａに格納されているファイルの実体又はメタデータが更新されると、このファイルの複製(又はアーカイブファイル）として管理されている、第２ストレージ装置１０ｂ側のファイルのメタデータ又は実体が、同期又は非同期に更新される。レプリケーションによる管理方式が行われることにより、第１ストレージ装置１０ａに格納されているファイルのデータ（メタデータ又は実体）と、その複製として第２ストレージ装置１０ｂに格納されているファイルのデータ（メタデータ又は実体）の一致性が、同期又は非同期に確保（保証）される。
【０１１６】
尚、第２ストレージ装置１０ｂ側のファイル（アーカイブファイル）におけるメタデータはファイルの実体として管理してもよい。そのようにすることで、第１サーバ装置３ａのファイルシステム３１２と第２サーバ装置３ｂのファイルシステム３５２の仕様が相違する場合でもレプリケーションによる管理方式を実現することができる。
【０１１７】
同図に示すように、レプリケーション開始要求を受け付けると（Ｓ２４１１）、第１サーバ装置３ａは、受け付けたレプリケーション開始要求に指定されているファイルのデータ（メタデータ及び実体）を第１ストレージ装置１０ａから読み出し、読み出したファイルのデータを第２サーバ装置３ｂに送信する（Ｓ２４１２）。
【０１１８】
第２サーバ３ｂは、第１サーバ装置３ａから送られてくる、上記ファイルのデータを受信すると、受信したデータを第２ストレージ装置１０ｂに格納する（Ｓ２４１３）。
【０１１９】
尚、上記転送に際し、第１サーバ装置３ａのデータ複製／移動処理部３１４は、転送元ファイルのレプリケーションフラグ２１１４をＯＮに設定する（Ｓ２４１４）。
【０１２０】
図２５は、第１ストレージ装置１０ａに格納されている、レプリケーション管理方式により管理されているファイル（レプリケーションフラグ２１１４がＯＮに設定されているファイル。以下、レプリケーションファイルと称する。）を前述したスタブ化の候補として設定する際に、情報処理システム１において行われる処理（以下、スタブ化候補選出処理Ｓ２５００と称する。）を説明する図である。以下、同図とともにスタブ化候補選出処理Ｓ２５００について説明する。
【０１２１】
第１サーバ装置３ａは、ファイル格納領域の残容量を随時（リアルタイム、定期的、予め設定されたタイミング等）監視している。
【０１２２】
第１サーバ装置３ａは、ファイルシステム３１２に対してファイルの格納領域として割り当てられている第１ストレージ装置１０ａの記憶領域（以下、ファイル格納領域と称する。）の残容量が、予め設定された閾値（以下、スタブ化閾値と称する。）未満になると、所定の選出基準に従い、第１ストレージ装置１０ａに格納されているレプリケーションファイルの中からスタブ化の候補を選出する（Ｓ２５１１）。尚、上記所定の選出基準としては、例えば、最終更新日時が古い順、アクセス頻度の低い順などがある。
【０１２３】
次に第１サーバ装置３ａは、スタブ化の候補を選出すると、選出したレプリケーションファイルのスタブ化フラグ２１１１をＯＮ、レプリケーションフラグ２１１４をＯＦＦ、メタデータ同期要フラグ２１１２をＯＮに夫々設定する（Ｓ２５１２）。尚、第１サーバ装置３ａは、ファイル格納領域の残容量を、例えば、ファイルシステム３１２が管理している情報から取得する。
【０１２４】
図２６は、スタブ化候補選出処理Ｓ２５００によってスタブ化候補として選出されたファイルを実際にスタブ化する際、情報処理システム１において行われる処理（以下、スタブ化処理Ｓ２６００と称する。）を説明する図である。スタブ化処理Ｓ２６００は、例えば、予め設定されたタイミング（例えばスタブ化候補選出処理Ｓ２５００が行われたのに続いて）で行われる。以下、同図とともにスタブ化処理Ｓ２６００について説明する。
【０１２５】
同図に示すように、第１サーバ装置３ａは、第１ストレージ装置１０ａのファイル格納領域に格納されているファイルの中から、スタブ化候補として選出されているファイル（スタブ化フラグ２１１１がＯＮに設定されているファイル）を一つ以上抽出する（Ｓ２６１１）。
【０１２６】
そして第１サーバ装置３ａは、抽出したファイルの実体を第１ストレージ装置１０ａから削除するとともに、抽出したファイルのメタデータからそのファイルの第１ストレージ装置１０ａの格納先を示す情報に無効な値を設定し（例えば、メタデータの当該ファイルの格納先を設定する欄（例えばブロックアドレス２０１８を設定する欄）にＮＵＬＬ値やゼロを設定する。）、スタブ化候補として選出されているファイルを実際にスタブ化する。またこのとき第１サーバ装置３ａは、メタデータ同期要フラグ２１１２をＯＮに設定する（Ｓ２６１２）。
【０１２７】
図２７は、第１サーバ装置３ａが、クライアント装置２から第１ストレージ装置１０ａのファイル格納領域に格納されているレプリケーションファイルに対する更新要求を受け付けた場合に、情報処理システム１において行われる処理（以下、レプリケーションファイル更新処理Ｓ２７００と称する。）を説明する図である。以下、同図とともにレプリケーションファイル更新処理Ｓ２７００について説明する。
【０１２８】
第１サーバ装置３ａは、レプリケーションファイルに対する更新要求を受け付けると（Ｓ２７１１）、その第１ストレージ装置１０ａに格納されているそのレプリケーションファイルのデータ（メタデータ、実体）を、受け付けた更新要求に従って更新する（Ｓ２７１２）。
【０１２９】
そして第１サーバ装置３ａは、メタデータを更新した場合はそのレプリケーションファイルのメタデータ同期要フラグ２１１２をＯＮに設定し、レプリケーションファイルの実体を更新した場合はそのレプリケーションファイルの実体同期要フラグ２１１３をＯＮに設定する（Ｓ２７１３）。
【０１３０】
図２８は、第１サーバ装置３ａのファイルシステム３１２が、クライアント装置２から、第１ストレージ装置１０ａのファイル格納領域に格納されているレプリケーションファイルに対する参照要求を受け付けた場合に情報処理システム１において行われる処理（以下、レプリケーションファイル参照処理Ｓ２８００と称する。）を説明する図である。以下、同図とともにレプリケーションファイル参照処理Ｓ２８００について説明する。
【０１３１】
第１サーバ装置３ａのファイルシステム３１２は、レプリケーションファイルに対する更新要求を受け付けると（Ｓ２８１１）、そのレプリケーションファイルのデータ（メタデータ又は実体）を第１ストレージ装置１０ａから読み出し（Ｓ２８１２）、読み出したデータに基づきクライアント装置２に対して応答する情報を生成し、生成した応答情報をクライアント装置２に送信する（Ｓ２８１３）。
【０１３２】
図２９は、第１サーバ装置３ａのファイルシステム３１２が、クライアント装置２等から、スタブ化されているファイル（スタブ化フラグ２１１１がＯＮに設定されているファイル）のメタデータに対するアクセス要求（参照要求又は更新要求）を受け付けた場合に情報処理システム１において行われる処理（以下、メタデータアクセス処理Ｓ２９００と称する。）を説明する図である。以下、同図とともにメタデータアクセス処理Ｓ２９００について説明する。
【０１３３】
同図に示すように、第１サーバ装置３ａは、スタブ化されているファイルのメタデータに対するアクセス要求を受け付けると（Ｓ２９１１）、アクセス要求の対象になっている第１ストレージ装置１０ａのメタデータを取得し、アクセス要求の内容に従い参照（読み出したメタデータに基づく応答情報のクライアント装置２への送信）、又はメタデータの更新を行う（Ｓ２９１２）。またメタデータの内容を更新した場合には、そのファイルのメタデータ同期要フラグ２１１２にＯＮを設定する（Ｓ２９１３）。
【０１３４】
このように、第１サーバ装置３ａは、スタブ化されているファイルに対するアクセス要求が発生し、そのアクセス要求がそのファイルのメタデータのみを対象としている場合には、第１ストレージ装置１０ａに格納されているメタデータを用いてアクセス要求を処理する。このため、アクセス要求がそのファイルのメタデータのみを対象としている場合にはクライアント装置２に迅速に応答を返すことができる。
【０１３５】
図３０は、第１サーバ装置３ａが、クライアント装置２から、スタブ化されているファイル（スタブ化フラグ２１１１がＯＮに設定されているファイル。以下、スタブ化ファイルと称する。）の実体に対する参照要求を受け付けた場合に情報処理システム１において行われる処理（以下、スタブ化ファイル実体参照処理Ｓ３０００と称する。）を説明する図である。以下、同図とともにスタブ化ファイル実体参照処理Ｓ３０００について説明する。
【０１３６】
第１サーバ装置３ａは、クライアント装置２からスタブ化ファイルの実体に対する参照要求を受け付けると（Ｓ３０１１）、取得したメタデータを参照して当該スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されているか否かを判断する（Ｓ３０１２）。ここでこの判断は、例えば、取得したメタデータにスタブ化ファイルの実体の格納先を示す情報（例えばブロックアドレス２０１８）に有効な値が設定されているか否かに基づいて行う。
【０１３７】
上記判断の結果、スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されている場合には、第１サーバ装置３ａは、第１ストレージ装置１０ａから当該スタブ化ファイルの実体を読み出し、読み出した実体に基づきクライアント装置２に応答する情報を生成し、生成した応答情報をクライアント装置２に送信する（Ｓ３０１３）。
【０１３８】
一方、上記判断の結果、スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されていない場合には、第１サーバ装置３ａは、第２サーバ装置３ｂに対してスタブ化ファイルの実体の提供を要求する（以下、リコール要求と称する。）（Ｓ３０１４）。  尚、実体の取得要求は、必ずしも一度の取得要求によって実体の全体を取得する要求でなくてもよく、例えば実体の一部のみを複数回要求するようにしてもよい。
【０１３９】
第１サーバ装置３ａは、上記取得要求に応じて第２サーバ装置３ｂから送られてくるスタブ化ファイルの実体を受信すると（Ｓ３０１５）、受信した実体に基づき応答情報を生成し、生成した応答情報をクライアント装置２に送信する（Ｓ３０１６）。
【０１４０】
また第１サーバ装置３ａは、上記第２サーバ装置３ｂから受信した実体を第１ストレージ装置１０ａに格納し、当該スタブ化ファイルのメタデータの当該ファイルの実体の格納先を示す情報（例えばブロックアドレス２０１８）に、当該ファイルの第１ストレージ装置１０ａにおける格納先を示す内容を設定する。また第１サーバ装置３ａは、当該ファイルのスタブ化フラグ２１１１をＯＦＦに、レプリケーションフラグ２１１４をＯＮに、メタデータ同期要フラグ２１１２をＯＮに、夫々設定する（当該ファイルをスタブ化ファイルからレプリケーションファイルに変更する。）（Ｓ３０１７）。
【０１４１】
尚、メタデータ同期要フラグ２１１２をＯＮに設定するのは、第１ストレージ装置１０ａと第２ストレージ装置１０ｂとの間で、当該スタブ化ファイルのスタブ化フラグ２１１１及びレプリケーションフラグ２１１４の内容を事後的に自動的に同期させるためである。
【０１４２】
図３１は、第１サーバ装置３ａが、クライアント装置２からスタブ化ファイルの実体に対する更新要求を受け付けた場合に、情報処理システム１において行われる処理（以下、スタブ化ファイル実体更新処理Ｓ３１００と称する。）を説明する図である。以下、同図とともにスタブ化ファイル実体更新処理Ｓ３１００について説明する。
【０１４３】
第１サーバ装置３ａは、スタブ化ファイルの実体に対する更新要求を受け付けると（Ｓ３１１１）、更新要求の対象になっているスタブ化ファイルのメタデータを取得し、取得したメタデータに基づき当該スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されているか否かを判断する（Ｓ３１１２）。尚、判断方法はスタブ化ファイル実体参照処理Ｓ３０００の場合と同様である。
【０１４４】
上記判断の結果、スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されていた場合、第１サーバ装置３ａは、第１ストレージ装置１０ａに格納されている当該スタブ化ファイルの実体を更新要求の内容に従って更新するとともに、当該スタブ化ファイルの実体同期要フラグ２１１３をＯＮに設定する（Ｓ３１１３）。
【０１４５】
一方、スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されていない場合、第１サーバ装置３ａは、第２サーバ装置３ｂに当該スタブ化ファイルの実体の取得要求(リコール要求）を送信する（Ｓ３１１４）。
【０１４６】
第１サーバ装置３ａは、上記要求に応じて第２サーバ装置３ｂから送られてきたファイルの実体を受信すると（Ｓ３１１５）、受信した実体の内容を更新要求の内容に従って更新し、更新後の実体を当該スタブ化ファイルの実体として第１ストレージ装置１０ａに格納する。また第１サーバ装置３ａは、当該スタブ化ファイルのスタブ化フラグ２１１１をＯＦＦ、レプリケーションフラグ２１１４をＯＦＦ、メタデータ同期要フラグ２１１２をＯＮに夫々設定する（Ｓ３１１６）。
【０１４７】
＜ファイル復元時の処理＞
【０１４８】
図３２は、過去のある時点のディレクトリイメージを作成する処理（以下、ディレクトリイメージ作成処理Ｓ３２００と称する。）を説明する図である。以下、同図とともにディレクトリイメージ作成処理Ｓ３２００について説明する。
【０１４９】
まず第１サーバ装置３ａのファイルシステム３１２が、過去のある時点で第１ストレージ装置１０ａに構成されていたディレクトリの構成（つまり、第２ストレージ装置１０ｂに記憶されているディレクトリの構成であり、ディレクトリの階層構造を示すデータ、ディレクトリのデータ（メタデータ）、及びファイルのデータ（メタデータ及び実体)を含む。以下、ディレクトリイメージと称する。）における、最上位ディレクトリ（以下、ルートディレクトリと称する。）に存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータの取得要求を、第２サーバ装置３ｂに送信する（Ｓ３２１１）。
【０１５０】
本実施形態において、ルートディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータという場合には、ルートディレクトリに存在する（から見える）ディレクトリ及びファイルは含まれるが、ルートディレクトリに存在するディレクトリの更に配下に存在するディレクトリやそのディレクトリに存在するファイルは含まれない。
【０１５１】
第２サーバ装置３ｂは、上記取得要求を受信すると、要求されているルートディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータを、第２ストレージ装置１０ｂから取得し（Ｓ３２１２）、取得したメタデータを第１ストレージ装置１０ａに送信する（Ｓ３２１３）。
【０１５２】
第１サーバ装置３ａは、第２サーバ装置３ｂからメタデータを受信すると（Ｓ３２１３）、受信したメタデータに基づくディレクトリイメージを、第１ストレージ装置１０ａに復元する（Ｓ３２１４）。またこのとき、第１サーバ装置３ａは、メタデータ同期要フラグ２１１２をＯＮ、実体同期要フラグ２１１３をＯＮ、読み取り専用フラグ２１１５をＯＮに夫々設定する。尚、復元されたファイルはいずれもメタデータのみに基づくものであるため、これらのファイルはいずれもスタブ化された状態になっており、スタブ化フラグ２１１１がＯＮに設定されている。
【０１５３】
このように第１サーバ装置３ａは、第１ストレージ装置１０ａにディレクトリイメージが復元する。第１のサーバ装置３ａのファイルシステム３１２は、ディレクトリイメージを、例えば、図２３に示すように、定期的に取得し、これをディレクトリ管理テーブルで継続的に管理する。なお、ディレクトリイメージの取得の形態としては、適宜変更可能であり、第１のサーバ装置３ａで所定のイベントが発生する都度のタイミングでもよい。例えば、クライアント装置が第１のサーバ３ａにファイルの履歴を照会した時点である。この場合、クライアントがこのファイルの過去のバージョンにアクセスする可能性があるとして、過去バージョンの属するディレクトリイメージを取得することとした。
【０１５４】
図３３は、図３２に示したディレクトリイメージ作成処理Ｓ３２００の後、過去のある時点に当該第１サーバ装置３ａが管理していたディレクトリイメージを復元していく処理（以下、オンデマンド復元処理Ｓ３３００と称する。）を説明する図である。以下、同図とともにオンデマンド復元処理Ｓ３３００について説明する。
【０１５５】
第１サーバ装置３ａは、サービスを開始した後、クライアント装置２からあるファイルについてデータＩ／Ｏ要求を受け付けると（Ｓ３３１１）、受け付けたデータＩ／Ｏ要求の対象になっているファイル（以下、アクセス対象ファイルと称する。）のメタデータが、第１ストレージ装置１０ａに存在するか否か（サービス開始後、既に第１ストレージ装置１０ａにメタデータが復元されているか否か）を調べる（Ｓ３３１２）。
【０１５６】
メタデータが第１ストレージ装置１０ａに復元されている場合、第１サーバ装置３ａは、受け付けたデータＩ／Ｏ要求の対象（メタデータ又は実体）、データＩ／Ｏ要求の種類（参照要求か更新要求か）、レプリケーションによる管理方式で管理されているか否か（レプリケーションフラグ２１１４がＯＮか否か）、スタブ化されているか否か（スタブ化フラグがＯＮか否か）に応じて、受け付けたデータＩ／Ｏ要求に対応する処理（前述したレプリケーションファイル更新処理Ｓ２７００、レプリケーションファイル参照処理Ｓ２８００、メタデータアクセス処理Ｓ２９００、スタブ化ファイル実体参照処理Ｓ３０００、スタブ化ファイル実体更新処理Ｓ３１００）を行い、クライアント装置２に応答を返す（Ｓ３３１８）。
【０１５７】
一方、アクセス対象ファイルのメタデータが復元されていない場合には、第１サーバ装置３ａは、ルートディレクトリを起点としてアクセス対象ファイルが存在するディレクトリレベル（ディレクトリ階層）に至るまでのディレクトリイメージを復元するためのデータを第２サーバ装置３ｂ（第２ストレージ装置１０ｂ）から取得し（Ｓ３３１３〜Ｓ３３１５）、取得したデータを用いてルートディレクトリから上記ディレクトリレベルに至るまでのディレクトリイメージを第１ストレージ装置１０ａに復元する（Ｓ３３１６）。
【０１５８】
また第１サーバ装置３ａは、アクセス対象ファイルのスタブ化フラグ２１１１をＯＮに、レプリケーションフラグ２１１４をＯＦＦに、メタデータ同期要フラグ２１１２をＯＮに、読み込み専用フラグ２１１５をＯＮに、夫々設定する（Ｓ３３１７）。
【０１５９】
次に第１サーバ装置３ａは、受け付けたデータＩ／Ｏ要求の対象や種類、管理方式、スタブ化の有無等に応じて、受け付けたデータＩ／Ｏ要求に対応する処理を行い、クライアント装置２に応答を返す（Ｓ３３１８）。
【０１６０】
図３４に、データＩ／Ｏ要求が繰り返し発生することにより、以上に説明したオンデマンド復元処理Ｓ３３００によって段階的に第１ストレージ装置１０ａにディレクトリイメージが復元されていく様子を示している。
【０１６１】
同図中、強調された文字列（アンダーラインが付与されている文字列）で示すディレクトリは、そのディレクトリのメタデータは復元されているがその配下のディレクトリのメタデータは未だ復元されていない。また強調されていない文字で示すディレクトリは、そのディレクトリの配下のディレクトリのメタデータも既に復元されている。また強調された文字で示すファイルは、そのファイルのメタデータは復元されているが、その実体は未だ復元されていない。また強調されていない文字で示すファイルは、そのファイルの実体が既に復元されている。
【０１６２】
図３４の図（０）は、過去のある時点で第１サーバ装置３ａ（第１ストレージ装置１０ａ）において管理され、かつ第２サーバ装置３ｂにレプリケーション済みのディレクトリイメージ（最終的に復元されるディレクトリイメージの全体）である。
【０１６３】
図３４の図（Ａ）は、ディレクトリイメージ作成処理Ｓ３２００直後（まだ第１サーバ装置３ａがデータＩ／Ｏ要求を受け付けていない状態）におけるディレクトリイメージである。この段階ではルートディレクトリ「／」の直下に存在するディレクトリ「／ｄｉｒ１」及び「／ｄｉｒ２」のメタデータは復元されているが、その更に配下のディレクトリのメタデータについては未だ復元されていない。またルートディレクトリ「／」の直下に存在するファイル「ａ．ｔｘｔ」のメタデータは復元されているが、実体については未だ復元されていない。
【０１６４】
図３４の図（Ｂ）は、図（Ａ）の状態でクライアント装置２からディレクトリ「／ｄｉｒ１」の配下に存在するファイル「ｃ．ｔｘｔ」に対するデータＩ／Ｏ要求を受け付けた後の状態である。クライアント装置２からファイル「ｃ．ｔｘｔ」に対するデータＩ／Ｏ要求を受け付けたため、ディレクトリ「／ｄｉｒ１１」のメタデータと「／ｃ．ｔｘｔ」のメタデータが復元されている。
【０１６５】
図３４の図（Ｃ）は、図（Ｂ）の状態で更にクライアント装置２からディレクトリ「／ｄｉｒ２」の配下に存在するファイル「ｂ．ｔｘｔ」に対するデータＩ／Ｏ要求を受け付けた後の状態である。同図に示すように、クライアント装置２からファイル「ｂ．ｔｘｔ」に対するデータＩ／Ｏ要求を受け付けたため、「／ｂ．ｔｘｔ」のメタデータが復元されている。尚、「／ｄｉｒ２」の配下に存在する「／ｂ．ｔｘｔ」のメタデータが復元されたため、「／ｄｉｒ２」は強調されていない文字で表記している。
【０１６６】
図３４の図（Ｄ）は、図（Ｃ）の状態でクライアント装置２からファイル「ｂ．ｔｘｔ」に対するデータＩ／Ｏ要求（更新要求）を受け付けた後の状態である。クライアント装置２からファイル「ｂ．ｔｘｔ」に対するデータＩ／Ｏ要求（更新要求）を受け付けたため、ファイル「ｂ．ｔｘｔ」の実体が復元されている。
【０１６７】
図３５は、過去のある時点のディレクトリイメージを削除する処理（以下、ディレクトリイメージ削除処理Ｓ３５００と称する。）を説明する図である。以下、同図とともにディレクトリイメージ作成処理Ｓ３５００について説明する。
【０１６８】
まず第１サーバ装置３は、ファイルシステム３１２が過去のある時点で第１ストレージ装置１０ａに構成していたディレクトリが、ファイルシステム３１２に設定された日時を超えて保管されていないかを監視する（Ｓ３５１１）。前述のディレクトリが前述の日時を超えて保管されていた場合、ファイルシステム３１２は前述のディレクトリを削除する（Ｓ３５１２）。
【０１６９】
以上に説明したように、本実施形態の情報処理システム１においては、第１サーバ装置３ａにおいてディレクトリイメージ作成処理が実施された後、データＩ／Ｏ要求を受け付ける前までは、ディレクトリイメージ作成処理Ｓ３２００によってルートディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータのみが復元される。そしてその後は第１サーバ装置３ａに対してクライアント装置２からまだ復元されていないファイルに対してデータＩ／Ｏ要求が発生する度に、段階的に第１サーバ装置３ａ（第１ストレージ装置１０ａ）にディレクトリイメージが復元されていく。
【０１７０】
このようにファイル復元のために、データＩ／Ｏ要求の受け付けを開始する前にディレクトリイメージの全体を復元してしまうのではなく、データＩ／Ｏ要求を処理するのに必要なディレクトリイメージを段階的に復元するようにすることで、ファイル復元のためにディレクトリイメージの全体を復元しておく場合に比べ、ファイル復元に要する時間を短縮することができ、ユーザの業務等への影響を防ぐことができる。
【０１７１】
またディレクトリイメージが完全に復元されるまでの間は、第１ストレージ装置１０ａの資源を節約することができる。さらにディレクトリイメージが完全に復元されるまでの間は記憶容量の消費が抑えられる。
【０１７２】
＜処理詳細＞
次に情報処理システム１において行われる処理の詳細について説明する。
【０１７３】
図３６は、図２４に示したレプリケーション開始処理Ｓ２４００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１７４】
第１サーバ装置３ａは、クライアント装置２等からレプリケーション開始要求を受け付けたか否かをリアルタイムに監視している（Ｓ３６１１）。第１サーバ装置３ａは、クライアント装置２等からレプリケーション開始要求を受け付けると（Ｓ３６１１：ＹＥＳ）（図２４のＳ２４１１）、受け付けたレプリケーション開始要求に指定されているファイルのデータ（メタデータ及び実体）の格納先（ＲＡＩＤグループの識別子、ブロックアドレス等）を第２サーバ装置３ｂに問い合わせる（Ｓ３６１２）。
【０１７５】
第２サーバ装置３ｂは、上記の問い合わせがあると（Ｓ３６２１）、第２ストレージ装置１０ｂの空き領域を探索してファイルのデータの格納先を決定し、決定した格納先を第１サーバ装置３ａに通知する（Ｓ３６２２）。
【０１７６】
第１サーバ装置３ａは、上記通知を受信すると（Ｓ３６１３）、受け付けたレプリケーション開始要求に指定されているファイルのデータ（メタデータ及び実体）を、第１ストレージ装置１０ａから読み出し（Ｓ３６１４）（図２４のＳ２４１２）、読み出したファイルのデータをＳ３６２２で通知された格納先とともに第２サーバ装置３ｂに送信する（Ｓ３６１５）（図２４のＳ２４１３）。
【０１７７】
また第１サーバ装置３ａは、当該ファイルのメタデータ（第１ストレージ装置１０ａに格納されている当該ファイルのメタデータ）のレプリケーションフラグ２１１４をＯＮ、メタデータ同期要フラグ２１１２をＯＮに夫々設定する（Ｓ３６１６）（図２４のＳ２４１４）。
【０１７８】
尚、メタデータ同期要フラグ２１１２をＯＮに設定しておくことで、前述した同期処理Ｓ２９００により第１ストレージ装置１０ａに格納されているファイルのメタデータと、その複製として第２ストレージ装置１０ｂに格納されているファイルのメタデータの一致性が、同期又は非同期に確保（保証）される。
【０１７９】
一方、第２サーバ装置３ｂは、第１サーバ装置３ａからファイルのデータを受信すると（Ｓ３６２３）、受信したファイルのデータを、当該ファイルとともに受信した格納先で特定される第２ストレージ装置１０ｂの位置に格納する（Ｓ３６２４）。
【０１８０】
図３７は、図２５に示したスタブ化候補選出処理Ｓ２５００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１８１】
第１サーバ装置３ａは、ファイル格納領域の残容量がスタブ化閾値未満になっているか否かを随時監視し（Ｓ３７１１、Ｓ３７１２）、ファイル格納領域の残容量がスタブ化閾値未満になっていることを検知すると、前述した所定の選出基準に従い第１ストレージ装置１０ａに格納されているレプリケーションファイルの中からスタブ化の候補を選出する（Ｓ３７１２）（図２５のＳ２５１１）。
【０１８２】
そして第１サーバ装置３ａは、スタブ化の候補を選出すると（Ｓ３７１３）、選出したレプリケーションファイルのスタブ化フラグ２１１１をＯＮ、レプリケーションフラグ２１１４をＯＦＦ、メタデータ同期要フラグ２１１２をＯＮに夫々設定する（Ｓ３７１４）（図２５のＳ２５１２）。
【０１８３】
図３８は、図２６に示したスタブ化処理Ｓ２６００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１８４】
第１サーバ装置３ａは、第１ストレージ装置１０ａのファイル格納領域に格納されているファイルの中から、スタブ化候補として選出されているファイル（スタブ化フラグ２１１１がＯＮに設定されているファイル）を随時抽出する（Ｓ３８１１，Ｓ３８１２）。
【０１８５】
そして第１サーバ装置３ａは、抽出したファイルの実体を第１ストレージ装置１０ａから削除するとともに（Ｓ３８１３）、抽出したファイルのメタデータからそのファイルの第１ストレージ装置１０ａの格納先を示す情報に無効な値を設定し（例えば、メタデータの当該ファイルの格納先を設定する欄（例えばブロックアドレス２０１８）にＮＵＬＬ値やゼロを設定する。）（Ｓ３８１４）、メタデータ同期要フラグ２１１２をＯＮに設定する（Ｓ３８１５）（図２６のＳ２６１１）。
【０１８６】
図３９は、図２７に示したレプリケーションファイル更新処理Ｓ２７００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１８７】
第１サーバ装置３ａは、クライアント装置２からレプリケーションファイルに対する更新要求を受け付けたか否かをリアルタイムに監視している（Ｓ３９１１）。第１サーバ装置３ａは、更新要求を受け付けると（Ｓ３９１１：ＹＥＳ）（図２７のＳ２７１１）、第１ストレージ装置１０ａに格納されている、当該更新要求の対象になっているレプリケーションファイルのデータ（メタデータ又は実体）を、受け付けた更新要求に従って更新する（Ｓ３９１２）（図２７のＳ２７１２）。
【０１８８】
また第１サーバ装置３ａは、メタデータを更新した場合はそのレプリケーションファイルのメタデータ同期要フラグ２１１２をＯＮに設定し（Ｓ３９１３）、レプリケーションファイルの実体を更新した場合はそのレプリケーションファイルの実体同期要フラグ２１１３をＯＮに設定する（Ｓ３９１４）（図２７のＳ２７１３）。
【０１８９】
図４０は、図２８に示したレプリケーションファイル参照処理Ｓ２８００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１９０】
第１サーバ装置３ａは、クライアント装置２からレプリケーションファイルに対する参照要求を受け付けたか否かをリアルタイムに監視している（Ｓ４０１１）。第１サーバ装置３ａは、参照要求を受け付けると（Ｓ４０１１：ＹＥＳ）（図２８のＳ２８１１）、そのレプリケーションファイルのデータ（メタデータ又は実体）を第１ストレージ装置１０ａから読み出し（Ｓ４０１２）（図２８のＳ２８１２）、読み出したデータに基づきクライアント装置２に対して応答する情報を生成し、生成した応答情報をクライアント装置２に送信する（Ｓ４０１３）（図２８のＳ２８１３）。
【０１９１】
図４１は、図２９に示したメタデータアクセス処理Ｓ２９００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１９２】
第１サーバ装置３ａは、クライアント装置２からスタブ化されているファイルのメタデータに対するアクセス要求（参照要求又は更新要求）を受け付けたか否かをリアルタイムに監視している（Ｓ４１１１）。
【０１９３】
第１サーバ装置３ａは、スタブ化されているファイルのメタデータに対するアクセス要求を受け付けると（Ｓ４１１１：ＹＥＳ）（図２９のＳ２９１１）、受け付けたアクセス要求の対象になっている第１ストレージ装置１０ａのメタデータを取得し（Ｓ４１１２）、受け付けたアクセス要求に従い（Ｓ４１１３）、メタデータの参照（読み出したメタデータに基づく応答情報のクライアント装置２への送信）（Ｓ１５１４）、又はメタデータの更新を行う（Ｓ４１１５）（図２９のＳ２９１２）。またメタデータの内容を更新した場合は（Ｓ４１１５）、そのファイルのメタデータ同期要フラグ２１１２にＯＮを設定する（図２９のＳ２９１３）。
【０１９４】
図４２は、図３０に示したスタブ化ファイル実体参照処理Ｓ３０００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０１９５】
第１サーバ装置３ａは、クライアント装置２からスタブ化ファイルの実体に対する参照要求を受け付けると（Ｓ４２１１：ＹＥＳ）（図３０のＳ３０１１）、当該スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されているか否かを判断する（Ｓ４２１２）（図３０のＳ３０１２）。
【０１９６】
スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されている場合には（Ｓ４２１２：ＹＥＳ）、第１サーバ装置３ａは、第１ストレージ装置１０ａから当該スタブ化ファイルの実体を読み出し、読み出した実体に基づきクライアント装置２に応答する情報を生成し、生成した応答情報をクライアント装置２に送信する（Ｓ４２１３）（図３０のＳ３０１３）。
【０１９７】
一方、スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されていない場合には（Ｓ４２１２：ＮＯ）、第１サーバ装置３ａは、第２サーバ装置３ｂに対してスタブ化ファイルの実体を要求する（リコール要求）（Ｓ４２１４）（図３０のＳ３０１４）。その際、第１サーバ装置３ａは、スタブ化ファイルのメタデータに含まれるリンク先２１１６を使って第２サーバ装置３ｂのファイルの特定のバージョンを要求する。
【０１９８】
第１サーバ装置３ａは、上記取得要求に応じて第２サーバ装置３ｂから送られてくるスタブ化ファイルの実体を受信すると（Ｓ４２２１、Ｓ４２２２、Ｓ４２１５）（図３０のＳ３０１５）、受信した実体に基づき応答情報を生成し、生成した応答情報をクライアント装置２に送信する（Ｓ４２１６）（図３０のＳ３０１６）。
【０１９９】
また第１サーバ装置３ａは、上記第２サーバ装置３ｂから受信した実体を第１ストレージ装置１０ａに格納し、当該スタブ化ファイルのメタデータの当該ファイルの実体の格納先を示す情報（例えばブロックアドレス２０１８）に、当該ファイルの第１ストレージ装置１０ａにおける格納先を示す内容を設定する（Ｓ４２１７）。
【０２００】
また第１サーバ装置３ａは、当該ファイルのスタブ化フラグ２１１１をＯＦＦに、レプリケーションフラグ２１１４をＯＮに、メタデータ同期要フラグ２１１２をＯＮに、夫々設定する（Ｓ４２１８）（図３０のＳ３０１７）。
【０２０１】
図４３は、図３１に示したスタブ化ファイル実体更新処理Ｓ３１００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０２０２】
第１サーバ装置３ａは、クライアント装置２からスタブ化ファイルの実体に対する更新要求を受け付けると（Ｓ４３１１：ＹＥＳ）（図３１のＳ３１１１）、当該スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されているか否かを判断する（Ｓ４３１２）（図３１のＳ３１１２）。
【０２０３】
スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されている場合（Ｓ４３１２：ＹＥＳ）、第１サーバ装置３ａは、第１ストレージ装置１０ａに格納されている当該スタブ化ファイルの実体を更新要求の内容に従って更新するとともに（Ｓ４３１３）、当該スタブ化ファイルの実体同期要フラグ２１１３をＯＮに設定する（Ｓ４３１４）（図３１のＳ３１１３）。
【０２０４】
一方、上記判断の結果、スタブ化ファイルの実体が第１ストレージ装置１０ａに格納されていない場合には（Ｓ４３１２：ＮＯ）、第１サーバ装置３ａは、第２サーバ装置３ｂに当該スタブ化ファイルの実体の取得要求（リコール要求）を送信する（Ｓ４３１５）（図３１のＳ３１１４）。
【０２０５】
第１サーバ装置３ａは、上記要求に応じて第２サーバ装置３ｂから送られてくるファイルの実体を受信すると（Ｓ４３２１、Ｓ４３２２、Ｓ４３１６）（Ｓ３１１５）、受信した実体の内容を更新要求の内容に従って更新し（Ｓ４３１７）、更新後の実体を当該スタブ化ファイルの実体として第１ストレージ装置１０ａに格納する（Ｓ４３１８）（図３１のＳ３１１６）。
【０２０６】
また第１サーバ装置３ａは、当該スタブ化ファイルのスタブ化フラグ２１１１をＯＦＦ、レプリケーションフラグ２１１４をＯＦＦ、メタデータ同期要フラグ２１１２をＯＮに夫々設定する（Ｓ４３１９）。
【０２０７】
図４４は、図３２に示したディレクトリイメージ作成処理Ｓ３２００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０２０８】
まず、第１サーバ装置３ａは、過去のある時点のディレクトリイメージを復元する先のディレクトリを作成する（Ｓ４４１１）。第１サーバ装置３ａは、作成したディレクトリのパスと、現在日時と、ディレクトリイメージ保持日数を現在日時に加えた日時とを、それぞれ、ディレクトリ２３１１、復元する日時２３１２、削除する日時２３１３に設定することで、ディレクトリイメージ管理テーブル２３１に新しいエントリを作成する。ここで、ディレクトリイメージ保持日数は、ファイルシステム３１２に設定される、復元先ディレクトリが作成されてから削除されるまでの日数である。
【０２０９】
次に、第１サーバ装置３ａは、第２サーバ装置３ｂに対し、ファイルシステム３１２が復元する日時２３１２のディレクトリイメージのルートディレクトリに存在するディレクトリのメタデータ及びルートディレクトリに存在するファイルのメタデータの取得を次のように行う。
【０２１０】
（１）第１サーバ装置３ａは、第２サーバ装置３ｂに対し、ルートディレクトリのバージョン情報を要求する（Ｓ４４１２）。
【０２１１】
（２）第２サーバ装置３ｂは、上記取得要求を受信すると（Ｓ４４２１）、要求されているルートディレクトリのバージョン情報を第２ストレージ装置１０ｂから取得し、取得したバージョン情報を第１サーバ装置３ａに送信する（Ｓ４４２２）。
【０２１２】
（３）第１サーバ装置３ａは、第２サーバ装置３ｂからバージョン情報を受信すると（Ｓ４４１３）、復元する日時２３１２を超えない、かつ、最も近い格納日時２２１１を、ルートディレクトリのバージョン情報（バージョン管理テーブル２２１）から検索し、検索された格納日時に対応するバージョンＩＤ２２１２を取得する（Ｓ４４１４）。
【０２１３】
（４）第１サーバ装置３ａは、第２サーバ装置３ｂに対し、取得したバージョンＩＤ２２１２をもつルートディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータの取得要求を、送信する（Ｓ４４１５）（図３２のＳ３２１１）。
【０２１４】
（５）第２サーバ装置３ｂは、上記取得要求を受信すると（Ｓ４４２３）、要求されているルートディレクトリのメタデータを取得し、そのディレクトリエントリに対してＳ４４１２〜Ｓ４４１４と同様の処理を行うことで、復元するバージョンのルートディレクトリに存在するディレクトリのメタデータ、及び復元するバージョンのルートディレクトリに存在するファイルのメタデータを第２ストレージ装置１０ｂから取得し、取得したメタデータを第１ストレージ装置１０ａに送信する（Ｓ４４２４）（図３２のＳ３２１２、Ｓ３２１３）。
【０２１５】
次に、第１サーバ装置３ａは、第２サーバ装置３ｂからメタデータを受信すると（Ｓ４４１６）（図３２のＳ３２１３）、受信したメタデータに従ったディレクトリイメージを第１ストレージ装置１０ａに構成（復元）する（Ｓ４４１７）（図３２のＳ３２１４）。またこのとき、第１サーバ装置３ａは、メタデータ同期要フラグ２１１２をＯＮに、実体同期要フラグ２１１３をＯＮに、読み込み専用フラグをＯＮに、夫々設定する（Ｓ４４１８）。
【０２１６】
図４５及び図４６は、図３３に示したオンデマンド復元処理Ｓ３３００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０２１７】
先ず、ユーザはクライアント装置２を介して、ファイル復元を第１サーバ装置３ａに要求する際、復元先ディレクトリ２３１１のうち所望の復元先ディレクトリにアクセスする。次いで、第１サーバ装置３ａは、クライアント装置２からファイル復元対象になる所定の復元対象ファイルについてデータＩ／Ｏ要求を受け付けると（Ｓ４５１１：ＹＥＳ）（図３３のＳ３３１１）、受け付けたデータＩ／Ｏ要求の対象になっているファイル（アクセス対象ファイル）のメタデータが、第１ストレージ装置１０ａに構成された、前記復元先ディレクトリ以下に存在するか否かを調べる（Ｓ４５１２）（図３３のＳ３３１２）。
【０２１８】
そして、メタデータが第１ストレージ装置１０ａに復元されている場合（Ｓ４５１２：ＹＥＳ）、第１サーバ装置３ａは、受け付けたデータＩ／Ｏ要求の対象や種類、管理方式、スタブ化の有無等に応じて、受け付けたデータＩ／Ｏ要求に対応する処理を行い、クライアント装置２に応答を返す（Ｓ４５１３）（図３３のＳ３３１８）。
【０２１９】
一方、アクセス対象ファイルのメタデータが第１ストレージ装置１０ａに復元されていない場合には（Ｓ４５１２：ＮＯ）、第１サーバ装置３ａは、ルートディレクトリを起点としてアクセス対象ファイルが存在するディレクトリレベルに至るまでのディレクトリイメージを復元するために親ディレクトリ復元処理を呼び出す（Ｓ４５１４）。
【０２２０】
次に、第１サーバ装置３ａは、第２サーバ装置３ｂに対し、ファイルシステム３１２が復元する日時２３１２のファイルシステムの、ルートディレクトリを起点としてアクセス対象ファイルが存在するディレクトリレベル（ディレクトリ階層）に至るまでのディレクトリイメージの復元を、次のように行う（図４６参照）。
【０２２１】
（１）第１サーバ装置３ａは、第２サーバ装置３ｂに対し、前記データＩ／Ｏ要求におけるパス情報に基づいて、第１ストレージ装置１０aに復元されていないディレクトリのうち、前記ルートディレクトリの直下にある、即ち、最も浅いディレクトリレベルのディレクトリのバージョン情報を要求する（Ｓ４６１１）。
【０２２２】
（２）第２サーバ装置３ｂは、上記取得要求を受信すると（Ｓ４６２１）、要求されている最も浅いディレクトリのバージョン情報を第２ストレージ装置１０ｂから取得し、取得したバージョン情報を第１サーバ装置３ａに送信する（Ｓ４６２２）。
【０２２３】
（３）第１サーバ装置３ａは、第２サーバ装置３ｂからバージョン情報を受信すると（Ｓ４６１２）、復元する日時２３１２を超えない、かつ、最も近い格納日時２２１１を、復元するディレクトリのバージョン情報（バージョン管理テーブル２２１）から検索し、検索された格納日時に対応するバージョンＩＤ２２１２を取得する（Ｓ４６１３）。
【０２２４】
（４）第１サーバ装置３ａは、第２サーバ装置３ｂに対し、取得したバージョンＩＤ２２１２をもつディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータの取得要求を、第２サーバ装置３ｂに送信する（Ｓ４６１４）（図３３のＳ３３１３）。
【０２２５】
（５）第２サーバ装置３ｂは、上記取得要求を受信すると（Ｓ４６２３）、要求されているディレクトリのメタデータを取得し、そのディレクトリエントリに対してＳ４６１１〜Ｓ４６１６と同様の処理を行うことで、復元するバージョンのディレクトリイメージに存在するディレクトリのメタデータ、及び復元するバージョンのディレクトリに存在するファイルのメタデータを第２ストレージ装置１０ｂから取得し、取得したメタデータを第１ストレージ装置１０ａに送信する（Ｓ４６２４）（図３３のＳ３２１４、Ｓ３３１５）。
【０２２６】
（６）第１サーバ装置３ａは、第２サーバ装置３ｂから送られてくるデータを受信すると（Ｓ４６１５）、そのデータを用いてディレクトリイメージを第１ストレージ装置１０ａに復元する（Ｓ４６１６）（図３３のＳ３３１６）。ステップＳ４６１７では、第１サーバ装置３ａは、親ディレクトリの復元が完了したか、即ち、復元すべきファイルのメタデータが得られるディレクトリまでディレクトリイメージが復元できたか否、を判定し、親ディレクトリ復元処理が完了すると、第１サーバ装置３ａは、アクセス対象ファイルのスタブ化フラグ２１１１をＯＮに、レプリケーションフラグ２１１４をＯＦＦに、メタデータ同期要フラグ２１１２をＯＮに、読み込み専用フラグをＯＮに、夫々設定する（Ｓ４５１５）（図３３のＳ３３１７）。
【０２２７】
次に第１サーバ装置３ａは、受け付けたデータＩ／Ｏ要求の対象や種類、管理方式、スタブ化の有無等に応じて、受け付けたデータＩ／Ｏ要求に対応する処理を行い、クライアント装置２に応答を返す（Ｓ４５１６）（図３３のＳ３３１８）。なお、第１のファイルサーバが第２のファイルサーバにファイルの実体を要求する際（リコール要求：図４２のＳ４２１４）、ファイルの実体の全てでなくその一部を要求するものであってもよい。
【０２２８】
以上詳細に説明したように、本実施形態の情報処理システム１にあっては、第１サーバ装置３ａのファイル復元に際し、第１サーバ装置３ａは日時をディレクトリに関連付け、第２サーバ装置３ｂが、第１サーバ装置３ａがデータＩ／Ｏ要求の受け付けを開始するのに先立ち、第２ストレージ装置１０ｂに記憶しているファイルのデータのうちディレクトリに関連付けたバージョンの最上位ディレクトリから所定の下位階層までのディレクトリイメージを第１サーバ装置３ａに送信し、第１サーバ装置３ａが、第２サーバ装置３ｂから送られてくるディレクトリイメージを第１ストレージ装置１０ａに復元した後、データＩ／Ｏ要求の受け付けを再開する。
【０２２９】
図４７は、図３５に示したディレクトリイメージ削除処理Ｓ３５００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０２３０】
まず第１サーバ装置３ａは、定期的にディレクトリイメージ管理テーブル２３１を参照し、ファイル復元先であるディレクトリ２３１１が削除する日時２３１３を過ぎているか否かを確認する（Ｓ４７１１、Ｓ４７１１）。過ぎている場合、ディレクトリイメージ削除のタイミングと判定し（Ｓ４７１２：ＹＥＳ）、ディレクトリイメージを削除する（Ｓ４７１３）。最後に、ディレクトリイメージ管理テーブル２３１から、削除したディレクトリ２３１１を含むエントリを削除する。
【０２３１】
このように、本実施形態の情報処理システム１にあっては、第１サーバ装置３ａのファイル復元に際し、第１ストレージ装置１０ａに存在していたディレクトリイメージの全てを復元するのではなく、最上位のディレクトリから所定の下位階層までのディレクトリイメージのみを復元するので、過去のある時点で第１ストレージ装置１０ａに存在していた全てのディレクトリイメージを復元する場合に比べてファイル復元に要する時間を短縮することができ、早期にサービスを再開することができる。また全てのディレクトリイメージを復元する場合に比べて、情報処理システム１に与える負荷が少なくて済むし、第１ストレージ装置１０ａのストレージ消費量が少なくて済む。
【０２３２】
（第二の実施形態）
第二の実施形態における情報処理システム１では、第２サーバ装置３ｂがバージョン情報を第１サーバ装置３ａに送信できない場合にも、第一の実施形態と同様の効果を実現する。第二の実施形態は、ディレクトリイメージ作成処理Ｓ３２００の一部、オンデマンド復元処理Ｓ３３００の一部が、第一の実施形態と異なる。
【０２３３】
以下、発明を実施するための第二の形態について図面とともに説明する。第１サーバ装置３ａのファイルシステム３１２は、ルートディレクトリのバージョン管理テーブル２３１を維持する。
【０２３４】
図４８は、図３２に示したディレクトリイメージ作成処理Ｓ３２００の詳細を説明するフローチャートである。以下、同図とともに説明する。
【０２３５】
まず、第１サーバ装置３ａは、過去のある時点のディレクトリイメージを復元する先のディレクトリを作成する（Ｓ４８１１）。第１サーバ装置３ａは、作成したディレクトリのパスと、現在日時と、ディレクトリイメージ保持日数を現在日時に加えた日時とを、それぞれ、ディレクトリ２３１１、復元する日時２３１２、削除する日時２３１３に設定することで、ディレクトリイメージ管理テーブル２３１に新しいエントリを作成する。ここで、ディレクトリイメージ保持日数は、ファイルシステム３１２に設定される、復元先ディレクトリが作成されてから削除されるまでの日数である。
【０２３６】
次に、第１サーバ装置３ａは、第２サーバ装置３ｂに対し、ファイルシステム３１２が復元する日時２３１２のディレクトリイメージのルートディレクトリに存在するディレクトリのメタデータ及びルートディレクトリに存在するファイルのメタデータの取得を次のように行う。
【０２３７】
（１）第１サーバ装置３ａは、ファイルシステム３１２に維持されるルートディレクトリのバージョン管理テーブル２２１からバージョン情報を取得する（Ｓ４８１２）。
【０２３８】
（２）次に、ルートディレクトリのバージョン情報（バージョン管理テーブル２２１）から、復元する日時２３１２を超えない、かつ、最も近い格納日時２２１１を、検索し、検索された格納日時に対応するバージョンＩＤ２２１２を取得する（Ｓ４８１３）。
【０２３９】
（３）第１サーバ装置３ａは、第２サーバ装置３ｂに対し、取得したバージョンＩＤ２２１２をもつルートディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータの取得要求を、第２サーバ装置３ｂに送信する（Ｓ４８１４）（図３２のＳ３２１１）。
【０２４０】
（４）第２サーバ装置３ｂは、上記取得要求を受信すると（Ｓ４８２１）、要求されているルートディレクトリのメタデータ、復元するバージョンのルートディレクトリに存在するディレクトリのメタデータ、及び復元するバージョンのルートディレクトリに存在するファイルのメタデータを第２ストレージ装置１０ｂから取得し、取得したメタデータを第１ストレージ装置１０ａに送信する（Ｓ４８２２）（図３２のＳ３２１２、Ｓ３２１３）。
【０２４１】
次に第１サーバ装置３ａは、第２サーバ装置３ｂからメタデータを受信すると（Ｓ４８１５）（図３２のＳ３２１３）、受信したメタデータに従ったディレクトリイメージを第１ストレージ装置１０ａに構成（復元）する（Ｓ４８１６）（図３２のＳ３２１４）。またこのとき、第１サーバ装置３ａは、メタデータ同期要フラグ２１１２をＯＮに、実体同期要フラグ２１１３をＯＮに、読み込み専用フラグをＯＮに、夫々設定する（Ｓ４８１７）。
【０２４２】
図４９は、図３３に示したオンデマンド復元処理Ｓ３３００のうち、親ディレクトリ復元処理の詳細を説明するフローチャートである。以下、図４５と図４９を使って説明する。
【０２４３】
図４５における、Ｓ４５１１〜Ｓ４５１３は第一の実施形態における処理と同じである。
【０２４４】
次に、親ディレクトリ復元処理が呼び出されると（Ｓ４５１４）、第１サーバ装置３ａは、ファイルシステム３１２が復元する日時２３１２のファイルシステムの、ルートディレクトリを起点としてアクセス対象ファイルが存在するディレクトリレベル（ディレクトリ階層）に至るまでのディレクトリイメージの復元を、次のように行う。
【０２４５】
（１）第１サーバ装置３ａは、第１ストレージ装置１０aに復元されていないディレクトリのうち、最も浅いディレクトリレベルのディレクトリのリンク先２１１６を取得し、第２サーバ装置３ｂに対し、取得したリンク先２１１６の示すディレクトリに存在するディレクトリのメタデータ、及びルートディレクトリに存在するファイルのメタデータの取得要求を、第２サーバ装置３ｂに送信する（Ｓ４９１１）（図３２のＳ３２１１）。
【０２４６】
（２）第２サーバ装置３ｂは、上記取得要求を受信すると（Ｓ４９２１）、要求されているディレクトリのメタデータ、復元するバージョンのディレクトリに存在するディレクトリのメタデータ、及び復元するバージョンのルートディレクトリに存在するファイルのメタデータを第２ストレージ装置１０ｂから取得し、取得したメタデータを第１ストレージ装置１０ａに送信する（Ｓ４８２２）（図３２のＳ３２１２、Ｓ３２１３）。
【０２４７】
（３）第１サーバ装置３ａは、第２サーバ装置３ｂから送られてくるデータを受信すると（Ｓ４９１２）、そのデータを用いてディレクトリイメージを第１ストレージ装置１０ａに復元する（Ｓ４９１３）（図３３のＳ３３１６）。
【０２４８】
（４）第１サーバ装置３ａは、アクセス対象ファイルが存在するディレクトリレベルに至るまで、Ｓ４９１１〜Ｓ４９１３を繰り返す（Ｓ４９１４）。
【０２４９】
親ディレクトリ復元処理Ｓ４５１４が完了したら、図４５のＳ４５１５〜Ｓ４５１６を実行し、処理を完了する。
【０２５０】
このように、本実施形態の情報処理システム１にあっては、第２サーバ装置３ｂがバージョン情報を外部に提供しない場合においても、第一の実施形態と同様の効果を得ることができる。
【０２５１】
さらに、第一の実施形態に比べて、バージョン情報を使ったバージョンＩＤの検索が少ないことから、クライアント装置２に対する性能を高めることができる（応答速度を小さくすることができる）。
【０２５２】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【０２５３】
例えば、以上の説明では、ファイル共有処理部３１１、ファイルシステム３１２、データ操作要求受付部３１３、データ複製／移動処理部３１４、ファイルアクセスログ取得部３１７、及びカーネル／ドライバ３１８の各機能が仮想マシン３１０において実現されているものとして説明したが、これらの機能は必ずしも仮想マシン３１０において実現されるものでなくてもよい。
【０２５４】
また、以上の説明では、ルートディレクトリからアクセス対象ファイルまでを第１ストレージ装置１０ａに復元するものとして説明したが、同様の方法でその一部を復元するように構成することもできる。例えば、アクセス対象ファイルの親ディレクトリとアクセス対象ファイルを復元することもできる。
【符号の説明】
【０２５５】
１  情報処理システム
２  クライアント装置
３ａ  第１サーバ装置
３ｂ  第２サーバ装置
５  通信ネットワーク
６ａ  第１ストレージネットワーク
６ｂ  第２ストレージネットワーク
７  通信ネットワーク
１０ａ  第１ストレージ装置
１０ｂ  第２ストレージ装置
５０  エッジ
５１  コア
３１１  ファイル共有処理部
３１２  ファイルシステム
３１３  データ操作要求受付部
３１４  データ複製／移動処理部
３１７  ファイルアクセスログ取得部
３１８  カーネル／ドライバ
３３１  レプリケーション情報管理テーブル
３３５  ファイルアクセスログ
３６５  リストアログ
３６８  ファイルアクセスログ
【図１】
2013061388.tif 000003
【図２】
2013061388.tif 000004
【図３】
2013061388.tif 000005
【図４】
2013061388.tif 000006
【図５】
2013061388.tif 000007
【図６】
2013061388.tif 000008
【図７】
2013061388.tif 000009
【図８】
2013061388.tif 000010
【図９】
2013061388.tif 000011
【図１０】
2013061388.tif 000012
【図１１】
2013061388.tif 000013
【図１２】
2013061388.tif 000014
【図１３】
2013061388.tif 000015
【図１４】
2013061388.tif 000016
【図１５】
2013061388.tif 000017
【図１６】
2013061388.tif 000018
【図１７】
2013061388.tif 000019
【図１８】
2013061388.tif 000020
【図１９】
2013061388.tif 000021
【図２０】
2013061388.tif 000022
【図２１】
2013061388.tif 000023
【図２２】
2013061388.tif 000024
【図２３】
2013061388.tif 000025
【図２４】
2013061388.tif 000026
【図２５】
2013061388.tif 000027
【図２６】
2013061388.tif 000028
【図２７】
2013061388.tif 000029
【図２８】
2013061388.tif 000030
【図２９】
2013061388.tif 000031
【図３０】
2013061388.tif 000032
【図３１】
2013061388.tif 000033
【図３２】
2013061388.tif 000034
【図３３】
2013061388.tif 000035
【図３４】
2013061388.tif 000036
【図３５】
2013061388.tif 000037
【図３６】
2013061388.tif 000038
【図３７】
2013061388.tif 000039
【図３８】
2013061388.tif 000040
【図３９】
2013061388.tif 000041
【図４０】
2013061388.tif 000042
【図４１】
2013061388.tif 000043
【図４２】
2013061388.tif 000044
【図４３】
2013061388.tif 000045
【図４４】
2013061388.tif 000046
【図４５】
2013061388.tif 000047
【図４６】
2013061388.tif 000048
【図４７】
2013061388.tif 000049
【図４８】
2013061388.tif 000050
【図４９】
2013061388.tif 000051
【国際調査報告】
2013061388.tif 000052
2013061388.tif 000053
2013061388.tif 000054
2013061388.tif 000055