(57)【特許請求の範囲】
【請求項１】
コンピュータシステムの複数のバーチャルマシーン（ＶＭ）のそれぞれから、前記ＶＭ内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信するインタフェースシステムと、
前記複数のＶＭのそれぞれについてＶＭに固有の接続情報と設定パラメータとを維持し、対応する前記ＶＭに固有の接続情報と設定パラメータとによって前記複数のＶＭのそれぞれについて前記物理デバイスを再設定する制御システムと、
を有するシステムであって、
前記インタフェースシステムと前記制御システムとは、前記ＶＭの外部において実現され、
前記インタフェースシステムの少なくとも一部と前記制御システムの少なくとも一部とは、前記ＶＭを提供するバーチャルマシーンモニタ（ＶＭＭ）の外部において前記ＶＭＭと前記物理デバイスとの間で実現されるシステム。
【請求項２】
前記インタフェースシステムの少なくとも一部は、前記ＶＭＭの外部において前記コンピュータシステム上で実行されるホストデバイスドライバ内に実現され、
前記ホストデバイスドライバは、前記物理デバイスに統合制御インタフェースを提供するため前記複数のＶＭからのデバイス制御を統合するよう構成され、
前記制御システムの少なくとも一部は、前記物理デバイス内に実現される、請求項１記載のシステム。
【請求項３】
前記インタフェースシステムの少なくとも一部と前記制御システムの少なくとも一部とは、前記物理デバイス、前記ＶＭＭの外部において前記コンピュータシステム上で実行するホストドライバ、及び／又は前記ＶＭＭの上位で実行する制御ドメインの内部において実現される、請求項１記載のシステム。
【請求項４】
前記物理デバイスは、無線ネットワークインタフェースコントローラ（ＮＩＣ）を有する、請求項１記載のシステム。
【請求項５】
前記無線ＮＩＣは、ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）を有し、
前記制御システムは、対応するＶＭに固有の設定パラメータと接続情報とにより前記複数のＶＭのそれぞれについて前記ＭＡＣを再設定するよう構成される、請求項４記載のシステム。
【請求項６】
前記インタフェースシステムの少なくとも一部は、前記ＶＭＭの外部において前記コンピュータシステム上で実行するホストデバイスドライバ内に実現され、
前記ホストデバイスドライバは、前記無線ＮＩＣと前記ＶＭＭとの間のインタフェースをとるラジオを有し、
前記ラジオは、前記複数のＶＭのそれぞれについて対応するＶＭに固有の設定パラメータとコンテクストパラメータとにより再設定可能であり、
前記ホストデバイスドライバは、前記無線ＮＩＣに統合制御インタフェースを提供するため前記ＶＭからの設定制御を統合するよう構成される、請求項５記載のシステム。
【請求項７】
前記ＭＡＣは、パケットを送信するよう構成され、ＶＭに固有のラジオ固有識別子により前記ホストデバイスドライバを制御し、
前記ホストデバイスドライバは、前記ＶＭＭと前記ＭＡＣとの間でパケット及び制御を通信するため、ラジオ固有識別子とＶＭ固有識別子との間で変換するよう構成される、請求項６記載のシステム。
【請求項８】
コンピュータシステムの複数のバーチャルマシーン（ＶＭ）のそれぞれから、前記ＶＭ内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し前記物理デバイスに対する設定制御を受信するステップと、
前記複数のＶＭのそれぞれについてＶＭに固有の設定パラメータと接続情報とを維持するステップと、
対応する前記ＶＭに固有の設定パラメータと接続情報とにより前記複数のＶＭのそれぞれについて前記物理デバイスを再設定するステップと、
を有する方法であって、
前記受信するステップと、前記維持するステップと、前記再設定するステップとは、前記ＶＭの外部で実行され、
前記受信するステップと、前記維持するステップと、前記再設定するステップとの少なくとも一部は、前記ＶＭを提供するバーチャルマシーンモニタ（ＶＭＭ）の外部において前記ＶＭＭと前記物理デバイスとの間で実行される方法。
【請求項９】
前記物理デバイスに統合制御インタフェースを提供するため前記複数のＶＭからの設定制御を統合することを含む、前記ＶＭＭの外部において前記コンピュータシステム上で実行するホストデバイスドライバ内で前記受信するステップの少なくとも一部を実行するステップと、
前記物理デバイスの内部において前記維持するステップと前記再設定するステップとの少なくとも一部を実行するステップと、
をさらに有する、請求項８記載の方法。
【請求項１０】
前記物理デバイス、前記ＶＭＭの外部において前記コンピュータシステム上で実行するホストドライバ、及び／又は前記ＶＭＭの上位で実行する制御ドメインの内部において、前記受信するステップと、前記維持するステップと、前記再設定するステップとの少なくとも一部を実行するステップをさらに有する、請求項８記載の方法。
【請求項１１】
前記物理デバイスは、無線ネットワークインタフェースコントローラ（ＮＩＣ）を有する、請求項８記載の方法。
【請求項１２】
前記無線ＮＩＣは、ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）を有し、
前記再設定するステップは、対応するＶＭに固有の設定パラメータと接続情報とにより前記複数のＶＭのそれぞれについて前記ＭＡＣを再設定することを含む、請求項１１記載の方法。
【請求項１３】
ホストデバイスドライバのラジオインタフェースを介し前記無線ＮＩＣと前記ＶＭＭとの間のインタフェースをとるステップと、
対応するＶＭに固有の設定パラメータとコンテクストパラメータとにより前記複数のＶＭのそれぞれについて前記ラジオインタフェースを再設定するステップと、
をさらに有する、請求項１２記載の方法。
【請求項１４】
前記ＭＡＣから前記ホストデバイスドライバにＶＭ固有ラジオ識別子によるパケットと制御とを送信するステップと、
前記ＶＭＭと前記ＭＡＣとの間でパケットと制御とを通信するため、前記ホストデバイスドライバ内でＶＭ固有ラジオ識別子とＶＭ固有ＶＭ識別子との間で変換するステップと、
をさらに有する、請求項１３記載の方法。
【請求項１５】
コンピュータシステムの複数のバーチャルマシーン（ＶＭ）のそれぞれから、前記ＶＭ内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信させ、
前記複数のＶＭのそれぞれについてＶＭに固有の接続情報と設定パラメータとを維持させ、
対応する前記ＶＭに固有の接続情報と設定パラメータとにより前記複数のＶＭのそれぞれについて前記物理デバイスを再設定させる手順をコンピュータに実行させるためのコンピュータプログラムであって、
前記受信、前記維持及び前記再設定は、前記ＶＭの外部において実行され、
前記受信、前記維持及び前記再設定の少なくとも一部は、前記ＶＭを提供するバーチャルマシーンモニタ（ＶＭＭ）の外部において前記ＶＭＭと前記物理デバイスとの間で実行されるコンピュータプログラム。
【請求項１６】
前記手順はさらに、
前記受信の少なくとも一部を、前記ＶＭＭの外部において前記コンピュータシステム上で実行するホストデバイスドライバ内で実行させ、
前記維持及び前記再設定の少なくとも一部を前記物理デバイス内で実行させることを含み、
前記ホストデバイスドライバ内の実行は、前記物理デバイスに統合制御インタフェースを提供するため前記複数のＶＭからの設定制御を統合させることを含む、請求項１５記載のコンピュータプログラム。
【請求項１７】
前記物理デバイスは、無線ネットワークインタフェースコントローラ（ＮＩＣ）を有する、請求項１６記載のコンピュータプログラム。
【請求項１８】
前記無線ＮＩＣは、ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）を有し、
前記再設定は、対応するＶＭに固有の設定パラメータと接続情報とにより前記複数のＶＭのそれぞれについて前記ＭＡＣを再設定させることを含む、請求項１７記載のコンピュータプログラム。
【請求項１９】
前記手順はさらに、
前記無線ＮＩＣと前記ＶＭＭとの間のインタフェースをとらせ、対応するＶＭに固有の設定パラメータとコンテクストパラメータとにより前記複数のＶＭのそれぞれについてラジオを再設定させ、
前記ＶＭＭの外部において前記無線ＮＩＣに統合制御インタフェースを提供するため前記ＶＭからの設定制御を統合させることを含む、請求項１８記載のコンピュータプログラム。
【請求項２０】
前記制御システムは、デバイス初期化、ネットワークスキャニング、ネットワークポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ及び電力制御の１以上に関して前記複数のＶＭのそれぞれについて前記無線ＮＩＣを再設定するよう構成される、請求項４記載のシステム。
【請求項２１】
前記再設定するステップは、デバイス初期化、ネットワークスキャニング、ネットワークポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ及び電力制御の１以上に関して前記複数のＶＭのそれぞれについて前記無線ＮＩＣを再設定することを含む、請求項１１記載の方法。
【請求項２２】
前記再設定は、デバイス初期化、ネットワークスキャニング、ネットワークポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ及び電力制御の１以上に関して前記複数のＶＭのそれぞれについて前記無線ＮＩＣを再設定することを含む、請求項１７記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムに関する。
【背景技術】
【０００２】
コンピュータシステムは、１以上のゲストオペレーティングシステムを提供するためのバーチャルマシーンモニタ（ＶＭＭ）を有する。
【０００３】
ＶＭＭは、ゲストオペレーティングシステム間のコンピュータシステムのリソースへのアクセスを調停する。ＶＭＭは、ゲストオペレーティングシステムへのリソースの抽象化又はバーチャルインタフェースを提供する。ゲストオペレーティングシステムと対応するバーチャル化されたリソース及びインタフェースとは、バーチャルマシーン（ＶＭ）とここでは呼ばれる。
【０００４】
ＶＭＭは、ＶＭのための隔離されたセキュアな環境を提供する。
【０００５】
ＶＭＭは、ソフトウェアにより、又はソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
【０００６】
物理リソースは、１以上の設定可能な機能を有する。例えば、無線ネットワークインタフェースコントローラ（ＮＩＣ）は、デバイス初期化、ネットワークスキャニング、ネットワークアクセスポイント選択、チャネル選択、接続確立、ハンドオーバ管理、セキュリティ及び電力制御に関して設定可能である。
【０００７】
ＰＣＩ−ＳＩＧ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）により公開されているＳＲ−ＩＯＶ（Ｓｉｎｇｌｅ  Ｒｏｏｔ  Ｉ／Ｏ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）仕様（ｖ１．０）に基づくソフトウェアベースのＶＭＭ及びＮＩＣハードウェア初期化サポートを含む有線ＮＩＣをバーチャル化するための各種技術が開発されている。
【０００８】
ソフトウェアベースのＶＭＭアプローチは、ＶＭから設定可能なデバイス特徴を保護する。
【０００９】
ＳＲ−ＩＯＶアプローチは、ＮＩＣパフォーマンスを向上させるが、ハードウェアの複雑さとコストを追加する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の課題は、複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムを提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の一特徴は、コンピュータシステムの複数のバーチャルマシーン（ＶＭ）のそれぞれから、前記ＶＭ内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信するインタフェースシステムと、前記複数のＶＭのそれぞれについてＶＭに固有の接続情報と設定パラメータとを維持し、対応する前記ＶＭに固有の接続情報と設定パラメータとによって前記複数のＶＭのそれぞれについて前記物理デバイスを再設定する制御システムとを有するシステムであって、前記インタフェースシステムと前記制御システムとは、前記ＶＭを提供するバーチャルマシーンモニタ（ＶＭＭ）の実質的に外部に実現されるシステムに関する。
【発明の効果】
【００１２】
本発明によると、複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、複数のバーチャルマシーンのそれぞれが物理デバイスを設定及びアクセスすることを可能にするためのコンピュータシステム、設定可能な物理リソース又はデバイス及び仮想拡張システムを含むコンピュータプラットフォームのブロック図である。
【図２】図２は、仮想拡張（ＶＡ）システムの概念的なブロック図である。
【図３】図３は、物理デバイスが仮想化拡張された無線ネットワークインタフェースコントローラ（ＮＩＣ）を有するコンピュータプラットフォームのブロック図である。
【図４】図４は、ＶＡシステムがＶＭＭと物理デバイスとの間でやりとりされるメッセージ及びコントロールとＶＭ識別子とを関連付けるよう構成される図３に示されるコンピュータプラットフォームのブロック図である。
【図５】図５は、物理デバイスと複数のＶＭとの間のインタフェース方法のフローチャートである。
【図６】図６は、複数のＶＭに対して再設定可能であり、ＶＭとの間の設定制御及びデータトラフィックに関してＶＭを特定するよう構成される無線ＮＩＣのブロック図である。
【図７】図７は、複数のＶＭに関して動作し、ＶＭとの間の設定制御及びデータトラフィックに関してＶＭを特定することを含む無線ＮＩＣの制御方法のフローチャートである。
【図８】図８は、設定制御及び受信パケットに関してＶＭを特定する方法のフローチャートである。
【図９】図９は、１以上のアクセスポイントから受信したパケット及びＶＭＭから受信した送信パケットとＶＭ固有識別子とを関連付ける方法のフローチャートである。
【図１０】図１０は、コンピュータシステムの一例となる特徴を含む図１のコンピュータプラットフォームのブロック図である。
【図１１】図１１は、物理デバイスの一例となる特徴を含む図１のコンピュータプラットフォームの他のブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１５】
複数のバーチャルマシーン（ＶＭ）のそれぞれが個別に物理リソース又はデバイスを設定及びアクセスすることを可能にする方法及びシステムと、物理デバイスがホストコンピュータシステムの複数のＶＭを特定することを実現するための方法及びシステムとが、ここに開示される。
【００１６】
図１は、コンピュータシステム１０２と、設定可能な物理リソース又はデバイス１０４と、コンピュータシステム１０２の複数のバーチャルマシーンのそれぞれが物理デバイス１０４を設定及びアクセスすることを可能にする仮想拡張（ＶＡ）システム１１８とを有するコンピュータプラットフォーム１００のブロック図である。
【００１７】
物理デバイス１０４は、物理デバイス１０４の１以上の機能又は特徴を設定するデバイスコントローラ１０６を有する。
【００１８】
物理デバイス１０４は、各種物理デバイス又はリソースの１以上を有する。例えば、物理デバイス１０４は無線送受信機を有し、デバイスコントローラ１０６は無線ネットワークインタフェースコントローラ（ＮＩＣ）を有する。しかしながら、物理デバイス１０４とデバイスコントローラ１０６とは、無線ＮＩＣに限定されるものでない。
【００１９】
コンピュータシステム１０２は、ホスト環境１１０とここでは呼ばれるプロセッサ実行環境を提供するため１以上のプロセッサ１０８を有する。ホスト環境１１０は、１以上のバーチャルマシーン（ＶＭ）１１４−１〜１１４−ｎを提供するためバーチャルマシーンモニタ（ＶＭＭ）１１２を有する。
【００２０】
デバイスコントローラ１０６は、ファームウェアに設けることが可能な命令又はロジックを実行するため、マイクロコントローラを含む他のプロセッサを有する。
【００２１】
ホスト環境１１０は、コンピュータシステム１０２と物理デバイス１０４との間のインタフェースをとるためホストデバイスドライバ１１６を有する。ホストデバイスドライバ１１６は、ＶＭＭ１１２の外部のプロセッサ１０８上で実行される。
【００２２】
ＶＡシステム１１８は、ＶＭ１１４−１〜１１４−ｎのそれぞれが物理デバイス１０４を個別に設定及びアクセスすることを可能にするよう構成される。
【００２３】
ＶＭ１１４はそれぞれ、ＶＭ１１４−１〜１１４−ｎ内の物理デバイスの制御可能な機能を明らかにするためデバイスドライバ１２０のインスタンスを有する。デバイスドライバ１２０は、物理デバイス１０４及び／又はデバイスコントローラ１０６について具体的に設計され、物理デバイス１０４及び／又はデバイスコントローラ１０６のメーカーにより提供されてもよい。デバイスドライバ１２０は、ここでは純正デバイスドライバと呼ばれてもよい。
【００２４】
ＶＡシステム１１８又はその一部は、デバイスコントローラ１０６及び／又はコンピュータシステム１０２内に実現されてもよい。コンピュータシステム１０２内において、ＶＡシステム１１８の１以上の部分が、ＶＭＭ１１２の内部において、及び／又はホストデバイスドライバ１１６内などのＶＭＭ１１２の外部において実現されてもよい。
【００２５】
ＶＡシステム１１８の一部がデバイスコントローラ１０６内に実現される場合、デバイスコントローラ１０６は、ここでは仮想拡張されたデバイスコントローラと呼ばれてもよい。
【００２６】
Ｉ／Ｏインタフェースシステム１１２の一部がホストデバイスドライバ１１６内で実現される場合、ホストデバイスドライバ１１６は、仮想拡張されたホストデバイスドライバと呼ばれてもよい。
【００２７】
図２は、ＶＭ１１４−１〜１１４−ｎから物理デバイス１０４（図１）から送信されるコマンド及び／又はデータを管理するため統合制御エンジン２０２を有する仮想拡張システム１１８の概念的なブロック図である。統合制御エンジン２０２は、物理デバイス１０４との統合された制御インタフェースを提供する。例えば、統合制御エンジン２０２は、優先度、コマンドの性質、競合の可能性及び／又は他のファクタに基づく、ＶＭ１１４−１〜１１４−ｎからの制御及び／又は設定コマンドを選択及び／又は無視するなど、ＶＭ１１４−１〜１１４−ｎからの制御及び／又は設定コマンドを合成するよう構成される。
【００２８】
統合制御エンジン２０２は、ＶＭ１１４−１〜１１４−ｎのそれぞれについてＶＭに固有のパラメータ２０４を維持し、ＶＭ固有パラメータ２０４を物理デバイス１０４に選択的に適用するよう構成される。図２において、ＶＭ固有パラメータ２０４の選択的な適用が、マルチプレクサ２０６と共に機能的に示される。
【００２９】
パラメータ２０４は、デバイス設定パラメータ及び／又は接続情報の１以上を有する。デバイス設定パラメータ及び接続情報のタイプは、物理デバイスのタイプによって変更されてもよい。
【００３０】
物理デバイス１０４が無線ＮＩＣを有する場合、例えば、設定パラメータは、デバイス初期化、ネットワークスキャニング、ネットワーク／アクセスポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ／暗号化、及び電力制御の１以上に関するものであってもよい。
【００３１】
あるいは、又はさらに、無線ＮＩＣは、認証、帯域幅、管理、アクセス制御／優先度、サブネットローミング、バッファリング、ＲＴＳ（Ｒｅｑｕｅｓｔ−Ｔｏ−Ｓｅｎｄ）及びＣＴＳ（Ｃｌｅａｒ−Ｔｏ−Ｓｅｎｄ）、及びＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）（アクセス優先度などのユーザプロファイルに基づく帯域幅管理など）の１以上に関して設定可能であってもよい。
【００３２】
上述された一例となる設定パラメータは、例示のために提供されたものであり、網羅的なものでない。ここに開示される方法及びシステムは、上述された制御可能な特徴の一例となるリストに限定されるものでない。
【００３３】
接続情報に関して、物理デバイス１０４が無線ＮＩＣを有する場合、接続情報は、例えば、アクセスポイントＭＡＣアドレス、ＶＭ固有のＭＡＣアドレス、アクセスポイントによりサポートされるデータレート、アクセスポイントが動作するチャネル、及び／又は接続若しくはセッションに固有のセキュリティキーなどを含むものであってもよい。
【００３４】
接続情報はまた、状態情報を有してもよい。物理デバイス１０４が無線送受信機を有する場合、状態情報は、例えば、関連付け状態及び／又はレートスケーリングアルゴリズムの状態などを含むものであってもよい。
【００３５】
あるＶＭ接続に関する接続情報は格納され、及び／又は物理デバイス１０４へのアクセスが当該ＶＭから他のＶＭに移行されると更新されてもよい。接続情報は、ＶＭが以降において物理デバイス１０４にアクセスすると再適用されてもよい。
【００３６】
制御モジュール２０２は、ＶＭ１１４と物理デバイス１０４との間で送受信メッセージを調整し、ＶＭ１１４−１〜１１４−ｎのそれぞれが対応するＶＭ固有パラメータ２０４に基づき物理デバイス１０４に個別にアクセスすることを可能にするよう構成されてもよい。制御モジュール２０２は、時分割的にＶＭ１１４−１〜１１４−ｎが物理デバイス１０４に個別にアクセスすることを可能にするよう構成されてもよい。
【００３７】
制御モジュール２０２又はその一部は、ホストデバイスドライバ１１６（図１）内において、及び／又はマイクロコントローラ上で実行されるファームウェア埋め込み命令又はロジックなどを有するデバイスコントローラ１０６（図１）内において、実現されてもよい。
【００３８】
図３は、コンピュータシステム１０２と物理デバイス１０４のブロック図であり、物理デバイス１０４は仮想拡張された無線ＮＩＣ３０４を有し、コンピュータシステム１０２は仮想拡張されたホスト無線ＮＩＣドライバ３１２を有し、ＶＡシステム１１８はＮＩＣ３０４、ホスト無線ＮＩＣドライバ３１２及びＶＭＭ１１２を介して実現されるように示される。
【００３９】
無線ＮＩＣ３０４は、ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）３０６と、ＭＡＣ３０６と無線送受信機との間のインタフェースをとる物理レイヤ部又はデバイス（ＰＨＹ）３０８とを有する。ＭＡＣ３０６は、対応するＶＭ固有デバイスパラメータ２０４により規定されるようなバーチャルＭＡＣ３０７−〜３０７−ｎ（図２）として示されるように、ＶＭ１１４−１〜１１４−ｎのそれぞれにＭＡＣ３０６のバーチャルインスタンスを提供するよう再設定可能である。
【００４０】
ＶＭ１１４−１〜１１４−ｎは、対応する純正無線ＮＩＣドライバ３２０−１〜３２０−ｎを有する。
【００４１】
ホスト無線ＮＩＣドライバ３１２は、ラジオ３１４として示されるようなＭＡＣ３０６とＶＭＭ１１２との間のインタフェースを提供する。ホスト無線ＮＩＣドライバ３１２は、対応するＶＭ固有の設定及びコンテクストパラメータにより規定されるバーチャルラジオ３１６−１〜３１６−ｎとして示されるように、ＶＭ１１４−１〜１１４−ｎのそれぞれに対してラジオ３１４のバーチャルインスタンスを提供するよう構成される。
【００４２】
ホスト無線ＮＩＣドライバ３１２は、ＶＭＭ１１２の外部のプロセッサ１０８上で実行される制御モジュール３２０を有する。制御モジュール３２０は、無線ＮＩＣ３０４との統合制御インタフェースを提供するため、ＶＭ１１４−１〜１１４−ｎからのデバイス設定制御を統合するよう構成される。
【００４３】
ＶＭＭ１１２は、無線ＮＩＣ３０４に対応するデバイスモデルを有し、デバイスモデル３１８−１〜３１８−ｎとして示されるように、無線ＮＩＣドライバ３２０−１〜３２０−ｎに対してデバイスモデルのバーチャルインスタンスを示すよう構成される。デバイスモデルは、エミュレートされたＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）機能を有する。
【００４４】
無線ＮＩＣデバイスドライバ３２０、デバイスモジュール３１８及びホスト無線ＮＩＣドライバ３１２は、ＶＭ１１４が物理デバイス１０４の設定可能な機能のすべて又は一部にアクセスすることを可能にするよう構成される。
【００４５】
図４は、図３に示されるようなコンピュータシステム１０２と物理デバイス１０４のブロック図であり、ＶＡシステム１１８は、ＶＭＭ１１２、ホスト無線ＮＩＣドライバ３１２及び無線ＮＩＣ３０４の間でやりとりされるメッセージ及びコントロールとＶＭ固有識別子とを関連付けるよう構成される。これは、ＶＭ固有識別子によりメッセージのタグ付けと呼ばれる。
【００４６】
図４において、無線ＮＩＣ３０４は、バーチャルラジオ識別子又はＶＲ  ＩＤタグモジュール４０２を有し、ホスト無線ＮＩＣドライバ３１２は、ＶＲ  ＩＤタグモジュール４０４を有する。ＶＲ  ＩＤタグモジュール４０２，４０４はそれぞれ、無線ＮＩＣ３０４とホスト無線ＮＩＣドライバ３１２との間で送信されるメッセージ及びコントロール３０５を適切なＶＭ固有のＶＲ  ＩＤタグによりタグ付けするよう構成される。
【００４７】
ＭＡＣ３０６はさらに、関連付けされたＶＲ  ＩＤタグに基づき、バーチャルＭＡＣ３０７−１〜３０７−ｎの選択されたものによって、ホスト無線ＮＩＣドライバ３１２から受信したメッセージを処理するよう構成される。
【００４８】
同様に、ホスト無線ＮＩＣドライバ３１２はさらに、関連付けされたＶＲ  ＩＤタグに基づき、バーチャルラジオ３１６−１〜３１６−ｎの選択されたものによって、無線ＮＩＣ３０４から受信したメッセージを処理するよう構成される。
【００４９】
ホスト無線ＮＩＣドライバ３１２はさらにＶＭ  ＩＤタグモジュール４０６を有し、ＶＭＭ１１２はＶＭ  ＩＤタグモジュール４０８を有する。ＶＭ  ＩＤタグモジュール４０６，４０８はそれぞれ、ホスト無線ＮＩＣドライバ３１２とＶＭＭ１１２との間で送信されるメッセージ及びコントロールを適切なＶＭ  ＩＤタグによりタグ付けするよう構成される。
【００５０】
ホスト無線ＮＩＣドライバ３１２はさらに、関連付けされたＶＭ  ＩＤタグに基づき、バーチャルラジオ３１６−１〜３１６−ｎの選択されたものを介しＶＭＭ１１２から受信したメッセージをわたすよう構成される。
【００５１】
同様に、ＶＭＭ１１２は、関連付けされたＶＭ  ＩＤタグに基づき、ＶＭ１１４−１〜１１４−ｎの選択されたものにホスト無線ＮＩＣドライバ３１２から受信したメッセージをわたすよう構成される。
【００５２】
図５は、物理デバイスと複数のＶＭとの間のインタフェースをとる方法５００のフローチャートである。
【００５３】
５０２において、物理デバイスに対する設定制御が、ＶＭ内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し複数のＶＭから受信される。
【００５４】
５０４において、ＶＭ固有の設定パラメータとＶＭ固有の接続情報とが、１以上の具体例に示されるように、各ＶＭについて維持される。
【００５５】
５０６において、物理デバイスは、１以上の具体例に示されるように、対応するＶＭ固有の設定パラメータと接続情報とによって各ＶＭに対して再設定される。
【００５６】
５０２における設定制御の受信、５０４におけるＶＭ固有の設定パラメータとＶＭ固有の接続情報との維持、及び５０６における物理デバイスの再設定とは、１以上の具体例に示されるように、ＶＭを提供するＶＭＭの実質的に外部で実行される。
【００５７】
５０４におけるＶＭ固有の設定パラメータとＶＭ固有の接続情報との維持と、５０６における物理デバイスの再設定とは、上述された１以上のパラメータに関して各ＶＭの無線ＮＩＣを再設定することを含む。
【００５８】
上述された設定パラメータは、例示のために提供されている。方法５００は、上述された制御可能な特徴のリストに限定されるものでない。
【００５９】
ＶＭとの間の設定制御とデータトラフィックとに関してＶＭを特定するための方法及びシステムが、図６〜９を参照して説明される。当該方法及びシステムは、無線ＮＩＣを参照して説明される。しかしながら、当該方法及びシステムは無線ＮＩＣに限定されるものでない。
【００６０】
図６は、複数のＶＭに対して再設定可能であり、設定制御及びデータトラフィックに関してＶＭを特定するよう構成される無線ＮＩＣ６０４のブロック図である。無線ＮＩＣ６０４は、図１の物理デバイス１０４に対応し、図１に関して後述される。しかしながら、無線ＮＩＣ６０４は図１の例に限定されるものでない。
【００６１】
ホストデバイスドライバ６０１は、送信パケット６０６と設定制御６０８とをＶＭ１１４−１〜１１４−ｎ（図１）から無線ＮＩＣ６０４に送信するよう構成される。無線ＮＩＣ６０４は、対応するＶＭ１１４−１〜１１４−ｎに提供するため、受信パケット６１０と状態フィードバック６１２とをホストデバイスドライバ６０１に送信するよう構成される。
【００６２】
送信パケット６０６、設定制御６０８、受信パケット６１０及び状態フィードバック６１２は、無線ＮＩＣ６０４及びホストデバイスドライバ６０１がＶＭ毎にパケット、制御及びフィードバックを処理することを可能にするため、適切なＶＭ識別子（ＶＭ  ＩＤ）によりタグ付けされる。ＶＭ  ＩＤは、図４を参照して上述されたように、ＶＭ及び／又はバーチャルラジオに直接関連するものであってもよい。
【００６３】
ＶＭ  ＩＤのタグ付けは、複数の技術の１以上とこれらの組み合わせにより実現されてもよい。
【００６４】
例えば、ホスト環境１１０は、無線ＮＩＣ６０４とＶＭ１１４−１〜１１４−ｎとの間のインタフェースをとるホストＡＰＩ（Ｐｌｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を有してもよい。ホストＡＰＩは、ホストデバイスドライバ６０１内に実現されてもよい。ホストＡＰＩは、ホストＡＰＩヘッダのＶＭ識別子（ＶＭ  ＩＤ）フィールドを認識するよう構成される。ＶＭ  ＩＤヘッダフィールドは、既存の又は従来のＡＰＩヘッダのリザーブドビットにより収容されてもよい。ＶＭ  ＩＤヘッダフィールドに用いられるビット数は、サポートされるＶＭの個数によって決定される。
【００６５】
状態フィードバック６１２に関して、無線ＮＩＣ６０４は、状態フィードバック６１２によりホストＡＰＩにコールするためデバイス開始ＡＰＩコールモジュール６１４を有する。無線ＮＩＣ６０４はさらに、状態フィードバック６１２のホストＡＰＩ  ＶＭ  ＩＤヘッダフィールドにＶＭ  ＩＤを挿入するためＶＭ  ＩＤ挿入モジュール６１６を有する。これは、ホストデバイスドライバ６０１が状態フィードバック６１２を適切なＶＭに送信することを可能にする。
【００６６】
設定制御６０８に関して、図３及び４のデバイスモデル３１８などのＶＭＭ内のデバイスモデルは、ＶＭ  ＩＤを対応するＶＭから発行されるＡＰＩ制御コール（設定制御６０８）に挿入するよう構成される。無線ＮＩＣ６０４は、設定制御６０８を受信し、ＡＰＩ  ＶＭ  ＩＤヘッダフィールドから関連するＶＭ１１４を特定するためＶＭ特定手段６１８を有する。
【００６７】
受信パケット６１０と送信パケット６０６とのＶＭの特定が後述される。
【００６８】
無線ＮＩＣ６０４は、関連するＶＭ  ＩＤに基づきＶＭ毎に設定制御６０８を処理するよう構成される。無線ＮＩＣ６０４は、例えば、後述されるように、ＶＭ毎にＭＡＣ及び／又はＰＨＹを初期化するためＶＭ単位デバイス初期化モジュール６０２などを有してもよい。無線ＮＩＣ６０４はまた、後述されるように、ＶＭ単位パラメータを維持するためＶＭ単位接続テーブル６２２を有する。
【００６９】
ＶＭの特定が、受信パケット６１０に関して説明される。
【００７０】
無線ＮＩＣ６０４は、１以上のサービスセット識別子（ＳＳＩＤ）に関連付けされる１以上のアクセスポイント又は送受信機からパケット６１０を受信する。各受信パケット６１０は、ＶＭ１１４の１つに固有の宛先ＭＡＣアドレスを有する。
【００７１】
無線ＮＩＣ６０４は、受信パケット６１０のＭＡＣアドレスに基づきＶＭ単位接続テーブル６２２においてＶＭ  ＩＤを検索するため受信側ＶＭ  ＩＤ検索モジュール６２６を有する。
【００７２】
無線ＮＩＣ６０４はさらに、ＶＭ  ＩＤ挿入モジュール６１６を参照して上述されるように、受信パケット６１０のＡＰＩ  ＶＭ  ＩＤヘッダフィールドに特定されたＶＭ  ＩＤを挿入するためＶＭ  ＩＤ挿入モジュール６２８を有する。
【００７３】
受信パケット６１０のＶＭ  ＩＤは、ホストデバイスドライバ６０１が受信パケット６１０を実質的に処理することなく適切なＶＭ１１４に受信パケット６１０をわたすことを可能にする。
【００７４】
無線ＮＩＣ６０４は、後述されるセキュリティモジュール６３０を有する。
【００７５】
ＶＭの特定が、送信パケット６０６に関して説明される。
【００７６】
ホスト環境１１０（図１）は、設定制御６０８に関して上述されたように、送信パケット６０６にＶＭ  ＩＤを挿入するよう構成される。このような状況では、送信パケット６０６の設定パラメータ及び接続情報は、ＶＭ  ＩＤに基づきＶＭ単位接続テーブル６２２から抽出される。
【００７７】
あるいは、送信パケット６０６は、ＶＭ  ＩＤなしにホストデバイスドライバ６０１から受信されてもよい。例えば、ホストデバイスドライバ６０１及び／又はホストＡＰＩは、ＶＭ  ＩＤをＡＰＩヘッダに挿入するよう構成されなくてもよい。このような状況に対応するため、無線ＮＩＣ６０４は、受信側ＶＭ  ＩＤ検索モジュール６２６に関して上述されたように、送信パケット６０６に含まれるＶＭ固有ＭＡＣアドレスに基づき、ＶＭ単位接続テーブル６２２からＶＭ  ＩＤを検索するため送信側ＶＭ  ＩＤ検索モジュール６３２を有してもよい。
【００７８】
無線ＮＩＣ６０４は、ＶＭ  ＩＤ検索モジュール６３２により特定されたＶＭ  ＩＤに基づき、ＶＭ単位接続テーブル６２２からＶＭ固有設定パラメータ及び接続情報を抽出し、対応するＶＭ  ＩＤに基づき送信パケット６０６に対して無線ＮＩＣの機能を設定又は再設定するためＶＭ単位設定モジュール６３４を有する。
【００７９】
デバイス初期化が説明される。
【００８０】
設定制御６０８は、複数のＶＭからのデバイス初期化制御を有する。デバイス初期化制御は、ＰＨＹ及び／又はＭＡＣに送られる。無線ＮＩＣ６０４は、デバイス初期化制御を処理し、競合する可能性のあるデバイス初期化制御を回避するためＶＭ単位デバイス初期化モジュール６２０を有する。
【００８１】
ＰＨＹの初期化について、初期化モジュール６２０は、現在のＰＨＹ状態と動作チャネルとを決定するよう構成される。初期化モジュール６２０はさらに、ＰＨＹが現在初期化されていないときに限って、ＰＨＹを初期化するよう構成される。ＰＨＹ初期化コマンドが現在の動作チャネル又はモード以外のチャネル又はモードを指定する場合、初期化モジュール６２０は、手続前に１以上のファクタを評価する。ファクタは、新たなチャネル又はモードがデバイスによってサポートされているかと、新たなチャネル又はモードに関連付けされる制約とを含む。
【００８２】
ＭＡＣの初期化について、初期化モジュール６２０は、あるＶＭがまず対応するＮＩＣドライバを呼び出すか又は起動したとき、当該ＶＭに対してＭＡＣインスタンスを開始するよう構成される。これは、ＶＭに対してパケット６１０を受信するため、ＶＭのＭＡＣアドレスによってバーチャルＭＡＣのＭＡＣフィルタを設定することを含む。
【００８３】
ＶＭ固有パラメータの維持が説明される。
【００８４】
ＶＭ単位接続テーブル６２２は、複数のＶＭ又はＶＭ接続のそれぞれに対して、状態情報を含むＶＭ固有設定パラメータ及び接続情報を維持するよう構成される。
【００８５】
ＶＭ単位接続テーブル６２２は、無線ＮＩＣ６０４へのアクセスがあるＶＭから他のＶＭに転送されときに、当該ＶＭの接続情報を格納し、ＶＭが以降に無線ＮＩＣ６０４にアクセスしたときに接続情報及び対応する設定パラメータを再適用するよう構成される。
【００８６】
ＶＭ単位接続テーブル６２２及び／又は無線ＮＩＣ６０４は、対応するＶＭ  ＩＤに関連付けてＶＭ単位又は接続単位情報を維持又は格納するため接続毎の独立したエントリを有するデータ構造を有する。無線ＮＩＣ６０４は、各ＶＭに関連する詳細を有するデータ構造を維持（追加、変更又は削除など）するよう構成される。このデータ構造は、ｕｃｏｄｅデータ構造を含むものであってもよい。
【００８７】
セキュリティ機能が説明される。
【００８８】
ＶＭ単位接続テーブル６２２は、各ＶＭ又はＶＭ接続に対してＶＭ固有セキュリティ情報を格納するよう構成される。セキュリティ情報は、例えば、ＴＫＩＰ（Ｔｅｍｐｏｒａｌ  Ｋｅｙ  Ｉｎｔｅｇｒｉｔｙ  Ｐｒｏｔｏｃｏｌ）やＣＣＭＰ（ｃｏｕｎｔｅｒ  ｍｏｄｅ  ｗｉｔｈ    ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ  ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ  ｐｒｏｔｏｃｏｌ）の１以上を含むＶＭ単位暗号化／解読技術を含む。セキュリティ情報は、受信パケット６１０を復号化する、及び／又は送信パケット６０６を符号化するためのセキュリティキー及び／又はセキュリティキーへのインデックスを有する。
【００８９】
受信側では、セキュリティモジュール６３０は、受信パケット６１０のＶＭ  ＩＤに基づきＶＭ単位接続テーブル６２２からＶＭ固有セキュリティ解読技術及びセキュリティキーを抽出し、対応する解読技術及びキーにより受信パケット６１０を復号化するよう構成される。あるいは、復号化がコンピュータシステム１０２により実行され、セキュリティモジュール６３０は、対応する受信パケット６１０を有するＶＭ固有セキュリティキーインデックスを抽出及び転送するよう構成されてもよい。
【００９０】
送信側では、ＶＭ単位設定モジュール６３４は、送信パケット６０６のＶＭ  ＩＤに基づき接続テーブル６２２からＶＭ固有セキュリティ暗号化技術及びセキュリティキーを抽出し、対応する暗号化技術及びキーにより送信パケット６０６を符号化するよう構成される。
【００９１】
図７は、ＶＭとの間の設定制御及びデータトラフィックに関するＶＭ間の特定を含む、複数のＶＭに関して動作する無線ＮＩＣを制御する方法７００のフローチャートである。
【００９２】
７０２において、コンピュータシステムにより提供される複数のバーチャルマシーン（ＶＭ）から無線ＮＩＣに送信される設定制御が受信され、各設定制御に対して、ＶＭの１つが設定制御の送信元として特定される。
【００９３】
７０４において、ＶＭ固有設定パラメータ及びデバイス接続情報は、各ＶＭに対してＮＩＣにより維持される。
【００９４】
７０６において、ＶＭからの送信パケットが受信され、各送信パケットに対して、ＶＭの１つが送信パケットの送信元として特定され、無線ＮＩＣが、対応するＶＭ固有設定パラメータ及びＶＭ固有デバイス接続情報により設定される。
【００９５】
７０８において、１以上の無線アクセスポイントからのパケットが受信され、各受信パケットに対して、ＶＭの１つが送信先ＶＭとして特定され、受信パケットが対応するＶＭ識別子によりコンピュータシステムに転送される。
【００９６】
図８は、設定制御及び受信パケットに関してＶＭを特定する方法８００のフローチャートである。方法８００又はその一部は、方法７００と共に実現されてもよい。
【００９７】
８０２において、状態フィードバック及び受信パケットがＡＰＩコールとしてコンピュータシステムに送信され、各ＡＰＩコールに対して、ＶＭ識別子がＡＰＩコールのヘッダフィールドに挿入される。
【００９８】
８０４において、コンピュータシステムからの設定制御がＡＰＩコールとして受信され、各設定制御に対して、ＶＭの１つが対応するＡＰＩコールのヘッダフィールドのＶＭ識別子からの設定制御の送信元として特定される。
【００９９】
図９は、１以上のアクセスポイントから受信されるパケット及びコンピュータシステムから受信した送信パケットとＶＭ固有識別子とを関連付ける方法９００のフローチャートである。方法９００又はその一部は、方法７００及び／又は方法８００と共に実現されてもよい。
【０１００】
９０２において、複数のＶＭのそれぞれに対して、ＶＭ固有バーチャルＭＡＣが開始される。各バーチャルＭＡＣは、対応するＶＭ固有ＭＡＣアドレスにより設定される。
【０１０１】
９０４において、各ＶＭ固有ＭＡＣアドレスと対応するＶＭ識別子との間の参照が維持される。
【０１０２】
９０６において、各受信パケットに対して、受信パケットの送信先ＭＡＣアドレスに基づきＶＭ識別子が検索される。
【０１０３】
９０８において、各送信パケットに対して、送信パケットのＶＭ固有ＭＡＣアドレスに基づきＶＭ識別子が検索される。
【０１０４】
受信側において、ＶＭ識別子が受信パケットを復号化するためのセキュリティ情報を検索するのに利用される。受信パケットは、無線ＮＩＣにより解読されるか、又は１以上の具体例において説明されるように、セキュリティキーインデックスと共にコンピュータシステムに送信されてもよい。
【０１０５】
ここに開示される１以上の機能は、個別及び集積回路ロジック、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）ロジック及びマイクロコントローラを含む、ハードウェア、ソフトウェア、ファームウェア及びこれらの組み合わせにより実現されてもよく、またドメイン固有集積回路パッケージ及び／又は集積回路パッケージの組み合わせの一部として実現されてもよい。ここで用いられるソフトウェア、コード及び命令という用語は、コンピュータシステムに１以上の機能を実行させるためのコンピュータプログラムロジックを有するコンピュータ可読媒体を含むコンピュータプログラムプロダクトを示す。
【０１０６】
図１０は、コンピュータシステム１０２の機能例を含む、図１のコンピュータプラットフォーム１００のブロック図である。
【０１０７】
図１０の例において、コンピュータシステム１０２は、コンピュータプログラムプロダクトロジック（以降、“ロジック”）を実行するためプロセッサ１０８を有する。プロセッサ１０８は、複数のプロセッサを表すものであってもよい。
【０１０８】
コンピュータシステム１０２は、メモリ１００４としてここでは示されるメモリ、キャッシュ、レジスタ及びストレージの１以上を有する。メモリ１００４は、プロセッサ１０８に１以上の機能を実行させるためのコンピュータプログラムロジック又は命令１００６を有するコンピュータ可読媒体を含むコンピュータプログラムプロダクトを含む。
【０１０９】
メモリ１００４は、ロジック１００６の実行中にプロセッサ１０８により使用され、及び／又はロジック１００６の実行に応答してプロセッサ１０８により生成されるデータ１００８を有する。
【０１１０】
ロジック１００６は、プロセッサ１０８に１以上のアプリケーションタスクを実行させるためアプリケーションロジック１０１０を有する。
【０１１１】
ロジック１００６は、プロセッサ１０８にアプリケーションロジック１０１０の動作環境を提供させるためオペレーティングシステムロジック１０１２を有する。
【０１１２】
ロジック１００６は、プロセッサ１０８にバーチャルマシーン内でオペレーティングシステムロジック１０１２を実行させるためＶＭＭロジック１０１４を有する。
【０１１３】
ロジック１００６は、ここでの１以上の実施例において説明されるように、プロセッサ１０８に物理デバイス１０４とバーチャルマシーンモニタとの間のインタフェースをとらせる仮想拡張されたホストデバイスドライバロジック１０１６を有する。
【０１１４】
ホストデバイスドライバロジック１０１６は、プロセッサ１０８に複数のＶＭ固有バーチャルラジオを設定させるためロジックを有し、データ１００８は、対応するＶＭ固有バーチャルラジオ設定及びコンテクストパラメータ１０１８を有する。
【０１１５】
コンピュータシステム１０２は、コンピュータシステム１０２内のデバイス間のインタフェースをとり、物理デバイス１０４と通信するため通信インフラストラクチャ１０４０を有する。
【０１１６】
図１１は、物理デバイス１０４の一例となる特徴を含む図１のコンピュータプラットフォーム１００のブロック図である。
【０１１７】
物理デバイス１０４は、コンピュータプログラムプロダクトロジックを実行する、ここではコントローラ１１０２と示される１以上のコンピュータ命令処理ユニットを有する。
【０１１８】
物理デバイス１０４は、以降においてメモリ１１０４と呼ばれるメモリ、キャッシュ、レジスタ及びストレージの１以上を有する。メモリ１１０４は、コントローラ１１０２に１以上の機能を実行させるためコンピュータプログラムロジックを有するコンピュータ可読媒体を含むコンピュータプログラムプロダクトを有する。ロジック１１０６は、ファームウェアにより提供され、実行時にメモリにコピーされる。一例となるロジックが後述される。
【０１１９】
メモリ１１０４は、ロジック１１０６の実行中にコントローラ１１０２により使用され、及び／又はロジック１１０６の実行に応答してコントローラ１１２０により生成されるデータを有してもよい。
【０１２０】
ロジック１１０６は、コントローラ１１０２にコンピュータシステム１０２の各ＶＭのＶＭ固有パラメータ２０４を維持させ、ここでの１以上の実施例に示されるように、ＶＭ固有パラメータ２０４により物理デバイス１０４を再設定させるため物理デバイスロジック１１１０を有する。
【０１２１】
物理デバイスロジック１１１０は、コントローラに上述された１以上の実施例に示されるような仮想拡張された無線ＮＩＣとして実行させるため仮想拡張された無線ＮＩＣロジック１１１２を有する。
【０１２２】
機能、特徴及びその関係を示す機能ブロックを用いて方法及びシステムが開示された。これらの機能ブロックの境界の少なくとも一部は、説明の便宜上任意に規定された。指定された機能及び関係が適切に実行される限り、他の境界が規定されてもよい。
【０１２３】
各種実施例が開示されたが、それらは単なる一例であり、限定的なものでないことが理解されるべきである。形態及び詳細の各種変更が開示された方法及びシステムの趣旨及び範囲から逸脱することなく可能であることは、当業者に明らかであろう。従って、請求項の幅及び範囲は、開示された実施例の何れによっても限定されるべきでない。
【符号の説明】
【０１２４】
１００  コンピュータプラットフォーム
１０２  コンピュータシステム
１０４  物理デバイス
１０６  デバイスコントローラ
１０８  プロセッサ
１１２  バーチャルマシーンモニタ（ＶＭＭ）
１１４  バーチャルマシーン（ＶＭ）
１１８  仮想拡張（ＶＡ）システム
１２０  デバイスドライバ
【図１】
0005529080.tif 000002
【図２】
0005529080.tif 000003
【図３】
0005529080.tif 000004
【図４】
0005529080.tif 000005
【図５】
0005529080.tif 000006
【図６】
0005529080.tif 000007
【図７】
0005529080.tif 000008
【図８】
0005529080.tif 000009
【図９】
0005529080.tif 000010
【図１０】
0005529080.tif 000011
【図１１】
0005529080.tif 000012