JP5741418B2 - 障害検出方法および障害検出システム - Google Patents

障害検出方法および障害検出システム Download PDF

Info

Publication number
JP5741418B2
JP5741418B2 JP2011276892A JP2011276892A JP5741418B2 JP 5741418 B2 JP5741418 B2 JP 5741418B2 JP 2011276892 A JP2011276892 A JP 2011276892A JP 2011276892 A JP2011276892 A JP 2011276892A JP 5741418 B2 JP5741418 B2 JP 5741418B2
Authority
JP
Japan
Prior art keywords
failure
message
candidate
pattern
information
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
JP2011276892A
Other languages
English (en)
Other versions
JP2013127693A (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 JP2011276892A priority Critical patent/JP5741418B2/ja
Priority to US13/687,579 priority patent/US9141452B2/en
Publication of JP2013127693A publication Critical patent/JP2013127693A/ja
Application granted granted Critical
Publication of JP5741418B2 publication Critical patent/JP5741418B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Description

本件は障害検出方法および障害検出システムに関する。
現在、複数の情報処理装置がネットワークを介して接続された情報処理システムが利用されている。情報処理システムでは、当該システムに含まれる装置上のハードウェアやソフトウェアの稼働監視が行われることがある。稼働監視を行うことで、何れかの装置で発生した障害を早期に検出し対処できる。
障害の検出には種々の方法が考えられている。例えば、情報処理装置が出力する複数の種類のメッセージから特定のパターンを検出し、当該パターンに応じた障害を検出する。具体的には、正常なメッセージのパターンと異なるパターンを検出したり、異常なメッセージのパターンを検出したりする方法がある。
前者の方法では、分散システムにおいて、分散システムが正常に運用された場合に生成されるメッセージのパターンと異なるメッセージを異常と検出することで、大量のメッセージから対処を要する異常を正確に検出する提案がある。
後者の方法では、情報処理システム内の構成要素間の関連度を考慮して、各構成要素が出力したログメッセージに基づき障害パターンメッセージを生成する提案がある。
また、システム障害を判定するための判定ルールを複数(完全一致判定用および部分一致判定用)用意しておき、完全一致判定用の条件が完全に成立しない場合にも、部分一致判定用の条件を用いて、障害原因候補を一覧表示する提案もある。
更に、計算機システムのハードウェアなどに対する診断方法において、一連の診断処理を幾つかの処理に分割し、分割した各処理を独立して行う複数の診断モジュールを用いて診断を行う提案もある。
特開2006−318071号公報 特開2011−170802号公報 特開2010−182044号公報 特開平9−22368号公報
ところで、情報処理システムが大規模化して監視対象の装置が増大すると、障害検出のために解析すべきメッセージ量も増大し得る。そこで、障害検出を高速に行うため、検出のための処理を複数のノードを用いて分散化することが考えられる。この場合、分散処理の仕組みをどのように実現するかが問題となる。
例えば、ある障害を示すパターン(障害パターン)に何れかのノードを対応付け、そのノードが当該障害パターンに含まれる全ての種類のメッセージを収集することが考えられる。しかし、あるノードが担当する障害パターンおよび他のノードが担当する他の障害パターンに、同一の種類のメッセージが含まれることがある。その場合、当該同一の種類のメッセージが複製されて、複数のノードで重複して収集される。すると、情報処理装置と各ノードとを接続するネットワークを流れるメッセージのデータ量が増え、当該ネットワークの負荷が増大するおそれがある。
一側面では、本発明は、ネットワークの負荷の増大を抑制して処理を分散できるようにした障害検出方法および障害検出システムを提供することを目的とする。
一実施態様では、複数のノードを備えており情報処理装置が出力する複数の種類のメッセージに基づいて情報処理装置の障害を検出するシステムが実行する障害検出方法が提供される。この障害検出方法では、複数の種類の一部である第1の集合に属する種類のメッセージを第1のノードに収集し、複数の種類の一部である第1の集合とは異なる第2の集合に属する種類のメッセージを第2のノードに収集する。第1のノードに収集された第1の集合に属する種類のメッセージに基づいて第1の障害候補の情報を生成し、また、第2のノードに収集された第2の集合に属する種類のメッセージに基づいて第2の障害候補の情報を生成する。第1の障害候補の情報と第2の障害候補の情報との組み合わせに基づいて情報処理装置の障害を検出する。
また、一実施態様では、情報処理装置が出力する複数の種類のメッセージに基づいて情報処理装置の障害を検出する障害検出システムが提供される。この障害検出システムは、第1のノードと第2のノードと第3のノードとを有する。第1のノードは、複数の種類の一部である第1の集合に属する種類のメッセージを収集し、収集した第1の集合に属する種類のメッセージに基づいて第1の障害候補の情報を生成する。第2のノードは、複数の種類の一部である第1の集合とは異なる第2の集合に属する種類のメッセージを収集し、収集した第2の集合に属する種類のメッセージに基づいて第2の障害候補の情報を生成する。第3のノードは、第1の障害候補の情報と第2の障害候補の情報との組み合わせに基づいて、情報処理装置の障害を検出する、または、第1の障害候補の情報と第2の障害候補の情報とを集約した第3の障害候補の情報を生成する。
一実施態様によれば、ネットワークの負荷の増大を抑制して処理を分散できる。
第1の実施の形態の情報処理システムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 第2の実施の形態の前段検出サーバのハードウェア例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態のメッセージ辞書の例を示す図である。 第2の実施の形態の配布表の例を示す図である。 第2の実施の形態の候補パターンテーブルの例を示す図である。 第2の実施の形態の合成パターンテーブルの例を示す図である。 第2の実施の形態のメッセージデータの例を示す図である。 第2の実施の形態の候補パターン通知データの例を示す図である。 第2の実施の形態のメッセージ配布の例を示すフローチャートである。 第2の実施の形態の候補パターン検出の例を示すフローチャートである。 第2の実施の形態の障害検出の例を示すフローチャートである。 第2の実施の形態の障害検出の第1の例を示す図である。 第2の実施の形態の障害検出の第2の例を示す図である。 第2の実施の形態の障害検出の第3の例を示す図である。 第2の実施の形態のテーブルの更新例を示す図である。 メッセージ配布の第1の他の例を示す図である。 メッセージ配布の第2の他の例を示す図である。 第3の実施の形態のメッセージ配布の例を示すフローチャートである。 第4の実施の形態のソフトウェア例を示す図である。 第4の実施の形態の分割前パターンテーブルの例を示す図である。 第4の実施の形態のメッセージ頻度テーブルの例を示す図である。 第4の実施の形態の配布表更新の例を示すフローチャートである。 第5の実施の形態のソフトウェア例を示す図である。 第5の実施の形態の候補パターンテーブル(前段)の例を示す図である。 第5の実施の形態の候補パターンテーブル(中段)の例を示す図である。 第5の実施の形態の候補パターン通知データの例を示す図である。 第5の実施の形態の候補パターン検出の例を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、情報処理装置1およびノード2,2a,3を含む。第1の実施の形態の情報処理システムは、情報処理装置1が出力する複数の種類のメッセージに基づいて情報処理装置1の障害を検出する。情報処理装置1およびノード2,2a,3は、ネットワークで接続されている。
情報処理装置1は、複数の種類のメッセージを出力する。複数の種類のメッセージとは、例えば情報処理装置1上のハードウェアやソフトウェアのログに関するメッセージである。例えば、情報処理装置1はメッセージM1,M2,M3を出力する。メッセージM1は、種類Aのメッセージである。メッセージM2は、種類Bのメッセージである。メッセージM3は、種類Dのメッセージである。情報処理装置1が出力し得るメッセージの種類の集合{A,B,C,D,E・・・}を集合Xとする。
ノード2は、複数の種類(集合X)の一部である集合X1に属する種類のメッセージを収集する。例えば、集合X1にはメッセージの種類A,B,Cが属する。情報処理装置1がメッセージM1,M2,M3を出力した場合、ノード2は、情報処理装置1からメッセージM1,M2を収集する。
ノード2は、収集した集合X1に属する種類のメッセージに基づいて障害候補の情報を生成する。障害候補の情報とは、情報処理装置1における障害の発生を示唆する情報である。例えば、障害原因を示すメッセージの種類の集合(障害パターン)の一部(部分パターン)を検出した旨を示す情報である。
より具体的には、障害番号#1で示される障害に対して障害パターン{A,B,D}が、障害番号#2で示される障害に対して障害パターン{A,E}が対応している。例えば、障害番号#1に部分パターン{A,B}を、障害番号#2に部分パターン{A}を対応付けた情報をノード2に格納しておく。ノード2が収集したメッセージM1,M2の種類の組み合わせは{A,B}であり、部分パターン{A,B}に一致し、部分パターン{A}を含む。したがって、ノード2は、障害番号#1に関する障害候補の情報Y1と、障害番号#2に関する障害候補の情報Y2と、を生成する。なお、部分パターンの検出は完全一致による検出でもよいし、部分一致による検出でもよい。ここでは、部分一致による場合を例示しており、収集したメッセージの種類の集合{A,B}に対して障害番号#2の部分パターン{B}も検出している。完全一致とする場合は当該障害番号#2の部分パターンは未検出となる。
ノード2aは、複数の種類(集合X)の一部である集合X1とは異なる集合X2に属する種類のメッセージを収集する。ここで、集合X1,X2が異なるとは、例えば、集合X1,X2に要素の重複がない(排他的である)ことを示す。例えば、集合X2にはメッセージの種類D,Eが属する。情報処理装置1がメッセージM1,M2,M3を出力した場合、ノード2aは、情報処理装置1からメッセージM3を収集する。
ノード2aは、収集した集合X2に属する種類のメッセージに基づいて障害候補の情報を生成する。ノード2aは、ノード2と同様にして障害候補の情報を生成する。
例えば、障害番号#1に部分パターン{D}を、障害番号#2に部分パターン{E}を対応付けた情報をノード2aに格納しておく。ノード2aが収集したメッセージM3の種類の組み合わせは{D}であり、部分パターン{D}に一致する。したがって、ノード2aは、障害番号#1に関する障害候補の情報Y3を生成する。
ノード3は、ノード2が生成した障害候補の情報とノード2aが生成した障害候補の情報との組み合わせに基づいて、情報処理装置1の障害を検出する。または、ノード3は、ノード2が生成した障害候補の情報とノード2aが生成した障害候補の情報とを集約した障害候補の情報Zを生成する。障害候補の情報Zは、例えば他のノードにより別の障害候補の情報と組み合わせられて、障害の検出または障害候補の情報の絞り込みに用いられる。
ここで、例えばノード2,2aの両方で障害番号#1に関する障害候補の情報Y1,Y3が生成されている。ノード3は、障害候補の情報Y1,Y3の組み合わせにより、情報処理装置1の障害番号#1の障害を検出する。一方、ノード2では障害番号#2に関する障害候補の情報Y2が生成されているが、ノード2aでは障害番号#2に関する障害候補の情報が生成されていない。このため、ノード3は障害番号#2の障害は検出しない。
また、例えば、障害番号#1に対する障害パターンが、{A,B,D,F,G,・・・}のようにA,B,D以外の種類を含む場合もある。その場合、ノード3は障害候補の情報Y1,Y3を集約して障害番号#1に関する障害候補の情報Zを生成してもよい。そして、更に後段のノードで種類F,Gのメッセージの検出結果を示す障害候補の情報などと組み合わせて障害番号#1の障害を検出してもよい。例えば、障害番号#1に対して障害候補の情報Y1,Y3の組み合わせを登録した情報をノード3に格納しておけば、ノード3は当該情報に基づいて障害候補の情報Zを生成できる。このように、ノード3は障害候補の情報Y1,Y3を障害候補の情報Zに絞り込むこともできる。
第1の実施の形態の情報処理システムによれば、ノード2により、集合X1に属する種類A,BのメッセージM1,M2が収集され、収集されたメッセージM1,M2に基づいて障害候補の情報Y1,Y2が生成される。また、ノード2aにより、集合X2に属する種類DのメッセージM3が収集され、収集されたメッセージM3に基づいて障害候補の情報Y3が生成される。ノード3により、障害候補の情報Y1,Y3の組み合わせに基づいて、情報処理装置1の障害が検出される、または、障害候補の情報Y1,Y3を集約した障害候補の情報Zが生成される。
これにより、ネットワークの負荷の増大を抑制して処理を分散できる。具体的には、同一の種類のメッセージを前段のノード2,2aの何れかで収集する(例えば、集合X1と集合X2とは要素の重複がない)。前段のノード2,2aでは自身が担当するメッセージにより障害候補の検出のみを行い、後段のノード3では前段で検出された障害候補を組み合わせて障害を検出する。ここで、障害検出の処理を分散させる場合、ある障害パターンにノードを対応付け、当該障害パターンに含まれる全てのメッセージの収集をそのノードに担当させることも考えられる。この場合、異なる障害パターンに同一種類のメッセージが含まれると、メッセージを複製して複数のノードで重複して収集することになる。すると、情報処理装置とノードとの間のネットワークの負荷が高まるおそれがあり、非効率的となる。
これに対し、第1の実施の形態の情報処理システムでは、同一種類のメッセージを異なるノードで重複して収集せずに済む。よって、メッセージを複製して収集する場合に比べて情報処理装置1とノード2,2aとの間のネットワークに流すメッセージの数やデータ量を低減でき、当該ネットワークの負荷の増大を抑制できる。また、障害候補を段階的に絞り込むようにすれば、各ノードが担当する処理負担を軽減できる。よって、障害検出のための処理を効率的に分散できる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムでは、複数のサーバ装置(以下、サーバということがある)が提供するサービスの稼働監視が行われる。そのために、複数のサーバ装置のハードウェアやソフトウェアのログに関するメッセージを取得し、当該メッセージに基づく障害を検出する。
第2の実施の形態の情報処理システムは、監視対象サーバ100,100a,100b、前段検出サーバ200,200a,後段検出サーバ300および管理端末装置400を含む。前段検出サーバ200,200a,後段検出サーバ300および管理端末装置400は、ネットワーク10に接続されている。ネットワーク10は、例えばLAN(Local Area Network)である。監視対象サーバ100,100a,100bは、ネットワーク20に接続されている。ネットワーク20は、例えばLANである。ネットワーク10,20は、中継装置30で接続されている。中継装置30は、ネットワーク10,20間の通信を中継するスイッチまたはルータ等である。
監視対象サーバ100,100a,100bは、互いに連携して所定のサービスを実行するサーバコンピュータである。例えば、当該サービスはWebサービスである。その場合、例えば、監視対象サーバ100は、ネットワーク20に接続されたクライアント装置(図示を省略)のブラウザにGUI(Graphical User Interface)を提供するWebサーバである。例えば、監視対象サーバ100aは、Webサーバで入力された要求に基づく処理を実行するAP(APplication)サーバである。例えば、監視対象サーバ100bは、APサーバの要求に基づいてデータベースの参照・更新を行うDB(DataBase)サーバである。
監視対象サーバ100,100a,100bは、各サーバ上のハードウェアやソフトウェアに関するログを出力する。
前段検出サーバ200,200aは、監視対象サーバ100,100a,100bが出力したメッセージの情報を収集するサーバコンピュータである。前段検出サーバ200,200aは、収集したメッセージの情報から障害候補のパターンを検出し、障害候補の情報を生成する。
後段検出サーバ300は、監視対象サーバ100,100a,100bの障害を検出するサーバコンピュータである。後段検出サーバ300は、前段検出サーバ200,200aが生成した障害候補の情報を取得し、障害候補の情報の組み合わせに基づいて監視対象サーバ100,100a,100bの障害を検出する。後段検出サーバ300は、検出した障害を管理端末装置400に通知する。
管理端末装置400は、第2の実施の形態の情報処理システムの管理者が利用するクライアントコンピュータである。管理端末装置400は、後段検出サーバ300から通知された障害の内容を管理者に提示する。また、管理端末装置400は、メッセージの解析を行いたい時間範囲を前段検出サーバ200,200aおよび後段検出サーバ300に入力することもできる。以下では、当該時間範囲をタイムウィンドウと呼ぶことがある。
図3は、第2の実施の形態の前段検出サーバのハードウェア例を示す図である。前段検出サーバ200は、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、HDD(Hard Disk Drive)203、画像信号処理部204、入力信号処理部205、ディスクドライブ206および通信部207を有する。各ユニットが前段検出サーバ200のバスに接続されている。監視対象サーバ100,100a,100b、前段検出サーバ200a、後段検出サーバ300および管理端末装置400も前段検出サーバ200と同様のハードウェアを用いて実装できる。
CPU201は、前段検出サーバ200の情報処理を制御するプロセッサである。CPU201は、HDD203に記憶されているプログラムやデータの少なくとも一部を読み出し、RAM202に展開してプログラムを実行する。なお、前段検出サーバ200は、複数のプロセッサを設けて、プログラムを分散して実行してもよい。
RAM202は、CPU201が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。なお、前段検出サーバ200は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えていてもよい。
HDD203は、OS(Operating System)プログラムやアプリケーションプログラムなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。HDD203は、CPU201の命令に従って、内蔵の磁気ディスクに対してデータの読み書きを行う。なお、前段検出サーバ200は、HDD以外の種類の不揮発性の記憶装置(例えば、SSD(Solid State Drive)など)を備えてもよく、複数の記憶装置を備えていてもよい。
画像信号処理部204は、CPU201の命令に従って、前段検出サーバ200に接続されたディスプレイ21に画像を出力する。ディスプレイ21としては、例えば、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイを用いることができる。
入力信号処理部205は、前段検出サーバ200に接続された入力デバイス22から入力信号を取得し、CPU201に出力する。入力デバイス22としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ206は、記録媒体23に記録されたプログラムやデータを読み取る駆動装置である。記録媒体23として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ206は、例えば、CPU201の命令に従って、記録媒体23から読み取ったプログラムやデータをRAM202またはHDD203に格納する。
通信部207は、ネットワーク10を介して監視対象サーバ100,100a,100b、後段検出サーバ300および管理端末装置400と通信を行う通信インタフェースである。通信部207は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図4は、第2の実施の形態のソフトウェア例を示す図である。図4に示すユニットの一部または全部は、監視対象サーバ100,100a,100b、前段検出サーバ200,200aおよび後段検出サーバ300が実行するプログラムのモジュールであってもよい。また、図4に示すユニットの一部または全部は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの電子回路であってもよい。監視対象サーバ100a,100bも監視対象サーバ100と同様のユニットを用いて実装できる。前段検出サーバ200aも前段検出サーバ200と同様のユニットを用いて実装できる。
監視対象サーバ100は、ログ記憶部110、辞書記憶部120、配布表記憶部130、メッセージ変換部140およびメッセージ送信部150を有する。
ログ記憶部110は、監視対象サーバ100上のハードウェアや監視対象サーバ100が実行するソフトウェアのログを記憶する。ログは、当該ソフトウェアなど(ハードウェアのドライバプログラムやアプリケーションプログラム)が生成して出力するものである。例えば、ログは発生したイベントの内容を記述したテキストの情報(メッセージテキストと呼ぶことがある)を含む。メッセージテキストは、イベントが発生した時間を示すタイムスタンプを含む。
辞書記憶部120は、メッセージ辞書を記憶する。メッセージ辞書は、メッセージテキストをメッセージ番号に変換するためのテーブルである。
配布表記憶部130は、配布表を記憶する。配布表は、メッセージ番号に対応付けて、メッセージ番号の情報の送信先を登録したテーブルである。
メッセージ変換部140は、辞書記憶部120に記憶されたメッセージ辞書に基づいて、ログ記憶部110に記憶されたログ内のメッセージテキストをメッセージ番号に変換する。メッセージ変換部140は、メッセージ番号の情報をメッセージ送信部150に出力する。メッセージ番号の情報は、メッセージテキストに含まれていたタイムスタンプを含む。
メッセージ送信部150は、配布表記憶部130に記憶された配布表に基づいて、メッセージ変換部140から取得したメッセージ番号の情報を前段検出サーバ200,200aの何れかに送信する。以下では、メッセージ送信部150が前段検出サーバ200,200aに送信するメッセージ番号の情報をメッセージデータと呼ぶことがある。メッセージデータで示されるメッセージ番号が、当該メッセージデータの種類を示す。
前段検出サーバ200は、記憶部210および候補検出部220を有する。
記憶部210は、候補パターンテーブルを記憶する。候補パターンテーブルは、候補パターンを登録したテーブルである。候補パターンとは、障害候補のメッセージ番号の所定の集合である。また、記憶部210は、メッセージデータを記憶する。
候補検出部220は、監視対象サーバ100,100a,100bから受信したメッセージデータを記憶部210に格納する。
候補検出部220は、記憶部210に記憶された候補パターンテーブルに基づいて、監視対象サーバ100,100a,100bから通知されたメッセージ番号の集合から候補パターンを検出する。候補検出部220は、検出した候補パターンの情報を後段検出サーバ300に送信する。以下では、候補検出部220が後段検出サーバ300に送信する候補パターンの情報を候補パターン通知データと呼ぶことがある。
後段検出サーバ300は、記憶部310および候補合成部320を有する。
記憶部310は、合成パターンテーブルを記憶する。合成パターンテーブルは、合成パターンと当該合成パターンに対応する障害の内容を登録したテーブルである。ここで、合成パターンとは、候補パターンの所定の組み合わせである。また、記憶部310は、候補パターン通知データを記憶する。
候補合成部320は、前段検出サーバ200,200aから受信した候補パターン通知データを記憶部310に格納する。
候補合成部320は、記憶部310に記憶された合成パターンテーブルに基づいて、前段検出サーバ200,200aから通知された候補パターンの集合から合成パターンを検出する。候補合成部320は、検出した合成パターンに対応する障害の情報を管理端末装置400に送信する。
図5は、第2の実施の形態のメッセージ辞書の例を示す図である。メッセージ辞書121は、辞書記憶部120に格納される。メッセージ辞書121は、メッセージテキストおよびメッセージ番号の項目を含む。
メッセージテキストの項目には、メッセージテキストに含まれる文字列が登録される。メッセージ番号の項目には、メッセージ番号が登録される。例えば、メッセージテキスト“Web Down”に対してメッセージ番号“2”が登録される。
図6は、第2の実施の形態の配布表の例を示す図である。配布表131は、配布表記憶部130に格納される。配布表131は、メッセージ番号およびサーバ番号の項目を含む。
メッセージ番号の項目には、メッセージ番号が登録される。サーバ番号の項目には、配布先のサーバのサーバ番号が1つ登録される。サーバ番号は、配布先のサーバの識別情報である。ここで、サーバ番号“1”は、前段検出サーバ200を示すとする。サーバ番号“2”は、前段検出サーバ200aを示すとする。例えば、配布表131にはメッセージ番号“2”に対してサーバ番号“2”が登録される。これは、メッセージ番号“2”に関するメッセージデータを、前段検出サーバ200aに送信することを示す。
なお、登録されていないメッセージ番号“1”は収集の対象外であり、メッセージ送信部150はメッセージ番号“1”のメッセージデータを送信しない。メッセージ送信部150は、例えば、メッセージ変換部140から取得したメッセージ番号“1”の情報を破棄する。
図7は、第2の実施の形態の候補パターンテーブルの例を示す図である。図7(A)は前段検出サーバ200が保持する候補パターンテーブル211の例を示している。候補パターンテーブル211は、記憶部210に格納される。候補パターンテーブル211は、障害番号、関連メッセージ番号、枝番号および候補パターンの項目を含む。
障害番号の項目には、障害番号が登録される。障害番号は、障害の内容を識別するための番号である。関連メッセージ番号の項目には、当該障害番号に対応する障害に関連する(当該障害の候補となり得る)メッセージ番号が登録される。枝番号の項目には、枝番号が登録される。枝番号は、障害を検出するための複数のパターンを識別するための番号である。候補パターンの項目には、候補パターンが登録される。候補パターンは、メッセージ番号の集合であり、要素の順序(例えば、時系列)は問わない。
例えば、障害番号“1”という障害に関連するメッセージ番号として“3,5,7”が登録される。更に、障害番号“1”の障害を検出し得るパターンが3つ存在し、それらが枝番号“1−1”、“1−2”、“1−3”で識別される。枝番号“1−1”には候補パターンの設定はない(設定なしを示す“−”(ハイフン)が対応付けられている)。枝番号“1−2”には候補パターン“3,5”が対応付けられている。枝番号“1−3”には候補パターン“7”が対応付けられている。
図7(B)は前段検出サーバ200aが保持する候補パターンテーブル211aの例を示している。候補パターンテーブル211aは、前段検出サーバ200aの所定の記憶部に格納される。候補パターンテーブル211aのデータ構造は、候補パターンテーブル211のデータ構造と同様である。
例えば、障害番号“1”という障害に関連するメッセージ番号として“2,4,6”が登録される。障害番号“1”の障害を検出し得るパターンが枝番号“1−1”、“1−2”、“1−3”で識別される点は、候補パターンテーブル211と同様である。一方で、候補パターンテーブル211aでは、枝番号“1−1”には候補パターン“2,4,6”が対応付けられている。枝番号“1−2”には候補パターン“2,6”が対応付けられている。枝番号“1−3”には候補パターン“2,4,6”が対応付けられている。
図8は、第2の実施の形態の合成パターンテーブルの例を示す図である。合成パターンテーブル311は、記憶部310に格納される。合成パターンテーブル311は、障害番号、枝番号、合成パターンおよび障害内容の項目を含む。
障害番号の項目には、障害番号が登録される。枝番号の項目には、枝番号が登録される。合成パターンの項目には、合成パターンが登録される。合成パターンは、候補パターンの組み合わせであり、各候補パターンの順序(例えば、時系列)は問わない。障害内容の項目には、システムの障害の内容が登録される。
例えば、障害番号“1”の枝番号“1−1”の合成パターンが“2:1−1”である。ここで、“2:1−1”の表記は、“:”(コロン)の前の数字(ここでは、“2”)の部分が前段検出サーバのサーバ番号(ここでは、前段検出サーバ200a)を示す。また、“:”の後の文字(ここでは“1−1”)は前段検出サーバで検出された候補パターンに対応する枝番号を示す。すなわち、“2:1−1”の表記は、前段検出サーバ200aで検出された枝番号“1−1”の候補パターンを示す。
よって、合成パターン“2:1−1”は、枝番号“1−1”の候補パターンの情報を前段検出サーバ200aから取得したときに検出し得る。
また、例えば、障害番号“1”の枝番号“1−2”の合成パターンが“1:1−2,2:1−2”である。この合成パターンは、枝番号“1−2”の候補パターンの情報を前段検出サーバ200から取得し、かつ、枝番号“1−3”の候補パターンの情報を前段検出サーバ200aから取得したときに検出し得る。
また、例えば、合成パターンテーブル311には、障害番号“1”に対して障害内容“WebサービスXXX 利用不可”が登録される。これは、障害番号“1”の3つの枝番号の候補パターンの何れかを検出したときに“WebサービスXXX 利用不可”の障害を検出して、管理端末装置400に通知することを示す。
図9は、第2の実施の形態のメッセージデータの例を示す図である。メッセージデータ600は、メッセージ送信部150により前段検出サーバ200,200aの何れかに送信されるデータである。メッセージデータ600は、日時およびメッセージ番号の項目を含む。
日時の項目には、メッセージに関するイベントが発生した時間を示すタイムスタンプ(例えば、年月日時分秒)の情報が設定される。メッセージ番号の項目には、メッセージ番号が設定される。
メッセージデータ600a,600b,600c,600dは、実際の値が設定された場合を例示している。
メッセージデータ600aは、日時が“2011/7/25 10:58:30”(2011年7月25日10時58分30秒)、メッセージ番号が“3”である。
メッセージデータ600bは、日時が“2011/7/25 10:58:32”、メッセージ番号が“2”である。
メッセージデータ600cは、日時が“2011/7/25 10:58:33”、メッセージ番号が“6”である。
メッセージデータ600dは、日時が“2011/7/25 10:58:34”、メッセージ番号が“5”である。
ここで、配布表131によれば、メッセージ番号“3”、“5”に関するメッセージデータ600a,600dは、前段検出サーバ200(サーバ番号“1”)に送信される。また、配布表131によれば、メッセージ番号“2”、“6”に関するメッセージデータ600b,600cは、前段検出サーバ200a(サーバ番号“2”)に送信される。
図10は、第2の実施の形態の候補パターン通知データの例を示す図である。候補パターン通知データ700は、候補検出部220により後段検出サーバ300に送信されるデータである。候補パターン通知データ700は、サーバ番号、始めの時間、終わりの時間および枝番号の項目を含む。
サーバ番号の項目には、候補パターンを検出した前段検出サーバのサーバ番号が設定される。始めの時間の項目には、候補パターンとして検出されたメッセージ番号の時間のうち、最も早い時間が設定される。終わりの時間の項目には、候補パターンとして検出されたメッセージ番号の時間のうち、最も遅い時間が設定される。なお、候補パターンの要素となるメッセージ番号が1つの場合、始めの時間および終わりの時間は同一の時間が設定される。枝番号の項目には、検出した候補パターンに対応する枝番号が設定される。
候補パターン通知データ700a,700b,700cは、実際の値が設定された場合を例示している。
候補パターン通知データ700aは、サーバ番号が“1”、始めの時間が“2011/7/25 10:58:30”、終わりの時間が“2011/7/25 10:58:34”、枝番号が“1−2”である。候補パターン通知データ700aは、メッセージデータ600a,600dに基づいて、候補検出部220により生成され、後段検出サーバ300に送信される。
候補パターン通知データ700bは、サーバ番号が“2”、始めの時間が“2011/7/25 10:58:32”、終わりの時間が“2011/7/25 10:58:33”、枝番号が“1−2”である。候補パターン通知データ700bは、メッセージデータ600b,600cに基づいて、前段検出サーバ200aの候補検出部により生成され、後段検出サーバ300に送信される。
候補パターン通知データ700cは、サーバ番号が“1”、始めの時間が設定なしを示す“−”(ハイフン)、終わりの時間が設定なしを示す“−”(ハイフン)、枝番号が“¬1”(否定記号と数字“1”の結合)である。ここで、候補パターン通知データ700cは、否定パターンを通知するためのデータである。否定パターンは、ある障害に対する全枝番号の否定を示す。否定記号とともに設定される数字は障害番号である。候補パターン通知データ700cは、候補検出部220が障害番号“1”に対応する関連メッセージの一部を含むが、全ての枝番号の候補パターンを検出できなかった場合に、当該候補検出部220により生成され、後段検出サーバ300に送信される。否定パターンは、対応する候補パターンが検出できなかった場合に生成されるので、候補パターン通知データの始めの時間および終わりの時間の項目は設定なしとなる。
次に、第2の実施の形態の情報処理システムの処理手順を説明する。
図11は、第2の実施の形態のメッセージ配布の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。なお、監視対象サーバ100a,100bも監視対象サーバ100と同様の処理手順である。
(ステップS11)メッセージ変換部140は、ログ記憶部110に記憶されたログからメッセージテキストを取得する。例えば、ログには1つのメッセージテキストが所定のコード(例えば、改行コード)で区切られている。メッセージ変換部140は当該コードにより個々のメッセージテキストを区別して取得できる。
(ステップS12)メッセージ変換部140は、辞書記憶部120に記憶されたメッセージ辞書121に基づいて、取得したメッセージをメッセージ番号に変換する。メッセージ変換部140は、メッセージ番号の情報をメッセージ送信部150に出力する。例えば、メッセージ変換部140が“2011/7/25 10:58:30 ・・・HDD Fault”というメッセージを取得した場合、メッセージ番号の情報は時間“2011/7/25 10:58:30”およびメッセージ番号“3”を含む。
(ステップS13)メッセージ送信部150は、配布表記憶部130に記憶された配布表131に基づいて、メッセージ変換部140から取得したメッセージ番号の情報の送信先の前段検出サーバを決定する。
(ステップS14)メッセージ送信部150は、メッセージデータ600をステップS13で決定した送信先の前段検出サーバに送信する。例えば、メッセージ番号が“3”の場合、メッセージデータ600aを前段検出サーバ200(サーバ番号“1”)に送信する。
このようにして、ログに含まれるメッセージがメッセージ番号に変換される。メッセージデータにより、当該メッセージ番号が前段検出サーバ200,200aに通知される。配布表131では、1つのメッセージ番号が1つの前段検出サーバに対応付けられる。したがって、1つのメッセージ番号に関するメッセージデータは、1つの前段検出サーバで収集される。
なお、監視対象サーバ100,100a,100bは、ログに新たなメッセージが追加されたときに当該メッセージ通知の処理を実行する。または、所定の周期やログに所定数のメッセージが追加されたタイミングで実行してもよい。
前段検出サーバ200は、監視対象サーバ100,100a,100bから受信したメッセージデータを記憶部210に格納する。前段検出サーバ200aは、監視対象サーバ100,100a,100bから受信したメッセージデータを自身の記憶部に格納する。
図12は、第2の実施の形態の候補パターン検出の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。なお、前段検出サーバ200aも前段検出サーバ200と同様の処理手順である。
(ステップS21)管理端末装置400は、前段検出サーバ200にタイムウィンドウを入力する。タイムウィンドウは、時間範囲の情報である。タイムウィンドウは、例えば、“2011/7/25 10:58:00”〜“2011/7/25 10:59:00”の時間範囲の情報を含む。なお、前段検出サーバ200,200aには、同じタイムウィンドウを入力する。
(ステップS22)候補検出部220は、記憶部210に記憶されたメッセージデータを参照して、タイムウィンドウに含まれる全てのメッセージ番号(メッセージ番号列)を取得する。
(ステップS23)候補検出部220は、記憶部210に記憶された候補パターンテーブル211を参照して、障害番号を1つ選択する。
(ステップS24)候補検出部220は、候補パターンテーブル211を参照して、メッセージ番号列のパターンが当該障害番号の枝番号に対応する何れかの候補パターンと一致(完全一致)するか否か判定する。何れかの候補パターンと一致する場合、処理をステップS25に進める。何れの候補パターンとも一致しない場合、処理をステップS26に進める。例えば、メッセージ番号列“3,5,3,5”は、メッセージ番号“3”、“5”の組み合わせであるので、そのパターンは“3,5”である。当該パターン“3,5”は、候補パターン“3,5”と一致する。同様に、メッセージ番号列“5,3,7,3,7”のパターンは“3,5,7”である。当該パターン“3,5,7”は、候補パターン“3,5”とは一致しない。なお、候補パターンテーブル211では、枝番号“1−1”の候補パターンが“−”(設定なし)である。当該枝番号“1−1”の候補パターンについては、ステップS22で何れのメッセージ番号も取得できていない場合に、枝番号“1−1”の候補パターンと一致すると判断する。一方、ステップS22で何れかのメッセージ番号を取得している場合に、枝番号“1−1”の候補パターンと一致しないと判断する。
(ステップS25)候補検出部220は、メッセージ番号列から検出した候補パターンについて、候補パターン通知データを生成し、後段検出サーバ300に送信する。例えば、候補パターン“3,5”(枝番号“1−2”)を検出した場合、候補検出部220は候補パターン通知データ700aを後段検出サーバ300に送信する。他の枝番号の候補パターンがある場合には、その候補パターンに関しても候補パターン通知データを生成して後段検出サーバ300に送信する。ここで、例えば、ステップS24で示した枝番号“1−1”のように、何れのメッセージ番号も取得できていない場合に、候補パターンと一致すると判断することもある。この場合は例外として、候補検出部220は候補パターンの通知は行わない。
(ステップS26)候補検出部220は、ステップS23で選択した障害番号について、否定パターン用の通知データを生成し、後段検出サーバ300に送信する。例えば、障害番号“1”には、枝番号“1−1”、“1−2”、“1−3”がある。障害番号“1”に対し、これら全枝番号の候補パターンをメッセージ番号列から検出できなかったとき、候補検出部220は、障害番号“1”の否定パターン“¬1”を設定した候補パターン通知データ700cを生成して後段検出サーバ300に送信する。
(ステップS27)候補検出部220は、ステップS23で選択した障害番号を処理済とする。候補検出部220は、候補パターンテーブル211を参照して、次の障害番号(未処理の障害番号)があるか否か判定する。次の障害番号がある場合、処理をステップS23に進める。次の障害番号がない場合、処理を終了する。
このようにして、前段検出サーバ200で候補パターンが検出され、候補パターン通知データが後段検出サーバ300に送信される。前段検出サーバ200aも同様である。後段検出サーバ300は、前段検出サーバ200,200aから受信した候補パターン通知データを記憶部310に格納する。
なお、ステップS25では、何れのメッセージ番号も取得できていない場合、その旨を明示的(例えば、候補パターン“1:1−1”として)に後段検出サーバ300に通知してもよい。しかし、上述のように、候補パターンの通知を行わないようにすれば、前段検出サーバ200,200aと後段検出サーバ300との間で送受信される通信データを減らせるので、これらサーバ間のネットワークの負荷を軽減できる。
図13は、第2の実施の形態の障害検出の例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS31)管理端末装置400は、後段検出サーバ300にタイムウィンドウを入力する。候補合成部320は、タイムウィンドウの入力を受け付ける。なお、後段検出サーバ300に入力するタイムウィンドウの時間範囲は、前段検出サーバ200,200aに入力したタイムウィンドウと同一範囲とする。管理端末装置400は、前段検出サーバ200,200aに対するタイムウィンドウの入力と同時に、後段検出サーバ300にタイムウィンドウを入力してもよい。その場合、前段検出サーバ200,200aから送信される候補パターン通知データを一通り受信した後に、以降のステップS32を開始する。
(ステップS32)候補合成部320は、記憶部310に記憶された候補パターン通知データを参照して、終わりの時間に設定された時間がタイムウィンドウ内である全ての候補パターン(候補パターン列)を取得する。
(ステップS33)候補合成部320は、記憶部310に記憶された合成パターンテーブル311を参照して、障害番号を1つ選択する。
(ステップS34)候補合成部320は、合成パターンテーブル311を参照して、候補パターン列が当該障害番号の枝番号に対応する何れかの合成パターンと一致するか否か判定する。何れかの合成パターンと一致する場合、処理をステップS35に進める。何れの合成パターンとも一致しない場合、処理をステップS38に進める。
(ステップS35)候補合成部320は、記憶部310に記憶された候補パターン通知データを参照して、当該障害番号の否定パターンがあるか否か判定する。否定パターンがない場合、処理をステップS36に進める。否定パターンがある場合、処理をステップS38に進める。例えば、合成パターンテーブル311によれば、枝番号“1−1”の合成パターンは“2:1−1”である。この場合、候補パターン列に候補パターン“2:1−1”が含まれれば、ステップS34で枝番“1−1”の合成パターンが検出される。候補合成部320は、本ステップS35で障害番号“1”の否定パターンがある場合、当該合成パターンを検出していても、障害番号“1”の障害検出を抑止する。このように、否定パターンの有無により合成パターン“2:1−1”が成立しているか否かを判断できる。
(ステップS36)候補合成部320は、記憶部310に記憶された候補パターン通知データを参照して、検出した合成パターンの要素となる候補パターンに対応する始めの時間および終わりの時間を抽出する。候補合成部320は、抽出した時間のうち、最も早い時間および最も遅い時間の両方がタイムウィンドウ内に含まれるか否か判定する。含まれる場合、処理をステップS37に進める。含まれない場合、処理をステップS38に進める。
(ステップS37)候補合成部320は、ステップS33で選択した障害番号に対応する障害内容を管理端末装置400に通知する。障害の通知方法は、管理端末装置400への通知に限られない。例えば、候補合成部320は、管理者の電子メールアドレスを保持し、障害内容を記述した電子メールを当該電子メールアドレス宛に送信してもよい。
(ステップS38)候補合成部320は、ステップS33で選択した障害番号を処理済とする。候補合成部320は、合成パターンテーブル311を参照して、次の障害番号(未処理の障害番号)があるか否かを判定する。次の障害番号がある場合、処理をステップS33に進める。次の障害番号がない場合、処理を終了する。
このようにして、後段検出サーバ300で合成パターンが検出され、当該合成パターンに対応する障害が管理端末装置400に通知される。
管理者は、タイムウィンドウにより所望の時間範囲を容易に指定して、障害検出処理を行わせることができる。
また、ステップS36の処理により、ステップS34でタイムウィンドウに収まらない合成パターンを検出しても、当該合成パターンによる障害を非検出とできる。例えば、タイムウィンドウを未来にずらしながら障害検出を連続して行うと、今回指定したタイムウィンドウよりも過去の時間の候補パターン通知データ(前回分)が記憶部310に残ることがある(重複データは上書きされる)。この場合、ステップS34では今回指定したタイムウィンドウに収まらない合成パターンを検出する可能性がある。そこで、ステップS36により当該合成パターンを排除する。なお、障害検出の処理を行う前に、記憶部310に格納された候補パターン通知データをクリアするようにしてもよい。
更に、上記ステップS31において、後段検出サーバ300に入力するタイムウィンドウの時間範囲は、前段検出サーバ200,200aに入力したタイムウィンドウと少なくとも一部が重複する異なる範囲としてもよい。
また、上記ステップS32では、候補合成部320は、記憶部310に記憶された候補パターン通知データを参照して、始めの時間および終わりの時間の両方がタイムウィンドウ内である全ての候補パターン(候補パターン列)を取得してもよい。その場合、ステップS36をスキップして、ステップS37に進んでもよい。
管理端末装置400は、例えば、障害内容を示す画像を生成して、管理端末装置400のモニタに表示させ管理者に提示する。
次に、上記処理手順に基づく障害検出の具体例を説明する。
図14は、第2の実施の形態の障害検出の第1の例を示す図である。図14では、枝番号“1−2”の合成パターンを検出することで、障害番号“1”の障害を検出する場合を例示している。
監視対象サーバ100,100a,100bは、ログにメッセージが記録されると、配布表131に基づいて、当該メッセージに対応するメッセージデータを前段検出サーバ200,200aの何れかに送信する。例えば、メッセージに対応するメッセージ番号が“・・・,3,5,1,2,3,6,9,2,5,・・・”であったとする。配布表131によれば、監視対象サーバ100,100a,100bは、メッセージ番号“3”、“5”を前段検出サーバ200に通知する。同様に、メッセージ番号“2”、“6”を前段検出サーバ200aに通知する。
前段検出サーバ200,200aは、メッセージデータにより通知されたメッセージ番号とメッセージが生成された時間を保持し、蓄積する。
管理端末装置400は、タイムウィンドウW1を前段検出サーバ200,200aおよび後段検出サーバ300に入力する。タイムウィンドウW1の時間範囲には、監視対象サーバ100,100a,100bから通知された“3,5,1,2,3,6,9,2,5”のメッセージ番号が含まれている。
前段検出サーバ200では、蓄積されたメッセージデータから、タイムウィンドウW1内のメッセージ番号列として時間の早い順に“3,5,3,5”を取得する。前段検出サーバ200は、候補パターンテーブル211に基づいて、メッセージ番号列から候補パターン“3,5”を検出する。前段検出サーバ200は、サーバ番号“1”と当該候補パターンに対応する枝番号“1−2”とを含む候補パターン通知データを生成して、後段検出サーバ300に送信する。なお、候補パターン通知データに設定する始めの時間は、メッセージ番号列の中で最も早く検出された“3”に対応する時間である。終わりの時間は、メッセージ番号列の中で最も遅く検出された“5”に対応する時間である。前段検出サーバ200が通知した候補パターンを“1:1−2”と表記する。
前段検出サーバ200aでは、蓄積されたメッセージデータから、タイムウィンドウW1内のメッセージ番号列として時間の早い順に“2,6,2”を取得する。前段検出サーバ200aは、候補パターンテーブル211aに基づいて、メッセージ番号列から候補パターン“2,6”を検出する。前段検出サーバ200aは、サーバ番号“2”と当該候補パターンに対応する枝番号“1−2”とを含む候補パターン通知データを生成して、後段検出サーバ300に送信する。候補パターン通知データに設定する始めの時間は、メッセージ番号列の中で最も早く検出された“2”に対応する時間である。終わりの時間は、メッセージ番号列の中で最も遅く検出された“2”に対応する時間である。前段検出サーバ200aが通知した候補パターンを“2:1−2”と表記する。
後段検出サーバ300は、候補パターン通知データにより通知されたサーバ番号、始めの時間、終わりの時間および枝番号を保持し、蓄積する。
後段検出サーバ300は、蓄積された候補パターン通知データから、タイムウィンドウW1内の候補パターン列“1:1−2,2:1−2”を取得する。すると、後段検出サーバ300は、合成パターンテーブル311に基づき枝番号“1−2”の合成パターンを検出する。
ここで、候補パターン“1:1−2”の始めの時間および終わりの時間は、タイムウィンドウW1に含まれている。候補パターン“2:1−2”の始めの時間および終わりの時間は、タイムウィンドウW1に含まれている。よって、後段検出サーバ300は、障害番号“1”に対応する障害の内容を管理端末装置400に通知する。
図15は、第2の実施の形態の障害検出の第2の例を示す図である。図15では、障害番号“1”の障害を検出しない場合を例示している。監視対象サーバ100,100a,100b(監視対象サーバ群)が、時系列にメッセージ番号“4,9,1,2,4,6,3,2,9”を前段検出サーバ200,200aの何れかを通知する。配布表131によれば、メッセージ番号“3”を前段検出サーバ200に通知する。メッセージ番号“2”、“4”、“6”を前段検出サーバ200aに通知する。
管理端末装置400は、前段検出サーバ200,200aおよび後段検出サーバ300にタイムウィンドウW2を入力する。監視対象サーバ100,100a,100bが出力した各メッセージ番号“4,9,1,2,4,6,3,2,9”に対応する時間は、タイムウィンドウW2に含まれるとする。
前段検出サーバ200では、タイムウィンドウW2内のメッセージ番号列“3”を取得する。候補パターンテーブル211によれば、当該メッセージ番号列から得られるパターン“3”は、障害番号“1”の何れの枝番号の候補パターンにも該当しない。よって、前段検出サーバ200は、障害番号“1”の否定パターン“1:¬1”を後段検出サーバ300に通知する。
前段検出サーバ200aでは、タイムウィンドウW2内のメッセージ番号列“4,2,4,6,2”を取得する。候補パターンテーブル211aによれば、当該メッセージ番号列から得られるパターン“2,4,6”は、枝番号“1−1”、“1−3”の候補パターンに該当する。よって、前段検出サーバ200aは、候補パターン“2:1−1”および“2:1−3”を検出した旨を後段検出サーバ300に通知する。なお、枝番号“1−2”の候補パターン“2,6”は、当該メッセージ番号列から得られるパターン“2,4,6”とは異なるため、検出されない。候補パターン“2:1−1”、“2:1−3”それぞれの始めの時間および終わりの時間はタイムウィンドウW2に含まれている。
後段検出サーバ300は、前段検出サーバ200から否定パターン“1:¬1”を受信している。後段検出サーバ300は、前段検出サーバ200aから候補パターン“2:1−1”、“2:1−3”を受信している。この場合、後段検出サーバ300は、否定パターン“1:¬1”により、障害番号“1”の障害を検出しない。
図16は、第2の実施の形態の障害検出の第3の例を示す図である。図16では、枝番号“1−1”の合成パターンを検出することで、障害番号“1”の障害を検出する場合を例示している。監視対象サーバ100,100a,100b(監視対象サーバ群)が、“4,9,1,2,4,6,1,2,9”を前段検出サーバ200,200aの何れかを通知する。配布表131によれば、前段検出サーバ200に通知するメッセージ番号はない。メッセージ番号“2”、“4”、“6”を前段検出サーバ200aに通知する。
管理端末装置400は、前段検出サーバ200,200aおよび後段検出サーバ300にタイムウィンドウW3を入力する。監視対象サーバ100,100a,100bが出力した各メッセージ番号“4,9,1,2,4,6,1,2,9”に対応する時間は、タイムウィンドウW3に含まれるとする。
前段検出サーバ200では、タイムウィンドウW3内のメッセージ番号列は取得されない。この場合、前段検出サーバ200は何もしない。
前段検出サーバ200aでは、タイムウィンドウW3内のメッセージ番号列“4,2,4,6,2”を取得する。候補パターンテーブル211aによれば、当該メッセージ番号列から得られるパターン“2,4,6”は、枝番号“1−1”、“1−3”の候補パターンに該当する。よって、前段検出サーバ200aは、候補パターン“2:1−1”および“2:1−3”を検出した旨を後段検出サーバ300に通知する。候補パターン“2:1−1”および“2:1−3”それぞれの始めの時間および終わりの時間はタイムウィンドウW3に含まれている。
後段検出サーバ300は、前段検出サーバ200からは何も受信していない。後段検出サーバ300は、前段検出サーバ200aから候補パターン“2:1−1”、“2:1−3”を受信している。合成パターンテーブル311によれば、枝番号“1−1”の合成パターンは“2:1−1”である。よって、後段検出サーバ300は、当該枝番号“1−1”の合成パターンを検出する。一方、合成パターンテーブル311によれば、枝番号“1−3”の合成パターンは“1:1−3,2:1−3”である。しかし、後段検出サーバ300は、候補パターン“1:1−3”を受信していない。したがって、枝番号“1−3”の合成パターンは検出されない。
そして、後段検出サーバ300は、枝番号“1−1”の合成パターンを検出したので、障害番号“1”に対応する障害の内容を管理端末装置400に通知する。
以上のように、第2の実施の形態の情報処理システムでは、監視対象サーバ100,100a,100bが出力したメッセージデータの一部を前段検出サーバ200で収集する。一方、監視対象サーバ100,100a,100bが出力したメッセージデータの他の一部を前段検出サーバ200aで収集する。そして、前段検出サーバ200,200aは、それぞれが障害原因の候補となり得る候補パターンを検出して後段検出サーバ300に通知する。後段検出サーバ300は、候補パターンの組み合わせ(合成パターン)に基づいて、障害を検出する。
このため、第2の実施の形態の情報処理システムでは、同一種類のメッセージデータを1つの前段検出サーバで収集すれば足りる。障害の検出は、前段検出サーバ200,200aでの候補パターンの検出結果を後段で組み合わせて行えばよいためである。
更に、システムの運用に応じて、新たな障害原因のパターンを追加したい場合や、既存のパターンを変更したい場合もある。第2の実施の形態の情報処理システムでは、この場合にテーブル更新作業を省力化できるという利点もある。
図17は、第2の実施の形態のテーブルの更新例を示す図である。図17では、障害原因のパターンを追加する際に、更新しなくてよいテーブルおよび更新するテーブルを示している。新たな障害原因のパターンは、障害番号“2”の枝番号“2−2”とする。枝番号“2−2”は、障害原因パターン“2,5,8”に対応するものである。なお、図17では“メッセージ”の語を“msg”(messageの略)と略記している(以下、同様)。
図17(A)は更新対象とならないテーブルである。図17(A)では、配布表131を示している。監視対象サーバ100a,100bが保持する配布表も更新しなくてよい。
図17(B)は更新対象とするテーブルである。図17(B)では、候補パターンテーブル211,211aおよび合成パターンテーブル311を示している。
候補パターンテーブル211には、関連メッセージに“5”(追加部分R1)を、枝番号に“2−2”(追加部分R2)を、当該枝番号に対応する候補パターンに“5”(追加部分R3)を追加する。
候補パターンテーブル211aには、枝番号に“2−2”(追加部分R4)を、当該枝番号に対応する候補パターンに“2,8”(追加部分R5)を追加する。
合成パターンテーブル311には、枝番号に“2−2”(追加部分R6)を、当該枝番号に対応する合成パターンに“1:2−2,2:2−2”(追加部分R7)を追加する。
このように、更新対象とするテーブルを前段検出サーバ200,200aおよび後段検出サーバ300が保持するテーブルとし、監視対象サーバ100,100a,100bが保持する配布表は更新しなくてよい。
監視対象サーバは、システムの規模が大きくなると、その数も増加し得る。このとき、監視対象サーバの配布表を個々に更新するとなると、そのための作業コストが大きくなる可能性がある。
これに対し、第2の実施の形態の情報処理システムでは、障害原因のパターンを追加/変更する場合、監視対象サーバ100,100a,100bの配布表の更新作業を省ける。このため、障害原因のパターンを更新する際の作業コストを軽減できる。
次に、他の障害検出の方法を例示して第2の実施の形態の障害検出の方法と比較する。
図18は、メッセージ配布の第1の他の例を示す図である。図18の情報処理システムは、監視対象サーバ800,800a,800bおよび障害検出サーバ900,900aを含む。監視対象サーバ800,800a,800bは、障害検出サーバ900,900aにより監視されるサーバコンピュータである。
障害検出サーバ900,900aは、監視対象サーバ800,800a,800bにおける障害を検出するサーバコンピュータである。障害検出サーバ900,900aは、検出を担当する障害が個々に割り当てられている。
障害検出サーバ900は、障害番号“1”の障害の検出を担当する。障害検出サーバ900は、パターンテーブル910を保持する。パターンテーブル910には、障害番号“1”の障害を検出するためのメッセージ番号のパターンが登録されている。
障害検出サーバ900aは、障害番号“2”の障害の検出を担当する。障害検出サーバ900aは、パターンテーブル910aを保持する。パターンテーブル910aには、障害番号“2”の障害を検出するためのメッセージ番号のパターンが登録されている。
図18の情報処理システムでは、障害検出サーバ900,900aの両方が、自身の担当する障害を検出するために、監視対象サーバ800,800a,800bが出力した全てのメッセージデータを収集する。その場合、例えば、監視対象サーバ800は、メッセージ番号“3,5,1,2,3,6,9,2,5”を通知するための一連のメッセージデータを複製して、障害検出サーバ900,900aの両方に送信する。監視対象サーバ800a,800bも同様である。メッセージデータを複製して、同一のメッセージデータを重複して送信するのでネットワークの負荷が高まるおそれがあり、非効率的となる。
一方、第2の実施の形態の情報処理システムでは、このような通知データの複製や通知データの重複送信を行わずに済む。このため、図18の情報処理システムに比べて、ネットワークの負荷の増大を抑えられる。例えば、監視対象サーバ800が9個のメッセージ番号を通知したい場合、障害検出サーバ900,900aの2台に通知するので、9×2=18回のデータ送信が発生する。これに対し、第2の実施の形態の情報処理システムでは、9個のメッセージ番号のそれぞれを前段検出サーバ200,200aの何れかに通知すればよいので、9回のデータ送信で済む。
図19は、メッセージ配布の第2の他の例を示す図である。図19の情報処理システムは、監視対象サーバ800c,800d,800eおよび障害検出サーバ900b,900cを含む。監視対象サーバ800c,800d,800eは、障害検出サーバ900b,900cにより監視されるサーバコンピュータである。
障害検出サーバ900b,900cは、監視対象サーバ800c,800d,800eにおける障害を検出するサーバコンピュータである。障害検出サーバ900,900aは、検出を担当する障害が個々に割り当てられている。
障害検出サーバ900bは、障害番号“1”の障害の検出を担当する。障害検出サーバ900bは、パターンテーブル910bを保持する。パターンテーブル910bには、障害番号“1”の障害を検出するためのメッセージ番号のパターンが登録されている。
障害検出サーバ900cは、障害番号“2”の障害の検出を担当する。障害検出サーバ900cは、パターンテーブル910cを保持する。パターンテーブル910cには、障害番号“2”の障害を検出するためのメッセージ番号のパターンが登録されている。
図19の情報処理システムでは、障害検出サーバ900b,900cは、自身が担当するパターンに含まれるメッセージ番号のみを監視対象サーバ800c,800d,800eから収集する。そのために、監視対象サーバ800c,800d,800eは、配布表810を保持する。配布表810には、メッセージ番号に対応付けて、配布先とする障害検出サーバ(サーバ番号)が定義される。例えば、サーバ番号“1”は障害検出サーバ900bであり、サーバ番号“2”は障害検出サーバ900cである。
この場合、図18の情報処理システムに比べて、送信される通知データの数およびデータ量は減る。障害検出サーバ900b,900cのパターン検出に用いられないメッセージ番号は、送信されないためである。
しかし、障害検出サーバ900b,900cの両方がメッセージ番号“2”を含むパターンを検出する場合、メッセージ番号“2”の配布先にサーバ番号“1”、“2”が登録される。例えば、監視対象サーバ800cが“3,5,1,2,3,6,9,2,5”のメッセージ番号を通知するとする。このとき、障害検出サーバ900bがメッセージ番号“2,3,4,5,6”を収集し、障害検出サーバ900cがメッセージ番号“2,3,8”を収集するとする。すると、結局、監視対象サーバ800cはメッセージ番号“2”、“3”の通知データを複製して、障害検出サーバ900b,900cに重複して送信することになる。
一方、第2の実施の形態の情報処理システムでは、このような通知データの複製や通知データの重複送信を行わずに済む。よって、図19の情報処理システムと比較しても、ネットワークの負荷の増大を抑えられる。
更に、図19の情報処理システムでは、パターンテーブル910b,910cに新たなパターンを追加したり既存のパターンを変更したりするとき、監視対象サーバ800c,800d,800eが保持する配布表810の更新作業が発生する。サーバ数が多くなるほど、その作業コストは増大し得る。
これに対し、第2の実施の形態の情報処理システムでは、障害原因のパターンを追加/変更する場合に、配布表の更新を行わずに済む。よって、稼働監視のための作業負担を軽減できる。
このように、第2の実施の形態の情報処理システムによれば、障害パターン検出の分散処理を効率的に行うことができる。
[第3の実施の形態]
次に、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、同様の事項に関しては説明を省略する。
第2の実施の形態では、同一のメッセージ番号を1つの前段検出サーバで収集するために配布表131で1つのメッセージ番号に対して、1つのサーバ番号を対応付けるものとした。一方、配布表131を用いないでメッセージデータの送信先を決定してもよい。第3の実施の形態では、そのための機能を提供する。
ここで、第3の実施の形態は第2の実施の形態と比べてメッセージ配布の処理が異なる。それ以外のシステムや装置の構成に関しては第2の実施の形態と同一であるため、同一の名称・符号を用いて各構成を指し示すものとする。
図20は、第3の実施の形態のメッセージ配布の例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。ただし、ステップS11,S12,S14の処理は、図11のステップS11,S12,S14の処理と同一であるため説明を省略する。
(ステップS13a)メッセージ送信部150は、メッセージテキストの変換により取得したメッセージ番号を2で除した剰余を求める。そして、求めた剰余に基づいて決定されるサーバ番号の前段検出サーバをメッセージデータの送信先と決定する。例えば、剰余が奇数であれば前段検出サーバ200、剰余が偶数であれば前段検出サーバ200aとする。
このように、メッセージ送信部150は、配布表131を用いずに、メッセージデータの送信先を決定することもできる。このため、前段検出サーバ200,200aに配布表131を設ける手間を省ける。前段検出サーバ200,200aが検出を担当する候補パターンは、前段検出サーバ200,200aで収集されるメッセージ番号に合わせて割り当てればよい。
例えば、前段検出サーバがM台(Mは2以上の整数)存在する場合には、メッセージ番号をMで除した剰余を求める。その場合、求めた剰余と等しいサーバ番号の前段検出サーバを通知先と決定することが考えられる(この場合、サーバ番号“0”〜“M−1”を予め各前段検出サーバに割り当てる)。
[第4の実施の形態]
次に、第4の実施の形態を説明する。前述の第2,第3の実施の形態との相違点を主に説明し、同様の事項に関しては説明を省略する。
ここで、監視対象サーバ100,100a,100bでは、メッセージの種類によって、その出現頻度が異なることがある。すると、出現頻度の高いメッセージデータが何れかの前段検出サーバに偏って送信されることがある。その場合、当該前段検出サーバの負荷が高まる可能性がある。そこで、第4の実施の形態ではデータ収集の偏りを平準化して、前段検出サーバの負荷を分散させる機能を提供する。
第4の実施の形態の情報処理システムは、図2で説明した第2の実施の形態の情報処理システムと同様である。第2の実施の形態の情報処理システムとの相違点は、第4の実施の形態の情報処理システムでは配布表作成サーバ500を設ける点である。配布表作成サーバ500は、ネットワーク10に接続される。配布表作成サーバ500のハードウェア例は、図3で説明した前段検出サーバ200のハードウェア例と同様である。その他の装置などは、第2の実施の形態と同一の符号・名称を用いて表すものとする。
図21は、第4の実施の形態のソフトウェア例を示す図である。図21に示すユニットの一部または全部は、監視対象サーバ100,100a,100b、前段検出サーバ200,200a,後段検出サーバ300および配布表作成サーバ500が実行するプログラムのモジュールであってもよい。また、図21に示すユニットの一部または全部は、FPGAやASICなどの電子回路であってもよい。監視対象サーバ100a,100bも監視対象サーバ100と同様のユニットを用いて実装できる。前段検出サーバ200aも前段検出サーバ200と同様のユニットを用いて実装できる。
ここで、監視対象サーバ100および後段検出サーバ300のソフトウェア例は、図4で説明した内容と同様である。
前段検出サーバ200は、記憶部210、候補検出部220およびメッセージ頻度通知部230を有する。記憶部210および候補検出部220は、図4で説明した内容と同様である。
メッセージ頻度通知部230は、監視対象サーバ100,100a,100bから受信したメッセージデータに基づいて、メッセージ番号ごとの出現頻度を取得する。メッセージ頻度通知部230は、その結果を記憶部210に格納する。メッセージ頻度通知部230は、取得した出現頻度の情報を配布表作成サーバ500に定期的に送信する。
配布表作成サーバ500は、記憶部510、メッセージ頻度取得部520、パターン再分割部530および配布表作成部540を有する。
記憶部510は、分割前パターンテーブルを記憶する。分割前パターンテーブルは、メッセージ番号の組み合わせに対する障害内容を登録したテーブルである。以下では、分割前パターンテーブルに登録されたメッセージ番号の組み合わせを分割前パターンと呼ぶことがある。
メッセージ頻度取得部520は、前段検出サーバ200,200aからメッセージ番号ごとの出現頻度の情報を定期的に受信する。メッセージ頻度取得部520は、当該出現頻度の情報を、パターン再分割部530に出力する。
パターン再分割部530は、メッセージ番号ごとの出現頻度を集計する。パターン再分割部530は、当該集計結果に基づき、前段検出サーバ200,200aにメッセージ番号を割り当てる。このとき、両サーバが担当するメッセージ番号の出現頻度ができるだけ均等になるようにする。パターン再分割部530は、割り当て結果に基づいて候補パターンおよび合成パターンを生成する。パターン再分割部530は、生成した候補パターンを前段検出サーバ200,200aに送信し、候補パターンテーブル211,211aを更新する。パターン再分割部530は、生成した合成パターンを後段検出サーバ300に送信し、合成パターンテーブル311を更新する。また、パターン再分割部530は、前段検出サーバ200,200aに対するメッセージ番号の割り当て結果を配布表作成部540に通知する。
配布表作成部540は、パターン再分割部530によるメッセージ番号の割り当て結果に基づいて、配布表を作成する。配布表作成部540は、作成した配布表を監視対象サーバ100,100a,100bに送信し、監視対象サーバ100,100a,100bが保持する配布表を更新する。
図22は、第4の実施の形態の分割前パターンテーブルの例を示す図である。分割前パターンテーブル511は、記憶部510に格納される。分割前パターンテーブル511は、障害番号、枝番号、分割前パターンおよび障害内容の項目を含む。
障害番号の項目には、障害番号が登録される。枝番号の項目には、枝番号が登録される。分割前パターンの項目には、分割前パターンが登録される。障害内容の項目には、システムの障害の内容が登録される。
例えば、障害番号“1”の枝番号“1−1”の分割前パターンが“2,4,6”であり、障害内容が“WebサービスXXX 利用不可”である。これは、分割前パターン“2,4,6”のメッセージ番号の組み合わせに対して、障害内容“WebサービスXXX 利用不可”が対応付けられていることを示す。
図23は、第4の実施の形態のメッセージ頻度テーブルの例を示す図である。メッセージ頻度テーブル512は、記憶部510に格納される。メッセージ頻度テーブル512は、パターン再分割部530がメッセージ番号ごとの出現頻度を集計したものである。メッセージ頻度テーブル512は、メッセージ番号および出現頻度の項目を含む。
メッセージ番号の項目には、メッセージ番号が登録される。出現頻度の項目には、前段検出サーバ200,200aで取得された出現頻度の集計結果が登録される。例えば、メッセージ番号“6”は出現頻度“61”である。メッセージ頻度テーブル512では、レコードが出現頻度の降順にソートされている。
次に、第4の実施の形態の情報処理システムの配布表更新の手順を説明する。ここで、第4の実施の形態の障害検出ための処理手順は、図11〜図13で説明した第2の実施の形態の各手順と同様である。
図24は、第4の実施の形態の配布表更新の例を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
(ステップS41)メッセージ頻度取得部520は、前段検出サーバ200,200aからメッセージ番号ごとの出現頻度の情報を取得し、パターン再分割部530に出力する。取得する周期は、情報処理システムの運用に応じて決定する。例えば、24時間ごと、1週間ごとなどとすることができる。
(ステップS42)パターン再分割部530は、取得した出現頻度の情報に基づいて、メッセージ番号ごとの出現頻度を集計する。パターン再分割部530は、メッセージ頻度テーブル512に集計結果を登録する。
(ステップS43)パターン再分割部530は、前段検出サーバ200,200aが担当するメッセージ番号の出現頻度が均等になるように、両サーバにメッセージ番号を割り当てる。例えば、出現頻度の降順にソートされたメッセージ頻度テーブル512の各メッセージ番号につき、上から順に、“6,7,2”を前段検出サーバ200に、“3,5,4”を前段検出サーバ200aに、割り当てることが考えられる。前段検出サーバが3以上ある場合にも、出現頻度でソートされた順に割り当てていけばよい。
(ステップS44)パターン再分割部530は、記憶部510に記憶された分割前パターンテーブル511を参照し、ステップS43のメッセージ番号の割り当て結果に基づいて、候補パターンおよび合成パターンを再作成する。例えば、ステップS43で示したメッセージ番号の割り当て例でいえば、枝番号“1−1”につき、候補パターン“2,6”を作成し、前段検出サーバ200に割り当てる。同様に、枝番号“1−1”につき、候補パターン“4”を作成し、前段検出サーバ200aに割り当てる。そして、当該枝番号“1−1”につき、合成パターン“1:1−1,2:1−1”を作成し、後段検出サーバ300に割り当てる。
(ステップS45)パターン再分割部530は、作成した候補パターンを前段検出サーバ200,200aに送信し、前段検出サーバ200,200aが保持する候補パターンテーブル211,211aを更新する。パターン再分割部530は、作成した合成パターンを後段検出サーバ300に送信し、後段検出サーバ300が保持する合成パターンテーブル311を更新する。
(ステップS46)パターン再分割部530は、ステップS43のメッセージ番号の割り当て結果を配布表作成部540に通知する。配布表作成部540は、当該割り当て結果に基づいて配布表を作成する。
(ステップS47)配布表作成部540は、作成した配布表を監視対象サーバ100,100a,100bに送信し、監視対象サーバ100,100a,100bが保持する配布表を更新する。
このようにして、配布表作成サーバ500は、メッセージ番号の出現頻度に応じて、監視対象サーバ100,100a,100bの配布表を更新する。また、配布表作成サーバ500は、配布先の割り当て結果に応じて、分割前パターンテーブル511に登録された分割前パターンを分割し、検出すべき候補/合成パターンを前段検出サーバ200,200aおよび後段検出サーバ300に再割り当てする。このとき、配布表では、メッセージ番号と前段検出サーバ200,200aが1対1に対応付けられる。すなわち、前段検出サーバ200,200aのそれぞれに割り当てられるメッセージ番号の集合につき、要素(メッセージ番号)の重複はない。
また、配布表作成サーバ500は、前段検出サーバ200,200aが担当するメッセージ番号の出現頻度が均等になるよう、メッセージ番号を割り当てる。すなわち、何れかの前段検出サーバにメッセージデータが集中しないよう制御する。これにより、前段検出サーバ200,200aの負荷を動的に平準化できる。
[第5の実施の形態]
次に、第5の実施の形態を説明する。前述の第2〜第4の実施の形態との相違点を主に説明し、同様の事項に関しては説明を省略する。
第2,第4の実施の形態では、前段検出サーバ200,200aおよび後段検出サーバ300の2段階の例を説明した。ここで、検出したい障害の数が多くなると、前段検出サーバ200,200aで検出する候補パターンの数が多くなり、前段検出サーバ200,200aや後段検出サーバ300によるパターンの判定処理の負荷が大きくなる可能性がある。そこで、前段検出サーバを更に設け、後段検出サーバ300に候補パターンを組み合わせる前に、候補パターンの絞り込みを行う複数段の検出サーバを設けてもよい。このようにすれば、各検出サーバの負荷を軽減できる。そこで、第5の実施の形態では3段階以上の複数段階で障害を検出する機能を提供する。
第5の実施の形態の情報処理システムは、図2で説明した第2の実施の形態の情報処理システムの各サーバに加えて、前段検出サーバ200b,200cおよび中段検出サーバ300a,300bを有する。前段検出サーバ200b,200cおよび中段検出サーバ300a,300bは、ネットワーク10に接続される。前段検出サーバ200b,200cおよび中段検出サーバ300a,300bのハードウェア例は、図3で説明した前段検出サーバ200のハードウェア例と同様である。その他の装置などは、第2の実施の形態と同一の符号・名称を用いて表すものとする。
図25は、第5の実施の形態のソフトウェア例を示す図である。図25に示すユニットの一部または全部は、前段検出サーバ200,200a,200b,200c、中段検出サーバ300a,300bおよび後段検出サーバ300が実行するプログラムのモジュールであってもよい。また、図25に示すユニットの一部または全部は、FPGAやASICなどの電子回路であってもよい。前段検出サーバ200a,200b,200cも前段検出サーバ200と同様のユニットを用いて実装できる。中段検出サーバ300bも中段検出サーバ300aと同様のユニットを用いて実装できる。なお、監視対象サーバ100,100a,100bは、第2の実施の形態で説明したユニットを含む。
ここで、前段検出サーバ200のソフトウェア例は、図4で説明した内容と同様である。ただし、記憶部210は、候補パターン通知データを中段検出サーバ300a,300bの何れに送信するかを登録した候補パターンの配布表を記憶する。候補検出部220は、当該候補パターンの配布表を参照して、候補パターン通知データを中段検出サーバ300a,300bの何れかに送信する。
また、後段検出サーバ300のソフトウェア例は、図4で説明した内容と同様である。ただし、候補合成部320は、中段検出サーバ300a,300bから受信した候補パターン通知データの組み合わせに基づいて、合成パターンを検出する。
中段検出サーバ300aは、記憶部310aおよび候補合成部320aを有する。
記憶部310aは、候補パターンテーブルを記憶する。記憶部310aの候補パターンテーブルは、検出した合成パターンに対応する候補パターンの枝番号を登録したものである。また、記憶部310aは、候補パターン通知データを記憶する。
候補合成部320aは、前段検出サーバ200,200a,200b,200cから受信した候補パターン通知データを記憶部310aに格納する。
候補合成部320aは、記憶部310aに記憶された候補パターンテーブルに基づいて、前段検出サーバ200,200a,200b,200cから通知された候補パターンの集合のうちから合成パターンを検出する。候補合成部320aは、検出した合成パターンに対応する候補パターン通知データを後段検出サーバ300に送信する。このように、候補合成部320aは、前段検出サーバ200,200a,200b,200cから通知された候補パターンを集約して新たな候補パターンを生成する。候補合成部320aは、候補パターンの絞り込みを行っているということもできる。
図26は、第5の実施の形態の候補パターンテーブル(前段)の例を示す図である。図26(A)は前段検出サーバ200が記憶部210に保持する候補パターンテーブル212を例示している。図26(B)は前段検出サーバ200aが自身の記憶部に保持する候補パターンテーブル212aを例示している。図26(C)は前段検出サーバ200bが自身の記憶部に保持する候補パターンテーブル212bを例示している。図26(D)は前段検出サーバ200cが自身の記憶部に保持する候補パターンテーブル212cを例示している。候補パターンテーブル212,212a,212b,212cは、障害番号、関連メッセージ、枝番号および候補パターンの項目を含む。各項目の内容は、図7で説明した候補パターンテーブル211の各項目の内容と同様である。
図27は、第5の実施の形態の候補パターンテーブル(中段)の例を示す図である。図27(A)は中段検出サーバ300aが記憶部310aに保持する候補パターンテーブル311aを例示している。図27(B)は中段検出サーバ300bが自身の記憶部に保持する候補パターンテーブル311bを例示している。候補パターンテーブル311a,311bは、障害番号、枝番号および合成パターンの項目を含む。
障害番号の項目には、障害番号が登録される。枝番番号の項目には、枝番号が登録される。合成パターンの項目には、合成パターンが登録される。
例えば、候補パターンテーブル311aでは、障害番号“1”の枝番号“1−2”の合成パターンが“1:1:1−2,1:2:1−2”である。ここで“1:1:1−2”の表記は、最前部の“1:1”が前段検出サーバのサーバ番号(ここでは、前段検出サーバ200)を示す。また、最後部の“1−2”は前段検出サーバで検出された候補パターンに対応する枝番号を示す。すなわち、“1:1:1−2”の表記は、前段検出サーバ200で検出された枝番号“1−2”の候補パターンを示す。
ここで、第5の実施の形態では、前段検出サーバ200のサーバ番号は“1:1”である。前段検出サーバ200aのサーバ番号は“1:2”である。前段検出サーバ200bのサーバ番号は“2:1”である。前段検出サーバ200cのサーバ番号は“2:2”である。中段検出サーバ300aのサーバ番号は“1”である。中段検出サーバ300bのサーバ番号は“2”である。
よって、候補パターンテーブル311aの合成パターン“1:1:1−2,1:2:1−2”は、枝番号“1−2”の候補パターンの情報を前段検出サーバ200,200aから取得したときに検出し得る。
また、例えば、候補パターンテーブル311aでは、枝番号“1−3”の合成パターンが“1:2:1−3”である。この合成パターンは、枝番号“1−3”の候補パターンの情報を前段検出サーバ200aから取得したときに検出し得る。
更に、候補パターンテーブル311aでは、枝番号“1−1”の合成パターンが設定なし“−”である。
なお、後段検出サーバ300が記憶部310に保持する合成パターンテーブル311は、図8で説明した内容と同様である。ただし、当該合成パターンテーブル311中のサーバ番号(合成パターンの“:”コロンの前側の数字)が示すサーバが異なる。すなわち、サーバ番号“1”は中段検出サーバ300aを示す。サーバ番号“2”は中段検出サーバ300bを示す。
以上に示した候補パターンテーブル212,212a,212b,212c,311a,311bには、2以上の複数の障害番号に対応する候補/合成パターンが登録され得る。
図28は、第5の実施の形態の候補パターン通知データの例を示す図である。図28(A)は、前段検出サーバ200,200a,200bから中段検出サーバ300a,300bに送信される候補パターン通知データ700を例示している。候補パターン通知データ700の各項目の設定内容は、図10で説明した通りである。
候補パターン通知データ700d,700e,700fは、実際の値が設定された場合を例示している。図9で説明したメッセージデータ600dが前段検出サーバ200で、メッセージデータ600aが前段検出サーバ200aで、メッセージデータ600b,600cが前段検出サーバ200bで、それぞれ収集された場合の例である。
候補パターン通知データ700dは、サーバ番号が“1:1”、始めの時間が“2011/7/25 10:58:34”、終わりの時間が“2011/7/25 10:58:34”、枝番号が“1−2”である。候補パターン通知データ700dは、メッセージデータ600dに基づいて、候補検出部220により生成され、中段検出サーバ300aに送信される。
なお、前段検出サーバ200が保持する候補パターンの配布表には、候補パターン“1:1:1−2”、“1:2:1−2”の送信先として、中段検出サーバ300aが登録されている。候補検出部220は、当該配布表に基づいて、候補パターン通知データ700dの送信先を決定できる(以下、前段検出サーバ200,200a,200b,200cによる候補パターン通知データの送信先も同様に決定される)。あるいは、配布表を用いずに、自身のサーバ番号(例えば、“1:1”)のコロン“:”の前方の番号(例えば、“1”)を送信先サーバのサーバ番号(例えば、“1”)としてもよい。
候補パターン通知データ700eは、サーバ番号が“1:2”、始めの時間が“2011/7/25 10:58:30”、終わりの時間が“2011/7/25 10:58:30”、枝番号が“1−2”である。候補パターン通知データ700eは、メッセージデータ600aに基づいて、前段検出サーバ200aの候補検出部により生成され、中段検出サーバ300aに送信される。
候補パターン通知データ700fは、サーバ番号が“2:1”、始めの時間が“2011/7/25 10:58:32”、終わりの時間が“2011/7/25 10:58:33”、枝番号が“1−2”である。候補パターン通知データ700fは、メッセージデータ600b,600cに基づいて、前段検出サーバ200bの候補検出部により生成され、中段検出サーバ300bに送信される。
図28(B)は、中段検出サーバ300a,300bから後段検出サーバ300に送信される候補パターン通知データ700を例示している。候補パターン通知データ700の各項目の設定内容は、図10で説明した通りである。
候補パターン通知データ700g,700hは、実際の値が設定された場合を例示している。
候補パターン通知データ700gは、サーバ番号が“1”、始めの時間が“2011/7/25 10:58:30”、終わりの時間が“2011/7/25 10:58:34”、枝番号が“1−2”である。候補パターン通知データ700gは、候補パターン通知データ700d,700eに基づいて、候補合成部320aにより生成され、後段検出サーバ300に送信される。
候補パターン通知データ700hは、サーバ番号が“2”始めの時間が“2011/7/25 10:38:32”、終わりの時間が“2011/7/25 10:58:33”、枝番号が“1−2”である。候補パターン通知データ700は、候補パターン通知データ700fに基づいて、中段検出サーバ300bの候補合成部により生成され、後段検出サーバ300に送信される。
なお、前段検出サーバ200,200a,200b,200cおよび中段検出サーバ300a,300bにおいて、ある障害番号につき何れの枝番号の候補パターンも検出できない場合には、後段の検出サーバに否定パターンを通知する。否定パターンを通知する際に用いる候補パターン通知データは、図10で説明した候補パターン通知データ700cと同様である。
次に、第5の実施の形態の情報処理システムの処理手順を説明する。ここで、第5の実施の形態の監視対象サーバ100,100a,100bによるメッセージ配布の手順は、図11で説明した手順と同様である。
また、第5の実施の形態の前段検出サーバ200,200a,200b,200cによる候補パターン検出の手順は図12で説明した手順と同様である。ただし、図9で説明したメッセージデータ600dが前段検出サーバ200で、メッセージデータ600aが前段検出サーバ200aで、メッセージデータ600b,600cが前段検出サーバ200bで、それぞれ収集されたものとする。第5の実施の形態の前段検出サーバ200,200a,200b,200cは、候補パターン通知データを中段検出サーバ300a,300bの何れかに送信する。すると、中段検出サーバ300a,300bは、受信した候補パターン通知データを蓄積する。
更に、第5の実施の形態の後段検出サーバ300による障害検出の手順は図13で説明した手順と同様である。ただし、第5の実施の形態の後段検出サーバ300は、中段検出サーバ300a,300bから受信した候補パターン通知データを蓄積する。そして、後段検出サーバ300は、蓄積した当該候補パターン通知データに基づいて障害を検出する。
以下、中段検出サーバ300aによる候補パターン検出の手順を説明する。中段検出サーバ300bの処理手順も中段検出サーバ300aと同様である。
図29は、第5の実施の形態の候補パターン検出の例を示すフローチャートである。以下、図29に示す処理をステップ番号に沿って説明する。
(ステップS51)管理端末装置400は、中段検出サーバ300aにタイムウィンドウを入力する。候補合成部320aは、タイムウィンドウの入力を受け付ける。なお、中段検出サーバ300a,300bに入力するタイムウィンドウの時間範囲は、前段検出サーバ200,200a,200b,200cおよび後段検出サーバ300に入力するタイムウィンドウの時間範囲と同一とする。ただし、少なくとも一部が重複した異なる時間範囲でもよい。管理端末装置400は、前段検出サーバ200,200a,200b,200cおよび後段検出サーバ300に対するタイムウィンドウの入力と同時に中段検出サーバ300a,300bにタイムウィンドウを入力してもよい。その場合、前段検出サーバ200,200a,200b,200cから送信される候補パターン通知データを一通り受信した後に、以降のステップS52を開始する。
(ステップS52)候補合成部320aは、記憶部310aに記憶された候補パターン通知データを参照して、終わりの時間に設定された時間がタイムウィンドウ内である全ての候補パターン(候補パターン列)を取得する。
(ステップS53)候補合成部320aは、記憶部310aに記憶された候補パターンテーブル311aを参照して、障害番号を1つ選択する。
(ステップS54)候補合成部320aは、候補パターンテーブル311aを参照して、候補パターン列が当該障害番号の枝番号に対応する何れかの合成パターンと一致するか否か判定する。何れかの合成パターンと一致する場合、処理をステップS55に進める。
(ステップS55)候補合成部320aは、記憶部310aに記憶された候補パターン通知データを参照して、当該障害番号の否定パターンがあるか否か判定する。否定パターンがない場合、処理をステップS56に進める。否定パターンがある場合、処理をステップS58に進める。
(ステップS56)候補合成部320aは、記憶部310に記憶された候補パターン通知データを参照して、検出した合成パターンの要素となる候補パターンに対応する始めの時間および終わりの時間を抽出する。候補合成部320aは、抽出した時間のうち、最も早い時間および最も遅い時間の両方がタイムウィンドウ内に含まれるか否か判定する。含まれる場合、処理をステップS57に進める。含まれない場合、処理をステップS58に進める。なお、ステップS54では、複数の合成パターンが検出されることもある。その場合、複数の合成パターンの何れかがタイムウィンドウ内に含まれれば、処理をステップS57に進める。一方、複数の合成パターンの全てがタイムウィンドウに含まれなければ、処理をステップS58に進める。
(ステップS57)候補合成部320aは、候補パターン列から検出した合成パターン(タイムウィンドウ内に含まれるもののみ)について、候補パターン通知データを生成し、後段検出サーバ300に送信する。例えば、候補パターン列が“1:1:1−2”および“1:2:1−2”の組み合わせである場合、候補合成部320aは候補パターン通知データ700gを後段検出サーバ300に送信する。他の枝番号の合成パターンがある場合には、当該合成パターンに対応する候補パターンに関しても候補パターン通知データを生成して後段検出サーバ300に送信する。ここで、例えば、候補パターンテーブル311aの枝番号“1−1”のように、何れの候補パターンも取得できていない場合に、ステップS54で合成パターンと一致すると判断することもある。この場合、候補合成部320aは後段検出サーバ300に対する候補パターンの通知は行わない。
(ステップS58)候補合成部320aは、ステップS53で選択した障害番号について否定パターン用の通知データを生成し、後段検出サーバ300に送信する。例えば、候補パターンテーブル311aによれば、障害番号“1”には枝番号“1−1”、“1−2”、“1−3”がある。その場合、否定パターンが通知されるのは、障害番号“1”に対し、これら全枝番号の合成パターンを候補パターン列から検出できなかったとき(ステップS54 No)である。または、候補パターン通知データとして障害番号“1”の否定パターン“¬1”を取得しているとき(ステップS55 No)である。すると、候補合成部320aは、障害番号“1”の否定パターン“¬1”を設定した候補パターン通知データ700cを生成して後段検出サーバ300に送信する。
(ステップS59)候補合成部320aは、ステップS53で選択した障害番号を処理済とする。候補合成部320aは、候補パターンテーブル311aを参照して、次の障害番号(未処理の障害番号)があるか否かを判定する。次の障害番号がある場合、処理をステップS53に進める。次の障害番号がない場合、処理を終了する。
このようにして、中段検出サーバ300a,300bで、前段検出サーバ200,200a,200b,200cから受信した候補パターンの組み合わせに基づき、候補パターンの絞り込みが行われる。
なお、上記ステップS52では、候補合成部320aは、記憶部310aに記憶された候補パターン通知データを参照して、始めの時間および終わりの時間の両方がタイムウィンドウ内である全ての候補パターン(候補パターン列)を取得してもよい。その場合、ステップS56をスキップして、ステップS57に進んでもよい。
ここで、大規模な情報処理システムでは、監視すべき障害内容も多量となる可能性がある。このとき、より多くのメッセージデータを収集するために前段検出サーバの数を増やすことで、各前段検出サーバの負荷を分散できる。また、中段検出サーバを設けて段階的に障害候補を絞り込むことで、後段検出サーバの負荷を分散できる。このようにして、各検出サーバの処理負担を効率的に軽減することができる。
なお、ここでは3段階の場合を例示したが、中段検出サーバを複数段設けて4段階以上としてもよい。例えば、N(Nは3以上の整数)段階とする場合、第1段目に3以上の前段検出サーバ群を設ける。第2段目から第N−1段目(N=3のときは第2段目)に中段検出サーバ群を設ける。中段検出サーバ群は1段当たり1以上の中段検出サーバを含む。そして、第N段目(最終段目)に後段検出サーバを設ける。検出サーバの段数は、運用に応じて、各検出サーバが過負荷とならないよう柔軟に決定することができる。
1 情報処理装置
2,2a,3 ノード
M1,M2,M3 メッセージ
X,X1,X2 集合
Y1,Y2,Y3,Z 障害候補の情報

