(57)【特許請求の範囲】
【請求項１】
携帯端末が利用したコンポーネントが出力したネットワークログを収集し、該ネットワークログの共起関係に基づいて、当該携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを作成する依存関係グラフ推定サーバと、
前記依存関係グラフ推定サーバが作成した依存関係グラフを保存する依存関係グラフ管理データベースと、
障害発生箇所特定用端末と、を備え、
前記依存関係グラフ推定サーバは、定期的に、取得したネットワークログを用いて前記依存関係グラフを作成し、作成した前記依存関係グラフを前記依存関係グラフ管理データベースに保存し、
前記依存関係グラフ管理データベースは、コンポーネント間の動作の依存関係が異なる複数の前記依存関係グラフを格納し、
前記障害発生箇所特定用端末は、
調査対象の携帯端末の障害発生箇所特定用情報を受信する障害発生箇所特定用情報受信部と、
前記調査対象の携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す前記依存関係グラフを蓄積する前記依存関係グラフ管理データベースから該依存関係グラフを受信する依存関係グラフ受信部と、
前記調査対象の携帯端末の障害発生箇所特定用情報に含まれる障害発生時点の端末ログに基づいて該障害発生時点の直前の利用時刻を有する当該調査対象の携帯端末に関する前記依存関係グラフを前記依存関係グラフ管理データベースから取得し、該取得した依存関係グラフに基づいて当該調査対象の携帯端末の障害発生箇所を調べる障害発生箇所特定部と、
前記調査対象の携帯端末の障害発生箇所の調査結果を表す表示データを作成する障害診断結果作成部と、を備え、
前記障害発生箇所特定部は、前記依存関係グラフ管理データベースから取得した依存関係グラフを構成する各コンポーネントが前記調査対象の携帯端末のエラーログ出力時に出力していたログを当該ログのデータベースから取得し、前記調査対象の携帯端末のエラーログ出力時に、前記各コンポーネントがログを出力していたか否かを調べ、前記各コンポーネントからのログの有無の境界を検出し、ログ無しのコンポーネント側で障害が発生したと判断し、
前記障害診断結果作成部は、
前記調査対象の携帯端末の障害発生箇所特定用情報にエラーログ無しの場合、任意の日時情報と、該日時情報に最も直近に前記調査対象の携帯端末で起動されたアプリケーションが出力した端末ログとを用いて、前記依存関係グラフ管理データベースから、前記調査対象の携帯端末に関する当該日時付近の依存関係グラフを取得し、
該取得した依存関係グラフを構成する各コンポーネントが該日時付近に出力していたログを当該ログのデータベースから取得し、
該取得した依存関係グラフ、及び、該依存関係グラフを構成する各コンポーネントが該日時付近に出力していたログを表示する表示データを作成する、
ことを特徴とする障害発生箇所診断システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害発生箇所診断システムに関する。
【背景技術】
【０００２】
携帯端末の利用者は、携帯端末になんらかの障害が発生した場合、一般に、携帯端末を販売店に持ち込んで障害発生箇所の特定を依頼する。販売店の店員は、通信事業者や携帯端末開発事業者から予め支給されたマニュアルに従って、持ち込まれた携帯端末の障害発生箇所がソフトウェアなのか、ハードウェアなのか、またはそれ以外なのかを診断する。しかしながら、販売店の店員が障害発生箇所を特定することが困難な場合がある。例えば、携帯端末の障害内容が「電話が途切れる」というものである場合、障害発生箇所はソフトウェア、ハードウェア、又は携帯端末以外（例えば、基地局などの無線通信網の障害、劣悪な電波環境など）であることが考えられるが、ソフトウェア又はネットワークである場合には障害が再現しないなど、障害発生箇所を特定することができない事象もあり得る。
【０００３】
非特許文献１には、障害発生箇所を特定するための従来技術が開示されている。この従来技術では、携帯端末内のアプリケーションやドライバ、ネットワーク側のサーバプログラムやネットワーク機器等の「コンポーネント」が出力するログの共起関係に基づいて、コンポーネント間の動作の依存関係を表すグラフ（依存関係グラフ（Dependency graph：ＤＧ）を予め作成しておく。そして、障害発生時には、ＤＧにおいて依存関係が失われる箇所をコンポーネントのエラーログから特定し、障害発生箇所を絞り込んでいる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】J. Lou, Q. Fu, Y. Wang, and J. Li, “Mining dependency indistributed systems through unstructured log analysis,” in ACM SIGOPS Operating Systems Review, Volume 44 Issue 1, January 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述した非特許文献１の従来技術では、ＤＧが変化することが考慮されていない。携帯端末では移動したりすることによって、無線通信環境や利用するネットワーク側のサーバプログラムが変わることがある。このため時間と共にＤＧも変化し得るが、上記従来技術ではＤＧの変化に対応することができないので、携帯端末の障害発生箇所の絞り込みが困難であった。
【０００６】
本発明は、このような事情を考慮してなされたもので、時間的なＤＧの変化に対応できるようにすることで、携帯端末の障害発生箇所の診断の精度を向上させることができる、障害発生箇所診断システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る障害発生箇所診断システムは、携帯端末が利用したコンポーネントが出力したネットワークログを収集し、該ネットワークログの共起関係に基づいて、当該携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを作成する依存関係グラフ推定サーバと、前記依存関係グラフ推定サーバが作成した依存関係グラフを保存する依存関係グラフ管理データベースと、障害発生箇所特定用端末と、を備え、前記依存関係グラフ推定サーバは、定期的に、取得したネットワークログを用いて前記依存関係グラフを作成し、作成した前記依存関係グラフを前記依存関係グラフ管理データベースに保存し、前記依存関係グラフ管理データベースは、コンポーネント間の動作の依存関係が異なる複数の前記依存関係グラフを格納し、前記障害発生箇所特定用端末は、調査対象の携帯端末の障害発生箇所特定用情報を受信する障害発生箇所特定用情報受信部と、前記調査対象の携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す前記依存関係グラフを蓄積する前記依存関係グラフ管理データベースから該依存関係グラフを受信する依存関係グラフ受信部と、前記調査対象の携帯端末の障害発生箇所特定用情報に含まれる障害発生時点の端末ログに基づいて該障害発生時点の直前の利用時刻を有する当該調査対象の携帯端末に関する前記依存関係グラフを前記依存関係グラフ管理データベースから取得し、該取得した依存関係グラフに基づいて当該調査対象の携帯端末の障害発生箇所を調べる障害発生箇所特定部と、前記調査対象の携帯端末の障害発生箇所の調査結果を表す表示データを作成する障害診断結果作成部と、を備え、前記障害発生箇所特定部は、前記依存関係グラフ管理データベースから取得した依存関係グラフを構成する各コンポーネントが前記調査対象の携帯端末のエラーログ出力時に出力していたログを当該ログのデータベースから取得し、前記調査対象の携帯端末のエラーログ出力時に、前記各コンポーネントがログを出力していたか否かを調べ、前記各コンポーネントからのログの有無の境界を検出し、ログ無しのコンポーネント側で障害が発生したと判断し、前記障害診断結果作成部は、前記調査対象の携帯端末の障害発生箇所特定用情報にエラーログ無しの場合、任意の日時情報と、該日時情報に最も直近に前記調査対象の携帯端末で起動されたアプリケーションが出力した端末ログとを用いて、前記依存関係グラフ管理データベースから、前記調査対象の携帯端末に関する当該日時付近の依存関係グラフを取得し、該取得した依存関係グラフを構成する各コンポーネントが該日時付近に出力していたログを当該ログのデータベースから取得し、該取得した依存関係グラフ、及び、該依存関係グラフを構成する各コンポーネントが該日時付近に出力していたログを表示する表示データを作成する、ことを特徴とする。
本発明に係る障害発生箇所特定用端末は、携帯端末の障害発生箇所特定用情報を受信する障害発生箇所特定用情報受信部と、前記携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを蓄積するデータベースから前記依存関係グラフを受信する依存関係グラフ受信部と、前記携帯端末の障害発生箇所特定用情報に含まれる障害発生時点の端末ログに基づいて該障害発生時点の直前の利用時刻を有する当該携帯端末に関する依存関係グラフを前記データベースから取得し、該取得した依存関係グラフに基づいて当該携帯端末の障害発生箇所を調べる障害発生箇所特定部と、前記携帯端末の障害発生箇所の調査結果を表す表示データを作成する障害診断結果作成部と、を備えたことを特徴とする。
【０００８】
本発明に係る障害発生箇所特定用端末において、前記障害発生箇所特定部は、前記データベースから取得した依存関係グラフを構成する各コンポーネントが前記携帯端末のエラーログ出力時に出力していたログを当該ログのデータベースから取得し、前記携帯端末のエラーログ出力時に、各コンポーネントがログを出力していたか否か、または各コンポーネントからエラーログの出力があったか否かを調べ、この調査結果に基づいて前記携帯端末の障害発生箇所を判断する、ことを特徴とする。
【０００９】
本発明に係る障害発生箇所特定用端末において、前記障害診断結果作成部は、前記データベースから取得した依存関係グラフと、該依存関係グラフを構成する各コンポーネントが前記携帯端末のエラーログ出力時にログを出力していたか否かを示す情報とを表示する表示データを作成する、ことを特徴とする。
【００１０】
本発明に係る障害発生箇所特定用端末において、前記障害診断結果作成部は、ログ出力有りのコンポーネントについては当該ログ及びログ出力日時の情報を表示する表示データを作成する、ことを特徴とする。
【００１１】
本発明に係る障害発生箇所特定用端末において、前記障害診断結果作成部は、前記携帯端末の障害発生箇所特定用情報にエラーログ無しの場合、任意の日時情報と、該日時情報に最も直近に前記携帯端末で起動されたアプリケーションが出力した端末ログとを用いて、前記データベースから、前記携帯端末に関する当該日時付近の依存関係グラフを取得し、該取得した依存関係グラフを構成する各コンポーネントが該日時付近に出力していたログを当該ログのデータベースから取得し、該取得した依存関係グラフ、及び、該依存関係グラフを構成する各コンポーネントが該日時付近に出力していたログを表示する表示データを作成する、ことを特徴とする。
【００１２】
本発明に係る障害発生箇所特定用端末において、前記障害診断結果作成部は、前記携帯端末の障害発生箇所の調査結果に基づいて特定した障害発生箇所を示す情報又は障害発生箇所がないことを示す情報を表示する表示データを作成する、ことを特徴とする。
【００１３】
本発明に係る障害発生箇所診断方法は、依存関係グラフ推定サーバが、携帯端末が利用したコンポーネントが出力したネットワークログを収集し、該ネットワークログの共起関係に基づいて、当該携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを作成するステップと、依存関係グラフ管理データベースが、前記依存関係グラフ推定サーバが作成した依存関係グラフを保存するステップと、を含み、前記依存関係グラフ推定サーバは、定期的に、取得したネットワークログを用いて前記依存関係グラフを作成し、作成した前記依存関係グラフを前記依存関係グラフ管理データベースに保存し、前記依存関係グラフ管理データベースは、コンポーネント間の動作の依存関係が異なる複数の前記依存関係グラフを格納し、障害発生箇所特定用端末が、調査対象の携帯端末の障害発生箇所特定用情報を受信するステップと、前記障害発生箇所特定用端末が、前記調査対象の携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す前記依存関係グラフを蓄積する前記依存関係グラフ管理データベースから該依存関係グラフを受信するステップと、前記障害発生箇所特定用端末が、前記調査対象の携帯端末の障害発生箇所特定用情報に含まれる障害発生時点の端末ログに基づいて該障害発生時点の直前の利用時刻を有する当該調査対象の携帯端末に関する前記依存関係グラフを前記依存関係グラフ管理データベースから取得し、該取得した依存関係グラフに基づいて当該調査対象の携帯端末の障害発生箇所を調べる障害発生箇所特定ステップと、前記障害発生箇所特定用端末が、前記調査対象の携帯端末の障害発生箇所の調査結果を表す表示データを作成するステップと、をさらに含み、前記障害発生箇所特定ステップにおいて、前記障害発生箇所特定用端末は、前記依存関係グラフ管理データベースから取得した依存関係グラフを構成する各コンポーネントが前記調査対象の携帯端末のエラーログ出力時に出力していたログを当該ログのデータベースから取得し、前記調査対象の携帯端末のエラーログ出力時に、前記各コンポーネントがログを出力していたか否かを調べ、前記各コンポーネントからのログの有無の境界を検出し、ログ無しのコンポーネント側で障害が発生したと判断する、ことを特徴とする。
【００１４】
本発明に係るコンピュータプログラムは、コンピュータに、携帯端末の障害発生箇所特定用情報を受信するステップと、前記携帯端末が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを蓄積するデータベースから前記依存関係グラフを受信するステップと、前記携帯端末の障害発生箇所特定用情報に含まれる障害発生時点の端末ログに基づいて該障害発生時点の直前の利用時刻を有する当該携帯端末に関する依存関係グラフを前記データベースから取得し、該取得した依存関係グラフに基づいて当該携帯端末の障害発生箇所を調べるステップと、前記携帯端末の障害発生箇所の調査結果を表す表示データを作成するステップと、を実行させるためのコンピュータプログラムであることを特徴とする。
これにより、前述の障害発生箇所特定用端末がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１５】
本発明によれば、時間的なＤＧの変化に対応することができる。これにより、携帯端末の障害発生箇所の診断の精度を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る障害発生箇所診断システムの概略構成図である。
【図２】図１に示す障害発生箇所特定用端末４の構成図である。
【図３】本発明の一実施形態に係る障害発生箇所診断方法のシーケンスチャートである。
【図４】図１に示すＤＧ管理データベース２に格納されるＤＧの例である。
【図５】本発明の一実施形態に係るコンポーネント間のログの共起関係を説明する説明図である。
【図６】本発明の一実施形態に係る障害発生箇所診断処理の説明図である。
【図７】携帯端末３が出力する障害発生箇所特定用情報（エラーログ）の例である。
【図８】本発明に係る実施例１である。
【図９】本発明に係る実施例２である。
【図１０】本発明に係る実施例３である。
【発明を実施するための形態】
【００１７】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る障害発生箇所診断システムの概略構成図である。図１において、ＤＧ（依存関係グラフ）推定サーバ１は、携帯端末３が利用したコンポーネントが出力したネットワークログを収集し、該ネットワークログの共起関係に基づいて、当該携帯端末３が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表すＤＧを作成する。ＤＧ管理データベース２は、ＤＧ推定サーバ１が作成したＤＧを保存する。障害発生箇所特定用端末４は、障害が発生した携帯端末３に関するＤＧをＤＧ管理データベース２から取得し、該取得したＤＧに基づいて当該携帯端末３の障害発生箇所を調べる。
【００１８】
携帯端末３は、メール送受信やインターネット６に接続するサーバ７を利用する際に、インターネットサービスプロバイダ（ＩＳＰ）や通信事業者が設けたゲートウェイ網５を介して通信する。ゲートウェイ網５は、携帯端末３に関するネットワークログを全て記録する。ＤＧ推定サーバ１は、ゲートウェイ網５に接続し、ゲートウェイ網５から携帯端末３に関するネットワークログを収集する。又、ＤＧ推定サーバ１は、インターネット６に接続し、サーバ７から携帯端末３に関するネットワークログを収集する。
【００１９】
図２は、図１に示す障害発生箇所特定用端末４の構成図である。図２において、制御部４０１は、障害発生箇所特定用端末４内の各部を制御する。ＵＳＢ接続検知部４０３は、携帯端末３（障害携帯端末３）がＵＳＢケーブルでＵＳＢ接続部４０２に接続されたことを検知して制御部４０１に通知する。これにより、制御部４０１は、障害発生箇所特定用情報取得要求送信部４０４に対して、障害携帯端末３から障害発生箇所特定用情報を取得するように命令する。
【００２０】
障害発生箇所特定用情報取得要求送信部４０４は、制御部４０１からの命令に従って、ＵＳＢ接続部４０２を介して障害携帯端末３に障害発生箇所特定用情報取得要求を送信する。障害発生箇所特定用情報取得応答受信部４０５は、ＵＳＢ接続部４０２を介して障害携帯端末３から障害発生箇所特定用情報を受信する。障害発生箇所特定用情報保存部４０６は、障害発生箇所特定用情報取得応答受信部４０５が障害携帯端末３から受信した障害発生箇所特定用情報４０８を、障害携帯端末３の識別子（ＭＳ−ＩＤ）４０７に関連付けて記憶する。
【００２１】
制御部４０１は、ＤＧ取得要求送信部４０９に対して、障害携帯端末３に関するＤＧを取得するように命令する。ＤＧ取得要求送信部４０９は、制御部４０１からの命令に従って、ネットワーク接続部４１０を介してＤＧ取得要求をＤＧ管理データベース２へ送信する。ＤＧ取得要求は、障害携帯端末３のＭＳ−ＩＤ４０７、及びＭＳ−ＩＤ４０７に関連付けて障害発生箇所特定用情報保存部４０６に記憶されている障害発生箇所特定用情報４０８（端末ログ）を有する。
【００２２】
ＤＧ取得応答受信部４１１は、ネットワーク接続部４１０を介して、ＤＧ管理データベース２から、障害携帯端末３に関する障害発生直前のＤＧを受信する。ＤＧ保存部４１２は、ＤＧ取得応答受信部４１１が受信した障害携帯端末３に関する障害発生直前のＤＧ４１３を記憶する。
【００２３】
障害発生箇所特定部４１４は、ＤＧ保存部４１２内の障害携帯端末３に関する障害発生直前のＤＧ４１３と、障害発生箇所特定用情報保存部４０６内の障害携帯端末３に関する障害発生箇所特定用情報４０８とを用いて、障害携帯端末３の障害発生箇所を調べる。障害診断結果作成部４２０は、障害発生箇所特定部４１４による診断結果（障害携帯端末３の障害発生箇所の調査結果等）を用いて、障害発生箇所の診断結果を表示するための表示データを作成する。障害診断結果表示部４１５は、障害診断結果作成部４２０による表示データを画面上に表示する。
【００２４】
図３は、本実施形態に係る障害発生箇所診断方法のシーケンスチャートである。この図３を参照して、障害が発生した携帯端末３の障害発生箇所を調べる手順を説明する。
【００２５】
ステップＳ１：利用者は、障害が発生した携帯端末３を販売店に持ち込む。
【００２６】
ステップＳ２：販売店の店員は、携帯端末３をＵＳＢケーブルで障害発生箇所特定用端末４に接続する。
【００２７】
ステップＳ３：障害発生箇所特定用端末４は、携帯端末３がＵＳＢ接続されたことを検出すると、該携帯端末３に対して障害発生箇所特定用情報取得要求を送信する。
【００２８】
ステップＳ４：携帯端末３は、障害発生箇所特定用情報取得要求を受信すると、自身の携帯端末ＩＤ（ＭＳ−ＩＤ）と障害発生箇所特定用情報を障害発生箇所特定用端末４へ送信する。
【００２９】
ステップＳ５：障害発生箇所特定用端末４は、携帯端末３が障害を発生する直前の障害発生箇所特定用情報から、エラーログを出力したコンポーネントに関する文字列を抽出する。
【００３０】
ステップＳ６：障害発生箇所特定用端末４は、ＤＧ取得要求をＤＧ管理データベース２へ送信する。ＤＧ取得要求は、携帯端末３のＭＳ−ＩＤとステップＳ５で抽出した文字列と障害発生時刻を示す情報（例えば、携帯端末３が障害を発生する直前の端末ログの時刻）とを有する。
【００３１】
ステップＳ７：ＤＧ管理データベース２は、ＤＧ取得要求に含まれるＭＳ−ＩＤ、文字列および障害発生時刻を示す情報を用いて、自身が有するＤＧの中から、障害発生直前に作成され、且つ、該ＭＳ−ＩＤに関するＤＧであって該文字列を有するＤＧを検索する。
【００３２】
ステップＳ８：ＤＧ管理データベース２は、ステップＳ７の検索結果であるＤＧを障害発生箇所特定用端末４へ送信する。
【００３３】
ステップＳ９：障害発生箇所特定用端末４は、ＤＧ管理データベース２から受信したＤＧに含まれるネットワーク側のコンポーネントが障害発生時に出力したネットワークログを取得するために、ＤＧ推定サーバ１へネットワークログ取得要求を送信する。
【００３４】
ステップＳ１０：ＤＧ推定サーバ１は、障害発生箇所特定用端末４からのネットワークログ取得要求に応じて該当するネットワークログを検索し、検索結果であるネットワークログを障害発生箇所特定用端末４に送信する。この検索結果のネットワークログは、ステップＳ７の検索結果であるＤＧに含まれるネットワーク側のコンポーネントが障害発生時に出力したネットワークログである。
【００３５】
ステップＳ１１：障害発生箇所特定用端末４は、ＤＧ管理データベース２から受信した障害発生直前のＤＧと、携帯端末３から受信した障害発生箇所特定用情報（障害発生時の端末ログ）と、ＤＧ推定サーバ１から受信した障害発生時のネットワークログとを用いて、障害携帯端末３の障害発生箇所を調べる。
【００３６】
ステップＳ１２：障害発生箇所特定用端末４は、ステップＳ１１の調査結果である障害発生箇所を画面上に表示するための表示データを作成する。そして、障害発生箇所特定用端末４は、その表示データを画面上に表示する。これにより、店員は、その表示内容に基づいて、携帯端末３に係る障害発生箇所を判断することができる。
【００３７】
図４は、図１に示すＤＧ管理データベース２に格納されるＤＧの例である。
携帯端末では移動したりすることによって、ＤＧが時間的に変化することがあり得る。このため、本実施形態では、図４に示されるように、ＤＧ推定サーバ１は、定期的に、取得したネットワークログを用いてＤＧを作成し、作成したＤＧをＤＧ管理データベース２に保存する。
【００３８】
図４において、まず時刻ｔ１では、時刻ｔ１に取得された「ある一の携帯端末３（対象携帯端末３）に関するネットワークログ」を用い、時刻ｔ１における対象携帯端末３に関するＤＧ＃１を作成する。このＤＧ＃１では、コンポーネント「アプリＡ」とコンポーネント「Ｗｉ−Ｆｉアンテナ」間の動作、及び、コンポーネント「Ｗｉ−Ｆｉアンテナ」とコンポーネント「サーバＡ」間の動作が共に依存関係にあることが示されている。
【００３９】
次いで、時刻ｔ２では、時刻ｔ２に取得された対象携帯端末３に関するネットワークログを用い、時刻ｔ２における対象携帯端末３に関するＤＧ＃２を作成する。このＤＧ＃２では、コンポーネント「アプリＢ」とコンポーネント「Ｗｉ−Ｆｉアンテナ」間の動作、及び、コンポーネント「Ｗｉ−Ｆｉアンテナ」とコンポーネント「サーバＢ」間の動作が共に依存関係にあることが示されている。
【００４０】
次いで、時刻ｔ３では、時刻ｔ３に取得された対象携帯端末３に関するネットワークログを用い、時刻ｔ３における対象携帯端末３に関するＤＧ＃３を作成する。このＤＧ＃３では、コンポーネント「アプリＢ」とコンポーネント「３Ｇアンテナ」間の動作、及び、コンポーネント「３Ｇアンテナ」とコンポーネント「サーバＢ」間の動作が共に依存関係にあることが示されている。
【００４１】
次いで、時刻ｔ４では、時刻ｔ４に取得された対象携帯端末３に関するネットワークログを用い、時刻ｔ４における対象携帯端末３に関するＤＧ＃４を作成する。このＤＧ＃４では、コンポーネント「アプリＡ」とコンポーネント「３Ｇアンテナ」間の動作、及び、コンポーネント「３Ｇアンテナ」とコンポーネント「サーバＡ」間の動作が共に依存関係にあることが示されている。
【００４２】
次いで、時刻ｔ５では、時刻ｔ５に取得された対象携帯端末３に関するネットワークログを用い、時刻ｔ５における対象携帯端末３に関するＤＧ＃５を作成する。このＤＧ＃５では、コンポーネント「アプリＡ」とコンポーネント「ＷｉＭＡＸアンテナ」間の動作、及び、コンポーネント「ＷｉＭＡＸアンテナ」とコンポーネント「サーバＡ」間の動作が共に依存関係にあることが示されている。
【００４３】
次いで、時刻ｔ６では、時刻ｔ６に取得された対象携帯端末３に関するネットワークログを用い、時刻ｔ６における対象携帯端末３に関するＤＧ＃６を作成する。このＤＧ＃６では、コンポーネント「アプリＡ」とコンポーネント「ＷｉＭＡＸアンテナ」間の動作、及び、コンポーネント「ＷｉＭＡＸアンテナ」とコンポーネント「サーバＢ」間の動作が共に依存関係にあることが示されている。
【００４４】
ＤＧ管理データベース２は、各ＤＧに対して、コンポーネント間の動作の依存関係が同じであるＤＧに対して同じＤＧ識別子（ＤＧ−ＩＤ）を付与する。図４においては、時刻ｔ１〜ｔ６に作成されたＤＧ＃１〜＃６におけるコンポーネント間の動作の依存関係が全て異なるので、各ＤＧに対して異なるＤＧ−ＩＤ（パターンＰ１〜Ｐ６）が付与される。又、ＤＧ管理データベース２は、各ＤＧに対して、どの携帯端末３に関するＤＧであるのかを識別するために、携帯端末のＭＳ−ＩＤを付与する。
【００４５】
なお、コンポーネントのネットワークログの共起関係に基づいて、どのコンポーネントとどのコンポーネント間の動作が依存関係にあるかを検出することができる。具体的には、同一時刻に取得した対象携帯端末３に関するネットワークログのうち、同一文字列を含むネットワークログは、共起関係にあると判断する。例えば、携帯端末３がＶｏＩＰ通信を行った場合、共起関係にある複数のネットワークログは、文字列「ＳＩＰ」や文字列「Ｃａｌｌ」を含むことが予想される。従って、文字列「ＳＩＰ」や文字列「Ｃａｌｌ」を含むネットワークログを出力した複数のコンポーネント間の動作は依存関係にあると検出する。
【００４６】
なお、コンポーネント間の動作の依存関係の順番は、一定期間である「時間窓」を用いて判断する。時間窓は、あるコンポーネントからログが出力されてから、そのログと共起するログが存在するか否かを判断するための時間帯である。図５を参照して、コンポーネント間の動作の依存関係の順番を判断する方法を説明する。
（１）まず、コンポーネント１からログが出力される。このログは文字列「ＳＩＰ」、「Ｃａｌｌ」を有する。
（２）次いで、コンポーネント１のログ出力時点から時間窓内で、コンポーネント２からログが出力される。このコンポーネント２のログは、コンポーネント１のログと同じ文字列「ＳＩＰ」、「Ｃａｌｌ」を有する。これにより、コンポーネント１のログとコンポーネント２のログ間に共起関係があると判断し、コンポーネント１とコンポーネント２間に依存関係があると判断する。
（３）次いで、コンポーネント２のログ出力時点から時間窓内で、コンポーネント３からログが出力される。このコンポーネント３のログがコンポーネント２のログと同じ文字列「ＳＩＰ」、「Ｃａｌｌ」を有する場合には、コンポーネント２のログとコンポーネント３のログ間に共起関係があると判断し、コンポーネント２とコンポーネント３間に依存関係があると判断する。
（４）コンポーネント２のログとコンポーネント３のログ間に共起関係がある場合において、コンポーネント３のログ出力時点から時間窓内で、他のコンポーネントからログが出力されなかったときには、コンポーネント間のログの共起が終了したと判断する。これにより、当該ＤＧは、コンポーネント１とコンポーネント２間の動作に依存関係があり、次いでコンポーネント２とコンポーネント３間の動作に依存関係にあるという、依存関係の順番「コンポーネント１→コンポーネント２→コンポーネント３」を有するものとなる。
【００４７】
次に、図６を参照して、図２に示す障害発生箇所特定用端末４の障害発生箇所特定部４１４が障害携帯端末３の障害発生箇所を調べる処理を説明する。
図６において、障害携帯端末３に関する障害発生直前のＤＧは、ＤＧ管理データベース２から取得される。障害発生箇所特定部４１４は、障害携帯端末３に関する障害発生直前のＤＧと、障害携帯端末３に関する障害発生箇所特定用情報（端末ログ）と、ＤＧに含まれるネットワーク側のコンポーネントが障害発生時に出力したネットワークログとを用いて、障害携帯端末３の障害発生箇所を絞り込む。具体的には、端末ログとネットワークログにおいて、障害発生直前のＤＧに含まれるコンポーネントからのログが、障害発生時に存在するか否かを調べ、ログが存在するコンポーネントとログが存在しないコンポーネントとの境界を検出する。
【００４８】
図６の例では、障害発生直前のＤＧは、コンポーネント１とコンポーネント２間の動作、及び、コンポーネント２とコンポーネント４間の動作が共に依存関係にあることを示す。そして、端末ログには、コンポーネント１のログとコンポーネント２のログとは存在するが、コンポーネント４のログは存在しない。従って、コンポーネント２とコンポーネント４間で何らかの障害が発生したと判定することができる。
【００４９】
例えば、携帯端末３がＶｏＩＰ通信を行っている途中で障害が発生した場合に、端末ログには、携帯端末３内のＶｏＩＰ通信アプリプログラム実行部（コンポーネント１）のログ「VoIP App Start」、及び、携帯電話ネットワーク接続部（コンポーネント２）のログ「CDMA isActivity:false」が含まれているが、ネットワーク側のＳＩＰサーバ（コンポーネント４）のログは含まれていなかったとする。この場合、携帯端末３ではアプリケーションが正常に動作しているが、携帯電話ネットワーク用のアンテナの先のどこかで障害が発生したと判定することができる。
【００５０】
図７は、携帯端末３やＷｅｂサーバ７などのネットワーク側のコンポーネントが出力する障害発生箇所特定用情報（エラーログ）の例である。エラーログは、コンポーネント毎に区別される。エラーログは、該当するコンポーネントに関する異常の種類を示す文字列を有する。
【００５１】
以下、本実施形態に係る実施例を説明する。
【実施例１】
【００５２】
本発明の実施例１を図８に示す。図８の実施例１では、携帯端末３の無線ＬＡＮアンテナやセルラー網通信用アンテナなどのハードウェア障害を特定する例を示す。また、本実施例１は、障害を実際に含んだ携帯端末（障害携帯端末）の障害発生箇所を特定する例である。
【００５３】
障害携帯端末３の障害発生箇所特定用情報４０８の中には、エラーログ「ERROR:XXX:java.net.ConnectException: Connection refused: connect.」がある。この障害携帯端末３を障害発生箇所特定用端末４にＵＳＢ接続すると、障害携帯端末３から障害発生箇所特定用端末４へメッセージが送信される。このメッセージは、各メッセージを識別するためのメッセージＩＤと、障害携帯端末３のＭＳ−ＩＤ「175153」と、エラーログ出力の有無及びエラーログ出力の日時の情報を含むエラー情報と、そのエラーログが出力される前の最も直近に起動されたアプリケーションが出力したログの文字列「Starting VoIP…」及び「Connect SIP Server…」（以下、関連ログ）とを有する。
【００５４】
障害発生箇所特定用端末４は、ＭＳ−ＩＤ、エラー情報及び関連ログを用いて、ＤＧ管理データベース２から、障害携帯端末３がエラーログを出力する直前のＤＧを取得する。さらに、障害発生箇所特定用端末４は、障害携帯端末３からエラーログが出力される直前のＤＧを構成する各コンポーネントが、障害携帯端末３のエラーログ出力時に出力していたログを、ＤＧ推定サーバ１から取得する。
【００５５】
障害発生箇所特定用端末４は、ＤＧ推定サーバ１から取得したログにおいて、障害携帯端末３のエラーログ出力時に、各コンポーネントがログを出力していたか否か、または各コンポーネントからエラーログの出力があったか否かを調べる。
【００５６】
図８の例では、障害携帯端末３のエラーログ出力直前のＤＧを構成する、コンポーネントのログ出力の有無を調べたところ、コンポーネント「アプリＡ」からはログ「Starting VoIP…」の出力があったにもかかわらず、コンポーネント「３Ｇアンテナ」及びコンポーネント「サーバＡ」からはいずれもログ出力がなかった。これにより、障害発生箇所特定用端末４は、コンポーネント「３Ｇアンテナ」又はネットワーク側のどこかで障害が発生したと判断する。
【００５７】
障害発生箇所特定用端末４は、その障害箇所の判断結果を用いて表示データを作成する。そして、障害発生箇所特定用端末４は、その表示データを画面上に表示する。図８には、その表示画面１０００の構成例が示されている。
【００５８】
図８の表示画面１０００では、ＤＧ管理データベース２から取得したＤＧ１１００（障害携帯端末３がエラーログを出力する直前のＤＧ）が表示される。さらに、ＤＧ１１００を構成する各コンポーネントのログ出力の有無の情報１２００が表示される。さらに、ログ出力有りのコンポーネントについては、そのログ及びログ出力日時の情報が表示される。さらには、障害発生箇所が携帯端末であることを示すメッセージ「ハードウェア障害」が表示される。店員は、その表示画面１０００の表示内容に基づいて、障害携帯端末３に係る障害発生箇所を判断することができる。さらに、障害携帯端末３の利用者に対して表示画面１０００を提示することにより、障害発生箇所の説明を分かり易く行うことができる。
【実施例２】
【００５９】
本発明の実施例２を図９に示す。図９の実施例２では、実施例１と同様にハードウェア障害を特定するが、さらに加えてＷｅｂサーバやＳＩＰサーバなどの故障やサービス停止といったネットワーク障害の特定も行う。また、本実施例２は、障害を含んでいない携帯端末（正常携帯端末）が障害発生箇所特定用端末４にＵＳＢ接続されて、障害発生箇所を特定する例である。
【００６０】
正常携帯端末３の障害発生箇所特定用情報４０８の中には、エラーログ「ERROR:XXX:java.net.ConnectException: Connection refused: connect.」がある。この正常携帯端末３を障害発生箇所特定用端末４にＵＳＢ接続すると、正常携帯端末３から障害発生箇所特定用端末４へメッセージが送信される。このメッセージは、メッセージＩＤと、正常携帯端末３のＭＳ−ＩＤと、エラー情報と、関連ログとを有する。
【００６１】
障害発生箇所特定用端末４は、ＭＳ−ＩＤ、エラー情報及び関連ログを用いて、ＤＧ管理データベース２から、正常携帯端末３がエラーログを出力する直前のＤＧを取得する。さらに、障害発生箇所特定用端末４は、正常携帯端末３からエラーログが出力される直前のＤＧを構成する各コンポーネントが、正常携帯端末３のエラーログ出力時に出力していたログを、ＤＧ推定サーバ１から取得する。
【００６２】
障害発生箇所特定用端末４は、ＤＧ推定サーバ１から取得したログにおいて、正常携帯端末３のエラーログ出力時に、各コンポーネントがログを出力していたか否か、または各コンポーネントからエラーログの出力があったか否かを調べる。
【００６３】
図９の例では、正常携帯端末３のエラーログ出力直前のＤＧを構成する、コンポーネントのログ出力の有無を調べたところ、コンポーネント「アプリＡ」、コンポーネント「３Ｇアンテナ」からはそれぞれに、ログ「Starting VoIP…」、ログ「CDMA isAvaibale:true…」の出力があったにもかかわらず、コンポーネント「サーバＡ」からはログ出力がなかった。これにより、障害発生箇所特定用端末４は、ネットワーク側のどこかで障害が発生したと判断する。
【００６４】
障害発生箇所特定用端末４は、その障害箇所の判断結果を用いて表示データを作成する。そして、障害発生箇所特定用端末４は、その表示データを画面上に表示する。図９には、その表示画面１０００の構成例が示されている。
【００６５】
図９の表示画面１０００では、ＤＧ管理データベース２から取得したＤＧ１１００（正常携帯端末３がエラーログを出力する直前のＤＧ）が表示される。さらに、ＤＧ１１００を構成する各コンポーネントのログ出力の有無の情報１２００が表示される。さらに、ログ出力有りのコンポーネントについては、そのログ及びログ出力日時の情報が表示される。さらには、障害発生箇所がネットワーク側であることを示すメッセージ「ネットワーク障害」が表示される。店員は、その表示画面１０００の表示内容に基づいて、正常携帯端末３に係る障害発生箇所を判断することができる。さらに、正常携帯端末３の利用者に対して表示画面１０００を提示することにより、障害発生箇所の説明を分かり易く行うことができる。
【実施例３】
【００６６】
本発明の実施例３を図１０に示す。図１０の実施例３では、実施例２と同様に、正常携帯端末が障害発生箇所特定用端末４にＵＳＢ接続されて、障害発生箇所を特定する例である。
【００６７】
正常携帯端末３の障害発生箇所特定用情報４０８の中にはエラーログが無い。この正常携帯端末３を障害発生箇所特定用端末４にＵＳＢ接続すると、正常携帯端末３から障害発生箇所特定用端末４へメッセージが送信される。このメッセージは、メッセージＩＤと、正常携帯端末３のＭＳ−ＩＤと、エラー情報「エラーログ無し」と、関連ログ「無し」とを有する。
【００６８】
障害発生箇所特定用端末４は、エラー情報「エラーログ無し」に基づいて、正常携帯端末３に係る障害が発生していないと判断する。そして、障害発生箇所特定用端末４は、障害発生箇所の診断結果の表示データを作成すえるために、ＭＳ−ＩＤと、任意の日時情報（例えば店員が指定した日時情報、又は予め設定された日時情報）と、その日時情報に最も直近に前記携帯端末で起動されたアプリケーションが出力した端末ログの文字列とを用いて、ＤＧ管理データベース２から、正常携帯端末３に関する当該日時付近のＤＧを取得する。さらに、障害発生箇所特定用端末４は、その取得したＤＧを構成する各コンポーネントが、当該日時付近に出力していたログを、ＤＧ推定サーバ１から取得する。
【００６９】
障害発生箇所特定用端末４は、その取得したＤＧ及びログを用いて表示データを作成する。そして、障害発生箇所特定用端末４は、その表示データを画面上に表示する。図１０には、その表示画面１０００の構成例が示されている。
【００７０】
図１０の表示画面１０００では、ＤＧ管理データベース２から取得したＤＧ１１００（正常携帯端末３に係る任意日時のＤＧ）が表示される。さらに、ＤＧ１１００を構成する各コンポーネントが当該日時付近に出力していたログの情報１２００が表示される。この例では、正常携帯端末３の任意日時のＤＧを構成する各コンポーネント「アプリＡ」、コンポーネント「３Ｇアンテナ」、コンポーネント「サーバＡ」からはそれぞれに、ログ「Starting VoIP…」、ログ「CDMA isAvaibale:true…」、ログ「SIP calling…」の出力があった。さらには、障害発生箇所がないことを示すメッセージ「障害箇所無し」が表示される。店員は、その表示画面１０００の表示内容に基づいて、正常携帯端末３に係る障害発生なしを判断することができる。さらに、正常携帯端末３の利用者に対して表示画面１０００を提示することにより、障害が発生していないことの説明を分かり易く行うことができる。
【００７１】
なお、上述の各実施例において、携帯端末３から障害発生箇所特定用端末４へのメッセージ転送方法は、ＵＳＢ接続に限定されない。例えば、ＳＤカードなどのデータカードを経由してメッセージを転送してもよい。又は、ネットワーク上のサーバ経由でメッセージを転送してもよい。例えば、携帯端末３がセルラー網、無線ＬＡＮ、ＷｉＭＡＸ等の無線通信網を利用してインターネット上に存在するサーバに情報を一時的に蓄えておき、障害発生箇所特定用端末４が該サーバから情報を取得するようにしてもよい。
【００７２】
また、メッセージＩＤ、ＭＳ−ＩＤ及びエラー情報のデータ形式としては、カンマで区切って並べたデータ形式である「Comma Separated Values（CSV）」、タブで区切って並べたデータ形式である「Tab Separated Values（TSV）」、スペースで区切って並べたデータ形式である「Space Separated Values（SSV）」、タグで区切って並べたデータ形式である「Hyper Text Markup Language（HTML）」、さらにはその拡張形式であり論理的なタブを付けることが出来る「eXtensible Markup Language（XML）」などを利用可能である。
【００７３】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
また、図３に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、障害発生箇所診断処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００７４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７５】
１…ＤＧ（依存関係グラフ）推定サーバ、２…ＤＧ管理データベース、３…携帯端末、４…障害発生箇所特定用端末、５…ゲートウェイ網、６…インターネット、７…サーバ、４１４…障害発生箇所特定部、４１５…障害診断結果表示部、４２０…障害診断結果作成部
【図１】
0006031224.tif 000002
【図２】
0006031224.tif 000003
【図３】
0006031224.tif 000004
【図４】
0006031224.tif 000005
【図５】
0006031224.tif 000006
【図６】
0006031224.tif 000007
【図７】
0006031224.tif 000008
【図８】
0006031224.tif 000009
【図９】
0006031224.tif 000010
【図１０】
0006031224.tif 000011