(57)【特許請求の範囲】
【請求項１】
サービスのプロバイダが管理する管理ドメイン内のマネージドサーバを隔離する１つまたは複数のコンピュータによって実行される方法であって、
第１のマネージドサーバを隔離することを示すように、前記コンピュータが、前記第１のマネージドサーバのための予め記憶された記述を更新するステップと、
前記隔離される第１のマネージドサーバの変更された状態を示すように、前記コンピュータが、キャッシュされたアクターセットにおける前記第１のマネージドサーバに関連付けられた第１のアクターセットを更新するステップであって、前記キャッシュされたアクターセットは、前記管理ドメイン内に存在する複数のマネージドサーバの各々を指定するためのものである、ステップと、
前記コンピュータが、前記キャッシュされたアクターセットおよび予め定められたルールのセットに基づいて、前記更新された第１のアクターセットに関連する他のマネージドサーバを決定するステップであって、前記予め定められたルールのセットは、前記プロバイダと前記サービスのコンシューマ、および前記プロバイダと前記コンシューマとの間のリレーションシップを指定するためのものである、ステップと、
前記コンピュータが、前記更新された第１のアクターセットはキャッシュされた関連アクターセットと異なるかどうかを判定するステップであって、前記キャッシュされた関連アクターセットは、前記予め定められたルールのセットに関連し、前記他のマネージドサーバに以前送られたアクターセットを指定するためのものである、ステップと、
前記更新された第１のアクターセットは前記キャッシュされた関連アクターセットと異なるという判定に応じて、前記コンピュータが、前記更新された第１のアクターセット、および、前記他のマネージドサーバに以前送られたアクターセットに対して前記更新された第１のアクターセットを追加、削除または変更するための指示を前記他のマネージドサーバに送るステップと
を備えたことを特徴とする方法。
【請求項２】
前記予め記憶された記述を更新するステップは、前記第１のマネージドサーバの隔離固有の構成特性に対する値を前記予め記憶された記述に設定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記更新された第１のアクターセット、および、前記指示を送るステップは、前記隔離される第１のマネージドサーバから生じたインバウンドネットワークトラフィックを前記他のマネージドサーバにブロックさせるステップを含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記キャッシュされたアクターセットにおける前記第１のアクターセットを更新するステップの前に、
前記コンピュータが、前記隔離される第１のマネージドサーバの前記記述に基づいて、前記隔離される第１のマネージドサーバに関する追加情報を決定するステップと、
前記追加情報を示すように、前記コンピュータが、前記隔離される第１のマネージドサーバの前記記述を変更するステップと
をさらに備えたことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記コンピュータが、前記隔離される第１のマネージドサーバの前記記述に基づいて、前記予め定められたルールのセット内のどのルールが、前記隔離される第１のマネージドサーバに現在関連するかを決定するステップと、
前記コンピュータが、前記現在関連するルールは以前関連したルールと異なるかどうかを判定するステップであって、前記以前関連したルールは、前記予め記憶された記述を更新する前に前記予め記憶された記述に基づいて決定されたものである、ステップと
をさらに備えたことを特徴とする請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記現在関連するルールは前記以前関連したルールと異なるという判定に応じて、前記コンピュータが、前記以前関連したルールに対して、追加、削除または変更されるべきルールを決定するステップと
前記コンピュータが、前記決定されたルールに基づいて機能レベルの指示を生成するステップと、
前記コンピュータが、前記機能レベルの指示、および、前記機能レベルの指示を追加、削除または変更するための指示を前記隔離される第１のマネージドサーバに送るステップと
をさらに備えたことを特徴とする請求項５に記載の方法。
【請求項７】
前記機能レベルの指示、および追加、削除または変更するための前記指示を送るステップは、アウトバウンドネットワークトラフィックを前記隔離される第１のマネージドサーバにブロックさせるステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記機能レベルの指示、および追加、削除または変更するための前記指示を送るステップは、管理インバウンドネットワークトラフィックのみを前記隔離される第１のマネージドサーバに許可させるステップを含むことを特徴とする請求項６に記載の方法。
【請求項９】
第２のマネージドサーバを隔離することを示すように、前記コンピュータが、前記第２のマネージドサーバのための予め記憶された記述を更新するステップと、
前記隔離される第２のマネージドサーバの変更された状態を示すように、前記コンピュータが、前記キャッシュされたアクターセットにおける前記第２のマネージドサーバに関連付けられた第２のアクターセットを更新するステップと、
前記コンピュータが、前記キャッシュされたアクターセットおよび前記予め定められたルールのセットに基づいて、前記更新された第２のアクターセットに関連する他のマネージドサーバを決定するステップと、
前記コンピュータが、前記更新された第２のアクターセットは前記キャッシュされた関連アクターセットと異なるかどうかを判定するステップと
をさらに備えたことを特徴とする請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記コンピュータに、請求項１乃至９のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を有することを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項１１】
サービスのプロバイダが管理する管理ドメイン内のマネージドサーバを隔離するシステムであって、
第１のマネージドサーバを隔離することを示すように、前記第１のマネージドサーバのための予め記憶された記述を更新し、
前記隔離される第１のマネージドサーバの変更された状態を示すように、キャッシュされたアクターセットにおける前記第１のマネージドサーバに関連付けられた第１のアクターセットを更新し、前記キャッシュされたアクターセットは、前記管理ドメイン内に存在する複数のマネージドサーバの各々を指定するためのものであり、
前記キャッシュされたアクターセットおよび予め定められたルールのセットに基づいて、前記更新された第１のアクターセットに関連する他のマネージドサーバを決定し、前記予め定められたルールのセットは、前記プロバイダと前記サービスのコンシューマ、および前記プロバイダと前記コンシューマとの間のリレーションシップを指定するためのものであり、
前記更新された第１のアクターセットはキャッシュされた関連アクターセットと異なるかどうかを判定し、前記キャッシュされた関連アクターセットは、前記予め定められたルールのセットに関連し、前記他のマネージドサーバに以前送られたアクターセットを指定するためのものであり、
前記更新された第１のアクターセットは前記キャッシュされた関連アクターセットと異なるという判定に応じて、前記更新された第１のアクターセット、および、前記他のマネージドサーバに以前送られたアクターセットに対して前記更新された第１のアクターセットを追加、削除または変更するための指示を前記他のマネージドサーバに送る
ように構成されたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載される主題は、概して、管理ドメインのマネージングサーバ（物理的または仮想的）の分野に関し、特に、論理的多次元ラベルベースのポリシーモデルを忠実に守る、管理ドメイン規模のポリシーに係る、マネージングサーバに関する。
【背景技術】
【０００２】
管理ドメインのサーバ（物理的または仮想的）は、ポリシーに従ってマネージされる。例えば、セキュリティポリシーは、アクセス制御および／またはセキュア接続を指定することができ、一方、リソース利用のポリシーは、管理ドメインのコンピューティングリソース（例えば、ディスクおよび／または周辺機器）の利用を指定することができる。従来のポリシーは、物理的デバイスを参照し、インターネットプロトコル（ＩＰ）アドレス、ＩＰアドレスレンジ、サブネットワーク、および、ネットワークインターフェース、などの下位レベルの構成概念の観点で表現される。これらの下位レベルの構成概念は、きめの細かいポリシーを、抽象的で自然な方法で書くことを困難にする。
【発明の概要】
【０００３】
上記および他の論点は、管理ドメイン内のマネージドサーバを隔離するための、方法、非一時的コンピュータ可読記憶媒体およびシステムによって対処される。管理ドメインには、マネージメント命令を使用してマネージメントモジュールを構成する複数のマネージドサーバが含まれ、構成されたマネージメントモジュールが、１つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーを実行するようにされる。隔離したマネージドサーバは、該複数のマネージドサーバの中の他のマネージドサーバから分離される。方法の一実施形態は、マネージドサーバの記述を変更して、マネージドサーバが隔離されることを示し、それによって、隔離したマネージドサーバの記述を指定するステップを含む。方法は、キャッシュしたアクターセットを更新して、隔離したマネージドサーバの変更後状態を示し、それによって、更新されたアクターセットを指定するステップをさらに含む。方法は、更新されたアクターセットのどれが他のマネージドサーバに関連するのかを判定し、それによって、現在関連する更新後アクターセットを指定するステップをさらに含む。方法は、現在関連する更新後アクターセットが、他のマネージドサーバに以前送ったアクターセットと異なるかどうか、を判定するステップをさらに含む。方法は、現在関連する更新後アクターセットが、以前送ったアクターセットと同一である、という判定に応じて、それ以上アクションは取らないステップをさらに含む。
【０００４】
媒体の一実施形態には、ステップを実行するべく実行可能なコンピュータプログラムモジュールを記憶する。上記ステップは、マネージドサーバの記述を変更して、マネージドサーバが隔離されることを示し、それによって、隔離したマネージドサーバの記述を指定するステップを含む。上記ステップは、キャッシュしたアクターセットを更新して、隔離したマネージドサーバの変更後状態を示し、それによって、更新されたアクターセットを指定するステップをさらに含む。上記ステップは、更新されたアクターセットのどれが他のマネージドサーバに関連するのかを判定し、それによって、現在関連する更新後アクターセットを指定するステップをさらに含む。上記ステップは、現在関連する更新後アクターセットが、他のマネージドサーバに以前送ったアクターセットと異なるかどうか、を判定するステップをさらに含む。上記ステップは、現在関連する更新後アクターセットが、以前送ったアクターセットと同一である、という判定に応じて、それ以上アクションは取らないステップをさらに含む。
【０００５】
システムの一実施形態には、ステップを実行するべく実行可能なコンピュータプログラムモジュールを記憶する非一時的コンピュータ可読記憶媒体が含まれる。上記ステップは、マネージドサーバの記述を変更して、マネージドサーバが隔離されることを示し、それによって、隔離したマネージドサーバの記述を指定するステップを含む。上記ステップは、キャッシュしたアクターセットを更新して、隔離したマネージドサーバの変更後状態を示し、それによって、更新されたアクターセットを指定するステップをさらに含む。上記ステップは、更新されたアクターセットのどれが他のマネージドサーバに関連するのかを判定し、それによって、現在関連する更新後アクターセットを指定するステップをさらに含む。上記ステップは、現在関連する更新後アクターセットが、他のマネージドサーバに以前送ったアクターセットと異なるかどうか、を判定するステップをさらに含む。上記ステップは、現在関連する更新後アクターセットが、以前送ったアクターセットと同一である、という判定に応じて、それ以上アクションは取らないステップをさらに含む。
【図面の簡単な説明】
【０００６】
【図１】一実施形態に係る、管理ドメインのマネージングサーバ（物理的または仮想的）のための環境を説明する、上位レベルのブロック図である。
【図２】一実施形態に係る、図１で説明されるエンティティのうちの１つまたは複数として使用するための、コンピュータの一例を説明する上位レベルのブロック図である。
【図３】一実施形態に係る、グローバルマネージャの詳細な概念を説明する上位レベルのブロック図である。
【図４】一実施形態に係る、マネージドサーバのポリシー実行モジュールの詳細な概念を説明する上位レベルのブロック図である。
【図５】一実施形態に係る、特定のマネージドサーバ用のマネージメント命令を生成する方法を説明するフローチャートである。
【図６】一実施形態に係る、マネージドサーバのマネージメントモジュールの構成を生成する方法を説明するフローチャートである。
【図７】一実施形態に係る、マネージドサーバのローカル状態を監視し、かつ、ローカル状態情報をグローバルマネージャに送る、方法を説明するフローチャートである。
【図８】一実施形態に係る、管理ドメインのコンピュータネットワークインフラの状態に対する変更を処理する方法を説明するフローチャートである。
【図９】一実施形態に係る、不正プロセスを検出して報告する方法を説明するフローチャートである。
【図１０】一実施形態に係る、管理ドメイン内のマネージドサーバを隔離する方法を説明するフローチャートである。
【図１１】一実施形態に係る、管理ドメイン内のアンマネージドデバイスのグループの状態に対する変更を処理する方法を説明するフローチャートである。
【発明を実施するための形態】
【０００７】
図面（単数または複数）および以下の記載では、単に例として、特定の実施形態について説明する。当業者は、本明細書において説明される構造および方法の代替えの実施形態が、本明細書に記載される原理から逸脱することなく具現化されてよいことを、以下の記載から容易に認識するであろう。ここで、いくつかの実施形態が参照され、その例が添付の図面において説明される。実用的な限り、同様または同類の参照番号が、図面において使用されてよく、また、同様または同類の機能性を示してよい、ことに留意されたい。
【０００８】
図１は、一実施形態に係る、管理ドメイン１５０のマネージングサーバ（物理的または仮想的）１３０のための環境１００を説明する、上位レベルのブロック図である。管理ドメイン１５０は、例えば、サービスプロバイダ、法人、大学、または政府系機関、などの企業に相当してよい。環境１００は、企業自身により、または、企業がそのサーバ１３０をマネージするのを助ける、サードパーティ（例えば、第２の企業）により、維持されてよい。図示のように、環境１００には、ネットワーク１１０、グローバルマネージャ１２０、複数のマネージドサーバ１３０、および、複数のアンマネージドデバイス１４０、が含まれる。複数のマネージドサーバ１３０および複数のアンマネージドデバイス１４０は、管理ドメイン１５０に関連付けられる。例えば、これらは、企業、または、企業の代わりにサードパーティ（例えば、公的クラウドサービスプロバイダ）によって操作される。図１に示す実施形態では、明確にするために、１つのグローバルマネージャ１２０、２つのマネージドサーバ１３０、および、２つのアンマネージドデバイス１４０が、図示されるが、他の実施形態では、異なる数のグローバルマネージャ１２０、マネージドサーバ１３０、および／またはアンマネージドデバイス１４０を、有することができる。
【０００９】
ネットワーク１１０は、グローバルマネージャ１２０、マネージドサーバ１３０、およびアンマネージドデバイス１４０の間の通信経路を表す。一実施形態において、ネットワーク１１０は、標準の通信術および／またはプロトコルを使用し、インターネットを含むことができる。別の実施形態において、ネットワーク１１０上のエンティティは、カスタムおよび／または専用のデータ通信技術を使用することができる。
【００１０】
マネージドサーバ１３０は、管理ドメイン規模のマネージメントポリシー３３０（図３に示す）を実行する機械（物理的または仮想的）である。一実施形態において、サーバは、オペレーティングシステムのカーネルが、１つのみのインスタンスの代わりに、複数の分離されたユーザ空間のインスタンスを有効にする、サーバ仮想化方法である、オペレーティングシステムのレベル仮想化に従う、仮想サーバ（コンテナ、仮想化エンジン、仮想プライベートサーバ、またはジェイルとも称されることがある）のユーザ空間のインスタンスである。マネージドサーバ１３０が物理的機械である場合、マネージドサーバ１３０は、コンピュータまたはコンピュータのセットである。マネージドサーバ１３０が仮想機械である場合、マネージドサーバ１３０は、コンピュータまたはコンピュータのセット上で実行される。管理ドメイン規模のマネージメントポリシー３３０は、管理ドメイン１５０に関連付けられるエンティティが、他のエンティティにアクセスすること（もしくは、他のエンティティによってアクセスされること）、または、他の方法でサービスを消費すること（もしくは提供すること）、を許可されるかどうか、および／または、管理ドメイン１５０に関連付けられるエンティティが、どのように、他のエンティティにアクセスすること（もしくは、他のエンティティによってアクセスされること）、または、他の方法でサービスを消費すること（もしくは提供すること）、を許可されるのかを指定する。例えば、管理ドメイン規模のマネージメントポリシー３３０は、セキュリティまたはリソース利用を指定する。セキュリティポリシーは、アクセス制御、セキュア接続、ディスク暗号化、および／または、実行可能プロセスの制御、を指定することができ、一方、リソース利用のポリシーは、管理ドメインのコンピューティングリソース（例えば、ディスク、周辺機器、および／または、帯域幅）の利用を規定することができる。
【００１１】
マネージドサーバ１３０には、マネージメントモジュール１３２、マネージメントモジュール構成１３４、および、ポリシー実行モジュール１３６、が含まれる。マネージメントモジュール１３２は、管理ドメイン規模のマネージメントポリシー３３０を実行する。例えば、セキュリティの場合、マネージメントモジュール１３２は、オペレーティングシステムレベルのファイアウォール、インターネットプロトコルセキュリティ（ＩＰｓｅｃ）エンジン、またはネットワークトラフィックフィルタリングエンジン（例えば、ウィンドウズフィルタリングプラットフォーム（ＷＦＰ）開発プラットフォームに基づく）、などの下位レベルのネットワークまたはセキュリティエンジンとすることができる。リソース利用の場合、マネージメントモジュール１３２は、ディスク利用のエンジンまたは周辺機器利用のエンジンとすることができる。
【００１２】
マネージメントモジュール構成１３４は、マネージメントモジュール１３２の動作に影響を与える。例えば、セキュリティの場合、マネージメントモジュール構成１３４は、ファイアウォールによって適用されるアクセス制御ルール、ＩＰｓｅｃエンジンによって適用されるセキュア接続ポリシー（例えば、Ｌｉｎｕｘオペレーティングシステムのｉｐｔａｂｌｅｓエントリーおよびｉｐｓｅｔエントリーとして、具現化される）、または、フィルタリングエンジンによって適用されるフィルタリングルール、とすることができる。リソース利用の場合、マネージメントモジュール構成１３４は、ディスク利用のエンジンによって適用されるディスク利用のポリシー、または、周辺機器利用のエンジンによって適用される周辺機器利用のポリシー、とすることができる。
【００１３】
ポリシー実行モジュール１３６は、ａ）グローバルマネージャ１２０から受け取るマネージメント命令、および、ｂ）マネージドサーバ１３０の状態、に基づき、マネージメントモジュール構成１３４を生成する。マネージメント命令は、管理ドメイン規模のマネージメントポリシー３３０に部分的に基づき生成される。ポリシー実行モジュール１３６によって生成されるマネージメントモジュール構成１３４は、その管理ドメイン規模のマネージメントポリシー３３０を実行する（ポリシーがマネージドサーバ１３０に関与する範囲で）。この２段階のプロセス（マネージメント命令を生成する、および、マネージメントモジュール構成１３４を生成する）は、マネージメントポリシーの「インスタンス化」と称される。ポリシー実行モジュール１３６はまた、マネージドサーバ１３０のローカル状態を監視し、ローカル状態情報をグローバルマネージャ１２０に送る。
【００１４】
一実施形態において、ポリシー実行モジュール１３６は、より大きなプロプライエタリモジュール（図示せず）の一部である。プロプライエタリモジュールは、マネージメントモジュール１３２およびマネージメントモジュール構成１３４を既に持っているデバイスにロードされ、それによって、デバイスを、アンマネージドデバイス１４０からマネージドサーバ１３０に変換する。ポリシー実行モジュール１３６については、図４、６、および７を参照して、以下でさらに説明する。
【００１５】
アンマネージドデバイス１４０は、ポリシー実行モジュール１３６を含まないコンピュータ（またはコンピュータのセット）である。アンマネージドデバイス１４０は、管理ドメイン規模のマネージメントポリシー３３０を実行しない。しかし、マネージドサーバ１３０とアンマネージドデバイス１４０との間の相互作用が、（マネージドサーバ１３０により実行されるような）管理ドメイン規模のマネージメントポリシー３３０に従うようにされてよい。アンマネージドデバイス１４０の一例は、管理ドメイン１５０によって使用されるネットワーク回路である。アンマネージドデバイス１４０の別の例は、管理ドメイン１５０（例えば、ノートブックもしくはデスクトップコンピュータ、タブレットコンピュータ、または携帯電話）に対して自身を認証する人によって使用されるデバイスである。
【００１６】
グローバルマネージャ１２０は、マネージドサーバ１３０用のマネージメント命令を生成して、生成したマネージメント命令をサーバに送る、コンピュータ（またはコンピュータのセット）である。マネージメント命令は、ａ）管理ドメインのコンピュータネットワークインフラの状態３２０、および、ｂ）管理ドメイン規模のマネージメントポリシー３３０、に基づいて生成される。管理ドメインのコンピュータネットワークインフラの状態３２０には、マネージドサーバ１３０の記述と、（選択的に）アンマネージドデバイス１４０の記述と、が含まれる。グローバルマネージャ１２０はまた、マネージドサーバ１３０から受け取るローカル状態情報を処理する。
【００１７】
管理ドメイン規模のマネージメントポリシー３３０は、「ラベル」と称される、上位レベルの特徴に基づくマネージドサーバ１３０を参照することができる論理的マネージメントモデルに基づく。ラベルは、「次元」（上位レベルの特徴）と、「値」（上位レベルの特徴の値）とを含む一対である。この多次元空間内に構築されるマネージメントポリシーは、単一特徴ネットワーク／ＩＰアドレスベースのポリシーモデルに従って構築されるマネージメントポリシーよりも、表現豊かである。特に、より上位レベルの抽象化である「ラベル」を使用してマネージメントポリシーを表現することで、人々が、マネージメントポリシーをより良く理解、可視化、および変更することを可能にする。
【００１８】
論理的マネージメントモデル（例えば、利用可能な次元の数および型と、それらの次元の可能性のある値）は、構成可能である。一実施形態において、論理的マネージメントモデルには、表１に示すように、以下の次元と値、とが含まれる。
【００１９】
【表１】
0006491221.tif 000002
【００２０】
論理的マネージメントモデルは、グループ内のマネージドサーバ１３０の全てを記述する１つまたは複数のラベル（本明細書において、「ラベルセット」と称する）を指定することにより、複数のマネージドサーバ１３０がまとめてグループ化されることを可能にする。ラベルセットは、論理的マネージメントモデルにおいて、１つの次元についてゼロ個の値または１個の値のどちらかを含む。ラベルセットは、論理的マネージメントモデルにおいて、全ての次元についてラベルを含む必要があるわけではない。このように、論理的マネージメントモデルは、管理ドメインのマネージドサーバ１３０の区分および分類と、マネージドサーバ１３０の任意のグループ分けの作成と、を可能にする。論理的マネージメントモデルはまた、単一のマネージドサーバ１３０が、複数の重複するセット（すなわち、マネージドサーバの複数の重複するグループ）内に存在できるようにする。論理的マネージメントモデルは、単一のマネージドサーバ１３０を、ネストされたセットの階層内に存在することに限定しない。
【００２１】
例えば、セキュリティの場合、区分は、アクセス制御ポリシーと共に使用されて、特定のポリシーに従うマネージドサーバ１３０のグループを定義することができる。同様に、区分は、セキュア接続ポリシーと共に使用されて、マネージドサーバ１３０のグループと、グループ内通信およびグループ間通信に適用されるポリシーと、を定義することができる。従って、第１のグループのマネージドサーバ１３０（第１のラベルセットにより指定される）内での通信は、第１のセキュア接続設定（例えば、要求されないセキュア接続）に制限されてよく、第１のグループのマネージドサーバおよび第２のグループのマネージドサーバ（第２のラベルセットにより指定される）との間の通信は、第２のセキュア接続設定（例えば、ＩＰｓｅｃ暗号ペイロード（Ｅｎｃａｐｓｕｌａｔｉｎｇ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ（ＥＳＰ））／認証ヘッダ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｈｅａｄｅｒ（ＡＨ）高度暗号化規格（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ））／セキュアハッシュルゴリズム（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ−２（ＳＨＡ−２）））に制限されてよい。
【００２２】
環境１００内の各マネージドサーバ１３０は、管理ドメイン規模のマネージメントポリシー３３０を実行する（ポリシーがマネージドサーバ１３０に関与する範囲で）。その結果、管理ドメイン規模のマネージメントポリシー３３０が、管理ドメイン１５０全体に分散するように適用され、チョークポイントが無い。また、管理ドメイン規模のマネージメントポリシー３３０は、管理ドメインの物理ネットワークトポロジおよびネットワークアドレッシングスキームとは無関係の論理レベルで、適用される。
【００２３】
グローバルマネージャ１２０、管理ドメインのコンピュータネットワークインフラの状態３２０、および管理ドメイン規模のマネージメントポリシー３３０については、図３、５、および８を参照して、以下でさらに説明する。
【００２４】
図２は、一実施形態に係る、図１で説明されるエンティティのうちの１つまたは複数として使用するための、コンピュータ２００の一例を説明する上位レベルのブロック図である。チップセット２０４に連結される少なくとも１つのプロセッサ２０２について、説明される。チップセット２０４には、メモリコントローラハブ２２０、および入力／出力（Ｉ／Ｏ）コントローラハブ２２２が含まれる。メモリ２０６およびグラフィックアダプタ２１２が、メモリコントローラハブ２２０に連結され、ディスプレイデバイス２１８が、グラフィックアダプタ２１２に連結される。記憶装置２０８、キーボード２１０、ポインティングデバイス２１４、およびネットワークアダプタ２１６が、Ｉ／Ｏコントローラハブ２２２に連結される。コンピュータ２００の他の実施形態は、異なるアーキテクチャを有する。例えば、メモリ２０６は、いくつかの実施形態において、プロセッサ２０２に直接連結される。
【００２５】
記憶装置２０８には、ハードドライブ、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ））、ＤＶＤ、またはソリッドステートメモリデバイス、などの１つまたは複数の非一時的コンピュータ可読記憶媒体が含まれる。メモリ２０６は、プロセッサ２０２により使用される命令およびデータを保持する。ポインティングデバイス２１４は、キーボード２１０と組み合わせて使用されて、データをコンピュータシステム２００に入力する。グラフィックアダプタ２１２は、画像および他の情報をディスプレイ装置２１８上に表示する。いくつかの実施形態において、ディスプレイ装置２１８には、ユーザの入力および選択を受け取るためのタッチスクリーン能力が含まれる。ネットワークアダプタ２１６は、コンピュータシステム２００をネットワーク１１０に連結する。コンピュータ２００のいくつかの実施形態は、図２に示すものとは異なるおよび／または他の構成要素を有する。例えば、グローバルマネージャ１２０および／またはマネージドサーバ１３０は、複数のブレードサーバで形成されて、ディスプレイ装置、キーボード、および他の構成要素が無くてもよく、一方、アンマネージドデバイス１４０は、ノートブックもしくはデスクトップコンピュータ、タブレットコンピュータ、または携帯電話、であってよい。
【００２６】
コンピュータ２００は、本明細書に記載される機能性を提供するためのコンピュータプログラムモジュールを実行するべく適合される。本明細書で使用されるとき、用語「モジュール」は、コンピュータプログラム命令および／または特定の機能性を提供するために使用される他の論理、を指す。従って、モジュールは、ハードウェア、ファームウェア、および／またはソフトウェアで実行されてよい。一実施形態言おいて、実行可能なコンピュータプログラム命令で形成されるプログラムモジュールが、記憶装置２０８上に記憶され、メモリ２０６にロードされ、プロセッサ２０２により実行される。
【００２７】
図３は、一実施形態に係る、グローバルマネージャ１２０の詳細な概念を説明する上位レベルのブロック図である。グローバルマネージャ１２０には、リポジトリ３００、およびプロセシングサーバ３１０、が含まれる。リポジトリ３００は、管理ドメインのコンピュータネットワークインフラの状態３２０と、管理ドメイン規模のマネージメントポリシー３３０と、グローバルセキュリティデータリポジトリ３３５と、を記憶するコンピュータ（またはコンピュータのセット）である。一実施形態において、リポジトリ３００には、プロセシングサーバ３１０に、要求に応じて、管理ドメイン状態３２０と、マネージメントポリシー３３５と、グローバルセキュリティデータリポジトリ３３５と、へのアクセスを提供するサーバが含まれる。
【００２８】
管理ドメインのコンピュータネットワークインフラの状態３２０には、マネージドサーバ１３０の記述と、（選択的に）アンマネージドデバイス１４０の記述と、が含まれる。マネージドサーバ１３０の記述には、例えば、一意識別子（ＵＩＤ）、オンライン／オフラインインジケータ、１つまたは複数の構成特徴（選択的）、ネットワーク露出情報、サービス情報、および、マネージドサーバ１３０を記述する１つまたは複数のラベル（ラベルセット）、が含まれる。
【００２９】
ＵＩＤは、マネージドサーバ１３０を一意的に識別する。オンライン／オフラインインジケータは、マネージドサーバ１３０がオンラインであるのかオフラインであるのかを示す。「構成特徴」は、マネージドサーバ１３０に関連する値を記憶し、任意のタイプの情報（例えば、どのオペレーティングシステムがマネージドサーバ上で実行中であるのかの指標）であってよい。構成特徴は、ルールの条件部分（以下で説明する）と併せて使用される。
【００３０】
ネットワーク露出情報は、マネージドサーバのネットワークインターフェースに関与する。一実施形態において、ネットワーク露出情報には、マネージドサーバのネットワークインターフェースのそれぞれについて、ネットワークインターフェースがアタッチされる「双方向到達可能ネットワーク（ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ−ｒｅａｃｈａｂｌｅ  ｎｅｔｗｏｒｋ（ＢＲＮ））」の識別子、および、ＢＲＮ内での動作に使用されるゼロ個以上のＩＰアドレス（およびそのサブネット）、が含まれる。ＢＲＮは、組織内の、または組織を超えた、サブネットのセットであり、ＢＲＮ内のいずれのノードも、ＢＲＮ内の任意の他のノードとの通信を確立することができる。例えば、ＢＲＮ内の全てのノードが一意的なＩＰアドレスを有する。換言すると、ＢＲＮは、ＮＡＴを何も含まない。ネットワーク露出情報（例えば、ネットワークインターフェースのＢＲＮ識別子）は、ルールの条件部分と併せて使用されてよい。
【００３１】
別の実施形態において、ネットワーク露出情報には、ルーティング情報、および／または、マネージドサーバが、ネットワークアドレス変換器（ＮＡＴ）の後方にあるかどうか（および、ＮＡＴの後方にある場合は、どのタイプのＮＡＴ、すなわち、１：１または１：Ｎ、であるのか）、が含まれる。グローバルマネージャ１２０は、マネージドサーバ１３０が、ネットワークアドレス変換器（ＮＡＴ）の後方にあるかどうか（および、ＮＡＴの後方にある場合は、どのタイプのＮＡＴ、すなわち、１：１または１：Ｎ、であるのか）、を判定することができる。例えば、グローバルマネージャ１２０は、（ａ）グローバルマネージャとサーバとの間のＴＣＰ接続に係る、サーバのＩＰアドレスと、（ｂ）サーバから受け取るローカル状態情報に係る、サーバのＩＰアドレスと、を比較することにより、ＮＡＴが、グローバルマネージャ１２０とマネージドサーバ１３０との間に存在するかどうかを判定する。（ａ）と（ｂ）とが異なる場合、ＮＡＴは、グローバルマネージャ１２０とマネージドサーバ１３０との間に存在する。ＮＡＴが存在しない場合、グローバルマネージャ１２０は、データセンター決定を実行することにより、ＮＡＴのタイプ（１：１または１：Ｎ）を判定する。例えば、グローバルマネージャ１２０は、サーバのデータセンターを、データセンターのパブリックＩＰアドレスによって、識別する。（あるいは、マネージドサーバが、サーバの外部だが、データセンター内部にある情報を問い合わせることにより、データセンター決定を実行する。そして、サーバが、その情報をグローバルマネージャに、ローカルステータスの一部として送る。）構成情報は、どのタイプのＮＡＴがどのデータセンターによって使用されるのか、を示す。何のＮＡＴ情報も、特定のデータセンターに関連付けされない場合、グローバルマネージャ１２０は、ＮＡＴのタイプが１：Ｎであると想定する。
【００３２】
サービス情報には、例えば、プロセス情報および／またはパッケージ情報が含まれる。プロセス情報には、例えば、マネージドサーバ１３０が実行中のプロセスの名称、どのネットワークポートおよびネットワークインターフェース上で、それらのプロセスがリッスンしているのか、どのユーザがそれらのプロセスを起動したのか、それらのプロセスの構成、それらのプロセスのコマンドラインｌａｕｎｃｈ引数、および、それらのプロセスの依存関係（例えば、それらのプロセスがリンクする共有オブジェクト）、が含まれる。（それらのプロセスは、マネージドサーバ１３０がサービスを提供すること、または、サービスを利用すること、に相当する。）パッケージ情報には、例えば、どのパッケージ（実行ファイル、ライブラリ、または他の構成要素）がマネージドサーバ１３０にインストールされるのか、それらのパッケージのバージョン、それらのパッケージの構成、および、それらのパッケージのハッシュ値、が含まれる。
【００３３】
アンマネージドデバイス１４０の記述には、例えば、ネットワーク露出情報（例えば、アンマネージドデバイスのＩＰアドレス、および、アンマネージドデバイスが接続されるＢＲＮの識別子）が含まれる。アンマネージドデバイス１４０は、「アンマネージドデバイスグループ」（ＵＤＧ）の一部である。ＵＤＧには、１つまたは複数のアンマネージドデバイス１４０が含まれる。例えば、「本部ＵＤＧ」には、管理ドメインの本部によって使用される一次回路およびアックアップ回路が含まれてよく、各回路はＩＰアドレスに関連付けられる。ＵＤＧは、一意識別子（ＵＩＤ）に関連付けられる。
ＵＤＧに関する管理ドメイン状態３２０内に記憶される情報には、ＵＤＧのＵＩＤ、および、ＵＤＧ内のアンマネージドデバイス１４０に関する情報（例えば、アンマネージドデバイスのネットワーク露出情報）、が含まれる。
【００３４】
マネージドサーバ１３０およびアンマネージドデバイス１４０の記述は、種々の方法で、例えば、グラフィカルユーザインターフェース（ＧＵＩ）またはアプリケーションプログラミングインターフェース（ＡＰＩ）を介して、グローバルマネージャ１２０と相互作用することにより、管理ドメイン状態３２０にロードされてよい。マネージドサーバ１３０の記述はまた、マネージドサーバから受け取るローカルステータス情報（以下で説明する）に基づき、管理ドメイン状態３２０にロードされてよい。
【００３５】
特にマネージドサーバのラベル（および、ある場合は、構成特徴）に関して、次元についての値の割り当て（または再割り当て）（または、構成特徴の値の設定）が、さらに多くの方法で実行されてよい。例えば、割り当て／設定は、マネージドサーバ１３０をプロビジョニングニングすることの一部として、展開および構成のツールを使用して実行されてよい。任意のそのようなツールが使用可能であり、既成のサードパーティのツール（例えば、Ｐｕｐｐｅｔ  Ｌａｂｓ社のＰｕｐｐｅｔというソフトウェア、Ｏｐｓｃｏｄｅ社のＣｈｅｆというソフトウェア、または、ＣＦＥｎｇｉｎｅ  ＡＳ社のＣＦＥｎｇｉｎｅというソフトウェア）、および、管理ドメイン１５０が有してよいカスタムツール、が含まれる。
【００３６】
別の例として、割り当て／設定は、ラベルおよびまたは／構成特徴（「ＣＣ」）値を計算する「ラベル／構成特徴エンジン」（図示せず）によって実行されてよい。
一実施形態において、ラベル／ＣＣエンジンが、ラベル／ＣＣ割り当てルールに基づき、ラベル／ＣＣ値を計算する。ラベル／ＣＣ割り当てルールは、管理ドメイン状態３２０からのデータにアクセスし、ラベルまたはＣＣ値を割り当てる（または、割り当てを示唆する）、機能である。ラベル／ＣＣ割り当てルールは、プリセットまたはユーザ構成可能であってよい。例えば、グローバルマネージャ１２０には、あらかじめ定義されたルールのセットが含まれるが、エンドユーザは、それらのルールを変更および／または削除すること、および、ユーザ自身のカスタム要件に基づき、新しいルールを追加すること、ができる。ラベル／ＣＣ割り当てルールは、初期化プロセス中に、マネージドサーバ１３０について評価されてよい。そして、ラベル／ＣＣ値の示唆は、任意の次元／ＣＣについて作成することができ、エンドユーザは、それらの示唆を受け入れること、または拒否することができる。
例えば、マネージドサーバ１３０が、ＰｏｓｔｇｒｅｓデータベースまたはＭｙＳＱＬデータベースを実行中である場合、示唆されたラベルは、＜役割，データベース＞であってよい。マネージドサーバが、Ｌｉｎｕｘオペレーティングシステムを実行中である場合、オペレーティングシステムについて示唆された値ＣＣは、「Ｌｉｎｕｘ」であってよい。
【００３７】
別の実施形態において、ラベル／ＣＣエンジンは、クラスタ分析に基づき、ラベル／ＣＣ値を計算する。例えば、ラベル／ＣＣエンジンは、追加の発見的問題解決法と共に、連結したグラフの、ｍｉｎ−ｃｕｔアルゴリズムおよびＫ−ｍｅａｎｓアルゴリズムの組み合わせを使用して、上位に接続されたマネージドサーバ１３０のクラスタを自動的に識別する．マネージドサーバ１３０のクラスタは、管理ドメイン１５０における「アプリケーション」（表１を参照）に相当し得る。エンドユーザは、アプリケーション次元（または、任意の他の次元）について値を、それらのマネージドサーバ１３０に、一斉に適用することを選択することができる。
【００３８】
管理ドメイン規模のマネージメントポリシー３３０には、１つまたは複数のルールが含まれる。大まかに言うと、「ルール」は、サービスの１つまたは複数のプロバイダと、そのサービスの１つまたは複数のコンシューマとの間のリレーションシップを指定する。
【００３９】
ルール機能−リレーションシップは、ルールの実際の影響である、「ルール機能」に統轄される。例えば、セキュリティの場合、ルール機能は、アクセス制御、セキュア接続、ディスク暗号化、または、実行可能プロセスの制御、であってよい。アクセス制御機能でのルールは、コンシューマが、プロバイダのサービスを使用できるかどうかを指定する。一実施形態において、アクセス制御機能は、純粋な「ホワイトリスト」モデルを使用し、これは、許容可能なリレーションシップのみが表現され、全ての他のリレーションシップが、デフォルトでブロックされる、ということを意味するセキュア接続機能でのルールは、どのセキュアなチャンネル上（例えば、２地点間データ暗号化を使用する、暗号化されたネットワークセッション）で、コンシューマがプロバイダのサービスを使用することができるのかを指定する。例えば、セキュア接続機能でのルールは、プロバイダが米国に置かれ、コンシューマがＥＵに置かれているときは、プロバイダのサービスの利用が暗号化されなければならない、ということを指定することができる。ディスク暗号化機能でのルールは、プロバイダが、そのデータを暗号化ファイルシステム上に記憶しなればならないかどうか、を指定する。実行可能プロセスの制御機能でのルールは、プロセスが実行を許可されるかどうかを指定する。
【００４０】
リソース利用の場合、ルール機能は、ディスク利用または周辺機器利用、とすることができる。ディスク利用機能でのルールは、コンシューマがプロバイダ上に記憶可能なデータの量を指定する。ここで、ルールは、単なるアクセス制御、セキュア接続、ディスク暗号化、実行可能プロセスの制御、ディスク利用、および周辺機器利用を超えて、他のルール機能を指定することが可能である。例えば、ルール機能は、どの開放型システム間相互接続（ＯＳＩ）モデルの第７層のサービスを、ネットワークトラフィック、セキュリティ分析のための収集すべきメタデータの量、または、完全なネットワークパケットを獲得するためのトリガー、に適用するのかを指定する。マネージメントポリシーモデルは、適用可能な任意の数のルール機能をサポートする。
【００４１】
ルール機能は、ルールの実際の影響に関する詳細を指定する、１つまたは複数の設定（本明細書においては「機能プロファイル」と称する）に関連付けられてよい。例えば、セキュア接続のルール機能に関連する設定は、ネットワークトラフィックの暗号化に使用される暗号アルゴリズムのリストであってよい。一実施形態において、ルール機能は、複数の機能プロファイルに関連付けられ、機能プロファイルには優先度が含まれる。この優先度は、以下で説明するように、機能レベル命令生成モジュール３６０によって使用される。
【００４２】
サービス−一般に、「サービス」は、指定のネットワークポート上で、指定のネットワークプロトコルを使用して、実行される任意のプロセスである。マネージメントポリシー３３０内のルールのサービスは、ポート／プロトコルの対と、プロセス情報および／またはパッケージ情報（管理ドメイン状態３２０内のマネージドサーバ１３０の記述について、上記で説明した）などの、（選択的）追加の適格性と、によって指定される。マネージドサーバ１３０が、複数のネットワークインターフェースを有する場合、サービスを、全てのネットワーク上、または、それらのネットワークのサブセット上のみに、露出させることができる。エンドユーザは、どのネットワーク上に、サービスを露出させるかを指定することができる。なお、ルール機能によっては、サービスは、いずれのネットワークリソースも使用しなくてもよい。例えば、実行可能プロセスの制御のルール機能のサービスでは、ネットワークプロトコルを使用したネットワークポート上での実行をしない。
【００４３】
プロバイダ／コンシューマ−サービスの１つまたは複数のプロバイダ、および、サービスの１つまたは複数のコンシューマ（すなわち、ユーザ）は、マネージドサーバ１３０および／またはアンマネージドデバイス１４０である。
【００４４】
一実施形態において、ルールは、ルール機能部分、サービス部分、提供元部分、使用元部分、および選択的ルール条件部分、を含む情報のセットを使用して、管理ドメイン規模のマネージメントポリシー３３０内に、表される。ルール機能部分は、ルールの実際の影響を記述し、１つまたは複数の設定（機能プロファイル）に関連付けられてよい。サービス部分は、ルールが適用されるサービスを記述する。サービス部分が「Ａｌｌ（全て）」を示す場合、ルールは全てのサービスに適用される。
【００４５】
提供元（ＰＢ）部分は、どのマネージドサーバ１３０および／またはアンマネージドデバイス１４０が、サービスを提供可能であるか（すなわち、誰が「プロバイダ」なのか）、を記述する。ＰＢ部分が「Ａｎｙｂｏｄｙ（誰でも）」を示す場合、誰でも（例えば、任意のマネージドサーバ１３０またはアンマネージドデバイス１４０）、サービスを提供することが可能である。ＰＢ部分が「Ａｎｙ  ｍａｎａｇｅｄ  ｓｅｒｖｅｒ（どのマネージドサーバでも）」を示す場合、どのマネージドサーバ１３０でも、サービスを提供することが可能である。（「Ａｎｙ  ｍａｎａｇｅｄ  ｓｅｒｖｅｒ」は、ワイルドカードを含むラベルセットを指定することと等価であり、それによって、全てのマネージドサーバ１３０にマッチングする）。使用元（ＵＢ）部分は、どのマネージドサーバ１３０および／またはアンマネージドデバイス１４０が、サービスを使用可能であるか（すなわち、誰が「コンシューマ」であるのか）を記述する。ＰＢ部分と同様に、ＵＢ部分は、「Ａｎｙｂｏｄｙ」または「Ａｎｙ  ｍａｎａｇｅｄ  ｓｅｒｖｅｒ」を示すこともできる。
【００４６】
ＰＢ部分およびＵＢ部分内には、マネージドサーバ１３０が、ラベルセット（すなわち、マネージドサーバを記述する１つまたは複数のラベル）またはＵＩＤを使用することにより、指定される。ラベルセットを使用してマネージドサーバ１３０を指定する能力は、論理的マネージメントモデルに由来するもので、マネージドサーバを、その次元および値（ラベル）に基づき参照する。アンマネージドデバイス１４０は、アンマネージドデバイスグループ（ＵＤＧ）のＵＩＤを使用することにより指定される。ルールがＵＤＧを指定する場合、ルールには、そのグループ内のアンマネージドデバイス１４０に関する追加情報（例えば、デバイスのネットワーク露出情報）が含まれる。ルールのＰＢ部分および／またはルールのＵＢ部分には、ラベルセット（マネージドサーバ１３０を指定するための）、マネージドサーバのＵＩＤ、および／またはＵＤＧのＵＩＤ、を含む複数の項目が含まれてよい。
【００４７】
ルール条件部分は、選択的なものであり、ルールが、特定のマネージドサーバ１３０、および／または、そのマネージドサーバの特定のネットワークインターフェース、に適用されるかどうかを指定する。ルール条件部分は、１つまたは複数の構成特徴（「ＣＣ」、管理ドメイン状態３２０内のマネージドサーバの記述の一部である）、および／または、ネットワーク露出情報（例えば、ネットワークインターフェースのＢＲＮ識別子、これも管理ドメイン状態３２０内のマネージドサーバの記述の一部である）、を含む、ブール式である。式のＣＣ部分は、ルールが、特定のマネージドサーバに適用されるかどうかを指定し、一方、ネットワーク露出情報部分は、ルールが、そのマネージドサーバの特定のネットワークインターフェースに適用されるかどうかを指定する。式が、特定のマネージドサーバの構成特徴について（詳細には、そのマネージドサーバの構成特徴の値について）、および、特定のネットワークインターフェースの情報について、「真」と評価する場合、ルールは、そのマネージドサーバ、および、そのマネージドサーバの関連ネットワークインターフェース、に適用される。式が「偽」と評価する場合、ルールは、そのマネージドサーバ、および、そのマネージドサーバの関連ネットワークインターフェース、には適用されない。例えば、構成特徴が、どのオペレーティングシステムがマネージドサーバ上で実行中であるかの指標を記憶する場合、その構成特徴を含むルール条件部分は、ルールが特定のマネージドサーバに適用されるかどうかを、そのサーバのオペレーティングシステムに基づき、制御することができる。
【００４８】
管理ドメイン規模のマネージメントポリシー３３０内のルールは、ルールリストとして編成される。詳細には、マネージメントポリシー３３０には、１つまたは複数のルールリストが含まれ、ルールリストには、１つまたは複数のルールと、（選択的に）１つまたは複数のスコープと、が含まれる。Ａ「スコープ」は、どこに（すなわち、どのマネージドサーバ１３０に）ルールが適用されるのか、を制約する。スコープには、ルールリスト内のルールの適用を制限する、提供元（ＰＢ）部分および使用元（ＵＢ）部分が含まれる。スコープのＰＢ部分は、ルールのＰＢ部分を制限し、スコープのＵＢ部分は、ルールのＵＢ部分を制限する。スコープのＰＢ部分およびＵＢ部分は、マネージドサーバ１３０のグループを、ラベルセットを使用することにより指定する。ラベルセットが、指定の次元のラベルを含まない場合、結果として得られるマネージドサーバ１３０のグループについて、その次元のスコーピングが無い。ルールリストが、何のスコープも含まない場合、そのルールはグローバルに適用される。
【００４９】
異なるスコープが、単一のルールリストに適用されてよい。例えば、エンドユーザは、どのように、ウェブサービスティア（＜役割，Ｗｅｂ＞ラベルのマネージドサーバ１３０）が、データベースティア（＜役割，データベース＞ラベルのマネージドサーバ）からサービスを消費するのか、どのように、ロードバランシングティアが、ウェブサービスティアからサービスを消費するのか、などを表現するルールのセットを構築することができる。そして、エンドユーザが、このルールリストを自分のプロダクション環境（＜環境，プロダクション＞ラベルのマネージドサーバ）および自分のステージング環境（＜環境，ステージング＞ラベルのマネージドサーバ）に適用したい場合、エンドユーザは、ルールリストをコピーも複製もする必要が無い。代わりに、エンドユーザは、複数のスコープを単一のルールリスト（ＰＢ部分とＵＢ部分とに、＜環境，プロダクション＞ラベルが含まれる第１のスコープ、および、ＰＢ部分とＵＢ部分とに、＜環境，ステージング＞ラベルが含まれる第２のスコープ）に適用する。スコープの抽象化により、有用性の観点および計算の観点の両方から、ルールリストが拡大縮小される。
【００５０】
ここで、管理ドメイン規模のマネージメントポリシー３３０は記述済みであり、これは、いくつかの例に対処することに役立つ。ユーザデバイスがウェブサーバ（第１のティア）にアクセスし、ウェブサーバがデータベースサーバ（第２のティア）にアクセスする、２ティアアプリケーションを用いる管理ドメイン１５０について検討する。第１のティアにおいて、ユーザデバイスはコンシューマであり、ウェブサーバはプロバイダである。第２のティアにおいて、ウェブサーバはコンシューマであり、データベースサーバはプロバイダである。管理ドメイン１５０には、このアプリケーションの２つのインスタンスが含まれ、１つはプロダクション環境内、１つはステージング環境内、にある。
【００５１】
ウェブサーバおよびデータベースサーバは、マネージドサーバ１３０であり、それらの記述（例えば、ラベルセット）は、管理ドメイン状態３２０内に存在する。例えば、それらのラベルセットは、
プロダクションにおけるウェブサーバ：＜役割，ウェブ＞および＜環境，プロダクション＞
プロダクションにおけるデータベースサーバ：＜役割，データベース＞および＜環境，プロダクション＞
ステージングにおけるウェブサーバ：＜役割，ウェブ＞および＜環境，ステージング＞
ステージングにおけるデータベースサーバ：＜役割，データベース＞および＜環境，ステージング＞
（アプリケーション次元、業種次元、およびロケーション次元は、この例に関連しないため、それらのラベルは省略する。）
【００５２】
ここで、アクセス制御およびセキュア接続を指定するセキュリティポリシーである、以下の管理ドメイン規模のマネージメントポリシー３３０について検討する。
【００５３】
ルールリスト＃１
●スコープ
○＜環境，プロダクション＞
○＜環境，ステージング＞
●ルール
○＃１
・機能：アクセス制御
・サービス：アパッチ
・ＰＢ：＜役割，ウェブ＞
・ＵＢ：Ａｎｙｂｏｄｙ
○＃２
・機能：アクセス制御
・サービス：ＰｏｓｔｇｒｅＳＱＬ
・ＰＢ：＜役割，データベース＞
・ＵＢ：＜役割，ウェブ＞
ルールリスト＃２
●スコープ無
●ルール
○＃１
・機能：セキュア接続
・サービス：Ａｌｌ
・ＰＢ：＜役割，データベース＞
・ＵＢ：Ａｎｙ  ｍａｎａｇｅｄ  ｓｅｒｖｅｒ
【００５４】
なお、上記のルールは、明確にするために、単に「アパッチ」および「ＰｏｓｔｇｒｅＳＱＬ」として、サービスを参照する。
サービスが、プロセスであり、ポート／プロトコルの対と、プロセス情報および／またはパッケージ情報（管理ドメイン状態３２０内のマネージドサーバ１３０の記述について、上記で説明した）などの、（選択的）追加の適格性、によって指定されるということを、思い出されたい。
【００５５】
ルールリスト＃１／ルール＃１では、任意のデバイス（例えば、ユーザデバイス）が、ウェブサーバに接続して、アパッチサービスを使用することが許可される。詳細には、接続の許可が、機能部分の「アクセス制御」によって指定される。「任意のデバイス」が、ＵＢ部分の「Ａｎｙｂｏｄｙ」によって指定される。「ウェブサーバ」が、ＰＢ部分の「＜役割，ウェブ＞」（１つのラベルのみを含むラベルセット）によって指定される。アパッチサービスが、サービス部分の「アパッチ」によって指定される。
【００５６】
ルールリスト＃１／ルール＃２では、ウェブサーバが、データベースサーバ上のＰｏｓｔｇｒｅＳＱＬに接続することが許可される。詳細には、接続の許可が、機能部分の「アクセス制御」によって指定される。「ウェブサーバ」が、ＵＢ部分の「＜役割，ウェブ＞」によって指定される。「ＰｏｓｔｇｒｅＳＱＬ」が、サービス部分の「ＰｏｓｔｇｒｅＳＱＬ」によって指定される。「データベースサーバ」が、ＰＢ部分の「＜役割，データベース＞」（１つのラベルのみを含むラベルセット）によって指定される。
【００５７】
ルールリスト＃１ではまた、環境間の接続を防ぐ。例えば、ウェブサーバとデータベースサーバとの両方が、同じ環境内にある場合（例えば、両方ともプロダクション環境内にある、または、両方ともステージング環境内にある）、ウェブサーバは、データベースサーバ上のＰｏｓｔｇｒｅＳＱＬに接続することが許可される。プロダクション環境内の両サーバは、スコープ部分の＜環境，プロダクション＞」（１つのラベルのみを含むラベルセット）によって指定され、一方、ステージング環境内の両サーバは、スコープ部分の「＜環境，ステージング＞」（１つのラベルのみを含むラベルセット）によって指定される。（本例のスコープは、ＰＢ部分とＵＢ部分との間を区別しないため、それぞれのスコープのラベルセットが、ＰＢ部分およびＵＢ部分の両方に適用される。）その結果、サーバが、異なる環境内にある場合（例えば、ウェブサーバがステージング環境内にあり、データベースサーバがプロダクション環境内にある場合）は、ウェブサーバは、データベースサーバ上のＰｏｓｔｇｒｅＳＱＬにアクセスすることが許可されない。
【００５８】
ルールリスト＃２は、任意のマネージドサーバが、データベースサーバに接続するときはいつでも、その接続が暗号化されたチャンネルを介して実行されなければならない、ということを提示する。詳細には、「データベースサーバ」が、ＰＢ部分の「＜役割，データベース＞」によって指定される。「暗号化されたチャンネル」が、機能部分の「セキュア接続」によって指定される。「任意のマネージドサーバ」が、ＵＢ部分の「Ａｎｙ  ｍａｎａｇｅｄ  ｓｅｒｖｅｒ」によって指定される。「いつでも」が、サービス部分の「Ａｌｌ」によって指定される。
【００５９】
上記の例から離れて、以下の２つのマネージドサーバ１３０について検討する。サーバ１は、プロダクションの一部であり、ａｐｐ１の一部であり、カリフォルニアのエンジニアリングが所有する、ウェブサーバである。以下のようにラベル付けされる。
＜役割，ウェブ＞
＜環境，プロダクション＞
＜アプリケーション，ａｐｐ１＞
＜業種，エンジニアリング＞
＜ロケーション，ＵＳ＞
サーバ２は、プロダクションの一部であり、ａｐｐ１の一部でもあり、ドイツのエンジニアリングが所有する、データベースサーバである。以下のようにラベル付けされる。
＜役割，データベースサーバ＞
＜環境，プロダクション＞
＜アプリケーション，ａｐｐ１＞
＜業種，エンジニアリング＞
＜ロケーション，ＥＵ＞
【００６０】
アクセス制御ルールが、ａｐｐ１の一部である全てのマネージドサーバ１３０への全てのアクセスを許可する、と仮定する。このルールでは、サーバ１とサーバ２とが、お互いに通信することが許可され、ａｐｐ２の一部であるドイツのマネージドサーバ１３０が、サーバ１またはサーバ２と通信することが許可されない。ここで、セキュア接続ルールが、ＥＵとＵＳとの間の全てのネットワークトラフィックは、暗号化されなければならない、ことを指定する、と仮定する。ルール機能は、単独で適用される。換言すると、セキュア接続ルールは、アクセス制御ルールとは無関係に適用される別個のポリシーである。その結果、サーバ１からサーバ２へのネットワークトラフィックが、許可されて（アクセス制御ルールが与えられて）、暗号化される（セキュア接続ルールが与えられる）。
【００６１】
図３に戻って、グローバルセキュリティデータリポジトリ３３５については、「追加的なセキュリティの態様」と題する章において以下で説明する。
【００６２】
プロセシングサーバ３１０は、マネージドサーバ１３０用のマネージメント命令を生成して、生成したマネージメント命令をサーバに送る。プロセシングサーバ３１０はまた、マネージドサーバ１３０から受け取るローカル状態情報を処理する。プロセシングサーバ３１０には、ポリシーエンジンモジュール３４０、関連ルールモジュール３５０、機能レベル命令生成モジュール３６０、アクターエニュメレーションモジュール３７０、関連アクターモジュール３８０、管理ドメイン状態更新モジュール３８５、および、グローバルセキュリティモジュール３９０、などの種々のモジュールが含まれる。一実施形態において、プロセシングサーバ３１０には、リポジトリ３００と通信して、データを（例えば、ポリシーエンジンモジュール３４０、関連ルールモジュール３５０、機能レベル命令生成モジュール３６０、アクターエニュメレーションモジュール３７０、関連アクターモジュール３８０、管理ドメイン状態更新モジュール３８５、およびグローバルセキュリティモジュール３９０、を実行することにより）処理するコンピュータ（またはコンピュータのセット）が含まれる。
【００６３】
関連ルールモジュール３５０は、管理ドメイン規模のマネージメントポリシー３３０と、特定のマネージドサーバ１３０の指標（例えば、そのサーバのＵＩＤ）と、を入力として取り込み、そのサーバに関連するルールのセットを生成し、ルールのセットを出力する。これは、関連ルールモジュール３５０が、マネージメントポリシー３３０を検査して、所与のマネージドサーバ１３０用の関連ルールのみを抽出するために用いる、フィルタリングプロセスである。関連ルールモジュール３５０は、フィルタリングの実行を、マネージメントポリシー３３０内のルールリストの全てを反復すること、各ルールリストのスコープを分析して、スコープがこのマネージドサーバ１３０に適用されるかどうかを判定すること、および（スコープがこのマネージドサーバ１３０に適用される場合）各ルールリストのルールを分析して、それらのルールがこのマネージドサーバ１３０に適用されるかどうかを判定すること、によって行う。ルールがマネージドサーバ１３０に適用されるのは、ａ）ルールのＰＢ部分および／またはルールのＵＢ部分が、マネージドサーバを指定する場合、および、ｂ）ルールの条件部分（存在する場合）が、そのマネージドサーバについて（詳細には、マネージドサーバの構成特徴の値およびネットワーク露出情報について）、「真」となる場合、である。最終結果（本明細書において、マネージメントポリシー観点」と称する）は、２セットのルールのコレクションであり、１つは、このマネージドサーバ１３０がサービスを提供するルール、１つは、このマネージドサーバ１３０がサービスを消費するルール、である。
【００６４】
機能レベル命令生成モジュール３６０は、ルールのセット（例えば、関連ルールモジュール３５０により生成されるマネージメントポリシー観点）を入力として取り込み、機能レベルの命令を生成し、その機能レベルの命令を出力する。機能レベルの命令は、後で、マネージメント命令の一部としてマネージドサーバ１３０に送られる。機能レベルの命令は、それぞれが、ルール機能部分、サービス部分、ＰＢ部分、およびＵＢ部分を含む、という点で、ルールに類似する。しかし、ルールが、そのＰＢ部分および／またはＵＢ部分内に複数の項目（ラベルセット、マネージドサーバＵＩＤ、および／または、ＵＤＧのＵＩＤを含む）を含むことができる一方、機能レベルの命令は、そのＰＢ部分内に１項目のみ、およびそのＵＢ部分に１項目のみ、しか含まない。また、ルールが、そのＰＢ部分および／またはＵＢ部分内に、マネージドサーバ（その複数のネットワークインターフェースを含む）を指定することができる一方、機能レベルの命令は、そのＰＢ部分およびＵＢ部分内に、１つのネットワークインターフェースのみしか含まない。
【００６５】
機能レベル命令生成モジュール３６０は、ルールを分析し、そのルールに基づき１つまたは複数の機能レベルの命令を生成する。ルールのＰＢ部分が、複数の項目を含む場合、ルールのＵＢ部分が、複数の項目を含む場合、または、ルール（ＰＢ部分またはＵＢ部分）により参照されるマネージドサーバが、複数のネットワークインターフェースを有する場合、機能レベル命令生成モジュール３６０は、複数の機能レベルの命令を生成する（例えば、ＰＢ項目、ＵＢ項目、および特定のネットワークインターフェースの、可能な組み合わせごとに１つの機能レベルの命令）。
【００６６】
ＰＢ部分に２つの項目（ＡおよびＢ）、ならびに、ＵＢ部分に２つの項目（ＣおよびＤ）を含むルールについて検討する。機能レベル命令生成モジュール３６０は、以下のＰＢ部分およびＵＢ部分を用いて４つの機能レベルの命令を生成する１）ＰＢ＝Ａ、ＵＢ＝Ｃ；２）ＰＢ＝Ａ、ＵＢ＝Ｄ；３）ＰＢ＝Ｂ、ＵＢ＝Ｃ；４）ＰＢ＝Ｂ、ＵＢ＝Ｄ。ここで、ＰＢ部分またはＵＢ部分でマネージドサーバをカバーするルール（例えば、ＵＩＤまたはラベルセットを指定することにより）であって、そのマネージドサーバが複数のネットワークインターフェースを有する場合を検討する。機能レベル命令生成モジュール３６０は、複数の機能レベルの命令を生成する（例えば、マネージドサーバのネットワークインターフェースごとに１つの機能レベルの命令）。
【００６７】
機能レベル命令生成モジュール３６０は、ルール、それらのルール内の機能、および、それらのルールにより参照される機能プロファイル、を分析する。ルールリストに、複数のスコープが含まれる場合、機能レベル命令生成モジュール３６０は、それらのスコープをルールリストに、複数回繰り返し適用する（それによって、スコープごとに機能レベルの命令の完全なセットを生成する）。ルール機能が、複数の機能プロファイルに関連付けられてよいこと、および、機能プロファイルが優先度を含むことができること、を思い出されたい。機能レベル命令生成モジュール３６０は、種々の機能プロファイルの優先度に基づきルールを順序付けて、最高優先度の機能プロファイルが使用されるようにする。機能レベル命令生成モジュール３６０は、順序付けされたルールを、マネージドサーバ１３０が実行できるように、機能レベルの命令に変換する。機能レベルの命令は、適切なマネージドサーバ１３０および／またはアンマネージドデバイス１４０（例えば、入力されたルールにおいて参照されたマネージドサーバ１３０および／またはアンマネージドデバイス１４０）を参照し、ルールに関連するサービスのネットワーク露出の詳細を考慮に入れる。
【００６８】
ここで、機能レベル命令生成モジュール３６０は、特定のマネージドサーバ１３０用の機能レベルの命令を生成することができるが、該命令は、そのサーバには無意味なものとなる。例えば、そのマネージドサーバが、ルールの提供元（ＰＢ）部分によりカバーされ、そのため、機能レベル命令生成モジュール３６０が、対応する機能レベルの命令を生成する。しかし、ルールには、マネージドサーバのローカル状態を指定する部分も含まれる（例えば、提供されるサービスを記述するサービス部分）。グローバルマネージャ１２０には、マネージドサーバのローカル状態（例えば、マネージドサーバが実際にそのサービスを提供中であるかどうか）が分からないため、生成された機能レベルの命令がマネージドサーバに送られる。マネージドサーバは、そのローカル状態をチェックし（例えば、そのサービスを提供中であるかどうか）、それに従って、ポリシーコンパイルモジュール４１０を参照して以下で説明するように、機能レベルの命令を処理する。
【００６９】
アクターエニュメレーションモジュール３７０は、マネージドサーバ１３０およびアンマネージドデバイスグループ（ＵＤＧ）の記述（例えば、管理ドメインのコンピュータネットワークインフラの状態３２０）のコレクションを、入力として取り込み、サーバおよびＵＤＧのそれらの記述の表現を、エニュメレート（列挙）された形式（「アクターセット」と称する）で生成し、アクターセットを出力する。例えば、アクターエニュメレーションモジュール３７０は、マネージドサーバ１３０およびＵＤＧを、管理ドメイン状態３２０および可能性のあるラベルセット内にエニュメレートし、それぞれに一意識別子（ＵＩＤ）を割り当てる。これらのアクターセットは、次に、ルールおよびスコープの、ＵＢ部分およびＰＢ部分、と併せて使用されてよく、これにより、マネージドサーバのＵＩＤ、ＵＤＧのＵＩＤ、および／または、ラベルセットを使用して、アクターを指定する。
【００７０】
Ｎ個の次元Ｄｉ（ｉ＝１，．．．，Ｎ）の集合を含み、各次元Ｄｉが、可能性ある値Ｖｊ（ｊ＝１，．．．，Μｉ）の集合Ｓｉを含む（ここで、ワイルドカード「＊」は可能性のある値のうちの１つである）、論理的マネージメントモデルについて検討する。一実施形態において、アクターエニュメレーションモジュール３７０は、論理的マネージメントモデルに基づき可能性のある全てのラベルセットをエニュメレートし、これは、Ｓ1×Ｓ2×．．．×ＳNで得られるデカルト積に等しい。この集合のサイズはＭ1×Ｍ2×．．．×ＭNである。エニュメレーションプロセスでは、マネージドサーバ１３０の多次元ラベル空間を、単純なエニュメレートされた形式に縮約する。
【００７１】
別の実施形態において、アクターエニュメレーションモジュール３７０は、管理ドメイン状態３２０に基づき（例えば、管理ドメイン１５０内のマネージドサーバの記述に基づき）可能性のあるラベルセットだけをエニュメレートする。例えば、２つの次元（ＸおよびＹ）を含み、各次元が３つの可能性のある値（Ａ、Ｂ、および＊）を含む、論理的マネージメントモデルについて検討する。ラベルセット「＜Ｘ＝Ａ＞，＜Ｙ＝Ｂ＞」を持つマネージドサーバは、以下の４つの可能性のあるラベルセットのうちのメンバーであり得る。１）「＜Ｘ＝Ａ＞，＜Ｙ＝Ｂ＞」、２）「＜Ｘ＝Ａ＞，＜Ｙ＝＊＞」、３）「＜Ｘ＝＊＞，＜Ｙ＝Ｂ＞」、および、４）「＜Ｘ＝＊＞，＜Ｙ＝＊＞」。ここで、マネージドサーバのラベルセットは、二次元空間（ＸおよびＹ）に存在し、一方、可能性のあるラベルセット２、３、および４は、マネージドサーバのラベルセットの、サブ次元空間への投影である（ラベルセット２は一次元空間（Ｘ）、ラベルセット３は一次元空間（Ｙ）、ラベルセット４は０次元空間）。それ故、アクターエニュメレーションモジュール３７０は、それら４つの可能性のあるラベルセットをエニュメレートする。ラベルセット「＜Ｘ＝Ａ＞，＜Ｙ＝Ｂ＞」を持つマネージドサーバが、ラベルセット「＜Ｘ＝Ａ＞，＜Ｙ＝Ａ＞」のメンバーであることはなく、そのため、アクターエニュメレーションモジュール３７０は、そのラベルセットをエニュメレートしない。
【００７２】
さらに別の実施形態において、アクターエニュメレーションモジュール３７０は、管理ドメイン規模のマネージメントポリシー３３０において（例えば、ルールおよびスコープのＵＢ部分およびＰＢ部分において）使用されるラベルセットのみをエニュメレートする。
【００７３】
アクターセットには、ＵＩＤおよび、ゼロ個またはそれ以上のアクターセットレコードが、含まれる。アクターセットレコードには、ＵＩＤ（マネージドサーバのＵＩＤまたはＵＤＧのＵＩＤのいずれか）、アクターのオペレーティングシステムの識別子、および、指定のＢＲＮが与えられたアクター（マネージドサーバ１３０またはアンマネージドデバイス１４０）のＩＰアドレス、が含まれる。例えば、アクターセットには、＜役割，データベース＞および＜環境，プロダクション＞のラベルセットによりカバーされるマネージドサーバ１３０の全てに対応するＩＰアドレスを持つ、アクターセットレコードが含まれてよい。別の例として、アクターセットには、本部ＵＤＧにおけるアンマネージドデバイス１４０の全てに対応するＩＰアドレスを持つ、アクターセットレコードが含まれてよい。単一のアクター（例えば、マネージドサーバ１３０またはアンマネージドデバイス１４０）が、複数のアクターセット内に見られてよい。
【００７４】
アクターセット計算における別の要因は、複数のネットワークインターフェースを持つアクターと、ネットワークアドレス変換器（ＮＡＴ）などのネットワークトポロジを含むこと、である。従って、＜役割，データベース＞および＜環境，プロダクション＞のラベルセットついて２つのアクターセットがあり得、１つのアクターセットが、それらマネージドサーバ１３０のインターネットに接続するＩＰアドレス（すなわち、第１のＢＲＮに関連する）を持ち、それら同じマネージドサーバ用の異なるアクターセットが、それらマネージドサーバのプライベートネットワークに接続するＩＰアドレス（すなわち、第２のＢＲＮに関連する）を持つ。
【００７５】
一実施形態において、アクターエニュメレーションモジュール３７０は、管理ドメインの状態３２０に対する変更に基づき、アクターセットを更新することもできる。例えば、アクターエニュメレーションモジュール３７０は、アクターセット（以前、アクターエニュメレーションモジュールによって出力された）、および、マネージドサーバの記述（管理ドメイン状態３２０内の）に対する変更、を入力として取り込み、更新されたアクターセット（変更されたサーバ記述と一致する）を生成し、更新されたアクターセットを出力する。アクターエニュメレーションモジュール３７０は、マネージドサーバの記述に対する変更のタイプに応じた異なる方法で、更新されたアクターセットを生成する。
【００７６】
オフライン／オンラインの変更−記述変更が、サーバがオンラインからオフラインになったことを示す場合、アクターエニュメレーションモジュール３７０は、サーバのアクターセットレコードを、サーバがメンバーだった全ての入力アクターセットから削除することにより、更新されたアクターセットを生成する。記述変更が、サーバがオフラインからオンラインになったことを示す場合、アクターエニュメレーションモジュール３７０は、サーバのアクターセットレコードを、任意の関連する入力アクターセットに追加することにより、更新されたアクターセットを生成する。（必要に応じて、アクターエニュメレーションモジュール３７０は、新しいアクターセットを作成し、サーバのアクターセットレコードをその新しいアクターセットに追加する。）
【００７７】
ラベルセットの変更−記述変更が、サーバのラベルセットが変更されたことを示す場合、アクターエニュメレーションモジュール３７０は、これを、第１のサーバ（古いラベルセットを持つ）がオフラインになり、第２のサーバ（新しいラベルセットを持つ）がオンラインになる、というように扱う。
【００７８】
ネットワーク露出情報の変更−記述変更が、サーバがネットワークインターフェースを削除したことを示す場合、アクターエニュメレーションモジュール３７０は、サーバのアクターセットレコードを、サーバがメンバーだった全ての入力アクターセット（そのネットワークインターフェースのＢＲＮに関連する）から削除することにより、更新されたアクターセットを生成する。記述変更が、サーバがネットワークインターフェースを追加したことを示す場合、アクターエニュメレーションモジュール３７０は、サーバのアクターセットレコードを、任意の関連する入力アクターセット（そのネットワークインターフェースのＢＲＮに関連する）に追加することにより、更新されたアクターセットを生成する。（必要に応じて、アクターエニュメレーションモジュール３７０は、新しいアクターセット（そのネットワークインターフェースのＢＲＮに関連する）を作成し、サーバのアクターセットレコードをその新しいアクターセットに追加する。）記述変更が、サーバがネットワークインターフェースのＢＲＮを変更したことを示す場合、アクターエニュメレーションモジュール３７０は、これを、第１のネットワークインターフェース（古いＢＲＮを持つ）が削除され、第２のネットワークインターフェース（新しいＢＲＮを持つ）が追加される、というように扱う。記述変更が、サーバがネットワークインターフェースのＩＰアドレス（ＢＲＮではなく）を変更したことを示す場合、アクターエニュメレーションモジュール３７０は、サーバがメンバーだった全ての入力アクターセット（そのネットワークインターフェースのＢＲＮに関連する）内のサーバのアクターセットレコードを変更することにより、更新されたアクターセットを生成する。
【００７９】
関連アクターモジュール３８０は、１つまたは複数のアクターセット（例えば、管理ドメイン状態３２０内の、エニュメレートされた形式のマネージドサーバ１３０およびＵＤＧ）と、ルールのセット（例えば、マネージメントポリシー観点）と、を入力として取り込み、どのアクターセットが、それらのルールに関連するのかを判定し、それらのアクターセットのみを出力する。これは、関連アクターモジュール３８０が、アクターセットを検査して、所与のルールのセット用の関連アクターセットのみを抽出するために用いる、フィルタリングプロセスである。関連アクターモジュール３８０は、フィルタリングの実行を、入力アクターセットの全てを反復すること、および、入力されたルールのＰＢ部分およびＵＢ部分を分析して、特定のアクターセットが、ルールのＰＢ部分またはＵＢ部分のいずれかによって参照されるかどうかを判定すること、によって行う。最終結果（本明細書において、「アクター観点」と称する）は、アクターセットのコレクションである。アクター観点は、後で、マネージメント命令の一部としてマネージドサーバ１３０に送られる。
【００８０】
一実施形態において、関連アクターモジュール３８０は、入力されたルールのセットを使用して、「アクターセットフィルタ」を生成する。アクターセットフィルタは、入力アクターセットから、入力されたルールに関連するアクターセットのみを選択する。換言すると、関連アクターモジュール３８０は、アクターセットフィルタを使用して、入力アクターセットをフィルタリングして関連アクターセットにする。
【００８１】
ポリシーエンジンモジュール３４０は、マネージドサーバ１３０用のマネージメント命令を生成して、生成したマネージメント命令をサーバに送る。ポリシーエンジンモジュール３４０は、ａ）管理ドメインのコンピュータネットワークインフラの状態３２０、および、ｂ）管理ドメイン規模のマネージメントポリシー３３０、に基づき、マネージメント命令を生成する（関連ルールモジュール３５０、機能レベル命令成モジュール３６０、アクターエニュメレーションモジュール３７０、および関連アクターモジュール３８０を使用して）。
【００８２】
例えば、ポリシーエンジンモジュール３４０は、関連ルールモジュール３５０を実行して、管理ドメイン規模のマネージメントポリシー３３０と、特定のマネージドサーバ１３０のＵＩＤと、を入力として提供する。関連ルールモジュール３５０は、そのサーバに関連するルールのセット（「マネージメントポリシー観点」）を出力する。ポリシーエンジンモジュール３４０は、アクターエニュメレーションモジュール３７０を実行して、管理ドメイン状態３２０を入力として提供する。アクターエニュメレーションモジュール３７０は、管理ドメイン状態３２０内のエニュメレートされた形式の、マネージドサーバ１３０およびアンマネージドデバイスグループ（ＵＤＧ）の記述の表現（「アクターセット」）を出力する。ポリシーエンジンモジュール３４０は、機能レベル命令生成モジュール３６０を実行して、マネージメントポリシー観点（関連ルールモジュール３５０によって出力された）を、入力として提供する。機能レベル命令生成モジュール３６０は、機能レベルの命令を出力する。ポリシーエンジンモジュール３４０は、関連アクターモジュール３８０を実行して、アクターセット（エニュメレーションモジュール３７０により出力された）と、マネージメントポリシー観点（関連ルールモジュール３５０により出力された）と、を入力として提供する。関連アクターモジュール３８０は、それらのルールに関連するアクターセット（「関連アクターセット」）のみを出力する。ポリシーエンジンモジュール３４０は、機能レベルの命令（機能レベル命令生成モジュール３６０により出力された）と、関連アクターセット（関連アクターモジュール３８０により出力された）とを、特定のマネージドサーバ１３０に送る。
【００８３】
一実施形態において、ポリシーエンジンモジュール３４０は、上記のプロセスの間に生成された情報をキャッシュする。例えば、ポリシーエンジンモジュール３４０は、特定のマネージドサーバ１３０に関連して、マネージメントポリシー観点、機能レベルの命令、アクターセットフィルタ、および／または関連アクターセット、をキャッシュする。別の例として、ポリシーエンジンモジュール３４０は、（特定のマネージドサーバ１３０に特有でない）管理ドメインのアクターセットをキャッシュする。
【００８４】
管理ドメインのアクターセットは、管理ドメイン状態３２０に基づくため、管理ドメイン状態３２０に対する変更により、管理ドメインのアクターセットに対する変更を要求することができる。同様に、マネージドサーバのマネージメント命令は、管理ドメイン状態３２０および管理ドメイン規模のマネージメントポリシー３３０に基づくため、管理ドメイン状態３２０に対する変更および／または管理ドメイン規模のマネージメントポリシー３３０に対する変更により、マネージドサーバのマネージメント命令に対する変更を要求することができる。一実施形態において、ポリシーエンジンモジュール３４０は、管理ドメインのアクターセットを更新すること、および／または、マネージドサーバのマネージメント命令を更新すること、ができ、これらの変更を（必要に応じて）マネージドサーバ１３０に分散させることができる。上記で言及したキャッシュされた情報は、ポリシーエンジンモジュール３４０が、管理ドメインのアクターセットおよび／またはマネージドサーバのマネージメント命令を、より効率的に更新して、変更を分散させることに、役立つ。
【００８５】
一実施形態において、ポリシーエンジンモジュール３４０は、以下のように、管理ドメインのアクターセットを更新し（管理ドメイン状態３２０に対する変更に基づき）、変更をマネージドサーバ１３０に分散させる。ポリシーエンジンモジュール３４０は、アクターエニュメレーションモジュール３７０を実行して、キャッシュしたアクターセット（以前、アクターエニュメレーションモジュールにより出力された）と、管理ドメイン状態３２０の変更された部分（例えば、変更されたサーバ記述）と、を入力として提供する。アクターエニュメレーションモジュール３７０は、更新されたアクターセットを出力する。一実施形態において、ポリシーエンジンモジュール３４０は、次に、更新されたアクターセットの全てを、管理ドメイン１５０内のマネージドサーバ１３０の全てに送る。しかし、その実施形態は不十分であり、それは、全てのアクターセットに対する変更によって、全てのマネージドサーバが影響を受けるわけではないからである。
【００８６】
別の実施形態において、選択されたアクターセットのみが、選択されたサーバに送られる。例えば、特定のマネージドサーバには、ａ）以前に、そのサーバに送ったアクターセット、および、ｂ）変更されているアクターセット、のみが送られる。キャッシュされた関連アクターセットは、どのアクターセットがそのサーバに以前送られたのかを示す（上記（ａ）を参照のこと）。ポリシーエンジンモジュール３４０は、キャッシュしたアクターセットを、更新されたアクターセットと比較して、どのアクターセットが変更されているかを判定する（上記（ｂ）を参照のこと）。そして、ポリシーエンジンモジュール３４０は、（ａ）と（ｂ）との共通部分を計算する。その共通部分のアクターセットが、特定のマネージドサーバに送られる。一実施形態において、さらに効率を上げるために、アクターセットが「ｄｉｆｆ」形式で送られ、これは、キャッシュしたアクターセットと更新されたアクターセットとの間の差を記述するものである。例えば、ｄｉｆｆ形式は、アクターセット識別子、アクター識別子（例えば、マネージドサーバのＵＩＤまたはＵＤＧのＵＩＤ）、および、そのアクターが、アクターセットに追加、アクターセットから削除、または、アクターセット内で変更、されるべきかどうかの指標、を指定する。
【００８７】
さらに別の実施形態において、２つの表が保持され、効率を向上させるために使用される。第１の表では、マネージドサーバ１３０を、そのマネージドサーバがメンバーであるアクターセットに関連付ける。第２の表では、マネージドサーバ１３０を、そのマネージドサーバに関連するアクターセットに（例えば、関連アクターモジュール３８０により判定されるように）関連付ける。これらの表において、マネージドサーバ１３０は、例えば、そのマネージドサーバのＵＩＤによって表され、アクターセットは、例えば、そのアクターセットのＵＩＤで表される。ポリシーエンジンモジュール３４０は、管理ドメイン状態３２０の変更された部分（例えば、変更されたサーバ記述）を使用して、どのマネージドサーバの記述が変更されたのかを判定する。ポリシーエンジンモジュール３４０は、第１の表を使用して、そのマネージドサーバが、どのアクターセットのメンバーだったのかを判定する。それらのアクターセットは、変更されたサーバ記述の結果として、変更されてよい。従って、ポリシーエンジンモジュール３４０は、第２の表を使用して、どのマネージドサーバに、それらのアクターセットが関連するのかを判定する。ポリシーエンジンモジュール３４０は、それらのマネージドサーバのみについて、上記で説明した共通部分の計算を実行する。
【００８８】
一実施形態において、ポリシーエンジンモジュール３４０は、以下のように、マネージドサーバのマネージメント命令を（管理ドメイン状態３２０に対する変更に基づき）更新し、更新されたマネージメント命令をマネージドサーバに送る。ポリシーエンジンモジュール３４０は、関連ルールモジュール３５０を実行し、管理ドメイン規模のマネージメントポリシー３３０と、マネージドサーバ１３０のＵＩＤと、を入力として提供する。関連ルールモジュール３５０は、そのサーバに関連するルールのセット（「マネージメントポリシー観点」）を出力する。ポリシーエンジンモジュール３４０は、出力されたばかりのマネージメントポリシー観点を、キャッシュされたマネージメントポリシー観点と比較して、それらが異なるかどうかを判定する。出力されたばかりのマネージメントポリシー観点と、キャッシュされたマネージメントポリシー観点が同一の場合、ポリシーエンジンモジュール３４０は、それ以上何のアクションも取らない。この状況において、以前生成されたマネージドサーバのマネージメント命令（詳細には、機能レベルの命令および関連アクターセット）は、管理ドメイン状態３２０に対する変更と一致し、再生成されてマネージドサーバに再送信される必要はない。
【００８９】
出力されたばかりのマネージメントポリシー観点と、キャッシュされたマネージメントポリシー観点が異なる場合、ポリシーエンジンモジュール３４０は、どのルールが、キャッシュされた観点に追加されるべきなのか、どのルールが、キャッシュされた観点から削除されるべきなのか、を判定する。ポリシーエンジンモジュール３４０は、機能レベル命令生成モジュール３６０を実行して、追加すべきルールと、削除すべきルールと、を入力として提供する。機能レベル命令生成モジュール３６０は、（以前マネージドサーバに送られた、キャッシュされた機能レベルの命令と比較して）追加すべき機能レベルの命令と、削除すべき機能レベルの命令と、を出力する。ポリシーエンジンモジュール３４０は、必要に応じて、マネージドサーバに命令して、種々の機能レベルの命令を追加または削除させる。一実施形態において、さらに効率を上げるために、機能レベルの命令が「ｄｉｆｆ」形式で送られ、これは、キャッシュされた機能レベルの命令と更新された機能レベルの命令との間の差を記述するものである。例えば、ｄｉｆｆ形式は、機能レベルの命令識別子、および、機能レベルの命令が、以前送られた機能レベルの命令に対して追加、または、該機能レベルの命令から削除、されるべきかどうかの指標、を指定する。
【００９０】
ポリシーエンジンモジュール３４０は、アクターエニュメレーションモジュール３７０を実行して、キャッシュしたアクターセットと、管理ドメイン状態３２０の変更された部分（例えば、変更されたサーバ記述）と、を入力として提供する。アクターエニュメレーションモジュール３７０は、更新されたアクターセットを出力する。ポリシーエンジンモジュール３４０は、関連アクターモジュール３８０を実行して、更新されたアクターセットと、出力されたばかりのマネージメントポリシー観点と、を入力として提供する。関連アクターモジュール３８０は、それらのルール（「更新された関連アクターセット」）に関連する、更新されたアクターセットのみを出力する。
【００９１】
ポリシーエンジンモジュール３４０は、更新された関連アクターセットを、キャッシュされた関連アクターセットと比較して、それらが異なるかどうかを判定する。更新された関連アクターセットと、キャッシュされた関連アクターセットと、が同一の場合、ポリシーエンジンモジュール３４０は、アクターセットをマネージドサーバに送らない。この状況において、以前生成された関連アクターセットは、管理ドメイン状態３２０に対する変更と一致し、マネージドサーバに再送信される必要はない。更新された関連アクターセットと、キャッシュされた関連アクターセットとが異なる場合、ポリシーエンジンモジュール３４０は、どのアクターセットが、キャッシュされた関連アクターセットと比較して、追加、削除、または変更されるべきか、を判定する。ポリシーエンジンモジュール３４０は、必要に応じて、マネージドサーバに命令して、種々のアクターセットを追加、削除、または変更する。一実施形態において、効率を上げるために、アクターセットが「ｄｉｆｆ」形式で送られ、これは、キャッシュされた関連アクターセットと更新された関連アクターセットとの間の差を記述するものである。例えば、ｄｉｆｆ形式は、アクターセット識別子、および、そのアクターセットが、以前送ったアクターセットに追加、該アクターセットから削除、またはアクターセットと比較して変更、されるべきかどうかの指標、を指定する。
【００９２】
ポリシーエンジンモジュール３４０が、マネージドサーバのマネージメント命令を（管理ドメイン規模のマネージメントポリシー３３０に対する変更に基づき）更新し、更新されたマネージメント命令を、マネージドサーバに送ることができること、を思い出されたい。マネージメントポリシー３３０に対する変更は、例えば、ルールまたはルールのセットの追加、削除、または変更、である。一実施形態において、マネージメントポリシー３３０に対する変更が、ＧＵＩまたはＡＰＩを介したグローバルマネージャ１２０との相互作用により、生成される。別の実施形態において、マネージメントポリシー３３０に対する変更が、グローバルマネージャ１２０内で、自動化されたプロセスにより生成される（例えば、グローバルマネージャにより検出されるセキュリティ脅威に応じて）。ポリシーエンジンモジュール３４０は、マネージメントポリシー３３０に対する変更または管理ドメイン状態３２０に対する変更、があるかどうかにかかわらず、同様の方法で、マネージドサーバのマネージメント命令を更新し、更新されたマネージメント命令を、マネージドサーバに送る。しかし、多少の違いが存在する。
【００９３】
マネージメントポリシー３３０に対する変更の場合、ポリシーエンジンモジュール３４０は、必ずしも全てのマネージドサーバ１３０用のマネージメント命令を更新するわけではない。代わりに、ポリシーエンジンモジュール３４０は、以前のマネージメントポリシー３３０を、新しいマネージメントポリシー３３０と比較して、どのルールが、以前のマネージメントポリシー３３０と比較して、追加、削除、または変更されるべきか、を判定する。ポリシーエンジンモジュール３４０は、どのマネージドサーバ１３０が、変更されたルールにより影響を受けるのか（例えば、どのマネージドサーバが、ａ）ルールおよび／またはスコープの、ＰＢ部分および／またはＵＢ部分、および、ｂ）ルールの条件付きの部分（ある場合）、によりカバーされるのか）、を判定する。ポリシーエンジンモジュール３４０は、関連ルールモジュール３５０を実行し、変更されたルール（新しいマネージメントポリシー３３０全体の代わりに）と、マネージドサーバ１３０のＵＩＤ（変更されたルールにより影響を受けるサーバのみについて）と、を入力として提供する。
【００９４】
管理ドメイン状態更新（ＡＤＳＵ）モジュール３８５は、管理ドメイン状態３２０に対する変更を受け取り、それらの変更を処理する。管理ドメイン状態３２０に対する変更は、例えば、マネージドサーバ１３０の記述の、追加、削除、もしくは変更（マネージドサーバのラベルセットまたは構成特徴の変更を含む）、または、アンマネージドデバイスもしくはアンマネージドデバイスグループの記述の、追加、削除、もしくは変更、である。一実施形態において、管理ドメイン状態３２０に対する変更が、特定のマネージドサーバ１３０から受け取るローカル状態情報に由来する。別の実施形態において、管理ドメイン状態３２０に対する変更が、ＧＵＩまたはＡＰＩを介したグローバルマネージャ１２０との相互作用により、生成される。さらに別の実施形態において、管理ドメイン状態３２０に対する変更が、グローバルマネージャ１２０内で、自動化されたプロセスにより生成される（例えば、グローバルマネージャにより検出されるセキュリティ脅威に応じて）。
【００９５】
例えば、ＡＤＳＵモジュール３８５は、特定のアンマネージドサーバ１４０に関する変更を受け取る。ＡＤＳＵモジュール３８５は、新しい情報を、管理ドメイン状態３２０内に記憶する（例えば、その特定のアンマネージドデバイスがメンバーであるアンマネージドデバイスグループの一部として）。次に、ＡＤＳＵモジュール３８５は、アンマネージドデバイスグループの変更に基づき、管理ドメインのアクターセットを更新する。
詳細には、ＡＤＳＵモジュール３８５は、ポリシーエンジンモジュール３４０に命令して管理ドメインのアクターセットを更新させる。一実施形態において、ＡＤＳＵモジュール３８５は、イベントが発生するのを待ってから、ポリシーエンジンモジュール３４０に命令して管理ドメインのアクターセットを更新させる。このイベントとは、例えば、ユーザコマンドの受領、または、特定のメンテナンスウィンドウの発生、であってよい。
【００９６】
別の例として、ＡＤＳＵモジュール３８５は、特定のマネージドサーバ１３０に関する変更を受け取る。ＡＤＳＵモジュール３８５は、新しい情報を、その特定のマネージドサーバ１３０の記述の一部として、管理ドメイン状態３２０内に記憶する。そして、ＡＤＳＵモジュール３８５は、（選択的に）そのマネージドサーバの記述を分析して、サーバに関する追加情報を判定し、その情報を記述内に記憶する。次に、ＡＤＳＵモジュール３８５は、マネージドサーバの記述に対する変更に基づき、管理ドメインのアクターセットおよび／またはマネージドサーバのマネージメント命令を更新すべきかどうかを判定する。ＡＤＳＵモジュール３８５が、管理ドメインのアクターセットを更新することを判定する場合、ＡＤＳＵモジュール３８５は、ポリシーエンジンモジュール３４０に命令して、管理ドメインのアクターセットを更新させる。一実施形態において、ＡＤＳＵモジュール３８５は、イベントが発生するのを待ってから、ポリシーエンジンモジュール３４０に命令して管理ドメインのアクターセットを更新させる。ＡＤＳＵモジュール３８５が、マネージドサーバのマネージメント命令を更新することを判定する場合、ＡＤＳＵモジュール３８５は、ポリシーエンジンモジュール３４０に命令して、マネージドサーバのマネージメント命令を更新させる。一実施形態において、ＡＤＳＵモジュール３８５は、イベントが発生するのを待ってから、ポリシーエンジンモジュール３４０に命令してマネージドサーバのマネージメント命令を更新させる。上述のイベントとは、例えば、ユーザコマンドの受領、または、特定のメンテナンスウィンドウの発生、であってよい。
【００９７】
ＡＤＳＵモジュール３８５が、管理ドメインのアクターセットおよび／またはマネージドサーバのマネージメント命令を更新することを判定するかしないかは、マネージドサーバの記述に対する変更のタイプに依存する。一実施形態において、ＡＤＳＵモジュール３８５は、この判定を、表２に示すように、行う。
【００９８】
【表２】
0006491221.tif 000003
【００９９】
一実施形態において、ＡＤＳＵモジュール３８５は、ラベル／構成特徴エンジンを実行して、サーバの記述を入力として提供することにより、サーバに関する追加情報を判定する。ラベル／ＣＣエンジンは、サーバの記述と、ラベル／ＣＣ割り当てルールとに基づき、サーバについてラベル／ＣＣ値を計算する。別の実施形態において、ＡＤＳＵモジュール３８５は、サーバが、ネットワークアドレス変換器（ＮＡＴ）の後方にあるかどうか（および、ＮＡＴの後方にある場合は、どのタイプのＮＡＴ、すなわち、１：１または１：Ｎ、であるのか）、を判定する。
【０１００】
グローバルセキュリティモジュール３９０については、「追加的なセキュリティの態様」と題する章において以下で説明する。
【０１０１】
図４は、一実施形態に係る、マネージドサーバ１３０のポリシー実行モジュール１３６の詳細な概念を説明する、上位レベルのブロック図である。ポリシー実行モジュール１３６には、ローカル状態リポジトリ４００、ポリシーコンパイルモジュール４１０、ローカル状態更新モジュール４２０、およびローカルセキュリティモジュール４３０、が含まれる。ローカル状態リポジトリ４００は、マネージドサーバ１３０のローカル状態に関する情報を記憶する。一実施形態において、ローカル状態リポジトリ４００は、マネージドサーバのオペレーティングシステム（ＯＳ）、ネットワーク露出、およびサービス、に関する情報を記憶する。ＯＳ情報には、例えば、どのＯＳが実行中であるかの指標が含まれる。ネットワーク露出情報およびサービス情報については、管理ドメイン状態３２０内のマネージドサーバ１３０の記述に関して、上記で説明した。
【０１０２】
ポリシーコンパイルモジュール４１０は、マネージメント命令と、マネージドサーバ１３０の状態と、を入力として取り込み、マネージメントモジュール構成１３４を生成する。例えば、マネージメント命令は、グローバルマネージャ１２０から受け取られ、機能レベルの命令（機能レベル命令生成モジュール３６０により生成される）と、関連アクターセット（関連アクターモジュール３８０により出力される）と、を含む。マネージドサーバ１３０の状態は、ローカル状態リポジトリ４００から回収される。一実施形態において、ポリシーコンパイルモジュール４１０の実行は、ａ）マネージドサーバが電源が入るか、オンラインになる、ｂ）マネージドサーバがマネージメント命令を受け取る、および／または、ｃ）ローカル状態リポジトリ４００の内容が変更される、ことによりトリガーされる。
【０１０３】
ポリシーコンパイルモジュール４１０は、機能レベルの命令および関連アクターセットを、マネージメントモジュール構成１３４にマッピングする。例えば、ポリシーコンパイルモジュール４１０は、アクセス制御機能レベルの命令（ポートおよびアクターセット参照含む）を、Ｌｉｎｕｘオペレーティングシステムのｉｐｔａｂｌｅｓエントリーおよびｉｐｓｅｔエントリー、または、ウィンドウズオペレーティングシステムのウィンドウズフィルタリングプラットフォーム（ＷＦＰ）のルール、にマッピングする。
【０１０４】
マネージドサーバ１３０におけるマネージメントポリシーの適用は、そのサーバのローカル状態により影響を受け得る。一実施形態において、ポリシーコンパイルモジュール４１０は、受け取った機能レベルの命令に関連する条件を評価し、その評価の結果に基づき、マネージメントモジュール構成１３４を生成する。例えば、ポリシーコンパイルモジュール４１０は、マネージドサーバのピア（すなわち、リレーションシップ内の他方のアクター）のオペレーティングシステムを参照する条件を評価し、その評価の結果に基づき、機能プロファイル属性を選択し、選択した機能プロファイル属性は、マネージメントモジュール構成１３４内に表現される。
【０１０５】
別の例として、マネージドサーバ１３０が、そのサーバには無意味なものとなる機能レベルの命令を受け取り得ることを思い出されたい。例えば、ルールには、マネージドサーバのローカル状態を指定する部分が含まれる（例えば、提供されるサービスを記述するサービス部分）。グローバルマネージャ１２０には、マネージドサーバのローカル状態（例えば、マネージドサーバが実際にそのサービスを提供中であるかどうか）が分からないため、生成された機能レベルの命令がマネージドサーバに送られる。ポリシーコンパイルモジュール４１０は、マネージドサーバのローカル状態をチェックする（例えば、マネージドサーバがそのサービスを提供中であるかどうかを判定する）。この判定は、マネージドサーバのローカル状態を参照する条件を評価することを意味する。ポリシーコンパイルモジュール４１０は、それに従って、機能レベルの命令を処理する。ポリシーコンパイルモジュール４１０が、条件が「真」となる（例えば、マネージドサーバが、そのサービスを提供中である）と判定する場合、ポリシーコンパイルモジュール４１０は、その機能レベルの命令を、マネージメントモジュール構成１３４に組み込む。詳細には、ポリシーコンパイルモジュール４１０が、機能レベルの命令をマネージメントモジュール構成１３４に組み込むのは、（そのサーバのローカル状態に関与する）関連付けられた条件を評価した後だけである。条件の評価が「偽」の場合、ポリシーコンパイルモジュール４１０は、機能レベルの命令をマネージメントモジュール構成１３４内に表現しない。特定の条件（例えば、その種類および特定の値）は、拡張可能である。一実施形態において、条件は、「サービス」の定義に関連し、プロセス情報および／またはパッケージ情報を含む（管理ドメイン状態３２０内のマネージドサーバ１３０の記述に関して、上記で説明した）。
【０１０６】
例えば、ポート８０にインバウンドするアパッチサービスのみへのアクセスを許可する機能レベルの命令について検討する（すなわち、マネージドサーバ１３０が、「プロバイダ」またはエンドポイントである）。マネージドサーバ１３０が、この機能レベルの命令を、マネージメントモジュール構成１３４内に表現して、ポート８０上でのアクセスの許可を、ポート８０上でリッスンしている（そのサーバ上で実行中の）アプリケーションが、実際にアパッチであって、何らかの他のアプリケーションではない（不正なもの、その他）かどうか、に関与する関連付けられた条件を評価した後だけに行う。マネージドサーバ１３０は、この機能レベルの命令をマネージメントモジュール構成１３４内に表現するのは、関連付けられた条件が「真」となると判定した後だけである。関連付けられた条件が、「偽」となる場合、マネージドサーバ１３０は、この機能レベルの命令をマネージメントモジュール構成１３４内に表現しない。その結果、ネットワークトラフィックがブロックされる。
【０１０７】
一実施形態において、マネージドサーバ１３０は、そのアウトバウンド接続を監視する。マネージドサーバ１３０は、アウトバウンドネットワークトラフィックを、その内部処理テーブルと比較して、そのテーブル内のどのプロセスが、それらのアウトバウンド接続を確立しているのかを判定する。マネージドサーバ１３０は、（上記で「プロセス情報」として言及した、要件のセットが与えられた）特定のプロセスのみに、アウトバウンド接続を確立することを許可するルールを、履行する。
【０１０８】
一実施形態において（図示せず）、ポリシーコンパイルモジュール４１０が、マネージドサーバ１３０に代えて、グローバルマネージャ１２０に配置される。その実施形態において、グローバルマネージャ１２０は、マネージメント命令をマネージドサーバ１３０に送らない。代わりに、マネージドサーバ１３０は、そのローカル状態をグローバルマネージャ１２０に送る。ポリシーコンパイルモジュール４１０が、マネージメントモジュール構成１３４を（グローバルマネージャ１２０にて）生成した後、マネージメントモジュール構成１３４は、グローバルマネージャ１２０からマネージドサーバ１３０に送られる。
【０１０９】
ローカル状態更新（ＬＳＵ）モジュール４２０は、マネージドサーバ１３０のローカル状態を監視し、ローカル状態情報をグローバルマネージャ１２０に送る。一実施形態において、ＬＳＵモジュール４２０は、マネージドサーバ１３０の初期ローカル状態を判定し、適切なローカル状態情報をローカル状態リポジトリ４００に記憶し、そのローカル状態情報をグローバルマネージャ１２０に送る。ＬＳＵモジュール４２０は、マネージドサーバ１３０のローカル状態を、サーバのオペレーティングシステム（ＯＳ）および／またはファイルシステムの種々の部分を調査することにより、判定する。例えば、ＬＳＵモジュール４２０は、サービス情報を、ＯＳのカーネルテーブル（ネットワーキング情報）、ＯＳのシステムテーブル（パッケージ情報）、および、ファイルシステム（ファイルおよびハッシュ値）、から取得する。ＬＳＵモジュール４２０は、ネットワーク露出情報を、ＯＳのカーネルおよび／またはＯＳレベルのデータ構造から取得する。
【０１１０】
ＬＳＵモジュール４２０は、初期ローカル状態情報をグローバルマネージャ１２０に送った後、ＬＳＵモジュールは、ローカル状態に対する変化を監視する。ＬＳＵモジュールは、例えば、ポーリングする（例えば、調査を周期的に実行する）こと、またはリッスンする（例えば、イベントストリームにサブスクライブする）こと、により変更を監視する。ＬＳＵモジュール４２０は、直近に取得されたローカル状態情報を、ローカル状態リポジトリ４００に記憶済みの情報と比較する。情報が一致する場合、ＬＳＵモジュール４２０は、それ以上何のアクションも取らない（ローカル状態情報が再度取得されるまで）。それらが異なる場合、ＬＳＵモジュール４２０は、直近に取得された情報を、ローカル状態リポジトリ４００内に記憶し、ポリシーコンパイルモジュール４１０を実行して、マネージメントモジュール構成１３４を再生成し（および、それに従って、マネージメントモジュール１３２を再構成し）、グローバルマネージャ１２０に変更を通知する。一実施形態において、ＬＳＵモジュール４２０は、ローカル状態情報に対する変更を、グローバルマネージャ１２０に「ｄｉｆｆ」形式で送り、これは、以前ローカル状態リポジトリ４００に記憶された（かつ、従って、以前グローバルマネージャ１２０に送られた）ローカル状態情報と、直近に取得されたローカル状態情報と、の間の差を記述するものである。
例えば、ｄｉｆｆ形式では、ローカル状態情報のタイプ（例えば、オペレーティングシステム）、および、その情報タイプについての新しい値を指定する。別の実施形態において、ＬＳＵモジュール４２０は、ローカル状態リポジトリ４００の全体の内容を、グローバルマネージャ１２０に送る。
【０１１１】
ローカルセキュリティモジュール４３０については、「追加的なセキュリティの態様」と題する章において以下で説明する。
【０１１２】
図５は、一実施形態に係る、特定のマネージドサーバ１３０用のマネージメント命令を生成する方法５００を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。一実施形態において、方法５００は、複数回実行される（例えば、管理ドメイン１５０内のマネージドサーバ１３０ごとに１回）。
【０１１３】
方法５００が開始されるとき、管理ドメインのコンピュータネットワークインフラの状態３２０と、管理ドメイン規模のマネージメントポリシー３３０とは、グローバルマネージャ１２０のリポジトリ３００内に既に記憶されてある。この時点で、方法５００が開始される。
【０１１４】
ステップ５１０にて、管理ドメイン状態３２０と、管理ドメイン規模のマネージメントポリシー３３０が、アクセスされる。例えば、ポリシーエンジンモジュール３４０が、リポジトリ３００に要求を送り、管理ドメイン状態３２０と、管理ドメイン規模のマネージメントポリシー３３０と、を応答として受け取る。
【０１１５】
ステップ５２０にて、１つまたは複数の関連ルールが判定される。例えば、ポリシーエンジンモジュール３４０は、関連ルールモジュール３５０を実行し、管理ドメイン規模のマネージメントポリシー３３０と、マネージドサーバ１３０のＵＩＤと、を入力として提供する。関連ルールモジュール３５０は、そのサーバに関連するルールのセット（マネージメントポリシー観点）を出力する。
【０１１６】
ステップ５３０にて、アクターがエニュメレートされる。例えば、ポリシーエンジンモジュール３４０は、アクターエニュメレーションモジュール３７０を実行して、管理ドメイン状態３２０を入力として提供する。アクターエニュメレーションモジュール３７０は、管理ドメイン状態３２０内のエニュメレートされた形式の、マネージドサーバ１３０およびアンマネージドデバイスグループ（ＵＤＧ）の表現（「アクターセット」）を生成する。
【０１１７】
ステップ５４０において、１つまたは複数の機能レベルの命令が生成される。例えば、ポリシーエンジンモジュール３４０は、機能レベル命令生成モジュール３６０を実行して、マネージメントポリシー観点（ステップ５２０にて生成された）を入力として提供する。機能レベル命令生成モジュール３６０が、機能レベルの命令を生成する。
【０１１８】
ステップ５５０にて、１つまたは複数の関連アクターが判定される。例えば、ポリシーエンジンモジュール３４０は、関連アクターモジュール３８０を実行して、アクターセット（ステップ５３０にて生成された）と、マネージメントポリシー観点（ステップ５２０にて生成された）と、を入力として提供する。関連アクターモジュール３８０は、それらのルールに関連するアクターセット（関連アクターセット）のみを出力する。
【０１１９】
ステップ５６０にて、マネージメント命令が特定のマネージドサーバ１３０に送られる。例えば、ポリシーエンジンモジュール３４０は、機能レベルの命令（ステップ５４０にて生成された）と、関連アクターセット（ステップ５５０にて生成された）と、を特定のマネージドサーバ１３０に送る。
【０１２０】
なお、ステップ５２０および５４０は、特定のマネージドサーバ１３０についてのマネージメントポリシー観点（および、結果として得られる機能レベルの命令）を生成することに関与し、一方、ステップ５３０および５５０は、そのマネージドサーバについてのアクター観点を生成することに関与する。ステップ５２０で、ステップ５５０によって使用されるルールのセットが生成されるため、マネージメントポリシー観点の生成と、アクター観点の生成とは、最小限にお互いに依存する。そうであっても、マネージメントポリシーの計算（すなわち、ステップ５２０および５４０）と、アクターセットの計算（すなわち、ステップ５３０および５５０）と、を別々に維持することは、ポリシーエンジンモジュール３４０の拡張性を向上させる。マネージメントポリシーの計算と、アクターセットの計算が、ほとんど別々に維持されるため、それらは、並行して実行されてよい（例えば、同じマネージドサーバ１３０についてであっても）。加えて、異なるマネージドサーバ１３０についての観点の計算も、並行して実行されてよい。また、アクターが変更される場合、アクターセットのみが、再計算されればよい。（機能レベルの命令は、再計算される必要が無い。）ルールが変更される場合、機能レベルの命令および関連アクターセットのみが再計算されればよい。（アクターは、再エニュメレートされる必要が無い。）
【０１２１】
図６は、一実施形態に係る、マネージドサーバ１３０のマネージメントモジュール１３２の構成１３４を生成する方法６００を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。
【０１２２】
方法６００が開始されるとき、マネージドサーバ１３０のローカル状態に関する情報が、マネージドサーバ１３０のポリシー実行モジュール１３６のローカル状態リポジトリ４００内に既に記憶されてある。この時点で、方法６００が開始される。
【０１２３】
ステップ６１０にて、マネージメント命令が、グローバルマネージャ１２０から受け取られる。例えば、ポリシーコンパイルモジュール４１０は、機能レベルの命令と、関連アクターセットと、をグローバルマネージャ１２０から受け取る。
【０１２４】
ステップ６２０にて、ローカル状態がアクセスされる。例えば、ポリシーコンパイルモジュール４１０は、ローカル状態リポジトリ４００内に記憶される、マネージドサーバ１３０のローカル状態に関する情報にアクセスする。
【０１２５】
ステップ６３０にて、マネージメントモジュール構成１３４が生成される。例えば、ポリシーコンパイルモジュール４１０は、マネージメント命令（ステップ６１０にて受け取られた）と、ローカル状態（ステップ６２０にてアクセスされた）と、を入力として取り込み、マネージメントモジュール構成１３４を生成する。
【０１２６】
ステップ６４０にて、マネージメントモジュール１３２が構成される。例えば、ポリシーコンパイルモジュール４１０は、マネージメントモジュール１３２を、マネージメントモジュール構成１３４（ステップ６３０にて生成された）に従って動作するべく、構成する。
【０１２７】
図７は、一実施形態に係る、マネージドサーバ１３０のローカル状態を監視し、かつ、ローカル状態情報をグローバルマネージャ１２０に送る、方法７００を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。
【０１２８】
方法７００が開始されるとき、マネージドサーバ１３０のローカル状態に関する情報が、マネージドサーバ１３０のローカル状態リポジトリ４００内に既に記憶されてある。この時点で、方法７００が開始される。
【０１２９】
ステップ７１０にて、マネージドサーバ１３０の現在のローカル状態に関する情報が判定される。例えば、ＬＳＵモジュール４２０は、マネージドサーバ１３０のローカル状態を、サーバのオペレーティングシステム（ＯＳ）および／またはファイルシステムの種々の部分を調査することにより、判定する。
【０１３０】
ステップ７２０にて、現在のローカル状態に関する情報が、ローカル状態リポジトリ４００内に記憶された情報と異なるかどうかに関して、判定が行われる。例えば、ＬＳＵモジュール４２０がこの判定を実行する。情報が異ならない場合、方法はステップ７３０に進み、終了する。情報が異なる場合、方法はステップ７４０に進む。
【０１３１】
ステップ７４０にて、異なる情報が、ローカル状態リポジトリ４００内に記憶される。例えば、ＬＳＵモジュール４２０が、このステップを実行する。
【０１３２】
ステップ７５０にて、マネージメントモジュール構成１３４は、再生成され（ローカル状態リポジトリ４００の内容が変更されたため）、マネージメントモジュール１３２がそれに従って、再構成される。例えば、ＬＳＵモジュール４２０は、ポリシーコンパイルモジュール４１０を実行し、これによりマネージメントモジュール構成１３４が再生成される。
【０１３３】
ステップ７６０にて、異なる情報が、グローバルマネージャ１２０に送られる。例えば、ＬＳＵモジュール４２０が、このステップを実行する。
【０１３４】
図８は、一実施形態に係る、管理ドメインのコンピュータネットワークインフラの状態３２０に対する変更を処理する、方法８００を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。
【０１３５】
ステップ８１０にて、特定のマネージドサーバ１３０に関する変更が受け取られる。
例えば、管理ドメイン状態更新（ＡＤＳＵ）モジュール３８５は、オンライン／オフラインインジケータ、オペレーティングシステムインジケータ、ネットワーク露出情報、および／または、サービス情報を、マネージドサーバ１３０から、ローカル状態情報の一部として受け取る。
【０１３６】
ステップ８２０にて、受け取った情報が記憶される。例えば、ＡＤＳＵモジュール３８５は、受け取ったオンライン／オフラインインジケータ、ネットワーク露出情報、および／または、サービス情報を、管理ドメイン状態３２０内（詳細には、情報が関連するマネージドサーバ１３０の記述内）に記憶する。
【０１３７】
ステップ８３０にて、サーバ記述が分析されて、サーバに関する追加情報を判定する。
例えば、ＡＤＳＵモジュール３８５は、ラベル／構成特徴エンジンを使用して、サーバについてラベル／ＣＣ値を計算し、および／または、サーバが、ネットワークアドレス変換器（ＮＡＴ）の後方にあるかどうか（および、ＮＡＴの後方にある場合は、どのタイプのＮＡＴ、すなわち、１：１または１：Ｎ、であるのか）、を判定し、その情報をサーバ記述内に記憶する。ステップ８３０は選択的なものである。
【０１３８】
ステップ８４０にて、管理ドメインのアクターセットを更新すべきかどうかに関して、判定がなされる。例えば、ＡＤＳＵモジュール３８５はマネージドサーバの記述に対する変更に基づき、管理ドメインのアクターセットを更新すべきかどうかを判定する。管理ドメインのアクターセットを更新するという判定がなされる場合、方法はステップ８５０に進む。管理ドメインのアクターセットを更新しないという判定がなされる場合、方法はステップ８６０に進む。
【０１３９】
ステップ８５０にて、管理ドメインのアクターセットが更新される。例えば、ＡＤＳＵモジュール３８５は、ポリシーエンジンモジュール３４０に命令して管理ドメインのアクターセットを更新させ、かつ、それに従って、影響を受けるマネージドサーバ１３０に通知する。一実施形態（図示せず）において、ＡＤＳＵモジュール３８５は、イベントが発生するのを待ってから、ポリシーエンジンモジュール３４０に命令して管理ドメインのアクターセットを更新させる。
【０１４０】
ステップ８６０にて、マネージドサーバのマネージメント命令を更新すべきかどうかに関して、判定がなされる。例えば、ＡＤＳＵモジュール３８５は、マネージドサーバの記述に対する変更に基づき、マネージドサーバのマネージメント命令を更新すべきかどうかを判定する。マネージドサーバのマネージメント命令を更新するという判定がなされる場合、方法はステップ８７０に進む。マネージドサーバのマネージメント命令を更新しないという判定がなされる場合、方法はステップ８８０に進む。
【０１４１】
ステップ８７０にて、マネージドサーバのマネージメント命令が更新される。例えば、ＡＤＳＵモジュール３８５は、ポリシーエンジンモジュール３４０に命令してマネージドサーバのマネージメント命令を更新させる。一実施形態（図示せず）において、ＡＤＳＵモジュール３８５は、イベントが発生するのを待ってから、ポリシーエンジンモジュール３４０に命令してマネージドサーバのマネージメント命令を更新させる。
【０１４２】
ステップ８８０にて、方法が終了する。
追加的なセキュリティの態様
【０１４３】
マネージドサーバ１３０のポリシー実行モジュール１３６には、ローカルセキュリティモジュール４３０が含まれることを思い出されたい。ローカルセキュリティモジュール４３０は、マネージドサーバ１３０からセキュリティ関連情報（「セキュリティメタデータ」）を収集し、収集した情報をグローバルマネージャ１２０に送る。ローカルセキュリティモジュール４３０は、マネージドサーバ１３０が、管理ドメイン１５０において、分散された検出ノードまたはプローブのように作動することを可能にする。一実施形態において、ローカルセキュリティモジュール４３０は、以下のセキュリティ関連情報のうちのいずれかまたは全てを収集して送る。
【０１４４】
ａ）不正プロセスおよび／または不正アクションの識別−ローカルセキュリティモジュール４３０が、マネージドサーバ１３０上で実行されている「不正プロセス」を検出する。不正プロセスとは、不適切なアクション（「不正アクション」）、例えば、マネージメントモジュール構成１３４により実行されるマネージメントポリシーに反するアクション、を行う（または試みる）プロセスである。例えば、マネージメントポリシーに、許容可能なネットワーク接続を指定するアクセス制御ルールが含まれる場合、リッスンされないデバイスへの接続を試みる（例えば、ネットワーク接続を開始する）ことは、不正アクションであろう。詳細には、プロバイダがデータベースサーバであり、かつコンシューマがウェブサーバである場合に接続が許可される、ということをアクセス制御ルールが提示する場合、ウェブサーバがプロバイダとして作動する状態で、データベースサーバがコンシューマとして作動することを試みることは、不正アクションであろう。一実施形態において、ローカルセキュリティモジュール４３０は、許可されたアクションについてのマネージメントポリシーを記述する命令にアクセスする。そのポリシーに不適合なものはいずれも、不正アクションとなる。
【０１４５】
プロセス情報には、例えば、マネージドサーバ１３０が実行中のプロセスの名称、どのネットワークポートおよびネットワークインターフェース上で、それらのプロセスがリッスンしているのか、どのユーザがそれらのプロセスを起動したのか、それらのプロセスの構成、それらのプロセスのコマンドラインｌａｕｎｃｈ引数、および、それらのプロセスの依存関係、が含まれる。不正アクションは、いずれのタイプのプロセス情報にも関与することが可能である。例えば、「不当」なネットワークポートまたはネットワークインターフェース（例えば、マネージメントポリシーにより許可されるものとして指定されない、ネットワークポートまたはネットワークインターフェース）をリッスンすることは、不正アクションであり得る。別の例として、「不当」なユーザ（単数または複数）（例えば、マネージメントポリシーにより許可されるものとして指定されないユーザ）のコンテキストで実行することは、不正アクションであり得る。さらに別の例として、通常のものではない、または無許可の共有オブジェクトをロードすることは、不正アクションであり得る。
【０１４６】
一実施形態において、ローカルセキュリティモジュール４３０が不正プロセス／アクションを検出すると、ローカルセキュリティモジュールは、不正アクション（例えば、不正プロセスにより行われる）に関する情報、不正プロセスそのものに関する情報（例えば、プロセス情報）、および／または、不正プロセスにより行われる追加のアクション、例えば、要求されたＤＮＳ（ｄｏｍａｉｎ  ｎａｍｅ  ｓｙｓｔｅｍ（ドメイン名システム））ルックアップや、試みられたおよび／または行われたネットワーク接続など、をグローバルマネージャ１２０に送る。不正アクションに関する情報には、例えば、不正アクションのタイプ（例えば、不当ネットワークポートもしくはインターフェース上でのリッスン、または、不当ユーザのコンテキストでの実行）、そのタイプに基づく不正アクションの詳細（例えば、リッスンが行われる不当ネットワークポートもしくはインターフェース、または、プロセスが実行されたコンテキストの不当ユーザ）、および／または、不正アクションがいつ発生したのかを示すタイムスタンプ、が含まれる。ＤＮＳルックアップに関する情報には、例えば、ルックアップのためにＤＮＳに送られた情報が含まれる。ネットワーク接続に関する情報には、例えば、送信先デバイスのＩＰアドレスおよび／またはポート番号が含まれる。不正プロセス／アクション情報は、「不良」なマネージドサーバ１３０の識別に使用することができ、マネージドサーバが、マネージメントモジュール構成１３４により実行されるマネージメントポリシーに反するアクション、を行う（または試みる）場合は、そのマネージドサーバは「不良」である。
【０１４７】
図９は、一実施形態に係る、不正プロセスを検出して報告する方法を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。
【０１４８】
方法９００が開始されるとき、マネージドサーバ１３０内のマネージメントモジュール１３２は、マネージメントモジュール構成１３４に従って、すでに構成済みである。マネージドサーバ１３０が、グローバルマネージャ１２０から受け取ったマネージメント命令を使用して、マネージメントモジュール１３２を構成した。構成されたマネージメントモジュール１３２は、管理ドメイン規模のマネージメントポリシー３３０を実行する。この時点で、方法９００が開始される。
【０１４９】
ステップ９１０にて、アクションの実行を求める要求が、マネージドサーバ１３０上で実行されるプロセスから受け取られる。例えば、ローカルセキュリティモジュール４３０がその要求を受け取る。
【０１５０】
ステップ９２０にて、マネージドサーバ１３０内の構成されたマネージメントモジュール１３２に従って、アクションが不適切であるという判定がなされる。例えば、ローカルセキュリティモジュール４３０が、マネージメントモジュール１３２に要求を送り、マネージメントモジュール１３２が要求を分析して、要求が、管理ドメイン規模のマネージメントポリシー３３０を順守しているかどうかを判定する。ローカルセキュリティモジュール４３０は、要求が管理ドメイン規模のマネージメントポリシー３３０を順守していないことを示す応答を、マネージメントモジュール１３２から受け取る。受け取った応答に基づき、ローカルセキュリティモジュール４３０が、アクションは不適切であることを判定する。
【０１５１】
ステップ９３０にて、不適切なアクションに関する、または、プロセスに関する情報が、グローバルマネージャに送られる。例えば、ローカルセキュリティモジュール４３０が、不適切なアクションに関する情報（例えば、不適切なアクションのタイプ、不適切なアクションのタイプに基づく不適切なアクションの詳細、不適切なアクションがいつ発生したのかを示すタイムスタンプ）、または、アクションの実行を要求したプロセスに関する情報（例えば、プロセスの名称、プロセスがリッスンを行っているネットワークポート、プロセスがリッスンを行っているネットワークインターフェース、プロセスを起動したユーザ、プロセスの構成、プロセスのコマンドラインｌａｕｎｃｈ引数、またはプロセスの依存関係）、をグローバルマネージャに送る。
【０１５２】
ｂ）オペレーティングシステムレベルのタンパリングの識別−ローカルセキュリティモジュール４３０が、オペレーティングシステムレベルのタンパリング（例えば、マネージメントモジュール構成１３４に対する変更）を検出する。
【０１５３】
ｃ）ログ−ローカルセキュリティモジュール４３０が、マネージドサーバ１３０からログを取得し、そのログをグローバルマネージャ１２０に送る。ログには、例えば、ファイアウォールのログ（例えば、ウェブアプリケーションファイアウォール（ＷＡＦ）エンジンにより報告されるウェブベースのＬ７ルールおよびシグネチャベースの攻撃）、侵入検知システム（ＩＤＳ）ログ（例えば、ＩＤＳエンジンからの従来のＬ７シグネチャベースの侵入検知イベント）、および、認証ログ（例えば、セキュアシェル（ＳＳＨ）認証ログ）、が含まれる。一実施形態において、これらのログは、より簡単に分析されるように、標準の形式に正規化される。正規化は、マネージドサーバ１３０および／またはグローバルマネージャ１２０にて行うことができる。
【０１５４】
ｄ）検出された侵入の識別−ローカルセキュリティモジュール４３０が、種々の技術を使用して侵入を検出する。例えば、ローカルセキュリティモジュール４３０は、いくつかの基本侵入シグネチャを、ｉｐｔａｂｌｅｓと併せて使用する。別の例として、ローカルセキュリティモジュール４３０が、ＩＰアドレスに関連付けられたいくつかのアクティビティをトラッキングし、トラッキングしたアクティビティの量をいくつかの閾値と比較する（例えば、ＳＳＨ総当たり攻撃を検出する）。
【０１５５】
ｅ）「不良アクター」の識別−ローカルセキュリティモジュール４３０が、既知の「不良アクター」（例えば、低レピュテーションおよび／またはセキュリティ脅威に関連付けられたＩＰアドレスを持つデバイス）を、マネージドサーバ１３０によりブロックされるＩＰアドレスと比較する。不良アクターが典型的にはアンマネージドデバイス１４０であるのに対し、不良アクターはマネージドサーバ１３０であることがある。一実施形態において、不良アクターの識別は、ログストリームの形式でグローバルマネージャ１２０に提供される。
【０１５６】
一実施形態において、ローカルセキュリティモジュール４３０はまた、自身のセキュリティ機能を実行する。例えば、ローカルセキュリティモジュール４３０は、マネージドサーバ１３０上のプロセスが、いつ新しいアウトバウンド接続を作成するのかを検出する。ローカルセキュリティモジュール４３０は、既知の不良アクター（アンマネージドデバイス１４０および／またはマネージドサーバ１３０）のリストにアクセスし、アウトバウンド接続の送信先デバイスがリスト上にあるかどうかを判定する。送信先デバイスがリスト上にある場合、ローカルセキュリティモジュール４３０は、侵出を防ぐためにアウトバウンド接続をブロックする。別の実施形態において、ローカルセキュリティモジュール４３０が、ローカル攻撃の閾値および発見的問題解決法を使用して、ブロッキングポリシーをローカルに適用する。
【０１５７】
グローバルマネージャ１２０のリポジトリ３００には、グローバルセキュリティデータリポジトリ３３５が含まれることを思い出されたい。グローバルセキュリティデータリポジトリ３３５は、セキュリティ関連情報（「セキュリティメタデータ」）を記憶する。この情報には、例えば、不正プロセスおよび／または不正アクション、オペレーティングシステムレベルのタンパリング、ログ、検出された侵入、および不良アクター、が含まれる。
【０１５８】
グローバルマネージャ１２０のプロセシングサーバ３１０には、グローバルセキュリティモジュール３９０が含まれることを思い出されたい。グローバルセキュリティモジュール３９０が、セキュリティ関連情報（「セキュリティメタデータ」）をマネージドサーバ１３０から受け取り、その情報をグローバルセキュリティデータリポジトリ３３５に記憶する。この情報には、例えば、不正プロセスおよび／または不正アクション、オペレーティングシステムレベルのタンパリング、ログ、検出された侵入、および不良アクター、が含まれる。
【０１５９】
グローバルセキュリティモジュール３９０はまた、グローバルセキュリティデータリポジトリ３３５に記憶される情報を分析し、必要に応じて、その分析の結果に基づき、管理ドメイン状態３２０および／または管理ドメイン規模のマネージメントポリシー３３０を変更する。グローバルセキュリティデータリポジトリ３３５に記憶される情報の分析により、攻撃および／または脆弱性が検出される。グローバルセキュリティモジュール３９０は、単一のマネージドサーバ１３０上、のみならず、管理ドメイン１５０全体に渡って、攻撃または脆弱性を検出することができる。
【０１６０】
管理ドメイン状態３２０および／またはマネージメントポリシー３３０の変更は、グローバルに実施される。管理ドメイン状態３２０には、マネージドサーバ１３０の記述と、（選択的に）アンマネージドデバイス１４０の記述と、が含まれる、ことを思い出されたい。一実施形態において、管理ドメイン状態３２０が、マネージドサーバ１３０のポリシー違反に関する情報を記憶する。例えば、グローバルセキュリティモジュール３９０は、特定のマネージドサーバ１３０について、グローバルセキュリティデータリポジトリ３３５に記憶される不正プロセス／アクション情報を分析する。そして、グローバルセキュリティモジュール３９０は、そのマネージドサーバの、ポリシー違反固有に構成された特徴を、特定の値、例えば、行われたまたは試みられた違反の数（１、２、３など）に設定する。別の実施形態において、管理ドメイン状態３２０が、マネージドサーバ１３０をタンパリングすることに関する情報を記憶する。例えば、グローバルセキュリティモジュール３９０は、特定のマネージドサーバ１３０について、グローバルセキュリティデータリポジトリ３３５に記憶されるオペレーティングシステムレベルのタンパリング情報を分析する。そして、グローバルセキュリティモジュール３９０は、そのマネージドサーバの、タンパリング固有に構成された特徴を、特定の値、例えば、タンパリングの有無を示すブール値、に設定する。
【０１６１】
別の実施形態において、管理ドメイン状態３２０が、１つまたは複数のアンマネージドデバイスグループ（ＵＤＧ）に関する情報を記憶する。第１のＵＤＧのメンバーは、既知の攻撃または不良アクター（例えば、セキュリティ脅威をもたらすアンマネージドデバイス１４０）である。グローバルセキュリティモジュール３９０は、必要に応じて、攻撃者／不良アクターを追加または削除することにより、この不良アクターＵＤＧを維持する。例えば、グローバルセキュリティモジュール３９０は、グローバルセキュリティデータリポジトリ３３５に記憶されるログ情報、検出された侵入情報、および／または不良アクター情報を使用して、「不良」アンマネージドデバイス１４０を識別する。グローバルセキュリティモジュール３９０が、特定の攻撃者または不良アクターを識別すると、グローバルセキュリティモジュールは、そのアクターを不良アクターＵＤＧに追加する。一実施形態において、不良アクターＵＤＧを使用して、以下で説明するように、（マネージドサーバ１３０との間の）ネットワーク接続がブロックされるべきアンマネージドデバイス１４０を識別する。別の実施形態において、不良アクターＵＤＧが、管理ドメイン規模のマネージメントポリシー３３０（例えば、ルールの提供元または使用元部分内）において使用される。
【０１６２】
他のＵＤＧのメンバーは、「危険」であり、かつ、関連付けられた「リスクスコア」を持つ、ということが分かっている。例えば、第１の危険ＵＤＧのメンバーが、リスクスコア「１」を持ち、第２の危険ＵＤＧが、リスクスコア「２」を持つ、などである。グローバルセキュリティモジュール３９０は、必要に応じて、アンマネージドデバイス１４０を追加または削除することにより、危険ＵＤＧを維持する。例えば、グローバルセキュリティモジュール３９０は、グローバルセキュリティデータリポジトリ３３５に記憶されるログ情報、検出された侵入情報、および／または不良アクター情報を使用して、危険なアンマネージドデバイス１４０およびそのデバイスの危険スコアを識別する。グローバルセキュリティモジュール３９０が、特定の危険アンマネージドデバイス１４０を識別すると、グローバルセキュリティモジュールは、そのアンマネージドデバイスを、適切な危険ＵＤＧに（アンマネージドデバイスのリスクスコアに基づき）追加する。一実施形態において、危険ＵＤＧを使用して、以下で説明するように、ローカルセキュリティモジュール４３０の動作を、微調整、調整、改良、または改善する。別の実施形態において、危険ＵＤＧが、管理ドメイン規模のマネージメントポリシー３３０（例えば、ルールの提供元または使用元部分内）において使用される。
【０１６３】
管理ドメイン状態更新モジュール３８５は、上記で説明したように、管理ドメイン状態３２０に対する変更を受け取り、それに従って、それらの変更を処理する。これにより、１つのマネージドサーバ１３０への攻撃の検出が、動的な実施ポリシーとして、他のマネージドサーバに分散されることが可能となるため、該他のマネージドサーバが保護される。換言すると、フィードバックループが存在し、そこでは、マネージドサーバ１３０がセキュリティ関連情報をグローバルマネージャ１２０に送り、グローバルマネージャ１２０が、セキュリティ関連情報に基づきマネージメント命令を生成して、その命令をマネージドサーバ１３０に送る。
【０１６４】
特に、更新された関連アクターセット（例えば、変更されたＵＤＧまたは変更されたマネージドサーバに関連付けられたアクターセット）は、種々のマネージドサーバ１３０に送られてもよい。一実施形態において、更新された関連アクターセットを受け取ることに起因して、それらのマネージドサーバが、自身のマネージメントモジュール１３２を再構成する。例えば、再構成されたマネージメントモジュール１３２は、第１のＵＤＧのメンバーであるアンマネージドデバイス１４０への、および／またはアンマネージドデバイス１４０からの、通信を許可することを中止してもよい（それによって、これら通信の全てをブロックする）。別の実施形態において、更新された関連アクターセットを受け取ることに起因して、それらマネージドサーバ内のローカルセキュリティモジュール４３０は、異なって動作する。例えば、ローカルセキュリティモジュール４３０は、モジュール４３０の分析を変更または調整して、データが、アンマネージドデバイス１４０のリスクスコアに基づき、異なって分析されるようにすることができる。特定のアンマネージドデバイス１４０に関するセキュリティ情報を報告するための閾値は、デバイスのリスクスコアが高い場合に、低くてもよい。別の例として、ローカルセキュリティモジュール４３０は、更新された不良アクターＵＤＧに基づき、異なるアウトバウンド接続をブロックしてもよい。
【０１６５】
なお、攻撃を分散させることができるため、任意の１つのマネージドサーバ１３０は、自身が攻撃下にはないということを知らないかもしれない。マネージドサーバ１３０が、セキュリティ関連情報を、グローバルマネージャ１２０に送るので、グローバルセキュリティモジュール３９０は、ドメインのうちのいずれの１つの部分における、１つのプローブにも分離してとらえることができない、管理ドメイン１５０に渡る攻撃パターンを検出することができる。ドメイン規模の攻撃が、グローバルセキュリティモジュール３９０により検出されると、グローバルセキュリティモジュールは、上記で説明したものと同じ機構（すなわち、管理ドメイン状態３２０の変更）の後に続き、動的な実施ポリシーを他のマネージドサーバ１３０に分散して、該他のマネージドサーバが保護されるようにする。
【０１６６】
グローバルセキュリティモジュール３９０は、アプリケーションベースの異常およびネットワークベースの異常の両方へのアクセスを有するので、グローバルセキュリティデータリポジトリ３３５に記憶される情報のモジュール３９０の分析は、さらに正確である。グローバルセキュリティモジュール３９０はまた、より早く作動することができ、実施のアクション（例えば、管理ドメイン状態３２０の変更）を取る前に、長い時間待つ必要が無い。また、グローバルセキュリティモジュール３９０は、特定の管理ドメイン１５０に一意的な攻撃を識別することができる。その攻撃は、そのドメインのみを標的にしていることができ、攻撃は、他のインターネットスケールのセキュリティシステム上の「ノイズの中」にある。また、管理ドメイン１５０におけるマネージドサーバ１３０（詳細には、そのポリシー実行モジュール１３６）の配置のため、グローバルセキュリティモジュール３９０はまた、内部関係者からの、ドメイン内からの内部の脅威、または、代替えとして、ドメインの境界防御を通り抜け、今度はドメイン内に横に移動しようとするボットネット、をキャッシュすることができる。
【０１６７】
一実施形態において、グローバルセキュリティモジュール３９０はまた、１つまたは複数の以下の機能を実行する。
【０１６８】
ａ）グローバルセキュリティデータリポジトリ３３５に記憶される情報の統計的分析−グローバルセキュリティモジュール３９０が、グローバルセキュリティデータリポジトリ３３５に記憶される情報を分析して、異なるカテゴリ内の上位の「Ｎ」個の項目を判定する。カテゴリは、例えば、通信している上位の個々のノード、通信している上位の対のノード、マネージドサーバ１３０によりブロックされる上位のＩＰアドレス、および、マネージドサーバにより高いリスクスコアで許可される上位のＩＰアドレス、とすることができる。統計値は、複数のレベルで、例えば、マネージドサーバごと、データセンターごと、事業単位ごと、および、管理ドメイン１５０ごと、に計算されてよい。
【０１６９】
ｂ）「不良アクター」の識別−グローバルセキュリティモジュール３９０が、アクティビティの構成された閾値を使用して、不良アクターを識別する。
【０１７０】
一実施形態において、グローバルセキュリティモジュール３９０は拡張可能であり、および／または、セキュリティ分析機能を実行して、異なる脅威および攻撃のタイプに基づき、グローバルな警告と動的な実施の両方を提供することができる。
【０１７１】
ここで、グローバルセキュリティモジュール３９０は記述済みであり、これは、いくつかの例に対処することに役立つ。環境１００（特に、グローバルマネージャ１２０およびマネージドサーバ１３０）は、マネージドサーバが、「隔離モード」におかれることを可能にする。隔離モードは、特定のマネージドサーバ１３０を他のマネージドサーバから分離する。例えば、感染したまたは不良な挙動をするマネージドサーバ１３０が、他の「健全」なマネージドサーバから分離される。
【０１７２】
マネージドサーバ１３０が隔離中のときは、他のマネージドサーバ（詳細には、そのマネージメントモジュール１３２）が、隔離されたサーバから生じたインバウンドのネットワークトラフィックをブロックする。加えて、隔離されたサーバにインストールされたマネージメントモジュール１３２が、自身を構成可能なセルフ隔離モードにし、それにおいては、（デフォルトで）アウトバウンドのネットワークトラフィックがブロックされ、管理のインバウンドのネットワークトラフィックのみが許可される。隔離されたサーバがルーティングされており、かつ、攻撃者が十分に高性能である場合、セルフ隔離モードは回避され得る。しかし、それほど洗練されていないウィルスの多くの場合（および、感染したシステムが、まだ悪意のあるペイロードを有しておらず、単に偵察を行っているだけ場合）、セルフ隔離モードは、追加の予防策の提供を助ける。非常に進歩した脅威の場合でさえも、他のマネージドサーバ１３０が、隔離されたサーバからの分離を提供する。
【０１７３】
一実施形態において、隔離モードが、以下のように実行される。まず、グローバルセキュリティモジュール３９０が、特定のマネージドサーバ１３０を隔離することを判定する。例えば、グローバルセキュリティモジュール３９０は、ネットワーク攻撃が特定のマネージドサーバ１３０から生じた、または、特定のマネージドサーバ１３０が脆弱性を有することを判定する。この判定は、例えば、グローバルマネージャ１２０が行ったアクション（例えば、グローバルセキュリティデータリポジトリ３３５に記憶される情報の分析）および／またはグローバルマネージャが外部ソースから受け取る通知（例えば、マネージドサーバ１３０、サードパーティの脆弱性スキャナ、またはユーザコマンド）に基づくものとすることができる。マネージドサーバ１３０からの通知は、例えば、不正プロセス／アクションまたはオペレーティングシステムレベルのタンパリング、に関与するものとすることができる。脆弱性スキャナから受け取る通知は、例えば、脆弱性を有するデバイスに関与するものとすることができる。ユーザコマンドから受け取る通知は、例えば、任意の可能性のある手段を使用して人により識別された不良アクターに関与するものとすることができる。
【０１７４】
そして、グローバルセキュリティモジュール３９０は、管理ドメイン状態３２０を変更して、特定のマネージドサーバ１３０が隔離されることを示す。例えば、グローバルセキュリティモジュール３９０は、特定のマネージドサーバ１３０を、特別の隔離アクターセット（本明細書では、アクターセットＱまたは「ＡＳＱ」と称する）に追加する。管理ドメイン状態３２０は、アクターセットＱに関する情報を記憶し、アクターセットＱのメンバーは隔離される。グローバルセキュリティモジュール３９０は、必要に応じてマネージドサーバ１３０を追加または削除することにより、アクターセットＱを維持する。
【０１７５】
別の例において、グローバルセキュリティモジュール３９０は、隔離固有に構成された特徴（本明細書では、「ＣＣQ」と称する）を、特定の値、例えば、脅威レベル（１、２、３、など）、に設定する。ＣＣQを使用して、アクターセットＱを条件付きで定義することができ、ここで、アクターセットＱの各メンバーは、ゼロより大きいＣＣQ値を持つ（「ＣＣQ＞０」）。ＣＣQを使用して、複数の隔離アクターセットを条件付きで定義することもでき（例えば、各脅威レベルに１つの隔離アクターセット、ここで、そのアクターセットの各メンバーは、同じＣＣQ値を持つ）。ＣＣQを、ルールの条件部分（ブール式）と併せて使用して、ルールが特定のマネージドサーバ１３０に適用されるかどうかを指定することもできる。例えば、条件部分「ＣＣQ＝０」では、全ての隔離されたサーバが、その脅威レベルに関わらず除外される。この条件部分を、ホワイトリストモデルルールと共に使用して、隔離されたサーバがプロバイダまたはコンシューマとして作動することを防ぐことができる。
【０１７６】
隔離アクターセットは、条件付きで定義されようと、明示的に割り当てられたメンバーにより定義されようと、管理ドメイン規模のマネージメントポリシー３３０において、使用元（ＵＢ）部分または提供元（ＰＢ）部分内で、使用されてよいもととする。詳細には、隔離アクターセットを、セット差計算の一部として使用することができる（例えば、共通セット（集合）のメンバーの減算）。例えば、ＵＢ部分「＊−＜隔離アクターセット＞」は、隔離アクターセットのメンバーを除く誰（どれ）でも、サービスを使用することができる、ことを指定するもので、ここで、ワイルドカード記号「＊」は、誰でも、を示し、減算記号「−」は、「除く」を示し、「＜隔離アクターセット＞」は、任意のタイプの隔離アクターセットを示す（この隔離アクターセットのメンバーは、例えば、全ての隔離したマネージドサーバ、または、特定のＣＣQ値（例えば、ＣＣQ＞２またはＣＣQ＜５）を持つマネージドサーバのみ、とすることができる）。隔離アクターセットを使用して、プロバイダまたはコンシューマを、積極的に示すこともできる。例えば、ＰＢ部分「＜隔離アクターセット＞」は、隔離アクターセットのメンバーがサービス、例えば、管理セキュリティ対応チームの一部であるデバイスからの接続を許可すること、を提供する、ことを指定する。
【０１７７】
なお、ルールの条件部分においてＣＣQを使用することは、ルールのＵＢ部分またはＰＢ部分においてセット差計算に隔離アクターセットを使用すること、と論理的に等価である。例えば、第１位のルール＜ＵＢ＝ウェブ，ＰＢ＝データベース，条件＝「ＣＣQ＝０」＞は、第２のルール＜ＵＢ＝ウェブ−ＡＳＱ，ＰＢ＝データベース−ＡＳＱ＞、ここで、ＣＣQは、ＡＳＱを条件付き（ＣＣＱ＞０）で定義する）、と論理的に等価である。
【０１７８】
管理ドメイン状態更新モジュール３８５は、上記で説明したように、管理ドメイン状態３２０に対するこの変更を受け取り、それに従って、この変更を処理する。特に、更新されたマネージメント命令（例えば、関連アクターセットおよび／または機能レベル命令）が、マネージドサーバ１３０に送られる。更新されたマネージメント命令を受け取ることに起因して、それらマネージドサーバ（詳細には、そのポリシーコンパイルモジュール４１０）は、新しいマネージメントモジュール構成１３４を生成し、それに従って、そのマネージメントモジュール１３２を再構成する。新しいマネージメントモジュール構成１３４は、更新されたマネージメント命令に基づき生成される。
【０１７９】
隔離したマネージドサーバ１３０については、受け取った更新されたマネージメント命令に起因して、該サーバは、セルフ隔離モードに入る。例えば、機能レベル命令がホワイトリスト型モデルに従う場合（例えば、サーバが行うことができることの完全なリストを提供する）、更新された機能レベル命令は、以前受け取られた機能レベル命令のサブセット（部分集合）であってもよい。その結果、隔離したマネージドサーバ１３０は、隔離されていなかったときには行ったような多くのタスクを、行うことが許可されない。
【０１８０】
隔離されないマネージドサーバ１３０については、受け取った更新されたマネージメント命令（詳細には、任意の隔離アクターセットおよび／または隔離機能レベル命令）に起因して、該サーバは、隔離されたサーバを分離する。（なお、隔離機能レベル命令は、以前送られており変更がない場合には、グローバルマネージャ１２０からマネージドサーバ１３０に再度送られる必要はない。）特に、ポリシーコンパイルモジュール４１０は、隔離機能レベル命令を、隔離アクターセットのメンバーに適用し、標準の機能レベル命令を、それらメンバーに適用しない。マネージメントモジュール１３２の再構成に起因して、該マネージメントモジュールは、隔離アクターセットのメンバー（すなわち、隔離したマネージドサーバ１３０）からのインバウンドのトラフィックをブロックする。
【０１８１】
ある時点で、隔離したマネージドサーバ１３０の「隔離を解除する」（すなわち、サーバを隔離モードから解放する）ことが適切であることがある。例えば、隔離したマネージドサーバ１３０が安全になった場合（例えば、悪意のあるソフトウェアまたは脆弱性を取り除くことにより）、そのサーバの隔離を解除することは適切であることがある。マネージドサーバ１３０は、一旦隔離を解除されると、それ以上他のマネージドサーバからは分離されず、セルフ隔離モードから解放される。
【０１８２】
一実施形態において、隔離したマネージドサーバ１３０の隔離モードからの解放は、以下のように実行される。まず、グローバルセキュリティモジュール３９０が、特定のマネージドサーバ１３０を隔離から解放することを判定する。例えば、グローバルセキュリティモジュール３９０は、マネージドサーバ１３０がこれ以上セキュリティ脅威をもたらすことはないことを判定するこの判定は、例えば、グローバルマネージャ１２０が行ったアクション（例えば、グローバルセキュリティデータリポジトリ３３５に記憶される情報の分析）および／またはグローバルマネージャが外部ソースから受け取る通知（例えば、サードパーティの脆弱性スキャナ、またはユーザコマンド）に基づくものとすることができる。
【０１８３】
脆弱性スキャナから受け取る通知は、例えば、脆弱性を有するデバイスに関与するものとすることができる。一実施形態において、脆弱性の通知には、以前脆弱性を有していたが、もう有していないデバイス、がリストアップされている。別の実施形態において、脆弱性の通知には、現在脆弱性を有するデバイスがリストアップされている。その実施形態において、グローバルセキュリティモジュール３９０が、最近の脆弱性の通知を、古い脆弱性の通知と比較して、以前脆弱性を有していたがもう有していないデバイス、を判定することができる。ユーザコマンドから受け取る通知は、例えば、セキュリティ脅威をこれ以上もたらすことはない、と人により識別されたマネージドサーバ１３０に関与するものとすることができる。
【０１８４】
そして、グローバルセキュリティモジュール３９０は、管理ドメイン状態３２０を変更して、特定のマネージドサーバ１３０が隔離から解放されることを示す。例えば、グローバルセキュリティモジュール３９０は、特定のマネージドサーバ１３０を、特別の隔離アクターセットから削除する。別の例において、グローバルセキュリティモジュール３９０は、隔離固有に構成された特徴を、特定の値、例えば、脅威レベル（例えば、脅威無しとして０）、に設定する。
【０１８５】
管理ドメイン状態更新モジュール３８５は、上記で説明したように、管理ドメイン状態３２０に対するこの変更を受け取り、それに従って、この変更を処理する。特に、更新されたマネージメント命令（例えば、関連アクターセットおよび／または機能レベル命令）が、マネージドサーバ１３０に送られる。更新されたマネージメント命令を受け取ることに起因して、それらマネージドサーバ（詳細には、そのポリシーコンパイルモジュール４１０）は、新しいマネージメントモジュール構成１３４を生成し、それに従って、そのマネージメントモジュール１３２を再構成する。新しいマネージメントモジュール構成１３４は、更新されたマネージメント命令に基づき生成される。
【０１８６】
隔離から解放されたマネージドサーバ１３０については、受け取った更新されたマネージメント命令に起因して、該サーバは、セルフ隔離モードから出る。例えば、機能レベル命令がホワイトリスト型モデルに従う場合（例えば、サーバが行うことができることの完全なリストを提供する）、更新された機能レベル命令は、以前受け取られた機能レベル命令の上位セット（上位集合）であってもよい。その結果、隔離を解除されたマネージドサーバ１３０は、隔離されていたときに行ったよりも多くのタスクを、行うことが許可される。
【０１８７】
異なるマネージドサーバ１３０については、受け取った更新されたマネージメント命令（詳細には、任意の隔離アクターセットおよび／または隔離機能レベル命令）に起因して、該サーバは、新しく隔離を解除されたサーバの分離を中止する。特に、ポリシーコンパイルモジュール４１０は、隔離機能レベル命令を、隔離アクターセットのメンバー（新しく隔離を解除されたサーバはもはや含まれない）に適用し、標準の機能レベル命令を、それらメンバーに適用しない。マネージメントモジュール１３２の再構成に起因して、該マネージメントモジュールは、隔離アクターセットのメンバーからのインバウンドのトラフィックをブロックする。
【０１８８】
図１０は、一実施形態に係る、管理ドメイン内のマネージドサーバ１３０を隔離する方法１０００を説明するフローチャートである。管理ドメインに１５０には、マネージメント命令を使用してマネージメントモジュール１３２を構成する複数のマネージドサーバ１３０が含まれ、構成されたマネージメントモジュールが、１つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーを実行するようにされ、隔離したマネージドサーバが、複数のマネージドサーバのうちの他のマネージドサーバから、分離されるようにする。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。
【０１８９】
方法１０００が開始されるとき、マネージドサーバ１３０（隔離されるであろうマネージドサーバ）の記述は、グローバルマネージャ１２０の管理ドメイン状態３２０に既に記憶されてある。また、管理ドメインのアクターセットも、グローバルマネージャ１２０に既にキャッシュ済みである。最後に、マネージメントポリシー観点および関連アクターセットが、別のマネージドサーバ１３０（隔離したマネージドサーバとは異なる）に関連して、既にキャッシュ済みである。この時点で、方法１０００が開始される。
【０１９０】
ステップ１０１０にて、マネージドサーバ１３０の記述が変更されて、マネージドサーバが隔離されることが示される。例えば、グローバルセキュリティモジュール３９０が、マネージドサーバ１３０の隔離固有に構成された特徴を、特定の値に設定することにより、管理ドメイン状態３２０を変更し、それによって、隔離したマネージドサーバの記述を指定する。
【０１９１】
ステップ１０２０にて、キャッシュしたアクターセットが更新されて、隔離したマネージドサーバの変更後状態が示される。例えば、グローバルセキュリティモジュール３９０が、アクターエニュメレーションモジュール３７０を使用して、管理ドメインのキャッシュしたアクターセットを更新し、それによって、更新されたアクターセットを指定する。
【０１９２】
ステップ１０３０にて、更新されたアクターセットのどれが他のマネージドサーバ１３０に関連するのか、に関して判定が行われる。例えば、グローバルセキュリティモジュール３９０が、関連アクターモジュール３８０を使用して、更新されたアクターセットのどれが他のマネージドサーバ１３０に関連するのかを判定し、それによって、現在関連する更新後アクターセットを指定する。
【０１９３】
ステップ１０４０にて、現在関連する更新後アクターセットが、他のマネージドサーバ１３０に以前送ったアクターセットと異なるかどうか、に関して判定が行われる。例えば、グローバルセキュリティモジュール３９０が、現在関連する更新後アクターセットを、他のマネージドサーバ１３０に以前送ったアクターセット（他のマネージドサーバに関連して、「関連アクターセット」としてキャッシュしたアクターセット）と比較する。現在関連する更新後アクターセットが、以前送ったアクターセットと異ならない（例えば、同一である）という判定に応じて、方法１０００はステップ１０５０に進む。現在関連する更新後アクターセットが、以前送ったアクターセットと異なる、という判定に応じて、方法１０００はステップ１０６０に進む。
【０１９４】
ステップ１０５０にて、それ以上アクションは取らない。例えば、グローバルセキュリティモジュール３９０は、それ以上アクションを取らない。
【０１９５】
ステップ１０６０にて、以前送ったアクターセットと比較して、追加、削除または変更されるべきである、更新されたアクターセットが、判定される。例えば、グローバルセキュリティモジュール３９０が、現在関連する更新後アクターセットを、他のマネージドサーバ１３０に以前送ったアクターセットと比較する。
【０１９６】
ステップ１０７０にて、更新されたアクターセットと、更新されたアクターセットを追加、削除、または変更するための命令と、が他のマネージドサーバに送られる。例えば、グローバルセキュリティモジュール３９０が、更新されたアクターセットと、命令とを、他のマネージドサーバに送る。
【０１９７】
図１１は、一実施形態に係る、管理ドメイン１５０内のアンマネージドデバイス１４０のグループの状態に対する変更を処理する方法１１００を説明するフローチャートである。管理ドメイン１５０には、マネージメント命令を使用してマネージメントモジュール１３２を構成する複数のマネージドサーバ１３０が含まれ、構成されたマネージメントモジュールが、１つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーを実行するようにされる。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび／または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図１に示されるもの以外のエンティティによって実行されてよい。
【０１９８】
方法１１００が開始されるとき、アンマネージドデバイスグループ（状態が変更されるアンマネージドデバイスグループ）の記述は、グローバルマネージャ１２０の管理ドメイン状態３２０に既に記憶されてある。また、管理ドメインのアクターセットも、グローバルマネージャ１２０に既にキャッシュ済みである。最後に、マネージメントポリシー観点および関連アクターセットが、マネージドサーバ１３０に関連して、既にキャッシュ済みである。この時点で、方法１１００が開始される。
【０１９９】
ステップ１１１０にて、アンマネージドデバイスグループの記述が変更されて、アンマネージドデバイスがアンマネージドデバイスグループに追加される。例えば、グローバルセキュリティモジュール３９０が、アンマネージドデバイスをアンマネージドデバイスグループに追加することにより、管理ドメイン状態３２０を変更する。
【０２００】
ステップ１１２０にて、キャッシュしたアクターセットが更新されて、アンマネージドデバイスグループの変更後状態が示される。例えば、グローバルセキュリティモジュール３９０が、アクターエニュメレーションモジュール３７０を使用して、管理ドメインのキャッシュしたアクターセットを更新し、それによって、更新されたアクターセットを指定する。
【０２０１】
ステップ１１３０にて、更新されたアクターセットのどれがマネージドサーバ１３０に関連するのか、に関して判定が行われる。例えば、グローバルセキュリティモジュール３９０が、関連アクターモジュール３８０を使用して、更新されたアクターセットのどれがマネージドサーバ１３０に関連するのかを判定し、それによって、現在関連する更新後アクターセットを指定する。
【０２０２】
ステップ１１４０にて、現在関連する更新後アクターセットが、マネージドサーバ１３０に以前送ったアクターセットと異なるかどうか、に関して判定が行われる。例えば、グローバルセキュリティモジュール３９０が、現在関連する更新後アクターセットを、マネージドサーバ１３０に以前送ったアクターセット（マネージドサーバに関連して、「関連アクターセット」としてキャッシュしたアクターセット）と比較する。現在関連する更新後アクターセットが、以前送ったアクターセットと異ならない（例えば、同一である）という判定に応じて、方法１１００はステップ１１５０に進む。現在関連する更新後アクターセットが、以前送ったアクターセットと異なる、という判定に応じて、方法１１００はステップ１１６０に進む。
【０２０３】
ステップ１１５０にて、それ以上アクションは取らない。例えば、グローバルセキュリティモジュール３９０は、それ以上アクションを取らない。
【０２０４】
ステップ１１６０にて、以前送ったアクターセットと比較して、追加、削除または変更されるべきである、更新されたアクターセットが、判定される。例えば、グローバルセキュリティモジュール３９０が、現在関連する更新後アクターセットを、マネージドサーバ１３０に以前送ったアクターセットと比較する。
【０２０５】
ステップ１１７０にて、更新されたアクターセットと、更新されたアクターセットを追加、削除、または変更するための命令と、がマネージドサーバに送られる。例えば、グローバルセキュリティモジュール３９０が、更新されたアクターセットと、命令とを、マネージドサーバに送る。
【０２０６】
上記の説明は、特定の実施形態の動作を説明するために含まれ、本発明の範囲を制限することは意図されない。本発明の範囲は、以下の請求項によってのみ、制限されるべきである。上記の検討から、当業者には、本発明の精神および範囲によってさらに網羅されるであろう多くの変形が明らかとなるであろう。
【図１】
0006491221.tif 000004
【図２】
0006491221.tif 000005
【図３】
0006491221.tif 000006
【図４】
0006491221.tif 000007
【図５】
0006491221.tif 000008
【図６】
0006491221.tif 000009
【図７】
0006491221.tif 000010
【図８】
0006491221.tif 000011
【図９】
0006491221.tif 000012
【図１０】
0006491221.tif 000013
【図１１】
0006491221.tif 000014