(57)【要約】【課題】スナップショット機能の提供に用いる差分ボリュームを個々のデータの重要度等に応じて適切に管理し記憶領域の有効利用を図る。【解決手段】クライアント装置３０からの要求に応じてＰ−ＶＯＬへのデータＩ／Ｏ処理を行い、クライアント装置３０からファイル単位でデータの書き込み要求又は読み出し要求を受け付けるファイルシステム２１２を備えるサーバ装置に、Ｐ−ＶＯＬ７１のデータが更新されることにより生じた差分データをＤ−ＶＯＬ７２に格納し、取得した差分データが格納されるＤ−ＶＯＬ７２のブロックアドレスが登録されるスナップショット管理テーブルを管理し、Ｄ−ＶＯＬ７２の記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された特定のファイルについての差分データが格納されていたＤ−ＶＯＬのブロックを新たに取得されるデータの格納領域として利用できるようにする。【選択図】図２
2010092177.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からの要求に応じて第１の論理ボリュームであるＰ−ＶＯＬへのデータＩ／Ｏ処理を行い、
外部装置からファイル単位でデータの書き込み要求又は読み出し要求を受け付けるファイルシステムを備える情報処理装置であって、
ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを第２の論理ボリュームであるＤ−ＶＯＬに格納し、前記Ｐ−ＶＯＬの第１の記憶領域を特定する第１のブロックアドレスに対応づけて、前記第１のブロックアドレスについて取得した前記差分データが格納される前記Ｄ−ＶＯＬの第２の記憶領域を特定する第２のブロックアドレスが登録されるスナップショット管理テーブルを管理するスナップショット処理部を備え、
前記スナップショット処理部は、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにすること
を特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記スナップショット処理部は、前記Ｄ−ＶＯＬの記憶領域の残容量が閾値以下となった場合に、前記特定のファイルについての予め設定された特定世代についての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにすること
を特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記スナップショット処理部は、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された回数までは論理ユニットを追加することにより前記Ｄ−ＶＯＬの記憶領域を拡張し、
前記回数を超えて前記残容量が前記閾値以下になった場合には、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにすること
を特徴とする情報処理装置。
【請求項４】
外部装置からの要求に応じて第１の論理ボリュームであるＰ−ＶＯＬへのデータＩ／Ｏ処理を行い、
外部装置からファイル単位でデータの書き込み要求又は読み出し要求を受け付けるファイルシステムを備える情報処理装置であって、
ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを第２の論理ボリュームであるＤ−ＶＯＬに格納し、前記Ｐ−ＶＯＬの第１の記憶領域を特定する第１のブロックアドレスに対応づけて、前記第１のブロックアドレスについて取得した前記差分データが格納される前記Ｄ−ＶＯＬの第２の記憶領域を特定する第２のブロックアドレスが登録されるスナップショット管理テーブルを管理するスナップショット処理部と、
前記Ｄ−ＶＯＬの管理方法を決定するレベル決定処理部と、
を備え、
前記スナップショット処理部は、前記レベルに応じて前記Ｄ−ＶＯＬを管理し、
前記管理方法は、
外部からの要求に応じて前記Ｄ−ＶＯＬの記憶領域を新たに取得される前記差分データの格納領域として利用できるようにする第０の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が所定の閾値以下になると自動的に当該Ｄ−ＶＯＬの記憶領域を新たに取得される前記差分データの格納領域として利用できるようにする第１の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が所定の閾値以下になると当該Ｄ−ＶＯＬの記憶領域のうち古い前記差分データが格納されている記憶領域から順に新たに取得される前記差分データの格納領域として利用できるようにする第２の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにする第３の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された回数までは論理ユニットを追加することにより前記Ｄ−ＶＯＬの記憶領域を拡張し、前記回数を超えて前記残容量が前記閾値以下になった場合には、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにする第４の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、自動的に論理ユニットを追加する第５の方法
のうちの少なくともいずれかであること
を特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記レベル決定処理部は、前記Ｐ−ＶＯＬ及び前記Ｄ−ＶＯＬの利用状況に基づき、  前記Ｄ−ＶＯＬの管理方法を決定すること
を特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記利用状況は、前記Ｐ−ＶＯＬへのアクセス頻度、前記Ｐ−ＶＯＬについてのスナップショットの取得頻度、前記Ｐ−ＶＯＬについてのスナップショットの参照頻度のうちの少なくともいずれかであること
を特徴とする情報処理装置。
【請求項７】
請求項５に記載の情報処理装置であって、
前記レベル決定処理部は、前記Ｐ−ＶＯＬ及び前記Ｄ−ＶＯＬの利用状況に基づき前記Ｄ−ＶＯＬの管理方法を決定するための条件を記憶していること
を特徴とする情報処理装置。
【請求項８】
請求項４に記載の情報処理装置であって、
前記レベル決定処理部は、ユーザインタフェースを介して受け付けた管理方法を前記ファイルシステムの管理方法として決定すること
を特徴とする情報処理装置。
【請求項９】
クライアント装置と通信可能に接続するサーバ装置と、
前記サーバ装置に通信可能に接続するストレージ装置と
を含み、
前記サーバ装置が、
前記クライアント装置からの要求に応じて第１の論理ボリュームであるＰ−ＶＯＬへのデータＩ／Ｏ処理を行い、前記クライアント装置からファイル単位でデータの書き込み要求又は読み出し要求を受け付けるファイルシステムを備える
ストレージシステムの運用方法であって、
前記サーバ装置が、
ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを第２の論理ボリュームであるＤ−ＶＯＬに格納し、前記Ｐ−ＶＯＬの第１の記憶領域を特定する第１のブロックアドレスに対応づけて、前記第１のブロックアドレスについて取得した前記差分データが格納される前記Ｄ−ＶＯＬの第２の記憶領域を特定する第２のブロックアドレスが登録されるスナップショット管理テーブルを管理し、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにすること
を特徴とするストレージシステムの運用方法。
【請求項１０】
請求項９に記載のストレージシステムの運用方法であって、
前記サーバ装置は、前記Ｄ−ＶＯＬの記憶領域の残容量が閾値以下となった場合に、前記特定のファイルについての予め設定された特定世代についての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにすること
を特徴とするストレージシステムの運用方法。
【請求項１１】
請求項９に記載のストレージシステムの運用方法であって、
前記サーバ装置は、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された回数までは論理ユニットを追加することにより前記Ｄ−ＶＯＬの記憶領域を拡張し、
前記回数を超えて前記残容量が前記閾値以下になった場合には、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにすること
を特徴とするストレージシステムの運用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及びストレージシステムの運用方法に関し、とくにスナップショット機能の提供に用いる差分ボリュームを個々のデータの重要度等に応じて適切に管理するための技術に関する。
【背景技術】
【０００２】
ストレージシステムの機能として、運用中のボリューム（以下、運用ボリュームと称する。）のある時点の状態（以下、スナップショットと称する。）を、ユーザ等からの要求に応じて提供する機能（以下、スナップショット機能と称する。）がある。このスナップショット機能は、通常は運用ボリュームのある時点のスナップショットを再現するためのデータ（以下、差分データと称する。）を運用ボリュームとは別のボリューム（以下、差分ボリュームと称する。）に退避しておき、ユーザ等からの要求に応じて、現在の運用ボリュームのデータと差分ボリュームに退避しておいた差分データとによってある時点のスナップショットを再現するという方法で実現される。
【０００３】
この方法では、差分ボリュームの残容量が不足すると新たな更新データについての差分データを管理することができなくなる。そこで例えば特許文献１には、差分ボリュームの使用率と閾値とを比較して、使用率が閾値を超えたか否かに応じて差分ボリュームへの差分データの更新を制御することが記載されている。
【特許文献１】特開２００６−１１９６８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ストレージシステムのユーザが利用する個々のデータの重要度には差があるため、ストレージシステムの運用に際しては、差分ボリュームとして利用可能な記憶資源の使用状況を考慮しつつ個々のデータに応じて差分ボリュームの管理方法を柔軟に設定できることが好ましい。
【０００５】
そこで本発明は、差分ボリュームを適切に管理することが可能な情報処理装置、ストレージシステムの運用方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための本発明のうちの一つは、
外部装置からの要求に応じて第１の論理ボリュームであるＰ−ＶＯＬへのデータＩ／Ｏ処理を行い、
外部装置からファイル単位でデータの書き込み要求又は読み出し要求を受け付けるファイルシステムを備える情報処理装置であって、
ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを第２の論理ボリュームであるＤ−ＶＯＬに格納し、前記Ｐ−ＶＯＬの第１の記憶領域を特定する第１のブロックアドレスに対応づけて、前記第１のブロックアドレスについて取得した前記差分データが格納される前記Ｄ−ＶＯＬの第２の記憶領域を特定する第２のブロックアドレスが登録されるスナップショット管理テーブルを管理するスナップショット処理部と、
前記Ｄ−ＶＯＬの管理方法を決定するレベル決定処理部と、
を備え、
前記スナップショット処理部は、前記レベルに応じて前記Ｄ−ＶＯＬを管理し、
前記管理方法は、
外部からの要求に応じて前記Ｄ−ＶＯＬの記憶領域を新たに取得される前記差分データの格納領域として利用できるようにする第０の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が所定の閾値以下になると自動的に当該Ｄ−ＶＯＬの記憶領域を新たに取得される前記差分データの格納領域として利用できるようにする第１の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が所定の閾値以下になると当該Ｄ−ＶＯＬの記憶領域のうち古い前記差分データが格納されている記憶領域から順に新たに取得される前記差分データの格納領域として利用できるようにする第２の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにする第３の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、予め設定された回数までは論理ユニットを追加することにより前記Ｄ−ＶＯＬの記憶領域を拡張し、前記回数を超えて前記残容量が前記閾値以下になった場合には、予め設定された特定のファイルについての前記差分データが格納されていた前記Ｄ−ＶＯＬのブロックを、新たに取得される前記差分データの格納領域として利用できるようにする第４の方法、
前記Ｄ−ＶＯＬの記憶領域の残容量が予め設定された閾値以下となった場合に、自動的に論理ユニットを追加する第５の方法
のうちの少なくともいずれかであることとする。
【０００７】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００８】
本発明によれば、個々のデータの重要度等に応じて差分ボリュームを適切に管理することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しつつ実施の形態について説明する。図１Ａに一実施形態として説明する情報処理システム１のハードウエア構成を示している。同図に示すように、この情報処理システム１は、サーバ装置１０、ストレージ装置２０、及びクライアント装置３０を備えている。
【００１０】
サーバ装置１０には通信ネットワーク５０を介して一台以上のクライアント装置３０（外部装置）が通信可能に接続する。またサーバ装置１０には一台以上のストレージ装置２０が通信ネットワーク５１を介して通信可能に接続している。前者の通信ネットワーク５０は、例えばＬＡＮ（Local Area Network）やインターネット等である。一方、後者の通信ネットワーク５１は、例えばファイバチャネル（Fibre Channel）を用いて構成されるＳＡＮ（Storage Area network）、ＬＡＮ等である。
【００１１】
クライアント装置３０は、例えばパーソナルコンピュータやワークステーション等のコンピュータ（情報処理装置）である。サーバ装置１０は、いわゆるＮＡＳ（Network Attached Storage）であって、クライアント装置３０に対してファイルサーバとして機能する。サーバ装置１０は、クライアント装置３０から送られてくるファイル単位のデータ入出力要求に応じて、クライアント装置３０にストレージ装置２０の記憶領域を提供する。サーバ装置１０は、クライアント装置３０から送信されてくるデータ入出力要求（データ書き込み要求、データ読み出し要求）を受け付けて、ストレージ装置２０へのデータの書き込み又はデータの読み出しを行い、データの書き込み完了報告、読み出したデータ等を適宜クライアント装置３０に送信する。
【００１２】
図１Ｂにサーバ装置１０又はクライアント装置３０として利用可能なコンピュータ（情報処理装置）の一例を示している。同図に示すように、このコンピュータ１００は、中央処理装置１０１（例えばＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit））、メモリたる主記憶装置１０２（例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory））、補助記憶装置１０３（例えばハードディスク）、ユーザやオペレータ等の操作入力を受け付ける入力装置１０４（例えばキーボードやマウス）、出力装置１０５（例えば液晶モニタ）、他の装置との間の通信を実現する通信インタフェース１０６（例えばＮＩＣ（Network Interface Card）やＨＢＡ（Host Bus Adapter）)を備えている。
【００１３】
ストレージ装置２０は、クライアント装置３０が利用する上記記憶領域を提供する。ストレージ装置２０は、キャッシュメモリ２１、サーバ装置１０との間で通信を行うとともに、キャッシュメモリ２１へのデータの書き込み又は読み出しを行うチャネルアダプタ２２、キャッシュメモリ２１へのデータの書き込み又は読み出しを行うとともにハードディスク２４へのデータの書き込み又は読み出しを行うディスクコントローラ２３を有する。ストレージ装置２０は、ハードディスク２４をＲＡＩＤ（Redundant Array of Inexpensive Disks）方式（ＲＡＩＤ０−６）で運用する機能を備えている。
【００１４】
図２にサーバ装置１０の機能を示している。尚、同図に示す機能は、サーバ装置１０の中央処理装置１０１が、主記憶装置１０２又は補助記憶装置１０３に記憶されているプログラムを実行することによって、又はサーバ装置１０のハードウエアが本来的に備える機能によって実現される。
【００１５】
同図に示す機能のうち、ファイル共有システム２１１は、通信ネットワーク５０に接続する装置に対し、ストレージ装置２０によって提供される記憶領域に記憶されるデータをファイル単位又はディレクトリ単位（フォルダ単位）で共有する仕組みを実現する。ファイル共有システム２１１の具体例として、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet File System）がある。
【００１６】
ファイルシステム２１２は、通信ネットワーク５０に接続する装置に対し、ストレージ装置２０によって提供される記憶領域に記憶されるデータをファイル単位又はディレクトリ単位（フォルダ単位）でアクセスさせるための機能を実現する。ファイルシステム２１２の具体例として、ＵＮＩＸ（登録商標）系のファイルシステム、Ｗｉｎｄｏｗｓ（登録商標）系のファイルシステムがある。サーバ装置１０では互いに独立した一つ以上のファイルシステム２１２が機能している。
【００１７】
ファイルシステム２１２は、上記仕組みを実現するための情報（以下、ファイル管理情報３１０と称する。）を管理している。例えば図３Ａに示すように、ＵＮＩＸ系のファイルシステムの場合、ファイルシステム２１２は、上記情報として、スーパーブロック３１１、ディレクトリエントリ３１２、ｉノードテーブル３１３、及びデータブロック３１４を管理する。このうちのスーパーブロック３１１には、ファイルシステム２１２の管理対象である記憶領域のサイズや空き領域のサイズ等が管理される。
【００１８】
上記情報のうち、ディレクトリエントリ３１２には、図３Ｂに示すようにファイル名（ディレクトリパス名３１２１）とｉノード番号３１２２との対応関係が管理される。また上記情報のうちｉノードテーブル３１３には、図３Ｃに示すようにｉノード番号３１３１に対応づけて、ファイルの所有者を特定する情報（所有者３１３２）、アクセス権３１３３、ファイルサイズ３１３４、ファイルの格納位置（当該ファイルのデータが格納されているデータブロック３１４のアドレス）が管理される。
【００１９】
図２に示した機能のうちＬＶＭ２１４（LVM:Logical Volume Manager）は、ストレージ装置２０によって提供される論理的な記憶装置の単位である論理ユニット（LU:Logical Unit））（論理装置とも称する。）に基づいて、論理的な記憶領域たる論理ボリューム（Logical Volume（以下、ＬＶと称する。））を、上位層（ファイルシステム２１２等）に提供する。ＬＶＭ２１４は、論理ユニット（ＬＵ）を論理ボリューム（ＬＶ）として利用できるようにする機能と、論理ボリューム（ＬＶ）に対するブロック単位のデータの書き込み又は読み出しを行うためのデバイスドライバとしての機能とを有する。
【００２０】
ＬＶＭ２１４が論理ボリューム（ＬＶ）を構成する単位である論理ユニット（ＬＵ）は、例えばＳＣＳＩ（SCSI:Small Computer System Interface）やＡＴＡＰＩ（Attachment Packet Interface）規格ではイニシエータがターゲットとして指定可能な記憶領域の単位である。尚、前述したｉノードテーブル３１３におけるデータブロックアドレス３１３５，３１３６，３１３７は、論理ボリューム（ＬＶ）のブロックアドレスである。後述するように、スナップショット機能におけるプライマリボリューム（以下、Ｐ−ＶＯＬ７１（P-VOL:Primary VOLume）と称する。）、及び差分ボリューム（以下、Ｄ−ＶＯＬ７２（D-VOL:Differential VOLume）と称する。）は、いずれも論理ボリューム（ＬＶ）として実現される。
【００２１】
尚、図３Ｄは以上の内容を纏めたものであり、ストレージ装置２０からクライアント装置３０への記憶領域の供給形態を説明する図である。
【００２２】
図２に示すオペレーティングシステム２１５は、サーバ装置１０とストレージ装置２０との間のデータの入出力（データＩ／Ｏ）を制御する。
【００２３】
図２に示すスナップショット処理部２１３は、スナップショット機能に関する様々な処理を実行する。ここでスナップショット機能とは、運用中の論理ボリューム（Ｐ−ＶＯＬ７１）のある時点の状態（これをスナップショットと称する。）をユーザやオペレータ等からの要求に応じて提供する機能である。スナップショット機能は、複数世代分のスナップショット（複数の異なる時点におけるＰ−ＶＯＬ７１の状態）を管理することができる。
【００２４】
スナップショット処理部２１３は、クライアント装置３０から送信されてくるスナップショット取得要求の受け付け、ある時点のスナップショットの取得、スナップショットの参照要求の受け付け、クライアント装置３０へのスナップショットの提供、スナップショットの削除等のスナップショットの取得や参照、Ｐ−ＶＯＬ７１やＤ−ＶＯＬ７２の管理に関する各種の処理を実行する。
【００２５】
尚、以下の説明において、スナップショットの取得とは、Ｐ−ＶＯＬ７１において更新されたブロックのデータ（以下、差分データと称する。）をＤ−ＶＯＬ７２に退避することをいう。またスナップショットの参照(又は利用）とは、取得されたスナップショットを参照（又は利用）することであり、スナップショットの提供とは、現在のＰ−ＶＯＬ７１のデータとＤ−ＶＯＬ７２に退避された差分データとに基づいて、過去のある時点におけるＰ−ＶＯＬ７１の状態を再現することをいう。またスナップショットの削除とは、Ｄ−ＶＯＬ７２から削除対象の差分データを削除することをいう。
【００２６】
図２に示すように、スナップショット処理部２１３は、レベル決定処理部２１３１、書込要求処理部２１３２、参照要求処理部２１３３、及び取得要求処理部２１３４等の種々の機能を有する。
【００２７】
このうちレベル決定処理部２１３１は、ファイルシステム２１２ごとに設定される、差分ボリューム（Ｄ−ＶＯＬ７２）の運用方法を特定する情報（以下、レベルと称する。）を決定する。レベルの詳細については後述する。同図に示す書込要求処理部２１３２は、クライアント装置３０からＰ−ＶＯＬ７１に対する書き込みが生じると、上記レベルに応じた処理を行う。同図に示す参照要求処理部２１３３は、クライアント装置３０からスナップショットの参照要求があった場合に、上記レベルに応じてスナップショットをクライアント装置３０に提供するための処理を行う。
【００２８】
取得要求処理部２１３４は、クライアント装置３０からスナップショットの取得要求（特定のＰ−ＶＯＬ７１についてのスナップショットの取得を開始する旨の要求）があった場合に、上記レベルに応じて、スナップショットの取得に関する処理を行う。
【００２９】
図２に示すように、サーバ装置１０は、スナップショットの管理情報が保持されるテーブル（以下、スナップショット管理テーブル２１３５と称する。）を管理している。スナップショット管理テーブル２１３５には、世代ごとのスナップショットに関する情報が管理される。各世代のスナップショットは、Ｐ−ＶＯＬ７１に格納されているデータ、Ｄ−ＶＯＬ７２に格納されているデータ、及びスナップショット管理テーブル２１３５の情報によって管理される。
【００３０】
図４Ａ等に示すように、スナップショット管理テーブル２１３５には、各データブロックのブロックアドレス２１３５１に対応づけて、ＣｏＷビットマップ２１３５２（CoW:Copy on Write）、及び各スナップショットを特定する情報（ここではスナップショット名２１３５３）が管理されている。尚、ＣｏＷビットマップ２１３５２は、取得可能なスナップショットの各世代に対応する個数のビットからなるビット列で構成されている。尚、以下の説明では、各ビットは、最上位ビット（左端ビット）から再下位ビット（右端ビット）に向けて順に第１世代、第２世代に対応するものとする。
【００３１】
以下、図４Ａ乃至図４ＤとともにＰ−ＶＯＬ７１へのデータの書き込みが発生した場合を例として、スナップショット処理部２１３の処理について説明する。尚、以下の説明ではＰ−ＶＯＬ７１及びＤ−ＶＯＬ７２はいずれも８個データブロックを有し、管理可能なスナップショットの世代数は４である（ＣｏＷビットマップ２１３５２は４ビット）ものとする。
【００３２】
図４ＡはＰ−ＶＯＬ７１にデータが書き込まれる前のＰ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（以下、初期状態と称する。）である。初期状態では、Ｐ−ＶＯＬ７１のブロックアドレス０〜７（ブロックアドレス２１３５１）に対応する各データブロックに、夫々、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｈ」の各データが格納されている。まだスナップショットが１つも取得されていないのでＤ−ＶＯＬ７２の各データブロックには有意なデータがまだ何も格納されていない（例えばスペースやＮＵＬＬが格納されている。）。またスナップショット管理テーブル２１３５のＣｏＷビットマップ２１３５２の各ビットはいずれも０であり、スナップショット名２１３５３には何も格納されていない（例えばスペースやＮＵＬＬが格納されている。）。
【００３３】
図４Ｂは、図４Ａの初期状態において、クライアント装置３０から１つめのスナップショット（スナップショット名２１３５３＝ＳＳ−１）の取得要求を受け付けた後の状態である。同図に示すように、各ブロックアドレス０〜７に対応するＣｏＷビットマップ２１３５２の最上位ビット（左端ビット）が１に設定されている。まだ実際にスナップショットが取得されていないのでスナップショット名２１３５３は、何も有意なデータが格納されていない。
【００３４】
図４Ｃは、図４Ｂの状態において、Ｐ−ＶＯＬ７１のブロックアドレス０〜４のデータブロックの夫々が「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｅ」で更新された後の状態である。同図に示すように、ブロックアドレス０〜４に格納されていた古いデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」が、Ｄ−ＶＯＬ７２のブロックアドレス０〜４のデータブロックに格納（退避）されている。また第１世代のスナップショットが取得された（Ｄ−ＶＯＬ７２に必要なデータが退避された）ので、ＣｏＷビットマップ２１３５２の最上位ビット（左端ビット）が０に設定（リセット）されている。
【００３５】
尚、ＣｏＷビットマップ２１３５２の全てのビットが０であるので、この状態でＰ−ＶＯＬ７１のデータが更新されたとしてもスナップショットが取得されることはない。スナップショット名２１３５３の「ＳＳ−１」の欄には、各ブロックアドレス２１３５１に対応づけて、古いデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」の退避先のＤ−ＶＯＬ７２のブロックアドレス「０」、「１」、「２」、「３」、「４」が設定される。
【００３６】
図４Ｄは、図４Ｃの状態でクライアント装置３０から第１世代のスナップショットの参照要求があった場合の処理を説明している。まずブロックアドレス０−４のデータブロックのスナップショットを生成すべく、スナップショット処理部２１３はＤ−ＶＯＬ７２のブロックアドレス０−４のデータブロックに格納されているデータを取得する。
【００３７】
尚、スナップショット処理部２１３は、ブロックアドレス０−４のデータブロックの第１世代のスナップショットがＤ−ＶＯＬ７２に存在することを、スナップショット管理テーブル２１３５のスナップショット名２１３５３の「ＳＳ−１」の内容を参照することにより把握する。
【００３８】
次にスナップショット処理部２１３は、ブロックアドレス５−７のデータブロックについて、Ｐ−ＶＯＬ７１のデータブロックからデータを取得する。そしてスナップショット処理部２１３は、Ｄ−ＶＯＬ７２から取得したブロックアドレス０−４のデータと、Ｐ−ＶＯＬ７１から取得したブロックアドレス５−７のデータとを組み合わせることによりＰ−ＶＯＬ７１全体のスナップショットを生成し、生成したスナップショットを要求元（クライアント装置３０）に送信する。
【００３９】
以上の通り図４Ａ乃至図４Ｄとともに第１世代のスナップショット取得要求があった場合について説明したが、第２世代〜第４世代のスナップショット取得要求があった場合も以上と同様に処理がなされる。
【００４０】
＜Ｄ−ＶＯＬの管理＞
Ｄ−ＶＯＬ７２の記憶領域は有限であるため、スナップショット機能を維持するためにはＤ−ＶＯＬ７２の記憶領域の有効利用を図る必要がある。またユーザ等が利用する個々のデータには重要度に差があるため差分ボリュームの管理方法をユーザ等が柔軟に選択できることが好ましい。そこで本実施形態では、ユーザやオペレータ等がファイルシステム２１２ごとにＤ−ＶＯＬ７２の管理方法（レベル０−５）を設定できるようにしている。図５にファイルシステム２１２に設定可能な管理方法（レベル）の一覧を示す。
【００４１】
同図に示すように、レベル０（第０の方法）は、ユーザやオペレータ等からの要求に応じてＤ−ＶＯＬ７２を解放する（Ｐ−ＶＯＬ７１との対応づけを解消して他の用途に利用できるようにする）という管理方法である。Ｄ−ＶＯＬ７２を解放することによりスナップショットの取得は中止される。尚、解放されたＤ−ＶＯＬ７２は他の用途に利用することができる。
【００４２】
次のレベル１（第１の方法）は、Ｄ−ＶＯＬ７２の残容量が閾値以下になるまではＰ−ＶＯＬ７１との対応づけを維持するが、Ｄ−ＶＯＬ７２の残容量が閾値以下になった場合はＤ−ＶＯＬ７２を解放するという管理方法である。  
レベル２（第２の方法）は、Ｄ−ＶＯＬ７２の残容量が閾値以下になると、古い差分データが記憶されているブロックを初期化し、初期化したブロックを新たに取得される差分データの記憶領域として用いるという管理方法である。  
レベル３（第３の方法）は、Ｄ−ＶＯＬ７２の残容量が閾値以下になるとファイル単位でＤ−ＶＯＬ７２を解放するという管理方法である。  
レベル４（第４の方法）は、Ｄ−ＶＯＬ７２の残容量が閾値以下になると、予め設定された所定回数に達するまでは論理ユニット（ＬＵ）を追加してＤ−ＶＯＬ７２の記憶領域を拡張するが、上記所定回数の論理ユニット（ＬＵ）の追加を行った後にＤ−ＶＯＬ７２の残容量がさらに閾値以下になった場合にはレベル３の処理を適用してＤ−ＶＯＬ７２を解放するという管理方法である。  
レベル５（第５の方法）は、レベル４のように拡張回数の制限を設けず（追加可能な論理ユニット（ＬＵ）が存在する限り何度でも拡張可能）、残容量が閾値以下になると論理ユニット（ＬＵ）を追加してＤ−ＶＯＬ７２の記憶領域を拡張するという管理方法である。尚、レベル５ではレベル０で解放されたＤ−ＶＯＬ７２が使用していた論理ユニット（ＬＵ）によって記憶領域を拡張することもできる。
【００４３】
尚、以上に説明した管理方法（レベル）は、クライアント装置３０やサーバ装置１０のユーザインタフェースを介して行われるユーザ操作によって設定することができる。またスナップショット処理部２１３のレベル決定処理部２１３１が、各ファイルシステム２１２について、Ｐ−ＶＯＬ７１又はＤ−ＶＯＬ７２の利用状況、例えば各ファイルシステム２１２がアクセスするＰ−ＶＯＬ７１のアクセス頻度、スナップショットの取得回数、スナップショットの参照回数に基づいて自動的に設定することもできる。
【００４４】
図６Ａはサーバ装置１０において管理されているレベル管理テーブル６１０の一例である。同図に示すように、レベル管理テーブル６１０には、各ファイルシステム２１２に現在設定されているレベルが管理されている。またレベル管理テーブル６１０には、ファイルシステム２１２ごとに、現在のレベル６１２を設定する際の根拠となったアクセス頻度６１３、スナップショット取得回数６１４、スナップショット参照回数６１５が管理されている（自動設定の場合）。
【００４５】
図６Ｂはサーバ装置１０が管理しているファイルであり、レベル決定処理部２１３１がレベルの決定に際し参照するファイル（以下、条件ファイル６２０と称する。）である。同図に示すように、条件ファイル６２０には、アクセス頻度、スナップショット取得回数、及びスナップショット参照回数を、夫々について設定された上限値又は下限値と比較する条件が設定されている。レベル決定処理部２１３１は、ファイルシステム２１２にＤ−ＶＯＬ７２の管理方法を自動設定するに際し、条件ファイル６２０を参照する。尚、同図では、予め設定された全ての条件に合致しない場合にデフォルト値としてレベル２を設定するという条件が記述されている。条件ファイル６２０の内容は、ユーザやオペレータ等が入力装置１０４や出力装置１０５を利用して設定することができる。
【００４６】
図６Ｃはサーバ装置１０が管理しているファイルシステム管理テーブル６３０である。同図に示すように、ファイルシステム管理テーブル６３０には、各ファイルシステム２１２（ファイルシステム名）について、そのファイルシステム２１２が利用しているＰ−ＶＯＬ７１の名称（Ｐ−ＶＯＬ名６３２）、そのＰ−ＶＯＬ６３２に対応づけられているＤ−ＶＯＬ７２の名称（Ｄ−ＶＯＬ名６３３）、そのＤ−ＶＯＬ７２について設定されている記憶領域の拡張可能回数（Ｄ−ＶＯＬ拡張可能回数６３４）、及びそのＤ−ＶＯＬ７２について既に行った記憶領域の拡張回数（Ｄ−ＶＯＬ拡張済回数６３５）が管理されている。尚、本実施形態では、１回の拡張によって１つの論理ユニット（ＬＵ）がＤ−ＶＯＬ７２に追加されるものとする。
【００４７】
図６Ｄはサーバ装置１０が管理している論理ボリューム管理テーブル６４０である。同図に示すように、論理ボリューム管理テーブル６４０には、各論理ボリューム（Ｐ−ＶＯＬ７１又はＰ−ＶＯＬ７２）について（論理ボリューム名６４１）、それを構成しているＬＵの個数（ＬＵ個数６４２）と、ＬＵの識別子（ＬＵ名６４３）が管理されている。ＬＵの識別子は、例えばＬＵＮ（Logical Unit Number）である。
【００４８】
図６Ｅはサーバ装置１０が管理しているＬＵ管理テーブル６５０である。同図に示すように、ＬＵ管理テーブル６５０には、各ＬＵ（ＬＵ名６５１）の記憶容量（ＬＵサイズ６５２）、及びそのＬＵが既に（Ｐ−ＶＯＬ７１又はＰ−ＶＯＬ７２）に割り当てられているか（割り当て状態６５３）が管理されている。
【００４９】
＜各管理方法の詳細＞
次に各管理方法の処理詳細について説明する。  
図７Ａにレベル０の処理の詳細を示している。前述したように、レベル０はユーザやオペレータ等からの要求に応じてＤ−ＶＯＬ７２を解放し、解放されたＤ−ＶＯＬ７２を他の用途に（例えばレベル５の追加用の論理ユニット（ＬＵ）として）利用可能とする管理方法である。尚、以下の説明において、符号の前に付した文字「Ｓ」はステップの略字である。
【００５０】
同図に示すように、スナップショット処理部２１３は、レベル０のＤ−ＶＯＬ７２についてクライアント装置３０から解放要求を受信すると（Ｓ７１１）、当該Ｄ−ＶＯＬ７２を解放する（スナップショットの取得を中止する）（Ｓ７１２）。
【００５１】
スナップショット処理部２１３は、Ｄ−ＶＯＬ７２の解放後に行われる書き込み要求（Ｓ７１３）に際し、レベル５のＤ−ＶＯＬ７２の残容量が閾値以下となったことを検知すると（Ｓ７１４）、論理ボリューム管理テーブル６４０及びＬＵ管理テーブル６５０を更新してＳ７１１で解放されたＤ−ＶＯＬ７２として使用されていた論理ユニット（ＬＵ）を追加し、レベル５のＤ−ＶＯＬ７２の記憶領域を拡張する（Ｓ７１５）。その後、スナップショット処理部２１３は、書き込み要求の書き込み対象のデータをＰ−ＶＯＬ７１に書き込み、差分データをＤ−ＶＯＬ７２に書き込む（Ｓ７１６）。
【００５２】
レベル０の処理によれば、レベル０のＤ−ＶＯＬ７２の記憶領域をレベル５のＤ−ＶＯＬ７２に積極的に割り当て直すことができる。このため、例えばレベル５のＤ−ＶＯＬ７２の記憶領域を優先的に確保する場合に有効である。
【００５３】
図７Ｂにレベル１の処理の詳細を示している。前述したように、レベル１はＤ−ＶＯＬ７２の残容量が閾値以下になるまではＰ−ＶＯＬ７１との対応づけを維持する（スナップショットを取得する）が、Ｄ−ＶＯＬ７２の残容量が閾値以下になった場合はＤ−ＶＯＬ７２を解放する（スナップショットの取得を中止する）という管理方法である。
【００５４】
同図に示すように、スナップショット処理部２１３は、レベル１のＰ−ＶＯＬ７１に対してクライアント装置３０から書き込み要求を受信した際に（Ｓ７２１）、書き込み対象のＰ−ＶＯＬ７１に対応するＤ−ＶＯＬ７２の残容量が閾値以下となったことを検知すると（Ｓ７２２）、そのＤ−ＶＯＬ７２を解放する（スナップショットの取得を中止する）（Ｓ７２３）。
【００５５】
スナップショット処理部２１３は、Ｄ−ＶＯＬ７２の解放後に行われる書き込み要求（Ｓ７２４）に際し、レベル５のＤ−ＶＯＬ７２の残容量が閾値以下となったことを検知すると（Ｓ７２５）、論理ボリューム管理テーブル６４０及びＬＵ管理テーブル６５０を更新してＳ７１１で解放されたＤ−ＶＯＬ７２として使用されていた論理ユニット（ＬＵ）を追加し、レベル５のＤ−ＶＯＬ７２の記憶領域を拡張する（Ｓ７２６）。その後、スナップショット処理部２１３は、書き込み要求の書き込み対象のデータをＰ−ＶＯＬ７１に書き込み、差分データをＤ−ＶＯＬ７２に書き込む（Ｓ７２７）。
【００５６】
レベル１の処理によれば、レベル１のＤ−ＶＯＬ７２の記憶領域の残容量が閾値以下となった場合に、そのＤ−ＶＯＬ７２の記憶領域をレベル５のＤ−ＶＯＬ７２に積極的に割り当て直すことができる。例えばレベル５のＤ−ＶＯＬ７２の記憶領域を優先的に確保することができる。またレベル０の場合ではユーザやオペレータ等からの解放要求がなければＤ−ＶＯＬ７２は解放されないが、レベル１の場合はＤ−ＶＯＬ７２を自動的に解放することができる。
【００５７】
図７Ｃにレベル２の処理の詳細を示している。前述したように、Ｄ−ＶＯＬ７２の残容量が閾値以下になると、古い差分データが記憶されているブロックを初期化し、初期化したブロックを新たに取得される差分データの記憶領域として用いるという管理方法である。
【００５８】
同図に示すように、スナップショット処理部２１３は、レベル２のＰ−ＶＯＬ７１に対してクライアント装置３０から書き込み要求を受信し（Ｓ７３１）、書き込み対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下となったことを検知すると（Ｓ７３２）、そのＤ−ＶＯＬ７２を初期化する（Ｓ７３３）。
【００５９】
レベル２の処理によれば、レベル１のＤ−ＶＯＬ７２の記憶領域の残容量が閾値以下となった場合にそのＤ−ＶＯＬ７２が初期化されるので、Ｄ−ＶＯＬ７２の記憶領域を増やすことができる。レベル２は、例えば取得済のスナップショットを破棄することによる業務への影響が少ない場合に有効である。またレベル２ではＤ−ＶＯＬ７２の記憶領域を拡張しないので未使用の記憶領域を他の用途に確保しておくことができる。
【００６０】
レベル３は、Ｄ−ＶＯＬ７２の残容量が閾値以下になるとファイル単位でＤ−ＶＯＬ７２を解放するという管理方法である。以下、図８Ａ乃至図８Ｈとともに、レベル３の処理詳細を説明する。尚、以下の説明において、Ｐ−ＶＯＬ７１及びＤ−ＶＯＬ７２はいずれも８個データブロックを有しており、管理可能なスナップショットの世代数は２であるものとする。
【００６１】
図８ＡにＰ−ＶＯＬ７１にデータが書き込まれる前のＰ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（以下、初期状態と称する。）を示している。同図に示すように、初期状態ではＰ−ＶＯＬ７１のブロックアドレス０〜７（ブロックアドレス２１３５１）に対応する各データブロックに、夫々、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｈ」の各データが格納されている。尚、初期状態ではスナップショットが１つも取得されていないので、Ｄ−ＶＯＬ７２の各データブロックには何も格納されていない（例えばスペースやＮＵＬＬが格納されている。）。
【００６２】
スナップショット管理テーブル２１３５のＣｏＷビットマップ２１３５２のコロン「：」の左側のビット列は、左から順に第１世代、第２世代についてのスナップショットの取得要否を示すビットであり、コロン「：」の右側のビット列は、左から順に第１世代、第２世代のスナップショットの取得可否を示すビット列である。初期状態では、右側ビット列、左側ビット列のいずれのビットも０に設定されている。またスナップショット名２１３５３には何も格納されていない（例えばスペースやＮＵＬＬが格納されている。）。
【００６３】
レベル３はＤ−ＶＯＬ７２の残容量が閾値以下になるとファイル単位でＤ−ＶＯＬ７２を解放するという管理方法である。このため、ＣｏＷビットマップ２１３５２の右側ビット列は、そのビット列のブロックアドレスが、スナップショットの取得を停止させるファイルのデータが格納されているブロックのアドレスである場合に１に設定される。
【００６４】
スナップショットの取得を停止させることが可能なファイルのファイル名（ファイルパス名）は、図９Ａに例示する定義ファイル９１０に記述されている。定義ファイル９１０は、ユーザやオペレータ等によって設定され、例えばサーバ装置１０が記憶している。同図に示すように、定義ファイル９１０には、Ｄ−ＶＯＬ７２の残容量が少なくなった場合にスナップショットの取得を停止させることが可能なファイルの上記ファイル名（ファイルパス名９１１）に加え、Ｄ−ＶＯＬ７２の残容量の閾値９１２、及びそのファイルのデータに対応するスナップショットのうちスナップショットの取得を停止させることが可能な世代範囲９１３が記述されている。
【００６５】
尚、Ｄ−ＶＯＬ７２やスナップショット管理テーブル２１３５では、スナップショットはブロック単位で管理されている。このため、スナップショット処理部２１３は、ＣｏＷビットマップ２１３５２の右側ビット列の設定を行う場合、ファイルシステム２１２のｉノードテーブル３１３を参照し（図９Ｂにｉノードテーブル３１３を例示している。）、そのファイルのデータが格納されているブロックアドレスを特定する。
【００６６】
図８Ｂは、図８Ａの初期状態において、クライアント装置３０から第１世代のスナップショット（スナップショット名２１３５３＝ＳＳ−１）の取得要求を受け付けた後の状態である。同図に示すように、各ブロックアドレス０〜７に対応するＣｏＷビットマップ２１３５２の左側ビット列の第１世代のビット（左端ビット）が１に設定されている。
【００６７】
一方、ＣｏＷビットマップ２１３５２のブロックアドレス０−４については、右側ビット列の第１世代のビット列（左端ビット）が１に設定されている。これはスナップショット処理部２１３が、定義ファイル９１０のファイル名（例えばhome/user01/a.txtというファイル）のファイルのデータが格納されているブロックアドレスをｉノードテーブル３１３から特定することにより設定する。スナップショット名２１３５３には、項目名として「ＳＳ−１」が設定されているが、実際にスナップショットが取得されていないので内容はまだ存在しない。
【００６８】
図８Ｃは、図８Ｂの状態においてファイルが更新され、Ｐ−ＶＯＬ７１のブロックアドレス１−２のデータが「ＡＢ」から「ａｂ」に更新された場合である。これによりＤ−ＶＯＬ７２のブロックアドレス０−１に更新前のデータ「ＡＢ」が格納される。また第１世代のスナップショットが取得されたので、スナップショット管理テーブル２１３５のブロックアドレス０−１のＣｏＷビットマップ２１３５２の左側ビット列の第１ビット（左端ビット）が１から０に変化している。またスナップショット名２１３５３の「ＳＳ−１」の欄に差分データ「ＡＢ」が格納されているＤ−ＶＯＬ７２のブロックアドレスが設定される。
【００６９】
図８Ｄは、図８Ｃの状態において第２世代のスナップショット取得要求（スナップショット名２１３５３＝ＳＳ−２）を受け付けた状態である。スナップショット管理テーブル２１３５のブロックアドレス０−７のＣｏＷビットマップ２１３５２の左側ビット列の第２ビット（右端ビット）に１が設定されている。スナップショット名２１３５３には、項目名として「ＳＳ−２」が設定されているが、実際にスナップショットが取得されていないので内容はまだ存在しない。尚、図８Ｂの場合と異なり、ＣｏＷビットマップ２１３５２のブロックアドレス０−４については、右側ビット列の第２世代のビット列（左端ビット）は０のままである。これは図９Ａに示した定義ファイル９１０において、ファイル（/home/user01/a.txt）について解放可能な世代が第１世代（＜第２世代）に限定されているからである。
【００７０】
図８Ｅは第１ファイル（例えば/home/user01/a.txt）が更新されてブロックアドレス０−３のデータが「ａｂＣＤ」から「ａｂｃＤ」に変更され、第２ファイル（例えば/home/user02/b.txt）が更新されてブロックアドレス４−７のデータが「ＥＦＧＨ」から「ｅｆＧＨ」に変更され、かつ、Ｄ−ＶＯＬ７２の残容量が閾値以下になった場合である。これによりＤ−ＶＯＬ７２のブロックアドレス２−４に、「Ｃ」、「Ｅ」、「Ｆ」が格納される。そしてＤ−ＶＯＬ７２の残容量が閾値以下となったため、まずＤ−ＶＯＬ７２の解放が行われる。即ちＤ−ＶＯＬ７２のデータのうち、ＣｏＷビットマップ２１３５２の左側ビット列のビットが０であり（スナップショット取得済）、かつ、右側ビット列のビットが１（解放可能）であり、かつ第１世代（定義９１０ファイルより）のデータが解放される。この条件に一致するデータは、Ｄ−ＶＯＬ７２のブロックアドレスが０−１のデータである。
【００７１】
尚、ブロックアドレス２は、スナップショット「ＳＳ−２」のデータが格納されているため解放不可である(図８Ｆを参照)。またＣｏＷビットマップ２１３５２の左側ビット列のビットが１（スナップショット未取得）であり、これに対応する世代の右側ビット列のビットが１（解放可能）のブロックアドレス（例えばブロックアドレス３）については、今後Ｐ−ＶＯＬ７１が更新されてもスナップショットを取得しない(図８Ｇを参照）。
【００７２】
図９ＣにＤ−ＶＯＬ７２の残容量が閾値以下か否か９３１、ＣｏＷビットマップ２１３５２の左側ビット列の内容９３２、及び右側ビット列の内容９３３と、これらの組み合わせごとの処理の内容９３４を一覧として示す。
【００７３】
以上のように処理が行われることによりＤ−ＶＯＬ７２の一部が解放された状態を図８Ｈに示す。同図において、Ｄ−ＶＯＬ７２のハイフン「−」で示したブロックアドレスが解放された部分である。尚、この状態で例えば第１ファイル（/home/user01/a.txt）のスナップショットＳＳ−１を参照しようとすれば、要求元（例えばクライアント装置３０）にエラーが返る。ＳＳ−２については読み出しが可能であり、ＳＳ−２について参照要求があった場合はスナップショットが生成されて要求元に送信される。第２ファイル（/home/user02/b.txt）については、スナップショットＳＳ−１、ＳＳ−２のいずれも読み出し可能であり、参照要求があればスナップショットが要求元に送信される。
【００７４】
このようにレベル３によれば、ファイル単位でＤ−ＶＯＬ７２の記憶容量を解放することができる。また例えば重要度の低いファイルを定義ファイル９１０に定義しておくことで重要度の低いファイルを重要度の高いファイルよりも優先して解放することができる。また解放可能な世代を定義ファイル９１０に定義しておけばスナップショットうち解放してもよい世代だけを解放の対象とすることができる。
【００７５】
図７Ｄにレベル４の処理の詳細を示している。前述したように、レベル４はＤ−ＶＯＬ７２の残容量が閾値以下になると予め設定された所定回数に達するまでは論理ユニット（ＬＵ）を追加してＤ−ＶＯＬ７２の記憶領域を拡張するが、上記所定回数の論理ユニット（ＬＵ）の追加を行った後にＤ−ＶＯＬ７２の残容量がさらに閾値以下になると、レベル３の処理を適用してＤ−ＶＯＬ７２を解放するという管理方法である。
【００７６】
同図に示すように、スナップショット処理部２１３は、レベル４のＰ−ＶＯＬ７１に対してクライアント装置３０から書き込み要求を受信し（Ｓ７４１）、書き込み対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下となったことを検知すると（Ｓ７４２）、論理ボリューム管理テーブル６４０及びＬＵ管理テーブル６５０を更新して論理ユニット（ＬＵ）を追加し、Ｄ−ＶＯＬ７２の記憶領域を拡張する（Ｓ７４３）。
【００７７】
スナップショット処理部２１３は、論理ユニット（ＬＵ）を追加することによりＤ−ＶＯＬ７２の拡張が繰り返されて拡張回数が所定回数を超えると、レベル３の処理（Ｄ−ＶＯＬ７２のファイル単位の解放）を実施する（Ｓ７４４）。
【００７８】
レベル４によれば、Ｄ−ＶＯＬ７２の残容量が閾値以下になると予め設定された所定回数に達するまでは論理ユニット（ＬＵ）を追加してＤ−ＶＯＬ７２の記憶領域を拡張するので、ある程度の期間、スナップショットを保持しておく必要がある場合に有効である。また上記所定回数の論理ユニット（ＬＵ）の追加を行った後にＤ−ＶＯＬ７２の残容量がさらに閾値以下になると、レベル３の処理を適用してＤ−ＶＯＬ７２を解放するので、予備の論理ボリューム（ＬＵ）が消費されてしまうのを防ぐことができる。またこの場合はＤ−ＶＯＬ７２の記憶領域がファイル単位で解放されるので、例えば重要度の低いファイルを定義ファイル９１０に定義しておくことで、重要度の低いファイルを重要度の高いファイルよりも優先して解放することができる。
【００７９】
図７Ｅにレベル５の処理の詳細を示している。前述したように、レベル５は、レベル４のように拡張回数の制限を設けずに（追加可能な論理ユニット（ＬＵ）が存在する限り何度でも拡張可能）、残容量が閾値以下になると論理ユニット（ＬＵ）を追加してＤ−ＶＯＬ７２の記憶領域を拡張する管理方法である。また追加可能な論理ユニット（ＬＵ）が存在しない場合は、レベル０で解放されたＤ−ＶＯＬ７２が使用していた論理ユニット（ＬＵ）を使ってＤ−ＶＯＬ７２の記憶領域を拡張する。
【００８０】
同図に示すように、スナップショット処理部２１３は、レベル５のＰ−ＶＯＬ７１に対してクライアント装置３０から書き込み要求を受信し（Ｓ７４１）、書き込み対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下となったことを検知すると（Ｓ７４２）、論理ボリューム管理テーブル６４０及びＬＵ管理テーブル６５０を更新して論理ユニット（ＬＵ）を追加し、Ｄ−ＶＯＬ７２の記憶領域を拡張する（Ｓ７４３）。
【００８１】
スナップショット処理部２１３は、論理ユニット（ＬＵ）を追加することによるＤ−ＶＯＬ７２の拡張が繰り返され、遂に追加可能な論理ユニット（ＬＵ）が存在しなくなると、レベル０の処理で解放されたＤ−ＶＯＬ７２が使用していた論理ユニット（ＬＵ）を用いてＤ−ＶＯＬ７２の記憶領域を拡張する（Ｓ７４４）。
【００８２】
レベル５によれば、拡張回数の制限がないので記憶資源の許容範囲内でＤ−ＶＯＬ７２の記憶領域を拡張することができる。また必要に応じてレベル０で解放されたＤ−ＶＯＬ７２が使用していた論理ユニット（ＬＵ）を使って記憶領域が拡張される。このため、重要度の高いデータについてスナップショットを安全に管理することができる。
【００８３】
図１０Ａは、クライアント装置３０（又はサーバ装置１０の管理コンソール）に表示される画面（以下、Ｄ−ＶＯＬ管理状況表示画面１０１０）である。同図に示すように、Ｄ−ＶＯＬ管理状況表示画面１０１０には、ファイルシステム２１２ごと（ファイルシステム名１１０１）に、そのファイルシステム２１２に設定されているレベル（ステータス１１０２）、Ｄ−ＶＯＬ７２溢れに対する管理方法の適用状況（回避策適用状況１１０３）、及び適用されている管理方法の詳細（詳細１０１４）が表示される。同図においてファイルシステム名１０１１の一つを選択すると、図１０Ｂに示す画面（以下、ファイル保護状況表示画面１０２０）が表示される。
【００８４】
図１０Ｂに示すように、ファイル保護状況表示画面１０２０には、スナップショットごと（スナップショット名１０２１）に、そのスナップショットについて解放可能に設定されているファイルのファイル名（ファイル名１０２２）、及びそのファイルがレベル３又はレベル４の適用において解放不可（保護）又は解放可（非保護）のいずれに設定されているか（ステータス１０２３）が表示される。
【００８５】
ユーザやオペレータ等は、Ｄ−ＶＯＬ管理状況表示画面１０１０を参照することで、ファイルシステム２１２ごとのＤ−ＶＯＬ７２の記憶領域不足に対する回避策の適用状況を知ることができる。またファイル保護状況表示画面１０２０を参照することで各ファイルについての保護状態（解放不可／解放可）を知ることができる。
【００８６】
＜処理説明＞
図１１はスナップショット処理部２１３のレベル決定処理部２１３１によって行われる、ファイルシステム２１２のレベルを決定する処理（以下、レベル決定処理Ｓ１１００と称する。）を説明するフローチャートである。以下、同図とともに説明する。
【００８７】
まずレベル決定処理部２１３１は、未処理のファイルシステムを１つ選択する（Ｓ１１１０）。次にレベル決定処理部２１３１は、選択したファイルシステムについて利用状況を取得する（Ｓ１１１１）。前述したように、利用状況とはＰ−ＶＯＬ７１又はＤ−ＶＯＬ７２に関する情報であって、例えばＰ−ＶＯＬ７１にアクセスしているユーザ数（アクセスユーザ数）（例えばアクセスしているクライアント装置３０の数）、Ｐ−ＶＯＬ７１へのアクセス頻度（回数／時間）、スナップショット取得頻度（回数／時間）、スナップショット参照頻度（回数／時間）である。利用状況は、例えばスナップショット処理部２１３が管理している。
【００８８】
次にレベル決定処理部２１３１は、取得した利用状況と図６Ｂに例示した条件ファイル６２０とに基づき、選択しているファイルシステム２１２に設定する管理方法（レベル）を決定する（Ｓ１１１２）。
【００８９】
次にレベル決定処理部２１３１は、設定したレベルをレベル管理テーブル６１０に登録する。尚、このときレベル決定処理部２１３１は、登録したレベルを決定する際に用いた利用状況（例えばアクセス頻度６１３，スナップショット取得頻度６１４、スナップショット参照回数６１５）も併せてレベル管理テーブル６１０に登録する。
【００９０】
次にレベル決定処理部２１３１は、サーバ装置１０に存在する全てのファイルシステム２１２についてレベルが設定済（処理済）か否かを判断する（Ｓ１１１４）。処理済でなければ（Ｓ１１１４：ＮＯ）、Ｓ１１１０に戻って未処理のファイルシステム２１２について処理を繰り返す。処理済であれば（Ｓ１１１４：ＹＥＳ）、処理が終了する。
【００９１】
以上の処理は適宜なタイミング（定期的、又は不定期）に行われ、現在または最近の利用状況に基づき、各ファイルシステム２１２について適切な管理方法が設定される。
【００９２】
図１２は、サーバ装置１０が、クライアント装置３０からスナップショットの参照要求を受け付けた場合に行われる処理（以下、参照要求受付処理Ｓ１２００と称する。）を説明するフローチャートである。以下、同図とともに説明する。
【００９３】
まずスナップショット処理部２１３の参照要求処理部２１３３は、スナップショットの参照要求がされているファイルシステム２１２について現在設定されているレベルを取得する（Ｓ１２１０）。尚、レベルは例えばレベル管理テーブル６１０又は後述するログファイルから取得することができる。
【００９４】
次に参照要求処理部２１３３は、取得したレベルが０か否かを判定する（Ｓ１２１１）。０であれば（Ｓ１２１１：ＹＥＳ）、Ｓ１２１２に進み、０でなければ（Ｓ１２１１：ＮＯ）Ｓ１２２０に進む。Ｓ１２２０では、参照要求の対象になっているＰ−ＶＯＬ７１に、Ｄ−ＶＯＬ７２が設定されているか否かを判断する。設定されていれば（Ｓ１２２０：ＹＥＳ）、Ｓ１２２１に進み、設定されていなければ（Ｓ１２２０：ＮＯ）、処理が終了する。
【００９５】
Ｓ１２２１では、参照要求処理部２１３３は、要求されているスナップショットを生成して要求元（クライアント装置３０）に送信し、処理が終了する。  
Ｓ１２１２では、取得したレベルが１か否かを判定する。１であれば（Ｓ１２１２：ＹＥＳ）、Ｓ１２２０に進み、１でなければ（Ｓ１２１２：ＮＯ）、Ｓ１２１３に進む。  
Ｓ１２１３では、取得したレベルが２か否かを判定する。２であれば（Ｓ１２１３：ＹＥＳ）、Ｓ１２２１に進み、２でなければ（Ｓ１２１３：ＮＯ）、Ｓ１２１４に進む。  
Ｓ１２１４では、取得したレベルが３か否かを判定する。３であれば（Ｓ１２１４：ＹＥＳ）、Ｓ１２２２に進み、３でなければ（Ｓ１２１４：ＮＯ）、Ｓ１２１５に進む。
【００９６】
Ｓ１２２２では、参照対象のスナップショットのデータが解放済か否かを判断する。解放済であれば（Ｓ１２２２：ＹＥＳ）、要求元（クライアント装置３０）に当該スナップショットを参照できない旨のエラーメッセージを送信する（Ｓ１２２３）。解放済でなければ（Ｓ１２２２：ＮＯ）、Ｓ１２２１に進み、スナップショットを生成して要求元に送信する。
【００９７】
Ｓ１２１５では、取得したレベルが４か否かを判定する。４であれば（Ｓ１２１５：ＹＥＳ）、Ｓ１２２１に進み、４でなければ（Ｓ１２１５：ＮＯ）、Ｓ１２１６に進む。  
Ｓ１２１６では、取得したレベルが５か否かを判定する。５であれば（Ｓ１２１６：ＹＥＳ）、Ｓ１２２１に進み、５でなければ（Ｓ１２１６：ＮＯ）、処理が終了する。
【００９８】
以上のように、参照要求を受け付けると、サーバ装置１０は、ファイルシステム２１２について設定された管理方法に応じて適切な処理を実行する。とくにレベル３のファイルシステム２１２の場合には、参照対象のスナップショットのデータが解放済でなければ要求元にエラーメッセージが送信される。
【００９９】
図１３Ａは、サーバ装置１０が、クライアント装置３０からＰ−ＶＯＬ７１へのデータの書き込み要求を受け付けた場合の処理（以下、書き込み要求受付処理Ｓ１３００と称する。）を説明するフローチャートである。以下、同図とともに説明する。
【０１００】
まずスナップショット処理部２１３の書込要求処理部２１３２は、スナップショットが要求されているファイルシステム２１２について現在設定されているレベルを取得する（Ｓ１３１０）。レベルは、例えばレベル管理テーブル６１０又は後述するログファイルから取得することができる。
【０１０１】
次に書込要求処理部２１３２は、取得したレベルが０か否かを判定する（Ｓ１３１１）。０であれば（Ｓ１３１１：ＹＥＳ）、Ｓ１３１２に進み、０でなければ（Ｓ１３１１：ＮＯ）Ｓ１３１２に進む。Ｓ１３２０では、書き込み要求の対象になっているＰ−ＶＯＬ７１にＤ−ＶＯＬ７２が設定されているか否かを判断する。設定されていれば（Ｓ１３２０：ＹＥＳ）、Ｓ１３２１に進み、設定されていなければ（Ｓ１３２０：ＮＯ）、Ｓ１３２５に進む。  
Ｓ１３２１では、書き込み要求の対象になっているＰ−ＶＯＬ７１にデータを書き込み、Ｄ−ＶＯＬ７２に差分データを退避し、ＣｏＷビットマップ２１３５２を更新する（Ｓ１３２２）。その後は処理が終了する。  
Ｓ１３２５では、書き込み要求の対象になっているＰ−ＶＯＬ７１にデータを書き込む。その後は処理が終了する。
【０１０２】
Ｓ１３１２では、書込要求処理部２１３２は、取得したレベルが１か否かを判定する。１であれば（Ｓ１３１２：ＹＥＳ）、Ｓ１３２０に進み、１でなければ（Ｓ１３１２：ＮＯ）Ｓ１３１３に進む。  
Ｓ１３１３では、書込要求処理部２１３２は、取得したレベルが２か否かを判定する。２であれば（Ｓ１３１３：ＹＥＳ）、Ｓ１３３１に進み、２でなければ（Ｓ１３１３：ＮＯ）Ｓ１３１４に進む。Ｓ１３３１では、後述するレベル２固有処理（図１３Ｂ）を行い、その後はＳ１３２１に進む。  
Ｓ１３１４では、書込要求処理部２１３２は、取得したレベルが３か否かを判定する。３であれば（Ｓ１３１４：ＹＥＳ）、Ｓ１３３２に進み、３でなければ（Ｓ１３１４：ＮＯ）Ｓ１３１５に進む。Ｓ１３３２では、後述するレベル３固有処理（図１３Ｃ）を行い、その後はＳ１３２１に進む。  
Ｓ１３１５では、書込要求処理部２１３２は、取得したレベルが４か否かを判定する。４であれば（Ｓ１３１５：ＹＥＳ）、Ｓ１３３３に進み、４でなければ（Ｓ１３１５：ＮＯ）Ｓ１３１６に進む。Ｓ１３３３では、後述するレベル４固有処理（図１３Ｄ）を行い、その後はＳ１３２１に進む。  
Ｓ１３１６では、書込要求処理部２１３２は、取得したレベルが５か否かを判定する。５であれば（Ｓ１３１６：ＹＥＳ）、Ｓ１３３４に進み、５でなければ（Ｓ１３１６：ＮＯ）Ｓ１３１７に進む。Ｓ１３３４では、後述するレベル５固有処理（図１３Ｅ）を行い、その後はＳ１３２１に進む。
【０１０３】
図１３Ｂは、図１３Ａに示したレベル２固有処理Ｓ１３３１を説明するフローチャートである。まず書込要求処理部２１３２は、書き込み要求の対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下か否かを判断する（Ｓ１３３１１）。残容量以下であれば（Ｓ１３３１１：ＹＥＳ）、Ｓ１３３１２に進む。残容量以下でなければ（Ｓ１３３１１：ＮＯ）、図１３Ａの処理に戻る（Ｓ１３２１に進む）。  
Ｓ１３３１２では、タイムスタンプの古い順にＤ−ＶＯＬ７２の差分データを削除（初期化）し、Ｄ−ＶＯＬ７２の空き容量を増やす。  
続くＳ１３３１３では、削除した旨や削除したスナップショット名、削除日時等の情報をログファイルに出力する。その後は図１３Ａの処理に戻る（Ｓ１３２１に進む）。
【０１０４】
図１３Ｃは、図１３Ａに示したレベル３固有処理Ｓ１３３２を説明するフローチャートである。まず書込要求処理部２１３２は、書き込み要求の対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下か否かを判断する（Ｓ１３３２１）。残容量以下であれば（Ｓ１３３２１：ＹＥＳ）、Ｓ１３３２２に進む。残容量以下でなければ（Ｓ１３３２１：ＮＯ）、図１３Ａの処理に戻る（Ｓ１３２１に進む）。  
Ｓ１３３２２では、スナップショット管理テーブル２１３５を参照し、Ｄ−ＶＯＬ７２の記憶領域をファイル単位で解放する。  
続くＳ１３３２３では、解放した記憶領域を特定する情報（ブロックアドレス）や解放した日時等の情報をログファイルに出力する。その後は図１３Ａの処理に戻る（Ｓ１３２１に進む）。
【０１０５】
図１３Ｄは、図１３Ａに示したレベル４固有処理Ｓ１３３３を説明するフローチャートである。まず書込要求処理部２１３２は、書き込み要求の対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下か否かを判断する（Ｓ１３３２１）。残容量以下であれば（Ｓ１３３３１：ＹＥＳ）、Ｓ１３３３２に進む。残容量以下でなければ（Ｓ１３３３１：ＮＯ）、図１３Ａの処理に戻る（Ｓ１３２１に進む）。
【０１０６】
Ｓ１３３３２では、ＬＵ管理テーブル６５０から利用可能なＬＵを検索し、検索されたＬＵを用いてＤ−ＶＯＬ７２の記憶領域を拡張する。また拡張後はＬＵ管理テーブル６５０、論理ボリューム管理テーブル６４０を更新する。  
Ｓ１３３３３では、書込要求処理部２１３２は、Ｄ−ＶＯＬ７２の拡張回数が閾値を超えたか否かを判断する（Ｓ１３３３３）。閾値を超えた場合は（Ｓ１３３３３：ＹＥＳ）、Ｓ１３３３４に進み、超えない場合は（Ｓ１３３３３：ＮＯ）、図１３Ａの処理に戻る（Ｓ１３２１に進む）。  
Ｓ１３３３４では、レベル管理テーブル６１０を更新し、当該ファイルシステム２１２のレベルをレベル３に変更する。その後は図１３Ａの処理に戻る（Ｓ１３２１に進む）。
【０１０７】
図１３Ｅは、図１３Ａに示したレベル５固有処理（Ｓ１３３４）を説明するフローチャートである。まず書込要求処理部２１３２は、書き込み要求の対象のＰ−ＶＯＬ７１についてのＤ−ＶＯＬ７２の残容量が閾値以下か否かを判断する（Ｓ１３３４１）。残容量以下であれば（Ｓ１３３４１：ＹＥＳ）、Ｓ１３３４２に進む。残容量以下でなければ（Ｓ１３３４１：ＮＯ）、図１３Ａの処理に戻る（Ｓ１３２１に進む）。  
Ｓ１３３４２では、ＬＵ管理テーブル６５０から利用可能なＬＵを検索し、検索されたＬＵを用いてＤ−ＶＯＬ７２の記憶領域を拡張する。また拡張後はＬＵ管理テーブル６５０、論理ボリューム管理テーブル６４０を更新する。その後は図１３Ａの処理に戻る（Ｓ１３２１に進む）。
【０１０８】
以上、図１３Ａ乃至図１３Ｅとともに説明した書込要求受付処理Ｓ１３００によれば、ファイルシステム２１２について設定されたレベルに応じて適切に処理がなされる。
【０１０９】
図１４は、サーバ装置１０が、クライアント装置３０からスナップショットの取得要求を受け付けた場合に行われる処理（以下、スナップショット要求受付処理Ｓ１４００）を説明するフローチャートである。
【０１１０】
まずスナップショット処理部２１３の取得要求処理部２１３４は、スナップショットの取得要求がされているファイルシステム２１２について現在設定されているレベルを取得する（Ｓ１４１０）。尚、レベルは例えばレベル管理テーブル６１０又は後述するログファイルから取得することができる。
【０１１１】
次に取得要求処理部２１３４は、取得したレベルが０か否かを判定する（Ｓ１４１１）。０であれば（Ｓ１４１１：ＹＥＳ）、Ｓ１４１２に進み、０でなければ（Ｓ１４１１：ＮＯ、Ｓ１４２０に進む。Ｓ１４２０では、取得要求の対象になっているＰ−ＶＯＬ７１に、Ｄ−ＶＯＬ７２が設定されているか否かを判断し、設定されていれば（Ｓ１４２０：ＹＥＳ）、Ｓ１４２２に進み、設定されていなければ（Ｓ１４２０：ＮＯ）、処理が終了する。
【０１１２】
Ｓ１４２２では、取得要求処理部２１３４は、スナップショット管理テーブル２１３５の取得要求がされているブロックアドレスのＣｏＷビットマップ２１３５２の左側ビット列に１を設定し、スナップショット名２１３５３にスナップショット名を設定する。また続くＳ１４２３では、取得要求されているファイルシステム名、スナップショット名（世代数）、ファイルシステムに設定されているレベル、取得要求があった日時をログファイルに出力する。またレベル３の場合はファイルの削除条件等の情報もログファイルに出力する。
【０１１３】
Ｓ１４１２では、取得したレベルが１か否かを判定する。１であれば（Ｓ１４１２：ＹＥＳ）、Ｓ１４２０に進み、１でなければ（Ｓ１４１２：ＮＯ）、Ｓ１４１３に進む。  
Ｓ１４１３では、取得したレベルが２か否かを判定する。２であれば（Ｓ１４１３：ＹＥＳ）、Ｓ１４２２に進み、２でなければ（Ｓ１４１３：ＮＯ）、Ｓ１４１４に進む。  
Ｓ１４１４では、取得したレベルが３か否かを判定する。３であれば（Ｓ１４１４：ＹＥＳ）、Ｓ１４２１に進み、３でなければ（Ｓ１４１４：ＮＯ）、Ｓ１４１５に進む。  
Ｓ１４２１では、スナップショット管理テーブルにおいて差分データを取得する必要のないブロックアドレスを調べ、該当のＣｏＷビットマップの右側ビット列に１を設定する。  
Ｓ１４１５では、取得したレベルが４か否かを判定する。４であれば（Ｓ１４１５：ＹＥＳ）、Ｓ１４２２に進み、４でなければ（Ｓ１４１５：ＮＯ）、Ｓ１４１６に進む。  
Ｓ１４１６では、取得したレベルが５か否かを判定する。５であれば（Ｓ１４１６：ＹＥＳ）、Ｓ１４２２に進み、５でなければ（Ｓ１４１６：ＮＯ）、処理が終了する。
【０１１４】
以上のように、スナップショットの取得要求を受け付けると、サーバ装置１０は、ファイルシステム２１２について設定されているレベルに応じて適切な処理を実行する。
【０１１５】
図１５Ａに以上の処理においてＤ−ＶＯＬ７２に格納されていた差分データが削除された際にサーバ装置１０が出力するログファイルの一例（ログファイル１５１０）を示す。ユーザ等はこのログファイル１５１０を参照することにより、Ｄ−ＶＯＬ７２から削除された差分データに関する情報を知ることができる。また図１５Ｂにサーバ装置１０がクライアント装置３０からスナップショットの取得要求を受け付けた際にサーバ装置１０が出力するログファイルの一例（ログファイル１５２０）を示す。ユーザ等は、このログファイル１５２０を参照することにより、どのようなデータ（ファイル）が削除対象になっているかを知ることができる。
【０１１６】
尚、以上の実施形態の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。
【図面の簡単な説明】
【０１１７】
【図１Ａ】情報処理システム１のハードウエアを示す図である。
【図１Ｂ】サーバ装置１０又はクライアント装置３０として利用可能なコンピュータのハードウエア構成の一例を示す図である。
【図２】サーバ装置１０の主たる機能を示す図である。
【図３Ａ】ファイルシステム２１２が管理するファイル管理情報３１０の一例である。
【図３Ｂ】ディレクトリエントリ３１２の一例である。
【図３Ｃ】ｉ−ノードテーブル３１３の一例である。
【図３Ｄ】ストレージ装置２０からクライアント装置３０への記憶領域の供給形態を説明する図である。
【図４Ａ】Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（初期状態）を示す図である。
【図４Ｂ】Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（スナップショット取得要求を受け付けた後の状態）を示す図である。
【図４Ｃ】Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（Ｐ−ＶＯＬ７１更新後の状態）を示す図である。
【図４Ｄ】Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（第１世代のスナップショットの参照要求があった場合）を示す図である。
【図５】ファイルシステム２１２に設定可能な管理方法（レベル）の一覧を示す図である。
【図６Ａ】レベル管理テーブル６１０の一例である。
【図６Ｂ】条件ファイル６２０の一例である。
【図６Ｃ】ファイルシステム管理テーブル６３０の一例である。
【図６Ｄ】論理ボリューム管理テーブル６４０の一例である。
【図６Ｅ】ＬＵ管理テーブル６５０の一例である。
【図７Ａ】レベル０の処理の詳細を説明する図である。
【図７Ｂ】レベル１の処理の詳細を説明する図である。
【図７Ｃ】レベル２の処理の詳細を説明する図である。
【図７Ｄ】レベル４の処理の詳細を説明する図である。
【図７Ｅ】レベル５の処理の詳細を説明する図である。
【図８Ａ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（初期状態）を示す図である。
【図８Ｂ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（第１世代のスナップショット取得要求を受け付けた状態）を示す図である。
【図８Ｃ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（ファイルが更新された場合）を示す図である。
【図８Ｄ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（第１世代のスナップショット取得要求を受け付けた状態）を示す図である。
【図８Ｅ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（Ｄ−ＶＯＬ７２の残容量が閾値以下になった場合）を示す図である。
【図８Ｆ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態を示す図である。
【図８Ｇ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態を示す図である。
【図８Ｈ】レベル３の処理詳細の説明に用いる、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（Ｄ−ＶＯＬ７２の一部が解放された状態）を示す図である。
【図９Ａ】定義ファイル９１０の一例である。
【図９Ｂ】ｉノードテーブル３１３の一例である。
【図９Ｃ】Ｄ−ＶＯＬ７２の残容量が閾値以下か否か９３１、ＣｏＷビットマップ２１３５２の左側ビット列の内容９３２、及び右側ビット列の内容９３３と、これらの組み合わせごとの処理の内容９３４を一覧的に示した図である。
【図１０Ａ】Ｄ−ＶＯＬ管理状況表示画面１０１０の一例である。
【図１０Ｂ】ファイル保護状況表示画面１０２０の一例である。
【図１１】レベル決定処理Ｓ１１００を説明するフローチャートである。
【図１２】参照要求受付処理Ｓ１２００を説明するフローチャートである。
【図１３Ａ】書き込み要求受付処理Ｓ１３００を説明するフローチャートである。
【図１３Ｂ】レベル２固有処理Ｓ１３３１を説明するフローチャートである。
【図１３Ｃ】レベル３固有処理Ｓ１３３２を説明するフローチャートである。
【図１３Ｄ】レベル４固有処理Ｓ１３３３を説明するフローチャートである。
【図１３Ｅ】レベル５固有処理Ｓ１３３４を説明するフローチャートである。
【図１４】スナップショット要求受付処理Ｓ１４００を説明するフローチャートである。
【図１５Ａ】ログファイル１５１０の一例を示す図である。
【図１５Ｂ】ログファイル１５２０の一例を示す図である。
【符号の説明】
【０１１８】
１  情報処理システム
１０  サーバ装置
２１１  ファイル共有システム
２１２  ファイルシステム
２１３  スナップショット処理部
２１３１  レベル決定処理部
２１３２  書込要求処理部
２１３３  参照要求処理部
２１３４  取得要求処理部
２１３５  スナップショット管理テーブル
２１３５２  ＣｏＷビットマップ
２１４  ＬＶＭ
２１５  オペレーティングシステム
３１０  ファイル管理情報
３１２  ディレクトリエントリ
３１３  ｉノードテーブル
６１０  レベル管理テーブル
６２０  条件ファイル
６３０  ファイルシステム管理テーブル
６４０  論理ボリューム管理テーブル
６５０  ＬＵ管理テーブル
【図１Ａ】
2010092177.tif 000003
【図１Ｂ】
2010092177.tif 000004
【図２】
2010092177.tif 000005
【図３Ａ】
2010092177.tif 000006
【図３Ｂ】
2010092177.tif 000007
【図３Ｃ】
2010092177.tif 000008
【図３Ｄ】
2010092177.tif 000009
【図４Ａ】
2010092177.tif 000010
【図５】
2010092177.tif 000011
【図６Ａ】
2010092177.tif 000012
【図６Ｂ】
2010092177.tif 000013
【図６Ｃ】
2010092177.tif 000014
【図６Ｄ】
2010092177.tif 000015
【図６Ｅ】
2010092177.tif 000016
【図７Ａ】
2010092177.tif 000017
【図７Ｂ】
2010092177.tif 000018
【図７Ｃ】
2010092177.tif 000019
【図７Ｄ】
2010092177.tif 000020
【図７Ｅ】
2010092177.tif 000021
【図８Ａ】
2010092177.tif 000022
【図９Ａ】
2010092177.tif 000023
【図９Ｂ】
2010092177.tif 000024
【図９Ｃ】
2010092177.tif 000025
【図１０Ａ】
2010092177.tif 000026
【図１０Ｂ】
2010092177.tif 000027
【図１１】
2010092177.tif 000028
【図１２】
2010092177.tif 000029
【図１３Ａ】
2010092177.tif 000030
【図１３Ｂ】
2010092177.tif 000031
【図１３Ｃ】
2010092177.tif 000032
【図１３Ｄ】
2010092177.tif 000033
【図１３Ｅ】
2010092177.tif 000034
【図１４】
2010092177.tif 000035
【図１５Ａ】
2010092177.tif 000036
【図１５Ｂ】
2010092177.tif 000037
【図４Ｂ】
2010092177.tif 000038
【図４Ｃ】
2010092177.tif 000039
【図４Ｄ】
2010092177.tif 000040
【図８Ｂ】
2010092177.tif 000041
【図８Ｃ】
2010092177.tif 000042
【図８Ｄ】
2010092177.tif 000043
【図８Ｅ】
2010092177.tif 000044
【図８Ｆ】
2010092177.tif 000045
【図８Ｇ】
2010092177.tif 000046
【図８Ｈ】
2010092177.tif 000047