(57)【要約】  トポロジ情報を用いないネットワーク性能評価方法、システム、プログラムであって、複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することと、複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることとを含むこともできる。本方法はまた、複数のエンドポイント・グループ・ペアを決定することと、複数のエンドポイント・グループ・ペア内のエンドポイント・グループ内のエンドポイント間のトラフィックに関係する性能メトリックを測定することに基づいて、ネットワーク性能評価を生成することとを含むこともできる。
2021531684.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク性能評価のための方法であって、
複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、前記複数のエンドポイント・ペア内の前記エンドポイントがネットワーク内の複数のエンドポイントから選択される、前記収集することと、
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、
前記複数のエンドポイント・グループ・ペア内の前記エンドポイント・グループにわたるエンドポイント間のトラフィックに関係する性能メトリックを測定すること、および前記初期測定値に基づいて、ネットワーク性能評価を生成することと、
を含む方法。
【請求項２】
プローブ・トラフィックの前記送信に関連する前記初期測定値を収集することが、
プローブ・トラフィックを各エンドポイント・ペアの２つのエンドポイント間において送信すること、
前記プローブ・トラフィックのスループット値を測定すること、および
各エンドポイント・ペアのための前記スループット値をエンドポイント相関表内に記憶すること、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることが、
前記エンドポイント相関表から、複数のエンドポイント・ペアのための複数の類似した測定スループット値を決定することであって、前記１つまたは複数のスループット値の間の差が類似度閾値以内である場合に、前記複数のエンドポイント・ペアの前記スループット値が類似している、前記決定すること、および
前記１つまたは複数の類似したスループットに基づいて、前記１つまたは複数のエンドポイントを１つまたは複数のエンドポイント・グループにグループ化すること、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することが、
各々の複数のエンドポイント・グループから代表エンドポイントを選択すること、および
前記代表エンドポイントを前記複数のエンドポイント・グループからの各々の他の代表エンドポイントとペアにすること、
をさらに含む、請求項１に記載の方法。
【請求項５】
ネットワーク性能評価を生成することが、
プローブ・トラフィックを各エンドポイント・グループ・ペアの２つのエンドポイント間において送信すること、および
各エンドポイント・グループの各測定エンドポイント間の１つまたは複数の性能評価パラメータを測定すること、
をさらに含む、請求項４に記載の方法。
【請求項６】
性能評価パラメータが、
ネットワーク・スループット、
パケット遅延、
パケット損失、および
ネットワーク・ジッタ、
のうちの１つまたは複数を含む、請求項５に記載の方法。
【請求項７】
前記プローブ・トラフィックが作業負荷パッケージを含む、請求項５に記載の方法。
【請求項８】
前記ネットワーク上で実行するアプリケーションの性能パラメータを測定することと、
前記アプリケーションの前記測定された性能パラメータが性能パラメータ閾値を下回る場合には、前記ネットワーク性能評価から、前記アプリケーションの性能の改善をもたらすエンドポイント・グループを決定することと、
前記決定されたエンドポイント・グループのエンドポイントを利用するよう前記アプリケーションの展開を組織することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記生成されたネットワーク性能評価が古くなったと決定することと、
前記ネットワーク性能評価を再処理することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
ネットワーク性能評価を遂行するためのシステムであって、
１つまたは複数のコンピュータ・プロセッサと、
前記１つまたは複数のコンピュータ・プロセッサによって実行された時に動作を遂行するプログラムを包含するメモリと、
を備え、前記動作が、
複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、前記複数のエンドポイント・ペア内の前記エンドポイントがネットワーク内の複数のエンドポイントから選択される、前記収集することと、
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、
前記複数のエンドポイント・グループ・ペア内の前記エンドポイント・グループにわたるエンドポイント間のトラフィックに関係する性能メトリックを測定すること、および前記初期測定値に基づいて、ネットワーク性能評価を生成することと、
を含む、システム。
【請求項１１】
プローブ・トラフィックの前記送信に関連する前記初期測定値を収集するために、さらに、前記動作が、
プローブ・トラフィックを各エンドポイント・ペアの２つのエンドポイント間において送信すること、
前記プローブ・トラフィックのスループット値を測定すること、および
各エンドポイント・ペアのための前記スループット値をエンドポイント相関表内に記憶すること、
をさらに含む、請求項１０に記載のシステム。
【請求項１２】
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングするために、前記動作が、
前記エンドポイント相関表から、複数のエンドポイント・ペアのための複数の類似した測定スループット値を決定することであって、前記１つまたは複数のスループット値の間の差が類似度閾値以内である場合に、前記複数のエンドポイント・ペアの前記スループット値が類似している、前記決定すること、および
前記１つまたは複数の類似したスループットに基づいて、前記１つまたは複数のエンドポイントを１つまたは複数のエンドポイント・グループにグループ化すること、
をさらに含む、請求項１１に記載のシステム。
【請求項１３】
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定するために、前記動作が、
各々の複数のエンドポイント・グループから代表エンドポイントを選択すること、および
前記代表エンドポイントを前記複数のエンドポイント・グループからの各々の他の代表エンドポイントとペアにすること、
をさらに含む、請求項１０に記載のシステム。
【請求項１４】
ネットワーク性能評価を生成するために、前記動作が、
プローブ・トラフィックを各エンドポイント・グループ・ペアの２つのエンドポイント間において送信すること、および
各エンドポイント・グループの各測定エンドポイント間の１つまたは複数の性能評価パラメータを測定すること、
をさらに含む、請求項１３に記載のシステム。
【請求項１５】
前記動作が、
前記ネットワーク上で実行するアプリケーションの性能パラメータを測定することと、
前記アプリケーションの前記測定された性能パラメータが性能パラメータ閾値を下回る場合には、前記ネットワーク性能評価から、前記アプリケーションの性能の改善をもたらすエンドポイント・グループを決定することと、
前記決定されたエンドポイント・グループのエンドポイントを利用するよう前記アプリケーションの展開を組織することと、
をさらに含む、請求項１０に記載のシステム。
【請求項１６】
ネットワーク性能評価のためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、
コンピュータ可読記憶媒体を含み、前記コンピュータ可読記憶媒体が、それに組み込まれたコンピュータ可読プログラム・コードを有し、前記コンピュータ可読プログラム・コードが、１つまたは複数のコンピュータ・プロセッサによって、動作を遂行するよう実行可能であり、前記動作が、
複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、前記複数のエンドポイント・ペア内の前記エンドポイントがネットワーク内の複数のエンドポイントから選択される、前記収集することと、
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、
前記複数のエンドポイント・グループ・ペア内の前記エンドポイント・グループにわたるエンドポイント間のトラフィックに関係する性能メトリックを測定すること、および前記初期測定値に基づいて、ネットワーク性能評価を生成することと、
を含む、コンピュータ・プログラム製品。
【請求項１７】
プローブ・トラフィックの前記送信に関連する前記初期測定値を収集するために、前記動作が、
プローブ・トラフィックを各エンドポイント・ペアの２つのエンドポイント間において送信すること、
前記プローブ・トラフィックのスループット値を測定すること、および
各エンドポイント・ペアのための前記スループット値をエンドポイント相関表内に記憶すること、
をさらに含み、前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングするために、前記動作が、
前記エンドポイント相関表から、複数のエンドポイント・ペアのための複数の類似した測定スループット値を決定することであって、前記１つまたは複数のスループット値の間の差が類似度閾値以内である場合に、前記複数のエンドポイント・ペアの前記スループット値が類似している、前記決定すること、および
前記１つまたは複数の類似したスループットに基づいて、前記１つまたは複数のエンドポイントを１つまたは複数のエンドポイント・グループにグループ化すること、
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１８】
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定するために、前記動作が、
各々の複数のエンドポイント・グループから代表エンドポイントを選択すること、および
前記代表エンドポイントを前記複数のエンドポイント・グループからの各々の他の代表エンドポイントとペアにすること、
をさらに含み、
ネットワーク性能評価を生成するために、前記動作が、
プローブ・トラフィックを各エンドポイント・グループ・ペアの２つのエンドポイント間において送信すること、および
各エンドポイント・グループの各測定エンドポイント間の１つまたは複数の性能評価パラメータを測定すること、
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１９】
前記動作が、
前記ネットワーク上で実行するアプリケーションの性能パラメータを測定することと、
前記アプリケーションの前記測定された性能パラメータが性能パラメータ閾値を下回る場合には、前記ネットワーク性能評価から、前記アプリケーションの性能の改善をもたらすエンドポイント・グループを決定することと、
前記決定されたエンドポイント・グループのエンドポイントを利用するよう前記アプリケーションの展開を組織することと、
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２０】
前記動作が、
前記生成されたネットワーク性能評価が古くなったと決定することと、
前記ネットワーク性能評価を再処理することと、
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク特性を決定することに関し、より詳細には、未知のネットワーク・トポロジなどの、未知の特性を有するネットワークにおけるネットワーク性能を決定することに関する。
【背景技術】
【０００２】
分散型アプリケーションのためのクラウド・ベースのネットワークを含む、多くのネットワークにおいて、ネットワーク・トポロジおよび他のネットワーク性能特性はネットワークの運営者によって知られているのみである。独占権保護およびセキュリティ上の懸念のために、ネットワークの運営者はネットワークのトポロジを秘密にしておく場合がある。その結果、ネットワーク・トポロジは、アプリケーションまたは他のサービスをネットワーク上で展開する事業体または顧客あるいはその両方にとって未知であるか、または任意に見えることになる。これは、ネットワーク上で実行するアプリケーションがネットワークを最大限に利用することができないという結果をもたらし得る。
【発明の概要】
【０００３】
本発明の一実施形態によれば、ネットワーク性能評価の方法が提供される。本方法は、複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、複数のエンドポイント・ペア内のエンドポイントがネットワーク内の複数のエンドポイントから選択される、収集することと、収集された初期測定値に基づいて、複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、複数のエンドポイント・グループ・ペア内のエンドポイント・グループにわたるエンドポイント間に投入されたトラフィックに関係する性能メトリックを測定することに基づいて、ネットワーク性能評価を生成することと、を含む。アプリケーションまたはプローブ・トラフィックの送信元または受け手がエンドポイントと称される。
【０００４】
本発明の別の実施形態によれば、ネットワーク性能評価を提供するためのシステムが提供される。システムは、１つまたは複数のコンピュータ・プロセッサと、１つまたは複数のコンピュータ・プロセッサによって実行された時に、動作を遂行するプログラムを包含するメモリと、を含み得る。動作は、複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、複数のエンドポイント・ペア内のエンドポイントがネットワーク内の複数のエンドポイントから選択される、収集することと、収集された初期測定値に基づいて、複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、複数のエンドポイント・グループ・ペア内のエンドポイント・グループにわたるエンドポイント間に投入されたトラフィックの性能を測定することに基づいて、ネットワーク性能評価を生成することと、を含む。エンドポイント・グループ化情報は、初期測定値収集の間、およびエンドポイントのグループ化が収束した後に、データ収集の速度を高めるために用いられ得る。複数のエンドポイント・グループは、それが、連続した測定ステップにおいて変化しなくなった後に、最終決定されたと考えられる。
【０００５】
本発明の別の実施形態によれば、ネットワーク性能評価のためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品はコンピュータ可読記憶媒体を含み、コンピュータ可読記憶媒体は、それに組み込まれたコンピュータ可読プログラム・コードを有し、コンピュータ可読プログラム・コードは、１つまたは複数のコンピュータ・プロセッサによって、動作を遂行するよう実行可能である。動作は、複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、複数のエンドポイント・ペア内のエンドポイントがネットワーク内の複数のエンドポイントから選択される、収集することと、収集された初期測定値に基づいて、複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、複数のエンドポイント・グループ・ペア内のエンドポイント・グループにわたるエンドポイント間のトラフィック・フローを監視することに基づいて、ネットワーク性能評価を生成することと、を含む。
【図面の簡単な説明】
【０００６】
【図１】一実施形態に係る、ネットワークを示す図である。
【図２】一実施形態に係る、エンドポイント相関表を示す図である。
【図３】一実施形態に係る、複数のエンドポイント・グループを有するネットワークを示す図である。
【図４】一実施形態に係る、ネットワーク性能評価を促進するためのサーバのブロック図を示す図である。
【図５】一実施形態に係る、ネットワーク性能評価を生成する方法を示す図である。
【図６】一実施形態に係る、ネットワーク性能評価を生成するさらなる方法を示す図である。
【図７】一実施形態に係る、ネットワーク性能評価を生成するさらなる方法を示す図である。
【図８】一実施形態に係る、ネットワーク性能評価を利用する方法を示す図である。
【図９】一実施形態に係る、ネットワーク性能評価を生成するさらなる方法を示す図である。
【発明を実施するための形態】
【０００７】
本明細書において説明される実施形態は、ネットワークのユーザが、ネットワーク・トポロジがネットワーク・プロバイダによって提供されていないネットワークの特性を決定することができる方式を提供する。ネットワークを利用するユーザ（例えば、事業体、顧客等）が、ネットワーク上で展開されたサービスの性能を理解するために、ユーザは、ネットワークの性能および他の特性も理解したいと望み得る。この情報が公に利用可能でないか、またはネットワーク・プロバイダによって提供されていないときには、ユーザは、ネットワーク上に展開されたサービスおよびアプリケーションの性能を十分に理解または最適化し得ない。例えば、クラウド・ネットワークなどのネットワーク上で実行するアプリケーションの体感品質（Quality of Experience、ＱｏＥ）は、基礎をなすネットワークによって提供されるサービス品質（Quality of Service、ＱｏＳ）に依存する。
【０００８】
エンドポイントの数が、アクセスされる必要があるエンドポイント間のネットワーク経路の数を２乗のオーダーで増大させるため、伝統的なネットワーク性能評価は、ネットワークの規模が増大するにつれて、より時間がかかるようになる。ネットワークのトポロジが未知であるときには、この評価はいっそう困難にされる。ネットワーク・トポロジは、ネットワークを正確に評価するために必要とされる測定値の数を低減するべくエンドポイントをエンドポイント・グループに一緒にグループ化するために用いることができる。しかし、いくつかのネットワークでは（例えば、クラウド・インフラストラクチャでは）、ネットワーク・トポロジはユーザに対して可視でない。本明細書において説明される実施形態は、ネットワーク・トポロジを知ることなくネットワークから収集されることを必要とされる測定値のセットを低減するための方法およびシステムを提供する。本明細書において説明されるこれらの解決策は、ネットワーク性能を正確に推定するために必要とされる時間要求および測定値の数を減らす。
【０００９】
本明細書において説明されるように、必要とされる測定値の数は、類似したネットワーク性能を呈しているエンドポイントのセットをグループに収集し、エンドポイントの各ペア間の代わりに、エンドポイント・グループのペア間のネットワーク性能を測定することによって低減される。本明細書において説明されるとおりの性能測定値は、類似した性能を呈するエンドポイントのグループを作成すること、およびネットワークの性能を評価することの両方のために用いられる。
【００１０】
本明細書において説明される実施形態はまた、アプリケーションをネットワーク上に展開する前、またはアプリケーション展開のための代替的なネットワーキング解決策の間の選定時、あるいはその両方においてネットワークの性能を定量的に評価するための技法を提供し、これにより、ユーザが、展開されたアプリケーションのための適切なＱｏＳを確実にすることを可能にする。（例えば、クラウド・コンピューティング環境内の）所与のネットワークが所与のアプリケーションをサポートする能力を有するかどうかを評価することは、ネットワーク上で実行する任意の所与のアプリケーションまたはサービスのＱｏＥに悪影響を及ぼし得るネットワーキング問題を識別し、解決するのに役立つ。例えば、ネットワーク上で実行するアプリケーション・コンポーネント（例えば、仮想機械（virtual machine、ＶＭ）／コンテナ）が不十分な性能（例えば、不十分な接続性）を有する場合には、本明細書において説明される方法およびシステムは、問題の原因を評価し、アプリケーションの性能を改善するための方法を決定するために用いられ得る。加えて、所与のアプリケーションをサポートするためにネットワーク内のアプリケーション要素（プロセス、コンテナ、ＶＭ、サーバ）の展開を組織する方法およびシステムが本明細書において説明される。
【００１１】
次に、ネットワーク１０２を含む例示的なネットワーキング・システム１００を示す図１を参照する。例によっては、ネットワーク性能は、エンドポイントをネットワーク１０２内に配置することによって測定され得る。例えば、図１に示されるように、エンドポイント１１０〜１１７はネットワーク１０２内の様々な点に配置され得る。エンドポイントは、アプリケーション・コンポーネントが配置されるであろう点において挿入され得る。例によっては、プローブ・トラフィックがエンドポイント間に投入され、ネットワークにわたって展開されるべきアプリケーションに関連するトラフィック・パターンに従うように仕向けられる。トラフィック・パターンは、エンドポイント・ペアがプローブを交換する仕方を指す。トラフィック・パターンは、送信元および送信先エンドポイントのセット、ならびにそれらがプローブ・トラフィックを投入する時間を決定する。次に、このプローブ・トラフィックが、ネットワーク性能メトリックの中でもとりわけ、スループット、パケット遅延、パケット・ジッタ、およびパケット損失などの主要ネットワーク性能メトリックについて測定される。
【００１２】
ネットワーク性能メトリックおよびデータを収集するために利用され得る多くの例示的なトラフィック・パターンが存在する。例によっては、所与のトラフィック・パターンは、エンドポイント１１０〜１１７の間のエンドポイント・ペアなどの、どのエンドポイント・ペアが所与の時間において使用または測定されるのかを決定する。例によっては、複数のペアが並行に使用される。例えば、ネットワーク性能メトリック／データの収集の間に、全てのエンドポイントが、ちょうど１つの他のエンドポイントを送信先とするプローブ・トラフィックを投入するよう、並行したエンド・ツー・エンド性能データを収集することができ、「ｎ」個のエンドポイントを有するネットワーク内において、ｎ個のフローが同時に投入され、全てのエンドポイントが１つの他のエンドポイントに対して送信および受信することを確実にする。例によっては、エンドポイントがリングの形で順序付けられ、リング内の隣接者同士がプローブ・トラフィックを同時に交換する、リング・トラフィック・パターンを用いることができる。リング・トラフィック・パターンは深層学習アプリケーションのネットワーク性能評価のために利用され得る。さらに、ネットワーク性能メトリック／データの収集の間に、ランダムなリングを生成することができ、異なるペアを有効に使用するか、またはネットワーク全体を決定論的に網羅するステップを有する。例によっては、各エンドポイントが他の全てのエンドポイントとプローブ・トラフィックを交換する、多対多トラフィック・パターンが用いられ得る。多対多トラフィック・パターンは高性能コンピューティング・アプリケーションのネットワーク性能評価のために利用され得る。
【００１３】
ネットワーク１０２などのネットワークが大きくなるにつれて、測定ベースの解決策はスケーリング問題に悩まされ、試験されるべきエンドポイントの組み合わせが急速に増え、ネットワーク性能を測定することに当てられる時間コストおよびリソースを著しく増大させ得る。
【００１４】
本明細書において説明されるように、プローブ・トラフィックを用いて測定されるべきエンドポイント・ペアの低減されたセットを決定する、ネットワーク１０２などのネットワーク、およびエンドポイント１１０〜１１７などのエンドポイントのセットのための方法およびシステムが提供される。具体的には、性能評価のための方法は、エンドポイント１１０〜１１７などのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することを含み得る。図１に示されるように、この評価は、リング・トラフィック・パターンまたは多対多パターンなどのトラフィック・パターンに従ってプローブ・トラフィックを複数のエンドポイント・ペア内のエンドポイント・ペア間において投入することを頼りにし得る。例によっては、トラフィック・パターンは、他の全てのエンドポイントとペアにされた各エンドポイントを含み得る。例えば、エンドポイント１１０は、エンドポイント１１１と第１のペアとして、エンドポイント１１２と第２のペアとして、およびエンドポイント１１３〜１１７とそれぞれ第３〜第７のペアとしてペアにされ得る。同じように、エンドポイント１１１は、エンドポイント１１２およびエンドポイント１１３〜１１７と第９〜第１５のペアとしてペアにされ得る。一例では、図１において示されるエンドポイントによって形成される複数のエンドポイント・ペアはエンドポイント間の２８個のエンドポイント・ペアを含む。例によっては、初期測定値は、図２に関して説明されるとおりのエンドポイント相関表内に記憶され得る。
【００１５】
いくつかの例では、いくつかの方法で複数のステップを用いてエンドポイント相関行列を徐々に構築することができる。１つの例示的な仕方は、各ステップにおけるリング・トラフィック・パターンに従うエンドポイント・ペア間の測定値を収集することである。リング・トラフィック・パターンでは、エンドポイントがリングの形で配置され、全てのエンドポイントが右側のその隣接者を同時に探測する。それゆえ、「ｎ」個のエンドポイントを有する各ステップにおいて、エンドポイントの合計ｎ個のペアが探測される。各ステップにおいて収集された性能データはペアごとに相関行列内に記録することができる。エンドポイントの所与のペアに関係する複数の測定値が複数のステップにわたって収集された場合には、このような測定値の平均値または中央値などの代表的な数値が所与のエンドポイント・ペアのためのデータとして行列に登録されてもよい。別の例では、エンドポイント相関行列は、エンドポイントの小さな部分集合をランダムに選択し、各ステップにおける多対多トラフィック・パターンに従う測定値を収集することによって構築される。多対多トラフィック・パターンでは、各エンドポイントがネットワーク内の他の全てのエンドポイントを同時に探測する。各ステップにおいて利用されるエンドポイントの部分集合のサイズはネットワークの規模に基づいてあらかじめ定めることができ、このサイズはネットワーク全体である可能性がある。各反復において、ランダムに選択された部分集合が、エンドポイント間のデータを集めるために用いられ得る。それゆえ、ｎ個のエンドポイントを有する各ステップにおいて、エンドポイントの合計（（ｎ）  ｘ  （ｎ−１））個のペアが探測される。エンドポイントの所与のペアに関係する複数の測定値が複数のステップにわたって収集された場合には、このような測定値の平均値または中央値などの代表的な数値が所与のエンドポイント・ペアのためのデータとして行列に登録されてもよい。エンドポイント・ペアの各々のための登録が相関行列内に存在するときには、測定値収集は停止され得る。代替的に、測定値収集は既定数のステップにわたって継続する場合がある。
【００１６】
加えて、２つのエンドポイントの性能データには、全てのデータ収集ステップにわたって、２つのエンドポイントの性能が類似していたことのインジケータがある。この類似度は、通例、２つのエンドポイント間のトポロジ的近接性によるものである。２つのエンドポイント間のこのような類似度を決定するための例示的な仕方は、相関行列内の２つのエンドポイントの行（または列）を比較することである。相関行列の２つの行は多数の仕方で比較することができる。１つの例示的な仕方は、第１に、行の間の一致を決定することである。すなわち、それらの行の両方の内部のｉ番目の列の値が閾値以内である場合には、ｉ番目の値は一致と考えられる。第２に、最初の列から最後の列までのｉの全ての値について、一致の数が計数され得る。相関行列内のデータは、行列内の類似した行（または列）を有するエンドポイントの部分集合またはクラスタを決定するべく複数のエンドポイント間の類似度を決定するために利用され得る。
【００１７】
例によっては、リング・トラフィック・パターンが、初期測定値を収集するために用いられ得る。リング・トラフィック・パターンの反復生成が遂行されるため、より多くのエンドポイント・ペアの間の性能データをエンドポイント相関表内に記憶することができる。相関に基づいて推定されたエンドポイント・グループ化が反復の間で変化しないときには、（すなわち、グループが収束したとき、または既定の反復数に達したときには）、測定値の初期収集は停止され、エンドポイント・グループは最終決定され得る。既定数の「ｍ」回の反復後に、リング・トラフィック・パターンおよびエンドポイントのグループの下での性能がどんな具合であるかを、収集されたデータから理解することができる。例によっては、リング・トラフィック・パターンの反復は、ランダムなリングを測定すること、ならびに（例えば、トポロジ的に「最良」または「最悪」のリングからどれほどのスループットを得ることができるであるかを決定するために）エンドポイント・グループ化情報を利用する注意深く選択されたリングを測定する多数の反復を含み得る。同様に、多対多トラフィック・パターンを、複数の反復にわたってエンドポイントをグループ化するために利用することができる。
【００１８】
性能評価のための方法はまた、収集された初期測定値に基づいて、複数のエンドポイント（エンドポイント１１０〜１１７）を複数のエンドポイント・グループにクラスタリングすることを含み得る。例えば、類似した測定値を有するエンドポイントがエンドポイント・グループ内に配置され得る。例えば、図１に示されるように、エンドポイント１１０および１１１がエンドポイント・グループ１５０として、エンドポイント１１２および１１３がエンドポイント・グループ１５２として、エンドポイント１１４および１１５がエンドポイント・グループ１５４として、エンドポイント１１７および１１８がエンドポイント・グループ１５６として一緒にクラスタリングされ得る。
【００１９】
性能評価のための方法はまた、本明細書において図３に関してさらに説明されるように、複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、複数のエンドポイント・グループ・ペア内のエンドポイント・グループにわたるエンドポイント間に投入されたプローブ・トラフィックに関係する性能メトリックに基づいて、ネットワーク性能評価を生成することとを含み得る。
【００２０】
図２は、一実施形態に係る、エンドポイント相関表を示す。エンドポイント相関表は、行列、表、または収集されたデータを記憶するための任意の他の組織構造を含み得る。図１に関して上述されたように、初期測定値がエンドポイントのために収集され得る。例によっては、プローブ・トラフィックが各エンドポイント・ペアの２つのエンドポイント間において送信され得、プローブ・トラフィックの測定値がエンドポイント相関表２００内に記憶され得る。例えば、エンドポイント１１０からエンドポイント１１１へのプローブ・トラフィックの測定値は表２００の行Ａ列Ｂ内に記憶され得る。同様に、エンドポイント１１１から１１０への他方の方向は行Ｂ列Ａ内に記憶され得る。双方向メトリックのために、行Ａ列Ｂおよび行Ｂ列Ａ内の値は同一になるであろう。エンドポイント・ペアのための各々の収集された測定値が表２００内に記憶され得る。例によっては、測定値はプローブ・トラフィックのスループットを含み得、この場合には、各エンドポイント・ペアのためのスループットがエンドポイント相関表２００内に記憶される。他の例では、初期測定値は、リングまたは多対多などのトラフィック・パターンを用いて収集されたパケット遅延、ジッタ、およびパケット損失の測定値などの多数のネットワーク性能パラメータのうちの１つまたは複数の測定値を含み得る。例によっては、本明細書において説明されるように、エンドポイント相関表は、複数のエンドポイントをエンドポイント・グループにクラスタリングするために用いられ得る。
【００２１】
例えば、図２に示されるように、エンドポイント１１０および１１１に対応する相関行列内の行は、（図２の行ＡおよびＢならびに列ＡおよびＢに示されるように）類似したスループット値を一致した列（ＡおよびＢを除外する全ての列）内に有する。これらのエンドポイントは、類似したスループット値を一致した列（列Ａおよび列Ｂを除く）において行ＡおよびＢ内に有するため、それらは、同じデータ・センタ内、またはデータ・センタ内の同じラック上など、ネットワーク内の類似した位置にあると仮定することができる。それゆえ、エンドポイント１１０および１１１をエンドポイント・グループ１５０にクラスタリングすることができる。図２に示される残りの測定値の各々は、残りのエンドポイントをエンドポイント・グループにクラスタリングするために用いることができる。これらのエンドポイント・グループは両方とも、予備測定値に基づいて推定される、より多くの初期測定値が収集されるのに従って更新される、またはグループ化を最終決定するために十分なデータが収集された後、もしくは特定の数の初期測定反復が完了された後に最終決定される、あるいはその組み合わせを行われ得る。例によっては、初期測定値は、ネットワーク性能評価を持続的に更新するために継続的に収集され得る。
【００２２】
図３は、一実施形態に係る、複数のエンドポイント・グループを有するネットワークを示す。エンドポイント・グループ１５０〜１５６がネットワーク性能評価を生成するために用いられる。例によっては、代表エンドポイントが各エンドポイント・グループから選択され得る。例えば、エンドポイント１１０がエンドポイント・グループ１５０から選択され得、エンドポイント１１２がエンドポイント・グループ１５２から選択され得、エンドポイント１１４がエンドポイント・グループ１５４から選択され得、エンドポイント１１６がエンドポイント・グループ１５６から選択され得る。例によっては、プローブ・トラフィック３０２〜３１２などのプローブ・トラフィックが、各々の選択された代表エンドポイント間において送信され得る。これは、プローブ・トラフィックをエンドポイント１１０〜１１７の各ペアの間で送ることを必要とすることなくネットワーク性能評価が生成されることを可能にする。グループ内のエンドポイント間でプローブ・トラフィックの送信元または受け手を分配することによって、グループ内の全てのエンドポイントを用いることも可能である。
【００２３】
図４は、一実施形態に係る、ネットワーク性能評価を促進するためのサーバのブロック図を示す。図示のように、装置４００は、ネットワーキング・システム１００の機能を実行し、本明細書において説明される方法を遂行するように構成されたコンピュータ４０１として組み込まれたサーバを含み得る。コンピュータ４０１は汎用コンピューティング・デバイスの形態で示されている。コンピュータ４０１のコンポーネントは、限定するものではないが、１つまたは複数のプロセッサもしくは処理ユニット４０５、システム・メモリ４１０、記憶システム４２０、ネットワーク・インターフェース４３０、ならびにシステム・メモリ４１０および記憶システム４２０を含む様々なシステム・コンポーネントをネットワーク・インターフェース４３０および様々な入力／出力コンポーネントと共にプロセッサ４０５に結合するバス４５０を含み得る。他の実施形態では、装置４００は分散型であり、有線または無線ネットワーキングを通じて接続された複数の離散的なコンピューティング・デバイスを含む。
【００２４】
バス４５０は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、ならびに種々のバス・アーキテクチャのうちの任意のものを用いるプロセッサまたはローカル・バスを含む、いくつかの種類のバス構造のうちの任意のもののうちの１つまたは複数を表す。限定ではなく、例として、このようなアーキテクチャとしては、業界標準アーキテクチャ（Industry Standard Architecture、ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Micro Channel Architecture、ＭＣＡ）バス、拡張ＩＳＡ（EnhancedISA、ＥＩＳＡ）バス、ビデオ・エレクトロニクス規格協会（Video ElectronicsStandards Association、ＶＥＳＡ）ローカル・バス、および周辺装置相互接続（PeripheralComponent Interconnects、ＰＣＩ）バスが挙げられる。
【００２５】
コンピュータ４０１は通例、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ４０１によってアクセス可能である任意の利用可能な媒体であり得、それは、揮発性および不揮発性媒体、着脱式および非着脱式媒体の両方を含む。
【００２６】
システム・メモリ４１０は、ランダム・アクセス・メモリ（random accessmemory、ＲＡＭ）またはキャッシュ・メモリあるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ４０１は、他の取り外し可能／非取り外し可能な、揮発性／不揮発性コンピュータ・システム記憶媒体をさらに含み得る。例によっては、記憶システム４２０はメモリ４１０の部分として含まれてもよく、通例、ネットワーク化コンピューティング・デバイスのための不揮発性メモリを提供し得、フラッシュ・メモリ、ハード・ディスク・ドライブ、ソリッド・ステート・ドライブ、光記憶デバイス、または磁気記憶デバイス、あるいはその組み合わせなどの１つまたは複数の異なる記憶要素を含み得る。例えば、記憶システム４２０は、非取り外し可能な不揮発性磁気媒体（図示せず、通例、「ハード・ドライブ」と呼ばれる）からの読み取り、およびそれへの書き込みのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば、「フロッピー（Ｒ）・ディスク」）からの読み取り、およびそれへの書き込みのための磁気ディスク・ドライブ、ならびにＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体などの取り外し可能な不揮発性光ディスクからの読み取り、およびそれへの書き込みのための光ディスク・ドライブを設けることができる。このような場合には、１つまたは複数のデータ媒体インターフェースによって各々をバス５５０に接続することができる。ストレージ４２０は、エンドポイント相関データ４２１（例えば、エンドポイント相関表２００）を記憶するための媒体を含み得る。記憶システム４２０はまた、ネットワーク評価データ４２２、評価パラメータ４２３、およびプログラミング・モジュール４１５の実行に関連する他のデータを含み得る。記憶システム４２０内に記憶された情報は、本明細書において説明されるプログラム・モジュール４１５によって更新され、アクセスされ得る。
【００２７】
メモリ４１０は、本明細書において説明されるネットワーク性能評価に関連する様々な機能を遂行するための複数のプログラム・モジュール４１５を含み得る。モジュール４１５は、概して、プロセッサ４０５のうちの１つまたは複数によって実行可能であるプログラム・コードを含む。図示のように、モジュール４１５は、ネットワーク・インタラクション・モジュール４１１、エンドポイント・モジュール４１２、および評価モジュール４１３を含む。
【００２８】
モジュール４１５はまた、特定の機能を遂行するために、互いに、および記憶システム４２０と対話し得る。例えば、ネットワーク・インタラクション・モジュール４１１は、複数の第１のエンドポイント、または第１のエンドポイントのセットを決定するように構成され得る。例によっては、ネットワーク・インタラクション・モジュール４１１は、ネットワーク・プローブ・トラフィックを投入するように構成された複数のエージェント・コンポーネントのためのコントローラを務め得る。例によっては、複数のエージェントは、エンドポイント・モジュール４１２として組み込まれる、またはエンドポイント・モジュール４１２によって実行される、あるいはその両方を行われ得る。例えば、図１に示されるように、ネットワーク・インタラクション・モジュール４１１は、エンドポイント１１０〜１１７をネットワーク・プローブ・トラフィックの適切な送信元または受け手として決定または識別し得る。ネットワーク・インタラクション・モジュール４１１はまた、エンドポイント・モジュール４１２と協力して、複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集し、収集されたデータをエンドポイント相関データ４２１内に記憶し得る。例えば、図１に示されるように、ネットワーク・インタラクション・モジュール４１１は、エンドポイント・モジュール４１２と協力して、プローブ・トラフィックをエンドポイント・ペア（例えば、エンドポイント１１０−エンドポイント１１１、エンドポイント１１０−エンドポイント１１２、・・・等）の各々の間において送信する。例によっては、複数のエンドポイント・ペア内のエンドポイントはネットワーク内の複数のエンドポイントから選択され得る。例えば、ネットワーク・インタラクション・モジュール４１１は、エンドポイントのより大きなセットから、ネットワーク１０２内のエンドポイント１１０〜１１７などの、エンドポイントのセット、または複数のエンドポイントを決定し得る。例によっては、エンドポイントは、アプリケーションまたはサービスが展開された、または展開されることになる点を含み得る。
【００２９】
さらに、一例では、ネットワーク・インタラクション・モジュール４１１は、プローブ・トラフィックを各エンドポイント・ペアの２つのエンドポイント間においてさらに送信し、プローブ・トラフィックのスループットを測定し、各エンドポイント・ペアのためのスループット値をエンドポイント相関表内に記憶するように構成され得る。例えば、ネットワーク・インタラクション・モジュール４１１は、プローブ・トラフィックを、図１に示されるとおりのエンドポイント１１０〜１１７の各々の間において送信し、スループットを測定し、スループットを表２００内に記憶し得る。例によっては、ネットワーク・インタラクション・モジュール４１１は、エンドポイント・モジュール４１２と協力して、上述されたリング・トラフィック・パターンを用いてネットワーク・プローブ・トラフィックを送信する。説明される例では、ネットワーク・プローブ・トラフィックは、同時に、または並行に送られ、測定される。高速の複数の並行した測定は、エンドポイント・ペアのためのデータの迅速な網羅および収集を効率的に可能にする。さらに、複数の並行した測定は、単一の測定値のみが一度に取得される場合には見逃され得る性能の態様を明らかにし得る。さらに、一例では、プローブ・トラフィックは、ネットワーク内のエンドポイント間のスループットを測定するように構成され得る。例えば、プローブ・トラフィックは、図１に示されるとおりの、エンドポイント１１０からエンドポイント１１４へのスループット等を測定し得る。別の例では、プローブ・トラフィックは、ネットワーク・メトリックの中でもとりわけ、パケット遅延、パケット・ジッタ、またはパケット損失、あるいはその組み合わせなどの他のネットワーク特性を測定するように構成され得る。
【００３０】
さらに別の例示的な実施形態では、ネットワーク・インタラクション・モジュール４１１は、エンドポイント・モジュール４１２と共に、また、プローブ・トラフィックを各エンドポイント・グループ・ペアの２つのエンドポイント間において送信し、各エンドポイント・グループの各測定エンドポイント間の１つまたは複数のトラフィック・パターンまたは性能評価パラメータを測定するように構成され得る。上述されたように、このプローブ・トラフィックはまた、エンドポイント・グループの複数の測定エンドポイント間において測定するために、複数の同時の並行したプローブ・トラフィック投入を用いてリング・トラフィック・パターンで送られ得る。例えば、図３に示されるように、ネットワーク・インタラクション・モジュール４１１は、選択されたエンドポイント１１０、１１２、１１４、および１１７を用いてプローブ・トラフィックをエンドポイント・グループ１５０、１５２、１５４、および１５６の各々の間において送信し得る。実施形態によっては、プローブ・トラフィックはまた、ネットワーク・スループット、パケット遅延、パケット損失、およびネットワーク・ジッタなどのネットワーク特性を測定するように構成され得る。例によっては、ネットワーク・インタラクション・モジュール４１１は作業負荷パッケージをプローブ・トラフィックとして用い得る。例えば、アプリケーション・サービスの部分として送られる標準パケットがプローブ・トラフィックとして用いられ得る。ネットワーク・インタラクション・モジュール４１１はまた、ネットワーク上で実行するアプリケーションの性能パラメータを測定するように構成され得る。例えば、ネットワーク・インタラクション・モジュール４１１はネットワーク１０２上の分散型アプリケーションのＱｏＳを測定し得る。一実施形態では、アプリケーションの測定された性能パラメータが、評価パラメータ４２３内に記憶された性能パラメータ閾値を下回る場合には、ネットワーク・インタラクション・モジュール４１１は、ネットワーク性能評価から、アプリケーションの性能の改善をもたらすエンドポイント・グループを決定し、決定されたエンドポイント・グループのうちのエンドポイントを利用するようアプリケーションの展開を組織し得る。例えば、アプリケーションがネットワーク１０２内のエンドポイント１１７およびエンドポイント１１３を利用しており、分散型アプリケーションのＱｏＳが最適でない場合には、アプリケーション・コンポーネントは、ネットワーク評価によれば、分散型アプリケーションのためのＱｏＳをもたらすエンドポイント１１７およびエンドポイント１１０などの他のエンドポイントを利用するよう再分散または再展開され得る。評価に基づいて、ユーザは、エンドポイント・グループのうちの１つの内部のエンドポイントを、グループ内の該エンドポイントが、トポロジ的に接近しており、最適化されたエンド・ツー・エンド性能をもたらす可能性が高いがゆえに、アプリケーションを展開するために選択し得る。ネットワーク性能評価はまた、ネットワークのバイセクション・バンド幅を推定することなど、他のネットワーク特性を決定するためにも用いられ得る。各グループからの代表エンドポイントは、エンドポイント・グループ内の経路の探測を回避することによって、効率的な性能監視のために用いられ得る。
【００３１】
４１５のモジュールはまた、エンドポイント・モジュール４１２を含み得る。ネットワーク・インタラクション・モジュール４１１と協力したエージェント・コンポーネントとしてのエンドポイント・モジュール４１２の役割に加えて、エンドポイント・モジュール４１２はまた、エンドポイント相関データ４２１内に記憶された収集された初期測定値に基づいて、複数のエンドポイントを複数のエンドポイント・グループにクラスタリングし得る。エンドポイント・グループはネットワーク評価４２２として記憶され得る。一例では、エンドポイント・モジュール４１２は、エンドポイント相関データ４２１として記憶されたエンドポイント相関表２００から、相関行列内のデータの類似した行を有する複数のエンドポイントを決定し得る。類似度のための閾値が、エンドポイントをグループにクラスタリングするために規定され得る。例えば、エンドポイント１１０および１１１はエンドポイント・グループ１５０にクラスタリングされる。
【００３２】
一実施形態では、エンドポイント・モジュール４１２はまた、複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定し得る。一実施形態では、エンドポイント・モジュール４１２は、各々の複数のエンドポイント・グループから、プローブ・トラフィックを投入するために用いられるための代表エンドポイントを選択し、代表エンドポイントを複数のエンドポイント・グループからの各々の他の代表エンドポイントとペアにし得る。例えば、エンドポイント・モジュール４１２は、図３に示されるように、エンドポイント１１６をエンドポイント１１４、１１２、および１１０とペアにし得る。エンドポイント・モジュール４１２はこのプロセスを各エンドポイント・グループ１５０、１５２、および１５４のために繰り返し得る。例によっては、エンドポイント・グループ内のエンドポイントの選択はランダムであり得る。別の例では、エンドポイント・ペアの選択はエンドポイント間のラウンド・ロビン選択の形で進行し得る。一例では、１つまたは複数のエンドポイントが識別され、測定された後に、他のエンドポイントが後続の測定において代わりに用いられ、その間に測定され得る。所与のネットワーク性能試験がエンドポイント・グループ間の１つのフローのみを必要とする場合には、１つのグループあたり１つのエンドポイントを用いることができるであろう。同様に、２つのフローがエンドポイント・グループ間で必要とされる場合には、２つのエンドポイントを用いることができるであろう。
【００３３】
モジュール４１５はまた、評価モジュール４１３を含み得る。一例では、評価モジュールは、複数のエンドポイント・グループ・ペア内のエンドポイント・グループ内のエンドポイント間のトラフィック・フローを監視することに基づいて、ネットワーク性能評価を生成し得る。このネットワーク性能評価はネットワークの性能に関する情報をユーザに提供し、トラフィックがネットワークを横断する際のネットワーク・トラフィックの予想性能を提供することになる。
【００３４】
一実施形態では、評価モジュール４１３はまた、生成されたネットワーク性能評価が古くなった、または特定のエンドポイント・グループ化が古くなったと決定し、ネットワーク性能評価を再処理する、または更新する、あるいはその両方を行い得る。例えば、評価モジュール４１３は以前のネットワーク評価から期間が経過したと決定し、ネットワーク性能評価を再処理し得る。別の例では、エンドポイントのグループ化が、異なる、または類似しないネットワーク性能を呈し始めた場合に、ネットワーク性能評価は古くなったと考えられ得る。
【００３５】
コンピュータ４０１はまた、キーボード、ポインティング・デバイス、ディスプレイ等などの１つまたは複数の外部デバイス、およびユーザがコンピュータ４０１と対話するなどすることを可能にする１つまたは複数のデバイス、またはコンピュータ４０１が１つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（例えば、ネットワーク・カード、モデム等）、あるいはその組み合わせと通信し得る。このような通信はＩ／Ｏインターフェースを介して行うことができる。加えて、コンピュータ４０１は、ネットワーク・インターフェース４３０を介して、ローカル・エリア・ネットワーク（local area network、ＬＡＮ）、一般のワイド・エリア・ネットワーク（widearea network、ＷＡＮ）、または公衆ネットワーク（例えば、インターネット）、あるいはその組み合わせなどの１つまたは複数のネットワークと通信し得る。図示のように、ネットワーク・インターフェース４３０はバス４５０を介してコンピュータ４０１の他のコンポーネントと通信する。図示されていないが、他のハードウェアまたはソフトウェア・コンポーネントあるいはこの両方をコンピュータ４０１と併せて用いることができるであろうことを理解されたい。例としては、限定するものではないが、クラウド・コンピューティング・システム、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ記憶システム等が挙げられる。
【００３６】
図５は、一実施形態に係る、ネットワーク性能評価を生成する方法を示す。方法５００はブロック５０２において開始し、コンピュータ４０１などのコンピュータが、複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集する。複数のエンドポイント・ペア内のエンドポイントはネットワーク内の複数のエンドポイントから選択される。方法５００はブロック５０４において継続し、コンピュータ４０１などのコンピュータが、収集された初期測定値に基づいて、複数のエンドポイントを複数のエンドポイント・グループにクラスタリングする。ブロック５０６において、方法５００は継続し、コンピュータ４０１などのコンピュータが、複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定する。方法５００はブロック５０８において継続し、エンドポイント・グループが最後の反復から変化したかどうか、および既定ステップ数に達しなかったかどうかを判断する。はいの場合には、本方法はブロック５０２へ戻る。さもなければ、本方法はブロック５１０へ継続し、コンピュータ４０１などのコンピュータが、複数のエンドポイント・グループ・ペア内のエンドポイント・グループにわたるエンドポイント間に投入されたプローブ・トラフィックに関係する性能メトリックに基づいて、ネットワーク性能評価を生成する。
【００３７】
図６は、一実施形態に係る、ネットワーク性能評価を生成するさらなる方法を示す。方法６００はブロック６０２において開始し、コンピュータ４０１などのコンピュータがプローブ・トラフィックを各エンドポイント・ペアの２つのエンドポイント間において送信する。例によっては、プローブ・トラフィックはリング・トラフィック・パターンで送信され、複数の測定値を取り込むためにいくつかの反復において送信され得る。プローブ・トラフィックはまた、複数のエンドポイントにおけるネットワーク内のプローブ・トラフィックの複数の並行した投入を含み得る。次に、方法６００はブロック６０４および６０６において継続し、コンピュータ４０１などのコンピュータがプローブ・トラフィックのスループットを測定し、各エンドポイント・ペアのためのスループットをエンドポイント相関表内に記憶する。例によっては、複数の測定値が取得される場合には、収集された測定値が総括され、総括がエンドポイント表内に記憶される。一実施形態では、方法６００はブロック６０８において継続し、コンピュータ４０１などのコンピュータが、エンドポイント相関表から、複数のエンドポイント・ペアのための複数の類似した測定されたスループット／スループット値を決定する。１つまたは複数のスループットの間の差が類似度閾値以内である場合に、１つまたは複数のスループットは類似している。次に、方法６００はブロック６１０において継続し、コンピュータ４０１などのコンピュータが、１つまたは複数の類似したスループットに基づいて、１つまたは複数のエンドポイントを１つまたは複数のエンドポイント・グループにグループ化する。
【００３８】
図７は、一実施形態に係る、ネットワーク性能評価を生成するさらなる方法を示す。方法７００はブロック７０２において開始し、コンピュータ４０１などのコンピュータが各々の複数のエンドポイント・グループから代表エンドポイントを選択する。次に、方法７００はブロック７０４において継続し、コンピュータ４０１などのコンピュータが代表エンドポイントを複数のエンドポイント・グループからの各々の他の代表エンドポイントとペアにする。一実施形態では、方法７００はブロック７０６および７０８において継続し、コンピュータ４０１などのコンピュータがプローブ・トラフィックを各エンドポイント・グループ・ペアの２つのエンドポイント間において送信し、各エンドポイント・グループの各測定エンドポイント間の１つまたは複数のトラフィック・パターンまたは性能評価パラメータを測定する。例によっては、プローブ・トラフィックはリング・トラフィック・パターンで送信され、複数の測定値を取り込むためにいくつかの反復において送信され得る。プローブ・トラフィックはまた、複数のエンドポイントにおけるネットワーク内のプローブ・トラフィックの複数の並行した投入を含み得る。トラフィック・パターンまたは性能評価パラメータは、ネットワーク・スループット、パケット遅延、パケット損失、またはネットワーク・ジッタ、あるいはその組み合わせを含み得る。一例では、プローブ・トラフィックは作業負荷パッケージを含み得る。
【００３９】
図８は、一実施形態に係る、ネットワーク性能評価を利用する方法を示す。方法８００はブロック８０２において開始し、コンピュータ４０１などのコンピュータが、ネットワーク上で実行するアプリケーションの性能パラメータを測定する。一実施形態では、アプリケーションの測定された性能パラメータが性能パラメータ閾値を下回る場合には、次に、方法８００はブロック８０４において継続し、コンピュータ４０１などのコンピュータが、ネットワーク性能評価から、アプリケーションの性能の改善をもたらすエンドポイント・グループを決定する。ブロック８０６において、方法８００は継続し、コンピュータ４０１などのコンピュータが、決定されたエンドポイント・グループのエンドポイントを利用するようアプリケーションの展開を組織する。
【００４０】
図９は、一実施形態に係る、ネットワーク性能評価を生成するさらなる方法を示す。方法９００はブロック９０２において開始し、コンピュータ４０１などのコンピュータが、生成されたネットワーク性能評価が古くなったと決定する。例えば、ネットワーク性能評価におけるエンドポイント・グループ化が古くなり得る。ブロック９０４において、方法９００は継続し、コンピュータ４０１などのコンピュータが、ネットワーク性能評価を再処理する、または更新する、あるいはその両方を行う。
【００４１】
本発明の様々な実施形態の説明が例示の目的のために提示されたが、網羅的であること、または開示された実施形態に限定されることを意図されてはいない。当業者には、上述の実施形態の範囲および思想から逸脱することなく、多くの変更および変形が明らかであろう。本明細書において使用される用語は、実施形態の原理、実際の適用、または市場において見いだされる技術に対する技術的改善を最もうまく説明するため、あるいは他の当業者が、本明細書において開示される実施形態を理解することを可能にするために選定された。
【００４２】
以下において、本開示において提示された実施形態が参照される。しかし、本開示の範囲は、説明されている特定の実施形態に限定されないことを理解されたい。代わりに、以下の特徴および要素の任意の組み合わせが、異なる実施形態に関連するか否かにかかわりなく、企図された実施形態を実装および実施するために企図されている。さらに、本明細書において開示される実施形態は、他の可能な解決策に勝る利点、または従来技術に勝る利点を達成し得るが、特定の利点が所与の実施形態によって達成されるか否かは本開示の範囲の限定ではない。それゆえ、以下の態様、特徴、実施形態および利点は、請求項において明示的に記述されている場合を除き、単なる例示にすぎず、添付の請求項の要素または限定と考えられない。同様に、「本発明」への言及は、本明細書において開示されているいかなる発明の主題の一般化と解釈されるものでもなく、請求項において明示的に記述されている場合を除き、添付の請求項の要素または限定であると考えられるものではない。
【００４３】
本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、あるいはソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態を取り得、これらは全て、本明細書において「回路」、「モジュール」、または「システム」と一般的に称され得る。
【００４４】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または媒体群）を含み得る。
【００４５】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、限定するものではないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上述のものの任意の好適な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下のもの：ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（random access memory、ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（static random access memory、ＳＲＡＭ）、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ（portable compact disc read-only memory、ＣＤ−ＲＯＭ）、デジタルバーサタイルディスク（digital versatile disk、ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、穿孔カード、または命令が記録された溝内の隆起構造などの、機械的に符号化されたデバイス、ならびに上述のものの任意の好適な組み合わせを含む。コンピュータ可読記憶媒体は、本明細書で使用するとき、電波または他の自由伝搬する電磁波、導波路または他の伝送媒体を通って伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、あるいは電線を通して伝送される電気信号などの、一過性信号自体であると解釈されるべきでない。
【００４６】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各々のコンピューティング／処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組み合わせを経由して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを含み得る。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースがネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体における記憶のために転送する。
【００４７】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（instruction-set-architecture、ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはＳｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋、もしくは同様のものなどの、オブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの、従来の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれた、ソース・コードまたはオブジェクト・コードのいずれかであり得る。コンピュータ可読プログラム命令は完全にユーザのコンピュータ上で実行するか、一部ユーザのコンピュータ上で実行するか、独立型ソフトウェア・パッケージとして実行するか、一部ユーザのコンピュータ上で、且つ一部リモート・コンピュータ上で実行するか、または完全にリモート・コンピュータもしくはサーバ上で実行し得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを通じてユーザのコンピュータに接続され得るか、あるいは外部コンピュータへの接続が（例えば、インターネット・サービス・プロバイダを利用してインターネットを通じて）行われ得る。実施形態によっては、例えば、プログラマブルロジック回路機構、フィールド・プログラマブル・ゲート・アレイ（field-programmable gate array、ＦＰＧＡ）、またはプログラマブルロジックアレイ（programmable logic array、ＰＬＡ）を含む電子回路機構が、本発明の態様を遂行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機構を個別化することによって、コンピュータ可読プログラム命令を実行し得る。
【００４８】
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明されている。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施され得ることが理解されるであろう。
【００４９】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群において指定された機能／行為を実施するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または機械を作り出すための他のプログラム可能データ処理装置のプロセッサに提供され得る。これらのコンピュータ可読プログラム命令はまた、内部に記憶された命令を有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群内で指定された機能／行為の態様を実施する命令を含む製造品を含むように、コンピュータ、プログラム可能データ処理装置、または他のデバイスあるいはその組み合わせを特定の仕方で機能するように仕向けることができるコンピュータ可読記憶媒体内に記憶され得る。
【００５０】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群において指定された機能／行為を実施するように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードされ、一連の動作ステップを、コンピュータ、他のプログラム可能装置、または他のデバイス上で遂行させ、コンピュータ実施プロセスを作り出し得る。
【００５１】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に係るシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図における各ブロックは、指定されたロジック機能を実施するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表し得る。いくつかの代替的実装形態では、ブロック内に記された機能は、図面に記された順序に従わずに生じてもよい。例えば、連続して示された２つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、時として、含まれる機能に依存して、逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を遂行するか、あるいは専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用ハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【００５２】
本発明の実施形態はクラウド・コンピューティング・インフラストラクチャを通じてエンド・ユーザに提供され得る。クラウド・コンピューティングは、概して、ネットワークを通じたサービスとしての拡張可能なコンピューティング・リソースの提供を指す。より正式には、クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダ・インタラクションを用いて迅速に提供および解放することができる構成可能なコンピューティング・リソースの共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にする、コンピューティング・リソースと、その基礎をなす技術アーキテクチャ（例えば、サーバ、ストレージ、ネットワーク）との間の抽象化を提供するコンピューティング能力として定義され得る。それゆえ、クラウド・コンピューティングは、ユーザが、コンピューティング・リソースを提供するために用いられる、基礎をなす物理システム（またはそれらのシステムの場所）を意識することなく、「クラウド」内の仮想コンピューティング・リソース（例えば、ストレージ、データ、アプリケーション、およびさらに、完全仮想化コンピューティング・システム）にアクセスすることを可能にする。
【００５３】
通例、クラウド・コンピューティング・リソースはペイ・パー・ユース方式でユーザに提供される。この場合、ユーザは、実際に使用されたコンピューティング・リソース（例えば、ユーザによって消費された記憶区域量、またはユーザによってインスタンス化された仮想化システムの数）に対してのみ課金される。ユーザは、クラウド内に常駐するリソースうちの任意のものに、随時、およびインターネットを通じて任意の場所からアクセスすることができる。本発明の文脈では、ユーザは、クラウド内で利用可能なモジュール４１５などのアプリケーションまたは関連データにアクセスし得る。例えば、モジュールはクラウド内のコンピューティング・システム上で実行し、本明細書において説明されるネットワーク評価のための機能を遂行することができるであろう。このような場合には、モジュール４１５はネットワーク性能評価を生成し、ネットワーク評価および関連測定値をクラウド内の記憶場所において記憶することができるであろう。そうすることは、ユーザが、クラウドに接続されたネットワーク（例えば、インターネット）につながれた任意のコンピューティング・システムからこの情報にアクセスすることを可能にする。
【００５４】
上述のことは本発明の実施形態を対象にしているが、本発明の他の実施形態およびさらなる実施形態をその基本範囲から逸脱することなく考案することが可能であり、その範囲は添付の請求項によって決定される。
【図１】
2021531684.tif 000003
【図２】
2021531684.tif 000004
【図３】
2021531684.tif 000005
【図４】
2021531684.tif 000006
【図５】
2021531684.tif 000007
【図６】
2021531684.tif 000008
【図７】
2021531684.tif 000009
【図８】
2021531684.tif 000010
【図９】
2021531684.tif 000011
【手続補正書】
【提出日】令和3年1月13日(2021.1.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータの情報処理によりネットワーク性能評価を行う方法であって、
複数のエンドポイント・ペア内のエンドポイント・ペアのエンドポイント間におけるプローブ・トラフィックの送信に関連する初期測定値を収集することであって、前記複数のエンドポイント・ペア内の前記エンドポイントがネットワーク内の複数のエンドポイントから選択される、前記収集することと、
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることと、
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することと、
前記複数のエンドポイント・グループ・ペア内の前記エンドポイント・グループにわたるエンドポイント間のトラフィックに関係する性能メトリックを測定すること、および前記初期測定値に基づいて、ネットワーク性能評価を生成することと、
を含む方法。
【請求項２】
プローブ・トラフィックの前記送信に関連する前記初期測定値を収集することが、
プローブ・トラフィックを各エンドポイント・ペアの２つのエンドポイント間において送信すること、
前記プローブ・トラフィックのスループット値を測定すること、および
各エンドポイント・ペアのための前記スループット値をエンドポイント相関表内に記憶すること、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記収集された初期測定値に基づいて、前記複数のエンドポイントを複数のエンドポイント・グループにクラスタリングすることが、
前記エンドポイント相関表から、複数のエンドポイント・ペアのための複数の類似した測定スループット値を決定することであって、前記１つまたは複数のスループット値の間の差が類似度閾値以内である場合に、前記複数のエンドポイント・ペアの前記スループット値が類似している、前記決定すること、および
前記１つまたは複数の類似したスループットに基づいて、前記１つまたは複数のエンドポイントを１つまたは複数のエンドポイント・グループにグループ化すること、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記複数のエンドポイント・グループに基づいて、複数のエンドポイント・グループ・ペアを決定することが、
各々の複数のエンドポイント・グループから代表エンドポイントを選択すること、および
前記代表エンドポイントを前記複数のエンドポイント・グループからの各々の他の代表エンドポイントとペアにすること、
をさらに含む、請求項１に記載の方法。
【請求項５】
ネットワーク性能評価を生成することが、
プローブ・トラフィックを各エンドポイント・グループ・ペアの２つのエンドポイント間において送信すること、および
各エンドポイント・グループの各測定エンドポイント間の１つまたは複数の性能評価パラメータを測定すること、
をさらに含む、請求項４に記載の方法。
【請求項６】
性能評価パラメータが、
ネットワーク・スループット、
パケット遅延、
パケット損失、および
ネットワーク・ジッタ、
のうちの１つまたは複数を含む、請求項５に記載の方法。
【請求項７】
前記プローブ・トラフィックが作業負荷パッケージを含む、請求項５に記載の方法。
【請求項８】
前記ネットワーク上で実行するアプリケーションの性能パラメータを測定することと、
前記アプリケーションの前記測定された性能パラメータが性能パラメータ閾値を下回る場合には、前記ネットワーク性能評価から、前記アプリケーションの性能の改善をもたらすエンドポイント・グループを決定することと、
前記決定されたエンドポイント・グループのエンドポイントを利用するよう前記アプリケーションの展開を組織することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記生成されたネットワーク性能評価が古くなったと決定することと、
前記ネットワーク性能評価を再処理することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
請求項１〜９の何れか１つに記載の方法をコンピュータ・ハードウェアによる手段として構成した、システム。
【請求項１１】
請求項１〜９の何れか１つに記載の方法をコンピュータ・プログラムに実行させる、コンピュータ・プログラム。
【請求項１２】
請求項１１に記載の前記コンピュータ・プログラムをコンピュータ可読記憶媒体に記録した、記憶媒体。
【国際調査報告】
2021531684.tif 000012
2021531684.tif 000013