(57)【特許請求の範囲】
【請求項１】
マトリクスの形で表され得る物理リンクへのフローからの多数対多数のマッピングを生成する生成処理を実行して（３０４）ネットワーク内の各データフローの物理リンクを横切るエンドツーエンドパスを決定することと、
前記決定されたエンドツーエンドパスに基づいて前記ネットワーク内の各物理リンクのフローごとの稼働率を推定すること（３１４）と、
前記ネットワークにおいて前記推定されたフローごとの稼働率に基づいて管理アクションを実行すること（３１６）と、
前記決定されたエンドツーエンドパスに基づいて、予期される、リンクのカウント数であるリンクカウントを計算することと、
前記予期されるリンクカウントを測定されたリンクカウントと比較して誤差測定値を生成することと、
前記誤差測定値に基づいて前記決定されたエンドツーエンドパスを調整することと、
を有する、ネットワーク管理のための方法。
【請求項２】
前記生成処理を実行することが、転送テーブル情報に基づいてエンドツーエンドパスの一部を決定することと、１つまたは複数の推論規則に基づいて前記エンドツーエンドパスの残りを決定することとを有する、請求項１に記載の方法。
【請求項３】
前記予期されるリンクカウントを計算することが、
前記エンドツーエンドパスをパスマトリクスとして表すことと、
前記測定されたリンクカウントを測定されたリンクカウントベクトルとして表すことと、
前記パスマトリクスおよび前記測定されたリンクカウントベクトルに基づいて、推論される、フローの稼働率であるフロー性能ベクトルを決定することと、
前記パスマトリクスおよび前記推論されるフロー性能ベクトルに基づいて、予期されるリンクカウントベクトルを決定することと、
を有する、請求項１に記載の方法。
【請求項４】
１つまたは複数の規則に従って前記フローをフィルタ処理することによっていくつかのフローを減らすことをさらに有する、請求項１に記載の方法。
【請求項５】
前記フローをフロー群にクラスタリングすることをさらに有する、請求項１に記載の方法。
【請求項６】
前記ネットワーク管理機能を実行することが、フローのルート変更、前記ネットワークのトポロジの変更、および前記ネットワーク上のデバイスの設定の変更のうちの１つまたは複数を有する、請求項１に記載の方法。
【請求項７】
転送テーブル情報に基づいてエンドツーエンドパスの一部を決定することおよび１つまたは複数の推論規則に基づいて前記エンドツーエンドパスの残りを決定することとによって、マトリクスの形で表され得る物理リンクへのフローからの多数対多数のマッピングを生成する生成処理を実行（３０４）してネットワーク内の各データフローの物理リンクを横切るエンドツーエンドパスを決定することと、
１つまたは複数の規則に従って前記フローをフィルタ処理すること（３０６）および前記フィルタ処理されたフローをフロー群にクラスタリングすること（３０８）によって、いくつかのフローを減らすことと、
前記決定されたエンドツーエンドパスに基づいて前記ネットワーク内の各物理リンクのフローごとの稼働率を推定すること（３１４）と、
前記ネットワークにおいて前記推定されたフローごとの稼働率に基づいて管理アクションを実行すること（３１６）と、
前記決定されたエンドツーエンドパスに基づいて、予期される、リンクのカウント数であるリンクカウントを計算することと、
前記予期されるリンクカウントを測定されたリンクカウントと比較して誤差測定値を生成することと、
前記誤差測定値に基づいて前記決定されたエンドツーエンドパスを調整することと、
を有する、ネットワーク管理のための方法。
【請求項８】
前記予期されるリンクカウントを計算することが、
前記エンドツーエンドパスをパスマトリクスとして表すことと、
前記測定されたリンクカウントを測定されたリンクカウントベクトルとして表すことと、
前記パスマトリクスおよび前記測定されたリンクカウントベクトルに基づいて、推論される、フローの稼働率であるフロー性能ベクトルを決定することと、
前記パスマトリクスおよび前記推論されるフロー性能ベクトルに基づいて、予期されるリンクカウントベクトルを決定することと、
を有する、請求項７に記載の方法。
【請求項９】
前記ネットワーク管理機能を実行することが、フローのルート変更、前記ネットワークのトポロジの変更、および前記ネットワーク上のデバイスの設定の変更のうちの１つまたは複数を有する、請求項７に記載の方法。
【請求項１０】
ネットワーク内の各データフローの物理リンクを横切るエンドツーエンドパスを決定するように構成されているプロセッサを備えているモジュール（４０８）と、
前記決定されたエンドツーエンドパスに基づいて前記ネットワーク内の各物理リンクのフローごとの稼働率を推定するように構成されているフロー稼働率推定モジュール（４１２）と、
前記推定されたフローごとの稼働率に基づいて前記ネットワークにおいて管理アクションを実行するように構成されているネットワーク管理モジュール（４１４）と、
前記決定されたエンドツーエンドパスに基づいて予期される、リンクのカウント数であるリンクカウントを計算するように、前記予期されるリンクカウントを測定されたリンクカウントと比較して誤差測定値を生成するように、および前記誤差測定値に基づいて前記決定されたエンドツーエンドパスを調整するように構成されているデータ検証モジュールと、
を備えている、ネットワーク管理のためのシステム。
【請求項１１】
前記モジュールがさらに、転送テーブル情報に基づいてエンドツーエンドパスの一部を決定するようにおよび１つまたは複数の推論規則に基づいて前記エンドツーエンドパスの残りを決定するように構成されている、請求項１０に記載のシステム。
【請求項１２】
前記データ検証モジュールが、前記エンドツーエンドパスをパスマトリクスとして表すように、前記測定されたリンクカウントを測定されたリンクカウントベクトルとして表すように、前記パスマトリクスおよび前記測定されたリンクカウントベクトルに基づいて推論される、フローの稼働率であるフロー性能ベクトルを決定するように、および前記パスマトリクスおよび前記推論されるフロー性能ベクトルに基づいて予期されるリンクカウントベクトルを決定するようにさらに構成されている、請求項１０に記載のシステム。
【請求項１３】
１つまたは複数の規則に従ってフローをフィルタ処理することによっていくつかのフローを減らすように構成されているフィルタ処理モジュールをさらに備えている、請求項１０に記載のシステム。
【請求項１４】
前記フローをフロー群にクラスタリングするように構成されているクラスタリングモジュールをさらに備えている、請求項１０に記載のシステム。
【請求項１５】
前記ネットワーク管理機能が、フローのルート変更、前記ネットワークのトポロジの変更、および前記ネットワーク上のデバイスの設定の変更のうちの１つまたは複数を備えている、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願情報
本出願は、その全部が参照によって本明細書に組み込まれる、２０１５年１０月２７日に出願した米国仮特許出願第６２／２４６，８６７号の優先権を主張する。
【背景技術】
【０００２】
技術分野
本発明は、データセンタ管理に関し、より詳細には、マルチテナント型データセンタにおける仮想フローに沿ったトラフィックの推定に関する。
【０００３】
関連技術の説明
最新のデータセンタは、たとえば複数のワークロードが別個のハードウェアにあるかのように複数のワークロードをホストするための仮想マシンを使用する、単一デバイスで複数のクライアントに供することができる。加えて、ソフトウェア定義のネットワーキングは、ネットワーク資源を動的に再編する能力をネットワーク管理者に提供し、臨機応変に仮想ローカルエリアネットワーク（ＶＬＡＮ：ｖｉｒｔｕａｌ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）および仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ：ｖｉｒｔｕａｌ  ｅｘｔｅｎｓｉｂｌｅ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）を作成および再編する。
【０００４】
しかしながら、複数の異なるワークフローが、単一の共用物理リンクに沿って送信され得るとき、フローレベルの情報を取得することは難しくなることがある。単一の物理リンクを有する単一デバイスが複数の仮想マシンおよび複数の仮想リンクをホストし得るマルチテナント型データセンタにおいて、その物理リンクの稼働率を複数の仮想リンクの使用に細分することは難しい。
【０００５】
フローレベルの情報を見つけるための既存の試みは、３つの点に焦点を合わせる：データセンタにおける分散されたネットワークデバイス（たとえば、スイッチおよびミドルボックス）からの性能カウンタの収集の改善、スケーラブルなデータ収集システム、および仮想化プラットフォームの装備。たとえば、いくつかの解決法は、ハイパーバイザレベルで付加的器具類を使用してパケットレベルの検査を実行する。そのような検査は、リンクのフローに関する情報の決定において正確性をもたらすが、一般に、ネットワーク監視のコストおよび複雑性の著しい増加を伴う。
【発明の概要】
【０００６】
ネットワーク管理のための方法は、パス回帰を実行してネットワーク内の各データフローの物理リンクを横切るエンドツーエンドパスを決定することを含む。ネットワーク内の各物理リンクのフローごとの稼働率は、決定されたエンドツーエンドパスに基づいて推定される。管理アクションは、推定されたフローごとの稼働率に基づいてネットワークにおいて実行される。
【０００７】
ネットワーク管理のための方法は、転送テーブル情報に基づいてエンドツーエンドパスの一部を決定することおよび１つまたは複数の推論規則に基づいてエンドツーエンドパスの残りを決定することによって、パス回帰を実行してネットワーク内の各データフローの物理リンクを横切るエンドツーエンドパスを決定することを含む。いくつかのフローは、１つまたは複数の規則に従ってフローをフィルタ処理することおよびフィルタ処理されたフローをフロー群にクラスタリングすることによって、減らされる。ネットワーク内の各物理リンクのフローごとの稼働率が、決定されたエンドツーエンドパスに基づいて推定される。管理アクションが、推定されたフローごとの稼働率に基づいてネットワークにおいて実行される。
【０００８】
ネットワーク管理のためのシステムは、ネットワーク内の各データフローの物理リンクを横切るエンドツーエンドパスを決定するように構成されているプロセッサを有するパス回帰モジュールを含む。フロー稼働率推定モジュールは、決定されたエンドツーエンドパスに基づいてネットワーク内の各物理リンクのフローごとの稼働率を推定するように構成される。ネットワーク管理モジュールは、推定されたフローごとの稼働率に基づいてネットワークにおいて管理アクションを実行するように構成される。
【０００９】
これらのおよび他の特徴および利点は、添付の図面に関連して読まれることになる、それらの例示的実施態様の以下の詳細な説明から明らかとなろう。
【００１０】
本開示は、以下の図面を参照する好ましい実施態様の以下の説明において詳細を提供することになる：
【図面の簡単な説明】
【００１１】
【図１】本原理によるマルチテナント型データセンタネットワークのブロック図である。
【図２】本原理によるフロー稼働率を推定するための方法／システムのブロック／フロー図である。
【図３】本原理によるフロー稼働率を推定するための方法のブロック／フロー図である。
【図４】本原理によるフロー稼働率を推定するためのシステムのブロック図である。
【図５】本原理による処理システムのブロック図である。
【発明を実施するための形態】
【００１２】
本原理の実施態様は、既存の性能カウンタおよび容易に入手可能なネットワーク転送テーブル情報に基づいてマルチテナント型データセンタにおけるフローレベルのトラフィック分析を実現する。本実施態様は、転送テーブル情報が失効したときにパス回帰を使用してフローマップを作り直す。フローのフィルタ処理およびクラスタリングは、どのフローがどのリンクでアクティブであるかのマトリクス表示を行い、動作中の変数の数を減らすために使用される。再構築されたフロー情報は、次いで、フロートラフィック出力における誤差の程度を決定するために実際のリンク性能測定値と比較され得る、予期されるリンク性能測定値のセットを生成するために使用される。
【００１３】
ここで図１を参照すると、データセンタネットワーク１００の一般化された図が示されている。複数の仮想マシン（ＶＭ）１０２は、単一の物理サーバ１０４に実装されてもよい。サーバ１０４は、他のサーバ１０４、他のスイッチ１０６、およびルータ１０８に接続されてもよいスイッチ１０６へのリンクを有する。これは、物理リンクを有する物理ネットワークを表すが、通信は、仮想ネットワーク（たとえば、仮想ローカルエリアネットワーク（ＶＬＡＮ）および仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ））を形成する物理ネットワーク層の上に論理層を付加的に有してもよい。
【００１４】
データセンタネットワーク１００内の単一のＶＭ１０２の観点からすると、他のＶＭ１０２は、ローカルに見えてもよく、またはＶＬＡＮまたはＶＸＬＡＮゲートウェイによって媒介された（ネットワーク内の別個のサーバ１０２として実装されてもよい、そして２つのＶＭ１０２の間の最も直接の物理ルート指定パス内に位置する必要はない）通信を有する、別個の仮想ネットワークセグメント内にあってもよい。そのようなものとして、所与のフローが物理ネットワーク１００を介して取るパスは、その目的地に到達する前に複数の場所を訪れる所与のＶＭ１０２からのトラフィックを有し、非自明になり得る。
【００１５】
これらの配列は、多数のクライアントが単一のサーバ１０４によって支えられるクラウドコンピューティング環境に特に有用である。前述の仮想化は、ＶＭ１０２が実際のネットワーク構造の認識なしに単純な、提供の容易な形で動作することを可能にする。しかしながら、複数のフローが、単一物理リンクに存在するとき（そして実際に、それらのフローが、時に、所与のリンクで逆戻りするとき）、たとえば、どのフローがローカルネットワークホットスポットの原因であるかを、識別することは困難である。
【００１６】
ネットワーク１００内のデバイスは、該ネットワークのトラフィックに関するある種の情報を保持し得る。たとえば、シンプルネットワーク管理プロトコル（ＳＮＭＰ：ｓｉｍｐｌｅ  ｎｅｔｗｏｒｋ  ｍａｎａｇｅｍｅｎｔ  ｐｒｏｔｏｃｏｌ）が、たとえば、転送テーブル、物理リンク、ＶＬＡＮおよびＶＸＬＡＮ構成の性能カウンタなどを追跡するために、スイッチ１０６およびルータ１０８において実装されてもよい。加えてエッジデバイスは、ＶＭの場所（すなわち、所与のＶＭ１０２が存在する物理サーバ１０４）、クライアントへのＶＬＡＮおよびＶＸＬＡＮ割り当てなどの情報を保持し得る。この情報は、これらの点を決定するために付加的器具類の導入が必要とされない標準的技法として収集されることに留意されたい。
【００１７】
しかしながら、情報のうちのいくらかは、信頼できないことがある。たとえば、転送テーブルの場合、テーブルは、エントリの失効に悩まされることがある。結果として、この情報は、所与のソース／目的地ペアの部分的可視性のみを与える。
【００１８】
ここで図２を参照すると、フローレベルのトラフィック分析のためのシステム２００が示されている。ブロック２０２は、ネットワーク１００内でデータを収集する。前述のように、かなりの量のデータが、データセンタネットワーク１００内の標準動作として追跡され得、この情報は、ブロック２０２において入手可能にされ得る。このデータ収集は、器具使用ゼロまたはデータ構造内の既存のデータ収集機構への任意の他の種類の変更とともに実行され得ることに留意されたい。ログフォーマットは、ある仮想化プラットフォームと次の仮想化プラットフォームでは変化し得るが、データの可用性は、一般に、存在する。
【００１９】
前述のように、転送テーブルからのデータのうちのいくらかは、不完全であることがある。ブロック２０４は、入手可能なデータを使用してパス回帰を実行してＶＭペアのフローのエンドツーエンドパスを決定する。ドメイン知識は、粒度の粗いパスの構築を助けるために使用され得る。たとえば、エンドツーエンドパスは、ホストサーバ１０４、ＶＸＬＡＮゲートウェイ、およびスイッチ１０６などの中間ホップを含むことは知られ得る。ブロック２０２によって収集された転送テーブルは、完全な中間ホップ  −  たとえば、ＶＸＬＡＮが、特に、通信に供する  −  を決定するために使用され、続いて、知られている中間ホップの間のホップを埋める。フローパス内のすべてのホップが埋められた後、所与のソースおよび目的地ペアの完全なエンドツーエンドパスが、計算される。したがって、パス回帰ブロック２０４は、マトリクスの形で表され得る物理リンク（たとえば、スイッチポート、サービスポート、ＶＭポートなど）へのフローからの多数対多数のマッピングを生成する。
【００２０】
転送テーブルの失効の問題に対処するために、規則が、転送ビヘイビアを推論するために使用され得る。１つのそのような規則は、同じＶＬＡＮ内のＭＡＣアドレスは同じパスを共用する可能性が高いことに特に言及する。加えて、転送可能性は、ネットワークグラフプロパティに基づいて狭められ、転送のための検索空間は、ネットワーク構成に基づいて減らされる。もう１つの規則は、特定のＭＡＣアドレスが多数の転送テーブルスナップショットにおける出現に失敗した場合、それは、そのＭＡＣアドレスに由来するフローは無視できることを暗示するということである。
【００２１】
完全な転送テーブル情報へのアクセスの特定の難しさに加えて、データ収集ブロック２０２によって獲得された性能カウンタは、ノイズ、時間不整合、競合などを有して導入されることがある。これらは、フロートラフィック分析における不正確性をもたらすが、以下に記載されるように、誤差分析に基づくフィードバックが、その不正確性を補うために生成される。
【００２２】
スイッチポート、サーバポート、ミドルボックスポートなどを含む、各物理リンクについて、リンクによって運ばれるフローの総稼働率は、そのインターフェースの性能カウンタを表すための方程式として表すことができる。この表現は、いくらかの転送テーブル情報が入手不可能である場合に、いくらかの不正確性を含むと思われることを認識されたい。フローは、以下の表１において示されるようなマトリクスとして表すことができる：
【００２３】
【表１】
0006545836.tif 000002
【００２４】
この表現では、各行は、方程式と考えてもよく、各列の値はその方程式の変数の値を表す。別の方法で行を見ると、各行は、どのフローがそれぞれのリンクで進むかを識別する。それと同時に、列は、所与のフローが横切るリンクを表す。しかしながら、変数の数は方程式の数を小さく見せるので、このシステムは、この形で解くのは難しいことになる。そのようなものとして、ブロック２０６は、フィルタ処理およびクラスタリングを実行して、アクティブになりそうにないフローを削除することによって、変数の数を減らす。使用され得る例示的フィルタは、以下を含む：
【００２５】
１．リンクカウンタベースのフィルタ  −  リンクのトラフィックカウンタが、閾値未満である場合、該リンクを横切るすべての仮想リンクは、非アクティブになると予期、
【００２６】
２．時間的ドメインベースのフィルタ  −  フローの履歴が、ある種の非アクティブパターンに従う場合、該フローは、短期的に非アクティブになると予期することができる、そして、
【００２７】
３．空間的ドメインベースのフィルタ  −  いくつかのフローのアクティビティは、他のフローに依存することがあり、したがって、ある種のフローが非アクティブであると知られた場合、それらに依存するその他のフローもまた、非アクティブになることになる。
【００２８】
これらのフィルタは、単に説明を目的として含まれ、制限として解釈されるべきではないことを認識されたい。フィルタ処理の後、考慮されるフローの数は、方程式系を可解にするために、データセンタネットワーク１００内のリンクの数に凡そ一致すべきである。フィルタ処理が、フローの数を十分に減らさない場合、残りのフローがクラスタリングされて、それらの有効数を減らすことができる。クラスタリングは、たとえば、２つのフローがフローマトリクスにおいて同じ垂直ベクトルを有する場合に、実行されてもよい。
【００２９】
方程式系の解は、
【数１】
0006545836.tif 000003
として表してもよく、但し、
【数２】
0006545836.tif 000004
は、前述のようなマトリクスであり、
【数３】
0006545836.tif 000005
は、フロー性能の列ベクトルであり、そして、
【数４】
0006545836.tif 000006
は、たとえば、ＳＮＭＰデータを使用し、ブロック２０２から収集されたそれぞれのリンクカウンタの列ベクトルである。フロー性能は知られていないが、推論される
【数５】
0006545836.tif 000007
マトリクスおよび知られている
【数６】
0006545836.tif 000008
ベクトルが、推論されるフロー性能ベクトル
【数７】
0006545836.tif 000009
の計算を可能にする。フロー性能の１つの例示的測定値は、いくつかのバイトに関するフローのサイズでもよい。
【００３０】
ブロック２０８は、次いで、推論されるフロー性能ベクトル
【数８】
0006545836.tif 000010
に基づいてデータ検証を行い得る。
【数９】
0006545836.tif 000011
マトリクスおよび
【数１０】
0006545836.tif 000012
ベクトルは、予期されるリンクカウンタベクトル
【数１１】
0006545836.tif 000013
を計算するために使用される。予期される
【数１２】
0006545836.tif 000014
と知られている
【数１３】
0006545836.tif 000015
との差は、データセットの品質を反映する。性能カウンタが、たとえば、ノイズまたは時間整合の問題によって、大きな影響を受けた場合、誤差ベクトル
【数１４】
0006545836.tif 000016
は、大きくなることになる。誤差の分類は、以下のように可能である：
【００３１】
１．誤差が、局所性ビヘイビアを有する場合（すなわち、互いに近い物理長が、高い誤差を有する場合）、何らかのデータ収集の不適切な構成が存在し得る、
【００３２】
２．誤差が、平均誤差に近い場合、そのとき、リンクは、データ品質に大きな影響を及ぼさない、そして、
【００３３】
３．リンクの誤差が、経時的に何らかの上下するビヘイビアを示す場合、それは、時間整合の問題による可能性が高い。
【００３４】
誤差のタイプに応じて、データ検証ブロック２０８は、データ収集をさらに改善するために、データ収集ブロック２０２に情報をフィードバックする。
【００３５】
マトリクス
【数１５】
0006545836.tif 000017
および推論されるフロー性能ベクトル
【数１６】
0006545836.tif 000018
が計算された後、ブロック２１０は、この情報を使用してフロー稼働率を推定する。
【００３６】
ここで図３を参照すると、フローレベルのトラフィック分析のための方法が示されている。ブロック３０２は、リンクおよびフロー性能に関してネットワークデバイス（たとえば、サーバ１０４、スイッチ１０６、およびルータ１０８）からデータを収集する。この情報は、該ネットワークデバイスにおいて新しい器具類を導入することなしに既存のＳＮＭＰおよびソフトウェア定義のネットワーキングプロトコルを使用し、収集され得る。ブロック３０４は、収集された情報に基づいてパス回帰を実行して、各フローについてネットワーク１００を介するエンドツーエンドパスを決定する。前述のように、ブロック３０２によって収集される情報は、あらゆるフローの完全なパスを完全に決定するのに十分ではないことがある。そのようなものとして、ブロック３０２は、規則および他の情報に基づいて推論を実行してフローパスにおける任意のギャップを埋め得る。
【００３７】
フローの数は、ネットワーク１００内の物理リンクの数をはるかに超えることがあるので、ブロック３０６は、前述のものなどの基準あるいは統計データまたはドメイン知識によって決定された任意の他の適切な規則に基づいて、フローをフィルタ処理し得る。具体的には、ブロック３０６は、非常に僅かなアクティビティを有すると予測され得るフローをフィルタ処理で取り除く。ブロック３０６のフィルタ処理が、考慮されているフローの数を物理リンクの数以下に減らすのに十分でない場合、ブロック３０８は、考慮されているフロー群の数をさらに減らすために、クラスタリングを実行してフローをグループ化する。
【００３８】
ブロック３１０は、ブロック３０２からの測定されたリンクカウンタおよびブロック３０４からのエンドツーエンドフローパスを使用して、前述のように、推論されるフロー性能ベクトル
【数１７】
0006545836.tif 000019
を生成する。推論されるフロー性能ベクトル
【数１８】
0006545836.tif 000020
は、次いで、フローパスマトリクス
【数１９】
0006545836.tif 000021
とともに使用されて、ブロック３１０が測定されたリンクカウンタ情報を比較して誤差ベクトルを決定する予期されるリンクカウンタベクトル
【数２０】
0006545836.tif 000022
を生成する。該誤差ベクトルに基づいて、ブロック３１２は、フローパスマトリクス
【数２１】
0006545836.tif 000023
を調整して誤差を説明する。
【００３９】
ブロック３１４は、推論されるフロー性能ベクトル
【数２２】
0006545836.tif 000024
を使用し、フロー稼働率を推定する。この情報は、どのフローがネットワーク１００内の各物理リンクを使用するか、および、それらのリンクのトラフィックへのそれぞれの貢献を反映する。フロー稼働率推定に基づいて、ブロック３１６は、ネットワーク管理機能を実行する。たとえば、ボトルネックを引き起こす特定のリンクでの高稼働率の場合、ブロック３１６は、オーバーロードされた物理リンクからネットワーク１００内の別のパスへの１つまたは複数のフローのルート変更をトリガし得る。他のネットワーク管理アクションは、特定のフローからのトラフィックの優先順位付け、特定のフローに使用可能な帯域幅の制限、ネットワークトポロジの変更、サーバ１０４、スイッチ１０６、またはルータ１０８での設定の変更、あるいは、当業者の能力内の任意の他のネットワーク管理アクションを含み得る。
【００４０】
本明細書に記載の実施態様は、完全にハードウェア、または完全にソフトウェアでもよく、あるいは、ハードウェアおよびソフトウェア要素の両方を含んでもよい。好ましい一実施態様では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されない、ソフトウェアにおいて実装される。
【００４１】
実施態様は、コンピュータまたは任意の命令実行システムによって使用するためのまたはそれに関係するプログラムコードを提供するコンピュータ使用可能なまたはコンピュータ可読の媒体からアクセス可能なコンピュータプログラム製品を含んでもよい。コンピュータ使用可能なまたはコンピュータ可読の媒体は、命令実行システム、装置、またはデバイスによって使用するためのまたはそれに関係するプログラムを記憶、通信、伝搬、または移送する任意の装置を含み得る。該媒体は、磁気、光、電子、電磁気、赤外線、または半導体システム（または装置もしくはデバイス）あるいは伝搬媒体でもよい。該媒体は、半導体またはソリッドステートメモリ、磁気テープ、取り外し可能コンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、硬質磁気ディスクおよび光ディスクなど、コンピュータ可読記憶媒体を含み得る。
【００４２】
各コンピュータプログラムは、記憶媒体またはデバイスがコンピュータによって読み取られるときにコンピュータの動作を構成および制御して本明細書に記載の手続きを実行するための、汎用または専用プログラマブルコンピュータによって可読のマシン可読記憶媒体またはデバイス（たとえば、プログラムメモリまたは磁気ディスク）に明白に記憶されてもよい。本発明のシステムはまた、コンピュータプログラムで構成されている、コンピュータ可読記憶媒体において実施されると考えてもよく、そのように構成されている記憶媒体は、コンピュータを本明細書に記載の機能を実行するための特定のおよび既定義の形で動作させる。
【００４３】
プログラムコードを記憶および／または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接にまたは間接に連結された少なくとも１つのプロセッサを含み得る。該メモリ要素は、プログラムコード、バルクストレージ、および、コードが実行中にバルクストレージから取得される回数を減らすための少なくともいくつかのプログラムコードの一時的記憶を行うキャッシュメモリの実際の実行中に使用されるローカルメモリを含み得る。入力／出力またはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティングデバイスなどを含むがこれらに限定されない）は、直接にまたは仲介Ｉ／Ｏコントローラを介して該システムに連結されてもよい。
【００４４】
ネットワークアダプタはまた、仲介プライベートまたはパブリックネットワークを介して他のデータ処理システムまたはリモートプリンタまたは記憶デバイスに該データ処理システムが連結されることを可能にするために、該システムに連結されてもよい。モデム、ケーブルモデムおよびイーサネットカードは、現在入手可能なタイプのネットワークアダプタの数例である。
【００４５】
ここで図４を参照すると、ネットワーク管理システム４００が示されている。システム４００は、ハードウェアプロセッサ４０２およびメモリ４０４を含む。システム４００はさらに、システム４００がネットワーク１００の他のデバイスと通信するために使用する１つまたは複数の物理ネットワークインターフェース４０５を含んでもよい。本システムはまた、１つまたは複数の機能モジュールを含む。一実施態様では、該機能モジュールは、メモリ４０４に記憶されるおよびプロセッサ４０２によって実行されるソフトウェアとして実装されてもよい。一代替実施態様では、いくつかのまたはすべての機能モジュールは、たとえば、特定用途向け集積チップまたはフィールドプログラマブルゲートアレイの形で、１つまたは複数の個別のハードウェア構成要素として実装されてもよい。
【００４６】
データ収集モジュール４０６は、ネットワーク１００のその他のデバイスにアクセスして、ネットワーク１００内の該デバイスおよび物理リンクに関する入手可能な情報を獲得する。パス回帰モジュール４０８は、収集されたデータを使用するパス回帰を実行して各フローのエンドツーエンドパスを埋め、そして、データ検証モジュール４１０は、データ検証を実行してパス回帰に訂正を行う。フロー稼働率推定モジュール４１２は、様々なフローがネットワーク１００内の物理リンクをどのように使用するかを決定する。フロー稼働率推定を実行するにはフローの数が多すぎる場合、フィルタ処理／クラスタリングモジュール４０９が、その数を減らすために必要に応じてフローをフィルタ処理して取り除き、フローをクラスタリングする。ネットワーク管理モジュール４１４は、フロー稼働率推定値を使用してネットワーク１００内でネットワーク管理動作を実行して該ネットワークの性能を向上させる。
【００４７】
ここで図５を参照すると、ネットワーク管理システム４００を表し得る例示的処理システム５００が示されている。処理システム５００は、システムバス５０２を介して他の構成要素に動作可能なように連結された少なくとも１つのプロセッサ（ＣＰＵ）５０４を含む。キャッシュ５０６、読み取り専用メモリ（ＲＯＭ）５０８、ランダムアクセスメモリ（ＲＡＭ）５１０、入力／出力（Ｉ／Ｏ）アダプタ５２０、サウンドアダプタ５３０、ネットワークアダプタ５４０、ユーザインターフェースアダプタ５５０、およびディスプレイアダプタ５６０は、システムバス５０２に動作可能なように連結されている。
【００４８】
第１の記憶デバイス５２２および第２の記憶デバイス５２４は、Ｉ／Ｏアダプタ５２０によってシステムバス５０２に動作可能なように連結されている。記憶デバイス５２２および５２４は、ディスク記憶デバイス（たとえば、磁気または光ディスク記憶デバイス）、ソリッドステート磁気デバイスなどのうちのいずれでもよい。記憶デバイス５２２および５２４は、同じタイプの記憶デバイスまたは異なるタイプの記憶デバイスでもよい。
【００４９】
スピーカ５３２は、サウンドアダプタ５３０によってシステムバス５０２に動作可能なように連結されている。トランシーバ５４２は、ネットワークアダプタ５４０によってシステムバス５０２に動作可能なように連結されている。ディスプレイデバイス５６２は、ディスプレイアダプタ５６０によってシステムバス５０２に動作可能なように連結されている。
【００５０】
第１のユーザ入力デバイス５５２、第２のユーザ入力デバイス５５４、および第３のユーザ入力デバイス５５６は、ユーザインターフェースアダプタ５５０によってシステムバス５０２に動作可能なように連結されている。ユーザ入力デバイス５５２、５５４、および５５６は、キーボード、マウス、キーパッド、画像キャプチャデバイス、動作検知デバイス、マイクロフォン、前述のデバイスのうちの少なくとも２つのデバイスの機能を組み込んでいるデバイスなどのいずれかでもよい。もちろん、他のタイプの入力デバイスもまた、本原理の趣旨を維持しながら、使用されてもよい。ユーザ入力デバイス５５２、５５４、および５５６は、同じタイプのユーザ入力デバイスまたは異なるタイプのユーザ入力デバイスでもよい。ユーザ入力デバイス５５２、５５４、および５５６は、システム５００に情報を入力するおよびシステム５００から情報を出力するために使用される。
【００５１】
もちろん、処理システム５００はまた、当業者によって容易に予期されるように、他の要素（図示せず）を含んでもよく、並びに、ある特定の要素を省略してもよい。たとえば、様々な他の入力デバイスおよび／または出力デバイスは、当業者によって容易に理解されるように、同じものの個々の実装形態に応じて、処理システム５００に含まれてもよい。たとえば、様々なタイプの無線および／または有線入力および／または出力デバイスが、使用されてもよい。さらに、当業者によって容易に理解されるように、様々な構成で追加のプロセッサ、コントローラ、メモリなどもまた、使用されてもよい。処理システム５００のこれらのおよび他の変更形態は、本明細書で提供される本原理の教示を与えられた当業者によって容易に予期される。
【００５２】
前述は、あらゆる点で説明および例示的であるが、制限ではないものとして理解されるべきであり、本明細書で開示される本発明の範囲は、詳細な説明から決定されるべきではなく、そうではなくて、特許法によって許される完全な幅により解釈されるものとしての本特許請求の範囲から決定されるべきである。本明細書で示されるおよび説明される実施態様は、単に、本発明の原理の説明であり、当業者は本発明の範囲および趣旨を逸脱することなしに様々な修正形態を実装し得ることを、理解されたい。当業者は、本発明の範囲および趣旨を逸脱することなしに様々な他の特徴の組合せを実装し得る。特許法によって具体的に必要とされる詳細および特徴とともに本発明の態様をこのように説明して、特許証によって保護される特許請求および要求の範囲が、添付の特許請求の範囲において説明される。
【図１】
0006545836.tif 000025
【図２】
0006545836.tif 000026
【図３】
0006545836.tif 000027
【図４】
0006545836.tif 000028
【図５】
0006545836.tif 000029