JP2009506462A - 多層仮想化メカニズムを用いた階層的な仮想化 - Google Patents

多層仮想化メカニズムを用いた階層的な仮想化 Download PDF

Info

Publication number
JP2009506462A
JP2009506462A JP2008529220A JP2008529220A JP2009506462A JP 2009506462 A JP2009506462 A JP 2009506462A JP 2008529220 A JP2008529220 A JP 2008529220A JP 2008529220 A JP2008529220 A JP 2008529220A JP 2009506462 A JP2009506462 A JP 2009506462A
Authority
JP
Japan
Prior art keywords
partition
virtualization
hypervisor
stack
child
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
JP2008529220A
Other languages
English (en)
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 JP2009506462A publication Critical patent/JP2009506462A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/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/45566Nested virtual machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Separation By Low-Temperature Treatments (AREA)
  • Coupling Device And Connection With Printed Circuit (AREA)

Abstract

【解決手段】多層メカニズムを用いて仮想化が達成できる階層的な仮想化を開示する。階層的な仮想化は、第1のパーティションを維持するハイパーバイザを使用することと、第2のパーティション作成し制御するための第1のパーティション内の仮想化スタックを使用すること、を含む。複数の仮想化スタックは、第1のパーティション内に存在可能であって、そのような仮想化スタックそれぞれが、複数のパーティションを作成し制御可能である。特定の一実装においては、子パーティションは、親パーティション関連のリソースの一部又はすべての排他制御を有し得る。そのように仮想化された環境における最終的な調停者としてのハイパーバイザが、そのような設定を実施し、仮想化された階層構造における任意のパーティション内で直接に通信できる。
【選択図】図4B

Description

