JP2009508183A - 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム - Google Patents
仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム Download PDFInfo
- Publication number
- JP2009508183A JP2009508183A JP2008519718A JP2008519718A JP2009508183A JP 2009508183 A JP2009508183 A JP 2009508183A JP 2008519718 A JP2008519718 A JP 2008519718A JP 2008519718 A JP2008519718 A JP 2008519718A JP 2009508183 A JP2009508183 A JP 2009508183A
- Authority
- JP
- Japan
- Prior art keywords
- acpi
- vmm
- policy
- gpe
- subsystem
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
Abstract
仮想マシン・モニタ(「VMM」)と、高度構成及び電力インタフェース(「ACPI」)準拠ゲスト・オペレーティング・システムとの間の双方向通信を方法、装置及びシステムが可能にする。一実施例では、仮想マシン(「VM」)はホスト・プラットフォーム(「ポリシーVM」)のオーナとして指定することができる。ポリシーVMは、プラットフォーム上の構成及び電力管理の決定全てを制御するようVMMと通信することができる。
Description
高度構成及び電力インタフェース(「ACPI」、例えば、Revision 2.0b, October 11, 2002)は、プラットフォーム構成及び電力管理手法の開放型業界標準仕様である。
ACPI準拠オペレーティング・システム(「OS」)は通常、プラットフォーム・ハードウェアと2つのやり方で相互作用する。まず、ハードウェアにおける基本入力/出力システム(「BIOS」)は、OS及びそのACPIドライバによって解析されるメモリ常駐テーブル組を生成することができる。前述のテーブルは、さもなければ表されないプラットフォーム・ハードウェア全てのソフトウェア列挙のルートを提供する。特に、ACPIは、親バス標準(例えば、PC相互接続、「PCI」)に準拠するプラットフォーム・ハードウェアを表さない。このタイプのハードウェアは、上記標準を用いて列挙し、電力管理することができるからである。よって、ACPIテーブルに通常、宣言されるハードウェアは、バス標準を用いて列挙及び/又は管理することが可能でないプラットフォーム・ハードウェアである。すなわち、ACPIテーブルは、プラットフォームにおけるプラットフォーム特有の(すなわち、バス標準でない)ハードウェア全ての列挙及び電力管理の抽象化を含む。
プラットフォーム・ハードウェアは相互に依存している。よって、存在する、これを管理する「ポリシー・オーナ」は1つのみであり得る。通常の計算環境では、OSがプラットフォーム資源を管理する。しかし、仮想化環境では、複数のオペレーティング・システムが、プラットフォーム上の資源に対するアクセスを有し得る。仮想化手法は、仮想マシン・モニタ(「VMM」)を実行する単一のホスト・コンピュータが、ホストの下にあるハードウェアが、独立して動作している仮想マシン(「VM」)にみえるようにホストの複数の抽象化及び/又は表示を提示することを可能にする。各VMは、それ自身のOS及び/又はソフトウェア・アプリケーションを実行して、自己完結的なプラットフォームとして機能することができる。VMMは通常、ホスト上の資源の配分を管理し、ラウンドロビンやその他の所定の手法によって種々のVM間で巡回するよう必要に応じてコンテキスト・スイッチングを行う。VMMはしたがって、ACPIと相互作用し、資源競合を回避する役割を果たす。
本発明の実施例は、VMMと、ACPI準拠ゲスト・オペレーティング・システム(OS)との間の双方向通信のための方法、装置及びシステムを提供する。本明細書において本発明の「one embodiment」又は「an embodiment」に言及していることは、その実施例に関して説明する特定の特徴、構造又は特性が本発明の少なくとも1つの実施例に含まれていることを意味している。よって、本明細書を通した種々の箇所に存在している句「in one embodiment」、「according to one embodiment」等は必ずしもその全てが同じ実施例を表している訳でない。
本発明は、限定としてではなく例として、添付図面の図に示し、同様な参照符号は同様な構成要素を示す。
ホスト上の種々のVMからの種々のACPIイベント(例えば、種々のAPCIイネーブル/ディセーブル動作、S状態遷移、C状態遷移、P状態遷移、T状態遷移、及び割り込みルーティング変更)を上記最終のシナリオ(すなわち、ホストOS(ハイパバイザなど)を含まないシステム)において解決することができる現行の手法は存在しない。よって、例えば、第1のACPIイベントが第1のVMによって生成され、別のACPIイベントが、同じホスト上の第2のVMによって生成される場合に、前述のイベント間で競合が生じた場合(例えば、それぞれが、ホスト上の別の動作を必要とする場合)、前述のイベントを解決することができる現行の方法論は存在しない。
本発明の実施例は、VMMと、ACPI準拠ゲストOSとの間の双方向通信のための方法、装置及びシステムを含む。ACPIとは別の手法が実現された場合、ゲストOSはよって、別の手法に準拠することになる。したがって、本明細書の目的で、本明細書及び特許請求の範囲記載の「OS」に対する言及は、プラットフォーム上で実現される電力構成及び管理手法に準拠したオペレーティング・システムを意味している。同様に、本明細書及び特許請求の範囲記載のACPI及び/又はACPIサブシステムは、限定されないが、ACPIを含む何れかの電力構成及び管理手法を備える。
本発明の実施例の理解を容易にするために、図1は、通常の仮想マシン・ホスト・プラットフォーム(「ホスト100」)を示す。前述の通り、仮想マシン・モニタ(「VMM130」)は通常、ホスト・プラットフォーム上で実行し、(「仮想マシン」又は「VM」としても表す)プラットフォームの抽象化及び/又は表示を他のソフトウェアに提示する。2つのVM区画のみ(「VM110」及び「VM120」(以降、併せて「VM」として表す))を示しているが、前述のVMは、例証に過ぎず、更なる仮想マシンをホストに加えることができる。VM130は、ソフトウェア(例えば、スタンドアロン・プログラム及び/又は構成部分(ホスト・オペレーティング・システムの))、ハードウェア、ファームウェア及び/又はそれらの何れかの組み合わせで実現することができる。
VM110及びVM120は、それら自身の「ゲスト・オペレーティング・システム」(すなわち、「ゲストOS111」及び「ゲストOS121」(以下併せて「ゲストOS」として表す)として示す、VMM130によってホスティングされるオペレーティング・システム)を実行して、それぞれ、自己完結的なプラットフォームとして機能することができる。各ゲストOS及び/又はゲスト・ソフトウェアは、仮想マシンではなく専用コンピュータ上で実行しているかのように動作する。すなわち、各ゲストOS及び/又はゲスト・ソフトウェアは、種々のイベントを制御することを期待し得るものであり、ホスト100上のハードウェア資源へのアクセスを有し得る。しかし、前述の通り、現実には、VMM130は、イベント及びハードウェア資源に対する最終的なコントロールを有し、それ自身のポリシーによってVMに資源を割り当てる。
図1における各VMは通常、プラットフォーム管理を行うためにゲスト・ソフトウェア内に仮想ACPIドライバ(「ACPI OSドライバ113」及び「ACPI OSドライバ123」)も含む。ACPIドライバは当該技術分野において周知であり、その更なる説明は本明細書及び特許請求の範囲では割愛する。前述のACPIドライバは、仮想BIOS116及び126それぞれにおいて仮想ACPIテーブル117及び127(通常、VMM130によって生成される)と相互作用して、VM毎の構成及び電力管理を行うことができる。しかし、前述の通り、ホスト上の種々のVMからの種々のACPIイベントが、ホスト・オペレーティング・システムがない状態で解決することができる手法は現在、存在していない。以下の説明はACPIプロトコルの使用を前提としているが、他の構成プロトコルも、本発明の実施例の趣旨から逸脱しない限り、利用することができる。種々のメモリ資源もホスト100に利用可能であり得る(図1に併せて、(ハードウェア150内に含まれる)メモリ資源140として示している)。メモリ資源140の一部分は、ホスト100上の各VMに割り当てることができる(VM110及びVM120それぞれ内にメモリ114及びメモリ124として示す)。種々のVMに対するメモリ資源のこの割り当ては、通常、VMM130によって管理される。
前述の通り、仮想化ホストにおけるVMMは通常、ホスト上の資源の割り当てを管理する役割を果たす。VMMはしたがって、ホスト・プラットフォーム及びホストACPIテーブルを、仮想化ホスト上の各OSがみることが可能であった場合に生じることになる、資源の何れかの競合を回避する役割を果たす。VMMが、「ホスティングされた」VMM(すなわち、ホスト・オペレーティング・システムによって起動され、ホスト・オペレーティング・システムの制御下のVMM)の場合、プラットフォーム・ハードウェア及びポリシー・オーナシップは通常、ホストOSによって維持される。VMMは次いで、ホストOS上に位置し、種々のソフトウェア手法を用いてVMを作成し、仮想化OSを実行させることが可能な完全に仮想のプラットフォームを作成する。これは、VMMが、仮想プラットフォーム・ハードウェア及び仮想ACPIテーブル(実際のプラットフォームとの何らかの関係があり得るか、又はないことがあり得る)全てを作成することを意味する。
VMMは、ホスティングされていない場合(例えば、「ハイパバイザ」)、2つのやり方のうちの1つで資源競合を処理することができる。まず、VMM自体は、プラットフォーム・ポリシー及びACPIのオーナシップを有し、ゲスト全てに対するほぼ完全に仮想のプラットフォームを提供することができる。この手法は、ホスティングされたモデルと非常に類似しているが、ホストOSなしである。その代わりに、ハイパバイザは、ACPI及び電力管理のニュアンスを処理するというかなりの負担を負う。
あるいは、本発明の実施例によれば、VMMは、ホスト100上のVMの1つをプラットフォームの「ポリシー・オーナ」(以降、「ポリシーVM」として表す)と表すことができる。ポリシーVMは、ホスト100のプラットフォーム電力ポリシーを支配し、プラットフォーム・ハードウェア及び「実際の」ACPIテーブルの大半を「みる」ことができる。その後のゲストは、プラットフォーム制御に対する必要性なしの特定用途のゲストであり得るものであり、かつ/又は、ハイパバイザによって提示される単純化された仮想プラットフォーム・ハードウェアを有し得る。前述のゲストは「従属ゲスト」と認めることができる。更に、VMMは、前述のゲストにおけるゲスト・ソフトウェアがACPIアウェアである場合に、前述の従属ゲストの仮想化ACPIテーブルを生成することができる。
本発明の実施例は、VMMとACPIテーブルとの間の双方向通信を可能にする。特に、本発明の実施例は、システム・ファームウェアの一部として提供されるACPIテーブル及びACPI手法を強化することによってポリシーVMにおけるACPIサブシステムがVMMと通信することを可能にする。強化された前述のACPI手法は、指定されたメモリ動作領域及び仮想化ハードウェア装置と相互作用して、ACPI関連情報及びイベントをVMMに通知する。指定されたメモリ動作領域は「メールボックス」として用いられ、仮想ハードウェア装置を用いて、メモリ動作領域のメールボックスが、新たな情報を含んでいる旨をVMMに通知する。一実施例では、仮想ハードウェア装置は、未使用の単一の8ビット入力/出力(I/O)ポ―トである。種々の実施例では、仮想化ハードウェア装置に用いられるI/Oポートは、チップセットによってデコードされないI/Oポートであり得るものであり、装置には一切割り当てられないことがあり得るものであり、プラットフォーム上の副作用を有しないことが保証される。これは、同じACPIテーブル及び手法を、VMMがある状態及びVMMがない状態で用いることを可能にする。本発明の実施例の趣旨から逸脱しない限り、別の仮想ハードウェア装置も利用することができる。
逆に、ポリシーVMに通知し、かつ/又は、ポリシーVMと通信して、プラットフォーム管理決定に影響を及ぼすために「メールボックス」をVMMによって用いることもできる。この手法を容易にするために、ポリシーVMにおけるACPIドライバは、システム制御割り込み(「SCI」)及び汎用イベント(「GPE」)を用いることによって「エンライトンされ(enlightened))」得る。GPEは、当該技術分野における当業者に周知であり、本発明の実施例を不必要にわかりにくくすることのないように本明細書及び特許請求の範囲において更に詳細に説明しないこととする。GPEを用いてSCIの原因を判定することができる。SCIは、ポリシーVMのOSにおけるACPIサブシステムと通信するためにACPIハードウェア(例えば、ホスト100のチップセット上のACPIハードウェア)によって生成されるACPI定義割り込みである。
よって、本発明の実施例によれば、VMMは、ACPI手法情報をメールボックスに追加し、SCIをポリシーVMに投入することができる。SCIを受け取ると、ポリシーVMのOSにおけるACPIドライバは、割り込みサービス・ルーチン(「ISR」)及び/又はデファード手続コール(「DPC」)をポリシーVMのACPIサブシステムにおいて実行させることができる。ポリシーVMは次いで、GPEステータス・レジスタにクエリすることができ、クエリはVMMによって傍受することができる。VMMはGPEレジスタ・ブロックを仮想化して仮想GPEステータス・レジスタを生成し、その後、ポリシーVMのOSにおけるACPIドライバから前述のISR及び/又はDPCクエリをトラップすることができる。VMMは次いで、クエリの結果を編集し、仮想GPEステータスを「アクティブ」として戻すことができる。その後、ポリシーVMのACPIドライバは、アクティブであったGPEに基づいてSCIを処理するためのドライバをディスパッチすることができる。
図2A乃至2Bは、本発明の種々の実施例を更に詳細に示す図である。本発明の実施例を不必要にわかりにくくすることのないように、特定の構成要素(例えば、仮想BIOS及び仮想ACPIテーブル)は本明細書及び特許請求の範囲に示していない。しかし、本発明の実施例の趣旨から逸脱しない限り、種々の他の構成部分がホスト200上に存在し、かつ/又はホスト200に結合され得ることを当業者は容易に認識するであろう。更に、3つのVMを含んでいるとしてホスト200を示しているが、本発明の実施例の趣旨から逸脱しない限り、より多く又はより少ないVMを実現することができることを当業者は認識するであろう。VMの1つはポリシーVM(「ポリシーVM205」として示し、他のVMは「VM210」及び「VM220」として表す)として表すことができる。
図2Aは、本発明の実施例を示す。ここで、ポリシーVM205は、VM210及び/又はVM220からの入力なしで、プラットフォーム電力ポリシー(ホスト200)を支配する。この実施例によれば、ホスト上のファームウェア(BIOS225として示す)は、ポリシーVM205に割り当てられるメモリ資源240(「メモリ208」として示す)の一部分内のメモリ動作領域(「メールボックス250」)を表し得る。一実施例では、メールボックス250は、4KB境界上にあり、長さが4KBの倍数であり得る。別の実施例では、本発明の実施例の趣旨から逸脱しない限り、他の境界を利用することができる。
ポリシーVM205のゲストOSにおけるAPCIサブシステム(「ゲストOS206」及び「ゲスト・ソフトウェア207」のうちの「ACPI OSドライバ215」として示している)が方法を実行すると、その方法は情報をメールボックス250に投入し、拡張VMM230が仮想ACPIハードウェア装置(「IOポート275」として示す)にアクセスすることを可能にする。本明細書及び特許請求の範囲使用の「ACPI OS ドライバ」の語が、何れかのタイプのACPI(又は同等の)サブシステムを包含し得ることを当業者は容易に分かるであろう。よって、例えば、個々のドライバの概念が存在しないことがあり得るオペレーティング・システムでは、ACPI(又は同等の)サブシステムは、別個の構成部分になることなく、オペレーティング・システムの一部を備え得るに過ぎない。よって、本明細書及び特許請求の範囲における「ACPI OSドライバ」への参照は何れも、前述のACPI(又は同等の)サブシステムを全て含むものとする。拡張VMM230が、既存VMM、及び/又は既存VMMとともに機能し得るその他の構成要素に対して行われる拡張を備え得ることも当業者に明らかである。拡張VM230は、よって、ソフトウェア(例えば、スタンドアロン・プログラム及び/又は構成部分(ホスト・オペレーティング・システムの))、ハードウェア、ファームウェア及び/又はそれらの何れかの組み合わせで実現することができる。
IOポート275をアクセスすると、拡張VMM230は、メールボックス250における情報を解析することができる。本発明の実施例はよって、ポリシーVM200がACPI準拠ゲストOS(例えば、ゲストOS206)を含む場合、ポリシーVM205と拡張VMM230が情報を交換することを可能にする。拡張VMM230は、その後、この情報をホスト100上の他のVMに伝播して、適切な措置を(必要な場合、ポリシーVM205によって実現されるポリシー決定に基づいて)その他のVMが講じることを可能にすることができる。このようにして、本発明の一実施例によれば、ポリシーVM205は、ホスト100上のプラットフォーム構成及び電力管理の詳細を支配し、よって、種々のVMからの競合イベントを回避することができる。
他の実施例では、図2Bに示すように、拡張VMM230は、ホスト100上のその他のVMの必要性をポリシーVM205に通信することができる。ポリシーVM205はよって、プラットフォームのポリシー決定を行う前に、ホスト100上の他のVMの必要性を考慮に入れることができる。すなわち、ポリシーVM205がプラットフォームの決定を一方的に行う代わりに、この実施例では、ホスト200上の他のVMは、(拡張VMM230を介して)決定に影響を及ぼす機会を有し得る。ポリシーVM205は、ホスト100上のその他のVMの要件を評価し、プラットフォームの決定を行う際に前述の要件を考慮に入れることができる。よって、ポリシーVM205は、プラットフォームの意思決定のコントロールを持ち続けるが、ホスト200上のVM全てによりうまく合い得る、より多くの情報を知ったうえでのポリシー作成を行うことを可能にする。
この実施例によれば、BIOS225は、メモリ資源240内のメモリ・メールボックス250をなお指定することができる。ACPI OSドライバ215が方法を実行すると、その方法はメールボックス250に情報を投入し、拡張VMM230がIOポート275にアクセスすることを可能にする。しかし、この実施例では、ACPI OS ドライバ215は更に、拡張VMM230がSCI及びGPEを利用してホスト200上の電力管理及び構成を連係することができるように「エンライトン」され得る。前述の通り、拡張VMM230は、SCIをゲストOS206に投入することができる(図2Bに「パスA」として示す)。ポリシーVM200は、SCIを受け取り、ISR及び/又はDPCをVM110のACPIサブシステム(すなわち、ACPI OSドライバ215)において実行させることができる。ISR及び/又はDPCはGPEステータス・レジスタにクエリすることができ、クエリは拡張VMM230によって傍受することができる。拡張VMM230は、仮想GPEステータス・レジスタを生成し、その後、ACPI OSドライバ215から前述のISR及び/又はDPCクエリをトラップすることができる。拡張VMM230は次いで、クエリの結果を編集し、仮想GPEステータスを「アクティブ」として戻すことができる(図2Bに「パスB」として示す)。その後、ACPI OSドライバ215は、アクティブであったGPEに基づいてSCIを処理するためのエンライトンされたドライバをディスパッチすることができる。一実施例では、ACPI OSドライバ215は仮想GPEをフックすることができるので、デバイス・ドライバはSCIが投入されると実行することができる。
一実施例では、拡張VMM230は、ホスト200上のハードウェア装置の大半がポリシーVM205上のゲストOS211に直接マッピングされることを可能にし得る。この実施例では、拡張VMM230は、ACPIプラットフォーム構成及び電力管理動作全てをゲストOS211が行うことを可能にすることによって単純にすることができる。しかし、拡張VMM230は、適切なプラットフォーム管理を行うためにいくつかのタイプのACPIイベントについて通知されなければならない。前述には、S状態、C状態、P状態及びT状態の遷移が含まれる。この情報の一部はスタティックACPIテーブルによって入手可能であるが、他の情報は、ゲストOS211におけるAMLインタプリタによってACPI手法の実行によってのみ利用可能であり得る。このシナリオでは、ゲストOS211は、構成及び電力管理のためにプラットフォーム・ポリシーを保有し得る。拡張VMM230並びにゲストOS211及びゲストOS221は、前述のポリシー決定を順守する必要があり得る。
一実施例では、拡張VMM230は、仮想ファームウェア及び仮想化プラットフォーム構成部分を生成するよう企図することもできる。この実施例では、ゲストOS206がACPI準拠であるとすれば、拡張VMM230は、仮想化されたACPIテーブル及び手法も生成することができる。拡張VMM230は、前述の種々の実施例による前述のACPIテーブル及び手法を強化することができる。この実施例によれば、拡張VMM230は、プラットフォーム構成及び電力管理イベントへの可視性を有し得るものであり、上記情報を用いて、各ゲストVMに供給されるハードウェア資源及びCPUサイクルを最適化することができる。よって、例えば、拡張VMM230が、VM210からのS3、S4又はS5遷移を検出した場合、拡張VMM230のスケジューリング機構は、VM210へのCPUサイクルの割り当てを停止することができ、代わりに、ホスト200上の他のVM(例えば、ポリシーVM205及びVM220)にCPUメモリやその他のハードウェア資源を割り当てることができる。拡張VMM230は、各VMにおけるCx、Px及びTx状態遷移の知識を用いて、VMに割り当てられるCPU及びCPUサイクルの数を調節することもできる。このようにして、拡張VMM230は、ホスト200上のVM内のゲストOS全ての状態に対する大局的な表示を維持し、それによって、最適なプラットフォーム構成及び電力管理の決定を拡張VMM230が行うことを可能にすることができる。
図3は、本発明の実施例を示すフロー図である。以下の動作は、順次プロセスとして表すことができるが、動作の多くは実際には、並列及び/又は同時に行うことができる。更に、動作の順序は、本発明の実施例の趣旨から逸脱しない限り、再配列することができる。301では、ホスト200が起動すると、BIOS225が、ポリシーVM205のメモリ内のメモリ動作領域(「メールボックス250」)を指定することができる。その後、302で、拡張VMM230は、ポリシーVM205を含む、ホスト200上の種々のVMをインスタンス化することができる。ポリシーVM205は、ゲストOS206内のACPI OSドライバ215を含み得る。303では、ACPI OSドライバ215は手法を実行することができ、304では、この手法からの情報をメールボックス250に入れることができる。305では、イベントを(IOポートや前述のその他の機構を介して)生成することができる。その後、306では、拡張VMM230は、メールボックス250から情報を取り出し、307で適切な措置を講じることができる。
図4は、本発明の実施例を示すフロー図である。やはり、以下の動作は、順次プロセスとして表すことができるが、動作の多くは実際に並列及び/又は同時に行うことができる。更に、本発明の趣旨から逸脱しない限り、動作の順序を再配列することができる。前述の通り、401では、ホスト200が起動すると、BIOS225は、ポリシーVM205のメモリ内のメモリ動作領域(「メールボックス250」)を指定することができる。その後、402で、拡張VMM230は、ホスト200上の種々のVM(ポリシーVM205を含む)をインスタンス化することができる。ポリシーVM205は、ゲストOS206内にACPI OSドライバ215を含み得る。403では、拡張VMM230は、メールボックス250をデータで埋めることができ、404では、拡張VMM230はSCIをゲストOS206に投入することができる。405では、ゲストOS206はSCIをACPI OSドライバ215に転送することができ、406では、ACPI OSドライバ215は、ACPIハードウェアにおけるGPEにクエリしてSCIの原因を判定することができる。拡張VMM230は、407で、仮想GPEの仮想GPEステータス・レジスタを生成し、仮想GPEステータスを「アクティブ」として戻すことによって前述のクエリに応答することができる。408では、ACPI OSドライバ215は、アクティブであったGPEに基づいてSCIを処理するためのドライバをディスパッチすることができる。
本発明の実施例によるホストは、種々の計算装置上で実現することができる。本発明の実施例によれば、計算装置は、本発明の実施例を実現する旨の命令を実行することができる種々の構成部分を含み得る。例えば、計算装置は、マシンアクセス可能な少なくとも1つの媒体を含み得るものであり、かつ/又は、マシンアクセス可能な少なくとも1つの媒体に結合し得る。本明細書及び特許請求の範囲記載の「マシン」は、限定しないが、1つ又は複数のプロセッサを備えた何れかの計算装置を含む。
本明細書及び特許請求の範囲記載の、マシンアクセス可能な媒体は、計算装置によってアクセス可能な何れかの形態における情報を記憶し、かつ/又は伝送する何れかの機構を含み、マシンアクセス可能な媒体は、限定しないが、記録可能な/記録可能でない媒体(リードオンリー・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体や、フラッシュ・メモリ装置など)、並びに、伝搬信号(搬送波、赤外信号やディジタル信号など)の電気的、光学的、音響的、又はその他の形式を含む。
本明細書及び特許請求の範囲記載の、マシンアクセス可能な媒体は、計算装置によってアクセス可能な何れかの形態における情報を記憶し、かつ/又は伝送する何れかの機構を含み、マシンアクセス可能な媒体は、限定しないが、記録可能な/記録可能でない媒体(リードオンリー・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体や、フラッシュ・メモリ装置など)、並びに、伝搬信号(搬送波、赤外信号やディジタル信号など)の電気的、光学的、音響的、又はその他の形式を含む。
一実施例によれば、計算装置は、1つ又は複数のプロセッサなどの種々の他の周知の構成部分を含み得る。プロセッサ及びマシンアクセス可能な媒体は、通信するようブリッジ/メモリ・コントローラを用いて結合することができ、プロセッサは、マシンアクセス可能な媒体に記憶された命令を実行することができ得る。ブリッジ/メモリ・コントローラはグラフィクス・コントローラに結合することができ、グラフィックス・コントローラは、表示装置上の表示データの出力を制御することができる。ブリッジ/メモリ・コントローラは1つ又は複数のバスに結合することができる。前述の構成要素の1つ又は複数は、単一のパッケージ上に、又は複数のパッケージ若しくはダイを用いて、プロセッサとともに一体化することができる。ユニバーサル・シリアル・バス(「USB」)ホスト・コントローラなどのホスト・バス・コントローラはバスに結合することができ、複数の装置をUSBに結合することができる。例えば、キーボードやマウスなどのユーザ入力装置を、入力データを供給するために計算装置に含めることができる。別の実施例では、ホスト・バス・コントローラは、種々の他の相互接続標準(PCI、PCIエクスプレス、ファイヤワイヤやその他のそうした既存及び将来の基準を含む)と互換であり得る。
上記明細書では、その特定の例示的な実施例を参照して本発明を説明している。しかし、特許請求の範囲記載の本発明のより広範囲にわたる趣旨及び範囲から逸脱しない限り、種々の修正及び変更を行うことができることが認識されよう。本明細書及び添付図面はよって、限定的な意味合いでなく例証的な意味合いで解するものとする。
Claims (14)
- 方法であって、
ポリシー仮想マシン(「VM」)をVMホスト上で識別する工程と、
メモリ領域を前記ポリシーVMに割り当てる工程と、
前記メモリ領域の一部分をメールボックスとして指定する工程と、
前記ポリシーVMが、実行された手法からの情報を前記メールボックスに入れ、仮想マシン・マネージャ(「VMM」)によって検出可能なイベントを生成することを可能にする工程とを備える方法。 - 請求項1記載の方法であって、前記ポリシーVMが前記実行された手法からの前記情報を前記メールボックスに入れることを可能にする工程は、
サブシステムが前記手法を実行し、情報を生成する工程と、
前記ポリシーVMが前記情報を受け取り、前記情報を前記メールボックスに入れる工程とを備える方法。 - 請求項2記載の方法であって、前記サブシステムは、高度構成及び電力インタフェース(「ACPI」)サブシステムである方法。
- 請求項3記載の方法であって、前記VMMを拡張してACPI汎用イベント(「GPE」)レジスタ・ブロックを仮想化する工程を更に備える方法。
- 請求項4記載の方法であって、
前記VMMが、前記ポリシーVMにおけるゲスト・オペレーティング・システム(OS)にSCIを投入する工程と、
前記ゲストOSが、前記SCIを前記ACPIサブシステムに転送して、GPEレジスタ・ブロックを検査することによって前記GPEの原因を判定する工程と、
前記VMMが、アクティブ・ステータスを有するステータス・レジスタを備えた仮想GPEレジスタ・ブロックを生成する工程と、
前記ACPIサブシステムが、前記アクティブなステータスを有する前記ステータス・レジスタを備えた前記仮想GPEレジスタ・ブロックを検査する工程と、
前記ACPIサブシステムが、前記アクティブ・ステータスを有する前記ステータス・レジスタを備えたGPEレジスタ・ブロックに基づいて前記SCIを処理するためのACPI制御手法を呼び出す工程とを更に備える方法。 - マシンによって実行されると、命令を記憶させたマシンアクセス可能な媒体を備えた物品であって、マシンによって実行されると、
ポリシー仮想マシン(「VM」)をVMホスト上で識別する機能と、
メモリ領域を前記ポリシーVMに割り当てる機能と、
前記メモリ領域の一部分をメールボックスとして指定する機能と、
前記ポリシーVMが、実行された手法からの情報を前記メールボックスに入れ、仮想マシン・マネージャ(「VMM」)によって検出可能なイベントを生成することを可能にする機能とを前記マシンに行わせる物品。 - 請求項6記載の物品であって、前記命令は前記マシンによって実行されると、前記実行された手法からの前記情報を前記ポリシーVMが前記メールボックス内に入れることを、
前記手法をサブシステムによって実行し、情報を生成し、
前記ポリシーVMによって前記情報を受け取り、前記情報を前記メールボックスに入れることによって更に可能にする物品。 - 請求項7記載の物品であって、前記サブシステムが、高度構成及び電力インタフェース(「ACPI」)サブシステムであり、前記命令は、前記マシンによって実行されると、前記VMMを更に拡張して、ACPI汎用イベント(「GPE」)を認識する物品。
- 請求項8記載の物品であって、前記命令は、前記マシンによって実行されると、更に、
前記VMMに、前記ポリシーVMにおけるゲスト・オペレーティング・システム(OS)にSCIを投入させ、
前記ゲストOSに、前記SCIを前記ACPIサブシステムに転送して、GPEレジスタ・ブロックを検査することによって前記GPEの原因を判定させ、
前記VMMに、アクティブ・ステータスを有するステータス・レジスタを備えた仮想GPEレジスタ・ブロックを生成させ、
前記ACPIサブシステムに、前記アクティブなステータスを有する前記ステータス・レジスタを備えた前記仮想GPEレジスタ・ブロックを検査させ、前記ACPIサブシステムに、前記アクティブ・ステータスを有する前記ステータス・レジスタを備えた前記GPEレジスタ・ブロックに基づいて前記SCIを処理するためのACPI制御方法を呼び出させる物品。 - 仮想マシン(「VM」)ホストであって、
仮想マシン・マネージャ(「VMM」)と、
前記VMMに結合されたメモリと、
前記VMM及び前記メモリに結合されたポリシーVMであって、前記メモリの一部分が前記ポリシー仮想マシンに割り当てられるポリシーVMと、
前記VMM、前記メモリ及び前記ポリシーVMに結合され、情報を生成するための手法を実行することができるサブシステムと、前記ポリシー仮想マシンにおいて割り当てられた前記メモリの前記部分内で指定されるメールボックスであって、前記ポリシーVMは、前記実行された手法によって生成される情報を前記メールボックスに入れ、前記VMMによって検出可能なイベントを検出するVMホスト。 - 請求項10記載のVMホストであって、前記VMMは、前記メールボックスにおける前記情報を処理し、前記VMホスト上の他のVMに配付するVMホスト。
- 請求項11記載のVMホストであって、前記サブシステムは、高度構成及び電力インタフェース(「ACPI」)サブシステムであるVMホスト。
- 請求項12記載のVMホストであって、前記VMMは更に、ACPI汎用イベント(「GPE」)レジスタ・ブロックを仮想化することが更にできるVMホスト。
- 請求項12記載のVMホストであって、
前記ポリシーVM内のゲスト・オペレーティング・システム(OS)であって、前記VMMはSCIを前記ゲストOSに投入することができ、前記ゲストOSは、前記SCIを前記ACPIサブシステムに転送して、GPEレジスタ・ブロックを検査することによって前記GPEの原因を判定し、前記VMMは、アクティブ・ステータスを有するステータス・レジスタを備えた仮想GPEレジスタ・ブロックを生成するゲストOSと、前記アクティブ・スタータスを有する前記ステータス・レジスタを備えた前記仮想GPEレジスタ・ブロックを検査し、前記アクティブ・ステータスを有する前記スタータス・レジスタを備えた前記GPEレジスタ・ブロックに基づいて前記SCIを処理するためのACPI制御手法を呼び出すACPIサブシステムとを更に備えるVMホスト。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/173,711 US7937701B2 (en) | 2005-06-30 | 2005-06-30 | ACPI communication between virtual machine monitor and policy virtual machine via mailbox |
PCT/US2006/026117 WO2007005924A1 (en) | 2005-06-30 | 2006-06-29 | Method, apparatus and system for bi-directional communication between a virtual machine monitor and an acpi-compliant guest-operating system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011155065A Division JP5323897B2 (ja) | 2005-06-30 | 2011-07-13 | 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009508183A true JP2009508183A (ja) | 2009-02-26 |
Family
ID=36997845
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519718A Pending JP2009508183A (ja) | 2005-06-30 | 2006-06-29 | 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム |
JP2011155065A Expired - Fee Related JP5323897B2 (ja) | 2005-06-30 | 2011-07-13 | 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011155065A Expired - Fee Related JP5323897B2 (ja) | 2005-06-30 | 2011-07-13 | 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US7937701B2 (ja) |
EP (1) | EP1899811A1 (ja) |
JP (2) | JP2009508183A (ja) |
KR (1) | KR100992291B1 (ja) |
CN (1) | CN101203834B (ja) |
WO (1) | WO2007005924A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011180885A (ja) * | 2010-03-02 | 2011-09-15 | Nec Corp | コンピュータシステム及びそのhw抽象化方法 |
JP2014527674A (ja) * | 2011-08-30 | 2014-10-16 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | システム管理要求のための仮想高特権モード |
US9275230B2 (en) | 2011-08-30 | 2016-03-01 | Hewlett-Packard Development Company, L.P. | Communication with a virtual trusted runtime BIOS |
JP2017508205A (ja) * | 2014-03-21 | 2017-03-23 | インテル・コーポレーション | プラットフォーム固有の機能の選択的有効化 |
JP2018133758A (ja) * | 2017-02-17 | 2018-08-23 | 日本電信電話株式会社 | 仮想マシン間通信システム |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363463B2 (en) * | 2005-05-13 | 2008-04-22 | Microsoft Corporation | Method and system for caching address translations from multiple address spaces in virtual machines |
US7937701B2 (en) | 2005-06-30 | 2011-05-03 | Intel Corporation | ACPI communication between virtual machine monitor and policy virtual machine via mailbox |
US8909946B2 (en) | 2005-11-15 | 2014-12-09 | Microsoft Corporation | Efficient power management of a system with virtual machines |
US8181025B2 (en) * | 2006-10-31 | 2012-05-15 | Intel Corporation | Method and apparatus for registering agents onto a virtual machine monitor |
US7941803B2 (en) * | 2007-01-15 | 2011-05-10 | International Business Machines Corporation | Controlling an operational mode for a logical partition on a computing system |
US8140822B2 (en) * | 2007-04-16 | 2012-03-20 | International Business Machines Corporation | System and method for maintaining page tables used during a logical partition migration |
US20080256530A1 (en) * | 2007-04-16 | 2008-10-16 | William Joseph Armstrong | System and Method for Determining Firmware Compatibility for Migrating Logical Partitions |
US8281303B2 (en) * | 2007-10-31 | 2012-10-02 | Hewlett-Packard Development Company, L.P. | Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine |
US8521966B2 (en) * | 2007-11-16 | 2013-08-27 | Vmware, Inc. | VM inter-process communications |
US7844845B2 (en) * | 2007-12-04 | 2010-11-30 | Lenovo (Singapore) Pte. Ltd. | System and method for preventing user O.S. in VMM system from deenergizing device being used by service O.S. |
JP5251385B2 (ja) * | 2008-09-16 | 2013-07-31 | 富士通株式会社 | イベント検出システム、イベント検出方法、およびプログラム |
US9026824B2 (en) * | 2008-11-04 | 2015-05-05 | Lenovo (Singapore) Pte. Ltd. | Establishing power save mode in hypervisor system |
EP2202639B1 (en) * | 2008-12-24 | 2012-09-12 | VirtualLogix SA | Virtual machine monitor |
CN101770379B (zh) * | 2008-12-31 | 2013-10-02 | 北京联想软件有限公司 | 加载高级配置与电源接口命名空间的方法及计算机系统 |
US8799691B2 (en) * | 2009-01-07 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Hierarchical power management |
US8166288B2 (en) * | 2009-01-30 | 2012-04-24 | Hewlett-Packard Development Company, L.P. | Managing requests of operating systems executing in virtual machines |
US20100235834A1 (en) * | 2009-03-16 | 2010-09-16 | Faasse Scott P | Providing a management communication channel between a software layer and platform layer for hardware management control |
US8560826B2 (en) | 2009-12-14 | 2013-10-15 | Citrix Systems, Inc. | Secure virtualization environment bootable from an external media device |
US8650565B2 (en) * | 2009-12-14 | 2014-02-11 | Citrix Systems, Inc. | Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware |
CN102117113B (zh) * | 2009-12-31 | 2015-03-04 | 联想(北京)有限公司 | 计算机系统及其中央处理器的电源管理的方法 |
US8285915B2 (en) * | 2010-01-13 | 2012-10-09 | International Business Machines Corporation | Relocating page tables and data amongst memory modules in a virtualized environment |
US8910155B1 (en) * | 2010-11-02 | 2014-12-09 | Symantec Corporation | Methods and systems for injecting endpoint management agents into virtual machines |
KR101544482B1 (ko) | 2011-03-15 | 2015-08-21 | 주식회사 케이티 | 클라우드센터제어장치 및 그의 클라우드센터선택방법 |
JP5778296B2 (ja) * | 2011-12-13 | 2015-09-16 | 株式会社日立製作所 | 仮想計算機システム、仮想化機構、及びデータ管理方法 |
EP2811403A4 (en) * | 2012-02-03 | 2015-10-07 | Fujitsu Ltd | CONTROL PROGRAM FOR A VIRTUAL MACHINE, VIRTUAL MACHINE CONTROL METHOD AND INFORMATION PROCESSING DEVICE |
US9235427B2 (en) | 2012-02-29 | 2016-01-12 | Red Hat Israel, Ltd. | Operating system load device resource selection |
US8949587B2 (en) * | 2012-05-11 | 2015-02-03 | Red Hat Israel, Ltd. | Method for dynamic loading of operating systems on bootable devices |
CN105051698B (zh) | 2013-03-28 | 2018-11-16 | 瑞典爱立信有限公司 | 用于基础设施即服务云中故障管理的方法和布置 |
US9699093B2 (en) * | 2013-06-12 | 2017-07-04 | Dell Products L.P. | Migration of virtual machine based on proximity to peripheral device in NUMA environment |
US9921865B2 (en) * | 2014-01-30 | 2018-03-20 | Red Hat Israel, Ltd. | Population of system tables by hypervisor |
WO2016003434A1 (en) | 2014-06-30 | 2016-01-07 | Hewlett-Packard Development Company, L.P. | Virtual machine device access |
CN105335228B (zh) * | 2014-06-30 | 2018-12-07 | 华为技术有限公司 | 一种内存变更处理方法,及操作系统 |
US10261817B2 (en) * | 2014-07-29 | 2019-04-16 | Nxp Usa, Inc. | System on a chip and method for a controller supported virtual machine monitor |
US10447728B1 (en) | 2015-12-10 | 2019-10-15 | Fireeye, Inc. | Technique for protecting guest processes using a layered virtualization architecture |
US10846117B1 (en) * | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US10108446B1 (en) | 2015-12-11 | 2018-10-23 | Fireeye, Inc. | Late load technique for deploying a virtualization layer underneath a running operating system |
US10282226B2 (en) * | 2016-12-20 | 2019-05-07 | Vmware, Inc. | Optimizing host CPU usage based on virtual machine guest OS power and performance management |
US10782993B2 (en) * | 2017-10-13 | 2020-09-22 | Dell Products L.P. | Systems and methods for secure runtime dynamic resizing of memory namespaces |
US10740111B2 (en) | 2018-05-01 | 2020-08-11 | Dell Products L.P. | System and method of restoring settings of information handling systems |
US11171834B1 (en) * | 2018-11-16 | 2021-11-09 | Juniper Networks, Inc. | Distributed virtualized computing infrastructure management |
US11550607B2 (en) * | 2019-09-27 | 2023-01-10 | Red Hat, Inc. | Processor core power management in a virtualized environment |
US11809878B2 (en) * | 2020-02-13 | 2023-11-07 | Intel Corporation | Deployment of BIOS to operating system data exchange |
US11573815B2 (en) * | 2020-04-29 | 2023-02-07 | Red Hat, Inc. | Dynamic power management states for virtual machine migration |
US11237839B2 (en) | 2020-06-19 | 2022-02-01 | Dell Products L.P. | System and method of utilizing platform applications with information handling systems |
US11340937B2 (en) | 2020-06-24 | 2022-05-24 | Dell Products L.P. | System and method of utilizing platform applications with information handling systems |
US11340682B1 (en) | 2021-03-02 | 2022-05-24 | Dell Products L.P. | System and method of configuring power settings of an information handling system |
EP4250105A1 (en) * | 2022-03-22 | 2023-09-27 | Samsung Electronics Co., Ltd. | Communication method between virtual machines using mailboxes, system-on chip performing communication method, and in-vehicle infotainment system including same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002318699A (ja) * | 2001-04-19 | 2002-10-31 | Hitachi Ltd | 仮想計算機システム |
JP2002544620A (ja) * | 1999-05-19 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 論理区分化コンピュータのイベント・ドリブン通信インタフェース |
JP2004252591A (ja) * | 2003-02-18 | 2004-09-09 | Hitachi Ltd | 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法 |
US20050132367A1 (en) * | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2945498B2 (ja) * | 1991-04-12 | 1999-09-06 | 富士通株式会社 | システム間通信方式 |
JP3300407B2 (ja) * | 1992-05-15 | 2002-07-08 | 富士通株式会社 | 仮想計算機システム |
JP3265131B2 (ja) * | 1994-08-29 | 2002-03-11 | 日本電気株式会社 | イベント生成分配方式 |
US6055643A (en) | 1997-09-25 | 2000-04-25 | Compaq Computer Corp. | System management method and apparatus for supporting non-dedicated event detection |
CA2276640A1 (en) | 1998-06-30 | 1999-12-30 | Peter A. Korn | System and method for facilitating the transfer of information between programs processed in a digital computer system |
US6826701B1 (en) * | 2000-04-20 | 2004-11-30 | Microsoft Corporation | Re-running general purpose event control methods in a computer system |
CA2315449A1 (en) * | 2000-08-10 | 2002-02-10 | Ibm Canada Limited-Ibm Canada Limitee | Generation of runtime execution traces of applications and associated problem determination |
US6892264B2 (en) * | 2001-10-05 | 2005-05-10 | International Business Machines Corporation | Storage area network methods and apparatus for associating a logical identification with a physical identification |
FR2840082B1 (fr) * | 2002-05-24 | 2006-04-07 | Bull Sa | Procede d'echange d'informations entre systemes d'exploitation cohabitant sur un meme ordinateur |
US7181744B2 (en) * | 2002-10-24 | 2007-02-20 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
US7424710B1 (en) * | 2002-12-18 | 2008-09-09 | Vmware, Inc. | TCP/IP offloading for virtual machines |
US7376948B2 (en) * | 2003-04-24 | 2008-05-20 | International Business Machines Corporation | Selective generation of an asynchronous notification for a partition management operation in a logically-partitioned computer |
US8027922B2 (en) * | 2003-07-14 | 2011-09-27 | Sprint Communications Company L.P. | Integration infrastructure |
US7370324B2 (en) * | 2003-09-30 | 2008-05-06 | Intel Corporation | Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment |
WO2005036806A2 (en) * | 2003-10-08 | 2005-04-21 | Unisys Corporation | Scalable partition memory mapping system |
US20050102670A1 (en) * | 2003-10-21 | 2005-05-12 | Bretl Robert F. | Shared object memory with object management for multiple virtual machines |
US7739684B2 (en) * | 2003-11-25 | 2010-06-15 | Intel Corporation | Virtual direct memory access crossover |
US20050204357A1 (en) * | 2004-03-15 | 2005-09-15 | Ajay Garg | Mechanism to protect extensible firmware interface runtime services utilizing virtualization technology |
US7543166B2 (en) * | 2004-05-12 | 2009-06-02 | Intel Corporation | System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine |
US7908653B2 (en) * | 2004-06-29 | 2011-03-15 | Intel Corporation | Method of improving computer security through sandboxing |
US20060020940A1 (en) * | 2004-07-08 | 2006-01-26 | Culter Bradley G | Soft-partitioning systems and methods |
US7937701B2 (en) | 2005-06-30 | 2011-05-03 | Intel Corporation | ACPI communication between virtual machine monitor and policy virtual machine via mailbox |
-
2005
- 2005-06-30 US US11/173,711 patent/US7937701B2/en active Active
-
2006
- 2006-06-29 CN CN2006800220217A patent/CN101203834B/zh not_active Expired - Fee Related
- 2006-06-29 JP JP2008519718A patent/JP2009508183A/ja active Pending
- 2006-06-29 WO PCT/US2006/026117 patent/WO2007005924A1/en active Application Filing
- 2006-06-29 KR KR1020077030427A patent/KR100992291B1/ko not_active IP Right Cessation
- 2006-06-29 EP EP06786312A patent/EP1899811A1/en not_active Withdrawn
-
2011
- 2011-07-13 JP JP2011155065A patent/JP5323897B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002544620A (ja) * | 1999-05-19 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 論理区分化コンピュータのイベント・ドリブン通信インタフェース |
JP2002318699A (ja) * | 2001-04-19 | 2002-10-31 | Hitachi Ltd | 仮想計算機システム |
JP2004252591A (ja) * | 2003-02-18 | 2004-09-09 | Hitachi Ltd | 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法 |
US20050132367A1 (en) * | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011180885A (ja) * | 2010-03-02 | 2011-09-15 | Nec Corp | コンピュータシステム及びそのhw抽象化方法 |
US8555046B2 (en) | 2010-03-02 | 2013-10-08 | Nec Corporation | Computer system and its HW abstraction method |
JP2014527674A (ja) * | 2011-08-30 | 2014-10-16 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | システム管理要求のための仮想高特権モード |
US9275230B2 (en) | 2011-08-30 | 2016-03-01 | Hewlett-Packard Development Company, L.P. | Communication with a virtual trusted runtime BIOS |
US9535710B2 (en) | 2011-08-30 | 2017-01-03 | Hewlett-Packard Development Company, L.P. | Communication with a virtual trusted runtime BIOS |
US9542197B2 (en) | 2011-08-30 | 2017-01-10 | Hewlett-Packard Development Company, L.P. | Router and a virtual trusted runtime BIOS |
US10303501B2 (en) | 2011-08-30 | 2019-05-28 | Hewlett-Packard Development Company, L.P. | Virtual high privilege mode for a system management request |
JP2017508205A (ja) * | 2014-03-21 | 2017-03-23 | インテル・コーポレーション | プラットフォーム固有の機能の選択的有効化 |
JP2018133758A (ja) * | 2017-02-17 | 2018-08-23 | 日本電信電話株式会社 | 仮想マシン間通信システム |
Also Published As
Publication number | Publication date |
---|---|
KR20080014083A (ko) | 2008-02-13 |
US20070006227A1 (en) | 2007-01-04 |
KR100992291B1 (ko) | 2010-11-05 |
WO2007005924A1 (en) | 2007-01-11 |
CN101203834B (zh) | 2012-05-09 |
JP2011238272A (ja) | 2011-11-24 |
EP1899811A1 (en) | 2008-03-19 |
CN101203834A (zh) | 2008-06-18 |
JP5323897B2 (ja) | 2013-10-23 |
US7937701B2 (en) | 2011-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5323897B2 (ja) | 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム | |
US7971203B2 (en) | Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another | |
US10691363B2 (en) | Virtual machine trigger | |
JP4921384B2 (ja) | メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム | |
JP6126312B2 (ja) | 待ち時間の影響を受けやすい仮想マシンをサポートするように構成された仮想マシンモニタ | |
TWI417790B (zh) | 異質架構中之邏輯分割以及虛擬化 | |
JP5042848B2 (ja) | 仮想マシン・モニタの構成部分を特権化解除するためのシステム及び方法 | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
US10656961B2 (en) | Method and apparatus for operating a plurality of operating systems in an industry internet operating system | |
CN103034524A (zh) | 半虚拟化的虚拟gpu | |
US8065441B2 (en) | Method and apparatus for supporting universal serial bus devices in a virtualized environment | |
JP2009506462A (ja) | 多層仮想化メカニズムを用いた階層的な仮想化 | |
US20070011444A1 (en) | Method, apparatus and system for bundling virtualized and non-virtualized components in a single binary | |
JP2013516021A (ja) | プロセッサコアのハイパーバイザ離隔 | |
US11243795B2 (en) | CPU overcommit with guest idle polling | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
KR20160033517A (ko) | 인터럽트 컨트롤러를 위한 하이브리드 가상화 방법 | |
US20190377612A1 (en) | VCPU Thread Scheduling Method and Apparatus | |
US20150186180A1 (en) | Systems and methods for affinity dispatching based on network input/output requests | |
US10810032B2 (en) | System and method for dynamic guest-controlled halt polling using a CPU governor | |
US11614973B2 (en) | Assigning devices to virtual machines in view of power state information | |
US20230033583A1 (en) | Primary input-output queue serving host and guest operating systems concurrently |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110713 |