(57)【要約】【課題】無線通信事業者によるデータパケットの分析が低コストで、且つ、プライバシ侵害のリスクを低減した、端末の起動中アプリケーションを推定する装置等を提供する。【解決手段】基地局と無線通信している端末について、起動中アプリケーションを推定する推定装置であって、無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンとを有し、機械学習エンジンは、端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する。無線データリンクの通信ログは、基地局に対する上りトラヒック量、下りトラヒック量無線トラヒック量及び接続時間であってもよい。また、無線データリンクのデータパケットが分断された通信ログを連結し、連結した通信ログを機械学習エンジンへ出力する通信ログ連結手段を更に有する。【選択図】図１
2020077244.tif 000002
【特許請求の範囲】
【請求項１】
基地局と無線通信している端末について、起動中アプリケーションを推定する推定装置であって、
無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンと
を有し、
前記機械学習エンジンは、前記端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する
ことを特徴とする推定装置。
【請求項２】
前記無線データリンクの通信ログは、基地局に対する無線トラヒック量及び／又は接続時間である
ことを特徴とする請求項１に記載の推定装置。
【請求項３】
前記無線トラヒック量は、上りトラヒック量及び下りトラヒック量の両方を含む
ことを特徴とする請求項２に記載の推定装置。
【請求項４】
前記無線データリンクのデータパケットが分断された通信ログを連結し、連結した通信ログを前記機械学習エンジンへ出力する通信ログ連結手段を
更に有することを特徴とする請求項１から３のいずれか１項に記載の推定装置。
【請求項５】
前記通信ログ連結手段は、無線データリンクの通信中断によるデータパケットの分断（MRCS：Multi Records Combined into a Session）について、隣接する通信ログを連結する
ことを特徴とする請求項４に記載の推定装置。
【請求項６】
前記通信ログ連結手段は、端末が捕捉する基地局が変更されたハンドオーバに基づくデータパケットの分断（SSMR：Session Split into Multiple Records）について、隣接する通信ログを連結する
ことを特徴とする請求項４又は５に記載の推定装置。
【請求項７】
基地局と無線通信している端末について、起動中アプリケーションを推定する装置に搭載されたコンピュータを機能させるプログラムであって、
無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンと
を有し、
前記機械学習エンジンは、前記端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する
ようにコンピュータを機能させることを特徴とするプログラム。
【請求項８】
基地局と無線通信している端末における、無線データリンクの通信ログを取得した装置における起動中アプリケーション推定方法であって、
前記装置は、無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンを有し、
前記装置は、前記機械学習エンジンへ、前記端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する
ことを特徴とする装置の起動中アプリケーション推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末における起動中アプリケーションを推定する技術に関する。
【背景技術】
【０００２】
近年、ユーザは、様々なアプリケーションプログラム（ＡＰ(Application Program)）を、自らのスマートフォンにインストールして利用することができる。
また、高速かつ大容量の通信が可能な無線通信インフラの普及によって、端末におけるデータ通信を伴うアプリケーションの利用も急増している。そのようなアプリケーションとしては、動画・チャット、通話、画像、ゲーム、地図などがある。
データ通信を伴うアプリケーションの利用の増加は、無線通信インフラに対する過負荷や輻輳の要因となる。そのために、無線通信事業者は、多数のユーザのアプリケーションの利用状況を正確に把握し、無線通信インフラへの柔軟な投資が必要となる。
【０００３】
このような状況下、多数のユーザが、どのようなアプリケーションをスマートフォンで日常的に利用しているかを計測することは、通信事業者の観点のみならず、マーケティングの観点からも重要な問題となってきている。
【０００４】
従来、起動中アプリケーションの推定方式としては、「端末データ活用方式」と、「ネットワークデータ活用方式」とがある。
「端末データ活用方式」は、端末のメモリやＣＰＵなどの制御ログや、各種センサ情報によるコンテキスト抽出結果を用いて、起動中のアプリケーションを推定するものである。
例えば、端末によって取得された位置情報と任意アプリケーションの起動履歴とを保存し、将来的なアプリケーションの起動を推定する技術がある（例えば特許文献１参照）。
また、端末内のシステム情報（ＣＰＵ、メモリ、Bluetooth（登録商標）、WiFi情報、ＯＳ設定、バッテリー情報）やＧＰＳ、加速度センサ、通話情報、ＳＭＳ情報など、あらゆる端末情報を用いて、起動中アプリケーションを推定する技術もある（例えば非特許文献２参照）。この場合、７９％〜８７％程度の推定精度を達成している。
【０００５】
「ネットワーク活用方式」は、端末から送信される通信トラフィック量によって推定するものである。具体的には、ＯＳI参照モデルにおけるトランスポート層及びネットワーク層における通信トラフィックを用いて、起動中アプリケーションを推定する。通信インフラ側で収集可能な各端末の通信トラフィックから起動中アプリケーションを推定するため、ユーザ側の端末に負担を欠けることがない。また、通信インフラ事業者は、自通信網と通信する端末における起動中アプリケーションを、網羅的に分析することができる。
例えば、各アプリケーションにおける通信時の宛先ＩＰアドレスと送信パケットのペイロードとを特徴フィンガープリントとして学習し、起動中アプリケーションを推定する技術もある（例えば非特許文献３参照）。
また、起動中アプリケーションの通信時におけるＤＮＳ情報と通信トラフィックとを特徴フィンガープリントとして学習し、起動中アプリケーションを推定する技術もある（例えば特許文献２参照）。例えばネットワーク層のデータパケットを対象として、起動中アプリケーションを推定することもできる。
更に、アプリケーション起動時におけるＴＣＰヘッダ情報のみを学習して、アプリケーションを識別する技術もある（例えば非特許文献４参照）。この技術によれば、頻繁に起動されるアプリケーションであれば、推定精度８８％を達成し、学習データが数日程度経過した後であっても精度低下がないことが確かめられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１９８３４５号公報
【特許文献２】特開２０１５−１４９６９５号公報
【非特許文献】
【０００７】
【非特許文献１】Q. Wang, A. Yahyavi, B. Kemme, and W. He, “I know what you did on your smartphone: Inferring app usage over encrypted data traffic,” 2015 IEEE Conf. Commun. Network Security, CNS 2015, pp. 433?441, 2015.
【非特許文献２】Shin, C., Hong, J.-H., and Dey, A. K. Understanding and prediction of mobile application usage for smart phones. In Proc. of UbiComp’12, ACM (2012), 173?182
【非特許文献３】S. Dai, A. Tongaonkar, X. Wang, A. Nucci, and D. Song, “NetworkProfiler: Towards automatic fingerprinting of Android apps,” Proc. - IEEE INFOCOM, pp. 809?817, 2013.
【非特許文献４】H. F. Alan and J. Kaur, “Can Android Applications Be Identified Using Only TCP/IP Headers of Their Launch Time Traffic?” In Proc. 9th ACM Conf. Secur. Priv. Wirel. Mob. Networks - WiSec ’16, New York, NewYork, USA: ACM Press, 2016, pp. 61-66..
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した端末データ活用方式によれば、ユーザが所持する端末のデータを収集する必要があるため、ユーザの協力が必要不可欠となる。特に、プライバシ保護や作業負荷の観点から、網羅的な無線通信インフラ上で、起動中アプリケーションを推定することは難しい。
また、前述したネットワークデータ活用方式によれば、自通信網に入出力する日々増加する全てのＴＣＰパケットやＩＰパケット内をキャプチャして分析する必要があり、膨大な設備投資による導入コストが高いという課題がある。
更に、非特許文献１のように、暗号化されたパケットであっても盗聴可能な技術が登場しているため、同層におけるネットワークデータ活用方式は、プライバシ侵害の危険性を帯びている。
【０００９】
そこで、本発明は、無線通信事業者によるデータパケットの分析が低コストで、且つ、プライバシ侵害のリスクを低減した、端末における起動中アプリケーションを推定する装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によれば、基地局と無線通信している端末について、起動中アプリケーションを推定する推定装置であって、
無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンと
を有し、
機械学習エンジンは、端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する
ことを特徴とする。
【００１１】
本発明の推定装置における他の実施形態によれば、
無線データリンクの通信ログは、基地局に対する無線トラヒック量及び／又は接続時間であることも好ましい。
【００１２】
本発明の推定装置における他の実施形態によれば、
無線トラヒック量は、上りトラヒック量及び下りトラヒック量の両方を含む
ことも好ましい。
【００１３】
本発明の推定装置における他の実施形態によれば、
無線データリンクのデータパケットが分断された通信ログを連結し、連結した通信ログを機械学習エンジンへ出力する通信ログ連結手段を
更に有することも好ましい。
【００１４】
本発明の推定装置における他の実施形態によれば、
通信ログ連結手段は、無線データリンクの通信中断によるデータパケットの分断（MRCS：Multi Records Combined into a Session）について、隣接する通信ログを連結する
ことも好ましい。
【００１５】
本発明の推定装置における他の実施形態によれば、
通信ログ連結手段は、端末が捕捉する基地局が変更されたハンドオーバに基づくデータパケットの分断（SSMR：Session Split into Multiple Records）について、隣接する通信ログを連結する
ことも好ましい。
【００１６】
本発明によれば、基地局と無線通信している端末について、起動中アプリケーションを推定する装置に搭載されたコンピュータを機能させるプログラムであって、
無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンと
を有し、
機械学習エンジンは、端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する
ようにコンピュータを機能させることを特徴とする。
【００１７】
本発明によれば、基地局と無線通信している端末における、無線データリンクの通信ログを取得した装置における起動中アプリケーション推定方法であって、
装置は、無線データリンクの通信ログを説明変数とし、起動中アプリケーション識別子を目的変数とした教師データによって、学習モデルを構築した機械学習エンジンを有し、
装置は、機械学習エンジンへ、端末における無線データリンクの通信ログを入力し、当該端末における起動中アプリケーション識別子を出力する
ことを特徴とする。
【発明の効果】
【００１８】
本発明の推定装置、プログラム及び方法によれば、無線通信事業者によるデータパケットの分析が低コストで、且つ、プライバシ侵害のリスクを低減した、端末における起動中アプリケーションを推定することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明におけるシステム構成図である。
【図２】本発明における機械学習エンジンの学習段階を表す説明図である。
【図３】アプリケーション毎の通信ログの特性を表す説明図である。
【図４】本発明における機械学習エンジンの推定段階を表す説明図である。
【図５】通信ログ連結部の処理を表すフローチャートである。
【図６】ドーマントによって分断された無線データリンクのデータパケットの連結を表す説明図である。
【図７】ハンドオーバによって分断された無線データリンクのデータパケットの連結を表す説明図である。
【発明を実施するための形態】
【００２０】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２１】
図１は、本発明におけるシステム構成図である。
【００２２】
図１のシステムによれば、端末２は、例えばスマートフォンであって、ユーザ所望のアプリケーションをインストールして起動させることができる。また、端末２は、基地局３との間で無線データリンクを確立し、そのアプリケーションの挙動に応じて、基地局３を介してアプリケーションサーバ４と通信する。その際、端末２と基地局３との間では、無線データリンクのデータパケットが送受信される。
【００２３】
ここで、端末２は、起動中のアプリケーションに応じて、基地局３との間で送受信する無線データリンクのデータパケットの挙動が異なる。例えばチャットサービスのアプリケーションの場合、少ないトラヒック量のデータパケットが、間欠的に送受信される。一方で、動画サービスのアプリケーションの場合、大きいトラヒック量のデータパケットが、連続的に送受信される。このような無線データリンクの通信ログ（CDRs：Call Detail 
Records）は、通信事業者が運用する基地局３によって取得することができる。
【００２４】
本発明の推定装置１は、通信事業設備として設置されるものであって、端末２と基地局３との間の無線データリンクの通信ログを、基地局３から受信する。無線データリンクの通信ログを取得するために、端末２に別途のアプリケーションを起動させたり、端末２が自ら、通信ログを推定装置１へ送信する必要もない。
本発明の推定装置１は、端末２と基地局３との間で送受信された無線データリンクの通信ログに基づいて、当該端末２における起動中アプリケーションを推定することができる。特に、無線データリンクの通信ログを用いることによって、無線通信事業者によるデータパケットの分析が低コストで、且つ、プライバシ侵害のリスクを低減することができる。
【００２５】
図１によれば、推定装置１は、機械学習エンジン１０と、通信ログ連結部１１と、端末管理データベース１２とを有する。これら機能構成部は、推定装置１に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、端末における起動中アプリケーションの推定方法としても理解できる。
【００２６】
［機械学習エンジン１０］
機械学習エンジン１０は、教師データによって学習モデルを構築したものである。機械学習エンジン１０は、起動中アプリケーションの挙動によって発生した無線データリンクの通信ログを特徴量として、機械学習によってその起動中アプリケーションを推定することができる。
【００２７】
図２は、本発明における機械学習エンジンの学習段階を表す説明図である。
【００２８】
図２によれば、教師データは、以下のようなものである。
説明変数：無線データリンクの通信ログ
目的変数：起動中アプリケーションＩＤ
通信ログは、無線データリンクの複数のデータパケットの集合である。具体的には、無線データリンクのデータパケットの「上り無線トラヒック量」「下り無線トラヒック量」「接続時間」（接続開始時刻−接続切断時刻）である。
【００２９】
起動中アプリケーションとしては、例えば以下のような種類がある。
動画サービスアプリケーション
チャットサービスアプリケーション
通話サービスアプリケーション
画像サービスアプリケーション
ゲームサービスアプリケーション
地図サービスアプリケーション
【００３０】
機械学習エンジン１０は、具体的に以下のような分類器である。
サポートベクタマシン：教師あり学習を用いるパターン認識モデルであり、分類や回帰に適用可能な学習アルゴリズムである。
ＫＮＮ(K Nearest Neighbor)：学習データをベクトル空間上にプロットし、未知のデータに対して距離が近い順に任意のK個を取得し、多数決でデータが属するクラスを推定する学習アルゴリズムである。
決定木：ある事項に対する観察結果から、その事項の目標値に関する結論を導く予測モデルである。内部節点は変数に対応し、子節点への枝はその変数の取り得る値を示す。 葉（端点）は、根(root)からの経路によって表される変数値に対して、目的変数の予測値を表す。
ランダムフォレスト(Random Forest)：決定木を弱学習器とする集団学習アルゴリズムである。
Naive Bayes：ベイズの定理に基づく教師あり学習アルゴリズムである。
ニューラルネットワーク(neural network)：人間の脳神経系のニューロンを数理モデル化した学習アルゴリズムである。
【００３１】
図３は、アプリケーション毎の通信ログの特性を表す説明図である。
【００３２】
図３によれば、起動中アプリケーションの挙動によって発生した無線データリンクの通信ログを特徴量（上り無線トラヒック量、下り無線トラヒック量、接続時間）を表す。例えばチャットサービスのアプリケーションの場合、上り無線トラヒック量及び下り無線トラヒック量が少なく、接続時間も短い。一方で、例えば動画サービスのアプリケーションの場合、上り無線トラヒック量及び下り無線トラヒック量が多く、接続時間も長い。
【００３３】
図４は、本発明における機械学習エンジンの推定段階を表す説明図である。
【００３４】
機械学習エンジン１０は、端末２における起動中アプリケーションによって発生した無線データリンクにおける連続的な所定数ｎ個の通信ログ（説明変数）を入力する。
そして、機械学習エンジン１０は、予め構築した学習モデルを用いて、当該端末２における起動中アプリケーション識別子（目的変数）を出力する。
図４によれば、例えば上り無線トラヒック量及び下り無線トラヒック量が多く、接続時間も長い、無線データリンクの通信ログに対して、動画サービスのアプリケーションＩＤを出力している。
【００３５】
尚、前述した図１によれば、推定装置１は、基地局３から無線データリンクの通信ログを受信するように表しているが、推定装置１内に、端末における起動中アプリケーションによって発生した無線データリンクにおける通信ログを保存したデータベースを、予め蓄積したものであってもよい。
【００３６】
［端末管理データベース１２］
端末管理データベース１２は、機械学習エンジン１０によって推定された起動中アプリケーション識別子と、端末とを対応付けて記憶する。
【００３７】
［通信ログ連結部１１］
通信ログ連結部１１は、無線データリンクのデータパケットが分断された通信ログを連結し、連結した通信ログを機械学習エンジン１０へ出力する。
【００３８】
無線データリンクでは、データパケットについて、以下の２つの分断現象が生じる場合がある。
（１）無線データリンクの通信中断（ドーマント）によるデータパケットの分断（ＭＲＣＳ：Multi Records Combined into a Session）
（２）端末が捕捉する基地局が変更されたハンドオーバによるデータパケットの分断（ＳＳＭＲ：Session Split into Multiple Records）
【００３９】
起動中アプリケーションの挙動によって無線データリンクのデータパケットが発生しても、そのデータパケットが無線データリンクの影響によって分断された場合、通信ログから起動中アプリケーションを推定することは難しい。即ち、無線データリンクの通信ログの分断は、正しいアプリケーション単位の通信ログを取得できないために、判定精度の著しい低下を招く。
【００４０】
ここで、通信ログ連結部１１は、無線データリンクにおける分断現象によって生じた通信ログ同士を連結しながら、機械学習エンジン１０へ出力する。これによって、機械学習エンジン１０は、通信ログの分断を考慮することなく、起動中アプリケーション識別子を推定することができる。
【００４１】
図５は、通信ログ連結部の処理を表すフローチャートである。
【００４２】
通信ログ連結部１１は、端末２における起動中アプリケーションによって発生した無線データリンクにおける連続的な通信ログ（説明変数）を入力する。
データパケットの分断は、データパケットの通信ログに記録されるＲＩＴ(Record Interval Time)の有無によって確認される。ＲＩＴの発生が認められた場合、ＭＲＣＳ(Multi Records Combined into a Session)で、通信ログを連結する。
【００４３】
（Ｓ１１１）通信ログ連結部１１は、ドーマントによって分断された無線データリンクのデータパケットの通信ログを連結する。
ここで、通信ログの連結とは、隣接する通信ログ同士における無線トラヒック量や接続時間を加算して、１つの通信ログにマージすることをいう。
【００４４】
図６は、ドーマントによって分断された無線データリンクのデータパケットの連結を表す説明図である。
【００４５】
図６によれば、最初には、端末２の起動中アプリケーションによって無線データリンクから送信しようとするデータパケットは、そのまま、基地局３へ送信されている。基地局３は、その無線データリンクのデータパケットによって通信ログを生成し、その通信ログを推定装置１へ送信する。
その後、端末２と基地局３との間で発生したドーマントによって、無線データリンクのデータパケットは分断され、分断されたまま、基地局３へ送信されている。基地局３は、分断された無線データリンクのデータパケットによって通信ログを生成し、その通信ログを推定装置１へ送信する。推定装置１は、通信ログからドーマントによるデータパケットの分断を検知し、通信ログを連結する。
【００４６】
（Ｓ１１２）通信ログ連結部１１は、ハンドオーバによって分断された無線データリンクのデータパケットの通信ログを連結する。
ハンドオーバとは、端末２が捕捉する基地局３が変更されることをいう。
【００４７】
図７は、ハンドオーバによって分断された無線データリンクのデータパケットの連結を表す説明図である。
【００４８】
図７によれば、最初には、端末２の起動中アプリケーションによって無線データリンクから送信しようとするデータパケットは、そのまま、基地局３へ送信されている。基地局３は、その無線データリンクのデータパケットによって通信ログを生成し、その通信ログを推定装置１へ送信する。
その後、端末２と複数の基地局３との間で発生したハンドオーバによって、無線データリンクのデータパケットは分断され、分断されたまま、各基地局３へ送信されている。各基地局３は、分断された無線データリンクのデータパケットによって通信ログを生成し、その通信ログを推定装置１へ送信する。推定装置１は、通信ログからハンドオーバによるデータパケットの分断を検知し、通信ログを連結する。
【００４９】
以上、詳細に説明したように、本発明の推定装置、プログラム及び方法によれば、無線通信事業者によるデータパケットの分析が低コストで、且つ、プライバシ侵害のリスクを低減した、端末における起動中アプリケーションを推定することができる。
【００５０】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５１】
１  推定装置
１０  機械学習エンジン
１１  通信ログ連結部
１２  端末管理データベース
２  端末
３  基地局
４  アプリケーションサーバ
【図１】
2020077244.tif 000003
【図２】
2020077244.tif 000004
【図３】
2020077244.tif 000005
【図４】
2020077244.tif 000006
【図５】
2020077244.tif 000007
【図６】
2020077244.tif 000008
【図７】
2020077244.tif 000009