(57)【要約】  【課題】  注釈付きネットワーク・トポロジを生成する方法及びシステムを提供する。  【解決手段】  ネットワークの注釈付きネットワーク・トポロジを生成する方法が開示される。方法は、複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅「Ｂ」を前記エンドポイントのペアの間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるステップと、ネットワーク経路内のボトルネック・リンクを特定するステップと、ネットワーク経路内の全てのエッジに注釈付けを行うステップを含む。ネットワーク内のリンクに関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定によって得られる。ネットワークの前記注釈付きネットワーク・トポロジを生成するシステムも開示される。  【選択図】  図１
2007074711.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの注釈付きネットワーク・トポロジを生成する方法であって、
複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅を前記エンドポイントのペア間で転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるステップと、
前記ネットワーク経路のボトルネック・リンクを特定するステップと、
ネットワーク経路内の全てのエッジに注釈付けを行うステップを含み、
前記ネットワーク内のリンクとエッジ帯域幅に関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる、方法。
【請求項２】
前記注釈付けを行うステップは、
ボトルネック・リンクとして特定されたエッジに等号「＝」で注釈付けするステップと、その
他のエッジに不等号「＞」で注釈付けするステップと、
前記複数の経路に使用可能帯域幅、待ち時間、及び損失率の内の少なくとも１つで注釈付けするするステップを含む、
請求項１に記載の方法。
【請求項３】
前記注釈付けを行なうステップは、前記リンクを受信ネットワーク・トラフィックが送信ネットワーク・トラフィックよりも少なくなるようなトラフィックで飽和状態にするステップを含む、請求項１に記載の方法。
【請求項４】
前記ボトルネック・リンクの特定は、前記リンクがトラフィックで飽和状態になっているときに前記リンクの遅延を監視するステップを含む、請求項３に記載の方法。
【請求項５】
前記遅延を監視するステップは、パラレルｔｒａｃｅｒｏｕｔｅを使用して前記遅延の増大を監視するステップを含む、請求項４に記載の方法。
【請求項６】
前記ネットワークの注釈付きネットワーク・トポロジが取得されるまで、前記注釈付けが継続する、請求項１に記載の方法。
【請求項７】
前記注釈付けを行なうステップはさらに、
それ以上更新できない注釈を有する各エッジについてのトラフィックの最大フローを計算するステップと、
それ以上更新できない注釈を有する前記エッジを通過する経路のサブセットを求めるステップと、
前記サブセット内の前記経路間でＴＣＰフローを開始するステップと、
前記ＴＣＰフローによって達成された総スループットを求めるステップと、
前記スループットが前記最大フローよりも少ない場合はエッジを飽和状態として注釈付けするステップと、
を含む、請求項１に記載の方法。
【請求項８】
ネットワークのエンドポイント間の注釈付きネットワーク・トポロジを生成する方法であって、
複数の経路を有するネットワークのエンドポイントのアドレスを受信するステップと、
それぞれの前記エンドポイントのペアの間の注釈付けされていないネットワーク・トポロジを決めるステップと、
エンドポイントのペアを接続しているネットワーク経路上の使用可能帯域幅を、前記エンドポイントのペアの間で転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるステップと、
前記ネットワーク経路内のボトルネック・リンクを特定するステップと、
ネットワーク経路内の全てのエッジに注釈付けするステップを含み、
前記ネットワーク内のリンクに関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる、方法。
【請求項９】
前記注釈付けは、
それ以上更新できない注釈を有する各エッジについてのトラフィックの最大フローを計算するステップと、
それ以上更新できない注釈を有する前記エッジを通過する経路のサブセットを求めるステップと、
前記サブセット内の前記経路間でＴＣＰフローを開始するステップと、
前記ＴＣＰフローによって達成された総スループットを求めるステップと、
前記スループットが前記最大フローよりも少ない場合はエッジを飽和状態として注釈付けするステップと、
を含む、請求項８に記載の方法。
【請求項１０】
前記注釈付けを行なうステップは、
ボトルネック・リンクとして特定されたエッジに等号「＝」で注釈付けするステップと、
その他のエッジに不等号「＞」で注釈付けするステップを含み、
前記注釈付けを行なうステップは、前記リンクを受信ネットワーク・トラフィックが送信ネットワーク・トラフィックよりも少なくなるようなトラフィックで飽和状態にするステップをさらに含む、
請求項８に記載の方法。
【請求項１１】
前記ボトルネック・リンクを特定するステップは、前記リンクがトラフィックで飽和状態になっているときに前記リンクの遅延を監視するステップを含む、請求項８に記載の方法。
【請求項１２】
前記遅延を監視するステップは、パラレルｔｒａｃｅｒｏｕｔｅを使用して前記遅延の増大を監視するステップを含む、請求項１１に記載の方法。
【請求項１３】
前記複数の経路に使用可能帯域幅、待ち時間、及び損失率の内の少なくとも１つで注釈付けするステップをさらに含む、
請求項８に記載の方法。
【請求項１４】
ネットワーク上で作動しているアプリケーションのエンドポイント間の注釈付きネットワーク・トポロジを生成するシステムであって、
複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅を前記エンドポイントのペアの間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求める制御回路を備え、
前記制御回路は、前記ネットワーク経路内のボトルネック・リンクを特定し、
ネットワーク経路内の全てのエッジに注釈付けするように構成され、
前記ネットワーク内のリンクに関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる、システム。
【請求項１５】
前記注釈付きネットワーク・トポロジは、使用可能帯域幅、待ち時間、及び損失率の内の少なくとも１つに基づいて注釈付けされる、請求項１４に記載のシステム。
【請求項１６】
前記システムはさらに、
前記ネットワークのエンドポイント上で動作する複数のエージェントを備え、前記制御回路は、前記複数のエージェントを制御して前記ネットワークを監視させるように構成される、
請求項１４に記載のシステム。
【請求項１７】
ネットワークのエンドポイント間の注釈付きネットワーク・トポロジを生成する、コンピュータで使用可能な媒体上に記憶されたプログラムであって、コンピュータ・システムに、
複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅を前記エンドポイントのペアの間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるステップと、
前記ネットワーク経路のボトルネック・リンクを特定するステップと、
ネットワーク経路内の全てのエッジに注釈付けするステップを実行させ、
前記ネットワーク内のリンクに関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる、プログラム。
【請求項１８】
前記注釈付きネットワーク・トポロジは、使用可能帯域幅、待ち時間、及び損失率の内の少なくとも１つに基づいて注釈付けされる、請求項１７に記載のプログラム。
【請求項１９】
前記注釈付けするステップはさらに、
それ以上更新できない注釈を有する各エッジについてのトラフィックの最大フローを計算するステップと、
それ以上更新できない注釈を有する前記エッジを通過する経路のサブセットを求めるステップと、
前記サブセット内の前記経路間でＴＣＰフローを開始するステップと、
前記ＴＣＰフローによって達成された総スループットを求めるステップと、
前記スループットが前記最大フローよりも少ない場合はエッジを飽和状態として注釈付けするステップと、
を含む、請求項１７に記載のプログラム。
【請求項２０】
ネットワークの注釈付きネットワーク・トポロジを生成するアプリケーションを導入する方法であって、
ネットワークであって複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅を前記エンドポイントのペアの間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるステップ、
前記ネットワーク経路内のボトルネック・リンクを特定するステップ、
ネットワーク経路内の全てのエッジに注釈付けを行うように、動作可能なコンピュータ・インフラストラクチャを提供するステップ、が動作可能するコンピュータ・インフラストラクチャを提供するステップを含み、前記ネットワーク内のリンクに関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、注釈付きネットワーク・トポロジを生成する方法及びシステムに関し、より詳細には、エンド・トゥー・エンドの測定によってネットワークのエンドポイント間の注釈付きネットワーク・トポロジを生成する方法及びシステムに関する。
【背景技術】
【０００２】
アプリケーションのエンド・トゥー・エンド性能及びユーザエクスペリエンスは、ネットワークの性能及び可用性により決まる。しかし、ネットワーク資源は、分散して集中していないので、性能管理が困難な問題となっている。
【０００３】
従来技術の方法及びシステムは、待ち時間注釈ツールを使用してネットワークの性能及び可用性を測定するものがある。
【０００４】
また、他の関連技術の方法及びシステムには、トポロジを考慮しない帯域幅注釈ツールを使用するものもある。しかし、かかる方法及びシステムでは、基礎となるトポロジで経路の共有が生じた場合に、使用可能な帯域幅の推定が不正確になってしまう。すなわち、関連技術の方法及びシステムでは、経路の共有が考慮に入れられていない。共有が考慮されないと、不正確になってしまう上に、リンクが故障した場合に冗長なプローブを引き起こすことがある。
【０００５】
他方、従来技術の方法及びシステムの中には、個々の経路上で発生するボトルネックの特定について解決策を提供しようとするものもある。しかし、トラフィック監視は、既存のネットワーク・トラフィックを大きく害する可能性がある。さらに、かかる従来技術の方法及びシステムは、ネットワークの氾濫を引き起こす恐れがあるボトルネック特定ツールを使用している。
【０００６】
さらに別の関連技術の方法及びシステムには、ネットワーク・デバイスの支援（例えばネットワーク・ルータの支援等）を必要とするツールを使用しているものもある。しかし、かかるツールは、ネットワーク運営者（例えば電気通信会社等）が使用するか、および／または、そのネットワーク運営者が所有するネットワークの下位部分（subpart）でしか使用するかしかできない。このように、かかる関連技術の方法では、ほとんどのネットワークにおいて、非現実的な条件を満たすことが必要とされることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、かかる従来技術のツールは、生産的な使用（productionusage）には適しておらず、上述の課題を解決する必要がある。
【課題を解決するための手段】
【０００８】
前記従来の方法及び構造に関する上記及び他の例示的な課題、欠点、並びに不利益を考慮して、本発明の一態様により、ネットワーク経路に注釈を付するサービスを提供する方法及びシステムを提供する。より詳細には、本発明の一態様は、エンド・トゥー・エンド測定によりネットワークのエンドポイント間の注釈付きネットワーク・トポロジを生成することに関し、前記注釈付きネットワーク・トポロジは、使用可能帯域幅、待ち時間、及び損失率の内の１つ又は複数に基づいて注釈付けが行われる。
【０００９】
本発明の例示的な諸態様は、ネットワーク経路に注釈を付するサービスを生成するシステム及び方法、より詳細には、エンド・トゥー・エンド測定によりネットワークのエンドポイント間の注釈付きネットワーク・トポロジを生成し、前記注釈付きネットワーク・トポロジは使用可能帯域幅、待ち時間、及び損失率に基づいて注釈付けされる、システム及び方法に対するものである。
【００１０】
本発明の例示的な一態様として、ネットワークの注釈付きネットワーク・トポロジを生成する方法について説明する。方法は、複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅「Ｂ」を前記エンドポイントのペアの間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるステップと、ネットワーク経路内のボトルネック・リンクを特定するステップと、ネットワーク経路内の全てのエッジに注釈付けするステップを含む。ネットワーク内のリンクとエッジ帯域幅に関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる。
【００１１】
別の態様によれば、ネットワーク上で動作するアプリケーションのエンドポイント間の注釈付きネットワーク・トポロジを生成するシステムは、複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅「Ｂ」を前記エンドポイントのペアの間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求める制御回路を含む。制御回路は、ネットワーク経路内のボトルネック・リンクを特定し、ネットワーク経路内の全てのエッジに注釈付けするように構成される。ネットワーク内のリンクとエッジ帯域幅に関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる。
【００１２】
他の態様によれば、ネットワークの注釈付きネットワーク・トポロジを生成するアプリケーションを導入する方法は、複数のネットワーク経路を有し、エンドポイントのペアを接続するネットワーク経路上のネットワークの使用可能帯域幅「Ｂ」を前記１対のエンドポイント間での転送制御プロトコル（ＴＣＰ）フローを実行することによって求めるように動作可能なコンピュータ・インフラストラクチャを提供することを含む。コンピュータ・インフラストラクチャはさらに、前記ネットワーク経路内のボトルネック・リンクを特定し、ネットワーク経路内の全てのエッジに注釈付けするように構成され、ネットワーク内のリンクとエッジ帯域幅とに関する使用可能帯域幅の注釈は、エンド・トゥー・エンド・ネットワーク測定により求められる。
【００１３】
上記及び他の例示的な目的、態様、及び利点は、添付の図面を参照して本発明の例示的な一実施形態に関する以下の詳細な説明を読めばより良く理解されるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明の図面は必ずしも現実の縮尺に従うものではないことに留意されたい。図面は本発明の典型的な諸態様を表現するものにすぎず、本発明の範囲を限定するものとみなされるべきではない。図面では、全体を通して同様の参照番号は同様の要素を示している。
【００１５】
図１は、本発明の様々な態様を示す例示的なハイレベルのネットワーク・トポロジ１００を示している。ネットワーク・トポロジ１００では、ネットワークのトポロジ・マップを生成する１組のエンドポイント１０２、１０４、１０６、１０８、１１０、１１２に当たる複数のハブ位置が示されている。例えば、説明を容易にするために、ネットワーク・トポロジ１００では、都市、州、大学等のネットワーク・ハブの位置が示されているが、表示されているエンドポイントの数は単なる例示にすぎず、これよりも多くの数又はより少ない数のエンドポイントを使用できることが理解されるであろう。
【００１６】
図２は、図１に示されているネットワーク・トポロジ１００から抽出できる例示的なトポロジ・マップ２００を示すものであり、ここでは１組のエンドポイント１０２、１０４、１０６、１０８、１１０、及び１１２（例えば、メリーランド、ボストン、ケンブリッジ、サンディエゴ等のハブ位置）が与えられている。トポロジ・マップ２００すなわちエンドポイント１０２〜１１２を接続しているネットワークのビューは、エンドポイント１０２〜１１２を図２のように接続することによって抽出できる。エンドポイント１０２〜１１２は、ノードを介して接続されている。例えば、エンドポイント１０２と１１８を接続しているネットワーク経路には、ノード２０２、２０４、２０６、２０８、２１０、及び２１４が含まれている。ネットワークエッジは、ノードの各々を別のノードに接続している。例えば、ノード２０２及び２０４は、ネットワークエッジ２２０を介して接続されている。同様に、ノード２０２及び２１６は、ネットワークエッジ２１８を介して接続されている。ネットワークエッジ２１８及び２２０は、トポロジ・マップ２００の内部にあることから、本明細書では、代わりに内エッジとも呼ばれる。図２に示されるように、ノード内に表示した各番号は、各々のノードについてのノード識別子である。
【００１７】
図３〜４は、図２に示されるトポロジ・マップ２００に注釈付けを行う様々な手法を示している。例えば、トポロジ・マップ２００には、ネットワークの各部における使用可能帯域幅、遅延、及び損失率を使用して注釈付けが行うことができる。
【００１８】
図３〜４に示されるように、それぞれのエンドポイントのペアの間の経路指定の制約は、ネットワークのトポロジ・マップ（例えばインターネット・プロトコル（ＩＰ）レベルのトポロジ・マップ等）を作成することによって表現されることが好ましい。ネットワークのトポロジ・マップは、経路指定の制約を含み、かつ経路の共有が開示されていることが好ましく、このことは、アプリケーションの帯域幅需要をネットワーク容量内に押し込むことへの制約を表現するうえで都合がよい。さらに、その結果得られるトポロジ・マップのエッジにも、待ち時間及び使用可能帯域幅で注釈が付けられる。
【００１９】
引き続き図３〜４を参照すると、各ステップにおいて、ネットワーク・リンクに、リンクへの注釈付けが完了したことを示す等号（＝）で、又はアルゴリズムの後続の諸ステップによりリンクの注釈がさらに更新される可能性のあることを示す不等号（＞）で、注釈付けを行ってもよい。等号は、アルゴリズムのいずれかの測定ステップでリンクが完全に飽和状態に達している場合に付けられる。また、不等号は、リンクがいかなる測定中にも完全には飽和状態に達しておらず、したがってリンク内でさらに容量の使用が可能であることを表示することができる。
【００２０】
一例として、図３では、太線で示されているネットワーク・リンク３０２、３０４が、アルゴリズムの当該ステップでその注釈付けが終了したエッジである。例えば、「メリーランド０」と標示されているノードに接続されたエッジ３０２には、３．５８の注釈が付けられているが、このことは、エッジ３０２上の使用可能帯域幅が３．５８メガビット／秒であることが分かっており、かつエッジ３０２の当該注釈付けが終了したことを示している。標示がなくあるいは不等号で注釈付けされている他のエッジは、その注釈付けが手順の後続の諸ステップによってさらに更新可能なエッジである。
【００２１】
図５は、図表における内エッジ２１８及び２２０の各々に対し、使用可能帯域幅で注釈付けが行われたネットワーク４００のマップを示している。
【００２２】
図５に示されるように、アルゴリズムの実行終了時において、ネットワークの最終的な注釈に等号（＝）と不等号（＞）の両方が含まれることがある。ネットワークの最終状態は、エンド・トゥー・エンド測定からネットワークの注釈に関して抽出できる最大限の情報である。
【００２３】
本明細書に述べたとおり、エンド・トゥー・エンド測定は、２つのネットワーク・エンドポイント間の測定として定義されている。エンドポイントは、ネットワーク内でデータをマシン間で転送するのに用いられるネットワーク・ルータ及びスイッチとは対照的に、ネットワークに接続しネットワークを使用して他のマシンと通信するマシン（例えばデバイス、システム、装置等）として定義されている。
【００２４】
帯域幅の注釈は、一般に容量の制約を表すのに用いられ、待ち時間の注釈は、性能の制約を表すのに用いられる。例えば、待ち時間の注釈は、「ｔｒａｃｅｒｏｕｔｅ」のような標準的なインターネット・ユーティリティにより経路を探索することによって報告されるホップ毎の遅延を使用して、取得できる。
【００２５】
本明細書に記載されているように、「使用可能帯域幅」という用語は、アプリケーションが１つ又は複数の転送制御プロトコル（ＴＣＰ）フローを開始することによって取得できる帯域幅量を意味している。本明細書に記載されている使用可能帯域幅は、リンクの生の帯域幅あるいはユーザ・データグラム・プロトコル（ＵＤＰ）フローから得られる帯域幅とは異なるものである。
【００２６】
別の例示的な態様によれば、本発明は、ネットワークのエンドポイントから効率的に注釈だけを取得する（例えば、注釈を抽出する）ことができる。例えば、エンドポイント上で作動しているエージェント間でテストを実施することにより、ネットワークに関する内部情報（例えば、内部リンク、リンクの使用可能帯域幅、ボトルネックの位置等）をエンド・トゥー・エンド測定によって抽出することも可能である。このように、本発明の例示的な諸態様では、エンド・トゥー・エンド測定によってネットワークへの注釈付けが行うことができる。
【００２７】
図６は、本発明の一実施形態に係るネットワーク性能管理サービス５００に関するハイレベルのアーキテクチャの概略を示している。管理サービス５００は、最適化解決ユニット５０２と、データ獲得ユニット５０４と、配備エンジン・ユニット５０６と、複数のエージェント５１０、５１２、５１４を有するネットワーク５０８と、複数のネットワーク・エンドポイント５１６、５１８、５２０とを含む。各々のエージェントは、各々のネットワーク・エンドポイント上で動作するように構成されている。例えば、エージェント５１０はネットワーク・エンドポイント５１６上で動作するように構成され、エージェント５１２はネットワーク・エンドポイント５１８上で動作するように構成される等、以下同様に構成されている。アルゴリズム（例えばインテリジェント・アルゴリズム等）の使用により、エージェント（例えば５１０、５１２、５１４等）間のテストを統合し、注釈を生成することができる。
【００２８】
引き続き図６を参照すると、データ獲得ユニット５０４（例えば、集中型調整器又は制御装置等）を使用して、ネットワーク・エンドポイント（例えば、５１６、５１８、５２０）間のテストを情報処理機能により統合することによってネットワークの注釈ビューに到達するアルゴリズムを実行することが好ましい。一実施形態によれば、アルゴリズムを、図７及び８に示される手順とすることができる。データ獲得ユニット５０４は、ネットワーク・エンドポイント５１６、５１８、５２０間のテストを統合することによって、ネットワーク・エンドポイント間のネットワークのビューと、さらにネットワークの完了した注釈ビューを探し出すことができる。
【００２９】
データ獲得ユニット５０４は、エージェント（例えば、５１０、５１２、５１４）からのデータを監視し収集してネットワーク・エンドポイント５１６、５１８、５２０間の注釈付き図表を生成するように構成されている。収集されたデータは、最適化解決ユニット５０２に入力され、この入力によってアプリケーションの性能要件を満たす適切な設定が求められる。また、最適化解決ユニット５０２は、複数の周知の最適化アルゴリズムのうちいずれか１つを利用して適切な設定を求めてもよく、例えば、組合せ最適化の問題点を解決するアルゴリズムを使用できる。得られた設定は、（例えば、配備エンジン・ユニット５０６によって）例えば、拡張可能マークアップ言語（ＸＭＬ）構成ファイル等に変換され、必要とされるローカル構成／制御アクションがあればそれを実行する複数のエージェント（５１０、５１２、５１４）に送信される。
【００３０】
図７は、本発明の一実施形態に係るネットワークのエンドポイント間の注釈付きネットワーク・トポロジを決める前処理段階に用いられる手順を示すフローチャートである。
【００３１】
ステップ６０２では、注釈付きネットワーク・トポロジの取得を求められている１組のネットワーク・エンドポイントのアドレスが、入力として受信される。次に、方法はステップ６０４に進む。
【００３２】
ステップ６０４では、経路探索ユーティリティ（例えばｔｒａｃｅｒｏｕｔｅ）を実行し、それぞれのエンドポイントのペアの間の注釈付けされていないネットワーク・トポロジを決める。次に、方法はステップ６０６に進む。
【００３３】
ステップ６０６では、注釈付けされていないトポロジ内の各エッジに関する初期の注釈が、ゼロに設定される。次に、方法はステップ６０８に進む。
【００３４】
ステップ６０８では、それぞれのエンドポイントのペアに関して、エンドポイントを接続しているネットワーク経路上の使用可能帯域幅「Ｂ」を求めるために、それぞれのエンドポイントのペアの間でＴＣＰフローが実行される。次に、方法はステップ６１０に進む。
【００３５】
ステップ６１０では、ステップ６１０で特定されたネットワーク経路内の各リンク／エッジに対し、使用可能帯域幅「Ｂ」の最大値及びエッジの現行の注釈により注釈付けが行われる。次に、方法はステップ６１２に進む。
【００３６】
ステップ６１２では、経路のボトルネックとして特定されたエッジに対し、最大使用可能帯域幅「Ｂ」で注釈付けが行われる。ステップ６０８から６１２が、それぞれのエンドポイントのペアに対して繰り返される。
【００３７】
ボトルネック特定は、本発明の様々な態様により用いられる基本要素である。ボトルネック特定は、ネットワーク経路上のどのリンクが最小使用可能帯域幅を有しているかを特定する方法である。かかる方法によって、全体のネットワーク経路上でどの程度の帯域幅が使用可能であるかを判断する。本発明の特徴は、同一の経路を共有している他のトラフィックを混乱させることなくネットワーク経路上のボトルネック・リンクを特定することにある。ボトルネックを特定する本方法は、ＴＣＰプロトコルと連動して実行されるものであり、その方法は図９に示されている。
【００３８】
図８は、本発明の一実施形態に係るネットワークのエンドポイント間の注釈付きネットワーク・トポロジを決める際の再帰的段階に用いられる手順を示したフローチャートである。図８の手順では、前処理段階で取得されたネットワーク・トポロジの注釈は、さらに、ネットワークの注釈をそれ以上更新できなくなるときに至るまで更新が繰り返される。
【００３９】
図８に示されるように、手順は、最も内側のループから開始し、図中の全てのエッジにわたって繰り返されることにより、いずれかのエッジの注釈がさらに更新可能か判断する。あるエッジの注釈がさらに更新可能と判断された場合は、ステップ６１３で変数「ｃｈａｎｇｅｄ」が真にセットされる。次に、方法はステップ６１４に進む。
【００４０】
ステップ６１４では、変数が「真」に変更されているか否かを判断する問合せが行われる。変数が真に変更されている場合には、方法はステップ６１６に進む。そうでない場合には、方法は、全てのエッジにわたる繰返しによっていかなるエッジの注釈も変更されなくなった時点で終了する。
【００４１】
ステップ６１６で、あるエッジの注釈がそれ以上更新できない場合は、変数が「偽」にセットされる。次に、方法はステップ６１８に進む。
【００４２】
ステップ６１８では、種々のエッジが各エッジＥに通じていることを前提として、不等号（「＞」）の注釈を有する各エッジＥについて、各々のエッジＥを通じて送信できるデータ量が求められる。かかる算定は、本明細書では「最大フロー計算」として定義されるが、代わりに「最大フロー」（Ｍ）と呼ばれることもある。次に、方法はステップ６２０に進む。
【００４３】
ステップ６２０では、最大フローＭを前提として、経路の帯域幅がＭ以上となるように、エッジＥを通過する経路のサブセットSが選択される。次に、ある一定量のトラフィックＭがエッジＥを通じて流れるように、セットＳ内の経路が起動される、すなわち経路間でＴＣＰフローが開始する。次に、方法はステップ６２２に進む。
【００４４】
ステップ６２２では、全てのＴＣＰフローによって達成された総スループット、すなわちステップ６２０で述べたように起動されたＴＣＰフローのトラフィック・レートの和が、測定される。総スループットは、本明細書では「Ｔ」とする。次に、方法はステップ６２４に進む。
【００４５】
ステップ６２４では、Ｔ＜Ｍであるか否かを判断する問合せが行われる。真である場合には、方法はステップ６２８に進む。そうでない場合には、方法はステップ６３０に進む。
【００４６】
ステップ６２８では、エッジＥが、かかるエッジＥが飽和状態であることを示す注釈「＝Ｔ」で標示される。
【００４７】
ステップ６３０において、Ｔ＝Ｍである場合には、エッジＥはまだ飽和状態になっていない。また、Ｅが現時点で「＞Ｎ」として注釈付けされておりかつＮ＜Ｍである場合には、エッジＥは注釈「＞Ｍ」で標示される。
【００４８】
このようにして、図８に示される手順は、不等号の注釈を有する全てのエッジにわたって繰り返し実行される。方法の最終時点では、いずれかの注釈が更新されたか否かを判断する問合せが行われる。真である場合には、ステップ６１６から６３０まで再度実行される。そうでない場合には、方法を終了し、現行のネットワーク注釈が出力される。
【００４９】
データ獲得ユニット５０４（図６）は、図７及び８に示される手順を実行し、ネットワーク・エンドポイント間のテストを情報処理機能により統合することによって、ネットワークの注釈ビューに到達できる。上述したように、エンドポイントは各々のエンドポイント上で作動している複数のエージェントを有している。本発明に係る調整器は、エンドポイント間の一部のテストを統合することによって、エンドポイント間のネットワークのビューだけでなく、完了した注釈ビューも探し出すことができる。
【００５０】
図９は、図１に示されるネットワーク経路内のボトルネック・リンクを検出する手順を示している。ネットワーク経路を介して接続されている送信機と受信機の間のＴＣＰプロトコルは、送信機から受信機にデータが送信されるレート（例えば送信レート）を増加させることによって動作し、これによりネットワーク内の使用可能帯域幅をプローブする。ＴＣＰプロトコルがパケット損失を検出した場合は、送信レートは低減され、送信レートを増加させることによって、プローブ処理が繰り返される。送信レートを増加させた場合は、各々のリンクでパケットの被る遅延が増大する。しかし、経路上のボトルネック・リンクの特性は、最も高い遅延の増大を示すことにある。ｔｒａｃｅｒｏｕｔｅユーティリティによってパケットのホップ毎の遅延が報告されることから、本遅延は、経路上でｔｒａｃｅｒｏｕｔｅユーティリティをＴＣＰフローと共に作動させることによって測定できる。このように、本発明の種々の態様では、ｔｒａｃｅｒｏｕｔｅと共にＴＣＰも利用して、ネットワーク経路上のボトルネック・リンクを推定する。
【００５１】
したがって、図９に示される技法を使用すると、ネットワーク経路内のあるエッジＥがボトルネック・リンクとして特定された場合は、エッジＥがエンド・トゥー・エンド経路内の制約リンクとなっており、しかも、エンド・トゥー・エンド経路の帯域幅がＢであることが分かるため、当該エッジＥは「＝Ｂ」で注釈付けされる。
【００５２】
図１０は、本発明と共に使用され、好ましくは少なくとも１つのプロセッサ又は中央処理装置（ＣＰＵ）８１１を有する、情報処理／コンピュータ・システムのハードウェア構成を示している。
【００５３】
ＣＰＵ８１１は、システム・バス８１２を介して、ランダム・アクセス・メモリ（ＲＡＭ）８１４、読取り専用メモリ（ＲＯＭ）８１６、（ディスク・ユニット８２１やテープ・デバイス８４０のような周辺デバイスをバス８１２に接続する）入出力（Ｉ／Ｏ）アダプタ８１８、（キーボード８２４、マウス８２６、スピーカ８２８、マイクロフォン８３２、又は他のユーザ・インターフェイス・デバイス、あるいはそれら全てをバス８１２に接続する）ユーザ・インターフェイス・アダプタ８２２、情報処理システムをデータ処理ネットワークやインターネットならびにイントラネットおよびパーソナル・エリア・ネットワーク（ＰＡＮ）等に接続する通信アダプタ８３４、さらに、バス８１２をディスプレイ・デバイス８３８又はプリンタあるいはその両方に接続するディスプレイ・アダプタ８３６と、相互に接続されている。
【００５４】
上述のハードウェア／ソフトウェア環境に加え、本発明の別の一態様は、本発明の一実施形態に従って図７〜８を参照しながら説明した方法を実行するコンピュータに実装された方法から構成される。例えば、本方法は、上述の特定の環境下で実行されてもよい。
【００５５】
かかる方法は、例えば、デジタル・データ処理装置によって実現されるコンピュータを操作して一連の機械可読命令を実行することによって実行されてもよい。また、このような命令は、様々な形の信号保持媒体に保持することができる。
【００５６】
本信号保持媒体は、例えば、高速アクセス記憶装置に代表されるような、ＣＰＵ８１１内のＲＡＭであってもよい。あるいは、ＣＰＵ８１１から直接又は間接的にアクセス可能な磁気データ記憶装置やＣＤ−ＲＯＭディスケット９００（図１１）などの別の信号保持媒体に、命令を記憶させてもよい。また、命令は、ＤＡＳＤ記憶装置（例えば従来の「ハード・ドライブ」又はＲＡＩＤアレイ（例えば図１２の１０００）、磁気テープ、電子読取り専用メモリ（例えばＲＯＭ、ＥＰＲＯＭ、又はＥＥＰＲＯＭ）、光記憶デバイス（例えばＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、デジタル光テープ等）、紙「パンチ」カード、あるいはデジタル式及びアナログ式の通信リンク及び無線のような伝送媒体を含めた他の適した信号保持媒体等、種々の機械可読データ記憶媒体上に記憶させてもよい。
【００５７】
本発明の実施形態において、機械可読命令は、例えば「Ｃ」、Ｃ＋＋等の言語でコンパイルされるソフトウェア・オブジェクト・コードで構成されてもよい。ただし、言うまでもなく、本発明の諸態様は、かかる諸態様の作成に用いられた言語に限定されるものではない。
【００５８】
さらに、上記を全体として理解すれば、本発明が、多くの企業活動又はサービス活動の基礎として役立ち得ることが、当業者には理解されるはずである。発生し得るサービス関連活動は、すべて本発明の範囲内に含まれるものである。
【００５９】
ネットワークの性能及び可用性は、ネットワーク・アプリケーション及びサービスのエンド・トゥー・エンド性能及びユーザエクスペリエンスに寄与する。しかし、ネットワーク資源は、分散しており集中していないので、性能管理が困難な問題になっている。そこで、本発明は、アプリケーションのネットワーク利用を計画し応用できる新規のネットワーク監視システム及び方法を提供する。例えば、本発明は、アプリケーションのエンドポイントを接続している基礎となるネットワークの性能（すなわちネットワーク性能）と、ネットワークの可用性とに関する知識を用いて、アプリケーションのネットワーク利用を計画し応用することができる。
【００６０】
かかる情報を判定することによって、クライアントを最良のネットワーク接続性や最も広い帯域幅等を有する特定のサーバに経路指定すること（例えば、どのネットワーク経路をとるべきか、クライアントをどのサーバに誘導すべきか等）に関して決定を下すことができる。かかる判定は、ネットワーク・インフラストラクチャ自体からのいかなる支援も伴わずにできることが好ましい。このことは、サービス又はアプリケーションの供給者が、一般に、ネットワークに対する制御を何ら有しておらず、かつネットワークの監視データへのアクセスを制限されたり、あるいは全くアクセスできないおそれがある故に有利である。
【００６１】
例えば、ネットワークを運営しているネットワークの供給者（例えば、ＡＴ＆Ｔ社やスプリント社等の電気通信会社）は、ネットワークの性能を内部的に監視するネットワーク管理システムを有している。しかし、ネットワークの供給者は、自身が所有するネットワークの各部についてのネットワーク監視データしか有していない。
【００６２】
さらに、この情報は、一般にアプリケーションからは利用できない。すなわち、アプリケーションが、かかる情報にアクセスすることは困難である。一般に、ネットワーク・デバイスからの監視データは、ネットワーク・エンドポイントで作動しているアプリケーションから利用できないことがある。
【００６３】
本発明により、ネットワーク又はアプリケーションの複数の特性を表現できる。表現される例示的な特徴は、帯域幅（例えば、使用可能帯域幅）、待ち時間、損失率等である。帯域幅の注釈付け及び損失率の注釈付けは困難であり、一般に、これまで関連技術の対象となっていなかった。
【００６４】
本発明の諸態様によれば、リンクの帯域幅及びボトルネック・リンクを、ネットワーク図表及び１組のエンドポイントに基づいて判定するネットワーク経路の効率的な注釈が提供される。注釈は、好ましくは、転送制御プロトコル・フレンドリ（ＴＣＰフレンドリ）な方法で取得され、又限定的なプローブの繰返しによってネットワーク経路内のボトルネックが判定されることが好ましい。
【００６５】
本発明の諸態様の利点は、ＵＤＰベースのプローブを使用してネットワーク容量を求める関連技術の方法と比較して侵害性がないことである。また、注釈処理によって、用いられる手続きが、好ましくはＴＣＰプローブ・ベースで行われるため、既存フローの力学を変化させない。ＴＣＰは、ネットワーク内でアクティブとなっている他のフローとネットワークを公平に共有するように、制御プロトコルを使用して、その送信レートをネットワーク・フィードバックに応じて調節する。したがって、多数のアクティブなフローがネットワーク内にある場合でも、ＴＣＰは他のフローの送信レートにはごく僅かな影響しか及ぼさない。
【００６６】
本発明の諸態様によれば、同時的なフローを対象とするネットワーク上での使用可能帯域幅の検索要求を支援することができる。例えば、本発明は、「ノード１がノード４に送信しかつノード２がノード１０に送信する場合の使用可能帯域幅を求める」といった高度な検索要求を支援することができ、この検索要求に対しては、注釈付きネットワーク・トポロジを考慮しないシステムによって正しく応答することができる。
【００６７】
一実施形態によれば、経路を共有している場合、個々の経路の検索要求と同時的な複数経路の検索要求とでは、応答が異なったものになる。本発明は、また、分散型ネットワーク・アプリケーションを対象とするネットワーク内のボトルネックを特定する方法又は技法に関するものであり、ボトルネックは同時的な複数経路の検索要求と言うこともできる。
【００６８】
本発明は複数の実施形態により説明がなされたが、本発明は、添付の特許請求の範囲及びその趣旨の範囲で修正を施して実施できることを、当業者なら理解するであろう。さらに、今後の審査中に補正がなされた場合にも、全てのクレーム要素の均等物が包含されることは、本出願人の意図するところである。
【図面の簡単な説明】
【００６９】
【図１】ホスト同士を接続しているネットワークの注釈付きトポロジを提供する１組のネットワーク接続されたホスト／マシンに関する高次の概略図である。
【図２】図１に示されたネットワーク・エンドポイント間の注釈付けされていないネットワーク・トポロジの図である。
【図３】図２に示されたネットワーク・トポロジ内のネットワーク・リンクの各々に注釈付けする例示的な諸ステップの図である。
【図４】図２に示されたネットワーク・トポロジ内のネットワーク・リンクの各々に注釈付けする例示的な諸ステップの図である。
【図５】例示的な注釈付きネットワーク・トポロジを示す図である。
【図６】本発明の例示的実施形態に係る実装アーキテクチャを示す図である。
【図７】本発明の種々の実施形態により用いられる手順を示す図である。
【図８】本発明の種々の実施形態により用いられる手順を示す図である。
【図９】図１に示されたネットワーク経路内のボトルネック・リンクを検出する手順を示す図である。
【図１０】本発明の一実施形態に係るネットワーク経路注釈サービスを生成する例示的なハードウェア／情報処理システムの図である。
【図１１】図７及び図８に示された方法ステップに関する情報を記憶する信号保持媒体（例えば記憶媒体）の図である。
【図１２】図７及び図８に示された手順を実行するように構成されたプログラム・コードを記憶する例示的なＲＡＩＤアレイ（例えば、記憶媒体）の図である。
【符号の説明】
【００７０】
１００  ネットワーク・トポロジ
１０２、１０４、１０６、１０８、１１０、１１２、１１４、１１６、１１８  エンドポイント
２００  トポロジ・マップ
２０２、２０４、２０６、２０８、２１０、２１４、２１６  ノード
３０２、３０４  ネットワーク・リンク
４００  ネットワーク
５０２  最適化解決ユニット
５０４  データ獲得ユニット
５０６  配備エンジン・ユニット
５１０、５１２、５１４  エージェント
５０８  ネットワーク
５１６、５１８、５２０  ネットワーク・エンドポイント
８１２  システム・バス
９００  ＣＤ−ＲＯＭディスケット
１０００  ＲＡＩＤアレイ
【図１】
2007074711.tif 000003
【図２】
2007074711.tif 000004
【図３】
2007074711.tif 000005
【図４】
2007074711.tif 000006
【図５】
2007074711.tif 000007
【図６】
2007074711.tif 000008
【図７】
2007074711.tif 000009
【図８】
2007074711.tif 000010
【図９】
2007074711.tif 000011
【図１０】
2007074711.tif 000012
【図１１】
2007074711.tif 000013
【図１２】
2007074711.tif 000014
【外国語明細書】
2007074711000001.pdf
2007074711000002.pdf
2007074711000003.pdf
2007074711000004.pdf