JP2012522320A - 優先度ベースのシステム負荷レベルを管理するためのシステムおよび方法 - Google Patents

優先度ベースのシステム負荷レベルを管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP2012522320A
JP2012522320A JP2012503540A JP2012503540A JP2012522320A JP 2012522320 A JP2012522320 A JP 2012522320A JP 2012503540 A JP2012503540 A JP 2012503540A JP 2012503540 A JP2012503540 A JP 2012503540A JP 2012522320 A JP2012522320 A JP 2012522320A
Authority
JP
Japan
Prior art keywords
resource
level
application
module
priority
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.)
Granted
Application number
JP2012503540A
Other languages
English (en)
Other versions
JP2012522320A5 (ja
JP5680619B2 (ja
Inventor
パイク ロブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012522320A publication Critical patent/JP2012522320A/ja
Publication of JP2012522320A5 publication Critical patent/JP2012522320A5/ja
Application granted granted Critical
Publication of JP5680619B2 publication Critical patent/JP5680619B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

コンピュータ・システムのリソースを管理するためのシステム、方法、およびコンピュータ・プログラム製品が記載されている。複数のモジュール(例えば、仮想マシンまたは他のアプリケーション)を複数のコンピュータ・システムのリソース(例えば、プロセッサ、サーバ、等)に割り当てることができる。各モジュールには優先度レベルが割り当てられる。さらに、指定の利用レベルがコンピュータ・システムの各リソースに割り当てられる。各リソースは1つまたは複数のモジュールをサポートし、対応する割り当てられた優先度レベルに従って、サポートされるモジュールの動作に優先度を付与する。さらに、各リソースは、サポートされるモジュールの動作を指定の利用レベルに保つ。

Description

本発明は、一般にシステムの負荷レベルの管理に関し、特にコンピュータ・システムのリソースを管理するためのシステムおよび方法に関する。
コンピュータ・システム、例えば企業のデータ・センタにはしばしば、実行されるアプリケーションを有する複数のサーバが存在する。サーバは比較的低い効率で動作するのが一般的である。例えば、一部のサーバの負荷は10〜30%であることがある。仮想マシンをサーバに割り当てることで仮想化を用いて効率を改善しうるが、割り当てられた仮想マシン(複数可)がビジーでない場合は各サーバの負荷は依然として10〜30%でありうる。さらに、アプリケーションの要求は時間とともに変化し、これがサーバの負荷変動の原因となる。
サーバを比較的高い効率で運用することがしばしば望ましいが、サーバを比較的低い効率で実行してアプリケーションによる要求の潜在的な増加に適応させることが有益であることもある。サーバの効率をあまりに高く設定すると、サーバが増加したアプリケーションの要求に適応できないおそれがある。例えば、かかる増加した要求に適応できないことが、アプリケーションが行った幾つかの要求にサーバが応答しなくなる原因となるおそれがある。他方、サーバの効率をあまりに低く設定すると、増加したアプリケーションの要求に適応するのに必要な効率よりも低い効率でサーバが動作するおそれがある。
サーバの負荷レベルを管理するための1つの提案されている技法は、アプリケーションの要求を別のサーバに転送して、要求の転送元であるサーバの負荷を軽減するものである。しかし、この提案された技法では、大量の時間と労力が必要となるおそれがある。例えば、アプリケーションの要求に適応するために利用できる十分なリソースを有するサーバを見つけるために検索が必要となる可能性がある。かかるサーバが見つかると、要求を転送するためのプロセスが使用される可能性がある。
本明細書では、コンピュータ・システムのリソースを管理するためのシステム、方法、およびコンピュータ・プログラム製品を説明する。複数のモジュール(例えば、仮想マシン、SQLサーバ・インスタンス、または他のアプリケーション)を複数のコンピュータ・システムのリソース(例えば、プロセッサ、サーバ、等)に割り当てることができる。各モジュールには優先度レベルが割り当てられる。さらに、指定の利用レベルがコンピュータ・システムの各リソースに割り当てられる。各リソースは1つまたは複数のモジュールをサポートし、対応する割り当てられた優先度レベルに従って、サポートされるモジュールの動作に優先度を付与する。さらに、各リソースは、サポートされるモジュールの動作全体を指定の利用レベルに保つ。
例示的な方法では、利用識別子が受け取られる。利用識別子とは、処理システムのリソースに関連付けられた参照利用レベルを示すものである。各リソースは、負荷レベルを参照利用レベルとほぼ等しくなるように保つように管理される。各リソースの処理能力を、当該リソース上で実行されるアプリケーション・モジュールに、参照利用レベルと当該アプリケーション・モジュールに関連付けられた優先度レベルとに基づいて割り当てる。
別の例示的な方法では、参照利用レベルが処理システムのリソースによって受け取られる。アプリケーション・モジュールはリソース上で実行される。リソースの処理能力を、アプリケーション・モジュールに、当該アプリケーション・モジュールに関連付けられた優先度レベルに基づいて割り当てて、リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにする。
コンピュータ・プログラム製品も記載されている。コンピュータ・プログラム製品は、プロセッサ・ベースのシステムがリソースを管理できるようにするためのコンピュータ・プログラム・ロジックを記録したコンピュータ読取可能媒体を備える。コンピュータ・プログラム製品は第1のプログラム・ロジック・モジュールと第2のプログラム・ロジック・モジュールを備える。第1のプログラム・ロジック・モジュールは、プロセッサ・ベースのシステムがアプリケーション・モジュールをリソース上で実行できるようにするためのものである。第2のプログラム・ロジック・モジュールは、プロセッサ・ベースのシステムがリソースの処理能力をアプリケーション・モジュールに、当該アプリケーション・モジュールに関連付けられた優先度レベルに基づいて割り当てて、リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにするためのものである。
本要約は、選択した概念を簡潔な形で導入するために与えたものである。その概念は後の発明を実施するための形態でさらに説明する。本要約は特許請求の主題の主要な特徴または本質的な特徴を特定しようとするものではなく、特許請求の主題の範囲を限定するために使用しようとするものでもない。さらに、本発明は発明の詳細な説明および/または本明細書の他のセクションに記載した具体的な実施形態には限定されないことに留意されたい。かかる実施形態は例示の目的のためにのみ本明細書で提示されているものである。さらなる実施形態は、本明細書に含まれる教示をもとにすれば当業者には明らかであろう。
添付の図面は、本明細書に取り込まれて本明細書の一部を成し、本発明を例示し、発明の詳細な説明とともに本明細書の原理を説明し当業者が本発明を製作し利用できるようにする役割を果たす。
本発明の1実施形態に従う例示的な処理システムのブロック図である。 本発明の1実施形態に従う、処理システムを管理するための方法の流れ図である。 本発明の1実施形態に従う、図1に示す負荷レベル管理システムの例示的な実装形態のブロック図である。 本発明の1実施形態に従う、リソースを管理するための方法の流れ図である。 本発明の1実施形態に従う、図1に示すリソースの例示的な実装形態のブロック図である。 本発明の1実施形態に従って管理される、負荷レベルを有する複数のリソースを示す図である。 本発明の実施形態を実装できるコンピュータの例示的な実装形態を示す図である。
本発明の特徴と利点は、図面と関連させて検討すると、以下で説明する発明を実施するための形態からさらに明らかになろう。図面全体を通じて、同一の参照番号により対応する要素を特定する。図面においては、同一の参照番号は一般に同一の要素、機能的に類似した要素、および/または構造的に類似した要素を示す。要素が最初に現れる図面を、対応する参照番号の左端の数字(複数可)によって示す。
I.導入
以下の詳細な説明は、本発明の例示的な諸実施形態を示す添付図面に言及する。しかし、本発明の範囲はこれらの実施形態に限定されることはなく、添付の特許請求の範囲により定義される。したがって、添付図面に示したもの以外の実施形態、例えば図示した実施形態を修正した版も、依然として本発明によって包含することができる。
本明細書における「1実施形態」、「実施形態」、「例示的な実施形態」、等への言及は、記載した実施形態が特定の機能、構造、または特徴を含みうるが全ての実施形態が当該特定の機能、構造、または特徴を必ずしも含まなくともよいことを示す。さらに、かかる語句は必ずしも同一の実施形態を指し示すものではない。さらに、特定の機能、構造、または特徴を或る実施形態と関連して説明するときは、明示的に記載されているかいないかに関わらず、かかる機能、構造、または特徴を他の実施形態を関連して実装することが当業者の知識の範囲内にあると考えられている。
II.優先度ベースのシステム負荷レベル管理の例示的な実施形態
本発明の実施形態では、コンピュータ・システムのリソースを管理することができる。モジュール(例えば、仮想マシン、SQLサーバ・インスタンス、または他のアプリケーション)が複数のコンピュータ・システムのリソース(例えば、プロセッサ、サーバ、等)に割り当てられる。各モジュールには優先度レベルが割り当てられる。優先度レベルとは当該モジュールの他のモジュールに対する優先度を示すものである。さらに、指定の利用レベルがコンピュータ・システムの各リソースに割り当てられる。各リソースは1つまたは複数のモジュールをサポートし、対応する割り当てられた優先度レベルに従って、サポートされるモジュールの動作に優先度を付与する。さらに、各リソースは、サポートされるモジュールの動作を指定の利用レベルに保つ。このようにして、リソースのより効率的な利用を実現することができる。
図1は、1実施形態に従う例示的な処理システム100のブロック図である。処理システム100は負荷レベル管理システム102、複数のリソース110a〜110r、および管理(アドミン)システム112を備える。各リソース110は1つまたは複数のアプリケーションをサポートする。例えば、第1のリソース110aがアプリケーション・モジュール104a〜104mをサポートし、第2のリソース110bがアプリケーション・モジュール106a〜106nをサポートする、等である。
管理システム112は、利用識別子114を負荷レベル管理システム102に提供するように構成されている。利用識別子114は処理システム100のリソース110に対する参照利用識別子である。例えば、負荷レベル管理システム102は利用識別子114を使用して、処理システム100のリソース110に関連付けられた参照利用レベルを決定することができる。参照利用レベルは、例えば、リソース110の各々に対する目標負荷レベルに対応してもよい。
1つまたは複数の優先度識別子を負荷レベル管理システム102に提供するように管理システム112をさらに構成するか、または、優先度識別子(複数可)を他の方法で提供してもよい。優先度識別子は、特定のアプリケーション・モジュールの他のモジュールに対する優先度を示す、アプリケーション・モジュール104a〜104m、106a〜106nのうち1つに対する優先度の表示である。例えば、管理システム112は、管理システム112のユーザが管理システム112でウェブ・ブラウザ116または他のユーザ・インタフェースを介してそれぞれの利用レベルおよび/または優先度レベルを選択したことに応答して、利用識別子114および/または優先度識別子を提供してもよい。負荷レベル管理システム102は、さらに処理するために優先度識別子を1つまたは複数のリソース110に転送してもよい。
負荷レベル管理システム102は、各リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにリソース110を管理するように構成される。例えば、負荷レベル管理システム102を、各リソース110から受け取った負荷レベル識別子に基づいて各リソース110の瞬間的なまたは平均的な負荷レベルを決定するように構成してもよい。負荷レベル管理システム102は、リソース110の瞬間的なまたは平均的な負荷レベルを参照利用レベルと比較してリソース110の負荷レベルが上昇するか低下するかを判定して、リソース110の負荷レベルが参照利用レベルとほぼ等しくなるようにすることができる。別の実施形態では、負荷レベル管理システム102が参照利用レベルを各リソース110に提供し、各リソース110はその負荷レベルが参照利用レベルとほぼ等しくなるように保つように構成される。
アプリケーション・モジュール104a〜104m、106a〜106n、等は、当該アプリケーション・モジュールが関連付けられた各リソース110a〜110rの処理能力を消費する動作を行うように構成される。例えば、アプリケーション・モジュール104a〜104mが第1のリソース110aの処理能力を消費し、アプリケーション・モジュール106a〜106nが第2のリソース110bの処理能力を消費する、等である。アプリケーション・モジュール104の例にはソフトウェア・アプリケーション、仮想マシン、SQLサーバ・インスタンス、等が含まれるがこれらに限らない。
リソース110a〜110rは、各アプリケーション・モジュール104a〜104m、106n、等が行う動作を容易にするための処理能力を提供するように構成される。リソース110の例にはサーバ、プロセッサ、マルチ・プロセッサ、等が含まれるがこれらに限らない。
第1の例示的な実施形態では、アプリケーション・モジュール104a〜104m、106a〜106n、等は仮想マシンとして実装され、リソース110a〜110rはプロセッサとして実装される。例えば、プロセッサは、自身の処理能力を各仮想マシンの優先度に基づいて仮想マシンに割り当てて、プロセッサの負荷レベルが当該プロセッサに関連付けられた参照利用レベルとほぼ等しくなるようにすることができる。
第2の例示的な実施形態では、アプリケーション・モジュール104a〜104m、106a〜106n、等はSQLサーバ・インスタンスとして実装され、リソース110a〜110rはサーバとして実装される。例えば、サーバは、自身の処理能力を各SQLサーバ・インスタンスの優先度に基づいてSQLサーバ・インスタンスを割り当てて、サーバの負荷レベルが当該サーバに関連付けられた参照利用レベルとほぼ等しくなるようにすることができる。
これらの例示的な実施形態は例示の目的のために与えたものであり、限定であるとは意図していない。当業者には、アプリケーション・モジュール104a〜104m、106a〜106n、等を任意の適切な種類のモジュールとして実装してもよいことは理解されよう。さらに、リソース110a〜110rが、各アプリケーション・モジュール104a〜104m、106a〜106n、等が行う動作を容易にするための処理能力を提供できる任意の適切な種類のリソースであってもよいことも理解されよう。
図2は、1実施形態に従う、処理システムを管理するための方法の流れ図200を示す。流れ図200を、例えば図1に示す負荷レベル管理システム102によって実施してもよい。例示の目的のため、実施形態に従って、流れ図200を図3に示す負荷レベル管理システム102’と関連させて説明する。負荷レベル管理システム102’は負荷レベル管理システム102の1例である。図3に示すように、負荷レベル管理システム102’はインタフェース・モジュール302と管理モジュール304とを備える。他の構造および操作の実施形態は、流れ図200に関する説明をもとにすれば当業者には明らかであろう。流れ図200を以下で説明する。
図2に示すように、流れ図200の方法はステップ202から開始する。ステップ202で、処理システムの複数のリソースに関連付けられた参照利用レベルを示す利用識別子を受け取る。例えば、インタフェース・モジュール302が利用識別子を受け取ってもよい。1実施形態では、管理システム112が、参照利用レベルを選択できるようにするためのユーザ・インタフェース要素を提供するように構成される。インタフェース・モジュール302は、ユーザが当該ユーザ・インタフェース要素を介して参照利用レベルを選択したことに応答して、利用識別子114を受け取ることができる。
1実施形態によれば、管理システム112を、アプリケーション・モジュール104a〜104m、106a〜106n、等に関連付けられた1つまたは複数の優先度レベルを選択できるようにするためのユーザ・インタフェース要素を提供するように構成してもよい。インタフェース・モジュール302は、ユーザが当該ユーザ・インタフェース要素を介して優先度レベルを選択したことに応答して、各優先度レベルに対応する優先度識別子を受け取ることができる。上述のユーザ・インタフェース要素の各々は、テキスト・ベースのインタフェース要素、グラフィカル・インタフェース要素(例えば、ポップ・アップ、ドロップ・ダウン、またはそれと等価なメニュー)、または他のユーザ・インタフェース要素であってもよい。
ステップ204で、処理システムのリソースを、各リソースの負荷レベルを参照利用レベルとほぼ等しくなるように保つように管理する。例えば、管理モジュール304が処理システムのリソースを管理してもよい。本例によれば、管理モジュール304が維持識別子306a〜306rを処理システム100の各リソース110a〜110rに提供することができる。維持識別子306a〜306rはリソース110に対する負荷レベルの維持を示すものである。例えば、各リソース110は各維持識別子306を使用してリソース110の負荷レベルが上昇するか低下するかを判定して、リソース110の負荷レベルが参照利用レベルとほぼ等しくなるように保つことができる。例えば、現在の負荷レベルを参照利用レベルが示す負荷レベルと比較して、決定した現在の負荷レベルと参照利用レベルの差分がどのようなものであってもその差分に従って負荷レベルを調整するように各リソース110を構成することができる。
例示的な実装形態では、処理システムのリソースを、各リソースの平均的な負荷レベルが参照利用レベルとほぼ等しくなるように保つように管理してもよい。例えば、負荷レベルを1秒、数秒、数分、数時間の何分の1か、等で平均してもよい。
各リソースの処理能力を、当該リソース上で実行される複数のアプリケーション・モジュールに、参照利用レベルと当該アプリケーション・モジュールに関連付けられた優先度レベルとに基づいて割り当てる。例えば、第1のリソースの処理能力を、当該第1のリソース上で実行される第1の複数のアプリケーション・モジュールに割り当てることができ、第2のリソースの処理能力を、当該第2のリソース上で実行される第2の複数のアプリケーション・モジュールに割り当てることができる、等である。例えば、相対的に高い優先度を有するアプリケーション・モジュールに、相対的に低い優先度を有するアプリケーション・モジュールよりも多くリソースの処理能力を割り当てることができる。別の例では、相対的に低い優先度を有するアプリケーション・モジュールに、相対的に高い優先度を有するアプリケーション・モジュールよりも少なくリソースの処理能力を割り当てることができる。
図4は、1実施形態に従う、リソースを管理するための方法の流れ図400を示す。流れ図400を、例えば、図1に示すリソース110a〜110rのうち何れかによって実施してもよい。例示の目的のため、実施形態に従って、流れ図400を図5に示すリソース110’と関連させて説明する。リソース110’はリソース110の1例である。図5に示すように、リソース110’は受信モジュール502、実行モジュール504、割当てモジュール506を備える。他の構造および操作の実施形態は、流れ図400に関する説明をもとにすれば当業者には明らかであろう。流れ図400を以下で説明する。
図4に示すように、流れ図400の方法はステップ402から開始する。ステップ402で、参照利用レベルを受け取る。例えば、受信モジュール502が維持識別子306または他の識別子を介して利用レベルを受け取ってもよい。
ステップ404で、複数のアプリケーション・モジュールが処理システムのリソース上で実行される。例えば、実行モジュール504が当該複数のアプリケーション・モジュールを当該リソース上で実行してもよい。当該リソースは例えばリソース110’であってもよい。
ステップ406で、リソースの処理能力を、複数のアプリケーション・モジュールに、当該複数のアプリケーション・モジュールに関連付けられた複数の優先度レベルに基づいて割り当てて、リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにする。例えば、割当てモジュール506がリソースの処理能力を複数のアプリケーション・モジュールに割り当ててもよい。割当てモジュール506が維持識別子306を受信モジュール502から受け取ることができる。例えば、割当てモジュール506が維持識別子306を使用して、リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにするために複数のアプリケーション・モジュールに割り当てるべきリソースの総処理能力量を決定することができる。
割当てモジュール506は複数の優先度レベルを使用して、各アプリケーション・モジュールに割り当てるべき、決定した総処理能力量の一部を決定することができる。例えば、割当てモジュール506は、当該決定した総処理能力量の第1の部分を第1のアプリケーション・モジュールに、当該第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて割り当てることができ、当該決定した総処理能力量の第2の部分を第2のアプリケーション・モジュールに、当該第2のアプリケーション・モジュールに関連付けられた第2の優先度レベルに基づいて割り当てることができる、等である。
1実施形態では、受信モジュール502は、リソース上で実行されるモジュールの優先度レベルを示す優先度識別子を受け取ることができる。優先度識別子を、例えば、負荷レベル管理システム102から受け取った維持識別子306内で示してもよい。受信モジュール502は、さらに処理するために優先度識別子または当該優先度識別子が示す優先度レベルを割当てモジュール506に転送してもよい。あるいは、各モジュール502に前もって各優先度レベルを割り当てておいてもよい。
割当てモジュール506は、リソース110’の処理能力を第1の優先度レベルを有する第1のアプリケーション・モジュールから、第1の優先度レベルよりも高い第2の優先度レベルを有する第2のアプリケーション・モジュールに移して、第2のアプリケーション・モジュールがリソース110’の処理能力の可用性を促進することができる。例示的な実装形態では、割当てモジュール506を、第2のアプリケーション・モジュールから要求508を受け取った際に、第1の優先度レベルを超える第2の優先度レベルに基づいて処理能力を第1のアプリケーション・モジュールから第2のアプリケーション・モジュールに自動的に移すように構成することができる。例えば、割当てモジュール506が第1のアプリケーション・モジュールの負荷レベルをほぼゼロに設定して処理能力の可用性を促進してもよい。
各アプリケーション・モジュールの優先度と参照利用レベルを任意の時点で変更してもよい。例えば、図3を参照すると、負荷レベル管理システム102’のインタフェース・モジュール302が、それぞれの少なくとも1つのアプリケーション・モジュールの少なくとも1つの修正優先度レベルを示す修正優先度識別子を受け取ることができる。負荷レベル管理システム102’の管理モジュール304は、少なくとも1つの修正優先度レベルの表示を維持識別子306を介してリソース110’の受信モジュール502に提供することができる。リソース110’の割当てモジュール506は少なくとも1つの修正優先度レベルに基づいてリソースの処理能力を複数のアプリケーション・モジュールに再割当てすることができる。
別の例では、負荷レベル管理システム102’のインタフェース・モジュール302が、リソース110’に関連付けられた修正参照利用レベルを示す修正利用識別子を受け取ってもよい。負荷レベル管理システム102’の管理モジュール304は、修正利用レベルの表示を維持識別子306を介してリソース110’の受信モジュール502に提供することができる。リソース110’の割当てモジュール506は、修正参照利用レベルに基づいてリソースの処理能力を複数のアプリケーション・モジュールに再割当てすることができる。各アプリケーション・モジュールに割り当てたリソースの一部を、変更された優先度レベル(複数可)および/または変更された利用レベルに応答して調整してもよい。
1態様では、例えば、ユーザがユーザ・インタフェース要素を介してオンザフライで参照利用レベルを修正したことに応答して、修正利用識別子を受け取ってもよい。別の態様では、所定のスケジュールに従って修正参照利用レベルを受け取ってもよい。例えば、参照利用レベルを、その日の第1の時点で相対的に低い利用レベルを示すように設定してもよい。参照利用レベルを、その日の第2の時点で相対的に高い利用レベルを示すように修正してもよい。したがって、割当てモジュール506は、リソース110’の処理能力を、第1の時点と第2の時点の間の期間中に複数のアプリケーション・モジュールに割り当てて、リソース110’の負荷レベルが当該比較的低い利用レベルとほぼ等しくなるようにすることができる。割当てモジュール506は、リソース110’の処理能力を、第2の時点の後の期間中に複数のアプリケーション・モジュールに割り当てて、リソース110’の負荷レベルが当該比較的高い利用レベルとほぼ等しくなるようにすることができる。
図6は、1実施形態に従って管理される、負荷レベルを有する複数のリソース602を示す図である。例示の目的のためリソース602はCPU(central processing unit)であるとして示してあるが、これは限定を意図するものではない。例えば、リソース602a〜602dが共通ソケット内の各プロセッサ・コアを表してもよいが、本明細書に記載の実施形態の範囲はこの点に限定されない。リソースがプロセッサ、サーバ、等であってもよいことは理解されよう。図6に示すように、各リソース602は、参照利用レベル608とほぼ等しい負荷レベルを有するように管理される。例示の目的のため参照利用レベル608は65%であるとして示されている。参照利用レベル608を0%から100%の範囲で任意の適切なレベルに設定してもよい。
リソース602はアプリケーション・モジュール604を実行する。例示の目的のためアプリケーション・モジュール604が仮想マシンであるとして説明する。アプリケーション・モジュール604が仮想マシン、SQLサーバ・インスタンス、等であってもよいことは当業者には理解されよう。図6に示すように、アプリケーション・モジュール604aと604bがリソース602a上で実行される。アプリケーション・モジュール604cと604dはリソース602b上で実行される。アプリケーション・モジュール604e、604f、604gはリソース602c上で実行される。アプリケーション・モジュール604hはリソース602d上で実行される。各リソース602は任意数のアプリケーション・モジュール604を実行してもよい。例えば、リソース602は無数のモジュールを実行してもよい。
各アプリケーション・モジュール604には優先度レベル610が割り当てられる。優先度レベル610は、当該モジュールの他のモジュールに対する優先度を示すものである。例示の目的のため図6では優先度レベル610が数値であるとして示してあるが、優先度レベル610が任意の適切な規模に基づいてもよいことは理解されよう。例えば、優先度レベル610は1から指定数(例えば、10、50、10,000、等)の範囲内の数字であってもよい。別の例では、優先度レベル610は「高」、「中」、または「低」の値であってもよい。比較的高い優先度レベル610を有するアプリケーション・モジュール604を比較的高いビジネス上の影響を有するものと考え、一方で、比較的低い優先度レベル610を有するアプリケーション・モジュール604を比較的低いビジネス上の影響を有するものと考えてもよい。例えば、ビジネスに対して極めて重要なまたは時間的に制約のある動作を行うアプリケーション・モジュール604に比較的高い優先度610を割り当ててもよい。別の例では、極めて重要でもなく時間的に制約もない動作を行うアプリケーション・モジュール604に比較的低い優先度610を割り当ててもよい。
例えば、フロント・エンドのウェブ・サーバまたはオンライン広告を提供して企業に収入をもたらす広告サーバに比較的高い優先度レベル610を関連付けてもよい。バック・エンド・サービス、例えばログ配布、検索クローリング(search crawling)、またはインターネット上の情報チェックを行うアプリケーション・モジュール604に比較的低い優先度レベル610を関連付けてもよい。例えば、何時間もまたはその日の終わりまで待機して上記バック・エンド・サービスを行っても、ビジネスにはさほど影響を及ぼさないであろう。
各リソース602は、当該リソース602上で実行されるアプリケーション・モジュール604の動作に、対応する割り当てられた優先度レベル610に従って優先度を付与する。例えば、リソース602aがアプリケーション・モジュール604aの動作に優先度レベル610aに従って優先度を付与し、アプリケーション・モジュール604bの動作に優先度レベル610bに従って優先度を付与する、等である。高優先度のモジュール(複数可)604からの処理能力に対する要求が減ってくると、低優先度のモジュール604を動的にオンザフライで「起動」して、当該モジュール604が関連付けられているリソース602の処理能力を利用してその動作を実施することができる。1態様では、リソース602が、高優先度のモジュール(複数可)604からの処理能力に対する要求が減ってきているとリソース602が決定したことに応答して、低優先度のモジュール604を起動するための命令を、当該低優先度のモジュール604に提供することができる。リソース602は、処理能力に対する要求を高優先度のモジュール604から受け取った際に、リソース602の処理能力を高優先度のモジュール604に戻してもよい。実際、リソース602は低優先度のモジュール604をオフライン(すなわち、処理能力の割当てが0%)とみなして、高優先度のモジュール604が要求された処理能力を利用することを容易にすることができる。
アプリケーション・モジュール604への処理能力の割当てを、各リソース602の負荷レベルが参照利用レベル608とほぼ等しくなるように行う。割当て表示612は、各アプリケーション・モジュール604に割り当てられたリソースの処理能力の一部を示す。例えば、割当て表示612aは、リソース602aがリソース602aの処理能力の10%をアプリケーション・モジュール604aに割り当てたことを示す。リソース602aはこの処理能力を優先度レベル610aに基づいてアプリケーション・モジュール604aに割り当てる。優先度レベル610aはアプリケーション・モジュール604aに割り当てられる。割当て表示612bは、リソース602aがリソース602aの処理能力の55%をアプリケーション・モジュール604bに割り当てたことを示す。リソース602aはこの処理能力を優先度レベル610bに基づいてアプリケーション・モジュール604bに割り当てる。優先度レベル610bはアプリケーション・モジュール604bに割り当てられる。アプリケーション・モジュール604aと604bに割り当てられたリソース602aの処理能力は10%+55%=65%であり、これは参照利用レベル608に等しい。
相対的に高い優先度レベル610を有するアプリケーション・モジュール604は、アプリケーション・モジュール604が実行されているリソース602の処理能力の比較的多くの割合を必ずしも消費しなくともよい。例えば、アプリケーション・モジュール604dと604gは、これらのアプリケーション・モジュールの各々が比較的高い優先度レベル610d、610gに関連付けられているが、各リソース602bおよび602cの処理能力のうち比較的少量しか消費しないとして示されている。例えば、アプリケーション・モジュール604dは7,950という優先度レベル610dを有し、リソース602bの処理能力のうち20%が割り当てられている。別の例では、アプリケーション・モジュール604gは8,300という優先度レベル610gを有し、リソース602cの処理能力のうち25%が割り当てられている。
処理能力を、高優先度のモジュール604が当該処理能力を要求したときに低優先度のモジュール604から高優先度のモジュール604に移すようにリソース602を構成してもよいことに留意されたい。例えば、リソース602は、本明細書で説明した実施形態に従って処理能力がアプリケーション・モジュール604dによって要求されたときに、リソースをアプリケーション・モジュール604cからアプリケーション・モジュール604dに移してもよい。別の例では、リソース602は、本明細書で説明した実施形態に従って処理能力がアプリケーション・モジュール604gによって要求されたときに、当該処理能力をアプリケーション・モジュール604eおよび604fのうち少なくとも1つからアプリケーション・モジュール604gに移してもよい。
図7は、諸実施形態を実装できるコンピュータ700の例示的な実装形態を示す図である。図1に示す負荷レベル管理システム102、リソース104、管理システム112、または図6に示すリソース602のうち任意の1つまたは複数を、コンピュータ700の1つまたは複数の機能および/または代替機能を含めて、コンピュータ700と同様に実装することができる。コンピュータ700は、例えば従来型のパーソナル・コンピュータ、モバイル・コンピュータ、もしくはワークステーションの形での汎用目的のコンピューティング装置であってもよく、または、コンピュータ700は特殊目的のコンピューティング装置であってもよい。本明細書で提供するコンピュータ700の説明は例示の目的で与えたものであり、限定であるとは意図していない。諸実施形態を別の種類のコンピュータ・システムで実装してもよく、これは当業者には周知であるはずである。
図7に示すように、コンピュータ700は演算装置702、システム・メモリ704、およびシステム・メモリ704を含む様々なシステム・コンポーネントを処理装置702に接続するバス706を備える。バス706は任意の数種のバス構造のうち1つまたは複数を表す。当該バス構造には、メモリ・バスまたはメモリ・コントローラ、周辺バス、高速グラフィック・ポート、および様々なバス構造のうち任意のものを使用するプロセッサまたはローカル・バスが含まれる。システム・メモリ704にはROM(read only memory)708およびRAM(random access memory)710が含まれる。BIOS(basic input/output system)712がROM708に格納されている。
コンピュータ700はまた、1つまたは複数の以下の装置、すなわち、ハードディスクを読み書きするためのハードディスク・ドライブ714、取外し可能磁気ディスク718を読み書きするための磁気ディスク・ドライブ716、CD ROM、DVD ROM、または他の光媒体のような取外し可能光ディスク722を読み書きするための光ディスク・ドライブ720、を有する。ハードディスク・ドライブ714、磁気ディスク・ドライブ716、および光ディスク・ドライブ720はそれぞれ、ハードディスク・ドライブ・インタフェース724、磁気ディスク・ドライブ・インタフェース726、および光ドライブ・インタフェース728によってバス706に接続される。ドライブとその関連するコンピュータ読取可能媒体は、コンピュータに対するコンピュータ読取可能命令、データ構造、プログラム・モジュールおよび他のデータの不揮発性記憶装置を提供する。ハードディスク、取外し可能磁気ディスクおよび取外し可能光ディスクを説明したが、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、RAM(random access memory)、ROM(read only memory)、等のような他種のコンピュータ読取可能媒体を使用してデータを記憶することができる。
幾つかのプログラム・モジュールをハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに格納してもよい。これらのプログラムには、オペレーティング・システム730、1つまたは複数のアプリケーション・プログラム732、他のプログラム・モジュール734、およびプログラム・データ736が含まれる。アプリケーション・プログラム732またはプログラム・モジュール734は、例えば、本明細書で説明した負荷レベル管理システム102、アプリケーション・モジュール104、106、108、等、管理システム112、インタフェース・モジュール302、管理モジュール304、受信モジュール502、実行モジュール504、割当てモジュール506、アプリケーション・モジュール604、流れ図200(流れ図200の任意のステップを含む)、および/または流れ図400(流れ図400の任意のステップを含む)を実装するためのコンピュータ・プログラム・ロジックを含んでもよい。
ユーザは、キーボード738およびポインティング・デバイス740のような入力装置を介してコンピュータ700にコマンドと情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナ、等を含めてもよい。しばしばこれらおよび他の入力装置はバス706に接続されるシリアル・ポート・インタフェース742を介して処理装置702に接続されるが、他のインタフェース、例えばパラレル・ポート、ゲーム・ポート、またはUSB(universal serial bus)によって接続してもよい。
モニタ744または他種の表示装置も、ビデオ・アダプタ746のようなインタフェースを介してバス706に接続される。モニタに加えて、コンピュータ700はスピーカおよびプリンタのような他の周辺出力装置(図示せず)を備えてもよい。
コンピュータ700は、ネットワーク・インタフェースもしくはアダプタ750、モデム752、またはネットワーク上で通信を確立するための他の手段を介してネットワーク748(例えば、インターネット)に接続される。モデム752は、内部または外部にあってもよく、シリアル・ポート・インタフェース742を介してバス706に接続される。
本明細書で使用する場合、「コンピュータ・プログラム媒体」および「コンピュータ読取可能媒体」という用語は一般に、ハードディスク・ドライブ714に関連付けられたハードディスク、取外し可能磁気ディスク718、取外し可能光ディスク722のような媒体、ならびにフラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、RAM(random access memory)、ROM(read only memory)、等のような他の媒体に言及するように用いられる。
上述したように、コンピュータ・プログラムおよびモジュール(アプリケーション・プログラム732および他のプログラム・モジュール734を含む)をハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに格納することができる。かかるコンピュータ・プログラムを、ネットワーク・インタフェース750またはシリアル・ポート・インタフェース742を介して受け取ってもよい。かかるコンピュータ・プログラムは、アプリケーションによって実行またはロードされると、コンピュータ700が本明細書で論じた本発明の実施形態の機能を実行できるようにする。したがって、かかるコンピュータ・プログラムはコンピュータ700のコントローラに相当する。
諸実施形態はまた、任意のコンピュータ利用可能媒体上に格納されたソフトウェアを備えるコンピュータ・プログラム製品に関する。かかるソフトウェアは、1つまたは複数のデータ処理装置上で実行されると、データ処理装置(複数可)を本明細書で説明したように動作させる。本発明の諸実施形態は、現在または将来に既知である任意のコンピュータ利用可能またはコンピュータ読取可能な媒体を使用する。コンピュータ読取可能媒体の例には、RAM、ハード・ドライブ、フロッピー・ディスク、CD ROM、DVD ROM、ジップ・ディスク、テープ、磁気記憶装置、光記憶装置、MEM、ナノ技術ベースの記憶装置、等が含まれるがこれらに限らない。
本明細書で説明した諸実施形態は、従来型の負荷レベル管理技法と比較すると、様々な利益を有する。例えば、諸実施形態では、リソース(例えば、プロセッサ、サーバ、等)の処理能力を、当該リソース上で実行されるアプリケーション・モジュール(例えば、仮想マシン、SQLサーバ・インスタンス、または他のアプリケーション)に、当該モジュールに関連付けられた優先度レベルに基づいて有利に割り当てて、システムに対する指定の負荷レベルを実現することができる。例えば、諸実施形態では、処理能力を割り当てて、リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにすることができる。各リソースの負荷レベルを、共通の参照利用レベルまたは異なる各参照利用レベルに基づいて管理してもよい。
幾つかの実施形態によれば、変化するアプリケーション・モジュールの負荷レベルに適応するために、当該アプリケーション・モジュールを或るリソースから別のリソースに移動させる必要はない。そうではなく、リソースの処理能力を、当該リソース上で実行されるアプリケーション・モジュールに、当該アプリケーション・モジュールに関連付けられた優先度に基づいて割り当てて、各リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにすることができる。
本明細書で説明した諸実施形態を、例示の目的のため処理システムのリソース上で実行されるアプリケーション・モジュールを参照して論じたが、限定であるとは意図していない。本明細書で説明した負荷レベル管理技法を他の様々な環境で適用可能であることは当業者には理解されよう。例えば、本技法を使用して、1つまたは複数の不揮発性記憶装置(例えば、ハード・ドライブまたはそのパーティション、メモリ装置、等)の入出力(I/O)機能を、複数のソフトウェアおよび/またはハードウェア装置に、当該装置に関連付けられた優先度レベルに基づいて割り当てて、各不揮発性記憶装置の負荷レベルが参照利用レベルとほぼ等しくなるようにすることができる。別の例では、本技法を使用して、複数のホスト(例えば、コンピュータ)と通信するリソースの負荷レベルを管理することができる。リソースの処理能力を複数のホストに、当該複数のホストに割り当てられた優先度に従って割り当てて、リソースの負荷レベルが参照利用レベルとほぼ等しくなるようにすることができる。
本発明の各実施形態について説明する。
実施形態1
リソースを管理する方法であって、
参照利用レベル(608)を受け取るステップと、
複数のアプリケーション・モジュール(104a〜104m、106a〜106n、108a〜108p、604a〜604h)を処理システム(100)のリソース(110a〜110r、602a〜602d)上で実行するステップと、
前記リソース(110a〜110r、602a〜602d)の処理能力を、前記複数のアプリケーション・モジュール(104a〜104m、106a〜106n、108a〜108p、604a〜604h)に、前記複数のアプリケーション・モジュール(104a〜104m、106a〜106n、108a〜108p、604a〜604h)に関連付けられた複数の優先度レベル(610a〜610h)に基づいて割り当てて、前記リソースの負荷レベルが前記参照利用レベル(608)とほぼ等しくなるようにするステップと
を具えたことを特徴とする方法。
実施形態2
前記受け取るステップは、前記リソースを含む複数のリソースに関連付けられた前記参照利用レベルを受け取るステップを含むことを特徴とする実施形態1記載の方法。
実施形態3
前記複数のアプリケーション・モジュールのうち第1のアプリケーション・モジュールから、より多くの前記リソースの前記処理能力に対する要求を受け取るステップと、
前記リソースの前記処理能力の一部を前記複数のアプリケーション・モジュールのうち第2のアプリケーション・モジュールから前記第1のアプリケーション・モジュールに、前記第2のアプリケーション・モジュールに関連付けられた第2の優先度レベルよりも大きい前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて移すステップと
をさらに具えたことを特徴とする実施形態1の方法。
実施形態4
前記処理能力を割り当てるステップは、前記リソースの前記処理能力を前記複数のアプリケーション・モジュールの第1のアプリケーション・モジュールに、前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて殆ど割り当てないステップを含むことを特徴とする実施形態1の方法。
実施形態5
前記処理能力を割り当てるステップは、前記リソースの前記処理能力の殆ど全てを前記複数のアプリケーション・モジュールの第1のアプリケーション・モジュールに、前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて割り当てるステップを含むことを特徴とする実施形態1の方法。
実施形態6
前記複数のアプリケーション・モジュールのうち少なくとも1つのアプリケーション・モジュールに関連付けられた修正優先度レベルを受け取るステップと、
前記リソースの前記処理能力を、前記複数のアプリケーション・モジュールに、前記修正優先度レベルに基づいて再割当てし、前記リソースの負荷レベルが前記参照利用レベルとほぼ等しくなるようにするステップと
をさらに具えたことを特徴とする実施形態1の方法。
実施形態7
修正参照利用レベルを受け取るステップと、
前記リソースの前記処理能力を、前記複数のアプリケーション・モジュールに、前記複数のアプリケーション・モジュールに関連付けられた前記複数の優先度レベルに基づいて再割当てし、前記リソースの負荷レベルが前記修正参照利用レベルとほぼ等しくなるようにするステップと、
をさらに具えたことを特徴とする実施形態1記載の方法。
実施形態8
修正参照利用識別子を受け取るステップが所定のスケジュールに従って実施されることを特徴とする実施形態1の方法。
実施形態9
前記処理能力を割り当てるステップは、前記リソースの前記処理能力を、前記複数のアプリケーション・モジュールに、前記複数のアプリケーション・モジュールに関連付けられた前記複数の優先度レベルに基づいて割り当てて、前記リソースの平均負荷レベルが前記参照利用レベルとほぼ等しくなるようにするステップを含むことを特徴とする実施形態1の方法。
実施形態10
実施形態1乃至9の何れかの方法ステップを実行するように配置したコンピュータ読取可能プログラム手段を含む制御ロジックを格納したコンピュータ読取可能媒体を具えたことを特徴とするコンピュータ・プログラム製品。
実施形態11
プロセッサと、
前記プロセッサと通信し、前記プロセッサに実施形態1乃至9の方法ステップの何れかを実行するよう指示するための複数の処理命令を格納した、メモリと、
を具えたことを特徴とするコンピュータ・システム。
実施形態12
複数のアプリケーション・モジュール(104a〜104m、106a〜106n、108a〜108p、604a〜604h)を処理システム(100)のリソース(110a〜110r、602a〜602d)上で実行するための手段(504)と、
前記リソース(110a〜110r、602a〜602d)の負荷レベルが参照利用レベル(608)とほぼ等しくなるように、前記リソース(110a〜110r、602a〜602d)の処理能力を、前記複数のアプリケーション・モジュール(104a〜104m、106a〜106n、108a〜108p、604a〜604h)に、前記複数のアプリケーション・モジュール(104a〜104m、106a〜106n、108a〜108p、604a〜604h)に関連付けられた複数の優先度レベル(610a〜610h)に基づいて割り当てるための手段(506)と
を具えたことを特徴とするシステム。
実施形態13
前記参照利用レベルは、前記リソースを含む複数のリソースと関連付けられていることを特徴とする実施形態12記載のシステム。
実施形態14
前記リソースの前記処理能力の一部を前記複数のアプリケーション・モジュールの第1のアプリケーション・モジュールから前記複数のアプリケーション・モジュールの第2のアプリケーション・モジュールへと、より多くの前記リソースの前記処理能力に対する要求を前記第2のアプリケーション・モジュールから受け取ったことに応答して、前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルよりも大きい前記第2のアプリケーション・モジュールに関連付けられた第2の優先度レベルに基づいて移すための手段をさらに具えたことを特徴とする実施形態12のシステム。
実施形態15
前記割り当てるための手段は、前記リソースの平均負荷レベルが前記参照利用レベルとほぼ等しくなるように構成されることを特徴とする実施形態12のシステム。
III.結論
本発明の様々な実施形態を以上で説明したが、これらは例としてのみ提示されたものであり、限定ではないことは理解されよう。本発明の趣旨と範囲を逸脱しない、形態と細部における様々な変更を当該実施形態において加えうることは当業者には明らかであろう。したがって、本発明の幅と範囲は上述した例示的な実施形態の何れによっても限定されるべきではなく、添付の特許請求の範囲とその均等物に従ってのみ定義されるべきである。

Claims (15)

  1. リソースを管理する方法であって、
    参照利用レベルを受け取るステップと、
    複数のアプリケーション・モジュールを処理システムのリソース上で実行するステップと、
    前記リソースの処理能力を、前記複数のアプリケーション・モジュールに、前記複数のアプリケーション・モジュールに関連付けられた複数の優先度レベルに基づいて割り当てて、前記リソースの負荷レベルが前記参照利用レベルとほぼ等しくなるようにするステップと
    を具えたことを特徴とする方法。
  2. 前記受け取るステップは、前記リソースを含む複数のリソースに関連付けられた前記参照利用レベルを受け取るステップを含むことを特徴とする請求項1記載の方法。
  3. 前記複数のアプリケーション・モジュールのうち第1のアプリケーション・モジュールから、より多くの前記リソースの前記処理能力に対する要求を受け取るステップと、
    前記リソースの前記処理能力の一部を前記複数のアプリケーション・モジュールのうち第2のアプリケーション・モジュールから前記第1のアプリケーション・モジュールに、前記第2のアプリケーション・モジュールに関連付けられた第2の優先度レベルよりも大きい前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて移すステップと
    をさらに具えたことを特徴とする請求項1記載の方法。
  4. 前記処理能力を割り当てるステップは、前記リソースの前記処理能力を前記複数のアプリケーション・モジュールの第1のアプリケーション・モジュールに、前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて殆ど割り当てないステップを含むことを特徴とする請求項1記載の方法。
  5. 前記処理能力を割り当てるステップは、前記リソースの前記処理能力の殆ど全てを前記複数のアプリケーション・モジュールの第1のアプリケーション・モジュールに、前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルに基づいて割り当てるステップを含むことを特徴とする請求項1記載の方法。
  6. 前記複数のアプリケーション・モジュールのうち少なくとも1つのアプリケーション・モジュールに関連付けられた修正優先度レベルを受け取るステップと、
    前記リソースの前記処理能力を、前記複数のアプリケーション・モジュールに、前記修正優先度レベルに基づいて再割当てし、前記リソースの負荷レベルが前記参照利用レベルとほぼ等しくなるようにするステップと
    をさらに具えたことを特徴とする請求項1記載の方法。
  7. 修正参照利用レベルを受け取るステップと、
    前記リソースの前記処理能力を、前記複数のアプリケーション・モジュールに、前記複数のアプリケーション・モジュールに関連付けられた前記複数の優先度レベルに基づいて再割当てし、前記リソースの負荷レベルが前記修正参照利用レベルとほぼ等しくなるようにするステップと、
    をさらに具えたことを特徴とする請求項1記載の方法。
  8. 修正参照利用識別子を受け取るステップが所定のスケジュールに従って実施されることを特徴とする請求項1記載の方法。
  9. 前記処理能力を割り当てるステップは、前記リソースの前記処理能力を、前記複数のアプリケーション・モジュールに、前記複数のアプリケーション・モジュールに関連付けられた前記複数の優先度レベルに基づいて割り当てて、前記リソースの平均負荷レベルが前記参照利用レベルとほぼ等しくなるようにするステップを含むことを特徴とする請求項1記載の方法。
  10. 請求項1乃至9の何れかの方法ステップを実行するように配置したコンピュータ読取可能プログラム手段を含む制御ロジックを格納したコンピュータ読取可能媒体を具えたことを特徴とするコンピュータ・プログラム。
  11. プロセッサと、
    前記プロセッサと通信し、前記プロセッサに請求項1乃至9の方法ステップの何れかを実行するよう指示するための複数の処理命令を格納した、メモリと、
    を具えたことを特徴とするコンピュータ・システム。
  12. 複数のアプリケーション・モジュールを処理システムのリソース上で実行するための手段と、
    前記リソースの負荷レベルが参照利用レベルとほぼ等しくなるように、前記リソースの処理能力を、前記複数のアプリケーション・モジュールに、前記複数のアプリケーション・モジュールに関連付けられた複数の優先度レベルに基づいて割り当てるための手段と
    を具えたことを特徴とするシステム。
  13. 前記参照利用レベルは、前記リソースを含む複数のリソースと関連付けられていることを特徴とする請求項12記載のシステム。
  14. 前記リソースの前記処理能力の一部を前記複数のアプリケーション・モジュールの第1のアプリケーション・モジュールから前記複数のアプリケーション・モジュールの第2のアプリケーション・モジュールへと、より多くの前記リソースの前記処理能力に対する要求を前記第2のアプリケーション・モジュールから受け取ったことに応答して、前記第1のアプリケーション・モジュールに関連付けられた第1の優先度レベルよりも大きい前記第2のアプリケーション・モジュールに関連付けられた第2の優先度レベルに基づいて移すための手段をさらに具えたことを特徴とする請求項12記載のシステム。
  15. 前記割り当てるための手段は、前記リソースの平均負荷レベルが前記参照利用レベルとほぼ等しくなるように構成されることを特徴とする請求項12記載のシステム。
JP2012503540A 2009-03-31 2010-03-26 優先度ベースのシステム負荷レベルを管理するためのシステムおよび方法 Active JP5680619B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/414,897 US8595740B2 (en) 2009-03-31 2009-03-31 Priority-based management of system load level
US12/414,897 2009-03-31
PCT/US2010/028938 WO2010117691A2 (en) 2009-03-31 2010-03-26 Priority-based management of system load level

Publications (3)

Publication Number Publication Date
JP2012522320A true JP2012522320A (ja) 2012-09-20
JP2012522320A5 JP2012522320A5 (ja) 2013-05-02
JP5680619B2 JP5680619B2 (ja) 2015-03-04

Family

ID=42785937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012503540A Active JP5680619B2 (ja) 2009-03-31 2010-03-26 優先度ベースのシステム負荷レベルを管理するためのシステムおよび方法

Country Status (7)

Country Link
US (2) US8595740B2 (ja)
EP (1) EP2414934B1 (ja)
JP (1) JP5680619B2 (ja)
KR (1) KR101606613B1 (ja)
CN (1) CN102378962A (ja)
CA (1) CA2753714C (ja)
WO (1) WO2010117691A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175204A (ja) * 2018-03-29 2019-10-10 富士通株式会社 誤差補正方法、分散処理システムおよび情報処理装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035802A1 (en) * 2009-08-07 2011-02-10 Microsoft Corporation Representing virtual object priority based on relationships
EP2390757A1 (en) * 2010-05-25 2011-11-30 Samsung Electronics Co., Ltd. Method and apparatus for managing an application being executed in a portable terminal
US9471389B2 (en) * 2011-06-30 2016-10-18 International Business Machines Corporation Dynamically tuning server placement
TWI556092B (zh) * 2011-09-30 2016-11-01 英特爾公司 用以減少電力消耗之基於優先順序的應用程式事件控制技術
JP5891900B2 (ja) 2012-03-29 2016-03-23 富士通株式会社 アクセス制御方法、サーバ装置およびストレージ装置
US20130290977A1 (en) * 2012-04-26 2013-10-31 Siemens Aktiengesellschaft Computational Resource Allocation System And A Method For Allocating Computational Resources For Executing A Scene Graph Based Application At Run Time
WO2013171787A2 (en) * 2012-05-15 2013-11-21 Hitachi, Ltd. File storage system and load distribution method
CN103019861A (zh) * 2012-12-11 2013-04-03 华为技术有限公司 虚拟机分配方法及装置
US10007323B2 (en) 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US10088914B2 (en) * 2013-06-13 2018-10-02 Microsoft Technology Licensing, Llc Modifying input delivery to applications
US9961233B2 (en) * 2014-03-14 2018-05-01 Canon Kabushiki Kaisha Information processing apparatus, method for controlling information processing apparatus, and storage medium to display an initial screen
WO2016027452A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 解析制御装置、解析制御方法及び記録媒体
US9928183B2 (en) 2014-09-26 2018-03-27 Ampere Computing Llc Priority framework for a computing device
CN104484220B (zh) * 2014-11-28 2017-12-22 杭州华为数字技术有限公司 虚拟化集群的动态资源调度的方法及装置
CN110959145A (zh) * 2017-08-22 2020-04-03 英特尔公司 用于计算机设备的基于应用优先级的功率管理
KR102092948B1 (ko) * 2017-09-14 2020-03-24 주식회사 케이티 앱의 리소스를 관리하는 서버 및 사용자 단말
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
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
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads 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
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
KR102420667B1 (ko) * 2017-12-15 2022-07-14 현대자동차주식회사 단말기, 차량 및 그 제어방법
CN109117249A (zh) * 2018-07-27 2019-01-01 郑州云海信息技术有限公司 一种提升存储虚拟化系统性能的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165859A (ja) * 1997-08-11 1999-03-09 Tec Corp 業務プログラム管理方法及び装置並びに業務プログラム管理用プログラムを記録した記録媒体
JP2006113828A (ja) * 2004-10-15 2006-04-27 Hitachi Ltd 作業負荷管理可能なクラスタシステム
JP2006236351A (ja) * 2005-02-22 2006-09-07 Microsoft Corp リソース管理方法およびシステム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898564B1 (en) * 2000-05-23 2005-05-24 Microsoft Corporation Load simulation tool for server resource capacity planning
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
US7158972B2 (en) * 2001-12-11 2007-01-02 Sun Microsystems, Inc. Methods and apparatus for managing multiple user systems
JP2003256310A (ja) * 2002-03-05 2003-09-12 Nec Corp サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
US20050050200A1 (en) * 2003-09-02 2005-03-03 Kabushiki Kaisha Toshiba Computer system and cluster system program
US7818745B2 (en) * 2003-09-29 2010-10-19 International Business Machines Corporation Dynamic transaction control within a host transaction processing system
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
US7296133B2 (en) * 2004-10-14 2007-11-13 International Business Machines Corporation Method, apparatus, and computer program product for dynamically tuning amount of physical processor capacity allocation in shared processor systems
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
FR2879881A1 (fr) * 2004-12-20 2006-06-23 France Telecom Systeme de procede de gestion des ressources d'un reseau mobile large bande comportant des acces fixes prolonges par des bornes d'acces de reseau local sans fil
US8024736B1 (en) * 2005-01-28 2011-09-20 Hewlett-Packard Development Company, L.P. System for controlling a distribution of unutilized computer resources
US8104033B2 (en) * 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
JP4377369B2 (ja) * 2005-11-09 2009-12-02 株式会社日立製作所 リソース割当調停装置およびリソース割当調停方法
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US7814498B2 (en) * 2006-05-01 2010-10-12 Microsoft Corporation Loading application resources
US20080127220A1 (en) * 2006-06-30 2008-05-29 Robert Paul Morris Methods, systems, and computer program products for creating an input-value-specific loadable instance of an application
US8479213B2 (en) * 2007-01-25 2013-07-02 General Electric Company Load balancing medical imaging applications across healthcare imaging devices in reference to projected load based on user type
US8589862B2 (en) * 2008-06-02 2013-11-19 Microsoft Corporation Application loading

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165859A (ja) * 1997-08-11 1999-03-09 Tec Corp 業務プログラム管理方法及び装置並びに業務プログラム管理用プログラムを記録した記録媒体
JP2006113828A (ja) * 2004-10-15 2006-04-27 Hitachi Ltd 作業負荷管理可能なクラスタシステム
JP2006236351A (ja) * 2005-02-22 2006-09-07 Microsoft Corp リソース管理方法およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175204A (ja) * 2018-03-29 2019-10-10 富士通株式会社 誤差補正方法、分散処理システムおよび情報処理装置
JP7017112B2 (ja) 2018-03-29 2022-02-08 富士通株式会社 誤差補正方法、分散処理システムおよび情報処理装置

Also Published As

Publication number Publication date
EP2414934A2 (en) 2012-02-08
CA2753714A1 (en) 2010-10-14
WO2010117691A3 (en) 2011-01-13
KR101606613B1 (ko) 2016-03-25
CA2753714C (en) 2017-04-04
KR20120017411A (ko) 2012-02-28
US20100251253A1 (en) 2010-09-30
CN102378962A (zh) 2012-03-14
EP2414934A4 (en) 2014-05-28
JP5680619B2 (ja) 2015-03-04
US20140157281A1 (en) 2014-06-05
US8595740B2 (en) 2013-11-26
WO2010117691A2 (en) 2010-10-14
EP2414934B1 (en) 2018-07-11
US9274844B2 (en) 2016-03-01

Similar Documents

Publication Publication Date Title
JP5680619B2 (ja) 優先度ベースのシステム負荷レベルを管理するためのシステムおよび方法
US9542223B2 (en) Scheduling jobs in a cluster by constructing multiple subclusters based on entry and exit rules
Park et al. Locality-aware dynamic VM reconfiguration on MapReduce clouds
US8261281B2 (en) Optimizing allocation of resources on partitions of a data processing system
US7665090B1 (en) System, method, and computer program product for group scheduling of computer resources
US20140244848A1 (en) Fulfillment of requests for computing capacity
US10333859B2 (en) Multi-tenant resource coordination method
US20100115510A1 (en) Virtual graphics device and methods thereof
US20170149876A1 (en) Minimizing service restart by optimally resizing service pools
US20120066688A1 (en) Processor thread load balancing manager
US11321123B2 (en) Determining an optimum number of threads to make available per core in a multi-core processor complex to executive tasks
KR20210095690A (ko) 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
CN109976907B (zh) 任务分配方法和系统、电子设备、计算机可读介质
CN102473106A (zh) 虚拟环境中的资源分配
Weng et al. Beware of Fragmentation: Scheduling {GPU-Sharing} Workloads with Fragmentation Gradient Descent
CN103297499A (zh) 一种基于云平台的调度方法及系统
US20140115593A1 (en) Affinity of virtual processor dispatching
US20210365301A1 (en) System and method for power and thermal management of disaggregated server subsystems
US20110153971A1 (en) Data Processing System Memory Allocation
US10896062B2 (en) Inter-process memory management
CN116578416B (zh) 一种基于gpu虚拟化的信号级仿真加速方法
US8245229B2 (en) Temporal batching of I/O jobs
JP2010097566A (ja) 情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法
WO2010037720A1 (en) Delegated virtualization in a multi-core processor (mcp)
CN109032523B (zh) 一种磁盘设备驱动方法、系统、装置及可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130313

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150107

R150 Certificate of patent or registration of utility model

Ref document number: 5680619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250