説明

機器障害分析装置、機器障害分析方法、および機器障害分析プログラム

【課題】イベントログの中で、障害原因の特定の手掛かりとなる箇所を短時間で見つけ出す。
【解決手段】機器の正常稼動時におけるイベントを含む正常時ログを記憶する正常時ログ記憶部0106と、正常時ログの特徴を示すパターン情報を含む正常時パターンを記憶する正常時パターン記憶部0104と、稼動ログに含まれるイベントの順列と正常時パターンに含まれるパターン情報の順列とを比較することにより、稼動ログと正常時パターンとの不一致箇所を特定し、特定した不一致箇所に基づいて、稼動ログと正常時パターンとの不一致の程度が所定のしきい値を超えているか否かを判定するパターンチェック部0105と、パターンチェック部0105が、不一致の程度が所定のしきい値を超えていないと判定した場合に、正常時ログから正常時パターンを抽出し、抽出した正常時パターンを正常時パターン記憶部に記憶させる特徴分析部0107と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CT装置、MRI装置などの医療機器の障害検知、ログによる障害原因分析を行うための技術に関するものである。
【背景技術】
【0002】
特開2006−155064号公報では、ログにおけるイベントの発生頻度を計算し、異常検知を行う技術を開示している。学術論文 "Dynamic Syslog Mining for Network Failure Monitoring" では、通信ネットワークのアクセスログを分析し、不正アクセスなどの障害を検知する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−155064
【非特許文献】
【0004】
【非特許文献1】"Dynamic Syslog Mining for Network Failure Monitoring", Proceedings of the 11th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2005)
【発明の概要】
【発明が解決しようとする課題】
【0005】
コンピュータなどの機器に障害が起こった際に原因調査を行うために、機器の稼働状態を示すログを保存する機能が使われる。ログには、ログを出力する機器が障害の発生を検知し、これを通知するために出力する「エラーログ」がある。一方、障害の有無とは関係なく、機器の稼働状態を通知または記録するために出力するログもある。このようなログは、さらに、定期ログとイベントログの二種類に分けられる。定期ログは、稼動状態を定期的に出力するもの(例えば、1分毎に機器の温度データを出力する)、イベントログは、イベントが発生した時に出力するものである。
【0006】
機器に不具合が発生した際、エラーログが出力されていれば、どのような障害が起こったかを知ることができる。例えば、機器が予定外に停止してしまった際に、エラーログに「供給電圧低下」とあれば、機器に供給される電圧が許容範囲を下回ったために機器が停止したのだとわかる。だが、問題は、供給電圧が低下した原因である。技術者が原因を分析するには、障害が発生するまでの定期ログやイベントログを利用する。このとき、ログの中で、障害原因の特定の手掛かりとなる箇所を短時間で見つけ出すことが、障害から復帰するまでの時間を短縮することにつながる。本発明が解決しようとする課題は、ログに基づく障害原因の検知をサポートする技術を提供することである。。
【課題を解決するための手段】
【0007】
上記の課題を解決するために本発明は、機器の稼動ログを分析して障害検知または障害原因分析を行う機器障害分析装置であって、前記機器の稼働時におけるイベントを含む機器稼動ログを記憶する機器稼動ログ記憶部と、前記機器の正常稼動時におけるイベントを含む正常時ログを記憶する正常時ログ記憶部と、前記正常時ログの特徴を示すパターン情報を含む正常時パターンを記憶する正常時パターン記憶部と、前記機器稼動ログに含まれる前記イベントの順列と前記正常時パターンに含まれる前記パターン情報の順列とを比較することにより、前記機器稼動ログと前記正常時パターンとの不一致箇所を特定し、特定した前記不一致箇所に基づいて、前記機器稼動ログと前記正常時パターンとの不一致の程度が所定のしきい値を超えているか否かを判定するパターンチェック部と、前記パターンチェック部が、前記不一致の程度が所定のしきい値を超えていないと判定した場合に、前記機器稼動ログを前記正常時ログに追加し、前記正常時ログから前記正常時パターンを抽出し、抽出した前記正常時パターンを前記正常時パターン記憶部に記憶させる特徴抽出部と、を備えることを特徴とする。
【0008】
また、本発明は、上記機器障害分析装置で行われる機器障害分析方法および機器障害分析プログラムである。
【発明の効果】
【0009】
技術者がログに基づき障害原因を分析する場合に備え、障害原因の検知をサポートすることができる。
【図面の簡単な説明】
【0010】
【図1】実施例1の装置の構成図である。
【図2】コンピュータを利用した装置構成図である。
【図3】機器稼動ログの例である。
【図4】正常時パターンの例である。
【図5】機器稼動ログと正常時パターンの不一致箇所を示す表示の例である。
【図6】CT撮影中にエラーが発生した場合のパターンチェック処理のフローチャートである。
【図7】CT撮影が最後まで行われた場合のパターンチェック処理のフローチャートである。
【図8】正常時ログから正常時パターンを抽出する処理のフローチャートである。
【図9】ログからパターンを抽出するアルゴリズムのフローチャートである。
【図10】ログの中で、パターンとの不一致箇所を発見するアルゴリズムのフローチャートである。
【図11】実施例1の装置構成を一部変更した構成図である。
【図12】図11の構成における、正常時ログから正常時パターンを抽出する処理のフローチャートである。
【図13】実施例2の装置の構成図である。
【図14】実施例2における、正常時ログから正常時パターンを抽出する処理のフローチャートである。
【図15】実施例2の装置構成を一部変更した構成図である。
【図16】図15の構成における、正常時ログから正常時パターンを抽出する処理のフローチャートである。
【図17】ログの中で、パターンとの不一致箇所を発見するアルゴリズムを一部変更したアルゴリズムのフローチャートである。
【図18】ログとパターンの不一致の評価値の計算に用いる記憶領域を表す図である。
【図19】ログとパターンの不一致の評価値の計算過程の第1段階の結果を表す図である。
【図20】ログとパターンの不一致の評価値の計算過程の第2段階の結果を表す図である。
【図21】ログとパターンの不一致の評価値の計算結果を表す図である。
【発明を実施するための形態】
【0011】
(実施例1)
以下に添付図面を参照して、本発明にかかる機器障害分析装置、機器障害分析方法、および機器障害分析プログラムの実施の形態を詳細に説明する。
【0012】
実施例1における機器障害分析装置1000の装置構成図を図1に示す。以下では、機器障害分析装置1000とCT撮影装置0101とは別個の異なる筐体から構成される装置として説明しているが、これらを1つの装置として構成することも可能である。
【0013】
CT撮影装置0101は、撮影時のエラーログやイベントログなどの各種のログ(以下、機器稼動ログ、または単にログと呼ぶ。)を出力する。これらは、機器障害分析装置1000の機器稼動ログ記憶部0102に出力され、機器稼動ログ記憶部0102がこれらのログを記憶する。正常時パターン記憶部0104は、CT撮影装置0101などの機器が正常に動作した場合のログのパターンを記憶する。このパターンはCT撮影装置0101の稼働結果から取得されるものだが、外部から与えられる初期値として、初期正常時パターン0103を有している。
【0014】
パターンチェック部0105は、機器稼動ログ記憶部0102に記憶されたログを検証対象とし、これと、正常時パターン記憶部1040に記憶されたパターンとを比較し、不一致箇所を探索する。パターンチェック部0105は、不一致箇所が見つからなかった場合は、検証対象のログは異常無しと判断し、正常時ログ記憶部0106にそのログを送る。特徴分析部0107は、正常時ログ記憶部0106に記憶された正常時ログを分析対象とし、その中から正常時の特徴を示すパターン(以下、正常時パターンと呼ぶ。)を抽出する。特徴分析部0107は、抽出した正常時パターンを正常時パターン記憶部0104に記憶させる。
【0015】
一方、パターンチェック部0105が、検証対象としたログと正常時パターンとに不一致箇所が見つかった場合、検証対象のログは異常ありと判断し、異常情報出力部0108にそのログを送る。異常情報出力部0108は、使用者に異常を通知するとともに、不一致箇所を示す情報などをログに付加し、そのログを異常時ログ記憶部0109に送る。以下、このように正常時ログ記憶部0106に記憶されたログを正常時ログ、異常時ログ記憶部0109に記憶されたログを異常時ログと呼ぶこととする。
【0016】
図2は、上記の機器障害分析装置1000を、コンピュータを利用して構成した場合の装置構成図である。CT撮影装置0101以外の他の部分を、機器障害分析装置1000として、CPU0201、記憶部0202、ユーザ入出力部0203という、典型的なコンピュータの構成要素で実現している。すなわち、機器稼動ログ記憶部0102と、正常時パターン記憶部0104(初期正常時パターン0103を含む)と、正常時ログ記憶部0106と、異常時ログ記憶部0109とは、メモリやハードディスク等から構成される記憶部0202に記憶され、パターンチェック部0105と、特徴分析部0107と、異常情報出力部0108とは、CPU0201からの制御によって記憶部0202にロードされ、上述した各部の機能が実行されるようになっている。
【0017】
図3は、CT撮影装置0101が出力するログの例を示す図である。図3に示す例ではイベントログの形式をとっている。このログでは、各行が1つのイベント発生に対応しており、イベントの発生した日時と、発生したイベントの種類、内容が記載されている。例えば、「20100701 09:27:10」はイベントの発生日時「2010年7月1日 9時27分10秒」を表し、「Reset Device」は、その時に発生したイベントの種類を表す文字列である。また、記号「*」だけが並んだ行はイベントではなく、ログの区切りを表す。CT装置を例に取ると、1名の患者のCT撮影ごとにログに区切りを挿入する。すなわち、「*」の行に挟まれたログのブロックが、1名の患者のCT撮影において出力されるログである。
【0018】
また、ログに記載されたイベントには、「Move -0430 [mm]」のように、イベントの種類を表す文字列(Move)と数値パラメータ(-0430 [mm])の組み合わせになっているものがある。例えば、
Move -0430 [mm]
Move -0420 [mm]
Move -0400 [mm]
というイベントがログに出現したとして、これらを単純に文字列と考えると、機器障害分析装置1000は、これらを3種類の異なるイベントとして扱う。ログ分析において、これらの数値の違いには意味がなく、どれも「Move」という同一のイベントとして扱うのが妥当であれば、これらのログの数値パラメータを変数として取り扱い、パターンチェック部0105や特徴分析部0107が、「Move (value)」のように変換する処理を、追加の処理として行うことも可能である。
【0019】
図4は、正常時パターンの例を示す図である。正常時パターンとは、正常時パターン記憶部1040に記憶されている、ログに登場するイベントの順列である。正常時パターンは、イベント発生日時は含まず、また、上記の「Move (value)」の例のように、変換後の文字列をイベントとして含むこともある。後述するように、正常時パターンは、特徴分析部0107が正常時パターン記憶部0104に記憶させている。その際に、頻度情報を付加して記憶することも考えられる。頻度情報とは、例えば、各々のイベントの順列が正常時ログの中に出現した回数である。
【0020】
図5は、パターンチェック部0105が機器稼動ログと正常時パターンに不一致を見つけた場合に、ユーザ入出力部0203にこれを表示させて、使用者に提示するための表示形式の例である。図5に示す例では、検証対象である機器稼動ログと、正常時パターンとを左右に並べて表示し、不一致箇所を下線で示している。不一致箇所は後述の図6や図7に示す処理によって記録されるので、ユーザ出力部0203に表示することができる。なお、一般的には、正常時パターンは複数存在するので、1つの機器稼動ログが複数の正常時パターンとの間で不一致を起こす。そこで、向かって右側に表示される正常時パターンは、使用者の操作によってユーザ入出力部0203が受け付けた、複数の正常時パターンの中からユーザによって選択された正常時パターンとする。
【0021】
続いて、機器稼動ログと正常時パターンとの比較を行う処理を以下に説明する。。CT撮影装置0101がCT撮影中に、機器に不具合が発生した場合、撮影は中断され、使用者にはエラーが通知される。また、この場合、機器稼動ログにはエラーログが出力される。この時、パターンチェック部0105が、機器稼動ログと正常時パターンとの比較を行う処理のフローを図6に示す。
【0022】
図6に示すように、CT撮影装置0101にエラーが発生すると、CT撮影装置0101はエラー発生イベントを出力し、機器稼動ログ記憶部0102はエラー発生イベントを受け取る(ステップ0601)。これがきっかけとなり、機器稼動ログ記憶部0102は、CT撮影装置0101が、当該の撮影開始からエラー発生による撮影中断までの機器稼動ログを記憶する(ステップ0602)。このように記憶された機器稼動ログが、図3に示したように、「*」記号で区切られた機器稼動ログの1つのブロックになる。
【0023】
そして、パターンチェック部0105は、このように機器稼動ログ記憶部0102に記憶されたログのブロックをパターンチェックにかける(ステップ0603)。ステップ0603に示すパターンチェック処理では、パターンチェック部0105は、正常時パターン記憶部0104に記憶されている正常時パターンを読み出し、読み出した正常時パターンとログのブロックとを比較する。ここで、パターンチェック部0105は、1つのログのブロックを、1つ以上の正常時パターンと比較する。パターンチェックの結果は、「不一致の評価値」という、1つのスカラー値で得られる。ここでは、「不一致の評価値」を判定するためのしきい値をあらかじめ定めておくものとする。その一例としては、パターンチェック部0105が、1つ以上の正常時パターンとログのブロックとを比較する場合において、不一致が1つでも見つかれば評価値は1、不一致が1つも見つからなければ評価値を0とし、このときのしきい値を0.5と定めた場合である。なお別の一例として、正常時パターンとログのブロックを比較した際に見つかった不一致イベントの数を「不一致の評価値」とし、閾値として自然数を予め定めておいても良い。
【0024】
パターンチェック部0105は、パターンチェックをした結果、不一致の評価値がしきい値を超えたか否かで、処理を分岐する(ステップ0604)。すなわち、パターンチェック部0105が、不一致の評価値がしきい値を超えたと判定した場合(ステップ0604;Yes)、機器稼動ログの中で不一致があった箇所を記録する(ステップ0605)。その後、パターンチェック部0105は、異常時ログ記憶部0109に、この不一致箇所を記録した機器稼動ログを異常時ログとして記憶する(ステップ0606)。
【0025】
一方、パターンチェック部0105が、不一致の評価値がしきい値を超えていないと判定した場合(ステップ0604;No)、ステップ0605の処理を行わず、異常時ログ記憶部0109に機器稼動ログを異常時ログとして記憶する(ステップ0606)。このステップ0606の処理が終了すると、図6に示した全ての処理が終了する。
【0026】
続いて、CT撮影装置0101がCT撮影中に不具合が発生せず、最後まで撮影が行われた場合の、機器稼動ログと正常時パターンとの比較を行う処理のフローを図7に示す。
【0027】
この場合、CT撮影装置0101はエラー発生イベントを出力せず、代わりに、撮影終了イベントを出力し、これを機器稼動ログ記憶部0102が受け取る(ステップ0701)。これがきっかけとなり、機器稼動ログ記憶部0102は、当該の撮影開始から撮影終了までの機器稼動ログをブロックとしてCT撮影装置0101が出力したログを記憶する(ステップ0702)。
【0028】
そして、パターンチェック部0105は、このログのブロックをパターンチェックにかける(ステップ0703)。パターンチェック部0105は、パターンチェックの結果、不一致の評価値がしきい値を超えたか否かで、処理を分岐する(0704)。すなわち、パターンチェック部0105は、不一致の評価値がしきい値を超えたと判定した場合(ステップ0703;Yes)、使用者に対して異常検知を通知するためのアラートを発生させ(ステップ0705)、機器稼動ログの中で不一致があった箇所を記録する(ステップ0706)。その後、パターンチェック部0105は、異常時ログ記憶部0109に、この不一致箇所を記録した機器稼動ログを記憶する(ステップ0707)。
【0029】
一方、パターンチェック部0105は、不一致の評価値がしきい値を超えていないと判定した場合(ステップ0703;No)、当該ログは正常であると見なし、正常時ログを対象とした特徴分析を行う(ステップ0708)。このステップ0708の処理が終了すると、図7に示した全ての処理が終了する。
【0030】
図8に、特徴分析のフローを示す。まず、パターンチェック部0105は、上記のパターンチェック処理において、不一致の評価値がしきい値を超えず、正常と判断されたログを対象とし、正常時ログ記憶部0106に記憶されている正常時ログと比較する(ステップ0801)。
【0031】
ここで、パターンチェック部0105は、イベントの順列が同じであるログのブロックが、既に正常時ログ記憶部0106に記憶されている場合は処理0803へ、そうでない場合は処理0805へ進む(ステップ0802)。すなわち、パターンチェック部0105は、ログのブロックに示されたイベントの順列と、既に正常時ログ記憶部0106に記憶されている正常時ログのイベントの順列とを比較し、両者が同一の順列であるか否かを判定することにより、イベントの順列が同じであるログのブロックが、既に正常時ログ記憶部0106に記憶されていると判定する。
【0032】
そして、パターンチェック部0105は、イベントの順列が同じであるログのブロックが、既に正常時ログ記憶部0106に記憶されていると判定した場合(ステップ0802;Yes)、正常時パターンが既に抽出されているので、その頻度情報を更新し(ステップ0803)、対象のログを正常時ログ記憶部0106へ記憶する(ステップ0804)。
【0033】
一方、パターンチェック部0105は、イベントの順列が同じであるログのブロックが、既に正常時ログ記憶部0106に記憶されていないと判定した場合(ステップ0802;No)、対象のログを正常時ログ記憶部0106に記憶し(ステップ0805)、その後、特徴分析部0107は、正常時ログを対象とした特徴分析処理を行う(ステップ0806)。そして、特徴分析部0107は、その結果として得られた正常時パターンを正常時パターン記憶部0104に記憶する(ステップ0807)。
【0034】
なお、ここまでの処理では、パターンチェック部0105は、正常時ログから正常時パターンを抽出し、これと機器稼動ログの不一致を見つけることで異常を判定していた。これとは逆に、異常時ログから異常時パターンを抽出し、これと機器稼動ログの一致を見つけることで異常を判定することも可能である。
【0035】
ステップ0806における特徴分析処理では、特徴分析部0107は、処理対象のログからシーケンスパターンを抽出する。そのアルゴリズムを図9に示す。処理対象のログは、図3に示すように複数のブロックが区切り記号で区切られてつながったログである。
【0036】
図9に示したアルゴリズムでは、特徴分析部0107は、まず、処理対象のログに出現する全てのイベントを調べ、そのリストを作成する(ステップ0901)。このリストをEとする。そして、特徴分析部0107は、イベントの1つ1つについて、以下の処理を行う。ステップ0902では、特徴分析部0107は、リストEが空であるか否かを調べる。特徴分析部0107は、処理済みのイベントをリストから取り除くので、リストEが空であるということは、全てのイベントの処理が終了したことを意味する。特徴分析部0107は、リストEが空であると判定した場合(ステップ0902;Yes)、アルゴリズムは終了する。特徴分析部0107は、リストEが空でないと判定した場合(ステップ0902;No)、ステップ0903へ進む。
【0037】
ステップ0903では、特徴分析部0107は、これから処理する対象となるイベントを1つ決定する。このイベントをAとする。そして、特徴分析部0107は、AをリストEから取り除く(ステップ0903)。次に、特徴分析部0107は、処理対象のログの中で、イベントAを全て見つけ、その位置をリストにする(ステップ0904)。このリストをPとする。イベントAの「位置」とは、例えば、ログの先頭から行番号を付けたとして、イベントAが出現する行の番号である。
【0038】
次に、特徴分析部0107は、空のリストSを作成し、その先頭要素として、SにAを挿入する(ステップ0905)。リストSは、これから抽出するシーケンスパターンを一時的に保存する記憶領域となる。この時点で、リストSの要素数は1である。ステップ0906では、特徴分析部0107は、リストSの要素数を変数Lに保持する。
【0039】
そして、特徴分析部0107は、ステップ0907では、先に作成したリストPに保持されているイベントAの位置各々にLの値を加えて算出されるログ中の位置にあるイベントを参照し、参照した各イベントが全て同一のイベントか否かを調べる。すなわち、特徴分析部0107は、ログ中に現れる全てのAについて、そこからLだけ進んだ位置にあるイベントが全て同じか否かを判定する。
【0040】
特徴分析部0107は、ログ中に現れる全てのAについて、そこからLだけ進んだ位置にあるイベントが全て同じであると判定した場合(ステップ0907;Yes)、そのイベントを、リストSの末尾に挿入する(ステップ0908)。すなわち、シーケンスパターンが1つ伸びるわけである。
【0041】
例えば、特徴分析部0107は、Lの値が1である時、ログ中の全てのAについて、その次のイベントが全てBであれば、リストSの末尾にBを挿入する。その結果、リストSの長さは2となり、最初の要素はA、2番目の要素はBである。これは、処理対象のログにおいて、イベントAの次には必ずイベントBが続いているということを意味する。以下、同様にして、後続のイベントが全ての場合で同一である限り、シーケンスパターンが伸びていくことになる。
【0042】
そして、特徴分析部0107は、後続のイベントが同一でないと判定した場合(ステップ0907;No)、ステップ0909へ進む。この場合、シーケンスパターンの伸長が停止したことを意味し、特徴分析部0107は、その時点までのリストSをシーケンスパターン抽出結果に加える。ただし、リストSの長さが1以下の場合、すなわち、Sの要素が先頭のイベントのみであった場合は、特徴分析部0107は、シーケンスパターンとしての意味を成さないとし、シーケンスパターン抽出結果に加えない。
【0043】
図10は、図6、図7に示したパターンチェック処理における、機器稼動ログと正常時パターンの比較のアルゴリズムを示す図である。パターンチェック処理では、パターンチェック部0105は、機器稼動ログの1つのブロックと、複数の正常時パターンを比較するが、図10には、1つのブロックと、1つの正常時パターンの比較のアルゴリズムを示している。すなわち、パターンチェック部0105は、複数の正常時パターンと比較するには、図10のアルゴリズムを正常時パターンの数だけ実行する。
【0044】
まず、パターンチェック部0105は、準備として、比較する正常時パターンをS、Sの要素数すなわち正常時パターンの長さをL、Sの先頭要素すなわち正常時パターンの最初のイベントをAとし(ステップ1001)、処理対象である機器稼動ログのブロックの先頭を、探索開始位置とし(ステップ1002)、探索開始位置からログの末尾へ向かって、イベントAを探す(ステップ1003)。ここで、パターンチェック部0105は、処理対象である機器稼動ログのブロックにイベントAが見つかったか否かを判定し(ステップ1004)、処理対象である機器稼動ログのブロックイベントAが見つからずにログの末尾まで達した場合(ステップ1004;No)、アルゴリズムを終了させる。
【0045】
一方、パターンチェック部0105は、処理対象である機器稼動ログのブロックAが見つかったと判定した場合(ステップ1004;Yes)、その位置をPとする(1005)。その後、パターンチェック部0105は、任意の変数iを1に設定し(ステップ1006)、設定した変数iが、正常時パターンの長さLよりも小さいか否かを判定する(ステップ1007)
そして、パターンチェック部0105は、Pに変数iを加えた位置(P+i)におけるイベントが、Sのi+1の位置におけるイベントと同じであるか否かを判定し(ステップ1008)、両者が同じであると判定した場合(ステップ1008;Yes)、変数iをi+1に設定し(ステップ1009)、ステップ1007に戻る。このように、パターンチェック部0105は、ログ中の位置Pからイベントの順列が正常時パターンSと一致しているかを、1つ1つイベントを比較しながら調べる。
【0046】
一方、パターンチェック部0105は、上述した両者が同じではないと判定した(すなわち、正常時パターンSの途中で不一致があった)場合(ステップ1008;No)、ステップ1010に進む。パターンチェック部0105は、ステップ1010において、正常時パターンと不一致のあったログ中の位置を記録し(ステップ1010)、ステップ1011に進む。ステップ1011では、パターンチェック部0105は、Pの次の位置を新たなログ中の探索開始位置として設定し(ステップ1011)、ステップ1003に戻る。こうして、パターンチェック部0105は、ログ中の全てのAについて、正常時パターンSとのイベントの順列の一致/不一致を調べる。このような処理結果として、1つの正常時パターンSとの不一致箇所が得られる。
【0047】
続いて、図1に示した装置構成を一部変更した構成を図11に示す。図11では、CT撮影装置0101、パターンチェック部0105などが置かれる利用者サイトの他にサービスセンタを設置し、その中に正常時ログ記憶部1101、特徴分析部1102、正常時パターン記憶部1103を有する構成としたものである。これらの各部の役割は、図1における正常時ログ記憶部0106、特徴分析部0107、正常時パターン記憶部0104と同じであるが、利用者サイトとサービスセンタに分かれているため、ログやパターンの送受信が行われるという点が図1の構成と異なる。
【0048】
図12には、利用者サイトとサービスセンタの間の送受信を含んだ特徴分析処理のフローを示す。まず、利用者サイト側で、機器障害分析装置1000は、パターンチェック部0105が、パターンチェックの結果、異常無しとなったログのブロックを取得し(ステップ1201)、これを利用者サイト側の正常時ログ記憶部1101に記憶する(ステップ1202)。その後、パターンチェック部0105は、正常時ログの中で、まだサービスセンタへ送信していない分(差分)を送信し(ステップ1203)、機器障害分析装置1000は、サービスセンタから結果が送られてくるのを待つ待機状態となる(ステップ1204)。
【0049】
一方、サービスセンタ側では、特徴分析部1102が、このログを受信し(ステップ1207)、既に受信済みのログと合わせてサービスセンタ側の正常時ログ記憶部1101に記憶する(ステップ1208)。そして、特徴分析部1102は、この正常時ログを対象として特徴分析処理を行い(ステップ1209)、結果として得られたシーケンスパターンすなわち正常時パターンを利用者サイトへ送信する(ステップ1210)。
【0050】
利用者サイトでは、パターンチェック部0105がこのシーケンスパターンを受信し(ステップ1205)、利用者サイト側の正常時パターン記憶部0104に記憶する(ステップ1206)。このように、サービスセンタでログを集めて特徴分析を行うという構成にすることにより、複数の利用者サイトから収集したログを合わせて特徴分析と行うことも可能である。こうした場合、1つの利用者サイトのCT撮影部だけの機器稼動ログを対象とするよりも多様な正常時パターンを得られることが期待できる。なお、この場合、パターンチェック部0105および特徴分析部1102は、従来から知られている種々の無線あるいは有線によって実現される通信機能を有しているものとする。
(実施例2)
実施例2の装置構成図を図13に示す。本実施例では、利用者サイトとサービスセンタを設置し、利用者サイト側でCT撮影装置の稼動、機器稼動ログと正常時パターンとの比較、異常情報の出力、およびその記憶を行い、サービスセンタ側で正常時ログの取得と正常時パターンの抽出を行う。
【0051】
利用者サイト側の処理は、実施例1と類似しているが、特徴抽出の対象として利用者サイトの機器稼動ログを使わないという点が異なる。サービスセンタ側には、CT撮影部1301、正常時ログ記憶部1302、特徴分析部1303、正常時パターン記憶部1304を有する。サービスセンタ側のCT撮影部1301は正常な機器稼働のモデルであり、利用者サイト側では、ここから得られる機器稼動ログは正常時ログであると見なす。特徴分析部1303は、この正常時ログに基づいて正常時パターンを抽出し、利用者サイトへ送信する。
【0052】
そして、利用者サイトでは、パターンチェック部0105が、サービスセンタから受け取った正常時パターンを用いてパターンチェックを行う。サービスセンタに設置したCT撮影装置をよくメンテナンスし、稼動状態をよく監視することにより、正常時ログとしての信頼性の高い機器稼働ログを得ることが可能になると期待される。なお、本実施の形態においても、この場合、パターンチェック部0105および特徴分析部1102は、従来から知られている種々の無線あるいは有線によって実現される通信機能を有しているものとする。
【0053】
図14に、利用者サイトとサービスセンタの間の送受信を含んだ特徴分析処理のフローを示す。まず、サービスセンタ側で、CT撮影装置1301から撮影終了イベントを受け取ると(ステップ1403)、特徴分析部1303は、機器稼動ログをCT撮影装置から取得する(ステップ1404)。CT撮影装置1301は正常モデルであり、この機器稼働ログは正常時ログであると見なされるので、特徴分析部1303は、サービスセンタ側の正常時ログ記憶部1302にその正常時ログを記憶する(ステップ1405)。
【0054】
そして、特徴分析部1303は、正常時ログを対象に特徴分析処理を行い(ステップ1406)、結果として得られたシーケンスパターンすなわち正常時パターンを利用者サイトへ送信する(ステップ1407)。利用者サイトでは、パターンチェック部0105が、サービスセンタからシーケンスパターンを受信し(ステップ1401)、これを利用者サイト側の正常時パターン記憶部に記憶する(ステップ1402)。
【0055】
図13に示した装置構成を一部変更した構成を図15に示す。ほぼ同一の構成だが、利用者サイト側のCT撮影装置0101から、サービスセンタ側のCT撮影装置1301へ、撮影条件を送信する点が異なる。同一のCT撮影部を用いているとしても、撮影目的、撮影方法は利用者ごとに違いがあると考えられる。そこで、利用者ごとの撮影条件の違いを反映した正常時パターンを得るために、利用者サイトからサービスセンタへ撮影条件を送信する。
【0056】
上記の利用者サイトとサービスセンタ間の通信を含んだ特徴分析処理のフローを図16に示す。まず、利用者サイト側から、CT撮影装置0101が、撮影条件をサービスセンタに送信する(ステップ1601)。サービスセンタ側では、CT撮影装置1301がこれを受信し(ステップ1604)、この条件に従ってCT撮影を行う(ステップ1605)。そして、特徴分析部1303は、CT撮影装置1301から撮影終了イベントを受け取ると(ステップ1606)、機器稼動ログをCT撮影装置1301から取得する(1607)。CT撮影装置1301は正常モデルであり、この機器稼働ログは正常時ログであると見なされるので、特徴分析部1303は、その正常時ログをサービスセンタ側の正常時ログ記憶部1302に記憶する(ステップ1608)。
【0057】
そして、特徴分析部1303は、正常時ログを対象に特徴分析処理を行い(ステップ1609)、結果として得られたシーケンスパターンすなわち正常時パターンを利用者サイトへ送信する(ステップ1610)。利用者サイトでは、パターンチェック部0105がサービスセンタからシーケンスパターンを受信し(ステップ1602)、これを利用者サイト側の正常時パターン記憶部0104に記憶する(ステップ1603)。
【0058】
続いて、実施例1および実施例2におけるパターンチェック処理を一部変更したフローチャートを図17に示す。これは、機器稼動ログと正常時パターンの比較のアルゴリズムを表した図10のフローチャートの、ステップ1006〜ステップ1010を、ステップ1701〜ステップ1705に変更したものである。
【0059】
ステップ1701では、パターンチェック部0105は、パターンチェック処理で用いる計算領域を記憶部(例えば、不図示のメモリ)に確保する。その計算領域の例を図18に示す。計算領域は、比較対象である正常時パターンSを格納する領域X、機器稼働ログを格納する領域Yと、2次元のマトリックス領域からなる。領域Xの長さは、正常時パターンSの要素数Lとする。図18の例では、L=4である。領域Yの長さは、Lの2倍とする。マトリックス領域の大きさは、行数がL、列数がLの2倍とする。領域Xには、正常時パターンSの要素を先頭から順に格納する。領域Yには、位置Pからの機器稼動ログを順に格納する。なお、位置Pからの機器稼動ログの末尾までの長さがLの2倍に満たない場合は、領域Yの長さ、およびマトリックス領域の列数は、位置Pから機器稼動ログの末尾までの長さとする。
【0060】
ステップ1702では、パターンチェック部0105は、マトリックス領域に格納する値を計算する。値の計算は、2段階の手順を踏む。計算の第1段階は初期値の設定である。マトリックス領域の第1行第1列に0を設定し、第1行の第2列以降には、1から昇順に整数を設定する。第1列の第2行以降も同様に、1から昇順に整数を設定する。初期値を設定し終わったマトリックス領域を図19に示す。計算の第2段階では、パターンチェック部0105は、マトリックス領域の残りの要素の値を計算する。ここで、第i行第j列の要素の値をa[i,j]とすると、a[i,j]の値は、例えば、以下の規則によって定めることが出来る(ただし、1<i、1<j)。
if (領域Xのi番目の要素 = 領域Yのj番目の要素) then
a[i,j] ← min( a[i-1, j-1], a[i-1, j] +1 , a[i, j-1] +1 )
else
a[i,j] ← min( a[i-1, j] +1 , a[i, j-1] +1 )
endif
このような規則によってパターンチェック部0105が全ての値の計算を終えた場合のマトリックス領域を図20に示す。
【0061】
パターンチェック部0105は、マトリックス領域の値を全て決定したら、マトリックス領域の第L行、すなわち、最下段の行の中での最小値を、正常時パターンSと機器稼動ログの不一致の評価値とする。これをDとする(ステップ1703)。図21では、D=2である。このDの値が0であれば、正常時パターンと機器稼働ログに不一致はない。パターンチェック部0105は、このDの値が0でなければ、不一致があると判定する(ステップ1704)。Dが0でない場合、パターンチェック部0105は、位置Pを不一致箇所とし、Dの値とともに記録する(ステップ1705)。なお、正常時パターンSと機器稼動ログの不一致の評価値として、上記のDの代わりに、Dを正常時パターンの長さLで除した値を用いることも可能である。
【0062】
以上のパターンチェック処理とすることで、不一致の有無だけでなく、不一致の程度を評価することができる。上記で示した計算方法は、2つの文字列の「編集距離」または「レーベンシュタイン距離」として知られている尺度の計算方法の応用である。本来の編集距離の計算方法では、マトリックス領域の最下段の右端の要素の値を編集距離とするが、上記の不一致の評価値の計算方法では、マトリックス領域の最下段の中の最小値を評価値としている点が異なる。
【0063】
なお、上述した機器障害分析装置1000で実行される各種の処理は、実際にはプログラムが実行されることによって、これらの各機能が実現され、そのプログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供することが可能である。
【0064】
また、本実施の形態のプログラムは、上述した各部(パターンチェック部、特徴分析部等)を含むモジュール構成となっており、図2に示したように、実際のハードウェアとしてはCPUが上記記録媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、パターンチェック部、特徴分析部等が主記憶装置上に生成されるようになっている。
【0065】
本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【0066】
以上の実施形態によれば、機器稼動ログの中で、正常時の特徴と不一致のある箇所を使用者に提示することにより、機器稼動ログの中で、障害原因の特定の手掛かりとなる箇所を使用者が短時間で把握することができる。また、機器稼動ログの中で、正常時の特徴と不一致のある箇所を検出することにより、障害が発生しなくても、異常の兆候を検出することができる。
【符号の説明】
【0067】
1000 機器障害分析装置
0101 CT撮影装置
0102 機器稼動ログ記憶部
0103 初期正常時パターン
0104 正常時パターン記憶部
0105 パターンチェック部
0106 正常時ログ記憶部
0107 特徴分析部
0108 異常情報出力部
0109 異常時ログ記憶部
1101 サービスセンタ側の正常時ログ記憶部
1102 サービスセンタ側の特徴分析部
1103 サービスセンタ側の正常時パターン記憶部
1301 サービスセンタ側のCT撮影装置。

