(57)【要約】【課題】正しい障害内容を特定することに貢献することができる障害内容特定装置などを提供すること。【解決手段】第２データベースから、第１データベースの障害発生ソフトウェアに対応するログ情報の名称を抽出し、情報処理装置からログ情報の名称に対応するログ情報を取得し、ログ情報に第２データベースの起動中のメッセージと同じメッセージがあり、かつ、第１データベースの障害発生日時と、ログ情報に含まれた起動中のメッセージの出力日時との差が所定時間以内であり、かつ、ログ情報に第２データベースの起動完了のメッセージと同じメッセージがあり、かつ、第１データベースの障害発生日時と、ログ情報に含まれた起動完了のメッセージの出力日時との差が所定時間以上であるときに、ソフトウェア起動遅延障害が発生していることを知らせる通知を情報処理装置に送信する。【選択図】図１８
2019144947.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶部と、
前記記憶部を制御するとともに、所定の情報処理を行う制御部と、
を備え、
前記記憶部は、
情報処理装置から取得した、前記情報処理装置に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理した第１データベースと、
ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理した第２データベースと、
を記憶し、
前記制御部は、
前記第２データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、
前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、
取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがあり、かつ、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であり、かつ、
取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがあり、かつ、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上である、
ときに、
ソフトウェア起動遅延障害が発生していることを知らせる第１通知を前記情報処理装置に送信する処理と、
を行う、
障害内容特定装置。
【請求項２】
前記第１データベースは、前記情報処理装置に関する、前記障害発生日時、前記障害発生ソフトウェアに係る情報、及び、障害発生時メッセージが関連付けて整理されており、
前記記憶部は、ソフトウェアに係る情報、ログ情報の名称、ログ情報中のメッセージ、及び、障害情報を関連付けて整理した第３データベースをさらに記憶し、
前記制御部は、
取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、
取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、
ときに、
前記第３データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、
前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、
前記第３データベースにおいて、取得した前記ログ情報のメッセージと同じログ情報中のメッセージに関連付けられた障害情報があり、かつ、
前記第３データベースの前記障害情報がハードウェアの自動復旧を示す動作となっており、かつ、
取得した前記ログ情報に含まれたハードウェア自動復旧時メッセージの出力日時が、取得した前記ログ情報に含まれたハードウェア障害発生時メッセージの出力日時よりも後であり、かつ、
取得した前記ログ情報において、前記ハードウェア自動復旧時メッセージ及び前記ハードウェア障害発生時メッセージが所定時間以内に所定回数以上記録されていない、
ときに、
ハードウェア障害が発生していないことを知らせる第２通知を前記情報処理装置に送信する処理と、
をさらに行う、
請求項１記載の障害内容特定装置。
【請求項３】
前記第３データベースは、前記ソフトウェアに係る情報、前記ログ情報の名称、前記ログ情報中のメッセージ、前記障害情報、及び、原因及び障害復旧に必要な操作を関連付けて整理したデータベースであり、
前記制御部は、
前記第３データベースにおいて、取得した前記ログ情報のメッセージと同じログ情報中のメッセージに関連付けられた障害情報がない、又は、
前記第３データベースの前記障害情報がハードウェアの自動復旧を示す動作となっていない、又は、
取得した前記ログ情報に含まれたハードウェア自動復旧時メッセージの出力日時が、取得した前記ログ情報に含まれたハードウェア障害発生時メッセージの出力日時よりも後でない、又は、
取得した前記ログ情報において、前記ハードウェア自動復旧時メッセージ及び前記ハードウェア障害発生時メッセージが所定時間以内に所定回数以上記録されている、
ときに、
前記第３データベースから、前記ログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する処理と、
抽出した前記障害情報及び前記原因及び障害復旧に必要な操作を前記情報処理装置に送信する処理と、
をさらに行なう、
請求項２記載の障害内容特定装置。
【請求項４】
前記第１データベースは、前記情報処理装置に関する、前記障害発生日時、前記障害発生ソフトウェアに係る情報、及び、障害発生直前操作に係る情報が関連付けて整理されており、
前記記憶部は、ソフトウェアに係る情報、障害発生時メッセージ、障害発生直前操作に係る情報、操作時出力メッセージ、及び、ログ情報の名称を関連付けて整理した第４データベースをさらに記憶し、
前記制御部は、
取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、
取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、
ときに、
前記第４データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、
前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、
前記第４データベースにおいて、前記第１データベースの前記障害発生直前操作に係る情報と同じ障害発生直前操作に係る情報があり、かつ、
取得した前記ログ情報において、前記第４データベースの前記操作時出力メッセージと同じメッセージがあり、かつ、
前記ログ情報に含まれた障害発生時メッセージの出力日時と、前記ログ情報に含まれた操作時出力メッセージの出力日時との時間差が第３の所定時間以内にある、
ときに、
操作による障害が発生していないことを知らせる第３通知を前記情報処理装置に送信する処理と、
をさらに行う、
請求項１記載の障害内容特定装置。
【請求項５】
前記記憶部は、ソフトウェアに係る情報、及び、アップデートソフトウェア適用確認コマンドを関連付けて整理した第５データベースをさらに記憶し、
前記制御部は、
取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、
取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、
ときに、
前記第５データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたアップデートソフトウェア適用確認コマンドを抽出する処理と、
抽出された前記アップデートソフトウェア適用確認コマンドを前記情報処理装置で実行させることによって前記情報処理装置から実行ログ情報を取得する処理と、
取得した前記実行ログ情報において、インターネット上に公開されているソフトウェアの最新のアップデートソフトウェアに係る情報の全てが含まれていないときに、最新のアップデートソフトウェアを全て適用させ、前記情報処理装置から、前記最新のアップデートソフトウェアが全て適用された状態のログ情報を取得する処理と、
取得した前記ログ情報において、取得した前記実行ログ情報にない新しいメッセージがないときに、前記情報処理装置への前記最新のアップデートソフトウェア適用で復旧し、現時点では障害が発生していないことを知らせる第４通知を前記情報処理装置に送信する処理と、
をさらに行う、
請求項１記載の障害内容特定装置。
【請求項６】
前記第１データベースは、前記情報処理装置に関する、前記障害発生日時、前記障害発生ソフトウェアに係る情報、及び、障害発生時メッセージが関連付けて整理されており、
前記記憶部は、ソフトウェアに係る情報、ログ情報の名称、ログ情報中のメッセージ、障害情報、及び、原因及び障害復旧に必要な操作を関連付けて整理した第３データベースをさらに記憶し、
前記制御部は、
取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、
取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、
前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、
ときに、
前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報の前記第３データベースを選択する処理と、
選択した前記第３データベースから、前記第１データベースの前記障害発生時メッセージと同じメッセージが含まれている障害情報を抽出する処理と、
選択した前記第３データベースから、抽出した前記障害情報に関連付けられたログ情報の名称を抽出する処理と、
前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、
選択した前記第３データベースから、前記第１データベースの前記障害発生時メッセージと同じメッセージが含まれている障害情報に関連付けられたログ情報中のメッセージを抽出する処理と、
取得した前記ログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがないときに、前記情報処理装置から、オペレーティングシステムが出力したログ情報を取得する処理と、
取得した、前記オペレーティングシステムが出力したログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがあるときに、選択した前記第３データベースから、抽出した前記ログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する処理と、
抽出した前記障害情報及び前記原因及び障害復旧に必要な操作を前記情報処理装置に送信する処理と、
をさらに行う、
請求項１記載の障害内容特定装置。
【請求項７】
前記制御部は、
取得した前記ログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがあるときに、
選択した前記第３データベースから、抽出した前記ログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する処理と、
抽出した前記障害情報及び前記原因及び障害復旧に必要な操作を前記情報処理装置に送信する処理と、
を行い、かつ、
取得した、前記オペレーティングシステムが出力したログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがないときに、
障害発生の原因が不明であることを知らせる第５通知を前記情報処理装置に送信する処理と、
をさらに行う、
請求項６記載の障害内容特定装置。
【請求項８】
請求項１乃至７のいずれか一に記載の障害内容特定装置と、
前記障害内容特定装置と通信可能に接続された情報処理装置と、
を備える、
障害内容特定システム。
【請求項９】
第２データベースから、第１データベースの障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出するステップと、
情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得するステップと、
取得した前記ログ情報において、前記第２データベースの起動中のメッセージと同じメッセージがあり、かつ、
前記第１データベースの障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であり、かつ、
取得した前記ログ情報において、前記第２データベースの起動完了のメッセージと同じメッセージがあり、かつ、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上である、
ときに、
ソフトウェア起動遅延障害が発生していることを知らせる第１通知を前記情報処理装置に送信するステップと、
を含み、
前記第１データベースは、前記情報処理装置から取得した、前記情報処理装置に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理したデータベースであり、
前記第２データベースは、ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理したデータベースである、
障害内容特定方法。
【請求項１０】
第２データベースから、第１データベースの障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、
情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、
取得した前記ログ情報において、前記第２データベースの起動中のメッセージと同じメッセージがあり、かつ、
前記第１データベースの障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であり、かつ、
取得した前記ログ情報において、前記第２データベースの起動完了のメッセージと同じメッセージがあり、かつ、
前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上である、
ときに、
ソフトウェア起動遅延障害が発生していることを知らせる第１通知を前記情報処理装置に送信する処理と、
をハードウェア資源に実行させ、
前記第１データベースは、前記情報処理装置から取得した、前記情報処理装置に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理したデータベースであり、
前記第２データベースは、ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理したデータベースである、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置にインストールされたソフトウェアの障害内容を特定する障害内容特定装置、システム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
情報処理装置（サーバ等）にインストールされたソフトウェアの障害内容を特定する障害内容特定装置では、通常、ログ情報やメッセージを取得したときに、障害情報を記憶させたデータベースを用いて、取得したログ情報に対応する障害内容を抽出することによって、ソフトウェアの障害内容を特定する。データベースにおいて、取得したログ情報やメッセージに対応する障害内容がない場合でも、システムやコンポーネントの構成に関する情報を用いて、ソフトウェアの障害内容を特定できるようにした技術がある（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１４／１９６１２９号
【特許文献２】国際公開第２０１５／０７９５６４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の分析は、本願発明者により与えられる。
【０００５】
しかしながら、特許文献１、２に記載の技術では、データベースにおいて、取得したログ情報やメッセージに対応する障害内容がある場合には、一律に障害内容を特定してしまい、正しい障害内容を特定することができない可能性がある。
【０００６】
本発明の主な課題は、データベースにおいて、取得したログ情報やメッセージに対応する障害内容がある場合でも正しい障害内容を特定することに貢献することができる障害内容特定装置、システム、方法、及び、プログラムを提供することである。
【課題を解決するための手段】
【０００７】
第１の視点に係る障害内容特定装置は、データを記憶する記憶部と、前記記憶部を制御するとともに、所定の情報処理を行う制御部と、を備える。前記記憶部は、情報処理装置から取得した、前記情報処理装置に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理した第１データベースと、ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理した第２データベースと、を記憶する。前記制御部は、前記第２データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがあり、かつ、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であり、かつ、取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがあり、かつ、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上である、ときに、ソフトウェア起動遅延障害が発生していることを知らせる第１通知を前記情報処理装置に送信する処理と、を行う。
【０００８】
第２の視点に係る障害内容特定システムは、前記第１の視点に係る障害内容特定装置と、前記障害内容特定装置と通信可能に接続された情報処理装置と、を備える。
【０００９】
第３の視点に係る障害内容特定方法は、第２データベースから、第１データベースの障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出するステップと、情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得するステップと、取得した前記ログ情報において、前記第２データベースの起動中のメッセージと同じメッセージがあり、かつ、前記第１データベースの障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であり、かつ、取得した前記ログ情報において、前記第２データベースの起動完了のメッセージと同じメッセージがあり、かつ、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上である、ときに、ソフトウェア起動遅延障害が発生していることを知らせる第１通知を前記情報処理装置に送信するステップと、を含む。前記第１データベースは、前記情報処理装置から取得した、前記情報処理装置に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理したデータベースである。前記第２データベースは、ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理したデータベースである。
【００１０】
第４の視点に係るプログラムは、第２データベースから、第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、取得した前記ログ情報において、前記第２データベースの起動中のメッセージと同じメッセージがあり、かつ、前記第１データベースの障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であり、かつ、取得した前記ログ情報において、前記第２データベースの起動完了のメッセージと同じメッセージがあり、かつ、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上である、ときに、ソフトウェア起動遅延障害が発生していることを知らせる第１通知を前記情報処理装置に送信する処理と、をハードウェア資源に実行させる。前記第１データベースは、前記情報処理装置から取得した、前記情報処理装置に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理したデータベースである。前記第２データベースは、ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理したデータベースである。なお、前記第４の視点に係るプログラムは、非過渡的（non-transient）な記録媒体に記録できる。
【発明の効果】
【００１１】
前記第１〜第４の視点によれば、正しい障害内容を特定することに貢献することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係る障害内容特定システムの構成を模式的に示したブロック図である。
【図２】実施形態１に係る障害内容特定システムにおいて用いられる障害状況情報データベースの一例の構成を模式的に示したテーブルである。
【図３】実施形態１に係る障害内容特定システムにおいて用いられる障害情報データベースの一例の構成を模式的に示したテーブルである。
【図４】実施形態１に係る障害内容特定システムにおいて用いられる起動確認データベースの一例の構成を模式的に示したテーブルである。
【図５】実施形態１に係る障害内容特定システムにおいて用いられる障害発生確認データベースの一例の構成を模式的に示したテーブルである。
【図６】実施形態１に係る障害内容特定システムにおいて用いられるアップデート確認データベースの一例の構成を模式的に示したテーブルである。
【図７】実施形態１に係る障害内容特定システムにおいて用いられる起動中のメッセージの一例である。
【図８】実施形態１に係る障害内容特定システムにおいて用いられる起動完了のメッセージの一例である。
【図９】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示したフローチャートである。
【図１０】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図９に続くフローチャートである。
【図１１】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１０に続くフローチャートである。
【図１２】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１１に続くフローチャートである。
【図１３】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１２に続くフローチャートである。
【図１４】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１３に続くフローチャートである。
【図１５】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１４に続くフローチャートである。
【図１６】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１５に続くフローチャートである。
【図１７】実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示した図１６に続くフローチャートである。
【図１８】実施形態２に係る障害内容特定システムの構成を模式的に示したブロック図である。
【図１９】実施形態２に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示したフローチャートである。
【発明を実施するための形態】
【００１３】
以下、実施形態について図面を参照しつつ説明する。なお、本出願において図面参照符号を付している場合は、それらは、専ら理解を助けるためのものであり、図示の態様に限定することを意図するものではない。また、下記の実施形態は、あくまで例示であり、本発明を限定するものではない。さらに、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００１４】
［実施形態１］
実施形態１に係る障害内容特定システムについて図面を用いて説明する。図１は、実施形態１に係る障害内容特定システムの構成を模式的に示したブロック図である。図２は、実施形態１に係る障害内容特定システムにおいて用いられる障害状況情報データベースの一例の構成を模式的に示したテーブルである。図３は、実施形態１に係る障害内容特定システムにおいて用いられる障害情報データベースの一例の構成を模式的に示したテーブルである。図４は、実施形態１に係る障害内容特定システムにおいて用いられる起動確認データベースの一例の構成を模式的に示したテーブルである。図５は、実施形態１に係る障害内容特定システムにおいて用いられる障害発生確認データベースの一例の構成を模式的に示したテーブルである。図６は、実施形態１に係る障害内容特定システムにおいて用いられるアップデート確認データベースの一例の構成を模式的に示したテーブルである。図７は、実施形態１に係る障害内容特定システムにおいて用いられる起動中のメッセージの一例である。図８は、実施形態１に係る障害内容特定システムにおいて用いられる起動完了のメッセージの一例である。
【００１５】
障害内容特定システム１は、顧客装置１００にインストールされたソフトウェアの障害内容を障害内容特定装置３００で特定するシステムである（図１参照）。障害内容特定システム１は、顧客装置１００と、ネットワーク２００と、障害内容特定装置３００と、を有する。
【００１６】
顧客装置１００は、顧客が使用（所有、レンタルでも可）する情報処理装置である。顧客装置１００は、装置単体だけでなく、複数の装置が協働するシステムを含む。顧客装置１００は、主な構成部として、制御部１１０と、入力部１２０と、出力部１３０と、通信部１４０と、記憶部１５０と、を有する。
【００１７】
制御部１１０は、入力部１２０、出力部１３０、通信部１４０、及び、記憶部１５０を制御する機能部である（図１参照）。制御部１１０は、入力部１２０を制御して、入力部１２０から入力された情報を取り込む。制御部１１０は、出力部１３０を制御して、出力部１３０に情報を出力させる。制御部１１０は、通信部１４０を制御して、障害内容特定装置３００に対する情報の送受信を行う。制御部１１０は、記憶部１５０へのデータの入出力、記憶部１５０へのデータの書き込みや読み出しを行う。制御部１１０は、ソフトウェア（オペレーティングシステムソフトウェアを含む）を実行することにより所定の情報処理を行う。
【００１８】
制御部１１０は、ソフトウェアに障害が発生した時に、オペレーティングシステム又は障害を起こしたソフトウェアによって、障害を特定する。制御部１１０は、オペレーティングシステム又は障害を起こしたソフトウェアによって特定された障害に対応するログ情報１５１を出力する。制御部１１０は、出力されたログ情報１５１を記憶部１５０に記憶させる。制御部１１０は、記憶部１５０に記憶されたログ情報１５１を、通信部１４０を通じて障害内容特定装置３００に送信させる。制御部１１０は、顧客装置１００のユーザの操作により入力部１２０から入力された障害状況情報を取得する。制御部１１０は、取得した障害状況情報を、通信部１４０を通じて障害内容特定装置３００に送信させる。制御部１１０は、通信部１４０を通じて障害内容特定装置３００からの障害情報を受信した時に、受信した障害情報を出力部１３０から出力させる。制御部１１０のその他の詳細については、後述する。
【００１９】
ここで、障害状況情報は、障害発生時に、ユーザが入力部１２０から入力した障害発生日時、障害発生ソフトウェア、障害発生時メッセージ、及び、障害発生直前操作を含む情報である。障害状況情報は、障害発生の判断をするために必要な情報である。障害状況情報は、顧客装置１００のユーザによって入力されたものでもよく、制御部１１０によって生成されたものでもよい。障害状況情報は、予め定めた複数の情報（例えば、文字列）の中から選択（例えば、プルダウンメニューでの選択、ラジオボタンでの選択）して入力できるようにしたものとすることが好ましい。なお、障害状況情報は、全ての項目について入力されている必要はなく、実施する動作を行なうために必要な項目のみ入力されたものでもよい。障害状況情報は、ログ情報１５１とともに、記憶部１５０に記憶しておき、必要なときに取得できるようにしておいてもよい。
【００２０】
障害発生日時は、オペレーティングシステム又は障害が発生したソフトウェアによって障害発生時メッセージが出力部１３０から出力（例えば、表示）された日時である。障害発生日時は、顧客装置１００のユーザが障害発生時メッセージを認識した日時でもよく、メッセージが出力された瞬間の日時を正確に入力する必要はない。
【００２１】
障害発生ソフトウェアは、顧客装置１００のユーザによって障害が発生したと認識されたソフトウェアを特定する情報（例えば、ソフトウェアの名称）である。障害発生ソフトウェアの名称は、障害発生時メッセージに含まれる情報とすることができる。
【００２２】
障害発生時メッセージは、障害発生時に、オペレーティングシステム又は障害が発生したソフトウェアによって出力部１３０から出力（例えば、表示）されたメッセージである（以下、同様）。障害発生時メッセージは、顧客装置１００のユーザによって読み取られたものとすることができる。障害発生時メッセージには、メッセージを出力したソフトウェアを特定できる情報が含まれている。なお、障害発生時メッセージは、必須情報ではない。
【００２３】
障害発生直前操作は、顧客装置１００のユーザが障害発生の直前（障害と推定される事象が発生した時点より所定時間遡った時点の間）に行った操作の内容である。障害と推定される事象とは、例えば、障害発生時メッセージが出力されないが、ソフトウェア起動に必要な時間を所定割合越えてから起動した場合、もしくは、起動しなかった場合、等も含む。
【００２４】
入力部１２０は、情報を入力するための機能部である（図１参照）。入力部１２０には、例えば、キーボード、マウス、タッチパネル、マイク、ボタン、その他の入力手段を用いることができ、図示しない通信部を介して通信可能に接続された入力部を有する情報端末等を用いてもよい。
【００２５】
出力部１３０は、情報を出力（表示、音声出力、印刷等）するための機能部である（図１参照）。出力部１３０として、例えば、表示を行うディスプレイ、印刷を行うプリンタ、その他の出力手段を用いることができ、図示しない通信部を介して通信可能に接続された出力部を有する情報端末等を用いてもよい。また、出力部１３０を使用する代わりに、通信部１４０及びネットワーク２００を通じて接続された別の情報端末等（図示せず；例えば、ユーザが使用する端末）を使用して情報を出力するようにしてもよい。
【００２６】
通信部１４０は、情報を通信（送受信）するための機能部（例えば、インタフェース等）である（図１参照）。通信部１４０は、ネットワーク２００に通信可能に接続されている。
【００２７】
記憶部１５０は、各種データ、プログラム、ファイル等の情報を記憶する機能部である（図１参照）。記憶部１５０として、例えば、ハードディスク装置でも、外部接続されたＲＡＩＤ（Redundant Arrays of Independent Disks）装置等を用いることができ、どの様な不揮発性記憶装置を用いてもよい。記憶部１５０は、インストールされたソフトウェアを記憶する。記憶部１５０は、ログ情報１５１を記憶する。
【００２８】
ここで、ログ情報１５１は、オペレーティングシステム又は障害が発生したソフトウェアによって出力された、ソフトウェアの障害解析（障害調査）に必要な各種コマンドの実行結果に関する情報である。ログ情報１５１は、ログ情報の名称（ソフトウェアが使用するファイル名）及びメッセージ（ログ情報中のメッセージ）を含んだものである。ログ情報１５１にはオペレーティングシステムやソフトウェアの種類の情報、それらのバージョンを示す情報が含まれているので、それらの情報を特定するときにログ情報１５１を用いることができる。ログ情報１５１は、オペレーティングシステムが出力するものである場合、所定の処理のみで使用するため、不要な場合がある。ログ情報１５１は、記憶部１５０に記憶し、必要なときに取得できるようになっている。
【００２９】
ネットワーク２００は、顧客装置１００と障害内容特定装置３００とを有線又は無線により通信可能に接続する情報通信網である（図１参照）。
【００３０】
障害内容特定装置３００は、顧客装置１００にインストールされたソフトウェアの障害内容を特定する情報処理装置（ハードウェア資源）である（図１参照）。障害内容特定装置３００は、制御部３１０と、入力部３２０と、出力部３３０と、通信部３４０と、記憶部３５０と、を有する。
【００３１】
制御部３１０は、入力部３２０、出力部３３０、通信部３４０、及び、記憶部３５０を制御する機能部である（図１参照）。制御部３１０は、入力部３２０を制御して、入力部３２０から入力された情報を取り込む。制御部３１０は、出力部３３０を制御して、出力部３３０に情報を出力させる。制御部３１０は、通信部３４０を制御して、顧客装置１００に対する情報の送受信を行う。制御部３１０は、記憶部３５０へのデータの入出力、記憶部３５０内に記憶された各種データベース３５１〜３５５へのデータの書き込みや読み出しを行う。制御部３１０は、ソフトウェアを実行することにより、各種データベース３５１〜３５５等を適宜用いて、所定の情報処理を行う。
【００３２】
制御部３１０は、通信部３４０を通じて顧客装置１００からの障害状況情報を受信した時に、受信した障害状況情報を障害状況情報データベース３５１に登録する。制御部３１０は、通信部３４０を通じて顧客装置１００からのログ情報１５１を受信したときに、障害情報データベース３５２において、受信したログ情報１５１中のメッセージに対応するメッセージが存在するか否か判断する。制御部３１０は、対応するメッセージが存在する場合、障害情報データベース３５２から、対応するメッセージに関連付けられた障害情報を抽出する。制御部３１０は、抽出された障害情報を、通信部３４０及びネットワーク２００を通じて、顧客装置１００に送信する。なお、制御部３１０のその他の動作の詳細については、後述する。
【００３３】
入力部３２０は、情報を入力するための機能部である（図１参照）。入力部３２０には、例えば、キーボード、マウス、タッチパネル、マイク、ボタン、その他の入力手段を用いることができ、図示しない通信部を介して通信可能に接続された入力部を有する情報端末等を用いてもよい。
【００３４】
出力部３３０は、情報を出力（表示、音声出力、印刷等）するための機能部である（図１参照）。出力部３３０として、例えば、表示を行うディスプレイ、印刷を行うプリンタ、その他の出力手段を用いることができ、図示しない通信部を介して通信可能に接続された出力部を有する情報端末等を用いてもよい。また、出力部３３０を使用する代わりに、通信部３４０及びネットワーク２００を通じて接続された別の情報端末等（図示せず；例えば、ユーザが使用する端末）を使用して情報を出力するようにしてもよい。
【００３５】
通信部３４０は、情報を通信（送受信）するための機能部（例えば、インタフェース等）である（図１参照）。通信部３４０は、ネットワーク２００に通信可能に接続されている。
【００３６】
記憶部３５０は、各種データ、プログラム、ファイル等の情報を記憶する機能部である（図１参照）。記憶部３５０として、例えば、ハードディスク装置でも、外部接続されたＲＡＩＤ（Redundant Arrays of Independent Disks）装置等を用いることができ、どの様な不揮発性記憶装置を用いてもよい。記憶部３５０は、ソフトウェアで発生した障害内容を特定するためのプログラムを記憶する。記憶部３５０は、障害情報データベース３５２と、障害状況情報データベース３５１と、起動確認データベース３５３と、障害発生確認データベース３５４と、アップデート確認データベース３５５と、を記憶する。
【００３７】
障害状況情報データベース３５１は、障害が発生した顧客装置１００の過去の障害状況情報を蓄積したデータベース（第１データベース）である（図１参照）。障害状況情報データベース３５１は、障害状況情報の要素となる障害発生日時、障害発生ソフトウェア、障害発生時メッセージ、及び、障害発生直前操作が整理されて関連付けられている（図２参照）。
【００３８】
障害情報データベース３５２は、ソフトウェア毎に予め用意された、過去の障害情報及びその関連情報を蓄積したデータベース（第３データベース）である（図１参照）。障害情報データベース３５２は、障害情報の要素となるログ情報（ログ情報の名称、ログ情報中のメッセージ）、障害情報、原因及び障害復旧に必要な操作が整理されて関連付けられている（図３参照）。ログ情報の名称は、ファイル名とすることができる（以下、同様）。障害情報は、障害発生の有無のみの場合を含む。原因及び障害復旧に必要な操作は、任意情報であり、障害情報データベース３５２に含まれていなくてもよい。
【００３９】
ここで、ログ情報は、同一のソフトウェアから２つ以上出力される場合がある。ログ情報のファイルは、そのログ情報のファイルを出力したソフトウェアの機能毎に分かれて出力されるため、各ログ情報のファイル名は、ソフトウェアの機能のログ情報であることを示している。例えば、ソフトウェアの機能とは、ソフトウェアが通信機能を有する場合、その通信機能に関するログ情報は、その機能のログ情報を意味するファイル名で出力され、その画面表示機能に関するログ情報は、その機能のログ情報を意味するファイル名で出力される。
【００４０】
起動確認データベース３５３は、ソフトウェア毎に予め用意された、起動中及び起動完了を確認するための情報を蓄積したデータベース（第２データベース）である（図１参照）。起動確認データベース３５３は、ソフトウェア、起動中のメッセージ、起動完了のメッセージ、及び、ログ情報の名称が整理されて関連付けられている（図４参照）。ソフトウェアは、ソフトウェアを識別する情報である（以下、同様）。起動中のメッセージは、起動中にソフトウェア又はオペレーティングシステムから出力されたログ情報中のメッセージ（起動中であることが確認できるメッセージ）である。起動完了のメッセージは、起動完了時にソフトウェア又はオペレーティングシステムから出力されたログ情報中のメッセージ（起動が完了したことが確認できるメッセージ）である。起動中のメッセージは、起動完了のメッセージとは異なる。また、起動中のメッセージ、及び、起動完了のメッセージは、ソフトウェア毎の起動開始時（直近の起動命令時）に出力されるログ情報中のメッセージ（図示せず）とは異なる。なお、ソフトウェア毎の起動開始時に出力されるログ情報中のメッセージは、起動中のメッセージ、及び、起動完了のメッセージとは別に記憶される。ここで、ソフトウェア毎の起動開始時に出力されるログ情報中のメッセージが出力される時刻は、ログ情報中の当該メッセージの箇所に出力されている時刻であり、起動開示時刻となる。
【００４１】
（起動中のメッセージの例）
起動指示したソフトウェアの出力するログ情報のファイル名は、「webotx_agent.log」である。当該ファイル名に出力される起動中のメッセージを意味する情報は、図７に示す内容である。図７の起動中のメッセージの例では、起動指示したソフトウェアは、当該ソフトウェアが出力するログ情報のファイル名「webotx_agent.log」である。図７の起動中のメッセージの例では、当該ソフトウェアが起動時に出力される、当該ソフトウェアが起動中であることを意味するログ情報中のメッセージは、「OTX02050031 WEB0302: Webコンテナを起動しています。」である。
【００４２】
（起動完了のメッセージの例）
起動指示したソフトウェアの出力するログ情報のファイル名は、「webotx_agent.log」である。当該ファイル名に出力される起動完了のメッセージを意味する情報は、図８に示す内容である。図８の起動完了のメッセージの例では、起動指示したソフトウェアは、当該ソフトウェアが出力するログ情報のファイル名「webotx_agent.log」である。図８の起動完了のメッセージの例では、当該ソフトウェアが起動完了時に出力される、当該ソフトウェアが起動完了であることを意味するログ情報中のメッセージは、「OTX01205135: アプリケーションサーバ [domain1] の起動に成功しました。」である。なお、起動完了のメッセージが出力される時間を起動完了時刻とする。起動中にもログ情報中のメッセージが出力されるため、起動完了時点のメッセージを検出して起動完了時刻とする。
【００４３】
障害発生確認データベース３５４は、ソフトウェア毎の操作による障害発生を確認するための情報を蓄積したデータベース（第４データベース）である（図１参照）。障害発生確認データベース３５４は、ソフトウェア、障害発生時メッセージ、障害発生直前操作、操作時出力メッセージ、及び、ログ情報の名称が整理されて関連付けられている（図５参照）。操作時出力メッセージは、ユーザが操作を行った時にソフトウェア又はオペレーティングシステムから出力されたメッセージである。
【００４４】
ここで、障害発生確認データベース３５４を設定している理由は、以下のとおりである。記憶されている情報を外部記憶装置に記憶する（バックアップする）場合、新品のテープ装置に初期設定を行うと、ソフトウェアの種類（例えば、DELL EMC社製のNetworkerなど）により、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）エラーが出力されることがある。当該Ｉ／Ｏエラーは、通常、障害発生を意味するメッセージだが、新品のテープに対し、ソフトウェアで使用するデータ記憶用フォーマットを行い、各データ領域を分離管理するために、各データ領域にラベル情報をフォーマットする際、付加するラベル付操作を行った場合、障害ではなく、初期設定が、正常動作と異なることによって発生するメッセージである。そのため、Ｉ／Ｏエラーは、初期設定が完了すれば、問題はなくなるので、結果、障害発生ではないと判断することができる。ログ情報の出力内容（もしくは、出力メッセージ）が、他の操作内容により障害とはならないか、すなわち、予め登録した複数のログ情報の内容のデータと一致するか判断する。すなわち、予め、ログ情報毎にログ情報の内容の判断が変わる動作と一致する動作の有無と関連付けた障害発生確認データベース３５４を用意することで、障害発生時に検索し、一致した情報が有る場合、その場合の条件（ログ情報出力回数、ログ発生前の操作内容）を取得し、ログ情報と合わせて取得した操作内容の組合せが、障害を意味しないものである場合、障害発生との判断を行わない。障害発生確認データベース３５４は、上記を実現するために必要なデータベースである。なお、ログ発生前の操作内容は、ログ情報に基づく正しい障害有無判断のためにログ発生前の操作内容を障害内容特定装置３００に登録する必要が有る。
【００４５】
アップデート確認データベース３５５は、ソフトウェア毎のアップデートを確認するための情報を蓄積したデータベース（第５データベース）である（図１参照）。アップデート確認データベース３５５は、ソフトウェア、及び、アップデートソフトウェア適用確認コマンドが整理されて関連付けられている（図６参照）。アップデートソフトウェア適用確認コマンドは、アップデートされたソフトウェアの適用を確認するためのコマンドである。
【００４６】
ここで、アップデートソフトウェアは、一般的に、情報処理装置にインストールされたオペレーティングシステムやアプリケーションソフトウェアに対する動作の影響を予め確認してからアップデートを実行する。そのため、情報処理装置にインストールされたオペレーティングシステムやアプリケーションソフトウェアに対し、自動でアップデートソフトウェアを適用することはない。障害が発生しているソフトウェアにはアップデートソフトウェアが適用されていないため、障害が発生しているか否かを確認するため、ソフトウェア毎に異なるアップデートソフトウェア適用確認コマンドを入力して、最新のアップデートソフトウェアが適用されているか否かの確認を行なう。この確認では、アップデートソフトウェア適用確認コマンドを入力した後に出力されるファイルに適用されている修正ソフトの種類が含まれる。
【００４７】
次に、実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作について図面を用いて説明する。図９〜図１７は、実施形態１に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示したフローチャートである。
【００４８】
まず、障害内容特定装置３００の制御部３１０は、ソフトウェア起動遅延障害判断を行なうために、顧客装置１００からの障害状況情報（障害発生日時、障害発生ソフトウェア、障害発生時メッセージ、及び、障害発生直前操作のいずれかを含む；上述の説明のとおり）を取得する（ステップＡ１；図９参照）。
【００４９】
ここで、障害状況情報は、顧客装置１００に障害が発生した際、顧客装置１００のユーザによって顧客装置１００に入力（顧客装置１００で自動生成でも可）され、顧客装置１００から障害内容特定装置３００に送信され、障害内容特定装置３００の制御部３１０で取得される。障害状況情報の詳細は、上記のとおりである。
【００５０】
次に、制御部３１０は、ステップＡ１で取得した障害状況情報を、記憶部３５０の障害状況情報データベース３５１に記憶する（ステップＡ２；図９参照）。
【００５１】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生ソフトウェアに係る情報を抽出する（ステップＡ３；図９参照）。
【００５２】
次に、制御部３１０は、起動確認データベース３５３から、ステップＡ３で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアに関連付けられたログ情報の名称を抽出する（ステップＡ４；図９参照）。
【００５３】
次に、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００から、ステップＡ４で抽出したログ情報の名称に対応するログ情報を取得し、一時記憶する（ステップＡ５；図９参照）。
【００５４】
次に、制御部３１０は、起動確認データベース３５３から、ステップＡ３で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアに関連付けられた起動中のメッセージを抽出する（ステップＡ６；図９参照）。
【００５５】
次に、制御部３１０は、ステップＡ５で一時記憶したログ情報において、ステップＡ６で抽出した起動中のメッセージと同じ起動中のメッセージがあるか否かを確認する（ステップＡ７；図９参照）。同じ起動中のメッセージがない場合（ステップＡ７のＮＯ）、ソフトウェア起動遅延障害が発生していないと判断し、ハードウェア障害判断を行なうためのステップＢ１に進む。
【００５６】
ここで、ソフトウェア起動遅延障害とは、ソフトウェアの起動に伴う一時ファイルの蓄積に起因するソフトウェアの起動に時間がかかる（遅延が生じる）障害をいう。ソフトウェア起動遅延障害として、例えば、ソフトウェアの起動時に、当該ソフトウェアが一時ファイル（テンポラリファイル）を起動の度に作成しており、かつ、当該ソフトウェア終了時迄、消去されず蓄積してゆく動作が生じ、これらが原因で、ソフトウェアの起動時間が長くなる場合が挙げられる。この一時ファイルが、ソフトウェア起動の度に作成され、結果、蓄積された、大量の一時ファイルの一覧を、オペレーティングシステムソフトウェアが取得する時間が長くなり、その結果、当該ソフトウェアの起動、及び、完了が遅くなる。なお、ソフトウェア起動遅延障害が発生した場合、その障害原因を出力（表示等）してもよい。また、作成される一時ファイルを削除する等の障害復旧のための指示を出力してもよい。
【００５７】
同じ起動中のメッセージがある場合（ステップＡ７のＹＥＳ）、制御部３１０は、ステップＡ５で一時記憶したログ情報から、起動中のメッセージの出力日時を抽出する（ステップＡ８；図９参照）。
【００５８】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報の障害発生日時を抽出する（ステップＡ９；図１０参照）。
【００５９】
次に、制御部３１０は、ステップＡ８で抽出した起動中のメッセージの出力日時とステップＡ９で抽出した障害発生日時との差が、予め設定された第１の所定時間（例えば、１時間）以内であるか否かを確認する（ステップＡ１０；図１０参照）。起動中のメッセージの出力日時と障害発生日時との差が第１の所定時間以内でない場合（ステップＡ１０のＮＯ）、ソフトウェア起動遅延障害が発生していないと判断し、ハードウェア障害判断を行なうためのステップＢ１に進む。
【００６０】
起動中のメッセージの出力日時と障害発生日時との差が第１の所定時間以内である場合（ステップＡ１０のＹＥＳ）、制御部３１０は、起動確認データベース３５３から、ステップＡ３で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアに関連付けられた起動完了のメッセージを抽出する（ステップＡ１１；図１０参照）。
【００６１】
次に、制御部３１０は、ステップＡ５で一時記憶したログ情報において、ステップＡ１１で抽出した起動完了のメッセージと同じ起動完了のメッセージがあるか否かを確認する（ステップＡ１２；図１０参照）。同じ起動完了のメッセージがない場合（ステップＡ１２のＮＯ）、ソフトウェア起動遅延障害が発生していないと判断し、ハードウェア障害判断を行なうためのステップＢ１に進む。
【００６２】
同じ起動完了のメッセージがある場合（ステップＡ１２のＹＥＳ）、制御部３１０は、ステップＡ５で一時記憶したログ情報から、起動完了のメッセージの出力日時を抽出する（ステップＡ１３；図１０参照）。
【００６３】
次に、制御部３１０は、ステップＡ８で抽出した起動中のメッセージの出力日時と、ステップＡ１３で抽出した起動完了のメッセージの出力日時と、の時間差が、予め設定された第２の所定時間（例えば、３分）以上であるか否かを確認する（ステップＡ１４；図１０参照）。起動中のメッセージの出力日時と起動完了のメッセージの出力日時との時間差が第２の所定時間以上でない場合（ステップＡ１４のＮＯ）、ソフトウェア起動遅延障害が発生していないと判断し、ハードウェア障害判断を行なうためのステップＢ１に進む。
【００６４】
起動中のメッセージの出力日時と起動完了のメッセージの出力日時との時間差が第２の所定時間以上である場合（ステップＡ１４のＹＥＳ）、制御部３１０は、ソフトウェア起動遅延障害が発生していると判断し、ソフトウェア起動遅延障害の発生を知らせるソフトウェア起動遅延障害発生通知（第１通知）を顧客装置１００に送信する（ステップＡ１５；図１０参照）。ステップＡ１５の後、ハードウェア障害判断を行なうためのステップＢ１に進む。
【００６５】
ステップＡ１５により、顧客装置１００でソフトウェア起動遅延障害発生通知が受信され、顧客装置１００でソフトウェア起動遅延障害発生通知が出力（表示等）され、顧客装置１００のユーザに顧客装置１００でのソフトウェア起動遅延障害の発生を知らせることができる。
【００６６】
ステップＡ７のＮＯの場合、ステップＡ１０のＮＯの場合、ステップＡ１２のＮＯの場合、ステップＡ１４のＮＯの場合、又は、ステップＡ１５の後、制御部３１０は、ハードウェア障害判断を行なうために、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生ソフトウェアに係る情報を抽出する（ステップＢ１；図１１参照）。
【００６７】
次に、制御部３１０は、ステップＢ１で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアを含む障害情報データベース３５２を選択する（ステップＢ２；図１１参照）。
【００６８】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生時メッセージを抽出する（ステップＢ３；図１１参照）。
【００６９】
次に、制御部３１０は、ステップＢ２で選択した障害情報データベース３５２から、ステップＢ３で抽出した障害発生時メッセージと同じメッセージを含むログ情報中のメッセージに関連付けられた障害情報を抽出する（ステップＢ４；図１１参照）。
【００７０】
次に、制御部３１０は、ステップＢ２で選択した障害情報データベース３５２から、ステップＢ４で抽出した障害情報に関連付けられたログ情報の名称を抽出する（ステップＢ５；図１１参照）。
【００７１】
次に、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００から、ステップＢ５で抽出したログ情報の名称に対応するログ情報を取得し、一時記憶する（ステップＢ６；図１１参照）。
【００７２】
次に、制御部３１０は、ステップＢ６で一時記憶したログ情報からメッセージを抽出する（ステップＢ７；図１１参照）。
【００７３】
次に、制御部３１０は、ステップＢ２で選択した障害情報データベース３５２において、ステップＢ７で抽出したメッセージと同じログ情報中のメッセージに関連付けられた障害情報があるか否かを確認する（ステップＢ８；図１２参照）。障害情報がない場合（ステップＢ８のＮＯ）、ステップＢ１４に進む。
【００７４】
障害情報がある場合（ステップＢ８のＹＥＳ）、制御部３１０は、ステップＢ４で抽出した障害情報がハードウェアの自動復旧を示す動作となっているか確認する（ステップＢ９；図１２参照）。ハードウェアの自動復旧を示す動作となっていない場合（ステップＢ９のＮＯ）、障害情報データベース３５２内の障害情報が改善されていないと判断し、ステップＢ１４に進む。
【００７５】
ここで、ステップＢ６で一時記憶したログ情報において、障害情報に対応するログ情報中のメッセージと同じメッセージ（障害が発生していることを表すメッセージ）があるにもかかわらず、直ちに障害発生としないのは、正確な障害の発生を確認するためである。また、障害情報がハードウェアの自動復旧を示す動作であるか否かを確認しているのは、障害が復旧しているのにハードウェアの自動復旧を示す動作が障害情報に含まれているか否かを確認したり、何か他の文言と取り違えているか否かを確認するためである。
【００７６】
ハードウェアの自動復旧を示す動作となっている場合（ステップＢ９のＹＥＳ）、制御部３１０は、ステップＢ６で一時記憶したログ情報から、ハードウェア障害発生時メッセージの出力日時、及び、ハードウェア自動復旧時メッセージの出力日時を抽出する（ステップＢ１０；図１２参照）。
【００７７】
ここで、ハードウェア障害発生時メッセージは、ハードウェアの障害発生時に、オペレーティングシステム又は障害から復旧したソフトウェアによって出力部１３０から出力（例えば、表示）されたメッセージである。また、ハードウェア自動復旧時メッセージは、ハードウェアの自動復旧（障害復旧）時に、オペレーティングシステム又は障害から復旧したソフトウェアによって出力部１３０から出力（例えば、表示）されたメッセージである。
【００７８】
次に、制御部３１０は、ステップＢ１０で抽出したハードウェア自動復旧時メッセージの出力日時がステップＢ１０で抽出したハードウェア障害発生時メッセージの出力日時の後であるか否かを確認する（ステップＢ１１；図１２参照）。ハードウェア自動復旧時メッセージの出力日時がハードウェア障害発生時メッセージの出力日時の後でない場合（ステップＢ１１のＮＯ）、ハードウェア障害発生時メッセージがハードウェア自動復旧時メッセージの後の時刻に出力されているということになり、ハードウェア障害が継続していると判断し、ステップＢ１４に進む。
【００７９】
ここで、ハードウェア自動復旧時メッセージの出力日時がハードウェア障害発生時メッセージの出力日時の後であるか否かを確認しているのは、ハードウェアが正しい順序で自動復旧しているかを確認するためである。
【００８０】
ハードウェア自動復旧時メッセージの出力日時がハードウェア障害発生時メッセージの出力日時の後である場合（ステップＢ１１のＹＥＳ）、制御部３１０は、ステップＢ６で一時記憶したログ情報内にハードウェア障害発生時メッセージ、及び、ハードウェア障害復旧時メッセージが所定時間以内に所定回数以上記録されているか否かを確認する（ステップＢ１２；図１２参照）。所定回数以上記録されている場合（ステップＢ１２のＹＥＳ）、ハードウェアの間欠障害と判断し、ステップＢ１４に進む。
【００８１】
ここで、ハードウェアの間欠障害とは、連続的に発生する障害ではないが、正常であるメッセージと、障害であるメッセージとの出力を繰り返す場合をいい、例えば、ディスク装置の場合、完全には壊れていないが、交換が必要な完全に壊れる前段階に相当する。
【００８２】
所定回数以上記録されていない場合（ステップＢ１２のＮＯ）、制御部３１０は、ハードウェア障害（障害情報に対応する障害）が発生していないと判断し、ハードウェア障害が発生していないことを知らせるハードウェア障害未発生通知（第２通知）を顧客装置１００に送信する（ステップＢ１３；図１２参照）。ステップＢ１３の後、障害発生直前操作による障害判断を行なうためのステップＣ１に進む。
【００８３】
ステップＢ１３により、顧客装置１００でハードウェア障害未発生通知が受信され、顧客装置１００でハードウェア障害未発生通知が出力（表示等）され、顧客装置１００のユーザに顧客装置１００でハードウェア障害が発生していない旨を知らせることができる。
【００８４】
障害情報がない場合（ステップＢ８のＮＯ）、ハードウェアの自動復旧を示す動作となっていない場合（ステップＢ９のＮＯ）、障害復旧時メッセージの出力日時が障害発生時メッセージの出力日時の後でない場合（ステップＢ１１のＮＯ）、又は、所定回数以上記録されている場合（ステップＢ１２のＹＥＳ）、制御部３１０は、障害（障害情報に対応する障害、ハードウェアの障害）が発生していると判断し、ステップＢ２で選択した障害情報データベース３５２から、ステップＢ７で抽出したメッセージと同じログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作に係る情報を抽出する（ステップＢ１４；図１２参照）。
【００８５】
次に、制御部３１０は、ステップＢ４で抽出した障害情報、及び、ステップＢ１４で抽出した原因及び障害復旧に必要な操作に係る情報を顧客装置１００に送信する（ステップＢ１５；図１２参照）。ステップＢ１５の後、障害発生直前操作による障害判断を行なうためのステップＣ１に進む。
【００８６】
ステップＢ１５により、顧客装置１００で障害情報、及び、原因及び障害復旧に必要な操作が受信され、障害情報、及び、原因及び障害復旧に必要な操作が出力（表示等）され、顧客装置１００のユーザに顧客装置１００での障害情報、及び、原因及び障害復旧に必要な操作を知らせることができる。原因及び障害復旧に必要な操作では、例えば、ハードディスク装置を交換する指示としてもよい。
【００８７】
ステップＢ１３又はステップＢ１５の後、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生ソフトウェアに係る情報を抽出する（ステップＣ１；図１３参照）。
【００８８】
次に、制御部３１０は、ステップＣ１で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアを含む障害発生確認データベース３５４を選択する（ステップＣ２；図１３参照）。
【００８９】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生時メッセージを抽出する（ステップＣ３；図１３参照）。
【００９０】
次に、制御部３１０は、ステップＣ２で選択した障害発生確認データベース３５４から、ステップＣ３で抽出した障害発生時メッセージと同じ障害発生時メッセージに対応するログ情報の名称を抽出する（ステップＣ４；図１３参照）。
【００９１】
次に、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００から、ステップＣ４で抽出したログ情報の名称に対応するログ情報を取得し、一時記憶する（ステップＣ５；図１３参照）。
【００９２】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生直前操作に係る情報を抽出する（ステップＣ６；図１３参照）
【００９３】
次に、制御部３１０は、ステップＣ２で選択した障害発生確認データベース３５４において、ステップＣ６で抽出した障害発生直前操作に係る情報と同じ障害発生直前操作に係る情報があるか否かを確認する（ステップＣ７；図１４参照）。同じ障害発生直前操作に係る情報がない場合（ステップＣ７のＮＯ）、出力された障害発生時メッセージは障害発生だが、この時の操作内容と合わせて、障害発生有無の判断を行う必要はないと判断し、最新のアップデートソフトウェア未適用による障害判断を行うためのステップＤ１に進む。
【００９４】
同じ障害発生直前操作に係る情報がある場合（ステップＣ７のＹＥＳ）、制御部３１０は、ステップＣ５で一時記憶したログ情報において、ステップＣ２で選択した障害発生確認データベース３５４の操作時出力メッセージと同じメッセージがあるか否かを確認する（ステップＣ８；図１４参照）。操作時出力メッセージを含まない場合（ステップＣ８のＮＯ）、作業者が障害状況情報データベース３５１に入力した操作は行なわれなかったとみなし、出力されたメッセージ内容は障害発生だが、この時の操作内容と合わせて、障害発生有無の判断を行う必要はないと判断し、最新のアップデートソフトウェア未適用による障害判断を行うためのステップＤ１に進む。
【００９５】
ここで、障害発生確認データベース３５４の操作時出力メッセージは、メッセージそのものは障害メッセージだが、初期設定を行なう操作により必ず発生するメッセージであり、この初期設定を行なった場合のみ、仕様上問題のない障害メッセージであり、初期設定が完了すれば、問題はなくなるので、結果、障害発生ではない可能性が有るメッセージである。
【００９６】
操作時出力メッセージを含む場合（ステップＣ８のＹＥＳ）、制御部３１０は、ステップＣ５で一時記憶したログ情報から、障害発生時メッセージの出力日時と、操作時出力メッセージの出力日時と、を抽出する（ステップＣ９；図１４参照）。
【００９７】
次に、制御部３１０は、ステップＣ９で抽出した障害発生時メッセージの出力日時と、ステップＣ９で抽出した操作時出力メッセージの出力日時との時間差が、予め設定された第３の所定時間以内であるか否かを確認する（ステップＣ１０；図１４参照）。所定時間以内でない場合（ステップＣ１０のＮＯ）、出力されたメッセージ内容は障害発生だが、この時の操作内容と合わせて、障害発生有無の判断を行う必要はないと判断し、最新のアップデートソフトウェア未適用による障害判断を行うためのステップＤ１に進む。
【００９８】
所定時間以内である場合（ステップＣ１０のＹＥＳ）、制御部３１０は、操作による障害が発生していないと判断し、操作による障害が発生していないことを知らせる障害未発生通知（第３通知）を顧客装置１００に送信する（ステップＣ１１；図１４参照）。ステップＣ１１の後、最新のアップデートソフトウェア未適用による障害判断を行うためのステップＤ１に進む。
【００９９】
ステップＣ１１での障害が発生していないとの判断は、障害がソフトウェアで使用するデータ記憶用フォーマットをテープに行い、各データ領域を分離管理するために、各データ領域にラベル情報をフォーマットする際、付加するラベル付け操作を行った場合のＩ／Ｏエラーであることを示しており、正常に初期設定が行われたことを示す。
【０１００】
ステップＣ１１により、顧客装置１００で障害未発生通知が受信され、顧客装置１００で障害未発生通知が出力（表示等）され、顧客装置１００のユーザに顧客装置１００で障害が発生していない旨を知らせることができる。
【０１０１】
ステップＣ７のＮＯの場合、ステップＣ８のＮＯの場合、ステップＣ１０のＮＯの場合、又は、ステップＣ１１の後、制御部３１０は、記憶部３５０の障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生ソフトウェアに係る情報を抽出する（ステップＤ１；図１５参照）。
【０１０２】
次に、制御部３１０は、ステップＤ１で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアを含むアップデート確認データベース３５５を選択する（ステップＤ２；図１５参照）。
【０１０３】
次に、制御部３１０は、ステップＤ２で選択したアップデート確認データベース３５５から、ステップＤ２で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアに関連付けられたアップデートソフトウェア適用確認コマンドを抽出する（ステップＤ３；図１５参照）。
【０１０４】
次に、制御部３１０は、顧客装置１００にリモート接続し、ステップＤ３で抽出したアップデートソフトウェア適用確認コマンドを顧客装置１００で実行させることによって顧客装置１００から実行ログ情報を取得し、一時記憶する（ステップＤ４；図１５参照）。
【０１０５】
次に、制御部３１０は、ステップＤ４で一時記憶した実行ログ情報において、インターネット上に公開されているソフトウェアの最新のアップデートソフトウェアに係る情報の全てが含まれているか否か確認する（ステップＤ５；図１５参照）。最新のアップデートソフトウェアに係る情報の全てが含まれている場合（ステップＤ５のＹＥＳ）、通常の障害判断を行なうためのステップＥ１に進む。
【０１０６】
ここで、インターネット上に公開されているソフトウェアの最新のアップデートソフトウェアに係る情報は、予め収集しておいてもよく、ステップＤ５を行う直前に収集してもよい。
【０１０７】
最新のアップデートソフトウェアに係る情報の全てが含まれていない場合（ステップＤ５のＮＯ）、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００に、最新のアップデートソフトウェア（パッチプログラム、修正プログラムでも可）を全て適用させる（ステップＤ６；図１５参照）。
【０１０８】
ステップＤ６を行なうケースとして、例えば、ＷＥＢ（World Wide Web）サイト上のＰＤＦファイルを、ＩＥ８（Microsoft社製、Internet Explorer 8）又はＩＥ１１（Microsoft社製、Internet Explorer 11）で開く場合に、読み込み途中で動作が止まり、表示が行われない場合に、最新のアップデートソフトウェアが適用されていない情報により、顧客装置１００にアップデートソフトウェアを適用させる場合が挙げられる。
【０１０９】
ステップＤ６を行なうことによって、顧客装置１００は、最新のアップデートソフトウェアが全て適用された状態のログ情報を生成し記憶する。
【０１１０】
次に、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００から、最新のアップデートソフトウェアが全て適用された状態のログ情報を取得し、一時記憶する（ステップＤ７；図１５参照）。
【０１１１】
次に、制御部３１０は、ステップＤ７で一時記憶したログ情報において、ステップＤ４で取得した実行ログ情報にない新しいメッセージが含まれているか否かを確認する（ステップＤ８；図１５参照）。新しいメッセージが含まれている場合（ステップＤ８のＹＥＳ）、アップデートプログラム未適用による障害とは別の障害が発生している（アップデートプログラムを適用しても障害が復旧しない）と判断し、通常の障害判断を行なうためのステップＥ１に進む。
【０１１２】
新しいメッセージが含まれていない場合（ステップＤ８のＮＯ）、制御部３１０は、顧客装置１００への最新のアップデートソフトウェア適用で復旧し、現時点では障害が発生していないと判断し、その旨を知らせるアップデートソフトウェア適用復旧障害未発生通知（第４通知）を顧客装置１００に送信する（ステップＤ９；図１５参照）。ステップＤ９の後、通常の障害判断を行なうためのステップＥ１に進む。
【０１１３】
ステップＤ９により、顧客装置１００でアップデートソフトウェア適用復旧障害未発生通知が受信され、顧客装置１００でアップデートソフトウェア適用復旧障害未発生通知が出力（表示等）され、顧客装置１００のユーザに顧客装置１００でアップデートソフトウェア適用により復旧し、障害が発生していない旨を知らせることができる。
【０１１４】
ステップＤ５のＹＥＳ、ステップＤ８のＹＥＳ、又は、ステップＤ９後、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生ソフトウェアに係る情報を抽出する（ステップＥ１；図１６参照）。
【０１１５】
次に、制御部３１０は、ステップＥ１で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアを含む障害情報データベース３５２を選択する（ステップＥ２；図１６参照）。
【０１１６】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生時メッセージを抽出する（ステップＥ３；図１６参照）。
【０１１７】
次に、制御部３１０は、ステップＥ２で選択した障害情報データベース３５２から、ステップＥ３で抽出した障害発生時メッセージと同じメッセージを含むログ情報中のメッセージに関連付けられた障害情報を抽出する（ステップＥ４；図１６参照）。
【０１１８】
次に、制御部３１０は、ステップＥ２で選択した障害情報データベース３５２から、ステップＥ４で抽出した障害情報に関連付けられたログ情報の名称を抽出する（ステップＥ５；図１６参照）。
【０１１９】
次に、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００から、ステップＥ５で抽出したログ情報の名称に対応するログ情報（障害発生ソフトウェアのログ情報）を取得し、一時記憶する（ステップＥ６；図１６参照）。
【０１２０】
次に、制御部３１０は、ステップＥ２で選択した障害情報データベース３５２から、ステップＥ４で抽出した障害情報に関連付けられたログ情報中のメッセージを抽出する（ステップＥ７；図１６参照）。
【０１２１】
次に、制御部３１０は、ステップＥ６で一時記憶したログ情報において、ステップＥ７で抽出したログ情報中のメッセージと同じメッセージがあるか否かを確認する（ステップＥ８；図１６参照）。同じメッセージがある場合（ステップＥ８のＹＥＳ）、通常の障害判断に移っても問題なしとみなし、通常の障害判断を行なうためのステップＦ１に進む。
【０１２２】
同じメッセージがない場合（ステップＥ８のＮＯ）、制御部３１０は、ソフトウェア起動障害が確認できないとはせず、顧客装置１００にリモート接続し、顧客装置１００から、オペレーティングシステムが出力したログ情報を取得し、一時記憶する（ステップＥ９；図１６参照）。
【０１２３】
ここで、あるソフトウェアが起動できない場合、起動しない当該ソフトウェアが出力するログ情報には、障害を示すログ情報もしくはメッセージは出力されないが、オペレーティングシステムが出力するログ情報には、当該ソフトウェアに関する障害を示すログ情報がある。オペレーティングシステムが出力するログ情報の内容（当該ソフトウェアに関する障害を示す内容）により、当該ソフトウェアの不具合であると判断することができる。なお、ソフトウェアが出力するログ情報は、通常時でも出力され、ソフトウェアの起動や停止の情報が出力されるログ情報である。
【０１２４】
次に、制御部３１０は、ステップＥ９で一時記憶したオペレーティングシステムが出力したログ情報において、ステップＥ７で抽出したログ情報中のメッセージと同じメッセージがあるか否かを確認する（ステップＥ１０；図１６参照）。同じメッセージがない場合（ステップＥ１０のＮＯ）、障害とはみなさず、通常の障害判断を行なうためのステップＦ１に進む。
【０１２５】
同じメッセージがある場合（ステップＥ１０のＹＥＳ）、制御部３１０は、障害が発生しているとみなし、ステップＥ２で選択した障害情報データベース３５２から、ステップＥ７で抽出したログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する（ステップＥ１１；図１６参照）。
【０１２６】
次に、制御部３１０は、ステップＥ４で抽出した障害情報、及び、ステップＥ１１で抽出した原因及び障害復旧に必要な操作を顧客装置１００に送信する（ステップＥ１２；図１６参照）。ステップＥ１２の後、ステップＦ１に進む。
【０１２７】
ステップＥ１２により、顧客装置１００で障害情報、及び、原因及び障害復旧に必要な操作が受信され、障害情報、及び、原因及び障害復旧に必要な操作が出力（表示等）され、顧客装置１００のユーザに顧客装置１００での障害情報、及び、原因及び障害復旧に必要な操作を知らせることができる。
【０１２８】
ステップＥ８のＹＥＳ、ステップＥ１０のＮＯ、又はステップＥ１２の後、制御部３１０は、顧客装置１００に対して障害発生の有無に関する通知（ステップＡ１５のソフトウェア起動遅延障害発生通知、ステップＢ１３の障害未発生通知、ステップＣ１１の障害未発生通知、ステップＤ９のアップデートソフトウェア適用復旧障害未発生通知）の送信を行なったか否かを確認する（ステップＦ１；図１７参照）。障害発生の有無に関する通知の送信を行なっていない場合（ステップＦ１のＮＯ）、制御部３１０は、通常の障害情報では判断できない障害が発生していないとみなし、通常の障害判断を行なうためのステップＦ３に進む。
【０１２９】
障害発生の有無に関する通知の送信を行なっている場合（ステップＦ１のＹＥＳ）、制御部３１０は、通常の障害情報では判断できない障害が発生していたとみなし、障害発生の有無の調査が完了したことを知らせる調査完了通知を顧客装置１００に送信し（ステップＦ２；図１７参照）、その後、終了する。
【０１３０】
障害発生の有無に関する通知の送信を行なっていない場合（ステップＦ１のＮＯ）、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生ソフトウェアに係る情報を抽出する（ステップＦ３；図１７参照）。
【０１３１】
次に、制御部３１０は、ステップＦ３で抽出した障害発生ソフトウェアに係る情報に対応するソフトウェアを含む障害情報データベース３５２を選択する（ステップＦ４；図１７参照）。
【０１３２】
次に、制御部３１０は、障害状況情報データベース３５１から、ステップＡ１で取得した障害状況情報に対応する障害発生時メッセージを抽出する（ステップＦ５；図１７参照）。
【０１３３】
次に、制御部３１０は、ステップＦ４で選択した障害情報データベース３５２から、ステップＦ５で抽出した障害発生時メッセージと同じメッセージを含むログ情報中のメッセージに関連付けられた障害情報を抽出する（ステップＦ６；図１７参照）。
【０１３４】
次に、制御部３１０は、ステップＦ４で選択した障害情報データベース３５２から、ステップＦ６で抽出した障害情報に関連付けられたログ情報の名称を抽出する（ステップＦ７；図１７参照）。
【０１３５】
次に、制御部３１０は、顧客装置１００にリモート接続し、顧客装置１００から、ステップＦ７で抽出したログ情報の名称に対応するログ情報（障害発生ソフトウェアのログ情報）を取得し、一時記憶する（ステップＦ８；図１７参照）。
【０１３６】
次に、制御部３１０は、ステップＦ４で選択した障害情報データベース３５２から、ステップＦ６で抽出した障害情報に関連付けられたログ情報中のメッセージを抽出する（ステップＦ９；図１７参照）。
【０１３７】
次に、制御部３１０は、ステップＦ８で一時記憶したログ情報において、ステップＦ９で抽出したログ情報中のメッセージと同じメッセージがあるか否かを確認する（ステップＦ１０；図１７参照）。同じメッセージがない場合（ステップＦ１０のＮＯ）、ステップＦ１３に進む。
【０１３８】
同じメッセージがある場合（ステップＦ１０のＹＥＳ）、制御部３１０は、障害が発生しているとみなし、ステップＥ２で選択した障害情報データベース３５２から、ステップＦ９で抽出したログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する（ステップＦ１１；図１７参照）。
【０１３９】
次に、制御部３１０は、ステップＦ６で抽出した障害情報、及び、ステップＦ１１で抽出した原因及び障害復旧に必要な操作を顧客装置１００に送信し（ステップＦ１２；図１７参照）、その後、終了する。
【０１４０】
ステップＦ１２により、顧客装置１００で障害情報、及び、原因及び障害復旧に必要な操作が受信され、障害情報、及び、原因及び障害復旧に必要な操作が出力（表示等）され、顧客装置１００のユーザに顧客装置１００での障害情報、及び、原因及び障害復旧に必要な操作を知らせることができる。
【０１４１】
同じメッセージがない場合（ステップＦ１０のＮＯ）、制御部３１０は、障害発生の原因が不明であると判断し、障害発生の原因が不明であることを知らせる原因不明通知（第５通知）を顧客装置１００に送信し（ステップＦ１３；図１７参照）、その後、終了する。
【０１４２】
ステップＦ１３により、顧客装置１００で原因不明通知が受信され、原因不明通知が出力（表示等）され、顧客装置１００のユーザに顧客装置１００での障害発生の原因が不明であることを知らせることができる。
【０１４３】
障害内容特定装置３００の制御部３１０の動作は以上のとおりであるが、ソフトウェア起動遅延障害判断（ステップＡ１〜Ａ１５）、ハードウェア障害判断（ステップＢ１〜Ｂ１５）、障害発生直前操作による障害判断（ステップＣ１〜Ｃ１１）、最新のアップデートソフトウェア未適用による障害判断（ステップＤ１〜Ｄ９）、及び、通常の障害判断（ステップＥ１〜Ｅ１２）のいずれかの障害判断だけ行なってもよい。
【０１４４】
実施形態１によれば、単純なログ情報内のメッセージから一義的に障害と判断するのではなく、ログ情報内のメッセージが障害ではないが、実際は障害を発生している場合でも、正しい障害内容を特定することに貢献することができる。
【０１４５】
［実施形態２］
実施形態２に係る障害内容特定装置について図面を用いて説明する。図１８は、実施形態２に係る障害内容特定システムの構成を模式的に示したブロック図である。
【０１４６】
障害内容特定システム１は、情報処理装置１００にインストールされたソフトウェアの障害内容を障害内容特定装置３００で特定するシステムである。障害内容特定システム１は、情報処理装置１００と、障害内容特定装置３００と、を有する。
【０１４７】
情報処理装置１００は、障害内容特定装置と通信可能に接続された情報処理を有する装置である。
。
【０１４８】
障害内容特定装置３００は、データを記憶する記憶部３５０と、記憶部３５０を制御するとともに、所定の情報処理を行う制御部３１０と、を備える。
【０１４９】
記憶部３５０は、第１データベース３５１と、第２データベース３５３と、を記憶する。第１データベース３５１は、情報処理装置１００から取得した、情報処理装置１００に関する、障害発生日時、及び、障害発生ソフトウェアに係る情報を関連付けて整理したデータベースである。第２データベース３５３は、ソフトウェアに係る情報、ログ情報の名称、起動中のメッセージ、及び、起動完了のメッセージを関連付けて整理したデータベースである。
【０１５０】
制御部３１０は、第２データベース３５３から、第１データベース３５１の障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理を行なう。制御部３１０は、情報処理装置１００から、抽出されたログ情報の名称に対応するログ情報を取得する処理を行なう。制御部３１０は、取得したログ情報において、第２データベース３５３の起動中のメッセージと同じメッセージがあることを確認する処理を行う。制御部３１０は、第１データベース３５１の障害発生日時と、取得したログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にあることを確認する処理を行う。制御部３１０は、取得したログ情報において、第２データベース３５３の起動完了のメッセージと同じメッセージがあることを確認する処理を行う。制御部３１０は、第１データベース３５１の障害発生日時と、取得したログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上であることを確認する処理を行う。制御部３１０は、これらの確認後、ソフトウェア起動遅延障害が発生していることを知らせる第１通知を情報処理装置１００に送信する処理を行う。
【０１５１】
次に、実施形態２に係る障害内容特定システムにおける障害内容特定装置の制御部の動作について図面を用いて説明する。図１９は、実施形態２に係る障害内容特定システムにおける障害内容特定装置の制御部の動作を模式的に示したフローチャートである。障害内容特定システムの構成については、図１８を参照されたい。
【０１５２】
まず、障害内容特定装置３００の制御部３１０は、第２データベース３５３から、第１データベース３５１の障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する（ステップＧ１）。
【０１５３】
次に、制御部３１０は、情報処理装置１００から、抽出されたログ情報の名称に対応するログ情報を取得する（ステップＧ２）。
【０１５４】
次に、制御部３１０は、取得したログ情報において、第２データベース３５３の起動中のメッセージと同じメッセージがあることを確認する（ステップＧ３）。
【０１５５】
次に、制御部３１０は、第１データベース３５１の障害発生日時と、取得したログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内であることを確認する（ステップＧ４）。
【０１５６】
次に、制御部３１０は、取得したログ情報において、第２データベース３５３の起動完了のメッセージと同じメッセージがあることを確認する（ステップＧ５）。
【０１５７】
次に、制御部３１０は、第１データベース３５１の障害発生日時と、取得したログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上であることを確認する処理を行う（ステップＧ６）。
【０１５８】
最後に、制御部３１０は、ステップＧ３〜Ｇ６の確認後、ソフトウェア起動遅延障害が発生していることを知らせる第１通知を情報処理装置１００に送信する処理を行い（ステップＧ７）、その後、終了する。
【０１５９】
実施形態２によれば、正しい障害内容を特定することに貢献することができる。
【０１６０】
上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
【０１６１】
（付記）
本発明では、前記第１の視点に係る障害内容特定装置の形態が可能である。
【０１６２】
前記第１の視点に係る障害内容特定装置において、前記第１データベースは、前記情報処理装置に関する、前記障害発生日時、前記障害発生ソフトウェアに係る情報、及び、障害発生時メッセージが関連付けて整理されており、前記記憶部は、ソフトウェアに係る情報、ログ情報の名称、ログ情報中のメッセージ、及び、障害情報を関連付けて整理した第３データベースをさらに記憶し、前記制御部は、取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、ときに、前記第３データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、取得した前記ログ情報において、前記第３データベースの前記ログ情報中のメッセージと同じメッセージがあり、かつ、前記第３データベースの前記障害情報がハードウェアの自動復旧を示す動作となっており、かつ、取得した前記ログ情報に含まれたハードウェア自動復旧時メッセージの出力日時が、取得した前記ログ情報に含まれたハードウェア障害発生時メッセージの出力日時よりも後であり、かつ、取得した前記ログ情報において、前記ハードウェア自動復旧時メッセージ及び前記ハードウェア障害発生時メッセージが所定時間以内に所定回数以上記録されていない、ときに、ハードウェア障害が発生していないことを知らせる第２通知を前記情報処理装置に送信する処理と、をさらに行う。
【０１６３】
前記第１の視点に係る障害内容特定装置において、前記第３データベースは、前記ソフトウェアに係る情報、前記ログ情報の名称、前記ログ情報中のメッセージ、前記障害情報、及び、原因及び障害復旧に必要な操作を関連付けて整理したデータベースであり、前記制御部は、取得した前記ログ情報において、前記第３データベースの前記ログ情報中のメッセージと同じメッセージがない、又は、前記第３データベースの前記障害情報がハードウェアの自動復旧を示す動作となっていない、又は、取得した前記ログ情報に含まれたハードウェア自動復旧時メッセージの出力日時が、取得した前記ログ情報に含まれたハードウェア障害発生時メッセージの出力日時よりも後でない、又は、取得した前記ログ情報において、前記ハードウェア自動復旧時メッセージ及び前記ハードウェア障害発生時メッセージが所定時間以内に所定回数以上記録されている、ときに、前記第３データベースから、前記ログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する処理と、抽出した前記障害情報及び前記原因及び障害復旧に必要な操作を前記情報処理装置に送信する処理と、をさらに行なう。
【０１６４】
前記第１の視点に係る障害内容特定装置において、前記第１データベースは、前記情報処理装置に関する、前記障害発生日時、前記障害発生ソフトウェアに係る情報、及び、障害発生直前操作に係る情報が関連付けて整理されており、前記記憶部は、ソフトウェアに係る情報、障害発生時メッセージ、障害発生直前操作に係る情報、操作時出力メッセージ、及び、ログ情報の名称を関連付けて整理した第４データベースをさらに記憶し、前記制御部は、取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、ときに、前記第４データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたログ情報の名称を抽出する処理と、前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、前記第４データベースにおいて、前記第１データベースの前記障害発生直前操作に係る情報と同じ障害発生直前操作に係る情報があり、かつ、取得した前記ログ情報において、前記第４データベースの前記操作時出力メッセージと同じメッセージがあり、かつ、前記ログ情報に含まれた障害発生時メッセージの出力日時と、前記ログ情報に含まれた操作時出力メッセージの出力日時との時間差が第３の所定時間以内にある、ときに、操作による障害が発生していないことを知らせる第３通知を前記情報処理装置に送信する処理と、をさらに行う。
【０１６５】
前記第１の視点に係る障害内容特定装置において、前記記憶部は、ソフトウェアに係る情報、及び、アップデートソフトウェア適用確認コマンドを関連付けて整理した第５データベースをさらに記憶し、前記制御部は、取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、ときに、前記第５データベースから、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報に関連付けられたアップデートソフトウェア適用確認コマンドを抽出する処理と、抽出された前記アップデートソフトウェア適用確認コマンドを前記情報処理装置で実行させることによって前記情報処理装置から実行ログ情報を取得する処理と、取得した前記実行ログ情報において、インターネット上に公開されているソフトウェアの最新のアップデートソフトウェアに係る情報の全てが含まれていないときに、最新のアップデートソフトウェアを全て適用させ、前記情報処理装置から、前記最新のアップデートソフトウェアが全て適用された状態のログ情報を取得する処理と、取得した前記ログ情報において、取得した前記実行ログ情報にない新しいメッセージがないときに、前記情報処理装置への前記最新のアップデートソフトウェア適用で復旧し、現時点では障害が発生していないことを知らせる第４通知を前記情報処理装置に送信する処理と、をさらに行う。
【０１６６】
前記第１の視点に係る障害内容特定装置において、前記第１データベースは、前記情報処理装置に関する、前記障害発生日時、前記障害発生ソフトウェアに係る情報、及び、障害発生時メッセージが関連付けて整理されており、前記記憶部は、ソフトウェアに係る情報、ログ情報の名称、ログ情報中のメッセージ、障害情報、及び、原因及び障害復旧に必要な操作を関連付けて整理した第３データベースをさらに記憶し、前記制御部は、取得した前記ログ情報において、前記第２データベースの前記起動中のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と、取得した前記ログ情報に含まれた起動中のメッセージの出力日時との差が第１の所定時間以内にない、又は、取得した前記ログ情報において、前記第２データベースの前記起動完了のメッセージと同じメッセージがない、又は、前記第１データベースの前記障害発生日時と前記ログ情報に含まれた起動完了のメッセージの出力日時との差が第２の所定時間以上でない、ときに、前記第１データベースの前記障害発生ソフトウェアに係る情報に対応するソフトウェアに係る情報の前記第３データベースを選択する処理と、選択した前記第３データベースから、前記第１データベースの前記障害発生時メッセージと同じメッセージが含まれている障害情報を抽出する処理と、選択した前記第３データベースから、抽出した前記障害情報に関連付けられたログ情報の名称を抽出する処理と、前記情報処理装置から、抽出された前記ログ情報の名称に対応するログ情報を取得する処理と、選択した前記第３データベースから、前記第１データベースの前記障害発生時メッセージと同じメッセージが含まれている障害情報に関連付けられたログ情報中のメッセージを抽出する処理と、取得した前記ログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがないときに、前記情報処理装置から、オペレーティングシステムが出力したログ情報を取得する処理と、取得した、前記オペレーティングシステムが出力したログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがあるときに、選択した前記第３データベースから、抽出した前記ログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する処理と、抽出した前記障害情報及び前記原因及び障害復旧に必要な操作を前記情報処理装置に送信する処理と、をさらに行う。
【０１６７】
前記第１の視点に係る障害内容特定装置において、前記制御部は、取得した前記ログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがあるときに、選択した前記第３データベースから、抽出した前記ログ情報中のメッセージに関連付けられた原因及び障害復旧に必要な操作を抽出する処理と、抽出した前記障害情報及び前記原因及び障害復旧に必要な操作を前記情報処理装置に送信する処理と、を行い、かつ、取得した、前記オペレーティングシステムが出力したログ情報において、抽出した前記ログ情報中のメッセージと同じメッセージがないときに、障害発生の原因が不明であることを知らせる第５通知を前記情報処理装置に送信する処理と、をさらに行う。
【０１６８】
本発明では、前記第２の視点に係る障害内容特定システムの形態が可能である。
【０１６９】
本発明では、前記第３の視点に係る障害内容特定方法の形態が可能である。
【０１７０】
本発明では、前記第４の視点に係るプログラムの形態が可能である。
【０１７１】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（特許請求の範囲及び図面を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせないし選択（必要により不選択）が可能である。すなわち、本発明は、請求の範囲及び図面を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、本願に記載の数値及び数値範囲については、明記がなくともその任意の中間値、下位数値、及び、小範囲が記載されているものとみなされる。
【符号の説明】
【０１７２】
１  障害内容特定システム
１００  顧客装置（情報処理装置）
１１０  制御部
１２０  入力部
１３０  出力部
１４０  通信部
１５０  記憶部
１５１  ログ情報
２００  ネットワーク
３００  障害内容特定装置
３１０  制御部
３２０  入力部
３３０  出力部
３４０  通信部
３５０  記憶部
３５１  障害状況情報データベース（第１データベース）
３５２  障害情報データベース（第３データベース）
３５３  起動確認データベース（第２データベース）
３５４  障害発生確認データベース（第４データベース）
３５５  アップデート確認データベース（第５データベース）
【図１】
2019144947.tif 000003
【図２】
2019144947.tif 000004
【図３】
2019144947.tif 000005
【図４】
2019144947.tif 000006
【図５】
2019144947.tif 000007
【図６】
2019144947.tif 000008
【図７】
2019144947.tif 000009
【図８】
2019144947.tif 000010
【図９】
2019144947.tif 000011
【図１０】
2019144947.tif 000012
【図１１】
2019144947.tif 000013
【図１２】
2019144947.tif 000014
【図１３】
2019144947.tif 000015
【図１４】
2019144947.tif 000016
【図１５】
2019144947.tif 000017
【図１６】
2019144947.tif 000018
【図１７】
2019144947.tif 000019
【図１８】
2019144947.tif 000020
【図１９】
2019144947.tif 000021