JP2011503713A - サービスレベル契約に従ったリソース割り振りの予測及び管理 - Google Patents

サービスレベル契約に従ったリソース割り振りの予測及び管理 Download PDF

Info

Publication number
JP2011503713A
JP2011503713A JP2010533094A JP2010533094A JP2011503713A JP 2011503713 A JP2011503713 A JP 2011503713A JP 2010533094 A JP2010533094 A JP 2010533094A JP 2010533094 A JP2010533094 A JP 2010533094A JP 2011503713 A JP2011503713 A JP 2011503713A
Authority
JP
Japan
Prior art keywords
resource
application program
resources
service level
allocated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010533094A
Other languages
English (en)
Inventor
ヘッド ババ、
Original Assignee
クレディ スイス セキュリティーズ (ユーエスエイ) エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クレディ スイス セキュリティーズ (ユーエスエイ) エルエルシー filed Critical クレディ スイス セキュリティーズ (ユーエスエイ) エルエルシー
Publication of JP2011503713A publication Critical patent/JP2011503713A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

コンピューティングリソースの割り振りは、アプリケーションプログラムによるリソースの利用について設定されたサービスレベル要件に基づいてリソースの量をアプリケーションプログラムへ割り振ること、アプリケーションプログラムのリソース利用が利用閾値を超過しているかどうかを決定すること、及びアプリケーションプログラムのリソース利用が利用閾値を超過しているとの決定に応答してリソースの割り振られた量を変更することを備える。利用閾値は、設定されたサービスレベル要件に基づいており、設定されたサービスレベル要件とは異なる。利用閾値に基づいてリソースの割り振りを変更するにより、アプリケーションプログラムのサービスレベル契約の違反に先立って十分なリソースをアプリケーションプログラムへ割り振ることが可能になる。

Description

