JP5779281B2 - コンピュータシステムにおける仮想化装置の制御 - Google Patents

コンピュータシステムにおける仮想化装置の制御 Download PDF

Info

Publication number
JP5779281B2
JP5779281B2 JP2014531785A JP2014531785A JP5779281B2 JP 5779281 B2 JP5779281 B2 JP 5779281B2 JP 2014531785 A JP2014531785 A JP 2014531785A JP 2014531785 A JP2014531785 A JP 2014531785A JP 5779281 B2 JP5779281 B2 JP 5779281B2
Authority
JP
Japan
Prior art keywords
computer system
access permission
virtual
configuration policy
user
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.)
Expired - Fee Related
Application number
JP2014531785A
Other languages
English (en)
Other versions
JP2014530427A (ja
Inventor
アリ,ヴァリウディン,ワイ
ジョンソン,ジェフェリー,ケヴィン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2014530427A publication Critical patent/JP2014530427A/ja
Application granted granted Critical
Publication of JP5779281B2 publication Critical patent/JP5779281B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • 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/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

デスクトップコンピュータやノートブックコンピュータ等のコンピュータシステムは、様々な周辺装置(埋込装置)がその内部に埋め込まれ得るものである。埋込装置の例として、ネットワークインタフェイスカード(NIC)、カメラ、モデム、マイク、スピーカ、様々な入出力(IO)インタフェイス(シリアル、パラレル、ユニバーサルシリアルバス(USB)等)、無線などが挙げられる。コンピュータシステムはまた、埋込装置を選択的にイネーブル又はディセーブルにすることを可能にする埋込装置制御機構を含むことが可能である。斯かる制御機構は、様々な理由(例えば、データセキュリティ、負荷の低減等)により幾つかの埋込装置をディセーブルにすることが必要とされる場合といった、様々な状況で有用となり得る。ディセーブルにすべき特定の埋込装置は、企業間で並びに各企業内のユーザ間で異なり得るものである。
例示的な一実施形態によるコンピュータシステムのブロック図である。 例示的な一実施形態によるコンピュータシステムにおける仮想装置制御方法のフローチャートである。 例示的な一実施形態によるコンピュータを示すブロック図である。
図1は、例示的な一実施形態によるコンピュータシステム100のブロック図である。該コンピュータシステム100は、物理ハードウェア102及びハイパーバイザ104を含む。コンピュータシステム100は、任意のタイプのデスクトップコンピュータやモバイルコンピュータ等として実施することが可能である。物理ハードウェア102は、ファームウェア(ファームウェア106)を格納するためのメモリ、プロセッサ122、及び少なくとも1つの埋込装置(1つ以上の埋込装置108)を含む。物理ハードウェア102は、メモリ、キャッシュ、電源、クロック回路、データレジスタ、IO回路等の、様々な他の装置124を含むことが可能である。1つ以上の埋込装置108は、ワイヤレスインタフェイス(例えば、IEEE802.11、Bluetooth等)、ネットワークインタフェイス、イメージング装置、オーディオ装置、モデム、シリアルポート、パラレルポート、メモリリーダ、ユニバーサルシリアルバス(USB)ポート、FireWireポート、及びその類の周辺装置といった、プロセッサ122の周辺の様々な装置を含むことが可能である。ファームウェア106は、EEPROM(Electronically Erasable Programmable Read Only Memory)、FLASHメモリ、又はその類といった不揮発性メモリを使用して実施することが可能である。プロセッサ122は、1つ以上の任意のタイプのマイクロプロセッサを含むことが可能である。
ファームウェア106は、物理ハードウェア102の電源投入時又はリセット時にプロセッサ122により実行されるブートプログラムコード126(例えば、BIOS(Basic Input/Output System)、UEFI(Unified Extensible Firmware Interface)、又はその類のファームウェアインタフェイス)を含むことが可能である。該ファームウェア106は更に、物理ハードウェア102の1つ以上の埋込装置に対するアクセス許可を定義する装置コンフィギュレーションポリシー(「グローバルポリシー110」と称す)を含むことが可能である。例えば、グローバルポリシー110は、前記ブートプログラムコード126により実施することが可能であり、又はファームウェア106に格納されておりプロセッサ122により実行される別個のスタンドアロンプログラムコードを使用して実施することが可能である。グローバルポリシー110で定義されるアクセス許可は、埋込装置108のための「グローバルアクセス許可」である。一般に、グローバルアクセス許可は、物理ハードウェア102内の1つ以上の埋込装置108に対するアクセスを制御する。該グローバルアクセス許可は、例えば、物理ハードウェア102の電源投入時又はリセット時(ブート時)に1つ以上の装置をイネーブルにするかディセーブルにするかを含むことが可能である。以下で更に説明するように、グローバルアクセス許可はまた、1つ以上の装置へのアクセスをハイパーバイザ104により修正することができるか否か、及び1つ以上の装置をハイパーバイザ104から可視とするか不可視とするかを含むことが可能である。グローバルアクセス許可について以下で更に説明する。グローバルポリシー110により定義されるグローバルアクセス許可は、ブート時に実行することが可能である。
ハイパーバイザ104の機能の各要素は、物理ハードウェア102による(例えばプロセッサ122を用いた)マシン読み取り可能命令の実行を介して提供することが可能である。一般に、ハイパーバイザ104は、1つ以上の仮想マシンのためのハードウェアの仮想化を提供する。ハイパーバイザ104は、少なくとも1つの仮想マシン(仮想マシン112")、少なくとも1つの定義されたユーザ(ユーザ114)、コンフィギュレーション要素116、及び少なくとも1つの装置モデル要素(装置モデル要素120)を含む。1つ以上の仮想マシン112の各々は、オペレーティングシステム(「ゲストオペレーティングシステム」とも呼ばれる)を含むマシン(例えばコンピュータ)をソフトウェアにより実施したものを含むことができる。仮想マシン112がブートされた際、ハイパーバイザ104は、該仮想マシンのインスタンス(仮想マシンインスタンス)を1つ以上のユーザ114により使用されるよう管理する。
コンフィギュレーション要素116は、仮想装置コンフィギュレーションポリシー(装置アクセス制御用ポリシー(PDAC)118)において埋込装置108のための更なるアクセス許可を定義する。該PDAC118は、1つ以上のユーザ114及び/又は1つ以上の仮想マシン112のためのアクセス許可を定義することができる。一例では、PDAC118はグローバルポリシー110に従属するものである(すなわち、グローバルポリシーで定義されている許可は、PDAC118で定義されている許可に優先することができる(そのように設定されている場合))。例えば、グローバルポリシー110は、埋込装置108へのアクセスをハイパーバイザ104により修正することができるか否かを定義することができる。グローバルポリシー110が、特定の埋込装置のアクセスに対する変更を阻止している場合には、その特定の装置についてPDAC118で定義されている如何なる許可も有効とはならないことになる。グローバルポリシー110が、特定の埋込装置のアクセスに対する変更を許可している場合には、PDAC118で定義されている許可は、該装置に対するアクセスに影響を与え得るものとなる(例えば、PDAC118は、グローバルポリシー110で定義されているアクセス許可を変更することができる)。実施形態によっては、グローバルポリシー110は、そのアクセス許可をハイパーバイザ104(ひいてはコンフィギュレーション要素116)に対して可視とも不可視ともすることが可能である。装置に対するアクセス許可が不可視である場合には、PDAC118は、斯かる装置について確立された許可を有さない。
例えば、PDAC118は、ユーザ装置コンフィギュレーションポリシー(ユーザポリシー)及びVM装置コンフィギュレーションポリシー(VMポリシー)を含むことが可能である。ユーザポリシーは、各ユーザ114毎に埋込装置108に対するアクセス許可(ユーザアクセス許可)を定義することができる。VMポリシーは、各VM112毎に埋込装置108に対するアクセス許可(VMアクセス許可)を定義することができる。一例では、VMアクセス許可は、ユーザアクセス許可よりも高い優先順位を有する(そのように設定されている場合)(グローバルポリシー110におけるグローバルアクセス許可が最高の優先順位を有する)。
例えば、所与の埋込装置Aについて考察する。グローバルポリシー110におけるアクセス許可は、ハイパーバイザ104が埋込装置Aに対するアクセスを変更することが可能となり及びブート時に該埋込装置Aがイネーブルにされるように定義することができる。一方、PDAC118におけるアクセス許可は、埋込装置AがVM1に対してイネーブルにされるがユーザXに対してはディセーブルにされるように定義することができる。埋込装置Aは、VM1の1つ以上の他のユーザに対してはイネーブルにされるが、ユーザXに対してはディセーブルにされることになる。PDAC118におけるアクセス許可は、埋込装置AがVM2に対してディセーブルにされるように定義することができる(グローバルポリシー110が斯かる変更を許可しているため)。一例では、一般に(全てのユーザに対して)埋込装置AがVM2においてディセーブルにされているため、VM2での埋込装置Aへのアクセスをユーザアクセス許可が許可することはできない。
別の例では、グローバルポリシー110におけるアクセス許可は、ハイパーバイザ104が埋込装置Bへのアクセスに対する変更を許可せず該埋込装置Bがディセーブルにされるように定義することが可能である。このため、PDAC118内のアクセス許可は、如何なるVM及び/又はユーザに対しても埋込装置Bをイネーブルにすることはできない。
一例では、コンフィギュレーション要素116はユーザインタフェイスを含む。1つ以上のユーザ114のうちの1つ以上は、コンフィギュレーション要素116にアクセスし及びそのユーザインタフェイスを使用してPDAC118を確立することが可能である。一例では、コンフィギュレーション要素116は、1つ以上のVM112のインスタンスからアクセスすることが可能である。
1つ以上の装置モデル要素120は、物理ハードウェア102と1つ以上のVM112との間のインタフェイスを提供する。装置モデル要素120は、例えば、仮想BIOS及び個々の装置毎の仮想装置モデル等を含むことが可能である。装置モデル要素120は、グローバルポリシー110及びPDAC118に基づいて1つ以上のVM112の各インスタンス毎に仮想ハードウェア定義を確立する。該仮想ハードウェア定義は、グローバルポリシー110及びPDAC118の組み合わせによりイネーブルにされた埋込装置のみに対するアクセスをモデル化し又はその他の態様で提供する。このため、1つ以上のVM112の各々に提示される仮想ハードウェアは、該1つ以上のVM112の各インスタンス毎にカスタマイズすることが可能である。
したがって、VM112内への埋込装置制御の拡張を可能にするポリシードリブンなコンフィギュレーションをハイパーバイザ104の領域内で提供することが可能である。埋込装置制御は、VMの起動時に、カスタマイズされた仮想ハードウェア定義を介して1つ以上のVM112の各インスタンスに適用することが可能である。このため、ユーザ114は、特定のVMに対して埋込装置アクセスについてのポリシー変更を適用するために、全てのVMインスタンスをシャットダウンさせることになる物理ハードウェア102のリスタートを行う必要はない。
図2は、例示的な一実施形態によるコンピュータシステムにおける仮想装置の制御方法200のフローチャートである。該方法200は、ステップ202で開始して、該コンピュータシステムにおける1つ以上の埋込装置に対するグローバルアクセス許可を定義する装置コンフィギュレーションポリシーをファームウェアから取得する。ステップ204で、選択されたユーザ又は選択されたVMの少なくとも一方についての追加のアクセス許可を確立する仮想装置コンフィギュレーションポリシーが取得される。該仮想装置コンフィギュレーションポリシーは、1つ以上の埋込装置に対する追加のアクセス許可を定義する。ステップ204は、更なる選択されたユーザ及び/又は選択されたVMについて繰り返すことが可能である。ステップ206で、グローバルアクセス許可及び追加のアクセス許可に基づいて、コンピュータシステム上で実行されている選択されたVMのインスタンスについて仮想ハードウェア定義が確立される。ステップ206は、追加のVMインスタンスについて繰り返すことが可能である。
図3は、例示的な実施形態によるコンピュータ300を示すブロック図である。コンピュータ300は、プロセッサ302、IOインタフェイス306、及びメモリ308を含む。コンピュータ300はまた、サポート回路304及び1つ以上のハードウェア周辺装置310(例えば埋込装置)を含むことが可能である。プロセッサ302は、任意のタイプのマイクロプロセッサ、マイクロコントローラ、マイクロコンピュータ、又は当業界で既知の同様のタイプのコンピューティング装置を含むことが可能である。プロセッサ302のためのサポート回路304は、キャッシュ、電源、クロック回路、データレジスタ、IO回路等を含むことが可能である。IO回路306は、メモリ308に直接接続することが可能であり、又はプロセッサ302を介してメモリ308に接続することが可能である。メモリ308は、ランダムアクセスメモリ、リードオンリーメモリ、キャッシュメモリ、磁気リード/ライトメモリ、若しくはその類、又は斯かるメモリ装置の任意の組み合わせを含むことが可能である。1つ以上のハードウェア周辺装置310は、プロセッサ302に代わって機能を実行する様々なハードウェア回路を含むことが可能である。
ハイパーバイザ320は、プロセッサ302によるマシン読み出し可能命令の実行を介して実施することが可能である。メモリ308は、ハイパーバイザ320及びその様々な機能を実施するためにプロセッサ302により実行されるコード318を格納することが可能である。メモリ308はまた、グローバルポリシー314を有するファームウェアコード312及びPDAC316を格納する。グローバルポリシー314は、ブート時に適用されるハードウェア周辺装置310に対するグローバルアクセス許可を含む。PDAC316は、ハイパーバイザ320により管理されるVMインスタンスに適用されるハードウェア周辺装置310に対する追加のアクセス許可を含む。上述のようにハイパーバイザ320は、グローバルポリシー314及びPDAC316に基づいてVMインスタンスの各々毎に仮想ハードウェア定義を確立する。
上述した方法は、該方法を実行するようにコンピュータシステムを構成するためのコンピュータ読み取り可能媒体という形で実施することが可能である。該コンピュータ読み取り可能媒体は、複数の物理的な装置(例えばコンピュータ)にわたって配布することが可能である。該コンピュータ読み取り可能媒体は、例えば、ディスク及びテープ記憶媒体を含む磁気記憶媒体、コンパクトディスク媒体(例えば、CD-ROM,CD-R)及びディジタルビデオディスク記憶媒体といった光学記憶媒体、ホログラムメモリ、FLASHメモリ、EEPROM、EPROM、ROMといった半導体ベースのメモリ装置を含む不揮発性記憶媒体、強磁性体ディジタルメモリ、レジスタ、バッファ又はキャッシュ、メインメモリ、RAM等を含む揮発性記憶媒体を任意の個数だけ含むことが可能である(但しそれらには限定されない)。その他の新規の多種多様なコンピュータ読み取り可能媒体を使用して、本書で説明したマシン読み取り可能コードを格納することが可能である。
上記説明では、本発明の理解を提供すべく多数の細部を示した。しかし、当業者には理解されるように、本発明は、斯かる細部なしで実施することが可能である。限られた数の実施形態に関して本発明を説明したが、斯かる実施形態に対する多数の修正及び変形が当業者には理解されよう。特許請求の範囲は、斯かる修正及び変形を本発明の真の思想及び範囲内のものとして網羅することを意図したものである。

Claims (15)

  1. コンピュータシステムにおける仮想装置の制御方法であって、
    該コンピュータシステム内のファームウェアから装置コンフィギュレーションポリシーを取得し、該装置コンフィギュレーションポリシーが、ブート時に適用される該コンピュータシステム内の少なくとも1つの埋込装置に対するグローバルアクセスパーミッションを定義するものであり、
    選択されたユーザ又は選択された仮想マシン(VM)の少なくとも一方について確立された仮想装置コンフィギュレーションポリシーを取得し、該仮想装置コンフィギュレーションポリシーが、前記少なくとも1つの埋込装置に対する追加のアクセスパーミッションを定義するものであり、
    前記グローバルアクセスパーミッション及び前記追加のアクセスパーミッションに基づいて前記コンピュータシステム上で実行されている前記選択されたVMのインスタンスについて仮想ハードウェア定義を確立する、
    という各ステップからなる、コンピュータシステムにおける仮想装置の制御方法。
  2. 前記仮想装置コンフィギュレーションポリシーが、前記選択されたユーザについて前記少なくとも1つの埋込装置に対するユーザアクセスパーミッションを定義するユーザ装置コンフィギュレーションポリシーと、前記選択されたVMについて前記少なくとも1つの埋込装置に対するVMアクセスパーミッションを定義するVM装置コンフィギュレーションポリシーとを含む、請求項1に記載の方法。
  3. 前記VMアクセスパーミッションが前記ユーザアクセスパーミッションよりも高い優先順位を有しており、前記グローバルアクセスパーミッションが前記VMアクセスパーミッションよりも高い優先順位を有している、請求項2に記載の方法。
  4. 前記グローバルアクセスパーミッションが前記追加のアクセスパーミッションよりも高い優先順位を有している、請求項1に記載の方法。
  5. 前記コンピュータシステムが、前記選択されたVMを含む複数のVM並びに前記選択されたユーザを含む複数のユーザをサポートするハイパーバイザを含む、請求項1に記載の方法。
  6. プロセッサ、ファームウェア、及び少なくとも1つの埋込装置を含む物理ハードウェアであって、該ファームウェアが、ブート時に適用することが可能な前記少なくとも1つの埋込装置に対するグローバルアクセスパーミッションを定義する装置コンフィギュレーションポリシーを格納するものである、物理ハードウェアと、
    前記プロセッサ上で実行され、少なくとも1つの仮想マシン(VM)及び少なくとも1つのユーザをサポートし、ユーザ識別及び仮想マシン識別の少なくとも一方に基づいて前記少なくとも1つの埋込装置に対する追加のアクセスパーミッションを定義する仮想装置コンフィギュレーションポリシーを確立し、及び前記グローバルアクセスパーミッション及び前記追加のアクセスパーミッションに基づいて前記少なくとも1つのVMのインスタンスの各々毎に仮想ハードウェア定義を確立する、ハイパーバイザと
    を備えている、コンピュータシステム。
  7. 前記仮想装置コンフィギュレーションポリシーが、前記少なくとも1つの埋込装置に対するユーザアクセスパーミッションを定義するユーザ装置コンフィギュレーションポリシーと、前記少なくとも1つの埋込装置に対するVMアクセスパーミッションを定義するVM装置コンフィギュレーションポリシーとを含む、請求項6に記載のコンピュータシステム。
  8. 前記VMアクセスパーミッションが前記ユーザアクセスパーミッションよりも高い優先順位を有しており、前記グローバルアクセスパーミッションが前記VMアクセスパーミッションよりも高い優先順位を有している、請求項7に記載のコンピュータシステム。
  9. 前記ハイパーバイザが、前記少なくとも1つの埋込装置の各々について装置モデルを提供する少なくとも1つの要素を含み、該少なくとも1つの要素が、前記グローバルアクセスパーミッション及び前記追加のアクセスパーミッションを処理して、前記少なくとも1つのVMのインスタンスの各々について仮想ハードウェア定義を提供する、請求項6に記載のコンピュータシステム。
  10. 前記ハイパーバイザが、前記仮想装置コンフィギュレーションポリシーを生成するためのコンフィギュレーション要素を含む、請求項6に記載のコンピュータシステム。
  11. 命令を格納したコンピュータ読み取り可能媒体であって、該命令が、プロセッサによる実行時にコンピュータシステムにおける仮想装置の制御方法を該プロセッサに実行させるものであり、該制御方法が、
    前記コンピュータシステム内のファームウェアから装置コンフィギュレーションポリシーを取得し、該装置コンフィギュレーションポリシーが、ブート時に適用される該コンピュータシステム内の少なくとも1つの埋込装置に対するグローバルアクセスパーミッションを定義するものであり、
    選択されたユーザ又は選択された仮想マシン(VM)の少なくとも一方について確立された仮想装置コンフィギュレーションポリシーを取得し、該仮想装置コンフィギュレーションポリシーが、前記少なくとも1つの埋込装置に対する追加のアクセスパーミッションを定義するものであり、
    前記グローバルアクセスパーミッション及び前記追加のアクセスパーミッションに基づいて前記コンピュータシステム上で実行されている前記選択されたVMのインスタンスについて仮想ハードウェア定義を確立する、
    という各ステップからなる、コンピュータ読み取り可能媒体
  12. 前記仮想装置コンフィギュレーションポリシーが、前記選択されたユーザについて前記少なくとも1つの埋込装置に対するユーザアクセスパーミッションを定義するユーザ装置コンフィギュレーションポリシーと、前記選択されたVMについて前記少なくとも1つの埋込装置に対するVMアクセスパーミッションを定義するVM装置コンフィギュレーションポリシーとを含む、請求項11に記載のコンピュータ読み取り可能媒体。
  13. 前記VMアクセスパーミッションが前記ユーザアクセスパーミッションよりも高い優先順位を有しており、前記グローバルアクセスパーミッションが前記VMアクセスパーミッションよりも高い優先順位を有している、請求項12に記載のコンピュータ読み取り可能媒体。
  14. 前記グローバルアクセスパーミッションが前記追加のアクセスパーミッションよりも高い優先順位を有している、請求項11に記載のコンピュータ読み取り可能媒体。
  15. 前記コンピュータシステムが、前記選択されたVMを含む複数のVM並びに前記選択されたユーザを含む複数のユーザをサポートするハイパーバイザを含む、請求項11に記載のコンピュータ読み取り可能媒体。
JP2014531785A 2011-09-30 2011-09-30 コンピュータシステムにおける仮想化装置の制御 Expired - Fee Related JP5779281B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/054110 WO2013048422A1 (en) 2011-09-30 2011-09-30 Virtualized device control in computer systems

Publications (2)

Publication Number Publication Date
JP2014530427A JP2014530427A (ja) 2014-11-17
JP5779281B2 true JP5779281B2 (ja) 2015-09-16

Family

ID=47996163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014531785A Expired - Fee Related JP5779281B2 (ja) 2011-09-30 2011-09-30 コンピュータシステムにおける仮想化装置の制御

Country Status (6)

Country Link
US (1) US9390294B2 (ja)
EP (1) EP2761441A4 (ja)
JP (1) JP5779281B2 (ja)
CN (1) CN103827819B (ja)
BR (1) BR112014007400A2 (ja)
WO (1) WO2013048422A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893261B2 (en) 2011-11-22 2014-11-18 Vmware, Inc. Method and system for VPN isolation using network namespaces
US11182185B2 (en) * 2014-06-27 2021-11-23 Vmware, Inc. Network-based signaling to control virtual machine placement
US9678783B2 (en) 2015-10-14 2017-06-13 International Business Machines Corporation Temporal dynamic virtual machine policies
JP6821509B2 (ja) * 2017-05-25 2021-01-27 ルネサスエレクトロニクス株式会社 情報処理装置並びにその制御方法及び制御プログラム

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69601149T2 (de) 1995-07-03 1999-08-05 Sun Microsystems, Inc., Mountain View, Calif. 94043-1100 Systen und Verfahren zum Implementieren einer hierarchischen Politik für die Administration eines Computersystems
US6587876B1 (en) * 1999-08-24 2003-07-01 Hewlett-Packard Development Company Grouping targets of management policies
JP2001265612A (ja) 2000-03-17 2001-09-28 Omron Corp 組込み機器用仮想マシンシステム
JP2002183076A (ja) 2000-12-11 2002-06-28 Toshiba Corp 情報処理装置及び情報処理装置の起動方法
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US7216369B2 (en) * 2002-06-28 2007-05-08 Intel Corporation Trusted platform apparatus, system, and method
JP4277952B2 (ja) 2002-11-15 2009-06-10 パナソニック株式会社 競合調停装置、競合調停方法および競合調停プログラム
US7788489B2 (en) * 2003-05-06 2010-08-31 Oracle International Corporation System and method for permission administration using meta-permissions
CA2525578A1 (en) * 2003-05-15 2004-12-02 Applianz Technologies, Inc. Systems and methods of creating and accessing software simulated computers
US20050204357A1 (en) * 2004-03-15 2005-09-15 Ajay Garg Mechanism to protect extensible firmware interface runtime services utilizing virtualization technology
US7421533B2 (en) * 2004-04-19 2008-09-02 Intel Corporation Method to manage memory in a platform with virtual machines
US20050246453A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Providing direct access to hardware from a virtual environment
US20060069828A1 (en) * 2004-06-30 2006-03-30 Goldsmith Michael A Sharing a physical device among multiple clients
US20060020940A1 (en) * 2004-07-08 2006-01-26 Culter Bradley G Soft-partitioning systems and methods
US9606821B2 (en) * 2004-12-17 2017-03-28 Intel Corporation Virtual environment manager for creating and managing virtual machine environments
US8627315B2 (en) * 2004-12-31 2014-01-07 Intel Corporation Apparatus and method for cooperative guest firmware
US7392172B2 (en) * 2005-04-28 2008-06-24 Hewlett-Packard Development Company, L.P. Providing virtual device access via firmware
US20070162475A1 (en) * 2005-12-30 2007-07-12 Intel Corporation Method and apparatus for hardware-based dynamic escape detection in managed run-time environments
US8015563B2 (en) * 2006-04-14 2011-09-06 Microsoft Corporation Managing virtual machines with system-wide policies
US8170859B1 (en) * 2006-04-28 2012-05-01 Intel Corporation Methods, apparatuses and computer program products for simulating arbitrary unmodified code
US7853958B2 (en) 2006-06-28 2010-12-14 Intel Corporation Virtual machine monitor management from a management service processor in the host processing platform
JP4233585B2 (ja) 2006-07-25 2009-03-04 株式会社エヌ・ティ・ティ・ドコモ ペリフェラル切替装置及びペリフェラル切替制御装置
US8949825B1 (en) * 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8949826B2 (en) * 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US8127292B1 (en) * 2007-06-22 2012-02-28 Parallels Holdings, Ltd. Virtualization system with hypervisor embedded in bios or using extensible firmware interface
WO2009123640A1 (en) * 2008-04-04 2009-10-08 Hewlett-Packard Development Company, L.P. Virtual machine manager system and methods
FR2929733B1 (fr) * 2008-04-08 2010-08-27 Eads Defence And Security Syst Systeme et procede de securisation d'un ordinateur comportant un micronoyau
US8327415B2 (en) * 2008-05-30 2012-12-04 Intel Corporation Enabling byte-code based image isolation
US8726364B2 (en) * 2008-06-30 2014-05-13 Intel Corporation Authentication and access protection of computer boot modules in run-time environments
JP4922255B2 (ja) * 2008-06-30 2012-04-25 株式会社日立製作所 情報処理システムおよびそのシステムにおける省電力制御方法
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US9733959B2 (en) * 2008-09-15 2017-08-15 Vmware, Inc. Policy-based hypervisor configuration management
US8260603B2 (en) * 2008-09-30 2012-09-04 Hewlett-Packard Development Company, L.P. Scaling a prediction model of resource usage of an application in a virtual environment
US8117346B2 (en) 2008-10-03 2012-02-14 Microsoft Corporation Configuration space virtualization
US8694761B2 (en) * 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
JP5245869B2 (ja) 2009-01-29 2013-07-24 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8321863B2 (en) 2009-03-06 2012-11-27 Hitachi, Ltd. Security management device and method
US8468332B2 (en) * 2009-06-13 2013-06-18 Kinglite Holdings Inc. Dynamic link loading in extensible firmware interface compliant systems
US8387060B2 (en) * 2009-10-01 2013-02-26 Dell Products L.P. Virtual machine resource allocation group policy based on workload profile, application utilization and resource utilization
US9158567B2 (en) 2009-10-20 2015-10-13 Dell Products, Lp System and method for reconfigurable network services using modified network configuration with modified bandwith capacity in dynamic virtualization environments
US9069596B2 (en) * 2009-11-17 2015-06-30 International Business Machines Corporation Hypervisor file system
CN101706742B (zh) * 2009-11-20 2012-11-21 北京航空航天大学 一种基于多核动态划分的非对称虚拟机i/o调度方法
US8321703B2 (en) * 2009-12-12 2012-11-27 Microsoft Corporation Power aware memory allocation
US8627309B2 (en) * 2010-02-25 2014-01-07 Microsoft Corporation Automated deployment and servicing of distributed applications
US8775781B2 (en) * 2010-03-25 2014-07-08 Microsoft Corporation Intelligent boot device selection and recovery
JP5593856B2 (ja) * 2010-06-02 2014-09-24 富士通株式会社 情報処理装置およびドライバ実行制御方法
US9135044B2 (en) * 2010-10-26 2015-09-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch
US8819708B2 (en) * 2011-01-10 2014-08-26 Dell Products, Lp System and method to abstract hardware routing via a correlatable identifier
US9256745B2 (en) * 2011-03-01 2016-02-09 Microsoft Technology Licensing, Llc Protecting operating system configuration values using a policy identifying operating system configuration settings
US8984508B2 (en) * 2011-06-02 2015-03-17 Vmware, Inc. System and method for restarting a workload based on global load balancing
US8719560B2 (en) * 2011-12-13 2014-05-06 International Business Machines Corporation Virtual machine monitor bridge to bare-metal booting
US9218490B2 (en) * 2011-12-30 2015-12-22 Intel Corporation Using a trusted platform module for boot policy and secure firmware
US9047112B2 (en) * 2013-03-12 2015-06-02 American Megatrends, Inc. Installation of virtual service processor to computer system having existing operating system

Also Published As

Publication number Publication date
US20140201743A1 (en) 2014-07-17
WO2013048422A1 (en) 2013-04-04
CN103827819B (zh) 2017-03-01
BR112014007400A2 (pt) 2017-04-04
US9390294B2 (en) 2016-07-12
JP2014530427A (ja) 2014-11-17
CN103827819A (zh) 2014-05-28
EP2761441A4 (en) 2015-04-01
EP2761441A1 (en) 2014-08-06

Similar Documents

Publication Publication Date Title
US10684865B2 (en) Access isolation for multi-operating system devices
US9218490B2 (en) Using a trusted platform module for boot policy and secure firmware
JP5571208B2 (ja) パフォーマンスカウンタの仮想化
US10075296B2 (en) Loading and virtualizing cryptographic keys
TWI512479B (zh) 針對記憶體映射組態分派處理器之技術
US11194588B2 (en) Information handling systems and method to provide secure shared memory access at OS runtime
JP5308522B2 (ja) ハイパーバイザ・ローディングのためのメモリ管理
EP3235165A1 (en) Trusted computing base evidence binding for a migratable virtual machine
US20180373878A1 (en) Secure boot for multi-core processor
JP2009508259A5 (ja)
US20130297924A1 (en) Method of running multiple operating systems on an x86-based computer
US7966458B2 (en) Method and apparatus for controlling a primary operating system and an appliance operating system on the same machine
US9569247B2 (en) Range based virtual machine functions
JP5779281B2 (ja) コンピュータシステムにおける仮想化装置の制御
US10565141B1 (en) Systems and methods for hiding operating system kernel data in system management mode memory to thwart user mode side-channel attacks
CN113826072B (zh) ***管理模式中的代码更新
US11714756B2 (en) Information handling systems and methods to improve the security and performance of a shared cache memory contained within a multi-core host processor
KR20220070462A (ko) 부트로더를 위한 보안 버퍼
Banik et al. Understanding the BIOS and Minimalistic Design
US20230066447A1 (en) Execution of code in system memory
TWI733745B (zh) 核心模式的虛擬機器(kvm)虛擬化下處理i/o請求的方法和裝置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150616

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150710

R150 Certificate of patent or registration of utility model

Ref document number: 5779281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees