(57)【特許請求の範囲】
【請求項１】
ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するため、少なくともその一部が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行されるコンピュータ実装方法であって、
その機能性がシステムのセットにより提供されるデータセンターアプリケーションを識別することと、
システムの前記セットを、それぞれが同一のセキュリティコンテクストを有するシステムのグループを含む１つ以上のアプリケーションモデルグループに前記コンピューティングデバイスにより自動的に組織化することであって、システムの前記セット内のそれぞれのシステムに対して、
システムの前記セット内で前記システムの属性を識別することであって、当該属性は、前記システムがその下で動作するべきセキュリティコンテクストを示し、前記属性は前記システムによって格納されているデータのタイプを含み、前記セキュリティコンテクストは前記システムの少なくとも１つのセキュリティニーズの分類を含む、こと、及び
前記システムを、前記セキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることと、
前記１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、
適用された場合に、前記セキュリティコンテクストを前記アプリケーションモデルグループに対して提供するファイアウォールコンフィグレーションを、前記ファイアウォールコンフィグレーションについてのメタデータを前記アプリケーションモデルグループと関連付けることに少なくとも部分的に基づいて、選択すること、及び
前記選択されたファイアウォールコンフィグレーションを用いて前記アプリケーションモデルグループを保護することによって前記アプリケーションモデルグループを保護することと、を含む、方法。
【請求項２】
前記データセンターアプリケーションを識別することは、前記データセンターアプリケーションを含むシステムの前記セットを識別するようデータセンタープラットフォームに問い合わせることを含み、かつ、
前記システムの前記属性を識別することは、
前記データセンターアプリケーション内で前記システムが属するアプリケーション階層、
前記システム上で実行されるサービス、
前記システムのインバウンドディペンデンシー、及び
前記システムのアウトバウンドディペンデンシー、のうちの少なくとも１つを判定するよう、前記データセンターアプリケーションに問い合わせることを含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記システムを１つ以上のアプリケーションモデルグループに組織化することは、前記データセンターアプリケーションのシステムの前記セットのアプリケーション階層、サービス、及びディペンデンシーに基づいて、
前記システムがいくつのアプリケーションモデルグループに組織化されるか、及び
前記アプリケーションモデルグループのそれぞれに対して提供されるべき前記セキュリティコンテクスト、のうちの少なくとも１つを判定することを含む、請求項１又は２に記載のコンピュータ実装方法。
【請求項４】
前記ファイアウォールコンフィグレーションを選択することは、
ファイアウォールコンフィグレーションのセットであって、その中のそれぞれのファイアウォールコンフィグレーションが、ファイアウォールポリシーの異なるセットを有するファイアウォールコンフィグレーションのセットを識別することと、
前記アプリケーションモデルグループに対する前記セキュリティコンテクストに対応する、前記ファイアウォールコンフィグレーションを選択することと、を含み、
前記選択されたファイアウォールコンフィグレーションを用いて、前記アプリケーションモデルグループを保護することは、
前記ファイアウォールコンフィグレーションでファイアウォールを構成することと、
前記ファイアウォールが前記アプリケーションモデルグループを保護するよう前記ファイアウォールを作動させることと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
ファイアウォールコンフィグレーションの前記セットを識別することは、
前記データセンターアプリケーションの前記システムが組織化されるそれぞれのアプリケーションモデルグループを識別することと、
実行された場合に、それぞれの識別されたアプリケーションモデルグループに対する前記セキュリティコンテクストを提供するファイアウォールポリシーのセットを確立することにより、それぞれの識別されたアプリケーションモデルグループに対してファイアウォールコンフィグレーションを作成することと、を含む、請求項４に記載のコンピュータ実装方法。
【請求項６】
ファイアウォールコンフィグレーションのセットを識別することは、ファイアウォールコンフィグレーションの前記セット内のそれぞれのファイアウォールコンフィグレーションのメタデータを識別することを含み、かつ、
前記アプリケーションモデルグループに対する前記セキュリティコンテクストに対応する、前記ファイアウォールコンフィグレーションを選択することは、ファイアウォールコンフィグレーションの前記セット内のそれぞれのファイアウォールコンフィグレーションの前記メタデータを、前記１つ以上のアプリケーションモデルグループと関連付けることを含む、請求項４に記載のコンピュータ実装方法。
【請求項７】
前記選択されたファイアウォールコンフィグレーションを用いて前記アプリケーションモデルグループを保護することは、前記選択されたファイアウォールコンフィグレーションの１つ以上のポリシーを、前記アプリケーションモデルグループと、前記データセンターアプリケーションの少なくとも１つの他のアプリケーションモデルグループとの間の通信に対して実行することにより、セキュリティマイクロセグメント化を提供することを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
新たなシステムが前記データセンターアプリケーションに追加されたと判定することと、
前記新たなシステムが前記データセンターアプリケーションに追加されたと判定されたことに反応し、
前記新たなシステムがその下で動作するべきセキュリティコンテクストを示す、前記新たなシステムの属性を識別することと、
前記システムを、前記セキュリティコンテクストが提供される既存のアプリケーションモデルグループに割り当てることと、を更に含む、請求項１に記載のコンピュータ実装方法。
【請求項９】
前記システムが仮想マシンを備え、
前記ファイアウォールコンフィグレーションが、仮想ファイアウォール内で実装され、
前記データセンターアプリケーションが、ソフトウェアで定義されたデータセンタープラットフォーム上で実装され、
システムの前記セットを前記１つ以上のアプリケーションモデルグループに組織化することは、前記ソフトウェアで定義されたデータセンタープラットフォームのデータ構造を用いて、システムの前記セットを前記１つ以上のアプリケーションモデルグループに分割するよう前記ソフトウェアで定義されたデータセンタープラットフォームに命じることを含む、請求項１に記載のコンピュータ実装方法。
【請求項１０】
ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するためのシステムであって、
その機能性がシステムのセットにより提供されるデータセンターアプリケーションを識別するアプリケーションを識別するための手段と、
システムを組織化するための手段であって、システムの前記セット内のそれぞれのシステムに対して、
前記システムの属性をシステムの前記セット内で識別することであって、前記属性は前記システムがその下で動作するべきセキュリティコンテクストを示し、前記属性は前記システムによって格納されているデータのタイプを含み、前記セキュリティコンテクストは前記システムの少なくとも１つのセキュリティニーズの分類を含む、こと、及び
前記システムを、前記セキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることにより、システムの前記セットを、それぞれが同一のセキュリティコンテクストを有するシステムのグループを含む１つ以上のアプリケーションモデルグループにコンピューティングデバイスにより自動的に組織化する、手段と、
グループを保護するための手段であって、前記１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、
適用された場合に、前記セキュリティコンテクストを前記アプリケーションモデルグループに対して提供するファイアウォールコンフィグレーションを、前記ファイアウォールコンフィグレーションについてのメタデータを前記アプリケーションモデルグループと関連付けることに少なくとも部分的に基づいて、選択すること、及び
前記選択されたファイアウォールコンフィグレーションを用いて前記アプリケーションモデルグループを保護すること、によって前記アプリケーションモデルグループを保護する、手段と、を備える、システム。
【請求項１１】
前記アプリケーションを識別するための手段は、前記データセンターアプリケーションを含むシステムの前記セットを識別するようデータセンタープラットフォームに問い合わせることにより、前記データセンターアプリケーションを識別し、かつ
前記システムを組織化するための手段は、
前記データセンターアプリケーション内で前記システムが属するアプリケーション階層、
前記システム上で実行されるサービス、
前記システムのインバウンドディペンデンシー、及び
前記システムのアウトバウンドディペンデンシー、のうちの少なくとも１つを判定するよう、前記データセンターアプリケーションに問い合わせることにより、前記システムの前記属性を識別する、請求項１０に記載のシステム。
【請求項１２】
前記システムを組織化するための手段は、前記データセンターアプリケーションのシステムの前記セットのアプリケーション階層、サービス、及びディペンデンシーに基づいて、
前記システムがいくつのアプリケーションモデルグループに組織化されるか、及び
前記アプリケーションモデルグループのそれぞれに対して提供されるべき前記セキュリティコンテクスト、のうちの少なくとも１つを判定することにより、前記システムを１つ以上のアプリケーションモデルグループに組織化する、請求項１０又は１１に記載のシステム。
【請求項１３】
前記グループを保護するための手段は、
ファイアウォールコンフィグレーションのセットであって、その中のそれぞれのファイアウォールコンフィグレーションが、ファイアウォールポリシーの異なるセットを有するファイアウォールコンフィグレーションのセットを識別すること、及び
前記アプリケーションモデルグループに対する前記セキュリティコンテクストに対応する前記ファイアウォールコンフィグレーションを選択することにより、前記ファイアウォールコンフィグレーションを選択し、かつ、
前記グループを保護するための手段は、
前記ファイアウォールコンフィグレーションでファイアウォールを構成すること、及び
前記ファイアウォールが前記アプリケーションモデルグループを保護するよう前記ファイアウォールを作動させることにより、前記選択されたファイアウォールコンフィグレーションを用いて前記アプリケーションモデルグループを保護する、請求項１０に記載のシステム。
【請求項１４】
前記グループを保護するための手段は、
前記データセンターアプリケーションの前記システムが組織化されるそれぞれのアプリケーションモデルグループを識別すること、及び
実行された場合に、それぞれの識別されたアプリケーションモデルグループに対する前記セキュリティコンテクストを提供するファイアウォールポリシーのセットを確立することにより、それぞれの識別されたアプリケーションモデルグループに対してファイアウォールコンフィグレーションを作成することにより、ファイアウォールコンフィグレーションの前記セットを識別する、請求項１０又は１３に記載のシステム。
【請求項１５】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、前記コンピューティングデバイスに、
その機能性がシステムのセットにより提供されるデータセンターアプリケーションを識別させ、
システムの前記セット内のそれぞれのシステムに対して、
前記システムの属性をシステムの前記セット内で識別することであって、当該属性は、前記システムがその下で動作するべきセキュリティコンテクストを示し、前記属性は、前記システムによって格納されているデータのタイプを含み、前記セキュリティコンテクストは前記システムの少なくとも１つのセキュリティニーズの分類を含む、こと、及び
前記システムを、前記セキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることにより、システムの前記セットを、それぞれが同一のセキュリティコンテクストを有するシステムのグループを含む１つ以上のアプリケーションモデルグループに前記コンピューティングデバイスにより自動的に組織化させ、
前記１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、
適用された場合に、前記セキュリティコンテクストを前記アプリケーションモデルグループに対して提供するファイアウォールコンフィグレーションを、前記ファイアウォールコンフィグレーションについてのメタデータを前記アプリケーションモデルグループと関連付けることに少なくとも部分的に基づいて、選択すること、及び
前記選択されたファイアウォールコンフィグレーションを用いて前記アプリケーションモデルグループを保護することによって、前記アプリケーションモデルグループを保護させる、１つ以上のコンピュータ可読命令を含む非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
セキュリティは、利便性と安全性との間の連続体として、しばしば説明されるものである。セキュリティのレイヤーを１０個要するシステムを攻撃するのは非常に困難であり得るが、そのようなシステムは、そのメンテナンスが実行不可能であり得るくらいに不便なものでもあり得る。その正反対のケースである、何のセキュリティも有しないシステムは、そのメンテナンス及び使用が非常に便利であるが、同時に非常に信頼性に欠けるものである。外界との境界のみに働くファイアウォールでネットワークを保護することは、より徹底的な防衛手段を用いることよりも便利なものであるが、しかし同時に、次第に普及しつつある多くの攻撃形態に対しては、不適切なものであり得る。多くのデータセンターが、次第によりセグメント化されつつあるが、このことが意味するのは、単一のネットワーク内にあるサーバ及びデータが、多くの異なるレベルのセキュリティを必要とし得るということである。十分なセキュリティを、ネットワーク上のリソースのセグメントに提供すれば、情報技術（ＩＴ）リソースには相当の負荷がかかり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
したがって、本開示は、ファイアウォールポリシーを、データセンターアプリケーション内で自動的に適用するための追加の、かつ改善されたシステム及び方法に対する必要性を識別し、それに対処するものである。
【課題を解決するための手段】
【０００３】
以下により詳しく説明するように、本開示は、データセンターアプリケーション内のシステムを、類似のセキュリティコンテクストで動作するアプリケーションモデルグループに組織化し、適切なファイアウォールポリシーを、各アプリケーションモデルグループ内のシステムに自動的に適用することによって、ファイアウォールポリシーを、データセンターアプリケーション内で自動的に適用するための様々なシステム及び方法を説明するものである。
【０００４】
１つの実施例では、ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するためのコンピュータ実装方法は、（１）その機能性がシステムのセットにより提供されているデータセンターアプリケーションを識別することと、（２）コンピューティングデバイスにより、システムのセット内のそれぞれのシステムに対して、そのシステムがその下で動作するべきセキュリティコンテクストを示すそのシステムの属性を識別し、そのシステムを、そのセキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることにより、システムのセットを１つ以上のアプリケーションモデルグループに自動的に組織化することと、（３）１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、適用された場合に、アプリケーションモデルグループに対するセキュリティコンテクストを提供するファイアウォールコンフィグレーションを選択し、選択されたファイアウォールコンフィグレーションを、そのアプリケーションモデルグループを保護するために用いることにより、そのアプリケーションモデルグループを保護することと、を含み得る。
【０００５】
１つの実施形態では、データセンターアプリケーションを識別することは、データセンターアプリケーションを含むシステムのセットを識別するようデータセンタープラットフォームに問い合わせることを含み得る。この実施形態では、システムの属性を識別することは、データセンターアプリケーションに、データセンターアプリケーション内の、システムが属するアプリケーション階層、システム上で動作しているシステム、システムのインバウンドディペンデンシー、及び／又はシステムのアウトバウンドディペンデンシーを判定するよう問い合わせることを含み得る。
【０００６】
一部の実施例では、システムを１つ以上のアプリケーションモデルグループに組織化することは、アプリケーション階層、サービス、及びデータセンターアプリケーションのシステムのセットのディペンデンシーに基づいて、システムをいくつのアプリケーションモデルグループに組織化するのかを判定することを含み得る。システムをアプリケーションモデルグループに組織化することは、それぞれのアプリケーションモデルグループに対して提供されるべきであるセキュリティコンテクストに基づくこともある。
【０００７】
１つの実施形態では、ファイアウォールコンフィグレーションを選択することは、ファイアウォールコンフィグレーションのセット内のそれぞれのファイアウォールコンフィグレーションがファイアウォールポリシーの異なるセットを含み得る、ファイアウォールコンフィグレーションのセットを識別することと、アプリケーションモデルグループに対するセキュリティコンテクストに対応するファイアウォールコンフィグレーションを選択することとを含み得る。この実施形態では、選択されたファイアウォールコンフィグレーションを、アプリケーションモデルグループを保護するために用いることは、ファイアウォールコンフィグレーション内のファイアウォールを構成すること、及びそのファイアウォールがアプリケーションモデルグループを保護するように、ファイアウォールを作動させることを含み得る。
【０００８】
一部の実施例では、ファイアウォールコンフィグレーションのセットを識別することは、データセンターアプリケーションのシステムが組織化される、それぞれのアプリケーションモデルグループを識別することと、ファイアウォールポリシーのセットが実行された場合に、それぞれの識別されたアプリケーションモデルグループに対してセキュリティコンテクストを提供するようなファイアウォールポリシーのセットを確立することにより、それぞれの識別されたアプリケーションモデルグループに対してファイアウォールコンフィグレーションを作成することとを含み得る。追加的又は代替的には、ファイアウォールコンフィグレーションのセットを識別することは、ファイアウォールコンフィグレーションのセット内のそれぞれのファイアウォールコンフィグレーションのメタデータを識別することを含んでいてよく、アプリケーションモデルグループに対するセキュリティコンテクストに対応するファイアウォールコンフィグレーションを選択することは、ファイアウォールコンフィグレーションのセット内のそれぞれのファイアウォールコンフィグレーションのメタデータを、１つ以上のアプリケーションモデルグループと関係づけることを含み得る。
【０００９】
一部の実施例では、選択されたファイアウォールコンフィグレーションを、アプリケーションモデルグループを保護するために用いることは、選択されたファイアウォールコンフィグレーションの１つ以上のポリシーを、アプリケーションモデルグループと、データセンターアプリケーションの少なくとも１つの他のアプリケーションモデルグループとの間の通信に実行することにより、セキュリティマイクロセグメント化を提供することを含み得る。１つの実施形態では、コンピュータ実装方法は、新たなシステムが、データセンターアプリケーションに追加されたことを判定すること、新たなシステムがデータセンターアプリケーションに追加されたことを判定することに反応し、その下で新たなシステムが動作すべきであるセキュリティコンテクストを示す新たなシステムの属性を識別すること、及びそのシステムを、そのセキュリティコンテクストが提供される既存のアプリケーションモデルグループの１つに割り当てることを更に含み得る。
【００１０】
１つの実施形態では、システムは、仮想マシンを含み得、ファイアウォールコンフィグレーションは、仮想ファイアウォール内で実装され得、かつデータセンターアプリケーションは、ソフトウェアで定義されたデータセンタープラットフォーム上で実装され得る。この実施形態では、システムのセットを、１つ以上のアプリケーションモデルグループに組織化することは、ソフトウェアで定義されたデータセンタープラットフォームのデータ構造を利用して、システムのセットを１つ以上のアプリケーションモデルグループに分割するようソフトウェアで定義されたデータセンタープラットフォームに命令することを含み得る。
【００１１】
１つの実施形態では、上述の方法を実装するためのシステムは、（１）その機能性がシステムのセットによって提供されるデータセンターアプリケーションを識別する、メモリに格納された識別モジュール、（２）システムのセット内のそれぞれのシステムに対して、その下でシステムが動作するべきセキュリティコンテクストを示すシステムの属性を識別し、かつ、そのシステムをそのセキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることにより、システムのセットを、１つ以上のアプリケーションモデルグループにコンピューティングデバイスによって自動的に組織化する、メモリに格納された組織化モジュール、（３）１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、適用された場合に、そのアプリケーションモデルグループに対するセキュリティコンテクストを提供するファイアウォールコンフィグレーションを選択し、かつ、選択されたファイアウォールコンフィグレーションを用いてアプリケーションモデルグループを保護することによって、アプリケーションモデルグループを保護する、メモリに格納されたセキュリティモジュール、及び（４）識別モジュール、組織化モジュール、及びセキュリティモジュールを実行するよう構成されている、少なくとも１つの物理的プロセッサを含み得る。
【００１２】
いくつかの実施例では、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、１つ以上のコンピュータ実行可能命令を含み得るが、その命令は、コンピューティングデバイスの少なくとも１つのプロセッサにより実行されると、（１）その機能性がシステムのセットにより提供されているデータセンターアプリケーションを識別することと、（２）コンピューティングデバイスにより、システムのセット内のそれぞれのシステムに対して、そのシステムがその下で動作するべきセキュリティコンテクストを示すそのシステムの属性を識別し、そのシステムを、そのセキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることにより、システムのセットを１つ以上のアプリケーションモデルグループに自動的に組織化することと、（３）１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、適用された場合に、アプリケーションモデルグループに対するセキュリティコンテクストを提供するファイアウォールコンフィグレーションを選択し、選択されたファイアウォールコンフィグレーションを、そのアプリケーションモデルグループを保護するために用いることにより、そのアプリケーションモデルグループを保護することとを、コンピューティングデバイスに実行させ得る。
【００１３】
上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【００１４】
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【図１】ファイアウォールポリシーを、データセンターアプリケーション内で自動的に適用するための例示的システムのブロック図である。
【図２】ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための追加的な、例示的システムのブロック図である。
【図３】ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的な方法のフローチャートである。
【図４】ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的コンピューティングシステムのブロック図である。
【図５】ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的コンピューティングシステムのブロック図である。
【図６】ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的コンピューティングシステムのブロック図である。
【図７】ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的コンピューティングシステムのブロック図である。
【図８】本明細書に記載及び／又は図示される実施形態のうち１つ以上を実現することができる例示的コンピューティングシステムのブロック図である。
【図９】本明細書に記載及び／又は図示される実施形態のうち１つ以上を実現することができる例示的コンピューティングネットワークのブロック図である。
【００１５】
図面を通して、同一の参照符号及び記述は、必ずしも同一ではないが、類似の要素を示す。本明細書で説明される例示的実施形態は、様々な修正物及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正物、等価物、及び代替物を網羅する。
【発明を実施するための形態】
【００１６】
本開示は、ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するためのシステム及び方法を、一般に対象とする。以下に詳述するように、本明細書において説明されるシステム及び方法は、データセンターアプリケーションのシステムをアプリケーションモデルグループに組織化し、適切なファイアウォールポリシーを、それぞれのアプリケーションモデルグループのシステムに自動的に適用し得るものである。例えば、本開示のシステムは、そこからアプリケーション情報を得ることができる仮想化プラットフォームを発見し、アプリケーション情報に基づいて（例えば、アプリケーションのリソースをグループ化することにより）アプリケーションモデルを構築し、かつ、ファイアウォール製品を発見してファイアウォールポリシーのグループを入手し得るものである。そのようなシステムは、ファイアウォールポリシーをアプリケーションモデルと関連付けて、関係性マトリクスを構築し、その関係性マトリクスを用いてファイアウォールポリシーをアプリケーション内に実装し、次にそのファイアウォールポリシーを自動的に実行し得る。このようにして、本明細書に記載されるシステム及び方法は、データセンターアプリケーションに対して、人の手による介入なしでマイクロセグメント化を可能にすることにより、高いレベルのセキュリティを効率的に提供し得る。
【００１７】
図１〜２及び４〜７を参照しつつ、ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的なシステムの詳細な説明を以下に提供する。対応するコンピュータ実装方法の詳細な説明も図３に関連して提供される。それに加えて、本明細書に記載される実施形態のうち１つ以上を実現することができる、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明を、それぞれ図８及び図９と関連して提供する。
【００１８】
図１は、ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための例示的なシステム１００のブロック図である。この図に図示されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。例えば、以下に詳述するように、例示的なシステム１００は、その機能性がシステムのセットにより提供され得るデータセンターアプリケーションを識別し得る識別モジュール１０４を含み得る。例示的なシステム１００は、コンピューティングデバイスにより自動的に、システムのセットを１つ以上のアプリケーションモデルグループに組織化し得る、組織化モジュール１０６を追加的に含み得る。組織化モジュール１０６は、システムのセット内のそれぞれのシステムに対して、そのシステムがその下で動作するべきセキュリティコンテクストを示し得るシステムの属性を識別し、そのシステムを、そのセキュリティコンテクストが提供されるアプリケーションモデルグループに割り当てることにより、システムを組織化し得る。例示的なシステム１００は、それが適用された場合に、アプリケーションモデルグループに対するセキュリティコンテクストを提供するファイアウォールコンフィグレーションを選択することにより、それぞれのアプリケーションモデルグループを保護し得る、セキュリティモジュール１０８を含み得る。セキュリティモジュール１０８はまた、選択されたファイアウォールコンフィグレーションを用いて、アプリケーションモデルグループを保護し得る。別々の要素として図示されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【００１９】
特定の実施形態では、図１のモジュール１０２のうち１つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに１つ以上のタスクを実施させ得る、１つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下に詳述するように、１つ以上のモジュール１０２が、図８中のコンピューティングシステム８１０及び／又は図９中の例示的なネットワークアーキテクチャ９００の一部のような１つ以上のコンピューティングデバイスに格納され、そのようなデバイス上で実行されるよう構成されているソフトウェアモジュールを表し得る。図１のモジュール１０２のうち１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の専用コンピュータの全て又は一部を表し得る。
【００２０】
図１の例示的なシステム１００は、様々な方法で実装され得る。例えば、例示的なシステム１００の全て又は一部は、図２における例示的なシステム２００の部分を表してもよい。図２に示すように、システム２００は、データセンターアプリケーション２０６と通信するセキュリティシステム２０２を含み得る。１つの実施例では、セキュリティシステム２０２は、１つ以上のモジュール１０２でプログラムされ得る。追加的に又は代替的に、データセンターアプリケーション２０６は、１つ以上のモジュール１０２でプログラムされ得る。一部の実施形態では、セキュリティシステム２０２は、データセンターアプリケーション２０６内でシステムを保護するファイアウォールを含むか又はそれとインターフェースで接続し得る。１つの実施形態では、データセンターアプリケーション２０６は、１つ以上のリモートサーバ上のソフトウェアで定義されたデータセンター上でホストされ得る。
【００２１】
１つの実施形態では、図１にあるモジュール１０２の１つ以上のものは、セキュリティシステム２０２及び／又はデータセンターアプリケーション２０６の少なくとも１つのプロセッサにより実行されると、セキュリティシステム２０２及び／又はデータセンターアプリケーション２０６が、ファイアウォールポリシーを、データセンターアプリケーション内で自動的に適用するのを可能にし得る。例えば、また以下に詳述するように、識別モジュール１０４は、その機能性がシステム２０８（１）〜２０８（ｎ）のセットにより提供されるデータセンターアプリケーション２０６を識別し得る。次に、組織化モジュール１０６は、セキュリティシステム２０２により自動的に、システム２０８（１）〜２０８（ｎ）のセットを１つ以上のアプリケーションモデルグループに、組織化し得るが、そのために、それぞれのシステム２０８に対して、その下でシステム２０８が動作するべきセキュリティコンテクスト２１４を示すシステム２０８の属性２１２を識別し、かつ、システム２０８を、セキュリティコンテクスト２１４が提供されるアプリケーションモデルグループ２１０に割り当てる。最後に、１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループ２１０に対して、セキュリティモジュール１０８は、適用された場合にアプリケーションモデルグループ２１０に対するセキュリティコンテクスト２１４を提供するファイアウォールコンフィグレーション２１６を選択することにより、アプリケーションモデルグループ２１０を保護し得る。セキュリティモジュール１０８はまた、選択されたファイアウォールコンフィグレーション２１６を用いて、アプリケーションモデルグループ２１０を保護し得る。
【００２２】
セキュリティシステム２０２は一般に、ファイアウォールコンフィグレーション及び／又はポリシーをシステムに適用することが可能な任意のタイプ又は形態のセキュリティシステムを、一般に表す。セキュリティシステム２０２の例には、ファイアウォール製品、ＶＭｗａｒｅ社製ＮＳＸ、Ｓｙｍａｎｔｅｃ社製Ｄａｔａ  Ｃｅｎｔｅｒ  Ｓｅｃｕｒｉｔｙ、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社製ＰＡ−７０５０、又は任意の他の好適なセキュリティシステムが含まれるが、それらに限られない。
【００２３】
データセンターアプリケーション２０６は、データセンターによりホストされる、任意のタイプ又は形態のアプリケーションを、一般に表す。本明細書において用いられる場合、「データセンター」という用語は、現実的なものであれ、仮想的なものであれ、コンピューティングシステムの任意の集合体を意味し得る。例えば、データセンターは、仮想マシン及び／又は仮想ネットワークから構成される、ソフトウェアで定義されたデータセンターを含み得る。一部の実施形態では、データセンターアプリケーションは、ソフトウェアで定義されたネットワーク（例えば、ネットワーク制御プレーンがソフトウェアで実装され、その下にあるデータプレーンから分離されているネットワーク）内で実装され得る。データセンターアプリケーション２０６の例には、ウェブサイト、ウェブサービス、ソーシャルネットワーキングプラットフォーム、ｅコマースサイト、メッセージングサービス、ファイル共有プラットフォーム、及び／又は任意のその他のタイプのインターネット接続アプリケーションが挙げられるが、それらに限られない。
【００２４】
本明細書において用いられる場合、「自動的」という用語は、ユーザーによる介入が制限されている、又はそのような介入のない、任意のプロセスを一般に意味する。自動的に実行されるプロセス又はステップはまた、例えば、通常はユーザーによって構成される構成を自動的に生成することにより、ユーザーからの限定的な入力で、又はユーザーからの入力なしでも実行され得る。「自動的」という用語はまた、１つ以上のコンピューティングシステムにより実行され、かつ／又は完全にコンピュータにより制御されるステップの任意のシーケンスをも意味し得る。一部の実施例では、自動的に実行されるステップは、完全にソフトウェアにより実行され得る。
【００２５】
図３は、ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための、例示的なコンピュータ実装方法３００のフローチャートである。図３に示されるステップは、任意の好適なコンピュータ実行可能コード及び／又はコンピューティングシステムによって実施されてもよい。一部の実施形態では、図３に示されるステップは、図１のシステム１００、図２のシステム２００、図８のコンピューティングシステム８１０、及び／又は図９の例示的なネットワークアーキテクチャ９００の部分の構成要素のうち１つ以上によって実施され得る。
【００２６】
図３に図示するように、ステップ３０２で、本明細書において説明される１つ以上のシステムが、その機能性がシステムのセットにより提供されるデータセンターアプリケーションを識別し得る。例えば、識別モジュール１０４は、図２中のセキュリティシステム２０２の一部として、その機能性がシステム２０８（１）〜２０８（ｎ）のセットにより提供されるデータセンターアプリケーション２０６を識別し得る。
【００２７】
本明細書において用いられる場合、「システム」という用語は、データセンターアプリケーションの機能性の任意の部分を提供し得る、任意のコンピューティングシステムを一般に意味する。一部の実施形態では、システムは、仮想マシンを含み得る。追加的に又は代替的に、システムは、物理的なホストを含み得る。一部の実施形態では、システムは、通信に用いられるネットワーキングコンポーネントのような通信経路を含み得る。
【００２８】
識別モジュール１０４は、様々なやり方で、データセンターアプリケーションを識別し得る。例えば、識別モジュール１０４は、データセンターアプリケーションを構成する仮想マシンの全てを発見することにより、データセンターアプリケーションを識別し得る。別の１つの実施例では、識別モジュール１０４は、システムのセットを識別し、かつ、それらのシステムが全て同じデータセンターアプリケーションの一部であるということを判定することにより、データセンターアプリケーションを識別し得る。一部の実施例では、識別モジュール１０４は、データセンターアプリケーションに対してセキュリティを提供することを求める自動的な又は手動的なリクエストに反応して、データセンターアプリケーションを識別し得る。例えば、管理者は、データセンターアプリケーションを設定することの一部として、識別モジュール１０４を含むセキュリティシステムを実行し得る。別の１つの実施例では、識別モジュール１０４は、ソフトウェアで定義されたデータセンター内に規定された任意のデータセンターアプリケーションを自動的に識別し得る。一部の実施例では、識別モジュール１０４を含むセキュリティシステムが、既存のデータセンターアプリケーションを含むデータセンター内にインストールされ得る。
【００２９】
識別モジュール１０４は、様々なコンテクスト内で、データセンターアプリケーションを識別し得る。例えば、識別モジュール１０４は、データセンターアプリケーションを保護するためにインストールされたファイアウォール製品の一部となることによってデータセンターアプリケーションを識別し得る。この実施例では、ファイアウォール製品は、ファイアウォールが構成される際に、かつ／又は、システム間のトラフィックをモニターしている間に、データセンターアプリケーション内のシステムを発見し得る。別の１つの実施形態では、識別モジュール１０４は、データセンター内の仮想マシンを保護するセキュリティシステムの一部であることにより、データセンターアプリケーションを識別し得る。この実施例では、セキュリティシステムは、データセンターアプリケーションに対してセキュリティを提供するよう求めるリクエストに反応して、データセンターアプリケーション内のシステムを発見することにより、データセンターアプリケーションを自動的に識別し得る。
【００３０】
ステップ３０４では、本明細書において説明される１つ以上のシステムは、コンピューティングデバイスにより自動的に、システムのセットを１つ以上のアプリケーションモデルグループに組織化し得る。例えば、組織化モジュール１０６は、図２中のセキュリティシステム２０２の一部として、セキュリティシステム２０２により自動的に、システムのセットを１つ以上のアプリケーションモデルグループに組織化し得る。
【００３１】
本明細書において用いられる場合、「アプリケーションモデルグループ」という用語は、データセンターアプリケーションの部分を形成するシステムの任意の集合を一般に意味する。一部の実施形態では、アプリケーションモデルグループは、データセンターアプリケーション内で類似の役割を果たす仮想マシンの集合であり得る。例えば、アプリケーションモデルグループは、データセンターアプリケーションのウェブ階層を提供する仮想マシンの全てを含み得る。一部の実施例では、アプリケーションモデルグループは、ただ１つのシステムのみを含み得る。１つの実施例では、アプリケーションモデルグループは、仮想マシンのアドレスグループを含み得る。
【００３２】
組織化モジュール１０６は、様々なやり方で、システムを組織化し得る。例えば、組織化モジュール１０６は、システムのセットを、アプリケーション階層に基づいて組織化し得る。別の１つの実施例では、組織化モジュール１０６は、システムのセットを、他のどのシステムとそれぞれのシステムが通信しているかに基づいて組織化し得る。例えば、組織化モジュール１０６は、システムを、内向きのディペンデンシー（すなわち、データセンターアプリケーションの一部として、トラフィックをそのシステムに送る他のシステム）、及び／又は、外向きのディペンデンシー（すなわち、データセンターアプリケーションの一部として、トラフィックをそのシステムから受信する他のシステム）に基づいて組織化し得る。追加的に又は代替的に、組織化モジュール１０６は、システムのセットを、例えば、ウェブサイトの認証済み又は未認証部分に対して機能性を提供するかどうかのような他の基準に基づいて組織化し得る。一部の実施例では、組織化モジュール１０６は、機能性、例えば、ＪＢＯＳＳを実行するアプリケーションサーバをすべて同じアプリケーションモデルグループの中に配置することにより、システムを組織化し得る。別の１つの実施例では、組織化モジュール１０６は、機密扱いの情報を格納するデータベースをホストする全システムを、同じアプリケーションモデルグループに配置し得る。
【００３３】
一部の実施形態では、組織化モジュール１０６は、システムを、事前構成されたルールに基づいて組織化することにより、システムのセットを自動的に組織化し得る。例えば、組織化モジュール１０６は、システムを階層に基づいて自動的に組織化し、次にシステムをそれぞれの階層内で、内向き及び外向きのディペンデンシーに基づいて組織化するように構成され得る。別の１つの実施例では、組織化モジュール１０６は、システムに適用されたアプリケーションタグに基づいて、システムをアプリケーションモデルグループ（ただし、それぞれのアプリケーションモデルグループは、同じアプリケーションタグを有するすべてのシステムからなる）に組織化するように構成され得る。追加的に又は代替的に、組織化モジュール１０６は、それぞれのシステムの属性を、それぞれのアプリケーションモデルグループに関連付けられた属性のリストに照らし合わせることにより、システムをアプリケーションモデルグループに自動的に組織化し得る。例えば、アプリケーションモデルグループは、データベース階層内の、非常に限られた外向きのトラフィックを有するシステムのみからなり得る。この実施例では、組織化モジュール１０６は、そのアプリケーションモデルグループ内に、限られた外向きのディペンデンシーを有する全てのデータベースサーバを自動的に配置し得る。一部の実施形態では、組織化モジュール１０６は、人手による介入なしで、システムを組織化し得る。
【００３４】
ステップ３０４（ａ）では、本明細書に記載されるシステムが、システムのセット内のそれぞれのシステムに対して、システムがその下で動作するべきセキュリティコンテクストを示すシステムの属性を識別し得る。例えば、組織化モジュール１０６は、システムのセット内のそれぞれのシステム２０８に対して、システム２０８がその下で動作するべきセキュリティコンテクスト２１４を示す、システム２０８の属性２１２を識別し得る。
【００３５】
本明細書において用いられる場合、「属性」という用語は、データセンターアプリケーション内のシステムの任意の特性を一般に意味する。属性の例としては、システムにインストールされているオペレーティングシステム、システムのタイプ、システム上にインストールされているアプリケーション、システムの構成、システム上にインストールされているアプリケーションの構成、システムに出入りするネットワークトラフィックの特性、システムに適用されているタグ、システムにより提供されるサービス、システムに格納されているデータのタイプ、及び／又はシステムが、データセンターアプリケーション内のその他のシステムとの間に有する関係性、が挙げられ得るが、それらに限られない。例えば、システムは、ＷＩＮＤＯＷＳ（登録商標）  ＳＥＲＶＥＲ  ２００８オペレーティングシステムを実行する属性、サーバを擬するよう構成された仮想マシンであるという属性、読み取りのみ可能なように構成されたデータベースアプリケーションをホストするという属性、ウェブサーバからトラフィックを受けるという属性、及び「低セキュリティデータベース」というタグを付けられているという属性を有し得る。
【００３６】
本明細書において用いられる場合、「セキュリティコンテクスト」という用語は、セキュリティに対する需要の任意の分類、及び／又はシステムのセキュリティコンフィグレーションを一般に意味する。一部の実施形態では、セキュリティコンテクストには、タイプ、ソース、及び／又はシステムに向かってくる若しくはシステムから発するネットワークトラフィックの行き先が挙げられ得る。追加的に又は代替的に、セキュリティコンテクストは、システムが他のシステムとの間に有する関係性、例えば、システムが占めるアプリケーション階層を含み得る。一部の実施例では、セキュリティコンテクストは、システムどうしの間のディペンデンシー、システム上に格納されているデータのタイプ、システムにより提供されるサービス（すなわち、システムにより、他のシステムのために実行される機能）、システムの構成、及び／又は、システムの任意の他の属性を意味し得る。例えば、ウェブサイトの未認証部分をホストする、パブリック向けウェブサーバは、多くの異なるソースからの広範な種類のトラフィックを可能にするセキュリティコンテクストを有し得る。別の１つの実施例では、被雇用者及び／又は顧客に対する個人識別情報を格納するデータベースをホストするサーバは、高度に機密性の高いセキュリティコンテクストを有し得る。追加的に又は代替的に、ウェブアプリケーションに対する管理設定を格納するシステムは、外部のソースからのトラフィックを許可しないセキュリティコンテクストを有し得る。
【００３７】
１つの実施形態では、識別モジュール１０４は、データセンタープラットフォームに、データセンターアプリケーションを含み得るシステムのセットを識別するように問い合わせることにより、データセンターアプリケーションを識別し得る。データセンタープラットフォームは、仮想ネットワークをサポートし、かつ／又はデータセンターアプリケーションを管理するよう設計されたソフトウェア、例えばＶＭｗａｒｅ  ＮＳＸを含み得る。データセンタープラットフォームは、識別モジュール１０４がデータセンターアプリケーション内のシステムの属性を識別するのに用い得る、データセンターアプリケーションについてのメタデータ、並びに／又はデータセンターアプリケーションのモデル及び／若しくはデータセンターアプリケーション内のシステムのモデルへのアクセスを有し得る。この実施形態では、識別モジュール１０４は、システムの属性を、データセンタープラットフォームに、データセンターアプリケーション内でそのシステムが属するアプリケーション階層、及び／又はシステム上で実行されるサービスを判定するように問い合わせることにより識別し得る。一部の実施形態では、識別モジュール１０４はまた、データセンターアプリケーションに、システムを出入りするトラフィックについて問い合わせて、システムのインバウンドディペンデンシー及び／又はシステムのアウトバウンドディペンデンシーを判定し得る。例えば、識別モジュール１０４は、システムが、データセンターアプリケーションのウェブ階層、アプリケーション階層、及び／又はデータベース階層に属することを判定し得る。別の１つの実施例では、識別モジュール１０４は、システムが、ウェブサーバ、Ｅメールサーバ、データベースサーバ、及び／若しくはファイルサーバとして構成され、かつ／又はウェブサーバ、Ｅメールサーバ、データベースサーバ、及び／又はファイルサーバをホストしていることを判定し得る。追加的に又は代替的に、識別モジュール１０４は、システムがある他のシステムへトラフィックを送ること、及び／又はある他のシステムからのトラフィックを受容することを、判定し得る。例えば、識別モジュール１０４は、データセンタープラットフォームに問い合わせ、アプリケーションサーバがウェブサーバからトラフィックを受信し、データベースサーバにトラフィックを送信していることを判定し得る。
【００３８】
一部の実施形態では、識別モジュール１０４は、階層及び／又はシステム上で実行されるサービスに基づいて、システムをカテゴリ及び／又はサブカテゴリに類別し得る。例えば、識別モジュール１０４は、「ビジネス」のカテゴリ、「データベース」のサブカテゴリ、「クライアント−サーバ」技術カテゴリ、及び／又は「ＭＯＮＧＯＤＢ」アプリケーションのカテゴリに属するものとしてシステムを類別し得る。一部の実施例では、識別モジュール１０４はまた、どのポートが（例えば、他のシステムからリクエストを受け付けるために）オープンであるか、及び／又は、どのプロトコル、リクエストを受け付けるためにシステムが用いているかに基づいて、システムを類別し得る。一部の実施形態では、識別モジュール１０４は、システムからのメタデータに基づいて、上記の情報を判定し得る。本明細書において用いられる場合、「メタデータ」という用語は、システム若しくはシステムの特性の任意の説明、並びに／又はそれについてのデータを典型的には意味する。例えば、システムについてのメタデータには、システムがそれで構成されるアプリケーションのタイプ、システムが期待するトラフィックのタイプ、及び／又は、システム上のオペレーティングシステムが挙げられ得る。一部の実施例では、識別モジュール１０４は、例えば、ドキュメント、ライブラリ、ウェブアプリケーション、及び／又はアプリケーションプログラミングインターフェイスのような、ＳＨＡＲＥＰＯＩＮＴアプリケーションタイプに従って、システムを類別し得る。
【００３９】
ステップ３０４（ｂ）では、本明細書に記載されるシステムが、システムを、セキュリティコンテクストがそれに対して提供されるアプリケーションモデルグループに割り当て得る。例えば、組織化モジュール１０６は、図２の中のセキュリティシステム２０２の一部として、システム２０８を、セキュリティコンテクスト２１４がそれに対して提供される、アプリケーションモデルグループ２１０に割り当て得る。組織化モジュール１０６は、様々なやり方で、システムを、アプリケーションモデルグループに組織化し得る。
【００４０】
一部の実施例では、組織化モジュール１０６は、アプリケーション階層、サービス、及びデータセンターアプリケーションのシステムのセットのディペンデンシー、いくつのアプリケーションモデルグループにシステムが組織化されるのか、並びに／又はそれぞれのアプリケーションモデルグループに対して提供されるべきセキュリティコンテクストに基づいて、システムを１つ以上のアプリケーションモデルグループに組織化し得る。例えば、組織化モジュール１０６は、データセンターアプリケーションが３つの階層を含むと判定し得るが、それゆえに、システムを３つのアプリケーションモデルグループに組織化し得る。別の１つの実施例では、組織化モジュール１０６は、データセンターアプリケーションが、その全てが主として、それぞれのクラスタ内で内部的に通信するシステムの５つのクラスタを含むと判定し得るが、そのため、システムを５つのアプリケーションモデルグループに組織化し得る。本実施例では、組織化モジュール１０６はまた、それぞれのクラスタに対するセキュリティコンテクストは、そのクラスタの外部のシステムとの通信を制限すべきであると判定し得る。追加的に又は代替的に、組織化モジュール１０６は、アプリケーションモデルグループを、手動で作成されたグループ分けに基づいて割り当て得る。一部の実施例では、組織化モジュール１０６は、識別モジュール１０４により識別されたシステムのカテゴリ及び／又はサブカテゴリに基づいて、ＶＮｗａｒｅ  ＮＳＸアプリケーションモデルグループを作成し、かつ／又は、グループに対処し得る。本明細書において用いられる場合、「アドレスグループ」という用語は、アプリケーションモデルグループにより組織化された、システムのネットワークアドレスのグループを意味する。
【００４１】
一部の実施形態では、セキュリティコンテクスト及び／又はアプリケーションモデルグループは、アプリケーション階層に基づいて、作成及び／又は組織化され得る。図４に示すように、データセンターアプリケーション４００は、ウェブサーバ４１２及び／若しくはウェブサーバ４１４を含むウェブサーバアプリケーションモデルグループ４２０、Ｅメールサーバ４０６を含み得るＥメールサーバアプリケーションモデルグループ４１６、並びに／又はデータベースサーバ４０８及び４１０を含み得るデータベースサーバアプリケーションモデルグループ４１８を含み得る。
【００４２】
一部の実施例では、識別モジュール１０４は、新たなシステムがデータセンターアプリケーションに追加されたと判定し得るが、新たなシステムが追加されたと判定するのに反応して、組織化モジュール１０６は、その新たなシステムがその下で動作するべきセキュリティコンテクストを示す新たなシステムの属性を識別し、かつ、そのシステムを、セキュリティコンテクストが提供される既存のアプリケーションモデルグループに対して割り当て得る。例えば、新サーバ４２２がデータセンターアプリケーションに追加されると、識別モジュール１０４が、新サーバ４２２の属性を検査して、新サーバ４２２がウェブサーバ、データベースサーバ、又はＥメールサーバであるかどうかを判定し、それゆえに、新サーバ４２２を、ウェブサーバアプリケーションモデルグループ４２０、Ｅメールサーバアプリケーションモデルグループ４１６、又はデータベースサーバアプリケーションモデルグループ４１８に追加すべきかどうかを判定し得る。一部の実施例では、新サーバ４２２は、例えばアプリケーションサーバのような別のタイプのサーバであり得るが、組織化モジュール１０６は、新たなアプリケーションモデルグループを作成し得る。一部の実施形態では、組織化モジュール１０６は、アプリケーションサーバを、ｅメールサーバと同じ階層の部分とみなし得るので、新サーバ４２２をＥメールサーバアプリケーションモデルグループ４１６に配置し得る。
【００４３】
一部の実施例では、新サーバ４２２が追加されると、組織化モジュール１０６は、データセンターアプリケーションモデルの全体を再評価し、かつ／又は、既存のアプリケーションモデルグループを再組織化し得る。例えば、組織化モジュール１０６は、Ｅメールサーバアプリケーションモデルグループ４１６を除去して、アプリケーションサーバアプリケーションモデルグループを作製し得る。組織化モジュール１０６はまた、アプリケーションモデルグループ内のシステムと新サーバ４２２との間の関係性に基づいて、システム及び／又はアプリケーションモデルグループを再組織化し得る。例えば、ウェブサーバ４１２は、新サーバ４２２と通信する必要があり得るが、他方でウェブサーバ４１４は、新サーバ４２２と通信する必要が必ずしもない場合があり得る。この実施例では、組織化モジュール１０６は、ウェブサーバ４１２及びウェブサーバ４１４を、新サーバ４２２に関して異なるセキュリティコンテクストを有する、異なるアプリケーションモデルグループ内に配置し得る。
【００４４】
一部の実施形態では、組織化モジュール１０６はまた、システムが削除又は変更された場合には、システム及び／又はアプリケーションモデルグループを再組織化し得る。例えば、あるサーバがそれまでとは異なるサーバのセットと通信するように変更された場合、組織化モジュール１０６は、そのサーバを、新たなサーバのセットと通信可能とする、異なるアプリケーションモデルグループに配置し得る。
【００４５】
図３に戻ると、ステップ３０６では、本明細書に記載の１つ以上のシステムが、１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループに対して、そのアプリケーションモデルグループを保護し得る。例えば、セキュリティモジュール１０８は、図２のセキュリティシステム２０２の一部として、１つ以上のアプリケーションモデルグループ内のそれぞれのアプリケーションモデルグループ２１０に対して、アプリケーションモデルグループ２１０を保護し得る。
【００４６】
セキュリティモジュール１０８は、様々なコンテクストで、アプリケーションモデルグループを保護し得る。例えば、セキュリティモジュール１０８は、アプリケーションモデルグループを保護するファイアウォールポリシーを有するファイアウォール製品の一部であり得る。一部の実施例では、セキュリティモジュール１０８は、次世代ファイアウォール製品及び／又はポイントファイアウォール製品を含み得る。別の１つの実施形態では、セキュリティモジュール１０８は、アプリケーションモデルグループを保護するためにファイアウォール製品と通信する、セキュリティシステムの一部であり得る。
【００４７】
ステップ３０６（ａ）では、本明細書に記載の１つ以上のシステムは、適用された場合にアプリケーションモデルグループに対してセキュリティコンテクストを提供するファイアウォールコンフィグレーションを選択し得る。例えば、セキュリティモジュール１０８は、図２のセキュリティシステム２０２の一部として、適用された場合に、アプリケーションモデルグループ２１０に対してセキュリティコンテクスト２１４を提供するファイアウォールコンフィグレーション２１６を選択し得る。
【００４８】
本明細書において用いられる場合、「ファイアウォールコンフィグレーション」という用語は、ファイアウォールがシステムを保護し得る任意のやり方を、一般に意味する。ファイアウォールコンフィグレーションは、ファイアウォール設定、ファイアウォールポリシー、ファイアウォールのタイプ、ファイアウォールの任意の他の好適な特性、及び／又はそれらの任意の組み合わせを含み得る。
【００４９】
一部の実施形態では、セキュリティモジュール１０８は、自動的に生成されたファイアウォールコンフィグレーションを選択し得る。例えば、セキュリティモジュール１０８は、アプリケーションモデルグループのセキュリティコンテクストに基づいて、いくつかのファイアウォールポリシー及び／又は設定を自動的に組み合わせてファイアウォールコンフィグレーションに組み込み得る。一部の実施例では、セキュリティモジュール１０８は、アプリケーションタグをセキュリティタグに対応付ける相関アルゴリズムに基づいて、ファイアウォールコンフィグレーションを選択し得る。相関アルゴリズムは、タグの内容に基づいて、セキュリティタグ（例えば、アプリケーションモデルグループに割り当てられたタグ）をアプリケーションタグ（例えば、データセンターアプリケーションのシステムに割り当てられたタグ）に対応付け得る。例えば、セキュリティモジュール１０８は、非常に機密性の高いセキュリティコンテクストを有するシステムに適用するものとしての「重要なミッション」というアプリケーションタグの内容と、最も厳格なセキュリティポリシーとしての「ＳＨＡＲＥＰＯＩＮＴの厳格なポリシー」というセキュリティタグの内容とに基づいて、「重要なミッション」タグを、「ＳＨＡＲＥＰＯＩＮＴの厳格なポリシー」タグに対応付け得る。別の実施例では、セキュリティモジュール１０８は、ユーザーによって入力された対応付けを用い得る。例えば、ユーザーは、「重要なミッション」というアプリケーションタグを、「ＳＨＡＲＥＰＯＩＮＴの厳格なポリシー」というセキュリティタグに関連付ける対応付けを提供し得る。
【００５０】
セキュリティモジュール１０８は、あらかじめ定義された、又はデフォルトのファイアウォールコンフィグレーションを選択し得る。例えば、管理者は、データセンターアプリケーション内のシステムに、期待されるセキュリティコンテクストどうしを一致させる、人の手によって作成されたファイアウォールコンフィグレーションのセットを提供し得るが、セキュリティモジュール１０８は、これらの構成のうちの１つを選択してもよい。一部の実施形態では、セキュリティモジュール１０８は、自動的に生成され、かつ、あらかじめ構成されたファイアウォールコンフィグレーションどうしを混合したものを選択し得る。
【００５１】
一部の実施例では、セキュリティモジュール１０８は、データセンターアプリケーションのシステムが組織化されたそれぞれのアプリケーションモデルグループを識別し、実行された場合に、それぞれの識別されたアプリケーションモデルグループに対してセキュリティコンテクストを提供するファイアウォールポリシーのセットを確立することにより、それぞれの識別されたアプリケーションモデルグループに対して、ファイアウォールコンフィグレーションを作成し得る。１つの実施例では、セキュリティモジュール１０８は、いくつかのファイアウォールポリシーを組み合わせることによってファイアウォールコンフィグレーションを作成し得る。例えば、セキュリティモジュール１０８は、「ハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）のトラフィックのみ許可」というファイアウォールポリシーと、「内部のインターネットプロトコルアドレスからのリクエストのみ許可」というファイアウォールポリシーとを組み合わせて、内部のウェブサーバのグループを保護するためのファイアウォールコンフィグレーションを作成し得る。
【００５２】
セキュリティモジュール１０８は、様々なやり方で、ファイアウォールコンフィグレーションをアプリケーションモデルグループと、関連付け得る。例えば、図５に示すように、セキュリティモジュール１０８は、アプリケーションモデル５０２をファイアウォールポリシーモデル５１２と、関連付け得る。１つの実施例では、アプリケーションモデル５０２は、ウェブ階層５０４、アプリケーション階層５０６、及び／又はデータベース階層５０８を含み得る。アプリケーションモデル５０２内のシステムは、例えば、そのシステムが含まれるアプリケーション階層のような様々な特性に従ってタグ付けされ得る。ファイアウォールポリシーモデル５１２は、ファイアウォールポリシー５１６を、適切なアプリケーションモデルグループに対して適用するために、アプリケーションタグ５２０を、ポリシーグループ５１４に由来するセキュリティタグ５１８と関連付け得る。一部の実施例では、ポリシーグループ５１４は、アプリケーションモデル５０２内のアプリケーションモデルグループと、関連付けられ得る。
【００５３】
一部の実施例では、セキュリティモジュール１０８は、特定のファイアウォールポリシーをそれぞれのアプリケーションモデルグループと、関連付け得る。例えば、図６に示すように、セキュリティモジュール１０８は、ファイアウォールポリシー６２２をアプリケーションモデルグループ６０２と関連付け得る。一部の実施例では、同じ階層内のシステムが、異なるアプリケーションモデルグループに分割され得る。例えば、「全てのＭｙＳＱＬサーバからのトラフィックを許可」というファイアウォールポリシー６２４は、メインデータベースグループ６０４と関連付けられ得るが、他方で、「指定のＭｙＳＱＬサーバからのトラフィックのみ許可」というファイアウォールポリシー６２６は、高機密データベースグループ６０６と関連付けられ得る。別の１つの実施例では、「インターネットプロトコル（ＴＣＰ／ＩＰ）トラフィックに対するすべての伝送制御プロトコルを許可」というファイアウォールポリシー６２８は、パブリックウェブサーバグループ６０８に対して適用され得るが、他方で、「追加のパケット点検を伴うすべてのＴＣＰ／ＩＰトラフィックを許可」というファイアウォールポリシー６３０は、内部ウェブサーバグループ６１０に対して適用され得る。一部の実施例では、ファイアウォールポリシーは、特定の機能を果たすシステムを含むアプリケーションモデルグループと、関連付けられ得る。例えば、「ファイル転送プロトコル（ＦＴＰ）のトラフィックのみ許可」というファイアウォールポリシー６３２は、ＦＴＰサーバグループ６１２と関連付けられ得る。
【００５４】
一部の実施例では、セキュリティモジュール１０８は、それぞれのファイアウォールコンフィグレーションのメタデータを識別することにより、ファイアウォールコンフィグレーションのセットを識別し得るが、セキュリティモジュール１０８はまた、それぞれのファイアウォールコンフィグレーションのメタデータを１つ以上のアプリケーションモデルグループと関連付けることにより、アプリケーションモデルグループに対するセキュリティコンテクストに対応するファイアウォールコンフィグレーションを選択し得る。例えば、セキュリティモジュール１０８は、それぞれのファイアウォールコンフィグレーションを説明するセキュリティタグを識別し、かつ／又は、セキュリティタグをアプリケーションモデルグループと関連付け得る。一部の実施形態では、「ＦＴＰトラフィックのみ許可」というファイアウォールポリシー６３２のような、図６に関連して上に挙げたファイアウォールポリシーは、セキュリティタグの例であり得る。追加的に又は代替的に、セキュリティモジュール１０８は、アプリケーションモデルグループを、ユーザーが定義したセキュリティポリシー及び／又はセキュリティタグと、関連付け得る。
【００５５】
図３に戻って、ステップ３０６（ｂ）では、本明細書に記載の１つ以上のシステムは、選択されたファイアウォールコンフィグレーションを用いて、アプリケーションモデルグループを保護し得る。例えば、セキュリティモジュール１０８は、図２のセキュリティシステム２０２の一部として、選択されたファイアウォールコンフィグレーション２１６を用いてアプリケーションモデルグループ２１０を保護し得る。
【００５６】
一部の実施例では、セキュリティモジュール１０８は、ファイアウォールコンフィグレーションのセットを識別することにより、ファイアウォールコンフィグレーションを選択し得る。これらの実施例では、ファイアウォールコンフィグレーションのセット内のそれぞれのファイアウォールコンフィグレーションは、ファイアウォールポリシーの異なるセットを含み得る。そのためセキュリティモジュール１０８は、アプリケーションモデルグループのためのセキュリティコンテクストに対応するファイアウォールコンフィグレーションを選択し得る。一部の実施例では、セキュリティモジュール１０８は、アプリケーションモデルグループ内のシステムに適用されたアプリケーションタグ、及び／又はファイアウォールポリシーに対して適用されたセキュリティタグに基づいて、ファイアウォールコンフィグレーションを選択し得る。本実施形態では、セキュリティモジュール１０８は、ファイアウォールをファイアウォールコンフィグレーションで構成し、そのファイアウォールがアプリケーションモデルグループを保護するようにファイアウォールを作動させることにより、選択されたファイアウォールコンフィグレーションを用いて、アプリケーションモデルグループを保護し得る。例えば、ファイアウォールは、ファイアウォールコンフィグレーションに従って、アプリケーションモデルグループ内のシステムに向けられたパケットを監視し、傍受し、及び／又は点検し得る。
【００５７】
一部の実施例では、組織化モジュール１０６は、選択されたファイアウォールコンフィグレーションを組織化して、セキュリティのマイクロセグメント化を提供することにより、アプリケーションモデルグループを保護し得る。セキュリティモジュール１０８は、アプリケーションモデルグループと、データセンターアプリケーションの少なくとも１つの他のアプリケーションモデルグループとの間の通信に対して、選択されたファイアウォールコンフィグレーションの１つ以上のポリシーを実行し得る。本明細書において用いられる場合、「セキュリティのマイクロセグメント化」という用語は、任意のブロックすること、監視すること、又はその他の方法で、同じネットワーク内のシステム間のネットワークトラフィックを制御することを意味し得る。例えば、図７に示すように、データセンターアプリケーションは、４つのアプリケーションモデルグループ、すなわち、アプリケーションモデルグループ７１８、７２０、７２２、及び／又は７２４を含み得る。これらのアプリケーションモデルグループのそれぞれは、例えば、ＩＩＳウェブサーバ７１２、ＡＰＡＣＨＥ  ＴＯＭＣＡＴウェブサーバ７１４、ＪＢＯＳＳアプリサーバ７１６、Ｅメールサーバ７０６、ＭｙＳＱＬデータベース７０８、及び／又はオラクル（ＯＲＡＣＬＥ）データベース７１０のような、１つ以上のシステムを含み得る。一部の実施例では、セキュリティモジュール１０８は、アプリケーションモデルグループ７２０内のシステムとアプリケーションモデルグループ７２２内のシステムとの間の通信、アプリケーションモデルグループ７２２とアプリケーションモデルグループ７２４との間の通信、及び／又はアプリケーションモデルグループ７２２とアプリケーションモデルグループ７１８との間の通信に対してファイアウォールポリシーを実行し得る。
【００５８】
グループ間の通信に、ファイアウォールポリシーを実行することにより、セキュリティモジュール１０８は、１つのアプリケーションモデルグループが感染した悪意のある活動が、他のグループにも感染するのを防ぎ得る。例えば、あるウィルスが、先に発見されなかった脆弱性により、ＪＢＯＳＳアプリサーバ７１６に感染し得る。本実施例では、機密性の高いデータを盗むためにウィルスが、オラクルデータベース７１０に広がろうと試みているとしてよい。ファイアウォールポリシーは、アプリケーションモデルグループ７２２内のＪＢＯＳＳアプリサーバ７１６と、アプリケーションモデルグループ７１８内のオラクルデータベース７１０とを通過するパケットを点検し、ウィルスにより生成されたと疑わしいトラフィックをブロックすることにより、そのウィルスが広がるのを防ぎ得る。
【００５９】
１つの実施形態では、システムは、仮想マシンを含み得、ファイアウォールコンフィグレーションは、仮想ファイアウォール内で実装され得、かつ、データセンターアプリケーションは、ソフトウェアで定義されたデータセンタープラットフォーム上で実装され得る。本明細書において用いられる場合、「仮想ファイアウォール」という用語は、仮想ネットワーク内で完全に実行され、ネットワークトラフィックを監視し、篩い分けし、制御し、かつ／又は、その他のやり方でネットワークトラフィックに相互に作用する任意のアプリケーションを、典型的には意味する。ハードウェアのファイアウォールとは異なり、仮想ファイアウォールは、同じ物理的デバイス上で動作している仮想マシンどうしの間を通過するパケットを監視し得る。本実施形態では、組織化モジュール１０６は、ソフトウェアで定義されたデータセンタープラットフォームのデータ構造を利用して、システムのセットを１つ以上のアプリケーションモデルグループに分割するようソフトウェアで定義されたデータセンタープラットフォームに命令することにより、システムのセットを１つ以上のアプリケーションモデルグループに組織化し得る。例えば、データセンターアプリケーションは、ＳＹＭＡＮＴＥＣ  ＤＡＴＡ  ＣＥＮＴＥＲ  ＳＥＣＵＲＩＴＹにより実行される、ソフトウェアで定義されたデータセンター上に実装されたマイクロセグメント化セキュリティを有するウェブサイトであり得る。
【００６０】
既に方法３００と関連付けて説明したように、本明細書に記載のシステム及び方法は、データセンターアプリケーション内のシステムの、自動的に定義されるアプリケーションモデルグループにファイアウォールポリシーを自動的に適用することにより、データセンターアプリケーション内のシステムを保護し得る。これらのファイアウォールポリシーは、データセンターアプリケーションをホストしている同一のネットワーク内での東西トラフィックを制御し得る。まず、本明細書に記載のシステムは、データセンターアプリケーション内の全ての仮想マシンを発見し得るか、かつ／又はそれぞれの仮想マシンの機能を判定し得る。次に、本明細書に記載のシステムは、仮想マシンを、例えばＩＩＳで構成された全てのウェブサーバを、１つのグループに入れ、ＪＢＯＳＳで構成された全てのアプリケーションサーバを、別のグループに入れることによって、機能別にグループ分けし得る。本明細書に記載のシステムはまた、仮想マシンどうしの間のディペンデンシーを発見し得る（例えば、アプリケーションサーバがウェブサーバから内部に入ってくるリクエストを処理し、データベースサーバに出て行くリクエストを作成する）。本明細書に記載のシステムは、ファイアウォール製品内に、アプリケーションモデルグループに対応するファイアウォールポリシーグループを作製し得、かつ／又はファイアウォールポリシーをそれぞれのアプリケーションモデルグループに対して構成し得る。データセンターアプリケーションに、新たな仮想マシンが追加され、かつ／又は他の変化が加えられた場合には、本明細書に記載のシステムは、アプリケーションモデルグループ及び／又はファイアウォールポリシーを再組織化し得る。マイクロセグメント化をデータセンターアプリケーションに対して実行することにより、本明細書に記載のシステムは、データセンターアプリケーションの一部分に感染した攻撃が、他の部分に感染するのを防ぎ得る。仮想マシンをグループ分けして、かつ、ファイアウォールポリシーを自動的に構成することにより、本明細書に記載のシステムはまた、時間がかかり、エラーを起こしがちである、人間の介入なしで、高いレベルのセキュリティを効率的に、データセンターアプリケーションに対して維持し得る。
【００６１】
図８は、本明細書に記載及び／又は図示される実施形態のうち１つ以上を実現することができる例示的なコンピューティングシステム８１０のブロック図である。例えば、コンピューティングシステム８１０の全て又は一部は、単独で又は他の要素と組み合わせて、（図３に図示されるステップのうち１つ以上などの）本明細書に記載されるステップのうち１つ以上を実施し、かつ／又はそれを実施するための手段となり得る。コンピューティングシステム８１０の全て又は一部はまた、本明細書に記載及び／又は図示される他の任意のステップ、方法、若しくは処理を実施し、かつ／あるいはそれを実施するための手段となり得る。
【００６２】
コンピューティングシステム８１０は、コンピュータ可読命令を実行することが可能な任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム８１０の例としては、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられるが、それらに限られない。その最も基本的な構成において、コンピューティングシステム８１０は、少なくとも１つのプロセッサ８１４及びシステムメモリ８１６を含むものであり得る。
【００６３】
プロセッサ８１４は、データの処理又は命令の解釈及び実行が可能な任意のタイプ若しくは形態の物理的処理装置（例えば、ハードウェア実装型中央処理装置）を、一般に表す。特定の実施形態では、プロセッサ８１４は、ソフトウェアアプリケーション又はモジュールから命令を受信し得る。これらの命令は、プロセッサ８１４に、本明細書において記載及び／又は図示される例示的な実施形態のうちの１つ以上の機能を実施させ得る。
【００６４】
システムメモリ８１６は、データ及び／又は他のコンピュータ可読命令を格納することが可能な、任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイス若しくは媒体を、一般に表す。システムメモリ８１６の例としては、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられるが、それらに限られない。必須ではないが、特定の実施形態では、コンピューティングシステム８１０は、揮発性メモリユニット（例えば、システムメモリ８１６など）、及び不揮発性記憶デバイス（例えば、詳細に後述するような、一次記憶デバイス８３２など）の両方を含み得る。１つの実施例では、図１のモジュール１０２の１つ以上がシステムメモリ８１６にロードされ得る。
【００６５】
特定の実施形態では、例示的なコンピューティングシステム８１０はまた、プロセッサ８１４及びシステムメモリ８１６に加えて、１つ以上の構成要素又は要素を含み得る。例えば、図８に示されるように、コンピューティングシステム８１０は、メモリコントローラ８１８、入力／出力（Ｉ／Ｏ）コントローラ８２０、及び通信インターフェース８２２を含み得るが、それらはそれぞれ通信基盤８１２を介して相互接続され得る。通信基盤８１２は、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることができる、任意のタイプ若しくは形態の基盤を、一般に表す。通信基盤８１２の例としては、通信バス（産業標準アーキテクチャ（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）、及びネットワークが挙げられるが、それらに限られない。
【００６６】
メモリコントローラ８１８は、メモリ若しくはデータを扱うことが可能、又はコンピューティングシステム８１０の１つ以上の構成要素間の通信を制御することが可能な、任意のタイプ若しくは形態のデバイスを、一般に表す。例えば、特定の実施形態では、メモリコントローラ８１８は、通信基盤８１２を介して、プロセッサ８１４、システムメモリ８１６、及びＩ／Ｏコントローラ８２０の間の通信を制御し得る。
【００６７】
Ｉ／Ｏコントローラ８２０は、コンピューティングデバイスの入出力機能を調整及び／又は制御することが可能な、任意のタイプ若しくは形態のモジュールを、一般に表す。例えば、特定の実施形態では、Ｉ／Ｏコントローラ８２０は、プロセッサ８１４、システムメモリ８１６、通信インターフェース８２２、ディスプレイアダプタ８２６、入力インターフェース８３０、及び記憶インターフェース８３４など、コンピューティングシステム８１０の１つ以上の要素間におけるデータの転送を制御し、又は容易にし得る。
【００６８】
通信インターフェース８２２は、例示的なコンピューティングシステム８１０と１つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ若しくは形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インターフェース８２２は、コンピューティングシステム８１０と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にし得る。通信インターフェース８２２の例としては、有線ネットワークインターフェース（ネットワークインターフェースカードなど）、無線ネットワークインターフェース（無線ネットワークインターフェースカードなど）、モデム、及び他の任意の好適なインターフェースが挙げられるが、それらに限られない。少なくとも１つの実施形態では、通信インターフェース８２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供し得る。通信インターフェース８２２はまた、例えば、ローカルエリアネットワーク（イーサネット（登録商標）ネットワークなど）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、リモートサーバへの接続を間接的に提供し得る。
【００６９】
特定の実施形態では、通信インターフェース８２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム８１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタを表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子学会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、シリアルＡＴＡ（ＳＡＴＡ）、及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット（登録商標）アダプタなどが挙げられる。通信インターフェース８２２はまた、コンピューティングシステム８１０が分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース８２２は、実行のためにリモートデバイスから命令を受信、又はリモートデバイスに命令を送信し得る。
【００７０】
図８に示されるように、コンピューティングシステム８１０はまた、ディスプレイアダプタ８２６を介して通信基盤８１２に連結される少なくとも１つのディスプレイデバイス８２４を含み得る。ディスプレイデバイス８２４は、ディスプレイアダプタ８２６によって転送される情報を視覚的に表示することができる、任意のタイプ若しくは形態のデバイスを、一般に表す。同様に、ディスプレイアダプタ８２６は、ディスプレイデバイス８２４に表示するために、通信基盤８１２から（又は当該技術分野において既知であるように、フレームバッファから）グラフィックス、テキスト、及び他のデータを転送するように構成された、任意のタイプ若しくは形態のデバイスを、一般に表す。
【００７１】
図８に示されるように、例示的なコンピューティングシステム８１０はまた、入力インターフェース８３０を介して通信基盤８１２に連結される少なくとも１つの入力デバイス８２８を含み得る。入力デバイス８２８は、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム８１０に提供することができる、任意のタイプ若しくは形態の入力デバイスを、一般に表す。入力デバイス８２８の例としては、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられるが、それらに限られない。
【００７２】
図８に示されるように、例示的なコンピューティングシステム８１０はまた、記憶インターフェース８３４を介して通信基盤８１２に連結される、一次記憶デバイス８３２及びバックアップ記憶デバイス８３３を含み得る。記憶デバイス８３２及び８３３は、データ及び／又は他のコンピュータ可読命令を格納することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。例えば、記憶デバイス８３２及び８３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース８３４は、記憶デバイス８３２及び８３３とコンピューティングシステム８１０の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを、一般に表す。
【００７３】
特定の実施形態では、記憶デバイス８３２及び８３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された、取外し可能な記憶ユニットから読み取り、かつ／又はそれに書き込むように構成され得る。好適な取外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス８３２及び８３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム８１０にロードされることを可能にする、他の同様の構造体又はデバイスを含み得る。例えば、記憶デバイス８３２及び８３３は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取り、かつ、これを書き込むように構成され得る。記憶デバイス８３２及び８３３はまた、コンピューティングシステム８１０の一部であってもよく、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【００７４】
他の多くのデバイス又はサブシステムが、コンピューティングシステム８１０に接続され得る。反対に、図８に示される構成要素及びデバイスの全てが、本明細書に記載及び／又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、図８に示されるのとは異なる方法で相互接続され得る。コンピューティングシステム８１０はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェアの構成を用い得る。例えば、本明細書で開示する例示的な実施形態の１つ以上は、コンピュータ可読媒体上で、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を格納又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光学記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びブルーレイ（ＢＬＵ−ＲＡＹ）（登録商標）ディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、及び他の分散システムなどの非一時的媒体が挙げられる。
【００７５】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム８１０にロードされ得る。次に、コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、システムメモリ８１６に、並びに／又は記憶デバイス８３２及び８３３の様々な部分に格納され得る。プロセッサ８１４によって実行されると、コンピューティングシステム８１０にロードされたコンピュータプログラムは、プロセッサ８１４に、本明細書に記載及び／又は図示される例示的な実施形態のうち１つ以上の機能を実施させ、かつ／又はそれらを実施するための手段となり得る。追加的に又は代替案として、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上は、ファームウェア及び／又はハードウェアに実装されてもよい。例えば、コンピューティングシステム８１０は、本明細書に開示される例示的な実施形態の１つ以上を実現するように適合された、特定用途向け集積回路（ＡＳＩＣ）として構成され得る。
【００７６】
図９は、クライアントシステム９１０、９２０、及び９３０、並びにサーバ９４０及び９４５がネットワーク９５０に連結され得る、例示的なネットワークアーキテクチャ９００のブロック図である。既に詳述したように、ネットワークアーキテクチャ９００の全て又は一部は、単独で又は他の要素と組み合わせて、本明細書に開示されるステップの１つ以上（図３に示されるステップの１つ以上など）を実施し得るが、かつ／あるいはそれを実施するための手段となり得る。ネットワークアーキテクチャ９００の全て又は一部はまた、本開示に記載される他のステップ及び特徴を実施するのに使用され得るか、かつ／あるいはそれを実施するための手段となり得る。
【００７７】
クライアントシステム９１０、９２０、及び９３０は、一般に、図８の例示的なコンピューティングシステム８１０など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ９４０及び９４５は、様々なデータベースサービスを提供し、かつ／又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ若しくはデータベースサーバなどの、コンピューティングデバイス又はシステムを、一般に表す。ネットワーク９５０は、例えばイントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを、一般に表す。１つの実施例では、クライアントシステム９１０、９２０、及び／若しくは９３０、並びに／又はサーバ９４０及び／若しくは９４５は、図１からのシステム１００の全て又は一部を含み得る。
【００７８】
図９に示されるように、１つ以上の記憶デバイス９６０（１）〜（Ｎ）はサーバ９４０に直接取り付けられ得る。同様に、１つ以上の記憶デバイス９７０（１）〜（Ｎ）はサーバ９４５に直接取り付けられ得る。記憶デバイス９６０（１）〜（Ｎ）及び記憶デバイス９７０（１）〜（Ｎ）は、データ及び／又は他のコンピュータ可読命令を格納することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。特定の実施形態では、記憶デバイス９６０（１）〜（Ｎ）及び記憶デバイス９７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）などの様々なプロトコルを使用して、サーバ９４０及び９４５と通信するように構成されたネットワーク接続ストレージ（ＮＡＳ）デバイスを表し得る。
【００７９】
サーバ９４０及び９４５はまた、ストレージエリアネットワーク（ＳＡＮ）ファブリック９８０に接続され得る。ＳＡＮファブリック９８０は、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを、一般に表す。ＳＡＮファブリック９８０は、サーバ９４０及び９４５と、複数の記憶デバイス９９０（１）〜（Ｎ）及び／又はインテリジェント記憶アレイ９９５との間の通信を容易にし得る。ＳＡＮファブリック９８０はまた、記憶デバイス９９０（１）〜（Ｎ）及びインテリジェント記憶アレイ９９５が、クライアントシステム９１０、９２０、及び９３０にローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク９５０並びにサーバ９４０及び９４５を介して、クライアントシステム９１０、９２０、及び９３０と、記憶デバイス９９０（１）〜（Ｎ）及び／又はインテリジェント記憶アレイ９９５との間の通信を容易にし得る。記憶デバイス９６０（１）〜（Ｎ）及び記憶デバイス９７０（１）〜（Ｎ）と同様に、記憶デバイス９９０（１）〜（Ｎ）及びインテリジェント記憶アレイ９９５は、データ及び／又は他のコンピュータ可読命令を格納することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。
【００８０】
特定の実施形態では、また図８の例示的なコンピューティングシステム８１０を参照すると、図８の通信インターフェース８２２などの通信インターフェースは、それぞれのクライアントシステム９１０、９２０、及び９３０とネットワーク９５０との間の接続を提供するために使用され得る。クライアントシステム９１０、９２０、及び９３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ９４０又は９４５上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム９１０、９２０、及び９３０が、サーバ９４０、サーバ９４５、記憶デバイス９６０（１）〜（Ｎ）、記憶デバイス９７０（１）〜（Ｎ）、記憶デバイス９９０（１）〜（Ｎ）、又はインテリジェント記憶アレイ９９５によってホストされるデータにアクセスすることを可能にし得る。図９は、データを交換するために（インターネットなどの）ネットワークを使用することを示しているが、本明細書に記載及び／又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【００８１】
少なくとも１つの実施形態では、本明細書に開示される例示的な実施形態のうち１つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ９４０、サーバ９４５、記憶デバイス９６０（１）〜（Ｎ）、記憶デバイス９７０（１）〜（Ｎ）、記憶デバイス９９０（１）〜（Ｎ）、インテリジェント記憶アレイ９９５、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうち１つ以上の全て又は一部はまた、コンピュータプログラムとしてコード化され、サーバ９４０に記憶され、サーバ９４５によって作動し、ネットワーク９５０上でクライアントシステム９１０、９２０、及び９３０に配信されてもよい。
【００８２】
既に詳細に述べたように、コンピューティングシステム８１０及び／又は、ネットワークアーキテクチャ９００の１つ以上の構成要素は、単独で又は他の要素と組み合わせて、ファイアウォールポリシーをデータセンターアプリケーション内で自動的に適用するための１つの例示的な方法の１つ以上のステップを実行し得る、かつ／又は、それを実行するための手段となり得るものである。
【００８３】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び／又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び／又は構成要素は、個別にかつ／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（若しくはそれらの任意の組み合わせ）の構成を使用して実現されてもよい。それに加えて、同じ機能性を達成するように他の多くのアーキテクチャを実現することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【００８４】
一部の実施例では、図１の例示的なシステム１００の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など）は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載する様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【００８５】
様々な実施形態では、図１の例示的なシステム１００の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載するソフトウェアモジュールは、本明細書に記載する機能の１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成してもよい。例えば、本明細書に記載するソフトウェアモジュールの１つ以上は、２つ以上のクライアント（例えば、顧客）がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客（即ち、テナント）の間で、アプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有してもよい。本明細書に記載するモジュールの１つ以上はまた、ある顧客が別の顧客のデータ及び／又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び／又は設定情報を分割してもよい。
【００８６】
様々な実施形態によれば、図１の例示的なシステム１００の全て又は一部は仮想環境内で実現されてもよい。例えば、本明細書に記載するモジュール及び／又はデータは、仮想機械内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は別の方法として、本明細書に記載するモジュール及び／又はデータは、仮想化層内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに／あるいはそこから抽出される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び／又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
【００８７】
一部の実施例では、図１の例示的なシステム１００の全て又は一部は、モバイルコンピューティング環境の一部を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど）などを含む、広範なモバイルコンピューティングデバイスによって実現されてもよい。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での１つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成への修正を制限する、及び／又は第３者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを（例えば、認可されたアプリケーションストアからのみ生じるように）制限する制御などを含む、１つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び／又はモバイルコンピューティング環境と相互作用し得る。
【００８８】
それに加えて、図１の例示的なシステム１００の全て又は一部は、情報管理のための１つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ／又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び／又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【００８９】
一部の実施形態では、図１の例示的なシステム１００の全て又は一部は、情報セキュリティのための１つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ／又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【００９０】
一部の実施例によれば、図１の例示的なシステム１００の全て又は一部は、エンドポイントセキュリティのための１つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ／又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び／若しくは違法な使用、アクセス、並びに／又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザー認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【００９１】
本明細書に記載及び／又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び／又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び／又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの１つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
【００９２】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈で本明細書に記載及び／又は図示してきたが、これらの例示的な実施形態の１つ以上は、実際に配布を実施するのに使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実現されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに格納されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の１つ以上を実施するようにコンピューティングシステムを構成してもよい。
【００９３】
それに加えて、本明細書に記載するモジュールの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、１つの形態から別の形態へと変換してもよい。例えば、本明細書に挙げられている１つ以上のモジュールは、変換対象のデータセンターアプリケーションの情報を受け取って、そのデータセンターアプリケーションの情報を変換し、その変換結果をデータセンターアプリケーションモデルに出力し、その変換結果を使用してデータセンターアプリケーションをアプリケーションモデルグループ内に組織化し、かつ、その変換結果をセキュリティシステムに記憶させ得る。それに加えて、又は別の方法として、本明細書に列挙されるモジュールの１つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを格納し、並びに／あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／又は物理的コンピューティングデバイスの他の任意の部分を、１つの形態から別の形態へと変換してもよい。
【００９４】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【００９５】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語（並びにそれらの派生語）は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続（即ち、他の要素若しくは構成要素を介する）の両方を許容するものとして解釈されるものである。それに加えて、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも１つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語（並びにそれらの派生語）は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。
【図１】
0006471233.tif 000002
【図２】
0006471233.tif 000003
【図３】
0006471233.tif 000004
【図４】
0006471233.tif 000005
【図５】
0006471233.tif 000006
【図６】
0006471233.tif 000007
【図７】
0006471233.tif 000008
【図８】
0006471233.tif 000009
【図９】
0006471233.tif 000010