本発明は、分散されたコンピューティングリソースの割り振り及び管理に関する。より具体的には、本発明は、アプリケーションプログラムのサービスレベル契約の違反に先立ってリソースの割り振りを修正するため、利用可能なリソースの動的監視及び割り振り並びに利用可能なリソースの管理に関する。
(関連出願)
本特許出願は、2007年11月6日に出願された「サービス品質、サービスレベル契約マネージャ」と題する米国仮特許出願第60/985,915号への、米国特許法第119条のもとでの優先権を主張する。本特許出願は、2007年9月11日に出願された「仮想リソース市場を介するリソースの経済的割り振り及び管理」と題する米国特許出願第11/900,424号にも関連する。この米国特許出願第11/900,424号は、2007年3月27日に出願された「仮想リソース市場を介するリソースの経済的割り振り及び管理」と題する米国仮特許出願第60/908,350号への、米国特許法第119条のもとでの優先権を主張する。上記の識別された優先権及び関連出願の各々の完全な開示は、ここで参照して本明細書に全面的に組み入れられる。
企業組織では、多数のアプリケーションプログラムを作動させるために、分散されたコンピューティングリソース、例えば、計算リソース、ネットワークリソース、及び記憶リソースが提供される。分散されたコンピューティングリソースは、1つの一般的な場所において提供されてもよい。この場合、リソースは1つ又は複数のローカル・エリア・ネットワークを介して通信する。あるいは、分散されたコンピューティングリソースは、幾つかの場所において提供されてもよい。この場合、リソースは1つ又は複数のローカル・エリア・ネットワーク及び1つ又は複数の広域ネットワーク、例えば、インターネットを介して通信する。
分散されたコンピューティングリソースは、アプリケーションプログラムの作動を調整するため、これらのプログラムの間で割り振られ得る。例えば、計算リソース、ネットワークリソース、及び記憶リソースは、各アプリケーションプログラムへ割り振られ、各アプリケーションプログラムは、その作動について、その割り振られたリソースを利用し得る。しかしながら、従来の割り振り方法は、特定のリソースが現在十分に利用されていないかどうか、及び追加のアプリケーションプログラムの作動を調整できるかどうかに基づいて、特定のリソースをアプリケーションプログラムへ割り振る。このようにして、追加のアプリケーションプログラムの作動は、リソースがその最大能力又はこれを超えて利用されるまで、リソースへ追加される。
リソースのそのような従来の割り振りは、ビジネス又は作動優先順位、又は作動要件、又はアプリケーションプログラムのサービス品質に対して責任を負わない。従って、高優先順位のアプリケーションプログラムより前に低優先順位のアプリケーションプログラムが最初にアドレスされたという単純な理由で、限定された価値あるリソースが、高優先順位のアプリケーションの代わりに低優先順位のアプリケーションプログラムへ割り振られるかも知れない。追加的に、リソースのそのような従来の割り振りは、アプリケーションプログラムによって又はアプリケーションプログラムのユーザによって特定のリソースへ付与された値に基づくリソースの経済効率的分散を生じない。故に、従来の方法を介して割り振られたリソースは十分に利用されない。なぜならば、それらのリソースは、割り振られたリソースの特定の性能特性を十分に利用できないアプリケーションプログラムによって消費されるからである。あるいは、従来の方法を介して割り振られたリソースは、十分に性能を発揮しない。なぜなら、それらのリソースは、割り振られたリソースの性能特性よりも精緻な性能特性を要求するアプリケーションプログラムによって消費されるからである。
更に、従来のリソース割り振り方法では、リソースの効率的及び/又は経済的分散を維持するために、又はサービスレベル契約の違反を予想及び防止するために、リソースが動的に再割り振りされることはない。一度、リソースがアプリケーションプログラムへ最初に割り振られると、アプリケーションプログラムはそれらのリソースの上で無限に作動する。益々多くのアプリケーションプログラムの作動がリソースへ追加されるにつれて、リソースが過度に利用されるようになったとき、従来の解決法はより多くのリソースを購入することである。その従来の解決法は、既存のリソースの未使用能力を発見するため、既存のリソースを再割り振りすることを考慮していない。その従来の解決法は、プログラムの作動を一層適切なリソースへ動的に移行する必要性もまた考慮していない。追加的に、従来の解決法は、リソースを利用しているアプリケーションプログラムに関連づけられたサービスレベル契約のサービスレベル要件をリソースが満たせなくなるまで、それらのリソースを再割り振りしない。従って、サービスレベル契約が既に違反されてしまうまで、追加的又は代替的なリソースはアプリケーションプログラムへ割り振られない。
従って、アプリケーションプログラムの間でリソースを効率的に割り振る必要性が、当技術分野に存在する。アプリケーションプログラムに関連づけられたサービスレベル契約の違反に先立って、一層適当なリソースの新しい割り振りを可能にするため、アプリケーションプログラムの間で割り振られたリソースの利用を監視する必要性が更に存在する。
本発明は、割り振られたリソースを利用しているアプリケーションプログラムに関連づけられたサービスレベル契約に違反することなく、適当なリソース割り振りを維持するため、分散されたコンピューティングリソースを割り振り及び管理する方法及びシステムを含む。本発明は、サービスレベル契約の潜在的な将来の違反を予想することができ、サービスレベル契約の違反を防止して要件を満たすため、追加又は代替のリソースをアプリケーションプログラムへ割り振ることができる。1つの態様において、高優先順位のアプリケーションプログラムに関連づけられたサービスレベル契約の違反を防止するため、低優先順位のアプリケーションプログラムへ割り振られたリソースは、高優先順位のアプリケーションプログラムへシフトされ得る。他の態様において、特定のアプリケーションプログラムに関連づけられたサービスレベル契約への違反を防止するため、特定のアプリケーションプログラム、又はその特定のアプリケーションプログラムを含むアプリケーションプログラムのファミリーが、代替のリソースへ移行され得る。
更に他の態様において、アプリケーションプログラムに関連づけられたサービスレベル契約の中に記述されたサービスレベル要件への順守を保証するため、リソースが監視される。アプリケーションプログラムによる特定のリソースの利用が、アプリケーションプログラムへ現在割り振られている特定のリソースの量よりも低い所定の閾値をいつ超過するかを決定するため、リソースが監視される。利用が閾値を超過するとき、追加又は代替のリソースがアプリケーションプログラムへ割り振られ、これにより割り振られた量を超過する利用に先立って十分なリソースを割り振る。これはサービスレベル要件に基づいており、従ってアプリケーションプログラムに関連づけられたサービスレベル契約の違反に先立つ。
更に他の態様では、リソース割り振りの後でリソースの電力及び/又は冷却要件が調節され得る。もし特定のリソースの割り振られた量が増加又は減少されるならば、そのリソースへ提供された電力及び/又は冷却の量が、それに従って調節され得る。もしアプリケーションプログラムが当初のリソースから代替のリソースへ移行されるならば、電力及び/又は冷却は、当初のリソースについて減少され、代替のリソースについて増加され得る。従って、増加されたエネルギー効率及びコスト節減が達成され得る。
追加的に、本発明は取引市場モデルを介して、分散されたコンピューティングリソースを割り振り及び管理する方法及びシステムを含む。取引市場モデルの利用は、アプリケーションプログラムによって使用されるリソースの効率的及び経済的割り振りを生じ得る。リソースは、各リソースの単位に対する市場価格に基づいて割り振られ得る。従って、アプリケーションプログラムによって使用されるリソースを提供するオファーが創出され得る。ここで各オファーは、対応するリソース単位に関連づけられた少なくとも1つの性能特性及び値を指定する。アプリケーションプログラムによって使用されるリソースを取得するビッドも創出される。各ビッドは、対応するアプリケーションプログラムの作動に要求される少なくとも1つのサービスレベル及び対応するアプリケーションプログラムの作動に関連づけられた認識価値又は対応するアプリケーションプログラムのサービスレベル要件を満たすか超過するリソースを取得する認識価値に対応する値を指定する。ビッドは、各ビッドのサービスレベル要件及び値を、オファーの1つの性能特性及び値にマッチさせることによって、取引市場モデルを介してオファーへマッチさせられる。次いで、各オファーに関連づけられたリソースは、マッチするビッドに関連づけられたアプリケーションプログラムへ割り振られ、アプリケーションプログラムの作動は、割り振られたリソースへ移行される。各ビッドのサービスレベル要件への順守を保証するためリソースが監視され、順守していないリソースは取引市場モデルを介して置換される。
分散コンピューティング環境においてリソースを割り振られた各アプリケーションプログラムについて、性能監視が実行され得る。このようにして、リソースがアプリケーションプログラムのサービスレベル要件を満たすことを保証するため、割り振られたリソースの性能が連続的又は定期的に監視される。もしリソースが、要求されるサービスレベルを提供していないならば、サービスレベル要件を満たすリソースを取得するため、新しいビッドが創出されて取引市場へ提出され得る。追加的に、このようにして、アプリケーションプログラムのユーザが未使用リソース(言い換えれば、リソースの過剰能力)に対して支払っていることを示す量だけリソースの性能がサービスレベル要件を超過していないことを保証するため、割り振られたリソースの性能が連続的又は定期的に監視される。もしリソースがアプリケーションプログラムによって十分に利用されていなければ、アプリケーションプログラムのサービスレベル要件に関して一層適切及び/又は経済的なリソースを取得するため、新しいビッドが創出されて取引市場へ提出され得る。
こうして、割り振られたリソースが十分利用されていないか性能を十分発揮していないかどうかを決定するため、それらのリソースの性能が監視され得る。もしそうであれば、新しいリソースが識別されてアプリケーションプログラムへ割り振られ、アプリケーションプログラムの作動が新しいリソースへ移行され、これによってアプリケーションプログラムのために適正な性能のリソースを提供し得る。
リソースが或る期間にわたって前述したように割り振られた後、リソースを管理するため、割り振られたリソースに関連した情報が使用され得る。関連する期間の間、リソースによって生成された実際又は理想的収入から、各リソースの実際又は理想的コスト及び費用を減じることによって、各リソースの利益及び損失情報が生成される。所有者はどのリソースに投資すべきか、所有者はその現在のポジションをどのリソースで維持すべきか、及び所有者はどのリソースを売却すべきかを決定するため、利益及び損失情報が比較される。所有者は、利益を生み出しているリソースに投資し、損失を発生しているリソースを売却し得る。
従って、所有者又はユーザは、価格及び性能を含めて、どのリソースが最も経済的であるかを決定するため、物理的リソースを評価し得る。例えば、計算リソースは様々なプラットフォームを備えることができ、プラットフォームの各々は異なる価格及び性能特性を有する。期間についての各リソースの利益及び損失計算書の比較は、どのプラットフォームが性能単位当たりより多くの収入を発生しているかを示す。この情報に基づいて、所有者は、どのプラットフォームを維持すべきか、又はどのプラットフォームで所有者のポジションを増加すべきか、及びどのプラットフォームを売却すべきかを決定し得る。リソースは前述したようにして割り振られているので、評価は、アプリケーションプログラムによって使用されるためにはどのリソースが一層望ましいかの表示を価格及び性能特性に基づいて提供する。
本発明のこれら及び他の態様、目的、及び特徴は、添付の図面と併せて読まれ及び添付の図面を参照する例示的実施形態の次の詳細な説明から明らかになるであろう。
本発明の例示的実施形態に従って、分散されたコンピューティングリソースを割り振り及び管理するシステムを描いたブロック図である。 本発明の例示的実施形態に従って、分散されたコンピューティングリソースを割り振り及び管理する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、各仮想リソースについて性能単位当たりの指定価格で利用可能仮想リソースを提供するオファーを創出する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムの作動に要求されるサービスレベル要件を識別する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムのサービスレベル要件を満たすために要求されるリソースの単位を取得するビッドを創出する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムによって使用される仮想リソースを取得するため、リソースオファーを要件ビッドにマッチさせる方法を描いたフローチャートである。 本発明の例示的実施形態に従って、マッチするリソースオファー及び要件ビッドに基づきアプリケーションプログラムの作動に要求されるリソースを購入する取引を完了する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムの作動を、購入されたリソースへ移行する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、割り振られたリソースの性能及びアプリケーションプログラムのサービスレベル要件を監視する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムの分散されたコンピューティングリソースの再割り振りを描いたブロック図である。 本発明の例示的実施形態に従って、或る期間にわたるリソース割り振りに基づいてリソースの維持、獲得、及び/又は売却を管理する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムのサービスレベル契約に基づきリソース要件を管理する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムに関連づけられたサービスレベル契約の違反に先立ってアプリケーションプログラムの選択されたリソースの割り振りを修正する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、割り振られたリソースの変更に基づき当初及び代替リソースの冷却及び電力要件を調節する方法を描いたフローチャートである。 本発明の例示的実施形態に従って、アプリケーションプログラムのサービスレベル契約に基づきリソース要件を管理するシステムを描いたブロック図である。
同様の番号は同様の要素を表す図面を参照して、例示的実施形態の態様が説明される。
図1は、本発明の例示的実施形態に従って、分散されたコンピューティングリソースを割り振り及び管理するシステム100を描いたブロック図である。システム100は、図2〜図9及び図11に示された方法を参照してより詳細に論議される。
図2は、本発明の例示的実施形態に従って、分散されたコンピューティングリソースを割り振り及び管理する方法200を描いたフローチャートである。方法200は、図1及び図2を参照して説明される。
1つの例示的実施形態によれば、分散されたコンピューティングリソースは、企業組織のリソースであり得る。この場合、リソースのユーザは組織の構成員である。あるいは、分散されたコンピューティングリソースは、そのリソースを割り振る中央システムに結合された多数の組織のリソースであり得る。
図2のステップ205で示されるように、リソース仲介者102は、1つ又は複数のアプリケーションプログラムを作動させるために利用可能なリソース能力を識別するため、コンピューティングサービスを提供する分散されたコンピューティングリソースを監視する。例示的実施形態において、分散されたコンピューティングリソースは、物理コンピューティングリソース103、例えば、計算構造104、ネットワーク構造106、及び記憶構造108を備え得る。計算構造104、ネットワーク構造106、及び記憶構造108の各々は、サービスを提供するように構成された1つ又は複数の仮想リソース109を備え得る。例えば、図1に示されるように、計算構造104は仮想計算構造C1及びC2を備え、ネットワーク構造106は仮想ネットワーク構造N1及びN2を備え、記憶構造108は仮想記憶構造S1及びS2を備える。
例示的実施形態において、リソース仲介者102は、分散されたコンピューティング環境で作動して仮想リソース109と取引市場112との間のインタフェースとして機能するソフトウェアモジュールを備え得る。
ステップ210において、リソース仲介者102は、各リソースについて性能単位当たりの指定価格で利用可能仮想リソース109を提供するオファーを創出する。そのようなオファーは、本明細書では「リソースオファー110」110と呼ばれる。構造104、106、108の各々について、1つ又は複数のリソースオファー110が創出され得る。例えば、図1に示されるように、リソースオファー110は、計算構造Cの3つのオファー、計算構造Cの2つのオファー、ネットワーク構造Nの3つのオファー、ネットワーク構造Nの2つのオファー、記憶構造Sの3つのオファー、及び記憶構造Sの2つのオファーを備える。ステップ210は、この後で図3を参照して更に詳細に説明される。
次いで、ステップ215において、リソース仲介者102は、リソースオファー110を取引市場112へ通信する。例示的実施形態において、取引市場112は、分散されたコンピューティング環境で作動してリソース仲介者102と要件仲介者114との間のインタフェースとして機能するソフトウェアモジュールを備え得る。
ステップ220において、要件仲介者114はアプリケーションプログラムの作動に要求されるサービスレベルリソース要件を識別する。例示的実施形態において、要求されたリソースは、コンピューティング、ネットワーク、及び記憶リソース、例えば、図1に示される1つ又は複数の計算構造104、ネットワーク構造106、及び記憶構造108を備え得る。アプリケーションプログラムは、良好に確立されたアーキテクチャ、例えば、正統的アプリケーションアーキテクチャ116に適合し得る。図1に示される例示的な正統的アプリケーションアーキテクチャは、正統的アーキテクチャAとして示されるメッセージハブ、正統的アプリケーションアーキテクチャBとして示されるn階層アプリケーション、及び正統的アプリケーションアーキテクチャCとして示される計算施設を備える。他のアプリケーションアーキテクチャは本発明の範囲の中に含まれる。ステップ220は、この後で図4を参照して更に詳細に説明される。
例示的実施形態において、要件仲介者114は、分散されたコンピューティング環境で作動してアプリケーションプログラムと取引市場112との間のインタフェースとして機能するソフトウェアモジュールを備え得る。
ステップ225において、アプリケーションプログラムのサービスレベル要件を満たすために要求されるリソースの単位を購入するビッドが創出される。そのようなビッドは、本明細書では「要件ビッド118」と呼ばれる。1つ又は複数の要件ビッド118が各アプリケーションプログラムについて創出され得る。例えば、図1に示されるように、要件ビッド118は各正統的アーキテクチャA、B、Cについて計算構造へのビッド、ネットワーク構造へのビッド、及び記憶構造へのビッドを備える。ステップ225は、この後で図5を参照して更に詳細に説明される。
ステップ230において、要件仲介者114は要件ビッド118を取引市場112へ通信する。次いで、ステップ235において、取引市場112は、各アプリケーションプログラムへのリソースの経済的及び効率的割り振りを決定するため、リソースオファー110を要件ビッド118へマッチさせる。ステップ235は、この後で図6を参照して更に詳細に説明される。
ステップ240において、取引市場112は、マッチするオファー及びビッドに基づきアプリケーションプログラムに要求されるリソースを割り振る取引を完了する。ステップ240は、この後で図7を参照して更に詳細に説明される。
ステップ245において、アプリケーションプログラムの作動は、割り振られたリソースへ移行される。ステップ245は、この後で図8を参照して更に詳細に説明される。
ステップ250において、要件仲介者114は、割り振られたリソースの性能が、各アプリケーションプログラムのサービスレベル要件を満たすことを保証するため、割り振られたリソースの性能及び各アプリケーションプログラムのサービスレベル要件を監視する。ステップ250は、この後で図10を参照して更に詳細に説明される。
ステップ255において、ステップ250で完了された性能監視に基づき、要件仲介者114は、割り振られたリソースが、特定のアプリケーションプログラムのサービスレベル要件に関して十分に利用されていないか又は十分に性能を発揮していないかを決定する。もしイエスであれば、方法200は、アプリケーションプログラムのサービスレベル要件を満たす新しいリソースを取得するため、ステップ225へ戻る。もし要件仲介者114が、ステップ255において、割り振られたリソースがアプリケーションプログラムのサービスレベル要件を満たしていると決定するならば、方法はステップ260へ分岐する。
ステップ260において、方法200は、アプリケーションプログラムの作動が完了しているかどうかを決定する。もし完了していなければ、方法200は、割り振られたリソースの性能及びアプリケーションプログラムのサービスレベル要件の監視を継続するため、ステップ250へ戻る。もし方法200が、ステップ260において、アプリケーションプログラムの作動が完了していると決定するならば、方法200は、割り振られたリソースからアプリケーションプログラムの作動が除去されるステップ265へ分岐する。
方法200は、図1のステップ270で示されるように、所定の期間にわたるリソース割り振りに基づいてリソースの維持、獲得、及び売却を管理することを更に含む。ステップ270は、この後で図11を参照して更に詳細に説明される。
図3は、図2のステップ210において参照されたように、本発明の例示的実施形態に従って、各仮想リソース109について性能単位当たりの指定価格で利用可能仮想リソース109を提供するオファーを創出する方法210を描いたフローチャートである。方法210は、図1及び図3を参照して説明される。
ステップ305において、リソース仲介者102は、アプリケーションプログラムによる使用に利用可能な物理的リソース103を選択する。例えば、リソース仲介者102は計算、ネットワーク、又は記憶リソース、例えば、計算構造104、ネットワーク構造106、及び記憶構造108を選択し得る。例示的実施形態において、リソース仲介者102は、利用されていない各リソースの過剰能力を識別するため、各リソースの使用を監視し得る。そのような過剰能力は、アプリケーションプログラムによる使用に利用可能なリソースとして識別され得る。
次いで、ステップ310において、リソース仲介者102は、アプリケーションプログラムによる使用に利用可能な、選択された物理的リソース103の量を識別する。例示的実施形態において、各リソースの量は、特定の製造者及び/又はコンポーネントを含めてハードウェアタイプ及び/又は構成、並びに各リソースの現在利用可能な過剰能力を備え得る。この点に関して、利用可能な物理的リソース103は、仮想リソース109、例えば、仮想計算構造C及びC、仮想ネットワーク構造N及びN、及び仮想記憶構造S及びSを創出するため、組み合わせられ得る。例えば、分散された場所で利用可能なコンピュータプロセッサは、アプリケーションプログラムによる使用に利用可能な仮想コンピューティングリソースを創出するため、統合され得る。代表的リソース能力は、コンピューティングリソースについてCPUサイクル、ネットワークリソースについて帯域幅、及び記憶リソースについてディスクスペース及び/又はメモリを備え得る。
利用可能なリソースの量は、各仮想リソース109に関連づけられた性能及び信頼度特性を更に備え得る。例えば、そのような特性は、実行時間、応答時間、結果の正確度(例えば、故障率)、利用可能性、信頼度、セキュリティ、又は仮想リソース109の性能を示す他の適切な特性を備え得る。
ステップ315において、リソース仲介者102は、アプリケーションプログラムによって使用される仮想リソース109を提供するため、オファーの中に含めるべき仮想リソース109の単位量を識別する。この点に関して、リソース仲介者102は、利用可能な仮想リソース109の最大量に達するまで、識別された単位の増分での割り振りに利用可能な、仮想リソース109の部分を識別し得る。もしリソース仲介者102が、ステップ310において、多数の仮想リソース109、例えば、仮想計算構造C及びCを識別したのであれば、リソース仲介者102は各仮想リソース109について単位量を識別し得る。
ステップ320において、アプリケーションプログラムによって使用される仮想リソース109を提供するため、オファーの中に含められる仮想リソース109の各単位について、価格が設定される。例示的実施形態において、リソース仲介者102は、リソースの精緻性、コストデータ、供給、需要、又はユーザによってリソース仲介者102へと入力されるか、完了されたリソース割り振り取引の履歴データに基づいてリソース仲介者102によって取得された他の経済データ入力に基づいて、仮想リソース109の単位当たりの価格を計算し得る。例えば、より精緻なリソースは、より精緻でないリソースよりも高価であり、高需要のリソースは低需要のリソースよりも高価であり得る。価格は、リソースがアプリケーションプログラムによって使用されるために販売される貨幣量を備え得る。あるいは、値は、実際の貨幣価値に基づかないリソースの認識価値を表し得る。例えば、認識価値は、ビジネス企業の内部で設定されたビジネス要件及び優先順位に基づき得る。
ステップ325において、リソース仲介者102は、アプリケーションプログラムによって使用される利用可能仮想リソース109を提供するため、1つ又は複数のリソースオファー110を生成する。リソースオファー110は、ステップ310〜320で取得された情報に基づいて、仮想リソース109、利用可能な仮想リソース109の量(能力及び性能を含む)、及び仮想リソース109の単位価格を指定し得る。
ステップ330において、リソース仲介者102は、他の仮想リソース109についてリソースオファー110を生成するかどうかを決定する。例えば、もしリソース仲介者102が、利用可能な計算構造104についてのみリソースオファー110を生成したのであれば、リソース仲介者102は、利用可能なネットワーク及び記憶構造106及び108についてリソースオファー110を生成すると決定し得る。この場合、方法210は、他のリソースについてリソースオファー110を生成するため、ステップ305へ戻る。もし方法210が、ステップ330において、他の仮想リソース109についてリソースオファー110を生成しないと決定するならば、方法210はステップ215(図2)へ分岐する。
図4は、図2のステップ220において参照されたように、本発明の例示的実施形態に従って、アプリケーションプログラムの作動に要求されるサービスレベル要件を識別する方法220を描いたフローチャートである。方法220は、図1及び図4を参照して説明される。
ステップ405では、アプリケーションプログラムが選択される。次いで、選択されたアプリケーションプログラムに対する特定のサービスレベル要件が、ステップ410〜435において識別される。
ステップ410では、アプリケーションプログラムを作動させるために利用可能な予算が識別される。例示的実施形態において、予算は、アプリケーションプログラムのユーザによって入力され、ユーザの予算制約を満たすように設計され得る。例えば、ユーザは、特定のプログラムに対する公知の財源に基づいて、アプリケーションプログラムの作動に利用可能な予算を入力し得る。他の例示的実施形態において、予算情報はアプリケーションプログラムの作動に関連づけられた値を備え得る。値は、アプリケーションプログラムの作動に必要なリソースを取得するため、ユーザが支払う意思のある貨幣量を備え得る。あるいは、値は、実際の貨幣価値に基づかないアプリケーションプログラムの認識価値を表し得る。例えば、認識価値は、分散されたコンピューティング環境の中で追加のアプリケーションプログラムを作動しているユーザ及び/又は他のユーザに対するアプリケーションプログラムの作動の優先順位に基づき得る。予算制約は、幾つかの代替形式、例えば、コストに関わらず利用可能な最良リソースを取得する命令、最小費用のリソースを取得する命令、指定総価格又はリソースの単位価格でリソースを取得する命令、又は他の適切な予算形式を介してリソースを取得する命令の形式で提供され得る。
ステップ415では、アプリケーションプログラムが作動しなければならない期間が識別される。例示的実施形態において、作動期間は、アプリケーションプログラムのユーザによって入力され、ユーザの予算及び顧客サービス制約を満たすように設計され得る。例えば、ユーザは、アプリケーションプログラムが作動しなければならない期間、例えば、24/7(一日当たり24時間、一週間に7日)、24/5(一日当たり24時間、一週間に5日)、月曜から金曜までの午前8:00〜午後5:00、又はアプリケーションプログラムが作動しなければならない他のいかなる適切な期間を入力し得る。ユーザは、予算制約に基づいて、指定された作動期間を更に調節し得る。例えば、ユーザは、アプリケーションプログラムの作動コストを低減するため、オフピーク期間でのアプリケーションプログラムの作動を指定し得る。
ステップ420〜435においては、コンピューティングリソース、ネットワークリソース、記憶リソース、及びアプリケーションプログラムを作動させるために要求される他のリソースが、それぞれ決定される。例示的実施形態によれば、ステップ420〜435は、特定の製造者及び/又はコンポーネントを含めてハードウェアタイプ及び/又は構成、並びに各リソースに要求される能力を識別することを備え得る。要求される代表的リソース能力は、コンピューティングリソースについてCPUサイクル、ネットワークリソースについて帯域幅、及び記憶リソースについてディスクスペース及び/又はメモリを備え得る。ステップ420〜435は、特定のパラメータ内でアプリケーションプログラムを作動させるため、各々の要求されるリソースについて性能特性を識別することを更に備え得る。例えば、そのような特性は、実行時間、応答時間、結果の正確度(例えば、故障率)、利用可能性、信頼度、セキュリティ、又はリソースの性能を示す他の適切な特性を備え得る。
例示的実施形態において、要件仲介者114は、所望されるようにアプリケーションプログラムを作動させるために必要な最小又は最適リソース要件に基づいて、要求されるリソースを決定し得る。この場合、要件仲介者114は、この情報をアプリケーションプログラムの仕様から直接取得し得る。あるいは、アプリケーションプログラムのユーザは、1つ又は複数のリソースの量を指定するため、所望の構成可能なセッティングを入力し得る。この点に関して、ユーザは所望のレベルのサービスを提供する特性を入力し、それを要件仲介者114はステップ420〜435において読み取り得る。
例示的実施形態によれば、サービスレベル要件は閾値又は範囲で表現され得る。例えば、要求される応答時間は1秒より少ない時間に設定され得るが、これはリソースの性能がサービスレベル要件の閾値を満たすかどうかの将来の決定を可能にする。代替の例としては、要求される応答時間が、範囲、例えば、0.5秒から1.5秒で設定され得ることである。この場合、リソースの応答時間が指定範囲内に入れば、リソースはそのサービスレベル要件を満たす。性能の閾値及び範囲は、各サービスレベル要件について指定され得る。
ステップ440において、方法220は、他のアプリケーションプログラムについてサービスレベル要件を識別すべきかどうかを決定する。もしイエスであれば、方法220は、サービスレベル要件を識別する他のアプリケーションプログラムを選択するため、ステップ405へ戻る。この点に関して、方法220は、多数のアプリケーションプログラムについてサービスレベル要件を識別し得る。例えば、図1に示される正統的アーキテクチャA、B、Cの1つを利用しているアプリケーションについて、サービスレベル要件が識別され得る。もし方法220が、ステップ440において、他のアプリケーションプログラムについてサービスレベル要件を識別しないと決定するならば、方法220はステップ225(図2)へ分岐する。
ステップ410〜435を参照して説明された特定のサービスレベル要件は、特定のアプリケーションプログラムの特定の要件及びアプリケーションプログラムのユーザ又は分散されたコンピューティングリソースの所有者の特定の要件に依存し得る。従って、サービスレベル要件は、ステップ410〜435において説明された品目の全部または部分集合を備えてもよく、追加のサービスレベル要件は本発明の範囲の中に含まれる。
図5は、図2のステップ225において参照されたように、本発明の例示的実施形態に従って、アプリケーションプログラムのサービスレベル要件を満たすために要求されるリソースの単位を取得するビッドを創出する方法225を描いたフローチャートである。方法225は、図1及び図5を参照して説明される。
ステップ505において、要件仲介者114は、1つ又は複数の要件ビッド118を創出する最初のアプリケーションプログラムを選択する。そして、ステップ510において、要件仲介者114は、選択されたアプリケーションプログラムの作動に要求される最初のリソースを選択する。例えば、要件仲介者114は、アプリケーションプログラムの作動に要求される計算、ネットワーク、又は記憶リソースの1つを選択し得る。
ステップ515において、要件仲介者114は、図4のステップ415〜435において決定されたサービスレベル要件に基づいて、選択されたリソースについてサービスレベル要件を読み取る。追加的に、ステップ520において、要件仲介者114は、図4のステップ410において決定された予算に基づいて、アプリケーションプログラムを作動させるための予算制約を示す予算情報を読み取る。
次いで、ステップ525において、要件仲介者114は、サービスレベル要件及び利用可能な予算に基づいて、アプリケーションプログラムの作動について、選択されたリソースを取得するために支払う、選択されたリソースの単位当たりの価格を設定する。例示的実施形態において、要件仲介者114は、ユーザによって要件仲介者114へと入力されるか、完了されたリソース割り振り取引の履歴データに基づいて要件仲介者114によって取得されたコストデータ、供給、需要、又は他の経済データに基づいて、リソースの単位当たり価格を計算し得る。要件仲介者114は、コストに関わらず利用可能な最良リソースを取得する命令、最小費用リソースを取得する命令、指定総価格又はリソースの単位当たり価格でリソースを取得する命令、又は予算情報及びアプリケーションプログラムの優先順位に依存して、他の適切な予算形式を介してリソースを取得する命令に基づいて、単位当たり価格を更に設定し得る。
ステップ530において、要件仲介者114は、選択されたアプリケーションプログラムによって使用される選択されたリソースを取得するため、1つ又は複数の要件ビッド118を生成する。要件ビッド118は、ステップ515〜525で取得された情報に基づいて、リソース、リソースが満たさなければならないサービスレベル要件、及びユーザがリソースを取得するために支払う単位価格を指定し得る。前に論議されたように、単位価格は実際の貨幣価値又は認識価値を備え得る。
ステップ535において、要件仲介者114は、アプリケーションプログラムを作動するために必要な他のリソースについて要件ビッド118を生成すべきかどうかを決定する。例えば、もし要件仲介者114が計算リソースについてのみ要件ビッド118を生成したのであれば、要件仲介者114は、ネットワーク又は記憶リソースについて要件ビッド118を生成すると決定し得る。この場合、方法225は、他のリソースについて要件ビッド118を生成するため、ステップ510へ戻る。もし方法225が、ステップ535において、他のリソースについて要件ビッド118を生成しないと決定するならば、方法225はステップ540へ分岐する。
次いで、ステップ540において、要件仲介者114は、他のアプリケーションプログラムについて要件ビッド118を生成すべきかどうかを決定する。もしイエスであれば、方法225は、他のアプリケーションプログラムについて要件ビッド118を生成するため、ステップ505へ戻る。もし方法225が、ステップ540において、他のアプリケーションプログラムについて要件ビッド118を生成しないと決定するならば、方法225はステップ230(図2)へ分岐する。
図6は、図2のステップ235において参照されたように、本発明の例示的実施形態に従って、アプリケーションプログラムによって使用される仮想リソース109を取得するため、リソースオファー110を要件ビッド118へマッチさせる方法235を描いたフローチャートである。方法235は、図1及び図6を参照して説明される。
ステップ602において、取引市場112は、選択されたアプリケーションプログラムを作動させるために利用可能なリソースを識別するアプリケーションプログラムを選択する。そして、ステップ605において、取引市場112は、選択されたアプリケーションプログラムを作動させるために要求されるリソースを選択する。更に具体的には、もし選択されたアプリケーションプログラムの作動に多数のリソースが要求されるならば、方法235は、ステップ605において、それらのリソースの1つを選択し、これによって、方法235が、選択されたリソースについてリソースオファー110を要件ビッド118へマッチさせることが可能になる。次いで、この後で説明されるように、マッチングステップは、アプリケーションプログラムの作動に必要な他のリソースについて反復され得る。
ステップ610において、取引市場112は、選択されたアプリケーションプログラムについて、選択されたリソースの単位を購入するための要件ビッドを選択する。次いで、ステップ615において、取引市場112は、選択された要件ビッドの中で指定されたサービスレベル要件及び価格パラメータで仮想リソース109を提供するリソースオファーが存在するかどうかを決定する。従って、ステップ620において、取引市場112は、そのようなマッチするオファーが存在するかどうかを決定する。もしイエスであれば、方法235はステップ630へ分岐する。もしそうでなければ、方法235はステップ625へ分岐する。このステップ625において、取引市場112は、マッチするオファーが識別されるまで、リソース及び要件仲介者102及び114がリソースオファー110及び/又は選択された要件ビッドを改訂することを許可する。方法235は、次いでステップ630へ進む。
選択された要件ビッドとマッチするリソースオファー110を識別するため取引市場112によって採用される方法は、経済市場で商品を割り振る任意の適切な形式を備え得る。例えば、取引市場112は、商品市場モデル、公示価格モデル、入札/契約ネットモデル、オークションモデル(逆競りモデルを含む)、独占/寡占モデル、及び/又はビッド基礎比例リソース共有モデルのような方法を利用し得る。これらの例示的実施形態において、取引市場112は、市場清算価格で及び選択された要件ビッドの中で指定された予算パラメータ内でリソースを効率的に割り振るため、経済市場を作動させる。
選択された要件ビッドの中で指定された予算パラメータを考慮するとき、取引市場112は、要件ビッドを満たす最良のリソースオファーを識別するため、リソースオファーを比較し得る。例えば、もし多数のリソースオファーが適当なタイプのリソースをオファーするならば、取引市場112は、予算制約、例えば、コストに関わらず利用可能な最良リソースを取得する要件ビッドの命令、最小費用リソースを取得する要件ビッドの命令、指定総価格又はリソースの単位当たり価格でリソースを取得する要件ビッドの命令、又は他の適切な予算形式を介してリソースを取得する要件ビッドの命令のもとで、最良のリソースオファーを識別し得る。
ステップ630において、取引市場112は、マッチするリソースオファーを、選択された要件ビッドへリンクする。次いで、ステップ635において、取引市場112は、選択されたリソースの追加の単位が、選択されたアプリケーションプログラムを作動するために要求されるかどうかを決定する。例えば、もしマッチするリソースオファーがサービスレベル要件を満たすことを要求されるリソースの一部分のみを提供するならば、取引市場112は、選択されたリソースの追加の単位が要求されると決定し得る。もしイエスであれば、方法235は、選択されたリソースの単位を指定価格で購入する他の要件ビッドを選択するため、ステップ610へ戻る。新しく選択された要件ビッドは、前に選択された要件ビッドの改訂版であり得るが、選択されるリソースの量は、マッチするリソースオファーによって提供されたリソースの量に等しい量だけ低減される。
ステップ635に戻って、もし選択されたリソースの追加の単位が要求されなければ、方法235はステップ640へ分岐する。ステップ640において、取引市場112は、選択されたアプリケーションプログラムを作動させるために他のリソースが要求されるかどうかを決定する。例えば、もし取引市場112が、計算リソースについてのみ、マッチするリソースオファー110を識別したならば、取引市場112は、アプリケーションプログラムを作動させるために必要なネットワーク又は記憶リソースについて、マッチするリソースオファー110を識別すると決定し得る。この場合、方法235は、他のリソースについてマッチするリソースオファー110を識別するため、ステップ605へ戻る。もし取引市場112が、ステップ640において、他のリソースについてマッチするリソースオファー110を識別しないと決定するならば、方法235はステップ645へ分岐する。
次いで、ステップ645において、取引市場112は、他のアプリケーションプログラムについて要件ビッド118及びリソースオファー110をマッチさせるべきかどうかを決定する。もしイエスであれば、方法235はステップ602へ戻る。もしそうでなければ、方法235はステップ240(図2)へ分岐する。
図7は、図2のステップ240において参照されたように、本発明の例示的実施形態に従って、マッチするリソースオファー110及び要件ビッド118に基づきアプリケーションプログラムの作動に要求されるリソースを購入する取引を完了する方法240を描いたフローチャートである。方法240は、図1及び図7を参照して説明される。
ステップ702において、取引市場112はアプリケーションプログラムを選択する。そして、ステップ705において、取引市場112は、アプリケーションプログラムについて要件ビッド及びそのマッチするリソースオファーを選択する。ステップ710において、要件仲介者114は、リソースオファーの中で指定された仮想リソース109を利用するため、リソース仲介者102に支払うことを約定する。ステップ715において、取引市場112は、要件仲介者114のアカウントを借方に記入し、リソース仲介者102のアカウントを貸方に記入することによって、仮想リソース109の使用に対する支払い約定を計上する。次いで、ステップ720において、取引市場112は要件仲介者114とリソース仲介者102との間のサービスレベル契約を発行する。このサービスレベル契約において、リソース仲介者102は、もしあれば、リソースオファーの中で指定されたコストの支払いとの交換で、リソースオファー(マッチする要件ビッドの中で指定されたサービスレベル要件を満たす約定を含む)の中で指定された仮想リソース109を提供することに合意する。
ステップ725において、取引市場112は、アプリケーションプログラムについて追加のマッチする要件ビッド118及びリソースオファー110が存在するかどうかを決定する。もしイエスであれば、方法240は、アプリケーションプログラムの作動に要求される他のリソースについて取引を完了するため、ステップ705へ戻る。もしそうでなければ、方法240はステップ730へ分岐する。
ステップ730において、取引市場112は、他のアプリケーションプログラムについてリソースを取得するため、取引を完了するかどうかを決定する。もしイエスであれば、方法240は、他のアプリケーションプログラムを選択するため、ステップ702へ戻る。もしそうでなければ、方法240はステップ245(図2)へ分岐する。
図8は、図2のステップ245において参照されたように、本発明の例示的実施形態に従って、アプリケーションプログラムの作動を、購入されたリソースへ移行する方法245を描いたフローチャートである。方法245は、図1及び図8を参照して説明される。
ステップ802では、アプリケーションプログラムが選択される。ステップ805において、リソース仲介者102は、選択されたアプリケーションプログラムについて購入された仮想リソース109を選択する。次いで、ステップ810において、リソース仲介者102は、購入された仮想リソース109をアプリケーションプログラムへ割り振り、ステップ815において、要件仲介者114は、割り振られた仮想リソース109をアプリケーションプログラムの作動に利用するようアプリケーションプログラムに指令する。
ステップ820において、方法245は、アプリケーションプログラムについて他のリソースが購入されたかどうかを決定する。もしイエスであれば、方法245は、他の仮想リソース109をアプリケーションプログラムへ割り振るため、ステップ805へ戻る。もしそうでなければ、方法245はステップ825へ分岐する。
ステップ825において、方法245は、他のアプリケーションプログラムの作動を、購入されたリソースへ移行すべきかどうかを決定する。もしイエスであれば、方法245は、他のアプリケーションプログラムを選択するため、ステップ802へ戻る。もしそうでなければ、方法245はステップ250(図2)へ分岐する。
図9は、図2のステップ250において参照されたように、本発明の例示的実施形態に従って、割り振られたリソースの性能及びアプリケーションプログラムのサービスレベル要件を監視する方法250を描いたフローチャートである。方法250は、図1及び図9を参照して説明される。
ステップ905において、要件仲介者114は、アプリケーションプログラムによって利用されているリソースを選択する。例えば、要件仲介者114は、アプリケーションプログラムによって利用されている計算、ネットワーク、又は記憶リソースの1つを選択し得る。
ステップ910において、要件仲介者114は、選択されたリソースについて要件ビッドの中で指定されたアプリケーションプログラムのサービスレベル要件を決定する。例示的実施形態において、要件仲介者114は、サービスレベル契約の中に列挙されたサービスレベル要件に基づいて、この決定を行い得る。次いで、ステップ915において、要件仲介者114は、(選択されたリソースについて要件ビッドの中で指定されたサービスレベル要件以外の)新しいサービスレベル要件が、このリソースについて設定されているかどうかを決定する。もしイエスであれば、方法250は、例えば、アプリケーションプログラムのユーザによって入力された新しい要件を読み取ることによって、アプリケーションプログラムの新しいサービスレベル要件を決定するため、ステップ920へ分岐する。方法250は、次いでステップ925へ進む。ステップ915へ戻って、もし要件仲介者114が、アプリケーションプログラムについて新しいサービスレベル要件が設定されていないと決定するならば、方法250はステップ925へ直接分岐し得る。
ステップ925において、要件仲介者114は、アプリケーションプログラムによって利用されるときの選択されたリソースの性能を監視する。ステップ930において、要件仲介者114は、選択されたリソースの性能を、アプリケーションプログラムのサービスレベル要件と比較する。次いで、ステップ935において、要件仲介者114は、リソースの性能がアプリケーションプログラムのサービスレベル要件を超過するかどうかを決定する。もしイエスであれば、方法はステップ940へ分岐する。
ステップ940において、要件仲介者114は、リソースの過剰について支払っているかどうかを決定する。例えば、要件仲介者114は、もしアプリケーションプログラムがリソースの最大利用か最大利用の近くで作動しており、リソースが過剰能力を有するならば、要件仲介者114がリソースの過剰について支払っていると決定し得る。あるいは、もしリソースが過剰能力を有しても、アプリケーションプログラムは現在リソースの最大利用を下回って作動しているならば、要件仲介者114は、リソースの過剰について支払っていないと決定し得る。もし要件仲介者114が、リソースの過剰について支払っていると決定するならば、方法250はステップ255(図2)へ分岐する。このステップ255において、要件仲介者114は、十分に利用されていないリソースについて支払っていると決定する。
ステップ940へ戻って、もし要件仲介者114が、リソースの過剰について支払っていないと決定するならば、方法250は、選択されたリソースの監視を継続するため、ステップ955へ分岐する。
ステップ935へ戻って、もし要件仲介者114が、リソースの性能がアプリケーションプログラムのサービスレベル要件を超過していないと決定するならば、方法250はステップ945へ分岐する。ステップ945において、要件仲介者114は、選択されたリソースの性能が、アプリケーションプログラムのサービスレベル要件を満たしていないかどうかを決定する。もしイエスであれば、方法はステップ950へ分岐する。このステップ950において、要件仲介者114は、リソースがサービスレベル要件を満たすことができないかどうかを決定する。例えば、もしアプリケーションプログラムがリソースの最大利用か最大利用を下回って作動しており、リソースがサービスレベル要件を満たす十分な性能を提供していないならば、要件仲介者114は、選択されたリソースがサービスレベル要件を満たすことができないと決定し得る。あるいは、もしアプリケーションプログラムがサービスレベル要件で指定された利用を超えて一時的に作動しているならば、要件仲介者114は、リソースがサービスレベル要件を満たすことができると決定し得る。もし要件仲介者114が、リソースがサービスレベル要件を満たすことができないと決定するならば、方法250はステップ255(図2)へ分岐する。このステップ255において、要件仲介者114は、十分な性能を発揮していないリソースについて支払っていると決定する。
ステップ950へ戻って、もし要件仲介者114が、リソースの過剰について支払っていないと決定するならば、方法250は、選択されたリソースの監視を継続するため、ステップ955へ分岐する。
ステップ945へ戻って、もし要件仲介者114が、リソースの性能がサービスレベル要件よりも劣ると決定するならば、方法250は、選択されたリソースの監視を継続するため、ステップ955へ分岐する。
ステップ955から、方法250はステップ960へ進む。このステップ960において、要件仲介者114は、アプリケーションプログラムによって利用されている他のリソースの性能を監視すべきかどうかを決定する。もしイエスであれば、方法250は、監視する他のリソースを選択するため、ステップ905へ戻る。もしそうでなければ、方法はステップ255(図2)へ分岐する。このステップ255において、要件仲介者114は、アプリケーションプログラムによって利用されたリソースが十分に利用されていること又は十分に性能を発揮していると決定し得る。
方法250は、分散されたコンピューティング環境でサービスレベル契約を介してリソースを割り振られた各アプリケーションプログラムについて実行され得る。このようにして、割り振られたリソースの性能は、リソースがサービスレベル要件を満たすことを保証するため、連続的又は定期的に監視される。もしリソースが、要求されたサービスレベルを提供していないならば、要件仲介者114は、サービスレベル要件を満たすリソースを取得するため、新しい要件ビッド118を生成して取引市場112へそれらのビッドを提出する。追加的に、このようにして、リソースの性能が、要件仲介者114が未使用リソース(言い換えれば、リソースの過剰能力)について支払っていることを示す量だけサービスレベル要件を超過することがないことを保証するため、割り振られたリソースの性能は連続的又は定期的に監視される。もしリソースがアプリケーションプログラムによって十分に利用されていなければ、要件仲介者114は、サービスレベル要件に関して一層適切及び/又は経済的なリソースを取得するため、新しい要件ビッド118を生成して取引市場112へそれらのビッドを提出する。
図9に示される方法250は、割り振られたリソースが十分に利用されていないか又は十分に性能を発揮していないかどうかを決定するため、それらのリソースの性能を監視する。もしそうであれば、方法250は、ステップ225〜245を実行するため、図2に示された方法200へ戻る。方法200のステップ225〜245において、新しいリソースが識別されてアプリケーションプログラムへ割り振られ、アプリケーションプログラムの作動は新しいリソースへ移行される。
図10は、本発明の例示的実施形態に従って、システム100におけるアプリケーションプログラムについての、分散されたコンピューティングリソースの再割り振りを描いたブロック図である。図10に示されるように、要件仲介者114は、現在割り振られたネットワーク及び記憶仮想リソース109についてサービスレベル契約の違反を識別した。言い換えれば、現在割り振られているネットワーク及び記憶仮想リソース109の性能は、それらの仮想リソース109に関連したサービスレベル契約で指定されたサービスレベル要件を満たしていない。更に具体的には、仮想ネットワーク構造Nは、割り振られたリソース間の必要な通信レートを提供するのに十分ではなく、要件仲介者114は、より速いネットワークリソースを取得する必要がある。追加的に、仮想記憶構造Sは必要な記憶及び検索レートを提供するのに十分ではなく、要件仲介者114は、より弾性的な記憶リソースを取得する必要がある。
従って、要件仲介者114は、指定されたサービスレベル要件を満たすことのできる新しいネットワーク及び記憶リソースを取得するために新しい要件ビッド118を生成し、取引市場112へそれらのビッドを提出する。取引市場112は、マッチするリソースオファー110を識別し、新しいネットワーク及び記憶仮想リソース109をアプリケーションプログラムへ割り振るため、サービスレベル契約を完了する。次いで、アプリケーションプログラムの作動は、新しいネットワーク及び記憶仮想リソース109へ移行される。図10に示されるように、アプリケーションプログラムの作動は、仮想ネットワーク構造Nから仮想ネットワーク構造Nへ移行され、仮想記憶構造Sから仮想記憶構造Sへ移行される。
図10に更に示されるように、要件仲介者114は、現在割り振られている計算仮想リソース109について予算の違反を識別した。言い換えれば、現在割り振られた仮想計算構造Cの性能は、それらのリソースに関連したサービスレベル契約で指定されたサービスレベル要件を超過している。更に具体的には、要件仲介者114は、未使用計算リソースについて過大に支払っており、サービスレベル要件内で実行する新しいリソースを取得する必要がある。これは、アプリケーションプログラムを作動するコストを低減する可能性がある。
従って、要件仲介者114は、指定されたサービスレベル要件内で実行する新しい計算リソースを取得するため、1つ又は複数の新しい要件ビッド118を生成して、取引市場112へそれらのビッドを提出する。取引市場112は、マッチするリソースオファー110を識別し、新しい計算仮想リソース109をアプリケーションプログラムへ割り振るため、サービスレベル契約を完了する。次いで、アプリケーションプログラムの作動は、新しい計算仮想リソース109へ移行される。図10に示されるように、アプリケーションプログラムの作動は、仮想計算構造Cから仮想計算構造Cへ移行される。
図11は、図2のステップ270において参照されたように、本発明の例示的実施形態に従って、或る期間にわたるリソース割り振りに基づいてリソースの維持、獲得、及び/又は売却を管理する方法270を描いたフローチャートである。方法270は、図1及び図11を参照して説明される。
ステップ1105において、リソースマネージャ、例えば、リソース仲介者102は、各物理的リソース103によって生成された収入を監視する。例示的実施形態において、リソースマネージャは、各々の特定の物理的リソース103に対応するサービスレベル契約について支払いを合計することによって、そのような生成された収入を監視し得る。各々の支払いは、サービスレベル契約に含まれる特定の物理的リソース103の利用について、要件仲介者114からリソース仲介者102へ支払われる金額を表す。この点に関して、リソースマネージャは、期間中に各物理的リソース103によって生成された収入の現在高を維持し得る。
次いで、ステップ1110において、方法は、期間が経過したかどうかを決定する。例示的実施形態において、期間は、四半期、半年、一年、又は物理的リソース103によって生成された収入を監視するのに適した任意の他の期間であり得る。他の例示的実施形態において、方法270は、リソース仲介者102によって監視される所定の期間に基づいて、期間が経過したかどうかを決定し得る。所定の期間の満了は期間が経過したことの警告をトリガし得る。あるいは、方法270は、ユーザがステップ1105から生成された収入情報に手動でアクセスすることに基づいて、期間が経過したかどうかを決定し得る。いずれにせよ、もし期間が経過していなければ、方法270は、各々の物理的リソース103によって生成された収入の監視を継続するため、ステップ1105へ戻る。もし期間が経過したのであれば、方法270はステップ1115へ分岐する。
ステップ1115において、方法は、特に、各物理的リソースの購買及び維持に関連づけられたコスト及び費用を識別する。例示的実施形態において、ユーザは、実際及び/又は計画された購買及び維持コストに基づいて、その情報を入力し得る。次いで、ステップ1120において、各物理的リソース103の利益及び損失は、物理的リソース103に関連づけられたコスト及び費用を、物理的リソース103によって生成された収入から減じることによって決定される。
ステップ1125において、特定の物理的リソース103が選択され、ステップ1130においては、選択されたリソースが期間中に利益又は損失を生じたかどうかが決定される。もし物理的リソースの収入が、そのコスト及び費用よりも大きければ、物理的リソースは期間中に利益を生じている。あるいは、もし物理的リソースの収入が、そのコスト及び費用よりも小さいならば、物理的リソースは期間中に損失を生じている。
もし選択された物理的リソースが利益を生じたのであれば、方法270はステップ1135へ分岐する。ステップ1135において、選択された物理的リソースの利益は、他の類似リソースの利益と比較される。次いで、ステップ1140において、選択された物理的リソースの現在のポジションを維持すべきかどうか、又は選択された物理的リソースに投資すべきかどうかの決定が行われる。例えば、もしリソースが他のリソースと比較して小さい利益しか生じていないならば、ユーザはリソースにおける現在のポジションを維持すると決定してもよい。言い換えれば、ユーザはより多くのリソースを購入することはしない。あるいは、もしリソースが他のリソースと比較して大きな利益を生じたか、もしリソースの需要の増加が推定されるのであれば、ユーザはより多くのリソースを購入することによって、又は既存のリソースをアップグレードすることによって、リソースへの投資を決定してもよい。選択された物理的リソースのポジションを維持すべきか又は投資すべきかを決定した後、方法270はステップ1150へ進む。
ステップ1130へ戻って、もし選択された物理的リソースが、期間中に損失を生じたのであれば、方法270はステップ1145へ分岐する。ステップ1145において、選択された物理的リソースの現在のポジションを維持すべきか又は選択された物理的リソースを売却すべきかの決定が行われる。例えば、もしリソースが小さい損失のみを経験したか、リソースがコストを正当化する高優先順位の必要性を満たすならば、ユーザはリソースにおける現在のポジションを維持すると決定してもよい。言い換えれば、ユーザはリソースを売却しない。あるいは、もしリソースが大きな又は望ましくない損失を経験したのであれば、ユーザは、リソースを販売することによって又はリソースのサポート又は維持を打ち切ることによって、リソースの売却を決定してもよい。他の実施形態において、ユーザは、リソースに関連づけられた損失を低減するため、リソースの使用を低減すると決定するか、又はユーザは、他のリソースによって生成された利益を使用してリソースの継続使用を助成すると決定してもよい。選択された物理的リソースのポジションを維持すべきか売却すべきかを決定した後、方法270はステップ1150へ進む。
ステップ1150において、他のリソースのポジションを評価すべきかどうかが決定される。もしイエスであれば、方法270は、他のリソースを選択するため、ステップ1125へ戻る。もしそうでなければ、方法270及び方法200(図2)は終了する。
従って、方法270によって、ユーザが価格及び性能を含めてどのリソースが最も経済的であるかを決定するため物理的リソースを評価することが可能になる。例えば、計算リソースは様々なプラットフォームを備えることができ、各プラットフォームは異なる価格及び性能特性を有する。各リソースの利益及び損失計算書の比較は、どのプラットフォームがアプリケーションプログラムによって最も多く使用され、それによってより多くの収入を生じているかを示す。その情報に基づいて、ユーザは、どのプラットフォームを維持すべきか、又はどのプラットフォームで会社のポジションを増加すべきか、及びどのプラットフォームを売却すべきかを決定し得る。リソースは、方法200(図2)を参照して説明されたようにして割り振られたので、方法270は、価格及び性能特性に基づいて、アプリケーションプログラムによって使用されるためにはどのリソースが一層望ましいかを示す。
本発明は、分散されたコンピュータリソースの割り振り及び管理を参照して詳細に説明されたが、本発明は他の分散されたリソースの割り振り及び管理へも適用される。例えば、本発明は分散された労働力へも適用され得る。この場合、リソースオファー110は、労働力の利用可能な個人又はグループ構成員に関連づけられた特性及び価格を識別するために生成され、それらのオファーは取引市場112へ提出される。要件ビッド118は、特定の労働プロジェクトについて労働力からサービスを取得するために生成され、それらのビッドは取引市場112へ提出される。次いで、取引市場112は、マッチするビッド及びオファーを識別し、労働力リソースをプロジェクトへ割り振る。割り振られたリソースの性能が監視され得る。また、十分に利用されていないか十分に性能を発揮していない労働力構成員を是正するために必要に応じてリソースが再割り振りされ得る。時間の経過と共に、労働力の個人又はグループ構成員の利益及び損失が決定され得る。また、労働力の特定の態様に関して投資又は売却を決定するために利益及び損失情報が使用され得る。
図12は、本発明の例示的実施形態に従って、アプリケーションプログラムのサービスレベル契約に基づきリソース要求を管理する方法1200を描いたフローチャートである。方法1200は図12及び図15を参照して説明される。ここで、図15は、本発明の例示的実施形態に従って、アプリケーションプログラムのサービスレベル契約に基づきリソース要求を管理するシステム1500を描いたブロック図である。
ステップ1205において、アプリケーションプログラムによって使用されるべき各リソースについてサービスレベル要件を規定するため、サービスレベル契約が創出される。例示的実施形態において、要求されるリソースは、コンピューティング、ネットワーク、及び記憶リソース、例えば、図15に示される1つ又は複数の計算構造104、ネットワーク構造106、及び記憶構造108を備え得る。サービスレベル契約は、アプリケーションプログラムのユーザに適したやり方でアプリケーションプログラムを作動させるために要求される各リソースの単位量を規定する。規定された単位量は、各リソースの対応するサービスレベル要件である。サービスレベル要件は、各リソースの最小許容量、各リソースの最大量、及び/又は各リソースの許容量の範囲を含むことができる。
ステップ1210において、各リソースの各サービスレベル要件について閾値が構成され、この閾値を超えると、アプリケーションプログラムへのリソースの割り振られる量を増加するアクションが開始される。具体的には、各リソースについて、各リソースのサービスレベル要件を下回る閾値が設定される。もし適当であるか所望されるならば、リソースのタイプ及びリソースの利用が測定される方法に依存して、閾値はサービスレベル要件を上回って設定され得る。閾値がサービスレベル要件を上回るか下回るかに関わらず、閾値は、リソースの利用がサービスレベル要件に近づいた時を識別するベンチマークを提供する。閾値は、リソースの追加の量又はリソースの代替源が割り振られ、これによりサービスレベル契約の違反前にリソースの十分な量を割り振るアクションを取るリソース利用を表す。例えば、サービスレベル契約は、ネットワークリソースについて90から100メガビット/秒(「Mbits/s」)のデータ転送速度を要求するかも知れない。利用可能なネットワークリソースは、1000Mbits/sの利用可能能力を有するかも知れず、ネットワークリソースの90Mbits/sがアプリケーションプログラムへ割り振られてもよい。ネットワークリソースについて設定された閾値は、90Mbits/sを下回る量であり得る。例えば、閾値は、85Mbits/s、80Mbits/s、又はアプリケーションプログラムへ割り振られるネットワークリソースの量よりも小さい他の適切な値であり得る。例示的実施形態において、閾値は、ネットワークリソースの割り振られた量のパーセンテージ、例えば、95%、90%、85%、80%、又は他の適切なパーセンテージとして設定され得る。閾値が85Mbits/sに設定される上記の例において、85Mbits/sはアプリケーションプログラムによるネットワークリソースの利用を表し、この値を超えると、100Mbits/sのサービスレベル要件に達するまで、ネットワークリソースの追加量をアプリケーションプログラムへ割り振るアクションが取られる。例えば、前に割り振られた90Mbits/sを超過するネットワークリソースの利用に先立って、ネットワークリソースの100Mbits/sがアプリケーションプログラムへ割り振られ得る。この実施形態において、閾値は、割り振られた量がリソースのサービスレベル要件よりも小さい、リソースの割り振られた量に基づく。あるいは、リソースの割り振られた量は、リソースのサービスレベル要件と等しくてもよく、閾値は、サービスレベル要件が増加され、リソースの割り振りが新しいサービスレベル要件へ増加される点を表し得る。例えば、サービスレベル要件は、利用の急上昇に順応するため一時的に増加されてもよい。追加的に、サービスレベル要件及びリソースの割り振られた量は、利用の急上昇が止まった後に減少され得る。
各リソースの閾値は、システム1500の中のサービス品質「QOS」マネージャ1504内に記憶される。例示的実施形態において、閾値はQOSマネージャ1504の中に事前に構成され得る。あるいは、ユーザは、入力デバイス(図示せず)を介して所望の閾値をQOSマネージャ1504内に入力することによって、閾値を構成し得る。
例示的実施形態において、QOSマネージャ1504は、分散されたコンピューティング環境で作動して本明細書で説明されるように機能するソフトウェアモジュールを備え得る。
ステップ1215において、リソース割り振りマネージャ1506は、アプリケーションプログラムへのリソースの初期割り振りを行う。例示的実施形態において、リソース割り振りマネージャ1506は、本明細書で前に説明された取引市場112を備えることができ、図1〜図11を参照して前に説明されたように、要件仲介者114及びリソース仲介者102と関連してリソースを割り振ることができる。あるいは、リソース割り振りマネージャ1506は、取引市場112を参照して説明された市場経済プロセスを使用することなく、他のやり方でリソースを割り振ることができる。例えば、ユーザは、リソース割り振りマネージャ1506を介してアプリケーションプログラムへのリソースの初期割り振りを規定することができ、又はリソース割り振りマネージャ1506は、アプリケーションプログラムの規定された優先順位又は割り振られたリソースの規定された開始スケジュール(「先着順」モデル)に基づいて、利用可能なリソースを割り振ることができる。リソース割り振りマネージャ1506は、アプリケーションプログラムのサービスレベル契約で規定されたサービスレベル要件を満たすのに十分な適切な任意の量において、アプリケーションプログラムによって利用される各リソースの量を割り振ることができる。
例えば、リソース割り振りマネージャ1506は、計算、ネットワーク、又は記憶リソース、例えば、計算構造104、ネットワーク構造106、及び記憶構造108を選択し得る。例示的実施形態において、この後で更に詳細に説明される監視モジュール1502からの入力に基づいて、リソース割り振りマネージャ1506は、利用されていない各リソースの過剰能力を識別し得る。そのような過剰能力は、アプリケーションプログラムによる使用に利用可能なリソースとして識別され得る。
リソース割り振りマネージャ1506は、アプリケーションプログラムによる使用に利用可能な各物理的リソース103の量を識別する。例示的実施形態において、各リソースの量は、特定の製造者及び/又はコンポーネントを含めてハードウェアタイプ及び/又は構成、並びに各リソースについて現在利用可能な過剰能力を備え得る。この点に関して、利用可能な物理的リソース103は、仮想リソース109、例えば、仮想計算構造C及びC、仮想ネットワーク構造N及びN、及び仮想記憶構造S及びSを創出するため組み合わせられ得る。例えば、分散された場所で利用可能なコンピュータプロセッサは、アプリケーションプログラムによる使用に利用可能な仮想コンピューティングリソースを創出するため、統合され得る。代表的リソース能力は、コンピューティングリソースについてCPUサイクル、ネットワークリソースについて帯域幅、及び記憶リソースについてディスクスペース及び/又はメモリを備え得る。
利用可能なリソースの量は、各仮想リソース109に関連づけられた性能及び信頼度特性を更に備え得る。例えば、そのような特性は、実行時間、応答時間、結果の正確度(例えば、故障率)、利用可能性、信頼度、セキュリティ、又は仮想リソース109の性能を示す他の適切な特性を備え得る。
リソース割り振りマネージャ1506は、アプリケーションプログラムによる使用に割り振るため、各仮想リソース109の単位量を識別する。この点に関して、リソース割り振りマネージャ1506は、利用可能な仮想リソース109の最大量に達するまで、識別された単位の増分で割り振りに利用可能な仮想リソース109の部分を識別し得る。もしリソース割り振りマネージャ1506が、多数の仮想リソース109、例えば、仮想計算構造C及びCを識別したのであれば、リソース割り振りマネージャ1506は各仮想リソース109について単位量を識別し得る。
例示的実施形態において、リソース割り振りマネージャ1506は、分散されたコンピューティング環境で作動して本明細書で説明されるように機能するソフトウェアモジュールを備え得る。
アプリケーションプログラムへのリソースの初期割り振りの後、割り振られたリソースは、割り振られたリソースがアプリケーションプログラムのサービスレベル契約の要件を満たすことを保証するために監視される。従って、ステップ1220において、アプリケーションプログラムによって利用されているリソースが選択される。ステップ1225において、アプリケーションプログラムの選択されたリソースに関連づけられた閾値が、ステップ1210において設定された閾値から識別される。そして、ステップ1230において、監視モジュール1502は、アプリケーションプログラムによって利用されるときの選択されたリソースの性能を監視する。監視モジュール1502は、選択されたリソースの性能をQOSマネージャ1504へ通信する。
例示的実施形態において、監視モジュール1502は、分散されたコンピューティング環境で作動して本明細書で説明されるように機能するソフトウェアモジュールを備え得る。或る一定の例示的実施形態において、監視モジュール1502は、リソース利用を監視するように設計された既製のソフトウェアを備え得る。
ステップ1235において、QOSマネージャ1504は、アプリケーションプログラムによる選択されたリソースの利用が、閾値を超過するか、又は閾値を満たすか又は超過するか(双方の場合は、本明細書では閾値の超過と呼ばれる)をステップ1240において決定するため、選択されたリソースの利用を、選択されたリソースの閾値と比較する。もしイエスであれば、方法1200は、アプリケーションプログラムに関連づけられたサービスレベル契約の違反に先立ってアプリケーションプログラムの選択されたリソースの割り振りを修正するため、ステップ1245へ分岐する。ステップ1245は、この後で図13を参照して更に詳細に説明される。方法1200は、次いでステップ1250へ進む。
ステップ1240へ戻って、もしQOSマネージャ1504が、アプリケーションプログラムによる選択されたリソースの利用が閾値を超過しないと決定するならば、方法1200はステップ1250へ直接分岐する。
ステップ1250において、QOSマネージャ1504は、アプリケーションプログラムについて他のリソースの性能を監視すべきかどうかを決定する。もしイエスであれば、方法1200は、他のリソースを選択するため、ステップ1220へ戻る。もしそうでなければ、方法1200は終了する。
方法1200は、多数のアプリケーションプログラムについて割り振られたリソースを連続的に監視及び維持するため、多数のアプリケーションプログラムについて、及び1つ又は複数のアプリケーションプログラムによって利用されているか利用可能な多数のリソースについて、同時又は直線的に実行され得る。
図13は、図12のステップ1245において参照されたように、例示的実施形態に従って、アプリケーションプログラムに関連づけられたサービスレベル契約の違反の前にアプリケーションプログラムの選択されたリソースの割り振りを修正する方法1245を描いたフローチャートである。方法1245は、図13及び図15を参照して説明される。
方法1245は、リソースの利用がアプリケーションプログラムのそのリソースに設定された閾値を超過したときに実行される。閾値は、アプリケーションプログラムへのリソースの割り振られた量を下回るレベルに設定されるので、ステップ1245は、リソースの割り振られた量を超過する利用に先立ってリソースの割り振りを修正するために実行され得る。このようにして、本明細書で説明された方法及びシステムは、サービスレベル契約の来たらんとする違反を予想又は予測することができ、十分なリソースをアプリケーションプログラムへ割り振るため、違反に先立ってアクションを取り得る。
図13を参照して、ステップ1305において、リソース割り振りマネージャ1506は、選択されたリソースが、アプリケーションプログラムへ割り振られ得る追加の未だ割り振られていない能力を有するかどうかを決定する。もしイエスであれば、方法1245はステップ1310へ分岐する。このステップ1310において、リソース割り振りマネージャ1506は選択されたリソースの追加の能力をアプリケーションプログラムへ割り振る。もし選択されたリソースの初期割り振りが、リソースのサービスレベル要件よりも小さかったならば、選択されたリソースの追加の量は、サービスレベル要件に達するまで、アプリケーションプログラムへ割り振られ得る。あるいは、もし選択されたリソースの初期割り振りが、リソースのサービスレベル要件と等しかったならば、より高いサービスレベル要件を創出するため、サービスレベル契約が自動的に調節され、選択されたリソースの追加の量は、より高いサービスレベル要件に達するまで、アプリケーションプログラムへ割り振られ得る。サービスレベル要件の増加は、一時的又は永続的であり得る。ステップ1310から、方法1245は、この後で説明されるステップ1355へ進む。
ステップ1305へ戻って、もし選択されたリソースの追加の能力が利用可能でなければ、方法1245はステップ1315へ分岐する。ステップ1315において、リソース割り振りマネージャ1506は、低優先順位アプリケーションプログラムが、リソースに対する低優先順位アプリケーションプログラムの最小要件を上回るレベルで、選択されたリソースを利用しているかどうかを決定する。もしイエスであれば、方法1245は、監視されるアプリケーションプログラム及び低優先順位アプリケーションプログラムの割り振りにおける増加及び減少の純量に基づいて、監視されるアプリケーションプログラムの増加された能力及び低優先順位アプリケーションプログラムの低減された能力に順応するリソースの十分な能力が存在するかどうかを決定するため、ステップ1318へ分岐する。もしそうでなければ、方法1245は、この後で説明されるステップ1330へ分岐する。もしイエスであれば、方法1245は、低優先順位アプリケーションプログラムから、監視されている高優先順位アプリケーションプログラムへ、選択されたリソースの割り振りをシフトするため、ステップ1320へ分岐する。従って、ステップ1320において、リソース割り振りマネージャ1506は、低優先順位アプリケーションプログラムについて選択されたリソースの割り振りを低減するが、低優先順位アプリケーションプログラムの最小要件を維持する。次いで、ステップ1325において、リソース割り振りマネージャ1506は、監視されている高優先順位アプリケーションプログラムについて選択されたリソースの割り振りを増加する。ステップ1310と同じように、監視されるアプリケーションプログラムへ割り振られる選択されたリソースの量は、既存又は新しく設定されたサービスレベル要件に達するまで増加され得る。
ステップ1325から、方法1245は、リソースの純利用が変更されたかどうかをリソース割り振りマネージャ1506が決定するステップ1328へ進む。もしそうでなければ、方法1245はステップ1250(図12)へ分岐する。もしイエスであれば、方法1245は、この後で説明されるステップ1355へ分岐する。
ステップ1315へ戻って、もし低優先順位アプリケーションプログラムが、選択されたリソース上で作動していないならば、方法1245は、アプリケーションプログラムを一層適切なリソースへ移行するため、ステップ1330へ分岐する。ステップ1330において、リソース割り振りマネージャ1506は、アプリケーションプログラムがアプリケーションプログラムのファミリーの一部分であるかどうかを決定する。ここで、アプリケーションプログラムの「ファミリー」とは、相互に依存するサービスレベル契約を有するアプリケーションプログラムのグループである。もしイエスであれば、方法1245は、アプリケーションプログラムのファミリーを一層適切なリソースへ移行するため、ステップ1335へ分岐する。こうして、ステップ1335において、リソース割り振りマネージャ1506は、アプリケーションプログラムのファミリーの中の各アプリケーションプログラムについて規定されたサービスレベル要件に従ってアプリケーションプログラムのファミリーをサポートすることのできるリソースの代替の源を識別する。
ステップ1338において、リソース割り振りマネージャ1506は、識別されたリソースが、サービスレベル契約の中で設定されたサービスレベル要件を満たすために必要な電力及び冷却要件を含めて、アプリケーションプログラムのファミリーに対するサービスレベル契約に従ってアプリケーションプログラムのファミリーに順応するのに十分であるかどうかを決定する。もしそうでなければ、方法1245は、リソース割り振りマネージャ1506が警告通知をシステム管理者へ発行するステップ1348へ分岐する。例示的実施形態において、警告通知は、モニタ上に表示され、電子メール又はテキストメッセージを介して送られ、又は他の適切なやり方で通信され得る。次いで、システム管理者は1つ又は複数のアプリケーションプログラムについてサービスレベル規定を修正してもよく、リソースは修正されたサービスレベル規定に従ってアプリケーションプログラムの間で割り振られ得る。
ステップ1338へ戻って、もし識別されたリソースが十分であれば、方法1245はステップ1340へ分岐する。ステップ1340において、リソース割り振りマネージャ1506は、アプリケーションプログラムのファミリーを、ステップ1335で識別された代替のリソースへ移行する。例示的実施形態において、移行は、いかなるアプリケーションプログラムの作動も中断しない「生の」移行であり得る。ステップ1340から、方法1245は、この後で説明されるステップ1355へ進む。
ステップ1330へ戻って、もしリソース割り振りマネージャ1506が、アプリケーションプログラムがアプリケーションプログラムのファミリーの一部分ではないと決定するならば、方法1245は、監視されるアプリケーションプログラムのみを一層適切なリソースへ移行するため、ステップ1345へ分岐する。こうして、ステップ1345において、リソース割り振りマネージャ1506は、アプリケーションプログラムについて規定されたサービスレベル要件に従ってアプリケーションプログラムをサポートすることのできるリソースの代替の源を識別する。
ステップ1347において、リソース割り振りマネージャ1506は、識別されたリソースが、サービスレベル契約において設定されたサービスレベル要件を満たすために必要な電力及び冷却要件を含めて、アプリケーションプログラムのサービスレベル契約に従ってアプリケーションプログラムに順応するのに十分であるかどうかを決定する。もしそうでなければ、方法1245は、前に説明されたステップ1348へ分岐する。
もし識別されたリソースが十分であれば、方法1245はステップ1350へ分岐する。ステップ1350において、リソース割り振りマネージャ1506は、アプリケーションプログラムを、ステップ1345において識別された代替のリソースへ移行する。例示的実施形態において、移行は、アプリケーションプログラムの作動を中断しない「生の」移行であり得る。方法1245は、次いでステップ1355へ進む。
ステップ1355において、電力/冷却調節システム1508は、ステップ1310、1340、又は1350において実行された、割り振られたリソースの変更に基づいて、当初及び代替のリソースの冷却及び電力要件を調節する。ステップ1355は、この後で図14を参照して更に詳細に説明される。ステップ1355から、方法1245はステップ1250(図12)へ進む。
図14は、図13のステップ1355において参照されたように、例示的実施形態に従って、ステップ1310、1340、又は1350(図13)において実行された、割り振られたリソースの変更に基づき、当初及び代替のリソースの冷却及び電力要件を調節する方法1355を描いたフローチャートである。方法1355は、図14及び図15を参照して説明される。
ステップ1405において、リソース割り振りマネージャ1506は、ステップ1310、1340、又は1350(図13)において実行された追加又は代替のリソースの割り振りに基づいて、特定のリソースの割り振りの増加又は減少の量を決定する。例えば、リソース割り振りマネージャ1506は、ステップ1310、1340、又は1350におけるリソース割り振りの実行後に存在する割り振りから、特定のリソースの初期割り振りを減じることによって、この決定を行い得る。差異は、特定のリソースの割り振りにおける増加又は減少である。リソース割り振りマネージャ1506は、この情報を電力/冷却調節システム1508へ報告する。
ステップ1410において、電力/冷却調節システム1508は、特定のリソースの割り振りの変更に基づいて、特定のリソースを作動させるために要求される、対応する電力の増加又は減少を決定する。次いで、ステップ1415において、電力/冷却調節システム1508は、それに従って特定のリソースへ供給される電力を調節する。例えば、もしコンピューティングリソースのCPUサイクルが低減されるならば、コンピューティングリソースを作動させるために要求される、対応する電力が低減されてもよい。あるいは、もしコンピューティングリソースのCPUサイクルが増加されるならば、コンピューティングリソースを作動させるために要求される、対応する電力が増加してもよい。この点に関して、電力/冷却調節システム1508は、コンピューティングリソースへ供給される電流及び/又は電圧の量を変更するため、電力コントローラ(図示せず)と連結し得る。従って、アプリケーションプログラムへ割り振られるリソースの量に基づき、リソースを作動させるために必要な電力のみを提供することによって、電力がリソースへ効率的に供給され得る。
同様に、ステップ1420において、電力/冷却調節システム1508は、特定のリソースの割り振りにおける変更に基づいて、特定のリソースを作動させるために要求される冷却における対応する増加又は減少を決定する。次いで、ステップ1425において、電力/冷却調節システム1508は、それに従って特定のリソースへ供給される冷却を調節する。例えば、もしコンピューティングリソースのCPUサイクルが低減されるならば、コンピューティングリソースを作動させるために要求される、対応する冷却が低減されてもよい。あるいは、もしコンピューティングリソースのCPUサイクルが増加されるならば、コンピューティングリソースを作動させるために要求される、対応する冷却が増加してもよい。この点に関して、電力/冷却調節システム1508は、コンピューティングリソースへ供給される冷却の量を変更するため、冷却システムコントローラ(図示せず)と連結し得る。従って、冷却は、アプリケーションプログラムへ割り振られるリソースの量に基づき、リソースを作動させるために必要な冷却のみを提供することによって、リソースへ効率的に供給され得る。例示的実施形態において、冷却システムコントローラは、特定のリソースが提供される室の中でHVACシステムを制御し得る。あるいは、冷却システムコントローラは、特定のリソースの内部又は外部にあるファン(図示せず)を制御し得る。
ステップ1425から、方法1355はステップ1250(図12)へ進む。
例示的実施形態において、電力/冷却調節システム1508は、分散されたコンピューティング環境で作動して本明細書で説明されるように機能するソフトウェアモジュールを備え得る。
従って、QOSマネージャ1504は、サービスレベル契約の潜在的違反がいつ起こるかを予想又は予測することができ、サービスレベル契約の違反に先立って追加又は代替のリソースを割り振り、これによってサービスレベル契約の違反を防止するように行動し得る。
例示的実施形態において、QOSマネージャ1504は、利用可能なリソースに基づき各アプリケーションプログラムの適当なリソースを決定するため、検査を連続的に実行し得る。検査は、既存のリソースを使用する新しいアプリケーションに基づいて、より多くのリソースの潜在的必要性を検出するために実行され得る。
他の例示的実施形態において、人工知能アプリケーションは、リソースの利用を連続的に監視し得る。様々なサービスレベル契約が、本明細書で説明されたように規定されることができ、人工知能は、多数の可能なシナリオに基づいてリソースの効率的、初期、代替、又は他の割り振りを決定するため、検査を実行し得る。リソース割り振りマネージャは、例えば、利用可能なリソース能力、及び、もしあれば、関連コストを決定することができ、その情報を、様々なアプリケーションプログラムの間でリソース割り振りの多数のシナリオを評価する人工知能アプリケーションへ通信し得る。
本発明は、上記で説明された方法及び処理機能を実行するコンピュータハードウェア及びソフトウェアを用いて使用され得る。当業者によって了解されるように、本明細書で説明されたシステム、方法、及び手順は、プログラム可能コンピュータ、コンピュータ実行可能ソフトウェア、又はディジタル回路で体現され得る。ソフトウェアは、コンピュータ読み取り可能メディア上に記憶され得る。例えば、コンピュータ読み取り可能メディアは、フロッピー(登録商標)ディスク、RAM、ROM、ハードディスク、取り外し可能メディア、フラッシュメモリ、メモリスティック、光学メディア、磁気光学メディア、CD−ROMなどを含み得る。ディジタル回路は、集積回路、ゲートアレイ、ビルディングブロック論理、フィールド・プログラマブル・ゲート・アレイ(FPGA)などを含み得る。
本発明の特定の実施形態が本明細書で詳細に説明されたが、説明は単に例証を目的とする。本明細書で説明された例示的方法は単なる例証であり、本発明の代替の実施形態において、或る一定のステップは、異なる順序で実行され、互いに並列に実行され、又は全く省略されることができ、及び/又は或る一定の追加のステップが、本発明の範囲及び趣旨から逸脱することなく実行され得る。追加的に、例示的実施形態の開示された態様の様々な修正、及び対応する同等のステップが、本明細書で説明されたものに加えて、下記の特許請求の範囲で規定された本発明の趣旨及び範囲から逸脱することなく当業者によって行われ得る。特許請求の範囲は、そのような修正及び同等の構造を包含するように最も広い解釈を付与されるべきである。

