(57)【要約】  トラフィックをモニタしリアルタイムでモード判定を行う場合の判定精度を向上可能とする。学習用のトラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ部と、モードの切り替わりの前記タイミングに対応する前記学習用のトラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、を備え、前記モード学習モデルを用いてトラフィックデータのモード判定を行う。
2018131561.tif 000002
【特許請求の範囲】
【請求項１】
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ部と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定部と、
を備えた、ことを特徴とするモード判定装置。
【請求項２】
前記モード判定部は、前記フィルタ部で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いてモードの判定を行う、ことを特徴とする請求項１に記載のモード判定装置。
【請求項３】
前記フィルタ部は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づき、モードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを、前記モード判定部に供給する、ことを特徴とする請求項１又は２に記載のモード判定装置。
【請求項４】
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判別して前記教師データを作成する教師データ作成部をさらに備えたことを特徴とする請求項１乃至３のいずれか１項に記載のモード判定装置。
【請求項５】
前記モード判定部での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成部をさらに備えた、ことを特徴とする請求項１乃至４のいずれか１項に記載のモード判定装置。
【請求項６】
ネットワークに流れるパケットを補足するパケット取得部を備えた、ことを特徴とする請求項１乃至５のいずれか１項に記載のモード判定装置。
【請求項７】
前記フィルタ部は、学習フェーズにおいて、
前記パケット取得部で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判別し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習部に供給する、ことを特徴とする請求項６に記載のモード判定装置。
【請求項８】
前記フィルタ部は、判定フェーズにおいて、
前記パケット取得部で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否か判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定部に供給する、ことを特徴とする請求項７に記載のモード判定装置。
【請求項９】
前記モード学習部は、前記フィルタ部から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、ことを特徴とする請求項７又は８に記載のモード判定装置。
【請求項１０】
前記モード判定部は、前記フィルタ部から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、ことを特徴とする請求項９に記載のモード判定装置。
【請求項１１】
コンピュータを用いたモード判定方法であって、
学習用トラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ工程と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習工程と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定工程と、
を含む、ことを特徴とするモード判定方法。
【請求項１２】
前記モード判定工程では、前記フィルタ工程で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いて、モードの判定を行う、ことを特徴とする請求項１１に記載のモード判定方法。
【請求項１３】
前記フィルタ工程は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づきモードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを前記モード判定工程に供給する、ことを特徴とする請求項１２に記載のモード判定方法。
【請求項１４】
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判定して前記教師データを作成する教師データ作成工程をさらに含む、ことを特徴とする請求項１１乃至１３のいずれか１項に記載のモード判定方法。
【請求項１５】
前記モード判定工程での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成工程をさらに含む、ことを特徴とする請求項１１乃至１４のいずれか１項に記載のモード判定方法。
【請求項１６】
ネットワークに流れるパケットを補足するパケット取得工程を含む、ことを特徴とする請求項１１乃至１５のいずれか１項に記載のモード判定方法。
【請求項１７】
前記フィルタ工程は、学習フェーズにおいて、
前記パケット取得工程で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判定し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習工程に供給する、ことを特徴とする請求項１６に記載のモード判定方法。
【請求項１８】
前記フィルタ工程は、判定フェーズにおいて、
前記パケット取得工程で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否かを判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定工程に供給する、ことを特徴とする請求項１７に記載のモード判定方法。
【請求項１９】
前記モード学習工程は、前記フィルタ工程から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、ことを特徴とする請求項１７又は１８に記載のモード判定方法。
【請求項２０】
前記モード判定工程は、前記フィルタ工程から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、ことを特徴とする請求項１９に記載のモード判定方法。
【請求項２１】
学習用トラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ処理と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習処理と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定処理と、をコンピュータに実行させるプログラム。
【請求項２２】
前記モード判定処理では、前記フィルタ処理で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いて、モードの判定を行う、請求項２１に記載のプログラム。
【請求項２３】
前記フィルタ処理は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づきモードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを前記モード判定処理に供給する、請求項２２に記載のプログラム。
【請求項２４】
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判定して前記教師データを作成する教師データ作成処理をさらに前記コンピュータに実行させる、請求項２１乃至２３のいずれか１項に記載のプログラム。
【請求項２５】
前記モード判定処理での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成処理をさらに前記コンピュータに実行させる、請求項２１乃至２４のいずれか１項に記載のプログラム。
【請求項２６】
ネットワークに流れるパケットを補足するパケット取得処理をさらに前記コンピュータに実行させる、請求項２１乃至２５のいずれか１項に記載のプログラム。
【請求項２７】
前記フィルタ処理は、学習フェーズにおいて、
前記パケット取得処理で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判定し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習処理に供給する、請求項２６に記載のプログラム。
【請求項２８】
前記フィルタ処理は、判定フェーズにおいて、
前記パケット取得処理で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否かを判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定処理に供給する、請求項２７に記載のプログラム。
【請求項２９】
前記モード学習処理は、前記フィルタ処理から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、請求項２７又は２８に記載のプログラム。
【請求項３０】
前記モード判定処理は、前記フィルタ処理から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、請求項２９に記載のプログラム。
【請求項３１】
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタと、モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、を備え、前記モード学習モデルを用いてトラフィックデータのモード判定を行うモード判定装置と、
前記モード判定装置のモード判定結果に基づき、ネットワークのトラフィックを制御するネットワーク制御装置と、
を備えた、ことを特徴とするネットワークシステム。
【請求項３２】
前記モード判定装置は、前記フィルタ部で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いてモードの判定を行うモード判定部を備えた、ことを特徴とする請求項３１に記載のネットワークシステム。
【請求項３３】
前記モード判定装置において、前記フィルタ部は、判定フェーズにおいて、前記実トラフィックデータを入力し、前記学習したタイミングに基づき、モードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを、前記モード判定部に供給する、ことを特徴とする請求項３２に記載のネットワークシステム。
【請求項３４】
請求項１乃至１０のいずれか一に記載のモード判定装置を備えたモバイル・エッジ・コンピューティング（ＭＥＣ）装置。
【請求項３５】
請求項１乃至１０のいずれか一に記載のモード判定装置を備えたコンテキストアウェアエンジン装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１７−００２１５８号（２０１７年  １月１０日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ネットワークシステム、モード判定装置、方法、プログラムに関する。
【背景技術】
【０００２】
ネットワークを介したシステム（ネットワーク化システム）において、エンド・ツー・エンドの応答時間は、アプリケーションのＱｏＥ（Quality of Experience：「ユーザ体感品質」ともいう）に大きな影響を与える。例えば、オンラインゲーム等インタラクティブ型のアプリケーションでは、双方向通信が行われ、ユーザ端末からの操作入力を受け取ったサーバが端末に表示する画面情報を端末に転送する。このため、応答時間や遅延、ジッター等は、ユーザエクスペリエンス（ＵＸ）に影響を与える。一方、サーバから端末へのバッチ型アプリケーションでは、例えば帯域幅が問題となる。上記ユーザエクスペリエンス品質がＱｏＥに対応する。【０００３】
アプリケーションのモード毎に、ＱｏＳ（Quality of Service）（例えば帯域幅や伝送遅延等）やＱｏＥ要件を満たすための条件（例えば応答時間）やトラフィックパターン（データ量、周期）が異なることが知られている。アプリケーションのモード単位の細粒度なＱｏＳやＯｏＥを確保するためには、何らかの方法でアプリケーションのモードを推定する必要がある。【０００４】
一方、対象となる既存のアプリケーションの全てについてモードを通知するように、各アプリケーションを改造することは非現実であるといえる。このため、ネットワーク上にトラフィックパターンなどからアプリケーションのモードを推定する技術が求められている。【０００５】
＜パケットキャプチャ＞
ネットワークトラフィックからトラフィックの種別を判定する手法として、プロトコル判定技術がある。プロトコル判定技術は、パケットキャプチャ（パケットモニタ）により、ネットワークを流れるプロトコルデータ単位（Protocol Data Unit：ＰＤＵ）であるパケット（フレーム）をキャプチャし、各パケットのヘッダ等を解析し、例えばパケットの送信元、送信先、プロトコル（例えばＴＣＰ（Transmission Control Protocol）、ＨＴＴＰ（Hypertext Transfer Protocol）、・・・）、長さ（バイト数）や、パケット詳細情報、さらに実際のデータの内容等を抽出して表示する。なお、ＰＤＵは、ＩＳＯ（International Organization for Standardization）のＯＳＩ（Open Systems Interconnection）参照モデルのデータリンク層（レイヤ２（Ｌ２））では「フレーム」、ネットワーク層（レイヤ３（Ｌ３））では「パケット」という。さらに、トランスポート層（レイヤ４（Ｌ４））のＴＣＰでは「セグメント」、ＵＤＰ（User Datagram Protocol）では「データグラム」という。【０００６】
パケットキャプチャ機能をソフトウェアで実装し、コンピュータノードにインストールしてパケットをモニタする製品が知られている。例えば図１Ａに示すように、パケットキャプチャを実装したモニタ装置（パケットモニタ装置）４は、通信ネットワーク５内に配置されたスイッチ２（Ｌ２スイッチやＬ３スイッチ等）に接続し、通信ネットワーク５上に流れるパケット（フレーム）、例えば端末１とサーバ３間で送信・受信されるパケット（フレーム）をキャプチャする。スイッチ２において、モニタ対象の１つ又は複数のポート（複製元ポート）を、パケットキャプチャを実行するモニタ装置４が接続するポート（複製先ポート）にミラーリングすることで、モニタ装置４は、スイッチ２の該１つ又は複数のポート（複製元ポート）を通過する全てのパケット（送信パケット、受信パケット）をモニタすることができる。なお、スイッチ２において、ＶＬＡＮ（Virtual LAN(Local Area Network)） ＩＤ（Identifier）を用いてミラーリングするようにしてもよい。また、パケットキャプチャ機能を端末１に実装することで、端末１に流れてくるパケットをキャプチャするようにしてもよい。パケットキャプチャ機能を実装しネットワークを流れるパケットをモニタする装置では、ネットワークカードをプロミスキャスモードに設定し、自分宛のデータパケットでない信号も取り込むようにする。なお、フレームをキャプチャする場合も、特に区別する必要がない場合、パケットキャプチャという。図１Ｂは、パケットキャプチャで取得した同一アプリケーション（同一セッション）内のトラフィックの時間変化を例示する図である。横軸は時間、縦軸は単位時間あたりのバイト数である。トラフィック情報からリアルタイムにモードを判定することによって、各アプリケーションがその瞬間に必要とする帯域や送信期限（Deadline）等をリアルタイムに把握することができる。【０００７】
なお、パケットキャプチャを用いたプロトコル判定では、例えば単一のセッションについて、セッションの開始時点からの一定量のパケットに基づきプロトコルを判定する。【０００８】
＜アプリケーションのモード解析＞
しかしながら、単一のセッションは常に同一のプロトコルであることを前提としている。このため、アプリケーションのモードの解析に直接用いることはできない。【０００９】
本明細書では、アプリケーションのモードとは、アプリケーションの動作をアプリケーションにとって意味のある単位で時系列的に区切ったものをいう。モードが異なると、ネットワーク上のトラフィックパターンも異なる。特に制限されないが、モードの一例として、端末とアプリケーションサーバ間では、モード１（大容量データ転送）、モード２（周期データ転送）、モード３（アイドル）等（後述される図２７参照）がある。【００１０】
また、通信機能を備えたセンサ（ＩｏＴ（Internet of Things）センサ）の場合、モードの一例として、定期的なデータ送信中、予定外のデータ送信中、スリープ中等がある。自動運転車の場合、モードの一例として、通行量の大きい道路の走行中、通行量の少ない道路の走行中、停止中等がある。【００１１】
＜プロトコル学習・判定＞
例えば非特許文献１には、教師有り機械学習（Supervised Machine Learning）を用いて、ネットワークトラフィックをクラス分けする技術が開示されている。この技術は、教師有り単純ベイズ分類器（Supervised naive Bayesian classifier）を用いてアプリケーションカテゴリごとにトラフィック(ＴＣＰコネクション単位)を分類する。入力として、終端したTCPコネクションから得られる特徴量（Flow duration(フロー継続時間), TCP port（TCPポート）, Packet inter-arrival time(パケット到着時間)(平均, 分散等), Payload size（ペイロードサイズ）(平均, 分散等), Effective Bandwidth based upon entropy（エントロピーに基づく有効帯域幅）, Fourier Transform of the Packet inter-arrival time（パケット到着時間のフーリエ変換））と、当該TCPコネクションで行われていた通信のカテゴリ情報が用いられる。出力として、例えば以下のアプリケーションカテゴリごとの分類結果(各カテゴリに割り当てられたネットワークトラフィック)が得られる。
BULK        : ftp;
DATABASE  ： postgres, sqlnet, oracle, ingres; 
INTERACTIVE： ssh, klogin, rlogin, telnet;
MAIL        : imap, pop2/3, smtp;
SERVICES    : X11, dns, ident, ldap, ntp;
WWW        : www;
P2P          : KaZaA, BitTorrent, GnuTella;
ATTACK     : Internet work and virus attacks;
GAMES      : Half-Life;
MULTIMEDIA : Window Media Player, Real;【００１２】
非特許文献１の開示は、フロー（ＴＣＰコネクション）の継続時間（Flow duration）を利用しているため、コネクションが終端していることが必須である。なお、単純ベイズ分類器は、各クラスの特徴ベクトルが正規分布することを仮定したベイズ定理に基づく分類器であり、簡易な計算方法で複雑な状況に対応可能であることが知られている。特徴ベクトルとラベルを教師データとして学習し、判定フェーズでは、入力した特徴ベクトルをラベルに分類する。【００１３】
図２Ａ、図２Ｂは、非特許文献１等の開示に基づく図である。図２Ａ、図２Ｂには、それぞれ比較例の学習、判定フェーズが模式的に例示されている。学習フェーズでは、教師有り学習を用いてトラフィックとプロトコルとの対応付けを事前にオフラインで学習する。判定フェーズでは、トラフィック情報からプロトコルを判別する。より詳細には、図２Ａを参照すると、学習フェーズでは、事前に大量の学習用データセットに対してオフラインで学習を行っておく。プロトコル学習器２０１は、学習用トラフィックデータ２０２と学習用教師（正解）データ２０３（図２Ａでは、プロトコル名：ＨＴＴＰ（Hypertext Transfer Protocol））を入力し、プロトコル学習モデル２０４を作成（更新）する。【００１４】
図２Ｂを参照すると、判定フェーズでは、プロトコル判定器２０５は、実トラフィックデータ２０６を入力し、プロトコル学習モデル２０４に基づき、実トラフィックデータ２０６のプロトコルを判別し、判定結果２０７を出力する。判定フェーズで対象となる実トラフィックデータ２０６は、学習用トラフィックデータ２０２に対して実際のトラフィックデータであることから、「実トラフィックデータ」ともいう。判定結果２０７は、記憶装置に記憶するようにしてもよいし、表示装置に出力してもよい。なお、図２Ｂの判定フェーズでは、プロトコル学習モデル２０４の更新は行わない。【００１５】
図２Ａ、図２Ｂに模式的に例示した手法をリアルタイム判定に用いる例について、以下に検討する。図２Ａ、図２Ｂに例示した手法では、図３Ａに示すように、セッション２０８の開始時から特定の時間／パケット数分（ウィンドウ２０９）サンプリングした情報を用いて学習・判定を行う。時間区間（時間窓）を示すウィンドウは、パケット（フレーム）単位の長さとしてもよい。また、図２Ａ、図２Ｂに例示した手法では、単一のセッション２０８のプロトコル（例えばＨＴＴＰやＦＴＰ（File Transfer Protocol）等）の判定を目的としていることから、直接、アプリケーションのモード判定に用いることはできない。なお、特に制限されないが、セッションの開始は、例えばＴＣＰにおけるコネクション確立に対応させてもよい。よく知られているように、ＴＣＰコネクションの確立はホスト（ノード）間でのＴＣＰヘッダのＳＹＮ（Synchronize）、ＡＣＫ（Acknowledge）ビットの設定による三回のハンドシェイク（three-way handshaking）で行われる。これをモニタすることで、セッションの開始が検出される。また、ノード間のコネクション切断はＴＣＰヘッダのＦＩＮ（Finish）ビット、ＡＣＫビットの設定による４回のハンドシェイクが行われ、これをモニタすることでセッションの切断が検出される。【００１６】
ところで、モード判定で実現したいことは、図３Ｂに模式的に示すように、トラフィックに対して時系列的に分割されたモードの判定である。例えば、モード判定機能は、トラフィックデータに対応して、モードＭ１、Ｍ２、Ｍ３、・・・の時系列を得る機能をいう。これに対して、図３Ａに例示したように、非特許文献１に開示されたプロトコル判定技術は、アプリケーションのモード判定に適用することはできない。【００１７】
なお、ネットワークに流れるパケットをモニタしてネットワークアプリケーションを識別し不正アクセスを検出する技術として、例えば特許文献１には、アプリケーションを特定するために多数のパケットやフローを観測する必要があることや、観測対象の情報が限定されているために、手法単体での識別の精度が不十分であるなどの課題に対して、パケットのヘッダ情報ではなく、ペイロードに含まれるコードを分析してネットワークアプリケーションを識別する方法が開示されている。特許文献１の方法では、ネットワークトラフィックからパケットを取得するパケット観測プロセスと、パケット観測プロセスで取得したｋ個（ｋ：２以上の自然数）のパケットについて、パケット単位に、パケットのペイロード部を任意のビット長のコードに分割し、分割して得られたコード毎の出現頻度を用いてヒストグラムを生成するヒストグラム抽出プロセスと、ヒストグラム抽出プロセスで生成したｋ個のヒストグラム間のコード分布の変化に基づき、パケットペイロード部の構成変化を評価する類似性評価プロセスと、類似性評価プロセスで評価したパケットペイロード部の構成変化に基づきアプリケーション種別を特定する検知プロセスを有し、前記各プロセスを順次実行することで、ネットワークアプリケーションの識別を行う。【００１８】
また、例えば特許文献２には、マルウェアの検出やＤＬＰ(Data Loss Prevention)の分野で、ファイルのエントロピー値を求めエントロピー値によりファイルの類似度の評価を行うシステムにおいて、比較元ファイルと比較先ファイルとの類似度を評価する類似度評価装置が、比較元ファイルと比較先ファイルそれぞれを複数の区間に分割した比較元分割ファイルと比較先分割ファイルそれぞれの区間ごとの所定のエントロピー値を示す比較元区間特徴量と比較先区間特徴量とを生成し、比較元区間特徴量と比較先区間特徴量それぞれに対し、ＤＰ（Dynamic Programming）マッチングによる補正を行い、補正が行われた比較元区間特徴量と比較先区間特徴量とを区間ごとに比較することにより、比較元ファイルと比較先ファイルとの類似度を評価する構成が開示されている。特許文献２の開示は、分割後のデータブロックをＤＰを用いて前後にずらすことで、マッチング精度を向上させる。ただし、学習モデル自体に混入するノイズ自体を除去することはできない。【００１９】
さらに、特許文献３には、時系列データを構成する構成要素となる時系列パターンの学習を容易に行うことができるようにする学習装置として、ウィンドウの位置をずらすことで、時系列データから、例えば、Ｎ個のモデル学習用データを抽出し、ｉ番目の各モデル学習用データをｉ番目の学習モジュールに分配し、各学習モジュールはモデル学習用データを用いてパターン学習モデルを定義するモデルパラメータを更新する更新学習を行う構成が開示されている。特許文献３の開示は、学習データを複数のブロックに分割し、学習モジュールに配分するデータ抽出部を追加することで、学習の精度を向上させる。ただし、事前に学習対象のデータ全体を利用可能であることを前提としており、パケット列を用いたリアルタイムなモード判別には用いることはできない。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００８−１４１６１８号公報
【特許文献２】特開２０１６−６６１３５号公報
【特許文献３】特開２００９−２８８９３３号公報
【非特許文献】
【００２１】
【非特許文献１】Andrew W. Moore, Denis Zuev, "Internet Traffic Classification Using Bayesian Analysis Techniques," SIGMETRICS'05 (Proceedings of the 2005 ACM SIGMETRICS international conference on Measurement and modeling of computer systems), June 6-10, 2005, Banff, Alberta, Canada．
【発明の概要】
【発明が解決しようとする課題】
【００２２】
以下に関連技術の分析を与える。【００２３】
ネットワーク化システムにおいて、アプリケーションのモード単位のＱｏＳやＱｏＥの保証を実現するためには、例えばネットワークトラフィックデータからリアルタイムに、モードを高精度に判定する技術の実現が望まれる。【００２４】
また、図２Ａ、図２Ｂを参照して説明したプロトコル判定技術を流用してアプリケーションのモード判定を行っても、モードを高精度に判定することができない。例えば、情報量の少ないパケット列において、頻繁にモードの誤判定が発生する（これについては後に詳述される）。【００２５】
本発明は、上記課題に鑑みて創案されたものであって、その目的の一つは、トラフィックをモニタしリアルタイムでモード判定を行うにあたり、判定精度を向上可能とする装置、システム、方法、プログラムを提供することにある。
【課題を解決するための手段】
【００２６】
本発明の一つの側面によれば、学習用のトラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ部と、モードの切り替わりの前記タイミングに対応する前記学習用のトラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、前記モード学習モデルを用いて実トラフィックデータのモード判定を行うモード判定部を備えたモード判定装置が提供される。前記モード判定部は、前記フィルタ部で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いてモードの判定を行う構成としてもよい。【００２７】
本発明の他の側面によれば、コンピュータを用いたモード判定方法であって、学習用トラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ工程と、モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習工程と、前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定工程と、を含むモード判定方法が提供される。【００２８】
本発明のさらに他の側面によれば、学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタと、モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、を備え、前記モード学習モデルを用いてトラフィックデータのモード判定を行うモード判定装置と、前記モード判定装置のモード判定結果に基づき、ネットワークのトラフィックを制御するネットワーク制御装置と、を備えたネットワークシステムが提供される。【００２９】
本発明のさらに他の側面によれば、学習用トラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ処理と、モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習処理と、前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定処理と、をコンピュータに実行させるプログラムが提供される。【００３０】
本発明によれば、上記プログラムを記憶したコンピュータ読み出し可能な記録媒体（例えばＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、又は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）等の半導体ストレージ、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc)、DVD(Digital Versatile Disc）等のnon-transitory computer readable recording medium）が提供される。
【発明の効果】
【００３１】
本発明によれば、トラフィックをモニタしリアルタイムでモード判定を行うにあたり、判定精度の向上を可能としている。
【図面の簡単な説明】
【００３２】
【図１Ａ】パケットキャプチャの一例を説明する図である。
【図１Ｂ】パケットキャプチャによるトラフィックモニタの一例を説明する図である。
【図２Ａ】関連技術を説明する図である。
【図２Ｂ】関連技術を説明する図である。
【図３Ａ】プロトコル判定の機能を説明する図である。
【図３Ｂ】モード判定の機能を説明する図である。
【図４Ａ】比較例を説明する図である。
【図４Ｂ】比較例を説明する図である。
【図５Ａ】モードの時系列を示す図である。
【図５Ｂ】モードの時系列を示す図である。
【図５Ｃ】比較例の動作を説明する図である。
【図６】本発明の一形態の学習フェーズを説明する図である。
【図７】本発明の一形態の判定フェーズを説明する図である。
【図８Ａ】本発明の一形態における２段階の学習動作を説明する図である。
【図８Ｂ】本発明の一形態における２段階の判定動作を説明する図である。
【図８Ｃ】本発明の一形態における１段階目の動作を模式的に説明する図である。
【図９】トラフィックの一例（ａ）、トラフィックのモードの時系列（ｂ）、本発明の一形態で判別されたモードの時系列（ｃ）、比較例により判別されたモードの時系列（ｄ）を示す図である。
【図１０】本発明に係るネットワークシステムの一実施形態を例示する図である。
【図１１】本発明の第１の実施形態のモード判定装置の構成の一例を例示する図である。
【図１２】本発明の第１の実施形態のモード判定装置の学習に関わる構成の一例を例示する図である。
【図１３】本発明の第１の実施形態の教師データＤＢの一例を模式的に例示する図である。
【図１４】本発明の第１の実施形態のモード判定装置の学習動作を説明する流れ図である。
【図１５】本発明の図１４のステップＳ１３を説明するための図である。
【図１６】本発明の第１の実施形態のモード判定装置の判定フェーズに関わる構成の一例を例示する図である。
【図１７】本発明の第１の実施形態のモード判定装置の判定動作を説明する流れ図である。
【図１８】本発明の第１の実施形態のモード判定装置のタイミング学習モデルの一例を模式的に説明する図である。
【図１９】本発明の第１の実施形態の学習フィルタ部の構成の一例を例示する図である。
【図２０】本発明の第１の実施形態のモード学習部の構成の一例を例示する図である。
【図２１】本発明の第１の実施形態のモード判定部の構成の一例を例示する図である。
【図２２】本発明の第２の実施形態のモード判定装置の構成の一例を例示する図である。
【図２３】本発明の第２の実施形態のモード判定装置の動作を説明する流れ図である。
【図２４】本発明の第３の実施形態のモード判定装置の構成の一例を例示する図である。
【図２５】本発明の第３の実施形態のモード判定装置の動作を説明する流れ図である。
【図２６】本発明の第４の実施形態のモード判定装置の構成の一例を例示する図である。
【図２７】本発明に係るネットワークシステムの別の実施形態を例示する図である。
【発明を実施するための形態】
【００３３】
本発明の一形態によれば、モード判定装置は、フィルタ部とモード学習部とを備えている。
フィルタ部は、
学習用のトラフィックデータと教師データとを入力し、
前記学習用のトラフィックデータにおけるモードの切り替わりのタイミングを学習し、タイミング学習モデルを生成（更新）する。
モード学習部は、
モードの切り替わりの前記タイミングに対応する前記学習用のトラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成（更新）する。
前記モード判定装置は、前記モード学習モデルを用いて実トラフィックデータのモード判定を行うモード判定部を備えた構成としてもよい。
前記モード判定部は、
実トラフィックデータを入力し、
前記タイミング学習モデルのタイミング情報に対応するデータ（実トラフィックデータ）に対して、前記モード学習モデルを用いて、モード判定を行う。
なお、前記フィルタ部は、学習用トラフィックデータと教師データを用いてタイミング学習モデルを生成し、該学習モデルに基づき、トラフィックの判定を行う。この点を明示するため、前記フィルタ部は、例えば「学習フィルタ」又は「学習型フィルタ」ともいう。
【００３４】
本発明の一形態によれば、モードの判定に有効な情報が多く含まれる、例えばモードの開始時を選択し、学習・判定を行うようにしてもよい。
本発明の一形態によれば、モードの学習を行うモード学習器の前段に、モード判定を行うべきタイミングを判別する学習型のフィルタを備え、二段階で学習、及び、二段階で判定を行う。本発明の一形態によれば、モードの判定をリアルタイムに行う場合の判定精度を高めることができる。
【００３５】
＜比較例＞
以下では、図２Ａ、図２Ｂを参照して説明したプロトコル判定技術をリアルタイムのモード判定に適用した比較例について説明する。図４Ａ、図４Ｂは、それぞれ比較例の学習、判定フェーズを説明する図である。図４Ａを参照すると、学習用トラフィックデータ３０５をウィンドウ３０７で区切り、モード学習器３０１は、ウィンドウ３０７単位に設定されるモード（教師データ）３０６に基づき、学習用トラフィックデータ３０５の各ウィンドウ単位にモードを学習し、モード学習モデル３０２を作成する。すなわち、モード学習器３０１では、各ウィンドウ３０７単位にそれぞれ別の学習データセットを学習する。
【００３６】
図４Ｂを参照すると、判定フェーズにおいて、モード判定器３０３は、実トラフィックデータ３０８を入力し、モード学習モデル３０２を用いて教師なしで実トラフィックデータ３０８のモードをウィンドウ３０７の単位で判別し、判定結果３０４を出力する。
【００３７】
特に制限されないが、モード学習モデル３０２として、例えば決定木（Decision Tree）を用いてもよい。決定木は、属性とその値の組｛属性１＝値１，…，属性ｎ＝値ｎ｝によって表現されたデータをいくつかのクラスに分類するための木構造である。決定木の非終端ノードには属性のラベルが付けられており、該非終端ノードから出ている枝にはその属性の取りうる値が付され、終端ノード（Leaf）が最終的な分類となる。判定フェーズでは、学習モデルの決定木に、（属性、値）の形式のデータを入力すると、属性の値をテストしながら根（root）から非終端ノードの分岐をたどり到達した終端ノードの分類を判断結果として出力する。モード学習部１０１では、決定木を出力する教師有り学習アルゴリズムとして、例えばＩＤ３（Iterative Dichotomizer 3）やＣＡＲＴ（Classification and Regression Tree）あるいはrandom forest等を用いてもよい。
【００３８】
プロトコル判定技術の単純なモード判定に適用した上記比較例では、モードの誤判定が多発する。その原因として、学習・判定に適さないパケット列モードの切り替わりポイント以外の、情報量の差分が少ない部分で学習・判定が行われるためである。
【００３９】
図５Ａ、図５Ｂは、図４Ａ、図４Ｂを参照して説明した比較例での判定結果の一例を例示する図である。図５Ａはトラフィックの実際のモードの遷移の時系列を例示する図である。なお、特に制限されないが、図５Ａ、図５Ｂの例では、モードはＭｏｄｅ１（Ｍ１）〜Ｍｏｄｅ３（Ｍ３）まである。図５Ｂにおいて、実線は、図５Ａと同一のトラフィックデータに対する図４Ｂのモード判定器３０３による判定結果を示している（比較例）。なお、図５Ｂの破線は、図５Ａのモード遷移の時系列に対応している。図５Ｂに示すように、Ｍｏｄｅ１（Ｍ１）からＭｏｄｅ２（Ｍ２）に遷移して一定期間Ｍｏｄｅ２（Ｍ２）であるべきところ、Ｍｏｄｅ２（Ｍ２）とＭｏｄｅ３（Ｍ３）間で複数回遷移している。これは、前述したように、時間長が共通のウィンドウ毎に学習用トラフィックデータを用いて学習しており、学習・判定に適さないパケット列で学習・判定が行われてしまうためである。すなわち、図５Ｃに示すように、ウィンドウ間での情報量の差分が少ない部分（モード切り替えポイント以外の部分）で学習・判定が行われ、情報量の差分が多い部分での学習を選択的に行う機構を備えていないためである。
【００４０】
＜一形態＞
本発明の一形態では、図６を参照すると、モードの判定を行うモード学習器１０１の前段に、モード判定を行うべきタイミングを指示する学習フィルタ１１０を備える。学習フィルタ１１０は、学習用トラフィックデータ１０５と、教師データ（モード）１０６を入力し、モードの判定に有効な情報が多く含まれるタイミングを学習し、モード学習器１０１に対してタイミングを指示する。図６では、破線で囲んだウィンドウ１０７のうち白抜きのウィンドウは、モード学習器１０１に通知されない。なお、一形態において、時間区間（時間窓）を示すウィンドウ１０７はパケット（フレーム）を単位に複数パケット（フレーム）分の長さとしてもよい。
【００４１】
モード学習器１０１は、学習用トラフィックデータ１０５と、教師データ（モード）１０６と、学習フィルタ１１０で検出されたタイミング情報を入力し、モードの判定に有効な情報が多く含まれるタイミング（ウィンドウ）でモードの学習を行う。このタイミングとして、例えばモードの開始時等が用いられる。モード学習器１０１は、例えば、モード間の情報量の差分が大きい区間（時間窓：ウィンドウ）のトラフィックデータを用いて学習する。このため、モードの学習精度が向上する。また、モードの判定に適したタイミングでのみモード学習・判定を行うため、モードの判定精度が向上する。
【００４２】
図７を参照すると、学習フィルタ１１０は、実トラフィックデータ１０８を入力しタイミング学習モデル１１１のタイミング情報に対応するウィンドウ１０７をモード判定部１０３に通知する。図７では、破線で囲んだウィンドウ１０７のうち白抜きのウィンドウは、モード学習器１０１に通知されない。
【００４３】
モード判定部１０３は、学習フィルタ１１０から通知されたウィンドウ１０７に対応するトラフィックデータ（モードの判別に適したトラフィックデータ）に対してモード学習モデル１０２を用いて、モードの判定を行う。
【００４４】
図８Ａは、一形態の学習の動作原理を説明する図である。学習フェーズにおいて、１段階目（モード学習部１０１の前の段階の意味で１段階目）の学習フィルタ１１０は、学習用トラフィックデータと教師データを入力しモードの学習に適したタイミング（例えばモードの切り替わりタイミング）を学習する（１段階目の学習：Ｓ１）。
【００４５】
２段階目のモード学習器１０１は、学習用トラフィックデータと教師データを入力しモードの学習に適したタイミングで（例えばモードの切り替わりタイミング）、モードを学習する（２段階目の学習：Ｓ２）。
【００４６】
図８Ｂは、一形態の判定の動作原理を説明する図である。判定フェーズにおいて、１段階目の学習フィルタ１１０は、実トラフィックデータを入力し、学習したタイミング学習モデルを用いて、モードの切り替えタイミングを判定する（１段階目の判定：Ｓ３）。
【００４７】
２段階目のモード判定部１０３は、１段階目の学習フィルタ１１０で学習したタイミングでモードの判定を行う（２段階目の判定：Ｓ４）。
【００４８】
図８Ｃは、１段階目の学習フィルタ１１０によるタイミング学習・判定処理を説明する図である。学習フェーズでは、１段階目の学習フィルタ１１０は、学習用トラフィックデータ１０５を入力し、教師データ（モード）１０６を用いて、モード判定に適したタイミング（モードの切り替わりのタイミング）を学習し、学習用トラフィックデータ１０５とタイミング情報（ウィンドウ１０７）をモード学習器１０１に供給する。判定フェーズでは、１段階目の学習フィルタ１１０は、実トラフィックデータ１０８を入力し、学習したタイミング学習モデルに基づき、モードの判定に適したタイミング（モードの切り替わりのタイミング）を判別し、学習用トラフィックデータ１０５と、モードの判定に適したタイミング情報（ウィンドウ１０７）をモード判定部１０３に供給する。判定フェーズでは、教師データ１０６は供給されない。
【００４９】
図９において、（ａ）の９ａはトラフィックの一例、（ｂ）の破線は（ａ）のモード（実際のモード）の時系列９ｂ、（ｃ）における実線は本発明の一形態のモード判定装置１０で判別されたモードの時系列９ｃ、破線は（ｂ）のモード（実際のモード）の時系列、（ｄ）における実線は、比較例により判別されたモードの時系列９ｄ、破線は（ｂ）のモード（実際のモード）の時系列を示している。
【００５０】
図９における（ｃ）の９ｃ（本発明の一形態で判別されたモード）と、（ｄ）の９ｄ（比較例により判別されたモード）との対比からも明らかなように、本発明の一形態によれば、比較例と比べて、モードの判定精度を特段に向上させていることがわかる。
【００５１】
＜ネットワークシステムの一実施形態＞
図１０は、本発明の一実施形態のネットワークシステムの構成例を示す図である。端末１１Ａ、１１Ｂは、通信ネットワーク１３を介してサーバ１２と通信する。サーバ１２は、アプリケーションサーバであってもよいし、Ｗｅｂサーバや、各種クラウドサービスを提供するサーバ等であってもよい。なお、図１０では、簡単のため、２台の端末１１Ａ、１１Ｂと１台のサーバ１２が例示されているが、これらの個数に制限はない。モード判定装置１０は、通信ネットワーク１３を流れるパケットをキャプチャし、トラフィックデータ解析してモードを判定する。なお、モード判定装置１０は、図１Ａに示したように、通信ネットワーク１３に配置されたスイッチ（不図示）のポートに接続し、複製元ポートに流れるパケット（端末１１Ａ、１１Ｂとサーバ１２間で送受信されるパケット）をキャプチャするようにしてもよい。モード判定装置１０は、通信ネットワーク１３を介して端末１１Ａ、１１Ｂで送受信されるパケットをキャプチャするようにしてもよい。以下、モード判定装置１０のいくつかの実施形態を説明する。
【００５２】
＜実施形態１：モード判定装置＞
図１１は、第１の実施形態のモード判定装置１０を説明する図である。図１１を参照すると、モード判定装置１０は、モード学習部１０１、モード判定部１０３、パケット取得部１１３、学習フィルタ部１１０、教師データＤＢ（DataBase：データベース）１１２、モード学習モデル１０２、タイミング学習モデル１１１、判定結果ＤＢ１０４を備えている。モード学習部１０１は、図６のモード学習器１０１に対応する。モード判定部１０３は、前述した図７のモード判定部１０３に対応する。学習フィルタ部１１０は、前述した図６、図７の学習フィルタ１１０に対応する。モード学習モデル１０２は、前述した図６、図７のモード学習モデル１０２に対応する。タイミング学習モデル１１１は、前述した図６、図７のタイミング学習モデル１１１に対応する。
【００５３】
図１１において、パケット取得部１１３は、図１０の通信ネットワーク１３の不図示のスイッチに接続する構成としてもよい。教師データＤＢ（データベース）１１２、モード学習モデル１０２、タイミング学習モデル１１１、判定結果ＤＢ１０４の少なくとも二つ以上についてそれぞれ異なる記憶装置に格納する構成としてもよい。あるいは、同一の記憶装置に記憶する構成としてもよい。モード学習部１０１、モード判定部１０３、パケット取得部１１３、学習フィルタ部１１０は互いに通信接続する異なるノード上に実装してもよいし、一つの装置内に実装するようにしてもよい。
【００５４】
図１２は、図１１に示した第１の実施形態のモード判定装置１０の学習フェーズに係る機能構成を説明する図である。図１２を参照すると、学習フィルタ部１１０は、パケット取得部１１３からパケット列（学習用トラフィックデータ）を入力し、教師データＤＢ１１２から、例えばパケットに対応したモード情報を取得する。学習フィルタ部１１０は、パケット列からその特徴量（例えばパケットのサイズ（バイト数）、あるいはパケットの到着間隔）を抽出し、特徴量に基づき、モードの判定に有効な情報が多く含まれるタイミングを学習し、タイミング学習モデル１１１を作成する。学習フィルタ部１１０は、モード学習部１０１に、モードを学習するタイミング情報（ウィンドウ）を指示する。学習フィルタ部１１０は、パケットの特徴量として、パケット列（例えばパケット番号が連続する複数のパケット）のサイズ（バイト数）の統計量（例えば最大値、最小値、平均、分散、総和等）を用いてもよい。パケットの到着間隔の統計量（例えば最大値、最小値、平均、分散、総和等）を用いてもよい。パケットのサイズの統計量はパケットのヘッダ、到着間隔の統計量はパケットを受信した時点のタイムスタンプ情報に基づいて算出するようにしてもよい。
【００５５】
モード学習部１０１は、学習用トラフィックデータと教師データと、学習フィルタ部１１０で検出されたタイミング情報を入力し、タイミング情報に対応する学習用トラフィックデータとモード情報に基づき学習を行い、モード学習モデル１０２を作成する。例えばタイミングとしてモードの判定に有効な情報が多く含まれるモードの開始時等が用いられる。モード学習部１０１は、モード間の情報量の差分が大きい時間窓（ウィンドウ）のデータで学習する。モード学習部１０１において、モード判定に適したタイミングでのみモード判定を行うため、モードの判定精度が向上する。
【００５６】
図１３は、教師データＤＢ１１２の内容の一例を模式的に説明する。教師データＤＢ１１２はパケット番号に対応して正解モード情報を格納している。第１の実施形態では、教師データＤＢ１１２は予め設定登録されているものとする。図１３では、パケット毎に、モードが相違しているが、連続する複数のパケットが同一モードであってもよいことは勿論である。なお、図１３では、簡単化のため、パケットに対応する正解モードがパケット番号毎に変化しているが、連続する複数のパケットに対して同一の正解モードであってもよいことは勿論である。
【００５７】
図１４は、図１２に示した一実施形態のモード判定装置１０の学習フェーズの動作を説明する流れ図である。図１４において、ステップＳ１１は、図１２のパケット取得部１１３の処理である。ステップＳ１２−Ｓ１４、Ｓ１６は、図１２の学習フィルタ部１１０の処理である。ステップＳ１５は、図１２のモード学習部１０１の処理である。
【００５８】
パケット取得部１１３は、パケット列を学習フィルタ部１１０に供給する（Ｓ１１）。学習フィルタ部１１０は、パケット（学習用トラフィックデータ）を入力し、教師データＤＢ１１２を用いて、パケット列がモードの切り替わりポイントであるか否かを判定する（Ｓ１２）。このステップＳ１２において、学習フィルタ部１１０は、例えば以下の手法を用いて切り替わりポイントを検出するようにしてもよい。
【００５９】
すなわち、学習フィルタ部１１０は、パケット取得部１１３から供給されたパケットのパケット番号（パケット列の先頭からのパケット数を用いて算出する）に対応する正解モード（図１３）を教師データＤＢ１１２から検索する。学習フィルタ部１１０は、供給されたパケットの正解モード（現在の正解モード）と、一つ前の正解モード（モードＹ）が異なる場合に、モードの変化が発生したと認識する。
【００６０】
次に、学習フィルタ部１１０は、モードの変化を検出した時点を、パケット列の判定タイミングと学習し、タイミング学習モデル１１１を更新する（Ｓ１３）。一例として以下を行う。
【００６１】
学習フィルタ部１１０は、供給された現在のパケット及び過去のパケット履歴情報からパケット列を所定のウィンドウを用いて抽出する。一例として、パケット取得部１１３から供給された現在のパケットとその一つ前のパケットを抽出した場合を例に説明する。供給された現在のパケットとその一つ前のパケットは学習フィルタ部１１０内の不図示のメモリに一時的に記憶される。学習フィルタ部１１０は抽出したパケットの特徴量を算出する。特徴量は、例えばパケットサイズの統計量（例えば最大、最小、平均、分散、総和等）や、パケット到着間隔の統計量（例えば最大、最小、平均、分散、総和等）であってもよい。パケットサイズは、受信したパケットのヘッダに格納されているパケット全体のサイズ情報を抽出してもよい。例えばＩＰ（Internet Protocol）パケットヘッダのデータグラム長フィールド（１６ビット）の情報を抽出してもよい。パケット到着間隔は、パケット取得部１１３でパケットを受信したタイムスタンプと、一つ前のパケットを受信したタイムスタンプとの差を用いてもよい。
【００６２】
学習フィルタ部１１０は、算出した特徴量と、「現在のパケットがモードの切り替わりタイミングである」ということを、教師有り学習を用いて学習する（タイミング学習モデルの更新）。
【００６３】
続いて、学習フィルタ部１１０は、モード学習部１０１で学習に必要とされるパケット列をモード学習部１０１に供給する（Ｓ１４）。
【００６４】
学習フィルタ部１１０は、パケット取得部１１３から供給された現在のパケット、及び、それ以前の所定個数の過去のパケットから、モード学習部１０１がモードの学習に用いる所定のウィンドウのパケット列を抽出してモード学習部１０１へ送信する。
【００６５】
学習フィルタ部１１０は、ステップＳ１２の判定の結果、切り替えポイントでないと判定された場合、パケット列が「判定タイミングではない」と学習を行ない、タイミング学習モデルを更新する（Ｓ１６）。ステップＳ１６の処理は、学習する際の正解データ及び後続の処理が異なるだけで、基本的にステップＳ１３と同様である。ステップＳ１６において、学習フィルタ部１１０は、供給パケット及びパケット履歴情報から、パケット列を任意のウィンドウを用いて抽出し、抽出したパケット列から特徴量を算出する。算出した特徴量と、このパケットがモードの切り替わりタイミングではないということを教師有り学習を用いて学習する。
【００６６】
モード学習部１０１は、抽出したパケット列がモード何某（図１５では「モードＸ」）である、ということを学習し、モード学習モデル１０２を更新する（Ｓ１５）。モード学習部１０１は、学習フィルタ部１１０から供給されたパケット列から特徴量を算出する。モード学習部１０１は、算出した特徴量と、「このパケットがモードＸである」ということを、教師有り学習を用いて学習し、モード学習モデル１０２を更新する。なお、モード学習部１０１での学習は、特徴量の計算対象とするパケット列が学習フィルタ部１１０から供給されたパケット列である点、および、教師有り学習を行う際の正解データの粒度（連続する複数のパケットに跨る場合もあるモードを正解データとして学習を行う）が、学習フィルタ部１１０で行う学習とは相違する。
【００６７】
図１５は、学習フィルタ部１１０で学習されたタイミング（モードの判定に有効な情報が多く含まれるタイミング）を例示する図である。図１５に示す例では、学習フィルタ部１１０は、パケット（パケット番号３）をその一つ前のパケット（パケット番号２）からのモードの切り替わりタイミングであると学習して、タイミング学習モデル１１１を更新し、パケット（パケット番号５）をその一つ前のパケット（パケット番号４）からのモードの切り替わりタイミングであると学習し、タイミング学習モデル１１１を更新する。
【００６８】
図１６は、図１１に示した一実施形態のモード判定装置１０の判定フェーズに係る機能構成を説明する図である。学習フィルタ部１１０は、パケット取得部１１３からパケット列（トラフィックデータ）を入力し、タイミング学習モデル１１１を参照して、モード判定に有効なトラフィック（パケット）のタイミング（ウィンドウ）を検出し、モード判定部１０３に通知する。モード判定部１０３は、学習フィルタ部１１０から通知されたウィンドウ１０７に対応するトラフィックデータ（判別に適したデータ）に対して前記モード学習モデル１０２を用いてモード判定を行い、判定結果を判定結果ＤＢ（DataBase）１０４に出力する。
【００６９】
図１７は、図１６に示した一実施形態のモード判定装置１０の判定フェーズの動作を説明する流れ図である。ステップＳ２１はパケット取得部１１３の処理である。図１７において、ステップＳ２２、Ｓ２３は学習フィルタ部１１０の処理である。ステップＳ２４はモード判定部１０３の処理である。
【００７０】
パケット取得部１１３は、実トラフィックデータのパケット列を学習フィルタ部１１０に供給する（Ｓ２１）。
【００７１】
学習フィルタ部１１０は、パケット（実トラフィックデータ）を入力し、パケットの特徴量に基づき、パケット列がモードの切り替わりポイントであるか否かをタイミング学習モデル１１１を用いて判定する（Ｓ２２）。学習フィルタ部１１０は、例えば以下の手法を用いて切り替わりポイントを判定する。学習フィルタ部１１０は、パケット取得部１１３から供給されたパケットを、パケット履歴情報として不図示の記憶部に保存する。
【００７２】
学習フィルタ部１１０は、供給されたパケット及びパケット履歴情報から、パケット列を学習時と同じウィンドウを用いて抽出する。学習フィルタ部１１０は、抽出したパケット列から特徴量を算出する。学習フィルタ部１１０は、この特徴量（判定フェーズの特徴等）として、例えば学習フェーズで用いた特徴量と同一の特徴量（パケットサイズ、パケット到着間隔）を用いる。
【００７３】
学習フィルタ部１１０は、算出した特徴量と学習フェーズで作成したタイミング学習モデル１１１を用いて供給されたパケットがモードの切り替わりタイミングであるか否かを判別する。
【００７４】
学習フィルタ部１１０は、モード判定部１０３がモード判定に必要とするパケット列をモード判定部１０３に供給する（Ｓ２３）。
【００７５】
モード判定部１０３が、学習フィルタ部１１０から供給されたパケット列に対して、モード学習モデル１０２を用いてモード判定を行い、判定結果ＤＢ１０４へ格納する（Ｓ２４）。モード判定部１０３は、モード判定として、例えば以下の処理を行う。
【００７６】
モード判定部１０３は、学習フィルタ部１１０から供給されたパケット列から、特徴量（例えば、パケットサイズやパケット到着間隔の統計量等）を算出する。
【００７７】
モード判定部１０３は、算出した特徴量と、学習フェーズで作成したモード学習モデル１０２を用いて学習フィルタ部１１０から供給されたパケットがどのモードに属するパケットについて判別する。
【００７８】
図１８は、学習フィルタ部１１０で学習されたタイミング学習モデル１１１の一例と、モードの切り替わりタイミングの判別を例示する図である。図１８に示すタイミング学習モデル１１１を作成する学習フィルタ部１１０は、特に制限されないが、学習アルゴリズムとして例えばＩＤ３．５やＣＡＲＴ等を用いて決定木を作成してもよい。
【００７９】
図１８に示す例では、決定木は、属性（特徴量：パケットサイズ、パケットの到着間隔）を用い、属性とその値（範囲）の組によって表現されたデータをいくつかのクラスに分類する。終端ノード（Ｌｅａｆ）は、モード判定に用いられるモードの切り替えタイミングとなる。判定フェーズでは、学習フィルタ部１１０は、パケットの特徴量（属性）であるパケットサイズ、パケット到着間隔とその値の組を決定木に入力し、決定木の根（ｒｏｏｔ）から属性の値をテストしながら非終端ノードの分岐をたどり到達した終端ノードの分類を判断結果として出力する。パケットサイズの統計量（最大値）が１００バイトを超える場合、パケット到着間隔が０．５（時間単位）を超えれば、切り替わりタイミングであり（切り替わりタイミング＝Ｙｅｓ）、パケット到着間隔が０．５（時間単位）以下であれば、切り替わりタイミングではない（切り替わりタイミング＝Ｎｏ）。
【００８０】
モード学習部１０１では、決定木の学習アルゴリズムとしてＩＤ３やＣＡＲＴ等を用いてもよい。なお、図１８では、簡単のため１つの決定木（識別器）を備えた学習モデルを例示したが、ランダムフォレスト（random forest）のようなアンサンブル学習（個別に学習した決定木を複数個用意し、これらの出力の例えば平均を用いる等してまとめ合わせて一つの決定木を構成する学習）等を用いてもよい。また、決定木は、モード学習モデル１０２に用いてもよい。
【００８１】
図１９は、第１の実施形態のモード判定装置１０の学習フィルタ部１１０の構成の一例を機能ブロックで例示した図である。図１９を参照すると、学習フィルタ部１１０は、制御部（controller）１１００、パケット保持部（バッファメモリ）１１０１、第１の切り替わりポイント判定部１１０２Ａ、第２の切り替わりポイント判定部１１０２Ｂ、パケット列抽出部１１０３、特徴量算出部１０１４、教師有り学習部１０１５、タイミング学習モデル更新部１１０６、パケット供給部１１０７を備えている。
【００８２】
制御部１１００は、学習フィルタ部１１０の学習フェーズ、判定フェーズの動作を制御する。例えば、学習フェーズでは、制御部１１００は、第１の切り替わりポイント判定部１１０２Ａを活性化する（第２の切り替わりポイント判定部１１０２Ｂを非活性化する）。活性化された第１の切り替わりポイント判定部１１０２Ａは教師データＤＢ１１２を参照して、パケット列がモードの切り替えポイントであるか否かを判定する。また、学習フェーズでは、制御部１１００は、パケット供給部１１０７を制御してパケット列の供給先をモード学習部１０１とする。なお、制御部１１００における学習フェーズ、判定フェーズの設定は、例えば所定の操作端末等から制御部１１００に設定入力するようにしてもよい。
【００８３】
一方、判定フェーズでは、制御部１１００は、第２の切り替わりポイント判定部１１０２Ｂを活性化する（第１の切り替わりポイント判定部１１０２Ａを非活性化する）。活性化された第２の切り替わりポイント判定部１１０２Ｂは、タイミング学習モデル１１１を参照して、パケット列がモードの切り替えポイントであるか否かを判定する。また判定フェーズでは、制御部１１００は、パケット供給部１１０７を制御して、パケット列抽出部１１０３で抽出されたパケット列の供給先をモード判定部１０３とする。
【００８４】
パケット保持部１１０１は、パケット取得部１１３で取得したパケット又はパケット列を不図示のバッファメモリに保持する。バッファ保持部１１０１のバッファメモリは、予め設定された長さ（容量）の先入れ先だし型（First In First Out：ＦＩＦＯ）バッファであってもよい。判定フェーズでは、パケット列抽出部１１０３がパケット保持部１１０１のパケット列からパケット列を抽出する。
【００８５】
学習フェーズでは、第１の切り替わりポイント判定部１１０２Ａが、パケット保持部１１０１に保持されている複数のパケットのうち、現在のパケット（ＦＩＦＯバッファに一番後に格納されたパケット）および過去のパケットを参照し、教師データＤＢ１１２に基づき、パケットがモードの切り替わりポイントであるか否かを判定する。例えば、現在のパケットと１つ前のパケットの教師データ（正解モード）を参照して現在のパケットがモードの切り替わりポイントであるか否かを判定するようにしてもよい。切り替わりポイントの場合、パケット列抽出部１１０３は、パケット取得部１１３から供給されたパケット保持部１１０１で保持されている現在および過去のパケットから、任意のウィンドウ（時間窓）を用いてパケット列を抽出する。
【００８６】
特徴量算出部１１０４は、学習フェーズおよび判定フェーズにおいて、パケット列抽出部１１０３で抽出されたパケット列を受け、パケットの特徴量を算出する。特徴量算出部１１０４は、特徴量として、パケットサイズの統計量（例えば最大値、最小値、平均、分散、総和等）を用いてもよい。さらに、特徴量として、パケットの到着間隔の統計量（最大値、最小値、平均、分散、総和）を用いてもよい。パケットのサイズの統計量はパケットのヘッダ、到着間隔の統計量はパケットを受信した時点のタイムスタンプ情報に基づいて算出するようにしてもよい。なお、特徴量算出部１１０４は、判定フェーズでは、学習フェーズと同一の特徴量を算出する。
【００８７】
教師有り学習部１１０５は、学習フェーズにおいて、制御部１１００によって活性化され、特徴量算出部１１０４で算出された特徴量と、現在のパケットがモードの切り替わりタイミングであるということを教師有り学習で学習する。
【００８８】
判定フェーズでは、制御部１１００からの指示に基づき、パケット列抽出部１１０３がパケット保持部１１０１からパケット列を抽出して、特徴量算出部１１０４に受け渡す。特徴量算出部１１０４は、パケット列抽出部１１０３から受け取ったパケット列の特徴量を算出する。さらに、判定フェーズにおいて、制御部１１００によって活性化された、第２の切り替わりポイント判定部１１０２Ｂが、特徴量算出部１１０４で算出された特徴量と、更新されたタイミング学習モデル１１１を参照して、現在のパケット（パケット保持部１１０１のＦＩＦＯバッファに一番新しく格納されたパケット）がモードの切り替わりタイミングであるか否かを判定する。
【００８９】
パケット供給部１１０７は、制御部１１００からの指示に基づき、学習フェーズでは、パケット列抽出部１１０３で抽出されたパケットをモード学習部１０１に供給し、判定フェーズでは、パケット列抽出部１１０３で抽出されたパケットをモード判定部１０３に供給する。
【００９０】
図２０は、第１の実施形態のモード判定装置１０のモード学習部１０１の構成の一例を機能ブロックで例示した図である。図２０を参照すると、モード学習部１０１は、特徴量算出部１０１１と、教師有り学習部１０１２と、モード学習モデル更新部１０１３を備えている。
【００９１】
特徴量算出部１０１１は、学習フェーズにおいて、学習フィルタ部１１０から供給されたパケット列からパケットの特徴量を算出する。パケットの特徴量は、前述したパケットサイズ、パケット到着間隔の統計量であってよい。
【００９２】
教師有り学習部１０１２は、特徴量算出部１０１１で算出された特徴量と、このパケットが、モード何某（教師データＤＢ１１２）であるという情報を、教師有り学習を用いて学習する。モード学習モデル更新部１０１３は、学習結果に基づき、モード学習モデル１０２を更新する。
【００９３】
図２１は、第１の実施形態のモード判定装置１０のモード判定部１０３の構成の一例を機能ブロックで例示した図である。図２１を参照すると、モード判定部１０３は、特徴量算出部１０３１と、判定処理部１０３２と、判定結果出力部１０３３を備えている。
【００９４】
特徴量算出部１０３１は、判定フェーズにおいて、学習フィルタ部１１０から供給されたパケット列からパケットの特徴量を算出する。パケットの特徴量は、学習フェーズで用いた特徴量を用いる。判定処理部１０３２は、特徴量算出部１０３１で算出された特徴量と、モード学習モデル１０２を用いて、このパケットがどのモードに属するパケットであるか判別する。判定結果出力部１０３３は、判定結果を判定結果ＤＢ１０４に出力する。判定結果出力部１０３３は、判定結果を不図示の表示装置等に表示出力するようにしてもよい。
【００９５】
＜実施形態２：モード判定装置＞
図２２は、第２の実施形態のモード判定装置１０Ａの構成を例示する図である。図２２を参照すると、モード判定装置１０Ａは、図１１に示したモード判定装置１０構成にさらに教師データ生成部１１４を備えている。教師データ生成部１１４は、パケット取得部１１３で取得されたパケット列（例えば学習用トラフィックのパケット列）を入力し、パケット列が属しているモードを例えばＤＰＩ（Deep Packet Inspection）等を用いて判定し、教師データ（正解モード）ＤＢ１１２を更新する。ＩＰ（Internet Protocol）パケットは複数のヘッダ部（例えば先頭（第１）のＩＰヘッダ、第２のヘッダ（ＩＰの上位層であるＴＣＰやＵＤＰ（User Datagram Protocol）のヘッダ）等）を有するが、第２のパケットを調べる浅いパケット・インスペクション（ステートフル・パケット・インスペクションと呼び、ディープではない）でもよい。ＯＳＩ参照モデルの第２層から第７層まで全部を調べるようにしてもよい。パケットのヘッダ部やプロトコルのデータ構造だけでなく、ペイロードも調べるようにしてもよい。
【００９６】
図２３は、第２の実施形態の動作を例示する流れ図である。ステップＳ３１はパケット取得部１１３の処理である。ステップＳ３２は教師データ生成部１１４の処理である。ステップＳ３３、Ｓ３４、Ｓ３７は学習フィルタ部１１０の処理である。ステップＳ３６はモード判定部１０３の処理である。パケット取得部１１３は、取得したパケット列を教師データ生成部１１４に供給する（Ｓ３１）。
【００９７】
教師データ生成部１１４は、パケット取得部１１３から供給されたパケット列が属しているモードを例えばＤＰＩ等を用いて判別し、教師データ（例えば正解モード）ＤＢ１１２を更新する。教師データ生成部１１４は、該パケット列を学習フィルタ部１１０に供給する。
【００９８】
学習フィルタ部１１０は、教師データ生成部１１４から供給されたパケット列を入力し、該パケット列がモードの切り替わりポイントであるか否かを、教師データ生成部１１４で作成・更新された教師データＤＢ１１２の教師データ（正解モード）を用いて判定する（Ｓ３３）。
【００９９】
学習フィルタ部１１０は、教師データ生成部１１４から供給されたパケット列から抽出したパケット列について、前記第１の実施形態と同様に、特徴量（例えばパケットサイズの統計量やパケット到着間隔の統計量等）を算出する。学習フィルタ部１１０は、算出した特徴量と、「現在のパケットがモードの切り替わりタイミングである」ということを教師有り学習を用いて学習する（Ｓ３４）。
【０１００】
学習フィルタ部１１０は、モードの切り替わりポイントのパケット列をモード学習部１０１に供給する（Ｓ３５）。
【０１０１】
モード学習部１０１は、パケット列がモード何某（図２３では「モードＸ」）であることを学習し、モード学習モデル１０２を更新する（Ｓ３６）。
【０１０２】
学習フィルタ部１１０は、ステップＳ３３の判定の結果、切り替えポイントでないと判定された場合、パケット列が「判定タイミングではない」と学習を行ない、タイミング学習モデルを更新する（Ｓ３７）。第２の実施形態における判定フェーズは、図１７を参照して説明した前記第１の実施形態の判定フェーズと同じ動作であるため、説明は省略する。
【０１０３】
第２の実施形態によれば、学習フェーズにおいて、通信ネットワーク上を流れるトラフィックのパケット列に対してＤＰＩ等を用いて教師データ（正解モード）を動的に生成する。教師データ（正解モード）の生成等のために用いられるトラフィックとして、通信ネットワーク上を流れる実トラフィック（例えば端末とサーバ間等のトラフィック等）も対応可能とされる。第２の実施形態によれば、ネットワークの負荷等を考慮したトラフィック特性を反映した教師データの生成を可能としている。
【０１０４】
＜実施形態３：モード判定装置＞
図２４は、第３の実施形態のモード判定装置１０Ｂの構成を例示する図である。図２４を参照すると、モード判定装置１０Ｂは、図１１に示したモード判定装置１０構成にさらにネットワーク制御指示送信部１１５を備えている。ネットワーク制御指示送信部１１５は、モードの判定結果に基づき、モードの変更があった場合、変更後のモードのＱｏＳやＱｏＥ要件を満たすようにネットワーク制御装置１４に対して指示を送信する。ネットワーク制御装置１４は、無線アクセスネットワークの基地局やアクセスポイント等であってもよい。あるいは、コアネットワークのノード装置であってもよいし、通信ネットワーク１３に接続するサーバ等であってもよい。
【０１０５】
図２５は、第３の実施形態の動作を例示する流れ図である。図２５において、ステップＳ４１〜Ｓ４４は、図１７の判定フェーズのステップＳ２１〜Ｓ２４と同一であるため説明は省略する。
【０１０６】
ネットワーク制御指示送信部１１５は、モード判定部１０３による判定結果を受け、モードの変更があった場合（Ｓ４５のＹｅｓ）、変更後のモードのＱｏＥ（及び／又はＱｏＳ）を満たすようにネットワーク制御装置１４に対して指示（制御信号）を送信する（Ｓ４６）。
【０１０７】
ネットワーク制御指示送信部１１５は、変更後のモードのＱｏＳやＱｏＥ要件をみたすために、帯域を制御する場合、ユーザ端末に割り当てるリソースブロック（ＲＢ）の割り当て個数を制御する指示（制御信号）を基地局（ｅＮｏｄｅＢ）や無線アクセスポイントに送信するようにしてもよい。あるいは、コアネットワークノードの機能をサーバ仮想化を用いて実現する仮想マシン（Virtual Machine: VM）上のアプリケーション（ＶＮＦ：Virtual Network Function）の性能のスケールアップ、スケールアウト等の制御信号を、ネットワーク制御装置１４を構成する仮想ネットワークの管理システム（NFV（Network Function Virtualization） Management and Orchestration）に送信する構成としてもよい。あるいは、モード判定装置１０Ｂは、例えばコアネットワークのネットワークノードに接続する構成としてもよい。例えばモード判定装置１０Ｂは、ＥＰＣ（Evolved Core network）において、オンライン課金システム（Online Charging System：ＯＣＳ）と連携し、通信残高等に応じて、通信速度（帯域）等の通信ポリシを管理・決定するポリシ課金制御機能（Policy and Charging Rule Function：ＰＣＲＦ）に接続するようにしてもよい。
【０１０８】
本実施形態によれば、切り替わり後のモードのＱｏＳ、ＱｏＥに対応した通信帯域の割り当て等の制御を可能としている。
【０１０９】
＜実施形態４：モード判定装置＞
図２６は、第４の実施形態のモード判定装置１０Ｃの構成を例示する図である。モード判定装置１０Ｃはコンピュータ装置で実現される。図２６を参照すると、モード判定装置１０Ｃを構成するコンピュータ装置は、プロセッサ４０１、記憶装置４０２、表示装置４０３、ネットワークインタフェースカード等の通信インタフェース４０４を備える。記憶装置４０２は、プロセッサ４０１で実行されるプログラムを格納する。プロセッサ４０１は、記憶装置４０２に格納されてプログラムを実行することで、実施形態１乃至３の機能を実現する。なお、図１１のタイミング学習モデル１１１、モード学習モデル１０２、判定結果ＤＢ１０４、教師データＤＢ１１２を、記憶装置４０２に記憶するようにしてもよい。
【０１１０】
＜ネットワークシステムの別の実施形態＞
図２７は、ネットワークシステムの別の実施形態のシステム構成を説明する図である。図２７には、端末（User Equipment：ＵＥ）１１−１〜１１−Ｎ（Ｎは２以上の整数）にモバイル通信サービスを提供するＬＴＥ（Long Term Evolution）網（ＬＴＥアクセス網）１３Ａにモバイル・エッジ・コンピューティング（Mobile Edge Computing：ＭＥＣ）１５が配置されている。モバイル・エッジ・コンピューティング（ＭＥＣ）１５により、データの処理機能の一部をクラウド側ではなく、モバイルネットワーク内に置くことで、通信距離を削減し、データ処理を高速化する。端末１１−１〜１１−Ｎが、通常、ＬＴＥ網１３Ａを介して通信接続するサーバ（例えばアプリケーション・サーバ）上のアプリケーションは、モバイル・エッジ・コンピューティング（ＭＥＣ）１５に、サーバ側アプリケーション１５２として配置される。
【０１１１】
モバイル・エッジ・コンピューティング（ＭＥＣ）１５のコンテキストアウェアエンジン（Context Aware Engine）１５１は、アプリケーションの動作モードに応じてＱｏＳやＱｏＥ要件を満たすための条件（要求）を算出し、該ＱｏＥ要件を満足するためのパラメータ（無線パラメータ）を、例えば基地局（ｅＮｏｄｅＢ）１４Ａ、１４Ｂに送信する。なお、図２７では、簡単のため、基地局（ｅＮｏｄｅＢ）１４Ａ、１４Ｂが示されているが、基地局の台数は２台に制限されるものでないことは勿論である。図２７において、上記実施形態１乃至４のモード判定装置１０（１０Ａ、１０Ｂ、１０Ｃ）をＭＥＣ１５内のコンテキストアウェアエンジン１５１等に接続するか、あるいはＭＥＣ１５内に配置することで、アプリケーションのＱｏＳやＱｏＥ要件等（該アプリケーションサービスが要求するネットワーク性能やトラフィック特性・状況等）などに合わせた、適切なネットワーク制御、ネットワークリソースの割り当てを実現可能としている。なお、図２７の例では、モード判定装置１０（１０Ａ、１０Ｂ、１０Ｃ）によるリアルタイムのモード判定の結果、現時点で、端末１１−１はモード１（大容量データ転送）、端末１１−２はモード２（周期データ転送）、端末１１−Ｎはモード３（アイドル）と判定される。
【０１１２】
なお、モード判定装置１０は、図２４のネットワーク制御装置１４を介して、ＭＥＣ１５のサーバ等を制御するようにしてもよい。あるいは、ＭＥＣ１５を構成するサーバ上の仮想マシン上（Virtual Machine：ＶＭ）で動作するアプリケーションに対して、モード判定装置１０は、図２４のネットワーク制御装置１４を介して、仮想マシンに割り当てる仮想ＣＰＵ（Central Processing Unit）の台数や仮想メモリの容量を増設（又は性能アップ）あるいは減設（又は性能ダウン）するように制御してもよい。
【０１１３】
上記実施形態において、タイミング学習モデル、モード学習モデルの学習手法として、ランダムフォレストなどの分類器を用いるもののほか、ベイズ推定器（Naive Bayes classifier）や、ニューラルネットワーク等を用いてもよい。また、学習・判定を行うウィンドウとして、
１）切り替わりタイミング直前のパケット列を用いる、
２）切り替わりタイミング直後のパケット列を用いる、あるいは、
３）切り替わりタイミング前後のパケット列を用いる、あるいは、
上記１）乃至３）のうちの多数決などを用いるようにしてもよい。
【０１１４】
なお、上記の特許文献１−３、非特許文献１の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０１１５】
上記した実施形態は例えば以下のように付記される（ただし、以下に制限されない）。
【０１１６】
（付記１）
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ部と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、
を備え、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行う、ことを特徴とするモード判定装置。
【０１１７】
（付記２）
前記フィルタ部で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いてモードの判定を行うモード判定部を備えた、ことを特徴とする付記１に記載のモード判定装置。
【０１１８】
（付記３）
前記フィルタ部は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づき、モードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを、前記モード判定部に供給する、ことを特徴とする付記２に記載のモード判定装置。
【０１１９】
（付記４）
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判別して前記教師データを作成する教師データ作成部をさらに備えたことを特徴とする付記１乃至３のいずれか一に記載のモード判定装置。
【０１２０】
（付記５）
前記モード判定部での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成部をさらに備えた、ことを特徴とする付記１乃至４のいずれか一に記載のモード判定装置。
【０１２１】
（付記６）
ネットワークに流れるパケットを補足するパケット取得部を備えた、ことを特徴とする付記１乃至５のいずれか一に記載のモード判定装置。
【０１２２】
（付記７）
前記フィルタ部は、学習フェーズにおいて、
前記パケット取得部で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判別し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習部に供給する、ことを特徴とする付記６に記載のモード判定装置。
【０１２３】
（付記８）
前記フィルタ部は、判定フェーズにおいて、
前記パケット取得部で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否か判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定部に供給する、ことを特徴とする付記７に記載のモード判定装置。
【０１２４】
（付記９）
前記モード学習部は、前記フィルタ部から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、ことを特徴とする付記７又は８に記載のモード判定装置。
【０１２５】
（付記１０）
前記モード判定部は、前記フィルタ部から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、ことを特徴とする付記９に記載のモード判定装置。
【０１２６】
（付記１１）
コンピュータを用いたモード判定方法であって、
学習用トラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ工程と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習工程と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定工程と、
を含む、ことを特徴とするモード判定方法。
【０１２７】
（付記１２）
前記モード判定工程では、前記フィルタ工程で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いて、モードの判定を行う、ことを特徴とする付記１１に記載のモード判定方法。
【０１２８】
（付記１３）
前記フィルタ工程は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づきモードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを前記モード判定工程に供給する、ことを特徴とする付記１２に記載のモード判定方法。
【０１２９】
（付記１４）
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判定して前記教師データを作成する教師データ作成工程をさらに含む、ことを特徴とする付記１１乃至１３のいずれか一に記載のモード判定方法。
【０１３０】
（付記１５）
前記モード判定工程での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成工程をさらに備えた、ことを特徴とする付記１１乃至１４のいずれか一に記載のモード判定方法。
【０１３１】
（付記１６）
ネットワークに流れるパケットを補足するパケット取得工程を含む、ことを特徴とする付記１１乃至１５のいずれか一に記載のモード判定方法。
【０１３２】
（付記１７）
前記フィルタ工程は、学習フェーズにおいて、
前記パケット取得工程で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判定し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習工程に供給する、ことを特徴とする付記１６に記載のモード判定方法。
【０１３３】
（付記１８）
前記フィルタ工程は、判定フェーズにおいて、
前記パケット取得工程で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否かを判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定工程に供給する、ことを特徴とする付記１７に記載のモード判定方法。
【０１３４】
（付記１９）
前記モード学習工程は、前記フィルタ工程から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、ことを特徴とする付記１７又は１８に記載のモード判定方法。
【０１３５】
（付記２０）
前記モード判定工程は、前記フィルタ工程から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、ことを特徴とする付記１９に記載のモード判定方法。
【０１３６】
（付記２１）
学習用トラフィックデータを入力し、教師データを用いて、前記トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ処理と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習処理と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定処理と、をコンピュータに実行させるプログラム。
【０１３７】
（付記２２）
前記モード判定処理では、前記フィルタ処理で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いて、モードの判定を行う、付記２１に記載のプログラム。
【０１３８】
（付記２３）
前記フィルタ処理は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づきモードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを前記モード判定処理に供給する、付記２２に記載のプログラム。
【０１３９】
（付記２４）
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判別して前記教師データを作成する教師データ作成処理をさらに前記コンピュータに実行させる、付記２１乃至２３のいずれか一に記載のプログラム。
【０１４０】
（付記２５）
前記モード判定処理での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成処理をさらに前記コンピュータに実行させる、付記２１乃至２４のいずれか一に記載のプログラム。
【０１４１】
（付記２６）
ネットワークに流れるパケットを補足するパケット取得処理をさらに前記コンピュータに実行させる、付記２１乃至２５のいずれか一に記載のプログラム。
【０１４２】
（付記２７）
前記フィルタ処理は、学習フェーズにおいて、
前記パケット取得処理で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判定し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習処理に供給する、付記２６に記載のプログラム。
【０１４３】
（付記２８）
前記フィルタ処理は、判定フェーズにおいて、
前記パケット取得処理で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否かを判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定処理に供給する、付記２７に記載のプログラム。
【０１４４】
（付記２９）
前記モード学習処理は、前記フィルタ処理から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、付記２７又は２８に記載のプログラム。
【０１４５】
（付記３０）
前記モード判定処理は、前記フィルタ処理から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、付記２９に記載のプログラム。
【０１４６】
（付記３１）
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタと、モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、を備え、前記モード学習モデルを用いてトラフィックデータのモード判定を行うモード判定装置と、
前記モード判定装置のモード判定結果に基づき、ネットワークのトラフィックを制御するネットワーク制御装置と、
を備えた、ことを特徴とするネットワークシステム。
【０１４７】
（付記３２）
前記モード判定装置は、前記フィルタ部で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いてモードの判定を行うモード判定部を備えた、ことを特徴とする付記３１に記載のネットワークシステム。
【０１４８】
（付記３３）
前記モード判定装置において、前記フィルタ部は、判定フェーズにおいて、前記実トラフィックデータを入力し、前記学習したタイミングに基づき、モードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを、前記モード判定部に供給する、ことを特徴とする付記３２に記載のネットワークシステム。
【０１４９】
（付記３４）
付記１乃至１０のいずれか一に記載のモード判定装置を備えたモバイル・エッジ・コンピューティング（ＭＥＣ）装置。
【０１５０】
（付記３５）
付記１乃至１０のいずれか一に記載のモード判定装置を備えたコンテキストアウェアエンジン装置。
【符号の説明】
【０１５１】
１、１１Ａ、１１Ｂ  端末
２  スイッチ
３  サーバ
４  モニタ装置（パケットモニタ装置）
５  通信
９ａ  トラフィック
９ｂ  モードの時系列、
９ｃ  判定されたモードの時系列（本実施形態）
９ｄ  比較例により判定されたモードの時系列
１０、１０Ａ、１０Ｂ、１０Ｃ  モード判定装置
１１−１〜１１−Ｎ、１１Ａ、１１Ｂ  端末（ＵＥ）
１２  サーバ
１３  通信ネットワーク
１３Ａ  ＬＴＥ網
１４  ネットワーク制御装置
１４Ａ、１４Ｂ  基地局（eNodeB）
１５  モバイル・エッジ・コンピューティング（ＭＥＣ）
１０１  モード学習器（モード学習部）
１０２  モード学習モデル
１０３  モード判定器（モード判定部）
１０４  判定結果（判定結果ＤＢ）
１０５  学習用トラフィックデータ
１０６  教師データ
１０７  ウィンドウ
１０８  実トラフィックデータ
１１０  学習フィルタ（学習フィルタ部）
１１１  タイミング学習モデル
１１２  教師データＤＢ
１１３  パケット取得部
１１４  教師データ生成部
１１５  ネットワーク制御指示送信部
１５１  コンテキストアウェアエンジン
１５２  サーバ側アプリケーション
２０１  プロトコル学習器
２０２  学習用トラフィックデータ
２０３  学習用教師（正解）データ
２０４  プロトコル学習モデル
２０５  プロトコル判定器
２０６  実トラフィックデータ
２０７  判定結果
２０８  セッション
２０９  ウィンドウ
３０１  モード学習器
３０２  モード学習モデル
３０３  モード判定器
３０４  判定結果
３０５  学習用トラフィックデータ
３０６  モード（教師データ）
３０７  ウィンドウ
３０８  実トラフィックデータ
４０１  プロセッサ
４０２  記憶装置
４０３  表示装置
４０４  通信インタフェース
１０１１  特徴量算出部
１０１２  教師有り学習部
１０１３  モード学習モデル更新部
１０３１  特徴量算出部
１０３２  判定処理部
１０３３  判定結果出力部
１１００  制御部
１１０１  パケット保持部
１１０２Ａ  第１の切り替わりポイント判定部
１１０２Ｂ  第２の切り替わりポイント判定部
１１０３  パケット列抽出部
１１０４  特徴量算出部
１１０５  教師有り学習部
１１０６  タイミング学習モデル更新部
１１０７  パケット供給部
【図１Ａ】
2018131561.tif 000003
【図１Ｂ】
2018131561.tif 000004
【図２Ａ】
2018131561.tif 000005
【図２Ｂ】
2018131561.tif 000006
【図３Ａ】
2018131561.tif 000007
【図３Ｂ】
2018131561.tif 000008
【図４Ａ】
2018131561.tif 000009
【図４Ｂ】
2018131561.tif 000010
【図５Ａ】
2018131561.tif 000011
【図５Ｂ】
2018131561.tif 000012
【図５Ｃ】
2018131561.tif 000013
【図６】
2018131561.tif 000014
【図７】
2018131561.tif 000015
【図８Ａ】
2018131561.tif 000016
【図８Ｂ】
2018131561.tif 000017
【図８Ｃ】
2018131561.tif 000018
【図９】
2018131561.tif 000019
【図１０】
2018131561.tif 000020
【図１１】
2018131561.tif 000021
【図１２】
2018131561.tif 000022
【図１３】
2018131561.tif 000023
【図１４】
2018131561.tif 000024
【図１５】
2018131561.tif 000025
【図１６】
2018131561.tif 000026
【図１７】
2018131561.tif 000027
【図１８】
2018131561.tif 000028
【図１９】
2018131561.tif 000029
【図２０】
2018131561.tif 000030
【図２１】
2018131561.tif 000031
【図２２】
2018131561.tif 000032
【図２３】
2018131561.tif 000033
【図２４】
2018131561.tif 000034
【図２５】
2018131561.tif 000035
【図２６】
2018131561.tif 000036
【図２７】
2018131561.tif 000037
【手続補正書】
【提出日】令和1年7月9日(2019.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ部と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定部と、
を備えた、ことを特徴とするモード判定装置。
【請求項２】
前記モード判定部は、前記フィルタ部で学習したタイミングに対応する前記実トラフィックデータに対して、前記モード学習モデルを用いてモードの判定を行う、ことを特徴とする請求項１に記載のモード判定装置。
【請求項３】
前記フィルタ部は、判定フェーズにおいて、
前記実トラフィックデータを入力し、前記学習したタイミングに基づき、モードの切り替わりに対応するタイミングを判別し、前記モードの切り替わりに対応するタイミングの前記実トラフィックデータを、前記モード判定部に供給する、ことを特徴とする請求項１又は２に記載のモード判定装置。
【請求項４】
前記学習用トラフィックを構成するパケットを解析し、前記パケットの属しているモードを判別して前記教師データを作成する教師データ作成部をさらに備えたことを特徴とする請求項１乃至３のいずれか１項に記載のモード判定装置。
【請求項５】
前記モード判定部での判定結果に基づき、ネットワークの制御を行う装置に対して制御指示信号を生成する制御指示生成部をさらに備えた、ことを特徴とする請求項１乃至４のいずれか１項に記載のモード判定装置。
【請求項６】
ネットワークに流れるパケットを捕捉するパケット取得部を備えた、ことを特徴とする請求項１乃至５のいずれか１項に記載のモード判定装置。
【請求項７】
前記フィルタ部は、学習フェーズにおいて、
前記パケット取得部で取得した学習用トラフィックのパケットを受け、前記教師データを用いてモードの切り替わりポイントであるか否か判別し、
前記パケットを含む所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記パケットがモードの切り替わりのタイミングである又はない、ということを、教師有り学習で学習してタイミング学習モデルを更新し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード学習部に供給する、ことを特徴とする請求項６に記載のモード判定装置。
【請求項８】
前記フィルタ部は、判定フェーズにおいて、
前記パケット取得部で取得した実トラフィックのパケットを受け、前記実トラフィックの前記パケットを含む前記所定長のウィンドウのパケット列の特徴量を算出し、
前記特徴量と、前記タイミング学習モデルを用いて、前記パケットがモードの切り替わりのタイミングであるか否か判別し、
モードの切り替わりのタイミングである場合、前記パケットを含むパケット列を前記モード判定部に供給する、ことを特徴とする請求項７に記載のモード判定装置。
【請求項９】
前記モード学習部は、前記フィルタ部から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記パケットが属するモードを、教師有り学習で学習してモード学習モデルを更新する、ことを特徴とする請求項７又は８に記載のモード判定装置。
【請求項１０】
前記モード判定部は、前記フィルタ部から供給された前記パケットを含むパケット列の特徴量を算出し、
前記特徴量と、前記モード学習モデルを用いて、前記パケットがどのモードに属するパケットであるか判別する、ことを特徴とする請求項９に記載のモード判定装置。
【請求項１１】
コンピュータを用いたモード判定方法であって、
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ工程と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習工程と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定工程と、
を含む、ことを特徴とするモード判定方法。
【請求項１２】
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタ処理と、
モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモデル学習処理と、
前記モード学習モデルを用いて実トラフィックデータのモードの判定を行うモード判定処理と、をコンピュータに実行させるプログラム。
【請求項１３】
学習用トラフィックデータを入力し、教師データを用いて、前記学習用トラフィックデータにおけるモードの切り替わりのタイミングを学習するフィルタと、モードの切り替わりの前記タイミングに対応する前記学習用トラフィックデータと、前記教師データとに基づき、モード判定用のモード学習モデルを生成するモード学習部と、を備え、前記モード学習モデルを用いてトラフィックデータのモード判定を行うモード判定装置と、
前記モード判定装置のモード判定結果に基づき、ネットワークのトラフィックを制御するネットワーク制御装置と、
を備えた、ことを特徴とするネットワークシステム。
【国際調査報告】
2018131561.tif 000038
2018131561.tif 000039
2018131561.tif 000040