Claims (8)

  1. 複数のノードを備えており情報処理装置が出力する複数の種類のメッセージに基づいて前記情報処理装置の障害を検出するシステムが実行する障害検出方法であって、
    前記複数の種類の一部である第1の集合に属する種類のメッセージを第1のノードに収集し、前記複数の種類の一部である前記第1の集合とは異なる第2の集合に属する種類のメッセージを第2のノードに収集し、
    前記第1のノードに収集された前記第1の集合に属する種類のメッセージに基づいて第1の障害候補の情報を生成し、また、前記第2のノードに収集された前記第2の集合に属する種類のメッセージに基づいて第2の障害候補の情報を生成し、
    前記第1の障害候補の情報と前記第2の障害候補の情報との組み合わせに基づいて前記情報処理装置の障害を検出する、
    障害検出方法。
  2. 前記第1のノードおよび前記第2のノードに収集するメッセージの種類を、前記複数の種類それぞれのメッセージが前記情報処理装置により出力された回数に基づいて変更する、請求項1記載の障害検出方法。
  3. 前記複数の種類は、前記第1の集合および前記第2の集合を含む、要素の重複のない複数の集合に分けられて、前記複数の集合それぞれにつき収集先のノードが割り当てられており、
    メッセージを収集する際に、前記複数の種類それぞれに対応する番号の情報を記憶する記憶手段を参照して当該メッセージの種類に対応する番号を取得し、当該番号を収集先のノードの数で除したときの剰余に基づいて収集先のノードを決定する、
    請求項1記載の障害検出方法。
  4. 所定の障害に対応するメッセージの種類の障害パターンを複数の部分パターンに分割して、第1の部分パターンを前記第1のノードに割り当て、第2の部分パターンを前記第2のノードに割り当て、
    前記第1のノードに収集されたメッセージの種類の組み合わせから前記第1の部分パターンが検出された場合に前記第1の障害候補の情報を生成し、また、前記第2のノードに収集されたメッセージの種類の組み合わせから前記第2の部分パターンが検出された場合に前記第2の障害候補の情報を生成する、
    請求項1乃至3の何れか一項に記載の障害検出方法。
  5. 前記第1のノードに収集されたメッセージの種類の組み合わせから前記第1の部分パターンが検出されない場合に前記所定の障害の否定を示す情報を生成し、また、前記第2のノードに収集されたメッセージの種類の組み合わせから前記第2の部分パターンが検出されない場合に前記所定の障害の否定を示す情報を生成し、
    少なくとも何れかの前記所定の障害の否定を示す情報が生成された場合には、前記所定の障害を検出しない、
    請求項4記載の障害検出方法。
  6. メッセージを収集する際に、当該メッセージの出力時間を取得し、
    時間範囲の情報の入力を受け付けると、前記第1のノードおよび前記第2のノードに収集されたメッセージのうち出力時間が前記時間範囲に属するメッセージに基づいて前記第1の障害候補の情報および前記第2の障害候補の情報を生成する、
    請求項1乃至5の何れか一項に記載の障害検出方法。
  7. 前記複数のノードは、前記第1のノードおよび前記第2のノードを含み3以上のノードを含む1段目のノード群と、1またはそれ以上のノードを含む中間ノード群と、最終段のノードと、を含み、
    前記中間ノード群を用いて前記1段目のノード群が生成した前記第1の障害候補の情報および前記第2の障害候補の情報を含む複数の障害候補の情報を段階的に絞り込み、絞り込まれた障害候補の情報を前記最終段のノードに収集し、
    前記最終段のノードに収集された障害候補の情報に基づいて前記情報処理装置の障害を検出する、
    請求項1乃至6の何れか一項に記載の障害検出方法。
  8. 情報処理装置が出力する複数の種類のメッセージに基づいて前記情報処理装置の障害を検出する障害検出システムであって、
    前記複数の種類の一部である第1の集合に属する種類のメッセージを収集し、収集した前記第1の集合に属する種類のメッセージに基づいて第1の障害候補の情報を生成する第1のノードと、
    前記複数の種類の一部である前記第1の集合とは異なる第2の集合に属する種類のメッセージを収集し、収集した前記第2の集合に属する種類のメッセージに基づいて第2の障害候補の情報を生成する第2のノードと、
    前記第1の障害候補の情報と前記第2の障害候補の情報との組み合わせに基づいて、前記情報処理装置の障害を検出する、または、前記第1の障害候補の情報と前記第2の障害候補の情報とを集約した第3の障害候補の情報を生成する第3のノードと、
    を有する障害検出システム。
