JP2009537894A - 作業負荷特性に基づいたホストへの仮想マシンのデプロイ - Google Patents

作業負荷特性に基づいたホストへの仮想マシンのデプロイ Download PDF

Info

Publication number
JP2009537894A
JP2009537894A JP2009510941A JP2009510941A JP2009537894A JP 2009537894 A JP2009537894 A JP 2009537894A JP 2009510941 A JP2009510941 A JP 2009510941A JP 2009510941 A JP2009510941 A JP 2009510941A JP 2009537894 A JP2009537894 A JP 2009537894A
Authority
JP
Japan
Prior art keywords
candidate
host
rating
resource
resources
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
JP2009510941A
Other languages
English (en)
Other versions
JP5162579B2 (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 JP2009537894A publication Critical patent/JP2009537894A/ja
Application granted granted Critical
Publication of JP5162579B2 publication Critical patent/JP5162579B2/ja
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

候補VMを候補ホストにデプロイすべきかどうかを判定するため、候補ホストから利用可能なリソースと候補VMにより必要とされるリソースとを考慮して、候補ホストから利用可能な幾つかのリソースの各々に対してサブレーティングを計算する。この場合、リソースに対するサブレーティングは、候補VMを候補ホストにデプロイした後に空いているリソースの量に対応する。その後、計算したサブレーティングからレーティングを計算して、候補ホストがどの程度良く候補VMを収容できるかを特徴付ける。候補ホストに対するレーティングをセレクタに提示する。そのセレクタは、候補VMを候補ホストにデプロイすべきかどうかをそのレーティングに基づいて判定する。

Description

本発明は、複数ホストの各々の作業負荷特性と同様、仮想マシンの作業負荷特性とに基づいて、仮想マシンに対するホストを選択することに関する。同様に、本発明は、物理マシンの仮想マシンとしての仮想化およびホストへのデプロイを行うべきかどうか、または行いうるかどうかを、一般的なホストの作業負荷特性と上記の物理マシンの作業負荷特性に基づいて決定することに関する。
理解されるべきであるが、仮想マシン(VM:virtual machine)は、ハードウェアシステムをエミュレートするために、コンピューティング装置等(即ち、ホスト)の上で動作するソフトウェア構成等である。必ずしも必要ではないが、一般に、VMはアプリケーション等であり、ホスト上で使用して使用アプリケーション等を具現化することができ、一方で同時に上記使用アプリケーションを上記ホスト装置または上記ホスト上の他のアプリケーションから隔離することができる。1つの一般的な状況では、ホストは複数のデプロイされたVMを収容することができ、それぞれのVMはホストから利用可能なリソースにより幾つかの所定の機能を実施することができる。それぞれのVMは仮想的な形ではあるが実質的にコンピューティング装置であり、従ってその使用アプリケーションおよび外部の両方に対して自身をそのように表現している。
必ずしも必要ではないが、一般に、ホストはそのそれぞれのVMを別々のパーティションにデプロイする。上記のホストは、監督アプリケーションまたは「ハイパバイザ」として動作するVMモニタ等を有する仮想化層を含むことができる。この場合、仮想化層はホストの各VMの監督機能を監督および/または管理し、それぞれのVMと外部との間の可能なリンクとして動作する。
VMの特徴の1つは、仮想的な構成としてのVMを自由に停止および再起動できること、ならびに停止しているVMをファイル等のように記憶および取り出しできることである。特に、特定のコンピューティング装置上に具現化したVMは、きれいにパッケージ化できる単一のソフトウェア構成である。なぜならば、そのソフトウェア構成は、上記VMに関する動作データおよび状態情報を含む、上記VMに関する全てのデータを含むからである。結果として、第1のホストでVMを停止し、停止したVMを第2のホストに移動して、第2のホストで移動したVMを再起動すること、等により、第1のホスト上のVMを第2のホストに移動または「マイグレード」することができる。より一般的には、VMを第1のプラットフォームから第2のプラットフォームに同様にマイグレードすることができる。この場合、プラットフォームは異なるホスト、同一ホストの異なる構成、等を表す。後者の場合、理解されるべきであるが、例えばメモリを追加した場合、プロセッサを変更した場合、追加の入力装置を与えた場合、選択した装置を取り外した場合、等にはコンピューティング装置は異なる構成を有してもよい。
VMによる仮想化を使用して、相対的に強力なコンピュータシステムを、独立な、孤立したVMの集合に対するホストとして動作させることができる。従って、ホスト上のVMは同一のハードウェアプラットフォーム上で共存し、それぞれのVMがホストから利用できるリソース、およびホスト経由で利用できるリソースに対してあたかも排他的なアクセスを有するかのように動作する。従って、仮想化によりそれぞれのホストを最適に使用することができ、要求、ニーズ、要件、容量、可用性、および他の一般的な制約に基づいて、一連のホスト/プラットフォームの間でVMをマイグレードすることができる。
仮想化により、それぞれがアプリケーションを動作させている物理マシンを有するユーザは上記のアプリケーションを一連のホストに統合して、それにより全体のハードウェアニーズを削減することもできる。従って、1例に過ぎないが、それぞれがサーバ等として動作する複数の物理マシンを有するユーザは、それぞれの物理サーバをVMに仮想化できること、および複数の上記VMが1つのホスト上に存在可能なことがわかるであろう。多種多様ではあるが、上記のVMにより1つのホストが5個または10個またはそれ以上の物理マシンに相当するものを収容できることは珍しくない。要約すると、仮想化の結果、ユーザは既存のハードウェアを、そのハードウェアを非常に高い割合で利用することでさらに活用することができる。実際、物理サーバをデプロイすると一般的なユーザは利用可能なハードウェアリソースの約15パーセントしか平均して利用できないので、VMの収容に関連する予約容量とオーバヘッドを考慮して、仮想化を使用して3倍、4倍、および恐らく5倍、6倍の上記利用率の増大をもたらすことがでる。
より具体的には、一般的なユーザは、基盤ハードウェアを十分に利用しない様々な作業負荷を実行する多数のサーバマシン等を有する。さらに、ハードウェアには寿命に近いものがあり、その既存のハードウェアが十分に利用されていないときにそのハードウェアをより最新で高速なシステムにアップグレードすることが当然であるとするのは難しいかもしれない。従ってユーザは、仮想化を使用して、サーバマシン等をVMとして一連のホストに統合するソリューションを可能とすると得であろう。しかしながら、重要なこととして、上記のユーザには、仮想化すべきサーバマシン等の選択と、それぞれのVMを収容すべきホストの選択とをガイドできる管理ツールが必要である。
換言すれば、ユーザには、サーバマシン等をVMとして一連のホストに配置することをガイドできる管理ツールが必要である。一般に、デプロイメントは、定義した作業負荷と、その作業負荷をサービスする一連の互換性のある物理リソースとを効率的にマッチすることを扱う。デプロイメントが非効率的であるか、または要件に対するリソースの互換性のないマッチを考慮する場合は、ハードウェア利用を最適化するという目標は実現不可能でないとしても困難となる。従って、本発明は互換性があって効率的なデプロイメントを容易にし、ネットワーク、記憶、ライセンス、計算能力、メモリ、等を含むリソース要件を考慮している。
本発明では、候補VM(virtual machine)と、その候補VMがデプロイされうる候補ホストコンピューティング装置(ホスト)に関するシステムおよび方法を提供する。上記システムおよび方法は、候補VMを候補ホストにデプロイすべきかどうかの決定を支援するものであり、候補ホストから利用可能なリソースと候補VMが必要とするリソースとを考慮する。
候補ホストから利用できる幾つかのリソースの各々に対してサブレーティングを計算する。この場合、リソースに対するサブレーティングは、候補VMを候補ホストにデプロイした後に空いているリソースの量に対応する。その後、候補ホストが候補VMをどの程度良く収容できるか特徴付けのため、計算したサブレーティングからレーティングを計算する。それぞれの候補ホストに対するレーティングをセレクタに提示する。セレクタは、候補VMを候補ホストにデプロイすべきかどうかを、そのレーティングに基づいて決定する。候補ホストの選択結果は候補VMをデプロイするために受信され、候補VMにより必要とされる選択したホストのリソースは、その候補VMがその選択したホストにデプロイされるまで予約される。その後、候補VMは選択したホストにデプロイされる。
上記の要約、および下記の本発明の実施形態の詳細な説明は、添付図面と関連して読むことにより、より良く理解されるであろう。本発明を例示するため、現段階で好適である実施形態を図面に示してある。しかしながら、理解されるべきこととして、本発明は示した配置と手段に正確に限定されることはない。
[コンピュータ環境]
図1および以下の議論は、本発明および/またはその一部を実装可能な適切なコンピューティング環境を簡潔で一般的に説明することを意図している。必ずしも必要ではないが、本発明を、プログラムモジュールのような、クライアントワークステーションまたはサーバのようなコンピュータにより実行されるコンピュータ実行可能命令の一般的な状況で説明する。一般に、プログラムモジュールには、特定のタスクを実施するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。さらに、本発明および/またはその一部を他のコンピュータシステム構成で実践してもよいことは理解されるべきである。その構成には、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等が含まれる。本発明を、通信ネットワークを介して接続したリモート処理装置によりタスクが実施される分散コンピューティング環境において実践することもできる。分散コンピューティング環境において、プログラムモジュールをローカルおよびリモートメモリ記憶装置の両方に配置することができる。
図1に示すように、例示的な汎用コンピューティングシステムは、パーソナルコンピュータ、サーバ、等のような従来のコンピューティング装置120を含む。コンピューティング装置120は、演算装置121、システムメモリ122、およびシステムメモリを含む様々なシステムコンポーネントを演算装置121に接続するシステムバス123を含む。システムバス123は、任意の種類のバス構造が可能である。そのバス構造には、メモリバス、またはメモリコントローラ、周辺バス、および任意の様々なバスアーキテクチャを使用するローカルバスが含まれる。システムメモリは、ROM(read−only memory)124およびRAM(random access memory)125を含む。BIOS(basic input/output system)126は、例えば起動時にパーソナルコンピュータ120内部の要素間での情報転送を支援する基本ルーチンを含み、ROM124内に記憶される。
パーソナルコンピュータ120は、さらに、ハードディスク(図示せず)を読み書きするハードディスクドライブ127、取り外し可能磁気ディスク129を読み書きする磁気ディスクドライブ128、およびCD−ROMまたは他の光媒体のような取り外し可能光ディスク131を読み書きする光ディスクドライブ130を含むことができる。ハードディスクドライブ127、磁気ディスクドライブ128、および光ディスクドライブ130をそれぞれ、ハードディスクドライブインタフェース132、磁気ディスクドライブインタフェース133、および光ドライブインタフェース134によりシステムバス123に接続する。ドライブおよびその関連コンピュータ可読媒体は、パーソナルコンピュータ120向けのコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶を与える。
本明細書で説明する例示的な環境ではハードディスク、取り外し可能磁気ディスク129、および取り外し可能光ディスク131を使用するが、コンピュータがアクセス可能なデータを記憶できる他種のコンピュータ可読媒体もその例示的な動作環境で使用できることは理解されるべきである。上記の他種の媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、RAM(random access memory)、ROM(read−only memory)、等が含まれる。
多数のプログラムモジュールをハードディスク、磁気ディスク129、光ディスク131、ROM124またはRAM125に記憶することができる。そのプログラムモジュールには、オペレーティングシステム135、1つまたは複数のアプリケーションプログラム136、他のプログラムモジュール137およびプログラムデータ138が含まれる。ユーザは命令および情報を、キーボード140およびポインティングデバイス142のような入力装置を介してパーソナルコンピュータ120に入力することができる。他の入力装置(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、等を含むことができる。これらおよび他の入力装置を、システムバスに接続したシリアルポートインタフェース146を介して演算装置121に接続することがよくあるが、パラレルポート、ゲームポート、またはUSB(univeral serial bus)のような他のインタフェースにより接続してもよい。モニタ147または他種のディスプレイ装置も、ビデオアダプタ148のようなインタフェース経由でシステムバス123に接続する。モニタ147に加えて、パーソナルコンピュータは、一般に、スピーカおよびプリンタのような他の周辺出力装置(図示せず)を含む。図1の例示的なシステムは、ホストアダプタ155、SCSI(Small Computer System Interface)バス156、およびSCSIバス156に接続した外部記憶装置162も含む。
パーソナルコンピュータ120は、リモートコンピュータ149のような1つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク環境で動作できる。リモートコンピュータ149は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードが可能であり、一般にパーソナルコンピュータ120に関して上述した要素の全てを含むが、メモリ記憶装置150のみを図1に示した。図1に示す論理接続はLAN(local area network)151およびWAN(wide area network)152を含む。上記ネットワーク環境は、職場、企業規模のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
LANネットワーク環境で使用するとき、パーソナルコンピュータ120をネットワークインタフェースまたはアダプタ153を介してLAN151に接続される。WANネットワーク環境で使用するとき、パーソナルコンピュータ120は一般にモデム154、または、インターネットのような広域ネットワーク152上で通信を確立する他の手段を含む。モデム154は、内部または外部で可能であるが、シリアルポートインタフェース146経由でシステムバス123に接続される。ネットワーク環境では、パーソナルコンピュータ120に関して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に記憶することができる。示したネットワーク接続は例であって、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されるであろう。
[ホストおよび仮想マシン]
図2を参照すると、本発明は、VM(virtual machine)12として仮想化され、またはそのように仮想化できる物理マシン10等の状況で、特に適用できることが分かる。VM12の各々は、適切な方法で任意の一連のホスト14にデプロイされる可能性がある。ここで、物理マシン10等、VM12およびホスト14は、本発明の精神および範囲から逸脱せずに、任意の適切なサーバマシン等、VM、およびホストで可能であることに留意されたい。上記のサーバマシン等、VM、およびホストは関連業界(relevant public)に既知であるか、または明らかなはずであり、従って本明細書では既に与えられている以上にさらに詳細に説明する必要はない。
上述したように、それぞれのVM12は、ホスト14へデプロイするときに対応する物理マシン10等をエミュレートするソフトウェア構成である。従って、VM12はホスト14のリソースを使用して、サーバを具現化するかまたは他の使用アプリケーション等を使用することができ、一方で同時に上記の使用アプリケーションを上記ホスト14から、および上記ホスト14上の他のアプリケーションから分離することができる。図示のように、ホスト14は複数のデプロイしたVM12を収容することができる。この場合、それぞれのVM12は独立して幾つかの所定の機能を実施する。例えば、ホスト14にデプロイしたVM12の少なくとも一部はデータサーバとして動作可能であり、上記VM12の少なくとも一部は、ホスト14に接続したネットワーク16に関してネットワークサーバとして動作可能であり、上記VM12の少なくとも一部は、メールサーバとして動作可能であり、上記VM12の少なくとも一部は、メンテナンス機能、データ収集、ハードウェアモニタリング、誤り訂正、ファイル管理、等を含む低レベル機能を実施することができる。特に、仮想的な形ではあるが、それぞれのVM12は実質的にコンピューティングマシンである。
ホスト14自体は、適切なコンピューティング装置で可能である。そのコンピューティング装置には、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、データアシスタント、メインフレームコンピュータ、あるいは1つまたは複数のVM12をホストするのに必要な機能性および容量を有する任意の他種のコンピュータ装置がある。しかしながら、それぞれのVMにはホスト14からの大量のメモリ、I/O操作、記憶容量、およびプロセッサ能力が必要であろうことを念頭におき、また、ホスト14は2、5、10、20個またはそれ以上のVM12を一度に収容することが期待される可能性があることを念頭におくと、ホスト14は実際に上記のVM12を収容できるために大量の性能とリソースを有すべきであろう。
それぞれの物理マシン10等に関して、最も一般的にはそれぞれのVM12はサーバのような物理マシン10に対応するが、本発明の精神および範囲から逸脱せずに、実際に任意の種類のコンピューティング装置に対応できることは理解されるべきである。従って、物理マシン10としてのサーバに加え、それぞれのVM12は任意の他種のアプリケーション型の物理マシンに対応することができる。その物理マシンには、任意のメンテナンスマシン、データ収集マシン、ハードウェアモニタリングマシン、誤り訂正マシン、ファイル管理マシン、等が含まれるがこれらに限らない。さらに、それぞれのVM12は任意のサブマシンレベルのアプリケーションに対応することもできる。そのアプリケーションには、ワードプロセッサ、スプレッドシートアナライザ、メールアプリケーション、データベースアプリケーション、ドローイングアプリケーション、コンテンツレンダリングアプリケーション、等が含まれる。
[仮想マシンのデプロイメントの評価]
物理マシン10等を仮想化するかどうかを決定する際に、ユーザは、(1)物理マシン10が仮想化に対する受入れ候補であるかどうかを判定し、(2)適切な候補に対して、物理マシン10をVM(virtual machine)12に変換する。物理マシン10のVM12への変換を、本発明の精神および範囲から逸脱せずに、任意の適切な方法で実施することができる。物理マシン10のVM12への変換は一般に関連業界に既知であって明らかなはずであるので、その変換に対する詳細は、提供するもの以外は本明細書では詳細に説明する必要はない。
いずれにせよ、物理マシン10に対応するVM12を生成すると、(3)1つまたは複数の候補ホスト14を、VMを効率的な方法および/または受け入れられる方法でデプロイ可能なホスト14として識別し、ならびに(4)上記VM12を選択した候補ホスト14にデプロイすることができる。特に、本発明を使用して、ステップ(1)およびステップ(3)での意思決定を支援することができる。即ち、本発明はシステムを提供し、そのシステムにより、物理マシン10をVM12として、仮想化してホスト14にデプロイすべきかどうか、またはそのようにできるかどうかを、一般的なホスト14の作業負荷特性と物理マシン10の作業負荷特性とに基づいて判定することができる。加えて、同じツールを使用して、1つまたは複数の候補ホスト14がVM12に対して受け入れられるかどうかを、再度それぞれの候補ホスト14の作業負荷特性と同様にVM12の特性とに基づいて決定することができる。
図3を参照する。本発明を実施するシステムを示す。そのシステムにおいて、分かるように、エバリュエータ18が候補VM12と少なくとも1つの候補ホスト14とのモデルに関するデータを受信し、それぞれの候補ホスト14が、その上にデプロイされる候補VM12を収容する容量を有するかどうかを判定する。物理マシン10をVM12として仮想化してホスト14にデプロイすべきかどうか、またはデプロイできるかどうかを判定する状況では、候補VM12は仮想化した物理マシン10を特性化したものであり、一方で単一の候補ホスト14は、VM12がデプロイされるホスト14を特徴付けることを意図した複合的なホスト14であることに留意されたい。上記の特性化したホスト14は、状況に応じて、平均的なホスト、最善のホスト、ハイアベレージホスト、等が可能であることに留意されたい。1つまたは複数の候補ホスト14がVM12に対して受け入れられるかどうかを決定する状況では、候補VM12は、複数の候補ホスト14のうち任意のものにデプロイされるVM12である。
いずれの事例でも、エバリュエータ18は候補VM12に対するモデルデータを受信する。そのモデルデータには、候補VM12に対する基準プロセッサ構成、および候補VM12に対して判定した作業負荷特性が含まれる。上記の基準プロセッサ構成は、例えば、候補VM12が、特定の利用可能なリソースを有し、特定の速度で動作する特定のプロセッサを有するもので可能である。候補VM12は、一般に関連モデルデータを有する。その関連モデルデータは、基準プロセッサ構成の状況では上記VM12の作業負荷の実行に必要な容量を指定し、例えば特定の基準プロセッサ上でVM12が負担することになるプロセッサ利用率を指定することができる。
上記作業負荷特性は、様々な因子に基づくことができ、従って、プロセッサ(例えば、利用率)、メモリ(単位時間あたりの利用可能量、読み書き量)、記憶容量(単位時間あたりの利用可能量、読み書き量)、ネットワーク16(使用可能帯域幅、単位時間あたりの読み書き、等)、等のような候補VM12の別リソースの利用に関する作業負荷の特性を含むことができる。勿論、上記作業負荷特性は、本発明の精神および範囲から逸脱せずに、ソフトウェアバージョン、組み込まれているハードウェア、等のような非利用因子を含む他の因子に基づくことができる。
また、作業負荷特性を、本発明の精神および範囲から逸脱せずに、他の表現で指定することができる。それに関連して、作業負荷を別の装置内で別のリソースに対して指定できることに留意されたい。例えば、プロセッサ負荷を利用率として指定することができ、一方でネットワーク負荷を、バイト/秒のネットワークトラフィック表現で指定することができる。記憶装置の負荷は記憶装置のスループット仕様を含むことができることにも留意されたい。そのスループット仕様には、VM12が単位時間あたりに実施したバイト数およびI/O演算の数が含まれる。ネットワーク負荷を必ずしもバンド幅で指定しなくともよいことにも留意されたい。なぜならば、ネットワークトラフィックがバンド幅に依存しないかもしれないからである。最後に、作業負荷を物理リソースの表現で指定することができることに留意されたい。いずれにせよ、作業負荷をどのように特徴付けても、エバリュエータ18は上記の特徴付けた作業負荷を、以下で説明する計算に従う形に適切に変換する。上記変換は関連業界に既知であって明らかなはずであるので、提供するもの以外は本明細書では詳細に説明する必要はない。
理解できるように、候補VM12に関するプロセッサ構成および作業負荷特性は実際には、候補VM12が仮想装置であるので仮想的な構成および特性である。それにも関わらず、上記の仮想的な構成および作業負荷特性を、少なくとも作業負荷特性の因子に関して、それぞれの候補ホスト14が要求するリソースの判定に適用できる。一般に、本発明では、エバリュエータ18は入力として、それが候補VM12または候補物理マシン10でも、作業負荷の表現方法を取る。いずれの事例でも、図3で分かるように、作業負荷を、データコレクタ20、データインタフェース22等により取得したデータに従ってエバリュエータ18に対して記述してある。図3に関して、必ずしも上記のデータを、候補物理マシン10から得た候補VM12から得る必要はなく、候補物理マシン10から直接得ることができることに留意されたい。
同様に、エバリュエータ18はさらにそれぞれの候補ホスト14に対してモデルデータを受信する。そのモデルデータには、候補ホスト14に対する実際のプロセッサ構成、およびそれぞれの候補ホスト14に対する実際の作業負荷特性が含まれる。前と同様に、上記の実際のプロセッサ構成は、例えば、候補VM12を上記候補ホスト14にデプロイする前に利用可能であった特定のリソースを有し特定の速度で動作する特定のプロセッサを、候補ホスト14が有することが可能である。ここで、実際の作業負荷特性は、候補VM12の作業負荷特性と同じ因子に基づき、従って、プロセッサ、メモリ、記憶容量、ネットワーク16、等のような候補ホスト14の別リソースの利用に関する実際の作業負荷の特性を含むことができる。
それぞれの候補ホスト14および候補VM12に関して、作業負荷特性の因子に対するデータの少なくとも一部をデータコレクタ20等により履歴ベースで、候補ホスト14の動作中、VM12の動作中、VM12に対応する物理マシンの動作中、等に取得できることに留意されたい。理解できるように、上記の履歴データコレクタ20は、本発明の精神および範囲から逸脱せずに、任意の適切な方法で動作することができる。上記データを収集する1つの方法を以下で説明する。上記の履歴データコレクタ20は関連業界に既知であって明らかなはずであるので、本明細書では詳細に説明する必要はない。
作業負荷特性の因子に対する実際のデータの少なくとも一部を、候補ホスト14からデータインタフェース22等により、候補ホスト14の動作中に現在データとして取得できることにも留意されたい。理解できるように、上記データインタフェース22は、本発明の精神および範囲から逸脱せずに、任意の適切な方法で動作することができる。上記インタフェース22は関連業界に既知であって明らかなはずであるので、本明細書では詳細に説明する必要はない。少なくとも幾つかの状況では、同様なデータインタフェース22を使用して、候補VM12に関する少なくとも幾つかの現在データを取得できることにも留意されたい。例えば、上記インタフェース22は、上記現在データを、候補VM12に対応する物理マシン10から、または既に幾つかのホスト14上で動作中の場合は候補VM12から、収集することができる。
原則として、および本発明の一実施形態では、エミュレータ18はそれぞれの候補ホスト14に関するレーティングを出力するように動作する。そのレーティングは、候補VM12を上記候補ホスト14にデプロイできるかどうか、およびそうならば候補ホスト14がどの程度良く候補VM12を収容できるかどうかを特徴付ける。一般に、上記レーティングは、構成および作業負荷特性に基づいて、候補ホスト14がその上にデプロイされる候補VM12を収容する容量を有するかどうか、およびそうならば相対的な表現でどの位容量があるのかを反映する。例えば、レーティングを0から5の間の数字として出力することができる。0は容量なしを意味し、5は最大容量を意味し、中間の値は容量の相対的に中間にある量を意味する。
本発明の一実施形態では、エバリュエータ18はハード要件とソフト要件に基づいて動作する。ハード要件は、候補VM12を候補ホスト14にデプロイするために満たさなければならない要件として定義されるであろう。例えば、候補VM12が候補ホスト14上に2ギガバイトの記憶空間を必要とし、候補ホスト14が1ギガバイトしか利用できない場合、候補VM12を上記候補ホスト14にデプロイすべきではない。一般に、ハード要件は、それぞれの候補ホスト14からのデータインタフェース22により取得される実際のデータに基づいて評価される。上記ハード要件の例は、一般に上述した作業負荷因子に関する容量に従い、従って、以下を含むことができるがこれらに限定されない。
−プロセッサ能力 − 候補ホスト14は、候補VM12の要件を満たすために十分なプロセッサ可用性を有さなければならず、さらにマルチプロセッサの候補VM12は、適切なバージョンの仮想化ソフトウェアを実行している候補ホスト14上でのみ実行することができる。
−記憶容量 − 候補ホスト14は、候補VM12を記憶し、候補VM12にサービスするのに十分な空き記憶容量と関連する記憶リソースとを有さなければならない。
−メモリ容量 − 候補ホスト14は、候補VM12をデプロイした際に候補VMを実行可能とするのに十分なメモリを有さなければならない。
−ネットワーク容量 − 候補ホスト14は、候補VM12が要求した際にネットワーク16へのアクセスに利用できる十分なネットワーク帯域幅を有さなければならない。
上の全てが実際にあらゆる状況におけるハード要件であるわけではない。1例として、十分な能力がないことによる性能劣化が受け入れられると考えられる場合、プロセッサ能力はハード要件である必要はない。別の例として、十分な容量がないことによる性能劣化が受け入れられると考えられる場合、ネットワーク容量は同様にハード要件である必要はない。
ソフト要件は、任意の特定の候補ホスト14にデプロイする際に、候補VM12からの良好なまたは受け入れられるレベルの性能を実現するために満たすべき要件として定義されるであろう。即ち、ソフト要件を満たすべきであるが、満たされない場合は、デプロイした候補VM12はなお動作するがサービスのレベルは劣化する。
候補VM12に関してそれぞれの候補ホスト14に対する前述のレーティングを生成する前に、図4を参照すると、本発明の一実施形態におけるエバリュエータは以下を含む機能を実施する。
−候補VM12のプロセッサ利用率を、それと等価な候補ホスト14のプロセッサのプロセッサ利用率に再調整すること(ステップ401)。例えば、候補VM12がそのプロセッサの20%を必要とするが候補ホスト14のプロセッサがより高速であることが分かった場合、候補VM12は上記候補ホスト14の上記プロセッサの8%のみを必要とするかもしれない。理解されるべきであるが、再調整は、候補VM12が必要とするプロセッサ利用率と候補ホスト14で利用可能なプロセッサ利用率とを等価な装置内で比較するために必要である。理解できるように、上記の再調整を、本発明の精神および範囲から逸脱せずにエバリュエータ18により、任意の適切な方法で実施することができる。例えば、候補VM12のプロセッサと候補ホスト14のプロセッサの等価なランキングを参照することができる。プロセッサの性能ランキングは、エバリュエータ18がデータコレクタ20から受信したモデルデータの一部でなくともよい。代わりに、エバリュエータ18は性能ランキングを含むプロセッサ構成のライブラリを保持することができる。そのライブラリが評価中のプロセッサを含まない場合、上記プロセッサに対するランキングを、そのライブラリ内の同様なプロセッサ構成のランキングを考慮したアルゴリズムを使用して近似することができる。
−仮想化オーバヘッドの考慮(ステップ403)。特に、物理マシン10をVM12に仮想化するとき、ホスト14はVM12を収容する際に、VM12に対する容量だけでなく、VM12の仮想化に関連する追加作業または「オーバヘッド」に対する容量も有さなければならないことは理解されるべきである。上記オーバヘッドは、任意のVM12に存在し、装置のエミュレーション、リソース分割、およびVM12の仮想化を実現するのに費やすべき他のリソースから生ずる。理解できるように、オーバヘッドの量は候補VM12に関連しうる作業負荷のタイプに依存して変化する。例えば、候補VM12がネットワーク16へのアクセスを必要とする場合、オーバヘッドを消費して仮想的なネットワーク要求を実際の要求に変換しなければならない。同様に、候補VM12が記憶装置に対するアクセスを必要とする場合、オーバヘッドを消費してディスク要求を実際の要求に変換しなければならない。いずれにせよ、オーバヘッドをエバリュエータ18により適切な因子に基づいて特徴付けることができる。その因子には、例えば、候補VM12が実施すべき作業のタイプ、予想されるディスク要求の数、予想されるネットワーク要求の数、予想されるグラフィック要求の数、メモリアクセスの数、プロセッサ例外の数、実行プロセスの数、等がある。理解できるように、オーバヘッドの考慮を、本発明の精神および範囲から逸脱せずにエバリュエータ18により任意の適切な方法で実施することができる。
−調整後およびオーバヘッドを考慮した後に候補ホスト14上の候補VM12の実行をシミュレートすること(ステップ405)。特に、エバリュエータ18は利用パラメータ付きの「ダミーVM」12を候補ホスト14に配置する。ダミーVM12は、デプロイした候補VM12と少なくとも大よそ対応し、候補ホスト14上で動作して、候補ホスト14が上記ダミーVM12を受け入れられる程度に収容するかどうかを判定する。上記ダミーVM12による上記シミュレーションを実施して、候補ホスト14が、少なくともダミーVM12が示すように候補VM12を実際に収容可能であることの確認を試行する。本質的には、ダミーVM12を候補ホスト14に配置することで、ダミーVM12を通した候補VM12のリソース要件を候補ホスト14上の現在のリソース利用と組合せて、候補VM12を候補ホスト14に配置することから生ずるリソース利用を生み出す。
候補ホスト14上に配置したダミーVM12を実際にデプロイでき、または交互に概念的にデプロイできることに留意されたい。特に後者の場合に関して、ダミーVM12を実際に配置/デプロイすることは受け入れられない恐れがある。なぜならば、上記ダミーVM12は候補ホスト14の実際のリソースを使用し、従って実際の作業を実施している上記候補ホスト14にある他のVM12等に影響を及ぼす可能性があるからである。代わりに、計算による概念的なデプロイメントを実施することができ、その実施において候補VM12の性能要件と候補ホスト14の性能特性を組み合わせて、候補ホスト14側の利用を、候補ホスト14にデプロイした上記候補VM12により計画する。
前述の仮想化オーバヘッドに関して、上記オーバヘッドは非常に変化し易く候補VM12の作業負荷タイプに依存するので、本発明の一実施形態において一定のベンチマーク作業負荷集合を、作業負荷のそれぞれのタイプに対して定義できることにさらに留意されたい。上記作業負荷タイプおよび対応するベンチマークは、データベースサーバ、ウェブサーバ、および端末サーバを含むことができるがこれらに限定されない。それぞれの作業負荷タイプは、その作業負荷タイプに関連するプロセッサ、メモリ、記憶装置、ネットワークのオーバヘッド等の予測を可能とする特定の特性を有する。一般に、作業負荷がより記憶集約的およびネットワーク集約的になると、上記のリソースの仮想化コストのため、より多くのプロセッサオーバヘッドが発生する。
また、仮想化オーバヘッドの見積もりをさらに洗練できることに留意されたい。特に、プロセッサコストを、候補VM12と候補ホスト14との間で転送される1バイトのネットワークおよびディスクIOに関連付けることができる。データコレクタ20から受信したモデルデータにディスクおよびネットワークIO作業負荷が含まれる場合、エバリュエータ18は1バイトに対するプロセッサコストを上記作業負荷に適用して、プロセッサオーバヘッド全体を取得することができる。プロセッサコストを評価中のプロセッサと異なるプロセッサから取得する場合、コストをステップ401で説明したものと同様に再調整することができる。上記の再調整により、様々なプロセッサ構成に渡るモデル仮想化オーバヘッドに必要な労力が削減される。
上述したそれぞれの候補ホスト14に対するエバリュエータ18の出力は、候補VM12が必要とするリソースと候補ホスト14で候補VM12を仮想化するのに必要なオーバヘッドとを考慮した、候補ホスト14がどれくらい候補VM12を良く収容できるかを特徴付けるレーティングである。本発明の一実施形態では、上記のレーティングを以下の方法でエバリュエータ18により計算する。
先ず、前述のハード要件のいずれも満たされず候補ホスト14が利用可能な要求リソースを十分に有さない場合、レーティングは0である。さらに、候補VM12が候補ホスト14で任意のリソースを使用することにより、候補ホスト14が上記リソースの使用に対して設定した閾値を超過する場合、レーティングは0である(ステップ407)。以下でさらに詳細に説明するように、候補ホスト14にあるそれぞれのリソースは所定の利用閾値を有する。その閾値を超える使用は推奨されない。従って、上記の閾値は、実際に予測より高い使用状況を処理するために候補ホスト14が利用可能であるべき予約リソースを定義する。候補VM12により候補ホスト14がハード要件または閾値に違反するのでレーティングが0に設定される場合、プロセスはここで停止する。そうでなければ、プロセスはレーティングに対する値を計算することで継続する(ステップ409)。
本発明の一実施形態において、サブレーティングを、候補ホスト14にある幾つかのリソースの各々に対して計算する(ステップ411)。上記のリソースは、本発明の精神および範囲から逸脱することなく、例えば、プロセッサの利用、メモリの利用、記憶装置の利用、ネットワークの利用、等のような任意のリソースが可能である。
それぞれのリソースに対するサブレーティングを、リソースに対して設定した閾値、収集したデータに基づいてリソースに対して計算した利用率、およびリソースに割り当てた重みに基づいて、以下のように計算する。
サブレーティング=(閾値−利用率)×重み
本発明の精神および範囲から逸脱せずに、閾値および重みを任意の適切な因子に基づいて管理者等により選択することができる。閾値は、上述の閥値であり、パーセントとして表すことができ、リソースに対して定義した前述の予約に対応する。上記の予約は幾分任意に定義することができるが、一般にはその環境下での追加容量を合理的に和らげるものを与えるように設定すべきである。例として、リソースが候補ホスト14の記憶である場合、予約を候補ホスト14の記憶容量である20%と定義することができ、この場合、閥値は80%である。同様に、例えば15パーセントを予約すると閾値は85パーセントに設定されるであろう。重みは、レーティング全体を計算するときに、他のリソースと比較してリソースをより重視するか、またはあまり重視しないように動作する。従って、全てのリソースが等しく重要であると考えられる場合、上記のリソースに全て等しい重み、例えば5を与えることができる。従って、或るリソースが別のものより2倍重要であると考えられる場合、その或るリソースにその別のリソースの2倍の重み、例えばそれぞれ6と3を与えることができる。
リソースに対する利用率を、場合によってはデータコレクタ20および/またはデータインタフェース22により収集した対応データに基づいて計算し、再び場合によっては、ステップ401およびステップ403でのようにオーバヘッドに対して調整および/または調節しておくことができることが重要である。エバリュエータ18により実施される上記利用率の計算を、本発明の精神および範囲から逸脱せずに、任意の適切な方法で実施することができる。一般に、候補ホスト14の任意の特定のリソースに対して計算される利用率は、候補VM12を候補ホスト14にデプロイしている間、および候補ホスト12がデプロイされる前に実施された全ての他の機能を候補ホスト14が実施している間に、候補ホスト14により割合として利用されるリソース量を表す。従って、例えば、候補VM12の前に候補ホスト14が利用可能なネットワーク容量のうち20パーセントを利用していた場合、および候補ホスト12のデプロイ後に候補ホスト14が上記利用可能なネットワーク容量の45パーセントを利用すると計画する(即ち、さらに25パーセントが候補VM12に属する)場合、候補ホスト14に対するネットワークリソースの利用率は45パーセントの値である。
図5に利用率を図式で示す。特に、図示したように幾つかの特定のリソースに対して、候補VM12をデプロイする前の候補ホストは、既存のホストを利用する。その既存のホスト利用は25パーセントであると示してあり、これは上記候補ホスト14に既にデプロイした他のVM12と同様全ての他のホスト動作とを表す。候補VM12のデプロイ後、および図示するように、候補VM12による追加利用は、40パーセントと決定されており、その結果、全体で65パーセントの利用率となる。上記リソースに対して、20パーセントの予約を設定してあり、図示するように、結果として、閾値は80パーセント(100−20)となり、候補VM12のデプロイ後にリソースの15パーセント(80−65)が空いた状態となる。従って、上記リソースに対するサブレーティングは80パーセントの閾値から65パーセントの総利用を減じたもの、即ち15パーセントの空きに、リソースに対して設定した重みを乗じたものになるであろう。要するに、任意のリソースの利用率は、上記リソースを有する候補ホスト14に候補VM12をデプロイした後に空いているリソースのパーセントに最も密接に対応する。
いずれにせよ、サブレーティングを候補ホスト14のそれぞれの考えうるリソースに対して計算したならば、上記のサブレーティングを合成して、候補ホスト14に対するレーティングを以下のように生成する(ステップ413)。
レーティング=サブレーティングの合計/サブレーティングの重み合計/正規化値
レーティングはその追加の値を決して下回らないよう、追加の値を、例えば0.5をレーティングの計算に対して加えても良いことに留意されたい。上記のレーティングを0.5に最も近いように丸めることができ、結果は0と5のような最大値との間の数値となる。理解できるように、正規化値は、レーティングの範囲を0と最大値の間に制限するように選択してある。例えば、サブレーティングの合計/サブレーティングの重み合計がその最大値であり、最大レーティングが5であるべきである場合、正規化値は20、即ち100/5であろう。
勿論、それぞれの候補ホスト14とそのサブレーティングに対するレーティングを、本発明の精神および範囲から逸脱せずに、任意の他の適切な方法で計算することもできる。勿論、そのレーティングが、候補ホスト14が、候補ホスト14にデプロイする際に候補VM12をどの程度良く収容できるかを合理的に表すことを仮定し、候補ホスト14に既にデプロイした全ての他のVM12と候補ホスト14により既に実施された他の動作を考慮している。例えば、ここでのレーティングは、実際に候補VM12をデプロイした後に候補ホスト14が有する空きリソース量を重視するが、上記のレーティングは、代わりに候補ホスト14で使用される空きリソース量を重視してもよい。
エバリュエータ18が候補VM12に対するそれぞれの候補ホスト14に対してレーティングを計算した後、エバリュエータはレーティングを管理者等に提示できる(ステップ415)。その後、管理者は評価した候補ホスト14から選択することができる(ステップ417)。管理者は2つのデプロイメント戦略、即ち、負荷配分とリソース利用のうち1つに基づいて候補ホスト14から選択するであろうことに留意されたい。負荷配分では、管理者は、最終的にVM12をデプロイしている全てのホスト14がバランスの取れた方法で大よそ同じ負荷でそれを行うように、上記デプロイメント後の大部分のリソース(即ち、空きリソース)で候補ホスト14に候補VM12をデプロイすることを試行する。対照的に、リソース利用では、管理者はそれぞれのホスト14の利用を最大化することを試行しており、従って候補VM12を、上記デプロイメント後に最小リソース(即ち、空きリソース)で候補ホスト14にデプロイすることを望むであろう。
従って、負荷配分ではデプロイメント後に全てのホスト14を等しく利用された状態にすることを試行し、リソース利用では、次のホスト14の使用開始に移る前に或るホスト14上の利用可能な全てのリソースを使い切ることを試みる。理解されるべきであるが、上で計算したレーティングは候補ホスト14の空きリソースを重視するので、負荷配分を実施する管理者は最高レーティングの候補ホスト14を、候補VM12のデプロイ先として選択する可能性がある。その候補ホスト14は定義により、相対的な意味で上記デプロイメント後に最も多い空きリソースを有するであろう。対照的に、リソース利用を実施している管理者は、零でない最小評価の候補ホスト14を、候補VM12のデプロイ先として選択する可能性がある。その候補ホスト14は定義により、相対的な意味で、上記デプロイメント後に最少の空きリソースを有するであろう。
候補ホスト14を選択すると、リソースの予約を、恐らく選択したホスト14に対して生成およびデプロイされる予約VM12により、選択したホスト14で行うことができる(ステップ419)。理解できるように、予約VM12は、実体的な機能性またはコンテンツが全くない「シェル」VM12である。上記予約VM12は候補VM12のハードウェア構成およびリソース要件を記述するが、候補VM12のメモリ、データ、および記憶装置は省略されている。理解できるように、特にある特定のデプロイメント要件が基盤仮想化ソフトウェアのみに既知であって、エバリュエータ18には既知でない可能性があり、デプロイメント要件は異なるバージョン、リリース、または異なるベンダの仮想化システム間で異なる可能性があるので、予約VM12は候補VM12のデプロイメントが実際に可能であることの重要な検証を与える。さらに、一般的なVM12は相対的に大規模、恐らく数ギガバイト以上の規模である可能性があるので、上記VM12をホスト14に、特に低速ネットワーク16上でコピーすると、それ以上でないにしても数時間かかる恐れがある。従って、予約VM12は非常に迅速にデプロイされ、従って候補VM12が実際に選択したホスト14にデプロイされている時間中に候補VM12に対するホストリソースを予約するよう動作する(ステップ421)。ステップ419にあるリソースの予約を、候補VM12のデプロイメントがリソースの点で使用するものをさらなるデプロイメントが考慮するように、選択したホスト14からリソースの使用を借りることにより実現することもできることに留意されたい。
これまで本発明を個々の候補ホスト14の点で説明してきたが、本発明をホストグループ等に関して同様に実践することもできる。理解できるように、ホストグループはホスト14の集合であり、そのうちの任意のものは、実際に上記ホストグループにデプロイされる場合は特定の候補VM12を収容することができる。しかしながら、ホストグループに対するリソースを少々異なる方法、例えばホストグループの平均的な表現に基づいて、またはホストグループの集合的な表現に基づいて、またはグループの最小設備のホスト14に基づいて、等により特徴付けることができることに留意されたい。
また、ここまで本発明をホスト14にデプロイされる候補VM12の点で説明したが、本発明を、あるホスト14に既にデプロイしたが候補ホスト14に移動されている候補VM12に関して実践することもできる。理解できるように、上記の場合は同じ評価手続きが行われるが、候補VM12に関する幾つかのデータを少々異なる情報源から取得することができ、候補VM12のデプロイを、候補VM12を或るホスト14から、選択したホスト14に移動することで実現する。
同様に、本発明をこれまで、個々の候補VM12の点で説明してきたが、本発明を、候補ホスト14にデプロイされる複数の候補VM12、および候補ホストグループに関して実践することもできる。多対1のデプロイメントには、1つのみではなく多数のVM12の追加に基づいて候補ホスト14の仮想的な利用を評価することが含まれる。理解すべきであるが、複数の候補VM12に対するリソースは集合的に表される。
とりわけ、多対多のデプロイメントはより複雑である。多対多のデプロイメントを実施するにあたり、あまり計算集約的でない方法は、単純にVM12の任意の順序付けを選択して、その順序付けに基づいてデプロイすることである。しかしながら、VM12の別の順序付けにより全体のデプロイメントがより良くなる可能性があるので、全体的に最適なデプロイメントは実現されない。ヒューリスティックを適用して順序付けを改善することができる。例えば、順序付けは、様々なリソース利用の重み付け集計に基づいて選択した、最大のVM12から最小のVM12への順序に基づくことができる。勿論、完全に最適な解決法はVM12の全ての可能な順序付けを試すことであろうが、前述のヒューリスティックが満足な結果を生成する可能性があるので、上記の解決法は極めて計算的に高価で、概して不要である可能性がある。
上述したように、候補VM12の候補ホスト14へのデプロイメントを特徴付けるレーティングを判定するプロセスを、既に仮想化したVM12に関してだけではなく、仮想化の候補である物理マシン10に関しても使用することができる。従って、単一の候補VM12をエバリュエータ18により1つまたは複数の候補ホスト14に対して評価した。しかしながら、エバリュエータ18は複数の候補VM12を特定の候補ホスト14に対して、利用可能な候補ホスト14の代表に対して、複数の候補ホスト14に対して、等のように評価できることにも留意されたい。最初の2つの場合では、エバリュエータ18は、実際には複数の候補VM12のうち、どれが候補ホスト14へのデプロイに最適であるかを判定するために使用され、第3の場合では、エバリュエータ18は、実際には複数の候補VM12のうち、どれがどの候補ホスト14へのデプロイに最適であるかを判定するために使用されるであろう。特に最初の2つの場合に関して、エバリュエータ18を使用して、候補ホスト14に仮想化およびデプロイされる対応VM12により表されるように、複数の候補物理マシン10から選択することができる。
[エバリュエータ18に対する、候補VM12、候補ホスト14のデータ]
上で触れたように、候補VM12を物理マシン10から既に仮想化したか、またはまだ仮想化していないかに依存して、エバリュエータ18に提示されエバリュエータ18により使用される候補VM12に関するデータを別の情報源から導出することができる。候補VM12は全体的に新しくどの物理マシン10にも依存しない可能性があり、この場合、プロセッサ、メモリ、ネットワーク、および記憶リソース等を含む、予想される必要リソースに基づいて、管理者等が上記候補VM12に対するデータを定義できることに留意されたい。とは言っても、物理マシン10から得た候補VM12に関するデータと候補ホスト14に関するデータを、それぞれ物理マシン10および候補ホスト14から取得した構成情報と性能データから得て、上記候補VM12と候補ホスト14をエバリュエータ18に対してより正確に表すことができる。
特にVM12またはホスト14の何れかに対して利用可能な性能データに関して、本発明の精神および範囲から逸脱せずに、上記のデータをサンプル等として収集することができ、データコレクタ20およびデータインタフェース22等により任意の適切な方法で集計することができる。その集計により、特に利用が合理的に表現されることを仮定している。特に、リソース利用は一般には相対的に低いが、ビジータイムでは相対的に高いことを理解すると、平均的な利用は上記の利用を特には良く表現しない。代わりに、本発明の一実施形態では、利用を、相対的に高い利用の平均として表す。従って、サンプルデータを集計して上記の高い利用の平均を生成することを、多数の時間層上で実施することができる。特に、それぞれの層では、幾つかのサンプルデータの最高値を平均化する。
例えば、図6を参照すると、特定の利用データを3つの層に編成する。その3つの層は、それぞれ、時間毎、日毎、および週毎のデータを表す第1、第2、および第3の層である。ここで、
−利用データの時間毎サンプルである第1層内の時間毎データを選択する(ステップ601)。
−第2層内の日毎データは第1層内の時間毎データの集計であり、特に上記時間毎データの3つの最高サンプルの平均である(ステップ603)。
−第3層内の週毎データは第2層内の日毎データの集計であり、特に上記日毎データの3つの最高サンプルの平均である(ステップ605)。および、
−エバリュエータ18が使用する最終的なデータの値は第3層内の週毎データの集計であり、特に上記週毎データの3つの最高サンプルの平均である(ステップ607)。
勿論、任意数の層、および、最終値を生成するための層から層への任意の他の集計方法を、本発明の精神および範囲から逸脱せずに使用することもできる。
[結論]
本発明に関連して実施されるプロセスを達成するのに必要なプログラミングは相対的に単純であり、関連プログラミング業界には明らかであるべきである。従って、上記プログラミングはここでは付け加えない。本発明の精神および範囲から逸脱せずに、任意の特定のプログラミングを使用して本発明を達成することができる。
前述の説明で、本発明は、管理者等が物理マシン10等をホスト14上のVM12としてデプロイできる新規で有用なシステムおよび方法を備えることが分かる。上記システムおよび方法は、効率的に定義した作業負荷を一連の互換性のある物理リソースとマッチさせてその作業負荷をサービスし、そのようにして、ネットワーク、記憶装置、プロセッサ能力、メモリ、等を含むリソース要件を考慮した互換性のある、効率的なデプロイメントを促進する。従って、本発明は開示した特定の実施形態に限定されず、添付請求項で定義した本発明の精神および範囲内の修正を網羅することを意図していることは理解されるべきである。
本発明および/またはその一部の態様を組み込み可能な汎用目的コンピュータシステムを表すブロック図である。 VM(virtual machine)として仮想化した、またはそのように仮想化でき、その各々が本発明の実施形態において一連のホスト14のうち任意のものにデプロイされる物理マシンシステム等を示すブロック図である。 本発明の実施形態に従って1つまたは複数のホストにデプロイされる図2の1つまたは複数のVMを評価するシステムを示すブロック図である。 図3のシステムと関連して実施され、本発明の実施形態に従って1つまたは複数のホストにデプロイされる1つまたは複数のVMを評価するための主要なステップを示すフロー図である。 VMにより使用される図2のホストのリソース表現を示し、特に、図4のサブレーティングがVM12をホストにデプロイした後に空いた状態のリソースの利用率にどのように対応するかを示すブロック図である。 サンプルデータを集計して、本発明の実施形態に従い図3のシステムと関連して使用できるもののような、リソースに関する利用率データの生成において実施する主要なステップを示すフロー図である。

Claims (20)

  1. 候補VM(virtual machine)と、前記候補VMがデプロイされうる候補ホストコンピューティング装置(ホスト)とに関する方法であって、前記方法は、前記候補ホストから利用可能なリソースと前記候補VMが必要とするリソースとを考慮して前記候補VMを前記候補ホストにデプロイするかどうかの判定を支援し、
    前記候補ホストから利用可能な幾つかのリソースの各々に対してサブレーティングを計算するステップであって、前記リソースに対するサブレーティングは、前記候補VMを前記候補ホストにデプロイした後に空いているリソースの量に対応するステップと、
    前記の計算したサブレーティングからレーティングを計算して、前記候補ホストがどの程度良く前記候補VMを収容できるかを特徴付けるステップと、
    前記候補ホストに対する前記レーティングをセレクタに提示するステップであって、前記セレクタは、前記候補VMをその前記レーティングに基づいて前記候補ホストにデプロイすべきかどうかを判定するステップと、
    前記候補ホスト上へ前記候補VMをデプロイするため前記候補ホストの選択結果を受信するステップと、
    前記候補VMを前記選択したホストにデプロイするまで、前記候補VMによる要求に応じて前記選択したホストの前記リソースを予約するステップと、
    前記候補VMを前記選択ホストにデプロイするステップと
    を含むことを特徴とする方法。
  2. 前記候補ホストが相対的に高いレーティングを有し、前記セレクタが複数のホストに渡る複数のVMの負荷配分を実施することを試行する場合は、前記セレクタは候補ホスト上への前記候補VMのデプロイメント先である前記候補ホストを選択し、それにより相対的に高いレーティングは、前記候補VMのデプロイ後に残る相対的に多いリソース量を、前記候補ホストが有することに対応することを特徴とし、前記候補ホストが相対的に低い非零のレーティングを有し、前記セレクタが前記候補ホスト上の複数VMのリソース利用を実施することを試行する場合は、前記セレクタは候補ホスト上への前記候補VMのデプロイメント先である前記候補ホストを選択し、それにより前記の相対的に低いレーティングは、候補ホスト上への前記候補VMのデプロイ後に残る相対的に少ないリソース量を前記候補ホストが有することに対応することを特徴とする請求項1に記載の方法。
  3. それぞれのリソースに対する前記サブレーティングを、前記リソースに対して設定した閾値と、収集データに基づいて前記リソースに対して計算した利用と、前記リソースに割り当てた重みとに基づいて、
    サブレーティング=(閾値−利用率)×重み
    のように計算するステップをさらに含み、前記闇値は、前記リソースに対する容量緩和を与えるために前記候補ホストの前記リソースに対して定義した予約に対応することを特徴とし、それぞれのリソースに対応する前記重みにより、他のリソースと比較して前記リソースを相対的に重視することを特徴とし、前記リソースに対する前記利用は、前記候補VMと任意の他のVMを前記候補ホストにデプロイしている間に、前記候補ホストが利用するリソース量を表すことを特徴とする請求項1に記載の方法。
  4. 前記利用は、前記候補VMを前記候補ホストにデプロイする前の既存のホスト利用と、前記候補ホストにデプロイした後の前記候補VMからのホスト利用を含むことを特徴とし、前記閾値は予約されたもの以外のリソース量であることを特徴とする請求項3に記載の方法。
  5. 前記レーティングを、
    レーティング=サブレーティングの合計/サブレーティングの重み合計/正規化値
    のように前記サブレーティングとそれぞれの重みとから計算するステップをさらに含み、前記正規化値を、前記レーティングの範囲を0と最大値の間に制限するように選択することを特徴とする請求項3に記載の方法。
  6. 前記リソースはプロセッサ利用、メモリ利用、記憶装置利用、およびネットワーク利用を含むことを特徴とする請求項1に記載の方法。
  7. 前記リソースはプロセッサ利用を含むことを特徴とし、前記候補VMのプロセッサ利用を、それと等価な前記候補ホストのプロセッサ利用に再調整するステップをさらに含むことを特徴とする請求項1に記載の方法。
  8. 前記リソースに関連する仮想化オーバヘッドを考慮した少なくとも1つのリソースをさらに含み、それにより前記仮想化オーバヘッドは、前記候補ホスト上での前記候補VMの仮想化に関連するリソースの追加的な利用を表すことを特徴とする請求項1に記載の方法。
  9. 前記候補ホストにデプロイされ前記候補ホスト上で動作する候補VMに対応するダミーVMを利用パラメータ付きで前記候補ホストに配置して、前記候補ホストが受け入れられる程度に前記ダミーVMを収容するかどうかの判定を少なくともシミュレートすることで、前記候補ホスト上の前記候補VMの実行をシミュレートし、それにより前記候補ホストが、少なくとも前記ダミーVMにより表されるように前記候補VMを実際に収容できることを確認するステップをさらに含むことを特徴とする請求項1に記載の方法。
  10. 特定をする任意のリソースに関して、前記候補ホストが前記リソースを十分に利用できない場合、前記候補ホストに対するレーティングを零に設定するステップをさらに含むことを特徴とする請求項1に記載の方法。
  11. 前記候補ホストで前記候補VMが特定のリソースを使用することにより、前記候補ホストが前記リソースの使用に対して設定した閾値を超過する場合、前記候補ホストに対する前記レーティングを零に設定するステップをさらに含むことを特徴とする請求項10に記載の方法。
  12. 前記候補VMと、複数の候補ホストコンピューティング装置(ホスト)であって、そのうち任意のものに前記候補VMがデプロイされうる複数の候補ホストコンピューティング装置(ホスト)とに関して、前記方法は、それぞれの候補ホストから利用可能なリソースと前記候補VMが必要とするリソースとを考慮して、前記候補VMのデプロイ先である候補ホストの判定を支援し、前記方法はそれぞれの候補ホストに対して、
    前記候補ホストから利用可能な幾つかのリソースの各々に対してサブレーティングを計算するステップであって、前記リソースに対する前記サブレーティングは、前記候補VMを前記候補ホストにデプロイした後に空いているリソース量に対応するステップと、
    前記の計算したサブレーティングからレーティングを計算して、前記候補ホストがどの程度良く前記候補VMを収容できるかを特徴付けるステップと
    を含み、
    前記方法はさらに、それぞれの候補ホストに対する前記レーティングをセレクタに提示するステップであって、前記セレクタは、候補ホスト上への前記候補VMのデプロイ先である前記候補ホストの1つをそのレーティングに基づいて選択するステップを含むこと
    を特徴とする請求項1に記載の方法。
  13. 候補VM(virtual machine)と、前記候補VMがデプロイされうる候補ホストグループとに関して、前記ホストグループはホストの集合であり、そのうち任意のものは、前記ホストグループに実際にデプロイされる場合に前記候補VMを収容できることを特徴とする請求項1に記載の方法。
  14. 複数の候補VMと前記候補ホストとに関して、前記複数の候補VMのうち任意のものは前記候補ホストにデプロイされる可能性があり、前記方法は、前記候補ホストから利用可能なリソースとそれぞれの候補VMが必要とするリソースとを考慮して、前記候補ホストへデプロイすべき候補VMの判定を支援し、前記方法はそれぞれの候補VMに対して、
    前記候補ホストから利用可能な幾つかのリソースの各々に対してサブレーティングを計算するステップであって、前記リソースに対する前記サブレーティングは前記候補VMを前記候補ホストにデプロイした後に空いているリソース量に対応するステップと、
    前記の計算したサブレーティングからレーティングを計算して、前記候補ホストがどの程度良く前記候補VMを収容できるかを特徴付けるステップと
    を含み、
    前記方法は、それぞれの候補VMに対する前記レーティングをセレクタに提示するステップであって、前記セレクタは、前記候補ホストにデプロイする前記候補VMの1つをそのレーティングに基づいて選択するステップをさらに含むこと
    を特徴とする請求項1に記載の方法。
  15. 前記候補VMに仮想化されうる候補物理マシンと前記候補VMがデプロイされうる前記候補ホストとに関し、前記方法は、前記候補ホストから利用可能なリソースと前記候補VMが必要とするリソースとを考慮して、前記候補物理マシンを前記候補VMに仮想化して前記候補VMを前記候補ホストにデプロイすべきかどうかの判定を支援することを特徴とする請求項1に記載の方法。
  16. 任意の特定のリソースに対するサブレーティングを前記特定のリソースに関して収集した利用データに基づいて計算するステップを含み、前記利用データは、前記候補VMと任意の他のVMとを前記候補ホストにデプロイする間に前記候補ホストにより利用されるリソースの量を表し、
    前記利用データの時間毎サンプルである第1層内のデータを選択するステップと、
    前記時間毎データの3つの最高サンプルを平均することで、前記第1層の前記時間毎データから集計した日毎データである第2層内のデータを選択するステップと、
    前記日毎データの3つの最高サンプルを平均することで、前記第2層の前記日毎データから集計した週毎データである第3層内のデータを選択するステップと、
    前記週毎データの3つの最高サンプルを平均することで、前記第3層の前記週毎データから集計した最終値を計算するステップと
    により相対的に高い利用を重視するよう集計したサンプルデータを含むことを特徴とする請求項1に記載の方法。
  17. 前記選択ホストのリソースを予約するステップは、予約VMを前記選択ホストにデプロイするステップを含むことを特徴とし、前記予約VMは、実体的な機能性とコンテンツを有さないが、前記候補VMを前記選択ホストにデプロイするまで、前記候補VMの要求に応じて前記選択ホストのリソースを保持するVMであることを特徴とする請求項1に記載の方法。
  18. 前記候補VMを別のホストにデプロイすることを特徴とし、前記候補VMをデプロイするステップは、前記候補VMを前記別のホストから前記選択ホストに移動するステップを含むことを特徴とする請求項1に記載の方法。
  19. 候補物理マシンと前記候補物理マシンがデプロイされうる候補ホストコンピューティング装置(ホスト)とに関する方法であって、前記方法は、前記候補ホストから利用可能なリソースと前記候補物理マシンが必要とするリソースとを考慮して、前記候補物理マシンを前記候補ホストにデプロイすべきかどうかの判定を支援し、
    前記候補ホストから利用可能な幾つかのリソースの各々に対してサブレーティングを計算するステップであって、前記リソースに対する前記サブレーティングは前記候補物理マシンを前記候補ホストにデプロイした後に空いているリソース量に対応するステップと、
    前記の計算したサブレーティングからレーティングを計算して、前記候補ホストがどの程度良く前記候補物理マシンを収容できるかを特徴付けるステップと、
    前記候補ホストに対する前記レーティングをセレクタに提示するステップであって、前記セレクタは、前記候補物理マシンを前記候補ホストにデプロイすべきかどうかをそのレーティングに基づいて判定するステップと、
    候補ホスト上への前記候補VMのデプロイ先である候補ホストの選択結果を受信するステップと、
    前記候補物理マシンを前記選択ホストにデプロイするまで、前記候補VMによる要求に応じて、前記選択ホストのリソースを予約するステップと、
    前記候補物理マシンをその仮想化したバージョンとして前記選択ホストにデプロイするステップと
    を含むことを特徴とする方法。
  20. 複数の候補物理マシンと前記候補ホストとに関し、前記複数の候補物理マシンのうち任意のものは前記候補ホストにデプロイされる可能性があり、前記方法は、前記候補ホストから利用可能なリソースとそれぞれの候補物理マシンが必要とするリソースとを考慮して、前記候補物理マシンを前記候補ホストにデプロイすべきかどうかの判定を支援し、前記方法はそれぞれの候補物理マシンに対し、
    前記候補ホストから利用可能な幾つかのリソースの各々に対してサブレーティングを計算するステップであって、前記リソースに対する前記サブレーティングは前記候補物理マシンを前記候補ホストにデプロイした後に空いているリソース量に対応するステップと、
    前記の計算したサブレーティングからレーティングを計算して、前記候補ホストがどの程度良く前記候補物理マシンを収容できるかを特徴付けるステップと
    を含み、
    前記方法は、それぞれの候補物理マシンに対する前記レーティングをセレクタに提示するステップであって、前記セレクタは、前記候補ホストにデプロイする前記候補物理マシンの1つをそのレーティングに基づいて選択するステップをさらに含むこと
    を特徴とする請求項19に記載の方法。
JP2009510941A 2006-05-18 2007-02-15 作業負荷特性に基づいたホストへの仮想マシンのデプロイ Expired - Fee Related JP5162579B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/437,142 US20070271560A1 (en) 2006-05-18 2006-05-18 Deploying virtual machine to host based on workload characterizations
US11/437,142 2006-05-18
PCT/US2007/004188 WO2007136437A1 (en) 2006-05-18 2007-02-15 Deploying virtual machine to host based on workload characterizations

Publications (2)

Publication Number Publication Date
JP2009537894A true JP2009537894A (ja) 2009-10-29
JP5162579B2 JP5162579B2 (ja) 2013-03-13

Family

ID=38713348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009510941A Expired - Fee Related JP5162579B2 (ja) 2006-05-18 2007-02-15 作業負荷特性に基づいたホストへの仮想マシンのデプロイ

Country Status (13)

Country Link
US (1) US20070271560A1 (ja)
EP (1) EP2024847A4 (ja)
JP (1) JP5162579B2 (ja)
KR (1) KR101432838B1 (ja)
CN (1) CN101449258B (ja)
AU (1) AU2007254462B2 (ja)
BR (1) BRPI0711752A8 (ja)
CA (1) CA2649714A1 (ja)
MX (1) MX2008014537A (ja)
MY (1) MY149953A (ja)
RU (1) RU2433459C2 (ja)
TW (1) TWI470551B (ja)
WO (1) WO2007136437A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117760A (ja) * 2008-11-11 2010-05-27 Hitachi Ltd 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP2011028408A (ja) * 2009-07-23 2011-02-10 Fujitsu Ltd 仮想マシン移動制御プログラム,仮想マシン移動制御方法および仮想マシン移動制御装置
WO2011086824A1 (ja) * 2010-01-12 2011-07-21 日本電気株式会社 マイグレーション管理装置、マイグレーション管理システム、マイグレーション管理方法、及びマイグレーション管理プログラム
WO2012032679A1 (ja) * 2010-09-06 2012-03-15 株式会社日立製作所 計算機システム、及び、計算機システムの制御方法
JP2012190342A (ja) * 2011-03-11 2012-10-04 Nec Corp バッチ処理制御装置、バッチ処理制御方法およびバッチ処理制御プログラム
JP2012256165A (ja) * 2011-06-08 2012-12-27 Ntt Data Corp コンピュータシステム、仮想マシンデータ配置方法およびプログラム
WO2013128836A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 仮想サーバ管理装置及び仮想サーバの移動先決定方法
JP2013196538A (ja) * 2012-03-22 2013-09-30 Hitachi Solutions Ltd 仮想マシン運用監視システム
WO2015087449A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP2018032058A (ja) * 2016-08-22 2018-03-01 日本電信電話株式会社 仮想マシン管理装置およびデプロイ可否判断方法
JP2020064542A (ja) * 2018-10-19 2020-04-23 富士ゼロックス株式会社 情報処理システムおよび認証システム

Families Citing this family (257)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) * 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US7823152B2 (en) * 2006-06-06 2010-10-26 International Business Machines Corporation System and method for collaborative hosting of applications, virtual machines, and data objects
US8032882B2 (en) * 2006-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. System and method for controlling aggregate CPU usage by virtual machines and driver domains
US8782671B2 (en) * 2006-07-26 2014-07-15 Hewlett-Packard Development Company, L. P. Systems and methods for flexibly controlling resource usage by a driver domain on behalf of a virtual machine
US8209695B1 (en) * 2006-07-28 2012-06-26 Hewlett-Packard Development Company, L.P. Reserving resources in a resource-on-demand system for user desktop utility demand
US9092250B1 (en) * 2006-10-27 2015-07-28 Hewlett-Packard Development Company, L.P. Selecting one of plural layouts of virtual machines on physical machines
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US20080172671A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Method and system for efficient management of resource utilization data in on-demand computing
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
JP5218390B2 (ja) * 2007-02-23 2013-06-26 日本電気株式会社 自律制御サーバ、仮想サーバの制御方法及びプログラム
US8028048B2 (en) * 2007-02-27 2011-09-27 International Business Machines Corporation Method and apparatus for policy-based provisioning in a virtualized service delivery environment
US8561061B2 (en) * 2007-05-14 2013-10-15 Vmware, Inc. Adaptive dynamic selection and application of multiple virtualization techniques
US20090007099A1 (en) * 2007-06-27 2009-01-01 Cummings Gregory D Migrating a virtual machine coupled to a physical device
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8374929B1 (en) 2007-08-06 2013-02-12 Gogrid, LLC System and method for billing for hosted services
US20090049024A1 (en) * 2007-08-14 2009-02-19 Ncr Corporation Dynamic query optimization between systems based on system conditions
US8108857B2 (en) * 2007-08-29 2012-01-31 International Business Machines Corporation Computer program product and method for capacity sizing virtualized environments
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
JP4982347B2 (ja) * 2007-12-11 2012-07-25 株式会社東芝 画像情報の更新を検出するプログラム、方法および画像処理装置
JP5010492B2 (ja) * 2008-01-31 2012-08-29 株式会社東芝 通信装置、方法及びプログラム
WO2009108344A1 (en) * 2008-02-29 2009-09-03 Vkernel Corporation Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network
US8935701B2 (en) * 2008-03-07 2015-01-13 Dell Software Inc. Unified management platform in a computer network
JP4577384B2 (ja) * 2008-03-14 2010-11-10 日本電気株式会社 管理マシン、管理システム、管理プログラム、および、管理方法
US7882219B2 (en) * 2008-03-27 2011-02-01 International Business Machines Corporation Deploying analytic functions
US9363143B2 (en) * 2008-03-27 2016-06-07 International Business Machines Corporation Selective computation using analytic functions
US20090248722A1 (en) * 2008-03-27 2009-10-01 International Business Machines Corporation Clustering analytic functions
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US20090320020A1 (en) * 2008-06-24 2009-12-24 International Business Machines Corporation Method and System for Optimising A Virtualisation Environment
US9081624B2 (en) * 2008-06-26 2015-07-14 Microsoft Technology Licensing, Llc Automatic load balancing, such as for hosted applications
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9842004B2 (en) * 2008-08-22 2017-12-12 Red Hat, Inc. Adjusting resource usage for cloud-based networks
US8966038B2 (en) * 2008-08-28 2015-02-24 Nec Corporation Virtual server system and physical server selection method
US9798560B1 (en) 2008-09-23 2017-10-24 Gogrid, LLC Automated system and method for extracting and adapting system configurations
US8572608B2 (en) 2008-10-22 2013-10-29 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US10025627B2 (en) 2008-11-26 2018-07-17 Red Hat, Inc. On-demand cloud computing environments
US8751654B2 (en) * 2008-11-30 2014-06-10 Red Hat Israel, Ltd. Determining the graphic load of a virtual desktop
US8918761B1 (en) * 2008-12-05 2014-12-23 Amazon Technologies, Inc. Elastic application framework for deploying software
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8464267B2 (en) * 2009-04-10 2013-06-11 Microsoft Corporation Virtual machine packing method using scarcity
US8291416B2 (en) * 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
JP5315128B2 (ja) * 2009-05-25 2013-10-16 株式会社日立製作所 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法
US9424094B2 (en) 2009-06-01 2016-08-23 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
US20110004878A1 (en) * 2009-06-30 2011-01-06 Hubert Divoux Methods and systems for selecting a desktop execution location
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8495629B2 (en) * 2009-09-24 2013-07-23 International Business Machines Corporation Virtual machine relocation system and associated methods
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8832683B2 (en) * 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
US8327060B2 (en) * 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
US8589921B2 (en) * 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8533711B2 (en) 2009-11-30 2013-09-10 Red Hat Israel, Ltd. Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount
US8887172B2 (en) * 2009-12-31 2014-11-11 Microsoft Corporation Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US20110202640A1 (en) * 2010-02-12 2011-08-18 Computer Associates Think, Inc. Identification of a destination server for virtual machine migration
US9027017B2 (en) 2010-02-22 2015-05-05 Virtustream, Inc. Methods and apparatus for movement of virtual resources within a data center environment
US9122538B2 (en) 2010-02-22 2015-09-01 Virtustream, Inc. Methods and apparatus related to management of unit-based virtual resources within a data center environment
JP5544967B2 (ja) * 2010-03-24 2014-07-09 富士通株式会社 仮想マシン管理プログラム及び仮想マシン管理装置
CN102214117B (zh) * 2010-04-07 2014-06-18 中兴通讯股份有限公司南京分公司 虚拟机管理方法、系统及虚拟机管理服务器
US8495512B1 (en) 2010-05-20 2013-07-23 Gogrid, LLC System and method for storing a configuration of virtual servers in a hosting system
US8738333B1 (en) 2010-05-25 2014-05-27 Vmware, Inc. Capacity and load analysis in a datacenter
US9396000B2 (en) * 2010-06-25 2016-07-19 Intel Corporation Methods and systems to permit multiple virtual machines to separately configure and access a physical device
US8826292B2 (en) 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
US8560544B2 (en) 2010-09-15 2013-10-15 International Business Machines Corporation Clustering of analytic functions
WO2012039053A1 (ja) * 2010-09-24 2012-03-29 株式会社日立製作所 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9384029B1 (en) * 2010-09-30 2016-07-05 Amazon Technologies, Inc. Managing virtual computing nodes
US8418185B2 (en) * 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US9075661B2 (en) * 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8738972B1 (en) 2011-02-04 2014-05-27 Dell Software Inc. Systems and methods for real-time monitoring of virtualized environments
CN102646052B (zh) * 2011-02-16 2016-01-27 中国移动通信集团公司 一种虚拟机部署方法、装置及系统
JP5708013B2 (ja) * 2011-02-22 2015-04-30 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
WO2012117453A1 (ja) * 2011-03-03 2012-09-07 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
US8566838B2 (en) 2011-03-11 2013-10-22 Novell, Inc. Techniques for workload coordination
US8806484B2 (en) 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
US9069890B2 (en) * 2011-04-20 2015-06-30 Cisco Technology, Inc. Ranking of computing equipment configurations for satisfying requirements of virtualized computing environments based on an overall performance efficiency
JP5729466B2 (ja) 2011-04-20 2015-06-03 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
EP2707795A1 (en) * 2011-05-13 2014-03-19 Telefonaktiebolaget LM Ericsson (PUBL) Allocation of virtual machines in datacenters
KR101495862B1 (ko) 2011-05-18 2015-03-13 한국전자통신연구원 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
US8661182B2 (en) * 2011-05-26 2014-02-25 Vmware, Inc. Capacity and load analysis using storage attributes
CN103827823A (zh) * 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
US8909785B2 (en) 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
CA2845402A1 (en) 2011-08-16 2013-02-21 Cirba Inc. System and method for determining and visualizing efficiencies and risks in computing environments
EP2748705A4 (en) * 2011-08-25 2015-05-20 Virtustream Inc SYSTEMS AND METHODS FOR HOST-RELATED RESOURCE MANAGEMENT WITH CLUSTER-BASED RESOURCE POOLS
US9495222B1 (en) 2011-08-26 2016-11-15 Dell Software Inc. Systems and methods for performance indexing
CN102279771B (zh) * 2011-09-02 2013-07-10 北京航空航天大学 一种虚拟化环境中自适应按需资源分配的方法及系统
US9722866B1 (en) * 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
DE102012217202B4 (de) * 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US8850442B2 (en) * 2011-10-27 2014-09-30 Verizon Patent And Licensing Inc. Virtual machine allocation in a computing on-demand system
TWI533146B (zh) * 2011-11-10 2016-05-11 財團法人資訊工業策進會 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
TWI456502B (zh) * 2011-12-01 2014-10-11 Univ Tunghai 虛擬機叢集之動態資源分配方法
US8863141B2 (en) * 2011-12-14 2014-10-14 International Business Machines Corporation Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history
US9292350B1 (en) 2011-12-15 2016-03-22 Symantec Corporation Management and provisioning of virtual machines
TWI452518B (zh) * 2011-12-21 2014-09-11 Inventec Corp 虛擬機器的配置方法與使用其之伺服器系統
CN103176847A (zh) * 2011-12-26 2013-06-26 英业达集团(天津)电子技术有限公司 虚拟机的分配方法
CN102591702B (zh) * 2011-12-31 2015-04-15 华为技术有限公司 虚拟化处理方法及相关装置和计算机系统
KR101341254B1 (ko) * 2012-01-04 2013-12-12 주식회사 엘지유플러스 가상 머신 구동 시스템 및 그 제어방법
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US9110729B2 (en) 2012-02-17 2015-08-18 International Business Machines Corporation Host system admission control
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
TWI459296B (zh) * 2012-02-21 2014-11-01 Hon Hai Prec Ind Co Ltd 增加伺服器的虛擬機配置數量的方法
CN103309723B (zh) * 2012-03-16 2016-08-10 山东智慧生活数据系统有限公司 虚拟机资源整合系统及方法
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US8843935B2 (en) 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9092269B2 (en) * 2012-06-21 2015-07-28 Microsoft Technology Licensing, Llc Offloading virtual machine flows to physical queues
US20140019964A1 (en) * 2012-07-13 2014-01-16 Douglas M. Neuse System and method for automated assignment of virtual machines and physical machines to hosts using interval analysis
US9043787B2 (en) * 2012-07-13 2015-05-26 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts
US9152443B2 (en) * 2012-07-13 2015-10-06 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
KR101239290B1 (ko) * 2012-07-23 2013-03-06 (주)엔텍 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) * 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
BR112015005588B1 (pt) * 2012-09-20 2022-01-18 Amazon Technologies , Inc Sistema e método implementado por computador para perfilamento de utilização de recursos de computação.
KR101430649B1 (ko) 2012-10-31 2014-08-18 삼성에스디에스 주식회사 클라우드 환경 내의 데이터 분석 서비스 제공 시스템 및 방법
US9183033B2 (en) * 2012-12-06 2015-11-10 Industrial Technology Research Institute Method and system for analyzing root causes of relating performance issues among virtual machines to physical machines
CN103885831B (zh) * 2012-12-19 2017-06-16 中国电信股份有限公司 虚拟机宿主机的选择方法与装置
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
CN104981782B (zh) * 2013-02-01 2019-03-26 日本电气株式会社 用于控制资源的系统、控制模式生成装置
US9465630B1 (en) * 2013-02-20 2016-10-11 Ca, Inc. Assigning dynamic weighted variables to cluster resources for virtual machine provisioning
US20140344808A1 (en) * 2013-05-20 2014-11-20 International Business Machines Corporation Dynamically modifying workload patterns in a cloud
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
WO2014198001A1 (en) * 2013-06-14 2014-12-18 Cirba Inc System and method for determining capacity in computer environments using demand profiles
US9383986B2 (en) 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9207976B2 (en) 2013-08-13 2015-12-08 International Business Machines Corporation Management of prioritizing virtual machines in an operating environment
CN103514046B (zh) * 2013-09-24 2017-04-26 华为技术有限公司 一种虚拟机放置方法及集群管理服务器
US9389970B2 (en) * 2013-11-01 2016-07-12 International Business Machines Corporation Selected virtual machine replication and virtual machine restart techniques
CN104683408A (zh) * 2013-11-29 2015-06-03 中国科学院深圳先进技术研究院 OpenStack云计算管理平台建立虚拟机实例的方法和系统
US9641385B1 (en) * 2013-12-16 2017-05-02 Amazon Technologies, Inc. Dynamic system configuration in a virtual environment
CN104714846B (zh) 2013-12-17 2018-06-05 华为技术有限公司 资源处理方法、操作系统及设备
CN103902384B (zh) * 2014-03-28 2017-08-11 华为技术有限公司 为虚拟机分配物理机的方法及装置
WO2015163877A1 (en) * 2014-04-24 2015-10-29 Hewlett-Packard Development Company, L.P. Placing virtual machines on physical hardware to guarantee bandwidth
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9940167B2 (en) 2014-05-20 2018-04-10 Red Hat Israel, Ltd. Identifying memory devices for swapping virtual machine memory pages
US9116767B1 (en) * 2014-06-06 2015-08-25 International Business Machines Corporation Deployment pattern monitoring
US11093279B2 (en) 2014-06-09 2021-08-17 International Business Machines Corporation Resources provisioning based on a set of discrete configurations
US9544367B2 (en) * 2014-06-16 2017-01-10 Verizon Patent And Licensing Inc. Automated server cluster selection for virtual machine deployment
US9286001B2 (en) * 2014-06-30 2016-03-15 Microsoft Licensing Technology Llc Effective range partition splitting in scalable storage
CN104133727A (zh) * 2014-08-08 2014-11-05 成都致云科技有限公司 基于实时资源负载分配的方法
US9092376B1 (en) 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US9778990B2 (en) 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9992304B2 (en) * 2014-10-13 2018-06-05 At&T Intellectual Property I, L.P. Relocation of applications to optimize resource utilization
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
CA2969863A1 (en) 2014-12-09 2016-06-16 Cirba Ip Inc. System and method for routing computing workloads based on proximity
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
CN106033373B (zh) * 2015-03-11 2019-09-27 苏宁易购集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9965309B2 (en) * 2015-03-23 2018-05-08 Empire Technology Development Llc Virtual machine placement
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
KR101669567B1 (ko) * 2015-04-27 2016-10-27 울산과학기술원 가상 머신의 배치를 관리하는 방법
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
CN106325999A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 一种分配宿主机资源的方法和装置
US10310883B2 (en) * 2015-07-06 2019-06-04 Purdue Research Foundation Integrated configuration engine for interference mitigation in cloud computing
US11403099B2 (en) * 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9857871B2 (en) 2015-09-04 2018-01-02 Sony Interactive Entertainment Inc. Apparatus and method for dynamic graphics rendering based on saccade detection
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9959146B2 (en) * 2015-10-20 2018-05-01 Intel Corporation Computing resources workload scheduling
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10303488B2 (en) 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10915333B2 (en) 2016-03-30 2021-02-09 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10169846B2 (en) 2016-03-31 2019-01-01 Sony Interactive Entertainment Inc. Selective peripheral vision filtering in a foveated rendering system
US10372205B2 (en) 2016-03-31 2019-08-06 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10401952B2 (en) 2016-03-31 2019-09-03 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10192528B2 (en) 2016-03-31 2019-01-29 Sony Interactive Entertainment Inc. Real-time user adaptive foveated rendering
CN105955826A (zh) * 2016-05-10 2016-09-21 广东睿江云计算股份有限公司 一种云主机系统中服务质量的控制方法及装置
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
CN107479950B (zh) * 2016-06-08 2021-03-05 阿里巴巴集团控股有限公司 一种虚拟机调度方法、设备及系统
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10540196B2 (en) * 2016-07-01 2020-01-21 Intel Corporation Techniques to enable live migration of virtual environments
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US9740465B1 (en) 2016-11-16 2017-08-22 Vector Launch Inc. Orchestration of software application deployment in a satellite platform
US10346191B2 (en) * 2016-12-02 2019-07-09 Wmware, Inc. System and method for managing size of clusters in a computing environment
US10552272B2 (en) * 2016-12-14 2020-02-04 Nutanix, Inc. Maintaining high availability during N-node failover
CN108241531A (zh) * 2016-12-23 2018-07-03 阿里巴巴集团控股有限公司 一种在集群中为虚拟机分配资源的方法和装置
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10423455B2 (en) 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
US10942760B2 (en) 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
US10296367B2 (en) * 2017-02-03 2019-05-21 Microsoft Technology Licensing, Llc Resource management for virtual machines in cloud computing systems
US10887176B2 (en) * 2017-03-30 2021-01-05 Hewlett Packard Enterprise Development Lp Predicting resource demand in computing environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
CN107643939A (zh) * 2017-09-14 2018-01-30 郑州云海信息技术有限公司 一种分配虚拟机的方法及系统
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
CN109582433B (zh) * 2017-09-29 2022-02-01 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
US10904090B2 (en) * 2018-01-26 2021-01-26 Nutanix, Inc. Virtual machine placement based on network communication patterns with other virtual machines
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US10735278B1 (en) * 2019-03-12 2020-08-04 Pivotal Software, Inc. Service availability metrics
US11442763B2 (en) 2019-04-26 2022-09-13 Dell Products L.P. Virtual machine deployment system using configurable communication couplings
US11263037B2 (en) 2019-08-15 2022-03-01 International Business Machines Corporation Virtual machine deployment
US11080083B1 (en) 2019-08-28 2021-08-03 Juniper Networks, Inc. Providing physical host hardware state information to virtual machines deployed on the physical host
US11586567B2 (en) 2020-01-07 2023-02-21 Vmware, Inc. Techniques for virtualizing PF-VF mailbox communication in SR-IOV devices
US11544097B2 (en) * 2020-01-07 2023-01-03 Vmware, Inc. Dynamic reconfiguration of virtual devices for migration across device generations
CN111563451B (zh) * 2020-05-06 2023-09-12 浙江工业大学 基于多尺度小波特征的机械通气无效吸气努力识别方法
US11307889B2 (en) 2020-05-28 2022-04-19 International Business Machines Corporation Schedule virtual machines
US11886926B1 (en) * 2020-12-10 2024-01-30 Amazon Technologies, Inc. Migrating workloads between computing platforms according to resource utilization
US11593180B2 (en) 2020-12-15 2023-02-28 Kyndryl, Inc. Cluster selection for workload deployment
US20220237049A1 (en) * 2021-01-26 2022-07-28 Vmware, Inc. Affinity and anti-affinity with constraints for sets of resources and sets of domains in a virtualized and clustered computer system
US20220237048A1 (en) * 2021-01-26 2022-07-28 Vmware, Inc. Affinity and anti-affinity for sets of resources and sets of domains in a virtualized and clustered computer system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215135A (ja) * 1990-12-12 1992-08-05 Nec Corp ジョブ終了時間予測システム
JP2004334853A (ja) * 2003-04-30 2004-11-25 Internatl Business Mach Corp <Ibm> 論理的パーティション間の自動化されたプロセッサ再割り振り及び最適化のための方法、システム及びプログラム製品
JP2005309644A (ja) * 2004-04-20 2005-11-04 Hitachi Ltd リソース制御方法及びそのシステム
US6985937B1 (en) * 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100649799B1 (ko) * 1998-03-23 2006-11-24 썬 마이크로시스템즈, 인코포레이티드 고속 서브-클레스 검사 및 서브-타입 검사를 컴퓨터에 의해 구현하는 방법 그 시스템
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US8375127B1 (en) * 1999-03-31 2013-02-12 International Business Machines Corporation Method and system for using virtual URLs for load balancing
JP2001094629A (ja) * 1999-09-21 2001-04-06 Canon Inc ネットワーク接続装置及びその制御方法ならびに記録媒体
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
JP2001350707A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd 情報処理システム、記憶装置の割り当て方法
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US7548975B2 (en) * 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7725434B2 (en) * 2003-04-15 2010-05-25 At&T Intellectual Property, I, L.P. Methods, systems, and computer program products for automatic creation of data tables and elements
US7644408B2 (en) * 2003-04-25 2010-01-05 Spotware Technologies, Inc. System for assigning and monitoring grid jobs on a computing grid
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
TWI253251B (en) * 2003-09-19 2006-04-11 Inst Information Industry Network address port translation gateway providing fast query and replacement for virtual host service, and the method thereof
US7437730B2 (en) * 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
US20060005190A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for implementing an operating system in a virtual machine environment
GB2416878B (en) * 2004-08-06 2008-05-14 Univ Surrey Resource management in grid computing
US8095928B2 (en) * 2004-10-06 2012-01-10 Hewlett-Packard Development Company, L.P. Method of forming virtual computer cluster within shared computing environment
GB2419701A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructure with dynamic control of mapping
US7668703B1 (en) * 2005-06-07 2010-02-23 Hewlett-Packard Development Company, L.P. Determining required capacity for a resource
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215135A (ja) * 1990-12-12 1992-08-05 Nec Corp ジョブ終了時間予測システム
US6985937B1 (en) * 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
JP2004334853A (ja) * 2003-04-30 2004-11-25 Internatl Business Mach Corp <Ibm> 論理的パーティション間の自動化されたプロセッサ再割り振り及び最適化のための方法、システム及びプログラム製品
JP2005309644A (ja) * 2004-04-20 2005-11-04 Hitachi Ltd リソース制御方法及びそのシステム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117760A (ja) * 2008-11-11 2010-05-27 Hitachi Ltd 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP2011028408A (ja) * 2009-07-23 2011-02-10 Fujitsu Ltd 仮想マシン移動制御プログラム,仮想マシン移動制御方法および仮想マシン移動制御装置
WO2011086824A1 (ja) * 2010-01-12 2011-07-21 日本電気株式会社 マイグレーション管理装置、マイグレーション管理システム、マイグレーション管理方法、及びマイグレーション管理プログラム
US9201695B2 (en) 2010-09-06 2015-12-01 Hitachi, Ltd. Computer system and control method for acquiring required resources
WO2012032679A1 (ja) * 2010-09-06 2012-03-15 株式会社日立製作所 計算機システム、及び、計算機システムの制御方法
JP2012058815A (ja) * 2010-09-06 2012-03-22 Hitachi Ltd 計算機システム、及び、計算機システムの制御方法
JP2012190342A (ja) * 2011-03-11 2012-10-04 Nec Corp バッチ処理制御装置、バッチ処理制御方法およびバッチ処理制御プログラム
JP2012256165A (ja) * 2011-06-08 2012-12-27 Ntt Data Corp コンピュータシステム、仮想マシンデータ配置方法およびプログラム
WO2013128836A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 仮想サーバ管理装置及び仮想サーバの移動先決定方法
JP2013196538A (ja) * 2012-03-22 2013-09-30 Hitachi Solutions Ltd 仮想マシン運用監視システム
WO2015087449A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
US9563463B2 (en) 2013-12-13 2017-02-07 Hitachi, Ltd. Computer system and control method therefor
JP2018032058A (ja) * 2016-08-22 2018-03-01 日本電信電話株式会社 仮想マシン管理装置およびデプロイ可否判断方法
JP2020064542A (ja) * 2018-10-19 2020-04-23 富士ゼロックス株式会社 情報処理システムおよび認証システム
JP7115213B2 (ja) 2018-10-19 2022-08-09 富士フイルムビジネスイノベーション株式会社 情報処理システムおよび認証システム

