(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023082481
(43)【公開日】2023-06-14
(54)【発明の名称】ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム
(51)【国際特許分類】
H04L 43/0811 20220101AFI20230607BHJP
【FI】
H04L43/0811
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021196292
(22)【出願日】2021-12-02
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】池内 光希
(72)【発明者】
【氏名】松田 康太郎
(72)【発明者】
【氏名】斎藤 洋
(57)【要約】
【課題】確率ルーティング下において限られた回数のパス測定でできるだけ正確に障害箇所を特定する。
【解決手段】対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置において、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、前記テスト最適化部により算出されたテストを前記対象ネットワークに対して実行するテスト実行部と、前記テスト実行部によるテストの結果に応じてネットワークの状態を絞り込むテスト結果分析部と、を備え、前記テスト最適化部が、前記テスト結果分析部により得られた分析結果を用いてテストを算出し、前記テスト実行部がテストを実行し、前記テスト結果分析部が、テストの結果に応じてネットワークの状態を絞り込む処理を、1回以上繰り返す。
【選択図】
図5
【特許請求の範囲】
【請求項1】
対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、
前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、
前記テスト最適化部により算出されたテストを前記対象ネットワークに対して実行するテスト実行部と、
前記テスト実行部によるテストの結果に応じてネットワークの状態を絞り込むテスト結果分析部と、を備え、
前記テスト最適化部が、前記テスト結果分析部により得られた分析結果を用いてテストを算出し、前記テスト実行部がテストを実行し、前記テスト結果分析部が、テストの結果に応じてネットワークの状態を絞り込む処理を、1回以上繰り返す
ネットワーク障害箇所特定装置。
【請求項2】
前記対象ネットワークにおけるルーティング情報は、発着ノードに対してそれらを結ぶパスが一意に定まらず、確率的に決定され、テストにおいてどのパスが選択されたかは観測できず、その確率分布のみ利用可能である
請求項1に記載のネットワーク障害箇所特定装置。
【請求項3】
前記テスト最適化部は、テストの実行結果を表す確率変数と前記対象ネットワークの状態を表す確率変数の間の相互情報量の最大化問題の最適解あるいは近似最適解であるテストを選出する
請求項1又は2に記載のネットワーク障害箇所特定装置。
【請求項4】
前記テスト最適化部は、テストの実行結果に基づいて、候補として除外できるネットワーク状態の個数の期待値が大きくなるようなテストを選出する
請求項1ないし3のうちいずれか1項に記載のネットワーク障害箇所特定装置。
【請求項5】
前記テスト結果分析部は、ネットワーク状態を表す確率分布を、テストの実行結果に基づいて、ベイズ推定の枠組みに従って更新する
請求項1ないし4のうちいずれか1項に記載のネットワーク障害箇所特定装置。
【請求項6】
対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置が実行するネットワーク障害箇所特定方法であって、
前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化ステップと、
前記テスト最適化ステップにより算出されたテストを前記対象ネットワークに対して実行するテスト実行ステップと、
前記テスト実行ステップによるテストの結果に応じてネットワークの状態を絞り込むテスト結果分析ステップと、を備え、
前記テスト結果分析ステップにより得られた分析結果を用いて前記テスト最適化ステップによりテストを算出し、前記テスト実行ステップによりテストを実行し、前記テスト結果分析ステップによりテストの結果に応じてネットワークの状態を絞り込む処理を、1回以上繰り返す
ネットワーク障害箇所特定方法。
【請求項7】
コンピュータを、請求項1ないし5のうちいずれか1項に記載のネットワーク障害箇所特定装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークにおける障害箇所を特定する技術に関連するものである。
【背景技術】
【0002】
近年、ネットワークの複雑化が進み、ネットワーク機器が出力するログやメトリクスなどのデータだけに依存した従来の方法だけでは検知できないような障害が発生するようになった。
【0003】
このような障害を検知する手段として「ネットワークトモグラフィー」と呼ばれる手段が注目されている。ネットワークトモグラフィーは、複数の離れたノード間のend-to-endの通信状況を測定(これをパス測定と呼ぶ)し、その疎通性に関する記録を統合することで、障害箇所(障害ノードや障害リンク)を特定する手段である。
【0004】
特に、各ネットワークコンポーネント(ノード、リンク)のバイナリ状態(障害がある/ない)を推定するものは、バイナリネットワークトモグラフィーとも呼ばれ、盛んに研究されている[非特許文献1]。
【0005】
バイナリネットワークトモグラフィーの既存技術の多くは、ルーティングが確定的であることを仮定している。しかし、現実には負荷分散メカニズムや、ウェイトが等しいパスに分散してトラヒックを送るECMPなどのプロトコルが存在し、ルーティングが確率的に振る舞う状況が生ずる。確率ルーティング下におけるネットワークトモグラフィーについても、少数ではあるが既存手法[非特許文献2,3]が存在する。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】N. Duffield, "Simple network performance tomography," in Proceedings of the 3rd ACM SIGCOMM conference on Internet measurement. ACM, 2003, pp. 210-215.
【非特許文献2】H. Herodotou, B. Ding, S. Balakrishnan, G. Outhred, and P. Fitter, "Scalable near real-time failure localization of data center networks," in Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2014, pp. 1689-1698.
【非特許文献3】R. Tagyo, D. Ikegami, and R. Kawahara, "Network tomography using routing probability for undeterministic routing," IEICE Transactions on Communications, vol. E104.B, no. 7, pp. 837-848, 2021.
【非特許文献4】T. Soma and Y. Yoshida, "Maximizing monotone submodular functions over the integer lattice," Mathematical Programming, vol. 172, no. 1, pp. 539-563, 2018.
【非特許文献5】T. Soma, N. Kakimura, K. Inaba, and K.-i. Kawarabayashi, "Optimal budget allocation: Theoretical guarantee and efficient algorithm," in Proceedings of International Conference on Machine Learning (ICML). PMLR, 2014, pp. 351-359.
【非特許文献6】S. Knight, H. X. Nguyen, N. Falkner, R. Bowden, and M. Roughan, "The internet topology zoo," IEEE Journal on Selected Areas in Communications, vol. 29, no. 9, pp. 1765-1775, 2011.
【発明の概要】
【発明が解決しようとする課題】
【0007】
確率ルーティングでは、ノードペアが決まっても、それを結ぶパスが一意に定まらないため、正しく障害箇所を特定するには大量のパス測定が必要となる。一般に大量のパス測定は、障害箇所特定までが長期化したり、ネットワークに大きな負荷がかかったりするため、できる限り避けるべきである。
【0008】
しかしながら、確率ルーティング下における既存のネットワークトモグラフィー手法[非特許文献2、3]では、既に大量のパス測定データが得られていることを仮定しており、不必要に多くのパス測定が実施されてしまう可能性がある。
【0009】
本発明は上記の点に鑑みてなされたものであり、確率ルーティング下において限られた回数のパス測定でできるだけ正確に障害箇所を特定するための障害箇所特定技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
開示の技術によれば、対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、
前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、
前記テスト最適化部により算出されたテストを前記対象ネットワークに対して実行するテスト実行部と、
前記テスト実行部によるテストの結果に応じてネットワークの状態を絞り込むテスト結果分析部と、を備え、
前記テスト最適化部が、前記テスト結果分析部により得られた分析結果を用いてテストを算出し、前記テスト実行部がテストを実行し、前記テスト結果分析部が、テストの結果に応じてネットワークの状態を絞り込む処理を、1回以上繰り返す
ネットワーク障害箇所特定装置が提供される。
【発明の効果】
【0011】
開示の技術によれば、確率ルーティング下において限られた回数のパス測定でできるだけ正確に障害箇所を特定することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施の形態におけるシステム構成図である。
【
図5】ネットワーク障害箇所特定装置100の構成例を示す図である。
【
図6】ネットワーク障害箇所特定装置100の処理手順を示すフローチャートである。
【
図8】Missouriの評価結果を示す図である。
【
図11】装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0014】
(システム全体構成、動作概要)
図1に、本実施の形態におけるシステムの全体構成例を示す。
図1に示すように、本システムは、ネットワーク障害箇所特定装置100が、ネットワーク障害箇所を特定する対象となるネットワークである対象ネットワーク200に接続された構成を備える。ネットワーク障害箇所特定装置100は、対象ネットワーク200のルーティングのトポロジー情報や動的に変化しうるルーティング情報や、パス測定装置の制約情報などに基づいて、上記パス測定装置がパス測定に関するテストを実施しその結果を得る工程を1回以上繰り返すことで障害箇所を特定する。
【0015】
対象ネットワーク200は、複数のノードと複数のリンクを有し、確率ルーティングによりデータ送受信がなされている。なお、リンクを枝あるいはエッジと呼んでもよい。
【0016】
本実施の形態では、ネットワーク障害箇所特定装置100が、確率ルーティング下において限られた回数のパス測定でできるだけ正確に障害箇所を特定する。そのためのネットワーク障害箇所特定装置100の動作概要は下記のとおりである。
【0017】
本実施の形態では、ネットワーク障害箇所特定装置100が、障害箇所を絞り込むにあたってパス測定の有効性を「相互情報量」を用いて表現する。相互情報量は確率ルーティングであっても自然に定義できる。相互情報量が大きい、すなわち障害箇所が最も絞り込めると見込めるパス測定を優先的に実施し、測定データを得る。
【0018】
ネットワーク障害箇所特定装置100は、この測定データに従い、障害箇所の可能性を表した確率分布をベイズ推定の枠組みで更新する。これらの手順を繰り返すことにより、段階的に障害箇所を絞り込んでいく。
【0019】
本実施の形態では、ネットワーク障害箇所特定装置100は、有効性の高いパス測定を利用すること、ベイズ推定に従い実施すべき測定を逐次的に決定することで、少数の測定で効率的に障害箇所を絞り込み、上記の課題を解決している。
【0020】
以下、ネットワーク障害箇所特定装置100が実行する処理内容を詳細に説明する。
【0021】
(問題設定)
まず、本実施の形態における問題の定式化について説明する。ただし、本実施の形態に係る技術は厳格に以下の定義に従わない状況でも適用可能なものである。例えば、以下ではリンク故障の特定に関する定式化を行っているが、ノード故障の特定に関しても同様に本実施の形態に係る技術を適用できる。
【0022】
対象とするネットワークを無向グラフG(V,E)とする。V={vi}iは頂点集合、E={ej}jは枝集合である。「ネットワーク状態」あるいは単に「状態」をバイナリベクトルs=(s1,・・・,s|E|)∈S⊂{0,1}|E|で表す。ここでsj=1(sj=0)は枝ejが異常(正常)であることを表し、Sはあり得る全状態の集合を表す。
【0023】
監視パス集合A={a1,・・・,a|A|}は、バイナリベクトルaj=(aj1,・・・,aj|E|)∈{0,1}|E|で表される「監視パス」の集合である。ajl=1であれば、監視パスajが枝elを含むことを表す。監視パスは単に枝の集合と見なせるため、ループありのパスも許容する。
【0024】
監視パスajのテストが実行されたとき、aj内の枝が一本でも異常であれば結果1を、全ての枝が正常であれば結果0を得る。すなわち結果1とはその監視パスが不通であったことを表し、結果0とはその監視パスが疎通できたことを表す。本実施の形態では、確率ルーティングを想定しているため、ajを直接指定することはできず、ソース頂点(Sノード)とデスティネーション頂点(Dノード)を同じくする複数の監視パスの「グループ」を指定できるだけである。
【0025】
グループci∈Cが指定されると、監視パスajのテストが独立に確率pij(i=1,・・・,|C|,j=1,・・・,|A|)で実行されるとする。ここで
【0026】
【数1】
が成り立つ。事前にルーティングの統計を解析しておくことにより、(p
ij)
i,jは既知と見なせる。状態sの下でc
iが実行されると、確率
【0027】
【0028】
【数3】
は引数が真であれば1を、偽であれば0を返す指示関数である。u
i(s)を行列表示したものをU=(u
i(s))
i,sと表す。実際のネットワーク運用では、パス測定装置が同時に複数の方向にプローブパケットを送信したり、統計値を得るために同じ方向に対して複数パケットを一度に送ったりできるように、監視システムが設計されていることもある。
【0029】
このような状況を考慮して、「プローブテスト」あるいは単に「テスト」ξi∈X={ξ1,・・・,ξ|X|}を定める。本実施の形態において、
【0030】
【数4】
を実行すると、c
jがξ
ij回実行される(j=1,・・・,|C|)。ここでZ
+は非負整数全体の集合を表す。すなわち、ξ
iは異なるノードペア間の同時測定や、複数回測定を一つのテストとしてパッケージ化したものである。一度のテストに同数の測定が含まれるように、|ξ
i|=Σ
jξ
ijをiによらない定数とするのが自然である。
【0031】
本実施の形態における問題は以下の通りである。
【0032】
今、状態s∈Sが未知とする。またsの事前分布と実施可能なテストξの回数Nが与えられたとする。このとき、N回のテストの実施でできるだけ高確度で真の状態を特定するためには、どのような戦略でテストを実施する(各テストをどのタイミングでどのくらいの回数実施する)のが効率的だろうか。またテストの実施結果に応じて、どのように真の状態を推定すればよいだろうか。なお、以下の説明では状態sは動的に変化しないとしているが、途中で変化する場合であっても本実施の形態に係る技術は適用可能である。
【0033】
(ネットワーク障害箇所特定装置100による処理内容の詳細)
本実施の形態では「アダプティブ測定」のアプローチをとる。これは、ネットワーク障害箇所特定装置100が、現状で得られているテストの結果に応じて次に実施するテストを逐次的に決定していくものである。アダプティブ測定は、一度にN回分のテストを全て決めてしまう非アダプティブなアプローチに比べて、実装が複雑になるが、最適なテストの決定に際して使える情報が段階的に増えていくため、結果として少数のテスト回数で高精度な状態特定が可能となることが見込める。
【0034】
具体的には以下のようなバッチ処理として定式化する。
【0035】
N回のテストをサイズNBのB個のバッチに分ける。すなわちNB×B=Nが成り立つ。b回目のバッチ((b∈[1,B]∩Z+))では、テスト設計
【0036】
【数5】
を決定する。これはテストξ
i(i=1,・・・,|X|)を実施する回数を表したものであり、|M
b|=N
Bである。M
bを決定した後、それを実行して、結果
【0037】
【0038】
【0039】
【数8】
回の実行の中で、結果1を得た回数を表している。b<B(つまり最終バッチ以外)のときは、y
M_bとそれ以前のバッチの結果に基づき、次のテスト設計M
b+1を決定していくこととなる。以上より、考えるべき問題は、各バッチにおいて状態を効率的に絞り込む上で、どのようにM
bを設計するかである。なおバッチサイズとバッチ回数(N,B
N)に関しては、運用の実態(一回のテスト実行に要する時間や許容されるネットワーク負荷など)に応じて決定されるハイパーパラメータである。
【0040】
M(Mbの添え字bは適宜省略する)を設計するにあたっては、Mの「よさ」を定量的に表さなければならない。真の状態を特定するのが目的であるから、状態の確率分布をできるだけ先鋭化する、すなわちエントロピーを下げるのが自然な戦略である。
【0041】
そこで本実施の形態では、Mの実行により得られるyMがもたらす有効性の指標として、YMとSの間の相互情報量I(S;YM)を用いることにする(yMやsを確率変数と見なす際は、YM、Sのように大文字を用いる)。I(S;YM)は、状態分布のエントロピーがYMを観測することで平均的にどのくらい減少するかを表す。これにより本実施の形態で考える問題を以下のように記述することができる。
【0042】
[問題]:事前分布Pr(s)と(b-1)回目のバッチまでに得られる測定結果
【0043】
【0044】
【0045】
ここでI(S;YM|Db-1)はDb-1が与えられたときのYMとSの間の相互情報量であり、下記の数式1のように与えられる。
【0046】
【数11】
また数式1右辺の各量は、下記の数式2、3で与えられる。
【0047】
【0048】
【数13】
上記の問題は、組合せ最適化問題であり、NP困難であることが示せる。従って、ネットワーク障害箇所特定装置100は、一例として以下に示す貪欲法に基づくアルゴリズムによって近似解を求める。
【0049】
ただし、本実施の形態に係る技術は、貪欲法に閉じるものではなく、他の近似最適化手法や最適化手法を用いることも可能である。またここではルーティング確率が動的に変化しない場合を述べているが、それが変化する場合であってもその情報が取得できるのならば、本実施の形態に係る技術を適用可能である。
【0050】
ネットワーク障害箇所特定装置100により実行される処理の手順(アルゴリズム)を
図2のAlgorithm1に示す。まず2行目であり得る状態を削減するStateSpaceReductionの処理があるが、これに関しては後述する。
【0051】
5行目から始まるバッチ処理では、6~10行目でMを貪欲法に基づき作成する。whileループ内ではI(S;YM|Db-1)の増分が最も大きいようなξi_maxを逐次的に選択し、Mの第imax成分をインクリメントしている。Mを作成した後、それを実行して、yMを取得し、11~13行目で事後分布Pr(s|Db)の更新を行う。
【0052】
続いて8行目の相互情報量の計算方法について説明する。相互情報量は
図3に示したProcedure2に基づく。基本的には数式1のI(S;Y
M|D
b-1)の数式に基づくが、数式3内のy
Mに関する和は指数個の項の和となるため、厳密な実行が難しい。そこで以下のようにモンテカルロサンプリングを行う。
【0053】
まず、yMのNy個のサンプリングを二項分布に従い4行目で取得する。各サンプルに対して、6~7行目で、後述の方法で事後分布を計算し、そのエントロピーを計算する。そして8行目でそれらの平均をとる。Procedure2では、すべての可能な状態sが列挙可能であることを仮定しているが、|S|が大きい場合には、sに関する和もサンプル平均に置き換えてもよい。
【0054】
次にAlgorithm1の13行目、Procedure2の2、6、8行目に現れる事後分布Pr(s|Db)(Pr(s|Db-1)なども同様)に関する計算について説明する。Pr(s|Db)は
【0055】
【数14】
と記述することができる。ここでベイズの定理と、sが与えられた下でy
M_bとD
b-1が条件付き独立であることを用いた。Pr(s|D
b-1)は既知であり、Pr(y
M_b)|s)は下記の数式4により計算することができる。
【0056】
【数15】
実装する際は、logu
i(s)、log(1-u
i(s))やコンビネーションのlogの値をメモ化して、
【0057】
【0058】
【0059】
さて、Algorithm1は貪欲法に基づく近似アルゴリズムであるが、以下のように相互情報量最大化の意味で定数の近似度を持っていることが示せる。すなわち、最悪ケースであっても、相互情報量が一定値以上であることが保証されている。
【0060】
[定理]:Nyが十分大きいときAlgorithm1で得られるMbを~Mbとし、最適なMbを
【0061】
【0062】
【0063】
(略証)
ルーティングの確率が互いに独立であることを用いると、相互情報量I(S;YM|Db-1)は
【0064】
【数20】
の関数として単調DR劣モジュラ[非特許文献4]という性質を持つことが示せる。一般に単調DR劣モジュラ関数の最大化問題は貪欲法により(1-1/e)-近似を達成できることが知られている[非特許文献5]。(証終)
最後に、Algorithm1の2行目にあったStateSpaceReductionの処理について説明を行う。この処理は、あらかじめあり得ない状態をSから取り除いておくことで、Algorithm1の実行時間を短縮するためのものである。一般に行列Uには0や1を値に持つ成分が多く含まれている。
【0065】
実際、一つのグループcは、ネットワーク全体のうちごく一部の枝しか含まないのが通常であるので0の成分が多く、また同一グループ内の監視パスは一部で共通の枝を経由していることも多いから1の成分が多くなる。加えて、次のような自明な命題も成り立つ:「ui(s)=1(0)とする。このとき、もしグループciが実行されて結果が1(0)であったならば、真の状態はsではない」。以上を踏まえて、次の定義を導入する。
【0066】
[定義](除去可能な状態):グループciを実行し結果1(0)が得られたとき、ui(s)=0(1)を満たす状態sは除去可能である。
【0067】
明らかに除去可能な状態は状態空間Sから除外してよい。また次の補題が成り立つ。
【0068】
[補題]:テストξを実行したとき除去可能な状態の個数の期待値R(U,ξ)は下記の数式5で与えられる。
【0069】
【数21】
ここでδ
d(x)=1(x=d)、δ
d(x)=0(その他)であり(d=0,1)、0
0=1である。特にξ=e
l(第l成分のみが1であるような単位ベクトル)のときは下記の数式6となる。
【0070】
【0071】
【0072】
(略証)
期待値の線形性より
【0073】
【数24】
となる。各グループの実行がベルヌーイ試行であることを踏まえると、
【0074】
【数25】
と記述できるので、これの余事象をとってiについて和を取ればよい。数式6はξ=e
lを代入して計算し、不等式は
【0075】
【数26】
から得られる。(証終)
上の補題を基に、StateSpaceReductionの処理をまとめたものが、
図4のProcedure3である。各グループc
lに対して数式6を計算し、それを最大化するc
l_maxを得る。次にc
l_maxを含むようなテストξを任意に選んで実行する。実行結果に応じて除去可能な状態をSから除外し、行列Uも小さくする。以上の工程をN
iter回繰り返す。
【0076】
なお、数式6の代わりに数式5を最大化するξを任意に選んで実行するようにしてもよい。数式5や数式6は相互情報量の計算よりも軽量なので、結果的にAlgorithm1の総計算時間が小さくなる。
【0077】
(実施例)
上記の処理の実施例として、ネットワーク障害箇所特定装置100の構成例と、その構成を用いた処理手順例を説明する。
【0078】
図5に、ネットワーク障害箇所特定装置100の構成例を示す。
図5に示すように、ネットワーク障害箇所特定装置100は、入力用UI110、状態数削減部120、テスト実行部130、相互情報量最大化部140、事後分布計算部150、出力用UI160を有する。状態数削減部120、テスト実行部130、事後分布計算部150は、図示のとおりに対象ネットワーク200と接続している。なお、「状態数削減部120+相互情報量最大化部140」をテスト最適化部と呼んでもよい。また、事後分布計算部150をテスト結果分析部と呼んでもよい。
【0079】
上記の構成を備えるネットワーク障害箇所特定装置100の処理手順を
図6のフローチャートを参照して説明する。
【0080】
S101において、まず入力用UI110にアルゴリズム実行に必要なデータやパラメータ(事前分布Pr(s)、U、NB、Bなど)を入力する。S102において、これらを基に状態数削減部120がProcedure3に従いξを決定し、それをテスト実行部130に渡す。
【0081】
S103において、テスト実行部130は、pingを始めとする疎通性確認プログラムなどを用いて、テストを対象ネットワーク200で実行する。再びS102において、状態数削減部120が、得られた結果を基に、Procedure3に従って、次のξを決定する。
【0082】
S102~S103を定められた回数実施したら、次に、S104において、相互情報量最大化部140が、Algorithm1の貪欲法に従ってMを作成する。これをテスト実行部130に渡して、S105において対象ネットワーク200でテストを実行する。
【0083】
その結果は事後分布計算部150に渡され、S106において、ベイズ推定の枠組みに従って事後分布を計算する。得られた事後分布は、相互情報量最大化部140に渡され、Algorithm1のループに従い、以上の工程(S104~S106)を繰り返す。決められた回数実施したら、最終的な事後分布から、最尤値として推定状態を出力用UI160に出力する。S107において、出力用UIが推定状態を出力する。
【0084】
(効果について)
以上説明した本実施の形態に係る技術により、確率ルーティング下において限られた回数のパス測定でできるだけ正確に障害箇所を特定することが可能となる。当該技術では、障害特定に有効なパス測定を優先的に行うため、障害特定までに要するパス測定が少数に抑えられ、障害特定の短期化、ネットワーク負荷の削減が期待できる。
【0085】
図7の3つのネットワークデータ[非特許文献6]を用いて評価を行った。
図7における#failuresは同時に故障する枝数を表し、|S
k|はあり得る状態の総数である。各ネットワークに対し以下のような設定を考える。
【0086】
グループ数は|C|=3|V|で、各ノードに対して、それをSノードとしたとき、ランダムに選んだ3つのノードをDノードとして、ノードペア(グループ)を決めた。各ノードペアに対して、最短パス、二番目に短いパス、三番目に短いパスを監視パスとみなした(|A|=9|V|)。各グループに対してi番目に短いパスは確率
【0087】
【数27】
で選択されるようにした(l
iはパスの長さ)。Sノードを同じくする3つのグループを一度ずつ実行するものを一つのプローブテストξとみなし、全部で|X|=|V|パターンのテストを考えた。初期状態分布Pr(s)は一様とし、N
y=30とした。また、Procedure3による状態削減はN
iter=10として実施した。
【0088】
本実施の形態に係る技術(PMと記す)の他に、比較として、Random、LS[非特許文献2]、LASSO[非特許文献3]を実施した。Randomは本実施の形態の手法において、相互情報量を用いずに、ランダムにξを選択したものである。
【0089】
LSとLASSOは確率ルーティングにおけるネットワークトモグラフィーとして提案された非アダプティブなアプローチによる既存手法である。LASSOに関してはハイパーパラメータλを0.0001、0.001、0.01と変えた場合に実施した。
【0090】
評価指標としては正答率を用いた。故障枝が2本ある状態に対しては、2つとも特定して初めて正解とした。Missouriについては真の状態全パターンに対して、IONとNtelosについては、真の状態50パターン(ランダムに選択)に対して、実験を行い、正答率を算出した。
【0091】
実験の結果を
図8~
図10に示す。各図において横軸が総テスト数N、縦軸が正答率である。本実施の形態に係る方法PMが既存手法LS、LASSOよりも高い性能を示していることがわかる。例えば正答率0.96を超すのに、最善の既存手法では160(Missouri)、320(ION)、640(Ntelos)のテスト数を要しているのに対し、PMではそれぞれ22、34、34のテスト数で十分である。また、PMはRandomの結果も上回っており、相互情報量を用いることの有用性がわかる。
【0092】
(ハードウェア構成例)
ネットワーク障害箇所特定装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
【0093】
すなわち、ネットワーク障害箇所特定装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、ネットワーク障害箇所特定装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0094】
図11は、上記コンピュータのハードウェア構成例を示す図である。
図11のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0095】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0096】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、ライトタッチ維持装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0097】
(付記)
本明細書には、少なくとも下記各項のネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラムが開示されている。
(第1項)
対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、
前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、
前記テスト最適化部により算出されたテストを前記対象ネットワークに対して実行するテスト実行部と、
前記テスト実行部によるテストの結果に応じてネットワークの状態を絞り込むテスト結果分析部と、を備え、
前記テスト最適化部が、前記テスト結果分析部により得られた分析結果を用いてテストを算出し、前記テスト実行部がテストを実行し、前記テスト結果分析部が、テストの結果に応じてネットワークの状態を絞り込む処理を、1回以上繰り返す
ネットワーク障害箇所特定装置。
(第2項)
前記対象ネットワークにおけるルーティング情報は、発着ノードに対してそれらを結ぶパスが一意に定まらず、確率的に決定され、テストにおいてどのパスが選択されたかは観測できず、その確率分布のみ利用可能である
第1項に記載のネットワーク障害箇所特定装置。
(第3項)
前記テスト最適化部は、テストの実行結果を表す確率変数と前記対象ネットワークの状態を表す確率変数の間の相互情報量の最大化問題の最適解あるいは近似最適解であるテストを選出する
第1項又は第2項に記載のネットワーク障害箇所特定装置。
(第4項)
前記テスト最適化部は、テストの実行結果に基づいて、候補として除外できるネットワーク状態の個数の期待値が大きくなるようなテストを選出する
第1項ないし第3項のうちいずれか1項に記載のネットワーク障害箇所特定装置。
(第5項)
前記テスト結果分析部は、ネットワーク状態を表す確率分布を、テストの実行結果に基づいて、ベイズ推定の枠組みに従って更新する
第1項ないし第3項のうちいずれか1項に記載のネットワーク障害箇所特定装置。
(第6項)
対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置が実行するネットワーク障害箇所特定方法であって、
前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化ステップと、
前記テスト最適化ステップにより算出されたテストを前記対象ネットワークに対して実行するテスト実行ステップと、
前記テスト実行ステップによるテストの結果に応じてネットワークの状態を絞り込むテスト結果分析ステップと、を備え、
前記テスト結果分析ステップにより得られた分析結果を用いて前記テスト最適化ステップによりテストを算出し、前記テスト実行ステップによりテストを実行し、前記テスト結果分析ステップによりテストの結果に応じてネットワークの状態を絞り込む処理を、1回以上繰り返す
ネットワーク障害箇所特定方法。
(第7項)
コンピュータを、第1項ないし第5項のうちいずれか1項に記載のネットワーク障害箇所特定装置における各部として機能させるためのプログラム。
【0098】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0099】
100 ネットワーク障害箇所特定装置
110 入力用UI
120 状態数削減部
130 テスト実行部
140 相互情報量最大化部
150 事後分布計算部
160 出力用UI
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置