(57)【要約】【課題】シャドウコピーにおいては、一度に過去のバージョンのデータの全てにアクセスすることが難しくなってしまうおそれや負荷が集中するおそれがある、という問題を解決すること。【解決手段】ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、複数のファイルシステムと、を有し、ファイルシステム複製情報取得手段は、取得したファイルシステム複製情報を複数のファイルシステムのうちのいずれかに格納するよう構成され、ユーザ要求処理手段は、ユーザから送信された、ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、ファイルシステム複製情報の識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する。【選択図】図３
2017068729.tif 000002
【特許請求の範囲】
【請求項１】
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
複数のファイルシステムと、
を有し、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納するよう構成され、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
ファイル記憶装置。
【請求項２】
請求項１に記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記ユーザから送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報が格納されているファイルシステムに応じた前記識別情報である前記ファイルシステム複製情報のパス名を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
ファイル記憶装置。
【請求項３】
請求項１又は２に記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記ユーザから送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報が格納されているファイルシステムに応じた前記識別情報である前記ファイルシステム複製情報のパス名を、予め設定された形式であり作成日時を含む形式であるシャドウコピー形式に変更して、当該シャドウコピー形式に変更後のパス名を前記ユーザに返却する
ファイル記憶装置。
【請求項４】
請求項１乃至３の何れかに記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記識別情報送信要求として、前記複数のファイルシステムのそれぞれが記憶する前記ファイルシステム複製情報に応じた前記識別情報の一覧を要求する識別情報一覧送信要求を取得し、当該取得した識別情報一覧送信要求に応じて、前記複数のファイルシステムのそれぞれが記憶する前記ファイルシステム複製情報の前記識別情報をそれぞれ予め設定された形式に変更して当該変更後の識別情報の一覧を前記ユーザに返却する
ファイル記憶装置。
【請求項５】
請求項１乃至４のいずれかに記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を要求するファイルシステム複製情報送信要求に応じて、当該ファイルシステム複製情報送信要求に含まれる前記変更後の識別情報を変更前の識別情報に変更し、当該変更した識別情報に基づいて前記ファイルシステムから前記ファイルシステム複製情報を取得し、当該取得したファイルシステム複製情報を前記ユーザに返却する
ファイル記憶装置。
【請求項６】
請求項１乃至５のいずれかに記載のファイル記憶装置であって、
前記ファイルシステム複製情報取得手段は、前記ファイルシステム複製情報として、ファイルシステムのイメージを示すスナップショット、又は、ファイルシステムが記憶するデータの複製であるレプリカデータ、の少なくとも一方を取得する
ファイル記憶装置。
【請求項７】
請求項１乃至６のいずれかに記載のファイル記憶装置であって、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を、前記複数のファイルシステムのうちの当該ファイルシステム複製情報の取得元のファイルシステムとは別のファイルシステムの何れかに格納する
ファイル記憶装置。
【請求項８】
複数のファイルシステムを有するファイル記憶装置にて、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するとともに、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納し、
ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
情報処理方法。
【請求項９】
複数のファイルシステムを有する情報記憶装置に、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
を実現させ、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納し、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
プログラム。
【請求項１０】
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
複数のファイルシステムと、
を有するファイル記憶装置と、
前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求を前記ファイル記憶装置に対して送信する処理要求送信部、
を有するクライアント装置と、
を有し、
前記ファイル記憶装置の前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納するよう構成され、
前記ファイル記憶装置の前記ユーザ要求処理手段は、前記クライアント装置から送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記クライアント装置に返却する
ファイル記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル記憶装置、情報処理方法、プログラム、ファイル記憶システムに関する。
【背景技術】
【０００２】
ある時点におけるファイルシステムのイメージを取得して当該取得したイメージを記憶しておくこと（スナップショット）で、削除されたファイルや過去のバージョンの取り出しを可能とするシャドウコピーに関する問題やそれに対する技術が様々知られている。
【０００３】
例えば、特許文献１によると、共有ボリュームの各スナップショットは別々のボリュームとしてアクセスされるため、スナップショットを見るためには対応する新しいボリュームをマウントすることが必要となり、高い特権が必要となる、という問題が生じていた。上記問題に対処するため、特許文献１では、共有ボリュームのボリュームシャドウコピーを共有ボリュームの子ディレクトリ構造として構成することで、各スナップショットを別々のボリュームではなく共有ボリュームの一部として表している。これにより、ユーザは、追加のボリュームをマウントすることなく、つまり、高いレベルのユーザ特権を要求されることなく、ボリュームシャドウコピーにアクセスすることが出来る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−４７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されているようなシャドウコピー技術では、通常、１つのファイルシステム内に過去のバージョンのデータを有している。そのため、該当するファイルシステムにおいて読み取りが出来なくなるなどの問題が生じた場合、過去のバージョンのデータの全てにアクセスすることが難しくなってしまう、という問題が生じるおそれがあった。また、上記のように１つのファイルシステム内にデータを有しているため、過去のバージョンへのアクセスが多い運用において負荷が集中するおそれがある、という問題が生じていた。
【０００６】
このように、シャドウコピーにおいては、一度に過去のバージョンのデータの全てにアクセスすることが難しくなってしまうおそれや負荷が集中するおそれがある、という問題が生じていた。
【０００７】
そこで、本発明の目的は、シャドウコピーにおいては、一度に過去のバージョンのデータの全てにアクセスすることが難しくなってしまうおそれや負荷が集中するおそれがある、という問題を解決するファイル記憶装置を提供することにある。
【課題を解決するための手段】
【０００８】
かかる目的を達成するため本発明の一形態であるファイル記憶装置は、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
複数のファイルシステムと、
を有し、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納するよう構成され、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
という構成を採る。
【０００９】
また、本発明の他の形態である情報処理方法は、
複数のファイルシステムを有するファイル記憶装置にて、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するとともに、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納し、
ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
という構成を採る。
【００１０】
また、本発明の他の形態であるプログラムは、
複数のファイルシステムを有する情報記憶装置に、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
を実現させ、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納し、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
という構成を採る。
【００１１】
また、本発明の他の形態であるファイル記憶システムは、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
複数のファイルシステムと、
を有するファイル記憶装置と、
前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求を前記ファイル記憶装置に対して送信する処理要求送信部、
を有するクライアント装置と、
を有し、
前記ファイル記憶装置の前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納するよう構成され、
前記ファイル記憶装置の前記ユーザ要求処理手段は、前記クライアント装置から送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記クライアント装置に返却する
という構成を採る。
【発明の効果】
【００１２】
本発明は、以上のように構成されることにより、シャドウコピーにおいては、一度に過去のバージョンのデータの全てにアクセスすることが難しくなってしまうおそれや負荷が集中するおそれがある、という問題を解決するファイル記憶装置を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るファイル記憶システムの全体の構成の一例を示す図である。
【図２】図１で示すＣＩＦＳ（Common Internet File System）クライアントの構成の一例を示す図である。
【図３】図１で示すＮＡＳ（Network Attached Storage）の構成の一例を示す図である。
【図４】図３で示すパス名変更部が行うパス名の変更処理の一例を示す図である。
【図５】本発明の第１の実施形態におけるＮＡＳの動作の一例を示すフローチャートである。
【図６】本発明の第１の実施形態におけるＮＡＳの動作の一例を示すフローチャートである。
【図７】本発明の第１の実施形態におけるＮＡＳが以前のバージョン名を返却する際の動作の一例を示すフローチャートである。
【図８】本発明の第１の実施形態におけるＮＡＳがファイルの情報／データを返却する際の動作の一例を示すフローチャートである。
【図９】本発明の第２の実施形態におけるファイル記憶装置の構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
図１は、ファイル記憶システム４の全体の構成の一例を示す図である。図２は、図１で示すＣＩＦＳ（Common Internet File System）クライアント１の構成の一例を示す図である。図３は、図１で示すＮＡＳ（Network Attached Storage）３の構成の一例を示す図である。図４は、図３で示すパス名変更部３２１が行うパス名の変更処理の一例を示す図である。図５乃至８は、ＮＡＳ３の動作の一例を示す図である。
【００１５】
本発明の第１の実施形態では、ファイルシステムのスナップショットを取得する機能を有するＮＡＳ３を含むファイル記憶システム４について説明する。本実施形態におけるＮＡＳ３は、対象のファイルシステムのスナップショットを取得して、当該取得したスナップショットを複数のファイルシステムに分散して記憶する。また、ＮＡＳ３は、ユーザからの要求に応じて、分散してファイルシステムに格納されたスナップショットや当該スナップショットの一覧を返却する。後述するように、本実施形態におけるＮＡＳ３は、ユーザからの要求に応じてスナップショットの一覧を返却する際に、スナップショットの一覧に含まれるパス名をシャドウコピー形式に変更した上で当該変更後のスナップショットの一覧をユーザに返却する。また、ＮＡＳ３は、ユーザからの要求に含まれるパスをスナップショットのパスに変更した上で、当該変更したパスを利用してファイルシステムからスナップショットを取得する。これにより、ファイル記憶システム４は、ＮＡＳ３上で複数のファイルシステムにまたがるスナップショットへのアクセスを隠ぺいしつつ、以前のバージョンのファイル復元を実施する。
【００１６】
図１を参照すると、本実施形態におけるファイル記憶システム４は、ＣＩＦＳクライアント１（クライアント装置）と、ＮＡＳ３（ファイル記憶装置）と、を有している。また、ＣＩＦＳクライアント１とＮＡＳ３とは、ネットワーク２を介して互いに通信可能なよう接続されている。
【００１７】
ＣＩＦＳクライアント１は、Ｗｉｎｄｏｗｓ（登録商標）などのＯＳを有する情報処理装置である。ＣＩＦＳクライアント１は、ＣＩＦＳプロトコルを利用して、後述するＮＡＳ３に対してデータの読み書きなどの所定の処理要求を送信する。
【００１８】
ＣＩＦＳクライアント１は、図示しない入出力装置などの一般的な情報処理装置としての構成を有しており、また、「以前のバージョン」一覧を利用して過去のバージョンのファイルの復元などを行うことが出来るよう構成されている。また、ＣＩＦＳクライアント１は図示しない演算装置（ＣＰＵ：Central Processing Unit）と記憶装置とを有しており、記憶装置が記憶するプログラムを演算装置が実行することで実現される処理要求送信部１１を有している（図２参照）。
【００１９】
処理要求送信部１１は、例えば入出力装置を介して入力されたユーザからの指示に応じて、ＮＡＳ３に対して所定の処理要求を送信する。具体的には、例えば処理要求送信部１１は、「ファイルの読み出し」、「ファイルの書き込み」、「シャドウコピー一覧の取得」、「シャドウコピーからの過去バージョンファイルの読み出し」、などの処理要求をＮＡＳ３に対して送信する。
【００２０】
ここで、「シャドウコピー一覧の取得」の処理要求（識別情報一覧送信要求、識別情報送信要求）は、例えば、ユーザがファイルのプロパティの「以前のバージョン」のタブをクリックすることで送信される処理要求である。また、「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求（ファイルシステム複製情報送信要求）は、例えば、ユーザが「以前のバージョン」タブから復元したいバージョンを選択してクリックすることで送信される処理要求である。後述するように、「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求には、読み出す対象のデータを指定するためのシャドウコピー形式のパス名が含まれている。また、「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求により読み出される対象となるデータは、ファイルの情報とファイルのデータとの２種類が存在する。「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求は、上記２種類両方の読み出しを要求するよう構成されても構わないし、何れか一方の読み出しを要求するよう構成されても構わない。
【００２１】
なお、本実施形態においては、ＣＩＦＳクライアント１がファイル共有プロトコルとしてＣＩＦＳを用いる場合について説明する。しかしながら、ＣＩＦＳクライアント１が用いるファイル共有プロトコルはＣＩＦＳに限定されない。ＣＩＦＳクライアント１は、例えば、ファイル共有プロトコルとしてＳＭＢ（Sever Message Block）、ＮＦＳ（Network File System）などを用いるよう構成されても構わない。
【００２２】
ＮＡＳ３は、ＣＩＦＳクライアント１から送信される処理要求を受信して、当該受信した処理要求に応じた処理を実行するファイルサーバである。ＮＡＳ３は、ＣＩＦＳクライアント１から上述した様々な種類の処理要求を受け付ける。そして、ＮＡＳ３は、受け付けた処理要求に応じた処理を行った上で、当該処理の結果をＣＩＦＳクライアント１に返却する。
【００２３】
ＮＡＳ３は、複数のファイルシステム３１３−１、３１３−２、３１３−３（以下、特に区別しない場合はファイルシステム３１３と表記する）と、図示しない演算装置（ＣＰＵ）と、プログラムを記憶する記憶装置と、を有している。また、ＮＡＳ３は、通常のファイルサーバとしての機能を有しており、更に、演算装置にプログラムが組み込まれることで構築された、ファイルシステム制御部３１と、ＣＩＦＳサーバ制御部３２（ユーザ要求処理手段）と、を有している（図３参照）。
【００２４】
後述するように、ＮＡＳ３がＣＩＦＳクライアント１から「ファイルの読み出し」、「ファイルの書き込み」、の処理要求を受信した場合、ファイルシステム３１３−１にデータが書き込まれ、また、ファイルシステム３１３−１からデータが読み出されることになる。また、ファイルシステム３１３−２、３１３−３には、ファイルシステム３１３−１から取得したスナップショット（ファイルのデータ、ファイルの情報）が格納されることになる。さらに、ファイルシステム３１３−２、３１３−３には、ファイルシステム３１３−１のデータの複製（レプリカ）が格納されることになる。
【００２５】
図３を参照すると、ファイルシステム制御部３１は、スナップショット取得部３１１（ファイルシステム複製情報取得手段）とレプリケーション制御部３１２（ファイルシステム複製情報取得手段）とを有している。
【００２６】
また、ファイルシステム制御部３１は、図示しない記憶装置を有している。上記記憶装置には、ファイルシステム３１３−２、３１３−３に格納されたスナップショットの各世代の一覧を示す情報であるスナップショット世代一覧情報が例えばファイルシステム３１３ごとに格納されている。また、上記記憶装置には、ファイルシステム３１３−２、３１３−３に格納されたスナップショットへアクセスするための、スナップショット領域・スナップショット世代へのアクセスパス（パス名を含む）が例えばファイルシステム３１３ごとに格納されている。
【００２７】
ファイルシステム制御部３１は、ＣＩＦＳクライアント１が送信した「ファイルの読み出し」、「ファイルの書き込み」、の処理要求に応じて、ファイルシステム３１３−１にデータを書き込み、また、ファイルシステム３１３−１からデータを読み出す。そして、ファイルシステム制御部３１は、データの書き込み結果、読み出し結果をＣＩＦＳサーバ制御部３２に送信する。また、ファイルシステム制御部３１は、後述するパス名変更部３２１からの指示に応じて、スナップショット世代一覧情報をパス名変更部３２１へ送信する。さらに、ファイルシステム制御部３１は、後述するアクセスパス変更部３２２から受信したアクセスパス（又はパス名）に基づいて、ファイルシステム３１３−２、３１３−３からデータ（ファイルの情報、ファイルのデータ）の読み出しを行う。そして、ファイルシステム制御部３１は、データの読み出し結果をＣＩＦＳサーバ制御部３２に送信する。
【００２８】
また、ファイルシステム制御部３１は、スナップショット取得部３１１に対して、ファイルシステム３１３−１のスナップショットを取得するようスナップショット取得指示を送信する。上記スナップショット取得指示は、例えば、予め設定された時間ごと、又は、ユーザインタフェースからの指示（例えば、ＣＩＦＳクライアント１からの指示）に基づいて送信される。さらに、ファイルシステム制御部３１は、レプリケーション制御部３１２に対して、ファイルシステム３１３−１の複製を行うようレプリケーション実行指示を送信する。上記レプリケーション実行指示は、例えば、予め設定された時間ごと、又は、ユーザインタフェースからの指示（例えば、ＣＩＦＳクライアント１からの指示）に基づいて送信される。
【００２９】
このように、ファイルシステム制御部３１は、ファイルシステム３１３に対するデータの書き込み、読み込みの制御を行う。また、ファイルシステム制御部３１は、スナップショット取得部３１１やレプリケーション制御部３１２の制御を行う。
【００３０】
スナップショット取得部３１１は、ファイルシステム制御部３１からの指示（スナップショット取得指示）に基づいて、ファイルシステム３１３−１のイメージを示すスナップショット（ファイルシステム複製情報）を取得する。そして、スナップショット取得部３１１は、取得したスナップショットをスナップショットイメージとしてファイルシステム３１３−２、３１３−３のいずれかに格納する。このように、スナップショット取得部３１１は、ファイルシステム３１３−１のスナップショットを取得するとともに、取得したスナップショットをファイルシステム３１３−１以外のファイルシステム３１３に格納する。つまり、スナップショット取得部３１１は、取得したスナップショットを当該スナップショットの取得元であるファイルシステム３１３−１とは別のファイルシステム（ファイルシステム３１３−２、３１３−３）の何れかに格納するよう構成されている。
【００３１】
なお、スナップショット取得部３１１が取得したスナップショットをファイルシステム３１３−２、３１３−３のいずれに格納するかを決定する際に用いるアルゴリズムは、本実施形態では特に限定しない。スナップショット取得部３１１は、様々な方法を用いて、取得したスナップショットをファイルシステム３１３−２、３１３−３のいずれに格納するかを決定するよう構成することが出来る。
【００３２】
レプリケーション制御部３１２は、ファイルシステム制御部３１からの指示（レプリケーション実行指示）に基づいて、ファイルシステム３１３−１が記憶するデータをファイルシステム３１３−２、又は、３１３−３に複製する。つまり、レプリケーション制御部３１２は、ファイルシステム制御部３１からの指示に基づいて、ファイルシステムの複製を示すファイルシステム複製情報を取得する。後述するように、本実施形態においては、レプリケーションされたレプリカボリュームも過去のバージョンとして提供することが出来る。
【００３３】
ファイルシステム３１３は、ディスク装置などの記憶装置である。上述したように、ファイルシステム３１３―１は、ＣＩＦＳクライアント１からの指示に応じて、データの書き込みや読み出しが行われることになる。また、ファイルシステム３１３−２、３１３−３には、ファイルシステム３１３−１から取得したスナップショットやファイルシステム３１３−１が記憶するデータの複製が格納されることになる。なお、ファイルシステム３１３は、一つのディスク装置から構成されていても構わないし、複数のディスク装置から構成されていても構わない。
【００３４】
ＣＩＦＳサーバ制御部３２は、ＣＩＦＳクライアント１が送信した処理要求を受信する。そして、ＣＩＦＳサーバ制御部３２は、受信した処理要求を、当該処理要求の内容に応じて、ファイルシステム制御部３１などに送信する。
【００３５】
また、ＣＩＦＳサーバ制御部３２は、ファイルシステム制御部３１からデータ（ファイルの情報、ファイルのデータ）を受信する。また、ＣＩＦＳサーバ制御部３２は、パス名変更部３２１から後述するシャドウコピー一覧情報（「以前のバージョン名」一覧）を受信する。そして、ＣＩＦＳサーバ制御部３２は、受信したデータやシャドウコピー一覧情報をＣＩＦＳクライアント１に返却する。
【００３６】
図３を参照すると、ＣＩＦＳサーバ制御部３２は、パス名変更部３２１とアクセスパス変更部３２とを有している。
【００３７】
パス名変更部３２１は、ＣＩＦＳサーバ制御部３２から「シャドウコピー一覧の取得」（識別情報一覧送信要求、識別情報送信要求）の処理要求を受信する。すると、パス名変更部３２１は、ファイルシステム制御部３１に対して各ファイルシステム３１３のスナップショット世代一覧情報を送信するよう指示する。そして、パス名変更部３２１は、ファイルシステム制御部３１から各ファイルシステム３１３のスナップショット世代一覧情報を受信する。ここで、スナップショット世代一覧情報は、上記のようにファイルシステム３１３が記憶するスナップショットの各世代の一覧を示す情報であり、各世代のスナップショットのパス名（識別情報）を含んで構成されている。そこで、パス名変更部３２１は、受信したスナップショット世代一覧情報に含まれるスナップショットのパス名を、シャドウコピー機能で使用する「以前のバージョン名」の形式に変更する。パス名変更部３２１は、上記のような変更処理を各ファイルシステム３１３のスナップショット世代一覧情報に対して行うことになる。
【００３８】
具体的には、図４を参照すると、スナップショット世代一覧情報には、格納されているファイルシステムに応じた識別情報である、各世代のスナップショットのパス名（例えば、20141224などの８ケタの年月日で表されている）が含まれている。そこで、パス名変更部３２１は、上記各世代のスナップショットのパス名を、シャドウコピー形式（「@GMT-YYYY.MM.DD-hh.mm.ss」の形式。例えば、「@GMT-2014.12.24-00.00.00」）に変更する。つまり、パス名変更部３２１は、スナップショット世代一覧情報に含まれる所定の情報である各世代のスナップショットのパス名を、グリニッジ標準時を用いて作成日時を表す形式であるシャドウコピー形式（予め設定された形式）に変更する。
【００３９】
そして、パス名変更部３２１は、パス名を変更後のスナップショット世代一覧情報の集まりを、例えば作成日時の新しい順に並び替えた後に、シャドウコピー一覧情報（「以前のバージョン名」一覧）としてＣＩＦＳサーバ制御部３２に返却する。なお、上記20141224で表されるパス名を有するスナップショットのパスは、例えば、「/export/.Snap/20141224」と表されることになる。スナップショット世代一覧情報は、スナップショットのパスを含んでいても構わない。
【００４０】
なお、レプリケーション制御部３１２が複製したレプリカデータは、過去のバージョンのデータとしてみなすことが出来る。従って、スナップショット世代一覧情報には、レプリケーション制御部３１２が複製したレプリカデータについての情報も含まれていることが出来る。パス名変更部３２１は、スナップショット世代一覧情報に含まれるレプリカデータのパス名も、上記と同様にシャドウコピー形式に変更するよう構成することが出来る。
【００４１】
アクセスパス変更部３２２は、ＣＩＦＳサーバ制御部３２から「シャドウコピーからの過去のバージョンファイルの読み出し」（ファイルシステム複製情報送信要求）の処理要求を受信する。すると、アクセスパス変更部３２２は、受信した処理要求に含まれる過去バージョンファイルのパスをスナップショットのパスに変更する。この処理は、例えば、受信した処理要求に含まれるシャドウコピー形式のパス名をスナップショットのパス名に変更し、変更したパス名に基づいてファイルシステム制御部３１からアクセスパスを取得することで行われる。
【００４２】
具体的には、例えば、アクセスパス変更部３２２は、上記説明したパス変更部３２１の処理と同様の処理により、スナップショット世代一覧情報を取得してスナップショットのパス名を「以前のバージョン名」の形式に変更する。続いて、アクセスパス変更部３２２は、変更したパス名とＣＩＦＳクライアント１から受信した処理要求に含まれるシャドウコピー形式のパス名とが一致するか否か判定する。そして、上記パス名が一致した場合に、処理要求に含まれるシャドウコピー形式のパス名を「以前のバージョン名」の形式に変更前のスナップショットのパス名に変更する。アクセスパス変更部３２２は、例えばこのような処理により、受信した処理要求に含まれるシャドウコピー形式のパス名をスナップショットのパス名に変更する。その後、アクセスパス変更部３２２は、変更したパス名に基づいてファイルシステム制御部３１からアクセスパスを取得する。そして、アクセスパス変更部３２２は、変更したスナップショットのアクセスパスをファイルシステム制御部３１に送信する。これにより、ファイルシステム制御部３１は、上述したファイルシステム３１３−２、３１３−３から該当するデータ（ファイルの情報、ファイルのデータ）の読み出しを行うことになる。なお、アクセスパス変更部３２２は、スナップショットのパス名をファイルシステム制御部３１に送信するように構成しても構わない。
【００４３】
以上が、ファイル記憶システム４の各構成についての説明である。なお、例えば、パス名変更部３２１がパス名を変更する際に変更前後のパス名を対応付けて記憶しておき、アクセスパス変更部３２２が上記対応付けられた情報に基づいてパスの変更を行うよう構成しても構わない。このように、パス名変更部３２１やアクセスパス変更部３２２により行われる処理の詳細は、上記説明した場合に限定されない。
【００４４】
次に、上記各構成により行われる各種処理要求に応じた処理の概要について説明する。まず、ＣＩＦＳクライアント１が「ファイルの読み出し」、「ファイルの書き込み」の処理要求を送信する場合について説明する。
【００４５】
この場合、ＣＩＦＳクライアント１の処理要求送信部１１は、ＣＩＦＳプロトコルに則って、「ファイルの読み出し」、「ファイルの書き込み」の処理要求をＮＡＳ３に対して送信する。
【００４６】
続いて、上記ＣＩＦＳクライアント１が送信した処理要求をＮＡＳ３のＣＩＦＳサーバ制御部３２が受信する。そして、ＣＩＦＳサーバ制御部３２は、当該受信した処理要求が「ファイルの読み出し」、「ファイルの書き込み」を要求していると判断する。そこで、ＣＩＦＳサーバ制御部３２は、受信した処理要求をファイルシステム制御部３１に渡す。
【００４７】
上記処理要求を渡されたファイルシステム制御部３１は、当該処理要求に応じて、ファイルシステム３１３−１にデータを書き込み、又は、ファイルシステム３１３−１からデータを読み出す。そして、ファイルシステム制御部３１は、データの書き込み、読み出し結果をＣＩＦＳサーバ制御部３２に返却する。
【００４８】
その後、ＣＩＦＳサーバ制御部３２は、ファイルシステム制御部３１から受け取った処理結果をＣＩＦＳクライアント１に返却する。
【００４９】
以上が、ＣＩＦＳクライアント１が「ファイルの読み出し」、「ファイルの書き込み」の処理要求を送信する場合に行われる処理の概要である。続いて、ＣＩＦＳクライアント１が「シャドウコピー一覧の取得」の処理要求を送信する場合について説明する。
【００５０】
この場合、ＣＩＦＳクライアント１の処理要求送信部１１は、ＣＩＦＳプロトコルに則って、「シャドウコピー一覧の取得」の処理要求をＮＡＳ３に対して送信する。
【００５１】
続いて、上記ＣＩＦＳクライアント１が送信した処理要求をＮＡＳ３のＣＩＦＳサーバ制御部３２が受信する。そして、ＣＩＦＳサーバ制御部３２は、当該受信した処理要求が「シャドウコピー一覧の取得」を要求していると判断する。そこで、ＣＩＦＳサーバ制御部３２は、受信した処理要求をパス名変更部３２１に渡す。
【００５２】
上記処理要求を渡されたパス名変更部３２１は、ファイルシステム制御部３１に対してスナップショット世代一覧情報を送信するよう指示する。そして、パス名変更部３２１は、ファイルシステム制御部３１からスナップショット世代一覧情報を受信する。その後、パス名変更部３２１は、受信したスナップショット世代一覧情報に含まれる各世代のスナップショットのパス名をそれぞれシャドウコピー機能で使用する「以前のバージョン名」の形式に変更する。そして、パス名変更部３２１は、変更後のスナップショット世代一覧情報をシャドウコピー一覧情報（「以前のバージョン」名一覧）としてＣＩＦＳサーバ制御部３２に返却する。
【００５３】
その後、ＣＩＦＳサーバ制御部３２は、パス名変更部３２１から受け取った処理結果（シャドウコピー一覧情報）をＣＩＦＳクライアント１に返却する。
【００５４】
以上が、ＣＩＦＳクライアント１が「シャドウコピー一覧の取得」の処理要求を送信する場合に行われる処理の概要である。続いて、ＣＩＦＳクライアント１が「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求を送信する場合について説明する。
【００５５】
この場合、ＣＩＦＳクライアント１の処理要求送信部１１は、ＣＩＦＳプロトコルに則って、「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求をＮＡＳ３に対して送信する。
【００５６】
続いて、上記ＣＩＦＳクライアント１が送信した処理要求をＮＡＳ３のＣＩＦＳサーバ制御部３２が受信する。そして、ＣＩＦＳサーバ制御部３２は、当該受信した処理要求が「シャドウコピーからの過去バージョンファイルの読み出し」を要求していると判断する。そこで、ＣＩＦＳサーバ制御部３２は、受信した処理要求をアクセスパス変更部３２２に渡す。
【００５７】
上記処理要求を渡されたアクセスパス変更部３２２は、受け取った処理要求に含まれるシャドウコピー形式のパス名をスナップショットのパス名に変更する。この処理は、例えば、スナップショットのパス名をシャドウコピー形式に変更したものとＣＩＦＳクライアント１から受信した処理要求に含まれるパス名とが一致するか否か判定して、当該判定結果に基づいてパス名を変更すること行われる。その後、アクセスパス変更部３２２は、変更したパス名に基づいてパスを取得する。そして、アクセスパス変更部３２２は、変更したスナップショットのパスをファイルシステム制御部３１に送信する。
【００５８】
ファイルシステム制御部３１は、アクセスパス変更部３２２から受信したスナップショットのパスに基づいて、ファイルシステム３１３−２、３１３−３のいずれかから該当するデータ（ファイルの情報、ファイルのデータ）の読み出しを行う。そして、ファイルシステム制御部３１は、データの読み出し結果をＣＩＦＳサーバ制御部３２に返却する。
【００５９】
その後、ＣＩＦＳサーバ制御部３２は、ファイルシステム制御部３１から受け取った処理結果をＣＩＦＳクライアント１に返却する。
【００６０】
以上が、ＣＩＦＳクライアント１が「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求を送信する場合に行われる処理の概要である。
【００６１】
続いて、図５乃至図８を参照して、「以前のバージョン」ファイルの復元を行う際のファイル記憶システム４の動作について詳細に説明する。
【００６２】
なお、以下説明するファイル記憶システム４の動作では、スナップショット取得部３１１により、ファイルシステム３１３−１についてのスナップショットが複数世代分既に取得されていることを前提とするものとする。また、レプリケーション制御部３１２により、ファイルシステム３１３−１の複製がファイルシステム３１３−２、３１３−３に記憶されていても構わない。
【００６３】
まず図５を参照して、ＣＩＦＳクライアント１でファイルのプロパティから「以前のバージョン」タブを表示する際のファイル記憶システム４の動作の一例について説明する。
【００６４】
図５を参照すると、ユーザ又はアプリケーションがファイルのプロパティから「以前のバージョン」タブをクリックすると、ＣＩＦＳクライアント１の処理要求送信部１１は、ＮＡＳ３に対して「シャドウコピー一覧の取得」の処理要求を送信する（ステップＳ１０１）。
【００６５】
ＮＡＳ３は、ＣＩＦＳクライアント１が送信した「シャドウコピー一覧の取得」の処理要求を受信する。そして、ＮＡＳ３は、当該受信した処理要求に応じた処理を行った上で、「以前のバージョン名」一覧（シャドウコピー一覧情報）をＣＩＦＳクライアント１に返却する（ステップＳ２０１）。なお、ステップＳ２０１の動作の詳細については後述する。
【００６６】
ＣＩＦＳクライアント１は、ＮＡＳ３から返却された「以前のバージョン名」一覧からシャドウコピー上のファイルパスを作成する（ステップＳ１０２）。続いて、ＣＩＦＳクライアント１の処理要求送信部１１は、「以前のバージョン名」一覧で示されたファイルの情報の取得を要求する「シャドウコピーからの過去バージョンファイルの読み出し（ファイルの情報の取得）」の処理要求をＮＡＳ３に対して送信する（ステップＳ１０３）。
【００６７】
ＮＡＳ３は、ＣＩＦＳクライアント１が送信した「シャドウコピーからの過去バージョンファイルの読み出し（ファイルの情報の取得）」の処理要求を受信する。そして、ＮＡＳ３は、当該受信した処理要求に応じた処理を行った上で、当該処理要求に応じたデータ（ファイルの情報）を返却する（ステップＳ２０２）。なお、ステップＳ２０２の動作の詳細については後述する。
【００６８】
ＣＩＦＳクライアント１は、ＮＡＳ３が送信したデータ（ファイルの情報）を受信する。そして、ＣＩＦＳクライアント１は、当該受信したファイルの情報を用いて、ユーザ又はアプリケーションに向けて「以前のバージョン」画面にバージョン一覧を表示する（ステップＳ１０４）。
【００６９】
以上が、ＣＩＦＳクライアント１がファイルのプロパティから「以前のバージョン」タブを表示する際のファイル記憶システム４の動作の一例である。続いて、「以前のバージョン」タブを開いた状態からファイルの過去のバージョンを復元する際の動作の一例について図６を参照して説明する。
【００７０】
図６を参照すると、ユーザ又はアプリケーションが「以前のバージョン」タブから復元したいバージョンを選択してクリックすると、ＣＩＦＳクライアント１は、該当する以前のバージョンファイルをファイルオープンする（ステップＳ１１１）。そして、ＣＩＦＳクライアント１の処理要求送信部１１は、該当する「以前のバージョン」ファイルの情報の取得を要求する「シャドウコピーからの過去バージョンファイルの読み出し（ファイルの情報の取得）」の処理要求をＮＡＳ３に対して送信する（ステップＳ１１２）。
【００７１】
ＮＡＳ３は、ＣＩＦＳクライアント１が送信した「シャドウコピーからの過去バージョンファイルの読み出し（ファイルの情報の取得）」の処理要求を受信する。そして、ＮＡＳ３は、当該受信した処理要求に応じた処理を行った上で、当該処理要求に応じたデータ（ファイルの情報）を返却する（ステップＳ２１１）。なお、ステップＳ２１１の動作の詳細については後述する。
【００７２】
ＣＩＦＳクライアント１は、ＮＡＳ３から処理要求に応じたデータ（ファイルの情報）を取得する。また、ＣＩＦＳクライアント１は、復元先のファイルをファイルオープンする（ステップＳ１１３）。続いて、ＣＩＦＳクライアント１は、復元先のファイルのＥＯＦ（End Of File）をセットする（ステップＳ１１４）。そして、ＣＩＦＳクライアント１は、該当する以前のバージョンファイルのデータの取得を要求する「シャドウコピーからの過去バージョンファイルの読み出し（ファイルのデータの取得）」の処理要求をＮＡＳ３に対して送信する（ステップＳ１１５）。
【００７３】
ＮＡＳ３は、ＣＩＦＳクライアント１が送信した「シャドウコピーからの過去バージョンファイルの読み出し（ファイルのデータの取得）」の処理要求を受信する。そして、ＮＡＳ３は、当該受信した処理要求に応じた処理を行った上で、当該処理要求に応じたデータ（ファイルのデータ）を返却する（ステップＳ２１２）。なお、ステップＳ２１２の動作の詳細については後述する。
【００７４】
ＣＩＦＳクライアント１は、ＮＡＳ３から処理要求に応じたデータ（ファイルのデータ）を取得する。そして、ＣＩＦＳクライアント１は、ＮＡＳ３から処理要求に応じたデータ（ファイルのデータ）が返却されたことを確認して、当該取得した（返却された）ファイルのデータを復元先のファイルに書き込む（ステップＳ１１６）。続いて、ＣＩＦＳクライアント１は、復元先のファイルのタイムスタンプを変更する（ステップＳ１１７）。そして、ＣＩＦＳクライアント１は、復元先のファイルをファイルクローズする（ステップＳ１１８）。その後、ＣＩＦＳクライアント１は、復元元である以前のバージョンファイルをファイルクローズする（ステップＳ１１９）。
【００７５】
以上が、「以前のバージョン」を開いた状態からファイルの過去のバージョンを復元する際の動作の一例である。次に、図７を参照して、ＣＩＦＳクライアント１が送信した「シャドウコピー一覧の取得」の処理要求をＮＡＳ３が受信して、「以前のバージョン名」一覧をＣＩＦＳクライアント１に返却する（ステップＳ２０１）際の動作の一例について説明する。
【００７６】
図５のステップＳ１０１の処理でＣＩＦＳクライアント１が送信した「シャドウコピー一覧の取得」の処理要求は、ＮＡＳ３のＣＩＦＳサーバ制御部３２が受信する。そして、ＣＩＦＳサーバ制御部３２は、受信した処理要求を確認して当該処理要求が「シャドウコピー一覧の取得」を要求していると判断する。そこで、ＣＩＦＳサーバ制御部３２は、受信した処理要求をパス名変更部３２１に渡す。
【００７７】
図７を参照すると、上記処理要求を渡されたパス名変更部３２１は、ファイルシステム制御部３１に対して各ファイルシステム３１３のスナップショット世代一覧情報を送信するよう指示する。そして、パス名変更部３２１は、ファイルシステム制御部３１からスナップショット世代一覧情報を取得する（ステップＳ３０１）。
【００７８】
次に、パス名変更部３２１は、取得したスナップショット世代一覧情報に含まれる複数の世代のスナップショットのうちの任意の１つの世代のスナップショットの情報を取得する（ステップＳ３０２）。なお、世代が有効でなかった場合やコマンドが失敗した場合（ステップＳ３０３、ｎｏ）、パス名変更部３２１は、当該世代に対する処理をスキップして、新たな世代のスナップショットの情報の取得を試みることになる（ステップＳ３０２）。
【００７９】
情報の取得に成功した場合（ステップＳ３０３、ｙｅｓ）、パス名変更部３２１は、当該スナップショットの情報に含まれるパス名をシャドウコピー機能で使用する「以前のバージョン名」の形式に変更する（ステップＳ３０４）。例えば、パス名変更部３２１は、スナップショットのパス名が「20141224」である場合、当該パス名を「以前のバージョン」の形式である「@GMT-2014.12.24-00.00.00」に変更する。なお、変更に失敗した場合（ステップＳ３０５、ｎｏ）、パス名変更部３２１は、当該世代に対する処理をスキップして、新たな世代のスナップショットの情報の取得を試みることになる（ステップＳ３０２）。
【００８０】
パス名の変更が成功した場合（ステップＳ３０５、ｙｅｓ）、パス名変更部３２１は、世代のカウンタを１増加させる（インクリメントする）（ステップＳ３０６）。その後、パス名変更部３２１は、次の世代がある場合（ステップＳ３０７、ｙｅｓ）は、新たな世代のスナップショットの情報の取得を試みることになる（ステップＳ３０２）。
【００８１】
一方、次の世代が無い場合（つまり、上記処理を各スナップショット世代一覧情報に含まれる全ての世代に対して行った場合）（ステップＳ３０７、ｎｏ）、パス名変更部３２１は、各世代のスナップショットのパス名を変更して取得した「以前のバージョン」名の集まりを作成日時の新しい順に並び替える（ステップＳ３０８）。そして、パス名変更部３２１は、並び替えた「以前のバージョン名」一覧をＣＩＦＳサーバ制御部３２に返却する。その後、ＣＩＦＳサーバ制御部３２は、パス名変更部３２１から受け取った処理結果（「以前のバージョン名」一覧）をＣＩＦＳクライアント１に返却する（ステップＳ３０９）。
【００８２】
以上が、ＣＩＦＳクライアント１が送信した「シャドウコピー一覧の取得」の処理要求をＮＡＳ３が受信して、「以前のバージョン名」一覧をＣＩＦＳクライアント１に返却する（ステップＳ２０１）際の動作の一例である。次に、図８を参照して、ＣＩＦＳクライアント１からの「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求に応じてＮＡＳ３がデータ（ファイルの情報、ファイルのデータ）を返却する際の動作の一例について説明する。なお、図５のステップＳ２０２の処理と図６のステップＳ２１１の処理とステップＳ２１２の処理とでは、同様の動作となる。そのため、上記動作の詳細について、図８を参照して一度に説明する。
【００８３】
図５のステップＳ１０３などの処理でＣＩＦＳクライアント１が送信した「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求は、ＮＡＳ３のＣＩＦＳサーバ制御部３２が受信する。そして、ＣＩＦＳサーバ制御部３２は、当該受信した処理要求が「シャドウコピーからの過去バージョンファイルの読み出し」を要求していると判断する。そこで、ＣＩＦＳサーバ制御部３２は、受信した処理要求をアクセスパス変更部３２２に渡すとともに、受信した処理要求に含まれる「以前のバージョン名」（シャドウコピー形式のパス名）を含むアクセスパスを記憶装置などに記憶しておく（ステップＳ４０１）。なお、この記憶処理はアクセスパス変更部３２２が行っても構わない。
【００８４】
図８を参照すると、上記処理要求を渡されたアクセスパス変更部３２２は、ファイルシステム制御部３１に対して各ファイルシステム３１３のスナップショット世代一覧情報を送信するよう指示する。そして、アクセスパス変更部３２２は、ファイルシステム制御部３１からスナップショット世代一覧情報を取得する（ステップＳ４０２）。
【００８５】
アクセスパス変更部３２２は、上記取得したスナップショット世代一覧情報に、後述するパス名の一致のチェックを行っていない世代が含まれる場合（ステップＳ４０３、ｙｅｓ）、任意の１つの世代のスナップショットの情報を取得する（ステップＳ４０４）。なお、世代が有効でなかった場合やコマンドが失敗した場合（ステップＳ４０５、ｎｏ）、アクセスパス変更部３２２は、当該世代に対する処理をスキップして、新たな世代のスナップショットの情報の取得を試みることになる（ステップＳ４０３、４０４）。
【００８６】
情報の取得に成功した場合（ステップＳ４０５、ｙｅｓ）、アクセスパス変更部３２２は、当該スナップショットの情報に含まれるパス名をシャドウコピー機能で使用する「以前のバージョン名」の形式に変更する（ステップＳ４０６）。例えば、アクセスパス変更部３２２は、スナップショットのパス名が「20141224」である場合、当該パス名を「以前のバージョン」の形式である「@GMT-2014.12.24-00.00.00」に変更する。なお、変更が失敗した場合（ステップＳ４０７、ｎｏ）、アクセスパス変更部３２２は、当該世代に対する処理をスキップして、新たな世代のスナップショットの情報の取得を試みることになる（ステップＳ４０３、４０４）。
【００８７】
パス名の変更が成功した場合（ステップＳ４０７、ｙｅｓ）、アクセスパス変更部３２２は、変更したパス名と、受け取った処理要求に含まれるパス名とが一致するか否かを判定する（ステップＳ４０８）。変更したパス名と受け取った処理要求に含まれるパス名とが一致しなかった場合（ステップＳ４０８、ｎｏ）、パス名変更部３２１は、新たな世代のスナップショットの情報の取得を試みることになる（ステップＳ４０３、４０４）。
【００８８】
一方、変更したパス名と「以前のバージョン名」とが一致する場合（ステップＳ４０８、ｙｅｓ）、アクセスパス変更部３２２は、処理要求に含まれるシャドウコピー形式のパス名を「以前のバージョン名」の形式に変更前のスナップショットのパス名に変更する。そして、アクセスパス変更部３２２は、当該変更したパス名に基づいて、スナップショットのアクセスパスを取得する。つまり、アクセスパス変更部３２２は、受け取った過去バージョンファイルのパスをスナップショットのパスに変更する（ステップＳ４０９）。なお、変更に失敗した場合（ステップＳ４１０、ｎｏ）、アクセスパス変更部３２２は、ステップＳ４０１の処理で記憶したパスを引数にして処理を終了する。その後、ＣＩＦＳサーバ制御部３２は、ＣＩＦＳクライアント１に対してエラーを返却することになる（ステップＳ４１４）。
【００８９】
パスの変更が成功した場合（ステップＳ４１０、ｙｅｓ）、アクセスパス変更部３２２は、当該変更したスナップショットのパスをファイルシステム制御部３１に送信する。そして、ファイルシステム制御部３１は、変更後のパスでファイルシステム３１３−２、３１３−３から該当するデータ（ファイルの情報、ファイルのデータ）を取得する（ステップＳ４１１）。
【００９０】
ファイルシステム３１３−２、３１３−３から該当するデータを取得すると、ファイルシステム制御部３１は、当該取得したデータをＣＩＦＳサーバ制御部３２に返却する。その後、ＣＩＦＳサーバ制御部３２は、受信したデータをＣＩＦＳクライアント１に返却する（ステップＳ４１２）。
【００９１】
なお、ステップＳ４０３の処理で取得した各ファイルシステム３１３のスナップショット世代一覧情報にパス名の一致のチェックを行っていない世代が含まれない場合（ステップＳ４０３、ｎｏ）が考えられる。この場合、アクセスパス変更部３２２は、ＣＩＦＳクライアント１が送信した「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求に他の「以前のバージョン名」が含まれているか否かを調べる（ステップＳ４１３）。そして、他の「以前のバージョン名」が含まれる場合（ステップＳ４１３、ｙｅｓ）、アクセスパス変更部３２２は、当該他の「以前のバージョン名」を用いて、パス名の一致のチェックを再開する（ステップＳ４０３、４０４）。一方、他の「以前のバージョン名」が含まれない場合（ステップＳ４１３，ｎｏ）、アクセスパス変更部３２２は、その旨をＣＩＦＳサーバ制御部３２に通知する。その後、ＣＩＦＳサーバ制御部３２は、ＣＩＦＳクライアント１に対してエラーを返却することになる（ステップＳ４１４）。
【００９２】
以上が、ＣＩＦＳクライアント１からの「シャドウコピーからの過去バージョンファイルの読み出し」の処理要求に応じてＮＡＳ３がデータ（ファイルの情報、ファイルのデータ）を返却する際の動作の一例である。
【００９３】
このように、本実施形態におけるファイル記憶システム４は、複数のファイルシステム３１３を有するＮＡＳ３を有している。このような構成により、ＮＡＳ３は、複数のファイルシステム３１３に分散してスナップショットを記憶しておくことが出来る。また、ＮＡＳ３は、パス名変更部３２１と、アクセスパス変更部３２２と、を有している。このような構成により、ＮＡＳ３は、スナップショット世代一覧情報に含まれるパス名をシャドウコピー形式に変更した上で当該変更後のスナップショット世代一覧情報（つまり、「以前のバージョン」名一覧）をＣＩＦＳクライアント１に返却することが出来る。また、ＮＡＳ３は、ＣＩＦＳクライアント１からの処理要求に含まれるパスをスナップショットのパスに変更して、必要なデータを取得することが出来る。これにより、ＮＡＳ３は、複数のファイルシステム３１３にまたがるスナップショットへのアクセスを隠ぺいしつつ、必要な情報をＣＩＦＳクライアント１に返却することが出来る。その結果、シャドウコピーにおいて、一度に過去のバージョンのデータの全てにアクセスすることが難しくなってしまうおそれや負荷が集中するおそれを低減することが可能となる。また、上記効果をユーザになじみのあるインタフェースのままで実現することが出来る。
【００９４】
なお、本実施形態においては、ファイル記憶システム４が１つのＮＡＳ３を有する場合について説明した。しかしながら、ファイル記憶システム４が有するＮＡＳ３の数は１つに限定されない。本実施形態は、スナップショットの世代を複数のＮＡＳ３にまたがって持つ構成においても実現可能である。このようにファイル記憶システム４が複数のＮＡＳ３を有することで、１台のＮＡＳ３の障害に対しての障害耐性の向上、および、負荷の分散を行うことが可能となる。
【００９５】
また、本実施形態においては、ＮＡＳ３は３つのファイルシステム３１３を有するとした（図３参照）。しかしながら、ＮＡＳ３が有するファイルシステム３１３の数は、３つに限定されない。例えば、ＮＡＳ３は、４つ以上のファイルシステム３１３を有していても構わない。
【００９６】
また、本実施形態においては「以前のバージョン」の復元を行う場合について説明したが、ファイル記憶システム４は、「以前のバージョン」のファイルを開く場合やコピーする処理も同様の処理により実行可能である。
【００９７】
また、本実施形態においては、スナップショット取得部３１１は、取得したスナップショットを当該スナップショットの取得元であるファイルシステム３１３−１とは別のファイルシステム（ファイルシステム３１３−２、３１３−３）の何れかに格納するとした。しかしながら、スナップショット取得部３１１は、取得したスナップショットを当該スナップショットの取得元であるファイルシステム３１３−１を含むファイルシステム３１３のいずれかに格納するよう構成しても構わない。
【００９８】
［第２の実施形態］
本発明の第２の実施形態では、ユーザからの要求に応じてファイルシステム複製情報の識別情報を返却する際に、当該識別情報を予め設定された形式に変更して当該変更後の識別情報をユーザに返却するファイル記憶装置５について説明する。
【００９９】
図９を参照すると、ファイル記憶装置５は、ファイルシステム複製情報取得手段５１と、ユーザ要求処理手段５２と、複数のファイルシステム５３−１、５３−２、…（以下、特に区別しない場合はファイルシステム５３とする）と、を有している。
【０１００】
ファイルシステム複製情報取得手段５１は、ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得する。そして、ファイルシステム複製情報取得手段５１は、取得したファイルシステム複製情報を複数のファイルシステムのうちのいずれかに格納する。
【０１０１】
ユーザ要求処理手段５２は、ユーザからの要求に応じて所定の情報を返却する。例えば、ユーザ要求処理手段５２は、ユーザから送信された、ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求を受信する。すると、ユーザ要求処理手段５２は、当該受信した識別情報送信要求に応じて、ファイルシステム複製情報の識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する。このように、ユーザ要求処理手段５２は、ユーザからの要求に応じて、予め設定された形式に変更した識別情報をユーザに送信する。
【０１０２】
このように、本実施形態におけるファイル記憶装置５は、ファイルシステム複製情報取得手段５１と、ユーザ要求処理手段５２と、複数のファイルシステム５３と、を有している。このような構成により、ファイルシステム複製情報取得手段５１は、取得したファイルシステム複製情報を複数のファイルシステム５３のうちのいずれかに格納することが出来る。また、ユーザ要求処理手段５２は、ユーザからの要求に応じて、予め設定された形式に変更した識別情報をユーザに送信することが出来る。その結果、例えば、ファイルシステム複製情報取得手段５１がファイルシステム複製情報を取得してファイルシステム５３に格納する際に、ファイルシステム５３ごとの識別情報が与えられていた場合などにおいても、ユーザ要求処理手段５２は、ユーザの要求に応じた形で識別情報を返却することが出来る。これにより、ユーザに不都合を与えることなくスナップショットを分散することが可能となり、一度に過去のバージョンのデータの全てにアクセスすることが難しくなってしまうおそれや負荷が集中するおそれを低減することが可能となる。
【０１０３】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるファイル記憶装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【０１０４】
（付記１）
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
複数のファイルシステムと、
を有し、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納するよう構成され、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
ファイル記憶装置。
【０１０５】
（付記２）
付記１に記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記ユーザから送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報が格納されているファイルシステムに応じた前記識別情報である前記ファイルシステム複製情報のパス名を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
ファイル記憶装置。
【０１０６】
（付記３）
付記１又は２に記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記ユーザから送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報が格納されているファイルシステムに応じた前記識別情報である前記ファイルシステム複製情報のパス名を、予め設定された形式であり作成日時を含む形式であるシャドウコピー形式に変更して、当該シャドウコピー形式に変更後のパス名を前記ユーザに返却する
ファイル記憶装置。
【０１０７】
（付記４）
付記１乃至３の何れかに記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記識別情報送信要求として、前記複数のファイルシステムのそれぞれが記憶する前記ファイルシステム複製情報に応じた前記識別情報の一覧を要求する識別情報一覧送信要求を取得し、当該取得した識別情報一覧送信要求に応じて、前記複数のファイルシステムのそれぞれが記憶する前記ファイルシステム複製情報の前記識別情報をそれぞれ予め設定された形式に変更して当該変更後の識別情報の一覧を前記ユーザに返却する
ファイル記憶装置。
【０１０８】
（付記５）
付記１乃至４のいずれかに記載のファイル記憶装置であって、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を要求するファイルシステム複製情報送信要求に応じて、当該ファイルシステム複製情報送信要求に含まれる前記変更後の識別情報を変更前の識別情報に変更し、当該変更した識別情報に基づいて前記ファイルシステムから前記ファイルシステム複製情報を取得し、当該取得したファイルシステム複製情報を前記ユーザに返却する
ファイル記憶装置。
【０１０９】
（付記６）
付記１乃至５のいずれかに記載のファイル記憶装置であって、
前記ファイルシステム複製情報取得手段は、前記ファイルシステム複製情報として、ファイルシステムのイメージを示すスナップショット、又は、ファイルシステムが記憶するデータの複製であるレプリカデータ、の少なくとも一方を取得する
ファイル記憶装置。
【０１１０】
（付記７）
付記１乃至６のいずれかに記載のファイル記憶装置であって、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を、前記複数のファイルシステムのうちの当該ファイルシステム複製情報の取得元のファイルシステムとは別のファイルシステムの何れかに格納する
ファイル記憶装置。
【０１１１】
（付記８）
複数のファイルシステムを有するファイル記憶装置にて、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するとともに、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納し、
ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
情報処理方法。
【０１１２】
（付記９）
複数のファイルシステムを有する情報記憶装置に、
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
を実現させ、
前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納し、
前記ユーザ要求処理手段は、前記ユーザから送信された、前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記ユーザに返却する
プログラム。
【０１１３】
（付記１０）
ある時点におけるファイルシステムの複製を示すファイルシステム複製情報を取得するファイルシステム複製情報取得手段と、
ユーザからの要求に応じて所定の情報を返却するユーザ要求処理手段と、
複数のファイルシステムと、
を有するファイル記憶装置と、
前記ファイルシステム複製情報を識別するための識別情報を要求する識別情報送信要求を前記ファイル記憶装置に対して送信する処理要求送信部、
を有するクライアント装置と、
を有し、
前記ファイル記憶装置の前記ファイルシステム複製情報取得手段は、取得した前記ファイルシステム複製情報を前記複数のファイルシステムのうちのいずれかに格納するよう構成され、
前記ファイル記憶装置の前記ユーザ要求処理手段は、前記クライアント装置から送信された前記識別情報送信要求に応じて、前記ファイルシステム複製情報の前記識別情報を予め設定された形式に変更して当該変更後の識別情報を前記クライアント装置に返却する
ファイル記憶システム。
【０１１４】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０１１５】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【０１１６】
１  ＣＩＦＳクライアント
１１  処理要求送信部
２  ネットワーク
３  ＮＡＳ
３１  ファイルシステム制御部
３１１  スナップショット取得部
３１２  レプリケーション制御部
３１３  ファイルシステム
３２  ＣＩＦＳサーバ制御部
３２１  パス名変更部
３２２  アクセスパス変更部
４  ファイル記憶システム
５  ファイル記憶装置
５１  ファイルシステム複製情報取得手段
５２  ユーザ要求処理手段
５３  ファイルシステム
【図１】
2017068729.tif 000003
【図２】
2017068729.tif 000004
【図３】
2017068729.tif 000005
【図４】
2017068729.tif 000006
【図５】
2017068729.tif 000007
【図６】
2017068729.tif 000008
【図７】
2017068729.tif 000009
【図８】
2017068729.tif 000010
【図９】
2017068729.tif 000011