(57)【特許請求の範囲】
【請求項１】
管理システムのリソースを管理するための方法であって、
借用者から、管理システムの複数のリソースの１つに対する要求を受信するステップであり、リソースが、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を備える階層リソースプール（ＨＲＰ）を使用して管理されるステップを含み、システムが、複数のリソースタイプのリソースを備え、ＨＲＰを使用して管理されるリソースが、リソースタイプの１つのリソースであり、前記方法は、
リソース要求に関連するＶＲＰを特定するステップと、
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップと
を含む、方法。
【請求項２】
ＶＲＰの個々が、それに関連する少なくとも１つの特性を有し、リソース要求に関連するＶＲＰを特定するステップが、
リソース要求に関連する少なくとも１つの特性を特定するステップと、
リソース要求の少なくとも１つの特性が、ＶＲＰの少なくとも１つの特性と一致するＶＲＰを特定するステップと
を含む、請求項１に記載の方法。
【請求項３】
借用者が、第１の借用者であり、
第２の借用者から、第２のリソース要求を受信するステップと、
第１の借用者に関連する第１の優先順位および第２の借用者に関連する第２の優先順位に基づいて、最初に、第１の要求にサービス提供すべきか、それとも第２の要求にサービス提供すべきかを決定するステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップが、借用者の優先順位に基づいて遂行され、借用者の優先順位が、借用者の現在のリソース割当てに基づく、請求項１に記載の方法。
【請求項５】
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップが、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るかどうかを決定するステップ
を含む、請求項１に記載の方法。
【請求項６】
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るという決定に応答して、特定されたＶＲＰから借用者に、要求されるリソースを割当てるステップ又は、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、借用者のリソース要求にサービス提供する際の特定されたＶＲＰによる使用のために、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てすべきかどうかを決定するステップ
をさらに含む、請求項５に記載の方法。
【請求項７】
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てするステップ
をさらに含む、請求項５に記載の方法。
【請求項８】
管理システムのリソースを管理するための装置であって、
借用者から、管理システムの複数のリソースの１つに対する要求を受信するための手段であり、リソースが、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を備える階層リソースプール（ＨＲＰ）を使用して管理される手段を備え、システムが、複数のリソースタイプのリソースを備え、ＨＲＰを使用して管理されるリソースが、リソースタイプの１つのリソースであり、前記装置は、
リソース要求に関連するＶＲＰを特定するための手段と、
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するための手段と
を備える、装置。
【請求項９】
プロセッサにより実行される場合に、プロセッサに、管理システムのリソースを管理するための方法を遂行させる命令を記憶するコンピュータ可読媒体であって、方法が、
借用者から、管理システムの複数のリソースの１つに対する要求を受信するステップであり、リソースが、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を備える階層リソースプール（ＨＲＰ）を使用して管理されるステップを含み、システムが、複数のリソースタイプのリソースを備え、ＨＲＰを使用して管理されるリソースが、リソースタイプの１つのリソースであり、前記方法は、
リソース要求に関連するＶＲＰを特定するステップと、
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップと
を含む、コンピュータ可読媒体。
【請求項１０】
ＶＲＰの個々が、それに関連する少なくとも１つの特性を有し、リソース要求に関連するＶＲＰを特定する手段が、
リソース要求に関連する少なくとも１つの特性を特定する手段と、
リソース要求の少なくとも１つの特性が、ＶＲＰの少なくとも１つの特性と一致するＶＲＰを特定する手段と
を含む、請求項８に記載の装置。
【請求項１１】
借用者が、第１の借用者であり、
第２の借用者から、第２のリソース要求を受信するス手段と、
第１の借用者に関連する第１の優先順位および第２の借用者に関連する第２の優先順位に基づいて、最初に、第１の要求にサービス提供すべきか、それとも第２の要求にサービス提供すべきかを決定する手段と
をさらに含む、請求項８に記載の装置。
【請求項１２】
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定する手段が、借用者の優先順位に基づいて遂行され、借用者の優先順位が、借用者の現在のリソース割当てに基づく、請求項８に記載の装置。
【請求項１３】
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定する手段が、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るかどうかを決定する手段
を含む、請求項８に記載の装置。
【請求項１４】
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るという決定に応答して、特定されたＶＲＰから借用者に、要求されるリソースを割当てる手段、又は、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、借用者のリソース要求にサービス提供する際の特定されたＶＲＰによる使用のために、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てすべきかどうかを決定する手段
をさらに含む、請求項１３に記載の装置。
【請求項１５】
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てする手段
をさらに含む、請求項１３に記載の装置。
【請求項１６】
ＶＲＰの個々が、それに関連する少なくとも１つの特性を有し、リソース要求に関連するＶＲＰを特定するステップが、
リソース要求に関連する少なくとも１つの特性を特定するステップと、
リソース要求の少なくとも１つの特性が、ＶＲＰの少なくとも１つの特性と一致するＶＲＰを特定するステップと
を含む、請求項９に記載のコンピュータ可読媒体。
【請求項１７】
借用者が、第１の借用者であり、前記方法が、
第２の借用者から、第２のリソース要求を受信するステップと、
第１の借用者に関連する第１の優先順位および第２の借用者に関連する第２の優先順位に基づいて、最初に、第１の要求にサービス提供すべきか、それとも第２の要求にサービス提供すべきかを決定するステップと
をさらに含む、請求項９に記載のコンピュータ可読媒体。
【請求項１８】
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップが、借用者の優先順位に基づいて遂行され、借用者の優先順位が、借用者の現在のリソース割当てに基づく、請求項９に記載のコンピュータ可読媒体。
【請求項１９】
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップが、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るかどうかを決定するステップ
を含む、請求項９に記載のコンピュータ可読媒体。
【請求項２０】
前記方法が、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るという決定に応答して、特定されたＶＲＰから借用者に、要求されるリソースを割当てるステップ又は、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、借用者のリソース要求にサービス提供する際の特定されたＶＲＰによる使用のために、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てすべきかどうかを決定するステップ
をさらに含む、請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
前記方法が、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てするステップ
をさらに含む、請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ここにその全体が引用により本明細書に組み込まれている、２０１０年３月１６日に出願した、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＭＡＮＡＧＩＮＧ  ＲＥＡＬＬＯＣＡＴＩＯＮ  ＯＦ  ＳＹＳＴＥＭ  ＲＥＳＯＵＲＣＥＳ」という名称の、米国特許出願第１２／７２４５７８号［代理人整理番号８０７１１６−ＵＳ−ＮＰ］に関係する。
【０００２】
本発明は、一般には、ネットワーク管理システムなどのシステムのシステムリソースに関係し、より具体的には、ただし排他的ではなく、システムリソースの管理に関係する。
【背景技術】
【０００３】
ネットワーク管理システム（ＮＭＳ）は、多くの異なるタイプの通信ネットワークを管理するために使用される。ＮＭＳは、典型的には、様々な態様の通信ネットワークを管理する際に使用するための多くのネットワーク管理機能をサポートする。ネットワーク管理機能は、ＮＭＳの様々なハードウェアおよびソフトウェアのリソース、例えば、プロセッサスレッド、メモリ等を使用して提供される。その結果、ＮＭＳのリソースは、様々なネットワーク管理機能を提供するために必要とされるリソースに対する競合する要求によって、重大なコンテンションのもとにあることが多い。多くの場合、ＮＭＳリソース自体が、ＮＭＳの性能、信頼性、予測性、およびスケーラビリティを保証するために管理されなければならない。ＮＭＳリソースの不適切な管理は、ＮＭＳプラットフォームの効率低下を、したがって、ＮＭＳのユーザおよびＮＭＳにより管理される通信ネットワークの顧客に対して低質の使用感をもたらすことが多い。さらに、ＮＭＳリソースの不適切な管理に起因し得るリソースの枯渇が、実際の問題と関連付けるのが困難である種々の形で現れる場合があり、それは、リソースの枯渇の根本の原因に関する可視性が、実質的に存在しないようなものである。ＮＭＳリソース管理体系は今日存在するが、これらの手法は、ＮＭＳの性能、信頼性、予測性、およびスケーラビリティの保証を可能にすることになる、リソース管理に対する制御のレベルを提供することなく、システムスループットとリソース消費との間のバランスを維持するように単に努めるだけである。
【発明の概要】
【課題を解決するための手段】
【０００４】
従来技術での様々な欠陥が、システムのリソースを管理するための実施形態により対処される。システムのリソースを管理するための能力が提供される。システムリソースは、システムリソースの階層組織化を使用して管理される。システムのリソースは、少なくとも１つの階層リソースプールを使用して管理され、階層リソースプールは、マスタリソースプールおよび複数の仮想リソースプールを含む。マスタリソースプールは、階層リソースプールにより管理されるリソースの論理表現を含む。仮想リソースプールは、階層リソースプールにより管理されるリソースのそれぞれの部分集合の論理表現を含む。１つの実施形態では、管理システムのリソースを管理するための方法は、借用者から、管理システムの複数のリソースの１つに対するリソース要求を受信するステップであり、リソースが、階層リソースプールを使用して管理されるステップと、リソース要求に関連する仮想リソースプールを特定するステップと、特定された仮想リソースプールからリソース要求にサービス提供すべきかどうかを決定するステップとを含む。
【０００５】
本明細書での教示は、添付の図面に連関した以下の詳細な説明を考察することにより、容易に理解され得る。
【図面の簡単な説明】
【０００６】
【図１】システムリソースを有する例示的なネットワーク管理システムの高レベルのブロック図である。
【図２】図１のＮＭＳのリソースタイプのリソースのための、例示的な階層リソースプールの図である。
【図３】図２の例示的な階層リソースプールを管理するための、例示的な管理体系の図である。
【図４】図２の例示的な階層リソースプールを管理するための、例示的な管理体系の図である。
【図５】システムのリソースを要求する借用者からのリソース要求を処理するための方法の１つの実施形態の図である。
【図６】借用者間でリソースを再割当てすべきかどうかを決定するための方法の１つの実施形態の図である。
【図７】本明細書で説明される機能を遂行する際の使用に適したコンピュータの高レベルのブロック図である。
【発明を実施するための形態】
【０００７】
理解を容易にするために、同一の参照番号が、可能な場合に、複数の図面に対して共通である同一の要素を指定するために使用されている。
【０００８】
リソース管理能力が、本明細書で図示かつ説明される。リソース管理能力は、システムのリソースの管理を可能にし、システムリソースの割当ておよび割当て解除、システムリソースの再割当て、ならびに同様のリソース管理機能を含む。リソース管理能力は、リソース管理に対する細粒度の制御を提供し、それによって、リソース管理能力が利用されるシステムの性能、信頼性、予測性、およびスケーラビリティの保証を可能にする。本明細書では、主として、特定のタイプのシステムの特定のタイプのリソース（例えば、プロセッサスレッド、メモリ、および同様のネットワーク管理システムのリソース）を管理するためのリソース管理能力の使用に関して図示かつ説明されるが、本明細書で図示かつ説明されるリソース管理能力は、管理され得るリソースを有する、任意の適したタイプのシステムの任意の適したタイプのリソースを管理するために使用され得る。
【０００９】
図１は、例示的なネットワーク管理システム（ＮＭＳ）の高レベルのブロック図を図示する。
【００１０】
ＮＭＳ１００は、リソース１１０を含む。リソース１１０は、異なるタイプのＮＭＳに対して変動し得る、ＮＭＳの任意のリソースを含み得る。リソース１１０は、複数のリソースタイプ１１２１−１１２Ｎ（集合的には、リソースタイプ１１２）のリソースを含む。例えば、リソース１１０は、プロセッサスレッド、メモリ、データベース接続、ネットワーク接続等のような、リソースタイプ１１２のリソースを含み得る。リソースタイプ１１２は、任意の適した様式で定義され得る。
【００１１】
ＮＭＳ１００は、リソース管理インフラストラクチャ（ＲＭＩ）１２０を使用してリソース１１０を管理する。
【００１２】
ＲＭＩ１２０は、リソース１１０の階層管理を提供する。１つの実施形態では、ＲＭＩ１２０は、リソースタイプごとを基準にして、階層リソース管理を提供する。１つのそのような実施形態では、ＲＭＩ１２０は、それぞれ、リソースタイプ１１２１−１１２Ｎのリソース１１０を管理する際に使用するための、複数の階層リソースプール（ＨＲＰ）１２２１−１２２Ｎ（集合的には、ＨＲＰ１２２）を含む。この様式では、ＮＭＳ１００のリソースタイプ１１２の個々は、ＮＭＳ１００の他のリソースタイプ１１２の個々と無関係に管理され得る。
【００１３】
１つの実施形態では、ＨＲＰ１２２は、個々が、関連するリソースタイプ１１２のリソース１１０を管理する際に使用するための、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を含む。ＨＲＰ１２２は、関連するリソースタイプ１１２のリソース１１０の階層管理を遂行する際に使用するための階層木構造で組織化される。１つの実施形態では、ＭＲＰは、階層木構造の根を形成し、ＶＲＰは、階層木構造の残りを形成する。ＶＰＲは、任意の適した様式で（例えば、任意の適した数の階層レベルを使用して、階層レベル（複数可）にわたるＶＲＰの任意の適した配置構成を使用して、ＭＲＰおよびＶＲＰの間で任意の適した親／子関係を使用してなど、ならびにそれらの様々な組み合わせで）階層木構造内で組織化され得る。
【００１４】
１つの実施形態では、所与のＨＲＰ１２２に対するＭＲＰは、所与のＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０のすべての論理表現であり、それによって、所与のＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０の管理を容易にする。所与のＨＲＰ１２２に対するＭＲＰは、ＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０の管理に関連する任意のリソース管理機能を遂行するために使用され得る。例えば、所与のＨＲＰ１２２に対するＭＲＰは、リソースライフサイクル管理（例えば、リソースの生成および破棄）、最小／最大管理（例えば、システム内の所与のリソースタイプ１１２のリソース１１０の数を施行すること）、リソースリース管理（例えば、リース継続期間および他の関連するリソースリースパラメータ）、借用者優先順位管理、アイドルタイムアウト管理、リソース要求優先順位付け管理、リソースプリエンプション管理等、およびそれらの様々な組み合わせなどのリソース管理機能を遂行するために使用され得る。
【００１５】
１つの実施形態では、所与のＨＲＰ１２２に対するＶＲＰは、それぞれ、所与のＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０の部分集合の論理表現（したがって、所与のＨＲＰ１２２のＭＲＰのリソース１１０の部分集合の論理表現）であり、それによって、所与のＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０のそれぞれの部分集合の管理を容易にする。所与のＨＲＰ１２２に対するＶＲＰは、ＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０の関連する部分集合の管理に関連する任意のリソース管理機能を遂行するために使用され得る。
【００１６】
そのような実施形態では、リソース１１０の論理表現は、任意の適したタイプの論理表現を使用して実施（したがって、管理）され得る。例えば、１つの実施形態では、リソース１１０の論理表現は、リソース１１０の個々が、それぞれのリソース１１０の論理表現を提供するトークンに関連している場合のように、トークンを使用して実施され得る。そのような実施形態では、ＲＭＩは、トークンを、それぞれ、リソース１１０を管理するための手段として利用することができる。主として、リソース１１０の論理表現としてのトークンの使用に関して説明されるが、リソース１１０を論理的に表現する、したがって制御する任意の他の適した手段が利用され得ることが理解されよう。
【００１７】
所与のＨＲＰ１２２に対するＶＲＰは、任意の適した様式で、リソース１１０のそれぞれの部分集合を取得することができる。所与のＨＲＰ１２２に対するＶＲＰは、リソースのそれぞれの部分集合（または、リソースの部分集合の少なくとも一部分）を、ＨＲＰ１２２のＭＲＰから、（例えば、ＭＲＰからそれぞれのＶＲＰに対して行われる、リソース１１０の部分集合の初期の割当ての一部として、ＭＲＰからＶＲＰの一部もしくは全部に対する、リソース１１０の静的および／もしくは動的な再割当ての一部としてなど、ならびにそれらの様々な組み合わせで）取得することができる。所与のＨＲＰ１２２の所与のＶＲＰは、その関連するリソース１１０の部分集合（または、その関連するリソース１１０の部分集合の少なくとも一部分）を、所与のＨＲＰ１２２の１つまたは複数の他のＶＲＰから、（例えば、所与のＶＲＰに対する、１つもしくは複数の他のＶＲＰの未割当ての／利用可能なリソースの再割当てをもたらし得る、１つもしくは複数の他のＶＲＰへの要求を使用して、所与のＶＲＰに対する、１つもしくは複数の他のＶＲＰの割当てられたリソースの再割当てをもたらし得る、ＭＲＰへの要求を使用してなど、ならびにそれらの様々な組み合わせで）取得することができる。
【００１８】
この様式では、所与のＨＲＰ１２２のリソース１１０は、任意の適した様式で、ＶＲＰにわたって、静的および／または動的に、割当ておよび／または再割当てされ得る。そのような実施形態では、ＶＲＰにより始動されるリソースの割当ておよび／または再割当ての要求は、任意の適した様式で、（例えば、ＨＲＰ１２２の階層レベルを飛ばすことを伴って、および／もしくはそれを伴わずに、ＨＲＰ１２２の枝を渡ることを伴って、および／もしくはそれを伴わずになど、ならびにそれらの様々な組み合わせで）ＨＲＰ１２２内を流れ得る。少なくとも１つのそのような実施形態では、リソース要求は、階層木構造の葉から階層木構造の根に向かう（すなわち、ＭＲＰに向かう）方向に流れ、リソースは、階層木構造の根から、下りで階層木構造の葉に向かう（すなわち、ＶＲＰに向かう）方向に流れる。
【００１９】
所与のＨＲＰ１２２のＶＲＰは、個々が、それに関連する１つまたは複数の借用特性を有する。所与のＨＲＰ１２２のＶＲＰの借用特性（複数可）は、所与のＨＲＰ１２２の階層木構造を形成するために、ＶＲＰを定義し、ＶＲＰの配置構成を組織化するために利用され得る。所与のＨＲＰ１２２のＶＲＰの借用特性は、所与のＨＲＰ１２２により管理されるリソースタイプ１１２のリソース１１０を管理するために（例えば、所与のＨＲＰ１２２のＶＲＰに対するリソース１１０のそれぞれの部分集合の割振りのために、所与のＨＲＰ１２２のＶＲＰ間のリソース１１０のプリエンプションのためになど、およびそれらの組み合わせで）利用され得る。所与のＨＲＰ１２２のＶＲＰの借用特性は、所与のＨＲＰ１２２のリソースタイプ１１２のリソース１１０の管理に関連する任意の他の適した目的のために使用され得る。
【００２０】
所与のＨＲＰ１２２のＶＲＰの借用特性は、所与のＨＲＰ１２２のＶＲＰを定義かつ組織化する際に、所与のＨＲＰ１２２により管理されるリソースタイプ１１２のリソース１１０を管理する際になど、およびそれらの様々な組み合わせの際に使用するのに適した任意の特性であり得る。例えば、所与のＨＲＰ１２２のＶＲＰの借用特性は、ＨＲＰ１２２のリソース１１０が使用されることになる目的を指示する特性、ＨＲＰ１２２のリソース１１０を使用していることになる借用者のタイプ（例えば、コンポーネント、アプリケーション、プロセス、ユーザ等）を指示する特性等、およびそれらの様々な組み合わせであり得る。
【００２１】
この様式では、所与のＨＲＰ１２２のＶＲＰは、ＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０の部分集合、すなわち、それぞれのＶＲＰに関連するリソース１１０の部分集合が、異なる条件のもとで使用され得るように、定義かつ組織化され得る。
【００２２】
所与のＨＲＰ１２２が関連するリソースタイプ１１２のリソース１１０を管理するための、所与のＨＲＰ１２２のＶＲＰの定義および組織化は、以下の例によってより良く理解され得る。
【００２３】
例えば、１つの実施形態では、ＨＲＰ１２２によって管理されるプロセッサスレッドに対して、ＭＲＰは、ＮＭＳ１００のプロセッサスレッドの全部（または、一部の実施形態では、部分集合）を含み、複数のＶＲＰは、ＶＲＰの関連する借用特性により指定されるような異なる条件のもとでの使用のための、ＮＭＳ１００のプロセッサスレッドのそれぞれの部分集合を含み得る。例えば、プロセッサスレッドの第１および第２の部分集合（すなわち、それぞれ、プロセッサスレッドに対する第１および第２のＶＲＰ）は、それぞれ、ＮＭＳ１００内で実行する内部アプリケーションに対するプロセッサスレッドの割当てのために、および、ＮＭＳ１００の外部のアプリケーションから受信される要求を処理するためのプロセッサスレッドの割当てのために定義され得る。プロセッサスレッドは、任意の他の適した様式で、任意の適した借用特性を使用して、ＶＲＰの間で割当てられ得ることが理解されよう。
【００２４】
例えば、１つの実施形態では、ＨＲＰ１２２によって管理されるメモリに対して、ＭＲＰは、ＮＭＳ１００のメモリリソースの全部（または、一部の実施形態では、部分集合）を含み、複数のＶＲＰは、ＶＲＰの関連する借用特性により指定されるような異なる条件のもとでの使用のための、ＮＭＳ１００のメモリリソースのそれぞれの部分集合を含み得る。例えば、メモリの第１、第２、および第３の部分集合（すなわち、それぞれ、メモリリソースに対する第１、第２、および第３のＶＲＰ）は、それぞれ、（１）ＮＭＳ１００により始動される内部プロセス、（２）ＮＭＳ１００と通信している他のシステムから受信されるシステム要求、および（３）ＮＭＳ１００のユーザから受信されるユーザ要求の処理に対するメモリの割当てのために定義され得る。この例では、ＮＭＳ１００のユーザから受信されるユーザ要求に関連するメモリの第３の部分集合は、それぞれ、（ａ）第１のネットワークオペレーションズセンタに位置するＮＭＳ１００のユーザ、および（ｂ）第２のネットワークオペレーションズセンタに位置するＮＭＳ１００のユーザから受信されるユーザ要求の処理に対するメモリの２つの部分集合（すなわち、それぞれ、第４のＶＲＰおよび第５のＶＲＰ）を形成するためにさらに細分化され得る。メモリは、任意の他の適した様式で、任意の適した借用特性を使用して、ＶＲＰの間で割当てられ得ることが理解されよう。
【００２５】
例えば、１つの実施形態では、ＨＲＰ１２２によって管理されるデータベース接続に対して、ＭＲＰは、ＮＭＳ１００のデータベース接続の全部（または、一部の実施形態では、部分集合）を含み、複数のＶＲＰは、ＶＲＰの関連する借用特性により指定されるような異なる条件のもとでの使用のための、ＮＭＳ１００のデータベース接続のそれぞれの部分集合を含み得る。例えば、データベース接続の第１および第２の部分集合（すなわち、それぞれ、データベース接続に対する第１および第２のＶＲＰ）は、それぞれ、（１）上りの「読み出し」動作（例えば、クライアントからの要求）、（２）ＮＭＳ１００内の内部アプリケーション（例えば、ＮＭＳ１００で受信される警報の処理、ＮＭＳ１００により始動されるテスト実行等）に対するデータベース接続の割当てのために定義され得る。データベース接続は、任意の他の適した様式で、任意の適した借用特性を使用して、ＶＲＰの間で割当てられ得ることが理解されよう。
【００２６】
例えば、１つの実施形態では、ＨＲＰ１２２によって管理されるネットワーク接続に対して、ＭＲＰは、ＮＭＳ１００のネットワーク接続の全部（または、一部の実施形態では、部分集合）を含み、複数のＶＲＰは、ＶＲＰの関連する借用特性により指定されるような異なる条件のもとでの使用のための、ＮＭＳ１００のネットワーク接続のそれぞれの部分集合を含み得る。例えば、ネットワーク接続の第１および第２の部分集合（すなわち、それぞれ、データベース接続に対する第１および第２のＶＲＰ）は、それぞれ、（１）ＮＭＳ１００により管理されているネットワーク要素に対する接続、および（２）ネットワーク要素を管理するためのＮＭＳ１００を使用するユーザのユーザ端末に対する接続に対するネットワーク接続の割当てのために定義され得る。この例では、ＮＭＳ１００により管理されているネットワーク要素に対する接続に関連するネットワーク接続の第１の部分集合は、ネットワークデバイスの複数の部分集合の管理に関連するネットワーク接続の多くの部分集合を形成するためにさらに細分化され得る（例えば、ネットワーク要素の重要度、ネットワーク要素の地理的位置、および／または、そのような細分化が基づき得る任意の他の適した特性に基づいて）ものであり、ユーザ端末に対する接続に関連するネットワーク接続の第２の部分集合は、ユーザ端末の複数の部分群に関連するネットワーク接続の多くの部分集合を形成するためにさらに細分化され得る（例えば、ユーザ端末のユーザにより遂行される機能のタイプ、ユーザ端末の地理的位置、および／または、そのような細分化が基づき得る任意の他の適した特性に基づいて）。ネットワーク接続は、任意の他の適した様式で、任意の適した借用特性を使用して、ＶＲＰの間で割当てられ得ることが理解されよう。
【００２７】
前述の例は、主として、所与のリソースタイプ１１２のリソース１１０の全部が、単一のＨＲＰ１２２を使用して管理される（したがって、単一のＨＲＰ１２２のＭＲＰが、所与のリソースタイプ１１２のリソース１１０の全部を含む）実施形態を対象とするが、様々な他の実施形態では、所与のリソースタイプ１１２のリソース１１０は、個々のＨＲＰ１２２（したがって、個々の関連するＭＲＰ）がリソースタイプ１１２のリソース１１０の部分集合のみを含むように、複数のＨＲＰ１２２を使用して管理され得る。同様に、前述の例は、主として、ＨＲＰ１２２の個々が、ただ１つのリソースタイプ１１２のリソース１１０を管理する実施形態を対象とするが、様々な他の実施形態では、１つまたは複数のＨＲＰ１２２が、複数のリソースタイプ１１２のリソース１１０を管理する場合がある。
【００２８】
異なる例示的なリソースタイプに対して提供される実施例の個々に関して上記で説明されたように、前述の実施例の個々で定義されたＨＲＰ１２２において、ＶＲＰの１つまたは複数は、任意の数の内包するＶＲＰ（すなわち、任意の適した部分木）を含むように、それぞれ、細分化されているＶＲＰ（複数可）に固有の１つまたは複数の借用特性に基づいて、さらに細分化され得る。この様式では、ＨＲＰ１２２の個々は、任意の適した借用特性および／または借用特性の組み合わせに基づく、任意の適した配置構成を使用して組織化された、任意の適した数のＶＲＰを有する、任意の適した階層木構造を使用して定義され得る。
【００２９】
前述の例は、単に、ＶＲＰが異なるリソースタイプに対して定義され得る様式を解説するために提供されることが理解されよう。これらのリソースタイプ、および任意の他のリソースタイプの個々に対して、リソースタイプに対するＶＲＰが、任意の他の適した様式で定義および／または組織化され得る（例えば、異なる特性に基づいて定義され得る、異なる階層木構造で組織化され得るなど、およびそれらの組み合わせ）ということ、したがって、リソースタイプのリソースが、任意の他の適した様式で、ＶＲＰの間で割当てられ得ることが理解されよう。
【００３０】
主として、特定の数の階層レベルを有する特定の階層木構造で配置構成される、具体的な数のＶＲＰに関して図示かつ説明されるが、ＨＲＰ１２２は、任意の適した数の階層レベルを有する任意の適した階層木構造で配置構成される、任意の適した数のＶＲＰを含み得ることが理解されよう。異なるＨＲＰ１２２は、それらのリソースを管理するために、同一の、類似の、または異なる階層木構造を使用し得ることが理解されよう。
【００３１】
図２は、図１のＮＭＳのリソースタイプのリソースのための、例示的な階層リソースプールを図示する。
【００３２】
図２に図示されるように、例示的なＨＲＰ２００は、マスタリソースプール（ＭＲＰ）２０２Ｍ、および、７つの仮想リソースプール（ＶＲＰ）２０２Ｖ１−２０２Ｖ７（集合的には、ＶＲＰ２０２Ｖ）を含み、これらは、リソースプール（ＲＰ）２０２と集合的に呼ばれる場合がある。ＲＰ２０２は、木構造で階層的に配置構成され、ＭＲＰ２０２Ｍは、木構造の根を形成し、ＶＲＰ２０２Ｖは、木構造の残りを形成する。図２に図示されるように、ＶＲＰ２０２Ｖ１、２０２Ｖ２、および２０２Ｖ３は、ＭＲＰ２０２Ｍの子であり、ＶＲＰ２０２Ｖ４および２０２Ｖ５は、ＶＲＰ２０２Ｖ１の子であり、ＶＲＰ２０２Ｖ６は、ＶＲＰ２０２Ｖ３の子であり、ＶＲＰ２０２Ｖ７は、ＶＲＰ２０２Ｖ４の子である。
【００３３】
本明細書で説明されるように、例示的なＨＲＰ２００は、ＮＭＳ１００のリソース１１０の任意の適したリソースタイプ１１２を管理する際の使用のために定義され得る。例示的なＨＲＰ１２２を説明する際の明確性のために、例示的なＨＲＰ１２２は、ＮＭＳ１００のデータベース接続を管理する際の使用のために定義されるものと仮定し、さらに、１０００のデータベース接続が、ＮＭＳ１００上で利用可能であるものと仮定する。この例では、さらに、ＮＭＳ１００は、複数のネットワークオペレーションズセンタ（ＮＯＣ）のユーザによりアクセス可能であるものと仮定する。
【００３４】
この例では、ＭＲＰ２０２Ｍは、ＮＭＳ１００の１０００のデータベース接続の論理的な群化を提供し、それによって、ＮＭＳ１００の借用者１３０による使用のための、それらの１０００のデータベース接続の割当ての配置構成が可能になる。
【００３５】
この例では、ＶＲＰ２０２Ｖ１、２０２Ｖ２、および２０２Ｖ３は、それぞれ、（１）ＮＭＳ１００のユーザから受信されるユーザ要求に応答したデータベースアクセス、（２）ＮＭＳ１００により始動される内部プロセスによるデータベースアクセス、および（３）ＮＭＳ１００と通信しているシステムによるデータベースアクセスのためにデータベース接続を管理するものと仮定し、さらに、ＶＲＰ２０２Ｖ１、２０２Ｖ２、および２０２Ｖ３は、それぞれ、５００、３００、および２００のデータベース接続が割当てられるものと仮定する。
【００３６】
この例では、ＶＲＰ２０２Ｖ４および２０２Ｖ５は、それぞれ、（１）第１のＮＯＣに位置するＮＭＳ１００のユーザから受信されるユーザ要求に応答したデータベースアクセス、および（２）第２のＮＯＣに位置するＮＭＳ１００のユーザから受信されるユーザ要求に応答したデータベースアクセスのためにデータベース接続を管理するものと仮定し、さらに、ＶＲＰ２０２Ｖ４および２０２Ｖ５は、それぞれ、３００および２００のデータベース接続が割当てられるものと仮定する。この例では、ＶＲＰ２０２Ｖ７は、第１のＮＯＣに位置するＮＭＳ１００のユーザの部分集合（例えば、リソースへの即時アクセスを必要とする場合がある、したがって、それら自体のＶＲＰからサービス提供され得るスーパーバイザ）から受信されるユーザ要求に応答したデータベースアクセスのためにデータベース接続を管理するものと仮定し、さらに、ＶＲＰ２０２Ｖ７は、ＶＲＰ２０２Ｖ４に割当てられる３００のデータベース接続の１００が割当てられるものと仮定する（すなわち、第１のＮＯＣでの他のユーザのすべては、スーパーバイザによる使用のために予約されない２００のデータベース接続を共有しなければならない）。
【００３７】
この例では、ＶＲＰ２０２Ｖ６は、リソースへの即時アクセスを必要とする場合がある（したがって、それ自体のＶＲＰからサービス提供され得る）、ＮＭＳ１００と通信している、特定の高い優先順位のシステムによるデータベースアクセスのためにデータベース接続を管理するものと仮定し、さらに、ＶＲＰ２０２Ｖ６は、ＶＲＰ２０２Ｖ４に割当てられる３００のデータベース接続の５０が割当てられるものと仮定する（すなわち、ＮＭＳ１００と通信している他のシステムのすべては、高い優先順位のシステムによる使用のために予約されない１５０のデータベース接続を共有しなければならない）。
【００３８】
図２のＨＲＰ２００は、単に例示的であること、および、図１のＨＲＰ１２２は、様々な他の適した形で定義かつ組織化され得ることが理解されよう。
【００３９】
ＮＭＳ１００のリソースタイプ１１２のリソース１１０の管理の際に、図２の例示的なＨＲＰ２００などのＨＲＰ１２２を使用することは、図１の参照に戻って、より良く理解され得る。
【００４０】
図１に図示されるように、ＲＭＩ１２０は、管理能力１２５を含む。管理能力１２５は、ＲＭＩ１２０のＨＲＰ１２２を管理するための管理機能を提供するためのＲＭＩ１２０の能力を表す。ＲＭＩ１２０のＨＲＰ１２２は、任意の適した様式で管理され得る。
【００４１】
１つの実施形態では、ＨＲＰ１２２は、１つまたは複数のマネージャを使用して（例えば、ＨＲＰ１２２のすべてに対して単一のマネージャを使用して、ＨＲＰ１２２の１つもしくは複数がマネージャを共有する場合に、複数のマネージャを使用して、ＨＲＰ１２２の個々が専用のマネージャを有する場合に、複数のマネージャを使用してなど、ならびにそれらの様々な組み合わせで）管理され得る。
【００４２】
例えば、１つの実施形態では、単一のマネージャが、ＲＭＩ１２０のＨＲＰ１２２の個々を管理する。この実施形態では、単一のマネージャが、ＨＲＰ１２２の個々のＭＲＰおよび関連するＶＲＰの個々を含む、ＨＲＰ１２２の個々に、リソース管理機能を提供する役割を負う。（管理能力が、ＨＲＰ１２２の個々にリソース管理機能を提供する役割を負う単一のマネージャである）例示的な実施形態が、図１に関して図示される。
【００４３】
例えば、１つの実施形態では、ＲＭＩ１２０のＨＲＰ１２２の個々が、それ自体の専用のマネージャにより管理される。この実施形態では、ＨＲＰ１２２の個々に対して、関連するマネージャが、ＨＲＰ１２２のＭＲＰおよび関連するＶＲＰにリソース管理機能を提供する役割を負う。例示的な実施形態が、図３に関して図示される。
【００４４】
図３は、図２の例示的な階層リソースプールを管理するための、例示的な管理体系を図示する。図３に図示されるように、図１の管理能力１２５が、階層リソースプールマネージャ３０５を使用して提供される。階層リソースプールマネージャ３０５は、例示的なＨＲＰ２００に対する管理機能を遂行する。この実施形態では、例示的なＨＲＰ２００のＭＲＰおよび関連するＶＲＰにより、またはそれらを使用して遂行されているように、本明細書で図示かつ説明される様々な機能が、階層リソースプールマネージャ３０５により遂行される。この意味で、例示的なＨＲＰ２００のプール間での説明される相互作用は、説明される機能を提供するための、階層リソースプールマネージャ３０５の関連する命令およびルーチンの相互作用である。
【００４５】
例えば、１つの実施形態では、ＲＭＩ１２０のＨＲＰ１２２の個々が、１組のマネージャを使用して管理される。１つのそのような実施形態では、所与のＨＲＰに対して、マネージャの組は、ＨＲＰ１２２のＭＲＰに管理機能を提供するＭＲＰマネージャ、および、ＨＲＰ１２２のそれぞれのＶＲＰに管理機能を提供する複数のＶＲＰマネージャを含む。そのような実施形態では、マネージャの組のマネージャは、ＨＲＰ１２２に、関連するリソース管理機能を提供するために相互作用する。例示的な実施形態が、図４に関して図示される。
【００４６】
図４は、図２の例示的な階層リソースプールを管理するための、例示的な管理体系を図示する。図４に図示されるように、図１の管理能力１２５が、（１）ＭＲＰ２０２Ｍに関連するＭＲＰマネージャ４０５Ｍ、および（２）それぞれ、ＶＲＰ２０２Ｖ１−Ｖ７に関連する複数のＶＲＰマネージャ４０５Ｖ１−４０５Ｖ７を使用して提供される。ＭＲＰマネージャ４０５Ｍ、およびＶＲＰマネージャ４０５Ｖ１−４０５Ｖ７は、本明細書では集合的にリソースプールマネージャ４０５と呼ばれる場合がある。ＭＲＰマネージャ４０５Ｍは、ＭＲＰ２０２Ｍに対する管理機能を遂行する。ＶＲＰマネージャ４０５Ｖ１−４０５Ｖ７は、それぞれ、ＶＲＰ２０２Ｖ１−Ｖ７に対する管理機能を遂行する。リソースプールマネージャ４０５は、全体として、例示的なＨＲＰ２００に対する管理機能を協働して遂行する。この意味で、例示的なＨＲＰ２００のプール間での説明される相互作用は、説明される機能を提供するための、それぞれのリソースプールマネージャ４０５の関連する命令およびルーチンの相互作用である。
【００４７】
主として、別々の実施形態として図示かつ説明されるが、マネージャの実施のそのような実施形態の組み合わせが、所与のＮＭＳ内で利用され得ることが理解されよう。
【００４８】
主として、マネージャの実施の具体的な実施形態に関して図示かつ説明されるが、マネージャの実施の任意の他の適した実施形態が、本明細書で図示かつ説明される様々なリソース管理機能を提供するために使用され得ることが理解されよう。
【００４９】
図１に図示されるように、ＮＭＳ１００は、借用者１３０により使用され、借用者１３０は、ＲＭＩ１２０により管理されるリソース１１０を利用するために、ＲＭＩ１２０との相互作用によって、リソース１１０を取得する。
【００５０】
借用者１３０は、ＮＭＳ１００のリソース１１０を要求かつ使用し得る任意のエンティティを含み得る。借用者１３０は、ＮＭＳ１００内のエンティティ、および／またはＮＭＳ１００に対して離れているエンティティを含み得る。例えば、借用者１３０は、コンポーネント、アプリケーション、プロセス、ユーザ、システム等、およびそれらの様々な組み合わせを含み得る。
【００５１】
本明細書で説明されるように、ＲＭＩ１２０は、ＮＭＳ１００の、またはＮＭＳ１００に関連する、借用者１３０に対するＮＭＳ１００のリソース１１０の動的な割当てを可能にする。１つの実施形態では、ＲＭＩ１２０は、借用者１３０からリソース要求を受信し、リソース要求に関連するＶＲＰの１つを特定し、ＶＲＰの特定された１つから、リソース要求にサービス提供することを試みる。ＲＭＩ１２０を使用して借用者１３０にリソース１１０を割当てるための１つの実施形態による方法が、図５に関して図示かつ説明される。
【００５２】
借用者１３０は、リソースタイプ１１２の１つまたは複数のリソース１１０に対するリソース要求を始動させることができる。
【００５３】
１つの実施形態では、リソース１１０を要求するために借用者１３０により利用され得る、３つのタイプのリソース要求が、使用され得るものであり、以下のように定義され得る：
（ａ）借用者１３０がリソース１１０を要求し、リソース１１０が要求の時間に利用可能でないならば、借用者１３０は、（例えば、別の借用者１３０によるリソース１１０の放棄によって、リソース１１０を借用者１３０への割当てに対して利用可能にするプリエンプションによってなどで）要求されるリソースが利用可能になるまで、無期限に待機する、
（ｂ）借用者１３０がリソース１１０を要求し、リソース１１０が要求の時間に利用可能でないならば、借用者１３０は、（例えば、別の借用者１３０によるリソース１１０の放棄によって、リソース１１０を借用者１３０への割当てに対して利用可能にするプリエンプションによってなどで）要求されるリソースが利用可能になるまで、または、指定された時間が経過する（すなわち、タイムアウトであり、タイムアウトが発生する場合、借用者１３０はリソース１１０を獲得しない）まで待機する、および、
（ｃ）借用者１３０がリソース１１０を要求し、リソース１１０が要求の時間に利用可能でないならば、借用者１３０はリソース１１０を獲得しない。
【００５４】
より少ない、もしくはより多い、ならびに異なるタイプのリソース要求が、（例えば、異なる管理システムに対して、異なるタイプの管理システムに対して、異なるリソースタイプ１１２に対して、異なるタイプの借用者１３０に対してなど、およびそれらの組み合わせに対して）サポートされ得ることが理解されよう。
【００５５】
１つの実施形態では、ＲＭＩ１２０は、借用者１３０の個々に関連する１つまたは複数の優先順位に基づいて、借用者１３０へのリソース１１０の割当てを管理することができる。
【００５６】
１つの実施形態では、個々の借用者１３０は、それに関連する１つまたは複数の優先順位を有する。借用者１３０に関連する優先順位は、利用可能な優先順位のある範囲からの優先順位であり得る。借用者１３０に対してサポートされる利用可能な優先順位の範囲は、優先順位の任意の適した範囲であり得る。
【００５７】
リソース管理能力の様々な特徴を説明する際の明確性のために、リソース管理能力は、主として、優先順位の範囲が、ゼロ（０）から（７）までの数値範囲であり、ただし、０が最高優先順位であり、７が最低優先順位である、例示的な実施形態に関して図示かつ説明される。これは、ネットワーク管理を含む、多くのネットワーキングアプリケーションでの典型的な優先順位範囲である。主として、このネットワーク優先順位尺度の使用に関して図示かつ説明されるが、任意の他の適した範囲の優先順位値が、リソース管理能力を提供する際に使用され得ることが理解されよう。
【００５８】
１つの実施形態では、所与のリソースタイプ１１２に対して、個々の借用者１３０は、それに関連する２つの優先順位、すなわち、セットアップ優先順位および保持優先順位を有し、それらの個々は、借用者１３０への割振りに対して利用可能である利用可能な優先順位の範囲からの優先順位値であり得る。
【００５９】
１つの実施形態では、借用者１３０のセットアップ優先順位は、借用者１３０がそのリソースタイプ１１２のリソースを要求している場合に使用される。借用者１３０のセットアップ優先順位は、そのリソースタイプ１１２のリソース１１０を借用者１３０にサービス提供するための試みが行われる順序を決定するために、同一のリソースタイプを要求する他の借用者１３０のセットアップ優先順位と比較される。
【００６０】
１つの実施形態では、借用者１３０の保持優先順位は、借用者のプリエンプションの決定の際に使用され、借用者１３０が、どの程度「強く」、その借用者１３０に現在割当てられている、そのリソースタイプ１１２のリソース（複数可）１１０を手放さない（すなわち、その所有を維持する）かを指示する。
【００６１】
１つの実施形態では、所与のリソースタイプ１１２に対する借用者１３０の優先順位の１つまたは複数は、借用者１３０に対する所与のリソースタイプ１１２のリソース１１０の現在の割当てに基づいて割振られる。借用者１３０の現在のリソース割当ては、任意の適した様式で測定され得る。例えば、１つの実施形態では、所与のリソースタイプ１１２に対する借用者１３０の現在のリソース割当ては、借用者１３０に現在割当てられている所与のリソースタイプ１１２のリソース１１０の数として測定される。借用者１３０の現在のリソース割当ては、任意の適した様式で測定され得るものであり、したがって、少なくとも一部の実施形態に対しては、本明細書での「リソースの数」に対する言及は、より一般的に、任意の適した様式で測定され得る「リソースの量」に対する言及であるとして読まれ得るものである。上記で説明されたように、所与のリソースタイプ１１２に対する、借用者１３０のセットアップ優先順位および保持優先順位の、１つまたは両方は、借用者１３０に対する所与のリソースタイプ１１２のリソース１１０の現在の割当てに基づいて決定され得る。１つの実施形態では、借用者１３０の現在のリソース割当てが変化するにしたがって（例えば、リソースが、借用者１３０に割当てられる、および借用者１３０から割当て解除されるにしたがって）、借用者１３０の関連する優先順位の１つまたは複数が変化することになる。借用者１３０の現在のリソース割当てに基づく、借用者１３０の優先順位の決定により、ある決まった借用者１３０がリソース１１０を独占する状況の回避が可能になる。
【００６２】
借用者１３０の優先順位が、借用者１３０に現在割当てられているリソースタイプ１１２のリソース１１０の数に基づいて割振られる１つの実施形態では、借用者１３０に現在割当てられているリソースタイプ１１２のリソース１１０の数は、割当て可能なリソース値のある範囲内にある。割当て可能なリソース値の範囲は、（例えば、借用者１３０に割当てられ得るリソースの最小数を指示するｍｉｎｓｉｚｅパラメータから、借用者１３０に割当てられ得るリソースの最大数を指示するｍａｘｓｉｚｅパラメータまでの）借用者１３０に割当てられ得るリソースの数のある範囲である。１つの実施形態では、所与の借用者１３０は、それに関連する割当て可能なリソース値の異なる範囲を、異なるリソースタイプ１１２に対して有し得る。１つの実施形態では、所与のリソースタイプ１１２に対して、異なる借用者１３０は、それらに関連する割当て可能なリソース値の異なる範囲を有し得る。それぞれの借用者１３０に関連する割当て可能なリソース値の範囲が、任意の他の適した様式で設定され得ることが理解されよう。
【００６３】
リソース管理能力の様々な特徴を説明する際の明確性のために、リソース管理能力は、主として、借用者１３０に対する割当て可能なリソース値の範囲が、ゼロ（０）から十（１０）までの数値範囲である、例示的な実施形態に関して図示かつ説明される。異なるリソースタイプのリソースの数が異なる形で測定され得るので、異なるリソースタイプ１１２にわたって変動し得る、割当て可能なリソース値の任意の他の適した範囲（複数可）が使用され得ることが理解されよう。
【００６４】
所与のリソースタイプ１１２に対する借用者１３０の優先順位（例えば、セットアップ、保持等）が、借用者１３０に現在割当てられているそのリソースタイプ１１２のリソース１１０の数に基づいて調整される１つの実施形態では、借用者１３０は、それに関連する複数の優先順位レベルを、借用者１３０の優先順位を決定する際に使用するために有し得る。１つのそのような実施形態では、任意の所与の時間に借用者１３０に対して使用される複数の優先順位レベルの１つは、借用者１３０に現在割当てられているそのリソースタイプ１１２のリソース１１０の数によって決まる。そのような実施形態では、借用者１３０に関連する複数の優先順位レベルは、セットアップ優先順位、保持優先順位、または、セットアップおよび保持の両方の優先順位に対して割振られ得る（すなわち、優先順位レベルの同一の組が、セットアップおよび保持の優先順位に対して使用され得る、または、優先順位レベルの異なる組が、セットアップおよび保持の優先順位に対して使用され得る）。
【００６５】
所与のリソースタイプ１１２に対する借用者１３０の優先順位が、借用者１３０に現在割当てられているそのリソースタイプ１１２のリソース１１０の数に基づいて調整される、１つのそのような実施形態では、借用者１３０は、それに関連する３つの優先順位レベルを、所与のリソースタイプ１１２に対して有し得るものであり、それらは、以下のように定義され得る：
（ａ）基礎優先順位（ｂａｓｅ  ｐｒｉｏｒｉｔｙ）（セットアップおよび保持）：所与のリソースタイプ１１２に対して、借用者１３０に現在割当てられているリソースの数が、（ｍｉｎｓｉｚｅと本明細書で示され得る）最小サイズ以下である場合に、基礎優先順位が借用者１３０に対して使用される、
（ｂ）コア優先順位（ｃｏｒｅ  ｐｒｉｏｒｉｔｙ）（セットアップおよび保持）：所与のリソースタイプ１１２に対して、借用者１３０に現在割当てられているリソースの数が、（ｃｏｒｅｓｉｚｅと示され得る）コアサイズ以下であり、ただし最小サイズ（ｍｉｎｓｉｚｅ）より大きい場合に、コア優先順位が借用者１３０に対して使用される、および、
（ｃ）バースト優先順位（ｂｕｒｓｔ  ｐｒｉｏｒｉｔｙ）（セットアップおよび保持）：所与のリソースタイプ１１２に対して、借用者１３０に現在割当てられているリソースの数が、（ｍａｘｓｉｚｅと示され得る）最大サイズ以下であり、ただしコアサイズ（ｃｏｒｅｓｉｚｅ）より大きい場合に、バースト優先順位が借用者１３０に対して使用される。
【００６６】
所与のリソースタイプ１１２に対する借用者１３０の優先順位が、借用者１３０に現在割当てられているそのリソースタイプ１１２のリソース１１０の数に基づいて調整される１つの実施形態では、借用者１３０に割振られる実際の優先順位は、借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングを使用して決定され得る。
【００６７】
借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングは、任意の適した様式で実施され得る。マッピングは、優先順位レベルの１つに対する、利用可能な優先順位値の１つのマッピングを含み得る。マッピングは、優先順位レベルの１つに対する、複数の利用可能な優先順位値のマッピングを含み得る。マッピングは、優先順位レベルの２つ（例えば、優先順位レベルの隣り合うもの）の間での、利用可能な優先順位値の部分集合のある範囲の１つまたは複数の補間を含み得る。マッピングは、そのようなマッピング技法の様々な組み合わせを含み得る。借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングは、以下の実施例の参照によって、より良く理解され得る。
【００６８】
例えば、借用者１３０が、それに関連する３つの優先順位レベルを、所与のリソースタイプ１１２に対して有し、所与のリソースタイプ１１２に対する、借用者１３０に対する利用可能な優先順位の範囲が、０から７までの数値範囲を含む１つの実施形態では、借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングは、以下のように実施され得る：
（１）借用者パラメータ設定：
ｍｉｎｓｉｚｅ＝３
ｃｏｒｅｓｉｚｅ＝６
ｍａｘｓｉｚｅ＝１０
ｂａｓｅｐｒｉｏｒｉｔｙ＝０
ｃｏｒｅｐｒｉｏｒｉｔｙ＝３
ｂｕｒｓｔｐｒｉｏｒｉｔｙ＝７
（２）リソースの数に基づく借用者優先順位：
リソース１、２、３  −  優先順位＝０
リソース４、５、６  −  以下のようにして、優先順位０（基礎）と３（コア）との間で補間される優先順位：
リソース４  −  優先順位＝１
リソース５  −  優先順位＝２
リソース６  −  優先順位＝３
リソース７、８、９、１０  −  以下のようにして、優先順位３（コア）と７（バースト）との間で補間される優先順位：
リソース７  −  優先順位＝４
リソース８  −  優先順位＝５
リソース９  −  優先順位＝６
リソース１０  −  優先順位＝７
借用者１３０の優先順位レベルは、借用者１３０に対して割当て可能なリソース値の範囲に基づいて定義され得る（例えば、基礎優先順位レベルは、ｍｉｎｓｉｚｅパラメータに基づいて定義され、コア優先順位レベルは、ｃｏｒｅｓｉｚｅパラメータに基づいて定義され、バースト優先順位レベルは、ｍａｘｓｉｚｅパラメータに基づいて定義される）ので、借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングはさらに、借用者１３０に対してサポートされる割当て可能なリソース値の範囲に対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングとみなされ得ることが理解されよう。
【００６９】
借用者１３０が、それに関連する３つの優先順位レベルを、所与のリソースタイプ１１２に対して有し、利用可能な優先順位の範囲が、０から７までの数値範囲を含む実施形態では、借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングは、任意の他の適した様式で実施され得ることが理解されよう。同様に、借用者１３０が、それに関連する、３つより少ない、もしくは３つより多い優先順位レベルを、所与のリソースタイプ１１２に対して有する、および／または、所与のリソースタイプ１１２に対してサポートされる利用可能な優先順位の範囲が、異なる範囲の優先順位を含む実施形態では、借用者１３０に対してサポートされる優先順位レベルに対する、借用者１３０に対してサポートされる利用可能な優先順位値の範囲のマッピングは、任意の他の適した様式で実施され得ることが理解されよう。
【００７０】
前述の説明および関連する例から、少なくとも１つの実施形態では、借用者優先順位（例えば、要求および／または保持の優先順位）が、借用者に割当て可能なリソースの最小数および借用者に割当て可能なリソースの最大数により定義される割当て可能なリソース値のある範囲に対する、借用者への割振りに対して利用可能な優先順位値のある範囲のマッピングを使用して決定され得ることが理解されよう。１つのそのような実施形態では、マッピングは、（例えば、上記の例での、優先順位０に対するリソース１、２、および３のマッピングなどの）割当て可能なリソース値の範囲の割当て可能なリソース値の部分範囲に対する、第１の借用者への割振りに対して利用可能な優先順位値の範囲内の単一の優先順位値のマッピングを含み得る。１つのそのような実施形態では、マッピングは、（例えば、上記の例での、優先順位１、２、および３にわたる、リソース４、５、および６の補間などの）借用者の割当て可能なリソース値の範囲内の割当てられるリソース値の部分範囲に対する、借用者への割振りに対して利用可能な優先順位値の範囲内の優先順位値の部分範囲の補間を含み得る。
【００７１】
借用者１３０の優先順位付けは、利用可能な優先順位の任意の他の適した範囲、割当て可能なリソース値の範囲、割当て可能なリソース値の範囲に対する利用可能な優先順位の範囲のマッピング等、およびそれらの様々な組み合わせを使用して遂行され得ることが理解されよう。利用可能な優先順位の範囲、および／または割当て可能なリソース値の範囲は、（例えば、異なるタイプの値を使用してなど）任意の他の適した様式で測定され得ることがさらに理解されよう。
【００７２】
１つの実施形態では、ＲＭＩ１２０は、プリエンプションを使用して、借用者１３０へのリソース１１０の割当てを管理することができ、その場合、第１のＶＲＰに関連するリソースに対するリソース要求に応答して、リソース要求がサービス提供され得るように、第２のＶＲＰに現在割当てられているリソースが、第１のＶＲＰへの再割当てのためにプリエンプトされる。これは、第２のＶＲＰのリソースを現在使用する借用者１３０のプリエンプションもまた含み得るものであり、その場合、第２のＶＲＰから第１のＶＲＰに再割当てされるリソースは、プリエンプトされる借用者１３０に現在割当てられていることが理解されよう。この意味で、用語「プリエンプション」は、一般には、第１のエンティティ（例えば、ＨＲＰ、ＶＲＦ、借用者）に対する、第２のエンティティ（例えば、ＨＲＰ、ＶＲＦ、借用者）に現在割当てられているリソースの再割当てを指示する。
【００７３】
１つの実施形態では、借用者１３０からのリソース要求が、リソース要求に基づいて特定されたＶＲＰによりサービス提供され得ない（例えば、特定されたＶＲＰが、借用者１３０への割当てのために利用可能な余分なリソースを少しも有さない）ということの決定によって、借用者１３０のリソース要求にサービス提供する際の識別子ＶＲＰによる使用のための、特定されたＶＲＰに対するリソースの再割当てをトリガすることを試みるために、リソース再割当て要求が始動される。特定されたＶＲＰに対して始動されるリソース再割当て要求は、特定されたＶＲＰの関連するＭＲＰからのリソースの再割当てに対する要求、ＨＲＰ１２２の１つもしくは複数の他のＶＲＰからのリソースの再割当てに対する要求等、ならびにそれらの様々な組み合わせであり得る。リソース再割当て要求は、関連するＨＲＰ１２２が管理される様式によって決まり得る、任意の適した様式でトリガされ得る。例えば、図３の配置構成に関して、リソース再割当て要求は、階層リソースプールマネージャ３０５が、ＶＲＰ２０２Ｖの１つまたは複数から特定されたＶＲＰ２０２へのリソースの再割当てをもたらすように、階層リソースプールマネージャ３０５により始動され得る。例えば、図４の配置構成に関して、リソース再割当て要求は、ＶＲＰマネージャ４０５Ｖの１つにより、ＭＲＰマネージャ４０５Ｍに対して、および／または、他のＶＲＰマネージャ４０５Ｖの１つもしくは複数に対して（例えば、直接、またはＭＲＰマネージャ４０５Ｍによって）始動され得る。
【００７４】
１つの実施形態では、ＭＲＰのマネージャが、特定されたＶＲＰのマネージャのリソース再割当て要求を受信する場合、ＭＲＰのマネージャは、特定されたＶＲＰのマネージャからのリソース要求に基づいて、特定されたＶＲＰによる使用のために、別のＶＲＰからのリソース（例えば、別のＶＲＰの利用可能なリソース、または、別の借用者１３０に現在割当てられている別のＶＲＰのリソース）をプリエンプトすべきかどうかを決定する。ＭＲＰのマネージャは、リソースがそれからプリエンプトされ得る候補ＶＲＰ（複数可）を特定する際に、１つまたは複数のプリエンプション要因を利用することができる。同様に、ＭＲＰのマネージャおよび／または候補ＶＲＰ（複数可）のマネージャは、（借用者１３０のプリエンプションが必要とされる場合には）リソースがそれからプリエンプトされることになる候補借用者１３０を特定する際に、１つまたは複数のプリエンプション要因を利用することができる。
【００７５】
１つの実施形態では、候補ＶＲＰのマネージャが、特定されたＶＲＰのマネージャのリソース再割当て要求を受信する場合、候補ＶＲＰのマネージャは、リソース再割当て要求にサービス提供することを試みる。１つの実施形態では、候補ＶＲＰのマネージャは、最初に、ＨＲＰ１２２の借用者１３０のどれもプリエンプトされる必要がないように、候補ＶＲＰが、特定されたＶＲＰに再割当てされ得る何らかの未割当てのリソースを有するかどうかを決定する。１つのさらなる実施形態では、候補ＶＲＰのマネージャが、候補ＶＲＰが利用可能な何らかの未割当てのリソースを有さない（すなわち、候補ＶＲＰのすべてのリソースが、借用者１３０に現在割当てられている）と決定する場合、候補ＶＲＰのマネージャは、特定されたＶＲＰにより要求されるリソースを提供するために、候補ＶＲＰの借用者１３０の１つをプリエンプトすべきかどうかを決定する。候補ＶＲＰのマネージャは、リソースがそれからプリエンプトされ得る候補借用者１３０を特定する際に、１つまたは複数のプリエンプション要因を利用することができる。候補ＶＲＰのマネージャが、特定されたＶＲＰにより要求されるリソースを提供するために、候補ＶＲＰの借用者１３０の１つをプリエンプトすることに決めるならば、候補ＶＲＰのマネージャは、（例えば、直接、またはＭＲＰのマネージャによって）特定されたＶＲＰに、プリエンプトされた借用者１３０のリソースを利用可能にする。候補ＶＲＰのマネージャが、目標ＶＲＰにより要求されるリソースを提供するために、候補ＶＲＰの借用者１３０のいずれもプリエンプトしないことに決めるならば、候補ＶＲＰのマネージャは、以下の処置、すなわち、（ａ）それが、特定されたＶＲＰにより要求されるリソースを提供できないことを、特定されたＶＲＰに通知する、（ｂ）特定されたＶＲＰのリソース再割当て要求を、１つもしくは複数の他のＶＲＰのマネージャ（複数可）に、および／またはＭＲＰに（例えば、ＨＲＰ１２２内のその親のマネージャに、ＨＲＰ１２２の１つもしくは複数の他の枝のマネージャ（複数可）になど、ならびにそれらの様々な組み合わせに）伝搬するなど、ならびにそれらの様々な組み合わせの、１つまたは複数を始動させることができる。
【００７６】
本明細書では、主として、候補ＶＲＰのマネージャが、特定されたＶＲＰのために、受信されたリソース再割当て要求にサービスすることを試みる実施形態に関して図示かつ説明されるが、１つの実施形態では、候補ＶＲＰのマネージャは、リソース再割当て要求を拒絶するための許可を有し得る。１つのそのような実施形態では、候補ＶＲＰのマネージャは、（１）借用者１３０からのリソース１１０のプリエンプションをもたらすことになる、リソース再割当て要求を拒絶することが許され得る、ただし（２）（例えば、候補ＶＲＰが、１つまたは複数の未割当ての利用可能なリソースを有する場合などでは）借用者１３０からのリソース１１０のプリエンプションをもたらさないことになる、リソース再割当て要求を拒絶することは許され得ない。１つのそのような実施形態では、候補ＶＲＰのマネージャは、いかなるリソース再割当て要求も、その要求が借用者１３０からのリソース１１０のプリエンプションをもたらすことになるか否かに関わらず、拒絶することが許され得る。一部の実施形態では、所与のＨＲＰ１２２の異なるＶＲＦが、それらに関連する異なる拒絶許可を有する場合、異なるＨＲＰ１２２のＶＲＦが、それらに関連する異なる拒絶許可を有する場合など、およびそれらの様々な組み合わせなどの、そのような実施形態の組み合わせが使用され得る。
【００７７】
この様式では、リソース再割当て要求は、関連するＨＲＰ１２２の階層木構造を、葉から根に向かう方向に上りで進行し得る。一部のそのような実施形態では、リソース再割当て要求は、一度に１つの階層レベルだけ、および／または、一度に複数の階層レベルだけ、木を上りで進行し得る。そのような実施形態では、階層木構造は、任意の適した様式（例えば、１つの子ＶＲＰからリソース再割当て要求を受信するＶＲＰは、それの他の子ＶＲＰの一部もしくは全部をプリエンプトすることを、階層木構造の次のより高い層に対するリソース再割当て要求を始動させる前に試み得る、１つの子ＶＲＰからリソース再割当て要求を受信するＶＲＰは、それの他の子ＶＲＰの一部もしくは全部をプリエンプトすることを、同時に、階層木構造の次のより高い層に対するリソース再割当て要求を始動させながら、リソースがプリエンプトされる、もしくは階層木構造が調査し尽くされるまで試み得るなど、ならびにそれらの様々な組み合わせ）で往来され得る。
【００７８】
この様式では、リソース再割当て要求は、ＨＲＰ１２２を使用して管理されるリソースタイプ１１２のリソース１１０が、ＨＲＰ１２２の様々なＶＲＰの間で共有され得るように、ＨＲＰ内で伝搬され得るものであり、それによって、借用者１３０へのリソースの制御された、動的な割当てが可能になる。
【００７９】
１つの実施形態では、リソース１１０がそれからプリエンプトされ得る候補ＶＲＰを特定する（および、借用者１３０のプリエンプションの場合では、プリエンプトされることになる候補借用者１３０を特定する）際に利用され得る、１つまたは複数のプリエンプション要因には、以下の１つまたは複数がある：
（１）借用者優先順位：
（ａ）借用者保持優先順位：これらは、リソース１１０がそれからプリエンプトされ得る借用者１３０のリース保持優先順位である。一般には、より低い保持優先順位を有する借用者１３０は、より高い保持優先順位を有する借用者１３０より前にプリエンプトされるべきである。
【００８０】
（ｂ）借用者要求優先順位：これは、リソース１１０がそれに対してプリエンプトされ得る借用者１３０の優先順位である。これは、潜在的にプリエンプトされることになる借用者１３０として選択される借用者１３０の借用者保持優先順位と比較され得る。
【００８１】
（２）リソースリース経過時間（ｒｅｓｏｕｒｃｅ  ｌｅａｓｅ  ａｇｅ）：これらは、リソース１１０がそれからプリエンプトされ得る借用者１３０に現在割当てられているリソースリースの経過時間である。１つの実施形態では、短期間のリースのプリエンプションは、長期間のリースのプリエンプションよりも好まれる、というのは、これは、ＨＲＰ１２２の少なくとも１つ（例えば、データベース接続）での効率的なキャッシュ最適化を可能にするからである。より高い優先順位を有するリソースリースは、一般には、より長命のリソース１１０を借用者１３０に利用可能にする傾向にあることになることが理解されよう。
【００８２】
（３）上品な（ｇｒａｃｅｆｕｌ）プリエンプション：これは、ＶＲＰまたはＭＲＰが、借用者１３０からリソース１１０を強制的に取り上げることを防止するように実施される。これは、他のプリエンプション要因といささか調和しない場合がある、というのは、少なくとも、要求する借用者１３０に応答するために、プリエンプトされる借用者１３０が安全に放棄し得る第１の候補リソースが使用され得るが、プリエンプトされる借用者１３０の第１の候補リソースは、いかなるプリエンプションも、他のプリエンプション要因と直接競合することになるような、非常に長命のリソースである場合があるからである。
【００８３】
異なるプリエンプション要因を含む、より少ない、またはより多いプリエンプション要因が、リソース１３０がそれからプリエンプトされ得る候補ＶＲＰを特定する際に使用され得ることが理解されよう。
【００８４】
プリエンプション要因の一部または全部は、相互に競合し得るので、プリエンプション要因は、任意の適した様式で（例えば、任意の適した順序で、プリエンプション要因の異なるものに対して異なる重み付けもしくは優先順位を適用することによってなど、ならびにそれらの組み合わせで）検討され得ることがさらに理解されよう。
【００８５】
１つの実施形態では、リソースがそれからプリエンプトされ得る候補ＶＲＰを特定する際の、プリエンプション要因の使用（例えば、どの要因が使用されるか、相互に関する要因の重み付け等）は、異なるリソースプールに対して異なり得る。例えば、１つのＨＲＰ１２２の要因の使用は、別のＨＲＰ１２２の要因の使用とは異なり得る。例えば、所与のＨＲＰ１２２に対して、１つのＶＲＰの要因の使用は、別のＶＲＰの要因の使用とは異なり得る。プリエンプションの決定を行う際のプリエンプション要因の使用の制御において、任意の適したレベルの粒度が利用され得る。
【００８６】
１つの実施形態では、ＲＭＩ１２０は、リソース管理能力を提供する際に、ＲＭＩ１２０の動作に関連するリソース管理統計値を監視かつ管理し得る。例えば、ＲＭＩ１２０は、リソースリース時間、保留借用総数、プリエンプション総数等、およびそれらの組み合わせなどの統計値を監視かつ管理し得る。リソース管理統計値は、リソース管理能力の動的なチューニングを可能にするために使用され得るものであり、したがって、監視かつ管理されるリソース管理統計値は、リソース管理能力を提供する際に、ＲＭＩ１２０の動作の自動的なチューニングを可能にすることに関しての使用に適した任意のタイプの統計値を含み得る。リソース管理統計値はさらに、エンドユーザによる、リソース管理能力に関する可視性を提供するために使用され得るものであり、それによって、リソース管理能力を提供する際に、ＲＭＩ１２０の動作の手動的なチューニングが可能になる。リソース管理能力のチューニングは、ＨＲＰの再定義、１つもしくは複数のＨＲＰの、１つもしくは複数のＶＲＰの、再定義および／もしくは再組織化、借用者優先順位付けプロセスの再定義（例えば、借用者（複数可）１３０に対する利用可能な優先順位の範囲（複数可）、借用者（複数可）１３０に対する割当て可能なリソース値の範囲（複数可）、借用者１３０に対する割当て可能なリソース値の範囲（複数可）に対する、利用可能な優先順位の範囲（複数可）のマッピング（複数可）、借用者１３０の優先順位を決定するための基準等、およびそれらの組み合わせ）、借用者プリエンプションプロセスの再定義（例えば、（例えば、階層リソース木を往来することにより、ＭＲＰに対して直接等々で）リソース再割当て要求が上げられる様式、プリエンプションを決定する際に使用される要因、プリエンプションを決定する際に使用される要因の重み付け等、およびそれらの組み合わせ）等、ならびにそれらの組み合わせなどの、任意の適した修正を含み得る。本明細書では、主として、ＲＭＩ１２０が、リソース１１０の管理に関連するリソース管理統計値を監視かつ管理する実施形態に関して図示かつ説明されるが、ＮＭＳ１００の任意の他の適したコンポーネントもしくは複数のコンポーネント、および／または、１つもしくは複数の他のシステムが、リソース１１０の管理に関連するリソース管理統計値を監視かつ管理し得ることが理解されよう。
【００８７】
１つの実施形態では、ＮＭＳ１００は、ＲＭＩ１２０に関する可視性をサポートする。ＲＭＩ１２０に関する可視性は、任意の適した様式で提供され得る。１つのそのような実施形態では、ＲＭＩ１２０に関する可視性は、１つまたは複数のインターフェースモジュール１４２によってＲＭＩ１２０にアクセスする、１つまたは複数のタイプのユーザインターフェース１４１によって提供され得る。ユーザインターフェース１４１のタイプは、ＲＭＩ１２０にアクセスする、およびＲＭＩ１２０と相互作用する際の使用のために構成された、任意のタイプのユーザインターフェースを含む。例えば、ユーザインターフェース１４１は、（例えば、ＮＭＳ１００のユーザのユーザワークステーションによる、ウェブコンソールによる等の）グラフィカルユーザインターフェース、コマンドラインインターフェース（ＣＬＩ）ユーティリティ、アプリケーションプログラマインターフェース（ＡＰＩ）等、およびそれらの組み合わせの、１つまたは複数を含み得る。インターフェースモジュール１４２は、ユーザインターフェース１４１とＲＭＩ１２０との間をインターフェースすることをサポートする際の使用のために構成された任意のインターフェースモジュールを含む。例えば、インターフェースモジュール１４２は、Ｊａｖａ（登録商標）マネージメントエクステンションズ（ＪＭＸ）、簡易ネットワーク管理プロトコル（ＳＮＭＰ）等、およびそれらの組み合わせを含み得る。ユーザインターフェース１４１およびインターフェースモジュール１４２によって提供されるＲＭＩ１２０に関する可視性は、リソース管理統計値を点検する、リソース管理能力の様々な構成を設定かつ再設定する等、およびそれらの組み合わせなどの様々な機能を遂行するために利用され得る。主として、ＲＭＩ１２０に関する可視性が提供される実施形態に関して図示かつ説明されるが、可視性は、ＲＭＩ１２０により提供されるリソース管理能力を点検かつ／または管理するために、ＲＭＩ１２０により提供されるリソース管理能力に関係する、ＮＭＳ１００の他の要素に関する可視性が提供され得ることが理解されよう。
【００８８】
本明細書では、主として、特有の要素（すなわち、リソース管理能力の動作に特有のもの）を含むように図示かつ説明されるが、ＮＭＳ１００は、ＮＭＳ内で実施され得る任意の他の要素を含み得ることが理解されよう。例えば、ＮＭＳ１００は、プロセッサ、メモリ、データベース（例えば、１つまたは複数の管理情報ベース（ＭＩＢ））、内部通信バス、（例えば、ネットワーク通信のための、ＮＭＳ１００を使用するユーザのユーザワークステーションとの通信のためのなど、およびそれらの組み合わせの）入出力モジュールを含み得る。例えば、１つの実施形態では、ＮＭＳ１００は、図７に関して図示かつ説明されるコンピュータ７００として使用するように実施され得る。この様式では、リソース管理能力は、任意の特定の設計を有するＮＭＳに限定されることは意図されず、むしろ、リソース管理能力を使用して管理され得るリソースを有する任意のＮＭＳにおいて利用され得る。
【００８９】
本明細書では、主として、集中型のＮＭＳであるように図示かつ説明されるが、ＮＭＳ１００は、分散型の様式で実施され得ることが理解されよう。例えば、本明細書で説明されるように、ＮＭＳ１００の一部を形成するように図示される借用者１３０は、リソース管理能力がそれに対して提供されるＮＭＳから離れているエンティティを含み得る。したがって、借用者１３０の少なくとも一部分とＮＭＳ１００との間の通信は、ＮＭＳ１００から地理的に離れているＮＯＣに位置するユーザが、ＮＭＳ１００にアクセスすることができる、したがって、様々な機能を遂行するためにＮＭＳ１００のリソースを利用することができる場合のような、（１つまたは複数の通信ネットワークを含み得る）任意の適した通信経路を介してのものであり得る。同様に、例えば、本明細書で説明されるように、ユーザインターフェース１４１によるＮＭＳ１００へのアクセスは、ＮＭＳ１００から地理的に離れているユーザが、ＮＭＳ１００にアクセスすることができる場合のように、（１つまたは複数の通信ネットワークを含み得る）任意の適した通信経路を介して、遠隔操作で遂行され得る。同様に、例えば、ＮＭＳ１００の他の部分もまた、物理的に分散型の方式で実施され得ることが理解されよう。したがって、ＮＭＳ１００の一部を形成するように図示かつ説明される様々なコンポーネントが、任意の適した集中型および／または分散型の設計を使用して実施され得ることが理解されよう。
【００９０】
図５は、システムのリソースを要求する借用者からのリソース要求を処理するための方法の１つの実施形態を図示する。
【００９１】
ステップ５０２では、方法５００が始まる。
【００９２】
ステップ５０４では、リソース要求が受信される。リソース要求は、借用者から受信される。リソース要求は、明示的なリソース要求（例えば、要求自体が、要求されているリソースのタイプおよび／または量の明示的な指示を、含む場合もあれば含まない場合もある、リソースに対する要求を明示的に指示する）、または暗示的なリソース要求（例えば、要求自体は、リソースに対する要求を明示的に指示しないが、要求に基づいて、要求にサービス提供するために、リソースが必要となり得る、または必要となることになることについての決定が行われ得る）であり得る。タイプを指示しない明示的な要求の場合には、要求されているリソースのタイプおよび量は、リソース要求に関連する１つまたは複数の特性を使用して決定され得る。暗示的な要求の場合には、その要求が、リソースがそれに対して必要となり得る、もしくは必要となることになる要求であると特定するために、ならびに、要求されているリソースのタイプおよび量を特定するために、要求の１つまたは複数の特性が使用され得る。要求の特性は、その要求が、リソースがそれに対して必要となり得る、もしくは必要となることになる要求であると特定する際の、ならびに／または、要求されているリソースのタイプおよび量を特定する際の使用に適した任意の特性（例えば、要求の供給源、要求のタイプ、要求の少なくとも１つのパラメータ等、およびそれらの様々な組み合わせ）を含み得る。
【００９３】
ステップ５０６では、リソース要求に関連するＶＲＰが特定される。リソース要求に関連するＶＲＰは、任意の適した様式で特定され得る。
【００９４】
１つの実施形態では、リソース要求に関連するＶＲＰは、要求に関連するＶＲＰがリソース要求から直接特定され得るように、リソース要求内で明示的に特定される。リソース要求内での関連するＶＲＰの明示的な指定が、任意の適した様式で（例えば、そのような識別子がＨＲＰにわたって一意的である一意的なＶＲＰ識別子を使用して、ＶＲＰ識別子がそれらのそれぞれのリソースタイプ／ＨＲＰ内のみで一意的であるリソースタイプ／ＨＲＰ識別子およびＶＲＰ識別子を使用してなど、ならびにそれらの組み合わせで）提供され得ることが理解されよう。リソース要求のリソースタイプのＶＲＰの１つは、リソース要求内で明示的に指定される場合もあれば、指定されない場合もある。
【００９５】
１つの実施形態では、リソース要求に関連するＶＲＰは、リソース要求内で明示的に特定されず、それによって、関連するＶＲＰは、リソース要求に関連する情報、およびリソース要求が関連するＨＲＰに関連する情報の処理を使用して特定される。
【００９６】
リソース要求で要求されるリソースのリソースタイプが、リソース要求内で明示的に指定されない１つの実施形態では、リソース要求のリソースタイプのＶＲＰの１つの決定は、リソース要求で要求されるリソースのリソースタイプを決定するステップを含み得る。リソース要求で要求されるリソースのリソースタイプは、リソース要求内で明示的に指定される場合もあれば、指定されない場合もある。リソースタイプが、リソース要求で明示的に指定されるならば、リソースタイプは、直接決定される。リソースタイプが、リソース要求内で直接指定されないならば、リソースタイプは、リソース要求に関連する１つまたは複数の特性から決定される。リソースのリソースタイプを決定するために使用され得るリソース要求の特性は、リソース要求で要求されるリソースのリソースタイプを決定する際の使用に適した任意の特性（例えば、要求の供給源、要求の要求タイプ、要求の少なくとも１つのパラメータ等、およびそれらの組み合わせ）を含み得る。そのような実施形態では、リソースタイプの決定は、リソース要求で要求されるリソースのタイプを管理するために使用されるＨＲＰを特定するために使用され得るものであり、それによって、リソース要求に関連する１つまたは複数のさらなる特性が、次いで、リソース要求のリソースタイプのＶＲＰの１つを決定するために使用され得る。
【００９７】
１つの実施形態では、リソース要求に関連するＶＲＰは、リソース要求に関連する１つまたは複数の特性を使用して特定される。１つのそのような実施形態では、リソース要求に関連するＶＲＰは、（１）リソース要求に関連する１つもしくは複数の特性を決定すること、ならびに（２）リソース要求に関連する１つもしくは複数の特性を、ＨＲＰに関連するＨＲＰ定義情報と比較することにより特定され、ただし、ＨＲＰ定義情報は、リソース要求の１つまたは複数の特性に基づいて、リソース要求をリソース要求に関連するＶＲＰと関連付ける際の使用に適した情報を含む。１つのそのような実施形態では、ＨＲＰ定義情報は、ＨＲＰのＶＲＰの個々に対して、ＶＲＰによりサービス提供されることが意図されるリソース要求をそれによって定義する、ＶＲＰに関連する１つまたは複数の特性を含む。この実施形態では、リソース要求に関連するＶＲＰは、（１）リソース要求に関連する１つもしくは複数の特性を決定すること、ならびに（２）リソース要求の１つもしくは複数の特性を、リソース要求の特性に最も近く一致する特性を有するＶＲＰが特定されるまで、ＶＲＰの少なくとも一部分の個々の１つもしくは複数の特性と比較することにより特定される。したがって、リソース要求の特性（複数可）は、関連するＨＲＰが定義される様式によって決まり得る、ＨＲＰのＶＲＰのどれがリソース要求に最も近く関連するかを特定する際の使用に適した任意の特性（複数可）（すなわち、リソース要求が関連するＨＲＰの階層構造を定義するために使用される特性）を含み得る。例えば、リソース要求に関連するＶＲＰを決定する際の使用に適した特性は、要求の供給源、リソースタイプの要求のタイプ等、およびそれらの組み合わせの、１つまたは複数を含み得る。
【００９８】
少なくとも前述の実施形態および関連する実施例から、リソース要求内に含まれる、リソース要求から決定される、またはそうでない場合は、リソース要求に関連する、任意の特性または複数の特性が、借用者から受信されるリソース要求のリソースのタイプに対して、リソースの割当てを管理するために使用されているＶＲＰを特定するために使用され得ることが理解されよう。
【００９９】
ステップ５０８では、複数のリソース要求が保留であるかどうかに関して決定が行われる。複数のリソース要求は、それに関連する異なる優先順位を有する１つまたは複数の借用者からの場合があり、それによって、リソース要求がサービス提供される順序は、１つまたは複数の要因に応答して（例えば、リソース要求が、受信され、保留リソース要求リストに追加される際、リソースが割当てられ、関連する要求が保留リソース要求リストから除去される際、リソースが、借用者に割当てられ、および借用者から割当て解除され、それによって、借用者の優先順位が、借用者に割当てられるリソースの現在の数に基づいて変化する際など、ならびにそれらの組み合わせで）動的に変化している場合がある。複数のリソース要求が保留でないならば、方法５００はステップ５１４に進行する。複数のリソース要求が保留であるならば、方法５００はステップ５１０に進行する。
【０１００】
ステップ５１０では、借用者コンテンションプロセスが遂行される。借用者コンテンションプロセスは、借用者のリソース要求がサービス提供される順序を管理するためのプロセスであり、ただし、順序は、（ステップ５０８に関して上記で説明されたように）１つまたは複数の要因に基づいて経時的に変化し得る。ステップ５１０から、方法５００はステップ５１２に進行する。ステップ５１２では、方法５００の借用者（すなわち、ステップ５０４で受信されたリソース要求に関連する借用者）のリソース要求が処理され得るかどうかに関して決定が行われ、それは、ステップ５１０の借用者コンテンションプロセスの現時点の状態に基づく。借用者のリソース要求が処理され得ないという決定が行われるならば、方法５００はステップ５１０に戻る（すなわち、ステップ５１２により指示されるような、方法５００の借用者のリソース要求が処理され得るという決定が行われるまで、ステップ５１０の借用者コンテンションプロセスが遂行され続ける）。借用者のリソース要求が処理され得るという決定が行われるならば、方法５００はステップ５１４に進行する（すなわち、方法５００の借用者のリソース要求は、それが次いで処理され得るように、リソース要求待ち行列の最前部に到達した）。この様式では、借用者のリソース要求がサービス提供される順序が変化する際は、ステップ５１０の借用者コンテンションプロセスは、方法５００の借用者のリソース要求が処理され得るまで遂行され続ける（すなわち、方法５００の借用者は、借用者のリソース要求にサービスするための試みが行われる前に、いくらかの期間の時間待機する必要がある場合があり、そのことは、方法５００の借用者のリソース要求が処理され得るという、したがって方法５００がステップ５１４に進行することができるという、ステップ５１２での決定により指示される）。
【０１０１】
ステップ５１４では、特定されたＶＲＰが、リソース要求にサービス提供するために（すなわち、リソース要求で借用者により要求されるリソースを借用者に割当てるために）利用可能なリソースを有するかどうかに関して決定が行われる。特定されたＶＲＰが、それが借用者のリソース要求にサービス提供し得るように、利用可能なリソースを有するならば、方法５００はステップ５２２に進行する。特定されたＶＲＰが、それが借用者のリソース要求にサービス提供し得ないように、利用可能なリソースを有さないならば、方法５００はステップ５１６に進行する。
【０１０２】
ステップ５１６では、リソースプリエンプションプロセスが遂行される。リソースプリエンプションプロセスは、借用者のリソース要求にサービス提供するために、特定されたＶＲＰによる使用のために、プリエンプトされたリソースを再割当てするように、リソースをプリエンプトする（例えば、ＶＲＰをプリエンプトする、および、随意には、そのＶＲＰの借用者をプリエンプトする）べきか否かを決定するためのプロセスである。リソースプリエンプションプロセスは、図１に関して提供されるプリエンプションの説明の参照によって、より良く理解され得る。
【０１０３】
ステップ５１８では、プリエンプション要求が認可されたかどうかに関して（すなわち、特定されたＶＲＰにより必要とされるリソースが、プリエンプトされ、借用者のリソース要求にサービス提供する際の使用のために、特定されたＶＲＰに再割当てされたかどうかに関して）決定が行われる。プリエンプション要求が認可されないという決定が行われるならば、方法５００はステップ５２０に進行する。プリエンプション要求が認可されるという決定が行われるならば、方法５００はステップ５２２に進行する。
【０１０４】
ステップ５２０では、借用者がリソースの割当てのために待機するかどうかに関して決定が行われる。借用者がリソースの割当てのために待機するかどうかに関する決定は、任意の適した要因に基づき得る。例えば、借用者がリソースの割当てのために待機するかどうかに関する決定は、（例えば、図１に関して説明されたように）少なくとも一部の借用者が、３つのモードの１つで動作するように設定され得る、借用者の設定に基づき得る。例えば、借用者がリソースの割当てのために待機するかどうかに関する決定は、（例えば、図１の借用者に関して説明されたように、借用者が自発的に所定の量の時間の間待機し、その後で、借用者のリソース要求がタイムアウトする場合のように）借用者がリソースのために待機可能である、または自発的に待機する時間の長さに基づき得る。借用者がリソースの割当てのために待機するかどうかに関する決定は、そのような要因の組み合わせ、および任意の他の適した要因に基づき得る。借用者がリソースの割当てのために待機しないならば、方法５００はステップ５２４に進行し、その時点で、方法５００は、（借用者に対する要求されるリソースの割当てなしに）終了する。借用者がリソースの割当てのために待機するならば、方法５００は、ステップ５１６に戻り（その時点で、借用者プリエンプションプロセスが、実行し続ける、または再度始動される）、次いでステップ５１８に進行する。
【０１０５】
ステップ５２２では、リソースが、リソース要求に応答して借用者に割当てられる。リソースは、特定されたＶＲＰから割当てられる。ステップ５１４−５２０から指示されるように、割当てられるリソースは、借用者からのリソース要求が受信される場合に、特定されたＶＲＰから利用可能なリソース、または、リソースプリエンプションによって、特定されたＶＲＰに提供されるリソースであり得る。ステップ５２２から、方法５００はステップ５２４に進行する。
【０１０６】
ステップ５２４では、方法５００が終了する。
【０１０７】
明確性のために、方法５００の図５からは除外されるが、特定されたＶＲＰのリソースが、リソースプリエンプションプロセスが遂行されている間に利用可能になる１つの実施形態では、方法５００は、特定されたＶＲＰの新しく利用可能なリソースが借用者に提供され得るように、（例えば、ステップ５１６、５１８、または５２０から）ステップ５２２に自動的に進行し得る。１つのそのような実施形態では、リソースプリエンプションプロセスは終了され得る（および、上品な終了が好ましいことが理解されよう）。別のそのような実施形態では、リソースプリエンプションプロセスは、（特定されたＶＲＰは、この時点では依然として過負荷である可能性があるので）特定されたＶＲＰに、１つまたは複数のさらなるリソースを利用可能にするように遂行され続ける場合がある。
【０１０８】
本明細書では、主として、リソース管理がリソースタイプごとを基準にして提供される（すなわち、ＨＲＰ１２２が、リソースタイプ１１２のリソース１１０を管理するために、個々のリソースタイプ１１２に対して形成される）実施形態に関して図示かつ説明されるが、リソース管理の異なる粒度がサポートされ得ることが理解されよう。
【０１０９】
例えば、１つの実施形態では、（複数のリソースタイプのリソースを含む）管理されるべきシステムのリソースのすべては、管理されるべきシステムに対する１つの全体的なＨＲＰを形成し得る。１つのそのような実施形態では、ＨＲＰにより管理されるべきリソースは、ＭＲＰの下方のＨＲＰの第１のレベル（すなわち、ＭＲＰに最も近いＶＲＰの第１の階層の層）が、複数のＶＲＰを、それぞれ、複数のリソースタイプに関連するリソースを管理するために含むように組織化され得る。
【０１１０】
例えば、１つの実施形態では、１つまたは複数のリソースタイプのリソースは、１つまたは複数のリソースタイプの個々に対する複数のＨＲＰを使用して、別々に管理され得る。そのような実施形態では、ＨＲＰは、特定のリソースタイプのリソースのすべてを管理するとは限らないことになり、むしろ、ＨＲＰは、特定のリソースタイプのリソースのそれぞれの部分集合を管理することになる。
【０１１１】
リソース管理の他の粒度がサポートされ得ることが理解されよう。
【０１１２】
本明細書では、主として、（例えば、リソース１１０が、リソース１１０のトークンまたは他の適した表現を使用して、ＲＭＩ１２０により管理される場合などの）ＲＭＩ１２０がＮＭＳ１００のリソースを間接的に管理する実施形態に関して図示かつ説明されるが、少なくとも１つの他の実施形態では、ＲＭＩ１２０は、ＮＭＳ１００のリソースの一部または全部を直接管理する場合がある。そのような実施形態では、ＲＭＩ１２０の１つまたは複数のＨＲＰ１２２は、ＨＲＰ（複数可）１２２が関連するそれぞれのリソース１１０に対する直接の管理制御を有し得る。そのような実施形態では、ＨＲＰ１２２が、リソース１１０のトークンまたは他の適した表現の制御によってリソース１１０を管理するのではなく、ＨＲＰ（複数可）１２２の１つまたは複数は、（例えば、リソース１１０を直接割当ておよび割当て解除して）それぞれのリソース１１０を直接管理することができる。
【０１１３】
本明細書では、主として、ＮＭＳ１００のリソース１１０が、１つまたは複数のＨＲＰ１２２を使用して管理され、１つまたは複数のＨＲＰ１２２の個々が、ＭＲＰおよび複数のＶＲＰを有する実施形態に関して図示かつ説明されるが、本明細書で図示かつ説明されるリソース管理能力の様々な実施形態が、より一般的なリソース管理体系を背景として提供され得ることが理解されよう。例えば、１つの実施形態では、１つまたは複数のＨＲＰ１２２を使用して提供されているように、本明細書で図示かつ説明される機能の少なくとも一部分は、必ずしもＭＲＰおよび関連する複数のＶＲＰとして配置構成されない、リソースプールの階層配置構成を使用して提供され得る。例えば、１つの実施形態では、１つまたは複数のＨＲＰ１２２を使用して提供されているように、本明細書で図示かつ説明される機能の少なくとも一部分は、必ずしも階層的に配置構成されない、複数のリソースプールを使用して提供され得る。例えば、そのような実施形態は、借用者優先順位付け機能、借用者プリエンプション機能等、およびそれらの様々な組み合わせなどの、本明細書で図示かつ説明される様々な能力に連関して使用され得る。本明細書で図示かつ説明される階層リソース管理能力を背景として、および、他のタイプのリソース管理体系を背景としての両方で使用され得る１つのそのような実施形態が、図６に関して図示かつ説明される。
【０１１４】
図６は、借用者間でリソースを再割当てすべきかどうかを決定するための方法の１つの実施形態を図示する。より具体的には、図６の方法６００は、第１の借用者に、第２の借用者に現時点で割当てられているリソースを再割当てすべきか否かを決定するための方法を提供する。
【０１１５】
ステップ６０２では、方法６００が始まる。
【０１１６】
ステップ６０４では、リソース要求が受信される。リソース要求は、第１の借用者から受信される。
【０１１７】
ステップ６０６では、第１の借用者の要求優先順位が、第１の借用者に関連する現在のリソース割当てに基づいて決定される。第１の借用者の要求優先順位は、図１−図５に関して本明細書で説明されたようなものを含む、任意の適した様式で決定され得る。
【０１１８】
ステップ６０８では、第２の借用者の要求優先順位が、第２の借用者に関連する現在のリソース割当てに基づいて決定される。リソースがそれから再割当てされ得る候補借用者と特定される第２の借用者は、任意の適した様式で（例えば、システムの借用者の中で最も低い保持優先順位を有するシステムの借用者、リソースプールの借用者の中で最も低い保持優先順位を有するリソースプールの借用者、無作為になどで）特定され得る。第２の借用者の要求優先順位は、図１−図５に関して本明細書で説明されたようなものを含む、任意の適した様式で決定され得る。
【０１１９】
ステップ６１０では、第１の借用者に第２の借用者の第２の借用者のリソース割当てのいずれかを再割当てすべきかどうかに関して決定が行われる。第１の借用者に第２の借用者のリソース割当てのいずれかを再割当てすべきかどうかに関する決定は、少なくとも第１の借用者の要求優先順位および第２の借用者の保持優先順位を使用して行われる。第１の借用者に第２の借用者のリソース割当てのいずれかを再割当てすべきかどうかに関する決定は、任意の他の適した要因（例えば、リース時間、上品なプリエンプションの考慮事項等、およびそれらの様々な組み合わせ）を使用して行われ得る。第１の借用者に第２の借用者からのリソースを再割当てするための決定が行われるならば、方法６００はステップ６１２に進行する。第１の借用者に第２の借用者からのリソースを再割当てするための決定が行われるならば、方法６００はステップ６１４に進行する。
【０１２０】
ステップ６１２では、第２の借用者のリソースが、第１の借用者に再割当てされる。第２の借用者のリソースは、任意の適した様式で、第１の借用者に再割当てされ得る。ステップ６１２から、方法６００は、ステップ６１４（その時点で、１つまたは複数の制御処置が遂行され得る）に、またはステップ６１６（その時点で方法６００は終了する）に進行し得る。
【０１２１】
ステップ６１４（随意のステップ）では、１つまたは複数の制御処置が遂行され得る。
【０１２２】
方法６００が、ステップ６１２からステップ６１４に進行する場合、制御処置（複数可）は、第１の借用者に対する第２の借用者のリソースの再割当ての後で適切であり得る任意の制御処置（例えば、リソース再割当てからの、第１の借用者および／または第２の借用者の現在のリソース割当て（複数可）の変化（複数可）に基づく、第１の借用者の要求優先順位および／または第２の借用者の保持優先順位の修正）を含み得る。方法６００がステップ６１４に進行するならば、方法６００は、次いでステップ６１６に進行する。
【０１２３】
方法６００が、ステップ６１０からステップ６１４に進行する場合、制御処置（複数可）は、第１の借用者に第２の借用者のリソースを再割当てしないための決定の後で適切であり得る任意の制御処置を含み得る。例えば、制御処置は、第１の借用者に再割当てされ得る、リソースの別の潜在的な供給源（複数可）（例えば、同一のリソースプールの別の借用者、異なるリソースプールの１つもしくは複数の借用者、複数のリソースプールの借用者等、ならびにそれらの様々な組み合わせ）を特定するためのリソース再割当て要求を始動させることを含み得る。例えば、制御処置は、ある期間の時間待機し、借用者のリソース割当てが経時的に変化することにしたがっての、借用者の優先順位の起こり得る変化に基づく、第２の借用者および／または任意の他の潜在的な借用者を再評価することを含み得る。任意の他の適した制御処置が、そのような制御処置の様々な組み合わせと同様に始動され得ることが理解されよう。
【０１２４】
ステップ６１６では、方法６００が終了する。
【０１２５】
本明細書では、主として、優先順位が借用者レベルで割振られる実施形態に関して図示かつ説明されるが、少なくとも一部の実施形態では、優先順位は、（例えば、リソースがそれにより割当てられたそれぞれのリースに関連するリソースの群に対するリソースリースレベル、借用者に割当てられる異なるリソースが異なって扱われ得るようなリソースレベル等、およびそれらの様々な組み合わせでのような）より低いレベルで割振られ得る。そのような実施形態では、第１の借用者に第２の借用者からのリソースを再割当てすべきか否かに関する決定は、（例えば、第２の借用者がそれによってリソースのそれぞれの群を割当てられていたリースの優先順位に基づく、第２の借用者に現時点で割当てられているリソースの優先順位に基づくなど、およびそれらの様々な組み合わせでの）第２の借用者の特定のリソースのどれを第１の借用者に再割当てすべきかに関する決定を含み得る。
【０１２６】
主として、システムに対するリソース管理を遂行するためのリソース管理能力の使用に関して図示かつ説明されるが、設定能力は、リソース管理能力を提供するためにシステムを設定するために提供され得る。例えば、設定能力は、本明細書で説明されるようなＲＭＩ１２０を提供するためにＮＭＳ１００をプロビジョニングするために提供され得る。この能力は、ＮＭＳ１００により、および／または、（１）ＲＭＩ１２０を提供するためのＮＭＳ１００のプロビジョニングを決定し、（２）ＲＭＩ１２０を提供するためのＮＭＳ１００の決定されたプロビジョニングをＮＭＳ１００に通信することができる、１つもしくは複数の他のシステムによりサポートされ得る。本明細書で説明されるように、リソース管理能力は、任意の適したタイプのシステムに対して提供され得るものであり、したがって、１つの実施形態では、方法は、（ａ）システムによりサポートされるリソースタイプを特定するステップ、（ｂ）リソースタイプに対して、ＭＲＰおよび複数のＶＲＰを含むＨＲＰを生成するステップを含む、システムに対する階層リソース設定情報を生成するステップ（ただし、ＶＲＰは、任意の適した特性を使用して定義され、任意の適した配置構成で組織化され得る）、ならびに（ｃ）階層リソース設定情報を記憶するステップを含む。１つの実施形態では、これらのステップは、リソースタイプのリソースが別々に管理され得るように、システムによりサポートされる複数のリソースタイプの個々に対して遂行され得る。そのような実施形態では、階層リソース設定情報（例えば、リソースプールの定義および配置構成、階層リソース管理に関連する（例えば、借用者、リソースプール等々に関連する）パラメータ等）のいずれも、任意の適した様式で設定され得る。同様に、そのような実施形態では、階層リソース設定情報のいずれも、任意の適した様式で、および任意の適したトリガ条件に応答して再設定され得る。
【０１２７】
図７は、本明細書で説明される機能を遂行する際の使用に適したコンピュータの高レベルのブロック図を図示する。図７に図示されるように、コンピュータ７００は、プロセッサ要素７０２（例えば、中央処理装置（ＣＰＵ）および／または他の適したプロセッサ（複数可））、メモリ７０４（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）等）、リソース管理モジュール／プロセス７０５、および様々な入出力デバイス７０６（例えば、（キーボード、キーパッド、マウス等のような）ユーザ入力デバイス、（ディスプレイ、スピーカ等のような）ユーザ出力デバイス、入力ポート、出力ポート、受信器、送信器、および記憶デバイス（例えば、テープドライブ、フロッピー（登録商標）ドライブ、ハードディスクドライブ、コンパクトディスクドライブ等））を含む。
【０１２８】
本明細書で図示かつ説明される機能は、例えば、汎用コンピュータ、１つもしくは複数の特定用途向け集積回路（ＡＳＩＣ）、および／または任意の他の等価物を使用して、ソフトウェア、ハードウェア、ならびに／または、ソフトウェアおよびハードウェアの組み合わせで実施され得ることが理解されよう。１つの実施形態では、リソース管理プロセス７０５は、上記で論じられたような機能を実施するために、メモリ７０４にロードされ、プロセッサ７０２により実行され得る。したがって、（関連するデータ構造を含む）リソース管理プロセス７０５は、コンピュータ可読記憶媒体、例えば、ＲＡＭメモリ、磁気または光学の、ドライブまたはディスケット等に記憶され得る。
【０１２９】
本明細書では、主として、リソース管理能力が単一のコンピュータのリソースを管理するために利用される実施形態に関して図示かつ説明されるが、他の実施形態では、リソース管理能力は、複数のコンピュータにわたってリソースを管理するために使用され得る。少なくとも一部のそのような実施形態では、単一のＨＲＰが複数のコンピュータに及ぶ場合があり、その場合、ＨＲＰの異なるＶＲＰが異なるコンピュータ上に存在する。同様に、少なくとも一部のそのような実施形態では、単一のＶＲＰが異なるコンピュータ上に存在し得る。そのような実施形態では、複数のコンピュータは、任意の適した通信手段を使用して通信することができる。例えば、コンピュータは、１つまたは複数のシステムバスを介して、１つまたは複数の通信ネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、および／または、任意の適した通信技術、プロトコルを使用する、任意の他の適した通信ネットワーク等）を介して通信することができる。この様式では、リソース管理能力は、（例えば、物理的に分散型の様式で実施される単一のシステムに対して、リソースの管理が全体として複数のシステムに対して遂行され得る複数のシステムに対してなど、およびそれらの様々な組み合わせで）分散型のリソース管理を可能にする。
【０１３０】
ソフトウェア方法として本明細書で論じられたステップの一部が、例えば、様々な方法ステップを遂行するためにプロセッサと協働する回路網として、ハードウェア内で実施され得ることが考えられる。本明細書で説明された機能／要素の一部分は、コンピュータ命令が、コンピュータにより処理される場合に、本明細書で説明された方法および／または技法が、呼び出される、または他の方法で提供されるように、コンピュータの動作を適合させるコンピュータプログラム製品として実施され得る。本発明の方法を呼び出すための命令は、固定もしくはリムーバブルの媒体に記憶され得る、ブロードキャストでのデータストリームもしくは他の信号伝達媒体を介して送信され得る、および／または、命令によって動作するコンピューティングデバイス内のメモリ内に記憶され得る。
【０１３１】
本発明の態様は、特許請求の範囲において指定される。本発明のそれらおよび他の態様は、以下の番号付けされた条項において指定される：
１．管理システムのリソースを管理するための方法であって、
借用者から、管理システムの複数のリソースの１つに対する要求を受信するステップであり、リソースが、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を備える階層リソースプール（ＨＲＰ）を使用して管理されるステップと、
リソース要求に関連するＶＲＰを特定するステップと、
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップと
を含む、方法。
２．システムが、複数のリソースタイプのリソースを備え、ＨＲＰを使用して管理されるリソースが、リソースタイプの１つのリソースである、条項１に記載の方法。
３．ＭＲＰが、リソースタイプの１つのリソースのすべての論理表現を備え、ＶＲＰが、リソースタイプの１つのリソースのそれぞれの部分集合の論理表現を備える、条項２に記載の方法。
４．ＨＲＰが、木構造を使用して配置構成され、ＨＲＰが、木の根である、条項１に記載の方法。
５．リソース要求に関連するＶＲＰが、リソース要求に関連する少なくとも１つの特性に基づいて特定される、条項１に記載の方法。
６．リソース要求に関連する少なくとも１つの特性が、リソース要求の供給源、リソース要求の要求タイプ、および、リソース要求で要求されるリソースを使用して遂行されることになるタスクのタスクタイプの少なくとも１つを備える、条項５に記載の方法。
７．ＶＲＰの個々が、それに関連する少なくとも１つの特性を有し、リソース要求に関連するＶＲＰを特定するステップが、
リソース要求に関連する少なくとも１つの特性を特定するステップと、
リソース要求の少なくとも１つの特性が、ＶＲＰの少なくとも１つの特性と一致するＶＲＰを特定するステップと
を含む、条項１に記載の方法。
８．借用者が、第１の借用者であり、
第２の借用者から、第２のリソース要求を受信するステップと、
第１の借用者に関連する第１の優先順位および第２の借用者に関連する第２の優先順位に基づいて、最初に、第１の要求にサービス提供すべきか、それとも第２の要求にサービス提供すべきかを決定するステップと
をさらに含む、条項１に記載の方法。
９．特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップが、借用者の優先順位に基づいて遂行される、条項１に記載の方法。
１０．借用者の優先順位が、借用者の現在のリソース割当てに基づく、条項９に記載の方法。
１１．特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップが、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るかどうかを決定するステップ
を含む、条項１に記載の方法。
１２．リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得るという決定に応答して、特定されたＶＲＰから借用者に、要求されるリソースを割当てるステップ
をさらに含む、条項１１に記載の方法。
１３．リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、借用者のリソース要求にサービス提供する際の特定されたＶＲＰによる使用のために、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てすべきかどうかを決定するステップ
をさらに含む、条項１１に記載の方法。
１４．リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定に応答して、特定されたＶＲＰにＶＲＰの１つからリソースを再割当てするステップ
をさらに含む、条項１１に記載の方法。
１５．再割当てされるリソースが、ＶＲＰの１つのいずれの借用者もプリエンプトすることなしに、ＶＲＰの１つから再割当てされる、条項１４に記載の方法。
１６．再割当てされるリソースが、ＶＲＰの１つの借用者をプリエンプトすることにより、ＶＲＰの１つから再割当てされる、条項１４に記載の方法。
１７．プリエンプトされる借用者が、ＶＲＰの１つの複数の借用者の１つであり、プリエンプトされる借用者が、ＶＲＰの１つの借用者のそれぞれの複数の優先順位に基づいて選択される、条項１６に記載の方法。
１８．借用者が、第１の借用者であり、方法が、
リソース要求が、特定されたＶＲＰに現在割当てられているリソースを使用してサービス提供され得ないという決定が行われる場合に、
第１の借用者の要求優先順位を、第１の借用者に関連する現在のリソース割当てに基づいて決定するステップと、
第２の借用者の保持優先順位を、第２の借用者に関連する現在のリソース割当てに基づいて決定するステップと、
第１の借用者の要求優先順位および第２の借用者の保持優先順位を使用して、第１の借用者に第２の借用者のリソースを再割当てすべきかどうかを決定するステップと
をさらに含む、条項１に記載の方法。
１９．管理システムのリソースを管理するための装置であって、
借用者から、管理システムの複数のリソースの１つに対する要求を受信するための手段であり、リソースが、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を備える階層リソースプール（ＨＲＰ）を使用して管理される手段と、
リソース要求に関連するＶＲＰを特定するための手段と、
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するための手段と
を備える、装置。
２０．プロセッサにより実行される場合に、プロセッサに、管理システムのリソースを管理するための方法を遂行させる命令を記憶するコンピュータ可読媒体であって、方法が、
借用者から、管理システムの複数のリソースの１つに対する要求を受信するステップであり、リソースが、マスタリソースプール（ＭＲＰ）および複数の仮想リソースプール（ＶＲＰ）を備える階層リソースプール（ＨＲＰ）を使用して管理されるステップと、
リソース要求に関連するＶＲＰを特定するステップと、
特定されたＶＲＰからリソース要求にサービス提供すべきかどうかを決定するステップと
を含む、コンピュータ可読媒体。
【０１３２】
本発明の教示を組み込む様々な実施形態が、本明細書で詳細に示され、かつ説明されたが、当業者は、やはりこれらの教示を組み込む多くの他の変化に富む実施形態を容易に考案することができる。
【図１】
0005571239.tif 000002
【図２】
0005571239.tif 000003
【図３】
0005571239.tif 000004
【図４】
0005571239.tif 000005
【図５】
0005571239.tif 000006
【図６】
0005571239.tif 000007
【図７】
0005571239.tif 000008