(57)【要約】      （修正有）【課題】ソフトウェアエージェント、特にクリティカルなソフトウェアエージェントを、ＶＴ環境において、より効率的により効果的に保護する。【解決手段】物理デバイスの第一のメモリページの第一のセキュリティドメインから該物理デバイスの第二のメモリページの第二のセキュリティドメインを、物理デバイスのプロセッサの一以上のレジスタに保存される複数のセキュリティドメインと比較する方法および装置を含む。この比較に基づき、第一のセキュリティドメインの優先ドメインが第二のセキュリティドメインのものと異なる場合に、プロセッサは、第一のメモリページからの命令が第二のメモリページへアクセスするのを却下する。【選択図】図１
2009104555.tif 000002
【特許請求の範囲】
【請求項１】
一の物理デバイスの一の第一のメモリページの一の第一のセキュリティドメインと、前記物理デバイスの一の第二のメモリページの一の第二のセキュリティドメインとを、前記物理デバイスの一のプロセッサの一の変換索引バッファの複数のレジスタに保存する工程と、
前記第一のメモリページの一の命令が前記第二のメモリページに参照あるいはアクセスを試みるとき、前記第一および第二のメモリページの前記第一および第二のセキュリティドメインを解析する工程と、
前記第一および第二のセキュリティドメインの前記解析に少なくとも部分的に基づいて、前記第一のメモリページからの前記命令が、前記第二のメモリページを参照あるいはアクセスすることを却下する工程と、を含む、方法。
【請求項２】
前記保存する工程は、前記参照あるいはアクセスが試みられるとき、前記第一および第二のセキュリティドメインを前記変換索引バッファからレトリーブすることと、前記レトリーブした第一および第二のセキュリティドメインを前記変換索引バッファの前記複数のレジスタに保存することとを含む、
請求項１に記載の方法。
【請求項３】
前記方法は、
前記第一および第二のセキュリティドメインを、前記物理デバイスの一の仮想マシンマネージャの一のページテーブルからレトリーブする工程と、
前記レトリーブした第一および第二のセキュリティドメインを、前記変換索引バッファにキャッシュする工程と、をさらに含み、
前記仮想マシンマネージャの複数のページテーブルは複数の拡張ページテーブルであり、
前記複数の拡張ページテーブルは、
各拡張ページテーブルポインタ構造が、一のセキュリティドメインが一の関連するメモリページおよび前記セキュリティドメインに関連付けられた複数の特徴に設定されているか否かを示す、複数の拡張ページテーブルポインタ構造と、
複数の関連するメモリページに割り当てられた複数のセキュリティドメインを保存する複数の拡張ページテーブルエントリ構造と、を含む、
請求項２に記載の方法。
【請求項４】
複数の拡張ページテーブルエントリ構造からの複数のビット、およびお互いに異なる入れ子レベルを有す前記複数の拡張ページテーブルエントリ構造の少なくとも幾らかを、一のセキュリティドメインを保存するのに利用してもよい、
請求項３に記載の方法。
【請求項５】
前記却下する工程は、一のページフォールトを起こすことを含み、
前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なっている場合、前記第一のメモリページの前記命令は前記第二のメモリページを参照あるいはアクセスすることを却下される、
請求項１に記載の方法。
【請求項６】
前記方法は、
前記第二のメモリページが一の隠しメモリページであるかを判断する工程をさらに含み、
前記第二のメモリページが一の隠しメモリページであった場合、前記第一のメモリページの前記命令も前記第二のメモリページに参照あるいはアクセスすることを却下される、
請求項１に記載の方法。
【請求項７】
前記方法は、
前記参照あるいはアクセスが読み取りあるいは書き込みの参照あるいはアクセスか否か判断する工程と、
前記第二のメモリページが一の隠しメモリページでない場合、
前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なり、前記参照あるいはアクセスが読み取りの参照あるいはアクセスである場合に、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下せず、
前記第一のセキュリティドメインが前記第二のセキュリティドメインより低く、前記参照あるいはアクセスが書き込みの参照あるいはアクセスである場合に、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下する工程と、
をさらに含む、
請求項６に記載の方法。
【請求項８】
前記参照あるいはアクセスが、前記第二のメモリページの一の許可されたエントリポイントへのジャンプあるいは呼び出しのいずれかである場合、前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なるか否かに関わらず、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下しない工程をさらに含む、
請求項１に記載の方法。
【請求項９】
前記第二のセキュリティドメインが少なくとも一の所定のセキュリティドメインよりも優先度が高くない場合に、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下しない工程をさらに含む、
請求項１に記載の方法。
【請求項１０】
前記第二のメモリページは、一のクリティカルなオペレーティングシステムコンポーネントを保存しており、前記第二のセキュリティドメインは一の監督セキュリティドメインである、
請求項１に記載の方法。
【請求項１１】
前記物理デバイスの一の仮想マシンマネージャの一のセキュリティドメイン割り当てサービスにより、少なくとも前記第一および第二のセキュリティドメインを割り当てる工程をさらに含む、
請求項１に記載の方法。
【請求項１２】
前記物理デバイスの一の仮想マシンマネージャの一のインテグリティ計測モジュールにより前記第一のメモリページを割り当てられた前記物理デバイスの一の仮想マシンの一のエージェントのインテグリティを検証する工程をさらに含む、
請求項１に記載の方法。
【請求項１３】
プロセッサであって、
前記プロセッサを持つ一の物理デバイスの第一および第二のメモリページの第一および第二のセキュリティドメインを保存する第一および第二のレジスタを含む、一の変換索引バッファと、
比較ロジックと、を含み、
前記比較ロジックは前記変換索引バッファに連結され、
前記第一のメモリページの前記第一のセキュリティドメインを前記第二のメモリページの前記第二のセキュリティドメインに比較する工程と、
前記第一のセキュリティドメインが前記第二のセキュリティドメインよりも高いか同じ場合、前記第一のメモリページからの一の命令が前記第二のメモリページを参照あるいはアクセスすることを却下しない工程と、を含み、前記第一のセキュリティドメインおよび前記第二のセキュリティドメインは前記変換索引バッファからレトリーブされた、プロセッサ。
【請求項１４】
前記変換索引バッファに保存されている前記セキュリティドメインは、前記物理デバイスの一の仮想マシンマネージャの複数のページテーブルからレトリーブされたものであり、前記仮想マシンマネージャの前記複数のページテーブルは複数の拡張ページテーブルであり、前記複数の拡張ページテーブルは、
各拡張ページテーブルポインタ構造が、一のセキュリティドメインが一の関連するメモリページおよび前記セキュリティドメインに関連付けられた複数の特徴に設定されているか否かを示すよう構成された、複数の拡張ページテーブルポインタ構造と、
複数の関連するメモリページに割り当てられた複数のセキュリティドメインを保存するよう構成された複数の拡張ページテーブルエントリ構造と、を含む、
請求項１３に記載のプロセッサ。
【請求項１５】
前記比較ロジックは、前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なっている場合、一のページフォールトを起こして、前記命令が前記第二のメモリページを参照あるいはアクセスすることを却下するようさらに適合されている、
請求項１３に記載のプロセッサ。
【請求項１６】
前記比較ロジックは、前記第二のメモリページが一の隠しメモリページであるかを判断するようさらに適合されており、前記第二のメモリページが一の隠しメモリページであった場合、前記第一のメモリページの前記命令も前記第二のメモリページに参照あるいはアクセスすることを却下される、
請求項１３に記載のプロセッサ。
【請求項１７】
前記比較ロジックは、前記参照あるいはアクセスが読み取りあるいは書き込みの参照あるいはアクセスか否か判断するようさらに適合されており、
前記第二のメモリページが一の隠しメモリページでない場合、
前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なり、前記参照あるいはアクセスが読み取りの参照あるいはアクセスである場合に、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下せず、
前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なり、前記参照あるいはアクセスが書き込みの参照あるいはアクセスである場合に、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下するようさらに適合されている、
請求項１６に記載のプロセッサ。
【請求項１８】
前記比較ロジックは、前記参照あるいはアクセスが、前記第二のメモリページの一の許可されたエントリポイントへのジャンプあるいは呼び出しのいずれかである場合、前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なるか否かに関わらず、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下しないようさらに適合された、
請求項１３に記載のプロセッサ。
【請求項１９】
前記第二のメモリページは、一のクリティカルなオペレーティングシステムコンポーネントを保存しており、前記第二のメモリページの前記第二のセキュリティドメインは一の監督セキュリティドメインである、
請求項１３に記載のプロセッサ。
【請求項２０】
前記プロセッサを持つ前記物理デバイスの一の仮想マシンマネージャは、前記プロセッサにより操作され、前記第一および第二のセキュリティドメインのうちの少なくとも一つを割り当てるよう適合された一のセキュリティドメイン割り当てサービスを含む、
請求項１３に記載のプロセッサ。
【請求項２１】
前記プロセッサを持つ前記物理デバイスの一の仮想マシンマネージャは、前記プロセッサにより操作され、前記第一のメモリページのインテグリティを検証するよう適合された一のインテグリティ管理モジュールを含む、
請求項１３に記載のプロセッサ。
【請求項２２】
製品であって、
一の記憶媒体と、
複数のプログラム命令とを含み、
前記複数のプログラム命令は、前記記憶媒体に記憶され、一の物理デバイスの一の仮想マシンマネージャの一のセキュリティドメイン割り当てサービスのインスタンスを作成することで、
少なくとも第一および第二のセキュリティドメインを前記物理デバイスの第一および第二のメモリページに割り当て、
前記割り当てられた少なくとも第一および第二のセキュリティドメインを前記仮想マシンマネージャの複数のページテーブルに保存して、前記物理デバイスの一のプロセッサの比較ロジックが、前記少なくとも第一および第二のセキュリティドメインをレトリーブする際に手助けをし、前記比較ロジックは前記第一のメモリページの前記第一のセキュリティドメインと前記第二のメモリページの前記第二のセキュリティドメインとを比較し、前記第一のメモリページの一の命令は前記第二のメモリページに対する参照あるいはアクセスを試みており、第一のセキュリティレベルが第二のセキュリティレベルと同じ場合、前記比較ロジックは前記第一のメモリページからの前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下しないよう適合された、製品。
【請求項２３】
前記仮想マシンマネージャの前記複数のページテーブルは複数の拡張ページテーブルであって、前記複数の拡張ページテーブルは、
各拡張ページテーブルポインタ構造が、一のセキュリティドメインが一の関連するメモリページおよび前記セキュリティドメインに関連付けられた複数の特徴に設定されているか否かを示す、複数の拡張ページテーブルポインタ構造と、
複数の関連するメモリページに割り当てられた複数のセキュリティドメインを保存する複数の拡張ページテーブルエントリ構造と、を含む、
請求項２２に記載の製品。
【請求項２４】
前記複数の命令は、前記セキュリティドメイン割り当てサービスのインスタンスを作成することで、前記少なくとも第一および第二のメモリページのうちの少なくとも一つについて、前記判断されたセキュリティドメインに関連付けられた一以上の特徴を判断し、前記一以上の特徴を一の拡張ページテーブルポインタ構造に保存するようさらに適合された、
請求項２３に記載の製品。
【請求項２５】
システムであって、
一のクリティカルなオペレーティングシステムコンポーネントエージェントにインスタンスを作成可能な、少なくとも一つのクリティカルなオペレーティングシステムコンポーネントプログラムを自身に保存する大容量記憶装置と、
前記大容量記憶装置に連結された一のプロセッサとを含み、
前記プロセッサは、
前記システムの第一および第二のメモリページの第一および第二のセキュリティドメインを保存する第一および第二のレジスタを含む、一の変換索引バッファと、
前記変換索引バッファに連結された比較ロジックとを含み、
前記第二のメモリページは前記クリティカルなオペレーティングシステムコンポーネントエージェントを持ち、
前記比較ロジックは、
前記第一のメモリページの前記第一のセキュリティドメインを前記第二のメモリページの前記第二のセキュリティドメインと比較し、
前記第一のセキュリティドメインが前記第二のセキュリティドメインと同じ場合、前記第一のメモリページからの一の命令が前記第二のメモリページにアクセスするのを却下しないよう適合され、
前記第一のセキュリティドメインおよび前記第二のセキュリティドメインは前記変換索引バッファからレトリーブされた、システム。
【請求項２６】
前記変換索引バッファに保存されている前記第一のセキュリティドメインおよび前記第二のセキュリティドメインは、前記システムの一の仮想マシンマネージャの複数のページテーブルからレトリーブしたものであり、前記仮想マシンマネージャの前記複数のページテーブルは複数の拡張ページテーブルであり、前記複数の拡張ページテーブルは、
各拡張ページテーブルポインタ構造が、一のセキュリティドメインが一の関連するメモリページおよび前記セキュリティドメインに関連付けられた複数の特徴に設定されているか否かを示すよう構成された、複数の拡張ページテーブルポインタ構造と、
複数の関連するメモリページに割り当てられた複数のセキュリティドメインを保存するよう構成された複数の拡張ページテーブルエントリ構造と、を含む、
請求項２５に記載のシステム。
【請求項２７】
前記比較ロジックは、前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なっている場合、一のページフォールトを起こして、前記命令が前記第二のメモリページを参照あるいはアクセスすることを却下するようさらに適合されている、
請求項２５に記載のシステム。
【請求項２８】
前記比較ロジックは、前記参照あるいはアクセスが、前記第二のメモリページの一の許可されたエントリポイントへのジャンプあるいは呼び出しのいずれかである場合、前記第一のセキュリティドメインが前記第二のセキュリティドメインと異なるか否かに関わらず、前記命令が前記第二のメモリページに参照あるいはアクセスするのを却下しないようさらに適合された、
請求項２５に記載のシステム。
【請求項２９】
前記クリティカルなオペレーティングシステムコンポーネントエージェントを持つ前記第二のメモリページの前記第二のセキュリティドメインは、一の監督セキュリティドメインである、
請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、データプロセシングおよび情報保証の分野に関する。特に、二ページが同じ保護ドメインに属していない場合、第一のメモリページの命令が第二のメモリページへアクセスするのを却下することで、仮想技術（ＶＴ）環境で動作するソフトウェアエージェントを改竄から守る。
【背景技術】
【０００２】
メモリに基づく攻撃は情報プロセシングシステムに対する重要な脅威である。それら攻撃の中には、悪意のコード（ウィルスあるいはワームなど）をコンピュータシステムのメモリに保存して、正当なプログラムを実行しながらバグおよび／またはバッファあふれを利用して制御を悪意のコードへ移行させることに関するものがある。この種の攻撃を防止する一方策は、データが実行不可能として保存されているページを指定するのに利用することもできるページテーブルエントリに「実行不能」ビットを含め、悪意のコードがデータとして保存できず、故に同じ物理的、線形あるいは論理上のメモリスペースで実行できないようにすることである。
【０００３】
さらなる方策には、メモリページテーブルを利用して、エージェントに関連付けられる「色」属性（それらのセキュリティおよび／または優先ドメインを反映したもの）をロジックパーティションメモリに、十分細かい粒度で保存して、ある色のエージェントが他の色に関連付けられたメモリにアクセスするのを防ぐ、という方策が含まれる。しかしこの方策は、ページテーブルで利用可能なビットの数が限られるので、比較的少ない「色」の割り当てに限られる（故に、比較的少ないセキュリティエンクレーブ）に限られる。さらには、プロセッサ技術の進歩によってはこれらビットを「色」指標として利用できなくなることも考えられる。
【発明を実施するための最良の形態】
【０００４】
本発明の例示的実施形態は、それらに限られないが、物理デバイスの第一のメモリページの第一のセキュリティドメインから該物理デバイスの第二のメモリページの第二のセキュリティドメインを、物理デバイスのプロセッサの一以上のレジスタに保存される複数のセキュリティドメインと比較する方法および装置を含む。この比較に基づき、第一のセキュリティドメインの優先ドメインが第二のセキュリティドメインのものと異なる場合に、プロセッサは、第一のメモリページからの命令が第二のメモリページへアクセスするのを却下する。この結果、ソフトウェアエージェント、特にクリティカルなソフトウェアエージェントは、ＶＴ環境においてより効率的に効果的に保護されることがある。
【０００５】
例示的実施形態の様々な側面を、当業者が普通に利用する用語を利用して記載して、それら働きの実質を当業者に伝える。しかし、当業者にとって明らかなように、幾らかの記載された側面のみで代替実施形態を実施することができる。説明目的から、特定の数字、材料、および構成は、例示的実施形態の完全な理解を提供する目的から提示される。しかし当業者とって明らかなように、代替実施形態はこれら特定の詳細なしに実施することもできる。その他の場合、例示的実施形態を不明瞭にするといけないので公知の特徴については省略するか簡略化してある。
【０００６】
さらに、様々な操作については、多数離散操作として、例示的実施形態の理解に十分助けとなるような様式で記載されるが、記載順序は、これら操作が必ずしも順序に依存することを示唆するよう捉えられるべきものではない。特に、これら操作は提示される順序で行われる必要はない。
【０００７】
「一実施形態においては」という言い回しが随所に出てくる。この言い回しは一般的に同じ実施形態のことを言及したものではないが、そうである場合もある。「含む（comprising）」「持つ（having）」「含む（including）」という用語は、そうではないと文脈で言及する場合以外は、同義に利用される。「Ａ／Ｂ」という言い回しは、「ＡあるいはＢ」を意味する。「Ａおよび／またはＢ」という言い回しは、「（Ａ）、（Ｂ）あるいは（ＡおよびＢ）」を意味する。「Ａ、Ｂ、Ｃの少なくとも一つ」は「（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）あるいは（Ａ、ＢおよびＣ）」を意味する。「（Ａ）Ｂ」という言い回しは、「（Ｂ）あるいは（ＡＢ）」を意味する、つまりＡがオプションであるということである。
【０００８】
図１は本発明の様々な実施形態の概略図である。図示されるように、プロセッサ１１６の比較ロジック１２０は、メモリページ（例えばエージェント１１４に割り当てられる）に関連付けられるセキュリティドメインを、第二のメモリページ（エージェント１１４の命令が参照あるいはアクセスを試みた）のセキュリティドメインと比較してもよい。比較結果に基づき、比較ロジック１２０は、ページフォールトを生じ、参照あるいはアクセスを却下してもよく、参照あるいはアクセスを却下しなくてもよい。二つのメモリページに関連付けられたセキュリティドメインは、コンピュータデバイス１０２のプロセッサ１１６の変換索引バッファ（ＴＬＢ）１１８に保存され、プロセッサ１１６の、先行セキュリティドメイン（ＰＳＤ）および最新セキュリティドメイン（ＣＳＤ）レジスタ１１２へコピーされてもよい（二つのメモリページが、試みられたメモリページ参照あるいはアクセスにおける先行および最新メモリページであった場合）。セキュリティドメインは、前もってセキュリティドメイン割り当てサービス１１０（例えば、仮想マシンマネージャ１０４の）により割り当てられ、ページテーブル１０８へ保存され、仮想マシンマネージャ（ＶＭＭ）１０４により利用されて、仮想マシン１０６のゲスト物理アドレスをプロセッサ１１６のホスト物理アドレスへ変換してもよい（ＴＬＢ１１８へコピーされる前に）。
【０００９】
様々な実施形態においては、仮想マシン（ＶＭ）１０６および仮想マシンマネージャ１０４は、プロセッサ１１６などの計算デバイス１０２の同じあるいは異なるプロセッサコアあるいはプロセッサにより実行され、メモリ１２４などの計算デバイス１０２のメモリに保存されてもよい。仮想マシン１０６は、エージェント１１４（プログラムあるいはプログラムのモジュールいずれであってもよい）などの、プログラムおよびモジュールを含んでもよく、一実施形態においてはゲストページテーブル（不図示）である。仮想マシンマネージャ１０４は、前述のページテーブル１０８およびセキュリティドメイン割り当てサービス１１０に加えて、幾らかの実施形態では、メモリに搭載されるとエージェント１１４のインテグリティを検証することのできるインテグリティ計測モジュール１１２を含むことができる。
【００１０】
様々な実施形態においては、そこに組み込まれる本発明の実施形態の教示を除けば、計算デバイス１０２は本技術分野で知られている任意のシングルあるいはマルチプロセッサあるいはプロセッサコア中央処理装置（ＣＰＵ）計算システムであってよい。計算デバイス１０２は、パソコン（ＰＣ）、ワークステーション、サーバ、ルータ、メインフレーム、ブレードサーバあるいは高密度サーバ内のモジュラーコンピュータ、携帯端末（ＰＤＡ）、娯楽施設、セットトップボックスあるいは携帯デバイスであってよい。計算デバイス１０２は、仮想マシン１０６のような複数の仮想マシンの、および仮想化技術を利用する仮想マシンマネージャ１０４などの、複数のオペレーティングシステムを操作することができてよい。計算デバイス１０２がマルチプロセッサあるいはマルチプロセッサコアシステム（図１に示すような）である場合、計算デバイス１０２の各仮想マシン／仮想マシンマネージャは、該仮想マシン／仮想マシンマネージャ専用のプロセッサあるいはプロセッサコアにより操作されてよい。シングルプロセッサあるいはシングルプロセッサコア計算デバイス１０２においては（図１に図示するような）、シングルプロセッサあるいはプロセッサコア（プロセッサ１１６のような）が複数の仮想マシンおよび仮想マシンマネージャ１０４を操作してよい。シングル／マルチプロセッサあるいはプロセッサコア計算デバイス１０２の一例が図４に図示されており、以下でこれについて詳細に説明する。今後、請求項においても、「プロセッサ」および「プロセッサコア」という用語は、そうではないと文脈から明確に示唆される場合以外は、一方が他方を含有する形の相互交換可能な形で使用される。
【００１１】
幾らかの実施形態においては、ＶＭＭ１０４は計算デバイス１０２のサービスパーティションを持ってもよく、これは、デバイス１０２の実際のハードウェア資源を管理し、エージェント１１４のメモリページおよび命令がアクセスを試みるメモリページなどのメモリページを含み、仮想マシン計算デバイス１０２間で資源の利用を連携する。
【００１２】
仮想マシン１０６は、本発明の実施形態の実施形態教示を除けば、任意の種類の仮想マシンであってよい。仮想マシン１０６は、あたかも別個のコンピュータシステムであるかのように振舞う、内臓タイプの操作環境であってよい。ネットワーク構造を介して計算デバイス１０２に連結された外部システムにとって、仮想マシン１０６は別個の計算デバイスのように思えてよい。仮想マシン１０６はさらに、エージェント１１４のような多数のエージェントを管理することのできるオペレーティングシステムを持っていてもよく、操作上排他的に仮想マシン１０６に属す保護されたメモリスペースを有してよい。一実施形態においては、仮想マシン１０６は線形アドレスとゲスト物理アドレスとの間にマッピングを含むゲストページテーブル（不図示）を含んでもよい。上述のように、仮想マシン１０６はさらに、エージェント１１４を含み、プロセッサ１１６により操作される。適切な仮想マシンおよび仮想化技術には、それらに限られないが、ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ、カリフォルニア州Ｐａｌｏ  ＡｌｔｏのＶＭｗａｒｅ，Ｉｎｃ．、および英国ＣａｍｂｒｉｄｇｅのＸｅｎＳｏｕｒｃｅから入手できるものが含まれる。
【００１３】
さらに例示されるように、ＶＭＭ１０４はページテーブル１０８構造を含むことができる。幾らかの実施形態においては、図３に以下に示すように、ページテーブル１０８は、仮想マシン１０６のゲスト物理アドレスを計算デバイス１０２のホスト物理アドレスへマッピングするように、および計算デバイス１０２のメモリページのセキュリティドメインを保存するように、階層的に組織化されてもよい。例えば、ページテーブル１０８はベースおよび拡張ページテーブルを含むことができ、これは、線形仮想アドレスの仮想マシン１０６のゲスト物理アドレスへの仮想マシン１０６のマッピング、および計算デバイス１０２のホスト物理アドレスへのゲスト物理アドレスのマッピング、また計算デバイス１０２のメモリページのセキュリティドメインの保存を提供する。ページテーブル１０８は、エージェント１１４などの複数の仮想マシン１０６コンポーネントの搭載に呼応してＶＶＭ１０４により更新され、これにより、ホスト物理メモリページを指し示すようにそれらのゲスト物理アドレスをマッピングするこれらコンポーネントへのエントリを追加してもよい。さらに、拡張ページテーブル１０８は、拡張ページテーブルポインタ（ＥＰＴＰ）と称されるプロセッサレジスタにより参照されてもよい。ＥＰＴＰは、セキュリティドメイン構成オプションのマークを実現するある種のビットを含むこともできる。様々なレベルの拡張ページテーブルは、全てのあるいは一部のセキュリティドメインを保存することのできる拡張ページテーブルエントリ（ＥＰＴＥｓ）を含むことができる。ＥＰＴＥｓはマルチレベルページング構造を形成してもよく、マルチレベルからの保護ドメインビットは組み合わせられて保護ドメインを一意的に識別することもできる。以下に、例示的なＥＰＴＰおよびＥＰＴＥ構造を図３を参照してより詳細に記載する。
【００１４】
幾らかの実施形態においては、前に示唆したように、ＶＭＭ１０４がエージェント用にセキュリティドメインを判断することのできるセキュリティドメイン割り当てサービス１１０（今後、「割り当てサービス」と称す）を含んでよく、これは判断されたドメインをエージェントのメモリページ（一または複数）と関連付け、判断されたドメインをメモリページ（一または複数）を指し示すＥＰＴＥ構造（一又は複数）に保存する。割り当てサービス１１０は各エージェントに一意のセキュリティドメインを割り当ててよく、同じセキュリティドメインを同じエージェントの関連モジュールあるいは関連エージェントに割り当ててもよい。さらに、割り当てサービス１１０は特別なセキュリティドメインを、仮想マシン１０６のベースコンポーネントおよびレガシーアプリケーションに割り当ててもよい。スケジューラ、ローダ、メモリマネージャなどのベースコンポーネントは、それらの命令がお互い異なるセキュリティドメインを持つメモリページにアクセスすることを許可する監督セキュリティドメインを割り当てられてもよい。この意味において、セキュリティドメインは部分的に命令を受け、セキュリティドメインのうち幾らかは他のものよりもより優先（特権を与えられる）であってよい（いつもではないが）。レガシーアプリケーションはセキュリティドメインを割り当てられなくてもよく（あるいは、「０」というセキュリティドメインを割り当てられてもよい）、このような訳で、セキュリティドメインを持つメモリページへはアクセスできない。様々な実施形態において、割り当てサービス１１０はさらに、判断されたセキュリティドメインと関連付けられる特徴を判断することができる（例えば、ドメインが割り当てられたメモリページが隠しメモリページであるか否かなど）。以下に図３を参照しながら記載される、一実施形態においては、セキュリティドメインの数箇所が多数のＥＰＴＥｓに入れ子状に保存されてもよい。このような実施形態においては、割り当てサービス１１０は、ネットワークドライバ、各エージェントについて同じのセキュリティドメインの箇所、および各エージェントモジュールに固有の箇所などの、ロジックグループからのエージェントを割り当て、これにより、割り当てられたセキュリティドメインのロジック組織化を実現する。代替実施形態においては、割り当てサービス１１０は、ＶＭＭ１０４のコンポーネントではなくて、仮想マシン１０６のような仮想マシンのコンポーネントであってよい。
【００１５】
様々な実施形態においては、前に示唆したように、ＶＭＭ１０４がさらに、エージェント１１４が仮想マシン１０６メモリに搭載される際にエージェント１１４のインテグリティを検証することのできるインテグリティ計測モジュール（ＩＭＭ）１１２を含んでよい。ＩＭＭ１１２は、メモリページの暗号ハッシュのような、本技術分野において任意の既知の方法を利用して、エージェント１１４のインテグリティを証明してよい。エージェント１１４のインテグリティを検証することにより、ＩＭＭ１１２は追加的なセキュリティ層を提供して、そのセキュリティドメインの割り当て前であってもエージェント１１４の改変を検知することができるようになる。幾らかの実施形態においては、計算デバイス１０２は、ＩＭＭ１１２を含むこともできる、追加的な仮想マシン（不図示）を含むこともできる。このような実施形態においては、ＶＭＭ１０４のインテグリティサービス（不図示）は、ＩＭＭ１１２による評価をすべく、エージェント１１４のメモリページのコピーを追加的仮想マシンへマップしてもよく、ＩＭＭ１１２がエージェントの検証結果を返してもよい。
【００１６】
様々な実施形態においては、前に示唆したように、仮想マシン１０６は、エージェント１１４のような、一以上のアプリケーションを含むことができる。エージェント１１４は、他のエージェントのメモリページにアクセスする必要のある命令をもつプログラムあるいはプログラムのモジュールを含む、任意の種類のエージェントであってよい。そのようなアクセスは、読み取りあるいは書き込みアクセスであってよく、あるいは、アクセスが試みられるメモリページに保存されているエージェントへの遷移目的のジャンプあるいは呼び出しであってもよい。エージェント１１４は、仮想マシン１０６の正当な（あるいは伝染していない）エージェントであってよいし、あるいはワームやウィルスなどの悪意のプログラムであってもよい。幾らかの実施形態においては、エージェント１１４は、スケジューラ、ローダ、メモリマネージャ、あるいはセキュリティドメイン割り当てサービス１１０（ＶＭＭ１０４が実施していない場合）などの、幾つもの信用の置ける仮想マシン１０６ベースコンポーネントのうちの一つであってよい。このようなコンポーネントは、上述したように、コンポーネント１１４の命令が異なるセキュリティドメインを持つメモリページにアクセスすることを許可する特別な監督セキュリティドメインを割り当てられてもよい。他の実施形態においては、エージェント１１４は、セキュリティドメインを割り当てられないレガシーアプリケーションであってもよい。上述したように、エージェント１１４はそれ自身がセキュリティドメインと関連付けられた仮想マシン１０６の一メモリページに保存されてもよい。
【００１７】
例示したように、本発明の実施形態の教示を除けば、プロセッサ１１６は、Ｐｅｎｔｉｕｍ（登録商標）Ｐｒｏｃｅｓｓｏｒ  Ｆａｍｉｌｙ、Ｉｔａｎｉｕｍ（登録商標）Ｐｒｏｃｅｓｓｏｒ  Ｆａｍｉｌｙ、あるいは他のＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎのプロセッサファミリ、あるいは別の会社の任意の他の汎用その他のプロセッサのような、任意の様々な異なる種類のプロセッサであってよい。プロセッサ１１６は仮想マシン１０６およびそのエージェント、仮想マシンマネージャ１０４およびそのエージェントを実行してよく、一以上のＴＬＢを含むことができ、ＴＬＢ１１８はメモリページのセキュリティドメインを保存するよう修正され、比較ロジック１２０、ＣＳＤおよびＰＳＤレジスタ１２２を関連付けていてよい。ＴＬＢ１１８は、様々なメモリページ用にページテーブル１０８に割り当てられ保存されているセキュリティドメインを、ＶＭＭ１０４のセキュリティドメイン割り当てサービス１１０によりコピーするよう改良されてよい。メモリページにアクセスしようとするエージェント１１４の命令をプロセスするにあたり、仮想マシン１０６、ＶＭＭ１０４およびプロセッサ１１６のメモリ管理ロジックは、命令により参照される線形アドレスを、仮想マシン１０６のゲストページテーブル（不図示）から入手されるゲスト物理アドレスへマップしてもよく、その後これがロジックにより、命令の線形アドレスにより参照される実際のメモリページのホスト物理アドレスへマップされてよい。ゲスト物理アドレスのホスト物理アドレスへのマッピングは、ＶＭＭ１０４のページテーブル１０８から入手されてよく、これは拡張ページテーブルであってよい。ＴＬＢ１１８はこのプロセスで様々なレベルのアドレス変換のために広範に利用されてよい。プロセッサ１１６のロジックはその後、ＣＳＤレジスタ１２２に目下保存されているメモリページのセキュリティドメインをＰＳＤレジスタ１２２へコピーしてもよく、アクセスされたメモリページのセキュリティドメインをＣＳＤレジスタ１２２にコピーしてもよい。ロジック１２０はさらに、ＣＳＤおよびＰＳＤレジスタ１２２の最新セキュリティドメインおよび先行セキュリティドメインを比較し、参照／アクセスを却下するか否かを判断する。
【００１８】
様々な実施形態においては、セキュリティドメインを保存するという変更を除いては、ＴＬＢ１１８は本技術分野で知られている任意の変換索引バッファであってよい。さらにＴＬＢ１１８は、命令に参照される線形メモリアドレスのマッピングをゲスト物理アドレスにキャッシュしてもよく、ゲスト物理アドレスのマッピングを命令が参照アクセスを試みているメモリページを指し示すホスト物理アドレスへキャッシュしてもよい。ＴＬＢ１１８のセキュリティドメインおよびマッピングはプロセッサ１１６のロジックにより更新されてよい。
【００１９】
前に示唆したように、プロセッサ１１６はＰＳＤおよびＣＳＤレジスタ１２２と、ＰＳＤおよびＣＳＤレジスタ１２２に保存されているセキュリティドメインどうしを比較する比較ロジック１２０とを含む。比較は任意の既知の方策により実行されてよい。例えば、セキュリティドメインが複数の数値に関連付けられている場合、比較ロジック１２０は値が同じか、一あるいは両方の値がゼロか（上述のようにセキュリティドメインを表さない）、あるいは一あるいは両方の値が最大値などのデフォルト値であるか（監督セキュリティドメインを表す）、を判断してよい。比較ロジック１２０はその後、比較により得られた結果を利用して、命令がメモリページに参照あるいはアクセスするのを却下する。一実施形態においては、比較ロジック１２０は、命令を含むメモリページのセキュリティドメインが、命令が参照あるいはアクセスを試みているメモリページのセキュリティドメインと同じ場合に、参照あるいはアクセスを却下しなくてよく、セキュリティドメインどうしが異なる場合に参照あるいはアクセスを却下してよい。比較ロジック１２０は、ページフォールト例外をトリガすることで参照あるいはアクセスを却下してよい。
【００２０】
さらに、比較ロジック１２０は、追加的基準に基づき参照あるいはアクセスを却下するかどうか判断してよい。例えば、一セキュリティドメイン（例えば「０」）はセキュリティドメインを表さず、セキュリティドメインではないとマークされたメモリページは任意の他のページによりアクセスできることにしてもよい。加えて、上述したように、ページテーブル１０８のＥＰＴＥはページが隠されているか否かを判断するフィールドあるいはビットを含んでよい。ビットはゼロに設定されることで、セキュリティドメイン比較の結果に関わらず、任意の他のページに対して、参照されるページからの読み出しを許可してもよいし、１に設定されることで、比較ロジック１２０に対して、セキュリティドメイン比較に基づき読み出しの参照あるいはアクセスを却下してもよい。幾らかの実施形態においては、隠しビットはプロセッサ１１６ロジックによりセキュリティドメインと共にレトリーブされてよく、ＴＬＢ１１８のページテーブルに保存されてよい。書き込みの参照あるいはアクセスは、隠しビットの設定に関わらず防がれてよい。
【００２１】
加えて、比較ロジック１２０は、命令制御フローに基づき参照あるいはアクセスを却下するか否か判断してよい。例えば、命令を利用してプログラムに許可されたエントリーポイントをマークしてもよい。Ｐｅｎｔｉｕｍ（登録商標）Ｐｒｏｃｅｓｓｏｒ  Ｆａｍｉｌｙのアーキテクチャによる一実施形態においては、新たな命令（「Ｄｉｒｅｃｔｅｄ  Ａｄｄｒｅｓｓ  Ｖｅｃｔｏｒ」あるいは「ＤＡＶ」命令）がこの用途で追加されてよい。ジャンプその他の制御フロー命令が一セキュリティドメインのメモリページから別のセキュリティドメインのメモリページのＤＡＶ命令へ実行される場合、参照あるいはアクセスは却下されなくてよい。しかし、ジャンプが別のセキュリティドメインのページへのものであって、ＤＡＶ命令へのものでなければ、参照あるいはアクセスは却下されてよい。したがって、ＤＡＶ命令は、定義された安全なインタフェースを提供してもよい期待点のみにおけるプログラムへのエントリを許可するのに利用されてよい。プログラムのランダムなあるいは予期せぬセクションへの、別のセキュリティドメインのプログラムからのジャンプは防がれてよい。最後に、ＤＡＶ命令は、実行可能なページにおいてのみ実行されて（例えば、Ｐｅｎｔｉｕｍ（登録商標）４および他のＰｒｏｃｅｓｓｏｒ  ＦａｍｉｌｉｅｓのアーキテクチャによるＸＤビットを利用するｅＸｅｃｕｔｅ  Ｄｉｓａｂｌｅｄではなく）、ＤＡＶ命令に見えるスプリアスビット列を持つデータページがプロセッサ１１６で実行できないよう保証してもよい。
【００２２】
さらに、比較ロジック１２０は、ページフォールトがセキュリティドメイン不整合あるいは違反に起因しているかどうかを含むページフォールト報告を実現してもよい。例えば、比較ロジック１２０はページフォールトをトリガする際に、ページフォールトエラーコード内のビット（例えば、Ｐｅｎｔｉｕｍ（登録商標）Ｐｒｏｃｅｓｓｏｒ  Ｆａｍｉｌｙのアーキテクチャによりスタックに押し付けられるページフォールトエラーコードのビット５）を、セキュリティドメイン違反ビットとして指定してもよい旨、ページフォールトがセキュリティドメイン不整合によりトリガされたと示すものに設定されてもよい旨などの示唆を提供してもよい。このビットは他のフラグとの文脈で解釈されてもよい。例えば、セキュリティドメイン違反が命令フェッチに起因していた場合、エラーコード内の命令フェッチビットは１に設定されてよい。セキュリティドメイン違反が読み取り、あるいは書き込みに起因していた場合、読み取り／書き込みビットは、読み取りにつき０、あるいは書き込みにつき１に設定されてもよい。さらに、フォールトを引き起こしたエージェント１１４のメモリページの線形アドレスは、例えばＰｅｎｔｉｕｍ（登録商標）Ｐｒｏｃｅｓｓｏｒ  ＦａｍｉｌｙのアーキテクチャによるプロセッサのＣＲ２制御レジスタ内にセーブされてよい。
【００２３】
例示したように、計算環境１０２のメモリ１２４は、ＶＭＭ１０４、ＶＭ１０６およびそれらのコンポーネント以外は、プロセッサ１１６が実行してよい命令を保存できる本技術分野で知られている任意の種類のメモリデバイスであってよい。一実施形態においては、メモリ１２４は、少なくともＶＭＭ１０４およびＶＭ１０６を含む幾つもの仮想マシン間でパーティションされてよい。
【００２４】
まとめると、セキュリティドメイン割り当てサービス１１０は、セキュリティドメインをメモリページに割り当てるために追加されてよい。ページテーブル１０８およびＴＬＢ１１８は割り当てられるセキュリティドメインを保存すべく改善されてよく、プロセッサ１１６は、最新メモリページおよび先行メモリページのセキュリティドメインを保存するＰＳＤおよびＣＳＤレジスタ１２２を含むよう変更されてよく、参照／アクセスを却下すべきか判断すべく最新メモリページおよび先行メモリページのセキュリティドメインを比較する比較ロジック１２０を含むよう変更されてよい。
【００２５】
図２は本発明の様々な実施形態の方法の選択された操作のフローチャート図を示す。示されるように、様々な実施形態においては、計算デバイスのインテグリティ計測モジュール（ＩＭＭ）は、コンピュータデバイスエージェントのインテグリティを、それらエージェントの一つがメモリに生まれる度に検証してよい（ブロック２０２）。ＩＭＭは、計算デバイスの仮想マシンマネージャ（ＶＭＭ）に、あるいは検証対象のエージェントを含まないコンピュータデバイスの仮想マシン（ＶＭ）に存在してよい。ＩＭＭはエージェントを含むメモリページのコピーを受信し、図１を参照して説明した方法で該エージェントを検証してよい。エージェント検証に際して、ＶＭＭのセキュリティドメイン割り当てサービスは、計算デバイスの複数のＶＭの複数のエージェントへ複数のセキュリティドメインを割り当ててよい（ブロック２０４）。割り当てサービスは、ＶＭＭの拡張ページテーブルの対応する拡張ページテーブルエントリ（ＥＰＴＥ）構造のセキュリティドメインを保存することで、割り当てられたセキュリティドメインと、エージェントに割り当てられた全てのメモリページとを関連付けてよく、ＥＰＴＥに関連付けられた拡張ページテーブルポインタ（ＥＰＴＰ）構造における上述の隠しビットのような、セキュリティドメイン構成値を設定してもよく、これらが今度はＴＬＢにコピーおよび保存される（ブロック２０６）。
【００２６】
さらに上述されたように、計算デバイスの第一のメモリページに存在するエージェントの命令計算デバイスエージェントのＶＭと関連付けられたプロセッサの場合、第二のメモリページの参照あるいはアクセスを試みる命令、プロセッサのロジックは、ＰＳＤおよびＣＳＤレジスタに保存される先行メモリページおよび最新メモリページのセキュリティドメインを更新してよい（ブロック２０８）。
【００２７】
第二のメモリページのセキュリティドメインが一旦レトリーブされ保存されると、プロセッサの比較ロジックはＰＳＤおよびＣＳＤに保存されるセキュリティドメインを比較してよい（ブロック２１０）。比較の結果に少なくとも部分的に基づいて、比較ロジックは、命令の第二のメモリページに対する参照あるいはアクセスを却下しなくてよい（ブロック２２０）、あるいはアクセスを却下してもよい（ブロック２２２）。セキュリティドメイン比較に加えて、比較ロジックは幾つもの他のテストを行うよう適合されてもよい。例えば、比較ロジックは、第一のメモリページのセキュリティドメインが第二のメモリページのセキュリティドメインと異なるか否か判断してもよい（ブロック２１２）。セキュリティドメインどうしが同じ場合、比較ロジックはアクセスを却下しなくてよい（ブロック２２０）。一方、セキュリティレベルどうしが異なる場合、比較ロジックはさらに、上述の隠しビットが第二のメモリページに対して設定されているか判断してよい（ブロック２１４）。隠しビットが設定されている場合、比較ロジックはアクセスを却下してよい（ブロック２２２）。隠しビットが設定されていない場合、比較ロジックはさらに、試みられているアクセスが読み取りの参照あるいはアクセスかを判断してもよい（ブロック２１６）。参照あるいはアクセスが、読み取りの参照あるいはアクセスである場合、比較ロジックはアクセスを却下しなくてよい（ブロック２２０）。一方、参照あるいはアクセスが読み取りの参照あるいはアクセスでない場合、比較ロジックは、該参照あるいはアクセスが、ジャンプあるいは呼び出し命令などの、第二のメモリページの承認されたエントリポイントへの制御フロー遷移か否かを判断してよい（ＤＡＶ命令として上で説明した）（ブロック２１８）。命令が、承認されたエントリポイントへのジャンプあるいは呼び出しであった場合、比較ロジックは命令を却下しなくてよい（ブロック２２０）。命令がジャンプあるいは呼び出しでない、あるいは承認されたエントリポイント以外へのメモリへのジャンプあるいは呼び出しであった場合、比較ロジックは命令が第二のメモリページに参照あるいはアクセスするのを却下してよい（ブロック２２２）。
【００２８】
命令が、第二のメモリページに参照あるいはアクセスするのを却下されていない場合、比較ロジックはページフォールトをトリガしてよい（ブロック２２４）。幾らかの実施形態においては、ページフォールトは参照或いはアクセスの種類の記述子、および却下された参照あるいはアクセスを試みる第一のメモリページのアドレスを含んでよい。
【００２９】
図３は、メモリページセキュリティドメインを論理的に順序付けられた様式で保存するよう適合された、拡張ページテーブル構造例を示す。最も左に位置するブロックは、セキュリティドメイン優先傾向を保存することのできる拡張ページテーブルポインタ（ＥＰＴＰ）例である。ＥＰＴＰは、例えば、構造／許可ビット、中央および右のブロック列に示すＥＰＴＥブロックのような、５１２拡張ページテーブルエントリを保持する４ＫＢメモリページの物理アドレス（４８ビットフィールド）、および幾つもの反転ビットを有す、６４ビット構造であってよい。反転ビットは、命令がアクセスするメモリページが、割り当てられたセキュリティドメインを持つか、ページが隠れているか、ページが遷移ページ（ＤＡＶ）であるか、などを示すのに利用されてよい。中央および右のＥＰＴＥブロックは、ＥＰＴＰブロックにより指し示されるメモリページのＥＰＴＥであってよい。ＥＰＴＥブロックは、例えば、命令によりアクセスが試みられる物理ページフレームであるページフレームのアドレスを提供する４０ビットのアドレスフィールドを含んでよい、あるいはその代わりに、アドレス変換に更に利用されてよい別の５１２ＥＰＴＥを含む別のメモリページのアドレスを提供してよい。右のＥＰＴＥブロックを指し示すよう示されている中央のＥＰＴＥブロックは、そのようなポイントＥＰＴＥを構成している。さらに、ＥＰＴＥの１０ビットはセキュリティドメインを保存するのに利用されてよい。
【００３０】
幾らかの実施形態において、ＣＰＵは、中央および右のブロック列にあるような、ＥＰＴＥの少なくとも二つのドメインを分解して、アクセスが試みられているメモリページのゲスト物理アドレスを変換してよい。故に、二つのＥＰＴＥが任意のページフレームと関連付けられているので、メモリページにセキュリティドメインを割り当てるのに２０ビットが利用されてよい。さらに、第一のＥＰＴＥの１０ビットが、５１２メモリページフレームまでによって共有されてよいので、セキュリティドメイン割り当てサービスは、このアーチファクトを利用することで、セキュリティドメインスペースを論理的にパーティションすることができる（例えば、それらのセキュリティドメインの同じ初めの１０ビットを共有する全てのネットワークドライバ）。
【００３１】
図４は本発明の様々な実施形態を実行する際の利用に適したコンピュータシステムの一例を示す。示すように、計算システム４００は、幾つものプロセッサあるいはプロセッサコア４０２（プロセッサ１１６など）およびシステムメモリ４０４（メモリ１２４など）を含む。本出願においては、請求項においても、「プロセッサ」および「プロセッサコア」という用語は、そうではないことが文脈ではっきりしている場合以外は、同義に使用される。さらに、計算システム４００は、大容量記憶装置４０６（ディスケット、ハードドライブ、コンパクトディスク読出し専用記憶素子（ＣＤＲＯＭ）など）、入力／出力デバイス４０８（キーボード、カーソル制御など）、および通信インタフェース４１０（ネットワークインタフェースカード、モデムなど）を含む。これら要素は、一以上のバスを表すシステムバス４１２を介してお互い連結される。バスが多数の場合、一以上のバスブリッジ（不図示）によりブリッジされる。様々な実施形態において、大容量記憶装置４０６は多数の仮想マシンが利用する多数のパーティションに分割され、各仮想マシンは割り当てられたパーティションを専用してよい。
【００３２】
これら要素の各々は本技術分野で知られた従前の機能を遂行する。特に、プロセッサ４０２（一又は複数）は前述の改善されたＴＬＢ、ＰＳＤおよびＣＳＤレジスタ、セキュリティドメイン比較ロジックで改善される。さらに、システムメモリ４０４および大容量記憶装置４０６を利用して、セキュリティドメイン割り当てサービス、ＩＭＭなどを実施するプログラム命令のワーキングコピーおよび永久コピーを保存してよく、これらをここでは纏めて４２２と称す。これら命令４２２はプロセッサ４０２が支援するアセンブラ命令、あるいはＣなどの高位のドメイン言語からコンパイルされてよい。
【００３３】
プログラム命令の永久コピーは、ファクトリあるいはフィールドの永久記憶装置４０６に、例えばコンパクトディスク（ＣＤ）などの分配媒体（不図示）を介して、あるいは通信インタフェース４１０を介して（不図示の分配サーバから）配置されてよい。
【００３４】
これら要素４０２―４１２の構成は既知なので、詳細には記載しない。
【００３５】
ここでは特定の実施形態について例示および記載したが、本技術分野の当業者にとっては、本発明の実施形態の範囲を逸脱することなく、多岐にわたる代替および／または同等の実施形態を、示され記載された特定の実施形態に置き換えることができることは理解されよう。本出願はここで記した実施形態の変形例あるいは改変例のいずれをも網羅することを意図している。従って、本発明の実施形態は請求項とその均等物によってのみ限定されることが明確に意図されている。
【図面の簡単な説明】
【００３６】
本発明の実施形態を、同様の参照番号は同様の要素を示すところの添付図面に図示する例示的実施形態の形で説明するが、この例示的実施形態に限られない。図面は以下の通りである。
【００３７】
【図１】本発明の様々な実施形態の概略図である。
【００３８】
【図２】本発明の様々な実施形態の方法の選択操作のフローチャート図である。
【００３９】
【図３】メモリページセキュリティドメインを論理的に順序付けられた様式で保存するよう適合された、拡張ページテーブル構造例を示す。
【００４０】
【図４】本発明の様々な実施形態を実行する際の利用に適したコンピュータシステムの一例を示す。
【図１】
2009104555.tif 000003
【図２】
2009104555.tif 000004
【図３】
2009104555.tif 000005
【図４】
2009104555.tif 000006
【外国語明細書】
2009104555.tif 000007
2009104555.tif 000008
2009104555.tif 000009
2009104555.tif 000010
2009104555.tif 000011
2009104555.tif 000012
2009104555.tif 000013
2009104555.tif 000014
2009104555.tif 000015
2009104555.tif 000016
2009104555.tif 000017
2009104555.tif 000018
2009104555.tif 000019
2009104555.tif 000020
2009104555.tif 000021
2009104555.tif 000022
2009104555.tif 000023
2009104555.tif 000024
2009104555.tif 000025
2009104555.tif 000026
2009104555.tif 000027
2009104555.tif 000028
2009104555.tif 000029
2009104555.tif 000030
2009104555.tif 000031
2009104555.tif 000032
2009104555.tif 000033
2009104555.tif 000034