JP2011276892A 2011-12-19 2011-12-19 障害検出方法および障害検出システム Expired - Fee Related JP5741418B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011276892A JP5741418B2 (ja) 2011-12-19 2011-12-19 障害検出方法および障害検出システム
US13/687,579 US9141452B2 (en) 2011-12-19 2012-11-28 Failure detection method and failure detection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011276892A JP5741418B2 (ja) 2011-12-19 2011-12-19 障害検出方法および障害検出システム

Publications (2)

Publication Number Publication Date
JP2013127693A JP2013127693A (ja) 2013-06-27
JP5741418B2 true JP5741418B2 (ja) 2015-07-01

Family

ID=48611503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011276892A Expired - Fee Related JP5741418B2 (ja) 2011-12-19 2011-12-19 障害検出方法および障害検出システム

Country Status (2)

Country Link
US (1) US9141452B2 (ja)
JP (1) JP5741418B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990770B2 (en) 2011-05-25 2015-03-24 Honeywell International Inc. Systems and methods to configure condition based health maintenance systems
US9037920B2 (en) * 2012-09-28 2015-05-19 Honeywell International Inc. Method for performing condition based data acquisition in a hierarchically distributed condition based maintenance system
JP2017207994A (ja) * 2016-05-20 2017-11-24 株式会社リクルートホールディングス 予約管理装置および予約管理プログラム
US10025671B2 (en) * 2016-08-08 2018-07-17 International Business Machines Corporation Smart virtual machine snapshotting

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0922368A (ja) 1995-07-06 1997-01-21 Mitsubishi Electric Corp 計算機システム診断方法およびその装置
US8438241B2 (en) * 2001-08-14 2013-05-07 Cisco Technology, Inc. Detecting and protecting against worm traffic on a network
WO2004061681A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited 運用管理方法および運用管理サーバ
US8280687B2 (en) * 2004-03-31 2012-10-02 Mentor Graphics Corporation Direct fault diagnostics using per-pattern compactor signatures
JP4944391B2 (ja) * 2005-05-11 2012-05-30 富士通株式会社 メッセージ異常自動判別装置、方法、及びプログラム
US7765444B2 (en) * 2006-11-06 2010-07-27 Nec Electronics Corporation Failure diagnosis for logic circuits
US8141051B2 (en) * 2006-12-29 2012-03-20 Intel Corporation Methods and apparatus to collect runtime trace data associated with application performance
JP5215895B2 (ja) 2009-02-04 2013-06-19 株式会社日立ソリューションズ 障害原因解析システム及びプログラム
JP5428934B2 (ja) * 2010-02-22 2014-02-26 富士通株式会社 障害パターン生成プログラムおよび障害パターン生成装置

Also Published As

Publication number Publication date
US20130159790A1 (en) 2013-06-20
JP2013127693A (ja) 2013-06-27
US9141452B2 (en) 2015-09-22

Similar Documents

Publication Publication Date Title
JP4588500B2 (ja) ストレージ・エリア・ネットワークにおけるストレージセッション管理システム
EP3327637B1 (en) On-demand fault reduction framework
US6651183B1 (en) Technique for referencing failure information representative of multiple related failures in a distributed computing environment
CA2996960C (en) System for aggregation and prioritization of it asset field values from real-time event logs and method thereof
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
JP5741418B2 (ja) 障害検出方法および障害検出システム
US20070168696A1 (en) System for inventing computer systems and alerting users of faults
US20050138111A1 (en) On-line service/application monitoring and reporting system
EP2360590A2 (en) Apparatus and method for analysing a computer infrastructure
JP2004086792A (ja) 障害情報収集プログラムおよび障害情報収集装置
JP2002108728A (ja) 障害情報の掲載方法およびプロバイダ設備
US11526422B2 (en) System and method for troubleshooting abnormal behavior of an application
US20160036665A1 (en) Data verification based upgrades in time series system
US20170031743A1 (en) Quorum based distributed anomaly detection and repair
US10176069B2 (en) Quorum based aggregator detection and repair
US8935571B2 (en) Visual outage management wizard plug-in
US9021078B2 (en) Management method and management system
WO2014196982A1 (en) Identifying log messages
US20160125330A1 (en) Rolling upgrade of metric collection and aggregation system
JP4818379B2 (ja) フェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法
US20120215492A1 (en) Methods & apparatus for remotely diagnosing grid-based computing systems
JP6926646B2 (ja) 事業者間一括サービス管理装置および事業者間一括サービス管理方法
JP6269004B2 (ja) 監視支援プログラム、監視支援方法および監視支援装置
JP5586322B2 (ja) プラント監視システムおよびプラント監視方法
JPWO2015125225A1 (ja) データ処理システム及びデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150325

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: 20150331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150413

R150 Certificate of patent or registration of utility model

Ref document number: 5741418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees