(57)【要約】      （修正有）【課題】クラスタ分析の対象となるデータの精度を下げることなく、クラスタ分析の計算量（演算量）を小さくして、高速な分析を実現するクラスタ分析装置及びクラスタ分析方法を提供する。【解決手段】通信フロー毎の複数のネットワーク特徴量を格納する特徴量保存部と、複数のネットワーク特徴量に基づきクラスタリング処理を行うクラスタリング部を備える。クラスタリング部は、複数のネットワーク特徴量の分布を、所定の格子で分割し、格子毎のネットワーク特徴量の密度を取得し、密度の低い格子を、隣接する密度の高い格子に集約することにより、クラスタリング処理を行う。【選択図】図１３
2018037009.tif 000002
【特許請求の範囲】
【請求項１】
演算部、記憶部、入力部、および出力部を備え、
前記記憶部は、
通信フロー毎の複数のネットワーク特徴量を格納する特徴量保存部を備え、
前記演算部は、
前記複数のネットワーク特徴量に基づきクラスタリング処理を行うクラスタリング部を備え、
前記クラスタリング部は、
前記複数のネットワーク特徴量の分布を、所定の格子で分割し、
前記格子毎のネットワーク特徴量の密度を取得し、
密度の低い格子を、隣接する密度の高い格子に集約することにより、クラスタリング処理を行う、
ことを特徴とするクラスタ分析装置。
【請求項２】
前記クラスタリング部は、
最大の密度を有する格子を独立したクラスタとし、
次に大きな密度を有する格子を検索し、
次に大きな密度を有する格子が存在した場合、それに隣接する格子がより大きな密度を持つかどうか判定し、
前記隣接する格子がより大きな密度を持つ場合、前記次に大きな密度を有する格子を、前記隣接する格子と同一のクラスタに集約する、
ことを特徴とする請求項１記載のクラスタ分析装置。
【請求項３】
前記クラスタリング部は、
最大の密度を有する格子を独立したクラスタとし、
次に大きな密度を有する格子を検索し、
次に大きな密度を有する格子が存在した場合、その隣接する格子がより大きな密度を持つかどうか判定し、
前記隣接する格子により大きな密度を持つ格子がない場合、前記次に大きな密度を有する格子を、新たな独立したクラスタとして追加する、
ことを特徴とする請求項１記載のクラスタ分析装置。
【請求項４】
第１の状態における前記複数のネットワーク特徴量に基づく、第１のクラスタリング処理結果を、前記記憶部に格納し、
第２の状態における前記複数のネットワーク特徴量に基づく、第２のクラスタリング処理結果を、前記記憶部に格納し、
前記第１のクラスタリング処理結果と、前記第２のクラスタリング処理結果を比較することにより、ネットワークの異常を判定する、
ことを特徴とする請求項１記載のクラスタ分析装置。
【請求項５】
前記第１のクラスタリング処理結果において存在しないクラスタが、前記第２のクラスタリング処理結果において存在する場合、ネットワークに異常があると判定する、
ことを特徴とする請求項４記載のクラスタ分析装置。
【請求項６】
前記第１のクラスタリング処理結果におけるクラスタの中で最大の密度を有する格子が、前記第２のクラスタリング処理結果において密度０である場合、ネットワークに異常があると判定する、
ことを特徴とする請求項４記載のクラスタ分析装置。
【請求項７】
前記特徴量保存部は、
ネットワーク特徴量を、フロー毎のエントリとして蓄積する特徴量テーブルを備え、
前記記憶部は、
前記複数のネットワーク特徴量の分布を、所定の格子で分割するためのパラメータを保存する分割初期値テーブルを備え、
前記演算部は、
前記特徴量テーブルと前記分割初期値テーブルに基づいて、前記格子の位置、大きさ、および密度を格納する密度テーブルを作成し、前記記憶部に格納する量子化部を備える、
ことを特徴とする請求項１記載のクラスタ分析装置。
【請求項８】
前記分割初期値テーブルは、前記クラスタリング処理の対象となるネットワーク特徴量を指定するパラメータを保存し、
前記演算部は、
前記特徴量テーブルと前記分割初期値テーブルに基づいて、前記クラスタリング処理の対象となるネットワーク特徴量と、当該ネットワーク特徴量の最大値および最小値を格納する正規化テーブルを作成し、前記記憶部に格納する正規化部を備え、
前記量子化部は、前記正規化テーブルと前記分割初期値テーブルに基づいて、処理を行う、
ことを特徴とする請求項７記載のクラスタ分析装置。
【請求項９】
前記分割初期値テーブルは、前記複数のネットワーク特徴量の密度を正規化するためのパラメータを保存し、
前記量子化部は、
前記正規化テーブルと前記分割初期値テーブルに基づいて、前記密度テーブルを作成し、
前記分割初期値テーブルと前記密度テーブルに基づいて、前記格子の位置、大きさ、および量子化された密度を格納する量子化密度テーブルを作成し、前記記憶部に格納する、
ことを特徴とする請求項８記載のクラスタ分析装置。
【請求項１０】
前記出力部は、
前記量子化密度テーブルの内容に基づいた情報を出力し、表示装置に表示させる、
ことを特徴とする請求項９記載のクラスタ分析装置。
【請求項１１】
第１のネットワークと第２のネットワークの間に配置されるネットワークスイッチと、
前記ネットワークスイッチから、複数種類のネットワーク特徴量を取得するネットワーク情報取得装置と、
前記複数種類のネットワーク特徴量を所定の格子で分割し、前記格子毎のネットワーク特徴量の密度を取得し、密度の低い格子を、隣接する密度の高い格子に集約することにより、クラスタリング処理を行うクラスタ分析装置と、
を備えるネットワーク特徴量のクラスタ分析システム。
【請求項１２】
演算部、記憶部、入力部、および出力部を備える情報処理装置により実行されるクラスタ分析方法であって、
前記入力部からＸ種類の特徴量を有する複数のデータを入力し、あるいは、前記記憶部にＸ種類の特徴量を有する複数のデータを準備する第１のステップ、
前記演算部により、複数の領域に分割したＸ次元空間を定義し、前記データを前記Ｘ次元空間上に分布させる第２のステップ、
前記演算部により、前記領域毎に前記データの密度を取得する第３のステップ、
前記演算部により、前記複数の領域のうち、前記データの密度を有する２つの領域が隣接する場合に、密度の小さい領域を、密度の大きな領域が属するクラスタに集約する第４のステップ、
を実行するクラスタ分析方法。
【請求項１３】
前記第３のステップにおいて、データの密度が取得されなかった領域、すなわち、データが存在しない領域については、前記第４のステップの処理対象から除外する、
請求項１２記載のクラスタ分析方法。
【請求項１４】
前記第４のステップにおいて、
第１の密度を有する領域を独立したクラスタとする第５のステップ、
第１の密度の次に大きな第２の密度を有する領域を検索する第６のステップ、
前記第２の密度を有する領域が存在した場合、それに隣接する領域がより大きな密度を持つかどうか判定する第７のステップ、
前記隣接する領域がより大きな密度を持つ場合、前記第２の密度を有する領域を、前記隣接する領域が属するクラスタに集約する第８のステップ、
を実行する請求項１３記載のクラスタ分析方法。
【請求項１５】
前記第４のステップにおいて、
前記隣接する領域により大きな密度を持つ領域がない場合、前記第２の密度を有する領域を、新たな独立したクラスタとして追加する第９のステップ、
を実行する請求項１４記載のクラスタ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの特徴量を用いて、通信フローを分類するクラスタリングシステムに関する。
【背景技術】
【０００２】
近年、空港などで顧客サービスの一環としてＷｉ−Ｆｉアクセスポイントが設置されているが、通信品質の劣化に起因する通信速度や安定性の低下等、利便性に問題がでてきている。このため、ネットワークの通信品質又は通信速度を測定し、その測定結果に基づいて通信フローを分析する技術が重要になっている。アクセスポイントに、普段使われていないポート番号が現れたり、特定のインターネットコンテンツへのアクセスが多くなる等の現象を検出することで、異常なアプリケーションや使われ方の発生を知ることができ、利便性向上のための問題解決の手がかりを得ることが出来る。
【０００３】
特許文献２で示すように、計算機間の通信のある階層における開始から終了までを１つの単位として通信フローと呼び、その品質を抽出する手法が存在する。また、特許文献１で示すように、ネットワークの通信フローを分析する手法として、異なる性質のものが混ざり合ったデータから、分析するデータを２次元で平面にプロットし、互いに似た性質を持つデータを集め、それをグループ化するクラスタ分析という技術が存在する。一般的にクラスタ分析では、データの数が多くなると、類似度を計算するためのデータ間距離等の計算に時間がかかる。
【０００４】
特許文献１では、「入力データに対してサンプリングを実行し前記入力データから一部のデータを抽出する処理を繰り返し実行して複数のサンプリングデータを生成するサンプリング実行部と、前記複数のサンプリングデータについてクラスタ分析を実行し、前記サンプリングデータ毎に、前記サンプリングデータに含まれるデータを異なるクラスタに分類するクラスタ分析部と、前記複数のサンプリングデータに対する前記クラスタ分析部の複数の分類結果と前記入力データとを基にして、前記入力データに含まれるデータの所属するクラスタを予測したデータを示す予測データを複数生成するクラスタ予測部と、前記予測データのクラスタ間距離およびクラスタ内距離を基にして、予測データ毎に評価値を算出し、パレート解となる評価値に対応する予測データを判定する判定部と、前記パレート解となる評価値に対応する予測データを基にして、前記入力データに含まれるデータをクラスタに分類する最終クラスタ計算部とを有することを特徴とする分析装置。」が開示されている。
【０００５】
特許文献２には、「通信データ記憶手段から連続する二つの通信データＸｎ，Ｘｎ＋１を取得して、該通信データＸｎ，Ｘｎ＋１の時間間隔が所定の閾値Ｔｃ以上場合は、該二つの通信データはそれぞれ別の通信クラスタであるとし、該通信データＸｎ＋１を代表的通信とし、該閾値Ｔｃより小さい場合は、同一通信クラスタであり、該Ｘｎ＋１は従属的通信と判定し、代表的通信となった通信データＸｎ＋１の次の通信データＸｎ＋２を通信データ記憶手段から取得して、該通信データＸｎ＋２と該通信データＸｎ＋１の差が所定の代表的通信識別閾値Ｔｆより小さい場合は、該通信データＸｎ＋１を従属的通信とし、分類結果を、該通信データを一意に示す通信識別子と共に分類結果記憶手段に格納する」ことが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−０８７９６６号公報
【特許文献２】特開２０１４−１５４８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
クラスタ分析には、高速に計算することが難しいという課題がある。例えば特許文献１では、クラスタ分析の計算量を小さくするために、入力データに対してサンプリングを行うので、クラスタ分析の対象となるデータは減少することになり、データの精度も低下してしまう。
【０００８】
上記課題を鑑みて、本発明は、クラスタ分析の対象となるデータの精度を下げることなく、クラスタ分析の計算量(演算量)を小さくして、高速な分析を実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明の一側面は、演算部、記憶部、入力部、および出力部を備え、記憶部は、通信フロー毎の複数のネットワーク特徴量を格納する特徴量保存部を備え、演算部は、複数のネットワーク特徴量に基づきクラスタリング処理を行うクラスタリング部を備え、クラスタリング部は、複数のネットワーク特徴量の分布を、所定の格子で分割し、格子毎のネットワーク特徴量の密度を取得し、密度の低い格子を、隣接する密度の高い格子に集約することにより、クラスタリング処理を行う、ことを特徴とするクラスタ分析装置である。
【００１０】
上記課題を解決する本発明の他の一側面は、第１のネットワークと第２のネットワークの間に配置されるネットワークスイッチと、ネットワークスイッチから、複数種類のネットワーク特徴量を取得するネットワーク情報取得装置と、複数種類のネットワーク特徴量を所定の格子で分割し、格子毎のネットワーク特徴量の密度を取得し、密度の低い格子を、隣接する密度の高い格子に集約することにより、クラスタリング処理を行うクラスタ分析装置と、を備えるネットワーク特徴量のクラスタ分析システムである。
【００１１】
上記課題を解決する本発明の他の一側面は、演算部、記憶部、入力部、および出力部を備える情報処理装置により実行されるクラスタ分析方法であって、入力部からＸ種類の特徴量を有する複数のデータを入力し、あるいは、前記記憶部にＸ種類の特徴量を有する複数のデータを準備する第１のステップ、演算部により、複数の領域に分割したＸ次元空間を定義し、データをＸ次元空間上に分布させる第２のステップ、演算部により、領域毎にデータの密度を取得する第３のステップ、演算部により、複数の領域のうち、データの密度を有する２つの領域が隣接する場合に、密度の小さい領域を、密度の大きな領域が属するクラスタに集約する第４のステップ、を実行するクラスタ分析方法である。
【発明の効果】
【００１２】
本発明によれば、クラスタ分析の対象となるデータの精度を下げることなく、クラスタ分析の計算量（演算量）を小さくして、高速な分析を実現可能である。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１が適用されるシステムの全体ブロック図である。
【図２】本発明の実施例１のクラスタシステムの機能ブロック図である。
【図３Ａ】本発明の実施例１の分割初期値テーブルを示す表図である。
【図３Ｂ】本発明の実施例１の特徴量テーブルを示す表図である。
【図３Ｃ】本発明の実施例１の正規化テーブルを示す表図である。
【図３Ｄ】本発明の実施例１の密度テーブルを示す表図である。
【図３Ｅ】本発明の実施例１の量子化密度テーブルを示す表図である。
【図４】本発明の実施例１のクラスタ分析装置のブロック図である。
【図５】本発明の実施例１の全体シーケンス図である。
【図６】本発明の実施例１のネットワークデータ取得装置の出力データ例を示す表図である。
【図７Ａ】本発明の実施例１の量子化へ変換定義の例を説明する概念図である。
【図７Ｂ】本発明の実施例１の量子化へ変換定義の例を説明する概念図である。
【図８】本発明の実施例１の正規化部のフローチャートである。
【図９】本発明の実施例１の量子化部のフローチャートである。
【図１０Ａ】本発明の実施例１の量子化手法の説明概念図である。
【図１０Ｂ】本発明の実施例１の量子化手法の概念説明図である。
【図１０Ｃ】本発明の実施例１の量子化手法の概念説明図である。
【図１１】本発明の実施例１の量子化へ変換定義の例を示す概念図である。
【図１２】本発明の実施例１のクラスタリング手法の概念説明図である。
【図１３】本発明の実施例１のクラスタリング手法のフローチャートである。
【図１４】本発明の実施例１のクラスタリング手法を用いた異常検出の説明概念図である。
【図１５】本発明の実施例１のクラスタリング部のフローチャートである。
【図１６Ａ】本発明の実施例１のクラスタリング手法の説明概念図である。
【図１６Ｂ】本発明の実施例１のクラスタリング手法の説明概念図である。
【図１６Ｃ】本発明の実施例１のクラスタリング手法の説明概念図である。
【図１６Ｄ】本発明の実施例１のクラスタリング手法の説明概念図である。
【図１７】本発明の実施例２のクラスタシステムの機能ブロック図である。
【図１８】本発明の実施例２の正規化部のフローチャートである。
【図１９Ａ】本発明の実施例２の除外併合指定テーブルを示す表図である。
【図１９Ｂ】本発明の実施例２の除外併合指定テーブルを示す表図である。
【図２０】本発明の実施例２の除外範囲のオフセット手法の説明概念図である。
【発明を実施するための形態】
【００１４】
以下に、本発明を適用した分析システムについて、図面を参照して詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１５】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００１６】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００１７】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【実施例１】
【００１８】
＜１．システムおよび装置構成＞
図１は、本実施例が適用されるシステムの全体構成図である。本システムは、クラスタリング情報を表示する情報表示装置（表示部）１０１、特徴量をクラスタリングするクラスタ分析装置１０２、ネットワーク特徴量をネットワーク間の通信より取得するネットワーク情報取得装置１０３、ネットワーク間を接続するネットワークスイッチ１０４、異なる情報ネットワーク１０５、１０６、ネットワークに接続されている計算機１０７、１０８を備える。
【００１９】
図２は、クラスタ分析システムの構成を示すブロック図である。ネットワーク情報取得装置１０３は、ポートミラー等を用いてネットワークを流れるパケットを、パッシブに測定・解析することで、パケットのヘッダ情報から、通信セッション毎に多変特徴量（独立な値をとる種々の特徴量）を抽出する。
【００２０】
クラスタ分析装置１０２は、ネットワーク情報取得装置１０３により抽出された通信セッション毎のヒストリカルな多変特徴量を、蓄積する。また、蓄積した通信セッション毎のヒストリカルな多変特徴量を用いてクラスタ分析を行い、ネットワークの異常挙動を検出する。  
情報表示装置１０１は、通信セッション毎の多変特徴量をリアルタイムまたはヒストリカルに可視化する。
【００２１】
以下、クラスタ分析装置１０２の機能ブロックについて詳細を説明する。
【００２２】
データ受信部１０２５は、ネットワーク情報取得装置１０３からネットワーク特徴量を受信し、分析に必要な量のデータを特徴量テーブル１０２９に保存する。
【００２３】
正規化部１０２４は、分割初期値テーブル１０８１から指定された特徴量を取得し、特徴量テーブル１０２９からデータを指定された特徴量で抽出し、正規化テーブル１０２８に格納する。
【００２４】
量子化部１０２３は、正規化テーブル１０２８からデータを取得し、分割初期値テーブル１０８１の情報を取得し、量子化密度を計算し、量子化密度テーブル１０２６に格納する。
【００２５】
クラスタリング部１０２２は、量子化密度テーブル１０２６に基づき、クラスタリング計算を行い、結果を量子化密度テーブル１０２６に格納する。
【００２６】
データ送信部１０２１は、クラスタリング後の量子化密度テーブル１０２６を情報表示装置に送信する。
【００２７】
図３Ａは分割初期値テーブルの内容の例を示す表図である。分割初期値テーブル１０８１は、実行前にユーザによって指定され、分析するネットワーク特徴量の値の範囲をどのくらいで分割するかを指定する「分割数」、その分割内の密度を離散的に表現する段階を指定する「量子化度」、分析を行って得られるクラスタ数の最小値を指定する「最小クラスタ数」、ネットワーク特徴量からどのパラメータを用いて分析を行うかを指定する「分析特徴量指定数」と「分析特徴量指定」、注目する範囲を詳細に分割を指定する「詳細特徴量指定数」と「詳細特徴量名」、「詳細倍数」、その詳細範囲を指定する「詳細分割幅開始」と「詳細分割幅終了」を定義する情報を格納する。分割初期値テーブル１０８１は、正規化部１０２４、量子化部１０２３、クラスタリング部１０２２で、計算の初期値として利用される。
【００２８】
図３Ｂは特徴量テーブルの内容の例を示す表図である。特徴量テーブル１０２９は、ネットワーク情報取得装置１０３から取得したネットワーク特徴量を、フロー毎のエントリとして蓄積する。ネットワーク特徴量の具体例としては、１通信フロー毎の「送信先ＩＰアドレス（ＤＩＰ）」、「送信元ＩＰアドレス（ＳＩＰ）」、「送信先ポート番号（ＤＰＯＲＴ）」、「送信元ポート番号（ＳＰＯＲＴ）」、「パケット数（ＰＫＴ＿ＣＮＴ）」、「ドロップパケット数（ＤＲＯＰ＿ＣＮＴ）」、「ビット毎秒（ＢＰＳ）」、「経過時間（ＬＩＶＥ＿ＴＩＭＥ）」、「最小ターンアラウンドタイム（ＭＩＮ＿ＲＴＴ）」、「最大ターンアラウンドタイム(ＭＡＸ＿ＲＴＴ)」、「平均ターンアラウンドタイム（ＲＴＴ）」、「バイト数（ＢＹＴＥ）」、「スループット（ＴＨＲＵ）」、「ロス率（ＬＯＳＳ）」、「フロー開始年月日時刻（ＳＴＡＲＴ＿ＴＩＭＥ）」、「フロー終了年月日時刻（ＥＮＤ＿ＴＩＭＥ）」等が蓄積され、分析に必要なデータ数で格納される。特徴量は上記の例に限るものではなく、また、上記の特徴量を所定の演算で処理したものを新たな特徴量としてもよい。特徴量テーブル１０２９は、正規化部１０２４で利用される。
【００２９】
図３Ｃは正規化テーブル１０２８の内容の例を示す表図である。正規化テーブル１０２８は、正規化部１０２４が、特徴量テーブル１０２９から抽出した分析の対象とする特徴量および特徴量名と、分析に必要なデータ数での特徴量毎の最大値及び最小値を格納する。図３Ｃの例では、特徴量として「送信先ＩＰアドレス（ＤＩＰ）」と「平均ターンアラウンドタイム（ＲＴＴ）」を用いており、特徴量それぞれについて、必要なデータ数ｎ個のうちの最小値と最大値を格納している。正規化テーブル１０２８は、量子化部１０２３で利用される。
【００３０】
図３Ｄは密度テーブル１０２７の内容の例を示す表図である。密度テーブル１０２７は、量子化部１０２３で生成され、クラスタリングを行う格子（グリッド）の情報や密度を格納する。具体的には、分析に必要なデータ数での「最大密度」及び「最小密度」、分割した範囲の番号である「Ｘインデックス」及び「Ｙインデックス」、分割の幅である「Ｘ幅」及び「Ｙ幅」、分割した範囲に含まれる「要素数」、要素数を分割した大きさで割った「密度」を格納している。
【００３１】
図３Ｅは量子化密度テーブル１０２６の内容の例を示す表図である。量子化密度テーブル１０２６は、密度テーブル１０２７（図３Ｄ）に基づき、量子化部１０２３で生成される。量子化密度テーブル１０２６は、分割した範囲の番号である「Ｘインデックス」及び「Ｙインデックス」、分割の幅である「Ｘ幅」及び「Ｙ幅」、分割した範囲に含まれる「要素数」、要素数を分割した大きさで割った「密度」、密度を分割初期値テーブル１０８１の量子化度で量子化した「量子化密度」を格納する。また、量子化密度テーブル１０２６には、後述するクラスタリング部１０２２によるクラスタ処理において、クラスタリング情報である「グループ番号」及びクラスタを識別する「クラスタリング番号」が格納される。クラスタリング番号の最大値は、クラスタの個数と同じである。そして、量子化密度テーブル１０２６は、情報表示装置１０１で表示データとして利用される。
【００３２】
図４は、クラスタ分析装置１０２のハードウェア図である。クラスタ分析装置は、プログラムを実行するＣＰＵ７０１、プログラムが搭載される半導体記憶装置などのメモリー（Ｍｅｍｏｒｙ）７０２、各種テーブルを格納する磁気ディスク装置などの２次記憶（Ｓｔｏｒａｇｅ）７０３、外部の機器とのデータ送受信を行うインターフェース（Ｉ／Ｆ）７０４、前記７０１〜７０３を接続しデータをやりとりするためのバス（ＢＵＳ）７０５を備える。また、キーボードやプリンターなど、図示しない各種の入出力装置を備えても良い。
【００３３】
図４の構成は、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、ＣＰＵ７０１、メモリー７０２、２次記憶７０３の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
【００３４】
本実施例では計算や制御等の機能は、メモリー７０２に格納されたプログラムがＣＰＵ７０１によって実行されることで、定められた処理を他のハードウェアと協働して実現することにする。計算機などが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。よってこれらの手段は、ＣＰＵ７０１の一部であるということもできる。図４では、メモリー７０２中に、データ送信部１０２１、クラスタリング部１０２２、量子化部１０２３、正規化部１０２４、データ受信部１０２５の各種プログラムを格納する。
【００３５】
また、２次記憶７０３には、分割初期値テーブル１０８１、除外併合指定テーブル１０８２（後に実施例２で説明する）、量子化密度テーブル１０２６、密度テーブル１０２７、正規化テーブル１０２８、特徴量テーブル１０２９の各種テーブルを格納する。以後の説明では「〜テーブル」、「〜リスト」、「〜ＤＢ（Ｄａｔａｂａｓｅ）」、「〜キュー」、「情報」等の表現にて本実施例の構成を説明するが、これらは等価な情報である限り、テーブル、リスト、ＤＢ、キュー、等のデータ構造以外で表現されていてもよい。
【００３６】
なお、本実施例中、ソフトウエアで構成した機能と同等の機能は、FPGA（Field Programmable Gate Array）、ASIC（Application Specific Integrated Circuit）などのハードウェアでも実現できる。そのような態様も本願発明の範囲に含まれる。
【００３７】
＜２．処理フロー＞
＜２−１．全体フロー＞
図５は、ネットワーク情報取得装置１０３とクラスタ分析装置１０２の動作の概要である。以下各動作を説明する。  
ステップＳ３０１：ネットワーク情報取得装置１０３は、ネットワークスイッチからパケットあるいはそのコピーを取得する。
【００３８】
ステップＳ３０２：ネットワーク情報取得装置１０３は、通信フロー毎のネットワーク特徴量を計算し、クラスタ分析装置へ送信する。この例では、１通信フロー毎の送信元ＩＰアドレス（ＳＩＰ）、送信先ＩＰアドレス（ＤＩＰ）、送信元ポート番号（ＳＰＯＲＴ）、送信先ポート番号（ＤＰＯＲＴ）、パケット数（ＰＫＴ＿ＣＮＴ）、ドロップパケット数（ＤＲＯＰ＿ＣＮＴ）、ビット毎秒（ＢＰＳ）、経過時間（ＬＩＶＥ＿ＴＩＭＥ）、最小ターンアラウンドタイム（ＭＩＮ＿ＲＴＴ）、平均ターンアラウンドタイム（ＲＴＴ）、最大ターンアラウンドタイム（ＭＡＸ＿ＲＴＴ）、バイト数（ＢＹＴＥ）、スループット（ＴＨＲＵ）、ロス率（ＬＯＳＳ）、フロー開始年月日時刻（ＳＴＡＲＴ＿ＴＩＭＥ）、フロー終了年月日時刻（ＥＮＤ＿ＴＩＭＥ）等の通信の統計量を、ネットワーク特徴量として定義している。
【００３９】
図６は、上記で定義した特徴量をネットワーク情報取得装置１０３から出力する際の、データフレームの一例を示す表図である。
【００４０】
ステップＳ３０３：クラスタ分析装置１０２のデータ受信部１０２５は、ネットワーク情報取得装置１０３から取得したネットワーク特徴量を、フロー毎のデータとして１行毎に蓄積する。例えば、データ受信部１０２５は、受信したネットワーク特徴量を、特徴量テーブル１０２９（図３Ｂ）に格納する。
【００４１】
ステップＳ３０４：クラスタ分析装置１０２の正規化部１０２４あるいはデータ受信部１０２５は、ネットワーク情報取得装置１０３から取得したネットワーク特徴量が、分析に必要な時間分やデータ数になったかを判定する。ネットワーク特徴量が分析に必要な大きさになっていない場合、ステップＳ３０３を繰り返す。例えばネットワーク特徴量の１時間分のデータを保存する。ネットワーク特徴量が分析に必要な大きさになっている場合、次のステップＳ３０５に進む。
【００４２】
ステップＳ３０５：クラスタ分析装置１０２の正規化部１０２４は、分割初期値テーブル１０８１（図３Ａ）から指定された特徴量に基づき、特徴量テーブル１０２９（図３Ｂ）から分析を行う特徴量を抽出し、最大・最小値を計算し正規化テーブル１０２８（図３Ｃ）に格納する。この例では、図３Ｂの特徴量から、分析に使用する送信先ＩＰアドレス（ＤＩＰ）と平均ターンアラウンドタイム（ＲＴＴ）を抽出し、このデータに含まれる範囲における特徴量の最大値、最小値を、正規化テーブル１０２８に格納するものとする。
【００４３】
ステップＳ３０６：クラスタ分析装置１０２の量子化部１０２３は、分割初期値テーブル１０８１（図３Ａ）から分析するネットワーク特徴量の値の範囲の分割方法を指定する「分割数」、「量子化度」、「詳細特徴量名」を取得し、前記ステップ３０５で作成された正規化テーブル１０２８（図３Ｃ）からデータを取得する。そして、データをプロットする空間を分割した部分空間として格子を定義し、量子化部のステップＳ４０１で後述する手法で格子の密度と密度を離散的に表現した「量子化密度」を計算し、量子化密度テーブル１０２６（図３Ｅ）に格納する。
【００４４】
ステップＳ３０７：クラスタ分析装置１０２のクラスタリング部１０２２は、量子化密度テーブル１０２６の量子化密度を取得し、クラスタリング計算を行い、図３Ｅに示す量子化密度テーブル１０２６に格納する。
【００４５】
ステップＳ３０８：クラスタ分析装置１０２のクラスタリング部１０２２は、分割初期値テーブル１０８（図３Ａ）１より最小クラスタ数の定義を読み出し、量子化密度テーブル１０２６（図３Ｅ）内のクラスタリング番号の最大値が、分割初期値テーブル１０８１の最小クラスタ数より小さいかを判定する。
【００４６】
図７Ａおよび図７Ｂは、ステップＳ３０８およびステップＳ３１０における処理を概念的に示した図である。図７Ａ(a)は特徴量データをプロットした２次元空間を示しており、正規化テーブル（図３Ｃ）のデータを可視化したものである。図７Ａ(a)と図７Ａ(b）に示される格子は、初期状態では、ステップＳ３０６において、量子化部１０２３が分割初期値テーブル１０８１（図３Ａ）の初期値に基づいて定義した格子である。図７Ａ(b）格子の中の数値は、量子化密度テーブル（図３Ｅ）の量子化密度である。本実施例のクラスタリングでは、図７Ａ(a),図７Ｂ(a)に示される２次元平面上にプロットされる特徴量を、図７Ａ(b）,図７Ｂ(b)に示す格子の概念を用いてクラスタリングする。
【００４７】
図７Ａは、量子化密度テーブル１０２６（図３Ｅ）内のクラスタリング番号の最大値が、分割初期値テーブル１０８１（図３Ａ）の最小クラスタ数より小さい場合を示している。本実施例では、図７Ａ(b）に示すように、実線で囲まれる１３個の格子を１つのクラスタとしており、クラスタ数＝最大クラスタリング番号は「１」なので、図３Ａの例の最小クラスタ数「３」より小さい。すなわち、ステップＳ３０８の分岐でＹＥＳであり、この場合ステップＳ３１０に進む。
【００４８】
ステップＳ３１０では、図７Ｂ(a)、図７Ｂ(b)に示すように、分割初期値テーブル１０８１の分割数を倍にし、格子の幅を小さくして、再度クラスタリングを実行する。図７Ｂ(b)では、格子が細分化され、クラスタ数は「２」である。ステップ３１０により、分析に必要な最小限のクラスタ数を確保できる。もし、クラスタ数が増えなかった場合は繰り返しを止める等の処理を行う。
【００４９】
量子化密度テーブル１０２６（図３Ｅ）内のクラスタリング番号の最大値が、分割初期値テーブル１０８１の最小クラスタ数より小さくない場合、次のステップ３０９に進む。
【００５０】
ステップＳ３０９：クラスタ分析装置１０２のデータ送信部１０２１は、ステップ３０６の量子化密度テーブル１０２６を、情報表示装置１０１に送信する。また、分割併合指定テーブル（図示しない）を、情報表示装置１０１に送信する。  
以上の動作の詳細な説明を以下に記載する。
【００５１】
＜２−２．正規化部の処理フロー＞
図８は、クラスタ分析装置１０２の正規化部１０２４の処理のフローチャートであり、図５のステップＳ３０５の処理に対応する。  
まずステップＳ５０１で、分割初期値テーブル１０８１（図３Ａ）で、分析を行う特徴量を分析特徴量指定として取得する。本実施例では、送信先ＩＰアドレス（ＤＩＰ）と平均ターンアラウンドタイム（ＲＴＴ）について分析を行う。
【００５２】
ステップＳ５０２で、特徴量テーブル１０２９（図３Ｂ）から特徴量を１行読み出す。その行の多くのパラメータから、前記パラメータＤＩＰとＲＴＴを抽出して、正規化テーブル１０２８（図３Ｃ）に格納する。
【００５３】
ステップＳ５０３では、正規化テーブル１０２８（図３Ｃ）の各特徴量の最大値・最小値と前ステップＳ５０２で読み出したデータを比較し、正規化テーブル１０２８の最大値、最小値を更新する。直接数字にできない場合、例えばＩＰｖ４アドレスの場合は、Ａ．Ｂ．Ｃ．Ｄの形のデータを、Ａ＊２５６＾３＋Ｂ＊２５６＾２＊＋Ｃ＾２５６＋Ｄにする手法や、データの中のＡ、Ｂ、Ｃが全て同じ場合は、最後のＤを代用する手法等で数字に変換する。
【００５４】
ステップＳ５０４では、特徴量テーブル１０２９（図３Ｂ）のエントリ読み出しが終了したかを判定する。特徴量テーブルのエントリ読み出しが終了していない場合、前ステップＳ５０２、Ｓ５０３を繰り返す。保存する量は、分析が可能な量があればよく、例えば１時間分のデータを保存する等が考えられる。特徴量テーブルのエントリ読み出しが終了している場合、次のステップＳ５０５に進む。  
ステップＳ５０５で、量子化部１０２３へ実行開始を通知する。
【００５５】
＜２−３．量子化部の処理フロー＞
図９は、量子化部のフローチャートであり、図５のステップＳ３０６の詳細フローである。  
ステップＳ４０１で、分割初期値テーブル１０８１（図３Ａ）から分割数、量子化度、詳細特徴量名を取得する。図３Ａの例では、分割数１０、量子化度１０、２つの詳細特徴量名が存在しそれぞれ送信先ＩＰアドレスＤＩＰと平均ターンアラウンドタイムＲＴＴである。
【００５６】
ステップＳ４０２で、正規化テーブル１０２８（図３Ｃ）から特徴量名と最大値と最小値を取得し、最大値と最小値の差から値がとる範囲を計算し、その範囲を分割数で分割する。例えば、パラメータＤＩＰの最大値を２１０、最小値を１０とすれば、範囲は２００となり、それを分割数１０で割ることで、分割された範囲はそれぞれ２０の幅を持つことになる。
【００５７】
図１０ＡはＳステップ４０２の結果生成された、特徴量の範囲の例を示す表図である。この例では、パラメータＤＩＰの最小値１９２．１６８．０．１０から最大値１９２．１６８．０．２１０までの範囲を、２０ずつの幅で区分し、Ｘインデックス０〜９の１０個に分割している。
【００５８】
ステップＳ４０３で、前ステップＳ４０２の特徴量の範囲の分割に対し、分割初期値テーブル１０８１（図３Ａ）の詳細特徴量名と詳細分割開始・終了に一致する範囲と詳細倍数から、詳細に分析するインデックスを分割し直す。図３Ａの例では、パラメータＤＩＰの詳細分割範囲は、１９２．１６８．０．１１０から１９２．１６８．０．２５５である。これより、詳細分割範囲に含まれる前記範囲、１９２．１６８．１１０から１９２．１６８．０．２１０（図１０ＡのＸインデックス５〜９の範囲）で、前記分割幅２０を詳細倍数２で割り、幅１０をもってパラメータＤＩＰの詳細分割とする。このときインデックスも指定し直す。
【００５９】
図１０ＢはステップＳ４０３の結果生成された、分割を細分化した特徴量の範囲を示す表図である。図１０Ａの各２０の幅をもつＸインデックス５〜９の範囲が細分化され、図１０Ｂの各１０の幅をもつＸインデックス５〜１４に指定し直されている。図１０Ｃに示すように、ＲＴＴ側でも同じようにＹインデックスの分割を行う。また、図５のフローチャート、ステップＳ３０８で説明した、クラスタ数が希望する数に足りないときに、同様に分割初期値テーブル１０８１の分割数を変更し、インデックスの分割数を倍にする処理への対応を行う（図７Ａ，図７Ｂ）。
【００６０】
ステップＳ４０４で、前ステップＳ４０３でのパラメータＤＩＰの分割の組み合わせから格子を決定し、前ステップＳ４０３でのインデックスの値をＸインデックス、幅をＸ幅として密度テーブル１０２７(図３Ｄ）に格納する。また、同様にパラメータＲＴＴの分割の組み合わせで、インデックスをＹインデックス、幅をＹ幅とする。
【００６１】
図１０Ｃに密度テーブル１０２７(図３Ｄ）で定義された格子の概念を示す。ここでは、ＤＩＰで１５分割、ＲＴＴで１２分割のインデックスの組み合わせで１８０個の格子が定義できる。
【００６２】
ステップＳ４０５で、正規化テーブル１０２８(図３Ｃ）からデータを１行読み出し、データがどの格子に含まれるか検索し、該当する格子の要素数を１つ増加し、密度テーブル１０２７(図３Ｄ）の「要素数」に格納する。例えば（ＤＩＰ、 ＲＴＴ）＝（１９２．１６８．０．１００、１．５）というデータがあった場合、１９２．１６８．０．１００以上１９２．１６８．０．１１０未満、 １．５以上２．０未満の範囲で示す、インデックス（４、９）という格子の要素数を増加させる。
【００６３】
ステップＳ４０６で、正規化テーブル１０２８(図３Ｃ）のエントリ読み込み完了したかを判定する。読み込みが完了していない場合、前ステップＳ４０５を繰り返す。読み込みが完了している場合、次のステップＳ４０７に進む。
【００６４】
ステップＳ４０７で、密度テーブル１０２７(図３Ｄ）の格子毎の密度を計算し、密度テーブル１０２７の「密度」に格納する。密度テーブル１０２７のＸ幅、Ｙ幅から面積を計算し、要素数を面積で割ることで密度を計算する。パラメータが３次元以上の場合も同様に、幅の積で要素数を割ることで密度を計算する。
【００６５】
ステップＳ４０８で、密度テーブル１０２７の全格子の密度から最大密度、最小密度を検索し、密度テーブル１０２７の「最大密度」「最小密度」に格納する。
【００６６】
ステップＳ４０９で、分割初期値テーブル１０８１（図３Ａ）から量子化度、密度テーブル１０２７(図３Ｄ）から最大密度、最小密度を取得し、密度の量子化を定義する。例えばここでの最大密度が１００、最小密度が０の場合、その範囲１００を量子化度５で分割すると幅が２０となり、０以上２０未満、２０以上４０未満、と繰り返して分割を行い、それぞれに０、１、２、３、４と量子化密度を定義する。
【００６７】
図１１は、ＳステップＳ４０９で生成された量子化へ変換定義を示す表図である。
【００６８】
ステップＳ４１０で、前ステップＳ４０９の密度の量子化方法の定義から、密度テーブル１０２７の全ての密度を対応の定義で変換して量子化密度とし、量子化密度テーブル１０２６(図３Ｅ）の「量子化密度」に格納する。  
ステップＳ４１１で、クラスタリング部１０２２へ実行開始を通知する。
【００６９】
＜２−４．クラスタリング部でのクラスタ分析原理＞
クラスタ分析で一般的に用いられる階層的クラスタ分析は，各通信フローの特徴量間の距離の総当り計算を行うため，通信フロー数をnとすると，演算量がO(n2)で増加して、分析に時間がかかる点が課題であった。
【００７０】
本実施例１では、演算量を削減して分析に必要な時間を短縮するため、以下で説明するクラスタリング手法を用いる。
【００７１】
以下では、図２の量子化部１０２３が作成した、量子化密度テーブル１０２６（図３Ｅ）を使って、図２のクラスタリング部１０２２が実施する処理の一例を概念的に説明する。詳細は、図３Ｅと図１５および図１６を用いて後述する。
【００７２】
図１２は、本クラスタリング手法の概念を説明する図である。特徴量Xと特徴量Yの分布図２２０１に示すように、２５個の通信フローの特徴量X，Yを表す点が分布しているものとする。
【００７３】
まずはじめに、格子で分布図２２０１を分割する。具体的には、点の数に相当する５×５の格子（グリッド）で分布図を分割する（２２０２）。
【００７４】
次に、格子毎に、通信フローの特徴量X，Yを表す点が幾つ含まれるかを、計算する（２２０３）。例えば、含まれる点が１以上となる格子数は１３となる。このように、特徴量X，Yを表す点が含まれる格子数を計算することで、クラスタ分析の対象は２５の格子から，１３個の格子へと減少することになる。すなわち、この例では、データが存在しない格子については、クラスタ分析の演算対象から除外することができる。  
その次に、格子の密度に基づき、格子の集約（マージ）を行う。
【００７５】
まず、一番多くの点を含む格子を検索し、その密度を算出する。密度は単位面積当たりの点の数であるから、例えば１つの格子に含まれる点の数として計算できる。図１２の例では、一番多くの点を含む格子の密度は５である。そして、その密度５の格子の周辺には、密度５よりも小さい格子しかないため、密度が５の格子を１つ目の独立クラスタとする（２２０４）。
【００７６】
次に、密度５の次に大きな密度４の格子に対して、周辺により大きな密度を持つ格子がないかどうか確認する。密度４の格子の周辺には、より大きな密度５を持つ格子があるため、密度４の格子を密度５の格子にマージして、同一クラスタとする（２２０５）。
【００７７】
次に、密度４の次に大きな密度３の格子に対して、周辺により大きな密度を持つ格子がないかどうか確認する。密度３の格子の周辺には、より大きな密度を持つ格子が無いため、密度３の格子を、２つ目の独立クラスタとする（２２０６）。
【００７８】
次に、密度３の次に大きな密度２の格子に対して、周辺により大きな密度を持つ格子がないかどうか確認する。密度２の格子の周辺には、より大きな密度を持つ格子があるため、マージして同一クラスタとする（２２０７）。
【００７９】
最後に、密度２の次に大きな密度１の格子に対して、周辺により大きな密度を持つ格子がないかどうか確認する。密度１の格子の周辺には、より大きな密度を持つ格子があるため、マージして同一クラスタとする（２２０８）。
【００８０】
上記の集約処理を行うことで、密度５の格子を含むクラスタ２２１０と、密度３の格子を含むクラスタ２２０９の２つのクラスタが検出されることになる。
【００８１】
＜２−５．クラスタリング部の処理フロー＞
図１３は、クラスタリング部１０２２で実行されるクラスタリング手法のフローチャートであり、図５のステップＳ３０７の詳細フローである。
【００８２】
まず、最も大きな密度を持つ格子を探して（Ｓ２３０１）、その格子を独立したクラスタとして登録する（Ｓ２３０２）。  
続けて、その次に密度の大きな格子を探す（Ｓ２３０３）。
【００８３】
その次に密度の大きな格子が存在する場合は（Ｓ２３０４）、その格子に隣接する格子（隣接格子）が、より大きな密度を持つかどうかを確認する（Ｓ２３０５）。「隣接する」とは、一つの次元で連続する範囲を持ち、他の次元がある場合その全てで共通する範囲を持つ２つの領域の関係をいう。図１２で示す２次元格子の場合には、一つの格子に対して上下左右の４つの格子が隣接格子となる。３次元格子の場合は、一つの格子に対して上下左右前後の６つの格子が隣接格子となる。
【００８４】
より大きな密度を持つ隣接格子が存在する場合は、その隣接格子を含むクラスタに、ステップＳ２３０３で検出した格子をマージする（Ｓ２３０７）。
【００８５】
より大きな密度を持つ隣接格子が存在しない場合は、ステップＳ２３０３で検出した格子を、新たな独立クラスタとして登録する（Ｓ２３０６）。  
その後、ステップＳ２３０３からの処理を繰り返す。
【００８６】
図１２と図１３に示した手法では、一定範囲の特徴量を格子毎に纏め、格子毎に４つの隣接格子の密度との比較演算を行うことで、密度の高い隣接格子へ密度の低い格子を集約している。
【００８７】
図１２と図１３に示した手法を用いることで、各通信フローの特徴量間の距離の総当り計算が不要となり、格子毎に隣接格子の密度との比較演算をする手法により、計算量が密度１以上の格子数に比例するようになるため，演算量を大幅に削減することが可能である。例えば、３万通信に対して１秒以内でクラスタ分析が可能である。
【００８８】
また、入力データに対して従来技術のようなサンプリングをしておらず、本実施例を適用した手法では分析対象の入力データは減少しないから、データ精度を維持することができる。
【００８９】
なお、格子の大きさが一定であれば、上述のように密度の計算をせず、格子内のデータの個数を密度と等価なものとして扱うことができる。この場合は、隣接する格子内のデータの個数の比較により、格子のマージ可否の判断を行っても良い。
【００９０】
＜２−６．異常検出原理の説明＞
図１４は、本クラスタリング手法を用いた異常検出の説明である。異常検出機能は、クラスタリング部１０２２の機能に含めることができる。あるいは、別の装置の機能としてもよい。
【００９１】
まず、通常状態の分布図２４０１を分析しておく。図１２の２２０２〜２２０８の処理と同様に、２５個の格子に分割して（２４０２）、各格子の密度を求めて（２４０３）、最大密度５のクラスタ２４０９と最大密度３のクラスタ２４１０の２つに分類する（２４０４）。結果４２０４は例えば２次記憶７０３に保存しておく。
【００９２】
次に、異常が発生した状態の分布図２４０５を分析する。図１２の２２０２〜２２０８の処理と同様に、２５個の格子に分割して（２４０６）、各格子の密度を求めて（２４０７）、最大密度４のクラスタ２４１３と最大密度３のクラスタ２４１１と最大密度２のクラスタ２４１２に分類する（２４０８）。これを同様に、例えば２次記憶７０３に保存する。
【００９３】
保存した結果２４０４と結果２４０８を比較する。クラスタ２４１２が含む格子は、通常状態の分布図２４０１では密度０の格子であった。そのため、クラスタ２４１２を、新規に発生したクラスタとして、異常と判定する。
【００９４】
更に、クラスタ２４１１内の最大密度３の格子は、通常状態の分布図２４０１では密度０の格子であった。そのため、クラスタ２４１１を、クラスタ頂点が移動したクラスタとして、異常と判定する。
【００９５】
図１４に示したように、クラスタ分析した結果を比較する異常判定手法を用いることで、突然出現した外れ値グループを検出するケースと、もともと正常だったグループの異常値への逸脱を検出するケースの２通りの異常検出を実現することが可能となる。
【００９６】
＜２−７．クラスタリング部でのクラスタ分析の詳細説明＞
図２のクラスタリング部１０２２が実施する本クラスタリング手法の詳細を、図３Ｅの量子化密度テーブル１０２６と、図１５のフローチャートと、図１６の分布図を用いて説明する。
【００９７】
図１５はクラスタリング部１０２２の詳細なフローチャートであり、図５のステップＳ３０７の具体的な処理の例を示すフロー図である。
【００９８】
図１６は量子化密度テーブル１０２６の内容を可視化した分布図である。各格子には、量子化密度ｎ、必要に応じてグループ番号Ｇ、クラスタリング番号Ｃ、および説明の便宜上符号Ｎが表示されている。
【００９９】
ステップＳ６０１：分割初期値テーブル１０８１(図３Ａ）から、密度をどのくらいの離散値で表現するかを規定する量子化度を取得し、それを最大量子化密度の段階とし、量子化密度テーブル１０２６(図３Ｅ）のグループ番号とクラスタリング番号をクリアする。
【０１００】
ステップＳ６０２：最大の量子化密度を持つ格子のエントリを、量子化密度テーブル１０２６から１行読み出す。
【０１０１】
例えば、図１６Ａの例では、最大量子化密度４でこのループを開始すると、３つの密度４の格子が存在している。
【０１０２】
ステップＳ６０３：前ステップＳ６０２で読み出した格子に対して、それに隣接する格子を全て検索する。これらの格子に対し、各インデックスで１つ増加/減少した場所にある最大４つの格子の存在を、それぞれ隣接すると定義する。
【０１０３】
例えば図１６Ａでは、格子ａと格子ｂは、Ｘインデックスで１つ異なるだけなので、隣接するとする。
【０１０４】
ステップＳ６０４：前ステップＳ６０２で検索した最大量子化密度を持つ格子のうち、何れか一つに着目し、着目した格子に隣接する格子は、グループ番号（Ｇ）が既に付加されている格子であるか確認する。
【０１０５】
グループ番号（Ｇ）が既に付加されている隣接格子である場合は、現在着目している格子に、隣接する格子のグループ番号と同じグループ番号を付加する（ステップＳ６０６）。グループ番号（Ｇ）が既に付加されている隣接格子でない場合は、着目している格子のグループ番号に、新しいグループ番号を付加する（ステップＳ６０５）。
【０１０６】
ステップＳ６０７：前記着目した格子に隣接する格子で、着目した格子よりも大きな量子化密度を持つ格子があるか確認する。
【０１０７】
着目した格子よりも大きな量子化密度を持つ格子がある場合、該当格子のクラスタリング番号に、隣接する格子のクラスタリング番号で最小の番号を付加する（ステップＳ６０８）。着目した格子よりも大きな量子化密度を持つ格子がない場合、次のステップＳ６０９に進む。  
ステップＳ６０９：全ての最大量子化密度を持つ格子を読み出したか確認する。  
読み出しが終わっていない場合は、ステップＳ６０２に戻って読み出しを継続する。読み出しが終わっている場合は、ステップＳ６１０に進む。  
ステップＳ６１０：前ステップＳ６０２〜Ｓ６０９までの最大量子化密度を持つ全ての格子を読み出し後に、次にグループ番号順に格子を読み出す。
【０１０８】
ステップＳ６１１：その同じグループ番号を持つ格子の中に、既にクラスタリング番号が付加された格子が存在するか確認する。
【０１０９】
既にクラスタリング番号が付加された格子が存在しない場合、新しいクラスタリング番号を１つ作成し、同じグループ番号を持つ格子全てに付加する（ステップＳ６１２）。
【０１１０】
既にクラスタリング番号が付加された格子が存在する場合、同じグループ番号を持つ格子の中で、まだクラスタリング番号を持たない格子に対し、グループ内での最小のクラスタリング番号を、持たない格子に対し付加する（ステップＳ６１３）。
【０１１１】
ステップＳ６１４：ステップＳ６０２で用いた最大量子化密度の値を１つ減らす。  
ステップＳ６１５：１つ減らした最大量子化密度の値が０以下であるかを確認する。０以下でない場合は、ステップＳ６０２まで戻り、新しい最大量子化密度で読み出しを継続する。０以下である場合は、ステップＳ６１６に進む。  
ステップＳ６１６：情報表示装置１０１へ、量子化密度テーブル１０２６、正規化テーブル１０２８を送信する。
【０１１２】
以上の動作を、例を挙げて説明する。
【０１１３】
図１６Ａ〜Ｄは実施例のクラスタリング手法の説明図である。分布図図１６Ａでは、最大量子化密度が４の場合、格子ａ、ｂ、ｃが最大量子化密度を持つ格子である。  
図１６Ａにおいて、格子ａ、ｂ、ｃの順に着目していくとする。まず格子ａに対し、隣接する格子は、２次元ではａの上下左右に位置するインデックスを持つ４つの格子である（ステップＳ６０３）。ここではまだグループ番号もクラスタリング番号も存在しないため、新しいグループ番号１を格子ａに対し付加する（ステップＳ６０４，Ｓ６０５）。
【０１１４】
次に格子ｂに対して、隣接する格子ａに既にグループ番号が付加されているため、格子ｂのグループ番号も１となる（ステップＳ６０４，Ｓ６０６)。同様に、格子ｃのグループ番号は新規となり２となる（ステップＳ６０４，Ｓ６０５）。ここまでは、量子化密度が最大の格子を検索しているため、隣接する格子にはクラスタリング番号は付加されていない。
【０１１５】
続いて、この同じ１というグループ番号を持つ格子グループに対し、格子ａも格子ｂもまだクラスタリング番号が付加されていないため、同じ格子グループに新規クラスタリング番号１を付加する(ステップＳ６１０，Ｓ６１１，Ｓ６１３）。
【０１１６】
また同様に、グループ番号２の格子グループに対し、格子ｃに新規クラスタリング番号２を付加する(ステップＳ６１０，Ｓ６１１，Ｓ６１３）。以上で最大量子化密度４のループを終了する。
【０１１７】
次に、分布図、図１６Ｂで示すように、最大量子化密度３の格子ｄ〜ｉについて検討する。前記と同様にグループ番号を決定すると、格子ｄ、ｅは同じ１となり、格子ｆは２、格子ｇ、ｉは３、格子ｈは４となる（ステップＳ６０２〜Ｓ６０６）。
【０１１８】
ここで、格子ｄ、ｅ、ｆ、ｈ、ｇは、より大きい量子化密度を持つ隣接格子が存在するため、それぞれの格子のクラスタリング番号が決定できる（ステップＳ６０７，Ｓ６０８)。決定できない格子ｉに対しては、前記と同様にグループ番号順での検索を行い（ステップＳ６１０）、グループ番号３の格子グループ内に、既にクラスタリング番号が付加されている格子ｇが存在するため、格子ｉにもクラスタリング番号１を付加する(ステップＳ６１１，Ｓ６１３）。以下同様に最大量子化密度を減らして繰り返し動作することで（ステップＳ６１４，Ｓ６１５）、全ての格子のクラスタリング番号を決定できる。(図１６Ｃ，図１６Ｄ））
以上の処理より、ネットワーク特徴量からグラフ化するパラメータを抽出し、格子に分割して、それぞれの格子毎にクラスタリング番号を設定することが出来るようになった。この結果を元に、情報表示装置１０１で、グラフ等の結果を出力することができる。
【０１１９】
本発明を適用した前記Ｓ６０３〜Ｓ６１５のステップにより、格子毎の量子化密度と隣接する格子の量子化密度の比較を行うだけで距離の計算が不要になるため、計算量のオーダーは量子化度と特徴量の定数に比例するＯ（ｎ）となり、階層的クラスタ分析の計算量のオーダーＯ（ｎ^２）（ｎ＾２に比例する）よりも小さくすることができる。
【０１２０】
例えば３万通信分の２次元特徴量データを用いて計算時間を比較すると、本方式で実装した方式と、最短距離法を用いた階層的クラスタ分析を採用した従来方式との比較で、約４０分の１への時間短縮が可能と想定できる。パラメータの選び方によって異なるが、従来技術に比べて本発明を適用した実施例では、１０分の１以下に時間短縮が期待できる。
【実施例２】
【０１２１】
実施例２では、分析で注目するネットワーク特徴量を指定した範囲で抽出し、注目しない範囲を除外し、注目する複数の範囲を一つにまとめて分析する機能を備えるシステムについて説明する。
【０１２２】
図１７は、クラスタ分析システムの構成を示すブロック図である。図２に示した実施例１の構成との相違は、除外併合指定テーブル１０８２を備える点である。
【０１２３】
図１８は前記機能を実現するための、正規化部１０２４が行う処理のフローチャートである。  
まずステップＳ１９０１において、分割初期値テーブル１０８１(図３Ａ）より、分析を行う特徴量を分析特徴量指定のパラメータとして取得する。本例では実施例１と同様に図３Ａの例を用い、ＤＩＰ（送信先ＩＰアドレス）とＲＴＴ（ターンアラウンドタイム）について分析を行う。
【０１２４】
図１９Ａ，図１９Ｂは本実施例の除外併合指定テーブルを示す表図である。図１９Ａは、特徴量ＤＩＰに関する除外指定を定義したテーブルであり、除外併合フラグとしては除外を示す「０」が格納されている。除外の対象となる範囲は、「範囲開始」と「範囲終了」に格納される値で指定される。図１９Ｂは、特徴量ＤＩＰに関する併合指定を定義したテーブルであり、除外併合フラグとしては併合を示す「１」が格納されている。併合の対象となる範囲は、「範囲開始」と「範囲終了」に格納される値で指定される。
【０１２５】
ステップＳ１９０２で、図１９Ａ，図１９Ｂに示すように、注目するネットワーク特徴量を特徴量名、範囲を範囲開始、範囲終了で指定する、除外併合指定テーブル１０８２（図１９Ａ，Ｂ）が存在するか確認する。存在しない場合は実施例１と同様の動作を行う。存在する場合、ステップＳ１９０３で、除外併合指定テーブル１０８２から、指定した範囲が除外指定「０」なのか併合指定「１」なのかを示す除外併合フラグを取得する。
【０１２６】
ステップＳ１９０４で、前記フラグが併合指定「１」の場合、複数の併合範囲の指定から、除外範囲を計算する。図１９Ｂの指定の場合、パラメータとしてネットワーク特徴量のＤＩＰを指定し、併合範囲１９２．１６８．０．１０〜６０と、１９２．１６８．０．１１０〜２００の二つの併合範囲の間の、１９２．１６８．０．６０〜１１０を除外範囲とする。
【０１２７】
ステップＳ１９０５で、特徴量テーブル１０２９（図３Ｂ）からネットワーク特徴量を１行読み出す。その行の多くのパラメータから、前記パラメータＤＩＰとＲＴＴを抽出して、正規化テーブル１０２８（図３Ｃ）に格納する。
【０１２８】
ステップＳ１９０６で、併合指定の場合は、前ステップＳ１９０５で取得したネットワーク特徴量が、併合範囲に入っているか確認し、入っていなければそのデータを無視する。
【０１２９】
ステップＳ１９０７で、除外指定の場合は、前ステップＳ１９０５で取得したネットワーク特徴量が、除外範囲に入っているか確認し、入っていればそのデータを無視する。
【０１３０】
ステップＳ１９０８で、除外範囲を超えるネットワーク特徴量を、除外範囲分減らしてオフセットする事で、データの除外を行う。
【０１３１】
図２０は、本実施例の除外範囲のオフセット手法の概念を説明する図である。図２０で示すように、除外範囲Ａ，Ｃがあったときに、その幅をｗ１， ｗ２とすると、範囲ＡとＣの間にあるデータＢは、ｗ１分、Ｃを超えるデータＤはｗ１＋ｗ２分のオフセットを行う。直接数字にできない場合、例えばＩＰｖ４アドレスの場合は、Ａ．Ｂ．Ｃ．Ｄの形のデータを、Ａ＊２５６＾３＋Ｂ＊２５６＾２＊＋Ｃ＾２５６＋Ｄにする手法や、データの中のＡ、Ｂ、Ｃが全て同じ場合は、最後のＤを代用する手法等で数字に変換する。
【０１３２】
ステップＳ１９０９では、正規化テーブル１０２８（図３Ｃ）の各特徴量の最大値・最小値と前ステップＳ５０２で読み出したデータを比較し、正規化テーブル１０２８の最大値、最小値を更新する。
【０１３３】
ステップＳ１９１０で、特徴量テーブル１０２９（図３Ｂ）が終了するまで、前ステップＳ７０２、Ｓ７０３を繰り返す。保存する量は、例えば１時間分のデータを保存する等が考えられる。
【０１３４】
ステップＳ１９１１で、量子化部１０２３へ実行開始を通知する。後のステップは実施例１を踏襲することで、本機能を実現することが出来る。
【０１３５】
以上の実施例では２つの特徴量を２次元の分布としてクラスタリングを行ったが、１次元もしくは３次元以上のＸ次元に拡張することも可能である。本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【０１３６】
１０１，情報表示装置
１０２，クラスタ分析装置
１０３，ネットワーク情報取得装置
１０４，ネットワークスイッチ
１０５，１０６，情報ネットワーク
１０７，１０８，計算機
１０１１，表示部
１０１２，データ受信部
１０１３，初期値受信部
１０２１，データ送信部
１０２２，クラスタリング部
１０２３，量子化部
１０２４，正規化部
１０２６，量子化密度テーブル
１０２７，密度テーブル
１０２８，正規化テーブル
１０２９，特徴量テーブル
１０８１，分割初期値テーブル
１０８２，除外併合指定テーブル
【図１】
2018037009.tif 000003
【図２】
2018037009.tif 000004
【図３Ａ】
2018037009.tif 000005
【図３Ｂ】
2018037009.tif 000006
【図３Ｃ】
2018037009.tif 000007
【図３Ｄ】
2018037009.tif 000008
【図３Ｅ】
2018037009.tif 000009
【図４】
2018037009.tif 000010
【図５】
2018037009.tif 000011
【図６】
2018037009.tif 000012
【図７Ａ】
2018037009.tif 000013
【図７Ｂ】
2018037009.tif 000014
【図８】
2018037009.tif 000015
【図９】
2018037009.tif 000016
【図１０Ａ】
2018037009.tif 000017
【図１０Ｂ】
2018037009.tif 000018
【図１０Ｃ】
2018037009.tif 000019
【図１１】
2018037009.tif 000020
【図１２】
2018037009.tif 000021
【図１３】
2018037009.tif 000022
【図１４】
2018037009.tif 000023
【図１５】
2018037009.tif 000024
【図１６Ａ】
2018037009.tif 000025
【図１６Ｂ】
2018037009.tif 000026
【図１６Ｃ】
2018037009.tif 000027
【図１６Ｄ】
2018037009.tif 000028
【図１７】
2018037009.tif 000029
【図１８】
2018037009.tif 000030
【図１９Ａ】
2018037009.tif 000031
【図１９Ｂ】
2018037009.tif 000032
【図２０】
2018037009.tif 000033