(57)【要約】アプリケーション中心ネットワークの論理オブジェクトのためのスケーラブルな統計のデータ収集及び集約のためのシステム、方法及びコンピュータ読取可能記憶媒体が開示される。アプリケーション中心ネットワークの論理オブジェクトで実行される分析エージェントは、指定統計デバイス（ＤＳＤ）又はメンバ統計デバイス（ＭＳＤ）のうちの一つとして選択される。分析エージェントがＤＳＤとして規定される場合に、分析エージェントは分析プレーンを介して通信されるダウンストリームＭＳＤから報告されるデータを受信し、同じアクセス制御リスト・ルールに属するＭＳＤからのデータを集約する。分析エージェントがＭＳＤとして規定される場合に、分析エージェントはＤＳＤを選択し、分析プレーンを介してそのＤＳＤに統計を報告する。【特許請求の範囲】
【請求項１】
アプリケーション中心ネットワークの論理オブジェクトのためのデータ収集及び集約のためのシステムであって、
アプリケーション中心ネットワークの論理オブジェクトで実行される分析エージェントを含み、前記分析エージェントは、
指定統計デバイス又はメンバ統計デバイスの役割を担い、
前記指定統計デバイスとしての前記役割を担うことに応じて、前記分析エージェントが指定統計デバイスであることに応じて、分析プレーンを介して通信されるダウンストリーム・メンバ統計デバイスから報告されるデータを受信し、少なくともアクセス制御リスト・ルールを有する同じ論理オブジェクトに属する前記メンバ統計デバイスからのデータを集約し、
前記メンバ統計デバイスとしての前記役割を担うことに応じて、統計を報告するための指定統計デバイスを選択し、前記分析プレーンを介して前記統計を前記指定統計デバイスに報告する、
ように選択される、システム。
【請求項２】
請求項１に記載のシステムであって、
結合指定‐メンバ統計デバイスの前記役割を担い、
前記結合指定‐メンバ・デバイスとしての前記役割を担うことに応じて、前記分析プレーンを介して通信されるダウンストリーム・メンバ統計デバイスから報告されるデータを受信し、アクセス制御リスト・ルールのような同じ論理オブジェクトに属する前記メンバ統計デバイスからのデータを集約し、前記集約されたデータを前記分析プレーンを介して前記指定統計デバイスに送信する、
ように選択される前記分析エージェントをさらに備える、システム。
【請求項３】
請求項１又は２に記載のシステムであって、前記分析エージェントは、構成可能な複数の連続する間隔の間、アップストリーム指定統計デバイス又はダウンストリーム・メンバ統計デバイスのうちの一つ以上からハートビート・メッセージを受信しないことに少なくとも部分的に基づいて、役割を再選択する、システム。
【請求項４】
請求項１乃至３の何れか１項に記載のシステムであって、互いに通信する前記分析エージェントの集合は、自動的に役割を選択する分析プレーンであって、アプリケーション中心ネットワークの論理オブジェクトのためのデータ収集及び集約を提供する分析プレーンを備える、システム。
【請求項５】
請求項１乃至４の何れか１項に記載のシステムであって、最下層のメンバ統計デバイスは、仮想マシン又はコンテナのうちの一つ以上を含み、最上層の指定統計デバイスは、コントローラを含む、システム。
【請求項６】
請求項１乃至５の何れか１項に記載のシステムであって、メンバ統計デバイスは、そのアップストリーム・デバイスとして指定統計デバイスを選択し、前記メンバ統計デバイスは、前記指定統計デバイスが前記メンバ統計デバイスからのアップストリームの一つのデバイスであることに少なくとも部分的に基づいて、前記指定統計デバイスを選択する、システム。
【請求項７】
請求項１乃至５の何れか１項に記載のシステムであって、メンバ統計デバイスは、そのアップストリーム・デバイスとして指定統計デバイスを選択し、前記メンバ統計デバイスは、前記メンバ統計デバイスが前記指定統計デバイスから到達可能であることに少なくとも部分的に基づいて、前記指定統計デバイスを選択する、システム。
【請求項８】
請求項１乃至７の何れか１項に記載のシステムであって、前記指定統計デバイスは、複数のメンバ統計デバイスに割り当てられ、前記複数のメンバ統計デバイスは、前記指定統計デバイスを選択したすべてのダウンストリーム・デバイスである、システム。
【請求項９】
請求項１乃至８の何れか１項に記載のシステムであって、複数の指定統計デバイスは、前記メンバ統計デバイスから到達可能であり、前記メンバ統計デバイスは、最も低いＩＰアドレスを有する指定統計デバイスを選択する、システム。
【請求項１０】
請求項１乃至９の何れか１項に記載のシステムであって、トリガ・イベントに応じて別の指定統計デバイスを選択する前記メンバ統計デバイスをさらに備える、システム。
【請求項１１】
請求項１０に記載のシステムであって、前記トリガ・イベントは、前記指定統計デバイス又はメンバ統計デバイスがダウンすることと、又はユーザ構成変更とのうちの少なくとも一つである、システム。
【請求項１２】
請求項１乃至１１の何れか１項に記載のシステムであって、観測可能なオブジェクトに従ってデータが集約される、システム。
【請求項１３】
請求項１２に記載のシステムであって、前記観測可能なオブジェクトは、少なくともＡＣＬルールを含む、分散して配置される論理オブジェクトである、システム。
【請求項１４】
請求項１乃至１３の何れか１項に記載のシステムであって、前記指定統計デバイスは、そのダウンストリーム・メンバ統計デバイスから前記統計をプルする、システム。
【請求項１５】
アプリケーション中心ネットワークの論理オブジェクトのためのデータ収集及び集約のための方法であって、
分析エージェントを指定統計デバイス又はメンバ統計デバイスのうちの一つとして規定することであって、前記分析エージェントは、アプリケーション中心ネットワークの論理オブジェクトで実行される、ことと、
前記分析エージェントを前記指定統計デバイスとして規定することに応じて、前記分析エージェントが指定統計デバイスであることに応じて、分析プレーンを介して通信されるダウンストリーム・メンバ統計デバイスから報告されるデータを受信し、少なくともアクセス制御リスト・ルールを有する同じ論理オブジェクトに属する前記メンバ統計デバイスからのデータを集約することと、
前記分析エージェントを前記メンバ統計デバイスとして規定することに応じて、統計を報告するための指定統計デバイスを選択し、前記分析プレーンを介して前記統計を前記指定統計デバイスに報告することと、
を有する、方法。
【請求項１６】
請求項１５に記載の方法であって、構成可能な複数の連続する間隔の間、アップストリーム指定統計デバイス又はダウンストリーム・メンバ統計デバイスのうちの一つ以上からハートビート・メッセージを受信しないことに少なくとも部分的に基づいて、役割を再選択することをさらに有する、方法。
【請求項１７】
請求項１５乃至１６の何れか１項に記載の方法であって、互いに通信する前記分析エージェントの集合は、自動的に役割を選択する分析プレーンであって、アプリケーション中心ネットワークの論理オブジェクトのためのデータ収集及び集約を提供する分析プレーンを備える、方法。
【請求項１８】
請求項１５乃至１７の何れか１項に記載の方法であって、最下層のメンバ統計デバイスは、仮想マシン又はコンテナのうちの一つ以上を含み、最上層の指定統計デバイスは、コントローラを含む、方法。
【請求項１９】
請求項１５乃至１８の何れか１項に記載の方法であって、メンバ統計デバイスは、そのアップストリーム・デバイスとして指定統計デバイスを選択し、前記メンバ統計デバイスは、前記指定統計デバイスが前記メンバ統計デバイスからのアップストリームの一つのデバイスであることに少なくとも部分的に基づいて、前記指定統計デバイスを選択する、方法。
【請求項２０】
請求項１５乃至１８の何れか１項に記載の方法であって、メンバ統計デバイスは、そのアップストリーム・デバイスとして指定統計デバイスを選択し、前記メンバ統計デバイスは、前記メンバ統計デバイスが前記指定統計デバイスから到達可能であることに少なくとも部分的に基づいて、前記指定統計デバイスを選択する、方法。
【請求項２１】
プロセッサによって実行されると、前記プロセッサに請求項１５乃至２０の何れか１項に記載の方法を実行させる機械読取可能命令を保持するコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、クラウド・ネットワーキングに係り、より具体的には、大規模データセンタ／クラウド・ネットワーキング環境における統計集約のためのスケーラブルな統計及び分析メカニズムに関する。
【背景技術】
【０００２】
典型的なクラウド・データセンタ組織では、データセンタ及びクラウド・ネットワーキング環境におけるテナント・トラフィックの可視性及び監視において、統計収集及び管理が重要な役割を果たす。仮想スイッチ及びコンテナ・ネットワーキングの導入により、スイッチ（物理又は仮想）及びエンドポイント（仮想マシン又はコンテナ）の数が爆発的に増加する。あるデバイスは、追加されるスイッチ及びエンドポイントの増加量を処理するのに十分なリソースを有することができない。さらに、仮想マシン及びコンテナの移行によって、エンドポイント間のトラフィック及びルートが動的に変化する。したがって、これらの新しい課題に取り組むために、スケーラブルで柔軟な統計収集及び管理に対処するためのより体系的なメカニズムが必要である。
【０００３】
さらに、現在のネットワーク統計収集プロセスでは、各物理ネットワーク・スイッチ又はルータが、ネットワーク・インタフェース、学習エンドポイント、ＡＣＬ(アクセス制御）ルールなどのような観測可能なオブジェクトにおけるデータ・トラフィック統計を収集する。そして、各物理ネットワーク・スイッチ又はルータは、収集した統計を、ＳＤＮコントローラ又はリモート・サーバのような中心地に報告する。仮想スイッチ及びコンテナを導入することにより、エンドポイント・グループ間のＡＣＬルールのようないくつかのタイプの観測可能物を、クラウド内の複数のスイッチにインストールできる。エンドポイントは、クラウド環境内のホスト間で移行するため、これらのタイプの観測可能物は、クラウド内で分散され、しばしば、仮想マシン及びコンテナが移行するにつれて動的に分散される。したがって、クラウド内のデバイスからの統計を要約し集約する方法が必要である。
【図面の簡単な説明】
【０００４】
本技術の上記及び他の利点及び特徴は、添付の図面に示される特定の実施例を参照することによって明らかになるだろう。当業者は、これらの図面が、本技術のいくつかの例を示すのみであり、本技術の範囲をこれらの例に限定しないことを理解するだろう。さらに、当業者は、添付の図面を使用して行われる、より具体性をもった詳細な説明及び記載により、本技術の原理を理解するだろう。
【０００５】
【図１】分析プレーンの例示的な層及び役割階層を示す例示的なブロック図を示す。
【０００６】
【図２】様々な実施形態による、データセンタ／クラウド内のデバイスの可能なネットワーキング・トポロジを示す。
【０００７】
【図３】分析プレーンの統計集約のための例示的な方法を示すフローチャートである。
【０００８】
【図４Ａ】分析プレーンで役割を割り当てるための例示的な方法を示すフローチャートである。
【０００９】
【図４Ｂ】ｎ層データセンタ又はクラウドにわたる統計集約ツリーの例示的な計算を示す例示的なブロック図である。
【００１０】
【図５】本技術のある態様を実装するためのシステムの例を示す。
【発明を実施するための形態】
【００１１】
以下、本技術の様々な例について詳細に説明する。具体的な実施例を説明するが、これは例示の目的のためだけに行われていることが理解されるべきである。当業者は、本技術の精神及び範囲から逸脱することなく、他の構成要素及び構成が使用されてもよいことを認識するだろう。
概要：
【００１２】
アプリケーション中心ネットワークの論理オブジェクトのための統計のスケーラブルなデータ収集及び集約のためのシステム、方法及びコンピュータ読取可能記憶媒体が開示される。一態様では、アプリケーション中心ネットワークの論理オブジェクト（例えば、統計デバイス）で実行される分析エージェントは、指定（Ｄｅｓｉｇｎａｔｅｄ）統計デバイス（ＤＳＤ）及び／又はメンバ統計デバイス（ＭＳＤ）のうちの一つとして動作するように構成又は選択される。分析エージェントがＤＳＤとして動作するならば、分析エージェントは、分析プレーンを介して通信されたそのダウンストリームＭＳＤから報告されたデータを受信する。同じアクセス制御リスト・ルールに属するＭＳＤからの統計データは、ＤＳＤとして動作する分析エージェントに集約される。分析エージェントがＭＳＤとして規定されているならば、分析エージェントはそのＤＳＤを選択し、分析プレーンを介して当該ＤＳＤに統計を報告する。Ｄ‐ＭＳＤデバイスは、そのダウンストリームＭＳＤのためのＤＳＤと、そのアップストリームＤＳＤのためのＭＳＤとの両方として動作する。
実施例：
【００１３】
開示された技術は、スケーラブルで柔軟な統計収集及び管理を可能にするための体系的なメカニズムを提供することの当技術分野における必要性に対処する。データセンタ又はクラウド・ネットワーキング環境にわたる物理又は仮想ネットワーク・デバイスの異なる分析層にわたって分析プレーン（、それに加えて、例えば、いくつかの実施形態で、データ・プレーン、制御プレーン及び管理プレーン）を確立する分散アプローチが開示される。この分散アプローチは、爆発的な数の（例えば、仮想マシン又はコンテナの形式の）エンドポイントと、これらのエンドポイントを接続する多数の仮想スイッチとを有するクラウドにおいて、統計収集及び管理プロセスをスケーラブルにする。さらに、分散アプローチは、エンドポイント移行及び動的トラフィック状態に対して適応的である。
【００１４】
図１は、分析プレーンの例示的な層及び役割階層を示す例示的なブロック図を示す。アプリケーション中心ネットワークの論理オブジェクトのためのデータ収集及び集約のためのシステムが示されている。いくつかの実施形態では、分析プレーンは、クラウド内の統計収集及び集約のために、ネットワーキング・ドメイン内の既存の制御プレーン及びデータ・プレーンとは異なる別個のオーバレイ・プレーンである。分析プレーンは、互いに通信する分析エージェントの集合を含み、分析エージェントは、アプリケーション中心ネットワークの各論理オブジェクトで実行される。論理オブジェクトは、例えば、統計デバイスでありうる。
【００１５】
分析エージェントは、分析プレーンの各統計デバイスにインストールされる。よって、ＤＳＤ分析エージェント１２２は、各ＤＳＤ１１０にインストールされ、Ｄ‐ＭＳＤ分析エージェント１２４、１２６は、それぞれ、各物理Ｄ‐ＭＳＤ１１６及び仮想Ｄ‐ＭＳＤ１１８にインストールされ、ＭＳＤ分析エージェント１２８は、各ＭＳＤ１１４にインストールされる。各分析エージェントは、それぞれ、ダウンストリーム・デバイスからの統計を集約し、アップストリーム・デバイスを選択する集約サービス１２０及び／又は選択サービス１３０のうちの一つ以上を有する。
【００１６】
分析エージェントは、複数のメンバ・デバイス（例えば、一つ以上のＭＳＤ）からの統計及び／又はデータを、指定デバイス（例えば、ＤＳＤ）の一つの観測可能なオブジェクトに同時に集約する。集約される統計は、メモリ使用量、ＣＰＵ時間、ストレージ及びメモリ・リソース、ディスク使用量、速度などに関連するデータのような、メンバ・デバイスに関連する任意のデータであってもよい。
【００１７】
いくつかの実施形態では、分析プレーンのすべての統計デバイスが、例えばＣＰＵ及びストレージであるがこれらに限定されないようなそれらの統計処理リソースに基づいて、異なる層に分類される。例えば、図１において、現在のデータセンタ・ネットワーキング・トポロジにおけるデバイスは、指定統計デバイス１１０（ＤＳＤ）、指定‐メンバ統計デバイス１１２（Ｄ‐ＭＳＤ）及び／又は１１４のメンバ統計デバイス１１４（ＭＳＤ）のうちの一つ以上を備えることができる。これらのデバイスは、分析プレーンの少なくとも２つの層（例えば、ＤＳＤ１１０を含む第１層と、ＭＳＤ１１４を含む第２層）に分類されることができるが、分析プレーンは、任意の数の層を含むことができる。
【００１８】
図１に示す実施形態では、例えば、４つの層が示され、層１はＤＳＤ１１０を含み、層２は物理Ｄ‐ＭＳＤ１１６を含み、層３は仮想Ｄ‐ＭＳＤ１１８を含み、層４はＭＳＤ１１４を含む。各層は、下の層の一つ以上のデバイスに接続される。例示的なトポロジは、以下のように層を規定できる。
【００１９】
層１：コントローラ・デバイス
【００２０】
層２：物理スイッチ／ルータ
【００２１】
層３：仮想スイッチ
【００２２】
層４：エンドポイント
【００２３】
この実施形態では、層１のデバイスが、分析プレーンの端末統計処理デバイスであり、下の各層（例えば、層２から層４）が、統計を収集するか、別のアップストリーム・デバイスに統計を報告するか、又はその両方を行う必要がある統計デバイスを備える。各デバイスのアップストリーム・デバイスは、指定デバイスと呼ばれ、当該デバイス及びアップストリーム・デバイスをその指定デバイスとして指定した他のデバイスからの統計を集約するために使用される。指定デバイスと同じアップストリーム・デバイスを選択するすべての統計デバイスは、アップストリーム・デバイスのメンバ・デバイスと呼ばれる。典型例では、層１から層３の統計デバイスが指定デバイスとして動作でき、一方、層４のデバイスは、メンバ・デバイスとしてのみ動作できる。層４のデバイスは、典型的に、エンドポント及び／又はエンドポイント・グループである。
【００２４】
さらに、層２及び層３のデバイスは、そのアップストリーム指定デバイスのメンバ・デバイスと、そのダウンストリーム・メンバ・デバイスの指定デバイスとの両方でありうる。これらのデバイスは、Ｄ−ＭＳＤデバイス１１２として知られている。Ｄ−ＭＳＤデバイス１１２は、これらが物理スイッチ及びルータ（例えば、層３を含む物理Ｄ−ＭＳＤ１１６）であるか、又は仮想スイッチ（例えば、層４を含む仮想Ｄ−ＭＳＤ１１８）であるかに基づいて、異なる層に分割されることができる。
【００２５】
したがって、図１では、ＤＳＤ１１０は、Ｄ‐ＭＳＤ１１２及び／又は物理Ｄ‐ＭＳＤ１１６の指定デバイスでありえ、物理Ｄ‐ＭＳＤ１１６は、仮想Ｄ‐ＭＳＤ１１８の指定デバイスでありえ、Ｄ‐ＭＳＤ１１２及び／又は仮想Ｄ‐ＭＳＤ１１８は、ＭＳＤ１１４の指定デバイスでありうる。そして、ＭＳＤ１１４は、仮想Ｄ‐ＭＳＤ１１８及び／又はＤ‐ＭＳＤ１１２のメンバ・デバイスでありえ、仮想Ｄ‐ＭＳＤ１１８は、物理Ｄ‐ＭＳＤ１１６のメンバ・デバイスでありえ、物理Ｄ‐ＭＳＤ１１６及び／又はＤ‐ＭＳＤ１１２は、ＤＳＤ１１０のメンバ・デバイスでありうる。
【００２６】
指定デバイス及びメンバ・デバイスは、単に、プログラム的に決定される役割であるか、又は分析プレーンのネットワーク・デバイスに割り当てられる役割である。各指定デバイスは、メンバ・デバイスのグループに対して統計集約及び管理を実行する。各デバイスの統計収集エージェント（例えば、集約サービス１２０）は、そのすべてのメンバ・デバイスから統計を収集する。各デバイスの集約サービス１２０は、統計をその指定デバイスに報告し、その後、指定デバイスの集約サービス１２０は集約を実行する。
【００２７】
図２は、例えば、様々な実施形態による、データセンタ／クラウド内の統計デバイスの可能なネットワーキング・トポロジを示す。図２では、ネットワーキング組織は、コントローラ２１０と、リーフ物理スイッチ（リーフ１  ２１０、リーフ２  ２１４及びリーフ３  ２１６）と、スパイン物理スイッチ（スパイン１  ２１８及びスパイン２  ２２０）とからなる。コントローラ２１０は、ＳＤＮコントローラ（ａｐｉｃ１）又は同様のものであってもよい。コントローラ２１０及び仮想スイッチ（例えば、オープンｖＳｗｉｔｃｈスイッチ２４０  ｏｖｓ１及びｏｖｓ２  ２６０）は、リーフ・スイッチに接続されることができ、各仮想スイッチは、仮想マシン（例えば、ｖｍ１  ２４２及びｖｍ２  ２４４）及び／又はコンテナ（例えば、ドッカー１  ２６２及びドッカー２  ２６４）を備える一つ以上のエンドポイント・グループの形式のいくつかのエンドポイントを有する。
【００２８】
図２において、ｏｖｓ１  ２４０は、エンドポイントＶＭ１  ２４２及びＶＭ２  ２４４の指定デバイスである。ｏｖｓ１  ２４０は、そのメンバ・デバイスＶＭ１  ２４２及びＶＭ２  ２４４からの統計を集約する。同様に、ｏｖｓ２  ２６０は、エンドポイント・ドッカー１  ２６２及びドッカー２  ２６４の指定デバイスである。メンバ・デバイス・ドッカー１  ２６２及びドッカー２  ２６４からの統計は、ｏｖｓ２  ２６０で集約される。
【００２９】
しかし、ｏｖｓ１  ２４０及びｏｖｓ２  ２６０は、Ｄ‐ＭＳＤデバイスであり、これらは、それぞれＶＭ１  ２４２及びＶＭ２  ２４４、並びにドッカー１  ２６２及びドッカー２  ２６４に対する指定デバイスであるが、これらはメンバ・デバイスでもある。ｏｖｓ１  ２４０とｏｖｓ２  ２６０は、ともに、リーフ２  ２１４へのメンバ・デバイスであり、リーフ２  ２１４は、ｏｖｓ１  ２４０  とｏｖｓ２  ２６０から報告された統計を集約する。
【００３０】
リーフ２  ２１４は、統計をコントローラ２１０に報告し、したがって、リーフ２  ２１４もＤ‐ＭＳＤデバイスにする。コントローラ２１０は、統計の集合全体を集約し、どのアップストリーム・デバイスにも報告しないＤＳＤ１１０である。
【００３１】
この実施形態では、ネットワーク・トポロジ及び統計集約が自動処理である。図３は、例えば、分析プレーンにわたる統計集約のための例示的な方法を示すフローチャートを示す。各統計デバイスに、分析エージェントがインストールされている。各分析エージェントについて、各論理オブジェクト／統計デバイスは、ＤＳＤ(３１２）、結合（ｃｏｍｂｉｎｅｄ）Ｄ‐ＭＳＤ（３１４）、又はＭＳＤ(３１６）の何れかとして規定される（ステップ３１０）。層１すなわちＤＳＤデバイスは、最も強力であり、一方、最下位層すなわちＭＳＤデバイスは、最も非力である。ＤＳＤ、Ｄ‐ＭＳＤ及びＭＳＤは、（クラスタとは対照的に）階層トポロジに分類され、階層トポロジは、各デバイスのリソースに基づく複数の層を備える。
【００３２】
統計デバイスはユーザによって構成されることができるが、ある実施形態では、分析エージェントは、デバイスの既存のコンピューティング・リソース、又は統計収集及び集約のための予備でありうるリソースに基づいて統計デバイスがどの層及び／又はデバイスのタイプであるかを自動的に規定する。例えば、多くの他のタスクを実行し、統計集約のための余地がほとんど残っていないデバイスは、それが大きな全体的なリソースを有するという事実があっても、より低い層に配置されてもよく、一方、さもなければアイドルであるデバイスは、全体的により低いリソースを有するにもかかわらず、より強力であるがより占有されたデバイスと比較して、より高い層に配置されてもよい。分析エージェントは、ＯＳレベルで対話して、その基礎となるデバイスの記憶リソース、メモリ・リソース、ディスク使用、ＣＰＵ、速度などを把握し、その層及び／又はデバイス・タイプを規定できる。
【００３３】
いくつかの実施形態では、物理スイッチは、典型的に、より多くのＣＰＵ及びストレージ・リソースを有するので、（仮想マシン又はコンテナのような）複数のエンドポイントを有するホスト内の各仮想スイッチに対して、そのホストが接続される物理スイッチが、その指定デバイスとして選択される。複数の物理スイッチが、ｖｓｗｉｔｃｈホストに接続されている場合に、ＩＰアドレスに基づいて一つが選択される。
【００３４】
再び図３を参照すると、統計デバイスがＤＳＤ１１０として規定されるならば（ステップ３１８）、ＤＳＤ分析エージェント１２２は、Ｄ−ＭＳＤ１１２のような一つ下の層のダウンストリーム・メンバ・デバイスから報告されるデータを受信する（ステップ３２０）。そして、ＤＳＤ分析エージェント１２２は、同じＡＣＬルールに属するＤ−ＭＳＤデバイス１１２からの報告データを集約する（ステップ３２２）。
【００３５】
しかし、統計デバイスがＤ‐ＭＳＤ１１２として規定されているならば（ステップ３２４）、Ｄ‐ＭＳＤ分析エージェント１２４、１２６は、ＭＳＤ１１４のようなそのダウンストリーム・メンバ・デバイスから報告されたデータを受信する（ステップ３２６）。そして、Ｄ‐ＭＳＤ分析エージェント１２４、１２６は、同じＡＣＬルールに属するＭＳＤデバイス１１４からのデータを集約する（ステップ３２８）。そして、集約されたデータは、報告のために、選択されたＤＳＤ１１０に送信される（ステップ３３０）。
【００３６】
最後に、統計デバイスがＭＳＤ１１４として規定されているならば（ステップ３３２）、ＭＳＤ分析エージェント１２８は、統計を報告するためにＤ‐ＭＳＤ１１２を選択し（ステップ３３４）、その後、選択されたＤ‐ＭＳＤ１１２に統計を報告する（ステップ３３６）。
【００３７】
複数のメンバ・デバイスから指定デバイスの一つの観測可能なオブジェクトへ同時に統計を集約することをサポートするために、各メンバ・デバイスは、現在の値自体の代わりに、デルタ（デルタは現在の値と以前の値との間の変化である）の形式で、累積統計カウンタを報告する。これにより、互いを上書きする代わりに、複数のメンバ・デバイス・リソースからの統計が正しく加算され、順序の一貫性を維持することが保証される。
【００３８】
例えば、図２を参照すると、ｏｖｓ１  ２４０とｏｖｓ２  ２６０との両方が、分散観測可能ルールの統計カウンタをリーフ２  ２１４に報告し、そこで集約される。現在の値の代わりにデルタ値を報告することは、多くの利点を有する。例えば、ｏｖｓ１  ２４０とｏｖｓ２  ２６０との両方が、その現在値Ｒ．ｃｏｕｎｔｅｒ（ｏｖｓ１）とＲ．ｃｏｕｎｔｅｒ（ｏｖｓ２）とをそれぞれ報告したならば、リーフ２  ２１４の現在値（例えば、Ｒ．ｃｏｕｎｔｅｒ（リーフ２））は、報告の順序に応じて、Ｒ．ｃｏｕｎｔｅｒ（ｏｖｓ１）又はＲ．ｃｏｕｎｔｅｒ（ｏｖｓ２）の何れかになり、結果は、集約値ではなく、メンバ・デバイスの統計値のうちの一つのみである。しかし、本書で行われるように、ｏｖｓ１  ２４０及びｏｖｓ２  ２６０との両方が、そのデルタ値Ｒ．ｄｅｌｔａ（ｏｖｓ１）及びＲ．ｄｅｌｔａ（ｏｖｓ２）をそれぞれ報告したならば、Ｒ．ｃｏｕｎｔｅｒ（リーフ２）は、どのメンバ・デバイスの報告が最初に処理されるかの順序に関係なく、以下の式を使用して集約されることができる。
【００３９】
Ｒ．ｃｏｕｎｔｅｒ（リーフ２）＝Ｒ．ｃｏｕｎｔｅｒ（リーフ２）＋  Ｒ．ｄｅｌｔａ（ｏｖｓ１）及びＲ．ｄｅｌｔａ（ｏｖｓ２）
【００４０】
さらに、この実施形態では、統計集約のために、プッシュ・モデルではなくプル・モデルが使用される。各指定デバイスは、例えば、そのダウンストリーム・メンバ・デバイスから統計をプルする。いくつかの実施形態では、各（物理又は仮想）スイッチが、独立して統計を収集し、それらの統計をローカル・キャッシュに維持する。ある実施形態では、デルタ値が、ＴＣＰのような信頼できるトランスポートでプルされる。したがって、各指定デバイスにおける現在の値は、指定デバイスの以前の値と、そのダウンストリーム・メンバ・デバイスのそれぞれからプルされたすべてのデルタ値との合計である。
【００４１】
このプル・モデルは、分析プレーンのコンピューティング・リソース・スケーラビリティを向上する。すべてのメンバ・スイッチが統計データをそれらの指定デバイスに同時に（又はほぼ同時に）報告することにより指定デバイスが過負荷になる状況を回避するために、指定デバイス・プル・モデルが、従来のメンバ・デバイス・プッシュ・モデルの代わりに使用される。いくつかの実施形態では、指定デバイスは、そのＣＰＵが過負荷でない場合にのみ、そのメンバ・スイッチから統計データをプルする。
【００４２】
統計デバイスは、いくつかの実施形態では、指定デバイスをそのアップストリーム・デバイスとして自動的に選択できる。図４Ａは、様々な実施形態による、分析プレーンで役割を割り当てるための例示的な方法を示すフローチャートを示す。統計デバイスにインストールされた各分析エージェントにおいて、選択サービス１３０は、少なくとも一つの他のアップストリーム・デバイスを識別する。これは、メンバ・デバイスの上の少なくとも一つの層のデバイスでありうる（ステップ４１０）。
【００４３】
よって、潜在的な指定デバイスを考慮する各メンバ・デバイスについて、メンバ・デバイスが潜在的な指定デバイスから到達可能であるかどうかが判定される（ステップ４１２）。メンバ・デバイスが潜在的な指定デバイスから到達可能であるならば、潜在的な指定デバイスは、指定デバイスになることに前向きであるというメッセージをメンバ・デバイスに送信する。これに加えて及び／又はこれにかえて、複数の潜在的な指定デバイスがメンバ・デバイスから到達可能であると判定されたならば（ステップ４１４）、最も低いＩＰアドレスを有する潜在的な指定デバイスが、メンバ・デバイスによって選択される（ステップ４１６）。
【００４４】
潜在的な指定デバイスがメンバ・デバイスから確認を受信すると（例えば、メンバ・デバイスが、メンバ・デバイスになることに前向きであるというメッセージを潜在的な指定デバイスに送信すると）、メンバ・デバイスが割り当てられ、潜在的な指定デバイスがメンバ・デバイスの指定デバイスになる（ステップ４１８）。
【００４５】
分析プレーンの統計デバイスがダウンするときは、いつでも、上記の処理を再トリガして、現在のトポロジを反映するように集約ツリーを再計算する。よって、トリガ・イベントは、統計デバイスに、再び、指定デバイスを選択させ（ステップ４２０）、処理を再び開始させる。
【００４６】
分析プレーンの統計デバイスがダウンするかどうかは、通常のハートビート・メカニズムによって検出されうる。分析プレーンの各デバイスは、例えば、そのアップストリームＤＳＤデバイス及びそのダウンストリームＭＳＤデバイスと、構成可能な間隔で、周期的に、ハートビート・メッセージを交換する。ハートビート・メッセージが、構成可能な複数の連続した間隔の間に、そのアップストリーム又はダウンストリーム・デバイスから受信されないならば、当該デバイスはダウンすると見なされ、これは図４Ｂで規定されたプロセスをトリガして、分析プレーンでＤＳＤ／ＭＳＤツリーを再生成する。
【００４７】
これに加えて及び／又はこれに代えて、分析プレーンのストレージもスケーラブルである。図２を参照すると、いくつかの実施形態では、ユーザ構成されたＡＣＬルールのようなグローバルな観測可能オブジェクトが、ストレージの複雑性を、物理スイッチに接続された仮想スイッチの数とは無関係にできる。例えば、一つのＡＣＬルールが、２つのエンドポイント・グループ間の契約を規定し、このルールが仮想スイッチ（ｏｖｓ１  ２４０及びｏｖｓ２  ２６０）並びにリーフ２  ２１４の両方にインストールされるならば、異なるスイッチ、物理又は仮想、にインストールされた同じルールが、一つの単一の観測可能なルール・オブジェクトに集約される。エンドポイント（仮想マシン及び／又はコンテナ）及び仮想スイッチの数は、指数関数的及び動的に増加する可能性を有するので、一つの観測可能なルール・オブジェクトへの集約が望ましい。これは、別々の観測可能なオブジェクトが異なる物理スイッチ又は仮想スイッチにインストールされた同じ契約ルールを表したならば、仮想スイッチから物理スイッチへの統計を集約すると、エンドポイント、ルール及び仮想スイッチの数が爆発的に増加するので、膨大なスペースを消費する可能性があるためである。例えば、各ルールが、仮想スイッチの数に比例するコピーの線形数をとると、一つの観測可能なルール・オブジェクトへの集約は、空間複雑性をＯ（Ｎ）からＯ（１）に低減する（例えば、線形の空間複雑性は、一定の空間複雑性に低減される）。
【００４８】
図４Ｂは、データセンタ又はクラウドにわたる統計集約ツリーの計算を示す例示的なブロック図を示す。いくつかのコード要素が示されているが、これは単に説明の目的のためであり、本技術はこのコードによって限定されると考えられるべきではない。
【００４９】
規定４３０は、デバイスｄの指定デバイスとして規定されているＤＳＤ（ｄ）と、デバイス２がデバイス１から到達可能であるという条件として規定されているＲ（ｄ１、ｄ２）と、デバイス１がデバイス２にメッセージｍを送信するとして規定されているＴｘ（ｄ１、ｄ２、ｍ）（ここで、ｍは、ｍ＿ＤＳＤが「私はあなたのＤＳＤになることに前向きである」というタイプのメッセージであり、ｍ＿ＭＳＤが「私はあなたのＭＳＤになることに前向きである」というタイプのメッセージであるような、２つのタイプのメッセージのうちの一つであってもよい）と、デバイス１がデバイス２からメッセージｍ（ｍ＿ＤＳＤ又はｍ＿ＤＳＤのタイプ）を受信したという条件として規定されているＲｘ(ｄ１、ｄ２、ｍ）と、などのような、集約ツリーを計算するために使用される変数を規定する。
【００５０】
ブロック４３２は、ｎ個の層で構成される分析プレーン・ネットワークにおいて、層ｔの統計デバイスの集合内の各デバイス１（例えば、層１）について、及びそれより下の層（例えば、層２）内の統計デバイスの集合内の各デバイス２について、デバイス２がデバイス１から到達可能であるならば、デバイス１は、「私はあなたのＤＳＤとなることに前向きである」というタイプのメッセージをデバイス２に送信するという命令を規定する。
【００５１】
しかし、デバイス１は、デバイス２が確認するまで、デバイス２の指定デバイスとして割り当てられない。ブロック４３６は、層ｔの統計デバイスの集合内の各デバイス１（例えば、層１）について、各デバイス１のダウンストリーム・デバイス（例えば、デバイス２）について、デバイス１が、「私はあなたのＭＳＤとなることに前向きである」というタイプのメッセージをデバイス２から受信したような場合に、デバイス１のメンバ・デバイスは、デバイス１の他のメンバ・デバイスとデバイス２との合併（ｕｎｉｏｎ）として規定される（例えば、デバイス２は、デバイス１のメンバ・デバイスの集合に追加される）ことを示す。
【００５２】
複数のデバイスが指定デバイスとしての割り当てに適格である場合に、ブロック４３４は、デバイス２がそれらの中からその指定デバイスを選択することを可能にする命令を規定する。ブロック４３４において、層１内のデバイスの集合内の各デバイス２のアップストリーム・デバイス（例えば、デバイス１´）について、デバイス２がそのアップストリーム・デバイス１´から「私はあなたのＤＳＤになることに前向きである」というタイプのメッセージを受信するような場合に、アップストリーム・デバイス１´が最も低いＩＰアドレスを有すれば、デバイス２は「私はあなたのＭＳＤになることに前向きである」というタイプのメッセージをアップストリーム・デバイス１´に送信する（例えば、割り当てを確認する）。したがって、デバイス２の指定デバイスは、アップストリーム・デバイス１´として規定される。図５は、システムの構成要素が、接続５０５を使用して、互いに通信する計算システム５００の一例を示す。接続５０５は、バスを介した物理的接続、又はチップセット・アーキテクチャのようなプロセッサ５１０への直接接続であってもよい。接続５０５は、仮想接続、ネットワーク接続又は論理接続でありうる。
【００５３】
いくつかの実施形態では、計算システム５００は、本開示で説明される機能を、データセンタ、複数のデータセンタ、ピア・ネットワークなどの中に分散させることができる分散システムである。いくつかの実施形態では、記載されたシステム構成要素のうちの一つ以上が、それぞれが、構成要素が記載される機能の一部又はすべてを実行する、多くのそのような構成要素を表す。いくつかの実施形態では、構成要素が物理デバイス又は仮想デバイスでありうる。
【００５４】
例示的なシステム５００は、少なくとも一つの処理ユニット（ＣＰＵ又はプロセッサ）５１０と、リード・オンリ・メモリ（ＲＯＭ）及びランダム・アクセス・メモリ（ＲＡＭ）のようなシステム・メモリ５１５を含む様々なシステム構成要素をプロセッサ５１０に結合する接続５０５とを含む。計算システム５００は、プロセッサ５１０の一部として、直接接続された、近接している、又は統合された高速メモリのキャッシュを含むことができる。
【００５５】
プロセッサ５１０は、任意の汎用プロセッサと、プロセッサ５１０を制御するように構成された記憶デバイス５３０に記憶されたサービス５３２、５３４及び５３６のようなハードウェア・サービス又はソフトウェア・サービスと、ソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサとを含むことができる。プロセッサ５１０は、本質的に、複数のコア又はプロセッサ、バス、メモリ・コントローラ、キャッシュなどを含む、完全内蔵型の計算システムであってもよい。マルチコア・プロセッサは、対称であっても非対称であってもよい。
【００５６】
ユーザ対話を可能にするために、計算システム５００は、音声用のマイクロフォン、ジェスチャ又はグラフィック入力用のタッチ・センシティブ・スクリーン、キーボード、マウス、モーション入力、音声などの任意の数の入力メカニズムを含むことができる入力デバイス５４５を含む。計算システム５００は、また、出力デバイス５３５を含むことができ、これは、当業者に知られている多数の出力メカニズムのうちの一つ以上でありうる。いくつかの例では、マルチモーダル・システムにより、ユーザが計算システム５００と通信するために複数のタイプの入力／出力を提供できるようになる。計算システム５００は、ユーザ入力及びシステム出力を一般に統率及び管理できる通信インタフェース５４０を含むことができる。いかなる特定のハードウェア構成に対する動作に制限はなく、したがって、本書での基本的な特徴は、それらが開発されるにつれて改善されたハードウェア又はファームウェア構成に容易に置き換えられてもよい。
【００５７】
記憶デバイス５３０は、不揮発性メモリ・デバイスであってもよく、磁気カセット、フラッシュ・メモリ・カード、ソリッド・ステート・メモリ・デバイス、デジタル多用途ディスク、カートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）及び／又はこれらのデバイスの何らかの組合せのような、コンピュータによってアクセス可能なデータを記憶できるハードディスク又は他のタイプのコンピュータ読取可能媒体であってもよい。
【００５８】
記憶デバイス５３０は、ソフトウェア・サービス、サーバ、サービスなどを含むことができ、そのようなソフトウェアを規定するコードがプロセッサ５１０によって実行されると、システムに機能を実行させる。いくつかの実施形態では、特定の機能を実行するハードウェア・サービスがその機能を実行するために、プロセッサ５１０、接続５０５、出力デバイス５３５などのような必要なハードウェア構成要素に関連して、コンピュータ読取可能媒体に格納されたソフトウェア構成要素を含むことができる。プロセッサによって実行されると、当該プロセッサに本書で記載の方法の何れかを実行させる機械読取可能命令を保持するコンピュータ読取可能記憶媒体が提供される。
【００５９】
説明を明確にするために、場合によっては、本技術は、デバイス、デバイス構成要素、ソフトウェアで具現化された方法におけるステップ又はルーチン、あるいはハードウェアとソフトウェアとの組合せを備える機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
【００６０】
本書で説明されるステップ、動作、機能又は処理のいずれも、ハードウェア及びソフトウェアのサービスの組み合わせによって、単独で、又は他のデバイスと組み合わせて、実行又は実装されてもよい。いくつかの実施形態では、サービスは、クライアント・デバイスのメモリ及び／又はコンテンツ管理システムの一つ以上のサーバに常駐し、プロセッサがサービスに関連するソフトウェアを実行する場合に一つ以上の機能を実行するソフトウェアでありうる。いくつかの実施形態では、サービスが特定の機能を実行するプログラム又はプログラムの集合である。いくつかの実施形態では、サービスは、サーバとみなすことができる。メモリは、非一時的なコンピュータ読取可能媒体であってもよい。
【００６１】
いくつかの実施形態では、コンピュータ読取可能記憶デバイス、媒体及びメモリは、ケーブル、又はビット・ストリームを含むワイヤレス信号等を含むことができる。しかし、言及された場合に、非一時的なコンピュータ読取可能記憶媒体は、エネルギー、搬送波信号、電磁波及び信号自体などの媒体を明示的に除外する。
【００６２】
上述の例による方法は、コンピュータ読取可能媒体に記憶されているか、さもなければコンピュータ読取可能媒体から入手可能なコンピュータ実行可能命令を使用して実施されうる。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ又は専用処理デバイスに、特定の機能又は機能のグループを実行させる命令及びデータを含むことができる。使用されるコンピュータ・リソースの部分は、ネットワークを介してアクセス可能でありうる。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語のような中間フォーマット命令、ファームウェア又はソースコードでありうる。説明された例による方法の最中に生成される命令、使用される情報及び／又は情報を格納するために使用されうるコンピュータ読取可能媒体の例は、磁気ディスク又は光ディスク、ソリッド・ステート・メモリ・デバイス、フラッシュ・メモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワーク化された記憶デバイスなどを含む。
【００６３】
これらの開示による方法を実装するデバイスは、ハードウェア、ファームウェア及び／又はソフトウェアを備えることができ、様々なフォーム・ファクタの何れかをとることができる。そのようなフォーム・ファクタの典型的な例には、サーバ、ラップトップ、スマートフォン、スモール・フォーム・ファクタ・パーソナル・コンピュータ、パーソナル・デジタル・アシスタントなどが含まれる。本書で説明された機能は、周辺機器又はアドイン・カードにおいても実施されうる。そのような機能は、さらなる例として、異なるチップ間の回路基板上で、又は単一のデバイス内で実行される異なるプロセス上で実装されることもできる。
【００６４】
命令、そのような命令を伝達するための媒体、それらを実行するための計算リソース、及びそのような計算リソースをサポートするための他の構造は、これらの開示で記載される機能を提供するために手段である。
【００６５】
様々な例及び他の情報が、添付の特許請求の範囲内の態様を説明するために使用されたが、当業者はこれらの例を使用して、多種多様な実装を行うことができるので、そのような例における特定の特徴又は構成に基づいて特許請求の範囲が限定されるべきではない。さらに、いくつかの主題を、構造的特徴及び／又は方法ステップの特定例での中で説明してきたが、添付の特許請求の範囲で特定される主題は、必ずしもこれらの説明された特徴又は動作に限定されないことを理解されたい。例えば、そのような機能は、本書で特定されたもの以外の構成要素において、異なるように分散されるか、又は実行されうる。本書で記載された特徴及びステップは、添付の特許請求の範囲に記載されたシステム及び方法の構成要素の例である。
【図１】
2020528239.tif 000002
【図２】
2020528239.tif 000003
【図３】
2020528239.tif 000004
【図４Ａ】
2020528239.tif 000005
【図４Ｂ】
2020528239.tif 000006
【図５】
2020528239.tif 000007
【国際調査報告】
2020528239.tif 000008
2020528239.tif 000009
2020528239.tif 000010