(57)【要約】  メッセージ解析装置１００は、エンジン部１２０が、入力装置２００からメッセージファイルを取得し、ピックアップ部１２０ａが、エラーメッセージ群を抽出し、グループ分け部１２０ｂが、エラーメッセージ群を物理パスごとにグループ分けし、絞込み部１２０ｃが、エラーメッセージ群を絞込み、エラー箇所検出特定部１２０ｄが、エラー箇所特定メッセージを選択し、被疑部品特定部１２０ｅが、被疑部品特定メッセージを選択し、グループ統合部１２０ｆが、複数のグループを統合し、運用状態特定部１２０ｇが、運用状態特定メッセージを選択し、出力部１２０ｈが、メッセージ解析結果を作成して表示装置３００に出力する。【特許請求の範囲】
【請求項１】
コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析装置であって、
前記複数のメッセージを記憶するメッセージ記憶手段と、
前記メッセージ記憶手段によって記憶された複数のメッセージを比較することによって、前記コンピュータの状態を判定する判定手段と、
を備えたことを特徴とするメッセージ解析装置。
【請求項２】
前記判定手段は、ハードウェアが複数のソフトウェアにより、ハードウェアの管理単位の異なる階層ごとに管理されている場合に、前記複数のメッセージと、当該複数のメッセージを生成した各ソフトウェアの階層とを基にして、前記コンピュータの状態を判定することを特徴とする請求項１に記載のメッセージ解析装置。
【請求項３】
前記記憶手段に記憶された複数のメッセージと、当該複数のメッセージをそれぞれ生成した各ソフトウェアの階層とを基にして、コンピュータに発生したエラー内容を特定し、当該エラー内容に対する対処方法を特定する対処方法特定手段を更に備えたことを特徴とする請求項２に記載のメッセージ解析装置。
【請求項４】
前記記憶手段に記憶された複数のメッセージと、当該複数のメッセージをそれぞれ生成した各ソフトウェアの階層とを基にして、不具合の発生したハードウェアを特定するハードウェア特定手段を更に備えたことを特徴とする請求項２に記載のメッセージ解析装置。
【請求項５】
コンピュータの運用状態を判定する運用状態判定手段を更に備え、当該運用状態判定手段は、前記メッセージ記憶手段によって記憶された複数のメッセージをそれぞれ生成した各ソフトウェアの階層に基づいて、最上位層のソフトウェアが管理するハードウェアの運用状態を特定し、特定した運用状態をコンピュータの運用状態として判定することを特徴とする請求項２に記載のメッセージ解析装置。
【請求項６】
前記記憶手段に記憶された複数のメッセージから、所定の形式と一致するメッセージを抽出するメッセージ抽出手段を更に備え、前記判定手段は、当該メッセージ抽出手段によって抽出された各メッセージを比較することによって、前記コンピュータの状態を判定することを特徴とする請求項１に記載のメッセージ解析装置。
【請求項７】
コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析方法であって、
前記複数のメッセージを記憶装置に記憶するメッセージ記憶工程と、
前記記憶装置に記憶された複数のメッセージを比較することによって、前記コンピュータの状態を判定する判定工程と、
を含んだことを特徴とするメッセージ解析方法。
【請求項８】
前記判定工程は、ハードウェアが複数のソフトウェアにより、ハードウェアの管理単位の異なる階層ごとに管理されている場合に、前記複数のメッセージと、当該複数のメッセージを生成した各ソフトウェアの階層とを基にして、前記コンピュータの状態を判定することを特徴とする請求項７に記載のメッセージ解析方法。
【請求項９】
コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析プログラムであって、
前記複数のメッセージを記憶装置に記憶するメッセージ記憶手順と、
前記記憶装置に記憶された複数のメッセージを比較することによって、前記コンピュータの状態を判定する判定手順と、
をコンピュータに実行させることを特徴とするメッセージ解析プログラム。
【請求項１０】
前記判定手順は、ハードウェアが複数のソフトウェアにより、ハードウェアの管理単位の異なる階層ごとに管理されている場合に、前記複数のメッセージと、当該複数のメッセージを生成した各ソフトウェアの階層とを基にして、前記コンピュータの状態を判定することを特徴とする請求項９に記載のメッセージ解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析装置に関するものである。
【背景技術】
【０００２】
従来、コンピュータに対する信頼性等を向上させるために、コンピュータを管理する管理者は、このコンピュータから、コンピュータの運用状況や、エラーなどの情報（以下、エラーメッセージ）を含んだメッセージを定期的（または不規則）に取得して、コンピュータのエラー箇所などを特定し、特定したエラー箇所を修正する必要があった。【０００３】
しかし、コンピュータから出力されるメッセージは、エラーメッセージのみならず、多種多様な情報が含まれていると共に、メッセージ量が膨大であるため、メッセージを解析して、コンピュータのエラーを特定・修正する管理者に多大な負担をかけてしまうという問題があった。【０００４】
そこで、近年では、複数のエラーメッセージにかかわる正規表現を集めた辞書情報を予め作成し、この辞書情報を基にして、コンピュータから出力される膨大な量のメッセージをエラーメッセージのみに絞り込むことによって、管理者の解析すべきメッセージ量を減らし、管理者にかかる負担を軽減させている。【０００５】
なお、特許文献１では、コンピュータから出力されるメッセージに属性を付加すると共に、この属性の結合順序などを定めた結合情報に基づいて各メッセージを結合させることで、メッセージを最適な順番に並び替えるという技術が公開されている。【０００６】
【特許文献１】特開２００２−３５１８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来にかかる技術では、管理者が解析すべきメッセージ量を多少減少させることができるものの、最終的なエラー箇所を特定する場合には、管理者自身が、各階層のドライバやアプリケーションが出力した複数種類のエラーメッセージの相互関係を考慮して、一つ一つ各エラーメッセージを解析し、エラー箇所を特定する必要があったため、管理者には依然多大な負荷がかかってしまうという問題があった。【０００８】
また、複数のエラーメッセージを基にして、エラー箇所を特定する場合には、専門的な知識が必要となるため、管理者は、エラーメッセージをコンピュータの設計者に問い合わせてエラー箇所を特定する必要もあり、非常に非効率でコストもかかってしまうという問題もあった。【０００９】
すなわち、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮して、コンピュータのエラー箇所などを効率的に判定することが極めて重要な課題となっている。【００１０】
本発明は、上記に鑑みてなされたものであって、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮して、コンピュータのエラー箇所を効率的に判定可能なメッセージ解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析装置であって、前記複数のメッセージを記憶するメッセージ記憶手段と、前記メッセージ記憶手段によって記憶された複数のメッセージを比較することによって、前記コンピュータの状態を判定する判定手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明にかかるメッセージ解析装置は、コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された複数のメッセージをそれぞれ比較することによって、コンピュータの状態を判定するので、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮したコンピュータの状態（不具合の発生したハードウェアやコンピュータの運用状態など）を効率的に判定することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例にかかるメッセージ解析装置の概念を説明するための説明図である。
【図２】図２は、本実施例にかかるメッセージ解析装置の構成を示す機能ブロック図である。
【図３】図３は、メッセージ定義辞書情報群のデータ構造の一例を示す図である。
【図４】図４は、被疑部品リスト情報のデータ構造の一例を示す図である。
【図５】図５は、ピックアップ部の処理を説明するための説明図である。
【図６】図６は、紛れメッセージを説明するための説明図である。
【図７】図７は、ピックアップ部が抽出したメッセージ群の一例を示す図である。
【図８】図８は、グループ分け部の処理を補足説明するための説明図である。
【図９】図９は、絞込み部の処理を補足説明するための説明図である。
【図１０】図１０は、エラー箇所検出特定部の処理を補足説明するための説明図である。
【図１１】図１１は、被疑部品特定部の処理を補足説明するための説明図である。
【図１２】図１２は、グループ結合部の処理を補足説明するための説明図である。
【図１３】図１３は、表示装置に表示されるメッセージ解析結果の一例である。
【図１４】図１４は、本実施例にかかるメッセージ解析装置の処理手順を示すフローチャートである。
【図１５】図１５は、図１４のステップＳ１０３に示したメッセージピックアップ処理のフローチャートである。
【図１６】図１６は、図１５のステップＳ２０９に示した紛れメッセージピックアップ処理のフローチャートである。
【図１７】図１７は、図１４のステップＳ１０４で示したグループ分け処理のフローチャートである。
【図１８】図１８は、図１４のステップＳ１０５で示した絞込み処理のフローチャートである。
【図１９】図１９は、図１４のステップＳ１０６で示したエラー箇所検出処理のフローチャートである。
【図２０】図２０は、図１４のステップＳ１０７で示した被疑部品特定処理のフローチャートである。
【図２１】図２１は、図１４のステップＳ１０８で示したグループ統合処理のフローチャートである。
【図２２】図２２は、図１４のステップＳ１０９で示した運用状態特定処理のフローチャートである。
【符号の説明】
【００１４】
１００    メッセージ解析装置
１１０    インターフェース部
１２０    エンジン部
１２０ａ  ピックアップ部
１２０ｂ  グループ分け部
１２０ｃ  絞込み部
１２０ｄ  エラー箇所検出特定部
１２０ｅ  被疑部品特定部
１２０ｆ  グループ統合部
１２０ｇ  運用状態特定部
１３０    記憶部
１３０ａ  メッセージ定義辞書情報群
１３０ｂ  出力情報定義辞書情報
１３０ｃ  被疑部品リスト情報
１３０ｄ  エラー概要ファイル情報
１３０ｅ  対処方法ファイル情報
２００    入力装置
３００    表示装置
【発明を実施するための最良の形態】
【００１５】
以下に、本発明に係るメッセージ解析装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１６】
まず、本実施例にかかるメッセージ解析装置の概念について説明する。図１は、本実施例にかかるメッセージ解析装置の概念を説明するための説明図である。図１では、一例として、メッセージ解析装置１００が、所定の業務を実行するサーバ５０から、このサーバ５０の運用状態を示すメッセージを複数含んだメッセージファイルを取得し、このメッセージファイルからサーバ５０の状態を判定する場合について説明する。【００１７】
なお、サーバ５０は、ＯＳ（Operating  System）５１と、ボリュームドライバ５２と、Ｉ／Ｏ（Input/Output）デバイスドライバ５３と、ＨＢＡ（Host  Bus  Adapter）ドライバ５４と、ＨＢＡ５５，５６と、Ｉ／Ｏ装置５７，５８とを有する。【００１８】
ＯＳ５１は、ファイルの管理、メモリの管理、入出力の管理、ユーザーインターフェースの提供などを行なう処理部である。ボリュームドライバ５２は、Ｉ／Ｏ装置５７，５８のミラー構成を制御する処理部である。なお、図１の例では、ボリュームドライバ５２に含まれるボリュームドライバ５２ａがＩ／Ｏ装置５７，５８のミラー構成を制御する。【００１９】
Ｉ／Ｏデバイスドライバ５３は、Ｉ／Ｏ装置５７，５８を制御する処理部である。なお、図１の例では、Ｉ／Ｏデバイスドライバ５３に含まれるＩ／Ｏデバイスドライバ５３ａが、Ｉ／Ｏ装置５７を制御し、Ｉ／Ｏデバイスドライバ５３ｂが、Ｉ／Ｏ装置５８を制御する。【００２０】
ＨＢＡドライバ５４は、ＨＢＡ５５，５６を制御する処理部である。なお、図１の例では、ＨＢＡドライバ５４に含まれるＨＢＡドライバ５４ａが、ＨＢＡ５７を制御し、ＨＢＡドライバ５４ｂが、ＨＢＡ５８を制御する。【００２１】
ＨＢＡ５５，５６は、ＨＢＡドライバ５４とＩ／Ｏ装置５７，５８とを接続し、所定の情報を中継する装置であり、Ｉ／Ｏ装置５７，５８は、情報を記憶する記憶装置である。なお、Ｉ／Ｏ装置５７，５８間はミラーリングされている。【００２２】
サーバ５０は、ＯＳ５１、ボリュームドライバ５２、Ｉ／Ｏデバイスドライバ５３、ＨＢＡドライバ５４から出力される複数のメッセージをメッセージファイルとして出力する。そして、メッセージ解析装置１００は、入力装置２００を介して、サーバ５０からメッセージファイルを取得する。【００２３】
メッセージ解析装置１００は、エンジン部１００ｂが、サーバ５０から取得したメッセージファイルおよびメッセージ定義辞書情報群１００ａなどに基づいて、メッセージファイルに含まれる複数のメッセージ間の関連を解析し、故障した部品やサーバ５０の運用状態などを判定し、判定した結果を表示装置３００に出力する。【００２４】
このように、メッセージ解析装置１００は、メッセージファイルから、エラー発生箇所や故障した部品の位置、運用状態などを判定するので、管理者にかかる負担を軽減させることができる。【００２５】
次に、本実施例にかかるメッセージ解析装置の構成について説明する。図２は、本実施例にかかるメッセージ解析装置の構成を示す機能ブロック図である。同図に示すように、このメッセージ解析装置１００は、インターフェース部１１０と、エンジン部１２０と、記憶部１３０とを有する。なお、メッセージ解析装置１００は、キーボードやマウスなどの入力装置２００とディスプレイなどの表示装置３００に接続されている。【００２６】
インターフェース部１１０は、入力装置２００から入力されるメッセージファイルなどの情報をエンジン部１２０に転送する処理部である。また、インターフェース部１１０は、エンジン部１２０から取得した情報を、表示装置３００に出力する。【００２７】
エンジン部１２０は、入力装置２００から取得したメッセージファイルと、記憶部１３０に記憶されたメッセージ定義辞書情報群１３０ａとを基にして、メッセージファイルを出力したコンピュータ（図１の例では、サーバ５０）のエラー発生状態を判定する処理部である。【００２８】
ここで、メッセージ定義辞書情報群１３０ａについて説明する。図３は、メッセージ定義辞書情報群１３０ａのデータ構造の一例を示す図である。同図に示すように、このメッセージ定義辞書情報群１３０ａは、「正規表現フォーマット」、「メッセージ行数」、「コード」、「エラー種別」、「対処方法番号」、「ドライバクラス」、「被疑部品番号」、「異常／復旧構成部品」、「重み付け」、「最終絞込み方法」、「エラー概要番号」、「インスタンス名取得情報」、「運用状態」を有する。なお、メッセージ定義辞書情報群１３０ａには複数のメッセージ定義辞書情報１、２、・・・が含まれる。ここでは、説明の便宜上、メッセージ定義辞書情報１、２のみを示し、その他のメッセージ定義辞書情報は省略する。【００２９】
「正規表現フォーマット」は、メッセージファイルに含まれるメッセージと、メッセージ定義辞書情報群１３０ａに含まれるメッセージ定義辞書情報とを対応付けるための情報である。例えば、図３の例では、正規表現フォーマット「WARNING.*mp.*switch  no  existed.」のフォーマット形式と一致するメッセージファイル中のメッセージは、メッセージ定義辞書情報１に対応付けられる。また、正規表現フォーマットは、メッセージファイルの中から所定のメッセージをピックアップする場合にも利用される。【００３０】
「メッセージ行数」は、メッセージ定義辞書情報に対応付けられるべきメッセージが、何行で構成されているかを示す情報である。図３に示すメッセージ定義辞書情報１では「３」行のメッセージとなる。「コード」は、メッセージに利用される文字コードを示す情報である。図３に示すメッセージ定義辞書情報１でのコードは「ＡＳＣＩＩ」となる。【００３１】
「エラー種別」は、メッセージ定義辞書情報に対応付けられるメッセージのエラーの種別を示す。例えば、図３のメッセージ定義辞書情報１に対応付けられたメッセージのエラーの種別は、「インターフェースエラー」となる。【００３２】
「対処方法番号」は、エラーの対処方法にかかわる情報の記録場所（図２に示す対処方法ファイル情報１３０ｅにエラーの対処方法が記録されている）を特定するための情報である。すなわち、図３のメッセージ定義辞書情報１では、エラー種別「インターフェースエラー」にかかわる対処方法が、対処方法ファイル情報１３０ｅの「３」番と「７」番とに記録されている。なお、対処方法ファイル情報１３０ｅは、エラーの対処方法一覧を記録した情報であり、各番号とエラー対処方法とがそれぞれ一対一で対応付けられている。エラー対処方法の一例としては、「被疑部品の接続状態などを確認してください」などがあげられる。【００３３】
「ドライバクラス」は、メッセージ定義辞書情報に対応付けられたメッセージが所属するドライバのクラス階層情報を示す。図３のメッセージ定義辞書情報１では、このメッセージ定義辞書情報１に対応付けられたメッセージが、ＨＢＡ層に所属することを示す。【００３４】
「被疑部品番号」は、エラー種別によって特定されるエラーが発生した場合に、交換対象となる部品情報（図２に示す被疑部品リスト情報１３０ｃに交換対象となる部品の情報が記録されている）の記録場所を特定するための情報である。すなわち、図３のメッセージ定義辞書情報１では、エラー種別「インターフェースエラー」にかかわる交換部品の情報が、被疑部品リスト情報１３０ｃの「１」番と「６」番と「１０２」番に記録されている。【００３５】
図４は、被疑部品リスト情報１３０ｃのデータ構造の一例を示す図である。同図に示すように、この被疑部品リスト情報１３０ｃは、各番号と、交換対象の部品の情報とがそれぞれ関連付けられている。図３，図４より、被疑部品番号「１」に対応する交換部品は「ＰＣＩバス[処理装置／ＰＣＩＢｏｘ／ＰＣＩディスクＢｏｘ]（ハード故障）」であり、被疑部品番号「６」に対応する交換部品は「終端抵抗（ハード故障）」であり、被疑部品番号「１０２」に対応する交換部品は「Ｉ／Ｏ装置または媒体（媒体異常）」である。【００３６】
図３の説明に戻ると、「異常／復旧構成部品」は、パスやボリュームなどの冗長構成を管理する管理系メッセージが管理しているインスタンス名（ディスクやテープなどの装置と制御ドライバを対応付けるための論理名）もしくは物理パスの情報を示す。【００３７】
「重み付け」は、メッセージ定義辞書情報によって対応付けられたメッセージの優先順位を示し、この重み付けの数値が大きいほど優先順位は高くなる。「最終絞込み方法」は、重み付けの数値が同値であるメッセージが複数存在する場合に、どのようにメッセージの優先順位を決定するかを示す情報である。図３に示すメッセージ定義辞書情報１では、最終絞込み方法が「最後のメッセージに絞り込む」であるため、重み付けの数値が同値であるメッセージが複数ある場合には、最後に出てきたメッセージの優先順位を最も高くする。【００３８】
「エラー概要番号」は、メッセージ定義辞書情報によって対応付けられたメッセージのエラー概要にかかわる情報の記録場所（図２に示すエラー概要ファイル情報１３０ｄにエラー概要が記録されている）を特定するための情報である。すなわち、図３のメッセージ定義辞書情報１では、エラー概要番号が「１」番と「２０」番とになっているため、メッセージのエラー概要が、エラー概要ファイル情報１３０ｄの「１」番と「２０」番とに記録されている。なお、エラー概要ファイル情報１３０ｄは、エラーの概要一覧を記録した情報であり、各番号とエラー概要とがそれぞれ一対一で対応付けられている。エラー概要の一例としては、「対向装置の光信号を検出できないが、または同期が取れません」などがあげられる。【００３９】
「インスタンス名取得情報」は、メッセージファイルに含まれるメッセージのどの部分にインスタンス情報が含まれているかを示す情報である。ここで、インスタンス情報は、デバイスと、このデバイスを制御するためのドライバとを対応関係を示す情報である。【００４０】
「運用状態」は、メッセージ定義辞書情報に対応付けられたメッセージにかかわるインスタンス（すなわち、デバイスとこのデバイスを制御する制御ドライバ）の運用状態を示す情報である。例えば、図３に示したメッセージ定義辞書情報１に対応付けられたメッセージのインスタンスは、継続（リトライ）中であることがわかる。【００４１】
ここで、図２に示したエンジン部１２０の説明に戻ると、エンジン部１２０は、ピックアップ部１２０ａと、グループ分け部１２０ｂと、絞込み部１２０ｃと、エラー箇所検出特定部１２０ｄと、被疑部品特定部１２０ｅと、グループ統合部１２０ｆと、運用状態特定部１２０ｇと、出力部１２０ｈとを有する。【００４２】
ピックアップ部１２０ａは、入力装置２００から入力されるメッセージファイルと、メッセージ定義辞書情報群１３０ａとを基にして、メッセージ定義辞書情報群１３０ａの各正規表現フォーマットと形式が一致するメッセージを抽出する処理部である。なお、図示しないが、ピックアップ部１２０ａは、メッセージファイルを一旦、記憶部１３０に記憶させる。【００４３】
図５は、ピックアップ部１２０ａの処理を説明するための説明図である。同図に示すように、メッセージファイル中のメッセージ１（ここでは説明の便宜上、メッセージ１のみを示す）は、図３に示したメッセージ定義辞書情報２の正規表現フォーマット「WARNING.*/disk  @.*(disk.*)\n  transport  failed:.*retrying」と一致するため、メッセージ１は、メッセージ定義辞書情報２に対応付けられると共に、ビックアップ部１２０ａに抽出される。【００４４】
なお、ピックアップ部１２０ａが、メッセージファイルの中から、正規表現フォーマットと形式が一致するメッセージを抽出する手法は、どのような方法を用いてもよいが、紛れメッセージに注意する必要がある。【００４５】
図６は、紛れメッセージを説明するための説明図である。同図に示すように、通常のメッセージは、各メッセージ単位で分かれているため問題はないが、紛れメッセージは、一方のメッセージが、他方のメッセージに割り込んでしまっているため、ピックアップ処理部１２０ａは、通常の抽出処理を行った後に、紛れメッセージを考慮した抽出処理を再度行う。なお、紛れメッセージを考慮した抽出処理は、後のフローチャートにて詳しく説明する。【００４６】
図７は、ピックアップ部１２０ａが、所定のメッセージファイル（ここでは、図示しない）から抽出したメッセージ群の一例を示す図である。なお、以下では、図７に示すメッセージ群をエラーメッセージ群４００と表記し、エラーメッセージ群４００に含まれる各メッセージをエラーメッセージと表記する。図７では、１〜８のエラーメッセージが抽出された場合を示している。【００４７】
また、図７に示すように、２と３のエラーメッセージ、４と８のエラーメッセージ、６と７のエラーメッセージはそれぞれ同じインスタンスとなっている。すなわち、２と３のエラーメッセージは、インスタンス（disk2)で一致し、４と８のエラーメッセージは、インスタンス（mp0）で一致し、メッセージ６と７のエラーメッセージは、インスタンス(disk4）で一致している。【００４８】
また、図７に示すように、１と５のエラーメッセージはＨＢÅ層に属し、２と３と６と７のメッセージはターゲット層に属し、４と８のメッセージはパス管理層に属している。【００４９】
ところで、図７のエラーメッセージ１〜８には含まれていないが、図１に示したボリュームドライバ５２に属する層、すなわち、ボリューム層も存在する。なお、ＨＢＡ層、ターゲット層、パス管理層、ボリューム層の順で上位階層（ボリューム層が最上位階層）となる。【００５０】
なお、本実施例では一例として、このエラーメッセージ群４００を利用して、各処理部、すなわち、グループ分け部１２０ｂ、絞込み部１２０ｃ、エラー箇所検出特定部１２０ｄ、被疑部品特定部１２０ｅ、グループ統合部１２０ｆ、運用状態特定部１２０ｇ、出力部１２０ｈの説明を行うこととする。【００５１】
グループ分け部１２０ｂは、ピックアップ部１２０ａからエラーメッセージ群４００を取得し、エラーメッセージ群４００に含まれる各エラーメッセージを、各エラーメッセージの物理パスに基づいて、グループ分けする処理部である。【００５２】
グループ分け部１２０ｂは、エラーメッセージ群４００の各エラーメッセージを物理パス（/FC@0）と（/FC@1）とのグループに分けることができる。具体的には、グループ分け部１２０ｂは、１，２，３，４，８のエラーメッセージのグループと５，６，７のエラーメッセージのグループとに分けることができる。以下、１，２，３，４，８のエラーメッセージのグループを「グループＡ」、５，６，７のエラーメッセージのグループを「グループＢ」と表記する。図８は、グループ分け部１２０ｂの処理を補足説明するための説明図である。【００５３】
絞込み部１２０ｃは、エラーメッセージ群４００と、各エラーメッセージに対応する各メッセージ定義辞書情報と、グループ分け部１２０ｂが分割した各グループＡ，Ｂの情報を取得し、エラーメッセージの総数を絞り込む処理部である。【００５４】
具体的に、絞込み部１２０ｃは、まず、同一のインスタンスを有するエラーメッセージを特定する。エラーメッセージ群４００より、２と３のエラーメッセージのインスタンス、４と８のエラーメッセージのインスタンス６と７のエラーメッセージのインスタンスが同一である。【００５５】
そこで、絞込み部１２０ｃは、２，３，４，８，６，７のエラーメッセージに対応するメッセージ定義辞書情報を取得し、「重み付け」に設定された数値を基にして、それぞれ優先順位の高いエラーメッセージを選択する。本実施例では、２のエラーメッセージよりも３のエラーメッセージのほうが重み付けの数値が高く、４のエラーメッセージよりも８のエラーメッセージのほうが重み付けの数値が高く、６のエラーメッセージよりも７のエラーメッセージのほうが重み付けの数値が高く設定されていたこととする。【００５６】
絞込み部１２０ｃが、上記処理を実行することによって、１〜８のエラーメッセージは、１と３と５と７と８のエラーメッセージ（以下、エラーメッセージ群５００と表記する）に絞られることとなる。図９は、絞込み部１２０ｃの処理を補足説明するための説明図である。【００５７】
エラー箇所検出特定部１２０ｄは、絞込み部１２０ｃからエラーメッセージ群５００と、エラーメッセージ群５００の各エラーメッセージに対応するメッセージ定義辞書情報とを取得して、エラー発生箇所を特定する処理部である。【００５８】
具体的に、エラー箇所検出特定部１２０ｄは、エラーメッセージ群５００に対応する各メッセージ定義辞書情報の運用状態およびエラーメッセージが属する階層（ＨＢＡ層、ターゲット層など）を特定し、最下層（ＨＢＡ層）からある層（たとえばボリューム層）までの間で、ある運用状態（たとえば、停止または縮退）のエラーメッセージを、エラー箇所を特定するエラーメッセージ（以下、エラー箇所特定メッセージと表記する）とする。【００５９】
本実施例では、エラー箇所検出特定部１２０ｄは、エラーメッセージ群５００から、１と３と５と７のエラーメッセージを、エラー箇所特定メッセージとして選択する。図１０は、エラー箇所検出特定部１２０ｄの処理を補足説明するための説明図である。【００６０】
被疑部品特定部１２０ｅは、絞込み部１２０ｃからエラーメッセージ群５００と、エラーメッセージ群５００の各エラーメッセージに対応するメッセージ定義辞書情報とを取得して、故障したコンピュータの部品を特定する処理部である。【００６１】
具体的に、被疑部品特定部１２０ｅは、エラーメッセージ群５００に対応する各メッセージ定義辞書情報のエラー種別およびエラーメッセージが属する階層を特定し、各エラーメッセージのうち、最下層（ハードに近い）のエラーメッセージを、故障したコンピュータの部品を特定するエラーメッセージ（以下、被疑部品特定メッセージと表記する）とする。【００６２】
なお、被疑部品特定部１２０ｅは、グループ内で、エラー種別の関連性がない場合には、各エラーメッセージを被疑部品特定メッセージとして選択する。例えば、グループＡにおいて、１，３，８のエラーメッセージのエラー種別がインターフェースエラーで関連している場合には、最下層の、１のエラーメッセージが被疑部品特定メッセージとして選択されるが、１，３，８のエラーメッセージのエラー種別が、ばらばらの場合は、複数の階層のエラーメッセージが、それぞれ被疑部品特定メッセージとして選択される。本実施例では、各エラーメッセージのエラー種別が関連しているものとする。図１１は、被疑部品特定部１２０ｅの処理を補足説明するための説明図である。図１１のように、本実施例では、１と５のエラーメッセージが被疑部品特定メッセージとして選択される。【００６３】
グループ統合部１２０ｆは、被疑部品特定部１２０ｅからエラーメッセージ群５００と、エラーメッセージ群５００の各エラーメッセージに対応するメッセージ定義辞書情報とを取得して、メッセージ定義辞書情報の異常／復旧構成部品が同一のエラーメッセージ同士を統合する処理部である。【００６４】
本実施例のエラーメッセージ群５００は、それぞれのメッセージ定義辞書情報の異常／復旧構成部品が同一であるため、グループＡおよびグループＢを「グループＣ」に統合する。図１２は、グループ結合部１２０ｆの処理を補足説明するための説明図である。【００６５】
運用状態特定部１２０ｇは、グループ統合部１２０ｆから、エラーメッセージ群５００と、統合したグループＣの情報と、各エラーメッセージに対応するメッセージ定義辞書情報とを取得し、最上位層のエラーメッセージを運用状態特定メッセージとして選択する。本実施例では、８のエラーメッセージが最上位層のエラーメッセージであるため、運用状態特定部１２０ｇは、８のエラーメッセージを運用状態特定メッセージとして選択する。【００６６】
出力部１２０ｈは、エラーメッセージ群４００の情報、エラー箇所特定メッセージ、被疑部品特定メッセージおよび運用状態特定メッセージの情報を各処理部（エラー箇所検出特定部１２０ｄ、被疑部品特定部１２０ｅ、運用状態特定部１２０ｇ）から取得し、所得した各情報と、メッセージ定義辞書情報群１３０ａ、出力情報定義辞書情報１３０ｂ、被疑部品リスト情報１３０ｃ、エラー概要ファイル情報１３０ｄ、対処方法ファイル情報１３０ｅを基にして、コンピュータ（図１の場合では、サーバ５０）のエラー発生状態の情報（以下、メッセージ解析結果と表記する）を表示装置３００に出力する処理部である。【００６７】
図１３は、表示装置３００に表示されるメッセージ解析結果の一例である。同図に示すように、このメッセージ解析結果には、「概要」、「被疑部品」、「対処方法」、「検出箇所」、「運用状態」、「絞込みメッセージ」が含まれる。この表示画面のフォーマットなどは、出力情報定義辞書情報１３０ｂに設定されている。【００６８】
ここで、「概要」は、エラー箇所特定メッセージに対応するメッセージ定義辞書情報のエラー概要番号と、エラー概要ファイル情報１３０ｄとで特定されるエラーの概要であり、「被疑部品」は、被疑部品特定メッセージに対応するメッセージ定義辞書情報の被疑部品番号と、被疑部品リスト情報１３０ｃとによって特定される被疑部品の情報である。【００６９】
「対処方法」は、エラー箇所特定メッセージに対応するメッセージ定義辞書情報の対処方法番号と、対処方法ファイル情報１３０ｅとで特定されるエラーの対処方法であり、「検出箇所」は、被疑部品特定メッセージに対応するメッセージ定義辞書情報の異常／復旧構成部品の情報（故障の発生した部品の情報）を示す。【００７０】
「運用状態」は、運用状態特定メッセージに対応するメッセージ定義辞書情報の運用状態の情報を示す。「絞込みメッセージ」は、エラーメッセージ群４００の各エラーメッセージの情報を示す。【００７１】
このように、図１３に示した表示画面を管理者が参照することによって、管理者はコンピュータのエラー箇所や、故障の発生した部品などを、容易に特定することができるので、管理者にかかる負担を軽減させることができる。【００７２】
次に、本実施例にかかるメッセージ解析装置１００の処理について説明する。図１４は、本実施例にかかるメッセージ解析装置１００の処理手順を示すフローチャートである。同図に示すように、メッセージ解析装置１００は、エンジン部１２０が、メッセージファイルを入力装置２００から取得し（ステップＳ１０１）、メッセージ定義辞書情報群１３０ａを取得する（ステップＳ１０２）。【００７３】
そして、ピックアップ部１２０ａが、メッセージピックアップ処理を行い（ステップＳ１０３）、グループ分け部１２０ｂが、グループ分け処理を行い（ステップＳ１０４）、絞込み部１２０ｃが、絞込み処理を行う（ステップＳ１０５）。【００７４】
続いて、エラー箇所検出特定部１２０ｄが、エラー箇所検出処理を行い（ステップＳ１０６）、被疑部品特定部１２０ｅが、被疑部品特定処理を行い（ステップＳ１０７）、グループ統合部１２０ｆが、グループ統合処理を行う（ステップＳ１０８）。【００７５】
そして、運用状態特定部１２０ｇが、運用状態特定処理を行い（ステップＳ１０９）、出力部１２０ｈがメッセージ解析結果を作成し（ステップＳ１１０）、メッセージ解析結果を表示装置３００に出力する（ステップＳ１１１）。【００７６】
次に、図１４のステップＳ１０３に示したメッセージピックアップ処理について説明する。図１５は、図１４のステップＳ１０３に示したメッセージピックアップ処理のフローチャートである。同図に示すように、ピックアップ部１２０ａが、メッセージファイルから所定の行単位でメッセージを読み込み（ステップＳ２０１）、未選択のメッセージを取得する（ステップＳ２０２）。【００７７】
そして、正規表現フォーマットと、取得したメッセージとを比較し（ステップＳ２０３）、一致した場合には（ステップＳ２０４，Ｙｅｓ）、一致したメッセージをエラーメッセージ群に追加し（ステップＳ２０５）、すべてのメッセージに対するマッチングが終了したか否かを判定する（ステップＳ２０７）。一方、一致しなかった場合には（ステップＳ２０４，Ｎｏ）、一致しなかったメッセージを紛れメッセージ群に追加し（ステップＳ２０６）、ステップＳ２０７に移行する。【００７８】
すべてのメッセージに対するマッチングが終了したか否かを判定し、すべてのメッセージに対するマッチングが完了していない場合には（ステップＳ２０８，Ｎｏ）、ステップＳ２０２に移行し、すてのメッセージに対するマッチングが完了している場合には（ステップＳ２０８，Ｙｅｓ）、紛れメッセージピックアップ処理を行う（ステップＳ２０９）。【００７９】
次に、図１５のステップＳ２０９に示した紛れメッセージピックアップ処理について説明する。図１６は、図１５のステップＳ２０９に示した紛れメッセージピックアップ処理のフローチャートである。同図に示すように、ピックアップ部１２０ａは、紛れメッセージ群を読み込み（ステップＳ３０１）、未選択の紛れメッセージを（一行のみ）選択する（ステップＳ３０２）。【００８０】
続いて、正規表現フォーマットと、取得したメッセージとを一行ずつ比較し（ステップＳ３０３）、一致した場合には（ステップＳ３０４，Ｙｅｓ）、残りの行が一致するか否かを判定し、一致する場合に、当該メッセージをエラーメッセージ群に追加し（ステップＳ３０５）、全てのメッセージ行に対するマッチングが完了したか否かを判定する（ステップＳ３０６）。一方、一致しない場合には（ステップＳ３０４，Ｎｏ）、そのままステップＳ３０６に移行する。【００８１】
そして、全てのメッセージ行に対するマッチングが完了していない場合には（ステップＳ３０６，Ｎｏ）、ステップＳ３０２に移行し、全てのメッセージ行に対するマッチングが完了した場合には（ステップＳ３０６）、紛れメッセージピックアップ処理を終了する。【００８２】
このように、ピックアップ部１２０ａは、メッセージファイルに含まれる大量のメッセージを必要なメッセージ（エラーメッセージ群）だけに絞り込むので、コンピュータのエラー発生状態を効率よく判定することができる。【００８３】
次に、図１４のステップＳ１０４で示したグループ分け処理について説明する。図１７は、図１４のステップＳ１０４で示したグループ分け処理のフローチャートである。同図に示すように、グループ分け部１２０ｂは、未選択のエラーメッセージを選択し（ステップＳ４０１）、選択したエラーメッセージが物理パス情報を保持しているか否かを判定する（ステップＳ４０２）。【００８４】
そして、物理パスを保持している場合には（ステップＳ４０３，Ｙｅｓ）、適合する物理パスを既存のグループが保持しているか否かを判定し（ステップＳ４０４）、適合する物理パスを保持していない場合には（ステップＳ４０５，Ｎｏ）、新しいグループを作成し、作成したグループにエラーメッセージを追加し（ステップＳ４０６）、ステップＳ４１２に移行する。【００８５】
一方、適合する物理パスを保持している場合には（ステップＳ４０５，Ｙｅｓ）、適合する物理パスを持つ既存のグループにエラーメッセージを追加し（ステップＳ４０７）、ステップＳ４１２に移行する。【００８６】
一方、選択したメッセージが物理パスを保持していない場合には（ステップＳ４０７，Ｎｏ）、選択したエラーメッセージと同じインスタンスが既存のグループに存在するか否かを判定し（ステップＳ４０８）、存在する場合には（ステップＳ４０９，Ｙｅｓ）、同じインスタンスを保持する既存のグループにエラーメッセージを追加し（ステップＳ４１０）、グループ分けが完了していない場合には（ステップＳ４１２，Ｎｏ）、ステップＳ４０１に移行し、グループ分けが完了した場合には（ステップＳ４１２，Ｙｅｓ）、グループ分け処理を終了する。【００８７】
一方、選択したエラーメッセージと同じインスタンスが既存のグループに存在しない場合には（ステップＳ４０９，Ｎｏ）、時間的に最も近いメッセージが所属するグループにエラーメッセージを追加し（ステップＳ４１１）、ステップＳ４１２に移行する。【００８８】
このように、グループ分け部１２０ｂは、ばらばらに分かれているメッセージを物理的に関連するグループごとに分けるので、効率よくコンピュータのエラー発生状態を解析することができる。【００８９】
次に、図１４のステップＳ１０５で示した絞込み処理について説明する。図１８は、図１４のステップＳ１０５で示した絞込み処理のフローチャートである。同図に示すように、絞込み部１２０ｃは、未選択のグループを選択し（ステップＳ５０１）、グループ内に同じインスタンスのエラーメッセージが存在するか否かを判定する（ステップＳ５０２）。【００９０】
そして、同じインスタンスが存在しない場合には（ステップＳ５０３，Ｎｏ）、同じインスタンスを含んだ、各エラーメッセージの「重み」を、メッセージ定義辞書情報から取得し（ステップＳ５０４）、各重みを比較して、重みが小さい側のエラーメッセージを無効化し（ステップＳ５０５）、全てのグループを選択していない場合には（ステップＳ５０６，Ｎｏ）、ステップＳ５０１に移行し、全てのグループを選択した場合には（ステップＳ５０６，Ｙｅｓ）、絞込み処理を終了する。【００９１】
一方、グループ内に同じインスタンスのエラーメッセージが存在しない場合には（ステップＳ５０３，Ｎｏ）、そのままステップＳ５０６に移行する。【００９２】
このように、絞込み部１２０ｃは、同一のインスタンスを有する複数のエラーメッセージを一つに絞り込むので、各インスタンスの状況をより高精度に判定することができる。【００９３】
次に、図１４のステップＳ１０６で示したエラー箇所検出処理について説明する。図１９は、図１４のステップＳ１０６で示したエラー箇所検出処理のフローチャートである。同図に示すように、エラー箇所検出特定部１２０ｄが、未選択のグループを選択し（ステップＳ６０１）、選択したグループ内の、各エラーメッセージに対するメッセージ定義辞書情報を取得する（ステップＳ６０２）。【００９４】
続いて、グループ内の、未選択のエラーメッセージを選択し（ステップＳ６０３）、選択したエラーメッセージの運用状態が「停止」または「縮退」で、ＨＢＡ層である場合には（ステップＳ６０４，Ｙｅｓ）、選択したエラーメッセージをエラー箇所特定メッセージに設定し（ステップＳ６０５）、ステップＳ６１１に移行する。【００９５】
一方、選択したエラーメッセージの運用状態が「停止」または「縮退」で、ＨＢＡ層でない場合には（ステップＳ６０４，Ｎｏ）、運用状態がステータス（正常）か否かを判定し（ステップＳ６０６）、ステータスである場合には（ステップＳ６０６，Ｙｅｓ）、ステップＳ６１１に移行する。【００９６】
一方、ステータスでない場合には（ステップＳ６０６，Ｎｏ）、選択したエラーメッセージがターゲット（target）層か否かを判定し（ステップＳ６０７）、選択したエラーメッセージがターゲット層である場合には（ステップＳ６０７，Ｙｅｓ）、ステップＳ６０５に移行する。【００９７】
選択したエラーメッセージがターゲット層でない場合には（ステップＳ６０７）、選択したエラーメッセージがターゲット層であり、かつグループ内の他のエラーメッセージは、ＨＢＡ層か否かを判定し（ステップＳ６０８）、エラーメッセージがターゲット層であり、かつグループ内の他のエラーメッセージがＨＢＡ層でない場合には（ステップＳ６０８，Ｙｅｓ）、ステップＳ６０５に移行する。【００９８】
一方、ステップＳ６０８の条件を満たさない場合には（ステップＳ６０８，Ｎｏ）、選択したエラーメッセージがパス管理層であり、グループ内の他のエラーメッセージが、ＨＢＡ層またはターゲット層でないか否かを判定する（ステップＳ６０９）。【００９９】
選択したエラーメッセージがパス管理層であり、グループ内の他のエラーメッセージが、ＨＢＡ層またはターゲット層でない場合には（ステップＳ６０９，Ｙｅｓ）、ステップＳ６０５に移行する。【０１００】
一方、ステップＳ６０９の条件を満たさない場合には（ステップＳ６０９，Ｎｏ）、選択したエラーメッセージがボリューム管理層であり、グループ内の他のエラーメッセージが、ボリューム管理層か否かを判定する（ステップＳ６１０）。【０１０１】
選択したエラーメッセージがボリューム管理層であり、グループ内の他のエラーメッセージが、ボリューム管理層である場合には（ステップＳ６１０，Ｙｅｓ）、ステップＳ６０５に移行する。【０１０２】
一方、ステップＳ６１０の条件を満たさない場合には（ステップＳ６１０，Ｎｏ）、グループ内の全てのエラーメッセージを選択したか否かを判定し（ステップＳ６１１）、グループ内の全てのエラーメッセージを選択していない場合には（ステップＳ６１１，Ｎｏ）、ステップＳ６０３に移行し、全てのエラーメッセージを選択している場合には（ステップＳ６１１，Ｙｅｓ）、全てのグループを選択したか否かを判定する（ステップＳ６１２）。【０１０３】
そして、全てのグループを選択していない場合には（ステップＳ６１２，Ｎｏ）、ステップＳ６０１に移行し、全てのグループを選択した場合には（ステップＳ６１２，Ｙｅｓ）、エラー箇所検出処理を終了する。【０１０４】
このように、エラー箇所検出特定部１２０ｄは、各エラーメッセージの運用状態および階層を基にして、エラー箇所特定メッセージを選択するので、精度よく、コンピュータのエラー箇所を特定することができる。【０１０５】
次に、図１４のステップＳ１０７で示した被疑部品特定処理について説明する。図２０は、図１４のステップＳ１０７で示した被疑部品特定処理のフローチャートである。同図に示すように、被疑部品特定部１２０ｅは、未選択のグループを選択し（ステップＳ７０１）、選択したグループ内の、各エラーメッセージに対するメッセージ定義辞書ファイルを取得する（ステップＳ７０２）。【０１０６】
そして、各エラーメッセージのエラー種別が関連しているか否かを判定し（ステップＳ７０３）、関連する場合には（ステップＳ７０４，Ｙｅｓ）、各エラーメッセージのうち、ハードに近い最下層のエラーメッセージを被疑部品特定メッセージに設定し（ステップＳ７０５）、全てのグループを選択した場合には（ステップＳ７０７，Ｎｏ）、ステップＳ７０１に移行する。【０１０７】
一方、各エラーメッセージのエラー種別が関連していない場合には（ステップＳ７０４，Ｎｏ）、各エラーメッセージを被疑部品特定メッセージに設定し（ステップＳ７０６）、ステップＳ７０７に移行する。【０１０８】
このように、被疑部品特定１２０ｅは、各エラーメッセージのエラー種別が関連している場合に、各エラーメッセージのうち、最もハードウェアに近い下位層に属するエラーメッセージを被疑部品特定メッセージとして設定するので、故障した部品を高精度で特定することができる。【０１０９】
次に、図１４のステップＳ１０８で示したグループ統合処理について説明する。図２１は、図１４のステップＳ１０８で示したグループ統合処理のフローチャートである。同図に示すように、グループ統合部１２０ｆは、各グループ内に管理系のエラーメッセージに対する「異常／復旧構成部品」の物理アドレス（管理系のエラーメッセージ）が存在するか否かを判定する（ステップＳ８０１）。【０１１０】
そして、「異常／復旧構成部品」の物理アドレスが存在する場合には（ステップＳ８０２，Ｙｅｓ）、各エラーメッセージの「異常／復旧構成部品」の物理アドレスが、他のグループに含まれるエラーメッセージの物理アドレスと一致するか否かを判定し（ステップＳ８０３）、一致する場合には（ステップＳ８０４，Ｙｅｓ）、物理パスが一致したエラーメッセージ同士を統合し（ステップＳ８０５）、一致しない場合には（ステップＳ８０４，Ｎｏ）、グループ統合処理を終了する。なお、「異常／復旧構成部品」の物理アドレスが存在しない場合には（ステップＳ８０２，Ｎｏ）、グループ統合処理を終了する。【０１１１】
このように、グループ統合部１２０ｆは、物理的に関連するエラーグループ同士を統合するので、システムの運用単位でメッセージを見ることができ、運用状態を把握しやすくなる。【０１１２】
次に、図１４のステップＳ１０９で示した運用状態特定処理について説明する。図２２は、図１４のステップＳ１０９で示した運用状態特定処理のフローチャートである。同図に示すように、運用状態特定部１２０ｇは、未選択のエラーメッセージを選択し（ステップＳ９０１）、選択したエラーメッセージが、ボリューム管理系のエラーメッセージである場合には、選択したエラーメッセージを、運用状態特定メッセージに設定し（ステップＳ９０３）、ステップＳ９０７に移行する。【０１１３】
一方、選択したエラーメッセージが、ボリューム管理系（ボリューム管理層）のエラーメッセージでない場合には（ステップＳ９０２，Ｎｏ）、選択したエラーメッセージが、パス管理系のエラーメッセージであり、上位層のエラーメッセージが存在しないか否かを判定する（ステップＳ９０４）。【０１１４】
そして、選択したエラーメッセージが、パス管理系のエラーメッセージであり、上位層のエラーメッセージが存在しない場合には（ステップＳ９０４，Ｙｅｓ）、ステップＳ９０３に移行し、ステップＳ９０４の条件を満たさない場合には（ステップＳ９０４，Ｎｏ）、選択したエラーメッセージが、ターゲット層のエラーメッセージであり、上位層のエラーメッセージが存在しないか否かを判定する（ステップＳ９０５）。【０１１５】
選択したエラーメッセージが、ターゲット層のエラーメッセージであり、上位層のエラーメッセージが存在しない場合には（ステップＳ９０５，Ｙｅｓ）、ステップＳ９０３に移行し、ステップＳ９０５の条件を満たさない場合には（ステップＳ９０５，Ｎｏ）、選択したエラーメッセージが、ＨＢＡ層のエラーメッセージであり、他のエラーメッセージも全てＨＢＡ層のエラーメッセージか否かを判定する（ステップＳ９０６）。【０１１６】
そして、選択したエラーメッセージが、ＨＢＡ層のエラーメッセージであり、他のエラーメッセージも全てＨＢＡ層のエラーメッセージである場合には（ステップＳ９０６，Ｙｅｓ）、ステップＳ９０３に移行し、ステップＳ９０６の条件を満たさない場合には（ステップＳ９０６，Ｎｏ）、全てのエラーメッセージを選択したか否かを判定する（ステップＳ９０７）。【０１１７】
そして、全てのエラーメッセージを選択していない場合には（ステップＳ９０７，Ｎｏ）、ステップＳ９０１に移行し、全てのエラーメッセージを選択した場合には（ステップＳ９０７，Ｙｅｓ）、運用状態特定処理を終了する。【０１１８】
このように、運用状態特定部１２０ｇは、各エラーメッセージの中から最上位層に属するエラーメッセージを選択し、この選択したエラーメッセージを運用状態特定メッセージに設定するので、コンピュータの運用状況を精度よく判定することができる。【０１１９】
上述してきたように、本実施例にかかるメッセージ解析装置１００は、エンジン部１２０が、入力装置２００からメッセージファイルを取得し、ピックアップ部１２０ａが、エラーメッセージ群４００を抽出し、グループ分け部１２０ｂが、エラーメッセージ群を物理パスごとにグループ分けし、絞込み部１２０ｃが、エラーメッセージ群４００を絞込み、エラー箇所検出特定部１２０ｄが、エラー箇所特定メッセージを選択し、被疑部品特定部１２０ｅが、被疑部品特定メッセージを選択し、グループ統合部１２０ｆが、複数のグループを統合し、運用状態特定部１２０ｇが、運用状態特定メッセージを選択し、出力部１２０ｈが、メッセージ解析結果を表示装置３００に出力するので、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮して、コンピュータの状態を効率的に判定することができる。
【産業上の利用可能性】
【０１２０】
以上のように、本発明にかかるメッセージ解析装置は、コンピュータから出力される膨大な量のメッセージを、当該メッセージ間の関係を基にして解析し、コンピュータの状態を判定する必要のあるメッセージ解析装置に有用である。
【図１】
2007007410.tif 000002
【図２】
2007007410.tif 000003
【図３】
2007007410.tif 000004
【図４】
2007007410.tif 000005
【図５】
2007007410.tif 000006
【図６】
2007007410.tif 000007
【図７】
2007007410.tif 000008
【図８】
2007007410.tif 000009
【図９】
2007007410.tif 000010
【図１０】
2007007410.tif 000011
【図１１】
2007007410.tif 000012
【図１２】
2007007410.tif 000013
【図１３】
2007007410.tif 000014
【図１４】
2007007410.tif 000015
【図１５】
2007007410.tif 000016
【図１６】
2007007410.tif 000017
【図１７】
2007007410.tif 000018
【図１８】
2007007410.tif 000019
【図１９】
2007007410.tif 000020
【図２０】
2007007410.tif 000021
【図２１】
2007007410.tif 000022
【図２２】
2007007410.tif 000023
【手続補正書】
【提出日】平成19年10月3日(2007.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析装置であって、
前記複数のメッセージを記憶するメッセージ記憶手段と、
前記メッセージ記憶手段によって記憶された複数のメッセージを比較することによって、前記コンピュータの状態を判定する判定手段と、
を備えたことを特徴とするメッセージ解析装置。
【請求項２】
前記判定手段は、ハードウェアが複数のソフトウェアにより、ハードウェアの管理単位の異なる階層ごとに管理されている場合に、前記複数のメッセージと、当該複数のメッセージを生成した各ソフトウェアの階層とを基にして、前記コンピュータの状態を判定することを特徴とする請求項１に記載のメッセージ解析装置。
【請求項３】
前記記憶手段に記憶された複数のメッセージと、当該複数のメッセージをそれぞれ生成した各ソフトウェアの階層とを基にして、コンピュータに発生したエラー内容を特定し、当該エラー内容に対する対処方法を特定する対処方法特定手段を更に備えたことを特徴とする請求項２に記載のメッセージ解析装置。
【請求項４】
前記記憶手段に記憶された複数のメッセージと、当該複数のメッセージをそれぞれ生成した各ソフトウェアの階層とを基にして、不具合の発生したハードウェアを特定するハードウェア特定手段を更に備えたことを特徴とする請求項２に記載のメッセージ解析装置。
【請求項５】
コンピュータの運用状態を判定する運用状態判定手段を更に備え、当該運用状態判定手段は、前記メッセージ記憶手段によって記憶された複数のメッセージをそれぞれ生成した各ソフトウェアの階層に基づいて、最上位層のソフトウェアが管理するハードウェアの運用状態を特定し、特定した運用状態をコンピュータの運用状態として判定することを特徴とする請求項２に記載のメッセージ解析装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析装置に関するものである。
【背景技術】
【０００２】
従来、コンピュータに対する信頼性等を向上させるために、コンピュータを管理する管理者は、このコンピュータから、コンピュータの運用状況や、エラーなどの情報（以下、エラーメッセージ）を含んだメッセージを定期的（または不規則）に取得して、コンピュータのエラー箇所などを特定し、特定したエラー箇所を修正する必要があった。
【０００３】
しかし、コンピュータから出力されるメッセージは、エラーメッセージのみならず、多種多様な情報が含まれていると共に、メッセージ量が膨大であるため、メッセージを解析して、コンピュータのエラーを特定・修正する管理者に多大な負担をかけてしまうという問題があった。
【０００４】
そこで、近年では、複数のエラーメッセージにかかわる正規表現を集めた辞書情報を予め作成し、この辞書情報を基にして、コンピュータから出力される膨大な量のメッセージをエラーメッセージのみに絞り込むことによって、管理者の解析すべきメッセージ量を減らし、管理者にかかる負担を軽減させている。
【０００５】
なお、特許文献１では、コンピュータから出力されるメッセージに属性を付加すると共に、この属性の結合順序などを定めた結合情報に基づいて各メッセージを結合させることで、メッセージを最適な順番に並び替えるという技術が公開されている。
【０００６】
【特許文献１】特開２００２−３５１８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来にかかる技術では、管理者が解析すべきメッセージ量を多少減少させることができるものの、最終的なエラー箇所を特定する場合には、管理者自身が、各階層のドライバやアプリケーションが出力した複数種類のエラーメッセージの相互関係を考慮して、一つ一つ各エラーメッセージを解析し、エラー箇所を特定する必要があったため、管理者には依然多大な負荷がかかってしまうという問題があった。
【０００８】
また、複数のエラーメッセージを基にして、エラー箇所を特定する場合には、専門的な知識が必要となるため、管理者は、エラーメッセージをコンピュータの設計者に問い合わせてエラー箇所を特定する必要もあり、非常に非効率でコストもかかってしまうという問題もあった。
【０００９】
すなわち、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮して、コンピュータのエラー箇所などを効率的に判定することが極めて重要な課題となっている。
【００１０】
本発明は、上記に鑑みてなされたものであって、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮して、コンピュータのエラー箇所を効率的に判定可能なメッセージ解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された当該ハードウェアの状態にかかるメッセージを解析するメッセージ解析装置であって、前記複数のメッセージを記憶するメッセージ記憶手段と、前記メッセージ記憶手段によって記憶された複数のメッセージを比較することによって、前記コンピュータの状態を判定する判定手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明にかかるメッセージ解析装置は、コンピュータを構成するハードウェアを管理する各ソフトウェアによって生成された複数のメッセージをそれぞれ比較することによって、コンピュータの状態を判定するので、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮したコンピュータの状態（不具合の発生したハードウェアやコンピュータの運用状態など）を効率的に判定することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明に係るメッセージ解析装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
まず、本実施例にかかるメッセージ解析装置の概念について説明する。図１は、本実施例にかかるメッセージ解析装置の概念を説明するための説明図である。図１では、一例として、メッセージ解析装置１００が、所定の業務を実行するサーバ５０から、このサーバ５０の運用状態を示すメッセージを複数含んだメッセージファイルを取得し、このメッセージファイルからサーバ５０の状態を判定する場合について説明する。
【００１５】
なお、サーバ５０は、ＯＳ（Operating  System）５１と、ボリュームドライバ５２と、Ｉ／Ｏ（Input/Output）デバイスドライバ５３と、ＨＢＡ（Host  Bus  Adapter）ドライバ５４と、ＨＢＡ５５，５６と、Ｉ／Ｏ装置５７，５８とを有する。
【００１６】
ＯＳ５１は、ファイルの管理、メモリの管理、入出力の管理、ユーザーインターフェースの提供などを行なう処理部である。ボリュームドライバ５２は、Ｉ／Ｏ装置５７，５８のミラー構成を制御する処理部である。なお、図１の例では、ボリュームドライバ５２に含まれるボリュームドライバ５２ａがＩ／Ｏ装置５７，５８のミラー構成を制御する。
【００１７】
Ｉ／Ｏデバイスドライバ５３は、Ｉ／Ｏ装置５７，５８を制御する処理部である。なお、図１の例では、Ｉ／Ｏデバイスドライバ５３に含まれるＩ／Ｏデバイスドライバ５３ａが、Ｉ／Ｏ装置５７を制御し、Ｉ／Ｏデバイスドライバ５３ｂが、Ｉ／Ｏ装置５８を制御する。
【００１８】
ＨＢＡドライバ５４は、ＨＢＡ５５，５６を制御する処理部である。なお、図１の例では、ＨＢＡドライバ５４に含まれるＨＢＡドライバ５４ａが、ＨＢＡ５７を制御し、ＨＢＡドライバ５４ｂが、ＨＢＡ５８を制御する。
【００１９】
ＨＢＡ５５，５６は、ＨＢＡドライバ５４とＩ／Ｏ装置５７，５８とを接続し、所定の情報を中継する装置であり、Ｉ／Ｏ装置５７，５８は、情報を記憶する記憶装置である。なお、Ｉ／Ｏ装置５７，５８間はミラーリングされている。
【００２０】
サーバ５０は、ＯＳ５１、ボリュームドライバ５２、Ｉ／Ｏデバイスドライバ５３、ＨＢＡドライバ５４から出力される複数のメッセージをメッセージファイルとして出力する。そして、メッセージ解析装置１００は、入力装置２００を介して、サーバ５０からメッセージファイルを取得する。
【００２１】
メッセージ解析装置１００は、エンジン部１００ｂが、サーバ５０から取得したメッセージファイルおよびメッセージ定義辞書情報群１００ａなどに基づいて、メッセージファイルに含まれる複数のメッセージ間の関連を解析し、故障した部品やサーバ５０の運用状態などを判定し、判定した結果を表示装置３００に出力する。
【００２２】
このように、メッセージ解析装置１００は、メッセージファイルから、エラー発生箇所や故障した部品の位置、運用状態などを判定するので、管理者にかかる負担を軽減させることができる。
【００２３】
次に、本実施例にかかるメッセージ解析装置の構成について説明する。図２は、本実施例にかかるメッセージ解析装置の構成を示す機能ブロック図である。同図に示すように、このメッセージ解析装置１００は、インターフェース部１１０と、エンジン部１２０と、記憶部１３０とを有する。なお、メッセージ解析装置１００は、キーボードやマウスなどの入力装置２００とディスプレイなどの表示装置３００に接続されている。
【００２４】
インターフェース部１１０は、入力装置２００から入力されるメッセージファイルなどの情報をエンジン部１２０に転送する処理部である。また、インターフェース部１１０は、エンジン部１２０から取得した情報を、表示装置３００に出力する。
【００２５】
エンジン部１２０は、入力装置２００から取得したメッセージファイルと、記憶部１３０に記憶されたメッセージ定義辞書情報群１３０ａとを基にして、メッセージファイルを出力したコンピュータ（図１の例では、サーバ５０）のエラー発生状態を判定する処理部である。
【００２６】
ここで、メッセージ定義辞書情報群１３０ａについて説明する。図３は、メッセージ定義辞書情報群１３０ａのデータ構造の一例を示す図である。同図に示すように、このメッセージ定義辞書情報群１３０ａは、「正規表現フォーマット」、「メッセージ行数」、「コード」、「エラー種別」、「対処方法番号」、「ドライバクラス」、「被疑部品番号」、「異常／復旧構成部品」、「重み付け」、「最終絞込み方法」、「エラー概要番号」、「インスタンス名取得情報」、「運用状態」を有する。なお、メッセージ定義辞書情報群１３０ａには複数のメッセージ定義辞書情報１、２、・・・が含まれる。ここでは、説明の便宜上、メッセージ定義辞書情報１、２のみを示し、その他のメッセージ定義辞書情報は省略する。
【００２７】
「正規表現フォーマット」は、メッセージファイルに含まれるメッセージと、メッセージ定義辞書情報群１３０ａに含まれるメッセージ定義辞書情報とを対応付けるための情報である。例えば、図３の例では、正規表現フォーマット「WARNING.*mp.*switch  no  existed.」のフォーマット形式と一致するメッセージファイル中のメッセージは、メッセージ定義辞書情報１に対応付けられる。また、正規表現フォーマットは、メッセージファイルの中から所定のメッセージをピックアップする場合にも利用される。
【００２８】
「メッセージ行数」は、メッセージ定義辞書情報に対応付けられるべきメッセージが、何行で構成されているかを示す情報である。図３に示すメッセージ定義辞書情報１では「３」行のメッセージとなる。「コード」は、メッセージに利用される文字コードを示す情報である。図３に示すメッセージ定義辞書情報１でのコードは「ＡＳＣＩＩ」となる。
【００２９】
「エラー種別」は、メッセージ定義辞書情報に対応付けられるメッセージのエラーの種別を示す。例えば、図３のメッセージ定義辞書情報１に対応付けられたメッセージのエラーの種別は、「インターフェースエラー」となる。
【００３０】
「対処方法番号」は、エラーの対処方法にかかわる情報の記録場所（図２に示す対処方法ファイル情報１３０ｅにエラーの対処方法が記録されている）を特定するための情報である。すなわち、図３のメッセージ定義辞書情報１では、エラー種別「インターフェースエラー」にかかわる対処方法が、対処方法ファイル情報１３０ｅの「３」番と「７」番とに記録されている。なお、対処方法ファイル情報１３０ｅは、エラーの対処方法一覧を記録した情報であり、各番号とエラー対処方法とがそれぞれ一対一で対応付けられている。エラー対処方法の一例としては、「被疑部品の接続状態などを確認してください」などがあげられる。
【００３１】
「ドライバクラス」は、メッセージ定義辞書情報に対応付けられたメッセージが所属するドライバのクラス階層情報を示す。図３のメッセージ定義辞書情報１では、このメッセージ定義辞書情報１に対応付けられたメッセージが、ＨＢＡ層に所属することを示す。
【００３２】
「被疑部品番号」は、エラー種別によって特定されるエラーが発生した場合に、交換対象となる部品情報（図２に示す被疑部品リスト情報１３０ｃに交換対象となる部品の情報が記録されている）の記録場所を特定するための情報である。すなわち、図３のメッセージ定義辞書情報１では、エラー種別「インターフェースエラー」にかかわる交換部品の情報が、被疑部品リスト情報１３０ｃの「１」番と「６」番と「１０２」番に記録されている。
【００３３】
図４は、被疑部品リスト情報１３０ｃのデータ構造の一例を示す図である。同図に示すように、この被疑部品リスト情報１３０ｃは、各番号と、交換対象の部品の情報とがそれぞれ関連付けられている。図３，図４より、被疑部品番号「１」に対応する交換部品は「ＰＣＩバス[処理装置／ＰＣＩＢｏｘ／ＰＣＩディスクＢｏｘ]（ハード故障）」であり、被疑部品番号「６」に対応する交換部品は「終端抵抗（ハード故障）」であり、被疑部品番号「１０２」に対応する交換部品は「Ｉ／Ｏ装置または媒体（媒体異常）」である。
【００３４】
図３の説明に戻ると、「異常／復旧構成部品」は、パスやボリュームなどの冗長構成を管理する管理系メッセージが管理しているインスタンス名（ディスクやテープなどの装置と制御ドライバを対応付けるための論理名）もしくは物理パスの情報を示す。
【００３５】
「重み付け」は、メッセージ定義辞書情報によって対応付けられたメッセージの優先順位を示し、この重み付けの数値が大きいほど優先順位は高くなる。「最終絞込み方法」は、重み付けの数値が同値であるメッセージが複数存在する場合に、どのようにメッセージの優先順位を決定するかを示す情報である。図３に示すメッセージ定義辞書情報１では、最終絞込み方法が「最後のメッセージに絞り込む」であるため、重み付けの数値が同値であるメッセージが複数ある場合には、最後に出てきたメッセージの優先順位を最も高くする。
【００３６】
「エラー概要番号」は、メッセージ定義辞書情報によって対応付けられたメッセージのエラー概要にかかわる情報の記録場所（図２に示すエラー概要ファイル情報１３０ｄにエラー概要が記録されている）を特定するための情報である。すなわち、図３のメッセージ定義辞書情報１では、エラー概要番号が「１」番と「２０」番とになっているため、メッセージのエラー概要が、エラー概要ファイル情報１３０ｄの「１」番と「２０」番とに記録されている。なお、エラー概要ファイル情報１３０ｄは、エラーの概要一覧を記録した情報であり、各番号とエラー概要とがそれぞれ一対一で対応付けられている。エラー概要の一例としては、「対向装置の光信号を検出できないが、または同期が取れません」などがあげられる。
【００３７】
「インスタンス名取得情報」は、メッセージファイルに含まれるメッセージのどの部分にインスタンス情報が含まれているかを示す情報である。ここで、インスタンス情報は、デバイスと、このデバイスを制御するためのドライバとを対応関係を示す情報である。
【００３８】
「運用状態」は、メッセージ定義辞書情報に対応付けられたメッセージにかかわるインスタンス（すなわち、デバイスとこのデバイスを制御する制御ドライバ）の運用状態を示す情報である。例えば、図３に示したメッセージ定義辞書情報１に対応付けられたメッセージのインスタンスは、継続（リトライ）中であることがわかる。
【００３９】
ここで、図２に示したエンジン部１２０の説明に戻ると、エンジン部１２０は、ピックアップ部１２０ａと、グループ分け部１２０ｂと、絞込み部１２０ｃと、エラー箇所検出特定部１２０ｄと、被疑部品特定部１２０ｅと、グループ統合部１２０ｆと、運用状態特定部１２０ｇと、出力部１２０ｈとを有する。
【００４０】
ピックアップ部１２０ａは、入力装置２００から入力されるメッセージファイルと、メッセージ定義辞書情報群１３０ａとを基にして、メッセージ定義辞書情報群１３０ａの各正規表現フォーマットと形式が一致するメッセージを抽出する処理部である。なお、図示しないが、ピックアップ部１２０ａは、メッセージファイルを一旦、記憶部１３０に記憶させる。
【００４１】
図５は、ピックアップ部１２０ａの処理を説明するための説明図である。同図に示すように、メッセージファイル中のメッセージ１（ここでは説明の便宜上、メッセージ１のみを示す）は、図３に示したメッセージ定義辞書情報２の正規表現フォーマット「WARNING.*/disk  @.*(disk.*)\n  transport  failed:.*retrying」と一致するため、メッセージ１は、メッセージ定義辞書情報２に対応付けられると共に、ビックアップ部１２０ａに抽出される。
【００４２】
なお、ピックアップ部１２０ａが、メッセージファイルの中から、正規表現フォーマットと形式が一致するメッセージを抽出する手法は、どのような方法を用いてもよいが、紛れメッセージに注意する必要がある。
【００４３】
図６は、紛れメッセージを説明するための説明図である。同図に示すように、通常のメッセージは、各メッセージ単位で分かれているため問題はないが、紛れメッセージは、一方のメッセージが、他方のメッセージに割り込んでしまっているため、ピックアップ処理部１２０ａは、通常の抽出処理を行った後に、紛れメッセージを考慮した抽出処理を再度行う。なお、紛れメッセージを考慮した抽出処理は、後のフローチャートにて詳しく説明する。
【００４４】
図７は、ピックアップ部１２０ａが、所定のメッセージファイル（ここでは、図示しない）から抽出したメッセージ群の一例を示す図である。なお、以下では、図７に示すメッセージ群をエラーメッセージ群４００と表記し、エラーメッセージ群４００に含まれる各メッセージをエラーメッセージと表記する。図７では、１〜８のエラーメッセージが抽出された場合を示している。
【００４５】
また、図７に示すように、２と３のエラーメッセージ、４と８のエラーメッセージ、６と７のエラーメッセージはそれぞれ同じインスタンスとなっている。すなわち、２と３のエラーメッセージは、インスタンス（disk2)で一致し、４と８のエラーメッセージは、インスタンス（mp0）で一致し、メッセージ６と７のエラーメッセージは、インスタンス(disk4）で一致している。
【００４６】
また、図７に示すように、１と５のエラーメッセージはＨＢÅ層に属し、２と３と６と７のメッセージはターゲット層に属し、４と８のメッセージはパス管理層に属している。
【００４７】
ところで、図７のエラーメッセージ１〜８には含まれていないが、図１に示したボリュームドライバ５２に属する層、すなわち、ボリューム層も存在する。なお、ＨＢＡ層、ターゲット層、パス管理層、ボリューム層の順で上位階層（ボリューム層が最上位階層）となる。
【００４８】
なお、本実施例では一例として、このエラーメッセージ群４００を利用して、各処理部、すなわち、グループ分け部１２０ｂ、絞込み部１２０ｃ、エラー箇所検出特定部１２０ｄ、被疑部品特定部１２０ｅ、グループ統合部１２０ｆ、運用状態特定部１２０ｇ、出力部１２０ｈの説明を行うこととする。
【００４９】
グループ分け部１２０ｂは、ピックアップ部１２０ａからエラーメッセージ群４００を取得し、エラーメッセージ群４００に含まれる各エラーメッセージを、各エラーメッセージの物理パスに基づいて、グループ分けする処理部である。
【００５０】
グループ分け部１２０ｂは、エラーメッセージ群４００の各エラーメッセージを物理パス（/FC@0）と（/FC@1）とのグループに分けることができる。具体的には、グループ分け部１２０ｂは、１，２，３，４，８のエラーメッセージのグループと５，６，７のエラーメッセージのグループとに分けることができる。以下、１，２，３，４，８のエラーメッセージのグループを「グループＡ」、５，６，７のエラーメッセージのグループを「グループＢ」と表記する。図８は、グループ分け部１２０ｂの処理を補足説明するための説明図である。
【００５１】
絞込み部１２０ｃは、エラーメッセージ群４００と、各エラーメッセージに対応する各メッセージ定義辞書情報と、グループ分け部１２０ｂが分割した各グループＡ，Ｂの情報を取得し、エラーメッセージの総数を絞り込む処理部である。
【００５２】
具体的に、絞込み部１２０ｃは、まず、同一のインスタンスを有するエラーメッセージを特定する。エラーメッセージ群４００より、２と３のエラーメッセージのインスタンス、４と８のエラーメッセージのインスタンス６と７のエラーメッセージのインスタンスが同一である。
【００５３】
そこで、絞込み部１２０ｃは、２，３，４，８，６，７のエラーメッセージに対応するメッセージ定義辞書情報を取得し、「重み付け」に設定された数値を基にして、それぞれ優先順位の高いエラーメッセージを選択する。本実施例では、２のエラーメッセージよりも３のエラーメッセージのほうが重み付けの数値が高く、４のエラーメッセージよりも８のエラーメッセージのほうが重み付けの数値が高く、６のエラーメッセージよりも７のエラーメッセージのほうが重み付けの数値が高く設定されていたこととする。
【００５４】
絞込み部１２０ｃが、上記処理を実行することによって、１〜８のエラーメッセージは、１と３と５と７と８のエラーメッセージ（以下、エラーメッセージ群５００と表記する）に絞られることとなる。図９は、絞込み部１２０ｃの処理を補足説明するための説明図である。
【００５５】
エラー箇所検出特定部１２０ｄは、絞込み部１２０ｃからエラーメッセージ群５００と、エラーメッセージ群５００の各エラーメッセージに対応するメッセージ定義辞書情報とを取得して、エラー発生箇所を特定する処理部である。
【００５６】
具体的に、エラー箇所検出特定部１２０ｄは、エラーメッセージ群５００に対応する各メッセージ定義辞書情報の運用状態およびエラーメッセージが属する階層（ＨＢＡ層、ターゲット層など）を特定し、最下層（ＨＢＡ層）からある層（たとえばボリューム層）までの間で、ある運用状態（たとえば、停止または縮退）のエラーメッセージを、エラー箇所を特定するエラーメッセージ（以下、エラー箇所特定メッセージと表記する）とする。
【００５７】
本実施例では、エラー箇所検出特定部１２０ｄは、エラーメッセージ群５００から、１と３と５と７のエラーメッセージを、エラー箇所特定メッセージとして選択する。図１０は、エラー箇所検出特定部１２０ｄの処理を補足説明するための説明図である。
【００５８】
被疑部品特定部１２０ｅは、絞込み部１２０ｃからエラーメッセージ群５００と、エラーメッセージ群５００の各エラーメッセージに対応するメッセージ定義辞書情報とを取得して、故障したコンピュータの部品を特定する処理部である。
【００５９】
具体的に、被疑部品特定部１２０ｅは、エラーメッセージ群５００に対応する各メッセージ定義辞書情報のエラー種別およびエラーメッセージが属する階層を特定し、各エラーメッセージのうち、最下層（ハードに近い）のエラーメッセージを、故障したコンピュータの部品を特定するエラーメッセージ（以下、被疑部品特定メッセージと表記する）とする。
【００６０】
なお、被疑部品特定部１２０ｅは、グループ内で、エラー種別の関連性がない場合には、各エラーメッセージを被疑部品特定メッセージとして選択する。例えば、グループＡにおいて、１，３，８のエラーメッセージのエラー種別がインターフェースエラーで関連している場合には、最下層の、１のエラーメッセージが被疑部品特定メッセージとして選択されるが、１，３，８のエラーメッセージのエラー種別が、ばらばらの場合は、複数の階層のエラーメッセージが、それぞれ被疑部品特定メッセージとして選択される。本実施例では、各エラーメッセージのエラー種別が関連しているものとする。図１１は、被疑部品特定部１２０ｅの処理を補足説明するための説明図である。図１１のように、本実施例では、１と５のエラーメッセージが被疑部品特定メッセージとして選択される。
【００６１】
グループ統合部１２０ｆは、被疑部品特定部１２０ｅからエラーメッセージ群５００と、エラーメッセージ群５００の各エラーメッセージに対応するメッセージ定義辞書情報とを取得して、メッセージ定義辞書情報の異常／復旧構成部品が同一のエラーメッセージ同士を統合する処理部である。
【００６２】
本実施例のエラーメッセージ群５００は、それぞれのメッセージ定義辞書情報の異常／復旧構成部品が同一であるため、グループＡおよびグループＢを「グループＣ」に統合する。図１２は、グループ結合部１２０ｆの処理を補足説明するための説明図である。
【００６３】
運用状態特定部１２０ｇは、グループ統合部１２０ｆから、エラーメッセージ群５００と、統合したグループＣの情報と、各エラーメッセージに対応するメッセージ定義辞書情報とを取得し、最上位層のエラーメッセージを運用状態特定メッセージとして選択する。本実施例では、８のエラーメッセージが最上位層のエラーメッセージであるため、運用状態特定部１２０ｇは、８のエラーメッセージを運用状態特定メッセージとして選択する。
【００６４】
出力部１２０ｈは、エラーメッセージ群４００の情報、エラー箇所特定メッセージ、被疑部品特定メッセージおよび運用状態特定メッセージの情報を各処理部（エラー箇所検出特定部１２０ｄ、被疑部品特定部１２０ｅ、運用状態特定部１２０ｇ）から取得し、所得した各情報と、メッセージ定義辞書情報群１３０ａ、出力情報定義辞書情報１３０ｂ、被疑部品リスト情報１３０ｃ、エラー概要ファイル情報１３０ｄ、対処方法ファイル情報１３０ｅを基にして、コンピュータ（図１の場合では、サーバ５０）のエラー発生状態の情報（以下、メッセージ解析結果と表記する）を表示装置３００に出力する処理部である。
【００６５】
図１３は、表示装置３００に表示されるメッセージ解析結果の一例である。同図に示すように、このメッセージ解析結果には、「概要」、「被疑部品」、「対処方法」、「検出箇所」、「運用状態」、「絞込みメッセージ」が含まれる。この表示画面のフォーマットなどは、出力情報定義辞書情報１３０ｂに設定されている。
【００６６】
ここで、「概要」は、エラー箇所特定メッセージに対応するメッセージ定義辞書情報のエラー概要番号と、エラー概要ファイル情報１３０ｄとで特定されるエラーの概要であり、「被疑部品」は、被疑部品特定メッセージに対応するメッセージ定義辞書情報の被疑部品番号と、被疑部品リスト情報１３０ｃとによって特定される被疑部品の情報である。
【００６７】
「対処方法」は、エラー箇所特定メッセージに対応するメッセージ定義辞書情報の対処方法番号と、対処方法ファイル情報１３０ｅとで特定されるエラーの対処方法であり、「検出箇所」は、被疑部品特定メッセージに対応するメッセージ定義辞書情報の異常／復旧構成部品の情報（故障の発生した部品の情報）を示す。
【００６８】
「運用状態」は、運用状態特定メッセージに対応するメッセージ定義辞書情報の運用状態の情報を示す。「絞込みメッセージ」は、エラーメッセージ群４００の各エラーメッセージの情報を示す。
【００６９】
このように、図１３に示した表示画面を管理者が参照することによって、管理者はコンピュータのエラー箇所や、故障の発生した部品などを、容易に特定することができるので、管理者にかかる負担を軽減させることができる。
【００７０】
次に、本実施例にかかるメッセージ解析装置１００の処理について説明する。図１４は、本実施例にかかるメッセージ解析装置１００の処理手順を示すフローチャートである。同図に示すように、メッセージ解析装置１００は、エンジン部１２０が、メッセージファイルを入力装置２００から取得し（ステップＳ１０１）、メッセージ定義辞書情報群１３０ａを取得する（ステップＳ１０２）。
【００７１】
そして、ピックアップ部１２０ａが、メッセージピックアップ処理を行い（ステップＳ１０３）、グループ分け部１２０ｂが、グループ分け処理を行い（ステップＳ１０４）、絞込み部１２０ｃが、絞込み処理を行う（ステップＳ１０５）。
【００７２】
続いて、エラー箇所検出特定部１２０ｄが、エラー箇所検出処理を行い（ステップＳ１０６）、被疑部品特定部１２０ｅが、被疑部品特定処理を行い（ステップＳ１０７）、グループ統合部１２０ｆが、グループ統合処理を行う（ステップＳ１０８）。
【００７３】
そして、運用状態特定部１２０ｇが、運用状態特定処理を行い（ステップＳ１０９）、出力部１２０ｈがメッセージ解析結果を作成し（ステップＳ１１０）、メッセージ解析結果を表示装置３００に出力する（ステップＳ１１１）。
【００７４】
次に、図１４のステップＳ１０３に示したメッセージピックアップ処理について説明する。図１５は、図１４のステップＳ１０３に示したメッセージピックアップ処理のフローチャートである。同図に示すように、ピックアップ部１２０ａが、メッセージファイルから所定の行単位でメッセージを読み込み（ステップＳ２０１）、未選択のメッセージを取得する（ステップＳ２０２）。
【００７５】
そして、正規表現フォーマットと、取得したメッセージとを比較し（ステップＳ２０３）、一致した場合には（ステップＳ２０４，Ｙｅｓ）、一致したメッセージをエラーメッセージ群に追加し（ステップＳ２０５）、すべてのメッセージに対するマッチングが終了したか否かを判定する（ステップＳ２０７）。一方、一致しなかった場合には（ステップＳ２０４，Ｎｏ）、一致しなかったメッセージを紛れメッセージ群に追加し（ステップＳ２０６）、ステップＳ２０７に移行する。
【００７６】
すべてのメッセージに対するマッチングが終了したか否かを判定し、すべてのメッセージに対するマッチングが完了していない場合には（ステップＳ２０８，Ｎｏ）、ステップＳ２０２に移行し、すてのメッセージに対するマッチングが完了している場合には（ステップＳ２０８，Ｙｅｓ）、紛れメッセージピックアップ処理を行う（ステップＳ２０９）。
【００７７】
次に、図１５のステップＳ２０９に示した紛れメッセージピックアップ処理について説明する。図１６は、図１５のステップＳ２０９に示した紛れメッセージピックアップ処理のフローチャートである。同図に示すように、ピックアップ部１２０ａは、紛れメッセージ群を読み込み（ステップＳ３０１）、未選択の紛れメッセージを（一行のみ）選択する（ステップＳ３０２）。
【００７８】
続いて、正規表現フォーマットと、取得したメッセージとを一行ずつ比較し（ステップＳ３０３）、一致した場合には（ステップＳ３０４，Ｙｅｓ）、残りの行が一致するか否かを判定し、一致する場合に、当該メッセージをエラーメッセージ群に追加し（ステップＳ３０５）、全てのメッセージ行に対するマッチングが完了したか否かを判定する（ステップＳ３０６）。一方、一致しない場合には（ステップＳ３０４，Ｎｏ）、そのままステップＳ３０６に移行する。
【００７９】
そして、全てのメッセージ行に対するマッチングが完了していない場合には（ステップＳ３０６，Ｎｏ）、ステップＳ３０２に移行し、全てのメッセージ行に対するマッチングが完了した場合には（ステップＳ３０６）、紛れメッセージピックアップ処理を終了する。
【００８０】
このように、ピックアップ部１２０ａは、メッセージファイルに含まれる大量のメッセージを必要なメッセージ（エラーメッセージ群）だけに絞り込むので、コンピュータのエラー発生状態を効率よく判定することができる。
【００８１】
次に、図１４のステップＳ１０４で示したグループ分け処理について説明する。図１７は、図１４のステップＳ１０４で示したグループ分け処理のフローチャートである。同図に示すように、グループ分け部１２０ｂは、未選択のエラーメッセージを選択し（ステップＳ４０１）、選択したエラーメッセージが物理パス情報を保持しているか否かを判定する（ステップＳ４０２）。
【００８２】
そして、物理パスを保持している場合には（ステップＳ４０３，Ｙｅｓ）、適合する物理パスを既存のグループが保持しているか否かを判定し（ステップＳ４０４）、適合する物理パスを保持していない場合には（ステップＳ４０５，Ｎｏ）、新しいグループを作成し、作成したグループにエラーメッセージを追加し（ステップＳ４０６）、ステップＳ４１２に移行する。
【００８３】
一方、適合する物理パスを保持している場合には（ステップＳ４０５，Ｙｅｓ）、適合する物理パスを持つ既存のグループにエラーメッセージを追加し（ステップＳ４０７）、ステップＳ４１２に移行する。
【００８４】
一方、選択したメッセージが物理パスを保持していない場合には（ステップＳ４０７，Ｎｏ）、選択したエラーメッセージと同じインスタンスが既存のグループに存在するか否かを判定し（ステップＳ４０８）、存在する場合には（ステップＳ４０９，Ｙｅｓ）、同じインスタンスを保持する既存のグループにエラーメッセージを追加し（ステップＳ４１０）、グループ分けが完了していない場合には（ステップＳ４１２，Ｎｏ）、ステップＳ４０１に移行し、グループ分けが完了した場合には（ステップＳ４１２，Ｙｅｓ）、グループ分け処理を終了する。
【００８５】
一方、選択したエラーメッセージと同じインスタンスが既存のグループに存在しない場合には（ステップＳ４０９，Ｎｏ）、時間的に最も近いメッセージが所属するグループにエラーメッセージを追加し（ステップＳ４１１）、ステップＳ４１２に移行する。
【００８６】
このように、グループ分け部１２０ｂは、ばらばらに分かれているメッセージを物理的に関連するグループごとに分けるので、効率よくコンピュータのエラー発生状態を解析することができる。
【００８７】
次に、図１４のステップＳ１０５で示した絞込み処理について説明する。図１８は、図１４のステップＳ１０５で示した絞込み処理のフローチャートである。同図に示すように、絞込み部１２０ｃは、未選択のグループを選択し（ステップＳ５０１）、グループ内に同じインスタンスのエラーメッセージが存在するか否かを判定する（ステップＳ５０２）。
【００８８】
そして、同じインスタンスが存在しない場合には（ステップＳ５０３，Ｎｏ）、同じインスタンスを含んだ、各エラーメッセージの「重み」を、メッセージ定義辞書情報から取得し（ステップＳ５０４）、各重みを比較して、重みが小さい側のエラーメッセージを無効化し（ステップＳ５０５）、全てのグループを選択していない場合には（ステップＳ５０６，Ｎｏ）、ステップＳ５０１に移行し、全てのグループを選択した場合には（ステップＳ５０６，Ｙｅｓ）、絞込み処理を終了する。
【００８９】
一方、グループ内に同じインスタンスのエラーメッセージが存在しない場合には（ステップＳ５０３，Ｎｏ）、そのままステップＳ５０６に移行する。
【００９０】
このように、絞込み部１２０ｃは、同一のインスタンスを有する複数のエラーメッセージを一つに絞り込むので、各インスタンスの状況をより高精度に判定することができる。
【００９１】
次に、図１４のステップＳ１０６で示したエラー箇所検出処理について説明する。図１９は、図１４のステップＳ１０６で示したエラー箇所検出処理のフローチャートである。同図に示すように、エラー箇所検出特定部１２０ｄが、未選択のグループを選択し（ステップＳ６０１）、選択したグループ内の、各エラーメッセージに対するメッセージ定義辞書情報を取得する（ステップＳ６０２）。
【００９２】
続いて、グループ内の、未選択のエラーメッセージを選択し（ステップＳ６０３）、選択したエラーメッセージの運用状態が「停止」または「縮退」で、ＨＢＡ層である場合には（ステップＳ６０４，Ｙｅｓ）、選択したエラーメッセージをエラー箇所特定メッセージに設定し（ステップＳ６０５）、ステップＳ６１１に移行する。
【００９３】
一方、選択したエラーメッセージの運用状態が「停止」または「縮退」で、ＨＢＡ層でない場合には（ステップＳ６０４，Ｎｏ）、運用状態がステータス（正常）か否かを判定し（ステップＳ６０６）、ステータスである場合には（ステップＳ６０６，Ｙｅｓ）、ステップＳ６１１に移行する。
【００９４】
一方、ステータスでない場合には（ステップＳ６０６，Ｎｏ）、選択したエラーメッセージがターゲット（target）層か否かを判定し（ステップＳ６０７）、選択したエラーメッセージがターゲット層である場合には（ステップＳ６０７，Ｙｅｓ）、ステップＳ６０５に移行する。
【００９５】
選択したエラーメッセージがターゲット層でない場合には（ステップＳ６０７）、選択したエラーメッセージがターゲット層であり、かつグループ内の他のエラーメッセージは、ＨＢＡ層か否かを判定し（ステップＳ６０８）、エラーメッセージがターゲット層であり、かつグループ内の他のエラーメッセージがＨＢＡ層でない場合には（ステップＳ６０８，Ｙｅｓ）、ステップＳ６０５に移行する。
【００９６】
一方、ステップＳ６０８の条件を満たさない場合には（ステップＳ６０８，Ｎｏ）、選択したエラーメッセージがパス管理層であり、グループ内の他のエラーメッセージが、ＨＢＡ層またはターゲット層でないか否かを判定する（ステップＳ６０９）。
【００９７】
選択したエラーメッセージがパス管理層であり、グループ内の他のエラーメッセージが、ＨＢＡ層またはターゲット層でない場合には（ステップＳ６０９，Ｙｅｓ）、ステップＳ６０５に移行する。
【００９８】
一方、ステップＳ６０９の条件を満たさない場合には（ステップＳ６０９，Ｎｏ）、選択したエラーメッセージがボリューム管理層であり、グループ内の他のエラーメッセージが、ボリューム管理層か否かを判定する（ステップＳ６１０）。
【００９９】
選択したエラーメッセージがボリューム管理層であり、グループ内の他のエラーメッセージが、ボリューム管理層である場合には（ステップＳ６１０，Ｙｅｓ）、ステップＳ６０５に移行する。
【０１００】
一方、ステップＳ６１０の条件を満たさない場合には（ステップＳ６１０，Ｎｏ）、グループ内の全てのエラーメッセージを選択したか否かを判定し（ステップＳ６１１）、グループ内の全てのエラーメッセージを選択していない場合には（ステップＳ６１１，Ｎｏ）、ステップＳ６０３に移行し、全てのエラーメッセージを選択している場合には（ステップＳ６１１，Ｙｅｓ）、全てのグループを選択したか否かを判定する（ステップＳ６１２）。
【０１０１】
そして、全てのグループを選択していない場合には（ステップＳ６１２，Ｎｏ）、ステップＳ６０１に移行し、全てのグループを選択した場合には（ステップＳ６１２，Ｙｅｓ）、エラー箇所検出処理を終了する。
【０１０２】
このように、エラー箇所検出特定部１２０ｄは、各エラーメッセージの運用状態および階層を基にして、エラー箇所特定メッセージを選択するので、精度よく、コンピュータのエラー箇所を特定することができる。
【０１０３】
次に、図１４のステップＳ１０７で示した被疑部品特定処理について説明する。図２０は、図１４のステップＳ１０７で示した被疑部品特定処理のフローチャートである。同図に示すように、被疑部品特定部１２０ｅは、未選択のグループを選択し（ステップＳ７０１）、選択したグループ内の、各エラーメッセージに対するメッセージ定義辞書ファイルを取得する（ステップＳ７０２）。
【０１０４】
そして、各エラーメッセージのエラー種別が関連しているか否かを判定し（ステップＳ７０３）、関連する場合には（ステップＳ７０４，Ｙｅｓ）、各エラーメッセージのうち、ハードに近い最下層のエラーメッセージを被疑部品特定メッセージに設定し（ステップＳ７０５）、全てのグループを選択した場合には（ステップＳ７０７，Ｎｏ）、ステップＳ７０１に移行する。
【０１０５】
一方、各エラーメッセージのエラー種別が関連していない場合には（ステップＳ７０４，Ｎｏ）、各エラーメッセージを被疑部品特定メッセージに設定し（ステップＳ７０６）、ステップＳ７０７に移行する。
【０１０６】
このように、被疑部品特定１２０ｅは、各エラーメッセージのエラー種別が関連している場合に、各エラーメッセージのうち、最もハードウェアに近い下位層に属するエラーメッセージを被疑部品特定メッセージとして設定するので、故障した部品を高精度で特定することができる。
【０１０７】
次に、図１４のステップＳ１０８で示したグループ統合処理について説明する。図２１は、図１４のステップＳ１０８で示したグループ統合処理のフローチャートである。同図に示すように、グループ統合部１２０ｆは、各グループ内に管理系のエラーメッセージに対する「異常／復旧構成部品」の物理アドレス（管理系のエラーメッセージ）が存在するか否かを判定する（ステップＳ８０１）。
【０１０８】
そして、「異常／復旧構成部品」の物理アドレスが存在する場合には（ステップＳ８０２，Ｙｅｓ）、各エラーメッセージの「異常／復旧構成部品」の物理アドレスが、他のグループに含まれるエラーメッセージの物理アドレスと一致するか否かを判定し（ステップＳ８０３）、一致する場合には（ステップＳ８０４，Ｙｅｓ）、物理パスが一致したエラーメッセージ同士を統合し（ステップＳ８０５）、一致しない場合には（ステップＳ８０４，Ｎｏ）、グループ統合処理を終了する。なお、「異常／復旧構成部品」の物理アドレスが存在しない場合には（ステップＳ８０２，Ｎｏ）、グループ統合処理を終了する。
【０１０９】
このように、グループ統合部１２０ｆは、物理的に関連するエラーグループ同士を統合するので、システムの運用単位でメッセージを見ることができ、運用状態を把握しやすくなる。
【０１１０】
次に、図１４のステップＳ１０９で示した運用状態特定処理について説明する。図２２は、図１４のステップＳ１０９で示した運用状態特定処理のフローチャートである。同図に示すように、運用状態特定部１２０ｇは、未選択のエラーメッセージを選択し（ステップＳ９０１）、選択したエラーメッセージが、ボリューム管理系のエラーメッセージである場合には、選択したエラーメッセージを、運用状態特定メッセージに設定し（ステップＳ９０３）、ステップＳ９０７に移行する。
【０１１１】
一方、選択したエラーメッセージが、ボリューム管理系（ボリューム管理層）のエラーメッセージでない場合には（ステップＳ９０２，Ｎｏ）、選択したエラーメッセージが、パス管理系のエラーメッセージであり、上位層のエラーメッセージが存在しないか否かを判定する（ステップＳ９０４）。
【０１１２】
そして、選択したエラーメッセージが、パス管理系のエラーメッセージであり、上位層のエラーメッセージが存在しない場合には（ステップＳ９０４，Ｙｅｓ）、ステップＳ９０３に移行し、ステップＳ９０４の条件を満たさない場合には（ステップＳ９０４，Ｎｏ）、選択したエラーメッセージが、ターゲット層のエラーメッセージであり、上位層のエラーメッセージが存在しないか否かを判定する（ステップＳ９０５）。
【０１１３】
選択したエラーメッセージが、ターゲット層のエラーメッセージであり、上位層のエラーメッセージが存在しない場合には（ステップＳ９０５，Ｙｅｓ）、ステップＳ９０３に移行し、ステップＳ９０５の条件を満たさない場合には（ステップＳ９０５，Ｎｏ）、選択したエラーメッセージが、ＨＢＡ層のエラーメッセージであり、他のエラーメッセージも全てＨＢＡ層のエラーメッセージか否かを判定する（ステップＳ９０６）。
【０１１４】
そして、選択したエラーメッセージが、ＨＢＡ層のエラーメッセージであり、他のエラーメッセージも全てＨＢＡ層のエラーメッセージである場合には（ステップＳ９０６，Ｙｅｓ）、ステップＳ９０３に移行し、ステップＳ９０６の条件を満たさない場合には（ステップＳ９０６，Ｎｏ）、全てのエラーメッセージを選択したか否かを判定する（ステップＳ９０７）。
【０１１５】
そして、全てのエラーメッセージを選択していない場合には（ステップＳ９０７，Ｎｏ）、ステップＳ９０１に移行し、全てのエラーメッセージを選択した場合には（ステップＳ９０７，Ｙｅｓ）、運用状態特定処理を終了する。
【０１１６】
このように、運用状態特定部１２０ｇは、各エラーメッセージの中から最上位層に属するエラーメッセージを選択し、この選択したエラーメッセージを運用状態特定メッセージに設定するので、コンピュータの運用状況を精度よく判定することができる。
【０１１７】
上述してきたように、本実施例にかかるメッセージ解析装置１００は、エンジン部１２０が、入力装置２００からメッセージファイルを取得し、ピックアップ部１２０ａが、エラーメッセージ群４００を抽出し、グループ分け部１２０ｂが、エラーメッセージ群を物理パスごとにグループ分けし、絞込み部１２０ｃが、エラーメッセージ群４００を絞込み、エラー箇所検出特定部１２０ｄが、エラー箇所特定メッセージを選択し、被疑部品特定部１２０ｅが、被疑部品特定メッセージを選択し、グループ統合部１２０ｆが、複数のグループを統合し、運用状態特定部１２０ｇが、運用状態特定メッセージを選択し、出力部１２０ｈが、メッセージ解析結果を表示装置３００に出力するので、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮して、コンピュータの状態を効率的に判定することができる。
【産業上の利用可能性】
【０１１８】
以上のように、本発明にかかるメッセージ解析装置は、コンピュータから出力される膨大な量のメッセージを、当該メッセージ間の関係を基にして解析し、コンピュータの状態を判定する必要のあるメッセージ解析装置に有用である。
【図面の簡単な説明】
【０１１９】
【図１】図１は、本実施例にかかるメッセージ解析装置の概念を説明するための説明図である。
【図２】図２は、本実施例にかかるメッセージ解析装置の構成を示す機能ブロック図である。
【図３】図３は、メッセージ定義辞書情報群のデータ構造の一例を示す図である。
【図４】図４は、被疑部品リスト情報のデータ構造の一例を示す図である。
【図５】図５は、ピックアップ部の処理を説明するための説明図である。
【図６】図６は、紛れメッセージを説明するための説明図である。
【図７】図７は、ピックアップ部が抽出したメッセージ群の一例を示す図である。
【図８】図８は、グループ分け部の処理を補足説明するための説明図である。
【図９】図９は、絞込み部の処理を補足説明するための説明図である。
【図１０】図１０は、エラー箇所検出特定部の処理を補足説明するための説明図である。
【図１１】図１１は、被疑部品特定部の処理を補足説明するための説明図である。
【図１２】図１２は、グループ結合部の処理を補足説明するための説明図である。
【図１３】図１３は、表示装置に表示されるメッセージ解析結果の一例である。
【図１４】図１４は、本実施例にかかるメッセージ解析装置の処理手順を示すフローチャートである。
【図１５】図１５は、図１４のステップＳ１０３に示したメッセージピックアップ処理のフローチャートである。
【図１６】図１６は、図１５のステップＳ２０９に示した紛れメッセージピックアップ処理のフローチャートである。
【図１７】図１７は、図１４のステップＳ１０４で示したグループ分け処理のフローチャートである。
【図１８】図１８は、図１４のステップＳ１０５で示した絞込み処理のフローチャートである。
【図１９】図１９は、図１４のステップＳ１０６で示したエラー箇所検出処理のフローチャートである。
【図２０】図２０は、図１４のステップＳ１０７で示した被疑部品特定処理のフローチャートである。
【図２１】図２１は、図１４のステップＳ１０８で示したグループ統合処理のフローチャートである。
【図２２】図２２は、図１４のステップＳ１０９で示した運用状態特定処理のフローチャートである。
【符号の説明】
【０１２０】
１００    メッセージ解析装置
１１０    インターフェース部
１２０    エンジン部
１２０ａ  ピックアップ部
１２０ｂ  グループ分け部
１２０ｃ  絞込み部
１２０ｄ  エラー箇所検出特定部
１２０ｅ  被疑部品特定部
１２０ｆ  グループ統合部
１２０ｇ  運用状態特定部
１３０    記憶部
１３０ａ  メッセージ定義辞書情報群
１３０ｂ  出力情報定義辞書情報
１３０ｃ  被疑部品リスト情報
１３０ｄ  エラー概要ファイル情報
１３０ｅ  対処方法ファイル情報
２００    入力装置
３００    表示装置
【手続補正書】
【提出日】平成19年10月4日(2007.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理装置に接続され、前記情報処理装置を構成するハードウェアを制御するソフトウェアが出力する前記ハードウェアの状態を表すメッセージファイルを解析するメッセージ解析装置において、
前記情報処理装置から取得した前記メッセージファイルの中からエラーメッセージ群を抽出するピックアップ部と、
エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれるエラーの種別を示すエラー種別情報との対応関係を表すエラー種別辞書情報を含むメッセージ定義辞書情報を格納する記憶部と、
前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれる重み付け情報に基づいて、優先度の高いメッセージを選択する絞込み部と、
前記絞込み部が選択したメッセージに含まれるエラー種別情報と前記記憶部が格納するメッセージ定義辞書情報に含まれるエラー種別辞書情報に基づいて、前記ハードウェアのエラー箇所を特定するエラー箇所検出特定部を有することを特徴とするメッセージ解析装置。
【請求項２】
前記メッセージ解析装置はさらに、
前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれハードウェアを特定する物理パス情報に基づいて、物理パス毎にグループ分けするグループ分け部を有することを特徴とする請求項１に記載のメッセージ解析装置。
【請求項３】
前記メッセージ定義辞書情報はさらに、
前記エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれる前記エラー種別情報に基づいて交換対象となる部品を特定する被疑部品番号情報との対応関係を表す被疑部品番号辞書情報を含み、
前記メッセージ解析装置はさらに、
前記記憶部から前記メッセージ定義辞書情報を取得して、それぞれのメッセージに含まれる被疑部品番号情報と前記取得したメッセージ定義辞書情報に含まれる被疑部品番号辞書情報に基づいて、エラーが発生した被疑部品を特定する被疑部品特定部を有することを特徴とする請求項１又は２に記載のメッセージ解析装置。
【請求項４】
前記メッセージ定義辞書情報はさらに、
前記エラーメッセージ群に含まれるメッセージと、前記ハードウェアと前記ソフトウェアを対応付けるインスタンス情報との対応関係を表すインスタンス辞書情報を含み、
前記メッセージ解析装置はさらに、
前記記憶部から前記メッセージ定義辞書情報を取得して、それぞれのメッセージに含まれるインスタンス情報が同一であるメッセージをグループに統合するグループ統合部を有することを特徴とする請求項１〜３のいずれか１項に記載のメッセージ解析装置。
【請求項５】
前記ソフトウェアは、
前記情報処理装置に接続された入出力装置の二重化構成を制御するボリュームドライバと、
前記入出力装置を制御するＩ／Ｏデバイスドライバと、
前記入出力装置を前記情報処理装置に接続するホストバスアダプタを制御するホストバスアダプタドライバを有し、
前記メッセージ解析装置はさらに、
前記ボリュームドライバが出力するエラーメッセージを運用状態特定メッセージとして特定する運用状態特定部を有することを特徴とする請求項１〜４のいずれか１項に記載のメッセージ解析装置。
【請求項６】
前記メッセージ解析装置はさらに、
表示装置に接続されるとともに、
前記エラー箇所検出特定部が特定した前記ハードウェアのエラー箇所に関するエラー箇所特定メッセージ、前記被疑部品特定部が特定したエラーが発生した被疑部品に関する被疑部品特定メッセージ、及び、前記運用状態特定メッセージを前記表示装置に出力する出力部を有することを特徴とする請求項５に記載のメッセージ解析装置。
【請求項７】
情報処理装置に接続され、前記情報処理装置を構成するハードウェアを制御するソフトウェアが出力する前記ハードウェアの状態を表すメッセージファイルを解析するメッセージ解析装置の制御方法において、
ピックアップ部が、前記情報処理装置から取得した前記メッセージファイルの中からエラーメッセージ群を抽出するステップと、
記憶部が、エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれるエラーの種別を示すエラー種別情報との対応関係を表すエラー種別辞書情報を含むメッセージ定義辞書情報を格納するステップと、
絞込み部が、前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれる重み付け情報に基づいて、優先度の高いメッセージを選択するステップと、
エラー箇所検出特定部が、前記絞込み部が選択したメッセージに含まれるエラー種別情報と前記記憶部が格納するメッセージ定義辞書情報に含まれるエラー種別辞書情報に基づいて、前記ハードウェアのエラー箇所を特定するステップを有することを特徴とするメッセージ解析装置の制御方法。
【請求項８】
前記メッセージ解析装置の制御方法はさらに、
グループ分け部が、前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれハードウェアを特定する物理パス情報に基づいて、物理パス毎にグループ分けするステップを有することを特徴とする請求項７に記載のメッセージ解析装置の制御方法。
【請求項９】
前記メッセージ定義辞書情報はさらに、
前記エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれる前記エラー種別情報に基づいて交換対象となる部品を特定する被疑部品番号情報との対応関係を表す被疑部品番号辞書情報を含み、
前記メッセージ解析装置の制御方法はさらに、
被疑部品特定部が、前記記憶部から前記メッセージ定義辞書情報を取得して、それぞれのメッセージに含まれる被疑部品番号情報と前記取得したメッセージ定義辞書情報に含まれる被疑部品番号辞書情報に基づいて、エラーが発生した被疑部品を特定するステップを有すること特徴とする請求項７又は８に記載のメッセージ解析装置の制御方法。
【請求項１０】
前記メッセージ定義辞書情報はさらに、
前記エラーメッセージ群に含まれるメッセージと、前記ハードウェアと前記ソフトウェアを対応付けるインスタンス情報との対応関係を表すインスタンス辞書情報を含み、
前記メッセージ解析装置の制御方法はさらに、
グループ結合部が、前記記憶部から前記メッセージ定義辞書情報を取得して、それぞれのメッセージに含まれるインスタンス情報が同一であるメッセージをグループに統合するステップを有することを特徴とする請求項７〜９のいずれか１項に記載のメッセージ解析装置の制御方法。
【請求項１１】
前記ソフトウェアは、
前記情報処理装置に接続された入出力装置の二重化構成を制御するボリュームドライバと、
前記入出力装置を制御するＩ／Ｏデバイスドライバと、
前記入出力装置を前記情報処理装置に接続するホストバスアダプタを制御するホストバスアダプタドライバを有し、
前記メッセージ解析装置の制御方法はさらに、
運用状態特定部が、前記ボリュームドライバが出力するエラーメッセージを運用状態特定メッセージとして特定するステップを有することを特徴とする請求項７〜１０のいずれか１項に記載のメッセージ解析装置の制御方法。
【請求項１２】
前記メッセージ解析装置はさらに、
表示装置に接続されるとともに、
前記メッセージ解析装置の制御方法はさらに、
出力部が、前記エラー箇所検出特定部が特定した前記ハードウェアのエラー箇所に関するエラー箇所特定メッセージ、前記被疑部品特定部が特定したエラーが発生した被疑部品に関する被疑部品特定メッセージ、及び、前記運用状態特定メッセージを前記表示装置に出力するステップを有することを特徴とする請求項１１に記載のメッセージ解析装置の制御方法。
【請求項１３】
情報処理装置に接続され、前記情報処理装置を構成するハードウェアを制御するソフトウェアが出力する前記ハードウェアの状態を表すメッセージファイルを解析するメッセージ解析装置の制御プログラムにおいて、
前記メッセージ解析装置に、
ピックアップ部が、前記情報処理装置から取得した前記メッセージファイルの中からエラーメッセージ群を抽出するステップと、
記憶部が、エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれるエラーの種別を示すエラー種別情報との対応関係を表すエラー種別辞書情報を含むメッセージ定義辞書情報を格納するステップと、
絞込み部が、前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれる重み付け情報に基づいて、優先度の高いメッセージを選択するステップと、
エラー箇所検出特定部が、前記絞込み部が選択したメッセージに含まれるエラー種別情報と前記記憶部が格納するメッセージ定義辞書情報に含まれるエラー種別辞書情報に基づいて、前記ハードウェアのエラー箇所を特定するステップを実行させることを特徴とするメッセージ解析装置の制御プログラム。
【請求項１４】
前記メッセージ解析装置の制御プログラムはさらに、
前記メッセージ解析装置に、
グループ分け部が、前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれハードウェアを特定する物理パス情報に基づいて、物理パス毎にグループ分けするステップを実行させることを特徴とする請求項１３に記載のメッセージ解析装置の制御プログラム。
【請求項１５】
前記メッセージ定義辞書情報はさらに、
前記エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれる前記エラー種別情報に基づいて交換対象となる部品を特定する被疑部品番号情報との対応関係を表す被疑部品番号辞書情報を含み、
前記メッセージ解析装置の制御プログラムはさらに、
前記メッセージ解析装置に、
被疑部品特定部が、前記記憶部から前記メッセージ定義辞書情報を取得して、それぞれのメッセージに含まれる被疑部品番号情報と前記取得したメッセージ定義辞書情報に含まれる被疑部品番号辞書情報に基づいて、エラーが発生した被疑部品を特定するステップを実行させること特徴とする請求項１３又は１４に記載のメッセージ解析装置の制御プログラム。
【請求項１６】
前記メッセージ定義辞書情報はさらに、
前記エラーメッセージ群に含まれるメッセージと、前記ハードウェアと前記ソフトウェアを対応付けるインスタンス情報との対応関係を表すインスタンス辞書情報を含み、
前記メッセージ解析装置の制御プログラムはさらに、
前記メッセージ解析装置に、
グループ結合部が、前記記憶部から前記メッセージ定義辞書情報を取得して、それぞれのメッセージに含まれるインスタンス情報が同一であるメッセージをグループに統合するステップを実行させることを特徴とする請求項１３〜１５のいずれか１項に記載のメッセージ解析装置の制御プログラム。
【請求項１７】
前記ソフトウェアは、
前記情報処理装置に接続された入出力装置の二重化構成を制御するボリュームドライバと、
前記入出力装置を制御するＩ／Ｏデバイスドライバと、
前記入出力装置を前記情報処理装置に接続するホストバスアダプタを制御するホストバスアダプタドライバを有し、
前記メッセージ解析装置の制御プログラムはさらに、
前記メッセージ解析装置に、
運用状態特定部が、前記ボリュームドライバが出力するエラーメッセージを運用状態特定メッセージとして特定するステップを実行させることを特徴とする請求項１３〜１６のいずれか１項に記載のメッセージ解析装置の制御プログラム。
【請求項１８】
前記メッセージ解析装置はさらに、
表示装置に接続されるとともに、
前記メッセージ解析装置の制御プログラムはさらに、
前記メッセージ解析装置に、
出力部が、前記エラー箇所検出特定部が特定した前記ハードウェアのエラー箇所に関するエラー箇所特定メッセージ、前記被疑部品特定部が特定したエラーが発生した被疑部品に関する被疑部品特定メッセージ、及び、前記運用状態特定メッセージを前記表示装置に出力するステップを実行させることを特徴とする請求項１７に記載のメッセージ解析装置の制御プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
上述した課題を解決し、目的を達成するため、本発明は、情報処理装置に接続され、前記情報処理装置を構成するハードウェアを制御するソフトウェアが出力する前記ハードウェアの状態を表すメッセージファイルを解析するメッセージ解析装置において、前記情報処理装置から取得した前記メッセージファイルの中からエラーメッセージ群を抽出するピックアップ部と、エラーメッセージ群に含まれるメッセージと、前記メッセージに含まれるエラーの種別を示すエラー種別情報との対応関係を表すエラー種別辞書情報を含むメッセージ定義辞書情報を格納する記憶部と、前記ピックアップ部が抽出したエラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれる重み付け情報に基づいて、優先度の高いメッセージを選択する絞込み部と、前記絞込み部が選択したメッセージに含まれるエラー種別情報と前記記憶部が格納するメッセージ定義辞書情報に含まれるエラー種別辞書情報に基づいて、前記ハードウェアのエラー箇所を特定するエラー箇所検出特定部を有することを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明にかかるメッセージ解析装置は、情報処理装置から取得したメッセージファイルの中からエラーメッセージ群を抽出し、エラーメッセージ群に含まれるメッセージと、メッセージに含まれるエラーの種別を示すエラー種別情報との対応関係を表すエラー種別辞書情報を含むメッセージ定義辞書情報を格納し、エラーメッセージ群に含まれるメッセージを、それぞれのメッセージに含まれる重み付け情報に基づいて、優先度の高いメッセージを選択し、選択したメッセージに含まれるエラー種別情報とメッセージ定義辞書情報に含まれるエラー種別辞書情報に基づいて、ハードウェアのエラー箇所を特定するので、管理者にかかる負担を軽減させると共に、エラーメッセージの相互関係を考慮したコンピュータの状態（不具合の発生したハードウェアやコンピュータの運用状態など）を効率的に判定することができる。
【国際調査報告】
2007007410.tif 000024
2007007410.tif 000025
2007007410.tif 000026
2007007410.tif 000027