(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.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述した非特許文献１の従来技術では、ＤＧが変化することが考慮されていない。携帯端末では移動したりすることによって、無線通信環境や利用するネットワーク側のサーバプログラムが変わることがある。このため時間と共にＤＧも変化し得るが、上記従来技術ではＤＧの変化に対応することができないので、携帯端末の障害発生箇所の絞り込みが困難であった。
【０００６】
本発明は、このような事情を考慮してなされたもので、時間的なＤＧの変化に対応できるようにすることで、携帯端末の障害発生箇所の診断の精度を向上させることができる、障害発生箇所診断システムおよび障害発生箇所診断方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る依存関係グラフ作成装置は、携帯端末が利用したコンポーネントが出力したネットワークログを保存するネットワークログ保存部と、前記コンポーネントのネットワークログの共起関係に基づいて、前記携帯端末が利用した前記コンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを作成する依存関係グラフ推定処理部と、前記携帯端末に関する前記依存関係グラフを保存する依存関係グラフ保存部と、を備えたことを特徴とする。
【０００８】
本発明に係る依存関係グラフ作成装置において、前記依存関係グラフ保存部は、コンポーネント間の動作の依存関係が同じである依存関係グラフに対して同じ識別子を付与することを特徴とする。
【０００９】
本発明に係る障害発生箇所診断システムは、前述の依存関係グラフ作成装置と、障害発生箇所特定用端末とを備え、前記障害発生箇所特定用端末は、携帯端末の障害発生時点の端末ログに基づいて該障害発生時点の直前の利用時刻を有する当該携帯端末に関する依存関係グラフを前記依存関係グラフ作成装置から取得し、該取得した依存関係グラフに基づいて当該携帯端末の障害発生箇所を調べる、ことを特徴とする。
【００１０】
本発明に係る障害発生箇所診断方法は、携帯端末が利用したコンポーネントが出力したネットワークログを保存するステップと、前記コンポーネントのネットワークログの共起関係に基づいて、前記携帯端末が利用した前記コンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを作成するステップと、前記携帯端末に関する前記依存関係グラフを保存するステップと、前記携帯端末の障害発生時点の端末ログに基づいて、該障害発生時点の直前の利用時刻を有する当該携帯端末に関する依存関係グラフを前記保存された依存関係グラフの中から取得するステップと、該取得した依存関係グラフに基づいて前記携帯端末の障害発生箇所を調べるステップと、を含むことを特徴とする。
【００１１】
本発明に係るコンピュータプログラムは、コンピュータに、携帯端末が利用したコンポーネントが出力したネットワークログを保存するステップと、前記コンポーネントのネットワークログの共起関係に基づいて、前記携帯端末が利用した前記コンポーネント間の動作の依存関係及び当該利用時刻を表す依存関係グラフを作成するステップと、前記携帯端末に関する前記依存関係グラフを保存するステップと、を実行させるためのコンピュータプログラムであることを特徴とする。
これにより、前述の依存関係グラフ作成装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１２】
本発明によれば、時間的なＤＧの変化に対応することができる。これにより、携帯端末の障害発生箇所の診断の精度を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る障害発生箇所診断システムの概略構成図である。
【図２】図１に示すＤＧ推定サーバ１の構成図である。
【図３】図１に示すＤＧ管理データベース２の構成図である。
【図４】図１に示す携帯端末３の構成図である。
【図５】図１に示す障害発生箇所特定用端末４の構成図である。
【図６】本発明の一実施形態に係る障害発生箇所診断方法のシーケンスチャートである。
【図７】本発明の一実施形態に係る障害発生箇所診断方法のシーケンスチャートである。
【図８】本発明の一実施形態に係るＤＧ作成処理の説明図である。
【図９】本発明の一実施形態に係るＤＧ検索処理の説明図である。
【図１０】本発明の一実施形態に係る障害発生箇所診断処理の説明図である。
【図１１】本発明の一実施形態に係るコンポーネント間のログの共起関係を説明する説明図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る障害発生箇所診断システムの概略構成図である。図１において、ＤＧ（依存関係グラフ）推定サーバ１は、携帯端末３が利用したコンポーネントが出力したネットワークログを収集し、該ネットワークログの共起関係に基づいて、当該携帯端末３が利用したコンポーネント間の動作の依存関係及び当該利用時刻を表すＤＧを作成する。ＤＧ管理データベース２は、ＤＧ推定サーバ１が作成したＤＧを保存する。障害発生箇所特定用端末４は、障害が発生した携帯端末３に関するＤＧをＤＧ管理データベース２から取得し、該取得したＤＧに基づいて当該携帯端末３の障害発生箇所を調べる。
【００１５】
携帯端末３は、メール送受信やインターネット６に接続するサーバ７を利用する際に、インターネットサービスプロバイダ（ＩＳＰ）や通信事業者が設けたゲートウェイ網５を介して通信する。ゲートウェイ網５は、携帯端末３に関するネットワークログを全て記録する。ＤＧ推定サーバ１は、ゲートウェイ網５に接続し、ゲートウェイ網５から携帯端末３に関するネットワークログを収集する。又、ＤＧ推定サーバ１は、インターネット６に接続し、サーバ７から携帯端末３に関するネットワークログを収集する。
【００１６】
図２は、図１に示すＤＧ推定サーバ１の構成図である。図２において、制御部１０１は、ＤＧ推定サーバ１内の各部を制御する。制御部１０１は、タイマ部１０２から一定のタイマ時間毎にタイマ割込み命令を受信する。制御部１０１は、タイマ部１０２からタイマ割込み命令を受信すると、ネットワークログ取得指示部１０３へネットワークログ取得要求を送信する。ネットワークログ取得指示部１０３は、制御部１０１からネットワークログ取得要求を受信すると、ネットワーク接続部１０４を介してゲートウェイ網５及びサーバ７にネットワークログ要求を送信する。
【００１７】
ネットワーク接続部１０４は、ゲートウェイ網５及びサーバ７からネットワークログ要求に対する応答データを受信すると、ネットワークログ取得応答受信部１０５に該応答データを送信する。制御部１０１は、ネットワークログ管理部１０６に対して、ネットワークログ取得応答受信部１０５が受信した応答データを保存するように命令する。ネットワークログ管理部１０６は、ネットワークログ取得応答受信部１０５が受信した応答データを、ネットワークログ保存部１０７に保存する。
【００１８】
ゲートウェイ網５からのネットワークログ要求に対する応答データは、ゲートウェイ網５が保存する「携帯端末３に関するネットワークログ」を有する。サーバ７からのネットワークログ要求に対する応答データは、サーバ７が出力した「携帯端末３に関するネットワークログ」を有する。あるコンポーネントが出力した「ある携帯端末３に関するネットワークログ」は、当該コンポーネントと当該携帯端末３内のコンポーネント間の通信の記録を有する。従って、ネットワークログを参照することによって、当該ネットワークログを出力したコンポーネントと、当該携帯端末３内のコンポーネントとの間の動作が依存関係にあることが分かる。
【００１９】
ネットワークログ保存部１０７は、携帯端末３に関するネットワークログ１０９を、コンポーネント識別子（コンポーネントＩＤ）１０８に関連付けて記憶する。コンポーネントＩＤ１０８は、ネットワークログ１０９を出力したコンポーネントを特定する識別情報である。
【００２０】
ＤＧ推定処理部１１０は、ネットワークログ保存部１０７に保存されているネットワークログ１０９を用いて、ＤＧを作成する。ＤＧ推定サーバ１は、作成したＤＧをＤＧ送信部１１１によりＤＧ管理データベース２へ送信する。
【００２１】
ネットワークログ取得要求受信部１１２は、ネットワーク接続部１０４を介して、障害発生箇所特定用端末４からネットワークログ取得要求を受信する。このネットワークログ取得要求は、携帯端末３の障害発生直前にＤＧを構成していたコンポーネントが、該障害発生時に出力したログを要求するものである。ネットワークログ取得要求受信部１１２は、該ネットワークログ取得要求を受信すると、ネットワークログ管理部１０６に対して、該当するネットワークログ１０９を要求する。
【００２２】
ネットワークログ取得応答送信部１１３は、ネットワークログ管理部１０６がネットワークログ取得要求受信部１１２からの要求に応じて検索した結果であるネットワークログ１０９を、ネットワーク接続部１０４を介して障害発生箇所特定用端末４へ送信する。
【００２３】
ここで、図８を参照して、ＤＧ推定処理部１１０がＤＧを作成する処理を説明する。
携帯端末では移動したりすることによって、ＤＧが時間的に変化することがあり得る。このため、本実施形態では、図８に示されるように、定期的に、取得したネットワークログ１０９を用いてＤＧを作成する。図８において、まず時刻ｔ１では、時刻ｔ１に取得された「ある一の携帯端末３（対象携帯端末３）に関するネットワークログ１０９」を用い、時刻ｔ１における対象携帯端末３に関するＤＧ＃１を作成する。このＤＧ＃１では、コンポーネント１とコンポーネント２間の動作、及び、コンポーネント２とコンポーネント３間の動作が共に依存関係にあることが示されている。
【００２４】
次いで、時刻ｔ２では、時刻ｔ２に取得された対象携帯端末３に関するネットワークログ１０９を用い、時刻ｔ２における対象携帯端末３に関するＤＧ＃２を作成する。このＤＧ＃２では、コンポーネント１とコンポーネント２間の動作、及び、コンポーネント２とコンポーネント４間の動作が共に依存関係にあることが示されている。
【００２５】
次いで、時刻ｔ３では、時刻ｔ３に取得された対象携帯端末３に関するネットワークログ１０９を用い、時刻ｔ３における対象携帯端末３に関するＤＧ＃３を作成する。このＤＧ＃３では、コンポーネント１とコンポーネント２間の動作、及び、コンポーネント２とコンポーネント３間の動作が共に依存関係にあることが示されている。
【００２６】
なお、コンポーネントのネットワークログの共起関係に基づいて、どのコンポーネントとどのコンポーネント間の動作が依存関係にあるかを検出することができる。具体的には、同一時刻に取得した対象携帯端末３に関するネットワークログ１０９のうち、同一文字列を含むネットワークログ１０９は、共起関係にあると判断する。例えば、携帯端末３がＶｏＩＰ通信を行った場合、共起関係にある複数のネットワークログ１０９は、文字列「ＳＩＰ」や文字列「Ｃａｌｌ」を含むことが予想される。従って、文字列「ＳＩＰ」や文字列「Ｃａｌｌ」を含むネットワークログ１０９を出力した複数のコンポーネント間の動作は依存関係にあると検出する。
【００２７】
なお、コンポーネント間の動作の依存関係の順番は、一定期間である「時間窓」を用いて判断する。時間窓は、あるコンポーネントからログが出力されてから、そのログと共起するログが存在するか否かを判断するための時間帯である。図１１を参照して、コンポーネント間の動作の依存関係の順番を判断する方法を説明する。
（１）まず、コンポーネント１からログが出力される。このログは文字列「ＳＩＰ」、「Ｃａｌｌ」を有する。
（２）次いで、コンポーネント１のログ出力時点から時間窓内で、コンポーネント２からログが出力される。このコンポーネント２のログは、コンポーネント１のログと同じ文字列「ＳＩＰ」、「Ｃａｌｌ」を有する。これにより、コンポーネント１のログとコンポーネント２のログ間に共起関係があると判断し、コンポーネント１とコンポーネント２間に依存関係があると判断する。
（３）次いで、コンポーネント２のログ出力時点から時間窓内で、コンポーネント３からログが出力される。このコンポーネント３のログがコンポーネント２のログと同じ文字列「ＳＩＰ」、「Ｃａｌｌ」を有する場合には、コンポーネント２のログとコンポーネント３のログ間に共起関係があると判断し、コンポーネント２とコンポーネント３間に依存関係があると判断する。
（４）コンポーネント２のログとコンポーネント３のログ間に共起関係がある場合において、コンポーネント３のログ出力時点から時間窓内で、他のコンポーネントからログが出力されなかったときには、コンポーネント間のログの共起が終了したと判断する。これにより、当該ＤＧは、コンポーネント１とコンポーネント２間の動作に依存関係があり、次いでコンポーネント２とコンポーネント３間の動作に依存関係にあるという、依存関係の順番「コンポーネント１→コンポーネント２→コンポーネント３」を有するものとなる。
【００２８】
図３は、図１に示すＤＧ管理データベース２の構成図である。図３において、制御部２０１は、ＤＧ管理データベース２内の各部を制御する。ＤＧ受信部２０２は、ネットワーク接続部２０３を介して、ＤＧ推定サーバ１からＤＧを受信する。制御部２０１は、ＤＧ管理部２０４に対して、ＤＧ受信部２０２が受信したＤＧを保存するように命令する。ＤＧ管理部２０４は、ＤＧ受信部２０２が受信したＤＧをＤＧ保存部２０５に保存する。
【００２９】
ＤＧ保存部２０５は、各ＤＧ２０７に対して、コンポーネント間の動作の依存関係が同じであるＤＧに対して同じＤＧ識別子（ＤＧ−ＩＤ）２０６を付与する。図８において、時刻ｔ１に作成されたＤＧ＃１と時刻ｔ３に作成されたＤＧ＃３とは、コンポーネント１，２，３間の動作の依存関係が同じである。これにより、ＤＧ保存部２０５は、ＤＧ＃１とＤＧ＃３に対して、同じＤＧ−ＩＤ（パターンＰ１）を付与する。一方、ＤＧ保存部２０５は、時刻ｔ２に作成されたＤＧ＃２に対しては、ＤＧ＃１，＃３とは異なるＤＧ−ＩＤ（パターンＰ２）を付与する。
【００３０】
又、ＤＧ保存部２０５は、各ＤＧ２０７に対して、どの携帯端末３に関するＤＧであるのかを識別するために、携帯端末の識別子（ＭＳ−ＩＤ）２０８を付与する。
【００３１】
ＤＧ取得要求受信部２０９は、ネットワーク接続部２０３を介して、障害発生箇所特定用端末４からＤＧ取得要求を受信する。制御部２０１は、ＤＧ取得要求受信部２０９が受信したＤＧ取得要求をＤＧ管理部２０４へ送って、ＤＧを検索するように命令する。
【００３２】
ＤＧ取得要求は、障害が発生した携帯端末３の障害発生直前の端末ログを有する。ＤＧ管理部２０４は、ＤＧ取得要求に含まれる端末ログの時刻と、端末ログに含まれる文字列とを用いて、ＤＧ保存部２０５から、ＤＧ２０７を検索する。この検索条件は、障害が発生した携帯端末３のＭＳ−ＩＤ２０８を有するＤＧ２０７のうち、当該携帯端末３の障害発生直前に作成され、且つ、当該携帯端末３の端末ログに含まれる文字列を含むものである。図９の例では、障害が発生した携帯端末３の障害発生直前の端末ログが有する文字列「INVITE sip:bob@server001.comSIP/2.0」を検索キーにして、ＤＧ保存部２０５内のＤＧ２０７を検索している。
【００３３】
ＤＧ取得応答送信部２１０は、障害発生箇所特定用端末４からのＤＧ取得要求に対する応答として、ＤＧ管理部２０４が検索した結果のＤＧ２０７を送信する。
【００３４】
図４は、図１に示す携帯端末３の構成図である。図４において、制御部３０１は、携帯端末３内の各部を制御する。制御部３０１は、障害発生箇所特定用情報収集部３０２に対して、障害発生箇所特定用情報を収集するように命令する。障害発生箇所特定用情報収集部３０２は、携帯端末３内の各コンポーネントの動作を表すログを収集する。図４の例では、携帯端末３内のコンポーネントとして、アプリプログラム実行部３０３−１〜３、アプリプログラム３０４−１〜３、ネットワーク接続部３０５−１〜３、及びデータ変換部３０６−１〜３がある。障害発生箇所特定用情報収集部３０２は、収集したログを障害発生箇所特定用情報保存部３０７に、障害発生箇所特定用情報３０８として保存する。
【００３５】
ＵＳＢ接続検知部３１０は、障害発生箇所特定用端末４がＵＳＢケーブルでＵＳＢ接続部３０９に接続されたことを検知して制御部３０１に通知する。障害発生箇所特定用情報取得要求受信部３１１は、障害発生箇所特定用端末４から障害発生箇所特定用情報取得要求を受信して制御部３０１に通知する。制御部３０１は、障害発生箇所特定用端末４からの障害発生箇所特定用情報取得要求に応じて、障害発生箇所特定用情報保存部３０７から障害発生箇所特定用情報３０８を取得する。制御部３０１は、取得した障害発生箇所特定用情報３０８を障害発生箇所特定用情報取得応答送信部３１２により障害発生箇所特定用端末４へ送信する。障害発生箇所特定用情報３０８は、当該携帯端末３のＭＳ−ＩＤ及びログ（端末ログ）を有する。
【００３６】
図５は、図１に示す障害発生箇所特定用端末４の構成図である。図５において、制御部４０１は、障害発生箇所特定用端末４内の各部を制御する。ＵＳＢ接続検知部４０３は、携帯端末３（障害携帯端末３）がＵＳＢケーブルでＵＳＢ接続部４０２に接続されたことを検知して制御部４０１に通知する。これにより、制御部４０１は、障害発生箇所特定用情報取得要求送信部４０４に対して、障害携帯端末３から障害発生箇所特定用情報を取得するように命令する。
【００３７】
障害発生箇所特定用情報取得要求送信部４０４は、制御部４０１からの命令に従って、ＵＳＢ接続部４０２を介して障害携帯端末３に障害発生箇所特定用情報取得要求を送信する。障害発生箇所特定用情報取得応答受信部４０５は、ＵＳＢ接続部４０２を介して障害携帯端末３から障害発生箇所特定用情報を受信する。障害発生箇所特定用情報保存部４０６は、障害発生箇所特定用情報取得応答受信部４０５が障害携帯端末３から受信した障害発生箇所特定用情報４０８を、障害携帯端末３のＭＳ−ＩＤ４０７に関連付けて記憶する。
【００３８】
制御部４０１は、ＤＧ取得要求送信部４０９に対して、障害携帯端末３に関するＤＧを取得するように命令する。ＤＧ取得要求送信部４０９は、制御部４０１からの命令に従って、ネットワーク接続部４１０を介してＤＧ取得要求をＤＧ管理データベース２へ送信する。ＤＧ取得要求は、障害携帯端末３のＭＳ−ＩＤ４０７、及びＭＳ−ＩＤ４０７に関連付けて障害発生箇所特定用情報保存部４０６に記憶されている障害発生箇所特定用情報４０８（端末ログ）を有する。
【００３９】
ＤＧ取得応答受信部４１１は、ネットワーク接続部４１０を介して、ＤＧ管理データベース２から、障害携帯端末３に関する障害発生直前のＤＧを受信する。ＤＧ保存部４１２は、ＤＧ取得応答受信部４１１が受信した障害携帯端末３に関する障害発生直前のＤＧ４１３を記憶する。
【００４０】
障害発生箇所特定部４１４は、ＤＧ保存部４１２内の障害携帯端末３に関する障害発生直前のＤＧ４１３と、障害発生箇所特定用情報保存部４０６内の障害携帯端末３に関する障害発生箇所特定用情報４０８とを用いて、障害携帯端末３の障害発生箇所を調べる。障害診断結果表示部４１５は、障害発生箇所特定部４１４の診断結果（障害携帯端末３の障害発生箇所の調査結果等）を画面上に表示する。
【００４１】
ここで、図１０を参照して、障害発生箇所特定部４１４が障害携帯端末３の障害発生箇所を調べる処理を説明する。
図１０において、障害携帯端末３に関する障害発生直前のＤＧは、ＤＧ管理データベース２から取得される。障害発生箇所特定部４１４は、障害携帯端末３に関する障害発生直前のＤＧと、障害携帯端末３に関する障害発生箇所特定用情報（端末ログ）と、ＤＧに含まれるネットワーク側のコンポーネントが障害発生時に出力したネットワークログとを用いて、障害携帯端末３の障害発生箇所を絞り込む。具体的には、端末ログとネットワークログにおいて、障害発生直前のＤＧに含まれるコンポーネントからのログが、障害発生時に存在するか否かを調べ、ログが存在するコンポーネントとログが存在しないコンポーネントとの境界を検出する。
【００４２】
図１０の例では、障害発生直前のＤＧは、コンポーネント１とコンポーネント２間の動作、及び、コンポーネント２とコンポーネント４間の動作が共に依存関係にあることを示す。そして、端末ログには、コンポーネント１のログとコンポーネント２のログとは存在するが、コンポーネント４のログは存在しない。従って、コンポーネント２とコンポーネント４間で何らかの障害が発生したと判定することができる。
【００４３】
例えば、携帯端末３がＶｏＩＰ通信を行っている途中で障害が発生した場合に、端末ログには、携帯端末３内のＶｏＩＰ通信アプリプログラム実行部（コンポーネント１）のログ「VoIP App Start」、及び、携帯電話ネットワーク接続部（コンポーネント２）のログ「CDMA isActivity:false」が含まれているが、ネットワーク側のＳＩＰサーバ（コンポーネント４）のログは含まれていなかったとする。この場合、携帯端末３ではアプリケーションが正常に動作しているが、携帯電話ネットワーク用のアンテナの先のどこかで障害が発生したと判定することができる。
【００４４】
図６、図７は、本実施形態に係る障害発生箇所診断方法のシーケンスチャートである。まず、図６を参照して、ＤＧを作成する手順を説明する。
【００４５】
ステップＳ１−１：利用者が携帯端末３を用いてインターネットを利用する。例えば、メールを送受信したり、ブラウジングしたり、携帯端末３内のアプリケーションがインターネットに接続したりする。
【００４６】
ステップＳ１−２：ゲートウェイ網５は、携帯端末３がインターネットを利用した際に各コンポーネントが出力するネットワークログを収集して保持する。
【００４７】
ステップＳ１−３：ＤＧ推定サーバ１は、定期的に、ゲートウェイ網５及びインターネット上のサーバ７に対して、ネットワークログを取得するための要求を送信する。
【００４８】
ステップＳ１−４：ゲートウェイ網５及びインターネット上のサーバ７は、ＤＧ推定サーバ１からのネットワークログ取得要求に応じて、ネットワークログをＤＧ推定サーバ１へ送信する。
【００４９】
ステップＳ１−５：ＤＧ推定サーバ１は、取得したネットワークログを用いてＤＧを作成する。
【００５０】
ステップＳ１−６：ＤＧ推定サーバ１は、作成したＤＧをＤＧ管理データベース２へ送信する。
【００５１】
ステップＳ１−７：ＤＧ管理データベース２は、ＤＧ推定サーバ１から受信したＤＧを保存する。
【００５２】
ステップＳ１−８：携帯端末３は、定期的に、障害発生箇所特定用情報を収集する。例えば、ＶｏＩＰ通信を行っている場合には、ＶｏＩＰ通信アプリプログラム実行部のログ（例えば、文字列「INVITE sip:bob@server001.com SIP/2.0」）を収集する。
【００５３】
次に、図７を参照して、障害が発生した携帯端末３の障害発生箇所を調べる手順を説明する。
【００５４】
ステップＳ２−１：利用者は、障害が発生した携帯端末３を販売店に持ち込む。
【００５５】
ステップＳ２−２：販売店の店員は、携帯端末３をＵＳＢケーブルで障害発生箇所特定用端末４に接続する。
【００５６】
ステップＳ２−３：障害発生箇所特定用端末４は、携帯端末３がＵＳＢ接続されたことを検出すると、該携帯端末３に対して障害発生箇所特定用情報取得要求を送信する。
【００５７】
ステップＳ２−４：携帯端末３は、障害発生箇所特定用情報取得要求を受信すると、自身の携帯端末ＩＤ（ＭＳ−ＩＤ）と障害発生箇所特定用情報を障害発生箇所特定用端末４へ送信する。
【００５８】
ステップＳ２−５：障害発生箇所特定用端末４は、携帯端末３が障害を発生する直前の障害発生箇所特定用情報から、エラーログを出力したコンポーネントに関する文字列を抽出する。
【００５９】
ステップＳ２−６：障害発生箇所特定用端末４は、ＤＧ取得要求をＤＧ管理データベース２へ送信する。ＤＧ取得要求は、携帯端末３のＭＳ−ＩＤとステップＳ２−５で抽出した文字列と障害発生時刻を示す情報（例えば、携帯端末３が障害を発生する直前の端末ログの時刻）とを有する。
【００６０】
ステップＳ２−７：ＤＧ管理データベース２は、ＤＧ取得要求に含まれるＭＳ−ＩＤ、文字列および障害発生時刻を示す情報を用いて、自身が有するＤＧの中から、障害発生直前に作成され、且つ、該ＭＳ−ＩＤに関するＤＧであって該文字列を有するＤＧを検索する。
【００６１】
ステップＳ２−８：ＤＧ管理データベース２は、ステップＳ２−７の検索結果であるＤＧを障害発生箇所特定用端末４へ送信する。
【００６２】
ステップＳ２−９：障害発生箇所特定用端末４は、ＤＧ管理データベース２から受信したＤＧに含まれるネットワーク側のコンポーネントが障害発生時に出力したネットワークログを取得するために、ＤＧ推定サーバ１へネットワークログ取得要求を送信する。
【００６３】
ステップＳ２−１０：ＤＧ推定サーバ１は、障害発生箇所特定用端末４からのネットワークログ取得要求に応じて該当するネットワークログを検索し、検索結果であるネットワークログを障害発生箇所特定用端末４に送信する。この検索結果のネットワークログは、ステップＳ２−７の検索結果であるＤＧに含まれるネットワーク側のコンポーネントが障害発生時に出力したネットワークログである。
【００６４】
ステップＳ２−１１：障害発生箇所特定用端末４は、ＤＧ管理データベース２から受信した障害発生直前のＤＧと、携帯端末３から受信した障害発生箇所特定用情報（障害発生時の端末ログ）と、ＤＧ推定サーバ１から受信した障害発生時のネットワークログとを用いて、障害携帯端末３の障害発生箇所を調べる。
【００６５】
ステップＳ２−１２：障害発生箇所特定用端末４は、ステップＳ２−１１の調査結果である障害発生箇所を画面上に表示する。これにより、店員は、その表示内容に基づいて、携帯端末３の障害発生箇所を判断することができる。
【００６６】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
また、図６、図７に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、障害発生箇所診断処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６７】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００６８】
１…ＤＧ（依存関係グラフ）推定サーバ、２…ＤＧ管理データベース、３…携帯端末、４…障害発生箇所特定用端末、５…ゲートウェイ網、６…インターネット、７…サーバ、１０７…ネットワークログ保存部、１１０…ＤＧ推定処理部、２０５…ＤＧ保存部、４１４…障害発生箇所特定部
【図１】
0005707263.tif 000002
【図２】
0005707263.tif 000003
【図３】
0005707263.tif 000004
【図４】
0005707263.tif 000005
【図５】
0005707263.tif 000006
【図６】
0005707263.tif 000007
【図７】
0005707263.tif 000008
【図８】
0005707263.tif 000009
【図９】
0005707263.tif 000010
【図１０】
0005707263.tif 000011
【図１１】
0005707263.tif 000012