本開示は一般に、計算分野に関連する。より具体的には、それは計算機の仮想化に関連する。
仮想化の概念は、それぞれ個別のパーティション内に含まれ得る複数のオペレーティングシステムそれぞれが、単一ハードウェア上で動作できるように、コンピュータハードウェアの仮想化を必要とする。様々なオペレーティングシステムがソフトウェアと対話し、ソフトウェアもハードウェアと対話するように、仮想化ソフトウェアが多様な方法でハードウェアを抽象化する。
仮想化システムのほとんどは、単一の仮想マシンモニタ(VMM)ソフトウェアを含む。構成の中には、このVMMが「ハイパーバイザ」と呼ばれるものもある。ハイパーバイザは、ハードウェア上で直接に動作するように設計される。それ自体は、ハードウェアをどのように使用するかに関する最終的な仲裁者(アービタ)である。この理由のために、一般的な場合、(一組のハードウェア上で)1つのハイパーバイザだけがマシン上に存在し得る。ハイパーバイザによって、複数の「ゲスト」オペレーティングシステム(OS)又は略して「ゲスト」が、システム上で同時に動作できる。
VMM又はハイパーバイザは、特定の目標を念頭に設計され得る。技術者は、セキュリティ、複雑性、柔軟性、性能などの間で得失を評価する必要がある。VMM(複数)又はハイパーバイザの中には、プログラムに従ったインタフェースを介し、ゲストと対話可能なものもある。いくつかのインタフェース同様に複数のバージョンの扱いが重要になる。1つのバージョンのハイパーバイザのために記述されるゲストは、異なるバージョンのハイパーバイザと非互換であり得る。
このように、単一のマシン上において、ハイパーバイザの複製を動作することが有用とされる状況がある。例えば1つのバージョンは非常に単純であって、高いセキュリティ保証を提供し得、別のバージョンは、もっと複雑で複雑な特徴を提供できる。そのような複数のバージョンは並列に実行できると良い。
第名:「SYSTEMS AND METHODS FOR MULTI-LEVEL INTERCEPT PROCESSING IN A VIRTUAL MACHINE ENVIRONMENT」シリアル番号 11/078,141,出願日2005年3月11日
残念ながら、マシン上に1つのハイパーバイザしか存在できないので、これは今日の設計を持ってしても可能でない。この問題に対する従来の一アプローチは、再帰的な仮想化の使用によるハイパーバイザの「ネスト化」である。単一の「本物」のハイパーバイザが基本に位置し、1つ以上の第2のレベルのハイパーバイザがその上で動作する。この構成は、不十分な性能という不都合を有する。第2のレベルのハイパーバイザは、ハードウェアへの直接のアクセスを有すると仮定して記述されるので、それらも同様にうまく動作しない。要約すると、更なるレベルのネストされたハイパーバイザそれぞれを用いると、仮想化されたシステム全体の性能は、幾何級数的に悪化する。
また多くのプロセッサは、1つのレベルの仮想化のためのハードウェアの支援を提供するが、それらは2つ以上のための支援をほとんど提供しない。このようにハードウェアの観点から、単一の物理的なマシン上で複数のハイパーバイザを実装するのは困難になる。従って、ソフトウェアの複数バージョンがハードウェア上で同時に直接に動作しているように、ハードウェア上で直接にソフトウェアを仮想化することを実行するためのメカニズムを提供することが好都合である。
本願において開示される課題は、多層の仮想化メカニズムを用いた階層的な仮想化に関する。一例において、そのような仮想化を提供するための方法が使用され、そこでは第1のパーティションが、ハイパーバイザを用いて維持される。第1のパーティション内の第1の仮想化スタックは、例えば、第1の場所において第2のパーティションを作成し、そのリソースを割り当てることによって、第2のパーティションと対話する。1つのパーティションにおける仮想化スタックが別のパーティションを制御するところの、そのような階層的な構成のパーティション内のハイパーバイザは、実際にはパーティションそれぞれを認識していて、パーティションそれぞれと直接に通信できる。ハイパーバイザは、パーティションそれぞれと通信できるので、それは任意のパーティション内の任意のリソースもまた列挙できる。
更に、第2のパーティションは、それ自身の第2の仮想化スタックを使用し、第3のパーティションを生成することによって、パーティションの階層関係を追加できる。更に、第1のパーティション内の第3の仮想化スタックは、第1の仮想化スタックと並列に共存でき、そこではこの後者の第3の仮想化スタックは、前述の第1、第2及び第3のパーティションから独立している第4のパーティションを作成できる。あるいはまた、任意の時間に仮想化スタックが2つ以上のパーティションを作成でき、制御できるので、第1の仮想化スタックは、第4のパーティションを作成できる。
本開示の別の例においては、階層的な仮想化のセキュリティを論述する。このように、親パーティションが提供され、この親パーティションは、仮想化スタックを有する。子パーティションは、親パーティション内に仮想化スタックによって作成されるが、しかし、子パーティションは、それ自身の制御下で少なくとも1つのリソース(又はその一部)を排他的に有するので、それは完全に親の管理下にはない。セキュリティの理由から子パーティションは、その親パーティションを信頼できず、そのような場合、親は子のいくつかのリソースに到達できない。親パーティションからこの子の解放を実施するために、子パーティションは、親パーティションに対してリソース及び別のオブジェクトの排他制御を依頼し、この仮想化された環境における最終的なアービタとしてのハイパーバイザは、親パーティションが子パーティションのリクエストに応じるのを確かめる。
「発明を実施するための最良の形態」において、更に後述されるいくつかの概念を紹介するために簡易化された形式でこの概要を提供する。
この概要が、請求項記載対象の重要な特色又は本質的な特徴を特定することを意図せず、また援助として請求項記載対象の範囲を決定するときに使用されることも意図しない。
添付の図面と併せて読まれるとき、上記の概要及び以下「発明を実施するための最良の形態」が更に理解されよう。本開示を例示するための本開示の多様な特徴が示される。しかし、本開示は論述される特定の特徴に限定されない。以下の図面が含まれる。
概要
以下に提供される説明は最初に、仮想マシンの一般的で簡潔な論述と共に始める。次に多層仮想化メカニズムを用いた階層的な仮想化の論述に焦点を移す。階層的な仮想化に関連する特徴について論述し、そこでは1つのパーティションのハイパーバイザによって維持され、パーティションに含まれる仮想化スタックが、別のパーティションを生成及び制御できる。あるいはまた、パーティションは更なるパーティションを作成及び制御可能な2つ以上の仮想化スタックを有し得る。いずれの場合でも、ハイパーバイザは、第1の場所においてパーティションそれぞれを認識しているので、ハイパーバイザは、階層構造内のパーティションそれぞれと直接に通信できる。最後に階層的な仮想化を可能にするメカニズムをまず、それをハイパーバイザマイクロカーネルと仮想化スタックに分けて1つづつ論述する。これらの2つの要素とコンポーネントそれぞれを順に更に詳細に論述する。
仮想マシン
図1は、計算機システムの仮想化された環境のためのハードウェア及びソフトウェアアーキテクチャの論理的なレイヤを表す図である。本図においては、仮想化プログラム(110)は、物理的なハードウェアアーキテクチャ(112)上で直接又は間接に動作する。仮想化プログラム(110)は、ハイパーバイザコンポーネントを有するホストオペレーティングシステム又はホストオペレーティングシステムと並列に動作する(1つの)仮想マシンモニタであり得、ハイパーバイザコンポーネントが仮想化を実行する。仮想化プログラム(110)は、(このコンポーネントがパーティション又は「仮想マシン」という事実を例示するために破線として表示される)ゲストハードウェアアーキテクチャ(108)を仮想化し、これはすなわち実際に存在しないが、代わりに仮想化プログラム(110)によって仮想化されたハードウェアである。ゲストオペレーティングシステム(106)は、ゲストハードウェアアーキテクチャ(108)上で動作し、ソフトウェアアプリケーション(104)は、ゲストオペレーティングシステム(106)上で動作する。図1の仮想化された動作環境においては、通常、ホストオペレーティングシステム及びハードウェアアーキテクチャ(112)と互換性のないオペレーティングシステム上でソフトウェアアプリケーション(104)が動くように設計されていても、ソフトウェアアプリケーション(104)は、計算機システム(102)において動作できる。
図2Aは、物理的なコンピュータハードウェア(202)上で直接に動作するホストオペレーティングシステム(ホストOS)のソフトウェアレイヤ(204)を含む仮想化された計算システムを例示し、ホストOS(204)が、オペレーティングシステム(212)及び(214)それぞれによる使用のために、パーティションA(208)及びB(210)にインタフェースを公開することによって、物理的なコンピュータハードウェア(202)のリソースへのアクセスを提供する。これによって、ホストOS(204)を、その上で動作するオペレーティングシステムレイヤ(212)及び(214)が意識せずに動作することを可能にする。更に、仮想化を実行するために、ホストOS(204)は、もともと仮想化機能を有する特定用途に設計されたオペレーティングシステムであり得るか、またあるいはそれは、仮想化を実行するために組込まれた(表示されない)ハイパーバイザコンポーネントを有する標準のオペレーティングシステムであり得る。
再び図2Aを参照すると、ホストOS(204)上には、2つのパーティションがあり、パーティションA(208)は例えば、仮想化インテル386プロセッサであって、パーティションB(210)は、例えば仮想化されたモトローラ680X0ファミリープロセッサのうち1つのバージョンであり得る。パーティション(208)及び(210)内にゲストオペレーティングシステム(ゲストOS(複数))A(212)及びB(214)それぞれがある。ゲストOS A(212)の上位で動作する2つのアプリケーションとして、アプリケーションA1(216)及びアプリケーションA2(218)があり、ゲストOS B(214)の上位で動作するアプリケーションB1(220)がある。
図2Aに関して重要なことは、(破線で表示される)パーティションA(208)及びパーティションB(214)は、ソフトウェア構造としてのみ存在する仮想化されたコンピュータハードウェア表現であることに留意することである。特定用途の仮想化ソフトウェア(単数又は複数)の実行によって可能とされることは、パーティションA(208)及びパーティションB(210)をゲストOS A(212)及びゲストOS B(214)それぞれに与えるだけではなく、また実際の物理的なコンピュータハードウェア(202)と間接的に対話するために、ゲストOS A(212)及びゲストOS B(214)に対して必要なソフトウェアステップすべてを実行することである。
図2Bは、ホストオペレーティングシステム(204”)と並列に動作する仮想マシンモニタ(VMM)(204’)によって仮想化が実行される、代替の仮想化された計算システムを例示する。特定の場合、VMM(204’)は、ホストオペレーティングシステム(204”)上で動作し、ホストオペレーティングシステム(204”)だけを介し、コンピュータハードウェア(202)と対話するアプリケーションであり得る。別の場合では、図2Bに表示されるようにVMM(204’)は、代わりにホストオペレーティングシステム(204”)を介し、コンピュータハードウェア(202)といくつかのレベルにおいて間接的に対話する部分的に独立したソフトウェアシステムを含み得るが、VMM(204’)は、別のレベルにおいて(ホストオペレーティングシステムが直接にコンピュータハードウェアと対話する方法と同様に)コンピュータハードウェア(202)と直接に対話する。しかし更に他の場合、VMM(204’)は、(コンピュータハードウェア(202)の使用を調整し、競合その他を避けるために、ずっとホストオペレーティングシステム(204”)と対話しているが)、ホストオペレーティングシステム(204”)を利用せずに(ホストオペレーティングシステムがコンピュータハードウェアと直接に対話する方法と同様に)すべてのレベルおいてコンピュータハードウェア(202)と直接に対話する、完全に独立しているソフトウェアシステムを含むことができる。
前述のパーティションを実装するための、これら多様性のすべては単に例示的な実装であって、本明細書が任意の特定の仮想化の特徴に本開示を制限するとして解釈するべきでない。
多層仮想マシンモニタを用いた階層的な仮想化
階層的な仮想化は、仮想マシンモニタ(VMM)又はハイパーバイザ形式における多層仮想化メカニズムで達成され得る。例えば、モノリシックなハイパーバイザの使用を介する伝統的に提供される機能性は、ハードウェア上で直接に動作するマイクロカーネル及びパーティション内で動作する仮想化スタックに分けられる。この種類の多層アーキテクチャは、パーティション内の仮想化スタックが、別のパーティションを生成し、制御(又は簡単に言うと「維持」)し、そしてこれらのパーティションもまた別のパーティションを更に維持できる別の仮想化スタックを含み得るという点において、階層的な仮想化を可能にする。重要なことに、この種類の構造は典型的な「ネストされた」再帰的な仮想化と異なり、その性能を改善する。
図3は、多層仮想化メカニズムを用いた階層的な仮想化と対照的な方法による再帰的仮想化を例示する。再帰的な仮想化においては、ハイパーバイザは「ネスト」される。単一の「本物」のハイパーバイザが基盤に位置し、1つ以上の第2のレベルのハイパーバイザがその上位で動作する。例えば、図3において、「本物」のハイパーバイザA(301)がマシンのハードウェア(300)の上位に位置する。ハイパーバイザB(302)及びC(308)が、ゲストパーティションB(314)及びC(316)内でネストされ、ゲストパーティションB(314)及びC(316)は、「本物」のハイパーバイザA(301)によって維持される。
ネストされたハイパーバイザB(302)及びC(308)それぞれは、それ自身のゲストパーティションを維持できる。例えばハイパーバイザB(302)は、ゲストパーティションB.1(304)及びゲストパーティションB.2(306)を維持する。同様にハイパーバイザC(308)は、ゲストパーティションC.1(310)及びゲストパーティションC.2(312)を維持する。図3には例示されないが、ゲストパーティションB.1 (304)、B.2(306)、C.1(310)及びC.2(312)が、ゲストパーティションB(314)及びB(316)内で更にネストされたハイパーバイザをホストできることを当業者は理解されよう。そしてこれらの更なるネストされたハイパーバイザは、更なるネストされたパーティションなどを維持できる。
しかし、この再帰的構成は、不十分な性能という不都合を有する。第2のレベル(及び、より上位すべて)のハイパーバイザが、ハードウェアへの直接のアクセスを有すると仮定し、記述されるのでそれらも同様にうまく動作しない。また、多くのプロセッサは1つのレベルの仮想化のためのハードウェア支援を提供するが、それらは2つ以上の支援をほとんど提供しない。結局、そのようにネストされた設定においては、いかなるハイパーバイザもすべてのパーティションを意識せずに、それはすべてのパーティションと(例えばハイパーコールを介し)直接に通信もできない。例えば、ハイパーバイザA(301)が、ゲストB.1(304)と通信を所望する場合、ハイパーバイザB(302)を介し動作する必要があり、それは非常に効率が悪い。
図3と対照的に、図4A及び4Bは、ネストされたハイパーバイザを使用する必要性を取り除いた多層仮想化メカニズムを用いる階層的な仮想化を例示する。このように図4Aでは、従来のハイパーバイザに対して分割された(複数のレベルにおいて動作する)機能性を有するハイパーバイザを示す。図4Aの左は、従来のハイパーバイザ(401)の設定であり、右は、本明細書に開示の設定であって、ハイパーバイザは、仮想化スタック(402)及びハイパーバイザマイクロカーネル(400)に分けられる。
マイクロカーネル(400)は、非常に小さく、単純で、それはハードウェア(403)と対話する。それはマシンのリソースを区切るために必要とされる最も基本的なサービスを提供するだけである。ハイパーバイザ(401)のもっと複雑な部分は、仮想化スタック(402)の形式で任意に選択されるゲストパーティション(405)に対して「プッシュアウト」される。仮想化スタック(402)は、装置の仮想化、ページング、パーティションの生成、構成などのような振舞いに対応する。
図4Bは、マイクロカーネル化されたハイパーバイザ及び仮想化スタックの、典型的な仮想化環境における適合方法についての鳥瞰図を提供する。ここで、本開示の一特徴において、ハイパーバイザマイクロカーネル(400)が、物理的なマシンハードウェア(403)の上位に直接に位置し、ハイパーバイザマイクロカーネル(400)の関連する仮想化スタック(402)が、親パーティション(404)にプッシュアウトされる。仮想化スタック(402)もやはりそれ自身のパーティションを維持できる。図4Bにおいては、仮想化スタック(402)は、子パーティションA(406)及び子パーティションB(408)を維持する。
興味深いことに、セキュリティの観点からは、親パーティションが、典型的に子パーティションを制御しても、子パーティションは、実際にはその親パーティションを信頼できない。親パーティションは、子パーティションの制御をデフォルトで有するので、それは子パーティション内のリソースを管理できる。悪意あるソフトウェアがこれまでに親パーティションに浸透していた場合、子パーティションは、悪意あるソフトウェアに影響される。この理由のために本開示の別の特徴においては、子パーティションは、親パーティションの制御から解放されるか、又は親パーティションから自由になるように依頼できる。そのような解放は、子パーティションの(メモリページなどの)リソース制御を放棄することと、親パーティションが(子パーティション内のコンテンツに関連する情報を親パーティションに提供できる)インターセプトのうちいくつかをアンインストールさせることを、親パーティションに課す。
このように図4Cでは、子パーティションA(406)が親パーティション(404)に解放を依頼する(410)シナリオを例示する。指定された仮想化スタック内のコンポーネントが、このリクエストを処理する。一般に発生することは、そのリクエストが、子パーティションA(406)内のオペレーティングシステム(すなわちOSのカーネル)又は子パーティション(406)内のいくつかの種類のドライバによって作成されていて、このリクエストが親パーティション(404)内のブートローダに対して作成され得るということである。そのブートローダは、進歩したブートローダ(すなわち仮想化を意識しているブートローダ)であり得る。このようにして、親パーティション(404)は、任意の不正変更から子パーティションA(406)が有する門戸を閉ざすことができ、子パーティションA(406)は、解放されたとき、それ以降、親パーティション(404)を介し、不正侵入できないようになる。
ハイパーバイザ(400)は、任意の仮想化されたシステムにおける最終的なアービタであるので、それがこのリクエストを実際に実行する(412)。図4Cにおいては、例として子パーティションA(406)のメモリの一部は、親パーティション(404)によってアクセスできない(414)。このように親パーティション(404)は、子パーティションA(406)のリソースにアクセスできない。しかし、親パーティション(404)は、子パーティションA(406)の別の一部のアクセスを有し得る(416)。
同じ流れで、子パーティションB(408)全体が、親パーティション(404)によってアクセス不可になり(414)、したがって親パーティション(404)は、完全に信頼されず、それによって子パーティションB(408)を非常に安全な状態にする。これは、親パーティション(404)が、子パーティションB(408)について何も知り得ないことを意味する。大変興味深いことに本開示の特徴の中には、子パーティションが不適当又は予期されない態度を振る舞う場合、完全に開放されたパーティションB(408)のようなパーティション上の制限される(又は存在しない)制御にもかかわらず、親パーティション(404)は、子パーティションB(408)を終了するための親パーティション(404)としての機能をずっと有するものもある。
更に別の本開示の特徴において、図5は、仮想化スタックが1つのパーティション内に複数存在出来る概念を例示する。例えば第1の仮想化スタック1(502)は、第2の仮想化スタック2(503)と並列に親パーティション(508)内に存在できる。第1の仮想化スタック1(502)は、(それが存在している親パーティションに関して)複数の子パーティションを維持できる。こうして仮想化スタック1(502)は、子パーティション1A(504)及び子パーティション1B(506)を維持する。同様に仮想化スタック2(503)は、子パーティション2A(505)及び子パーティション2Bを維持する。2つの仮想化スタックだけが例示されているが、任意の数の仮想化スタックが、所与のパーティション内に存在でき、これらの仮想化スタックそれぞれは、任意の数の子パーティションを維持できる。
1つのパーティション内に複数の仮想化スタックを相互に並列に有する1つの理由は、例えば1つの仮想化スタック(502)は、必要最低限のものだけを装備するセキュアなパーティションを支援する特定用途化可能であって、一方、別の仮想化スタック(503)は、リソースすべての種類の支援を完全に提供する特定用途化可能だからである。必然的に前者の仮想化スタック(502)は、後者の仮想化スタック(503)に比べて複雑でないので、前者の仮想化スタック(502)は、十分に安全であり(したがってそのパーティションも安全である)。このコンテキストにおいて、セキュリティ及び複雑性は、トレードオフの関係である。このように例えば、後者の仮想化スタック(503)は、IDE(集積デバイスエレクトロニクス)及びSCSI(スモール・コンピュータ・システム・インタフェース)の支援を提供可能であって他方、前者の必要最低限のものだけを装備した版(502)は、提供しない。
更に別の本開示の特徴においては、図6に例示されるように、前述の仮想化スタック及びそれらに対応するパーティションは、階層的な方法で配置され得る。このように、ハイパーバイザマイクロカーネル(600)は、親パーティション(608)を維持し、ハイパーバイザマイクロカーネル(600)に対応する仮想化スタック1(602)が親パーティション(608)内に配置され得る。この仮想化スタック1(602)は、第1の子パーティションlA(604)及び第2の子パーティション1B(606)を維持する。第2の仮想化スタック2(610)は、第2の子パーティション1B(606)内に存在し、この仮想化スタック2(610)が別の2つの子パーティション(又は元のパーティション(608)に対する孫パーティション)である子パーティション2A(605)及び子パーティション2B(607)を維持する。
図6にそのように例示されないが、第2の仮想化スタック2(610)によって維持される子パーティション(605)及び(607)それぞれもやはり1つ以上の第3の仮想化スタックを維持でき、これらのスタックもやはり更なる子パーティションを維持し得るのが理解されよう。要約すると、図6は、ハイパーバイザマイクロカーネル兼仮想化スタックアーキテクチャが、階層的な仮想化を可能にする概念を例示する試みである。パーティションは、複数の仮想化スタックを保持でき、そのような仮想化スタックは、複数のパーティションを維持でき、そのような複数のパーティションは、更なる仮想化スタックなどを維持できる。
このタイプの階層的な構成の1つの恩恵は、大型マシンの多層管理を支援することである。例えば、「マシン管理者」は「ルートパーティション」(すなわち、上位の最も親であるパーティション)内の仮想化スタックを制御できる。次にこの管理者は、それ自身の仮想化スタックを有し、これらのマシンリソース(メモリ、プロセッサ、NIC(複数)、ディスクドライブなど)の1組それぞれを割り当てるサブパーティションを生成できる。次にこの管理者は、別の管理者(例えばチームレベルの管理者)が、それらが割り当てられたリソースを更に区切ることを許す。このようなシナリオにおいては、第2のレベルの仮想化スタックが第1のレベルの(すなわちルートレベルの)仮想化スタックによって提供されるリソースを使用することを抑制されるが、適合する任意の方法によってその割り当てられたリソースを使用できる。階層構造について理解している仮想マシン管理システムは、レベルそれぞれにおいて管理者が制御するパーティションの間にリソースの再割り当てできるように提示できる。
この種類の階層的シナリオは、図3を参照し論述された、ネストされたシナリオと区別される必要がある。ハイパーバイザそれぞれが、(その下の)ベースパーティション又は(その上の)派生パーティションを認識していないネストされたパーティション内で動作する複数のハイパーバイザを有する、ネストされた場合と異なり、階層的なシナリオにおいてはパーティションすべてを認識している単一のハイパーバイザがある。この場合、複数の仮想化スタックが、パーティションの間の多様な階層的関係の生成を可能にする。興味深いことに、そのようなパーティションが階層関係において、対応する多様な仮想化スタックによって維持されるとき、既出のいかなるものとも異なり(すなわち、他のいかなるハイパーバイザ又は仮想化ソフトウェアを介する必要なく)、本ハイパーバイザは任意のパーティションと直接に通信できる。そのような直接的な通信は、直接のハイパーコールを介し、ハイパーバイザから任意のパーティションに達し得る。
マイクロカーネルハイパーバイザ及び仮想化サービス
前述のように、階層的な仮想化がマイクロカーネル化ハイパーバイザ兼仮想化スタックアーキテクチャによって支援される。図7は、ハイパーバイザマイクロカーネル(702)を含むハイパーバイザコンポーネント及びハイパーバイザ内の仮想化サービス(704)に焦点を結ぶ(以下の図8は仮想化スタックアーキテクチャを焦点を結ぶ)。
特に図7を参照すると、マイクロカーネル(702)においては、最下部レイヤは、ハードウェア抽象化レイヤ(706)であって、それはマイクロカーネル(702)のプラットフォーム特有の特徴を抽象化する。当業者が容易に正しく理解するように、このレイヤ及び後述のレイヤ内の別のモジュールが使用され得る。そこでは、これらのレイヤ及びモジュールは単に例示的であって、論述のために本明細書に提示されていて、それらはいかなる方法においても、制限も解決する手掛かりももたらさない。
このレイヤの上位には、メモリ管理レイヤ(710)がある。このレイヤは、ハイパーバイザ(700)のためのプリミティブな内部メモリ管理を提供するメモリ管理モジュール及び任意のCPU及びメモリ使用に関するリソースポリシーをストアするリソース管理モジュールを有する。より高位のコンポーネントは、これらのポリシーを実施する。
最終的に、第3のカーネルレイヤ(712)は、少なくとも4つの例示的なモジュールを含む:第1のセキュリティアクセスマネージャモジュールは、パーティション間で共有又は移動され得るパーティション及びリソースのためのアクセスを管理する。第2のスレッドマネージャは、ハイパーバイザ(700)に対する内部スレッドを管理する。第3に、タイママネージャは、タイマ待ち行列とタイマ割込みを管理する。第4のスケジューラはハイパーバイザ(700)のスケジューラを実施する。
同様に、仮想化サービス(704)において、4つのレイヤがまた使用され得る。第1のレイヤは、仮想化抽象レイヤ(714)であって、それはプロセッサによって提供される仮想化の拡張を抽象化する仮想化抽象化レイヤのモジュールを含む。
次にパーティションレイヤ(716)は、以下の少なくとも3つのモジュールを含む:パーティションオブジェクト及び関連するデータ構造を管理するパーティションマネージャモジュール。この設定における―パーティションそれぞれに関連付けられる1つ以上の仮想プロセッサを管理する仮想マネージャプロセッサモジュールであって、仮想プロセッサそれぞれは、それ自身のプロセッサ状態を有し、それ自身のハイパーバイザスタック上で動作する。及び、x86の高度プログラマブル割り込みコントローラ同等の割り込みコントローラを実施する合成割り込みコントローラ。
次のレイヤは、アドレス空間に関係する。このレイヤは、ゲストの物理アドレス空間及び基本的な物理メモリリソースに対するそのマッピングの定義を管理するアドレスマネージャモジュールを有し得る。当然、別のモジュールが、アドレス空間メカニズムを操作するためにその支援を使用できて、これは単に例示的なモジュールである。
最後に、仮想化サービス(704)は4つのモジュールを含む:第1のディスパッチマネージャは、入力イベントを処理し、それに応じてそれらをディスパッチする。第2にのハイパーコールマネージャモジュールは、ゲストからのハイパーバイザコールをディスパッチする。第3のインターセプトマネージャモジュールは、インターセプトのディスパッチ及びルーティング(例えばモデル特定レジスタへのアクセス、特定命令の実行など)を処理する。第4の命令完了モジュールは、仮想化の間、特定の命令完了を処理する。
仮想化スタックコンポーネント
本開示の別の特徴においては、図8は仮想化スタック及びお互いにそれらの相互関係を作り出す多様なコンポーネントを表示する。本明細書に開示されない、いくつかの関連コンポーネントは、2005年3月11日に出願された関連出願シリアル番号11/078,141題名:「SYSTEMS AND METHODS FOR MULTI-LEVEL INTERCEPT PROCESSING IN A VIRTUAL MACHINE ENVIRONMENT」において調べられ得る。この出願において開示された「外部モニタ」は、本願において論述された仮想化スタックのサブコンポーネントである。
任意の仮想化スタック(800)は、ユーザモード(802)及びカーネルモード(804)において実施され得る。更に、カーネルモード(804)は、ハイパーバイザAPI、ハイパーバイザメッセージハンドラライブラリ(806)及び仮想化インフラストラクチャドライバ(810)などのコンポーネントを有し得る。ユーザモード(802)は、仮想マシンサービス(812)及び仮想マシンワーカプロセス(814)などのコンポーネントを有し得る。
これらのコンポーネントそれぞれは、具体的に定義されたタスクを有し得る。例えば、ハイパーバイザAPIライブラリ(806)は、通常のオペレーティングシステム呼び出し規則を使用し、それらがハイパーバイザをコールできるように、ハイパーバイザAPIをより高位のコンポーネントに公開する。このライブラリは、それらが仮想化スタックをホストするか否かに関係なく―進歩したコード(すなわち仮想化を意識しているコード)を含むすべてのパーティション内で見出され得る。更に、ハイパーバイザメッセージハンドラライブラリ(806)によって、呼び出し側は、ハイパーバイザ又は別のパーティションから受信されるメッセージに対するカーネルレベルのコールバックを登録できる。そのようなメッセージは、パーティション間のメッセージペイロードを有する割り込みとして送信される。このインタフェースによって、単一のパーティションが複数の並列の仮想化スタックをホストできる。例えば第三者メンバは、元のメンバの仮想化スタックと同様の親パーティション内に存在する仮想化スタックを実施できる。あるいは元のメンバの仮想化スタックの複数のバージョンが並列に動作できる。
次に、仮想化インフラストラクチャドライバ(VID)(810)は、仮想化スタックのカーネルモードの機能性の大半をカプセル化する。それはいくつかのサブコンポーネントを含む。それは、例えば仮想化スタックメモリマネージャを含む。このサブコンポーネントは、仮想化スタックによって「所有」されるシステムの物理的なページの予備を管理し、その仮想化スタックによって管理される子パーティションのゲストの物理的なメモリに戻すために使用される。このサブコンポーネントは、(同一のコンテンツを有するページのために)メモリオーバコミット及びクロスパーティションページ共有を支援する。それはまた、ユーザモードコンポーネントが、仮想マシンのゲストの物理アドレス(GPA)空間の割付けを定義可能にし、(例えば、スナップショット又はライブマイグレーションのための)ページ範囲において、読み込み及び書き出しのインターセプトを配置可能にする、1組のインタフェースを公開する。
更に、VID(810)はまた複合命令完了を含む。このサブコンポーネントは、メモリに触れる複合命令のインタプリタで実行でき、ハイパーバイザによって直接に処理されない。この支援は、特定の装置のエミュレーションシナリオ(例えば、平面VGAメモリへのアクセス、ROMへの書き込み、又はエミュレートされた装置のメモリマッピングされたレジスタへのアクセス)に対して必要とされる。
VID(810)はまたプロセッサインターセプトも含む。このサブコンポーネントによって、ユーザモードコンポーネントが仮想プロセッサインターセプトを指定できる。例えば、特定のI/OポートレンジがIN又はOUT命令を介しアクセスされたとき、エミュレートされる装置モジュールは、インターセプト通知の受信を所望できる。プロセッサインターセプトの別の例は、MSRアクセス、CPUID、例外、及びHLTを含む。このコンポーネントは、インストールされたインターセプトを追跡し適切としてインターセプト通知を送る。
最後に、VID(810)は、パーティション生成及び制御サブコンポーネントを含み得る。このサブコンポーネントによって、ユーザレベルコンポーネントが、パーティションの作成、削除、管理と、スケジューリング及びアクセス制御のポリシーを定義する、パーティション全体のリソース及び割当ての指定を可能にする。例えば、新規のパーティションの生成は、ハイパーバイザ内のモジュールへのハイパーコール(例えばHvCreatePartition)を先ず作成することによって実施され得る。次に1つ以上の仮想プロセッサが、ハイパーコールHvCreateVpを呼び出すことによって生成される。メモリは、別のハイパーコール、例えばHvMapGpaPagesを呼び出すことによって新たに生成されるパーティションのゲストの物理アドレス空間に割り当てられる。インターセプトは、ハイパーコールHvinstalllnterceptを呼び出すことによって、特定のプロセッサ動作のためにリクエストされる。ハイパーコールHvSetPartitionPropertyを呼び出すことによって、多様なスケジューリング及びセキュリティポリシーが設定される。初期化コード(例えばOSローダ又はシステムBIOS)は、新たに作成される仮想マシンのメモリにコピーされる。ハイパーコールHvResumePartitionが呼び出されたとき、仮想マシン内において動作開始する。これらのハイパーコールは、単に例示的であって、別の同等な方法がパーティションの創造を達成するために実施できるのを当業者は理解するだろう。同様にパーティションリソースを管理するための方法として、(仮想プロセッサ、ゲストの物理アドレスなどを削除する)パーティション削除に関する方法が、当業者によって容易に正しく理解されよう。
前述のようにVID(810)及びHVAPI(806)は、カーネルモード(804)に存在する。しかし、仮想化スタック(800)の他のコンポーネントは、ユーザモード(802)に存在する。例えば仮想マシン管理サービス(812)は、VM(複数)を管理し制御するために、1組のVM構成を管理し、1組のWMIベースのAPIを公開する。仮想マシンが開始されるとき、新しいVMワーカプロセスを発生させる。このサービスは、(サービスがクラッシュした場合、システムをより強靭にするようにする)VMワーカプロセスのいずれにも影響せずに、再開可能であり得る。
別のユーザモード(802)のコンポーネントは、仮想マシンワーカプロセス(814)である。仮想マシンそれぞれは、関連するワーカプロセスを有する。ワーカプロセス内のコンポーネントがクラッシュした場合、被害は単一の仮想マシンに含まれ得る。ワーカプロセス(814)において、仮想化装置フレームワークがある。仮想マシンは、1組の仮想装置から構成される。装置それぞれが、それ自体の設定及びパラメタを有していて、ユーザはその多くを調整できる。装置のフレームワークは、機能的な仮想マシンを形成するための仮想装置モジュールをインスタンス生成し、これらの装置を「配線」する。仮想マシンを作る装置は、デバイスマニフェスト、VMの構成ファイルの一部において定義される。
前述のフレームワークにおいて、仮想装置モジュール(VDEV)(複数)は、以下である:これらのプラグインモジュールは、仮想装置のインスタンスの生成、初期化、保存、リストア、リセット、破壊のために必要なロジックを含む。仮想装置の中には、従来のハードウェア装置の完全なエミュレーションを実施するものもある。これらの仮想装置は、エミュレートされる装置のモジュールとして参照され、ゲストのアクセスに応答するためにI/O及びメモリインターセプトを利用する。
ワーカプロセス(814)内では、仮想マシンクリエータもまた存在し得る。このコンポーネントは、実行する仮想マシンを生成し、管理する。それは、VM全体のポリシーを処理し、動的なリソース変更リクエストに応答し、VMの中止及び再開、保存、リストア、スナップショット及びライブマイグレーションする。
図面に様々例示したような望ましい特徴に関連し、本開示を説明したが、別の同様な特徴を使用し、又はそれから逸脱せずに本開示と同一機能を実行するための修正及び追加が、記載の特徴として実施できることを理解されよう。本開示の一特徴においては、例えば多層仮想化メカニズムを使用することによって可能とされる階層的な仮想化について論述した。しかし、これら記載の特徴と別の同等なメカニズムもまた本明細書に教示され、意図される。したがって本開示は、任意の単一の特徴に制限されるのではなく、むしろ添付の請求に従った広さと範囲で解釈されるべきである。
計算機システムにおいて仮想化された動作環境のためのハードウェア及びソフトウェアアーキテクチャの論理的なレイヤを表すブロック図である。 仮想化された計算システムを表すブロック図であって、(直接的又はハイパーバイザを介し、)ホストのオペレーティングシステムによって仮想化が実行される。 代替の仮想化された計算システムを示すブロック図であって、ホストオペレーティングシステムと並列に動作する仮想マシンモニタによって仮想化が実行される。 ネストされたハイパーバイザ及びパーティションを用いた仮想化の一タイプを例示する。 ネストされたハイパーバイザを使用するための必要性を取り除いた多層仮想化メカニズムを用いる階層的な仮想化を例示する。 例示的な実装におけるマイクロカーネルハイパーバイザ及び仮想化スタックの適合方法についての鳥瞰図を提供する。 子パーティションが、それ自身のリソースの排他制御を親パーティションに依頼するシナリオを例示する。 複数の仮想化スタックが、1つのパーティション内に存在し得る概念を例示する。 階層的な方法で仮想化スタック及びそれらのパーティションに対応する配置を例示する。 階層的な仮想化のための仮想化サービスを提供するハイパーバイザのマイクロカーネルと仮想化スタックとの間の関係を例示する。 仮想化スタック及びそれらの相互関係を作成する多様なコンポーネントを示す。

