(57)【要約】【課題】あるユーザが新たなファイルを作成する場合などで当該ユーザに対応して設定された総使用可能記憶容量値を超えているか否かを判別するときでも、ファイルサーバの負荷やネットワークの負荷が大きくならない分散ファイルシステムおよびファイル分散配置方法を提供する。【解決手段】各ファイルサーバに、ユーザ毎に設定された総使用可能記憶容量値を基に算出した、各該ファイルサーバの配下の記憶手段で使用可能な記憶容量値を保存するテーブルを設け、各該ファイルサーバにおいて、各該テーブルに保存された記憶容量値と、作成するファイルを構成するサブファイルのうち各上記記憶手段に作成するサブファイルのサイズの合計値とを比較することにより、各該サブファイルの作成可否の判断が可能となり、当該ユーザが作成した他のファイルのメタデータを各上記記憶手段から収集するための各ファイルサーバ間のメタデータの送受信動作が不要になる。【選択図】      図１
2016118951.tif 000002
【特許請求の範囲】
【請求項１】
第１のサーバ内使用可能量保存手段と全体使用可能残量保存手段とを含む第１のファイルサーバと、第２のサーバ内使用可能量保存手段を含む少なくとも１つの第２のファイルサーバと、前記第１のファイルサーバに接続された第１の記憶手段と、前記第２のファイルサーバに接続された第２の記憶手段とから構成され、
前記第１のファイルサーバは、
ユーザ毎に設定された総使用可能記憶容量値を基に、ユーザ毎に前記第１の記憶手段で使用可能な第１の記憶容量値と、ユーザ毎に前記第２の記憶手段で使用可能な第２の記憶容量値とを算出し、前記第１の記憶容量値を各ユーザを識別する情報と対応づけて前記第１のサーバ内使用可能量保存手段に保存し、各前記総使用可能記憶容量値から、ユーザ毎に算出した前記第１および第２の記憶容量値を差し引いた第３の記憶容量値を算出し、該第３の記憶容量値を各ユーザを識別する情報と対応づけて全体使用可能残量保存手段に保存する処理と、
特定のユーザが、所定のサイズの複数のサブファイルからなる新たなファイルを作成するとき、前記第１の記憶手段に作成する少なくとも１つの前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に第４の記憶容量値を算出し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値に該第４の記憶容量値を加えた値で該第１の記憶容量値を更新し、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値未満の場合は、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新する処理と
を実行し、
前記第２のファイルサーバは、
前記第２の記憶手段でユーザ毎に使用可能な前記第２の記憶容量値を、各ユーザを識別する情報と対応づけて前記第２のサーバ内使用可能量保存手段に保存する処理と、
前記特定のユーザが、前記新たなファイルを作成するとき、前記サブファイルのうち、前記第２の記憶手段に作成する少なくとも１つのサブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に算出された第４の記憶容量値を該第２の記憶容量値に加えた値で該第２の記憶容量値を更新し、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値未満の場合は、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新する処理と
を実行する
ことを特徴とする分散ファイルシステム。
【請求項２】
前記第１のファイルサーバは、
前記特定のユーザが新たに作成する前記ファイルのサブファイルのうち、前記第１の記憶手段に作成される少なくとも１つのサブファイルのサイズの合計値を基に、該ユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値と、該ユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値と、該ユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とにそれぞれ対応した第５の記憶容量値を算出する処理と、
前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から該第１の記憶容量値に対応した前記第５の記憶容量値を差し引いた値で該第１の記憶容量値を更新し、前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値から該第３の記憶容量値に対応した前記第５の記憶容量値を差し引いた値で該第３の記憶容量値を更新する処理と、
各前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値に対応した第５の記憶容量値を前記第２のファイルサーバに通知する処理と、
各前記第５の記憶容量値の合計値を前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値に加算した値で該第３の記憶容量値を更新し、該更新した第３の記憶容量値と各前記サブファイルのサイズの合計値とを基に、前記特定のユーザに対応した前記第４の記憶容量値を算出する処理と
を実行し、
前記第２のファイルサーバは、
前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から、前記第１のファイルサーバから通知された前記第５の記憶容量値を差し引いた値で該第２の記憶容量値を更新する処理
を実行する
ことを特徴とする請求項１記載の分散ファイルシステム。
【請求項３】
前記特定のユーザが新たに作成するファイルを所定のサイズの少なくとも１つのサブファイルに分割し、各該サブファイルがそれぞれ作成される各前記記憶手段が接続される前記第１のファイルサーバおよび前記第２のファイルサーバに、各該サブファイルの作成を指示する複数のクライアント端末を備える
ことを特徴とする請求項１または請求項２記載の分散ファイルシステム。
【請求項４】
第１のサーバ内使用可能量保存手段と全体使用可能残量保存手段とを含む第１のファイルサーバと、第２のサーバ内使用可能量保存手段を含む少なくとも１つの第２のファイルサーバと、前記第１のファイルサーバに接続された第１の記憶手段と、前記第２のファイルサーバに接続された第２の記憶手段とから構成された分散ファイルシステムにおいて、
ユーザ毎に設定された総使用可能記憶容量値を基に、ユーザ毎に前記第１の記憶手段で使用可能な第１の記憶容量値と、ユーザ毎に前記第２の記憶手段で使用可能な第２の記憶容量値とを算出し、前記第１の記憶容量値を各ユーザを識別する情報と対応づけて前記第１のサーバ内使用可能量保存手段に保存し、前記第２の記憶容量値を各ユーザを識別する情報と対応づけて前記第２のサーバ内使用可能量保存手段に保存するステップと、
各前記総使用可能記憶容量値から、ユーザ毎に算出した前記第１および前記第２の記憶容量値を差し引いた第３の記憶容量値を算出し、該第３の記憶容量値を各ユーザを識別する情報と対応づけて全体使用可能残量保存手段に保存するステップと、
特定のユーザが、所定のサイズの複数のサブファイルからなる新たなファイルを作成するとき、前記第１の記憶手段に作成する少なくとも１つの前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に第４の記憶容量値を算出し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値に該第４の記憶容量値を加えた値で該第１の記憶容量値を更新し、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値未満の場合は、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するステップと、
前記特定のユーザが、前記新たなファイルを作成するとき、前記サブファイルのうち、前記第２の記憶手段に作成する少なくとも１つのサブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に算出された第４の記憶容量値を該第２の記憶容量値に加えた値で該第２の記憶容量値を更新し、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値未満の場合は、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するステップと
を含む
ことを特徴とするファイル分散配置方法。
【請求項５】
前記特定のユーザが新たに作成する前記ファイルのサブファイルのうち、前記第１の記憶手段に作成される少なくとも１つのサブファイルのサイズの合計値を基に、該ユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値と、該ユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値と、該ユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とにそれぞれ対応した第５の記憶容量値を算出するステップと、
前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から該第１の記憶容量値に対応した前記第５の記憶容量値を差し引いた値で該第１の記憶容量値を更新し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から該第２の記憶容量値に対応した前記第５の記憶容量値を差し引いた値で該第２の記憶容量値を更新し、前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値から該第３の記憶容量値に対応した前記第５の記憶容量値を差し引いた値で該第３の記憶容量値を更新するステップと、
各前記第５の記憶容量値の合計値を前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値に加算した値で該第３の記憶容量値を更新し、該更新した第３の記憶容量値と各前記サブファイルのサイズの合計値とを基に、前記特定のユーザに対応した前記第４の記憶容量値を算出するステップと
を含む
ことを特徴とする請求項４記載のファイル分散配置方法。
【請求項６】
前記特定のユーザが新たに作成するファイルを所定のサイズの少なくとも１つのサブファイルに分割し、各該サブファイルがそれぞれ作成される各前記記憶手段が接続される前記第１のファイルサーバおよび前記第２のファイルサーバに、各該サブファイルの作成を指示するステップを含む
ことを特徴とする請求項４または請求項５記載のファイル分散配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ファイルシステムおよびファイル分散配置方法に関し、特に、総使用可能記憶容量値の超過判定時にもサーバ等に負荷をかけることのない分散ファイルシステムおよびファイル分散配置方法に関する。
【背景技術】
【０００２】
ファイルを複数のサブファイルに分割し、該分割した複数のサブファイルを複数のファイルサーバに接続された記憶装置上に分散して配置する分散ファイルシステムが知られている。
【０００３】
係る分散ファイルシステムにおいては、例えば、ある特定のユーザが、大量のファイルを作成するために記憶装置の容量を大量に使用してしまい、他のユーザがファイルを作成するときに、必要とする容量分の記憶装置を使用することができなくなるというような事態になることを防止するため、ユーザ毎に記憶装置の容量の使用量の上限値など（以下、「クオータ制限値」と言う。）を設定し、該クオータ制限値を基にユーザ毎に記憶装置の使用量の制限を行うようなクオータ機能が実装される。
【０００４】
図６は、係る分散ファイルシステムの一例を示すブロック図である。
【０００５】
図６を参照すると、分散ファイルシステム１は、複数のクライアント端末２−１、２−２および２−３と、複数のファイルサーバ３−１、３−２および３−３と、複数のクライアント端末２−１、２−２および２−３と複数のファイルサーバ３−１、３−２および３−３とを接続する通信ネットワーク５と、複数のファイルサーバ３−１、３−２および３−３と一対一対応に接続された記憶手段４−１、４−２および４−３とから構成される。
【０００６】
ファイルサーバ３−１には、ユーザ毎のクオータ制限値を基に記憶手段４−１乃至４−３の使用量の制限を行うクオータ制御手段６と、各ユーザが作成した各ファイルに対応して作成されるメタデータが配置されている記憶手段を示す情報を、当該ユーザを識別する情報と対応づけて保存するメタデータ格納先テーブル７とを含む。
【０００７】
ここで、メタデータは、対応するファイルの名称、サイズ、作成日時、作成ユーザ名およびアクセス権などの一般的なファイル属性情報に加えて、当該ファイルを後述するように所定のサイズのサブファイルに分割した場合の各サブファイルの配置先記憶手段を示す情報が含まれる。
【０００８】
次に、あるユーザ（例えば、ユーザＺ）が新たなファイル（例えば、ファイルＡおよびファイルＢ）を作成するときの分散ファイルシステム１の動作について説明する。
【０００９】
まず、ユーザＺがファイルＡを作成するとき、ユーザＺは、例えば、クライアント端末２−１の入力手段（図示せず）から、ファイルＡの名称やサイズ等のファイルＡの属性情報を入力し、ファイルＡの作成をクライアント端末２−１に指示する。
【００１０】
クライアント端末２−１は、上記指示に応答して、ファイルＡを所定のサイズのサブファイルＡ−０乃至Ａ−４に分割し、ファイルサーバ３−１にファイルＡに対応するメタデータＡの配置先記憶手段およびサブファイルＡ−０乃至Ａ−４の配置先記憶手段を問い合わせる。
【００１１】
上記問い合わせに応答して、ファイルサーバ３−１のクオータ制御手段６は、メタデータ格納先テーブル７を参照して、ユーザＺが既に作成した他のファイルに対応するメタデータを全て取得し、これから作成するファイルＡのサイズと、ユーザＺが分散ファイルシステム１で使用可能な記憶容量の値、すなわち、ユーザＺに設定されたクオータ制限値から、上記取得した各メタデータに含まれるファイルのサイズの合計値を引いた値（以降、「使用可能記憶容量値」と言う。）とを比較する。
【００１２】
上記比較の結果、作成するファイルＡのサイズがユーザＺの使用可能記憶容量値以上の場合は、クオータ制御手段６はクライアント端末２−１にファイルＡは作成不可である旨の作成不可通知を送り、処理を終了する。また、当該作成不可通知を受け取ったクライアント端末２−１は、ユーザＺに表示手段（図示せず）を介してその旨を通知する。
【００１３】
一方、上記比較の結果、作成するファイルＡのサイズがユーザＺの使用可能記憶容量値未満の場合は、ファイルサーバ３−１は、メタデータ格納先テーブル７を参照しメタデータＡを配置する記憶手段を、記憶手段４−１乃至４−３の中からラウンドロビン方式で決定する。
【００１４】
ここで、メタデータ格納先テーブル７の作成日時を参照すると、ユーザＺにより直近に作成されたファイルに対応するメタデータはファイルサーバ３−３の配下の記憶手段４−３に配置されたものとする。すなわち、今回作成するファイルＡに対応するメタデータＡは、上記ファイルサーバ３−３の次のファイルサーバであるファイルサーバ３−１の配下の記憶手段４−１に配置されることになる。
【００１５】
さらに、ファイルＡのサブファイルＡ−０乃至Ａ−４が配置される記憶手段については、分割したサブファイルのうち先頭のサブファイルをメタデータＡが配置された記憶手段と同じ記憶手段に配置し、その次のサブファイルからはラウンドロビン方式で配置先記憶手段を決定する。すなわち、ファイルＡの先頭のサブファイルＡ−０は、メタデータＡが配置された記憶手段と同じ記憶手段４−１に配置され、次のサブファイルＡ−１は記憶手段４−２に配置され、サブファイルＡ−２は記憶手段４−３に配置され、サブファイルＡ−３は記憶手段４−１に配置され、最後のサブファイルＡ−４は記憶手段４−２に配置されることになる。
【００１６】
ファイルサーバ３−１は、このようにして決定したメタデータＡの配置先記憶手段およびサブファイルＡ−０乃至Ａ−４の配置先記憶手段を示す情報をクライアント端末２−１に通知するとともに、メタデータＡの配置先記憶手段を示す情報とユーザＺを識別する情報とを対応づけてメタデータ格納先テーブル７に保存する。
【００１７】
クライアント端末２−１は、上記ファイルサーバ３−１から受け取った通知に含まれるサブファイルＡ−０乃至Ａ−４の配置先記憶手段を示す情報をメタデータＡに設定する。そして、クライアント端末２−１は、当該配置先記憶手段を示す情報を基に、各配置先の記憶手段が接続される各ファイルサーバに、メタデータＡの作成またはサブファイルＡ−０乃至Ａ−４の作成を依頼する。そして、上記作成依頼を受けた各ファイルサーバは、配下の記憶手段にメタデータＡまたはサブファイルＡ−０乃至Ａ−４を作成する。
【００１８】
次に、ユーザＺがファイルＢを作成するとき、ユーザＺは、例えば、クライアント端末２−１の入力手段（図示せず）から、ファイルＢの名称やサイズ等のファイルＢの属性情報を入力し、ファイルＢの作成をクライアント端末２−１に指示する。
【００１９】
クライアント端末２−１は、上記指示に応答して、ファイルＢを所定のサイズのサブファイルＢ−０およびＢ−１に分割し、ファイルサーバ３−１にファイルＢに対応するメタデータＢの配置先記憶手段、サブファイルＢ−０およびＢ−１の配置先記憶手段を問い合わせる。
【００２０】
上記問い合わせに応答して、ファイルサーバ３−１のクオータ制御手段６は、メタデータ格納先テーブル７を参照して、ユーザＺが既に作成したファイルＡおよびその他のファイルに対応するメタデータを全て取得し、これから作成するファイルＢのサイズと、ユーザＺの使用可能記憶容量値とを比較する。
【００２１】
上記比較の結果、作成するファイルＢのサイズがユーザＺの使用可能記憶容量値以上の場合は、クオータ制御手段６はクライアント端末２−１にファイルＢは作成不可である旨の作成不可通知を送り、処理を終了する。また、当該作成不可通知を受け取ったクライアント端末２−１は、ユーザＺに表示手段（図示せず）を介してその旨を通知する。
【００２２】
一方、上記比較の結果、作成するファイルＢのサイズがユーザＺの使用可能記憶容量値未満の場合は、ファイルサーバ３−１は、メタデータ格納先テーブル７を参照しメタデータＢを配置する記憶手段をラウンドロビン方式で決定する。
【００２３】
すなわち、ユーザＺにより直近に作成されたファイルＡに対応するメタデータＡは、メタデータ格納先テーブル７を参照すると、ファイルサーバ３−１の配下の記憶手段４−１に配置されているので、今回作成するファイルＢに対応するメタデータＢは、次のファイルサーバであるファイルサーバ３−２の配下の記憶手段４−２に配置されることになる。
【００２４】
さらに、ファイルＢのサブファイルＢ−０およびＢ−１が配置される記憶手段については、先頭のサブファイルＢ−０がメタデータＢが配置された記憶手段と同じ記憶手段４−２に配置され、その次のサブファイルＢ−１は、次の記憶手段４−３に配置されることになる。
【００２５】
ファイルサーバ３−１は、このようにして決定したメタデータＢの配置先記憶手段、サブファイルＢ−０およびサブファイルＢ−１の配置先記憶手段を示す情報をクライアント端末２−１に通知するとともに、メタデータＢの配置先記憶手段を示す情報とユーザＺを識別する情報とを対応づけてメタデータ格納先テーブル７に保存する。
【００２６】
クライアント端末２−１は、上記ファイルサーバ３−１から受け取った通知に含まれるサブファイルＢ−０およびサブファイルＢ−１の配置先記憶手段を示す情報をメタデータＢに設定する。そして、クライアント端末２−１は、当該配置先記憶手段を示す情報を基に、各配置先の記憶手段が接続される各ファイルサーバに、メタデータＢの作成、サブファイルＢ−０およびサブファイルＢ−１の作成を依頼する。そして、上記作成依頼を受けた各ファイルサーバは、配下の記憶手段にメタデータＢ、サブファイルＢ−０およびサブファイルＢ−１を作成する。
【００２７】
また、関連技術として、特許文献１には、複数のＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）をクライアント端末から仮想的に単一のＮＡＳに見せるＮＡＳの仮想一元化システムにおいて、ユーザ毎に設定されたディスク使用量の上限値により使用制限を行うクオータ機能で行われる制限値判定を、ユーザのアクセス要求に含まれる書き込みサイズの累計値を利用することにより行うことで、上記複数のＮＡＳに実際にアクセスし各ディスクに書き込まれる実使用量を取得する頻度を削減するための技術が記載されている
特許文献２には、１つの共有記憶装置を複数の計算機で共有する分散処理システムにおいて、各該計算機に対して、それぞれの計算機で独自に管理可能な上記共有記憶装置上のリザーブ記憶領域を割り当て、各計算機は、当該リザーブ記憶領域の範囲内で処理を行うことにより、上記共有記憶装置の記憶領域を一括管理する管理用サブシステムへ集中するアクセスを削減するための技術が記載されている。
【先行技術文献】
【特許文献】
【００２８】
【特許文献１】特開２００５−０５６０１１号公報
【特許文献２】特開２００２−０６３０５２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２９】
しかしながら、図６に示す分散ファイルシステム１では、ユーザＺが作成した複数のファイルにそれぞれ対応した各メタデータは、複数の記憶手段４−１乃至４−３のいずれかに分散配置されているので、ユーザＺが新たなファイルを作成する場合や既存のファイルにデータを書き込む場合などに、クオータ制御手段６が、当該ユーザが使用可能な記憶手段の容量の値を確認するために各メタデータに含まれる情報を収集する必要がある。そのため、各ファイルサーバ間で各メタデータの送受信処理が発生し、各ファイルサーバおよびネットワーク５の負荷が大きくなるという問題点がある。
【００３０】
なお、特許文献１および特許文献２には、ファイルを複数のサブファイルに分割し、各該サブファイルを複数の記憶装置に分散配置する分散ファイルシステムでの、ユーザ毎に設定されたディスク使用量上限値を基にした各記憶装置へのアクセスの削減については、何ら記載されていない。
【００３１】
本発明の目的は、上述した問題点を解決できる分散ファイルシステムおよびファイル分散配置方法を提供することにある。
【課題を解決するための手段】
【００３２】
本発明の分散ファイルシステムは、
第１のサーバ内使用可能量保存手段と全体使用可能残量保存手段とを含む第１のファイルサーバと、第２のサーバ内使用可能量保存手段を含む少なくとも１つの第２のファイルサーバと、前記第１のファイルサーバに接続された第１の記憶手段と、前記第２のファイルサーバに接続された第２の記憶手段とから構成され、
前記第１のファイルサーバは、
ユーザ毎に設定された総使用可能記憶容量値を基に、ユーザ毎に前記第１の記憶手段で使用可能な第１の記憶容量値と、ユーザ毎に前記第２の記憶手段で使用可能な第２の記憶容量値とを算出し、前記第１の記憶容量値を各ユーザを識別する情報と対応づけて前記第１のサーバ内使用可能量保存手段に保存し、各前記総使用可能記憶容量値から、ユーザ毎に算出した前記第１および第２の記憶容量値を差し引いた第３の記憶容量値を算出し、該第３の記憶容量値を各ユーザを識別する情報と対応づけて全体使用可能残量保存手段に保存する処理と、
特定のユーザが、所定のサイズの複数のサブファイルからなる新たなファイルを作成するとき、前記第１の記憶手段に作成する少なくとも１つの前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に第４の記憶容量値を算出し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値に該第４の記憶容量値を加えた値で該第１の記憶容量値を更新し、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値未満の場合は、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新する処理と
を実行し、
前記第２のファイルサーバは、
前記第２の記憶手段でユーザ毎に使用可能な前記第２の記憶容量値を、各ユーザを識別する情報と対応づけて前記第２のサーバ内使用可能量保存手段に保存する処理と、
前記特定のユーザが、前記新たなファイルを作成するとき、前記サブファイルのうち、前記第２の記憶手段に作成する少なくとも１つのサブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に算出された第４の記憶容量値を該第２の記憶容量値に加えた値で該第２の記憶容量値を更新し、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値未満の場合は、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新する処理と
を実行する。
【００３３】
また、本発明のファイル分散配置方法は、
第１のサーバ内使用可能量保存手段と全体使用可能残量保存手段とを含む第１のファイルサーバと、第２のサーバ内使用可能量保存手段を含む少なくとも１つの第２のファイルサーバと、前記第１のファイルサーバに接続された第１の記憶手段と、前記第２のファイルサーバに接続された第２の記憶手段とから構成された分散ファイルシステムにおいて、
ユーザ毎に設定された総使用可能記憶容量値を基に、ユーザ毎に前記第１の記憶手段で使用可能な第１の記憶容量値と、ユーザ毎に前記第２の記憶手段で使用可能な第２の記憶容量値とを算出し、前記第１の記憶容量値を各ユーザを識別する情報と対応づけて前記第１のサーバ内使用可能量保存手段に保存し、前記第２の記憶容量値を各ユーザを識別する情報と対応づけて前記第２のサーバ内使用可能量保存手段に保存するステップと、
各前記総使用可能記憶容量値から、ユーザ毎に算出した前記第１および前記第２の記憶容量値を差し引いた第３の記憶容量値を算出し、該第３の記憶容量値を各ユーザを識別する情報と対応づけて全体使用可能残量保存手段に保存するステップと、
特定のユーザが、所定のサイズの複数のサブファイルからなる新たなファイルを作成するとき、前記第１の記憶手段に作成する少なくとも１つの前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に第４の記憶容量値を算出し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値に該第４の記憶容量値を加えた値で該第１の記憶容量値を更新し、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値未満の場合は、各前記サブファイルを前記第１の記憶手段に作成し、前記特定のユーザに対応して前記第１のサーバ内使用可能量保存手段に保存された第１の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するステップと、
前記特定のユーザが、前記新たなファイルを作成するとき、前記サブファイルのうち、前記第２の記憶手段に作成する少なくとも１つのサブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と前記特定のユーザに対応して前記全体使用可能残量保存手段に保存された第３の記憶容量値とを基に算出された第４の記憶容量値を該第２の記憶容量値に加えた値で該第２の記憶容量値を更新し、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するとともに、各前記サブファイルのサイズの合計値が、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値未満の場合は、各前記サブファイルを前記第２の記憶手段に作成し、前記特定のユーザに対応して前記第２のサーバ内使用可能量保存手段に保存された第２の記憶容量値から各前記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するステップと
を含む
【発明の効果】
【００３４】
本発明には、あるユーザが新たなファイルを作成する場合などで当該ユーザに対応して設定された総使用可能記憶容量値を超えているか否かを判別するときでも、ファイルサーバの負荷やネットワークの負荷が大きくならないという効果がある。
【図面の簡単な説明】
【００３５】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】第１の実施形態でのサブファイルの配置方法を示すブロック図である。
【図３】第１の実施形態の動作を示すフローチャートである。
【図４】第１の実施形態で記憶容量の追加割り当てを行う動作を示すフローチャートである。
【図５】本発明の第２の実施形態を示すブロック図である。
【図６】分散ファイルシステムの一例を示すブロック図である。
【発明を実施するための形態】
【００３６】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００３７】
［第１の実施形態］
図１は本発明の第１の実施形態を示すブロック図である。
【００３８】
図１を参照すると、本実施形態の分散ファイルシステム１０（以降、「本システム」とも言う。）は、複数のクライアント端末２０、２１および２２と、複数のファイルサーバ３０、３１および３２と、複数のクライアント端末２０、２１および２２と複数のファイルサーバ３０、３１および３２とを接続する通信ネットワーク５０と、複数のファイルサーバ３０、３１および３２と一対一対応に接続された記憶手段４０、４１および４２とから構成される。
【００３９】
ファイルサーバ３０は、制御手段３０１と、他のファイルサーバに含まれる送受信手段および各クライアント端末とデータの送受信を行う送受信手段３０５と、サーバ内使用可能量テーブル３０２と、全体使用可能残量テーブル３０３と、メタデータ格納先テーブル３０４とを含む。
【００４０】
また、本システムを利用する各ユーザには、各々を識別するための固有の識別情報が割り当てられている。
【００４１】
サーバ内使用可能量テーブル３０２には、ユーザ毎に算出され、各該ユーザがファイルサーバ３０に接続された記憶手段４０で使用可能な記憶容量値が、各ユーザを識別する情報と対応づけて保存される。
【００４２】
全体使用可能残量テーブル３０３には、ユーザ毎に算出され、各該ユーザが本システムで使用可能な記憶容量値の残分が、上記ユーザを識別する情報と対応づけて保存される。
【００４３】
メタデータ格納先テーブル３０４には、各ファイルに対応して作成されるメタデータが配置されている記憶手段を示す情報が、上記ユーザを識別する情報と対応づけて保存される。
【００４４】
ここで、メタデータは、対応するファイルの名称、サイズ、作成日時、作成ユーザ名およびアクセス権などの一般的なファイル属性情報に加えて、当該ファイルを後述するように所定のサイズのサブファイルに分割した場合の各サブファイルの配置先記憶手段を示す情報が含まれる。
【００４５】
ファイルサーバ３１は、制御手段３１１と、他のファイルサーバに含まれる送受信手段および各クライアント端末とデータの送受信を行う送受信手段３１５と、サーバ内使用可能量テーブル３１２とを含む。
【００４６】
ファイルサーバ３２は、制御手段３２１と、他のファイルサーバに含まれる送受信手段および各クライアント端末とデータの送受信を行う送受信手段３２５と、サーバ内使用可能量テーブル３２２とを含む。
【００４７】
サーバ内使用可能量テーブル３１２には、ユーザ毎に算出され、各該ユーザがファイルサーバ３１に接続された記憶手段４１で使用可能な記憶容量値が、上記ユーザを識別する情報と対応づけて保存される。
【００４８】
サーバ内使用可能量テーブル３２２には、ユーザ毎に算出され、各該ユーザがファイルサーバ３２に接続された記憶手段４２で使用可能な記憶容量値が、上記ユーザを識別する情報と対応づけて保存される。
【００４９】
次に、サーバ内使用可能量テーブル３０２、３１２および３２２と全体使用可能残量テーブル３０３とに初期値を保存するための動作について説明する。
【００５０】
まず、本システムの管理者は、本システムを利用する各ユーザを識別する情報と、各該識別情報と対応づけて設定された本システムで使用できる記憶容量値の上限値である総使用可能記憶容量値（以降、「クオータ制限値」とも言う。）とをクライアント端末２０、２１および２２のうちの一つのクライアント端末の入力手段（図示せず）から入力する。
【００５１】
当該クライアント端末は、上述の各ユーザを識別する情報および各クオータ制限値をファイルサーバ３０に送る。
【００５２】
ファイルサーバ３０の制御手段３０１は、送受信手段３０５を介して上記クライアント端末から受け取った各クオータ制限値を基に、各ユーザが記憶手段４０、４１および４２でそれぞれ使用可能な記憶容量値を、例えば下記の数式（１）により算出する。ここで、Ｎは所定の値とする。
【００５３】
・ユーザ毎のクオータ制限値÷ファイルサーバの台数×（１／Ｎ）・・・（１）
制御手段３０１は、このようにして算出した各ユーザが各記憶手段で使用可能な記憶容量値と、各ユーザを識別する情報とを、送受信手段３０５を介してファイルサーバ３１および３２に送るとともに、記憶手段４０で使用可能な各ユーザの記憶容量値を、各ユーザを識別する情報と対応づけてサーバ内使用可能量テーブル３０２に保存する。
【００５４】
また、上記（１）の数式を用いて算出した各ユーザが各記憶手段で使用可能な記憶容量値をユーザ毎に合計し、該合計した値を各該ユーザに対応づけて設定されたクオータ制限値から差し引いた値を、各該ユーザを識別する情報と対応づけて全体使用可能残量テーブル３０３に保存する。
【００５５】
そして、ファイルサーバ３１および３２の制御手段３１１および３２１は、ファイルサーバ３０から受け取った、各ユーザが各記憶手段で使用可能な記憶容量値を、それぞれサーバ内使用可能量テーブル３１２および３２２に、各ユーザを識別する情報と対応づけて保存する。
【００５６】
次に、あるユーザが新たにファイルの属性情報を入力し、当該ファイルの記憶手段の領域を実際に割り当てる場合の動作について、図２および図３を参照して説明する。なお、以降の説明では、新たなファイルを作成する動作として、属性情報の作成のみならず、当該ファイルの領域を記憶手段に実際に割り当てる動作を含めるものとして記述する。
【００５７】
図２は、本実施形態でのファイルを構成するサブファイルの配置方法を示すブロック図である。
【００５８】
図３は、ファイルサーバの制御手段がファイルを作成する動作を示すフローチャートである。
【００５９】
図２および図３を参照すると、あるユーザが新たなファイルを作成するとき（例えば、ユーザＺがファイルＡを作成するとき）、まず、ユーザＺは、クライアント端末２０の入力手段（図示せず）から、ファイルＡの名称やサイズ等のファイル属性情報を入力し、ファイルＡの作成をクライアント端末２０に指示する。
【００６０】
クライアント端末２０は、上記指示に応答して、ファイルＡを所定のサイズのサブファイルＡ−０乃至Ａ−４に分割し、ファイルＡに対応するメタデータＡの配置先記憶手段および分散して配置するサブファイルＡ−０乃至Ａ−４の配置先記憶手段の問い合わせをファイルサーバ３０に送る。
【００６１】
ファイルサーバ３０の制御手段３０１は、送受信手段３０５を介して上記問い合わせを受け取り、該問い合わせに応答して、メタデータ格納先テーブル３０４を参照し、メタデータＡを配置する記憶手段を、記憶手段４０乃至４２の中からラウンドロビン方式で決定する。
【００６２】
ここでは、ユーザＺにより直近に作成されたあるファイルに対応するメタデータは、メタデータ格納先テーブル３０４を参照すると、例えばファイルサーバ３２の配下の記憶手段４２に配置されたものとする。すなわち、新たに作成するファイルＡに対応するメタデータＡは、上記ファイルサーバ３２の次のファイルサーバであるファイルサーバ３０の配下の記憶手段４０に配置されることになる。
【００６３】
さらに、ファイルＡを構成するサブファイルＡ−０乃至Ａ−４がそれぞれ分散配置される記憶手段については、メタデータＡが配置された記憶手段と同じ記憶手段を、分割したサブファイルのうち先頭のサブファイルの配置先記憶手段とし、その次のサブファイルからはラウンドロビン方式で配置先記憶手段を決定する。すなわち、ファイルＡを構成するサブファイルのうち先頭のサブファイルＡ−０は、メタデータＡが配置された記憶手段と同じ記憶手段４０を配置先記憶手段とし、次のサブファイルＡ−１は記憶手段４０の次の記憶手段である記憶手段４１を配置先記憶手段とし、同様にサブファイルＡ−２は記憶手段４２を配置先記憶手段とし、サブファイルＡ−３は記憶手段４０を配置先記憶手段とし、最後のサブファイルＡ−４は記憶手段４１を配置先記憶手段とすることになる（ステップＳ１００）。
【００６４】
制御手段３０１は、このようにして決定したメタデータＡの配置先記憶手段を示す情報およびサブファイルＡ−０乃至Ａ−４の配置先記憶手段を示す情報を、上記クライアント端末２０からの問い合わせに応答して、送受信手段３０５を介してクライアント端末２０に通知するとともに、メタデータＡの配置先記憶手段（すなわち、記憶手段４０）を示す情報を、ユーザＺを識別する情報と対応づけてメタデータ格納先テーブル３０４に保存する。
【００６５】
クライアント端末２０は、上記制御手段３０１から受け取った通知に含まれるサブファイルＡ−０乃至Ａ−４の配置先記憶手段を示す情報をメタデータＡに設定する。そして、クライアント端末２０は、当該配置先記憶手段を示す情報を基に、メタデータＡのデータまたはサブファイルＡ−０乃至Ａ−４のデータを、各配置先記憶手段が接続される各ファイルサーバに送るとともに、各該ファイルサーバにメタデータＡの作成またはサブファイルＡ−０乃至Ａ−４の作成を依頼する（ステップＳ１０１）。
【００６６】
次に、ファイルサーバ３０の制御手段３０１は、送受信手段３０５を介してクライアント端末２０から受け取った上記作成依頼に応答して、メタデータＡを配下の記憶手段４０に作成する。
【００６７】
また、各ファイルサーバの制御手段３０１、３１１および３２１は、それぞれ送受信手段３０５、３１５および３２５を介してクライアント端末２０から受け取った上記作成依頼に応答して、作成を依頼された少なくとも１つのサブファイルのサイズの合計値と、ユーザＺに対応して各サーバ内使用可能量テーブル３０２、３１２および３２２に保存された、各記憶手段４０、４１および４２でユーザＺが使用可能な記憶容量値とをそれぞれ比較する（ステップＳ１０２）。
【００６８】
上記作成を依頼された少なくとも１つのサブファイルのサイズの合計値が、ユーザＺに対応して上記各サーバ内使用可能量テーブルに保存された、各記憶手段で使用可能な記憶容量値未満の場合は（ステップＳ１０２で「ＹＥＳ」の場合）、当該ファイルサーバの制御手段は、各該サブファイルを配下の記憶手段に作成する（ステップＳ１０３）とともに、当該ファイルサーバに含まれるサーバ内使用可能量テーブルにユーザＺに対応して保存された、当該記憶手段で使用可能な記憶容量値から、上記作成した各サブファイルのサイズの合計値を差し引いた値で、該記憶容量値を更新する（ステップＳ１０４）。
【００６９】
一方、上記作成を依頼された少なくとも１つのサブファイルのサイズの合計値が、ユーザＺに対応して上記各サーバ内使用可能量テーブルに保存された、各記憶手段で使用可能な記憶容量値以上の場合は（ステップＳ１０２で「ＮＯ」の場合）、当該記憶手段にはユーザＺが当該サブファイルを作成するための記憶容量値が足りないということなので、当該ファイルサーバの制御手段は、送受信手段を介してファイルサーバ３０に、ユーザＺに対応する記憶容量値の追加割り当て依頼とともに上記サブファイルのサイズの合計値を送る（ステップＳ１０５）。
【００７０】
上記追加割り当て依頼に応答してファイルサーバ３０から割り当て可能通知を受信した場合は（ステップＳ１０６で「ＹＥＳ」の場合）、当該ファイルサーバの制御手段は、当該ファイルサーバのサーバ内使用可能量テーブルにユーザＺを識別する情報と対応づけて保存された各記憶手段で使用可能な記憶容量値に、上記割り当て通知で通知された新たに割り当てられた記憶容量値を加えた値で、該記憶容量値を更新する（ステップＳ１０７）。
【００７１】
そして、当該制御手段は、クライアント端末２０から作成を依頼された少なくとも１つのサブファイルを、当該ファイルサーバの配下の記憶手段に作成する（ステップＳ１０３）とともに、当該ファイルサーバのサーバ内使用可能量テーブルにユーザＺに対応して保存された、各記憶手段で使用可能な記憶容量値から、上記作成した各サブファイルのサイズの合計値を差し引いた値で、該記憶容量値を更新する（ステップＳ１０４）。
【００７２】
一方、上記追加割り当て依頼に応答してファイルサーバ３０から割り当て不可通知を受信した場合は（ステップＳ１０６で「ＮＯ」の場合）、当該制御手段は、当該サブファイルは作成不可である旨を送受信手段を介してクライアント端末２０に通知する（ステップＳ１０８）。そして、当該サブファイルが作成不可である旨の通知を受け取ったクライアント端末２０は、当該サブファイルからなるファイルＡは作成不可である旨をユーザＺに表示手段（図示せず）を介して通知する。
【００７３】
次に、図３に示すステップＳ１０５での各ファイルサーバからの記憶容量値の追加割り当て依頼を受けて、ファイルサーバ３０の制御手段３０１が行う動作について図４を参照して説明する。
【００７４】
図４は、制御手段３０１が、各ユーザの識別情報と対応づけて全体使用可能残量テーブル３０３に保存されている本システム全体で使用可能な残りの記憶容量値を基に、各該ファイルサーバに記憶容量値の追加割り当てを行う動作を示すフローチャートである。
【００７５】
まず、あるファイルサーバ（ここでは、例えばファイルサーバ３１とする）が、あるクライアント端末（例えば、クライアント端末２０）から作成を依頼された少なくとも１つのサブファイルのサイズの合計値とともに、あるユーザ（例えば、ユーザＺ）に対応する記憶容量値の追加割り当て依頼を送受信手段３１５を介してファイルサーバ３０に送る。
【００７６】
ファイルサーバ３０の制御手段３０１は、送受信手段３０５を介して上記割り当て依頼とともにファイルサーバ３１から受け取った（ステップＳ２００）、作成するサブファイルのサイズの合計値と、ユーザＺを識別する情報と対応づけて全体使用可能残量テーブル３０３に保存されている本システム全体で使用可能な残りの記憶容量値とを比較する（ステップＳ２０１）。
【００７７】
上記作成するサブファイルのサイズの合計値が、全体使用可能残量テーブル３０３に保存されている記憶容量値未満の場合は（ステップＳ２０１で「ＹＥＳ」の場合）、該テーブル３０３に保存されている記憶容量値からファイルサーバ３１へ新たな記憶容量値の割り当てが可能なので、制御手段３０１は、新たに追加で割り当てる記憶容量値を、例えば下記の算出方法（２）または（３）により算出する（ステップＳ２０２）。
【００７８】
算出方法（２）：作成するサブファイルのサイズの合計値（ここでは、「値Ａ」とする）と、本システム全体でユーザＺが使用可能な残りの記憶容量値をファイルサーバの台数で割った値（「値Ｂ」とする）とを比較し、値Ａが値Ｂ以上の場合は、値Ａを新たに追加で割り当てる記憶容量値とする。
【００７９】
算出方法（３）：上記値Ａが上記値Ｂ未満の場合は、値ＡのＮ倍を新たに追加で割り当てる記憶容量値とする。ここで、値Ａ（すなわち作成するサブファイルのサイズの合計値）以上の容量を新たに追加で割り当てる記憶容量値とすることで、次回以降は、ファイルサーバ３１内のサーバ内使用可能量テーブル３１２から必要な記憶容量値を割り当てることができる可能性が高くなり、ファイルサーバ間のデータ送受信量を減らすことができる。ただし、値Ｂを新たに割り当てる値の上限値とする。ここで、Ｎは所定の値とする。
【００８０】
制御手段３０１は、ファイルサーバ３１から受け取った上記割り当て依頼に応答して、割り当て可能通知とともにステップＳ２０２で算出した新たに追加で割り当てる記憶容量値を、送受信手段３０５を介してファイルサーバ３０１に送る（ステップＳ２０３）。
【００８１】
そして、制御手段３０１は、ユーザＺを識別する情報と対応づけて全体使用可能残量テーブル３０３に保存された記憶容量値から、上記ステップＳ２０２で算出した新たに追加で割り当てる記憶容量値を差し引いた値で、該記憶容量値を更新する（ステップＳ２０４）。
【００８２】
一方、上記作成するサブファイルのサイズの合計値が、全体使用可能残量テーブル３０３に保存されている記憶容量値以上の場合は（ステップＳ２０１で「ＮＯ」の場合）、該テーブル３０３に保存されている記憶容量値からファイルサーバ３１への新たな記憶容量値の割り当てが不可能なので、制御手段３０１は、全てのファイルサーバから、ユーザＺが使用可能な各記憶手段の記憶容量値を徴収するために、各ファイルサーバに、記憶容量値をどの程度徴収可能か確認するためのサーバ内使用可能量確認要求を、送受信手段３０５を介して送る。
【００８３】
ファイルサーバ３０から各送受信手段を介して上記サーバ内使用可能量確認要求を受け取った各ファイルサーバの制御手段は、該要求に応答して、各ファイルサーバのサーバ内使用可能量テーブルにユーザＺを識別する情報と対応づけて保存されている記憶容量値を、各送受信手段を介してファイルサーバ３０に送る（ステップＳ２０５）。
【００８４】
ファイルサーバ３０の制御手段３０１は、上記サーバ内使用可能量確認要求に応答して各ファイルサーバから受け取った、ユーザＺが各記憶手段で使用可能な記憶容量値の合計値と、ユーザＺを識別する情報と対応づけてファイルサーバ３０のサーバ内使用可能量テーブル３０２に保存されている記憶容量値と、ユーザＺを識別する情報と対応づけて全体使用可能残量テーブル３０３に保存されている記憶容量値とを合算して、ユーザＺが現在本システムで使用可能な記憶容量値の総合計値を算出する。そして、該総合計値と、ファイルサーバ３１から記憶容量値の追加割り当て依頼とともに受け取った、作成するサブファイルのサイズの合計値とを比較する（ステップＳ２０６）。
【００８５】
上記作成するサブファイルのサイズの合計値が、上記ユーザＺが現在本システムで使用可能な記憶容量値の総合計値未満の場合は（ステップＳ２０６で「ＹＥＳ」の場合）、上記作成するサブファイルを作成するために必要な記憶容量値を確保することが可能なので、制御手段３０１は、各ファイルサーバから徴収する徴収記憶容量値を、例えば以下の算出方法（３）に従い算出する（ステップＳ２０７）。
【００８６】
算出方法（３）：各ファイルサーバから受け取った各記憶手段でユーザＺが使用可能なそれぞれの記憶容量値と、ファイルサーバ３０のサーバ内使用可能量テーブル３０２に保存されているユーザＺが記憶手段４０で使用可能な記憶容量値と、全体使用可能残量テーブル３０３に保存されているユーザＺが本システム全体で使用可能な残りの記憶容量値との、それぞれの割合に応じて、上記作成するサブファイルのサイズの合計値を割り振り、各ファイルサーバから徴収する徴収記憶容量値を算出する。
【００８７】
制御手段３０１は、このようにして算出した各ファイルサーバから徴収する各徴収記憶容量値を、サーバ内使用可能量取得要求とともに送受信手段３０５を介してそれぞれのファイルサーバへ送る。
【００８８】
そして、制御手段３０１は、ステップＳ２０７で自身が含まれるファイルサーバ３０のサーバ内使用可能量テーブル３０２に割り当てられた徴収記憶容量値を、該テーブル３０２に保存されているユーザＺが記憶手段４０で使用可能な記憶容量値から差し引いた値で、該記憶容量値を更新するとともに、ステップＳ２０７で全体使用可能残量テーブル３０３に割り当てられた徴収記憶容量値を、該テーブル３０３に保存されているユーザＺが本システム全体で使用可能な残りの記憶容量値から差し引いた値で、該記憶容量値を更新する。
【００８９】
また、ファイルサーバ３０から各送受信手段を介して上記サーバ内使用可能量取得要求を受け取った各ファイルサーバの制御手段は、各ファイルサーバに含まれるサーバ内使用可能量テーブルにユーザＺを識別する情報と対応づけて保存されている記憶容量値から、当該取得要求にて通知された徴収記憶容量値を差し引いた値で、該記憶容量値を更新するとともに、当該取得要求に応答して、サーバ内使用可能量更新済み通知を送る（ステップＳ２０８）。
【００９０】
全ファイルサーバから送受信手段３０５を介して上記サーバ内使用可能量更新済み通知を受け取ったファイルサーバ３０の制御手段３０１は、ステップＳ２０７で算出した、各ファイルサーバから徴収する徴収記憶容量値の合計値（すなわち、ステップＳ２００でファイルサーバ３１から記憶容量値の追加割り当て依頼とともに受け取った、作成するサブファイルのサイズの合計値と等しい値）を、全体使用可能残量テーブル３０３にユーザＺを識別する情報と対応づけて保存されている記憶容量値に加え、該記憶容量値を更新する（ステップＳ２０９）。
【００９１】
このようにして、ステップＳ２００でファイルサーバ３１から記憶容量値の追加割り当て依頼とともに受け取った、作成するサブファイルのサイズの合計値を、ファイルサーバ３０の全体使用可能残量テーブル３０３にユーザＺを識別する情報と対応づけて保存されている、ユーザＺが本システム全体で使用可能な残りの記憶容量値から割り当てることが可能となる。そこで、制御手段３０１は、ファイルサーバ３１に新たに追加で割り当てる記憶容量値を算出し（ステップＳ２０２）、割り当て可能通知とともに該新たに追加で割り当てる記憶容量値をファイルサーバ３１に送り（ステップＳ２０３）、全体使用可能残量テーブル３０３を更新する（ステップＳ２０４）。
【００９２】
一方、上記作成するサブファイルのサイズの合計値が、ステップＳ２０６で算出したユーザＺが使用可能な記憶容量値の総合計値以上の場合は（ステップＳ２０６で「ＮＯ」の場合）、上記サブファイルを作成するために必要な記憶容量値を確保することが不可能なので、制御手段３０１は、送受信手段３０５を介してファイルサーバ３１に割り当て不可通知を送る（ステップＳ２１０）。
【００９３】
以上、本実施形態には、ユーザＺが新たなファイルを作成する場合などでユーザＺに対応して設定された総使用可能記憶容量値を超えているか否かを判別するときでも、ファイルサーバ３０、３１および３２の負荷やネットワーク５０の負荷が大きくならないという効果がある。
【００９４】
その理由は、ファイルサーバ３０、３１および３２に、ユーザＺに対応して設定された総使用可能記憶容量値を基に算出した、各該ファイルサーバの配下の記憶手段でユーザＺが使用可能な記憶容量値を保存するサーバ内使用可能量テーブル３０２、３１２および３２２を設け、各該ファイルサーバにおいて、各該テーブルに保存された記憶容量値と、ユーザＺが作成するファイルを構成するサブファイルのうち各該ファイルサーバの記憶手段に作成するサブファイルのサイズの合計値とを比較することにより、各該サブファイルの作成可否の判断が可能となり、ユーザＺが既に作成した他のファイルのメタデータを各該ファイルサーバの記憶手段から収集するための各ファイルサーバ間のメタデータの送受信動作が不要になるからである。
【００９５】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。
【００９６】
図５は本発明の第２の実施形態を示すブロック図である。
【００９７】
図５を参照すると、本実施形態の分散ファイルシステム１１は、サーバ内使用可能量テーブル３５２と全体使用可能残量テーブル３５３とを含むファイルサーバ３５と、サーバ内使用可能量テーブル３６２を含むファイルサーバ３６と、サーバ内使用可能量テーブル３７２を含むファイルサーバ３７と、ファイルサーバ３５に接続された記憶手段４５と、ファイルサーバ３６に接続された記憶手段４６と、ファイルサーバ３７に接続された記憶手段４７とから構成される。
【００９８】
ファイルサーバ３５は、ユーザ毎に設定された総使用可能記憶容量値を基に、ユーザ毎に記憶手段４５で使用可能な第１の記憶容量値と、ユーザ毎に記憶手段４６および４７で使用可能な第２の記憶容量値とを算出し、上記第１の記憶容量値を各ユーザを識別する情報と対応づけてサーバ内使用可能量テーブル３５２に保存し、各上記総使用可能記憶容量値から、ユーザ毎に算出した上記第１および第２の記憶容量値を差し引いた第３の記憶容量値を算出し、該第３の記憶容量値を各ユーザを識別する情報と対応づけて全体使用可能残量テーブル３５３に保存する。
【００９９】
そして、ファイルサーバ３５は、特定のユーザが、所定のサイズの複数のサブファイルからなる新たなファイルを作成するとき、記憶手段４５に作成する少なくとも１つの上記サブファイルのサイズの合計値が、上記特定のユーザに対応してサーバ内使用可能量テーブル３５２に保存された第１の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と上記特定のユーザに対応して全体使用可能残量テーブル３５３に保存された第３の記憶容量値とを基に第４の記憶容量値を算出し、上記特定のユーザに対応してサーバ内使用可能量テーブル３５２に保存された第１の記憶容量値に該第４の記憶容量値を加えた値で該第１の記憶容量値を更新し、各上記サブファイルを記憶手段４５に作成し、上記特定のユーザに対応してサーバ内使用可能量テーブル３５２に保存された第１の記憶容量値から各上記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新するとともに、各上記サブファイルのサイズの合計値が、上記特定のユーザに対応してサーバ内使用可能量テーブル３５２に保存された第１の記憶容量値未満の場合は、各上記サブファイルを記憶手段４５に作成し、上記特定のユーザに対応してサーバ内使用可能量テーブル３５２に保存された第１の記憶容量値から各上記サブファイルのサイズの合計値を差し引いた値で該第１の記憶容量値を更新する。
【０１００】
次に、ファイルサーバ３６は、記憶手段４６でユーザ毎に使用可能な上記第２の記憶容量値を、各ユーザを識別する情報と対応づけてサーバ内使用可能量テーブル３６２に保存する。
【０１０１】
そして、ファイルサーバ３６は、上記特定のユーザが上記新たなファイルを作成するとき、上記サブファイルのうち、記憶手段４６に作成する少なくとも１つのサブファイルのサイズの合計値が、上記特定のユーザに対応してサーバ内使用可能量テーブル３６２に保存された第２の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と上記特定のユーザに対応して全体使用可能残量テーブル３５３に保存された第３の記憶容量値とを基に算出された第４の記憶容量値を該第２の記憶容量値に加えた値で該第２の記憶容量値を更新し、各上記サブファイルを記憶手段４６に作成し、上記特定のユーザに対応してサーバ内使用可能量テーブル３６２に保存された第２の記憶容量値から各上記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するとともに、各上記サブファイルのサイズの合計値が、上記特定のユーザに対応してサーバ内使用可能量テーブル３６２に保存された第２の記憶容量値未満の場合は、各上記サブファイルを記憶手段４６に作成し、上記特定のユーザに対応してサーバ内使用可能量テーブル３６２に保存された第２の記憶容量値から各上記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新する。
【０１０２】
次に、ファイルサーバ３７は、記憶手段４７でユーザ毎に使用可能な上記第２の記憶容量値を、各ユーザを識別する情報と対応づけてサーバ内使用可能量テーブル３７２に保存する。
【０１０３】
そして、ファイルサーバ３７は、上記特定のユーザが上記新たなファイルを作成するとき、上記サブファイルのうち、記憶手段４７に作成する少なくとも１つのサブファイルのサイズの合計値が、上記特定のユーザに対応してサーバ内使用可能量テーブル３７２に保存された第２の記憶容量値以上の場合は、各該サブファイルのサイズの合計値と上記特定のユーザに対応して全体使用可能残量テーブル３５３に保存された第３の記憶容量値とを基に算出された第４の記憶容量値を該第２の記憶容量値に加えた値で該第２の記憶容量値を更新し、各上記サブファイルを記憶手段４７に作成し、上記特定のユーザに対応してサーバ内使用可能量テーブル３７２に保存された第２の記憶容量値から各上記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新するとともに、各上記サブファイルのサイズの合計値が、上記特定のユーザに対応してサーバ内使用可能量テーブル３７２に保存された第２の記憶容量値未満の場合は、各上記サブファイルを記憶手段４７に作成し、上記特定のユーザに対応してサーバ内使用可能量テーブル３７２に保存された第２の記憶容量値から各上記サブファイルのサイズの合計値を差し引いた値で該第２の記憶容量値を更新する。
【０１０４】
以上、本実施形態には、第１の実施形態と同様に、特定のユーザが新たなファイルを作成する場合などで当該ユーザに対応して設定された総使用可能記憶容量値を超えているか否かを判別するときでも、ファイルサーバ３５、３６および３７の負荷やネットワーク５１の負荷が大きくならないという効果がある。
【０１０５】
その理由は、ファイルサーバ３５、３６および３７に、特定のユーザに対応して設定された総使用可能記憶容量値を基に算出した、各該ファイルサーバの配下の記憶手段で使用可能な記憶容量値を保存するサーバ内使用可能量テーブル３５２、３６２および３７２を設け、各該ファイルサーバにおいて、各該テーブルに保存された記憶容量値と、上記特定のユーザが作成するファイルを構成するサブファイルのうち各該ファイルサーバの記憶手段に作成するサブファイルのサイズの合計値とを比較することにより、各該サブファイルの作成可否の判断が可能となり、上記特定のユーザが既に作成した他のファイルのメタデータを各該ファイルサーバの記憶手段から収集するための各ファイルサーバ間のメタデータの送受信動作が不要になるからである。
【符号の説明】
【０１０６】
１    分散ファイルシステム
２−１    クライアント端末
２−２    クライアント端末
２−３    クライアント端末
３−１    ファイルサーバ
３−２    ファイルサーバ
３−３    ファイルサーバ
４−１    記憶手段
４−２    記憶手段
４−３    記憶手段
５    ネットワーク
６    クオータ制御手段
７    メタデータ格納先テーブル
１０    分散ファイルシステム
１１    分散ファイルシステム
２０    クライアント端末
２１    クライアント端末
２２    クライアント端末
３０    ファイルサーバ
３１    ファイルサーバ
３２    ファイルサーバ
３５    ファイルサーバ
３６    ファイルサーバ
３７    ファイルサーバ
４０    記憶手段
４１    記憶手段
４２    記憶手段
４５    記憶手段
４６    記憶手段
４７    記憶手段
５０    ネットワーク
５１    ネットワーク
３０１    制御手段
３０２    サーバ内使用可能量テーブル
３０３    全体使用可能残量テーブル
３０４    メタデータ格納先テーブル
３０５    送受信手段
３１１    制御手段
３１２    サーバ内使用可能量テーブル
３１５    送受信手段
３２１    制御手段
３２２    サーバ内使用可能量テーブル
３２５    送受信手段
３５２    サーバ内使用可能量テーブル
３５３    全体使用可能残量テーブル
３６２    サーバ内使用可能量テーブル
３７２    サーバ内使用可能量テーブル
【図１】
2016118951.tif 000003
【図２】
2016118951.tif 000004
【図３】
2016118951.tif 000005
【図４】
2016118951.tif 000006
【図５】
2016118951.tif 000007
【図６】
2016118951.tif 000008