(57)【要約】      （修正有）【課題】正常な処理に紐づくＩＤがログに含まれていない場合であってもワークフローを生成する生成装置、生成方法、及び生成プログラムを提供する。【解決手段】生成装置１は、通信ネットワークＮを構成する複数の通信機器が生成したログを取得するログ取得部と、ログの生成時間に基づいて複数の処理に対応する複数のログの出現順序の頻度を特定する第１特定部と、特定された出現頻度が第１頻度以上の出現順序に対応するログを特定する第２特定部と、特定されたログ同士の出現順序のうち、特定された出現頻度が第１頻度よりも小さい第２頻度以上の出現順序を特定する第３特定部と、第３特定部によって特定された出現順序に基づいて、所定処理が正常に完了したときの当該所定処理に対応するログの出現順序を示すワークフローを生成する生成部を備える。【選択図】図１
2018148441.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部と、
前記ログの生成時間に基づいて、複数の前記ログの出現順序の出現頻度を特定する第１特定部と、
特定された前記出現頻度が第１頻度以上の出現順序に対応するログを特定する第２特定部と、
特定されたログ同士の出現順序のうち、特定された前記出現頻度が前記第１頻度よりも小さい第２頻度以上の出現順序を特定する第３特定部と、
前記第３特定部によって特定された出現順序に基づいて、前記所定処理が正常に完了したときの当該所定処理に対応するログの出現順序を示すワークフローを生成する生成部と、
を備える生成装置。
【請求項２】
前記第１特定部は、同一の処理内容を示すログごとに、当該ログの後に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの後に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定する、
請求項１に記載の生成装置。
【請求項３】
前記第１特定部は、同一の処理内容を示すログごとに、当該ログの前に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの前に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定する、
請求項１又は２に記載の生成装置。
【請求項４】
前記第３特定部は、前記第２頻度以上の出現順序の数が、前記第１頻度以上の出現順序の数によって定められる所定数以上となるまで第２頻度を下げることにより、前記第２頻度以上の出現順序を特定する、
請求項１から３のいずれか１項に記載の生成装置。
【請求項５】
前記第３特定部は、前記第１頻度に基づいて前記第２頻度を設定し、第２特定部において特定されたログ同士の出現頻度のうち、当該第２頻度以上の出現順序を特定する、
請求項１から３のいずれか１項に記載の生成装置。
【請求項６】
前記第３特定部は、前記第１頻度に基づいて特定された出現順序に対応する出現頻度に基づいて前記第２頻度を設定する、
請求項５に記載の生成装置。
【請求項７】
前記第１特定部は、同一の処理内容を示すログごとに、当該ログの生成時間から所定範囲内の時間に生成された、当該ログの前後のいずれかに出力された付随ログを、前記付随ログの処理内容ごとに集計する、
請求項１から６のいずれか１項に記載の生成装置。
【請求項８】
前記第１特定部は、前記ログ取得部が取得した複数のログのそれぞれから、ログの生成タイミングに応じて変化する情報を除去することにより、前記ログの処理内容を示す情報を特定する、
請求項１から７のいずれか１項に記載の生成装置。
【請求項９】
前記第１特定部は、前記ログに含まれる文字列の類似度を算出し、当該類似度が所定値以上のログを同一の処理内容のログとする、
請求項１から８のいずれか１項に記載の生成装置。
【請求項１０】
前記生成部は、特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを１以上生成する、
請求項１から９のいずれか１項に記載の生成装置。
【請求項１１】
コンピュータが実行する、
通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するステップと、
前記ログの生成時間に基づいて、複数の前記ログの出現順序の出現頻度を特定するステップと、
特定された前記出現頻度が第１頻度以上の出現順序に対応するログを特定するステップと、
特定されたログ同士の出現順序のうち、特定された前記出現頻度が前記第１頻度よりも小さい第２頻度以上の出現順序を特定するステップと、
前記第２頻度以上の出現順序を特定するステップによって特定された出現順序に基づいて、前記所定処理が正常に完了したときのログの出現順序を示すワークフローを生成するステップと、
を備える生成方法。
【請求項１２】
コンピュータを、
通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部、
前記ログの生成時間に基づいて、複数の前記ログの出現順序の出現頻度を特定する第１特定部、
特定された前記出現頻度が第１頻度以上の出現順序に対応するログを特定する第２特定部、
特定されたログ同士の出現順序のうち、特定された前記出現頻度が前記第１頻度よりも小さい第２頻度以上の出現順序を特定する第３特定部、及び、
前記第３特定部によって特定された出現順序に基づいて、前記所定処理が正常に完了したときのログの出現順序を示すワークフローを生成する生成部、
として機能させる生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローを生成する生成装置、生成方法、及び生成プログラムに関する。
【背景技術】
【０００２】
従来、通信ネットワークに係るログに基づいて、正常な処理に対応して複数の通信機器が出力するログの出力順序を示すワークフローを作成することが行われている。例えば、非特許文献１には、正常な処理に紐づくＩＤが複数のログに含まれていることを前提とし、正常な処理によって生成されるログに基づいて、システムの通常の実行動作を表すワークフローを生成する方法が開示されている。このように、正常な処理に対応するログのワークフローを作成し、当該ワークフローに示す順序でログが出力されたか否かをモニタリングすることにより、通信ネットワーク上で異常が発生したことを早期に検出することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Qiang Fu， Jian-Guang Lou, Yi Wang, Jiang Li, “Execution Anomaly Detection in Distributed Systems through Unstructured Log Analysis” ［online］、平成21年12月9日、Microsoft（登録商標）、［平成28年9月15日検索］、インターネット〈URL：https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/DM790-CR.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に示す方法では、正常な処理に紐づくＩＤがログに含まれていない場合、ワークフローを生成することができないという問題がある。このような問題に対して、正常な処理に対応するログを手動で特定し、手動でワークフローを作成することが考えられる。しかしながら、通信機器が出力する複数のログには、正常な処理に対応するログと、定常的に行われる処理等に対応するログとが混在しているため、正常な処理に対応するログのみを手動で抽出することが困難であるという問題がある。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、正常な処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができる生成装置、生成方法、及び生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る生成装置は、通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部と、前記ログの生成時間に基づいて、複数の前記ログの出現順序の出現頻度を特定する第１特定部と、特定された前記出現頻度が第１頻度以上の出現順序に対応するログを特定する第２特定部と、特定されたログ同士の出現順序のうち、特定された前記出現頻度が前記第１頻度よりも小さい第２頻度以上の出現順序を特定する第３特定部と、前記第３特定部によって特定された出現順序に基づいて、前記所定処理が正常に完了したときの当該所定処理に対応するログの出現順序を示すワークフローを生成する生成部と、を備える。
【０００７】
前記第１特定部は、同一の処理内容を示すログごとに、当該ログの後に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの後に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定してもよい。
【０００８】
前記第１特定部は、同一の処理内容を示すログごとに、当該ログの前に出力された付随ログを、前記付随ログの処理内容ごとに集計し、当該ログの前に出現する前記付随ログの出現確率を前記付随ログの処理内容ごとに算出することにより、前記出現順序の頻度を特定してもよい。
【０００９】
前記第３特定部は、前記第２頻度以上の出現順序の数が、前記第１頻度以上の出現順序の数によって定められる所定数以上となるまで第２頻度を下げることにより、前記第２頻度以上の出現順序を特定してもよい。
【００１０】
前記第３特定部は、前記第１頻度に基づいて前記第２頻度を設定し、第２特定部において特定されたログ同士の出現頻度のうち、当該第２頻度以上の出現順序を特定してもよい。
前記第３特定部は、前記第１頻度に基づいて特定された出現順序に対応する出現頻度に基づいて前記第２頻度を設定してもよい。
【００１１】
前記第１特定部は、同一の処理内容を示すログごとに、当該ログの生成時間から所定範囲内の時間に生成された、当該ログの前後のいずれかに出力された付随ログを、前記付随ログの処理内容ごとに集計してもよい。
前記第１特定部は、前記ログ取得部が取得した複数のログのそれぞれから、ログの生成タイミングに応じて変化する情報を除去することにより、前記ログの処理内容を示す情報を特定してもよい。
【００１２】
前記第１特定部は、前記ログに含まれる文字列の類似度を算出し、当該類似度が所定値以上のログを同一の処理内容のログとしてもよい。
前記生成部は、特定された前記出現順序の頻度に基づいて、前記所定処理が正常に完了したときの前記ログの出現順序を示すワークフローを１以上生成してもよい。
【００１３】
本発明の第２の態様に係る生成方法は、コンピュータが実行する、通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するステップと、前記ログの生成時間に基づいて、複数の前記ログの出現順序の出現頻度を特定するステップと、特定された前記出現頻度が第１頻度以上の出現順序に対応するログを特定するステップと、特定されたログ同士の出現順序のうち、特定された前記出現頻度が前記第１頻度よりも小さい第２頻度以上の出現順序を特定するステップと、前記第２頻度以上の出現順序を特定するステップによって特定された出現順序に基づいて、前記所定処理が正常に完了したときのログの出現順序を示すワークフローを生成するステップと、を備える。
【００１４】
本発明の第３の態様に係る生成プログラムは、コンピュータを、通信ネットワークを利用する所定処理が複数回正常に完了した場合に、前記通信ネットワークを構成する複数の通信機器のそれぞれが生成したログを取得するログ取得部、前記ログの生成時間に基づいて、複数の前記ログの出現順序の出現頻度を特定する第１特定部、特定された前記出現頻度が第１頻度以上の出現順序に対応するログを特定する第２特定部、特定されたログ同士の出現順序のうち、特定された前記出現頻度が前記第１頻度よりも小さい第２頻度以上の出現順序を特定する第３特定部、及び、前記第３特定部によって特定された出現順序に基づいて、前記所定処理が正常に完了したときのログの出現順序を示すワークフローを生成する生成部、として機能させる。
【発明の効果】
【００１５】
本発明によれば、正常な処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る生成装置の概要を示す図である。
【図２】本実施形態に係る生成装置の構成を示す図である。
【図３】本実施形態に係る特定部が複数のログを分類する例を示す図である。
【図４】本実施形態に係る選択されたログに付随ログを関連付けた例を示す図である。
【図５】本実施形態に係る付随ログのそれぞれの出現確率の算出例を示す図である。
【図６】本実施形態に係る有向グラフの例を示す図である。
【図７】本実施形態に係るワークフローの生成に係る生成装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
［生成装置１の概要］
図１は、本実施形態に係る生成装置１の概要を示す図である。生成装置１は、通信ネットワークＮを利用する所定処理を実行したときの、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログの出現順序を示すワークフローを生成するコンピュータである。ここで、通信ネットワークＮは、例えば、通信事業者が構築したネットワークであり、基地局や中継器等の複数の通信機器４によって構成されているものとする。ここで、複数の通信機器４のそれぞれは時計を備えており、当該時計は同期しているものとする。
【００１８】
生成装置１においてワークフローを生成するにあたり、まず、生成装置１のユーザは、端末等の所定装置２において、所定処理を複数回実行させる（図１の（１））。所定処理は、例えば、所定装置２とサーバ３との間で実行される、通信ネットワークＮを利用する処理であり、例えば、仮想サーバの構築処理である。
【００１９】
生成装置１は、複数回実行された所定処理が正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４が生成したログを取得する（図１の（２））。取得したログには、所定処理に対応するログや、所定処理とは関係のないログが含まれる。
【００２０】
生成装置１は、取得したログが生成された時間を示す生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の出現頻度を特定する（図１の（３））。生成装置１は、特定した出現順序の出現頻度に基づいて、所定処理が正常に完了したときの、所定処理に対応するログを特定する（図１の（４））。生成装置１は、特定したログ同士の出現順序の出現頻度に基づいて、所定処理に対応するログの出現順序を示すワークフローを生成する（図１の（５））。
【００２１】
このように、生成装置１は、同一の処理内容を示すログごとの出現順序の出現頻度に基づいて、所定処理に対応するログを特定し、特定したログ同士の出現順序の出現頻度に基づいてワークフローを生成するので、正常な処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができる。
以下、生成装置１の構成について説明する。
【００２２】
［生成装置１の構成例］
図２は、本実施形態に係る生成装置１の構成を示す図である。
生成装置１は、記憶部１１と、制御部１２とを備える。
【００２３】
記憶部１１は、例えば、ＲＯＭ及びＲＡＭ等である。記憶部１１は、生成装置１を機能させるための各種プログラムを記憶する。例えば、記憶部１１は、生成装置１の制御部１２を、後述するログ取得部１２１、第１特定部１２２、第２特定部１２３、第３特定部１２４、生成部１２５、及び出力部１２６として機能させるワークフロー生成プログラムを記憶する。また、記憶部１１は、複数の通信機器４が生成したログを記憶する。
【００２４】
制御部１２は、例えばＣＰＵである。制御部１２は、記憶部１１に記憶されている各種プログラムを実行することにより、生成装置１に係る機能を制御する。制御部１２は、ワークフロー生成プログラムを実行することにより、ログ取得部１２１、第１特定部１２２、第２特定部１２３、第３特定部１２４、生成部１２５、及び出力部１２６として機能する。
【００２５】
ログ取得部１２１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログを取得する。具体的には、ログ取得部１２１は、所定装置２において所定処理を複数回実行させて当該所定処理が正常に完了した場合に、複数の通信機器４のそれぞれにアクセスし、複数の通信機器４のそれぞれが生成したログを取得する。ログ取得部１２１は、取得したログを記憶部１１に記憶させる。ここで、ログには、ログの生成時刻等の、ログの生成タイミングに応じて変化する情報や、処理内容を示す情報が含まれているものとする。
【００２６】
なお、本実施形態では、ログ取得部１２１が、複数の通信機器４のそれぞれにアクセスし、複数の通信機器４のそれぞれが生成したログを取得したが、これに限らない。複数の通信機器４のそれぞれが生成装置１にアクセスし、生成装置１の記憶部１１にログを記憶させるようにしてもよい。
【００２７】
また、所定装置２において実行される所定処理に応じて動作する複数の通信機器４を特定しておき、ログ取得部１２１が、特定された複数の通信機器４において生成されたログを取得するようにしてもよい。このようにすることで、生成装置１は、所定処理と明らかに関係がないログを取得しないようにして、生成装置１の処理負荷を軽減することができる。
【００２８】
また、通信ネットワークＮをインターネット等と接続しないローカルネットワークとしておき、ログ取得部１２１は、ローカルネットワークにおいて複数の通信機器４のそれぞれが生成したログを取得してもよい。このようにすることで、通信機器４は、インターネット等を介して接続される外部機器との通信を行わないので、生成装置１は、当該通信に係るログを取得しないようにすることができる。
【００２９】
第１特定部１２２は、ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の出現頻度を特定する。これにより、第１特定部１２２は、相対的に出現順序の出現頻度が高いログの順序、すなわち、所定処理が実行されたことに応じて出力されるログの順序を特定することができる。
【００３０】
まず、第１特定部１２２は、ログ取得部１２１が取得した複数のログのそれぞれから処理内容を示す情報を特定する。具体的には、第１特定部１２２は、ログ取得部１２１が取得した複数のログのそれぞれから、ログの生成タイミングに応じて変化する情報を除去することにより、複数のログのそれぞれの処理内容を示す情報を特定する。続いて、第１特定部１２２は、処理内容を示す情報に基づいてログを分類する。
【００３１】
図３は、本実施形態に係る第１特定部１２２が複数のログを分類する例を示す図である。例えば、所定処理を５回実行し、図３に示すようにログを取得したとする。例えば、ログ「Ｈ１」を構成する文字列と、ログ「Ｈ２」を構成する文字列とは、ログの生成タイミングに応じて変化する情報と、処理内容を示す情報とを少なくとも含んでおり、ログ「Ｈ１」とログ「Ｈ２」とは完全一致していない。これに対して、第１特定部１２２は、ログから、ログの生成タイミングに応じて変化する情報を除去し、その後、ログ「Ｈ１」とログ「Ｈ２」との双方に共通している文字列を、処理内容を示す情報と特定する。そして、第１特定部１２２は、ログ「Ｈ１」とログ「Ｈ２」とを、ログ「Ｈ」と分類する。
【００３２】
なお、第１特定部１２２は、複数のログのそれぞれについて、ログの生成タイミングに応じて変化する情報を除去して、処理内容を示す情報を特定したが、これに限らない。例えば、第１特定部１２２は、ログに含まれる文字列の類似度を算出し、類似度が所定値以上のログを同一の処理内容のログに分類してもよい。このようにすることで、第１特定部１２２は、類似度が高いログを同じ処理内容のログに分類することができる。
【００３３】
続いて、第１特定部１２２は、ログの生成時間と処理内容を示す情報とに基づいて、同一の処理内容を示すログ（分類後のログ）ごとに、当該ログの前に出力された付随ログを、付随ログの処理内容ごとに集計する。同様に、第１特定部１２２は、同一の処理内容を示すログごとに、当該ログの後に出力された付随ログを、付随ログの処理内容ごとに集計する。ここで、第１特定部１２２は、同一の処理内容を示すログごとに、当該ログの直前又は直後に生成された付随ログを集計対象とする。
【００３４】
例えば、第１特定部１２２は、複数のログのうち、未選択のログであって、生成時間が最も古いログを選択する。第１特定部１２２は、選択されたログの直前に生成されたログと、直後に生成されたログとを付随ログとして特定し、選択されたログに関連付ける。図４は、本実施形態に係る選択されたログに付随ログを関連付けた例を示す図である。図４に示す例では、ログ「Ａ」に、直前に生成された付随ログとしてログ「Ｆ」とログ「Ｇ」とが関連付けられていることが確認できる。また、図４に示す例では、ログＡに、直後に生成された付随ログとしてログ「Ｂ」とログ「Ｇ」とが関連付けられていることが確認できる。
【００３５】
第１特定部１２２は、選択されたログに対して付随ログを関連付けた後、複数のログのうち、未選択のログであって、生成時間が最も古いログを選択する。そして、第１特定部１２２は、同様の処理を繰り返し、全てのログに対して付随ログを関連付ける。その後、第１特定部１２２は、同一の処理内容を示すログの前後に出現する付随ログを、付随ログの処理内容ごとに集計する。
【００３６】
なお、第１特定部１２２は、同一の処理内容を示すログ（選択されたログ）ごとに、当該ログの生成時間から所定範囲内に生成されたログを付随ログとし、当該付随ログを、付随ログの処理内容ごとに集計するようにしてもよい。同一の処理内容を示すログの生成時間から所定範囲内に生成されていないログは、同一の処理内容を示すログとは関係のないログである可能性が高い。よって、第１特定部１２２は、所定範囲内に生成されていないログを、付随ログとはみなさずに、集計対象から除外することができる。
【００３７】
続いて、第１特定部１２２は、同一の処理内容を示すログの前後に出現する付随ログの出現確率を付随ログの処理内容ごとに算出することにより、出現順序の出現頻度を特定する。例えば、第１特定部１２２は、図４に示す付随ログの関連付けの結果に基づいて、同一の処理内容を示すログの直前に出現する付随ログ、及び同一の処理内容を示すログの直後に出現する付随ログのそれぞれの出現確率を算出する。図５は、図３に示すログを取得したときの付随ログのそれぞれの出現確率を示す図である。図５に示す例では、ログ「Ａ」の直後にログ「Ｂ」が６０％の確率で出現し、ログ「Ｇ」が４０％の確率で出現していることが確認できる。なお、図５の付随ログ「−」は、直前又は直後にログを取得しなかったことを示している。
【００３８】
第２特定部１２３は、特定された出現頻度が第１頻度以上の出現順序に対応するログを特定する。例えば、第２特定部１２３は、図５に示す付随ログごとの出現確率に基づいて、第１閾値（第１頻度）よりも高い出現確率を示すログの出現順序を特定する。例えば、第１閾値を６０％と設定すると、第２特定部１２３は、図５に示す例において、ログの出現順序として、ログ「Ａ」から「Ｂ」、「Ｂ」から「Ｃ」、「Ｃ」から「Ｅ」、「Ｅ」から「Ｄ」というログの出現順序を特定する。そして、第２特定部１２３は、出現確率が第１閾値以上の出現順序に対応するログとして、ログ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、及び「Ｅ」を特定する。
【００３９】
所定処理の実行回数を増やせば増やすほど、当該所定処理に対応するログ同士の出現頻度が大きくなる。これに対して、第２特定部１２３は、第１頻度を大きく設定することにより、所定処理に対応するログのみからなる出現順序を精度良く特定することができる。
【００４０】
ここで、第２特定部１２３は、付随ログの出現確率に基づいて第１閾値を設定してもよい。例えば、第２特定部１２３は、出現確率が最も高い相対的に高い所定割合の出現確率を特定し、当該出現確率に比べて所定割合低い出現確率を設定してもよい。
【００４１】
続いて、第３特定部１２４は、第２特定部１２３によって特定されたログ同士の出現順序のうち、特定された出現頻度が第１頻度よりも小さい第２頻度以上の出現順序を特定する。図５に示す例では、第２特定部１２３によって特定されたログ同士の出現順序は、ログ「Ａ」から「Ｂ」、「Ｂ」から「Ｃ」、「Ｃ」から「Ｄ」、「Ｃ」から「Ｅ」、「Ｄ」から「Ｅ」、「Ｅ」から「Ｄ」である。第３特定部１２４は、例えば、第２閾値（第２頻度）を４０％と設定し、出現確率が第２閾値以上の出現順序を特定する。ここでは、第３特定部１２４は、第２特定部１２３によって特定されたログ同士の出現順序のうち、出現頻度が第２閾値以上の出現順序として、ログ「Ａ」から「Ｂ」、「Ｂ」から「Ｃ」、「Ｃ」から「Ｄ」、「Ｃ」から「Ｅ」、「Ｄ」から「Ｅ」、「Ｅ」から「Ｄ」を特定する。
【００４２】
ここで、第３特定部１２４は、第２頻度以上の出現順序の数が、第１頻度以上の出現順序に対応するログの数によって定められる所定数以上となるまで第２頻度を下げることにより、第２頻度以上の出現順序を特定するようにしてもよい。例えば、第３特定部１２４は、第１頻度以上の出現順序に対応するログの数よりも所定割合多い数となるまで第２頻度を下げることによって、第２頻度以上の出現順序を特定してもよい。
【００４３】
また、第３特定部１２４は、第１頻度に基づいて第２頻度を設定してもよい。具体的には、第３特定部１２４は、第１頻度に基づいて特定された出現順序に対応する出現頻度に基づいて第２頻度を設定してもよい。例えば、第３特定部１２４は、第１閾値によって特定された出現順序に対応する出現確率のうち、最も低い出現確率が７０％の場合に、当該出現確率と第２閾値との和が１以下に設定する。例えば、第３特定部１２４は、第２閾値を３０％よりも低い２５％と設定する。
【００４４】
このように第２閾値を設定することで、第３特定部１２４は、所定処理に対応する２つのログの出現順序が２通りあり、一方の出現順序が第１閾値に基づいて特定される場合に、他方の出現順序が特定される可能性を高めることができる。そして、第３特定部１２４は、第２特定部１２３によって特定されたログ同士の出現順序のうち、設定した第２頻度以上の出現順序を特定してもよい。
【００４５】
生成部１２５は、第３特定部１２４によって特定された出現順序に基づいて、所定処理が正常に完了したときの当該所定処理に対応するログの出現順序を示すワークフローを１以上生成する。具体的には、生成部１２５は、第３特定部１２４によって特定された出現順序に基づいて有向グラフを生成する。
【００４６】
図６は、本実施形態に係る有向グラフの例を示す図である。続いて、生成部１２５は、生成した有向グラフに基づいて、１以上のワークフローを生成する。図６に示す例において、生成部１２５は、ワークフローとして、ログ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」の順序を示すワークフローと、ログ「Ａ」、「Ｂ」、「Ｃ」、「Ｅ」、「Ｄ」の順序を示すワークフローとを特定する。ここで、生成部１２５は、１以上のワークフローを生成することにより、正常な処理を実行したときに発生する可能性が高い全てのワークフローを特定することができる。
【００４７】
出力部１２６は、生成部１２５が生成した１以上のワークフローを示す情報を出力する。例えば、出力部１２６は、生成装置１に設けられた表示部（不図示）にワークフローを示す情報を表示させたり、生成装置１と通信可能に接続された端末にワークフローを示す情報を送信したりする。
【００４８】
［ワークフローの生成に係る処理の流れ］
続いて、ワークフローの生成に係る処理の流れについて説明する。図７は、本実施形態に係るワークフローの生成に係る生成装置１の処理の流れを示すフローチャートである。
【００４９】
まず、ログ取得部１２１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログを取得する（Ｓ１０）。
【００５０】
続いて、第１特定部１２２は、Ｓ１０において取得されたログから、処理内容を示す情報を抽出し、当該処理内容を示す情報に基づいてログを分類する（Ｓ２０）。
続いて、第１特定部１２２は、取得された複数のログから１つのログを選択する（Ｓ３０）。例えば、第１特定部１２２は、未選択のログのうち、生成時刻が最も古いログを選択する。
【００５１】
続いて、第１特定部１２２は、選択したログの処理内容（分類ログ）に、当該ログの前後に出現した付随ログを関連付ける（Ｓ４０）。
続いて、第１特定部１２２は、全てのログが選択済か否かを判定する（Ｓ５０）。第１特定部１２２は、全てのログが選択済であると判定すると、Ｓ６０に処理を移し、全てのログが選択済ではないと判定すると、Ｓ３０に処理を移す。
続いて、第１特定部１２２は、ログの処理内容ごとに、付随ログの出現確率を算出する（Ｓ６０）。
【００５２】
続いて、第２特定部１２３は、Ｓ６０の算出結果に基づいて、出現確率が第１閾値以上の出現順序に対応するログを特定する（Ｓ７０）。
続いて、第３特定部１２４は、特定したログ同士の出現順序のうち、出現確率が第１閾値よりも小さい第２閾値以上の出現順序を特定する（Ｓ８０）。
【００５３】
続いて、生成部１２５は、Ｓ８０において特定された出現順序に基づいて有向グラフを生成する（Ｓ９０）。
続いて、生成部１２５は、生成した有向グラフに基づいて、所定処理が正常に完了したときのログの出現順序を示す１以上のワークフローを生成する（Ｓ１００）。
【００５４】
［本実施形態における効果］
以上の通り、本実施形態に係る生成装置１は、通信ネットワークＮを利用する所定処理が複数回正常に完了した場合に、通信ネットワークＮを構成する複数の通信機器４のそれぞれが生成したログを取得し、当該ログの生成時間に基づいて、複数の処理のそれぞれに対応する複数のログの出現順序の頻度を特定する。生成装置１は、特定された出現頻度が第１頻度以上の出現順序に対応するログを特定し、特定されたログ同士の出現順序のうち、特定された出現頻度が第１頻度よりも小さい第２頻度以上の出現順序を特定する。生成装置１は、特定された出現順序の頻度に基づいて、所定処理が正常に完了したときのログの出現順序を示すワークフローを生成する。
【００５５】
所定処理を複数回正常に完了させたときに通信機器４から取得したログには、所定処理が正常に完了したときのログが相対的に多く含まれるので、生成装置１は、第１頻度を大きく設定することにより、所定処理が正常に完了したときに出力されるログを特定することができる。これにより、生成装置１は、一連の処理に紐づくＩＤがログに含まれていない場合であっても複数のログからワークフローを生成することができる。
【００５６】
また、生成装置１は、特定したログ同士の出現順序のうち、第１頻度よりも小さい第２頻度以上の出現順序を特定する。これにより、生成装置１は、所定処理が正常に完了したときに生成されるログの生成順序が変化し、出現順序の出現頻度が小さくなった場合であっても当該出現順序を特定し、ワークフローを生成することができる。
【００５７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。また、特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００５８】
例えば、上述の実施形態では、生成装置１が、複数の通信機器４のそれぞれにアクセスし、複数の通信機器４のそれぞれが生成したログを取得することとしたが、これに限らない。例えば、複数の通信機器４のそれぞれが生成したログを取得するログ取得装置と、生成装置１とを設けておき、生成装置１が、ログ取得装置から、複数の通信機器４のそれぞれが生成したログを取得してもよい。
【符号の説明】
【００５９】
１・・・生成装置、１１・・・記憶部、１２・・・制御部、１２１・・・ログ取得部、１２２・・・第１特定部、１２３・・・第２特定部、１２４・・・第３特定部、１２５・・・生成部、１２６・・・出力部、２・・・所定装置、３・・・サーバ、４・・・通信機器、Ｎ・・・通信ネットワーク
【図１】
2018148441.tif 000003
【図２】
2018148441.tif 000004
【図３】
2018148441.tif 000005
【図４】
2018148441.tif 000006
【図５】
2018148441.tif 000007
【図６】
2018148441.tif 000008
【図７】
2018148441.tif 000009