JP6555061B2 - クラスタリングプログラム、クラスタリング方法、および情報処理装置 - Google Patents

クラスタリングプログラム、クラスタリング方法、および情報処理装置 Download PDF

Info

Publication number
JP6555061B2
JP6555061B2 JP2015195976A JP2015195976A JP6555061B2 JP 6555061 B2 JP6555061 B2 JP 6555061B2 JP 2015195976 A JP2015195976 A JP 2015195976A JP 2015195976 A JP2015195976 A JP 2015195976A JP 6555061 B2 JP6555061 B2 JP 6555061B2
Authority
JP
Japan
Prior art keywords
correlation
cluster
similarity
items
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015195976A
Other languages
English (en)
Other versions
JP2017068748A (ja
Inventor
洋明 石井
洋明 石井
伸一 大村
伸一 大村
正進 大岩
正進 大岩
充昭 墨谷
充昭 墨谷
慈郎 池上
慈郎 池上
理恵 竹内
理恵 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015195976A priority Critical patent/JP6555061B2/ja
Priority to US15/278,761 priority patent/US10572512B2/en
Publication of JP2017068748A publication Critical patent/JP2017068748A/ja
Application granted granted Critical
Publication of JP6555061B2 publication Critical patent/JP6555061B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、クラスタリングプログラム、クラスタリング方法、および情報処理装置に関する。
現在のICT(Information and Communication Technology)システム(以下、単にシステムと呼ぶ)は、サーバ・ストレージ装置・ネットワーク装置などの多数の装置を含む。またシステムには、システムの稼働状態を観測する観測装置も含まれる。観測装置は、システムが正常に稼働しているかどうかを判定するため、システムに含まれる多数の装置から膨大な時系列データを採取する。例えば観測装置は、各サーバのCPU(Central Processing Unit)やメモリの使用状況に関する情報を採取し、使用状況の時間変化をモニタにグラフで表示する。ただし、表示される項目が大量になると、運用管理者が目視で確認して、異常な状態の発生を認識するのは困難となる。
そこで、複雑なシステムにおいて、異常の種類・発生場所・原因を効率的に判断乃至支援する方法が考えられている。また、違反予兆条件を設定する際の作業負担を軽減する方法も考えられている。さらに機器状態を監視するための機器のセンサによって取得された多変量時系列データ内のアノマリを検出するための方法も考えられている。
国際公開第2012/090718号 国際公開第2012/067031号 特開2013−246818号公報
従来の観測装置は、例えば、単一測定項目ごとに閾値を超えるか否かを監視し、閾値を超えた場合に異常と判断する。しかし、システムの異常状態のなかには、いずれの測定項目も閾値を超えないような異常(サイレント異常)がある。このような異常は、項目ごとの監視では検出が困難である。そのため、システムの異常状態を正しく検出できない場合がある。
1つの側面では、本発明は、システムの異常状態の検出精度を向上させることを目的とする。
1つの案では、コンピュータに、以下の処理を実行させるクラスタリングプログラムが提供される。
コンピュータは、管理対象のシステムの状態を示す複数の項目の値の、複数の単位期間内での時間変化を示す情報に基づいて、複数の単位期間それぞれについて、複数の項目間の値の時間変化の相関を示す相関情報を生成する。次にコンピュータは、複数の単位期間それぞれの複数の相関情報の間の類似度を算出する。そしてコンピュータは、算出した類似度に基づいて複数の相関情報をクラスタリングする。
1態様によれば、システムの異常状態の検出精度が向上する。
第1の実施の形態に係る情報処理装置の構成例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 観測装置のハードウェアの一構成例を示す図である。 観測装置の機能を示すブロック図である。 動作ログ記憶部に格納されている動作ログの一例を示す図である。 事前学習モードでの動作状態解析処理を示す図である。 統計量生成処理の一例を示すフローチャートである。 SDRの生成例を示す図である。 事前学習処理の一例を示すフローチャートである。 発生確率の算出例を示す図である。 遷移確率の算出例を示す図である。 学習結果の一例を示す図である。 定常性判定処理の手順を示すフローチャートである。 稼働診断モードでの動作状態解析処理を示す図である。 オンライン識別処理の一例を示すフローチャートである。 可視化の例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態では、情報処理装置が、システムの複数の項目間の値の時間変化の相関関係に基づいて、単位期間ごとに、システムの状態を示す相関情報を生成する。そして、情報処理装置は、複数の相関情報のクラスタリングを行う。このとき、「システムの状態」と「クラスタ」を同一視することができ、生成される相関情報がどのクラスタに属するかにより、システムの状態変化を適格に監視することができる。
図1は、第1の実施の形態に係る情報処理装置の構成例を示す図である。情報処理装置10は、管理対象のシステム1に、例えばネットワークを介して接続されている。システム1は、例えば、複数のサーバ、複数のストレージ装置を含むコンピュータシステムである。情報処理装置10は、システム1の動作状態を監視し、故障の予兆となるような異常な状態の発生を検出する。そのために情報処理装置10は、記憶部11と演算部12とを有する。
記憶部11は、システム1の状態を示す複数の項目の値の、単位期間ごとの時間変化を表す時系列データ11a,11b,・・・を記憶する。例えば情報処理装置10は、システム1を監視して、管理対象のシステムの状態を示す複数の項目の値の時系列データ11a,11b,・・・を、システム1から取得し、記憶部11に格納する。システム1の状態を示す複数の項目は、例えば、CPUの利用状況やメモリ利用状況などのシステム1の性能または負荷に関する項目である。
演算部12は、記憶部11内の時系列データ11a,11b,・・に基づいて、複数の単位期間それぞれについて、複数の項目間の値の時間変化の相関を示す相関情報2a,2b,・・・を生成する。例えば演算部12は、複数の項目から2つの項目を選択した項目対を、すべての組み合わせについて生成する。演算部12は、項目対ごとに、単位期間内での値の時間変化の相関係数を算出する。次に演算部12は、項目対の相関係数の絶対値が閾値以上のとき、相関があると判断し、その項目対の間の相関を示す値を「1」とする。また演算部12は、項目対の相関係数の絶対値が閾値未満のとき、相関がないと判断し、その項目対の間の相関を示す値を「0」とする。そして演算部12は、相関情報2a,2b,・・・として、複数の項目対それぞれの相関を示す値を要素とする行列を生成する。
次に演算部12は、複数の単位期間それぞれの複数の相関情報2a,2b,・・・の間の類似度を算出する。例えば演算部12は、類似度算出対象の2つの相関情報それぞれの行列内の対応する要素の論理和が「1」となる要素数と、該2つの行列内の対応する要素の論理積が「1」となる要素数とを計数する。そいて、演算部12は、論理和が「1」となる要素数と論理積が「1」となる要素数との比率に応じて、類似度算出対象の2つの相関情報間の類似度を算出する。演算部12は、このような類似度算出処理を、複数の相関情報2a,2b,・・・から2つの相関情報を選択して得られる相関情報対ごとに行う。
そして演算部12は、算出した類似度に基づいて複数の相関情報をクラスタリングする。例えば演算部12は、類似度が所定の閾値以上の相関情報同士を、同じクラスタに帰属させる。この場合、あるクラスタに属する相関情報は、そのクラスタに属する他のすべての相関情報との間で、類似度が閾値以上であるようにする。
このように相関情報をクラスタリングすることで、複数のクラスタ3a,3b,3c,3dが生成される。図1の例では、クラスタ3a,3b,3c,3d内の点が、そのクラスタに属する相関情報を示している。図1に示すように、相関情報が1つしか属していないクラスタ3dの存在も許容される。
生成されたクラスタ3a,3b,3c,3dを参照すると、システム1の状態が、通常通りの時間帯と、通常と異なる状態の時間帯とを判別できる。例えばクラスタ3dに属する相関情報は、他のいずれの相関情報とも類似していない。このような相関情報の生成元となった時系列データに対応する単位期間は、システム1が異常な状態となっていた可能性がある。例えば演算部12は、クラスタ3dに属する相関情報に対応する単位期間をモニタなどに表示する。これにより、管理者は、システム1が異常な状態となった時間帯を認識できる。
しかも相関情報は、複数の項目間の相関関係を用いて生成されている。そのため、項目ごとの観察では異常とはならない場合でも、システム1の状態の異常性が相関情報に反映されることがある。すなわち、システム1が通常の状態では相関がある2つの項目について、ある単位期間にその相関が崩れて、相関がなくなった場合、その単位期間内になんらかの異常が発生した可能性がある。このような相関の有無が変化は、相関情報に反映される。システム1に異常が発生し、多数の項目対について、相関の有無が変化すれば、生成される相関情報は、正常な状態のときとは異なるものとなる。
このような異常な状態を表す相関情報は、その相関情報しか属さないクラスタに属するか、あるいは、属する相関情報の発生確率が極めて低いクラスタに属する。そこで、情報処理装置10は、例えば、ある単位期間内のシステム1の状態を示す相関情報が、属する相関情報の発生確率が極めて低いクラスタに属することになったことをモニタに表示する。これにより、管理者は、項目ごとの観察では認識できないような、システム1の異常の発生を容易に認識できる。このように、第1の実施の形態では、項目ごとの観察では認識できないようなシステム1の異常が検出でき、システム1の状態の異常の検出精度が向上している。
また情報処理装置10は、記憶部11に新たな時系列データが入力されるごとに、そのときのシステム1の状態を表す相関情報が属するクラスタを、動的に決定することもできる。例えば演算部12は、クラスタリングにより生成された複数のクラスタそれぞれについて、代表和と代表積とを算出する。代表和は、クラスタに属する複数の相関情報の行列における対応する要素間の論理和を採ったものである。代表積は、クラスタに属する複数の相関情報の行列における対応する要素間の論理積を採ったものである。次に演算部12は、新たな単位期間内での複数の項目に対応する値の時間変化に基づいて、複数の項目間の相関を示す新たな相関情報を生成する。そして演算部12は、複数のクラスタのうち、新たな相関情報を追加しても代表和と代表積が変化しないクラスタを検出し、検出した該クラスタに新たな相関情報を帰属させる。
このようにして、システム1から、新たな単位期間の時系列データを取得するごとに、システム1の最新の状態が、どのクラスタに示される状態に該当するのかが判断できる。
なお、新たな相関情報を追加しても代表和と代表積が変化しないクラスタが存在しない場合もある。この場合、演算部12は、例えば、新たな相関情報を追加した後の代表和と代表積との類似度が閾値以上となるクラスタを検出し、検出したクラスタに新たな相関情報を帰属させる。
新たな相関情報を帰属させるクラスタが存在しない場合、演算部12は、新たなクラスタを生成し、新たな相関情報を新たなクラスタに帰属させる。このように新たな相関情報が属するクラスタを判別する際に、適切なクラスタがなければ、その相関情報のみが属するクラスタが新たに生成される。新たに生成されたクラスタは、これまでのシステム1の状態とは異なる状態を表している。そこで、例えば演算部12が新たなクラスタが生成されたことをモニタに表示すれば、管理者は、現在のシステム1の状態が、通常状態とは異なっていることを、即座に把握できる。
なお、演算部12は、例えば情報処理装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置により実現することができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。
図2は、第2の実施の形態のシステム構成例を示す図である。システム30は、ネットワーク20を介して観測装置100に接続されている。システム30は、サーバ、ストレージ装置、ネットワーク機器などの装置を含むICTシステムである。観測装置100は、システム30から動作状態を示す情報を取得し、取得した情報に基づいて、システム30の動作を監視する。
図3は、観測装置のハードウェアの一構成例を示す図である。観測装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、観測装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記憶媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、観測装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図3に示した観測装置100と同様のハードウェアにより実現することができる。
観測装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。観測装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、観測装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また観測装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
このようなハードウェアの観測装置100により、システム30の状態が、ネットワーク20を介して観測される。
図4は、観測装置の機能を示すブロック図である。観測装置100は、動作情報収集部110、動作ログ記憶部120、統計量生成部130、事前学習部140、学習結果記憶部150、オンライン識別部160、定常性判定部170、および可視化部180を有する。
動作情報収集部110は、システム30内の装置から動作情報を収集する。例えば動作情報収集部110は、システム30内の各装置に対して、情報収集用のコマンド(sarコマンドなどの実行を要求するコマンド)を送信する。すると、各装置から、動作情報が返答される。動作情報収集部110は、収集した動作情報を、動作ログ記憶部120に、動作ログとして格納する。動作情報収集部110による動作情報の収集方法は、「リアルタイム方式」と「バッチ方式」とが考えられる。「リアルタイム方式」は、システム30を構成する各装置からリアルタイムにデータを収集する方式である。「バッチ方式」は、システム30内のストレージ装置に蓄積された過去の動作情報を、そのストレージ装置から一括して入力する方式である。
動作ログ記憶部120は、システム30内の装置から収集された動作情報のログ(動作ログ)を記憶する。例えば、ストレージ装置103の記憶領域の一部が、動作ログ記憶部120として使用される。
統計量生成部130は、動作ログ記憶部120内の動作ログを解析し、多次元統計量(SDR:State Description Represen-tations)を生成する。SDRとは、システムの動作に関する複数の項目から取得可能なすべての項目対の相関関係によって、システム30の状態を表す情報である。SDRは、単位期間ごとに生成される。
事前学習部140は、生成された時系列のSDRに基づいて、システム30の通常状態を表すSDRを学習する。例えば事前学習部140は、システム30が、どのようなSDRの状態になりやすいのかを解析する。また事前学習部140は、ある時間帯に、システム30が特定のSDRの状態にあるとき、次の時間帯に、システム30がどのようなSDRの状態に遷移しやすいのかを解析する。事前学習部140は、SDRを解析する場合、例えば単位期間ごとに生成したSDRをクラスタリングすることでクラスタを生成する。なお事前学習部140が行うクラスタリングは、蓄積されたSDRの類似度に基づく、静的類似度クラスタリングである。
事前学習部140は、同一クラスタに属するSDRで示される状態は、同一状態にあるとみなす。事前学習部140は、学習結果を、学習結果記憶部150に格納する。なお事前学習部140は、例えば観測装置100が事前学習モードで動作しているときに、処理を実行する。事前学習モードは、システム30の通常の状態を学習するためのモードである。
学習結果記憶部150は、事前学習による学習結果を記憶する。例えばメモリ102またはストレージ装置103の記憶領域の一部が、学習結果記憶部150として使用される。
オンライン識別部160は、リアルタイムに収集された、システム30の動作ログに基づくSDRが、事前に学習した学習結果に示されるどのクラスタに属するのかを識別する。なおオンライン識別部160は、リアルタイムに判別したSDRに基づいて、学習結果記憶部150内の学習結果を更新することもできる。なおオンライン識別部160は、例えば観測装置100が稼働診断モードで動作しているときに、処理を実行する。稼働診断モードは、システム30の状態が通常状態か否かを診断するためのモードである。
定常性判定部170は、学習結果を統計的に解析し、システム30の状態における定常性の有無を判定する。例えば定常性判定部170は、学習期間を複数に分割し、分割された細分化期間それぞれにおける特定の統計情報を比較し、有意な差が検出されなければ、その統計情報について定常性がある(期間の違いによっては変化しない)と判断する。
可視化部180は、学習結果や定常性の判定結果を、モニタ21などに表示する。例えば可視化部180は、生成されたクラスタを、モニタに表示する。また可視化部180は、例えば、属するSDRの発生確率の低いクラスタに属するSDRが生成された場合、その旨をモニタに表示する。
このような機能により、観測装置100は、システム30の動作状態を観測し、異常な状態が発生したときに管理者が認識しやすいように表示することができる。例えば事前学習モードにおいて生成されているクラスタに属していないSDRが、稼働診断モードで発生する場合がある。このSDRは新たに生成したクラスタに属することとなる。新たなクラスタに属するSDRが発生したということは、システム30が、これまでの通常の状態から逸脱したことを示しており、異常な状態の可能性がある。そこで、観測装置100は、例えば、新たなクラスタが生成された旨を、モニタに表示する。このように、新たなクラスタが生成されたことを可視化することで、管理者は、システム30が異常な状態になった可能性があることを容易に認識できる。
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、システム30から収集され動作ログ記憶部120に記憶される動作ログについて説明する。
図5は、動作ログ記憶部に格納されている動作ログの一例を示す図である。動作ログ記憶部120には、複数の動作ログ121,122,・・・が格納されている。
例えば動作ログ121には、その動作ログ121を出力した装置が属するシステム30のシステム名、その装置の装置名、および動作ログ121の採取日時が設定されている。さらに、動作ログ121には、システム30の、単位期間(例えば10分)内の動作状態を示す性能項目に関する情報が含まれる。性能項目には、CPU利用状況に関する項目、スワップ動作に関する項目、iノードに関する項目、CPU実行待ち行列状況に関する項目、メモリ/スワップ状況に関する項目、ページングに関する項目などがある。性能項目に関する各情報は、例えば単位期間内の、その性能項目に関する数値の時間遷移である。
CPU利用状況に関する性能項目には、例えば、CPUがディスクI/Oの待機によりアイドル状態であった時間の割合、CPUがユーザモード状態であった時間の割合、CPUがシステムモード状態であった時間の割合などがある。スワップ動作に関する性能項目には、例えば、1秒当たりのスワップインしたページ数、1秒当たりのスワップアウトしたページ数などがある。iノードに関する性能項目には、例えば、iノードの使用数などがある。CPU実行待ち行列状況に関する性能項目には、例えば実行待ちのプロセスキュー(待ち行列)の長さ(プロセス数)などがある。メモリ/スワップ状況に関する性能項目には、例えば、空きメモリサイズ、カーネルのバッファとして使用しているメモリサイズ、キャッシュとして使用されているメモリサイズ、メモリのスワップ領域として使用している記憶領域のサイズなどがある。ページングに関する性能項目としては、1秒当たりに発生したページフォルトの回数などがある。
動作情報は、システム30内に複数の装置があるとき、各装置から取得される。例えばシステム30内に複数のサーバがあれば、動作情報収集部110は、各サーバから、CPUがディスクI/Oの待機によりアイドル状態であった時間の割合などの性能項目を含む動作情報を取得する。
このような動作ログ121,122,・・・に基づいて、システム30の動作状態が解析される。観測装置100による動作状態の解析は、まず事前学習モードで実行される。そして事前学習モードによる学習結果生成後に、稼働診断モードが実行される。
まず事前学習モードにおける動作状態の解析処理について説明する。
図6は、事前学習モードでの動作状態解析処理を示す図である。まず、統計量生成部130が、動作ログ121,122,・・・に基づいて統計量生成処理を実行し、多次元統計量(SDR)41,42,・・・を生成する。1つのSDRは、特定の単位期間の動作ログに基づいて生成される。性能項目がN個(Nは2以上の整数)の場合、SDRは、N行N列の行列(相関行列)で表すことができる。行列内の各要素は、2つの性能項目間の相関関係の有無を表している。相関行列内の要素を、一列に並べ、SDRをベクトルで表すこともできる。生成された複数のSDR41,42,・・・は、それぞれ、対応する単位期間内でのシステム30の動作状態を表している。
生成された複数のSDR41,42,・・・に基づいて、事前学習部140により、システム30の動作状態の発生傾向や動作状態の変化傾向に関する事前学習が行われる。そして事前学習部140によって、学習結果151が生成され、学習結果記憶部150に格納される。学習結果151に基づいて、定常性判定部170で定常性の有無が判定され、可視化部180によって、学習結果151や定常性判定結果が可視化される。
以下、図6に示す各処理を詳細に説明する。
図7は、統計量生成処理の一例を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS101]統計量生成部130は、観測期間(例えば1月)内の複数の単位期間(例えば10分)のうち、未処理の単位期間を1つ選択する。
[ステップS102]統計量生成部130は、システム30に含まれる各装置の単位期間内の動作を示す動作ログに基づいて、単位期間内でのシステム30の各性能項目の時間変化を算出する。例えば統計量生成部130は、性能項目ごとに、システム30内の複数の装置それぞれの動作ログに示される数値(時系列データ)の時刻ごとの平均を採り、平均値の時間変化とする。
[ステップS103]統計量生成部130は、複数の性能項目から、2つの性能項目を選択した組み合わせをすべて生成し、性能項目の組み合わせごとに、相関係数を算出する。性能項目数がNの場合、性能項目の独立な組み合わせの数は、「{N×(N−1)}/2」個である。すなわち、「{N×(N−1)}/2」個の相関係数が生成される。
相関係数とは、2つの変数の類似性の度合いを示す統計的指標である。相関係数は、「−1」から「1」の間の実数値であり、「1」に近いほど正の相関があり、「−1」に近いほど負の相関がある。「0」に近い場合、相関が弱い。統計量生成部130は、性能項目の組み合わせごとに求めた各相関係数の絶対値を求め、絶対値が閾値以上の場合、相関を示す値(相関値)を「1」とし、絶対値が閾値未満であれば、相関値を「0」とする。すなわち、負の相関であっても、相関があれば相関値は「1」となる。このように、相関係数を「1」または「0」の相関値に置き換えることで、以後のクラスタリングなどの処理の計算量を減らすことができる。
[ステップS104]統計量生成部130は、性能項目の対ごとに得られた相関値を、行列の要素として配置することで、相関行列を生成する。性能項目数をNとすると、相関行列はN行N列である。複数の性能項目それぞれが、相関行列の行と列とに対応付けられる。相関行列の各要素には、その要素の行に対応する性能項目と列に対応する性能項目との相関値が設定される。得られる相関行列は対称行列となる。
[ステップS105]統計量生成部130は、相関行列からSDRを生成する。例えば統計量生成部130は、相関行列の各要素を一列に並べて、多次元ベクトルに変換する。「{N×(N−1)}/2」個の独立な相関値が存在するため、SDRを多次元ベクトルで表した場合、「{N×(N−1)}/2」次元のベクトルとなる。変換により得られた多次元ベクトルがSDRとなる。
[ステップS106]統計量生成部130は、すべての単位期間について処理を行ったか否かを判断する。すべての単位期間についての処理が完了していれば、統計量生成処理が終了する。未処理の単位期間があれば、処理がステップS101に進められる。
このようにして、観測期間内の単位期間ごとのSDRが得られる。
図8は、SDRの生成例を示す図である。N個の性能項目があるとき、2つずつの組み合わせごとの相関係数が算出され、相関行列51が生成される。例えば、性能項目M1と性能項目M2との相関係数が、相関行列51の第1行・第2列の要素および第2行・第1列の要素として設定されている。
相関行列51の各要素の相関係数は、絶対値が所定の閾値以上か否かにより、粗視化される。閾値には、相関の有無の判断が適切に行われるように調整された値が設定される。図8の例では、相関係数の絶対値が「0.5」以上であれば相関値「1」、相関係数の絶対値が「0.5」未満であれば相関値「0」としている。これにより、「0」または「1」にデジタル化された相関行列52が生成される。
そして、相関行列52の各要素が一列に並べ替えられ、SDRが生成される。なお、同じ性能項目の組み合わせに対応する要素は、一方の要素のみがSDRに含まれる。例えば統計量生成部130は、相関行列52内の第a行・第b列(aは1以上の整数、bはa+1以上の整数)の要素を一列に並べて、SDRを生成する。
このようなSDRが、観測期間内の単位期間ごとに生成される。
次に、事前学習処理について詳細に説明する。
図9は、事前学習処理の一例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS111]事前学習部140は、n個(nは1以上の整数)のSDRがあるとき、SDRの集合S={x1,x2,・・・,xn}を統計量生成部130から取得する。
事前学習部140は、ステップS112以降の処理により、SDRのクラスタリングを行う。クラスタリング手法としては、k-means法、階層的クラスタリング法、スペクトラムクラスタリング法などを用いることができる。第2の実施の形態では、生成されるクラスタがシステム30の状態を適切に表すことができるようなクラスタリング手法を用いる。第2の実施の形態に適用するクラスタリング手法を、「類似度クラスタリング」と呼ぶこととする。
以下、類似度クラスタリングの手順を説明する。
[ステップS112]事前学習部140は、集合Sに属するSDR間の類似度を計算する。類似度としては、例えばジャッカード(Jaccard)係数を用いることができる。ジャッカード係数を類似度とする場合、任意のx,y∈Sに対して、類似度J(x,y)は以下の式で定義される。
J(x,y)=Bit(x∩y)/Bit(x∪y) ・・・(1)
Bit()関数は、「1」のビット数を数える関数である。「x∩y」は、xのSDRのベクトルとyのSDRのベクトルとの要素ごとの論理積である。例えばx=(1,0,0,1)、y=(0,1,0,1)のとき、「x∩y=(0,0,0,1)」となる。「x∪y」は、xのSDRのベクトルとyのSDRのベクトルとの要素ごとの論理和である。例えばx=(1,0,0,1)、y=(0,1,0,1)のとき、「x∪y=(1,1,0,1)」となる。類似度の値が大きいほど、比較された2つのSDR(SDRペア)が類似していることを示す。
[ステップS113]事前学習部140は、類似度が所定の閾値th以上のSDRペア間の関係を、類似関係にあるとする。すなわち、以下の式を満たすSDRペアについて、類似関係があると判断する。
x,y∈S,x〜y ⇔ J(x,y)≧th ・・・(2)
[ステップS114]事前学習部140は、集合Sに属するSDRのうち、類似関係にある相手を最も多く有するSDRを、中心核S1*に決定する。
[ステップS115]事前学習部140は、中心核S1*を基準とするクラスタCを決定する。例えば事前学習部140は、中心核S1*を元に、順序付き類似集合Sim(S1*)を生成する。類似集合Sim(S1*)は、以下のように定義される。
Sim(S1*)={∀Si∈S|J(S1*,Si)≧th} ・・・(3)
類似集合Sim(S1*)内の要素の順序は、類似度による降順である。すなわち、類似集合Sim(S1*)の要素の先頭は、中心核S1*である。類似集合Sim(S1*)に含まれる要素数をm(mは1以上の整数)すると、類似集合Sim(S1*)は、以下のように表すことができる。
Sim(S1*)={s1=S1*,s2,・・・,sm} ・・・(4)
事前学習部140は、類似集合Sim(S1*)に含まれるSDRのうち、互いに類似関係を有するSDRの集合により、クラスタCを生成する。互いに類似関係を有するSDRの数がk(kは1以上の整数)のとき、クラスタCは以下の式で表される。
C={s1,s2,・・・,sk} ・・・(5)
ここで、クラスタC内の任意の2つのSDRをsi,sjとしたとき、常に類似度J(si,sj)≧thが満足する。
なお、第2の実施の形態では、生成したクラスタに属するSDR数が「1」になることを許容する。すなわち、集合S内に中心核S1*と類似関係にある他のSDRが存在しない場合、中心核S1*のみを要素とするクラスタが生成される。
事前学習部140は、生成したクラスタCにクラスタIDを付与し、メモリ102に記憶する。例えば、最初に生成したクラスタCのクラスタIDを「1」、その後、クラスタを生成するごとに、生成したクラスタのクラスタIDを2,3,・・・とする。
[ステップS116]事前学習部140は、集合Sから、ステップS115で作成したクラスタCに属するSDRを除外する(集合S=S−C)。
[ステップS117]事前学習部140は、集合Sが空集合になったか否かを判断する。集合Sが空集合であれば、処理がステップS118に進められる。集合Sに少なくとも1つのSDRが含まれていれば、処理がステップS114に進められる。
[ステップS118]事前学習部140は、基本となる周期(例えば1日(24時間))を複数に分割して得られる時間帯ごとに、生成した各クラスタに属するSDRの発生確率を算出する。例えば1日分の動作ログに基づいて、K個(Kは1以上の整数)のSDRが生成されたものとする。このとき1日分のK個の動作ログの採取時刻を、動作ログの時刻が早い順にT1,T2,・・・TKとする。
事前学習部140は、観測期間内の各日の時刻T1に対応するSDR間で比較し、各SDRが属するクラスタの発生確率を算出する。事前学習部140は、同様に時刻T2,・・・TKそれぞれについて、クラスタの発生確率を算出する。これにより、1日の特定の時間帯において、システム30がどのようなクラスタの状態になりやすいのかが分かる。
[ステップS119]事前学習部140は、クラスタ間の遷移確率行列を生成する。遷移確率行列は、システム30の状態を示すSDRが、あるクラスタから別のクラスタに遷移する確率を示す行列である。
事前学習部140は、例えば、SDRが属するクラスタのクラスタIDを、そのSDRの生成元となった動作ログの採取時刻に基づいて時系列に並べる。次に、事前学習部140は、隣接するクラスタIDの対を抽出し、時系列で前のクラスタIDを遷移元、時系列で後のクラスタIDを遷移先とする。遷移元と遷移先とを示すクラスタIDの対の発生回数を計数する。そして、遷移元が共通のクラスタIDの対の総数に対する、その遷移元から各遷移先で遷移するクラスタIDの対の発生回数の割合を、その遷移元から各遷移先への遷移確率とする。事前学習部140は、各クラスタIDの対に対応する遷移確率を行列の要素として配置して、遷移確率行列を生成する。
[ステップS120]事前学習部140は、学習結果151を、学習結果記憶部150に格納する。学習結果151には、発生確率を示す情報、遷移確率行列、および各クラスタに属するSDRの集合に関する情報が含まれる。
このようにして、発生確率と遷移確率行列とが生成される。
図10は、発生確率の算出例を示す図である。例えば事前学習部140は、1日の時間帯ごとのシステム30の状態を示すクラスタIDを、クラスタID管理表61に設定する。クラスタID管理表61には、1日をK個の時間帯に分割して得られる時間帯の終了する時刻に対応付けて、各日における該当時間帯内でのシステム30の状態を示すクラスタIDが設定されている。事前学習部140は、観測期間内の各日の時刻T1に設定されたクラスタIDを抽出し、各クラスタIDの出現頻度(出現した回数)を計数する。これにより、時刻T1におけるクラスタIDの頻度分布が得られる。
各クラスタIDの頻度を、時刻T1に設定されたクラスタIDの総数で除算すれば、各クラスタIDの発生確率となる。例えば観測期間が30日であれば、各クラスタIDの頻度を30で除算することで、発生確率が得られる。その結果、時刻T1におけるクラスタIDの確率分布が得られる。事前学習部140は、同様にして、他の時刻T2,・・・,TKの確率分布も算出する。
図11は、遷移確率の算出例を示す図である。例えば事前学習部140は、クラスタID管理表61から、クラスタIDが「i」の日時(何日目のどの時刻か)を特定する。事前学習部140は、該当する日時の次の時刻のクラスタIDをすべて抽出する。事前学習部140は、抽出したクラスタIDそれぞれについて発生確率を計算する。クラスタの総数がM(Mは1以上の整数)の場合、クラスタID「i」のクラスタから、すべてのクラスタID「1,2,・・・,j,・・・,M」それぞれへの遷移確率「D1,i,D2,i,・・・,Dj,i,・・・,DM,i」が算出される。
このような遷移確率が、すべてのクラスタIDそれぞれを遷移前のクラスタIDとする場合について計算される。その結果、遷移前と遷移後とのすべてのクラスタIDの組み合わせについて、遷移確率が計算される。そして、計算した遷移確率を行列の要素とすることで、遷移確率行列が生成される。
以上のような事前学習により、学習結果151が生成される。
図12は、学習結果の一例を示す図である。学習結果151には、例えば発生確率情報151a、遷移確率行列151b、およびクラスタ情報151cが含まれる。発生確率情報151aには、時刻ごとに、該当時刻におけるクラスタIDごとの発生確率が設定される。
遷移確率行列151bは、遷移元のクラスタのクラスタIDが列に対応付けられ、遷移先のクラスタのクラスタIDが行に対応付けられている。遷移確率行列151bにおける列と行の交わる位置の要素として、その列のクラスタIDが遷移元であり、その行のクラスタIDが遷移先である場合の遷移確率が設定されている。
クラスタ情報151cには、クラスタIDに対応付けて、そのクラスタIDに示されるクラスタに属するSDRの集合が設定されている。なお、各SDRに対して、システム30がそのSDRに示される状態になった日時を設定してもよい。
このような学習結果に基づいて、統計的な性質が判定される。統計的な性質は、発生確率や遷移確率の定常性の有無である。定常性とは、期間が異なっても確率分布が変化しないことである。
図13は、定常性判定処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS131]定常性判定部170は、事前学習期間Ltrainを2分割する。定常性判定部170は、2分割で得られた分割期間を、LA,LBとする。
[ステップS132]定常性判定部170は、発生確率情報151aに基づき、事前学習期間Ltrainおよび分割期間LA,LBそれぞれについて、クラスタIDの発生確率分布を生成する。
[ステップS133]定常性判定部170は、3つの期間から2つずつの組(3通り)を生成し、組となった2つの期間の発生確率分布の間に、有意な差が存在するか否かを検定する。検定方法としては、適合度検定(χ二乗検定)、Kolmogorov-Smirnov検定などを用いることができる。適合度検定を用いる場合、比較する2つの発生確率分布の一方を期待値、他方を観測値として統計量「χ二乗」を計算する。χ二乗の値が所定値以上の場合、有意な差があると判断できる。
[ステップS134]定常性判定部170は、3つの期間の間に有意な差があるか否かを判断する。例えば定常性判定部170は、3通りの期間の組み合わせのうち、少なくとも1つの組み合わせにおいて、発生確率分布に有意な差が認められる場合、有意な差があると判断する。有意な差がある場合、処理がステップS135に進められる。有意な差がない場合、処理がステップS136に進められる。
[ステップS135]定常性判定部170は、発生確率分布の定常性(P−定常性)が存在しないと判断し、処理をステップS137に進める。
[ステップS136]定常性判定部170は、P−定常性が存在すると判断する。
[ステップS137]定常性判定部170は、3つの各期間について、クラスタID間の遷移確率行列を生成する。
[ステップS138]定常性判定部170は、3つの期間から2つずつの組(3通り)を生成し、組となった2つの期間の遷移確率行列の間に、有意な差が存在するか否かを検定する。
[ステップS139]定常性判定部170は、3つの期間の間に有意な差があるか否かを判断する。例えば定常性判定部170は、3通りの期間の組み合わせのうち、少なくとも1つの組み合わせにおいて、遷移確率行列に有意な差が認められる場合、有意な差があると判断する。有意な差がある場合、処理がステップS140に進められる。有意な差がない場合、処理がステップS141に進められる。
[ステップS140]定常性判定部170は、遷移確率行列の定常性(T−定常性)が存在しないと判断し、処理を終了する。
[ステップS136]定常性判定部170は、T−定常性が存在すると判断すると判断し、処理を終了する。
定常性の判定により、P−定常性とT−定常性との有無が分かる。P−定常性とT−定常性との有無により、学習結果の統計的な信頼性が判断できる。例えば、P−定常性があれば、発生確率情報151aの統計的信頼性が高い。その場合、発生確率情報151aを用いて、以後のシステム30の状態を示すSDRが属するクラスタの発生確率の定常性からの逸脱を検出できる。また、T−定常性があれば、遷移確率行列151bの統計的信頼性が高い。その場合、遷移確率行列151bを用いて、以後のシステム30の状態を示すSDRが属するクラスタの遷移確率の定常性からの逸脱を検出できる。
学習後の定常性からの逸脱は、観測装置100を稼働診断モードで動作させることにより検出できる。以下、稼働診断モードにおける観測装置100の処理を詳細に説明する。
図14は、稼働診断モードでの動作状態解析処理を示す図である。稼働診断モードでは、システム30からリアルタイム方式により、動作ログ121a,122a,・・・が収集される。そして動作ログ121a,122a,・・・を取得するごとに、統計量生成部130により、SDR41a,42a,・・・が生成される。
オンライン識別部160は、事前学習で得られた学習結果151に基づいて、オンライン識別処理を行う。オンライン識別処理では、稼働監視中の新規のSDRに対し、動的類似度クラスタリングが行われる。動的類似度クラスタリングでは、SDRが生成されるごとに、SDRが属するクラスタが判断される。オンライン学習モードであれば、判断したクラスタリングの結果に基づいて、学習結果151が更新される。
その後、事前学習モードと同様に、定常性判定部170による定常性判定や、可視化部180による可視化処理が行われる。
次に、オンライン識別処理について詳細に説明する。
図15は、オンライン識別処理の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS201]オンライン識別部160は、クラスタを1つ選択する。
[ステップS202]オンライン識別部160は、選択したクラスタの代表和と代表積とを算出する。算出された代表和と代表積は、選択したクラスタに対応付けて管理される。また稼働診断モードでの最初のオンライン識別処理における代表和と代表積は、事前学習の結果に基づいて算出される。その後、クラスタに属するSDRが変わるごとに、代表和と代表積が更新されることとなる。
例えば事前学習で、以下のクラスタが得られたとする。
train={C1,C2,・・・,Cn} ・・・(6)
各クラスタ∀Ciについての代表和Si:+と代表積Si:Xとを、以下のように定義する。
∀Ci∈Ctrain,∀Sk∈Ci,Si:+=∪kk,Si:X=∩kk ・・・(7)
代表和は、クラスタ内のSDRの要素ごとのビット値の論理和である。すなわち代表和は、いずれか1つのSDRにおいて「1」の要素については「1」、すべてのSDRにおいて「0」の要素は「0」としたベクトルである。代表積は、クラスタ内のSDRの要素ごとのビット値の論理積である。すなわち代表積は、クラスタ内のすべてのSDRにおいて「1」の要素については「1」、いずれか1つのSDRにおいて「0」の要素は「0」としたベクトルである。
[ステップS203]オンライン識別部160は、代表和および代表積のそれぞれと、新規に生成されたSDRとを比較する。例えばオンライン識別部160は、新規に入力されたSDRをSxとする。このときオンライン識別部160は、Sxに対して、C1,C2,・・・,Cnのいずれかに属するかどうかの判定を、代表和と代表積とを用いて、以下の計算により高速に実施する。
x∈Ci ⇔ ∃Ci∈Ctrain,(Sx⊂Si:+)&(Sx⊃Si:X) ・・・(8)
式(8)において、「Sx⊂Si:+」は、新たなSDRのベクトルにおいて「1」となっている要素は、クラスタCiの代表和においても「1」となっていることを示す。「Sx⊃Si:X」は、クラスタCiの代表積で「1」となっている要素は、新たなSDRのベクトルにおいても「1」となっていることを示す。新たなSDRが「Sx⊂Si:+」と「Sx⊃Si:X」との両方を満たす場合、そのSDRはクラスタCiに属するものと判断できる。このような計算により、ビットベクトルの比較を2回行うだけで、新たなSDRがどのクラスタに属するのかを判定できる。
なお新たなSDR(Sx)が、クラスタCiとの間で式(8)の関係を満たさない場合であっても、SDR(Sx)とクラスタCiに属するすべてのSDRとの間で、類似度J(si,sj)≧thが満足する場合もあり得る。そこでオンライン識別部160は、式(8)による判定において、新たなSDRが属するクラスタが見つからなかった場合、例えば以下の式で属するクラスタを判定する。
J((Si:+∪Sx),(Si:X∩Sx))≧th ・・・(9)
新たなSDRに対して、式(8)を満たさなくても式(9)を満たすクラスタCiがあれば、新たなSDRはそのクラスタCiに属していると判断できる。
[ステップS204]オンライン識別部160は、新たなSDRが、選択したクラスタに属するか否かを判断する。属する場合、処理がステップS205に進められる。属していない場合、処理がステップS206に進められる。
[ステップS205]オンライン識別部160は、新たなSDRが、選択中のクラスタに属するものとして、そのSDRに、選択中のクラスタのクラスタIDを付与する。その後、処理がステップS209に進められる。
[ステップS206]オンライン識別部160は、未選択のクラスタがあるか否かを判断する。未選択のクラスタがあれば、処理がステップS201に進められる。すべてのクラスタが選択済みであれば、処理がステップS207に進められる。
[ステップS207]オンライン識別部160は、新たなSDRが既存のいずれのクラスタにも属さない場合、オンライン識別部160は、以下のような新しいクラスタを生成する。
n+1={Sx} ・・・(10)
[ステップS208]オンライン識別部160は、新たに生成したクラスタに基づいて、発生確率情報と遷移確率行列とを拡張する。具体的にはオンライン識別部208は、発生確率情報151a(図12参照)に対して、クラスタIDの欄を1つ増やす。またオンライン識別部160は、遷移確率行列151b(図12参照)に対して、遷移元クラスタIDの列を1つ追加し、遷移先クラスタIDの行を1つ追加する。
[ステップS209]オンライン識別部160は、オンライン学習モードか否かを判断する。オンライン学習モードであれば、処理がステップS210に進められる。オンライン学習モードでなければ、処理が終了する。
[ステップS210]オンライン識別部160は、発生確率情報151aにおける時刻ごとの発生確率分布と遷移確率行列151b内の要素の値とを更新する。その後、処理が終了する。
このようなオンライン識別により、SDRが生成されるごとに、そのSDRを含めたクラスタリングが可能となる。クラスタリング結果を即座に可視化すれば、システム30の状態を、リアルタイムに観察できる。
図16は、可視化の例を示す図である。 図16には、SDRを点で表した可視化画面70が示されている。可視化画面70には、ある月の(休日、祝日を除く)平日の午前中のSDRの2次元分布が表示されている。図16の例では、高次元データが次元縮約して表示されている。
1つのSDRは、10分ごとに計算されている。各SDRは、可視化画面70中に白丸74で表示されている。
なお、この月の最終営業日の午前中のシステム異常が発生したことがわかっている。そして、システム異常が発生した日のSDRは、可視化画面70中に黒丸75で表示されている。また可視化画面70では、時間によるSDRの遷移が矢印76で表示されている。
午前、システムが稼働し始めた直後は、ほとんどすべてのSDRは、クラスタ71に属している。その後、時間の経過につれて稼働負荷があがり、クラスタ72の領域にSDRが移動することがわかっている。なお図の煩雑さを避けるために、クラスタ71からクラスタ72への遷移を示す矢印は省略されている。クラスタ72は通常の午前中の正常な状態を表わしている。
ここで、システムに異常が発生した最終営業日のSDRの現れ方と時間変化を見てみる。最初はクラスタ71に属しているが、システムが異常状態になり始めたことをきっかけに、クラスタ71に属する状態から徐々に逸脱して、新しいクラスタ73に属する状態に移行している。その後、一時的に正常な稼働状態となりSDRがクラスタ72に遷移しているが、すぐにまた異常な状態となりSDRがクラスタ73に戻っている。
図16では、平日午前中の状態を表示したが、平日午後の状態、平日1日の状態、休日の状態など、様々な時間帯の状態を可視化画面70に表示することもできる。またSDRを表す点は、例えば1日の時間帯ごとに異なる色で表示することができる。SDRを表す点の色を、ウィークデイなのか休日なのかによって分けてもよい。
このようにSDRのクラスタリングを行い、時間帯ごとに、その時間帯においてSDRの出現頻度が高いクラスタを可視化表示することで、管理者は、システム30の通常の運用状態を容易に認識できる。通常の状態が把握できれば、異常な状態の検出も容易となる。
例えば、稼働診断モードにおいて、休日にシステム30の状態を示すSDRを生成したとき、そのSDRがクラスタ72に属する場合、何らかの異常な状態になっている可能性がある。例えば、可視化部180は、最後に生成したSDRを、可視化画面70上で強調表示することで、現在のシステム30の状態を管理者に分かりやすく表示することができる。そして管理者は、強調表示されたSDRの位置が、現在の時間帯におけるSDRの通常の位置から大きく外れていれば、異常が発生した可能性があることを認識できる 。
ところで、第2の実施の形態において、ジャッカード係数を用いてSDR間の類似度を計算し、その類似度を用いてクラスタリングを行っている。このようなクラスタリング手法により、他のクラスタリグ手法に比べ、様々な利点がある。
例えば、クラスタリング手法として、与えられたデータの集合に対して、距離尺度や類似度をもとに部分集合に自動的に分割する手法がある。大きく分けて、クラスタリングの手法は以下に分類される。
1)階層的クラスタリング:距離行列(コーフェン行列)を用いて、クラスタリング結果を樹形図で表示。
2)非階層的クラスタリング(k-means法など):クラスタ数を指定して距離尺度や類似度が最小になるよう分類。
3)モデルに基づくクラスタリング(混合分布法など):確率分布のモデルに基づく。
1)および2)は初期値依存性(最初に選択する要素に結果が依存)が強い。もっともよく使われる2)非階層的クラスタリングの代表的な手法として、k-means法がある。k-means法では、各データに対してクラスタがランダムに割り振られ、割り振ったデータに基づいて各クラスタの中心Vjが計算される。そして各データについて、各クラスタの中心との距離が求められ、最も近いクラスタにデータが割り当て直される。データxiとクラスタの中心との距離は、例えば距離の尺度は以下の式で表される。
||xi−Vj||2 ・・・(11)
ほかには、ユークリッド距離(3次元空間の通常の距離を高次元に拡張)等を使って距離を計算することもできる。このようなクラスタリング手法には、以下の課題がある。
A)最適なクラスタ分割を求めるためには、生成するクラスタ数を様々に変えて、結果を考察する必要がある。
B)アルゴリズムは固定だが、どの要素から処理し始めるかで、結果が変わってくる(初期値依存性を持つ)。
C)クラスタリング手法ごとに、固定の距離尺度または類似度が採用されるが、v=(1/0,1/0,・・・,1/0)のようなベクトルで類似性をジャッカード係数で測ると、同一クラスタ間の中でも類似性の低いものも散見される。
D)元々の集合に要素が追加されることを想定していない(静的な手法)。すなわち、新しい要素を加えて、再度クラスタリングするしか方法がない。そのときには、新しい要素を加える前のクラスタリング結果は保障されない。
それに対して、第2の実施の形態では、以下のような利点がある。
A)アルゴリズムに対する独立変数が類似度閾値で、クラスタ分割数は従属変数となる。つまり最適なクラスタ数は後から決定される。
B)静的類似度クラスタリングは、初期値依存性を持たない(もっとも類似度閾値を超える仲間を持つ要素からクラスタリングを開始するため)。
C)類似度閾値を与えているため、類似度の高いもの同士がクラスタリングされる。
D)動的類似度クラスタリングにより、静的類似度クラスタリングの結果の上に、新しい要素を分類し、もしふさわしいものがなければ、新クラスタを生成しそこに位置付けるため、既存クラスタを解体させることなく動的にクラスタリングできる。
このように第2の実施の形態では、クラスタ数を与える代わりに、ジャッカード係数で類似度に対して基準(類似度閾値)を与えてクラスタを生成するため、生成されるクラスタ数に関する制約がない。その一方、同じクラスタに属するSDR間であれば、閾値以上の類似度を有することが保証される。
しかも、静的類似度クラスタリングと動的類似度クラスタリングとで別の手法を採用しており、静的類似度クラスタリングによるクラスタリング結果に、動的類似度クラスタリングによってSDRを追加していくことができる。これにより、システム30の状態が異常か否かの判定を、リアルタイムに実施できる。
なお、第2の実施の形態におけるSDR間の類似度の計算方法は、様々な方法が適用できる。適用可能な類似度の計算方法は、大別すると「1次元ビット列の類似度計算」、「ベクトルの類似度計算」、「n次元ベクトル空間のノルムから派生する距離の計算」が考えられる。なお、以下の説明では、集合Aに含まれる要素の個数を|A|と表すものとする。
<1次元ビット列の類似度計算>
<<1.ジャッカード係数(第2の実施の形態で採用)>>
ジャッカード係数は、集合XとYの共通要素数(|X∩Y|)を少なくとも1方にある要素の総数(|X∪Y|)で割ったものである。ジャッカード係数を集合で表すと、以下の式で表される。
・sim=|X∩Y|/|X∪Y| ・・・(12)
ジャッカード係数をベクトルの計算で求めることもできる。例えばX∪Yの要素をz1,z2,・・・,znとして、ベクトルx=(x1,x2,・・・,xn)を、xi=1(if zi∈X),xi=0(otherwise)として定める。ベクトルyも同様に定めると、ジャッカード係数は以下のように表すことができる。
・sim=x・y/(Σxi+Σyi−x・y) ・・・(13)
ここでx・yは、ベクトルxとベクトルyとの内積である。
<<2.ダイス係数>>
ダイス係数は、集合XとYの共通要素数を各集合の要素数の平均で割ったものである。ダイス係数を集合で表すと,以下の式で表される。
・sim=(2×|X∩Y|)/(|X|+|Y|) ・・・(14)
ダイス係数をベクトルの計算で求める場合、以下の式で求められる。
・sim=(2×x・y)/(Σxi+Σyi) ・・・(15)
<<3.シンプソン係数>>
シンプソン係数は、集合XとYの共通要素数を、各集合の要素数の最小値で割ったものである。シンプソン係数を、集合で表すと以下の式で表される。
・sim=|X∩Y|/min(|X|,|Y|) ・・・(16)
min(|X|,|Y|)は、括弧内の値のうちの小さい方の値を示す。シンプソン係数をベクトルの計算で求める場合、以下の式で求められる。
・sim=x・y/min(Σxi,Σyi) ・・・(17)
<ベクトルの類似度>
<<コサイン類似度>>
コサイン類似度は、ベクトルx,yのなす角θの余弦cosθである。コサイン類似度は、ベクトルの向きの近さを類似性の指標としたものである。コサイン類似度は、以下の式で表される。
・sim=x・y/(|x|×|y|) ・・・(18)
なお|x|、|y|は、ベクトルx、yの長さ(ノルム)である。
<<ピアソンの相関係数>>
ピアソンの相関係数は、2つの確率変数の相関関係である。ピアソンの相関係数も類似度の尺度として使うことができる。xとyを2つの変数と考え、次元ごとの値の組(xi,yi)(i=1,2,・・・,n)の相関係数として算出する。ピアソンの相関係数が「1」であれば、完全に一致していることを示す。ピアソンの相関係数が「0」であれば、無相関であることを示す。ピアソンの相関係数が「−1」であれば、完全に不一致であることを示す。
例えばベクトルxの次元要素xi(i=1,2,・・・,n)の平均をmxとし、ベクトルv=x−mx=(x1−mx,x2−mx,・・・,xn−mx)とおく。同様にベクトルyに対して、ベクトルw=y−my=(y1−my,y2−my,・・・,yn−my)とおくと、sim=vとwのコサイン類似度=v・w/(|v|×|w|)で表される。
<<偏差パターン類似度>>
ピアソンの相関係数では、各ベクトルの次元要素の値の平均からの偏差ベクトルを考えたが、偏差パターン類似度では、全ベクトルの平均ベクトルからの偏差ベクトルを使う。
第i次元要素xiの平均をmiとし平均ベクトルをm=(m1,m2,・・・,mn)とする。
x,yの偏差ベクトルをv=x−m=(x1−m1,x2−m2,・・・,xn−mn),w=y−m=(y1−m1,y2−m2,・・・,yn−mn)とする。そのとき偏差パターン類似度は、sim=vとwのコサイン類似度=v・w/(|v|×|w|)で表される。
<n次元ベクトル空間のノルムから派生する距離>
これは、距離の近さで類似性を図るものである。SDRをx=(x1,x2,・・・,xN)とする(N次元のベクトル空間)。このとき、「長さ」の概念の拡張である「ノルム」を以下のように定義する。
「ノルム」は以下の定義を満たすものである。
1.||v||=0⇔v=0 ・・・(19)
2.||av||=|a|||v|| ・・・(20)
3.||u+v||≦||u||+||v|| ・・・(21)
ノルムが定義できると、2点間の距離d(x,y)=||x−y||が定義できる。これらはノルムの定義から、距離の公理を満たすことが証明できる。つまり、ノルムの定義が異なれば、異なる距離(=類似度)が定義できることになる。
ノルムの例としては、以下のようなものがある。
p次平均ノルム(ミンコフスキー・ノルムとも呼ぶ)
p=(|x1−y1|p+|x2−y2|p+…+|xN−yN|p(1/p) ・・(22)
(pは正の定数)
・p=1のとき、このノルムから生成される距離はマンハッタン距離と呼ばれる。
・p=2のとき、このノルムから生成される距離はユークリッド距離と呼ばれる。
・p=∞のとき、このノルムは最大値ノルムと一致し、チェビシェフ距離と呼ばれる。最大値ノルムは、以下の式で表される。
max=max(|x1|,|x2|,・・・,|xN|) ・・・(23)
maxは引数の最大値を返す関数である。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 システム
2a,2b,・・・ 相関情報
3a,3b,3c,3d クラスタ
10 情報処理装置
11 記憶部
11a,11b,・・・ 時系列データ
12 演算部

Claims (6)

  1. コンピュータに、
    管理対象のシステムの状態を示す複数の項目の値の、複数の単位期間内での時間変化を示す情報に基づいて、前記複数の単位期間それぞれについて、前記複数の項目から2つの項目を選択した項目対ごとに、単位期間内での値の時間変化の相関係数を算出し、該相関係数の絶対値が閾値以上のとき、該項目対の間の相関を示す値を「1」とし、該相関係数の絶対値が閾値未満のとき、該項目対の間の相関を示す値を「0」とし、複数の項目対それぞれの相関を示す値を要素とする行列を、前記複数の項目間の値の時間変化の相関を示す相関情報として生成し、
    類似度算出対象の2つの相関情報それぞれの行列内の対応する要素の論理和が「1」となる要素数と、該2つの行列内の対応する要素の論理積が「1」となる要素数との比率に応じて、該2つの相関情報間の類似度を算出することで、前記複数の単位期間それぞれの複数の相関情報の間の類似度を算出し、
    算出した前記類似度に基づいて前記複数の相関情報をクラスタリングする、
    処理を実行させるクラスタリングプログラム。
  2. コンピュータに、
    管理対象のシステムの状態を示す複数の項目の値の、複数の単位期間内での時間変化を示す情報に基づいて、前記複数の単位期間それぞれについて、前記複数の項目から2つの項目を選択した項目対ごとに、単位期間内での値の時間変化の相関係数を算出し、該相関係数の絶対値が閾値以上のとき、該項目対の間の相関を示す値を「1」とし、該相関係数の絶対値が閾値未満のとき、該項目対の間の相関を示す値を「0」とし、複数の項目対それぞれの相関を示す値を要素とする行列を、前記複数の項目間の値の時間変化の相関を示す相関情報として生成し、
    前記複数の単位期間それぞれの複数の相関情報の間の類似度を算出し、
    算出した前記類似度に基づいて前記複数の相関情報をクラスタリング
    クラスタリングにより生成された複数のクラスタそれぞれについて、クラスタに属する1以上の相関情報の行列における対応する要素間の論理和を採った代表和と、該クラスタに属する1以上の相関情報の行列における対応する要素間の論理積を採った代表積とを算出し、
    新たな単位期間内での前記複数の項目に対応する値の時間変化に基づいて、前記複数の項目間の相関を示す新たな相関情報を生成し、
    前記複数のクラスタのうち、前記新たな相関情報を追加しても代表和と代表積が変化しないクラスタを検出し、検出した該クラスタに前記新たな相関情報を帰属させる、
    処理を実行させるクラスタリングプログラム。
  3. 前記新たな相関情報を追加しても代表和と代表積が変化しないクラスタが存在しない場合は、前記新たな相関情報を追加した後の代表和と代表積との類似度が閾値以上となるクラスタを検出し、検出した該クラスタに前記新たな相関情報を帰属させる、
    請求項記載のクラスタリングプログラム。
  4. 前記新たな相関情報を帰属させるクラスタが存在しない場合、新たなクラスタを生成し、前記新たな相関情報を該新たなクラスタに帰属させる、
    請求項2または3記載のクラスタリングプログラム。
  5. コンピュータが、
    管理対象のシステムの状態を示す複数の項目の値の、複数の単位期間内での時間変化を示す情報に基づいて、前記複数の単位期間それぞれについて、前記複数の項目から2つの項目を選択した項目対ごとに、単位期間内での値の時間変化の相関係数を算出し、該相関係数の絶対値が閾値以上のとき、該項目対の間の相関を示す値を「1」とし、該相関係数の絶対値が閾値未満のとき、該項目対の間の相関を示す値を「0」とし、複数の項目対それぞれの相関を示す値を要素とする行列を、前記複数の項目間の値の時間変化の相関を示す相関情報として生成し、
    類似度算出対象の2つの相関情報それぞれの行列内の対応する要素の論理和が「1」となる要素数と、該2つの行列内の対応する要素の論理積が「1」となる要素数との比率に応じて、該2つの相関情報間の類似度を算出することで、前記複数の単位期間それぞれの複数の相関情報の間の類似度を算出し、
    算出した前記類似度に基づいて前記複数の相関情報をクラスタリングする、
    クラスタリング方法。
  6. 管理対象のシステムの状態を示す複数の項目の値の、複数の単位期間内での時間変化を示す情報を記憶する記憶部と、
    前記複数の項目の値の、複数の単位期間内での時間変化に基づいて、前記複数の単位期間それぞれについて、前記複数の項目から2つの項目を選択した項目対ごとに、単位期間内での値の時間変化の相関係数を算出し、該相関係数の絶対値が閾値以上のとき、該項目対の間の相関を示す値を「1」とし、該相関係数の絶対値が閾値未満のとき、該項目対の間の相関を示す値を「0」とし、複数の項目対それぞれの相関を示す値を要素とする行列を、前記複数の項目間の値の時間変化の相関を示す相関情報として生成し、類似度算出対象の2つの相関情報それぞれの行列内の対応する要素の論理和が「1」となる要素数と、該2つの行列内の対応する要素の論理積が「1」となる要素数との比率に応じて、該2つの相関情報間の類似度を算出することで、前記複数の単位期間それぞれの複数の相関情報の間の類似度を算出し、算出した前記類似度に基づいて前記複数の相関情報をクラスタリングする演算部と、
    を有する情報処理装置。
JP2015195976A 2015-10-01 2015-10-01 クラスタリングプログラム、クラスタリング方法、および情報処理装置 Expired - Fee Related JP6555061B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015195976A JP6555061B2 (ja) 2015-10-01 2015-10-01 クラスタリングプログラム、クラスタリング方法、および情報処理装置
US15/278,761 US10572512B2 (en) 2015-10-01 2016-09-28 Detection method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015195976A JP6555061B2 (ja) 2015-10-01 2015-10-01 クラスタリングプログラム、クラスタリング方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2017068748A JP2017068748A (ja) 2017-04-06
JP6555061B2 true JP6555061B2 (ja) 2019-08-07

Family

ID=58447971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015195976A Expired - Fee Related JP6555061B2 (ja) 2015-10-01 2015-10-01 クラスタリングプログラム、クラスタリング方法、および情報処理装置

Country Status (2)

Country Link
US (1) US10572512B2 (ja)
JP (1) JP6555061B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11037330B2 (en) 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
CN109002441A (zh) * 2017-06-06 2018-12-14 阿里巴巴集团控股有限公司 应用名称相似度的确定方法、异常应用检测方法及***
JP6939906B2 (ja) * 2018-01-22 2021-09-22 日本電気株式会社 異常検知装置
WO2019180778A1 (ja) * 2018-03-19 2019-09-26 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体
JP6906477B2 (ja) 2018-05-22 2021-07-21 株式会社日立製作所 データ処理装置およびデータ処理方法
US10922204B2 (en) * 2018-06-13 2021-02-16 Ca, Inc. Efficient behavioral analysis of time series data
JP6797295B2 (ja) * 2018-06-15 2020-12-09 三菱電機株式会社 診断装置、診断方法及びプログラム
US11048727B2 (en) * 2018-09-10 2021-06-29 Ciena Corporation Systems and methods for automated feature selection and pattern discovery of multi-variate time-series
US10997009B2 (en) * 2018-12-10 2021-05-04 Vmware, Inc. Methods and systems that detect and classify incidents and anomalous behavior using metric-data observations
JP7310137B2 (ja) * 2018-12-28 2023-07-19 株式会社Gsユアサ データ処理装置、データ処理方法、及びコンピュータプログラム
US10958585B2 (en) 2018-12-31 2021-03-23 Juniper Networks, Inc. Methods and apparatus for facilitating fault detection and/or predictive fault detection
US11138059B2 (en) * 2019-09-25 2021-10-05 Juniper Networks, Inc. Log analysis in vector space
JPWO2021079472A1 (ja) * 2019-10-24 2021-04-29
WO2021178594A1 (en) 2020-03-05 2021-09-10 Siemens Healthcare Diagnostics Inc. An approach for analysis of logs from a complex physical equipment
JP7392845B2 (ja) * 2020-05-25 2023-12-06 日本電信電話株式会社 非定常変動検知装置、非定常変動検知方法及びプログラム
JP7473845B2 (ja) 2020-11-18 2024-04-24 日本電信電話株式会社 試験対象抽出装置、試験対象抽出方法、及び試験対象抽出プログラム
EP4080364A1 (en) * 2021-04-23 2022-10-26 Aptiv Technologies Limited Method and device for detecting dysfunction of vehicle embedded computer
WO2023112382A1 (ja) * 2021-12-15 2023-06-22 パナソニックIpマネジメント株式会社 分析支援方法、分析支援装置、およびプログラム
WO2023209799A1 (ja) * 2022-04-26 2023-11-02 日本電信電話株式会社 変化点スコア算出装置、変化点スコア算出方法、及びプログラム
CN115225455B (zh) * 2022-06-15 2024-07-05 中国电信股份有限公司 异常设备检测方法及装置、电子设备、存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735550B1 (en) * 2001-01-16 2004-05-11 University Corporation For Atmospheric Research Feature classification for time series data
US7917333B2 (en) * 2008-08-20 2011-03-29 Caterpillar Inc. Virtual sensor network (VSN) based control system and method
JP5301310B2 (ja) * 2009-02-17 2013-09-25 株式会社日立製作所 異常検知方法及び異常検知システム
JPWO2011046228A1 (ja) * 2009-10-15 2013-03-07 日本電気株式会社 システム運用管理装置、システム運用管理方法、及びプログラム記憶媒体
JP2011086171A (ja) * 2009-10-16 2011-04-28 Toshiba Corp 処理種別選択プログラム及び装置
WO2012067031A1 (ja) * 2010-11-17 2012-05-24 日本電気株式会社 違反予兆条件設定支援システム、違反予兆条件設定支援方法および違反予兆条件設定支援プログラム
TWI515522B (zh) 2010-12-28 2016-01-01 萬國商業機器公司 測定系統情況的方法、電腦程式及電腦
EP2681496B1 (en) 2011-03-02 2019-03-06 Carrier Corporation Spm fault detection and diagnostics algorithm
US9075713B2 (en) 2012-05-24 2015-07-07 Mitsubishi Electric Research Laboratories, Inc. Method for detecting anomalies in multivariate time series data
JP6066825B2 (ja) * 2013-05-17 2017-01-25 株式会社日立製作所 データ分析装置及び保健事業支援方法
JP6003810B2 (ja) * 2013-06-04 2016-10-05 株式会社デンソー 車両用基準値生成装置
JP5979185B2 (ja) * 2014-07-16 2016-08-24 日本電気株式会社 運用管理装置、運用管理システム、情報処理方法、及び運用管理プログラム

Also Published As

Publication number Publication date
US10572512B2 (en) 2020-02-25
US20170097980A1 (en) 2017-04-06
JP2017068748A (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
JP6555061B2 (ja) クラスタリングプログラム、クラスタリング方法、および情報処理装置
JP6652699B2 (ja) アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
US10216558B1 (en) Predicting drive failures
US9921937B2 (en) Behavior clustering analysis and alerting system for computer applications
US10452458B2 (en) Computer performance prediction using search technologies
US20150205691A1 (en) Event prediction using historical time series observations of a computer application
US9870294B2 (en) Visualization of behavior clustering of computer applications
US11080126B2 (en) Apparatus and method for monitoring computer system
JP2007207173A (ja) 性能分析プログラム、性能分析方法、および性能分析装置
US20210042585A1 (en) Abnormality detection device, abnormality detection method and computer readable medium
JP2006507558A (ja) 階層的視覚化を介しての多次元データのビューイング
Liu et al. Objective-oriented optimal sensor allocation strategy for process monitoring and diagnosis by multivariate analysis in a Bayesian network
US10019681B2 (en) Multidimensional recursive learning process and system used to discover complex dyadic or multiple counterparty relationships
JP2018163622A (ja) 製造不良原因の探索支援方法及び情報処理装置
JP2020035039A (ja) 更新支援装置、更新支援方法およびプログラム
EP3097494A1 (en) Computer performance prediction using search technologies
CN115705501A (zh) 机器学习数据处理管道的超参数空间优化
JPWO2017203672A1 (ja) アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置
Zeydan et al. Cloud 2 HDD: large-scale HDD data analysis on cloud for cloud datacenters
CN115427986A (zh) 用于从大容量、高速流式数据动态生成预测分析的算法学习引擎
CN110874601B (zh) 识别设备运行状态的方法、状态识别模型训练方法及装置
US10372719B2 (en) Episode mining device, method and non-transitory computer readable medium of the same
JP2020154512A (ja) 文分類装置、文分類方法及び文分類プログラム
KR102179290B1 (ko) 워크로드 데이터에 대한 이상징후 판별 방법
JP2023036469A (ja) 外れ値検出装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190516

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190624

R150 Certificate of patent or registration of utility model

Ref document number: 6555061

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees