(57)【要約】本発明は、リソースを効率的に利用する方法で、ゲスト・パーティション上の仮想マシンをマルウェアから保護することに関する。アンチ・マルウェアのソフトウェアが、それぞれのマルウェア保護されたゲスト・パーティション上で作動する軽量のエージェント、共有スキャン署名更新機構、および管理コンポーネントに分割される。各エージェントは、例えばスクリプトを作動させることにより、当該スキャン機構にマルウェアをスキャンするためのファイルを提供し、実施すべき可能な是正措置を含む結果を当該スキャン機構から受け取る。管理コンポーネントは、スキャン機構により要求される、ゲスト・パーティションの一時停止、再開、スナップショット取得、およびロールバックのような、仮想マシンのサービスへのアクセスを当該スキャン機構に提供する。
2013545208.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング環境において、
仮想マシン環境における複数の仮想マシンに対応する複数のゲスト・パーティションであって、各々がゲスト・アンチ・マルウェア・エージェントを含む複数のゲスト・パーティションと、
１つまたは複数のアンチ・マルウェア関連のコンポーネントを含むアンチ・マルウェア・スキャン機構であって、前記ゲスト・パーティション上で前記ゲスト・アンチ・マルウェア・エージェントと通信するように構成され、さらに、共有アンチ・マルウェア・スキャン・リソースと共有アンチ・マルウェア・スキャン機能を、前記ゲスト・アンチ・マルウェア・エージェントを介して前記ゲスト・パーティションに提供するように構成された、アンチ・マルウェア・スキャン機構と
を備えるシステム。
【請求項２】
ルート・パーティションに存在し、前記仮想マシンを一時停止し、再開し、復旧し、再構築して感染のスキャンと是正を可能とするように構成され、前記ゲスト・エージェントを保護するように構成された管理コンポーネント、または、仮想マシン管理サービスを前記アンチ・マルウェア・スキャン機構に提供するように構成された、前記アンチ・マルウェア・スキャン機構に接続された管理コンポーネント、または、その両方をさらに含む、請求項１に記載のシステム。
【請求項３】
前記アンチ・マルウェア・スキャン機構によるスキャンのために、前記アンチ・マルウェア・スキャン機構が前記管理コンポーネントと通信して、前記管理サービスを使用してゲスト・パーティションを一時停止し、ゲスト・パーティションを再開し、ゲスト・パーティションのスナップショットを取得し、ゲスト・パーティションを過去の既知の良好なスナップショットにロールバックし、前記仮想マシンのイメージを再構築し、またはゲスト・パーティションをオフライン状態にする、請求項２に記載のシステム。
【請求項４】
前記アンチ・マルウェア・スキャン機構がさらに、署名の更新情報をリモートのデータ位置から取得し、テレメトリ・データをリモートのデータ位置にアップロードし、または疑わしいコンテンツに関する決定を取得することに関してクラウド・サービスと通信するように構成され、または、署名の更新情報をリモートのデータ位置から取得し、テレメトリ・データをリモートのデータ位置にアップロードし、または疑わしいコンテンツに関する決定を取得することに関してクラウド・サービスと通信するようにさらに構成されていることの任意の組合せである、請求項１に記載のシステム。
【請求項５】
コンピューティング環境において、少なくとも１つのプロセッサ上で少なくとも部分的に実施される方法であって、
複数のゲスト・パーティションを仮想マシン環境で作動させるステップと、
ゲスト・パーティションをスキャンまたは復元するために、共有オーケストレーション機構を実行するステップと
を含む方法。
【請求項６】
前記共有オーケストレーション機構を実行するステップが、
ゲスト・パーティションをオフライン状態にし、前記オフライン状態中に前記オフラインのゲスト・パーティションをスキャンし、前記オフライン状態に対して任意の必要な是正措置を取るステップ、または、
前記共有オーケストレーション機構とスキャン・コンポーネントとの間で通信してゲスト・パーティションを過去の状態に復元するステップ、または、
ゲスト・パーティションをオフライン状態にし、前記オフライン状態中に前記オフラインのゲスト・パーティションをスキャンし、前記オフライン状態に対して任意の必要な是正措置を取り、前記共有オーケストレーション機構とスキャン・コンポーネントとの間で通信してゲスト・パーティションを過去の状態に復元するステッ、
を含む、請求項５に記載の方法。
【請求項７】
ゲスト・アンチ・マルウェア・エージェントをゲスト・パーティション上で作動させるステップと、前記ゲスト・エージェントにより提供されたデータをスキャン機構で受け取るステップと、前記データを前記スキャン機構でスキャンするステップと、スキャン結果に対応する情報を前記ゲスト・エージェントに返すステップとをさらに含み、前記データを受け取るステップと前記データをスキャンするステップとが、リアルタイムな監視動作またはオフラインの動作を実施するステップを含む、請求項５に記載の方法。
【請求項８】
スキャンすべき少なくとも１つのオブジェクトを要求する命令を含めて、または、前記ゲスト・アンチ・マルウェア・エージェントが実施するための是正措置を指定する少なくとも１つの命令を含めて、または、スキャンすべき少なくとも１つのオブジェクトを要求する命令および前記ゲスト・アンチ・マルウェア・エージェントが実施するための是正措置を指定する少なくとも１つの命令の両方を含めて、前記ゲスト・アンチ・マルウェア・エージェントが実行するための命令を前記スキャン機構から前記ゲスト・アンチ・マルウェア・エージェントに提供するステップをさらに含む、請求項５に記載の方法。
【請求項９】
コンピュータ実行可能命令を有する１つまたは複数のコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は実行時に、
１つまたは複数のオブジェクトを含む第１のオブジェクト・セットを、共有アンチ・マルウェア・スキャン機構で、仮想マシン環境の第１のゲスト・パーティションで作動する第１のゲスト・エージェントから受け取るステップと、
前記第１のオブジェクト・セットのアンチ・マルウェア・スキャンを前記共有スキャン機構で実施し、前記スキャンの結果に対応する情報を前記第１のゲスト・エージェントに返すステップと、
１つまたは複数のオブジェクトを含む第２のオブジェクト・セットを、前記共有アンチ・マルウェア・スキャン機構で、仮想マシン環境の第２のゲスト・パーティションで作動する第２のゲスト・エージェントから受け取るステップと、
前記第２のオブジェクト・セットのアンチ・マルウェア・スキャンを前記共有スキャン機構で実施し、前記スキャンの結果に対応する情報を前記第２のゲスト・エージェントに返すステップと、
を実行する、１つまたは複数のコンピュータ読取可能媒体。
【請求項１０】
少なくとも１つのオブジェクトに対する是正を前記共有スキャン機構で実施するか、前記第１のエージェントに少なくとも１つのオブジェクトに対する是正を実施するよう命令する結果を前記共有スキャン機構で構築するか、もしくは、少なくとも１つのオブジェクトに対する是正を前記共有スキャン機構で実施することと、前記第１のエージェントに少なくとも１つのオブジェクトに対する是正を実施するよう命令する結果を前記共有スキャン機構で構築することの両方を行う、ステップを含むコンピュータ実行可能命令をさらに有する、請求項９に記載の１つまたは複数のコンピュータ読取可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
仮想マシン（ＶＭ）は、ホストのコンピュータ・システムのゲスト・パーティションで実行され、一般にあたかも独立の物理マシンであるかのように動作するソフトウェアを含む。コンピュータ・システムは複数の仮想マシンをホストすることもある。当該複数の仮想マシンは、各々、ハイパバイザとも呼ばれる仮想マシン・モニタ（ＶＭＭ）上で作動し、仮想マシン間でコンピュータ・システムのリソースの共有が制御される。一般に、仮想マシンは、物理マシンのハードウェア・リソースを従来式のプログラムが行い得るよりも十分利用するように作動し、かつ／または、様々なオペレーティング・システムを同一の物理マシン上で同時に作動させるように作動する。
【０００２】
仮想マシンはますます普及しており、任意のコンピュータ・システムと同様に、仮想マシンは悪意あるソフトウェア、即ちマルウェアに対して脆弱である。従って、仮想マシンを保護するためのアンチ・マルウェア製品のニーズが存在する。これは、伝統的なアンチ・マルウェアのソフトウェアを各ゲスト・パーティションで作動させることにより実現することができる。
【０００３】
しかし、このように運用することには欠点がある。その欠点には、アンチ・マルウェアのコンポーネントが各ゲスト・パーティションに複製され、それにより各パーティションが当該アンチ・マルウェアのコンポーネントのためにネットワーク、メモリ、およびＣＰＵリソースを消費することが含まれる。さらに、ゲストのアンチ・マルウェア製品は、スナップショット機能やロールバック機能といった、仮想マシンのサービスを利用することができない。
【発明の概要】
【０００４】
本要約は、選択した代表的な概念を簡潔な形で説明するために提供するものである。当該概念は、下記の発明を実施するための形態においてさらに説明する。本要約は、特許請求の範囲に記載された主題の主要な特徴または本質的な特徴を特定しようとするものではなく、特許請求の範囲に記載された主題の範囲を限定するように使用しようとすることを意図するものでもない。
【０００５】
簡潔に述べると、本明細書で説明する発明の主題の様々な態様は、アンチ・マルウェアのスキャン機構（例えば、スキャン・コンポーネント）が仮想マシン環境における仮想マシンに対応する複数のゲスト・パーティションにより共有される技術に関する。この目的のため、ゲスト・パーティションはゲストのアンチ・マルウェア・エージェントを含むことができる。ゲストのアンチ・マルウェア・エージェントは、上記スキャン機構と通信してその共有アンチ・マルウェア・スキャン・リソースと共有アンチ・マルウェア・スキャン機能を利用する。例えば、アンチ・マルウェア・スキャン機構のリソースが、各パーティションが自分自身の署名を保持する必要がないように、アンチ・マルウェア署名を含んでもよい。共有アンチ・マルウェア・スキャン機能は、ゲストのアンチ・マルウェア・エージェントから受け取ったオブジェクト（例えば、ファイル）のようなデータのスキャン（例えば、当該スキャンを行うコード）を含むことができる。ゲスト・オペレーティング・システムの能力を利用するために、ゲストのアンチ・マルウェア・エージェントは、追加のスキャン情報またはテレメトリ情報を収集し、または、検出されたマルウェアに対して是正措置を取るための、アンチ・マルウェア・スキャン・コンポーネントが提供した命令を実行してもよい。
【０００６】
一態様では、管理コンポーネントをアンチ・マルウェア・スキャン機構に接続して、仮想マシン管理サービスをアンチ・マルウェア・スキャン機構に提供する。例えば、アンチ・マルウェア・スキャン機構が管理コンポーネントと通信して、ゲスト・パーティションを一時停止し、ゲスト・パーティションを再開し、ゲスト・パーティションのスナップショットを取得し、または、ゲスト・パーティションを過去のスナップショットにロールバックしてもよい。管理コンポーネントがまた、任意のゲスト・パーティションをスキャンするための共有オーケストレーション（shared orchestration）を提供してもよい。
【０００７】
一実装形態では、アンチ・マルウェア・スキャン機構は、アンチ・マルウェア・スキャン機構を共有する他のゲスト・パーティションから独立したゲスト・パーティションに存在する。代替的な実装形態では、アンチ・マルウェア・スキャン機構は仮想マシン環境のルート・パーティションに存在する。
【０００８】
他の利点は、添付図面と関連して検討すると、下記の詳細な説明から明らかになろう。
【０００９】
本発明は例として示され、添付図面に限定されない。添付図面では、同様の参照番号は同様の要素を示す。
【図面の簡単な説明】
【００１０】
【図１】アンチ・マルウェア・スキャン機構がゲスト・パーティションで作動して、ゲスト・エージェントを介してゲスト・パーティションにより共有される、例示的な仮想マシン環境を表すブロック図である。
【図２】アンチ・マルウェア・スキャン機構がルート・パーティションで作動して、ゲスト・エージェントを介してゲスト・パーティションにより共有される、例示的な仮想マシン環境を表すブロック図である。
【図３】共有アンチ・マルウェア・スキャン機構を仮想マシン環境で実装するための例示的なステップを表す流れ図である。
【図４】ゲスト・パーティションをオフライン状態でスキャンするための例示的なステップを表す流れ図である。
【図５】本明細書に記載の様々な実施形態を実装できる例示的で非限定的なネットワーク環境を表すブロック図である。
【図６】本明細書に記載の様々な実施形態の１つまたは複数の態様を実装できる、例示的で非限定的なコンピューティング・システムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１１】
本明細書に記載の技術の様々な態様は、一般に、仮想マシンをマルウェアから保護する効率的な方法に関し、各仮想マシンはゲスト・パーティションで作動する。一実装形態では、アンチ・マルウェア・ソフトウエアは別々のコンポーネントに分割される。当該コンポーネントには、軽量エージェント、共有スキャン署名更新コンポーネント、および管理コンポーネントが含まれる。エージェントは、サポートされるゲスト・パーティションで作動し、リアルタイムでオンラインのオペレーティング・システム対話サービスを提供する。スキャン署名更新コンポーネントは、独立したゲスト・パーティションまたはルート・パーティションに存在してもよく、他のゲスト・エージェントの各々が使用するように構成される。管理コンポーネントは、仮想マシンのサービスに対する集約されたレポーティングとアクセスを提供し、例えば、ルート・パーティションに存在してもよい。
【００１２】
理解されるように、本明細書に記載の技術は、共有スキャン・コンポーネントを介して仮想マシン環境における複数のゲスト仮想マシンに対して集約されたアンチ・マルウェアの能力を提供する。これにより、スキャン要求を共有スキャン・コンポーネントに向けることでリアルタイムなアンチ・マルウェア保護が促進される。当該保護には、例えば共有スキャン・コンポーネントが提供する単純なスクリプトを使用した、ゲスト・パーティションでのオンデマンドのスキャンと是正が含まれ得る。
【００１３】
さらに、管理コンポーネントは、ルート・パーティションで作動することにより、スキャン・コンポーネントに対して一時停止／再開／スナップショット取得／ロールバックおよび検査のサービスを提供する。これにより、ゲスト・パーティションが管理コンポーネントを介して一時停止されている間、または、ゲスト・パーティションが作動していない（オフラインである）間に、ゲスト・エージェントと直接連携せずに（例えば、ゲスト・エージェントが危険に晒されているかまたは利用不能である場合）スキャン・コンポーネントによるゲスト・パーティションでのオンデマンドのスキャンと是正が促進される。当該オンデマンドのスキャンと是正を用いて、ゲスト・エージェントの視点からステルス能力または保護能力を有するマルウェアを検出することができる。
【００１４】
本明細書の例の何れも非限定的であることは理解されたい。例えば、ファイルのようなオブジェクトのスキャンを説明しているが、ネットワーク侵入保護、データ漏洩、ゲスト検証、等のような他の内容のセキュリティ評価も、本明細書に記載の技術から利益を受けることができる。従って、本発明は、本明細書で説明するどの特定の実施形態、態様、概念、構造、機能、または例にも限定されない。寧ろ、本明細書で説明する実施形態、態様、概念、構造、機能、または例の何れも非限定的であり、一般に仮想コンピューティングおよび／またはマルウェアに対する保護において利益と利点を提供する様々な方法で、本発明を使用することができる。
【００１５】
図１は、仮想マシン分散アンチ・マルウェアで構成されたコンピュータ・システム１０２の例示的なコンポーネントを示す。この例示的な実装形態におけるコンポーネントは、専用スキャン・ゲスト・パーティション１０６内に存在する（１つまたは複数のアンチ・マルウェア・コンポーネントを備える）スキャン機構１０４と、ルート・パーティション１１２上のゲスト管理サービス１１０の一部としての（ローカルまたはリモートの管理コンソール１０９を介してインタフェースできる）アンチ・マルウェア管理コンポーネント１０８とを備える。図１は可能な配置構成の非限定的な例を示すにすぎず、他も可能であり、これには図２に表す例示的な配置構成が含まれる。
【００１６】
一般に、ルート・パーティション１１２はオペレーティング・システム作動環境を備え、当咳環境から、他の仮想マシンのゲスト・パーティション１０６および１１４１〜１１４ｍの状態を制御することができる。各ゲスト・パーティション１０６および１１４１〜１１４ｍは、任意の仮想マシン、または、ルート・パーティション１１２ではないマシン・パーティションに対応する。
【００１７】
リアルタイムなアンチ・マルウェアのサポートが提供される各ゲスト・パーティション１１４１〜１１４ｍは、それぞれ、ゲスト・エージェント１１６１〜１１６ｍを備える。ゲスト・エージェント１１６１〜１１６ｍは、そのゲスト・パーティションに対して、場合によっては他のサービスとともに、リアルタイムな保護サービスを提供するソフトウェアを備える。各ゲスト・エージェント１１６１〜１１６ｍは、そのそれぞれのゲスト・パーティション１１４１〜１１４ｍで作動しているオペレーティング・システムに固有である。図１には示していないが、アンチ・マルウェア・スキャン機構１０４を含むゲスト・パーティション１０６がかかるゲスト・エージェントを備えてもよいことに留意されたい。
【００１８】
ゲスト・エージェントを、ゲスト・パーティションを危険に晒すことに成功した悪意あるコードで改竄されることから保護するために、（例えば、ルート・パーティションまたは専用のセキュリティ仮想マシンの内部で作動している）「特権」保護コンポーネントが、ゲスト・エージェントの完全性およびゲスト仮想マシンの他の関連するコンポーネントの完全性を監視してもよい。
【００１９】
各ゲスト・エージェント（例えば、１１６１）は、オブジェクトへのアクセスを検出しブロックする能力を有するリアルタイムなシステム監視を提供する。この目的のため、ゲスト・エージェント１１６１は、スキャン・ゲスト・パーティション１０６と双方向に（例えば、高速に）通信する。任意の通信機構、例えば、ルート・パーティションを介したもの、シミュレートされたネットワーク・インタフェースを介したもの、等が可能であるが、１実装形態では、通信は、パーティション間に存在する高速バスまたは共有メモリ・ブロックを介して行われることに留意されたい。任意のゲスト・エージェント（例えば、１１６１）を、ゲスト・パーティションがしばしば対話的に用いられる場合のように、ユーザ・インタフェースで構成してもよい。かかるユーザ・インタフェースは、ゲストの対話ユーザに当該ゲストの最新のセキュリティ状況に対する可視性を提供してもよく、または、対話ユーザが、アンチ・マルウェア・コンポーネントが特定のオンデマンドのスキャンを開始することを要求できるようにしてもよい。
【００２０】
エージェント１１６１のような各ゲスト・エージェントを（場合によっては）、例えば本明細書で一般的に説明する適切な双方向通信機構を介してスキャン・ゲスト・パーティション１０６により提供される、単純なスクリプトを作動させる機能で構成してもよい。エージェントをスクリプトを作動させる機能で構成することで、何をスキャンすべきか、マルウェアが検出されたときに何をすべきか、等に関する決定に関して独自のロジックでエージェントをコーディングする必要性が回避される。例えば、ゲスト・パーティションのファイルをスキャンするために、スクリプトが、エージェントがそのファイルまたはその何らかのサブセットをアンチ・マルウェア・スキャン機構１０４に送ることを要求してもよい。アンチ・マルウェア・スキャン機構１０４は、当該ファイルまたはその何らかのサブセットをスキャンし、ファイルの掃除のような何らかの必要な是正を行い、スキャン／是正の結果をエージェントに返してもよい。当該結果には、取るべき措置、例えば、削除または隔離すべきファイルを伴うスクリプトが含まれる。かかるスクリプトが、リソースにタッチする（例えば、リアルタイム転送プロトコルの能力をトリガする）機能を含んでもよく、リソースを修正または終了／削除する機能を含んでもよい。
【００２１】
アンチ・マルウェア・スキャン機構１０４は、スキャン、是正、署名更新の動作を実施し、一般に、ゲスト・エージェントおよび／または管理コンポーネントの連携によりセキュリティ・ポリシーのアンチ・マルウェアの態様を実施する。一般に、アンチ・マルウェア・スキャン機構１０４はアンチ・マルウェアのスキャンを、ゲスト・エージェント１１６１〜１１６ｍに対するサービスとして提供する。さらに、アンチ・マルウェア・スキャン機構１０４はまた、例えば、ゲスト・エージェントのサービスを連携して用いて、あるいは、ゲスト・パーティションが知ることなくまたは同意せずに、（例えば、ゲスト・パーティションが一時停止／オフラインである間に）、管理コンポーネント１０８のサポートを通じて、ゲスト・パーティションに対するスキャンまたは是正措置を開始してもよい。
【００２２】
リアルタイムな監視に関して、アンチ・マルウェア・スキャン機構１０４はゲスト・エージェント１１６１〜１１６ｍと双方向に通信する。これには、１実装形態では、当該ゲスト・パーティションから送信されたコンテンツ内の任意のマルウェアを特定することが含まれる。一般に、リアルタイムな監視に関して、各エージェントは、（ファイル、レジストリ・データ、プロセス、等のような１つまたは複数のオブジェクトを含む）オブジェクト・セットのようなデータをアンチ・マルウェア・スキャン機構１０４に送り、次いでアンチ・マルウェア・スキャン機構１０４は、当該データをアンチ・マルウェア署名に対して評価し、結果を返し、場合によっては、是正措置（例えば、オブジェクトの掃除）を取り、かつ／または、エージェントが例えばスクリプトを介して是正措置（例えば、ファイルの除去またはファイルの隔離）を取るためのスクリプト化された命令を含む。
【００２３】
ゲスト・エージェント１１６１〜１１６ｍの一部または全部に、単純にオブジェクトを転送してスクリプト化された結果を受け取って当該結果に基づいて行動させるのではなく、何らかのスキャン能力／インテリジェンス自体を提供することが可能であることに留意されたい。例えば、特定のウィルスが現在蔓延している場合には、アンチ・マルウェア・スキャン機構１０４はゲスト・エージェントに、所与のファイルまたはファイル・タイプに関して探索するための署名のサブセットをゲスト・エージェントに提供してもよく、それにより、ゲスト・エージェントは、かかるファイルに遭遇した場合に自分でスキャンまたは是正を扱うことができる。これを、スクリプトを介して、および／または、場合によってはある程度、基本的なスキャン機能をエージェントにコーディングすることで行ってもよい。
【００２４】
共有スキャン機構１０４の別の利点は、署名ならびに他のスキャン・コンポーネントを、スキャンによる長時間の停止時間を経験することなく、更新できることである。さらに、後で分析するために、データ、レポート、およびサンプル・オブジェクトの提出、等のような情報を、リモートの場所にアップロードしてもよい。共有スキャン機構１０４のこの態様は、図１で署名／テレメトリ／クラウドのサービス１１８により表してある。他のゲスト・パーティション１１４１〜１１４ｍはインターネットにアクセスする必要はなく、例えば、依然として共有ゲスト・パーティション１０６の更新およびテレメトリへのアクセスの利益を受けることができることに留意されたい。
【００２５】
さらに、アンチ・マルウェア・スキャン機構１０４のリモート・アクセス能力が、未だ署名によって照合されていない疑わしいコンテンツに関する決定（感染、または、問題なし）のための共有「クラウド・スキャン」サービスと通信することを含んでもよい。ゲストが直接的なインターネット・アクセスを必要とせずにクラウド・サービスの利益を得るように、アンチ・マルウェア・スキャン機構１０４がかかる問合せを複数のゲストの代わりに行ってもよい。また、アンチ・マルウェア・スキャン機構１０４が結果をキャッシュして、複数のゲストが同じ疑わしいコンテンツを参照している場合であってもアンチ・マルウェア・スキャン機構１０４がクラウド・サービスへ要求を１つ生成すればよいようにしてもよい。
【００２６】
アンチ・マルウェア・スキャン機構１０４はまた、アンチ・マルウェア管理コンポーネント１０８との通信接続を有する。上述のように、これにより、アンチ・マルウェア・スキャン機構１０４に、アンチ・マルウェアのスキャンを仮想マシンの管理能力と統合する機能が提供される。例えば、アンチ・マルウェア・スキャン機構１０４が、管理コンポーネント１０８がゲスト・パーティションを一時停止し、それによりスキャン機構１０４にゲスト・パーティション（またはそのスナップショット）をオフラインでスキャンする機能、および／または、オフラインでパーティション（またはそのスナップショット）を操作してマルウェアを除去する機能を提供するよう要求してもよい。深刻な問題が検出された場合、即ち、ゲストがクラッシュした場合のように受身的に、掃除できなかったオペレーティング・システムのファイルが感染したがオペレーティング・システムを作動させるのに当該ファイルが必要であるためオンラインで置き換えられない場合に、オフラインのスキャンを実施してもよい。オフラインのスキャンを積極的に、例えば、ゲスト・パーティションを起動する前に、実施してもよい。パーティションが起動時に感染していないことが分かっているが、後で実行中に感染した場合には、迅速な診断を行ってもよい。この統合能力によりまた、ゲスト・エージェントによってはサポートされない、ゲスト上のスキャンと是正を行うための機能が提供される。
【００２７】
したがって、管理コンポーネント１０８は、仮想マシン管理サービス１１０へアクセスするコンポーネントを備える。図１の例示的な実装形態では、管理コンポーネント１０８は仮想マシン管理サービス１１０の一部であり、スキャン機構１０４と通信するが、個々のゲストのエージェント１１６１〜１１６ｍとは通信しない。その動作の中でも、管理コンポーネント１０８はスキャン・コンポーネントのハートビートを監視し、スキャン・コンポーネントおよび／またはスキャン・パーティションが応答しなくなった場合に管理コンポーネント１０８がスキャン・コンポーネントまたはスキャン・パーティションを再起動し、かつ／または、警告を通知できるようにしてもよい。マルウェアにはアンチ・マルウェア保護を積極的に無効化しようとするものもあるが、共有スキャン・サービスにゲストを監視させることで、エージェントが当該ゲスト内でタンパー・レジスタントに作動することを支援していることに留意されたい。
【００２８】
さらに、管理コンポーネント１０８は、セキュリティ管理コンソール１０９を行き来する通信に対する中央収集点および中間体として動作することができる。管理コンポーネント１０８は、スキャン・パーティション１０６に、ゲスト・パーティションを操作するオンラインの機能を提供してもよい。当該機能には、感染したゲストを停止する機能、または、ゲスト・パーティションをスナップショットに復帰させる機能が含まれる。管理コンポーネント１０８は、スキャン機構１０４に、ゲスト・パーティションをオフラインで操作する機能を提供してもよい。
【００２９】
管理コンポーネント１０８は、スキャン機構１０４と調整する機能、任意の中央セキュリティ管理サービスによりレポート（および潜在的には再構成）する機能をもって仮想マシン管理サービス１１０へアクセスできるが、管理コンポーネント１０８は、仮想マシン管理、アンチ・マルウェア管理、およびスキャン機構１０４とは相違するコンポーネントであることに留意されたい。これらのコンポーネントが例えばネットワーク接続を介して通信できる限り、管理コンポーネント１０８は、これらのコンポーネントと同じコンピュータ・システム上にある必要さえない。しかし、管理コンポーネント１０８を（図１に例示するように）ルート・パーティション１１２に展開することで、一般に、スキャン・パーティション１０６と仮想マシン管理サービス１１０との通信の待ち時間が減る。
【００３０】
図１に示すように、スキャン機構１０４が専用スキャン・ゲスト・パーティション１０６に存在してもよい（本明細書で使用する「専用」は、リソースをスキャン機能に対して予約しておくことを指し、かかるパーティションを他の目的で使用できないことも意味しないことに留意されたい）。この実装では、（そのコンポーネントがしばしばセキュリティ脆弱性によりターゲットとされる）アンチ・マルウェア・スキャン機構１０４とルート・パーティション１１２との間のセキュリティ境界が提供される。明示的には示していないが、フェールオーバ能力のような、複数のスキャン・パーティションを使用することができる。例えば、或るスキャン・パーティションが故障した場合、別のスキャン・パーティションを素早く再開して当該或るスキャン・パーティションを引き継いでもよい。負荷分散および／または作業負荷分散は、例えば単一のスキャン・パーティションがスキャン要求を満たすことができない場合など、複数のスキャン・パーティションを使用できる別の場合である。
【００３１】
代替的な実装形態では、（同様なコンポーネントに、図１の１××の代わりに２××を付してある）図２で一般的に表すように、１つの（または複数の）スキャン・コンポーネント２０４をルート・パーティション２１２に展開してもよい。これには、大幅な最適化の可能性があり、ゲスト・パーティション／オペレーティング・システム全体のオーバヘッドが削減され、管理コンポーネント、および、格納されたゲスト・パーティションの状態に直接アクセスすることができる。しかし、これには、ルート・パーティション２１２に展開したオペレーティング・システムがスキャン・コンポーネントを利用できるようにする必要があり、ゲスト・パーティション内に見つかったコンテンツからの潜在的なエクスプロイトからのルート・パーティション２１２の保護が弱まる。
【００３２】
概要として、図３は、上述のコンポーネントを用いてマルウェア保護を提供するために行いうる例示的なステップを示す。ステップ３０２および３０４は、それぞれ、ゲスト・パーティションおよびアンチ・マルウェア・エージェントを作動させること、共有アンチ・マルウェア・スキャン機構を作動させることを表す。１つのみのエージェントを示しているが、同様なステップを、作動している複数のエージェントの各々で実施されることが分かることに留意されたい。さらに、ステップ３０２および３０４は仮想マシン管理により図１と同様の実装で実施されるが、ステップ３０４を、他のルート・パーティションのソフトウェアにより、共有アンチ・マルウェア・スキャン機構がゲスト・パーティションで作動していない図２と同様の実装で実施してもよい。
【００３３】
ステップ３０６〜３１８は、アンチ・マルウェア・スキャン機構により、および、アンチ・マルウェア・スキャン機構の視点から実施される例示的な動作を表し、この場合、エージェントがスキャンに関してアンチ・マルウェア・スキャン機構に依存する。ステップ３０６は、エージェントに対するスクリプトのような情報を提供することを表す。リアルタイムなスキャンではないスキャンにおいては、当該スクリプトが、どのファイル、フォルダ、または他のオペレーティング・システムのリソースをスキャンに提供すべきか、どのファイル・タイプを提供すべきか、等を特定してもよい。リアルタイムなスキャンでは、当該情報が、スキャンが開始されたこと、および、エージェントがそれぞれの適切なオブジェクトをリアルタイムなスキャンのためにアンチ・マルウェア・スキャン機構に提供すべきであることをエージェントに通知する命令等であってもよい。
【００３４】
ステップ３０８は、エージェントが、オブジェクト・セット（例えば、１つまたは複数のファイル、レジストリ・データまたは他のデータ・ブロブ）のようなデータをアンチ・マルウェア・スキャン機構に提供することを表す。アンチ・マルウェア・スキャン機構は、ステップ３１０で表すように、当該データを受け取ってスキャンする。当該データがマルウェアを含む場合は、ステップ３１４で表すように、ステップ３１２が当該データに関して措置を講ずる。上述のように、これをアンチ・マルウェア・スキャン機構において是正を行うこと、例えば、データを返す前に掃除すること、および／または、エージェントに何らかの是正措置（例えば、ファイルの削除、ファイルの隔離、掃除したファイルの書戻し）を取るように命令する結果を構築すること、により行ってもよい。
【００３５】
場合によっては、マルウェアを、危険に晒された仮想マシンから掃除できないことに留意されたい。仮想環境として構成されていないコンピュータ・システムでは、通常はマシンを再インストールすることによる、人間の操作者の介入が必要である。しかし、仮想環境では、管理コンポーネントが自動的に（場合によっては、管理者の承認を求めた後に）仮想マシンを過去の既知の良好なスナップショットへ、または、仮想マシンのイメージを再構築することによって、復元することができる。
【００３６】
ステップ３１６で、結果をエージェントに返す。当該結果は、エージェントが実施するための１つまたは複数の動作からなるスクリプト、および／または、次のデータ・セットの要求を含んでもよい。ステップ３１８は、スキャンが完了した場合にスキャン・プロセスを終了すること、または、スキャンすべきデータ・セットが少なくともまだ１つ存在するため、または、スキャンがリアルタイムな監視動作であり、次のデータ・セットまで待機することにより無限に継続するため、さらにスキャンが必要である場合にスキャン・プロセスを継続することを表す。
【００３７】
図４は、ゲスト・パーティションのオフライン・スキャンの１例であり、ステップ４０２で開始し、そこで管理コンポーネント１０８がゲスト・パーティションをオフライン状態に移す（ステップ４０４）要求を（例えば、アンチ・マルウェア・スキャン機構１０４から）受け取る。オフライン状態に入ると、ステップ４０６〜４１２は、アンチ・マルウェア・スキャン機構１０４により、および、アンチ・マルウェア・スキャン機構１０４の視点から実施される例示的な動作を表す。スキャン（ステップ４０６）中にステップ４０８でマルウェアに遭遇した場合は、ステップ４１０で是正を実施する。エージェントがオフラインであり、したがって、是正に参加できないことに留意されたい。当該是正には、ファイルの掃除、削除または隔離、ならびに、場合によっては、オンライン状態中は置き換えることができない壊れたオペレーティング・システムのファイルを置き換えることを含めてもよい。また、ステップ４１０が、マルウェアの是正結果を、分析のため、何が発生したかをゲスト・パーティションに知らせるため、テレメトリ・データをアップロードするため、等で保存することを表す。ステップ４１２では、スキャンが完了するまで、例えば、全ての適切なファイル・システムのファイルがスキャンされるまで、スキャンを繰り返す。
【００３８】
完了すると、例えばアンチ・マルウェア・スキャン機構１０４の要求により、ステップ４１４および４１６を管理コンポーネント１０８により実施して、ゲスト・パーティションをオンライン状態に復元する。
（例示的なネットワーク環境および分散環境）
【００３９】
当業者は、本明細書に記載の様々な実施形態と方法を任意のコンピュータまたは他のクライアント装置もしくはサーバ装置と関連して実装できることを理解することができるだろう。当該任意のコンピュータまたは他のクライアント装置もしくはサーバ装置を、コンピュータ・ネットワークの一部としてまたは分散コンピューティング環境において展開することができ、いかなるデータストア（複数可）にも接続することができる。この点、本明細書に記載の様々な実施形態を、任意数のメモリまたは記憶ユニットを有する任意のコンピュータ・システムまたは環境で実施することができ、任意数の記憶ユニットにわたって生ずる任意数のアプリケーションおよびプロセスで実施することができる。これには、リモートまたはローカルの記憶域を有する、サーバ・コンピュータおよびクライアント・コンピュータがネットワーク環境または分散コンピューテイング環境に展開された環境が含まれるがこれに限らない。
【００４０】
分散コンピューティングは、コンピューティング装置とシステムとの間での通信交換（ｃｏｍｍｕｎｉｃａｔｉｖｅ  ｅｘｃｈａｎｇｅ）によってコンピュータのリソースとサービスの共有を提供する。これらのリソースとサービスには、情報の交換、ファイルのようなオブジェクトのキャッシュ記憶とディスク記憶が含まれる。これらのリソースとサービスはまた、負荷分散、リソース拡張、処理の特化、等のために処理能力を複数の処理ユニットで共有することを含む。分散コンピューティングはネットワーク接続を利用し、クライアントがその集約能力を利用して企業全体を利することを可能とする。この点、様々な装置が、本開示の様々な実施形態で説明したリソース管理機構に参加できる、アプリケーション、オブジェクト、またはリソースを有してもよい。
【００４１】
図５は、例示的なネットワーク環境または分散コンピューティング環境の概略図を提供する。分散コンピューティング環境は、例示的なアプリケーション５３０、５３２、５３４、５３６、５３８により表したプログラム、方法、データストア、プログラム可能論理、等を含みうる、コンピューティング・オブジェクト５１０、５１２、等、およびコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等を備える。コンピューティング・オブジェクト５１０、５１２、等およびコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等が、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、オーディオ／ビデオ装置、携帯電話、ＭＰ３プレイヤ、パーソナル・コンピュータ、ラップトップ、等のような様々な装置を備えてもよいことは理解されよう。
【００４２】
各コンピューティング・オブジェクト５１０、５１２、等およびコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等は、１つまたは複数の他のコンピューティング・オブジェクト５１０、５１２、等およびコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等と、通信ネットワーク５４０により、直接的にまたは間接的に通信することができる。図５では単一の要素として示したが、通信ネットワーク５４０が、図５のシステムにサービスを提供する他のコンピューティング・オブジェクトおよびコンピューティング装置を備えてもよく、かつ／または、図示していない複数の相互接続されたネットワークを表してもよい。各コンピューティング・オブジェクト５１０、５１２、等またはコンピューティング・オブジェクトもしくは装置５２０、５２２、５２４、５２６、５２８、等はまた、本開示の様々な実施形態に従って提供されたアプリケーションとの通信または当該アプリケーションの実装に適した、ＡＰＩ、または他のオブジェクト、ソフトウェア、ファームウェアおよび／もしくはハードウェアを利用できる、アプリケーション５３０、５３２、５３４、５３６、５３８のようなアプリケーションを含むことができる。
【００４３】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピューティング・システムを、有線または無線のシステムによって、ローカル・ネットワークまたは広域分散ネットワークによって、互いに接続することができる。現在、多数のネットワークがインターネットに接続され、広域の分散コンピューティングの基盤を提供し、多種多様なネットワークを包含しているが、任意のネットワーク基盤を、様々な実施形態で説明したシステムに伴う例示的な通信に使用することができる。
【００４４】
したがって、クライアント／サーバ、ピア・ツー・ピア、またはハイブリッド・アーキテクチャのような多数のネットワーク・トポロジおよびネットワーグ基盤を利用することができる。「クライアント」とは、それが関係しない別のクラスまたはグループのサービスを利用する、クラスまたはグループのメンバである。クライアントは、別のプログラムまたはプロセスが提供するサービスを要求するプロセス、例えば、大まかには１組の命令またはタスクであることができる。クライアント・プロセスは、他のプログラムまたはサービス自体に関する動作の詳細を何ら「知る」必要なしに、要求されたサービスを利用する。
【００４５】
クライアント／サーバのアーキテクチャ、特にネットワーク・システムでは、クライアントは通常、別のコンピュータ、例えばサーバにより提供される共有ネットワーク・リソースにアクセスするコンピュータである。図５の例では、非限定的な例として、コンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等をクライアントと考えることができ、コンピューティング・オブジェクト５１０、５１２、等をサーバと考えることができる。この場合、サーバとして動作するコンピューティング・オブジェクト５１０、５１２、等は、クライアントコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等からのデータの受信、データの格納、データの処理、クライアントコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等へのデータの送信のようなデータ・サービスを提供するが、状況に応じて、任意のコンピュータをクライアント、サーバ、またはその両方と考えることができる。
【００４６】
サーバは一般に、インターネットまたは無線ネットワーク基盤のような、リモートまたはローカルのネットワークを介してアクセス可能なリモートのコンピュータ・システムである。クライアント・プロセスが第１のコンピュータ・システムでアクティブであり、サーバ・プロセスが第２のコンピュータ・システムでアクティブであり、通信媒体を介して互いに通信し、したがって分散機能を提供し複数のクライアントがサーバの情報収集能力を利用できるようにしてもよい。
【００４７】
通信ネットワーク５４０またはバスがインターネットであるネットワーク環境では、例えば、コンピューティング・オブジェクト５１０、５１２、等がウェブ・サーバであることができる。他のコンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等は、ＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）のような幾つかの公知のプロトコルの何れかを介して当該ウェブ・サーバと通信する。サーバとして動作するコンピューティング・オブジェクト５１０、５１２、等はまた、クライアント、例えば、コンピューティング・オブジェクトまたは装置５２０、５２２、５２４、５２６、５２８、等の役割を果たしてもよく、これは分散コンピューティング環境の特徴でありうる。
（例示的なコンピューティング装置）
【００４８】
述べたように、有利に、本明細書に記載の技法を任意の装置に適用することができる。したがって、あらゆる種類のハンドヘルド、ポータブル、および他のコンピューティング装置およびコンピューティング・オブジェクトが様々な実施形態と関連した使用に対して考慮されていることは理解されよう。したがって、図６で後述する下記の汎用目的のリモート・コンピュータはコンピューティング装置の１例にすぎない。
【００４９】
装置またはオブジェクトに対するサービスの開発者が使用するために実施形態を部分的にオペレーティング・システムを介して実装することができ、かつ／または、実施形態を、本明細書で説明した様々な実施形態の１つまたは複数の機能的態様を実施するように動作するアプリケーション・ソフトウェアに含めることができる。ソフトウェアを、クライアント・ワークステーション、サーバまたは他の装置のような１つまたは複数のコンピュータにより実行されているプログラム・モジュールのようなコンピュータ実行可能命令の一般的なコンテキストで説明してもよい。コンピュータ・システムはデータ通信に使用できる様々な構成とプロトコルとを有し、したがって、どの特定の構成またはプロトコルも限定とは考えられないことは当業者には理解されよう。
【００５０】
このように、図６は、本明細書に記載の実施形態の１つまたは当該実施形態の諸態様を実装できる適切なコンピューティング・システム環境６００の１例を示すが、上で明らかにしたように、コンピューティング・システム環境６００は適切なコンピューティング環境の１例にすぎず、使用範囲または機能範囲に関して何ら限定を示唆しようとするものではない。さらに、コンピューティング・システム環境６００は、例示的なコンピューティング・システム環境６００で示したコンポーネントのどの１つまたは組合せに関してどのような依存性を有すると意図しようとするものでもない。
【００５１】
図６を参照すると、１つまたは複数の実施形態を実装するための例示的なリモート装置が汎用目的のコンピューティング装置をコンピュータ６１０の形で含む。コンピュータ６１０のコンポーネントは、演算装置６２０、システム・メモリ６３０、および当該システム・メモリを含む様々なシステム・コンポーネントを演算装置６２０に接続するシステム・バス６２２を含んでもよいが、これらに限らない。
【００５２】
コンピュータ６１０は、一般に、様々なコンピュータ読取可能媒体を備え、コンピュータ６１０がアクセスできる任意の利用可能な媒体であることができる。システム・メモリ６３０は、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）および／またはＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のような揮発性および／または不揮発性のメモリの形でコンピュータ記憶媒体を含んでもよい。限定ではなく例として、システム・メモリ６３０がまた、オペレーティング・システム、アプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを含んでもよい。
【００５３】
ユーザは、入力装置６４０を介してコマンドおよび情報をコンピュータ６１０に入力することができる。モニタまたは他種の表示装置も、出力インタフェース６５０のようなインタフェースを介してシステム・バス６２２に接続される。モニタに加えて、コンピュータはまた、スピーカおよびプリンタのような他の周辺出力装置を備えることができ、これらを出力インタフェース６５０を介して接続してもよい。
【００５４】
コンピュータ６１０は、リモート・コンピュータ６７０のような１つまたは複数の他のリモート・コンピュータへの論理接続を用いてネットワーク環境または分散環境で動作してもよい。リモート・コンピュータ６７０は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、または他の共通ネットワーク・ノード、または他の任意のリモート媒体消費装置または送信装置であってもよく、コンピュータ６１０に関して上述した要素の一部または全てを含んでもよい。図６に示した論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）またはＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）のようなネットワーク６７２を含むが、他のネットワーク／バスを含んでもよい。かかるネットワーキング環境は家庭、職場、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットで一般的である。
【００５５】
上述のように、例示的な実施形態を様々なコンピューティング装置およびネットワーク・アーキテクチャと関連して説明したが、基礎となる概念を、リソース利用の効率性を改善するのが望ましい任意のネットワーク・システムおよび任意のコンピューティング装置またはシステムに適用してもよい。
【００５６】
また、同一または同様の機能を実装するための複数の方法がある。例えば、適切なＡＰＩ、ツール・キット、ドライバ・コード、オペレーティング・システム、コントロール、スタンドアロンまたはダウンロード可能なソフトウェア・オブジェクト、等であり、これらによりアプリケーションおよびサービスが本明細書で提供した技法を利用することができる。したがって、本明細書の実施形態は、ＡＰＩ（または他のソフトウェア・オブジェクト）の観点から、ならびに、本明細書で説明した１つまたは複数の実施形態を実装するソフトウェア・オブジェクトまたはハードウェア・オブジェクトの観点から検討される。このように、本明細書で説明した様々な実施形態が、全体としてハードウェアの態様、部分的にハードウェアの態様、部分的にソフトウェアの態様、ならびにソフトウェアの態様を有することができる。
【００５７】
本明細書で使用する「例示的な」という単語は、例、事例、または実例の役割を果たすことを意味する。疑義を回避するため、本明細書で開示した発明の主題はかかる例に限定されない。さらに、「例示的」として本明細書で説明した任意の態様または設計は必ずしも他の態様または設計に対して好適または有利であるとは解釈すべきでなく、当業者に公知である均等な例示的構造および技法を排除することを意味するものでもない。さらに、「含まれる」、「有する」、「含む」という用語、および他の同様の単語を使用する限り、疑義を回避するため、かかる用語は、請求項で使用された場合にどの追加または他の要素も排除しないオープンな移行語としての用語「備える」と同様に包括的であることを意図している。
【００５８】
述べたように、本明細番で説明した様々な技法をハードウェアもしくはソフトウェアと関連して、または、必要に応じて、その両方の組合せと関連して実装してもよい。本明細書で使用する際、「コンポーネント」、「モジュール」、「システム」、等の用語は同様に、コンピュータ関連の実体、即ち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すことを意図している。例えば、コンポーネントは、プロセッサで作動しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであってもよいが、これらに限らない。例として、コンピュータで作動しているアプリケーションおよびコンピュータの両方がコンポーネントであることができる。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に存在してもよく、コンポーネントを１つのコンピュータに局在化させてもよく、かつ／または、複数のコンピュータに分散させてもよい。
【００５９】
上述のシステムを、幾つかのコンポーネント間の対話に関連して説明した。かかるシステムおよびコンポーネントが、これらのコンポーネントまたは指定のサブ・コンポーネント、指定のコンポーネントまたはサブ・コンポーネントの一部、および／または追加のコンポーネントを、以上の様々な並びおよび組合せに従って含むことができることは理解されよう。サブ・コンポーネントを、親コンポーネントに含める（階層的にする）のではなく、他のコンポーネントと通信可能に接続されたコンポーネントとして実装することもできる。さらに、１つまたは複数のコンポーネントを、集約機能を提供する単一のコンポーネントに結合してもよく、または、幾つかの独立したサブ・コンポーネントに分割してもよく、管理層のような任意の１つまたは複数の中間層を提供して、かかるサブ・コンポーネントと通信可能に接続し、統合化された機能を提供してもよいことに留意されたい。本明細書で説明した任意のコンポーネントはまた、本明細書では具体的に説明していないが、一般に当業者に公知である１つまたは複数の他のコンポーネントと対話してもよい。
【００６０】
本明細書で説明した例示的なシステムを考慮すると、説明した発明の主題に従って実装できる方法を、様々な図の流れ図を参照して理解することもできる。説明の簡単さのため、当該方法を一連のブロックとして示し説明したが、一部のブロックを、本明細書で図示し説明したものとは異なる順序で実施でき、かつ／または、他のブロックと並列に実施できるため、様々な実施形態は上記ブロックの順序によっては限定されないことは理解されよう。非逐次的な流れ、または、分岐された流れを流れ図により示す場合は、同一または同様の結果を実現する他の様々な分岐、流路、およびブロックの順序を実装してもよいことは理解されよう。さらに、示したブロックの一部は、本明細書で説明する方法を実装するにおいては任意である。
（結語）
【００６１】
本発明に対しては様々な修正および代替構成が可能であるが、その特定の例示的な実施形態が図面に示され、詳細に上述されている。しかし、本発明を開示した特定の形態に限定する意図はなく、反対に、本発明の趣旨と範囲に含まれる全ての修正、代替構成、および均等物を網羅することを意図していることは理解されよう。
【００６２】
本明細書で説明した様々な実施形態に加えて、そこから逸脱しない、他の同様な実施形態を使用し、修正および追加を説明した実施形態（複数可）に対して行って、対応する実施形態（複数可）の同一のまたは均等な機能を実施できることは理解されよう。さらに、複数の処理チップまたは複数の装置が、本明細書で説明した１つまたは複数の機能の性能を共有することができ、同様に、複数の装置にわたって記憶域を実現することができる。したがって、本発明はどの実施形態にも限定されず、むしろ、添付の特許請求の範囲に従う広い趣旨および範囲で解釈すべきである。
【図１】
2013545208.tif 000003
【図２】
2013545208.tif 000004
【図３】
2013545208.tif 000005
【図４】
2013545208.tif 000006
【図５】
2013545208.tif 000007
【図６】
2013545208.tif 000008
【国際調査報告】
2013545208.tif 000009
2013545208.tif 000010