Claims (26)

  1. コンピューティングリソースを割り振るコンピュータ実現方法であって、
    アプリケーションプログラムによるリソースの利用について設定されたサービスレベル要件に基づいて前記リソースの量を前記アプリケーションプログラムへ割り振るステップと、
    前記アプリケーションプログラムのリソース利用が利用閾値を超過するかどうかをコンピュータ上で決定するステップであって、前記利用閾値は、前記設定されたサービスレベル要件に基づいており、前記設定されたサービスレベル要件とは異なっているステップと、
    前記アプリケーションプログラムのリソース利用が前記利用閾値を超過するとの決定に応答して、コンピュータを介して前記リソースの前記割り振られた量を変更するステップと、
    を備える方法。
  2. 前記割り振りステップで割り振られた前記リソースの前記量が、前記リソースの前記サービスレベル要件に等しい、請求項1に記載の方法。
  3. 前記割り振りステップで割り振られた前記リソースの前記量が、前記リソースの前記サービスレベル要件よりも少ない、請求項1に記載の方法。
  4. 前記変更ステップが、前記サービスレベル要件を超過する前記アプリケーションプログラムのリソース利用に先立って起こる、請求項1に記載の方法。
  5. 前記変更ステップが、前記リソースの追加の量を前記アプリケーションプログラムへ割り振ることを備え、前記アプリケーションプログラムへ割り振られた前記リソースの総量が、前記サービスレベル要件よりも少ないか等しい、請求項1に記載の方法。
  6. 前記変更ステップが、前記リソースの追加の量を前記アプリケーションプログラムへ割り振ることを備え、前記アプリケーションプログラムへ割り振られた前記リソースの総量が前記サービスレベル要件よりも多い、請求項1に記載の方法。
  7. 前記変更ステップが、前記アプリケーションプログラムへ割り振られる前記リソースの追加の量を取得するため、他のプログラムへ割り振られた前記リソースの量を低減することを備える、請求項1に記載の方法。
  8. 前記変更ステップが、前記アプリケーションプログラムの前記サービスレベル要件に基づいて十分な能力を取得するため、前記アプリケーションプログラムを異なるリソースへ移行することを備える、請求項1に記載の方法。
  9. 前記変更ステップが、前記アプリケーションプログラムの前記サービスレベル要件に基づいて十分な能力を取得するため及びアプリケーションプログラムのファミリーに順応するため、前記アプリケーションプログラムを含めてアプリケーションプログラムの前記ファミリーを異なるリソースへ移行することを備える、請求項1に記載の方法。
  10. 前記リソースの前記割り振られた量の変更に応答して、前記リソースの電力又は冷却要件を調節するステップを更に備える、請求項1に記載の方法。
  11. 前記変更ステップが、取引市場モデルに基づく、請求項1に記載の方法。
  12. 複数のリソース及び複数のアプリケーションプログラムについて、割り振り、決定、及び変更ステップを反復することを更に備える、請求項1に記載の方法。
  13. 請求項1に記載のコンピュータ実現方法を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能メディア。
  14. コンピューティングリソースを割り振るシステムであって、
    アプリケーションプログラムによるリソースの利用について設定されたサービスレベル要件に基づいて前記リソースの量を前記アプリケーションプログラムへ初期に割り振るリソース割り振りマネージャと、
    前記アプリケーションプログラムのリソース利用が利用閾値を超過するかどうかを決定し、前記利用閾値は、前記設定されたサービスレベル要件に基づいており、前記設定されたサービスレベル要件とは異なっているサービス品質(「QOS」)マネージャと
    を備え、
    前記リソース割り振りマネージャは、前記アプリケーションプログラムのリソース利用が前記利用閾値を超過しているとの決定に応答して、前記リソースの前記割り振られた量を更に変更する、システム。
  15. 前記アプリケーションプログラムのリソース利用を監視し、前記アプリケーションプログラムのリソース利用を前記QOSマネージャへ通信する監視モジュールを更に備える、請求項14に記載のシステム。
  16. 前記アプリケーションプログラムへ割り振られた前記リソースの前記初期量が、前記リソースの前記サービスレベル要件と等しい、請求項14に記載のシステム。
  17. 前記アプリケーションプログラムへ割り振られた前記リソースの前記初期量が、前記リソースの前記サービスレベル要件よりも少ない、請求項14に記載のシステム。
  18. 前記リソース割り振りマネージャは、前記アプリケーションプログラムの前記リソースの利用が前記サービスレベル要件を超過することに先立って、前記リソースの前記割り振られた量を変更する、請求項14に記載のシステム。
  19. 前記リソース割り振りマネージャは、前記リソースの追加の量を前記アプリケーションプログラムへ割り振ることによって前記リソースの前記割り振られた量を変更し、前記アプリケーションプログラムへ割り振られた前記リソースの総量が前記サービスレベル要件よりも少ないか等しい、請求項14に記載のシステム。
  20. 前記リソース割り振りマネージャは、前記リソースの追加の量を前記アプリケーションプログラムへ割り振ることによって前記リソースの前記割り振られた量を変更し、前記アプリケーションプログラムへ割り振られた前記リソースの総量が前記サービスレベル要件よりも多い、請求項14に記載のシステム。
  21. 前記リソース割り振りマネージャは、前記アプリケーションプログラムへ割り振られる前記リソースの追加の量を取得するため、他のプログラムへ割り振られた前記リソースの量を低減することによって前記リソースの前記割り振られた量を変更する、請求項14に記載のシステム。
  22. 前記リソース割り振りマネージャは、前記アプリケーションプログラムの前記サービスレベル要件に基づいて十分な能力を取得するため、前記アプリケーションプログラムを異なるリソースへ移行することによって前記リソースの前記割り振られた量を変更する、請求項14に記載のシステム。
  23. 前記リソース割り振りマネージャは、前記アプリケーションプログラムの前記サービスレベル要件に基づいて十分な能力を取得してアプリケーションプログラムのファミリーに順応するため、前記アプリケーションプログラムを含めてアプリケーションプログラムの前記ファミリーを異なるリソースへ移行することによって前記リソースの前記割り振られた量を変更する、請求項14に記載のシステム。
  24. 前記リソース割り振りマネージャが前記リソースの前記割り振られた量を変更することに応答して、前記リソースについて電力を調節する電力調節システムを更に備える、請求項14に記載のシステム。
  25. 前記リソース割り振りマネージャが前記リソースの前記割り振られた量を変更することに応答して、前記リソースについて冷却を調節する冷却調節システムを更に備える、請求項14に記載のシステム。
  26. 前記リソース割り振りマネージャは、取引市場モデルに基づき前記リソースを割り振る取引市場を備える、請求項14に記載のシステム。
