JP2009508183A - 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム - Google Patents

仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム Download PDF

Info

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
Application number
JP2008519718A
Other languages
English (en)
Inventor
キニー,マイケル,ディ
ブラノック,カーク,ディ
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2009508183A publication Critical patent/JP2009508183A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory 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)、磁気ディスク記憶媒体、光記憶媒体や、フラッシュ・メモリ装置など)、並びに、伝搬信号(搬送波、赤外信号やディジタル信号など)の電気的、光学的、音響的、又はその他の形式を含む。
一実施例によれば、計算装置は、1つ又は複数のプロセッサなどの種々の他の周知の構成部分を含み得る。プロセッサ及びマシンアクセス可能な媒体は、通信するようブリッジ/メモリ・コントローラを用いて結合することができ、プロセッサは、マシンアクセス可能な媒体に記憶された命令を実行することができ得る。ブリッジ/メモリ・コントローラはグラフィクス・コントローラに結合することができ、グラフィックス・コントローラは、表示装置上の表示データの出力を制御することができる。ブリッジ/メモリ・コントローラは1つ又は複数のバスに結合することができる。前述の構成要素の1つ又は複数は、単一のパッケージ上に、又は複数のパッケージ若しくはダイを用いて、プロセッサとともに一体化することができる。ユニバーサル・シリアル・バス(「USB」)ホスト・コントローラなどのホスト・バス・コントローラはバスに結合することができ、複数の装置をUSBに結合することができる。例えば、キーボードやマウスなどのユーザ入力装置を、入力データを供給するために計算装置に含めることができる。別の実施例では、ホスト・バス・コントローラは、種々の他の相互接続標準(PCI、PCIエクスプレス、ファイヤワイヤやその他のそうした既存及び将来の基準を含む)と互換であり得る。
上記明細書では、その特定の例示的な実施例を参照して本発明を説明している。しかし、特許請求の範囲記載の本発明のより広範囲にわたる趣旨及び範囲から逸脱しない限り、種々の修正及び変更を行うことができることが認識されよう。本明細書及び添付図面はよって、限定的な意味合いでなく例証的な意味合いで解するものとする。
通常の仮想マシン・ホストの例を示す図である。 本発明の種々の実施例を更に詳細に示す図である。 本発明の種々の実施例を更に詳細に示す図である。 本発明の実施例を示すフロー図である。 本発明の実施例を示すフロー図である。

