(57)【要約】【課題】障害メッセージから適切なワークアラウンドを特定すること。【解決手段】障害メッセージパターン定義部１００が設定した障害メッセージパターン定義の正規表現により定義した検索式を最下層検索式に展開し、定義リストデータベース２００に格納した障害メッセージパターン定義の検索式を最下層検索式に展開し、該展開した両最下層検索式のオートマトンを生成して比較することによって、最下層検索式が重複する検索式を判定し、該重複した最下層検索式を論理否定するように検索式を修正する障害メッセージパターン定義支援システム。【選択図】図１
2014186410.tif 000002
【特許請求の範囲】
【請求項１】
障害メッセージを解析して障害メッセージに応じたワークアラウンドを選択するための文字列を正規表現により定義した条件式を含む複数の障害メッセージパターン定義を格納する定義リストデータベースと、複数の警告メッセージを受信し、前記障害メッセージパターン定義を参照してワークアラウンドを特定するワークアラウンド特定処理部と、サービスデスクからの操作によってインシデントに対するワークアラウンドを実行するインシデント処理部と、該インシデント処理部によるインシデント処理内容を格納するワークアラウンド選択統計情報データベースと、該ワークアラウンド選択統計情報データベースに格納した統計情報に基づいて前記定義リストデータベースの障害メッセージパターン定義を修正する定義修正処理部と、前記障害メッセージパターン定義を設定する障害メッセージパターン定義部と、該障害メッセージパターン定義部からの指示に基づいて障害メッセージパターン定義を追加する定義追加処理部と、前記障害メッセージパターン定義部により設定した障害メッセージパターンの検索式と内容が重複した定義リストデータベースの障害メッセージパターン定義を判定する追加定義の重複チェック処理部と、該追加定義の重複チェック処理部により判定したテスト用の障害メッセージを格納する障害メッセージテストデータデータベースとを備える障害メッセージパターン定義支援システムであって、
前記追加定義の重複チェック処理部が、
前記障害メッセージパターン定義部が設定した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第１工程と、
前記定義リストデータベースに格納した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第２工程と、
該第１工程により展開した最下層検索式と前記第２工程により展開した最下層検索式とを比較することによって、前記定義リストデータベースに格納した障害メッセージパターン定義の最下層検索式が重複する障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式を判定する第３工程と、
該第３工程により判定した重複した最下層検索式を障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式に対して論理否定するように修正する第４工程とを実行することを特徴とする障害メッセージパターン定義支援システム。
【請求項２】
前記追加定義の重複チェック処理部が、前記第３工程において重複する最下層検索式を判定するとき、前記第１工程により展開した最下層検索式のオートマトンを生成する第５工程と、前記第２工程により展開した最下層検索式のオートマトンを生成する第６工程と、該第５工程及び第６工程により生成したオートマトンを初期状態を共通として合成する第７工程と、該第７工程により合成した合成オートマトンの初期状態から受理状態に到達するまでの複数の経路を抽出し、該複数の経路を経由する文字列の有無によって、最下層検索式が重複する検索式を判定することを特徴とする請求項１記載の障害メッセージパターン定義支援システム。
【請求項３】
前記ワークアラウンド選択統計情報データベースが格納するインシデント処理部によるインシデント処理内容が、障害メッセージに対応してサービスデスクにより選択された障害メッセージパターン定義の選択回数とワークアラウンドを採用する閾値とを含み、前記定義修正処理部が、前記ワークアラウンド選択統計情報データベースに格納した障害メッセージパターン定義の選択回数が前記閾値を越えたと判定したとき、前記定義リストデータベースの定義パターン定義を更新することを特徴とする請求項１又は２記載の障害メッセージパターン定義支援システム。
【請求項４】
障害メッセージを解析して障害メッセージに応じたワークアラウンドを選択するための文字列を正規表現により定義した条件式を含む複数の障害メッセージパターン定義を格納する定義リストデータベースと、複数の警告メッセージを受信し、前記障害メッセージパターン定義を参照してワークアラウンドを特定するワークアラウンド特定処理部と、サービスデスクからの操作によってインシデントに対するワークアラウンドを実行するインシデント処理部と、該インシデント処理部によるインシデント処理内容を格納するワークアラウンド選択統計情報データベースと、該ワークアラウンド選択統計情報データベースに格納した統計情報に基づいて前記定義リストデータベースの障害メッセージパターン定義を修正する定義修正処理部と、前記障害メッセージパターン定義を設定する障害メッセージパターン定義部と、該障害メッセージパターン定義部からの指示に基づいて障害メッセージパターン定義を追加する定義追加処理部と、前記障害メッセージパターン定義部により設定した障害メッセージパターンの検索式と内容が重複した定義リストデータベースの障害メッセージパターン定義を判定する追加定義の重複チェック処理部と、該追加定義の重複チェック処理部により判定したテスト用の障害メッセージを格納する障害メッセージテストデータデータベースとを備えるコンピュータシステムの障害メッセージパターン定義支援方法であって、
前記追加定義の重複チェック処理部に、
前記障害メッセージパターン定義部が設定した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第１工程と、
前記定義リストデータベースに格納した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第２工程と、
該第１工程により展開した最下層検索式と前記第２工程により展開した最下層検索式とを比較することによって、前記定義リストデータベースに格納した障害メッセージパターン定義の最下層検索式が重複する障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式を判定する第３工程と、
該第３工程により判定した重複した最下層検索式を障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式に対して論理否定するように修正する第４工程とを実行させることを特徴とする障害メッセージパターン定義支援方法。
【請求項５】
前記追加定義の重複チェック処理部に、前記第３工程において重複する最下層検索式を判定させるとき、前記第１工程により展開した最下層検索式のオートマトンを生成する第５工程と、前記第２工程により展開した最下層検索式のオートマトンを生成する第６工程と、該第５工程及び第６工程により生成したオートマトンを初期状態を共通として合成する第７工程と、該第７工程により合成した合成オートマトンの初期状態から受理状態に到達するまでの複数の経路を抽出し、該複数の経路を経由する文字列の有無によって、最下層検索式が重複する検索式を判定させることを特徴とする請求項４記載の障害メッセージパターン定義支援方法。
【請求項６】
前記ワークアラウンド選択統計情報データベースが格納するインシデント処理部によるインシデント処理内容が、障害メッセージに対応してサービスデスクにより選択された障害メッセージパターン定義の選択回数とワークアラウンドを採用する閾値とを含み、前記定義修正処理部に、前記ワークアラウンド選択統計情報データベースに格納した障害メッセージパターン定義の選択回数が前記閾値を越えたと判定したとき、前記定義リストデータベースの定義パターン定義を更新させることを特徴とする請求項４又は５記載の障害メッセージパターン定義支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害監視装置が検知したインシデントにサービスデスクがワークアラウンド（一次対応）を自動的に付与するための障害メッセージパターンの定義を支援することができる障害メッセージパターン定義支援システム及び障害メッセージパターン定義支援方法に関する。
【背景技術】
【０００２】
近年のコンピュータシステムにおいては、日々発生する監視対象機器（顧客コンピュータ、仮想マシン）からの解決すべき案件や課題を含むメッセージに対して迅速かつ正確にワークアラウンド（一次対応）を行う際に、これらメッセージをインシデントとしてコンピュータ管理するインシデント管理システムが採用されている。このインシデント管理システムでは、監視対象機器からのメッセージに加えて顧客からの問合せや作業依頼もインシデントとしてとらえ、インシデント管理システムに登録し、この障害監視運用業務においては、サービスデスクが監視対象の機器などから日々発生するインシデントに対し、業務への影響を最小限に抑えることを目的として、関係者への連絡や一次対応を行っている。
【０００３】
サービスデスクが実施するこれらのワークアラウンドは、顧客のコンピュータシステムの拡大や複雑化に伴い処理件数の増加や手順の複雑化を招き、この対策として、ランブックオートメーションなどの作業自動実行システムを導入して、発生したインシデントの障害メッセージを障害メッセージパターン定義に基づいて分析し、分析結果に応じてワークアラウンドを自動的に付与する技術が提案されている。
【０００４】
なお、プログラムのテストデータを自動的に生成する技術が記載された文献としては、下記の特許文献が挙げられ、特許文献１には、設計書情報に基づいてテストケース別のテストデータを自動生成する技術が記載され、特許文献２には、予め登録された設計情報及びテストパターンに基づいてテスト対象のプログラムを構成する操作部品ごとに適切なテストデータを生成し、ＧＵＩプログラムのテスト作業において、テストの自動実行を実現することで網羅的かつ効率的なプログラムテストを実現する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３７２９号公報
【特許文献２】特開２００６−２４４１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の特許文献に記載技術は、プログラムに対するテストデータを生成する技術が記載されているものの、システムのエラーメッセージに基づいてワークアラウンド（一次対応）を自動的に付与するための障害メッセージパターン定義の生成を支援することは考慮されていないという課題があった。
【０００７】
この課題を具体的に説明する。まず、従来技術によるワークアラウンドを選択するための障害メッセージパターン定義は、その障害メッセージから適切なワークアラウンドを特定するため、障害メッセージのパターンを示す条件式とワークアラウンドの関連付けを障害メッセージパターンとして正規表現により定義している。しかしながら、データセンタにおいてはＩＴシステム運用の対象が数万サーバにも達し、障害メッセージパターン定義数も比例して増加し、障害メッセージパターン定義内容が重複した際には不適切なワークアラウンドが選択されてしまうものであるが、人手による重複除去作業は膨大な障害メッセージパターンを解析しなければならず、実現困難であり、従来技術においては障害メッセージパターン定義の生成を支援することが困難であるという課題があった。
【０００８】
例えば、障害メッセージパターンとして、「”＾．＊ノードが停止しました。．＊＄”」と「”＾．＊ノードが停止しました。フェールオーバーによりシステムは継続稼動しています。．＊＄”」が定義されている場合、前者が後者を包含しているため、常に前者に対応するワークアラウンドが実施されてしまい、適切な定義とするには、前者の条件式に後者の条件式の否定を付加する等の変更が必要となるが、条件式は数万におよぶため、手作業で確認し定義変更していくことは非常に時間もかかり確認誤りも発生する可能性があるという課題があった。なお、前記「”」は電子出願の外字のため本来はダブルミュートをダブルクォーテーションにした代用であり、正規表現については後述する。
【０００９】
本発明の目的は、前述の従来技術による課題を解決しようとするものであり、障害メッセージパターンの生成を支援することができる障害メッセージパターン定義支援システム及び障害メッセージパターン定義支援方法を提供することである。
【課題を解決するための手段】
【００１０】
前記目的を達成するため本発明は、障害メッセージを解析して障害メッセージに応じたワークアラウンドを選択するための文字列を正規表現により定義した条件式を含む複数の障害メッセージパターン定義を格納する定義リストデータベースと、複数の警告メッセージを受信し、前記障害メッセージパターン定義を参照してワークアラウンドを特定するワークアラウンド特定処理部と、サービスデスクからの操作によってインシデントに対するワークアラウンドを実行するインシデント処理部と、該インシデント処理部によるインシデント処理内容を格納するワークアラウンド選択統計情報データベースと、該ワークアラウンド選択統計情報データベースに格納した統計情報に基づいて前記定義リストデータベースの障害メッセージパターン定義を修正する定義修正処理部と、前記障害メッセージパターン定義を設定する障害メッセージパターン定義部と、該障害メッセージパターン定義部からの指示に基づいて障害メッセージパターン定義を追加する定義追加処理部と、前記障害メッセージパターン定義部により設定した障害メッセージパターンの検索式と内容が重複した定義リストデータベースの障害メッセージパターン定義を判定する追加定義の重複チェック処理部と、該追加定義の重複チェック処理部により判定したテスト用の障害メッセージを格納する障害メッセージテストデータデータベースとを備える障害メッセージパターン定義支援システムであって、
前記追加定義の重複チェック処理部が、
前記障害メッセージパターン定義部が設定した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第１工程と、
前記定義リストデータベースに格納した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第２工程と、
該第１工程により展開した最下層検索式と前記第２工程により展開した最下層検索式とを比較することによって、前記定義リストデータベースに格納した障害メッセージパターン定義の最下層検索式が重複する障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式を判定する第３工程と、
該第３工程により判定した重複した最下層検索式を障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式に対して論理否定するように修正する第４工程とを実行することを第１の特徴とする。
【００１１】
また、本発明は、第１の特徴の障害メッセージパターン定義支援システムにおいて、前記追加定義の重複チェック処理部が、前記第３工程において重複する最下層検索式を判定するとき、前記第１工程により展開した最下層検索式のオートマトンを生成する第５工程と、前記第２工程により展開した最下層検索式のオートマトンを生成する第６工程と、該第５工程及び第６工程により生成したオートマトンを初期状態を共通として合成する第７工程と、該第７工程により合成した合成オートマトンの初期状態から受理状態に到達するまでの複数の経路を抽出し、該複数の経路を経由する文字列の有無によって、最下層検索式が重複する検索式を判定することを第２の特徴とし、前記何れかの特徴の障害メッセージパターン定義支援システムにおいて、前記ワークアラウンド選択統計情報データベースが格納するインシデント処理部によるインシデント処理内容が、障害メッセージに対応してサービスデスクにより選択された障害メッセージパターン定義の選択回数とワークアラウンドを採用する閾値とを含み、前記定義修正処理部が、前記ワークアラウンド選択統計情報データベースに格納した障害メッセージパターン定義の選択回数が前記閾値を越えたと判定したとき、前記定義リストデータベースの定義パターン定義を更新することを第３の特徴とする。
【００１２】
更に、本発明は、障害メッセージを解析して障害メッセージに応じたワークアラウンドを選択するための文字列を正規表現により定義した条件式を含む複数の障害メッセージパターン定義を格納する定義リストデータベースと、複数の警告メッセージを受信し、前記障害メッセージパターン定義を参照してワークアラウンドを特定するワークアラウンド特定処理部と、サービスデスクからの操作によってインシデントに対するワークアラウンドを実行するインシデント処理部と、該インシデント処理部によるインシデント処理内容を格納するワークアラウンド選択統計情報データベースと、該ワークアラウンド選択統計情報データベースに格納した統計情報に基づいて前記定義リストデータベースの障害メッセージパターン定義を修正する定義修正処理部と、前記障害メッセージパターン定義を設定する障害メッセージパターン定義部と、該障害メッセージパターン定義部からの指示に基づいて障害メッセージパターン定義を追加する定義追加処理部と、前記障害メッセージパターン定義部により設定した障害メッセージパターンの検索式と内容が重複した定義リストデータベースの障害メッセージパターン定義を判定する追加定義の重複チェック処理部と、該追加定義の重複チェック処理部により判定したテスト用の障害メッセージを格納する障害メッセージテストデータデータベースとを備えるコンピュータシステムの障害メッセージパターン定義支援方法であって、
前記追加定義の重複チェック処理部に、
前記障害メッセージパターン定義部が設定した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第１工程と、
前記定義リストデータベースに格納した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第２工程と、
該第１工程により展開した最下層検索式と前記第２工程により展開した最下層検索式とを比較することによって、前記定義リストデータベースに格納した障害メッセージパターン定義の最下層検索式が重複する障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式を判定する第３工程と、
該第３工程により判定した重複した最下層検索式を障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式に対して論理否定するように修正する第４工程とを実行させることを第４の特徴とする。
【００１３】
また、本発明は、第４の特徴の障害メッセージパターン定義支援方法において、前記追加定義の重複チェック処理部に、前記第３工程において重複する最下層検索式を判定させるとき、前記第１工程により展開した最下層検索式のオートマトンを生成する第５工程と、前記第２工程により展開した最下層検索式のオートマトンを生成する第６工程と、該第５工程及び第６工程により生成したオートマトンを初期状態を共通として合成する第７工程と、該第７工程により合成した合成オートマトンの初期状態から受理状態に到達するまでの複数の経路を抽出し、該複数の経路を経由する文字列の有無によって、最下層検索式が重複する検索式を判定させることを第５の特徴とし、前記何れかの特徴の障害メッセージパターン定義支援方法において、前記ワークアラウンド選択統計情報データベースが格納するインシデント処理部によるインシデント処理内容が、障害メッセージに対応してサービスデスクにより選択された障害メッセージパターン定義の選択回数とワークアラウンドを採用する閾値とを含み、前記定義修正処理部に、前記ワークアラウンド選択統計情報データベースに格納した障害メッセージパターン定義の選択回数が前記閾値を越えたと判定したとき、前記定義リストデータベースの定義パターン定義を更新させることを第６の特徴とする。
【発明の効果】
【００１４】
本発明による障害メッセージパターン定義支援システム及び障害メッセージパターン定義支援方法は、追加定義の重複チェック処理部が、前記障害メッセージパターン定義部が設定した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第１工程と、前記定義リストデータベースに格納した障害メッセージパターン定義の正規表現により定義した検索式を式形成の最小単位である最下層検索式に展開する第２工程と、該第１工程により展開した最下層検索式と前記第２工程により展開した最下層検索式とを比較することによって、前記定義リストデータベースに格納した障害メッセージパターン定義の最下層検索式が重複する障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式を判定する第３工程と、該第３工程により判定した重複した最下層検索式を障害メッセージパターン定義部が設定した障害メッセージパターン定義の検索式に対して論理否定するように修正する第４工程とを実行することによって、障害メッセージから適切なワークアラウンドを特定し、障害メッセージパターンの生成を支援することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による障害メッセージパターン定義支援システムを含むコンピュータシステム示す図。
【図２】本発明の実施形態による障害メッセージパターン定義−条件式を示す図。
【図３】本発明の実施形態による重複チェック処理の条件式の展開と比較ペアの生成を説明するための図。
【図４Ａ】本発明の実施形態による直積オートマトンを利用した重複有無のチェックを説明するための図。
【図４Ｂ】本発明の実施形態による直積オートマトンを利用した重複有無のチェックを説明するための図。
【図５】本発明の実施形態による重複チェック処理のオートマトンからのマッチするデータの生成を説明するための図。
【図６】本発明の実施形態による障害メッセージテストデータベースを示す図。
【図７】本発明の実施形態によるワークアラウンド選択統計情報データベースを示す図。
【図８】本発明の実施形態による定義修正処理を説明するための図。
【図９】本発明の原理を説明するための図。
【発明を実施するための形態】
【００１６】
以下、本発明による障害メッセージパターン定義支援システム及び障害メッセージパターン定義支援方法の一実施形態を図面を参照して詳細に説明するが、まず、正規表現及び本発明の原理について説明する。
【００１７】
［正規表現］
本実施形態の前提となる正規表現（ｒｅｇｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎ）とは、文字列の集合を一つの文字列（メタ文字又は演算子と呼ぶ。）で表現する方法の一つであって、特定の集合にマッチする何らかの正規表現が存在すれば、無限の数のそのような表現があり、正規表現を構築するのには例えば次のメタ文字を演算子として提供している。
（１）縦棒「｜」：縦棒は選択肢を区切る選言としてのメタ文字。
（２）丸括弧「（）」：スコープと演算子の優先順位を定義するグループ分けとしてのメタ文字。
（３）疑問符「？」：直前の表現が０個か１個あることを示すメタ文字。
（４）アスタリスク「＊」：直前の表現が０個以上あることを示すメタ文字。
（５）プラス「＋」：直前の表現が１個以上あることを示すメタ文字。
（６）「＾」：テキストの先頭文字を選択するメタ文字。
（７）「．」：任意の文字であることを示すメタ文字（ワイルドカード）。
（８）「＄」：行の終わりの文字を指定するメタ文字。
（９）「！」：！に続く正規表現を否定する否定演算子のメタ文字。
（１０）「｜｜」：論理和を表すメタ文字。
（１１）「＆＆」：論理積を表すメタ文字。
【００１８】
これらのメタ文字（演算子）を使用する構文は任意の複雑な表現を形成するために組み合わされて使用され、本実施形態においては障害メッセージに含まれる文字列を論理演算する際の条件式として使用され、例えば、障害メッセージパターン「”＾．＊ノードが停止しました。．＊＄”」は、警告メッセージの先頭文字が「ノードが停止しました。」を含むメッセージのみを抽出する条件式であり、障害メッセージパターン「”＾．＊ノードが停止しました。フェールオーバーによりシステムは継続稼動しています。．＊＄”」は、警告メッセージの先頭文字が「ノードが停止しました。フェールオーバーによりシステムは継続稼動しています。」を含むメッセージのみを抽出する条件式であることを表している。
【００１９】
［原理］
さて、本発明は、前例のように前者が後者を包含しているため、常に前者に対応するワークアラウンドが実施されてしまい、適切な定義とするには前者の条件式に後者の条件式の否定を付加する等の変更が必要となるため、この重複する条件式を判定することを主な特徴とし、この重複条件式の判定方法を次に説明する。なお、この説明においては、正規表現のメタ文字では論理式が一般的ではないため、一般の論理式（ａｎｄ［＊と表す］，ｏｒ［＋と表す］，ｎｏｔ［＃と表す］）を用いて説明する。
【００２０】
まず、図９（イ）に示す如く、「（ａ＋ｂ）＊（ｃ＋ｄ）」の第１条件式と、「（ａ＋ｃ）＊（ｂ＋ｄ）」の第２条件式の重複部分を判定する場合、各第１及び第２条件式はカッコを展開することによって図９（ロ）及び（ハ）に示す如く、第１条件式が「ａ＊ｃ」「ａ＊ｄ」「ｂ＊ｃ」「ｂ＊ｄ」に展開され、第２条件式が「ａ＊ｂ」「ａ＊ｄ」「ｃ＊ｂ」「ｃ＊ｄ」に展開され、展開後の検索式が計８つの展開後条件式となる。本発明においては、これら２つの条件式から展開した個々４つの展開後条件式の順列組み合わせが１６（４×４＝１６）通りであることから、図９（ニ）に示す１６通りの組み合わせに対して後述するオートマトン（入力に対して内部の状態に応じた処理を行い、結果を出力する仮想的な自動機械機能）を作成して重複するか否かの判定を行い、これら１６通りの直積オートマンによる判定によって重複する組み合わせがない場合は第１条件式と第２条件式が重複しないと判定することができ、１つの組み合わせでも重複した場合は第１条件式と第２条件式が重複ありと判定することができ、重複すると判定したときには重複した展開条件式を一方の条件式から論理否定（ＮＯＴ）することによって、第１条件式と第２条件式の重複部分を除去することができる。
【００２１】
なお、この原理説明では理解を容易にするために一般の論理条件を用いて説明したが、本発明による障害メッセージパターン定義支援は前述の正規表現を用いた処理を対象としているため、前記重複した条件式の判定は他の手法によって判定するものであり、この判定手法は後述する。
【００２２】
このように本発明は、障害メッセージに基づいてワークアラウンド（一次対応）を選択する際の条件式である障害メッセージパターン定義を比較するとき、各論理式（検索条件）を式形成の最小単位である最下層検索式の条件式に展開し、該展開した最下層条件式を比較することによって重複部分を判定することができると共に、該判定した重複条件式を一方の元の検索式から除く論理式に修正することによって、障害メッセージパターンの生成を支援することを基本原理とする。
【００２３】
［構成］
さて、本実施形態による障害メッセージパターン定義支援方法を適用する障害メッセージパターン定義支援システムを含むコンピュータシステムは、図１に示す如く、障害メッセージを解析して障害メッセージに応じたワークアラウンドを選択するための基準となる複数の障害メッセージパターン定義２１０（条件式２１１及びワークアラウンド２１２を含む）を格納する定義リストデータベース２００と、複数のＩＴシステム群１１０からの警告メッセージ１１１を受信してワークアラウンドを特定するためのワークアラウンド特定処理部１１２と、サービスデスク１２０からの操作によってインシデントに対するワークアラウンドを実行するインシデント処理部１１３と、該インシデント処理部１１３によるインシデント処理内容を格納するワークアラウンド選択統計情報データベース１０９と、該ワークアラウンド選択統計情報データベース１０９に格納した統計情報に基づいて前記定義リストデータベース２００の障害メッセージパターン定義２１０を修正する定義修正処理部１０８と、前記障害メッセージパターン定義２１０を設定する障害メッセージパターン定義部１００と、該障害メッセージパターン定義部１００からの指示に基づいて障害メッセージパターン定義を追加する定義追加処理部１０６と、前記障害メッセージパターン定義部１００により設定した障害メッセージパターンの検索式と内容が重複した定義リストデータベース２００の障害メッセージパターン定義２１０を判定する追加定義の重複チェック処理部１０２と、該追加定義の重複チェック処理部１０２により判定したテスト用の障害メッセージを格納する障害メッセージテストデータデータベース１０３と、該テスト用障害メッセージテストデータを用いて適切なワークアラウンドが選定できるか否かのシミュレーションを実行するシミュレーション処理部１０４と、テストインシデントを格納するテストインシデントデータベース１０５とを備え、前記追加定義の重複チェック処理部１０２と定義修正処理部１０８とワークアラウンド選択統計情報データベース１０９が本実施形態による追加機能である。
【００２４】
前記追加定義の重複チェック処理部１０２は、既存の定義リストから１個ずつパターン定義を取り出し、追加分のパターン定義と比較し、条件式の重複有無をチェックし、条件式の重複が検出されたとき、追加分のパターン定義の条件式に既存パターン定義の条件式の否定を付加すると共に、シミュレーション処理部１０４に利用できるように障害メッセージテストデータを生成するように動作し、定義修正処理部１０８は、サービスデスク１２０による選択をワークアラウンド選択統計情報データベース１０９に蓄積しておき、閾値を超過した場合に自動的にパターン定義の条件式を修正するように動作し、これら重複チェック処理部１０２と定義修正処理部１０８とワークアラウンド選択統計情報データベース１０９は、既設のワークアラウンド処理を行うコンピュータシステムに組み込んだものである。
【００２５】
前記障害メッセージテストデータデータベース１０３は、図６に示す如く、文字列からなる障害メッセージテストデータと、該障害メッセージテストデータの種別を表すタイプと、生成元パターン定義ＩＤリストと、マッチング結果の各項目情報とから成り、レコード１からレコード４が任意の文字列のパターン定義を格納し、例えば、レコード１は、障害メッセージテストデータが「ａｂｄ」、タイプが「パターン定義」、生成元パターン定義ＩＤリストが「ＰＴＮ００１，ＰＴＮ００２」、マッチング結果が「ＰＴＮ００１，ＰＴＮ００２」であり、レコード５は、障害メッセージテストデータが「プロセスが停止しました。」、タイプが「実メッセージ」、生成元パターン定義ＩＤリストが「なし」、マッチング結果が「ＰＴＮ００２」であることを格納している。
【００２６】
前記ワークアラウンド選択統計情報データベース１０９は、図７（ａ）に示す如く、障害メッセージと、マッチング結果と、選択された障害メッセージパターンを示す障害と、選択された回数の各項目情報とから構成され、例えば、レコード１の障害メッセージ「×××××」のマッチング結果が「ＰＴＮ００１，ＰＡＴＮ００２」であり、選択された対象が「ＰＴＮ００１」、選択された回数が４回であることと、ワークアラウンド（ＷＡ）を選択した設定ファイルを定義修正処理部１０８による障害メッセージパターン定義２１０を更新する際の最小限の閾値が５回であることが格納されている。
【００２７】
即ち、本実施形態においては、定義修正処理部１０８がワークアラウンド選択統計情報データベース１０９を参照し、同一の障害メッセージ（文字列）に対して同一の障害メッセージパターンのワークアラウンドが５回以上選択された場合に障害メッセージパターン定義２１０を更新することがワークアラウンド選択統計情報データベース１０９に格納されている。
【００２８】
上記のように本実施形態は、選択回数が閾値を越えたときに候補のワークアラウドと関連付けられている障害メッセージパターン定義の条件式の修正は、元の障害パターンが、図８（ａ）に示す如く、障害パターン「ＰＴＮ００１」が「”＾ａｂｃ．＊＄”」のワークアラウドが「ＷＡ１」であり、障害パターン「ＰＴＮ００２」が「”＾ａｂｃＸ．＊＄”」のワークアラウドが「ＷＡ２」であり、障害メッセージ「”ａｂｃＸＸＸ”」に対してＰＡＴＮ００１の選択回数が閾値５を越えた場合、次会からＰＴＮ００１のワーククラウドが、図８（ｂ）に示す如く、「（”＾ａｂｃ．＊＄”）＆＆（！（”＾ａｂｃＸＸＸ＄！））」の如く特定されるように動作するものである。
【００２９】
［動作］
次に、本実施形態による障害メッセージパターン定義支援システムにおける障害メッセージパターン定義及び該障害メッセージパターン定義に含まれる条件式の重複処理等について説明する。
まず、本例で説明する障害メッセージパターン定義２１０の正規表現で表されたメタ文字（演算子）は、例えば図２に示す如く、条件式を否定する「！」で表される否定演算子と、２つの条件式の論理和を示す「｜｜」で表される論理和演算子と、２つの条件式の論理積を示す「＆＆」で表される論理和演算子とする。
【００３０】
次いで、比較対象の条件式が、図３のパターン定義１「（（”＾．＊ａａａ．＊＄”）｜｜（”＾ｚ．＊ｚ＄”））＆＆（”＾ｚ．＊＄”）」とパターン定義２「（”＾ｂｂｂ．＊＄”」の場合、パターン定義１は、１−（１）及び１−（２）の如く展開され、パターン定義２は最下層（最小単位）なので２−（１）となる。
【００３１】
ここで、パターン定義１及び２の展開後の最下層検索式の比較ペアとして「１−（１）」と「２−（１）」との論理積（＆＆）と、「１−（２）」と「２−（２）」との論理積を生成する。
【００３２】
次いで、本実施形態による障害メッセージパターン定義支援システムは、時間及び順番との関連で検索式を表現するための表記法の時相論理式である直積オートマトン（状態遷移図）を利用して検索式の重複有無のチェックを行うように動作する。この動作は、図４Ａに示す如く、正規表現の検索式がＲ１「＾ｂ＊ａ（ｂ＊ａｂ＊ａ）＊ｂ＊＄」とＲ２「＾ａ＊ｂ（ａ＊ｂａ＊ｂ）＊ａ＊＄」を想定したとき、これら検索式は、状態と入力によって次に遷移すべき状態が一意に定まる有限オートマトンの一種である決定性有限オートマトン（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｆｉｎｉｔｅ  Ａｕｔｏｍａｔｏｎ）によって図４Ａ（ａ）及び（ｂ）の如く図形的表現を行うことができる。
【００３３】
この図形的表現は、Ｒ１「＾ｂ＊ａ（ｂ＊ａｂ＊ａ）＊ｂ＊＄」の場合、図４Ａ（ａ）の如く、符号４１で示す初期状態「Ｉ１」から符号４２で示す状態「０２」に推移し、この状態「０２」においては文字「ｂ」では自己に帰還し、文字「ａ」により符号４３で示す状態「Ｆ１」に推移し、該状態「Ｆ１」においては文字「ｂ」では自己に帰還し、文字「ａ」では前記状態「０１」へ受理することを表しており、Ｒ２「＾ａ＊ｂ（ａ＊ｂａ＊ｂ）＊ａ＊＄」の場合、図４Ａ（ｂ）の如く、符号４４で示す初期状態「Ｉ２」から符号４５で示す状態「０２」に推移し、該状態「０２」において文字「ａ」では自己に帰還し、文字「ｂ」により符号４６で示す状態「Ｆ２」に推移し、該状態「Ｆ２」においては文字「ａ」では自己に帰還し、文字「ｂ」では前記状態「０２」に受理することを表している。なお、図中の「Ｉ」は初期状態を表し、「Ｆ」は受理状態を表している。
【００３４】
本例においては、一般的に正規表現Ｒ１、Ｒ２に対して、ＤＦＡ（決定性有限オートマトン）Ａ１、Ａ２が決まり、各正規表現Ｒ１、Ｒ２を、初期状態Ｉ１及びＩ２を共通の起点として遷移するように合成した図４Ａ（ｃ）の如く、受理状態Ｆ１及びＦ２が共通の終点となるパス、即ち、直積オートマトンに対してＩ（初期状態）からＦ（受理状態）までのパスが存在するため、正規表現Ｒ１、Ｒ２に同時にマッチする文字列が存在すること、換言すれば条件式が重複することを判定することができる。
【００３５】
他方、図４Ｂに示す如く、正規表現の検索式がＲ１「＾ａ．＊ｂ＄」とＲ２「＾ｃ．ｃｄ＄」を想定したとき、これら検索式は、図４Ｂ（ａ）の如く、Ｒ１「＾ａ．＊ｂ＄」では符号４１で示す初期状態「Ｉ１」から符号４２で示す状態「０１」に推移し、この状態「０１」においては文字「ａ」のみで状態「１１」に推移し、該状態「１１」において任意文字では同状態「０１」に戻り、文字「ｂ」のみで符号４３で示す状態「Ｆ１」へ受理することを表し、Ｒ２「＾ｃ．ｃｄ＄」では、図４Ｂ（ｂ）に示す如く、符号４４で示す初期状態「Ｉ２」から符号４５で示す状態「０２」に推移し、この状態「０２」においては文字「ｃ」のみで状態「Ｉ２」に推移し、該状態「Ｉ２」において任意文字では同状態「Ｉ２」に戻り、文字「ｄ」のみで符号４６で示す状態「Ｆ２」へ受理することを表しており、図４Ｂ（ｃ）の如く、前記同様に初期状態Ｉ１及びＩ２を共通の起点として遷移するように合成したとき、どんな文字がきても受理状態（Ｆ１，Ｆ２）にならないため、条件式の重複がないと判定することができる。
【００３６】
また、本実施形態による障害メッセージパターン定義支援システムは、オートマトンからのマッチするデータを生成し、該マッチするデータの有無によって最上層の検索式の内容が重複するか否かを判定するものであって、このオートマトンからのマッチするデータの生成は、例えば、正規表現「”＾ａ（ｂ｜ｃ）（ｄ｜（ｅｆ＊ｇ））＄”」を想定したとき、図５に示す如く、初期状態「Ｉ」から文字「ａ」のみにより次の状態に推移し、この状態では文字「ｂ」又は「ｃ」により次の状態に推移し、この状態から文字「ｄ」の場合は受理状態「Ｆ」へ受理し、前記状態から文字「ｅ」の場合は次の状態に推移し、この状態では文字「ｄ」の場合に自己に帰還し、文字「ｇ」の場合に受理状態「Ｆ」へ受理すると表すことができ、初期状態「Ｉ」から受理状態「Ｆ」へ到達する経路としては「ａｂｄ」「ａｂｅｇ」「ａｃｄ」「ａｃｅｇ」の計４つのマッチするデータの文字列を生成することができる。
【００３７】
なお、前述の説明は、正規表現における検索式の重複判定方法をオートマトンの遷移図を用いて説明したが、コンピュータ処理においては、正規表現による比較対象の２つの最上層の検索式を前述の如く展開して最下層（最小単位）の複数の比較用検索式に展開し、一方の最下層の比較用検索式と他方の最下層の比較用検索式とを順列組み合わせで比較し、１つでも同一の比較用検索式がヒットした場合、当該比較対象の２つの最上層検索式は重複し、前記ヒットした同一比較用検索式が重複した検索式であると判定することができ、本実施形態においては、追記定義の重複チェック処理部１０２が前述の検索式の重複を図５を参照して説明したマッチするデータの文字列の有無により判定し、重複と判定したときに重複を判定した検索式を一方の最上層の検索式に対して否定（ＮＯＴ）することによって、障害メッセージのパターンを示す条件式とワークアラウンドの関連付けを障害メッセージパターンとして正規表現により定義するとき、障害メッセージから適切なワークアラウンドを特定し、障害メッセージパターンの生成を支援することができる。
【符号の説明】
【００３８】
１００  障害メッセージパターン定義部、１０２  重複チェック処理部、
１０３  障害メッセージテストデータデータベース、
１０４  シミュレーション処理部、１０５  テストインシデントデータベース、
１０６  定義追加処理部、１０８  定義修正処理部、
１０９  ワークアラウンド選択統計情報データベース、１１０  システム群、
１１１  警告メッセージ、１１２  ワークアラウンド特定処理部、
１１３  インシデント処理部、１２０  サービスデスク、
２００  定義リストデータベース、２１０  障害メッセージパターン定義
２１１  条件式、２１２  ワークアラウンド
【図１】
2014186410.tif 000003
【図２】
2014186410.tif 000004
【図３】
2014186410.tif 000005
【図４Ａ】
2014186410.tif 000006
【図４Ｂ】
2014186410.tif 000007
【図５】
2014186410.tif 000008
【図６】
2014186410.tif 000009
【図７】
2014186410.tif 000010
【図８】
2014186410.tif 000011
【図９】
2014186410.tif 000012