(57)【要約】【課題】複数の記憶装置を含むシステムにおいてファイルアクセスを高速化するために、ファイルごとに記憶装置への割り当てを設定する作業なしでファイルを最適に配置する。【解決手段】ネットワークを介して相互に通信可能に接続されたノードと、前記ノードに接続された記憶装置と、を備えるストレージシステムにおいて、ファイルの属性を検出するファイル属性検出部と、前記ファイルの属性に対応するファイルアクセス規則に関する情報を格納するファイルアクセス規則情報格納部と、前記検出されたファイルの属性に対応する前記ファイルアクセス規則に従って前記記憶装置に対するファイルアクセスを制御するファイルアクセス制御部と、を有するファイルシステムを備える。【選択図】      図１
2005322020.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に通信可能に接続されたノードと、
前記ノードに接続された記憶装置と、を備えるストレージシステムにおいて、
ファイルの属性を検出するファイル属性検出部と、
前記ファイルの属性に対応するファイルアクセス規則に関する情報を格納するファイルアクセス規則情報格納部と、
前記検出されたファイルの属性に対応する前記ファイルアクセス規則に従って前記記憶装置に対するファイルアクセスを制御するファイルアクセス制御部と、を有するファイルシステムを備えることを特徴とするストレージシステム。
【請求項２】
前記ファイルアクセス規則情報格納部は、
前記ファイルアクセス規則を格納するファイルアクセス規則格納部と、
前記ファイルアクセス規則と前記ファイルの属性とを対応させるポリシを格納するファイルアクセス規則選択ポリシ格納部と、を有し、
前記ファイルアクセス制御部は、
前記ファイルアクセス規則選択ポリシ格納部から、前記検出されたファイルの属性に対応する前記ファイルアクセス規則を選択し、
前記ファイルアクセス規則格納部から前記選択されたファイルアクセス規則を読み出し、
前記読み出されたファイルアクセス規則に従って、前記記憶装置に対するファイルアクセスを制御することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記ポリシには、前記ファイルの属性によって定められる優先順位が付され、
前記ファイルアクセス制御部は、前記優先順位が高いポリシによって、前記ファイルの属性と対応付けられる前記ファイルアクセス規則に従って前記記憶装置に対するファイルアクセスを制御することを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記ファイルの属性には、静的ファイル属性及び／又は動的ファイル属性が含まれ、
前記静的ファイル属性には、前記ファイルの属するディレクトリ名、前記ファイルの名前、ファイルサイズ、前記ファイルを所有するユーザ名又は前記ファイルを作成したユーザ名の一以上の属性が含まれ、
前記動的ファイル属性には、前記ファイルにアクセスするプログラム名、前記ファイルにアクセスするプロセスの識別子、前記ファイルにアクセスするユーザ名、前記ファイルへのアクセスの種類又は前記ファイルへのアクセスの単位の一以上の属性が含まれることを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記ファイルアクセス規則には、少なくとも、前記ファイルに割り当てる前記記憶装置を規定する記憶装置割当て規則、ストライプ方法を規定するストライプ規則、ブロックサイズを規定するブロックサイズ規則又はアクセス方法を規定するアクセス規則が含まれることを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記ファイルアクセス規則情報格納部には、グラフィカルユーザインターフェース、システムコール、環境変数又は設定ファイルによって前記情報が追加されることを特徴とする請求項１に記載のストレージシステム。
【請求項７】
ネットワークを介して相互に通信可能に接続されたノードと、
前記ノードに接続された記憶装置と、を備えるストレージシステムに以下の手順を実行させるファイルアクセス制御プログラムであって、
ファイルの属性を検出する第１手順と、
前記ファイルの属性に対応するファイルアクセス規則に関する情報に従って、前記記憶装置に対するファイルアクセスを制御する第２手順と、を含むことを特徴とするファイルアクセス制御プログラム。
【請求項８】
前記ファイルアクセス規則に関する情報には、前記ファイルアクセス規則と前記ファイルの属性とを対応させるポリシが含まれており、
前記第２手順は、
前記ポリシから、前記検出されたファイルの属性に対応する前記ファイルアクセス規則を選択する第３手順と、
前記選択されたファイルアクセス規則を読み出す第４手順と、を含み、
前記読み出されたファイルアクセス規則に従って、前記記憶装置に対するファイルアクセスを制御することを特徴とする請求項７に記載のファイルアクセス制御プログラム。
【請求項９】
前記第３手順は、前記ファイルの属性によって定められ、前記ポリシに付された優先順位を参照し、前記優先順位の高い前記ファイルの属性に対応する前記ファイルアクセス規則を選択することを特徴とする請求項８に記載のファイルアクセス制御プログラム。
【請求項１０】
前記ファイルの属性には、静的ファイル属性及び／又は動的ファイル属性が含まれ、
前記静的ファイル属性には、前記ファイルの属するディレクトリ名、前記ファイルの名前、ファイルサイズ、前記ファイルを所有するユーザ名又は前記ファイルを作成したユーザ名の１以上の属性が含まれ、
前記動的ファイル属性には、前記ファイルにアクセスするプログラム名、前記ファイルにアクセスするプロセスの識別子、前記ファイルにアクセスするユーザ名、前記ファイルへのアクセスの種類又は前記ファイルへのアクセスの単位の１以上の属性が含まれることを特徴とする請求項７に記載のファイルアクセス制御プログラム。
【請求項１１】
前記ファイルアクセス規則には、少なくとも、前記ファイルに割り当てる前記記憶装置を規定する記憶装置割当て規則、ストライプ方法を規定するストライプ規則、ブロックサイズを規定するブロックサイズ規則又はアクセス方法を規定するアクセス規則が含まれることを特徴とする請求項７に記載のファイルアクセス制御プログラム。
【請求項１２】
前記ファイルアクセス規則に関する情報を、グラフィカルユーザインターフェース、システムコール、環境変数又は設定ファイルによって追加する手順を含むことを特徴とする請求項７に記載のファイルアクセス制御プログラム。
【請求項１３】
ネットワークを介して相互に通信可能に接続されたノードと、
前記ノードに接続された記憶装置と、を備えるストレージシステムのファイルアクセス制御方法であって、
ファイルの属性を検出する第１手順と、
前記ファイルの属性に対応するファイルアクセス規則に関する情報に従って、前記記憶装置に対するファイルアクセスを制御する第２手順と、を含むことを特徴とするファイルアクセス制御方法。
【請求項１４】
前記ファイルアクセス規則に関する情報には、前記ファイルアクセス規則と前記ファイルの属性とを対応させるポリシが含まれており、
前記第２手順は、
前記ポリシから、前記検出されたファイルの属性に対応する前記ファイルアクセス規則を選択する第３手順と、
前記選択されたファイルアクセス規則を読み出す第４手順と、を含み、
前記読み出されたファイルアクセス規則に従って、前記記憶装置に対するファイルアクセスを制御することを特徴とする請求項１３に記載のファイルアクセス制御方法。
【請求項１５】
前記第３手順は、前記ファイルの属性によって定められ、前記ポリシに付された優先順位を参照し、前記優先順位の高い前記ファイルの属性に対応する前記ファイルアクセス規則を選択することを特徴とする請求項１４に記載のファイルアクセス制御方法。
【請求項１６】
前記ファイルの属性には、静的ファイル属性及び／又は動的ファイル属性が含まれ、
前記静的ファイル属性には、前記ファイルの属するディレクトリ名、前記ファイルの名前、ファイルサイズ、前記ファイルを所有するユーザ名又は前記ファイルを作成したユーザ名の１以上の属性が含まれ、
前記動的ファイル属性には、前記ファイルにアクセスするプログラム名、前記ファイルにアクセスするプロセスの識別子、前記ファイルにアクセスするユーザ名、前記ファイルへのアクセスの種類又は前記ファイルへのアクセスの単位の１以上の属性が含まれることを特徴とする請求項１３に記載のファイルアクセス制御方法。
【請求項１７】
前記ファイルアクセス規則には、少なくとも、前記ファイルに割り当てる前記記憶装置を規定する記憶装置割当て規則、ストライプ方法を規定するストライプ規則、ブロックサイズを規定するブロックサイズ規則又はアクセス方法を規定するアクセス規則が含まれることを特徴とする請求項１３に記載のファイルアクセス制御方法。
【請求項１８】
前記ファイルアクセス規則に関する情報を、グラフィカルユーザインターフェース、システムコール、環境変数又は設定ファイルによって追加する手順を含むことを特徴とする請求項１３に記載のファイルアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム等に用いられるストレージシステムに関し、特に、複数の記憶装置又は複数の下位ファイルシステムを持つファイルシステムにおけるファイルアクセス制御に関する。
【背景技術】
【０００２】
多数の記憶装置を管理するファイルシステムにおいて、高い総合入出力性能を発揮するためには、複数の記憶装置の並列度及び記憶装置ごとの性能の双方を高める必要がある。例えば、単一の巨大なファイルにアクセスする場合には、一つの装置にファイル全部を割り当ててアクセスするよりも、ファイルを複数のブロックに分割して、それぞれの分割されたブロックを複数の記憶装置に割り当てて、これらの複数の記憶装置を並列にアクセスすると、装置の並列度を生かせるため、ファイルのアクセス性能が向上する。
【０００３】
しかし、記憶装置の数が非常に多い場合には、一つのファイルを必要以上の記憶装置に分割すると、装置あたりの性能効率が悪化する。これは、同一ファイルの複数部分が同一装置に割り当てられている場合には、記憶装置のまとめ書き又は先読み等の機構が機能して性能を高めることができるが、ファイル分割数が多くなると同一装置に割り当てられるブロック数が減り、記憶装置のまとめ書きや先読みの機構が十分に機能しなくなるためである。また、複数のファイルに同時にアクセスする場合、異なるファイルのブロックが同一記憶装置に割り当てられるため、記憶装置内でシークが発生し、記憶装置の性能効率はさらに低下する。
【０００４】
この並列度と性能効率の兼ね合いの問題に対して、ファイルシステム単位で一つのファイルがストライプする幅を固定して制限する方法や、ユーザが各ファイルのディスクへの割り当て情報を詳細に指定し、ファイルアクセスの高速化を行う方法が提案されている。この方法は、ファイルごとに、ユーザがストライプするディスクを指定するものであり、ファイルごとに最適な大きさのブロックに分割して、高速なアクセスを実現する（例えば、特許文献１参照。）。
【０００５】
また、ファイルシステムが静的基準でファイルの割り当て方法を選択する方法も提案されている。この方法は、ファイルのアクセスサイズに適合するブロックサイズが設定された記憶装置を選択するものであり、未使用の記憶領域を小さくすると共に、高速なアクセスを実現する（例えば、特許文献２参照。）。
【特許文献１】特開平１１−１５７２０号公報
【特許文献２】特開２００２−１３２５４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ユーザが各ファイルのディスクへの割り当て情報を詳細に指定する方法は、一度割り当てたファイルを繰り返し利用する定型業務的なシステムでは有効である。しかし、多数の一般利用者が多数の小さなファイルを頻繁に作成、消去するシステムでは、ユーザがファイルを作成する度に具体的なディスク割り当て情報を指定する必要があるため、作業が煩雑になり、実際の運用は困難である。
【０００７】
ファイルシステムが静的基準でファイルの割り当て方法を選択する方法は、ファイルのアクセスサイズという固定された条件からファイルを割り当てる記憶装置を決定しているため、選択条件も装置構成も変更することができない。このため、性能が最大に発揮できるファイルサイズ、同時アクセスファイル数が限定される。
【課題を解決するための手段】
【０００８】
本発明は、ネットワークを介して相互に通信可能に接続されたノードと、前記ノードに接続された記憶装置と、を備えるストレージシステムにおいて、ファイルの属性を検出するファイル属性検出部と、前記ファイルの属性に対応するファイルアクセス規則に関する情報を格納するファイルアクセス規則情報格納部と、前記検出されたファイルの属性に対応する前記ファイルアクセス規則に従って前記記憶装置に対するファイルアクセスを制御するファイルアクセス制御部と、を有するファイルシステムを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ユーザが指定したポリシに従い、ファイルに最適な割り当て方法及びファイルに最適なアクセス方法が自動的に選択される。このため、煩雑な作業を必要とせずに、ユーザに高速なファイルアクセスを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００１１】
図１は、本発明の実施の形態の計算機システムの構成を示すブロック図である。
【００１２】
クライアントノード１ａ〜１ｂは、ネットワーク３を介して、Ｉ／Ｏノード２ａ〜２ｅと通信可能に接続される。各ノードには、記憶装置４ａ〜４ｌが接続される。
【００１３】
ネットワーク３は、例えば、ＬＡＮ（Local Area Network）である。
【００１４】
クライアントノード１ａ及び１ｂは、システムの管理者又はユーザが使用するコンピュータ装置であり、ＣＰＵ（図示省略）、メモリ（図示省略）及びネットワークインターフェース（図示省略）等を備える。クライアントノード１ａのメモリには、ユーザが使用するユーザコマンド又はアプリケーション５、システムの属性等が設定される環境変数又は設定ファイル１８、及び、ファイル管理プログラムであるファイルシステム６ａが格納される。ユーザコマンド又はアプリケーション５は、例えば、ファイルシステム６ａに対して、ファイルへのアクセス命令を出す。
【００１５】
クライアントノード１ｂは、クライアントノード１ａと同様の構成であり、ファイルシステム６ｂが格納される。ファイルシステム６ａ及び６ｂは、ノード１ａ〜１ｂ、２ｂ〜２ｅに接続された記憶装置とＩ／Ｏノード２ａにおいて動作するサブファイルシステム７を管理する。
【００１６】
次に、ファイルシステム６ａの構成について説明する。
【００１７】
ファイル属性検出部５００は、ファイルシステム６ａに含まれるサブプログラムによって構成されており、ユーザコマンド又はアプリケーション５からファイルアクセス命令を受けると、その命令の対象となるファイルに対応するファイル属性６００を検出し、ファイルアクセス制御部１００に渡す。ここで、ファイル属性６００は、例えば、ファイル名、ファイルサイズ、ファイルオーナー名等である（図６、図７参照）。
【００１８】
ファイルアクセス制御部１００は、ファイルシステム６ａに含まれるサブプログラムによって構成されており、ファイルアクセス規則選択制御部２００を含む。ファイルアクセス制御部１００は、ファイル属性検出部５００から受け取ったファイル属性６００をファイルアクセス規則選択制御部２００に渡す。
【００１９】
ファイルアクセス規則選択制御部２００は、ファイルアクセス制御部１００に含まれるサブプログラムによって構成されており、受け取ったファイル属性６００に対して、ファイルアクセス規則テーブル３００及びファイルアクセス規則選択ポリシテーブル４００を適用して合成ファイルアクセス規則１０００を生成し、ファイルアクセス制御部１００に返す。ファイルアクセス制御部１００は、受け取った合成ファイルアクセス規則１０００に従って、ファイル７００の構造定義８００の生成、ファイル領域割り当て及びファイル入出力を行う。
【００２０】
ここで、ファイルアクセス規則は、クライアントノード１がファイルにアクセスする際に適用する規則であり、管理者又はユーザによって予め定義されている。また、ファイルアクセス規則テーブル３００は、定義されたファイルアクセス規則が格納されるテーブルである（図３から図５参照）。
【００２１】
また、ファイルアクセス規則選択ポリシテーブル４００は、ファイル属性６００と、その属性のファイル７００に適用するファイルアクセス規則との対応を規定するテーブルである（図８から図１０参照）。
【００２２】
また、合成ファイルアクセス規則１０００は、ファイル７００へのアクセスの際に実際に適用される規則であり（図１２、図１３参照）、ファイルアクセス規則選択ポリシテーブル４００によって規定されたそのファイル７００のファイル属性６００に対応するファイルアクセス規則を合成して生成される。
【００２３】
なお、ファイルアクセス規則選択制御部２００は、ファイルアクセス規則テーブル３００及びファイルアクセス規則選択ポリシテーブル４００を適用する代わりに、ユーザが環境変数又は設定ファイル１８によって定義したファイルアクセス規則およびファイルアクセス規則選択ポリシを適用してもよい。
【００２４】
Ｉ／Ｏノード２ａ〜２ｅは、クライアントノード１から記憶装置４ｋ〜４ｉへのデータアクセスを処理するコンピュータ装置であり、クライアントノード１と同様のハードウェア構成を有する。クライアントノード１がＩ／Ｏノード２に接続された記憶装置４への入出力命令を発行した場合には、ネットワーク３を介して、対象となる記憶装置４に接続されたノードに命令が転送され、入出力が実行される。ここで、Ｉ／Ｏノード２ａ〜２ｅは、ユーザが直接使用しないため、ユーザコマンド／アプリケーション５は格納されていなくてもよい。また、Ｉ／Ｏノード２ａ〜２ｅは、クライアントノード１のファイルシステム６の管理下にあるため、ファイルシステム６を格納していない。
【００２５】
また、Ｉ／Ｏノード２ａ〜２ｅは、直接接続された記憶装置を管理するサブファイルシステムを備えてもよい。本実施の形態では、Ｉ／Ｏノード２ａがサブファイルシステム（ＳＵＢＦＳ）７を備え、クライアントノード１のファイルシステム６からのファイルアクセス命令を受けて、記憶装置４ｋ及び４ｌへのファイルアクセスを管理する。
【００２６】
記憶装置４ａ〜４ｌは、それぞれが、オペレーティングシステム（図示省略）によって単一の記憶装置と認識される領域（いわゆる、論理ユニット）であり、それぞれが単独の記憶装置（例えば、磁気ディスクドライブ）であっても、それぞれが複数の記憶装置の集合体（例えば、ＲＡＩＤのような磁気ディスクアレイ）であっても、それぞれが単独の記憶装置又は複数の記憶装置の一部であってもよい。
【００２７】
本実施の形態では、ファイルシステム６ａ及び６ｂは、記憶装置４ａ〜４ｊを直接管理し、記憶装置４ｋ、４ｌはサブファイルシステム７経由で管理しているが、全ての記憶装置を直接管理しても良い。また、全てのＩ／Ｏノード２がサブファイルシステム７と同様のサブファイルシステム（図示省略）を備え、全ての記憶装置をこれらのサブファイルシステム経由で管理しても良い。
【００２８】
また、ファイルシステム６がクライアントノード１上になく、Ｉ／Ｏノード２上に配置されてもよい。この場合、クライアントノード１のユーザコマンド又はアプリケーション５が、ネットワーク３を介してＩ／Ｏノード２上のファイルシステム６にファイルアクセス命令を発行し、Ｉ／Ｏノード２上のファイルシステム６が記憶装置４へのファイルアクセスを管理する。
【００２９】
また、ファイルシステム６がクライアントノード１とＩ／Ｏノード２とに分散して配置されてもよい。
【００３０】
また、ファイルシステム６を備えたクライアントノード１の他に、ファイルシステム６を備えないクライアント装置（図示省略）がネットワーク３に接続され、このクライアント装置から、ネットワーク３を介してクライアントノード１のファイルシステム６にファイルアクセス要求をしてもよい。この場合、クライアント装置からファイルアクセス要求を受けたファイルシステム６が記憶装置４へのファイルアクセスを管理する。
【００３１】
以下、クライアントノード１ａ上で動作するファイルシステム６ａ及びユーザコマンド又はアプリケーション５について詳細に説明するが、クライアントノード２ｂ上のファイルシステム６ｂは、ファイルシステム６ａと協調して一つのファイルシステム機能を提供しているため、クライアントノード２ｂ上でもユーザコマンド又はアプリケーション５は同様に動作する。
【００３２】
図２は、本発明の実施の形態のファイル入出力処理の手順の説明図である。
【００３３】
ファイル入出力処理は、管理者又はユーザによるファイルアクセス規則およびファイルアクセス規則選択ポリシの定義、ユーザコマンド又はアプリケーション５によるファイル作成、並びに、ユーザコマンド又はアプリケーション５によるファイル入出力の各ステップからなる。
【００３４】
以下、各ステップに対応する処理の概略を説明する。
【００３５】
管理者又はユーザは、ファイルの割り当て規則又はファイルのアクセス方法を指定するファイルアクセス規則、及び、複数のファイルアクセス規則から目的のファイルに適するファイルアクセス規則を選択するためのファイルアクセス規則選択ポリシを定義し（ステップ２０１、２０２）、グラフィカルユーザインターフェース（ＧＵＩ）、システムコール、環境変数又は設定ファイルを使用してファイルシステムにファイルアクセス規則とファイルアクセス規則選択ポリシを通知する（ステップ２０３、２０４）。
【００３６】
ユーザがファイル７００を作成する場合（ステップ２０５）、ファイル属性検出部５００がファイル７００に関するファイル属性６００を検出し（ステップ２０６）、ファイルアクセス制御部１００に渡す（ステップ２０７）。
【００３７】
ファイルアクセス制御部１００は、ファイルアクセス規則選択制御部２００にファイル属性６００を渡し、ファイルアクセス規則選択制御部２００は、ファイル属性６００に、ファイルアクセス規則テーブル３００及びファイルアクセス規則選択ポリシテーブル４００を適用して、合成ファイルアクセス規則１０００を作成する（ステップ２０８）。ここで、ユーザの環境変数又は設定ファイル１８を適用してもよい。
【００３８】
ファイルアクセス制御部１００は、合成ファイルアクセス規則１０００を使用してファイル構造定義８００およびファイル７００を作成する（ステップ２０９、２１０）。
【００３９】
ユーザがファイル７００に入出力アクセスする場合（ステップ２１１）、ファイル属性検出部５００がファイル７００に関するファイル属性６００を検出し（ステップ２１２）、ファイルアクセス制御部１００に渡す（ステップ２１３）。
【００４０】
ファイルアクセス制御部１００は、ファイルアクセス規則選択制御部２００にファイル属性６００を渡し、ファイルアクセス規則選択制御部２００は、ファイル属性６００に、ファイルアクセス規則テーブル３００及びファイルアクセス規則選択ポリシテーブル４００を適用して、合成ファイルアクセス規則１０００を作成する（ステップ２１４）。ここで、ユーザの環境変数又は設定ファイル１８を適用してもよい。
【００４１】
ファイルアクセス制御部１００は、合成ファイルアクセス規則１０００を使用してファイル入出力を行う（ステップ２１５）。
【００４２】
次に、上記ステップ中のファイルアクセス規則およびファイルアクセス規則テーブル３００について詳しく述べる。
【００４３】
ファイルアクセス規則は、ファイルの記憶装置４への割り当て方法又はファイルへのアクセス方法を指定する規則である。ファイル割り当て方法は、ファイル作成時に適用される規則であり、例えば、記憶領域の割り当て、ストライプ方法及びブロックサイズ等に分類される。
【００４４】
図３は、本発明の実施の形態のファイルアクセス規則テーブル３００の説明図である。
【００４５】
図３において、規則の種類３０１は、ファイルアクセス規則テーブル３００において定義されるファイルアクセス規則の種類を表示する。図３の例では、ファイルアクセス規則は、「記憶領域の割り当て」、「ストライプ方法」、「ブロックサイズ」又は「アクセス方法」の４種類に分類される。
【００４６】
ファイルアクセス規則ＩＤ３０２は、ファイルアクセス規則テーブル３００において定義されるファイルアクセス規則に付される識別子であり、各ファイルアクセス規則に固有の値が付される。
【００４７】
ファイルアクセス規則３０３欄には、ファイルアクセス規則テーブル３００において定義されるファイルアクセス規則の内容が格納されている。
【００４８】
次に、各ファイルアクセス規則３０３について説明する。
【００４９】
規則の種類３０１が「記憶領域の割り当て」に分類されるファイルアクセス規則３０３は、記憶装置４ａ〜４ｊ又はサブファイルシステム７のうち、どの記憶装置又はサブファイルシステムにファイル７００を割り当てるかを指定する。ここで、記憶領域とは、記憶装置４及びサブファイルシステム７を含む概念である。
【００５０】
ファイル７００を割り当てる記憶領域は、複数指定することができる。図３の例では、ファイルアクセス規則ＩＤ３０２が「Ｍ＿Ａ１」、「Ｍ＿Ａ２」及び「Ｍ＿Ａ３」であるファイルアクセス規則３０３が「記憶領域の割り当て」に分類される。
【００５１】
ファイルアクセス規則「Ｍ＿Ａ１」は、「ｒａｎｇｅ＝４ｂ−４ｄ」と定義される（行３０４）。これは、ファイル７００の記憶領域を記憶装置４ｂ、４ｃ及び４ｄに割り当てることを意味する。管理者又はユーザは、パラメータ「４ｂ−４ｄ」を変更することによって、任意の記憶領域を指定することができる。
【００５２】
ファイルアクセス規則「Ｍ＿Ａ２」は、「ｗｉｄｔｈ＝２」と定義される（行３０５）。これは、ファイル７００をいずれか二つの記憶領域に割り当てることを意味する。どの二つの記憶領域に割り当てるかは指定されないため、ファイルシステム６に委ねられる。管理者又はユーザは、パラメータ「２」を変更することによって、任意の数の記憶領域を指定することができる。
【００５３】
ファイルアクセス規則「Ｍ＿Ａ３」は、「ｒａｎｇｅ＝−１」と定義される（行３０６）。これは、ファイル７００を全ての記憶領域に割り当てることを意味する。
【００５４】
ファイルアクセス規則テーブル３００には、ファイルアクセス規則「Ｍ＿Ａ１」、「Ｍ＿Ａ２」及び「Ｍ＿Ａ３」のように、相反する規則を定義して格納することができる。
【００５５】
管理者又はユーザは、上記の「Ｍ＿Ａ１」から「Ｍ＿Ａ３」の他に、パラメータが異なる任意の規則を追加することができる。また、上記の「ｒａｎｇｅ」及び「ｗｉｄｔｈ」以外の方法で記憶領域を指定してもよい。
【００５６】
規則の種類３０１が「ストライプ方法」に分類されるファイルアクセス規則３０３は、ファイル７００を指定された記憶領域に分散して割り当てる単位を指定する。図３の例では、ファイルアクセス規則ＩＤ３０２が「Ｍ＿Ｓ１」及び「Ｍ＿Ｓ２」であるファイルアクセス規則３０３が「ストライプ方法」に分類される。
【００５７】
ファイルアクセス規則「Ｍ＿Ｓ１」は、「ｓｔｒｉｐｅ＝ｂｌｏｃｋ」と定義される（行３０７）。これは、ブロックストライプを指定することを意味する。すなわち、ファイル７００を所定のサイズのブロックに分割し、分割したブロックを上記の「記憶領域の割り当て」に分類されるファイルアクセス規則３０３で指定された記憶領域に分散して割り当てる。ブロックストライプを適用すると、一つのファイルにアクセスする際に複数の記憶領域を並列動作させることができるため、一つのファイルへのアクセス性能が向上する。
【００５８】
ファイルアクセス規則「Ｍ＿Ｓ２」は、「ｓｔｒｉｐｅ＝ｆｉｌｅ」と定義される（行３０８）。これは、ファイルストライプを指定することを意味する。すなわち、ファイル７００が複数ある場合に、これらの複数のファイル７００を、上記の「記憶領域の割り当て」に分類されるファイルアクセス規則３０３で指定された記憶領域に分散して割り当てる。その結果、一つのファイル７００は一つの記憶領域に割り当てられる。例えば、ｎ個（ｎは任意の整数）の記憶領域があり、ｎ個のファイルを生成した場合、各記憶領域に一つずつファイル７００が割り当てられる。ファイルストライプは、同時にアクセスするファイル数が記憶領域の数より多い場合には、ブロックストライプよりアクセス性能が良い。
【００５９】
規則の種類３０１が「ブロックサイズ」に分類されるファイルアクセス規則３０３は、ブロックストライプを適用する場合のブロックのサイズを指定する。図３の例では、ファイルアクセス規則ＩＤ３０２が「Ｍ＿Ｂ１」及び「Ｍ＿Ｂ２」であるファイルアクセス規則３０３が「ブロックサイズ」に分類される。
【００６０】
ファイルアクセス規則「Ｍ＿Ｂ１」は、「ｂｌｏｃｋｓｉｚｅ＝５１２」と定義される（行３０９）。これは、ブロックサイズとして５１２ＫＢを指定することを意味する。
【００６１】
ファイルアクセス規則「Ｍ＿Ｂ２」は、「ｂｌｏｃｋｓｉｚｅ＝２０４８」と定義される（行３１０）。これは、ブロックサイズとして２０４８ＫＢ（すなわち、２ＭＢ）を指定することを意味する。
【００６２】
管理者又はユーザは、上記の「Ｍ＿Ｂ１」及び「Ｍ＿Ｂ２」の他に、任意のブロックサイズを指定した規則を追加することができる。管理者又はユーザは、ファイルを使用するアプリケーションの特性やファイルサイズに適合したブロックサイズを選択することによって、複数の記憶領域の並列度及び単一の記憶領域の性能効率を高めることができる。
【００６３】
規則の種類３０１が「アクセス方法」に分類されるファイルアクセス規則３０３は、ファイル７００の入出力（ファイルアクセス）に関係する規則である。図３の例では、ファイルアクセス規則ＩＤ３０２が「Ｍ＿Ｍ１」、「Ｍ＿Ｍ２」、「Ｍ＿Ｍ３」及び「Ｍ＿Ｍ４」であるファイルアクセス規則３０３が「アクセス方法」に分類される。
【００６４】
ファイルアクセス規則「Ｍ＿Ｍ１」は、「ａｃｃｅｓｓ＝ｓｅｑｕｅｎｔｉａｌ」と定義される（行３１１）。これは、アクセス方法としてシーケンシャルアクセスを指定することを意味する。シーケンシャルアクセスを指定すると、ファイル７００の連続ブロックが記憶領域上に連続して記録される場合が多いため、入出力命令をまとめて発行することによってアクセス性能が向上する。
【００６５】
ファイルアクセス規則「Ｍ＿Ｍ２」は、「ａｃｃｅｓｓ＝ｒａｎｄｏｍ」と定義される（行３１２）。これは、アクセス方法としてランダムアクセスを指定することを意味する。
【００６６】
ファイルアクセス規則「Ｍ＿Ｍ３」は、「ｆｉｌｅ＿ｃａｃｈｅ＝ｔｒｕｅ」と定義される（行３１３）。これは、ファイル７００にアクセスする際にファイルキャッシュを行うことを意味する。
【００６７】
ファイルアクセス規則「Ｍ＿Ｍ４」は、「ｆｉｌｅ＿ｐｒｅ＿ｒｅａｄ＝ｔｒｕｅ」と定義される（行３１４）。これは、ファイル７００にアクセスする際にファイルの先読みを行うことを意味する。
【００６８】
通常は、ファイルキャッシュやファイルの先読みを行うことによってアクセス性能が向上する。しかし、巨大なファイルにアクセスする場合や細かく分散されたファイルにアクセスする場合は、ファイルキャッシュやファイルの先読みによる性能向上の効果が小さい。このような場合は、ファイルキャッシュやファイルの先読みの処理を行わないことによって、処理量を削減し、アクセス性能の劣化を防止することができる。
【００６９】
管理者又はユーザは、上記の「Ｍ＿Ｍ１」から「Ｍ＿Ｍ４」の他に、ファイルアクセスに関する任意の規則を追加することができる。管理者又はユーザは、ファイルアクセスの際に、ファイルアクセスに関する適切な規則を選択することによって、アクセス性能を向上させることができる。
【００７０】
更に、管理者又はユーザは、「記憶領域の割り当て」、「ストライプ方法」、「ブロックサイズ」又は「アクセス方法」以外に分類されるファイルアクセス規則３０３を、ファイルアクセス規則テーブル３００に追加することができる。
【００７１】
前述したように、ファイルアクセス規則テーブル３００には、ファイルアクセス規則ＩＤ３０２とファイルアクセス規則３０３の複数の組み合わせが格納されている。
【００７２】
図４は、本発明の実施の形態において管理者又はユーザがファイルアクセス規則テーブル３００にファイルアクセス規則３０３を設定する手順のフローチャートである。
【００７３】
管理者又はユーザは、ＧＵＩ、システムコール、環境変数又は設定ファイルによって、ファイルアクセス規則テーブル３００にファイルアクセス規則３０３を設定する。
【００７４】
管理者又はユーザは、設定の処理を開始すると（４０１）、設定するファイルアクセス規則３０３の内容を決定し、ＧＵＩ、システムコール、環境変数又は設定ファイルによってその内容をファイルアクセス規則選択制御部２００に通知する（４０２）。
【００７５】
次に、ファイルアクセス規則選択制御部２００は、通知された内容をファイルアクセス規則テーブル３００に登録し（４０３）、処理を終了する（４０４）。
【００７６】
図５は、本発明の実施の形態において管理者又はユーザがファイルアクセス規則テーブル３００にファイルアクセス規則３０３を設定するＧＵＩの例の説明図である。
【００７７】
管理者又はユーザは、クライアントノード１を操作して、ファイルアクセス規則テーブル３００にファイルアクセス規則３０３を設定することができる。この設定の際、クライアントノード１の出力装置（図示省略）には、図５に示すウィンドウが表示される。
【００７８】
このウィンドウには、ファイルアクセス規則ＩＤ入力部５０１、ファイルアクセス規則入力部５０２、登録ボタン５０３及び登録済みアクセス規則表示部５０４が表示される。管理者又はユーザは、ファイルアクセス規則ＩＤ入力部５０１に、設定するファイルアクセス規則３０３に付与するファイルアクセス規則ＩＤ３０２を入力し、ファイルアクセス規則入力部５０２に、設定するファイルアクセス規則３０３を入力する。
【００７９】
次に、登録ボタン５０３を操作（例えば、マウスカーソルを置いてクリック）すると、入力されたＩＤ及び規則の組がファイルアクセス規則テーブル３００に登録される。登録されたファイルアクセス規則ＩＤ３０２及びファイルアクセス規則３０３は、登録済みアクセス規則表示部５０４に一覧表示される。図５の例は、図３のファイルアクセス規則ＩＤ３０２及びファイルアクセス規則３０３が登録された場合を表示する。
【００８０】
次に、ファイル属性６００について説明する。
【００８１】
図６は、本発明の実施の形態のファイル属性６００の内容の説明図である。
【００８２】
図６において、属性の種類６０３は、ファイル属性検出部５００によってファイル７００から検出されるファイル属性６００の種類を表示する。図６の例では、ファイル属性６００は、「静的ファイル属性」６０１又は「動的ファイル属性」６０２の２種類に分類される。ここで、静的ファイル属性６０１は、ファイルを作成したときに決定される属性であり、例えば、ファイル名、ファイルサイズ等が該当する。また、動的ファイル属性６０２は、ファイルアクセスごとに決定される属性であり、例えば、ファイルにアクセスするプログラム名、ファイルにアクセスするユーザ名等が該当する。
【００８３】
ファイル属性項目ＩＤ６０４は、ファイル属性の項目に付される識別子であり、各項目について固有の値が付される。
【００８４】
属性優先度６０５は、ファイル属性の項目に与えられる優先度を表す値である。一般に、一つのファイルは、複数のファイル属性６００を有する。それぞれのファイル属性６００について、相反するファイルアクセス規則３０３が対応している場合に、優先度の高いファイル属性の項目に対応する規則を選択して適用する。図６の例では、属性優先度６０５の値が大きいほど優先度が高い。ファイル属性６００とファイルアクセス規則３０３との対応については図８で、属性優先度６０５を用いたファイルアクセス規則３０３の選択については図１２で、それぞれ詳細に説明する。
【００８５】
ファイル属性項目６０６は、ファイル属性項目ＩＤ６０４に対応するファイル属性の項目を示す。このファイル属性項目６０６に対応する属性が、ファイル属性６００である。
【００８６】
図６の例では、ファイル属性項目ＩＤ「ＡＴ１」に対応するファイル属性項目６０６は「ファイルの属するディレクトリ名」であり、属性優先度６０５は「１」であり、属性の種類６０３は「静的ファイル属性」に分類される（行６０７）。ここで、例えば、ファイルがルートディレクトリの下にある場合、ファイル属性項目「ファイルの属するディレクトリ名」に対応するファイル属性６００は、「／」（すなわち、ルートディレクトリ）となる。
【００８７】
同様にして、ファイル属性項目ＩＤ「ＡＴ２」は、ファイル属性項目「ファイル名」及び属性優先度「２」に対応し、「静的ファイル属性」に分類される（行６０８）。
【００８８】
ファイル属性項目ＩＤ「ＡＴ３」は、ファイル属性項目「ファイルサイズ」及び属性優先度「３」に対応し、「静的ファイル属性」に分類される（行６０９）。
【００８９】
ファイル属性項目ＩＤ「ＡＴ４」は、ファイル属性項目「ファイルオーナー名」（すなわち、ファイルの所有者の名前）及び属性優先度「４」に対応し、「静的ファイル属性」に分類される（行６１０）。
【００９０】
ファイル属性項目ＩＤ「ＡＴ５」は、ファイル属性項目「ファイルオーナーＩＤ」（すなわち、ファイルの所有者に一意に付された識別子）及び属性優先度「５」に対応し、「静的ファイル属性」に分類される（行６１１）。
【００９１】
また、「静的ファイル属性」に分類されるファイル属性項目として、「ファイル作成ユーザ名」（すなわち、ファイルを作成したユーザの名前）があってもよい。
【００９２】
ファイル属性項目ＩＤ「ＡＴ６」は、ファイル属性項目「ファイルアクセスプログラム名」及び属性優先度「６」に対応し、「動的ファイル属性」に分類される（行６１２）。
【００９３】
ファイル属性項目ＩＤ「ＡＴ７」は、ファイル属性項目「ファイルアクセスプロセスＩＤ」及び属性優先度「７」に対応し、「動的ファイル属性」に分類される（行６１３）。
【００９４】
ファイル属性項目ＩＤ「ＡＴ８」は、ファイル属性項目「ファイルアクセスユーザ名」（すなわち、ファイルにアクセスするユーザの名前）及び属性優先度「８」に対応し、「動的ファイル属性」に分類される（行６１４）。
【００９５】
ファイル属性項目ＩＤ「ＡＴ９」は、ファイル属性項目「ファイルアクセスユーザＩＤ」（すなわち、ファイルにアクセスするユーザに一意に付される識別子）及び属性優先度「９」に対応し、「動的ファイル属性」に分類される（行６１５）。
【００９６】
ファイル属性項目ＩＤ「ＡＴ１０」は、ファイル属性項目「ファイルアクセス単位」及び属性優先度「１０」に対応し、「動的ファイル属性」に分類される（行６１６）。
【００９７】
ファイル属性検出部５００は、ファイル属性項目６０６ごとに、ファイルの属性を検出する。管理者又はユーザは、図６に示していないファイル属性項目６０６を新たに追加して、ファイル属性項目ＩＤ６０４及び属性優先度６０５を付することができる。
【００９８】
図７は、本発明の実施の形態のファイル属性検出部５００によって検出されたファイル属性６００の例の説明図である。
【００９９】
図７の例では、プログラム「ｆｆｔ．ｅｘｅ」がディレクトリ「／ｆａｓｔ＿ｔｍｐ」に作成し、「ｙａｍａｄａ」が所有するファイル「ｆｆｔ．ｄａｔ」の属性を示す。
【０１００】
ファイル属性項目ＩＤ７０１は、ファイル属性検出部５００が検出したファイル「ｆｆｔ．ｄａｔ」のファイル属性項目６０６に対応するファイル属性項目ＩＤ６０４を示す。括弧内に、それぞれのファイル属性項目ＩＤ６０４に対応するファイル属性項目６０６を示す。
【０１０１】
ファイル属性値７０２は、ファイル属性検出部５００が検出したファイル「ｆｆｔ．ｄａｔ」のファイル属性６００の値を示す。図７の例では、ファイル属性項目「ファイルの属するディレクトリ名」として、ファイル属性値「／（ルートディレクトリ）」（行７０３）及び「ｆａｓｔ＿ｔｍｐ」（行７０４）が検出される。また、ファイル属性項目「ファイルオーナー名」として、ファイル属性値「ｙａｍａｄａ」が、ファイル属性項目「ファイルアクセスプログラム名」として、ファイル属性値「ｆｆｔ．ｅｘｅ」が、それぞれ検出される。それぞれのファイル属性値７０２と、対応するファイル属性項目ＩＤ７０１の組が、ファイル「ｆｆｔ．ｄａｔ」について検出されたファイル属性６００である。
【０１０２】
なお、図７では、説明のため、ファイル属性検出部５００がファイル属性項目「ファイルの属するディレクトリ名」、「ファイルオーナー名」及び「ファイルアクセスプログラム名」のみについて、ファイル属性値７０２を検出した例を示したが、他のファイル属性項目（例えば、「ファイル名」）についてファイル属性値７０２を検出してもよい。
【０１０３】
次に、ファイルアクセス規則選択ポリシ及びファイルアクセス規則選択ポリシテーブル４００について説明する。
【０１０４】
図８は、本発明の実施の形態のファイルアクセス規則選択ポリシテーブル４００の説明図である。
【０１０５】
ファイルアクセス規則選択ポリシは、ファイル属性６００とファイルアクセス規則との対応を規定する手段である。ファイルアクセス規則選択ポリシテーブル４００には、各ファイル属性６００についてのファイルアクセス規則選択ポリシの内容が格納される。
【０１０６】
図８において、ファイル属性項目ＩＤ８０１は、ファイルアクセス規則選択ポリシテーブル４００によってファイルアクセス規則との対応を規定されるファイル属性６００の項目の識別子であり、図６のファイル属性項目ＩＤ６０４及び図７のファイル属性項目ＩＤ７０１に相当する。括弧内に、それぞれのファイル属性項目ＩＤ６０４に対応するファイル属性項目６０６を示す。
【０１０７】
ファイル属性値８０２は、ファイルアクセス規則選択ポリシテーブル４００によってファイルアクセス規則との対応を規定されるファイル属性６００の値であり、図７のファイル属性値７０２に相当する。
【０１０８】
ファイルアクセス規則ＩＤ８０３は、ファイルアクセス規則選択ポリシテーブル４００によって規定される、ファイル属性６００に対応するファイルアクセス規則である。ファイルアクセス規則ＩＤ８０３は、図３のファイルアクセス規則ＩＤ３０２のうちの一つ又は複数による組み合わせで表現される。
【０１０９】
ファイル属性項目ＩＤ８０１と、対応するファイル属性値８０２及びファイルアクセス規則ＩＤ８０３の組が、ファイルアクセス規則選択ポリシテーブル４００によって規定されるファイルアクセス規則選択ポリシである。
【０１１０】
図８の例では、ファイル属性項目ＩＤ「ＡＴ１（ファイルの属するディレクトリ名）」のファイル属性値「／」には、ファイルアクセス規則ＩＤ「Ｍ＿Ａ３」、「Ｍ＿Ｓ２」、「Ｍ＿Ｂ１」、「Ｍ＿Ｍ２」、「Ｍ＿Ｍ３」及び「Ｍ＿Ｍ４」が対応する（行８０４）。これは、ディレクトリ「／（ルートディレクトリ）」に属するファイル７００には、ストライプ方法として全ての記憶領域を指定したファイルストライプが指定され、ブロックサイズとして５１２ＫＢが指定され、アクセス方法としてランダムアクセスが指定され、アクセス時にファイルキャッシュ及びファイル先読みの実行が指定されることを意味する（図３参照）。
【０１１１】
同様にして、ディレクトリ「／ｈｏｍｅ」に属するファイル７００には、ブロックサイズとして２ＭＢが指定される（行８０５）。ディレクトリ「／ｆａｓｔ＿ｔｍｐ」に属するファイル７００には、ストライプ方法として記憶装置４ｂ、４ｃ及び４ｄを指定したブロックストライプが指定され、ブロックサイズとして２ＭＢが指定され、アクセス方法としてシーケンシャルアクセスが指定され、アクセス時にファイル先読みの実行が指定される（行８０６）。ファイルオーナー名が「ｙａｍａｄａ」であるファイル７００には、割り当て先として、任意の二つの記憶領域が指定される（行８０７）。ファイルアクセスプログラム名が「ｆｆｔ．ｅｘｅ」のときは、ファイルアクセス方法として、シーケンシャルアクセスが指定される（行８０８）。ファイルアクセス単位が２０４８ＫＢから８１９２ＫＢのときは、ブロックサイズとして２ＭＢが指定される（行８０９）。
【０１１２】
図８に示すように、ファイルアクセス規則選択ポリシテーブル４００には、複数のファイルアクセス規則選択ポリシを格納することができる。
【０１１３】
図９は、本発明の実施の形態において管理者又はユーザがファイルアクセス規則選択ポリシテーブル４００にファイルアクセス規則選択ポリシを設定する手順のフローチャートである。
【０１１４】
管理者又はユーザは、ＧＵＩ、システムコール、環境変数又は設定ファイルによって、アクセス規則選択ポリシをファイルアクセス規則選択ポリシテーブル４００に設定する。
【０１１５】
管理者又はユーザは、設定の処理を開始すると（９０１）、設定するファイルアクセス規則選択ポリシの内容を決定し、ＧＵＩ、システムコール、環境変数又は設定ファイルによってその内容をファイルアクセス規則選択制御部２００に通知する（９０２）。
【０１１６】
次に、ファイルアクセス規則選択制御部２００は、通知された内容をファイルアクセス規則選択ポリシテーブル４００に登録し（９０３）、処理を終了する（９０４）。
【０１１７】
図１０は、本発明の実施の形態において管理者又はユーザがファイルアクセス規則選択ポリシテーブル４００にファイルアクセス規則選択ポリシを設定するＧＵＩの例の説明図である。
【０１１８】
管理者又はユーザは、クライアントノード１を操作して、ファイルアクセス規則選択ポリシテーブル４００にファイルアクセス規則選択ポリシを設定することができる。この設定の際、クライアントノード１の入出力装置（図示省略）には、図１０に示すウィンドウが表示される。
【０１１９】
このウィンドウには、ファイル属性項目ＩＤ入力部１００１、ファイル属性値入力部１００２、ファイルアクセス規則ＩＤ入力部１００３、登録ボタン１００４及び登録済みファイルアクセス規則選択ポリシ表示部１００５が表示される。
【０１２０】
管理者又はユーザは、ファイル属性項目ＩＤ入力部１００１に、設定するファイル属性項目ＩＤ８０１を入力し、ファイル属性値入力部１００２に、設定するファイル属性値８０２を入力し、ファイルアクセス規則ＩＤ入力部１００３に、設定するファイルアクセス規則ＩＤ８０３を入力する。
【０１２１】
次に、登録ボタン１００４を操作（例えば、マウスカーソルを置いてクリック）すると、入力されたファイル属性項目ＩＤ８０１、ファイル属性値８０２及びファイルアクセス規則ＩＤ８０３の組（すなわち、ファイルアクセス規則選択ポリシ）がファイルアクセス規則選択ポリシテーブル４００に登録される。登録されたファイルアクセス規則選択ポリシは、登録済みファイルアクセス規則選択ポリシ表示部１００５に一覧表示される。図１０の例は、図８に示すファイルアクセス規則選択ポリシが登録された場合を表示する。
【０１２２】
上記のファイルアクセス規則及びファイルアクセス規則選択ポリシによれば、ファイルの属するディレクトリ名やファイルオーナー名等のファイル属性６００に対して、予めファイルアクセス規則を設定しておくことができる。その結果、ユーザがファイル７００毎に割り当て方法やアクセス方法を設定することなく、最適なファイルアクセス規則を適用することができる。また、管理者又はユーザは、ファイルアクセス規則及びファイルアクセス規則選択ポリシを追加、削除又は変更することができるため、アプリケーションの実行時又はジョブの実行時等に、一時的にファイルアクセス規則及びファイルアクセス規則選択ポリシを指定して、最適な条件でファイルアクセスを行うことが可能である。
【０１２３】
図１１は、本発明の実施の形態のファイルシステム６が実行するファイルアクセス処理の手順を説明するフローチャートである。
【０１２４】
ユーザがファイル７００にアクセスする処理（ファイル７００を作成する処理を含む）を開始すると（１１０１）、ファイルシステム６内のファイルアクセス制御部１００は、ファイル属性検出部５００から、ファイル７００に関するファイル属性６００を受け取る（１１０２）。このファイル属性６００は、ファイル属性検出部５００が検出したものである。
【０１２５】
次に、ファイルアクセス制御部１００がファイルアクセス規則選択制御部２００にファイル属性６００を渡すと、ファイルアクセス規則選択制御部２００は、ファイル属性６００に、ファイルアクセス規則テーブル３００及びファイルアクセス規則選択ポリシテーブル４００を適用して、ファイル属性６００に適合するファイルアクセス規則３０３を選択する（１１０３）。ここで、ユーザの環境変数又は設定ファイル１８を適用してもよい。
【０１２６】
次に、ステップ１１０３において、ファイルアクセス規則選択ポリシテーブル４００から複数のファイルアクセス規則選択ポリシが適用されたか否かを判定する（１１０４）。複数のファイルアクセス規則選択ポリシが適用された場合は、相反するファイルアクセス規則３０３が選択されている可能性があるため、属性優先度６０５を適用して、合成ファイルアクセス規則１０００（すなわち、実際にファイルアクセスに適用されるファイルアクセス規則）を生成し（１１０５）、ステップ１１０６に進む。この合成ファイルアクセス規則１０００の生成については、図１２で詳細に説明する。
【０１２７】
一方、ステップ１１０３において複数のファイルアクセス規則選択ポリシが適用されていない場合は、相反するファイルアクセス規則３０３が選択されている可能性がないため、選択されたファイルアクセス規則３０３を合成ファイルアクセス規則１０００とする。
【０１２８】
次に、ステップ１１０１で開始したアクセスがファイル７００の作成であるか否かを判定する（１１０６）。その結果、アクセスがファイル７００の作成である場合は、合成ファイルアクセス規則１０００を適用して、ファイル７００に割り当てる記憶領域を決定し、決定された記憶領域にファイル７００を格納する（１１０７）。
【０１２９】
一方、アクセスがファイル７００の作成でない場合は、合成ファイルアクセス規則１０００を適用して、記憶領域に格納されているファイル７００にアクセスする（１１０８）。これらのアクセスについては、図１３で詳細に説明する。
【０１３０】
図１２は、本発明の実施の形態の合成ファイルアクセス規則１０００の生成の説明図である。
【０１３１】
これは、図１１のステップ１１０５の処理を説明するものである。
【０１３２】
図１２では、例として、図７と同様に、プログラム「ｆｆｔ．ｅｘｅ」がディレクトリ「／ｆａｓｔ＿ｔｍｐ」に作成し、「ｙａｍａｄａ」が所有するファイル「ｆｆｔ．ｄａｔ」の合成アクセス規則１０００の生成を説明する。
【０１３３】
図１２において、ファイル属性項目ＩＤ１２０２及びファイル属性値１２０３は、それぞれ、図７のファイル属性項目ＩＤ７０１及びファイル属性値７０２と同じである。
【０１３４】
ファイルアクセス規則ＩＤ１２０４は、図１１のステップ１１０３で選択されたものであり、各ファイル属性値１２０３とファイルアクセス規則選択ポリシテーブル４００（図８）とを参照して選択される。
【０１３５】
優先順位１２０１は、ファイル属性項目ＩＤ１２０２に対応する属性優先度６０５（図６）であり、値が大きいものほど優先順位が高い。ここで、ファイル属性項目ＩＤ１２０２が「ＡＴ１」（すなわち、ファイル属性項目が「ファイルの属するディレクトリ名」）である項目が二つある。このように、ディレクトリの階層ごとにファイルアクセス規則３０３が割り当てられている場合は、下位のディレクトリに相当する項目の優先順位を上位とする。
【０１３６】
このように、複数のファイル属性値に対応するファイルアクセス規則３０３が選択された場合は、原則として、選択された全てのファイルアクセス規則３０３を適用する。ただし、相反するファイルアクセス規則３０３が含まれる場合は、優先順位１２０１が高いファイル属性値に対応するファイルアクセス規則３０３が適用される。
【０１３７】
例えば、図１２のファイルアクセス規則ＩＤ１２０４において、行１２０５の「Ｍ＿Ａ３」（全ての記憶領域に割り当て）と、行１２０６の「Ｍ＿Ａ１」（記憶領域４ｂ、４ｃ及び４ｄに割り当て）と、行１２０７の「Ｍ＿Ａ２」（任意の二つの記憶領域に割り当て）とは、相反する。この場合は、最も優先順位１２０１が高い「Ｍ＿Ａ２」を適用する。
【０１３８】
このようにして生成された合成ファイルアクセス規則１０００を、図１２の行１２０９に示す。この例では、任意の二つの記憶領域（Ｍ＿Ａ２）への２ＭＢ単位（Ｍ＿Ｂ２）のブロックストライプ（Ｍ＿Ｓ１）が指定され、アクセス方法としては、ファイルキャッシュ（Ｍ＿Ｍ３）とファイル先読み（Ｍ＿Ｍ４）を有効にしたシーケンシャルアクセス（Ｍ＿Ｍ１）が指定される。
【０１３９】
図１３は、本発明の実施の形態の合成ファイルアクセス規則１０００を適用してファイル７００にアクセスする例の説明図である。
【０１４０】
これは、図１２のファイル「ｆｆｔ．ｄａｔ」に、図１２の行１２０９の合成ファイルアクセス規則１０００を適用する例である。ここで、ファイル７００（すなわち、ファイル「ｆｆｔ．ｄａｔ」）のサイズは、２０ＭＢとする。
【０１４１】
まず、合成ファイルアクセス規則１０００の「Ｍ＿Ａ２」に従って、任意の二つの記憶領域を選択する。図１３の例では、記憶装置４ｃ及び４ｄを選択する。
【０１４２】
次に、「Ｍ＿Ｂ２」に従って、ファイル７００を２ＭＢのブロック１０個に分割する。
【０１４３】
次に、「Ｍ＿Ｓ１」に従って、分割した１０個のブロックを、先頭のブロックから交互に、記憶装置４ｃ及び４ｄに分散して割り当てる。その結果、先頭から、１、３、５、７及び９番目のブロックは記憶装置４ｃに割り当てられ、２、４、６、８及び１０番目のブロックは記憶装置４ｄに割り当てられる。
【０１４４】
次に、「Ｍ＿Ｍ１」に従って、これらのブロックを記憶領域４ｃ及び４ｄ上の連続領域に割り当てる。更に、「Ｍ＿Ｍ３」及び「Ｍ＿Ｍ４」に従って、ファイルキャッシュ及びファイル先読みを適用したアクセスを行う。連続領域に割り当てられたブロックにファイルキャッシュ及びファイル先読みを適用することによって、ファイルアクセスの際の先読み及びまとめ書きが有効に機能し、アクセス性能が向上する。
【０１４５】
また、図１３の例では、ストライプ先を２つの記憶装置４ｃ、４ｄに限定しているため、他のファイルに同時にアクセスする場合にも、記憶装置４の競合確率を下げることができる。
【０１４６】
また、他のファイル７００をファイルストライプで生成する規則を設定することも可能であり、その場合は、ファイルストライプを適用したファイル７００とブロックストライプを適用したファイル７００を一つのファイルシステム６上に生成し、アクセスすることができる。
【０１４７】
以上、本発明のファイルアクセス制御方法によれば、ディレクトリ名やファイルオーナー名に対してファイルアクセス規則を設定しておくことによって、ユーザがファイル毎にファイルの割り当て方法やアクセス規則を設定することなく最適なファイルアクセス規則を適用することができる。その結果、ユーザの利便性を損なうことなく、高速なファイルアクセスを実現することができる。
【０１４８】
また、管理者又はユーザは、ファイルアクセス規則及びファイルアクセス規則選択ポリシを追加、削除又は変更することができるため、アプリケーションやジョブの実行時等に一時的にファイルアクセス規則及びファイルアクセス規則選択ポリシを指定して、最適なアクセスを行うことが可能である。
【０１４９】
また、ファイルストライプのファイルとブロックストライプのファイルを一つのファイルシステム上に生成してアクセスすることが可能であるため、システム運用の柔軟性が増す。
【０１５０】
なお、本実施の形態のファイルシステム６の構成は一例であり、本発明は、本実施の形態とは異なる種々のファイルシステムに適用することができる。本発明は、ノードの台数、ネットワークの種類、記憶装置の種類、記憶装置の数等のハードウェア構成を限定するものではない。本発明の主旨とするところは、ユーザがファイル毎にファイルアクセス方法を指定することなしに、ユーザが設定したファイルアクセス規則選択ポリシを利用して、最適なファイルアクセス方法を選択することにある。
【産業上の利用可能性】
【０１５１】
本発明は、複数の記憶装置を管理するファイルシステムに適用することができ、ファイルアクセス性能及びユーザの利便性の向上に寄与する。
【図面の簡単な説明】
【０１５２】
【図１】本発明の実施の形態の計算機システムの構成を示すブロック図である。
【図２】本発明の実施の形態のファイル入出力処理の手順の説明図である。
【図３】本発明の実施の形態のファイルアクセス規則テーブルの説明図である。
【図４】本発明の実施の形態においてファイルアクセス規則テーブルにファイルアクセス規則を設定する手順のフローチャートである。
【図５】本発明の実施の形態においてファイルアクセス規則テーブルにファイルアクセス規則を設定するＧＵＩの例の説明図である。
【図６】本発明の実施の形態のファイル属性の内容の説明図である。
【図７】本発明の実施の形態のファイル属性検出部によって検出されたファイル属性の例の説明図である。
【図８】本発明の実施の形態のファイルアクセス規則選択ポリシテーブルの説明図である。
【図９】本発明の実施の形態においてファイルアクセス規則選択ポリシテーブルにファイルアクセス規則選択ポリシを設定する手順のフローチャートである。
【図１０】本発明の実施の形態においてファイルアクセス規則選択ポリシテーブルにファイルアクセス規則選択ポリシを設定するＧＵＩの例の説明図である。
【図１１】本発明の実施の形態のファイルシステムが実行するファイルアクセス処理の手順を説明するフローチャートである。
【図１２】本発明の実施の形態の合成ファイルアクセス規則の生成の説明図である。
【図１３】本発明の実施の形態の合成ファイルアクセス規則を適用してファイルにアクセスする例の説明図である。
【符号の説明】
【０１５３】
１  クライアントノード、
２  Ｉ／Ｏノード
３  ネットワーク
４  記憶装置
５  ユーザコマンド又はアプリケーション
６  ファイルシステム（ＦＳ）
７  サブファイルシステム（ＳＵＢＦＳ）
１００  ファイルアクセス制御部
２００  ファイルアクセス規則選択制御部
３００  ファイルアクセス規則テーブル
４００  ファイルアクセス規則選択ポリシテーブル
５００  ファイル属性検出部
６００  ファイル属性
７００  ファイル
８００  ファイル構造定義
１０００  合成ファイルアクセス規則
【図１】
2005322020.tif 000003
【図２】
2005322020.tif 000004
【図３】
2005322020.tif 000005
【図４】
2005322020.tif 000006
【図５】
2005322020.tif 000007
【図６】
2005322020.tif 000008
【図７】
2005322020.tif 000009
【図８】
2005322020.tif 000010
【図９】
2005322020.tif 000011
【図１０】
2005322020.tif 000012
【図１１】
2005322020.tif 000013
【図１２】
2005322020.tif 000014
【図１３】
2005322020.tif 000015