【手続補正書】
【提出日】平成29年1月17日(2017.1.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハードウェアプロセッサを含むホストシステムであって、前記ハードウェアプロセッサは、
仮想化されたプロセッサおよび仮想化されたメモリを含み、前記仮想化されたプロセッサを使用してターゲットプロセスを実行するように構成された仮想マシンを公開するように構成されたハイパーバイザと、
前記仮想マシンの外で実行されるメモリ内部監視エンジンであって、
前記仮想マシンのページテーブルにより、前記ターゲットプロセスの仮想メモリ空間のターゲットページが前記仮想化されたメモリからスワップアウトされているかどうかを判定し、
前記ターゲットページが前記仮想化されたメモリからスワップアウトされているときに、前記仮想マシンにページフォールトを直接インジェクトし、前記ページフォールトは前記仮想マシンのオペレーティングシステムに前記ターゲットページを前記仮想化されたメモリのページにマップさせる
ように構成されたメモリ内部監視エンジンと
を動作させるように構成された、ホストシステム。
【請求項２】
請求項１に記載のホストシステムであって、前記ページフォールトを直接インジェクトすることは、前記仮想化されたプロセッサを動作させるように、前記ハイパーバイザによって使用されるデータ構造を変更することを含む、ホストシステム。
【請求項３】
請求項２に記載のホストシステムであって、前記データ構造は、前記仮想化されたプロセッサに割り当てられた仮想マシン制御構造（ＶＭＣＳ）を含む、ホストシステム。
【請求項４】
請求項１に記載のホストシステムであって、前記ページフォールトを直接インジェクトすることは、前記メモリ内部監視エンジンが前記ターゲットページの仮想アドレスを前記仮想化されたプロセッサのレジスタに書き込むことを含む、ホストシステム。
【請求項５】
請求項１に記載のホストシステムであって、前記メモリ内部監視エンジンは、
前記ページフォールトを直接インジェクトするのに備えて、前記仮想化されたプロセッサの現在の状態により、インジェクション条件が満たされるかどうかを判定し、
前記インジェクション条件が満たされるときに、前記ページフォールトを直接インジェクトする
ようにさらに構成された、ホストシステム。
【請求項６】
請求項５に記載のホストシステムであって、前記インジェクション条件が満たされるかどうかを判定することは、前記仮想化されたプロセッサの割り込み要求レベル（ＩＲＱＬ）を決定することを含む、ホストシステム。
【請求項７】
請求項５に記載のホストシステムであって、前記インジェクション条件が満たされるかどうかを判定することは、前記仮想化されたプロセッサが現在実行されている特権レベルを決定することを含む、ホストシステム。
【請求項８】
請求項５に記載のホストシステムであって、前記インジェクション条件が満たされるかどうかを判定することは、前記仮想化されたプロセッサの現在の実行コンテキストを決定することを含む、ホストシステム。
【請求項９】
請求項１に記載のホストシステムであって、前記メモリ内部監視エンジンは、前記ページフォールトを直接インジェクトすることに応じて、
前記ターゲットページのページテーブルエントリの変更を検出し、
前記ターゲットページが前記変更により前記仮想化されたメモリの前記ページにマップされたかどうかを判定する
ようにさらに構成された、ホストシステム。
【請求項１０】
請求項１に記載のホストシステムであって、前記メモリ内部監視エンジンは、前記ターゲットページの内容により前記ターゲットプロセスが悪意のあるものであるかどうかを判定するようにさらに構成された、ホストシステム。
【請求項１１】
請求項１に記載のホストシステムであって、前記メモリ内部監視エンジンは、前記ターゲットページの内容を変更しようとする試みをインターセプトするようにさらに構成された、ホストシステム。
【請求項１２】
請求項１に記載のホストシステムであって、前記メモリ内部監視エンジンは、前記ターゲットページが前記仮想化されたメモリからスワップアウトされているかどうかを判定するのに備えて、
前記仮想マシン内の前記ターゲットプロセスの起動を示す、前記仮想化されたプロセッサのイベントを検出し、
前記イベントにより前記ターゲットページの仮想アドレスを決定する
ようにさらに構成された、ホストシステム。
【請求項１３】
ホストシステムの少なくとも１つのハードウェアプロセッサが、ハイパーバイザを実行するステップであって、前記ハイパーバイザは、仮想化されたプロセッサおよび仮想化されたメモリを含む仮想マシンを公開するように構成され、前記仮想マシンは前記仮想化されたプロセッサを使用してターゲットプロセスを実行するようにさらに構成された、ステップと、
前記少なくとも１つのハードウェアプロセッサが、前記ターゲットプロセスの仮想メモリ空間のターゲットページが前記仮想化されたメモリからスワップアウトされているかどうかを判定するステップと、
前記ターゲットページが前記仮想化されたメモリからスワップアウトされているときに、前記少なくとも１つのハードウェアプロセッサが、前記仮想マシンにページフォールトを直接インジェクトするステップであって、前記ページフォールトは前記仮想マシンのオペレーティングシステムに前記ターゲットページを前記仮想化されたメモリのページにマップさせる、ステップと
を含む方法。
【請求項１４】
請求項１３に記載の方法であって、前記ページフォールトを直接インジェクトするステップは、前記仮想化されたプロセッサを動作させるように、前記ハイパーバイザによって使用されるデータ構造を変更するステップを含む、方法。
【請求項１５】
請求項１４に記載の方法であって、前記データ構造は、前記仮想化されたプロセッサに割り当てられた仮想マシン制御構造（ＶＭＣＳ）を含む、方法。
【請求項１６】
請求項１３に記載の方法であって、前記ページフォールトを直接インジェクトするステップは、前記ターゲットページの仮想アドレスを前記仮想化されたプロセッサのレジスタに書き込むステップを含む、方法。
【請求項１７】
請求項１３に記載の方法であって、前記ページフォールトを直接インジェクトするのに備えて、
前記少なくとも１つのハードウェアプロセッサが、前記仮想化されたプロセッサの現在の状態により、インジェクション条件が満たされるかどうかを判定するステップと、
前記インジェクション条件が満たされるときに、前記少なくとも１つのハードウェアプロセッサを使用して、前記ページフォールトを直接インジェクトするステップと
をさらに含む方法。
【請求項１８】
請求項１７に記載の方法であって、前記インジェクション条件が満たされるかどうかを判定するステップは、前記仮想化されたプロセッサの割り込み要求レベル（ＩＲＱＬ）を決定するステップを含む、方法。
【請求項１９】
請求項１７に記載の方法であって、前記インジェクション条件が満たされるかどうかを判定するステップは、前記仮想化されたプロセッサが現在実行されている特権レベルを決定するステップを含む、方法。
【請求項２０】
請求項１７に記載の方法であって、前記インジェクション条件が満たされるかどうかを判定するステップは、前記仮想化されたプロセッサの現在の実行コンテキストを決定するステップを含む、方法。
【請求項２１】
請求項１３に記載の方法であって、前記ページフォールトを直接インジェクトするのに応じて、
前記少なくとも１つのハードウェアプロセッサを使用して、前記ターゲットページのページテーブルエントリの変更を検出するステップと、
前記少なくとも１つのハードウェアプロセッサが、前記ターゲットページが前記変更により前記仮想化されたメモリの前記ページにマップされたかどうかを判定するステップと
をさらに含む方法。
【請求項２２】
請求項１３に記載の方法であって、前記少なくとも１つのハードウェアプロセッサが、前記ターゲットページの内容により前記ターゲットプロセスが悪意のあるものであるかどうかを判定するステップをさらに含む方法。
【請求項２３】
請求項１３に記載の方法であって、前記少なくとも１つのハードウェアプロセッサが、前記ターゲットページの内容を変更しようとする試みをインターセプトするステップをさらに含む方法。
【請求項２４】
請求項１３に記載の方法であって、前記ターゲットページが前記仮想化されたメモリからスワップアウトされているかどうかを判定するのに備えて、
前記少なくとも１つのハードウェアプロセッサが、前記仮想マシン内の前記ターゲットプロセスの起動を示す、前記仮想化されたプロセッサのイベントを検出するステップと、
前記少なくとも１つのハードウェアプロセッサが、前記イベントにより前記ターゲットページの仮想アドレスを決定するステップと
をさらに含む方法。
【請求項２５】
ホストシステムにメモリ内部監視エンジンを形成させるプログラムであって、前記ホストシステムは、仮想化されたプロセッサおよび仮想化されたメモリを含む仮想マシンを公開するハイパーバイザを実行するようにさらに構成され、前記仮想マシンは、仮想化されたプロセッサを使用してターゲットプロセスを実行するように構成され、前記メモリ内部監視エンジンは、前記仮想マシンの外で実行され、前記メモリ内部監視エンジンは、
前記仮想マシンのページテーブルにより、前記ターゲットプロセスの仮想メモリ空間のターゲットページが前記仮想化されたメモリからスワップアウトされているかどうかを判定し、
前記ターゲットページが前記仮想化されたメモリからスワップアウトされているとき、前記仮想マシンにページフォールトを直接インジェクトし、前記ページフォールトは前記仮想マシンのオペレーティングシステムに前記ターゲットページを前記仮想化されたメモリのページにマップさせる
ように構成された、プログラム。
【請求項２６】
請求項２５に記載のプログラムを記憶したコンピュータ可読記憶媒体。