JP2010533094A 2007-11-06 2008-11-06 サービスレベル契約に従ったリソース割り振りの予測及び管理 Pending JP2011503713A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98591507P 2007-11-06 2007-11-06
PCT/US2008/012514 WO2009061432A1 (en) 2007-11-06 2008-11-06 Predicting and managing resource allocation according to service level agreements

Publications (1)

Publication Number Publication Date
JP2011503713A true JP2011503713A (ja) 2011-01-27

Family

ID=40589458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010533094A Pending JP2011503713A (ja) 2007-11-06 2008-11-06 サービスレベル契約に従ったリソース割り振りの予測及び管理

Country Status (5)

Country Link
US (1) US20090119673A1 (ja)
EP (1) EP2223235A4 (ja)
JP (1) JP2011503713A (ja)
CN (1) CN101911047A (ja)
WO (1) WO2009061432A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190109A (ja) * 2011-03-09 2012-10-04 Fujitsu Ltd 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
KR20140035970A (ko) * 2011-06-29 2014-03-24 마이크로소프트 코포레이션 네트워크 사용 제어 기법

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743001B1 (en) * 2005-06-21 2010-06-22 Amazon Technologies, Inc. Method and system for dynamic pricing of web services utilization
US7822918B2 (en) * 2007-12-18 2010-10-26 International Business Machines Corporation Preallocated disk queuing
US8447993B2 (en) * 2008-01-23 2013-05-21 Palo Alto Research Center Incorporated Integrated energy savings and business operations in data centers
US8688500B1 (en) * 2008-04-16 2014-04-01 Bank Of America Corporation Information technology resiliency classification framework
US8219358B2 (en) 2008-05-09 2012-07-10 Credit Suisse Securities (Usa) Llc Platform matching systems and methods
US8588225B1 (en) * 2008-07-07 2013-11-19 Cisco Technology, Inc. Physical resource to virtual service network mapping in a template based end-to-end service provisioning
US9465663B2 (en) * 2008-10-31 2016-10-11 Synopsys, Inc. Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects
US8621476B2 (en) * 2008-12-15 2013-12-31 Korea Advanced Institute Of Science And Technology Method and apparatus for resource management in grid computing systems
US9880877B2 (en) * 2009-01-22 2018-01-30 International Business Machines Corporation Methods for rule-based dynamic resource adjustment for upstream and downstream processing units in response to an intermediate processing unit event
US8286177B2 (en) * 2009-01-29 2012-10-09 Microsoft Corporation Technique for conserving software application resources
US9519517B2 (en) * 2009-02-13 2016-12-13 Schneider Electtic It Corporation Data center control
US9778718B2 (en) 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US9485117B2 (en) * 2009-02-23 2016-11-01 Red Hat, Inc. Providing user-controlled resources for cloud computing environments
US20110145393A1 (en) * 2009-12-13 2011-06-16 Tami Ben-Zvi Method for dynamic reservation of cloud and on premises computing resources for software execution
US8832707B2 (en) * 2009-12-21 2014-09-09 International Business Machines Corporation Tunable error resilience computing
US8938740B2 (en) * 2010-03-11 2015-01-20 Nec Corporation Resource allocation apparatus, resource allocation method, and computer readable medium
US8489904B2 (en) * 2010-03-25 2013-07-16 International Business Machines Corporation Allocating computing system power levels responsive to service level agreements
US20110235592A1 (en) * 2010-03-26 2011-09-29 Qualcomm Incorporated Network resource leasing
US8515967B2 (en) * 2010-03-29 2013-08-20 International Business Machines Corporation Cost and power efficient storage area network provisioning
US9197514B2 (en) * 2010-03-31 2015-11-24 Paypal, Inc. Service level agreement based storage access
US9245246B2 (en) * 2010-04-22 2016-01-26 International Business Machines Corporation Capacity over-commit management in resource provisioning environments
US8504689B2 (en) 2010-05-28 2013-08-06 Red Hat, Inc. Methods and systems for cloud deployment analysis featuring relative cloud resource importance
US9729464B1 (en) 2010-06-23 2017-08-08 Brocade Communications Systems, Inc. Method and apparatus for provisioning of resources to support applications and their varying demands
US8631406B2 (en) * 2010-06-30 2014-01-14 Sap Ag Distributed cloud computing architecture
US8621052B2 (en) * 2010-08-20 2013-12-31 International Business Machines Corporation Performance tuning for software as a performance level service
CA2716646C (en) * 2010-10-14 2020-04-07 Ibm Canada Limited - Ibm Canada Limitee Coordinated approach between middleware application and sub-systems
US20150106813A1 (en) * 2010-10-21 2015-04-16 Brocade Communications Systems, Inc. Method and apparatus for provisioning of resources to support applications and their varying demands
KR101343633B1 (ko) * 2011-02-14 2013-12-19 주식회사 케이티 단말의 트래픽 패턴에 기반한 무선 자원 관리 방법 및 장치
US20120222004A1 (en) * 2011-02-24 2012-08-30 Intuit Inc. Publishing and updating of multidimensional models using orchestration tools for software offerings
WO2012120655A1 (ja) * 2011-03-08 2012-09-13 富士通株式会社 スケジューリング方法およびスケジューリングシステム
US8589304B2 (en) * 2011-03-14 2013-11-19 Splunk Inc. System and method for controlling the indexing of volume between network devices
US9465427B2 (en) * 2011-06-30 2016-10-11 International Business Machines Corporation Software-centric power management by indirectly determining that user is not actively using computer program running on computing device
US20130014119A1 (en) * 2011-07-07 2013-01-10 Iolo Technologies, Llc Resource Allocation Prioritization Based on Knowledge of User Intent and Process Independence
US9064253B2 (en) 2011-12-01 2015-06-23 Broadcom Corporation Systems and methods for providing NFC secure application support in battery on and battery off modes
US9285992B2 (en) * 2011-12-16 2016-03-15 Netapp, Inc. System and method for optimally creating storage objects in a storage system
US9280394B2 (en) * 2012-02-03 2016-03-08 International Business Machines Corporation Automatic cloud provisioning based on related internet news and social network trends
US9244742B2 (en) * 2012-05-31 2016-01-26 Vmware, Inc. Distributed demand-based storage quality of service management using resource pooling
US20140068621A1 (en) * 2012-08-30 2014-03-06 Sriram Sitaraman Dynamic storage-aware job scheduling
US9239727B1 (en) * 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
US20140122695A1 (en) * 2012-10-31 2014-05-01 Rawllin International Inc. Dynamic resource allocation for network content delivery
CN104011685B (zh) * 2012-12-26 2016-05-25 华为技术有限公司 一种虚拟机***的资源管理方法、虚拟机***和装置
US9373092B2 (en) * 2013-03-06 2016-06-21 Avaya Inc. System and method for automated distribution of supervisory functions in a contact center
US9817699B2 (en) 2013-03-13 2017-11-14 Elasticbox Inc. Adaptive autoscaling for virtualized applications
US20140279320A1 (en) * 2013-03-15 2014-09-18 Bracket Computing, Inc. Allocating and pricing virtual resources
US20140281592A1 (en) * 2013-03-18 2014-09-18 Advanced Micro Devices, Inc. Global Efficient Application Power Management
US9009677B2 (en) * 2013-03-18 2015-04-14 Microsoft Technology Licensing, Llc Application testing and analysis
US9973392B2 (en) * 2013-10-18 2018-05-15 Microsoft Technology Licensing, Llc Hierarchical network analysis service
US9912570B2 (en) 2013-10-25 2018-03-06 Brocade Communications Systems LLC Dynamic cloning of application infrastructures
CN103684916A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种云计算下智能监控分析方法及***
US9471371B2 (en) 2014-02-27 2016-10-18 International Business Machines Corporation Dynamic prediction of concurrent hardware transactions resource requirements and allocation
CN105207798B (zh) * 2014-06-26 2020-03-13 中兴通讯股份有限公司 软件定义网络中的业务编排方法及装置
CN104360908B (zh) * 2014-10-31 2017-06-16 东北大学 基于蚁群优化算法的云环境下sbs资源配置方法
CN105700955A (zh) * 2014-11-28 2016-06-22 英业达科技有限公司 服务器***的资源分配方法
US9886296B2 (en) * 2014-12-01 2018-02-06 International Business Machines Corporation Managing hypervisor weights in a virtual environment
US9710164B2 (en) 2015-01-16 2017-07-18 International Business Machines Corporation Determining a cause for low disk space with respect to a logical disk
WO2016122448A1 (en) * 2015-01-26 2016-08-04 Hewlett Packard Enterprise Development Lp Resource allocation
US9733987B2 (en) * 2015-02-20 2017-08-15 Intel Corporation Techniques to dynamically allocate resources of configurable computing resources
US11423343B2 (en) * 2015-03-25 2022-08-23 Kyndryl, Inc. Dynamic construction of cloud services
US9696930B2 (en) * 2015-06-10 2017-07-04 International Business Machines Corporation Reducing new extent failures on target device during non-disruptive logical data set migration
US10191771B2 (en) * 2015-09-18 2019-01-29 Huawei Technologies Co., Ltd. System and method for resource management
CN108009017B (zh) * 2016-11-01 2022-02-18 阿里巴巴集团控股有限公司 一种应用链路的扩容方法、装置和***
US10223536B2 (en) * 2016-12-29 2019-03-05 Paypal, Inc. Device monitoring policy
US10721179B2 (en) 2017-11-21 2020-07-21 International Business Machines Corporation Adaptive resource allocation operations based on historical data in a distributed computing environment
US10893000B2 (en) * 2017-11-21 2021-01-12 International Business Machines Corporation Diagonal scaling of resource allocations and application instances in a distributed computing environment
US10887250B2 (en) 2017-11-21 2021-01-05 International Business Machines Corporation Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment
US10733015B2 (en) 2017-11-21 2020-08-04 International Business Machines Corporation Prioritizing applications for diagonal scaling in a distributed computing environment
US10812407B2 (en) 2017-11-21 2020-10-20 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads in a distributed computing environment
US10620989B2 (en) * 2018-06-08 2020-04-14 Capital One Services, Llc Managing execution of data processing jobs in a virtual computing environment
US11061740B2 (en) 2018-08-13 2021-07-13 International Business Machines Corporation Computer system workload manager
CN109358810A (zh) * 2018-09-28 2019-02-19 深圳市网心科技有限公司 一种存储资源管理方法及相关装置
US11340950B2 (en) 2019-10-17 2022-05-24 Dell Products L.P. Service band management system
CN116114230A (zh) * 2020-09-29 2023-05-12 华为技术有限公司 一种网络闭环控制方法及相关装置
US20210089467A1 (en) * 2020-10-01 2021-03-25 Intel Corporation Page allocation for contiguity-aware translation lookaside buffers
US20230080249A1 (en) * 2021-09-15 2023-03-16 The Toronto-Dominion Bank Systems and methods for processing real-time transfer instructions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233596A (ja) * 1992-02-18 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 資源均等分配方式
JPH06274250A (ja) * 1993-03-18 1994-09-30 Nec Gumma Ltd 情報処理装置
JP2000039930A (ja) * 1998-07-23 2000-02-08 Matsushita Electric Ind Co Ltd 電子機器の低消費電力方式
JP2003248668A (ja) * 2002-02-26 2003-09-05 Hitachi Ltd データセンタ資源管理方法及び運用方法
WO2006077907A1 (ja) * 2005-01-20 2006-07-27 Nec Corporation 無線リソース割り当てシステム、無線制御局及びそれらに用いる無線リソース割り当て方法並びにそのプログラム
JP2007506169A (ja) * 2003-09-17 2007-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンの始動を含むコンピューティング環境内の管理処理方法、管理システム、およびコンピュータプログラム
JP2007200347A (ja) * 2007-03-26 2007-08-09 Hitachi Ltd 仮想計算機システム及びプログラム

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105148A (en) * 1995-06-16 2000-08-15 Lucent Technologies Inc. Persistent state checkpoint and restoration systems
US5826244A (en) * 1995-08-23 1998-10-20 Xerox Corporation Method and system for providing a document service over a computer network using an automated brokered auction
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6947987B2 (en) * 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US6912232B1 (en) * 1998-10-19 2005-06-28 At&T Corp. Virtual private network
US6480861B1 (en) * 1999-02-26 2002-11-12 Merrill Lynch, Co., Inc Distributed adaptive computing
US6408282B1 (en) * 1999-03-01 2002-06-18 Wit Capital Corp. System and method for conducting securities transactions over a computer network
US7463648B1 (en) * 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
US7035819B1 (en) * 1999-09-24 2006-04-25 D.E. Shaw & Company Method and system for facilitating automated interaction of marketable retail orders and professional trading interest at passively determined prices
WO2001052475A2 (en) * 2000-01-14 2001-07-19 Qariba Limited Resource allocation
US7127424B2 (en) * 2000-03-02 2006-10-24 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth and price consolidation
US7054943B1 (en) * 2000-04-28 2006-05-30 International Business Machines Corporation Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (slas) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis
AU2001261521A1 (en) * 2000-05-12 2001-11-26 Invisible Hand Networks, Inc. Method and system for market based resource allocation
US6788939B2 (en) * 2000-05-18 2004-09-07 International Business Machines Corporation Service deployment architecture
AU2001240077A1 (en) * 2000-05-19 2001-12-03 Channelogics, Inc. Allocating access across shared communications medium
US6816905B1 (en) * 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
US20020198815A1 (en) * 2001-06-26 2002-12-26 Robert Greifeld System and process for providing institutional directed sponsored trading
US20030041007A1 (en) * 2001-08-22 2003-02-27 William Grey System and method for conducting a two-sided auction
US20030050879A1 (en) * 2001-08-28 2003-03-13 Michael Rosen System and method for improved multiple real-time balancing and straight through processing of security transactions
US6820217B2 (en) * 2001-10-29 2004-11-16 International Business Machines Corporation Method and apparatus for data recovery optimization in a logically partitioned computer system
US7216160B2 (en) * 2001-10-31 2007-05-08 Sun Microsystems, Inc. Server-based application monitoring through collection of application component and environmental statistics
US7310672B2 (en) * 2001-11-13 2007-12-18 Hewlett-Packard Development Company, L.P. Method and system for exploiting service level objectives to enable resource sharing in a communication network having a plurality of application environments
US7188163B2 (en) * 2001-11-26 2007-03-06 Sun Microsystems, Inc. Dynamic reconfiguration of applications on a server
US7640547B2 (en) * 2002-02-08 2009-12-29 Jpmorgan Chase & Co. System and method for allocating computing resources of a distributed computing system
US9805417B2 (en) * 2002-06-19 2017-10-31 Trading Technologies International, Inc. System and method for automated trading
US7185046B2 (en) * 2002-08-28 2007-02-27 Sun Microsystems, Inc. Submitting jobs in a distributed computing environment
US20040111506A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation System and method for managing web utility services
US20040181476A1 (en) * 2003-03-13 2004-09-16 Smith William R. Dynamic network resource brokering
US20040186905A1 (en) * 2003-03-20 2004-09-23 Young Donald E. System and method for provisioning resources
US7912938B2 (en) * 2003-04-11 2011-03-22 Hewlett-Packard Development Company, L.P. Correlation of web service interactions in composite web services
US6805277B1 (en) * 2003-04-16 2004-10-19 Lotes Co., Ltd. Process for soldering electric connector onto circuit board
GB0312942D0 (en) * 2003-06-05 2003-07-09 British Telecomm Redistribution of resources
US7577584B2 (en) * 2003-08-11 2009-08-18 Pierfrancesco La Mura Double auctions with bargaining
US7877754B2 (en) * 2003-08-21 2011-01-25 International Business Machines Corporation Methods, systems, and media to expand resources available to a logical partition
US7596790B2 (en) * 2003-08-29 2009-09-29 Intel Corporation Allocating computing resources in a distributed environment
US7519814B2 (en) * 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
WO2005036367A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Virtual data center that allocates and manages system resources across multiple nodes
US7539640B2 (en) * 2003-11-06 2009-05-26 Trading Technologies International, Inc. Aggregated trading system
US7113924B2 (en) * 2003-12-04 2006-09-26 Trading Technologies International, Inc. System and method for electronic spread trading in real and synthetically generated markets
FR2865047B1 (fr) * 2004-01-14 2006-04-07 Commissariat Energie Atomique Systeme de generation automatique de codes optimises
US20050188075A1 (en) * 2004-01-22 2005-08-25 International Business Machines Corporation System and method for supporting transaction and parallel services in a clustered system based on a service level agreement
US8346909B2 (en) * 2004-01-22 2013-01-01 International Business Machines Corporation Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements
US7321570B2 (en) * 2004-02-03 2008-01-22 Motorola, Inc. Method and apparatus for dynamic power allocation to a multimedia broadcast/multicast service
US7290401B2 (en) * 2004-02-11 2007-11-06 Intel Corporation Dynamic cooling of computing systems
US20050246189A1 (en) * 2004-04-29 2005-11-03 Arnold Monitzer System for determining medical resource utilization characteristics
CA2467939A1 (en) * 2004-05-20 2005-11-20 Fernando Cuervo Architecture for configuration and management of cross-domain network services
US7464160B2 (en) * 2004-06-17 2008-12-09 International Business Machines Corporation Provisioning grid services to maintain service level agreements
US20060004698A1 (en) * 2004-06-30 2006-01-05 Nokia Corporation Automated prioritization of user data files
US20060069995A1 (en) * 2004-09-30 2006-03-30 British Telecommunications Public Limited Company Personalised process automation
US7269652B2 (en) * 2004-10-18 2007-09-11 International Business Machines Corporation Algorithm for minimizing rebate value due to SLA breach in a utility computing environment
US8214837B2 (en) * 2004-12-03 2012-07-03 Intel Corporation Method, apparatus and system for dynamically allocating sequestered computing resources
US20060123217A1 (en) * 2004-12-07 2006-06-08 International Business Machines Corporation Utilization zones for automated resource management
US7320088B1 (en) * 2004-12-28 2008-01-15 Veritas Operating Corporation System and method to automate replication in a clustered environment
US7668741B2 (en) * 2005-01-06 2010-02-23 International Business Machines Corporation Managing compliance with service level agreements in a grid environment
US7487125B2 (en) * 2005-01-14 2009-02-03 Littlewood Margaret G Method for providing aggregation of trading on multiple alternative trading systems
US8140371B2 (en) * 2005-02-18 2012-03-20 International Business Machines Corporation Providing computing service to users in a heterogeneous distributed computing environment
US7490353B2 (en) * 2005-02-22 2009-02-10 Kidaro, Inc. Data transfer security
US7532999B2 (en) * 2005-02-25 2009-05-12 International Business Machines Corporation Determining root cause of matching problem and/or fleet measurement precision problem for measurement system
US7788632B2 (en) * 2005-06-02 2010-08-31 United States Postal Service Methods and systems for evaluating the compliance of software to a quality benchmark
JP4352028B2 (ja) * 2005-06-29 2009-10-28 富士通株式会社 運用ポリシー評価システムおよび運用ポリシー評価プログラム
US7577600B1 (en) * 2005-06-30 2009-08-18 Trading Technologies International, Inc. System and method for regulating order entry in an electronic trading environment
US8799431B2 (en) * 2005-08-15 2014-08-05 Toutvirtual Inc. Virtual systems management
US7734533B2 (en) * 2005-11-13 2010-06-08 Rosenthal Collins Group, Llc Method and system for electronic trading via a yield curve
US20070234316A1 (en) * 2006-03-07 2007-10-04 Sap Ag Methods and systems for development of software for complex systems
US20070250433A1 (en) * 2006-04-25 2007-10-25 Harsha Bhat System and method for providing one-order methodology in over the counter markets
US8019892B2 (en) * 2006-05-02 2011-09-13 Research In Motion Limited Multi-layered enveloped method and system for push content metadata
US20080126147A1 (en) * 2006-07-31 2008-05-29 Jenny Siew Hoon Ang Determining method for exposure of a service
WO2008018080A2 (en) * 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US20080080396A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Marketplace for cloud services resources
EP2195771A4 (en) * 2007-06-18 2011-06-01 Penson Worldwide Inc SYSTEM AND METHOD FOR ORDER ROUTING INCORPORATING DARK POOLS

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233596A (ja) * 1992-02-18 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 資源均等分配方式
JPH06274250A (ja) * 1993-03-18 1994-09-30 Nec Gumma Ltd 情報処理装置
JP2000039930A (ja) * 1998-07-23 2000-02-08 Matsushita Electric Ind Co Ltd 電子機器の低消費電力方式
JP2003248668A (ja) * 2002-02-26 2003-09-05 Hitachi Ltd データセンタ資源管理方法及び運用方法
JP2007506169A (ja) * 2003-09-17 2007-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンの始動を含むコンピューティング環境内の管理処理方法、管理システム、およびコンピュータプログラム
WO2006077907A1 (ja) * 2005-01-20 2006-07-27 Nec Corporation 無線リソース割り当てシステム、無線制御局及びそれらに用いる無線リソース割り当て方法並びにそのプログラム
JP2007200347A (ja) * 2007-03-26 2007-08-09 Hitachi Ltd 仮想計算機システム及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190109A (ja) * 2011-03-09 2012-10-04 Fujitsu Ltd 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US9384031B2 (en) 2011-03-09 2016-07-05 Fujitsu Limited Information processor apparatus, virtual machine management method and virtual machine management program
KR20140035970A (ko) * 2011-06-29 2014-03-24 마이크로소프트 코포레이션 네트워크 사용 제어 기법
JP2014526083A (ja) * 2011-06-29 2014-10-02 マイクロソフト コーポレーション ネットワーク利用の制御
US10013281B2 (en) 2011-06-29 2018-07-03 Microsoft Technology Licensing, Llc Controlling network utilization
KR101906632B1 (ko) 2011-06-29 2018-10-10 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 네트워크 사용 제어 기법

