(57)【要約】【課題】  データを記憶する際に使用するためのデータ構造を提供すること。  【解決手段】  複数のデータ構造が、コンピュータ可読媒体に定義される。各データ構造は、複数の属性と、データを記憶するストレージ・リソースの少なくとも１つの機能を示す。データ特性とデータ構造に定義されている属性との対応に基づいて、データ特性をデータ構造に関連づけるポリシーがコンピュータ可読媒体に定義される。定義された各データ構造は、関連づけられたデータを記憶するためにストレージ・リソースを決定するための要件を提供するよう構成され、また定義されたデータ構造は、ストレージ・リソースにデータを記憶するための要件を提供するよう構成される。
2005528688.tif 000002
【特許請求の範囲】
【請求項１】
データの記憶に使用するデータ構造を生成するための方法であって、
データを記憶するストレージ・リソースの複数の属性および少なくとも１つの機能をそれぞれが示す複数のデータ構造をコンピュータ可読媒体内に定義するステップと、
データ特性と前記データ構造に定義されている属性の対応に基づいて、データ特性をデータ構造に関連づけるポリシーを前記コンピュータ可読媒体内に定義するステップとを含み、定義された各データ構造が、関連データを記憶するためにストレージ・リソースを決定するための要件を提供するよう構成され、定義されたデータ構造が、前記ストレージ・リソースにデータを記憶するための要件を提供するよう構成される、方法。
【請求項２】
前記ポリシーが、データについてのアプリケーション要件に関するアプリケーション・ポリシーを含み、
決定したデータ特性に対応する属性を有するデータ構造を決定するために前記データ構造を処理するアプリケーション・ポリシー・マネージャをコンピュータ可読媒体内に定義するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記アプリケーション・ポリシーが、アプリケーション・レベル要素に関連するデータに対する企業固有属性をさらに含む、請求項２に記載の方法。
【請求項４】
前記ポリシーが、データ・ライフサイクル、回復可能性、およびセキュリティの管理のための基準に関するデータ・ポリシーを含み、
データの決定した特性に対応する属性を有するデータ構造を決定するために前記データ構造を処理するデータ・ポリシー・マネージャを生成するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記データ・ポリシーがミドルウェアとして動作するよう構成される、請求項４に記載の方法。
【請求項６】
前記ポリシーが、データに対するストレージ・スペースの管理および構成に関するストレージ・ポリシーを含み、
データの決定した特性に対応する属性を有するデータ構造を決定するために前記データ構造を処理するストレージ・ポリシー・マネージャを生成するステップをさらに含む、請求項１に記載の方法。
【請求項７】
ストレージ販売業者が、ストレージ・ポリシーをそのストレージ・リソースに関連づけるためにストレージ・ポリシー、ストレージ・ポリシー・マネージャ、およびデータ構造を提供する、請求項６に記載の方法。
【請求項８】
前記ストレージ・ポリシー・マネージャが、決定したデータ構造に関連するストレージ・リソースを決定し、データを決定したストレージ・リソースに送信する、請求項６に記載の方法。
【請求項９】
データを記憶するために使用するデータ構造を含むコンピュータ可読媒体であって、前記データ構造が、
複数のデータ構造を含み、各データ構造が、複数の属性およびデータを記憶するストレージ・リソースの少なくとも１つの機能を示し、各定義したデータ構造が、関連づけられたデータを記憶するストレージ・リソースを決定するための要件を提供するように構成され、前記定義したデータ構造が、前記データを記憶するための要件を前記ストレージ・リソースに提供するように構成され、さらに、
データ特性およびデータ構造に定義されている属性の対応に基づいて、データ特性をデータ構造に関連づけるポリシーを含むコンピュータ可読媒体。
【請求項１０】
データを記憶するための方法であって、
前記データの特性を決定するステップと、
複数のデータ構造を処理するステップとを含み、各データ構造が、前記データの決定した特性に対応する属性を有する１つのデータ構造を決定するために複数の属性および少なくとも１つの機能を示し、決定したデータ構造に関連するストレージ・リソースが、前記データ構造に示される属性および機能を実装する方法。
【請求項１１】
アプリケーション・ポリシーが、属性および少なくとも１つの機能データをデータ構造にマッピングし、前記アプリケーション・ポリシーが、データに関するアプリケーション要件に関連し、アプリケーション・ポリシー・マネージャが、データ構造を処理して、前記データの決定した特性に対応する属性を有するデータ構造を決定する、請求項１０に記載の方法。
【請求項１２】
データ・ポリシーが、属性および少なくとも１つの機能データをデータ構造にマッピングし、前記データ・ポリシーが、データ・ライフサイクル、回復可能性およびセキュリティの管理のための基準に関連し、データ・ポリシー・マネージャが、データ構造を処理して、前記データの決定した特性に対応する属性を有するデータ構造を決定する、請求項１０に記載の方法。
【請求項１３】
前記少なくとも１つの機能が、前記決定したストレージ・リソース内のプログラムにより実行される、請求項１０に記載の方法。
【請求項１４】
前記決定したデータ特性が、前記データおよび前記データを生成するアプリケーションの特性を含むファイルのプロパティに関連する、請求項１０に記載の方法。
【請求項１５】
前記複数のデータ構造を処理するステップが、
第１の組のデータ構造を処理して、前記決定した特性に対応する属性を有する前記第１の組内の１つのデータ構造を決定するステップと、
前記第１の組からの決定したデータ構造に対応する１つのデータ構造を第２の組のデータ構造から決定するステップとをさらに含み、決定したストレージ・リソースが、前記第２の組からの決定したデータ構造と関連している、請求項１０に記載の方法。
【請求項１６】
１つのデータ構造を前記第２の組から決定するステップが、前記第１の組からの前記決定したデータ構造および少なくとも１つのデータ特性に対応する１つのデータ構造を前記第２の組から決定するステップをさらに含む、請求項１０に記載の方法。
【請求項１７】
第１の組のデータ構造の属性が、データ使用および保存要件に関連する特性に関するデータ属性を含み、前記第１の組内のデータ構造に示される機能が、前記データ構造に示されるデータ属性を実装するためのデータ管理動作を示す、請求項１０に記載の方法。
【請求項１８】
前記データ属性が、データの性能および可用性、ライフサイクル管理および回復可能性を含む一組のデータ属性の少なくとも１つのメンバーを含む、請求項１７に記載の方法。
【請求項１９】
前記第２の組のデータ構造の属性が、ストレージ機能に関連する特性に関するストレージ属性を含み、前記第２の組内のデータ構造に示される機能が、前記データ構造に示されるストレージ属性を実装するためのストレージ管理動作を示す、請求項１７に記載の方法。
【請求項２０】
前記ストレージ属性が、記憶容量、帯域幅、入出力（Ｉ／Ｏ）速度、信頼性／誤り率、ストレージ・リソースへの経路の数、物理位置およびセキュリティを含む一組のストレージ属性の少なくとも１つのメンバーを含む、請求項１８に記載の方法。
【請求項２１】
前記第２の組のデータ構造の属性が、ストレージ機能に関連する特性に関するストレージ属性を含み、決定したデータ構造に関連する決定したストレージ・リソースが、前記第２の組からの決定したデータ構造に示されるストレージ属性を満足させる、請求項１５に記載の方法。
【請求項２２】
複数のストレージ・リソースが存在し、ストレージ販売業者の属性が各ストレージ・リソースにより提供され、決定したデータ構造に関連する１つのストレージ・リソースを決定するステップが、
前記第２の組内の決定したデータ構造に示されるストレージ属性を満足させるストレージ販売業者の属性を有するストレージ・リソースを決定するステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
データを記憶するためのシステムであって、
前記データの特性を決定するための手段と、
それぞれが複数の属性と少なくとも１つの機能を示す複数のデータ構造を含むコンピュータ可読媒体と、
前記データ構造を処理して前記データの決定した特性に対応する属性を有する１つのデータ構造を決定するための手段とを含み、１つのストレージ・リソースが決定したデータ構造に関連していて、前記決定したデータ構造に関連する前記ストレージ・リソースが、前記データ構造に示されている前記属性および機能を実装するシステム。
【請求項２４】
コンピュータ上で稼働する場合に、請求項１０〜２２のいずれか１項に記載のすべてのステップを実行することができるプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポリシー・ベースのストレージ・マネージャのための方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
ポリシー・ベースのストレージ管理フレームワークは、ある特性を有するデータを、このようなデータを記憶するストレージ・スペースのいくつかのプールに関連づける方法、およびデータをそのライフサイクルを通して管理する方法を指定している。同一人に譲渡され、その全文を参照により本明細書に組み込む米国特許第５，０１８，０６０号に記載されている先行技術のポリシー・ベースのストレージ管理フレームワークは、データ・クラス、ストレージ・クラス、およびデータ・ファイルの特性に基づいてデータ・ファイルまたはデータ・セットに対するストレージ・デバイスを選択するために使用される管理クラスを含む構造を提供するポリシー・ベースのストレージ管理フレームワークについて記述している。データ・クラスは、データ・ファイル・タイプ、レコード長、論理データ・ストレージ・スペース要件、データの有効期限および保存日などの、データ・ファイルの論理属性を指定する。ストレージ・クラスは、ランダム・アクセス仕様、順次アクセス仕様、保証スペースなどの、一組のストレージ・サービスを定義する。管理クラスは、階層ストレージ管理（ＨＳＭ）、有効期限、バックアップ頻度、バックアップ・コピーの保存などの、データの有効性および保存管理要件を指定する。
【０００３】
自動クラス選択（ＡＣＳ）ルーチンは、データ・ファイルの生成またはアクセスの要求を受信し、次に、データ・ファイルに適用されるデータ・クラス、ストレージ・クラス、および管理クラスを、例えば、データ・ファイルを生成したアプリケーション、ファイル名、日付、ファイルおよび／またはアプリケーションのオーナーなどの、データ・ファイルの特性に基づいて、選択し、割り当てる。最後に、データ・クラス、ストレージ・クラス、および管理クラスに基づいてストレージ・グループを選択する。ストレージ・グループは、データ・ファイルに対する物理ストレージ・スペースの割り当てを行う。上記先行技術のポリシー・ベースのストレージ管理フレームワークの場合には、データ・ファイルは、１つのデータ・クラスのメンバーであってもよいが、どのストレージ・グループにデータ・ファイルを割り当てるのかを決定する異なったストレージ・クラスおよび／または管理クラスに割り当て可能である。
【０００４】
上記ポリシー・ベースのストレージ管理フレームワークは、主として、直接アクセス記憶装置（ＤＡＳＤ）のようなストレージ・サブシステムが、ホスト・データを上記の方法で特定のストレージ・グループに割り当てるストレージ・コントローラに直接接続されているシステムのためのものである。
【特許文献１】米国特許第５，０１８，０６０号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、当分野においては、ストレージ・ネットワーク環境でのように、直接接続ストレージおよび間接接続ストレージの両方と一緒に使用することができるさらなるポリシー・ベースのストレージ管理フレームワークの開発が待望されている。
【課題を解決するための手段】
【０００６】
データの記憶に使用するデータ構造を生成するための方法およびデータ構造が提供される。複数のデータ構造が、コンピュータ可読媒体内に定義される。各データ構造は、データを記憶するためのストレージ・リソースの複数の属性および少なくとも１つの機能を示す。データ特性およびデータ構造に定義されている属性の対応に基づいて、データ特性をデータ構造に関連づけるポリシーがコンピュータ可読媒体内に定義される。定義された各データ構造は、関連づけられたデータを記憶するためにストレージ・リソースを決定するための要件を提供するよう構成され、また定義されたデータ構造は、ストレージ・リソースにデータを記憶するための要件を提供するよう構成される。
【０００７】
記憶するデータを処理するための方法および製造品が提供される。アプリケーション属性が、アプリケーション・ポリシーに基づいてデータと関連づけられる。所定のデータ構造において、アプリケーション属性値が決定される。データ構造は、データ・レベル要素およびストレージ・リソースにより受信可能なように、且つストレージ・リソースにデータを記憶するための要件を提供するように構成される。
【０００８】
データを記憶するための方法、システムおよび製造品が提供される。データの特性が決定される。複数のデータ構造が処理される。各データ構造は、データの決定した特性に対応する属性を有する１つのデータ構造を決定するために、複数の属性と少なくとも１つの機能を示すことができる。ストレージ・リソースは、決定したデータ構造に関連づけられ、決定したデータ構造に関連づけられたストレージ・リソースは、データ構造に示されている属性および機能を実装する。
【０００９】
上記実施態様は、データをストレージ・リソースと関連づけるためのポリシー・ベースのストレージ管理フレームワークを実施するための技術を提供する。
【００１０】
添付の図面を参照しながら、以下に本発明の好ましい実施形態について説明するが、これは単に例示としてのものに過ぎない。
【発明を実施するための最良の形態】
【００１１】
ポリシー・ベースの管理フレームワーク
説明する実施態様は、種々のミッション・クリティカルなアプリケーション、種々のオペレーティング・システムを稼働している多数のサーバ、種々の機能を有するストレージ・システム、およびサーバをストレージ・システムに相互接続している多くのネットワーク要素を含む環境のための包括的管理プラットフォームに関する。ストレージ管理は、システムの多くのレベルまたは層、すなわちディスク（ストレージ）レベル、データ・レベル、およびアプリケーション・レベルを処理する。ストレージ管理は、例えば、性能、回復可能性、容量計画、セキュリティおよびインストール側面のような多面性を有し、例えば、Ｉ／Ｏ要求（一時的）およびデータ（恒久的）のような一時的および恒久的な種々の側面を処理する。実施態様は、次のようなコンセプト、すなわち、ストレージ環境の複数の層に基づく多重レベルの相互関連ポリシー、およびこれらの関係を確立するための機構；管理ソリューションおよび／またはインストールのニーズに応じてストレージ・クラス、管理クラス、およびサービス・クラスの任意のセットを定義することができるコンテナ・コンセプト；動的な振る舞いを可能にする、リソース・マネージャとポリシー・マネージャの間のより緊密な統合；管理される要素の標準特性づけを提供し、標準特性づけから実際への意味マッピングを提供する接続コンセプトを提示し、使用することができる。このような実施態様を使用すれば、リソースの使用、可用性、回復可能性、優先順位を指定するビジネス目標；どの変化をどのように通知すべきかを指定するシステム・モデル；システムの何をどのように測定するのか、いつ「アラーム」を発生するのかを指定する規準；および情報インフラストラクチャの他のコンポーネント（例えば、アプリケーション）との監視可能な相互作用を指定するサービス契約の統合を行うことができる。
【００１２】
ポリシーは、「条件−行動タプル」である。条件部分は、実行する行動部分に対するトリガとしての働きをするイベントまたは状態を指定する。条件はタイマ・ベースの値（例えば、真夜中、木曜日、「新四半期の最初の日」）、内部もしくは外部状況（例えば、強化したエラー・コードの生起／例外のスロー、ジョブの成功終了）、または属性値（例えば、サービス・レベル、サイズ、アプリケーション名）を反映することができる。１つまたはそれ以上の条件の発生に関連する行動は、特定の手順または機能の実行、他の条件の生起および／または他の属性の特定の値への設定を含む。それ故、この最後の場合、行動は他の行動に対するトリガを確立することができる。
【００１３】
図１は、ポリシー・ベースの管理を、どのようにして記憶域に適用することができるのかを示す概念図である。図１の場合には、システムは、３つの層、すなわちストレージ２、データ４、およびアプリケーション６を含む。ストレージ・レベル２は、生ビットの「記憶および検索」を処理するストレージ・システムの物理面に関連し、データ・レベル４は、データ・アクセス方法の提供のようなストレージ・システムの論理面に関連し、アプリケーション・レベル６は、ミドルウェア、アプリケーションおよびビジネス・プロセスのようなストレージ・システムのユーザに関連し、データおよびストレージに関するそれらの要件は集合レベルでサポートされる。
【００１４】
各ポリシー・レベル２、４および６は、ポリシーをそのレベルに対して定義することができる。任意の所与のレベルのポリシーは、属性１０ａ、１０ｂ、１０ｃおよび管理機能１２ａ、１２ｂ、１２ｃにより定義される。属性１０ａ、１０ｂ、１０ｃは、管理される環境（例えば、ディスクの容量、アプリケーションが必要とするスループット・レート、ファイルの最新の修正時間）のプロパティおよび特性を表す。これらの属性は、さらに、固有（静的）および動的（時変）のものとして区別される。固有属性は時間が経過しても変化せず、したがってそれらは、参照することはできるがリセットすることはできない。動的属性は、参照することもできるし、リセットすることもできる。管理機能１２ａ、１２ｂ、１２ｃは、環境の管理（例えば、論理ディスクの生成、ファイル・システムのマウント、アプリケーションの静止）を行う基本機構である。管理機能１２ａ、１２ｂ、１２ｃは、ポリシー実行の行動部分として呼び出すことができる。ポリシー１０ａ、１０ｂ、１０ｃおよび管理機能１２ａ、１２ｂ、１２ｃの両方は、固有属性を使用することができ、動的属性をリセットすることができる。実施態様によっては、上位レベルの各ポリシーは、属性および管理機能を通して１つ下のレベルのポリシーに影響を与えることができる。上位レベルの属性は、１つ下のレベルのポリシーで使用することができ、上位レベルの管理機能は、１つ下のレベルのポリシーを活動化することができる。
【００１５】
図１は、さらに、サービス・レベル・アグリーメント（ＳＬＡ）およびサービス・レベル目標（ＳＬＯ）のようなビジネス／企業ポリシー１４、ならびに政府規則が、レベル２、４、６にどのように影響を与えるのか、また本明細書に記載する３レベルのポリシーにどのように自動または手動で変換されるのかを示す。
【００１６】
アプリケーション・ポリシー１６は、特定のタスクが計算リソースにアクセスする方法または消費する方法を制御するために、またはそのタスクを他のタスクよりも優先させるために使用することができる。アプリケーション・ポリシー１６は、それが生成または使用するデータに関するアプリケーションの要件に関するものであり、またデータが存在するストレージに間接的に関連する。例えば、アプリケーションは、データ・アクセスの速度およびフォーマットに対する特定の要件、または停電の際のデータの回復可能性に対する特定の要件を有することができる。アクセス速度は、あるトランザクション速度を達成するために必要なものであり、アプリケーションの実行中に変わり得る。それ故、同じファイルにアクセスする際に、異なるアプリケーションが異なるアクセス速度を必要とする場合もあるし、または異なるタイプのＩ／Ｏ（例えば、読取り対書込み、順次対ランダム）を必要とする場合もある。さらに、修正したファイルのバックアップの同期が、アプリケーション毎に変化する場合もある。異なるアプリケーションが種々の同期要件を有し、ファイルを共有している場合には、このことは特に重要である。
【００１７】
アプリケーション・ポリシー１６を実施するために、あるアプリケーションがファイルにアクセスしている場合には、アプリケーション属性１０ｃがそのファイルに関連づけられる。アプリケーション属性１０ｃは、初期アクセス遅延、持続アクセス速度、Ｉ／Ｏ速度、Ｉ／Ｏ帯域幅、読取／書込比、順次／直接アクセス、集合バックアップ／回復基準（例えば、停電時間、適用状況）を含むことができる。アプリケーション属性１０ｃは、サービス・クラスの複数の名前付きセット内に収集することができる。このようなセットとアプリケーションによるファイルの使用との関連は、アプリケーション・ポリシー１６の一例である。例えば、サービス基準を、データがストレージ階層を上下に移動することができるかどうかを決定するために使用することができる。
【００１８】
データ・ポリシー１８は、特定のアプリケーションによるデータの使用ではなく、データ自身に関連する。データ・ポリシーは、データのライフサイクル、回復可能性およびセキュリティの管理に対する基準を含む。アプリケーション・ポリシーの場合のように、データ・ポリシーは、データ属性１０ｂに基づくものであってよい。データ属性１０ｂは、ライフサイクル属性および回復可能性属性を含む。ライフサイクル属性は、データを保持しなければならない時間の長さ、および保持しなければならないデータのバージョンの数を指定する。ライフサイクル・ポリシーは、時間が経過し、またはバージョンの数が超過した場合に、どんな行動をとるべきか（またはとらなければならないか）を指定する。回復可能性属性は、データのバックアップ・コピーの数（および潜在的に地理的位置）およびバックアップの周期性を示す。回復可能性属性は、バックアップ動作をトリガしたり、古いバックアップ・コピーを削除したり、バックアップ・コピーからデータを回復したりするために使用される。データ属性１０ｂは、また論理および物理セキュリティ・ポリシーを定義するセキュリティ属性を含む。論理セキュリティは、アクセス・リスト（すなわち、「誰が」データにアクセスすることができるのか）および許可レベル（すなわち、それで「何」をするのか）に関連する。セキュリティ属性は、要求者の許可に基づいてアクセスを許可または拒否することができる。物理セキュリティは、（例えば、ロックした部屋にある）物理的に安全なデバイスへのデータの配置に関連する。
【００１９】
ストレージ・ポリシー２０は、ストレージ・スペースの分割および使用、企業内のストレージのトポロジー、ならびにストレージ・コンポーネント自身の管理を制御する。ストレージ属性１０ａは、ストレージ・デバイスまたはストレージ・システム（すなわち、システムとして一体になっている複数のストレージ・デバイス）に関する要件を提供することができる。ストレージ・ポリシー２０は、主として販売業者に依存する個々のストレージ・デバイスの管理に関連することができる。これらの例は、動的ＲＡＩＤ再構成機能、特定「スナップショット」実装、動的デフラグメンテーション／ガーベッジ・コレクション、オンボード・キャッシュ管理、性能ベースの容量制御などの使用である。デバイス関連のストレージ属性１０ａは、容量、帯域幅，Ｉ／Ｏ速度、順次／直接、信頼性／誤り率、同時コピー機能、物理的位置、セキュリティ、リース期間、コストなどを含む。ストレージ・ポリシー２０に関連する行動または管理機能１２ａは、使用可能化／使用不能化、ドレーン、ダンピング、（例えば、コピー目的の）転送の開始、階層管理などを含む。
【００２０】
上記ポリシー１６、１８および２０は、ストレージ（およびストレージ上にあるデータ）の管理のために設計されていて、ビジネス目標を満足させるためのものである。これらのポリシー１６、１８および２０は、明示的に記述することもできるし、ビジネス慣行およびガイドライン（すなわち、ビジネス・ポリシー）を反映している他のポリシーにより暗黙的に指定すること、またはそれらのポリシーから引き出すこともできる。それ故、アプリケーション・ポリシー１６、データ・ポリシー１８およびストレージ・ポリシー２０は、ビジネス・ポリシーから引き出すことができる。ビジネス・ポリシーの例としては、金融取引データはある期間保存しなければならないこと、従業員には毎月ある日時に給与を支払わなければならないこと、すべての財務記録の最新のコピーはオフサイト保管室内に保管しなければならないことなどがある。
【００２１】
最初のビジネス・ポリシーは、金融取引を含むすべてのデータ・ファイルは、最後の更新から何年間かにわたる最低保存特性を有さなければならないというデータ・ポリシーを暗黙指定する。２番目のビジネス・ポリシーは、給与計算アプリケーションを実行しなければならない時を決定するアプリケーション・ポリシーを暗黙指定する。３番目のビジネス・ポリシーは、特定データのリモート・コピー動作のためのデータ・ポリシーを暗黙指定する。
【００２２】
ストレージ管理は、次のようなエリア、すなわち、サービス・デリバリ・レート、ホットスポット、待ち時間、リソース使用などを含む性能；データ保護およびフォールト・トレランス面を含む可用性；アクセス制御、認証、監査証跡、物理セキュリティなどを含むセキュリティ；ストレージ・スペースの量、Ｉ／Ｏ帯域幅、サイズ制限などを含むスペースおよび容量；リース、ハウジング問題などを含むインストールおよび物理エンティティを含むことができる。
【００２３】
図２は、３つの要素、すなわちストレージ・ポリシー・マネージャ５０、ストレージ・リソース・マネージャ５２、およびコネクタ・フレームワーク５４を含むポリシー・ベースのストレージ管理アーキテクチャの一実施形態を例示したものである。図２に示すように、ストレージ・ポリシー・マネージャ５０およびストレージ・リソース・マネージャ５２は、コネクタ・フレームワーク５４を使用する環境で動作する。コマンド、制御、測定、イベントおよびフィードバック５６は、環境と管理インフラストラクチャとの間のコネクタ・フレームワーク５４を通して流れる。環境がポリシー・ベースのツールまたはコンポーネントからなるシナリオの場合には、コネクタ・フレームワーク５４は、そのツール／コンポーネントのポリシーに影響を与えるための機構を提供する。
【００２４】
図３は、ポリシー・ベースのストレージ管理フレームワークの詳細図である。図３のコンテナは、抽象的な構造であり、ある実施態様の場合には、いくつかの関連する特性および機能を有するオブジェクト指向クラスとして実装することができる。コンテナに追加された要素は、コンテナが提供する機能および特性を継承することができる。それ故、１つの要素をコンテナの部材にすれば、そのコンテナが含む機能および特性をその要素が使用できるようにすることができる。コンテナは、論理属性および関連する機能の集合体である。例えば、ストレージ・コンテナは、論理ストレージ属性および管理機能の集合体から構成することができる。ストレージ・コンテナの抽象化をサポートするためにいくつかの物理ストレージ要素を使用することができ、それ故コンテナの論理属性は、個々の形および集合体の形で要素の物理属性を表す。属性は、要素の信頼性、性能、可用性およびインストール容易度のような側面を示すことができる。特定のコンテナの定義は、論理属性のサブセットからなる。コンテナの定義をサポートしているすべての要素は、同種属性値を提供する。コンテナがオブジェクト指向クラスとして実装される実施形態の場合には、コンテナをオブジェクト指向プログラミングの際にクラス定義により定義することができる。個々のコンテナ・クラスの数は、所与のレベルでの論理属性の数により異なる。
【００２５】
コンテナは、論理属性の特定の組み合わせを、属性が暗黙指定するサービスをサポートするために使用することができる一組の特定のデータおよびストレージ要素にマッピングする。要素は、状況に応じて、何らかの形式のデータまたはストレージの配置、アクセスまたは管理機能を提供する、ハードウェアまたはソフトウェアの任意の製品またはコンポーネントを含むことができる。コンテナは、サービス要件に適合するように、実際にアプリケーションを収容し管理する複数のデータ／ストレージ・ソフトウェアおよびハードウェア要素または部材／製品に対する要件を定義する。また、コンテナ内に含まれている属性および管理機能が定義する同じレベルのサービスを、異なる組の要素または部材／製品により実装することができる。例えば、異なる販売業者が提供するストレージ・コントローラは、コンテナ内に指定されている同じレベルのサービスを満足させることができる。それにより、アプリケーション・ポリシーの単一インスタンスを通して、アプリケーションのデータ／ストレージのすべてを管理しながら、コンテナ・ポリシーに基づいて、１つのビジネス・アプリケーションが使用するデータおよびストレージを２以上の販売業者のコントローラ（複数のコンテナ）内に置くことができる。
【００２６】
管理機能は、コンテナが実装するデータ／ストレージ・ハードウェアまたはソフトウェア機能を定義する。コンテナが定義する管理機能は、基礎要素を供給する販売業者、または要素とコネクタ層との間に位置する第三者ソフトウェアが提供する要素機能にマッピングすることができる。
【００２７】
コネクタ１０２ａ、１０２ｂ、１０２ｃは、相互にインタフェースするように設計またはコード化されていない２つのソフトウェアを一緒にするためのソフトウェア方法を備える。例えば、コネクタ１０２ａ、１０２ｂ、１０２ｃは、トップダウン・ビジネス・アプリケーション展望ならびにストレージ管理製品およびコンポーネントからデータおよびストレージのＱｏＳ（サービスの質）を指定するための一組のポリシーを提供するストレージ・ポリシー・マネージャ１０６を連結することができる。
【００２８】
図３は、要素１００ａ、１００ｂ、１００ｃ、コネクタ１０２ａ、１０２ｂ、１０２ｃ、およびコンテナ１０４ａ、１０４ｂ、１０４ｃの関係をさらに詳細に示している。コネクタ１０２ａ、１０２ｂ、１０２ｃは、それぞれがそれ自身のインタフェースおよびセマンティクスを備える２つの異なるソフトウェア・コンポーネントを連結する手段である。コネクタは、ポリシー・レベルおよび管理レベルを有することができる。ポリシー・レベルは、ポリシー・インタフェースを受け入れまたはサポートするソフトウェアを表す。ポリシー・レベルは、トップまたはビジネス・アプリケーション展望から指定されたデータおよびストレージ管理に対するポリシー定義をサポートする。ポリシー・レベル・ソフトウェアは、単一インタフェースを提供し、管理レベル・コネクタに対してＸＭＬ文書の形でポリシー仕様を表すことができる。
【００２９】
管理レベルは、特定のソフトウェアまたはハードウェア製品またはコンポーネントの特定の管理機能インタフェースをサポートまたは呼び出すソフトウェアを表す。管理レベルは、コンテナに対して定義されているソフトウェアおよびハードウェアと一緒に、データおよびストレージ・リソースの管理を実際に行う。データおよびストレージ・リソースの所望のポリシー・ベースの管理は、ポリシー・レベルおよび管理レベルを一緒に接続することにより達成される。管理レベルは、ポリシー・レベルで指定されている属性を満足させる機能を実装する。販売業者は、その製品を環境に統合するために管理レベル・コンポーネントを供給することができる。管理レベル・コネクタ・ソフトウェアは、機能を呼び出すためにインタフェースを使用する。
【００３０】
特定のコンテナ・インスタンス（コンテナ内の要素のリスト）は、ストレージ環境で顧客が配置したい要素の一意の各組み合わせに対して生成することができる。管理レベル・コネクタは、一意の管理機能の各組をポリシー・レベル・ソフトウェアに接続するように構成され、配置される。
【００３１】
図２に要素５０として示し、図３に要素１０６として示すストレージ・ポリシー・マネージャ（ＳＰＭ）は、ポリシー関連インフラストラクチャを提供する。ＳＰＭは、ポリシー管理コンポーネント、ポリシー・エンジン、およびメタ情報リポジトリを含む。ＳＰＭは、ポリシー仕様ツール、ポリシー決定点、ポリシー実行点、およびポリシー・リポジトリのようなコンポーネントを含むことができる。ポリシー管理コンポーネントは、基準アーキテクチャのポリシー仕様機能およびポリシーを表現するための語彙を提供する。ポリシー管理は、さらに、図１に示すように、ビジネス目標（例えば、ＳＬＡおよびＳＬＯ）で指定したポリシーをストレージ・レベル、データ・レベルおよびアプリケーション・レベルのところのポリシーに変換するための変換ロジックを提供する。ポリシー管理コンポーネントは、また、ポリシーの構文面および意味面を確認するための分析機能を提供する。ポリシー管理コンポーネントは、さらに、異なるポリシー・グループ間の競合を識別し、解決することができる。
【００３２】
ＳＰＭ５０、１０６は、さらに、ポリシー決定点およびポリシー実行点の一部を実装するポリシー・エンジン・コンポーネントを含むことができる。いくつかのポリシー決定点は、タイマ・ポップ（例えば、真夜中、木曜日、「新四半期の最初の日」）、内部または外部状況の変化（例えば、エラー・コード／例外の発生、ジョブの成功終了）、属性値（例えば、サービス・レベル、サイズ、アプリケーション名）の変化、新規サービス開始要求、またはデータ経路内の特定サービス要求の到着を含むイベントにより駆動することができる。ポリシーのリポジトリは、イベントに対するレスポンスを指定することができる。イベントに対する関連ポリシーが決定されると、決定したポリシーが指定する行動が実装される。ポリシー・エンジンは、イベントに応じてコンテナが提供する管理機能を呼び出すことにより、ポリシー実行を駆動する。ポリシー・エンジンは、また結果としていくつかの属性値をリセットすることができる。このようにして、コンテナもポリシー実行に参加する。
【００３３】
ＳＰＭ５０、１０６は、さらにポリシー・インフラストラクチャのための必要な種々の情報を記憶するメタ情報リポジトリを含むこともできる。このリポジトリは、何らかの内部形式で表されるポリシーを含む。リポジトリは、また、アプリケーションのデータ資産（すなわち、アプリケーションが使用するファイルおよび／または論理ボリューム）に関する情報を記憶することもできる。
【００３４】
要素５２（図２）および１０８（図３）として示すストレージ・リソース・マネージャ（ＳＲＭ）は、ストレージ管理自動化を行う際にポリシー・マネージャを補足する。ＳＲＭ５２、１０８は、長期および短期ベースでストレージ・リソースを管理するために分析およびリソース配置勧告を行う。このアーキテクチャにおけるＳＲＭの予想される機能のいくつかは、現在のストレージ・システム要素ですでに入手することができるが（または入手することができるようになるが）、その他の機能は新しいコンポーネントとして実装しなければならないであろう。ＳＲＭ５２、１０８の活動は、「正常」状態および「構成変化」状態に対するリソース計画；差別化サービス・サポート；問題の識別、分析および解決；ならびに過負荷監視および管理を含むことができる。
【００３５】
ＳＲＭ５２、１０８は、さらに、新しいサブシステムの追加またはサブシステムの故障の結果としての、ストレージ・システムへの変化を処理する。ＳＲＭ５２、１０８は、コミットされたサービス目標に適合するように、データに対するストレージの再割り振りを決定することができる。ＳＲＭ５２、１０８は、静的リソース管理のポートとして、システム変更の結果必要になる場合があるサービス目標へのすべての変化を識別することができる。
【００３６】
ある実施態様では、ＳＲＭ５０、１０６は、ビジネス目標に基づいて作業負荷を分類または優先順位付けする自動化方法を提供する。一方、ＳＲＭ５２、１０８は、クラス・ベースのサービスを実装し、リソースが制約される場合に、他のクラスを犠牲にしていくつかのクラスを優先的に処理する。そのためには、サービス・クラスと、異なったクラスに対する要求をサービスするリソース・プロバイダの能力が必要になる。
【００３７】
ポリシー・ベースの管理フレームワークの実装
図４は、本発明の態様が実装されるネットワーク・コンピューティング環境を示す。複数のアプリケーション・サーバ２０２ａ・・・２０２ｎは、ネットワーク２０６を通してネットワーク・ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎにデータを送信することができる。ストレージ・サーバ２０８ａ・・・２０８ｎは、アプリケーション・サーバ２０２ａ・・・２０２ｎのアプリケーション（当該分野で公知のデータベース・アプリケーションまたは任意の他のデータ処理アプリケーション）が生成したデータ・ファイルを、データ・ファイルの特性に基づいて、ネットワーク・ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎに経路指定するために、ポリシー・ベースのストレージ・マネージャ・プログラム２１０ａ・・・２１０ｎを含む。図４は、ストレージ・サーバ２０８ａに直接取り付けることができる２０４ｎのようなストレージ・リソースを示す。アプリケーション・サーバ２０２ａ・・・２０２ｎは、当該分野で公知の任意の計算機デバイス（例えば、ワーク・ステーション、パーソナル・コンピュータ、メインフレーム、サーバ、ラップトップ、ハンドヘルド・コンピュータ、電話デバイス、ネットワーク装置など）を備えることができる。ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎは、ストレージ・サーバ２０８ａに取り付けられているストレージ・リソース２０４ｎの場合のように、ネットワーク２０６に直接接続する、または他のデバイスに取り付けられる当該分野で公知の任意のストレージ・デバイス、ストレージ・システムまたはストレージ・サブシステムを備えることができる。ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎは、Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋｓ（ＪＢＯＤ）、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ（ＲＡＩＤ）、ネットワーク接続ストレージ（ＮＡＳ）、仮想化デバイス、テープ・ライブラリ、光ディスク・ライブラリなどを備えることができる。ネットワーク２０６は、ローカル・エリア・ネットワーク（ＬＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）、イントラネット、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネットなどの公知の任意のネットワーク・システムを備えることができる。ストレージ・サーバ２０８ａ・・・２０８ｎは、任意のサーバ・クラス・マシン、ストレージ・コントローラ、企業サーバなどのような、ストレージ・リソースへのアプリケーション・アクセスを管理することができる任意のデバイスを備えることができる。
【００３８】
ポリシー・ベースのストレージ・マネージャ２１０ａ・・・２１０ｎは、アプリケーション・サーバ２０２ａ・・・２０２ｎからデータ・ファイル生成要求を受信し、本明細書に記載のポリシー・ベースのフレームワークに基づいて、データ・ファイルを記憶するために選択することができるストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎのグループを決定する。ポリシー・ベースのストレージ・マネージャは、図３のスキーマを実装することができる。この場合、各コンポーネント１００ａ、１００ｂ、１００ｃ、１０２ａ、１０２ｂ、１０２ｃ、１０４ａ、１０４ｂ、１０４ｃ、１０６および１０８を、１つまたはそれ以上のマシン上で実行する１つまたはそれ以上のプログラム・コンポーネントとして実装することができる。例えば、ポリシー・ベースのストレージ・マネージャ２１０ａ・・・２１０ｎのプログラム・コンポーネントをストレージ・サーバ２０８ａ・・・２０８ｎに完全に実装するか、または分散コンピューティング環境において、同じもしくは異なるオペレーティング・システムを稼働していて、ネットワーク２０６を通して通信および対話を行う複数のタイプの計算機デバイスに実装することができる。
【００３９】
図５は、ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎにデータ・ファイルを割り当てるために、ポリシー・ベースのストレージ・マネージャ２１０ａ・・・２１０ｎ（図４）に実装することができる、図３のスキーマに対するもう１つのポリシー・ベースのマネージャのスキーマを示す。図５のスキーマは、３つのレベル、すなわちアプリケーション・レベル２５０、データ・レベル２７０およびストレージ・レベル２９０を有するものとして定義される。アプリケーション・レベル２５０は、ストレージ・リソース管理に関連づけるために、ビジネス目標およびゴールを指定する。サービス・レベル・アグリーメント・オブジェクトは、サービス全体の質または量のように、アプリケーション・レベル２５０で指定することができる。データ・レベル２７０は、データのアプリケーション要件およびアプリケーションによるデータの使用方法を表す。ストレージ・レベル２９０は、データを記憶し、検索し、管理するためのストレージ環境の機能を表す。アプリケーション・サーバ２０２ａ・・・２０２ｎ（図４）が生成したデータ・ファイルは、データ・ファイルに特定のストレージ・リソースを割り振るために、これらの異なるレベルで定義することができる。
【００４０】
各レベル２５０、２７０および２９０は、属性、すなわちアプリケーション属性２５２、データ属性２７２、およびストレージ属性２９２を含むことができる。これらの属性２５２、２７２および２８２は、管理の各レベル、すなわちアプリケーション・レベル、データ・レベル、およびストレージ・レベルのプロパティおよび特性を表す業界定義の属性を含むことができる。アプリケーション属性２５２は、アプリケーション・データ要求速度またはＩ／Ｏトランザクション速度、初期アクセス遅延、ユーザ・レスポンス時間、読取／書込比などのような、アプリケーションが生成または使用するデータに対して、クライアント・アプリケーションが必要とする要件に関連するプロパティおよび特性に関する。
【００４１】
データ属性２７２は、初期アクセス遅延、持続アクセス速度、順次またはランダム・アクセス、可用性基準、ライフサイクル管理および回復可能性のような、性能およびデータの可用性を含むデータ使用および保存要件に関連するプロパティおよび特性に関する。ライフサイクル属性は、データを維持しなければならない時間の長さ、維持するバージョンの数、期限切れになった場合またはバージョンの最大数を超えた場合に取るべき、保存、削除などの行動に関する。回復可能性属性は、データのバックアップ・コピーの数および場所、バックアップ・スケジューリングなどを示す。データ・レベル属性２７２のあるものは動的なもの、すなわち、時間の経過とともに変化するものであってもよいし、変化しない固有のものであってもよい。例えば、性能要件は、時刻、アプリケーションの使用などにより変化することがあるので動的データ属性であり、一方、データ・ファイルに対する有効期限ポリシーは、データ・ファイルに対して構成された後では変化しないという点で固有なものである。データ・ポリシーは、また、論理および物理セキュリティを含むセキュリティ・ポリシーを含むことができる。論理セキュリティは、アクセス・リスト、すなわち誰がデータにアクセスすることができるのか、許可レベル、およびどんなユーザがデータを処理することができるのかに関する。データに対するセキュリティ・ポリシーは、誰がデータへのどんなアクセスを有しているのかを制御するために、属性により定義することができる。物理セキュリティは、ロックした、またはガードした部屋内のような、データ・ストレージ・リソースの位置に関する。
【００４２】
ストレージ・レベル属性２９２は、容量、帯域幅、Ｉ／Ｏ速度、信頼性／誤り率、ストレージ・サーバ２０８ａ・・・２０８ｎからストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎへの経路の数、物理的位置およびセキュリティ、リース期間、コスト、サーバ・ファイル・システム機能および制限のような、ストレージ機能に関連するプロパティおよび特性に関する。ストレージ属性は、例えばリース有効期間のようなビジネス上の理由、例えば物理セキュリティのような環境上の理由、例えば指定した期間の信頼性のような機能的ニーズをベースとすることができる。
【００４３】
各レベルは、また管理機能２５４、２７４および２９４を含むことができる。管理機能２５４、２７４、および２９４は、ストレージ管理動作が実行されるプログラム機構を定義する。それらは、ストレージを正しく割り振るために、またはデータを記憶する物理ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎに対してデータを経路指定するために稼働するプログラムである。管理機能２５４、２７４および２９４は、ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎのソフトウェアまたはハードウェアで実装することもできるし、ストレージ・リソースに結合している他の要素により実装することもできる。ストレージ属性は、ストレージ・デバイスの数、ＲＡＩＤレベル、バックアップまたは「スナップショット」プログラムの使用、ガーベッジ・コレクション、キャッシュ管理などのような側面を定義することができる。ストレージ階層を通してのデータの動きを管理し、データのバックアップ・コピーを維持し、データが喪失または破損した場合にデータを回復するプログラムを備える管理機能も含まれている。
【００４４】
各レベルは、また、アプリケーション・ポリシー２５６、データ・ポリシー２７６、およびストレージ・ポリシー２９６のようなポリシーも含む。ポリシー２５６、２７６および２９６は、それぞれ、アプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ、データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎ、およびストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎを分離するために、すでに説明したように予め定義され、業界標準に従って定義され得る１つまたはそれ以上の属性２５２、２７２および２９２をマッピングする。それ故、アプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ、データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎ、およびストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎの各々は、アプリケーション属性２５２、データ属性２７２およびストレージ属性２９２のサブセットである一組の属性２６０ａ、２６０ｂ・・・２６０ｎ、２８０ａ、２８０ｂ・・・２８０ｎ、３００ａ、３００ｂ・・・３００ｎをそれぞれ定義する。
【００４５】
ストレージおよびストレージ上にあるデータを管理するためのポリシー２５２、２７２、および２９２は、ビジネス目標を満足するように生成することができる。これらのポリシーは、データの使用および記憶に影響を与えるビジネス慣行およびガイドラインから引き出すことができる。例えば、ストレージ・ポリシーは、データの保存期間、従業員への支払いの時期、および、金融取引のような重要なデータをオフサイトに保管しなければならない頻度を指定するビジネス・ポリシーから引き出すことができる。最初の例は、データの保存特性を指定するデータ・ポリシーを定義する。２番目の例は、従業員に対する支払いを行うために、給与計算アプリケーションをどんな頻度で実行しなければならないかを決定するアプリケーション・ポリシーである。３番目の例は、特定データのリモート・コピーのためのデータ・ポリシーを暗黙指定する。それ故、このような属性は、ストレージ要素の信頼性、性能、可用性およびインストール可能性のような側面および要件を参照することができる。
【００４６】
ある実施態様では、本発明のコンテナをオブジェクト指向クラスとして実装することができる。例えば、コンテナは、静的変数としての論理属性を含むＪａｖａクラスとして実装することができる。管理機能は、実際の管理機能を呼び出すクラス方法として実装することができる。
【００４７】
ポリシー２５６、２７６および２９６は、また、アプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ、２７８ａ、２７８ｂ・・・２７８ｎ、およびストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎの各々について、異なるレベルに対して使用可能な管理機能２５４、２７４および２９４のサブセットである一組の管理機能２６２ａ、２６２ｂ・・・２６２ｎ，２８２ａ、２８２ｂ・・・２８２ｎ、３０２ａ、３０２ｂ・・・３０２ｎを定義する。各コンテナは、一組の属性を定義するので、そのコンテナに対して定義された管理機能は、コンテナに対して定義された属性／要件を満足させるストレージ環境および動作を実装するために呼び出すことができる機能を定義する。例えば、１つのデータ・コンテナ２５８ａ、２５８ｂ・・・２５８ｎが、ある期間が経過した後でのファイルの保存を指定するデータ属性２６０ａ、２６０ｂ・・・２６０ｎを定義していると、そのコンテナに対して定義された管理機能２６２ａ、２６２ｂ・・・２６２ｎは、そのコンテナに対する属性により指定されたファイルの保存を実行するためのプログラム呼出しを含む。
【００４８】
コンテナ構造は、論理属性の特定の組み合わせを一組の特定のデータおよびストレージ要素にマッピングする。要素は、データまたはストレージの何らかの形の配置、アクセスまたは管理機能を提供する任意のハードウェアまたはソフトウェア製品またはコンポーネントである。ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎは、１つまたはそれ以上のこのような要素を含む。例えば、１つのコンテナは、特定の可用性レベル、性能範囲、およびセキュリティ分類を定義することができる。コンテナに対して定義された管理機能は、論理ディスクの生成、移行および拡張、ならびにコピー・サービスに関連する動作を行うことができる。コンテナは、コンテナに対して定義された属性に合致する特定のストレージ・ハードウェアおよびソフトウェアで実装することができる。
【００４９】
図５のスキーマは、またアプリケーション・ポリシー・マネージャ２６４、データ・ポリシー・マネージャ２８４、およびストレージ・システム・ポリシー・マネージャ３０４のようなポリシー・マネージャを提供する。ポリシー・マネージャ２６４、２８４、３０４は、属性および管理機能をコンテナに関連づけるために、それぞれ、ポリシー２５６、２７６および２９６で指定したマッピングを使用する。ポリシー・マネージャ２６４、２８４および３０４は、さらに、前のレベルで決定したコンテナを現在のレベルでのコンテナと関連づける。例えば、アプリケーション・ポリシー・マネージャ２６４は、データ特性を１つのアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎに関連づける。データ・ポリシー・マネージャ２８４は、定義した属性および管理機能を有する選択したアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎを受信し、選択したアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎおよび任意のデータ特性を１つまたはそれ以上のデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎと関連づける。同様に、ストレージ・システム・ポリシー・マネージャ３０４は、前のレベルで選択したデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎおよび任意のデータ特性を１つのストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎと関連づける。データ・ファイルに対してストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎが決定された後で、ストレージ・システム・ポリシー・マネージャ３０４は、選択したストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎをストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎの中の１つに関連づける。ここで、各ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎは、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎ内に定義されている論理ストレージ属性３００ａ、３００ｂ・・・３００ｎ、および管理機能３０２ａ、３０２ｂ・・・３０２ｎを満足することができるストレージ・スペースを実装するためのストレージ・ハードウェアおよびソフトウェアの組み合わせを含む。
【００５０】
このようにして、各レベルのポリシー・マネージャ２６４、２８４、および３０４は、所与のレベルにおける属性／要件を、次のレベルが読み出すことができる所定のコンテナ・フォーマットにマッピングする。例えば、データ・ポリシー・マネージャ２８４は、アプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎに対して指定されたアプリケーション属性２６０ａ、２６０ｂ・・・２６０ｎが定義する機能を、関連するアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ内のアプリケーション属性２６０ａ、２６０ｂ・・・２６０ｎと、データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎに対して定義されたデータ属性２８０ａ、２８０ｂ・・・２８０ｎとにより指定された要件を実装することができる管理機能２８２ａ、２８２ｂ・・・２８２ｎを提供するデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎと関連づける。同様に、ストレージ・ポリシー・マネージャ３０４は、データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎに対して指定されたデータ属性２８０ａ、２８０ｂ・・・２８０ｎが定義する機能を、関連データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎ内のデータ属性２８０ａ、２８０ｂ・・・２８０ｎと、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎに対して定義された任意のストレージ属性３００ａ、３００ｂ・・・３００ｎとにより指定された要件を実装することができる管理機能３０２ａ、３０２ｂ・・・３０２ｎを提供するストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎと関連づける。ポリシー・マネージャ２６４、２８４および３０４は、現在のレベルのコンテナにマッピングするときに、前のレベルからのコンテナ属性を考慮する他に、コンテナを現在のレベルのコンテナまたはリソースと関連づけるために、データ・ファイルの任意の他の特性、および／または決定した特性に関連する現在のレベルの属性を考慮に入れてもよく、あるいは考慮に入れなくてもよい。
【００５１】
ストレージ・ポリシー・マネージャ３０４は、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎ内のストレージ属性３００ａ、３００ｂ・・・３００ｎが定義する機能を、ストレージ属性が定義する要件を実装することができる特定のストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎに関連づける。ある実施態様では、リソース２０４ａ、２０４ｂ・・・２０４ｎは、ストレージ販売業者からのストレージ・システムを含むことができる。ストレージ販売業者は、特定のハードウェア・デバイスおよびこのデバイスを動作させるためのソフトウェアを供給するハードウェア・メーカーを含むことができる。さらに、ストレージ販売業者は、階層ストレージ管理ソフトウェア、バックアップ・アプリケーション、保存プログラムなどを含むオープン・システム・ストレージ・システムを提供するために、異なるメーカーおよび販売業者からのストレージ・システムおよびソフトウェア・プログラムの集合体を統合するシステム・インテグレータを含むことができる。
【００５２】
各ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎのストレージ販売業者は、自分達が提供しているストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎの機能を定義するストレージ属性３０６ａ、３０６ｂ・・・３０６ｎを指定する。ストレージ・システム・ポリシー・マネージャ３０４は、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎを、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎの要求する論理ストレージ属性３００ａ、３００ｂ・・・３００ｎを満足することができる販売業者定義ストレージ属性３０６ａ、３０６ｂ・・・３０６ｎを有するストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎにマッピングする。このようにして、ストレージ販売業者は、ストレージ属性２９２のような、業界標準に従って定義されたストレージ属性でもよい、自身のストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎに適用可能な論理ストレージ属性３０６ａ、３０６ｂ・・・３０６ｎを指定する。ストレージ・システム・ポリシー・マネージャ３０４は、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎ内に指定されている属性／要件３００ａ、３００ｂ・・・３００ｎを満足することができるストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎを選択するために、ストレージ販売業者が定義するストレージ属性３０６ａ、３０６ｂ・・・３０６ｎに問い合わせする。あるいは、販売業者ストレージ属性３０６ａ、３０６ｂ・・・３０６ｎは、コンテナ２９８ａ、２９８ｂ・・・２９８ｎに対して定義されたストレージ属性３００ａ、３００ｂ・・・３００ｎとは異なるものであってもよく、そのような実施態様では、ストレージ・システム・ポリシー・マネージャ３０４は、販売業者ストレージ属性３０６ａ、３０６ｂ・・・３０６ｎを、ストレージ・レベル２９０で使用する属性２９２にマッピングする。このようにして、いかなるストレージ販売業者ストレージ・システムもストレージ環境に組み込むことができる。何故なら、ポリシー・ベースのストレージ・マネージャ２１０ａ、２１０ｂ・・・２１０ｎ（図４）は、ストレージ販売業者がストレージについて指定したストレージ属性に基づいて、データ・ファイル用ストレージ・システムを使用することができるからである。
【００５３】
さらに、アプリケーション販売業者は、さらなるマッピングを行うために、別のレベルで使用することができる特定のアプリケーション・コンテナにアプリケーション属性をマッピングするために、自身のアプリケーションのためのアプリケーション・ポリシー２５６およびアプリケーション・ポリシー・マネージャ２６４を開発し、配布することができる。アプリケーションを実行するミドルウェアを開発するミドルウェア販売業者は、アプリケーション属性、コンテナおよび他のデータ特性を、ストレージ・システム・ポリシー・マネージャ３０４に渡されるデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎにマッピングするために、データ・ポリシー２７６およびデータ・ポリシー・マネージャ２８４を開発し、配布することができる。このようにして、異なる販売業者およびパーティは、データを使用する各コンポーネントが指定する属性／要件を満足するストレージ・リソースを最終的に選択するために、データを分類し、定義するために使用されるコンポーネントを、アプリケーションからミドルウェア、ストレージに至る各レベルで別々に提供することができる。ミドルウェアは、オペレーティング・システムとアプリケーションとの間のインタフェースとして機能するプログラム・コンポーネントを含み、アプリケーションとオペレーティング・システムとの間のインタフェースを提供することにより、異なるオペレーティング・システム上でアプリケーションが稼働できるように使用することができる。あるいは、データ・レベルを、アプリケーションまたは他の何らかのミドルウェアでないコンポーネントにより定義することができる。
【００５４】
ポリシー・ベースのストレージ・マネージャ２１０ａ・・・２１０ｎ（図４）は、属性２５２、２７２および２９２、ならびに管理機能２５４、２７４および２９４を、特定のアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ、データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎおよびストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎにそれぞれ関連づけるために、システム管理者がポリシー２５６、２７６、および２９６（図５）を定義することができるように、グラフィック・ユーザ・インタフェース（ＧＵＩ）ツールを提供することができる。このＧＵＩツールは、また、システム管理者が、アプリケーション・コンテナおよび（データ属性にマッピングすることができる）いくつかのデータ特性をストレージ・コンテナに関連づけるためにアプリケーション・ポリシー２５６を定義すること；データ・コンテナおよび（ストレージ属性にマッピングすることができる）いくつかのデータ特性をストレージ・コンテナに関連づけるためにデータ・ポリシー２８４を定義すること；ストレージ販売業者がストレージ・リソースに提供する属性に基づいて、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎおよびいくつかのデータ特性をストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎに関連づけるためにストレージ・ポリシー３０４を定義することを可能にする。あるいは、ストレージ・システム・ポリシー・マネージャ３０４は、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎに対して定義されたストレージ属性３００ａ、３００ｂ・・・３００ｎを満足することができる、ストレージ販売業者が定義した特性／属性を有するストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎを自動的に選択するプログラムを含むことができる。ストレージ・システム・ポリシー・マネージャ２９６は、ストレージ販売業者が複数のストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎに対して定義した属性が、ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎに対するストレージ属性３００ａ、３００ｂ・・・３００ｎおよび任意の他の考慮の対象にしたデータ特性を満足することができる場合には、各ストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎを、１つまたはそれ以上のストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎにマッピングすることができる。
【００５５】
ポリシー・ベースのストレージ・マネージャ２１０ａ・・・２１０ｎ（図４）のＧＵＩツールを使用する管理者は、図５のスキーマ、またはスキーマの特定のレベルを構成することができ、あるいはスキーマは予め構成されたものであってもよい。クライアント・アプリケーションから受信したデータ・ファイルをストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎへどのように経路指定するのかを決定する場合に、スキーマをポリシー・ベースのストレージ・マネージャ２１０ａ・・・２１０ｎにより実行することができる。図５のスキーマは、データベース・システム、オブジェクト指向プログラミング・システムで定義されたデータ構造および機能、拡張可能マークアップ言語（ＸＭＬ）などで実装することができる。例えば、各コンテナは、ＸＭＬ要素として定義することができ、コンテナに対して定義された属性および管理機能は、コンテナ要素のＸＭＬ属性を含むことができる。さらに、図５のスキーマは、複数の組織にわたるオブジェクト指向スキーマを考慮した一様オブジェクト指向モデリング形式を使用する分散管理タスク・フォース（ＤＭＴＦ）共通情報モデル（ＣＩＭ）内に実装することができる。
【００５６】
さらに、異なるレベル２５０、２７０および２９０のコンポーネントは、異なるマシン上で稼働することができる。例えば、ストレージ・レベル２９０のコンポーネントは、ストレージ・サーバ２０８ａ・・・２０８ｎ上で稼働することができ、アプリケーション・レベル２５０およびデータ・レベル２７０は、アプリケーション・サーバ２０２ａ・・・２０２ｎ上で稼働することができる。あるいは、１つまたはそれ以上のレベル２５０、２７０および２９０のコンポーネントをストレージ・サーバのような単一マシン上で稼働することができる。
【００５７】
図６および図７は、ストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎをデータ・ファイルに割り当てるために、本発明の実施態様に従ってポリシー・マネージャ２６４、２８４および３０４が実行する動作を示す。制御は、アプリケーション・ポリシー・マネージャ２６４が、アプリケーション・サーバ２０２ａ・・・２０２ｎシステムからデータ・ファイルの生成またはアクセスの要求を受信した場合に、ブロック４００から開始する。アプリケーション・ポリシー・マネージャ２６４は、ステップ４００〜４０８を実行する。（ブロック４０２において）データ・ファイルが、データ・ファイルに対するアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ、データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎ、およびストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎを示す関連メタデータを有さない場合には、アプリケーション・ポリシー・マネージャ２６４は、アプリケーション属性２５２、データ属性２７２およびストレージ属性２９２にマッピングすることができるファイル名、ファイル生成時間、ソース・アプリケーション、ユーザ、データ管理要件、ビジネス・ポリシーなどのようなデータ特性を（ブロック４０４において）決定する。アプリケーション・ポリシー２５６（図５）から、アプリケーション・ポリシー・マネージャ２６４は、（ブロック４０６において）データ・ファイルから収集した決定済みデータ特性に対応するアプリケーション属性を決定する。データ・ファイル特性から決定したアプリケーション属性に対応するアプリケーション属性２６０ａ、２６０ｂ・・・２６０ｎを有する１つのアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎが（ブロック４０８において）選択される。
【００５８】
アプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎを選択した後、制御はデータ・レベル２７０（図５）に進み、ここでデータ・ポリシー・マネージャ２８４が、（ブロック４１０において）データ・ポリシー２７６から、決定したデータ特性に対応するデータ属性を決定する。データ・ポリシー・マネージャ２８４は、次に、（ブロック４１２において）データ・ポリシー２７６が、選択したアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎ、およびデータ属性にマッピングする任意の追加の決定したデータ特性（追加のデータ属性は、選択したアプリケーション・コンテナ２５８ａ、２５８ｂ・・・２５８ｎに対して定義された、アプリケーション属性２６０ａ、２６０ｂ・・・２６０ｎの要件を満足する１つのデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎの選択の際に考慮される場合もあるし、考慮されない場合もある）に関連していると定義するデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎを選択する。
【００５９】
データ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎを選択した後で、制御は図７のブロック４１４に進み、ここでストレージ・システム・ポリシー・マネージャ３０４は、決定したデータ特性に対応するストレージ属性を（ブロック４１４において）決定するためにストレージ・ポリシー２９６を使用する。ストレージ・システム・ポリシー・マネージャ３０４は、図７のステップ４１４〜４２４を実行する。ストレージ・システム・ポリシー・マネージャ３０４は、（ブロック４１６において）ストレージ・ポリシー２９６が、選択したデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎ、および任意の追加の決定したストレージ属性（追加のストレージ属性は、選択したデータ・コンテナ２７８ａ、２７８ｂ・・・２７８ｎに対して定義されたデータ属性２８０ａ、２８０ｂ・・・２８０ｎ、およびデータ特性から決定した任意の可能な追加のストレージ属性の要件を満足させる１つのストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎを選択する際に考慮される場合もあるし、考慮されない場合もある）に関連していると定義するストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎを選択する。
【００６０】
ストレージ・システム・ポリシー・マネージャ３０４は、（ブロック４１８において）選択したアプリケーション、データおよびストレージ・コンテナに関する情報を、データ・ファイルに対するメタデータと一緒に記憶する。ブロック４１８から、または（メタデータがデータ・ファイルに対してすでに定義されている場合には）ブロック４０２の「はい」分岐から、制御はブロック４２０に進み、ここで、ストレージ・システム・ポリシー・マネージャ３０４は、（ブロック４２０において）ストレージ・システム・ポリシー・マネージャ３０４から、データ・ファイル・メタデータ内に表示されている選択したストレージ・コンテナ２９８ａ、２９８ｂ・・・２９８ｎに関連するストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎを決定する。別の実施態様では、メタデータがデータ・ファイルに対して定義されている場合でも、そのデータ・ファイルに対するアプリケーション、データおよびストレージ・コンテナを決定することができる。何故なら、ある属性が動的で、変化している場合には、そのデータ・ファイルに対する属性／要件に対応するコンテナも変化している場合があるからである。
【００６１】
データが送信されるストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎは、データに関連する属性を実装するために、メタデータ内に表示されているアプリケーション、データおよびストレージ・コンテナに定義されている管理機能を（ブロック４２４において）実装し、実行する。例えば、データ属性が、そのデータに対するあるライフサイクル属性を示している場合には、適当な保存またはストレージ管理プログラムが、期限切れの際に、指定の動作、削除、保存、もっと安価で速度の遅いストレージへの移行、すなわち、階層ストレージ管理などを行うために呼び出される。このようにして、データ・ファイルに対応する属性が、データ・ファイルに対して識別されたコンテナ内に表示された管理機能の実行、およびデータ・ファイルを記憶するための１つのストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎの選択により実装される。管理機能は、ストレージ・システムにおけるデータの管理に関連する任意のアプリケーション・プログラムを含むことができる。さらに、販売業者は、そのストレージ・リソースを、異なるストレージ・コンテナと関連づけて、データに関連する異なるアプリケーション、データおよびストレージ・ポリシーを満足するために使用することができるように、そのストレージ・リソースの異なる構成、または同じ製品を提供することができる。
【００６２】
上記のポリシー・ベースのストレージ管理フレームワークは、ある決定したデータ特性を有するデータを、そのデータに対する要件を定義するある属性のレベルに関連づけるために使用することができる。属性の各上位レベルは、下位レベルで選択したコンテナを決定するために使用することができる。ある実施態様では、ストレージ・レベル・コンテナを含む最下位レベルのコンテナは、データ特性に基づいてデータ・ファイルに対して定義されている属性および要件を満足させるために使用することができるストレージ・リソース２０４ａ、２０４ｂ・・・２０４ｎを選択するために使用される。
【００６３】
別の実施態様では、アプリケーション・レベルは、データ・ファイルに関連するサービス・レベル・アグリーメント内に指定されたサービス・レベル目標を実装することができるアプリケーション・コネクタ２６４およびデータ・コネクタ２８４を通して、適当なデータおよびストレージ・コンテナを選択するために使用されるサービス・レベル・アグリーメント属性を定義することができる。
【００６４】
図８は、アプリケーション・コンテナ６１０、データ・コンテナ６２０およびストレージ・コンテナ６３０のコンポーネントを含む、コンテナ６００のデータ構造の一実施態様を示す。コンテナ６００のデータ構造は、アプリケーション・レベルの要素、データ・レベルの要素およびストレージ・レベルの要素の間で属性および管理機能を送信することができるようにするために、共通データ構造を提供する。各コンテナ・コンポーネント６１０、６２０および６３０は、複数の属性値フィールド６１２ａ・・・６１２ｎ、６２２ａ・・・６２２ｎおよび６３２ａ・・・６３２ｎ、ならびに管理機能識別フィールド６１４ａ・・・６１４ｎ、６２４ａ・・・６２４ｎ、および６３４ａ・・・６３４ｎを含む。別の実施形態では、共通コンテナ・データ構造は、コンポーネント・コンテナ６１０、６２０および６３０のサブセットを含むことができる。その場合、属性値および管理機能識別子は、コンテナの内容に基づいて要件を実装するため、および／または１つまたはそれ以上のアプリケーション、データおよびストレージ・レベルで動作するポリシーに基づいて、１つまたはそれ以上のコンテナ・フィールドの内容に追加またはその内容を修正するために、１つまたはそれ以上のアプリケーション、データおよびストレージ・レベルにより変換される。このような実施形態では、アプリケーション、データまたはストレージ・レベルにおけるフィールドの適用可能性に関する追加情報を提供するために、制御フィールドを使用することができる。別の実施形態では、属性フィールドおよび／または管理機能フィールドをサービス・レベル・フィールドに結合することができる。
【００６５】
追加実施態様の詳細
本明細書に記載のポリシー・ベースのストレージ・マネージャは、ソフトウェア、ファームウェア、ハードウェアまたはこれらの任意の組み合わせを形成するために、標準プログラミングおよび／またはエンジニアリング技術を使用して、方法、装置または製造物として実施することができる。ここで、「製造物」という用語は、ハードウェア・ロジック（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）、または磁気記憶媒体（例えば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど）、光ストレージ（ＣＤ−ＲＯＭ、光ディスクなど）、ならびに揮発性および不揮発性メモリ素子（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラマブル・ロジックなど）のようなコンピュータ可読媒体に実装されるコードまたはロジックを意味する。コンピュータ可読媒体内のコードは、プロセッサによりアクセスされ、実行される。好ましい実施形態を実現するためのコードは、さらに伝送媒体を通して、またはネットワーク上のファイル・サーバからアクセスすることができる。このような場合、コードを実装した製造物は、ネットワーク伝送ライン、無線伝送媒体、空間を伝わる信号、電磁波、赤外線信号などの伝送媒体を含むことができる。もちろん、当業者であれば、本発明の範囲から逸脱することなしに、この構成に多くの修正を行うことができること、および製造物は公知の任意の情報担持媒体を含むことができることを理解するであろう。
【００６６】
図５は、受信したデータ・ファイルに関連させることができる属性およびコンテナのクラスの３つのレベルを示す。代替の実施態様では、例えば、データ・レベルおよびストレージ・レベルだけ、および属性の異なるクラスに対する追加レベルのような、図に示す３つのレベルより少ないレベルを使用することもできる。
【００６７】
図１、図２、図３、図５および図８においては、ポリシー・ベースの管理ストレージを実現するための特定のデータ構造およびアーキテクチャについて説明した。代替の実施態様では、他のデータ構造配置を使用することができ、追加の情報をそのデータ構造に提供して、例えば、アプリケーション、データ、ストレージなどの、考慮の対象にした各レベルにおける属性に関する情報を提供することができる。
【００６８】
図６および図７のロジックは、ある順序で発生するいくつかのイベントを示す。代替の実施態様では、いくつかの動作を異なる順序で実行したり、修正したり、除去したりすることができる。さらに、上記ロジックにステップを追加して、それらが依然として上記実施態様に適合しているものとすることができる。さらに、ここで説明した動作をシーケンシャルに行うこともできるし、またいくつかの動作を並列に処理することもできる。さらに、動作を１つの処理ユニットまたは分散処理ユニットで行うこともできる。
【００６９】
図９は、コンピュータ・システム２０２のアーキテクチャの一実施態様を示す。システム２０２は、プロセッサ７０２（例えば、マイクロプロセッサ）、メモリ７０４（例えば、揮発性メモリ素子）、およびストレージ７０６（例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどのような不揮発性ストレージ）を有するコンピュータ・アーキテクチャ７００を実装することができる。ストレージ７０６は、内部ストレージ・デバイスまたは接続ストレージもしくはネットワーク・アクセス・ストレージを含むことができる。ストレージ７０６内のプログラムは、メモリ７０４内にロードされ、公知の方法でプロセッサ５０２により実行される。アーキテクチャは、さらに、ネットワークとの通信を可能にするネットワーク・カード５０８を含む。入力装置５１０は、プロセッサ５０２へユーザ入力を供給するために使用され、キーボード、マウス、ペン・スタイラス、マイクロホン、タッチ・センシティブ・スクリーン、または公知の任意の他の活動化もしくは入力機構を含むことができる。出力装置５１２は、プロセッサ５０２または他のコンポーネントから送られた情報を表すことができるディスプレイ・モニタ、プリンタ、ストレージなどである。
【００７０】
本発明の好ましい実施形態についての上記説明は、例示および説明のためのものである。上記説明はすべてを網羅しているものでもなく、本発明を開示の正確な形に制限するものでもない。上記説明を読めば、本発明を種々に修正および変更することができる。本発明の範囲は上記詳細な説明によっては制限されず、添付の特許請求の範囲により制限される。上記仕様、例およびデータは、本発明の構成の製造および使用の完全な記述を与える。本発明の精神および範囲から逸脱することなしに、本発明の多くの実施形態を作ることができるので、本発明は、添付の特許請求の範囲に存在する。
【図面の簡単な説明】
【００７１】
【図１】本発明のある実施態様によるポリシー・ベースのストレージ管理アーキテクチャの図である。
【図２】本発明のある実施態様によるポリシー・ベースのストレージ管理アーキテクチャのもう１つの図である。
【図３】本発明のある実施態様によるポリシー・ベースのストレージ管理アーキテクチャのさらにもう１つの図である。
【図４】本発明の側面が本発明のある実施態様により実施されるネットワーク・コンピューティング環境を示す。
【図５】本発明のある実施態様によるポリシー・ベースのストレージ・マネージャ・フレームワークを示す。
【図６】本発明のある実施態様によるポリシー・ベースのストレージ・マネージャ・フレームワークを使用するデータ・ファイル用のストレージ・リソースを選択するためのロジックを示す。
【図７】本発明のある実施態様によるポリシー・ベースのストレージ・マネージャ・フレームワークを使用するデータ・ファイル用のストレージ・リソースを選択するためのロジックを示す。
【図８】本発明のある実施態様によるコンテナ・データ構造を示す。
【図９】本発明のある実施態様と一緒に使用することができるコンピューティング・アーキテクチャを示す。
【図１】
2005528688.tif 000003
【図２】
2005528688.tif 000004
【図３】
2005528688.tif 000005
【図４】
2005528688.tif 000006
【図５】
2005528688.tif 000007
【図６】
2005528688.tif 000008
【図７】
2005528688.tif 000009
【図８】
2005528688.tif 000010
【図９】
2005528688.tif 000011
【国際調査報告】
2005528688.tif 000012
2005528688.tif 000013