(58)【調査した分野】(Int.Cl.,DB名)
前記通信トラヒックが流れるネットワークのタイプに対応したノイズ特性パラメータに基づき、通信ノイズを生成し、前記通信トラヒックの時系列データから前記通信ノイズを除去する第3の手段を備えた、ことを特徴とする請求項1に記載のトラヒック分析装置。
前記第2の手段は、前記第1の手段で抽出された状態のシーケンスに対応する前記通信トラヒックの時系列データと、予め登録されたアプリケーション状態に対応する前記通信トラヒックの類似度に基づき、アプリケーション状態を判別する、ことを特徴とする請求項1乃至3のいずれか1項に記載のトラヒック分析装置。
前記第2の手段は、前記第1の手段で抽出された状態のシーケンスと、予め登録されたアプリケーション状態のシーケンスの類似度に基づき、アプリケーション状態を判別する、ことを特徴とする請求項1乃至3のいずれか1項に記載のトラヒック分析装置。
前記アプリケーション状態、又は、将来のアプリケーション状態の予測結果に基づき、ネットワーク制御と通信制御の少なくとも一方を行う手段を備えた、ことを特徴とする請求項1乃至7のいずれか1項に記載のトラヒック分析装置。
【発明を実施するための形態】
【0029】
本発明の実施形態について説明する。
図31を参照すると、本発明の一形態のトラヒック分析装置1は、通信トラヒックの時系列データに対して、階層隠れマルコフモデル(Hierarchical Hidden Markov Model)4に基づき、状態のシーケンスを推定し、前記状態のシーケンスから類似するパターンをひとまとめにして(1つのグループにグループ化して)1つの状態とみなした上で、状態のシーケンスを抽出する第1手段(第1のユニット)2と、前記第1の手段(第1のユニット)2で抽出された前記状態のシーケンスと、予め記憶部に記憶(登録)されたアプリケーション特性(アプリ特性)5と、を照合し、前記時系列データに対応するアプリケーション状態を判別する第2の手段(第2のユニット)3と、を備える。かかる構成を備えた本発明の一形態のトラヒック分析装置1によれば、通信トラヒックの時系列データからアプリケーション状態(アプリケーションの種別やアプリケーションの動作モード(状態)等)を推定するにあたり、誤推定(
図1の202a、202b、202c)の発生を抑制し、推定精度の向上を図ることができる。
【0030】
ここで、発明の前提技術でもあるHMM(Hidden Markov Model)について概説しておく。連続HMM(「連続分布型HMM」とも称せられる)は、シンボル出力確率を確率密度関数(probability density function (p.d.f.):例えばガウス分布(Gaussian p.d.f.))で表現したものであり、各状態の出力は、確率密度関数にしたがったd次元実数値ベクトル(dは所定の正整数)である。
【0031】
図2は、連続HMMを説明するための模式図である。
図2を参照すると、連続HMMでは、各状態の出力は、出力空間(d次元空間)の部分空間を構成する。連続混合型HMMの各状態の出力確率は以下で与えられる。
【0032】
観測値列(シーケンス)O(
図1では通信トラヒック)は、系列長Tの時系列データからなるものとする。
・・・(1)
【0033】
ただし、o
tは以下のd次元列ベクトルで与えられる(d≧1)。
・・・(2)
肩のTは転置演算子である。
【0034】
状態j(隠れ状態)での出力確率分布b
j(o
t)は、以下で与えられる。
【0036】
Kは連続混合HMMの混合数である。N()は多次元(d次元)正規分布である。
・・・(4)
【0037】
式(4)において、μ
ijは平均、Σ
jkはdxdの分散共分散行列である。
【0038】
連続混合HMMのモデルパラメータを
・・・(5)
とする。
【0039】
式(5)において、Nは状態の数、Kは混合数である。
π
iは最初にどの状態にあるかを表す初期状態確率である。
a
ijは時刻t-1に状態iに存在し時刻tに状態jに遷移する遷移確率である。
c
jkは状態jのk番目の確率分布の混合比である。
θ
jkは状態jのk番目の確率分布のパラメータ(平均ベクトルμ
jk, 分散共分散行列Σ
jk)である。すなわち、
θ
jk={μ
jk,Σ
jk}
・・・(6)
【0040】
<EMアルゴリズム>
EMアルゴリズム(Expectation-Maximization)では、出力(観測データ)をx、非観測データ(欠けているデータ)(HMMでは状態列)をy、モデルパラメータをΘとし、観測値列の対数尤度を、E(Expectation)ステップとM(Maximization)ステップの繰り返しにより最大化するため、以下の1〜3のステップを含む。
【0041】
ステップ1.
初期パラメータΘを設定する(時刻t=0)。
【0042】
ステップ2.
現在推定されているパラメータの分布Θ
tのもとで、尤度関数の条件付き確率P(y|x,Θ
t) に関する期待値を計算する(Eステップ)。
・・・(7)
【0043】
ステップ3.
Eステップで求まった尤度の期待値Q(Θ|Θ
t)を最大化するようなパラメータ
・・・(8)
を求める(Mステップ)。
【0044】
このMステップで求められたパラメータΘ
*をΘ
(t+1)として時刻を更新し(t=t+1)、次のEステップで使われる潜在変数の分布を決定するために用い期待値が収束する(増大しなくなる)まで上記ステップ2と3を繰り返す。
【0045】
観測値列Oに対する未知の状態シーケンスS={s
1, s
2,… s
T}ただし、状態s
t∈{1,…,N}、及び、観測値系列Oの未知の確率密度分布系列(分布系列)M={m
1, m
2,… m
T}、ただし、m
t∈{1,…,K}とすると、状態系列Sと分布系列Mは、EMアルゴリズムの非観測データ(欠けているデータ)yに対応する。完全データの対数尤度は、観測データO、非観測データY、パラメータΘに関して、
・・・(9)
【0047】
モデルパラメータΘ
(t-1)と観測値列Oが与えられたとき、時刻t-1では状態iに存在し、時刻tで状態jに遷移する事後遷移確率分布をξ
ij(t)としてフォアワードアルゴリズム、バックワードアルゴリズムを用いて書き直すと、
・・・(11)
【0048】
時刻tに状態jに存在する事後確率分布をζ
j(t)として
・・・(12)
【0049】
時刻tに状態jのk番目の分布に存在する分布の事後確率分布をγ
jk(t)として
・・・(13)
【0050】
上記Q関数を各パラメータに関して最大化することにより、初期状態確率π
i、状態遷移確率aij、混合比cjk,θ
jk={μ
jk,Σ
jk}等は、例えば以下のように導出される(導出は良く知られている)。
【0056】
<フォアワードアルゴリズム>
なお、モデルΘと観測値列Oが与えられたとき、時刻tまでに部分観測値列o
1,o
2,…, o
tを出力し、時刻tに状態iに存在する確率分布は、
・・・(19)
として定義される。
【0057】
このα
i(t)は、良く知られているように、例えば以下のフォアワードアルゴリズムによって計算される。
【0059】
時刻tでo
1,o
2,…,o
tを観測し、現在状態iにいる確率分布は
・・・(22)
で与えられる。
【0060】
<バックワードアルゴリズム>
バックワード変数β(t)はモデルΘが与えられた時、時刻t+1から時刻Tまでの観測列o
t+1,o
t+2,…, o
Tが生成される確率分布
・・・(23)
として定義される。
【0062】
式(24)において、Fは最終状態の集合、N
Fは最終状態の状態数である。
【0063】
図1の例では、サンプルトラヒックをネットワーク上に流し、パケットモニタ装置(パケットキャプチャ)で通信トラヒック(例えばスループット:1秒当たりの転送データ量)を測定し、通信トラヒック(スループット)の時系列データを観測値列として、上記したEMアルゴリズムを用いて、連続混合HMMのパラメータ
・・・(25)
を推定する(HMMモデルパラメータの学習)。
【0064】
Viterbiアルゴリズムは、HMMにおいて与えられた出力列を出力した尤度が最も高い状態遷移系列を計算する。観測値列O=o
1,o
2,…,o
Tを生成したモデルMにおいて最適な状態系列S=s
1,s
2,…,s
Tを求めるために、最適状態確率δ
i(t)を定義する。
【0065】
δ
i(t)=max <s
1,s
2,…,s
t-1> p(s
1,s
2,…,s
t =i, o
1,o
2,…,o
T |Θ)
・・・(26)
【0066】
時刻tにおける最適状態の確率は、以下のように再帰的に計算することができる。
δ
j(t) = max<i> [δ
i(t-1)a
ij]b
j(o
t)
・・・(27)
【0067】
<Viterbiアルゴリズム>
ステップ1.
各状態i=1,…,N に対して、変数の初期化を行う。
δ
1(i)= π
i×b
i(o
1),
ψ
1(i)=0 (1≦i≦N)
・・・(28)
【0068】
ステップ2.
各時刻t=1,…,T-1, 各状態j=1,…,N について、再帰計算を実行する。
δ
t+1(j) = max(1≦i≦N)[δ
t(i)a
ij]b
ij(o
t+1)
ψt+1(j) = argmax(1≦i≦N) [δ
t(i) a
ij ]
・・・(29)
【0069】
ステップ3.
再帰計算の終了(時刻t=Tにおける最大の確率値Pと状態遷移系列qの計算)。
^P= max(1≦i≦N) [δ
T(i)]
^q
T = argmax(1≦i≦N) [ψ
T(i)]
・・・(30)
【0070】
ステップ4.
バックトラックによる最適状態遷移系列の復元。
各時刻t=T-1, …,1に対して、
^q
t = ψ
t+1(^q
t+1) ・・・(31)
を実行する。
【0071】
図1に示す例では、上記した連続混合型HMMを用いて、与えられた観測系列(201:通信トラヒック(スループット))の時系列データを出力した尤度が最も高い状態遷移系列(202:状態シーケンス)を計算している。
【0072】
なお、連続混合型HMMに階層型HMM(Hierarchical HMM:HHMM)を用いてもよい。階層型HMMに関して、例えば特許文献1、非特許文献2等が参照される。
【0073】
連続HMMでは、
図3(A)に模式的に示すように、通信トラヒック(例えばスループット)の時系列データ201(区間201−1、201−2、201−3)の振幅値(
図3(A)の縦軸)の分布を、それぞれ正規分布211−1、211−2、211−3で表している(ただし、正規分布211−1、211−3は等しい)。時系列データの区間201−1、201−3の振幅値の分布に関して、その平均はμ
1、標準偏差はσ
1、時系列データの区間201−2の振幅値の分布に関して、その平均はμ
2、標準偏差はσ
2である。
【0074】
図3(B)は、1つの正規分布が1つの状態に対応する場合(例えば
図2の混合数K=1の場合)の連続HMMを模式的に図解している。
図3(A)の通信トラヒックの時系列データが正規分布から生成されたと仮定し、生成元の正規分布を隠れ状態とみなしている。隠れ状態#1の出力確率分布b1(ot)(正規分布)312−1、隠れ状態#2の出力確率分布b2(ot)(正規分布)312−2となる。なお、
図3(B)では簡単のため、各隠れ状態の出力確率分布312−1、312−2を、1次元(式(4)のd=1)の1つの正規分布(
図2のK=1)で表している。
【0075】
図3(C)は、
図3(A)の通信トラヒックに対して、連続HMMを用いて推定した状態シーケンスを示している。時系列データを正規分布で量子化し(時系列データがどの正規分布から得られる確率が最も高いか推定し、生成元の正規分布に対応する状態番号(状態名)で離散化)、アプリケーションの種別/状態(アプリ状態A:映像配信、アプリ状態B:音声通話等)ごとの変動パターンを離散値で表現する。
図3(C)では、通信トラヒック(例えばスループット)の時系列データ201(区間201−1、201−2、201−3)に対して、連続HMMを用いて推定した状態の時間推移を、時系列データの時間軸に合わせて図示している。
図3(A)において、例えば、通信トラヒックの時系列データの区間201−1、201−3の振幅の分布は同一の正規分布211−1の範囲に収まる。このため、時系列データ201の区間201−1、201−3は同一の状態#1とみなすことができる。
【0076】
一方、通信トラヒックの時系列データ201の変動(振幅変動)が大きく、例えば時系列データの区間201−1の分布が正規分布211−1の範囲内に収まらず、正規分布211−2の範囲に跨って振動する場合、推定された状態が変動する。通信トラヒックの時系列データの変動振幅や変動回数が大きくなると、通信トラヒックの時系列データに対して、連続HMMを用いて推定した状態のシーケンス(例えばViterbiアルゴリズムで求めた通信トラヒック(スループット)に対応する最適状態の遷移シーケンス)も激しく変化する(ばたつく)ことになる。
図1に示す例では、状態202の値0がアプリ状態(映像)(例えばカメラからの映像送信)、状態202の値1がアプリ状態(通話)(例えば端末間の音声通話)であるが、202a、202b、202cの時間区間の状態は、本来、状態203に示すように、アプリ状態A(値=0)であるべきところ、通信ノイズの影響等により、アプリ状態B(値1)の時間区間が含まれる。また、202a、202b、202cではスパイク状のノイズも含まれる。
【0077】
なお、通信トラヒックの時系列データとして、スループット[bps(bit per second)]の時系列データを例示しているが、スループットに制限されるものでなく、例えば、
・単位時間当たりのパケット到着間隔(平均値)[sec]、
・単位時間当たりの平均パケットサイズ(平均値)[bytes]、
・単位時間当たりのパケット数等であってもよい。あるいは、オプションとして、例えばIoT向けの時系列入力情報(加速度の時系列情報や、無線品質の変化)も入力情報として利用してもよい。
【0078】
本発明によれば、HMMを用いて推定される状態のばたつきを抑制するために、まず、通信トラヒックの時系列データから通信ノイズ量を算出して除去するようにしてもよい。通信トラヒックの時系列データから通信ノイズ量を除去した時系列データに対して、HMMを用いて、状態シーケンスを抽出するようにしてもよい。
【0079】
本発明によれば、通信トラヒックの時系列データに対して連続HMMで推定した状態シーケンスに対して、離散HMMにより、類似した状態遷移が繰り返される変動パターンを検出し、該状態遷移が類似する変動パターンを離散HMMの1つの状態とする。このため、例えば通信トラヒックが乱高下する状況を、上層層(離散HMM)の1つの状態としてまとめることができる。
【0080】
図4(A)、
図4(B)は、本発明で用いるHMMのモデル構造を説明する図である。なお、
図4(A)の301は通常のHMMのモデル構造を模式的に例示し、
図4(B)の302は階層モデルのモデル構造を模式的に例示している。階層モデル302には、2つのグループ1、2(303、304)を含む例が示されているが、グループは2つに制限されるものでなく、3つ以上であってもよいことは勿論である。
【0081】
なお、
図4(B)の階層モデル302は、非特許文献1では、「多階層連鎖モデル」とも称され、各グループは「レジーム」とも称される。なお、グループ1、2では、単に簡易化のため、状態遷移モデルの状態数を2としている。グループは2つに制限されるものでなく、状態遷移モデルの状態数は2つに制限されるものでないことは勿論である。
【0082】
各グループは内部に状態間の遷移行列A1、A2(それぞれの(i,j)要素は状態遷移確率:a1;ij、a2;ij (i,j=1,2))を保持し、さらに、グループ(レジーム)間の2×2の遷移行列Δ((u,v)要素は、状態遷移確率:δuv (u,v=1,2))を保有する。
【0083】
例えばグループのモデルパラメータ{θ
1、θ
2、Δ}に基づき、シーケンスの変化点を検出する。非特許文献1によれば、変化点によって分割された部分シーケンスは「セグメント」とも称せられる。セグメントをグループ化したものが、類似時系列パターンである。なお、
図4において、各グループ1、2のHMMは、連続HMM又は連続階層HMMであってもよいし、離散HMM、離散階層HMMであってもよい。
【0084】
また、非特許文献1に開示されるように、コスト関数に基づき、最適なセグメントの数、グループ(レジーム)の数を算出するようにしてもよい。
【0085】
図5(A)乃至
図5(C)は、本発明を説明する図である。
図5(A)は、通信トラヒックに対して連続HMMを用いて推定した状態シーケンスを例示したものであり、
図3(C)の状態シーケンスに対応する。なお、特に制限されないが、
図5(A)の状態シーケンスにおいて、状態#1を0、状態#2を1としている。
【0086】
図5(B)は、
図5(A)の状態シーケンス(連続HMMに基づき推定された状態シーケンス)に離散HMMを適用し、類似するパターンを発見し、該類似するパターンを1つのグループ(
図4(B)の303、304等に対応)にまとめ、離散HMMの一つの隠れ状態でモデル化している。特に制限されないが、
図5(B)の例では、
隠れ状態s1の出力確率は、
- 番号1(
図5(A)の状態#1に対応)を出力する確率=0.1、
- 番号2(
図5(A)の状態#2に対応)を出力する確率=0.9、
隠れ状態s2の出力確率は、
- 番号1(
図5(A)の状態#1に対応)を出力する確率=0.6、
- 番号2(
図5(A)の状態#2に対応)を出力する確率=0.4、
である。δ
ij(i,j=1,2)は状態s
iから状態s
jへの遷移確率である。
【0087】
図5(C)は、
図5(A)の離散値(状態の番号)の時系列データから、状態の変動が類似するパターンを、離散HMMにより1つのグループ(状態)にまとめた一例を示している。すなわち、
図5(C)の例では、
図5(A)の402−1の時間区間の状態のシーケンスの類似する変動パターン(状態#1と状態#2間でのばたつき(状態#1->状態#2->状態#1と同じような状態遷移の5つの変動パターン)を模式的に5つの三角波で表している)をひとまとめにグループ化して、離散HMMの状態s2としてモデル化している。前述したように、状態s2において、番号1、番号2(状態#1、状態#2)を出力する割合(出力確率の値の比)は3:2である。
図5(A)の402−1の時間区間の状態#1、#2間の遷移パターンは、1つにまとめた状態s2が、例えば自己遷移し、その都度、状態s2の出力確率に応じて番号1、2を出力することに対応し、状態#1、状態#2間での遷移とみなすことができる。
【0088】
図5(C)の状態のシーケンスは、離散HMMを用いて、
図5(A)の状態402(連続HMMを用いて推定した状態)のシーケンスにおける402−1の時間区間の通信ノイズ(状態#1と状態#2間でのばたつき)を除去することが可能であることを例示している。
【0089】
図6は、上記した本発明の一形態を説明する図である。グループ数r=2、区間(セグメント)数m=7とした場合を示す図である。ここで、セグメントは、例えば非特許文献1に従い、時系列データのパターンの変化点で区画される区間とする。f
1=2はセグメントの第1のメンバ(第1セグメント)がグループ(レジーム)2であることを表している。通信トラヒック(例えばスループット)401は、
図1の通信トラヒック201と同一の時系列データである。402は、通信トラヒック(スループット)の時系列データ401に対して連続HMMを用いて推定した状態のシーケンスである。
図6のモデルパラメータ403(グループ1、2のモデルパラメータ)は、
図4(B)の302に対応し、
θ
1={π
1、A
1、B
1}、
θ
2={π
2、A
2、B
2}
・・・(32)
で与えられる。ここで、π
i(i=1,2)は初期確率、A
i(i=1,2)は遷移確率、B
i(i=1,2)は出力確率である。404は推定された状態の時間推移を示している。状態404の値0はアプリ状態A(映像)、値1はアプリ状態B(通話)であり、
図1の状態203と同一の時間推移であり、正しくアプリ状態が推定されていることが分かる。
【0090】
なお、
図6では、通信トラヒックの時系列データとして、スループットの時系列データが示されているが、同一の通信トラヒックに関して、同一時間軸上で、スループット、パケットサイズ、パケット頻度、パケット送信間隔等、属性の異なる複数の時系列データ(例えば4種の時系列データ)に対して、階層モデルを用いて、各セグメントでのアプリケーション状態を推定するようにしてもよい。
【0091】
図7は、本発明の一形態のトラヒック分析装置の動作例を説明する流れ図である。
【0092】
解析対象の通信トラヒックの情報(例えばスループット等の特徴量)を取得する(ステップS11)。前述したように、通信トラヒックの情報は、単位時間当たりのパケット到着間隔(平均値)[sec]、単位時間当たりの平均パケットサイズ(平均値)[bytes]、単位時間当たりのパケット数等であってもよい。
【0093】
通信トラヒック(例えばスループット等の特徴量)の時系列データから通信ノイズを算出し除去する(ステップS12)。
【0094】
階層HMMに基づき、通信トラヒック(スループット)の時系列データから状態シーケンスを抽出し、類似パターンを1つの状態にまとめ、状態シーケンスの正規化処理を行う(ステップS13)。
【0095】
正規化した状態シーケンスを、予め記憶されているアプリケーション特性と照合し、通信トラヒック(スループット)の時系列データに対応するアプリ状態を判定する(ステップS14)。
【0096】
以上、本発明の一形態の典型的な動作原理の一例を説明した。次に、本発明の例示的な一実施形態について説明する。
【0097】
図8(A)乃至
図8(C)は、本発明の実施形態に係るシステム構成例を説明する図である。
図8(A)において、パケットキャプチャ(パケットモニタ)10は、ネットワークを流れるプロトコルデータ単位(Protocol Data Unit:PDU)であるパケット(フレーム)をキャプチャし、各パケットのヘッダ等を解析し、例えばパケットの送信元アドレス、送信先アドレスや、ポート、長さ(パケットサイズ)、パケット頻度、パケット送信時間間隔等を解析する。なお、PDUは、ISO(International Organization for Standardization)のOSI(Open Systems Interconnection)参照モデルのデータリンク層(レイヤ2(L2))では「フレーム」、ネットワーク層(レイヤ3(L3))では「パケット」という。
【0098】
パケットキャプチャ10(「パケットモニタ」ともいう)は、通信ネットワーク50内に配置されたネットワークノード20(例えばルータ(L3スイッチ)等の中継装置)等に接続し、通信ネットワーク50上に流れるパケット、例えば端末30とサーバ40間で送信・受信されるパケットをキャプチャする。ネットワークノード20において、モニタ対象の1つ又は複数のポート(複製元ポート)をパケットキャプチャ10が接続するポート(複製先ポート)にミラーリングすることで、パケットキャプチャ10は、ネットワークノード(スイッチ)20の該1つ又は複数のポート(複製元ポート)を通過する全てのパケット(送信パケット、受信パケット)をモニタすることができる。パケットキャプチャ10では、ネットワークインタフェースカード(NIC)をプロミスキャスモード(promiscuous mode)に設定し、自分宛のデータパケットでない信号も取り込むようにする。パケットキャプチャ10は、パケットの宛先、送信元のIPアドレス等を参照するだけでよい。このため、リクエストヘッダ等を含めて通信トラヒックは暗号化されていてもよい。
【0099】
なお、
図8(A)において、ネットワークノード20は、コアネットワーク内のゲートウェイ・ノード、あるいは、無線アクセスネットワークの基地局等であってもよい。トラヒック分析装置100は、パケットキャプチャ10で算出された、端末とサーバ間又は端末間の通信トラヒック(スループット)の時系列データを取得し、トラヒックの解析を行う。このトラヒック分析装置100は、
図31のトラヒック分析装置1に対応する。なお、トラヒック分析装置100を、通信ネットワーク50を介して接続する不図示のクラウドサーバ等に実装するようにしてもよい。
【0100】
図8(B)には、トラヒック分析装置100内に、
図8(A)のパケットキャプチャ10を実装し、パケットキャプチャ10とトラヒック分析装置100を一体に実装した構成が示されている。
【0101】
あるいは、
図8(C)に示すように、パケットキャプチャ10、トラヒック分析装置100を、通信ネットワーク50のノード(例えばルータ等の中継装置、無線基地局やMEC(Mobile Edge Computing)サーバ等、コアネットワーク上のゲートウェイやサーバ等)に実装する構成としてもよい。
【0102】
あるいは、端末30、又は、端末30と通信するサーバ40等に実装することで、端末30に流れてくるパケット、又は端末30からサーバ40に送信されるパケットをキャプチャしトラヒックを解析するようにしてもよい。なお、
図8(A)乃至
図8(C)において、通信ネットワーク50は端末間の音声通話サービス(Voice Over IP等)を提供するものであってもよい。
【0103】
<実施形態1>
図9は、
図8(A)乃至
図8(C)を参照して説明したトラヒック分析装置100の構成の一例を示す図である。トラヒック分析装置100は、通信トラヒックの時系列データの変動波形(変動頻度、変動の大きさ)から推定された状態の変動を確率的に算出し、不要な変動パターンを除去するように、時系列データの抽象度を上げ、状態シーケンスとアプリケーション特性とに基づき、アプリケーションを判定するように構成される。なお、
図9の構成は、トラヒック分析装置100の機能構成(処理モジュール)を例示したものであり、物理構成を規定したものではない。物理構成は、通信機能を備え、メモリに接続する1つ又は複数のプロセッサ装置で命令群を実行することで各機能(処理)を実現するようにしてもよい。
【0104】
<通信トラヒック取得部>
図9において、通信トラヒック取得部101は、
図8(A)に示すように、パケットキャプチャ10から解析対象の通信トラヒックをリアルタイムで取得する。前述したように、通信トラヒック取得部101は、
図8(B)、
図8(C)に示すように、パケットキャプチャを含む構成としてもよい。
【0105】
<通信ノイズ算出部>
通信ノイズ算出部102は、通信トラヒックの時系列データの変動(例えば変動頻度、変動の大きさ)から通信ノイズ量を確率的に算出する。通信トラヒックは、無線環境の変動やアプリケーションの送信パターンの変化等による影響(本明細書では、「通信ノイズ」と呼ぶ)を受け、トラヒックパターンが変動する。
【0106】
図10は、通信トラヒックの時系列データ401として、リアルタイム映像配信時の通信トラヒック(スループット)の時系列データを示している。402は、通信トラヒック(スループット)の時系列データ401に対して連続HMMを用いて推定した状態のシーケンスである。
図10において、状態のシーケンスにおいて時間区間411では、通信ノイズによる通信トラヒック(スループット)の変動の影響によって、アプリ状態を誤って推定している。通信ノイズは短時間に急激な変化をする場合がある。一方で、ある一定時間、トラヒックパターンが変わらないアプリケーションもある。例えば動画閲覧は数10秒〜数分、通信トラヒック(スループット)等のトラヒックパターンは変わらない。本発明によれば、変動時間粒度の違いを利用して、通信ノイズによる誤判定を抑制するようにしてもよい。
【0107】
特に制限されないが、固定網(固定回線)、無線網(例えばWi-Fi(Wi-Fi Allianceの登録商標)等)、携帯電話網(例えばE-UTRAN(Evolved Universal Terrestrial Radio Access Network)、EPC(Evolved Packet Core)等のコアネットワーク)等のネットワーク環境のタイプと、対応する変動波形(変動頻度、変動の大きさ)の関係は、予め記憶装置等に設定されているものとする。例えば、事前に、ネットワーク環境(固定網、無線網、携帯電話網)において、特定の転送速度のトラヒック(例えば映像等のアプリケーション)を定常的に流し、通信トラヒック(スループット)の時系列波形データを取得し、その変動頻度や変動の大きさを決定するようにしてもよい。
【0108】
図11(A)は、ネットワーク環境(特に制限されないが、例えば固定網、無線網、携帯電話網等)における通信トラヒック(例えばスループット)の変動頻度や変動の大きさを記憶する記憶部1021を説明する図である。記憶部1021は、通信ノイズ算出部102内に備えてもよいし、外部に備えてもよい。なお、記憶部1021の変動頻度は単位時間当たりの変動発生数である。
【0109】
例えば、通信トラヒック(スループット)の変動(通信ノイズ)の瞬時振幅値(変動の大きさ)は確率的に正規分布に従うものとすると、変動の大きさの特性を表すパラメータは、例えば、変動振幅の最大値(A
1)、平均(μ
1)、標準偏差(σ
1)としてもよい。
【0110】
通信ノイズ算出部102は、分析対象のトラヒックのネットワーク環境に対して、対応するネットワーク環境のノイズ特性パラメータを予め取得するようにしてもよい。例えば、分析対象のトラヒックのネットワーク環境は、
図8(A)、
図8(B)のネットワークノード20から取得してもよい。例えばネットワークノード20が基地局であれば無線網、コアネットワークノードであれば、携帯電話網、また光ルータ等の場合、固定回線(固定網)となる。
【0111】
通信ノイズ算出部102は、ノイズ特性パラメータに基づき、ノイズ波形(時系列データ)を生成する構成としてもよい。
図11(C)の405a、405b、405cは生成されたノイズ波形(通信ノイズ)を模式的に示している。
【0112】
瞬時振幅値(変動の大きさ)が正規分布等、確率密度関数f(x)(xは振幅(確率変数))に従う場合、
図11(B)に示すように、0と振幅最大値(例えば
図11(A)のA1)の範囲の一様乱数を生成し(1022)、確率密度関数f(x)の累積分布関数F(x)の逆関数F
-1(x)1023に、生成した一様乱数を入力する。逆関数F
-1(x)1023の出力として、正規分布等の確率密度関数f(x)に従う確率変数x(乱数)が生成される(この手法は「逆関数法」とも称せられる)。逆関数法で生成した乱数を、時間軸上に順番に配列してノイズ波形(時系列データ)を生成してもよい(この場合、ノイズ波形は前後で激しく変動する)。あるいは、逆関数法で生成した生成された乱数を、例えば大きさの順にソートし、ソート結果を展開し、時間軸上での整列(1024)を行い、1025として示すように、時間軸上で、ある幅を持ったノイズ波形を生成するようにしてもよい。
【0113】
ノイズ波形1025の時間軸上の配置は、例えば元の通信トラヒック(スループット)401(
図11(C))における通信ノイズの発生位置に対応させて配置するようにしてもよい。
図11(C)では、通信トラヒック(スループット)401における通信ノイズの発生位置に対応させてノイズを配置した例を、405a、405b、405cとして模式的に示している。405a、405b、405cの各々は、逆関数法で生成した乱数を、時間軸上、順番に配列してノイズ波形であってもよい。あるいは、
図11(B)のノイズ波形1025を複数合成したものであってもよい。変動頻度情報(単位時間当たりの変動発生数)に基づき、1/(変動頻度)の時間分、離間させてノイズ波形を合成するようにしてもよい。
【0114】
通信ノイズ算出部102では、確率的に算出した通信ノイズを通信トラヒック(スループット)から時間軸上で差し引くことで通信ノイズを除去するようにしてもよい。
図11(C)において、406は、元の通信トラヒック(スループット)401の時系列データから、通信ノイズ405a、405b、405cを時間軸上で差し引いた時系列データの波形である。
【0115】
通信ノイズ算出部102では、生成した通信ノイズ(
図11(B)のノイズ波形1025)の時系列データのm個の列ベクトルをg
1->、…g
m->とする。通信トラヒック(スループット)から401の時系列データを要素nのベクトルy
->=(y
1,y
2,…y
n)
T(Tは転置演算子)とし、生成したm個のノイズ波形ベクトルg
1->、…g
m->に対して、例えば、誤差
ε=|y
->−(β
1・g
1->+β
2・g
2->+…+β
m・g
m->+c
->)|
・・・(33)
の2乗を最小化する係数ベクトルβ
->=(β
1, β
2,…, β
m)とオフセットベクトルc
->を求めるようにしてもよい(最小2乗規範)。その際、β
1, β
2,…, β
m>=0という条件を付した制約付きの最小2乗法を用いてもよい。なお、生成した複数(2つ)のノイズ波形の時系列データのベクトルg
i->、g
j->(隣接する場合、j=i+1)が時間軸上で互いに重なるときは、例えば、
大きい方の値max(g
i->、g
j->)、又は、
小さい方の値
min(g
i->、g
j->)
を該当する該時間の値としてもよい。3つ以上のノイズ波形(時系列データ)が時間軸上で互いに重なるときも、上記と同様に扱うようにしてもよい。
【0116】
誤差εの2乗を最小化する係数(β
1, β
2,…, β
m)及びオフセットc
->を用いて、
y
->−(β
1・g
1->+β
2・g
2->+…+β
m・g
m->+c
->)
・・・(34)
を、
図11(C)の通信トラヒック(スループット)406の時系列データ(通信ノイズ除去済みの時系列データ)としてもよい。
【0117】
<時系列データ正規化部>
次に、
図9の時系列データ正規化部103の処理について説明する。
図12は、時系列データ正規化部103の処理の一例を模式的に説明するための図である。
図12の406は、通信ノイズ算出部102において、通信トラヒック(スループット)の時系列データ401から通信ノイズ(波形)を減算した時系列データである(
図11(C)の406に対応)。
【0118】
時系列データ正規化部103は、例えば連続HMMに基づき、状態のシーケンス407を推定する。407では、ノイズを除去した時系列データ406から推定されたアプリ状態A(
図2の201参照)に対応する状態を状態#1、アプリ状態B(
図2の201参照)に対応する状態を状態#2としている。
【0119】
時系列データ正規化部103では、状態のシーケンス407に対して、階層隠れマルコフモデルの上位層(離散HMM)を適用し、状態のシーケンス407のうち、状態遷移のパターンが類似する時間区間の連続HMMの状態(隠れ状態)をグループ化して、上位層(離散HMM)の1つの状態(隠れ状態)にまとめる。
【0120】
図12の例では、時系列データ正規化部103は、連続HMMにより推定された状態407のシーケンスに対して、離散HMMを適用し、状態遷移のパターン(状態#1->状態#2->状態#1)の状態#1、状態#2を1つにまとめてグループ#1とする。時系列データ正規化部103では、状態407のシーケンスにおいて状態#2をグループ#2とする。そして、グループ#1を、上位層である離散HMMの状態s1、グループ#2を離散HMMの状態s2として、状態シーケンス404を抽出する。グループ#1に対応する隠れ状態s1は、それぞれ所定の出力確率で例えば番号1(407の状態#1に対応)、番号2(407の状態#2に対応)を出力するものとする(例えば自己遷移する度に、隠れ状態s1の出力確率に応じて番号1、2を出力する)。グループ#2に対応する隠れ状態s2は、例えば番号1(407の状態#1に対応)の出力確率は0とする。
【0121】
抽出された状態404のシーケンスは、通信トラヒック(スループット)の時系列データ401を隠れ状態に基づき、本来の状態のシーケンスに復元(reconstruct)したものである。なお、状態404のシーケンスにおいて、状態s1、状態s2の値をそれぞれ1、0としているが、他の値であってもよい。
【0122】
図13は、
図9の時系列データ正規化部103における状態遷移の類似パターンを検出する処理を説明する図であり、302は、
図4(B)の302に対応している。
図13を参照すると、グループ#1は、状態#1と状態#2を含み、モデルθ
1は、初期状態確率、状態遷移確率、出力確率(混合ガウス分布のモデルパラメータ)を含む。グループ#2は、状態#2を含み、モデルθ
2は、初期状態確率、状態遷移確率、出力確率を含む。上層HMMのモデルΘは、モデルθ
1、θ
2と、グループ間の遷移確率Δを含む。
【0123】
なお、
図12において、404Aは、状態シーケンス404について状態s1の時間遷移(推移)を抽出したものである。状態s1のある時間区間を値1、状態s1以外のとき、0とする。404Bは、状態シーケンス404について状態s2の時間遷移(推移)を抽出したものである。状態s2の時間区間を値1、状態s2以外のとき0とする。
図12において、状態のシーケンス404Aは、通信トラヒック(スループット)401の元となったアプリケーション状態(
図1のアプリ状態A)のシーケンスを復元したものということもできる。
【0124】
このように、時系列データ正規化部103では、通信ノイズ抽出部102により通信ノイズが除去された通信トラヒック(スループット)の時系列データに対して階層HMMを適用し、最適な状態シーケンスを推定する。時系列データ正規化部103の処理は、通信トラヒック(スループット)の時系列データの変動(ノイズ)が除去されるように、時系列データの抽象度を上げることに対応する。階層HMMの階層数が深くなるにつれて、状態の変化は、時間軸上で小刻みな変化から大まかな変化になる。
【0125】
時系列データ正規化部103では、通信トラヒック(スループット)の変動(通信ノイズ:例えば小刻みな変動)が除去できた段階でのHMMモデルの階層数を階層モデルの階層数として設定するようにしてもよい。
【0126】
図12において、通信ノイズが除去された通信トラヒック(スループット)406を正規化された時系列データと称してもよい。この場合、復元された状態404のシーケンスにおける状態s1の時間区間と、406の通信トラヒック(スループット)の時系列データとの比較から、406a、406b、406cの各時間区間は、状態#1に対応する通信トラヒック(スループット)が、通信ノイズ等の影響で低下し、連続HMMにより状態#2と推定される時間区間であることがわかる。
【0127】
時系列データ正規化部103は、例えば
図12の状態404A(404B)のシーケンスを、正規化された時系列データとして出力するようにしてもよい。
【0128】
あるいは、時系列データ正規化部103は、正規化された時系列データとして、
図12の通信トラヒック(スループット)406の時系列データを併せて出力するようにしてもよい。
【0129】
<アプリ状態判定部>
次に、
図9のアプリ状態判定部105について説明する。アプリ状態判定部105は、正規化した状態シーケンスと、記憶部106に事前に登録されているアプリケーション特性(例えば通信トラヒックの変動特性)との類似度を算出し、該当する時間区間の状態がどのアプリ状態に対応するかを判定する。
【0130】
図14、
図15は、
図9のアプリ状態判定部105を説明する図である。
図14を参照すると、アプリ状態判定部105は、時系列データ正規化部103で正規化された時系列データ(アプリ状態A)408と、予め記憶部106に記憶されているアプリケーション1の特性(
図14の破線409)との類似度を算出する。
【0131】
2つの波形(時系列データ)の間の類似度として相互相関関数を用いてもよい。時系列データ正規化部103で正規化された時系列データ(アプリ状態A)408は、通信トラヒック(スループット)401から通信ノイズを除去した時系列データを、時系列データ正規化部103で抽出された状態#1(アプリ状態A)のシーケンス(
図12の404A)の値1の時間区間でゲーティングした波形データとしてもよい。
【0132】
図14の例では、正規化された時系列データ408とアプリ1の通信トラヒック(スループット)特性409との相関値(相互相関値)が0.9であり、正規化された時系列データ408とアプリ2の通信トラヒック(スループット)特性410との相互相関値が0.1である。このため、アプリ状態判定部105では、正規化された時系列データ408は、アプリ1(アプリ状態A)の通信トラヒック(スループット)特性に対応するものと判断する。
【0133】
なお、アプリ状態判定部105は、時系列データ正規化部103から出力される状態のシーケンス(例えば
図12の404A)のパターンと、アプリ1、2の状態シーケンスのパターンとを照合して類似度(例えば相互相関値)を求め、どのアプリ状態に対応するかを判定するようにしてもよい。
【0134】
図15を参照すると、アプリ状態判定部105は、時系列データ正規化部103で正規化された時系列データ(アプリ状態B)411に対して、予め記憶部106に記憶されているアプリ1の特性(
図15の破線409)との相互相関値(0.01)と、アプリ2の特性(
図15の410)との相互相関値(0.8)を計算する。なお、
図15において、正規化された時系列データ411とアプリ2の特性410とは、線を同一として重ねせて図示すると、判別が困難となることから、正規化された時系列データ411とアプリ2の特性410は時間軸は共通としながら別々に示されている。時系列データ正規化部103で正規化された時系列データ(アプリ状態B)411は、通信トラヒック(スループット)401から通信ノイズを除去した時系列データを、時系列データ正規化部103で抽出された状態#2(アプリ状態B)のシーケンス(
図12の404B)の値1の時間区間でゲーティングした波形データとしてもよい。
【0135】
アプリ状態判定部105では、正規化された時系列データ411は、アプリ2の通信トラヒック(スループット)波形であると判定する。
図15において、正規化された時系列データ411は通話状態のスループットの時系列データであり、縦軸(bps)を、正規化された時系列データ(アプリ状態A)408(
図14)と同一スケールとしているため、微小振幅波形として表されているが、411の最大値を例えばフルスケール等に設定することで、前述したノイズ除去の手法で、スループットから通信ノイズ等を除去することは可能である。
【0136】
なお、アプリ状態判定部105は、通信トラヒック取得部101で取得した通信トラヒック(スループット)の全時間区間に対応する状態シーケンス404(正規化された時系列データ)を、アプリ1、2の特性波形と比較して相関値(相互相関値)を算出するかわりに、各ブロック(時間区間)(
図9では、例えば200秒毎)に分割し、ブロックごとに、時系列データ正規化部103で正規化された時系列データと、対応するブロック(時間区間)のアプリ1、2との特性の類似度(相互相関値)を算出するようにしてもよい。また、例えば
図14、
図15において、例えば所定長さの各時間区間について、各ブロックの類似度の合計(総和)を、正規化された時系列データと、アプリ1、2の特性(通信トラヒック特性)との類似度として算出するようにしてもよい。
【0137】
アプリ状態判定部105では、正規化された時系列データと、予め記憶部106に記憶されているアプリケーションの通信トラヒック特性(時系列データ)との類似度を、コサイン距離やユークリッド距離等を用いて計算してもよい。
【0138】
また、アプリ状態判定部105では、時系列データ正規化部103で抽出された状態シーケンスと、アプリケーションの状態シーケンスのパターンとの類似度に基づき、アプリ状態を判定するようにしてもよい。この場合、ある時間区間の状態が当該アプリケーション状態のとき、1、当該アプリケーション状態でないとき、0とした場合(例えば
図12の404A)、状態シーケンスは2値時系列データ(状態ベクトル)で表される。このため、状態ベクトルに対して、予め記憶部106に記憶されているアプリケーションの状態ベクトルとの類似度を、ハミング距離等を用いて算出してもよい。この場合、ハミング距離が所定値以下である場合、類似とみなす。
【0139】
<アプリ状態判定部:変形例1>
あるいは、アプリ状態判定部105は、通信トラヒック(スループット)の時系列データを解析して、通信の周期、通信期間、非通信期間、最大スループットなどの特徴量を抽出し、抽出した特徴量を、記憶部106に記憶されたアプリケーションの特性(通信周期、通信期間、非通信期間、最大スループット等)と比較し、比較結果に基づき、アプリ状態の判定を行うようにしてもよい。あるいは、アプリ状態判定部105は、通信トラヒック(スループット)の時系列データを解析し、パケットサイズ(例えば平均値)、パケット送信間隔(到着間隔)(例えば平均値)、パケット頻度(例えば平均値)等をアプリケーションの各々と比較するようにしてもよい。
【0140】
例えば、
図16(B)に示すように、正規化された時系列データ408の通信特徴量が、通信周期:300s(second)、通信期間:270s、非通信期間:30s、最大bps:5mega bpsの場合(通信周期、通信期間、非通信期間は
図16(A)に示す)、 記憶部106に記憶されたアプリ1の特性(通信特徴量)とアプリ2の特性(通信特徴量)(
図16(B)の412参照)を照合し、カテゴライスしてアプリ状態1と判定する。記憶部106に記憶されたアプリケーションの特性(通信の周期、通信期間、非通信期間、最大スループット等)と比較することでアプリ状態の判定を行うようにしてもよい。あるいは、アプリ状態判定部105は、通信トラヒック(スループット)の時系列データを解析し、パケットサイズ(例えば平均値)、パケット送信間隔(到着間隔)(例えば平均値)、パケット頻度(例えば平均値)等をアプリケーションの各々と比較するようにしてもよい。
【0141】
<アプリ状態判定部:変形例2>
あるいは、アプリ状態判定部105は、トレーニングデータとして、アプリケーション状態の通信トラヒックの時系列データを解析して、通信周期、通信期間、非通信期間、最大スループットなどの特徴量(属性値)を抽出し、正解ラベル(アプリケーション状態)と、データ(例えば、通信トラヒックの特徴量の平均値、分散、最大値、最小値等の少なくともいずれか)に基づき、機械学習により、アプリケーション状態を判別するための分類器(分類モデル)を生成するようにしてもよい。アプリ状態判定部105は、評価時に、評価対象の通信トラヒックから抽出した特徴量に対して、学習済みの分類器(分類モデル)を用いてアプリケーション状態を識別するようにしてもよい。特に制限されないが、アプリ状態判定部105は、教師あり学習(supervised learning)の分類器として、
図17(A)に示すように、決定木500(木構造の分類器)を用いてもよい。
【0142】
あるいは、アプリ状態判定部105は、
図17(B)に示すように、決定木を複数作成し多数決で識別するランダムフォレスト510を用いてもよい。アプリ状態判定部105は、学習時には、例えば、
- サンプルデータからランダムに複数組のサブサンプルを生成し、
- サブサンプルをトレーニングデータとして、複数組の決定木を作成し、
- トレーニングデータの属性(説明変数)(例えば
図17(B)の通信周期、通信間隔、パケットサイズ等)をランダムに所定個選択し、トレーニングデータの分類結果と属性閾値を用いて、決定木511〜51nの各ノードでの分岐条件を決定し、モデルを生成する。
【0143】
アプリ状態判定部105は、評価時には、通信トラヒックから抽出した特徴量をランダムフォレスト510に入力し、各決定木の出力(リーフノードのクラス)の多数決をとるようにしてもよい。なお、
図17(B)の決定木511〜51nの各ノード内の説明変数(属性)は模式的な例示である。各説明変数は、通信トラヒックの特徴量の平均値、分散、最大値、最小値等の少なくともいずれかであってもよい。
【0144】
図17(B)のランダムフォレスト510の決定木511〜51nにおけるリーフノードのクラスA、B等は、アプリケーションの状態(アプリ状態A、アプリ状態B、例えばアプリケーションの種別)であってもよい。
【0145】
あるいは、
図17(B)のランダムフォレスト510の決定木511〜51nにおけるリーフノードのクラスA、B等は、アプリケーション状態の動作モード等(同一アプリケーションにおける動作モード、通信モード等)であってもよい。アプリ状態判定部105は、決定木、ランダムフォレスト510あるいは決定木500の分類器に、通信トラヒック(スループット)の時系列データを入力し、同一アプリケーション状態(アプリケーション種別)における動作モードを識別するようにしてもよい。例えば、解析対象の通信トラヒックのスループットが同一アプリケーション(例えばドローンアプリケーション)の複数の動作モードのうちのいずれの動作モードであるかを識別するようにしてもよい。
【0146】
なお、アプリ状態判定部105において、分類器は、決定木、ランダムフォレスト等に制限されるものでなく、サポートベクターマシン、ベイズ推定器(Naive Bayes classifier)や、ニューラルネットワーク等を用いてもよい。
【0147】
図18は、実施形態1の作用効果を説明する図である。
図18において、201、202は、
図1の通信トラヒック(スループット)と推定した状態シーケンス(プロトタイプ)である。413は、通信トラヒック(スループット)に対して、実施形態1により推定した状態シーケンスである。
【0148】
図18からも明らかなように、実施形態1によれば、プロトタイプと比較して、アプリ状態の推定を向上している。このように、実施形態1によれば、変動の大きな通信トラヒックの特徴量(スループット)に対して、アプリ状態を正確に推定することができる。実施形態1によれば通信トラヒックパケットの5タプルのうち送信元、宛先アドレス(ポート)とスループット等の通信トラフヒックパタンに基づき、アプリケーションの状態の推移を、通信トラヒック(スループット等)パターンの変動(通信ノイズ)等の影響を回避して推定可能とし、推定精度を向上可能としている。なお、前述したように、実施形態1において、評価対象(解析対象)の通信トラヒックの時系列データとして、スループットに制限されるものでなく、パケットサイズ、パケット送信間隔、パケット頻度(例えば平均値、分散、最大値、最小値等の少なくともいずれか)等であってもよく、時間軸を共通とした複数の属性の時系列データからアプリケーション(種別、状態、動作モード等)を判別するようにしてもよい。すなわち、アプリ状態A(映像配信)、アプリ状態B(音声通話)はアプリケーションの種別に対応しているが、アプリ状態は、同一のアプリケーションの通信モードあるいは動作モード(例えばコントロールプレーンデータとユーザプレーンデータの転送モード、すなわち、ノード間での制御動作、データ転送動作等)であってもよい。
【0149】
<実施形態2>
図19は、例示的な実施形態2を説明する図である。前記実施形態1では、通信トラヒック(スループット)の時系列データから通信ノイズを除去した時系列データを取得するにあたり、通信トラヒック(スループット)の時系列データからノイズ波形を差し引いて求めている。実施形態2では、通信トラヒック(スループット)の時系列データから通信ノイズを除去する通信ノイズの除去手段として、時系列データ正規化部103を用いている。この場合、
図9の実施形態1の通信ノイズ算出部102を削除することも可能である(たたし、
図9と同様、通信ノイズ算出部102を備えた構成としてもよい)。
【0150】
時系列データ正規化部103は、連続HMMで推定した状態シーケンスに対して、状態の遷移のパターンが類似するパターンを検出するために、連続HMMの上位階層として機能する離散HMMを用いて、類似する状態遷移パターンを1つのグループ(上位層の1つの状態)にグループ化する。
【0151】
図20は、
図19の時系列データ正規化部103の処理を、時系列データ正規化部103で行う場合の動作を説明する図である。
図20において、通信トラヒック(スループット)401の時系列データは、
図6の通信トラヒック401と同一である。421は、連続HMM(HMM層#1)で推定した状態シーケンスである。すなわち、通信トラヒック(スループット)401の時系列データを入力とする時系列データ正規化部103において、連続HMMから出力された状態シーケンスである。通信トラヒック(スループット)401の時系列データの変動(変動頻度、変動の大きさ)に応じて、連続HMMで推定した状態シーケンス421も激しく変化する(ばたつく)ことになる。
【0152】
時系列データ正規化部103は、連続HMMで推定した状態のシーケンスに対して、離散HMM(HMM層#2)を用いて、状態間の遷移が類似するパターンを検出して1つのグループ(上位層の1つの状態)にまとめ、上位層の状態のシーケンスを出力する。このため、高頻度、高振幅で激しく遷移する状態シーケンスを例えば1つの状態としてまとめることができる。422は、状態シーケンス421に対して離散HMMに基づき類似パターンを1つの状態にまとめた結果の状態のシーケンスである。状態シーケンス422は、
図1の状態のシーケンス203と一致していることがわかる。なお、階層HMMの階層数は2に制限されるものでないことは勿論である。例えばサンプルトラヒックを用いて階層モデルをEMアルゴリズム等を用いて学習する場合に、スループットの小刻みな変動(通信ノイズ)を除去できた階層数を階層モデルの階層数として設定するようにしてもよい。
【0153】
時系列データ正規化部103で用いる階層モデル(例えば連続HMMのモデルと上位層の離散HMMのモデル)として、記憶部104に記憶される。記憶部104はRAM、HDD等であってもよい。階層モデルは、サンプルトラヒックを流し、得られたスループットの時系列を階層モデルで分析し、モデルパラメータを設定し、通信ノイズを除去できた階層数を、階層モデルの階層数として設定するようにしてもよい。
【0154】
<実施形態3>
次に、本発明の例示的な実施形態3について説明する。実施形態3のトラヒック分析装置100の構成は、
図15と実施形態2と同様に、
図7の通信ノイズ算出部102を削除することが可能である(ただし、
図9の実施形態1と同様、通信ノイズ算出部102を備えた構成であってもよい)。
【0155】
実施形態2との相違点は、実施形態3では、通信ノイズ除去手段として、時系列データ正規化部103において、HMMとして、状態滞在時間を考慮したHMMを用いている。アプリ状態と通信ノイズの特性の相違点として、IoT(Internet of Things)デバイスのカメラからの映像などは、長時間同一の状態(トラヒック特性、スループット)を継続する。カメラで取得した画像を圧縮符号化するエンコーダの符号化レートが所定時間の間一定の場合、カメラからの通信トラヒックのスループットは一定となる。一方、通信ノイズは瞬間的に発生する。
【0156】
実施形態3では、状態が一定時間変わらないことを想定している状態滞在時間分布を考慮したHMM(Explicit-Duration HMM:EDHMM)を利用し、例えば
図21に示すように、瞬間的に発生している通信ノイズを除去するようにしてもよい。この場合、隠れ状態ztは、状態stと残り持続時間rttで与えられる。
zt={st,rt}
【0157】
入力値がある一定時間変わらない場合を想定したモデルパラメータ(連続混合HMMのモデルパラメータ)として、
に加えて、状態iに固有の持続時間分布F
rのパラメータλiが加えられる。
【0158】
状態シーケンス:s=(s1,…, s
T)、残り持続時間のシーケンス:r=(r1,…, r
T)とする。
【0159】
EDHMMでは、
r
t=0でなければ、現在の残り持続時間が1つカウントダウンされ、状態はs
tのまま変わらない。
【0160】
r
t=0であれば、s
t以外の状態s
m(m≠t)に、遷移する。
【0161】
実施形態3によれば、
図21において、階層モデルとして、連続HMMとEDHMM(Explicit-Duration)型離散HMMを用いている。例えば状態#1(アプリケーション:リアルタイム映像配信)において、当該状態に遷移後、残り持続時間が0となるまでの間に発生した通信トラヒック(スループット)の変動(通信ノイズ)の影響は受けず、当該状態に留まることになる(
図21の持続時間r(Duration-Time)参照)。このため、時系列データ正規化部103は、
図21の424に示す状態のシーケンスのように、通信ノイズの影響を受けることはなく、
図21の425に示すような状態シーケンスを出力する。
【0162】
なお、
図21の例では、アプリ状態(リアルタイム映像配信)では、状態が一定時間変わらないことを想定しているため、状態のシーケンス:s=(s1,…, s
T)において、アプリ状態(映像)(425の状態#1)の各状態の持続時間(Duration time)r(モデルパラメータ)は一定としている。
状態1の持続時間rが、アプリケーション(例えば同一のリアルタイム映像配信)の動作モードによって、相違する場合等、通信トラヒック(スループット)の変動(通信ノイズ)の影響を受けることも考慮して、時系列データ正規化部103では、持続時間rをHMMモデルに基づき推定するようにしてもよいことは勿論である。なお、連続HMMをEDHMMで構成してもよいことは勿論である。
【0163】
実施形態3は、持続時間のモデルパラメータの設定等をさらに必要とするが、前記実施形態1と同様の作用効果を奏する。
【0164】
<実施形態4>
図22は、本発明の例示的な実施形態4のトラヒック分析装置100の構成を例示する図である。
図22を参照すると、
図9の実施形態1のトラヒック分析装置100の構成に加え、記憶部104の階層モデルを更新する階層モデル更新部107を備えている。階層モデル更新部107は、トラヒック源であるアプリケーション状態の特性の変化に追従するため、階層モデルを更新する。
【0165】
階層モデルの更新方法としては、例えばバッチ処理と、オンライン処理とに大別してもよい。このうち、バッチ処理は、
図23(A)に模式的に示すように、適当なデータブロック長(入力データの長さ)単位で最新のスループットデータを分析し、その分析結果に基づき階層モデルを更新する。階層HMMモデルの推定は前述の実施形態1と同様である。データブロック長は、固定であっても可変であってもよい。
【0166】
階層モデル更新部107において、データブロック長を可変とする場合、例えば、
- データブロック内の状態の数が1つの場合(同一状態が長期間続く場合)、データブロック長を伸ばし、
- 状態の数が複数の場合、データブロック長を短くするようにしてもよい。
【0167】
階層モデル更新部107で更新するモデルパラメータとして、前述した連続混合HMMのモデルパラメータ
及び、上層HMMのモデルのグループ毎のモデルθ1、θ2と、グループ間の遷移確率Δの少なくとも1つを含む。
【0168】
オンライン処理では、
図23(B)に示すように、過去に分析したモデルパラメータと新たに得たデータブロックから階層モデルを推定するようにしてもよい。インクリメンタルにモデル推定を行うことで計算量を削減し、オンライン処理でクリティカルに要求されるTiming Budgetを満たすことが可能となる。モデル推定は実施形態1と同様である。
【0169】
実施形態4によれば、階層モデルをアプリケーション状態の特性の変化に応じて更新するように構成したことで、アプリケーション状態の特性の変化に追従可能とし、通信トラヒックからのアプリケーション状態の推定精度をさらに向上可能としている。
【0170】
<実施形態5>
図24は、本発明の例示的な実施形態5を説明する図である。
図24を参照すると、実施形態5では、アプリ状態予測部108をさらに備えている。アプリ状態予測部108は、アプリ状態判定部105で判定されたアプリ状態を用いて、将来のアプリ状態の遷移パターンを予測する。アプリ状態予測部108における予測方法として、
図25に模式的に例示するように、点予測、あるいは区間予測を用いてもよい。推定したアプリ状態シーケンスに対して、例えば自己相関を計算し、将来発生する状態シーケンスを予測するようにしてもよい。
図25において、破線は、将来発生するアプリ状態Aの発生シーケンスである。
【0171】
あるいは、アプリ状態予測部108は、確率的予測1(シミュレーション)を行ってもよい。HMMを用いて推定したパラメータを利用して、例えばマルコフ連鎖モンテカルロMCMC(Markov Chain Monte Carlo)法で、将来の予測を行う。MCMCはサンプル点を直前に取り出したサンプルに依存して新しいサンプルを取得する。メトロポリス-ヘイスティングス(Metropolis-Hastings:MH)アルゴリズム、ギブス(Gibbs)サンプリング等がある。このうち、MHアルゴリズムは、提案分布q(y|x)と呼ばれる確率分布から次の候補となる値を発生し採択棄却αという値にしたがって採択するか棄却するか決める。
【0172】
すなわち、
ステップ1:
初期値x
(0)を決める。
【0173】
ステップ2以降、t=0、1、・・・に対して、以下を行う。
yを提案分布q(y|x
(t))から生成し、
uを一様分布から発生させ、
uがα(x
(t),y)以下のとき、
x
(t+1) = y、
他の場合、
x
(t+1) = x(t)
・・・(35)
とする。
【0174】
ただし、α(x
(t),y) = min{1, π(y)q(x|y)/(π(x)q(y|x))}
・・・(36)
【0175】
MHアルゴリズムで生成される(x
(0)、x
(1)、…)はマルコフ連鎖をなしマルコフ連鎖は不変分布(invariant distribution)をもち、既約性(irreducibility)、非周期性を有する。大きなm以降のサンプル(x
(m+1)、x
(m+2)、…)は目標分布π(x)からサンプルされたものとみなすことができる。
【0176】
一方、ギブスサンプルでは、
ステップ1:
確率変数xをk個のブロックx=(x1,…,xk)に分割し、
ステップ2以降、t=0,1,…に対して、以下を繰りかえす。
各x
i(t+1)を条件付き確率
p(x
j|x
1(t), x
j-1(t), x
j+1(t),…,x
k(t))
・・・(37)
からサンプリングする。
【0177】
確率的予測2(解析)として、フォアワードアルゴリズム等の動的計画法により、将来の各状態における状態確率を計算するようにしてもよい。前述したフォアワードアルゴリズムは、モデルパラメータと観測系列が与えられたとき、系列の最後における隠れ変数の状態の確率分布を求める。
【0178】
実施形態5によれば、これまでに判定したアプリ状態から将来のアプリ状態を予測可能としている。
【0179】
<実施形態6>
図26は、本発明の例示的な実施形態6を説明する図である。実施形態6では、実施形態5のアプリ状態予測部108に変えて、アプリ状態の予測結果を利用して、通信トラヒック(例えばスループット)を予測するアプリ状態・通信トラヒック予測部109をさらに備えている。アプリ状態・通信トラヒック予測部109は、アプリ状態予測部と通信トラヒック予測部を一体化したものである。アプリ状態・通信トラヒック予測部109におけるアプリ状態の予測は、アプリ状態予測部108における予測方法と同一である。
【0180】
アプリ状態・通信トラヒック予測部109における将来の通信トラヒック(例えばスループット)の予測方法として、時系列的予測を行うようにしてもよい。
【0181】
アプリ状態・通信トラヒック予測部109は、例えば、アプリ状態ごとに、通信トラヒック(スループット)のAR(Auto Regressive:自己回帰)モデル等の時系列モデルを構築する。ARモデル(AR(p))は、出力y
tが過去のp個の出力にのみ依存し、
y
t=−Σ<i=1,p>y
(t-i)+ε
t
・・・(38)
ε
tがN(0、Σ)である(ガウス性白色雑音)。
【0182】
アプリ状態・通信トラヒック予測部109は、アプリ状態の予測部で、予測した将来のアプリ状態に該当する時系列モデルを選択する。
【0183】
アプリ状態・通信トラヒック予測部109は、該選択した時系列モデルから、例えば式(38)にしたがって将来の通信トラヒック(例えばスループット)を予測する。
【0184】
アプリ状態・通信トラヒック予測部109における将来の通信トラヒック(スループット)予測の別の方法として、HMMのモデルパラメータから予測してもよい。階層モデルを作成する際に、どのような分布から通信トラヒック(スループット)が生成されているかを出力確率(例えば式(3)参照)で表現する。アプリ状態・通信トラヒック予測部109は、アプリ状態予測部で予測したアプリ状態に該当する出力確率を選択することで、将来の通信トラヒック(例えばスループット)を予測するようにしてもよい。
【0185】
<実施形態7>
図27は、本発明の例示的な実施形態7を説明する図である。
図27を参照すると、実施形態7では、
図24の構成に加えて、推定されたアプリ状態に応じた通信制御等を行う制御部110をさらに備えている。
【0186】
制御部110は、直接、通信制御等を行うようにしてもよいし、あるいは、
図8(A)、
図8(B)のネットワークノード20(L3スイッチ、基地局、ゲートウェイ等)に対して通信制御の指示を送信するようにしてもよい。
図8(C)の場合、制御部110は、例えば端末30―サーバ40間の通信制御を直接行う。
【0187】
図8(A)、
図8(B)のネットワークノード20がルータ(エッジルータ等)の場合、又は、
図8(C)において、トラヒック分析装置100がルータ機能を含む場合、ネットワーク制御として、制御部110は、アプリ状態に応じて、トラヒックシェーピング、フィルタリングを制御するようにしてもよい。トラヒックシェーピングでは、パケット送信時の速度(送信間隔)を調整しトラヒックを一定のレートとする制御が行われる(例えば、帯域確保、帯域制限、優先制御等の制御を行うようにしてもよい)。また、フィルタリングでは、例えば、トラヒックを検査し指定したフィルタリングルールに基づいて個々のネットワーク接続が許可または拒否する制御等を行うようにしてもよい。
【0188】
図8(A)、
図8(B)のネットワークノード20が基地局の場合、又は、
図8(C)においてトラヒック分析装置100が基地局機能を含む場合、又は、モバイルエッジコンピューティング装置に実装される場合、無線品質に応じた無線チャネルの割り当てにあたり、該緊急度の高い移動局(端末)に対して、優先的に無線チャネルを割り当てる等の無線スケジューリングを行うようにしてもよい。
【0189】
あるいは、トラヒック分析装置100を、キャリアネットワークのトラヒック・ディテクション・ファンクション(TDF)として実装し、トラヒックとアプリ状態との関係を解析しトラヒックに対応するアプリケーションを認識し、PCRF(Policy and Charging Rules Function)が制御ルールを決定し、PCEF(Policy and Charging Enforcement Function)等により帯域制御、経路変更等の制御を行うようにしてもよい。
【0190】
また、アプリ状態に応じた通信制御として、通信のタイミング(パケットデータの送信時刻、送信間隔等)、送信元、中継局(トランスコーダ)等における不図示のエンコーダ(符号化部)の圧縮符号化(圧縮符号化方式、符号化レート、フレームレート、解像度等)を制御するようにしてもよい。
【0191】
実施形態7によれば、アプリ状態に応じて、ネットワーク制御、通信制御等を行うことができる。なお、実施形態7において、アプリ状態予測部108の代わりに、
図26のアプリ状態・通信トラヒック予測部109を備えた構成としてもよい。
【0192】
<実施形態8>
図28は、本発明の例示的な実施形態8を説明する図である。
図28を参照すると、実施形態8では、
図9の構成に加えて、QoE計算部111をさらに備えている。QoE計算部111は、推定したアプリ状態ごとに、どれくらいの通信品質を提供できているかを分析し、アプリケーション品質であるQoE(Quality of Experience)を計算(評価)する(例:Web QoE、動画QoE等)。QoEは、Webページ、動画の配信先のノード(端末、サーバ等)側で測定したQoEを収集し、アプリ状態に関連付けて記憶保持しておき、QoE計算部111は、通信トラヒック取得部101で取得した通信トラヒック(スループット)やアプリ状態判定部105で判定されたアプリ状態に対応するQoEを求めるようにしてもよい。
【0193】
QoE計算部111は、
動画(カメラ)アプリQoEでは、例えば、
- 動画が途切れない、
- 高画質等の場合、
QoEは「良い」(5段階の4)と評価する。なお、QoEは、非常に良い、良い、普通、悪い、非常に悪い等の5段階評価が用いられる。なお、映像の場合、評価対象の映像のMOS(Mean Opinion Score)から基準映像のMOSを差し引いたDMOS(Differential Mean Opinion Score)を用いるようにしてもよい。評価対象の映像のMOSから基準映像のMOSを差し引き、これに5を加えるようにしてもよい(ACR(Absolute Category Rating)-HRR(Hidden Reference Removal))。
【0194】
QoE計算部111は、
WebアプリQoEでは、例えば、
- クリックしてから表示完了が早い場合、
QoEは「良い」と判断するようにしてもよい。
【0195】
QoE計算部111は、例えば、
遠隔機械制御(ドローン、工作機械、自動車)のQoEでは、
- 外部から制御コマンドを入力して、機器にコマンドを到達するまでが早い、または、
- 遅延が一定の場合、
QoEは「良い」と評価するようにしてもよい。
【0196】
QoE計算部111は、
ファイル転送アプリのQoEでは、例えば、
- 転送開始から送信完了までが早い、
- 転送に失敗しない等の場合、
QoEを高く評価するようにしてもよい。
【0197】
実施形態8によれば、判定されたアプリ状態に対応するQoEを判定可能としている。
【0198】
<実施形態9>
図29は、本発明の例示的な実施形態9の構成を説明する図である。
図29を参照すると、実施形態9は、
図28の構成に加えて、制御部112を備えている。制御部112は、QoE計算部111で算出(評価)したアプリ品質(QoE)に基づき、通信事業者等が提供するアプリケーションの制御を行う。なお、実施形態9において、実施形態7(
図27)のアプリケーション状態予測部108を備え、QoE計算部111は、予測した将来のアプリケーション状態に対応するQoEを計算するようにしてもよい。
【0199】
特に制限されないが、制御部112は、QoE計算部111で計算したQoEが悪い方の当該アプリケーションを優先し、ネットワーク制御・通信制御を実行するようにしてもよい。こうすることで、システム全体のQoEを向上し平滑化(平準化)を実現する。
【0200】
あるいは、制御部112は、QoEが悪い方の閾値を超えたら(例えば5段階の「悪い」(2)を下回ると)、当該アプリケーションの優先度を下げるように、ネットワーク制御・通信制御を実行するようにしてもよい。こうすることで、所定のアプリ品質(QoE)を維持できないアプリケーションの優先度を下げることにより、優先度の高い方のアプリの品質を確保することができる。
【0201】
制御部112は、QoE計算部111で計算したQoEが良すぎる場合、当該アプリケーションの優先度を下げるネットワーク制御・通信制御を実行するようにしてもよい。
【0202】
なお、QoE計算部111は、現在までのQoEとアプリケーション状態に基づき、アプリケーション状態に対応するQoEの予測値も含んでもよい。この場合、制御部112は、将来のQoEの予測値に基づき、アプリケーションの優先度を制御することができる。
【0203】
実施形態9によれば、判定したQoE、又は将来のQoEの予測値に基づき、ネットワーク制御・通信制御を行うことで、アプリケーションに関する優先制御を実現できる。
【0204】
<実施形態10>
図30は、本発明の例示的な実施形態10として、トラヒック分析装置100を、コンピュータ装置60で実現した構成を例示する図である。
図30を参照すると、コンピュータ装置60は、プロセッサ(例えばCPU(Central Processing Unit))61、記憶装置(メモリ)62、表示装置63、通信インタフェース64を備える。記憶装置62は、例えばRAM、ROM、EEPROM等の半導体ストレージ、HDD、CD、DVD等であってもよい。記憶装置62は、プロセッサ61で実行されるプログラム(命令群、データ等)を格納する。プロセッサ61は、記憶装置62に格納されたプログラムを実行することで、前記各実施形態のトラヒック分析装置100の機能を実現する。通信インタフェース64は、
図8(A)、
図8(B)のネットワークノード20との通信接続を制御するインタフェースである。通信インタフェース64は、
図8(C)において通信ネットワーク50に流れるパケット(例えば端末30とサーバ40間のパケット)を転送するネットワークインタフェースとして機能してもよい。
【0205】
なお、上記の特許文献1、非特許文献1および2の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0206】
特に制限されないが、上記した実施形態は以下のように付記される。
【0207】
(付記1)
通信トラヒックの時系列データに対して隠れマルコフモデルに基づき、状態のシーケンスを推定し、前記状態のシーケンスから状態遷移が類似するパターンをひとまとめにして1つの状態とみなして状態のシーケンスを抽出する第1の手段と、
前記第1の手段で抽出された前記状態のシーケンスと、予め定められたアプリケーション特性とに基づき、前記時系列データに対応するアプリケーション状態を判別する第2の手段と、
を備えた、ことを特徴とするトラヒック分析装置。
【0208】
(付記2)
前記通信トラヒックが流れるネットワークのタイプに対応したノイズ特性パラメータに基づき、通信ノイズを生成し、前記通信トラヒックの時系列データから前記通信ノイズを除去する第3の手段を備えた、ことを特徴とする付記1に記載のトラヒック分析装置。
【0209】
(付記3)
前記第1の手段は、階層隠れマルコフモデルを前記時系列データに適用し、前記階層隠れマルコフモデルの下位層に基づき推定した状態のシーケンスに対して前記階層隠れマルコフモデルの上位層を適用し、前記状態のシーケンスのうち状態遷移のパターンが類似する区間の前記状態を1つのグループにまとめ前記上位層の1つの状態とする、ことを特徴とする付記1又は2に記載のトラヒック分析装置。
【0210】
(付記4)
前記階層隠れマルコフモデルは、連続隠れマルコフモデルを前記下位層とし、離散隠れマルコフモデルを前記上位層として含む、ことを特徴とする付記3に記載のトラヒック分析装置。
【0211】
(付記5)
前記階層隠れマルコフモデルを更新する手段を備えた、ことを特徴とする付記3又は4に記載のトラヒック分析装置。
【0212】
(付記6)
前記第2の手段は、前記第1の手段で抽出された状態のシーケンスに対応する前記通信トラヒックの時系列データと、予め登録されたアプリケーション状態に対応する前記通信トラヒックの類似度に基づき、アプリケーション状態を判別する、ことを特徴とする付記1乃至4のいずれか一に記載のトラヒック分析装置。
【0213】
(付記7)
前記第2の手段は、前記第1の手段で抽出された状態のシーケンスと、予め登録されたアプリケーション状態のシーケンスの類似度に基づき、アプリケーション状態を判別する、ことを特徴とする付記1乃至4のいずれか一に記載のトラヒック分析装置。
【0214】
(付記8)
前記第2の手段は、前記通信トラヒックの特徴量を抽出し、前記特徴量と予め登録されたアプリケーションの特徴量とを照合し、アプリケーション状態を判別する、ことを特徴とする付記1乃至4のいずれか一に記載のトラヒック分析装置。
【0215】
(付記9)
前記第2の手段は、アプリケーションの通信トラヒックの特徴量を、教師データとして、アプリケーションを判別する分類モデルを機械学習し、
評価対象の通信トラヒックの時系列データに対して前記分類モデルを用いてアプリケーション状態を判別する、ことを特徴とする付記1乃至4のいずれか一に記載のトラヒック分析装置。
【0216】
(付記10)
前記第1の手段は、状態滞在時間分布を考慮したHMM(Explicit-Duration HMM)モデルを用いて通信ノイズを除去する、ことを特徴とする付記1乃至9のいずれか一に記載のトラヒック分析装置。
【0217】
(付記11)
現時点までに判定したいくつかのアプリケーション状態を用いて、将来のアプリケーション状態を予測する手段を備えた、ことを特徴とする付記1乃至10のいずれか一に記載のトラヒック分析装置。
【0218】
(付記12)
現時点までに判定したいくつかのアプリケーション状態を用いて、将来の通信トラヒックを予測する手段を備えた、ことを特徴とする付記1乃至10のいずれか一に記載のトラヒック分析装置。
【0219】
(付記13)
推定したアプリケーション状態に基づき、ネットワーク制御と通信制御の少なくとも一方を行う手段を備えた、ことを特徴とする付記1乃至12のいずれか一に記載のトラヒック分析装置。
【0220】
(付記14)
前記アプリケーション状態に基づき、アプリケーション品質(QoE)を判別する手段を備えた、ことを特徴とする付記1乃至13のいずれか一に記載のトラヒック分析装置。
【0221】
(付記15)
前記アプリケーション状態、又は、将来のアプリケーション状態の予測結果に基づき、ネットワーク制御と通信制御の少なくとも一方を行う手段を備えた、ことを特徴とする付記1乃至14のいずれか一に記載のトラヒック分析装置。
【0222】
(付記16)
通信トラヒックの時系列データに対して隠れマルコフモデルに基づき、状態のシーケンスを推定し、前記状態のシーケンスから状態遷移が類似するパターンをひとまとめにして1つの状態とみなして状態のシーケンスを抽出し、
前記抽出された前記状態のシーケンスと、予め定められたアプリケーション特性とに基づき、前記時系列データに対応するアプリケーションを判別する、ことを特徴とするトラヒック分析方法。
【0223】
(付記17)
前記通信トラヒックが流れるネットワークのタイプに対応したノイズ特性パラメータに基づき、通信ノイズを生成し、前記通信トラヒックの時系列データから前記通信ノイズを除去する、ことを特徴とする付記16に記載のトラヒック分析方法。
【0224】
(付記18)
階層隠れマルコフモデルを前記時系列データに適用し、前記階層隠れマルコフモデルの下位層に基づき推定した状態のシーケンスに対して前記階層隠れマルコフモデルの上位層を適用し、前記状態のシーケンスのうち状態遷移のパターンが類似する区間の前記状態を1つのグループにまとめ前記上位層の1つの状態とする、ことを特徴とする付記16又は17に記載のトラヒック分析方法。
【0225】
(付記19)
前記階層隠れマルコフモデルは、連続隠れマルコフモデルを前記下位層とし、離散隠れマルコフモデルを前記上位層として含む、ことを特徴とする付記18に記載のトラヒック分析方法。
【0226】
(付記20)
前記階層隠れマルコフモデルを更新する、ことを特徴とする付記18又は19に記載のトラヒック分析方法。
【0227】
(付記21)
前記抽出された状態のシーケンスに対応する前記通信トラヒックの時系列データと、予め登録されたアプリケーション状態に対応する前記通信トラヒックの類似度に基づき、アプリケーション状態を判別する、ことを特徴とする付記16乃至19のいずれか一に記載のトラヒック分析方法。
【0228】
(付記22)
前記抽出された状態のシーケンスと、予め登録されたアプリケーション状態のシーケンスの類似度に基づき、アプリケーション状態を判別する、ことを特徴とする付記16乃至19のいずれか一に記載のトラヒック分析方法。
【0229】
(付記23)
前記通信トラヒックの特徴量を抽出し、前記特徴量と予め登録されたアプリケーションの特徴量とを照合し、アプリケーション状態を判別する、ことを特徴とする付記16乃至19のいずれか一に記載のトラヒック分析方法。
【0230】
(付記24)
アプリケーションの通信トラヒックの特徴量を、教師データとして、アプリケーションを判別する分類モデルを機械学習し、
評価対象の通信トラヒックの時系列データに対して前記分類モデルを用いてアプリケーション状態を判別する、ことを特徴とする付記16乃至19のいずれか一に記載のトラヒック分析方法。
【0231】
(付記25)
状態滞在時間分布を考慮したHMM(Explicit-Duration HMM)モデルを用いて通信ノイズを除去する、ことを特徴とする付記16乃至24のいずれか一に記載のトラヒック分析方法。
【0232】
(付記26)
現時点までに判定したいくつかのアプリケーション状態を用いて、将来のアプリケーション状態を予測する手段を備えた、ことを特徴とする付記16乃至25のいずれか一に記載のトラヒック分析方法。
【0233】
(付記27)
現時点までに判定したいくつかのアプリケーション状態を用いて、将来の通信トラヒックを予測する手段を備えた、ことを特徴とする付記16乃至25のいずれか一に記載のトラヒック分析方法。
【0234】
(付記28)
推定したアプリケーション状態に基づき、ネットワーク制御と通信制御の少なくとも一方を行う手段を備えた、ことを特徴とする付記16乃至27のいずれか一に記載のトラヒック分析方法。
【0235】
(付記29)
前記アプリケーション状態に基づき、アプリケーション品質(QoE)を判別する手段を備えた、ことを特徴とする付記16乃至28のいずれか一に記載のトラヒック分析方法。
【0236】
(付記30)
前記アプリケーション状態、又は、将来のアプリケーション状態の予測結果に基づき、ネットワーク制御と通信制御の少なくとも一方を行う手段を備えた、ことを特徴とする付記16乃至26のいずれか一に記載のトラヒック分析方法。
【0237】
(付記31)
通信トラヒックの時系列データに対して隠れマルコフモデルに基づき、状態のシーケンスを推定し、前記状態のシーケンスから状態遷移が類似するパターンをひとまとめにして1つの状態とみなして状態のシーケンスを抽出する第1の処理と、
前記抽出された前記状態のシーケンスと、予め定められたアプリケーション特性とに基づき、前記時系列データに対応するアプリケーションを判別する第2の処理と、
をコンピュータに実行させるプログラム。
【0238】
(付記32)
前記通信トラヒックが流れるネットワークのタイプに対応したノイズ特性パラメータに基づき、通信ノイズを生成し、前記通信トラヒックの時系列データから前記通信ノイズを除去する第3の処理を前記コンピュータに実行させる付記31に記載のプログラム。
【0239】
(付記33)
前記第1の処理は、階層隠れマルコフモデルを前記時系列データに適用し、前記階層隠れマルコフモデルの下位層に基づき推定した状態のシーケンスに対して前記階層隠れマルコフモデルの上位層を適用し、前記状態のシーケンスのうち状態遷移のパターンが類似する区間の前記状態を1つのグループにまとめ前記上位層の1つの状態とする、ことを特徴とする付記31又は32に記載のプログラム。
【0240】
(付記34)
前記階層隠れマルコフモデルは、連続隠れマルコフモデルを前記下位層とし、離散隠れマルコフモデルを前記上位層として含む、付記33に記載のプログラム。
【0241】
(付記35)
前記階層隠れマルコフモデルを更新する処理を前記コンピュータに実行させる付記33又は34に記載のプログラム。
【0242】
(付記36)
前記第2の処理は、前記第1の処理で抽出された状態のシーケンスに対応する前記通信トラヒックの時系列データと、予め登録されたアプリケーション状態に対応する前記通信トラヒックの類似度に基づき、アプリケーション状態を判別する、付記31乃至34のいずれか一に記載のプログラム。
【0243】
(付記37)
前記第2の処理は、前記第1の処理で抽出された状態のシーケンスと、予め登録されたアプリケーション状態のシーケンスの類似度に基づき、アプリケーション状態を判別する、付記31乃至34のいずれか一に記載のプログラム。
【0244】
(付記38)
前記第2の処理は、前記通信トラヒックの特徴量を抽出し、前記特徴量と予め登録されたアプリケーションの特徴量とを照合し、アプリケーション状態を判別する、付記31乃至34のいずれか一に記載のプログラム。
(付記39)
前記第2の処理は、アプリケーションの通信トラヒックの特徴量を、教師データとして、アプリケーションを判別する分類モデルを機械学習し、
評価対象の通信トラヒックの時系列データに対して前記分類モデルを用いてアプリケーション状態を判別する、付記31乃至34のいずれか一に記載のプログラム。
【0245】
(付記40)
前記第1の処理は、状態滞在時間分布を考慮したHMM(Explicit-Duration HMM)モデルを用いて通信ノイズを除去する、付記31乃至39のいずれか一に記載のプログラム。
【0246】
(付記41)
現時点までに判定したいくつかのアプリケーション状態を用いて、将来のアプリケーション状態を予測する処理を、前記コンピュータに実行させる付記31乃至40のいずれか一に記載のプログラム。
【0247】
(付記42)
現時点までに判定したいくつかのアプリケーション状態を用いて、将来の通信トラヒックを予測する処理を、前記コンピュータに実行させる付記31乃至40のいずれか一に記載のプログラム。
【0248】
(付記43)
推定したアプリケーション状態に基づき、ネットワーク制御と通信制御の少なくとも一方を行う処理を、前記コンピュータに実行させる付記31乃至42のいずれか一に記載のプログラム。
【0249】
(付記44)
前記アプリケーション状態に基づき、アプリケーション品質(QoE)を判別する処理を前記コンピュータに実行させる付記31乃至43のいずれか一に記載のプログラム。
【0250】
(付記45)
前記アプリケーション状態、又は、将来のアプリケーション状態の予測結果に基づき、ネットワーク制御と通信制御の少なくとも一方を行う処理を前記コンピュータに実行させる、付記31乃至44のいずれか一に記載のプログラム。