Claims (20)

  1. 階層的な仮想化を提供するための方法であって、
    ハイパーバイザ(600)を用いて第1のパーティション(608)を維持するステップと、
    前記第1のパーティション(608)内の第1の仮想化スタック(602)を使用し、第2のパーティション(606)と対話するステップであって、前記ハイパーバイザ(600)が、前記第1のパーティション(608)及び前記第2のパーティション(606)を認識しているもの、を含む方法。
  2. 前記ハイパーバイザ(400)が更に、前記第1のパーティション(406)及び前記第2のパーティション(414)内の少なくとも1つのリソース(416)を認識していて、リクエストされたとき、前記ハイパーバイザ(400)が、前記少なくとも1つのリソース(416)を列挙するように構成されること、を特徴とする請求項1記載の方法。
  3. 前記第2のパーティション(606)が、前記ハイパーバイザ(600)と直接に通信すること、を特徴とする請求項1記載の方法。
  4. 前記第1の仮想化スタック(602)が、前記第2のパーティション(606)を生成すること、を特徴とする請求項1記載の方法。
  5. 前記第2のパーティション(606)が、第3のパーティション(605)を作成し対話するように構成される第2の仮想化スタック(610)を含むこと、を特徴とする請求項4記載の方法。
  6. 前記第1のパーティション(508)が、前記第1の仮想化スタック(502)を含んでいて、第2の仮想化スタック(503)もまた含んでいて、少なくとも任意の期間、前記第1の仮想化スタック(502)及び前記第2の仮想化スタック(503)が、前記第1のパーティション(508)内に同時に含まれること、を特徴とする請求項1記載の方法。
  7. 前記第1の仮想化スタック(508)が、前記第2のパーティション(504)及び第3パーティション(506)を生成すること、を特徴とする請求項1記載の方法。
  8. セキュアで階層的な仮想化を提供するための方法であって、
    親パーティション(404)を提供するステップであって、前記親パーティション(404)が、仮想化スタック(402)を有するものと、
    子パーティション(406)を提供するステップであって、前記子パーティション(406)が、前記親パーティション(404)内の前記仮想化スタック(402)によって生成され、前記子パーティション(406)が、少なくとも前記子パーティション(406)によって排他的に制御されるリソース(414)を有するものと、を含む方法。
  9. 前記リソース(414)が、少なくとも1つのメモリページを含むこと、を特徴とする請求項8記載の方法。
  10. 前記子パーティション(406)が、前記親パーティション(404)へのリクエスト(410)を作成することによって前記リソース(414)の排他制御を取得すること、を特徴とする請求項8記載の方法。
  11. ハイパーバイザ(400)が、前記子パーティション(406)によって作成された前記リクエスト(410)に前記親パーティション(404)が応じたことを検証する(412)こと、を特徴とする請求項10記載の方法。
  12. 前記子パーティション(406)によって作成される前記リクエスト(410)が、前記子パーティション(406)内のオペレーティングシステムカーネルによって作成されること、を特徴とする請求項10記載の方法。
  13. 前記子パーティション(406)によって作成される前記リクエスト(410)が、前記子パーティション(406)内のドライバによって作成されること、を特徴とする請求項10記載の方法。
  14. 前記子パーティション(406)によって作成される前記リクエスト(410)が、前記親パーティション(404)内のブートローダに対して作成されること、を特徴とする請求項10記載の方法。
  15. 計算機が実行可能であって、階層的な仮想化を提供する命令を担持する計算機可読メディアであって、
    第2のパーティション(604)を生成するために第1パーティション(608)を使用することであって、前記第2のパーティション(604)が、前記第1のパーティション(608)内の仮想化スタック(602)によって生成されるものと、
    前記第1のパーティション(608)及び前記第2のパーティション(604)と直接に対話するように構成されるマイクロカーネルハイパーバイザ(600)を提供すること、を含む計算機可読メディア。
  16. 前記第1のパーティション(608)内の前記仮想化スタック(602)が更に、第3のパーティション(606)を生成すること、を特徴とする請求項15記載の計算機可読メディア。
  17. 更に、前記第1のパーティション(508)内に配置される第2の仮想化スタック(503)を含んでいて、前記第2の仮想化スタック(503)が、第3のパーティション(505)を生成するもの、を特徴とする請求項15記載の計算機可読メディア。
  18. 前記第2のパーティション(606)が、それ自身の仮想化スタック(610)を有すること、を特徴とする請求項15記載の計算機可読メディア。
  19. 前記第2のパーティション(606)内の前記仮想化スタック(610)が、第3のパーティション(605)を作成すること、を特徴とする請求項18記載の計算機可読メディア。
  20. 前記第1のパーティション(608)内の前記仮想化スタック(602)及び前記第2のパーティション(606)内の仮想化スタック(610)が、実質上少なくとも任意の期間共存すること、を特徴とする請求項18記載計算機可読メディア。
JP2008529220A 2005-08-30 2006-08-29 多層仮想化メカニズムを用いた階層的な仮想化 Pending JP2009506462A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/215,380 US8327353B2 (en) 2005-08-30 2005-08-30 Hierarchical virtualization with a multi-level virtualization mechanism
PCT/US2006/033815 WO2007027739A1 (en) 2005-08-30 2006-08-29 Hierarchical virtualization with a multi-level virtualization mechanism

Publications (1)

Publication Number Publication Date
JP2009506462A true JP2009506462A (ja) 2009-02-12

Family

ID=37805843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008529220A Pending JP2009506462A (ja) 2005-08-30 2006-08-29 多層仮想化メカニズムを用いた階層的な仮想化

Country Status (13)

Country Link
US (1) US8327353B2 (ja)
EP (1) EP1922619B1 (ja)
JP (1) JP2009506462A (ja)
KR (1) KR20080047372A (ja)
CN (1) CN101253481B (ja)
AU (1) AU2006284910B2 (ja)
BR (1) BRPI0615278A2 (ja)
CA (1) CA2620087A1 (ja)
MX (1) MX2008002497A (ja)
NO (1) NO340567B1 (ja)
RU (1) RU2398267C2 (ja)
TW (1) TW200729038A (ja)
WO (1) WO2007027739A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013805A1 (ja) 2009-07-31 2011-02-03 日本電気株式会社 制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法
WO2013171944A1 (ja) * 2012-05-15 2013-11-21 日本電気株式会社 仮想マシン管理システム、仮想マシン管理方法およびプログラム
JP2013242893A (ja) * 2008-12-31 2013-12-05 Intel Corp セキュアな埋め込みコンテナの実行のためのプロセッサの拡張
JP2014010811A (ja) * 2012-07-03 2014-01-20 Yokogawa Electric Corp プロセス制御装置及びシステム
JP2015225436A (ja) * 2014-05-27 2015-12-14 株式会社エヌ・ティ・ティ・データ リソース提供支援装置、リソース提供支援システム、リソース提供支援方法
JP2016507100A (ja) * 2013-01-16 2016-03-07 ブイシーイー カンパニー エルエルシー マスタ・オートメーション・サービス

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7873955B1 (en) * 2004-09-07 2011-01-18 Mcafee, Inc. Solidifying the executable software set of a computer
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US8521912B2 (en) * 2006-01-12 2013-08-27 Broadcom Corporation Method and system for direct device access
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7788665B2 (en) 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US20070240153A1 (en) * 2006-03-29 2007-10-11 Lenovo (Singapore) Pte. Ltd. System and method for installing hypervisor after user operating system has been installed and loaded
US8191062B2 (en) * 2006-03-31 2012-05-29 Intel Corporation System for processor frequency governors to govern a processor frequency by deriving CPU utilization information based on the state of virtual machine monitor
US7870387B1 (en) * 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
US8352930B1 (en) 2006-04-24 2013-01-08 Mcafee, Inc. Software modification by group to minimize breakage
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US20140373144A9 (en) * 2006-05-22 2014-12-18 Alen Capalik System and method for analyzing unauthorized intrusion into a computer network
US8429746B2 (en) 2006-05-22 2013-04-23 Neuraliq, Inc. Decoy network technology with automatic signature generation for intrusion detection and intrusion prevention systems
US20080028472A1 (en) * 2006-07-25 2008-01-31 International Business Machines Corporation Heterogeneous evolutionary self-formatting Internet protocols
US8272048B2 (en) * 2006-08-04 2012-09-18 Apple Inc. Restriction of program process capabilities
US20080178143A1 (en) * 2006-10-05 2008-07-24 Cort Dougan System, Method and Computer Program Product for Developing, Configuring, Installing and Testing Software
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US7975267B2 (en) * 2007-03-30 2011-07-05 Bennett Steven M Virtual interrupt processing in a layered virtualization architecture
JP4926120B2 (ja) * 2007-04-26 2012-05-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ処理システムおよびデータ処理方法
US8151264B2 (en) * 2007-06-29 2012-04-03 Intel Corporation Injecting virtualization events in a layered virtualization architecture
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
US8176487B2 (en) * 2007-08-02 2012-05-08 International Business Machines Corporation Client partition scheduling and prioritization of service partition work
US7984449B2 (en) * 2007-08-15 2011-07-19 International Business Machines Corporation In-band communication with virtual machines via a hypervisor message bus
US8195931B1 (en) 2007-10-31 2012-06-05 Mcafee, Inc. Application change control
US8521966B2 (en) * 2007-11-16 2013-08-27 Vmware, Inc. VM inter-process communications
US8181174B2 (en) * 2007-12-28 2012-05-15 Accenture Global Services Limited Virtual machine configuration system
US8819647B2 (en) * 2008-01-25 2014-08-26 International Business Machines Corporation Performance improvements for nested virtual machines
US8515075B1 (en) 2008-01-31 2013-08-20 Mcafee, Inc. Method of and system for malicious software detection using critical address space protection
US8458438B2 (en) * 2008-02-26 2013-06-04 International Business Machines Corporation System, method and computer program product for providing quiesce filtering for shared memory
US8527715B2 (en) 2008-02-26 2013-09-03 International Business Machines Corporation Providing a shared memory translation facility
US8140834B2 (en) 2008-02-26 2012-03-20 International Business Machines Corporation System, method and computer program product for providing a programmable quiesce filtering register
US8380907B2 (en) * 2008-02-26 2013-02-19 International Business Machines Corporation Method, system and computer program product for providing filtering of GUEST2 quiesce requests
WO2009113571A1 (ja) * 2008-03-11 2009-09-17 日本電気株式会社 複数の基盤ソフトウェアを動作可能な情報処理装置および方法
US7941688B2 (en) * 2008-04-09 2011-05-10 Microsoft Corporation Managing timers in a multiprocessor environment
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US8307405B2 (en) * 2008-04-28 2012-11-06 International Business Machines Corporation Methods, hardware products, and computer program products for implementing zero-trust policy in storage reports
US8336099B2 (en) * 2008-05-08 2012-12-18 International Business Machines Corporation Methods, hardware products, and computer program products for implementing introspection data comparison utilizing hypervisor guest introspection data
US9262194B2 (en) * 2008-06-10 2016-02-16 Apple Inc. Virtual machine communications
US8468356B2 (en) 2008-06-30 2013-06-18 Intel Corporation Software copy protection via protected execution of applications
US8327355B2 (en) * 2008-07-15 2012-12-04 International Business Machines Corporation Method, computer program product, and hardware product for supporting virtual machine guest migration overcommit
US8793652B2 (en) 2012-06-07 2014-07-29 International Business Machines Corporation Designing and cross-configuring software
US9280335B2 (en) 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
US9798560B1 (en) 2008-09-23 2017-10-24 Gogrid, LLC Automated system and method for extracting and adapting system configurations
US8732716B2 (en) * 2008-09-30 2014-05-20 International Business Machines Corporation Virtualization across physical partitions of a multi-core processor (MCP)
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US8387031B2 (en) * 2009-01-23 2013-02-26 International Business Machines Corporation Providing code improvements for nested virtual machines
US9450783B2 (en) * 2009-05-28 2016-09-20 Red Hat, Inc. Abstracting cloud management
US9152200B2 (en) * 2009-06-23 2015-10-06 Hewlett-Packard Development Company, L.P. Resource and power management using nested heterogeneous hypervisors
US8341627B2 (en) * 2009-08-21 2012-12-25 Mcafee, Inc. Method and system for providing user space address protection from writable memory area in a virtual environment
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
US8495628B2 (en) * 2009-08-23 2013-07-23 International Business Machines Corporation Para-virtualization in a nested virtualization environment using reduced number of nested VM exits
US9069591B1 (en) * 2009-09-10 2015-06-30 Parallels IP Holding GmbH Patching host OS structures for hardware isolation of virtual machines
US8479196B2 (en) * 2009-09-22 2013-07-02 International Business Machines Corporation Nested virtualization performance in a computer system
US9027038B2 (en) * 2009-10-21 2015-05-05 General Dynamics C4 Systems, Inc. Methods and apparatus for constructing a secure and flexible operating system
US9552497B2 (en) * 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
WO2011103544A1 (en) * 2010-02-22 2011-08-25 Virtustream, Inc. Methods and apparatus for data center management independent of hypervisor platform
US8495512B1 (en) * 2010-05-20 2013-07-23 Gogrid, LLC System and method for storing a configuration of virtual servers in a hosting system
US9106697B2 (en) 2010-06-24 2015-08-11 NeurallQ, Inc. System and method for identifying unauthorized activities on a computer system using a data structure model
US8789189B2 (en) 2010-06-24 2014-07-22 NeurallQ, Inc. System and method for sampling forensic data of unauthorized activities using executability states
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
US8458698B2 (en) 2010-11-18 2013-06-04 International Business Machines Corporation Improving performance in a nested virtualized environment
US8819677B2 (en) * 2010-11-23 2014-08-26 International Business Machines Corporation Virtual machine data structures corresponding to nested virtualization levels
US8839240B2 (en) * 2010-11-29 2014-09-16 International Business Machines Corporation Accessing vendor-specific drivers for configuring and accessing a self-virtualizing input/output device
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US8490090B2 (en) 2011-02-17 2013-07-16 International Business Machines Corporation Multilevel support in a nested virtualization environment
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US8798541B1 (en) * 2011-04-11 2014-08-05 Vmware, Inc. System and method for socket backed host controller interface emulation for virtual bluetooth adapter
EP2521035B1 (de) * 2011-05-06 2018-02-21 Siemens Aktiengesellschaft Verfahren und Anordnung zur Konfigurierung einer Ressource für eine virtuelle Laufzeitumgebung
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US8843924B2 (en) 2011-06-17 2014-09-23 International Business Machines Corporation Identification of over-constrained virtual machines
US8966084B2 (en) 2011-06-17 2015-02-24 International Business Machines Corporation Virtual machine load balancing
US8949428B2 (en) 2011-06-17 2015-02-03 International Business Machines Corporation Virtual machine load balancing
US8966478B2 (en) * 2011-06-28 2015-02-24 The Boeing Company Methods and systems for executing software applications using hardware abstraction
US8812830B2 (en) 2011-08-31 2014-08-19 Microsoft Corporation Attestation protocol for securely booting a guest operating system
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
RU2486584C2 (ru) * 2011-09-16 2013-06-27 Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг РФ) Способ построения иерархической системы сетевого взаимодействия виртуальных рабочих мест
RU2486578C2 (ru) * 2011-09-16 2013-06-27 Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг России) Способ построения системы сообщений многоуровневой несимметричной транспортной системы
US8621178B1 (en) * 2011-09-22 2013-12-31 Emc Corporation Techniques for data storage array virtualization
US8695010B2 (en) 2011-10-03 2014-04-08 International Business Machines Corporation Privilege level aware processor hardware resource management facility
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US8826305B2 (en) * 2012-04-18 2014-09-02 International Business Machines Corporation Shared versioned workload partitions
CN102750178B (zh) * 2012-06-08 2015-04-29 华为技术有限公司 通信设备硬件资源的虚拟化管理方法及相关装置
US9122780B2 (en) * 2012-06-20 2015-09-01 Intel Corporation Monitoring resource usage by a virtual machine
EP2864876B1 (en) * 2012-06-26 2017-10-04 Lynuxworks, Inc. Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection/prevention, and/or other features
US20140053272A1 (en) * 2012-08-20 2014-02-20 Sandor Lukacs Multilevel Introspection of Nested Virtual Machines
US9563480B2 (en) * 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
CN103051963B (zh) * 2012-11-30 2018-02-13 北京视博数字电视科技有限公司 一种数字电视终端设备的安全控制方法
WO2014100279A1 (en) 2012-12-18 2014-06-26 Dynavisor, Inc. Dynamic device virtualization
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9268707B2 (en) 2012-12-29 2016-02-23 Intel Corporation Low overhead paged memory runtime protection
US9229752B2 (en) * 2013-03-12 2016-01-05 International Business Machines Corporation Systems and methods to offload hardware support using a hypervisor subpartition
US9152450B2 (en) 2013-03-12 2015-10-06 International Business Machines Corporation Offloading service requests to a second guest hypervisor in a logical partition shared by a plurality of guest hypervisors
US9342343B2 (en) * 2013-03-15 2016-05-17 Adventium Enterprises, Llc Wrapped nested virtualization
US9058239B2 (en) 2013-06-20 2015-06-16 International Business Machines Corporation Hypervisor subpartition as concurrent upgrade
JP5608797B2 (ja) * 2013-07-31 2014-10-15 株式会社日立製作所 仮想化プログラム、仮想計算機システム及び計算機システム制御方法
CN105580023B (zh) 2013-10-24 2019-08-16 迈克菲股份有限公司 网络环境中的代理辅助的恶意应用阻止
WO2015081308A2 (en) 2013-11-26 2015-06-04 Dynavisor, Inc. Dynamic i/o virtualization
WO2015130837A1 (en) 2014-02-25 2015-09-03 Dynavisor, Inc. Dynamic information virtualization
CN104951694B (zh) 2014-03-24 2018-04-10 华为技术有限公司 一种管理虚拟机的隔离方法及装置
US9424062B1 (en) * 2014-03-24 2016-08-23 Amazon Technologies, Inc. Virtualization infrastructure support
US9203855B1 (en) 2014-05-15 2015-12-01 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as hypervisor, detection and interception of code or instruction execution including API calls, and/or other features
WO2015176029A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization such as hypervisor, pages of interest, and/or other features
WO2016004263A1 (en) 2014-07-01 2016-01-07 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting, and/or other features
WO2015176046A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features
US9417896B2 (en) * 2014-05-19 2016-08-16 International Business Machines Corporation Allocating hypervisor resources
US11782745B2 (en) 2014-07-01 2023-10-10 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting and/or other features
US9781054B1 (en) 2014-07-25 2017-10-03 Google Inc. Quota-based resource scheduling
US9851998B2 (en) * 2014-07-30 2017-12-26 Microsoft Technology Licensing, Llc Hypervisor-hosted virtual machine forensics
WO2016112219A1 (en) 2015-01-07 2016-07-14 CounterTack, Inc. System and method for monitoring a computer system using machine interpretable code
US9804789B2 (en) 2015-06-24 2017-10-31 Vmware, Inc. Methods and apparatus to apply a modularized virtualization topology using virtual hard disks
US10101915B2 (en) * 2015-06-24 2018-10-16 Vmware, Inc. Methods and apparatus to manage inter-virtual disk relations in a modularized virtualization topology using virtual hard disks
US9928010B2 (en) 2015-06-24 2018-03-27 Vmware, Inc. Methods and apparatus to re-direct detected access requests in a modularized virtualization topology using virtual hard disks
US10126983B2 (en) 2015-06-24 2018-11-13 Vmware, Inc. Methods and apparatus to enforce life cycle rules in a modularized virtualization topology using virtual hard disks
US11422840B2 (en) * 2015-08-28 2022-08-23 Vmware, Inc. Partitioning a hypervisor into virtual hypervisors
CN105224388A (zh) * 2015-09-14 2016-01-06 北京百度网讯科技有限公司 基于嵌套虚拟化的云系统持续集成方法和装置
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
US10353727B2 (en) 2016-05-26 2019-07-16 International Business Machines Corporation Extending trusted hypervisor functions with existing device drivers
US11442760B2 (en) 2016-07-01 2022-09-13 Intel Corporation Aperture access processors, methods, systems, and instructions
RU2626550C1 (ru) * 2016-08-09 2017-07-28 Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс" Программно-аппаратная платформа и способ ее реализации для беспроводных средств связи
KR102511451B1 (ko) 2016-11-09 2023-03-17 삼성전자주식회사 리치 실행 환경에서 보안 어플리케이션을 안전하게 실행하는 컴퓨팅 시스템
US10942757B2 (en) * 2017-02-27 2021-03-09 Red Hat, Inc. Virtual machine security through guest-side emulation
US10394585B2 (en) * 2017-03-07 2019-08-27 Microsoft Technology Licensing, Llc Managing guest partition access to physical devices
WO2018176393A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Techniques for virtual machine transfer and resource management
CN107766001B (zh) * 2017-10-18 2021-05-25 成都索贝数码科技股份有限公司 一种基于用户群组的存储配额方法
US10931528B2 (en) * 2018-05-04 2021-02-23 VCE IP Holding Company LLC Layer-based method and system for defining and enforcing policies in an information technology environment
EP3811264A4 (en) 2018-06-24 2022-03-02 Hex Five Security, Inc. CONFIGURATION, ENFORCEMENT AND MONITORING THE SEPARATION OF TRUSTED EXECUTION ENVIRONMENTS
US10831532B2 (en) 2018-10-19 2020-11-10 International Business Machines Corporation Updating a nested virtualization manager using live migration of virtual machines
US11237859B2 (en) * 2018-11-28 2022-02-01 Red Hat Israel, Ltd. Securing virtual machines in computer systems
GB2581482B (en) * 2019-02-15 2021-02-24 Promon As Security virtual-machine software applications
US11494214B2 (en) * 2019-03-28 2022-11-08 Amazon Technologies, Inc. Verified isolated run-time environments for enhanced security computations within compute instances
KR102440562B1 (ko) * 2020-11-17 2022-09-06 주식회사 알티스트 계층적으로 구성된 파티션을 활용한 파티션 재시작 방법
US11983555B2 (en) 2021-08-03 2024-05-14 Red Hat, Inc. Storage snapshots for nested virtual machines
US20230229757A1 (en) * 2022-01-18 2023-07-20 Xilinx, Inc. Hierarchical hardware-software partitioning and configuration

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
WO2005015390A1 (en) * 2003-07-30 2005-02-17 Jaluna Sa Multiple operating systems sharing a processor and a network interface
JP2005122711A (ja) * 2003-10-14 2005-05-12 Microsoft Corp プロセッサ仮想化を改良するための方法及び合成命令を処理するためのシステム
US6934888B2 (en) * 2002-03-07 2005-08-23 International Business Machines Corporation Method and apparatus for enhancing input/output error analysis in hardware sub-systems

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
DE3428634A1 (de) 1984-08-03 1986-02-13 Unilever N.V., Rotterdam Huelsenfoermiger traeger
US4787031A (en) * 1985-01-04 1988-11-22 Digital Equipment Corporation Computer with virtual machine mode and multiple protection rings
JPS62221041A (ja) 1986-03-24 1987-09-29 Hitachi Ltd 仮想計算機システムにおけるデイスパツチ制御装置
JP2705121B2 (ja) 1988-07-08 1998-01-26 株式会社日立製作所 電子計算機システム
JP3138985B2 (ja) 1989-03-14 2001-02-26 富士通株式会社 仮想計算機
JP2864255B2 (ja) 1989-09-14 1999-03-03 富士通株式会社 仮想計算機方式の計算機システム
US5325526A (en) * 1992-05-12 1994-06-28 Intel Corporation Task scheduling in a multicomputer system
JP3543441B2 (ja) 1995-09-19 2004-07-14 株式会社日立製作所 大域的なリソースキャッピング方法
JPH09282196A (ja) 1996-04-18 1997-10-31 Hitachi Ltd 複合論理プロセッサシステムのプログラム走行制御方式
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
AU7101498A (en) 1997-04-02 1998-10-22 Microsoft Corporation Method for integrating a virtual machine with input method editors
US6282701B1 (en) * 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6141732A (en) * 1998-03-24 2000-10-31 Novell, Inc. Burst-loading of instructions into processor cache by execution of linked jump instructions embedded in cache line size blocks
US6438671B1 (en) * 1999-07-01 2002-08-20 International Business Machines Corporation Generating partition corresponding real address in partitioned mode supporting system
US7140015B1 (en) * 1999-09-29 2006-11-21 Network Appliance, Inc. Microkernel for real time applications
JP3630087B2 (ja) 2000-05-10 2005-03-16 日本電気株式会社 自動データ処理装置
US6990663B1 (en) * 2000-06-08 2006-01-24 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
US7085705B2 (en) * 2000-12-21 2006-08-01 Microsoft Corporation System and method for the logical substitution of processor control in an emulated computing environment
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
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
WO2003027842A2 (en) * 2001-09-25 2003-04-03 Koninklijke Philips Electronics N.V. Software support for virtual machine interpreter (vmi) acceleration hardware
US7406522B2 (en) * 2001-09-26 2008-07-29 Packeteer, Inc. Dynamic partitioning of network resources
US20030110205A1 (en) * 2001-12-07 2003-06-12 Leith Johnson Virtualized resources in a partitionable server
WO2003052542A2 (fr) 2001-12-14 2003-06-26 David Carrere Procede et dispositif de traitement de l'information
US6725284B2 (en) * 2002-04-25 2004-04-20 International Business Machines Corporation Logical partition hosted virtual input/output using shared translation control entries
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6895491B2 (en) * 2002-09-26 2005-05-17 Hewlett-Packard Development Company, L.P. Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching
US7197585B2 (en) * 2002-09-30 2007-03-27 International Business Machines Corporation Method and apparatus for managing the execution of a broadcast instruction on a guest processor
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7962545B2 (en) 2002-12-27 2011-06-14 Intel Corporation Dynamic service registry for virtual machines
US7000051B2 (en) * 2003-03-31 2006-02-14 International Business Machines Corporation Apparatus and method for virtualizing interrupts in a logically partitioned computer system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
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
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7913226B2 (en) * 2003-10-01 2011-03-22 Hewlett-Packard Development Company, L.P. Interposing a virtual machine monitor and devirtualizing computer hardware at runtime
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
JP2007508623A (ja) * 2003-10-08 2007-04-05 ユニシス コーポレーション 複数のノードにわたってシステムリソースを割り当てて管理する仮想データセンタ
US20070067366A1 (en) * 2003-10-08 2007-03-22 Landis John A Scalable partition memory mapping system
US20050091022A1 (en) * 2003-10-24 2005-04-28 Konstantin Levit-Gurevich Ultra fast multi-processor system simulation using dedicated virtual machines
US7146482B2 (en) * 2003-11-25 2006-12-05 International Business Machines Corporation Memory mapped input/output emulation
US7234037B2 (en) * 2003-11-25 2007-06-19 International Business Machines Corporation Memory mapped Input/Output operations
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
US7467381B2 (en) * 2003-12-16 2008-12-16 Intel Corporation Resource partitioning and direct access utilizing hardware support for virtualization
US7421533B2 (en) * 2004-04-19 2008-09-02 Intel Corporation Method to manage memory in a platform with virtual machines
US7478388B1 (en) * 2004-04-21 2009-01-13 Vmware, Inc. Switching between multiple software entities using different operating modes of a processor in a computer system
US7249208B2 (en) * 2004-05-27 2007-07-24 International Business Machines Corporation System and method for extending the cross-memory descriptor to describe another partition's memory
US7562179B2 (en) * 2004-07-30 2009-07-14 Intel Corporation Maintaining processor resources during architectural events
US20060070066A1 (en) * 2004-09-30 2006-03-30 Grobman Steven L Enabling platform network stack control in a virtualization platform
US8145872B2 (en) * 2004-11-08 2012-03-27 International Business Machines Corporation Autonomic self-tuning of database management system in dynamic logical partitioning environment
US7757231B2 (en) * 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7853960B1 (en) * 2005-02-25 2010-12-14 Vmware, Inc. Efficient virtualization of input/output completions for a virtual device
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7443878B2 (en) * 2005-04-04 2008-10-28 Sun Microsystems, Inc. System for scaling by parallelizing network workload
US7779164B2 (en) * 2005-04-04 2010-08-17 Oracle America, Inc. Asymmetrical data processing partition
US8578385B2 (en) * 2005-04-21 2013-11-05 Microsoft Corporation Method and system for virtual service isolation
US8166473B2 (en) * 2005-04-21 2012-04-24 Microsoft Corporation Method and system for a resource negotiation between virtual machines
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US8387049B2 (en) * 2005-07-15 2013-02-26 International Business Machines Corporation Facilitating processing within computing environments supporting pageable guests
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6934888B2 (en) * 2002-03-07 2005-08-23 International Business Machines Corporation Method and apparatus for enhancing input/output error analysis in hardware sub-systems
WO2005015390A1 (en) * 2003-07-30 2005-02-17 Jaluna Sa Multiple operating systems sharing a processor and a network interface
JP2007500381A (ja) * 2003-07-30 2007-01-11 ジャルナ エスアー プロセッサとネットワークインタフェースとを共有する複数のオペレーティングシステム
JP2005122711A (ja) * 2003-10-14 2005-05-12 Microsoft Corp プロセッサ仮想化を改良するための方法及び合成命令を処理するためのシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013242893A (ja) * 2008-12-31 2013-12-05 Intel Corp セキュアな埋め込みコンテナの実行のためのプロセッサの拡張
JP2015195053A (ja) * 2008-12-31 2015-11-05 インテル コーポレイション セキュアな埋め込みコンテナの実行のためのプロセッサの拡張
WO2011013805A1 (ja) 2009-07-31 2011-02-03 日本電気株式会社 制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法
US10210008B2 (en) 2009-07-31 2019-02-19 Nec Corporation Control server, service providing system, and method of providing a virtual infrastructure
EP3716060A1 (en) 2009-07-31 2020-09-30 NEC Corporation Control server, service providing system, and method of providing a virtual infrastructure
US11288087B2 (en) 2009-07-31 2022-03-29 Nec Corporation Control server, service providing system, and method of providing a virtual infrastructure
WO2013171944A1 (ja) * 2012-05-15 2013-11-21 日本電気株式会社 仮想マシン管理システム、仮想マシン管理方法およびプログラム
JP2014010811A (ja) * 2012-07-03 2014-01-20 Yokogawa Electric Corp プロセス制御装置及びシステム
JP2016507100A (ja) * 2013-01-16 2016-03-07 ブイシーイー カンパニー エルエルシー マスタ・オートメーション・サービス
JP2015225436A (ja) * 2014-05-27 2015-12-14 株式会社エヌ・ティ・ティ・データ リソース提供支援装置、リソース提供支援システム、リソース提供支援方法