Also Published As

Publication number Publication date
MX2008014537A (es) 2008-11-27
BRPI0711752A2 (pt) 2012-01-03
CN101449258A (zh) 2009-06-03
JP5162579B2 (ja) 2013-03-13
CN101449258B (zh) 2012-03-28
RU2433459C2 (ru) 2011-11-10
BRPI0711752A8 (pt) 2017-01-17
MY149953A (en) 2013-11-15
EP2024847A1 (en) 2009-02-18
KR20090018905A (ko) 2009-02-24
AU2007254462A1 (en) 2007-11-29
TW200818020A (en) 2008-04-16
CA2649714A1 (en) 2007-11-29
AU2007254462B2 (en) 2011-09-29
RU2008145502A (ru) 2010-05-27
KR101432838B1 (ko) 2014-08-26
EP2024847A4 (en) 2009-08-12
US20070271560A1 (en) 2007-11-22
TWI470551B (zh) 2015-01-21
WO2007136437A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
JP5162579B2 (ja) 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
US11182718B2 (en) Methods and systems to optimize server utilization for a virtual data center
CN107196865B (zh) 一种负载感知的自适应阈值过载迁移方法
US8423646B2 (en) Network-aware virtual machine migration in datacenters
US8104033B2 (en) Managing virtual machines based on business priorty
US20170242717A1 (en) Methods and systems to determine and improve cost efficiency of virtual machines
US11924117B2 (en) Automated local scaling of compute instances
US20120278813A1 (en) Load balancing
US20100082322A1 (en) Optimizing a prediction of resource usage of an application in a virtual environment
US20140075435A1 (en) System, method and program product for cost-aware selection of stored virtual machine images for subsequent use
US10713265B2 (en) Methods and systems to quantize and compress time series data
US20230106318A1 (en) Automated methods and systems that provide resource recommendations for virtual machines
JP5641064B2 (ja) 実行制御プログラム、実行制御装置および実行制御方法
Aqasizade et al. Kubernetes in Action: Exploring the Performance of Kubernetes Distributions in the Cloud
US20220232069A1 (en) Actor-and-data-grid-based distributed applications
Duan Virtual simulation practice of cloud platform resource scheduling strategy optimization research
Kaur et al. Minimizing Virtual Machine Migration for Efficient Resource Management in Green Clouds
Medeiros et al. Performance evaluation of lossless file compression in the cloud: a study based on Eucalyptus platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120928

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: 20121207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees