(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】非定常変動検知装置、非定常変動検知方法及びプログラム
(51)【国際特許分類】
G06F 11/34 20060101AFI20231129BHJP
G06F 11/07 20060101ALI20231129BHJP
【FI】
G06F11/34 152
G06F11/07 151
(21)【出願番号】P 2022527289
(86)(22)【出願日】2020-05-25
(86)【国際出願番号】 JP2020020598
(87)【国際公開番号】W WO2021240612
(87)【国際公開日】2021-12-02
【審査請求日】2022-09-09
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】高橋 彰子
(72)【発明者】
【氏名】池上 大介
【審査官】土谷 慎吾
(56)【参考文献】
【文献】特開2018-055294(JP,A)
【文献】国際公開第2018/235123(WO,A1)
【文献】特開2017-068748(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
1又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データであって、前記システムを構成する装置数×前記装置の状態を表す項目数次元又は前記装置数×前記項目数×時間窓に含まれる時点数次元のデータで構成される時系列データを入力する入力部と、
前記各時点における前記データをクラスタリングし、前記各時点において前記データがそれぞれ分類されるクラスタの系列を表すクラスタ遷移系列を作成するクラスタリング部と、
前記クラスタ遷移系列を用いて、前記データが一のクラスタに分類されてから他のクラスタに分類されるまでの期間を表す滞在期間を算出し、前記クラスタ遷移系列と前記滞在期間から滞在期間付きクラスタ遷移系列を作成する系列作成部と、
前記
滞在期間付きクラスタ遷移系列に基づいて、前記システム状態の定常的な変動を表す定常変動と区別して、前記システム状態の非定常的な変動を表す非定常変動を検知する検知部と、
を有
し、
前記検知部は、
前記滞在期間付きクラスタ遷移系列に含まれる所定の系列長の部分系列であって、所定の条件を満たす部分系列に対応する期間を、前記非定常変動が発生している期間として検知する、ことを特徴とする非定常変動検知装置。
【請求項2】
前記所定の条件を満たす部分系列は、前記滞在期間付きクラスタ遷移系列における出現頻度が所定の閾値未満の部分系列
、又は、所定のクラスタ遷移パターンを表し、かつ、前記出現頻度が所定の閾値未満の部分系列
である、ことを特徴とする請求項1に記載の非定常変動検知装置。
【請求項3】
前記検知部は、
前記クラスタ遷移系列の中で前記部分系列に合致するクラスタ遷移パターンに対応する期間又は当該期間の一部の期間を、前記非定常変動が発生している期間として検知する、ことを特徴とする請求項2に記載の非定常変動検知装置。
【請求項4】
前記一部の期間は、前記クラスタ遷移パターンの先頭及び末尾のクラスタを除くクラスタ遷移パターンに対応する期間である、ことを特徴とする請求項3に記載の非定常変動検知装置。
【請求項5】
前記系列長は予め指定された任意の長さであり、
前記滞在期間は、前記データが一のクラスタに分類されてから他のクラスタに分類されるまでの時点数、又は、前記時点数の大小関係から決定されるクラスを表す値のいずれかである、ことを特徴とする請求項2乃至4の何れか一項に記載の非定常変動検知装置。
【請求項6】
1又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データであって、前記システムを構成する装置数×前記装置の状態を表す項目数次元又は前記装置数×前記項目数×時間窓に含まれる時点数次元のデータで構成される時系列データを入力する入力手順と、
前記各時点における前記データをクラスタリングし、前記各時点において前記データがそれぞれ分類されるクラスタの系列を表すクラスタ遷移系列を作成するクラスタリング手順と、
前記クラスタ遷移系列を用いて、前記データが一のクラスタに分類されてから他のクラスタに分類されるまでの期間を表す滞在期間を算出し、前記クラスタ遷移系列と前記滞在期間から滞在期間付きクラスタ遷移系列を作成する系列作成手順と、
前記
滞在期間付きクラスタ遷移系列に基づいて、前記システム状態の定常的な変動を表す定常変動と区別して、前記システム状態の非定常的な変動を表す非定常変動を検知する検知手順と、
をコンピュータが実行
し、
前記検知手順は、
前記滞在期間付きクラスタ遷移系列に含まれる所定の系列長の部分系列であって、所定の条件を満たす部分系列に対応する期間を、前記非定常変動が発生している期間として検知する、ことを特徴とする非定常変動検知方法。
【請求項7】
コンピュータを、請求項1乃至5の何れか一項に記載の非定常変動検知装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非定常変動検知装置、非定常変動検知方法及びプログラムに関する。
【背景技術】
【0002】
1つ又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データを用いて、当該システムの非定常変動を検知する技術が従来から知られている。ここで、非定常変動とは非定常的に発生するシステムの状態変動のことであり、例えば、システムに含まれる一部の装置の故障に伴う状態変動やシステム状態に影響を与える外的要因の発生に伴う状態変動等のことである。具体例を挙げれば、例えば、各時点におけるシステム状態をそれぞれ表すデータの項目が「リクエスト処理数」のみであるとした場合、非定常変動としては、一部の装置の故障に伴う当該装置のリクエスト処理数の減少及びそれに伴う他の装置のリクエスト処理数の増加、システム状態に影響を与えるイベントの発生に伴う総リクエスト処理数の増加又は減少等が挙げられる。なお、例えば、システムを構成する装置数をM、各時点におけるシステム状態をそれぞれ表すデータの項目数をKとすれば当該データはM×K次元のベクトルで表すことができるため、時点数がNである場合、1つ又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データはN個のM×K次元データで構成される。
【0003】
一般的に、正解ラベルが付与されていないデータを用いて、非定常変動等の異常を検知する場合、システムの定常状態を定義した上で、この定常状態を逸脱する異常値(外れ値)を検知することが行われている。上記のような複数次元(1次元も含む)のデータから異常値を検知する技術としては、例えば、非特許文献1や非特許文献2に記載されている技術が知られている。
【0004】
例えば、時点1から時点NにおけるM個の装置のリクエスト処理数の観測値が時系列データ(つまり、N個のM次元データで構成される時系列データ)として得られており、各M次元データは異常値を含まないか又は異常値を含んでいたとしても圧倒的に少数であるものとする。このとき、各装置の定常状態が変化しないものとすると、各装置のリクエスト処理数は一定値周辺に分布すると考えられるため、N個のM次元データに対して一定値周辺で分布するM次元分布を仮定することができる。非特許文献1では、このM次元分布としてM次元正規分布を仮定した上で、新たなM次元データが観測される度にM次元正規分布の標本平均からのマハラノビス距離を算出し、その算出値の多寡に応じて異常判定する方法が提案されている。また、非特許文献2では、K-Means法等のクラスタリング手法によりN個のM次元データをクラスタに分類すると共に経験則等の何等かのルールに基づいて各クラスタに対して正常又は異常を表すラベルを付与した上で、新たなM次元データが観測される度に最も近いクラスタ中心を持つクラスタのラベルから異常判定する方法が提案されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】N.Ye et al., "An anomaly detection technique based on a chi-square statistic for detecting intrusions into information systems," Quality and Reliability Engineering, Vol.17 (2), 2001.
【文献】G.Munz et al., "Traffic Anomaly Detection Using K-Means Clustering," Computer Science, 2007.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記の非特許文献1や非特許文献2で提案されている従来技術では、いずれも各時点におけるシステムの状態(つまり、各時点におけるシステムのスナップショット)に着目しており、時間経過に伴うシステムの状態遷移には着目していない。このため、例えば、定常状態においても時間変動や週変動等の周期変動によってシステム状態の変動が繰り返されているシステムにおいては、このような定常的な変動(以下、「定常変動」ともいう。)とそれ以外の非定常変動とを区別することが難しく、定常変動を非定常変動と誤検知したり、非定常変動の検知漏れが発生したりする可能性がある。
【0007】
本発明の一実施形態は、上記の点に鑑みてなされたもので、システム状態の定常変動と区別して非定常変動を検知可能とすることを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、一実施形態に係る非定常変動検知装置は、1又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データであって、前記システムを構成する装置数×前記装置の状態を表す項目数次元又は前記装置数×前記項目数×時間窓に含まれる時点数次元のデータで構成される時系列データを入力する入力部と、前記各時点における前記データに基づいて、前記システム状態の定常的な変動を表す定常変動と区別して、前記システム状態の非定常的な変動を表す非定常変動を検知する検知部と、を有することを特徴とする。
【発明の効果】
【0009】
システム状態の定常変動と区別して非定常変動を検知することができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る非定常変動検知装置の機能構成の一例を示す図である。
【
図2】本実施形態に係る非定常変動検知処理の一例を示すフローチャートである。
【
図3】本実施形態に係る非定常変動検知装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について説明する。本実施形態では、1つ又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データを用いて、システム状態の定常変動と区別して非定常変動を検知することが可能な非定常変動検知装置10について説明する。本実施形態に係る非定常変動検知装置10を用いて、定常変動(例えば時間変動や週変動等の平常時に観測される定常的なシステムの状態変動)と区別して非定常変動を検知することで、通常の運用監視等では見逃されてきたサイレント故障等の発見に寄与することができる。
【0012】
以降では、システムを構成する装置数をM、時点数をN、各時点におけるシステム状態をそれぞれ表すデータの項目数をKとして、N個のM×K次元データで時系列データが構成されているものとする。
【0013】
なお、各時点におけるM×K次元データの各項目値(つまり、当該時点におけるM×K次元ベクトルの各要素)は当該時点における各装置の状態を表すK個の観測値である。具体的には、或る時点におけるM×K次元データを[x1,・・・,xK,xK+1,・・・,x2K,・・・,x(M-1)K+1,・・・,xMK]とした場合、例えば、m=1,・・・,Mに対してx(m-1)K+1,・・・,xmKは当該時点におけるm番目の装置の観測値である。観測値としては、例えば、上述したリクエスト処理数の他、CPU(Central Processing Unit)使用率やメモリ使用率等の装置の状態を表す任意の値が用いられる。
【0014】
<機能構成>
まず、本実施形態に係る非定常変動検知装置10の機能構成について、
図1を参照しながら説明する。
図1は、本実施形態に係る非定常変動検知装置10の機能構成の一例を示す図である。
【0015】
図1に示すように、本実施形態に係る非定常変動検知装置10は、入力部101と、クラスタリング部102と、カウント部103と、抽出部104と、検知部105と、出力部106とを有する。
【0016】
入力部101は、N個のM×K次元データで構成される時系列データを入力する。なお、入力部101は、任意の入力元から時系列データを入力すればよい。例えば、入力部101は、通信ネットワークを介してシステム又はサーバ装置等から時系列データを受信することで当該時系列データを入力してもよいし、補助記憶装置等に格納されている時系列データを読み込むことで当該時系列データを入力してもよい。また、例えば、入力部101は、ユーザ等によって入力された時系列データを受け付けることで、当該時系列データを入力してもよい。
【0017】
クラスタリング部102は、入力部101により入力された時系列データを構成する各M×K次元データをクラスタリングする。これにより、各M×K次元データが各クラスタに分類され、当該時系列データに対応するクラスタID系列が得られる。
【0018】
カウント部103は、クラスタリング部102のクラスタリングによって得られたクラスタID系列中で異なるクラスタに遷移するまでの滞在期間(つまり、異なるクラスタに遷移するまでの時点数)をカウントし、所定の系列長の滞在期間付きクラスタ遷移部分列を作成する。また、カウント部103は、各滞在期間付きクラスタ遷移部分列の発生件数とその発生頻度をカウントする。
【0019】
抽出部104は、カウント部103により作成された滞在期間付きクラスタ遷移部分列の中から、検知対象の非定常変動として想定されるクラスタ遷移パターンに合致する滞在期間付きクラスタ遷移部分列であって、かつ、その発生頻度が所定の閾値未満の滞在期間付きクラスタ遷移部分列を抽出する。ここで、定常変動は非定常変動とクラスタ遷移パターンが同じであっても定常的に発生するためその発生頻度が高いと考えられ、発生頻度が所定の閾値未満(例えば、10%未満等)であることを抽出条件とすることで、定常変動が非定常変動として検知されてしまう事態を防止することが可能となる。
【0020】
検知部105は、抽出部104により抽出された滞在期間付きクラスタ遷移部分列と、クラスタリング部102のクラスタリングによって得られたクラスタID系列とを用いて、非定常変動発生期間を検知する。すなわち、検知部105は、当該クラスタID系列中で当該滞在期間付きクラスタ遷移部分列に合致するクラスタ遷移パターンの期間(又はその一部の期間)を非定常変動発生期間として検知する。
【0021】
出力部106は、検知部105により検知された非定常変動発生期間を出力する。なお、出力部106は、任意の出力先に非定常変動発生期間を出力すればよい。例えば、出力部106は、通信ネットワークを介してサーバ装置等に非定常変動発生期間を出力してもよいし、ディスプレイ等に非定常変動発生期間を出力してもよいし、補助記憶装置等に非定常変動発生期間を出力してもよい。
【0022】
<非定常変動検知処理>
次に、本実施形態に係る非定常変動検知処理について、
図2を参照しながら説明する。
図2は、本実施形態に係る非定常変動検知処理の一例を示すフローチャートである。
【0023】
ステップS101:まず、入力部101は、N個のM×K次元データで構成される時系列データを入力する。すなわち、時点nにおけるM×K次元データをXnとすれば、入力部101は、時系列データ{X1,・・・,XN}を入力する。
【0024】
ここで、後述するステップS102の前に、時系列データ{X1,・・・,XN}に対して所定の前処理が行われてもよい。例えば、検知対象の非定常変動として装置故障を考えた場合、一部の装置が故障すると装置間における処理バランスの乱れが観測されることから、このバランスの乱れを際立たせるため、各データの各項目値を、装置間における相対値に変換する正規化処理が前処理として行われてもよい。具体的には、例えば、各時点n=1,・・・,Nにおいて、k(ただし、k=1,・・・,K)番目の項目に関するM個の装置の観測値の合計Snkを算出し、k番目の項目に関する各装置の観測値を合計Snkで割ることで、各観測値を[0,1]の範囲内の値に変換する処理が前処理として行われてもよい。又は、例えば、装置毎及び項目毎に、m(ただし、m=1,・・・,M)番目の装置のk(ただし、k=1,・・・,K)番目の項目に関する期間[1,N]を通じたN個の観測値を平均0、標準偏差1となるように変換する処理(標準化処理)が前処理として行われてもよい。
また、システムを構成する装置群の平常時における観測値の水準が装置によって大きく異なる場合、非定常変動発生時の変化又は変化率を際立たせるため、装置毎及び項目毎の差分系列に変換する処理が前処理として行われてもよい。具体的には、装置m(ただし、m=1,・・・,M)のk(ただし、k=1,・・・,K)番目の項目に関する時点n(ただし、n=1,・・・,N)における観測値をx(m-1)K+k
(n)とした場合、n=2,・・・,Nに対して、y(m-1)K+k
(n)=x(m-1)K+k
(n)-x(m-1)K+k
(n-1)を計算(つまり、1階差分を計算)し、時点n(ただし、n=2,・・・,N)におけるM×K次元データを[y1
(n),・・・,yK
(n),yK+1
(n),・・・,y2K
(n),・・・,y(M-1)K+1
(n),・・・,yMK
(n)]としてもよい。なお、1階差分の代わりに、1階差分の絶対値が計算されてもよい。又は、例えば、y(m-1)K+k
(n)とx(m-1)K+k
(n)との比をz(m-1)K+k
(n)として、時点n(ただし、n=2,・・・,N)におけるM×K次元データを[z1
(n),・・・,zK
(n),zK+1
(n),・・・,z2K
(n),・・・,z(M-1)K+1
(n),・・・,zMK
(n)]としてもよい。
【0025】
また、W個の時点で構成される時間窓でN個のM×K次元データを区切って、時点n,n+1,・・・,n+(W-1)それぞれのM×K次元データで構成されるM×K×W次元ベクトルを時点nのM×K×W次元データとして、時点nのM×K次元データの代わりに用いてもよい。つまり、M×K次元データで構成される時系列データから、M×K×W次元データで構成される時系列データを作成し、このM×K×W次元データで構成される時系列データを用いて、後述するステップS102以降の処理が実行されてもよい。
【0026】
また、システムを構成する装置群が頻繁に入れ替わったり、非定常変動の発生源が多数の装置に分散したりするような場合、非定常変動発生時にM×K次元データ又はM×K×W次元データの変動が多方面に分散することを避けるため、各項目の値を装置間でソートしてもよい。例えば、上述したように、M×K次元データの各項目の値が、元のM×K次元データの各項目の値の1階差分の絶対値であるとすれば、この値を装置間で降順にソートすることにより、仮に非定常変動の発生源が多数の装置に分散していたとしても、その装置に対応する項目の値はM×K×W次元データの先頭K×W次元に集中させることができる。
【0027】
更に、例えば時間変動や週変動等の平常時に観測される定常変動との区別が容易な非定常変動を従来技術(例えば、非特許文献1や非特許文献2に記載されている技術等)により検知及び除外した上で、後述するステップS102に進んでもよい。すなわち、本実施形態に係る非定常変動検知装置10は、従来技術と組み合わせて非定常変動を検知することが可能である。
【0028】
ステップS102:次に、クラスタリング部102は、上記のステップS101で入力された時系列データ(又は、所定の前処理後の時系列データ)を構成する各M×K次元データ(又は、各M×K×W次元データ)をクラスタリングすることで、当該時系列データに対応するクラスタID系列を得る。なお、以降では、各M×K次元データをクラスタリングする場合について説明するが、各M×K×W次元データをクラスタリングする場合についても同様に適用可能である。
【0029】
例えば、時点nのM×K次元データXnが属するクラスタのクラスタIDをCnとした場合、時系列データ{X1,・・・,XN}からクラスタID系列{C1,・・・,CN}が得られる。以降では、時系列データのクラスタ遷移を明確にするため、クラスタID系列を「C1→C2→・・・→CN-1→CN」とも表記する。
【0030】
なお、クラスタリングは、N個のM×K次元データを互いの距離に基づいて近いデータ同士を同一クラスタに分類し、各クラスタに対してクラスタIDを割り当てる処理である。これにより、同一クラスタに分類された各M×K次元データに対して当該クラスタのクラスタIDが割り当てられ、各M×K次元データに割り当てられたクラスタIDを時系列順に並べることでクラスタID系列が得られる。クラスタリング手法としては、階層的手法(例えば、最短距離法、最長距離法、群平均法、ウォード法等)が用いられてもよいし、非階層的手法(例えば、K-Means法等)が用いられてもよい。
【0031】
ステップS103:カウント部103は、上記のステップS102で得られたクラスタID系列中で異なるクラスタに遷移するまでの滞在期間をカウントし、所定の系列長Lの滞在期間付きクラスタ遷移部分列を作成する。なお、系列長Lは、例えば、ユーザ等により予め指定される。
【0032】
一例として、N=20、Cn∈{A,B,C}として、上記のステップS102でクラスタID系列「A→C→C→A→B→B→B→A→C→C→A→B→A→B→A→B→A→C→C→A」が得られたものとする。このとき、カウント部103は、異なるクラスタに遷移するまでの滞在期間(時点数)をカウントし、遷移前後のクラスタIDに対してその滞在期間を付加することで滞在期間付きクラスタ遷移系列を作成する。具体的には、滞在期間付きクラスタ遷移系列「A(1)→C(2)→A(1)→B(3)→A(1)→C(2)→A(1)→B(1)→A(1)→B(1)→A(1)→B(1)→A(1)→C(2)→A(1)」が作成される。なお、括弧内の数字が滞在期間(時点数)を表している。ただし、滞在期間は時点数等の量的変数で表される場合に限られず、例えば、カテゴリ変数等で表されてもよい。例えば、時点数が3以下のクラスと時点数が4以上のクラスのいずれかを表すカテゴリ変数で滞在期間が表されていてもよいし、時点数が2以下のクラスと時点数が3以上4以下のクラスと時点数が5以上のクラスのいずれかを表すカテゴリ変数で滞在期間が表されていてもよい。
【0033】
そして、カウント部103は、滞在期間付きクラスタ遷移系列の中から系列長Lの部分系列を抽出することで、滞在期間付きクラスタ遷移部分列を作成する。具体的には、L=3である場合、上記の滞在期間付きクラスタ遷移系列「A(1)→C(2)→A(1)→B(3)→A(1)→C(2)→A(1)→B(1)→A(1)→B(1)→A(1)→B(1)→A(1)→C(2)→A(1)」から以下の13個の滞在期間付きクラスタ遷移部分列が作成される。
【0034】
・A(1)→C(2)→A(1)
・C(2)→A(1)→B(3)
・A(1)→B(3)→A(1)
・B(3)→A(1)→C(2)
・A(1)→C(2)→A(1)
・C(2)→A(1)→B(1)
・A(1)→B(1)→A(1)
・B(1)→A(1)→B(1)
・A(1)→B(1)→A(1)
・B(1)→A(1)→B(1)
・A(1)→B(1)→A(1)
・B(1)→A(1)→C(2)
・A(1)→C(2)→A(1)
なお、系列長Lは滞在期間付きクラスタ遷移系列における系列の長さを表す。すなわち、例えば、滞在期間付きクラスタ遷移部分列「A(1)→C(2)→A(1)」は元の時系列データでは長さ4に相当するが、滞在期間付きクラスタ遷移系列における長さは3である。
【0035】
ステップS104:続いて、カウント部103は、上記のステップS103で作成された各滞在期間付きクラスタ遷移部分列の発生件数及び発生頻度を算出(カウント)する。なお、滞在期間付きクラスタ遷移部分列の発生頻度は、当該滞在期間付きクラスタ遷移部分列の発生件数を、全ての滞在期間付きクラスタ遷移部分列の発生件数の合計で割って100を乗じた値である。
【0036】
例えば、上記の13個の滞在期間付きクラスタ遷移部分列の発生件数及び発生頻度は以下の表1の通りとなる。
【0037】
【表1】
なお、上記の表1では発生頻度の小数第2位を四捨五入している。
【0038】
ステップS105:抽出部104は、上記のステップS103で作成された滞在期間付きクラスタ遷移部分列の中から、検知対象の非定常変動として想定されるクラスタ遷移パターンに合致する滞在期間付きクラスタ遷移部分列であって、かつ、その発生頻度が所定の閾値未満の滞在期間付きクラスタ遷移部分列を抽出する。
【0039】
ここで、例えば、平常時のシステム状態を表すM×K次元データがクラスタID「X」のクラスタに分類されるものとすると、非定常変動発生時にクラスタID「Y」のクラスタに遷移しても、非定常変動からの回復後に再度クラスタID「X」のクラスタに遷移することが想定される。このため、非定常変動発生時のクラスタ遷移パターンは「X→Y→X」のようなパターンに従うことが考えられる。一方で、例えば、時間変動や週変動等の周期的な定常変動発生時にもX→Y→X→Y→X→Y→・・・といったクラスタ遷移が観測される可能性がある。このような場合、非定常変動と周期変動等の定常変動とは、クラスタID「X」のクラスタとクラスタID「Y」のクラスタの間における遷移という点では共通しているが、(1)クラスタID「X」のクラスタとクラスタID「Y」のクラスタの滞在期間、(2)クラスタID「X」のクラスタとクラスタID「Y」のクラスタの間における遷移の繰り返し回数、という2点が相違すると考えられる。そこで、非定常変動は検知する一方で定常変動は検知しないようにするため、抽出部104は、クラスタ遷移パターン「X→Y→X」(2回の遷移で元のクラスタに戻るパターン)に合致し、かつ、発生頻度が所定の閾値未満(例えば、10%未満等)である滞在期間付きクラスタ遷移部分列を抽出する。
【0040】
例えば、上記の表1に示すクラスタ遷移部分列とその発生件数及び発生頻度が得られたものとして、検知対象の非定常変動として想定されるクラスタ遷移パターンを「X→Y→X」(2回の遷移で元のクラスタに戻るパターン)、閾値を10%とした場合、No.3の滞在期間付きクラスタ遷移部分列「A(1)→B(3)→A(1)」が抽出される。以降では、抽出部104により抽出された滞在期間付きクラスタ遷移部分列を「抽出クラスタ遷移部分列」とも表す。
【0041】
なお、クラスタ遷移パターンは1つに限られず、複数のクラスタ遷移パターンが設定されてもよい。この場合、複数のクラスタ遷移パターンに対して共通の閾値が設定されてもよいし、クラスタ遷移パターン毎に閾値が設定されてもよい。また、滞在期間付きクラスタ遷移パターン、つまり、例えば、「X(1)→Y(3)→X(1)」等のクラスタ遷移パターンが設定されてもよい。
【0042】
また、上記のステップS105では所定のクラスタ遷移パターンに合致し、かつ、発生頻度が所定の閾値未満の潜在期間付きクラスタ遷移部分列を抽出したが、これに限られず、例えば、単に、発生頻度が所定の閾値未満の潜在期間付きクラスタ遷移部分列を抽出するようにしてもよい。つまり、潜在期間付きクラスタ遷移部分列の抽出条件としてクラスタ遷移パターンと発生頻度の閾値の両方が設定されてもよいし、発生頻度の閾値のみが設定されてもよい。
【0043】
ステップS106:検知部105は、上記のステップS105で抽出された抽出クラスタ遷移部分列と、上記のステップS102で得られたクラスタID系列とを用いて、当該クラスタID系列中で当該抽出クラスタ遷移部分列に合致する期間(又はその一部の期間)を非定常変動発生期間として検知する。
【0044】
例えば、上記のステップS105で抽出クラスタ遷移部分列「A(1)→B(3)→A(1)」が得られた場合、上記のステップS102で得られたクラスタID系列の中で「A→B→B→B→A」である期間(又はその一部の期間)が非定常変動発生期間として検知される。なお、「A→B→B→B→A」である期間の一部の期間としては、例えば、「B→B→B」である期間(つまり、クラスタID「B」のクラスタの滞在期間)とすることが考えられる。これは、クラスタID「A」のクラスタは平常時のシステム状態を表すM×K次元データが分類されるクラスタであり、クラスタID「B」のクラスタは非定常変動発生時のシステム状態を表すM×K次元データが分類されるクラスタであると考えられるためである。
【0045】
ステップS107:そして、出力部106は、上記のステップS106で検知された非定常変動発生期間を出力する。
【0046】
以上のように、本実施形態に係る非定常変動検知装置10は、1つ又は複数の装置で構成されるシステムの各時点におけるシステム状態を表す時系列データを用いて、システム状態の非定常変動を検知することができる。しかも、このとき、本実施形態に係る非定常変動検知装置10は、時間経過に伴うシステムの状態遷移(つまり、各時点でシステム状態が属するクラスタとその滞在期間の遷移)を考慮することで、定常変動(例えば時間変動や週変動等の平常時に観測される定常的なシステムの状態変動)と区別して非定常変動を検知することが可能となる。これにより、例えば、通常の運用監視等では見逃されてきたサイレント故障等も発見することが可能になる。
【0047】
<ハードウェア構成>
最後に、本実施形態に係る非定常変動検知装置10のハードウェア構成について、
図3を参照しながら説明する。
図3は、本実施形態に係る非定常変動検知装置10のハードウェア構成の一例を示す図である。
【0048】
図3に示すように、本実施形態に係る非定常変動検知装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これら各ハードウェアは、それぞれがバス207を介して通信可能に接続されている。
【0049】
入力装置201は、例えば、キーボードやマウス、タッチパネル等である。表示装置202は、例えば、ディスプレイ等である。なお、非定常変動検知装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
【0050】
外部I/F203は、記録媒体203a等の外部装置とのインタフェースである。非定常変動検知装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、例えば、非定常変動検知装置10が有する各機能部(入力部101、クラスタリング部102、カウント部103、抽出部104、検知部105及び出力部106)を実現する1以上のプログラムが格納されていてもよい。なお、記録媒体203aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0051】
通信I/F204は、非定常変動検知装置10を通信ネットワークに接続するためのインタフェースである。なお、非定常変動検知装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0052】
プロセッサ205は、例えば、CPUやGPU(Graphics Processing Unit)等の各種演算装置である。非定常変動検知装置10が有する各機能部は、例えば、メモリ装置206に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
【0053】
メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
【0054】
本実施形態に係る非定常変動検知装置10は、
図3に示すハードウェア構成を有することにより、上述した非定常変動検知処理を実現することができる。なお、
図3に示すハードウェア構成は一例であって、非定常変動検知装置10は、他のハードウェア構成を有していてもよい。例えば、非定常変動検知装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよい。
【0055】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0056】
10 非定常変動検知装置
101 入力部
102 クラスタリング部
103 カウント部
104 抽出部
105 検知部
106 出力部
201 入力装置
202 表示装置
203 外部I/F
203a 記録媒体
204 通信I/F
205 プロセッサ
206 メモリ装置
207 バス