(57)【特許請求の範囲】
【請求項１】
複数のメタデータ・サーバと、複数のクライアントと、複数の記憶プールと、ネットワークとを備え、前記複数のメタデータ・サーバ、前記複数のクライアントおよび前記複数の記憶プールが前記ネットワークを介して通信接続し、前記複数の記憶プールのうち所定の記憶プールが、前記ネットワークを介して前記複数のクライアントが共有するファイルセットから構成される名前空間に関する情報を格納する分散ファイル・システムであって、
少なくとも１つのメタデータ・サーバが、少なくとも１つのゾーンに関するゾーン情報を前記所定の記憶プールに格納するように構成され、各ゾーンが、少なくとも１つのクライアントの識別子、前記名前空間内の少なくとも１つのファイルセットの識別子および少なくとも１つの記憶プールの識別子を関連付け、各ゾーンに関して、前記関連付けられた少なくとも１つのファイルセットおよび少なくとも１つの記憶プールが、当該ゾーンに関連付けられた少なくとも１つのクライアントからアクセス可能であり、
前記少なくとも１つのメタデータ・サーバが、１つの要求元のクライアントからアクセス可能な前記名前空間内のファイルセットに対する要求を当該要求元のクライアントから受け取り、当該要求元のクライアントの識別子を前記ゾーン情報から検索し、当該要求元のクライアントを少なくとも１つのファイルセットおよび少なくとも１つの記憶プールと関連付ける、少なくとも１つのゾーンを決定し、当該決定した少なくとも１つのゾーン内で指示される前記少なくとも１つのファイルセットに関する情報を、当該要求元のクライアントに提供するようにさらに構成され、
前記少なくとも１つのメタデータ・サーバが、少なくとも１つのファイルセット、ファイル・クラス又はクライアントを指定するルール条件と、当該ルール条件が満たされる場合にファイルを格納すべき記憶プールとを識別する、１つのルールを受け取り、当該受け取ったルール条件内で指定されるファイルセットが、当該受け取ったルール内で識別される記憶プールを含む１つのゾーン内に含まれるかどうかを決定し、当該受け取ったルール条件内で指定されるファイルセットが当該受け取ったルール内で識別される記憶プールを含む１つのゾーン内に含まれていないという決定に応答して、当該受け取ったルールを拒絶するようにさらに構成される、分散ファイル・システム。
【請求項２】
複数のゾーンに関連付けられる１つのクライアントが、当該関連付けられた複数のゾーン内にあるファイルセットおよび記憶プールにアクセスできる、請求項１に記載の分散ファイル・システム。
【請求項３】
各クライアントが実行する操作が、当該クライアントを含む前記少なくとも１つのゾーン内にあるファイルセットおよび記憶プールに関するものに制限される、請求項１に記載の分散ファイル・システム。
【請求項４】
前記少なくとも１つのメタデータ・サーバが、前記受け取ったルール内で識別される記憶プールが複数のゾーンに含まれるかどうかを決定し、前記受け取ったルール条件内で指定される少なくとも１つのクライアントが、当該決定した複数のゾーンに含まれるかどうかを決定し、当該少なくとも１つのクライアントが当該決定した複数のゾーンの１つに含まれていないという決定に応答して、前記受け取ったルールを拒絶するようにさらに構成される、請求項１に記載の分散ファイル・システム。
【請求項５】
サービス・クラスが、サービス・レベルを複数の記憶プールおよび複数のゾーンに関連付けし、複数の記憶プールおよびゾーンを１つのサービス・レベルに関連付けできる、請求項１に記載の分散ファイル・システム。
【請求項６】
前記少なくとも１つのメタデータ・サーバが、１つのクライアントからファイル作成要求を受け取り、当該受け取った要求に適用できる１つのサービス・クラスを識別するルールを決定し、当該要求を開始したクライアントに適用できるゾーン内にある当該識別したサービス・クラス内に含まれる少なくとも１つの記憶プールを決定し、当該決定した少なくとも１つの記憶プールの領域内に、前記要求されるファイルを作成するようにさらに構成される、請求項５に記載の分散ファイル・システム。
【請求項７】
前記少なくとも１つのメタデータ・サーバが、
前記ゾーン情報を、前記クライアントと通信接続しているメタデータ・サーバによって維持し、前記メタデータ・サーバが、前記クライアントからアクセスできる前記名前空間内に含まれる前記ファイルセットに関する情報を前記クライアントに提供し、前記メタデータ・サーバが、
１つのクライアントから、ファイル作成要求を受け取るステップと、
前記ファイルを作成すべき少なくとも１つの記憶プールを指示する前記ファイル作成要求に対し、１つのルールを適用するかどうかを決定するステップと、
前記１つのルールを適用するという決定に応答して、当該ルール内で指示される少なくとも１つの記憶プール内にある位置に、前記ファイルを作成するステップとをさらに実行する、請求項１に記載の分散ファイル・システム。
【請求項８】
前記少なくとも１つの記憶プールが、少なくとも１つの記憶装置から構成され、各記憶装置が、１つの記憶プールに含まれるように制限される、請求項１に記載の分散ファイル・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でクライアントからアクセス可能なファイルセットの名前空間を維持する分散ファイル・システムに関係する。
【背景技術】
【０００２】
分散ファイル・システムでは、複数のクライアントが、分散記憶装置上の記憶位置をアドレス指定するグローバル名前空間を共有する。中央サーバが、クライアント用の分散ファイル名前空間を管理する。例えば、複数のサーバ装置から構成されるメタデータサーバ・クラスタは、様々な記憶プールに格納されたクライアント用の分散ファイル・システムのグローバル名前空間を維持できる。グローバル名前空間は、ファイルセットに編成され、これらのファイルセットが、ファイル操作のためにクライアントからアクセス可能なファイル・システムのディレクトリやフォルダを構成する。クライアント側では、グローバル名前空間は、クライアント上で実行するオペレーティング・システムが提供する階層的なファイル・ディレクトリに見える。
【０００３】
メタデータ・サーバは、ファイルセットを作成し、管理し、どの記憶プールにファイルを格納するかを決定するポリシー・ルールを定義するであろう。メタデータ・サーバは、ファイルを作成するときに考慮する、ポリシー・ルールのリストを管理することができる。ルール条件は、ファイル・タイプ、ファイルセット又はクライアント、およびファイルを作成すべき関連付けした記憶プールを指示することができる。メタデータ・サーバは、ポリシー・ルールのリストをスキャンして、どのポリシー・ルールをファイル作成要求に適用するかを決定する。すなわち、どのポリシー・ルールが、ファイル要求のファイル・タイプ、ファイルが作成されるファイルセット、又はファイル要求を開始するクライアントを識別するかを決定する。ルール条件が満たされる場合、当該満たされたポリシー・ルールに関連付けられた記憶プール内にファイルが作成される。メタデータ・サーバを使用する分散ファイル・システムの詳細は、インターナショナル・ビジネス・マシーンズ・コーポレーション（「ＩＢＭ」）発行の「IBM Total Storage: Introducing the SAN File System」、文書番号ＳＧ２４−７０５７−００（２００３年１１月）に説明されている。ここで、ＩＢＭはIBM Corporationの商標である。
【非特許文献１】「IBM Total Storage: Introducing the SAN File System」文書番号ＳＧ２４−７０５７−００、インターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ）発行、２００３年１１月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ネットワーク上でクライアントが共有するファイルセットから構成される名前空間に関する情報を維持する分散ファイル・システムを提供する。
【課題を解決するための手段】
【０００５】
ある実施例では、少なくとも１つのゾーンに関するゾーン情報を維持し、各ゾーンが、少なくとも１つのクライアント、少なくとも１つのファイルセット、および少なくとも１つの記憶プールに関連付けられる。１つのゾーンについて、関連付けした少なくとも１つのファイルセットおよび少なくとも１つの記憶プールは、少なくとも１つのクライアントからアクセス可能である。クライアントには、名前空間内に含まれるファイルセットに関する情報が提供され、複数のクライアントの各々が、当該クライアントを含む少なくとも１つのゾーン内にある、当該クライアントに関連付けられる少なくとも１つのファイルセットに関する情報を受け取る。
【発明を実施するための最良の形態】
【０００６】
以下、添付図面を参照して、本発明のいくつかの実施例を詳述する。図面において、同じ参照番号は、全体を通して同じ部分を表す。
【０００７】
図１は、実施例に従う分散ファイル・システムのコンピューティング環境を図示する。メタデータ・クラスタ２は、複数のメタデータ・エンジン４ａ〜４ｎを含む。メタデータ・エンジン４ａ〜４ｎは、記憶プール８ａ〜８ｎ内に格納されるファイルを参照するグローバル名前空間を管理するための、メタデータ・サーバ（プログラム）６ａ〜６ｎを含む。メタデータ・クラスタ２は、グローバル名前空間内に定義される、ファイルセットへのクライアント１０ａ〜１０ｎのアクセスを管理する。各クライアント１０ａ〜１０ｎは、当該クライアントがアクセスできるグローバル名前空間内のファイルセットに当該クライアントをインターフェースするための、クライアント仮想ファイル・システム１２ａ〜１２ｎを含む。メタデータ・クラスタ２、クライアント１０ａ〜１０ｎ、および記憶プール８ａ〜８ｎは、ネットワーク１４で通信接続している。変数「ｎ」は、任意のエレメントの数を示し、異なるエレメントで使用する場合には異なる値を取ることがある。
【０００８】
メタデータ・エンジン４ａ〜４ｎは、サーバ・クラスのシステムから構成することができる。各メタデータ・エンジン４ａ〜４ｎは、グローバル名前空間内の特定のファイルセットを処理するように割り当てられ、そのためグローバル名前空間の作業負荷は、メタデータ・エンジン４ａ〜４ｎの全体に分散される。クライアント１０ａ〜１０ｎ側からは、ファイルセットは、階層ファイル・システムの標準的なディレクトリおよびフォルダに見える。メタデータ・サーバ６ａ〜６ｎは、グローバル名前空間の管理操作を実行して、クライアント１０ａ〜１０ｎがアクセスするファイルセットに関する情報から構成されるファイル・メタデータと、記憶管理ルールのポリシー・ルール・データベース１６およびゾーン定義１８を含む、ファイルセットに関するシステム・メタデータとを維持する。
【０００９】
クライアント仮想ファイル・システム１２ａ〜１２ｎは、ゾーン定義１８内で定義されるゾーンに従いクライアント１０ａ〜１０ｎがアクセスできる、ファイルセットをマウントする。記憶プール８ａ〜８ｎは、記憶装置内のボリュームの集合体である。ある実施例では、システム・プール８ａは、名前空間メタデータ（例えば、ファイル・メタデータおよびシステム・メタデータ）を格納する、記憶装置から構成される。ある実施例では、ユーザ・プール８ｂ〜８ｎは、メタデータ・クラスタ２が管理するファイルセット内にユーザ・データを格納する、記憶装置から構成される。記憶プール８ａ〜８ｎに割り当てられる記憶装置は、直接アクセス記憶装置（Direct Access Storage Device：ＤＡＳＤ）、単純ディスク束（Just a Bunch of Disks：ＪＢＯＤ）、独立ディスク冗長アレイ（Redundant Array of Independent Disks：ＲＡＩＤ）、仮想デバイス、テープ記憶装置、光ディスク記憶装置等の、当分野で周知の記憶システムから構成することができる。クライアント１０ａ〜１０ｎは、ワークステーション、デスクトップ・コンピュータ、サーバ、メインフレーム、携帯型コンピュータ、電話機等の、当分野で周知のコンピューティング・デバイスから構成される。ネットワーク１４は、ローカル・エリア・ネットワーク（Local Area Network：ＬＡＮ）、ストレージ・エリア・ネットワーク（Storage Area Network：ＳＡＮ）、広域ネットワーク（Wide Area Network：ＷＡＮ）、インフィニバンド（InfiniBand）（Ｒ）、無線ネットワーク等の、当分野で周知のネットワークから構成される。
【００１０】
図２は、記憶プール５４ａ〜５４ｎ（例えば、ユーザ・プール８ｂ〜８ｎ）にマッピングする複数のファイルセット５２ａ〜５２ｎから構成されるグローバル名前空間５０、すなわち分散ファイル・システムの図を示す。前述のように、記憶プール５４ａ〜５４ｎは、ネットワーク１４に接続される記憶システムおよび記憶装置から構成され、グローバル名前空間５０内にファイルセット５２ａ〜５２ｎを格納する。１つのファイルセット、例えば５２ｂは、複数の記憶プール、例えば５４ｂ、５４ｃにマッピングでき、複数のファイルセット、例えば５２ａ、５２ｂは、同じ記憶プール、例えば５４ｂにマッピングすることができる。
【００１１】
図３は、ゾーン定義１８内のあるゾーン用のゾーン・メタデータ７０を図示する。ゾーン・メタデータ７０は、名前や番号等のゾーン識別子７２と、そのゾーン７２に割り当てられる記憶プール７４と、そのゾーンに割り当てられるクライアント７６と、そのゾーンに割り当てられるファイルセット７８とを含むことができる。各ゾーンは、少なくとも１つのクライアント、少なくとも１つのファイルセット、および少なくとも１つの記憶プールに関連付けられる。記憶プールは、１つ以上の記憶装置又はシステムから構成される。このゾーンの関連付けによれば、関連付けした少なくとも１つのファイルセットおよび少なくとも１つの記憶装置は、少なくとも１つのクライアントからアクセス可能である。ある実施例では、あるクライアント１０ａ〜１０ｎを複数のゾーンに関連付けして、当該クライアントが関連付けしたゾーンのファイルセットおよび記憶プールにアクセスできるようにすることができる。また、クライアント１０ａ〜１０ｎは、当該クライアントを含むゾーン内のファイルセットおよび記憶装置に関する操作に限って実行できる。
【００１２】
図４は、ゾーン定義１８を維持するために、メタデータ・サーバ６ａ〜６ｎが実行する操作を図示する。クライアント、ファイルセット、又は記憶プールの関連付けを構成するゾーン定義を受け取ると（ブロック１００）、メタデータ・サーバ６ａ〜６ｎは、ゾーン・メタデータ・エントリ７０をゾーン定義１８に追加する（ブロック１０２）。あるゾーンへの、クライアント１０ａ〜１０ｎ、記憶プール８ｂ〜８ｎ、およびファイルセット５２ａ〜５２ｎの割り当てを受け取ると（ブロック１０４）、更新すべきゾーン用のゾーン・メタデータ７０がすでにある場合（ブロック１０６）、メタデータ・サーバ６ａ〜６ｎは、当該ゾーンに割り当てられた記憶プール、クライアント、又はファイルセットを用いて、ゾーン・メタデータ７０を更新する（ブロック１０８）。割り当てが行われる操作ゾーンが定義されていない場合（ブロック１０６）、エラーを返す（ブロック１１０）。
【００１３】
図５は、名前空間５０内に含まれるファイルセット５２ａ〜５２ｎに関する情報をクライアント１０ａ〜１０ｎに提供するために、メタデータ・サーバ６ａ〜６ｎが実行する操作を図示する。クライアント１０ａ〜１０ｎの各々は、当該クライアントを含む少なくとも１つのゾーン内にある、当該クライアント１０ａ〜１０ｎに関連付けられる少なくとも１つのファイルセット５２ａ〜５２ｎに関する情報を受け取る。クライアントからアクセス可能なグローバル名前空間内のファイルセット用の要求を、クライアント仮想ファイル・システム１２ａ〜１２ｎから受け取ると（ブロック１５０）、メタデータ・サーバ６ａ〜６ｎは、ゾーン定義１８（図１）を処理して、要求元のクライアント１０ａ〜１０ｎを含むものを決定する（ブロック１５２）。メタデータ・サーバ６ａ〜６ｎは、要求元のクライアント１０ａ〜１０ｎを含む、決定された各ゾーンに割り当てられたファイルセット５２ａ〜５２ｎを決定する（ブロック１５４）。決定されたファイルセットに関するメタデータを要求元のクライアント仮想ファイル・システム１２ａ〜１２ｎに返して、要求元のクライアントが、決定されたファイルセット内に含まれる名前空間の部分を閲覧したり、アクセスできるようにする（ブロック１５６）。仮想ファイル・システム１２ａ〜１２ｎは、このファイルセット情報を、階層的に配列されたディレクトリおよびファイルを含む、階層ファイル・システムのフォーマットでレンダリングすることができる。メタデータ・サーバ６ａ〜６ｎは、このファイルセット情報の更新に応答して、クライアントに割り当てられたファイルセット５２ａ〜５２ｎに関する情報を、クライアント仮想ファイル・システム１２ａ〜１２ｎに提供することができる。
【００１４】
別の実施例では、メタデータ・サーバ６ａ〜６ｎは、クライアントがグローバル名前空間５０に対する要求を行うときに当該クライアントに応答して、ファイルセット５２ａ〜５２ｎに関する情報をクライアント仮想ファイル・システム１２ａ〜１２ｎに提供することができる。かかる実施例では、メタデータ・サーバ６ａ〜６ｎは、要求されるファイル（又はファイルセット）が存在しないという指示を返し、それによって使用禁止領域にアクセスが試みられるときにエラーを返すことによって、クライアントに関連付けられたファイル操作ゾーン内にない名前空間５０の部分へのアクセスを拒否することができる。
【００１５】
図６は、ルール条件１７２および記憶ルール１７４を指定する、ポリシー・ルール１７０を図示する。ルール条件１７２は、ファイルセット、ファイル・クラス（ファイル・タイプ、ファイル拡張子等）、又はクライアント１０ａ〜１０ｎを指示する。記憶位置１７４は、ルール条件１７２を満たすように作成されたファイルを格納すべき記憶プール又はサービス・クラスを指示する。
【００１６】
図７は、金、銀、銅等の、ネットワークのユーザに提供すべきサービスのレベルに関する、サービス・クラス１８０情報を図示する。例えば、顧客、すなわちクライアント１０ａ〜１０ｎは、（メタデータ・クラスタ２および記憶プール８ａ〜８ｎを含む）ネットワーク１４を維持するストレージ・サービス・プロバイダとの間で、ネットワーク・ストレージ資源を提供する基準に関するサービス品質保証契約（Service Level agreement：ＳＬＡ）を締結することができる。異なるサービス・レベルによって差異を設けるストレージ基準は、記憶容量、ネットワーク・スループット、Ｉ／Ｏ応答時間、１秒当たりのＩ／Ｏ操作回数、およびネットワーク資源を提供するその他の性能基準を含むことができる。ある状況では、それぞれのサービス品質保証契約に指定される要件のレベルが異なる複数の顧客、すなわちクライアント１０ａ〜１０ｎが、同じネットワーク資源（例えば、ファイルセットおよび記憶プール）を共有する。このためには、ストレージサービス・プロバイダは、異なるサービス品質保証契約に指定される異なる顧客の要件を満たすことを保証するように、ネットワーク資源を監視および管理しなければならない。
【００１７】
図７のサービス・クラス１８０情報は、金、銀、銅等のサービス・レベル１８２と、サービス・クラス１８０のメンバが使用する記憶プール１８４を図示する。例えば、サービス・レベルの高い記憶プール１８４は、スループットが高く、アクセスが速く、信頼性と可用性が高いであろう。ある実施例では、サービス・レベル１８２に関連付けられる記憶装置又は記憶プール１８４は、複数のゾーン内に含めることができる。ゾーン１８６は、記憶プール１８４が含まれるゾーンを指示する。あるサービス・レベルに関連付けられる様々な記憶プールが様々なゾーン内にある場合、サービス・レベル／記憶プール／ゾーンの３組の情報が異なれば、サービスクラス・エントリ１８０は異なるであろう。クライアント仮想ファイル・システム１２ａ〜１２ｎが、指定されたサービス・レベルでファイルセット内にファイルを作成するための要求を出すと、このファイルは、当該指定されたサービス・レベルに関連付けられた記憶プール内に作成され、当該作成されたファイル又はクライアントを含むファイルセットに関連付けられたゾーン１８６に作成されることになるであろう。ポリシー・ルールによってどのサービス・レベル又はプールも選ばれていない場合、当該ファイルを作成するファイルセットのゾーンに基づいてデフォルトのサービス・レベル又はプールが選択される。ある実施例では、ファイルセットおよび記憶プールは１つだけのゾーンに属すことができるため、サービス・クラス１８０情報は、１つだけの記憶プールを１つのゾーンに関連付けし、複数のゾーンおよび対応する記憶プールを１つのサービス・レベルに関連付けできる。別の実施例では、記憶プールは、単一サービス・レベル内で複数のゾーンに属することができるため、１つのサービス・レベルを複数のゾーンに含まれる記憶プールにマッピングする。
【００１８】
図８は、ポリシー・ルール・データベース１６に追加するように実行依頼中の新しいポリシー・ルール１７０がゾーン要件に適合するかどうかを決定するために、メタデータ・サーバ６ａ〜６ｎが実行する操作を図示する。ポリシー・ルール１７０の定義を受け取ると（ブロック２００）、記憶位置１７４がサービス・クラス１８０を指定しており（ブロック２０２）、そのため、ルール条件１７２を満たすファイルを特定のサービス・レベル１８２に関連付けられる記憶プール１８４（図８）に格納する場合には、当該ポリシー・ルールがゾーン要件に適合しているため、当該ポリシー・ルールを受け入れて（ブロック２０４）、ポリシー・ルール・データベース１６に追加する。サービス・クラス１８０の記憶位置を有するポリシー・ルール１７０は、要件を満たす。というのは、サービス・クラス１８０は、複数のゾーンに渡る記憶プール８ａ〜８ｎを指定することを許容されているからである。ポリシー・ルール１７０がサービス・クラスの記憶位置１７４を指定していない場合（ブロック２０２）、受け取ったポリシー・ルール内に指示される記憶位置１７４を含む、１つ以上のゾーンを決定する（ブロック２０６）。これらの記憶位置は、記憶プール又は記憶装置を構成することができる。
【００１９】
ルール条件１７２が１つ以上のクライアント１０ａ〜１０ｎを指定し（ブロック２０８）、しかも受け取ったポリシー・ルールが複数のゾーン内の記憶位置１７４を指定する場合（ブロック２１０）、ルール条件１７２内で指定されたクライアント１０ａ〜１０ｎが記憶位置１７４を含む決定されたゾーンのすべてにあるかどうかを決定する（ブロック２１２）。そうであれば、制御はブロック２０４に進んで、ポリシー・ルールを受け入れる。というのは、ルール条件１７２を適用するクライアントが、当該クライアントからのファイルが書き込まれる記憶位置１７４を含むゾーンのすべてに割り当てられるからである。そうでなければ、ルール条件１７２内で指定されたクライアントが、当該クライアントからのファイルを書き込めるゾーンのすべてに割り当てられていない場合、ポリシー・ルール１７０がゾーニングの要件に矛盾するため、エラーを返す（ブロック２１４）。クライアントの条件ルール１７２が複数のゾーン内の記憶位置１７４を指定していない場合（ブロック２１０）、そのポリシー・ルールを受け入れる（ブロック２０４）。
【００２０】
ポリシー・ルールがファイルセット又はファイル・タイプのルール条件１７２を指定し（ブロック２０８）、しかも当該ファイルセットのルール条件１７２が当該ポリシー・ルールの記憶位置１７４内で識別される記憶プールを含む同じ１つのゾーン内にないファイルセットを指定する場合（ブロック２１６）、エラーを返す（ブロック２１４）。というのは、このポリシー・ルールは、当該ポリシー・ルール内に指定されるファイルセットを含む同じゾーン内にある１つの記憶プールを提供しないからである。このように、記憶プールを複数のゾーンに関連付けることはできるが、ルール条件１７２内のファイルセットは、当該ポリシー・ルール内で識別される少なくとも１つの記憶プールを含むゾーンに関連付けられなければならない。記憶位置１７４が複数のゾーン内にない場合（ブロック２１６）、当該ポリシー・ルールを受け入れて（ブロック２０４）、ポリシー・ルール・データベース１６に追加する。
【００２１】
図９は、クライアント仮想ファイル・システム１２ａ〜１２ｎのファイル作成要求に応答してファイルを作成するために、メタデータ・サーバ６ａ〜６ｎが実行する操作を図示する。ファイル作成要求を受け取ると（ブロック２５０）、メタデータ・サーバ６ａ〜６ｎは、ポリシー・ルール・データベース１６内にある各ポリシー・ルールを処理し、当該ファイル作成要求が適用すべき１つのルール条件１７２を満たすかどうかを決定する（ブロック２５２）。例えば、ルール条件１７２がファイル・タイプを指定する場合、作成すべきファイルが指定されたファイル・タイプであれば、ルール条件１７２を満たし、ルール条件１７２がファイルセットを指定する場合、ファイルが指定されたファイルセット内に作成されるならば、ルール条件１７２を満たす。また、ルール条件１７２がクライアントを指定する場合、指定されたクライアントがファイル作成要求を開始するのであれば、ルール条件１７２を満たす。ポリシー・ルール・データベース１６内のどのポリシー・ルール１７０も満たされない場合（ブロック２５４）、メタデータ・サーバ６ａ〜６ｎは、このファイル作成要求内で指定されるファイルセット５２ａ〜５２ｎ内に、要求されるファイルを作成する（ブロック２５６）。
【００２２】
１つのポリシー・ルール１７０のルール条件１７２が満たされ（ブロック２５４）、しかも記憶位置１７４がサービス・クラス１８０を指定していない、すなわち記憶位置１７４が記憶プール５４ａ〜５４ｎから構成される場合（ブロック２５８）、作成すべきファイルは、指定された記憶プール内に格納される（ブロック２６０）。そうでなければ、記憶位置１７４がサービス・クラス１８０を指定する場合（ブロック２５８）、サービス・クラス１８０に関連付けられる記憶プール１８４のうちで、ポリシー・ルール１７０のルール条件１７２内で指定されるクライアント１０ａ〜１０ｎ又はファイルセット５２ａ〜５２ｎを含むゾーン内にもあるものを決定する（ブロック２６２）。ファイルは、決定された記憶プール５４ａ〜５４ｎ内に作成される（ブロック２６４）。このように、ポリシー・ルールが記憶クラス位置１７４を指定する場合、記憶クラス１７０のどの記憶プールが、クライアント又はファイルセットが割り当てられるゾーン内にあるかを決定する。
【００２３】
別の実施例では、ゾーン情報を使用して、クライアントの検出中に記憶プールとのクライアントの接続性を検証できる。例えば、検出中に、クライアント１０ａ〜１０ｎは、（例えば、記憶プール８ａ〜８ｎを含む）接続デバイスを検出し、さらに検出したデバイスに関する情報をメタデータ・サーバ６ａ〜６ｎに引き渡して、検出したデバイスが検出元のクライアントを含むゾーン内にあるかどうかを決定する。その結果、クライアントは、検出元のクライアントを含むゾーン内にある検出したデバイスにのみアクセスが可能となる。
【００２４】
前述の実施例は、クライアント、ファイルセット、又は記憶プールを特定のゾーンに制限して、クライアントに割り当てられるゾーン内にあるファイルセットへのアクセスだけにクライアントを制限する技術を提供する。これにより、クライアントを、当該クライアントが関連付けられたゾーン内にあるファイルセットの閲覧とアクセスのみに限定することができる。このように、組織は、セキュリティや管理関連の理由により、グローバル名前空間の特定のファイルセットやセクションへのユーザ・アクセスを制限することができる。
【００２５】
前述の操作は、ソフトウェア、ファームウェア、ハードウェア、又はその組合せを製造するために標準的なプログラミング技術又はエンジニアリング技術を使用する、方法、装置、又は製造物として実装することができる。「製造物」という用語は、ハードウェア論理（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（Programmable Gate Array：ＰＧＡ）、特定用途向け集積回路（Application Specific Integrated Circuit：ＡＳＩＣ）や、磁気記憶媒体（例えば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープ）、光学記憶装置（ＣＤ−ＲＯＭ、光ディスク）、揮発性および不揮発性のメモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラム可能論理）等のコンピュータ可読媒体内に実装できるコード又は論理をいう。コンピュータ可読媒体内に実装されるコードは、プロセッサがアクセスし、実行する。さらに、好適な実施例が実装されるコードは、伝送媒体を介して、又はネットワーク上のファイル・サーバからアクセスすることができる。このような場合、コードを実装する製造物は、ネットワーク伝送路、無線伝送媒体、空間、電波、赤外線信号を伝播する信号等の伝送媒体から構成することができる。このように、「製造物」は、コードを具体化する媒体、プログラム・コード、コンピュータ・プログラムから構成することができる。さらに、「製造物」は、コードを具体化し、処理し、実行する、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの組合せから構成することができる。当然ながら、本発明の範囲を逸脱することなく、この構成に数多くの変更を行うことができ、製造物を当分野で周知のあらゆる情報伝達媒体から構成することができる。
【００２６】
前述の操作は、回路素子で実行することができ、「回路素子」は、ハードウェア、ソフトウェア又はその組合せをいう。前述の操作を実行する回路素子は、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等のハードウェア・デバイスから構成することができる。また、回路素子は、集積回路等のプロセッサ・コンポーネントや、メモリ等のコンピュータ可読媒体内に実装されるコードから構成することもできる。この場合、プロセッサがコードを実行して、前述の操作を実行する。
【００２７】
図４、図５、図８、および図９に示す操作は、特定の順序で生起する特定のイベントを示している。別の実施例では、特定の操作を異なる順序で行ってもよく、変更したり、省いてもよい。さらに、前述の論理にステップを追加することもできるが、それでも前述の実施例に適合する。また、本明細書で説明した操作は、順次に処理することができ、特定の操作を平行して処理することもできる。さらに、操作は、単一処理ユニットでも分散型処理ユニットで実行してもよい。
【００２８】
本発明の様々な実施例に係る前述の説明は、例示および説明のために提示してきた。開示した形態がすべてを網羅することを意図しておらず、また本発明を開示したそのままの形態に限定することを意図してもいない。前述の開示内容に照らして、数多くの変更や変形が可能である。本発明の範囲は、この詳細な説明ではなく、請求項により定義することを意図する。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施例を実装する、ネットワーク・コンピューティング環境を示す図である。
【図２】ファイルセットを有するグローバル名前空間の一例を示す図である。
【図３】ゾーン・メタデータを示す図である。
【図４】ゾーンを維持する操作を示す図である。
【図５】クライアントにアクセス可能なファイルセットに関する情報をクライアントに提供するために実行する操作を示す図である。
【図６】ポリシー・ルール情報を示す図である。
【図７】サービス・クラス情報を示す図である。
【図８】ポリシー・ルールを追加する操作を示す図である。
【図９】名前空間にファイルを作成する操作を示す図である。
【図１】
0004416821.tif 000002
【図２】
0004416821.tif 000003
【図３】
0004416821.tif 000004
【図４】
0004416821.tif 000005
【図５】
0004416821.tif 000006
【図６】
0004416821.tif 000007
【図７】
0004416821.tif 000008
【図８】
0004416821.tif 000009
【図９】
0004416821.tif 000010