Also Published As

Publication number Publication date
AU2006284910A1 (en) 2007-03-08
BRPI0615278A2 (pt) 2011-05-17
US8327353B2 (en) 2012-12-04
MX2008002497A (es) 2008-04-10
US20070050764A1 (en) 2007-03-01
CN101253481B (zh) 2012-07-04
NO20080757L (no) 2008-03-05
NO340567B1 (no) 2017-05-15
WO2007027739A1 (en) 2007-03-08
CA2620087A1 (en) 2007-03-08
RU2398267C2 (ru) 2010-08-27
KR20080047372A (ko) 2008-05-28
EP1922619B1 (en) 2016-11-02
RU2008107734A (ru) 2009-09-10
EP1922619A1 (en) 2008-05-21
AU2006284910B2 (en) 2011-01-20
TW200729038A (en) 2007-08-01
EP1922619A4 (en) 2009-01-07
CN101253481A (zh) 2008-08-27

Similar Documents

Publication Publication Date Title
RU2398267C2 (ru) Иерархическая виртуализация посредством многоуровневого механизма виртуализации
JP5042848B2 (ja) 仮想マシン・モニタの構成部分を特権化解除するためのシステム及び方法
US20230185592A1 (en) Dynamic device virtualization for use by guest user processes based on observed behaviors of native device drivers
US7685635B2 (en) Systems and methods for multi-level intercept processing in a virtual machine environment
JP5323897B2 (ja) 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム
KR101602519B1 (ko) 가상화된 저장소 할당 방법
US20120054740A1 (en) Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
JP2013516021A (ja) プロセッサコアのハイパーバイザ離隔
US10620963B2 (en) Providing fallback drivers for IO devices in a computing system
JP2022522663A (ja) セキュア仮想マシン環境におけるゲスト命令の透過的解釈
TW202101207A (zh) 使用初始程式載入機制啟動安全客體
Vahidi et al. VETE: Virtualizing the Trusted Execution Environment
Kanda et al. SIGMA system: A multi-OS environment for embedded systems
US11726807B2 (en) Safe execution of virtual machine callbacks in a hypervisor
US8161477B2 (en) Pluggable extensions to virtual machine monitors
US8402191B2 (en) Computing element virtualization
Mogosanu et al. VMXHAL: a versatile virtualization framework for embedded systems
US20240028361A1 (en) Virtualized cache allocation in a virtualized computing system
WO2024081072A1 (en) Transparently providing virtualization features to unenlightened guest operating systems
林宗翰 Addressing Hybrid OS Environment Issues in the Embedded Virtualization Multicore Platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090730

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120511