(57)【要約】【課題】  同一時刻におけるログの順序付けを可能にするログ処理装置を提供する。【解決手段】  本発明のログ処理装置は、時刻毎のログを含むログファイルの各ログにログＩＤを付与する付与部と、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する更新部とを備える。【選択図】  図１
2016035617.tif 000002
【特許請求の範囲】
【請求項１】
時刻毎のログを含むログファイルの各ログにログＩＤを付与する付与部と、
前記ログＩＤの順序を示す順序パターンを生成し、同一時刻における前記ログＩＤの出現に応じて前記順序パターンの前記ログＩＤの順序を更新する更新部と、
を備えるログ処理装置。
【請求項２】
同一順序のログＩＤと下位順序のログＩＤを含む順序パターンに対して、
前記更新部は、出現したログＩＤの順序はそのままにし、出現しなかった同一順序のログＩＤの順序、及び、下位順序のログＩＤの順序をそれぞれ繰り下げる、請求項１に記載のログ処理装置。
【請求項３】
前記付与部は、
時刻毎のログを含むログファイルに基づき、前記ログに対応するログＩＤの集合であり時刻単位の時刻集合Ｔｉを生成する生成部を備える、請求項１記載のログ処理装置。
【請求項４】
前記生成部は、前記ログファイルの前記各ログを結合し、結合した前記各ログを前記時刻単位でクラスタリング処理し、前記クラスタリング処理された各ログに前記ログＩＤを付与し、時刻単位の前記時刻集合Ｔｉを生成する、請求項３に記載のログ処理装置。
【請求項５】
前記付与部は、
時刻毎のログを含むログファイルに基づき、前記ログに対応するログＩＤの集合であり時刻単位の時刻集合Ｔｉを生成する生成部を備え、
前記順序パターンは、順序パターンを識別するパターンＩＤを含み、
前記更新部は、
前記ログＩＤの順序を示す順序パターンを読込み、前記パターンＩＤ毎の前記ログＩＤの集合であるパターン集合Ｐｊを生成し、前記時刻集合Ｔｉと前記パターン集合Ｐｊを比較する比較部と、を備える請求項１に記載のログ処理装置。
【請求項６】
前記更新部は、
前記ログＩＤの順序を示す順序パターンを読込み、前記順序パターンにおける前記ログＩＤの順序毎の集合である順序集合Ｏｍを生成し、前記時刻集合Ｔｉと前記順序集合Ｏｍの包含関係を調べ、前記時刻集合Ｔｉと前記順序集合Ｏｍの包含関係に基づき、前記順序パターンにおける前記ログＩＤの順序を更新する順序パターン更新部と、
を備える請求項３〜５のいずれか１項に記載のログ処理装置。
【請求項７】
前記比較の結果、前記順序集合Ｏｍに含まれない前記時刻集合Ｔｉの要素が存在する場合、前記順序パターン更新部は、前記取得した順序パターンの前記ログＩＤに対して、前記順序集合Ｏｍに含まれない時刻集合ＴｉのログＩＤを追加し、前記取得した順序パターンの前記パターンＩＤに対して、追加した前記ログＩＤに対応する前記パターンＩＤとして、前記パターンＩＤの最大値に１を加算した値を追加する、請求項６記載のログ処理装置。
【請求項８】
前記順序パターン更新部は、前記時刻集合Ｔｉと前記順序集合Ｏｍの包含関係を調べ、前記時刻集合Ｔｉと前記順序集合Ｏｍで共通するログＩＤの順序をそのままにし、前記順序集合Ｏｍの中で前記時刻集合Ｔｉと共通でないログＩＤの順序、及び、前記共通するログＩＤの順序より下位の順序となるログＩＤの順序に１を加算する、請求項７に記載のログ処理装置。
【請求項９】
時刻毎のログを含むログファイルの各ログにログＩＤを付与し、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する、ログ処理方法。
【請求項１０】
コンピュータに、時刻毎のログを含むログファイルの各ログにログＩＤを付与し、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する、ことを実行させるログ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ処理装置、ログ処理方法とそのプログラムに関し、特にログの順序付けに関する。
【背景技術】
【０００２】
情報処理装置のアプリケーション又はＯＳによって生成された処理内容又は警告のログは、障害発生時の対応やサービス分析など様々な状況で利用されている。このようなログ処理に関連する技術が、特許文献１および特許文献２に記載されている。
【０００３】
特許文献１の技術は、ログを出力する事象に対して時系列の順序情報（シリアル番号）を一意に付与する手段と、順序情報をクライアント装置に送信する手段と、クライアント装置は順序情報の最大値を選択する手段と、出力先装置に送信する手段を備える。
【０００４】
特許文献２は、イベント検知制御およびログ情報取得制御を有する特定ノードが接続されたネットワークシステムにおいて、イベント発生の順序を判定する方法を開示する。その構成として、特定ノードは、ログ情報を各ノードで取得する処理とは別に、特定ノード時刻と任意のノード１台の時刻またはタイムサーバの時刻を適当なインターバルで記録する。更に、特定ノードは、記録された時刻の差分を元に、ログ情報が取得された時間を計算し、ログ情報を正しく時系列にマージする。特許文献１および特許文献２は、いずれもログ処理装置がログ受信時に転送等により時刻がずれることを補正する技術である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１８７０１号公報
【特許文献２】特開２００６−１２７１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術は、ログを含んだログファイルが送信された時刻に基づいてログの順序を決定するため、ログファイル内における各ログの順序付けは困難である。また、特許文献２の技術は、ログファイルの出力時の時刻に基づき動作するため、ログファイルの出力時にログの時刻情報が丸められ、同一時刻におけるログの順序付けが困難である。
【０００７】
このように特許文献１および２の技術は、ログファイルに記録された同一時刻のログに対して、ログの順序付けをすることができない。
【０００８】
本発明の目的は、上記課題を解決することができるログ処理装置、ログ処理方法とそのプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態におけるログ処理装置は、時刻毎のログを含むログファイルの各ログにログＩＤを付与する付与部と、前記ログＩＤの順序を示す順序パターンを生成し、同一時刻における前記ログＩＤの出現に応じて前記順序パターンの前記ログＩＤの順序を更新する更新部と、を備える。
【００１０】
本発明の一形態におけるログ処理方法は、時刻毎のログを含むログファイルの各ログにログＩＤを付与し、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する。
【００１１】
本発明の一形態におけるログ処理プログラムは、コンピュータに、時刻毎のログを含むログファイルの各ログにログＩＤを付与し、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する、ことを実行させる。
【発明の効果】
【００１２】
本発明は、ログファイルに記録された同一時刻のログに対して、ログの順序付けを可能にするログ処理装置、ログ処理方法とそのプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るログ処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るログ処理装置の動作を示すフローチャートである。
【図３】本発明の第２の実施形態に係るログ処理装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態に係るログ処理装置の動作を示すフローチャートである。
【図５】第２の実施形態に係るログ処理装置１０の生成部１１の具体的な動作を示すフローチャートである。
【図６】第２の実施形態のログ処理装置１０が取得する管理単位のログファイルを表す図である。
【図７】ログ処理装置１０の生成部１１が時刻集合Ｔｉ（ｉ＝１）、Ｔｉ（ｉ＝２）を生成する過程を表す図である。
【図８】第２の実施形態のログ処理装置１０が取得する管理単位のログファイルを表す図である。
【図９】ログ処理装置１０の生成部１１が時刻集合Ｔｉ（ｉ＝３）〜Ｔｉ（ｉ＝５）を生成する過程を表す図である。
【図１０】第２の実施形態のログ処理装置１０が取得する管理単位のログファイルを表す図である。
【図１１】第２の実施形態に係る生成部１１が時刻集合Ｔｉ（ｉ＝６）〜Ｔｉ（ｉ＝８）を生成する過程を表す図である。
【図１２】順序パターンの一例を説明する図である。
【図１３】第２の実施形態に係るログ処理装置１０の比較部１２と順序パターン更新部１３の動作を示すフローチャートである。
【図１４】ログ処理装置１０の順序パターン更新部１３による順序パターンの登録の動作を示すフローチャートである。
【図１５】ログ処理装置１０の順序パターン更新部１３によるログＩＤの順序の更新の動作を示すフローチャートである。
【図１６】ログ処理装置１０の順序パターン更新部１３によるログＩＤの順序の更新の動作を示すフローチャートである。
【図１７】第２の実施形態に係る初期の順序パターンの生成を説明する図である。
【図１８】時刻集合Ｔｉ（ｉ＝２）における順序パターンの更新を説明する図である。
【図１９】時刻集合Ｔｉ（ｉ＝３）における順序パターンの更新を説明する図である。
【図２０】時刻集合Ｔｉ（ｉ＝４）における順序パターンの更新を説明する図である。
【図２１】順序パターンの統合を説明する図である。
【図２２】時刻集合Ｔｉ（ｉ＝５）における順序パターンの更新を説明する図である。
【図２３】時刻集合Ｔｉ（ｉ＝６）における順序パターンの更新を説明する図である。
【図２４】時刻集合Ｔｉ（ｉ＝６）における順序パターンの更新を説明する図である。
【図２５】時刻集合Ｔｉ（ｉ＝７）における順序パターンの更新を説明する図である。
【図２６】時刻集合Ｔｉ（ｉ＝８）における順序パターンの更新を説明する図である。
【図２７】第３の実施形態に係るログ処理装置の構成を示すブロック図である。
【図２８】第３の実施形態に係るログ処理装置２０が順序パターンを参照して、同一時刻におけるログの順序を並び替える一例を示す図である。
【図２９】本発明の各実施形態に係るログ処理装置をコンピュータ装置で実現したハードウエア構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
本発明の第１の実施形態に係るログ処理装置について、図面を用いて詳細に説明する。図１は、第１の実施形態に係るログ処理装置１の構成を示すブロック図である。図１中、ログ処理装置１は、付与部２と、更新部３とを備える。ログ処理装置１の付与部２は、時刻毎のログを含むログファイルの各ログにログＩＤを付与する機能を備える。ログ処理装置１の更新部３は、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する機能を備える。
【００１５】
更新部３は、出現順序の遅いログＩＤの順序を出現順序の早いログＩＤの順序よりも下位にする処理をする。また、同一順序のログＩＤと下位順序のログＩＤを含む順序パターンに対して、更新部３は、出現したログＩＤの順序はそのままにし、出現しなかった同一順序のログＩＤの順序、及び、下位順序のログＩＤの順序をそれぞれ繰り下げる処理をしてもよい。
【００１６】
図２は、第１の実施形態に係るログ処理装置１の動作を示すフローチャートである。ログ処理装置１は、時刻毎のログを含むログファイルの各ログにログＩＤを付与し（図２のＦ１処理）、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する（図２のＦ２処理）。
【００１７】
本発明の第１の実施形態に係るログ処理装置１は、ログファイルにおける同一時刻のログの順序付けのために、ログファイルのログに対応するログＩＤの順序が記された順序パターンを生成し、ログファイルに含まれる同一時刻のログの出現に応じて順序パターンにおけるログＩＤの順序を更新する。この更新された順序パターンのログＩＤの順序を参照することで、ログファイルにおける同一時刻のログの順位付けが可能になる。
【００１８】
以下、本発明の第２の実施形態に係るログ処理装置について、図面を用いて詳細に説明する。第２の実施形態に係るログ処理装置は、第１の実施形態のログ処理装置を具体化した一例である。
図３は、第２の実施形態に係るログ処理装置１０の構成を示すブロック図である。図３中、ログ処理装置１０は、付与部２及び更新部３を備える。ここで付与部２は、生成部１１を備え、更新部３は、比較部１２及び順序パターン更新部１３を備える。またログ処理装置１０は、ログファイルおよび記憶装置１５に登録された順序パターンを取得する通信部（図示せず）を備える。なお図３に示す記憶装置１５は、ログ処理装置１０の外部に設置される例を示すが、これに限られず、記憶装置１５は、ログ処理装置１０の内部に設置してもよい。
【００１９】
図４は、第２の実施形態に係るログ処理装置１０の動作を示すフローチャートである。ログ処理装置１０の生成部１１は、時刻毎のログを含むログファイルを読込み、ログに対応するログＩＤの集合であり時刻単位の時刻集合Ｔｉを生成する（Ｓ１処理）。更に、ログ処理装置１０の比較部１２は、ログＩＤの順序を示す順序パターンを読込み、順序パターンにおけるログＩＤの順序毎の集合である順序集合Ｏを生成し、時刻集合Ｔｉと順序集合Ｏを比較する（Ｓ２処理）。ログ処理装置１０の順序パターン更新部１３は、時刻単位のログＩＤの集合である時刻集合Ｔｉと、順序パターンにおけるログＩＤの順序毎の集合である順序集合Ｏとの包含関係に基づいて、順序パターンにおけるログＩＤの順序データを更新する（Ｓ３処理）。
【００２０】
次に、ログ処理装置１０における各構成の具体的な動作について、図面を用いて詳細に説明する。
【００２１】
＜生成部＞
ログ処理装置１０の生成部１１は、上述のとおり、時刻毎のログを含むログファイルに基づき、ログに対応するログＩＤの集合であり時刻単位の時刻集合Ｔｉを生成する機能を備える。図５は、第２の実施形態に係るログ処理装置１０の生成部１１の具体的な動作を示すフローチャートである。
【００２２】
図５に示すように、ログ処理装置１０の生成部１１は、取得したログファイルに含まれる各ログを結合し、結合したファイルを時刻単位でクラスタリング処理する（Ｓ１１処理）。更に、生成部１１は、クラスタリング処理後の各ログに対して一意に識別可能とするログＩＤを付与してログ集約データを生成し、生成したログリストを時刻単位に分割して時刻単位のログＩＤの要素の集合である時刻集合Ｔｉを生成する（Ｓ１２処理）。
【００２３】
以下、生成部１１が取得したログファイルから時刻集合Ｔｉを生成するまでの過程について具体例を用いて説明する。
【００２４】
図６は、第２の実施形態のログ処理装置１０が取得する管理単位のログファイルを表す図である。ログファイル３１〜３４は、それぞれ管理単位で生成される。ここで、管理単位とは、ログを生成して管理する単位を意味し、管理単位の一例として、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ミドルウエア、又は、アプリケーションなどが挙げられる。
【００２５】
第２の実施形態のログ処理装置１０が取得するログファイルは、ログと当該ログが生成された時刻を少なくとも含む。図６のログファイル３１には、ログ「ＡＡＡ１」と、ログの生成された時刻「１０：００：００」、および、ログ「ＡＡＡ２」とログの生成された時刻「１０：００：０１」のログレコードが記録されている。また、ログファイル３２、３３、３４もログファイル３１と同様に、管理単位にログと当該ログが生成された時刻が記録されている。
【００２６】
次に、ログ処理装置１０の生成部１１による時刻集合Ｔｉの生成について図７を用いて説明する。図７は、ログ処理装置１０の生成部１１が、時刻集合Ｔｉ（ｉ＝１）と、時刻集合Ｔｉ（ｉ＝２）を生成する過程の図である。
【００２７】
まず、ログ処理装置１０の生成部１１は、取得したログファイル３１〜３４の各ログのログレコードを結合後、同一の時刻単位でログを集約する。
【００２８】
続いて、生成部１１は、時刻単位の各ログに対して、クラスタリング処理後に同じ分類のログに一意に識別可能なログＩＤを割り当て、ログ集約データ６１を生成する。クラスタリング処理は、文字列の類似度を測るレーベルシュタイン距離を用いる。
【００２９】
図７のログ集約データ６１に示すように、時刻単位「１０：００：００」でクラスタリング処理された各ログに対してログＩＤ「１」〜「６」が付与され、時刻単位「１０：００：０１」の各ログに対してログＩＤ「７」および「８」が付与される。
【００３０】
なお、生成部１１によりクラスタリング処理は、上述のレーベルシュタイン距離に限られるものではなく、他の処理法を用いてもよい。
【００３１】
次に、生成部１１は、ログ集約データ６１を時刻単位で分割し、ログ集約データ６２およびログ集約データ６３を生成する。生成されたログ集約データ６２とログ集約データ６３から時刻単位のログＩＤの集合である時刻集合Ｔｉを生成する。
【００３２】
図７のログ集約データ６２、６３に示すように、時刻「１０：００：００」における時刻集合Ｔｉ（ｉ＝１）の要素は｛１，２，３，４，５，６｝となり、時刻「１０：００：０１」における時刻集合Ｔｉ（ｉ＝２）の要素は｛７，８｝となる。
【００３３】
図８および図１０は、第２の実施形態のログ処理装置１０が取得する管理単位のログファイルを表す図である。
【００３４】
図８に示すログファイル４１〜４４は、ログ処理装置１０が、ログファイル３１〜３４の後に取得する管理単位のログファイルである。また、図１０中のログファイル５１〜５６は、ログ処理装置１０が、ログファイル４１〜４４の後に取得する管理単位のログファイルである。
【００３５】
図８に示すログファイル４１は、ログ「ＡＡＡ１」と生成された時刻「１０：００：０３」、ログ「ＡＡＡ２」と生成された時刻「１０：００：０５」のログレコードが記録されている。ログファイル４２〜４４もログファイル４１と同様に、管理単位にログとログが生成された時刻が記録されている。
【００３６】
図１０に示すログファイル５１は、ログ「ＡＡＡ１」と生成された時刻「１０：００：０６」、及び、ログ「ＡＡＡ２」と、生成された時刻「１０：００：０８」のログレコードが記録されている。ログファイル５２、５３、５４、５５、５６もログファイル５１と同様に、管理単位にログ及びログが生成された時刻が記録されている。
【００３７】
図９および図１１は、ログ処理装置の生成部１１が、図８および図１０に示すログファイルからそれぞれ時刻集合Ｔｉ（ｉ＝３）〜Ｔｉ（ｉ＝５）および時刻集合Ｔｉ（ｉ＝６）〜Ｔｉ（ｉ＝８）を生成する過程を表す図である。
【００３８】
ログ処理装置１０の生成部１１は、取得したログファイル４１〜４４（図８）およびログファイル５１〜５６（図１０）の各ログのログレコードを結合した後、同一の時刻単位でログを集約する。
【００３９】
続いて、生成部１１は、時刻単位の各ログに対して、レーベルシュタイン距離を用いてクラスタリング処理し、同じ分類のログに一意に識別するログＩＤを割り当ててログ集約データ７１（図９）およびログ集約データ８１（図１１）を生成する。
【００４０】
図９のログ集約データ７１に示すように、時刻単位「１０：００：０３」でクラスタリング処理された各ログに対して、ログＩＤ「１」、「２」、「４」、「５」が付与され、時刻単位「１０：００：０４」の各ログに対してログＩＤ「３」、「８」、「６」が付与され、時刻単位「１０：００：０５」の各ログに対してログＩＤ「７」が付与される。
【００４１】
また図１１のログ集約データ８１に示すように、時刻単位「１０：００：０６」でクラスタリング処理された各ログに対して、ログＩＤ「１」、「４」、「９」、「１０」が付与され、時刻単位「１０：００：０７」の各ログに対してログＩＤ「２」、「５」、「６」が付与され、時刻単位「１０：００：０８」の各ログに対してログＩＤ「７」、「３」、「８」が付与される。
【００４２】
次に、生成部１１は、ログ集約データ７１を時刻単位で分割し、ログ集約データ７２、７３、７４を生成し（図９）、同様に、ログ集約データ８１からログ集約データ８２〜８４を生成する（図１１）。更に、生成部は、生成されたログ集約データ７２〜７４（図９）から時刻単位のログＩＤの集合である時刻集合Ｔｉ（ｉ＝３，４，５）を生成し、生成されたログ集約データ８２〜８４（図１１）から時刻集合Ｔｉ（ｉ＝，７，８）を生成する。
【００４３】
図９のログ集約データ７２〜７４に示すように、時刻「１０：００：０３」の時刻集合Ｔｉ（ｉ＝３）の要素は｛１，２，４，５｝、時刻「１０：００：０４」の時刻集合Ｔｉ（ｉ＝４）の要素は｛３，８，６｝、時刻「１０：００：０５」の時刻集合Ｔｉ（ｉ＝５）の要素は｛７｝となる。
【００４４】
また図１１のログ集約データ８２〜８４に示すように、時刻「１０：００：０６」の時刻集合Ｔｉ（ｉ＝６）の要素は｛１，４，９，１０｝、時刻「１０：００：０７」の時刻集合Ｔｉ（ｉ＝７）の要素は｛２，５，６｝、時刻「１０：００：０７」の時刻集合Ｔｉ（ｉ＝８）の要素は｛７，３，８｝となる。
【００４５】
なお、ログ処理装置１０は、ログファイルが一時的に保存されたストレージ（図示せず）からログファイルを取得しもよく、あるいは、管理単位となるＯＳ又はアプリケーションが搭載された装置等からログファイルを直接取得してもよい。生成部１１によるログファイルの取得は、所定の周期で実行してもよい。また時刻集合Ｔｉの生成は、所定の周期でログファイルを取得した後でもよく又は取得したログファイルが所定の数になった後でもよい。ログ処理装置１０の生成部１１は、生成した時刻集合Ｔｉを一時的にメモリ（図示せず）に保存してもよい。
【００４６】
本明細書における時刻単位とは、「時・分・秒」、「時・分」あるいは「時」であり、同一の時刻単位とは、時・分・秒が一致する、時・分が一致する、あるいは時が一致することを意味する。また、時刻単位の区別のために必要であればログファイルの時刻の情報に「年・月・日」、「月・日」、「日」のいずれかの情報が含まれてもよい。
【００４７】
第２の実施形態に係るログ処理装置１０は、ログファイルにおける同一時刻のログの順序付けのために、各ログに対応するログＩＤの順序を示す順序パターンを生成し、ログファイルに含まれる同一時刻のログの出現に応じて、順序パターンを更新する。
【００４８】
順序パターンの更新は、ログ処理装置１０の比較部１２及び順序パターン更新部１３によって処理される。
【００４９】
次に、ログ処理装置１０の比較部１２及び順序パターン更新部１３について図面を用いて説明する。
【００５０】
＜比較部＞
ログ処理装置１０の比較部１２は、ログＩＤとログＩＤの順序を含む順序パターンを読込み、読込んだ順序パターンに基づいて順序毎のログＩＤの集合である順序集合Ｏｍを生成し、当該順序集合Ｏｍと、生成部１１が生成した時刻集合Ｔｉを比較する機能を備える。具体的には、比較部１２は、メモリ（図示せす）から生成部１１が生成した時刻単位のログＩＤの時刻集合Ｔｉを取得する。時刻集合Ｔｉ（ｉ＝１，２，・・・）（ｉは１以上の自然数）は、時刻単位でメモリから取得される。
【００５１】
また、比較部１２は、記憶装置１５から順序パターンを読込み、順序パターンにおけるログＩＤのパターンＩＤ毎の集合であるパターン集合Ｐｊを生成し、パターン集合Ｐｊをメモリ（図示せず）に一時的に保存する。当該パターン集合Ｐｊ（ｊ＝１，２・・・）（ｊは１以上の自然数）は、比較部１２によってパターンＩＤ毎にメモリから取得される。
【００５２】
ここで順序パターンとは、ログＩＤと当該ログＩＤの順序を示すデータである。図１２は順序パターンの一例を示す図である。図１２に示すように、順序パターン１０１は、「ＰＩＤ」、「ログＩＤ」および「順序」の項目を有する。ＰＩＤ（パターンＩＤ）は、順序パターンを識別するための情報であり、順序パターンの更新の際に、新たに順序パターンが追加される場合に順序パターンの区別のために用いられる。
【００５３】
図１２に順序パターンの一例を示す。図１２に示す順序パターン１０１は、パターンＩＤ（ＰＩＤ）が「１」の順序パターン１０２Ａと、パターンＩＤ（ＰＩＤ）が「２」の順序パターン１０２Ｂで構成される。
【００５４】
図１２中、順序パターン１０２Ａにおいて、ログＩＤ「１」，「４」，「２」，「５」，「６」，「３」，「８」，「７」に対応する順序としてそれぞれ「１」，「２」，「２」，「２」，「３」，「４」，「５」，「６」が付与されている。また順序パターン１０２Ｂにおいて、ログＩＤ「９」，「１０」に対応する順序として、それぞれ「１」，「１」が付与されている。
【００５５】
図１２の順序パターン１０２Ａのうち、パターンＩＤ「１」のログＩＤの集合をパターン集合Ｐｊ（ｊ＝１）と記す。パターン集合Ｐｊ（ｊ＝１）の要素は｛１，４，２，５，６，３，８，７｝となる。同様に、順序パターン１０２Ｂのうち、パターンＩＤ「２」のログＩＤの集合をパターン集合Ｐｊ（ｊ＝２）と記す。パターン集合Ｐｊ（ｊ＝２）の要素は｛９，１０｝となる。
【００５６】
なお、図１２のパターンＩＤ「１」の順序パターン１０２Ａにおける順序「２」のログＩＤの集合は、順序集合Ｏｍ（ｍ＝２）と記され、ログＩＤは｛２，５｝となる。同様に順序「５」のログＩＤの集合は、順序集合Ｏｍ（ｍ＝５）記され、ログＩＤは｛８｝となる。
【００５７】
図１３及び図１４は、ログ処理装置１０の比較部１２の具体的な動作を示すフローチャートである。
【００５８】
ログ処理装置１０の比較部１２は、生成部１１が生成した時刻単位のログＩＤの集合である時刻集合Ｔｉを取得する（図１３のＡ１処理）。時刻集合Ｔｉは、時刻単位ｉ（ｉは１以上の自然数）でＡ１処理〜Ａ９処理までのループ毎に取得される。次に、比較部１２は、異なるパターンＩＤの順序パターンを統合するか否かを管理するための変数Ｒを初期化する（変数Ｒを空にする）（図１３のＡ２処理）。続いて、比較部１２は、取得した時刻集合Ｔｉの要素を作業用の集合Ｓｉに代入する（図１３のＡ３処理）。
【００５９】
次に、比較部１２は、記憶装置１５に登録された順序パターンを読込み、順序パターンにおけるパターンＩＤ毎のログＩＤの集合であるパターン集合Ｐｊを生成し、取得する（図１３のＡ４処理）パターン集合Ｐｊは、パターンＩＤの値ｊ（ｊは１以上の自然数）でＡ４〜Ａ８処理のループ毎に取得される。
【００６０】
なお、初期状態の場合、記憶装置１５に順序パターンが存在しないため、比較部１２は、順序パターンを読み込まずに図１３のＡ４〜Ａ８の処理をスキップして順序パターン更新部１３に順序パターンの登録（図１３のＡ９処理）を指示する。
【００６１】
Ａ４処理の後、比較部１２は、集合Ｓｉとパターン集合Ｐｊの包含関係を比較する（図１３のＡ５処理）。比較の結果、集合Ｓｉとパターン集合Ｐｊに共通の要素が有る場合（集合Ｓｉ∩パターン集合Ｐｊが存在）、順序パターン更新部１３によりログＩＤの順序の更新（図１３のＡ６処理）のサブルーチン処理が実行される。ログＩＤの順序の更新については、後に詳細に説明する。一方、集合Ｓｉとパターン集合Ｐｊに共通の要素が無い場合（集合Ｓｉ∩パターン集合Ｐｊが存在しない）、Ａ６〜Ａ８処理をスキップする。
【００６２】
次に、ログＩＤの順序の更新のサブルーチンが終了した後、比較部１２は、変数Ｒに対してパターン集合Ｐｊのフラグを付与する（図１３のＡ７処理）。変数Ｒは、異なるパターンＩＤの順序パターンを統合するかを管理するためのフラグである。比較部１２が、パターン集合Ｐｊのフラグを付与することで、順序パターン更新部１３は、パターンＩＤが異なる順序パターンを統合するか判断する。
【００６３】
続いて、比較部１２は、集合Ｓｉとパターン集合Ｐｊの両方に含まれる要素を除去する。共通の要素の除去後、集合Ｓｉに含まれない要素とパターン集合Ｐｊの要素に共通の要素が存在するかを確認し（図１３のＡ８処理）、共通の要素が存在すれば次のパターン集合Ｐｊ＋１を取得してループ処理を続ける。共通の要素が存在しない場合、パターン集合Ｐｊの処理を終了する。
【００６４】
パターン集合Ｐｊのループ処理を終えた後、順序パターン更新部１３による順序パターンの登録（図１３のＡ９処理）のサブルーチンを実行する。サブルーチンの実行後、次の時刻集合Ｔｉ＋１を取得してループ処理を続ける。次の時刻集合Ｔｉ＋１が無い場合、時刻集合Ｔｉのループ処理を終了する。
【００６５】
＜順序パターン更新部＞
ログ処理装置１０の順序パターン更新部１３は、ログファイルのおけるログの出現に応じて、順序パターンの更新を実行する。順序パターン更新部１３による順序パターンの更新の処理は、「順序パターンの追加」、「順序パターンの併合」および「ログＩＤの順序の更新」がある。
【００６６】
「順序パターンの追加」は、順序パターンへ新たなログＩＤとその順序を追加する更新処理である。既存の順序パターンに無いログＩＤが出現する場合に、当該ログＩＤとその順序を含む順序パターンを追加する。なお、初期状態は、順序パターンが登録されていないため、順序パターンの追加処理によって初期の順序パターンが登録される。
【００６７】
「順序パターンの併合」は、異なるパターンＩＤの順序パターンを１つのパターンＩＤの順序パターンに併合する更新処理である。
【００６８】
「ログＩＤの順序の更新」は、順序パターンのログＩＤの順序に対して、ログファイルの同一時刻におけるログの出現、すなわちログＩＤの出現に応じて、順序パターンのログＩＤの順序を更新する処理である。例えば、順序パターンで順序が同じログＩＤでも、その後に取得するログファイルで同一時刻におけるログの出現順が異なる場合、順序パターンにおけるログＩＤの順序が変更される。具体的には、出現順序の早いログの方が出現順序の遅いログよりも対応するログＩＤの順序が上位となるように、順序パターンにおけるログＩＤの順序が更新される。
【００６９】
一例として、順序パターン更新部１３は、同一順序のログＩＤと下位順序のログＩＤが存在する順序パターンにおいて、ログが出現したログＩＤの順序はそのままにし、ログが出現しなかった同一順序のログＩＤの順序、及び、下位順序のログＩＤの順序をそれぞれ繰り下げるという処理を実行する。
【００７０】
以下、ログ処理装置１０の順序パターン更新部１３による順序パターンの更新について図面を用いて説明する。
【００７１】
なお、順序パターン更新部１３による順序パターンの更新のうち、順序パターンの追加及び順序パターンの併合は、図１３における順序パターンの登録のサブルーチンとして処理し、ログＩＤの更新は、図１３におけるログＩＤの更新のサブルーチンとして処理される。
【００７２】
（順序パターンの追加および追加パターンの統合）
次に、順序パターン更新部１３による順序パターン登録の動作について、図１４を用いて説明する。図１４に示す順序パターンの登録は、順序パターンの追加（Ｂ１〜Ｂ３処理）および順序パターンの統合（Ｂ４〜Ｂ４処理）の２つの処理を含む。
【００７３】
初めに、順序パターン更新部１３は、順序パターンの追加の処理として、集合Ｓｉが存在するか確認する。すなわち、図１３のＡ４〜Ａ８の処理の後、まだ集合Ｓｉが存在しているか確認する（図１４のＢ１処理）。Ａ４〜Ａ８の順序パターンの更新処理の後に、集合Ｓｉが存在するということは、その集合Ｓｉは、順序パターンに含まれてないログＩＤということになる。
【００７４】
集合Ｓｉが存在する場合（図１４のＢ１処理のＹｅｓ）、順序パターン更新部１３は、追加する順序パターンに新たなパターンＩＤを付与するために、既存の順序パターンのパターンＩＤ（ＰＩＤ）の最大値Ｎを抽出し（図１４のＢ２処理）、パターンＩＤの最大値Ｎに１を加算する（図１４のＢ３処理）。更に、順序パターン更新部１３は、集合Ｓｉの要素を順序パターンのログＩＤとして追加し、追加されたログＩＤの順序を「１」とする。集合Ｓｉが存在しない場合（図１４のＢ１処理のＮｏ）、Ｂ２からＢ３の処理はスキップされる。
【００７５】
次に、順序パターン更新部１３は、順序パターンの統合のために、変数Ｒのフラグが複数存在するか判断する（図１４のＢ４処理）。
【００７６】
変数Ｒは、異なるパターンＩＤの順序パターンを統合するか否かを管理するためのフラグであり、順序パターンの追加の処理により、異なるパターンＩＤの順序パターンが生成されると変数Ｒのフラグは複数となる。
【００７７】
変数Ｒのフラグが複数存在する場合（図１４のＢ４処理のＹｅｓ）、順序パターンを統合する（図１４のＢ５処理）。
【００７８】
順序パターンの統合は、異なるパターンＩＤの順序パターンを１つにまとめる処理を指す。本実施形態における順序パターンの統合は、異なるパターンＩＤの順序パターンのうち、パターンＩＤの値が大きな順序パターンを、パターンＩＤの値が小さな順序パターンに追加する処理となる。このときパターンＩＤが大きな値の順序パターンにおけるログＩＤの順序は、パターンＩＤが小さな値の順序パターンにおけるログＩＤの順序より下位となるように処理される。
【００７９】
変数Ｒが複数存在しない場合（図１４のＢ４処理のＮｏ）、順序パターンの統合はしない、すなわち順序パターンの統合はしない。最後に、順序パターン更新部１３は、変更された順序パターンを記憶装置１５へ登録する。
【００８０】
（初期の順序パターンの登録）
順序パターンの登録処理による初期の順序パターンの生成について図１４を用いて説明する。ログ処理装置１０の比較部１２が記憶装置１５から読込む順序パターンは、初期状態では登録されていない。このため、ログ処理装置１０の順序パターン更新部１３は、上記の順序パターンの登録処理により、初期の順序パターンを生成する。
【００８１】
初期に比較部１２によって時刻集合Ｔｉ（ｉ＝１）［集合Ｓｉ（ｉ＝１）］が取得され、集合Ｓｉが存在する（図１４のＢ１処理のＹｅｓ）。次に、順序パターン更新部１３は、順序パターンにおけるパターンＩＤの最大値Ｎを抽出する（図１４のＢ２処理）が、順序パターンは登録されていないため最大値はなく、パターンＩＤとして１を加算して(図１４のＢ３処理）パターンＩＤを「１」とする。続いて、順序パターン更新部１３は、順序パターンのログＩＤに集合Ｓｉ（ｉ＝１）の要素を割当て、各ログＩＤに対応する順序を「１」として、初期の順序パターンを生成する。
【００８２】
初期状態は、順序パターンが無く、変数Ｒは存在しないため、順序パターン更新部１３は、順序パターンの統合処理（図１４のＢ４〜Ｂ５処理）をせず、生成された初期の順序パターンを記憶装置１５に登録する。
【００８３】
（ログＩＤの順序の更新）
順序パターン更新部１３によるログＩＤの順序の更新は、ログファイルにおける出現順序の早いログの方が出現順序の遅いログよりも対応するログＩＤの順序が上位となるように、順序パターンにおけるログＩＤの順序を更新する処理とする。すなわち、同一順序のログＩＤと下位順序のログＩＤが存在する順序パターンにおいて、ログが出現したログＩＤの順序はそのままの順序とし、ログが出現しなかった同一順序のログＩＤの順序、及び、下位順序のログＩＤの順序は、それぞれ繰り下げる。
【００８４】
順序パターン更新部１３は、ログファイルの同一時刻におけるログの出現を時刻集合Ｔｉ［集合Ｓｉ］のログＩＤとし、順序パターンにおけるログＩＤの順序毎の集合である順序集合Ｏｍとの包含関係に基づいて、順序パターンの更新を実行する。
【００８５】
順序パターン更新部１３によるログＩＤの順序の更新処理について、図１５及び図１６に示すフローチャートを用いて説明する。
【００８６】
まず、順序パターン更新部１３は、比較部１２が読込んだ順序パターンに対して、ログＩＤの順序毎の集合である順序集合Ｏｍ（ｍ＝１，２，・・）（ｍは１以上の自然数）を生成して取得し（図１５のＣ１〜Ｃ２処理）集合Ｓｉと順序集合Ｏｍとの包含関係を確認する。
【００８７】
集合Ｓｉの要素と順序集合Ｏｍの要素が一致する場合（集合Ｓｉ＝順序集合Ｏｍ）（図１５のＣ３処理のＹｅｓ）、順序パターン更新部１３は、ログＩＤの順序の更新処理のサブルーチンを終了する。一致しない場合（図１５のＣ３処理のＮｏ）、順序パターン更新部１３は、次の判断に進む。
【００８８】
次に、集合Ｓｉが順序集合Ｏｍに完全に含まれている場合（集合Ｓｉ⊂順序集合Ｏｍが成立する）（図１５のＣ４処理のＹｅｓ）、順序パターン更新部１３は、「順序の更新（Ｉ）」の処理を実行する（図１５のＣ５処理）。順序パターン更新部１３は、「順序の更新(Ｉ)」として、順序集合Ｏｍのうち集合Ｓｉに含まれない要素に対応する順序パターンのログＩＤの順序に１を加算し、ログＩＤの順序が順序集合Ｏｍより下位である順序集合Ｏｍ＋１以降のログＩＤの順序に１を加算する。
【００８９】
一方、集合Ｓｉが順序集合Ｏｍに完全に含まれない場合（集合Ｓｉ⊂順序集合Ｏｍが成立しない）（図１５のＣ４処理のＮｏ）、順序パターン更新部１３は、集合Ｓｉと順序集合Ｏｍの共通の要素を集合Ｕｎ（集合Ｕｎ：集合Ｓｉ∩順序集合Ｏｍ）とする。
さらに、順序パターン更新部１３は、集合Ｓｉに含まれない要素と順序集合Ｏｍの共通の要素を集合Ｗｋ（集合Ｗｋ：集合Ｓｉ（―）∩集合Ｏｍ）とする（図１５のＣ５処理）。
なお、集合Ｓｉ（―）は、集合Ｓｉに含まれない要素の集合とする。また集合Ｓｉと集合Ｏｍとの共通（集合Ｓｉ∩集合Ｏｍ）の集合を集合Ｕｎ（ｎ＝１，２，・・・）（ｎは１以上の自然数）と表す（図１５のＣ６処理）。
【００９０】
集合Ｕｎに要素が存在しない場合（集合Ｕｎ≠順序集合Ｏｍ）、順序集合Ｏｍに集合Ｓｉが含まれないため、順序パターン更新部１３は、ログＩＤの順序の更新処理を終了する（図１５Ｃ７処理のＮｏ）。
【００９１】
一方、集合Ｕｎに要素が存在する場合（図１５のＣ７処理のＹｅｓ）、順序パターン更新部１３は、他のパターンＩＤの順序毎の集合Ｏｍ＋１又は集合Ｏｍ−１の存在を調べる。
【００９２】
続いて、順序集合Ｏｍに対してログＩＤの順序が下位となる順序集合Ｏｍ＋１が存在するかを確認し、順序集合Ｏｍ＋１が存在する場合（図１６のＣ８処理のＹｅｓ）、集合Ｗｋが順序集合Ｏｍ＋１に含まれるかを判定する（図１６のＣ９処理）。
【００９３】
集合Ｗｋと順序集合Ｏｍ＋１に共通の要素が含まれる場合、順序パターン更新部１３は、「順序の更新（ＩＩ）」を実行する。すなわち、順序集合Ｏｍの中の集合Ｗｋに対応するログＩＤの順序に１が加算されると共に、順序集合Ｏｍ＋１以降のログＩＤの順序に１が加算される（図１６のＣ１２処理）。
【００９４】
集合Ｗｋが順序集合Ｏｍ＋１に含まれない（順序集合Ｏｍ＋１が存在しない）場合、順序パターン更新部１３は、「順序の更新（Ｉ）」を実行する。すなわち、順序集合Ｏｍ中の集合Ｕｎに対応するログＩＤの順序に１が加算されると共に、順序集合Ｏｍ＋１以降のログＩＤの順序に１が加算される（図１６のＣ１３処理）。
【００９５】
次に順序パターン更新部１３は、順序集合Ｏｍ＋１が存在しない場合（図１６のＣ８処理のＮｏ）において、順序パターン更新部１３は、順序集合Ｏｍ−１の存在を確認する（図１６のＣ１０処理）。
【００９６】
順序集合Ｏｍ−１が存在する場合（図１６のＣ１０処理のＹｅｓ）、順序パターン更新部１３は、前述の順序の更新（Ｉ）を実行する（図１６のＣ１３処理）。また、順序集合Ｏｍ−１が存在しない場合（図１６のＣ１０処理のＮｏ）、順序パターン更新部１３は、順序集合Ｔｉ＋１に集合Ｗｋの要素が存在するかを判定する（図１６のＣ１１処理）。
【００９７】
順序パターン更新部１３は、時刻集合Ｔｉ＋１と集合Ｗｋに共通の要素が存在しない場合、前述の順序の更新（Ｉ）を実行し（図１６のＣ１３処理）、時刻集合Ｔｉ＋１と集合Ｗｋに共通の要素が存在する場合は、前述の順序の更新（ＩＩ）を実行する（図１６のＣ１２処理）。
【００９８】
次に順序パターン更新部１３は、処理した集合Ｕｎの要素を集合Ｓｉから除去し（図１６のＣ１４処理）、次の順序集合Ｏｍ＋１に対しても同様の処理を繰り返す。
【００９９】
＜ログ処理装置１０による順序パターンの更新の具体例＞
以下、ログ処理装置１０の生成部１１、比較部１２及び順序パターン更新部１３による順序パターンの更新の動作について、図面を用いて具体的に説明する。
【０１００】
なお、以下の説明では、ログ処理装置１０の生成部１１による第１ログファイル群（ログファイル３１〜３４）、第２ログファイル群（ログファイル４１〜４４）及び第３ログファイル群（ログファイル５１〜５６）の読込みは、それぞれのログファイル群におけるログの出現に応じて、比較部１２及び順序パターン更新部１３により順序パターンが更新された後に実行されることとする。
【０１０１】
（第１ログファイル群に基づく順序パターンの更新）
はじめに、ログ処理装置１０による第１ログファイル群（ログファイル３１〜３４）を用いた順序パターンの更新について説明する。
【０１０２】
ログ処理装置１０の生成部１１は、図６に示す第１のログファイル群（ログファイル３１〜３４）を読込み、図７に示す時刻集合Ｔｉ（ｉ＝１）、Ｔｉ（ｉ＝２）を生成する。
【０１０３】
（Ｔｉ（ｉ＝１）のループ）
次に、ログ処理装置１０は、Ｔｉ（ｉ＝１）の処理を開始する。Ｔｉ（ｉ＝１）の処理について、図１３、図１４及び図１７を用いて説明する。図１３は、ログ処理装置の比較部と順序パターン更新部の動作を示すフローチャートである。
【０１０４】
ログ処理装置１０の比較部１２は、時刻集合の時刻Ｔｉ（ｉ＝１）の要素｛１，２，３，４，５，６｝（図７のログ集約データ６２）を取得する（図１３のＡ１処理）。
【０１０５】
次に、比較部１２は、異なるパターンＩＤの順序パターンを統合するか否かを管理するための変数Ｒを初期化（変数Ｒを空にする）し（図１３のＡ２処理）、取得した時刻集合Ｔｉの要素を作業用の集合Ｓｉに代入する（図１３のＡ３処理）。
【０１０６】
初期状態で記憶装置１５に順序パターンが存在しないため、比較部１２は、順序パターンを読み込まず、順序パターン更新部１３が順序パターンの登録（図１３のＡ９処理）を実行する。
【０１０７】
順序パターン更新部１３による初期の順序パターンの登録について、図１４と図１７を用いて説明する。図１４は、順序パターン更新部１３による順序パターンの登録の動作を示すフローチャートである。図１７は、初期の順序パターンの生成過程を説明する図である。上述の順序パターンの登録の動作に示すように、ログ処理装置１０の順序パターン更新部１３は、時刻集合Ｔｉ（ｉ＝１）の要素［集合Ｓｉ（ｉ＝１）］を用いて初期の順序パターンを生成する。
【０１０８】
図１７に示すように順序パターン１１１は、「ＰＩＤ」（パターンＩＤ）、「ログＩＤ」および「順序」の項目を備える。順序パターン更新部１３は、パターンＩＤ（ＰＩＤ）の項目を「１」とし、ログＩＤの項目に対し、ログ集約データ６２の時刻集合Ｔｉ（ｉ＝１）の｛１，２，３，４，５，６｝を割当てる。更に、順序パターン更新部１３は、順序パターンうち、同一時刻の各ログＩＤに対応する順序を「１」として、初期の順序パターン１１１を生成する。
【０１０９】
初期状態は、順序パターンが無く、変数Ｒは存在しないため、順序パターン更新部１３は、順序パターン間の統合処理はせず、図１７に示す生成した初期の順序パターン１１１を記憶装置１５に登録する。
【０１１０】
（Ｔｉ（ｉ＝２）のループ）
次に、ログ処理装置１０は、Ｔｉ（ｉ＝２）の処理を開始する。Ｔｉ（ｉ＝２）の処理について、図１３、図１４及び図１８を用いて説明する。
【０１１１】
比較部１２は、時刻「１０：００：０１」の時刻集合Ｔｉ（ｉ＝２）の要素｛７，８｝を抽出し（図１３のＡ１処理）、変数Ｒを初期化した後（図１３のＡ２処理）、時刻集合Ｔｉ（ｉ＝２）を変数Ｓｉに代入し、集合Ｓｉ（ｉ＝２）の要素｛７，８｝を得る（図１３のＡ３処理）。
【０１１２】
次に、比較部１２は、先ほど登録したパターンＩＤ（ＰＩＤ）「１」の順序パターン１１１を記憶装置１５から取得する。順序パターン１１１におけるパターンＩＤ（ＰＩＤ）「１」のログＩＤのパターン集合Ｐｊ（ｊ＝１）の要素は、｛１，２，３，４，５，６｝となる。比較部１２は、集合Ｓｉ（ｉ＝２）の要素｛７，８｝と、パターン集合Ｐｊ（ｊ＝１）の要素｛１，２，３，４，５，６｝との包含関係を比較する（図１３のＡ５処理）。比較した結果、集合Ｓｉ（ｉ＝２）とパターン集合Ｐｊ（ｊ＝１）に包含関係は無く（図１３のＡ５処理のＮｏ）、図１３のＡ６〜Ａ８の処理は実行されず、順序パターン更新部１３は、順序パターンの登録（図１３のＡ９処理）を実行する。
【０１１３】
続いて、時刻集合Ｔｉ（ｉ＝２）［集合Ｓｉ（ｉ＝２）］における順序パターンの登録の動作の例について、図１４と図１８を用いて説明する。図１８は、時刻集合Ｔｉ（ｉ＝２）に［集合Ｓｉ（ｉ＝２）］おける順序パターンの更新を説明する図である。
【０１１４】
順序パターン更新部１３は、集合Ｓｉ（ｉ＝２）に要素｛７，８｝が存在する（図１４のＢ１処理）ため、順序パターンの追加の処理を実行する。順序パターン更新部１３は、登録された初期の順序パターン１１１からパターンＩＤ（ＰＩＤ）の最大値である「１」を抽出して（図１４のＢ２）、これに１を加算する（図１４のＢ３）。この結果、順序パターン更新部１３は、パターンＩＤ（ＰＩＤ）「２」、ログＩＤ「７」，「８」、それぞれのログＩＤに対応する順序に「１」を追記して順序パターンを更新する。
【０１１５】
次に、変数Ｒは複数存在しないため（図１４のＢ４処理のＮｏ）、順序パターンの統合は実行されず、更新された順序パターンは図１８の順序パターン１２１となる。
【０１１６】
ログ処理装置１０は、Ｔｉ（ｉ＝２）のループを終え、第１のログファイル群（ログファイル３１〜３４）における同一時刻のログの出現を反映した順序パターン１２１を記憶装置１５に登録する。以上が第１のログファイル群に基づく順序パターンの更新の説明である。
【０１１７】
（第２ログファイル群に基づく順序パターンの更新）
次に、ログ処理装置１０による第２ログファイル群（ログファイル４１〜４４）を用いた順序パターンの更新について説明する。
【０１１８】
ログ処理装置１０の生成部１１は、図８に示す第２ログファイル群（ログファイル４１〜４４）を読込み、図９に示す時刻集合Ｔｉ（ｉ＝３）の要素｛１，２，４，５｝、Ｔｉ（ｉ＝４）の要素｛３，８，６｝、及び、Ｔｉ（ｉ＝５）の要素｛７｝を生成する。
【０１１９】
（Ｔｉ（ｉ＝３）のループ）
ログ処理装置１０の比較部１２は、時刻集合Ｔｉ（ｉ＝３）を取得し、順序パターンの統合の要否を管理するための変数Ｒを初期化し、取得した時刻集合Ｔｉ（ｉ＝３）の要素｛１，２，４，５｝を作業用の集合Ｓｉに代入する（図１３のＡ１〜Ａ３処理）。続いて、比較部１２は、先ほど登録した順序パターン１２１のうち、パターンＩＤ（ＰＩＤ）「１」の順序パターンを読込む（図１３のＡ４処理）。
【０１２０】
図１９は、時刻集合Ｔｉ（ｉ＝３）における順序パターンの更新を説明するための図である。パターンＩＤ（ＰＩＤ）「１」のパターン集合Ｐｊ（ｊ＝１）の要素は、｛１，２，３，４，５，６｝となる。比較部１２は、集合Ｓｉ（ｉ＝３）の要素｛１，２，４，５｝と、パターン集合Ｐｊ（ｊ＝１）の要素｛１，２，３，４，５，６｝を比較し、包含関係を調べる。比較した結果、集合Ｓｉ（ｉ＝３）とパターン集合Ｐｊ（ｊ＝１）の包含関係としてＳｉ∩Ｐｊが存在する。これにより順序パターン更新部１３は、順序パターンのログＩＤの順序を更新する（図１３のＡ５〜Ａ６処理）。
【０１２１】
時刻集合Ｔｉ（ｉ＝３）［集合Ｓｉ（ｉ＝３）］によるログＩＤの順序の更新について図１３、図１４、図１５及び図１９を用いて説明する。
【０１２２】
比較部１２は、順序集合Ｏｍを順序毎に生成する。順序パターン１２１のうち、パターンＩＤが「１」かつログＩＤの順序が「１」となる順序集合Ｏｍは、集合Ｏｍ（ｍ＝１）｛１，２，３，４，５，６｝となり順序集合Ｏｍ（ｍ＝１）ついて処理を実行する（図１５のＣ１〜Ｃ２処理）。
【０１２３】
比較部１２は、集合Ｓｉと順序集合Ｏｍ（ｍ＝１）を比較すると、集合Ｓｉ（ｉ＝３）と集合Ｏｍ（ｍ＝１）は等しくなく（図１５のＣ３処理のＮｏ）、集合Ｓ（ｉ＝３）⊂集合Ｏｍ（ｍ＝１）が成り立つ（図１５のＣ４処理のＹｅｓ）。このため、順序パターン更新部１３は、順序の更新（Ｉ）を実行する（図１５のＣ５処理）。順序パターン更新部１３は、集合Ｏｍ（ｍ＝１）の｛１，２，３，４，５，６｝のうち、共通の要素｛１，２，４，５｝以外の要素｛３，６｝に対応するログＩＤ「３」，「６」の順序「１」に１を加算して順序「２」とする。パターンＩＤ「１」のログＩＤの順序は「１」より下位の順序は存在しないため、順序パターン更新部１３は、ログＩＤの順序の更新処理を終了する。この時点で更新された順序パターンは、図１９に示す順序パターン１３１である。
【０１２４】
ログＩＤの順序の更新のサブルーチン処理の後、順序パターン更新部１３は、変数ＲにＰｊ（ｊ＝１）のフラグを加える（図１３のＡ７処理）。
【０１２５】
次に、集合Ｓｉ（ｉ＝３）とパターン集合Ｐｊ（ｊ＝１）の共通の要素をそれぞれ除去するため、集合Ｓｉ（ｉ＝３）とパターン集合Ｐｊ（ｊ＝１）からそれぞれログＩＤの要素｛１，２，４，５｝を除去する。と、集合Ｓｉ（ｉ＝３）の要素は空となり、パターン集合Ｐｊ（ｊ＝１）の要素は、｛３，６｝となる。更新の結果Ｓｉに要素が存在しないため、パターン集合Ｐｊの処理を終了する。
【０１２６】
続いて、順序パターン更新部１３は、順序パターンの登録のサブルーチン処理を実行する。集合Ｓｉは存在せず（図１４のＢ１処理）、変数Ｒも複数存在しない（図１４のＢ４処理）ため、順序パターン更新部１３は、パターン追加、パターン統合をせず順序パターン１３１のデータを記憶装置１５に登録する。
【０１２７】
（Ｔｉ（ｉ＝４）のループ）
ログ処理装置１０の比較部１２は、時刻集合Ｔｉ（ｉ＝４）を取得し、順序パターンの統合の要否を管理するための変数Ｒを初期化し、取得した時刻集合Ｔｉ（ｉ＝４）の要素｛３，８，６｝を作業用の集合Ｓｉに代入する（図１３のＡ１〜Ａ３処理）。続いて、比較部１２は、記憶装置１５から順序パターン１３１を読込み、パターン集合Ｐｊ（ｊ＝１）の要素｛１，２，３，４，５，６｝を得る（図１３のＡ４処理）。
【０１２８】
集合Ｓｉとパターン集合Ｐｊ（ｊ＝１）に共通する要素｛３，６｝が存在するため（図１３のＡ５処理）、順序パターン更新部１３は、ログＩＤの順序の更新（図１３のＡ６処理）を実行する。
【０１２９】
ログＩＤの順序の更新のサブルーチン処理において、順序パターン更新部１３は、順序毎に順序集合Ｏｍを生成する（図１５のＣ１処理）。
【０１３０】
図２０の順序パターン１３１に示すように、順序パターン更新部１３は、パターンＩＤ（ＰＩＤ）「１」における集合Ｏｍ（ｍ＝１）の要素｛１，２，４，５｝及び集合Ｏｍ（ｍ＝２）の要素｛３，６｝を取得する。ここで、集合Ｏｍ（ｍ＝１）には集合Ｓｉ（ｉ＝４）は含まれない（図１５のＣ７処理）ため、順序パターン更新部１３は、引き続き集合Ｏｍ（ｍ＝２）に対して更新処理を行う。
【０１３１】
集合Ｓｉ（ｉ＝４）と集合Ｏｍ（ｍ＝２）に包含関係はない（図１５のＣ４処理のＮｏ）、次に、順序パターン更新部１３は、集合Ｕｎ（ｎ＝１）として集合Ｓｉ∩順序集合Ｏｍの共通の要素である｛３，６｝を得る。集合Ｕｎ（ｎ＝１）の要素｛３，６、｝と順序集合Ｏｍ（ｍ＝２）の要素｛３，６｝が同じ要素（集合Ｕｎ≠順序集合Ｏｍ）になる（図１５のＣ６処理のＮｏ）のため、次の順序集合Ｏｍの処理を行うが、順序集合Ｏｍ（ｍ＝２）が最後となるためログＩＤの順序の更新処理を完了する。
【０１３２】
続いて、順序パターン更新部１３は、変数Ｒに時刻集合Ｐｊ（ｊ＝１）を格納し（図１３のＡ７処理）、集合Ｓｉとパターン集合Ｐｊの両方に含まれる要素｛３，６｝を除去する。この結果、集合Ｓｉ（ｉ＝４）の要素は｛８｝となり、パターン集合Ｐｊ（ｊ＝２）の要素は空となる（図１３のＡ８処理）。しかし、集合Ｓｉ（ｉ＝４）に要素｛８｝が存在するため、パターンＩＤが「１」のパターン集合Ｐｊ（ｊ＝１）の順序パターンの更新を終え、パターンＩＤが「２」のパターン集合Ｐｊ（ｊ＝２）のログＩＤの更新を継続する。
【０１３３】
次に、比較部１２は、順序パターン１３１のうち、パターンＩＤ「２」のパターン集合Ｐｊ（ｊ＝２）を取得し（図１３のＡ４処理）、集合Ｓｉの要素｛８｝との包含関係を確認する。
【０１３４】
集合Ｓｉの要素｛８｝とパターン集合Ｐｊ（ｊ＝２）の要素｛７，８｝には、共通の要素｛８｝が含まれるため、順序パターン更新部１３は、パターンＩＤ「２」の順序パターンにおけるログＩＤの順序を更新する（図１３のＡ５〜Ａ６処理）。
【０１３５】
続いて、順序パターン更新部１３は、ログＩＤの順序の更新処理のために、順序パターン１３１におけるパターンＩＤ「２」から順序集合Ｏｍ（ｍ＝１）の要素｛７，８｝を取得する。
【０１３６】
集合Ｓｉの要素｛８｝が、順序集合Ｏｍ（ｍ＝１）の要素｛７，８｝に含まれるため（集合Ｓｉ⊂順序集合Ｏｍ）、順序パターン更新部１３は、「順序の更新（Ｉ）」を実行する（図１５のＣ４〜Ｃ５処理）。順序パターン更新部１３は、集合Ｏｍ（ｍ＝１）の｛７，８｝のうち、共通の要素｛８｝以外の要素｛７｝対応するログＩＤ「７」の順序「１」に１を加算して順序「２」として、ログＩＤの順序の更新処理を終了する。この時点で更新された順序パターンは、図２０に示す順序パターン１４１である。
【０１３７】
続いて、比較部１２は、変数ＲにＰｊ（ｊ＝２）を加え、変数Ｒは、｛Ｐｊ（ｊ＝１），Ｐｊ（ｊ＝２）｝とする（図１３のＡ７処理）。
【０１３８】
集合Ｓｉは｛７，８｝であり、パターン集合Ｐｊ（ｊ＝２）は｛８，７｝であるため、集合Ｓｉ（−）∩パターン集合Ｐｊは空になる（図１３のＡ８処理）。また、更新後の順序パターン１４１は、新たなパターンＩＤの順序パターンも追加されていないことから、Ｐｊのループを抜け、順序パターン更新部１３が、順序パターン登録（図１３のＡ１０処理）を実行する。
【０１３９】
順序パターン更新部１３は、集合Ｓｉが存在しないが（図１３のＢ１処理）、変数Ｒが複数存在するため（図１３のＢ４処理）、順序パターンの統合（図１３のＢ５処理）を実行する。
【０１４０】
図２１は、パターンの統合を説明する図である。順序パターン更新部１３は、順序パターン１４１におけるパターンＩＤ「２」のパターンＩＤを「１」に変更し、パターン集合Ｐｊ（ｊ＝２）の要素｛８，７｝に対してその順序を反映させつつ、パターン集合Ｐｊ（ｊ＝１）の順序のうち最後の値に１を加算した値とする。その結果、記憶装置１５が登録する順序パターンは、図２１に示す順序パターン１５１となる。
【０１４１】
（Ｔｉ（ｉ＝５）のループ）
ログ処理装置１０の比較部１２は、時刻集合Ｔｉ（ｉ＝５）を取得し、順序パターンの統合の要否を管理するための変数Ｒを初期化し、取得した時刻集合Ｔｉ（ｉ＝５）の要素｛７｝を作業用の集合Ｓｉに代入する（図１３のＡ１〜Ａ３処理）。続いて、比較部１２は、記憶装置１５から順序パターン１５１を読込み、パターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝を取得する（図１３のＡ４処理）。
【０１４２】
比較部１２は、集合Ｓｉ（ｉ＝５）の要素｛７｝とパターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝とを比較する。集合Ｓｉ（ｉ＝５）∩パターン集合Ｐｊ（ｊ＝１）が存在する（図１３のＡ５処理のＹｅｓ）ため、順序パターン更新部１３は、ログＩＤの順序の更新処理を実行する（図１３のＡ６処理）。
【０１４３】
図２２に時刻集合Ｔｉ（ｉ＝５）［集合Ｓｉ（ｉ＝５）］における順序パターンの更新を説明する図である。集合Ｓｉ（ｉ＝５）の要素｛７｝が、順序パターン１５１の順序集合Ｏｍ（ｍ＝４）の要素｛７｝と一致する（集合Ｓｉ＝順序集合Ｏｍが成立する）（図１５のＣ３処理のＹｅｓ）ため、以後、ログＩＤの更新処理を終了する。
【０１４４】
（第３ログファイル群に基づく順序パターンの更新）
次に、ログ処理装置１０による第３ログファイル群（ログファイル５１〜５６）を用いた順序パターンの更新について説明する。
【０１４５】
ログ処理装置１０の生成部１１は、図１０に示す第３ログファイル群（ログファイル５１〜５６）を読込み、図１１に示す時刻集合Ｔｉ（ｉ＝６）、時刻集合Ｔｉ（ｉ＝７）、時刻集合Ｔｉ（ｉ＝８）を取得する。
【０１４６】
（Ｔｉ（ｉ＝６）のループ）
ログ処理装置１０の比較部１２は、時刻集合Ｔｉ（ｉ＝６）を取得し、順序パターンの統合の要否を管理するための変数Ｒを初期化し、取得した時刻集合Ｔｉ（ｉ＝６）の要素｛１，４，９，１０｝を作業用の集合Ｓｉに代入する（図１３のＡ１〜Ａ３処理）。続いて、比較部１２は、記憶装置１５から順序パターン１５１を読込み、パターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝を取得する（図１３のＡ４処理）。
【０１４７】
比較部１２は、集合Ｓｉ（ｉ＝６）の要素｛１，４，９，１０｝とパターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝とを比較する。集合Ｓｉ（ｉ＝６）∩パターン集合Ｐｊ（ｊ＝１）となる要素｛１，４｝が存在する（図１３のＡ５処理のＹｅｓ）ため、順序パターン更新部１３は、ログＩＤの順序の更新処理のサブルーチンを実行する（図１３のＡ６処理）。
【０１４８】
図２３の順序パターン１５１に示すように、順序パターン更新部１３は、パターンＩＤ（ＰＩＤ）「１」における順序集合Ｏｍ（ｍ＝１）の要素｛１，２，４，５｝、順序集合Ｏｍ（ｍ＝２）の要素｛３，６｝、順序集合Ｏｍ（ｍ＝３）の要素｛８｝及び順序集合Ｏｍ（ｍ＝４）の要素｛７｝を取得する。
【０１４９】
集合Ｓｉ（ｉ＝６）の要素が｛９，１０，１，４｝であり、順序集合Ｏｍ（ｍ＝１）の要素が｛１，２，４，５，３，６，８，７｝との包含関係を調べる。ログＩＤの更新のサブルーチンでＣ３処理及びＣ４処理はいずれもＮｏとなる。集合Ｕｎ（ｎ＝１）の要素は｛１，４｝、集合Ｗｋ（ｋ＝１）の要素は｛２，５，３，６，８，７｝となる（図１５のＣ６処理）。集合Ｕｎ≠順序集合Ｏｍ（ｍ＝１）（図１５のＣ７処理のＹｅｓ）となり、順序集合Ｏｍ（ｍ＝２）が存在する（図１６のＣ８処理のＹｅｓ）。続いて、集合Ｗｋ｛２，５，３，６，８，７｝∩順序集合Ｏｍ（ｍ＝２）の要素｛３，６｝が存在する（図１６のＣ９処理のＹｅｓ）ため、順序パターン更新部１３は、順序の更新（ＩＩ）を実行する。順序パターン更新部１３は、順序パターン１５１において、集合Ｗｋ｛２，５，３，６，８，７｝に対応するログＩＤの順序にそれぞれ１を加算する。この時点で更新された順序パターンは、図２３の順序パターン１６１となる。
【０１５０】
次に順序パターン更新部１３は、処理した集合Ｗｋの要素を集合Ｓｉ（ｉ＝６）から除去し（図１６のＣ１４処理）、集合Ｓｉ（ｉ＝６）の要素は｛９，１０｝となる。次の順序集合Ｏｍ（ｍ＝２）の要素｛３，６｝、順序集合Ｏｍ（ｍ＝３）の要素｛８｝、順序集合Ｏｍ（ｍ＝４）の要素｛７｝に対しても同様の処理を繰り返す。
【０１５１】
集合Ｓｉ（ｉ＝６）の更新処理（図１３のＡ８処理）により、集合Ｓｉ（ｉ＝６）の要素として｛９，１０｝が残る。その後、順序パターン更新部１３は、順序パターンの登録のサブルーチン（図１３のＡ９処理）において、集合Ｓｉ（ｉ＝６）の要素｛９，１０｝が存在する（図１４のＢ１処理）ことから、順序パターンの追加を実行する。図２４は、順序パターンの追加の過程を説明する図である。パターンＩＤ「１」の順序パターンの次にパターンＩＤ「２」を追加し、集合Ｓｉ（ｉ＝１）に対応するログＩＤ「９」、「１０」の順序としてそれぞれ順序「１」を付与する（図１４のＢ２〜Ｂ３処理）。この結果、更新後の順序パターンは、図２４の順序パターン１７１となる。順序パターン更新部１３は、この順序パターン１７１を更新後の順序パターンとして記憶装置１５に登録する。
【０１５２】
（Ｔｉ（ｉ＝７）のループ）
ログ処理装置１０の比較部１２は、時刻集合Ｔｉ（ｉ＝７）を取得し、順序パターンの統合の要否を管理するための変数Ｒを初期化し、取得した時刻集合Ｔｉ（ｉ＝７）の要素｛２，５，６｝を作業用の集合Ｓｉに代入する（図１３のＡ１〜Ａ３処理）。続いて、比較部１２は、記憶装置１５から順序パターン１５１を読込み、パターン集合Ｐｊ（ｊ＝１）の要素｛１，４，２，５，３，６，８，７｝を取得する（図１３のＡ４処理）。
【０１５３】
比較部１２は、集合Ｓｉ（ｉ＝７）の要素｛２，５，６｝とパターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝とを比較する。集合Ｓｉ（ｉ＝７）∩パターン集合Ｐｊ（ｊ＝１）となる要素｛２，５，６｝が存在する（図１３のＡ５処理のＹｅｓ）ため、順序パターン更新部１３は、ログＩＤの順序の更新処理のサブルーチンを実行する（図１３のＡ６処理）。
【０１５４】
図２５の順序パターン１７１に示すように、順序パターン更新部１３は、パターンＩＤ（ＰＩＤ）「１」における順序集合Ｏｍ（ｍ＝１）の要素｛１，４｝、順序集合Ｏｍ（ｍ＝２）の要素｛２，５｝、順序集合Ｏｍ（ｍ＝３）の要素｛３，６｝、順序集合Ｏｍ（ｍ＝４）の要素｛８｝及び順序集合Ｏｍ（ｍ＝５）の要素｛７｝を取得する。
【０１５５】
集合Ｓｉ（ｉ＝７）の要素が｛２，５，６｝であり、順序集合Ｏｍ（ｍ＝２）の要素｛２，５｝の包含関係を調べる。ログＩＤの更新のサブルーチンでＣ３処理及びＣ４処理はいずれもＮｏとなる。集合Ｕｎ（ｎ＝１）の要素は｛２，５｝、集合Ｗｋ（ｋ＝１）の要素は空となる（図１５のＣ６処理）。集合Ｕｎ≠順序集合Ｏｍ（ｍ＝２）（図１５のＣ７処理のＮｏ）となり、順序パターン更新部１３は、処理した要素｛２，５｝を集合Ｓｉ（ｉ＝７）から除去して集合Ｓｉ（ｉ＝７）の要素を｛６｝として（図１６のＣ１４の処理）、順序集合Ｏｍ（ｍ＝２）の処理を終える。
【０１５６】
次に、集合Ｓｉ（ｉ＝７）の要素が｛６｝であり、順序集合Ｏｍ（ｍ＝３）の要素｛３，６｝との包含関係を調べる。集合Ｓｉ（ｉ＝７）⊂順序集合Ｏｍ（ｍ＝３）が成立する（図１５のＣ４処理のＹｅｓ）ため、順序パターン更新部１３は、順序の更新（Ｉ）の処理を実行する。これにより順序パターン更新部１３は、順序集合Ｏｍ（ｍ＝３）の要素｛３｝に対応するログＩＤの順序「３」に１を加算して順序「４」とする。またログＩＤ「６」の順序「３」より下位の順序であるログＩＤ「７」、「８」についても、それぞれの順序「５」、「６」に対して１を加算し、順序「５」、「６」とする。この結果、更新後の順序パターンは、図２５の順序パターン１８１となる。
【０１５７】
（Ｔｉ（ｉ＝８）のループ）
ログ処理装置１０の比較部１２は、時刻集合Ｔｉ（ｉ＝８）を取得し、順序パターンの統合の要否を管理するための変数Ｒを初期化し、取得した時刻集合Ｔｉ（ｉ＝８）の要素｛７，３，８｝を作業用の集合Ｓｉに代入する（図１３のＡ１〜Ａ３処理）。続いて、比較部１２は、記憶装置１５から順序パターン１８１を読込み、パターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝を取得する（図１３のＡ４処理）。
【０１５８】
比較部１２は、集合Ｓｉ（ｉ＝７）の要素｛７，３，８｝とパターン集合Ｐｊ（ｊ＝１）の要素｛１，２，４，５，３，６，８，７｝とを比較する。集合Ｓｉ（ｉ＝８）∩パターン集合Ｐｊ（ｊ＝１）となる要素｛３，８，７｝が存在する（図１３のＡ５処理のＹｅｓ）ため、順序パターン更新部１３は、ログＩＤの順序の更新処理のサブルーチンを実行する（図１３のＡ６処理）。
【０１５９】
続いて、順序パターン更新部１３は、パターンＩＤ（ＰＩＤ）「１」における順序集合Ｏｍ（ｍ＝１）の要素｛１，４｝、順序集合Ｏｍ（ｍ＝２）の要素｛２，５｝、順序集合Ｏｍ（ｍ＝３）の要素｛６｝、順序集合Ｏｍ（ｍ＝４）の要素｛３｝、順序集合Ｏｍ（ｍ＝５）の要素｛８｝、順序集合Ｏｍ（ｍ＝６）の要素｛７｝を取得する（図１５のＣ１〜Ｃ２処理）。
【０１６０】
図２６の順序パターン１８１に示すように、集合Ｓｉ（ｉ＝８）の要素が｛７，３，８｝であり、順序集合Ｏｍ（ｍ＝４）の要素｛３｝、順序集合Ｏｍ（ｍ＝５）の要素｛８｝、又は、順序集合Ｏｍ（ｍ＝６）の要素｛７｝との包含関係を調べる。
【０１６１】
集合Ｓｉ（ｉ＝８）の要素が｛７，３，８｝と順序集合Ｏｍ（ｍ＝４）の要素｛３｝との包含関係において、ログＩＤの更新のサブルーチンでＣ３処理及びＣ４処理はいずれもＮｏとなる。集合Ｕｎ（ｎ＝１）の要素は｛３｝、集合Ｗｋ（ｋ＝１）の要素は空となる（図１５のＣ６処理）。集合Ｕｎ≠順序集合Ｏｍ（ｍ＝４）（図１５のＣ７処理のＮｏ）となり、順序パターン更新部１３は、処理した要素｛３｝を集合Ｓｉ（ｉ＝８）から除去して集合Ｓｉ（ｉ＝８）の要素を｛７，８｝として（図１６のＣ１４の処理）、順序集合Ｏｍ（ｍ＝４）の処理を終える。
【０１６２】
次に、集合Ｓｉ（ｉ＝８）の要素は｛７，８｝と順序集合Ｏｍ（ｍ＝５）の要素｛８｝との包含関係において、ログＩＤの更新のサブルーチンでＣ３処理及びＣ４処理はいずれもＮｏとなる。集合Ｕｎ（ｎ＝１）の要素は｛８｝、集合Ｗｋ（ｋ＝１）の要素は空となる（図１５のＣ６処理）。集合Ｕｎ≠順序集合Ｏｍ（ｍ＝５）（図１５のＣ７処理のＮｏ）となり、順序パターン更新部１３は、処理した要素｛８｝を集合Ｓｉ（ｉ＝８）から除去して集合Ｓｉ（ｉ＝８）の要素を｛７｝として（図１６のＣ１４の処理）、順序集合Ｏｍ（ｍ＝５）の処理を終える。
【０１６３】
次に、集合Ｓｉ（ｉ＝８）の要素は｛７｝と順序集合Ｏｍ（ｍ＝６）の要素｛７｝との包含関係において、ログＩＤの更新のサブルーチンでＣ３処理がＹｅｓとなる。このため、順序パターン更新部１３は、ログＩＤの順序の更新を終える。この後パターンＩＤ「２」のパターン集合Ｐｊ（ｊ＝２）の要素｛９，１０｝に集合Ｓｉ（ｉ＝８）の要素｛７，３，８｝との共通の要素が存在しない（図１３のＡ５処理のＮｏ）ため、更新後の順序パターンは、図２６の順序パターン１９１となる。
【０１６４】
順序パターン更新部１３は、順序パターン１９１を記憶装置１５に登録して、第３ログファイル群に基づく順序パターンの更新を終える。
【０１６５】
（第２の実施形態の効果）
第２の実施形態に係るログ処理装置は、ログファイルに記録された同一時刻のログに対して、ログの順序付けを可能にするログ処理装置、ログ処理方法とそのプログラムを提供することができる。
【０１６６】
その理由は、ログファイルにおける同一時刻のログの順序付けのために、第２の実施形態に係るログ処理装置は、各ログに対応するログＩＤとそのログＩＤの順序を示す順序パターンを生成し、ログファイルに含まれる同一時刻のログの出現に応じて、生成した順序パターンにおけるログＩＤの順序を更新するからである。ログ処理装置により更新された順序パターンにおけるログＩＤの順序を参照することで、ログファイルにおける同一時刻のログの順位付けが可能となる。
【０１６７】
本発明の第３の実施形態に係るログ処理装置について、図２７を用いて説明する。図２７は、第３の実施形態に係るログ処理装置２０の構成を示すブロック図である。図２７に示すように、ログ処理装置２０は、第２の実施形態のログ処理装置１０にログ並び替え部１４を追加した構成である。ログ処理装置２０のログ並び替え部１４は、生成部１１がログファイルから生成した同一時刻におけるログ及び対応するログＩＤが記されたログ集約データを取得し、比較部１２を介して記憶装置１４からログＩＤの順序を示す順序パターンを取得する。ログ並び替え部１４は、順序パターンに記されたログＩＤの順序を参照して、同一時刻のログの順序を並び替える。なお、上記では、ログ並びかえ部１４は、比較部１４を介して記憶装置１５から順序パターンを取得する例を記載したが、比較部１４を介さずにログ並び替え部１４が記憶装置１５から順序パターンを取得してもよい。
【０１６８】
図２８は、記憶装置１５に登録された順序パターンを参照して、同一時刻におけるログの順序を並び替える一例を示す図である。図２８中、ログ集約データ９１は、読み込まれたログファイルに基づきログ処理装置２０の生成部１１で生成された時刻「１０：００：０８」におけるログ集約データである。また順序パターン９２は、記憶装置１５に登録された最新の順序パターンである。
【０１６９】
図２８のログ集約データ９１の例を用い、ログ処理装置２０による同一時刻における各ログの順序の並び替えについて説明する。
【０１７０】
ログ処理装置２０の比較部１２は、生成部１１で生成された同一時刻の各ログに対応するログＩＤを検索キーとして、順序パターン９２におけるログＩＤの順序を検索する。続いて、ログ処理装置２０のログ並び替え部１４は、順序パターン９２のログＩＤの順序に基づき、同一時刻における各ログの順序を並び替える。またログ並び替え部１４はログ処理装置２０の外部へ各ログの順序を並び替えて出力できる。
【０１７１】
図２８の例において、時刻「１０：００：０８」におけるログ「ＡＡＡ２」、「ＢＢＢ２」、「ＣＣＣ２」に対応するログＩＤは、それぞれ｛７｝、｛３｝、｛８｝である。ログ処理装置２０は、順序パターン９２におけるログＩＤ｛３，８，７｝の順序を参照し、ログ集約データ９３に示すようにログの順序を「ＢＢＢ２」、「ＣＣＣ２」、「ＡＡＡ２」の順に変更することができる。
（ハードウエア構成）
図２９は、本発明の第１〜第３の実施形態に係るログ処理装置をコンピュータ装置で実現したハードウエア構成を示す図である。
【０１７２】
図２９に示すように、ログ処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１、ネットワーク接続用の通信Ｉ／Ｆ（通信インターフェース）２１２、メモリ２１３、及び、プログラムを格納するハードディスク等の記憶装置２１４を含み、システムバス２１７を介して入力装置２１５及び、出力装置２１６に接続されている。
【０１７３】
ＣＰＵ２１１は、オペレーティングシステムを動作させて本発明の第１〜第３の実施形態におけるログ処理装置を制御する。またＣＰＵ２１１は、例えば、ドライブ装置に装着された記録媒体からメモリ２１３にプログラムやデータを読み出す。
【０１７４】
また、ＣＰＵ２１１は、例えば、ログ処理装置１０の生成部１１、比較部１２、順序パターン更新部１３及びログ処理装置２０のログ並び替え部１４から入力される情報信号を処理する機能を有し、プログラムに基づいて各種機能の処理を実行する。
【０１７５】
記憶装置２１４は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、又は半導体メモリ等である。記憶装置２１４の一部の記憶媒体は、不揮発性記憶装置であり、そこにプログラムを記憶する。また、プログラムは、通信網に接続されている。図示しない外部コンピュータからダウンロードされてもよい。
【０１７６】
入力装置２１５は、例えば、マウス、キーボード、内臓のキーボタン、カード取込口、又は、タッチパネルなどで実現され、入力操作に用いられる。
【０１７７】
出力装置２１６は、例えば、ディスプレイで実現され、ＣＰＵ２１１により処理された情報等を出力して確認するために用いられる。
【０１７８】
以上のように、本発明の各実施形態は、図２９に示されるハードウエア構成によって実現される。但し、ログ処理装置１０及びログ処理装置２０が備える各部の実現手段は、特に限定されない。すなわち、は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置により実現してもよい。
【０１７９】
本発明の第１〜第３の実施形態のログ処理装置は、データセンタを運用管理する技術に適用できる。なお、本発明の適用範囲は、化学プラント、発電所又は自動車に実装されたコンピュータ又はＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅｓ  ｓｙｓｔｅｍ）が出力するログファイルを分析することにも適用できる。
【０１８０】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１８１】
（付記１）
時刻毎のログを含むログファイルの各ログにログＩＤを付与する付与部と、
前記ログＩＤの順序を示す順序パターンを生成し、同一時刻における前記ログＩＤの出現に応じて前記順序パターンの前記ログＩＤの順序を更新する更新部と、
を備えるログ処理装置。
【０１８２】
（付記２）
前記更新部は、出現順序の遅いログＩＤの順序を出現順序の早いログＩＤの順序よりも下位にする、付記１記載のログ処理装置。
【０１８３】
（付記３）
同一順序のログＩＤと下位順序のログＩＤを含む順序パターンに対して、
前記更新部は、出現したログＩＤの順序はそのままにし、出現しなかった同一順序のログＩＤの順序、及び、下位順序のログＩＤの順序をそれぞれ繰り下げる、付記１又は２に記載のログ処理装置。
【０１８４】
（付記４）
前記付与部は、
時刻毎のログを含むログファイルに基づき、前記ログに対応するログＩＤの集合であり時刻単位の時刻集合Ｔｉを生成する生成部を備える、付記１記載のログ処理装置。
【０１８５】
（付記５）
前記生成部は、前記ログファイルの前記各ログを結合し、結合した前記各ログを前記時刻単位でクラスタリング処理し、前記クラスタリング処理された各ログに前記ログＩＤを付与し、時刻単位の前記時刻集合Ｔｉを生成する、付記４に記載のログ処理装置。
【０１８６】
（付記６）
前記順序パターンは、順序パターンを識別するパターンＩＤを含み
前記更新部は、
前記ログＩＤの順序を示す順序パターンを読込み、前記パターンＩＤ毎の前記ログＩＤの集合であるパターン集合Ｐｊを生成し、前記時刻集合Ｔｉと前記パターン集合Ｐｊを比較する比較部と、を備える付記１〜５のいずれか１項に記載のログ処理装置。
【０１８７】
（付記７）
前記比較部は、前記パターンＩＤ順に、前記順序集合Ｐｊと前記時刻集合Ｔｉを比較する、付記６に記載のログ処理装置。
【０１８８】
（付記８）
前記更新部は、
前記ログＩＤの順序を示す順序パターンを読込み、前記順序パターンにおける前記ログＩＤの順序毎の集合である順序集合Ｏｍを生成し、前記時刻集合Ｔｉと前記順序集合Ｏｍの包含関係を調べ、前記時刻集合Ｔｉと前記順序集合Ｏｍの包含関係に基づき、前記順序パターンにおける前記ログＩＤの順序を更新する順序パターン更新部と、
を備える付記１〜７のいずれか１項に記載のログ処理装置。
【０１８９】
（付記９）
前記比較の結果、前記順序集合Ｏｍに含まれない前記時刻集合Ｔｉの要素が存在する場合、
前記順序パターン更新部は、前記取得した順序パターンの前記ログＩＤに対して、前記順序集合Ｏｍに含まれない時刻集合ＴｉのログＩＤを追加し、前記取得した順序パターンの前記パターンＩＤに対して、追加した前記ログＩＤに対応する前記パターンＩＤとして、前記パターンＩＤの最大値に１を加算した値を追加する、付記８に記載のログ処理装置。
【０１９０】
（付記１０）
前記順序パターン更新部は、前記時刻集合Ｔｉと前記順序集合Ｏｍの包含関係を調べ、前記時刻集合Ｔｉと前記順序集合Ｏｍで共通するログＩＤの順序をそのままにし、前記順序集合Ｏｍの中で前記時刻集合Ｔｉと共通でないログＩＤの順序、及び、前記共通するログＩＤの順序より下位の順序となるログＩＤの順序に１を加算する、付記８又は９に記載のログ処理装置。
【０１９１】
（付記１１）
前記生成部は、所定の周期で前記ログファイルを取得した後又は取得したログファイルが所定の数になった後に、前記時刻集合Ｔｉを生成する、付記４に記載のログ処理装置。
【０１９２】
（付記１２）
前記順序パターン更新部は、パターンＩＤが複数存在する場合、前記順序パターンのうち、前記パターンＩＤが大きな順序パターンのログＩＤとその順序をパターンＩＤが小さい順序パターンへ順序を加える、付記６に記載のログ処理装置。
【０１９３】
（付記１３）
時刻毎のログを含むログファイルの各ログにログＩＤを付与し、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する、ログ処理方法。
【０１９４】
（付記１４）
コンピュータに、時刻毎のログを含むログファイルの各ログにログＩＤを付与し、ログＩＤの順序を示す順序パターンを生成し、同一時刻におけるログＩＤの出現に応じて順序パターンのログＩＤの順序を更新する、ことを実行させるログ処理プログラム。
【符号の説明】
【０１９５】
１  ログ処理装置
２  付与部
３  更新部
１０  ログ処理装置
１１  生成部
１２  比較部
１３  順序パターン更新部
１４  ログ並び替え部
１５  記憶装置
２０  ログ処理装置
３１  ログファイル
３２  ログファイル
３３  ログファイル
３４  ログファイル
４１  ログファイル
４２  ログファイル
４３  ログファイル
４４  ログファイル
５１  ログファイル
５２  ログファイル
５３  ログファイル
５４  ログファイル
５５  ログファイル
５６  ログファイル
６１  ログ集約データ
６２  ログ集約データ
６３  ログ集約データ
７１  ログ集約データ
７２  ログ集約データ
７３  ログ集約データ
７４  ログ集約データ
８１  ログ集約データ
８２  ログ集約データ
８３  ログ集約データ
８４  ログ集約データ
９１  ログ集約データ
９２  順序パターン
９３  ログ集約データ
１０１  順序パターン
１０２Ａ  順序パターン
１０２Ｂ  順序パターン
１１１  順序パターン
１２１  順序パターン
１３１  順序パターン
１４１  順序パターン
１５１  順序パターン
１６１  順序パターン
１７１  順序パターン
１８１  順序パターン
１９１  順序パターン
２１１  ＣＰＵ
２１２  通信Ｉ／Ｆ（通信インターフェース）
２１３  メモリ
２１４  記憶装置
２１５  入力装置
２１６  出力装置
２１７  システムバス
【図１】
2016035617.tif 000003
【図２】
2016035617.tif 000004
【図３】
2016035617.tif 000005
【図４】
2016035617.tif 000006
【図５】
2016035617.tif 000007
【図６】
2016035617.tif 000008
【図７】
2016035617.tif 000009
【図８】
2016035617.tif 000010
【図９】
2016035617.tif 000011
【図１０】
2016035617.tif 000012
【図１１】
2016035617.tif 000013
【図１２】
2016035617.tif 000014
【図１３】
2016035617.tif 000015
【図１４】
2016035617.tif 000016
【図１５】
2016035617.tif 000017
【図１６】
2016035617.tif 000018
【図１７】
2016035617.tif 000019
【図１８】
2016035617.tif 000020
【図１９】
2016035617.tif 000021
【図２０】
2016035617.tif 000022
【図２１】
2016035617.tif 000023
【図２２】
2016035617.tif 000024
【図２３】
2016035617.tif 000025
【図２４】
2016035617.tif 000026
【図２５】
2016035617.tif 000027
【図２６】
2016035617.tif 000028
【図２７】
2016035617.tif 000029
【図２８】
2016035617.tif 000030
【図２９】
2016035617.tif 000031