(57)【特許請求の範囲】
【請求項１】
後述するファイルアクセス手段を有するノードを複数有するファイルサーバを、
ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶する手段、
所定時間毎に、前記ファイルアクセス数統計テーブルと前記アクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択する手段、
クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける前記条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードが有する後述するファイルアクセス手段へ該ファイル共有要求情報を転送する手段、
転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成するファイルアクセス手段、
前記クライアントに生成された応答情報を転送する手段、
として機能させるためのファイルアクセス制御プログラム。
【請求項２】
後述するファイルアクセス手段を有するノードを複数有するファイルサーバにおいて、
ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶する手段と、
所定時間毎に、前記ファイルアクセス数統計テーブルと前記アクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択する手段と、
クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける前記条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードが有する後述するファイルアクセス手段へ該ファイル共有要求情報を転送する手段と、
転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成するファイルアクセス手段と、
前記クライアントに生成された応答情報を転送する手段と、
を有することを特徴とするファイルサーバ。
【請求項３】
ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶する手段、及び、ファイルアクセス手段を有するノードを複数有するファイルサーバが、
所定時間毎に、前記ファイルアクセス数統計テーブルと前記アクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択し、
クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける前記条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードが有する前記ファイルアクセス手段へ該ファイル共有要求情報を転送し、
前記ファイルアクセス手段が、転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成し、
前記ファイルサーバが、前記クライアントに生成された応答情報を転送する、
ことを特徴とするファイルアクセス方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のクライアント間でファイルを共有する際のアクセス制御に用いられるファイルアクセス制御プログラム、ファイルアクセス制御装置およびファイルアクセス制御方法に関するものであり、複数のクライアント間でファイルを共有する際の多様なアクセスパターンに対して複雑な設定をすることなく、スケーラビリティおよびノード側の効率を高めることができるファイルアクセス制御プログラム、ファイルアクセス制御装置およびファイルアクセス制御方法に関するものである。
【０００２】
近時では、コンピュータのネットワーク化が急速に進んでおり、これに伴って、コンピュータ間で共有するファイルを一括して管理するファイルサーバの需要が高まっている。これは、低コストでファイルシステムを構築できるためである。すなわち、ファイルシステムでは、ファイルサーバを用いることによって複数の計算機間でファイルの共有が可能となるため、同一のファイルを複数の計算機間で複数コピーして所持しないですむようになるからである。
【０００３】
【従来の技術】
従来のファイルシステムは、複数のクライアントと、該クライアントにネットワークを介して接続され、複数のクライアント間でファイルを共有するためのファイルサーバとから構成されている。ここで、従来のファイルシステムとしては、つぎの（１）項〜（３）項のものが挙げられる。
【０００４】
（１）クライアントから見て、複数のファイルサーバが独立して存在しているファイルシステム。
（２）クライアントから見て、複数のファイルサーバが同一のディレクトリ構造を有するファイルシステム。
（３）クライアントのＩＰアドレスやポート番号に基づいて、ファイルアクセスに関する負荷分散を行う負荷分散装置を有するファイルシステム。
【０００５】
また、従来のファイルシステムでは、アクセス集中によるシステムダウンを回避するために、ファイルのアクセス先であるノードへのアクセス要求を分散させている。（１）項および（２）項のファイルシステムでは、システム管理者が、どのノードおよびデータ領域を分散的に使用するかを個別的にクライアント毎に設定している。さらに、かかるファイルシステムでは、上記設定に対応したネットワーク設計が必要となる。
【０００６】
また、（３）項のファイルシステムでは、負荷分散装置により自動的に負荷分散を行うことが可能である。このファイルシステムでは、負荷分散装置でファイルの情報を認識していないため、ノード側でファイルアクセスの排他処理が実行される。
【０００７】
【発明が解決しようとする課題】
ところで、前述したように、（１）項および（２）項のファイルシステムでは、システム管理者が、どのノードおよびデータ領域を分散的に使用するかを個別的にクライアント毎に設定している旨を述べた。しかしながら、かかるファイルシステムでは、クライアント数が増えるに従って、高度なスキルや複雑な設定を必要とする。従って、一般のシステム管理者のスキルでは、高いスケーラビリティを発揮することが難しいという問題があった。
【０００８】
また、（３）項のファイルシステムでは、負荷分散装置でファイルの情報を認識していないため、ノード側でファイルアクセスの排他処理を実行しなければならないため、ノード側のアクセスに関する処理効率が低くなるという問題があった。
【０００９】
本発明は、上記に鑑みてなされたもので、複数のクライアント間でファイルを共有する際の多様なアクセスパターンに対して複雑な設定をすることなく、スケーラビリティおよびノード側の処理効率を高めることができるファイルアクセス制御プログラム、ファイルアクセス制御装置およびファイルアクセス制御方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明は、後述するファイルアクセス手段を有するノードを複数有するファイルサーバを、ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶する手段、所定時間毎に、前記ファイルアクセス数統計テーブルと前記アクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択する手段、クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける前記条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードが有する後述するファイルアクセス手段へ該ファイル共有要求情報を転送する手段、転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成するファイルアクセス手段、前記クライアントに生成された応答情報を転送する手段、として機能させるためのファイルアクセス制御プログラムである。
【００１１】
また、本発明は、後述するファイルアクセス手段を有するノードを複数有するファイルサーバにおいて、ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶する手段と、所定時間毎に、前記ファイルアクセス数統計テーブルと前記アクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択する手段と、クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける前記条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードが有する後述するファイルアクセス手段へ該ファイル共有要求情報を転送する手段と、転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成するファイルアクセス手段と、前記クライアントに生成された応答情報を転送する手段と、を有することを特徴とするファイルサーバである。
【００１２】
また、本発明は、ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶する手段、及び、ファイルアクセス手段を有するノードを複数有するファイルサーバが、所定時間毎に、前記ファイルアクセス数統計テーブルと前記アクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択し、クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける前記条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードが有する前記ファイルアクセス手段へ該ファイル共有要求情報を転送し、前記ファイルアクセス手段が、転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成し、前記ファイルサーバが、前記クライアントに生成された応答情報を転送する、ことを特徴とするファイルアクセス方法である。
【００１３】
かかる発明によれば、ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶し、及び、ノードを複数有するファイルサーバが、所定時間毎に、ファイルアクセス数統計テーブルとアクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択し、クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードへ該ファイル共有要求情報を転送し、転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成し、ファイルサーバが、クライアントに生成された応答情報を転送するので、複数のクライアント間で複数のノードにおけるファイルを共有する際の多様なアクセスパターンに対して複雑な設定をすることなく、スケーラビリティおよびノード側の処理効率を高めることができる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明にかかるファイルアクセス制御プログラム、ファイルアクセス制御装置およびファイルアクセス制御方法の一実施の形態について詳細に説明する。
【００１５】
図１は、本発明にかかる一実施の形態の構成を示すブロック図である。この図に示したファイルシステムは、クライアント１００1 〜１００n 、外部ネットワーク２００およびファイルサーバ３００から構成されている。クライアント１００1 〜１００n は、ｎ台のコンピュータ装置であり、外部ネットワーク２００を介して、ファイルサーバ３００にアクセス可能とされている。
【００１６】
これらのクライアント１００1 〜１００n は、ファイルサーバ３００におけるファイルを共有しており、ファイルサーバ３００からのファイルのリードや、ファイルサーバ３００へのファイルのライト、ファイル検索等を実行する。図２は、クライアント１００1 〜１００n から外部ネットワーク２００を介して、ファイルサーバ３００へ送信されるファイル共有要求情報７００の一例を示す図である。
【００１７】
上記ファイル共有要求情報７００は、ファイルの共有をファイルサーバ３００へ要求するための情報であり、ファイルハンドル情報、ファイル名情報およびオフセット情報から構成されている。ファイルハンドル情報は、ファイルを一意に指定するためのバイト列からなる情報である。ファイル名情報は、当該ファイルの名称に関する文字列からなる情報である。オフセット情報は、アクセス範囲を表す数値からなる情報である。
【００１８】
図１に戻り、ファイルサーバ３００は、クライアント１００1 〜１００n からのファイル共有要求（リード、ライト、ファイル検索等）に応じて、ファイル共有応答（ファイルの転送等）を行うサーバである。このファイルサーバ３００に存在するファイルは、前述したように、クライアント１００1 〜１００n により共有される。
【００１９】
また、ファイルサーバ３００は、負荷分散部４００、内部ネットワーク５００およびノード６００0 〜６００m から構成されている。負荷分散部４００は、外部ネットワーク２００と内部ネットワーク５００との間に介挿されており、クライアント１００1 〜１００n からのアクセス（負荷）を、後述するノード６００0 〜６００m のいずれかへ分散する。
【００２０】
負荷分散部４００において、外部ネットワークインタフェース４０１は、外部ネットワーク２００との間の通信インタフェースをとる。制御部４０２は、負荷分散に関する各種制御を行う。この制御部４０２の動作の詳細については、後述する。記憶部４０３には、図３に示した各種点数テーブル、図４および図５に示した各種統計テーブルが記憶されている。
【００２１】
図３（ａ）、図３（ｂ）および図３（ｃ）に示したキャッシュ重視型点数テーブル８００、負荷率重視型点数テーブル８１０および中間型点数テーブル８２０は、点数制により負荷分散の方式を決定するためのテーブルである。ここで、一実施の形態における負荷分散の方式としては、キャッシュ重視型、負荷率重視型および中間型という三種類がある。
【００２２】
キャッシュ重視型は、ファイル共有要求に対応するデータ（ファイル）が後述するキャッシュメモリに存在することを重視した負荷分散の方式である。図３（ａ）に示したキャッシュ重視型点数テーブル８００は、点数制の「条件」と、「条件」に「一致」または「不一致」の場合の点数との対応関係を表すテーブルであり、キャッシュ重視型の負荷分散方式で用いられる。
【００２３】
「条件」としては、ファイルが存在するノードがアクセス管理ノードであること、データがキャッシュメモリに存在すること、ノードの負荷率が８０％未満であること、およびノードの負荷率が１００％であること、が挙げられる。上記アクセス管理ノードは、システム管理者により、クライアントとノードとの対応関係が定義されたノードである。
【００２４】
図３（ｂ）に示した負荷率重視型点数テーブル８１０は、点数制の「条件」と、「条件」に「一致」または「不一致」の場合の点数との対応関係を表すテーブルであり、負荷率重視型の負荷分散方式で用いられる。この負荷率重視型点数テーブル８１０の「条件」は、キャッシュ重視型点数テーブル８００の「条件」と同一である。ただし、負荷率重視型点数テーブル８１０においては、キャッシュ重視型点数テーブル８００に比較して、「条件」に「一致」または「不一致」の場合の点数が異なる部分がある。
【００２５】
図３（ｃ）に示した中間型点数テーブル８２０は、点数制の「条件」と、「条件」に「一致」または「不一致」の場合の点数との対応関係を表すテーブルであり、キャッシュ重視型と負荷率重視型との中間的な位置づけの負荷分散方式で用いられる。
【００２６】
この中間型点数テーブル８２０の「条件」は、キャッシュ重視型点数テーブル８００および負荷率重視型点数テーブル８１０の「条件」と同一である。ただし、中間型点数テーブル８２０においては、キャッシュ重視型点数テーブル８００および負荷率重視型点数テーブル８１０と比較して、「条件」に「一致」または「不一致」の場合の点数が異なる部分がある。
【００２７】
図４（ａ）に示したハッシュ値テーブル９００は、上述したアクセス管理ノードであることの条件判定に用いられるテーブルであり、アクセス管理ノードに対応するノード番号と、ハッシュ値との対応関係を表すテーブルである。ここで、ノード番号０〜ｍは、ノード６００1 〜６００m （図１参照）に対応している。ハッシュ値は、図２に示したファイル共有要求情報７００のファイルハンドル情報およびファイル名情報を一方向関数であるハッシュ関数に適用した値であり、アクセス管理ノードに対応するノード番号を一意に特定する値である。
【００２８】
図４（ｂ）に示したキャッシュ統計テーブル９１０は、ファイルサーバ３００に存在する共有可能なファイルＡ〜Ｚと、当該ファイルが格納されているキャッシュメモリを有するノードを表す（キャッシュ）ノード番号との対応関係を表すテーブルである。
【００２９】
同図に示した例では、ファイルＡは、ノード番号０に対応するノード６００0（図１参照）のキャッシュメモリ６０８に格納されている。また、ファイルＢは、ノード番号０に対応するノード６００0（図１参照）のキャッシュメモリ６０８、およびノード番号２に対応するノード６００2 のキャッシュメモリ（図示略）に格納されている。
【００３０】
図４（ｃ）に示した負荷率統計テーブル９２０は、ノード６００0 〜６００m に対応するノード番号０〜ｍと、ノード６００0 〜６００m の負荷率との対応関係を表すテーブルである。同図に示した例では、ノード番号０に対応するノード６００0 の負荷率は、３０％である。
【００３１】
図５（ａ）に示したファイル・アクセス数統計テーブル９３０は、ファイルサーバ３００に存在する共有可能なファイルＡ〜Ｚと、クライアント１００1 〜１００n からのアクセス数との対応関係を表すテーブルである。同図に示した例では、ファイルＡのアクセス数は、１５２０である。
【００３２】
図５（ｂ）に示したアクセス種類統計テーブル９４０は、クライアント１００1 〜１００n からファイルサーバ３００へのアクセスの種類（リード、ライトおよびファイル検索）と、そのアクセス数との対応関係を表すテーブルである。同図に示した例では、リードに関するアクセス数は、１０２４である。
【００３３】
図５（ｃ）に示した要求数統計テーブル９５０は、ノード６００0 〜６００m （図１参照）に対応するノード番号０〜ｍと、クライアント１００1 〜１００n から当該ノードへのファイル共有要求（ファイルアクセス要求）に関する要求数との対応関係を表すテーブルである。同図に示した例では、ノード番号０に対応するノード６００0 に関する要求数は、１である。
【００３４】
図５（ｄ）に示したノード・アクセス数統計テーブル９６０は、ノード６００0 〜６００m （図１参照）に対応するノード番号０〜ｍと、クライアント１００1 〜１００n から当該ノードへのアクセス数との対応関係を表すテーブルである。同図に示した例では、ノード番号０に対応するノード６００0 に関するアクセス数は、１０２である。ここで、前述した各種統計テーブルは、ファイルへのアクセスがある毎に制御部４０２（図１参照）により適宜更新される。
【００３５】
図１に戻り、内部ネットワークインタフェース４０４は、内部ネットワーク５００との通信インタフェースをとる。ノード６００0 〜６００m は、ノード番号０〜ｍに対応しており、クライアント１００1 〜１００n のアクセス先である。これらのノード６００0 〜６００m は、ファイルを格納するディスクおよびファイルを一時的に格納しアクセスを高速化するためのキャッシュメモリをそれぞれ有しており、全体として仮想的な一つのファイル格納部とみなすことができる。
【００３６】
ノード６００0 において、ネットワーク処理部６０１は、内部ネットワーク５００との通信インタフェースをとる。データ統合部６０２は、ファイル共有要求があった場合に、ファイル共有応答メッセージとして図６（ａ）に示した各種情報およびデータを統合し、これを応答情報１０００として負荷分散部４００へ送信する。
【００３７】
図６（ａ）に示した応答情報１０００において、負荷分散情報１００１は、キャッシュ統計テーブル９１０（図４（ｂ）参照）、負荷率統計テーブル９２０（図４（ｃ）参照）、ファイル・アクセス数統計テーブル９３０（図５（ａ）参照）、アクセス種類統計テーブル９４０（図５（ｂ）参照）、要求数統計テーブル９５０（図５（ｃ）参照）およびノード・アクセス数統計テーブル９６０（図５（ｄ）参照）を更新するための負荷分散情報（統計情報）から構成されている。
【００３８】
ヘッダ情報１００２は、データ１００４のヘッダ（宛先、データの型等）に関する情報である。ファイルＩＤ情報１００３は、アクセス対象のファイルを識別するための情報である。データ１００４は、アクセス対象のファイルのデータである。
【００３９】
図１に戻り、ファイル共有処理部６０３は、ファイル共有プロトコルに従って、ファイル共有処理を実行する。負荷監視部６０４は、ノード６００0 の負荷率を監視する。この負荷監視部６０４における監視結果は、負荷率統計テーブル９２０（図４（ｃ）参照）に反映される。
【００４０】
ファイル処理部６０５は、ファイルのリード、ライト、検索等に関する処理を実行する。このファイル処理部６０５において、アクセス管理部６０６は、ファイルアクセスを管理する。ディスク６０７には、ファイルが格納されている。
【００４１】
キャッシュメモリ６０８には、ディスク６０７に格納されているファイルのうち、リード済みのファイルが格納される。ここで、キャッシュメモリ６０８にファイルを格納する理由は、ディスク６０７から当該ファイルをリードする場合に比べて、キャッシュメモリ６０８からファイルをリードしたほうが、アクセス速度が速くなるからである。
【００４２】
キャッシュ制御部６０９は、キャッシュメモリ６０８にファイルが存在するか否かの判断（キャッシュヒット判断）や、キャッシュメモリ６０８へのファイルのリード／ライト制御を行う。ファイル入出力部６１０は、ディスク６０７またはキャッシュメモリ６０８に関するファイルの入出力を行う。なお、ノード６００1 〜６００m も、上述したノード６００0 と同一構成とされている。
【００４３】
つぎに、一実施の形態の動作について、図７〜図１０に示したフローチャートを参照しつつ説明する。図７は、一実施の形態における負荷分散方式選択処理を説明するフローチャートである。この負荷分散方式選択処理は、制御部４０２（図１参照）により所定時間毎に実行され、前述した負荷分散方式としてのキャッシュ重視型（図３（ａ）参照）、負荷率重視型（図３（ｂ）参照）および中間型（図３（ｃ）参照）の中からいずれか一つを選択するための処理である。
【００４４】
言い換えれば、負荷分散方式選択処理は、キャッシュ重視型点数テーブル８００（図３（ａ）参照）、負荷率重視型点数テーブル８１０（図３（ｂ）参照）および中間型点数テーブル８２０（図３（ｃ）参照）の中からいずれか一つを選択するための処理である。
【００４５】
図８は、図１に示した負荷分散部４００の動作を説明するフローチャートである。図９は、図８に示したファイル共有要求処理を説明するフローチャートである。図１０は、図８に示したファイル共有応答処理を説明するフローチャートである。
【００４６】
図７に示したステップＳＡ１では、負荷分散部４００（図１参照）の制御部４０２は、図５（ａ）に示したファイル・アクセス数統計テーブル９３０を参照する。ステップＳＡ２では、制御部４０２は、ファイル・アクセス数統計テーブル９３０に基づいて、少数（例えば、３個）のファイルにアクセスが集中しているか否かを判断する。
【００４７】
ステップＳＡ２の判断結果が「Ｙｅｓ」である場合、ステップＳＡ３では、制御部４０２は、負荷分散方式を負荷率重視型として、図３（ｂ）に示した負荷率重視型点数テーブル８１０を選択する。ステップＳＡ１２では、制御部４０２は、所定時間待機した後、ステップＳＡ１以降を繰り返す。以後、負荷分散部４００では、別の負荷分散方式が選択されるまで、負荷率重視型点数テーブル８１０に従って、負荷分散処理が実行される。
【００４８】
一方、ステップＳＡ２の判断結果が「Ｎｏ」である場合、ステップＳＡ４では、制御部４０２は、ファイル・アクセス数統計テーブル９３０（図５（ａ）参照）に基づいて、多数（例えば、１０個）のファイルにアクセスが分散しているか否かを判断する。
【００４９】
ステップＳＡ４の判断結果が「Ｙｅｓ」である場合、ステップＳＡ５では、制御部４０２は、負荷分散方式をキャッシュ重視型として、図３（ａ）に示したキャッシュ重視型点数テーブル８００を選択する。ステップＳＡ１２では、制御部４０２は、所定時間待機した後、ステップＳＡ１以降を繰り返す。以後、負荷分散部４００では、別の負荷分散方式が選択されるまで、キャッシュ重視型点数テーブル８００に従って、負荷分散処理が実行される。
【００５０】
一方、ステップＳＡ４の判断結果が「Ｎｏ」である場合、ステップＳＡ６では、制御部４０２は、図５（ｂ）に示したアクセス種類統計テーブル９４０を参照する。ステップＳＡ７では、制御部４０２は、アクセス種類統計テーブル９４０に基づいて、ライトに関するアクセス数が、他のリードおよびファイル検索のアクセス数より多いか否かを判断する。
【００５１】
ステップＳＡ７の判断結果が「Ｙｅｓ」である場合、ステップＳＡ８では、制御部４０２は、負荷分散方式を中間型として、図３（ｃ）に示した中間型点数テーブル８２０を選択する。ステップＳＡ１２では、制御部４０２は、所定時間待機した後、ステップＳＡ１以降を繰り返す。以後、負荷分散部４００では、別の負荷分散方式が選択されるまで、中間型点数テーブル８２０に従って、負荷分散処理が実行される。
【００５２】
一方、ステップＳＡ７の判断結果が「Ｎｏ」である場合、ステップＳＡ９では、制御部４０２は、アクセス種類統計テーブル９４０に基づいて、リードに関するアクセス数が、他のライトおよびファイル検索のアクセス数より多いか否かを判断する。
【００５３】
ステップＳＡ９の判断結果が「Ｙｅｓ」である場合、ステップＳＡ１０では、制御部４０２は、負荷分散方式をキャッシュ重視型として、図３（ａ）に示したキャッシュ重視型点数テーブル８００を選択する。ステップＳＡ１２では、制御部４０２は、所定時間待機した後、ステップＳＡ１以降を繰り返す。以後、負荷分散部４００では、別の負荷分散方式が選択されるまで、キャッシュ重視型点数テーブル８００に従って、負荷分散処理が実行される。
【００５４】
一方、ステップＳＡ９の判断結果が「Ｎｏ」である場合、すなわち、アクセス種類統計テーブル９４０においてファイル検索に関するアクセス数が、他のリードおよびライトのアクセス数より多い場合、ステップＳＡ１１では、制御部４０２は、負荷分散方式を負荷率重視型として、図３（ｂ）に示した負荷率重視型点数テーブル８１０を選択する。
【００５５】
ステップＳＡ１２では、制御部４０２は、所定時間待機した後、ステップＳＡ１以降を繰り返す。以後、負荷分散部４００では、別の負荷分散方式が選択されるまで、負荷率重視型点数テーブル８１０に従って、負荷分散処理が実行される。
【００５６】
このように、一実施の形態では、所定時間毎に負荷分散方式選択処理が実行されることにより、ファイルへのアクセス数、ファイル種類別のアクセス数に応じて、負荷分散方式が適宜選択される。
【００５７】
また、制御部４０２は、前述した負荷分散方式選択処理と並行して、図８に示したフローチャートに基づく処理を実行する。すなわち、同図に示したステップＳＢ１では、制御部４０２は、クライアント１００1 〜１００n のうちいずれかのクライアントからファイル共有要求（ファイルアクセス要求）があるか否かを判断する。ステップＳＢ１の判断結果が「Ｙｅｓ」である場合、ステップＳＢ２では、制御部４０２は、後述するファイル共有要求処理を実行する。
【００５８】
この場合、制御部４０２は、ステップＳＢ１の判断結果を「Ｎｏ」とする。ステップＳＢ３では、制御部４０２は、ノード６００0 〜６００m のうちいずれかのノードから、上述したファイル共有要求に対応するファイル共有応答があるか否かを判断し、この場合、判断結果を「Ｙｅｓ」とする。ステップＳＢ４では、制御部４０２は、後述するファイル共有応答処理を実行する。
【００５９】
この場合、制御部４０２は、ステップＳＢ３の判断結果を「Ｎｏ」として、ステップＳＢ１およびステップＳＢ３のうちいずれかの判断結果が「Ｙｅｓ」となるまで、ステップＳＢ１およびステップＳＢ３の判断を繰り返す。
【００６０】
そして、図１に示したクライアント１００1 からファイル共有要求がファイルサーバ３００に対して出されると、制御部４０２は、ステップＳＢ１の判断結果を「Ｙｅｓ」とする。この場合、クライアント１００1 からは、ファイル共有要求の情報として、図２に示したファイル共有要求情報７００が外部ネットワーク２００を介して負荷分散部４００に入力される。
【００６１】
このファイル共有要求情報７００には、ヘッダ情報（図示略）が付加されている。ここで、現時点では、前述した負荷分散方式選択処理により、図３（ａ）に示したキャッシュ重視型点数テーブル８００が選択されているものとする。
【００６２】
ステップＳＢ２では、制御部４０２は、ファイル共有要求処理を実行する。具体的には、図９に示したステップＳＣ１では、制御部４０２は、ファイル共有要求情報７００のヘッダ情報を確認するヘッダ処理を実行する。ステップＳＣ２では、制御部４０２は、上記ヘッダ情報を抽出する。
【００６３】
ステップＳＣ３では、制御部４０２は、ノード６００0 〜６００m のそれぞれに対応する合計点数を初期化（＝０）にする。この合計点数は、当該ファイル共有要求の転送先のノード、すなわち、負荷分散先のノードを決定する際に用いられる。ステップＳＣ４では、制御部４０２は、図２に示したファイル共有要求情報７００のファイルハンドル情報およびファイル名情報からハッシュ値を求めるためのハッシュ計算を実行する。この場合、ハッシュ値は、５であるものとする。
【００６４】
ステップＳＣ５では、制御部４０２は、図４（ａ）に示したハッシュ値テーブル９００を参照し、ステップＳＣ４で求めたハッシュ値（この場合、５）と同一のハッシュ値があるかを照会する。この場合、ハッシュ値テーブル９００のノード番号０のハッシュ値（＝５）が該当する。すなわち、ノード番号０に対応するノード６００0 は、アクセス管理ノードである。
【００６５】
ステップＳＣ６では、制御部４０２は、図３（ａ）に示したキャッシュ重視型点数テーブル８００と、ステップＳＣ５の参照結果とに基づいて、ノード毎の合計点数を更新する。この場合、ノード番号０に対応するノード６００0 に関しては、「アクセス管理ノードである」という条件に一致するため、合計点数が＋１０点となる。一方、他のノード６００2 〜６００m のそれぞれに関しては、上記条件と不一致であるため、点数が−１０点となる。
【００６６】
ステップＳＣ７では、制御部４０２は、図４（ｃ）に示した負荷率統計テーブル９２０を参照して、各ノードの負荷率がキャッシュ重視型点数テーブル８００（図３（ａ）参照）の条件（「負荷率が８０％未満である」、「負荷率が１００である」）と一致するか否かを判断する。
【００６７】
この場合、図４（ｃ）に示したノード番号０に対応するノード６００0 に関しては、負荷率が３０％であり、「負荷率が８０％未満である」という条件と一致するため点数が＋５点とされる。また、「負荷率が１００％である」という条件と不一致であるため、点数が０点とされる。以下、同様にして、ノード番号１〜ｍに対応するノード６００1 〜６００m のそれぞれについても、同様にして点数が特定される。
【００６８】
ステップＳＣ８では、制御部４０２は、ノード番号０〜ｍに対応するノード６００0 〜６００m のそれぞれの合計点数を更新する。すなわち、制御部４０２は、ステップＳＣ７で特定された点数を合計点数に加算する。ノード番号０に対応するノード６００0 に関して、合計点数は＋１５点（＋１０＋５＋０）である。
【００６９】
ステップＳＣ９では、制御部４０２は、図４（ｂ）に示したキャッシュ統計テーブル９１０を参照して、各ノードがキャッシュ重視型点数テーブル８００（図３（ａ）参照）の条件（「データがキャッシュに存在する」）と一致するか否かを判断する。
【００７０】
この場合、図４（ｂ）に示したファイルＡ、ＢおよびＺ（この場合、ファイルＡがアクセス要求されているものとする）がノード番号０に対応するノード６００0 のキャッシュメモリ６０８に存在し、「データがキャッシュに存在する」という条件と一致するため、点数が＋１０点とされる。以下、同様にして、ノード番号１〜ｍに対応するノード６００1 〜６００m のそれぞれについても、同様にして点数が特定される。
【００７１】
ステップＳＣ１０では、制御部４０２は、ノード番号０〜ｍに対応するノード６００0 〜６００m のそれぞれの合計点数を更新する。すなわち、制御部４０２は、ステップＳＣ９で特定された点数を合計点数に加算する。ノード番号０に対応するノード６００0 に関して、合計点数は＋２５点（＋１５＋１０）である。
【００７２】
ステップＳＣ１１では、制御部４０２は、ノード番号０〜ｍに対応するノード６００0 〜６００m のそれぞれに関する合計点数のうち、最も合計点数が高いノードを選択する。この場合には、ノード６００0 が選択されたものとする。ステップＳＣ１２では、制御部４０２は、ステップＳＣ１１で選択されたノード６００0 へファイル共有要求情報７００（図２参照）を転送する。すなわち、この場合には、キャッシュ重視型の負荷分散方式によりノード６００0 への負荷分散処理が実行されたのである。
【００７３】
ステップＳＣ１３では、制御部４０２は、図５（ｃ）に示した要求数統計テーブル９５０を更新する。この場合、制御部４０２は、ノード６００0 へファイル共有要求情報７００を転送したため、要求数統計テーブル９５０のノード番号０に対応する要求数を１インクリメントした後、図８に示したメインルーチンへ戻る。
【００７４】
そして、ファイル共有要求情報７００は、図１に示したノード６００0 に受信される。これにより、ファイル共有処理部６０３は、ファイル共有要求情報７００のヘッダ情報（図示略）からアクセスの種類情報（例えば、リード）を、ファイル共有要求情報７００からアクセス対象ファイルの情報（この場合、ファイルＡ）をそれぞれ取得する。
【００７５】
つぎに、キャッシュ制御部６０９は、上記情報に基づいて、キャッシュメモリ６０８から当該ファイルをリードする。なお、キャッシュメモリ６０８に当該ファイルが存在しない場合、ディスク６０７より当該ファイルがリードされる。つぎに、ファイル入出力部６１０は、リードされたファイルをデータ統合部６０２へ出力する。
【００７６】
これにより、データ統合部６０２は、図６（ａ）に示した応答情報１０００を生成する。この応答情報１０００において、負荷分散情報１００１は、負荷監視部６０４からの負荷率の情報、キャッシュノード番号、アクセス種類（リード）の情報、ノード番号の情報等から構成されている。
【００７７】
ヘッダ情報１００２は、宛先（この場合、クライアント１００1 ）等の情報である。ファイルＩＤ情報１００３は、リードされたファイルを識別するための情報である。データ１００４は、当該ファイルである。つぎに、データ統合部６０２は、応答情報１０００を負荷分散部４００へ送信する。
【００７８】
そして、応答情報１０００が負荷分散部４００に受信されると、制御部４０２は、図８に示したステップＳＢ３の判断結果を「Ｙｅｓ」とする。ステップＳＢ４では、制御部４０２は、ファイル共有応答処理を実行する。
【００７９】
具体的には、図１０に示したステップＳＤ１では、制御部４０２は、応答情報１０００（図６（ａ）参照）の負荷分散情報１００１およびヘッダ情報１００２を確認するヘッダ処理を実行する。ステップＳＤ２では、制御部４０２は、負荷分散情報１００１、ヘッダ情報１００２およびファイルＩＤ情報１００３を抽出する。
【００８０】
ステップＳＤ３では、制御部４０２は、負荷分散情報１００１（キャッシュノード番号、負荷率の情報、アクセス種類（リード）の情報、ノード番号の情報等）、ヘッダ情報１００２およびファイルＩＤ情報１００３に基づいて、キャッシュ統計テーブル９１０（図４（ｂ）参照）、負荷率統計テーブル９２０（図４（ｃ）参照）、ファイル・アクセス数統計テーブル９３０（図５（ａ）参照）、アクセス種類統計テーブル９４０（図５（ｂ）参照）、要求数統計テーブル９５０（図５（ｃ）参照）およびノード・アクセス数統計テーブル９６０（図５（ｄ）参照）をそれぞれ更新する。
【００８１】
なお、要求数統計テーブル９５０においては、ノード番号０に対応する要求数が１デクリメントされる。要求数統計テーブル９５０以外のテーブルにおいては、該当数値が１インクリメントされる。
【００８２】
ステップＳＤ４では、制御部４０２は、図６（ａ）に示した応答情報１０００から負荷分散情報１００１を除去し、図６（ｂ）に示した応答情報１１００を生成する。ステップＳＤ５では、制御部４０２は、ヘッダ情報１００２から得られる宛先の情報に基づいて、外部ネットワーク２００を介してクライアント１００1 へ応答情報１１００を転送する。
【００８３】
また、ファイル検索に関するファイル共有要求において、クライアントからは、図６（ｃ）に示したファイルＩＤ情報１３００がファイルサーバ３００へ送信される。このファイルＩＤ情報１３００は、親ディレクトリ・ファイルＩＤ情報１２００およびファイル名情報１２０１から構成されている。
【００８４】
以後、クライアントからファイル共有要求（アクセス要求）がある毎に、前述した各種統計テーブル（キャッシュ統計テーブル９１０等）が更新され、更新の程度に応じて、負荷分散方式（キャッシュ重視型点数テーブル８００、負荷率重視型点数テーブル８１０、中間型点数テーブル８２０）が動的に変化する。
【００８５】
以上説明したように、一実施の形態によれば、クライアント１００1 〜１００n のうちいずれか一つのクライアントからアクセス要求がある毎に当該ノードからそれぞれ出力される負荷分散情報１００１（図６（ａ）参照）に基づいて、複数のノード６００0 〜６００m のうち所定の条件を満たすノードへ当該アクセス要求を転送し負荷分散を実現するようにしたので、複数のクライアント１００1 〜１００n 間で複数のノードにおけるファイルを共有する際の多様なアクセスパターンに対して複雑な設定をすることなく、スケーラビリティおよびノード側の処理効率を高めることができる。
【００８６】
また、一実施の形態によれば、ノード６００0 〜６００m のうちいずれか一つのノードより負荷分散情報１００１（図６（ａ）参照）が入力される毎に、負荷分散情報を格納する各種統計テーブル（キャッシュ統計テーブル９１０等：図４（ｂ）参照）を更新するようにしたので、リアルタイムなノードの状況に応じて、負荷分散を行うことができる。
【００８７】
また、一実施の形態によれば、図７を参照して説明したように、所定時間毎に、各種統計テーブルに格納された負荷分散情報に応じて複数の負荷分散方式の中から所定の負荷分散方式を選択し、選択された負荷分散方式に基づいて、当該ノードへアクセス要求を転送するようにしたので、多様なアクセスパターンに対して柔軟に負荷分散の対応をとることができる。
【００８８】
また、一実施の形態によれば、図６（ａ）に示した応答情報１０００から負荷分散情報１００１を削除し、図６（ｂ）に示した応答情報１１００を当該クライアントへ転送するようにしたので、クライアント１００1 〜１００n に対して特別な設定を必要とすることなく、スケーラビリティおよびノード側の処理効率を高めることができる。
【００８９】
また、一実施の形態によれば、負荷分散情報１００１に、少なくとも、ノードにおける負荷率、ファイルアクセス数の情報が含まれているため、負荷率、アクセス数を考慮した負荷分散を効率的に行うことができる。
【００９０】
また、一実施の形態によれば、負荷分散情報１００１に、少なくとも、各ノードにおけるキャッシュメモリに格納されているファイルの情報が含まれているため、アクセス速度を考慮した負荷分散を効果的に行うことができる。
【００９１】
また、一実施の形態によれば、図４（ａ）を参照して説明したように、選択された負荷分散方式に対応する所定の条件に合致するか否かにより点数をノード毎に合計し、合計点数に基づいて、複数のノードのうち合計点数が最も高いノードへアクセス要求を転送するようにしたので、所定の条件をきめ細かく設定することにより、スケーラビリティをさらに高めることができる。
【００９２】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【００９３】
例えば、前述した一実施の形態においては、図１に示したファイルサーバ３００の機能を実現するためのファイルアクセス制御プログラムを図１１に示したコンピュータ読み取り可能な記録媒体１５００に記録して、この記録媒体１５００に記録されたファイルアクセス制御プログラムを同図に示したコンピュータ１４００に読み込ませ、実行することにより、ファイルアクセス制御に関する一連の処理を実行するようにしてもよい。
【００９４】
コンピュータ１４００は、上記ファイルアクセス制御プログラムを実行するＣＰＵ１４１０と、キーボード、マウス等の入力装置１４２０と、各種データを記憶するＲＯＭ（Read Only Memory）１４３０と、演算パラメータ等を記憶するＲＡＭ（Random Access Memory）１４４０と、記録媒体１５００からファイルアクセス制御プログラムを読み取る読取装置１４５０と、ディスプレイ、プリンタ等の出力装置１４６０と、各部を接続するバス１４７０とから構成されている。
【００９５】
ＣＰＵ１４１０は、読取装置１４５０を経由して記録媒体１５００に記録されているファイルアクセス制御プログラムを読み込んだ後、ファイルアクセス制御プログラムを実行することにより、前述した、ファイルアクセス制御に関する一連の処理を実行する。なお、記録媒体１５００には、光ディスク、フロッピーディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【００９６】
（付記１）コンピュータを、
クライアントからのアクセス要求に応じてファイルにそれぞれアクセスされ、アクセス毎に少なくとも負荷分散情報を出力する複数のノード、
前記アクセス要求がある毎に前記負荷分散情報に基づいて、前記複数のノードのうち所定の条件を満たすノードへ当該アクセス要求を転送する負荷分散手段、
として機能させるためのファイルアクセス制御プログラム。
（付記２）前記コンピュータを、前記負荷分散情報が入力される毎に、前記負荷分散情報を格納するテーブルを更新する更新手段として機能させることを特徴とする付記１に記載のファイルアクセス制御プログラム。
（付記３）前記コンピュータを、所定時間毎に、前記テーブルに格納された負荷分散情報に応じて複数の負荷分散方式の中から所定の負荷分散方式を選択する選択手段として機能させ、前記負荷分散手段は、前記選択手段により選択された負荷分散方式に基づいて、当該ノードへ前記アクセス要求を転送することを特徴とする付記２に記載のファイルアクセス制御プログラム。
（付記４）前記複数のノードのそれぞれは、当該ファイルに関するファイル情報に前記負荷分散情報を付加した応答情報を前記負荷分散手段へ出力し、前記負荷分散手段は、前記応答情報から前記負荷分散情報を削除し、当該ファイル情報を当該クライアントへ転送することを特徴とする付記１〜３のいずれか一つに記載のファイルアクセス制御プログラム。
（付記５）前記負荷分散情報には、少なくとも、ノードにおける負荷率、ファイルアクセス数の情報が含まれていることを特徴とする付記１〜４のいずれか一つに記載のファイルアクセス制御プログラム。
（付記６）前記負荷分散情報には、少なくとも、各ノードにおけるキャッシュメモリに格納されているファイルの情報が含まれていることを特徴とする付記１〜５のいずれか一つに記載のファイルアクセス制御プログラム。
（付記７）前記負荷分散手段は、前記選択手段により選択された負荷分散方式に対応する所定の条件に合致するか否かにより点数をノード毎に合計し、合計点数に基づいて、複数のノードのうち合計点数が最も高いノードへ前記アクセス要求を転送することを特徴とする付記３〜５のいずれか一つに記載のファイルアクセス制御プログラム。
（付記８）クライアントからのアクセス要求に応じてファイルにそれぞれアクセスされ、アクセス毎に少なくとも負荷分散情報を出力する複数のノードと、
前記アクセス要求がある毎に前記負荷分散情報に基づいて、前記複数のノードのうち所定の条件を満たすノードへ当該アクセス要求を転送する負荷分散手段と、
を備えたことを特徴とするファイルアクセス制御装置。
（付記９）所定時間毎に、前記負荷分散情報を格納するテーブルに格納された負荷分散情報に応じて複数の負荷分散方式の中から所定の負荷分散方式を選択する選択手段を備え、前記負荷分散手段は、前記選択手段により選択された負荷分散方式に基づいて、当該ノードへ前記アクセス要求を転送することを特徴とする付記８に記載のファイルアクセス制御装置。
（付記１０）クライアントからのアクセス要求に応じてファイルにそれぞれアクセスされ、アクセス毎に少なくとも負荷分散情報を複数のノードからそれぞれ出力させる負荷分散情報出力工程と、前記アクセス要求がある毎に前記負荷分散情報に基づいて、前記複数のノードのうち所定の条件を満たすノードへ当該アクセス要求を転送する負荷分散工程と、
を含むことを特徴とするファイルアクセス制御方法。
（付記１１）所定時間毎に、前記負荷分散情報を格納するテーブルに格納された負荷分散情報に応じて複数の負荷分散方式の中から所定の負荷分散方式を選択する選択工程を含み、前記負荷分散工程では、前記選択工程で選択された負荷分散方式に基づいて、当該ノードへ前記アクセス要求を転送することを特徴とする付記１０に記載のファイルアクセス制御方法。
【００９７】
【発明の効果】
以上説明したように、本発明によれば、ファイル毎のアクセス数が記録されたファイルアクセス数統計テーブルと、ファイルにアクセスする際のアクセス種類毎のアクセス数が記録されたアクセス種類統計テーブルと、ファイルの負荷分散方式を決定するための条件に応じた加算点数が負荷分散方式毎に規定された負荷分散方式毎の点数テーブルとを記憶し、及び、ノードを複数有するファイルサーバが、所定時間毎に、ファイルアクセス数統計テーブルとアクセス種類統計テーブルを読み出し、ファイル毎のアクセス数とアクセス種類毎のアクセス数とから、負荷分散方式を決定し、決定した負荷分散方式に対応する点数テーブルを選択し、クライアントからファイル名を含むファイル共有要求情報と共にファイル共有要求があると、選択された点数テーブルにおける条件に対応する加算点数を、ノード毎の合計点数に加算し、最も合計点数が高いノードを選択し、選択されたノードへ該ファイル共有要求情報を転送し、転送されたファイル共有要求情報に含まれるファイル名を持つファイルにアクセスし、応答情報を生成し、ファイルサーバが、クライアントに生成された応答情報を転送するので、複数のクライアント間で複数のノードにおけるファイルを共有する際の多様なアクセスパターンに対して複雑な設定をすることなく、スケーラビリティおよびノード側の処理効率を高めることができるという効果を奏する。
【００９８】
また、本発明によれば、ノードより負荷分散情報が入力される毎に、負荷分散情報を格納するテーブルを更新するようにしたので、リアルタイムなノードの状況に応じて、負荷分散を行うことができるという効果を奏する。
【００９９】
また、本発明によれば、所定時間毎に、テーブルに格納された負荷分散情報に応じて複数の負荷分散方式の中から所定の負荷分散方式を選択し、選択された負荷分散方式に基づいて、当該ノードへアクセス要求を転送するようにしたので、多様なアクセスパターンに対して柔軟に負荷分散の対応をとることができるという効果を奏する。
【０１００】
また、本発明によれば、ファイル情報に負荷分散情報を付加した応答情報から負荷分散情報を削除し、当該ファイル情報を当該クライアントへ転送するようにしたので、クライアントに対して特別な設定を必要とすることなく、スケーラビリティおよびノード側の処理効率を高めることができるという効果を奏する。
【０１０１】
また、本発明によれば、負荷分散情報に、少なくとも、ノードにおける負荷率、ファイルアクセス数の情報が含まれているため、負荷率、アクセス数を考慮した負荷分散を効率的に行うことができるという効果を奏する。
【０１０２】
また、本発明によれば、負荷分散情報に、少なくとも、各ノードにおけるキャッシュメモリに格納されているファイルの情報が含まれているため、アクセス速度を考慮した負荷分散を効果的に行うことができるという効果を奏する。
【０１０３】
また、本発明によれば、選択手段により選択された負荷分散方式に対応する所定の条件に合致するか否かにより点数をノード毎に合計し、合計点数に基づいて、複数のノードのうち合計点数が最も高いノードへアクセス要求を転送するようにしたので、所定の条件をきめ細かく設定することにより、スケーラビリティをさらに高めることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる一実施の形態の構成を示すブロック図である。
【図２】同一実施の形態におけるファイル共有要求情報７００の一例を示す図である。
【図３】同一実施の形態における各種点数テーブルを示す図である。
【図４】同一実施の形態における各種統計テーブルを示す図である。
【図５】同一実施の形態における各種統計テーブルを示す図である。
【図６】同一実施の形態における各種情報を示す図である。
【図７】同一実施の形態における負荷分散方式選択処理を説明するフローチャートである。
【図８】図１に示した負荷分散部４００の動作を説明するフローチャートである。
【図９】図８に示したファイル共有要求処理を説明するフローチャートである。
【図１０】図８に示したファイル共有応答処理を説明するフローチャートである。
【図１１】同一実施の形態の変形例の構成を示すブロック図である。
【符号の説明】
１００1 〜１００n  クライアント
２００  外部ネットワーク
３００  ファイルサーバ
４００  負荷分散部
４０１  外部ネットワークインタフェース
４０２  制御部
４０３  記憶部
６００0 〜６００m ノード
６０２  データ統合部
６０３  ファイル共有処理部
６０４  負荷監視部
６０５  ファイル処理部
６０７  ディスク
６０８  キャッシュメモリ
６０９  キャッシュ制御部
６１０  ファイル入出力部
【図１】
0004001727.tif 000002
【図２】
0004001727.tif 000003
【図３】
0004001727.tif 000004
【図４】
0004001727.tif 000005
【図５】
0004001727.tif 000006
【図６】
0004001727.tif 000007
【図７】
0004001727.tif 000008
【図８】
0004001727.tif 000009
【図９】
0004001727.tif 000010
【図１０】
0004001727.tif 000011
【図１１】
0004001727.tif 000012