Claims (14)

  1. 方法であって、
    ポリシー仮想マシン(「VM」)をVMホスト上で識別する工程と、
    メモリ領域を前記ポリシーVMに割り当てる工程と、
    前記メモリ領域の一部分をメールボックスとして指定する工程と、
    前記ポリシーVMが、実行された手法からの情報を前記メールボックスに入れ、仮想マシン・マネージャ(「VMM」)によって検出可能なイベントを生成することを可能にする工程とを備える方法。
  2. 請求項1記載の方法であって、前記ポリシーVMが前記実行された手法からの前記情報を前記メールボックスに入れることを可能にする工程は、
    サブシステムが前記手法を実行し、情報を生成する工程と、
    前記ポリシーVMが前記情報を受け取り、前記情報を前記メールボックスに入れる工程とを備える方法。
  3. 請求項2記載の方法であって、前記サブシステムは、高度構成及び電力インタフェース(「ACPI」)サブシステムである方法。
  4. 請求項3記載の方法であって、前記VMMを拡張してACPI汎用イベント(「GPE」)レジスタ・ブロックを仮想化する工程を更に備える方法。
  5. 請求項4記載の方法であって、
    前記VMMが、前記ポリシーVMにおけるゲスト・オペレーティング・システム(OS)にSCIを投入する工程と、
    前記ゲストOSが、前記SCIを前記ACPIサブシステムに転送して、GPEレジスタ・ブロックを検査することによって前記GPEの原因を判定する工程と、
    前記VMMが、アクティブ・ステータスを有するステータス・レジスタを備えた仮想GPEレジスタ・ブロックを生成する工程と、
    前記ACPIサブシステムが、前記アクティブなステータスを有する前記ステータス・レジスタを備えた前記仮想GPEレジスタ・ブロックを検査する工程と、
    前記ACPIサブシステムが、前記アクティブ・ステータスを有する前記ステータス・レジスタを備えたGPEレジスタ・ブロックに基づいて前記SCIを処理するためのACPI制御手法を呼び出す工程とを更に備える方法。
  6. マシンによって実行されると、命令を記憶させたマシンアクセス可能な媒体を備えた物品であって、マシンによって実行されると、
    ポリシー仮想マシン(「VM」)をVMホスト上で識別する機能と、
    メモリ領域を前記ポリシーVMに割り当てる機能と、
    前記メモリ領域の一部分をメールボックスとして指定する機能と、
    前記ポリシーVMが、実行された手法からの情報を前記メールボックスに入れ、仮想マシン・マネージャ(「VMM」)によって検出可能なイベントを生成することを可能にする機能とを前記マシンに行わせる物品。
  7. 請求項6記載の物品であって、前記命令は前記マシンによって実行されると、前記実行された手法からの前記情報を前記ポリシーVMが前記メールボックス内に入れることを、
    前記手法をサブシステムによって実行し、情報を生成し、
    前記ポリシーVMによって前記情報を受け取り、前記情報を前記メールボックスに入れることによって更に可能にする物品。
  8. 請求項7記載の物品であって、前記サブシステムが、高度構成及び電力インタフェース(「ACPI」)サブシステムであり、前記命令は、前記マシンによって実行されると、前記VMMを更に拡張して、ACPI汎用イベント(「GPE」)を認識する物品。
  9. 請求項8記載の物品であって、前記命令は、前記マシンによって実行されると、更に、
    前記VMMに、前記ポリシーVMにおけるゲスト・オペレーティング・システム(OS)にSCIを投入させ、
    前記ゲストOSに、前記SCIを前記ACPIサブシステムに転送して、GPEレジスタ・ブロックを検査することによって前記GPEの原因を判定させ、
    前記VMMに、アクティブ・ステータスを有するステータス・レジスタを備えた仮想GPEレジスタ・ブロックを生成させ、
    前記ACPIサブシステムに、前記アクティブなステータスを有する前記ステータス・レジスタを備えた前記仮想GPEレジスタ・ブロックを検査させ、前記ACPIサブシステムに、前記アクティブ・ステータスを有する前記ステータス・レジスタを備えた前記GPEレジスタ・ブロックに基づいて前記SCIを処理するためのACPI制御方法を呼び出させる物品。
  10. 仮想マシン(「VM」)ホストであって、
    仮想マシン・マネージャ(「VMM」)と、
    前記VMMに結合されたメモリと、
    前記VMM及び前記メモリに結合されたポリシーVMであって、前記メモリの一部分が前記ポリシー仮想マシンに割り当てられるポリシーVMと、
    前記VMM、前記メモリ及び前記ポリシーVMに結合され、情報を生成するための手法を実行することができるサブシステムと、前記ポリシー仮想マシンにおいて割り当てられた前記メモリの前記部分内で指定されるメールボックスであって、前記ポリシーVMは、前記実行された手法によって生成される情報を前記メールボックスに入れ、前記VMMによって検出可能なイベントを検出するVMホスト。
  11. 請求項10記載のVMホストであって、前記VMMは、前記メールボックスにおける前記情報を処理し、前記VMホスト上の他のVMに配付するVMホスト。
  12. 請求項11記載のVMホストであって、前記サブシステムは、高度構成及び電力インタフェース(「ACPI」)サブシステムであるVMホスト。
  13. 請求項12記載のVMホストであって、前記VMMは更に、ACPI汎用イベント(「GPE」)レジスタ・ブロックを仮想化することが更にできるVMホスト。
  14. 請求項12記載のVMホストであって、
    前記ポリシーVM内のゲスト・オペレーティング・システム(OS)であって、前記VMMはSCIを前記ゲストOSに投入することができ、前記ゲストOSは、前記SCIを前記ACPIサブシステムに転送して、GPEレジスタ・ブロックを検査することによって前記GPEの原因を判定し、前記VMMは、アクティブ・ステータスを有するステータス・レジスタを備えた仮想GPEレジスタ・ブロックを生成するゲストOSと、前記アクティブ・スタータスを有する前記ステータス・レジスタを備えた前記仮想GPEレジスタ・ブロックを検査し、前記アクティブ・ステータスを有する前記スタータス・レジスタを備えた前記GPEレジスタ・ブロックに基づいて前記SCIを処理するためのACPI制御手法を呼び出すACPIサブシステムとを更に備えるVMホスト。
JP2008519718A 2005-06-30 2006-06-29 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム Pending JP2009508183A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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