(57)【要約】ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、ログデータに含まれる各々のログレコードに対して、最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、ログデータを、最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、分割されたログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部とを備える。
2013137070.tif 000002
【特許請求の範囲】
【請求項１】
ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、
前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、
前記ログデータを、前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、
分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、
前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部と、を備えたログ圧縮システム。
【請求項２】
前記分割部は、
前記ログデータを分割することにより、圧縮効果が向上すると判断した場合にのみ、前記ログデータを分割する、請求項１に記載のログ圧縮システム。
【請求項３】
前記前記最も頻出度の高い要素が含まれないレコード群を、それらのレコード群に含まれる最も頻出度の高い要素の有無によってさらに分割し、分割後のログデータを圧縮する、請求項１または２に記載のログ圧縮システム。
【請求項４】
前記表圧縮前処理部は、
前記分割された前記ログデータに連長処理を施す、請求項１から３のいずれか１項に記載のログ圧縮システム。
【請求項５】
ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する工程と、
前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する工程と、
前記ログデータを、前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する工程と、
分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する工程と、
前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する工程と、を備えたログ圧縮方法。
【請求項６】
コンピュータを、
ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、
前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、
前記ログデータを、前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、
分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、
前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部と、して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ圧縮システム、ログ圧縮方法、及びプログラムに関する。
【背景技術】
【０００２】
情報漏えい、不正利用、システムの不具合などの脅威を監視するために、システムの構成要素が生成するイベントログの監視が行われている。イベントログの監視をする目的の一つは、脅威の発覚後にその脅威の原因を究明することである。しかし監視対象のシステムが生成するログは膨大であるため、そのままログを収集すると、ログの保存に必要な記憶容量が大きくなり、また、ログ収集のために多くのリソース（ネットワーク容量・ＣＰＵリソースなど）が必要になる。【０００３】
特許文献１には、時系列観測データの圧縮に関し、直前のデータとの差分を取ることにより、データを圧縮する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−５５９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、システムの構成要素が生成するイベントログは、比較的変化が少ない時系列観測データとは異なり、複数のイベントが出現した順番で非同期に出力されるため、ログを取得した順番のままでは特許文献１のような圧縮方法では十分な圧縮が行えなかった。【０００６】
そこで、本発明の目的は、ログを取得した順番のままでは圧縮しにくいログに対し、より高い圧縮率での圧縮を可能とすることである。
【課題を解決するための手段】
【０００７】
本発明に係るログ圧縮システムは、ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、前記ログデータを、前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部と、を備えたものである。【０００８】
本発明に係るログ圧縮方法は、ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する工程と、前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する工程と、前記ログデータを、前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する工程と、分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する工程と、前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する工程と、を備えたものである。【０００９】
本発明に係るプログラムは、コンピュータを、ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、前記ログデータを、前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部と、して機能させるためのものである。
【発明の効果】
【００１０】
本発明によれば、ログを取得した順番のままでは圧縮しにくいログに対し、より高い圧縮率での圧縮が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１による、ログ圧縮システムの構成を示すブロック図である。
【図２】本発明の実施の形態１による、格納形式変更部の機能構成を示すブロック図である。
【図３】本発明の実施の形態１による、ログ圧縮システムの動作のフローチャートである。
【図４】本発明の実施の形態１による、ログ圧縮システムの動作を説明する図である。
【図５Ａ】本発明の実施の形態１による、ログ圧縮システムの動作を説明する図である。
【図５Ｂ】本発明の実施の形態１による、ログ圧縮システムの動作を説明する図である。
【図６】本発明の実施の形態１による、ログ一時保存装置に格納されるログの例を示す図である。
【図７】本発明の実施の形態２による、ログ圧縮システムの構成を示すブロック図である。
【図８】本発明の実施の形態２による、制限付き格納形式変更部の機能構成を示すブロック図である。
【図９】本発明の実施の形態２による、ログ圧縮システムの動作のフローチャートである。
【図１０】本発明の実施の形態２による、ログ圧縮システムの動作を説明する図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
図１は、本発明の実施の形態１によるログ圧縮システム１０の構成を示すブロック図である。図に示すように、ログ圧縮システム１０は、ログ圧縮装置１、ログ一時保存装置２、およびログ保存装置３を備えている。ログ圧縮装置１は、ログ一時保存装置２およびログ保存装置３と通信回線を介して接続されている。
【００１３】
ログ圧縮装置１は、ＣＰＵ、ＲＯＭやＲＡＭ等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。なお、ログ圧縮装置１は、単一のコンピュータにより構成されるものであっても、通信回線を介して互いに接続された複数のコンピュータにより構成されるものであってもよい。
【００１４】
図１に示すように、ログ圧縮装置１は、格納形式変更部１１、表圧縮前処理部１２、および圧縮処理部１３を含む。格納形式変更部１１、表圧縮前処理部１２、および圧縮処理部１３は、ＣＰＵがＲＯＭ等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。
【００１５】
図２は、格納形式変更部１１の機能構成を示すブロック図である。
図２に示すように、格納形式変更部１１は、頻出度検出部１１１、要素出現有無判別部１１２、および分割部１１３を備えている。
【００１６】
格納形式変更部１１は、ログ一時保存装置２からログのテーブルを受信すると、頻出度検出部１１１において、当該ログのテーブルに含まれる各要素の中で頻出度が最も高い要素を検出する。ここで要素とは、テーブルに含まれる各々のデータ項目の値のことである。
【００１７】
要素出現有無判別部１１２は、検出された頻出度が最も高い要素について、その要素の種類（データ項目）、要素の値（データ項目の値）、および各ログレコードにその要素が含まれるか否かを０（有），１（無）で表した情報を含む分割情報を生成する。
【００１８】
分割部１１３は、ログのテーブルを頻出度の最も高い要素が含まれるログのテーブルと、含まれないログのテーブルに分割する。
【００１９】
圧縮処理部１３は、表圧縮前処理部１２で圧縮しやすい形式に変更したログを圧縮する。圧縮は、ＧｚｉｐやＢｚｉｐ２のような一般的な圧縮手法を用いて行うことができる。
【００２０】
ログ一時保存装置２は、外部のログ収集システムから得られた複数のデータ項目から構成されるログのテーブルが格納されている。ログ一時保存装置２は、これらのログを圧縮しやすい形式に変更して圧縮するまで、一時的に保存する装置である。図６は、ログ一時保存装置２に格納されるログの例を示す図である。図６に示すように、ログ一時保存装置２には、複数のデータ項目から構成されるログが格納されている。
【００２１】
ログ保存装置３は、ログ圧縮装置１で圧縮されたログを保存する装置である。ログ一時保存装置２とログ保存装置３は記憶装置により実装される。
【００２２】
次に、図３のフローチャートを用いて、ログ圧縮システム１０の動作について説明する。
まず、格納形式変更部１１の頻出度検出部１１１において、ログ一時保存装置２から取得したログに含まれる全ての要素の中から、最も頻出度の高い要素を検出する（ステップＳ１）。例えば、図４に示す（１）のようなログのテーブルが得られた場合、頻出度検出部１１１で検出される頻出度が最も高い要素は項目「Ｕｓｅｒ」の値「１」である。
【００２３】
次に、要素出現有無判別部１１２において、最も頻出度の高い要素が、ログの各行に含まれるか否かを判別し、０（有），１（無）で表す(ステップＳ２）。
また、その要素の種類（データ項目）、要素の値（データ項目の値）、および各行にその要素が含まれるか否かを０（有），１（無）で表した情報を含む分割情報を生成する。
【００２４】
図４に示す例では、要素出現有無判別部１１２で生成される分割情報は、図４の（２）に示すように、（Ｔｙｐｅ（要素の種類），Ｃｏｎｔｅｎｔｓ（要素の値），Ｓｔｒｅａｍ（要素の出現有無））＝（ｕｓｅｒ，１，００１０１）となる。
【００２５】
次に、分割部１１３において、ログのテーブルを頻出度の最も高い要素が含まれるログのテーブルと、含まれないログのテーブルに分割する（ステップＳ３）。
【００２６】
図４の例では、（１）のテーブルを最も頻出度が高い要素が含まれるログのテーブル(３)と、最も頻出度が高い要素が含まれないログのテーブル(４)に分割する。
【００２７】
なお、テーブルの分割は１度でもよいしに、さらに、頻出度の最も高い要素が含まれないログのテーブルに関してのみ、２番目、３番目に頻出度が高い要素の有無で分割してもよい（ステップＳ１〜Ｓ４の繰り返し）。繰り返しは、ユーザの操作等によって適当なところで中断してもよいし、それ以上テーブルを分割できなくなるまで分割してもよい。
【００２８】
図５Ａ，Ｂは、テーブルをそれ以上分割できなくなるまで分割した例を示している。このとき、図５Ｂに示す分割表によってログ全体を表現することができる。
【００２９】
次に、表圧縮前処理部１２において、分割されたログの圧縮前処理を行う（ステップＳ４）。
すなわち、格納形式変更部１１によって圧縮しやすい格納形式に変更されたログを、さらに圧縮効率の高い形式に変更する。具体的には、分割情報のうち、最も頻出度が高い要素が含まれるか含まれないかという情報（図３の（２）の例では「Ｓｔｒｅａｍ」）に対して連長処理を施す。
【００３０】
例えば、「Ｓｔｒｅａｍ」＝（００００００１１１１１００００）は、連長圧縮により（０：６，１：５，０：４）と表すことができる。
【００３１】
次に、圧縮処理部１３において、表圧縮前処理部１２でさらに圧縮しやすい形式に変更したログを圧縮し、ログ保存装置３に格納する（ステップＳ５）。
圧縮は、ＧｚｉｐやＢｚｉｐ２のような一般的な圧縮手法を用いて行うことができる。
【００３２】
以上のように、本実施形態によれば、頻出度検出部１１１において、ログの中での頻出度が最大の要素を検出し、要素出現有無判別部１１２においてその要素がログの各行に含まれるか含まれないかを判断し、圧縮処理部１３においてその要素が含まれるログと含まれないログとに分割するようにした。これにより、非同期に発生するイベントが、ログの要素の頻出度という観点から分類できる。一般に、頻出度の高い要素を含むログは、アクセスの特徴を含んでいるログと考えられる。これは、アクセスログには、空間的局所性（同一または類似のアクセスが反復して発生する。）や、時間的局所性（短期間に大量のアクセスが発生する。）という特徴があるからである。また、最大頻出する要素を含むか含まないかでテーブルを分割することにより、頻出する要素が連続して現れることが期待され、連長圧縮の効果が大きい形式となる。
【００３３】
実施の形態２．
図７は、本発明の実施の形態２によるログ圧縮システム４０の構成を示すブロック図である。実施の形態２のログ圧縮装置４は、格納形式変更部１１の代わりに制限付き格納形式変更部４１を備えている。その他の構成は実施の形態１と同様である。
【００３４】
図８は、制限付き格納形式変更部４１の機能構成を示すブロック図である。
図に示すように、制限付き格納形式変更部４１は、頻出度検出部１１１、要素出現有無判別部１１２、および制限付き分割部４１３を備えている。
【００３５】
次に、図９のフローチャートを用いて、ログ圧縮システム４０の動作について説明する。
ステップＳ１、ステップＳ２は、図３に示す実施の形態１の処理と同様に動作する。
【００３６】
次に、ステップＳ６では、テーブルの分割の効果を判断し、分割を行うことにより圧縮率が向上すると判断された場合にのみテーブルの分割を行う。
【００３７】
圧縮率向上の効果の判断基準は、例えば、分割後の要素の種類と値の種類の関係とすることができる。例えば、図１０に示す例では、分割後の要素の種類と値の種類の関係は、要素の種類が１つに対し値の種類が７つとなっている。このような場合、この状態から分割を実行しても、要素の値がそれぞれ異なる７つのテーブルに分割されるだけで連長圧縮の効果は向上しないため、これ以上分割を行わずにステップＳ４に移行する。
ステップＳ４、ステップＳ５は、図３に示す実施の形態１の処理と同様に動作する。
【００３８】
以上のように、本実施形態によれば、アクセスログ特有の特徴ないログのように、頻出度の高い要素の有無によってテーブルを分割しても圧縮効果が向上しない場合には、分割を行わずに圧縮処理をするようにしたので、不要なテーブルの分割処理を行わないようにすることができ、処理効率を向上させることができる。また、ログの構成によってはテーブルの分割により逆に圧縮効果が下がる場合もあるが、実施の形態２によればそのような事態を避けることができる。
【産業上の利用可能性】
【００３９】
本発明は、アクセスログを解析サーバへ送る際のネットワークの負荷軽減のために適用できる。また、アクセスログを一定期間保存しておく際のディスク容量の削減にも適用可能である。【００４０】
この出願は、２０１２年３月１３日に出願された日本出願特願２０１２−５５８００を基礎とする優先権を主張し、その開示の全てをここに取り込む。【００４１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【００４２】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、
前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、
前記ログデータを、前記前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、
分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、
前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部と、を備えたログ圧縮システム。【００４３】
（付記２）前記分割部は、
前記ログデータを分割することにより、圧縮効果が向上すると判断した場合にのみ、前記ログデータを分割する、付記１に記載のログ圧縮システム。【００４４】
（付記３）前記前記最も頻出度の高い要素が含まれないレコード群を、それらのレコード群に含まれる最も頻出度の高い要素の有無によってさらに分割し、分割後のログデータを圧縮する、付記１または２に記載のログ圧縮システム。【００４５】
（付記４）前記表圧縮前処理部は、
前記分割された前記ログデータに連長処理を施す、付記１から３のいずれか１項に記載のログ圧縮システム。【００４６】
（付記５）ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する工程と、
前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する工程と、
前記ログデータを、前記前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する工程と、
分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する工程と、
前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する工程と、を備えたログ圧縮方法。【００４７】
（付記６）コンピュータを、
ログデータに含まれる各々の構成要素のなかから、最も頻出度の高い要素を検出する頻出度検出部と、
前記ログデータに含まれる各々のログレコードに対して、前記最も頻出度の高い要素が含まれるか否かを判別する要素出現有無判別部と、
前記ログデータを、前記前記最も頻出度の高い要素が含まれるレコード群と、含まれないレコード群に分割する分割部と、
分割された前記ログデータを、汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更する表圧縮前処理部と、
前記汎用的圧縮アルゴリズムが圧縮しやすい形式のデータ構造に変更されたログデータを圧縮する圧縮処理部と、して機能させるためのプログラム。
【符号の説明】
【００４８】
１，４  ログ圧縮装置、２  ログ一時保存装置、３  ログ保存装置、１０，４０  ログ圧縮システム、１１  格納形式変更部、１２  表圧縮前処理部、１３  圧縮処理部、４１  制限付き格納形式変更部、１１１  頻出度検出部、１１２  要素出現有無判別部、１１３  分割部、４１３  制限付き分割部
【図１】
2013137070.tif 000003
【図２】
2013137070.tif 000004
【図３】
2013137070.tif 000005
【図４】
2013137070.tif 000006
【図５Ｂ】
2013137070.tif 000007
【図６】
2013137070.tif 000008
【図７】
2013137070.tif 000009
【図８】
2013137070.tif 000010
【図９】
2013137070.tif 000011
【図１０】
2013137070.tif 000012
【図５Ａ】
2013137070.tif 000013
【国際調査報告】
2013137070.tif 000014
2013137070.tif 000015
2013137070.tif 000016
2013137070.tif 000017