(57)【要約】アプリケーションの利用にかかる通信トラヒックから、アプリケーションの利用状況に応じた通信制御に関する複数種類の制御属性の推定精度を向上させること。本発明にかかる推定装置（１）は、通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部（１１１〜１１ｎ）と、複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する特徴量算出部を用いて通信トラヒックから特徴量群のそれぞれを算出する算出部（１２）と、算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部（１３）と、を備える。
2020079986.tif 000002
【特許請求の範囲】
【請求項１】
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出手段と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出手段を用いて前記通信トラヒックから前記特徴量群のそれぞれを算出する算出手段と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定手段と、
を備える推定装置。
【請求項２】
前記複数の特徴量算出手段のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
請求項１に記載の推定装置。
【請求項３】
前記複数種類の制御属性の中から一部を選択する選択手段をさらに備え、
前記算出手段は、前記選択された制御属性に対応する前記特徴量算出手段を用いて前記通信トラヒックから前記特徴量群を算出し、
前記推定手段は、前記算出された特徴量群から当該選択された制御属性の前記属性値を推定し、
前記選択手段は、前記推定された属性値に基づいて前記複数種類の制御属性のうち未選択の制御属性をさらに選択する
請求項１又は２に記載の推定装置。
【請求項４】
前記複数種類の制御属性は、複数の階層を有する階層構造により定義され、
前記複数種類の制御属性のうち第１の制御属性が取り得る複数の第１の属性値のそれぞれには、当該第１の制御属性の下位階層である異なる第２の制御属性が属しており、
前記選択手段は、
前記複数種類の制御属性のうち前記階層構造の上位から下位の順序で選択し、
前記推定手段により当該選択された制御属性の前記属性値が推定された後に、当該推定された属性値に属する制御属性をさらに選択する
請求項３に記載の推定装置。
【請求項５】
前記通信トラヒックは、アプリケーションの利用に際して観測されたものであり、
前記階層構造は、
前記アプリケーションの利用目的を示す前記第１の制御属性が第１階層に属し、
前記利用目的ごとに異なる前記アプリケーションの提供元を示す前記第２の制御属性が、前記第１階層の下位の第２階層に属し、
前記提供元ごとに異なる前記アプリケーションのプロパティを示す第３の制御属性が、前記第２階層の下位の第３階層に属する
ように定義されている
請求項４に記載の推定装置。
【請求項６】
前記複数の特徴量算出手段のそれぞれをモジュールとして前記階層構造に基づいて階層化して記憶する第１の記憶手段をさらに備え、
前記算出手段は、
前記第１の記憶手段の中から前記選択された制御属性に対応する前記特徴量算出手段を特定し、
前記特定した特徴量算出手段を用いて前記通信トラヒックから前記特徴量群を算出する
請求項４又は５に記載の推定装置。
【請求項７】
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から前記属性値を推定する複数の推定モデルを記憶する第２の記憶手段をさらに備え、
前記推定手段は、
前記複数の推定モデルのうち前記選択された制御属性に対応する推定モデルを用いて、当該選択された制御属性に対応する前記特徴量算出手段を用いて算出された前記特徴量群から、当該選択された制御属性の前記属性値を推定する
請求項３乃至６のいずれか１項に記載の推定装置。
【請求項８】
前記複数の特徴量算出手段のそれぞれを用いて算出された前記特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記第２の記憶手段に格納する学習手段をさらに備える
請求項７に記載の推定装置。
【請求項９】
前記学習手段は、
前記学習された推定モデルを前記階層構造に基づいて階層化して前記第２の記憶手段に格納する
請求項４に従属する請求項８に記載の推定装置。
【請求項１０】
前記複数の推定モデルのそれぞれは、
対応する制御属性が共通する前記特徴量算出手段を用いて算出された前記特徴量群と、当該制御属性の正解とを用いてパラメータが学習されたものである、
請求項７に記載の推定装置。
【請求項１１】
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出手段と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶手段と、
前記複数の特徴量算出手段のそれぞれにより、学習対象の前記通信トラヒックから算出された前記特徴量群のそれぞれを算出する第１の算出手段と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶手段に格納する学習手段と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出手段を用いて、推定対象の前記通信トラヒックから前記特徴量群のそれぞれを算出する第２の算出手段と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定手段と、
を備える推定システム。
【請求項１２】
前記複数の特徴量算出手段のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
請求項１１に記載の推定システム。
【請求項１３】
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する
推定方法。
【請求項１４】
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する処理と、
をコンピュータに実行させる推定プログラムが格納された非一時的なコンピュータ可読媒体。
【請求項１５】
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出手段と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶手段と、
前記複数の特徴量算出手段のそれぞれを用いて、前記通信トラヒックから前記特徴量群のそれぞれを算出する算出手段と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶手段に格納する学習手段と、
を備える学習装置。
【請求項１６】
前記複数の特徴量算出手段のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
請求項１５に記載の学習装置。
【請求項１７】
前記複数種類の制御属性は、複数の階層を有する階層構造により定義され、
前記学習手段は、
前記学習された推定モデルを前記階層構造に基づいて階層化して前記記憶手段に格納する
請求項１５又は１６に記載の学習装置。
【請求項１８】
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習し、
前記学習された推定モデルを記憶装置に格納する
学習方法。
【請求項１９】
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習する処理と、
前記学習された推定モデルを記憶装置に格納する処理と
をコンピュータに実行させる学習プログラムが格納された非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定装置、システム、方法及びプログラム並びに学習装置、方法及びプログラムに関し、特に、通信トラヒックから通信制御に関する制御属性を推定するための推定装置、システム、方法及びプログラム並びに学習装置、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを介した遠隔制御による情報サービスの高度化が進んでいる。すなわち、多種多様なデバイス（モノ）がネットワークに接続されるＩｏＴ（Internet of Things）の普及に伴い、様々な分野でネットワークを介した遠隔制御や協調動作による情報サービスの高度化が期待されている。特に、セルラーを始めとする無線ネットワークの利用ニーズが高まっている。【０００３】
そして、ＩｏＴの普及に伴いネットワークに流れる通信トラヒックが多様化している。それ故、通信利用者のニーズに変化が生じている。具体的には、通信利用者のニーズは、当初は通信自体ができること、次に、移動しながら通信ができること、そして現在では、アプリケーション単位の要件に応じた通信ができることへと変化している。そして、今後は、刻々と変わるアプリケーションの利用状況に応じた通信が行えることが求められると予想される。そのため、通信事業者の性能指標（例えば、ＫＰＩ（Key Performance Indicator））は、これまでの通信レベルのサービス品質（ＱｏＳ（Quality of Service））から、アプリケーションレベルのサービス品質（以下、「アプリケーション品質」と呼ぶ。）へと移行すると考えられる。つまり、今後は、通信事業者がアプリケーション品質に基づくネットワーク制御やネットワーク設計を重要視することが想定される。【０００４】
ここで、アプリケーション品質には、例えば、人のアプリケーション品質（ＱｏＥ（Quality of Experience））やモノのアプリケーション品質（ＱｏＣ（Quality of Control））が挙げられる。例えば、人のアプリケーション品質に関するものとしては、ITU-T（International Telecommunication Union Telecommunication Standardization Sector）において、Ｗｅｂアクセス（ITU-T Recommendation G.1030）、Web閲覧（Web-browsing）及び動画配信（ITU-T P.1203）のＱｏＥが定義されている。また、モノのアプリケーション品質に関するものとして、ネットワーク越しの機械制御のパフォーマンス指標（ＱｏＰ（Quality of Performance）やＱｏＣ）の議論が進むことが想定される。【０００５】
このような通信利用者の通信品質に対するニーズの高度化に伴い、今後、通信事業者には、アプリケーション単位の要件に応じた通信サービスや、刻々と変わるアプリケーションの利用状況に応じた通信サービスの提供等が求められると考えられる。そのため、通信事業者は、アプリケーションの状態変化の把握が課題となる。【０００６】
通信事業者が「刻々と変わる利用条件（アプリケーションの状態）に応じて最適な通信品質」を提供し、通信利用者の満足度（ＱｏＥ）を高めるために、きめ細やかな通信制御が必要とされる。例えば、制御対象パラメータの増加（通信帯域、伝送遅延のゆらぎ（ジッタ等）など）や制御周期の短縮等が挙げられる。【０００７】
しかしながら、近年、通信高速化のための通信トラヒックの多重化、セキュリティ強化のための通信トラヒックの暗号化等により、通信事業者（通信事業者が提供するネットワーク機器等）が観測可能な通信トラヒックから取得できる情報の制限が大きくなった。【０００８】
そのため、通信事業者が通信トラヒックからアプリケーションの種類や状態変化の把握が困難となり、アプリケーションの利用状況に応じた通信機器のきめ細やかな通信制御が困難となってきた。【０００９】
ここで、特許文献１には、ネットワーク通信のトラヒックを監視して、監視対象のフローにかかる通信アプリケーションの種類を推定するトラヒック監視装置に関する技術が開示されている。当該トラヒック監視装置は、まず、監視対象の通信トラヒックのフローの先頭から所定数までのパケットから特徴量を算出する。そして、当該トラヒック監視装置は、当該算出した特徴量から所定数以降のパケットの特徴量を予測し、算出した特徴量と予測した特徴量とを含めて監視対象の特徴量の組とする。その後、当該トラヒック監視装置は、通信アプリケーション毎に予め登録された複数種類の特徴量の組と、監視対象の特徴量の組とを照合して、監視対象のフローに該当する通信アプリケーションの種類を推定する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第６１５３１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１には、解析対象のパケットにフローの先頭パケットが必須であり、また、照合対象の特徴量の種類が固定であるため、多様な解析が行えず、アプリケーションの利用状況に応じた通信制御のための制御属性の推定精度が低い、という問題点がある。【００１２】
本開示は、このような問題点を解決するためになされたものであり、アプリケーションの利用にかかる通信トラヒックから、アプリケーションの利用状況に応じた通信制御に関する複数種類の制御属性の推定精度を向上させるための推定装置、システム、方法及びプログラム並びに学習装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本開示の第１の態様にかかる推定装置は、
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出部を用いて前記通信トラヒックから前記特徴量群のそれぞれを算出する算出部と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部と、
を備える。【００１４】
本開示の第２の態様にかかる推定システムは、
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶部と、
前記複数の特徴量算出部のそれぞれにより、学習対象の前記通信トラヒックから算出された前記特徴量群のそれぞれを算出する第１の算出部と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶部に格納する学習部と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出部を用いて、推定対象の前記通信トラヒックから前記特徴量群のそれぞれを算出する第２の算出部と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部と、
を備える。【００１５】
本開示の第３の態様にかかる推定方法は、
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する。【００１６】
本開示の第４の態様にかかる推定プログラムは、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する処理と、
をコンピュータに実行させる。【００１７】
本開示の第５の態様にかかる学習装置は、
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶部と、
前記複数の特徴量算出部のそれぞれを用いて、前記通信トラヒックから前記特徴量群のそれぞれを算出する算出部と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶部に格納する学習部と、
を備える。【００１８】
本開示の第６の態様にかかる学習方法は、
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習し、
前記学習された推定モデルを記憶装置に格納する。【００１９】
本開示の第７の態様にかかる学習プログラムは、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習する処理と、
前記学習された推定モデルを記憶装置に格納する処理と
をコンピュータに実行させる。
【発明の効果】
【００２０】
本開示により、アプリケーションの利用にかかる通信トラヒックから、アプリケーションの利用状況に応じた通信制御に関する複数種類の制御属性の推定精度を向上させるための推定装置、システム、方法及びプログラム並びに学習装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態１にかかる推定装置の構成を示すブロック図である。
【図２】本実施の形態１にかかる推定方法の流れを示すフローチャートである。
【図３】本実施の形態２にかかる学習装置の構成を示すブロック図である。
【図４】本実施の形態２にかかる学習方法の流れを示すフローチャートである。
【図５】本実施の形態３にかかる推定システムの構成を示すブロック図である。
【図６】本実施の形態３にかかる学習方法の流れを示すフローチャートである。
【図７】本実施の形態３にかかる推定方法の流れを示すフローチャートである。
【図８】本実施の形態３にかかる推定処理の階層化の例を示す図である。
【図９】本実施の形態３の実施例３−１にかかるネットワークシステムの構成を示すブロック図である。
【図１０】本実施の形態３の実施例３−２にかかるネットワークシステムの構成を示すブロック図である。
【図１１】本実施の形態３の実施例３−３にかかるネットワークシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００２３】
ここで、本開示の実施の形態により解決しようとする課題の他の側面について補足する。例えば、近年、通信トラヒックの常時暗号化が進んでいるため、ネットワークを流れる暗号化トラヒックが増大している。また、トラヒックも多様化している。そのため、トラヒックの中身を覗くDeep Packet Inspection（ＤＰＩ）の手法には限界がある。また、個人情報保護法の観点により、ＤＰＩそのものが使えなくなる可能性もある。つまり、暗号化やプライバシーの観点から、通信事業者が通信データの中身を見ることは困難である。
【００２４】
また、通信事業者が通信トラヒックから取得できる情報は、単一のパケットのヘッダから読み取れる「５タプル（5-tuple）」や複数のパケットから導出し得るトラヒックパターンがある。ここで、「５タプル」とは、例えば、送信元のＩＰ（Internet Protocol）アドレス、送信元のポート、宛先のＩＰアドレス、宛先のポート、及びプロトコルである。また、トラヒックパターンには、例えば、スループット、パケットサイズ、パケット送信間隔等が含まれる。また、トラヒックフローは、ＩＰヘッダフィールド内に同一の情報を持つパケットのグループ（宛先ＩＰアドレスとポート番号、送信元ＩＰアドレスとポート番号が等しいパケットの集合）で構成される。
【００２５】
しかし、近年、通信の高速化のために通信トラヒックの多重化も進んでいるため、「５タプル」が同一であったとしても、複数のアプリケーションの情報が混在し得る。そのため、通信事業者は、通信トラヒックからアプリケーションを分離することが困難である。よって、通信事業者の提供するネットワーク機器は、通信利用者（例えば端末）がどのようなアプリケーションを使用しているのか、また、そのアプリケーションがいかなる状態で動作しているのかを取得することが困難である。それ故、アプリケーションの利用形態や利用状態に応じた通信制御が困難となる。
【００２６】
＜実施の形態１＞
図１は、本実施の形態１にかかる推定装置１の構成を示すブロック図である。推定装置１は、ネットワーク上の通信装置において観測された通信トラヒックを分析して、当該通信において利用されるアプリケーション等の利用状況に応じた当該通信装置の通信制御に関する制御属性を推定するための情報処理装置である。
【００２７】
推定装置１は、特徴量算出部１１１から１１ｎ（ｎは２以上の自然数。）と、算出部１２と、推定部１３とを備える。特徴量算出部１１１から１１ｎのそれぞれは、通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された機能ブロックである。そのため、特徴量算出部１１１等は、ハードウェアもしくはソフトウェア又はこれらの両方のいずれかにより実現されたものであればよい。そして、特徴量算出部１１１から１１ｎのそれぞれは、複数種類の制御属性のそれぞれに対応したものである。ここで、制御属性とは、上述した通信装置の通信制御に用いられるパラメータ等である。例えば、制御属性には、アプリケーションの種別、アプリケーションの提供元の識別情報、コンテンツの種別、品質情報その他の情報が含まれる。そのため、例えば、特徴量算出部１１１は、第１の制御属性に対応する特徴量の集合である第１の特徴量群を、第１の算出ロジックにより算出する。同様に、特徴量算出部１１ｎは、第ｎの制御属性に対応する特徴量の集合である第ｎの特徴量群を、第ｎの算出ロジックにより算出する。そして、第１の特徴量群から第ｎの特徴量群のそれぞれは、特徴量の集合のうち少なくとも一部が異なる。また、第１の算出ロジックから第ｎの算出ロジックも少なくとも一部の処理が異なる。
【００２８】
算出部１２は、複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する特徴量算出部１１１等を用いて、通信トラヒックから特徴量群のそれぞれを算出する。例えば、算出部１２は、第１の制御属性に対応する特徴量算出部１１１を用いて、通信トラヒックから第１の特徴量群を算出し、第２の制御属性に対応する特徴量算出部１１２を用いて、通信トラヒックから第２の特徴量群を算出する。つまり、算出部１２は、特徴量算出部１１１から１１ｎのうち少なくとも２以上をそれぞれ用いて、各特徴量群を算出する。
【００２９】
推定部１３は、算出部１２により算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する。推定部１３は、例えば、制御属性ごとに応じた推定ロジックを用いて、属性値を推定するものであればよい。例えば、推定部１３は、第１の制御属性に対応する第１の推定ロジックを用いて、第１の特徴量群を入力して第１の制御属性における第１の属性値を推定する。また、推定部１３は、第２の制御属性に対応する第２の推定ロジックを用いて、第２の特徴量群を入力して第２の制御属性における第２の属性値を推定する。
【００３０】
図２は、本実施の形態１にかかる推定方法の流れを示すフローチャートである。まず、算出部１２は、制御属性のうち２以上のそれぞれについて、各制御属性に対応する特徴量算出部１１１等を用いて、通信トラヒックから特徴量群のそれぞれを算出する（Ｓ１１）。そして、推定部１３は、ステップＳ１１により算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する（Ｓ１２）。
【００３１】
このように、本実施形態１により、アプリケーションの利用にかかる通信トラヒックから、通信制御に関する複数種類の制御属性の推定精度を向上させることができる。そのため、推定された属性値を用いて、当該通信において利用されるアプリケーション等の利用状況に応じた当該通信装置の通信制御を行うことができる。
【００３２】
尚、推定装置１は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施形態１にかかる推定方法の処理が実装されたコンピュータプログラム（推定プログラム）が記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、特徴量算出部１１１から１１ｎ並びに算出部１２及び推定部１３の機能を実現する。
【００３３】
または、特徴量算出部１１１から１１ｎ並びに算出部１２及び推定部１３は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array）等を用いることができる。
【００３４】
また、推定装置１の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、推定装置１の機能がＳａａＳ（Software as a Service）形式で提供されてもよい。
【００３５】
また、推定装置１は、複数台のコンピュータにより実現したものであってもよい。また、推定装置１は、上記通信装置に搭載されたものであってもよい。尚、通信装置には、アプリケーションの提供元のサーバ、提供先の端末、ネットワーク中の中継装置、基地局等が含まれるものとする。
【００３６】
また、推定装置１は、通信トラヒックを外部から取得し、内部の記憶装置又はメモリに保存してもよい。そして、前記プロセッサは、記憶装置又はメモリに保存された通信トラヒックに対して特徴量群の算出等をを行うものとする。また、前記プロセッサは、推定した各属性値を内部の記憶装置に保存するか、外部のシステム又は記憶装置へ出力してもよい。
【００３７】
＜実施の形態２＞
図３は、本実施の形態２にかかる学習装置２の構成を示すブロック図である。学習装置２は、ネットワーク上の通信装置において観測された通信トラヒックを分析して、当該通信において利用されるアプリケーション等の利用状況に応じた当該通信装置の通信制御に関する制御属性を推定するための推定モデルを学習する情報処理装置である。
【００３８】
学習装置２は、特徴量算出部２１１から２１ｎと、記憶部２２と、算出部２３と、学習部２４とを備える。特徴量算出部２１１から２１ｎは、上述した特徴量算出部１１１から１１ｎと同等の機能を有するため、説明を省略する。また、制御属性及び特徴量群についても上述した実施形態１と同様である。
【００３９】
記憶部２２は、推定モデル２２１から２２ｎ及び正解２３１から２３ｎを記憶する揮発性又は不揮発性の記憶装置である。推定モデル２２１等は、複数種類の制御属性のそれぞれに対応するものである。そして、推定モデル２２１等は、対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する処理が実装されたプログラムモジュールやモデル式である。例えば、推定モデル２２１等は、特徴量群に含まれる各特徴量を入力データとし、各入力データに所定のパラメータ（重み付け係数）を用いて演算される数学モデルであり、例えば、ニューラルネットワーク等で表現されたものである。また、推定モデル２２１等は、パラメータの設定値に応じて、同じ入力値に対する出力値が変化するものである。また、例えば、推定モデル２２１は、第１の特徴量群から、第１の推定ロジックにより第１の制御属性に対応する第１の属性値を算出する。同様に、推定モデル２２ｎは、第ｎの特徴量群から、第ｎの推定ロジックにより第ｎの制御属性に対応する第ｎの属性値を算出する。
【００４０】
正解２３１等は、複数種類の制御属性のそれぞれにおける属性値の正解データである。つまり、正解２３１は第１の制御属性における第１の属性値の正解となるデータであり、正解２３ｎは第ｎの制御属性における第ｎの属性値の正解となるデータである。
【００４１】
算出部２３は、特徴量算出部２１１から２１ｎのそれぞれを用いて、通信トラヒックから特徴量群のそれぞれを算出する。例えば、算出部２３は、第１の制御属性に対応する特徴量算出部２１１を用いて、通信トラヒックから第１の特徴量群を算出し、第２の制御属性に対応する特徴量算出部２１２を用いて、通信トラヒックから第２の特徴量群を算出する。つまり、算出部２３は、特徴量算出部２１１から２１ｎのそれぞれ用いて、各特徴量群を算出する。
【００４２】
学習部２４は、算出部２３により算出された特徴量群のそれぞれと、正解２３１から２３ｎとを用いて、複数の推定モデル２２１から２２ｎのそれぞれのパラメータを学習し、当該学習された推定モデルを記憶部２２に格納する。例えば、学習部２４は、第１の特徴量群と、正解２３１とを用いて、推定モデル２２１のパラメータを学習し、学習された推定モデル２２１により記憶部２２を更新する。同様に、学習部２４は、第２の特徴量群と、正解２３２とを用いて、推定モデル２２２のパラメータを学習し、学習された推定モデル２２２により記憶部２２を更新する。
【００４３】
図４は、本実施の形態２にかかる学習方法の流れを示すフローチャートである。まず、算出部２３は、特徴量算出部２１１等のそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する（Ｓ２１）。次に、学習部２４は、ステップＳ２１により算出された特徴量群のそれぞれと、正解２３１等のそれぞれとを用いて、推定モデル２２１等のそれぞれのパラメータを学習する（Ｓ２２）。その後、学習部２４は、学習された推定モデル２２１等を記憶部２２に格納する（Ｓ２３）。
【００４４】
このようにして学習された推定モデルと特徴量算出部２１１等を用いることで、推定対象の通信トラヒックから、通信制御に関する複数種類の制御属性の推定精度を向上させることができる。そのため、推定された属性値を用いて、当該通信において利用されるアプリケーション等の利用状況に応じた当該通信装置の通信制御を行うことができる。
【００４５】
尚、学習装置２は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施形態２にかかる学習方法の処理が実装されたコンピュータプログラム（学習プログラム）が記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、特徴量算出部２１１から２１ｎ並びに算出部２３及び学習部２４の機能を実現する。
【００４６】
または、特徴量算出部２１１から２１ｎ並びに算出部２３及び学習部２４は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、ＣＰＵ、ＧＰＵ、ＦＰＧＡ等を用いることができる。
【００４７】
また、学習装置２の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、学習装置２の機能がＳａａＳ形式で提供されてもよい。
【００４８】
また、学習装置２は、複数台のコンピュータにより実現したものであってもよい。また、学習装置２は、上記通信装置に搭載されたものであってもよい。尚、通信装置には、アプリケーションの提供元のサーバ、提供先の端末、ネットワーク中の中継装置、基地局等が含まれるものとする。
【００４９】
また、学習装置２は、通信トラヒック及び正解２３１等を外部から取得し、内部の記憶装置又はメモリに保存してもよい。そして、前記プロセッサは、記憶装置又はメモリに保存された通信トラヒックに対して特徴量群の算出等をを行うものとする。また、前記プロセッサは、学習した推定モデルを外部のシステム又は記憶装置へ出力してもよい。
【００５０】
＜実施の形態３＞
本実施の形態３は、上述した実施の形態１及び２を組み合わせて、推定システムとして実現した実施例である。本実施の形態３にかかる推定システムは、少なくとも、複数の特徴量算出部と、複数の推定モデルと属性値の正解とを記憶する記憶部と、第１の算出部と、学習部と、第２の算出部と、推定部と、を備える。ここで、複数の特徴量算出部は、上述した特徴量算出部１１１等又は特徴量算出部２１１等に相当する。また、記憶部は、上述した記憶部２２に相当する。また、第１の算出部は、上述した算出部２３に相当する。また、学習部は、上述した学習部２４に相当する。また、第２の算出部は、上述した算出部１２に相当する。また、推定部は、上述した推定部１３に相当する。これにより、上述した通り、アプリケーションの利用にかかる通信トラヒックから、通信制御に関する複数種類の制御属性の推定精度を向上させることができる。
【００５１】
ここで、前記複数の特徴量算出部のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されているものとする。これにより、アプリケーション利用中の状態変化等による特徴量の変化を加味して推定精度をより高めることができるため、柔軟な通信制御を実現できる。
【００５２】
また、前記推定システムは、前記複数種類の制御属性の中から一部を選択する選択部をさらに備えることが望ましい。この場合、前記算出部は、前記選択された制御属性に対応する前記特徴量算出部を用いて前記通信トラヒックから前記特徴量群を算出し、前記推定部は、前記算出された特徴量群から当該選択された制御属性の前記属性値を推定する。この後、前記選択部は、前記推定された属性値に基づいて前記複数種類の制御属性のうち未選択の制御属性をさらに選択することが望ましい。これにより、推定された属性値に応じて必要な特徴量算出部を動作させるため、推定処理を効率化できる。
【００５３】
さらに、前記複数種類の制御属性は、複数の階層を有する階層構造により定義されることが望ましい。例えば、前記複数種類の制御属性のうち第１の制御属性が取り得る複数の第１の属性値のそれぞれには、当該第１の制御属性の下位階層である異なる第２の制御属性が属しているものとする。この場合、前記選択部は、前記複数種類の制御属性のうち前記階層構造の上位から下位の順序で選択し、前記推定部により当該選択された制御属性の前記属性値が推定された後に、当該推定された属性値に属する制御属性をさらに選択することが望ましい。このように、制御属性を階層構造に従って最上位から順番に絞り込むことで、全ての特徴量を算出することなく、特徴量算出処理と推定処理の処理時間を効率化、推定装置の計算処理負荷を低減できる。例えば、最上位の制御属性をアプリケーション種別、その下位階層をサイト種別とした場合、アプリケーション種別の数は、サイトの数と比べて圧倒的に少ないため、大半の無関係なサイトの特徴量算出処理を回避できる。
【００５４】
また、前記通信トラヒックは、アプリケーションの利用に際して観測されたものである。そのため、例えば、前記階層構造は、第１階層、その下位の第２階層、さらにその下位の第３階層というように定義してもよい。その場合、前記アプリケーションの利用目的を示す前記第１の制御属性が第１階層に属する。また、前記利用目的ごとに異なる前記アプリケーションの提供元を示す前記第２の制御属性が、前記第１階層の下位の第２階層に属する。また、前記提供元ごとに異なる前記アプリケーションのプロパティを示す第３の制御属性が、前記第２階層の下位の第３階層に属する。
【００５５】
また、推定システムは、前記複数の特徴量算出部のそれぞれをモジュールとして前記階層構造に基づいて階層化して記憶する第１の記憶部をさらに備えるとよい。この場合、前記算出部は、前記第１の記憶部の中から前記選択された制御属性に対応する前記特徴量算出部を特定し、前記特定した特徴量算出部を用いて前記通信トラヒックから前記特徴量群を算出する。これにより、特徴量算出部を制御属性と同様の階層構造に基づき効率的に選択することができる。
【００５６】
また、前記学習部は、前記学習された推定モデルを前記階層構造に基づいて階層化して前記第２の記憶部に格納するとよい。これにより、推定モデルを制御属性と同様の階層構造に基づき効率的に選択することができる。
【００５７】
図５は、本実施の形態３にかかる推定システム３の構成を示すブロック図である。推定システム３は、上述した推定装置１と学習装置２とを統合した情報システムである。尚、推定システム３は、複数台のコンピュータにより実現したものであってもよい。推定システム３は、記憶部３１と、制御部３２と、メモリ３３と、通信ＩＦ（InterFace）部３４とを備える。
【００５８】
記憶部３１は、ハードディスク、フラッシュメモリ等の記憶装置である。また、記憶部３１は、上述した第１の記憶部及び第２の記憶部の具体例である。記憶部３１は、学習用データ３１１と、特徴量算出モジュール３１２１から３１２ｎと、推定モデル３１３１から３１３ｎと、推定対象データ３１４と、制御属性３１５１から３１５ｎと、属性値３１６１から３１６ｐ（ｐは２以上かつｎ未満の自然数。）と、学習プログラム３１７と、推定プログラム３１８とを記憶する。
【００５９】
学習用データ３１１は、推定モデル３１３１等を機械学習するために用いるデータである。学習用データ３１１は、通信トラヒック３１１１と、正解データ３１１２とを含む。通信トラヒック３１１１は、通信装置において所定期間に観測された通信トラヒックの集合である。正解データ３１１２は、上述した正解２３１等に相当し、制御属性ごとの属性値の正解となるデータである。
【００６０】
特徴量算出モジュール３１２１から３１２ｎは、上述した特徴量算出部１１１から１１ｎや特徴量算出部２１１から２１ｎに相当する。特徴量算出モジュール３１２１等は、それぞれが制御属性のいずれかに対応し、通信トラヒック３１１１から特徴量群を算出するソフトウェアモジュールである。推定モデル３１３１から３１３ｎは、上述した推定モデル２２１から２２ｎに相当する。推定モデル３１３１等は、それぞれが制御属性のいずれかに対応し、特徴量群の入力に対し、各パラメータを用いて演算を行って、対応する制御属性の推定値を属性値として算出する。
【００６１】
推定対象データ３１４は、複数種類の制御属性の少なくとも２以上について属性値を推定させるための対象となる入力データである。つまり、推定対象データ３１４に含まれる通信トラヒック３１４１は、通信装置において所定期間に観測されたデータである。
【００６２】
制御属性３１５１から３１５ｎは、複数種類の制御属性に相当する情報である。ここで、制御属性３１５１から３１５ｎは、上述したように複数の階層を有する階層構造により定義されているものとする。例えば、ある上位階層の第１の制御属性が取り得る複数の第１の属性値のそれぞれには、当該第１の制御属性の下位階層である異なる第２の制御属性が属しているものとする。つまりこの場合、制御属性は、最上位階層をルートとした木構造で定義されていることなる。また、本実施の形態の階層構造は、少なくとも２層以上あればよい。尚、制御属性３１５１等は、必ずしもデータとして保持する必要はない。属性値３１６１から３１６ｐは、推定対象のｐ個の制御属性に対応する推定結果としての属性値である。
【００６３】
学習プログラム３１７は、本実施の形態３にかかる学習方法が実装されたコンピュータプログラムである。推定プログラム３１８は。本実施の形態３にかかる推定方法が実装されたコンピュータプログラムである。
【００６４】
ここで、制御属性の階層構造、特徴量算出モジュール及び推定モデルの具体例について説明する。ここでは、３層の場合について説明する。まず、最上位の第１層には、アプリケーションの利用目的を示す第１の制御属性が属するものとする。アプリケーションの利用目的とは、アプリケーションの種別ということもできる。つまり、通信トラヒックにおけるフローにおいてユーザが利用中のアプリケーションの種類を示す。そして、第１の制御属性が「アプリケーションの利用目的」である場合、その取り得る複数の第１の属性値は、例えば「動画再生」、「Ｗｅｂ閲覧」及び「ネットワークカメラ撮影映像再生」等が挙げられる。また、第１層である第１の制御属性に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、単位時間あたりの通信トラヒック量や平均パケットサイズ等を特徴量群として算出することが挙げられる。そして、第１の制御属性に対応付けられた推定モデルは、単位時間あたりの通信トラヒック量や平均パケットサイズ等の特徴量群を入力として、第１の制御属性が取り得る複数の第１の属性値のいずれかを出力（算出、推定）するものである。
【００６５】
次に、第１層の一つ下位の階層である第２層には、アプリケーションの提供元を示す複数の第２の制御属性が属するものとする。つまり、第１層の第１の属性値が「動画再生」の場合、第２層である第２の制御属性は、例えば「動画サイト種別」となり、取り得る複数の第２の属性値は、例えば「サイトＡ」（動画配信サイト）、「サイトＢ」（動画ファイルへのリンクページ等）等が挙げられる。そして、第２の制御属性「動画サイト種別」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、フローの先頭から数パケット分のパケットサイズ、到着間隔、5-tupleの分布等を特徴量群として算出することが挙げられる。そして、第２の制御属性「動画サイト種別」に対応付けられた推定モデルは、フローの先頭から数パケット分のパケットサイズ、到着間隔、5-tupleの分布等の特徴量群を入力として、第２の制御属性が取り得る複数の第２の属性値のいずれかを出力するものである。特に、サイトごとにサーバが異なるため、セッションの確立手順が異なり、サーバの特徴が表れる。よって、当該推定モデルにより「動画サイト種別」の属性値を精度良く、推定できる。
【００６６】
また、第１層の第１の属性値が「Ｗｅｂ閲覧」の場合、第２層である第２の制御属性は、例えば「Ｗｅｂサイト種別」となり、取り得る複数の第２の属性値は、例えば「サイトＣ」、「サイトＤ」等が挙げられる。そして、第２の制御属性「Ｗｅｂサイト種別」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、フローの先頭から数パケット分のパケットサイズ、到着間隔、5-tupleの分布等を特徴量群として算出することが挙げられる。そして、第２の制御属性「Ｗｅｂサイト種別」に対応付けられた推定モデルは、フローの先頭から数パケット分のパケットサイズ、到着間隔、5-tupleの分布等の特徴量群を入力として、第２の制御属性が取り得る複数の第２の属性値のいずれかを出力するものである。特に、サイトごとにサーバが異なるため、セッションの確立手順が異なり、サーバの特徴が表れる。よって、当該推定モデルにより「Ｗｅｂサイト種別」の属性値を精度良く、推定できる。
【００６７】
また、第１層の第１の属性値が「ネットワークカメラ撮影映像再生」の場合、第２層である第２の制御属性は、例えば「カメラ種別」となり、取り得る複数の第２の属性値は、例えば「カメラＥ」（Ｘ社製）、「カメラＦ」（Ｙ社製）等が挙げられる。そして、第２の制御属性「カメラ種別」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、フローの先頭から数パケット分のパケットサイズ、到着間隔等を特徴量群として算出することが挙げられる。そして、第２の制御属性「カメラ種別」に対応付けられた推定モデルは、フローの先頭から数パケット分のパケットサイズ、到着間隔等の特徴量群を入力として、第２の制御属性が取り得る複数の第２の属性値のいずれかを出力するものである。特に、サイトごとにサーバが異なるため、セッションの確立手順が異なり、サーバの特徴が表れる。よって、当該推定モデルにより「カメラ種別」の属性値を精度良く、推定できる。
【００６８】
続いて、第２層の一つ下位の階層である第３層には、前記提供元ごとに異なる前記アプリケーションのプロパティを示す第３の制御属性が属するものとする。例えば、第２層の第２の属性値が「サイトＡ」の場合、第３層である第３の制御属性は、例えば「サイトＡの動画品質」となり、取り得る複数の第３の属性値は、例えば「再生レート」「解像度」などの集合等が挙げられる。そして、第３の制御属性「サイトＡの動画品質」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、通信データ量、パケットサイズの分布等を特徴量群として算出することが挙げられる。そして、第２の制御属性「サイトＡの動画品質」に対応付けられた推定モデルは、フローのうち所定期間の通信データ量、パケットサイズの分布等の特徴量群を入力として、第３の制御属性が取り得る複数の第３の属性値のいずれかを出力するものである。特に、フローの先頭と、中盤、後半では動画品質が異なる場合があり、当該推定モデルにより期間に応じて適切に動画品質を推定することができる。
【００６９】
また、第２層の第２の属性値が「サイトＣ」の場合、第３層である第３の制御属性は、例えば「サイトＣのコンテンツ種別」となり、取り得る複数の第３の属性値は、例えば「ニュース」「ショッピング」等が挙げられる。そして、第３の制御属性「サイトＣのコンテンツ種別」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、総通信データ量、パケットサイズの分布等を特徴量群として算出することが挙げられる。そして、第３の制御属性「サイトＣのコンテンツ種別」に対応付けられた推定モデルは、総通信データ量、パケットサイズの分布等の特徴量群を入力として、第３の制御属性が取り得る複数の第３の属性値のいずれかを出力するものである。例えば、サイトが同じであればフローの先頭パケット付近のトラヒックの特徴は類似するが、異なるサイトであればページのポリシーが異なるため、フロー全体でのデータ量やパケットサイズに特徴が出るため、当該推定モデルにより全期間のトラヒックを加味することで適切にコンテンツ種別を推定することができる。
【００７０】
また、第２層の第２の属性値が「カメラＥ」の場合、第３層である第３の制御属性は、例えば「カメラＥの撮影状態」となり、取り得る複数の第３の属性値は、例えば（被写体の）「移動中」「静止中」等が挙げられる。そして、第３の制御属性「カメラＥの撮影状態」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、通信データ量、パケットサイズの分布等を特徴量群として算出することが挙げられる。そして、第３の制御属性「カメラＥの撮影状態」に対応付けられた推定モデルは、通信データ量、パケットサイズの分布等の特徴量群を入力として、第３の制御属性が取り得る複数の第３の属性値のいずれかを出力するものである。例えば、被写体の撮影状態によって画像圧縮率が変動し、トラヒックパターンが変わるため、当該推定モデルにより適切に撮影状態を推定することができる。
【００７１】
ここで、上述した第２の制御属性「動画サイト種別」に対応付けられた特徴量算出モジュールの処理について一例を説明する。まず、動画サイト種別を識別するために用いられる特徴量群のうち「5-tupleの分布」には、例えば、上位層で動画トラヒックと識別されたフロー群におけるサーバ側のＩＰアドレス数やポート数が含まれる。また、当該特徴量算出モジュールにより算出される特徴量群には、選択したフロー（同一5-tupleのパケット群）の先頭から数パケット分の総データ量やパケットサイズなどの統計量（平均値、最大値、最小値、分散など）を含めることができる。
【００７２】
そして、フローの選択方法には、例えば、次のような処理が挙げられる。
まず、背景として、動画配信では、（１）メインコンテンツをサーバの負荷分散により配信し、（２）広告などの付属コンテンツを他のサイトからダウンロードさせるため、受信側では、複数のフローから動画トラヒックをダウンロードする傾向がある。
【００７３】
そのため、（１）の場合、サーバの負荷を分散することに伴い、受信側端末は、複数のサーバ(複数のＩＰアドレス)の複数のポートから動画データを受信することになる。つまり、サーバ数やポート数は動画サイトごとに異なる。そのため、「動画サイト種別」を識別するための特徴量算出モジュールは、例えば、サーバ数とポート数を特徴量群として算出することが挙げられる。
【００７４】
また、（２）の場合、動画視聴時、純粋に動画データだけを受信することはなく、動画広告などの情報も受信するため、動画広告を配送するためのトラヒック量も特徴ある情報となる。そのため、「動画サイト種別」を識別するための特徴量算出モジュールは、まず、フロー（同一5-tuple）ごとにデータ量を算出し、そのデータ量順にフローをソートする。そして、当該特徴量算出モジュールは、ソート結果においてデータ量の多い上位M_up個のフローを動画配信フローとして選択し、データ量が少ない下位M_low個のフローを広告等の付属コンテンツ配信フローとして選択する。その後、当該特徴量算出モジュールは、選択したM_up個とM_low個のフローのそれぞれに対して、“フローの先頭から数パケット分のパケットサイズ、到着間隔”を特徴量として算出することが挙げられる。
【００７５】
メモリ３３は、ＲＡＭ（Random Access Memory）等の揮発性記憶装置であり、制御部３２の動作時に一時的に情報を保持するための記憶領域である。通信ＩＦ部３４は、推定システム３の外部との入出力を行うインタフェースである。
【００７６】
制御部３２は、推定システム３の各構成を制御するプロセッサつまり制御装置である。制御部３２は、学習ブロック３２１と、推定ブロック３２２とを備える。学習ブロック３２１は、算出部３２１１と、学習部３２１２とを含む。算出部３２１１は、上述した第１の算出部の具体例であり、特徴量算出モジュール３１２１から３１２ｎの全てに対して、通信トラヒック３１１１を入力して、それぞれの特徴量群を算出する。学習部３２１２は、上述した学習部２４の具体例であり、算出部３２１１により算出された制御属性ごとの特徴量群のそれぞれと、正解データ３１１２とを用いて、対応する推定モデル３１３１から３１３ｎのパラメータを機械学習する。そして、学習部３２１２は、学習された推定モデル３１３１から３１３ｎを階層構造に基づいて階層化して記憶部３１に格納、更新する。
【００７７】
推定ブロック３２２は、選択部３２２１と、算出部３２２２と、推定部３２２３とを備える。選択部３２２１は、制御属性の階層構造の上位から下位の順序で制御属性を選択する。そして、選択部３２２１は、当該選択された制御属性の属性値が推定部３２２３により推定された後に、当該推定された属性値に属する制御属性をさらに選択する。
【００７８】
算出部３２２２は、選択された制御属性に対応する特徴量算出モジュール３１２１から３１２ｎを記憶部３１の中から特定し、特定した特徴量算出モジュールを用いて、通信トラヒック３１４１から特徴量群を算出する。推定部３２２３は、算出部３２２２により算出された特徴量群から当該選択された制御属性の属性値を推定する。
【００７９】
尚、制御部３２は、記憶部３１から学習プログラム３１７及び推定プログラム３１８をメモリ３３へ読み込み、学習プログラム３１７及び推定プログラム３１８を実行する。これにより、制御部３２は、学習ブロック３２１及び推定ブロック３２２の機能を実現する。
【００８０】
図６は、本実施の形態３にかかる学習方法の流れを示すフローチャートである。まず、算出部３２１１は、記憶部３１から通信トラヒック３１１１、特徴量算出モジュール３１２１から３１２ｎを読み出し、各特徴量算出モジュールに対して通信トラヒック３１１１を入力し、それぞれの特徴量群を算出する（Ｓ３１）。
【００８１】
次に、学習部３２１２は、記憶部３１から正解データ３１１２、推定モデル３１３１から３１３ｎを読み出し、ステップＳ３１により算出された特徴量群のそれぞれと、正解データ３１１２とを用いて、推定モデル３１３１等のそれぞれのパラメータを学習する（Ｓ３２）。その後、学習部３２１２は、学習された推定モデル３１３１等を記憶部３１に格納する（Ｓ３３）。
【００８２】
図７は、本実施の形態３にかかる推定方法の流れを示すフローチャートである。まず、選択部３２２１は、観測された通信トラヒック３１４１を外部当から取得し（Ｓ４１）、記憶部３１に格納する。次に、選択部３２２１は、階層構造に基づいて最上位階層の制御属性を選択する（Ｓ４２）。
【００８３】
そして、算出部３２２２は、ステップＳ４２において選択された制御属性に対応する特徴量算出モジュールを記憶部３１の中から特定して読み出す。ここでは、最上位階層の制御属性に対応する特徴量算出モジュールが特定される。そして、算出部３２２２は、記憶部３１から通信トラヒック３１４１を読み出し、特定した特徴量算出モジュールに通信トラヒック３１４１を入力して特徴量群を算出する（Ｓ４３）。
【００８４】
続いて、推定部３２２３は、ステップＳ４２において選択された制御属性に対応する推定モデルを記憶部３１の中から特定して読み出す。ここでは、最上位階層の制御属性に対応する推定モデルが特定される。尚、記憶部３１内の各推定モデルは、学習用データ３１１により機械学習済みである。
【００８５】
そして、推定部３２２３は、ステップＳ４３により算出された特徴量群を、特定した推定モデルに入力して属性値を推定する（Ｓ３４）。ここでは、最上位階層の制御属性に対応する属性値が算出される。
【００８６】
その後、選択部３２２１は、階層構造に基づき、選択された制御属性より下位階層があるか否かを判定する（Ｓ４５）。ここでは、最上位階層の１つ下位に第２階層があるため、ステップＳ４６へ進む。そして、選択部３２２１は、ステップＳ４４により推定された属性値が属する下位階層の制御属性を選択する（Ｓ４６）。以後、ステップＳ４３からＳ４６を繰り替えし、ステップＳ４５でＮＯと判定された場合に、当該推定処理を終了する。
【００８７】
図８は、本実施の形態３にかかる推定処理の階層化の例を示す図である。ここでは、通信トラヒック３１４１が取得された場合に、まず、第１階層「アプリケーション種別」の第１の属性値の推定（識別、判定）が行われる。そして、選択部３２２１が推定された第１の属性値が「動画再生」「Ｗｅｂ閲覧」「ネットワークカメラ撮影映像再生」のいずれかを判定し、第２階層の制御属性を選択する（Ｓ３６）。同様に、選択された第２階層の制御属性の第２の属性値が推定される。そして、選択部３２２１が第２の属性値を判定し、第３階層の制御属性を選択する。そして、同様に、選択された第３階層の制御属性の第３の属性値が推定される。そのため、第２階層又は第３階層に属するものの選択されなかった大半の制御属性に対応する特徴量算出処理及び推定処理は実行されない。よって、本実施の形態にかかる推定方法は、実施形態１の推定方法と比べて非常に効率的に推定を行うことができる。
【００８８】
さらに、階層構造の最上位階層には、下位階層と比べて選択肢が少ないアプリケーション種別を設定しているため、多数存在するサイトごとの特徴量算出処理等を省略することができる。
【００８９】
ここで、本実施の形態３にかかる３つの実施例における構成について説明する。図９は、本実施の形態３の実施例３−１にかかるネットワークシステム４００の構成を示すブロック図である。ネットワークシステム４００は、パケットキャプチャ４１０、トラヒック分析装置４２０、端末４３０、ネットワークノード４５０、サーバ４６０を含む。ここで、パケットキャプチャ（パケットモニタ）４１０は、通信ネットワーク４４０を流れるプロトコルデータ単位（Protocol Data Unit(PDU)）であるパケット（フレーム）をキャプチャする。そして、パケットキャプチャ４１０は、キャプチャしたパケットのヘッダ等を解析し、例えば、パケットの送信元アドレス、送信先アドレス、ポート、長さ（パケットサイズ）、パケット頻度、パケット送信時間間隔等を解析する。尚、ＰＤＵは、ＩＳＯ（International Organization for Standardization）のＯＳＩ（Open System Interconnection）参照モデルのデータリンク層（レイヤ２（L2））では「フレーム」、ネットワーク層（レイヤ３（L3））では「パケット」という。
【００９０】
パケットキャプチャ４１０は、通信ネットワーク４４０内の配置されたネットワークノード４５０等に接続し、通信ネットワーク４４０上に流れるパケット、例えば端末４３０とサーバ４６０間で送信及び受信されるパケットをキャプチャする。ここで、ネットワークノード４５０は、例えばルータ（L3スイッチ）等の中継装置である。そして、ネットワークノード４５０は、モニタ対象の１つ又は複数のポート（複製元ポート）をパケットキャプチャ４１０が接続するポート（複製先ポート）にミラーリングする。これにより、パケットキャプチャ４１０は、ネットワークノード４５０のポートを通過するすべての送受信パケットをモニタすることができる。パケットキャプチャ４１０は、ネットワークインタフェースカード（NIC）をプロミスキャストモード（promiscuous mode）に設定し、自分宛のデータパケットではない信号も取り込むようにする。パケットキャプチャ４１０は、パケットの宛先、送信元のIPアドレス当を参照するだけでよい。このため、リクエストヘッダ等を含めて通信トラヒックは暗号化されていてもよい。
【００９１】
尚、図９において、ネットワークノード４５０は、コアネットワーク内のゲートウェイノード又は無線アクセスネットワークの基地局等であってもよい。トラヒック分析装置４２０は、パケットキャプチャ４１０により算出された、端末４３０とサーバ４６０間又は端末間の通信トラヒック（スループット）の時系列データを取得し、トラヒックの解析を行う。さらに、トラヒック分析装置４２０は、特徴量算出モジュール３１２１等と、学習済みの推定モデル３１３１等とを内部で保持しており、これらを用いて推定ブロック３２２として動作するものとする。よって、パケットキャプチャ４１０及びトラヒック分析装置４２０をまとめて本実施の形態３にかかる推定システム３０とみなしてもよい。
【００９２】
図１０は、本実施の形態３の実施例３−２にかかるネットワークシステム４００ａの構成を示すブロック図である。ネットワークシステム４００ａは、図９におけるパケットキャプチャ４１０内にトラヒック分析装置４２０を実装し、トラヒック分析装置４２０ａつまり、推定システム３０ａとしたものである。
【００９３】
図１１は、本実施の形態３の実施例３−３にかかるネットワークシステム４００ｂの構成を示すブロック図である。ネットワークシステム４００ｂは、図１０におけるネットワークノード４５０内にトラヒック分析装置４２０ａ実装し、トラヒック分析装置４２０ｂつまり、推定システム３０ａとしたものである。トラヒック分析装置４２０ｂは、通信ネットワーク４４０内のノードであり、例えば、ルータ等の中継装置、無線基地局、ＭＥＣ（Mobile Edge Computing）サーバ、コアネットワーク上のゲートウェイやサーバ等であってもよい。
【００９４】
または、端末４３０又は端末４３０と通信するサーバ４６０内にトラヒック分析装置を実装し、端末４３０に流れてくるパケット、又は、端末４３０からサーバ４６０へ送信されるパケットをキャプチャし、トラヒックを解析するようにしてもよい。尚、図９から図１１の通信ネットワーク４４０は、端末間の音声通話サービス（Voice Over IP等）を提供するものであってもよい。
【００９５】
尚、上述した制御属性「アプリケーションの利用目的（アプリケーションの種別）」に対応する特徴量算出モジュール及び推定モデルについては、次のような方法で実現してもよい。
【００９６】
例えば、推定ブロック３２２は、次の第１ユニット及び第２ユニットの機能を有してもよい。第１ユニットは、通信トラヒックの時系列データに対して、階層マルコフモデル（Hierarchical Hidden Markov Model）に基づき、状態のシーケンスを推定する。そして、第１ユニットは、前記状態のシーケンスから類似するパターンをひとまとめにして（１つのグループにグループ化して）１つの状態とみなした上で、状態のシーケンスを抽出する。続いて、第２ユニットは、第１ユニットで抽出された状態のシーケンスと、予め記憶部に記憶されたアプリケーション特性とを照合し、時系列データに対応するアプリケーション状態を判別、つまり推定する。ここで、アプリケーション状態とは、アプリケーションの種別や動作モードを含むものとする。
【００９７】
または、推定ブロック３２２は、まず、解析対象の通信トラヒックの情報（例えば、スループット等の特徴量）を取得する。ここで、通信トラヒックの情報は、単位時間当たりのパケット到着間隔（平均値）（秒）、単位時間当たりの平均パケットサイズ（平均値）（バイト）、単位時間当たりのパケット数等がすでに算出済みであってもよい。
【００９８】
そして、推定ブロック３２２は、通信トラヒックの時系列データから通信ノイズを算出し除去する。そして、推定ブロック３２２は、階層ＨＭＭに基づき、通信トラヒックの時系列データから状態シーケンスを抽出し、疑似パターンを１つの状態にまとめ、状態シーケンスの正規化処理を行う。その後、推定ブロック３２２は、正規化した状態シーケンスを予め記憶されているアプリケーション特性と照合し、通信トラヒックの時系列データに対応するアプリ状態を判定するようにしてもよい。
【００９９】
また、例えば、推定ブロック３２２は、通信トラヒックの時系列データの変動波形（変動頻度、変動の大きさ）から推定された状態の変動を確率的に算出し、不要な変動パターンを除去するように、時系列データの抽象度を上げ、状態シーケンスとアプリケーション特性おに基づき、アプリケーションの種別を判定してもよい。
【０１００】
さらに、上述したアプリケーション状態を判定する際に、機械学習された推定モデルを用いてもよい。例えば、学習用データとして、アプリケーション状態の通信トラヒックの時系列データを解析して、通信周期、通信期間、非通信期間、最大スループットなどの特徴量を抽出する。そして、トレーニングデータと、アプリケーション状態の正解ラベルと、データに基づき機械学習によりアプリケーション状態を判別するための分類器（分類モデル）を生成してもよい。ここで、「データ」には、例えば、通信トラヒックの特徴量の平均値、分散、最大値、最小値当の少なくともいずれかが含まれる。そして、推定対象の通信トラヒックから抽出した特徴量に対して、学習済み分類器を用いてアプリケーション状態を推定してもよい。
【０１０１】
これらにより、通信トラヒックの時系列データからアプリケーション状態を推定するにあたり、誤判定の発生を抑制し、推定精度を向上することができる。
【０１０２】
または、トラヒックデータを分析してアプリケーション種別を識別する技術として、上述した特許文献１を用いてもよい。
【０１０３】
＜その他の実施の形態＞
尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【０１０４】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１０５】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【０１０６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記Ａ１）
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出部を用いて前記通信トラヒックから前記特徴量群のそれぞれを算出する算出部と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部と、
を備える推定装置。
（付記Ａ２）
前記複数の特徴量算出部のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
付記Ａ１に記載の推定装置。
（付記Ａ３）
前記複数種類の制御属性の中から一部を選択する選択部をさらに備え、
前記算出部は、前記選択された制御属性に対応する前記特徴量算出部を用いて前記通信トラヒックから前記特徴量群を算出し、
前記推定部は、前記算出された特徴量群から当該選択された制御属性の前記属性値を推定し、
前記選択部は、前記推定された属性値に基づいて前記複数種類の制御属性のうち未選択の制御属性をさらに選択する
付記Ａ１又はＡ２に記載の推定装置。
（付記Ａ４）
前記複数種類の制御属性は、複数の階層を有する階層構造により定義され、
前記複数種類の制御属性のうち第１の制御属性が取り得る複数の第１の属性値のそれぞれには、当該第１の制御属性の下位階層である異なる第２の制御属性が属しており、
前記選択部は、
前記複数種類の制御属性のうち前記階層構造の上位から下位の順序で選択し、
前記推定部により当該選択された制御属性の前記属性値が推定された後に、当該推定された属性値に属する制御属性をさらに選択する
付記Ａ３に記載の推定装置。
（付記Ａ５）
前記通信トラヒックは、アプリケーションの利用に際して観測されたものであり、
前記階層構造は、
前記アプリケーションの利用目的を示す前記第１の制御属性が第１階層に属し、
前記利用目的ごとに異なる前記アプリケーションの提供元を示す前記第２の制御属性が、前記第１階層の下位の第２階層に属し、
前記提供元ごとに異なる前記アプリケーションのプロパティを示す第３の制御属性が、前記第２階層の下位の第３階層に属する
ように定義されている
付記Ａ４に記載の推定装置。
（付記Ａ６）
前記複数の特徴量算出部のそれぞれをモジュールとして前記階層構造に基づいて階層化して記憶する第１の記憶部をさらに備え、
前記算出部は、
前記第１の記憶部の中から前記選択された制御属性に対応する前記特徴量算出部を特定し、
前記特定した特徴量算出部を用いて前記通信トラヒックから前記特徴量群を算出する
付記Ａ４又はＡ５に記載の推定装置。
（付記Ａ７）
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から前記属性値を推定する複数の推定モデルを記憶する第２の記憶部をさらに備え、
前記推定部は、
前記複数の推定モデルのうち前記選択された制御属性に対応する推定モデルを用いて、当該選択された制御属性に対応する前記特徴量算出部を用いて算出された前記特徴量群から、当該選択された制御属性の前記属性値を推定する
付記Ａ３乃至Ａ６のいずれか１項に記載の推定装置。
（付記Ａ８）
前記複数の特徴量算出部のそれぞれを用いて算出された前記特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記第２の記憶部に格納する学習部をさらに備える
付記Ａ７に記載の推定装置。
（付記Ａ９）
前記学習部は、
前記学習された推定モデルを前記階層構造に基づいて階層化して前記第２の記憶部に格納する
付記Ａ４に従属する付記Ａ８に記載の推定装置。
（付記Ａ１０）
前記複数の推定モデルのそれぞれは、
対応する制御属性が共通する前記特徴量算出部を用いて算出された前記特徴量群と、当該制御属性の正解とを用いてパラメータが学習されたものである、
付記Ａ７に記載の推定装置。
（付記Ｂ１）
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶部と、
前記複数の特徴量算出部のそれぞれにより、学習対象の前記通信トラヒックから算出された前記特徴量群のそれぞれを算出する第１の算出部と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶部に格納する学習部と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出部を用いて、推定対象の前記通信トラヒックから前記特徴量群のそれぞれを算出する第２の算出部と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部と、
を備える推定システム。
（付記Ｂ２）
前記複数の特徴量算出部のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
付記Ｂ１に記載の推定システム。
（付記Ｃ１）
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する
推定方法。
（付記Ｄ１）
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する処理と、
をコンピュータに実行させる推定プログラム。
（付記Ｅ１）
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶部と、
前記複数の特徴量算出部のそれぞれを用いて、前記通信トラヒックから前記特徴量群のそれぞれを算出する算出部と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶部に格納する学習部と、
を備える学習装置。
（付記Ｅ２）
前記複数の特徴量算出部のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
付記Ｅ１に記載の学習装置。
（付記Ｅ３）
前記複数種類の制御属性は、複数の階層を有する階層構造により定義され、
前記学習部は、
前記学習された推定モデルを前記階層構造に基づいて階層化して前記記憶部に格納する
付記Ｅ１又はＥ２に記載の学習装置。
（付記Ｆ１）
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習し、
前記学習された推定モデルを記憶装置に格納する
学習方法。
（付記Ｇ１）
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習する処理と、
前記学習された推定モデルを記憶装置に格納する処理と
をコンピュータに実行させる学習プログラム。
【０１０７】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１０８】
この出願は、２０１８年１０月１５日に出願された日本出願特願２０１８−１９４２５４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１０９】
１  推定装置
１１１  特徴量算出部
１１ｎ  特徴量算出部
１２  算出部
１３  推定部
２  学習装置
２１１  特徴量算出部
２１ｎ  特徴量算出部
２２  記憶部
２２１  推定モデル
２２ｎ  推定モデル
２３１  正解
２３ｎ  正解
２３  算出部
２４  学習部
３  推定システム
３０  推定システム
３０ａ  推定システム
３０ｂ  推定システム
３１  記憶部
３１１  学習用データ
３１１１  通信トラヒック
３１１２  正解データ
３１２１  特徴量算出モジュール
３１２ｎ  特徴量算出モジュール
３１３１  推定モデル
３１３ｎ  推定モデル
３１４  推定対象データ
３１４１  通信トラヒック
３１５１  制御属性
３１５ｎ  制御属性
３１６１  属性値
３１６ｐ  属性値
３１７  学習プログラム
３１８  推定プログラム
３２  制御部
３２１  学習ブロック
３２１１  算出部
３２１２  学習部
３２２  推定ブロック
３２２１  選択部
３２２２  算出部
３２２３  推定部
３３  メモリ
３４  通信ＩＦ部
４００  ネットワークシステム
４００ａ  ネットワークシステム
４００ｂ  ネットワークシステム
４１０  パケットキャプチャ
４２０  トラヒック分析装置
４２０ａ  トラヒック分析装置
４２０ｂ  トラヒック分析装置
４３０  端末
４４０  通信ネットワーク
４５０  ネットワークノード
４６０  サーバ
【図１】
2020079986.tif 000003
【図２】
2020079986.tif 000004
【図３】
2020079986.tif 000005
【図４】
2020079986.tif 000006
【図５】
2020079986.tif 000007
【図６】
2020079986.tif 000008
【図７】
2020079986.tif 000009
【図８】
2020079986.tif 000010
【図９】
2020079986.tif 000011
【図１０】
2020079986.tif 000012
【図１１】
2020079986.tif 000013
【手続補正書】
【提出日】令和3年4月2日(2021.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出部を用いて前記通信トラヒックから前記特徴量群のそれぞれを算出する算出部と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部と、
を備える推定装置。
【請求項２】
前記複数の特徴量算出部のそれぞれは、前記通信トラヒックのうち対応する制御属性に応じた測定区間から前記特徴量群を算出する処理が実装されている
請求項１に記載の推定装置。
【請求項３】
前記複数種類の制御属性の中から一部を選択する選択部をさらに備え、
前記算出部は、前記選択された制御属性に対応する前記特徴量算出部を用いて前記通信トラヒックから前記特徴量群を算出し、
前記推定部は、前記算出された特徴量群から当該選択された制御属性の前記属性値を推定し、
前記選択部は、前記推定された属性値に基づいて前記複数種類の制御属性のうち未選択の制御属性をさらに選択する
請求項１又は２に記載の推定装置。
【請求項４】
前記複数種類の制御属性は、複数の階層を有する階層構造により定義され、
前記複数種類の制御属性のうち第１の制御属性が取り得る複数の第１の属性値のそれぞれには、当該第１の制御属性の下位階層である異なる第２の制御属性が属しており、
前記選択部は、
前記複数種類の制御属性のうち前記階層構造の上位から下位の順序で選択し、
前記推定部により当該選択された制御属性の前記属性値が推定された後に、当該推定された属性値に属する制御属性をさらに選択する
請求項３に記載の推定装置。
【請求項５】
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶部と、
前記複数の特徴量算出部のそれぞれにより、学習対象の前記通信トラヒックから算出された前記特徴量群のそれぞれを算出する第１の算出部と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶部に格納する学習部と、
前記複数種類の制御属性のうち２以上のそれぞれについて、各制御属性に対応する前記特徴量算出部を用いて、推定対象の前記通信トラヒックから前記特徴量群のそれぞれを算出する第２の算出部と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する推定部と、
を備える推定システム。
【請求項６】
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する
推定方法。
【請求項７】
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのうち２以上の各制御属性に対応するものを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれから当該２以上の制御属性のそれぞれの属性値を推定する処理と、
をコンピュータに実行させる推定プログラム。
【請求項８】
通信トラヒックから通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装され、かつ、当該複数種類の制御属性のそれぞれに対応した複数の特徴量算出部と、
前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルと、前記複数種類の制御属性のそれぞれにおける前記属性値の正解と、を記憶する記憶部と、
前記複数の特徴量算出部のそれぞれを用いて、前記通信トラヒックから前記特徴量群のそれぞれを算出する算出部と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における前記属性値の正解とを用いて、前記複数の推定モデルのそれぞれのパラメータを学習し、当該学習された推定モデルを前記記憶部に格納する学習部と、
を備える学習装置。
【請求項９】
コンピュータが、
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出し、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習し、
前記学習された推定モデルを記憶装置に格納する
学習方法。
【請求項１０】
通信制御に関する複数種類の制御属性ごとに異なる特徴量群を算出する処理が実装された複数の特徴量算出モジュールのそれぞれを用いて、通信トラヒックから前記制御属性ごとに特徴量群のそれぞれを算出する処理と、
前記算出された特徴量群のそれぞれと、各特徴量群に対応する制御属性における属性値の正解とを用いて、前記複数種類の制御属性のそれぞれに対応し、かつ、当該対応する前記特徴量群から当該対応する制御属性のそれぞれの属性値を推定する複数の推定モデルのそれぞれのパラメータを学習する処理と、
前記学習された推定モデルを記憶装置に格納する処理と
をコンピュータに実行させる学習プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
また、学習装置２は、通信トラヒック及び正解２３１等を外部から取得し、内部の記憶装置又はメモリに保存してもよい。そして、前記プロセッサは、記憶装置又はメモリに保存された通信トラヒックに対して特徴量群の算出等を行うものとする。また、前記プロセッサは、学習した推定モデルを外部のシステム又は記憶装置へ出力してもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
また、前記学習部は、前記学習された推定モデルを前記階層構造に基づいて階層化して第２の記憶部に格納するとよい。これにより、推定モデルを制御属性と同様の階層構造に基づき効率的に選択することができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
続いて、第２層の一つ下位の階層である第３層には、前記提供元ごとに異なる前記アプリケーションのプロパティを示す第３の制御属性が属するものとする。例えば、第２層の第２の属性値が「サイトＡ」の場合、第３層である第３の制御属性は、例えば「サイトＡの動画品質」となり、取り得る複数の第３の属性値は、例えば「再生レート」「解像度」などの集合等が挙げられる。そして、第３の制御属性「サイトＡの動画品質」に対応付けられた特徴量算出モジュールは、例えば、通信トラヒックから、通信データ量、パケットサイズの分布等を特徴量群として算出することが挙げられる。そして、第３の制御属性「サイトＡの動画品質」に対応付けられた推定モデルは、フローのうち所定期間の通信データ量、パケットサイズの分布等の特徴量群を入力として、第３の制御属性が取り得る複数の第３の属性値のいずれかを出力するものである。特に、フローの先頭と、中盤、後半では動画品質が異なる場合があり、当該推定モデルにより期間に応じて適切に動画品質を推定することができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
図７は、本実施の形態３にかかる推定方法の流れを示すフローチャートである。まず、選択部３２２１は、観測された通信トラヒック３１４１を外部等から取得し（Ｓ４１）、記憶部３１に格納する。次に、選択部３２２１は、階層構造に基づいて最上位階層の制御属性を選択する（Ｓ４２）。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
そして、推定部３２２３は、ステップＳ４３により算出された特徴量群を、特定した推定モデルに入力して属性値を推定する（Ｓ４４）。ここでは、最上位階層の制御属性に対応する属性値が算出される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
パケットキャプチャ４１０は、通信ネットワーク４４０内の配置されたネットワークノード４５０等に接続し、通信ネットワーク４４０上に流れるパケット、例えば端末４３０とサーバ４６０間で送信及び受信されるパケットをキャプチャする。ここで、ネットワークノード４５０は、例えばルータ（L3スイッチ）等の中継装置である。そして、ネットワークノード４５０は、モニタ対象の１つ又は複数のポート（複製元ポート）をパケットキャプチャ４１０が接続するポート（複製先ポート）にミラーリングする。これにより、パケットキャプチャ４１０は、ネットワークノード４５０のポートを通過するすべての送受信パケットをモニタすることができる。パケットキャプチャ４１０は、ネットワークインタフェースカード（NIC）をプロミスキャストモード（promiscuous mode）に設定し、自分宛のデータパケットではない信号も取り込むようにする。パケットキャプチャ４１０は、パケットの宛先、送信元のIPアドレス等を参照するだけでよい。このため、リクエストヘッダ等を含めて通信トラヒックは暗号化されていてもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
また、例えば、推定ブロック３２２は、通信トラヒックの時系列データの変動波形（変動頻度、変動の大きさ）から推定された状態の変動を確率的に算出し、不要な変動パターンを除去するように、時系列データの抽象度を上げ、状態シーケンスとアプリケーション特性に基づき、アプリケーションの種別を判定してもよい。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
さらに、上述したアプリケーション状態を判定する際に、機械学習された推定モデルを用いてもよい。例えば、学習用データとして、アプリケーション状態の通信トラヒックの時系列データを解析して、通信周期、通信期間、非通信期間、最大スループットなどの特徴量を抽出する。そして、トレーニングデータと、アプリケーション状態の正解ラベルと、データに基づき機械学習によりアプリケーション状態を判別するための分類器（分類モデル）を生成してもよい。ここで、「データ」には、例えば、通信トラヒックの特徴量の平均値、分散、最大値、最小値等の少なくともいずれかが含まれる。そして、推定対象の通信トラヒックから抽出した特徴量に対して、学習済み分類器を用いてアプリケーション状態を推定してもよい。
【国際調査報告】
2020079986.tif 000014
2020079986.tif 000015