Also Published As

Publication number Publication date
EP2223235A1 (en) 2010-09-01
US20090119673A1 (en) 2009-05-07
EP2223235A4 (en) 2011-12-21
WO2009061432A1 (en) 2009-05-14
CN101911047A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
JP2011503713A (ja) サービスレベル契約に従ったリソース割り振りの予測及び管理
US20080244607A1 (en) Economic allocation and management of resources via a virtual resource market
Rogers et al. A financial brokerage model for cloud computing
Samaan A novel economic sharing model in a federation of selfish cloud providers
US8606924B2 (en) Pre-bursting to external clouds
US7634430B2 (en) System and method for allocating resources in a distributed computational system using proportional share auctions
US8041599B2 (en) Method, system, and program product for selecting a brokering method for obtaining desired service level characteristics
US8332859B2 (en) Intelligent buyer&#39;s agent usage for allocation of service level characteristics
US8781977B1 (en) System and method of pricing resources
US7899697B2 (en) Application of brokering methods to security characteristics
US20100057625A1 (en) Negotiation of power rates based on dynamic workload distribution
US7899696B2 (en) Application of brokering methods to recoverability characteristics
Gohad et al. Cloud pricing models: A survey and position paper
Bapna et al. A market design for grid computing
US8032407B2 (en) Application of brokering methods to scalability characteristics
Yao et al. Cutting your cloud computing cost for deadline-constrained batch jobs
US8140446B2 (en) Application of brokering methods to operational support characteristics
US8533026B2 (en) Method and system for maximizing revenue generated from service level agreements
Huang et al. A study on coordination of capacity allocation for different types of contractual retailers
Qi et al. A Lyapunov optimization-based online scheduling algorithm for service provisioning in cloud computing
US8041600B2 (en) Application of brokering methods to performance characteristics
US20080301025A1 (en) Application of brokering methods to availability characteristics
US8180660B2 (en) Non-depleting chips for obtaining desired service level characteristics
US8060388B1 (en) Resource distribution
US8117074B2 (en) Scaling offers for elemental biddable resources (EBRs)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131029