(57)【要約】【課題】ストレージシステムに備えられる複数のストレージデバイスの保護能力がそれぞれ異なっていても、電子的な保護対象に要求される保護能力で該保護対象を保護する。【解決手段】記憶制御装置に、保護制御部を備え、記憶制御装置の記憶資源に、保護能力の異なる複数のストレージデバイスにそれぞれ関連付けられた複数の異なる保護能力値を含んだ情報であるストレージデバイス管理情報を記憶させる。保護制御部は、記憶資源に記憶されているストレージデバイス管理情報を用いて、電子的な保護対象に要求される保護能力である要求保護能力値を満たすように、該保護対象を前記複数のストレージデバイスのうちの一以上のストレージデバイスに格納する。【選択図】図３
2008152695.tif 000002
【特許請求の範囲】
【請求項１】
保護能力の異なる複数のストレージデバイスにそれぞれ関連付けられた複数の異なる保護能力値を含んだ情報であるストレージデバイス管理情報を記憶する記憶資源と、
前記記憶資源に記憶されているストレージデバイス管理情報を用いて、電子的な保護対象に要求される保護能力である要求保護能力値を満たすように、該保護対象を前記複数のストレージデバイスのうちの一以上のストレージデバイスに格納する保護制御部と
を備える記憶制御装置。
【請求項２】
前記一以上のストレージデバイスは、前記保護対象の要求保護能力値以上になる合計となる一以上の保護能力値にそれぞれ対応している、
請求項１記載の記憶制御装置。
【請求項３】
ストレージデバイスの指定と該ストレージデバイスに関連付ける保護能力値の指定とを、前記記憶制御装置の外部の端末である外部端末から受け付け、前記ストレージデバイス管理情報に、該外部端末から指定されたストレージデバイスに関連付ける保護能力値を含める保護能力値設定部を更に備える、
請求項１記載の記憶制御装置。
【請求項４】
前記複数のストレージデバイスの少なくとも一つに記憶されている保護対象の指定と該保護対象に関連付ける要求保護能力値の指定とを、前記記憶制御装置の外部の端末である外部端末から受け付け、該外部端末から指定された保護対象に前記指定された要求保護能力値を関連付ける要求保護能力値設定部を更に備える、
請求項１記載の記憶制御装置。
【請求項５】
前記保護制御部は、保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかが変更された場合、要求される保護能力値が満たされなくなった保護対象の有無を判断し、要求される保護能力値を満たさなくなった保護対象を検出したならば、該保護対象に要求される保護能力値を満たすように、該保護対象を、前記複数のストレージデバイスのうちの別のストレージデバイスにコピーする、
請求項１記載の記憶制御装置。
【請求項６】
前記変更された場合とは、ストレージデバイスの保護能力値が０にされた場合である、
請求項５記載の記憶制御装置。
【請求項７】
前記保護制御部は、要求される保護能力値を満たさなくなった全ての保護対象についてコピーが完了した場合、コピー完了を表す情報を、前記記憶制御装置の外部の端末である外部端末に送信する、
請求項６記載の記憶制御装置。
【請求項８】
前記ストレージデバイス管理情報は、前記複数のストレージデバイスのうちのどの二以上のストレージデバイスにより排他グループが構成されているかを表す情報要素を含み、
前記保護制御部は、要求される保護能力値を満たさなくなった保護対象のコピー先として、該保護対象を記憶しているストレージデバイスを含んだ排他グループ内のストレージデバイスとは異なる別のストレージデバイスを選択し、選択した別のストレージデバイスに該保護対象をコピーする、
請求項５記載の記憶制御装置。
【請求項９】
前記複数のストレージデバイスのうちのどの二以上のストレージデバイスの指定と排他グループ作成指示とを、前記記憶制御装置の外部の端末である外部端末から受け付け、該外部端末からのグループ作成指示に従って、指定された二以上のストレージデバイスで構成された排他グループを表す情報要素を前記ストレージデバイス管理情報に含める排他グループ作成部を更に備える、
請求項８記載の記憶制御装置。
【請求項１０】
前記複数のストレージデバイスの各々は、一以上の物理的なストレージデバイスを基に提供される論理的なストレージデバイスであり、
前記排他グループは、複数の物理的なストレージデバイスを備えたストレージシステム内の複数の論理的なストレージデバイスで構成されたグループ、或いは、ＲＡＩＤグループにより提供される複数の論理的なストレージデバイスで構成されたグループであり、
前記ＲＡＩＤグループは、複数の物理的なストレージデバイスのうちの二以上の物理的なストレージデバイスによりＲＡＩＤで構成されたグループである、
請求項８記載の記憶制御装置。
【請求項１１】
前記保護対象は、ファイル及びディレクトリのうちの少なくとも一方であり、
前記要求保護能力値は、ファイル、ディレクトリ、或いはそのグループ単位で関連付けられる、
請求項１記載の記憶制御装置。
【請求項１２】
前記保護制御部が、上位装置から送信されたファイルを受信し、該ファイルに要求保護能力値が関連付けられていない場合、ライト先のディレクトリの要求保護能力値を、該ファイルに関連付ける、
請求項１１記載の記憶制御装置。
【請求項１３】
前記保護制御部は、第一のケースの場合には、多くのストレージデバイスに同一の保護対象を格納し、第二のケースの場合には、第一のケースに比して少ない数のストレージデバイスに同一の保護対象を格納する、
請求項１記載の記憶制御装置。
【請求項１４】
前記第一のケースとは、消費記憶容量の節約よりも冗長性を重視することであり、第二のケースとは、冗長性よりも消費記憶容量の節約を重視することである、
請求項１３記載の記憶制御装置。
【請求項１５】
前記保護制御部は、保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかが変更された場合、該保護対象を記憶している二以上のストレージデバイスのうちの少なくとも一つから該保護対象を消去しても該保護対象の要求保護能力値を満たす記憶が維持できるならば、該少なくとも一つのストレージデバイスから該保護対象を消去する、
請求項１記載の記憶制御装置。
【請求項１６】
前記記憶制御装置は、複数のノード、或いは、複数のノードと複数のストレージデバイスとを備えたストレージシステムである、
請求項１記載の記憶制御装置。
【請求項１７】
前記ストレージデバイス管理情報は、前記複数のストレージデバイスのうちのどの二以上のストレージデバイスにより排他グループが構成されているかを表す情報要素を含み、
前記保護制御部は、
上位装置から送信された保護対象を受信し、該保護対象の要求保護能力値以上になる合計となる二以上の保護能力値にそれぞれ対応し前記排他グループの被らない二以上のストレージデバイスに、該保護対象をライトし、
該保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかが変更された場合、要求される保護能力値が満たされなくなった保護対象の有無を判断し、要求される保護能力値を満たさなくなった保護対象を検出したならば、該保護対象に要求される保護能力値を満たすように、該保護対象を、前記複数のストレージデバイスのうちの、該保護対象を記憶しているストレージデバイスと前記排他グループの被らない別のストレージデバイスにコピーする、
請求項１記載の記憶制御装置。
【請求項１８】
保護能力の異なる複数のストレージデバイスにそれぞれ関連付けられた複数の異なる保護能力値を含んだ情報であるストレージデバイス管理情報から、各ストレージデバイスの各保護能力値を識別し、
電子的な保護対象に要求される保護能力である要求保護能力値を満たすように、該保護対象を前記複数のストレージデバイスのうちの一以上のストレージデバイスに格納する、
記憶制御方法。
【請求項１９】
保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかを変更し、
要求される保護能力値が満たされなくなった保護対象の有無を判断し、
要求される保護能力値を満たさなくなった保護対象を検出したならば、該保護対象に要求される保護能力値を満たすように、該保護対象を、前記複数のストレージデバイスのうちの別のストレージデバイスにコピーする、
請求項１８の記憶制御方法。
【請求項２０】
保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかの変更では、リプレース対象のストレージデバイスの保護能力値を０に変更する、
請求項１９記載の記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データなどの電子的な保護対象を保護するための記憶制御に関する。
【背景技術】
【０００２】
複数のストレージデバイスを備えるストレージシステムとして、例えば、特許文献１及び２に開示のシステムが知られている。特許文献１には、それぞれ仮想プールを有する複数のＣＡＳ（Content
Addressable Storage）システムがあり、仮想プールへのＩ／Ｏの割り振りに関する技術が開示されている。特許文献２には、改竄防止期限内にデータ移行を行うことが開示されている。
【０００３】
【特許文献１】米国公開特許明細書２００６／００３１６５３号
【特許文献２】特開２００６−２９３８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、例えば、ＲＡＩＮ（Redundant Array of Independent Nodes）型のストレージシステムが知られている。この種のストレージシステム（以下、ＲＡＩＮシステム）は、複数のノードで構成され、各ノードには、ディスク型記憶装置（例えばハードディスクドライブ）が内蔵されている。ノードに対するホストからのファイルレベルのデータ（例えばファイル或いはディレクトリ）は、複数のノードのうちのｋ個のノードにそれぞれ内蔵されているｋ個のディスク型記憶装置（以下、ディスク装置）に記憶される（ｋは２以上の整数で一定の値）。言い換えれば、データの多重度がｋになる。或るノードが壊れた場合、その或るノードが保持していたデータの多重度がｋより低くなってしまうが、ＲＡＩＮシステムでは、冗長度の下がってしまったデータが、そのデータを記憶している別のノードからまた別のノードにコピーされ、それにより、ＲＡＩＮシステムに記憶されているデータの多重度をｋに戻すことができる。
【０００５】
ＲＡＩＮシステムでは、複数のノードにそれぞれ内蔵されている複数のディスク装置の種類は同じであることが多い。なぜなら、それら複数のディスク装置の種類が異なっていると、一定の多重度ｎでデータを記憶しても、データがどのノードのディスク装置に記憶されるかによって、データ保護の信頼性に差が出てしまうおそれがあるからである。言い換えれば、ＲＡＩＮシステムの課題の一つとして、複数のディスク装置の種類が異なると、要求される保護能力でデータを保護することが必ずしもできないということがある。
【０００６】
従って、本発明の一つの目的は、ストレージシステムに備えられる複数のストレージデバイスの保護能力がそれぞれ異なっていても、電子的な保護対象に要求される保護能力で該保護対象を保護することにある。
【０００７】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【０００８】
記憶制御装置に、保護制御部を備え、記憶制御装置の記憶資源に、保護能力の異なる複数のストレージデバイスにそれぞれ関連付けられた複数の異なる保護能力値を含んだ情報であるストレージデバイス管理情報を記憶させる。保護制御部は、記憶資源に記憶されているストレージデバイス管理情報を用いて、電子的な保護対象に要求される保護能力である要求保護能力値を満たすように、該保護対象を前記複数のストレージデバイスのうちの一以上のストレージデバイスに格納する。
【発明を実施するための最良の形態】
【０００９】
本発明の幾つかの実施形態を説明する。その幾つかの実施形態を詳細に説明する前に、概要を記載する。
【００１０】
記憶制御装置に備えられた保護制御部は、例えば、後述のホストライト処理プログラム、ノードライト処理プログラム及びプロテクトチェック処理プログラムを実行するプロセッサとすることができる。保護制御部は、保護対象Ａ１の要求保護能力値以上になる合計となる二以上の保護能力値にそれぞれ対応している複数のストレージデバイスに、保護対象Ａ１を格納する。これにより、保護対象Ａ１が一以上のストレージデバイスに格納される（例えば多重化される）ことになる。
【００１１】
記憶制御装置に、保護能力設定部を更に備えることができる。保護能力設定部は、ストレージデバイスの指定と該ストレージデバイスに関連付ける保護能力値の指定とを、記憶制御装置の外部の端末である外部端末から受け付け、ストレージデバイス管理情報に、該外部端末から指定されたストレージデバイスに関連付ける保護能力値を含めることができる。外部端末としては、ホスト、管理端末（management console）などとすることができる。
【００１２】
記憶制御装置に、要求保護能力値設定部を更に備えることができる。要求保護能力値設定部は、複数のストレージデバイスの少なくとも一つに記憶されている保護対象の指定と該保護対象に関連付ける要求保護能力値の指定とを、外部端末から受け付け、該外部端末から指定された保護対象に該指定された要求保護能力値を関連付けることができる。
【００１３】
保護制御部は、保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかが変更された場合、要求される保護能力値が満たされなくなった保護対象の有無を判断し、要求される保護能力値を満たさなくなった保護対象を検出したならば、該保護対象Ａ２に要求される保護能力値を満たすように、該保護対象Ａ２を、該保護対象Ａ２を既に記憶しているストレージデバイスＡ１とは別のストレージデバイスＡ２にコピーすることができる。なお、ここで、上記変更された場合とは、ストレージデバイスの保護能力値が０にされた場合である。具体的には、例えば、リプレース対象のストレージデバイスの保護能力値が０にされる。保護能力値“０”は、外部端末から指定されても良いし、外部端末からリプレース対象（例えば、ストレージサブシステム、ＲＡＩＤグループなど）が指定された場合に、該リプレース対象に属するストレージデバイスを判別し、判別されたストレージデバイスの保護能力値を“０”に変更しても良い。保護制御部は、要求される保護能力値を満たさなくなった全ての保護対象についてコピーが完了した場合、コピー完了を表す情報を外部端末に送信することができる。外部端末が、コピー完了を表示することができる。
【００１４】
より具体的には、例えば、以下の流れで、ストレージデバイスをリプレースすることにより、保護対象Ａ２の要求保護能力値を維持することができる。ここでは、記憶制御装置は、複数のノードで構成されているとする。
・人間が、新たなストレージデバイスを古いストレージデバイスが接続されているノードＡに接続する。
・人間が、外部端末を用いて、古いストレージデバイスの保護能力値を0に設定する。
・そうなると、古いストレージデバイスに格納されている保護対象Ａ２の要求保護能力値が満たされなくなる。そのため、ノードＡが、セルフヒーリング処理を行う。具体的には、ノードＡが、古いストレージデバイス内の保護対象をリードし、新しいストレージデバイス（又は、他のノード）にコピーする。
・セルフヒーリング処理が完了したならば、該完了を検知したノードが、外部端末に、完了を通知し、外部端末が、完了を表示する。これにより、人間は、セルフヒーリング処理の終了を知ることができる。その後に、人間が、古いストレージデバイスを外す。
【００１５】
さて、前述したストレージデバイス管理情報は、複数のストレージデバイスのうちのどの二以上のストレージデバイスにより排他グループが構成されているかを表す情報要素を含む。保護制御部は、要求される保護能力値を満たさなくなった保護対象のコピー先として、該保護対象を記憶しているストレージデバイスを含んだ排他グループ内のストレージデバイスとは異なる別のストレージデバイスを選択し、選択した別のストレージデバイスに該保護対象をコピーすることができる。
【００１６】
記憶制御装置は、排他グループ作成部を更に備えることができる。排他グループ作成部は、複数のストレージデバイスのうちのどの一以上のストレージデバイスの指定と排他グループ作成指示とを、前記記憶制御装置の外部の端末である外部端末から受け付け、該外部端末からのグループ作成指示に従って、指定された一以上のストレージデバイスで構成された排他グループを表す情報要素を前記ストレージデバイス管理情報に含めることができる。
【００１７】
複数のストレージデバイスの各々は、一以上の物理的なストレージデバイスを基に提供される論理的なストレージデバイスとすることができる。排他グループは、複数の物理的なストレージデバイスを備えたストレージシステム内の複数の論理的なストレージデバイスで構成されたグループ、或いは、ＲＡＩＤグループにより提供される複数の論理的なストレージデバイスで構成されたグループとすることができる。ＲＡＩＤグループは、複数の物理的なストレージデバイスのうちの二以上の物理的なストレージデバイスによりＲＡＩＤで構成されたグループである。
【００１８】
保護対象は、ファイル及びディレクトリのうちの少なくとも一方であり、要求保護能力値は、ファイル、ディレクトリ、或いはそのグループ単位で関連付けられるとすることができる。保護制御部が、上位装置から送信されたファイルを受信し、該ファイルに要求保護能力値が関連付けられていない場合、ライト先のディレクトリの要求保護能力値を、該ファイルに関連付けることができる。
【００１９】
保護制御部は、第一のケースの場合には、多くのストレージデバイスに同一の保護対象を格納し、第二のケースの場合には、第一のケースに比して少ない数のストレージデバイスに同一の保護対象を格納することができる。例えば、第一のケースとは、消費記憶容量の節約よりも冗長性（redundancy）を重視することであり、第二のケースとは、冗長性よりも消費記憶容量の節約を重視することである。
【００２０】
また、保護制御部は、保護対象の要求保護能力値とストレージデバイスの保護能力値とのいずれかが変更された場合、該保護対象を記憶している二以上のストレージデバイスのうちの少なくとも一つから該保護対象を消去しても該保護対象の要求保護能力値を満たす記憶が維持できるならば、該少なくとも一つのストレージデバイスから該保護対象を消去することができる。
【００２１】
記憶制御装置は、複数のノード、或いは、複数のノードと複数のストレージデバイスとを備えたストレージシステムとすることができる。
【００２２】
上述した各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ（例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること）により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、ＣＤ−ＲＯＭ等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。また、ストレージデバイスは、物理的であっても論理的であっても良い。物理的なストレージデバイスとしては、例えば、ハードディスク、磁気ディスク、光ディスク、磁気テープ、或いは半導体メモリであっても良い。論理的なストレージデバイスとしては、論理ボリュームとすることができる。
【００２３】
以下、図面を参照して、本発明の幾つかの実施形態を詳細に説明する。
【００２４】
＜第一の実施形態＞。
【００２５】
図１は、本発明の第一の実施形態に係るコンピュータシステムの構成例を示す。
【００２６】
ＬＡＮ（Local Area Network）１０５に、ホストコンピュータ（以下、単に「ホスト」と言う）１０１と、管理端末１０３と、ストレージシステム１０７とが接続されている。ストレージシステム１０７には、複数のノード１０９と、複数のストレージサブシステム１１１とが備えられている。複数のノード１０９と複数のストレージサブシステム１０７がＳＡＮ（Storage Area Network）１１３に接続されている。また、複数のノード１０９は、それぞれ、フロントエンドで、ＬＡＮ１０５に接続されており、バックエンドで、別のＬＡＮ１１５に接続されている。以下、ＬＡＮ１０５と区別するために、ＬＡＮ１１５を「バックエンドＬＡＮ１１５」と称する。
【００２７】
複数のストレージサブシステム１０７は、それぞれ、一又は複数の論理的な記憶デバイス（以下、「ＬＤＥＶ」と略記する）を複数のノード１０９に提供する。ＬＤＥＶは、ＬＵ（Logical Unit）或いは論理ボリュームと呼ばれても良い。本実施形態では、全てのノード１０９から全てのストレージサブシステム１０７の全てのＬＤＥＶが見える（認識される）が、それに限らず、どのノード１０９にどのストレージサブシステム１０７のどのＬＤＥＶを見せるかが制限されても良い。
【００２８】
複数のノード１０９は、それぞれ、パーソナルコンピュータ等の計算機である。各ノード１０９は、他のノード１０９とバックエンドＬＡＮ１１５を介して通信することができる。また、複数のノード１０９は、いずれも、ホスト１０１に対して同じファイルシステムを見せることができる。具体的には、例えば、各ノード１０９は、ホスト１０１に対してＮＦＳ（Network File System）サーバとして機能することができる。この場合、ホスト１０１はＮＦＳクライアントとして機能することができる。ＮＦＳに代えて、ＣＩＦＳ（Common Interface File
System）サーバなど他種のファイルサーバとして機能しても良い。
【００２９】
ホスト１０１は、電子的な保護対象（例えばファイル或いはディレクトリ）のライト或いはリードをストレージシステム１０７に要求する。具体的には、例えば、ホスト１０１は、ファイルレベルのＩ／Ｏ要求（ライトコマンド或いはリードコマンド）を、複数のノード１０９のうちのいずれかのノード１０９に送信する。
【００３０】
管理端末１０３は、ストレージシステム１０７を管理する計算機である。具体的には、例えば、管理端末１０３は、ＬＡＮ１０５を介して、各ノード１０９が保持している情報を収集し記憶することができる。また、管理端末１０３は、ホスト１０１から格納したストレージシステム１０７への保護対象に、保持期限（retention period）を設定することができる。これにより、ホスト１０１或いはストレージシステム１０７によって、保持期限に達していない保護対象が上書き或いは削除されてしまうことを防ぐことができる。
【００３１】
以上が、本実施形態に係るコンピュータシステムの構成例である。なお、上記説明において、例えば、ＬＡＮ１０５、ＬＡＮ１１５及びＳＡＮ１１３のうちの少なくとも一つは、他種の通信ネットワークが採用されても良い。また、例えば、ＬＡＮ１１５とＳＡＮ１１３は共通の通信ネットワークであっても良い。また、例えば、図１には、一つのホスト１０１を示したが、ホスト１０１は複数台あっても良い。また、例えば、ストレージシステム１０７は、アーカイブ用のストレージシステム、具体的には、例えば、ＷＯＲＭ（Write Once Read Many）タイプのストレージシステムであってもよい。
【００３２】
図２は、ノードとＬＤＥＶとの論理的な関係の一例を示す図である。
【００３３】
各ノード１０９には、複数のストレージサブシステムにおける複数のＬＤＥＶのうち、管理対象になっているＬＤＥＶとそうでないＬＤＥＶとがある。この図２では、ノード１０９とそれの管理対象となっているＬＤＥＶとの関係を、実線矢印で表している。ノードＡを代表的に例に採って説明すると、ノードＡは、複数のＬＤＥＶ
Ａ〜Ｆが見えるものの、ストレージサブシステムＡ内のＬＤＥＶ Ａと、ストレージサブシステムＢ内のＬＤＥＶ Ｃとを管理しており、他のＬＤＥＶ Ｂ、Ｄ、Ｅ及びＦを管理していない。ＬＤＥＶ Ａ及びＣの記憶容量がそれぞれ２００ＧＢ（ギガバイト）の場合、ノードＡは、合計４００ＧＢを所有していることになる。ノードＡは、ファイルレベルのＩ／Ｏ要求をホスト１０１から受信した場合、該ファイルレベルのＩ／Ｏ要求に従うＩ／Ｏ先となるＬＤＥＶが、自分（自ノード（own node））の管理対象であれば（ＬＤＥＶ
Ａ又はＣであれば）、ブロックレベルのＩ／Ｏ要求（例えば、ＳＣＳＩ（Small Computer System Interface）に従うライトコマンド或いはリードコマンド）を該ＬＤＥＶに送信する。一方、ノードＡは、該ファイルレベルのＩ／Ｏ要求に従うＩ／Ｏ先となるＬＤＥＶが、自分の管理対象でなければ（例えば、ＬＤＥＶ
Ｂであれば）、そのＬＤＥＶを管理対象としている別のノード１０９（例えばノードＢ）に、Ｉ／Ｏを要求する。この場合、該別のノード１０９が、その要求に従って、そのＬＤＥＶにブロックレベルのＩ／Ｏ要求を発行する。
【００３４】
各ＬＤＥＶには、プロテクトポイントが関連付けられる（図では、プロテクトポイントは“ＰＰ”と略記されている）。「プロテクトポイント」とは、ＬＤＥＶに記憶されているデータの失われにくさを表す。このため、プロテクトポイントが高ければ高いほど、データが失われにくいことになる。本実施形態では、ＬＤＥＶに関連付けられるプロテクトポイントは、そのＬＤＥＶがどんなＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）レベルのＲＡＩＤグループに設けられているかに基づいて決定される。具体的には、例えば、ＲＡＩＤ構成が採られていないディスク装置に設けられるＬＤＥＶには、プロテクトポイント“１”が関連付けられ、ＲＡＩＤ５のＲＡＩＤグループに設けられたＬＤＥＶには、プロテクトポイント“２”が関連付けられ、ＲＡＩＤ１のＲＡＩＤグループに設けられたＬＤＥＶには、プロテクトポイント“３”が関連付けられ、ＲＡＩＤ６のＲＡＩＤグループに設けられたＬＤＥＶには、プロテクトポイント“４”が関連付けられる（“”内の値は、プロテクトポイントとしての値を意味する）。プロテクトポイントは、例えば、管理端末１０３を使用する管理者によって決定される。プロテクトポイントは、整数である必要は無く、小数或いは分数などで表されても良い。また、各ＬＤＥＶのプロテクトポイントは、ホスト１０１、管理端末１０３或いはノード１０９によって、ストレージデバイス情報を基に自動で決定されても良い。ストレージデバイス情報には、例えば、どのＬＤＥＶがどのＲＡＩＤレベルのＲＡＩＤグループを基に形成され、該ＲＡＩＤグループを構成する各ストレージデバイスがどんな種類であるかが記録されている。この場合、ホスト１０１、管理端末１０３或いはノード１０９が、ＬＤＥＶが属するＲＡＩＤグループのＲＡＩＤレベルと、該ＬＤＥＶが属するストレージデバイスの種類との少なくとも一方を基に、該ＬＤＥＶのプロテクトポイントを決定しても良い。ストレージデバイスの種類としては、例えば、ディスク型ストレージデバイス（ハードディスクドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ）やフラッシュメモリデバイスなどであってもよいし、ディスク型ストレージデバイスについては、ＦＣ（Fibre Channel）、ＳＡＴＡ（Serial ATA）などがあってもよい。
【００３５】
また、本実施形態では、排他プロテクトグループ、という概念が用意される。排他プロテクトグループとは、同時に壊れる可能性のある（或いは、同時にリプレースされる可能性のある）ＬＤＥＶの論理的なグループである。具体的には、例えば、同一のＲＡＩＤグループから形成された複数のＬＤＥＶのグループである。排他プロテクトグループ内の複数のＬＤＥＶ間で（つまり、排他プロテクトグループ内で）、データのコピーが行われないよう制御される。具体的には、例えば、排他プロテクトグループＡ内にあるＬＤＥＶ
Ａから、同一の排他プロテクトグループＡ内にあるＬＤＥＶ Ｂには、データのコピーが行われないよう制御される。
【００３６】
この実施形態では、保護対象に要求されるプロテクトポイント（以下、要求プロテクトポイント）を満たすように保護対象を記憶することが、各ノード１０９が有する機能により実現される。保護対象（例えばファイル或いはディレクトリ）の要求プロテクトポイントは、ホスト１０１で設定されても良いし、管理端末１０３から設定されてもよい。
【００３７】
図３は、ノード１０９によって実行される記憶制御の一例の概要を示す。
【００３８】
例えば、ノードＡによって、要求プロテクトポイント“４”の保護対象９５３が、プロテクトポイント“２”のＬＤＥＶ
Ａにライトされたとする。しかし、それだけでは、要求プロテクトポイント“４”を満たす記憶にはならない。なぜなら、格納先ＬＤＥＶ
Ａのプロテクトポイント“２”が要求プロテクトポイント“４”未満だからである。
【００３９】
そこで、ノードＡは、ＬＤＥＶ Ａにライトする保護対象９５３を、別のＬＤＥＶにコピーする。ＬＤＥＶ Ａのプロテクトポイント“２”とコピー先ＬＤＥＶのプロテクトポイントとの合計が、保護対象９５３の要求プロテクトポイント“４”以上であれば、該要求プロテクトポイントを満たす記憶が完了したことになる。具体的には、例えば、ノードＡは、保護対象９５３を、プロテクトポイント“３”であるＬＤＥＶ
ＣにＬＤＥＶ Ａからコピーする。この場合、ＬＤＥＶ
ＡとＬＤＥＶ Ｃのプロテクトポイントの合計が“５”になり、要求プロテクトポイント“４”以上であるので、要求プロテクトポイント“４”を満たす記憶が完了したことになる。なお、ノードＡは、コピー先として、ＬＤＥＶ
Ａが属する排他プロテクトグループＡ内のＬＤＥＶ Ｂを選択しないようにする。これにより、ＬＤＥＶ Ａ及びＢが同時に壊れることにより保護対象９５３が同時に無くなってしまうことを防ぐことができる。
【００４０】
もし、ＬＤＥＶ Ａのプロテクトポイント“２”とコピー先ＬＤＥＶのプロテクトポイントとの合計が、要求プロテクトポイント“４”以上でなければ、要求プロテクトポイント“４”を満たす記憶が完了していないので、ノードＡは、また別のＬＤＥＶに保護対象９５３をコピーする。このような処理は、ＬＤＥＶ
Ａのプロテクトポイント“２”と、一以上のコピー先のＬＤＥＶにそれぞれ関連付けられている一以上のプロテクトポイントとの合計が、要求プロテクトポイント“４”以上になるまで行われる。
【００４１】
要するに、各ノード１０９は、要求プロテクトポイント“ｎ”の保護対象を、該保護対象を記憶する一以上のＬＤＥＶのそれぞれの一以上のプロテクトポイントの合計が要求プロテクトポイント“ｎ”以上になるような記憶制御を実行する。
【００４２】
このような記憶制御は、例えば、ＬＤＥＶのプロテクトポイントが変更された場合、保護対象の要求プロテクトポイントが変更された場合、ＬＤＥＶ有効化処理が実行された場合、及びＬＤＥＶ無効化処理が実行された場合のうちの少なくとも一つの場合に実行される（それぞれの場合については後に詳述する）。その際、各ノード１０９は、ライト先のＬＤＥＶが自分の管理対象ではない場合には、該ライト先のＬＤＥＶを管理対象とする他のノード１０９に、保護対象のライトを依頼する。また、各ノード１０９は、前述したように、保護対象のコピー先とするＬＤＥＶとして、該保護対象を記憶するＬＤＥＶが属する排他プロテクトグループに属しないＬＤＥＶを選択する。また、各ノード１０９は、或るＬＤＥＶにライトする保護対象を二以上の別のＬＤＥＶにコピーする場合、或るＬＤＥＶを共通のコピー元として二以上の別のＬＤＥＶにそれぞれコピーしても良いし（つまり、いわゆるマルチターゲット方式でコピーしても良いし）、或るＬＤＥＶから或る別のＬＤＥＶにコピーし該或る別のＬＤＥＶからまた別のＬＤＥＶにコピーしても良い（つまり、いわゆるマルチホップ方式でコピーしても良い）。
【００４３】
以下、本実施形態についてより詳細に説明する。
【００４４】
図４Ａは、管理端末１０３のハードウェア構成例を示す。
【００４５】
管理端末１０３は、ＣＰＵ１７３、記憶資源１７７、表示装置１７５、入力装置１７９及びＬＡＮ
Ｉ／Ｆ１８１を備える。記憶資源１７７は、例えば、メモリ及びディスク装置の少なくとも一方で構成することができるが、それに限らず、他種の記憶媒体により構成されても良い。ＬＡＮ
Ｉ／Ｆ１８１は、ＬＡＮ１０５を介して通信するためのインタフェース装置である。
【００４６】
記憶資源１７７には、ＣＰＵ１７３で実行される複数のコンピュータプログラムが記憶される。具体的には、例えば、記憶資源１７７には、図５に例示するように、管理ソフトウェア５１３が記憶される。管理ソフトウェア５１３は、例えば、設定制御プログラム５０１、排他プロテクトグループ設定プログラム５０３、プロテクトポイント管理プログラム５０５、ＬＤＥＶ有効化プログラム５０７、ＬＤＥＶ無効化プログラム５０９、及び要求プロテクトポイント管理プログラム５１１がある。各コンピュータプログラムについては後述する。
【００４７】
図４Ｂは、ストレージサブシステム１１１のハードウェア構成例を示す。
【００４８】
ストレージサブシステム１１１は、コントローラ３０７と、複数のディスク装置３０３とを備える。コントローラ３０７は、例えば、ＳＡＮ
Ｉ／Ｆ３３２、ＣＰＵ３３３、メモリ３３４、ディスクＩ／Ｆ３３６及び転送制御回路３４１を備える。ＳＡＮ
Ｉ／Ｆ３３２は、ＳＡＮ１１３を介した通信（例えばファイバチャネル（ＦＣ）のプロトコルに従う通信）を実行するためのインタフェース装置である。メモリ３３４は、例えば、ノード１０９とディスク装置３０３との間でやり取りされるブロックレベルのデータを一時的に記憶するキャッシュメモリとして利用される。ディスクＩ／Ｆ３３６は、各ディスク装置３０３との通信（例えばＦＣのプロトコルに従う通信）を実行するためのインタフェース装置である。転送制御回路３４１は、ＳＡＮ
Ｉ／Ｆ３３２、ＣＰＵ３３３、メモリ３３４及びディスクＩ／Ｆ３３６間の接続を制御するＬＳＩ（Large Scale Integration）である。
【００４９】
複数のディスク装置３０３のうちの二以上のディスク装置３０３により、ＲＡＩＤグループを構成することができる。ＲＡＩＤグループは、複数個備えられる。図４Ｃに例示するように、ＲＡＩＤグループにより提供される記憶空間を区切ることで、一つのＲＡＩＤグループから一又は複数のＬＤＥＶを形成することができる。なお、複数のディスク装置３０３のうちの少なくとも一つが、フラッシュメモリデバイスなど、他種のストレージデバイスが採用されても良い。
【００５０】
図４Ｄは、ノード１０９のハードウェア構成例を示す。
【００５１】
ノード１０９は、ＣＰＵ２７３、記憶資源２７７、表示装置２７５、入力装置２７９、ＬＡＮ
Ｉ／Ｆ２８１及びＳＡＮ Ｉ／Ｆ２８３を備える。記憶資源２７７は、例えば、メモリ及びディスク装置の少なくとも一方で構成することができるが、それに限らず、他種の記憶媒体により構成されても良い。ＬＡＮ
Ｉ／Ｆ２８１は、ＬＡＮ１０５及びバックエンドＬＡＮ１１５を介して通信するためのインタフェース装置である。ＳＡＮ
Ｉ／Ｆ２８３は、ＳＡＮ１１３を介した通信を実行するためのインタフェース装置である。
【００５２】
記憶資源２７７には、ＣＰＵ２７３で実行される複数のコンピュータプログラムや、種々の情報が記憶される。複数のコンピュータプログラムとして、例えば、図６に例示するように、ホストライト処理プログラム４０１、ノードライト処理プログラム４０３、ホストリード処理プログラム４０５、ノードリード処理プログラム４０７、管理通信プログラム４０９、プロテクトチェック処理プログラム４１１、グループ作成処理プログラム４１３、グループ消去処理プログラム４１５、プロテクトポイント変更処理プログラム４１７、要求プロテクトポイント変更処理プログラム４１９、ＬＤＥＶ有効化処理プログラム４２１、ＬＤＥＶ無効化処理プログラム４２３、ＬＤＥＶ発見処理プログラム４２５及び空き容量率計算処理プログラム４２７がある。また、種々の情報として、例えば、図６に例示するように、ＬＤＥＶ管理テーブル４２９、ディレクトリ管理テーブル４３１、ファイル管理テーブル４３３、ファイルデータ管理テーブル４３５及びＬＤＥＶ空きブロックビットマップ４３７がある。
【００５３】
以下、各種情報について説明する。まず、ＬＤＥＶ管理テーブル４２９について説明する。
【００５４】
図７Ａは、ＬＤＥＶ管理テーブル４２９の構成例を示す。
【００５５】
ＬＤＥＶ管理テーブル４２９は、ストレージシステム１０７内のＬＤＥＶを管理するためのテーブルである。全てのノード１０９が、同じ内容のＬＤＥＶ管理テーブル４２９を記憶する。
【００５６】
ＬＤＥＶ管理テーブル４２９を構成する複数のエントリ領域の各々は、一つのＬＤＥＶに対応し、ＬＤＥＶ通番（図では、０、１、…、ｎ…、）から識別することができる。以下、各エントリを「ＬＤＥＶ管理エントリ」と呼ぶ。ＬＤＥＶ通番とは、ストレージシステム１０７において一意のＬＤＥＶの番号である。ＬＤＥＶ通番は、ＬＤＥＶ管理エントリ番号と読み替えられても良い。
【００５７】
一つのＬＤＥＶ管理エントリに登録される複数種類の情報要素として、例えば、使用フラグ、サブシステムＩＤ、ＬＤＥＶ番号、管理ノードＩＤ、排他プロテクトグループＩＤ、プロテクトポイント、容量及び空き容量率がある。以下、図７Ａの説明において、一つのＬＤＥＶ管理エントリに対応するＬＤＥＶを「対象ＬＤＥＶ」と言う。
【００５８】
使用フラグは、対象ＬＤＥＶの使用状態を表す。具体的には、例えば、使用フラグ“１”という値が、ストレージシステム１０７内で使用中（例えば、対象ＬＤＥＶにＩ／Ｏが発生し得る状態）であることを意味する。使用フラグ“０”という値が、ストレージシステム１０７内で未使用（例えば、対象ＬＤＥＶにＩ／Ｏが発生し得ない状態）であることを意味する。使用フラグ“−１”という値が、このＬＤＥＶ管理エントリが無効（対象ＬＤＥＶがしない状態であること）であることを意味する。
【００５９】
サブシステムＩＤは、対象ＬＤＥＶを有するストレージサブシステム１１１の識別子である。
【００６０】
ＬＤＥＶ番号は、そのストレージサブシステム１１１内で管理されているＬＤＥＶ番号（対象ＬＤＥＶの番号）であり、ストレージシステム１０７内で一意であるＬＤＥＶ通番とは異なる。
【００６１】
管理ノードＩＤは、対象ＬＤＥＶを管理対象としているノード１０９の識別子である。もし、対象ＬＤＥＶを管理対象とするノードが存在しなければ、管理ノードＩＤとして、そのことを意味する値（例えば“−１”）が設定される。対象ＬＤＥＶにつき管理ノードは一つである。これにより、対象ＬＤＥＶ内のデータが他のノードによって誤ってアップデートされてしまうといったことを防ぐことができる。一つの対象ＬＤＥＶに複数の管理ノードがあってもよい。管理ノードは、所定の照会コマンド（例えば、ＳＣＳＩでサポートされているinquiryコマンド）を対象ＬＤＥＶに対して送信することで、サブシステムＩＤ及びＬＤＥＶ番号を、対象ＬＤＥＶを有するストレージサブシステム１１１から取得することができる。
【００６２】
排他プロテクトグループＩＤは、対象ＬＤＥＶを構成要素としている排他プロテクトグループの識別子である。対象ＬＤＥＶを構成要素としている排他プロテクトグループが存在しなければ（例えば、同時に障害の生じる単位が対象ＬＤＥＶのみであれば）、排他プロテクトグループＩＤとして、そのことを意味する値（“−１”）が設定される。
【００６３】
プロテクトポイントは、対象ＬＤＥＶに関連付けられるプロテクトポイントである。プロテクトポイントは、ＬＤＥＶ毎に代えて又は加えて、例えば、ストレージサブシステム毎、ＲＡＩＤグループ毎、或いは、ディスク装置毎に設定することが可能である。しかし、いずれの単位で設定されても、設定されたプロテクトポイントは、ＬＤＥＶに反映される。具体的には、例えば、或るストレージサブシステム１１１、或いは、或るＲＡＩＤグループに或るプロテクトポイントが指定された場合、該ストレージサブシステム１１１にある全ＬＤＥＶ、或いは、該ＲＡＩＤグループに属する全ＬＤＥＶに、指定されたプロテクトポイントが関連付けられる。
【００６４】
容量は、対象ＬＤＥＶの記憶容量である。
【００６５】
空き容量率は、対象ＬＤＥＶの記憶容量を１００％とした場合の未使用の記憶容量の比率（％）である。空き容量率は、後述する空き容量率計算処理で計算され設定される。
【００６６】
以上が、ＬＤＥＶ管理テーブル４２９についての説明である。次に、ディレクトリ管理テーブル４３１について説明する。
【００６７】
図７Ｂは、ディレクトリ管理テーブル４３１の構成例を示す。
【００６８】
ディレクトリ管理テーブル４３１は、ストレージシステム１０７内のディレクトリを管理するためのテーブルである。全てのノード１０９が、同じ内容のディレクトリ管理テーブル４３１を記憶する。
【００６９】
ディレクトリ管理テーブル４３１を構成する複数のエントリの各々は、一つのディレクトリに対応し、ディレクトリ通番（図では、０、１、…、ｎ…、）から識別することができる。以下、各エントリを「ディレクトリエントリ」と呼ぶ。ディレクトリ通番とは、ストレージシステム１０７において一意のディレクトリの番号である。ディレクトリ通番は、ディレクトリエントリ番号と読み替えられても良い。
【００７０】
一つのディレクトリエントリに登録される複数種類の情報要素として、例えば、ディレクトリ名、親ディレクトリ（parent directory）番号、子ディレクトリ（cub directory）番号リスト、排他プロテクトグループＩＤ、要求プロテクトポイント、保持期限、生成日時（creation time）及びファイル番号リストがある。以下、図７Ｂの説明において、一つのディレクトリエントリに対応するディレクトリを「対象ディレクトリ」と言う。
【００７１】
ディレクトリ名は、対象ディレクトリの名称である。このディレクトリエントリが無効（対象ディレクトリが存在しない状態であること）である場合には、ディレクトリ名として、無効を示す値（例えば“−１”）が設定される。
【００７２】
親ディレクトリ番号は、対象ディレクトリにとっての親ディレクトリ（対象ディレクトリの直近且つ上位のディレクトリ）のディレクトリ通番である。対象ディレクトリがルートディレクトリの場合、親ディレクトリ番号として、そのことを意味する値（例えば“−１”）が設定される。
【００７３】
子ディレクトリ番号リストは、対象ディレクトリにとっての全ての子ディレクトリ（対象ディレクトリの下位のディレクトリ）のディレクトリ通番のリストである。
【００７４】
要求プロテクトポイントは、対象ディレクトリに関連付けられた要求プロテクトポイントである。この要求プロテクトポイントは、対象ディレクトリ内にライトされるファイルに対応した要求プロテクトポイントや、対象ディレクトリの子ディレクトリに対応した要求プロテクトポイントのそれぞれのデフォルト値となる。すなわち、例えば、図３１Ａに例示するように、要求プロテクトポイントの設定されていないファイルが、要求プロテクトポイント“ｊ”の対象ディレクトリにライトされる場合、該ファイルの要求プロテクトポイントは“ｊ”に設定される（ｊ≧０）。ちなみに、例えば、図３１Ｂに例示するように、要求プロテクトポイント“ｐ”のファイルが、要求プロテクトポイント“ｑ”の対象ディレクトリにライトされる場合、該ファイルの要求プロテクトポイントは“ｐ”のままである（ｐ≧０、ｑ≧０）。要するに、要求プロテクトポイントが設定されていないファイルがディレクトリにライトされる場合には、該ディレクトリの要求プロテクトポイントが該ファイルに関連付けられ、要求プロテクトポイントが設定されているファイルがディレクトリにライトされる場合には、該ディレクトリに要求プロテクトポイントに関わらず、該ファイルの要求プロテクトポイントが維持される。
【００７５】
保持期限は、対象ディレクトリの保持期限である。例えば、対象ディレクトリを管理しているノード１０９は、該対象ディレクトリの削除をホスト１０１から要求された場合、要求を受けた日時が保持期限を過ぎてなければ、対象ディレクトリを削除せず、要求を受けた日時が保持期限を過ぎていれば、該要求通りに対象ディレクトリを削除することができる。なお、保持期限は、ディレクトリに代えて又は加えて、ファイルにも関連付けることができるが、ディレクトリの保持期限とファイルの保持期限との関係は、ディレクトリの要求プロテクトポイントとファイルの要求プロテクトポイントとの関係と同じにすることができる。具体的には、例えば、ディレクトリに保持期限が設定された場合、該ディレクトリ内の複数のファイルのうち、保持期限の設定されていないファイルには、該ディレクトリの保持期限がファイルの保持期限とされて、保持期限の設定されているファイルには、該ディレクトリの保持期限に関わらず該ファイルの保持期限が維持されても良い。
【００７６】
生成日時は、対象ディレクトリがストレージシステム１０７に生成された日時である。
【００７７】
ファイル番号リストは、対象ディレクトリ内に存在する０個以上のファイルのファイル通番のリストである（ファイル通番については後述する）。
【００７８】
以上が、ディレクトリ管理テーブル４３１についての説明である。なお、ファイル或いはディレクトリ等の保護対象に関連付けられる要求プロテクトポイントは、例えば、図２９Ａに例示するように、該保護対象の属性を基に、ノード１０９（例えばホストライト処理プログラム４０１）によって自動的に決定されても良い。また、例えば、図２９Ｂに例示するように、ファイルに要求プロテクトポイントが設定されている場合、ファイルの要求プロテクトポイントと該ファイルのライト先のディレクトリの要求プロテクトポイントとのうちのどちらを優先するかが、所定の方法で（例えば、予め設定されたモードに従って、或いは、ファイル又はディレクトリの属性を基に）、ノード１０９（例えばホストライト処理プログラム４０１）によって自動的に選択されても良い。ディレクトリの要求プロテクトポイントが優先された場合、ファイルの要求プロテクトポイントが該ディレクトリの要求プロテクトポイントに変更され、ファイルの要求プロテクトポイントが優先された場合、ファイルの要求プロテクトポイントが維持されて良い。ここで、保護対象の属性として、例えば、保護対象の種類（例えば、ファイル、ディレクトリ）がある。ファイルの属性としては、例えば、ファイルの名称、識別子、保持期限などを採用することができる。また、ディレクトリの属性としては、例えば、ディレクトリの名称、生成日時、保持期限などを採用することができる。
【００７９】
次に、ファイル管理テーブル４３３について説明する。
【００８０】
図８Ａは、ファイル管理テーブル４３３の構成例を示す。
【００８１】
ファイル管理テーブル４３３は、ストレージシステム１０７内のファイルを管理するためのテーブルである。全てのノード１０９が、同じ内容のファイル管理テーブル４３３を記憶する。
【００８２】
ファイル管理テーブル４３３を構成する複数のエントリの各々は、一つのファイルに対応し、ファイル通番（図では、０、１、…、ｎ…、）から識別することができる。以下、各エントリを「ファイルエントリ」と呼ぶ。ファイル通番とは、ストレージシステム１０７において一意のファイルの番号である。ファイル通番は、ファイルエントリ番号と読み替えられても良い。
【００８３】
一つのファイルエントリに登録される複数種類の情報要素として、例えば、ファイル名、サイズ、生成日時、要求プロテクトポイント、保持期限及び格納位置リストがある。以下、図８Ａの説明において、一つのファイルエントリに対応するファイルを「対象ファイル」と言う。
【００８４】
ファイル名は、対象ファイルの名称である。このファイルエントリが無効（対象ファイルが存在せず新規に種々の情報要素をライトすることが可能な状態であること）である場合には、ファイル名として、無効を示す値（例えば“−１”）が設定される。
【００８５】
サイズは、対象ファイルのデータサイズである。
【００８６】
生成日時は、対象ファイルがストレージシステム１０７内に生成された日時（例えば、ホスト１０１からライトされた日時）である。
【００８７】
要求プロテクトポイントは、対象ファイルに関連付けられた要求プロテクトポイントである。
【００８８】
保持期限は、対象ファイルに関連付けられた保持期限である。
【００８９】
格納位置リストは、対象ファイルに対応した複数のブロックデータがそれぞれ存在する複数の位置の情報のリストである。具体的には、例えば、格納位置リストは、複数のサブエントリで構成され、各サブエントリには、ブロックデータが格納されている位置に関する情報要素として、例えば、格納ＬＤＥＶ通番と、ファイルデータ管理テーブルエントリ番号とが記録される。格納ＬＤＥＶ通番は、ブロックデータを格納しているＬＤＥＶに対応したＬＤＥＶ通番である。そのようなＬＤＥＶが存在しない場合、格納ＬＤＥＶ通番として、そのことを意味する無効値（例えば“−１”）が設定される。ファイルデータ管理テーブルエントリ番号とは、該ＬＤＥＶに対応したファイルデータ管理テーブルのエントリ番号である。
【００９０】
以上が、ファイル管理テーブル４３３についての説明である。次に、ファイルデータ管理テーブル４３５について説明する。
【００９１】
図８Ｂは、ファイルデータ管理テーブル４３５の構成例を示す。
【００９２】
ファイルデータ管理テーブル４３５は、ファイルに対応したブロックデータが対象ＬＤＥＶ内のどこにあるかを管理するためのテーブルである。ファイルデータ管理テーブル４３５は、ＬＤＥＶ毎に用意される。すなわち、この図８Ｂの説明において用いる「対象ＬＤＥＶ」とは、ファイルデータ管理テーブル４３５に対応したＬＤＥＶを意味する。ノード１０９には、そのノード１０９が管理しているＬＤＥＶに対応したファイルデータ管理テーブル４３５が記憶され、そのノード１０９が管理していないＬＤＥＶに対応したファイルデータ管理テーブル４３５は記憶されない。
【００９３】
ファイルデータ管理テーブル４３５を構成する複数のエントリの各々は、一つのファイルに対応し、ファイルデータ管理テーブルエントリ番号（図では、０、１、…、ｎ…、）から識別することができる。一つのファイルデータ管理テーブルエントリには、該エントリに対応するファイル（以下、対象ファイル）のブロックデータが対象ＬＤＥＶのどこに記憶されているかが記録される。具体的には、例えば、対象ファイルに対応した一以上のブロックデータをそれぞれ格納している一以上のブロック（対象ＬＤＥＶを構成するブロック（論理的な記憶領域））の番号のリストが記録される。以下、そのリストを「ブロックリスト」と呼ぶ。
【００９４】
以上が、ファイルデータ管理テーブル４３５についての説明である。次に、ＬＤＥＶ空きブロックビットマップ４３７について説明する。
【００９５】
図８Ｃは、ＬＤＥＶ空きブロックビットマップ４３７の構成例を示す。
【００９６】
ＬＤＥＶ空きブロックビットマップ４３７は、対象ＬＤＥＶにおけるどのブロックが空きであるかを管理するためのテーブルである。ＬＤＥＶ空きブロックビットマップ４３７は、ＬＤＥＶ毎に用意される。すなわち、この図８Ｃの説明において用いる「対象ＬＤＥＶ」とは、ＬＤＥＶ空きブロックビットマップ４３７に対応したＬＤＥＶを意味する。ノード１０９には、そのノード１０９が管理しているＬＤＥＶに対応したＬＤＥＶ空きブロックビットマップ４３７が記憶され、そのノード１０９が管理していないＬＤＥＶに対応したＬＤＥＶ空きブロックビットマップ４３７は記憶されない。ＬＤＥＶ空きブロックビットマップ４３７を構成する各ビットは、対象ＬＤＥＶを構成する複数のブロックの各々に対応している。“１”という値が空きのブロック（データが記憶されていないブロック）であることを意味する。
【００９７】
以上が、ＬＤＥＶ空きブロックビットマップ４３７についての説明である。
【００９８】
以下、本実施形態で行われる各種処理を説明する。
【００９９】
図９は、ホストライト処理の流れの一例を示す。図では、「ステップ」という言葉を「Ｓ」と略記している。
【０１００】
この図に示すホストライト処理は、ノード１０９がホストからライト要求を受信した時にそのノード１０９によって実行される。具体的には、そのノード１０９におけるホストライト処理プログラム４０１によって実行される。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するＣＰＵによって処理が行われるものとする。また、ライト要求で指定されているライト対象のファイルを「ライトファイル」と言う。
【０１０１】
ステップ１０１で、ホストライト処理プログラム４０１は、ディレクトリ管理テーブル４３１をたどって、ライト要求で指定されているディレクトリに対応したディレクトリエントリを識別する。以下、この図９の説明において、そのディレクトリエントリを「当該ディレクトリエントリ」と呼ぶ。
【０１０２】
ステップ１０２で、ホストライト処理プログラム４０１は、ファイル管理テーブル４３３から無効ファイルエントリ（ファイル名として“−１”が設定されているファイルエントリ）を選択する。以下、このファイルエントリを、図９の説明において「当該ファイルエントリ」と呼ぶ。
【０１０３】
ステップ１０３で、ホストライト処理プログラム４０１は、当該ディレクトリエントリのファイル番号リストに、当該ファイルエントリに対応したファイル通番を追記する。
【０１０４】
ステップ１０４で、ホストライト処理プログラム４０１は、ライトファイルのファイル名、サイズ及び生成日時を、当該ファイルエントリに記録する。
【０１０５】
ステップ１０５で、ホストライト処理プログラム４０１は、上記ライト先ディレクトリの要求プロテクトポイント及び保持期限を、当該ファイルエントリに記録する。すなわち、ライトファイルの要求プロテクトポイント及び保持期限として、上記ライト先ディレクトリの要求プロテクトポイント及び保持期限が設定される。なお、このステップ１０５では、例えば、図２９Ａ或いは図２９Ｂを参照して説明した処理が実行されても良い。すなわち、ホストライト処理プログラム４０１は、ライトファイルのファイル属性に基づいてライトファイルの要求プロテクトポイントを決定しても良いし、ライトファイルに要求プロテクトポイントが関連付けられているか否かを判断し、関連付けられていると判断した場合には（例えば、ライトファイルに要求プロテクトポイントが埋め込まれていると判断した場合には）、ライトファイルとライト先ディレクトリのどちらの要求プロテクトポイントを優先するかを選択しても良い。
【０１０６】
ステップ１０６で、ホストライト処理プログラム４０１は、Ｘ＝ライトファイルの要求プロテクトポイントとする（例えば、記憶資源２７７に設定する）。
【０１０７】
ステップ１０７で、ホストライト処理プログラム４０１は、未選択且つ排他プロテクトグループの被らない使用中のＬＤＥＶであって、最も空き容量率の高いＬＤＥＶを選択する。このステップ１０７で選択されたＬＤＥＶを「選択ＬＤＥＶ」と言う。ここで、「未選択のＬＤＥＶ」とは、ライトファイルのライト先として未だ選択されていないＬＤＥＶである。そのライトファイルを初めてライトするのであれば、どのＬＤＥＶも未選択ＬＤＥＶであるが、例えば、後述のステップ１１８でＹｅｓとなった場合には、ステップ１０７で一旦選択されたＬＤＥＶは、未選択のＬＤＥＶではなく、選択済みのＬＤＥＶである。「排他プロテクトグループの被らないＬＤＥＶ」とは、選択済みのＬＤＥＶを有する排他プロテクトグループに無いＬＤＥＶである。この条件を満たすＬＤＥＶをライト先とすることで、排他プロテクトグループ内で保護対象（ファイル或いはディレクトリ）をコピーしてしまい後に同時にその保護対象を失ってしまうおそれを防ぐことができる。「使用中のＬＤＥＶ」とは、使用フラグとして使用中を表す値が設定されているＬＤＥＶ管理エントリに対応したＬＤＥＶである。「最も空き容量率の高いＬＤＥＶ」とは、未選択且つ排他プロテクトグループの被らない使用中のＬＤＥＶに該当する一以上のＬＤＥＶにそれぞれ対応した一以上のＬＤＥＶ管理エントリのうち、最も空き容量率の高いＬＤＥＶ管理エントリに対応したＬＤＥＶである。
【０１０８】
ステップ１０８で、ホストライト処理プログラム４０１は、選択ＬＤＥＶに対応した管理ノードを取得する。具体的には、ホストライト処理プログラム４０１は、選択ＬＤＥＶに対応したＬＤＥＶ管理エントリに記録されている管理ノードＩＤを取得する。
【０１０９】
ステップ１０９で、ホストライト処理プログラム４０１は、取得した管理ノードが、自ノードであるか否か、すなわち、そのホストライト処理プログラム４０１を実行している管理ノードであるか否かを判断する。自ノードと判断した場合には、ステップ１１０に進み、自ノードではないと判断した場合には、ステップ１１１に進む。
【０１１０】
ステップ１１０で、ホストライト処理プログラム４０１は、ノードライト処理プログラム４０３をコールする。これにより、ノードライト処理が行われる。ノードライト処理については、図１０を参照して後述する。
【０１１１】
ステップ１１１で、ホストライト処理プログラム４０１は、上記取得した管理ノードに、ライトファイルのライトを要求するライト要求を送信する。そのライト要求には、選択ＬＤＥＶに対応したＬＤＥＶ通番と、ライトファイルのサイズとが記録される。このライト要求により、ライト要求の送信先の管理ノードで、ノードライト処理プログラム４０３がコールされる。
【０１１２】
ステップ１１２で、ホストライト処理プログラム４０１は、終了待ちとなる。この間に、ホストライト処理プログラム４０１は、ライト要求の送信先管理ノードから、ライト要求の終了報告を受ける。正常終了報告を受ける場合、ホストライト処理プログラム４０１は、ファイルデータ管理テーブルエントリ番号を受ける。
【０１１３】
ステップ１１３で、ホストライト処理プログラム４０１は、ノードライト処理の終了が正常終了と異常終了のどちらであるか（例えば、受けた終了報告が正常終了報告であるか異常終了報告であるか）を判断する。正常終了と判断した場合、ステップ１１４に進み、異常終了と判断した場合、ステップ１１８に進む。
【０１１４】
ステップ１１４で、ホストライト処理プログラム４０１は、当該ファイルエントリの格納位置リストのサブエントリに、選択ＬＤＥＶに対応したＬＤＥＶ通番（格納ＬＤＥＶ通番）と、受けたファイルデータ管理テーブルエントリ番号とを記録する。
【０１１５】
ステップ１１５で、ホストライト処理プログラム４０１は、Ｘ＝Ｘ−選択ＬＤＥＶのプロテクトポイント（選択ＬＤＥＶに対応したＬＤＥＶ管理エントリに設定されているプロテクトポイント）、を計算する。つまり、Ｘがアップデートされる。
【０１１６】
ステップ１１６で、ホストライト処理プログラム４０１は、アップデート後のＸが０以下か否かを判断する。アップデート後のＸが０以下であるということは、ライトファイルの要求プロテクトポイントを満たす記憶制御が実行されたこと、すなわち、要求プロテクトポイント“ｎ”のライトファイルを、該ライトファイルを記憶する一以上のＬＤＥＶのそれぞれの一以上のプロテクトポイントの合計が要求プロテクトポイント“ｎ”以上になるような記憶制御が実行されたことを意味する。アップデート後のＸが０以下であれば、ステップ１１７に進み、アップデート後のＸが０を超えていれば、ステップ１１８に進む。
【０１１７】
ステップ１１７で、ホストライト処理プログラム４０１は、全ての他ノード１０９に、当該ディレクトリエントリと当該ファイルエントリとのアップデートを指示する。その指示の際に、例えば、当該ディレクトリエントリに対応したディレクトリ通番と、アップデート後の当該ディレクトリエントリに記録されている各種情報要素と、当該ファイルエントリに対応したファイル通番と、アップデート後の当該ファイルエントリに記録されている各種情報要素とが通知される。これにより、全ての他ノード１０９では、該指示に従って、ディレクトリ管理テーブル４３１における当該ディレクトリエントリと、ファイル管理テーブル４３３における当該ファイルエントリとが、それぞれ、通知されたディレクトリ番号及びファイル番号からそれぞれ識別されて、通知された情報要素を基にアップデートされ、その結果、全ノード１０９において、ディレクトリ管理テーブル４３１やファイル管理テーブル４３３が同じ内容となる。その後、ホストライト処理プログラム４０１は、ライト要求の送信元ホスト１０１に、正常報告を送信する。
【０１１８】
ステップ１１８で、ホストライト処理プログラム４０１は、未だ所定種類のＬＤＥＶがあるかどうかを判断する。ここで言う「所定種類のＬＤＥＶ」とは、未選択且つ排他プロテクトグループの被らない使用中のＬＤＥＶである。あるとの判断になれば、ステップ１０７に戻り、無いとの判断になれば、ホストライト処理プログラム４０１は、ライト要求の送信元ホスト１０１に、異常報告を送信する。
【０１１９】
以上が、ホストライト処理の説明である。なお、この図９における点線枠内の処理、すなわち、ステップ１０７〜ステップ１１８の処理が、プロテクトチェック処理（図１３参照）の「当該ファイルのデータライト」というステップ１９４で実行される。
【０１２０】
図１０は、ノードライト処理の流れの一例を示す。
【０１２１】
この図に示すノードライト処理は、ファイルに対応したブロックデータを実際にＬＤＥＶにライトする処理である。前述したホストライト処理において、管理ノードが、ホストライト処理を実行しているノード（自ノード）であれば、その自ノードにおいてホストライト処理の一部として実行され、管理ノードが自ノードではないノード（つまり他ノード）であれば、自ノードからのライト要求に応答して該他のノードで実行される。具体的には、自ノード或いは他ノードにおけるノードライト処理プログラム４０３によって実行される。
【０１２２】
ステップ１２１で、ノードライト処理プログラム４０３は、ブロックリストが空き（例えばヌル）のファイルデータ管理テーブルエントリを選択する。以下、選択されたエントリを、この図１０の説明において、「選択エントリ」と呼ぶ（図では、“Ｄ”というアルファベットで表す）。
【０１２３】
ステップ１２２で、ノードライト処理プログラム４０３は、選択ＬＤＥＶ（図９のステップ１０７で選択されたＬＤＥＶ）に対応したＬＤＥＶ空きブロックビットマップ４３７を取得する。
【０１２４】
ステップ１２３で、ノードライト処理プログラム４０３は、ライトファイルを構成するブロックデータをライトできるだけの空きが選択ＬＤＥＶにあるかどうかを判断する。具体的には、例えば、ノードライト処理プログラム４０３は、上記取得されたＬＤＥＶ空きブロックビットマップ４３７から把握される空きサイズが、ライトファイルのサイズ以上であるか否かを判断する。ライトできるだけの空きがあると判断されれば、ステップ１２４に進み、そのような空きが無いと判断されれば、ステップ１３１に進む。
【０１２５】
ステップ１２４で、ノードライト処理プログラム４０３は、選択ブロックから空きブロックを選択する。そして、ノードライト処理プログラム４０３は、選択した空きブロックに、ライトファイルのブロックデータをライトし（ステップ１２５）、選択エントリに、該空きブロックの番号を記録し（ステップ１２６）、該空きブロックに対応したビット（ＬＤＥＶ空きブロックビットマップ４３７上のビット）を、データが書かれたことを意味する値（例えば“０”）にする（ステップ１２７）。ライトファイルを構成する全てのブロックデータについて、ステップ１２４乃至１２７を実行し（ステップ１２８でＮｏ）、終了すれば（ステップ１２８でＹｅｓ）、ステップ１２９に進む。
【０１２６】
ステップ１２９で、ノードライト処理プログラム４０３は、他のノード（ホストライト処理プログラム４０１を実行しているノード）からのライト要求に従って実行されているか否かを判断する。他のノードからのライト要求に従って実行されている場合には（ステップ１２９でＹｅｓ）、ノードライト処理プログラム４０３は、選択エントリのファイルデータ管理テーブルエントリ番号を該他のノードに返し、正常終了報告を、該他のノードに送信し（ステップ１３０）、正常終了となる。一方、ノードライト処理プログラム４０３が上記他のノードからのライト要求で実行されているのではない場合には、ノードライト処理プログラム４０３は、ステップ１３０を行うことなく正常終了となる。
【０１２７】
ステップ１３１で、ノードライト処理プログラム４０３は、他のノード（ホストライト処理プログラム４０１を実行しているノード）からのライト要求に従って実行されているか否かを判断する。他のノードからのライト要求に従って実行されている場合には（ステップ１３１でＹｅｓ）、ノードライト処理プログラム４０３は、異常終了報告を、該他のノードに送信し（ステップ１３２）、異常終了となる。一方、ノードライト処理プログラム４０３が上記他のノードからのライト要求で実行されているのではない場合には、ノードライト処理プログラム４０３は、ステップ１３２を行うことなく異常終了となる。
【０１２８】
図１１は、ホストリード処理の流れの一例を示す。
【０１２９】
この図に示すホストリード処理は、ノード１０９がホストからリード要求を受信した時にそのノード１０９によって実行される。具体的には、そのノード１０９におけるホストリード処理プログラム４０５によって実行される。以下、リード要求で指定されているリード対象のファイルを「リードファイル」と言う。
【０１３０】
ステップ１４１で、ホストリード処理プログラム４０５は、ディレクトリ管理テーブル４３１をたどって、リード要求で指定されているディレクトリに対応したディレクトリエントリを識別する。以下、この図１１の説明において、そのディレクトリエントリを「当該ディレクトリエントリ」と呼ぶ。
【０１３１】
ステップ１４２で、ホストリード処理プログラム４０５は、当該ディレクトリエントリのファイル番号リストにある一以上のファイル通番にそれぞれ対応した一以上のファイルエントリから、リードファイルのファイル名が記録されているファイルエントリを検索する。該フェイルエントリが見つかれば（ステップ１４３でＹｅｓ）、ステップ１４４に進み、該ファイルエントリが見つからなければ（ステップ１４３でＮｏ）、ステップ１５３に進む。
【０１３２】
ステップ１４４で、ホストリード処理プログラム４０５は、見つかったファイルエントリの格納位置リストにおける先頭のサブエントリ（格納位置１）を選択する。
【０１３３】
ステップ１４５で、ホストリード処理プログラム４０５は、選択したサブエントリ（格納位置１）に記録されている格納ＬＤＥＶ通番に対応したＬＤＥＶエントリを取得し、該ＬＤＥＶエントリから、管理ノードＩＤを取得する。
【０１３４】
ステップ１４６で、ホストリード処理プログラム４０５は、取得した管理ノードＩＤに対応した管理ノードが、自ノードであるか否か（すなわち、そのホストリード処理プログラム４０５を実行している管理ノードであるか否か）を判断する。自ノードと判断した場合には、ステップ１４７に進み、自ノードではないと判断した場合には、ステップ１４８に進む。
【０１３５】
ステップ１４７で、ホストリード処理プログラム４０５は、ノードリード処理プログラム４０７をコールする。これにより、ノードリード処理が行われる。ノードリード処理については、図１２を参照して後述する。
【０１３６】
ステップ１４８で、ホストリード処理プログラム４０５は、上記取得した管理ノードＩＤに対応したノードに、リードファイルのリードを要求するリード要求を送信する。そのリード要求には、上記選択したサブエントリに記録されている格納ＬＤＥＶ通番及びファイルデータ管理テーブルエントリ番号と、リードサイズとが記録される。このリード要求に応答して、リード要求の送信先の管理ノードでノードリード処理が行われ、それにより、リードファイルを構成するブロックデータが読み出される。
【０１３７】
ステップ１４９で、ホストリード処理プログラム４０５は、終了待ちとなる。この間に、ホストリード処理プログラム４０５は、リード要求の送信先管理ノードから、リード要求の終了報告を受ける。正常終了報告を受ける場合、ホストリード処理プログラム４０５は、リードファイルを構成するブロックデータを受ける。
【０１３８】
ステップ１５０で、ホストリード処理プログラム４０５は、ノードリード処理の終了が正常終了と異常終了のどちらであるか（例えば、受けた終了報告が正常終了報告であるか異常終了報告であるか）を判断する。正常終了と判断した場合、ステップ１５４に進み、異常終了と判断した場合、ステップ１５１に進む。
【０１３９】
ステップ１５１で、ホストリード処理プログラム４０５は、格納位置リストに、このホストリード処理で未選択の次のサブエントリ（格納位置）があるか否かを判断する。あれば、次のサブエントリを選択して（ステップ１５２）、再びステップ１４５を実行し、無ければ、ステップ１５４に進む。
【０１４０】
ステップ１５３で、ホストリード処理プログラム４０５は、ホスト１０１に、異常終了を報告する。
【０１４１】
ステップ１５４で、ホストリード処理プログラム４０５は、ホスト１０１に、リードされたブロックデータで構成されるリードファイルを送信する。
【０１４２】
以上が、ホストリード処理の説明である。なお、この図１１における点線枠内の処理、すなわち、ステップ１４５〜ステップ１５２の処理が、プロテクトチェック処理（図１３参照）の「当該ファイルのデータリード」というステップ１９２で実行される。
【０１４３】
図１２は、ノードリード処理の流れの一例を示す。
【０１４４】
この図に示すノードリード処理は、ファイルに対応したブロックデータを実際にＬＤＥＶからリードする処理である。前述したホストリード処理において、管理ノードが、ホストリード処理を実行しているノード（自ノード）であれば、その自ノードにおいてホストリード処理の一部として実行され、管理ノードが自ノードではないノード（つまり他ノード）であれば、自ノードからのリード要求に応答して該他のノードで実行される。具体的には、自ノード或いは他ノードにおけるノードリード処理プログラム４０７によって実行される。
【０１４５】
ステップ１７１で、ノードリード処理プログラム４０７は、ホストリード処理において指定された格納ＬＤＥＶ通番に対応するファイルデータ管理テーブルの、指定されたファイルデータ管理テーブルエントリを、ファイル管理テーブル４３３から識別する。
【０１４６】
ステップ１７２で、ノードリード処理プログラム４０７は、識別されたファイルデータ管理テーブルエントリにあるブロックリストから、上記指定された格納ＬＤＥＶ通番に対応するＬＤＥＶにおいてブロックデータの記憶されている一以上のブロックを識別する。ノードリード処理プログラム４０７は、識別された一以上のブロックから、ブロックデータをリードする。
【０１４７】
ステップ１７３で、ノードリード処理プログラム４０７は、正常終了か否かを判断する。正常終了と判断した場合、ステップ１７４に進み、正常終了ではないと判断した場合、ステップ１７６に進む。例えば、リードされた一以上のブロックデータの合計サイズが、指定されたリードサイズ以上であれば、正常終了と判断し、そうでなければ、異常終了と判断する。
【０１４８】
ステップ１７４で、ノードリード処理プログラム４０７は、他のノード（ホストリード処理プログラム４０５を実行しているノード）からのリード要求に従って実行されているか否かを判断する。他のノードからのリード要求に従って実行されている場合には、ノードリード処理プログラム４０７は、正常終了報告と、リードされたブロックデータとを、該他のノードに送信し（ステップ１７５）、正常終了となる。一方、ノードリード処理プログラム４０７が上記他のノードからのリード要求で実行されているのではない場合には、ノードリード処理プログラム４０７は、ステップ１７５を行うことなく正常終了となる。
【０１４９】
ステップ１７６で、ノードリード処理プログラム４０７は、他のノード（ホストリード処理プログラム４０５を実行しているノード）からのリード要求に従って実行されているか否かを判断する。他のノードからのリード要求に従って実行されている場合には、ノードリード処理プログラム４０７は、異常終了報告を、該他のノードに送信し（ステップ１７７）、異常終了となる。一方、ノードリード処理プログラム４０７が上記他のノードからのリード要求で実行されたのではない場合には、ノードリード処理プログラム４０７は、ステップ１７７を行うことなく異常終了となる。
【０１５０】
図１３は、プロテクトチェック処理の流れの一例を示す。
【０１５１】
プロテクトチェック処理とは、ストレージシステム１０７に格納されている全てのファイルに対して、要求プロテクトポイントが満たされているかどうかを判定し、満たされていなければデータのコピーを行って満たすようにする処理である。プロテクトチェック処理は、プロテクトチェック処理プログラム４１１によって実行される。
【０１５２】
プロテクトチェック処理プログラム４１１は、ディレクトリ管理テーブル４３１におけるディレクトリエントリをルートから辿る（ステップ１８１）。すなわち、プロテクトチェック処理プログラム４１１は、ルートディレクトリのディレクトリエントリに記録されている子ディレクトリ番号リストを用いて、ディレクトリエントリを辿る。
【０１５３】
その結果、このプロテクトチェック処理において未選択のディレクトリエントリがあれば（ステップ１８２でＹｅｓ）、プロテクトチェック処理プログラム４１１は、該ディレクトリエントリを選択する（ステップ１８３）。
【０１５４】
プロテクトチェック処理プログラム４１１は、ステップ１８３で選択したディレクトリエントリのファイル番号リストにおいて、このプロテクトチェック処理において一以上の未選択のファイル通番があれば（ステップ１８４でＹｅｓ）、その一以上のファイル通番から一つのファイル通番を選択する（ステップ１８５）。
【０１５５】
ステップ１８６で、プロテクトチェック処理プログラム４１１は、ステップ１８５で選択したファイル通番に対応したファイルエントリを識別する。
【０１５６】
ステップ１８７で、プロテクトチェック処理プログラム４１１は、Ｘ＝識別されたファイルエントリに対応したファイルの要求プロテクトポイントとする（例えば、記憶資源２７７に設定する）。以下、そのファイルを、この図１３の説明において「当該ファイル」と呼ぶ。
【０１５７】
プロテクトチェック処理プログラム４１１は、当該ファイルに対応したファイルエントリの格納位置リストに、このプロテクトチェック処理において一以上の未選択のサブエントリ（格納位置）があれば（ステップ１８８でＹｅｓ）、一以上の未選択のサブエントリから一つのサブエントリを選択し、そのサブエントリにある格納ＬＤＥＶ通番に対応したＬＤＥＶエントリを識別する（ステップ１８９）。
【０１５８】
ステップ１９０で、プロテクトチェック処理プログラム４１１は、Ｘ＝Ｘ−当該ＬＤＥＶのプロテクトポイント（識別されたＬＤＥＶエントリに記録されているプロテクトポイント）を計算する。つまり、Ｘのアップデートが行われる。
【０１５９】
プロテクトチェック処理プログラム４１１は、アップデート後のＸが０を超えていれば、ステップ１９２以降に進む。つまり、要求プロテクトポイントが満たされていないので、当該ファイルをリードすることと、リードされた当該ファイルを、当該ファイルが未だ格納されていないＬＤＥＶにライトすることとが行われる（つまり当該ファイルのコピーが行われる）。
【０１６０】
具体的には、プロテクトチェック処理プログラム４１１が、ホストリード処理プログラム４０５をコールし、ホストリード処理プログラム４０５により、ステップ１９２、すなわち、当該ファイルのデータリード（図１１において点線枠で囲まれたステップ）が実行される（プロテクトチェック処理プログラム４１１自身がステップ１９２を実行しても良い）。当該ファイルのデータリードが異常終了となれば（ステップ１９３でＹｅｓ）、ステップ１８４に進み、正常終了となれば（ステップ１９３でＮｏ）、プロテクトチェック処理プログラム４１１が、ホストライト処理プログラム４０１をコールし、ホストライト処理プログラム４０１が、当該ファイルのデータライト（図９において点線枠で囲まれたステップ）を実行する（プロテクトチェック処理プログラム４１１自身がステップ１９４を実行しても良い）。
【０１６１】
開始されたプロテクトチェック処理は、ルートディレクトリに属する全ファイルについて実行される。
【０１６２】
以上のプロテクトチェック処理により、当該ファイルを記憶する一以上のＬＤＥＶのプロテクトポイントの合計値が当該ファイルの要求プロテクトポイントに満たない場合には、当該ファイルのコピーが、その合計値がその要求プロテクトポイント以上になるまで実行される。これにより、要求プロテクトポイントを満たす当該ファイルの保護を行うことができる。なお、当該ファイルのコピー中の場合（例えばステップ１９２を開始した場合）、プロテクトチェック処理プログラム４１１は、コピー中を管理端末１０３に通知し、管理端末１０３が、コピー中を意味する画面（例えば図２７Ｃ）を表示しても良い。また、そのコピーが完了した場合（例えばステップ１９４を終えた場合、或いは、プロテクトチェック処理を完了した場合）、プロテクトチェック処理プログラム４１１は、コピー完了を管理端末１０３に通知し、管理端末１０３が、コピー完了を意味する画面（例えば図２７Ｄ）を表示しても良い。
【０１６３】
図１４は、排他プロテクトグループの設定の流れの一例を示す。
【０１６４】
この流れは、例えば、管理者が管理端末１０３に対して排他プロテクトグループ設定を指示した場合に開始される。具体的には、例えば、管理者が管理端末１０３の入力装置１７９を用いて管理ソフトウェア５１３を起動した場合に、設定制御プログラム５０１が、図２６Ａに例示する管理メニュー画面を表示装置１７５に表示する。設定制御プログラム５０１が、管理メニュー画面における“排他プロテクトグループ設定”の選択の入力を管理者から受けた場合、排他プロテクトグループ設定プログラム５０３をコールする。
【０１６５】
ステップ２０１で、管理端末１０３において、排他プロテクトグループ設定プログラム５０３が、ＬＤＥＶ情報取得指示（使用中のＬＤＥＶに関する情報の取得指示）を、複数のノード１０９のうちのいずれかのノード１０９（例えば所定のノード１０９）に送信する。以下、図１４、図１５Ａ及び図１５Ｂの説明において、ＬＤＥＶ情報取得指示の送信先ノードを「対象ノード」と呼ぶ。
【０１６６】
ステップ２０２で、対象ノード１０９において、管理通信プログラム４０９が、ＬＤＥＶ情報取得指示を受け、該ＬＤＥＶ情報取得指示に従って、使用フラグが使用中を表しているＬＤＥＶエントリ（以下、使用中ＬＤＥＶエントリ）を識別し、識別された一以上の使用中ＬＤＥＶエントリにそれぞれ対応した一以上の情報群（一つの情報群を「ＬＤＥＶ情報群」と呼ぶ）を、管理端末１０３に送信する。ＬＤＥＶ情報群には、ＬＤＥＶエントリに対応したＬＤＥＶ通番や、ＬＤＥＶエントリに記録されている情報要素（以下、ＬＤＥＶ情報要素）が含まれている。管理通信プログラム４０９が、管理端末１０３との通信のためのエージェントプログラムとして用意されて良い。
【０１６７】
ステップ２０３で、管理端末１０３において、排他プロテクトグループ設定プログラム５０３が、対象ノード１０９から受信した一以上のＬＤＥＶ情報群を基に、ＬＤＥＶ情報要素を排他プロテクトグループに分けて一覧表示する。排他プロテクトグループ設定プログラム５０３は、上記受信した一以上のＬＤＥＶ情報群を基に、図２６Ｂに例示する使用中ＬＤＥＶ情報要素一覧画面を作成して表示することができる。すなわち、一以上のＬＤＥＶ情報群にそれぞれ対応した一以上のＬＤＥＶの各々について、排他プロテクトグループに属しているか否か、属しているのであればどの排他プロテクトグループに属しているか等を、上記受信した一以上のＬＤＥＶ情報群から識別して、上述の使用中ＬＤＥＶ情報要素一覧画面を作成することができる（例えば、プロテクトポイント（ＰＰ）、サブシステムＩＤ（ＳＳ
ＩＤ）及びＬＤＥＶ番号（ＬＤＥＶ＃）が表示される）。排他プロテクトグループ設定プログラム５０３は、排他プロテクトグループを作成或いは消去することを管理者から受け付けることができる。排他プロテクトグループの作成では、例えば、どの排他プロテクトグループにも属していない複数のＬＤＥＶの指定と、グループ作成の指示とを受ける。排他プロテクトグループの消去では、排他プロテクトグループの指定と、グループ消去の指示とを受ける。
【０１６８】
管理端末１０３において、排他プロテクトグループ設定プログラム５０３は、排他プロテクトグループの作成を管理者から受け付けた場合（ステップ２０４でＹｅｓ）、その一つの排他プロテクトグループに含める複数のＬＤＥＶにそれぞれ対応した複数のＬＤＥＶ通番を含んだグループ作成指示を作成し、該作成したグループ作成指示を、対象ノード１０９に送信する。それら複数のＬＤＥＶの各々は、例えば、使用中ＬＤＥＶ情報要素一覧画面上で管理者から指定されたＬＤＥＶである。
【０１６９】
対象ノード１０９において、管理通信プログラム４０９が、グループ作成指示に応答して、グループ作成処理プログラム４１３をコールする。グループ作成処理プログラム４１３が、グループ作成処理を実行する（ステップ２０５）。グループ作成処理プログラム４１３は、グループ作成処理を終えたならば、管理報告を管理端末１０３に送信する。
【０１７０】
管理端末１０３において、排他プロテクトグループ設定プログラム５０３は、排他プロテクトグループの消去を管理者から受け付けた場合（ステップ２０６でＹｅｓ）、消去対象の排他プロテクトグループのＩＤを含んだグループ消去指示を作成し、該グループ消去指示を、対象ノード１０９に送信する。消去対象の排他プロテクトグループは、例えば、使用中ＬＤＥＶ情報要素一覧画面上で管理者から指定された排他プロテクトグループである。
【０１７１】
対象ノード１０９において、管理通信プログラム４０９が、グループ消去指示に応答して、グループ消去処理プログラム４１５をコールする。グループ消去処理プログラム４１５が、グループ消去処理を実行する（ステップ２０７）。グループ消去処理プログラム４１５は、グループ消去処理を終えたならば、完了報告を管理端末１０３に送信する。
【０１７２】
管理端末１０３において、排他プロテクトグループ設定プログラム５０３は、終了を管理者から受け付けた場合（ステップ２０８でＹｅｓ）、終了となる。
【０１７３】
図１５Ａは、グループ作成処理の流れの一例を示す。
【０１７４】
グループ作成処理プログラム４１３が、未使用の排他プロテクトグループＩＤ（例えば番号）を生成する（ステップ２１１）。使用済みの排他プロテクトグループＩＤが何であるかは、例えば、ＬＤＥＶ管理テーブル４２９の全ＬＤＥＶエントリを参照することで、把握することができるので、把握された使用済みの排他プロテクトグループＩＤ以外のＩＤを生成することができる。
【０１７５】
グループ作成処理プログラム４１３が、上記グループ作成指示に含まれている複数のＬＤＥＶ通番のうちの一つを選択し（ステップ２１２）、選択したＬＤＥＶ通番に対応したＬＤＥＶエントリを識別し（ステップ２１３）、識別したＬＤＥＶエントリに、上記生成された未使用の排他プロテクトグループＩＤを登録する。
【０１７６】
ステップ２１２乃至ステップ２１４についての処理が、上記グループ作成指示に含まれている複数のＬＤＥＶ通番の各々について実行される（ステップ２１５でＮｏ）。それら複数のＬＤＥＶ通番の全てについて、ステップ２１２乃至ステップ２１４が行われた場合（ステップ２１５でＹｅｓ）、ステップ２１６が実行される。すなわち、グループ作成処理プログラム４１３は、対象ノード以外の全ての他のノードに対して、アップデートされた全てのＬＤＥＶエントリの各々に対応したＬＤＥＶエントリのアップデートを指示する。具体的には、例えば、グループ作成処理プログラム４１３は、アップデートされた全てのＬＤＥＶエントリの各々についてのＬＤＥＶ通番とアップデート後の排他プロテクトグループＩＤとのセットと共にアップデート指示を送信する。これにより、全ての他のノード１０９が、ＬＤＥＶ通番及びアップデート後の排他プロテクトグループＩＤのセットを受信し、アップデート指示に応答して、受信したＬＤＥＶ通番に対応したＬＤＥＶエントリに、該ＬＤＥＶ通番に対応したアップデート後の排他プロテクトグループＩＤを記録する。このため、全てのノード１０９において、ＬＤＥＶ管理テーブル４２９の内容が同じになる。
【０１７７】
図１５Ｂは、グループ消去処理の流れの一例を示す。
【０１７８】
グループ消去処理プログラム４１５が、ＬＤＥＶ管理テーブル４２９を上から辿る（先頭から最後尾にかけて順次に辿る）（ステップ２２１）。
【０１７９】
グループ消去処理プログラム４１５が、このグループ消去処理において未選択のＬＤＥＶエントリを選択し（ステップ２２２）、そのＬＤＥＶエントリに記録されている排他プロテクトグループＩＤが、グループ消去指示に記録されている排他プロテクトグループＩＤと同じがどうかを判断する（ステップ２２３）。同じであると判断になれば（ステップ２２３でＹｅｓ）、ステップ２２４に進み、違うとの判断になれば（ステップ２２３でＮｏ）、ステップ２２５に進む。
【０１８０】
ステップ２２４で、グループ消去処理プログラム４１５は、そのＬＤＥＶエントリに記録されている排他プロテクトグループＩＤを、無効を意味する値（例えば“−１”）にアップデートする。
【０１８１】
ステップ２２５で、グループ消去処理プログラム４１５は、このグループ消去処理において未選択のＬＤＥＶエントリが未だ残っているかどうかを判断する。残っているとの判断になれば（ステップ２２５でＹｅｓ）、ステップ２２２に戻り、残っていないとの判断になれば（ステップ２２５でＮｏ）、ステップ２２６に進む。
【０１８２】
ステップ２２６で、グループ消去処理プログラム４１５は、対象ノード以外の全ての他のノードに対して、アップデートされた全てのＬＤＥＶエントリの各々に対応したＬＤＥＶエントリのアップデートを指示する。具体的には、例えば、グループ消去処理プログラム４１５は、アップデートされた全てのＬＤＥＶエントリの各々についてのＬＤＥＶ通番とアップデート後の排他プロテクトグループＩＤ（無効値）とのセットと共にアップデート指示を送信する。これにより、全ての他のノード１０９が、ＬＤＥＶ通番及びアップデート後の排他プロテクトグループＩＤ（無効値）のセットを受信し、アップデート指示に応答して、受信したＬＤＥＶ通番に対応したＬＤＥＶエントリに、該ＬＤＥＶ通番に対応したアップデート後の排他プロテクトグループＩＤ（無効値）を記録する。このため、全てのノード１０９において、ＬＤＥＶ管理テーブル４２９の内容が同じになる。なお、アップデート後の排他プロテクトグループＩＤ（無効値）を送信することに代えて、例えば、送信したＬＤＥＶ通番に対応したＬＤＥＶエントリの排他プロテクトグループＩＤを無効値にアップデートする指示が送信されても良い。
【０１８３】
図１６は、プロテクトポイントの変更の流れの一例を示す。
【０１８４】
この流れは、例えば、管理者が管理端末１０３に対して排他プロテクトグループ設定を指示した場合に開始される。具体的には、例えば、設定制御プログラム５０１が、図２６Ａに例示する管理メニュー画面における“プロテクトポイント設定／変更／確認”の選択の入力を管理者から受けた場合、プロテクトポイント管理プログラム５０５をコールする。
【０１８５】
ステップ２３１で、管理端末１０３において、プロテクトポイント管理プログラム５０５が、ＬＤＥＶ情報取得指示（使用中のＬＤＥＶに関する情報の取得指示）を、複数のノード１０９のうちのいずれかのノード１０９（例えば所定のノード１０９）に送信する。以下、図１６及び図１７の説明において、ＬＤＥＶ情報取得指示の送信先ノードを「対象ノード」と呼ぶ。
【０１８６】
ステップ２３２で、対象ノード１０９において、管理通信プログラム４０９が、ＬＤＥＶ情報取得指示を受け、該ＬＤＥＶ情報取得指示に従って、使用中ＬＤＥＶエントリを識別し、識別された一以上の使用中ＬＤＥＶエントリにそれぞれ対応した一以上のＬＤＥＶ情報群を、管理端末１０３に送信する。
【０１８７】
ステップ２３３で、管理端末１０３において、プロテクトポイント管理プログラム５０５が、対象ノード１０９から受信した一以上のＬＤＥＶ情報群を基に、ＬＤＥＶ情報要素を一覧表示する。例えば、図２６Ｃに例示する使用中ＬＤＥＶ情報要素一覧画面を作成して表示することができる。プロテクトポイント管理プログラム５０５は、プロテクトポイントの変更対象のＬＤＥＶの指定と変更後のプロテクトポイントとを、管理者から受け付けることができる。
【０１８８】
管理端末１０３において、プロテクトポイント管理プログラム５０５は、プロテクトポイントの変更対象のＬＤＥＶの指定と変更後のプロテクトポイントとを管理者から受け付けた場合（ステップ２３４でＹｅｓ）、変更後のプロテクトポイントと指定されたＬＤＥＶに対応したＬＤＥＶ通番とを含むプロテクトポイント変更指示を作成し、該プロテクトポイント変更指示を対象ノード１０９に送信する。変更後のプロテクトポイントと指定されたＬＤＥＶのＬＤＥＶ通番とのセットが複数個ある場合には、それら複数のセットがプロテクトポイント変更指示に含められる。
【０１８９】
対象ノード１０９において、管理通信プログラム４０９が、プロテクトポイント変更指示に応答して、プロテクトポイント変更処理プログラム４１７をコールする。プロテクトポイント変更処理プログラム４１７が、プロテクトポイント変更処理を実行する（ステップ２３５）。プロテクトポイント変更処理プログラム４１７は、プロテクトポイント変更処理を終えたならば、完了報告を管理端末１０３に送信する（ステップ２３６）。
【０１９０】
管理端末１０３において、プロテクトポイント管理プログラム５０５は、終了を管理者から受け付けた場合（ステップ２３７でＹｅｓ）、終了となる。
【０１９１】
以上の処理において、例えば、管理者は、ストレージサブシステム１１１のリプレースを行う場合、ステップ２３４において、ストレージサブシステム１１１のリプレースに先立って、そのストレージサブシステム１１１が持つ全てのＬＤＥＶについて、変更後のプロテクトポイントとして“０”を指定する。この場合、対象ノード１０９において、後述するプロテクトポイント変更処理が実行され、プロテクトポイント変更処理では、前述したプロテクトチェック処理も実行される。このため、リプレース対象のストレージサブシステムにある全てのＬＤＥＶ内のデータが、別のストレージサブシステム内のＬＤＥＶにコピーされる。その後に、そのリプレース対象のストレージサブシステム１１１を外すことで、保護対象（ファイルやディレクトリ）に要求される要求プロテクトポイントを満たすことを維持したままストレージサブシステム１１１のリプレースを行うことができる。
【０１９２】
図１７は、プロテクトポイント変更処理の流れの一例を示す。
【０１９３】
プロテクトポイント変更処理プログラム４１７は、プロテクトポイント変更指示に含まれている一以上のＬＤＥＶ通番から一つのＬＤＥＶ通番を選択し（ステップ２４１）、選択したＬＤＥＶ通番に対応したＬＤＥＶエントリを識別し（ステップ２４２）、識別したＬＤＥＶエントリに、該選択したＬＤＥＶ通番に対応する変更後のプロテクトポイントを登録する（ステップ２４３）。
【０１９４】
ステップ２４１乃至ステップ２４３についての処理が、上記プロテクトポイント変更指示に含まれている複数のＬＤＥＶ通番の各々について実行される（ステップ２４４でＮｏ）。それら複数のＬＤＥＶ通番の全てについて、ステップ２４１乃至ステップ２４３が行われた場合（ステップ２４４でＹｅｓ）、ステップ２４５が実行される。すなわち、プロテクトポイント変更処理プログラム４１７は、対象ノード以外の全ての他のノードに対して、アップデートされた全てのＬＤＥＶエントリの各々に対応したＬＤＥＶエントリのアップデートを指示する。具体的には、例えば、プロテクトポイント変更処理プログラム４１７は、アップデートされた全てのＬＤＥＶエントリの各々についてのＬＤＥＶ通番とアップデート後のプロテクトポイントとのセットと共にアップデート指示を送信する。これにより、全ての他のノード１０９が、ＬＤＥＶ通番及びアップデート後のプロテクトポイントのセットを受信し、アップデート指示に応答して、受信したＬＤＥＶ通番に対応したＬＤＥＶエントリに、該ＬＤＥＶ通番に対応したアップデート後のプロテクトポイントを記録する。このため、全てのノード１０９において、ＬＤＥＶ管理テーブル４２９の内容が同じになる。
【０１９５】
その後、プロテクトポイント変更処理プログラム４１７は、プロテクトチェック処理プログラム４１１をコールする。コールする契機としては、例えば、全ての他のノードからアップデート完了の報告を受けた契機とすることができる。プロテクトチェック処理プログラム４１１が、プロテクトチェック処理（図１３参照）を実行する。
【０１９６】
ＬＤＥＶのプロテクトポイントが変更されると、該ＬＤＥＶに記憶されている保護対象（ファイル或いはディレクトリ）の要求プロテクトポイントを満たさなくなるおそれがあるが、プロテクトポイントの変更が行われた場合には、プロテクトチェック処理が実行される。それにより、要求プロテクトポイントを満たさない保護対象がある場合には該保護対象が検出され、該保護対象が別のＬＤＥＶにコピーされるので、該保護対象について、要求プロテクトポイントを満たす保護を行うことができる。
【０１９７】
図１８は、ＬＤＥＶ発見処理の流れの一例を示す。
【０１９８】
ＬＤＥＶ発見処理は、発見されたＬＤＥＶに関する情報要素を、そのＬＤＥＶを有するストレージサブシステム１１１から取得し、取得した情報要素をＬＤＥＶ管理テーブル４２９に登録する処理である。ＬＤＥＶ発見処理は、例えば、新たなＬＤＥＶを見つけたノード１０９においてＬＤＥＶ発見処理プログラム４２５が実行する。なお、新たなＬＤＥＶは、例えば、ノード１０９が、各ストレージサブシステム１１１に所定の問合せコマンド（例えばSCSIのREPORT_LUNSというコマンド）を送信することで、発見することができる。
【０１９９】
ＬＤＥＶ発見処理プログラム４２５は、見つかったＬＤＥＶ（この図１８説明において「対象ＬＤＥＶ」と呼ぶ）に対して、所定の照会コマンド（例えば、ＳＣＳＩでサポートされているinquiryコマンド及びREAD_CAPACITY）を送信する（ステップ２５１）。ＬＤＥＶ発見処理プログラム４２５は、対象ＬＤＥＶを有するストレージサブシステムのサブシステムＩＤと、該ストレージサブシステムで管理されているＬＤＥＶ番号（対象ＬＤＥＶに対応したＬＤＥＶ番号）とを含んだレスポンスを、対象ＬＤＥＶを有するストレージサブシステム１１１から受信し、該レスポンスから、サブシステムＩＤ、ＬＤＥＶ番号及び容量を取得する（ステップ２５２）。サブシステムＩＤ、ＬＤＥＶ番号及び容量の取得は、これに代えて、例えば、管理ソフトウェア５１３に問合せを出し該問合せに対する応答から取得したり、SCSI mode senseコマンドを利用して取得したり、後に管理者が管理端末５１３から設定したりしてもよい。
【０２００】
ＬＤＥＶ発見処理プログラム４２５は、取得したサブシステムＩＤ及びＬＤＥＶ番号がＬＤＥＶ管理テーブル４２９に登録済みか否かを判断する（ステップ２５３）。登録済みとの判断であれば（ステップ２５３Ｙｅｓ）、終了になり、登録済みではないとの判断であれば（ステップ２５３でＮｏ）、ステップ２５４に進む。
【０２０１】
ＬＤＥＶ発見処理プログラム４２５は、使用フラグが無効（例えば“−１”）のＬＤＥＶエントリを選択し（ステップ２５４）、選択したＬＤＥＶエントリに、使用フラグとして未使用を意味する値（例えば“０”）を設定する（ステップ２５５）。また、ＬＤＥＶ発見処理プログラム４２５は、上記選択したＬＤＥＶエントリに、上記取得したサブシステムＩＤ、ＬＤＥＶ番号及び容量を登録する（ステップ２５６）。また、ＬＤＥＶ発見処理プログラム４２５は、上記選択したＬＤＥＶエントリにおいて、管理ノードＩＤ及び排他プロテクグループＩＤとしてそれぞれ無効値（例えば“−１”）を設定し（ステップ２５７）、プロテクトポイントとして“１”を仮設定し（ステップ２５８）、空き容量率を“１００％”に仮設定する（ステップ２５９）。なお、例えば、ＬＤＥＶ発見処理プログラム４２５は、各ストレージサブシステム１１１に、所定の照会コマンド（例えばInquiryコマンド）を送信することで、各ストレージサブシステム１１１から、各ＬＤＥＶに関する情報（例えば、プロテクトポイント、ＲＡＩＤレベル、空き容量率）を取得し、取得した情報を、上記選択したＬＤＥＶエントリに設定しても良い。また、各ＬＤＥＶのプロテクトポイントについては、例えば、取得した情報に含まれるＲＡＩＤレベルなどを基に、ＬＤＥＶ発見処理プログラム４２５が決定して設定してもよい。
【０２０２】
ステップ２６０で、ＬＤＥＶ発見処理プログラム４２５は、このＬＤＥＶ発見処理を行っているノード以外の全ての他のノードに対して、アップデートされた全てのＬＤＥＶエントリの各々に対応したＬＤＥＶエントリのアップデートを指示する。具体的には、例えば、ＬＤＥＶ発見処理プログラム４２５は、アップデートされた全てのＬＤＥＶエントリの各々についてのＬＤＥＶ通番とアップデート後の情報要素とのセットと共にアップデート指示を送信する。これにより、全ての他のノード１０９が、ＬＤＥＶ通番及びアップデート後の情報要素のセットを受信し、アップデート指示に応答して、受信したＬＤＥＶ通番に対応したＬＤＥＶエントリに、該ＬＤＥＶ通番に対応したアップデート後の情報要素（例えば、使用フラグ“０”、サブシステムＩＤ、ＬＤＥＶ番号、容量、管理ノードＩＤ“−１”、排他プロテクトグループＩＤ“−１”、プロテクトポイント“１”、空き容量率“１００％”）を記録する。
【０２０３】
図１９は、ＬＤＥＶ有効化の流れの一例を示す。
【０２０４】
この流れは、例えば、管理者が管理端末１０３に対してＬＤＥＶ有効化を指示した場合に開始される。具体的には、例えば、設定制御プログラム５０１が、図２６Ａに例示する管理メニュー画面における“ＬＤＥＶ有効化”の選択の入力を管理者から受けた場合、ＬＤＥＶ有効化プログラム５０７をコールする。
【０２０５】
ステップ２７１で、管理端末１０３において、ＬＤＥＶ有効化プログラム５０７が、ＬＤＥＶ情報取得指示（未使用のＬＤＥＶに関する情報の取得指示）を、複数のノード１０９のうちのいずれかのノード１０９（例えば任意のノード１０９）に送信する。以下、図１９及び図２０の説明において、ＬＤＥＶ情報取得指示の送信先ノードを「対象ノード」と呼ぶ。
【０２０６】
ステップ２７２で、対象ノード１０９において、管理通信プログラム４０９が、ＬＤＥＶ情報取得指示を受け、該ＬＤＥＶ情報取得指示に従って、未使用ＬＤＥＶエントリを識別し、識別された一以上の未使用ＬＤＥＶエントリにそれぞれ対応した一以上のＬＤＥＶ情報群を、管理端末１０３に送信する。
【０２０７】
ステップ２７３で、管理端末１０３において、ＬＤＥＶ有効化プログラム５０７が、対象ノード１０９から受信した一以上のＬＤＥＶ情報群を基に、ＬＤＥＶ情報要素を一覧表示する。例えば、図２６Ｄに例示する未使用ＬＤＥＶ情報要素一覧画面を作成して表示することができる。ＬＤＥＶ有効化プログラム５０７は、有効とする未使用ＬＤＥＶの指定と該ＬＤＥＶに関連付けるプロテクトポイントとを、管理者から受け付けることができる。
【０２０８】
管理端末１０３において、ＬＤＥＶ有効化プログラム５０７は、有効とする未使用ＬＤＥＶの指定と該ＬＤＥＶに関連付けるプロテクトポイントとを管理者から受け付けた場合（ステップ２７４でＹｅｓ）、該未使用ＬＤＥＶに対応するＬＤＥＶ情報群から管理ノードＩＤを取得する（ステップ２７５）。そして、ＬＤＥＶ有効化プログラム５０７は、プロテクトポイントと未使用ＬＤＥＶのＬＤＥＶ通番とを含むＬＤＥＶ有効化指示を作成し、該取得した管理ノードＩＤに対応した管理ノードに、該作成したＬＤＥＶ有効化指示を送信する。なお、例えば、ＬＤＥＶ有効化プログラム５０７は、所定の照会コマンド（例えばInquiryコマンド）に応答してプロテクトポイントがストレージサブシステム１１１から取得できた場合には、ＬＤＥＶ有効化指示にプロテクトポイントが含まれなくて良い。
【０２０９】
対象ノード１０９において、管理通信プログラム４０９が、ＬＤＥＶ有効化指示に応答して、ＬＤＥＶ有効化処理プログラム４２１をコールする。ＬＤＥＶ有効化処理プログラム４２１が、ＬＤＥＶ有効化処理を実行する（ステップ２７７）。ＬＤＥＶ有効化処理プログラム４２１は、ＬＤＥＶ有効化処理を終えたならば、完了報告を管理端末１０３に送信する（ステップ２７８）。
【０２１０】
管理端末１０３において、ＬＤＥＶ有効化プログラム５０７は、終了を管理者から受け付けた場合（ステップ２７９でＹｅｓ）、終了となる。
【０２１１】
図２０は、ＬＤＥＶ有効化処理の流れの一例を示す。
【０２１２】
ＬＤＥＶ有効化処理プログラム４２１が、ＬＤＥＶ有効化指示に含まれているＬＤＥＶ通番に対応したＬＤＥＶエントリを識別し（ステップ２８１）、該ＬＤＥＶエントリにおいて、使用中フラグとして使用中を表す値（例えば“１”）を設定する（ステップ２８２）。また、ＬＤＥＶ有効化処理プログラム４２１は、該ＬＤＥＶエントリにおいて、管理ノードＩＤとして、対象ノード１０９（このＬＤＥＶ有効化処理プログラム４２１を実行している自ノード）のＩＤを設定する（ステップ２８３）。また、ＬＤＥＶ有効化処理プログラム４２１は、ＬＤＥＶ有効化指示に含まれているＬＤＥＶ通番に対応したファイルデータ管理テーブル４３５及びＬＤＥＶ空きブロックビットマップ４３７を初期化する（ステップ２８４）。
【０２１３】
ＬＤＥＶ有効化処理プログラム４２１は、対象ノード以外の全ての他のノードに対して、アップデートされた全てのＬＤＥＶエントリの各々に対応したＬＤＥＶエントリのアップデートを指示する（ステップ２８５）。具体的には、例えば、ＬＤＥＶ有効化処理プログラム４２１は、アップデートされた全てのＬＤＥＶエントリの各々についてのＬＤＥＶ通番とアップデート後の情報要素とのセットと共にアップデート指示を送信する（該アップデート指示を受けた他のノードで実行される処理については既に説明済みなので、ここでは省略する）。
【０２１４】
その後、プロテクトポイント変更処理プログラム４１７は、プロテクトチェック処理プログラム４１１をコールする。コールする契機としては、例えば、全ての他のノードからアップデート完了の報告を受けた契機とすることができる。プロテクトチェック処理プログラム４１１が、プロテクトチェック処理（図１３参照）を実行する。なお、ＬＤＥＶ有効化処理において、必ずしもプロテクトチェック処理は行われなくても良い。
【０２１５】
図２１は、ＬＤＥＶ無効化の流れの一例を示す。
【０２１６】
この流れは、例えば、管理者が管理端末１０３に対してＬＤＥＶ無効化を指示した場合に開始される。具体的には、例えば、設定制御プログラム５０１が、図２６Ａに例示する管理メニュー画面における“ＬＤＥＶ無効化”の選択の入力を管理者から受けた場合、ＬＤＥＶ無効化プログラム５０９をコールする。
【０２１７】
ステップ２９１で、管理端末１０３において、ＬＤＥＶ無効化プログラム５０９が、ＬＤＥＶ情報取得指示（使用中のＬＤＥＶに関する情報の取得指示）を、複数のノード１０９のうちのいずれかのノード１０９（例えば任意のノード１０９）に送信する。以下、図２１及び図２２の説明において、ＬＤＥＶ情報取得指示の送信先ノードを「対象ノード」と呼ぶ。
【０２１８】
ステップ２９２で、対象ノード１０９において、管理通信プログラム４０９が、ＬＤＥＶ情報取得指示を受け、該ＬＤＥＶ情報取得指示に従って、使用中ＬＤＥＶエントリを識別し、識別された一以上の使用中ＬＤＥＶエントリにそれぞれ対応した一以上のＬＤＥＶ情報群を、管理端末１０３に送信する。
【０２１９】
ステップ２９３で、管理端末１０３において、ＬＤＥＶ無効化プログラム５０９が、対象ノード１０９から受信した一以上のＬＤＥＶ情報群を基に、ＬＤＥＶ情報要素を一覧表示する。例えば、図２７Ａに例示する使用中ＬＤＥＶ情報要素一覧画面を作成して表示することができる。ＬＤＥＶ無効化プログラム５０９は、無効とする未使用ＬＤＥＶの指定を、管理者から受け付けることができる（プロテクトポイントの指定も受けても良い）。
【０２２０】
管理端末１０３において、ＬＤＥＶ無効化プログラム５０７は、無効とする使用中ＬＤＥＶの指定を管理者から受け付けた場合（ステップ２９４でＹｅｓ）、該使用中ＬＤＥＶに対応するＬＤＥＶ情報群から管理ノードＩＤを取得する（ステップ２９５）。そして、ＬＤＥＶ無効化プログラム５０７は、使用中ＬＤＥＶのＬＤＥＶ通番を含むＬＤＥＶ無効化指示を作成し、該取得した管理ノードＩＤに対応した管理ノードに、該作成したＬＤＥＶ無効化指示を送信する。
【０２２１】
対象ノード１０９において、管理通信プログラム４０９が、ＬＤＥＶ無効化指示に応答して、ＬＤＥＶ無効化処理プログラム４２３をコールする。ＬＤＥＶ無効化処理プログラム４２３が、ＬＤＥＶ無効化処理を実行する（ステップ２９７）。ＬＤＥＶ無効化処理プログラム４２３は、ＬＤＥＶ無効化処理を終えたならば、完了報告を管理端末１０３に送信する（ステップ２９８）。
【０２２２】
管理端末１０３において、ＬＤＥＶ無効化プログラム５０９は、終了を管理者から受け付けた場合（ステップ２９９でＹｅｓ）、終了となる。
【０２２３】
図２２は、ＬＤＥＶ無効化処理の流れの一例を示す。
【０２２４】
ＬＤＥＶ無効化処理とは、指定されたＬＤＥＶ内のデータを無効にするための処理である。
【０２２５】
ＬＤＥＶ無効化処理プログラム４２３は、ＬＤＥＶ無効化指示に含まれているＬＤＥＶ通番に対応したＬＤＥＶエントリを識別し（ステップ３０１）、該ＬＤＥＶエントリにおいて、使用中フラグとして未使用を表す値（例えば“０”）を設定する（ステップ３０２）。
【０２２６】
ＬＤＥＶ無効化処理プログラム４２３は、ディレクトリ管理テーブル４３１におけるディレクトリエントリをルートから辿る（ステップ３０３）。
【０２２７】
その結果、このＬＤＥＶ無効化処理において未選択のディレクトリエントリがあれば（ステップ３０４でＹｅｓ）、ＬＤＥＶ無効化処理プログラム４２３は、該ディレクトリエントリを選択する（ステップ３０５）。
【０２２８】
ＬＤＥＶ無効化処理プログラム４２３は、ステップ３０５で選択したディレクトリエントリのファイル番号リストにおいて、このＬＤＥＶ無効化処理において一以上の未選択のファイル通番があれば（ステップ３０６でＹｅｓ）、その一以上のファイル通番から一つのファイル通番を選択し（ステップ３０７）、選択したファイル通番に対応したファイルエントリを識別する（ステップ３０８）。
【０２２９】
ＬＤＥＶ無効化処理プログラム４２３は、そのファイルエントリの格納位置リストに、このＬＤＥＶ無効化処理において一以上の未選択のサブエントリ（格納位置）があれば（ステップ３０９でＹｅｓ）、一以上の未選択のサブエントリから一つのサブエントリを選択し、そのサブエントリにある格納ＬＤＥＶ通番に対応したＬＤＥＶエントリを識別する（ステップ３１０）。そして、ＬＤＥＶ無効化処理プログラム４２３は、その識別されたＬＤＥＶエントリが使用中ＬＤＥＶエントリであれば（ステップ３１１でＹｅｓ）、ステップ３０９に戻り、未使用ＬＤＥＶエントリであれば（ステップ３１１でＮｏ）、当該格納位置（上記選択したサブエントリ）を削除して（ステップ３１２）、ステップ３０９に戻る。ステップ３１２により、削除されたサブエントリの次以降のサブエントリが一つずつ上にずれる。具体的には、例えば、削除対象のサブエントリに記録されている情報に、そのサブエントリの次のサブエントリに記録されている情報が上書きされる。
【０２３０】
ステップ３０８で識別されたファイルエントリの格納位置に、このＬＤＥＶ無効化処理において未選択のサブエントリ（格納位置）がなくなるまで、ステップ３０９〜ステップ３１２の処理が繰り返され、なくなったら、ステップ３０６に戻る。ステップ３０６でＹｅｓになれば、ステップ３０７が実行され、ステップ３０６でＮｏになれば、ステップ３０４に戻る。そして、ステップ３０４でＹｅｓとなれば、ステップ３０５が実行されるが、ステップ３０６でＮｏとなれば、ステップ３１３に進む。
【０２３１】
ステップ３１３では、ＬＤＥＶ無効化処理プログラム４２３は、ＬＤＥＶ無効化指示に含まれているＬＤＥＶ通番に対応したファイルデータ管理テーブル４３５及びＬＤＥＶ空きブロックビットマップ４３７を初期化する。
【０２３２】
ステップ３１４で、ＬＤＥＶ無効化処理プログラム４２３は、対象ノード以外の全ての他のノードに対して、アップデートされた全てのＬＤＥＶエントリ及びファイルエントリの各々に対応したＬＤＥＶエントリ及びファイルエントリのアップデートを指示する。
【０２３３】
要するに、このＬＤＥＶ無効化処理では、ＬＤＥＶエントリの使用中フラグが使用中から未使用に変更されたＬＤＥＶに記憶されているデータに関して管理されている情報が破棄される。その後に、ＬＤＥＶ無効化処理プログラム４２３は、プロテクトチェック処理プログラム４１１をコールする。コールする契機としては、例えば、全ての他のノードからアップデート完了の報告を受けた契機とすることができる。プロテクトチェック処理プログラム４１１が、プロテクトチェック処理（図１３参照）を実行する。
【０２３４】
ＬＤＥＶが無効にされると、該ＬＤＥＶに記憶されている保護対象（ファイル或いはディレクトリ）の要求プロテクトポイントを満たさなくなるおそれがあるが、ＬＤＥＶ無効化処理が行われた場合には、プロテクトチェック処理が実行される。それにより、要求プロテクトポイントを満たさない保護対象がある場合には該保護対象が検出され、該保護対象が別のＬＤＥＶにコピーされるので、該保護対象について、要求プロテクトポイントを満たす保護を行うことができる。
【０２３５】
図２３は、要求プロテクトポイントの変更の流れの一例を示す。
【０２３６】
この流れは、例えば、管理者が管理端末１０３に対して要求プロテクトグループ変更を指示した場合に開始される。具体的には、例えば、設定制御プログラム５０１が、図２６Ａに例示する管理メニュー画面における“要求プロテクトポイント設定／変更／確認”の選択の入力を管理者から受けた場合、要求プロテクトポイント管理プログラム５１１をコールする。
【０２３７】
ステップ３２１で、管理端末１０３において、要求プロテクトポイント管理プログラム５１１が、ディレクトリ・ファイル情報取得指示を、複数のノード１０９のうちのいずれかのノード１０９（例えば任意のノード１０９）に送信する。以下、図２３及び図２４の説明において、ディレクトリ管理テーブル取得指示の送信先ノードを「対象ノード」と呼ぶ。
【０２３８】
ステップ３２２で、対象ノード１０９において、管理通信プログラム４０９が、ディレクトリ・ファイル情報取得指示を受け、該指示に従って、ディレクトリ・ファイル情報（ディレクトリ管理テーブル４３１の全ディレクトリエントリに記録されている全ての情報要素と、ファイル管理テーブル４３３の全てのファイルエントリに記録されている全ての情報要素）を、管理端末１０３に送信する。
【０２３９】
ステップ３２３で、管理端末１０３において、要求プロテクトポイント管理プログラム５１１が、対象ノード１０９からディレクトリ・ファイル要素を基に、各ディレクトリと各ファイルの関係（どのディレクトリにどのファイルが格納されているか）や、各ディレクトリ及び各ファイルの要求プロテクトポイントを把握し、ディレクトリ及びファイルとそれぞれの要求プロテクトポイントをツリー表示する。ツリー表示の画面の一例として、図２７Ｂに例示する画面がある。この画面が、要求プロテクトポイント管理プログラム５１１によって生成されて表示される。ツリー表示とは、ディレクトリ及びファイルの関係をツリー構造で示し、且つ、ディレクトリ及びファイルを表すそれぞれのマークの中（或いはその傍）に、要求プロテクトポイントを示した表示である。ツリー表示に代えて、どのディレクトリにどのファイルが格納されていて各ディレクトリや各ファイルの要求プロテクトポイントが何であるかが示された他種の表示が採用されても良い。また、図２７Ｂの例では、見易くするために、ディレクトリ及びファイルのそれぞれのマークや、各マークの中に示される文字（例えば、ディレクトリ名或いはファイル名と要求プロテクトポイント）を大きく記載し、故に、ツリー構造における狭い範囲しか示されていないが、実際には、一画面でより広範囲を示すことが可能である（この点は、例えば、前述した使用中ＬＤＥＶ或いは未使用ＬＤＥＶに関する情報要素一覧の表示でも同様とすることができる）。
【０２４０】
管理端末１０３において、要求プロテクトポイント管理プログラム５１１は、要求プロテクトポイントの変更対象のディレクトリ或いはファイルの指定と変更後の要求プロテクトポイントとを管理者から受け付けた場合（ステップ３２４でＹｅｓ）、変更後の要求プロテクトポイントと指定されたディレクトリ或いはファイルに対応したディレクトリ通番或いはファイル通番とを含む要求プロテクトポイント変更指示を作成し、該要求プロテクトポイント変更指示を対象ノード１０９に送信する。変更後の要求プロテクトポイントと指定されたディレクトリ或いはファイルのディレクトリ通番或いはファイル通番とのセットが複数個ある場合には、それら複数のセットが要求プロテクトポイント変更指示に含められてもよい。
【０２４１】
対象ノード１０９において、管理通信プログラム４０９が、要求プロテクトポイント変更指示に応答して、要求プロテクトポイント変更処理プログラム４１９をコールする。要求プロテクトポイント変更処理プログラム４１９が、要求プロテクトポイント変更処理を実行する（ステップ３２５）。要求プロテクトポイント変更処理プログラム４１９は、要求プロテクトポイント変更処理を終えたならば、完了報告を管理端末１０３に送信する（ステップ３２６）。
【０２４２】
管理端末１０３において、要求プロテクトポイント管理プログラム５１１は、終了を管理者から受け付けた場合（ステップ３２７でＹｅｓ）、終了となる。
【０２４３】
図２４は、要求プロテクトポイント変更処理の流れの一例を示す。
【０２４４】
要求プロテクトポイント変更処理プログラム４１９は、要求プロテクトポイント変更指示に含まれている通番がディレクトリ通番であるかファイル通番であるかを判断する（ステップ３３１）。該通番がディレクトリ通番であるかファイル通番であるかは、例えば、管理端末１０３において、要求プロテクトポイント管理プログラム５１１が、要求プロテクトポイント変更指示に、通番がディレクトリ通番であるかファイル通番であるかを意味する情報を含めれば、要求プロテクトポイント変更処理プログラム４１９が、その情報を解析することで、判断することができる。ファイル通番であるとの判断になれば（ステップ３３１でＹｅｓ）、ステップ３３２にすすみ、ディレクトリ通番であるとの判断になれば（ステップ３３１でＮｏ）、ステップ３３３にすすむ。
【０２４５】
ステップ３３２で、要求プロテクトポイント変更処理プログラム４１９は、ファイル通番に対応するファイルエントリを識別する。一方、ステップ３３３では、要求プロテクトポイント変更処理プログラム４１９は、ディレクトリ通番に対応するディレクトリエントリを識別する。
【０２４６】
ステップ３３４で、要求プロテクトポイント変更処理プログラム４１９は、識別されたファイルエントリ或いはディレクトリエントリにおける要求プロテクトポイントを指定値に設定する。つまり、該要求プロテクトポイントに、上記要求プロテクトポイント変更指示に含まれている変更後の要求プロテクトポイントを上書きする。
【０２４７】
ステップ３３５で、要求プロテクトポイント変更処理プログラム４１９は、対象ノード以外の全ての他のノードに対して、アップデートされたファイルエントリ或いはディレクトリエントリの各々に対応したファイルエントリ或いはディレクトリエントリのアップデートを指示する。
【０２４８】
上記要求プロテクトポイント変更指示に、変更後の要求プロテクトポイントと指定されたディレクトリ或いはファイルのディレクトリ通番或いはファイル通番とのセットが複数個含まれている場合には、各セットについて、上述したステップ３３１〜ステップ３３５の処理が実行されて良い。
【０２４９】
ステップ３３５の後に、要求プロテクトポイント変更処理プログラム４１９は、プロテクトチェック処理プログラム４１１をコールする。コールする契機としては、例えば、全ての他のノードからアップデート完了の報告を受けた契機とすることができる。プロテクトチェック処理プログラム４１１が、プロテクトチェック処理（図１３参照）を実行する。
【０２５０】
要求プロテクトポイントが変更されると、ＬＤＥＶに記憶されている保護対象（ファイル或いはディレクトリ）の要求プロテクトポイントを満たさなくなるおそれがあるが、要求プロテクトポイント変更処理が行われた場合には、プロテクトチェック処理が実行される。それにより、要求プロテクトポイントを満たさない保護対象がある場合には該保護対象が検出され、該保護対象が別のＬＤＥＶにコピーされるので、該保護対象について、要求プロテクトポイントを満たす保護を行うことができる。
【０２５１】
図２５は、空き容量率計算処理の流れの一例を示す。
【０２５２】
空き容量率計算処理とは、ノード１０９において、該ノード１０９が管理しているＬＤＥＶの空き容量率を計算し、該ＬＤＥＶに対応したＬＤＥＶエントリにおける空き容量率を、算出された空き容量率にアップデートする処理である。空き容量率計算処理は、空き容量率計算処理プログラム４２７により、定期的に又は不定期的に（例えば３０分毎に）実行される。
【０２５３】
空き容量率計算処理プログラム４２７は、ＬＤＥＶ管理テーブル４２９を上から辿る（先頭から最後尾にかけて順次に辿る）（ステップ３４１）。
【０２５４】
空き容量率計算処理プログラム４２７が、この空き容量率計算処理において未選択のＬＤＥＶエントリを選択し（ステップ３４２）、そのＬＤＥＶエントリに記録されている使用中フラグ及び管理ノードＩＤから、該ＬＤＥＶエントリに対応したＬＤＥＶ（以下、当該ＬＤＥＶ）は使用中ＬＤＥＶであって、当該ＬＤＥＶを管理しているノード１０９が自ノード（この空き容量率計算処理プログラム４２７を実行しているノード）であるか否かを判断する（ステップ３４３）。使用中ＬＤＥＶ且つ自ノードとの判断になれば（ステップ３４３でＹｅｓ）、ステップ３４４に進み、そのような判断にならなければ（ステップ３４３でＮｏ）、ステップ３４７に進む。
【０２５５】
ステップ３４４で、空き容量率計算処理プログラム４２７は、当該ＬＤＥＶに対応するＬＤＥＶ空きブロックビットマップ４３７を識別する。ステップ３４５で、空き容量率計算処理プログラム４２７は、識別したＬＤＥＶ空きブロックビットマップ４３７の全ビット数に対する値“１”（空きを意味する値）の数の割合（空き容量率（％））を計算する。ステップ３４６で、空き容量率計算処理プログラム４２７は、算出された空き容量率を、当該ＬＤＥＶに対応するＬＤＥＶエントリのける空き容量率に上書きする。
【０２５６】
ステップ３４７で、空き容量率計算処理プログラム４２７は、この空き容量率計算処理において未選択のＬＤＥＶエントリが未だ残っているかどうかを判断する。残っているとの判断であれば（ステップ３４７でＹｅｓ）、ステップ３４２に戻り、残っていないとの判断になれば（ステップ３４７でＮｏ）、ステップ３４８にすすむ。
【０２５７】
ステップ３４８で、空き容量率計算処理プログラム４２７は、自ノード以外の全ての他のノードに対して、アップデートされたＬＤＥＶエントリに対応したＬＤＥＶエントリのアップデートを指示する。
【０２５８】
以上が、第一の実施形態の説明である。
【０２５９】
＜第二の実施形態＞。
【０２６０】
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、共通点については、説明を省略或いは簡略する。このことは、後述の第三及び第四の実施形態の説明でも同様である。
【０２６１】
図２８は、本発明の第二実施形態におけるストレージシステムの構成例を示す。
【０２６２】
ストレージシステム１０７´は、コントローラ３０７´と複数のディスク装置３０３を備えたディスクアレイ装置として構成することができる。
【０２６３】
コントローラ３０７´は、例えば、ＮＡＳ（Network Attached Storage）としてのサービスを提供するためのチャネルアダプタＮＡＳ（以下、Ｅ−ＮＡＳ（Embedded NAS））６２７を複数個と、ディスクアダプタ（ＤＫＡ）６２２を複数個と、サービスプロセッサ（ＳＶＰ）６２３と、キャッシュメモリ６２４と、共有メモリ６２５と、接続部６２６とを備えている。
【０２６４】
各Ｅ−ＮＡＳ６２７は、各ノード１０９と同様の機能を有することができる。Ｅ−ＮＡＳ６２７は、例えば、ＣＰＵやメモリ等を備えたマイクロコンピュータシステム（例えば回路基板）として構成されており、ホスト１０１から受信した各種コマンドを解釈して実行することができる。Ｅ−ＮＡＳ６２７は、ホスト１０１からファイルレベルでのＩ／Ｏコマンド（例えば、ファイル名と、そのファイル名を持つファイルをリード又はライトする命令とを含んだコマンド、以下、「ファイルＩ／Ｏコマンド」と言う）を受けて、そのファイルＩ／ＯコマンドをブロックレベルのＩ／Ｏコマンドに変換して、ＤＫＡ６２２に送信することができる。
【０２６５】
ＤＫＡ６２２は、ＣＰＵやメモリ等を備えたマイクロコンピュータシステム（例えば回路基板）として構成することができる。ＤＫＡ６２２は、Ｅ−ＮＡＳ６２７からブロックレベルのＩ／Ｏコマンドを受信し、該Ｉ／Ｏコマンドを用いて、複数のディスク装置３０３上のＬＤＥＶにアクセスすることができる。
【０２６６】
ＳＶＰ６２３は、例えば、入出力コンソールと制御コンソールとを備えた装置（例えばパーソナルコンピュータ）であっても良いし、入出力コンソールを管理端末１０３とし管理端末１０３に接続された制御コンソール（例えばいわゆるマザーボード）であっても良い。ＳＶＰ２３は、Ｅ−ＮＡＳ６２７及びＤＫＡ６２２に、種々の命令を送信することにより、Ｅ−ＮＡＳ６２７及びＤＫＡ６２２を制御することができる。また、ＳＶＰ６２３は、ストレージシステム１０７´内の障害発生を監視してコンソール（例えば管理端末１３が備える表示装置１７５）に表示させたり、コンソールからの指令に基づいてディスク装置の閉塞処理等を指示したりすることができる。
【０２６７】
キャッシュメモリ６２４は、ホスト１０１から受信したデータや、ＬＤＥＶから読み出されたデータを一時的に記憶するためのものである。共有メモリ６２５は、複数のＥ−ＮＡＳ６２７及び複数のＤＫＡ６２２に共有される。共有メモリ６２５には、前述した複数種類のテーブルのうち、全Ｅ−ＮＡＳ６２７（ノード１０９）で同じ内容となる種類のテーブル、すなわち、ＬＤＥＶ管理テーブル４２９、ディレクトリ管理テーブル４３１、ファイル管理テーブル４３３が記憶されて良い。そして、各Ｅ−ＮＡＳ６２７のメモリに、そのＥ−ＮＡＳ６２７の管理対象のＬＤＥＶに対応したファイルデータ管理テーブル４３５及びＬＤＥＶ空きブロックビットマップ４３７が記憶されて良い。勿論、そのテーブル４３５及びビットマップ４３７も、共有メモリ６２５に記憶されて良いし、逆に、各テーブル４２９、４３１及び４３３が、各Ｅ−ＮＡＳ６２７のメモリに記憶されても良い。また、キャッシュメモリ６２４及び共有メモリ６２５は、必ずしも物理的に別々のメモリである必要は無い。
【０２６８】
接続部６２６は、Ｅ−ＮＡＳ６２７、ＤＫＡ６２２、キャッシュメモリ６２４、及び共有メモリ６２５を相互に接続させる。接続部６２６は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
【０２６９】
＜第三の実施形態＞。
【０２７０】
第三の実施形態では、保護対象の要求プロテクトポイントに比して過剰な保護がされている場合には、保護対象のマイグレーション、或いは保護対象の削除を実行することで、保護の過剰度合いを低くし、以って、消費記憶容量を節約することができる。
【０２７１】
例えば、プロテクトポイント変更処理或いは、要求プロテクトポイント変更処理において、図３０Ａに例示するように、図１７のステップ２４５の後、又は、図２４のステップ３３５の後に、保護対象Ｘを記憶する一以上のＬＤＥＶのプロテクトポイント合計（ＰＰ合計）と保護対象Ｘの要求プロテクトポイントとの差がより大になったか否かが判断される。例えば、プロテクトポイントが低くされた場合、或いは、要求プロテクトポイントが高くされた場合に、差はより大となる。差がより大と判断されなかった場合、プロテクトチェック処理が実行され、差がより大と判断された場合、消費容量節約処理が実行される。消費容量節約処理は、例えば、図３０Ｂに例示するように、消費容量節約処理プログラム４３１によって実行される。このプログラム４３１は、例えば、ノード１０９の記憶資源２７７に記憶され、ノード１０９のＣＰＵ２７３で実行される。
【０２７２】
消費容量節約処理プログラム４３１は、ＬＤＥＶ管理テーブル４２８やファイル管理テーブル４３３などを用いて、保護対象Ｘの削除が可能か否かを判断する（ステップ４１１）。具体的には、例えば、複数の保護対象Ｘをそれぞれ記憶する複数のＬＤＥＶのうちの少なくとも一つから保護対象Ｘを削除しても、保護対象Ｘの要求プロテクトポイントを満たす保護を維持することが可能か否かを判断する。可能との判断になれば、ステップ４１２に進み、不可能との判断になれば、ステップ４１３に進む。
【０２７３】
ステップ４１２では、消費容量節約処理プログラム４３１は、それら複数のＬＤＥＶのうち、プロテクトポイント合計が要求プロテクトポイント未満とならない範囲でのプロテクトポイントに対応したＬＤＥＶ（例えば、その範囲で最もプロテクトポイントの高いＬＤＥＶ）から、保護対象Ｘを削除する。これにより、保護対象Ｘについての消費記憶容量を節約することができる。
【０２７４】
ステップ４１３では、消費容量節約処理プログラム４３１は、保護対象Ｘのマイグレーションが可能か否かを判断する。具体的には、例えば、以下の（１）乃至（３）の条件を満たすＬＤＥＶ
Ｙ、
（１）保護対象Ｘのサイズ以上の空き記憶量を有する、
（２）保護対象 Ｘを記憶しているＬＤＥＶ Ｘよりも低いプロテクトポイントが関連付けられている、
（３）ＬＤＥＶ Ｘからの保護対象Ａのマイグレーション先となっても、プロテクトポイント合計が保護対象Ｘの要求プロテクトポイント以上のままである、
の有無を、判断する。有れば、消費容量節約処理プログラム４３１は、保護対象ＸをＬＤＥＶ
Ｘから上述した条件（１）乃至（３）を満たすＬＤＥＶ Ｙにマイグレーションする。これにより、プロテクトポイントが高いＬＤＥＶ Ｘの消費記憶容量を節約することができる。
【０２７５】
＜第四の実施形態＞
第四の実施形態では、図３２に例示するように、冗長性と消費記憶容量節約とのうちのどちらを重視するかによって、保護対象の記憶制御を違えることができる。この記憶制御は、例えば、ホストライト処理やプロテクトチェック処理において実行することができる。
【０２７６】
例えば、冗長性重視であれば、保護対象Ｘが、なるべく多くのＬＤＥＶに格納される。具体的には、例えば、ホストライト処理プログラム４０１或いはプロテクトチェック処理プログラム４１１は、保護対象Ｘの要求プロテクトポイント以上のプロテクトポイントが関連付けられているＬＤＥＶ
Ｘがあっても、そのＬＤＥＶ Ｘではなく、そのＬＤＥＶ Ｘよりもプロテクトポイントが低い複数のＬＤＥＶをそれぞれ保護対象Ｘのライト先とする（勿論、この場合は、プロテクトポイント合計が要求プロテクトポイント以上になるライト先を決定する）。これにより、保護対象Ｘを記憶するＬＤＥＶに障害が生じてそのＬＤＥＶから保護対象Ｘが消えてしまっても、なるべく多くのＬＤＥＶに保護対象Ｘを残すことができる。
【０２７７】
一方、例えば、消費記憶容量節約重視であれば、保護対象Ｘが、なるべく少ないＬＤＥＶに格納される。具体的には、例えば、ホストライト処理プログラム４０１或いはプロテクトチェック処理プログラム４１１は、保護対象Ｘの要求プロテクトポイント以上のプロテクトポイントが関連付けられている一つのＬＤＥＶ
Ｘがあるならば、そのＬＤＥＶ Ｘよりもプロテクトポイントが低い複数のＬＤＥＶをそれぞれ保護対象Ｘのライト先とすることで、プロテクトポイント合計が要求プロテクトポイント以上になる記憶制御を行えたとしても、ＬＤＥＶ
Ｘに保護対象Ｘをライトする。これにより、保護対象Ｘについての消費記憶容量を節約することができる。なお、消費記憶容量節約重視であれば、例えば、上記第三の実施形態で説明した消費記憶容量節約処理が実行されても良い。
【０２７８】
冗長性と消費記憶容量節約とのうちのどちらを重視するかは、予め管理者によって設定されたポリシーから判断されても良いし、保護対象の属性を基にコンピュータプログラム（例えばホストライト処理プログラム４０１或いはプロテクトチェック処理プログラム４１１）によって決定されても良い。
【０２７９】
以上、本発明の幾つかの好適な実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０２８０】
例えば、前述した実施形態では、排他プロテクトグループに含める二以上のＬＤＥＶを管理者が決めることができるが、それに代えて、排他プロテクトグループに含まれる二以上のＬＤＥＶは自動で決定されても良い。例えば、同一のＲＡＩＤグループに属する二以上のＬＤＥＶが自動的に排他プロテクトグループに属する二以上のＬＤＥＶとされても良い。
【０２８１】
また、例えば、プロテクトチェック処理において、コピー完了は、コピー先のＬＤＥＶにデータが格納されたときに代えて、コピー先のＬＤＥＶにデータを格納するノード１０９が記憶したとき、としてもよい。具体的には、例えば、ＬＤＥＶ
ＡをノードＡが管理し、ＬＤＥＶ ＢをノードＢが管理し、ＬＤＥＶ Ａ内のコピー対象データ（コピー対象の保護対象を構成するブロックデータ）をＬＤＥＶ Ｂにコピーする場合には、ノードＡが、コピー対象データをＬＤＥＶ Ａから読出し、読み出したコピー対象データをノードＢに転送し、ノードＢが、ノードＡからのコピー対象データを記憶資源２７７で一時的に記憶し、一時的に記憶したコピー対象データをＬＤＥＶ
Ｂに書込むことができるが、この一連のコピーにおいて、コピー対象データをＬＤＥＶ
Ｂに書込んだときを、コピー完了としても良いし、コピー対象データをノードＢが一時的に記憶したときを、コピー完了としても良い。
【図面の簡単な説明】
【０２８２】
【図１】図１は、本発明の第一の実施形態に係るコンピュータシステムの構成例を示す。
【図２】図２は、ノードとＬＤＥＶとの論理的な関係の一例を示す図である。
【図３】図３は、ノードによって実行される記憶制御の一例の概要を示す。
【図４】図４Ａは、管理端末のハードウェア構成例を示す。図４Ｂは、ストレージサブシステム１１１のハードウェア構成例を示す。図４Ｃは、ＲＡＩＤグループとＬＤＥＶとの関係例を示す。図４Ｄは、ノードのハードウェア構成例を示す。
【図５】図５は、管理端末の記憶資源に記憶される管理ソフトウェアを示す。
【図６】図６は、ノードの記憶資源に記憶されるコンピュータプログラムや情報を示す。
【図７】図７Ａは、ＬＤＥＶ管理テーブルの構成例を示す。図７Ｂは、ディレクトリ管理テーブルの構成例を示す。
【図８】図８Ａは、ファイル管理テーブルの構成例を示す。図８Ｂは、ファイルデータ管理テーブルの構成例を示す。図８Ｃは、ＬＤＥＶ空きブロックビットマップの構成例を示す。
【図９】図９は、ホストライト処理の流れの一例を示す。
【図１０】図１０は、ノードライト処理の流れの一例を示す。
【図１１】図１１は、ホストリード処理の流れの一例を示す。
【図１２】図１２は、ノードリード処理の流れの一例を示す。
【図１３】図１３は、プロテクトチェック処理の流れの一例を示す。
【図１４】図１４は、排他プロテクトグループの設定の流れの一例を示す。
【図１５】図１５Ａは、グループ作成処理の流れの一例を示す。図１５Ｂは、グループ消去処理の流れの一例を示す。
【図１６】図１６は、プロテクトポイントの変更の流れの一例を示す。
【図１７】図１７は、プロテクトポイント変更処理の流れの一例を示す。
【図１８】図１８は、ＬＤＥＶ発見処理の流れの一例を示す。
【図１９】図１９は、ＬＤＥＶ有効化の流れの一例を示す。
【図２０】図２０は、ＬＤＥＶ有効化処理の流れの一例を示す。
【図２１】図２１は、ＬＤＥＶ無効化の流れの一例を示す。
【図２２】図２２は、ＬＤＥＶ無効化処理の流れの一例を示す。
【図２３】図２３は、要求プロテクトポイントの変更の流れの一例を示す。
【図２４】図２４は、要求プロテクトポイント変更処理の流れの一例を示す。
【図２５】図２５は、空き容量率計算処理の流れの一例を示す。
【図２６】図２６Ａは、管理メニュー画面の一例を示す。図２６Ｂは、排他プロテクトグループの設定の流れにおいて表示される使用中ＬＤＥＶ情報要素一覧画面の一例を示す。図２６Ｃは、プロテクトポイントの変更の流れにおいて表示される使用中ＬＤＥＶ情報要素一覧画面の一例を示す。図２６Ｄは、ＬＤＥＶ有効化の流れにおいて表示される未使用ＬＤＥＶ情報要素一覧画面の一例を示す。
【図２７】図２７Ａは、ＬＤＥＶ無効化の流れにおいて表示される使用中ＬＤＥＶ情報要素一覧画面の一例を示す。図２７Ｂは、ディレクトリ・ファイルの構造を表示した画面の一例を示す。図２７Ｃは、コピー中であること意味する画面の一例である。図２７Ｄは、コピーが完了したことを意味する画面の一例である。
【図２８】図２８は、本発明の第二実施形態におけるストレージシステムの構成例を示す。
【図２９】図２９Ａは、保護対象に要求プロテクトポイントを設定する方法の一例の説明図である。図２９Ｂは、ファイルの要求プロテクトポイントを制御する方法の一例の説明図である。
【図３０】図３０Ａは、本発明の第三の実施形態においてプロテクトチェック処理と消費記憶容量節約処理とのいずれを行うかを決定する処理の説明図である。図３０Ｂは、消費記憶容量節約処理の説明図である。
【図３１】図３１Ａは、ファイルに要求プロテクトポイントが設定されていない場合にはディレクトリの要求プロテクトポイントが該ファイルに反映されることを表す図である。図３１Ｂは、ファイルに要求プロテクトポイントが設定されている場合にはディレクトリの要求プロテクトポイントに関わらず該ファイルの要求プロテクトポイントが維持されることを表す図である。
【図３２】図３２は、本発明の第四の実施形態において、冗長性と消費記憶容量節約とのうちのどちらを重視するかによって保護対象の記憶制御が異なることの説明図である。
【符号の説明】
【０２８３】
１０１…ホストコンピュータ  １０３…管理端末  １０７…ストレージシステム  １０９…ノード  １１１…ストレージサブシステム
【図１】
2008152695.tif 000003
【図２】
2008152695.tif 000004
【図３】
2008152695.tif 000005
【図４】
2008152695.tif 000006
【図５】
2008152695.tif 000007
【図６】
2008152695.tif 000008
【図７】
2008152695.tif 000009
【図８】
2008152695.tif 000010
【図９】
2008152695.tif 000011
【図１０】
2008152695.tif 000012
【図１１】
2008152695.tif 000013
【図１２】
2008152695.tif 000014
【図１３】
2008152695.tif 000015
【図１４】
2008152695.tif 000016
【図１５】
2008152695.tif 000017
【図１６】
2008152695.tif 000018
【図１７】
2008152695.tif 000019
【図１８】
2008152695.tif 000020
【図１９】
2008152695.tif 000021
【図２０】
2008152695.tif 000022
【図２１】
2008152695.tif 000023
【図２２】
2008152695.tif 000024
【図２３】
2008152695.tif 000025
【図２４】
2008152695.tif 000026
【図２５】
2008152695.tif 000027
【図２６】
2008152695.tif 000028
【図２７】
2008152695.tif 000029
【図２８】
2008152695.tif 000030
【図２９】
2008152695.tif 000031
【図３０】
2008152695.tif 000032
【図３１】
2008152695.tif 000033
【図３２】
2008152695.tif 000034