JP4610307B2 - 実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法 - Google Patents
実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP4610307B2 JP4610307B2 JP2004329651A JP2004329651A JP4610307B2 JP 4610307 B2 JP4610307 B2 JP 4610307B2 JP 2004329651 A JP2004329651 A JP 2004329651A JP 2004329651 A JP2004329651 A JP 2004329651A JP 4610307 B2 JP4610307 B2 JP 4610307B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- hardware
- bimodal
- operating system
- function
- 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
Links
- 230000002902 bimodal effect Effects 0.000 title claims description 50
- 238000000034 method Methods 0.000 title claims description 27
- 230000006870 function Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 2
- 238000013459 approach Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/45537—Provision of facilities of other operating environments, e.g. WINE
-
- 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)
Description
本発明の様々な実施形態は、コンピュータ上で実行可能である。図1および以下の説明は、本発明を実施することができる適切なコンピューティング環境について簡潔に述べた一般的な説明である。本発明の一実施形態として、クライアントワークステーションまたはサーバなどのコンピュータによって実行されるプログラムモジュールなどコンピュータ実行可能命令の一般的状況において説明してある。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、当業者であれば、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどをはじめとする、他のコンピュータシステム構成でも実施することができることを理解するであろう。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルとおよびリモートの両方のメモリ記憶デバイス内に配置することができる。
概念的な観点からは、コンピュータシステムは、一般に、ハードウェアの基礎となる層で実行されるソフトウェアの1つまたは複数の層を含む。この層化(layering)は、抽象化(abstraction)のため行われる。ソフトウェアの所定の層に対しインターフェースを定義すると、その層はその上の他の層により異なる方式で実施することができる。適切に設計されたコンピュータシステムであれば、それぞれの層はその下の中間層のみ認識する(およびそれのみに依存する)。これにより、層すなわち「スタック(stack)」(複数の隣接する層)は前記層またはスタックの上の層に悪影響を及ぼすことなく置き換えられることができる。例えば、ソフトウェアアプリケーション(上位層)は、通常、ファイルを何らかの形の恒久的ストレージに書き込むために、オペレーティングシステムの下位のいくつかのレベル(下位層)に依存しており、これらのアプリケーションでは、データを磁気ディスクに書き込むのか、ハードドライブに書き込むのか、またはネットワークフォルダに書き込むのかの違いを理解する必要はない。このような下位の層がファイルの書き込みを行う新しいオペレーティングシステムコンポーネントと置き換えられても、上位層のソフトウェアアプリケーションのオペレーションは影響を受けない。
物理ハードウェアデバイスに関して、VMはソフトウェアアプリケーションが前記ハードウェアデバイスを利用するためのいくつかのオプションを用意する。いくつかVMシステムでは、ハードウェアデバイス(ハードドライブまたはネットワークアダプタなど)は、単一のVM、およびVMがそのハードウェアデバイスを利用できるという点で実行されているソフトウェア(専用デバイスアーキテクチャ)のみに割り当てられることができる。しかし、この設計では、異なるVM間だけでなく、VMとホストシステムとの間でもハードウェアデバイスの共有が妨げられる。このような理由から、多くのVM実施形態では、代わりに「仮想デバイス」を使用する。
仮想デバイスをモデル化する方法としては、一般に、ハードウェアの既存の個々の部分を直接モデル化する「ハードウェア仮想デバイス(hardware virtual device)」手法(approach)と物理ハードウェア(physical hardware)の単なる反映(reflection)ではない、VM環境向けに最適化された、「理想化された仮想デバイス(idealized virtual device)」手法の2つがある。ハードウェア仮想デバイス手法には互換性に関する利点がある、すなわち、仮想デバイスはあらゆる点で実デバイスとまったく同じように動作するため、そのデバイスと相互作用するように設計されているソフトウェア(例えば、ドライバ)は変更なしでハードウェア仮想デバイスと共に動作する。しかし、ハードウェア仮想デバイスは、パフォーマンスに関しては不利である、すなわち、一般的にハードウェア設計者は仮想化に関する問題を考慮しないため物理ハードウェアは著しいオーバーヘッドコスト(および不効率)を被ることなく仮想デバイスでエミュレートすることが困難なことが多く、したがって、ハードウェア仮想デバイスは、多くの場合、対応するハードウェア実デバイスに比べて目立って低速である。
ゲストモードドライバ(guest-mode driver)がバイモーダルデバイスを識別(identify)できる(すなわち、実(real)ハードウェアデバイスと、追加(additional)オペレーションモードをサポートするためのエミュレートされてたデバイス(emulated device)とを区別する)ための技法がいくつかある。以下の技法があるが、これらに限られるわけではない。
本明細書で説明されている様々なシステム、方法、および技法は、ハードウェアまたはソフトウェアで、あるいは適切であれば、それらの組み合わせにより実施することができる。したがって、本発明の方法および装置、またはその態様または一部は、磁気ディスク、CD−ROM、ハードドライブ、または他のマシン可読記憶媒体などの有形媒体内に実現されるプログラムコード(すなわち、命令)の形をとることができ、プログラムコードがコンピュータなどのマシンにロードされ実行されるときに、そのマシンは本発明を実施する装置となる。プログラム可能コンピュータ上でプログラムコードを実行する場合、コンピュータは、一般に、プロセッサ、プロセッサにより読み取り可能な記憶媒体(揮発性および不揮発性メモリおよび/または記憶素子)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを備える。コンピュータシステムと通信する1つまたは複数のプログラムは、高水準手続き型またはオブジェクト指向型プログラミング言語で実施するのが好ましい。しかし、プログラムは、必要ならば、アセンブリ言語またはマシン語で実施することができる。いずれの場合も、言語はコンパイル型言語またはインタプリタ型言語であり、ハードウェアの実施と組み合わせられる。
21 処理ユニット
22 システムメモリ
23 システムバス
27 ハードドライブ
28 磁気ディスクドライブ
29 取り外し可能ストレージ
30 光ドライブ
32 ハードディスクドライブI/F
33 磁気ディスクドライブI/F
34 光ドライブI/F
36 アプリケーションプログラム
37 その他のプログラム
38 プログラムデータ
40 キーボード
42 マウス
46 シリアルポートI/F
47 モニタ
48 ビデオアダプタ
53 ネットワークI/F
54 モデム
55 ホストアダプタ
56 SCSIバス
62 ストレージデバイス
Claims (20)
- ゲストオペレーティングシステムとホストオペレーティングシステムとの間の通信を可能とする方法であって、
前記ゲストオペレーティングシステムと前記ホストオペレーティングシステムとの間にバイモーダルデバイスが接続されている場合、前記ゲストオペレーティングシステムのドライバが、前記バイモーダルデバイスの動作モードを識別するステップと、
ここで、前記バイモーダルデバイスは、第1の動作モードでは前記ホストオペレーティングシステムに接続されたハードウェアデバイスが有する所定のオリジナルオペレーション機能を実行するためのハードウェア仮想デバイスとして、第2の動作モードでは前記所定のオリジナルオペレーション機能に追加された追加オペレーション機能をも実行するための理想化されたハードウェア仮想デバイスとして選択的に動作し、ここで、該理想化されたハードウェア仮想デバイスは、前記ゲストオペレーティングシステムと前記ホストオペレーティングシステムとの間の通信を可能にする設計された仮想デバイスとして構成され、該設計された仮想デバイスは、所定の実際の又は設計された物理デバイスに対応する論理デバイスであり、該論理デバイスは、ソフトウェアとしての所定のドライバに従って前記実際の又は設計された物理デバイスとして動作するものであり、
前記ゲストオペレーティングシステムのドライバが、前記第2の動作モードで動作する前記バイモーダルデバイスと通信できないときは、前記ハードウェアデバイスが、前記追加オペレーション機能を実行することなく前記所定のオリジナルオペレーション機能を実行できるように、前記バイモーダルデバイスは、前記ハードウェア仮想デバイスとして選択的に動作するステップと、
前記ゲストオペレーティングシステムのドライバが、前記第2の動作モードで動作する前記バイモーダルデバイスと通信できるときは、前記ハードウェアデバイスが、前記所定のオリジナルオペレーション機能の実行と共に前記追加オペレーション機能の実行も同時にできるように、前記バイモーダルデバイスは、前記理想化されたハードウェア仮想デバイスとして選択的に動作するステップと
を具えたことを特徴とする方法。 - 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能を拡張することを特徴とする請求項1記載の方法。
- 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能から独立していることを特徴とする請求項1記載の方法。
- 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能をディスエーブルにすることを特徴とする請求項3記載の方法。
- 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能の一部をディスエーブルにすることを特徴とする請求項3記載の方法。
- 前記第2の動作モードは、前記バイモーダルデバイスにおける前記ハードウェア仮想デバイスのレジスタ内の少なくとも1つのビットを使用することによりイネーブルにされることを特徴とする請求項1記載の方法。
- 前記第2の動作モードは、前記バイモーダルデバイスにおける1つまたは複数の前記ハードウェア仮想デバイスによる利用のため特に作成されたレジスタ内の少なくとも1つのビットを使用することによりイネーブルにされることを特徴とする請求項1記載の方法。
- 前記第2の動作モードは、前記バイモーダルデバイスにおける少なくとも1つのレジスタ内の値を変更する所定のコマンドまたはデータのシーケンスを使用することによりイネーブルにされることを特徴とする請求項1記載の方法。
- 前記第2の動作モードは、ゲストオペレーティングシステム環境内にインストールされた第2の動作モードのドライバを使用することによりイネーブルにされ、
前記第2の動作モードのドライバが存在していない場合、第1の動作モードのドライバが代わりにイネーブルにされることを特徴とする請求項1記載の方法。 - コンピュータに、請求項1ないし9のいずれかに記載の方法を実行させることが可能な命令を有するコンピュータプログラム。
- 請求項10記載のコンピュータプログラムを有するコンピュータ読取り可能な記録媒体。
- ゲストオペレーティングシステムとホストオペレーティングシステムとの間の通信を可能とするシステムであって、
前記ゲストオペレーティングシステムと前記ホストオペレーティングシステムとの間にバイモーダルデバイスが接続されている場合、前記ゲストオペレーティングシステムのドライバが、前記バイモーダルデバイスの動作モードを識別する手段と、
ここで、前記バイモーダルデバイスは、第1の動作モードでは前記ホストオペレーティングシステムに接続されたハードウェアデバイスが有する所定のオリジナルオペレーション機能を実行するためのハードウェア仮想デバイスとして、第2の動作モードでは前記所定のオリジナルオペレーション機能に追加された追加オペレーション機能をも実行するための理想化されたハードウェア仮想デバイスとして選択的に動作し、ここで、該理想化されたハードウェア仮想デバイスは、前記ゲストオペレーティングシステムと前記ホストオペレーティングシステムとの間の通信を可能にする設計された仮想デバイスとして構成され、該設計された仮想デバイスは、所定の実際の又は設計された物理デバイスに対応する論理デバイスであり、該論理デバイスは、ソフトウェアとしての所定のドライバに従って前記実際の又は設計された物理デバイスとして動作するものであり、
前記ゲストオペレーティングシステムのドライバが、前記第2の動作モードで動作する前記バイモーダルデバイスと通信できないときは、前記ハードウェアデバイスが、前記追加オペレーション機能を実行することなく前記所定のオリジナルオペレーション機能を実行できるように、前記バイモーダルデバイスは、前記ハードウェア仮想デバイスとして選択的に動作する手段と、
前記ゲストオペレーティングシステムのドライバが、前記第2の動作モードで動作する前記バイモーダルデバイスと通信できるときは、前記ハードウェアデバイスが、前記所定のオリジナルオペレーション機能の実行と共に前記追加オペレーション機能の実行も同時にできるように、前記バイモーダルデバイスは、前記理想化されたハードウェア仮想デバイスとして選択的に動作する手段と
を具えたことを特徴とするシステム。 - 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能を拡張することを特徴とする請求項12記載のシステム。
- 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能から独立していることを特徴とする請求項12記載のシステム。
- 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能をディスエーブルにすることを特徴とする請求項14記載のシステム。
- 前記第2の動作モードの機能は、前記第1の動作モードのオリジナルオペレーション機能の一部をディスエーブルにすることを特徴とする請求項14記載のシステム。
- 前記第2の動作モードは、前記バイモーダルデバイスにおける前記ハードウェア仮想デバイスのレジスタ内の少なくとも1つのビットを使用することによりイネーブルにされることを特徴とする請求項12記載のシステム。
- 前記第2の動作モードは、前記バイモーダルデバイスにおける1つまたは複数の前記ハードウェア仮想デバイスによる利用のため特に作成されたレジスタ内の少なくとも1つのビットを使用することによりイネーブルにされることを特徴とする請求項12記載のシステム。
- 前記第2の動作モードは、前記バイモーダルデバイスにおける少なくとも1つのレジスタ内の値を変更する所定のコマンドまたはデータのシーケンスを使用することによりイネーブルにされることを特徴とする請求項12記載のシステム。
- 前記第2の動作モードは、ゲストオペレーティングシステム環境内にインストールされた第2の動作モードのドライバを使用することによりイネーブルにされ、
前記第2の動作モードのドライバが存在していない場合、第1の動作モードのドライバが代わりにイネーブルにされることを特徴とする請求項12記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/734,450 US7558723B2 (en) | 2003-12-12 | 2003-12-12 | Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005174307A JP2005174307A (ja) | 2005-06-30 |
JP4610307B2 true JP4610307B2 (ja) | 2011-01-12 |
Family
ID=34552773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004329651A Expired - Fee Related JP4610307B2 (ja) | 2003-12-12 | 2004-11-12 | 実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法 |
Country Status (13)
Country | Link |
---|---|
US (1) | US7558723B2 (ja) |
EP (1) | EP1548589B1 (ja) |
JP (1) | JP4610307B2 (ja) |
KR (1) | KR20050059409A (ja) |
CN (1) | CN100449488C (ja) |
AU (1) | AU2004220769A1 (ja) |
BR (1) | BRPI0404496A (ja) |
CA (1) | CA2485239A1 (ja) |
ES (1) | ES2664817T3 (ja) |
MX (1) | MXPA04011275A (ja) |
RU (1) | RU2406113C2 (ja) |
TW (1) | TW200519632A (ja) |
ZA (1) | ZA200409138B (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8838743B2 (en) * | 2004-02-13 | 2014-09-16 | Intel Corporation | Apparatus and method for a dynamically extensible virtual switch |
US20060005190A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | Systems and methods for implementing an operating system in a virtual machine environment |
US8249853B2 (en) * | 2006-03-31 | 2012-08-21 | Intel Corporation | Exposing device features in partitioned environment |
JP4945186B2 (ja) * | 2006-07-28 | 2012-06-06 | 株式会社東芝 | 記憶装置およびこれを含むメモリシステム |
US8099274B2 (en) * | 2007-03-30 | 2012-01-17 | International Business Machines Corporation | Facilitating input/output processing of one or more guest processing systems |
US7793307B2 (en) * | 2007-04-06 | 2010-09-07 | Network Appliance, Inc. | Apparatus and method for providing virtualized hardware resources within a virtual execution environment |
US20080320041A1 (en) * | 2007-06-21 | 2008-12-25 | Motorola, Inc. | Adding virtual features via real world accessories |
KR100917687B1 (ko) * | 2007-06-26 | 2009-09-21 | 문창선 | 가상 인터페이스를 제공하기 위한 시스템 및 방법 |
US9043553B2 (en) * | 2007-06-27 | 2015-05-26 | Microsoft Technology Licensing, Llc | Leveraging transactional memory hardware to accelerate virtualization and emulation |
US8219989B2 (en) | 2007-08-02 | 2012-07-10 | International Business Machines Corporation | Partition adjunct with non-native device driver for facilitating access to a physical input/output device |
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 |
US8010763B2 (en) | 2007-08-02 | 2011-08-30 | International Business Machines Corporation | Hypervisor-enforced isolation of entities within a single logical partition's virtual address space |
JP5056334B2 (ja) * | 2007-10-15 | 2012-10-24 | 富士通株式会社 | 管理プログラム、管理装置、および管理方法 |
US7743389B2 (en) * | 2007-11-06 | 2010-06-22 | Vmware, Inc. | Selecting between pass-through and emulation in a virtual machine environment |
JP2009134601A (ja) * | 2007-11-30 | 2009-06-18 | Fujitsu Ltd | ディスクアクセス方式切替装置 |
US8230155B2 (en) | 2008-06-26 | 2012-07-24 | Microsoft Corporation | Direct memory access filter for virtualized operating systems |
US8151032B2 (en) * | 2008-06-26 | 2012-04-03 | Microsoft Corporation | Direct memory access filter for virtualized operating systems |
US8566565B2 (en) * | 2008-07-10 | 2013-10-22 | Via Technologies, Inc. | Microprocessor with multiple operating modes dynamically configurable by a device driver based on currently running applications |
US8239938B2 (en) * | 2008-12-08 | 2012-08-07 | Nvidia Corporation | Centralized device virtualization layer for heterogeneous processing units |
US8989802B2 (en) * | 2009-01-27 | 2015-03-24 | Symbol Technologies, Inc. | Methods and apparatus for a mobile unit with device virtualization |
TWI433527B (zh) | 2009-09-11 | 2014-04-01 | Shih Pi Ta Technology Ltd | 一種建立通訊連線之方法及其系統 |
KR101275293B1 (ko) * | 2009-10-26 | 2013-06-14 | 한국전자통신연구원 | 네트워크 장치 및 네트워크 가상화 지원 방법 |
US9529615B2 (en) | 2010-11-24 | 2016-12-27 | International Business Machines Corporation | Virtual device emulation via hypervisor shared memory |
US20120167082A1 (en) * | 2010-12-23 | 2012-06-28 | Sanjay Kumar | Direct sharing of smart devices through virtualization |
JPWO2012102002A1 (ja) * | 2011-01-24 | 2014-06-30 | パナソニック株式会社 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路 |
US9804864B1 (en) * | 2011-10-07 | 2017-10-31 | BlueStack Systems, Inc. | Method of mapping inputs and system thereof |
US9329887B2 (en) | 2011-10-19 | 2016-05-03 | Hob Gmbh & Co. Kg | System and method for controlling multiple computer peripheral devices using a generic driver |
US9442732B2 (en) | 2012-03-19 | 2016-09-13 | Via Technologies, Inc. | Running state power saving via reduced instructions per clock operation |
US8904388B2 (en) * | 2013-01-10 | 2014-12-02 | Vce Company, Llc | Scripting language executor service for applications |
US9330011B2 (en) | 2013-09-20 | 2016-05-03 | Via Alliance Semiconductor Co., Ltd. | Microprocessor with integrated NOP slide detector |
US10019260B2 (en) | 2013-09-20 | 2018-07-10 | Via Alliance Semiconductor Co., Ltd | Fingerprint units comparing stored static fingerprints with dynamically generated fingerprints and reconfiguring processor settings upon a fingerprint match |
US9575778B2 (en) | 2014-05-20 | 2017-02-21 | Via Alliance Semiconductor Co., Ltd. | Dynamically configurable system based on cloud-collaborative experimentation |
US9755902B2 (en) | 2014-05-20 | 2017-09-05 | Via Alliance Semiconductor Co., Ltd. | Dynamic system configuration based on cloud-collaborative experimentation |
KR102160414B1 (ko) * | 2016-01-22 | 2020-09-28 | 주식회사 소니 인터랙티브 엔터테인먼트 | 하위 호환성을 위한 레거시 버스 동작 시뮬레이션 |
CN113490292B (zh) * | 2021-07-16 | 2023-04-28 | 联想(北京)有限公司 | 通信处理方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0212340A (ja) * | 1988-06-29 | 1990-01-17 | Nec Corp | 仮想計算機 |
JPH05151084A (ja) * | 1991-11-26 | 1993-06-18 | Nec Corp | Tlbエントリクリア方式 |
JPH07244628A (ja) * | 1994-01-21 | 1995-09-19 | Microsoft Corp | プロテクト・モード・デバイス・ドライバを供給する方法及び装置 |
US5548783A (en) * | 1993-10-28 | 1996-08-20 | Dell Usa, L.P. | Composite drive controller including composite disk driver for supporting composite drive accesses and a pass-through driver for supporting accesses to stand-alone SCSI peripherals |
JP2001256153A (ja) * | 2000-03-09 | 2001-09-21 | Canon Inc | ネットワークデバイス制御装置および方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0610677A3 (en) * | 1993-02-12 | 1995-08-02 | Ibm | Communication device management module operating in two modes. |
US5459869A (en) * | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5940613A (en) * | 1996-05-01 | 1999-08-17 | Sun Microsystems, Inc. | Method for creating a single binary virtual device driver for a windowing operating system |
US5958022A (en) * | 1997-03-21 | 1999-09-28 | International Business Machines Corporation | System and method for I/O access mode selection |
RU99122746A (ru) * | 1997-04-02 | 2001-09-20 | Майкрософт Корпорейшн (Us) | Способ интеграции виртуальной машины с редакторами способов ввода |
US6785894B1 (en) * | 1999-04-09 | 2004-08-31 | Sun Microsystems, Inc. | Virtual device driver |
US7308717B2 (en) * | 2001-02-23 | 2007-12-11 | International Business Machines Corporation | System and method for supporting digital rights management in an enhanced Java™ 2 runtime environment |
US7272831B2 (en) * | 2001-03-30 | 2007-09-18 | Intel Corporation | Method and apparatus for constructing host processor soft devices independent of the host processor operating system |
US20030061401A1 (en) * | 2001-09-25 | 2003-03-27 | Luciani Luis E. | Input device virtualization with a programmable logic device of a server |
US7103529B2 (en) * | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
-
2003
- 2003-12-12 US US10/734,450 patent/US7558723B2/en not_active Expired - Fee Related
-
2004
- 2004-10-15 AU AU2004220769A patent/AU2004220769A1/en not_active Abandoned
- 2004-10-18 TW TW093131595A patent/TW200519632A/zh unknown
- 2004-10-19 CA CA002485239A patent/CA2485239A1/en not_active Abandoned
- 2004-10-20 BR BR0404496-7A patent/BRPI0404496A/pt not_active IP Right Cessation
- 2004-11-01 KR KR1020040087954A patent/KR20050059409A/ko not_active Application Discontinuation
- 2004-11-04 ES ES04026219.8T patent/ES2664817T3/es active Active
- 2004-11-04 EP EP04026219.8A patent/EP1548589B1/en not_active Not-in-force
- 2004-11-11 ZA ZA200409138A patent/ZA200409138B/xx unknown
- 2004-11-12 RU RU2004133169/08A patent/RU2406113C2/ru not_active IP Right Cessation
- 2004-11-12 MX MXPA04011275A patent/MXPA04011275A/es not_active Application Discontinuation
- 2004-11-12 JP JP2004329651A patent/JP4610307B2/ja not_active Expired - Fee Related
- 2004-12-10 CN CNB2004101039185A patent/CN100449488C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0212340A (ja) * | 1988-06-29 | 1990-01-17 | Nec Corp | 仮想計算機 |
JPH05151084A (ja) * | 1991-11-26 | 1993-06-18 | Nec Corp | Tlbエントリクリア方式 |
US5548783A (en) * | 1993-10-28 | 1996-08-20 | Dell Usa, L.P. | Composite drive controller including composite disk driver for supporting composite drive accesses and a pass-through driver for supporting accesses to stand-alone SCSI peripherals |
JPH07244628A (ja) * | 1994-01-21 | 1995-09-19 | Microsoft Corp | プロテクト・モード・デバイス・ドライバを供給する方法及び装置 |
JP2001256153A (ja) * | 2000-03-09 | 2001-09-21 | Canon Inc | ネットワークデバイス制御装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2004133169A (ru) | 2006-04-27 |
EP1548589A3 (en) | 2007-06-06 |
EP1548589A2 (en) | 2005-06-29 |
AU2004220769A1 (en) | 2005-06-30 |
CA2485239A1 (en) | 2005-06-12 |
ES2664817T3 (es) | 2018-04-23 |
EP1548589B1 (en) | 2018-02-28 |
BRPI0404496A (pt) | 2005-08-23 |
TW200519632A (en) | 2005-06-16 |
RU2406113C2 (ru) | 2010-12-10 |
US7558723B2 (en) | 2009-07-07 |
MXPA04011275A (es) | 2005-06-16 |
KR20050059409A (ko) | 2005-06-20 |
ZA200409138B (en) | 2006-07-26 |
US20050131668A1 (en) | 2005-06-16 |
JP2005174307A (ja) | 2005-06-30 |
CN1627263A (zh) | 2005-06-15 |
CN100449488C (zh) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4610307B2 (ja) | 実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法 | |
JP4156611B2 (ja) | 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 | |
RU2412468C2 (ru) | Системы и способы многоуровневой обработки перехватов в виртуальной машинной среде | |
US9003418B2 (en) | System and method for accelerating input/output access operation on a virtual machine | |
US7725305B2 (en) | Partial virtualization on computing device | |
US8312212B2 (en) | Systems and methods for attaching a virtual machine virtual hard disk to a host machine | |
JP5139975B2 (ja) | 複数の経路最適化を備える関数レベルジャストインタイム変換エンジン | |
CN102541619B (zh) | 虚拟机管理装置和方法 | |
JP2006018814A (ja) | 仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 | |
CN105204393B (zh) | 基于虚核单片机的单片机生产研发工具及其实现方法 | |
CN107430570B (zh) | 具有SR-IOV和xHCI-IOV的附加安全执行环境 | |
US8117346B2 (en) | Configuration space virtualization | |
US20180074843A1 (en) | System, method, and computer program product for linking devices for coordinated operation | |
KR20140018316A (ko) | 가상 디스크 스토리지 기술 | |
CN109408193B (zh) | 虚拟机实现方法、装置及计算机设备 | |
KR20240098553A (ko) | 저장 장치 | |
JP2023064327A (ja) | 仮想マシンコンテナ装置、仮想マシンコンテナの制御方法、プログラム及び記録媒体 | |
WO2020183121A1 (en) | Apparatus for forwarding a mediated request to processing circuitry in response to a configuration request | |
JP2005056019A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100908 |
|
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: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4610307 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |