(57)【要約】  リアルタイムネットワークサービスを監視するにおいて、サービス専用プローブは、実際のサービストラフィックと同一の処理をネットワークから受けるようにサービストラフィックを綿密に模倣する能動プローブである。サービス専用プローブはエンドツーエンド型であり、それらの配備は、ネットワーク中のすべてのリンクの最大のカバレッジを達成したままでプローブトラフィックを最小化することなどの問題に取り組む解決方法次第である。プローブの数が必要な要求された境界ｋを超過するとき、プローブ経路を合併するために、多項式時間のプローブ経路計算アルゴリズムならびに２−近似の解決方法が提供される。アルゴリズムはロケット燃料プロジェクトによって起こされたＩＳＰトポロジーを用いて評価される。ほとんどのトポロジーに対して、端末としてノードの約５％だけを使用して、エッジの約９８％以上を対象として含むことが可能である。
2009524990.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークのトポロジー、ネットワーク中の１組の選択されたエッジおよびネットワーク中の１組の端末を受け取るステップと、
コストを最小化しながら、選択されたエッジの組を対象として含み端末ノードの組を起点および終点とする複数のプローブ経路を有する１組のプローブを決定するステップと、
エンドツーエンド型サービス品質を測定することができるプローブの組を与えるステップとを含む、ネットワークを監視するための、方法。
【請求項２】
プローブの組中のプローブが所定のリンク容量を超過しない、請求項１に記載の方法。
【請求項３】
プローブの組のトータルコストが最小化される、請求項１に記載の方法。
【請求項４】
プローブの組中の各プローブの最大コストが最小化される、請求項１に記載の方法。
【請求項５】
プローブの組中のプローブの合計数が最小化される、請求項１に記載の方法。
【請求項６】
オペレーティングシステムおよび少なくとも１つの記憶デバイスを含むプロセッサと、
ネットワーク監視の方法を実行するための、プロセッサ上で実行することができるソフトウェアコンポーネントとを備え、ソフトウェアコンポーネントが、
ネットワークのトポロジー、ネットワーク中の１組の選択されたエッジおよびネットワーク中の１組の端末を受け取るステップと、
コストを最小化しながら、選択されたエッジの組を対象として含み端末ノードの組を起点および終点とする複数のプローブ経路を有する１組のプローブを決定するステップと、
エンドツーエンド型サービス品質を測定することができるプローブの組を与えるステップとを含む、ネットワークを監視するためのシステム。
【請求項７】
プローブの組中のプローブが所定のリンク容量を超過しない、請求項６に記載のシステム。
【請求項８】
プローブの組のトータルコストが最小化される、請求項６に記載のシステム。
【請求項９】
ネットワーク監視用の方法を実行するための命令を格納するコンピュータ読取可能媒体であって、方法が、
ネットワークのトポロジー、ネットワーク中の１組の選択されたエッジ、およびネットワーク中の１組の端末を受け取るステップと、
コストを最小化しながら、選択されたエッジの組を対象として含み端末ノードの組を起点および終点とする複数のプローブ経路を有する１組のプローブを決定するステップと、
エンドツーエンド型サービス品質を測定することができるプローブの組を与えるステップとを含む、コンピュータ読取可能媒体。
【請求項１０】
プローブの組のトータルコストが最小化される、請求項１３に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にネットワーキングおよびネットワーク管理の分野に関し、具体的には、ネットワークサービスの監視およびサービス品質の評価に関する。
【背景技術】
【０００２】
オーバヘッドが小さいネットワークプロービングによって、最近事の調査作業に混乱が生じた。ＩＤマッププロジェクトと呼ばれる研究プロジェクトは、あらゆる任意の経路の待ち時間が得られる、インターネットの待ち時間マップを作成した。しかし、実際には比較的少数の経路しか監視されないので、あらゆる任意の経路の待ち時間を予測する際に誤差が生じる可能性がある。オーバレイネットワーク設定によって監視するべき経路の最小限の組が見つかり、その結果、すべての経路の動作が推測され得る。解決策の１つに、ネットワーク中の特定の対象リンクに及ぶことができるマルチキャストツリーの最小コストの組を計算するものがある。
【０００３】
最近、すべてのリンクの待ち時間が測定され得るように、すべてのリンクが対象として含まれ、かつ各端末によって伝送されなければならないプローブ経路の最小限の組が計算されるようにプローブ端末を選択するためのアルゴリズムが提供されている。しかし、プローブ経路はプロービング端末から利用可能なインターネットプロトコル（ＩＰ）経路を介して計算される。局所的な柔軟性が仮定されたとき、プローブ経路設計の問題が考慮されている。プローブ経路は、現行のＩＰ経路またはすぐ隣の現行のＩＰ経路のうち１つのいずれかとして選択され得る。効率的なプローブノード（ビーコンと呼ばれる）の配置方策は、ＩＰの経路に変動性がある状態でも決定論的にネットワークリンクをすべて監視するのに必要なプローブノードの最小数を与える。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
プローブ経路およびプローブノード配置に関するこれら既存の研究は、すべて、可能なプローブ経路としてＩＰ経路に注目してきた。明確にルーティングされたプローブパケットに注目する必要性がある。ある研究は、プローブトラフィックによって課されたオーバヘッドを最小化しながら、明確にルーティングされたパケットプローブを通る経路の待ち時間を測定する問題を検討した。しかし、プローブパケットは、ネットワーク中の中心点から始まることが必要とされる。プローブ経路の設計に注目するリンクカバーアルゴリズムの必要性がある。これは、プローブ経路が、ネットワーク内の任意の所与の端末ノードの組から始まって任意の所与の端末ノードの組で終端となるように選択（ソースルーティング）され得るものであり、既存の研究と異なる。この新規の問題設定によって、（１）どのようにプローブを定義するか、（２）どうやって所与のエッジの組に及ぶプローブの最小コストの組を探索するか、また（３）プローブ数とプローブのコストの間のトレードオフは何か、という問題が起こる。
【課題を解決するための手段】
【０００５】
従来技術の様々な欠点は、本発明の様々な例示の実施形態による、ソースルーティングされたプローブを使用するエンドツーエンド型サービス品質のためのシステムおよび方法により対処される。
【０００６】
一実施形態には、ネットワークを監視する方法がある。ネットワークのトポロジー、１組の選択されたエッジ、および１組の端末を受け取った後に、端末ノードの組から始まって端末ノードの組で終端となるプローブ経路を有するプローブの組が求められる。これらのプローブ経路は、コストを最小化する一方で選択されたエッジの組に及ぶ。この方法は、エンドツーエンド型サービス品質を測定することができるプローブの組を与える。別の実施形態には、この方法を実行するための命令を格納するコンピュータ可読媒体がある。別の実施形態には、プロセッサおよびソフトウェアコンポーネントを含む、ネットワーク監視のためのシステムがある。プロセッサは、オペレーティングシステムおよび少なくとも１つの記憶装置を含む。ソフトウェアコンポーネントはプロセッサ上で動作し、この方法を実行する。
【０００７】
本発明の教示は、添付図面と共に以下の詳細な説明を考慮することにより容易に理解され得る。理解を容易にするために、これらの図に共通な同一の要素を示すのに、可能なところでは同一の参照数字が使用されている。
【発明を実施するための最良の形態】
【０００８】
本発明は、主に、ソースルーティングされたプローブを使用するエンドツーエンド型サービス品質のためのシステムおよび方法を含む例示の実施形態の全体的な文脈のなかで説明される。しかし、当業者および本明細書の教示によって知らされた者なら、本発明があらゆるネットワーク、あらゆるネットワークプロトコル、およびあらゆる種類のプローブに対して全般的に適用可能であることを理解するであろう。エッジとリンクは、以下の説明において同義的に用いられる。
【０００９】
集中したインターネットプロトコル（ＩＰ）ネットワークにわたるリアルタイムのサービスおよびアプリケーションをサポートすることの必要性が台頭しつつあり、ネットワーク全体にわたるサービス性能およびサービス可能性を監視するようにサービスプロバイダに促している。必要なスループットをサポートするのに十分な容量を有することに加えて、サービス性能は、再コンバージェンス時間およびサービスディスラプション期間などのルーティングによる障害にも左右される。したがって、ネットワークサービスの性能および使用可能性は、利用可能な帯域幅だけでなくルータ構成および制御プレーンの設計にも左右される。サービスに対するネットワーク障害の影響の評価は、監視されている特定サービスの動作を模倣することができるエンドツーエンド型プローブによって最も良く実行され得る。これらのエンドツーエンド型プローブは、ネットワークの遅延および損失など重大なパフォーマンスパラメータの変化を追跡することができる。エンドツーエンド型プローブは、能動プローブの一般的なカテゴリに入る。
【００１０】
現行の測定方法、すなわち標準の単純ネットワーク管理プロトコル（ＳＮＭＰ）ベースのポーリングまたはリンクレベルに基づいた測定は、ネットワークサービスをモデル化するために使用され得ない。ＳＮＭＰは、性能についてのデバイス中心の見解を与えるだけであるが、その一方で、Ｈｅｌｌｏパケットに基づくものなどリンク状態のメトリクスは、リンク故障の可能性を検出するために使用され得るだけである。エンドツーエンド型プローブを使用するのと異なり、これらの方法は、どれもエンドツーエンドの遅延、損失、およびこれらの性能メトリクスのサービス品質に対する影響を測定するためには直接使用され得ない。エンドツーエンド型ネットワークプローブの配備を取り巻く多くの問題がある。例示の一実施形態には、特定サービスのために供給されたＩＰ経路上のサービスの品質劣化を検出するための最適のプローブ配備アルゴリズムの設計がある。例えば、インターネットプロトコル上での音声通信（ＶｏＩＰ）プローブは、厳格なエンドツーエンド遅延および損失の要求を監視するように設計される。
【００１１】
ｐａｔｈｃｈａｒなどの１パケット法、パケットペアファミリー、ＩＰ管理プロトコル（ＩＰＭＰ）、およびインターネット制御メッセージのプロトコル（ＩＣＭＰ）と、様々なタイプのエンドツーエンド型プローブの手法がある。ｐａｔｈｃｈａｒは、連続したルータからのパケットシーケンスのラウンドトリップの遅延によってリンクの帯域幅を推定するために使用される。パケットペア法は、利用可能な帯域幅またはボトルネックリンク速度を推定するために用いられ得る。エンドツーエンド型測定を達成するためにこれら２つの技術を用いると、測定されたデータがトレースルート（ｔｒａｃｅｒｏｕｔｅ）から得られたトポロジー情報と関連していることが必要となる。
【００１２】
ＩＰＭＰは一方向の遅延を測定するために使用され、パケットプローブの制限のうちいくつかを克服するように設計されている。ＩＰＭＰプロトコルは、経路測定および遅延測定の両方を結合し、したがって、トレースルート測定との相関の必要性が軽減する（すなわち、パス情報はＩＰＭＰパケット中のパスレコード（ｐａｔｈｒｅｃｏｒｄ）フィールドから求められ、ルータによって取り込まれる）。ｐａｔｈｃｈａｒの制限を克服するユーザベースの経路診断方法では、フローの２つのエンドユーザが、自分らのフローに影響を与える性能故障を探索するように協力する。ユーザはいかなる特権的なネットワーク情報も利用せず、ＩＣＭＰなどのパケットペア技術を利用する。しかし、個々のルータのＩＰＭＰおよびＩＣＭＰなどのプローブパケットによって受け取られる処理は、プローブパケットをカプセル化するために用いられるプロトコルに左右される。ネットワークは、このプローブトラフィックを通常のサービストラフィックとは異なって優先させてよい。
【００１３】
したがって、帯域外で（エンドツーエンド型ではなく）、アプリケーショントラフィックのようには見えない稼動中のあらゆる測定方式は、サービストラフィックと比べて異なるネットワーク条件下に置かれることがある。したがって、サービス品質を測定するためには使用され得ない。帯域外ネットワーク測定方式の一例には、不完全なルーティングおよび悪意のあるルーティングを識別するものがある。この方式では、既存のトラフィック経路を安全にトレースし、したがって悪意のあるルータがそれらを通常のトラフィックとは異なって処理することにより特化されたトレースルートパケットを誤らせるのを防ぐことが目標であった。
【００１４】
例示の一実施形態には、様々なネットワークサービス（例えばＶｏＩＰおよびビデオオンデマンド）を模倣するように巧妙に作られソースルーティングされたプローブを備えるサービス監視の構成がある。ネットワークトポロジーについての十分な知識を用いると、サービスプロバイダは、興味のある１組のエッジに及ぶＭＰＬＳプローブ経路を効率的に選択することができ、したがって合計のプローブトラフィックを低減することができる。これはリンクカバー問題と呼ばれる。サービス専用プローブは、ある所定の頻度で計算されたプローブ経路に沿って送られ、エンドツー遅延または損失メトリクスに関して、妨害に対して検査される。邪悪なリンクの検出アルゴリズムは、性能劣化を被ったプローブ経路に基づいてリンクの共通の組に対して開始することができ、性能劣化の一因となるリンクを切り離す。ソースルーティングされたプローブは、プローブ測定と関連するリンクの間の決定論的なマップを与える。したがって、相関の問題ならびにＩＰＭＰ中のパスレコードフィールドの制限は、（過渡の輻輳による）不正確なトレースルートデータで回避され得る。
【００１５】
一般に、この構成は、ほとんどのリンクが運用上の優れた性能を有すると仮定し、目標の１つに、性能劣化している可能性がある少数のリンクまたはノードを識別することがある。この手法は、ネットワーク上の総計のプロービング負荷をかなり低下させることがある。エンドツーエンド型プローブ設計の一実施形態には、トポロジーについての十分な知識を仮定し、ＭＰＬＳなどのソースルーティング機構のためのネットワークサポートを必要とするものがある。
【００１６】
例示の実施形態によって、（１）プローブトラフィックの量を低減させること、および（２）プローブの配置コストを最小化することの、アクティブネットワークのプローブ配備に関する２つの主要な問題が同時に対処される。プローブの配備コストは、端末コスト（例えばプローブ端末を作るためのソフトウェア組込み）ならびに経路コスト（すなわち特定のリンクを使用するキャパシティコスト）に関して捕えられ得る。
【００１７】
リンクカバー問題は、混合グラフ問題として策定され、この場合、対象エッジの指定の組に及ぶことができる１組のプローブが設計され、すべてのプローブは基本的なものである（すなわち中間ノードを２度以上横切ることがない）。本発明の、最小トータルコストのプローブ経路の設計は、貪欲な手法を用いて達成される。これは多項式時間アルゴリズムであり、各エッジに対する最小コストのソース−デスティネーション経路が対象として含まれるべきという考えに基づく。このアルゴリズムはループのないプローブを生成し、最小トータルコストの１組のプローブをもたらす。リンクカバー問題の２つの可変要素が検討される。１つの可変要素は、プローブの合計数ｂｅ≦ｋを保ちつつ、任意のプローブの最大コストを最小化するためのものである。もう１つの可変要素は、任意のプローブの最大コストｂｅ≦Ｉｍａｘを保ちつつ、プローブの数を最小化するためのものである。これら２つの可変要素はＮＰ困難であり、例示の実施形態は、これらのための２−近似アルゴリズムを含む。
【００１８】
例示の実施形態は、多項式時間アルゴリズムならびに２−近似アルゴリズムを含み、これらはロケット燃料プロジェクトと呼ばれる研究計画から得られた最大のインターネットサービスプロバイダ（ＩＳＰ）のトポロジーのうち５つに対するシミュレーションによって評価された。各ケースにおける評価基準は、（１）すべてのプローブのトータルコスト、（２）プローブの合計数が固定されたときのプローブの最大コスト、および（３）プローブの平均コストであった。
【００１９】
プローブ端末の組がバックボーンノードであるように選択されたとき、このアルゴリズムの例示の実施形態は、きわめて最適解に近く実行されることが証明された。プローブ端末は、プローブがそこから開始し、かつそこで終わるノードである。プローブは、当業者に知られているように、グラフのエッジのすべてに及ぶチャイニーズポストマン巡回から導出された経路（巡回）であるように設計されている。しかし、その解決方法で配置されたプローブはループを有するものであり、ループを除去するためにループ検出手法および発見的方法を用いる必要があって、解決方法がより冗長になる。ループの除去は、プローブの実用的な実施のために必要とされるステップである。例示の一実施形態には、基本経路（巡回）のプローブ、すなわち２度以上トランシット（中間）ノードと交差しないプローブ経路のみを探索することにより明示的にループの除去を説明する方法がある。
【００２０】
モチベーションおよび問題定式化
ネットワーク性能およびサービス有効性のリアルタイム監視は、エンドツーエンド遅延、パケット損失、およびサービス品質を測定するための測定技術を必要とする。一実施形態では、サービス専用プローブは、それらがネットワークから実際のサービストラフィックと同一の扱いを受けるように綿密にサービストラフィックを模倣する能動プローブである。一実施形態では、ソースルーティングされたプローブも様々なネットワークサービスを模倣する。ソースルーティングされたプローブは、ネットワークトポロジーの十分な知識を必要とする。邪悪なリンクの検出アルゴリズムと併用して、性能劣化の一因となるリンクが切り離され得る。ソースルーティングされたプローブは、相関の問題を回避する。マルチプロトコルラベルスイッチング（ＭＰＬＳ）などのソースルーティングにネットワークサポートが利用可能である。一実施形態では、ネットワークサービス品質の評価がエンドツーエンド型プローブによって実行され得る。
【００２１】
合計のプローブトラフィックを最小化し、プローブの最大コストを最小化し、プローブ数を最小化するためのアルゴリズムの必要性がある。例示の実施形態に対するシミュレーション結果は、ほとんどのＩＳＰトポロジーに関して、ほんの５％のノードが、端末として９８％を上回るエッジに及ぶことを示し、したがって、端末数を増加させることは、合計のプローブトラフィックを最小化するのにあまり役立たない。
【００２２】
問題の説明
図１は、リンクカバー問題を示す例示のブロック図１００である。図１に示されるネットワークには、ノードａ  １０２、ノードｂ  １０４、ノードｃ  １０６、ノードｄ  １０８、ノードｅ  １１０、ノードｆ  １１２、ノードｇ  １１４、およびノードｈ  １１６の８つのノードがある。ノードａ  １０２、ノードｂ  １０４およびノードｃ  １０６は端末ノード（図１中の暗くなった円）１１８として動作し、他のすべてのもの（すなわちノードｄ  １０８、ノードｅ  １１０、ノードｆ  １１２、ノードｇ  １１４およびノードｈ  １１６）は、普通のノード（図１中の暗くない円）１２０である。図１中の破線はプローブ経路である。プローブ１  １２２、プローブ２  １２４、およびプローブ３  １２６の３つのプローブがある。各プローブ１２２、１２４、１２６は、その終点を、端末１１８のうちの１つ、すなわちノードａ  １０２、ノードｂ  １０４、またはノードｃ  １０６に配置する。各ネットワークリンクは、図１に指定されるようにコスト（重み）を有する。エッジ（ｇ，ｈ）１２８、（ｈ，ｃ）１３０、（ａ，ｄ）１３２および（ｄ，ｆ）１３４は、対象のネットワークリンクである（本明細書では、用語エッジとリンクは互換性があるように用いられる）。目標は、これら興味のあるエッジ、すなわち監視するべき選択されたエッジのすべてに及ぶプローブの組を設計することである。
【００２３】
この例では、プローブ１  １２２は、端末ａ  １０２から出て、リンク（ａ，ｄ）１３２、（ｄ，ｆ）１３４を横切り、端末ａ  １０２に戻り、プローブ２  １２４は、ノードａ  １０２から出て、リンク（ａ，ｄ）１３２、（ｄ，ｅ）１３６、（ｅ，ｈ）１３８を横切って端末ｃ  １０６に達する。プローブ１  １２２は巡回である。プローブ３  １２４は、端末ｂ  １０４から開始し、エッジ（ｂ，ｇ）１４０、（ｇ，ｈ）１２８をわたって進み、端末ｃ  １０６で終わる。対象のすべてのリンク１２８、１３０、１３２、１３４は、これら３つのプローブによって対象として含まれる。プローブのコストを表わすために、経路のすべてのエッジの重みの和が用いられる。プローブの組のトータルコストは、（１０＋５０＋１０）＋（１０＋１０＋１０＋１０）＋（１０＋１０＋１０）＝１４０であり、最大コストのプローブはプローブ１  １２２であって、そのコストは７０である。この例から、リンク（ａ，ｄ）１３４は、２つのプローブ（すなわちプローブ１  １２２およびプローブ２  １２６）よって対象として含まれ、その重みは、これら３つのプローブのトータルコストに２度カウントされる。プローブ１２２、１２４、１２６は、プローブ１  １２２のように、その両端を同一の端末に位置させることが許される。また、すべての興味のあるエッジ１２８、１３０、１３２、１３４に及ぶのに、プローブ２  １２６は不要である。すなわち、プローブ２  １２６は除去され得て、また、対象のエッジ１２８、１３０、１３２、１３４は、依然としてすべてがプローブ１  １２２およびプローブ３  １２６だけによって対象として含まれ、トータルコストは１４０から１００まで低減される。
【００２４】
問題の定式化
例示の一実施形態に、リンクカバー問題の形式的記述がある。ネットワークは、接続されていて方向付けされていないグラフＧ＝（Ｖ，Ｅ）としてモデル化され、Ｖは頂点（ネットワーク中のノードを表わす）の組であり、Ｅはエッジ（ネットワークリンクを表わす）の組であって、｜Ｖ｜＝ｎ、かつ｜Ｅ｜＝ｍである。Ｇには自己ループがない。すなわち１つのノードから出てそのノード自体に戻るエッジはない。また、Ｇは必ずしも平面グラフではない。グラフＧにおいて、ノードと頂点、リンクとエッジは、互換性があるように混乱なく用いられる。
【００２５】
各エッジにわたってコスト関数
【数１】
2009524990.tif 000003
が存在する。この関数は、プローブがこのネットワークリンク（エッジ）にわたって動作するとき、プローブのコストを示す。グラフ中の１組の特定のノードＴは発呼端末Ｔ⊆Ｖである。Ｓは対象のエッジの組であり、Ｓ⊆Ｅである。通常
【数２】
2009524990.tif 000004
かつ
【数３】
2009524990.tif 000005
である。経路Ｐは、Ｖの中の２つのノード間の１組の連結されたエッジと定義され、これら２つのノードは経路の終端と呼ばれる。経路の両端が同一のノードであるとき、この経路は巡回とも呼ばれ得る。経路Ｐが与えられたとすると、経路Ｐがエッジｅを含む（これをわたって動作する）という事実を示すために
【数４】
2009524990.tif 000006
を用いる。終端ノードを除いて、経路が交差するノードはすべて中間ノードと呼ばれる。一般的な場合では、経路はループを有することがある。ループは、１つの中間ノードと２度以上交差する副経路と定義される。いかなる中間ノードも２度以上横切ることのない経路（それぞれの巡回）は、基本経路（それぞれの巡回）と呼ばれる。すなわち、基本経路（それぞれの巡回）にはループがない。また、ノードｖ１∈Ｖからノードｖ２∈Ｖまでの経路は、ｖ１〜→ｖ２として示され、経路Ｐのコストは
【数５】
2009524990.tif 000007
として定義される。
【００２６】
プローブと呼ばれる特定の経路は、ある端末ｔ１∈Ｔから別の端末ｔ２∈Ｔまでの基本経路と定義される。すなわち、プローブの両端は端末でなければならない。端末ｔ１と端末ｔ２は、別個のものである必要はない。ｔ１＝ｔ２のとき、プローブは（ループのない）巡回である。プローブを強制的に基本経路にするためのモチベーションは、一般に、ループを有する経路がＩＰネットワークでは許されないことである。そのような経路はルータによって拒絶されることになる。したがって、リンクカバー問題に対する実行解は、すべてのエッジｅ∈Ｓ（⊆Ｅ）が少なくとも１つの経路
【数６】
2009524990.tif 000008
によって対象として含まれるように、１組の基本プローブ経路Ｐを探索することである。
【００２７】
入力の例
方向付けされておらず、結合され、重み付けされたグラフＧ＝（Ｖ、Ｅ）、Ｓ⊆ＥかつＴ⊆Ｖが与えられたものとする。各エッジｅ∈Ｅからそのコストを表わす負でない数までマッピングｗｅ
【数７】
2009524990.tif 000009
が存在して、各エッジｅ∈Ｅについて、ｗｅ≧０である。プローブ経路の組Ｐは、すべてのこのようなプローブ
【数８】
2009524990.tif 000010
として定義される。各エッジｅ∈Ｓに対して、
【数９】
2009524990.tif 000011
となるような少なくとも１つのプローブ
【数１０】
2009524990.tif 000012
が存在する。例示の実施形態は、最小コストのリンクカバー問題（ＬＣＰ）、主要なリンクカバー問題（ＰＬＰ）、およびデュアルリンクカバー問題（ＤＬＰ）の３つの部分問題として表わされ得る最適化目標を有する。
１．第１の部分問題は、最小コストのリンクカバー問題（ＬＣＰ）である。ＬＣＰでは、必要とされるプローブのトータルコストを最小限にすることが目標である。プローブのコストは、ネットワーク上のトラフィック負荷に関して測定される。すなわち、
【数１１】
2009524990.tif 000013
である。
２．第２の部分問題は、主要なリンクカバー問題（ＰＬＰ）である。ＰＬＰでは、プローブの最大コストを最小化することが目標である。プローブのコストは、待ち時間、スループットまたは長さに関して測定され得る。すなわち、
【数１２】
2009524990.tif 000014
である。上式で、ｋは定数であり、使用され得るプローブ数の上限である。
３．第３の部分問題は、デュアルリンクカバー問題（ＤＬＰ）である。ＤＬＰでは、プローブの合計数を最小化することが目標である。プローブの合計数は、プローブの導入コストを反映する。すなわち、
【数１３】
2009524990.tif 000015
である。上式で、Ｉｍａｘは任意のプローブに対して認められた所与の最大コストであり、ｋは必要とされるプローブ数である。
【００２８】
アルゴリズムおよび解析
リンクカバー問題の３つの可変要素の複雑さが求められなければならない。ＬＣＰがＮＰ困難問題ではないので、ＬＣＰ用に設計されている多項式時間アルゴリズムならびにＰＬＰおよびＤＬＰ向けの２−近似アルゴリズムが提示される。ＰＬＰおよびＤＬＰに関する複雑さ（困難さ）は、次のように解析される。
【００２９】
ＰＬＰおよびＤＬＰの緩和のための複雑さ解析
問題の定式化では、プローブは強制的に基本経路または巡回にされる。たとえ問題の定式化が、プローブが基本経路である必要はないように（ループを有することができるように）緩和されたとしても、ＰＬＰおよびＤＬＰは依然としてＮＰ困難である。これは、ｋ−チャイニーズポストマンの最小−最大問題（ＭＭ  ｋ−ＣＰＰ）および容量制約付きアークルーティング問題（ＣＡＲＰ）から容易に一般化され得る。
【００３０】
簡単には、ＰＬＰはＳ＝ＥかつＴ＝｛ｓ｝のときのＭＭ  ｋ−ＣＰＰの一般化であり、ｓは、ＭＭ  ｋ−ＣＰＰにおけるデポノードである。同時に、ＤＬＰはＳ＝ＥかつＴ＝｛ｓ｝のときのＣＡＲＰの一般化であって、ｓはデポノードであり、ＩｍａｘはＣＡＲＰにおける伝達手段の容量である。
【００３１】
主要なリンクカバー問題（ＰＬＰ）のＮＰ困難
プローブが基本経路（巡回）と定義されるように制限されるとき、ＰＬＰの困難は、ＭＭ  ｋ−ＣＰＰからは直接誘導され得ない。
【００３２】
以下の問題、すなわちメイクスパン（ｍａｋｅｓｐａｎ）最小スケジュールについて検討する。１組のタスクＴが与えられたとして、定数ｍに対してｍ個の同一のマシンが存在する。各タスクｔ∈Ｔは、時間ｐｔが終了されること、またいかなるタスクも任意の（同一の）マシン上で実行され得ることを必要とする。この問題の目標はメイクスパン（このスケジュールに関する任意のマシンの最大の完了時間）を最小化することである。このメイクスパンスケジュールを最小化する問題は、（たとえｍ＝２でさえ）ＮＰ困難であることが知られており、また、２−近似アルゴリズムをもたらす簡単で貪欲なやり方が存在する。また、多項式時間方式（ＰＴＡＳ）のアルゴリズムは、近似比を１＋εに改善する。以下は、メイクスパンスケジュールを最小化する問題からの変換によってそのＰＬＰの困難を証明する。
【００３３】
定理１：ＰＬＰの決定バージョンはＮＰ困難である。
【００３４】
証明：定理１は、メイクスパンスケジュールを最小化する問題からの変換による矛盾法によって証明される。最小メイクスパンスケジュール問題の任意の例Ｉが与えられたとして、例Ｉ’が（多項式時間で）ＰＬＰに構成され得て、その結果、Ｉ’が多項式時間でＰＬＰを満たす場合、Ｉは多項式時間で最小メイクスパンスケジュール問題の決定バージョンを満たすことを証明する。したがって、ＰＬＰ向けの多項式時間アルゴリズムの存在を仮定すると、複数のマシンにわたってメイクスパンを最小化する問題は、多項式時間でＰＬＰ向けのアルゴリズムによって解かれ得るので、ＮＰ困難ではない。証明の詳細が続く。
【００３５】
最小メイクスパンスケジュール問題の例Ｉを検討する。ｍ個の同一のマシンおよび１組のジョブＴが存在する。各ジョブｔ∈Ｔは、ｐｔの処理時間を必要とする。次に、例Ｉ’をＰＬＰに構成する。Ｉ’には、グラフＧ＝（Ｖ，Ｅ）が存在し、｜ｖ｜＝２×｜Ｔ｜＋２である。各ジョブｔ∈ＴはグラフＧ中の２つのノードに対応し、各ジョブは、一般性を失うことなくグラフ中の左のノードおよび右のノードを有するものと見られる。左のノードと右のノードを結合するエッジの重みはｐｔである。
【００３６】
２つの特定のノード、ｓ１およびｓ２が存在すると仮定する。Ｔ＝｛ｓ１，ｓ２｝である。次に、各ジョブの左のノードへｓ１をリンクし、かつリンクの重みを０に設定する。また、各ジョブの右のノードをｓ２にリンクするが、そのリンクに割り当てられる重みは０である。その上、各ジョブの右のノードを他のすべてのジョブの左のノードにリンクし、リンクの重みを０に割り当てる。すべてのジョブの対応するエッジ（ジョブの左のノードと右のノードを結合する）は、興味のあるエッジＳ⊆Ｅの組から成る。ここまでに、２つの端末ｓ１およびｓ２しか存在しない、ＰＬＰに対する例Ｉ’が生成された。対象とするべきエッジの組にＳを設定し、また、使用されるべきプローブ数ｋはｍ（ｋ≦ｍ）によって制限されるが、ｍは最小メイクスパンスケジュール問題に対する例Ｉにおける同一のマシンの数である。
【００３７】
明らかに、この例Ｉ’に関して、プローブの最大コストを最小化する多項式リンクアルゴリズムが構成され得るなら、ｋ＝ｍのプローブ（より多くのプローブが使用されるとプローブの長さはより小さくなる）の存在を仮定すると、例Ｉにおいて、同一のプローブに属するすべてのエッジが、１つのマシン上でスケジュールを組まれるすべての対応するジョブに繋がるのが認められ得る。これらのジョブを実行するｍ−ｋマシンが存在する。したがって、最小メイクスパンスケジュール問題に対するいかなる例も、多項式時間でＰＬＰに対する例に変換され得る。最小メイクスパンスケジュール問題の決定バージョンがＮＰ困難であるので、ＰＬＰの決定バージョンはＮＰ困難である。定理１が成り立つ。
【００３８】
次に、ＤＬＰのＮＰ困難を検討する。ＤＬＰはＰＬＰの対照物であり、同一のＮＰ困難を有する。同様に、ＤＬＰの困難は、ＣＡＲＰからの直接変換によって証明され得ない。典型的なＮＰ困難問題（ビン詰問題）を検討する。サイズがａ１、ａ２、．．．、ａｎ∈｛０、１｝のｎ個の要素が与えられたとして、単一サイズのビン中の梱包で、使用されるビンの数を最小にするものを探索する。ビン詰問題は、ＮＰ困難であると証明されている。それから、推論１が推測される。
【００３９】
推論１：ＤＬＰの決定バージョンはＮＰ困難である。
【００４０】
証明：推論１は、典型的なビン詰問題からの変換によって証明され得る。ビン詰問題は、対象として含むべきエッジの重みがビン詰問題における要素の値に対応することを除けば、定理１に対する証明で構成されたものと同じである。
【００４１】
明らかに、この例Ｉ’に関して、プローブの数を最小化する多項式時間アルゴリズムが構成され得る。次いで、各プローブのコスト≦Ｉｍａｘが存在するとして、例Ｉでは、プローブの数は、使用されるビンの数を反映することが理解され得る。したがって、ビン＝詰め物問題に対するいかなる例も、多項式時間でＤＬＰに対する例に変換され得る。ビン詰問題の決定バージョンがＮＰ困難であるので、ＤＬＰの決定バージョンもＮＰ困難である。推論１が成り立つ。
【００４２】
ＰＬＰおよびＤＬＰがＮＰ困難であるならば、それらを解く効率的なアルゴリズムは存在しない。したがって、一実施形態では、それらを解くために近似アルゴリズムが設計される。従来よく知られているいくつかの成果が、このアルゴリズムを理解するのに有効である。第１に、混合グラフでチャイニーズポストマン巡回を探索することはＮＰ困難である。しかし、方向付けられていないグラフにおいてチャイニーズポストマン巡回を計算する効率的なアルゴリズムが存在する。第２に、方向付けられておらず、結合され、負でない重み付けをされたグラフにおいて任意の２つのノード間の最短経路を計算するための効率的なアルゴリズムが存在する。エッジの重みが負であることが許されるとき、最短経路問題はＮＰ困難である。第３に、横型探索または縦型探索向けの効率的なアルゴリズムが存在する。横型探索アルゴリズムを用いると、重み付けされておらず方向付けられていないグラフ上で、より簡単な最短経路アルゴリズムが（線形時間で）探索され得る。第２および第３の技術を基に、ＬＣＰ向けの多項式時間アルゴリズムが設計され得て、また、ＰＬＰとＤＬＰの両方のための２−近似アルゴリズムが設計され得る。
【００４３】
アルゴリズム
例示の一実施形態には、Ｓの中のエッジがすべて少なくとも１つの経路
【数１４】
2009524990.tif 000016
によって対象として含まれ、かつプローブのトータルコストが最小化されるように、１組の基本プローブＰを計算することができる多項式アルゴリズムがある。別の例示の実施形態には、ＰＬＰ向けの２−近似アルゴリズムがある。ＰＬＰ向けアルゴリズムに対して小さな修正を施した一実施形態に、ＤＬＰ向けの２−近似アルゴリズムがある。
【００４４】
一般性を損なうことなく、端末の組を示すためにｔ１、．．．、ｔ｜Ｔ｜を用い、かつノードａとノードｂを結合するエッジを示すために（ａ，ｂ）を用いる。ノードａはエッジの左のノードであり、ノードｂはエッジの右のノードである。方向付けられていないグラフでは、エッジの左のノードと右のノードの間に差がないことを思い起こされたい。ここでは、「左」と「右」はアルゴリズムの説明を容易にするだけのために指定される。以下では、最短経路は、重み付けされ、方向付けられていないグラフ上の最短経路を指す。最短経路は最小限のコストのプローブ（経路）を指す。
【００４５】
ＬＣＰ向け多項式時間アルゴリズム
補助定理１：１組の端末Ｔであるエッジｅ＝（ｖ１，ｖ２）が与えられたとして、１つの端末からノードｖ１およびｖ２までの最短経路は、ｔｉ〜→（ｖ１，ｖ２）〜→ｔｊと表現し、基本経路（巡回）またはループが１つしかない経路（巡回）のいずれかである。ここで、ｔｉ，ｔｊ∈Ｔであり、ｔｉとｔｊは必ずしも別個ではない。
【００４６】
証明：補助定理１で明示された（見つかった）最短経路は、両方の終端が端末であるが、プローブでない可能性がある。というのは、プローブは、基本経路（巡回）でしかないことが必要とされるからである。補助定理１の証明は簡単である。まず、経路ｔｉ〜→（ｖ１，ｖ２）〜→ｔｊが与えられたとして、ｔｉ〜→ｖ１、（ｖ１，ｖ２）およびｖ２〜→ｔｊの間に他の端末は存在しない。そうでなければ、所与の経路は、所与のエッジ（ｖ１，ｖ２）のノードからＴの中の端末への最短経路ではない。その理由は、ｖ１用の端末を配置する際に最短経路アルゴリズムが適用され（負でない、重み付けされたグラフ上で）、したがって、１つの端末が一旦ｖ１用の条件を満たすと、その経路に沿ったいかなる可能な端末もｖ１へのより短い距離を有するからである。
【００４７】
エッジｅの両方（ｖ１およびｖ２）のノードが、最短経路のそれらのデスティネーションと同一の１つの端末を有する場合、正確に１つのループが生成される。補助定理１が成り立つ。
【００４８】
補助定理１は、１つだけのエッジに及ぶ最短のプローブを探索する目的に役立つ。エッジｅ＝（ｖ１，ｖ２）（ｅ∈Ｓ）および端末の組Ｔ⊆Ｖ（｜Ｔ｜≦ｎ）が与えられたとして、エッジｅに及ぶプローブに対してプローブ終端として働くことができる端末の組は、せいぜい｜Ｔ｜２個しかない。また、
【数１５】
2009524990.tif 000017
によってｖ１への最短経路が与えられたとすると、ループの生成を避けるために、ｔｉ∈Ｔの場合を除けば、経路
【数１６】
2009524990.tif 000018
中のいかなる中間ノード（どれも端末ではない）も、ｖ２から端末への経路ｖ２〜→ｔｊ中の中間ノードのうちの１つではあり得ない。したがって、一旦１つの端末からｖ１までの最短経路が見つかると、ループの生成を避けるために、経路中のすべての中間ノードＶ’およびそれらの中間ノードに関連したすべてのエッジＥは、グラフＧ’＝（Ｖ−Ｖ’，Ｅ−Ｅ’）から除去される必要がある。ただし、Ｖ’は１つの端末からｖ１までの最短経路中の中間ノードの組であり、Ｅ’はそれらのノードに関連したエッジの組である。ｖ２から別の端末∈Ｔまでの最短経路Ｐ２を探索するために、同一のプロシージャを適用する。そのような経路
【数１７】
2009524990.tif 000019
が存在するならば、明らかにそれは基本経路（巡回）である。
【００４９】
ｖ１およびｖ２を選ぶ順序は注意されなければならない。一般性を失うことなく、すべての端末に索引を付け、ノードｖ１がＴの中の複数の端末への同一の距離を有するときは、より小さな索引番号を有するものを選択する。そのような手法を用いて、所与のノードに対して最も近い端末を見つけるためのプロシージャが多項式時間で決定される。また、Ｐ２が見つからないときは、エッジｅを含む基本経路（巡回）は存在しない。
【００５０】
ここで、｜Ｔ｜２個の端末の組が与えられたとすると、各エッジｅ∈Ｓに及ぶ別個の基本経路（巡回）が最多で｜Ｔ｜２個見つけられ得る。次いで、計算されたそれら｜Ｔ｜２個の基本経路の中で、どれがエッジｅ＝（ｖ１，ｖ２）に及ぶ最短のものであるか決定する。ｅに割り当てられる最短の基本経路としてそれを選択する。したがって、補助定理１に続いて、補助定理２が存在する。
【００５１】
補助定理２：１組の端末Ｔであるエッジｅ＝（ｖ１，ｖ２）が与えられたとして、ｔｉ〜→（ｖ１，ｖ２）〜→ｔｊからの最短（コスト最小）の基本経路を見つけるための多項式時間アルゴリズムが存在する。ｔｉ，ｔｊ∈Ｔであり、ｔｉとｔｊは必ずしも別個ではない。
【００５２】
証明：端末ｔｉ∈Ｔが与えられたとして、ｖ１からｔｉまでの最小コストの経路を探索するための多項式時間アルゴリズムが存在する。次いで、残りのグラフから、経路中の中間ノードおよびそれらの関連するエッジをすべて除去する。同一のアルゴリズムを適用して、ｖ２から端末ｔｊ∈Ｔまでの最小コストの経路を得る。結論として、連結された経路（巡回）（１つの端末からｖ１への経路、エッジｅ、およびｖ２から１つの端末への経路）は基本経路である。すべての実現可能な連結された経路または巡回（プロシージャにおいて経路を見つける際にｖ１およびｖ２の両方が第１のノードであり得るので、最多で｜Ｔ２｜個の経路または巡回）の中で、最小コストのものが見つけられ得て、エッジ（ｖ１，ｖ２）に及ぶプローブとして役立つ。
【００５３】
エッジ（ｖ１，ｖ２）に及ぶ、より短い（より低コストの）いかなる経路または巡回もループをもたらすと主張される。より短い経路（最適経路）が存在すると仮定する。それは、一般性を損なうことなく、１つの端末からｖ１への経路、エッジ２、およびｖ２から１つの端末までの経路から成る３つの部分を有すると仮定する。したがって、１つの端末からｖ１までの最適経路は、見つかったのと同一のものである。選択されるノードは、別個の端末への同一の距離を有して、最も小さな索引番号を付けられたものである。
【００５４】
図３は、補助定理２に対する証明を説明する一例３００である。
【００５５】
対象として含むべき２つのエッジ、すなわちｅ１＝（ｖ１，ｖ２）およびｅ２＝（ｖ３，ｖ４）が存在すると仮定する。２つの基本経路がそれらに及び、ｅ１に及ぶ１つの経路が、端末ｔ１から始まって端末ｔ２で終わる。ｅ２に及ぶもう１つの経路が、端末ｔ３から始まって端末ｔ４で終わる。これら２つの経路がノードｖで交差すると仮定する。ここで、ｅ１に及ぶ経路は、ノードｖから出るときに、端末ｔ４でなく端末ｔ２をその終端として選択するものと考える。というのは、ｖからｔ４までの経路長がｖからｔ２まで経路長より大きいからである。同時に、ｅ２に及ぶ経路は、その端末としてｔ２でなくｔ４を選択する。したがって、ｖからｔ４までの経路長はｖからｔ２まで経路より短い。これら２つの結論は互いに矛盾する。したがって、この仮定は不適切である。このため、最短距離アルゴリズムから計算されたいかなる２つの基本経路も、互いと交差し得ない。
【００５６】
要約すると、ｖ２から１つの端末へのより短い経路が存在するならば、その経路は、ｖ１への経路中の１つの中間ノードと互いに交差するはずである。したがって、それが基本経路ではないことが判明する。経路Ｐ１とＰ２が１つのエッジを共有するなら、それらは少なくとも１つのノードを共有しなければならない。上記の解析から補助定理２が成り立つ。
【００５７】
補助定理１および補助定理２から定理２が続く。
【００５８】
定理２：興味のあるエッジがすべてプローブＰによって対象として含まれ、
【数１８】
2009524990.tif 000020
が最小化されるように１組のプローブＰを探索するための多項式時間アルゴリズムが存在する。
【００５９】
証明：定理２は、補助定理１および補助定理２から構成法によって直接証明される。補助定理１および補助定理２は、任意の所与のエッジｅに及ぶ基本経路（巡回）を探索するための多項式時間プロシージャをもたらす。補助定理１および補助定理２は、Ｓの中のすべてのエッジに及ぶトータルコスト最小のプローブを探索するための背景知識をもたらす。方向付けられておらず、負でない、重み付けされたグラフにわたって任意の最短経路アルゴリズムを用いて、１つのノードから所与の端末への最小コストの経路が計算される。一旦エッジｅ向けのプローブが配置されると、このプローブ中の興味のあるエッジはすべてＳから除去される。他のプローブによっても対象として含まれる興味のあるエッジがその上にあるそれらの経路の中で、そのプローブをＰから除去する。組Ｐの中にそのようなプローブがなくなるまで、これを繰り返す。このことは、必要なエッジのすべてに及ぶプローブの冗長性を取り除く。貪欲な手法は、各ステップにおいてプローブのトータルコストを低下させるものであり、新規に生成された各プローブは、既に生成されたどのプローブでも置換され得ない。したがって、同一のプロシージャを適用して、Ｓの中の残りのエッジに及ぶ最短経路を探索する。組Ｓが空になるまで繰り返す。
【００６０】
次いで、１組の基本経路Ｐが探索される。Ｐは、１つまたは複数の興味のあるエッジに及ぶ、プローブとして働く経路である。最終的に、上記プロシージャは、すべてのプローブのトータルコストを最小限にする際の、ＬＣＰ向け多項式時間アルゴリズムをもたらす。定理２が成り立つ。
【００６１】
定理２の証明の一例として図２を参照する（理解しやすいように、図２にはすべてのリンクが示されているわけではない）。対象として含まれるべきエッジが５つ与えられたとして、ｓ１およびｓ２はＴの中のわずか２つの端末である。各エッジを横切るコストは、図２に示されている。ここで、プローブの数がｋ＝２に制限され、また、２つのプローブ、すなわちｓ１→１０→１２→ｓ２およびｓ１→７→３→１→１０．５→ｓ２がＰＬＰ向けの多項式時間アルゴリズム中に見つかり、プローブの最小のコストが２２であると仮定する。したがって、最小メイクスパンスケジュール問題では、これら５つのジョブは、それに応じて、２つの同一のマシン中に最適に配置され得る。１つは処理時間１０、１２で動作中のジョブであり、もう１つは処理時間７、３、１および１０．５で動作中のジョブである。最適のメイクスパンは２２である。
【００６２】
図４は、プローブのトータルコストが最小限であるプローブの組を探索する方法を説明するアルゴリズムの例示の実施形態向け擬似コードのリストである。この例示の実施形態は、１組の頂点Ｖおよび１組のエッジＥを有するグラフＧ用ＬＣＰ向けにリンクカバーを探索するためのアルゴリズムである。入力は、ネットワークＧ＝（Ｖ，Ｅ）のトポロジー、興味のある１組のエッジＳ０、および索引を付けられた１組の端末ノードＴを含む。任意の所与の２つのノードＩとｒ（ｖｉ，ｖｒ）の間の興味のある２つのエッジ向けに、また、端末の組に属する各端末向けに、ノードＩと端末の間の最短経路を探索する。より小さな索引を付けられた端末のために、いかなる結合も断って、最も近い端末を選択する。既に使用されているリンクを使用せずに、端末ノードから、同一の端末ノードまたは他の何らかのノードのいずれかに戻る別の経路を探索する。したがって、元の最短経路中のすべての中間ノードＶ’ならびにすべての関連するエッジは、グラフＧから除去される。次いで、残りのグラフＧ上で、次の終点ｖｒから端末ノード（同一または別個の端末ノードであり得る）まで、別の最短経路を探索する。このようにして、あたかも、任意の端末ノードからｖｉまで行くものと、次いでｖｒから他の任意の端末ノードまで行くものの２つの最短経路問題のように、リンク（ｖｉ，ｖｒ）を細分し、ループを回避するために、ｖｒから他の任意の端末ノードまでの経路が、過去に使用されたいかなるリンクも使用しないことを確認する。
【００６３】
一旦所与の各エッジの基本経路がすべて見つかれば、トータルコストが最小の基本経路を選択し、それをエッジｅ向けのプローブＰｅとして示す。Ｓ０から興味のあるエッジｅ’をすべて除去する。ｅに印を付け、除去されたエッジを個別の組に入れる。問題の第２の部分は、最大の重みを有するプローブ（例えばコストまたはホップの数が大きいもの）を除去することである。時には、長いプローブ経路は短いプローブ経路より高価である。問題の第１の部分は、ループのない経路を探索して、興味のあるエッジに及ぶ１組のプローブを最小のコストで探索することである。この例示の実施形態の結果は、興味のあるエッジに及ぶ、コストが最小の１組のプローブ経路である。プローブ経路のこの組は、ネットプローブ（ＮｅｔＰｒｏｂｅ）などのネットワークを監視するツール中に使用され得る。ネットワークマネージャは、プローブ経路の組を使用して、ある端末から別の端末へプローブを送ることができる。これは、ネットワークにわたってトラフィックを送るために、最小のコストでネットワークサービスを模倣するプローブを構成する。
【００６４】
ＰＬＰ向けの２−近似アルゴリズム
定理２の証明は構成的証明である。見つかった基本最短経路の数がｋ’であると仮定する。Ｓの中のすべてのエッジに対するプローブの数がｋ’≦ｋであれば、ＰＬＰに対する最適解が見つかり、これは見つかったプローブの組中のプローブの最大コストである。ｋ’＞ｋであると、プローブの数は、そのいくつかを合併させることにより、基本経路（巡回）の数がｋになるまで低減される。２つの基本経路を合併するために、最大コストのプローブに対するコスト制限下では、２つの基本経路（プローブ）が１つの基本経路（プローブ）へ合併され得る。
【００６５】
以下の定義は、アルゴリズムの例示の実施形態を分かりやすく効率的に説明するのに役立つ。簡単に、ＰＬＰ向け近似アルゴリズムの例示の実施形態については、ＬＣＰ向けアルゴリズムで行われたように、まず一連の基本プローブが探索される。次いで、プローブの数ｋ’が、ｋ’＞ｋと、可能なものより大きい場合、プローブの組中のプローブの最大コストを犠牲にして、プローブの数が低減されるようにプローブを合併させる。以下の定義は、２つのプローブを合併させる例示の実施形態に関する。
【００６６】
定義１：１つのプローブ中の１つのノードを別のプローブ中の別のノードにリンクすることによって２つのプローブを結合した後には、合併距離は、最終プローブの最小コストである。
【００６７】
明らかに、２つのプローブをリンクするコストを確認するための効率的なアルゴリズム（多項式時間）が存在する。すべての対のプローブがより長い１つのプローブへ合併され得るわけではない。
【００６８】
定義２：いくつかのプローブ（≧２のプローブ）が、及ぶべき興味のあるエッジｅ∈Ｓと交差するなら、共有されるエッジは、それに付随のすべてのプローブによって共有されるエッジｅである。１つのエッジだけがそれに及ぶプローブを１つ有するなら、そのエッジはそのプローブに必要である。
【００６９】
明らかに、任意の２つのプローブが与えられたとして、プローブは、（可能な）共有されたエッジを残したまま互いにリンクされ得る。補助定理３は、これらの定義に基づくものである。
【００７０】
補助定理３：任意の２つの基本経路（巡回）が与えられたとして、これら２つの基本経路を連結し、さらに基本経路を探索する方法が存在する。そのような経路が、所与のエッジに及ぶいくつかの基本経路によって連結され得るので、他の端末がその経路上に存在し得る。
【００７１】
証明：補助定理３は矛盾法によって証明され得る。各基本経路に関して、エッジの左または右のノードは、見つかった基本経路中の最も近い端末への最小コストを有する。２つの基本経路Ｐ１およびＰ２が、両方が横切る１つのノードｖを有するなら、これら２つの経路中の所与のノードｖに関して、両方が最小コストを有する２つの端末が存在すると結論する。図４は、補助定理３のこの証明の一例を説明する。
【００７２】
経路Ｐ１と経路Ｐ２は、どちらも同一のノードｖを共有する。エッジｅ１は、これにＰ１が及ぶと推測するエッジであり、ｅ２は、これにＰ２が及ぶと推測するエッジである。Ｐ１およびＰ２に関する終端端末は、ｔ１∈Ｔおよびｔ２∈Ｔである。次に、ｖからｔ１までの経路およびｖからｔ２までの経路を調べる。というのは、エッジｅ１向けのプローブＰ１が配置されるとき、Ｐ１は、検査された端末の順序および距離に基づいて、端末ｔ２で終わるはずだからである。同じように、経路Ｐ２を解析した後に、長さ（ｖ〜→ｔ１）＞長さ（ｖ〜→ｔ２）と結論される。この結論は以前の結論と矛盾する。したがって、基本経路Ｐ１およびＰ２は、同一のノードを横切ることがない。
【００７３】
その上、（図２に示されたように）経路Ｐ１と経路Ｐ２に共有される中間ノード（または共有されるエッジ）がないとき、ｔ１とｔ２はリンクされ得て、両方の経路向けの基本経路を生成する。経路Ｐ１と経路Ｐ２がエッジを共有していると、Ｐ１またはＰ２のみの除去によってプローブの数を低減させる方法は存在しない。（ＬＣＰ向けのリンクカバーアルゴリズムが行うように、任意のプローブに関して、その興味のあるエッジがすべて共有され、かつプローブの組Ｐから除去されている。）上記の解析に基づいて、補助定理３が成り立つ。
【００７４】
例示の一実施形態に、ＰＬＰ向けの近似アルゴリズムがある。プローブ経路（解）は最多でｋ個であるという制限下で、ＬがグラフＧ＝（Ｖ，Ｅ）中のプローブ経路の最大コストを示すものとする。
【数１９】
2009524990.tif 000021
に対する最適解を示すためにＯＰＴを用いる。プローブの数は≦ｋであり、Ａはプローブの最大長さを返す。
【００７５】
まず、プローブを合わせて合併させる前に、ＬＣＰ向けリンクカバーアルゴリズムの後に、興味のあるエッジ用のプローブとして一連の基本経路（巡回）が見つかることが知られている。その数がｋ’であると仮定する。ｋ’≦ｋであれば、プローブの最適の最大コストを返す。ｋ’＞ｋであれば、プローブの最大コストをＯＰＴの下限にしたままで、プローブの数を低減させるために基本経路を合併させる。プローブ長がビンの負荷と見なされ、プローブの数がビンの数ｋのように限定されるなら、合併部はビン詰問題に類似である。アルゴリズムの複雑さを減らす目的で、任意の２つのプローブを合併させるために最適法（ｏｐｔｉｍａｌ  ｓｕｉｔ  ｍｅｔｈｏｄ）を適用する。それらのプローブ距離がすべてのプローブ対の中で最小のとき、可能であれば、これら２つの基本経路が合併される。ＰＬＰ向けアルゴリズムのこの例示の実施形態が図５に示されている。
【００７６】
図５は、主要なリンクカバー問題（ＰＬＰ）に対するアルゴリズムの例示の実施形態向け擬似コードのリストである。この例示の実施形態は、ネットワークのトポロジーを表わす入力グラフＧを有し、また、プローブの数はｋ未満でなければならないという制限ｋがある。ＬＣＰ向けリンクカバーのための図４の例示の実施形態と異なり、この例示の実施形態は、最小数のプローブを使用して、興味のある１組のエッジに及ぶ１組のプローブを探索する。図４では、トータルコストが最小化される限りプローブの数は無制限であった。ここの図５では、プローブの数も最小限にされる。
【００７７】
図５の例示の実施形態は、まず図４の例示の実施形態をコールして、ＬＣＰ向けリンクカバーを探索し、プローブの数がｋ未満であれば、そのプローブの組が与えられる。そうでなければ、図５のＰＬＰ向けの例示の実施形態は、プローブの数がｋ未満になるまでプローブの対を合併させる（図６を参照されたい）。
【００７８】
図６は、ＰＬＰ向けリンクカバーアルゴリズムにおいて、合併させるための方法の例示の一実施形態である。この例示の実施形態では、２つの基本のプローブを合併させるためのプロシージャはＭｅｒｇｅ（Ｐ１，Ｐ２）と呼ばれる。最も近いノードがノードの対
【数２０】
2009524990.tif 000022
および
【数２１】
2009524990.tif 000023
と定義される。これらの２つのノードをリンクすると、最終のプローブがＰ１とＰ２を結合し、新規に生成された最小限のプローブコストとする。図６では、ＬＣＰは、すべての共有されるエッジｅに対して２つの経路Ｐ１およびＰ２を与えられる。ｅが別のプローブＰによって共有されるならば、結合ノードでＰ１とＰ２をリンクする。そうでなければ、経路Ｐ１とＰ２は合併され得ない。Ｐ１とＰ２の間に共有されるエッジがないならば、それらの間の最も近いノードをリンクする。
【００７９】
プローブの数を最小化すると、端末数も最小化される。端末ノードはできるだけ少ないことが望ましい。これは、端末ノードが、追加のソフトウェア、追加のコンピュータ能力、追加の記憶装置などを含む、ノードの追加の増強を必要とするからである。端末ノードのように特化されたノードは、ネットワーク中の普通のノードよりとても高くつく。
【００８０】
定理３：ＰＬＰ向けリンクカバーアルゴリズムは２−近似である。
【００８１】
証明：定理３は、ＰＬＰ向けリンクカバーアルゴリズムは、プローブの数がビンの数と見なされ、プローブの最大のコストがビンの最大の荷と見なされるとき、ビン詰用の最適アルゴリズムと同じように働くという事実を説明する。定理３は、ビン詰アルゴリズムの解析に直接従って証明され得る。詳細な証明は以下の通りである。
【００８２】
ＯＰＴは、最適のアルゴリズム自体でなく、プローブの最適の最大コストを示すために用いられる。ＯＰＴの下限は、各興味のあるエッジｅ∈Ｓが少なくとも１つのプローブによって対象として含まれ、そのようなプローブの組中のプローブの最大コストがＯＰＴに最小化されるように、１組のｋ個のプローブに対応する。各ステップにおいて、２つの基本経路を合併させる。プローブのコストの増加は、最小限の合併距離が選択されるようにＯＰＴによって制限される。また、最も近い端末に対する対象として含まれるエッジのトータルコストの和はｋ×ＯＰＴの下限であり、合併されるべき各プローブのコストもＯＰＴの下限である。したがって、各ステップにおいて、生成されるいかなるプローブのコストも、２×ＯＰＴによってさらに制限される。したがって、定理３が成り立つ。
【００８３】
ＤＬＰ向け２−近似アルゴリズム
ＤＬＰ向けに、２−近似アルゴリズムの例示の一実施形態が導入される。様々なＤＬＰは様々なＰＬＰの対照物（ｃｏｕｎｔｅｒｐａｒｔ）である。
【００８４】
プローブの最大コストがＩｍａｘによって制限されると仮定する。目標は、使用されるプローブの数を最小化することである。最初に、使用されるプローブの数として固定された初期の数ｋ’＝１を用いて、ＰＬＰ向けのリンクカバーアルゴリズムを適用し、生成されるプローブの最大長さを推測する。生じるプローブの組Ｐの中でプローブの最大コストがＩｐであればＰを設定し、また、Ｉｐ≦Ｉｍａｘであれば、使用されるプローブの最小限の数はｋ’であると主張される。Ｉｐ＞Ｉｍａｘであればｋ’を２倍する。ｋ’を１回増加させ（ｋ’←２×ｋ’）、次いでＰＬＰ向けの同一のアルゴリズムを適用して、１組のプローブおよびその中のプローブの最大コストを検索する。その中のプローブの最大コスト≦Ｉｍａｘとなる１組のプローブＰが存在するところまで繰り返して、ｋ’を返す。ｋ’≦２×ｋであると主張され、定理４で証明される。
【００８５】
図７は、ＤＬＰ向けリンクカバー法の例示の一実施形態である。この例示の実施形態は、興味のあるエッジＳに及ぶプローブの組中の任意のプローブの最大コストを最小化する。入力はプローブの最大コストに対する制限を含み、その結果、プローブの組中には、その制限を超過するコストを有するプローブがない。プローブの組Ｐが与えられたとして、プローブの最大コストが制限より大きければ、ｋ’＝２×ｋを用いてＰＬＰをコールする（図５を参照されたい）ことにより、プローブの組Ｐ中のすべてのプローブの最大コストが制限を下回るまで、別のプローブの組を探索する。
【００８６】
定理３を用いて同じ考えに従うことにより定理４が与えられる。
【００８７】
定理４：ＤＬＰ向けのリンクカバーアルゴリズムは２−近似である。
【００８８】
証明：定理４は、定理３に直接従うことにより証明される。定理３から、最適アルゴリズムが、使用されるべきｋ個のプローブを有し、２×ｋ個のプローブを使用することを許されるとき、使用されるプローブの数が１回増加されると、次にＰＬＰ向けリンクカバーアルゴリズムがプローブの最適の最大コストの下限を返すことが知られている。したがって、ＤＬＰ向けリンクカバーアルゴリズムでは、ステップＩ≦Ｉｍａｘにおいて、最適アルゴリズムが用いることになるプローブの数を２倍まで増加させる。したがって、定理４が成り立つ。
【００８９】
シミュレーション結果
リンクカバーの解は、ロケット燃料プロジェクトから得られた様々な現実的なＩＳＰトポロジーに対して評価された。最大の５つのトポロジーが選択された。というのは、それらが、監視されているネットワークの複雑さに関して最も興味のある解析をもたらすからである。ネットワーク中の各リンクは、その推測された待ち時間（リンクコスト）であるコストを割り当てられる。それぞれの場合、バックボーンノードは、可能性のある端末の組として選択された。
【００９０】
ＩＳＰトポロジー用端末（バックボーンノード）の数が、ノードの合計数（ＩＳＰトポロジー用端末数のほぼ半分）と比べると比較的大きいので、端末数の選択は、そのトポロジーのノードの合計数｜Ｖ｜の約５％、１０％、および１５％であると制限された。しかし、選択された端末は、無作為に選択されたバックボーンノード位置に配置された。また、対象として含まれるべき興味のあるエッジの組は、ネットワーク中のエッジの合計数の約２５％、５０％、７５％、および１００％となるように選択された。
【００９１】
図８に示された表Ｉは、様々なＩＳＰトポロジーに対するＬＣＰ向け多項式時間アルゴリズムの例示の実施形態の結果を示す。このアルゴリズムは、合計ノードの約５％および１５％を端末として使用して、興味のあるエッジに及ぶのに必要なプローブの数を計算するために用いられる。エッジの合計の約５０％および１００％を備えた、興味のある２組のエッジが検討された。それぞれの場合で、プローブの最大コスト、プローブの平均コスト、およびプローブすべてのトータルコストが得られた。１つのシナリオは、プローブが２つの端末をリンクする基本経路であることを必要とされたので、ＴｅｌｅｓｔｒａおよびＳｐｒｉｎｔｌｉｎｋ（登録商標）のネットワークについては、無作為に選択されたすべてのエッジがプローブによって対象として含まれているとは限らないというものであった。カバレッジのプローブ端末数の影響という特定の問題が、テレストラトポロジーを使用して調査され、結果は図９に示された表ＩＩに表わされている。
【００９２】
方向付けられておらず、負でなく、重み付けされたグラフの一般的な場合が検討された。したがって、プローブ横切り用のエッジコストのコストは負でない実数として割り当てられた。一般性を損なうことなく、また、話を簡単にするために、実験の設計では、経路のコストを示すためにホップの数が用いられた。すなわち、重み付けされていないグラフ上の最短経路が計算された。
【００９３】
表Ｉおよび表ＩＩから、予想通り、興味のあるエッジの数が、ネットワーク中のすべてのエッジの約５０％から１００％に増加して、プローブの数がほぼ２倍になったことが認められた。総計のプローブコストにおいて類似の効果が観測された。合計のプローブコストの増加に伴って、同数の端末で対象として含む追加のエッジが増加した。端末数の増加に伴って、プローブの最大のコストおよび平均コストの低下も観測された。その上、これらのメトリクスの値は、５つのトポロジーすべてに対して同等であると判明した。
【００９４】
２−近似ＰＬＰアルゴリズムの評価は、図１０に示された表ＩＩＩに表わされている。ここで、ＬＣＰを用いて得られたプローブ数の１／２として、一定のｋがターゲットとされた。表ＩＩＩは、多項式アルゴリズムＬＣＰを用いて得られたものと、ＰＬＰアルゴリズムを用いて合併した後に得られたプローブの、プローブ特性（例えばプローブのプローブコスト、最大コスト、平均コスト）の比較として与えられる。
【００９５】
論考
１つの目標は、最適のプローブ経路を設計して、ネットワーク中の選択されたエッジを対象として含むことであった。最適性基準は、配置されたプローブのトータルコスト、プローブの最大コスト、およびエッジを対象として含むのに必要なプローブの数などのメトリクスを用いて評価された。これらの評価メトリクスの下では、ＬＣＰアルゴリズムが非常に優れた性能をもたらすことが判明した。
【００９６】
端末としてノードの約５％だけで、エッジのほとんど１００％が対象として含まれた。端末の数を約１５％に増加すると、追加のエッジカバレッジをもたらすことなく、プローブのトータルコストが平均でわずかに約１．０８％だけ低下した。端末ノードの使用を減らすと、ホストプローブ生成ソフトウェアへ機能強化されなければならないノードがより少数になり、プローブ設置経費が最小限になることが示唆されると判明した。
【００９７】
ノードの約５％を端末として、リンクカバレッジの約１００％を使用すると、プローブの平均コストは３．６２であると判明し、様々なネットワークリンクに対するプロービングより誘起された負荷が最小限であることを示唆していた。ＰＬＰアルゴリズムの１つの目標は、ＬＣＰを用いて得られたプローブ経路の合併によりプローブ数を低減させることであった。合併の後、プローブ数の平均百分比の低下は、ほんの約２６％であることが判明した。これは、ＬＣＰアルゴリズムによって同定されたプローブ経路が最適のものに近いことを示唆した。
【００９８】
表ＩＩＩから、いかなる所与のトポロジーに関しても、端末の数とプローブまたはプローブコストの合計数の間に線形の関係はなかった。この効果は、プローブ経路を決定するのに用いられた最短経路計算ならびに、興味のあるエッジの無作為の選択に含まれるいくつかの実験的な要因の結果であると考えられた。
【００９９】
図１１は、プローブの最大コストとテレストラのトポロジーにおける端末数の例示の関係を示す。端末数の増加に伴って最大のプローブコストが低減することが観測された。しかし、端末としてのノードの約１５％から端末数を増加させることにより、ユニット利得しか得られなかった。したがって、検討されたトポロジーに関して、ＰＬＰのデュアル問題（すなわちＤＬＰ）の解決により予想された利得が重要でない可能性があったと主張された。したがって、監視に基づく、プローブ向けの２ステップ設計の例示の一実施形態は、ＰＬＰが後続するＬＣＰアルゴリズムを含む。
【０１００】
ネットワークトポロジーからの影響
図１２から、興味のあるエッジの組に及ぶのに必要なプローブの数は、ネットワーク中のエッジ数に対してほぼ線形従属であることが判明した。その観察は、興味のあるエッジの数または使用された端末の数には無関係に真であると判明した。しかし、表Ｉから、ノードの数が、プローブの数に、特徴付け得るいかなる影響も及ぼさないことが認められ得た。エッジをすべて対象として含む場合には、端末数を増加させることがエッジのカバレッジを改善しないことも、５つのトポロジーのうちの２つで観測された。どちらの場合でも、同数のリンクが対象として含まれないままであった。これは（無作為に）選択された端末ノードの位置に対するネットワーク中のこれらのエッジの配置の結果であると考えられた。
【０１０１】
ＰＬＰを用いて達成されたプローブ数およびプローブの最大のコストの百分比の低下は、ネットワークの程度に左右されることも観測された。約８．４１と最も程度の高いネットワークに関して、ＰＬＰ後の低減が、約２．３３６から３．２９の範囲の平均程度を有する他の４つのトポロジーよりかなり小さいことが判明した。したがって、より高い程度を有するネットワークに関して、多項式時間ＬＣＰアルゴリズムの例示の実施形態が、ほぼ最適解をもたらした。
【０１０２】
結論
検討されたシミュレーションを基に、あらゆるネットワークトポロジーに対して、ほぼ１００％のエッジを対象として含むために端末ノードとして割り当てられる必要があるのは、ノードの約５％だけであると結論付けられた。これはプローブベースの監視システムのための重要な発見であった。追加のプローブ端末の付加によるエッジカバレッジに利点がないので、プローブベースの監視システムの設計は、厳密に配備コストに基づいて最適化され得る。配備コストは、端末導入のコスト対プローブ経路をセットアップして維持するコストに関するものである。その上、ＬＣＰアルゴリズムの例示の実施形態を用いて、プローブ数、プローブの最大コスト、および平均プローブコストの３つの基準のすべての最小化に関して、ほぼ最適の結果をもたらすプローブ経路を得ることが可能である。
【０１０３】
一実施形態は、さらなるＰＬＰアルゴリズムの改善のために、ネットワーク接続の程度など位相問題を考慮に入れたＤＬＰアルゴリズムを用いる。ＰＬＰおよびＤＬＰのアルゴリズムの例示の実施形態は、最小メイクスパンスケジュール問題およびビン詰問題に対して容易に対応付けられ得る。したがって、ｋが定数であるとき、（１＋ε）近似アルゴリズムが存在すると考えられる。
【０１０４】
図１３は、コンピュータを示す高水準ブロック図である。本発明の実施形態を実施するためにコンピュータ１３００が使用されてよい。コンピュータ１３００は、プロセッサ１３３０ならびに様々なプログラム１３４４およびデータ１３４６を格納するためのメモリ１３４０を備える。メモリ１３４０は、プログラム１３４４に対応するオペレーティングシステム１３４２も格納してよい。
【０１０５】
プロセッサ１３３０は、電源、クロック回路、キャッシュメモリなど従来のサポート回路、ならびにメモリ１３４０に格納されたソフトウェアルーチンの実行を支援する回路と協働する。そのため、ソフトウェアの方法として本明細書で論じられたステップのうちのいくつかは、例えばプロセッサ１３３０と協働して様々な方法のステップを実行する回路のようなハードウェア内で実現されてよいように考えられる。コンピュータ１３００は、コンピュータ１３００と交信する様々な機能要素間のインターフェースを形成する入出力（Ｉ／Ｏ）回路も含む。
【０１０６】
コンピュータ１３００は本発明によって様々な機能を実行するようにプログラムされる汎用コンピュータとして示されるが、本発明は、例えば特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）としてハードウェア内で実施され得る。そのため、本明細書で説明されたプロセスのステップは、ソフトウェア、ハードウェアまたはその組合せによって等しく実行されるものと広義に解釈されるように意図されている。
【０１０７】
本発明はコンピュータプログラムプロダクトとして実施されてよく、コンピュータ命令は、コンピュータによって処理されたとき、本発明の方法および／または技術が起動されるようにコンピュータの動作を適応させるか、または別の方法で提供される。本発明の方法を起動するために与えられた命令は、固定されたメディアまたはリムーバブルメディア内に格納されるか、電波媒体または信号が記録されている他のメディア内のデータストリームを介して伝送されるか、および／または命令に従ってコンピュータ機器内で稼動中のメモリに格納される。
【０１０８】
前述のものは、本発明の様々な実施形態に向けられているが、本発明の他の実施形態およびさらなる実施形態が、本発明の基本的な範囲から逸脱することなく考案され得る。そのため、本発明の適切な範囲は、特許請求の範囲によって決定されるべきである。
【図面の簡単な説明】
【０１０９】
【図１】リンクカバー問題を示す一例のブロック図である。
【図２】定理２の証明のための一例の図である。
【図３】補助定理２の証明のための一例の図である。
【図４】最小限のプローブのトータルコストでプローブの組を探索する方法を記述するアルゴリズムの例示の一実施形態向け擬似コードのリストである。
【図５】主要なリンクカバー問題（ＰＬＰ）向けアルゴリズムの例示の一実施形態向け擬似コードのリストである。
【図６】ＰＬＰ向けリンクカバーアルゴリズムにおいて合併させるための方法の例示の一実施形態向け擬似コードのリストである。
【図７】デュアルリンクカバー問題（ＤＬＰ）に対するリンクカバーのための方法の例示の一実施形態向け擬似コードのリストである。
【図８】様々なインターネットサービスプロバイダ（ＩＳＰ）のトポロジーに対する、最小コストのリンクカバー問題（ＬＣＰ）向け多項式時間アルゴリズムの例示の実施形態のシミュレーション結果を示す表Ｉである。
【図９】Ｔｅｌｅｓｔｒａのトポロジーに対する、最小コストのリンクカバー問題（ＬＣＰ）向け多項式時間アルゴリズムの例示の実施形態のシミュレーション結果を示す表ＩＩである。
【図１０】２−近似ＰＬＰアルゴリズムの例示の実施形態のシミュレーション結果を示す表ＩＩＩである。
【図１１】Ｔｅｌｅｓｔｒａのトポロジーにおけるプローブの最大コストと端末数の間の例示の関係を示すグラフである。
【図１２】ネットワーク中のエッジの合計数対例示のシミュレーションにおけるプローブの合計数を示すグラフである。
【図１３】コンピュータを示す高水準ブロック図である。
【図１】
2009524990.tif 000024
【図２】
2009524990.tif 000025
【図３】
2009524990.tif 000026
【図４】
2009524990.tif 000027
【図５】
2009524990.tif 000028
【図６】
2009524990.tif 000029
【図７】
2009524990.tif 000030
【図８】
2009524990.tif 000031
【図９】
2009524990.tif 000032
【図１０】
2009524990.tif 000033
【図１１】
2009524990.tif 000034
【図１２】
2009524990.tif 000035
【図１３】
2009524990.tif 000036
【国際調査報告】
2009524990.tif 000037
2009524990.tif 000038
2009524990.tif 000039