(57)【要約】  情報処理装置２０００は、イベント履歴集合（１０）について解析を行う。イベント履歴集合（１０）は、複数のイベント履歴（１２）の集合である。イベント履歴（１２）は、対象のコンピュータシステムにおいて発生したイベントに関する情報である。情報処理装置２０００は、解析の結果に基づいて、削除対象から除外するイベント履歴（１２）を選択する。そして、情報処理装置（２０００）は、削除対象から除外されたイベント履歴（１２）以外のイベント履歴（１２）を、イベント履歴集合（１０）から削除する。
2020065778.tif 000002
【特許請求の範囲】
【請求項１】
複数のイベント履歴を含むイベント履歴集合について解析を行う解析部と、
前記解析の結果に基づいて、前記イベント履歴集合の中から、削除対象から除外するイベント履歴を選択する選択部と、
前記選択されたイベント履歴以外のイベント履歴を、前記イベント履歴集合から削除する削除部と、を有する情報処理装置。
【請求項２】
前記解析部は、前記イベント履歴よって表されるイベントの異常度合いを解析し、
前記選択部は、異常なイベントを示す前記イベント履歴を選択する、請求項１に記載の情報処理装置。
【請求項３】
前記解析部は、異常なイベントを示す前記イベント履歴について因果分析を行い、
前記選択部は、異常なイベントを示す前記イベント履歴、及びそのイベント履歴が示すイベントと因果関係を持つイベントを示す前記イベント履歴を、削除対象から除外する、請求項２に記載の情報処理装置。
【請求項４】
前記解析部は、異常なイベントを含むコントロールフローグラフ又はデータフローグラフを生成し、生成したコントロールフローグラフ又はデータフローグラフに含まれる各イベントに対応するイベント履歴を削除対象から除外する、請求項３に記載の情報処理装置。
【請求項５】
前記削除部は、前記選択部によって選択されたイベント履歴以外のイベント履歴のうち、所定期間以上前のイベントを表すイベント履歴を削除する、請求項１乃至４いずれか一項に記載の情報処理装置。
【請求項６】
前記解析部は、所定のタイミングで繰り返し前記解析を行う、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項７】
コンピュータによって実行される制御方法であって、
複数のイベント履歴を含むイベント履歴集合について解析を行う解析ステップと、
前記解析の結果に基づいて、前記イベント履歴集合の中から、削除対象から除外するイベント履歴を選択する選択ステップと、
前記選択されたイベント履歴以外のイベント履歴を、前記イベント履歴集合から削除する削除ステップと、を有する制御方法。
【請求項８】
前記解析ステップにおいて、前記イベント履歴よって表されるイベントの異常度合いを解析し、
前記選択ステップにおいて、異常なイベントを示す前記イベント履歴を選択する、請求項７に記載の制御方法。
【請求項９】
前記解析ステップにおいて、異常なイベントを示す前記イベント履歴について因果分析を行い、
前記選択ステップにおいて、異常なイベントを示す前記イベント履歴、及びそのイベント履歴が示すイベントと因果関係を持つイベントを示す前記イベント履歴を、削除対象から除外する、請求項８に記載の制御方法。
【請求項１０】
前記解析ステップにおいて、異常なイベントを含むコントロールフローグラフ又はデータフローグラフを生成し、生成したコントロールフローグラフ又はデータフローグラフに含まれる各イベントに対応するイベント履歴を削除対象から除外する、請求項９に記載の制御方法。
【請求項１１】
前記削除ステップにおいて、前記選択ステップによって選択されたイベント履歴以外のイベント履歴のうち、所定期間以上前のイベントを表すイベント履歴を削除する、請求項７乃至１０いずれか一項に記載の制御方法。
【請求項１２】
前記解析ステップにおいて、所定のタイミングで繰り返し前記解析を行う、請求項７乃至１１いずれか一項に記載の制御方法。
【請求項１３】
請求項７乃至１２いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は履歴の管理に関する。
【背景技術】
【０００２】
種々のイベントの履歴を管理する技術が開発されている。例えば特許文献１は、循環バッファで調査対象イベントのログを管理する技術を開示している。循環バッファであるため、バッファの最後尾までログが書き込まれたら、バッファの先頭に戻り、既存のログを上書きしてログの書き込みが継続される。ただし、所定ＩＤのイベントが格納されている領域については、上書きを行わないようにする。【０００３】
特許文献２は、ログのデータ量が閾値以上になった場合に、ログファイルからエラーログ及びエラーログに関連するログを抽出し、抽出したログ以外のログをログファイルから削除する技術を開示している。ここで、エラーログに関連するログは、エラーログの前後ｎ秒に記録されたログ、又はエラーログの前後ｎ件に記録されたログである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４６０７４号公報
【特許文献２】特開２０１３−０６５２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１と２では、所定のイベントのログ以外のログを削除する。さらに特許文献２では、所定のイベントの前後ｎ件やｎ秒のログも削除しない。しかし、ログファイルにおいて残すべきログは、所定のイベントやそのイベントの前後にあるログだけであるとは限らない。【０００６】
本発明は、上述の課題に鑑みてなされたものであり、その目的の一つは、イベントの履歴を柔軟に管理する技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、１）複数のイベント履歴を含むイベント履歴集合について解析を行う解析部と、２）解析の結果に基づいて、イベント履歴集合の中から、削除対象から除外するイベント履歴を選択する選択部と、３）選択されたイベント履歴以外のイベント履歴を、イベント履歴集合から削除する削除部と、を有する。【０００８】
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、１）複数のイベント履歴を含むイベント履歴集合について解析を行う解析ステップと、２）解析の結果に基づいて、イベント履歴集合の中から、削除対象から除外するイベント履歴を選択する選択ステップと、３）選択されたイベント履歴以外のイベント履歴を、イベント履歴集合から削除する削除ステップと、を有する。【０００９】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【００１０】
本発明によれば、イベントの履歴を柔軟に管理する技術が提供される。
【図面の簡単な説明】
【００１１】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
【図１】実施形態１の情報処理装置の動作の概要を表す図である。
【図２】実施形態１の情報処理装置の構成を例示する図である。
【図３】情報処理装置を実現するための計算機を例示する図である。
【図４】実施形態１の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図５】イベント履歴集合をテーブル形式で例示する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１３】
［実施形態１］
＜概要＞
図１は、実施形態１の情報処理装置の動作の概要を表す図である。図１は情報処理装置２０００の動作についての理解を容易にするための概念的な図であり、情報処理装置２０００の動作を具体的に限定するものではない。
【００１４】
情報処理装置２０００は、イベント履歴集合１０を扱う。イベント履歴集合１０は、複数のイベント履歴１２の集合である。イベント履歴１２は、対象のコンピュータシステム（以下、対象システム）において発生したイベントに関する情報である。対象システムは、１つ以上の任意のマシンで構成される。マシンは、物理マシンであってもよいし、仮想マシンであってもよい。イベントは、例えば、対象システムに含まれるマシンで動作するプロセスが行った活動（ファイルや他のプロセスへのアクセスなど）を表す。
【００１５】
情報処理装置２０００は、イベント履歴集合１０について解析を行い、その結果に基づいて、削除対象から除外するイベント履歴１２を選択する。そして、情報処理装置２０００は、削除対象から除外されたイベント履歴１２以外のイベント履歴１２を、イベント履歴集合１０から削除する。
【００１６】
例えば図１の例において、選択部２０４０は、３つのイベント履歴１２のうち、１つ目のイベント履歴１２と３つ目のイベント履歴１２を選択している。そのため、削除部２０６０は、イベント履歴集合１０から、２つ目のイベント履歴１２を削除する。
【００１７】
＜作用効果＞
イベント履歴集合１０からイベント履歴１２を削除しないと、イベント履歴集合１０に含まれるイベント履歴１２は増え続ける。その結果、イベント履歴集合１０を記憶させる記憶装置の記憶領域が不足してしまう。ただし、イベント履歴集合１０の中には、将来必要になるイベント履歴１２も含まれているため、何らかの方法でそのような削除すべきでないイベント履歴１２を決める必要がある。
【００１８】
そこで本実施形態の情報処理装置２０００は、イベント履歴集合１０について解析を行って、削除対象から除外するイベント履歴１２を選択し、選択されなかったイベント履歴１２をイベント履歴集合１０から削除する。こうすることで、イベント履歴１２の量を減らしてイベント履歴１２の保存に必要な計算機資源を削減しつつ、将来必要になるイベント履歴１２については保持し続けることができる。
【００１９】
また、解析結果に基づいて削除対象から除外するイベント履歴１２が選択されるため、所定の識別子をイベント履歴１２及びその前後に記録されているイベント履歴１２のみを削除対象から除外できるケースと異なり、削除対象から除外するイベント履歴１２を柔軟に選ぶことができる。よって、イベント履歴１２を柔軟に管理することができる。
【００２０】
以下、本実施形態の情報処理装置２０００についてさらに詳細に説明する。
【００２１】
＜情報処理装置２０００の機能構成の例＞
図２は、実施形態１の情報処理装置２０００の構成を例示する図である。情報処理装置２０００は解析部２０２０、選択部２０４０、及び削除部２０６０を有する。解析部２０２０は、イベント履歴集合１０について解析を行う。選択部２０４０は、解析の結果に基づいて、イベント履歴集合１０の中から、削除対象から除外するイベント履歴１２を選択する。削除部２０６０は、選択されたイベント履歴１２以外のイベント履歴１２（すなわち、選択されなかったイベント履歴１２）を、イベント履歴集合１０から削除する。
【００２２】
＜情報処理装置２０００のハードウエア構成＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００２３】
図３は、情報処理装置２０００を実現するための計算機１０００を例示する図である。計算機１０００は任意の計算機である。例えば計算機１０００は、Personal Computer（PC）やサーバマシンなどの据え置き型の計算機である。その他にも例えば、計算機１０００は、スマートフォンやタブレット端末などの可搬型の計算機である。計算機１０００は、情報処理装置２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００２４】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。
【００２５】
プロセッサ１０４０は、CPU（Central Processing Unit）、GPU（Graphics Processing Unit）、FPGA（Field−Programmable Gate Array）などの種々のプロセッサである。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。
【００２６】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース１１００には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
【００２７】
ネットワークインタフェース１１２０は、計算機１０００を通信網に接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００２８】
ストレージデバイス１０８０は、情報処理装置２０００の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００２９】
＜処理の流れ＞
図４は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。解析部２０２０は、イベント履歴集合１０を取得する。解析部２０２０は、イベント履歴集合１０について解析を行う（Ｓ１０４）。選択部２０４０は、解析の結果に基づいて、イベント履歴集合１０の中から、削除対象から除外するイベント履歴１２を選択する（Ｓ１０６）。削除部２０６０は、選択されたイベント履歴１２以外のイベント履歴１２を、イベント履歴集合１０から削除する（Ｓ１０８）。
【００３０】
なお、情報処理装置２０００が実行する処理の流れは、図４に示した流れに限定されない。例えば、選択部２０４０の処理は、解析部２０２０が解析を行う度に行われる必要は無い。例えば、解析部２０２０の処理と選択部２０４０の処理を、それぞれ異なる周期で繰り返し実行するようにする。この場合、解析部２０２０の処理の周期を、選択部２０４０の処理の周期よりも短くする。
【００３１】
＜イベント履歴１２について＞
イベント履歴１２は、過去の或る時点において対象システム上で（対象システムに含まれるマシン上で）発生したイベントに関する情報である。イベント履歴１２は、イベントの発生時刻とイベントの内容とを対応づけて示す。
【００３２】
例えばイベント履歴１２は、コンピュータシステム１０上で動作するプロセスの活動の履歴を表す。或るプロセスが他のプロセスを客体として活動する場合、これらのプロセスは互いに同一の OS（Operating System）上で動作するものであってもよいし、互いに異なる OS 上で動作するものであってもよい。後者の例としては、例えば、ソケットインタフェースを利用することで、或るプロセスが他の OS 上で動作する別のプロセスと通信を行うことが考えられる。
【００３３】
例えばイベントは、主体、客体、活動内容、及び発生時刻という４つの要素を表す情報によって識別される。そこで例えば、イベント履歴１２は、主体を表す主体情報、客体を表す客体情報、活動の内容を表す内容情報、及び発生時刻の組み合わせを示す。
【００３４】
主体情報は、例えば、そのイベントを発生させたプロセスを識別する情報である。以下、プロセスを識別する情報をプロセス識別情報と呼ぶ。プロセス識別情報は、例えば、プロセスの名称を示す。その他にも例えば、プロセス識別情報は、プロセス ID（Identifier）、プロセスに対応するプログラムの実行ファイルの名称やパス、実行ファイルのハッシュ値やデジタル署名、又は実行ファイルで実現されるアプリケーションの名称などである。なお、プロセス識別情報は、実行ファイルのパスとプロセスＩＤの組み合わせなど、複数の識別子の組み合わせであってもよい。
【００３５】
客体情報は、例えば、その客体の種別及び識別情報である。客体の種別は、例えば、プロセス、ファイル、又はソケットなどである。客体がプロセスである場合、客体情報にはそのプロセスのプロセス識別情報が含まれる。
【００３６】
客体がファイルである場合、客体情報には、そのファイルを識別する情報（以下、ファイル識別情報）が含まれる。ファイル識別情報は、例えばそのファイルの名称やパスなどである。また、客体がファイルである場合、客体情報は、そのファイルのハッシュ値や、ファイルシステムの識別情報とそのファイルシステム上でそのファイルを構成するディスクブロックの識別情報（inode 番号やオブジェクト ID）との組み合わせなどであってもよい。
【００３７】
客体がソケットである場合、例えば客体情報には、ソケットに割り当てられた識別子が含まれる。
【００３８】
内容情報は、例えば、種々ある活動内容に予め割り当てておく識別子である。例えば、「プロセスを起動する」、「プロセスを停止する」、「ファイルをオープンする」、「ファイルからデータを読み込む」、「ファイルにデータを書き込む」、「ソケットをオープンする」、「ソケットからデータを読み込む」、又は「ソケットにデータを書き込む」などといった活動の内容に、互いに異なる識別子を割り当てておく。なお、ソケットに対するアクセスは、そのソケットに対応づけられた他の装置へのアクセスを意味する。
【００３９】
図５は、イベント履歴集合１０をテーブル形式で例示する図である。以下、図５のテーブルをテーブル２００と呼ぶ。テーブル２００の各レコードは、１つのイベント履歴１２を表す。テーブル２００は、主体情報２０２、客体情報２０４、内容情報２０６、及び発生時刻２０７を含む。主体情報２０２は、プロセス名２０８及びパス２１０が含まれている。客体情報２０４には、種別２１２及び識別情報２１４が含まれている。発生時刻２０７は、イベントが発生した時刻を示す。
【００４０】
ここで、イベント履歴１２は、対象システム上におけるプロセスの活動を記録することで生成される。プロセスの活動を記録する技術には、既存の技術を利用することができる。
【００４１】
＜イベント履歴集合１０の取得：Ｓ１０２＞
解析部２０２０は、イベント履歴集合１０を取得する（Ｓ１０２）。イベント履歴集合１０は、解析部２０２０からアクセス可能な記憶装置に記憶されている。この記憶装置を、履歴記憶装置を呼ぶ。履歴記憶装置は、情報処理装置２０００の内部に設けられていてもよいし、情報処理装置２０００の外部に設けられていてもよい。
【００４２】
解析部２０２０が取得するイベント履歴集合１０は、履歴記憶装置に記憶されている全てのイベント履歴１２であってもよいし、一部のイベント履歴１２であってもよい。後者の場合、例えば解析部２０２０は、まだ解析の対象としていないイベント履歴１２のみを含む集合を、イベント履歴集合１０として取得する。この場合、解析を行ったイベント履歴１２に対し、解析済みであることを示すフラグを対応づけて記憶しておく。
【００４３】
＜イベント履歴集合１０の解析：Ｓ１０４＞
解析部２０２０は、イベント履歴集合１０を解析する（Ｓ１０４）。例えば解析部２０２０は、イベント履歴集合１０に含まれる各イベント履歴１２について、そのイベント履歴１２が示すイベントの異常度合いについて解析する。そして、解析部２０２０は、異常なイベントを示すイベント履歴１２を特定する。
【００４４】
異常なイベントを示すイベント履歴１２を特定する方法には、様々な方法を採用できる。例えば、異常なイベントの特徴を表す特徴情報を予め定めておく。解析部２０２０は、各イベント履歴１２について、特徴情報によって示される異常なイベントの特徴に合致するか否かを判定する。そして解析部２０２０は、異常なイベントの特徴に合致したイベントを示すイベント履歴１２を、異常なイベントを示すイベント履歴１２として特定する。なお、特徴情報の詳細については後述する。
【００４５】
その他にも例えば解析部２０２０は、各イベント履歴１２について、そのイベント履歴１２が示すイベントの異常度合いを数値化した異常スコアを算出する。そして解析部２０２０は、異常スコアが閾値以上であるイベント履歴１２を、異常なイベントを示すイベント履歴１２として特定する。
【００４６】
異常スコアを算出する方法には、様々な方法を採用できる。例えば特徴情報において、イベントの特徴と異常スコアとを対応づけておく。そして解析部２０２０は、イベント履歴１２に合致する特徴情報が示す異常スコアを、そのイベント履歴１２が示すイベントの異常スコアとする。
【００４７】
なお、或るイベント履歴１２に合致する特徴情報が複数ある場合、解析部２０２０は、合致した複数の特徴情報それぞれが示す異常スコアに基づいて、そのイベント履歴１２の異常スコアを算出する。例えば解析部２０２０は、複数の特徴情報が示す異常スコアを積算した値や、複数の特徴情報が示す異常スコアの中の最大値などを、そのイベント履歴１２の異常スコアとする。
【００４８】
さらに、解析部２０２０は、異常なイベントを示すイベント履歴１２と因果関係を持つ１つ以上の他のイベントを特定してもよい。具体的には、解析部２０２０は、異常なイベントを起点とした因果分析（Causal Analysis）を実行する。こうすることで、異常なイベントと因果関係をもつ他のイベントを特定することができる。なお、因果分析の具体的な方法には、既存の技術を利用することができる。
【００４９】
例えば因果分析により、解析部２０２０は、異常なイベント及びそのイベントと因果関係を持つ各イベントを結びつけたコントロールフローグラフやデータフローグラフを生成する。異常なイベントと因果関係を持つ他のイベントは、その異常なイベントを起点として生成されたコントロールフローグラフやデータフローグラフに含まれるイベントとなる。なお、コントロールフローグラフやデータフローグラフを生成する具体的な方法には、既存の技術を利用することができる。
【００５０】
＜＜特徴情報について＞＞
前述したように、異常なイベントの特定には、特徴情報を利用する。特徴情報が示す異常なイベントの特徴としては、様々なものを採用できる。例えば特徴情報は、イベントの主体を特定する情報（イベント履歴１２における主体情報）を示す。具体的には、特徴情報は、イベントの主体として、異常な活動を行うアプリケーションの識別情報（例えば、マルウエアの識別情報など）を示す。この場合、或るイベント履歴１２の主体情報が、特徴情報によって示されるアプリケーションの識別情報と合致する場合に、そのイベント履歴１２が、異常なイベントを示すイベント履歴１２として特定される。
【００５１】
なお、アプリケーションが特定の実行環境（OS やミドルウエア）で実行された場合に限り、そのアプリケーションを異常なイベントの主体として扱いたいこともある。そこで、特徴情報は、アプリケーションの識別情報とその実行環境との組み合わせを示してもよい。この場合、イベント履歴１２の主体情報が、特徴情報によって示されるアプリケーションの識別情報と合致し、なおかつ主体の実行環境が、特徴情報によって示される実行環境と合致する場合に、そのイベント履歴１２が、異常なイベントを示すイベント履歴１２として特定される。なお、特徴情報に実行環境を含める場合、イベント履歴１２にも実行環境を含めるようにする。
【００５２】
その他にも例えば、特徴情報は、イベントの客体を特定する情報（イベント履歴１２における客体情報）を示す。具体的には、イベントの客体として、特定のファイルや通信先を示してもよい。特定のファイルは、例えば、個人情報や機密情報が記憶されているファイルである。特定の通信先は、例えば、マルウエアの通信先として既知である IP アドレスなどで特定される。なお、正常な通信先を定めておき、正常な通信先以外を通信先とするイベントを異常として扱うようにしてもよい。
【００５３】
特徴情報は、主体情報、客体情報、及び内容情報（活動内容を表す情報）のうちの２つの以上の組み合わせを示してもよい。例えば、本来データの読み込みしか行わないアプリケーションＡが、データの読み込み以外（例えばデータの書き込みや他のプロセスの起動）を行った場合、その活動は異常な活動であると言える。この場合、例えば、「主体情報＝アプリケーションＡ、内容情報＝読み込み以外」の組み合わせを特徴情報に示しておく。
【００５４】
＜イベント履歴１２の選択：Ｓ１０６＞
選択部２０４０は、削除対象から除外するイベント履歴１２を選択する（Ｓ１０６）。例えば解析部２０２０が異常なイベントを示すイベント履歴１２を特定した場合、選択部２０４０は、異常なイベントを示すイベント履歴１２を、削除対象から除外するイベント履歴１２として選択する。
【００５５】
異常なイベントについては、後でさらに詳細な解析を行ったりするなど、将来利用される蓋然性が高い。そこで、以上なイベントを示すイベント履歴１２を削除対象から除外することで、将来利用される蓋然性が高いイベント履歴１２を保持し続けることができる。
【００５６】
また、選択部２０４０は、異常なイベントを示すイベント履歴１２に加え、そのイベントと因果関係を持つイベントを示すイベント履歴１２を、削除対象から除外してもよい。例えば前述した因果分析により、解析部２０２０が、異常なイベントと因果関係を持つ１つ以上の他のイベントを特定したとする。この場合、解析部２０２０は、異常なイベントを示すイベント履歴１２、及びそのイベントと因果関係を持つと特定されたイベントを示すイベント履歴１２を、削除対象から除外するイベント履歴１２として選択する。
【００５７】
異常なイベントについて詳細な解析をする場合、そのイベントが発生した原因や、その異常なイベントの影響などについても詳細な分析をする必要が生じる可能性がある。そこで、異常なイベントだけではなく、そのイベントと因果関係を持つイベントの履歴についても削除対象から除外することで、異常なイベントの詳細な解析に利用される蓋然性が高いイベント履歴１２を保持し続けることができる。
【００５８】
選択したイベント履歴１２には、例えば、選択されたことを示すフラグを付けておく。例えば、テーブル２００に除外フラグという列を用意し、初期値として０を設定しておく。選択部２０４０は、削除対象から除外されたイベント履歴１２の除外フラグを１に更新する。
【００５９】
ただし、選択されたイベント履歴１２を特定するための情報は、イベント履歴１２に含めずに、別途の方法で管理してもよい。例えば、選択部２０４０は、削除対象から除外した各イベント履歴１２の識別子（例えばレコードＩＤなど）を示すリストを作成し、任意の記憶装置に記憶させておく。
【００６０】
＜イベント履歴１２の削除：Ｓ１０８＞
削除部２０６０は、選択部２０４０によって選択されなかったイベント履歴１２（すなわち、削除対象から除外されなかったイベント履歴１２）を履歴記憶装置から削除する（Ｓ１０８）。ただし、削除部２０６０は、削除対象から除外されなかったイベント履歴１２のうち、イベント発生時点から所定時間以上が経過したもののみを削除するようにしてもよい。この所定時間は、削除部２０６０に予め設定されていてもよいし、削除部２０６０からアクセス可能な記憶装置に記憶させておいてもよい。
【００６１】
また、削除部２０６０は、削除対象であるイベント履歴１２を、履歴記憶装置とは別の記憶装置（以下、バックアップ記憶装置）に記憶させた上で、そのイベント履歴１２を履歴記憶装置から削除するようにしてもよい。こうすることで、例えば、異常度合いが高いイベントを示すイベント履歴１２のみを履歴記憶装置に残し、その他のイベント履歴１２についてはバックアップ記憶装置に退避させておくといった運用が可能となる。この際、例えば、「履歴記憶装置には、高価だがアクセス速度が高速な記憶装置を利用し、バックアップ記憶装置には、安価だがアクセス速度が低速な記憶装置を利用する」というシステム構成を採用することで、イベント履歴１２の管理のコストパフォーマンスを高くすることができる。
【００６２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【００６３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  複数のイベント履歴を含むイベント履歴集合について解析を行う解析部と、
前記解析の結果に基づいて、前記イベント履歴集合の中から、削除対象から除外するイベント履歴を選択する選択部と、
前記選択されたイベント履歴以外のイベント履歴を、前記イベント履歴集合から削除する削除部と、を有する情報処理装置。
２．  前記解析部は、前記イベント履歴よって表されるイベントの異常度合いを解析し、
前記選択部は、異常なイベントを示す前記イベント履歴を選択する、１．に記載の情報処理装置。
３．  前記解析部は、異常なイベントを示す前記イベント履歴について因果分析を行い、
前記選択部は、異常なイベントを示す前記イベント履歴、及びそのイベント履歴が示すイベントと因果関係を持つイベントを示す前記イベント履歴を、削除対象から除外する、２．に記載の情報処理装置。
４．  前記解析部は、異常なイベントを含むコントロールフローグラフ又はデータフローグラフを生成し、生成したコントロールフローグラフ又はデータフローグラフに含まれる各イベントに対応するイベント履歴を削除対象から除外する、３．に記載の情報処理装置。
５．  前記削除部は、前記選択部によって選択されたイベント履歴以外のイベント履歴のうち、所定期間以上前のイベントを表すイベント履歴を削除する、１．乃至４．いずれか一つに記載の情報処理装置。
６．  前記解析部は、所定のタイミングで繰り返し前記解析を行う、１．乃至５．いずれか一つに記載の情報処理装置。
【００６４】
７．  コンピュータによって実行される制御方法であって、
複数のイベント履歴を含むイベント履歴集合について解析を行う解析ステップと、
前記解析の結果に基づいて、前記イベント履歴集合の中から、削除対象から除外するイベント履歴を選択する選択ステップと、
前記選択されたイベント履歴以外のイベント履歴を、前記イベント履歴集合から削除する削除ステップと、を有する制御方法。
８．  前記解析ステップにおいて、前記イベント履歴よって表されるイベントの異常度合いを解析し、
前記選択ステップにおいて、異常なイベントを示す前記イベント履歴を選択する、７．に記載の制御方法。
９．  前記解析ステップにおいて、異常なイベントを示す前記イベント履歴について因果分析を行い、
前記選択ステップにおいて、異常なイベントを示す前記イベント履歴、及びそのイベント履歴が示すイベントと因果関係を持つイベントを示す前記イベント履歴を、削除対象から除外する、８．に記載の制御方法。
１０．  前記解析ステップにおいて、異常なイベントを含むコントロールフローグラフ又はデータフローグラフを生成し、生成したコントロールフローグラフ又はデータフローグラフに含まれる各イベントに対応するイベント履歴を削除対象から除外する、９．に記載の制御方法。
１１．  前記削除ステップにおいて、前記選択ステップによって選択されたイベント履歴以外のイベント履歴のうち、所定期間以上前のイベントを表すイベント履歴を削除する、７．乃至１０．いずれか一つに記載の制御方法。
１２．  前記解析ステップにおいて、所定のタイミングで繰り返し前記解析を行う、７．乃至１１．いずれか一つに記載の制御方法。
【００６５】
１３．  ７．乃至１２．いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【図１】
2020065778.tif 000003
【図２】
2020065778.tif 000004
【図３】
2020065778.tif 000005
【図４】
2020065778.tif 000006
【図５】
2020065778.tif 000007
【手続補正書】
【提出日】令和3年3月10日(2021.3.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
＜処理の流れ＞
図４は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。解析部２０２０は、イベント履歴集合１０を取得する（Ｓ１０２）。解析部２０２０は、イベント履歴集合１０について解析を行う（Ｓ１０４）。選択部２０４０は、解析の結果に基づいて、イベント履歴集合１０の中から、削除対象から除外するイベント履歴１２を選択する（Ｓ１０６）。削除部２０６０は、選択されたイベント履歴１２以外のイベント履歴１２を、イベント履歴集合１０から削除する（Ｓ１０８）。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
例えばイベント履歴１２は、コンピュータシステム上で動作するプロセスの活動の履歴を表す。或るプロセスが他のプロセスを客体として活動する場合、これらのプロセスは互いに同一の OS（Operating System）上で動作するものであってもよいし、互いに異なる OS 上で動作するものであってもよい。後者の例としては、例えば、ソケットインタフェースを利用することで、或るプロセスが他の OS 上で動作する別のプロセスと通信を行うことが考えられる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
異常なイベントについては、後でさらに詳細な解析を行ったりするなど、将来利用される蓋然性が高い。そこで、異常なイベントを示すイベント履歴１２を削除対象から除外することで、将来利用される蓋然性が高いイベント履歴１２を保持し続けることができる。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2020065778.tif 000008
【国際調査報告】
2020065778.tif 000009
2020065778.tif 000010
2020065778.tif 000011