(57)【要約】【課題】  複数のファイルサーバがネットワークによって接続されたシステムにおいて、中央集権的な制御装置を用いることなくシステム内に保存されたファイルの冗長度を維持する。【解決手段】  ファイル保存システム１０内の各ドメインＮＤはファイルサーバＦＳと監視サーバＷＳとクライアントＣＬがＬＡＮによって接続されることにより構成されている。ファイルサーバＦＳは、システム内に存在する他のファイルサーバＦＳに障害が発生したことを検知すると障害の発生したファイルサーバＦＳに保存されているファイルの冗長度が低下したものとみなし、その冗長度を回復させる主体になるか否かを判定する。主体になると判定した場合には、ファイルのコピー元となるファイルサーバＦＳとコピー先となるファイルサーバＦＳを所定の条件に従って選択し、この選択に基づきコピー元サーバからコピー先サーバに冗長度の低下したファイルと同一のファイルをコピーさせる。【選択図】  図１
2005141528.tif 000002
【特許請求の範囲】
【請求項１】
所定の冗長度に応じて同一のファイルをネットワークによって接続された複数のファイルサーバに分散して保存するシステムに用いられるファイルサーバであって、
前記システム内に保存されているファイルの冗長度の低下を検知する冗長度低下検知部と、
前記冗長度低下検知部がファイルの冗長度の低下を検知した場合に、当該ファイルサーバが冗長度を回復させる主体になるか否かを判定する判定部と、
前記判定部によって主体になると判定した場合に、前記冗長度の低下したファイルと同一のファイルが保存されていないファイルサーバを所定の条件に基づき選択してコピー先サーバとして設定し、更に、前記冗長度の低下したファイルと同一のファイルを保存するいずれかのファイルサーバをコピー元サーバとして設定し、これらの設定に基づき、前記コピー元サーバから前記コピー先サーバに前記冗長度の低下したファイルと同一のファイルをコピーさせる冗長度回復処理部と、
を備えるファイルサーバ。
【請求項２】
請求項１に記載のファイルサーバであって、
前記判定部は、当該ファイルサーバが、前記冗長度の低下したファイルが最初に作成されたファイルサーバである場合に、冗長度を回復させる主体になると判定する、ファイルサーバ。
【請求項３】
請求項１に記載のファイルサーバであって、
前記判定部は、当該ファイルサーバが、前記冗長度の低下したファイルと同一のファイルを保存していない場合には、冗長度を回復させる主体にならないと判定する、ファイルサーバ。
【請求項４】
請求項１に記載のファイルサーバであって、
前記システム内の各ファイルサーバにはそれぞれ優先度が設定されており、
前記判定部は、当該ファイルサーバの前記優先度が最も高い場合に、冗長度を回復させる主体になると判定する、ファイルサーバ。
【請求項５】
請求項１に記載のファイルサーバであって、
前記システム内の各ファイルサーバにはそれぞれ優先度が設定されており、
前記判定部は、当該ファイルサーバが、前記冗長度の低下したファイルと同一のファイルを保存しており、かつ、前記優先度が、前記冗長度の低下したファイルと同一のファイルを保存しているファイルサーバの中で最も高い場合に、冗長度を回復させる主体になると判定する、ファイルサーバ。
【請求項６】
請求項１に記載のファイルサーバであって、
前記冗長度低下検知部は、他のファイルサーバに障害が発生したことを検知した場合にファイルの冗長度が低下したものとみなす、ファイルサーバ。
【請求項７】
請求項６に記載のファイルサーバであって、
更に、前記システム内に保存されている各ファイルと、該各ファイルを保存しているファイルサーバとの対応関係を記憶するロケーション記憶部を備え、
前記判定部は、前記ロケーション記憶部を検索し、当該ファイルサーバに、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルが保存されていることが検索された場合に、冗長度を回復させる主体になると判定する、ファイルサーバ。
【請求項８】
請求項７に記載のファイルサーバであって、
前記ロケーション記憶部には、同一のファイルを保存する複数のファイルサーバについてそれぞれ優先度が設定されており、
前記判定部は、前記ロケーション記憶部を検索し、当該ファイルサーバに、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルが保存されており、かつ、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルが保存されているファイルサーバの中で、当該ファイルサーバの前記優先度が最も高いと検索された場合に、冗長度を回復させる主体になると判定する、ファイルサーバ。
【請求項９】
請求項６に記載のファイルサーバであって、
更に、前記システム内に保存されている各ファイルと、該各ファイルを保存しているファイルサーバとの対応関係を記憶するロケーション記憶部を備え、
前記冗長度回復処理部は、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルを保存しているファイルサーバを前記ロケーション記憶部から検索し、該検索したファイルサーバのうちいずれかを、前記コピー元サーバとして設定する、ファイルサーバ。
【請求項１０】
請求項１に記載のファイルサーバであって、
更に、他のファイルサーバが備える記憶装置の利用状態を検知する利用状態検知部を備え、
前記冗長度回復処理部は、前記記憶装置の残容量が最も大きいファイルサーバ、または、前記記憶装置の使用量が最も少ないファイルサーバを前記コピー先サーバとして設定する、ファイルサーバ。
【請求項１１】
請求項１に記載のファイルサーバであって、
更に、他のファイルサーバの属するネットワークドメインを検知するドメイン検知部を備え、
前記冗長度回復処理部は、前記コピー元サーバと前記コピー先サーバとを異なるネットワークドメインに属するファイルサーバからそれぞれ選択する、ファイルサーバ。
【請求項１２】
請求項１に記載のファイルサーバであって、
前記冗長度回復処理部は、前記冗長度の低下したファイルと同一のファイルを保存しており、かつ、前記コピー先サーバからネットワーク距離の最も近いファイルサーバを前記コピー元サーバとして設定する、ファイルサーバ。
【請求項１３】
ネットワークによって接続された複数のファイルサーバにファイルを分散して保存するシステムに用いられ、前記各ファイルサーバが備える記憶装置の利用状態の均衡化を行うファイルサーバ制御装置であって、
前記各ファイルサーバが備える記憶装置の利用状態を検知する利用状態検知部と、
前記各ファイルサーバが備える記憶装置の利用状態に応じて、ファイルの移動元となるファイルサーバと、移動先となるファイルサーバを選択し、該選択に基づき、前記移動元のファイルサーバから前記移動先のファイルサーバにファイルを移動させるファイル移動制御部と、
を備えるファイルサーバ制御装置。
【請求項１４】
請求項１３に記載のファイルサーバ制御装置であって、
更に、前記利用状態検知部によって検知した前記各ファイルサーバが備える記憶装置の利用状態に応じて、該各ファイルサーバが備える記憶装置の利用状態の目標値を求める目標値決定部を備え、
前記ファイル移動制御部は、前記移動元となるファイルサーバが備える記憶装置の利用状態が前記目標値になるようにファイルを移動させる、ファイルサーバ制御装置。
【請求項１５】
所定の冗長度に応じて同一のファイルをネットワークによって接続された複数のファイルサーバに分散して保存するシステムに用いられるファイルサーバが、ファイルの冗長度を回復させる冗長度回復方法であって、
前記システム内に保存されているファイルの冗長度の低下を検知するステップと、
ファイルの冗長度の低下を検知した場合に、当該ファイルサーバが冗長度を回復させる主体になるか否かを判定するステップと、
主体になると判定した場合に、前記冗長度の低下したファイルと同一のファイルが保存されていないファイルサーバを所定の条件に基づき選択してコピー先サーバとして設定し、更に、前記冗長度の低下したファイルと同一のファイルを保存するいずれかのファイルサーバをコピー元サーバとして設定し、これらの設定に基づき、前記コピー元サーバから前記コピー先サーバに前記冗長度の低下したファイルと同一のファイルをコピーさせるステップと、
を備える冗長度回復方法。
【請求項１６】
ネットワークによって接続された複数のファイルサーバにファイルを分散して保存するシステムに用いられるファイルサーバ制御装置が、前記各ファイルサーバが備える記憶装置の利用状態の均衡化を行う利用状態均衡化方法であって、
前記各ファイルサーバが備える記憶装置の利用状態を検知するステップと、
前記各ファイルサーバが備える記憶装置の利用状態に応じて、ファイルの移動元となるファイルサーバと、移動先となるファイルサーバを選択し、該選択に基づき、前記移動元のファイルサーバから前記移動先のファイルサーバにファイルを移動させるステップと、
を備える利用状態均衡化方法。
【請求項１７】
所定の冗長度に応じて同一のファイルをネットワークによって接続された複数のファイルサーバに分散して保存するシステムに用いられるファイルサーバが、ファイルの冗長度を回復させるためのコンピュータプログラムであって、
前記システム内に保存されているファイルの冗長度の低下を検知する機能と、
ファイルの冗長度の低下を検知した場合に、当該ファイルサーバが冗長度を回復させる主体になるか否かを判定する機能と、
主体になると判定した場合に、前記冗長度の低下したファイルと同一のファイルが保存されていないファイルサーバを所定の条件に基づき選択してコピー先サーバとして設定し、更に、前記冗長度の低下したファイルと同一のファイルを保存するいずれかのファイルサーバをコピー元サーバとして設定し、これらの設定に基づき、前記コピー元サーバから前記コピー先サーバに前記冗長度の低下したファイルと同一のファイルをコピーさせる機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１８】
ネットワークによって接続された複数のファイルサーバにファイルを分散して保存するシステムに用いられるファイルサーバ制御装置が、前記各ファイルサーバが備える記憶装置の利用状態の均衡化を行うためのコンピュータプログラムであって、
前記各ファイルサーバが備える記憶装置の利用状態を検知する機能と、
前記各ファイルサーバが備える記憶装置の利用状態に応じて、ファイルの移動元となるファイルサーバと、移動先となるファイルサーバを選択し、該選択に基づき、前記移動元のファイルサーバから前記移動先のファイルサーバにファイルを移動させる機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１９】
請求項１７または１８に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２０】
所定の冗長度に応じて同一のデータをネットワークによって接続された複数のサーバに分散して保存するシステムに用いられるサーバであって、
前記システム内に保存されているデータの冗長度の低下を検知する冗長度低下検知部と、
前記冗長度低下検知部がデータの冗長度の低下を検知した場合に、当該サーバが冗長度を回復させる主体になるか否かを判定する判定部と、
前記判定部によって主体になると判定した場合に、前記冗長度の低下したデータと同一のデータが保存されていないサーバを所定の条件に基づき選択してコピー先サーバとして設定し、更に、前記冗長度の低下したデータと同一のデータを保存するいずれかのサーバをコピー元サーバとして設定し、これらの設定に基づき、前記コピー元サーバから前記コピー先サーバに前記冗長度の低下したデータと同一のデータをコピーさせる冗長度回復処理部と、
を備えるサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一内容のファイルを複数のファイルサーバに分散して保存することによってファイルの保全性を高める技術に関する。
【背景技術】
【０００２】
従来より、データを冗長構成のディスクドライブにバックアップさせるシステムが知られている。例えば、特許文献１には、冗長構成のディスクドライブ群の中で、あるディスクドライブに障害が発生した場合に、障害の発生したディスクドライブと同一内容のデータを保持する別のディスクドライブから予備のディスクドライブにデータをバックアップすることによりデータの冗長度を維持する技術が掲載されている。
【０００３】
なお、非特許文献１には、ファイルを複数のファイルサーバに分散させて保存するシステムに関して、M-of-Nエンコーディングというファイルの分散／復元方法に関する技術が記載されている。
【０００４】
【特許文献１】特開平９−３３０１８２号公報
【非特許文献１】「メンテナンスフリー・グローバル・データ・ストレージ（Maintenance-Free Global Data Storage）」，インターネット・コンピューティング（INTERNET COMPUTING），（米国），アイイーイーイー・コンピュータ・ソサイエティ（IEEE COMPUTER SOCIETY），２００１年，９月−１０月，Ｐ．４０−４９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１には、所定の制御装置によってディスクドライブ群が制御されると記載されている。そのため、ディスクドライブの障害発生時におけるバックアップ処理等は、かかる制御装置によって行われていた。従って、このような制御装置自体に障害が発生した場合には、データの冗長度を維持することができないという課題があった。
【０００６】
本発明は、このような課題に鑑みてなされたものであり、複数のファイルサーバがネットワークによって接続されたシステムにおいて、中央集権的な制御装置を用いることなくシステム内に保存されたファイルの冗長度を維持することを目的とし、更に、各ファイルサーバが備える記憶装置の利用状態を均衡化することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題の少なくとも一部を解決するため、本発明のファイルサーバを次のように構成した。すなわち、所定の冗長度に応じて同一のファイルをネットワークによって接続された複数のファイルサーバに分散して保存するシステムに用いられるファイルサーバであって、前記システム内に保存されているファイルの冗長度の低下を検知する冗長度低下検知部と、前記冗長度低下検知部がファイルの冗長度の低下を検知した場合に、当該ファイルサーバが冗長度を回復させる主体になるか否かを判定する判定部と、前記判定部によって主体になると判定した場合に、前記冗長度の低下したファイルと同一のファイルが保存されていないファイルサーバを所定の条件に基づき選択してコピー先サーバとして設定し、更に、前記冗長度の低下したファイルと同一のファイルを保存するいずれかのファイルサーバをコピー元サーバとして設定し、これらの設定に基づき、前記コピー元サーバから前記コピー先サーバに前記冗長度の低下したファイルと同一のファイルをコピーさせる冗長度回復処理部とを備えることを要旨とする。
【０００８】
本発明によれば、ネットワークに接続された各ファイルサーバが、ファイルの冗長度を回復させる主体になるか否かをそれぞれ判断した上で、冗長度を回復させる処理を行う。従って、かかるファイルサーバを有するシステムは、自立的にファイルの冗長度を維持することが可能となる。
【０００９】
各ファイルサーバが、冗長度を回復させる主体になるか否かは、種々の条件に基づき判定することができる。例えば、当該ファイルサーバが、前記冗長度の低下したファイルが最初に作成されたファイルサーバである場合に、冗長度を回復させる主体になると判定するものとしてもよい。
【００１０】
また、当該ファイルサーバが、前記冗長度の低下したファイルと同一のファイルを保存していない場合には、冗長度を回復させる主体にならないと判定するものとしてもよい。こうすることにより、冗長度の低下したファイルと同一のファイルを保存するいずれかのファイルサーバが冗長度を回復させる主体となる。
【００１１】
また、前記システム内の各ファイルサーバにはそれぞれ優先度が設定されており、当該ファイルサーバの前記優先度が最も高い場合に、冗長度を回復させる主体になると判定するものとしてもよい。こうすることにより、冗長度を回復させる主体が複数となることがないため、ネットワーク上を流れるトラフィックを抑制することができる。
【００１２】
また、当該ファイルサーバが、前記冗長度の低下したファイルと同一のファイルを保存しており、かつ、前記優先度が、前記冗長度の低下したファイルと同一のファイルを保存しているファイルサーバの中で最も高い場合に、冗長度を回復させる主体になると判定するものとしてもよい。こうすることにより、保存しているファイルに応じて冗長度を回復させる主体がシステム内に分散することとなり、負荷の集中を抑制することが可能となる。
【００１３】
上記構成のファイルサーバにおいて、前記冗長度低下検知部は、他のファイルサーバに障害が発生したことを検知した場合にファイルの冗長度が低下したものとみなすものとしてもよい。ファイルサーバになんらかの障害が発生すると、正常にファイルの入出力ができなくなるおそれがある。そのため、実際には障害の発生したファイルサーバにファイルが正常に保存されていたとしても、そのファイルの冗長度が低下したと判断することが好ましい。こうすることによって、障害の原因に関わらず、ファイルの冗長度を維持することが可能となる。
【００１４】
このようなファイルサーバにおいて、更に、前記システム内に保存されている各ファイルと、該各ファイルを保存しているファイルサーバとの対応関係を記憶するロケーション記憶部を備えさせ、前記判定部は、前記ロケーション記憶部を検索し、当該ファイルサーバに、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルが保存されていることが検索された場合に、冗長度を回復させる主体になると判定するものとしてもよい。こうすることにより、障害の発生したファイルサーバに保存されているファイルを、他のファイルサーバに振り替えて保存することができる。
【００１５】
また、前記ロケーション記憶部に対して、同一のファイルを保存する複数のファイルサーバについてそれぞれ優先度を設定するものとし、前記判定部は、前記ロケーション記憶部を検索し、当該ファイルサーバに、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルが保存されており、かつ、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルが保存されているファイルサーバの中で、当該ファイルサーバの前記優先度が最も高いと検索された場合に、冗長度を回復させる主体になると判定するものとしてもよい。こうすることにより、ファイル毎に設定された優先度に応じて、障害の発生したファイルサーバに保存されていたファイルの冗長度を回復させる主体になるか否かを判定することができる。
【００１６】
また、上記ロケーション記憶部を備えるファイルサーバにおいて、前記冗長度回復処理部は、前記障害の発生したファイルサーバに保存されているファイルと同一のファイルを保存しているファイルサーバを前記ロケーション記憶部から検索し、該検索したファイルサーバのうちいずれかを、前記コピー元サーバとして設定することによって、冗長度を回復させるものとしてもよい。
【００１７】
本発明のファイルサーバにおいて、更に、他のファイルサーバが備える記憶装置の利用状態を検知する利用状態検知部を備えさせ、前記冗長度回復処理部は、前記記憶装置の残容量が最も大きいファイルサーバ、または、前記記憶装置の使用量が最も少ないファイルサーバを前記コピー先サーバとして設定するものとしてもよい。こうすることによって、各ファイルサーバが備える記憶装置を効率的に利用することが可能となる。
【００１８】
また、本発明のファイルサーバにおいて、更に、他のファイルサーバの属するネットワークドメインを検知するドメイン検知部を備えさせ、前記冗長度回復処理部は、前記コピー元サーバと前記コピー先サーバとを異なるネットワークドメインに属するファイルサーバからそれぞれ選択するものとしてもよい。こうすることによって、ファイルを効率よく分散して配置することが可能となり、システムの耐障害性を高めることができる。
【００１９】
また、本発明のファイルサーバにおいて、前記冗長度回復処理部は、前記冗長度の低下したファイルと同一のファイルを保存しており、かつ、前記コピー先サーバからネットワーク距離の最も近いファイルサーバを前記コピー元サーバとして設定するものとしてもよい。
【００２０】
ネットワーク距離とは、ネットワーク機器間の物理的な距離としてもよいが、ネットワーク機器間に介在するルータの数（ホップ数）を表すものとしてもよい。すなわち、ファイルサーバ間に介在するルータの数が少なければネットワーク距離が近いこととなり、多ければネットワーク距離が遠いこととなる。上記構成によれば、ネットワーク距離の近いファイルサーバ同士でファイルのコピーを行うこととなるため、ネットワーク全体に流れるトラフィック量を抑制することが可能となる。
【００２１】
また、本発明は、次のようなファイルサーバ制御装置としても構成することができる。すなわち、ネットワークによって接続された複数のファイルサーバにファイルを分散して保存するシステムに用いられ、前記各ファイルサーバが備える記憶装置の利用状態の均衡化を行うファイルサーバ制御装置であって、前記各ファイルサーバが備える記憶装置の利用状態を検知する利用状態検知部と、前記各ファイルサーバが備える記憶装置の利用状態に応じて、ファイルの移動元となるファイルサーバと、移動先となるファイルサーバを選択し、該選択に基づき、前記移動元のファイルサーバから前記移動先のファイルサーバにファイルを移動させるファイル移動制御部と、を備えるファイルサーバ制御装置である。
【００２２】
このようなファイルサーバ制御装置によれば、各ファイルサーバが備える記憶装置の利用状態を均衡化することができる。記憶装置の利用状態とは、例えば、記憶装置内に確保された記憶領域の残容量や使用量などをいう。記憶装置とは、例えば、ディスク装置やテープドライブなどである。
【００２３】
上記ファイルサーバ制御装置は、更に、前記利用状態検知部によって検知した前記各ファイルサーバが備える記憶装置の利用状態に応じて、該各ファイルサーバが備える記憶装置の利用状態の目標値を求める目標値決定部を備え、前記ファイル移動制御部は、前記移動元となるファイルサーバが備える記憶装置の利用状態が前記目標値になるようにファイルを移動させるものとしてもよい。
【００２４】
目標値とは、例えば、各ファイルサーバが備える記憶装置の残容量の平均値や、使用量の平均値などとすることができる。ファイル移動制御部は、記憶装置の残容量をこの目標値に完全に合わせる必要はなく、所定の範囲内で目標値に近似するようにファイルを移動させるものとすれば好適である。ファイルのサイズが一定であるとは限らないためである。
【００２５】
本発明において、上述した種々の態様は、適宜、組み合わせたり、一部を省略したりして適用することができる。また、本発明は、ファイルの冗長度を回復させる冗長度回復方法や、各ファイルサーバが備える記憶装置の利用状態の均衡化を行う利用状態均衡化方法、ファイルの冗長度を回復させるためのコンピュータプログラム、各ファイルサーバが備える記憶装置の利用状態の均衡化を行うためのコンピュータプログラム、などとしても構成することができる。これらのコンピュータプログラムは、コンピュータが読み取り可能な記録媒体に記録されていてもよい。記録媒体としては、例えば、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を参照しつつ実施例に基づき次の順序で説明する。
Ａ．ファイル保存システムの概略構成：
Ｂ．監視サーバの概略構成：
Ｃ．ファイルサーバの概略構成：
Ｄ．各種処理：
（Ｄ−１）ファイルサーバにおけるファイル作成処理：
（Ｄ−２）監視サーバにおけるファイルサーバ監視処理：
（Ｄ−３）監視サーバにおける構成テーブル更新処理：
（Ｄ−４）ファイルサーバにおける構成テーブル更新処理：
（Ｄ−５）ファイルサーバにおける冗長度回復処理：
（Ｄ−６）ファイルサーバにおける主体判定処理：
（Ｄ−７）監視サーバにおけるディスク残容量均衡化処理：
（Ｄ−８）ファイルサーバにおけるファイル移動処理：
Ｅ．変形例：
【００２７】
Ａ．ファイル保存システムの概略構成：
図１は、実施例としてのファイル保存システムの概略構成を示す説明図である。ファイル保存システム１０は、複数のネットワークドメインＮＤ（以下、単に「ドメインＮＤ」と記載する。）がインターネットによって接続されることによって構成されている。各ドメインＮＤは、ファイルサーバＦＳと監視サーバＷＳとクライアントＣＬがＬＡＮによって接続されることにより構成されている。
【００２８】
本実施例では、各ドメインＮＤに、ファイルサーバＦＳが２台、クライアントＣＬが１台、配置されている例を示したが、これらの台数は任意であって、ドメインＮＤ毎に異なっていてもよい。なお、図示するように、ファイル保存システム１０内には、ドメインＮＤやファイルサーバＦＳ、監視サーバＷＳ、クライアントＣＬが複数存在しているため、図中には、それぞれを区別するために便宜的に番号を付して記載している。
【００２９】
監視サーバＷＳは、同じドメインＮＤ内に存在するファイルサーバＦＳの構成情報を監視する装置である。構成情報とは、そのファイルサーバＦＳのディスク残容量やディスク使用量、所属するドメインＮＤ等の情報である。構成情報は、監視サーバＷＳが保持する構成テーブルＣＴに記録される。構成テーブルＣＴの更新情報は、ＬＡＮやインターネットを経由して、ファイル保存システム１０内に存在するすべてのファイルサーバＦＳと監視サーバＷＳに配布される。また、監視サーバＷＳは、どのドメインＮＤにどの監視サーバＷＳが所属しているかを示す情報の記録されたドメインテーブルＤＴを保持している。
【００３０】
ファイルサーバＦＳはディスク装置を備えており、クライアントＣＬはこのディスク装置に確保されたファイル記憶領域をＬＡＮ経由でマウントすることによりファイルの入出力を行う。ディスク装置には、クライアントから作成されたファイルのほか、構成テーブルＣＴや、ファイル保存システム１０内に存在するすべてのファイルの所在を記録したロケーションテーブルＬＴが記憶される。
【００３１】
ファイルサーバＦＳは、定期的にロケーションテーブルＬＴを他の全てのファイルサーバＦＳに配布する。従って、ファイル保存システム１０内に存在する全てのファイルサーバＦＳが、システム内に保存されている全てのファイルの所在を把握することができる。
【００３２】
ファイルサーバＦＳは、クライアントＣＬによってファイルが作成されると、所定の冗長度に応じてファイルのレプリカ（複製）を他のファイルサーバＦＳ上に作成する。本実施例では、冗長度を３とするものとした。従って、例えば、図中のクライアントＣＬ１が「Ａ」というファイルをファイルサーバＦＳ１に作成すると、ファイルサーバＦＳ１は、所定の条件に従って他のファイルサーバＦＳを２つ選択し、それらのファイルサーバＦＳにレプリカを作成する。図には、ドメインＮＤ３に属するファイルサーバＦＳ５とドメインＮＤ４に属するファイルサーバＦＳ８にレプリカが作成された例を示した。
【００３３】
このように、ファイルサーバＦＳは、所定の冗長度に応じて同一内容のファイルを複数のファイルサーバＦＳに分散して保存するため、ファイルの保全性を高めることができる。本実施例のファイルサーバＦＳは、かかるファイルの冗長度を維持するために、他のファイルサーバＦＳに障害が発生してファイルの冗長度が下がった場合に、その冗長度を回復させる機能を備えている。
【００３４】
Ｂ．監視サーバの概略構成：
図２は、監視サーバＷＳの概略構成を示す説明図である。監視サーバＷＳは、ネットワークインタフェースコントローラ（ＮＩＣ）１００とディスク装置１０１とＲＯＭ１０２とＣＰＵ１０３とＲＡＭ１０４を備えるコンピュータとして構成されている。ＮＩＣ１００は、ＬＡＮやインターネットを介して他の装置と通信を行うための通信制御を行う。ディスク装置２０１には、構成テーブルＣＴとドメインテーブルＤＴが記録されている。これらのテーブルの詳細は後述する。
【００３５】
ＲＯＭ１０２には、監視サーバＷＳを制御するための制御プログラムが記録されている。ＣＰＵ１０３は、ＲＡＭ１０４をワークエリアとして用いることによりこのプログラムを実行する。なお、この制御プログラムは、ディスク装置１０１にインストールされているものとしてもよい。
【００３６】
図の下部には、上記制御プログラムによってソフトウェア的に実現される機能ブロックを示した。ファイルサーバ監視部１５０は、当該監視サーバＷＳと同じドメインＮＤ内に存在するファイルサーバＦＳの構成情報を監視し、監視した結果を構成テーブルＣＴに記録する。
【００３７】
構成変更メッセージ処理部１５１は、ファイルサーバＦＳの構成情報が変更された場合に、他のドメインＮＤに属する監視サーバＷＳに対して、構成情報が変更された旨を表す構成変更メッセージを送信する。
【００３８】
また、構成変更メッセージ処理部１５１は、他のドメインＮＤに属する監視サーバＷＳから構成変更メッセージを受信した場合に、受信した構成変更メッセージに応じて構成テーブルＣＴの更新を行う。更に、構成変更メッセージ処理部１５１は、他のドメインＮＤに属する監視サーバＷＳから構成変更メッセージを受信すると、同じドメインＮＤ内の各ファイルサーバＦＳにこの構成変更メッセージを配布する。ファイルサーバＦＳは、かかる構成変更メッセージに基づき、自分が記憶する構成テーブルＣＴの更新を行う。
【００３９】
ネットワーク距離計測部１５２は、新規のファイルサーバＦＳがファイル保存システム１０内に追加された場合に、当該監視サーバＷＳから、新規のファイルサーバＦＳまでのネットワーク距離の計測を行う。ネットワーク距離は、例えば、ネットワーク機器間に介在するルータの数（ホップ数）によって表すことができる。すなわち、介在するルータの数が多いほど、ネットワーク距離が遠いといえる。この場合、例えば、計測対象のファイルサーバＦＳに対して「Tracert」あるいは「Traceroute」といったコマンドを発行することにより、介在するルータの数を計測することができる。また、ネットワーク距離は、ネットワーク上を伝わる信号の到達時間によって表してもよい。この場合、例えば、計測対象のファイルサーバＦＳに対して「Ping」コマンドを発行することにより信号の到達時間を計測することができる。
【００４０】
ファイル移動制御部１５３は、同じドメインＮＤ内に存在する各ファイルサーバＦＳのディスク残容量の均衡化を行う。目標値決定部１５４は、ファイル移動制御部１５３がディスク残容量の均衡化を行う際に目標とする各ファイルサーバＦＳのディスク残容量の算出を行う。
【００４１】
図３は、ディスク装置１０１に記憶される構成テーブルＣＴの一例を示す説明図である。構成テーブルＣＴには、各ファイルサーバＦＳのディスク使用量、ディスク残容量、ネットワーク距離、所属するドメイン、およびそのファイルサーバの状態が記録される。状態フィールドには、そのファイルサーバに障害が発生している場合には「Ｂａｄ」というパラメータが記録され、障害が発生していない場合には、「Ｇｏｏｄ」というパラメータが記録される。
【００４２】
図４は、ディスク装置１０１に記憶されるドメインテーブルＤＴの一例を示す説明図である。ドメインテーブルＤＴには、それぞれのドメインＮＤにどの監視サーバＷＳが所属するかを示す情報が記録されている。
【００４３】
図５は、構成変更メッセージ処理部１５１が送受信を行う構成変更メッセージの構造を示す説明図である。図示するように、構成変更メッセージには、構成情報が変更されたファイルサーバの名称とそのディスク使用量、ディスク残容量、所属するドメイン名、そのファイルサーバの状態が記録される。なお、監視サーバＷＳからファイルサーバＦＳに送信される構成変更メッセージには、ネットワーク距離情報が含まれるものとする。
【００４４】
Ｃ．ファイルサーバの概略構成：
図６は、ファイルサーバＦＳの概略構成を示す説明図である。ファイルサーバＦＳは、ＮＩＣ２００とディスク装置２０１とＲＯＭ２０２とＣＰＵ２０３とＲＡＭ２０４を備えるコンピュータとして構成されている。ＮＩＣ２００は、ＬＡＮやインターネットを介して他の装置と通信を行うための通信制御を行う。ディスク装置２０１には、ロケーションテーブルＬＴと構成テーブルＣＴが記録されており、更に、ファイルを記憶するためのファイル記憶領域ＦＡが確保されている。
【００４５】
ＲＯＭ２０２には、ファイルサーバＦＳを制御するための制御プログラムが記録されている。ＣＰＵ２０３は、ＲＡＭ２０４をワークエリアとして用いることによりこのプログラムを実行する。なお、制御プログラムは、ディスク装置２０１にインストールされているものとしてもよい。
【００４６】
図の下部には、前記制御プログラムによってソフトウェア的に実現される機能ブロックを示した。利用状態検知部２５０は、構成テーブルＣＴを参照して他のファイルサーバＦＳのディスク残容量やディスク使用量を検知する。ドメイン検知部２５１は、構成テーブルＣＴを参照して他のファイルサーバＦＳが属するドメインＮＤを検知する。
【００４７】
冗長度低下検知部２５２は、構成テーブルＣＴを参照して、状態フィールドが「Ｂａｄ」に変化したファイルサーバＦＳがあったときにファイルの冗長度が低下したと検知する。主体判定部２５３は、当該ファイルサーバＦＳが、低下した冗長度を回復する主体になるか否かの判定を行う。
【００４８】
冗長度回復処理部２５４は、主体判定部２５３によって冗長度回復の主体になると判定した場合に、冗長度の低下したファイルの冗長度を回復させる。冗長度の回復は、冗長度の低下したファイルを記憶するいずれかのファイルサーバＦＳから、他のファイルサーバＦＳにそのファイルをコピーさせることによって行う。
【００４９】
ファイル移動処理部２５５は、監視サーバＷＳからの指示に応じて他のファイルサーバＦＳにファイルを移動させることにより、同一ドメインＮＤ内に存在するファイルサーバＦＳ間のディスク残容量の均衡化を行う。
【００５０】
図７は、ディスク装置２０１に記憶されるロケーションテーブルＬＴの一例を示す説明図である。ロケーションテーブルＬＴには、ファイル保存システム１０内に保存されている全ファイルの所在が記録される。図示するように、ロケーションテーブルＬＴは、ファイルに一意に付与される識別情報（ＧＵＩＤ）を記録するフィールドと、ファイルの所在を記録するフィールド（所在１〜３）とを備えている。「所在１」に記録されているファイルサーバＦＳは、そのファイルを最初に作成したオリジナルサーバである。本実施例では、冗長度を３としたため、同一のファイルが、オリジナルサーバ以外に「所在２」と「所在３」に示す２つのファイルサーバＦＳに保存されている。
【００５１】
ファイルの所在を示すフィールドには、ファイルサーバＦＳの名称とそのファイルサーバＦＳ内のファイルのパスとが結合された情報が記録される。図示する「：」以前の情報がファイルサーバＦＳの名称であり、「：」以降の情報がそのファイルサーバＦＳに保存されたファイルのパスである。例えば、図中のＧＵＩＤ１というファイルは、ファイルサーバＦＳ１，ＦＳ５，ＦＳ８のルートディレクトリ（「／」）にそれぞれ「Ａ」というファイル名で保存されていることとなる。なお、本実施例では、ファイルの冗長度は一律に３であるものとしたが、ファイルごとに異なる冗長度を設定するものとしてもよい。
【００５２】
Ｄ．各種処理：
（Ｄ−１）ファイルサーバにおけるファイル作成処理：
図８は、各ファイルサーバＦＳのＣＰＵ２０３が実行するファイル作成処理のフローチャートである。クライアントＣＬからの要求に応じてファイルを作成するための処理である。
【００５３】
まず、ＣＰＵ２０３は、クライアントＣＬからファイルの作成要求を受信すると（ステップＳ１０）、かかる要求に応じてファイルを作成し、作成したファイルをディスク装置２０１に保存する（ステップＳ１１）。そして、構成テーブルＣＴを参照して、他のドメインＮＤに属するファイルサーバＦＳをディスク残容量の多い順に２つ選択する。この２つのファイルサーバは、各々異なるドメインＮＤに属していることが好ましい。なお、ＣＰＵ２０３は、ディスク残容量ではなく、ディスク使用量の少ない順にファイルサーバＦＳを２つ選択するものとしてもよい。
【００５４】
次に、ＣＰＵ２０３は、選択した２つのファイルサーバＦＳに、ステップＳ１１で作成したファイルのレプリカを作成する（ステップＳ１３）。レプリカの作成に失敗した場合には（ステップＳ１４：Ｎｏ）、再度、他のファイルサーバＦＳを選択する（ステップＳ１５）。選択した全てのファイルサーバＦＳにレプリカの作成が成功すると（ステップＳ１４：Ｙｅｓ）、ＣＰＵ２０３は、そのファイルに対してＧＵＩＤを割り当てる（ステップＳ１６）。ＧＵＩＤは、ドメインＮＤの識別番号と、ドメインＮＤ内で一意な番号とを結合することで生成される。そのため、ＧＵＩＤは、ファイル保存システム１０内において一意の識別番号となる。
【００５５】
次に、ＣＰＵ２０３は、作成したファイルを保存した所在とＧＵＩＤとを対応付けてロケーションテーブルＬＴに記録する（ステップＳ１７）。更に、ファイル作成に伴いディスク使用量等も変化するため、構成テーブルＣＴの更新も行う（ステップＳ１８）。最後に、ＣＰＵ２０３は、ファイルの作成が完了した旨をファイルの作成要求を送信したクライアントＣＬに対して返信する（ステップＳ１９）。
【００５６】
以上で説明したファイル作成処理によれば、ファイルサーバＦＳは、同一内容のファイルを複数のファイルサーバＦＳに分散させて保存することができる。そのため、ファイルの保全性を高めることができる。
【００５７】
（Ｄ−２）監視サーバにおけるファイルサーバ監視処理：
図９は、各監視サーバＷＳのＣＰＵ１０３が実行するファイルサーバ監視処理のフローチャートである。監視サーバＷＳが、同じドメイン内に属する各ファイルサーバＦＳの構成情報を監視するための処理である。
【００５８】
まず、ＣＰＵ１０３は、定期的に同一ドメインＮＤ内に存在する各ファイルサーバＦＳに構成情報の問い合わせを行う（ステップＳ３０）。そして、構成情報の取得に成功した場合には（ステップＳ３１：Ｙｅｓ）、取得した構成情報に基づき構成テーブルＣＴを更新する（ステップＳ３２）。構成情報に変更がなかった場合には更新は行わなくてよい。
【００５９】
構成情報の取得ができなかった場合には（ステップＳ３１：Ｎｏ）、ＣＰＵ１０３は、問い合わせを行ったファイルサーバＦＳに障害が発生したことを検知したこととなる。そのため、かかるファイルサーバＦＳの構成テーブルＣＴの状態フィールドを「Ｂａｄ」とする。以下の説明では、障害の発生したファイルサーバＦＳを、「障害発生サーバ」と記載する。
【００６０】
ＣＰＵ１０３は、ドメインＮＤ内の全ファイルサーバＦＳに対する問い合わせが完了したら（ステップＳ３４：Ｙｅｓ）、構成情報に変更のあったファイルサーバＦＳに関する構成変更メッセージをファイル保存システム１０内の全監視サーバＷＳに送信する（ステップＳ３５）。
【００６１】
上記ステップＳ３５において、ＣＰＵ１０３は、例えば、ディスク使用量やディスク残容量に一定量以上（例えば１Ｇバイト以上）の変化があった場合にのみ構成変更メッセージを送信するものとしてもよい。ネットワーク上のトラフィック増加を抑制するためである。ただし、障害発生サーバを検知した場合には、ディスク使用量等の変化量にかかわらず構成変更メッセージを送信するものとしてもよい。
【００６２】
（Ｄ−３）監視サーバにおける構成テーブル更新処理：
図１０は、監視サーバＷＳのＣＰＵ１０３が実行する構成テーブル更新処理のフローチャートである。他の監視サーバＷＳから構成変更メッセージを受信した場合に、監視サーバＷＳが自身の保持する構成テーブルＣＴを更新するための処理である。
【００６３】
まず、ＣＰＵ１０３は、他の監視サーバＷＳから構成変更メッセージを受信すると（ステップＳ４０）、その構成変更メッセージが、ディスク装置１０１に保持された構成テーブルＣＴに登録されていない新規のファイルサーバＦＳに関するものであるかを判定する。
【００６４】
新規のファイルサーバＦＳに関するものである場合には（ステップＳ４１：Ｙｅｓ）、当該監視サーバＷＳから新規のファイルサーバＦＳまでのネットワーク距離を計測する（ステップＳ４２）。そして、ＣＰＵ１０３は、構成変更メッセージと計測したネットワーク距離に基づき構成テーブルＣＴを更新する（ステップＳ４３）。
【００６５】
新規のファイルサーバＦＳに関するものでない場合には（ステップＳ４１：Ｎｏ）、ネットワーク距離の計測を行うことなく、受信した構成変更メッセージに従い構成テーブルＣＴを更新する（ステップＳ４３）。最後に、ＣＰＵ１０３は、ネットワーク距離情報を含む構成変更メッセージを同じドメインＮＤ内の全ファイルサーバＦＳに送信する（ステップＳ４４）。
【００６６】
（Ｄ−４）ファイルサーバにおける構成テーブル更新処理：
図１１は、ファイルサーバＦＳのＣＰＵ２０３が実行する構成テーブル更新処理のフローチャートである。監視サーバＷＳから構成変更メッセージを受信した場合に、ファイルサーバＦＳが、自身の保持する構成テーブルＣＴを更新するための処理である。
【００６７】
まず、ＣＰＵ２０３は、同じドメインＮＤ内の監視サーバＷＳから構成変更メッセージを受信すると（ステップＳ５０）、受信した構成変更メッセージに基づいてディスク装置２０１に保持する構成テーブルＣＴの更新を行う（ステップＳ５１）。
【００６８】
更新の結果、構成テーブルＣＴの状態フィールドが「Ｇｏｏｄ」から「Ｂａｄ」に変化した場合には（ステップＳ５２：Ｙｅｓ）、受信した構成変更メッセージに係るファイルサーバＦＳが障害発生サーバであることがわかる。そこで、ＣＰＵ２０３は、ロケーションテーブルＬＴを参照して、その障害発生サーバにファイルが保存されていたか否かを検索する（ステップＳ５３）。障害発生サーバにファイルが保存されていたと検索された場合には（ステップＳ５４：Ｙｅｓ）、障害発生サーバに保存されていたファイルの冗長度が低下したものとみなし、後述する冗長度回復処理を行う（ステップＳ５５）。障害発生サーバにファイルが保存されていないと検索された場合には（ステップＳ５４：Ｎｏ）、ファイルの冗長度は低下していないため、本処理を終了する。
【００６９】
なお、上記ステップＳ５２において、構成テーブルＣＴの更新前から状態フィールドが「Ｂａｄ」である場合や更新前後ともに「Ｇｏｏｄ」の場合、あるいは、更新の結果「Ｂａｄ」から「Ｇｏｏｄ」となった場合には（ステップＳ５２：Ｎｏ）、冗長度は低下していないため、冗長度回復処理を行うことなく、そのまま本処理を終了する。
【００７０】
以上で説明した構成テーブル更新処理によれば、ファイルサーバＦＳは、ファイル保存システム１０内に保存されているファイルの冗長度の低下を検知することができる。
【００７１】
（Ｄ−５）ファイルサーバにおける冗長度回復処理：
図１２は、上記冗長度回復処理のフローチャートである。まず、ＣＰＵ２０３は、自分がファイルの冗長度を回復させる主体になるか否かを判定するため、主体判定処理を行う（ステップＳ６０）。かかる処理については後述する。主体判定処理の結果、主体にならないと判定した場合には（ステップＳ６１：Ｎｏ）、本処理を終了する。
【００７２】
主体になると判定した場合には（ステップＳ６１：Ｙｅｓ）、ＣＰＵ２０３は、ロケーションテーブルＬＴと構成テーブルＣＴを参照して、障害発生サーバに保存されていたファイルと同一のファイルを保存していないファイルサーバＦＳのうち、最もディスク残容量の大きいファイルサーバＦＳを検索して、ファイルのコピー先サーバとして設定する（ステップＳ６２）。
【００７３】
次に、ＣＰＵ２０３は、ロケーションテーブルＬＴと構成テーブルＣＴを参照して、障害発生サーバに保存されていたファイルと同一のファイルを保存しており、かつ、コピー先サーバとして設定したファイルサーバＦＳから最もネットワーク距離の近いファイルサーバＦＳをファイルのコピー元サーバとして設定する（ステップＳ６３）。コピー先サーバから、コピー元サーバの候補となるファイルサーバＦＳまでのネットワーク距離は、例えば、コピー先サーバに問い合わせて取得することができる。
【００７４】
次に、ＣＰＵ２０３は、上記設定に基づき、コピー元サーバに対してコピー先サーバにファイルをコピーするよう指示を与える（ステップＳ６４）。コピー元サーバは、この指示に従い、冗長度の低下したファイルをコピー先サーバにコピーする。
【００７５】
ＣＰＵ２０３は、前記コピーが失敗した場合には（ステップＳ６５：Ｎｏ）、再度ステップＳ６２に戻って、他のコピー先サーバとコピー元サーバを選択する。コピーが成功した場合には（ステップＳ６５：Ｙｅｓ）、ディスク装置２０１内のロケーションテーブルＬＴを更新して（ステップＳ６６）、更新したロケーションテーブルＬＴをファイル保存システム１０内の全ファイルサーバＦＳに送信する（ステップＳ６７）。ＣＰＵ２０３は、障害発生サーバ内に保存されていたすべてのファイルについて上記冗長度回復処理を行う。
【００７６】
以上で説明した冗長度回復処理によれば、各ファイルサーバＦＳは、障害発生サーバに保存されていたファイルの保存先を変更することができるため、冗長度の低下したファイルの冗長度を回復させることができる。従って、ファイル保存システム１０は、自立的にファイルの冗長度を維持することが可能となる。
【００７７】
（Ｄ−６）ファイルサーバにおける主体判定処理：
図１３は、上記主体判定処理のフローチャートである。まず、ＣＰＵ２０３は、ロケーションテーブルＬＴを参照することにより、障害発生サーバに保存されていたファイルと同一のファイルが自分自身に保存されているかを検索する（ステップＳ６０１）。かかる検索は、ロケーションテーブルＬＴではなくファイル記憶領域ＦＡを参照して行うものとしてもよい。
【００７８】
検索の結果、同一のファイルを保存してしない場合には（ステップＳ６０２：Ｎｏ）、ＣＰＵ２０３は、主体にならないと判定する（ステップＳ６０２）。こうすることにより、同一のファイルを保存する他のいずれかのファイルサーバＦＳが冗長度回復処理を行うこととなる。
【００７９】
同一のファイルが検索された場合には（ステップＳ６０１：Ｙｅｓ）、ＣＰＵ２０３は、更に、ロケーションテーブルＬＴを参照してそのファイルのオリジナルサーバが自分自身であるかを判定する（ステップＳ６０３）。オリジナルサーバであると判定されれば（ステップＳ６０３：Ｙｅｓ）、主体になると判定する（ステップＳ６０４）。つまり、冗長度の低下したファイルのオリジナルサーバが基本的に冗長度回復処理を行うこととなる。
【００８０】
しかし、冗長度の低下したファイルのオリジナルサーバが障害発生サーバである場合には、オリジナルサーバ以外の他のファイルサーバＦＳが主体となって冗長度を回復させる必要がある。そのため、ＣＰＵ２０３は、自分がオリジナルサーバでない場合（ステップＳ６０３：Ｎｏ）であっても、以下に説明する処理を実行する。
【００８１】
まず、ＣＰＵ２０３は、ロケーションテーブルＬＴを参照して、障害発生サーバが、冗長度を回復させるファイルのオリジナルサーバであるかを判定する（ステップＳ６０５）。障害発生サーバがオリジナルサーバではない場合には（ステップＳ６０５：Ｎｏ）、そのオリジナルサーバが冗長度回復処理の主体となるため、ＣＰＵ２０３は、自分は主体にならないと判定する（ステップＳ６０２）。
【００８２】
障害発生サーバがオリジナルサーバである場合には（ステップＳ６０５：Ｙｅｓ）、まず、自分の優先順位がオリジナルサーバを除いて最も高いか否かをロケーションテーブルＬＴを参照して判定する（ステップＳ６０６）。優先順位とは、ロケーションテーブルＬＴに記録された「所在」の順序をいう。すなわち、図７で示した「所在３」、「所在２」、「所在１」の順に優先順位が高くなることとなる。所在１はオリジナルサーバを表すため、上記ステップＳ６０６では、自分自身が「所在２」に登録されたファイルサーバＦＳであるかを判定すればよい。
【００８３】
ＣＰＵ２０３は、優先順位がオリジナルサーバを除いて最も高ければ（ステップＳ６０６：Ｙｅｓ）、冗長度を回復させる主体になると判定する（ステップＳ６０４）。優先順位が低ければ（ステップＳ６０６：Ｎｏ）、優先順位の高い他のファイルサーバが冗長度回復処理を行うこととなるため、主体にならないと判定する（ステップＳ６０２）。
【００８４】
以上で説明した主体判定処理によれば、各ファイルサーバＦＳがそれぞれ冗長度回復処理を実行する主体になるか否かを判定することができる。
【００８５】
（Ｄ−７）監視サーバにおけるディスク均衡化処理：
図１４は、監視サーバＷＳのＣＰＵ１０３が実行するディスク均衡化処理のフローチャートである。新規のファイルサーバＦＳがドメイン内に追加されたなどの理由で、ファイルサーバＦＳ間のディスク残容量に不均衡が生じた場合に実行される処理である。
【００８６】
まず、ＣＰＵ１０３は、構成テーブルＣＴを参照して同じドメイン内に存在するファイルサーバＦＳ間のディスク残容量が不均衡であるか否かを判定する（ステップＳ７０）。これは、所定の時間間隔で判定するものとしてもよいし、構成テーブルＣＴの更新を契機として判定するものとしてもよい。不均衡か否かは、ファイルサーバＦＳ間のディスク残容量の差が所定の基準（例えば、３００Ｇバイト等）を超えた場合等に不均衡であると判定することができる。
【００８７】
ＣＰＵ１０３は、不均衡ではないと判定した場合には（ステップＳ７０：Ｎｏ）、本処理を終了し、不均衡であると判定した場合には（ステップＳ７０：Ｙｅｓ）、各ファイルサーバＦＳの目標ディスク残容量を計算する（ステップＳ７１）。目標ディスク残容量は、例えば、同じドメインＮＤ内に存在する全ファイルサーバＦＳのディスク残容量の平均値とすることができる。
【００８８】
次に、ＣＰＵ１０３は、構成テーブルＣＴを参照して同じドメインＮＤ内のファイルサーバＦＳの中からファイルの移動元サーバと移動先サーバを選択する（ステップＳ７２）。移動元サーバには、ディスク残容量の少ないファイルサーバＦＳを選択し、移動先サーバには、ディスク残容量の多いファイルサーバＦＳを選択する。そして、選択した移動元サーバに対してファイルを移動させる旨の移動指示メッセージと、目標ディスク残容量および移動先サーバを通知する（ステップＳ７３）。
【００８９】
（Ｄ−８）ファイルサーバにおけるファイル移動処理：
図１５は、ファイルサーバＦＳのＣＰＵ２０３が実行するファイル移動処理のフローチャートである。監視サーバＷＳからファイルの移動指示があった場合に実行する処理である。
【００９０】
まず、ＣＰＵ２０３は、同じドメインＮＤ内の監視サーバＷＳからファイルの移動指示メッセージとともに目標ディスク残容量と移動先サーバを受信すると（ステップＳ８０）、目標ディスク残容量の達成に必要な数の移動させるべきファイルを、ファイルサイズ等を考慮しつつ選択する（ステップＳ８１）。移動させるべきファイルは、当該ファイルサーバＦＳに最初に作成されたオリジナルファイルでなく、他のファイルサーバによって作成されたレプリカファイルを選択するものとする。そして、ＣＰＵ２０３は、選択したレプリカを移動先サーバにコピーする（ステップＳ８２）。
【００９１】
次に、ＣＰＵ２０３は、レプリカの所在が変更されたため、ロケーションテーブルＬＴを更新する（ステップＳ８３）。そして、ロケーションテーブルＬＴを参照し、移動させた各レプリカのオリジナルサーバに対して、レプリカを移動させたことと移動先のファイルサーバＦＳの所在を通知する（ステップＳ８４）。
【００９２】
オリジナルサーバは、この通知を受けると、自分自身のロケーションテーブルＬＴを更新して（ステップＳ８５）、ファイル保存システム１０内の全ファイルサーバＦＳに対して更新したロケーションテーブルＬＴを配信する（ステップＳ８６）。ＣＰＵ２０３は、オリジナルサーバから、ロケーションテーブルＬＴの更新が完了した旨の更新完了通知を受信すると（ステップＳ８７）、上記ステップＳ８２によってコピーを行ったレプリカをディスク装置２０１から消去する（ステップＳ８８）。
【００９３】
以上で説明したファイル移動処理によれば、同じＮＤドメインに属するファイルサーバＦＳ間のディスク残容量の均衡化を図ることが可能となる。
【００９４】
なお、上述した監視サーバＷＳにおけるディスク均衡化処理と本処理では、ファイルサーバＦＳ間のディスク残容量を均衡化するものとしたが、ディスク使用量を均衡化するものとしてもよい。
【００９５】
Ｅ．変形例：
上記実施例では、各ファイルサーバＦＳは、同じドメイン内に属する監視サーバＷＳを用いることによって間接的に他のファイルサーバＦＳの構成情報を検知するものとした。しかし、各ファイルサーバＦＳは、監視サーバＷＳを用いることなく直接他のファイルサーバＦＳの構成情報を問い合わせるものとしてもよい。
【００９６】
また、上記実施例では、各ファイルサーバＦＳが、構成テーブルＣＴを参照することにより他のファイルサーバＦＳの障害を検知するものとした。しかし、例えば、他のファイルサーバＦＳに対して直接「Ping」コマンドを発行し、そのファイルサーバＦＳから応答がなかった場合に、そのファイルサーバＦＳに障害が発生したと判定するものとしてもよい。
【００９７】
以上、本発明の実施例について説明した。本実施例によれば、ファイル保存システム１０は、システム内に保存されたファイルの冗長度を中央集権的な制御装置を用いることなく自立的に維持することが可能となる。また、ファイルサーバＦＳ間のディスク残容量に不均衡が生じた場合に、それを均衡化することが可能となる。なお、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。また、上記実施例ではデータの単位としてファイルを用いて説明したが、データの単位はファイルに限られることなく任意である。
【図面の簡単な説明】
【００９８】
【図１】実施例としてのファイル保存システムの概略構成を示す説明図である。
【図２】監視サーバの概略構成を示す説明図である。
【図３】構成テーブルの一例を示す説明図である。
【図４】ドメインテーブルの一例を示す説明図である。
【図５】構成変更メッセージの構造を示す説明図である。
【図６】ファイルサーバの概略構成を示す説明図である。
【図７】ロケーションテーブルの一例を示す説明図である。
【図８】ファイル作成処理のフローチャートである。
【図９】ファイルサーバ監視処理のフローチャートである。
【図１０】監視サーバにおける構成テーブル更新処理のフローチャートである。
【図１１】ファイルサーバにおける構成テーブル更新処理のフローチャートである。
【図１２】冗長度回復処理のフローチャートである。
【図１３】主体判定処理のフローチャートである。
【図１４】ディスク均衡化処理のフローチャートである。
【図１５】ファイル移動処理のフローチャートである。
【符号の説明】
【００９９】
１０...ファイル保存システム
１００，２００...ネットワークインタフェースコントローラ
１０１，２０１...ディスク装置
１０２，２０２...ＲＯＭ
１０３，２０３...ＣＰＵ
１０４，２０４...ＲＡＭ
１５０...ファイルサーバ監視部
１５１...構成変更メッセージ処理部
１５２...ネットワーク距離計測部
１５３...ファイル移動制御部
１５４...目標値決定部
２５０...利用状態検知部
２５１...ドメイン検知部
２５２...冗長度低下検知部
２５３...主体判定部
２５４...冗長度回復処理部
２５５...ファイル移動処理部
ＮＤ...ネットワークドメイン
ＷＳ...監視サーバ
ＦＳ...ファイルサーバ
ＣＬ...クライアント
ＣＴ...構成テーブル
ＤＴ...ドメインテーブル
ＬＴ...ロケーションテーブル
ＦＡ...ファイル記憶領域
【図１】
2005141528.tif 000003
【図２】
2005141528.tif 000004
【図３】
2005141528.tif 000005
【図４】
2005141528.tif 000006
【図５】
2005141528.tif 000007
【図６】
2005141528.tif 000008
【図７】
2005141528.tif 000009
【図８】
2005141528.tif 000010
【図９】
2005141528.tif 000011
【図１０】
2005141528.tif 000012
【図１１】
2005141528.tif 000013
【図１２】
2005141528.tif 000014
【図１３】
2005141528.tif 000015
【図１４】
2005141528.tif 000016
【図１５】
2005141528.tif 000017