(57)【要約】  対処支援装置（１００）は、システム内の対象機器における各種イベントの発生タイミングや、状態変化のタイミングを含むメッセージ情報を取得する。対処支援装置（１００）は、取得したメッセージ情報の集合の中から、障害（Ｘ）の発生前に発生して障害（Ｘ）の予兆となる種別（Ｍ１，Ｍ３，Ｍ５）のメッセージ情報を検索する。対処支援装置（１００）は、障害（Ｘ）の予兆となる種別（Ｍ１，Ｍ３，Ｍ５）のメッセージ情報が検索された場合、障害事例ＤＢ（１１０）を参照して、障害（Ｘ）の発生時点を特定する。対処支援装置（１００）は、検索した種別（Ｍ１，Ｍ３，Ｍ５）のメッセージ情報の発生時点（ｔ１，ｔ３，ｔ５）と、特定した障害Ｘの発生時点（ｔｘ）とに基づいて、障害（Ｘ）のリードタイム（ＬＴ）を算出する。
2012127588.tif 000002
【特許請求の範囲】
【請求項１】
監視対象となるシステム内の対象機器の動作に関連する所定の種別のメッセージの発生タイミングから障害発生タイミングまでの経過時間を算出し、
算出した該経過時間を出力する、
処理をコンピュータに実行させることを特徴とする対処支援プログラム。
【請求項２】
前記システム内で発生したメッセージの中から、特定の障害の発生前に発生して前記特定の障害の予兆となる所定の種別のメッセージを検索し、
前記システム内で発生した障害の発生時点を記憶するデータベースを参照して、前記特定の障害の発生時点を特定し、
検索した前記所定の種別のメッセージの発生時点と、特定した前記特定の障害の発生時点とに基づいて、前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの時間を算出し、
算出した算出結果を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項１に記載の対処支援プログラム。
【請求項３】
前記システム内で発生した前記所定の種別のメッセージを検出し、
前記所定の種別のメッセージが検出された場合、算出した前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの時間を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項２に記載の対処支援プログラム。
【請求項４】
前記所定の種別のメッセージが検出された場合、前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの時間に基づいて、前記特定の障害の対処案と前記対処案の実施にかかる所要時間とを関連付けて記憶する対処案データベースの中から、前記特定の障害の対処案を選択し、
選択した前記特定の障害の対処案を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項３に記載の対処支援プログラム。
【請求項５】
前記特定の障害の対処案を選択する処理は、
前記対処案データベースの中から、前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの時間より所要時間が短い対処案を選択することを特徴とする請求項４に記載の対処支援プログラム。
【請求項６】
前記所定の種別は一つ以上の種別の組合せであり、
前記所定の種別のメッセージを検索する処理は、
前記システム内で発生したメッセージの中から、前記組合せに含まれる各々の種別のメッセージを検索し、
前記特定の障害が発生するまでの時間を算出する処理は、
検索した前記各々の種別のメッセージの発生時点のうち最新の発生時点から、特定した前記特定の障害の発生時点までの時間間隔を算出することを特徴とする請求項２〜５のいずれか一つに記載の対処支援プログラム。
【請求項７】
前記特定の障害の発生時点を特定する処理は、
前記データベースを参照して、検索した前記所定の種別のメッセージの発生時点から所定期間内に発生した前記特定の障害の発生時点を特定することを特徴とする請求項６に記載の対処支援プログラム。
【請求項８】
前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの第１の時間が算出された後、前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの第２の時間が算出された場合、前記第１および第２の時間に基づいて、前記特定の障害の予兆が発生してから前記特定の障害が発生するまでの時間を算出する、
処理を前記コンピュータに実行させることを特徴とする請求項７に記載の対処支援プログラム。
【請求項９】
監視対象となるシステム内の対象機器の動作に関連する所定の種別のメッセージの発生タイミングから障害発生タイミングまでの経過時間を算出する算出部と、
前記算出部によって算出された前記経過時間を出力する出力部と、
を備えることを特徴とする対処支援装置。
【請求項１０】
監視対象となるシステム内の対象機器の動作に関連する所定の種別のメッセージの発生タイミングから障害発生タイミングまでの経過時間を算出し、
算出した該経過時間を出力する、
処理をコンピュータが実行することを特徴とする対処支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害への対処を支援する対処支援プログラム、対処支援装置および対処支援方法に関する。
【背景技術】
【０００２】
従来、ＩＤＣ（Ｉｎｔｅｒｎｅｔ  Ｄａｔａ  Ｃｅｎｔｅｒ）などの大規模システムにおいて、システム内で発生する障害の予兆を検出して、障害が顕在化する前に、何らかの対処を行うシステム運用が行われている。【０００３】
関連する先行技術としては、例えば、対象装置に生じたイベントの発生順序によって特定される前兆パターンを抽出し、対象ログに前兆パターンが検出されたときに対象装置に障害が発生すると予測するものがある。また、プラント異常を監視するポイントの制限値とプラントデータの最新値との比較および警報条件とプラントデータの最新値との比較を行い、比較の結果が所定の範囲を逸脱した場合に警報通知する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１７２１３１号公報
【特許文献２】特開２００９−７５６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、予兆が検出された障害に適した対処法を選択することが難しいという問題がある。例えば、障害の予兆が検出されてから障害が発生するまでの間に実施できない対処法が選択されることがあり、対処が完了する前に障害が顕在化してダウンタイムを引き起こす場合がある。【０００６】
一側面では、本発明は、障害の予兆発生から障害の発生までの時間を算出することができる対処支援プログラム、対処支援装置および対処支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、監視対象となるシステム内の対象機器の動作に関連する所定の種別のメッセージの発生タイミングから障害発生タイミングまでの経過時間を算出し、算出した該経過時間を出力する対処支援プログラム、対処支援装置および対処支援方法が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、障害の予兆発生から障害の発生までの時間を算出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１にかかる対処支援装置の一実施例を示す説明図である。
【図２】図２は、実施の形態２にかかる対処支援システムのシステム構成例を示す説明図である。
【図３】図３は、実施の形態２にかかる対処支援装置のハードウェア構成例を示すブロック図である。
【図４】図４は、障害事例ＤＢの記憶内容の一例を示す説明図である。
【図５】図５は、メッセージパターンＤＢの記憶内容の一例を示す説明図である。
【図６】図６は、対処案ＤＢの記憶内容の一例を示す説明図である。
【図７】図７は、実施の形態２にかかる対処支援装置の機能的構成を示すブロック図である。
【図８】図８は、メッセージＤＢの記憶内容の一例を示す説明図である。
【図９】図９は、リードタイム予測結果の具体例を示す説明図である。
【図１０】図１０は、検出結果テーブルの具体例を示す説明図である。
【図１１】図１１は、検出結果テーブルの記憶内容の変遷例を示す説明図（その１）である。
【図１２】図１２は、検出結果テーブルの記憶内容の変遷例を示す説明図（その２）である。
【図１３】図１３は、対処案リストの具体例を示す説明図である。
【図１４】図１４は、メッセージ辞書ＤＢの記憶内容の一例を示す説明図である。
【図１５】図１５は、メッセージの分類例を示す説明図である。
【図１６】図１６は、障害の発生時刻の特定例を示す説明図である。
【図１７】図１７は、実施の形態２にかかる対処支援装置のリードタイム算出処理手順の一例を示すフローチャート（その１）である。
【図１８】図１８は、実施の形態２にかかる対処支援装置のリードタイム算出処理手順の一例を示すフローチャート（その２）である。
【図１９】図１９は、実施の形態２にかかる対処支援装置の対処案選択処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる対処支援プログラム、対処支援装置および対処支援方法の実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
図１は、実施の形態１にかかる対処支援方法の一実施例を示す説明図である。図１において、対処支援装置１００は、監視対象となるシステム内で発生する障害への対処を支援するコンピュータである。
【００１２】
ここで、監視対象となるシステムは、例えば、ＩＤＣに構築されるクラウドコンピューティングシステムなどの大規模システムである。システム内で発生する障害としては、例えば、サーバの高負荷、ネットワーク帯域の圧迫、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：仮想マシン）の障害などがある。
【００１３】
実施の形態１では、障害の予兆が検出されてから障害が発生するまでの時間を予測することにより、予兆が検出された障害に適した対処案の選択を容易にする対処支援方法について説明する。以下、対処支援装置１００が実行する対処支援方法の一実施例について説明する。
【００１４】
（１）対処支援装置１００は、システム内の対象機器における各種イベントの発生タイミングや、状態変化のタイミングを含むメッセージ情報を取得する。ここで、メッセージ情報は、１又は複数の対象機器からリアルタイムに取得することもでき、また、対象機器から所定のタイミング（定期的、所定のイベント発生に応じたタイミングなど）で、複数メッセージ情報をまとめて取得することもできる。なお、システム内で発生したイベントや状態の変化は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のシステムログやアプリケーションのログとして対象機器のそれぞれにおいて記憶装置に記憶することもできる。
【００１５】
メッセージの種別は、メッセージを分類するための類型を表すものである。メッセージは、例えば、イベントの種類、性質、系統などによって分類されてもよく、メッセージ間の類似度によって分類されてもよい。
【００１６】
図１の例では、取得されたメッセージ情報の各々のメッセージ情報が示すメッセージＭ１〜Ｍ７の発生タイミングｔ１〜ｔ７が時系列に示されている。なお、図１中、Ｍ♯は、メッセージの種別を表している（♯＝１，２，…，７）。
【００１７】
（２）対処支援装置１００は、収集したメッセージ情報をモニタし、収集したメッセージ情報が所定の種別のメッセージ情報に該当する場合に、当該メッセージ情報の発生タイミングを取得する。または、取得したメッセージを、発生タイミングを含めて一度記憶部に記憶しておき、後に、記憶部に記憶されたメッセージ情報について検索処理を行い、所定の種別のメッセージ情報が記憶されていることが検出されると、当該メッセージ情報の発生タイミングを取得してもよい。
【００１８】
所定の種別は、不図示の入力装置を用いた入力操作により指定された種別とすることもできるし、また、予め記憶された種別とすることもできる。また、所定の種別を直接指定せずに、障害の種別を特定する情報が不図示の入力装置から入力された場合に、入力された障害の種別に対応するメッセージの種別を所定の種別とすることもできる。
【００１９】
また、収集したメッセージ情報をモニタし、収集した最新のメッセージ情報（Ｍｎ）が所定の種別のメッセージ情報に該当する場合に、当該最新のメッセージ情報（Ｍｎ）よりも前に取得している当該所定の種別のメッセージ情報（Ｍｐ）の発生タイミングを取得することもできる。また、所定の種別は、複数とすることもでき、複数の種別のメッセージのそれぞれの発生タイミングを取得してもよい。
【００２０】
ここでは、一例として、特定の障害を「障害Ｘ」とし、障害Ｘの発生前に発生して障害Ｘの予兆となる所定の種別を「種別Ｍ１，Ｍ３，Ｍ５」とする。この場合、取得したメッセージ情報の集合の中から、種別Ｍ１，Ｍ３，Ｍ５のメッセージ情報が検索される。
【００２１】
（３）対処支援装置１００は、障害Ｘの予兆となる種別Ｍ１，Ｍ３，Ｍ５のメッセージ情報が検索された場合、障害事例ＤＢ（データベース）１１０を参照して、障害Ｘの発生時点を特定する。ここで、障害事例ＤＢ１１０は、システム内で発生した障害の事例（障害Ｘを含む）ごとに、障害の発生時点を記憶している。
【００２２】
図１の例では、メッセージ情報の集合の中から、種別Ｍ１，Ｍ３，Ｍ５のメッセージ情報が検索された結果、障害Ｘの発生時点ｔｘが特定されている。
【００２３】
（４）対処支援装置１００は、検索した種別Ｍ１，Ｍ３，Ｍ５のメッセージ情報の発生時点ｔ１，ｔ３，ｔ５と、特定した障害Ｘの発生時点ｔｘとに基づいて、障害ＸのリードタイムＬＴを算出する。ここで、リードタイムＬＴとは、障害Ｘの予兆が発生してから障害Ｘが発生するまでの時間である。
【００２４】
図１の例では、Ｍ５のメッセージ情報の発生時点ｔ５から、障害Ｘの発生時点ｔｘまでの時間間隔が、障害ＸのリードタイムＬＴとして算出されている。すなわち、対処支援装置１００は、メッセージＭ５の発生時点ｔ５を障害Ｘの予兆を検出した時点として、障害Ｘの予兆から発生までの残りの時間をリードタイムＬＴとして算出している。
【００２５】
もちろん、ｔ１とｔｘまでの時間間隔、ｔ３とｔｘまでの時間間隔をリードタイムＬＴとして算出してもよい。なお、算出した各リードタイムＬＴを障害Ｘ、又は、対応するＭ１，Ｍ３，Ｍ５と対応付けて記憶しておいてもよい。そして、障害Ｘ，Ｍ１，Ｍ３，Ｍ５のいずれかの指定を入力装置の操作によって受けると、対応するリードタイムＬＴを出力してもよい。
【００２６】
また、収集した最新のメッセージ情報がＭ１，Ｍ３，Ｍ５のいずれかに該当することを検出した場合に、検出されたＭ１，Ｍ３，Ｍ５、又は対応する障害Ｘを指定として扱うこともできる。例えば、最新のメッセージ情報がＭ３であることを検出すると、Ｍ３又は障害Ｘに対応付けて記憶されたリードタイムＬＴを出力してもよい。
【００２７】
以上説明したように、実施の形態１にかかる対処支援装置１００によれば、障害の予兆が検出されてから障害が発生するまでのリードタイムＬＴを算出することができる。これにより、システム内で障害の予兆が検出された際に、実施すべき対処案をリードタイムＬＴに合わせて選択することが可能となる。
【００２８】
（実施の形態２）
つぎに、実施の形態２にかかる対処支援システム２００について説明する。なお、実施の形態１で説明した箇所と同一箇所については説明を省略する。
【００２９】
（対処支援システム２００のシステム構成）
図２は、実施の形態２にかかる対処支援システムのシステム構成例を示す説明図である。図２において、対処支援システム２００は、対処支援装置１００と、複数のサーバ２０１（図面では３台）と、複数のクライアント端末２０２（図面では４台）と、を含む。対処支援システム２００において、対処支援装置１００、複数のサーバ２０１、および複数のクライアント端末２０２は、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク２１０を介して接続されている。
【００３０】
対処支援装置１００は、障害事例ＤＢ１１０、メッセージパターンＤＢ２２０および対処案ＤＢ２３０を備え、対処支援システム２００内で発生する障害への対処を支援するコンピュータである。対処支援装置１００は、例えば、対処支援システム２００の管理者により使用される。
【００３１】
障害事例ＤＢ１１０は、対処支援システム２００内で発生した障害の事例ごとに、障害の発生時点を記憶するデータベースである。メッセージパターンＤＢ２２０は、障害の予兆となるメッセージパターンを記憶するデータベースである。対処案ＤＢ２３０は、障害の対処案と、対処案の実施にかかる所要時間とを関連付けて記憶するデータベースである。なお、各種ＤＢ１１０，２２０，２３０についての詳細な説明は、図４〜図６を用いて後述する。
【００３２】
サーバ２０１は、クライアント端末２０２からの要求に応じてサービスを提供するコンピュータである。サーバ２０１は、実行中のＯＳやアプリケーションのログを対処支援装置１００に提供する機能を有する。サーバ２０１は、例えば、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバ、メールサーバなどである。
【００３３】
クライアント端末２０２は、サーバ２０１によって提供されるサービスの利用者が使用するコンピュータである。クライアント端末２０２は、例えば、ＰＣ（パーソナル・コンピュータ）、携帯情報端末などである。
【００３４】
（対処支援装置１００のハードウェア構成例）
図３は、実施の形態２にかかる対処支援装置のハードウェア構成例を示すブロック図である。図３において、対処支援装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、キーボード３１０と、マウス３１１と、スキャナ３１２と、プリンタ３１３と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００３５】
ここで、ＣＰＵ３０１は、対処支援装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００３６】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３７】
ディスプレイ３０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０８は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３８】
Ｉ／Ｆ３０９は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０９は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２１０には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３９】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４０】
スキャナ３１２は、画像を光学的に読み取り、対処支援装置１００内に画像データを取り込む。なお、スキャナ３１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ３１３は、画像データや文書データを印刷する。プリンタ３１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００４１】
なお、図２に示したサーバ２０１およびクライアント端末２０２についても、上述した対処支援装置１００と同様のハードウェア構成により実現することができる。
【００４２】
（各種ＤＢ１１０，２２０，２３０の記憶内容）
つぎに、対処支援装置１００が備える各種ＤＢ１１０，２２０，２３０の記憶内容について説明する。各種ＤＢ１１０，２２０，２３０は、例えば、図３に示したＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置により実現される。
【００４３】
＜障害事例ＤＢ１１０の記憶内容＞
図４は、障害事例ＤＢの記憶内容の一例を示す説明図である。図４において、障害事例ＤＢ１１０は、障害ＩＤ、障害タイプおよび事例データのフィールドを有する。各フィールドに情報を設定することで、障害Ｄ１〜Ｄｍの障害事例情報４００−１〜４００−ｍがレコードとして記憶されている。
【００４４】
ここで、障害ＩＤは、対処支援システム２００内で発生した障害の識別子である。障害タイプは、障害を特徴付ける種別である。障害タイプとしては、例えば、サーバ高負荷、ネットワークカード異常、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）異常、ディスクＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）競合などがある。事例データは、障害の事例ごとの発生時刻および終了時刻を示す情報である。事例ＩＤは、事例の識別子である。
【００４５】
例えば、障害事例情報４００−ｊは、障害Ｄｊの障害タイプＴｊおよび事例データＩｊを示している（ｊ＝１，２，…，ｍ）。また、事例データＩｊは、障害Ｄｊの事例Ｅｋごとの発生時刻ｔsｋおよび終了時刻ｔeｋを示している（ｋ＝１，２，…，Ｋ）。障害事例ＤＢ１１０の記憶内容は、対処支援システム２００内で新たな障害が発生すると、その都度更新される。
【００４６】
＜メッセージパターンＤＢ２２０の記憶内容＞
図５は、メッセージパターンＤＢの記憶内容の一例を示す説明図である。図５において、メッセージパターンＤＢ２２０は、メッセージパターンＩＤ、障害タイプ、メッセージＩＤ、発生確率およびリードタイムのフィールドを有する。各フィールドに情報を設定することで、メッセージパターンＭＰ１〜ＭＰｎのメッセージパターン情報５００−１〜５００−ｎがレコードとして記憶されている。
【００４７】
ここで、メッセージパターンＩＤは、メッセージパターンの識別子である。メッセージパターンは、特定の障害の発生前に発生して特定の障害の予兆となるメッセージのメッセージＩＤの組合せを表している。メッセージは、サーバ２０１の動作記録を示すログに含まれている。メッセージＩＤは、実施の形態１で説明した「メッセージの種別」に相当する。障害タイプは、障害を特徴付ける種別である。
【００４８】
メッセージＩＤは、メッセージを分類する識別子である。発生確率は、対処支援システム２００内でメッセージパターンに含まれるメッセージＩＤのメッセージが発生した際に、特定の障害が発生する確率である。リードタイムは、障害の予兆が検出されてから障害が発生するまでの時間である。
【００４９】
メッセージパターン情報５００−１を例に挙げると、障害タイプＴ１の障害の予兆となるメッセージのメッセージＩＤの組合せを表すメッセージパターンＭＰ１が示されている。また、対処支援システム２００内でメッセージパターンＭＰ１に含まれるメッセージＩＤのメッセージが発生した際に、障害タイプＴ１の障害が発生する発生確率「０．１５６２５」が示されている。また、障害タイプＴ１の障害の予兆から発生までのリードタイム「００：３０：００（時：分：秒）」が示されている。
【００５０】
なお、同一の障害タイプのメッセージパターンは、該障害タイプの障害と共起関係を有するメッセージＩＤの集合の部分集合を表している。ここでの共起関係とは、一方（例えば、『メッセージＩＤの集合』）が発生すると他方（例えば、『障害』）も発生する可能性が高いという関係のことである。
【００５１】
例えば、メッセージパターンＭＰ１〜ＭＰ３は、障害タイプＴ１の障害と共起関係を有するメッセージＩＤの集合『ｍ０，ｍ１，ｍ２，ｍ３，ｍ４，ｍ１０，ｍ１８，ｍ１９，ｍ２１，ｍ２７，ｍ３０，ｍ３６，ｍ５８，ｍ６４，ｍ６５，ｍ８２，ｍ８３，ｍ１０９，ｍ１１５，ｍ１１６，ｍ１１８』の部分集合をそれぞれ表している。
【００５２】
以下の説明では、メッセージパターンＭＰ１〜ＭＰｎのうち任意のメッセージパターンを「メッセージパターンＭＰｉ」と表記する。また、メッセージパターンＭＰｉの障害タイプを「障害タイプＴ」と表記し、メッセージパターンＭＰｉのリードタイムを「リードタイムＬＴｉ」と表記する。
【００５３】
＜対処案ＤＢ２３０の記憶内容＞
図６は、対処案ＤＢの記憶内容の一例を示す説明図である。図６において、対処案ＤＢ２３０は、障害タイプごとに、障害タイプの障害の対処案と、障害の対処案の実施にかかる所要時間とを関連付けて示す対処案情報６００−１〜６００−ｍを記憶している。
【００５４】
対処案情報６００−１を例に挙げると、障害タイプＴ１の障害の対処案「ＶＭ増設」と、対処案「ＶＭ増設」の実施にかかる所要時間「２０−３０［分］」が示されている。なお、２０−３０［分］は、２０分以上３０分以下を表している。また、障害タイプＴ１の障害の対処案「ＶＭの割当コア数増加」と、対処案「ＶＭの割当コア数増加」の実施にかかる所要時間「１０−２０［分］」が示されている。
【００５５】
また、障害タイプＴ１の障害の対処案「Ｓｏｒｒｙサーバへ」と、対処案「Ｓｏｒｒｙサーバへ」の実施にかかる所要時間「０−１０［分］」が示されている。なお、Ｓｏｒｒｙサーバとは、例えば、サーバ２０１の障害時などのサービスを提供できない場合に、サービスが提供できない旨のレスポンスをクライアント端末２０２に返すサーバである。
【００５６】
（対処支援装置１００の機能的構成例）
つぎに、実施の形態２にかかる対処支援装置１００の機能的構成例について説明する。図７は、実施の形態２にかかる対処支援装置の機能的構成を示すブロック図である。図７において、対処支援装置１００は、取得部７０１と、分類部７０２と、第１の選択部７０３と、検索部７０４と、特定部７０５と、算出部７０６と、出力部７０７と、検出部７０８と、第２の選択部７０９と、を含む構成である。この制御部となる機能（取得部７０１〜第２の選択部７０９）は、具体的には、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０９により、その機能を実現する。各機能部の処理結果は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００５７】
取得部７０１は、サーバ２０１の動作記録を示すログを取得する機能を有する。具体的には、例えば、取得部７０１が、ネットワーク２１０を介して、サーバ２０１の動作記録を示すログをサーバ２０１から受信する。ログは、対処支援システム２００内で発生した各種イベントや状態の変化の記録を示すものである。
【００５８】
ログには、例えば、日時、ホスト名、プロセス名、イベント内容などを示すメッセージが含まれている。日時は、ログが出力された日時である。ホスト名は、ログを出力したサーバ２０１の識別子である。プロセス名は、ログに関連するソフトウェア（ＯＳやアプリケーション）のプロセスの名称である。イベント内容は、ログに関連するイベントの内容である。
【００５９】
分類部７０２は、取得されたログを分類する機能を有する。具体的には、例えば、分類部７０２が、取得されたログに含まれるメッセージに基づいて、ログを分類する。なお、分類部７０２の具体的な処理内容については、図１４および図１５を用いて後述する。分類された分類結果は、例えば、図８に示すメッセージＤＢ８００に記憶される。ここで、メッセージＤＢ８００について説明する。
【００６０】
図８は、メッセージＤＢの記憶内容の一例を示す説明図である。図８において、メッセージＤＢ８００は、メッセージＩＤ、ホスト名、発生時刻およびメッセージ内容のフィールドを有する。各フィールドに情報を設定することで、メッセージ情報（例えば、メッセージ情報８００−１〜８００−３）がレコードとして記憶されている。
【００６１】
メッセージＩＤは、メッセージを分類する識別子である。ホスト名は、サーバ２０１の識別子（例えば、ＩＰアドレス）である。発生時刻は、メッセージの発生時刻である。すなわち、発生時刻は、メッセージを含むログが出力された日時である。メッセージ内容は、ログに含まれるメッセージの記述内容である。
【００６２】
メッセージＤＢ８００内の各メッセージ情報は、サーバ２０１から取得された各ログに対応している。また、メッセージＤＢ８００内のメッセージ情報群は、メッセージの発生時刻が新しいものから順にソートされて記憶されている。
【００６３】
メッセージ情報８００−１を例に挙げると、メッセージｍ０を含むログを出力したホスト名「１９２．ｘｘｘ．１．２２」、メッセージｍ０の発生時刻「２０１０／０１／１６  ２３：１０：０２」が示されている。また、メッセージｍ０のメッセージ内容「ｅｘａｍｐｌｅ−ｓｖｒ０１  ｓｎｍｐｄ［１０８２３］：Ｃｏｎｎｅｃｔｉｏｎ  ｆｒｏｍ  １２７．０．０．１  ＲＥＦＵＳＥＤ」が示されている。
【００６４】
図７の説明に戻り、第１の選択部７０３は、メッセージパターンＭＰ１〜ＭＰｎの中から、いずれかのメッセージパターンＭＰｉを選択する機能を有する。具体的には、例えば、第１の選択部７０３が、図５に示したメッセージパターンＤＢ２２０の中から、メッセージパターンＩＤが昇順（ＭＰ１→ＭＰ２→…）となるようにメッセージパターンＭＰｉを順次選択する。また、第１の選択部７０３が、例えば、図３に示したキーボード３１０やマウス３１１を用いたユーザの選択入力にしたがって、いずれかのメッセージパターンＭＰｉを選択することにしてもよい。
【００６５】
検索部７０４は、分類された分類結果の中から、選択されたメッセージパターンＭＰｉに含まれる各々のメッセージＩＤのメッセージを検索する機能を有する。具体的には、例えば、まず、検索部７０４が、図８に示したメッセージＤＢ８００の中から、一定期間α分のメッセージ情報群を抽出する。そして、検索部７０４が、抽出したメッセージ情報群の中から、メッセージパターンＭＰｉに含まれる各々のメッセージＩＤに対応するメッセージ情報を検索する。
【００６６】
例えば、検索部７０４が、メッセージ情報群の中から、メッセージパターンＭＰ１に含まれるメッセージＩＤ「ｍ０」に対応するメッセージ情報８００−１を検索する。これにより、メッセージパターンＭＰ１に含まれるメッセージｍ０を検索することができる。なお、上記一定期間α（例えば、６０分、１２０分）は、例えば、予め設定されてＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００６７】
以下の説明では、メッセージパターンＭＰｉに含まれるメッセージＩＤのメッセージを「メッセージｍ［１］〜ｍ［Ｋ］」と表記する。また、メッセージｍ［１］〜ｍ［Ｋ］のうち任意のメッセージを「メッセージｍ［ｋ］」と表記する（ｋ＝１，２，…，Ｋ）。
【００６８】
特定部７０５は、メッセージパターンＭＰｉの障害タイプＴの障害の発生時点を特定する機能を有する。具体的には、例えば、特定部７０５が、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］がすべて検索された場合、障害事例ＤＢ１１０を参照して、メッセージパターンＭＰ１の障害タイプＴ１の障害の発生時刻を特定する。なお、特定部７０５の具体的な処理内容については、図１６を用いて後述する。
【００６９】
算出部７０６は、検索されたメッセージｍ［１］〜ｍ［Ｋ］のいずれかのメッセージｍ［ｋ］の発生時点と、特定された障害タイプＴの障害の発生時点とに基づいて、リードタイムＬＴｉを算出する機能を有する。リードタイムＬＴｉは、障害タイプＴの障害の予兆が検出されてから、障害タイプＴの障害が発生するまでの時間である。
【００７０】
具体的には、例えば、算出部７０６が、メッセージｍ［１］〜ｍ［Ｋ］のうち発生時刻が最新のメッセージｍ［ｋ］の発生時刻から障害タイプＴの障害の発生時刻までの時間間隔を、リードタイムＬＴｉとして算出することにしてもよい。これにより、障害の予兆を表すメッセージｍ［１］〜ｍ［Ｋ］のうち発生時刻が最新のメッセージｍ［ｋ］の発生時刻を予兆の検出時刻として、リードタイムＬＴｉを算出することができる。
【００７１】
例えば、メッセージパターンＭＰ１に含まれるメッセージ群のうち発生時刻が最新のメッセージｍ３の発生時刻を「２００９／０３／０２  ２３：１５：００」とする。また、障害タイプＴ１の障害の発生時刻を「２００９／０３／０２  ２３：４５：００」とする。この場合、算出部７０６が、メッセージｍ３の発生時刻「２００９／０３／０２  ２３：１５：００」から、障害タイプＴ１の障害の発生時刻「２００９／０３／０２  ２３：４５：００」までの時間間隔「００：３０：００」を算出する。この結果、障害タイプＴ１の障害の予兆から発生までのリードタイムＬＴ１「００：３０：００」が算出される。
【００７２】
なお、リードタイムＬＴｉを算出する際のメッセージｍ［ｋ］の発生時刻として、メッセージｍ［１］〜ｍ［Ｋ］の発生時刻のうち最古の発生時刻、または、メッセージｍ［１］〜ｍ［Ｋ］の発生時刻の平均値を用いることにしてもよい。
【００７３】
算出された算出結果は、例えば、図５に示したメッセージパターンＤＢ２２０に記憶される。例えば、メッセージパターンＭＰ１について、障害タイプＴ１のリードタイムＬＴ１「００：３０：００」が算出された場合、メッセージパターン情報５００−１のリードタイムフィールドに「００：３０：００」が設定される。
【００７４】
また、算出部７０６は、メッセージパターンＭＰｉのリードタイムＬＴｉ（ここでは、「第１のリードタイム」という）を算出した後、新たに第２のリードタイムを算出した場合、第１および第２のリードタイムに基づいてリードタイムＬＴｉを算出してもよい。
【００７５】
具体的には、例えば、算出部７０６が、第１および第２のリードタイムの平均値を算出することにより、リードタイムＬＴｉを算出することにしてもよい。例えば、メッセージパターンＭＰ１について、第１のリードタイム「００：３０：００」が算出された後、第２のリードタイム「００：２０：００」が算出された場合、第１および第２のリードタイムの平均値「００：２５：００」がリードタイムＬＴ１となる。これにより、リードタイムＬＴｉを複数の算出結果から統計的に求めて、リードタイムＬＴｉのばらつきを低減させることができる。
【００７６】
また、例えば、算出部７０６が、第１および第２のリードタイムのうち時間が短い方のリードタイムを選択することにより、リードタイムＬＴｉを算出することにしてもよい。これにより、障害の予兆が検出されてから障害が発生するまでの残余の時間が、より短いものをリードタイムＬＴｉとして採用することができる。
【００７７】
出力部７０７は、算出された障害タイプＴの障害の予兆から発生までのリードタイムＬＴｉを出力する機能を有する。具体的には、例えば、出力部７０７が、図９に示すようなリードタイム予測結果９００を出力することにしてもよい。ここで、リードタイム予測結果９００の具体例について説明する。
【００７８】
図９は、リードタイム予測結果の具体例を示す説明図である。図９において、リードタイム予測結果９００は、メッセージパターンＭＰ１を予兆として発生する障害タイプＴ１の障害の発生確率「０．１５６２５」およびリードタイムＬＴ１「００：３０：００」を示している。
【００７９】
リードタイム予測結果９００によれば、対処支援システム２００の管理者は、障害タイプＴ１の障害の予兆となるメッセージパターンＭＰ１が検出された場合、メッセージパターンＭＰ１の検出時刻から３０分後に障害が発生することを把握することができる。また、障害タイプＴ１の障害の予兆が検出された際に、該障害が発生する確率を把握することができる。
【００８０】
なお、出力部７０７の出力形式としては、例えば、ディスプレイ３０８への表示、プリンタ３１３への印刷出力、Ｉ／Ｆ３０９による外部装置への送信がある。また、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶することとしてもよい。
【００８１】
図７の説明に戻り、検出部７０８は、メッセージパターンＭＰｉに含まれるメッセージＩＤのメッセージｍ［ｋ］を検出する機能を有する。具体的には、例えば、検出部７０８が、サーバ２０１から取得されたログが分類される度に、分類された分類後のログのメッセージＩＤがメッセージパターンＭＰｉに含まれているか否かを判断する。
【００８２】
そして、分類後のログのメッセージＩＤがメッセージパターンＭＰｉに含まれている場合、検出部７０８が、ログのメッセージＩＤに対応するメッセージｍ［ｋ］を検出する。検出された検出結果は、例えば、図１０に示す検出結果テーブル１０００に記憶される。ここで、検出結果テーブル１０００について説明する。
【００８３】
図１０は、検出結果テーブルの具体例を示す説明図である。図１０において、検出結果テーブル１０００は、メッセージパターンＩＤ、メッセージＩＤ、検出フラグおよび発生時刻のフィールドを有する。各フィールドに情報を設定することで、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］の検出結果がレコードとして記憶される。
【００８４】
メッセージパターンＩＤは、メッセージパターンＭＰｉの識別子である。メッセージＩＤは、メッセージの識別子である。検出フラグは、メッセージが検出されたか否かを示すフラグである。検出フラグは、初期状態では「０」であり、メッセージが検出されると「０」から「１」に変更される。発生時刻は、メッセージの発生時刻である。
【００８５】
検出結果テーブル１０００は、例えば、メッセージパターンＭＰ１〜ＭＰｎごとに作成される。ここで、メッセージパターンＭＰ１を例に挙げて、検出結果テーブル１０００の記憶内容の変遷例について説明する。
【００８６】
図１１および図１２は、検出結果テーブルの記憶内容の変遷例を示す説明図である。図１１の（ｉ）において、検出結果テーブル１０００内のメッセージパターンＩＤフィールドに「ＭＰ１」が設定されている。また、メッセージＩＤフィールドに「ｍ０，ｍ２，ｍ３，ｍ４，ｍ１０，ｍ１８，ｍ１９，ｍ２１，ｍ２７，ｍ３６，ｍ６５，ｍ１１５，ｍ１１６，ｍ１１８」が設定されている。
【００８７】
図１１の（ｉｉ）において、メッセージパターンＭＰ１に含まれるメッセージｍ０が検出された結果、検出結果テーブル１０００内のメッセージｍ０の検出フラグが「０」から「１」に変更されている。また、メッセージｍ０の発生時刻フィールドに、メッセージｍ０の発生時刻「ｔ１」が設定されている。
【００８８】
図１２の（ｉｉｉ）において、メッセージパターンＭＰ１に含まれるメッセージｍ１０が検出された結果、検出結果テーブル１０００内のメッセージｍ１０の検出フラグが「０」から「１」に変更されている。また、メッセージｍ１０の発生時刻フィールドに、メッセージｍ１０の発生時刻「ｔ２」が設定されている。
【００８９】
このあと、メッセージパターンＭＰ１に含まれる残余のメッセージｍ２，ｍ３，ｍ４，ｍ１８，ｍ１９，ｍ２１，ｍ２７，ｍ３６，ｍ６５，ｍ１１５，ｍ１１６，ｍ１１８が順次検出された場合を想定する。
【００９０】
図１２の（ｉｖ）において、メッセージパターンＭＰ１に含まれる残余のメッセージが検出された結果、検出結果テーブル１０００内の全メッセージの検出フラグが「０」から「１」に変更され、全メッセージの発生時刻が設定されている。
【００９１】
このように、検出結果テーブル１０００によれば、メッセージパターンＭＰｉに含まれる各メッセージｍ［ｋ］の検出状態をリアルタイムに把握することができる。これにより、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］がすべて検出された時点を迅速に把握することができる。
【００９２】
なお、上述した説明では、検出部７０８が、サーバ２０１から取得されたログが分類される度に、分類後のログのメッセージＩＤがメッセージパターンＭＰｉに含まれているか否かを判断することにしたが、これに限らない。
【００９３】
具体的には、例えば、まず、検出部７０８が、一定期間βが経過するごとに、メッセージＤＢ８００の中から、一定期間β分の最新のメッセージ情報を抽出する。そして、検出部７０８が、抽出したメッセージ情報群の中から、メッセージパターンＭＰｉに含まれるメッセージＩＤのメッセージｍ［ｋ］を検出することにしてもよい。
【００９４】
なお、上記一定期間β（例えば、１０分、２０分）は、例えば、予め設定されてＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００９５】
図７の説明に戻り、出力部７０７は、メッセージパターンＭＰｉに含まれるメッセージＩＤのメッセージｍ［ｋ］が検出された場合、メッセージパターンＭＰｉのリードタイムＬＴｉを出力する機能を有する。具体的には、例えば、メッセージパターンＭＰ１に含まれるすべてのメッセージが検出された場合、出力部７０７が、図９に示したようなリードタイム予測結果９００を出力することにしてもよい。
【００９６】
これにより、対処支援システム２００の管理者は、障害タイプＴ１の障害の予兆となるメッセージパターンＭＰ１が検出されたこと、および、メッセージパターンＭＰ１の検出時刻から３０分後に障害が発生することを把握することができる。また、障害タイプＴ１の障害の予兆が検出された際に、該障害が発生する確率を把握することができる。
【００９７】
第２の選択部７０９は、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］が検出された場合、算出されたリードタイムＬＴｉに基づいて、障害タイプＴの障害の対処案を選択する機能を有する。なお、メッセージパターンＭＰｉのリードタイムＬＴｉは、例えば、図５に示したメッセージパターンＤＢ２２０から特定される。
【００９８】
具体的には、例えば、第２の選択部７０９が、検出結果テーブル１０００内の全メッセージの検出フラグが「１」となった場合、図６に示した対処案ＤＢ２３０の中から、メッセージパターンＭＰｉの障害タイプＴに対応する対処案情報６００−ｊを抽出する。そして、第２の選択部７０９が、抽出した対処案情報６００−ｊを参照して、リードタイムＬＴｉより所要時間が短い対処案を選択する。
【００９９】
この際、リードタイムＬＴｉより所要時間が短い対処案が複数存在する場合、第２の選択部７０９が、最も所要時間が長い対処案を選択してもよく、また、リードタイムＬＴｉより所要時間が短いすべての対処案を選択することにしてもよい。
【０１００】
例えば、図１２に示したメッセージパターンＭＰ１の検出結果テーブル１０００内の全メッセージの検出フラグが「１」となった場合、第２の選択部７０９が、対処案ＤＢ２３０の中から障害タイプＴ１の対処案を選択する。具体的には、例えば、第２の選択部７０９が、リードタイムＬＴ１「００：３０：００」より所要時間が短い対処案のうち、所要時間が最長の対処案「ＶＭ増設」を選択する。
【０１０１】
出力部７０７は、選択された障害タイプＴの障害の対処案を出力する機能を有する。具体的には、例えば、出力部７０７が、図１３に示すような対処案リスト１３００を出力することにしてもよい。ここで、対処案リスト１３００の具体例について説明する。
【０１０２】
図１３は、対処案リストの具体例を示す説明図である。図１３において、対処案リスト１３００は、予兆が検出された障害の障害タイプごとに、発生確率、発生予想時間、対処案およびホスト名を示すリスト情報１３００−１〜１３００−３を有している。なお、対処案リスト１３００は、複数の障害の予兆が検出された場合の例である。
【０１０３】
ここで、発生確率は、予兆が検出された障害の発生確率である。発生予想時間は、障害の予兆が検出されてから障害が発生するまでの残りの時間である。対処案は、上記第２の選択部７０９によって選択された対処案であり、予兆が検出された障害の対処案の候補である。ホスト名は、メッセージパターンＭＰｉに含まれる各メッセージｍ［ｋ］を含むログを出力したホスト名である。
【０１０４】
例えば、リスト情報１３００−１は、障害タイプＴ１の障害の発生確率「０．１５６２５」、発生予想時間「３０分後」、対処案「ＶＭ移行」およびホスト名「１９２．ｘｘｘ．１．２２」を示している。なお、ホスト名には、複数のホスト名が示されている場合もある。
【０１０５】
対処案リスト１３００によれば、対処支援システム２００の管理者は、障害の発生を事前に把握することができる。また、対処支援システム２００の管理者は、障害の予兆から発生までの残余の時間に応じた対処案を把握することができる。また、対処支援システム２００の管理者は、ホスト名から予兆が検出された障害の発生箇所を特定することができる。
【０１０６】
これらのことから、対処案リスト１３００によれば、対処支援システム２００の管理者は、予兆が検出された障害への適切な対処案を選択して実施することができる。また、各障害タイプＴ１〜Ｔ３の障害の発生確率を参照することにより、例えば、発生予想時間が同程度の複数の障害の予兆が検出された際などに、発生確率が高いものから優先的に対処するなどの対応を行うことができる。
【０１０７】
なお、検索部７０４は、例えば、上記検出部７０８と同様に、メッセージパターンＭＰｉに含まれる各々のメッセージＩＤのメッセージｍ［１］〜ｍ［Ｋ］を検索することにしてもよい。具体的には、例えば、検索部７０４が、サーバ２０１から取得されたログが分類される度に、分類された分類後のログのメッセージＩＤがメッセージパターンＭＰｉに含まれているか否かを判断する。
【０１０８】
そして、分類後のログのメッセージＩＤがメッセージパターンＭＰｉに含まれている場合、検索部７０４が、ログのメッセージＩＤに対応するメッセージｍ［ｋ］を検索する。なお、検索された検索結果は、例えば、図１０に示した検出結果テーブル１０００と同様のデータ構造のテーブルに記憶される。
【０１０９】
これにより、メッセージパターンＭＰｉに含まれる各メッセージｍ［ｋ］の検索状態をリアルタイムに把握して、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］がすべて検索された時点を迅速に把握することができる。
【０１１０】
（分類部７０２の具体的な処理内容）
つぎに、サーバ２０１から取得されたログを分類する分類部７０２の具体的な処理内容の一例について説明する。まず、ログを分類する際に用いられるメッセージ辞書ＤＢ１４００について説明する。メッセージ辞書ＤＢ１４００は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【０１１１】
図１４は、メッセージ辞書ＤＢの記憶内容の一例を示す説明図である。図１４において、メッセージ辞書ＤＢ１４００は、メッセージＩＤおよび雛形メッセージのフィールドを有する。各フィールドに情報を設定することで、エントリ１４００−１〜１４００−ｐがレコードとして記憶されている。
【０１１２】
ここで、メッセージＩＤは、雛形メッセージの識別子であり、ログに含まれるメッセージを分類する識別子である。雛形メッセージは、メッセージを分類する際の雛形となるメッセージである。例えば、エントリ１４００−１は、メッセージＩＤ「ｍ０」の雛形メッセージ「ｅｘａｍｐｌｅ−ｓｖｒ１０  ｓｎｍｐｄ［１０８２３］：Ｃｏｎｎｅｃｔｉｏｎ  ｆｒｏｍ  １２７．０．０．１  ＲＥＦＵＳＥＤ」を示している。
【０１１３】
以下、図１５を用いて、サーバ２０１から取得されたログに含まれる「ｅｘａｍｐｌｅ−ｓｖｒ０１  ｓｎｍｐｄ［１０８２３］：Ｃｏｎｎｅｃｔｉｏｎ  ｆｒｏｍ  １２７．０．０．１  ＲＥＦＵＳＥＤ」を分類する場合について説明する。
【０１１４】
図１５は、メッセージの分類例を示す説明図である。図１５において、サーバ２０１から取得されたログＬに含まれるメッセージ１５００が示されている。
【０１１５】
まず、分類部７０２は、メッセージ辞書ＤＢ１４００の中からいずれかのエントリを選択する。具体的には、例えば、分類部７０２が、メッセージ辞書ＤＢ１４００の中から、メッセージＩＤが昇順となるようにエントリを順次選択する。図１５の例では、メッセージ辞書ＤＢ１４００の中からエントリ１４００−１が選択されている。
【０１１６】
つぎに、分類部７０２は、メッセージ１５００およびエントリ１４００−１の雛形メッセージを分割する。図１５の例では、メッセージ１５００が文節単位で区切られて文節１５０１〜１５０６に分割されている。また、エントリ１４００−１の雛形メッセージが文節単位で区切られて文節１５０７〜１５１２に分割されている。
【０１１７】
このあと、分類部７０２は、メッセージ１５００とエントリ１４００−１の雛形メッセージとを文節単位で比較して一致判定する。図１５の例では、メッセージ１５００の文節１５０１と雛形メッセージの文節１５０７とが不一致となっている。また、メッセージ１５００の文節１５０２〜１５０６と雛形メッセージの文節１５０８〜１５１２とが一致している。
【０１１８】
つぎに、分類部７０２は、判定した判定結果に基づいて、メッセージ１５００とエントリ１４００−１の雛形メッセージとの類似度を算出する。具体的には、例えば、分類部７０２が、一致する文節数「１０」を総文節数「１２」で除算して、メッセージ１５００とエントリ１４００−１の雛形メッセージとの類似度「０．８３≒１０／１２」を算出する。
【０１１９】
そして、分類部７０２は、算出した算出結果に基づいて、メッセージ１５００を分類する。具体的には、例えば、分類部７０２が、メッセージ１５００とエントリ１４００−１の雛形メッセージとの類似度が所定の閾値以上の場合、メッセージ１５００のメッセージＩＤは、エントリ１４００−１のメッセージＩＤ「ｍ０」と分類する。
【０１２０】
上記閾値は、例えば、予め設定されてＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。ここで、上記閾値を「０．８」とすると、メッセージ１５００とエントリ１４００−１の雛形メッセージの類似度「０．８３」が閾値以上となるため、メッセージ１５００のメッセージＩＤは「ｍ０」となる。
【０１２１】
また、メッセージ１５００とエントリ１４００−１の雛形メッセージの類似度が閾値未満の場合、分類部７０２により、メッセージ辞書ＤＢ１４００の中から新たなエントリを選択して、上述した一連の処理を繰り返すことになる。
【０１２２】
（特定部７０５の具体的な処理内容）
つぎに、メッセージパターンＭＰｉの障害タイプＴの障害の発生時点を特定する特定部７０５の具体的な処理内容について説明する。ここでは、図１６を用いて、メッセージパターンＭＰ１の障害タイプＴ１の障害の発生時刻を特定する場合を例に挙げて説明する。
【０１２３】
図１６は、障害の発生時刻の特定例を示す説明図である。図１６において、時刻ｔｄは、メッセージパターンＭＰ１の障害タイプＴ１の障害の予兆が検出された時刻である。時刻ｔs１は、障害タイプＴ１の障害Ｄ１の事例１の発生時刻である。時刻ｔs２は、障害タイプＴ１の障害Ｄ１の事例２の発生時刻である。時刻ｔs３は、障害タイプＴ１の障害Ｄ１の事例３の発生時刻である。
【０１２４】
また、有効期間ＶＴは、障害の予兆が発生してから、該予兆がいつまで有効となるかを表す期間である。有効期間ＶＴ（例えば、６０分、１２０分）は、例えば、予め設定されてＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【０１２５】
まず、特定部７０５は、障害タイプＴ１の障害Ｄ１の事例１〜３のうち、障害タイプＴ１の障害の予兆が検出された時刻ｔｄから有効期間ＶＴ内に発生時刻が含まれる事例１，２を特定する。これにより、障害の予兆が発生してから有効期間ＶＴ以降に発生した事例３の発生時刻を、障害タイプＴ１の障害の発生時刻の対象外とすることができる。
【０１２６】
つぎに、特定部７０５は、有効期間ＶＴ内の事例１，２のうち、発生時刻が最も早い事例１を特定する。そして、特定部７０５は、事例１の発生時刻ｔs１を、障害タイプＴ１の障害の発生時刻として特定する。これにより、障害タイプＴ１の障害の予兆が検出されてから最も早く発生した障害タイプＴ１の障害Ｄ１の発生時刻ｔs１を、障害タイプＴ１の障害の発生時刻として特定することができる。
【０１２７】
また、特定部７０５は、有効期間ＶＴ内の事例１，２のうち、発生時刻が最も遅い事例２の発生時刻ｔs２を、障害タイプＴ１の障害の発生時刻として特定することにしてもよい。これにより、障害タイプＴ１の障害の予兆が検出されてから有効期間ＶＴ内かつ最も遅く発生した障害タイプＴ１の障害Ｄ１の発生時刻ｔs２を、障害タイプＴ１の障害の発生時刻として特定することができる。
【０１２８】
（対処支援装置１００の対処支援処理手順）
つぎに、実施の形態２にかかる対処支援装置１００の各種対処支援処理手順について説明する。まず、メッセージパターンＭＰｉのリードタイムＬＴｉを算出するリードタイム算出処理手順について説明する。
【０１２９】
＜リードタイム算出処理手順＞
図１７および図１８は、実施の形態２にかかる対処支援装置のリードタイム算出処理手順の一例を示すフローチャートである。
【０１３０】
図１７のフローチャートにおいて、まず、検索部７０４により、メッセージＤＢ８００の中から一定期間α分のメッセージ情報群を抽出する（ステップＳ１７０１）。
【０１３１】
つぎに、第１の選択部７０３により、メッセージパターンＭＰｉの「ｉ」を「ｉ＝１」とする（ステップＳ１７０２）。そして、第１の選択部７０３により、メッセージパターンＤＢ２２０の中からメッセージパターンＭＰｉを選択する（ステップＳ１７０３）。
【０１３２】
このあと、検索部７０４により、抽出したメッセージ情報群の中から、選択されたメッセージパターンＭＰｉに含まれるメッセージＩＤのメッセージｍ［１］〜ｍ［Ｋ］を検索する（ステップＳ１７０４）。そして、特定部７０５により、メッセージｍ［１］〜ｍ［Ｋ］がすべて検索されたか否かを判断する（ステップＳ１７０５）。
【０１３３】
ここで、メッセージｍ［１］〜ｍ［Ｋ］のうち少なくともいずれかのメッセージが検索されなかった場合（ステップＳ１７０５：Ｎｏ）、図１８に示すステップＳ１８０４に移行する。
【０１３４】
一方、メッセージｍ［１］〜ｍ［Ｋ］がすべて検索された場合（ステップＳ１７０５：Ｙｅｓ）、特定部７０５により、メッセージｍ［１］〜ｍ［Ｋ］の発生時刻のうち最新の発生時刻（以下、「予兆検出時刻ｔｄ」という）を特定する（ステップＳ１７０６）。
【０１３５】
つぎに、特定部７０５により、障害事例ＤＢ１１０の中から、メッセージパターンＭＰｉの障害タイプＴに対応する障害事例情報４００−ｊを抽出する（ステップＳ１７０７）。そして、特定部７０５により、障害事例情報４００−ｊの事例データＩｊの中から、予兆検出時刻ｔｄから有効期間ＶＴ内に発生時刻が含まれる事例を検索する（ステップＳ１７０８）。
【０１３６】
ここで、事例が検索されなかった場合（ステップＳ１７０９：Ｎｏ）、図１８に示すステップＳ１８０４に移行する。
【０１３７】
一方、事例が検索された場合（ステップＳ１７０９：Ｙｅｓ）、特定部７０５により、検索された事例のうち発生時刻が最も早い事例Ｅｋの発生時刻ｔsｋを、メッセージパターンＭＰｉの障害タイプＴの障害の発生時刻として特定する（ステップＳ１７１０）。
【０１３８】
そして、算出部７０６により、予兆検出時刻ｔｄから障害タイプＴの障害の発生時刻までの時間間隔を算出することにより、メッセージパターンＭＰｉのリードタイム候補を算出して（ステップＳ１７１１）、図１８に示すステップＳ１８０１に移行する。
【０１３９】
図１８のフローチャートにおいて、まず、算出部７０６により、メッセージパターンＤＢ２２０にメッセージパターンＭＰｉのリードタイムＬＴｉが登録されているか否かを判断する（ステップＳ１８０１）。ここで、リードタイムＬＴｉが未登録の場合（ステップＳ１８０１：Ｎｏ）、ステップＳ１８０３に移行する。
【０１４０】
一方、リードタイムＬＴｉが登録されている場合（ステップＳ１８０１：Ｙｅｓ）、算出部７０６により、図１７に示したステップＳ１７１１において算出されたリードタイム候補が、登録されているリードタイムＬＴｉ未満か否かを判断する（ステップＳ１８０２）。ここで、リードタイム候補がリードタイムＬＴｉ以上の場合（ステップＳ１８０２：Ｎｏ）、ステップＳ１８０４に移行する。
【０１４１】
一方、リードタイム候補がリードタイムＬＴｉ未満の場合（ステップＳ１８０２：Ｙｅｓ）、算出部７０６により、リードタイム候補を、メッセージパターンＭＰｉのリードタイムＬＴｉとしてメッセージパターンＤＢ２２０に登録する（ステップＳ１８０３）。
【０１４２】
つぎに、第１の選択部７０３により、メッセージパターンＭＰｉの「ｉ」をインクリメントして（ステップＳ１８０４）、「ｉ」が「ｎ」より大きくなったか否かを判断する（ステップＳ１８０５）。
【０１４３】
ここで、「ｉ」が「ｎ」以下の場合（ステップＳ１８０５：Ｎｏ）、図１７に示したステップＳ１７０３に戻る。一方、「ｉ」が「ｎ」より大きくなった場合（ステップＳ１８０５：Ｙｅｓ）、本フローチャートによる一連の処理を終了する。
【０１４４】
これにより、障害の予兆を表すメッセージパターンＭＰｉごとに、障害の予兆から発生までのリードタイムＬＴｉを算出することができる。なお、ステップＳ１７０３において、障害の発生確率が閾値（例えば、０．５）以上のメッセージパターンＭＰｉを選択することにしてもよい。これにより、障害の発生確率が閾値よりも低いメッセージパターンＭＰｉをリードタイムＬＴｉの算出対象から除外することができる。
【０１４５】
＜対処案選択処理手順＞
つぎに、予兆が検出された障害の対処案を選択する対処案選択処理手順について説明する。図１９は、実施の形態２にかかる対処支援装置の対処案選択処理手順の一例を示すフローチャートである。
【０１４６】
図１９のフローチャートにおいて、まず、検出部７０８により、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］が検出されたか否かを判断する（ステップＳ１９０１）。ここで、検出部７０８により、メッセージパターンＭＰｉに含まれるメッセージｍ［１］〜ｍ［Ｋ］が検出されるのを待つ（ステップＳ１９０１：Ｎｏ）。
【０１４７】
そして、メッセージパターンＭＰｉが検出された場合（ステップＳ１９０１：Ｙｅｓ）、第２の選択部７０９により、メッセージパターンＤＢ２２０を参照して、メッセージパターンＭＰｉのリードタイムＬＴｉを特定する（ステップＳ１９０２）。つぎに、第２の選択部７０９により、メッセージパターンＤＢ２２０を参照して、メッセージパターンＭＰｉの障害タイプＴを特定する（ステップＳ１９０３）。
【０１４８】
そして、第２の選択部７０９により、対処案ＤＢ２３０の中から、メッセージパターンＭＰｉの障害タイプＴに対応する対処案情報６００−ｊを抽出する（ステップＳ１９０４）。つぎに、第２の選択部７０９により、抽出した対処案情報６００−ｊを参照して、リードタイムＬＴｉより所要時間が短い対処案を選択する（ステップＳ１９０５）。
【０１４９】
そして、出力部７０７により、選択されたメッセージパターンＭＰｉの障害タイプＴの障害の対処案を示す対処案リスト（例えば、図１３に示した対処案リスト１３００）を出力して（ステップＳ１９０６）、本フローチャートによる一連の処理を終了する。
【０１５０】
これにより、予兆が検出された障害のリードタイムＬＴｉに合った適切な対処案を選択して出力することができる。
【０１５１】
以上説明したように、実施の形態２にかかる対処支援装置１００によれば、障害の予兆を表すメッセージパターンＭＰｉごとに、障害の予兆から発生までのリードタイムＬＴｉを算出することができる。これにより、障害の予兆が検出されてから障害が顕在化するまでの時間を予測することができる。
【０１５２】
また、実施の形態２にかかる対処支援装置１００によれば、対処支援システム２００内で障害の予兆が検出された際に、障害のリードタイムＬＴｉよりも所要時間が短い対処案を選択して出力することができる。これにより、対処支援システム２００の管理者は、障害の予兆が検出された際に、予兆が検出された障害に合った適切な対処案を選択して対処することができる。
【０１５３】
また、実施の形態２にかかる対処支援装置１００によれば、障害の予兆を表すメッセージｍ［１］〜ｍ［Ｋ］のうち発生時刻が最新のメッセージｍ［ｋ］の発生時刻を用いて、リードタイムＬＴｉを算出することができる。これにより、障害の予兆を表すメッセージｍ［１］〜ｍ［Ｋ］のうち最も遅く発生したメッセージｍ［ｋ］の発生時刻が予兆の検出時刻となり、障害の予兆から発生までの時間間隔が短くなるようにリードタイムＬＴｉを算出することができる。
【０１５４】
また、実施の形態２にかかる対処支援装置１００によれば、障害の予兆が発生してから有効期間ＶＴ内に発生した障害事例の発生時刻を用いて、リードタイムＬＴｉを算出することができる。これにより、障害の予兆が発生してから有効期間ＶＴ以降に発生した障害事例の発生時刻を、障害の発生時刻の特定対象から除外することができる。
【０１５５】
また、実施の形態２にかかる対処支援装置１００によれば、障害の予兆が検出されてから最も早く発生した障害事例の発生時刻を用いて、リードタイムＬＴｉを算出することができる。これにより、障害の予兆から発生までの時間間隔が短くなるようにリードタイムＬＴｉを算出することができる。
【０１５６】
また、実施の形態２にかかる対処支援装置１００によれば、メッセージパターンＭＰｉのリードタイムＬＴｉを、複数の算出結果（例えば、第１および第２のリードタイム）から統計的に求めることで、リードタイムＬＴｉのばらつきを低減させることができる。
【０１５７】
これらのことから、本対処支援プログラム、対処支援装置および対処支援方法によれば、障害の予兆検出時に、該障害のリードタイムに合った適切な対処案を選択することができ、障害を事前に回避または障害発生時の損害を最小限に抑えることができる。これにより、障害発生時のダウンタイムを削減して、サービス機会の損失を軽減させることができる。
【０１５８】
なお、本実施の形態で説明した対処支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本対処支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本対処支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１５９】
１００  対処支援装置
１１０  障害事例ＤＢ
２００  対処支援システム
２０１  サーバ
２０２  クライアント端末
２２０  メッセージパターンＤＢ
２３０  対処案ＤＢ
７０１  取得部
７０２  分類部
７０３  第１の選択部
７０４  検索部
７０５  特定部
７０６  算出部
７０７  出力部
７０８  検出部
７０９  第２の選択部
８００  メッセージＤＢ
【図１】
2012127588.tif 000003
【図２】
2012127588.tif 000004
【図３】
2012127588.tif 000005
【図４】
2012127588.tif 000006
【図５】
2012127588.tif 000007
【図６】
2012127588.tif 000008
【図７】
2012127588.tif 000009
【図８】
2012127588.tif 000010
【図９】
2012127588.tif 000011
【図１０】
2012127588.tif 000012
【図１１】
2012127588.tif 000013
【図１２】
2012127588.tif 000014
【図１３】
2012127588.tif 000015
【図１４】
2012127588.tif 000016
【図１５】
2012127588.tif 000017
【図１６】
2012127588.tif 000018
【図１７】
2012127588.tif 000019
【図１８】
2012127588.tif 000020
【図１９】
2012127588.tif 000021
【国際調査報告】
2012127588.tif 000022
2012127588.tif 000023
2012127588.tif 000024
2012127588.tif 000025