(57)【特許請求の範囲】
【請求項１】
コンピュータに実装された方法であって、
ユーザインターフェースを通じて、データを受信して、セキュリティコンテナを生成すると共にセキュリティサービスとタグベースのルールとを前記セキュリティコンテナに関連付けることであって、前記セキュリティコンテナは、前記セキュリティコンテナに割り当てられる仮想マシン（ＶＭ）に適用される動作設定の第１のセットを含む、ことと、
ホストマシン上で動作するＶＭが動作設定の前記第１のセットにおいて動作するように前記ＶＭを前記セキュリティコンテナに割り当てることと、
前記ＶＭの前記セキュリティコンテナへの前記割り当てに基づいて、前記セキュリティサービスを前記ＶＭにおいて動作させて、前記ＶＭに関連付けられたセキュリティ脅威を特定すると共に前記ＶＭにタグを割り当てることと、
前記タグを用いて、前記タグベースのルールを処理すると共に、当該処理に応じて、前記セキュリティ脅威が解決されるまで前記ＶＭへのネットワーク接続性を制限するために前記ＶＭを隔離コンテナに再度割り当てることであって、前記隔離コンテナは、前記隔離コンテナに割り当てられるＶＭに適用される動作設定の第２のセットを含み、前記ＶＭは、前記隔離コンテナへの再度割り当ての後に、前記動作設定の第２のセットにおいて前記ホストマシン上で動作する、ことと、
前記ＶＭが動作設定の前記第１のセットにおいて前記ホストマシン上で再び動作するように、前記セキュリティ脅威が解決した後に、前記ＶＭから前記タグを削除すると共に前記ＶＭを前記セキュリティコンテナに戻すことと、を含む
ことを特徴とする方法。
【請求項２】
動作設定の前記第２のセットは、前記隔離コンテナに割り当てられたＶＭの制限されたネットワーク接続性を特定するネットワークファイアウォール設定を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ルールは、脅威レベルの閾値を特定する、
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記ＶＭの特定のユーザのログインイベントに応じて、前記特定のユーザが関連付けられている、ユーザのメンバシップグループを検出することと、
前記ユーザのメンバシップグループに基づいて前記セキュリティコンテナを選択することであって、前記ＶＭは前記選択されたセキュリティコンテナに割り当てられる、ことを更に含む、
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記隔離コンテナは複数の隔離コンテナの１つの隔離コンテナであると共に前記セキュリティ脅威は第１のセキュリティ脅威であり、前記方法は、
第２のセキュリティコンテナに従って前記セキュリティサービスを第２のＶＭにおいて動作させて、前記第２のＶＭに関連付けられた第２のセキュリティ脅威を特定することであって、前記第２のセキュリティコンテナは、前記第２のセキュリティコンテナに割り当てられるＶＭに適用される動作設定の第３のセットを含み、かつ前記第２のセキュリティ脅威の検出において前記第２のＶＭを移動するための複数の隔離コンテナの第２の隔離コンテナを特定する第２のルールに関連付けられ、前記第２の隔離コンテナは、前記第２の隔離コンテナに割り当てられるＶＭに適用される動作設定の第４の設定を含む、ことと、
前記特定された第２のセキュリティ脅威に基づいて、前記第２のセキュリティコンテナから前記第２の隔離コンテナに前記第２のＶＭを再度割り当てることと、
を更に含む、
ことを特徴とする請求項１に記載の方法。
【請求項６】
システムであって、
複数の動作を実行するようにプログラムされたデータ処理装置を含み、前記複数の動作は、
ユーザインターフェースを通じて、データを受信して、セキュリティコンテナを生成すると共にセキュリティサービスとタグベースのルールとを前記セキュリティコンテナに関連付けることであって、前記セキュリティコンテナは、前記セキュリティコンテナに割り当てられる仮想マシン（ＶＭ）に適用される動作設定の第１のセットを含む、ことと、
ホストマシン上で動作するＶＭが動作設定の前記第１のセットにおいて動作するように前記ＶＭを前記セキュリティコンテナに割り当てることと、
前記ＶＭの前記セキュリティコンテナへの前記割り当てに基づいて、前記セキュリティサービスを前記ＶＭにおいて動作させて、前記ＶＭに関連付けられたセキュリティ脅威を特定すると共に前記ＶＭにタグを割り当てることと、
前記タグを用いて、前記タグベースのルールを処理すると共に、当該処理に応じて、前記セキュリティ脅威が解決されるまで前記ＶＭへのネットワーク接続性を制限するために前記ＶＭを隔離コンテナに再度割り当てることであって、前記隔離コンテナは、前記隔離コンテナに割り当てられるＶＭに適用される動作設定の第２のセットを含み、前記ＶＭは、前記隔離コンテナへの再度割り当ての後に、前記動作設定の第２のセットにおいて前記ホストマシン上で動作する、ことと、
前記ＶＭが動作設定の前記第１のセットにおいて前記ホストマシン上で再び動作するように、前記セキュリティ脅威が解決した後に、前記ＶＭから前記タグを削除すると共に前記ＶＭを前記セキュリティコンテナに戻すことと、を含む
ことを特徴とするシステム。
【請求項７】
動作設定の前記第２のセットは、前記隔離コンテナに割り当てられたＶＭの制限されたネットワーク接続性を特定するネットワークファイアウォール設定を含む、
ことを特徴とする請求項６に記載のシステム。
【請求項８】
前記ルールは、脅威レベルの閾値を特定する、
ことを特徴とする請求項６に記載のシステム。
【請求項９】
前記データ処理装置は、
前記ＶＭの特定のユーザのログインイベントに応じて、前記特定のユーザが関連付けられている、ユーザのメンバシップグループを検出することと、
前記ユーザのメンバシップグループに基づいて前記セキュリティコンテナを選択することであって、前記ＶＭは前記選択されたセキュリティコンテナに割り当てられることと、を含む複数の動作を実行するように更にプログラムされる、
ことを特徴とする請求項６に記載のシステム。
【請求項１０】
前記隔離コンテナは複数の隔離コンテナの１つの隔離コンテナであると共に前記セキュリティ脅威は第１のセキュリティ脅威であり、前記データ処理装置は、
第２のセキュリティコンテナに従って前記セキュリティサービスを第２のＶＭにおいて動作させて、前記第２のＶＭに関連付けられた第２のセキュリティ脅威を特定することであって、前記第２のセキュリティコンテナは、前記第２のセキュリティコンテナに割り当てられるＶＭに適用される動作設定の第３のセットを含み、かつ前記第２のセキュリティ脅威の検出において前記第２のＶＭを移動するための複数の隔離コンテナの第２の隔離コンテナを特定する第２のルールに関連付けられ、前記第２の隔離コンテナは、前記第２の隔離コンテナに割り当てられるＶＭに適用される動作設定の第４の設定を含む、ことと、
前記特定された第２のセキュリティ脅威に基づいて、前記第２のセキュリティコンテナから前記第２の隔離コンテナに前記第２のＶＭを再度割り当てることと、を含む複数の動作を実行するように更にプログラムされる、
ことを特徴とする請求項６に記載のシステム。
【請求項１１】
複数の命令のセットを含むコンピュータプログラムであって、
ユーザインターフェースを通じて、データを受信して、セキュリティコンテナを生成すると共にセキュリティサービスとタグベースのルールとを前記セキュリティコンテナに関連付けることであって、前記セキュリティコンテナは、前記セキュリティコンテナに割り当てられる仮想マシン（ＶＭ）に適用される動作設定の第１のセットを含む、ことと、
ホストマシン上で動作するＶＭが動作設定の前記第１のセットにおいて動作するように前記ＶＭを前記セキュリティコンテナに割り当てることと、
前記ＶＭの前記セキュリティコンテナへの前記割り当てに基づいて、前記セキュリティサービスを前記ＶＭにおいて動作させて、前記ＶＭに関連付けられたセキュリティ脅威を特定すると共に前記ＶＭにタグを割り当てることと、
前記タグを用いて、前記タグベースのルールを処理すると共に、当該処理に応じて、前記セキュリティ脅威が解決されるまで前記ＶＭへのネットワーク接続性を制限するために前記ＶＭを隔離コンテナに再度割り当てることであって、前記隔離コンテナは、前記隔離コンテナに割り当てられるＶＭに適用される動作設定の第２のセットを含み、前記ＶＭは、前記隔離コンテナへの再度割り当ての後に、前記動作設定の第２のセットにおいて前記ホストマシン上で動作する、ことと、
前記ＶＭが動作設定の前記第１のセットにおいて前記ホストマシン上で再び動作するように、前記セキュリティ脅威が解決した後に、前記ＶＭから前記タグを削除すると共に前記ＶＭを前記セキュリティコンテナに戻すことと、のための前記複数の命令のセットを含む、
ことを特徴とするコンピュータプログラム。
【請求項１２】
動作設定の前記第２のセットは、前記隔離コンテナに割り当てられたＶＭの制限されたネットワーク接続性を特定するネットワークファイアウォール設定を含む、
ことを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記ルールは、脅威レベルの閾値を特定する、
ことを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１４】
前記コンピュータプログラムは、
前記ＶＭの特定のユーザのログインイベントに応じて、前記特定のユーザが関連付けられている、ユーザのメンバシップグループを検出することと、
前記ユーザのメンバシップグループに基づいて前記セキュリティコンテナを選択することであって、前記ＶＭは前記選択されたセキュリティコンテナに割り当てられることと、のための複数の命令のセットを更に含む、
ことを特徴とする請求項１１に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
仮想マシンとセキュリティサービスに関する。
【背景技術】
【０００２】
仮想マシンはソフトウェアに基づく物理的なコンピュータシステムの抽象化である。一般に、物理的なコンピュータシステム上で実行可能な任意のコンピュータプログラムは仮想化ソフトウェアを用いる仮想マシン内で実行可能である。仮想化ソフトウェアは仮想マシンと物理的なコンピュータシステムとに論理的に挿まれておりインターフェースとなるソフトウェアである。仮想マシンのそれぞれは、以下ゲストＯＳというオペレーティングシステムとアプリケーションを実行するように構成される。以下ホストマシンという物理的なコンピュータシステムは１つ以上の仮想マシンを実行することができる。
【０００３】
仮想マシンは、ローカルで又はネットワーク接続を通してリモートで、アクセスされ得る。例えば、仮想マシンに遠隔アクセスするためにリモート・デスクトップ・クライアントを用いることができる。リモート・デスクトップ・クライアントは、リモートコンピュータシステムとユーザインターフェース情報を通信するコンピュータプログラムである。一般に、このユーザインターフェース情報は、リモートコンピュータシステムから受信してローカルのコンピュータでユーザに表示される表示情報を含み、ユーザにより生み出されるキーボート入力とマウス入力をリモートコンピュータシステムに届ける。このようにして、ユーザは、ユーザから離れて動作するアプリケーションにアクセスし情報を交換することができる。
【０００４】
更に、仮想マシン上又はホスト機器上で直接動作するかに関わらず、アプリケーションとオペレーティングシステムは、コンピュータ環境に不正に侵入する、ウイルスやワーム等のプログラムやコードに対して未だに脆弱である。ウイルスは、しばしば自身を複製し又は自身に複製させることにより極端な量のコンピュータリソースを消費し、コンピュータの動作を悪化又は中断させる。「ワーム」は送出されるメールや他のネットワークメッセージに自動的に自身を付加するウイルスであると定義され得る。ウイルスはコンピュータ環境に進入すると即座にその損害を与える場合や、環境がホストコンピュータに自身のコードを実行させるまで眠ているように動かない場合がある。特定のウイルスによって引き起こされ得る潜在的な問題に関わらず、全てのウイルスは一般に悪意があるとみなされるものであり、システムへの感染が防止されるべきであり発見されれば隔離されるべきである。本目的のために、「ウイルス」なる語はあらゆるこのような悪意のあるコードを指す。
【０００５】
ウイルスの脅威は、多数のハッカーによって創作された、洗練と深刻度の程度が異なるウイルスがアクセス可能なコンピュータのあるネットワーク環境では特に深刻である。これらのウイルスは、例えば、ｅメールへの添付物として又はダウンロードされたファイルとして、若しくはネットワークポートをリッスンするサービスプログラムを介して、様々な方法でコンピュータ環境に不正に侵入する。アンチウイルスソフトウェアの様々な例には、ディスクドライブとメモリシステム全体を不正なコードのためにスキャンするシステムスキャナー、オペレーティングシステムによって要求されたときにファイルをスキャンする「オンアクセス」(on-access)スキャナーが含まれる。他のタイプのアンチウイルスソフトウェアもあり得る。
【発明の概要】
【０００６】
一般に、本明細書に記載された主題の１側面は、１つ以上の仮想マシンのそれぞれを、それぞれのセキュリティコンテナに従って動作させることであって、それぞれのセキュリティコンテナが、１つ以上の条件に基づいて、それぞれのセキュリティコンテナから隔離コンテナへの移動を特定するそれぞれのルールに関連付けられている、動作させることと、１つ以上の仮想マシンにおいて１つ以上のエンドポイントセキュリティサービスを動作させて、仮想マシンの１つ以上に関連付けられた１つ以上のセキュリティ脅威を特定することと、１つ以上のセキュリティサービスによって生成された１つ以上のタグを取得することであって、タグのそれぞれは特定されたセキュリティ脅威の１つと関連付けられた仮想マシンのためのものである、取得することと、１つ以上の取得されたタグと１つ以上の条件とに少なくとも基づいて、隔離コンテナへの移動を要求する仮想マシンの１つを特定することと、特定された仮想マシンを隔離コンテナに移動することとを含む技術に取り入れられ得る。この側面の他の実施形態は対応するシステム、装置及び非一時的に機械読み取り可能な記録媒体に記録されたコンピュータソフトウェアを含む。
【０００７】
これら及び他の側面は、オプションとして以下の特徴の１つ以上を含み得る。セキュリティサービスは、アンチウイルススキャナ、情報漏えい対策（ＤＬＰ）、ファイル保全モニタリング、ルートキット（rootkit）検出、脆弱性管理、ネットワークファイアウォール、ウェブセキュリティ制御及び進入検出／対策システムを含む。セキュリティ脅威を解決して、特定された仮想マシンを、特定された仮想マシンのそれぞれのセキュリティコンテナから隔離コンテナへ移動させるタグを削除することができ、特定された仮想マシンを、隔離コンテナから特定された仮想マシンのそれぞれのセキュリティコンテナへ移動させることができる。ユーザインターフェースが提供されて、１つ以上のそれぞれのセキュリティコンテナを生成し設定することができるものあって、ユーザインターフォースは１つ以上のそれぞれのセキュリティコンテナの各々のための、１つ以上のタグベースのルールを生成するように構成される、ものである。それぞれのタグは、仮想マシン識別子、タグラベル及びタグの値を含むことができる。それぞれのルールは脅威レベルの閾値を特定することができ、仮想マシンを特定することは、タグの値と脅威レベルの閾値とを比較することを含む。１つ以上のエンドポイントセキュリティサービスは、既知のタグフォーマットに従ってタグを生成するように構成された１つ以上のアンチウイルススキャナ、既知のタグフォーマットに従ってタグを生成するように構成された脆弱性管理メカニズム、又は既知のタグフォーマットに従ってタグを生成するように構成された情報漏えい対策を含み得る。１つ以上の仮想マシンを動作させることは、仮想マシンのログインイベントに応じて、ユーザのメンバシップグループを検出することと、ユーザのメンバシップグループに基づいてそれぞれのセキュリティコンテナを選択することと、仮想マシンのログインイベントに関連付けられた仮想マシンを、選択されたセキュリティコンテナに割り当てることとを含むことができる。１つ以上のそれぞれのセキュリティコンテナは、１つ以上の第１の条件に基づいて第１のセキュリティコンテナから第１の隔離コンテナへの仮想マシンの移動を特定する第１のルールに関連付けられた第１のセキュリティコンテナと、１つ以上の第２の条件に基づいて第２のセキュリティコンテナから第２の隔離コンテナへの仮想マシンの移動を特定する第２のルールに関連付けられた第２のセキュリティコンテナと、を含み得る。実装は、タグ通信レイヤを動作させて１つ以上のタグを１つ以上のセキュリティサービスから受信することであって、タグ通信レイヤは１つ以上のエンドポイントセキュリティサービスに関連する、ことを含み得る。実装は、隔離コンテナに従ってネットワークファイアウォールを動作させて、特定された仮想マシンのネットワーク接続性を制限することを含み得る。
【０００８】
特に、本明細書に記載された主題の特定の実施形態は、１つ以上の以下の長所を実現するために実装され得る。仮想マシンにタグ付けするセキュリティサービスのためのフレームワークの提供は、隔離コンテナなどの異なるより厳格なコンテナへの迅速かつ自動的な移動を可能にし得る。仮想マシンにおいてひとたびウイルスが検出された場合、拡散や影響のないシステムにおけるウイルスの影響を防止し、機密扱いの情報のリークを防止し、又はこれらの両方のために、仮想マシンが隔離コンテナの外側に存在する時間を最小化する点で有益である。
【０００９】
本明細書に記載された主題の１つ以上の実施形態の詳細は、添付図面及び以下の記載において明らかになる。本主題の他の特徴、側面及び長所は記載、図面及び請求項から明らかになる。
【図面の簡単な説明】
【００１０】
【図１】セキュリティコンテナに割り当てられた仮想マシンとセキュリティコンテナ間の仮想マシンの移動の例を示す
【図２】仮想マシンを実行するように構成されたシステムの例についてのアーキテクチャを示す
【図３】セキュリティマネージャを含むセキュリティフレームワークの例についてのアーキテクチャを示す
【図４】セキュリティ処理の例についてのフローチャートを示す
【図５】セキュリティ処理の他の例についてのフローチャートを示す
【図６】セキュリティ処理の他の例についてのフローチャートを示す
【００１１】
様々な図面内の同様な参照番号及び記号は同様な要素を示す。
【発明を実施するための形態】
【００１２】
本書面は、異なるエンドポイントセキュリティ（例えばアンチウイルスソフトウェア）やネットワークセキュリティサービス（例えばネットワークファイアウォール）における相乗的な統合を達成するフレームワークについて記載する。このようなフレームワークは仮想マシンの環境内のセキュリティポリシ違反に迅速かつ自動的に対応することを可能し、その一方で、顧客がエンドポイントと、異なるベンダによるセキュリティサービスを含むネットワークセキュリティサービスとの最良の組み合わせを選択することを可能にすることができる。
【００１３】
図１は、セキュリティコンテナに割り当てられた仮想マシンとセキュリティコンテナ間の仮想マシンの移動の例を示す。データ処理装置などの物理マシンは、それぞれ割り当てられたセキュリティコンテナ１０５ａ-ｃに従って仮想マシン１１０ａ-ｄを実行することができる。セキュリティコンテナ１０５ａ-ｃは、ファイアウォール設定１１５ａ-ｃ、１つ以上のセキュリティサービスのための動作設定、及びタグベースのルール１２０ａ-ｃなどのポリシを明示することができる、仮想マシンの実行環境である。ある実施形態では、セキュリティコンテナ１０５ａ-ｃは、ネットワーク接続性の許容されるレベルが異なるファイアウォール設定１１５ａ-ｃのそれぞれに関連付けられる。この例では、第１のセキュリティコンテナ１０５ａはフル・ネットワーク・アクセス（full network access）を明示するファイアウォール設定１１５ａに関連付けられており、これに対して、第２のセキュリティコンテナ１０５ｂは限定されたネットワークアクセスを明示するファイアウォール設定１１５ｂに関連付けられる。隔離コンテナ１０５ｃは、例えばネットワークアクセス無し（no network access）を明示するファイアウォール設定１１５ｃに関連付けられ得る。タグベースのルール１２０ａ-ｂは、１つ以上のセキュリティサービスによって提供されるセキュリティタグに基づく条件など、１つ以上の条件に基づいて隔離コンテナ１０５ｃへの移動を明示することができる。セキュリティタグは、仮想マシンのセキュリティサービスのレビュー（review）によって生成されたセキュリティ判定を表すことができる。ある場合には、ルール１２０ｃは、セキュリティサービスによってタグがひとたびクリアされた場合の隔離コンテナ１０５ｃからの移動を明示することができる。
【００１４】
図２は仮想マシンを実行するように構成されたシステム２０１の例についてのアーキテクチャを示す。システム２０１では、物理マシン２３０がハイパーバイザ２２０を用いて仮想マシン１１０ａ-ｅを実行するように構成され得る。コンピュータ端末２４０ａ-ｂはネットワーク２３５を用いて仮想マシン１１０ａ-ｅにアクセスすることができる。ある実施形態では、システム２０１は、コンピュータ端末２４０ａ-ｂを介して仮想デスクトップインフラストラクチャ（ＶＤＩ）を提供するように構成され得る。ＶＤＩは、仮想インフラストラクチャ上のユーザデスクトップを、コンピュータ管理者がホストし管理することを可能にし、仮想インフラストラクチャ、例えばＶＤＩ、はデスクトップコンピューティングのための独立した仮想マシンを各ユーザに提供する。ある実施形態では、コンピュータ端末２４０ａ-ｂは、リモート・デスクトップ・プロトコルを用いることによって仮想マシン１１０ａ-ｅに物理的なフロントエンドを提供するように構成されている。コンピュータ端末２４０ａ-ｅの様々な例はＰＣ、シンクライアント、ゼロクライアント（zero clients）などのクライアントアクセスデバイスを含む。他の種類の端末もあり得る。
【００１５】
ある仮想マシン１１０ａ-ｄはそれぞれがセキュリティコンテナ１０５ａ-ｃの１つに関連付けられる一方で、セキュリティ仮想マシンとして参照される他の１つ以上の仮想マシン１１０ｅは、仮想マシン１１０ａ-ｄにエンドポイントセキュリティサービス、ネットワークセキュリティサービス又は両方を提供するように構成され得る。例えばセキュリティ仮想マシン１１０ｅは、ウイルスのようなセキュリティの脅威に対して他の仮想マシン１１０ａ-ｄをスキャンするアンチウイルススキャナのようなエンドポイントセキュリティサービスを実行することができる。ある実装では、アンチウイルススキャナは、例えば仮想マシンのメモリ、永続的なストレージ及びネットワーク通信のスキャンを実行するため、仮想マシン１１０ａ-ｄ上で動作するシンエージェント（thin agents）と相互作用することができる。更なる実装では、セキュリティ仮想マシン１１０ａにおけるアンチウイルススキャナは自律的に他の仮想マシン１１０ａ-ｄをスキャンすることができる。他の実装では、ハイパーバイザ２２０はネットワークファイアウォールを動作させるような１つ以上のネットワークセキュリティサービスを実行することができる。
【００１６】
図３はセキュリティマネージャ３１０を含むセキュリティフレームワークの例についてのアーキテクチャを示す。仮想インフラストラクチャは、エンドポイントセキュリティサービス３０５ａ-ｂやネットワークセキュリティサービス３０５ｃ-ｄを含むセキュリティサービス３０５ａ-ｄをデプロイすることができる。エンドポイントセキュリティサービス３０５ａ-ｂの様々な例は、アンチウイルススキャナ、情報漏えい対策（ＤＬＰ）、ファイル保全モニタリング、ルートキット（rootkit）検出、脆弱性管理を含む。他の種類の例もあり得る。ネットワークセキュリティサービス３０５ｃ-ｄの様々な例は、ネットワークファイアウォール、ウェブセキュリティコントロール、進入検出／対策システムを含む。他の種類の例もあり得る。
【００１７】
セキュリティマネージャ３１０はセキュリティコンテナに基づいてセキュリティサービス３０５ａ-ｄと相互作用することができる。セキュリティマネージャ３１０はセキュリティコンテナを生成し設定するためのユーザインターフェースを提供することができる。セキュリティコンテナは当該コンテナに割り当てられた仮想マシン上で実行されるべき更なるセキュリティサービスを明示することができる。１つ以上のルールはセキュリティコンテナのそれぞれに関連づけられ得る。これらのルールはセキュリティコンテナ仕様データベース３２０に格納され得る。ある実装では、ルールはセキュリティスキャンの結果に基づくアクション（例えば隔離コンテナへの移動）を明示することができる。更に、１つ以上のサービス３０５ａ-ｄのための設定情報は、セキュリティコンテナ仕様データベース３２０に格納され得る。設定情報は、セキュリティサービスのそれぞれを明示することができ、セキュリティサービスの名称、セキュリティサービスに対応する実行環境の場所又はセキュリティ設定などのパラメータを含むことができる。他の種類のパラメータも可能である。例えば、アンチウイルスセキュリティサービスのための設定情報は、スキャンの頻度及びスキャンの種類を含むことができる。ある実装では、セキュリティマネージャ３１０は、セキュリティコンテナによって明示された設定情報に基づいてセキュリティサービス３０５ａ-ｄを動作させることができる。セキュリティマネージャ３１０は仮想マシンをセキュリティコンテナに割り当てることができ、そのような割り当ては仮想マシンセキュリティコンテナ割り当てデータベース３２５に格納され得る。
【００１８】
セキュリティサービス３０５ａ-ｄの１つ以上は、セキュリティスキャン、セキュリティイベント又は両方、の結果に基づいて仮想マシンにタグを割り当てることができる。セキュリティマネージャ３１０は、セキュリティサービス３０５ａ-ｄの１つ以上からタグを受信し、仮想マシンタグチェッカー３３０などの要素にタグを配信するタグ通信レイヤを提供する。ある実装では、タグ情報は仮想マシン識別子、タグ名及びタグ値を含むことができる。他の種類のタグ情報も可能である。ある実装では、タグは拡張可能マークアップ言語（ＸＭＬ）を用いてタグ通信レイヤを通信され得る。仮想マシンタグチェッカー３３０はセキュリティサービス３０５ａ-ｄによって生成されたタグにアクセスし、これらをセキュリティコンテナのルールによって明示された１つ以上の条件と比較する。１つ以上の条件の満足に基づいて当該ルールに関連付けられたアクションが実行され得る。
【００１９】
図４は１つ以上のデータ処理装置によって実現されるセキュリティ処理の例についてのフローチャートを示す。４０５において、処理は仮想マシン（ＶＭ）にセキュリティサービスをデプロイする。ある実装では、セキュリティサービスをデプロイすることはアンチウイルススキャナなどのセキュリティソフトウェアをインストールすることを含み得る。４１０において、処理はセキュリティサービスを登録する。セキュリティサービスを登録することは、セキュリティサービスを動作させるためにセキュリティマネージャを設定することを含み得る。セキュリティサービスを登録することは、セキュリティサービスによって生成されたタグを認識するためにセキュリティマネージャを設定することを含み得る。
【００２０】
４１５において、処理はセキュリティコンテナと当該コンテナのためのタグベースのルールとを生成し設定するユーザインターフェース（ＵＩ）を提供する。ＵＩを提供することはグラフィカルユーザインターフェース（ＧＵＩ）を表示することを含み得る。ＵＩを提供することはコマンドラインインターフェース（ＣＬＩ）を提供することを含み得る。ある実装では、ＵＩは、異なるセキュリティマネージャのために異なるサービス設定オプションを明示するように設計され得る。例えば、１つのセキュリティコンテナは時間ごとのウイルススキャン要件を有するのに対し、他のセキュリティコンテナは日ごと或いは週ごとのアンチウイルススキャン要求を有してもよい。
【００２１】
４２０において、処理はセキュリティコンテナの１つ以上にＶＭを割り当てる。ある実装では、ＵＩは、セキュリティコンテナに仮想マシンを割り当てるインターフェースを更に提供し得る。ある実装では、セキュリティコンテナへのＶＭの割り当てはログインイベントに応じて動的に実行される。例えば、この割り当てはログインイベントに関連付けられたユーザ識別又はユーザのユーザグループ識別に基づき得る。
【００２２】
４２５において、処理はセキュリティコンテナを介してセキュリティサービスを適用する。セキュリティコンテナを介してセキュリティサービスを適用することは、セキュリティコンテナによって何が要求されるかに基づいてサービス設定オプションの１つ以上にアクセスし使用することを含み得る。４３０において、処理はセキュリティ脅威を検出するためにＶＭ上のセキュリティサービスを動作させる。ある実装では、セキュリティマネージャは、セキュリティコンテナの要求に従って定期的な時間間隔でセキュリティサービスに仮想マシンのスキャンを実行させることができる。４３５において、処理は検出されたセキュリティ脅威のそれぞれに基づいてタグをＶＭに選択的に割り当てる。例えばセキュリティサービスは、ウイルスや脆弱性を生み出す設定不良などの脅威の検出に基づいてタグを出力することができる。タグの様々な例には「virus.threat=detected」、「malware.threat=high」又は「dlp.violation=HIPAA」などのテキストベースのラベルを含む。他の種類のタグも可能であり、例えばタグはテキストフォーマットよりもむしろバイナリフォーマットで表され得る。他の実装では、タグは例えば「CVSS=9.7」など共通脆弱性評価システム（ＣＶＳＳ）などの業界標準の脆弱性スコアを含み得る。４４０において、処理は、割り当てられたタグ及びタグベースのルールに基づいて、セキュリティコンテナへのＶＭの割り当てを選択的に変更する。例えばセキュリティコンテナは、ＣＶＳＳスコアが７以上を有する任意の割り当てられたＶＭが、ネットワークアクセスをブロックする隔離コンテナに移動されるように明示してもよい。
【００２３】
図５は１つ以上のデータ処理装置によって実装され得るセキュリティ処理の他の例についてのフローチャートを示す。５０５において、処理は、１つ以上の条件に基づいて、隔離コンテナへの移動を明示するルールを有する１つ以上のセキュリティコンテナを生成する。条件の様々な例は、脅威レベルの閾値条件、脆弱性条件、ファイル保全条件、ルートキット検出条件を含む。他の種類の条件も可能である。ルールは例えば、満たした又は成功した場合に移動のきっかけとなる脅威レベル閾値条件を明示することができる。他のルールは例えば、満たした場合例えばルートキットが検出された場合に、移動のきっかけとなるルートキット検出条件を明示することができる。１つ以上の仮想マシンを動作させることは、仮想マシンログインイベントに応じてユーザのメンバシップグループを検出すること、当該ユーザのメンバシップグループに基づいてセキュリティコンテナを選択すること、及び、仮想マシンログインイベントに関連付けられた仮想マシンを、選択されたセキュリティコンテナに割り当てること、を含む。
【００２４】
５１０において、処理は１つ以上のセキュリティコンテナに従って１つ以上の仮想マシンを動作させる。５１５において、処理は仮想マシン上で１つ以上のエンドポイントセキュリティサービスを動作させて１つ以上のセキュリティ脅威を特定し、１つ以上の仮想マシンの１つ以上に１つ以上のタグを割り当てる。１つ以上のエンドポイントセキュリティサービスを動作させることは、サービスに対して、タグをタグ通信レイヤへ送信させることを含み得る。
【００２５】
５２０において、処理は、１つ以上のエンドポイントセキュリティサービスに関連した又は独立したタグ通信レイヤを動作させて、１つ以上のエンドポイントセキュリティサービスから１つ以上のタグを受信する。このような関連したタグ通信レイヤは、同一又は異なるベンダからのセキュリティサービスがタグ通信レイヤへのアクセスを可能にし、セキュリティマネージャを介して内部サービスの調整を可能にする。更に、タグ通信レイヤは、エンドポイントセキュリティサービスが既知のタグフォーマットに従ってタグを提供するように、既知のタグフォーマットを使用することができる。ある実装では、タグ通信レイヤを動作させることは、仮想マシン識別子、タグレベル及びタグ値を含むタグを受信することを含む。ある実装では、タグ通信レイヤを動作させることは、セキュリティサービスからタグを含むデータパケットを受信することを含む。タグ通信レイヤを動作させることは、エンドポイントセキュリティサービスによって生成されたタグを格納することを含み得る。ある実装では、タグ通信レイヤは、セキュリティサービスがタグをミドルウェアエンジンに公開し、タグチェッカーがタグを受信するためにミドルウェアエンジンに配信するところの公開／配信モデルに基づく。
【００２６】
５２５において、処理は、１つ以上のタグと１つ以上の条件を用いたルールのもと、隔離コンテナへの移動を要求する仮想マシンを特定する。移動を要求する仮想マシンを特定することは、タグデータベースからタグを検索することを含み得る。転送を要求する仮想マシンを特定することは、タグ通信レイヤを介して１つ以上のメモリロケーションに格納されたタグデータを検索することを含み得る。転送を要求する仮想マシンを特定することは、アクセスされた仮想マシンタグと対応するセキュリティコンテナの１つ以上のルールとを比較することを含み得る。処理は識別した仮想マシンを隔離コンテナに移動することを含み得る。識別した仮想マシンを移動することは、セキュリティコンテナ割り当てデータエントリを更新することを含み得る。識別した仮想マシンを移動することは、セキュリティコンテナに割り当てられた仮想マシンのリストに仮想マシンの識別子を追加することを含み得る。５３０において、処理は隔離コンテナに従ってネットワークファイアウォールを動作させ、識別した仮想マシンのネットワーク接続性を制限することを含む。
【００２７】
図６はセキュリティ処理の他の例についてのフローチャートを示す。６０５において、処理は、第１のセキュリティコンテナに割り当てられた仮想マシンのためにエンドポイントセキュリティサービスによって生成されたタグにアクセスする。６１０において、処理は、当該タグに基づいて第１のセキュリティコンテナが第２のセキュリティコンテナへの仮想マシンの移動を要求するかを判定する。移動が要求されない場合、処理は、６３０において第１のセキュリティコンテナに従って仮想マシンの動作を継続する。移動が要求される場合、処理は、６１５において仮想マシンを第２のセキュリティコンテナに移動する。６２０において、処理は、第２のセキュリティコンテナに従って仮想マシンを動作させる。６２５において、処理はセキュリティ脅威を解決して、タグを削除し第１のセキュリティコンテナへ戻す。セキュリティ脅威を解決することは、ウイルスに感染したファイルを削除すること、ソフトウェアアップデートを適用すること又は脆弱性のあるプロセス／ソフトウェアを停止することを含み得る。セキュリティ脅威を解決することは、セキュリティサービスを再度実行すること、及びセキュリティサービスの判定に基づいてタグを削除するかを判定することを含み得る。６３０において、処理は第１のセキュリティコンテナに従って仮想マシンを動作させる。
【００２８】
以下に記述されるセキュリティ処理の１つ以上は以下の例に用いられ得る。典型的な病院のデータセンタにおいて、管理者は、アンチウイルス製品、ＤＬＰ製品、脆弱性管理製品、セキュリティマネージャを介したファイアウォール製品やウェブセキュリティ制御製品などのネットワークセキュリティサービス、などのエンドポイントセキュリティソリューションをデプロイすることができる。管理者は、セキュリティマネージャのＧＵＩを使用して、医師ユーザグループや看護師ユーザグループなどの異なる病院の従業員に対するユーザメンバーシップグループを生成することができる。更に、管理者は当該ＧＵＩを使用してユーザメンバーシップグループのそれぞれに対するセキュリティコンテナを生成することができる。加えて、管理者はまた、グループとセキュリティコンテナとを患者医療記録サーバのために生成することができる。管理者はＧＵＩを使用して、セキュリティポリシに基づいてセキュリティコンテナに対するルールを生成することができる。例えば、病院の運営委員は以下のセキュリティポリシを強制適用してもよい。
セキュリティポリシ１．医師はインターネットへの外部へ通じるアクセスが許可されるがウェブセキュリティコントロールを受ける必要がある（例えば運営委員によって「制限される」（Ｒｅｓｔｒｉｃｔｅｄ））として分類されたウェブサイトをブラウズすることは許されない）、
セキュリティポリシ２．看護師は外部インターネットアクセスは許可されない、
セキュリティポリシ３．医師と看護師のマシンはアンチウイルスサービスを用いて１日単位でスキャンされる必要がある、
セキュリティポリシ４．ウイルス又は既知のマルウェアのリスクレベルが「ミディアム」より高いと診断されたあらゆるマシンはネットワークアクセス無しの状態に隔離されなければならない、
セキュリティポリシ５．医師及び看護師のマシンは、ＨＩＰＡＡポリシ違反（例えばこれらのマシンが機密患者データを永続的に格納してはならない）について週単位でＤＬＰサービスを用いてスキャンされる必要がある、
セキュリティポリシ６．機密患者データがマシンに存在する場合、当該マシンは外部の世界へのネットワークアクセスの無い状態に隔離され、データは削除される必要がある、
セキュリティポリシ７．医療スタッフは患者データにアクセスするために患者医療記録サーバにアクセスすることができるが非医療スタッフはできない、
セキュリティポリシ８．全てのマシンは脆弱性管理サービスを通して脆弱性について週単位でスキャンされる、
セキュリティポリシ９．ＣＶＳＳスコアが８より高い脆弱性のマシンは隔離されなければならない。
【００２９】
上述した強制適用されるセキュリティポリシに準拠するため、管理者はセキュリティマネージャのＧＵＩを使用して以下を実行する。
ａ）「医師」セキュリティコンテナにウェブセキュリティ管理セキュリティサービスを割り当て（セキュリティポリシ１を扱う）、
ｂ）外部ウェブサイトへのアクセスをブロックするポリシを伴うネットワークファイアウォールサービスを「看護師」セキュリティコンテナに割り当て（セキュリティポリシ２を扱う）、
ｃ）１日単位のスキャン頻度であるエンドポイントセキュリティのアンチウイルスサービスを「医師」セキュリティコンテナと「看護師」セキュリティコンテナとに割り当て（セキュリティポリシ３を扱う）、
ｄ）ＤＬＰサービスがＨＩＰＡＡ違反について週単位でスキャンするためにエンドポイントセキュリティのＤＬＰサービスを「医師」セキュリティコンテナと「看護師」セキュリティコンテナとに割り当て（セキュリティポリシ５を扱う）、
ｅ）患者医療データへのアクセスを強化するポリシを伴うネットワークファイアウォールサービスを「医師」セキュリティコンテナと「看護師」セキュリティコンテナとに割り当て（セキュリティポリシ７を扱う）、
ｆ）患者医療記録サーバへのアクセスをブロックするポリシを伴うネットワークファイアウォールサービスを、非医療スタッフに関連付けられたセキュリティコンテナに割り当て（セキュリティポリシ７を扱う）、
ｇ）エンドポイントセキュリティの脆弱性管理サービスを全てのコンテナに割り当てると共にスキャン頻度を週単位に設定し（セキュリティポリシ８を扱う）、
ｈ）「ミディアム」又はより高い脅威レベルにタグ付けされた仮想マシンが隔離コンテナに移動されるように、タグベースのルールをセキュリティコンテナに割り当て（セキュリティポリシ４を扱う）、
ｉ）ＤＬＰ違反としてタグ付けされた仮想マシンが隔離コンテナに移動されるように、タグベースのルールをセキュリティコンテナに割り当て（セキュリティポリシ６を扱う）、
ｊ）８より高いＣＶＳＳスコアにタグ付けされた仮想マシンが隔離コンテナに移動されるように、タグベースのルールをセキュリティコンテナに割り当てる（セキュリティポリシ９を扱う）。
【００３０】
ＧＵＩを介して受信した入力に基づいて、セキュリティマネージャは、割り当てられたサービス及びタグベースのルールを保存した１つ以上の設定ファイルを出力することができる。ある実施形態では、設定ファイルはＸＭＬなどのテキストベースのフォーマット又はバイナリフォーマットに基づいてフォーマットされ得る。更に、セキュリティマネージャは、仮想マシンと、タグ割り当てや隔離コンテナへの移動などのルールベースのアクションなどの関連付けられたイベントとを識別する１つ以上のログファイルを維持することができる。
【００３１】
本主題の実施形態と本書面において記載された動作はデジタル電子回路内、又は本書面に記載された構造及びその同等の構造又は１つ以上のこれらの組み合わせを含むコンピュータソフトウェア、ファームウェア又はハードウェア内に実現され得る。本書面において記載された主題の実施形態は、データ処理装置による実行のため又は動作を制御するためにコンピュータ記録媒体にエンコードされた、例えばコンピュータプログラム命令の１つ以上のモジュールである、１つ以上のコンピュータプログラムとして実現され得る。選択的又は追加的に、プログラム命令は、人工的に生成されて伝播された信号、例えば機器が生成した電子的、光学的又は電磁的な信号であって、データ処理装置による実行のために適切な受信装置へ送信される情報をエンコードして生成された信号、にエンコードされ得る。コンピュータ記録媒体は、コンピュータ可読記録装置、コンピュータ可読記録基板、ランダム又は順次アクセスメモリ配列又は装置、又は１つ以上のこれらの組み合わせであるかこれらに含まれ得る。更に、コンピュータ記録媒体は伝播された信号ではないが、コンピュータ記録媒体は人工的に生成されて伝播された信号にエンコードされたコンピュータプログラム命令の送信元又は送信先になり得る。コンピュータ記録媒体はまた、１つ以上の分離された物理的な要素又は媒体（例えば複数のＣＤ、ディスク又は他の記録装置）であるかこれらに含まれ得る。
【００３２】
本書面において記載された動作は、１つ以上のコンピュータで読み取り可能な記録デバイスに格納された又は他の送信元から受信したデータをデータ処理装置によって実行される動作として実現され得る。「データ処理装置」なる語は、データを処理する、全ての種類の装置、デバイス及びマシンを包含し、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ又は上述したものの複数若しくは組み合わせを含む。装置は特定の目的の論理回路、例えばＦＰＧＡ（Ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）を含み得る。装置はまた、ハードウェアに加えて、対象となるコンピュータプログラムの実行環境を生成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベースマネージメントシステム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又は１つ以上のこれらの組み合わせを構成するコードを含み得る。装置と実行環境は、ウェブサービスのような様々な異なるコンピューティングモデルインフラストラクチャ、分散コンピューティング及びグリッドコンピューティングインフラストラクチャを実現し得る。
【００３３】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られる）は、コンパイルされた又は解釈された言語、宣言、又は手続的言語を含む、プログラミング言語の任意の形式で記述され得、そして、スタンドアロンプログラムとして又は、モジュール、コンポーネント、サブルーチン、オブジェクト若しくはコンピューティング環境での使用に適した他のユニットとしての形式を含む任意の形式でデプロイされ得る。コンピュータプログラムは、必要ではないが、ファイルシステム内のファイルに対応してもよい。プログラムは、対象となるプログラム専用の単一のファイル、又は複数の同等のファイル（例えば１つ以上のモジュール、サブプログラム又はコードの一部を格納するファイル）の形式で、他のプログラムやデータ（例えばマークアップ言語ドキュメントに格納された１つ以上のスクリプト）を有するするファイルの一部に格納され得る。コンピュータプログラムは、デプロイされて、１つのサイト又は分散されたアクセスの複数のサイトにおいて通信ネットワークで内部接続された１つ又は複数のコンピュータで実行され得る。
【００３４】
本書面に記載されているプロセスとロジックフローは、１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって実行されて、入力データを操作することによってアクションを実行し、出力を生成し得る。プロセスとロジックフローはまた、特定の目的の論理回路、例えばＦＰＧＡ（Ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）によって実行され得、そして装置はまた、特定の目的の論理回路としてされ得る。
【００３５】
コンピュータの実行に適したプロセッサは、例として汎用及び特定の目的のマイクロプロセッサの両方、及び、任意の種類のデジタルコンピュータの任意の１つ以上のプロセッサを含む。一般に、プロセッサは命令とデータとを、読み出し専用メモリ若しくはランダムアクセスメモリ又はその両方から受信する。コンピュータの必須要素は命令に従ってアクションを実行するプロセッサと、命令とデータとを格納する１つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気的、磁力−光学ディスク又は光学ディスクである、データを格納する１つ以上のマスストレージデバイスを含み、又は動作的に結合してデータを受信若しくは送信又はその両方を行う。しかし、コンピュータはこのようなデバイスを有する必要はない。更に、コンピュータは、例えば、ほんの数例を挙げれば移動電話器、パーソナルデジタルアシスタント（ＰＤＡ）、モバイルの音楽又は動画プレーヤ、ゲームコンソール、全地球測位システム（ＧＰＳ）レシーバ、又はポータブルストレージデバイス（例えばユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブ）である、他のデバイスに組み込まれ得る。コンピュータプログラム命令及びデータを格納することに適したデバイスは、例えばＥＰＲＯＭ，ＥＥＰＲＯＭ及びフラッシュメモリデバイスである半導体メモリデバイス、例えば内部ハードディスク又は着脱可能なディスクである磁気ディスク、磁気−光学ディスク、及びＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを例として含む、不揮発性メモリ、メディア及びメモリデバイスの全ての形態を含む。プロセッサとメモリは特定の目的の論理回路により補助され又は組み入れられる。
【００３６】
ユーザとのやり取りを提供するため、本書面に記載された主題の実施形態は、ユーザに情報を表示するための、例えばＣＲＴ（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ）又はＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）モニタである表示デバイス及び、ユーザがコンピュータに入力を提供するキーボードと例えばマウス又はトラックボールであるポインティングデバイスと、を有するコンピュータ上に実現され得る。他の種類のデバイスを使用して、同様にユーザとのやり取りを提供し得る。ユーザに提供されるフィードバックは、例えば視覚的フィードバック、音声フィードバック、触覚フィードバックである、任意の形式のセンサフィードバックであり得、ユーザからの入力は、音響上、音声上、又は触覚的な入力を含む任意の形式で受信し得る。加えて、コンピュータは、ドキュメントをユーザが使用するデバイスに送信及び当該デバイスから受信すること、例えば、ウェブブラウザから受信したリクエストに応答してユーザのクライアントデバイスにおけるウェブブラウザにウェブページを送信すること、によって、ユーザとやり取りを行い得る。
【００３７】
本書面に記載された主題の実施形態は、例えばデータサーバとしてのバックエンドコンポーネントを含むコンピューティングシステム、又は例えばアプリケーションサーバであるミドルウェアコンポーネントを含むコンピューティングシステム、又は例えばグラフィカルユーザインターフェース又は本書面に記載された主題の実装を通してユーザがやり取りすることができるウェブブラウザである、フロントエンドコンポーネントを含むコンピューティングシステム、又は１つ以上のバックエンド、ミドルウェア又はフロントエンドコンポーネントの組み合わせにおいて実現され得る。このシステムのコンポーネントは、任意の形式で接続されたもの、又は例えば通信ネットワークであるデジタルデータ通信の媒体であり得る。通信ネットワークの例にはローカルエリアネットワーク（「ＬＡＮ」）及びワードエリアネットワーク（「ＷＡＮ」）、インターネットワーク（例えばインターネット）及びピアツーピアネットワーク（例えばアドホックピアツーピアネットワーク）を含む。
【００３８】
コンピューティングシステムはクライアントとサーバとを含み得る。クライアントとサーバは一般に互いに離れており、典型的には通信ネットワークを通してやり取りする。クライアントとサーバの関係は、それぞれのコンピュータで実行され、互いにクライアント−サーバの関係を有する、コンピュータプログラムの長所によって生じる。ある実施形態では、サーバはデータ（例えばＨＴＭＬページ）をクライアントデバイス（例えばクライアントデバイスにデータを表示する目的で、及びクライアントデバイスとやり取りするユーザからのユーザ入力を受信する目的で）に送信する。クライアントデバイスで生成されたデータ（例えばユーザとのやり取りの結果）はサーバにおいてクライアントから受信され得る。
【００３９】
本書面は特定の詳細な実装を含む一方、特定の発明の特定の実施形態に特有の特徴の記載とされないだけでなく、これらはあらゆる発明のスコープ又はクレームされ得るものの限定として解釈されるべきではない。分かれた実施形態の内容で本書面に記載されたある特徴はまた、単一の実施形態の組み合わせとして実現され得る。反対に、単一の実施形態の内容で本書面に記載された様々な特徴もまた、それぞれの複数の実施形態として又は任意の適切なサブコンビネーションとして実現され得る。更に、特徴がある組み合わせにおける動作として上述され、そのように最初にクレームされ得るが、クレームされた組み合わせの１つ以上の特徴は、ある場合において、この組み合わせから切り取ることができる。そしてクレームされた組み合わせはサブコンビネーション又はサブコンビネーションのバリエーションに向けられ得る。
【００４０】
同様に、動作が特定の順序で図面において描写されても、そのような動作が望ましい結果を達成するために明示された若しくはシーケンシャルな特定の順序で実行されることが要求されるものと理解されるべきでなく、また、説明された全ての動作が望ましい結果を達成するために実行されることが要求されるものと理解されるべきでない。ある状況では、マルチタスキング及び並列処理は有益である。更に、上述した実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてその分離が要求されるものと理解されるべきでなく、記載されたプログラム及びシステムは、一般に単一のソフトウェアプロダクトに統合することができ、また複数のソフトウェアプロダクトにパッケージ化することができるものと理解されるべきである。
【００４１】
従って、主題の特定の実施形態が記載された。他の実施形態は以下のクレームの範囲内である。ある場合には、クレームに記載された動作は異なる順序で実行されることができ、その際にも望ましい結果を達成することができる。加えて、添付された図面に描写された処理は、望ましい結果を達成するために図示された特定の順序やシーケンシャルな順序を必然的に要求するものはない。特定の実装において、マルチタスキング及び並列処理は有益であり得る。
【図１】
0006342478.tif 000002
【図２】
0006342478.tif 000003
【図３】
0006342478.tif 000004
【図４】
0006342478.tif 000005
【図５】
0006342478.tif 000006
【図６】
0006342478.tif 000007