(57)【要約】【課題】  ユーザの体感品質に関連するアプリケーション及びその利用状態を推定する。【解決手段】  本発明は通信のトラフィックを解析する通信解析装置に関する。そして、本発明の通信解析装置は、トラフィックをフロー毎に分割し、分割したフローデータに基づいてフロー毎の特徴量を取得し、取得した特徴量に基づいてフロー毎に対応するアプリケーション及ぶ当該アプリケーションの利用状態を推定し、アプリケーションごとに第１の利用状態から第２の利用状態への遷移のし易さを示すパラメータ値が記述された遷移情報を保持し、利用状態推定部の推定結果をユーザごとに分類してそれぞれの前記ユーザに対応するアプリケーションを判定し、当該アプリケーションに対応する遷移確率情報を用いて当該アプリケーションの利用状態を判定することを特徴とする。【選択図】      図１
2017139580.tif 000002
【特許請求の範囲】
【請求項１】
解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、
フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、
フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーションのアプリケーション利用状態を推定する利用状態推定部と、
アプリケーションごとに第１の利用状態から第２の利用状態への遷移のし易さを示すパラメータ値が記述された遷移情報を保持する遷移情報保持部と、
前記利用状態推定部の推定結果をユーザごとに分類してそれぞれの前記ユーザに対応するアプリケーションを判定し、当該アプリケーションに対応する遷移情報を用いて当該アプリケーションの利用状態を判定する判定部と
を有することを特徴とする通信解析装置。
【請求項２】
前記判定部は、前記遷移情報を用いて、前回判定した利用状態から現在の利用状態を判定することを特徴とする請求項１に記載の通信解析装置。
【請求項３】
前記判定部は、前記利用状態推定部の推定結果において、利用状態毎のフロー数を計数し、それぞれの利用状態のフロー数に、前回判定した利用状態からそれぞれの利用状態に遷移する場合のパラメータ値を乗じた評価値を算出し、評価値の最も高い利用状態を現在の利用状態と判定することを特徴とする請求項２に記載の通信解析装置。
【請求項４】
ユーザ毎にアプリケーションが切り替わったことを検知し、前記特徴量抽出部及び前記判定部に、アプリケーションの変更を検知したユーザの処理をリセットさせることを特徴とする請求項１〜３のいずれかに記載の通信解析装置。
【請求項５】
コンピュータを、
解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、
フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、
フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーションのアプリケーション利用状態を推定する利用状態推定部と、
アプリケーションごとに第１の利用状態から第２の利用状態への遷移のし易さを示すパラメータ値が記述された遷移情報を保持する遷移情報保持部と、
前記利用状態推定部の推定結果をユーザごとに分類してそれぞれの前記ユーザに対応するアプリケーションを判定し、当該アプリケーションに対応する遷移情報を用いて当該アプリケーションの利用状態を判定する判定部と
して機能させることを特徴とする通信解析プログラム。
【請求項６】
解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、
フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、
フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーション及び当該アプリケーションの利用状態を推定する利用状態推定部と、
前記フロー分割部が取得したフロー毎のフローデータ、又は、前記特徴量抽出部が取得した特徴量のいずれかについて、所定の条件に基づく注目フローを抽出して注目フロー以外を前記利用状態推定部が処理するフローから除外する処理を行う注目フロー抽出部と
を有することを特徴とする通信解析装置。
【請求項７】
前記注目フロー抽出部は、各フローについてパケット到着間隔に基づく周波数解析をすることによって周期性のあるフローを注目フローから除外することを特徴とする請求項６に記載の通信解析装置。
【請求項８】
前記注目フロー抽出部は、所定期間以上前に発生したフローについて注目フローから除外することを特徴とする請求項７に記載の通信解析装置。
【請求項９】
前記注目フロー抽出部は、ユーザ毎にアプリケーションが切り替わったことを検知し、前記注目フロー抽出部にアプリケーションの変更を検知したユーザについて除外されているフローを一旦注目フローに戻すリセット処理をさせることを特徴とする請求項６〜８のいずれかに記載の通信解析装置。
【請求項１０】
コンピュータを、
解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、
フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、
フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーション及び当該アプリケーションの利用状態を推定する利用状態推定部と、
前記フロー分割部が取得したフロー毎のフローデータ、又は、前記特徴量抽出部が取得した特徴量のいずれかについて、所定の条件に基づく注目フローを抽出して注目フロー以外を前記利用状態推定部が処理するフローから除外する処理を行う注目フロー抽出部と
して機能させることを特徴とする通信解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信解析装置及び通信解析プログラムに関し、例えば、通信トラフィックの統計値を用いてネットワーク監視を行うネットワーク監視装置に適用し得る。
【背景技術】
【０００２】
従来のトラフィックを解析（通信解析）結果を用いてネットワークを監視するネットワーク監視装置としては、通信トラフィックのペイロード（データ部分）を参照せずに、いわゆる５−ｔｕｐｌｅｓ（送信元アドレスとポート、あて先アドレスとポート、及びプロトコル番号の組み合わせ）を一連のフローとして解析するものがある。従来の通信トラフィックのフローを解析する装置としては、特許文献１に記載された装置がある。
【０００３】
特許文献１に記載された装置（トラヒック監視装置）では、フローの統計値として送受信されるパケットのパケットサイズの統計値（最小値、２５％値、中央値、７５％値、最大値、平均値、分散値等）やパケット到着間隔の統計値（最小値、２５％値、中央値、７５％値、最大値、平均値、分散値等）を特定のパケット数の時点で算出する特徴量抽出部と、予め用意した教師データとして与えたデータとの類似度を元に使用アプリケーションを推定するアプリケーション推定部を備える構成となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２７５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、アプリケーションが複数のフローを生成し、アプリケーションの開始制御を行うフローや、データ転送を行うフローや、ユーザの操作による情報更新を行うフロー等、目的毎に異なるフローを使用する場合、従来の装置（例えば、特許文献１のトラヒック監視装置）では、それぞれのフローを別のアプリケーションとして識別してしまうため、ユーザが利用しているアプリケーションとは違う推定結果になる場合があるという問題点があった。その結果、従来の装置では、アプリケーションとして通信の優先制御をかけるのではなく、個別フローの優先制御をかけることになり、ユーザの体感品質を向上させることができないという問題点があった。例えば、通常のウェブサービスに広告動画コンテンツが含まれている場合、広告動画を転送するフローを優先制御する可能性がある。この場合、ユーザの利用しているウェブサービスの優先度が相対的に下がるためにユーザの体感品質が低下すると考えられるが、この点について従来の装置では検出することが困難であった。
【０００６】
そのため、ユーザの体感品質に関連するアプリケーション及びその利用状態を推定することができる通信解析装置及び通信解析プログラムが望まれている。
【課題を解決するための手段】
【０００７】
第１の本発明の通信解析装置は、（１）解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、（２）フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、（３）フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーションのアプリケーション利用状態を推定する利用状態推定部と、（４）アプリケーションごとに第１の利用状態から第２の利用状態への遷移のし易さを示すパラメータ値が記述された遷移情報を保持する遷移情報保持部と、（５）前記利用状態推定部の推定結果をユーザごとに分類してそれぞれの前記ユーザに対応するアプリケーションを判定し、当該アプリケーションに対応する遷移情報を用いて当該アプリケーションの利用状態を判定する判定部とを有することを特徴とする。
【０００８】
第２の本発明の通信解析プログラムは、コンピュータを、（１）解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、（２）フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、（３）フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーションのアプリケーション利用状態を推定する利用状態推定部と、（４）アプリケーションごとに第１の利用状態から第２の利用状態への遷移のし易さを示すパラメータ値が記述された遷移情報を保持する遷移情報保持部と、（５）前記利用状態推定部の推定結果をユーザごとに分類してそれぞれの前記ユーザに対応するアプリケーションを判定し、当該アプリケーションに対応する遷移情報を用いて当該アプリケーションの利用状態を判定する判定部として機能させることを特徴とする。
【０００９】
第３の本発明の通信解析プログラムは、（１）解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、（２）フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、（３）フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーション及び当該アプリケーションの利用状態を推定する利用状態推定部と、（４）前記フロー分割部が取得したフロー毎のフローデータ、又は、前記特徴量抽出部が取得した特徴量のいずれかについて、所定の条件に基づく注目フローを抽出して注目フロー以外を前記利用状態推定部が処理するフローから除外する処理を行う注目フロー抽出部とを有することを特徴とする。
【００１０】
第４の本発明の通信解析プログラムは、コンピュータを、（１）解析対象となるトラフィックのデータをフローごとに分割してフローデータを取得するフロー分割部と、（２）フロー毎に、フローデータの統計情報を含む特徴量を取得する特徴量抽出部と、（３）フロー毎に、取得した特徴量に基づいて当該フローに対応するアプリケーション及び当該アプリケーションの利用状態を推定する利用状態推定部と、（４）前記フロー分割部が取得したフロー毎のフローデータ、又は、前記特徴量抽出部が取得した特徴量のいずれかについて、所定の条件に基づく注目フローを抽出して注目フロー以外を前記利用状態推定部が処理するフローから除外する処理を行う注目フロー抽出部として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザの体感品質に関連するアプリケーション及びその利用状態を推定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るネットワーク監視装置の機能的構成について示したブロック図である。
【図２】第１の実施形態に係るネットワーク監視装置周辺の接続構成の例について示したブロック図である。
【図３】第１の実施形態に係るネットワーク監視装置で分析対象となるアプリケーション（ＳｅｒｖｉｃｅＡ）の利用状態の遷移について示した説明図（状態遷移図）である。
【図４】第１の実施形態に係るネットワーク監視装置で分析対象となるアプリケーション（ＳｅｒｖｉｃｅＡ）の状態遷移確率表の例について示した説明図である。
【図５】第１の実施形態に係るネットワーク監視装置がアプリケーション及びアプリケーション利用状態を判定する動作について示したフローチャートである。
【図６】第２の実施形態に係るネットワーク監視装置の機能的構成について示したブロック図である。
【図７】第３の実施形態に係るネットワーク監視装置の機能的構成について示したブロック図である。
【図８】第１の実施形態の変形例におけるネットワーク監視装置が、アプリケーション切替を検出する際の動作について示したフローチャートである。
【発明を実施するための形態】
【００１３】
（Ａ）第１の実施形態
以下、本発明による通信解析装置及び通信解析プログラムの第１の実施形態を、図面を参照しながら詳述する。以下では、本発明の通信解析装置及び通信解析プログラムをネットワーク監視装置に適用した例について説明する。
【００１４】
（Ａ−１）第１の実施形態の構成
図２は、第１の実施形態に係るネットワーク監視装置１０の接続構成の例について示した説明図である。なお、図２において括弧内の符号は後述する第２の実施形態及び第３の実施形態において用いられる符号である。
【００１５】
図２に示すように、この実施形態のネットワーク監視装置１０は、ルータ３０からネットワークトラフィックに関する情報を取得し解析処理を行う。
【００１６】
図２に示すように、ルータ３０は、ネットワークＮ１とネットワークＮ２との間を中継するゲートウェイであるものとする。図２に示すように、ネットワークＮ１には、Ｎ台（Ｎは１以上の任意の整数）の端末２０（２０−１〜２０−Ｎ）が接続されているものとする。また、図２に示すように、ネットワークＮ２には、Ｌ台（Ｌは１以上の任意の整数）の通信装置４０（４０−１〜４０−Ｌ）が接続されているものとする。なお、ネットワークＮ１、Ｎ２に接続される装置の数は限定されないものである。また、ルータ３０から各端末２０へのネットワーク構成、及びルータ３０から各通信装置４０へのネットワーク構成については限定されないものである。
【００１７】
端末２０は、いずれかの通信装置４０に接続するアプリケーション２１がインストールされたコンピュータ（例えば、ＰＣ、タブレット、スマートホン等）であるものとする。各端末２０にインストールされるアプリケーションの数や種類については限定されないものである。この実施形態では、説明を簡易とするため、各端末２０の代表として、端末２０−１にＭ個（Ｍは１以上の任意の整数）のアプリケーション２１（２１−１〜２１−Ｍ）がインストールされているものとして説明する。端末２０−１では、１又は複数のアプリケーション２１が同時に実行され、必要に応じていずれかの通信装置４０との通信処理が実行される。
【００１８】
端末２０は、例えば、通信事業者に接続するユーザ（加入者）が利用する端末である。この実施形態では、各端末２０にはそれぞれ別個のＩＰアドレスが付与されているものとする。なお、以下では、端末２０−１〜２０−ＮのＩＰアドレスをそれぞれＸ１〜ＸＮであるものとして説明する。すなわち、この実施形態では、ネットワーク監視装置１０は、各端末２０（各ＩＰアドレス）を１つのユーザとみなしてネットワーク監視（通信トラフィックの解析）を行うものとする。具体的には、この実施形態のネットワーク監視装置１０は、各ユーザのトラフィック（各端末２０のＩＰアドレスを用いて送受信されるトラフィック）を監視対象（解析対象）として監視（解析）を行う装置であるものとする。そして、ネットワーク監視装置１０は、各ユーザのトラフィック（各端末２０のＩＰアドレスを用いて送受信されるトラフィック）を解析して、各ユーザ（各ユーザの使用する端末２０）において、ユーザの体感品質に関連するアプリケーション及びその利用状態を判定（推定）し、その判定結果を出力する。ネットワーク監視装置１０の判定結果の出力先は限定されないものであり、例えば、図示しない帯域制御装置や帯域制御の設定を管理する通信制御装置(コントローラ)等に出力するようにしてもよい。そして、出力先の装置では、ネットワーク監視装置１０の判定結果を用いてユーザ毎（各端末２０のＩＰアドレス毎）の帯域制御（例えば、判定結果に対応するフローに優先的に帯域を割当てる処理等）を行うことで、ユーザの体感品質を向上させることができる。
【００１９】
通信装置４０は、端末２０（アプリケーション２１）との通信を行う装置である。通信装置４０の構成については限定されないものであるが、例えば、端末２０に対して種々のサービス（例えば、Ｗｅｂサービスやデータベースサービス等）を提供するサーバ（コンピュータ）や、端末２０と電話通信するＩＰ電話端末等が該当する。
【００２０】
この実施形態では、ルータ３０は、少なくとも３つのインタフェース３１、３２、３３を備えているものとする。インタフェース３１、３２、３３の仕様は限定されていないものであり、例えば、種々のイーサネット（登録商標）インタフェースを適用することができる。この実施形態の例では、ルータ３０において、インタフェース３１は端末２０側のネットワークと接続するインタフェースであり、インタフェース３２は通信装置４０側と接続するインタフェースであり、インタフェース３３はネットワーク監視装置１０と接続するインタフェースであるものとする。なお、図２では、説明を簡易とするため、ルータ３０が中継するトラフィックとして、端末２０と通信装置４０との間の通信のみを図示しているが、ルータ３０はその他のノード間の通信を中継する構成であってもよいことは当然である。
【００２１】
そして、この実施形態では、ルータ３０に対して、ミラーリング機能等により、インタフェース３１のトラフィック（パケット）を、インタフェース３２にリアルタイムでコピー出力するようにする設定（例えば、ポートミラー機能による設定）がなされているものとする。これにより、ネットワーク監視装置１０は、ルータ３０（インタフェース３１）のトラフィック（パケット）のデータを取得することが可能となる。なお、ネットワーク監視装置１０がトラフィックのデータを取得するための構成については図２の構成に限定されないものである。例えば、ネットワーク監視装置１０を、ルータ３０の前段（ルータ３０と端末２０との間）に配置して、ルータ３０（インタフェース３１）で入出力されるトラフィック（パケット）をコピーするようにしてもよいし、タップ（スプリッタ）等により端末２０側からルータ３０に供給される信号を分岐して、ネットワーク監視装置１０にルータ３０（インタフェース３１）で入出力されるトラフィック（パケット）を供給するようにしてもよい。
【００２２】
次に、ネットワーク監視装置１０の内部構成について図１を用いて説明する。
【００２３】
ネットワーク監視装置１０は、フロー分割部１１、推定部１２、ＵＸ判定部１３、及び状態遷移確率表記憶部１４を有している。また、推定部１２は、アプリケーション切替検知部１２１、特徴量抽出部１２２、及びアプリケーション利用状態推定部１２３を有している。
【００２４】
ネットワーク監視装置１０は、例えば、プロセッサ及びメモリを有するコンピュータに、プログラム（実施形態に係る通信解析プログラムを含む）をインストールすることにより実現するようにしてもよい。また、ネットワーク監視装置１０において、一部又は全部の処理をハードウェア（例えば、専用の半導体チップ等）により実現するようにしてもよい。
【００２５】
フロー分割部１１は、監視対象のトラフィック（この実施形態では、ルータ３０のインタフェース３１に入出力されるトラフィック）をフローごとに分割（分類）する処理を行う。フロー分割部１１は、例えば、５ｔｕｐｌｅｓ（ｓｒｃ  ＩＰアドレス、ｄｓｔ  ＩＰアドレス、ｓｒｃポート、ｄｓｔポート、プロトコル）等で区別した一連のデータの集合であるフロー毎に分割（分類）する処理を行う。フロー分割部１１がトラフィックのデータをフロー毎に分類する処理については、種々の分割手法（分類手法）を適用することができる。以下では、フロー分割部１１が分割（分類）した各フローのトラフィックのデータを、「フローデータ」とも呼ぶものとする。
【００２６】
特徴量抽出部１２２は、フロー分割部１１に分割（分類）された各フローのフローデータについて特徴量（例えば、各種統計値等）を取得し、アプリケーション利用状態推定部１２３に供給する。特徴量抽出部１２２は、フロー分割部１１から供給されたフローデータをフロー毎（フローＩＤ毎）に格納するためのフローデータ格納部１２２ａを有している。特徴量抽出部１２２は、フローデータ格納部１２２ａに格納されているフローデータについて特徴量を取得する処理を行う。特徴量抽出部１２２が取得するフローの特徴量としては。例えば当該フローにおけるパケットサイズの統計値（例えば、最小値、２５％値、中央値、７５％値、最大値、平均値、分散値等）やパケット到着間隔の統計値（例えば、最小値、２５％値、中央値、７５％値、最大値、平均値、分散値等）が挙げられる。
【００２７】
アプリケーション利用状態推定部１２３は、特徴量抽出部１２２から供給されたフロー毎の特徴量に基づき、各フローについて、対応するアプリケーション利用状態（当該フローに対応するアプリケーション及び当該アプリケーションの利用状態）の推定を行う。特徴量抽出部１２２が行う推定処理方式については限定されないものであり、例えば、フローデータの特徴量（統計値）に対応するアプリケーション利用状態を事前に学習した教師データに基づき、最も取得した特徴量（正解データ）と類似するアプリケーション利用状態を推定し、その推定結果をＵＸ判定部１３に供給する。
【００２８】
アプリケーション利用状態推定部１２３が、フロー毎の特徴量に基づいてアプリケーション利用状態を推定する処理方式については限定されないものである。アプリケーション利用状態推定部１２３は、例えば、予め特徴量とアプリケーション利用状態が対応付けられた教師データを学習している機械学習器（図示せず）を用いて、最も教師データとの類似度が高いアプリケーション利用状態を推定結果として出力するようにしてもよい。一般的な機械学習器としては、例えば、決定木、ベイジアンネットワーク、サポートベクターマシンなどが存在する。
【００２９】
なお、ネットワーク監視装置１０（アプリケーション利用状態推定部１２３及びＵＸ判定部１３）が推定（判定）するアプリケーションの概念としては、単に端末２０上で動作するアプリケーション２１の種類だけでなく、当該アプリケーション２１上で処理される内容まで分類した結果とするようにしてもよい。例えば、端末２０−１上で動作するアプリケーション２１−１がＷｅｂブラウザである場合に、ネットワーク監視装置１０は、当該Ｗｅｂブラウザ（アプリケーション２１−１）でアクセスするサービスの種類（例えば、ＥＣサイト（電子商取引サイト）、動画閲覧サイト、電子掲示板サイト等）まで分類して、アプリケーションの推定（判定）処理を行うようにしてもよい。また、ネットワーク監視装置１０は、Ｗｅｂブラウザでアクセスするサービスの種類ではなく、Ｗｅｂブラウザでアクセスする具体的なサイト（例えば、アクセス先のＵＲＬ）を、一つのアプリケーションとして分類する推定（判定）処理を行うようにしてもよい。以上のように、ネットワーク監視装置１０は、Ｗｅｂブラウザのように汎用的なアプリケーション２１については、当該アプリケーション２１で動作する内容まで分類して１つのアプリケーションとして判定するようにしてもよい。
【００３０】
状態遷移確率表記憶部１４は、後述するＵＸ判定部１３で用いる状態遷移確率表１４１（遷移情報）をアプリケーション毎に記憶している。状態遷移確率表記憶部１４には、ＵＸ判定部１３で判定対象となるアプリケーションごとに状態遷移確率表１４１が記憶されている。状態遷移確率表１４１の具体的な構成については後述する。
【００３１】
ＵＸ判定部１３は、特徴量抽出部１２２から複数のフローのアプリケーション利用状態推定結果を取得し、取得した複数のフローのアプリケーション利用状態推定結果に基づき、ユーザごとに、当該ユーザの体感品質に関連する１つのアプリケーション（例えば、当該ユーザが操作中のアプリケーション）及び当該アプリケーション利用状態を推定する処理を行う。例えば、特定の送信元ＩＰアドレスからのフローの集合を１つのユーザの動向と見た場合、特定の送信元ＩＰアドレスに対して複数のフローが存在することになる。言い換えると、ＵＸ判定部１３は、複数のフロー（フローＩＤ）のアプリケーション利用状態推定結果を受け取り、受け取った推定結果を、送信元ＩＰアドレス毎にグループ分けし、１つのＩＰアドレスを１ユーザとみなして、ユーザごとに１つのアプリケーションと当該アプリケーション利用状態を判定（推定）する。すなわち、アプリケーション利用状態推定部１２３は、フロー毎にアプリケーション及びアプリケーション利用状態を推定するが、ＵＸ判定部１３は、ＩＰアドレスにより分類される各ユーザ（各ＩＰアドレス）についてアプリケーション及びアプリケーション利用状態を判定（決定）する。例えば、ＵＸ判定部１３は、端末２０−１に付与されたＩＰアドレスＸ１を送信元又は送信先に含むフローを１ユーザ分のフローとみなし、ユーザの体感品質に関連するアプリケーション（例えば、当該ユーザが操作中のアプリケーション）及び当該アプリケーションの利用状態を推定する。
【００３２】
なお、ＵＸ判定部１３は、供給されたアプリケーション利用状態推定結果について、ユーザごと（ＩＰアドレスごと）に管理可能な形式で、推定データ保持部１３１に保持する。そして、ＵＸ判定部１３は、推定データ保持部１３１に保持したアプリケーション利用状態推定結果に基づいて、ユーザごとに、１つのアプリケーション（例えば、ユーザが操作中と推定されるアプリケーション）と、当該アプリケーションの利用状態を判定する。
【００３３】
また、ＵＸ判定部１３は、ユーザのアプリケーション利用状態を推定する際に、状態遷移確率表１４１から、判定したアプリケーションに対応する状態遷移確率表１４１を取得し、取得した状態遷移確率表１４１に基づいてユーザのアプリケーション利用状態を少なくとも１つ判定する処理を行う。ＵＸ判定部１３では、参照した状態遷移確率表１４１に基づき、現在の利用状態から次の利用状態への状態遷移のし易さの度合（例えば、現在の利用状態から次の利用状態への状態遷移の確率）も考慮して、ユーザのアプリケーション利用状態として尤もらしい状態を推定する。
【００３４】
この実施形態では、推定データ保持部１３１は、直近の所定期間（例えば、過去５秒〜１０秒程度の期間）に供給されたアプリケーション利用状態推定結果を保持するものとして説明する。すなわち、推定データ保持部１３１は、現在時点から所定期間（以下、この期間を「Ｔ１」と表す）以上前に供給されたアプリケーション利用状態推定結果を廃棄し、直近のＴ１期間分のアプリケーション利用状態推定結果に基づいて、各ユーザのアプリケーション及びアプリケーション利用状態を判定する処理を行うものとする。また、この実施形態では、推定データ保持部１３１は、所定期間（以下、この期間を「Ｔ２」と表す）ごとに推定データ保持部１３１で保持されているアプリケーション利用状態推定結果に基づいて、各ユーザのアプリケーション及びアプリケーション利用状態を判定する処理を行うものとする。Ｔ１及びＴ２の期間は任意であるが、この実施形態では、Ｔ２は、Ｔ１以下の期間であるものとして説明する。
【００３５】
アプリケーション切替検知部１２１は、ＵＸ判定部１３において、アプリケーションが切り替わったユーザが発生したことを検知して、特徴量抽出部１２２を制御し、当該ユーザに対応するフローの特徴量抽出をリセット（終了）させる。
【００３６】
例えば、アプリケーション切替検知部１２１は、ＵＸ判定部１３において、アプリケーションが切り替わったユーザが発生したことを検知すると、当該ユーザに係るフローＩＤを特徴量抽出部１２２に通知するようにしてもよい。そして、特徴量抽出部１２２は、通知されたフローＩＤの特徴量抽出の中止及び保持しているフローデータの廃棄を行うようにしてもよい。
【００３７】
また、ＵＸ判定部１３においてアプリケーションが切り替わったユーザが発生した場合には、推定データ保持部１３１で保持している当該ユーザに係るアプリケーション利用状態推定結果を廃棄するようにしてもよい。
【００３８】
次に、状態遷移確率表１４１の詳細構成について図３、図４を用いて説明する。
【００３９】
以下ではアプリケーションの例として、端末２０上のアプリケーション２１−１がＷｅｂブラウザであるものとする。また、以下では、端末２０上のアプリケーション２１−１（Ｗｅｂブラウザ）が、任意のＥＣサイト（電子商取引サイト）にアクセスしてサービス処理を１つのアプリケーション（以下、当該アプリケーションの識別子を「ＳｅｒｖｉｃｅＡ」と表す）とした場合の例について説明する。
【００４０】
図３は、ＳｅｒｖｉｃｅＡのアプリケーション利用状態を、ｔｏｐ、ｃｌｉｃｋ、ｓｅａｒｃｈ、ｖｉｅｗ＿ｃａｒｔ、ｌｏｇｉｎ、ｃｈｅｃｋｏｕｔ、ｌｏｇｏｕｔという６種類のいずれかに分類した場合の状態遷移について示した説明図である。
【００４１】
以下、ＳｅｒｖｉｃｅＡのアプリケーション利用状態の例についてそれぞれ説明する。なお、ここでは、ＳｅｒｖｉｃｅＡとしては、特にサイトを限定せず、種々のＥＣサイト（電子商取引サイト）を適用可能であるものとして説明する。なお、ネットワーク監視装置１０は、特定のＥＣサイトについてのみＳｅｒｖｉｃｅＡとして判定するようにしてもよい。
【００４２】
ここでは、「ｔｏｐ」は、端末２０（アプリケーション２１−１）が、ＳｅｒｖｉｃｅＡ（ＥＣサイト）のトップページにアクセスして、トップページを表示する処理が行われた状態を示すものとする。
【００４３】
「ｃｌｉｃｋ」は、ＳｅｒｖｉｃｅＡ（ＥＣサイト）においていずれかの商品をカートに追加するボタンがクリックする操作が行われ、当該商品をカートに追加する処理が行われた状態を示すものとする。
【００４４】
「ｓｅａｒｃｈ」は、ＳｅｒｖｉｃｅＡ（ＥＣサイト）において、商品の検索を実行する操作（例えば、キーワードを入力して「検索」ボタンの押下）が行われ、検索処理及び検索結果表示処理が行われた状態を示すものとする。
【００４５】
「ｖｉｅｗ＿ｃａｒｔ」は、ＳｅｒｖｉｃｅＡ（ＥＣサイト）において、カートの中を確認するための操作が行われ、カートの内容を表示する処理が行われた状態を示すものとする。
【００４６】
「ｌｏｇｉｎ」は、ＳｅｒｖｉｃｅＡ（ＥＣサイト）において、ログインの操作（例えば、ログインＩＤ及びパスワード入力の操作）が行われて、ログインが実行された状態を示すものとする。
【００４７】
「ｃｈｅｃｋｏｕｔ」は、ＳｅｒｖｉｃｅＡ（ＥＣサイト）において、カートの中の商品購入を購入する操作（例えば、届け先や支払方法の操作受付）が実行され、商品購入の決済処理等が実行された状態を示すものとする。
【００４８】
「ｌｏｇｉｎ」は、ＳｅｒｖｉｃｅＡ（ＥＣサイト）において、ログアウトの操作（例えば、ログアウトに対応するボタン押下の操作）が行われて、ログオフが実行された状態を示すものとする。
【００４９】
そして、図３に示すように、ＳｅｒｖｉｃｅＡを構成する各アプリケーション利用状態（ｔｏｐ、ｃｌｉｃｋ、ｓｅａｒｃｈ、ｖｉｅｗ＿ｃａｒｔ、ｌｏｇｉｎ、ｃｈｅｃｋｏｕｔ、ｌｏｇｏｕｔ）では、全て相互に遷移可能な構成となっているものとする。例えば、図３に示すように、ＳｅｒｖｉｃｅＡの「ｔｏｐ」からは、その他の全ての利用状態（ｃｌｉｃｋ、ｓｅａｒｃｈ、ｖｉｅｗ＿ｃａｒｔ、ｌｏｇｉｎ、ｃｈｅｃｋｏｕｔ、ｌｏｇｏｕｔ）に遷移可能となっている。図３に示すように、ｔｏｐ以外のアプリケーション利用状態からも、同様にその他の全てのアプリケーション利用状態に遷移可能となっている。
【００５０】
そして、ＳｅｒｖｉｃｅＡの状態遷移確率表１４１を表すと、例えば図４のような内容となる。
【００５１】
図４に示すＳｅｒｖｉｃｅＡの状態遷移確率表１４１は、それぞれのアプリケーション利用状態から、次のアプリケーション利用状態への遷移確率（次に現在と同様のアプリケーション利用状態となる確率も含む）をマトリクス形式で表した内容となっている。
【００５２】
例えば、図４では、現在のアプリケーション利用状態が「ｔｏｐ」の場合、再度「ｔｏｐ」のアプリケーション利用状態となる遷移確率（例えば、Ｗｅｂブラウザでリロードが実行される確率）が０．０１となっている。同様に、図４では、「ｔｏｐ」から「ｃｌｉｃｋ」に遷移確率が０．３、「ｔｏｐ」から「ｓｅａｒｃｈ」への遷移確率が０．３、「ｔｏｐ」から「ｖｉｅｗ＿ｃａｒｔ」への遷移確率が０．２、「ｔｏｐ」から「ｌｏｇｉｎ」への遷移確率が０．１、「ｔｏｐ」から「ｃｈｅｃｋｏｕｔ」への遷移確率が０．０１、「ｔｏｐ」から「ｌｏｇｏｕｔ」への遷移確率が０．０５となっている。図４に示すマトリクスでは、その他のアプリケーション利用状態（ｃｌｉｃｋ、ｓｅａｒｃｈ、ｖｉｅｗ＿ｃａｒｔ、ｌｏｇｉｎ、ｃｈｅｃｋｏｕｔ、ｌｏｇｏｕｔ）についても同様に、次のアプリケーション利用状態となる遷移確率のパラメータ値が登録されている。
【００５３】
状態遷移確率表１４１に設定する各数値については、アプリケーションの状態遷移（例えば、図３に示すような状態遷移図）や実際のユーザの利用傾向に基づいて任意の値を設定するようにしてもよい。また、ユーザの実際の利用状況を分析して、その集計結果を状態遷移確率表１４１に反映するようにしてもよい。また、状態遷移確率表１４１に設定するパラメータ値は、状態遷移のしやすさの度合を示すパラメータ値であれば遷移確率に限定されず、単なる重み（状態遷移のしやすさの度合）を示す係数（重み係数）としてもよく、表として整合（相対的な値として整合）が取れていれば良い。
【００５４】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態のネットワーク監視装置１０の動作を説明する。
【００５５】
まず、図１、図２を用いて、ネットワーク監視装置１０の動作概要について説明する。
【００５６】
以下では、端末２０−１のアプリケーション２１−１（Ｗｅｂブラウザ）で上述のＳｅｒｖｉｃｅＡ（ＥＣサイト）がアプリケーションとして実行された場合を例として説明する。
【００５７】
まず、端末２０−１でユーザの操作によりアプリケーション２１−１（Ｗｅｂブラウザ）が動作し、端末２０（アプリケーション２１−１）と通信装置４０−１との間でトラフィック（パケットの送受信）が発生したものとする。
【００５８】
端末２０−１と通信装置４０−１との間でトラフィックが発生すると、ルータ３０（端末２０側と接続するインタフェース３１）のトラフィック（パケット）がネットワーク監視装置１０（フロー分割部１１）に供給されることになる。
【００５９】
トラフィックが供給されるとネットワーク監視装置１０のフロー分割部１１は、そのトラフィック（パケット）をフロー毎に分類したフローデータを、推定部１２（特徴量抽出部１２２）に供給する。このとき、フロー分割部１１は、例えば、５−ｔｕｐｌｅｓ等で区別されたパケットの集合をフローとして分割管理する。
【００６０】
推定部１２では、特徴量抽出部１２２により、フロー分割部１１から供給されたフローデータが取得される。特徴量抽出部１２２は、各フローにＩＤを付与してフローデータを管理する。特徴量抽出部１２２は、フロー毎（フローＩＤごと）に、フローデータ格納部１２２ａに格納して管理する。そして、特徴量抽出部１２２は、特徴量抽出部１２２に格納したフローデータに基づいて各フローの特徴量（統計値）を取得する。
【００６１】
特徴量抽出部１２２は、フローＩＤ毎にフローデータを管理し、所定のタイミングが経過したフローについて、特徴量を抽出し、抽出した特徴量の情報をアプリケーション利用状態推定部１２３に供給する。特徴量抽出部１２２は、例えば、ＴＣＰのフローについては、ヘッダに特定のフラグが設定されたパケット（例えば、ＴＣＰヘッダにＦｉｎ／Ｒｓｔが設定されたパケット）が発生したタイミングや、パケットが到着しない期間が一定時間以上経過となったタイミングを契機として、特徴量の算出を行うようにしてもよい。また、このとき、特徴量抽出部１２２は、フローの特徴量に、５ｔｕｐｌｅｓを特定可能な情報（フローＩＤと５ｔｕｐｌｅｓとが紐付して管理されていれば、フローＩＤのみでもよい）や、算出した特徴量の元となったフローデータをするパケットに関する情報（例えば、先頭からのパケット数や、何パケット目から何パケット目までのパケットに基づいた特徴量であるか等の情報）を付加して、アプリケーション利用状態推定部１２３に供給するようにしてもよい。
【００６２】
アプリケーション利用状態推定部１２３は、特徴量抽出部１２２から供給されたフローの特徴量を含む情報に基づいて、当該フローに対応するアプリケーション利用状態を推定する。そして、アプリケーション利用状態推定部１２３は、フローＩＤごとに、アプリケーション利用状態推定結果をＵＸ判定部１３に供給する。
【００６３】
ＵＸ判定部１３は、複数のフロー（フローＩＤ）のアプリケーション利用状態推定結果を、推定部１２より受け取る。そして、ＵＸ判定部１３は、受け取ったアプリケーション利用状態推定結果を、ユーザ毎に分類して推定データ保持部１３１に格納する。そして、ＵＸ判定部１３は、ＵＸ判定部１３に格納したアプリケーション利用状態推定結果に基づいて、ユーザごとに１つのアプリケーションと当該アプリケーションのアプリケーション利用状態を判定する。
【００６４】
次に、ＵＸ判定部１３の動作の例について図５のフローチャートを用いて説明する。
【００６５】
以下では、端末２０−１（ＩＰアドレスＸ１のユーザ）について判定を行う例について説明する。
【００６６】
ここでは、まず、アプリケーション利用状態推定部１２３からＵＸ判定部１３に、端末２０−１（ＩＰアドレスＸ１のユーザ）のアプリケーション利用状態推定結果の供給が開始されたものとする。ＵＸ判定部１３は、受け取ったアプリケーション利用状態推定結果を、ＩＰアドレスＸ１のユーザとして分類して、推定データ保持部１３１に格納する。そして、ＵＸ判定部１３は、ＩＰアドレスＸ１のユーザについて、１つのアプリケーションと、当該アプリケーションのアプリケーション利用状態を判定する処理を行う（Ｓ１０１）。
【００６７】
このとき、ＵＸ判定部１３は、最もアプリケーション利用状態推定結果の数（推定データ保持部１３１で保持されている数）の多いアプリケーションと、当該アプリケーションで最も数の多いアプリケーション利用状態を初期の判定結果とするようにしてもよい。
【００６８】
次に、ＵＸ判定部１３は、ステップＳ１０１で判定したアプリケーションに対応する状態遷移確率表１４１を取得する。そして、ＵＸ判定部１３は、前回判定したアプリケーション利用状態からの各アプリケーション利用状態への状態遷移確率を取得し、各アプリケーション利用状態への遷移の尤度を示す評価値を算出する（Ｓ１０２）。
【００６９】
ＵＸ判定部１３は、算出した評価値に基づくアプリケーション利用状態（前回と同じアプリケーション内の判定）の遷移の判定、及び、アプリケーションの変更の判定を行う（Ｓ１０３）。そして、ＵＸ判定部１３は、アプリケーションの変更が判定（検知）されない場合、算出した集計値に基づくアプリケーション利用状態を今回の判定結果として決定して、上述のステップＳ１０２に戻って動作する。また、ＵＸ判定部１３は、アプリケーションの変更が判定（検知）された場合、上述のステップＳ１０１に戻って動作する。
【００７０】
次に、ＵＸ判定部１３が、上述のステップＳ１０２、Ｓ１０３で行うアプリケーション利用状態の判定処理について説明する。
【００７１】
ＵＸ判定部１３は、各アプリケーション利用状態の数（各アプリケーション利用状態について推定データ保持部１３１で保持しているアプリケーション利用状態推定結果の数）に、取得した遷移確率を乗じた値を、各アプリケーション利用状態の評価値として取得する。この場合、各アプリケーション利用状態の数（各アプリケーション利用状態について推定データ保持部１３１で保持しているアプリケーション利用状態推定結果の数）とは、当該アプリケーション利用状態について発生したフロー数を示すことになる。例えば、前回判定したアプリケーション利用状態（初期状態として判定した結果を含む）が、ＳｅｒｖｉｃｅＡのｔｏｐの状態であったものとする。この場合、ＵＸ判定部１３は、（ｔｏｐのフロー数）ｘ（遷移確率）、（ｃｌｉｃｋのフロー数）ｘ（遷移確率）、・・・という計算処理により、各アプリケーション利用状態の評価値を算出する。そして、ＵＸ判定部１３は、最も評価値の高いアプリケーション利用状態を、現在のアプリケーション利用状態として判定する。
【００７２】
ここでは、具体例として、ＩＰアドレスＸ１のユーザについて、前回アプリケーションとしてＳｅｒｖｉｃｅＡ、アプリケーション利用状態として「ｔｏｐ」が判定されたものとする。図４に示すように、ＳｅｒｖｉｃｅＡのｔｏｐの場合の各アプリケーション利用状態への遷移確率は、「ｔｏｐ：０．０１、ｃｌｉｃｋ：０．３、ｓｅａｒｃｈ：０．３、ｖｉｅｗ＿ｃａｒｔ：０．２、ｌｏｇｉｎ：０．１、ｃｈｅｃｋｏｕｔ：０．０１、ｌｏｇｏｕｔ０．０５」となる。そして、ここでは、各アプリケーション利用状態のフロー数は、「ｔｏｐ：０、ｃｌｉｃｋ：１、ｓｅａｒｃｈ：３、ｖｉｅｗ＿ｃａｒｔ：１、ｌｏｇｉｎ：１、ｃｈｅｃｋｏｕｔ：０、ｌｏｇｏｕｔ：０」であったものとする。そうすると各アプリケーション利用状態の評価値は「ｔｏｐ：０、ｃｌｉｃｋ：０．３、ｓｅａｒｃｈ：０．９、ｖｉｅｗ＿ｃａｒｔ：０．２、ｌｏｇｉｎ：０．２、ｃｈｅｃｋｏｕｔ：０、ｌｏｇｏｕｔ：０」となる。したがって、この場合、ＵＸ判定部１３は、最も評価値の大きい、ｓｅａｒｃｈをＩＰアドレスＸ１のユーザの、現在のアプリケーション利用状態として判定する。
【００７３】
次に、ＵＸ判定部１３が、上述のステップＳ１０３で行うアプリケーション変更の検知処理について説明する。
【００７４】
ＵＸ判定部１３は、例えば、アプリケーションごとのフロー数（各アプリケーション利用状態について推定データ保持部１３１で保持しているアプリケーション利用状態推定結果の数）に基づいて、アプリケーションの変更（ユーザが操作するアプリケーションの変更）を検知する。
【００７５】
ＵＸ判定部１３は、例えば、前回判定されたアプリケーションと同じアプリケーションとフロー数を用いて、アプリケーションの変更を検知するようにしてもよい。具体的には、ＵＸ判定部１３は、（前回と同じアプリケーションだと推定されたフロー数）÷（前回と違うアプリケーションだと推定されたフロー数）を指標として算出し、当該指標が、１より小さい場合にはアプリケーションの変更が有った事を検知し、当該指標が１以上の場合には、アプリケーションの変更がなかったことを検知するようにしてもよい。また、ＵＸ判定部１３は、例えば、前回判定されたアプリケーションよりもフロー数の多いアプリケーションが有った場合、アプリケーションの変更を検知するようにしてもよい。
【００７６】
以上のように、ＵＸ判定部１３は、ユーザごとに、同じアプリケーションと判定されている間は同じ状態遷移確率表を用いてアプリゲーション利用状態の判定処理を継続し、別のアプリケーションへの変更を判断した場合にはアプリケーションの判定処理からやり直す処理を行う。
【００７７】
そして、アプリケーション切替検知部１２１は、ＵＸ判定部１３においてアプリケーション変更が判定されたユーザを検知した場合、フローの特徴量抽出部１２２を制御して、アプリケーション変更のあったユーザ（ＩＰアドレス）の特徴量計算をリセットさせ、切替後のアプリケーションに対する特徴量計算を開始させる。
【００７８】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００７９】
ネットワーク監視装置１０では、フロー毎のアプリケーション推定ではなく、１つのＩＰアドレスを１ユーザ（端末）とみなし、１ユーザについて１つのアプリケーションとその利用状態を推定することができる。
【００８０】
また、ネットワーク監視装置１０では、アプリケーション毎の遷移確率も考慮して推定を高精度に実施できるため、ネットワーク監視装置１０の判定結果を帯域制御等に利用した場合でもユーザ体感品質の低下が起こりにくいという効果を奏する。
【００８１】
（Ｂ）第２の実施形態
以下、本発明による通信解析装置及び通信解析プログラムの第２の実施形態を、図面を参照しながら詳述する。以下では、本発明の通信解析装置及び通信解析プログラムをネットワーク監視装置に適用した例について説明する。
【００８２】
（Ｂ−１）第２の実施形態の構成
第２の実施形態の全体構成の例についても上述の図２を用いて示すことができる。
【００８３】
図６は、第２の実施形態のネットワーク監視装置１０Ａの機能的構成について示した説明図であり、上述の同一部分又は対応部分には同一符号又は対応する符号を付している。以下では、第２の実施形態のネットワーク監視装置１０Ａについて第１の実施形態との差異を説明する。
【００８４】
第２の実施形態のネットワーク監視装置１０Ａは、フロー分割部１１、推定部１２Ａ、アプリケーション切替検知部１２１Ａ、及び注目フロー抽出部１５を有している。また、推定部１２Ａは、特徴量抽出部１２２及びフローデータ格納部１２２ａを有している。
【００８５】
フロー分割部１１は、第１の実施形態と同様の構成であるため詳しい説明を省略する。フロー分割部１１は、フロー毎に分割したフローデータを注目フロー抽出部１５に供給する。
【００８６】
注目フロー抽出部１５は、フロー分割部１１からフローデータを受け取り、推定部１２Ａに推定させるフローと推定させないフローに分けて、推定させるフローのみを推定部１２Ａに供給する。言い換えると、注目フロー抽出部１５は、推定させる必要のないフロー（ユーザの体感品質と関連しないとみなせるフロー）を除外して、推定させる必要のあるフロー（注目するべきフロー）のみを抽出する処理を行う。また、注目フロー抽出部１５は、アプリケーション切替検知部１２１Ａからアプリ切替を受け取ると、注目フローの抽出方法を変更する。注目フロー抽出部１５によるフローの抽出方法の詳細については後述する。
【００８７】
推定部１２Ａの特徴量抽出部１２２自体は、第１の実施形態と同様の構成であるので詳しい説明を省略する。特徴量抽出部１２２は、注目フロー抽出部１５で抽出されたフローのフローデータについてそれぞれ特徴量を抽出し、その抽出結果を、アプリケーション利用状態推定部１２３Ａに供給する。
【００８８】
アプリケーション利用状態推定部１２３Ａは、特徴量抽出部１２２から供給された特徴量毎（フロー毎）に、アプリケーション及び当該アプリケーションのアプリケーション利用状態を推定する処理を行い、その推定結果（アプリケーション及び当該アプリケーションのアプリケーション利用状態）を出力（ネットワーク監視装置１０Ａの判定結果として出力）する処理を行う。そして、アプリケーション利用状態推定部１２３Ａは、アプリケーション利用状態推定結果を、アプリケーション切替検知部１２１Ａにも供給する。
【００８９】
また、アプリケーション利用状態推定部１２３Ａは、推定結果を、アプリケーション切替検知部１２１Ａにも供給する。
【００９０】
さらに、アプリケーション利用状態推定部１２３Ａは、推定が不要なフローの情報を、注目フロー抽出部１５にフィードバックする処理を行う。アプリケーション利用状態推定部１２３Ａは、例えば、あるフローについて推定処理を行った結果ユーザの体感品質と関連のない種類アプリケーションだった場合（例えば、ユーザの体感品質と関連のあるアプリケーションの一覧を予め登録しておき、その一覧にないアプリケーションだった場合）に、当該フローを推定が不要なフローだと判断するようにしてもよい。注目フロー抽出部１５は、アプリケーション利用状態推定部１２３Ａから、推定が不要なフローの情報がフィードバックされると、該当するフローについて注目フローから除外する。
【００９１】
アプリケーション切替検知部１２１Ａは、特徴量抽出部１２２やアプリケーション利用状態推定部１２３Ａから受け取ったデータを元に、ユーザ毎（ＩＰアドレス毎）のアプリケーション切替を検知する。そして、アプリケーション利用状態推定部１２３Ａは、アプリケーション切替の発生したユーザ（ＩＰアドレス）について、フローの抽出内容をリセットするように制御する。
【００９２】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態のネットワーク監視装置１０Ａの動作を説明する。
【００９３】
まず、トラフィックが供給されるとネットワーク監視装置１０Ａのフロー分割部１１は、そのトラフィック（パケット）をフロー毎に分類し、分類したフローデータを注目フロー抽出部１５に供給する。
【００９４】
注目フロー抽出部１５は、入力されたフロー毎の特徴に応じて推定部１２Ａに送るフローと送らないフローに分ける。ところで、本発明のネットワーク監視装置は、主として、ユーザの体感品質の向上を目的として、アプリケーション利用状態推定を行うため、可能な限りユーザの操作により発生させたフローに着目した処理を行うことが望ましい。そのため、注目フロー抽出部１５は、ユーザごとに、当該ユーザの体感品質に寄与する度合の高いフローを選択（抽出）することが望ましい。注目フロー抽出部１５は、例えば、パケット到着間隔をフーリエ変換し、周期性が確認できるものは機械的に送出されたフロー（例えば、ファイル転送や定期的な同期処理等のフロー）とみなし、推定部１２Ａに送らない（注目フローから除外する）処理を行うようにしてもよい。また、注目フロー抽出部１５は、例えば、各ユーザ（各ＩＰアドレス）で送受信されるフローのうち、フローの生成時間等に基づいて１０％を選択（抽出）するようにしてもよい。例えば、注目フロー抽出部１５は、各ユーザ（各ＩＰアドレス）について、生成された時間（通信が開始された時間）が新しいものから順に１０％を選択することで、継続時間が長く安定したデータ転送となっているフローや、既にタイムアウトしているフロー等を除外して、ユーザの体感品質に影響しそうなフローを選択（抽出）するようにしてもよい。
【００９５】
推定部１２Ａの特徴量抽出部１２２は、注目フロー抽出部１５から供給された各フローデータに基づいて各フローの特徴量を取得（第１の実施形態と同様の処理により取得）し、アプリケーション利用状態推定部１２３Ａに供給する。また、特徴量抽出部１２２は、フローの終了を検出した場合（例えば、フローデータにＦｉｎ／Ｒｓｔなどのフロー終了フラグを含むパケットが含まれていた場合）には、その旨をアプリケーション切替検知部１２１Ａに供給する。
【００９６】
アプリケーション利用状態推定部１２３Ａは、特徴量抽出部１２２から供給されたフロー毎の特徴量に基づいて、フロー毎のアプリケーション及び当該アプリケーションのアプリケーション利用状態推定結果を求める。そして、アプリケーション利用状態推定部１２３Ａは、推定結果（アプリケーション及び当該アプリケーションのアプリケーション利用状態推定結果）をネットワーク監視装置１０Ａの判定結果として出力する。また、アプリケーション利用状態推定部１２３Ａは、上述の推定結果を、アプリケーション切替検知部１２１Ａにも供給する。
【００９７】
アプリケーション切替検知部１２１Ａは、特徴量抽出部１２２及びアプリケーション利用状態推定部１２３Ａから供給される情報に基づいて、各ユーザのアプリケーションの切替を検知する。アプリケーション切替検知部１２１Ａは、例えば、各ユーザについて、全体（全てのアプリケーション）のフロー（例えば、現在から所定時間前までに終了していなかったフロー）の数（以下、「全体フロー数」と呼ぶ）と、アプリケーション毎の既に終了したフロー（例えば、所定時間前には終了しておらず、現在は既に終了しているフロー）の数（以下、「終了フロー数」と呼ぶ）をカウントし、全体フロー数と各アプリケーションの終了フロー数に基づいてアプリケーション切替を検知するようにしてもよい。
【００９８】
例えば、アプリケーション切替検知部１２１Ａは、全体フロー数に対して所定の割合以上（例えば、５０％以上）の終了フロー数が発生したアプリケーションがあったユーザについては、アプリケーション切替が発生したと検知するようにしてもよい。例えば、アプリケーション切替検知部１２１Ａは、全体フロー数が１００で、１つのアプリケーションで５０％以上（５０以上）の終了フロー数が発生した場合、アプリケーション切替が発生したと判断するようにしてもよい。
【００９９】
また、例えば、アプリケーション切替検知部１２１Ａは、（最も終了フロー数の多いアプリケーションの終了フロー数）÷（その他のアプリケーションのフロー数）を指標として用い、当該指標が閾値以下の状態（例えば、１より小さい状態）となったユーザについて、アプリケーション切替を検知するようにしてもよい。例えば、上述の指標に対する閾値を１とした場合、アプリケーション切替検知部１２１Ａは、上述の指標が１以上から１未満となったユーザについて、アプリケーションの切替を検知するようにしてもよい。
【０１００】
そして、アプリケーション切替検知部１２１Ａは、アプリケーション切替が発生したユーザ（ＩＰアドレス）を検知すると、当該ユーザ（当該ＩＰアドレス）に対する処理をリセットするように、注目フロー抽出部１５を通知する。
【０１０１】
注目フロー抽出部１５は、アプリケーション切替検知部１２１Ａから通知を受けると、当該ＩＰアドレスに対して除外していたフローも含めて、抽出処理を再開することで、装置全体の推定精度を維持する。
【０１０２】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、以下のような効果を奏することができる。
【０１０３】
第２の実施形態のネットワーク監視装置１０Ａでは、複数のフロー入力に対して、ユーザ体感品質に影響しないため、処理が不要とみなせるフローを推定対象から排除することで、計算機負荷の高い推定部１２Ａでの計算コストを削減できる。
【０１０４】
また、第２の実施形態のネットワーク監視装置１０Ａでは、アプリケーションが切り替わった際には、注目フローの特性が変更されることがあるため、注目フローの抽出をリセットすることで、利用アプリケーションの変化に追従してアプリケーション利用状態の推定処理を行うことができる。
【０１０５】
（Ｃ）第３の実施形態
以下、本発明による通信解析装置及び通信解析プログラムの第３の実施形態を、図面を参照しながら詳述する。以下では、本発明の通信解析装置及び通信解析プログラムをネットワーク監視装置に適用した例について説明する。
【０１０６】
第３の実施形態の全体構成の例についても上述の図２を用いて示すことができる。
【０１０７】
図７は、第３の実施形態のネットワーク監視装置１０Ｂの機能的構成について示した説明図であり、上述の同一部分又は対応部分には同一符号又は対応する符号を付している。以下では、第３の実施形態のネットワーク監視装置１０Ｂについて第２の実施形態との差異を説明する。
【０１０８】
第２の実施形態の注目フロー抽出部１５は、特徴量抽出部１２２の前段（フロー分割部１１の後段）に配置されている。これに対して、第３の実施形態の注目フロー抽出部１５Ｂは、特徴量抽出部１２２の後段（アプリケーション利用状態推定部１２３Ａの前段）に配置されている。
【０１０９】
第２の実施形態の注目フロー抽出部１５は、フロー分割部１１から供給されるフロー毎のフローデータ（各フローのパケットの内容）に基づいて、フローの抽出を行っていた。これに対して、第３の実施形態の注目フロー抽出部１５Ｂは、特徴量抽出部１２２から供給されるフロー毎の特徴量に基づいてフローの抽出を行う。注目フロー抽出部１５Ｂが行うフロー抽出の基準は第２の実施形態と同様であるが、第３の実施形態では、抽出対象となるフローのデータが特徴量となっている。したがって、第３の実施形態の特徴量抽出部１２２では、注目フロー抽出部１５Ｂでフローの抽出処理に必要となる項目の特徴量について抽出する処理が含まれている必要がある。
【０１１０】
（Ｄ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１１１】
（Ｄ−１）第１の実施形態では、ＵＸ判定部１３でアプリケーションの切替検知をする構成について説明したが、特徴量抽出部１２２の出力結果を用いて、アプリケーション切替検知を行うようにしてもよい。
【０１１２】
図８は第１の実施形態の変形例に係るネットワーク監視装置１０の処理について示したフローチャートである。
【０１１３】
特徴量抽出部１２２は、アプリケーションの切替に関連するＴＣＰフラグのＦｉｎ／Ｒｓｔなどのフロー終了を示す特徴量を得た場合に、フローＩＤ（５ｔｕｐｌｅｓ）とフロー終了を示す特徴量をアプリケーション切替検知部１２１に供給するものとする（Ｓ２０１）。
【０１１４】
特徴量抽出部１２２から供給されたフロー終了を示す情報（フロー終了を示す特徴量とフローＩＤ）が供給されると、アプリケーション切替検知部１２１は、当該ＩＤに対応するユーザのアプリケーション切替を判定する（Ｓ２０２）。そして、アプリケーション切替検知部１２１は、アプリケーション切替が発生したユーザが検出された場合、後述するステップＳ２０３から動作し、アプリケーション切替が検出されなかった場合は今回の処理を終了する。アプリケーション切替検知部１２１は、例えば、ユーザ毎（特定のＩＰアドレス毎）に送受信しているフローの全体数に対して所定以上（例えば、５０％以上）のフローが終了した場合などにアプリケーションの切替を検知するようにしてもよい。
【０１１５】
アプリケーション切替検知部１２１は、アプリケーション切替を検出すると、ＵＸ判定部１３に、アプリケーション切替が発生したユーザ（ＩＰアドレス）を通知する。そして、ＵＸ判定部１３は、当該ＩＰアドレスに対するアプリケーションとアプリケーション利用状態をリセットする（Ｓ２０３）。これにより、ＵＸ判定部１３は、アプリケーション切替が発生したユーザについて、初期状態から推定を開始し、利用アプリケーションの変更に対しても高精度に追従し、アプリケーション利用状態の推定精度を向上させることができる。
【符号の説明】
【０１１６】
１０…ネットワーク監視装置、１１…フロー分割部、１２…推定部、１２１…アプリケーション切替検知部、１２２…特徴量抽出部、１２２ａ…フローデータ格納部、１２３…アプリケーション利用状態推定部、１３…ＵＸ判定部、１３１…推定データ保持部、１４…状態遷移確率表、１４１…状態遷移確率表、２０、２０−１〜２０−Ｎ…端末、２１、２１−１〜２１−Ｍ…アプリケーション、４０、４０−１〜４０−Ｍ…通信装置、３０、３１、３２、３３…ルータ。
【図１】
2017139580.tif 000003
【図２】
2017139580.tif 000004
【図３】
2017139580.tif 000005
【図４】
2017139580.tif 000006
【図５】
2017139580.tif 000007
【図６】
2017139580.tif 000008
【図７】
2017139580.tif 000009
【図８】
2017139580.tif 000010