(57)【特許請求の範囲】
【請求項１】
各アプリケーションとポリシーとを対応付けたポリシー割振りテーブルと、各ポリシーに対応付けられ前記ポリシーに割り振られる資源の制限値を記述した資源割振りテーブルとを備えるシステムが複数の資源を複数のアプリケーションに割り振る方法であって、
前記複数のアプリケーションのそれぞれが、その実行を要求する複数のカスタマーのそれぞれに対応付けられ、
前記アプリケーションのうちの１つが前記資源を要求しているかどうか判定するステップと、
前記アプリケーションのうちの１つが前記資源を要求しているとの判定に応じて、ポリシー割振りテーブルを用いて前記アプリケーションに関連付けられたポリシーを決定するステップと、
前記アプリケーションに関連付けられた前記ポリシーの前記決定に応じて、資源割振りテーブルを用いて前記ポリシーに関連付けられた資源の割振りを決定するステップと、
前記ポリシーに関連付けられた前記資源の割振りの前記決定に応じて、前記ポリシーに関連付けられた前記資源の割振りに基づき、前記アプリケーションに前記資源の一部または全部を割り振るステップと
を含む方法。
【請求項２】
前記ポリシーが複数のポリシーのうちの１つであり、ユーザが前記ポリシーのうちの少なくとも１つを定義したいかどうか判定するステップと、
前記ユーザが前記ポリシーを定義することを望んでいるとの判定に応じて、資源割振りテーブル中の前記ポリシーのうちの少なくとも１つをユーザが定義し、修正し、または削除することを受け入れるステップとをさらに含む請求項１に記載の方法。
【請求項３】
ユーザが前記ポリシーを前記アプリケーションに割り当てたいかどうか判定するステップと、
前記ユーザが前記ポリシーを前記アプリケーションに割り当てることを望んでいるとの判定に応じて、ポリシー割振りテーブル中の前記ポリシーと前記アプリケーションの間の関連のうちの少なくとも１つをユーザが割り当て、修正し、または削除することを受け入れるステップとをさらに含む請求項１に記載の方法。
【請求項４】
一定のサービス品質が、各ポリシーに関連付けられた実質的にすべての前記アプリケーションに対して達成される請求項１に記載の方法。
【請求項５】
前記資源割振りテーブル中で定義された資源の量が利用可能になるまで待ち、次いで、前記ポリシーに対して前記資源割振りテーブル中で定義された資源の全体量を前記アプリケーションに割り振るステップを含む請求項１に記載の方法。
【請求項６】
前記システムがコンピュータ・ネットワークを含む請求項１に記載の方法。
【請求項７】
前記システムがコンピュータ・ファイルを含む請求項１に記載の方法。
【請求項８】
前記システムがコンピュータ・オペレーティング・システムを含む請求項１に記載の方法。
【請求項９】
前記システムがコンピュータ・プログラムを含む請求項１に記載の方法。
【請求項１０】
前記システムが仮想マシンを含む請求項１に記載の方法。
【請求項１１】
各アプリケーションとポリシーとを対応付けたポリシー割振りテーブルと、各ポリシーに対応付けられ前記ポリシーに割り振られる資源の制限値を記述した資源割振りテーブルを備えるコンピュータに複数の資源を複数のアプリケーションに割り振らせるプログラムであって、
前記複数のアプリケーションのそれぞれが、その実行を要求する複数のカスタマーのそれぞれに対応付けられており、
前記コンピュータに、
前記アプリケーションのうちの１つが前記資源を要求しているかどうか判定するステップと、
前記アプリケーションのうちの１つが前記資源を要求しているとの判定に応じて、前記ポリシー割振りテーブルを用いて前記アプリケーションに関連付けられたポリシーを決定するステップと、
前記アプリケーションが関連付けられた前記ポリシーの前記決定に応じて、前記資源割振りテーブルを用いて前記ポリシーに関連付けられた資源の割振りを決定するステップと、
前記ポリシーに関連付けられた前記資源の割振りの前記決定に応じて、前記ポリシーに関連付けられた前記資源の割振りに基づき、前記資源の一部を前記アプリケーションに割り振るステップと
を含む諸ステップを実行させるプログラム。
【請求項１２】
各アプリケーションとポリシーとを対応付けたポリシー割振りテーブルと、各ポリシーに対応付けられ前記ポリシーに割り振られる資源の制限値を記述した資源割振りテーブルを備え、複数の資源を複数のアプリケーションに割り振るための装置であって、
前記複数のアプリケーションのそれぞれが、その実行を要求する複数のカスタマーのそれぞれに対応付けられており、
ユーザが複数のポリシーのうちの少なくとも１つを定義したいかどうか判定する手段と、
前記ユーザが前記ポリシーのうちの少なくとも１つを定義することを望んでいるとの判定に応じて、資源割振りテーブル中の前記ポリシーのうちの少なくとも１つをユーザが定義し、修正し、または削除することを受け入れる手段と、
ユーザが前記ポリシーを前記アプリケーションに割り当てたいかどうか判定する手段と、
前記ユーザが前記ポリシーを前記アプリケーションに割り当てることを望んでいるとの判定に応じて、前記資源割振りテーブル中の前記ポリシーと前記アプリケーションの間の関連のうちの少なくとも１つをユーザが割り当て、修正し、または削除することを受け入れる手段と、
前記アプリケーションのうちの１つが前記資源を要求しているかどうか判定する手段と、
前記アプリケーションのうちの１つが前記資源を要求しているとの判定に応じて、前記ポリシー割振りテーブルを用いて前記アプリケーションに関連付けられた前記ポリシーを決定する手段と、
前記アプリケーションに関連付けられた前記ポリシーの前記決定に応じて、資源割振りテーブルを用いて前記ポリシーに関連付けられた資源の割振りを決定する手段と、
前記ポリシーに関連付けられた前記資源の割振りの前記決定に応じて、前記ポリシーに関連付けられた前記資源の割振りに基づき、前記資源の一部を前記アプリケーションに割り振る手段とを含み、
安定したサービス品質が、各ポリシーに関連付けられた実質的にすべての前記アプリケーションについて達成されることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に資源をアプリケーションに分配する方法を対象とし、詳細には、複数の類似のアプリケーションに安定したサービス品質を提供するアプリケーション対応（application-aware）の方法等を対象とする。
【背景技術】
【０００２】
ネットワーク管理者とは、コンピュータ・ネットワークを設計し、構築し、構成する人のことである。コンピュータ・ネットワークは、プロセッサやメモリ、アダプタなどコンピュータ・ネットワーク資源（資源）がコンスタントに使用されているときに効率がよい。ネットワーク管理者がコンピュータ・ネットワークの効率を改善するための一方法は、コンピュータ・ネットワーク上で実行されるアプリケーションのための資源の量を制限することである。ネットワーク管理者はまた、コンピュータ・ネットワークを設計し、構築し、構成するコストを削減するためにも資源量を制限する。資源量を制限することにより、コンピュータ・ネットワーク上で走るアプリケーションは、コンピュータ・ネットワーク中にある資源をより頻繁に使用することになる。
【０００３】
資源量の制限に関連する１つの問題は、コンピュータ・ネットワーク上でのサービス品質が悪くなることである。サービス品質は、あるアプリケーションへの資源を要求してから提供されるまでの間の時間間隔として定義される。アプリケーションが資源を要求しその資源が容易に利用できる場合は、そのアプリケーションに速やかに資源を割り振ることができ、サービス品質も高くなる。しかし、アプリケーションが資源を要求しその資源が利用できない場合は、アプリケーションは資源が利用可能になるのを待つ必要があり、サービス品質は低くなる。したがって、最適に構成されたコンピュータ・ネットワークは、高いサービス品質を維持しながら効率も極めてよい。
【０００４】
コンピュータ・ネットワークを最適に構成するための一方法は、コンピュータ・ネットワークをアプリケーション対応にすることである。アプリケーション対応のネットワークとは、要求しているアプリケーションに資源を任意に割り振ることのないネットワークである。そうではなくて、アプリケーション対応のコンピュータ・ネットワークは、要求しているアプリケーションに対してポリシーに基づいて資源を割り振るようにする。例えば、従来技術のコンピュータ・ネットワークは、複数のアプリケーションに割り振ることが可能な１００ＧＢのメモリを含むことができる。２つの同一のアプリケーションは、４０ＧＢのメモリを用いれば所望の結果を達成するはずであるが、より容量の大きいメモリが割り振られた場合はもっと速く所望の結果が得られよう。第１のアプリケーションが７５ＧＢのメモリを要求した場合、従来技術のコンピュータ・ネットワークでは７５ＧＢのメモリを第１のアプリケーションに割り振るであろう。第２のアプリケーションが７５ＧＢのメモリを要求したときは、コンピュータ・ネットワークは第２のアプリケーションに割り振るために２５ＧＢのメモリを有するだけである。第２のアプリケーションは、そのタスクの開始前に最小で１５ＧＢのメモリが利用可能になるまで待つ必要がある。したがって、第１のアプリケーションと第２のアプリケーションのサービス品質の間に大きな差があることになる。
【０００５】
アプリケーション対応のコンピュータ・ネットワークでは、ネットワークはポリシーに基づいて資源をアプリケーションに割り振る。そのポリシーは、１つのアプリケーションに割り振ることができる資源の最大量を定義する。上記の例に戻ると、第１のアプリケーションが７５ＧＢのメモリを要求し、そのポリシーによりメモリの割振りが５０ＧＢに制限されたとき、ネットワークは第１のアプリケーションに５０ＧＢのメモリを割り振るだけである。その場合、ネットワークは第２のアプリケーションに割り振るための５０ＧＢのメモリを有し、２つのアプリケーションに対して安定したサービス品質が達成される。ネットワークの構成において、安定したサービス品質は非常に望ましい結果である。したがって、類似のタイプのアプリケーションに対して安定したサービス品質を達成する、コンピュータ・ネットワーク上で走るアプリケーションに資源を割り振るためのアプリケーション対応の方法が求められている。
【０００６】
複合コンピュータ・ネットワークでは、複数のカスタマーがコンピュータ・ネットワーク上で複数のアプリケーションを走らせることができる。その場合、そのアプリケーションが重要なアプリケーションと重要性が高くないアプリケーションとに区別されることが重要である。より重要なアプリケーションは、資源の大部分を受け取るべきであり、一方残りの資源は重要性のより低いアプリケーションに割り当てられる。相対的な重要性の判定は、そのアプリケーションに関連するカスタマーの状況に依存せずに行われるべきである。したがって、アプリケーションに関連するカスタマーの状況にかかわらず、資源の大部分をより重要なアプリケーションに割り振るための、アプリケーションへの資源割振り方法が求められている。
【０００７】
従来技術は、コンピュータ・ネットワークのサービス品質の安定性を改善する問題に以前から取り組んできた。例えば、「カスタマーに基づく資源の優先順位制御のための方法およびシステム」と題する米国特許出願公開第２００３／０１８７９０８号（特許文献１）は、資源管理のためのカスタマーに基づくシステムを開示している。この特許文献１により、カスタマーは一定レベルのサービスを購入することができるようになる。この場合、特許文献１の発明は、購入したサービス・レベルに応じてカスタマーに資源を割り振る。しかし、特許文献１は上記で確認した要求を適切に満たしていない。具体的には、特許文献１のシステムはアプリケーションではなくカスタマーに基づいてサービス・レベルを区別する。特許文献１は、それぞれが異なるサービス・レベルを有する２人のカスタマーが同じアプリケーションを走らせたとき、安定したサービス・レベルを同じタイプのアプリケーションに提供する方法を開示するものではない。したがって、１つのコンピュータ・ネットワーク中で複数のカスタマーが走らせる複数のアプリケーションに安定したサービス品質を提供する方法が求められている。
【特許文献１】米国特許出願公開第２００３／０１８７９０８号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、類似のタイプのアプリケーションに対して安定したサービス品質を達成する、コンピュータ・ネットワーク上で走るアプリケーションに資源を割り振るためのアプリケーション対応の方法が当技術分野で求められている。さらに、資源の大部分をより重要なアプリケーションに割り振るための、アプリケーションへの資源割振り方法が求められている。最後に、アプリケーションに関連するカスタマーの状況にかかわらず、１つのコンピュータ・ネットワーク中で複数のカスタマーが走らせる複数のアプリケーションに安定したサービス品質を提供する方法が求められている。
【課題を解決するための手段】
【０００９】
上記で確認した要求を満たす本発明は、事前定義ポリシーに基づいて資源をアプリケーションに割り振るためのアプリケーション対応の方法である。本発明のソフトウェア実施形態は、資源割振りプログラム（ＲＡＰ）を含む。ＲＡＰはアプリケーション対応であり、要求しているアプリケーションにＲＡＰは資源を任意に割り振るようなことはしない。そうではなくて、ＲＡＰは、要求するアプリケーションに事前定義のポリシーに基づいて資源を割り振る。ＲＡＰを用いると、ユーザが資源の割振りを資源割振りテーブル中のポリシーごとに定義できるようになる。ＲＡＰを用いると、ユーザがポリシー割振りテーブル中でポリシーをアプリケーションと関連付けることもできる。アプリケーションが資源を要求すると、ＲＡＰはポリシー割振りテーブルを参照してそのアプリケーションに関連付けられたポリシーを決定する。次いで、ＲＡＰは資源割振りテーブルを参照し、そのポリシーに関連付けられているアプリケーションに対して許容される資源の割振りを決定する。次いで、ＲＡＰは、資源割振りテーブル中で識別された資源の割振りに基づいて要求しているアプリケーションに資源を割り振る。したがって、本発明は、アプリケーションに関連するカスタマーの状況またはアプリケーションの資源要求のタイミングにかかわらず、類似のアプリケーションのために安定したサービス品質を維持することができる。
【００１０】
本発明は、添付の特許請求の範囲に記載されている。しかし、本発明それ自体、ならびに本発明の好ましい使用形態、他の目的、および利点は、例示の実施形態の以下の詳細な説明を参照し添付の図面を併せて読めば最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００１１】
本明細書で使用する際は、「割り振る」という用語は、アプリケーションがその特定のタスクを実施し、またはその所望の結果を得るためにシステムの資源をアプリケーションに一時的に割り付ける（lease）ことを含む意味とする。
【００１２】
本明細書で使用する際は、「アプリケーション」という用語は、特定のタスクを実施し、または所望の結果を計算するための資源を割り付けるコンピュータ・プログラムを含む意味とする。
【００１３】
本明細書で使用する際は、「アプリケーション対応」という用語は、アプリケーションに関連するカスタマーに基づくのではなく、資源をポリシーに基づいてアプリケーションに割り振るコンピュータ・プログラムを含む意味とする。
【００１４】
本明細書で使用する際は、「コンピュータ」という用語は、ユーザまたは他のコンピュータと対話できる、プロセッサ、メモリ、およびオペレーティング・システムを有するマシンを含む意味とし、またデスクトップ・コンピュータ、ノートブック・コンピュータ、ＰＤＡ（personal digital assistant）、サーバ、手持ち式コンピュータ、および類似の装置を、限定することなしに含むものとする。
【００１５】
本明細書で使用する際は、「サービス品質」という用語は、アプリケーションへの資源を要求しそれが送達される間の時間間隔を含む意味とする。
【００１６】
本明細書で使用する際は、「ポリシー」という用語は、アプリケーションのために資源を最大に割り振ることを定義する１組のルールを含む意味とする。
【００１７】
本明細書で使用する際は、「資源」という用語は、アプリケーションがその特定のタスクを実施しまたはその所望の結果を得るために、アプリケーションによって用いられるシステムの構成要素を含む意味とする。
【００１８】
本明細書で使用する際は、「システム」という用語は、資源をアプリケーションに割り振るコンピュータ、コンピュータ・ネットワーク、コンピュータ・ファイル、コンピュータ・オペレーティング・システム、またはコンピュータ・プログラムを含む意味とする。
【００１９】
図１は、本発明に関連するコンピュータ・ネットワーク９０を示す。コンピュータ・ネットワーク９０は、ネットワーク９６に電気的に結合されたローカル・コンピュータ９５を含む。ローカル・コンピュータ９５は、ネットワーク９６を介して遠隔コンピュータ９４および遠隔コンピュータ９３に電気的に結合されている。ローカル・コンピュータ９５はまた、ネットワーク９６を介してサーバ９１およびデータベース９２にも電気的に結合されている。ネットワーク９６は、ローカル・エリア・ネットワーク（ＬＡＮ）などの単純化したネットワーク接続、または広域ネットワーク（ＷＡＮ）やインターネットなどのより大きいネットワークであり得る。さらに、図１で示すコンピュータ・ネットワーク９０は、本発明を含めた実行可能な動作ネットワークを表すものとし、アーキテクチャの限定を意味するものではない。
【００２０】
プロセッサ、メモリ、および入出力装置の接続および配置を含めたコンピュータの内部構成は、当技術分野で周知のものである。本発明は、コンピュータ・プログラム中で実施することのできる方法である。図２を参照すると、本発明の方法が資源割振りプログラム（ＲＡＰ）２００によりソフトウェア上で実装されている。ここで説明するＲＡＰ２００は、図１で示す任意のコンピュータのメモリに記憶することができる。あるいは、ＲＡＰ２００は、取外し可能ディスクや、ＣＤ−ＲＯＭ、ＵＳＢ記憶装置などの外部記憶装置に記憶することもできる。メモリ１００は、図１のコンピュータのうちの１つの内部のメモリを例示するものである。プロセッサ１０６は、ＲＡＰ２００中に含まれている命令を実行することができる。プロセッサ１０６はまた、表示装置１０２上にデータを表示し、ユーザ入力装置１０４上でユーザ入力を受け入れることができる。プロセッサ１０６、ユーザ入力装置１０４、表示装置１０２、およびメモリ１００は、図１のローカル・コンピュータ９５などのコンピュータの一部である。プロセッサ１０６は、ネットワーク９６を介して他のコンピュータと通信することができる。
【００２１】
代替の実施形態では、ＲＡＰ２００は、他のコンピュータのメモリに記憶することができる。他のコンピュータのメモリにＲＡＰ２００を記憶することにより、プロセッサの作業負荷を単一のプロセッサにではなく複数のプロセッサに分散させることができる。様々なメモリにわたるＲＡＰ２００の他の構成も当業者には周知のものである。本発明は、方法、スタンドアロンのコンピュータ・プログラム、または既存のコンピュータ・プログラムへのプラグインであり得る。当業者であれば、ここに説明したようなコンピュータ・プログラムを、既存のコンピュータ・プログラムに接続するためにはどのように構成すべきかを知っている。
【００２２】
図３は、本発明の資源割振りプログラム（ＲＡＰ）２００の論理を示す。ＲＡＰ２００は、複数のポリシーの基づいてシステム資源をアプリケーションに割り振るプログラムである。そのシステムは、コンピュータ・ネットワーク、ＪＶＭ（Java Virtual Machine）や「．ＮＥＴ」ＣＬＲ（Common Language Runtime）などの仮想マシン、オペレーティング・システム、データベース・システム、メッセージング・システム、またはアプリケーション・サーバであり得る。当業者なら本発明の概念を実施できる他のタイプのシステムも知っていよう。ＲＡＰ２００はユーザが起動すると開始する（２０２）。ここでの説明用として、ユーザはネットワーク管理者でよい。次いで、ＲＡＰ２００は、ユーザがポリシーを定義したいかどうか判定する（２０４）。ユーザは、ドロップダウン・メニューから「ポリシーを定義する」選択肢を選択することによってポリシーの定義を望むことを示すことができる。ユーザがポリシーの定義を望まない場合、ＲＡＰ２００はステップ２０８に進む。ユーザがポリシーを定義したい場合、資源割振りテーブル３００中でポリシーを定義する（２０６）。ポリシーの定義では、ユーザは、任意の数のポリシー、資源、または資源の割振りあるいはそれらの組合わせを追加し、削除し、または修正することができる。資源割振りテーブル３００の一実施形態の例を図４で示す。次いで、ＲＡＰ２００はステップ２０８に進む。
【００２３】
次いで、ステップ２０８で、ＲＡＰ２００はユーザがポリシーをアプリケーションに割り当てたいかどうか判定する（２０８）。ユーザは、ドロップダウン・メニューから「ポリシーを割り当てる」選択肢を選択することにより、ポリシーの割当てを望むことを示すことができる。ユーザがポリシーをアプリケーションに割り当てたくない場合、ＲＡＰ２００はステップ２１２に進む。ユーザがポリシーをアプリケーションに割り当てたい場合は、ユーザはポリシーをポリシー割振りテーブル４００中でアプリケーションに割り当てる（２１０）。ポリシーを割り当てるときは、ユーザが任意の数のポリシーまたはアプリケーションあるいはその両方を追加し、削除し、または修正することができる。ポリシー割振りテーブル４００の一実施形態の例を図５で示す。次いで、ＲＡＰ２００は、ステップ２１２に進む。
【００２４】
ステップ２１２で、ＲＡＰ２００は、アプリケーションが資源を要求しているかどうか判定する（２１２）。アプリケーションが資源を要求していない場合、ＲＡＰ２００はステップ２２０に進む。アプリケーションが資源を要求している場合は、ＲＡＰ２００は、ポリシー・アプリケーション・テーブル４００を用いて、アプリケーションに関連付けられたポリシーを決定する（２１４）。次いで、ＲＡＰ２００は、資源割振りテーブル３００を用いてポリシーに関連付けられた資源の割振りを決定する（２１６）。次いで、ＲＡＰ２００は、資源割振りテーブル３００中の資源割振り値に基づいて資源をアプリケーションに割り振る（２１８）。本発明は、資源割振りテーブル３００中で定義された制限に従って、アプリケーションに利用できる資源量を割り振るように構成することができる。例えば、３０ＧＢのメモリが利用可能であり、適用可能なポリシーが資源の割振りを４０ＧＢのメモリに制限している場合、ＲＡＰ２００はすぐに利用可能なメモリの３０ＧＢをアプリケーションに割り当てる。あるいは、本発明は、資源割振りテーブル３００中で定義された資源の量が利用可能になるまで待ち、次いで要求しているアプリケーションに全体量を割り振るように構成することもできる。例えば、３０ＧＢのメモリが利用可能であり、ポリシーが資源の割振りを４０ＧＢのメモリに制限している場合、ＲＡＰ２００は他の１０ＧＢのメモリが利用可能になるまで待ち、次いで４０ＧＢのメモリ全体をアプリケーションに割り振るようにする。当業者なら、これらの各分配方法が資源の割振りにおいて有利である状態を知っていよう。次いで、ＲＡＰ２００は、ユーザが終了を望むことを示しているかどうか判定する（２２０）。ユーザはＲＡＰ２００を閉じることにより終了を望むことを示すことができる。ユーザがＲＡＰ２００の終了を望まない場合、ＲＡＰ２００はステップ２１２に戻る。ユーザがＲＡＰ２００を終了したい場合、ＲＡＰ２００は停止する（２２２）。
【００２５】
図４は、資源割振りテーブル３００を示す。資源割振りテーブル３００は、ポリシーごとに資源の割振りを定義するテーブルである。資源割振りテーブル３００は、ポリシー３０２と、各ポリシー３０２に関連付けられた資源の割振り３０４との一覧を含む。資源割振りテーブル３００の各行は、ポリシーに関連付けられた特有の資源量を定義する。例えば、ポリシーＰ１によれば、資源（Ｒ１）の最高１０パーセントまで、資源（Ｒ２）の最高２０パーセントまで、資源（Ｒ３）の最高７０パーセントまで、および資源（Ｒ４）の資源２０パーセントまで使用することができる。
【００２６】
資源割振りテーブル３００では、ユーザは資源の割振り３０４内に任意の数の資源を構成することができる。例えば、資源がデータベース資源である場合、資源（Ｒ１）がデータベースのヒープ・サイズ（heap size）であり、資源（Ｒ２）がＳＱＬ命令文のヒープ・サイズであり、資源（Ｒ３）がアプリケーションごとのロック・リストであり、資源（Ｒ４）がアプリケーションごとの最大のデータベース・ファイルとすることができる。当業者であれば、プロセッサや、メモリ、アダプタ、入出力ポートなど他のタイプのコンピュータおよびデータベースの資源を知っていよう。
【００２７】
資源割振りテーブル３００により、要求する個々のアプリケーションに割り振られる資源の最大量を、ユーザが指定することができる。所望の場合は、ユーザはまた、ポリシーの最大数およびシステムのデフォルト・ポリシーを構成することもできる。例えば、ユーザは、そのデフォルト・ポリシーがポリシーＰ１であるように構成することもできる。さらに、ユーザは、システムが最大４つのポリシーを受け入れるように構成することもできる。当業者なら本発明を構成するための他の代替方法を知っていよう。
【００２８】
図５は、ポリシー割振りテーブル４００を示す。ポリシー割振りテーブル４００は、各アプリケーションに関連付けられたポリシーを定義するテーブルである。ポリシー割振りテーブル４００は、アプリケーション４０２およびアプリケーション４０２に関連付けられたポリシー４０４の一覧を含む。アプリケーション４０２は、それが関連するカスタマーの状況に全く依存していない。ポリシー割振りテーブル４００中の各行は、個々のポリシー４０４を個々のアプリケーション４０２に関連付けている。例えば、アプリケーションＡ１は、ポリシーＰ１に従って資源が割り振られる。したがって、アプリケーションＡ１は、資源（Ｒ１）の最高１０パーセントまで、資源（Ｒ２）の最高２０パーセントまで、資源（Ｒ３）の最高７０パーセントまで、資源（Ｒ４）の最高２０パーセントまで割り振られることになる。ユーザは、任意のポリシーを有する任意のアプリケーションを構成することができる。ユーザはまた、図５のポリシー割振りテーブル４００の最終行で示すように、ポリシー割振りテーブル４００中にリストされていないアプリケーションに対してポリシーを定義することもできる。
【００２９】
図６は、アプリケーション５０２、ポリシー５０４、および資源５０６の相互関係を示す。各アプリケーション５０２が個々のポリシー５０４に関連付けられている。各ポリシー５０４は、要求しているアプリケーション５０２に割り振ることができる資源５０６の量を定義する。図６は、ポリシーに関連付けられた１つの資源、すなわち資源（Ｒ１）を示しているだけであるが、実際には各ポリシーは複数の資源の割振りを定義する。アプリケーションは、以下で示すように接続文字列（connection string）中にポリシー識別子を含めることによってデータベースに接続することができる。
Connection con = DeviceManager.getConnection (driver, userid, password, policy_id)、
Connection con = DeviceManager.getConnection (databaseURL, userid, password, policy_id)、または
Connection con = DeviceManager.getConnection ("jdbc: db2: MPS3DBN", "A1","ibm", P1)。
アプリケーションが接続文字列中でポリシーを指定しない場合はデフォルト・ポリシーを用いて資源をアプリケーションに割り振ることになる。ポリシー識別子のない接続文字列の一例を次に示す。
Connection con = DeviceManager.getConnection ("jdbc: db2: MPS3DBN", "A1","ibm")。
【００３０】
前記の説明に関して、サイズ、材料、形状、形態、機能、動作方法、組み立て、および使用における変形形態を含めた本発明の構成部分の最適な設計は、当業者には明白かつ自明であると見なされることを理解されたい。本発明は、図面で示し明細書で説明したものに対する等価な関係すべてを包含する。本発明の新規な趣旨は、この開示に含まれる諸ステップのうちのいくつかを並べ替えまたは削除してもやはり達成される。本発明の趣旨は、添付の特許請求の範囲の適切な構成によってのみ限定され、それ以外の任意の方法によって限定されることを意味していない。
【図面の簡単な説明】
【００３１】
【図１】本発明を実施するために用いられるコンピュータ・ネットワークを示す図である。
【図２】本発明に関連する、メモリおよびプロセッサを含むコンピュータを示す図である。
【図３】本発明の資源割振りプログラム（ＲＡＰ）の論理を示す図である。
【図４】本発明の資源割振りテーブルを示す図である。
【図５】本発明のポリシー割振りテーブルを示す図である。
【図６】本発明のアプリケーション、ポリシー、および資源の間の相互関係を示す図である。
【符号の説明】
【００３２】
９０  コンピュータ・ネットワーク
９１  サーバ
９２  データベース
９３  遠隔コンピュータ
９４  遠隔コンピュータ
９５  ローカル・コンピュータ
９６  ネットワーク
１００  メモリ
１０２  表示装置
１０４  ユーザ入力装置
１０６  プロセッサ
２００  資源割振りプログラム（ＲＡＰ）
３００  資源割振りテーブル
３０２  ポリシー
３０４  資源の割振り
４００  ポリシー割振りテーブル、ポリシー・アプリケーション・テーブル
４０２  アプリケーション
４０４  ポリシー
５０２  アプリケーション
５０４  ポリシー
５０６  資源
【図１】
0004677239.tif 000002
【図２】
0004677239.tif 000003
【図３】
0004677239.tif 000004
【図４】
0004677239.tif 000005
【図５】
0004677239.tif 000006
【図６】
0004677239.tif 000007