(57)【要約】      （修正有）【課題】仮想化環境の内部および外部からのアクセスにわたって仮想ハードディスクに関連するパフォーマンスを向上させる。【解決手段】ホスト・レベルのプロセスが仮想ハードディスク１０３上のファイル１１７にアクセスするとき、そのプロセスは適切なファイル属性情報１０１を更新し、仮想ハードディスク１０３に格納する。その後、仮想マシン・レベルのプロセスが仮想ハードディスク１０３上のファイルにアクセスするとき、そのプロセスは更新されたファイル属性情報１０１を読み込んで、不必要な動作を除外する。仮想マシン・レベルのプロセスが仮想ハードディスク１０３のファイルにアクセスし、対応するファイル属性情報１０１を更新するとき、そのプロセスはホストへ更新されたファイル属性情報１０１を伝える。【選択図】図１
2010176660.tif 000002
【特許請求の範囲】
【請求項１】
仮想ハードディスク上のファイル・システムのファイル属性情報に関係しているファイルを安全に管理する方法を実装するコンピュータであって、
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを、仮想化環境の外部から、コンピュータによって、少なくとも一つの前記ファイルに関係している少なくとも一つの当該アクションに影響を及ぼしているファイル属性情報に、遂行するステップと、
少なくとも一つの前記ファイルに関係しているファイル属性情報を、前記仮想化環境の外部から、コンピュータによって、更新するステップと、
前記仮想ハードディスクの少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報を、前記仮想化環境の外部から、コンピュータによって、前記更新されたファイル属性情報が前記仮想化環境の内部からアクセス可能なように、格納するステップと、
を備える方法。
【請求項２】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に、前記仮想化環境の内部から、コンピュータによって、その後アクセスすること、
をさらに備える請求項１に記載の方法。
【請求項３】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に基づいて、前記仮想化環境の内部から、コンピュータによって、前記仮想ハードディスク上の少なくとも一つのファイルに関係している少なくともアクションを遂行することを除外するために、決定すること、
をさらに備える請求項２に記載の方法。
【請求項４】
前記仮想化環境の外部からステップを実行することは、ホスト・レベルでコンピュータ上で動作しているプロセスによってステップを実行することをさらに備え、
前記仮想化環境の内部からステップを実行することは、仮想マシン・レベルでコンピュータ上で動作しているプロセスによってステップを実行することをさらに備える、
請求項１に記載の方法。
【請求項５】
前記仮想ハードディスク上のデータセットが最新でないことを、前記仮想化環境の外部から、コンピュータによって、検出することと、
前記仮想ハードディスク上の前記データセットが最新でないことを検出することに応答して、前記仮想化環境の外部から、コンピュータによって、前記データセットを更新するために少なくとも一つの付加的なステップを実行すること、
をさらに備える請求項１に記載の方法。
【請求項６】
前記仮想ハードディスク上の前記データセットを更新するために、少なくとも一つの付加的なステップを実行することは、
前記仮想ハードディスク上の前記データセットを、前記仮想化環境の外部から、コンピュータによって、更新するステップと、
前記仮想化環境の外部から、前記仮想化環境の内部から前記仮想ハードディスク上の前記データセットを更新するためにインジケータを、コンピュータによって、前記仮想ハードディスクの上にセットするステップと、
からなる一群のステップからステップを遂行することをさらに備える請求項５に記載の方法。
【請求項７】
前記仮想ハードディスクに関するデータが、
マルウェア定義のセット、
をさらに備える請求項５に記載の方法。
【請求項８】
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを遂行することは、
悪質なコードに対して前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイルをスキャンすること、
をさらに備える請求項１に記載方法。
【請求項９】
仮想ハードディスク上のファイル・システムのファイル属性情報に関係しているファイルを安全に管理する方法を実装するコンピュータであって、
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを、仮想化環境の内部から、コンピュータによって、少なくとも一つの前記ファイルに関係している少なくとも一つの当該アクションに影響を及ぼしているファイル属性情報に、遂行するステップと、
少なくとも一つの前記ファイルに関係しているファイル属性情報を、前記仮想化環境の内部から、コンピュータによって、更新するステップと、
前記仮想化環境の内部から、信頼されたチャンネルによる前記仮想化環境の外部へ前記仮想ハードディスク上の少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報を、コンピュータによって、伝えるステップと、
を備える方法。
【請求項１０】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に、前記仮想化環境の外部から、コンピュータによって、その後アクセスすること、
をさらに備える請求項９に記載の方法。
【請求項１１】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に基づいて、前記仮想化環境の外部から、コンピュータによって、前記仮想ハードディスク上の少なくとも一つのファイルに関係している少なくともアクションを遂行することを除外するために、決定すること、
をさらに備える請求項１０に記載の方法。
【請求項１２】
前記仮想化環境の外部からステップを実行することは、ホスト・レベルでコンピュータ上で動作しているプロセスによってステップを実行することをさらに備え、
前記仮想化環境の内部からステップを実行することは、仮想マシン・レベルでコンピュータ上で動作しているプロセスによってステップを実行することをさらに備える、
請求項９に記載の方法。
【請求項１３】
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを遂行することは、
悪質なコードに対して前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイルをスキャンすること、
をさらに備える請求項９に記載の方法。
【請求項１４】
仮想ハードディスク上のファイル・システムのファイル属性情報に関係しているファイルを安全に管理するコンピュータ・プログラム・プロダクトを包含している少なくとも一つのコンピュータ可読の記憶媒体であって、
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを、仮想化環境の外部から、コンピュータによって、少なくとも一つの前記ファイルに関係している少なくとも一つの当該アクションに影響を及ぼしているファイル属性情報に、遂行するプログラムコードと、
少なくとも一つの前記ファイルに関係しているファイル属性情報を、前記仮想化環境の外部から、コンピュータによって、更新するプログラムコードと、
前記仮想ハードディスクの少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報を、前記仮想化環境の外部から、コンピュータによって、前記更新されたファイル属性情報が前記仮想化環境の内部からアクセス可能なように、格納するプログラムコードと、
を備えるコンピュータ・プログラム・プロダクト。
【請求項１５】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に、前記仮想化環境の内部から、コンピュータによって、その後アクセスするプログラムコード、
をさらに備える請求項１４に記載のコンピュータ・プログラム・プロダクト。
【請求項１６】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に基づいて、前記仮想化環境の内部から、コンピュータによって、前記仮想ハードディスク上の少なくとも一つのファイルに関係している少なくともアクションを遂行することを除外するために、決定するプログラムコードと、
をさらに備える請求項１５に記載のコンピュータ・プログラム・プロダクト。
【請求項１７】
前記仮想化環境の外部からステップを実行するプログラムコードは、ホスト・レベルでコンピュータ上で動作しているプロセスによってステップを実行するプログラムコードをさらに備え、
前記仮想化環境の内部からステップを実行するプログラムコードは、仮想マシン・レベルでコンピュータ上で動作しているプロセスによってステップを実行するプログラムコードをさらに備える、
をさらに備える請求項１４に記載のコンピュータ・プログラム・プロダクト。
【請求項１８】
前記仮想ハードディスク上のデータセットが最新でないことを、前記仮想化環境の外部から、コンピュータによって、検出するプログラムコードと、
前記仮想ハードディスク上の前記データセットが最新でないことを検出することに応答して、前記仮想化環境の外部から、コンピュータによって、前記データセットを更新するために少なくとも一つの付加的なステップを実行するプログラムコードと、
をさらに備える請求項１４に記載のコンピュータ・プログラム・プロダクト。
【請求項１９】
前記仮想ハードディスク上の前記データセットを更新するために、少なくとも一つの付加的なステップを実行するプログラムコードは、
前記仮想ハードディスク上の前記データセットを、前記仮想化環境の外部から、コンピュータによって、更新するステップと、かつ、
前記仮想化環境の外部から、前記仮想化環境の内部から前記仮想ハードディスク上の前記データセットを更新するためにインジケータを、コンピュータによって、前記仮想ハードディスクの上にセットするステップと、
からなる一群のステップからステップを遂行するプログラムコードをさらに備える請求項１８に記載のコンピュータ・プログラム・プロダクト。
【請求項２０】
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを遂行するプログラムコードは、
悪質なコードに対して前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイルをスキャンするプログラムコードと、
をさらに備える請求項１４に記載のコンピュータ・プログラム・プロダクト。
【請求項２１】
仮想ハードディスク上のファイル・システムのファイル属性情報に関係しているファイルを安全に管理するコンピュータ・プログラム・プロダクトを包含している少なくとも一つのコンピュータ可読の記憶媒体であって、
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを、仮想化環境の内部から、コンピュータによって、少なくとも一つの前記ファイルに関係している少なくとも一つの当該アクションに影響を及ぼしているファイル属性情報に、遂行するプログラムコードと、
少なくとも一つの前記ファイルに関係しているファイル属性情報を、前記仮想化環境の内部から、コンピュータによって、更新するプログラムコードと、
前記仮想化環境の内部から、信頼されたチャンネルによる前記仮想化環境の外部へ前記仮想ハードディスク上の少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報を、コンピュータによって、伝えるプログラムコードと、
を備えるコンピュータ・プログラム・プロダクト。
【請求項２２】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に、前記仮想化環境の外部から、コンピュータによって、その後アクセスすること、
をさらに備える請求項２１に記載のコンピュータ・プログラム・プロダクト。
【請求項２３】
少なくとも一つの前記ファイルに関係している前記更新されたファイル属性情報に基づいて、前記仮想化環境の外部から、コンピュータによって、前記仮想ハードディスク上の少なくとも一つのファイルに関係している少なくともアクションを遂行することを除外するために、決定するプログラムコード、
をさらに備える請求項２２に記載のコンピュータ・プログラム・プロダクト。
【請求項２４】
前記仮想化環境の外部からステップを実行するプログラムコードは、ホスト・レベルでコンピュータ上で動作しているプロセスによってステップを実行するプログラムコードをさらに備え、
前記仮想化環境の内部からステップを実行するプログラムコードは、仮想マシン・レベルでコンピュータ上で動作しているプロセスによってステップを実行するプログラムコードをさらに備える、
請求項２１に記載のコンピュータ・プログラム・プロダクト。
【請求項２５】
前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイル上の少なくとも一つのアクションを遂行するプログラムコードは、
悪質なコードに対して前記仮想ハードディスク上のファイル・システムの少なくとも一つのファイルをスキャンするプログラムコード、
をさらに備える請求項２１に記載のコンピュータ・プログラム・プロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にファイル属性情報に関する。より具体的には、仮想ハードディスクにファイル属性情報の安全な管理を拡張することに関する。
【背景技術】
【０００２】
発明の名称「ファイル・システムのファイルのファイル属性情報を安全に管理する方法およびシステム」の特許出願（シリアル番号12/130,616）は、2008年5月30日に出願され、本願と同一の譲受人により所有され、本願明細書においてその全部が参照によって組み込まれたものとする（以下、「ファイル属性情報出願」と称する）。ファイル属性情報出願は、安全な管理およびファイル属性情報の危険のない持続性を記述する。そこに記述されるように、ファイルが処理されて、および／または、修正されるとき、ファイル属性情報は格納され、適切なものとして更新させることができる（例えば、修正され、および／または、リセットされる）。ファイル属性情報は、ファイル・システムのファイルごとに情報を示すことができる（例えば、所定のファイルがいつマルウェアに対して最後にスキャンされたか、マルウェア定義のどのバージョンが最後のスキャンに用いられたか、最後のスキャンの結果、ファイルは、いつ最後に修正されたか、その他）。これにより、例えば、アンチ・マルウェア・スキャン・エンジンが、素早く所定のファイルに関するこの種のファイル属性情報を問い合わせて、そのファイルがスキャン動作から除外することができるかどうか決定することが、可能になる（すなわち、そのファイルが最後に修正されてから最新のマルウェア定義によってすでにスキャンされているからである）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願番号12/130,616
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ファイル属性情報出願に記述されるように、ファイルに対する修正は検出することができ、対応するファイル属性情報はそれに応じて更新することができる。ファイルを処理するアプリケーション（例えば、アンチ・マルウェア・スキャン・エンジン）は、所定のファイルに関係があるアクティビティが生じたことを示すために（例えば、ファイルは、どのウイルス定義のセットによってスキャンされたか、その他）、適切にファイル属性情報を更新することができる。これは、アンチ・マルウェア（および、その他の）技術にとって、パフォーマンスの向上を提供する。
【０００５】
ファイル属性情報出願に記述されるように、ファイル属性情報データベースは、ファイル・システムを包含しているコンピューティング・デバイスに、ローカルで保持することができる。ファイル属性情報データベースは、ファイル・システムの各々のファイルのファイル属性情報の状態を追跡するために用いることができる。ファイル属性情報が修正されて、リセットされるとき、ファイル属性情報出願に記述されるように、ファイル属性情報データベースはそれに応じて更新することができる。
【０００６】
仮想ハードディスクは、物理ハードディスクを表している完全なコンテンツおよび構造を包含しているファイル・フォーマットである。仮想ハードディスクは、典型的に仮想マシンによってアクセスされ、ホストとしてこのコンテクストにおいて知られている物理コンピュータ上に次々に存在する。関連するファイル・システムとともに、仮想ハードディスクは、仮想マシンのオペレーティング・システムを格納するために用いることができる。仮想ハードディスクは、典型的にホストに存在している単一のファイルとして格納される。
【０００７】
ファイル属性情報出願の技術は非常に有効であるが、そこで記述されるように、それらと相互作用する仮想ハードディスクおよび仮想化環境にまでは拡張されていない。（このコンテクストにおいて、仮想化環境は、特定の仮想マシンおよび任意の付加的な関連する仮想化ソフトウェア、例えば、仮想マシンとホストとの間で通信を管理するソフトウェアを備える。）これは、仮想ハードディスクが対応する仮想マシンの外部からアクセスされることが増大しているので、特に重要である。例えば、マイクロソフトWindows（登録商標）の次のバージョンWin 7は、フォルダの他のセットのようにブラウズされかつ操作されるべきコンテナとして、仮想ハードディスクを標準でサポートするであろう。ファイル属性情報出願には、仮想化環境の内部および外部からのアクセスにわたって仮想ハードディスクに関連するパフォーマンスの向上を提供するためにファイル属性情報を利用することが、記述されていないので、これらの問題に対処することは望ましいであろう。
【課題を解決するための手段】
【０００８】
ファイル属性情報が、仮想マシン上で動作するプロセスと、ホスト・レベルから仮想ハードディスクにアクセスするプロセスとの間で共有されると、ファイル属性情報出願によって提供されるパフォーマンスの向上は、仮想ハードディスク上のファイル・システムまで拡張される。ホスト上で動作しているプロセスが仮想ハードディスク上のファイルにアクセスするとき、そのホスト・レベルのプロセスは適切なファイル属性情報を更新して、仮想ハードディスクに更新されたファイル属性情報を格納する。その後仮想マシン上で動作しているプロセスが仮想ハードディスク上のファイルにアクセスするとき、仮想マシン・レベルのプロセスは更新されたファイル属性情報を読み込むことができ、それに応じて不必要な動作を除外することができる。反対に、仮想マシン上で動作しているプロセスが仮想ハードディスクのファイルにアクセスして、対応するファイル属性情報を更新するとき、信頼されたチャンネルによって、そのプロセスはホストへ更新されたファイル属性情報を伝える。その後ホストで動作しているプロセスが仮想ハードディスクのファイルにアクセスするとき、ホスト・レベルのプロセスは更新されたファイル属性情報を読み込むことができ、不必要な動作を除外することができる。
【０００９】
この項目および以下の詳細な説明に記載されている特徴および効果は、全てを網羅するものではない。特に、多くの付加的な特徴および効果が、本願の図面、明細書、および、特許請求の範囲に関連する技術分野の当業者にとっては明白であろう。さらに、この明細書において使用されている言い回しは、主として、読みやすさおよび判りやすさを目的として選択されているものであって、本発明の内容を正確に説明するため又は限定的とするために選択されているものでなく、かつ特許請求の範囲は、このような発明の内容を決定するために必要なものである点に留意されたい。
【図面の簡単な説明】
【００１０】
【図１】本発明のいくつかの実施例による仮想ハードディスクにファイル属性情報の安全な管理を拡張するシステムを例示するブロック図である。
【図２】本発明の一実施例による仮想ハードディスクにファイル属性情報の安全な管理を拡張するためのステップを例示するフローチャートである。
【図３】本発明の他の実施例による仮想ハードディスクにファイル属性情報の安全な管理を拡張するためのステップを例示するフローチャートである。
【発明を実施するための形態】
【００１１】
これらの図は、本発明の実施例を、例示の目的で表しているものに過ぎない。当業者であれば、以下の説明から、本願明細書に例示されている構成および方法の代替例が、本願明細書に記載されている発明の原則から逸脱することなく実施できることを直ちに認識できるであろう。
【実施例】
【００１２】
図1は、本発明のいくつかの実施例による仮想化環境107の内部および外部からのアクセスに対して調整される仮想ハードディスク103上のファイル・システム105のファイル属性情報101を保持するシステムを例示する。図1では、さまざまなコンポーネントが分離したエンティティとして例示されるが、各々の例示されたコンポーネントが、ソフトウェア、ハードウェア、ファームウェアまたはこれらの任意の組合せとして実装することができる一群の機能を表すことを理解すべきである。コンポーネントが、ソフトウェアとして実装されている場合、スタンドアロン・プログラムとして実装できるが、これは、他の方法（例えば、より大きなプログラムの一部として、複数の分離したプログラムとして、カーネル・ロード可能なモジュールとして、一つ以上のデバイス・ドライバとして、または、一つ以上の静的、または、動的にリンクされたライブラリとして）で実装することもできる。
【００１３】
上記のように、仮想ハードディスク103は、仮想化環境107に用いるハードディスクを表す。仮想ハードディスク103は、ファイル・システム105を格納し、それを関連する仮想マシン111のファイル・システム105とみなすことができる。物理コンピューティング・デバイスが動作するとき、物理ハードディスク上のファイル・システム105がアクセスされ、操作されることに類似した方法で、仮想マシン111が動作するとき、仮想ハードディスク103上のファイル・システム105にアクセスして、操作する。本発明では、ファイル属性情報出願の手順は、仮想ハードディスク103にファイル属性情報データベース113（または、その他の適切なストレージ・メカニズム）を作成して、保持するために用いられ、それによって、ファイル・システム105のファイル117のファイル属性情報101をその上に保持する。
【００１４】
例えば、仮想マシン111上で動作しているアンチ・マルウェア・スキャン・エンジン119が、仮想ハードディスク103上のファイル・システム105のファイル117をスキャンすると仮定する。この種のシナリオにおいて、ファイル117がマルウェア定義115の特有の一組を有するマルウェアに対してスキャンされたことを反映するために、アンチ・マルウェア・スキャン・エンジン119は、仮想ハードディスク103上のファイル属性情報データベース113を更新することができる。したがって、仮想ハードディスク103がマルウェアに対してスキャンされる次の時、アンチ・マルウェア・スキャン・エンジン119は、ファイル属性情報データベース113をチェックすることができ、その結果、最新のマルウェア定義115によってすでにスキャンされた任意のファイル117の再スキャンすることを回避する。マルウェアに対して仮想ハードディスク103をスキャンすることが、単にファイル属性情報101が利用することができるアクティビティの一種の例であることを理解すべきである。
【００１５】
上記のように、仮想ハードディスク103の関連する仮想化環境107内からだけでなく、「外部」（すなわち、仮想マシン111上で動作しているプロセスと対照的にホスト121レベルで動作しているプロセスによって）からもアクセスされることが、より一般的になっている。例えば、ホスト121上で動作しているアンチ・マルウェア・スキャン・エンジン119は、ホスト121レベルのバックアップとして、または、Win7の下でのコンテナとして用いられている、仮想ハードディスク103をスキャンしてもよい。ホスト121レベルのプロセスが、ホスト121オペレーティング・システムのボリュームとしてマウントされない、仮想ハードディスク103にアクセスすることができることを理解すべきである（例えば、標準のオペレーティング・システムをマウントする手順を行うことなく、ホスト121レベルのアンチ・マルウェア・スキャン・エンジン119によって素早くスキャンされるもの）。ホスト121レベルのプロセスは、標準のオペレーティング・システム・ボリュームとしてマウントされる仮想ハードディスク103にアクセスすることもできる（例えば、Win7のコンテナの方式の仮想ハードディスク103）。これらのシナリオの両方とも、本発明の実施例の範囲内である。
【００１６】
ホスト121レベルのプロセス（例えば、例示するようにホスト121上で動作しているアンチ・マルウェア・エンジン119）が、その上にファイル117に関係しているファイル属性情報101を更新する（例えば、悪質なコードに対して仮想ハードディスク103をスキャンする）仮想ハードディスク103上の操作を実行するとき、ファイル属性情報101の更新が仮想化環境107によって検出可能であることは望ましい。さもなければ、仮想ハードディスク103上のファイル117に関係しているファイル属性情報101の最新の状態は、それ自身で仮想化環境107にアクセス可能ではないであろう。
【００１７】
図1にて図示するように、ホスト121レベルのプロセス（例えば、アンチ・マルウェア・スキャン・エンジン119）が、仮想ハードディスク103上のファイルに関係しているファイル属性情報101を更新するとき（例えば、仮想ハードディスク103をスキャンするとき）、ホスト121レベルのプロセスは、仮想ハードディスク103上のファイル属性情報データベース113を更新する。そのように、仮想ハードディスク103が仮想化環境107内からアクセスされるとき、仮想化環境107内の適切なプロセスは、ファイル属性情報101の最新の状態にアクセスする。したがって、例えば、ホスト121レベルのアンチ・マルウェア・スキャン・エンジン119が「外部」から最新のマルウェア定義115によって仮想ハードディスク103をスキャンする場合、仮想マシン111は、その後、同じマルウェア定義115によって「内部」から、仮想ハードディスク103上の変更されていないファイル117を不必要に再スキャンすることを回避することができる。標準のホスト121レベルのオペレーティング・システムのボリュームとしてマウントされるそれらの仮想ハードディスク103と、そうでないものの両方上で、上記の機能が実行することができることを理解すべきである。
【００１８】
加えて、仮想ハードディスク103にアクセスしているホスト121レベルのプロセスは、仮想ハードディスク103上の所定のデータセット（例えば、マルウェア定義115）のバージョンが最新かどうか検出することができる。例えば、ホスト121レベルのアンチ・マルウェア・スキャン・エンジン119は、仮想ハードディスク103上のファイル属性情報データベース113にアクセスすることによって、仮想化環境107内から仮想ハードディスク103をスキャンするためにマルウェア定義115のどのバージョンが最も最近用いられたかを決定することができる。ホスト121レベルのアンチ・マルウェア・スキャン・エンジン119が仮想ハードディスク103上のマルウェア定義115のバージョンが最新でないと決定する場合、最新のマルウェア定義115を仮想ハードディスク103へコピーすることができる（または、そうするために、仮想マシン111に指示するように、仮想ハードディスク103上のフラグまたはその他同種のものをセットする）。この機能は、さらに標準のホスト121レベルのオペレーティング・システム・ボリュームとしてマウントされたそれらの仮想ハードディスク103と、そうでないものの両方上で実行することができる。
【００１９】
さらに、他方向の（すなわち、仮想化環境107とホスト121間の）ファイル属性情報101を同期させることは望ましい。このために、仮想ハードディスク103上のファイル属性情報データベース113が仮想化環境107で生じるアクションに基づいて更新されるとき、信頼されたチャンネル109を介して、対応する更新されたファイル属性情報101は、ホスト121へ仮想化環境107内から伝えることができる。ホスト121は要望通りこの情報を格納することができるが（例えば、仮想ハードディスク103に対応するファイル属性情報データベース113に）、ホスト121レベルで格納される。このように、仮想ハードディスク103がホスト121からアクセスされるとき、アクセスのプロセスは最新のファイル属性情報101を有する。仮想化環境107から信頼されたチャンネル109によりホスト121へデータを伝える実施機構が、関連した技術の当業者にとって公知であることを理解すべきであり、そして、現在の本発明のコンテクスト内でそれらの使用は、本願明細書を考慮してこの種の技術レベルの者にとって、容易に明らかであろう。
【００２０】
図2は、本発明の実施例の一例であるアプリケーションのステップを例示する。ホスト121（図1）レベルのアンチ・マルウェア・スキャン・エンジン119（図1）は、ホスト121（図1）レベルのコンテナとして用いられている仮想ハードディスク103（図1）をスキャン201する。アンチ・マルウェア・エンジン119（図1）が、悪質なコードに対して仮想ハードディスク103（図1）上のファイル117（図1）をスキャン201するときに、アンチ・マルウェア・エンジン119（図1）は、スキャンされたファイル117（図1）に関係している適切なファイル属性情報101（図1）を更新203する。ファイル属性情報101（図1）への更新が仮想化環境107（図1）によって検知可能なように、アンチ・マルウェア・スキャン・エンジン119（図1）は、更新されたファイル属性情報101（図1）を反映するために、仮想ハードディスク103（図1）上のファイル属性情報データベース113（図1）を更新205する。その後、仮想マシン111（図1）上で動作しているアンチ・マルウェア・エンジン119（図1）は、仮想ハードディスク103（図1）のスキャン207を実行する。その際、仮想マシン111（図1）レベルのアンチ・マルウェア・エンジン119（図1）は、適切なファイル属性情報101（図1）の最新の状態を決定211するために、ファイル属性情報データベース113（図1）を読み込む209。このように、仮想マシン111（図1）レベルのアンチ・マルウェア・エンジン119（図1）は、同じマルウェア定義115によって仮想ハードディスク103（図1）上の変更されていないファイル117（図1）を不必要に再スキャンすることを除外213する。
【００２１】
図3は、本発明の実施例の一例であるアプリケーションのステップを例示する。仮想マシン111（図1）レベルのアンチ・マルウェア・スキャン・エンジン119（図1）は、仮想化環境107（図1）内から仮想ハードディスク103（図1）をスキャン301する。仮想マシン111（図1）上で動作しているアンチ・マルウェア・スキャン・エンジン119（図1）が仮想ハードディスク103（図1）上のファイル117（図1）をスキャン301するときに、アンチ・マルウェア・スキャン・エンジン119（図1）は、仮想ハードディスク103（図1）上の適切なファイル属性情報101（図1）、および、ファイル属性情報データベース113（図1）を更新303する。アンチ・マルウェア・スキャン・エンジン119（図1）は、信頼されたチャンネル109（図1）を介して、仮想化環境107（図1）内からホスト121（図1）へ更新されたファイル属性情報101（図1）を伝える305。ホスト121（図1）は、受信したファイル属性情報101（図1）を格納307する。その結果、仮想ハードディスク103（図1）がホスト121（図1）からアクセスされるとき、アクセスのプロセスは最新のファイル属性情報101（図1）を有する。
【００２２】
こ分野の当業者によって理解されるように、本発明は、その精神又は主要な特徴から逸脱することなく、他の特別な形で実施することができる。同様に、ポーション、モジュール、エージェント、マネージャ、コンポーネント、機能、手続、アクション、レイヤ、特性、属性、手順、データ構造および他の態様の特定の名付けおよび区分けは、義務的又は本質的でなく、かつ、本発明又はその特性を実装する手法は、異なる名前、区分けおよび／または形式とすることができる。さらに、関連技術分野の当業者にとって明らかであろうように、本発明における、ポーション、モジュール、エージェント、マネージャ、コンポーネント、機能、手続、アクション、レイヤ、特性、属性、手順、データ構造、および、他の態様は、ソフトウェア、ハードウェア、ファームウェア又はこれらのいかなる組合せによって実装することができる。本発明のコンポーネントは、ソフトウェアによって実装することができ、このコンポーネントは、スクリプトによっても、スタンドアローン型のプログラムによっても、より大型のプログラムの一部によっても、複数の別々のスクリプトおよび／又はプログラムによっても、静的に又は動的に連結されたライブラリによっても、カーネル・ローダブル・モジュールによっても、デバイス・ドライバおよび／またはコンピュータプログラミングの当業者にとって現在又は将来知られる、ありとあらゆる他の既知又は新たな方法によっても実装することができる。加えて、本発明は、いかなる特別なプログラミング言語、又は、いかなる特別なオペレーティング・システム或いは環境による実装に、決して制限されるものではない。さらに、本発明は、ソフトウェアの全体又は一部で実装でき、そのソフトウェア・コンポーネントは、コンピュータ・プログラム製品としてコンピュータ読取可能記憶媒体に格納することができることは関連技術分野の当業者に、すぐに理解されるであろう。磁気又は光学格納媒体のような、如何なる形式の現実のコンピュータ読取可能記憶媒体も、このコンテクストにおいて用いられる。本明細書で用いられる「コンピュータ読取可能記憶媒体」という用語は、基本的な物理媒体と別個の電気信号を意味するものではない。加えて、本発明のソフトウェア・ポーションは、いかなるプログラマブル・コンピューティング・デバイスのメモリ内で、インスタンス（例えば、オブジェクトコードまたは実行イメージ）を作成することができる。本明細書で用いられる用語「コンピュータ」および「コンピューティング装置」は、記述されている機能を実行するように構成され、および／または、プログラムされる一つ以上のコンピュータを意味する。したがって、本発明の開示は、特許請求の範囲に説明される、本発明の範囲に限定されるものではなく、例示的であることを意図している。
【符号の説明】
【００２３】
101  ファイル属性情報
103  仮想ハードディスク
105  ファイル・システム
107  仮想化環境
109  信頼されたチャンネル
111  仮想マシン
113  データベース
115  定義
117  ファイル
119  アンチ・マルウェア・スキャン・エンジン
121  ホスト
【図１】
2010176660.tif 000003
【図２】
2010176660.tif 000004
【図３】
2010176660.tif 000005
【外国語明細書】
2010176660000001.pdf