【特許請求の範囲】
【請求項1】
機器の稼動ログを分析して障害検知または障害原因分析を行う機器障害分析装置であって、
前記機器の稼働時におけるイベントを含む機器稼動ログを記憶する機器稼動ログ記憶部と、
前記機器の正常稼動時におけるイベントを含む正常時ログを記憶する正常時ログ記憶部と、
前記正常時ログの特徴を示すパターン情報を含む正常時パターンを記憶する正常時パターン記憶部と、
前記機器稼動ログに含まれる前記イベントの順列と前記正常時パターンに含まれる前記パターン情報の順列とを比較することにより、前記機器稼動ログと前記正常時パターンとの不一致箇所を特定し、特定した前記不一致箇所に基づいて、前記機器稼動ログと前記正常時パターンとの不一致の程度が所定のしきい値を超えているか否かを判定するパターンチェック部と、
前記パターンチェック部が、前記不一致の程度が所定のしきい値を超えていないと判定した場合に、前記機器稼動ログを前記正常時ログに追加し、前記正常時ログから前記正常時パターンを抽出し、抽出した前記正常時パターンを前記正常時パターン記憶部に記憶させる特徴抽出部と、
を備えることを特徴とする機器障害分析装置。
【請求項2】
請求項1に記載の機器障害分析装置であって、
前記機器の異常稼動時におけるイベントを含む異常時ログを記憶する異常時ログ記憶部をさらに備え、
前記パターンチェック部は、前記不一致の程度が所定のしきい値を超えていると判定した場合に、特定した前記不一致箇所の位置を示す位置情報と前記機器稼動ログとを前記異常時ログ記憶部に記憶させることを特徴とする機器障害分析装置。
【請求項3】
請求項1または2に記載の機器障害分析装置であって、
前記パターンチェック部は、前記機器稼動ログと前記正常時パターンとの不一致の程度が所定のしきい値を超えていないと判定した場合において、既に前記機器稼動ログと同一の正常時ログが前記正常時ログに記憶されているか否かを判定し、既に前記機器稼動ログと同一の正常時ログが前記正常時ログに記憶されていると判定した場合、前記特徴抽出部によって前記正常時パターンが前記同一の正常時ログから抽出された回数を示す頻度情報を更新することを特徴とする機器障害分析装置。
【請求項4】
請求項1〜3のいずれか1項に記載の機器障害分析装置であって、
前記パターンチェック部は、前記機器の稼働中に障害が発生した場合は、前記機器の動作開始から障害発生までの前記イベントを前記機器から取得することを特徴とする機器障害分析装置。
【請求項5】
請求項1〜4のいずれか1項に記載の機器障害分析装置であって、
前記パターンチェック部は、前記機器の稼働中に障害が発生しなかった場合は、機器の動作開始から動作終了までの前記イベントを前記機器から取得することを特徴とする機器障害分析装置。
【請求項6】
請求項1〜5のいずれか1項に記載の機器障害分析装置であって、
前記機器障害分析装置の利用者が、前記障害検知または障害原因分析に関する情報を確認するための画面表示部を有し、
前記パターンチェック部は、前記画面表示部に、前記機器稼動ログと、前記正常時パターンとを並べて表示させ、前記機器稼動ログと、前記正常時パターンとの不一致箇所を示す情報を表示させることを特徴とする機器障害分析装置。
【請求項7】
請求項1〜6のいずれか1項に記載の機器障害分析装置であって、
前記正常時パターンに含まれる前記パターン情報は前記機器の正常稼動時におけるイベントから構成され、
前記パターンチェック部は、前記パターン情報の最初のイベントと同一のイベントを前記機器稼動ログの中から特定し、特定した前記イベントの後に続くイベントの順列が、前記パターン情報の最初のイベントの後に続くイベントの順列と一致しない場合に、両者のイベントの順列が一致していない位置を前記異常時ログに記録することを特徴とする機器障害分析装置。
【請求項8】
請求項1〜7のいずれか1項に記載の機器障害分析装置であって、
前記特徴分析部は、前記正常時ログに含まれる前記イベントごとに、前記正常時ログにおける出現位置を特定し、特定した前記出現位置が複数ある場合において、一の前記出現位置に出現した前記イベントに続くイベントと、他の前記出現位置に出現した前記イベントに続くイベントとが同一であるか否かを判定し、一の前記出現位置に出現した前記イベントに続くイベントと、他の前記出現位置に出現した前記イベントに続くイベントとが同一であると判定する限りにおいて、前記イベントに続くイベントを前記パターン情報に追加することを特徴とする機器障害分析装置。
【請求項9】
請求項1〜8のいずれか1項に記載の機器障害分析装置であって、
前記パターンチェック部は、特定した前記不一致箇所に基づいて前記機器稼動ログと前記正常時パターンとの不一致の程度を、文字列の編集距離に基づいて算出することを特徴とする機器障害分析装置。
【請求項10】
機器の稼動ログを分析して障害検知または障害原因分析を行う機器障害分析装置において行われる機器障害分析方法であって、
前記機器の稼動時におけるイベントを含む機器稼動ログに含まれる前記イベントの順列と前記機器の正常稼動時におけるイベントを含む正常時ログの特徴を示すパターン情報を含む正常時パターンに含まれる前記パターン情報の順列とを比較することにより、前記機器稼動ログと前記正常時パターンとの不一致箇所を特定する特定ステップと、
前記特定ステップにおいて特定された前記不一致箇所に基づいて、前記機器稼動ログと前記正常時パターンとの不一致の程度が所定のしきい値を超えているか否かを判定するパターンチェックステップと、
前記パターンチェックステップにおいて、前記不一致の程度が所定のしきい値を超えていないと判定した場合に、前記機器稼動ログを前記正常時ログに追加し、前記正常時ログから前記正常時パターンを抽出し、抽出した前記正常時パターンを正常時パターン記憶部に記憶させる特徴抽出ステップと、
を含むことを特徴とする機器障害分析方法。
【請求項11】
コンピュータに、
機器の稼動時におけるイベントを含む機器稼動ログに含まれる前記イベントの順列と前記機器の正常稼動時におけるイベントを含む正常時ログの特徴を示すパターン情報を含む正常時パターンに含まれる前記パターン情報の順列とを比較することにより、前記機器稼動ログと前記正常時パターンとの不一致箇所を特定する特定ステップと、
前記特定ステップにおいて特定された前記不一致箇所に基づいて、前記機器稼動ログと前記正常時パターンとの不一致の程度が所定のしきい値を超えているか否かを判定するパターンチェックステップと、
前記パターンチェックステップにおいて、前記不一致の程度が所定のしきい値を超えていないと判定した場合に、前記機器稼動ログを前記正常時ログに追加し、前記正常時ログから前記正常時パターンを抽出し、抽出した前記正常時パターンを正常時パターン記憶部に記憶させる特徴抽出ステップと、
を実行させることを特徴とする機器障害分析プログラム。
【請求項12】
請求項11に記載の機器障害分析プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−94046(P2012−94046A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−242198(P2010−242198)
【出願日】平成22年10月28日(2010.10.28)
【出願人】(000153498)株式会社日立メディコ (1,613)
【Fターム(参考)】