(57)【要約】【課題】各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御可能とする。【解決手段】各記憶装置２０もしくは全記憶装置２０に格納されているデータ総量に係る情報をモニタするモニタ手段５０と、そのモニタ結果に応じた指標値を算出する指標値算出手段６１と、算出された前記指標値に基づき論理記憶領域を複数の記憶装置２０上の物理記憶領域に分散して配置もしくは再配置する配置手段６２とをそなえる。【選択図】        図１
2005050303.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段と、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段とをそなえたことを特徴とする、分散型ストレージシステム。
【請求項２】
該モニタ手段が、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率をモニタし、
該指標値算出手段が、前記指標値を、該モニタ手段によってモニタされた前記システム全体の使用率に応じて算出することを特徴とする、請求項１記載の分散型ストレージシステム。
【請求項３】
該複数の記憶装置が、サービス属性を予め設定された複数のクラスに分類されるとともに、
該データ処理装置のリード／ライト対象であるデータに、当該データに対する要求属性が予め設定され、
該配置手段が、分散配置／再配置対象であるデータの要求属性に応じたサービス属性を決定し、決定されたサービス属性を設定されたクラスに属する記憶装置上の物理記憶領域に、当該データの分散配置／再配置を行なうことを特徴とする、請求項１または請求項２に記載の分散型ストレージシステム。
【請求項４】
該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率が、予め設定された水準を超えた場合に、その旨をシステム管理者に通知する通知手段、および、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段のうちの少なくとも一方をさらにそなえたことを特徴とする、請求項１〜請求項３のいずれか一項に記載の分散型ストレージシステム。
【請求項５】
該指標値算出手段もしくは該配置手段が、該制御モジュール，該データ処理装置，独立した専用モジュール，システム制御用モジュール，通信装置（該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの）のうちの少なくとも一つに実装されていることを特徴とする、請求項１〜請求項４のいずれか一項に記載の分散型ストレージシステム。
【請求項６】
データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段と、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値（システム安定度）を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム。
【請求項７】
該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作の実行可能回数を前記評価値（システム安定度）として算出することを特徴とする、請求項６記載の分散型ストレージシステム。
【請求項８】
該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、リカバー操作の成否判定処理を１回目から順次実行し、リカバー操作が成功したと判定された場合に次のリカバー操作の成否判定処理を実行し、Ｍ回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つＭ＋１回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合に「Ｍ」を前記リカバー操作の実行可能回数として算出することを特徴とする、請求項７記載の分散型ストレージシステム。
【請求項９】
前記リカバー操作の実行可能回数Ｍと予め設定された閾値とを比較する比較手段と、
該比較手段による比較結果に応じて、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえたことを特徴とする、請求項８記載の分散型ストレージシステム。
【請求項１０】
前記リカバー操作の実行可能回数Ｍと予め設定された第１閾値および第２閾値（＞前記第１閾値）とを比較する比較手段と、
該比較手段による比較の結果、前記リカバー操作の実行可能回数Ｍが前記第１閾値以下となった場合に、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえ、
該比較手段による比較の結果、前記リカバー操作の実行可能回数Ｍが前記第２閾値以下となった場合に、該通知手段が前記システム管理者に対する通知動作を行なうことを特徴とする、請求項８記載の分散型ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶装置を有する大規模な分散型ストレージシステムに適用される技術に関し、さらに詳しくは、大中小規模・高中低速の様々な特徴をもつ複数の記憶装置を総括して効率的かつ安定的に動作制御することができるようにした技術に関する。
【背景技術】
【０００２】
例えば下記特許文献１には、複数の記憶装置をネットワーク上に分散配置した分散型ネットワークストレージシステムにおいて、「論理ボリューム」と呼ばれる仮想記憶手法を利用することが開示されている。そして、このようなシステムにおいて各記憶装置のディスクアレイ上の記憶制御を行なう技術が、例えば下記特許文献２〜４に開示されている。
特許文献２では、「再配置のための指標」を定義し、各論理ディスク装置（論理ボリューム）に対するアクセス情報を前記指標として採取し、そのアクセス情報に基づいて、論理ディスク装置の物理ディスク装置（記憶装置）に対する再配置を行なった後、全データを連続的に格納し直している。ここで、前記指標（アクセス情報）として例えばデータに対するアクセス頻度を採取することで、アクセス頻度の高い論理ディスク装置をより高速な物理ディスク装置へ再配置し、アレイ上に分散したデータのうち、アクセス頻度の高いものを1箇所にまとめ、シーケンシャルアクセス性能を向上させることが開示されている。
【０００３】
特許文献３では、複数の記憶装置を、属性を有する複数のクラスに分類して管理し、各クラスの使用状況や前記属性に基づいて、再配置におけるデータの移動元および移動先を、保守員が簡単に決められるようにして、記憶領域の物理的再配置による配置最適化を行なうための作業の簡便化をはかっている。特に、この特許文献３では、各記憶装置（ディスク装置）の単位時間当たりの使用時間が、前記属性としてクラス毎に設定された上限値を超えないように、論理記憶領域の再配置先のクラスを決定する手法が開示されている。つまり、アレイ上のデータアクセス集中点を検出し負荷分散を行なうことにより、アレイ全体の見掛け上のアクセス性能低下を防止する手法が開示されている。
【０００４】
特許文献４では、特許文献３の手法を実現する際に、各物理記憶装置内でキャッシュ処理が行なわれていても「各物理記憶装置（ディスク装置）での論理記憶領域の占有時間（実稼動時間）」の集計が正しく行なわれるように工夫した技術が開示されている。つまり、この特許文献４においても、特許文献３と同様、アレイ上のデータアクセス集中点を検出し負荷分散を行なうことにより、アレイ全体の見掛け上のアクセス性能低下を防止する手法が開示されている。
【特許文献１】特開平５−３３４００６号公報（特許第２７６６２４号）
【特許文献２】特開平９−２７４５４４号公報
【特許文献３】特開２００１−６７１８７号公報
【特許文献４】特開２００２−１５７０９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１〜４を含む従来技術において、上述のような分散型ネットワークストレージシステムを取り扱う際、個々の物理記憶装置のもつ最大利用可能総容量や速度パフォーマンスなどの特性は、同一もしくはほぼ同一で、且つ、各種要求に対し十分な大きさを有している、といった仮定がなされている。このような仮定が成立する限りにおいて、分散型ネットワークストレージシステムでは、例えばデータアクセスの集中点を見つけた場合、複数の物理記憶装置間で一般的な使用容量平準化や残容量平準化（いずれについても後述する）を行なうだけで、問題なく、その集中点を解消することができる。
【０００６】
しかしながら、今後、さらなる発展が期待されている大規模ネットワークストレージシステムは、システム拡張性を事実上無限とみなすことができ、且つ、システム拡張操作などを含む全ての保守操作を、システムサービスを中断することなく遂行（１年３６５日、２４時間連続運転を保証）できるように構成されるといった状況下にあるため、上記仮定が成立するシステムとは、多少、事情が異なってくる。
【０００７】
つまり、上記状況下で分散型ネットワークストレージシステムを運用すると、このシステムに属する個々の物理記憶装置のもつ最大利用可能総容量は一定でなくなるという状況が生じる。おそらく、新たに増設される物理記憶装置の記憶容量は、半年乃至1年前に設置した装置の記憶容量の倍以上となり、上記仮定が成立しなくなるのは明らかである。
各物理記憶装置の容量が大きく異なるシステムで、一般的な使用容量平準化や残容量平準化を適用すると、後述するごとく複数の物理記憶装置におけるデータ配置状態に片寄りが生じ、システム全体の利用率が小さい場合にはシステムの応答性能が低下する一方、システム全体の利用率が大きい場合にはシステムの安定性能が低下してしまう。
【０００８】
従って、システムに属する個々の物理記憶装置のもつ最大利用可能総容量や速度パフォーマンスなどの特性が、従来技術のごとくほぼ同一の値で揃っていないという状況下で、システム全体の利用率（使用率）が変化しても、システムを効率的かつ安定的に動作制御するようにすることが望まれている。
ここで、以下に、使用容量平準化や残容量平準化と、これらの平準化を、容量の異なる様々な記憶装置をそなえたシステムに適用した場合の状況とについて、具体的に説明する。
【０００９】
なお、以下の説明において、Ｔiはストレージ・ノード（物理記憶装置）ｉの総容量、Ｕｉはストレージ・ノードｉの使用容量、Ｒｉはストレージ・ノードｉの残容量であり、これらの変数Ｔi，Ｕi，Ｒiは、下記の(1)式および(2)式で示すような関係を有しているものとする。
【００１０】
【数１】
2005050303.tif 000003
【００１１】
まず、使用容量平準化について、検討・説明する。
使用容量平準化では、異なる総容量Ｔiに対して、使用容量Ｕiがなるべく同じ水準Ｕとなるよう取り計らう。下記の(3)式および(4)式を満たすシステム・リソース配置は、このケースに対する「理想形」の一般形となり、これ以上の「改善努力」は払われない。
【００１２】
【数２】
2005050303.tif 000004
【００１３】
上記の「理想形」以外のリソース配置においては、各ノードｉに対する「改善努力」指標値ΔＵiを下記(5)式のように定義することができる。この場合、ΔＵi＞０のノードにユーザデータが流入することになる。
【００１４】
【数３】
2005050303.tif 000005
【００１５】
使用容量平準化では、この(5)式のΔＵiに従ってデータ移動（平準化）を行なう。
次に、残容量平準化について、検討・説明する。
残容量平準化では、異なる総容量Ｔi対して、残容量Ｒiがなるべく同じ水準Ｒとなるよう取り計らう。下記の(6)式および(7)式を満たすシステム・リソース配置は、このケースに対する「理想形」の一般形となり、これ以上の「改善努力」は払われない。
【００１６】
【数４】
2005050303.tif 000006
【００１７】
上記の「理想形」以外のリソース配置においては、各ノードｉに対する「改善努力」指標値ΔＲiを下記(8)式のように定義することができる。この場合、ΔＲi＞０のノードにユーザデータが流入することになる。
【００１８】
【数５】
2005050303.tif 000007
【００１９】
なお、上記各式より、簡単な算術によって、下記(9)式が得られる
【００２０】
【数６】
2005050303.tif 000008
【００２１】
残容量平準化では、上記(8)式または(9)式のΔＲiに従ってデータ移動（平準化）を行なう。
そして、各ノードのサイズＴiが全く同一であるシステムにおいて、「使用容量平準化」と「残容量平準化」とは、全く同じ動作を行なうことになる。
これに対し、ノードのサイズＴiの間に、数倍から数十倍の開きがある場合、システム全体の使用率（利用率）に応じて以下のような状況が生じることになる。
【００２２】
システム全体の使用率が比較的小である場合、上記(9)式の右辺において第１項の絶対値よりも第２項の絶対値の方がはるかに大である。従って、「残容量平準化」では、大容量ストレージ上に選択的に新規記憶領域が確保されることになり、小容量ストレージ上に新規記憶領域が確保されることはほとんど無くなることが判る。つまり、大容量ストレージばかりにデータが配置されることになり、応答性能の低下を招くおそれがある。
【００２３】
また、システム全体の使用率が比較的大である場合（つまり容量が逼迫している場合）、上記(5)式において、ノードのサイズＴiがこの(5)式中に表われていないことから、「使用容量平準化」では、システムの容量逼迫時にシステムの一部は破綻を来たしていることが判る。即ち、小容量ストレージは使用可能総容量を既に使い尽くされており、機能の一部を完全に失った状態に陥っている。
【００２４】
本発明は、このような課題に鑑み創案されたもので、各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御できるようにすることを目的としている。
【課題を解決するための手段】
【００２５】
上記目的を達成するために、本発明の分散型ストレージシステムは、データを記憶するものであって最大利用可能総容量の異なるものを含む複数の記憶装置と、各記憶装置に結び付けられ各記憶装置に対するアクセスを制御するための制御モジュールと、該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段と、該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段とをそなえたことを特徴としている。
【００２６】
このとき、該モニタ手段が、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率をモニタし、該指標値算出手段が、前記指標値を、該モニタ手段によってモニタされた前記システム全体の使用率に応じて算出するように構成してもよい。
また、該複数の記憶装置を、サービス属性を予め設定された複数のクラスに分類するとともに、該データ処理装置のリード／ライト対象であるデータに、当該データに対する要求属性を予め設定しておき、該配置手段が、分散配置／再配置対象であるデータの要求属性に応じたサービス属性を決定し、決定されたサービス属性を設定されたクラスに属する記憶装置上の物理記憶領域に、当該データの分散配置／再配置を行なうように構成してもよい。
【００２７】
さらに、該モニタ手段によってモニタされる前記システム全体の使用率が予め設定された水準を超えた場合にその旨をシステム管理者に通知する通知手段、および、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段のうちの少なくとも一方をさらにそなえてもよい。
またさらに、該指標値算出手段もしくは該配置手段を、該制御モジュール，該データ処理装置，独立した専用モジュール，システム制御用モジュール，通信装置（該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの）のうちの少なくとも一つに実装してもよい。
【００２８】
一方、本発明の分散型ストレージシステムは、上述と同様の複数の記憶装置，制御モジュールおよび対応付け手段をそなえるとともに、各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段と、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値（システム安定度）を算出する評価値算出手段と、該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴としている。
【００２９】
このとき、該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作の実行可能回数を前記評価値（システム安定度）として算出するように構成してもよい。この場合、該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、リカバー操作の成否判定処理を１回目から順次実行し、リカバー操作が成功したと判定された場合に次のリカバー操作の成否判定処理を実行し、Ｍ回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つＭ＋１回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合に「Ｍ」を前記リカバー操作の実行可能回数として算出するように構成する。
【００３０】
なお、前記リカバー操作の実行可能回数Ｍと予め設定された閾値とを比較する比較手段と、該比較手段による比較結果に応じて予め用意された予備記憶装置を該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえてもよい。
また、前記リカバー操作の実行可能回数Ｍと予め設定された第１閾値および第２閾値（＞前記第１閾値）とを比較する比較手段と、該比較手段による比較の結果、前記リカバー操作の実行可能回数Ｍが前記第１閾値以下となった場合に予め用意された予備記憶装置を該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段とをさらにそなえ、該比較手段による比較の結果、前記リカバー操作の実行可能回数Ｍが前記第２閾値以下となった場合に、該通知手段が前記システム管理者に対する通知動作を行なうように構成してもよい。
【発明の効果】
【００３１】
上述した本発明の分散型ストレージシステムによれば、各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報がモニタされ、そのモニタ結果に応じた指標値に基づいて論理記憶領域が複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置されることになる。
従って、各記憶装置もしくは全記憶装置におけるデータ総量に係る情報に応じた分散配置／再配置処理を実行することが可能になり、各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御することができる。
【００３２】
このとき、前記情報として、システム全体の使用率（全記憶装置に格納されているデータ総量もしくは論理記憶領域ごとのデータ格納量と全記憶装置の最大利用可能総容量との比）をモニタし、この使用率に応じた指標値に基づいて分散配置／再配置処理を実行することにより、例えば、システム全体の使用率が小さい場合には、各記憶装置のデータ総量を指標値として用いて使用容量平準化を行なうことで、並列処理化によりシステムの応答性能が向上する一方、システム全体の使用率が大きい場合には、各記憶装置の残容量を指標値として用いて残容量平準化を行なうことで、できるだけシステム全体の安定性を向上させてシステム容量逼迫までの寿命を延ばすことができる。
【００３３】
一方、本発明の分散型ストレージシステムによれば、各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報がモニタされ、そのモニタ結果を含むシステム情報に基づき、本システムの安定的運用に係る評価値（システム安定度Ｍ）が算出され、その評価値に応じて、システム管理者に対する通知が行なわれることになる。
【００３４】
従って、最大利用可能総容量の異なるものを含む複数の記憶装置をそなえて構成された分散型ストレージシステムにおいて、このシステムが効率的かつ安定的に動作するように配慮したがために使用限界状態の間際まで安定に動作してしまい、システム管理者がシステム容量の逼迫に気づき難くなってしまうという状況を解消することができ、本システムを効率的、かつ、真に安定的に運用することが可能になる。
【００３５】
特に、本発明では、現状のシステム・リソース使用状況（モニタ結果を含むシステム情報）に基づいてＭ回目（先）のリカバー操作の成否を判定し、リカバー操作の実行可能回数Ｍをシステム安定度（評価値）として算出する。つまり、本発明によれば、分散型ストレージシステムにおいて、現状のシステム・リソース使用状況に基づいて、システム安定度Ｍ（Ｍは非負の整数）を、「Ｍ回先のリカバー操作が必ず成功する」といった、明確かつ具体的な意味をもって定義することができ、さらに、上述のシステム安定度を、簡単な算術計算と大小比較のみによって、正確に算出・判定することが可能になる。
【発明を実施するための最良の形態】
【００３６】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕第１実施形態の説明
図１は本発明の第１実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図１に示すように、第１実施形態の分散型ネットワークストレージシステム１０は、記憶装置２０（２０−１〜２０−６），制御モジュール２１（２１−１〜２１−６），データ処理装置３０，ネットワーク４０，モニタエージェント５０および配置エージェント６０をそなえて構成されている。
【００３７】
記憶装置（物理記憶装置）２０は、それぞれデータを記憶するためのもので、本実施形態のシステム１０では、最大利用可能総容量の異なるものを含む６台の記憶装置２０がそなえられている。なお、以下の説明では、記憶装置２０のそれぞれを区別して記述する際には符号２０−１〜２０−６を用い、特に区別する必要のない場合には符号２０を用いて説明する。また、本実施形態のシステム１０では、記憶装置２０−１および２０−２の最大利用可能総容量が最も大きく、記憶装置２０−３および２０−４の最大利用可能総容量がその次に大きく、記憶装置２０−５および２０−６の最大利用可能総容量が最も小さいものとする。
【００３８】
記憶装置２０−１〜２０−６には、それぞれ、記憶装置２０−１〜２０−６に対するアクセスを制御するための制御モジュール２１−１〜２１−６が付設されており、これらの制御モジュール２１−１〜２１−６を介して記憶装置２０−１〜２０−６はネットワーク４０に接続されている。なお、制御モジュール２１（２１−１〜２１−６）についても、それぞれを区別して記述する際には符号２１−１〜２１−６を用い、特に区別する必要のない場合には符号２１を用いる。
【００３９】
データ処理装置（ユーザ側端末）３０は、記憶装置２０によるストレージ機能を利用するもので、このデータ処理装置３０がリード／ライト対象とする論理記憶領域と各記憶装置２０上の物理記憶領域とを対応付ける対応付けマップ（対応付け手段）３１を有している。本実施形態のシステム１０では、データ処理装置３０は３台そなえられ、それぞれネットワーク４０に接続されている。
【００４０】
データは、実際には個々の記憶装置２０上の物理記憶領域に分散して記憶されるが、本システム１０のストレージ機能を利用するデータ処理装置３０からは、上記物理記憶領域とは異なる論理記憶領域（＝仮想的なディスクボリューム）への仮想リード／ライトアクセス命令を発行すると、対応付けマップ３１を用いて実物理データへの実アクセスが実行されるようになっている。
【００４１】
なお、論理記憶領域と物理記憶領域とを対応づける機能（対応付けマップ３１等）は、本実施形態のごとくデータ処理装置３０に実装されてもよいが、データ処理装置３０に近い側（命令発行側）のモジュールに実装されていてもよいし、記憶装置２０に近い側（命令実行側）のモジュールに実装されていてもよいし、両者の中間の専用モジュールとして実装されていてもよいし、ネットワーク４０を成す通信路上の通信機器（下記ハブ４１等）の近くに実装されていてもよい。
【００４２】
ネットワーク（ネットワーク接続手段，通信路）４０は、上述した制御モジュール２１およびデータ処理装置３０と後述するモニタエージェント５０および配置エージェント６０との相互間を通信可能に接続するもので、このネットワーク４０を成す通信路上には、ハブ（通信装置）４１が３台そなえられている。
モニタエージェント（モニタ手段）５０は、ネットワーク４０を介して各記憶装置２０もしくは全記憶装置２０に格納されているデータ総量に係る情報をモニタするもので、このモニタエージェント５０によってモニタされる情報については後述する。
【００４３】
配置エージェント６０は、指標値算出手段６１および配置手段６２をそなえて構成されている。指標値算出手段６１は、モニタエージェント５０によるモニタ結果に応じた指標値を算出するものであり、配置手段６２は、システム平準化を実現すべくデータ移動を実行させるためのもので、指標値算出手段６１によって算出された前記指標値に基づき、ネットワーク４０および制御モジュール２１を介して、前記論理記憶領域を記憶装置２０上の物理記憶領域に分散して配置もしくは再配置するものである。
【００４４】
これらの指標値算出手段６１および配置手段６２の機能と、制御モジュール２１が有する通信機能（ネットワーク４０を用いた制御モジュール２１間の通信機能）とを利用して、より望ましいシステム利用状態になるように、記憶装置２０へのデータ分散配置（論理記憶領域の記憶装置２０上の物理記憶領域への分散配置）が実施されるとともに記憶装置２０間でのデータ移動（論理記憶領域の記憶装置２０上の物理記憶領域への再配置）が実施される。指標値算出手段６１によって算出される指標値や、配置手段６２によって実行される分散配置／再配置については後述する。
【００４５】
なお、本実施形態のシステム１０では、モニタエージェント５０や配置エージェント６０をそれぞれ独立した専用モジュールとしてそなえているが、モニタエージェント５０や配置エージェント６０としての機能を、同一の専用モジュールにそなえてもよいし、システム制御用モジュール（システム汎用制御モジュール）の多数の機能のうちの一つとしてそなえてもよい。また、モニタエージェント５０や配置エージェント６０としての機能を、制御モジュール２１，データ処理装置３０，ハブ４１の少なくとも一つに実装してもよいし、これらの制御モジュール２１，データ処理装置３０，ハブ４１に分散させて実装してもよい。また、モニタエージェント５０や配置エージェント６０としての機能は、データ処理装置３０に近い側（命令発行側）のモジュールに実装されていてもよいし、記憶装置２０に近い側（命令実行側）のモジュールに実装されていてもよいし、両者の中間の専用モジュールとして実装されていてもよいし、ネットワーク４０を成す通信路上の通信機器（上記ハブ４１等）の近くに実装されていてもよい。
【００４６】
さて、以下に、システム１０の動作制御手法について、つまりは、モニタエージェント５０によってモニタされる情報，指標値算出手段６１によって算出される指標値，配置手段６２によって実行される分散配置／再配置について、より詳細に説明する。
〔１−１〕第１手法（使用容量平準化を用いる場合）
モニタエージェント５０によって、システム全体の使用率、即ち、各瞬間において、全記憶装置２０に格納されているデータ総量ΣＵj（もしくは論理記憶領域ごとのデータ格納量）と、全記憶装置２０の最大利用可能総容量ΣＴjとの比ρをモニタする。そして、モニタされた使用率ρが予め設定された第１所定値よりも小さい場合、指標値算出手段６１が、前記指標値として、各瞬間において各記憶装置２０に格納されているデータ総量（使用容量）Ｕi（もしくは論理記憶領域ごとのデータ格納量（使用容量））をモニタエージェント５０から取得し、配置手段６２が、指標値算出手段６１によって取得された、各記憶装置２０における前記使用容量Ｕiを平準化するように、論理記憶領域の分散配置／再配置を行なう。配置手段６２は、実際には、上述した通り上記(5)式のΔＵiに従ったデータ移動（使用容量平準化）を行なう。
【００４７】
ここで、個々の物理記憶装置２０の最大使用可能総容量に数倍から数十倍の開きがあり、個々の物理記憶装置２０の速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下では、システム全体の使用率ρが比較的小である場合、より具体的には、システム１０中において最小サイズの記憶装置２０の容量に比べても、まだシステム全体の平均利用容量が小であるくらい使用率ρが小さい場合、上記(5)式に従った使用容量平準化を行なうと、並列処理化によりシステム１０の応答性能が良くなるメリットがある。
【００４８】
従って、上記条件に見合うように上記第１所定値を設定しておけば、本第１手法を用いることにより、各記憶装置２０の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっている状況下でシステム全体の使用率が比較的小さくなっても、システム１０の応答性能を向上させることができる。
〔１−２〕第２手法（残容量平準化を用いる場合）
上記第１手法と同様、モニタエージェント５０によって、システム全体の使用率ρをモニタする。そして、モニタされた使用率ρが予め設定された第２所定値よりも大きい場合、指標値算出手段６１が、前記指標値として、各瞬間において各記憶装置２０の最大利用可能総容量Ｔiと各記憶装置２０に格納されているデータ総量Ｕiとの差（残容量）を、モニタエージェント５０によるモニタ結果に基づいて算出し、配置手段６２が、指標値算出手段６１によって算出された、各記憶装置２０における前記残容量を平準化するように、論理記憶領域の分散配置／再配置を行なう。配置手段６２は、実際には、上述した通り上記(9)式のΔＲiに従ったデータ移動（残容量平準化）を行なう。
【００４９】
ここで、個々の物理記憶装置２０の最大使用可能総容量に数倍から数十倍の開きがあり、個々の物理記憶装置２０の速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下では、システム全体の使用率が比較的大である場合（つまり容量逼迫時）、より具体的には、システム１０中において最大サイズの記憶装置２０の容量に比してシステム全体の平均利用容量が例えば５０％超であるくらい使用率ρが大きくなった場合、上記(9)式に従った残容量平準化を行なうと、できるだけシステム全体の安定性をあげて、システム１０の容量逼迫までの寿命を延ばす方向のアクションを実現することができる。
【００５０】
従って、上記条件に見合うように上記第２所定値を設定しておけば、本第２手法を用いることにより、各記憶装置２０の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっている状況下でシステム全体の使用率が比較的大きくなっても、システム全体の安定性をあげてシステム１０の容量逼迫までの寿命を延ばすことができる。
〔１−３〕第３手法（容量使用率平準化）
モニタエージェント５０によって、各瞬間において各記憶装置２０に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）をモニタする。ついで、指標値算出手段６１が、モニタされた各記憶装置２０のデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）と、各記憶装置２０の最大利用可能総容量Ｔiとの比（容量使用率）ｕiの対数値と、当該比ｕiの幾何平均の対数値との差を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値をゼロに近づけるように、論理記憶領域の分散配置／再配置を行なう。つまり、第３手法では、配置手段６２は、容量使用率ｕiを幾何平均の値に近づけるように作用するもので、実際には、後述する（１１）式のΔｕi′に従ったデータ移動（容量使用率平準化）を行なう。なお、ここでは、モニタエージェント５０により、データ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）をモニタしているが、上記比（容量使用率）ｕiをモニタしてもよい。
【００５１】
ここで、より具体的に、容量使用率平準化について説明する。
容量使用率平準化では、異なる最大利用可能総容量Ｔｉに対して、容量使用率ｕi≡Ui／Ｔiがなるべく同じ水準ｕとなるよう取り計らう。この操作は、容量使用率の対数ｕi′≡logｕiがなるべく同じ水準ｕ′≡logｕとなるよう取り計らう操作と等価である。この点を踏まえ、一般のリソース配置において、各ノードｉ（記憶装置２０−ｉ；図１ではｉ＝１，２，…，６）に対する「改善努力」指標値Δｕi′を、下記(10)式および(11)式のように定義することができる。この場合、Δｕi′＞0のノードにユーザデータが流入することになる。
【００５２】
【数７】
2005050303.tif 000009
【００５３】
結局、上記(10)式の右辺第１項は容量使用率ｕiの幾何平均（＝相乗平均）の対数値となる（註：“物価上昇率”など、「率」の平均値としては幾何平均を用いるのが一般的である）。
この場合、簡単な算術によって、上記(10)式から下記(11)式を導出することができる。
【００５４】
【数８】
2005050303.tif 000010
【００５５】
各ノード（記憶装置２０）のサイズＴiが全く同一であるシステムにおいては、ここで説明した「容量使用率平準化」は「使用容量平準化」や「残容量平準化」と等価なアクションを振舞うことになる。
これに対し、各ノードのサイズＴiに数倍から数十倍の開きがあり、各ノードの速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下であって、システム全体の使用率ρが比較的小であるとき、上記(11)式において、対数関数の性質により、多くの場合、右辺第１項の絶対値の方が右辺第２項の絶対値よりも大である。従って、「容量使用率平準化」は、上記右辺第２項の寄与が相対的に弱まり、上記右辺第１項が支配的、即ち、上記(5)式に従う「使用容量平準化」に類似した挙動を示す。
【００５６】
一方、上記状況下であって、システム全体の使用率ρが比較的大であるとき（つまり容量逼迫時）、上記(11)式において、右辺第１項の寄与と右辺第２項の寄与がほぼ同等になる。従って、「容量使用率平準化」は、上記(9)式に従う「残容量平準化」に類似した挙動を示す。
つまり、上記(11)式に従う「容量使用率平準化」の挙動は、システム全体の使用率ρが小さい場合、上記(5)式に従う「使用容量平準化」の挙動に近くなり、システム１０の応答性能が向上する一方、システム全体の使用率ρが大きい場合、上記(9)式に従う「残容量平準化」の挙動に近くなり、システム１０の安定性能が向上する。従って、各記憶装置２０の最大利用可能総容量（サイズＴｉ）や速度パフォーマンスなどの特性が大きく異なっている状況下で、システム全体の使用率が変化しても、システム１０を効率的かつ安定的に動作制御することができる。
【００５７】
〔１−４〕その他の平準化指標関数
次に、上記(11)式に従う「容量使用率平準化」と同様の挙動を示す関数形として、この(11)式以外のものを提案する。
ここでは、一例として、下記(12)式で示す平準化指標関数ｆiを提案する。
【００５８】
【数９】
2005050303.tif 000011
【００５９】
ただし、上記(12)式中のρは、前述したシステム全体の使用率であり、下記(13)式で定義される。
【００６０】
【数１０】
2005050303.tif 000012
【００６１】
ここで、上記平準化指標関数ｆiの無次元指標関数ｆi′を下記(14)式の通り定義すると、上記(12)式および(13)式に基づいて、簡単な算術により、下記(15)式または(16)式が得られる。
【００６２】
【数１１】
2005050303.tif 000013
【００６３】
上記(16)式によって与えられる平準化指標関数の意味は、各ノードの消費量（使用容量）Ｕiのシステム全消費量ΣＵjに対する比は、各ノードのサイズＴiのシステム全サイズΣＴjに対する比に等化した方が良い、ということになる。
また、無次元化の方法を変え、無次元指標関数をｇi′≡ｆi／Ｔiと置いて得られた下記(11)式を見ると、この関数ｇi′は、上記(10)式または(11)式とは若干異なる定義（しかし意味的にほぼ同等の定義）の「容量使用率平準化指標関数」となっていることが分かる。ここで、上記(15)式と下記(17)式とは、基本的には無次元化の方法を変えただけなので、アルゴリズム実装レベルにおいては同形となる。
【００６４】
【数１２】
2005050303.tif 000014
【００６５】
さらに、別の例として、下記(18)式のような平準化指標関数Ｆ2iを提案する。
【００６６】
【数１３】
2005050303.tif 000015
【００６７】
この(18)式の指標関数Ｆ2iは、上記(12)式の指標関数ｆｉと比べると、システム全体の使用率が比較的小であるときに「使用容量平準化」と類似の挙動を示し、システム全体の使用率が比較的大であるとき（つまり容量逼迫時）に「残容量平準化」と類似の挙動を示す傾向が、より強い。
ここで、上記平準化指標関数Ｆ2iの無次元指標関数Ｆ2i′を下記(19)式の通り定義すると、上記(18)式に基づいて、簡単な算術により、下記(20)式が得られる。
【００６８】
【数１４】
2005050303.tif 000016
【００６９】
上記(20)式において、右辺第１項は、上記(15)式のｆi′と同じものであり、右辺第２項は、「システム全体の残容量率に、自ノードのサイズＴiに応じた適当な因数を乗じたもの」となっている。ここで用いられる適当な因数は、Ｔiが全ノードのサイズの平均値よりも大なら負、小なら正となるようなものである。
次に、上記(12)式および(18)式を一般化した、下記(21)式の指標関数Ｆηiついて考察する。
【００７０】
【数１５】
2005050303.tif 000017
【００７１】
ここで、上記平準化指標関数Ｆηiの無次元指標関数Ｆηi′を下記(22)式の通り定義すると、上記(21)式に基づいて、簡単な算術により、下記(23)式が得られる。
【００７２】
【数１６】
2005050303.tif 000018
【００７３】
上記(23)式において、右辺第１項は、上記(15)式のｆi′と同じものであり、右辺第２項は、「システム全体の使用率の（η−１）乗に対応した“疑似残容量率”に、自ノードのサイズＴiに応じた適当な因数を乗じたもの」となっている。ここで用いられる適当な因数は、上記(20)式の因数と同様、Ｔiが全ノードのサイズの平均値よりも大なら負、小なら正となるようなものである。
【００７４】
なお、上記(22)式による無次元化法を変更し無次元指標関数をＧηi′≡Ｆηi／Ｔiと定義すると、上記(23)式とは若干異なる形の下記(24)式の「一般化指標関数」が得られる。ここで、上記(23)式と下記(24)式とは、基本的には無次元化の方法を変えただけなので、アルゴリズムの実装レベルにおいては同形となる
【００７５】
【数１７】
2005050303.tif 000019
【００７６】
上記(24)式において、右辺第１項は、上記(17)式のｇi′と同じものであり、右辺第２項は、「システム全体の使用率とシステム全体の利用率の（η−１）乗に対応した“疑似残容量率”との積に、自ノードのサイズＴiに応じた適当な因数を乗じたもの」といった意味の指標となっている。ここで用いられる適当な因数は、Ｔiが全ノードのサイズの平均値よりも大なら負、小なら正となるようなものであるが、上記(20)式の因数とは僅かばかり異なっている。
【００７７】
上記(21)式の一般化指標関数Ｆηiは、本システム１０の「再配置挙動」を決めるパラメータであり、このパラメータＦηiと使用率ρとの関係を示すグラフを図２に示す。
この図２にも示すように、ρη＝０（ρ＝０）の場合、上記(21)式は上記(5)式と等価で「使用容量平準化」が行なわれることになり、ρη＝１（η＝０もしくはρ＝１）の場合、上記(21)式は上記(9)式と等価で「残容量平準化」が行なわれることになり、ρη＝ρ（η＝１）の場合、上記(21)式は上記(12)式と等価で「容量使用率平準化」が行なわれることになる。
【００７８】
また、上記(21)式においてη＝Ｍ（Ｍ＞１；例えばＭ＝η＝２）の場合やη＝１／Ｍ（Ｍ＞１；例えばＭ＝２でη＝０．５）の場合（つまりη≠１の場合）、上記(21)式による平準化は、基本的には上記(12)式に従う容量使用率平準化とほぼ同等のものであり、システム全体の使用率が小さい場合に応答性能が向上し、システム全体の使用率が大きい場合に安定度が向上する。
【００７９】
ただし、η≠１の場合の上記(21)式に従う平準化は、上記(12)式に従う容量使用率平準化のバリエーションと言えるもので、図２に示すように、η＝１の場合の上記(21)式に従う平準化（即ち上記(12)式に従う容量使用率平準化）とは異なったバランスにシステムの収束点が位置するため、上記(12)式に従う容量使用率平準化とは少し異なった挙動を示すことになる。つまり、上記(21)式におけるηの値を変更することでシステムの収束点のバランスを変化させ、平準化挙動を調整することが可能である。
【００８０】
ついで、上記の(12)式〜(24)式を参照しながら説明した平準化指標関数を用いたシステム１０の動作制御手法についてまとめると、以下のようになる。ただし、各手法の平準化挙動については、上述しているので、以下ではその説明を省略する。
〔１−４−１〕第４手法
指標値算出手段６１が、各記憶装置２０の最大利用可能総容量Ｔiと、モニタエージェント５０によってモニタされた、各瞬間において各記憶装置に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）とを重み付け後に加算もしくは減算した値を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値を平準化するように、論理記憶領域の分散配置／再配置を行なう。なお、この第４手法で算出される指標値は、上記の(12)式，(18)式や(21)式によって算出される指標値を含んでいる。
【００８１】
〔１−４−２〕第５手法
指標値算出手段６１が、各記憶装置２０の最大利用可能総容量Ｔiに、モニタエージェント５０によってモニタされたシステム全体の使用率ρ（上記(13)式参照）を重みとして乗算した値と、モニタエージェント５０によってモニタされた、各瞬間において各記憶装置２０に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）との差を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値を平準化するように、論理記憶領域の分散配置／再配置を行なう。つまり、第５手法は、上記第４手法をより限定したものであり、この第５手法では、上記(12)式（つまり上記(21)式でη＝１とした場合）を用いて前記指標値を算出する。
【００８２】
〔１−４−３〕第６手法
指標値算出手段６１が、各記憶装置２０の最大利用可能総容量Ｔiに、モニタエージェント５０によってモニタされたシステム全体の使用率ρのＭ乗（Ｍ＞１）を重みとして乗算した値と、モニタエージェント５０によってモニタされた、各瞬間において各記憶装置２０に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）との差を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値を平準化するように、論理記憶領域の分散配置／再配置を行なう。つまり、第６手法も、上記第４手法をより限定したものであるが、この第６手法では、上記(18)式や、η＝Ｍ（Ｍ＞１）とした上記(21)式を用いて前記指標値を算出する。
【００８３】
〔１−４−４〕第７手法
指標値算出手段６１が、各記憶装置２０の最大利用可能総容量Ｔiに、モニタエージェント５０によってモニタされたシステム全体の使用率ρのＭ乗根（Ｍ＞１）を重みとして乗算した値と、モニタエージェント５０によってモニタされた、各瞬間において各記憶装置２０に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）との差を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値を平準化するように、論理記憶領域の分散配置／再配置を行なう。つまり、第７手法も、上記第４手法をより限定したものであるが、この第７手法では、η＝１／Ｍ（Ｍ＞１）とした上記(21)式を用いて前記指標値を算出する。
【００８４】
〔１−４−５〕第８手法
指標値算出手段６１が、モニタエージェント５０によってモニタされた、各瞬間において各記憶装置２０に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）と、各記憶装置２０の最大利用可能総容量Ｔiとの比と、モニタエージェント５０によってモニタされたシステム全体の使用率ρ（上記(13)式参照）との差を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値をゼロに近づけるように（Ｕi／Ｔiを使用率ρに近づけるように）、論理記憶領域の分散配置／再配置を行なう。つまり、第８手法では、上記(17)式を用いて前記指標値を算出する。
【００８５】
〔１−４−６〕第９手法
指標値算出手段６１が、モニタエージェント５０によってモニタされた、各瞬間において各記憶装置２０に格納されているデータ総量Ｕi（もしくは論理記憶領域ごとのデータ格納量）と、モニタエージェント５０によってモニタされた、各瞬間において全記憶装置２０に格納されているデータ総量ΣＵj（もしくは論理記憶領域ごとのデータ格納量）との比と、各記憶装置２０の最大利用可能総容量Ｔiと全記憶装置２０の最大利用可能総容量ΣＴjとの比との差を、前記指標値として算出する。そして、配置手段６２が、指標値算出手段６１によって算出された前記指標値をゼロに近づけるように（Ｕi／ΣＵjをＴi／ΣＴjを近づけるように）、論理記憶領域の分散配置／再配置を行なう。つまり、第９手法では、上記(16)式（もしくは上記(15)式）を用いて前記指標値を算出する。
【００８６】
上述した本発明の第１実施形態によれば、各記憶装置２０もしくは全記憶装置２０におけるデータ総量（ＵiもしくはΣＵi）に係る情報に応じた分散配置／再配置処理を実行することが可能になり、各記憶装置２０の最大利用可能総容量Ｔiや速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率ρが変化しても、システム１０を効率的かつ安定的に動作制御することができる。
【００８７】
特に、前述したように、各記憶装置２０の最大使用可能総容量Ｔiに数倍から数十倍の開きがあり、各記憶装置２０の速度パフォーマンス値にもまた数倍から数十倍の開きがあるような状況下で、システム全体の使用率ρが比較的小さくなった場合には、上記(5)式に従った使用容量平準化を行なうことにより、並列処理化によりシステム１０の応答性能を向上させることができる。逆に、同様の状況下システム全体の使用率ρが比較的大きくなった場合（容量逼迫時）には、上記(9)式に従った残容量平準化を行なうことにより、システム全体の安定性を向上させてシステム１０の容量逼迫までの寿命を延ばすことができる。
【００８８】
また、上述と同様の状況下で、上記(11)式または(12)式に従う容量使用率平準化を行なった場合には、システム全体の使用率が小さい場合、上記(5)式の挙動に近くなってシステム１０の応答性能が向上する一方、システム全体の使用率が大きい場合、上記(9)式の挙動に近くなってシステム１０の安定性能が向上する。
さらに、上記(18)式（上記(21)式でη＝２の場合）や上記(21)式（ただしη≠１）に従う容量使用率平準化のバリエーションを実行した場合には、図２に示したように上記(12)式に従う容量使用率平準化とは少し異なった挙動が実現される。従って、上記(21)式におけるηの値を変更することでシステムの収束点のバランスを変化させ、平準化挙動を調整することが可能である。このような性質を利用し、ηを適宜設定することで、第３実施形態でも後述するごとく、システム１０の状況や特性に応じたバランスでデータ配置を行なう等の操作が可能になる。
【００８９】
なお、再配置操作によるデータ移動を行なう際には、まず、移動元のデータを決定し、移動先を決定してから、実際のデータ移動が行なわれることになるが、その際、移動元のデータ決定時と移動先決定時とで、上記複数の指標値（複数の手法）のうちの、異なった２つを選択することにより、同一のものを用いた場合とはまた異なるバランスにシステム１０を導くことも可能である。
【００９０】
また、上記の(5)，(9)，(11)〜(21)式では、論理記憶領域（＝仮想的なディスクボリューム）を区別せずに各記憶装置２０のデータ総量Ｕiを集計して得られた総和値が用いられている。このような総和値を用いて試行したところ、論理記憶領域ごとに見ると、特定の物理記憶装置２０に、データを集中的に格納される論理ディスクボリュームが２以上存在する場合があった。このような場合、上記(5)式に従った使用容量平準化を行なっても、並列処理化によるシステム１０の応答性能の向上が、全体的にみると充分でない場合があった。このような状況を回避するために、上記の(5)，(11)〜(21)式において、論理記憶領域を区別して各記憶装置２０のデータ総量Ｕｉを集計した総和値を用いてもよい。なお、論理記憶領域に対して、信頼性向上のために物理的に多重化を行なってデータ格納する場合には、さらに、多重化記憶（１次記憶，２次記憶，…，Ｎ次記憶）の次数も区別してデータ総量Ｕiを集計して得られる総和値を用いることがより望ましい。これにより、システム１０の使用率が小さい場合の応答性能がより向上する。また、論理記憶領域を区別せずに、多重化記憶（１次記憶，２次記憶，…，Ｎ次記憶）の次数だけを区別した集計結果を用いても、有効な指標値の計算が可能である。
【００９１】
さらに、データ処理装置３０のリード／ライト対象であるデータに、そのデータに対する要求属性（データ要求属性）を予め設定しておき、指標値算出手段６１が、配置手段６２による分散配置／再配置対象であるデータの要求属性に応じた適切な指標値算出手法を、例えば上述した各種手法の中から決定し、決定された指標値算出手法を用いて前記指標値を算出してもよい。これにより、個々のデータはそれぞれのもつ属性に応じて、複数の記憶装置２０上の物理記憶領域に分散配置／再配置されることになる。ここで、データ要求属性は、例えば、データ処理装置３０のリード／ライト対象であるデータがトランザクション系（速度優先のデータ）のものであるかバックアップ系（ビット・コスト優先のデータ）のものであるかを示すものである。
【００９２】
〔２〕第２実施形態の説明
図３は本発明の第２実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図３に示すように、第２実施形態の分散型ネットワークストレージシステム１０Ａも、第１実施形態のシステム１０とほぼ同様に構成されているが、この第２実施形態のシステム１０Ａでは、配置エージェント６０Ａに、第１実施形態と同様の指標値算出手段６１および配置手段６２のほかに、停止手段６３が追加されている。なお、図３において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【００９３】
この第２実施形態で追加された停止手段６３は、モニタエージェント５０によるモニタ結果を受け、配置手段６２による平準化が所定水準以上に達成されたこと、もしくは、前記指標値が所定水準以上にゼロに近づいたことを検知した場合、その時点で、それ以上の配置手段６２による分散配置／再配置機能を停止させる機能を果たすものである。
システム１０Ａ（１０）の配置手段６２による再配置操作の最終段階においては、複数の記憶装置２０のうちの２つの間で、同じデータが単振動のように往復する挙動が見られる場合がある。この挙動は、実際に、データ移動に伴うネットワーク通信を発生させるだけで、システム１０Ａ（１０）のデータ格納状況は既に最終形に達しているので、何ら改善するものでない。つまり、この挙動は、ネットワーク資源（ネットワーク４０）を浪費するだけである。
【００９４】
そこで、第２実施形態では、停止手段６３を追加し、配置手段６２による平準化水準や前記指標値の達成水準の閾値を設定し、停止手段６３により、配置手段６２による平準化水準や前記指標値の達成水準がその閾値（所定水準）に達したことを検知すると、配置手段６２による分散配置／再配置処理を打切るようにしている。これにより、上述のような無駄な挙動が発生するのを確実に抑止でき、ネットワーク資源（ネットワーク４０等）の浪費も抑止される。
【００９５】
また、再配置操作に入る前の、論理ボリューム（論理記憶領域）の割り当て時の処理においても、(5)，(9)，(11)，(12)，(15)〜(18)，(21)式で与えられる評価指標を用いて、データ格納先を決定することにすれば、再配置操作によるネットワーク資源（ネットワーク４０等）の消費は、物理記憶装置２０の新規増設などの特殊な場合に限られるので、システム１０Ａ内のネットワーク・トラフィックを圧迫し難くなる。
【００９６】
〔３〕第３実施形態の説明
図４は本発明の第３実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図４に示すように、第３実施形態の分散型ネットワークストレージシステム１０Ｂも、第１実施形態のシステム１０とほぼ同様に構成されているが、この第３実施形態のシステム１０Ｂでは、配置エージェント６０Ｂに、第１実施形態と同様の指標値算出手段６１および配置手段６２のほかに、属性テーブル６４および変更手段６５が追加されている。なお、図４において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【００９７】
この第３実施形態のシステム１０Ｂにおいては、複数の記憶装置２０が、サービス属性（ストレージサービス属性）を予め設定された複数のクラス（組）に分類されるとともに、データ処理装置３０のリード／ライト対象であるデータに、そのデータに対する要求属性（データ要求属性）が予め設定されるようになっている。
ここで、ストレージサービス属性は、各記憶装置２０の有する性能（例えば速度パフォーマンス）や、各記憶装置２０のビット単価（例えば導入費用かつ／または運用費用に基づいた単価）に基づくものである。また、データ要求属性は、例えば、データ処理装置３０のリード／ライト対象であるデータがトランザクション系（速度優先のデータ）のものであるかバックアップ系（ビット・コスト優先のデータ）のものであるかを示すものであり、実際には、タグとしてデータに付与されるようになっている。
【００９８】
第３実施形態のシステム１０Ｂでは、属性テーブル６４において、データに付与されるデータ要求属性と、そのデータ要求属性に応じたストレージサービス属性を設定されたクラスに属する記憶装置２０との対応関係を予め設定されている。この属性テーブル６４においては、より具体的には、トランザクション系（速度優先）を示すデータ要求属性は、速度性能の高いクラス（速度性能の高い記憶装置２０のグループ）に対応付けられ、バックアップ系（ビット・コスト優先）を示すデータ要求属性は、ビット・コストの小さいクラス（ビット・コストの小さい記憶装置２０のグループ）に対応付けられる。
【００９９】
そして、第３実施形態の配置手段６２は、指標値算出手段６１によって算出された前記指標値に基づき、論理記憶領域を記憶装置２０上の物理記憶領域に分散配置／再配置する際には、分散配置／再配置対象データの要求属性を参照し、その要求属性に応じたサービス属性を設定されたクラスを認識・決定し、決定されたクラスに属する記憶装置２０上の物理記憶領域に、当該データの分散配置／再配置を行なう。
【０１００】
また、変更手段６５は、各クラスに設定された前記ストレージサービス属性を、当該クラスに属する各記憶装置２０の物理的状態の変化（例えば経時的変化）に応じて変更するもので、後述するごとく、各記憶装置２０の物理的状態の変化が生じた場合に、属性テーブル６４にクラス毎に設定されているストレージサービス属性を、その変化に応じて変更・調整するためのものである。この変更手段６５は、実際には、オペレータによって操作される各種入力機器を含んで構成され、オペレータが各種入力機器から入力した指示に応じて属性テーブル６４におけるストレージサービス属性の変更を行なうように構成されている。
【０１０１】
このとき、指標値算出手段６１が、分散配置／再配置対象データの要求属性に応じた指標値算出手法を、第１実施形態で説明した各種手法の中から決定し、決定された指標値算出手法を用いて前記指標値を算出するように構成してもよい。
ところで、上記特許文献３では、前述したように、複数の記憶装置を、属性を付したクラスに分類して管理し、各クラスの単位時間当たりの使用時間が、クラス毎に設定された上限値を超えないように負荷分散を行ない、ホット・スポット解消を行なっている。
【０１０２】
これに対し、第３実施形態のシステム１０Ｂでは、上述のごとく、速度性能優先のデータ（例えばトランザクション系のデータ）には速度優先のタグが付与され、ビット・コスト優先のデータ（例えばバックアップ系のデータ）にはビット・コスト優先のタグが付与されるとともに、複数の記憶装置２０は、サービス属性を付与された複数のクラスに分類されており、上述のごとく、速度性能の高い記憶装置２０の属するクラスや、ビット・コストの小さい記憶装置２０の属するクラスが予め設定されている。
【０１０３】
そして、配置手段６２が属性テーブル６４を参照することにより、速度優先データは速度性能の高いクラスに属する記憶装置２０上にデータ配置され、ビット・コスト優先データはビット・コストの小さいクラス属する記憶装置２０上にデータ配置されることになる。
また、システム運用期間が数年間にわたると、稼動初期にビット・コスト小を設定されたクラスに属する記憶装置２０も、その後に増設された最新の記憶装置２０と比較すると相対的にビット・コストが小ではなくなっている可能性がある（通常、後発の大容量機の方がビット単価は小になる）。同様に、稼動初期に速度性能高を設定されたクラスに属する記憶装置２０も、通常、その後に増設された最新の記憶装置２０と比較すると相対的に速度性能が高ではなくなっている（通常、同じクラスの製品であれば後発の装置の方がより性能が向上している）。このような状況に対応すべく、本実施形態では、変更手段６５を用いることにより、システム稼働中に、属性テーブル６４における各クラスの属性値を変化させることができるようになっている。
【０１０４】
さらに、第１実施形態において上述した通り、上記(21)式におけるηの値を変更することでシステムの収束点のバランスを変化させ、平準化挙動を調整することが可能である。このような性質と、上述のごとく対象データに付与されたデータ要求属性とを組み合わせれば、そのデータ要求属性に応じて、上記(21)式におけるηの値を適宜設定・変更することで、速度優先データは速度性能高のクラスに属する記憶装置２０上に、速度優先としたシステムバランスでデータ配置を行ない、ビット・コスト優先データはビット・コスト小のクラスに属する記憶装置２０上に、ビット・コスト優先としたシステムバランスでデータ配置を行なう、等の操作が可能になる。この考え方は、記憶装置２０のクラス分けを実施しない場合においても、勿論、適用可能である。
【０１０５】
なお、第３実施形態において、属性テーブル６４は、配置エージェント６０Ｂに保持されているが、必要に応じて制御モジュール２１から情報を収集して作成され、一連の分散配置／再配置作業の後に消滅する形態で、配置エージェント６０Ｂに実装されてもよい。
〔４〕第４実施形態の説明
図５は本発明の第４実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図５に示すように、第４実施形態の分散型ネットワークストレージシステム１０Ｃも、第１実施形態のシステム１０とほぼ同様に構成されているが、この第４実施形態のシステム１０Ｃでは、予備記憶装置７０および予備記憶装置用制御モジュール７１が追加されるとともに、配置エージェント６０Ｃにおいて、第１実施形態と同様の指標値算出手段６１および配置手段６２のほかに、通知手段６６および自動追加手段６７が追加されている。なお、図５において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【０１０６】
この第４実施形態のシステム１０Ｃにおいて、通知手段６６は、モニタエージェント５０によってシステム運用中の各瞬間においてモニタされるシステム全体の使用率ρを受け、その使用率ρが予め設定された水準を超えた場合に、その旨をシステム管理者（オペレータ等）に通知するものである。この通知手段６６は、具体的には、配置エージェント６０Ｃを構成する端末（コンピュータ等）の表示機能や音声出力機能によって実現される。
【０１０７】
また、自動追加手段６７は、通知手段６６がシステム管理者に通知を行なった場合に、予め用意された予備記憶装置７０を、この予備記憶装置７０用の制御モジュール７１を介し、ネットワーク４０に自動的に追加・接続する機能を果たすものである。このとき、自動追加手段６７は、通知手段６６がシステム管理者に通知を行なった場合ではなく、その通知に関係なく、上記使用率ρが予め設定された水準を超えた場合に、予備記憶装置７０を、この予備記憶装置７０用の制御モジュール７１を介し、ネットワーク４０に自動的に追加・接続するように構成されてもよい。
【０１０８】
一方、図６は本発明の第４実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成の変形例を示すブロック図で、この図６に示すように、本変形例も、図５に示すシステム１０Ｃとほぼ同様に構成されているが、この変形例では、推定手段６８が追加されている。なお、図６において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【０１０９】
この変形例のシステム１０Ｃにおいて、推定手段６８は、モニタエージェント５０によってシステム運用中の各瞬間においてモニタされるシステム全体の使用率ρを受け、その履歴をモニタし続け、その使用率ρの履歴に基づいて、この使用率ρの近未来値を推定するものである。そして、通知手段６６は、推定手段６８によって推定された近未来値が予め設定された水準を超えた場合に、その旨をシステム管理者（オペレータ）に通知する機能を果たす。また、自動追加手段６７は、上述したものと同様、通知手段６６がシステム管理者に通知を行なった場合に、予め用意された予備記憶装置７０を、この予備記憶装置７０用の制御モジュール７１を介し、ネットワーク４０に自動的に追加・接続する機能を果たすものである。このとき、自動追加手段６７は、通知手段６６がシステム管理者に通知を行なった場合ではなく、その通知に関係なく、上記近未来値が予め設定された水準を超えた場合に、予備記憶装置７０を、この予備記憶装置７０用の制御モジュール７１を介し、ネットワーク４０に自動的に追加・接続するように構成されてもよい。
【０１１０】
第１〜第３実施形態のシステム１０，１０Ａ，１０Ｂを用いると、上述した通り、システム全体の使用率が大きい場合にシステム１０，１０Ａ，１０Ｂの安定性能が向上することになるが、このために、システム全体の容量が完全に逼迫するまで、システム管理者がその状況に気付き難いおそれがある。
そこで、モニタエージェント５０により、システム全体の利用率ρが制御パラメータとして常にモニタされていることを利用し、第４実施形態のシステム１０Ｃでは、配置エージェント６０Ｃを構成する端末（コンピュータ等）の表示機能や音声出力機能により、使用率ρもしくは使用率ρの近未来値が予め設定された水準を超えたといった現況をシステム管理者に適確に通知することができる。このような通知を受けたシステム管理者は、その現況に応じた対応を迅速にとることができる。
【０１１１】
また、前述した通り、現在の大規模ネットワークストレージシステムに対する社会的要求は「１年３６５日、２４時間連続運転を保証」するといった厳しいものである。この要求に答えるために、従来システムでは、システム管理者は休日返上でシステムの状況を監視し続ける必要が生じてしまう。これに対し、第４実施形態のシステム１０Ｃでは、上述のごとく、適切なサイズのリザーブ用の記憶装置７０および制御モジュール７１をスタンバイさせておき、危機的状況のときには（ここでは、使用率ρもしくは使用率ρの近未来値が所定水準を超えた時）、自動追加手段６７により、自動的に、これらの記憶装置７０および制御モジュール７１がシステム１０Ｃに追加・起動される。これにより、システム管理者も安心して休暇を楽しむことができる。このようにして新規の記憶装置７０や制御モジュール７１を増設された直後には、標準のデータ再配置機能が動作して、システム１０Ｃは再び安定した状態に導かれるのである。
【０１１２】
〔５〕第５実施形態の説明
図７は本発明の第５実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図７に示すように、第５実施形態の分散型ネットワークストレージシステム１０Ｄも、第１〜第４実施形態のシステム１０，１０Ａ，１０Ｂ，１０Ｃとほぼ同様に構成されているが、この第５実施形態のシステム１０Ｄでは、第１〜第４実施形態で１つだけそなえられていた配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ）が２つ以上そなえられている。なお、図７において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【０１１３】
特に、図７に示す第５実施形態のシステム１０Ｄにおいては、第１〜第４実施形態において説明した、モニタエージェント５０と、２つの配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ）とがそなえられ、各配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ）が、モニタエージェント５０によるモニタ結果に応じて動作するように構成されている。つまり、第５実施形態のシステム１０Ｄでは、上述した指標値算出手段６１と配置手段６２との対が複数組実装され、これら複数組の対が独立して指標値算出機能および分散配置／再配置機能を果たすようになっている。
【０１１４】
第５実施形態のごとく、２つの配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ）をそなえ、これらの配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ）が、それぞれ、異なる指標値算出手法を採用すると、システム１０Ｄは一定の最終形に辿り着いてもデータの移動が停止できない状態になることが考えられる。
しかし、次のような手法を採用することにより、システム１０Ｄは一定の最終形に辿り着くと同時にデータの移動も停止し、極めて安定的な運用が可能になる。つまり、まず、２つの配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ）のうちの一方（第１）の再配置エージェントが、論理記憶領域を区別しない集計に基づいてシステム全体の資源利用形態を最適配分する。そして、他方（第２）の配置エージェントが、論理記憶領域を区別した集計に基づいてデータの交換操作（再配置操作）だけを行なって、論理記憶領域毎の資源利用形態を平準化する。
【０１１５】
このような手法を採用することにより、次のような２つのメリットが得られる。まず、第１に、システム全体の資源利用形態を急いで最適配分したいシステム状況のときに、第２の配置エージェントの動作を一時的に止め（もしくは緩慢に動かして）、システム全体の資源利用形態を急いで最適配分することができる。そして、システム全体の資源利用形態を最適配分した後に、第２の配置エージェントの動作を通常状態に戻すことができる。第２に、システム１０Ｄの動作状態として、第1の配置エージェントおよび第２の配置エージェントの動作スピードをそもそも別々に設定できるという、新たな設定自由度が生まれる。
【０１１６】
〔６〕システムの安定的運用に係る評価値（システム安定度／システム逼迫度）の説明
ところで、上述した第１〜第５実施形態では、最大利用可能総容量の異なるものを含む複数の記憶装置２０から構成されている分散型ストレージシステム１０，１０Ａ〜１０Ｄにおいて、各システム１０，１０Ａ〜１０Ｄを効率的かつ安定的に動作制御するための実現手法を開示した。
【０１１７】
特に、第４実施形態の変形例においては、現在のシステム１０Ｃのリソース使用状況（特にシステム全体の使用率ρ）をモニタするモニタエージェント５０と、モニタ結果（＋過去の履歴）に基づいて、システム１０Ｃのリソース使用状況（特に全体使用率ρ）の近未来予測値を推定する推定手段６８とを用いることにより、ストレージシステム１０Ｃを使用限界状態近くのギリギリまで安定的に動作させることができるのようになっている。
【０１１８】
しかし、このように使用限界状態近くのギリギリまで安定的に動作するということは、逆に、システム管理者がシステム容量の逼迫に限界直前まで気付かないというおそれも生じさせてしまう。
現在のシステム全体の使用率ρは、文字通り現在の使用率の値に過ぎず、また、上記推定手段６８により、現在の使用率ρの値と過去の使用率ρの値の履歴とに基づいて、近未来の使用率ρの値を予測すると言っても、その予測推定値は、単なる外挿に基づく、近未来時点の使用率ρの値に過ぎない。これらの使用率の値が、いかほどになったら、システムの安定性がどれほどのもので、それならば安心できる／安心できないのかを客観的に判断することは、現状、とても困難である。
【０１１９】
そこで、本発明の第６〜第９実施形態では、システムの安定的運用に係る評価値（システム安定度／システム逼迫度）を導入している。即ち、以下に説明する実施形態では、モニタエージェント５０によってモニタされる現状のシステム・リソース使用状況（各記憶装置２０もしくは全記憶装置２０に格納されているデータ総量もしくは使用可能残容量に係る情報を含むシステム情報）に基づき上記評価値を算出し、「Ｍ回目（先）のリカバー操作の成否を判定」する手段（後述する判定部（評価値算出手段）８１）が提供される。
【０１２０】
ここで、「リカバー操作」とは、あるストレージ・ノードに障害が発生し、データが失われたとき、失われたデータの冗長化ペア（３重化以上の冗長度では、冗長化グループの一員）の情報に基づいて、失われたデータを回復する操作のことである。このリカバー操作は、一般的には、システム動作の一つであり、通常の一般ユーザからは見えない場所（本実施形態では、後述する障害回復（リカバー）手段９２）で行なわれる。しかし、システム管理者にとって、ノード障害の発生およびリカバー操作の成否は、ともに重要なシステム情報であり、どちらも、常に注目すべき種類の情報の一つである。
【０１２１】
本発明では、上述のように「Ｍ回目（先）のリカバー操作の成否を判定」する手段、即ち、「（Ｍ−１）回目までのリカバー操作が仮に成功するとして、Ｍ回目のリカバー操作の成否を判定」する手段を提供する。その手段の方法論的記述（評価値としてのシステム安定度／システム逼迫度の算出方法）について、以下に詳細に説明する。
〔６−１〕記号の説明
使用容量が最も多いノード（最逼迫ノード）について、その使用容量をＵa、その残容量をＲaと表記する。また、使用容量が２番目に多いノードについて、その使用容量をＵb、その残容量をＲbと表記し、使用容量が３番目に多いノードについて、その使用容量をＵc、残容量をＲcと表記する。さらに、システムの残容量合計（総残容量）をＲt、システムの使用容量合計（総使用容量）をＵtと表記する。なお、必要に応じて、使用容量が４番目以降のノードについて、その使用容量をＵd，Ｕe，…と表記し、その残容量をＲd，Ｒe，…と表記する。
【０１２２】
〔６−２〕1回のリカバー操作の成否（リカバー操作に関する逼迫度指標）について
ある一つのノードに対する１回のリカバー操作の成否（リカバー操作に関する逼迫度指標）について説明する。ここで、そのリカバー対象ノードの使用容量をＵi、同ノードの残容量をＲiと表記する。
リカバー対象ノードが２重化冗長度のシステムに属している場合、ミラーペアのノード（生き残っている方）をコピー元にし、対応するコピー先（退避先，退避ノード）は「コピー元ノードとは異なるノード」であればよい。リカバー対象ノード自身は、当然、コピー先になれない。このとき、退避ノードの行き先（残容量）は下記(25)式となる。
【０１２３】
【数１８】
2005050303.tif 000020
【０１２４】
リカバー対象ノードが３重化以上の冗長度のシステムに属している場合、ミラーグループのうちの一つのノード（生き残っているノード）をコピー元にし、対応するコピー先は「ミラーグループのメンバが一つも載っていないノード」でなければいけない。リカバー対象ノード自身は、当然、コピー先になれない。このとき、退避ノードの行き先（残容量）は下記(26)式となる。
【０１２５】
【数１９】
2005050303.tif 000021
【０１２６】
リカバー対象ノードがＮ重化冗長度のシステムに属している場合、生き残ったミラーグループのメンバ数（調べなければならないミラーグループのメンバ数）は（Ｎ−１）個であり、コピー先に「なってはいけない」ノードは、ノードごとに入れ替わる。リカバー操作には順番がある（全てのリカバー操作が同時には（一瞬には）起こらない）と仮定すると、最後に操作されるノードのリカバー操作は、システム残容量が最小になった時点で起こることになり、最後に操作されるノード（最もクリティカルなノード）が退避可能か否かが問題になる。つまりは、後述するごとく下記(27)式を満たすか否かが問題になる。リカバー対象ノード自身は、当然、コピー先になれない。
【０１２７】
【数２０】
2005050303.tif 000022
【０１２８】
ワーストケースを考えてシステムの安定性を議論する場合（もはや必要十分条件ではない）、上記不等式(27)の左辺における
【０１２９】
【数２１】
2005050303.tif 000023
【０１３０】
が
【０１３１】
【数２２】
2005050303.tif 000024
【０１３２】
となる組合せにおいても、上記不等式(27)が成立すれば、システムは安定であると言えると考えられる。従って、上記不等式(27)を整理すると、下記(28)式の通りになる。
【０１３３】
【数２３】
2005050303.tif 000025
【０１３４】
上記不等式(28)が成立する場合、システムは安定である。上記不等式(28)は下記(29)
式のように書いても同じである。
【０１３５】
【数２４】
2005050303.tif 000026
【０１３６】
この(29)式の左辺を、以下の説明では、「（1個のノードの）リカバー操作に対する逼迫度指標」と呼ぶ。上記不等式(29)を満たすとき、ノードｉに対するリカバー操作は成功することになる。
〔６−３〕システム逼迫度：１次（最逼迫ノードの探索法）
最多使用量のノード（最逼迫ノード）がリカバー対象になった場合のリカバー操作の成功条件は、下記(30)式で示す不等式（上記(29)式においてｉ＝ａとした不等式）を満たすことであり、そのリカバー操作に成功した後のシステム残容量Ｒt(a)は下記(31)式となる。
【０１３７】
【数２５】
2005050303.tif 000027
【０１３８】
次最多使用量のノード（使用容量が２番目に多いノード）がリカバー対象になった場合のリカバー操作の成功条件は、下記(32)式で示す不等式（上記(29)式においてｉ＝ｂとした不等式）を満たすことであり、そのリカバー操作に成功した後のシステム残容量Ｒt(b)は下記(33)式で与えられる。
【０１３９】
【数２６】
2005050303.tif 000028
【０１４０】
ここで、上記(30)式と上記(32)式とを比較し、例えば、下記(34)式のごとく、
【０１４１】
【数２７】
2005050303.tif 000029
【０１４２】
上記(30)式の左辺＞上記(32)式の左辺であるとする。
このとき、上記(34)式の左辺における
【０１４３】
【数２８】
2005050303.tif 000030
【０１４４】
の組合せの中に、Ｒbが含まれる場合は、
【０１４５】
【数２９】
2005050303.tif 000031
【０１４６】
である。同様に、上記(34)式の右辺における
【０１４７】
【数３０】
2005050303.tif 000032
【０１４８】
の組合せの中に、Ｒaが含まれる場合は、
【０１４９】
【数３１】
2005050303.tif 000033
【０１５０】
である。
従って、Ｒa，Ｒbが「いずれも含まれる」場合（＝残容量Ｒa，Ｒbがともに比較的大の場合）は、上記(34)式は下記(35)式と等価となることが判る。なお、ノード使用率平準化によるデータ再配置機構（前述した配置手段６２の機能の一つ）が正しく働いている場合、残容量Ｒa，Ｒbはともに比較的大となる。
【０１５１】
【数３２】
2005050303.tif 000034
【０１５２】
上記項目〔６−１〕における添え字ａ，ｂの定義から、上記(35)式は、成立することが前提となっており、よって自明な式である。
上記のような特殊な場合を除き、(34)式はこれ以上単純化されない。
すなわち、上記(35)式（＝添え字定義から自明な式）または（自明とはいえない）上記(34)式が真となる場合、最逼迫ノード（添え字ａ）がリカバー対象になった場合のリカバー操作の方が、使用容量が２番目に多いノード（添え字ｂ）がリカバー対象になった場合のリカバー操作よりも、よりクリティカルであることがわかった。
【０１５３】
「最逼迫ノード」の探索としては、自明ではない上記(34)式を参考に、下記(36)式による最大値
【０１５４】
【数３３】
2005050303.tif 000035
【０１５５】
を与えるノードｉを探すか、より単純化された（自明な）上記(35)式を参考に、下記(37)式による使用容量
【０１５６】
【数３４】
2005050303.tif 000036
【０１５７】
を与えるノード（つまり、複数ノードの中から使用容量（データ格納量）が最大であるノード）を探す。
システムにおいて一つの巨大ノードと多くの弱小ノードとが存在するような場合、仮にその巨大ノードが殆ど空であったとしても、その巨大ノードが「最逼迫ノード」に該当してしまう可能性が高い。なぜなら、巨大ノードがリカバー対象になってしまうと、巨大ノード自身のもつ巨大残容量を利用できなくなるからである。上記(34)式に基づく指標の分母において、Ｒiが減算要素として入っていることの意味は、上記の通りである。
【０１５８】
大抵の大規模ストレージシステムは、下記(38)式
【０１５９】
【数３５】
2005050303.tif 000037
【０１６０】
が成立する条件（即ち、Ｎが十分小で且つＲt＞＞Ｒi＆＆Ｒt＞＞Ｒj）で使用される。よって、この条件を満たすノードｉは、max(Ｕj)を与えるノードｊと多くの場合、一致する。つまり、上記(34)式の不等式関係と上記(35)式の不等式関係とは殆どの場合、一致する。また、単純化された上記(35)式の指標を用いても、多くの場合正しく最逼迫ノードが探索される。
【０１６１】
〔６−４〕システム逼迫度：２次
以下、特記なき限り、Ｒt＞＞Ｒi条件下における話とする。また、これ以降、ノード使用率平準化によるデータ再配置機構を、デフォルトで（＝特記なき限り）導入する。
（Ａ）最多使用量のノードがリカバー対象になり、続いて次最多使用量のノードがリカバー対象になった場合
最多使用量のノード（最逼迫ノード）がリカバー対象になった場合のリカバー操作に成功した後のシステム残容量Ｒt(a)は上記(31)式で与えられ、その後、データ再配置後における次最多使用量のノード（使用容量が２番目に多いノード）の使用容量Ｕb(a)は下記(39)式で与えられる。
【０１６２】
【数３６】
2005050303.tif 000038
【０１６３】
続いて次最多使用量のノードがリカバー対象になった場合のリカバー操作の成功条件は、下記(40)式で示す不等式を満たすことであり、そのリカバー操作に成功した後のシステム残容量Ｒt(ab)は下記(41)式で与えられる。
【０１６４】
【数３７】
2005050303.tif 000039
【０１６５】
（Ｂ）次最多使用量のノードがリカバー対象になり、続いて最多使用量のノードがリカバー対象になった場合
次最多使用量のノードがリカバー対象になった場合のリカバー操作に成功した後のシステム残容量Ｒt(b)は上記(33)式となり、その後、データ再配置後における最多使用量のノードの使用容量Ｕa(b)は下記(42)式で与えられる。
【０１６６】
【数３８】
2005050303.tif 000040
【０１６７】
続いて最多使用量のノードがリカバー対象になった場合のリカバー操作の成功条件は、下記(43)式で示す不等式を満たすことであり、そのリカバー操作に成功した後のシステム残容量Ｒt(ba)は下記(44)式で与えられる。
【０１６８】
【数３９】
2005050303.tif 000041
【０１６９】
まず、上記(39)式および上記(42)式より、それぞれ、下記(45)式および下記(46)式が成り立つことが簡単に分かる。
【０１７０】
【数４０】
2005050303.tif 000042
【０１７１】
であることが簡単に分かる。これらの式(45)，(46)より、一般に、下記(47)式が成り立つことが分かる。
【０１７２】
【数４１】
2005050303.tif 000043
【０１７３】
さらに、下記(48)式が成り立つことを示すのは容易である。
【０１７４】
【数４２】
2005050303.tif 000044
【０１７５】
これにより、上記(41)式と上記(42)式の右辺は互いに等値であることが示される。
即ち、複数回の（障害→リカバー）の組が成功してしまえば、過去のリカバー履歴（つまり、どのノードがどの順番でリカバー対象になってリカバーされたか）は、次回以降のリカバー操作の成否に対し、なんら影響を与えないことが分かった。
次に、上記(40)式と上記(43)式とを比較する。その際、Ｕa＞Ｕbであることを前提とする。上記の(31)，(33)，(39)，(42)式などより、上記(40)式の左辺は下記(49)式のごとく変形され、上記(43)式の左辺は下記(50)式のごとく変形される。
【０１７６】
【数４３】
2005050303.tif 000045
【０１７７】
上記計算から、下記表１に示すような関係があることが分かる。
【０１７８】
【表１】
2005050303.tif 000046
【０１７９】
上記(49)式や上記(50)式の右辺における分子の共通項をＣn、分母の共通項をＣdとして整理すると、例えば、(40)式左辺＞(43)式左辺は、下記(51)式のように記述される。ただし、両辺を（Ｕa−Ｕb）＞０で割る操作を1回行なっている。
【０１８０】
【数４４】
2005050303.tif 000047
【０１８１】
そして、共通項を書き戻すと、(40)式左辺＞(43)式左辺は次式(52)と等価となる。
【０１８２】
【数４５】
2005050303.tif 000048
【０１８３】
上記(52)式が成り立つ場合、負値である左辺第２項を省略した次式(53)もまた成り立つことが必要となる。
【０１８４】
【数４６】
2005050303.tif 000049
【０１８５】
しかし、上記(53)式と上記(28)式との間には矛盾がある。なぜなら、ノードａとノードｂとをひとまとめにした巨大ノードを「仮想的に」考えると、上記(53)式と上記(28)式との間には不等号の向きに差がある。よって、仮に(53)式が成り立つ場合、ノードaおよびノードbを通じて最後に操作されるノードのリカバー操作は、失敗してしまうことが分かる。
【０１８６】
上記(52)式が成り立つと、システムは安定ではありえないので、システムが安定であるためには(40)式左辺≦(43)式左辺でなければならないことが示された。即ち、安定なシステムでは(40)式による指標よりも(43)式による指標の方がよりクリティカルであることが示された。これを言い換えれば、最多使用量ノード（最逼迫ノード）が後からリカバー対象になる方が、２回目のリカバー操作はよりクリティカルになることが示された。
【０１８７】
よりクリティカルであることがはっきりした上記(43)式の成立条件を整理すると、次式(54)が得られる。
【０１８８】
【数４７】
2005050303.tif 000050
【０１８９】
次式(55)が成り立てば、上記(54)式は必ず成り立つ。よって、リカバー操作の成否に関して、上記(54)式を簡略化した次式(55)を検証して済ませる考え方も、充分あり得る。
【０１９０】
【数４８】
2005050303.tif 000051
【０１９１】
ところで、上記(53)式の直後で述べたことと同様、上記(55)式は、ノードａとノードｂとをひとまとめにした「仮想的な」巨大単一ノードに対して定義される、上記(28)式と何も変わらない。つまり、上記(54)式は、とても単純な考えに従って得られる上記(55)式よりも、ほんの少しだけ厳密性の高い判定条件となっているに過ぎない。
〔６−５〕システム逼迫度：Ｍ次
Ｍ回目のリカバー操作対象が最逼迫ノード（添え字ａ）となる事象を考える。（Ｍ−１）回目までのリカバー操作対象は、単純に、ノードの個別総容量Ｔi（＝Ｒi＋Ｕi）の大きい順に、ノードをリカバー対象にして、リカバー操作（成功を仮定）を行なえばよい。
【０１９２】
まず最逼迫ノードを探索する。その際、上記(37)式による使用容量を与えるノード（つまり、複数ノードの中から使用容量（データ格納量）が最大であるノード）を探す。ノード使用率平準化によるデータ再配置機構が正しく働いていることを前提にする場合、最逼迫ノードを探索するためには、上記(37)式を用いれば充分である。しかし、より詳細な手順では、上記(36)式による最大値を与えるノードｉを探す。
【０１９３】
最逼迫ノード（添え字ａとする）以外のノードを、総容量Ｔiの降順にソートして、まず上位（Ｍ−１）個のノードにマークをつける。
次に、残りのノードを、残容量Ｒjの降順にソートして、システムの冗長度Ｎに応じ、上位（Ｎ−１）個のノードにマークをつける。
そして、下記(56)式もしくは下記(57)式を用いてＭ回目のリカバー操作の成否を判定する。簡略化した手順では、上記(55)式を拡張して整理した次の不等式(56)を評価する。この不等式(56)が成立していれば、Ｍ回目のリカバー操作は必ず成功する。
【０１９４】
【数４９】
2005050303.tif 000052
【０１９５】
より詳細な手順では、上記(54)式を拡張して整理した次の不等式(57)を評価する。この不等式(57)が成立していれば、Ｍ回目のリカバー操作は必ず成功する。
【０１９６】
【数５０】
2005050303.tif 000053
【０１９７】
〔６−６〕まとめ
後述するごとく、本実施形態における判定部８１（図８〜図１２参照）が、モニタエージェント５０のモニタ結果を含むシステム情報に基づき、複数の記憶装置（ノード）２０を含んで構成される本システムの安定的運用に係る評価値（システム安定度／システム逼迫度）を算出する評価値算出手段としての機能を果たす。
【０１９８】
この評価値算出手段が、モニタエージェント５０のモニタ結果を含むシステム情報に基づき、複数の記憶装置２０のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作の実行可能回数Ｍを評価値（システム安定度／システム逼迫度）として算出するものである。
このとき、上記評価値算出手段は、「１回目のリカバー操作」，「２回目のリカバー操作」，…の成否を順次判定し、リカバー失敗と判定されるまで、成否判定を繰り返し行なう。その際、上記評価値算出手段は、Ｍ回目（Ｍ＝１，２，…）のリカバー操作の成否判定処理において、
（ａ）モニタエージェント５０のモニタ結果を含むシステム情報に基づき、複数の記憶装置２０の中から、使用容量の最も多い記憶装置（最逼迫ノード）を探索する探索処理と、
（ｂ）モニタエージェント５０のモニタ結果を含むシステム情報に基づき、上記探索処理（ａ）で探索された最逼迫ノード以外の記憶装置２０を各記憶装置２０の総容量Ｔiおよび残容量Ｒiについてソートし、総容量Ｔiについて上位Ｍ−１個の記憶装置２０を抽出するとともに、残容量Ｒiについて上位Ｎ−１個（Ｎは本システムの冗長度）の記憶装置２０を抽出するソート処理（順位付け処理）と、
（ｃ）上記ソート処理（ｂ）によるソート結果に基づいて、Ｍ回目のリカバー操作の成否を判定する判定処理（不等式評価処理）との３段階の処理を実行している。
【０１９９】
上記探索処理（ａ）では、上記(37)式による使用容量を与えるノード（つまり、複数ノードの中から使用容量（データ格納量）が最大であるノード）を探す。上述した通り、ノード使用率平準化によるデータ再配置機構が正しく働いていることを前提にする場合、最逼迫ノードを探索するためには、上記(37)式を用いれば充分である。また、上述した通り、より詳細な手順では、上記(36)式による最大値を与えるノードｉを探す。なお、探索処理（ａ）では、上述した探索、もしくは、上述した探索と実質的に同等とみなせる探索が実行される。
【０２００】
上記ソート処理（ｂ）では、最逼迫ノード（添え字ａとする）以外のノードを、総容量Ｔiの降順にソートして、まず上位（Ｍ−１）個のノードにマークをつけるとともに、残りのノードを、残容量Ｒjの降順にソートして、システムの冗長度Ｎに応じ、上位（Ｎ−１）個のノードにマークをつける。
そして、上記判定処理（ｃ）では、上記(56)式もしくは上記(57)式を用いてＭ回目のリカバー操作の成否を判定する。簡略化した手順では、上記(55)式を拡張して整理した上記不等式(56)を評価する。この不等式(56)が成立していれば、Ｍ回目のリカバー操作は必ず成功する。より詳細（厳密）な手順では、上記(54)式を拡張して整理した上記不等式(57)を評価する。この不等式(57)が成立していれば、Ｍ回目のリカバー操作は必ず成功する。
【０２０１】
上述の手段を利用すると、例えば、次のように分散ストレージシステムの安定運用のための方法を構築することができる。
つまり、上記評価値算出手段は、運用中のシステム・リソース使用状態のモニタ結果に基づき、１回目のリカバー操作の成否判定，２回目のリカバー操作の成否判定，…を順次実行し、リカバー操作が成功したと判定された場合に次のリカバー操作の成否判定処理を実行し、Ｍ回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つＭ＋１回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合の「Ｍ」をリカバー操作の実行可能回数として算出する。このときのシステム安定度は「M次安定」であると呼ぶ。
【０２０２】
そして、本実施形態では、算出されたシステム安定度Ｍを後述するごとくシステム管理者に通知したり、本実施形態の判定部８１の比較手段（後述）としての機能により、システム安定度Ｍが予め定めた値未満まで小さくなったと判定された場合に、その旨をシステム管理者に通知したり、ストレージ・ノード増設などの措置によって、システム安定度を前述の値以上となるように運用したりするように構成することで、後述するごとく、本システムを効率的、かつ、真に安定的に運用することが可能になる。
【０２０３】
〔７〕第６実施形態の説明
図８は本発明の第６実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図８に示すように、第６実施形態の分散型ネットワークストレージシステム１０Ｅも、第１実施形態のシステム１０とほぼ同様に構成されているが、この第６実施形態のシステム１０Ｅでは、第１実施形態の配置エージェント６０に代えて通知エージェント８０がそなえられるほか、障害検知手段９１および障害回復（リカバー）手段９２が新たに追加されている。なお、図８において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【０２０４】
ここで、障害検知手段９１は、本システム１０Ｅに含まれる各記憶装置（ノード）２０における障害の発生を検知するものである。そして、障害回復（リカバー）手段９２は、障害検知手段９１によって障害の発生が検知され、その障害が発生した記憶装置（ノード）２０におけるデータが失われた場合に、失われたデータの冗長化ペア（３重化以上の冗長度では、冗長化グループの一員）の情報に基づいて、失われたデータを回復するリカバー操作を実行するものである。
【０２０５】
また、通知エージェント８０は、判定部８１および通知手段８２をそなえて構成されている。
判定部８１は、モニタエージェント５０のモニタ結果（各記憶装置２０もしくは全記憶装置２０に格納されているデータ総量もしくは使用可能残容量に係る情報）を含むシステム情報に基づいて、上記項目〔６〕で説明した手法により、本システム１０Ｅの安定的運用に係る評価値（システム安定度，リカバー操作の実行可能回数）Ｍを算出する評価値算出手段としての機能を果たすほか、通知手段８２を動作させる機能を有している。さらに、判定部８１は、算出された上記評価値Ｍと予め設定された閾値（第１閾値）とを比較する比較手段（第１比較手段）としての機能を果たすように構成されてもよく、この場合、その比較結果に応じて、判定部８１が通知手段８２を動作させることになる。
【０２０６】
通知手段８２は、判定部８１によって制御され、上記評価値Ｍに応じてシステム管理者に対する通知を行なうもので、上記評価値Ｍ自体、もしくは、上記評価値Ｍに応じた状況を、何らかの手段により、システム管理者に対して通知するように動作する。具体的に、通知手段８２は、例えば、以下のような通知動作(i-1)，(i-2)を行なう。
(i-1)  通知手段８２が、判定部８１（評価値算出手段としての機能）によって算出された評価値Ｍを、常時、本システム１０Ｅを管理するためのモニタ画面上に表示することによって、システム管理者に通知する。
【０２０７】
(i-2)  通知手段８２が、必要な場合（例えば、判定部８１によって算出された評価値Ｍが所定条件を満たした場合）に、その旨を、特定のメールアドレスに電子メール等を送信したり特定装置（物理装置；例えば携帯端末など）に対し信号を発信したりすることによって、システム管理者に通知する。なお、上記所定条件に基づく条件判断は、上述した判定部８１の比較手段としての機能によって行なわれ、具体的には、算出された評価値Ｍが閾値以下になったこと、もしくは、その閾値を下回ったことを条件に、判定部８１が通知手段８２にシステム管理者に対する通知動作を実行させる。
【０２０８】
また、本実施形態のモニタエージェント（モニタ手段）５０は、例えば、以下のような手法(ii-1)〜(ii-4)のうちの少なくとも一つの手法により本システム１０Ｅの状態（システム情報）をモニタする。
(ii-1)  モニタエージェント５０が、各制御モジュール２１からの報告を受け取ることによって、システム情報をモニタする。
【０２０９】
(ii-2)  モニタエージェント５０が、各制御モジュール２１の動作記録（ログ）を参照することによって、システム情報をモニタする。
(ii-3)  モニタエージェント５０が、各記憶装置２０もしくは全記憶装置２０の使用状態を、直接、実際に調査することによって、システム情報をモニタする。
(ii-4)  モニタエージェント５０が、制御モジュール２１によって特定タイミングで予め収集・保存された各記憶装置２０の使用状態を、その保存場所から順次読み出すことによって、システム情報をモニタする。
【０２１０】
次に、上述のごとく構成された本システム１０Ｅの動作について説明する。
モニタエージェント５０は、各記憶装置２０（ノードｉ）に格納されているデータ総量（使用容量）Ｕiと、各記憶装置２０（ノードｉ）の使用可能残容量Ｒiとの、現在時刻におけるそれぞれの値を、上述の手法(ii-1)〜(ii-4)のいずれかによってモニタする。なお、データ総量Ｕiおよび使用可能残容量Ｒiは、一般に時々刻々変化する場合があるので、このような場合には、あるモニタ時刻における、各記憶装置２０のＵiとＲiの値の組を、論理的に各制御モジュール２１の中（またはどこか別の装置内）に記憶しておき、モニタエージェント５０が、順番にその記憶された値を取り出す手法（上記手法(ii-4)）を採用することが望ましい。
【０２１１】
そして、判定部８１における評価値算出手段としての機能は、モニタエージェント５０がモニタした各記憶装置２０のＵiとＲiの値の組に基づいて、以下の手順（上記項目〔６−６〕で説明した手順と同様の手順）で、評価値であるシステム安定度（システム逼迫度Ｍを算出する。
モニタエージェント５０により、運用中のシステム・リソース使用状態の現在値（各記憶装置２０のＵi，Ｒi）がモニタされ、判定部８１における評価値算出手段において、「１回目のリカバー操作」，「２回目のリカバー操作」，…の成否が順次判定され、リカバー失敗と判定されるまで、成否判定が繰り返し実行される。その際、Ｍ回目（Ｍ＝１，２，…）のリカバー操作の成否判定処理においては、下記の(iii-1)探索処理，(iii-2)ソート処理および(iii-3)判定処理の３段階の処理が実行される。
【０２１２】
(iii-1)探索処理：  モニタエージェント５０のモニタ結果を含むシステム情報に基づき、複数の記憶装置２０の中から、使用容量の最も多い記憶装置（最逼迫ノード）として、本実施形態では上記(36)式による最大値を与えるノードｉを探索する。
(iii-2)ソート処理（順位付け処理）：  モニタエージェント５０のモニタ結果を含むシステム情報に基づき、上記探索処理(iii-1)で探索された最逼迫ノード以外の記憶装置２０を各記憶装置２０の総容量Ｔiおよび残容量Ｒiについてソートし、総容量Ｔiについて上位Ｍ−１個の記憶装置２０を抽出するとともに、残容量Ｒiについて上位Ｎ−１個（Ｎは本システムの冗長度）の記憶装置２０を抽出する。具体的には、最逼迫ノード以外のノードを、総容量Ｔi（＝Ｒi＋Ｕi）の降順にソートし、まず上位（Ｍ−１）個のノードにマークをつける。次に、残りのノードを、残容量Ｒjの降順にソートして、システムの冗長度Ｎに応じ上位（Ｎ−１）個のノードにマークをつける。
【０２１３】
(iii-3)判定処理（不等式評価処理）：  上記ソート処理(iii-2)によるソート結果に基づいて、Ｍ回目のリカバー操作の成否を判定する。その際、本実施形態では、上記(54)式を拡張して整理した上記不等式(57)を評価し、この(57)式を用いてＭ回目のリカバー操作の成否を判定する。この不等式(57)が成立していれば、Ｍ回目のリカバー操作は必ず成功する。
【０２１４】
そして、Ｍ回目のリカバー操作の成否判定処理でリカバー操作が成功したと判定され且つＭ＋１回目のリカバー操作の成否判定処理でリカバー操作が失敗したと判定された場合の「Ｍ」（つまりリカバー操作の実行可能回数；リカバー成功・失敗の境目にあたる回数）が、評価値（システム安定度）として算出される。このようにして算出された評価値Ｍに基づいて、判定部８１が、上述した比較・判定を行ない、上述のごとく、通知手段８２による通知動作を制御する。
【０２１５】
第１〜第５実施形態のごとく効率的かつ安定的に動作制御することができるように配慮された分散型ストレージシステム（最大利用可能総容量の異なる複数の記憶装置２０を含むシステム）１０Ａ〜１０Ｄにおいては、そのシステムが限界状態近くのギリギリまで安定的に動作してしまい、システム管理者がシステム容量の逼迫に気づき難くなってしまうおそれがあったが、上述した本発明の第６実施形態のシステム１０Ｅによれば、本システム１０Ｅの安定的運用に係る評価値（システム安定度）Ｍに応じてシステム管理者に対する通知が行なわれ、上述のようなおそれが解消され、本システム１０Ｅを効率的、かつ、真に安定的に運用することが可能になる。
【０２１６】
特に、本実施形態では、現状のシステム・リソース使用状況（モニタ結果を含むシステム情報）に基づいてＭ回目（先）のリカバー操作の成否を判定し、リカバー操作の実行可能回数Ｍがシステム安定度（評価値）として算出される。つまり、本実施形態によれば、分散型ストレージシステム１０Ｅにおいて、現状のシステム・リソース使用状況に基づいて、システム安定度Ｍ（Ｍは非負の整数）を、「Ｍ回先のリカバー操作が必ず成功する」といった、明確かつ具体的な意味をもって定義することができ、さらに、上述のシステム安定度Ｍを、簡単な算術計算と大小比較のみによって、正確に算出・判定することが可能になる。
【０２１７】
ところで、図９は本発明の第６実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成の変形例を示すブロック図で、この図９に示すように、第６実施形態の変形例も、図８に示すシステム１０Ｅとほぼ同様に構成されているが、この変形例では、第１実施形態で説明した配置エージェント６０が追加されている。なお、図９において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【０２１８】
図９に示すように、第６実施形態のシステム１０Ｅに配置エージェント６０をそなえた場合、第１実施形態において上述した通り、各記憶装置２０の最大利用可能総容量Ｔiや速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率ρが変化しても、システム１０Ｅを効率的かつ安定的に動作制御することが可能になる。このようなシステム１０Ｅにおいて、上述した通知エージェント８０がそなえられることにより、システムが効率的かつ安定的に動作するように配慮したがために使用限界状態の間際まで安定に動作してしまい、システム管理者がシステム容量の逼迫に気づき難くなってしまうという状況を解消することができ、本システム１０Ｅを効率的、かつ、真に安定的に運用することが可能になる。
【０２１９】
特に、図９に示すシステム１０Ｅにおいて、配置エージェント６０が第１実施形態の第５手法を採用したものである場合、つまり、ノード使用率平準化によるデータ再配置機構が正しく働いていることを前提にする場合、最逼迫ノードを探索する際には、上記(37)式を与えるノード（つまり、複数ノードの中から使用容量（データ格納量）が最大であるノード）を探し、それ以降の手順は、第６実施形態と同様とする。この場合、最逼迫ノードの探索において、ほとんど計算コストが掛からないという利点が得られる。
【０２２０】
また、大規模な分散型ストレージシステムにおいて、殆どのケースでＲtは、
【０２２１】
【数５１】
2005050303.tif 000054
【０２２２】
よりも桁違いに大である。この場合も、近似的な扱いとして、上述した第６実施形態の変形例と同じ最逼迫ノードの探索法を採用することができ、近似計算による誤差の入り込む心配をほとんど感じることなく、計算コストの節約を図ることが可能になる。
さらに、上述した第６実施形態やその変形例に倣い、リカバー操作の成否判定において、上記不等式(57)よりも簡略化した上記不等式(56)を用いてもよい。この不等式(56)が成立していれば、M回目のリカバー操作は必ず成功する。このような不等式(56)を用いた場合には、リカバー操作の成否判定において、第６実施形態やその変形例よりも計算コストを節約できる利点が得られる。ここで用いる成否判定条件式(56)は、第６実施例で用いる成否判定条件式(57)に対し、数値上ごくわずかだけ条件の厳しい方向にずれただけの式であり、その差は小さいが、計算コストの差は馬鹿にならない。従って、判定条件式のごくわずかの差に起因する判定誤差の入り込む心配をほとんど感じることなく、計算コストを節約することが可能になる。
【０２２３】
〔８〕第７実施形態の説明
図１０は本発明の第７実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図１０に示すように、第７実施形態の分散型ネットワークストレージシステム１０Ｆも、第６実施形態のシステム１０Ｅとほぼ同様に構成されているが、この第７実施形態のシステム１０Ｆでは、第６実施形態の判定部８１に代えて判定部８１ａがそなえられている。なお、図１０において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。また、図１０において、上述した障害検知手段９１および障害回復（リカバー）手段９２の図示は省略されている。さらに、図１０に示すシステム１０Ｆにおいても、図９に示すシステム１０Ｅと同様、配置エージェント６０をそなえてもよい。
【０２２４】
この第７実施形態における判定部８１ａには、異なる２種類の閾値（第１閾値，第２閾値）Ｍ１，Ｍ２が与えられ、判定部８１ａは、与えられた閾値Ｍ１，Ｍ２と算出された評価値（システム安定度）Ｍとを比較する比較手段（第１比較手段および第２比較手段）として機能するようになっている。そして、本実施形態では、その比較結果に応じて、通知手段８２が、システム管理者に対する通知動作を段階的に行なうようになっている。
【０２２５】
これにより、システム安定度Ｍが第２閾値Ｍ２（＞Ｍ１）以下（もしくは未満）になった場合に、その旨（システムが不安定な状態（限界に近い状態）になった旨）が通知手段８２によりシステム管理者に通知され、その後、さらにシステムが不安定な状態となり、システム安定度Ｍが第１閾値Ｍ１以下（もしくは未満）になった場合に、その旨（システムがより限界に近い状態になった旨）が通知手段８２によりシステム管理者に通知される。このようにシステム安定度Ｍに応じた段階的な通知を行なうことにより、システム管理者は、システム１０Ｆの状況を段階的に把握することができ、より確実にシステム容量の逼迫を認識することができる。なお、ここでは、閾値を２種類とし２段階で通知を行なう場合について説明したが、本発明は、これに限定されるものではなく、３種類以上の閾値を与え、３段階以上でシステム管理者に対する通知を行なうようにしてもよい。
【０２２６】
〔９〕第８実施形態の説明
図１１は本発明の第８実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図１１に示すように、第８実施形態の分散型ネットワークストレージシステム１０Ｇも、第６実施形態のシステム１０Ｅとほぼ同様に構成されているが、この第８実施形態のシステム１０Ｇは、第７実施形態のシステム１０Ｆに、さらに補機追加手段９０を追加して構成されている。なお、図１１において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。また、図１１において、上述した障害検知手段９１および障害回復（リカバー）手段９２の図示は省略されている。さらに、図１１に示すシステム１０Ｇにおいても、図９に示すシステム１０Ｅと同様、配置エージェント６０をそなえてもよい。
【０２２７】
補機追加手段（自動追加手段）９０は、第４実施形態の自動追加手段６７とほぼ同様の機能を果たすものであるが、この第８実施形態では、判定部８１ａにおいて算出されたシステム安定度Ｍに応じて、予め用意された予備記憶装置７０を、この予備記憶装置７０用の制御モジュール７１を介し、ネットワーク４０に自動的に追加・接続する機能を果たすものである。
【０２２８】
特に、本実施形態では、判定部（比較手段）８１ａによる比較の結果、システム安定度Ｍが第１閾値Ｍ１よりも大きい第２閾値Ｍ２以下（もしくは未満）となった場合には、まず、通知手段８２がシステム管理者に対する通知動作（アラーム通知）を行ない、その後、判定部（比較手段）８１ａによる比較の結果、システム安定度Ｍが第１閾値Ｍ１以下（もしくは未満）となった場合には、補機追加手段９０が、予め用意された予備記憶装置７０を、この予備記憶装置７０用の制御モジュール７１を介し、ネットワーク４０に自動的に追加するように構成されている。
【０２２９】
上述した第６実施形態では、通知エージェント８０にそなわる通知手段８２は、算出されたシステム安定度（評価値）Ｍや、そのシステム安定度Ｍに応じた状況を、システム管理者に対し、何らかの手段により通知するものとしたが、通知を受けたシステム管理者がしなければならないことは、「システム安定度」の値Ｍが、システム管理者にとって安心できる値となるまで、ストレージシステムの全体の可用容量を増加させることである。システム管理者は、そのために、夜間休日でも、ストレージシステムからの運用上の危機通知に注意を払っていなければならない。そこで、本実施形態においては、通知エージェント８０の判定部８１ａおよび通知手段８２によるシステム運用上の危機通知機能に対応して、補機追加手段９０により、予め用意された予備記憶装置７０が、システム１０Ｇ（ネットワーク４０）に自動的に追加・接続される。
【０２３０】
システム１０Ｇの安定運用に対する配慮のみの観点から言えば、「予め用意された予備記憶装置７０を、運用上の危機にあたって、システム１０Ｇに自動追加する」ことは、「予備記憶装置７０を用意した時点で、予めシステム１０Ｇに追加しておく」ことと比べ、一見全く何の利点もないように見える。しかしながら、システム管理運用コストの観点から言えば、安全度を大きく取るあまり、本来は不必要なほど大きなストレージを必要な時期に比べ早い時期から運用することは、システム管理運用コストを押し上げるおをれがあるという点で、経済的に不利であると考えられる。従って、第８実施形態に示す「予備記憶装置７０の自動追加手段９０」は、分散型ネットワークストレージシステム１０Ｇの高安定度運用において、コストパフォーマンスの高い解決策を提供するものである。
【０２３１】
〔１０〕第９実施形態の説明
図１２は本発明の第９実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図で、この図１２に示すように、第９実施形態の分散型ネットワークストレージシステム１０Ｈも、第８実施形態のシステム１０Ｇとほぼ同様に構成されているが、この第９実施形態のシステム１０Ｈは、第８実施形態のシステム１０Ｇに、さらに追加用補機容量の推奨値算出部９３を追加して構成されている。なお、図１２において既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。また、図１２において、上述した障害検知手段９１および障害回復（リカバー）手段９２の図示は省略されている。さらに、図１２に示すシステム１０Ｈにおいても、図９に示すシステム１０Ｅと同様、配置エージェント６０をそなえてもよい。
【０２３２】
ここで、追加用補機容量の推奨値算出部（推奨値算出手段，推測エージェント）９３は、モニタエージェント５０によるモニタ結果を含むシステム情報に基づいて、予備記憶装置７０として予め用意すべき記憶装置のサイズおよび／もしくは台数の推奨値を算出するものである。特に、本実施形態において、推奨値算出部９３は、補機追加手段９０により予備記憶装置７０を追加した際にシステム安定度Ｍが前記第２閾値Ｍ２を超えるような（もしくは前記第２閾値Ｍ２以上となるような）、記憶装置のサイズおよび／もしくは台数を、前記推奨値として算出するようになっている。つまり、推奨値算出部９３によって算出される推奨値は、予備記憶装置７０の追加後に通知手段８２が作動することのないレベルで設定される。
【０２３３】
上述した第８実施形態では、「システム安定度」の値Ｍの変化に応じ発生する危機通知に対し、補機追加手段９０が、予め用意された予備記憶装置７０を、システム（ネットワーク４０）に自動的に追加・接続するものとした。ここで、予め用意すべき予備記憶装置７０のサイズや台数は、自動追加の実施の後、「システム安定度」の値Ｍが、システム管理者にとって安心できる値となるくらいのレベルである必要がある。
【０２３４】
そこで、第９実施形態においては、通知エージェント８０が、モニタエージェント５０から得られる現在のリソース使用状態に基づき、「システム安定度」の値Ｍを算出し、必要に応じて危機通知を行なうとともに、推奨値算出部（推奨値算出手段，推測エージェント）９３が、現在の「システム安定度（現在値）」を、現在よりも安定な状態を示す「システム安定度（設定値）」まで向上させるために必要となる、予備記憶装置７０の「推奨サイズ（と台数）」を算出する。そして、その算出結果は、例えば、システムのモニタ画面上に常時表示してシステム管理者に通知され、その表示を参照したシステム管理者は、表示された「推奨サイズ（と台数）」の予備記憶装置７０を確実に準備することができるので、本システム１０Ｈを極めて安定的に運用することが可能になる。
【０２３５】
なお、推奨値算出部９３による推奨サイズの算出方法としては、例えば以下のような手法が挙げられる。
M回目のリカバー操作が成功する条件は、単純化した式で示すと、上記不等式(56)と同じ下記不等式(58)で与えられる。
【０２３６】
【数５２】
2005050303.tif 000055
【０２３７】
ここで、前述した通り、Nはシステムの冗長化係数、添字ａは最逼迫ノードを表す。そして、上記(58)式における和
【０２３８】
【数５３】
2005050303.tif 000056
【０２３９】
は、総容量Ｔi（＝Ｒi＋Ｕi）でソートした結果の上位（Ｍ−１）個の和であり、上記(58)式における和
【０２４０】
【数５４】
2005050303.tif 000057
【０２４１】
は、残りのノード中で、残容量Ｒjでソートした結果の上位（Ｎ−１）個の和である。上記(58)式で表される状態に、総容量Ｔxのノード（予備記憶装置７０）が付加されたとする（つまり、ここでは付加されるノードの添字をxとする）。
ノードｘは、少なくとも再配置前にはＵx＝０であるので、最逼迫ノードａに置き換わる心配はない。ここでは、総容量Ｔx（＝Rx：再配置前には成立）がどれほどの大きさかによって、(a1)ノードｘが総容量上位（Ｍ−１）個に含まれる場合と、(a2)ノードｘが総容量上位（Ｍ−１）個に含まれない場合との２つの場合に分けて考える。
【０２４２】
(a1)ノードｘが総容量上位（Ｍ−１）個に含まれる場合：
【０２４３】
【数５５】
2005050303.tif 000058
【０２４４】
再配置前の状態を考えると、Ｕx＝０である。そのように置いて、上記(59)式の両辺から共通項Ｒxを引くと、上記(59)式は次式(60)と等価であることが示される。
【０２４５】
【数５６】
2005050303.tif 000059
【０２４６】
上記(60)式と上記(58)式との比較より、次のことが分かる。即ち、充分大きなサイズのノードｘ（そのサイズの下限値は、システムの総容量上位（Ｍ−１）個以内に含まれるか否かで決まる）を１個付加することは、システムの安定度Ｍをちょうど１高めたことと等価になっている。
(a2)ノードｘが総容量上位（Ｍ−１）個に含まれない場合：
もう一つの付加ノードｙ（予備記憶装置７０）を用意して、Ｔx＋Ｔyの合計が総容量上位（Ｍ−１）個に含まれる程度の大きさとなるようにできれば、上記の(a1)の場合と同じ理由により〔このようになることの根拠は、結局のところ、上述した項目〔６〕における上記(55)式と上記(28)式との関係から類推される。〕、システム安定度Mをちょうど１高めることが可能になる。
【０２４７】
以上の検討により、次のことが分かる。予備記憶装置７０として用意するストレージ容量の合計が、システムの総容量上位第（Ｍ−１）位のノードの総容量以上であれば、その予備記憶装置７０を付加することにより、システム安定度Ｍはちょうど１高まる。また、以上より容易に類推できることとして、予備記憶装置７０として用意するストレージ容量の合計が、システムの総容量上位第（Ｍ−１）位＋第（Ｍ−２）位のノードの総容量の合計以上であれば、その予備記憶装置７０を付加することにより、システム安定度Ｍはちょうど２高まると考えられる。従って、システム安定度Ｍを３，４，５，…と高める手法も、同様に考えることが可能である。
【０２４８】
〔１１〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、各実施形態で示した、記憶装置２０，制御モジュール２１，データ処理装置３０，ハブ４１，配置エージェント６０（６０Ａ，６０Ｂ，６０Ｃ），通知エージェント８０，補機追加手段９０，予備記憶装置７０，予備記憶装置用制御モジュール７１の数は、図示した数に限定されるものではない。
【０２４９】
また、上述した指標値算出手段６１，配置手段６２，停止手段６３，変更手段６５，自動追加手段６７，推定手段６８，判定部８１，８１ａ，補機追加手段９０，推奨値算出部９３としての機能（各手段の全部もしくは一部の機能）は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（分散型ストレージシステム用制御プログラム）を実行することによって実現される。
【０２５０】
そのプログラムは、例えばフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から分散型ストレージシステム用制御プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【０２５１】
ここで、コンピュータとは、ハードウエアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。上記分散型ストレージシステム用制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、指標値算出手段６１，配置手段６２，停止手段６３，変更手段６５，自動追加手段６７，推定手段６８，判定部８１，８１ａ，補機追加手段９０，推奨値算出部９３としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【０２５２】
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【０２５３】
〔１２〕付記
（付記１）  データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段と、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段とをそなえたことを特徴とする、分散型ストレージシステム。
【０２５４】
（付記２）  該モニタ手段が、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率をモニタし、
該指標値算出手段が、前記指標値を、該モニタ手段によってモニタされた前記システム全体の使用率に応じて算出することを特徴とする、付記１記載の分散型ストレージシステム。
【０２５５】
（付記３）  該モニタ手段によってモニタされた前記システム全体の使用率が第１所定値よりも小さい場合、該指標値算出手段が、前記指標値として、各記憶装置に格納されているデータ総量（使用容量）もしくは前記論理記憶領域ごとのデータ格納量（使用容量）を該モニタ手段から取得し、
該配置手段が、該指標値算出手段によって取得された、各記憶装置における前記使用容量を平準化するように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記２記載の分散型ストレージシステム。
【０２５６】
（付記４）  該モニタ手段によってモニタされた前記システム全体の使用率が第２所定値よりも大きい場合、該指標値算出手段が、前記指標値として、各記憶装置の最大利用可能総容量と各記憶装置に格納されているデータ総量との差（残容量）を、該モニタ手段によるモニタ結果に基づいて算出し、
該配置手段が、該指標値算出手段によって算出された、各記憶装置における前記残容量を平準化するように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記２記載の分散型ストレージシステム。
【０２５７】
（付記５）  該指標値算出手段が、各記憶装置の最大利用可能総容量と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量とを重み付け後に加算もしくは減算した値を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記１記載の分散型ストレージシステム。
【０２５８】
（付記６）  該指標値算出手段が、各記憶装置の最大利用可能総容量に、該モニタ手段によってモニタされた前記システム全体の使用率を重みとして乗算した値と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記２記載の分散型ストレージシステム。
【０２５９】
（付記７）  該指標値算出手段が、各記憶装置の最大利用可能総容量に、該モニタ手段によってモニタされた前記システム全体の使用率のＭ乗（Ｍ＞１）を重みとして乗算した値と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記２記載の分散型ストレージシステム。
【０２６０】
（付記８）  該指標値算出手段が、各記憶装置の最大利用可能総容量に、該モニタ手段によってモニタされた前記システム全体の使用率のＭ乗根（Ｍ＞１）を重みとして乗算した値と、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値を平準化するように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記２記載の分散型ストレージシステム。
【０２６１】
（付記９）  該指標値算出手段が、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、各記憶装置の最大利用可能総容量との比の対数値と、当該比の幾何平均の対数値との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値をゼロに近づけるように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記１記載の分散型ストレージシステム。
【０２６２】
（付記１０）  該指標値算出手段が、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、各記憶装置の最大利用可能総容量との比と、該モニタ手段によってモニタされた前記システム全体の使用率との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値をゼロに近づけるように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記２記載の分散型ストレージシステム。
【０２６３】
（付記１１）  該指標値算出手段が、該モニタ手段によってモニタされた、各記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、該モニタ手段によってモニタされた、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量との比と、各記憶装置の最大利用可能総容量と全記憶装置の最大利用可能総容量との比との差を、前記指標値として算出し、
該配置手段が、該指標値算出手段によって算出された前記指標値をゼロに近づけるように、前記論理記憶領域の分散配置／再配置を行なうことを特徴とする、付記１記載の分散型ストレージシステム。
【０２６４】
（付記１２）  該複数の記憶装置が、サービス属性を予め設定された複数のクラスに分類されるとともに、
該データ処理装置のリード／ライト対象であるデータに、当該データに対する要求属性が予め設定され、
該配置手段が、分散配置／再配置対象であるデータの要求属性に応じたサービス属性を決定し、決定されたサービス属性を設定されたクラスに属する記憶装置上の物理記憶領域に、当該データの分散配置／再配置を行なうことを特徴とする、付記１〜付記１１のいずれか一つに記載の分散型ストレージシステム。
【０２６５】
（付記１３）  前記サービス属性が、各記憶装置の有する性能に基づくものであることを特徴とする、付記１２記載の分散型ストレージシステム。
（付記１４）  該データ処理装置のリード／ライト対象であるデータに、当該データに対する要求属性が予め設定され、
該指標値算出手段が、該配置手段による分散配置／再配置対象であるデータの要求属性に応じた指標値算出手法を決定し、決定された指標値算出手法を用いて前記指標値を算出することを特徴とする、付記１〜付記１１のいずれか一つに記載の分散型ストレージシステム。
【０２６６】
（付記１５）  該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率が、予め設定された水準を超えた場合に、その旨をシステム管理者に通知する通知手段をさらにそなえたことを特徴とする、付記１〜付記１４のいずれか一つに記載の分散型ストレージシステム。
【０２６７】
（付記１６）  該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率の履歴に基づいて、当該使用率の近未来値を推定する推定手段と、
該推定手段によって推定された前記近未来値が予め設定された水準を超えた場合に、その旨をシステム管理者に通知する通知手段とをさらにそなえたことを特徴とする、付記１〜付記１４のいずれか一つに記載の分散型ストレージシステム。
【０２６８】
（付記１７）  該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率が、予め設定された水準を超えた場合に、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段をさらにそなえたことを特徴とする、付記１〜付記１４のいずれか一つに記載の分散型ストレージシステム。
【０２６９】
（付記１８）  該モニタ手段によってモニタされる、全記憶装置に格納されているデータ総量もしくは前記論理記憶領域ごとのデータ格納量と、全記憶装置の最大利用可能総容量との比である、システム全体の使用率の履歴に基づいて、当該使用率の近未来値を推定する推定手段と、
該推定手段によって推定された前記近未来値が予め設定された水準を超えた場合に、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する手段をさらにそなえたことを特徴とする、付記１〜付記１４のいずれか一つに記載の分散型ストレージシステム。
【０２７０】
（付記１９）  該指標値算出手段が、該制御モジュール，該データ処理装置，独立した専用モジュール，システム制御用モジュール，通信装置（該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの）のうちの少なくとも一つに実装されていることを特徴とする、付記１〜付記１８のいずれか一つに記載の分散型ストレージシステム。
【０２７１】
（付記２０）  該配置手段が、該制御モジュール，該データ処理装置，独立した専用モジュール，システム制御用モジュール，通信装置（該データ処理装置および該複数の制御モジュールの相互間を通信可能に接続する通信路上にそなえられたもの）のうちの少なくとも一つに実装されていることを特徴とする、付記１〜付記１９のいずれか一つに記載の分散型ストレージシステム。
【０２７２】
（付記２１）  該指標値算出手段と該配置手段との対が複数組実装され、これら複数組の対が独立して指標値算出機能および分散配置／再配置機能を果たすことを特徴とする、付記１〜付記２０のいずれか一つに記載の分散型ストレージシステム。
（付記２２）  データを記憶するものであって最大利用可能総容量の異なるものを含む複数の記憶装置と、各記憶装置に結び付けられ各記憶装置に対するアクセスを制御するための制御モジュールと、該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、各記憶装置もしくは全記憶装置に格納されているデータ総量に係る情報をモニタするモニタ手段とをそなえて構成される分散型ストレージシステムを制御するための制御装置であって、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段とをそなえたことを特徴とする、分散型ストレージシステム用制御装置。
【０２７３】
（付記２３）  データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段と、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値（システム安定度）を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム。
【０２７４】
（付記２４）  該通知手段が、該評価値算出手段によって算出された前記評価値を、本システムを管理するためのモニタ画面上に表示することによって、前記システム管理者に通知することを特徴とする、付記２３記載の分散型ストレージシステム。
（付記２５）  該通知手段が、該評価値算出手段によって算出された前記評価値が所定条件を満たした場合に、その旨を、特定アドレスもしくは特定装置に対し信号を発信することによって、前記システム管理者に通知することを特徴とする、付記２３記載の分散型ストレージシステム。
【０２７５】
（付記２６）  該モニタ手段が、該制御モジュールからの報告を受け取ることによって、前記情報をモニタすることを特徴とする、付記２３〜付記２５のいずれか一つに記載の分散型ストレージシステム。
（付記２７）  該モニタ手段が、該制御モジュールの動作記録を参照することによって、前記情報をモニタすることを特徴とする、付記２３〜付記２５のいずれか一つに記載の分散型ストレージシステム。
【０２７６】
（付記２８）  該モニタ手段が、各記憶装置もしくは全記憶装置の使用状態を直接調査することによって、前記情報をモニタすることを特徴とする、付記２３〜付記２５のいずれか一つに記載の分散型ストレージシステム。
（付記２９）  該モニタ手段が、該制御モジュールによって特定タイミングで予め収集・保存された各記憶装置の使用状態を、その保存場所から順次読み出すことによって、前記情報をモニタすることを特徴とする、付記２３〜付記２５のいずれか一つに記載の分散型ストレージシステム。
【０２７７】
（付記３０）  該評価値算出手段が、該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置のうちの一つが障害発生によりデータを失った場合にそのデータを回復させるためのリカバー操作の実行可能回数を前記評価値（システム安定度）として算出することを特徴とする、付記２３〜付記２９のいずれか一つに記載の分散型ストレージシステム。
【０２７８】
（付記３１）  該評価値算出手段によって算出された前記評価値に応じて、予め用意された予備記憶装置を、該予備記憶装置用の制御モジュールを介して自動的に追加する自動追加手段をさらにそなえたことを特徴とする、付記２３〜付記３０のいずれか一つに記載の分散型ストレージシステム。
（付記３２）  データを記憶するものであって、最大利用可能総容量の異なるものを含む複数の記憶装置と、
各記憶装置に結び付けられ、各記憶装置に対するアクセスを制御するための制御モジュールと、
該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、
各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段と、
該モニタ手段によるモニタ結果に応じた指標値を算出する指標値算出手段と、
該指標値算出手段によって算出された前記指標値に基づき、該制御モジュールを介して、前記論理記憶領域を該複数の記憶装置上の物理記憶領域に分散して配置もしくは再配置する配置手段と、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値（システム安定度）を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム。
【０２７９】
（付記３３）  データを記憶するものであって最大利用可能総容量の異なるものを含む複数の記憶装置と、各記憶装置に結び付けられ各記憶装置に対するアクセスを制御するための制御モジュールと、該複数の記憶装置によるストレージ機能を利用するデータ処理装置がリード／ライト対象とする論理記憶領域と該記憶装置上の物理記憶領域とを対応付ける対応付け手段と、各記憶装置もしくは全記憶装置に格納されているデータ総量もしくは使用可能残容量に係る情報をモニタするモニタ手段とをそなえて構成される分散型ストレージシステムを制御するための制御装置であって、
該モニタ手段のモニタ結果を含むシステム情報に基づき、該複数の記憶装置を含んで構成される本システムの安定的運用に係る評価値（システム安定度）を算出する評価値算出手段と、
該評価値算出手段によって算出された前記評価値に応じて、システム管理者に対する通知を行なう通知手段とをそなえたことを特徴とする、分散型ストレージシステム用制御装置。
【産業上の利用可能性】
【０２８０】
以上のように、本発明によれば、システム全体の使用率等に応じた分散配置／再配置処理を実行することが可能であり、各記憶装置の最大利用可能総容量や速度パフォーマンスなどの特性が大きく異なっているという状況下で、システム全体の使用率が変化しても、システムを効率的かつ安定的に動作制御することができる。
従って、本発明は、最大利用可能総容量の大きく異なる複数の記憶装置をそなえることになる分散型ストレージシステム、例えば、システム拡張性を事実上無限とみなすことができ、且つ、サービスを中断することなく連続遂行する大規模ネットワークストレージシステムに用いて好適であり、その有用性は極めて高いものと考えられる。
【図面の簡単な説明】
【０２８１】
【図１】本発明の第１実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図２】本実施形態の動作を説明するためのグラフである。
【図３】本発明の第２実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図４】本発明の第３実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図５】本発明の第４実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図６】本発明の第４実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成の変形例を示すブロック図である。
【図７】本発明の第５実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図８】本発明の第６実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図９】本発明の第６実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成の変形例を示すブロック図である。
【図１０】本発明の第７実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図１１】本発明の第８実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【図１２】本発明の第９実施形態としての分散型ネットワークストレージシステム（分散型ストレージシステム）の構成を示すブロック図である。
【符号の説明】
【０２８２】
１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇ，１０Ｈ    分散型ネットワークストレージシステム（分散型ストレージシステム）
２０，２０−１〜２０−６    記憶装置（物理記憶装置，ノード）
２１，２１−１〜２１−６    制御モジュール
３０    データ処理装置（ユーザ側端末）
３１    対応付けマップ（対応付け手段）
４０    ネットワーク（ネットワーク接続手段，通信路）
４１    ハブ（通信装置）
５０    モニタエージェント（モニタ手段）
６０，６０Ａ，６０Ｂ，６０Ｃ    配置エージェント
６１    指標値算出手段
６２    配置手段（再配置手段）
６３    停止手段
６４    属性テーブル
６５    変更手段
６６    通知手段
６７    自動追加手段
６８    推定手段
７０    予備記憶装置
７１    予備記憶装置用制御モジュール
８０    通知エージェント
８１    判定部（評価値算出手段，比較手段）
８１ａ    判定部（評価値算出手段，比較手段，第１比較手段，第２比較手段）
８２    通知手段
９０    補機追加手段（自動追加手段）
９１    障害検知手段
９２    障害回復（リカバー）手段
９３    追加用補機容量の推奨値算出部（推奨値算出手段，推測エージェント）
【図１】
2005050303.tif 000060
【図２】
2005050303.tif 000061
【図３】
2005050303.tif 000062
【図４】
2005050303.tif 000063
【図５】
2005050303.tif 000064
【図６】
2005050303.tif 000065
【図７】
2005050303.tif 000066
【図８】
2005050303.tif 000067
【図９】
2005050303.tif 000068
【図１０】
2005050303.tif 000069
【図１１】
2005050303.tif 000070
【図１２】
2005050303.tif 000071