IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人 東京大学の特許一覧

特開2024-178731ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム
<>
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図1
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図2
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図3
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図4
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図5
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図6
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図7
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図8
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図9
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図10
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図11
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図12
  • 特開-ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024178731
(43)【公開日】2024-12-25
(54)【発明の名称】ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム
(51)【国際特許分類】
   H04L 43/10 20220101AFI20241218BHJP
   H04L 43/0811 20220101ALI20241218BHJP
【FI】
H04L43/10
H04L43/0811
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023097100
(22)【出願日】2023-06-13
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】池内 光希
(72)【発明者】
【氏名】斎藤 洋
(57)【要約】
【課題】ネットワーク構成要素が確率的な挙動を示す状況下において限られた回数の測定でできるだけ正確に障害箇所を特定する。
【解決手段】確率的に疎通状態が変動するネットワーク構成要素を有する対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、確率値で表されるネットワーク状態の候補を事前に削減する状態数削減部と、前記状態数削減部により削減が行われたネットワーク状態の候補に基づいて、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、前記対象ネットワークに対してテストを実行するテスト実行部と、前記テスト実行部によるテストの結果に応じてネットワーク状態を絞り込むテスト結果分析部とを備える。
【選択図】図4
【特許請求の範囲】
【請求項1】
確率的に疎通状態が変動するネットワーク構成要素を有する対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、
確率値で表されるネットワーク状態の候補を事前に削減する状態数削減部と、
前記状態数削減部により削減が行われたネットワーク状態の候補に基づいて、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、
前記対象ネットワークに対してテストを実行するテスト実行部と、
前記テスト実行部によるテストの結果に応じてネットワーク状態を絞り込むテスト結果分析部と
を備えるネットワーク障害箇所特定装置。
【請求項2】
前記ネットワーク状態は、前記ネットワーク構成要素における疎通確率を用いて表される
請求項1に記載のネットワーク障害箇所特定装置。
【請求項3】
前記状態数削減部は、ある計測の実行結果を表す確率変数とネットワーク状態を表す確率変数との間の相互情報量を、近似的又は厳密に最大化するような計測を含むテストを前記テスト実行部により実際に実施し、そのテストの結果に基づいて計算される事後分布に基づいて、ネットワーク状態の削減を行う
請求項1に記載のネットワーク障害箇所特定装置。
【請求項4】
確率的に疎通状態が変動するネットワーク構成要素を有する対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置が実行するネットワーク障害箇所特定方法であって、
確率値で表されるネットワーク状態の候補を事前に削減する状態数削減ステップと、
前記状態数削減ステップにより削減が行われたネットワーク状態の候補に基づいて、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化ステップと、
前記対象ネットワークに対してテストを実行するテスト実行ステップと
前記テスト実行ステップによるテストの結果に応じてネットワーク状態を絞り込むテスト結果分析ステップと
を備えるネットワーク障害箇所特定方法。
【請求項5】
コンピュータを、請求項1ないし3のうちいずれか1項に記載のネットワーク障害箇所特定装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークにおける障害箇所を特定するための技術に関連するものである。
【背景技術】
【0002】
以下の説明において、参考文献については、[1]などのように番号で記載し、番号に対応する文献名を明細書の最後に記載した。
【0003】
近年、通信ネットワークの内部状態を把握するための手段として「ネットワークトモグラフィー」が注目されている。ネットワークトモグラフィーでは、限られたend-to-endのトラヒック計測値を基に、ネットワーク構成要素であるリンクやノードのレベルで、遅延、パケット損失、輻輳、障害などの特性を推定することができる。
【0004】
近年の複雑なICTシステムでは、デバイス単位で監視してもアラームが発生しないようなサイレント障害や、デバイス層のログに現れないソフトウェア由来の障害など、特定・局在化が困難な障害が数多く存在する。このような状況において、end-to-endの実測結果に基づくネットワークトモグラフィーでは、異常を正確に検知・特定することができ、ネットワーク運用の品質と安定性を大きく向上させることができる。
【0005】
特に、各ネットワーク構成要素(ノード、リンク)のバイナリ状態(障害がある/ない)を推定するものは、バイナリネットワークトモグラフィーとも呼ばれ、盛んに研究されている[1]。
【0006】
ネットワークトモグラフィーにおいては、環境が確率的な振る舞いを見せる状況を想定することが重要である。実際、負荷分散メカニズムや、ウェイトが等しいパスに分散してトラヒックを送るECMPなどのプロトコルにおいては、ルーティングが確率的に振る舞う状況が生ずる。また、正常状態であっても確率的に疎通が失敗してしまったり、断続的に不通が顕在化する間欠故障が発生したりするなど、ルーティングの他にもネットワーク構成要素単位で確率的な挙動を示す。
【0007】
確率環境下におけるネットワークトモグラフィーについても、少数ではあるが既存手法が存在する。特に、非特許文献1(参考文献[2])には、確率ルーティング下において限られた回数のパス測定でできるだけ正確に障害箇所を特定するために、相互情報量が大きい、すなわち障害箇所が最も絞り込めると見込めるパス測定を優先的に実施し、ベイズ推定の枠組みに沿ってネットワーク構成要素のバイナリ状態を推定する方法が開示されている。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Ikeuchi, Hiroki, Hiroshi Saito, and Kotaro Matsuda. "Network Tomography based on Adaptive Measurements in Probabilistic Routing." IEEE INFOCOM 2022-IEEE Conference on Computer Communications. IEEE, 2022.
【発明の概要】
【発明が解決しようとする課題】
【0009】
確率環境下では、ルーティングの不確定性、及び、ネットワーク構成要素の状態の不確定性のため、正しく障害箇所を特定するには大量のパス測定が必要となる。一般に大量のパス測定は、障害箇所特定までが長期化したり、ネットワークに大きな負荷がかかったりするため、できる限り避けるべきである。したがって、少数のパス測定で障害特定を行う既存のネットワークトモグラフィー手法(非特許文献1)は有用である。
【0010】
しかしながら、この手法は確率ルーティングには適用できるものの、ネットワーク構成要素の確率的な挙動、すなわち、リンクの疎通性が確率的に変動するようなケースには適用できない。
【0011】
本発明は上記の点に鑑みてなされたものであり、ネットワーク構成要素が確率的な挙動を示す状況下において限られた回数の測定でできるだけ正確に障害箇所を特定するための障害箇所特定技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
開示の技術によれば、確率的に疎通状態が変動するネットワーク構成要素を有する対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、
確率値で表されるネットワーク状態の候補を事前に削減する状態数削減部と、
前記状態数削減部により削減が行われたネットワーク状態の候補に基づいて、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、
前記対象ネットワークに対してテストを実行するテスト実行部と、
前記テスト実行部によるテストの結果に応じてネットワーク状態を絞り込むテスト結果分析部と
を備えるネットワーク障害箇所特定装置が提供される。
【発明の効果】
【0013】
開示の技術によれば、ネットワーク構成要素が確率的な挙動を示す状況下において限られた回数の測定でできるだけ正確に障害箇所を特定するための障害箇所特定技術が提供される。
【図面の簡単な説明】
【0014】
図1】本発明の実施の形態におけるシステム構成図である。
図2】Algorithm1を示す図である。
図3】Procedure2を示す図である。
図4】ネットワーク障害箇所特定装置100の構成例を示す図である。
図5】ネットワーク障害箇所特定装置100の処理手順を示すフローチャートである。
図6】評価に用いたトポロジーを示す図である。
図7】評価結果を示す図である。
図8】評価結果を示す図である。
図9】評価結果を示す図である。
図10】評価結果を示す図である。
図11】評価結果を示す図である。
図12】評価結果を示す図である。
図13】ネットワーク障害箇所特定装置100のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0016】
(システム全体構成、動作概要)
図1に、本実施の形態におけるシステムの全体構成例を示す。図1に示すように、本システムは、ネットワーク障害箇所特定装置100が、ネットワーク障害箇所を特定する対象となるネットワークである対象ネットワーク200に接続された構成を備える。ネットワーク障害箇所特定装置100は、対象ネットワーク200におけるルーティングのトポロジー情報、動的に変化しうるルーティング情報、及びパス測定装置の制約情報に加え、確率的に疎通状態が変動するネットワーク構成要素のパラメータ情報に基づいて、上記パス測定装置がパス測定に関するテストを実施しその結果を得る工程を1回以上繰り返すことで障害箇所を特定する。なお、図1において、ネットワーク障害箇所特定装置100がパス測定装置を有していてもよいし、対象ネットワーク200にパス測定装置が備えられていて、ネットワーク障害箇所特定装置100がパス測定装置にパス測定指示をすることとしてもよい。
【0017】
対象ネットワーク200は、複数のノードと複数のリンクを有し、確率ルーティングによりデータ送受信がなされている。また、リンク及びノードはそれぞれ確率的に疎通状態が変動する。なお、リンクを枝あるいはエッジと呼んでもよい。
【0018】
本実施の形態では、ネットワーク障害箇所特定装置100が、確率ルーティングに加えて、ネットワーク構成要素が確率的な挙動を示す状況下において限られた回数のパス測定でできるだけ正確に障害箇所を特定する。ネットワーク障害箇所特定装置100は、確率的な環境下であっても、障害特定に有効なパス測定を優先的に行うため、障害特定までに要するパス測定が少数に抑えられ、障害特定の短期化、ネットワーク負荷の削減が期待できる。
【0019】
上記のような障害箇所の特定を実現するために、ネットワーク障害箇所特定装置100は、ネットワーク状態として、各リンクの疎通確率を並べたベクトルを採用したモデル化を行う。これにより、ルーティングの確率的挙動に加え、ネットワーク構成要素が持つ内在的な確率性も表現できる。このモデル化を実施することで、従来手法[2]にある相互情報量に基づく優先的なパスの選択方法を援用する形で、障害特定まで行うことが可能となる。
【0020】
以下、ネットワーク障害箇所特定装置100が実行する処理内容を詳細に説明する。
【0021】
(問題設定)
まず、本実施の形態における問題の定式化について説明する。ただし、本実施の形態に係る技術は厳格に以下の定義に従わない状況でも適用可能なものである。例えば、以下ではリンク故障の特定に関する定式化を行っているが、ノード故障の特定に関しても同様に本実施の形態に係る技術を適用できる。
【0022】
なお、記載の便宜上、本明細書のテキスト(画像イメージではないテキスト)において、一般的には太字で示されるベクトルや行列の文字を、通常の字体で示している。通常の字体でも、文脈から、それがベクトルや行列を示す文字であることは明らかである。その他、集合を表す文字等についても、明細書のテキストにおいては通常の字体を使用する。
【0023】
対象とするネットワークを無向グラフG(V,E)とする。V={vは頂点集合、E={eは枝集合である。「ネットワーク状態」あるいは単に「状態」は候補集合S={1,・・・,|S|}のうちどれか一つをとるとする。ここでネットワークは潜在的に離散個の状態をとると仮定しており、Sはその全集合で、その要素である自然数1,・・・,|S|は(任意に附番した)状態を表す。各状態s∈Sは、確率値を並べたベクトルq=(qs1,・・・,qs|E|)∈[0,1]|E|)に対応する。ここでqsjは枝eが状態sの下で不通である確率を表す。枝eを通る各パケットが破棄されるか否かは、ベルヌーイ分布Ber(qsj)に従いそれぞれ独立に決定されるものとする。
【0024】
上記の例では、状態s∈Sをアプリオリに定義したが、実現しうる離散個の確率を並べたベクトル{qが先にあって、それらを規定する潜在的なネットワーク状態にs∈Sというindexを振ったと考えてもよい。
【0025】
監視パス集合A={a,・・・,a|A|}はバイナリベクトルa=(ak1,・・・,ak|E|)∈{0,1}|E|で表される「監視パス」の集合である。監視パスは連結するいくつかの枝からなるパスであり、それに沿って測定パケットを流すことを意味する。akj=1であれば、監視パスaが枝eを含むことを表す。監視パスは単に枝の集合と見なせるため、ループありのパスも許容する。
【0026】
監視パスaのテストが実行されたとき、a内の枝が一本でも異常であれば結果1を、全ての枝が正常であれば結果0を得る。すなわち結果1とはその監視パスが不通であったことを表し、結果0とはその監視パスが疎通できたことを表す。本実施の形態では、確率ルーティングを想定しているため、aを直接指定することはできず、ソース頂点(Sノード)とデスティネーション頂点(Dノード)を同じくする複数の監視パスの「グループ」を指定できるだけである。
【0027】
グループc∈C={1,・・・,|C|}が指定されると、監視パスaのテストが独立に確率pck(c=1,・・・,|C|,k=1,・・・,|A|)で実行されるとする。ここで下記の式が成り立つ。
【0028】
【数1】
事前にルーティングの統計を解析しておくことにより、(pckc,kは既知と見なせる。状態sの下でcが実行されると、下記の確率で結果1を得る。
【0029】
【数2】
csを行列表示したものをU=(ucsc,sと表し、これをU行列と呼ぶことにする。
【0030】
実際のネットワーク運用では、同時に複数の方向にプローブパケットを送信したり、統計値を得るために同じ方向に対して複数パケットを一度に送ったりできるように、監視システムが設計されていることもある。このような状況を考慮して、「プローブテスト」あるいは単に「テスト」ξ∈X={ξ,・・・,ξ|X|}を定める。本実施の形態において、ξ=(ξx1,・・・,ξx|C|)∈Z |C|を実行すると、cがξxc回実行される(c=1,・・・,|C|)。ここでZは非負整数全体の集合を表す。すなわち、ξは異なるノードペア間の同時測定や、複数回測定を一つのテストとしてパッケージ化したものである。一度のテストに同数の測定が含まれるように、|ξ|=Σξxcをxによらない定数とするのが自然である。
【0031】
本実施の形態における問題は以下の通りである。
【0032】
今、状態s∈Sが未知とする。またsの事前分布と実施可能なテストξの回数Nが与えられたとする。このとき、N回のテストの実施でできるだけ高確度で真の状態を特定するためには、どのような戦略でテストを実施する(各テストをどのタイミングでどのくらいの回数実施する)のが効率的だろうか。またテストの実施結果に応じて、どのように真の状態を推定すればよいだろうか。
【0033】
以上の問題設定において、本実施の形態では、状態を表す確率値を並べたベクトルqを導入した点が重要である。既存技術[2]では、このベクトルがバイナリベクトル(各成分が0または1のみをとるベクトル)であったため、各枝は確定的な状態しかとれなかった。一方、本実施の形態における定式化では、各成分が不通確率に対応した0から1までの任意の実数をとることができるため、確率的な振る舞いを表現できる。
【0034】
さて、後述するネットワークトモグラフィー手法は、任意の確率値を並べたベクトルの有限集合{qに対して適用可能である。しかし現実には、ネットワーク状態について以下の(i)、(ii)の仮定を置けることも多い。
【0035】
(i)各枝は「よい状態」(ほぼ正常に動作する状態)か「悪い状態」(輻輳や障害により正常に動作しにくい状態)のどちらかになると見なせる、(ii)複数の枝が同時に「悪い状態」になることは少ない。
【0036】
上記の観点から、ネットワーク状態{qを以下のように限定して定義するのも有効である。
【0037】
まず、枝の2値状態を表すベクトルの集合(下記の式)を定義する。
【0038】
【数3】
ここで=1(0)は枝eが悪い状態(よい状態)にあることを意味し、また悪い状態である枝の数は高々k本である。なお、「q」は、「」をqの頭の上に置くことを意図している。
【0039】
=(s1,・・・,s|E|)に対して、ネットワーク状態q=(qs1,・・・,qs|E|)を、sj=1ならqsj=ε、sj=0ならqsj=1-εとなるように定める。ここでε<<1は既知の小さな実数である。εは枝の状態の揺らぎの程度と解釈することができる(ε=0とおけば、参考文献[2]における確定的な状態の議論に帰着する)。後述する「実施の形態の効果」では、ここで説明した方法でネットワーク状態を定義する。
【0040】
(ネットワーク障害箇所特定装置100による処理内容の詳細)
ネットワーク障害箇所特定装置100により実行されるネットワークトモグラフィー手法の詳細を説明する。
【0041】
本手法そのものは、前処理を除き参考文献[2]で開示されているものをそのまま用いることができる。参考文献[2]に開示されている近似保証もそのまま成立する。以下では、参考文献[2]に開示されている従来技術と重複する部分に関しては要点のみを説明し、前処理については本実施の形態に係る技術の独創的な箇所であるため詳述する。
【0042】
本実施の形態では「アダプティブ測定」のアプローチをとる。これは、ネットワーク障害箇所特定装置100が、現状で得られているテストの結果に応じて次に実施するテストを逐次的に決定していくものである。具体的には以下のようなバッチ処理として定式化する。
【0043】
N回のテストをサイズNのB個のバッチに分ける。すなわちN×B=Nが成り立つ。b回目のバッチ((b∈[1,B]∩Z))では、下記のテスト設計を決定する。
【0044】
【数4】
これはテストξ(x=1,・・・,|X|)を実施する回数を表したものであり、|m|=Nである。mを決定した後、それを実行して、下記の結果を得る。
【0045】
【数5】
ここで、
【0046】
【数6】
上記の式は、グループcの下記の回数の実行の中で、結果1を得た回数を表している。
【0047】
【数7】
b<B(つまり最終バッチ以外)のときは、ym_bとそれ以前のバッチの結果に基づき、次のテスト設計mb+1を決定していくこととなる。本実施の形態では前述の通り確率モデルに基づく定式化を行っているため、各バッチ実行後にはその結果に基づいて事後分布の計算を行うことができる。したがってこれから考えるべき問題は、「各バッチにおいて、状態を効率的に絞り込む上で、(直前までの計測実行結果で得られた事後分布を元に)どのようにmを設計するか」である。なおバッチサイズとバッチ回数(N,B)に関しては、運用の実態(一回のテスト実行に要する時間や許容されるネットワーク負荷など)に応じて決定されるハイパーパラメータである。
【0048】
m(mの添え字bは適宜省略する)を設計するにあたっては、mの「よさ」を定量的に表さなければならない。本実施の形態では、mの実行により得られるyがもたらす有効性の指標として、YとSの間の相互情報量I(S;Y)を用いることにする(yやsを確率変数と見なす際は、Y、Sのように大文字を用いる)。これにより本実施の形態で考える問題を以下のように記述することができる。
【0049】
[問題]:事前分布Pr(s)と(b-1)回目のバッチまでに得られる下記の測定結果が与えられたとき、
【0050】
【数8】
下記の解m を求めよ。
【0051】
【数9】
ここでI(S;Y|Db-1)はDb-1が与えられたときのYとSの間の相互情報量であり、下記の数式1のように与えられる。
【0052】
【数10】
また数式1右辺の各量は、下記の数式2,3で与えられる。
【0053】
【数11】
【0054】
【数12】
本実施の形態におけるネットワーク障害箇所特定装置100は、この「問題」の求解、得られた解m の実行、結果に基づく事後分布計算という工程をバッチ回数分繰り返すことになる。
【0055】
上記の「問題」は、組合せ最適化問題であり、NP困難であることが示せる。これを解くのに本実施の形態では任意の近似最適化手法や最適化手法を用いてよいが、一例として参考文献[2]に開示された方法を適用できる。
【0056】
ネットワーク障害箇所特定装置100により実行される全ての処理の手順(アルゴリズム)を、図1にAlgorithm1として示す。
【0057】
まず2行目で状態の候補を削減する前処理(StateSpaceReduction)があるが、これに関しては参考文献[2]のものを適用できないため、後で詳述する。
【0058】
5行目から始まるバッチ処理では、6~10行目でmを貪欲法に基づき作成する(ここが上記の「問題」の近似解法に相当している)。8行目に相互情報量の計算CalcMIがあるが、これは参考文献[2]に開示された方法で計算できる。whileループ内ではI(S;Y|Db-1)の増分が最も大きいようなξx_maxを逐次的に選択し、mの第xmax成分をインクリメントしている。mを作成した後、それを実行して、yを取得し、11~13行目で事後分布Pr(s|D)の更新を行う。以上の工程をバッチ回数分繰り返す(4行目のfor文に対応)。最終的な事後分布を最大化する状態を推定状態として出力する(14行目)。
【0059】
Algorithm1は貪欲法に基づく近似アルゴリズムであるが、以下のように相互情報量最大化の意味で定数の近似度を持っていることが示せる。すなわち、最悪ケースであっても、相互情報量が一定値以上であることが保証されている。
【0060】
[定理]:Nが十分大きいときAlgorithm1で得られるmとし、最適なmを下記のとおりとする。
【0061】
【数13】
このとき、下記の式が成り立つ。
【0062】
【数14】
ここで、Algorithm1の2行目にあった前処理(StateSpaceReduction)について説明を行う。この処理は、あらかじめあり得ない状態をSから取り除いておくことで、Algorithm1の実行時間を短縮するためのものである。
【0063】
類似の処理は参考文献[2]にもあったが、その手法はU行列が0または1を値に持つ成分を多く含んでいることを用いたものだった。これはネットワーク構成要素の状態が確定的である(ε=0である)ことを利用したものであり、本実施の形態の問題設定においては適用することができない。以下ではU行列の詳細に依存せず一般的に適用できる前処理手法について説明する。
【0064】
ネットワーク障害箇所特定装置100が実行する前処理手順を、図3のProcedure2に示す(この処理はAlgorithm1の内部に組み込まれているため、AlgorithmではなくProcedureと呼称を区別している)。
【0065】
Procedure2の基本的な考え方は、グループcの1回の実行結果を表す確率変数Y(0または1の値をとる)とネットワーク状態を表す確率変数Sとの相互情報量I(S;Y)に基づいて、状態特定に有用であると考えられるグループcを見つけることである。
【0066】
そのために、まず、確率分布Pr(s)に従ってN個の状態{s(l)をサンプリングする。各サンプルs(l)に対して、各cを1回実行したときの測定結果(1または0)を乱数シミュレーションにより生成する。これをデータセットとして、相互情報量の近似値^I(S;Y)を算出する。この近似値の算出には、例えば参考文献[4]に記載の方法を用いればよい。
【0067】
この処理により、各グループcが状態特定にどの程度有効であるかを定量的に評価することができる。そして、この相互情報量を最大化するグループcmaxを含むようなξを任意に一つ選択して実行する(4~5行目)。その結果を使いBayes推定に基づいて状態の分布Pr(s)を更新する。以上の処理をある回数Niter回繰り返した後、確率が閾値δよりも小さい状態を削除する。また対応するU行列の列も削除する(8行目)。
【0068】
この前処理により多くの状態の候補を大きく削減できるため、続く図2のアルゴリズムの処理が高速化される。なお、事前分布Pr(s)が定かでない場合は、事前知識(複合障害は単一の障害よりも起こりづらいなど)を使い設計したり、一様分布を用いたりすればよい。
【0069】
(実施例)
上述した処理の実施例として、ネットワーク障害箇所特定装置100の構成例と、その構成を用いた処理手順例を説明する。
【0070】
図4に、ネットワーク障害箇所特定装置100の構成例を示す。図4に示すように、ネットワーク障害箇所特定装置100は、入力用UI110、状態数削減部120、テスト実行部130、テスト最適化部140、テスト結果分析部150、出力用UI160を有する。状態数削減部120、テスト結果分析部150は、図示のとおりに対象ネットワーク200と接続している。
【0071】
上記の構成を備えるネットワーク障害箇所特定装置100の処理手順を図5のフローチャートを参照して説明する。
【0072】
S101において、まず入力用UI110にアルゴリズム実行に必要なデータやパラメータ(事前分布Pr(s),U,N,B,εなど)を入力する。S102において、状態数削減部120は、これらを基にAlgorithm 1の2行目=Procedure 2に従いξを決定し、それをテスト実行部130に渡す。
【0073】
S103において、テスト実行部130は、pingを始めとする疎通性確認プログラムなどを用いて、テストを対象ネットワークで実行する。再びS102において、状態数削減部120が、得られた結果を基に、Procedure 2に従って、次のξを決定する。
【0074】
S102~S103を定められた回数実施したら、次に、S104において、テスト最適化部140が、Algorithm1の5~10行目の貪欲法または別の最適化アルゴリズムに従ってmを作成する。これをテスト実行部130に渡して、S105において、対象ネットワークでテストを実行する(Algorithm1の11行目に相当)。
【0075】
その結果はテスト結果分析部150に渡され、S106において、ベイズ推定の枠組みに従って事後分布を計算する(Algorithm1の13行目に相当)。
【0076】
得られた事後分布は、テスト最適化部140エンジンに渡され、Algorithm1のループまたは別の最適化アルゴリズムに従い、以上の工程(S104~S106)を繰り返す。決められた回数実施したら、最終的な事後分布から、最尤値として推定状態を出力用UI160に出力する。S107において、出力用UI160が推定状態を出力する。
【0077】
(実施の形態のまとめ)
以上説明したとおり、本実施の形態に係るネットワーク障害箇所特定装置100は、ネットワークのルーティングのトポロジー情報、動的に変化しうるルーティング情報、及びパス測定装置の制約情報に加え、確率的に疎通状態が変動するネットワーク構成要素のパラメータ情報に基づいて、上記パス測定装置がパス測定に関するテストを実施しその結果を得る工程を1回以上繰り返すことで障害箇所を特定する。
【0078】
ネットワーク障害箇所特定装置100は、計算量削減のためネットワーク状態の候補を事前に削減するための状態数削減部120と、実行すべき最適なパス測定のテストを算出するテスト最適化部140と、実際にテストを実行するテスト実行部130と、テストの結果に応じてネットワークの状態を絞り込むテスト結果分析部150とを有する。
【0079】
ネットワーク構成要素のパラメータ情報として、例えば、各リンクあるいは各ノードの疎通確率、又は、それら疎通確率の組として表現されるベクトルを用いることができる。
【0080】
状態数削減部120は、例えば、ある計測の実行結果を表す確率変数とネットワークの状態を表す確率変数の間の相互情報量を求め、その相互情報量を近似的または厳密に最大化するような計測を含むテストを実際に実施し、その結果計算される事後分布に基づいて状態削減を行う。
【0081】
(実施の形態の効果について)
以上説明した本実施の形態に係る技術により、確率ルーティングに加えて、ネットワーク構成要素が確率的な挙動を示す状況下において限られた回数のパス測定でできるだけ正確に障害箇所を特定することが可能となる。本技術では、確率的な環境下であっても、障害特定に有効なパス測定を優先的に行うため、障害特定までに要するパス測定が少数に抑えられ、障害特定の短期化、ネットワーク負荷の削減が期待できる。
【0082】
図6の3つのネットワークデータ[5]を用いて評価を行った。図6における#bad edgesは同時に悪い状態となる枝数を表し、|S|はあり得る状態の総数である。またε=0.01とε=0.05の二つのケースを考えた。各ネットワークに対し以下のような設定を考える。
【0083】
グループ数は|C|=3|V|で、各ノードに対して、それをSノードとしたとき、ランダムに選んだ3つのノードをDノードとして、ノードペア(グループ)を決めた。各ノードペアに対して、最短パス、二番目に短いパス、三番目に短いパスを監視パスとみなした(|A|=9|V|)。各グループに対してi番目に短いパスは下記の確率で選択されるようにした(lはパスの長さ)。
【0084】
【数15】
Sノードを同じくする3つのグループを一度ずつ実行するものを一つのプローブテストξとみなし、全部で|X|=|V|パターンのテストを考えた。初期状態分布Pr(s)は一様とし、N=30とした。また、Procedure2による状態削減はNiter=20として実施した。
【0085】
本実施の形態に係る技術(PMと記す)の他に、比較として、Random、LS[6]、LASSO[7]を実施した。Randomは本発明の手法において、相互情報量を用いずに、ランダムにξを選択したものである。
【0086】
LSとLASSOは確率ルーティングにおけるネットワークトモグラフィーとして提案された非アダプティブなアプローチによる既存手法である。LASSOに関してはハイパーパラメータλを0.0001、0.001、0.01と変えた場合に実施した。
【0087】
評価指標としては正答率を用いた。悪い状態の枝が2本ある状態に対しては、2つとも特定して初めて正解とした。ランダムに選択した真の状態30パターンに対して実験を行い、正答率を算出した。
【0088】
実験の結果を図7図12に示す。各図において、横軸が総テスト数N、縦軸が正答率である。本実施の形態に係る方法PMが既存手法LS、LASSOよりも高い性能を示していることがわかる。例えば正答率0.9を超すのに、ε=0.01のケースでは、最善の既存手法で160(Missouri)、320(ION)、320(Ntelos)のテスト数を要しているのに対し、PMではそれぞれ26、26、26のテスト数で十分である。また、ε=0.05のケースでは、最善の既存手法で640(Missouri)、1280(ION)、640(Ntelos)のテスト数を要しているのに対し、PMではそれぞれ26、68、68のテスト数で十分である。
【0089】
(ハードウェア構成例)
ネットワーク障害箇所特定装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
【0090】
すなわち、ネットワーク障害箇所特定装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、ネットワーク障害箇所特定装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0091】
図13は、上記コンピュータのハードウェア構成例を示す図である。図13のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0092】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0093】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、ネットワーク障害箇所特定装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0094】
以上の実施形態に関し、更に以下の付記を開示する。
【0095】
<付記>
(付記項1)
確率的に疎通状態が変動するネットワーク構成要素を有する対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置であって、
確率値で表されるネットワーク状態の候補を事前に削減する状態数削減部と、
前記状態数削減部により削減が行われたネットワーク状態の候補に基づいて、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化部と、
前記対象ネットワークに対してテストを実行するテスト実行部と、
前記テスト実行部によるテストの結果に応じてネットワーク状態を絞り込むテスト結果分析部と
を備えるネットワーク障害箇所特定装置。
(付記項2)
前記ネットワーク状態は、前記ネットワーク構成要素における疎通確率を用いて表される
付記項1に記載のネットワーク障害箇所特定装置。
(付記項3)
前記状態数削減部は、ある計測の実行結果を表す確率変数とネットワーク状態を表す確率変数との間の相互情報量を、近似的又は厳密に最大化するような計測を含むテストを前記テスト実行部により実際に実施し、そのテストの結果に基づいて計算される事後分布に基づいて、ネットワーク状態の削減を行う
付記項1又は2に記載のネットワーク障害箇所特定装置。
(付記項4)
確率的に疎通状態が変動するネットワーク構成要素を有する対象ネットワークの障害箇所を特定するためのネットワーク障害箇所特定装置が実行するネットワーク障害箇所特定方法であって、
確率値で表されるネットワーク状態の候補を事前に削減する状態数削減ステップと、
前記状態数削減ステップにより削減が行われたネットワーク状態の候補に基づいて、前記対象ネットワークに対して実行すべき最適なパス測定のテストを算出するテスト最適化ステップと、
前記対象ネットワークに対してテストを実行するテスト実行ステップと
前記テスト実行ステップによるテストの結果に応じてネットワーク状態を絞り込むテスト結果分析ステップと
を備えるネットワーク障害箇所特定方法。
(付記項5)
コンピュータを、付記項1ないし3のうちいずれか1項に記載のネットワーク障害箇所特定装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
【0096】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
[参考文献]
[1] N. Duffield, "Simple network performance tomography," in Proceedings of the 3rd ACM SIGCOMM conference on Internet measurement. ACM, 2003, pp. 210-215.
[2] Ikeuchi, Hiroki, Hiroshi Saito, and Kotaro Matsuda. "Network Tomography based on Adaptive Measurements in Probabilistic Routing." IEEE INFOCOM 2022-IEEE Conference on Computer Communications. IEEE, 2022.
[4] Ross, Brian C. "Mutual information between discrete and continuous data sets." PloS one 9.2 (2014): e87357.
[5] 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.
[6] 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.
[7] 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.
【符号の説明】
【0097】
100 ネットワーク障害箇所特定装置
110 入力用UI
120 状態数削減部
130 テスト実行部
140 テスト最適化部
150 テスト結果分析部
160 出力用UI
200 対象ネットワーク
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13