(57)【要約】【課題】通信フロー（セッション）の特徴量のゆらぎ又は統計的な誤差等に影響を受けることなく、通信の種別毎に通信フローを分類する。【解決手段】ネットワークを介して接続される端末間の通信を制御する複数の通信装置を備えるネットワークシステムであって、ネットワークシステムは、前記端末間の通信の制御単位である通信フローを分析し、通信の種類毎に複数の通信フローを分類する分析部を備え、分析部は、通信フロー毎に、複数の特徴量を含む通信フローの管理情報を取得する特徴量取得部と、通信フローの管理情報を解析して、複数の通信フローから構成されるクラスタを複数生成するクラスタ分析部と、複数のクラスタに含まれる複数の通信フローの少なくとも一つの特徴量を用いた解析結果に基づいて、通信の種類毎に複数のクラスタを分類するクラスタ分類部と、を含む。【選択図】図７
2017034605.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される端末間の通信を制御する複数の通信装置を備えるネットワークシステムであって、
前記複数の通信装置の各々は、演算装置及び前記演算装置に接続される記憶装置を有し、
前記ネットワークシステムは、前記端末間の通信の制御単位である通信フローを分析し、通信の種類毎に複数の通信フローを分類する分析部を備え、
前記分析部は、少なくとも一つの前記通信装置の前記演算装置が前記記憶装置に格納されるプログラムを実行することによって実現され、
前記分析部は、
前記通信フロー毎に、複数の特徴量を含む通信フローの管理情報を取得する特徴量取得部と、
前記通信フローの管理情報を解析して、前記複数の通信フローから構成されるクラスタを複数生成するクラスタ分析部と、
前記複数のクラスタに含まれる前記複数の通信フローの少なくとも一つの前記特徴量を用いた解析結果に基づいて、通信の種類毎に前記複数のクラスタを分類するクラスタ分類部と、を含むことを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記分析部は、前記クラスタの生成方法を示す第１の情報、及び前記複数のクラスタの分類方法を示す第２の情報を含むエントリを複数含むクラスタ分類定義情報を管理し、
前記クラスタ分析部は、
前記クラスタ分類定義情報から一つの前記エントリを選択し、
前記選択されたエントリの前記第１の情報に基づいて、前記複数の通信フローから前記複数のクラスタを生成し、
前記クラスタ分類部は、
前記選択されたエントリの前記第２の情報に基づいて前記複数のクラスタを解析することによって、前記複数のクラスタの各々の分類値を算出し、
前記算出された分類値に基づいて、前記複数のクラスタを分類することを特徴とするネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記クラスタ分類定義情報に含まれるエントリは、さらに、前記クラスタに対する制御内容を定義する制御ポリシを示す第３の情報を含み、
前記クラスタ分類部は、前記選択されたエントリの前記第３の情報に基づいて、前記分類された複数のクラスタに対する制御内容を決定することを特徴とするネットワークシステム。
【請求項４】
請求項３に記載のネットワークシステムであって、
前記分析部は、
前記選択されたエントリの前記第３の情報に基づいて、前記分類された複数のクラスタの各々について適用可能な制御内容が存在するか否かを判定し、前記適用可能な制御内容が存在すると判定された場合、前記分類されたクラスタに対して前記制御内容を適用する実行部を含むことを特徴とするネットワークシステム。
【請求項５】
請求項２に記載のネットワークシステムであって、
前記分析部は、前記クラスタ分類定義情報に基づいて分類できなかったクラスタである履歴クラスタに関する情報を格納するクラスタ履歴情報を管理し、
前記クラスタ履歴情報は、前記履歴クラスタの識別情報、前記履歴クラスタの分類時に選択された前記クラスタ分類定義情報のエントリの識別情報、前記履歴クラスタの前記分類値、及び前記履歴クラスタに対する制御内容を定義する制御ポリシを含むエントリを複数含み、
前記クラスタ分類部は、
前記複数のクラスタの各々の前記分類値が算出された後、前記生成された複数のクラスタの中から処理対象のクラスタを選択し、
前記処理対象のクラスタの前記分類値に基づいて、前記処理対象のクラスタを分類できるか否かを判定し、
前記処理対象のクラスタを分類できないと判定された場合、前記クラスタ履歴情報を参照し、前記処理対象のクラスタに一致する前記履歴クラスタが存在するか否かを判定し、
前記処理対象のクラスタに一致する前記履歴クラスタが存在すると判定された場合、当該履歴クラスタに対応付けられる前記制御ポリシに基づいて、前記処理対象のクラスタに対する制御内容を決定することを特徴とするネットワークシステム。
【請求項６】
請求項５に記載のネットワークシステムであって、
前記クラスタ分類部は、前記処理対象のクラスタに一致する前記履歴クラスタが存在しないと判定された場合、前記処理対象のクラスタを新たな履歴クラスタとして前記クラスタ履歴情報に登録することを特徴とするネットワークシステム。
【請求項７】
ネットワークを介して接続される端末間の通信を制御する複数の通信装置を備えるネットワークシステムにおける通信の分析方法であって、
前記複数の通信装置の各々は、演算装置及び前記演算装置に接続される記憶装置を有し、
前記ネットワークシステムは、前記端末間の通信の制御単位である通信フローを分析し、通信の種類毎に複数の通信フローを分類する分析部を備え、
前記分析部は、少なくとも一つの前記通信装置の前記演算装置が前記記憶装置に格納されるプログラムを実行することによって実現され、
前記通信の分析方法は、
前記分析部が、前記通信フロー毎に、複数の特徴量を含む通信フローの管理情報を取得する第１のステップと、
前記分析部が、前記通信フローの管理情報を解析して、前記複数の通信フローから構成されるクラスタを複数生成する第２のステップと、
前記分析部が、前記複数のクラスタに含まれる前記複数の通信フローの少なくとも一つの前記特徴量を用いた解析結果に基づいて、通信の種類毎に前記複数のクラスタを分類する第３のステップと、を含むことを特徴とする通信の分析方法。
【請求項８】
請求項７に記載の通信の分析方法であって、
前記分析部は、前記クラスタの生成方法を示す第１の情報、及び前記複数のクラスタの分類方法を示す第２の情報を含むエントリを複数含むクラスタ分類定義情報を管理し、
前記第１のステップは、
前記分析部が、前記クラスタ分類定義情報から一つの前記エントリを選択するステップと、
前記分析部が、前記選択されたエントリの前記第１の情報に基づいて、前記複数の通信フローから前記複数のクラスタを生成するステップと、を含み、
前記第３のステップは、
前記分析部が、前記選択されたエントリの前記第２の情報に基づいて前記複数のクラスタを解析することによって、前記複数のクラスタの各々の分類値を算出するステップと、
前記分析部が、前記算出された分類値に基づいて、前記複数のクラスタを分類するステップと、を含むことを特徴とする通信の分析方法。
【請求項９】
請求項８に記載の通信の分析方法であって、
前記クラスタ分類定義情報に含まれるエントリは、さらに、前記クラスタに対する制御内容を定義する制御ポリシを示す第３の情報を含み、
前記第３のステップは、前記分析部が、前記選択されたエントリの前記第３の情報に基づいて、前記分類された複数のクラスタに対する制御内容を決定するステップを含むことを特徴とする通信の分析方法。
【請求項１０】
請求項９に記載の通信の分析方法であって、
前記分析部が、前記選択されたエントリの前記第３の情報に基づいて、前記分類された複数のクラスタの各々について適用可能な制御内容が存在するか否かを判定するステップと、
前記分析部が、前記適用可能な制御内容が存在すると判定された場合、前記分類されたクラスタに対して前記制御内容を適用するステップと、を含むことを特徴とする通信の分析方法。
【請求項１１】
請求項８に記載の通信の分析方法であって、
前記分析部は、前記クラスタ分類定義情報に基づいて分類できなかったクラスタである履歴クラスタに関する情報を格納するクラスタ履歴情報を管理し、
前記クラスタ履歴情報は、前記履歴クラスタの識別情報、前記履歴クラスタの分類時に選択された前記クラスタ分類定義情報のエントリの識別情報、前記履歴クラスタの前記分類値、及び前記履歴クラスタに対する制御内容を定義する制御ポリシを含むエントリを複数含み、
前記第３のステップは、
前記分析部が、前記複数のクラスタの各々の前記分類値が算出された後、前記生成された複数のクラスタの中から処理対象のクラスタを選択するステップと、
前記分析部が、前記処理対象のクラスタの前記分類値に基づいて、前記処理対象のクラスタを分類できるか否かを判定するステップと、
前記分析部が、前記処理対象のクラスタを分類できないと判定された場合、前記クラスタ履歴情報を参照し、前記処理対象のクラスタに一致する前記履歴クラスタが存在するか否かを判定するステップと、
前記分析部が、前記処理対象のクラスタに一致する前記履歴クラスタが存在すると判定された場合、当該履歴クラスタに対応付けられる前記制御ポリシに基づいて、前記処理対象のクラスタに対する制御内容を決定するステップと、を含むことを特徴とする通信の分析方法。
【請求項１２】
請求項１１に記載の通信の分析方法であって、
前記分析部が、前記処理対象のクラスタに一致する前記履歴クラスタが存在しないと判定された場合、前記処理対象のクラスタを新たな履歴クラスタとして前記クラスタ履歴情報に登録するステップを、含むことを特徴とする通信の分析方法。
【請求項１３】
ネットワークを介して接続される端末間の通信の制御単位である通信フローを分析する分析装置であって、
演算装置及び前記演算装置に接続される記憶装置を備え、さらに、
複数の通信フローの各々について、複数の特徴量を含む通信フローの管理情報を取得する特徴量取得部と、
前記通信フローの管理情報を解析して、前記複数の通信フローから構成されるクラスタを複数生成するクラスタ分析部と、
前記複数のクラスタに含まれる前記複数の通信フローの少なくとも一つの前記特徴量を用いた解析結果に基づいて、通信の種類毎に前記複数のクラスタを分類するクラスタ分類部と、を備えることを特徴とする分析装置。
【請求項１４】
請求項１３に記載の分析装置であって、
前記分析装置は、前記クラスタの生成方法を示す第１の情報、及び前記複数のクラスタの分類方法を示す第２の情報を含むエントリを複数含むクラスタ分類定義情報を管理し、
前記クラスタ分析部は、
前記クラスタ分類定義情報から一つの前記エントリを選択し、
前記選択されたエントリの前記第１の情報に基づいて、前記複数の通信フローから前記複数のクラスタを生成し、
前記クラスタ分類部は、
前記選択されたエントリの前記第２の情報に基づいて前記複数のクラスタを解析することによって、前記複数のクラスタの各々の分類値を算出し、
前記算出された分類値に基づいて、前記複数のクラスタを分類することを特徴とする分析装置。
【請求項１５】
請求項１４に記載の分析装置であって、
前記クラスタ分類定義情報に含まれるエントリは、さらに、前記クラスタに対する制御内容を定義する制御ポリシを示す第３の情報を含み、
前記クラスタ分類部は、前記選択されたエントリの前記第３の情報に基づいて、前記分類された複数のクラスタに対する制御内容を決定することを特徴とする分析装置。
【請求項１６】
請求項１５に記載の分析装置であって、
前記選択されたエントリの前記第３の情報に基づいて、前記分類された複数のクラスタの各々について適用可能な制御内容が存在するか否かを判定し、前記適用可能な制御内容が存在すると判定された場合、前記分類されたクラスタに対して前記制御内容を適用する実行部を備えることを特徴とする分析装置。
【請求項１７】
請求項１４に記載の分析装置であって、
前記分析装置は、前記クラスタ分類定義情報に基づいて分類できなかったクラスタである履歴クラスタに関する情報を格納するクラスタ履歴情報を管理し、
前記クラスタ履歴情報は、前記履歴クラスタの識別情報、前記履歴クラスタの分類時に選択された前記クラスタ分類定義情報のエントリの識別情報、前記履歴クラスタの前記分類値、及び前記履歴クラスタに対する制御内容を定義する制御ポリシを含むエントリを複数含み、
前記クラスタ分類部は、
前記複数のクラスタの各々の前記分類値が算出された後、前記生成された複数のクラスタの中から処理対象のクラスタを選択し、
前記処理対象のクラスタの前記分類値に基づいて、前記処理対象のクラスタを分類できるか否かを判定し、
前記処理対象のクラスタを分類できないと判定された場合、前記クラスタ履歴情報を参照し、前記処理対象のクラスタに一致する前記履歴クラスタが存在するか否かを判定し、
前記処理対象のクラスタに一致する前記履歴クラスタが存在すると判定された場合、当該履歴クラスタに対応付けられる前記制御ポリシに基づいて、前記処理対象のクラスタに対する制御内容を決定することを特徴とする分析装置。
【請求項１８】
請求項１７に記載の分析装置であって、
前記クラスタ分類部は、前記処理対象のクラスタに一致する前記履歴クラスタが存在しないと判定された場合、前記処理対象のクラスタを新たな履歴クラスタとして前記クラスタ履歴情報に登録することを特徴とする分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信フロー毎の特徴量を用いて、通信の種別毎に通信フローを分類するネットワークシステム、分類方法、及び装置に関する。
【背景技術】
【０００２】
通信装置は、一つの通信フローを流れるパケットの分析処理によって通信フローにおける通信品質又は通信速度を測定し、測定結果に基づいて通信の種別毎に通信フローを分類し、分類結果に基づいて様々な通信サービスを動的に適用する。通信フローを分類する技術として特許文献１に記載される技術が知られている。
【０００３】
特許文献１には、「通信データ記憶手段から連続する二つの通信データＸｎ，Ｘｎ＋１を取得して、該通信データＸｎ，Ｘｎ＋１の時間間隔が所定の閾値Ｔｃ以上場合は、該二つの通信データはそれぞれ別の通信クラスタであるとし、該通信データＸｎ＋１を代表的通信とし、該閾値Ｔｃより小さい場合は、同一通信クラスタであり、該Ｘｎ＋１は従属的通信と判定し、代表的通信となった通信データＸｎ＋１の次の通信データＸｎ＋２を通信データ記憶手段から取得して、該通信データＸｎ＋２と該通信データＸｎ＋１の差が所定の代表的通信識別閾値Ｔｆより小さい場合は、該通信データＸｎ＋１を従属的通信とし、分類結果を、該通信データを一意に示す通信識別子と共に分類結果記憶手段に格納する」ことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１５４８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通信フロー毎に、スループット、遅延時間、パケット廃棄率、及び通信継続時間等の特徴量を抽出して、特徴量と閾値とを比較して通信フローを分類する場合、通信フローの分類結果は、特徴量のゆらぎ及び変動、又は統計分布及び統計誤差の影響を受ける。すなわち、一貫した通信の制御を行うために必要な通信フローの分類が困難である。さらに、従来は、予め設定された閾値のみを用いて通信フローの分類が行われていたため、未知の特徴量を持つ通信フローを分類することができないという問題もある。
【０００６】
例えば、二つの拠点間の通信フローを分析した結果、ある通信フローではパケット廃棄率又は通信遅延が一時的に高くなり、一方、他の通信フローではパケット廃棄率又は通信遅延が一時的に低くなるケースがある。このようなケースでは、通信の分類結果が、一意に定まらず頻繁に代わるため、ＷＡＮアクセラレータのような通信品質を向上させる通信サービスを適用すべきか否かを正確に決定できない。
【０００７】
本発明は、通信フローの特徴量のゆらぎ及び変動、又は統計分布及び統計誤差の影響を受けることなく、通信フローを分類するシステム及び方法を提供する。
【課題を解決するための手段】
【０００８】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークを介して接続される端末間の通信を制御する複数の通信装置を備えるネットワークシステムであって、前記複数の通信装置の各々は、演算装置及び前記演算装置に接続される記憶装置を有し、前記ネットワークシステムは、前記端末間の通信の制御単位である通信フローを分析し、通信の種類毎に複数の通信フローを分類する分析部を備え、前記分析部は、少なくとも一つの前記通信装置の前記演算装置が前記記憶装置に格納されるプログラムを実行することによって実現され、前記分析部は、前記通信フロー毎に、複数の特徴量を含む通信フローの管理情報を取得する特徴量取得部と、前記通信フローの管理情報を解析して、前記複数の通信フローから構成されるクラスタを複数生成するクラスタ分析部と、前記複数のクラスタに含まれる前記複数の通信フローの少なくとも一つの前記特徴量を用いた解析結果に基づいて、通信の種類毎に前記複数のクラスタを分類するクラスタ分類部と、を含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、通信フローの特徴量のゆらぎ及び変動、又は統計分布及び統計誤差の影響を受けることなく、通信フローを分類することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】実施例１のネットワークシステムの構成例を示す説明図である。
【図２】実施例１の通信装置が送受信するパケットのフォーマットの一例を示す説明図である。
【図３】実施例１の分析装置のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図４Ａ】実施例１の分析装置が管理するクラスタ分類定義情報の一例を示す説明図である。
【図４Ｂ】実施例１の分析装置が管理するクラスタ履歴情報の一例を示す説明図である。
【図５】実施例１の解析装置が管理する特徴量管理情報の一例を示す説明図である。
【図６】実施例１の蓄積装置が管理する特徴量履歴管理情報の一例を示す説明図である。
【図７】実施例１の分析装置が実行する処理を説明するフローチャートである。
【図８Ａ】実施例１の出力部によって出力されるクラスタの表示例を示す説明図である。
【図８Ｂ】実施例１の出力部によって出力されるクラスタの表示例を示す説明図である。
【図８Ｃ】実施例１の出力部によって出力されるクラスタの表示例を示す説明図である。
【図９】実施例２の分析装置が実行する処理を説明するフローチャートである。
【図１０】実施例３の分析装置がＤＤｏＳ攻撃を検出する場合に実行する処理の一例を説明するフローチャートである。
【図１１】実施例３の特徴量履歴管理情報の一例を示す説明図である。
【図１２】実施例３のクラスタ分析の処理結果の一例を示す図である。
【図１３】実施例４の分析装置が異常通信を検出する場合に実行する処理の一例を説明するフローチャートである。
【図１４】実施例４の異常通信の検出例を示す説明図である。
【図１５】実施例５の分析装置が通信品質の劣化を検出する場合に実行する処理の一例を説明するフローチャートである。
【図１６】実施例５の通信品質の劣化の検出例を示す説明図である。
【図１７】実施例６の分析装置がユーザ毎の嗜好を検出する場合に実行する処理の一例を説明するフローチャートである。
【図１８】実施例６のユーザ毎の嗜好の検出例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施例について説明する。各図において共通の構成については同一の参照符号を付している。
【実施例１】
【００１２】
実施例１では、本発明の基本的なシステムの形態を説明する。変形例、具体例については別の実施例にて説明する。
【００１３】
図１は、実施例１のネットワークシステムの構成例を示す説明図である。
【００１４】
実施例１のネットワークシステムは、分析装置１００、複数の通信装置１０１、転送装置１０２、解析装置１０３、蓄積装置１０４、出力装置１０５、設定用端末１０６、及び複数の端末１１０から構成される。
【００１５】
図１に示すネットワークシステムは、二つの通信装置１（１０１−１）及び通信装置２（１０１−２）を含み、また、四つの端末１（１１０−１）、端末２（１１０−２）、端末３（１１０−３）、及び端末４（１１０−４）を含む。以下の説明では、通信装置１（１０１−１）及び通信装置２（１０１−２）を区別しない場合、通信装置１０１と記載し、端末１（１１０−１）、端末２（１１０−２）、端末３（１１０−３）、及び端末４（１１０−４）を区別しない場合、端末１１０と記載する。
【００１６】
端末１（１１０−１）及び端末２（１１０−２）はネットワーク１（１２０−１）を介して通信装置１（１０１−１）と接続し、また、端末３（１１０−３）及び端末４（１１０−４）は、ネットワーク２（１２０−２）を介して通信装置２（１０１−２）と接続する。また、通信装置１（１０１−１）及び通信装置２（１０１−２）は、転送装置１０２を介して互いに接続される。なお、ネットワーク１（１２０−１）及びネットワーク２（１２０−２）は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等が考えられる。なお、ネットワーク１（１２０−１）及びネットワーク２（１２０−２）の種別に限定されない。以下の説明では、ネットワーク１（１２０−１）及びネットワーク２（１２０−２）を区別しない場合、ネットワーク１２０と記載する。
【００１７】
各端末１１０は、ネットワーク１２０、通信装置１０１、及び転送装置１０２を介して異なるネットワークに接続される端末１１０と通信する。なお、各端末１１０は、同一のネットワーク１２０に接続する他の端末１１０と通信してもよい。
【００１８】
通信装置１０１は、複数の端末１１０間の通信をセッション単位で制御する。本実施例では、セッションはＴＣＰセッションであるものとする。通信装置１０１は、パケットの受信処理及びパケットの送信処理を実行する。また、通信装置１０１は、特定のセッションを流れるパケットに対する制御を行う。通信装置１０１は、分析装置１００からの指示にしたがって、セッション単位の通信に対する制御を行う。通信装置１０１が送受信するパケットのフォーマットについては図２を用いて説明する。
【００１９】
転送装置１０２は、端末１１０から送信されるパケットを中継する。本実施例の転送装置１０２は、ミラーリング及びタップの少なくともいずれかの機能を有する。転送装置１０２がミラーリングの機能を有する場合、転送装置１０２は、通信装置１０１から受信したパケットからミラーパケットを生成し、生成されたミラーパケットを解析装置１０３に出力する。転送装置１０２がタップの機能を有する場合、転送装置１０２は、通信装置１０１から受信したパケット（信号）を二つに分岐し、一つのパケットを通信装置１０１に送信し、もう一つのパケットを解析装置１０３に出力する。
【００２０】
解析装置１０３は、転送装置１０２から取得したパケット又はミラーパケットに基づいて、各セッションの特徴量を抽出し、特徴量管理情報５００（図５参照）として抽出された特徴量を管理する。特徴量管理情報５００（図５参照）はリアルタイムに更新される。解析装置１０３は、周期的に、特徴量管理情報５００（図５参照）を蓄積装置１０４に送信する。
【００２１】
例えば、端末１（１１０−１）及び端末３（１１０−３）の間のセッションの場合、端末１（１１０−１）及び端末３（１１０−３）のそれぞれについて、ＩＰアドレス、ポート番号、送信シーケンス番号、受信シーケンス番号、往復通信遅延時間、パケット数、ビット数、直近帯域、平均帯域、及びパケット廃棄率等が特徴量として抽出される。
【００２２】
なお、前述した特徴量と、図１に示す記号とは以下のような対応関係であるものとする。すなわち、「ＩＰ」はＩＰアドレスに対応し、「ｐｏｒｔ」はポート番号に対応し、「ｓｅｑ」は送信シーケンス番号に対応し、「ａｃｋ」は受信シーケンス番号に対応する。また、「ｒｔｔ」は往復通信遅延時間に対応し、「ｐｋｔ」はパケット数に対応し、「ｂｉｔ」はビット数に対応する。また、「ＢＷ」は直近帯域に対応し、「ａｖｅ」は平均帯域に対応し、「ｌｏｓｓ」はパケット廃棄率に対応する。
【００２３】
蓄積装置１０４は、解析装置１０３から特徴量管理情報５００（図５参照）を取得し、各セッションの特徴量を特徴量履歴管理情報６００（図６参照）として管理する。なお、蓄積装置１０４は、必要に応じて、抽出された特徴量に基づいて新たな特徴量を算出し、抽出された特徴量と算出された新たな特徴量とを対応づけて管理してもよい。
【００２４】
分析装置１００は、セッションの特徴量に基づいて、クラスタ分析を行う。クラスタ分析では、分析装置１００は、各セッションの特徴量に基づいて複数のセッションから構成されるクラスタを複数生成する。より具体的には、分析装置１００は、複数の特徴量間の相関関係に基づく教師無学習の分析を行い、複数のクラスタを生成する。なお、一つのクラスタには二つ以上のセッションが含まれるため、クラスタ分析には、少なくとも四つのセッションの特徴量が入力される。
【００２５】
さらに、分析装置１００は、各クラスタに含まれる複数のセッションの少なくとも一つの特徴量を用いてクラスタ単位の通信の分析を行う。分析装置１００は、分析の結果に基づいて、通信の種別毎に複数のクラスタを分類する。本実施例ではクラスタ単位に分類が行われるため、各通信セッションの特徴量の変動又は統計分布の影響を受けることない。
【００２６】
分析装置１００は、クラスタ分析及び分類の結果を出力装置１０５に出力する。また、分析装置１００は、クラスタの分類の結果に基づいて、クラスタに対する通信の制御内容を決定し、通信装置１０１に決定された制御内容を通知する。
【００２７】
通信装置１０１は、分析装置１００から通知された制御内容に基づいて、対象となるセッションに対する制御を行う。これによって、クラスタ単位で一貫した通信の制御が可能となる。
【００２８】
出力装置１０５は、ディスプレイ、印刷機、及び記憶媒体に対応する装置である。出力装置１０５は、クラスタ分析及び分類の結果に基づいてアラートを上げ、また、クラスタ分析及び分類の結果を印刷し、又は記憶装置に蓄積する。また、出力装置１０５は、クラスタ分析及び分類の結果を画像として表示する。図１では、出力装置１０５が、クラスタ分析及び分類の結果を画像１３０として表示する例を示す。当該画像１３０には、相関グラフに使用する指標、クラスタの分類に使用する指標及び定義式、並びに分類されたクラスタの種別等が表示される。クラスタの分類に使用する指標は、例えば、相関グラフにおけるクラスタの重心等が考えられる。
【００２９】
画像１３０では、通信品質毎にクラスタを分類した分類結果、及びユーザ嗜好毎にクラスタを分類した分類結果を表示する。
【００３０】
設定用端末１０６は、分析装置１００の各種設定を行うための端末である。本実施例では、設定用端末１０６を用いてクラスタを分類するための情報、及びクラスタに含まれるセッションに対する制御内容等を含む設定情報が分析装置１００に入力される。
【００３１】
図２は、実施例１の通信装置１０１が送受信するパケットのフォーマットの一例を示す説明図である。
【００３２】
パケットは、ＭＡＣヘッダ２００、ＩＰヘッダ２１０、ＴＣＰヘッダ２２０、ＴＣＰオプションヘッダ２３０、及びペイロード２５０を含む。
【００３３】
ＭＡＣヘッダ２００は、ＤＭＡＣ２０１、ＳＭＡＣ２０２、ＴＰＩＤ２０３、ＰＣＰ２０４、ＣＦＩ２０５、ＶＩＤ２０６、及びＴｙｐｅ２０７を含む。
【００３４】
ＤＭＡＣ２０１は宛先ＭＡＣアドレスを表す。ＳＭＡＣ２０２は送信元ＭＡＣアドレスを表す。Ｔｙｐｅ２０７はＭＡＣフレームタイプを表す。ＴＰＩＤ２０３はフレームタイプがＶＬＡＮであることを示す。ＰＣＰ２０４はＶＬＡＮの優先度を表す。ＣＦＩ２０５は、ＭＡＣアドレスが正規フォーマットであるかを表す。ＶＩＤ２０６はＶＬＡＮのＩＤ番号を表す。
【００３５】
ＩＰヘッダ２１０は、ＩＰ  ｌｅｎｇｔｈ２１１、ｐｒｏｔｏｃｏｌ２１２、ＳＩＰ２１３、及びＤＩＰ２１４を含む。
【００３６】
ＩＰ  ｌｅｎｇｔｈ２１１はＭＡＣヘッダを除くパケット長を表す。ｐｒｏｔｏｃｏｌ２１２はプロトコル番号を表す。ＳＩＰ２１３は送信元ＩＰアドレスを表す。ＤＩＰ２１４は宛先ＩＰアドレスを現す。
【００３７】
ＴＣＰヘッダ２２０は、ｓｒｃ．ｐｏｒｔ２２１、ｄｓｔ．ｐｏｒｔ２２２、ＳＥＱ２２３、ＡＣＫ２２４、ｆｌａｇ２２５、及びｔｃｐ  ｈｌｅｎ２２６を含む。
【００３８】
ｓｒｃ．ｐｏｒｔ２２１は送信元ポート番号を表す。ｄｓｔ．ｐｏｒｔ２２２は宛先ポート番号を表す。ＳＥＱ２２３は送信シーケンス番号を表す。ＡＣＫ２２４は受信シーケンス番号を表す。ｆｌａｇ２２５はＴＣＰフラグ番号を表す。ｔｃｐ  ｈｌｅｎ２２６はＴＣＰのヘッダ長を表す。
【００３９】
ＴＣＰオプションヘッダ２３０は、ｏｐｔｉｏｎ  ｋｉｎｄ  １（２３１）、ｏｐｔｉｏｎ  ｌｅｎｇｔｈ  １（２３２）、ｌｅｆｔ＿ｅｄｇｅ＿１〜４（２３３、２３５、２３７、２３９）、及びｒｉｇｈｔ＿ｅｄｇｅ＿１〜４（２３４、２３６、２３８、２４０）を含む。
【００４０】
ｏｐｔｉｏｎ  ｋｉｎｄ  １（２３１）はオプション種別を表す。ｏｐｔｉｏｎ  ｌｅｎｇｔｈ  １（２３２）はオプション長を表す。ｌｅｆｔ＿ｅｄｇｅ＿１〜４（２３３、２３５、２３７、２３９）、及びｒｉｇｈｔ＿ｅｄｇｅ＿１〜４（２３４、２３６、２３８、２４０）は、一つの通信データが複数のデータに分割されて送信される場合に、部分的に受信したデータの位置を送信先の端末１１０に通知するために用いられる。
【００４１】
なお、ｌｅｆｔ＿ｅｄｇｅ＿１〜４（２３３、２３５、２３７、２３９）、ｒｉｇｈｔ＿ｅｄｇｅ＿１〜４（２３４、２３６、２３８、２４０）は、部分的に受信できなかったデータの位置を通知するために用いられる場合もある。
【００４２】
図３は、実施例１の分析装置１００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【００４３】
分析装置１００は、ハードウェア構成として、演算装置３００、主記憶装置３０１、及びＮＩＣ３０３を有する。演算装置３００、主記憶装置３０１、及びＮＩＣ３０３はシステムバス等を介して互いに接続される。なお、通信装置１０１、転送装置１０２、解析装置１０３、及び蓄積装置１０４は、分析装置１００と同様のハードウェア構成であるものとする。
【００４４】
演算装置３００は、主記憶装置３０１に格納されるプログラムを実行する。演算装置３００は、例えば、ＣＰＵ、ＧＰＵ等が考えられる。演算装置３００がプログラムを実行することによって分析装置１００が有する機能を実現する。以下では、機能部を主語に処理を説明する場合、演算装置３００が当該機能部を実現するプログラムを実行していることを示す。
【００４５】
主記憶装置３０１は、演算装置３００が実行するプログラム及び当該プログラムの実行に必要な情報を格納する記憶装置である。また、主記憶装置３０１は、各プログラムが使用するワークエリア及びバッファ等の記憶領域を有する。主記憶装置３０１に格納されるプログラム及び情報の詳細については後述する。
【００４６】
ＮＩＣ３０３は、他の装置と接続するためのインタフェースである。図３に示す分析装置１００は一つのＮＩＣ３０３のみを保持するが、通信装置１０１、蓄積装置１０４、出力装置１０５、及び設定用端末１０６のそれぞれに接続するＮＩＣ３０３を備えてもよい。
【００４７】
本実施例の主記憶装置３０１は、特徴量取得部３１０、クラスタ分析部３１１、クラスタ分類部３１２、アクション実行部３１３、出力部３１４、及びクラスタ定義更新部３１５を実現するプログラムを格納する。また、主記憶装置３０１はクラスタ分類定義情報３２０、及びクラスタ履歴情報３２１を格納する。
【００４８】
特徴量取得部３１０は、蓄積装置１０４が保持する特徴量履歴管理情報６００から各セッションの特徴量を管理するエントリ６０１を取得し、取得されたエントリ６０１に含まれる特徴量の正規化を行う。特徴量取得部３１０は、正規化された特徴量をクラスタ分析部３１１に出力する。なお、必ずしも正規化が行われる必要はない。
【００４９】
クラスタ分析部３１１は、正規化された特徴量を用いて複数の特徴量の相関関係を算出し、当該相関関係に基づいて複数のセッションから複数のクラスタを生成する。また、クラスタ分析部３１１は、生成されたクラスタの情報をクラスタ分類部３１２に出力する。
【００５０】
例えば、複数の特徴量からなる特徴量ベクトルを考えた場合、クラスタ分析部３１１は、特徴量ベクトル間の距離が所定の閾値以下である複数のセッションを一つの集合として扱うことによって、一つのクラスタを生成する。二つの特徴量ベクトル間の距離に基づいて複数のセッションが分類されるため、一つのクラスタには少なくとも二つのセッションが含まれる。
【００５１】
クラスタ分類部３１２は、複数のクラスタを分類するための値を算出し、当該値に基づいてクラスタ分類定義情報３２０を参照して、生成されたクラスタを分類できるか否かを判定する。クラスタ分類部３１２は、分類できないクラスタが存在する場合、クラスタ履歴情報３２１を参照して、一致するクラスタが存在するか否かを判定する。クラスタ履歴情報３２１に一致するクラスタが存在しない場合、クラスタ分類部３１２は、クラスタ履歴情報３２１に未知のクラスタとして登録する。
【００５２】
また、クラスタ分類部３１２は、クラスタ分類定義情報３２０に基づいてクラスタを分類できる場合、又は、クラスタ履歴情報３２１に一致するクラスタが存在する場合、クラスタに対して設定された制御内容（アクション）をアクション実行部３１３に出力する。
【００５３】
アクション実行部３１３は、クラスタ分類部３１２から出力された制御内容に基づいて、所定の制御を行う。本実施例では、特徴量の変動及び統計分布等の影響を受けることなく、一貫した制御ポリシを設定できる。
【００５４】
出力部３１４は、実行されたアクションの結果、及び生成されたクラスタの分類の結果等を出力装置１０５等に出力する。
【００５５】
クラスタ定義更新部３１５は、設定用端末１０６等の外部からの入力に基づいて、クラスタ分類定義情報３２０及びクラスタ履歴情報３２１を更新する。
【００５６】
なお、複数の機能ブロックが有する機能を一つの機能ブロックに集約し、また、一つの機能ブロックを複数の機能ブロックに分割してもよい。例えば、クラスタ分類部３１２が、特徴量取得部３１０、クラスタ分析部３１１、及びアクション実行部３１３が有する機能を有してもよい。
【００５７】
図４Ａは、実施例１の分析装置１００が管理するクラスタ分類定義情報３２０の一例を示す説明図である。図４Ｂは、実施例１の分析装置１００が管理するクラスタ履歴情報３２１の一例を示す説明図である。
【００５８】
本実施例では、分析装置１００は、相関関係が異なる複数のアルゴリズムに基づいて複数のクラスタを生成し、また、通信の種別毎に複数のクラスタを分類する。クラスタ分類定義情報３２０は、クラスタ分析及びクラスタの分類方法に関する情報である。クラスタ分類定義情報３２０は、クラスタ分析方法及びクラスタの分類方法の一つの組合せに対して一つのエントリを含む。また、各エントリは、分類ＩＤ４０１、相関指標４０２、分類指標４０３、定義式４０４、及びアクション４０５を含む。
【００５９】
分類ＩＤ４０１は、クラスタ分析及び分類方法の組合せを一意に識別するための識別子である。相関指標４０２は、クラスタ分析に使用される情報である。具体的には、複数のセッションから複数のクラスタを生成するための特徴量の組合せに関する情報である。例えば、相関指標４０２に「スループット、ＲＴＴ、クラスタを区切る距離」が格納される場合、分析装置１００は、スループット及びＲＴＴの相関関係に基づいて複数のセッションを分類することによって複数のクラスタを生成する。この場合、スループット及びＲＴＴの相関グラフにおいてクラスタを区切る距離よりも距離が近い複数のセッションから一つのクラスタが生成される。
【００６０】
分類指標４０３及び定義式４０４は、複数のクラスタの各々を分類するための情報である。すなわち、分類方法に関連する情報である。分類指標４０３は、生成されたクラスタを通信の種別毎に分類するために用いる指標の種別である。分類指標４０３には、平均値、頻出度、最大値、及び最小値等が格納される。定義式４０４は、複数のクラスタを分類指標４０３に基づいて分類するための定義式である。定義式４０４には、図１の画像１３０に含まれる定義式のような分類指標４０３に関する数式等が格納される。以下の説明では、定義式４０４を用いて分類するために算出される値を分類値とも記載する。
【００６１】
アクション４０５は、分類された各クラスタに対する制御内容を定義する制御ポリシである。アクション４０５には、少なくとも一つのクラスタに対する制御内容（アクション）が定義されている。クラスタに含まれる複数のセッションに対して、当該クラスタに対応する制御内容が適用される。以下の説明では、クラスタに対する制御内容、すなわち、操作をアクションとも記載する。実施例１では、定義式４０４に基づいて分類された全てのクラスタに対して適用するアクションが存在するものとする。
【００６２】
クラスタ履歴情報３２１は、クラスタ分類定義情報３２０に基づいて分類できなかったクラスタを管理する情報である。以下の説明では、クラスタ履歴情報３２１によって管理されるクラスタを履歴クラスタとも記載する。クラスタ履歴情報３２１は、クラスタＩＤ４１１、分類ＩＤ４１２、分類値４１３、及びアクション４１４を含む。
【００６３】
クラスタＩＤ４１１は、履歴クラスタを一意に識別するための識別子である。分類ＩＤ４１２は、分類ＩＤ４０１と同一のものである。分類ＩＤ４１２は、履歴クラスタがどの分類方法を用いて分類できなかったクラスタであるか示す情報である。分類値４１３は、分類ＩＤ４０１が分類ＩＤ４１２に一致するエントリの定義式４０４に基づいて算出された分類値である。アクション４１４は、アクション４０５と同一のものである。実施例１では、クラスタ履歴情報３２１への履歴クラスタの登録時に、分析装置１００が自動的にアクション４１４に情報を設定する。なお、アクション４１４は、クラスタ定義更新部３１５を介して設定してもよい。
【００６４】
図５は、実施例１の解析装置１０３が管理する特徴量管理情報５００の一例を示す説明図である。
【００６５】
特徴量管理情報５００は、セッションの複数の特徴量から構成されるエントリ５０１を複数含む。実施例１のエントリ５０１は、セッションの特徴量として、ＩＤ５０５、ＩＰ１（５１０）、ｐｏｒｔ１（５１１）、ｓｅｑ１（５１２）、ａｃｋ１（５１３）、ｒｒｔ１（５１４）、ｐｋｔ１（５１５）、ｂｉｔ１（５１６）、ＢＷ１（５１７）、ａｖｅＢＷ１（５１８）、ｌｏｓｓ１（５１９）、ｔｉｍｅ１（５２０）、ＩＰ２（５２１）、ｐｏｒｔ２（５２２）、ｓｅｑ２（５２３）、ａｃｋ２（５２４）、ｒｒｔ２（５２５）、ｐｋｔ２（５２６）、ｂｉｔ２（５２７）、ＢＷ２（５２８）、ａｖｅＢＷ２（５２９）、ｌｏｓｓ２（５３０）、ｔｉｍｅ２（５３１）、ｌｅｎ１（５３２）、ｌｅｎ２（５３３）、ｓｙｎ１（５３４）、ｓｙｎ２（５３５）、ｆｉｎ１（５３６）、ｆｉｎ２（５３７）、及びｖｌａｎ５３８を含む。なお、エントリ５０１は、前述した特徴量以外の特徴量を含んでいてもよい。
【００６６】
ＩＤ５０５は、セッションの識別情報である。ＩＰ１（５１０）及びＩＰ２（５２１）は、セッションを介して接続され二つの端末１１０のそれぞれのＩＰアドレスである。ｐｏｒｔ１（５１１）及びｐｏｒｔ２（５２２）は、セッションを介して接続され二つの端末１１０のそれぞれのポート番号である。
【００６７】
ｓｅｑ１（５１２）及びｓｅｑ２（５２３）は、セッションを介して接続され二つの端末１１０のそれぞれの送信シーケンス番号である。ａｃｋ１（５１３）及びａｃｋ２（５２４）は、セッションを介して接続され二つの端末１１０のそれぞれの受信シーケンス番号である。
【００６８】
ｐｋｔ１（５１５）及びｐｋｔ２（５２６）は、セッションを介して接続され二つの端末１１０のそれぞれの送信パケット数である。ｂｉｔ１（５１６）及びｂｉｔ２（５２７）は、セッションを介して接続され二つの端末１１０のそれぞれの送信ビット数である。ｌｅｎ１（５３２）及びｌｅｎ２（５３３）は、セッションを介して接続され二つの端末１１０のそれぞれの送信パケット長である。
【００６９】
ＢＷ１（５１７）及びＢＷ２（５２８）は、セッションを介して接続され二つの端末１１０のそれぞれの直近送信帯域である。ａｖｅＢＷ１（５１８）及びａｖｅＢＷ２（５２９）は、セッションを介して接続され二つの端末１１０の平均送信帯域である。
【００７０】
ｓｙｎ１（５３４）及びｓｙｎ２（５３５）は、セッションを介して接続され二つの端末１１０のそれぞれのＳＹＮパケットの送信数である。ｆｉｎ１（５３６）及びｆｉｎ２（５３７）は、セッションを介して接続され二つの端末１１０のそれぞれのＦＩＮパケットの送信数である。
【００７１】
ｒｒｔ１（５１４）及びｒｒｔ２（５２５）は、セッションを介して接続され二つの端末１１０のそれぞれの往復通信遅延時間である。ｌｏｓｓ１（５１９）及びｌｏｓｓ２（５３０）は、セッションを介して接続され二つの端末１１０のパケット廃棄率である。ｔｉｍｅ１（５２０）及びｔｉｍｅ２（５３１）は、セッションを介して接続され二つの端末１１０のそれぞれの通信継続時間である。
【００７２】
ｖｌａｎ５３８は、セッションを介して接続され二つの端末１１０が使用するＶＬＡＮ番号である。
【００７３】
図６は、実施例１の蓄積装置１０４が管理する特徴量履歴管理情報６００の一例を示す説明図である。
【００７４】
特徴量履歴管理情報６００は、セッションの複数の特徴量から構成されるエントリ６０１を複数含む。実施例１のエントリ６０１は、セッションの特徴量として、ＩＤ６０５、ＩＰ１（６１０）、ｐｏｒｔ１（６１１）、ｓｅｑ１（６１２）、ａｃｋ１（６１３）、ｒｒｔ１（６１４）、ｐｋｔ１（６１５）、ｂｉｔ１（６１６）、ＢＷ１（６１７）、ａｖｅＢＷ１（６１８）、ｌｏｓｓ１（６１９）、ｔｉｍｅ１（６２０）、ＩＰ２（６２１）、ｐｏｒｔ２（６２２）、ｓｅｑ２（６２３）、ａｃｋ２（６２４）、ｒｒｔ２（６２５）、ｐｋｔ２（６２６）、ｂｉｔ２（６２７）、ＢＷ２（６２８）、ａｖｅＢＷ２（６２９）、ｌｏｓｓ２（６３０）、ｔｉｍｅ２（６３１）、ｌｅｎ１（６３２）、ｌｅｎ２（６３３）、ｓｙｎ１（６３４）、ｓｙｎ２（６３５）、ｆｉｎ１（６３６）、ｆｉｎ２（６３７）、ｖｌａｎ６３８、ｆｒｅｑ１（６３９）、ｆｒｅｑ２（６４０）、及びｒｅｃ＿ｔｉｍｅ６４１を含む。なお、エントリ６０１は、前述した特徴量以外の特徴量を含んでいてもよい。
【００７５】
ＩＤ６０５からｖｌａｎ６３８までのカラムは、特徴量管理情報５００のエントリ５０１に含まれるものと同一である。ｆｒｅｑ１（６３９）及びｆｒｅｑ２（６４０）は、セッションを介して接続され二つの端末１１０のそれぞれの送信スループットの周期性である。ｒｅｃ＿ｔｉｍｅ６４１は、記録時間である。
【００７６】
図７は、実施例１の分析装置１００が実行する処理を説明するフローチャートである。
【００７７】
分析装置１００は、周期的に、又は管理者からの指示を受け付けた場合に、以下で説明する処理を実行する。なお、処理の実行タイミングは前述したものに限定されない。例えば、蓄積装置１０４が新たなエントリ６０１を生成したとき、又は、エントリ６０１を更新した場合に処理の開始要求が分析装置１００に入力されてもよい。
【００７８】
分析装置１００は、まず、蓄積装置１０４から全てのセッションの各々の特徴量を取得し（ステップＳ７０１）、特徴量の正規化処理を実行する（ステップＳ７０２）。
【００７９】
具体的には、特徴量取得部３１０が、蓄積装置１０４が管理する特徴量履歴管理情報６００に格納される全てのエントリ６０１を取得する。また、特徴量取得部３１０は、所定の特徴量に対して正規化処理を実行する。例えば、特徴量取得部３１０は、送信パケット数の最大値又は平均値を用いて正規化処理を実行する。
【００８０】
なお、正規化処理の対象となる特徴量は、予め設定されているものとする。例えば、分析装置１００は、クラスタ分類定義情報３２０の定義式４０４に基づいて、正規化処理の対象となる特徴量を決定できる。正規化処理は、公知のものであるため詳細な説明は省略する。なお、正規化処理は省略してもよい。
【００８１】
次に、分析装置１００は、分類方法のループ処理を開始する（ステップＳ７０３）。具体的には、クラスタ分析部３１１が、クラスタ分類定義情報３２０からエントリを一つ選択する。
【００８２】
次に、分析装置１００は、クラスタ分類定義情報３２０から選択されたエントリに基づいてクラスタ分析を行う（ステップＳ７０４）。これによって複数のセッションから複数のクラスタが生成される。例えば、以下のような処理が考えられる。
【００８３】
クラスタ分析部３１１は、クラスタ分類定義情報３２０から選択されたエントリの相関指標４０２に基づいて一つのエントリ６０１に含まれる複数の特徴量から対象となる特徴量を選択し、特徴量ベクトルを生成する。クラスタ分析部３１１は、二つのセッションの各々の特徴量ベクトル間の距離を算出する。クラスタ分析部３１１は、算出された距離が所定の閾値より小さい場合、二つのセッションを一つの集合として扱う。クラスタ分析部３１１は、前述した処理を全てのセッションの組合せに対して実行する。これによって、複数のセッションから複数のクラスタが生成される。
【００８４】
次に、分析装置１００は、複数のクラスタの各々の分類値を算出する（ステップＳ７０５）。
【００８５】
具体的には、クラスタ分類部３１２は、クラスタ分類定義情報３２０から選択されたエントリの分類指標４０３に基づいて、各クラスタの分類値を算出する。例えば、図４Ａの一番上のエントリが選択された場合、クラスタ分類部３１２は、各クラスタに含まれる複数のセッションの特徴量を用いてスループットの平均値を分類値として算出する。
【００８６】
次に、分析装置１００は、クラスタのループ処理を開始する（ステップＳ７０６）。具体的には、クラスタ分類部３１２は、生成された複数のクラスタの中から処理対象のクラスタを一つ選択する。分析装置１００は、処理対象のクラスタを分類できるか否かを判定する（ステップＳ７０７）。
【００８７】
具体的には、クラスタ分類部３１２は、クラスタ分類定義情報３２０から選択されたエントリの定義式４０４、及び処理対象のクラスタの分類値に基づいて、当該クラスタを分類できるか否かを判定する。
【００８８】
処理対象のクラスタを分類できると判定された場合、分析装置１００は、処理対象のクラスタに適用するアクションを特定し（ステップＳ７０８）、その後、ステップＳ７１２に進む。
【００８９】
具体的には、クラスタ分類部３１２は、クラスタ分類定義情報３２０から選択されたエントリのアクション４０５に基づいて処理対象のクラスタに適用するアクションを特定する。
【００９０】
ステップＳ７０７において、処理対象のクラスタを分類できないと判定された場合、分析装置１００は、クラスタ履歴情報３２１を参照し（ステップＳ７０９）、処理対象のクラスタに一致する履歴クラスタが存在するか否かを判定する（ステップＳ７１０）。具体的には、以下のような処理が実行される。
【００９１】
クラスタ分類部３１２は、分類ＩＤ４１２がクラスタ分類定義情報３２０から選択されたエントリの分類ＩＤ４０１と一致するエントリを検索する。前述した条件を満たすエントリが存在しない場合、クラスタ分類部３１２は、処理対象のクラスタに一致する履歴クラスタが存在しないと判定する。
【００９２】
前述した条件を満たすエントリが存在すると判定された場合、クラスタ分類部３１２は、検索されたエントリの分類値４１３と、ステップＳ７０５において算出されたクラスタの分類値とを比較する。ステップＳ７０５において算出されたクラスタの分類値が検索されたエントリの分類値４１３と一致する場合、又は、二つの分類値の差が所定の閾値より小さい場合、クラスタ分類部３１２は、処理対象のクラスタに一致する履歴クラスタが存在すると判定する。以上がステップＳ７１０の処理の説明である。
【００９３】
処理対象のクラスタに一致する履歴クラスタが存在すると判定された場合、分析装置１００は、選択されたクラスタのアクションを特定し（ステップＳ７０８）、その後、ステップＳ７１２に進む。
【００９４】
具体的には、クラスタ分類部３１２は、ステップＳ７１０において検索されたエントリのアクション４１４に基づいて処理対象のクラスタに適用するアクションを特定する。
【００９５】
処理対象のクラスタに一致する履歴クラスタが存在しないと判定された場合、分析装置１００は、クラスタ履歴情報３２１に当該クラスタを新たな履歴クラスタとして登録する（ステップＳ７１１）。具体的には、以下のような処理が実行される。
【００９６】
クラスタ分類部３１２は、クラスタ履歴情報３２１にエントリを追加し、追加されたエントリのクラスタＩＤ４１１に識別子を設定する。クラスタ分類部３１２は、生成されたエントリの分類ＩＤ４１２にステップＳ７０３において選択されたエントリの分類ＩＤ４０１を設定する。また、クラスタ分類部３１２は、生成されたエントリの分類値４１３にステップＳ７０５において算出された分類値を設定する。さらに、クラスタ分類部３１２は、生成されたエントリのアクション４１４に所定のアクションの情報を設定する。
【００９７】
本実施例では、未知のクラスタがクラスタ履歴情報３２１に登録される場合、予め定義されたアクションの情報が自動的にアクション４１４に設定されるものとする。例えば、アラームを鳴らすための情報がアクション４１４に設定される。
【００９８】
なお、分析装置１００が自動的にアクションの情報を設定しなくてもよい。例えば、出力部３１４が管理者が操作する設定用端末１０６に対してアクション４１４を設定するための画面を表示してもよい。
【００９９】
なお、分析装置１００は、必ずしもアクション４１４を設定する必要はない。この場合、分析装置１００は、ステップＳ７１０の処理の後、ステップＳ７１２に進む。以上がステップＳ７１１の処理の説明である。
【０１００】
分析装置１００は、クラスタ履歴情報３２１に新たな履歴クラスタの情報を登録した後、当該クラスタのアクションを特定し（ステップＳ７０８）、その後、ステップＳ７１２に進む。
【０１０１】
具体的には、クラスタ分類部３１２は、新たにクラスタ履歴情報３２１に追加されたエントリのアクション４１４に基づいて処理対象のクラスタに適用するアクションを特定する。
【０１０２】
分析装置１００は、処理対象のクラスタのアクションを特定した後、生成された全てのクラスタについて処理が完了したか否かを判定する（ステップＳ７１２）。
【０１０３】
生成された全てのクラスタについて処理が完了していないと判定された場合、分析装置１００は、ステップＳ７０６に戻り同様の処理を実行する。
【０１０４】
生成された全てのクラスタについて処理が完了したと判定された場合、分析装置１００は、全ての分析方法について処理が完了したか否かを判定する（ステップＳ７１３）。
【０１０５】
全ての分析方法について処理が完了していないと判定された場合、分析装置１００は、ステップＳ７０３に戻り、同様の処理を実行する。
【０１０６】
全ての分析方法について処理が完了したと判定された場合、分析装置１００は、処理を終了する。なお、分析装置１００は、クラスタを分類した後、分類の結果を出力装置１０５等の他の装置に出力してもよい。この場合、他の装置が、分類の結果に基づいて複数のクラスタの各々に適用するアクションを特定する。
【０１０７】
図８Ａ、図８Ｂ、及び図８Ｃは、実施例１の出力部３１４によって出力されるクラスタの表示例を示す説明図である。
【０１０８】
図８ＡはＮ次元表示を用いたクラスタの表示例である。図８Ｂはデンドログラムを用いたクラスタの表示例である。図８Ｃはツリー表示を用いたクラスタの表示例である。クラスタに含まれる点は、クラスタ毎に例えば赤、青、緑等と色分けされていてもよい。さらに、クラスタを区切る距離が表示されてもよい。本実施例は、クラスタの表示例に限定されない。
【０１０９】
実施例１の分析装置１００は、複数のセッションから複数のクラスタを生成し、各クラスタに含まれる複数のセッションの少なくとも一つの特徴量を用いた分析を行う。さらに、分析装置１００は、分析の結果に基づいて、複数のクラスタを通信の種別毎に分類する。クラスタ単位で分析を行うことによって、個々のセッションにおける特徴量の変化又は統計分布等の影響を受けることなく、通信の分類が可能となる。
【０１１０】
また、分析装置１００は、分類された各クラスタに含まれるセッションを制御するための制御ポリシ（アクション）を決定する。すなわち、分析装置１００は、相関関係に基づく教師無学習を実行することによって、特徴量の傾向が類似する複数のセッションからクラスタを生成し、通信の種別毎に複数のクラスタを分類し、さらに、分類結果に基づいてクラスタ単位の制御ポリシを設定する。これによって、個々のセッションにおける特徴量の変化又は統計分布等の影響を受けることなくセッションの制御ポリシを決定できる。すなわち、クラスタ単位でセッションを制御することによって、個々のセッションに対して一貫した制御ポリシを設定できる。
【０１１１】
また、分析装置１００は、分類できないクラスタを履歴クラスタとして管理することによって、未知の特徴量を有する通信の検出及び履歴クラスタに基づく通信の分類が可能となる。
【０１１２】
なお、実施例１では、ＴＣＰのセッションを例に説明したが本発明はこれに限定されない。アルゴリズムに対応した特徴量を用いることによって様々な通信フローを同様に分類でき、また、分類の結果に基づいて通信フローの制御が可能となる。
【０１１３】
なお、実施例１では分析装置１００を一つの装置として実現しているがこれに限定されない。例えば、通信装置１０１、転送装置１０２、解析装置１０３、又は蓄積装置１０４が分析装置１００と同様の機能を実現する分析部を有してもよい。通信装置１０１等が備える演算装置が、主記憶装置に格納される所定のプログラムを実現することによって分析部が実現される。
【実施例２】
【０１１４】
実施例２では、クラスタ分類定義情報３２０及びクラスタ履歴情報３２１において、アクションが設定されていないクラスタが存在する点が実施例１と異なる。また、実施例２では、分析装置１００が特定されたアクションを実行する点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。
【０１１５】
実施例２のネットワークシステム、及び分析装置１００の構成は実施例１と同一である。また、実施例２のパケット、クラスタ分類定義情報３２０、クラスタ履歴情報３２１の構成も実施例１と同一である。ただし、アクション４０５及びアクション４１４が実施例１とは異なる。
【０１１６】
例えば、実施例２のクラスタ分類定義情報３２０の少なくとも一つのエントリのアクション４０５には一部のクラスタに対してのみアクションの情報が設定され、又は、アクション４０５が空欄となっている。また、実施例２のクラスタ履歴情報３２１の少なくとも一つのエントリのアクション４１４は、空欄となっている。
【０１１７】
実施例２の特徴量管理情報５００及び特徴量履歴管理情報６００は実施例１のものと同一である。
【０１１８】
実施例２では、分析装置１００が実行する処理の一部が異なる。図９は、実施例２の分析装置１００が実行する処理を説明するフローチャートである。
【０１１９】
ステップＳ７０１からステップＳ７１１の処理は、実施例１の処理と同一である。
【０１２０】
ステップＳ７０７の判定結果がＹＥＳであり、かつ、ステップＳ７０８の処理が実行された後、分析装置１００は、処理対象のクラスタに適用可能なアクションが存在するか否かを判定する（ステップＳ９０１）。
【０１２１】
具体的には、クラスタ分類部３１２は、選択されたエントリのアクション４０５を参照して、処理対象のクラスタに適用するアクションがアクション４０５に設定されているか否かを判定する。
【０１２２】
ステップＳ７１０の判定結果がＹＥＳであり、かつ、ステップＳ７０８の処理が実行された後、分析装置１００は、処理対象のクラスタに適用可能なアクションが存在するか否かを判定する（ステップＳ９０１）。
【０１２３】
具体的には、クラスタ分類部３１２は、検索されたエントリのアクション４１４を参照して、処理対象のクラスタに適用するアクションがアクション４１４に設定されているか否かを判定する。
【０１２４】
ステップＳ７１１及びステップＳ７０８の処理が実行された後、分析装置１００は、処理対象のクラスタに適用可能なアクションが存在するか否かを判定する（ステップＳ９０１）。
【０１２５】
具体的には、クラスタ分類部３１２は、クラスタ履歴情報３２１に新たに追加されたエントリのアクション４１４を参照して、処理対象のクラスタに適用するアクションがアクション４１４に設定されているか否かを判定する。
【０１２６】
ステップＳ９０１において、処理対象のクラスタに適用可能なアクションが存在すると判定された場合、分析装置１００は、当該アクションを実行する（ステップＳ９０２）。その後、分析装置１００は、ステップＳ７１２に進む。
【０１２７】
具体的には、クラスタ分類部３１２は、ステップＳ７０７において特定されたアクションの情報をアクション実行部３１３に出力する。アクション実行部３１３は、出力されたアクションの情報に基づいて所定のアクションを実行する。アクション実行部３１３は、実行されるアクションに応じて必要な情報を出力部３１４に出力する。
【０１２８】
ステップＳ９０１において、処理対象のクラスタに適用可能なアクションが存在しないと判定された場合、分析装置１００は、ステップＳ７１２に進む。
【０１２９】
実施例２の分析装置１００は、複数のセッションから複数のクラスタを生成し、各クラスタに含まれるセッションを制御するための制御ポリシ（アクション）を決定できる。さらに、分析装置１００は、決定された制御ポリシに基づいて、クラスタ単位に複数のセッションを制御する。
【０１３０】
これによって、個々のセッションにおける特徴量の変化又は統計分布等の影響を受けることなくセッションの制御が可能となる。すなわち、クラスタ単位でセッションを制御することによって、個々のセッションに対して一貫した制御が可能となる。
【実施例３】
【０１３１】
実施例３では、ＤＤｏＳ攻撃の検出を例に分析装置１００の具体的な処理内容について説明する。なお、実施例３のネットワークシステム及び分析装置１００の構成は実施例１と同一のものであり、また、実施例３の分析装置１００、解析装置１０３、及び蓄積装置１０４が保持する情報も実施例１と同一のものである。
【０１３２】
図１０は、実施例３の分析装置１００がＤＤｏＳ攻撃を検出する場合に実行する処理の一例を説明するフローチャートである。図１１は、実施例３の特徴量履歴管理情報６００の一例を示す説明図である。なお、実施例３では、説明の簡単のため特徴量履歴管理情報６００の一部のカラムのみを表示する。図１２は、実施例３のクラスタ分析の処理結果の一例を示す図である。
【０１３３】
ステップＳ７０１、ステップＳ７０２、ステップＳ７０６、ステップＳ７０８、及びステップＳ７１２の処理は実施例１の処理と同一であり、ステップＳ９０１及びステップＳ９０２の処理は実施例２の処理と同一である。なお、ＤＤｏＳ攻撃に対応するクラスタのアクションとしてＩＤＳ又はＩＰＳ等の機能を有効化する制御が考えられる。
【０１３４】
実施例３のステップＳ７０３では、分析装置１００は、パケットの送受信数、送信ビット数、受信ビット数、送信元ＩＰアドレス、及び宛先ＩＰアドレスを用いる分析方法を選択する。また、実施例３のステップＳ７０４では、分析装置１００は、各クラスタにおけるパケットの送受信数の平均値、送信ビット数の平均値、受信ビット数の平均値、送信元ＩＰアドレスの分散値、及び宛先ＩＰアドレスの分散値を算出する。
【０１３５】
ステップＳ７０６において処理対象のクラスタが選択された後、分析装置１００は、処理対象のクラスタに含まれるセッションの通信がＤＤｏＳ攻撃に該当する通信であるか否かを判定する（ステップＳ１００１）。
【０１３６】
具体的には、クラスタ分類部３１２が、処理対象のクラスタのパケットの送受信数の平均値が「１」、送信ビット数及び受信ビット数の平均値が「５１２」、送信元ＩＰの分散値が所定の閾値以上、かつ、宛先ＩＰの分散値が所定の閾値以下であるか否かを判定する。これによって、ＤＤｏＳ攻撃に対応する通信グループ（クラスタ）を特定できる。
【０１３７】
図１１に示すように、従来の装置は、特徴量履歴管理情報６００から生成されたＩＰアドレス毎の特徴量情報１１００を生成し、エントリを参照して、通信相手の数が多く、かつ送信ビット数及び受信ビット数が少ないＩＰアドレスを抽出することによって、ＤＤｏＳ攻撃に該当する通信を検出していた。なお、特徴量情報１１００の太枠のエントリがＤＤｏＳ攻撃に該当する。
【０１３８】
一方、分析装置１００は、特徴量履歴管理情報６００を用いてクラスタ分析を行うことによって、図１２に示すようなデンドログラム１１０１から点線１２００に含まれる複数のセッションを一つのクラスタとして生成する。また、分析装置１００は、当該クラスタのｐｋｔ１（６１５）及びｐｋｔ１（６２６）の平均値が「１」、ｂｉｔ１（６１６）及びｂｉｔ２（６２７）の平均値が「５１２」、ＩＰ２（６２１）の分散値が所定の閾値以下、かつ、ＩＰ１（６１０）の分散値が所定の閾値以上のクラスタをＤＤｏＳ攻撃に該当するクラスタとして特定する。
【０１３９】
実施例３によれば、分析装置１００は、ＤＤｏＳ攻撃に関連するセッションのグループを直接抽出し、当該グループに対する一貫した制御を行うことができる。
【実施例４】
【０１４０】
実施例４では、異常通信の検出を例に分析装置１００の具体的な処理内容について説明する。なお、実施例４のネットワークシステム及び分析装置１００の構成は実施例１と同一のものであり、また、実施例４の分析装置１００、解析装置１０３、及び蓄積装置１０４が保持する情報も実施例１と同一のものである。
【０１４１】
図１３は、実施例４の分析装置１００が異常通信を検出する場合に実行する処理の一例を説明するフローチャートである。
【０１４２】
分析装置１００は、所定の時間範囲に含まれる複数のセッションに対してクラスタ分析を実行することによって複数のクラスタを生成し、複数のクラスタの各々と、履歴クラスタとを比較することによって異常通信を検出する。この場合、クラスタ分類定義情報３２０の定義式には、履歴クラスタとの比較を指示する情報が格納される。履歴クラスタと一致又は類似しないクラスタが検出された場合、分析装置１００は、当該クラスタを異常通信に対応するセッションのグループとして検出する。
【０１４３】
また、実施例４のクラスタ履歴情報３２１の分類値４１３には、セッションのｒｅｃ＿ｔｉｍｅ６４１から決定される時刻情報が含まれる。
【０１４４】
ステップＳ７０１、ステップＳ７０２、ステップＳ７０６、ステップＳ７０８、及びステップＳ７１２の処理は実施例１の処理と同一であり、ステップＳ９０１及びステップＳ９０２の処理は実施例２の処理と同一である。なお、異常通信に対応するクラスタのアクションとしてアラートを上げる等のアクションが考えられる。
【０１４５】
実施例４のステップＳ７０３では、分析装置１００は、ＲＴＴ及びスループットを用いる分析方法を選択する。また、実施例４のステップＳ７０４では、分析装置１００は、ｒｅｃ＿ｔｉｍｅ６４１を一時間単位で区切り、一時間分の複数のセッションに対してクラスタ分析を実行することによって複数のクラスタを生成する。例えば、分析装置１００は、ｒｅｃ＿ｔｉｍｅ６４１が午前８時から午前９時に含まれるセッションの特徴量情報に基づいてクラスタ分析を実行する。また、ステップＳ７０５では、分析装置１００は、各クラスタのＲＴＴの平均値及びスループットの平均値を算出する。このとき、分析装置１００は、各クラスタに時刻情報を付与する。
【０１４６】
実施例４では、定義式４０４に履歴クラスタとの比較を指示する情報が含まれるため、ステップＳ７０７及びステップＳ７１０が同じ処理内容となる。そのため、ステップＳ７０６の処理の後、分析装置１００は、クラスタ履歴情報３２１を参照し（ステップＳ７０９）、類似する履歴クラスタが存在するか否かを判定する（ステップＳ１３０１）。具体的には、以下のような処理が実行される。
【０１４７】
クラスタ分類部３１２は、分類ＩＤ４１２がクラスタ分類定義情報３２０から選択されたエントリの分類ＩＤ４０１と一致するエントリを検索する。前述した条件を満たすエントリが存在しない場合、クラスタ分類部３１２は、類似する履歴クラスタが存在しないと判定する。
【０１４８】
前述した条件を満たすエントリが存在すると判定された場合、クラスタ分類部３１２は、検索されたエントリの分類値４１３に含まれる時刻情報と、ステップＳ７０６において選択されたクラスタの時刻情報とが一致するか否かを判定する。分類値４１３に含まれる時刻情報と、選択されたクラスタの時刻情報とが一致しない場合、クラスタ分類部３１２は、他のエントリを検索する。エントリが存在しない場合、クラスタ分類部３１２は、類似する履歴クラスタが存在しないと判定する。
【０１４９】
分類値４１３に含まれる時刻情報と、選択されたクラスタの時刻情報とが一致する場合、クラスタ分類部３１２は、ステップＳ７０５において算出されたＲＴＴの平均値及びスループットの平均値の組合せと、分類値４１３に含まれる値とを比較する。ここでは、クラスタ分類部３１２は、ＲＴＴ及びスループットの２つの特徴量から構成される平面上の距離を算出する。
【０１５０】
ＲＴＴの平均値及びスループットの平均値の組合せと、分類値４１３に含まれる値との距離が所定の閾値以下である場合、クラスタ分類部３１２は、類似する履歴クラスタが存在すると判定する。以上がステップＳ７０９及びステップＳ１３０１の処理の説明である。
【０１５１】
類似する履歴クラスタが存在すると判定された場合、分析装置１００は、ステップＳ７０８に進む。一方、類似する履歴クラスタが存在しないと判定された場合、分析装置１００は、クラスタ履歴情報３２１に選択されたクラスタを登録する（ステップＳ７１１）。このとき、分類値４１３には、ステップＳ７０５において算出された分類値ともに、処理対象のクラスタの時刻情報が設定される。
【０１５２】
クラスタ履歴情報３２１に処理対象のクラスタが登録された後、ステップＳ７０８において、分析装置１００は、当該クラスタを異常通信に対応するクラスタとして特定し、当該クラスタのアクションを特定する。
【０１５３】
図１４は、実施例４の異常通信の検出例を示す説明図である。
【０１５４】
図１４の左枠はクラスタ分析の結果を示し、図１４の右枠はクラスタ履歴情報３２１に登録される履歴クラスタを示す。
【０１５５】
ステップＳ７０４において、分析装置１００は、ｒｅｃ＿ｔｉｍｅ６４１が午前８時から午前９時に含まれるエントリ６０１を用いてクラスタ分析を実行し、結果１４１０を出力する。
【０１５６】
ステップＳ７０９において、分析装置１００は、分類値４１３に「午前８時から午前９時」が設定される履歴クラスタ群１４４０を参照し、結果１４１０及び履歴クラスタ群１４４０を比較する。この場合、分析装置１００は、クラスタ１４１１に類似する履歴クラスタ１４４１が存在し、また、クラスタ１４１２に類似する履歴クラスタ１４４２が存在すると判定する。
【０１５７】
ステップＳ７０４において、分析装置１００は、ｒｅｃ＿ｔｉｍｅ６４１が午前９時から午前１０時に含まれるエントリ６０１を用いてクラスタ分析を実行し、結果１４２０を出力する。
【０１５８】
ステップＳ７０９において、分析装置１００は、分類値４１３に「午前９時から午前１０時」が設定される履歴クラスタ群１４５０を参照し、結果１４２０及び履歴クラスタ群１４５０を比較する。この場合、分析装置１００は、クラスタ１４２１に類似する履歴クラスタ１４５１が存在し、クラスタ１４２２に類似する履歴クラスタ１４５２が存在し、また、クラスタ１４２３に類似する履歴クラスタ１４５３が存在すると判定する。
【０１５９】
ステップＳ７０４において、分析装置１００は、ｒｅｃ＿ｔｉｍｅ６４１が午前１０時から午前１１時に含まれるエントリ６０１を用いてクラスタ分析を実行し、結果１４３０を出力する。
【０１６０】
ステップＳ７０９において、分析装置１００は、分類値４１３に「午前１０時から午前１１時」が設定される履歴クラスタ群１４６０を参照し、結果１４３０及び履歴クラスタ群１４６０を比較する。この場合、分析装置１００は、クラスタ１４３１に類似する履歴クラスタ１４６１が存在し、また、クラスタ１４３２に類似する履歴クラスタ１４６２が存在すると判定する。一方、分析装置１００は、クラスタ１４３３に類似する履歴クラスタは存在しないと判定し、当該クラスタ１４３３を履歴クラスタとしてクラスタ履歴情報３２１に登録する。
【０１６１】
実施例４によれば、分析装置１００は、履歴クラスタに基づいて、異常通信に該当する通信グループ（クラスタ）を直接抽出し、当該クラスタに含まれるセッションに対して一貫した制御ができる。
【実施例５】
【０１６２】
実施例５では、通信品質の劣化の検出を例に分析装置１００の具体的な処理内容について説明する。なお、実施例５のネットワークシステム及び分析装置１００の構成は実施例１と同一のものであり、また、実施例５の分析装置１００、解析装置１０３、及び蓄積装置１０４が保持する情報も実施例１と同一のものである。
【０１６３】
図１５は、実施例５の分析装置１００が通信品質の劣化を検出する場合に実行する処理の一例を説明するフローチャートである。
【０１６４】
ステップＳ７０１、ステップＳ７０２、ステップＳ７０６、ステップＳ７０８、ステップＳ７１２、及びステップＳ７１３の処理は実施例１の処理と同一であり、ステップＳ９０１及びステップＳ９０２の処理は実施例２の処理と同一である。なお、通信品質が低いクラスタに含まれるセッションに対するアクションとしては、通信高速化サービスの適用が考えられる。
【０１６５】
実施例５のステップＳ７０３では、分析装置１００は、相関指標４０２がＲＴＴ及びパケット廃棄率、分類指標４０３が各通信拠点のパケットの廃棄率の平均値、ＲＴＴの平均値、及びスループットの平均値を用いる分析方法を選択する。また、実施例５のステップＳ７０４では、分析装置１００は、パケット廃棄率及びＲＴＴに基づいてクラスタ分析を実行することによって複数のクラスタを生成する。実施例５では一つの拠点に対して一つのクラスタが生成される。また、ステップＳ７０５では、分析装置１００は、各クラスタのパケット廃棄率の平均値及びＲＴＴの平均値を算出し、また、各クラスタのスループットを算出する。
【０１６６】
ステップＳ７０６において処理対象のクラスタが選択された後、分析装置１００は、処理対象のクラスタが通信品質の低いクラスタであるか否かを判定する（ステップＳ１５０１）。
【０１６７】
具体的には、クラスタ分類部３１２が、パケット廃棄率の平均値が所定の閾値より大きく、ＲＴＴの平均値が所定の閾値より大きく、かつ、スループットが閾値より小さいクラスタであるか否かを判定する。分析装置１００は、前述した条件を満たすクラスタを、通信品質が低いクラスタとして検出する。
【０１６８】
図１６は、実施例５の通信品質の劣化の検出例を示す説明図である。ＲＴＴが異なる３つの拠点Ａ、Ｂ、Ｃにおいて行われている通信を解析しているケースを示す。
【０１６９】
（１）は従来の通信品質の劣化の検出例を示す。（２）は実施例５の通信品質の劣化の検出例を示す。
【０１７０】
（１）に示すように、従来は、装置が、各セッション（各点）についてＲＴＴ及びパケットの廃棄率（ＰＬＲ）のそれぞれについて閾値を比較する。ＲＴＴ及びＰＬＲの各々の値が閾値より大きい場合、装置は、セッションの通信品質が劣化している、すなわち、通信品質が低いと判定する。例えば、（１）の範囲１６００に含まれるセッションは通信品質が低い。同一の拠点の通信であっても、個々のセッションのＰＬＲの変化は大きいため頻繁に通信高速化サービスのＯＮ及びＯＦＦの切替が行われる。そのため通信が不安定になるという問題がある。
【０１７１】
一方、実施例５の分析装置１００は、（２）に示すように拠点のＲＴＴ毎にクラスタ１６１０、１６２０、１６３０が生成される。また、分析装置１００は、拠点Ａの通信を含むクラスタ１６１０のＰＬＲ及びＲＴＴの平均値の組合せである重心１６１１、拠点Ｂの通信を含むクラスタ１６２０のＰＬＲ及びＲＴＴの平均値の組合せである重心１６２１、並びに、拠点Ｃの通信を含むクラスタ１６３０のＰＬＲ及びＲＴＴの平均値の組合せである重心１６３１を算出する。分析装置１００は、重心１６１１、１６２１、１６３１から算出される理論スループットに基づいて通信高速化サービスの要否を判定する。なお、曲線１６４０はＲＴＴ及びＰＬＲを変数とする定義式である。
【０１７２】
実施例５によれば、ＲＴＴの値が同一又は類似、すなわち、同一の拠点におけるセッションであれば、ＰＬＲの値の変動にかかわらず通信高速化サービスの要否の一貫した判定が可能となる。したがって、通信が安定する。
【実施例６】
【０１７３】
実施例６では、ユーザ毎の嗜好の検出を例に分析装置１００の具体的な処理内容について説明する。なお、実施例６のネットワークシステム及び分析装置１００の構成は実施例１と同一のものであり、また、実施例６の分析装置１００、解析装置１０３、及び蓄積装置１０４が保持する情報も実施例１と同一のものである。
【０１７４】
図１７は、実施例６の分析装置１００がユーザ毎の嗜好を検出する場合に実行する処理の一例を説明するフローチャートである。
【０１７５】
ステップＳ７０１、ステップＳ７０２、ステップＳ７０６、ステップＳ７０８、ステップＳ７１２、及びステップＳ７１３の処理は実施例１の処理と同一であり、ステップＳ９０１及びステップＳ９０２の処理は実施例２の処理と同一である。なお、適用するアクションは、クラスタが属する通信の種類に応じて様々な制御が考えられる。
【０１７６】
ステップＳ７０３では、分析装置１００は、相関指標４０２に送信元のＩＰアドレスと、宛先のＩＰアドレス、分類指標４０３に送信元のＩＰアドレス及び宛先のＩＰアドレスの組合せ毎のダウンロード回数及びアップロード回数を用いる分析方法を選択する。また、実施例６のステップＳ７０４では、分析装置１００は、送信元のＩＰアドレスに基づいてクラスタ分析を実行することによって複数のクラスタを生成する。また、ステップＳ７０５では、分析装置１００は、各クラスタについて宛先のＩＰアドレスに対するダウンロード回数及びアップロード回数等を算出する。
【０１７７】
ステップＳ７０６において処理対象のクラスタが選択された後、分析装置１００は、処理対象のクラスタが所定のユーザ嗜好に関連する通信に属するクラスタであるか否かを判定する（ステップＳ１７０１）。
【０１７８】
例えば、特定の宛先のＩＰアドレスからのダウンロード回数が多いクラスタであるか、又は、特定の宛先のＩＰアドレスへのアップロード回数が多いクラスタであるか否かが判定される。また、特定の宛先のＩＰアドレスへの通信回数が多いクラスタであるか否かが判定される。
【０１７９】
特定の宛先のＩＰアドレスからのダウンロード回数が多い場合、クラスタに対応するＩＰアドレスを持つユーザは特定のＷｅｂサイトへの関心が高いユーザであることを示す。また、特定の宛先のＩＰアドレスへのアップロード回数が多い場合、クラスタに対応するＩＰアドレスを持つユーザは特定のＳＮＳサイトへのプッシュが多いユーザであることを示す。
【０１８０】
図１８は、実施例６のユーザ毎の嗜好の検出例を示す説明図である。
【０１８１】
（１）は従来のユーザの嗜好の検出例を示す。（２）は実施例６のユーザの嗜好の検出例を示す。
【０１８２】
（１）に示すように、従来は、装置が、各セッション（各点）について宛先のどのＩＰアドレス（商用ＩＰアドレス）に対する通信であるか否かを判定する。送信元のＩＰアドレスが同一であっても、宛先のＩＰアドレスが異なる場合、各セッションを用いて通信を行うユーザの嗜好は異なる。そのため、ユーザに対して一貫した制御が行えなかった。
【０１８３】
一方、実施例６の分析装置１００は、（２）に示すようにユーザ使用ＩＰ毎にクラスタ１８１０、１８２０、１８３０、１８４０が生成される。また、分析装置１００は、各クラスタにおける宛先のＩＰアドレスの頻出回数に基づいてユーザの嗜好を検出する。例えば、クラスタ１８１０に対応するユーザＡは、音楽サイト、洋服サイト、車サイト、及び食事サイトの全てにアクセスし、全アクセスの中で音楽サイトへのアクセス回数が最も多い。そのため、クラスタ１８１０の特性は音楽、すなわち、ユーザＡの嗜好が音楽であると判定できる。
【０１８４】
実施例６によれば、ユーザの嗜好を特定し、特定された嗜好に対応する一貫した制御が可能となる。なお、実施例６ではＩＰアドレスを用いてクラスタを分類したが、ＭＡＣアドレス等を用いてもよい。
【０１８５】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１８６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１８７】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１８８】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１８９】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１９０】
１００  分析装置
１０１  通信装置
１０２  転送装置
１０３  解析装置
１０４  蓄積装置
１０５  出力装置
１０６  設定用端末
１１０  端末
１２０  ネットワーク
３００  演算装置
３０１  主記憶装置
３０３  ＮＩＣ
３１０  特徴量取得部
３１１  クラスタ分析部
３１２  クラスタ分類部
３１３  アクション実行部
３１４  出力部
３１５  クラスタ定義更新部
３２０  クラスタ分類定義情報
３２１  クラスタ履歴情報
５００  特徴量管理情報
６００  特徴量履歴管理情報
【図１】
2017034605.tif 000003
【図２】
2017034605.tif 000004
【図３】
2017034605.tif 000005
【図４Ａ】
2017034605.tif 000006
【図４Ｂ】
2017034605.tif 000007
【図５】
2017034605.tif 000008
【図６】
2017034605.tif 000009
【図７】
2017034605.tif 000010
【図８Ａ】
2017034605.tif 000011
【図８Ｂ】
2017034605.tif 000012
【図８Ｃ】
2017034605.tif 000013
【図９】
2017034605.tif 000014
【図１０】
2017034605.tif 000015
【図１１】
2017034605.tif 000016
【図１２】
2017034605.tif 000017
【図１３】
2017034605.tif 000018
【図１４】
2017034605.tif 000019
【図１５】
2017034605.tif 000020
【図１６】
2017034605.tif 000021
【図１７】
2017034605.tif 000022
【図１８】
2017034605.tif 000023