JP2006018814A - 仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 - Google Patents
仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2006018814A JP2006018814A JP2005158859A JP2005158859A JP2006018814A JP 2006018814 A JP2006018814 A JP 2006018814A JP 2005158859 A JP2005158859 A JP 2005158859A JP 2005158859 A JP2005158859 A JP 2005158859A JP 2006018814 A JP2006018814 A JP 2006018814A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- computing environment
- virtual computing
- vhd
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】 マニフェストは、デバイスリストおよび外部デバイスディレクトリを含む。外部デバイスディレクトリは、この仮想化コンピューティングシステムのユーザにこの仮想コンピューティング環境に仮想デバイスを追加するために必要とされる仕様を含むソフトウェアプラグインを追加するためのディレクトリを提供する。ホストオペレーティングシステムおよび仮想デバイスは、一連の状態を介して、初期化、起動、記憶された状態のローディング、通常状態における動作、将来の復元のための状態の保存、パワーダウン、ならびにテアリングダウンおよび電源遮断を介して進む。
【選択図】 図4
Description
本発明の多数の実施形態は、コンピュータ上で実行することができる。図1および以下の説明では、本発明を実施することができる適切なコンピューティング環境の一般的な簡潔な説明を提供することが意図されている。必要ではないが、本発明については、クライアントワークステーションやサーバなどのコンピュータによって実行されるプログラムモジュールなどコンピュータ実行可能命令の一般的な文脈で説明することにする。一般的に、プログラムモジュールは、特定のタスクを実施し、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。さらに、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含めて他のコンピュータシステム構成を用いて実施することもできることが当業者には理解されよう。本発明は、分散コンピューティング環境中において実行することもでき、ここでは、タスクは、通信ネットワークを介してリンクされたリモートプロセッシングデバイスによって実施される。分散コンピューティング環境においては、プログラムモジュールは、ローカルメモリストレージデバイス中にもリモートメモリストレージデバイス中にも配置することができる。
概念的な観点から、コンピュータシステムは、一般的にハードウェアの基本レイヤ上で実行される1つまたは複数のソフトウェアレイヤを含んでいる。この階層化は、抽象化の理由で行われる。所与のソフトウェアレイヤについてのインターフェースを定義することにより、このレイヤは、その上の他の諸レイヤによって異なるように実行することができる。うまく設計されたコンピュータシステムにおいては、各レイヤは、その直下のレイヤについてしか知らない(し、またそれにしか依存しない)。これにより、レイヤまたは「スタック」(複数の隣接レイヤ)は、前記レイヤまたはスタック上の諸レイヤに悪影響を与えずに置き換えることができるようになる。例えば、ソフトウェアアプリケーション(上位レイヤ)は、一般的にそのオペレーティングシステム(下位レイヤ)の下位レベルに依存して、ファイルをある形態の恒久的ストレージに書き込み、これらのアプリケーションは、データをフロッピー(登録商標)ディスクか、ハードドライブか、あるいはネットワークフォルダに書き込むことの間におけるその違いを理解する必要がない。この下位レイヤが、ファイルを書き込むための新しいオペレーティングシステムで置き換えられる場合にも、この上位レイヤソフトウェアアプリケーションのオペレーションは、影響を受けないままである。
図4は、図3Bに示す仮想マシンモニタ(VMM)システム(や、代替実施形態では、図3Aに示すホストOSシステム)などの仮想化コンピューティングシステムを示している。この図において、マニフェスト122は、デバイスリストA124およびデバイスリストB126をさらに含む、ホストOS104内の構成ファイルである。マニフェスト122を使用してこれらの仮想デバイスを構成し列挙して、ホストOS104によって使用されるようにする。デバイスリストA124およびデバイスリストB126は、それぞれVM A108およびVM B110で使用可能なすべての仮想デバイスについてのリストおよび関連するパラメータを含んでいる。本発明によれば、マニフェスト122のデバイスリスト124および126中にリストアップされたデバイスの一部が、この仮想マシンソフトウェア(例えば、仮想PC)がインストールされた場合に含められた諸デバイスに追加して、長い間にわたってこのリスト(外部定義されたデバイス)に追加される。仮想デバイスを識別し記述する情報が、デバイスリストA124およびデバイスリストB126内に記憶される。さらに、一部の実施例においては、これらの仮想デバイスは、一実施例においてはDLL(dynamic link libraryダイナミックリンクライブラリ)ファイルに対するファイル名を含んでおり、このファイル名を使用して、そのデバイスが使用するために選択される場合にそのデバイスがさらに定義される。
本明細書中で説明した様々なシステム、方法、および技法は、ハードウェアまたはソフトウェア、あるいは適切な場合にはこれら両者の組合せを用いて実施することができる。したがって、本発明の方法および装置、またはある種の態様またはその一部分は、フロッピー(登録商標)ディスケット、CD−ROM、ハードドライブ、または他の任意のマシン読取り可能ストレージ媒体など有形の媒体の形で実施されるプログラムコード(すなわち、命令)の形態を取ることが可能であり、ここでは、このプログラムコードが、コンピュータなどのマシンにロードされ、マシンによって実行される場合に、このマシンは、本発明を実行するための装置になる。プログラマブルコンピュータ上におけるプログラムコード実行の場合においては、このコンピュータは一般に、プロセッサ、(揮発性および不揮発性のメモリおよび/またはストレージ要素を含めて)このプロセッサにより読取り可能なストレージ媒体、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含むことになる。1つまたは複数のプログラムは、高レベルの手続き形言語またはオブジェクト指向プログラミング言語の形で実施してコンピュータシステムと情報をやりとりすることが好ましい。しかし、この1つまたは複数のプログラムは、必要に応じてアセンブリ言語または機械語で実行することができる。いずれにしても、この言語は、コンパイラ型言語またはインタープリタ型言語とすることが可能であり、ハードウェア実施形態と組み合わせることができる。
21 処理装置
22 システムメモリ
23 システムバス
27 ハードドライブ
28 フロッピー(登録商標)ドライブ
29 着脱可能ストレージ
30 光ドライブ
32 ハードディスクドライブI/F
33 磁気ディスクドライブI/F
34 光ドライブI/F
36 アプリケーションプログラム
36’ アプリケーション
37 他のプログラム
38 プログラムデータ
40 キーボード
42 マウス
46 シリアルポートI/F
47 モニタ
48 ビデオアダプタ
49 リモートコンピュータ
50 フロッピー(登録商標)ドライブ
53 ネットワークI/F
54 モデム
55 ホストアダプタ
56 SCSIバス
62 ストレージデバイス
Claims (40)
- 仮想コンピューティング環境が、仮想ハードウェアデバイスを動的に追加するための方法であって、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査するステップと、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するステップと、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するステップと、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用するステップと
を含むことを特徴とする方法。 - 前記仮想コンピューティング環境は、前記1組のデバイスプロパティを外部デバイスディレクトリから取得することを特徴とする請求項1に記載の方法。
- 前記仮想コンピューティング環境は、前記仮想マシンに対応する前記仮想コンピューティング環境のデバイスリストに前記1組のデバイスプロパティを追加することにより、前記1組のデバイスプロパティを前記仮想マシンに提示することを特徴とする請求項2に記載の方法。
- 物理ハードウェアデバイス(PHD)についての設計をテストするための方法であって、
前記PHDについての前記設計に基づいて仮想ハードウェアデバイス(VHD)を実施するステップと、
前記VHDをテストするためのテストデバイスドライバ(TDD)を開発するステップと、
前記VHDおよび前記TDDを仮想コンピューティング環境(VCE)に追加するステップと、
前記VCE中で前記TDDを使用して前記VHDをテストするステップと
を含むことを特徴とする方法。 - 前記TDDを用いて前記VCE中でテストされる前記VHDに対応する前記PHDのプロトタイプを作成するステップと、
前記TDDを使用して前記PHDの前記プロトタイプをテストするステップと
をさらに含むことを特徴とする請求項4に記載の方法。 - 前記仮想コンピューティング環境は、動的に前記VHDを追加することを特徴とする請求項4に記載の方法。
- 前記仮想コンピューティング環境が、前記VHDを動的に追加する要素は、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査するステップと、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するステップと、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するステップと、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用するステップと
を含むことを特徴とする請求項6に記載の方法。 - デバイスドライバ(DD)についての設計をテストするための方法であって、
前記DDをテストするための仮想テストハードウェアデバイス(VTHD)を開発するステップと、
前記VTHDおよび前記DDを仮想コンピューティング環境(VCE)に追加するステップと、
前記VCE中で前記VTHDを使用して前記DDをテストするステップと
を含むことを特徴とする方法。 - 前記DDが前記VCE中でテストされた前記VTHDのプロトタイプハードウェアデバイスを作成するステップと、
前記プロトタイプハードウェアデバイス上で前記DDをテストするステップと
をさらに含むことを特徴とする請求項8に記載の方法。 - 前記仮想コンピューティング環境は、前記VHDを動的に追加することを特徴とする請求項8に記載の方法。
- 前記仮想コンピューティング環境が、前記VHDを動的に追加する要素は、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査するステップと、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するステップと、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するステップと、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用するステップと
を含むことを特徴とする請求項10に記載の方法。 - 仮想コンピューティング環境が、仮想ハードウェアデバイスを動的に追加するためのシステムであって、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査するためのサブシステムと、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するためのサブシステムと、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するためのサブシステムと、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用するためのサブシステムと
を備えることを特徴とするシステム。 - 前記仮想コンピューティング環境が新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するための前記サブシステムは、外部デバイスディレクトリから前記1組のデバイスプロパティを取得することを特徴とする請求項12に記載のシステム。
- 前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するための前記サブシステムは、前記仮想マシンに対応する前記仮想コンピューティング環境のデバイスリストに前記1組のデバイスプロパティを追加することによって前記1組のデバイスプロパティを前記仮想マシンに提示することを特徴とする請求項13に記載のシステム。
- 物理ハードウェアデバイス(PHD)についての設計をテストするためのシステムであって、
前記PHDについての前記設計に基づいて仮想ハードウェアデバイス(VHD)を実施するためのサブシステムと、
前記VHDをテストするためのテストデバイスドライバ(TDD)を開発するためのサブシステムと、
前記VHDおよび前記TDDを仮想コンピューティング環境(VCE)に追加するためのサブシステムと、
前記VCE中で前記TDDを使用して前記VHDをテストするためのサブシステムと
を備えることを特徴とするシステム。 - 前記TDDを用いて前記VCE中でテストされる前記VHDに対応する前記PHDのプロトタイプを作成するためのサブシステムと、
前記TDDを使用して前記PHDの前記プロトタイプをテストするためのサブシステムと
をさらに備えることを特徴とする請求項15に記載のシステム。 - 前記仮想コンピューティング環境は、前記VHDを動的に追加するためのサブシステムをさらに備えることを特徴とする請求項15に記載のシステム。
- 前記VHDを動的に追加するための前記サブシステムは、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査するためのサブシステムと、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するためのサブシステムと、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するためのサブシステムと、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用するためのサブシステムと
を備えることを特徴とする請求項17に記載のシステム。 - デバイスドライバ(DD)についての設計をテストするためのシステムであって、
前記DDをテストするための仮想テストハードウェアデバイス(VTHD)を開発するためのサブシステムと、
前記VTHDおよび前記DDを仮想コンピューティング環境(VCE)に追加するためのサブシステムと、
前記VCE中で前記VTHDを使用して前記DDをテストするためのサブシステムと
を備えることを特徴とするシステム。 - 前記DDが前記VCE中でテストされた前記VTHDのプロトタイプハードウェアデバイスを作成するためのサブシステムと、
前記プロトタイプハードウェアデバイス上で前記DDをテストするためのサブシステムと
をさらに備えることを特徴とする請求項19に記載のシステム。 - 前記仮想コンピューティング環境は、前記VHDを動的に追加するためのサブシステムをさらに備えることを特徴とする請求項19に記載のシステム。
- 前記VHDを動的に追加するための前記サブシステムは、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査するためのサブシステムと、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得するためのサブシステムと、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示するためのサブシステムと、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用するためのサブシステムと
を備えることを特徴とする請求項21に記載のシステム。 - 仮想コンピューティング環境が、仮想ハードウェアデバイスを動的に追加するためのコンピュータ読取り可能命令を含むコンピュータ読取り可能媒体であって、前記コンピュータ読取り可能命令は、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査する命令と、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得する命令と、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示する命令と、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用する命令と
を含むことを特徴とするコンピュータ読取り可能媒体。 - 前記仮想コンピューティング環境が外部デバイスディレクトリから前記1組のデバイスプロパティを取得する命令をさらに含むことを特徴とする請求項23に記載のコンピュータ読取り可能媒体。
- 前記仮想コンピューティング環境が、前記仮想マシンに対応する前記仮想コンピューティング環境のデバイスリストに前記1組のデバイスプロパティを追加することにより、前記1組のデバイスプロパティを前記仮想マシンに提示する命令をさらに含むことを特徴とする請求項24に記載のコンピュータ読取り可能媒体。
- 物理ハードウェアデバイス(PHD)についての設計をテストするためのコンピュータ読取り可能命令を含むコンピュータ読取り可能媒体であって、前記コンピュータ読取り可能命令は、
前記PHDについての前記設計に基づいて仮想ハードウェアデバイス(VHD)を実施する命令と、
前記VHDをテストするためのテストデバイスドライバ(TDD)を開発する命令と、
前記VHDおよび前記TDDを仮想コンピューティング環境(VCE)に追加する命令と、
前記VCE中で前記TDDを使用して前記VHDをテストする命令と
を含むことを特徴とするコンピュータ読取り可能媒体。 - 前記TDDを用いて前記VCE中でテストされる前記VHDに対応する前記PHDのプロトタイプを作成する命令と、
前記TDDを使用して前記PHDの前記プロトタイプをテストする命令と
をさらに含むことを特徴とする請求項26に記載のコンピュータ読取り可能媒体。 - 前記仮想コンピューティング環境が前記VHDを動的に追加する命令をさらに含むことを特徴とする請求項26に記載のコンピュータ読取り可能媒体。
- 前記仮想コンピューティング環境が前記VHDを動的に追加する要素は、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査する命令と、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得する命令と、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示する命令と、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用する命令と
をさらに含むことを特徴とする請求項28に記載のコンピュータ読取り可能媒体。 - デバイスドライバ(DD)についての設計をテストするためのコンピュータ読取り可能命令を含むコンピュータ読取り可能媒体であって、前記コンピュータ読取り可能命令は、
前記DDをテストするための仮想テストハードウェアデバイス(VTHD)を開発する命令と、
前記VTHDおよび前記DDを仮想コンピューティング環境(VCE)に追加する命令と、
前記VCE中で前記VTHDを使用して前記DDをテストする命令と
を含むことを特徴とするコンピュータ読取り可能媒体。 - 前記DDが前記VCE中でテストされた前記VTHDのプロトタイプハードウェアデバイスを作成する命令と、
前記プロトタイプハードウェアデバイス上で前記DDをテストする命令と
をさらに含むことを特徴とする請求項30に記載のコンピュータ読取り可能媒体。 - 前記仮想コンピューティング環境が前記VHDを動的に追加する命令をさらに含むことを特徴とする請求項30に記載のコンピュータ読取り可能媒体。
- 前記仮想コンピューティング環境が前記VHDを動的に追加する要素は、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査する命令と、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得する命令と、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示する命令と、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用する命令と
をさらに含むことを特徴とする請求項32に記載のコンピュータ読取り可能媒体。 - 仮想コンピューティング環境が、仮想ハードウェアデバイスを動的に追加するためのハードウェア制御デバイスであって、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査する手段と、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得する手段と、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示する手段と、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用する手段と
を備えることを特徴とするハードウェア制御デバイス。 - 前記仮想コンピューティング環境が、前記1組のデバイスプロパティを外部デバイスディレクトリから取得する手段をさらに備えることを特徴とする請求項34に記載のハードウェア制御デバイス。
- 前記仮想コンピューティング環境が、前記仮想マシンに対応する前記仮想コンピューティング環境のデバイスリストに前記1組のデバイスプロパティを追加することにより、前記1組のデバイスプロパティを前記仮想マシンに提示する手段をさらに備えることを特徴とする請求項35に記載のハードウェア制御デバイス。
- 物理ハードウェアデバイス(PHD)についての設計をテストするためのハードウェア制御デバイスであって、
前記PHDについての前記設計に基づいて仮想ハードウェアデバイス(VHD)を実施する手段と、
前記VHDをテストするためのテストデバイスドライバ(TDD)を開発する手段と、
前記VHDおよび前記TDDを仮想コンピューティング環境(VCE)に追加する手段と、
前記VCE中で前記TDDを使用して前記VHDをテストする手段と
を備えることを特徴とするハードウェア制御デバイス。 - 前記仮想コンピューティング環境は、前記VHDを動的に追加し、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査する手段と、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得する手段と、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示する手段と、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用する手段と
をさらに備えることを特徴とする請求項37に記載のハードウェア制御デバイス。 - デバイスドライバ(DD)についての設計をテストするためのハードウェア制御デバイスであって、
前記DDをテストするための仮想テストハードウェアデバイス(VTHD)を開発する手段と、
前記VTHDおよび前記DDを仮想コンピューティング環境(VCE)に追加する手段と、
前記VCE中で前記VTHDを使用して前記DDをテストする手段と
を備えることを特徴とするハードウェア制御デバイス。 - 前記仮想コンピューティング環境は、前記VHDを動的に追加し、
前記仮想コンピューティング環境が、外部サービスディレクトリを走査する手段と、
前記仮想コンピューティング環境が、新しい仮想ハードウェアデバイスについての1組のデバイスプロパティを取得する手段と、
前記仮想コンピューティング環境が、前記仮想コンピューティング環境中で動作する仮想マシンに前記1組のデバイスプロパティを提示する手段と、
前記仮想マシンが、前記新しい仮想ハードウェアデバイスを利用する手段と
をさらに備えることを特徴とする請求項39に記載のハードウェア制御デバイス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/883,620 US7580826B2 (en) | 2004-06-30 | 2004-06-30 | Systems and methods for development of emulated devices in a virtual machine environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006018814A true JP2006018814A (ja) | 2006-01-19 |
Family
ID=35148940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005158859A Pending JP2006018814A (ja) | 2004-06-30 | 2005-05-31 | 仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7580826B2 (ja) |
EP (1) | EP1615126A3 (ja) |
JP (1) | JP2006018814A (ja) |
KR (1) | KR20060047766A (ja) |
CN (2) | CN100511150C (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009533777A (ja) * | 2006-04-17 | 2009-09-17 | マイクロソフト コーポレーション | 仮想マシンのホストレベルのアプリケーション整合バックアップの作成 |
JP2010532050A (ja) * | 2007-06-27 | 2010-09-30 | マイクロソフト コーポレーション | 仮想環境にあるアドオンコンポーネントの動作 |
JP2012533821A (ja) * | 2009-07-21 | 2012-12-27 | エンパイア テクノロジー ディベロップメント エルエルシー | 低電力ネットワークのための仮想化 |
US9524194B2 (en) | 2009-07-21 | 2016-12-20 | Empire Technology Development Llc | Performing services on behalf of physical devices |
US11422824B2 (en) | 2017-12-08 | 2022-08-23 | Akib Systems Inc. | Computer activation method |
DE102023107473A1 (de) | 2022-03-28 | 2023-09-28 | Panasonic intellectual property Management co., Ltd | System zur erstellung einer entwicklungsumgebung, verfahren zur erstellung einer entwicklungsumgebung und programm |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689723B1 (en) * | 2004-11-08 | 2010-03-30 | Sun Microsystems, Inc. | Virtual cloned device node |
US7774794B2 (en) * | 2005-08-19 | 2010-08-10 | Intel Corporation | Method and system for managing bandwidth in a virtualized system |
CN100399274C (zh) * | 2005-09-19 | 2008-07-02 | 联想(北京)有限公司 | 一种虚拟机***输入/输出设备动态分配的方法及其设备 |
US20090106754A1 (en) * | 2005-12-10 | 2009-04-23 | Benjamin Liu | Handling a device related operation in a virtualization enviroment |
US8249853B2 (en) * | 2006-03-31 | 2012-08-21 | Intel Corporation | Exposing device features in partitioned environment |
US7406407B2 (en) * | 2006-06-01 | 2008-07-29 | Microsoft Corporation | Virtual machine for operating N-core application on M-core processor |
US7725305B2 (en) * | 2006-06-08 | 2010-05-25 | Microsoft Corporation | Partial virtualization on computing device |
WO2008017001A2 (en) * | 2006-08-02 | 2008-02-07 | Moka5, Inc. | Sharing live appliances |
US8181025B2 (en) | 2006-10-31 | 2012-05-15 | Intel Corporation | Method and apparatus for registering agents onto a virtual machine monitor |
US7881919B2 (en) * | 2007-04-03 | 2011-02-01 | Microsoft Corporation | USB device simulator |
US7747814B2 (en) * | 2007-06-26 | 2010-06-29 | Microsoft Corporation | Virtual machine state snapshots |
US9588511B2 (en) * | 2007-08-03 | 2017-03-07 | Hurco Companies, Inc. | Virtual machine manager |
US8839231B2 (en) * | 2007-12-04 | 2014-09-16 | Dell Products L.P. | Method and system for software installation |
US8209686B2 (en) * | 2008-02-12 | 2012-06-26 | International Business Machines Corporation | Saving unsaved user process data in one or more logical partitions of a computing system |
KR101489301B1 (ko) * | 2008-03-20 | 2015-02-06 | 삼성전자주식회사 | 가상환경 시스템 및 그의 구동방법 |
US9946493B2 (en) * | 2008-04-04 | 2018-04-17 | International Business Machines Corporation | Coordinated remote and local machine configuration |
US8024169B2 (en) | 2008-04-23 | 2011-09-20 | International Business Machines Corporation | Storage area network management modeling simulation |
US8543998B2 (en) * | 2008-05-30 | 2013-09-24 | Oracle International Corporation | System and method for building virtual appliances using a repository metadata server and a dependency resolution service |
US8862633B2 (en) | 2008-05-30 | 2014-10-14 | Novell, Inc. | System and method for efficiently building virtual appliances in a hosted environment |
US9262194B2 (en) * | 2008-06-10 | 2016-02-16 | Apple Inc. | Virtual machine communications |
US9170904B1 (en) * | 2008-06-30 | 2015-10-27 | Emc Corporation | I/O fault injection using simulated computing environments |
US20100115508A1 (en) * | 2008-10-30 | 2010-05-06 | Lenovo | Plug-in architecture for hypervisor-based system |
CN101430649B (zh) * | 2008-11-19 | 2011-09-14 | 北京航空航天大学 | 基于虚拟机的虚拟计算环境*** |
CN101770410B (zh) * | 2009-01-07 | 2016-08-17 | 联想(北京)有限公司 | 基于客户操作***的***还原方法、虚拟机管理器及*** |
US8219990B2 (en) * | 2009-05-28 | 2012-07-10 | Novell, Inc. | Techniques for managing virtual machine (VM) states |
US8301818B2 (en) * | 2009-12-11 | 2012-10-30 | Oracle America, Inc. | Virtual hot plugging of devices and virtual devices |
US8612633B2 (en) | 2010-03-31 | 2013-12-17 | Microsoft Corporation | Virtual machine fast emulation assist |
US20110289469A1 (en) * | 2010-05-21 | 2011-11-24 | Huang Thomas B | Virtual interconnection method and apparatus |
US8533531B2 (en) | 2010-06-10 | 2013-09-10 | Microsoft Corporation | Multimedia hardware emulation for application testing |
DE102010053485A1 (de) * | 2010-12-04 | 2012-06-06 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Arbeitsmaschine und Arbeitsmaschine mit virtueller Automatisierung |
EP2709016B1 (en) * | 2011-05-09 | 2019-03-13 | Hyundai Motor Company | Exception handling test device and method thereof |
CA2764362A1 (en) * | 2012-01-16 | 2013-07-16 | Giovanni J. Morelli | Rdp session monitor/control system and application |
CA2764354A1 (en) | 2012-01-16 | 2013-07-16 | Giovanni J. Morelli | Host-emulator bridge system and method |
CA2764283A1 (en) | 2012-01-16 | 2013-07-16 | Giovanni J. Morelli | Mobile device control application for improved security and diagnostics |
US9965302B2 (en) | 2013-03-28 | 2018-05-08 | Sphere 3D Inc. | Systems and methods for providing an emulator |
CN103697916B (zh) * | 2013-12-24 | 2017-01-11 | 河北汉光重工有限责任公司 | 惯性测量单元虚拟仪器 |
CN104765637A (zh) * | 2014-01-02 | 2015-07-08 | 深圳迈瑞生物医疗电子股份有限公司 | 一种在监护仪上安全运行桌面应用程序的*** |
TWI598819B (zh) * | 2015-04-30 | 2017-09-11 | 捷鼎國際股份有限公司 | 基於虛擬機器進行硬體裝置測試之電腦系統及方法 |
US10234921B2 (en) * | 2016-03-04 | 2019-03-19 | Schneider Electric USA, Inc. | Systems and methods for operating a virtual power environment |
CN106371962B (zh) * | 2016-08-30 | 2019-01-01 | 广州广电运通金融电子股份有限公司 | 一种跨平台的驱动测试方法、装置及*** |
US10942757B2 (en) * | 2017-02-27 | 2021-03-09 | Red Hat, Inc. | Virtual machine security through guest-side emulation |
US10409632B2 (en) * | 2017-03-31 | 2019-09-10 | The Boeing Company | Emulation of hardware components based on interrupt design |
CN107436810A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土科技股份有限公司 | 一种计算机***资源调度方法及装置 |
US10705933B2 (en) | 2017-07-18 | 2020-07-07 | The Boeing Company | System integration using virtualization |
US11347531B2 (en) * | 2018-10-31 | 2022-05-31 | The Boeing Company | Generalized virtualization platform for systems using hardware abstraction software layers |
EP3961389A1 (en) * | 2020-08-26 | 2022-03-02 | The Boeing Company | Virtual machine for developing and testing target code for hardware designs |
US11544234B2 (en) | 2020-11-12 | 2023-01-03 | International Business Machines Corporation | Virtualizing specific values in a guest configuration based on the underlying host symbol repository |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070935A (ja) * | 2002-06-27 | 2004-03-04 | Internatl Business Mach Corp <Ibm> | 論理パーティションのリソースを動的に再構成するための方法、プログラム、システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4649479A (en) | 1985-02-28 | 1987-03-10 | International Business Machines Corp. | Device driver and adapter binding technique |
US5717903A (en) * | 1995-05-15 | 1998-02-10 | Compaq Computer Corporation | Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device |
US6253224B1 (en) | 1998-03-24 | 2001-06-26 | International Business Machines Corporation | Method and system for providing a hardware machine function in a protected virtual machine |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6243833B1 (en) * | 1998-08-26 | 2001-06-05 | International Business Machines Corporation | Apparatus and method for self generating error simulation test data from production code |
DE10036387A1 (de) * | 1999-08-16 | 2001-03-01 | Advantest Corp | Halbleitertestprogramm-Diagnosevorrichtung |
GB0001585D0 (en) | 2000-01-24 | 2000-03-15 | Radioscape Ltd | Method of designing,modelling or fabricating a communications baseband stack |
US6968307B1 (en) * | 2000-04-28 | 2005-11-22 | Microsoft Corporation | Creation and use of virtual device drivers on a serial bus |
US7448079B2 (en) * | 2000-07-05 | 2008-11-04 | Ernst & Young, Llp | Method and apparatus for providing computer services |
EP1191443A3 (en) | 2000-09-22 | 2004-03-03 | International Business Machines Corporation | Method and system for testing a processor |
-
2004
- 2004-06-30 US US10/883,620 patent/US7580826B2/en active Active
-
2005
- 2005-05-11 KR KR1020050039289A patent/KR20060047766A/ko not_active Application Discontinuation
- 2005-05-18 EP EP05104198A patent/EP1615126A3/en not_active Ceased
- 2005-05-30 CN CNB2005100760759A patent/CN100511150C/zh active Active
- 2005-05-30 CN CN2008101490820A patent/CN101382905B/zh active Active
- 2005-05-31 JP JP2005158859A patent/JP2006018814A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070935A (ja) * | 2002-06-27 | 2004-03-04 | Internatl Business Mach Corp <Ibm> | 論理パーティションのリソースを動的に再構成するための方法、プログラム、システム |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009533777A (ja) * | 2006-04-17 | 2009-09-17 | マイクロソフト コーポレーション | 仮想マシンのホストレベルのアプリケーション整合バックアップの作成 |
US8321377B2 (en) | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US9529807B2 (en) | 2006-04-17 | 2016-12-27 | Microsoft Technology Licensing, Llc | Creating host-level application-consistent backups of virtual machines |
JP2010532050A (ja) * | 2007-06-27 | 2010-09-30 | マイクロソフト コーポレーション | 仮想環境にあるアドオンコンポーネントの動作 |
US8612972B2 (en) | 2007-06-27 | 2013-12-17 | Microsoft Corporation | Running add-on components in virtual environments |
US9400665B2 (en) | 2007-06-27 | 2016-07-26 | Microsoft Technology Licensing, Llc | Running add-on components in virtual environments |
US10108441B2 (en) | 2007-06-27 | 2018-10-23 | Microsoft Technology Licensing, Llc | Running add-on components in virtual environments |
JP2012533821A (ja) * | 2009-07-21 | 2012-12-27 | エンパイア テクノロジー ディベロップメント エルエルシー | 低電力ネットワークのための仮想化 |
US9524194B2 (en) | 2009-07-21 | 2016-12-20 | Empire Technology Development Llc | Performing services on behalf of physical devices |
US11422824B2 (en) | 2017-12-08 | 2022-08-23 | Akib Systems Inc. | Computer activation method |
DE102023107473A1 (de) | 2022-03-28 | 2023-09-28 | Panasonic intellectual property Management co., Ltd | System zur erstellung einer entwicklungsumgebung, verfahren zur erstellung einer entwicklungsumgebung und programm |
Also Published As
Publication number | Publication date |
---|---|
KR20060047766A (ko) | 2006-05-18 |
CN101382905A (zh) | 2009-03-11 |
US20060004554A1 (en) | 2006-01-05 |
US7580826B2 (en) | 2009-08-25 |
EP1615126A2 (en) | 2006-01-11 |
CN100511150C (zh) | 2009-07-08 |
CN1716204A (zh) | 2006-01-04 |
EP1615126A3 (en) | 2007-10-31 |
CN101382905B (zh) | 2012-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006018814A (ja) | 仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 | |
RU2412468C2 (ru) | Системы и способы многоуровневой обработки перехватов в виртуальной машинной среде | |
JP4806212B2 (ja) | 1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法 | |
JP4156611B2 (ja) | 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 | |
JP5005191B2 (ja) | 仮想マシン環境においてオペレーティングシステムを実施するためのシステムおよび方法 | |
US7555596B2 (en) | Systems and methods for attaching a virtual machine virtual hard disk to a host machine | |
RU2398267C2 (ru) | Иерархическая виртуализация посредством многоуровневого механизма виртуализации | |
US8830228B2 (en) | Techniques for enabling remote management of servers configured with graphics processors | |
US7558723B2 (en) | Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices | |
KR101602519B1 (ko) | 가상화된 저장소 할당 방법 | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
EP1380947A2 (en) | Method for forking or migrating a virtual machine | |
US20090265708A1 (en) | Information Processing Apparatus and Method of Controlling Information Processing Apparatus | |
US9792136B2 (en) | Hardware assisted inter hypervisor partition data transfers | |
CN116069584A (zh) | 将监控服务扩展到可信云运营商域中 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080509 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110715 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110913 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20120113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120113 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130712 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130719 |
|
RD15 | Notification of revocation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7435 Effective date: 20130719 |