(57)【要約】  仮想環境割り当てシステム１０は、複数の仮想スタックＳ１、Ｓ２、Ｓ３、Ｓ４を有するコンピュータシステム１００であって、複数の入力／出力（Ｉ／Ｏ）デバイス１０５がコンピュータシステム１００に連結されるように構成されるコンピュータシステム１００と、複数のＩ／Ｏデバイス１０５のうちの少なくとも１つを複数の仮想スタックＳ１、Ｓ２、Ｓ３、Ｓ４のうちの第１の仮想スタックに割り当て、複数のＩ／Ｏデバイス１０５のうちの少なくとも別のＩ／Ｏデバイスを複数の仮想スタックＳ１、Ｓ２、Ｓ３、Ｓ４のうちの第２の仮想スタックに割り当てるように構成される割り当てコントローラ１４３を備える。【選択図】図１
2010515152.tif 000002
【特許請求の範囲】
【請求項１】
仮想環境割り当てシステム（１０）であって、
複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）を有するコンピュータシステム（１００）であって、複数の入力／出力（Ｉ／Ｏ）デバイス（１０５）が該コンピュータシステム（１００）に連結されるように構成されるコンピュータシステム（１００）と、
前記複数のＩ／Ｏデバイス（１０５）のうちの少なくとも１つを前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のうちの第１の仮想スタックに割り当て、前記複数のＩ／Ｏデバイス（１０５）のうちの少なくとも別のＩ／Ｏデバイスを前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のうちの第２の仮想スタックに割り当てるように構成される割り当てコントローラ（１４３）と
を備える仮想環境割り当てシステム。
【請求項２】
前記割り当てコントローラ（１４３）は、ユーザ入力に基づいて、前記複数のＩ／Ｏデバイス（１０５）を前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）に割り当てるように構成されている
請求項１に記載の仮想環境割り当てシステム。
【請求項３】
前記割り当てコントローラ（１４３）は、前記複数のＩ／Ｏデバイス（１０５）を前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）に動的に割り当てるように構成されている
請求項１に記載の仮想環境割り当てシステム。
【請求項４】
前記複数のＩ／Ｏデバイス（１０５）のいずれが前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のいずれに割り当てられるべきかを決定するための、前記割り当てコントローラ（１４３）によってアクセス可能な優先順位付けルール（１４２）のセット
をさらに備える請求項１に記載の仮想環境割り当てシステム。
【請求項５】
前記割り当てコントローラ（１４３）は、イベントに応答して、前記少なくとも１つのＩ／Ｏデバイス（１０５）を別の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）に再割り当てするように構成されている
請求項１に記載の仮想環境割り当てシステム。
【請求項６】
仮想環境割り当て方法であって、
複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）を有するコンピュータシステム（１００）に連結されている複数の入力／出力（Ｉ／Ｏ）デバイス（１０５）を特定することと、
前記複数のＩ／Ｏデバイス（１０５）のうちの少なくとも１つを前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のうちの第１の仮想スタックに割り当て、前記複数のＩ／Ｏデバイス（１０５）のうちの少なくとも別のＩ／Ｏデバイスを前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のうちの第２の仮想スタックに割り当てることと
を含む仮想環境割り当て方法。
【請求項７】
ユーザ入力に基づいて、前記複数のＩ／Ｏデバイス（１０５）を前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）に割り当てること
をさらに含む請求項６に記載の仮想環境割り当て方法。
【請求項８】
前記複数のＩ／Ｏデバイス（１０５）を前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）に動的に割り当てること
をさらに含む請求項６に記載の仮想環境割り当て方法。
【請求項９】
前記複数のＩ／Ｏデバイス（１０５）のいずれが前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のいずれに割り当てられるべきかを決定するための優先順位付けルール（１４２）のセットにアクセスすること
をさらに備える請求項６に記載の仮想環境割り当て方法。
【請求項１０】
イベントに応答して、前記少なくとも１つのＩ／Ｏデバイス（１０５）を別の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）に再割り当てすること
をさらに含む請求項６に記載の仮想環境割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境割り当てシステム及び仮想環境割り当て方法に関する。
【背景技術】
【０００２】
仮想化は、コンピュータハードウェアとオペレーティングシステム（ＯＳ）との間に、複数のＯＳが同じコンピュータシステム上で同時に動作すること及び複数のユーザが同じコンピュータシステムを操作することを可能にする抽象化のレイヤを作成する。
さらに、いくつかの状況では、仮想化は、単一のユーザが、仮想環境で複数のソフトウェアスタックを利用することも可能にする。
ＯＳの各マニフェステーション（manifestation：表出、表示）は、一般に、すべての入力／出力（Ｉ／Ｏ）デバイスにフルアクセスすることができる。
したがって、このような仮想環境では、異なるＯＳ間及び特定のユーザの制御下にある異なるソフトウェアスタック間でＩ／Ｏデバイスのコンフリクトの可能性がある。
【発明の概要】
【０００３】
本発明にかかる仮想環境割り当てシステム（１０）は、複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）を有するコンピュータシステム（１００）であって、複数の入力／出力（Ｉ／Ｏ）デバイス（１０５）が該コンピュータシステム（１００）に連結されるように構成されるコンピュータシステム（１００）と、前記複数のＩ／Ｏデバイス（１０５）のうちの少なくとも１つを前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のうちの第１の仮想スタックに割り当て、前記複数のＩ／Ｏデバイス（１０５）のうちの少なくとも別のＩ／Ｏデバイスを前記複数の仮想スタック（Ｓ１、Ｓ２、Ｓ３、Ｓ４）のうちの第２の仮想スタックに割り当てるように構成される割り当てコントローラ（１４３）とを備える。
【図面の簡単な説明】
【０００４】
次に、本発明、本発明の目的、及び本発明の利点のより完全な理解のために、添付図面と共に取り入れられた以下の説明を参照する。
【０００５】
【図１】仮想環境割り当てシステムの一実施形態を示すブロック図である。
【図２】仮想環境割り当て方法の一実施形態を示すフロー図である。
【発明を実施するための形態】
【０００６】
本発明の好ましい実施形態及び本発明の利点は、図面の図１及び図２を参照することによって最も良く理解される。同様の参照符号は、さまざまな図面の同様の部分及び対応する部分に使用される。
【０００７】
図１は、仮想環境割り当てシステム１０の一実施形態を示すブロック図である。
図１に示す実施形態では、システム１０は、入力／出力（Ｉ／Ｏ）デバイス１０５が通信可能に連結されているコンピュータシステム１００を備える。
図１に示す実施形態では、Ｉ／Ｏデバイス１０５は、ディスプレイ１１０及び１１１、マウス１２０、キーボード１２１、スマートカードリーダ１２２、指紋リーダ１２３、システム管理（ＳＭ：system management）システム１２４、ＳＭレコード１２５、リモコン１２６、ゲームコントローラ１２７、及びデジタル媒体ドライブ１２８を備える。
しかしながら、Ｉ／Ｏデバイス１０５は、追加のタイプのデバイス及び異なるタイプのデバイス又はこれらのいずれか（追加のタイプのデバイス及び／又は異なるタイプのデバイス）を備えうることが理解されるべきである。この追加のタイプのデバイス及び／又は異なるタイプのデバイスには、ユニバーサルシリアルバス（ＵＳＢ）デバイス、カメラ、マイクロホン、バイオメトリックデバイス、プリンタ、スキャナ、地理空間測位システム（geospatial positioning system）（ＧＰＳ）受信機、通信デバイス、及びオーディオ／ビデオデバイス等が含まれるが、これらに限定されるものではない。
さらに、コンピュータシステム１００に連結されているＩ／Ｏデバイス１０５の量は変更することができることが理解されるべきである。
【０００８】
図１では、コンピュータシステム１００は、２つの中央処理装置（ＣＰＵ）１０１及び１０２を用いるが、これよりも多くの量のＣＰＵ又は少ない量のＣＰＵを使用することができる。
また、コンピュータシステム１００は、ＣＰＵ１０１及び１０２と４つの例示のスタックＳ１〜Ｓ４との間の抽象化のソフトウェアレイヤを含む仮想化レイヤ１０３も備える。
好ましくは、各スタックＳ１〜Ｓ４は、統合化されたソリューション又はコンポーネントとして管理されるハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを含む。
図１に示す実施形態では、スタックＳ１は、汎用アプリケーションスタックを含み、スタックＳ２は、財務プログラムを実行するか又はプロセス医療情報若しくは他の機密情報を処理するためのプライベートアプリケーションスタックを含み、スタックＳ３は、セキュリティ関連プロセス及び管理関連プロセスを実行するためのセキュリティ／システム管理スタックを含み、スタックＳ４は、エンターテインメント関連プログラム及びエンターテインメント関連プロセスを動作させるためのエンターテインメントスタックを含む。
したがって、図１では、スタックＳ１〜Ｓ４は、異なる使用及び／若しくは機能向けに構成され且つ／又は他の方法で専用化されている。
しかしながら、スタックＳ１〜Ｓ４が他のタイプのスタックを含みうることが理解されるべきであり、スタックの量が他の方法で変更されうることが理解されるべきである。
さらに、スタックＳ１〜Ｓ４は単一のユーザまたは複数のユーザに割り当てられうることが理解されるべきである（たとえば、いくつかのスタックは或るユーザに割り当てられる一方、他のスタックは異なるユーザに割り当てられる）。
【０００９】
図１に示す実施形態では、スタックＳ１は、オペレーティングシステム（ＯＳ）ＯＳ１、ミドルウェア（ＭＷ）ＭＷ１、及びアプリケーションＡＰＰ１を備える。
スタックＳ２は、ＯＳ  ＯＳ２（スタックＳ１で動作するＯＳ１と異なるものとすることもできるし、同じものとすることもできる）、及びＯＳ１とアプリケーションＡＰＰ２との間に配置されたセキュリティレイヤＳＥＣＵＲＩＴＹ１を備える。
スタックＳ３は、より基本的なセキュリティサービスを実行することができるので、ＯＳを実行しないものとして図１には示されている。
しかしながら、いくつかの実施形態では、スタックＳ３はＯＳを実行することができることが理解されるべきである。
スタックＳ４は、ＯＳ  ＯＳ３を備える。このＯＳ  ＯＳ３は、いくつかの実施形態では、エンターテインメント関連アプリケーションのみを実行するための簡易ＯＳを含む。
スタックＳ４は、ＭＷ  ＭＷ２及びエンターテインメントアプリケーションＡＰＰ３も備える。エンターテインメントアプリケーションＡＰＰ３は、ゲーム又はメディアプレイヤでありうる。
【００１０】
図１に示す実施形態では、マウス１２０、キーボード１２２、及びディスプレイ１１０は、スタックＳ１に割り当てられる。
さらに、図１では、いくつかのプライベートアプリケーションについてはセキュリティレベルを増加させることが一般に望まれている結果として、スマートカードリーダ１２２がスタックＳ２に割り当てられる。
しかしながら、スタックＳ２で実行されるどのアプリケーションも、マウス、キーボード、及びディスプレイの使用を必要し得ることが理解されるべきである。
したがって、図１では、マウス１２０、キーボード１２１、及びディスプレイ１１０も、スタックＳ２に割り当てられる。
図１に示す実施形態では、スタックＳ３には、指紋リーダ１２３、ＳＭ１２４、及びＳＭレコード１２５が割り当てられる。
セキュリティ及びシステム管理は別個のスタックで実行されうることが理解されるべきである。
図１では、リモコン１２６及びゲームコントローラ１２７は、スタックＳ４に割り当てられる。
他の機能及び使用に基づいて、スタックＳ１〜Ｓ４の複製又は他のタイプのスタックのいずれかとして、他のスタックが設けられうることが理解されるべきである。
加えて、図１に示すようなマルチＣＰＵシステム（たとえば、ＣＰＵ１０１及び１０２）では、特定のスタックを特定のＣＰＵに関連付けることができる。
【００１１】
図１では、コンピュータシステム１００は、アクセスコントローラ１４０、優先順位付けルール１４２、及び割り当てコントローラ１４３を記憶するメモリ１０４も備える。
アクセスコントローラ１４０及び割り当てコントローラ１４３は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを含み、コンピュータ可読媒体上に具現化されるコンピュータプログラムを含むことができる。
アクセスコントローラ１４０は、ユーザが優先順位付けルール１４２及び割り当てコントローラ１４３の変更に影響を与える能力を制限する等、コンピュータシステム１０の一定の特徴へのユーザアクセスを制限するのに使用される。
たとえば、適切なログインクレデンシャル（credential）を有するユーザしか優先順位付けルール１４２及び割り当てコントローラ１４３に変更を行うことができないようにアクセスを制限することができる。
ログインクレデンシャルは、基本ユーザクレデンシャルとすることができるか、又はスーパユーザ特権若しくはコンピュータアドミニストレータ特権等の予約済み特権（reserved privilege）とすることができる。
割り当てコントローラ１４３は、コンピュータシステム１００に連結されているＩ／Ｏデバイス１０５を特定し且つ／又は別の方法で決定し、Ｉ／Ｏデバイス１０５をさまざまなスタックＳ１〜Ｓ４に割り当てる。
割り当てコントローラ１４３は、仮想化レイヤ１０３の一部とすることができ、且つ／又は、スタックＳ１〜Ｓ４のオペレーティングシステムＯＳ１〜ＯＳ３のうちの1つ若しくは複数又はコンピュータシステム１００の全体のオペレーティングシステムの一部とすることができる。
【００１２】
優先順位付けルール１４２は、コンピュータシステム１０が動作している間又はブートアップするときに、割り当てコントローラ１４０によって、Ｉ／Ｏデバイス１０５のうちのさまざまなＩ／ＯデバイスをスタックＳ１〜Ｓ４に割り当てるのに使用されるルールのリストである。
いくつかの実施形態では、優先順位付けルール１４２は、コンピュータシステム１００がブートするとき及び／又は新しいＩ／Ｏデバイスがコンピュータシステム１００に接続されるときに自動的に適用されうるデフォルト設定を含む。
たとえば、いくつかの実施形態では、デフォルト設定は、新しく追加されたすべてのデバイス（たとえば、デバイス１０６）が、セキュリティ機能を有しない限り又はゲーム制御に関連しない限り、スタックＳ１に追加されることを示すことができる。
したがって、たとえば、ユーザが、網膜スキャナ１２９等の新しいバイオメトリック読み取りデバイスを追加する場合、網膜スキャナ１２９はセキュリティ関連デバイスであるので、デバイス１２９に付随するインストールソフトウェア１３０は、割り当てコントローラ１４０がスキャナ１２９をスタックＳ３に割り当てるべきであることを示すように優先順位付けルール１４２を更新することができる。
代替的に、割り当てコントローラ１４０は、インストール中、新しいデバイス１０６を分類するようにユーザに促すことができ、且つ／又は、新しく追加されたデバイスを割り当てのために自動的に認識し且つ／若しくは分類することができる。
したがって、たとえば、マウス１２０又はキーボード１２１を通じて割り当てコントローラ１４０によって受信される可能性のあるユーザ入力の受信に応答して、割り当てコントローラ１４０は、デフォルト優先順位付けルール１４２を自動的に適用して、スキャナ１２９をセキュリティスタックＳ３に割り当てることができる。
しかしながら、いくつかの実施形態では、ユーザは、割り当てコントローラ１４０を使用して、割り当てコントローラ１４０が、スタックＳ１、Ｓ２、Ｓ４等の別のスタック又は複数のスタックにデバイス１０６を割り当てるように異なる割り当てを入力することができる。
インストールソフトウェア１３０及び／又は優先順位付けルール１４２は、一定のタイプのデバイス１０５が複数のスタックに割り当てられることを示しうることも理解されるべきである。
【００１３】
いくつかの実施形態では、優先順位付けルール１４２は、条件付き（contingency）を含む。この条件付きは、Ｉ／Ｏデバイス１０５のうちの一定のＩ／Ｏデバイスを、アプリケーションＡＰＰ３が動作を開始した時はスタックＳ４に割り当てることを示すが、ＡＰＰ３がクローズした時はスタックＳ１に割り当てることを示すこと等であるが、これに限定されるものではない。
別の可能な条件付き割り当てルールは、指紋リーダ１２３がコンピュータシステム１００から切り離されるまではスマートカードリーダ１２２がスタックＳ２に標準的に割り当てられ、切り離された時は、スマートカードリーダ１２２がスタックＳ３に再割り当てされることとすることができる。
さらに、指紋リーダ１２３をコンピュータシステム１００に再接続することによって、スマートカードリーダ１２２をスタックＳ２に再割り当てするように割り当てコントローラ１４０をトリガすることができる。
【００１４】
さらに、いくつかの実施形態では、ルール１４２は、Ｉ／Ｏデバイス１０５のうちの一定のＩ／Ｏデバイスの割り当てが、Ｉ／Ｏデバイス１０５のうちの他のＩ／Ｏデバイスの割り当て又はどのスタックが動作中であるのかを条件とするように階層的である。
たとえば、スタックＳ３がセキュリティデバイスの優先順位を有する等、スタック自体が優先順位を有しうる。
このようなスタック優先順位方式では、スタックＳ３が動作中である場合には、Ｉ／Ｏデバイス１０５からの少なくとも１つのセキュリティ関連デバイスがスタックＳ３に割り当てられ、スタックＳ３で動作中でない場合には、Ｓ２のみがセキュリティ関連デバイスを有する。
したがって、この例では、スタックＳ３が実行中でない場合には、スタックＳ２に、Ｉ／Ｏデバイス１０５からの少なくとも１つのセキュリティ関連デバイスが割り当てられるように、スタックＳ２は、セキュリティ関連デバイスについてスタックＳ１及びＳ４よりも高い優先順位を有しうる。
【００１５】
いくつかの実施形態では、ルール１４２の１つのグループ又は１つのセットが、異なる状況についてＩ／Ｏデバイス１０５の割り当てを制御するのに使用されるように、ルール１４２は複数のグループ又は複数のセットに編成され、したがって、セットとして修正及び／又は取り替え／代用されうる。
したがって、たとえば、優先順位付けルール１４２は、複数のセットを含むことができ、この場合、割り当てコントローラ１４３は、１つのセットを現在のセット又はデフォルトセットとして使用し、一定のイベント発生に応答して、現在のセットをルール１４２の別の記憶されたセットに取り替え（すなわち、ルール１４２の異なるセットを使用し）、それによって、動的な割り当て及び／又は再割り当てを提供する。
イベントには、新しいデバイス１０６の追加若しくはＩ／Ｏデバイス１０５のうちの１つの除去／接続解除、ユーザ入力、又はアプリケーションＡＰＰ２の開始若しくはクローズが含まれ得る。
いくつかの実施形態では、ルール１４２の異なるセットは、コンピュータシステム１００の特定の使用に基づいている（たとえば、コンピュータシステム１００がゲームに使用される場合、ルール１４２の特定のセットが、Ｉ／Ｏデバイス１０５を割り当てるのに使用される）。
ルール１４２のうちの１つ又はセットの代用及び／又は取り替えは、（たとえば、条件が変化したとき、以前使用されていたルールのセットが、現在のセットとして回復されるように）一時的なものとすることもできるし、永久的なものとすることもできる（たとえば、ルール１４２の以前のセットが廃棄されるか、又は、ユーザ入力によって若しくは別の方法で再び使用するように指示されていない限り、再び使用されない）。
いくつかの実施形態では、ルール１４２の代用によって、再割り当てがトリガされ、この再割り当てにおいて、割り当てコントローラ１４３は、優先順位付けルール１４２の新しく変更されたセット又は取り替えセットに基づいてＩ／Ｏデバイス１０５をスタックＳ１〜Ｓ４のうちの特定のスタックに再割り当てする。
しかしながら、いくつかの実施形態では、再割り当ては、新しい優先順位付けルール１４２を使用するためにコンピュータシステム１００の再起動を必要とする場合があることが理解されるべきである。
【００１６】
図２は、仮想環境割り当て方法２０の一実施形態を示すフロー図である。
この方法は、ブロック２０１で開始する。ブロック２０１において、初期Ｉ／Ｏデバイス１０５の割り当てが、割り当てコントローラ１４３によって行われる。
たとえば、いくつかの実施形態では、割り当てコントローラ１４３は、ルール１４２にアクセスし、ルール１４２に基づいてＩ／Ｏデバイス１０５を割り当てる。
いくつかの実施形態では、異なるイベントによって、特定のスタック及び／又は異なるスタックへのＩ／Ｏデバイス１０５の割り当て及び／又は再割り当てがトリガされる。
たとえば、ブロック２０２において、コンピュータシステム１００に対する1つ又は複数のＩ／Ｏデバイス１０５の追加又は除去が検出される。
ブロック２０３において、ユーザ入力が受信される（たとえば、特定のＩ／Ｏデバイス１０５又は特定の機能の分類及び／又は再分類）。
ブロック２０４において、アプリケーションのオープン又はクローズが検出される。
たとえば、アプリケーションＡＰＰ３が映画プレイヤであり、且つ、リモコン１２６が最初にエンターテインメントスタックＳ４に割り当てられる場合、アプリケーションＡＰＰ３の終了（たとえば、映画の終了を示す）によって、リモコン１２６の一般スタックＳ１への再割り当てがトリガされる。一般スタックＳ１では、リモコン１２６は、ＡＰＰ１を制御するために使用されうる。
【００１７】
ブロック２０５に示すように、いくつかの実施形態では、他のイベントによっても、Ｉ／Ｏデバイス１０５の割り当て及び／又は再割り当てをトリガすることができる。
他のイベントには、タイマ起動、スケジューリングされたイベント、外部システムアドミニストレータの送信要求及び更新要求、環境表示又はタンパリング表示等のさまざまなセンサ送信信号、ユーザログイン、ハイパーバイザ要求、並びにＯＳ要求が含まれ得る。
オプションのブロック２０６に示すように、イベントによって、優先順位付けルール１４２の変更又は代用をオプションとしてトリガすることができる。
たとえば、優先順位付けルール１４２は、キーボード１２１及びディスプレイ１１０が一般スタックＳ１及びプライベートアプリケーションスタックＳ２の双方に割り当てられる一方、ゲームコントローラ１２７及びディスプレイ１１１は、エンターテインメントスタックＳ４に割り当てられることを示すルールを含みうる。
しかしながら、ゲームコントローラ１２７が除去されると、割り当て制御装置１４３は、ルール１４２の変更を統率する選択肢のセットから選択を行うようにユーザに促すことができる（たとえば、おそらく、ユーザは、もはやコンピュータをゲームに使用することを望まず、その場合、デバイスはスタックＳ４に割り当てられない。又は、おそらく、ユーザは、キーボード入力を使用してゲームを制御する必要があり、その場合、キーボード１２１は、スタックＳ４にさらに割り当てられる）。
【００１８】
ブロック２０７において、1つ又は複数のイベント（たとえば、ブロック２０２〜２０５において示したイベント）の検出に応答して、割り当てコントローラ１４３は、1つ又は複数のＩ／Ｏデバイス１０５を特定のスタック及び／又は異なるスタックに割り当て且つ／又は再割り当てする。
したがって、システム１０の実施形態によって、たとえば、特定のＩ／Ｏデバイス１０５の異なる使用及び機能、並びに／又は、特定のＩ／Ｏデバイス１０５との関連において使用されるコンピュータシステム１００の異なる使用及び／若しくは機能に基づいて、Ｉ／Ｏデバイス１０５を仮想環境の1つ又は複数のスタックに割り当てることが可能になる。
【符号の説明】
【００１９】
１０  仮想環境割り当てシステム
１００  コンピュータシステム
１０１，１０２  ＣＰＵ
１０３  仮想化レイヤ
１０４  メモリ
１０５  Ｉ／Ｏデバイス
１０６  デバイス
１１０  ディスプレイ１
１１１  ディスプレイ２
１２０  マウス
１２１  キーボード
１２２  スマートカード
１２３  指紋リーダ
１２４  システム管理
１２５  ＳＭレコード
１２６  リモコン
１２７  ゲームコントローラ
１２８  デバイス媒体ドライブ
１２９  網膜スキャナ
１３０  インストールソフトウェア
１４０  アクセスコントローラ
１４２  ルール
１４３  割り当てコントローラ
【図１】
2010515152.tif 000003
【図２】
2010515152.tif 000004
【国際調査報告】
2010515152.tif 000005
2010515152.tif 000006