【文献】
松田 崇弘 Takahiro MATSUDA,信号処理技術によるネットワークトモグラフィの解法 Signal Processing Approaches for Network Tomography,電子情報通信学会技術研究報告 Vol.115 No.321 IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2015年11月17日,第115巻,P.7-14
【文献】
藤原 幸一 Koichi FUJIWARA,線形回帰モデルにおけるNCスペクトラルクラスタリングを用いた効率的な入力変数選択 An Efficient Input Variable Selection for a Linear Regression Model by NC Spectral Clustering,電子情報通信学会技術研究報告 Vol.112 No.279 IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2012年10月31日,第112巻,P.359-366
(58)【調査した分野】(Int.Cl.,DB名)
前記推定式は、前記関係と、各ノードの劣化量の値から構成されるベクトルが、前記固有ベクトルを並べた行列とスペクトルベクトルとの積に等しいという関係とに基づいて導出される、Lassoの推定式である
ことを特徴とする請求項1又は2に記載の品質劣化推定装置。
前記推定式は、前記関係と、各ノードの劣化量の値から構成されるベクトルが、前記固有ベクトルを並べた行列とスペクトルベクトルとの積に等しいという関係とに基づいて導出される、Lassoの推定式である
ことを特徴とする請求項4又は5に記載の品質劣化推定方法。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。また、本実施の形態において、品質劣化推定の対象とする通信網(以下、対象通信網と呼ぶ)を構成する「ノード」は、単体のネットワーク機器(例:サーバ、ルータ、スイッチ、基地局、端末等)のみならず、ISP、通信事業者ネットワーク等のネットワーク機器の集合からなる構成も含まれる。また、対象通信網は、特定の種類の網に限られず、例えば、モバイル網であってもよいし、固定網であってもよいし、モバイル網と固定網が混在した網であってもよいし、これら以外の網であってもよい。
【0012】
本実施の形態では、対象通信網を構成する各ノードに値があり、その値が大きいほど劣化量が大きいことを表す。そして、品質劣化推定装置100が、任意の2点のノード間の品質計測値(End-to-Endの品質計測)から、通信網を構成するノードのうち大きな値を持つ劣化ノードの特定、もしくは各ノードの値の推定を行う。以下、装置構成、及び処理内容を説明する。
【0013】
(装置構成)
図1に、本実施の形態における品質劣化推定装置100の構成図を示す。
図1に示すように、品質劣化推定装置100は、品質劣化推定の演算に使用するデータを入力する入力部101、品質劣化推定の演算を行う演算部102、演算の結果を出力する出力部103、及び、入力データ、演算途中のデータ、演算結果、プログラム等を記憶するデータ記憶部104を有する。
【0014】
本実施の形態における品質劣化推定装置100は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、品質劣化推定装置100が有する機能は、当該コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0015】
(品質劣化推定装置100の動作)
次に、品質劣化推定装置100の動作として、本実施の形態における品質劣化推定方法の手順を詳細に説明する。
【0016】
<入力>
品質劣化推定装置100の入力部101には、以下の3つのデータが入力される。入力されたデータはデータ記憶部104に格納され、その後の処理において、演算部102により読み出されて演算がなされる。
【0017】
入力1:対象通信網の任意の2点のノード間の品質計測値;
入力2:入力1の計測が行われた際の経路情報 (2点間の通信を構成するノードID);
入力3:ノード間の劣化の類似性を表すグラフ構造とそのグラフに含まれるノードの構成要素。
【0018】
入力3に関して、グラフ自体は複数持つことも可能である。ただし、1つのノードは1つのグラフに属する。一例として、対象通信網におけるノード群1とノード群2のそれぞれで、隣接ノード間に劣化の類似性があり、ノード群1とノード群2との間には劣化の類似性がないような場合、ノード群1のグラフとノード群2のグラフの2つのグラフが存在する。また、入力3に関して、グラフは重み無しグラフでもよいし、重み付きグラフでもよい。なお、グラフが無い場合(下記のI=0の場合)を排除しない。つまり、グラフが無い場合でも、劣化ノード/劣化量の推定を行うことができる。
【0019】
また、本実施の形態では、以下に示す変数等の定義を使用することとする。
【0020】
対象通信網のノード数: M
ノードID:a_1,…,a_M
計測数:K
グラフ数:I (1≦I≦M/2を満たす定数)
入力1(任意の2点のノード間の品質計測値):z_k (k=1,…,K)
入力2(計測k(k=1,…,K)における経路情報(通信を構成するノード)を表す行列):A
入力2のAは、(計測数K)×(ノード数M)の行列である。この行列のk行目では計測値z_kにおける通信で経由もしくは端点となるノードの列に1,経由せず端点でもないノードの列に0が立つ (k=1,…,K)。
【0021】
入力3(ノード間の劣化の類似性を表すグラフ構造とそのグラフに含まれるノードの構成要素):ノード数N_iで構成される無向グラフG_i に対するグラフラプラシアンL_iとそのグラフの構成要素となるノードID(ただし、2≦N_i<M、i=1,…,I)。入力3において、グラフが複数存在する場合も、各ノードは2つ以上のグラフの要素にはならない。
<入力3の詳細>
ここで、入力3に関して、ノード数NのグラフGを構成するグラフラプラシアンLを求める方法について説明する。
【0022】
まず、グラフGに含まれるノード間の距離dを定義する。この距離dは、ノード間の劣化の類似度を表す指標である。距離dは例えば地理的な距離とすることができるが、これに限らず、類似度が距離dの減少関数となればどのような値でもよい。また、減衰関数をf(x)と定義する。
【0023】
グラフラプラシアンLはL=D-Cで算出される。C、Dは以下のとおりである。
【0024】
C:隣接行列 (N×Nの行列。Cの要素であるc_jkはj=kのときは0であり、c_jk=c_kjを満たす(j,k=1,…,N) )。j=kでない場合のc_jkは、以下のように、重み無しグラフと重み付きグラフとで異なる。
【0025】
重み無しグラフ:j, k番目のノード間の距離d_jkに対して、f(d_jk)がある閾値e以上であればc_jk=1とし、そうでなければc_jk=0とする。
【0026】
重み付きグラフ:j, k番目のノード間の距離d_jkのとき、c_jk=f(d_jk)とする。
【0027】
D:次数行列 (N×Nの行列。Dの要素であるg_jkはj≠kのときは0の対角行列(j,k=1,…,N) )である。また、g_jj = Σ_{k=1}^{N} c_jkである。つまり、g_jjは、k=1からNまでのc_jkの和である。
【0028】
<入力1〜入力3の具体例>
入力1〜入力3の具体例を
図2、
図3を参照して説明する。
図2は当該具体例の説明に使用するノード構成の例であり、図示のとおりに、ノードID:1,…,5のノードが接続されている。
【0029】
図3に示すとおり、本例での入力1(任意の2点のノード間の品質計測値)は、3回(K=3)の計測値である。
図3には、計測1、計測2、計測3のそれぞれについて、ノードの経路も示されている。
【0030】
入力2(計測k(k=1,…,K)における経路情報を表す行列)は、図示のとおりの行列Aとなる。各行が各計測に対応し、経由するノードに対応する列の位置に1が設定されている。
【0031】
図3の入力3(ノード間の劣化の類似性を表すグラフ構造とそのグラフに含まれるノードの構成要素)は、重み無しの例を示している。隣接行列Cにおいて、本例では、
図2の線で接続されたノード間は、f(d_jk)が閾値e以上であると想定して1を設定している。次数行列Dには、上記の隣接行列Cに設定された値に基づき算出された値が設定されている。グラフラプラシアンLは、D-Cにより算出される。
【0032】
なお、本実施の形態において、入力3(グラフラプラシアンL)は、品質劣化推定装置100の外部で予め算出して品質劣化推定装置100に入力することとしてもよいし、品質劣化推定装置100の入力部101に、グラフGの情報と距離dを与えることにより、演算部102がグラフラプラシアンLを算出し、データ記憶部104に格納しておくこととしてもよい。
【0033】
<品質劣化を推定するための処理手順>
次に、入力1〜入力3に基づいて、演算部102が実行する品質劣化を推定するための処理について説明する。基本的に、演算部102が実行する処理の結果はデータ記憶部104に格納され、次の処理において演算部102により読み出され、使用される。
【0034】
まず、演算部102は、ノード数N_iからなる無向グラフG_iのグラフラプラシアンL_iについて、L_iの固有値λ_i,lを算出し(l=1,…,N_i,0=λ_i,1≦λ_i,2≦…≦λ_i,N_i )、固有値に対応する固有ベクトルu_i,l (l=1,…,N_i)を求め、固有ベクトルを並べた行列Uを作成する。ここで、Uは正規直交行列である。また、i=1,…Iである。
U_i = (u_i,1, … , u_i,l, … , u_i,N_i) (N_i×N_i行列) … 式(1)
次に、グラフG_iにおける各ノードをノードIDの小さい順に並べ、新しいIDをa'_{i_1},…,a'_{i_N_i} とする。各ノードの値がx_i,1,…,x_i,N_iであるとする(i=1,…I)。また、グラフに属さないノード(P個, P = M -Σ_{i=1}^{I} N_i)もノードIDの小さい順に並べ、新しいIDをa"_1,…,a"_Pとし、それぞれのノードの値がy_1,…,y_Pとする。なお、各ノードの値は推定する対象であり、x_i,1,…,x_i,N_i(i=1,…I)、y_1,…,y_Pは変数である。
【0035】
さらに、計測k(k=1,…,K)における経路情報(接続ノード)を表す行列A ( (観測数K)×(ノード数M)の行列)から、グラフG_iに含まれるノードの列のみを抽出した行列A_i ( (観測数K)×(ノード数N_i)の行列)を作成する(i=1,…,I)。グラフに属さないノードに関しても、A ( (観測数K)×(ノード数M)の行列)から、グラフに属さないノードの列のみを抽出した行列A"((観測数K)×(ノード数P)の行列)を作成する。
【0036】
ここで、各ノードa_1,…,a_Mの値がx_1,…,x_Mのとき、
(z_1,…,z_K)^T = A (x_1,…,x_M)^T (ただしTは転置)…式(2)
を満たす。この式は、計測における経路上(端点含む)のノードの値の和が品質計測値であることを示している。
【0037】
式(2)は、行列A_i(i=1,…,I)、行列A"を用いて以下のように書き換えられる。
【0038】
(z_1,…,z_K)^T = A_1(x_1,1,…,x_1,N_1)^T + … + A_i (x_i,1,…,x_i,N_i)^T
+…+ A_I (x_I,1,…,x_I,N_I)^T + A" (y_1,…,y_P)^T (ただしTは転置) … 式(3)
さらに、グラフG_iの値x_i,1,…,x_i,N_i (i=1,…,I)は、以下の(4)式のように、準備したU_iとスペクトルベクトルs_iの積で分解できるとする。
【0039】
(x_i,1,…,x_i,N_i)^T=U_i s_i (i=1,…,I) …式 (4)
ベクトルs_i、ベクトルy = (y_1,…,y_P)^T と置く。なお、ベクトルs_iは、N_i個の要素を持つベクトルである。
【0040】
式(3)に式(4)を代入することで、(z_1,…,z_K)^T = A_1 U_1 s_1 - … - A_i U_i s_i - … - A_I U_I s_I - … - A" yという式が得られる。
【0041】
上記のように、観測(計測値)ベクトルと未知量ベクトルとの関係が線形で表された関係が得られるので、演算部102は、上記の関係に基づく線形逆問題を解くことで、ベクトルs_1 ,…, s_I, yを推定し、さらに変換を行うことで、各ノードの元の値であるベクトル(x_1,…,x_M)^Tを推定する。具体的には以下のとおりである。以下では、推定方法としてLasso(Least absolute shrinkage and selection operator)を使用するが、Lasso以外の方法で推定を行うこととしてもよい。なお、Lassoは、回帰係数の絶対値(L
1ノルム)の和を正規化項とした正規化推定法である。下記の推定方法に関する参考文献として例えば「Seung-Jean Kim ; Stanford Univ., Stanford ; Koh, K. ; Lustig, M. ; Boyd, S. et al. "An Interior-Point Method for Large-Scale l1-Regularized Least Squares"」がある。
【0042】
具体的には、演算部102は、スパース近似を用い、下記の式(5)で表されるLassoの推定式を解くことによって、ベクトルs_1, …, s_I, yを推定する。
【0043】
(s_1, …, s_I, y)(推定値) = argmin_{ s_1, …, s_I, y }1/2||(z_1,…,z_K)^T - A_1U_1s_1 - … - A_iU_is_i - … - A_IU_Is_I - … - A"y||^2 + μ_1|s_1| + … + μ_i|s_i|+ … +μ_I|s_I|+μ"|y| …式(5)
式(5)は、「1/2||(z_1,…,z_K)^T - A_1U_1s_1 - … - A_iU_is_i - … - A_IU_Is_I - … - A"y||^2 + μ_1|s_1| + … + μ_i|s_i|+ … +μ_I|s_I|+μ"|y|」を最小にするベクトルs_1, …, s_I, yを推定することを表す。式(5)におけるμ_1, …, μ_I, μ"はLassoのパラメータである。
【0044】
(5)式より推定されたベクトルs_1, …, s_I をU_1, …, U_I を用いて、x_i,1,…,x_i,N_i(i = 1,…,I)を復元する((4)式を右から左に解く) ことにより、x_i,1, …, x_i,N_i,(i=1,…I)、及びy_1,…,y_Pを得る。得られた結果はデータ記憶部104に格納される。
【0045】
<出力>
続いて、出力部103が、得られた結果の出力を行う。本実施の形態では、出力部103は、下記の5種類の出力のうちのいずれか1つ又はいずれか複数又は全部の出力を行うことができる。
【0046】
出力1:ノード毎の値
出力2:ノード毎の相対的な値
出力3:値の大きな上位n個
出力4:大きな値を持つノードの有無
出力5:大きな値を持つノード数
以下、より具体的に説明する。
【0047】
出力1では、出力部103は、x_i,1, …, x_i,N_i,(i=1,…I),及びy_1,…,y_Pを出力する。
【0048】
出力2では、出力部103は、品質計測値z_k (k=1,…,K)の最小値をデータ記憶部104から取り出し、x_i,1, …, x_i,N_i,(i=1,…I)の各々から品質計測値z_k (k=1,…,K)の最小値( min( z_1, …, z_K))を引いた値を求め、求められた値と、y_1,…,y_Pを出力する。
【0049】
出力3では、出力部103は、出力2の結果(x_i,1, …, x_i,N_i,(i=1,…I)の全てから品質計測値z_k (k=1,…,K)の最小値(min( z_1, …, z_K))を引いた値,およびy_1,…,y_P)のM個のうち、値の大きい順にn個抜き出して出力する。
【0050】
出力4では、閾値を設定し、出力部103は、出力2の結果M個のうち、閾値以上となる値を持つか持たないかで劣化の有/無の2変数でラベルを付け、その情報を出力する。
【0051】
出力5:閾値を設定し、出力部103は、出力2の結果M個のうち、閾値以上となる値を持つノード数をカウントし、カウントした結果を出力する。
【0052】
なお、出力1〜出力5は例であり、これら以外の出力を行うこととしてもよい。
【0053】
<グラフ作成手法の応用>
既に何度か出力結果を得ている場合に、各ノードの推定値の類似度から距離dを更新し、再び既に説明した手法でグラフラプラシアンを計算し直し、そのグラフラプラシアンを入力として用い、再度推定を行うこととしてしてもよい。
【0054】
(実施例)
品質劣化推定装置100が、上述した方法で品質劣化推定を行う場合のより具体的な例としての実施例を説明する。
【0055】
本実施例では、
図4に示すように、ノードとして、アクセスノードとサーバの2種類が存在しており、アクセスノードが25か所、サーバが10か所ある(全ノード数M=35)。また、
図4に示すとおり、アクセスノード25か所は地理的制約からグラフ情報を持っているとする。なお、
図4には、サーバ1、5、アクセスノード1〜3、6〜8、11〜13に劣化があることが示されている。
【0056】
本実施例では、品質計測値として、任意のアクセスノードi( i = 1,…,25)と任意のサーバj( j = 1,…,10 )が接続されたときの遅延時間が計測される。また、本実施例での計測回数はK回で各遅延時間をz_k (k=1,…,K)とする。これが入力1となる。なお、計測項目に関しては遅延時間以外にも、スループットやパケットロス率などを使用することも可能であるが、値が小さいほど劣化を表す指標を使用する場合には、値が大きいほど劣化を表すような指標にするために変換する関数を用いる。
【0057】
計測k(k=1,…,K)における接続情報をAの行列で表す。これが入力2となる。Aの行は計測回数を表し、列はアクセスノード1〜25、サーバ1〜10の順に並んでおり、計測された通信における経路のノードに1が立つ。例えば、k回目の計測でアクセスノード1とサーバ3が接続した場合で、かつ、アクセスノード1とサーバ3との間に他のノードを経由しない場合、行列Aのk行目は(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0)となる。
【0058】
前述したとおり、アクセスノード25か所は地理的制約からグラフ情報を持っているとし、本実施例では、接続の有無を0,1で表現する重み無グラフでグラフラプラシアンLを算出し、入力3とする。また、サーバ1〜10はグラフ情報を持たないものとする。
【0059】
上記の前提で、品質劣化推定装置100は、各アクセスノード、各サーバの劣化を示す値 (x_1,…,x_25,y_1,…,y_10) を推定する。
【0060】
ステップ1)入力1〜入力3が品質劣化推定装置100に入力されると、演算部102が、アクセスノードのグラフのグラフラプラシアン行列Lの固有値・固有ベクトルを求め、固有値の小さい順に固有ベクトルを並べた下記の行列Uを作成する。
【0061】
U=(u_1, … , u_25) (25×25行列)
ステップ2)演算部102は、行列Aをアクセスノードの列を有する行列A_a (K×25行列)と、サーバの列を有する行列A_s (K×10行列)に分割する。
【0062】
各アクセスノード、各サーバの値x_1,…,x_25, y_1,…,y_10は以下の式を満たす。
【0063】
(z_1,…,z_K)^T = A_a (x_1,…,x_25)^T + A_s (y_1,…,y_10)^T (Tは転置) …式(6)
また、グラフ構造より、各アクセスノードの値x_1,…,x_25は、スペクトルベクトルs=(s_1,…,s_25)^Tを用いて以下のように表せる。
【0064】
(x_1,…,x_25)^T=Us…式(7)
式(7)を用いて式(6)を書き換えると、以下のとおりとなる。
【0065】
(z_1,…,z_K)^T = A_a U s + A_s (y_1,…,y_10)^T…式(8)
ステップ3)ベクトルs=(s_1,…,s_25)^T, y=( y_1,…,y_10)^Tと置く。演算部102は、ベクトルs,yのスパース近似を用い、以下の式を解くことで、ベクトルs,yを推定する。
【0066】
( s', y')(推定値) = argmin_{s, y}1/2||(z_1,…,z_K)^T - A_a U s - A_sy||^2 + μ_1 |s| + μ_2|y|…式(9)
式(9)におけるμ_1,μ_2 はLassoのパラメータである。
【0067】
例えば、データ記憶部104は、式(9)を解くプログラムを有している。演算部102は、行列Uの作成、及び行列Aの分割を行った後、当該プログラムを実行して、式(9)に既知情報を入力し、ベクトルs,yを推定する演算を行う。
【0068】
ステップ4)演算部102は、推定されたベクトルs'=(s'_1,…,s'_25)^Tを以下の式より各アクセスノードの推定値x'_1,…,x'_25に変換する。
【0069】
Us'=(x'_1,…,x'_25)^T
ステップ5)以上より、各アクセスノード及び各サーバの推定値x'_1,…,x'_25, y'_1,…,y'_10が得られたので、出力部103はこれらの値を出力する。これは出力1を行う場合の例である。
【0070】
(実施の形態の効果)
本実施の形態では、ノードの中に特性の違うものが混在する場合において、ノード間の値の類似性と、値を持つノードのスパース性の2つの特徴を使い、ノードの値を推定する。ノード間の値の類似性に関しては、グラフ構造の情報として組み込んでいる。例えば、実施例で説明したように、サーバとアクセスノードの2種類の属性を持つノードが存在するときに、サーバに関しては劣化箇所が少数であるというスパース性を利用し、アクセスノードに関しては地理的な依存性から、近接ノード間の劣化の類似性をグラフとして表現し、本発明に係る手法を利用することで、ノードの特性を考慮しない場合に対して推定精度が向上する。
【0071】
また、本実施の形態では、入力である品質計測値に関して、グラフの構成要素である任意のノードを通過するような計測値が含まれない (入力データに欠損がある) 場合でも、グラフ構造による近接データからの補完によって精度の低下を抑える効果がある。
【0072】
問題設定を実施例の通りにした場合の評価結果を示す。ここでは、
図4に示したとおり、サーバ10か所のうち2か所、アクセス25か所のうち9か所の劣化が発生している状況を想定する。また、推定したいノードの値が
図5に示すとおりに与えられるものとする。なお、
図5において、劣化のあるサーバ1、5、アクセスノード1〜3、6〜8、11〜13の値が100であり、それ以外の値が0であることが示されている。
【0073】
各サーバ、各アクセスノードのすべての組み合わせの計測値が存在するとき(250データ)から、ランダムにデータ欠損をさせ入力となる計測値を減らした場合(25,50,75,100,125,150,175,200データ)の推定精度を
図6に示す。
図6における縦軸は1000回試行を行った際のRMSE(Root Mean Squared Error)の平均を表す。本発明手法(GF+CS)と既存手法(NNCS)(参考:特許文献1)を比較すると、本発明手法の方がデータ欠損した場合の精度の悪くなり方が緩やかである。
【0074】
すなわち、本発明の技術では、事前知識等による各ノードの関係性をグラフ構造として利用することによって、グラフ構造からのデータ欠損の補完が可能になり、より少ない計測点での劣化ノードの判定および、各ノードの劣化量の推定が可能となる。また、データ欠損を許容できることより、入力データが減ることによってより少ない計算量で、劣化ノードの判定および、各ノードの劣化量の推定が実現可能となる。
【0075】
(実施の形態のまとめ)
以上、説明したように、本実施の形態により、通信網を構成するノードの品質劣化を推定する品質劣化推定装置であって、2点のノード間の品質計測値と、各計測における経路情報と、ノード間の劣化の類似性を表すグラフの構造に対応するグラフラプラシアン行列とを入力する入力手段と、各計測の品質計測値から構成されるベクトルが、各計測の経路情報から構成される行列と各ノードの劣化量の値から構成されるベクトルとの積に等しいという関係と、前記グラフラプラシアン行列の固有ベクトルを並べた行列とに基づいて導出される推定式を解くことにより、各ノードの劣化量の推定値を算出する演算手段と、前記各ノードの劣化量の推定値、又は、当該推定値に基づいて得られる情報を出力する出力手段とを備えることを特徴とする品質劣化推定装置が提供される。
【0076】
実施の形態で説明した入力部101、演算部102、出力部103は、それぞれ入力手段、演算手段、出力手段の例である。
【0077】
前記グラフラプラシアン行列は、前記グラフの次数行列から前記グラフの隣接行列を引くことにより得られた行列である。また、前記推定式は、例えば、前記関係と、各ノードの劣化量の値から構成されるベクトルが、前記固有ベクトルを並べた行列とスペクトルベクトルとの積に等しいという関係とに基づいて導出される、Lassoの推定式である。
【0078】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。