(57)【特許請求の範囲】
【請求項１】
ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するネットワーク品質予測装置であって、
時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、
エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、
前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出する移動予測計算手段と、
前記移動予測計算手段により算出されたエリア識別情報系列を、初期エリア識別情報とともに格納する移動予測データベースと、
前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算手段とを備え、
前記移動予測計算手段は、
前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し、
次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力する
ことを特徴とするネットワーク品質予測装置。
【請求項２】
ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するためのネットワーク品質予測装置が実行するネットワーク品質予測方法であって、
前記ネットワーク品質予測装置は、
時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、
エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、
移動予測データベースと、を備えており、前記ネットワーク品質予測方法は、
前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出し、算出されたエリア識別情報系列を、初期エリア識別情報とともに前記移動予測データベースに格納する移動予測計算ステップと、
前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算ステップとを備え、
前記移動予測計算ステップにおいて、前記ネットワーク品質予測装置は、
前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し
次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力する
ことを特徴とするネットワーク品質予測方法。
【請求項３】
コンピュータを、請求項１に記載のネットワーク品質予測装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信履歴に基づく移動予測を利用して将来のスループット等のネットワーク品質を予測する技術に関するものである。
【背景技術】
【０００２】
近年のモバイルネットワークの普及にともない、ネットワークを介したアプリケーションやサービスが多数提供されている。そうしたサービスの中には、将来のネットワーク品質を予測することで、より適切なサービスを提供できるという性質を持ったものが存在する。その中でも代表的なサービスが、動画配信サービスである。
【０００３】
動画配信サービスは、再生開始待ち時間低減のため、全てダウンロードしてから再生するという形式ではなく、ダウンロードしながら同時に再生を行うという形式をとっていることが多い。この形式はプログレッシブダウンロード(PDL)型と呼ばれており、多くの動画配信サービスで利用されている。また、サーバに何パターンかの条件でエンコードされた動画ファイルを用意しておき、ネットワーク品質やバッファ量に応じてどの品質で配信するかを動的に決定する、Adaptive Bitrate(ABR)方式の利用も広がっている。PDLかつABR型の配信においては、ネットワーク品質に対して高すぎる符号化レートの動画を配信してしまうと、途中で再生が停止してしまう一方で、低すぎる符号化レートの動画を配信してしまうと、ネットワーク帯域が余っているにも関わらず低画質の動画しか視聴できないという現象が発生する。
【０００４】
こうした問題に対応するため、将来のネットワーク品質を高精度に推定するための手法が多数提案されている。その中でも代表的なものとしては、過去のスループット系列を用いる方式や、移動予測を含めてスループットを予測する方式（非特許文献１）がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Jia Hao, Roger Zimmermann, and Haiyang Ma. 2014. GTube: geo-predictive video streaming over HTTP in mobile environments. In Proceedings of the 5th ACM Multimedia Systems Conference(MMSys '14). ACM, New York, NY, USA, 259-270. DOI=10.1145/2557642.2557647 http://doi.acm.org/10.1145/2557642.2557647
【発明の概要】
【発明が解決しようとする課題】
【０００６】
過去のスループット系列を用いる手法は、推定精度があまりよくないという課題がある。これは、ユーザが通信中に移動してしまい、所属するセルID（以降CIDと記す）が変化することが主な原因である。CIDが変化すると、ネットワーク品質も大きく変化するため、スループット情報のみから将来のスループットを予測することは難しい。非特許文献１では、こうした問題に対処するため移動予測に基づくスループット予測を行っているが、GPS情報を用いて移動予測の学習を行うという点に大きな課題がある。現在、スマートフォンアプリ等において、GPS情報を取得する際には、事前にユーザの許可をとる必要があり、GPS情報を収集されることに嫌悪感を示すユーザも少なくない。そのため、既存手法では、移動予測を行うために必要な情報を大量に集めることが難しいという問題があった。
【０００７】
本発明は、上記の点に鑑みてなされたものであり、ユーザに新たに許諾を得ることなくユーザの移動先を予測し、それに基づいてネットワーク品質の予測を行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態によれば、ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するネットワーク品質予測装置であって、
時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、
エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、
前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出する移動予測計算手段と、
前記移動予測計算手段により算出されたエリア識別情報系列を、初期エリア識別情報とともに格納する移動予測データベースと、
前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算手段とを備え、
前記移動予測計算手段は、
前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し、
次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力する
ことを特徴とするネットワーク品質予測装置が提供される。
【０００９】
また、本発明の実施の形態によれば、ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するためのネットワーク品質予測装置が実行するネットワーク品質予測方法であって、
前記ネットワーク品質予測装置は、
時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、
エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、
移動予測データベースと、を備えており、前記ネットワーク品質予測方法は、
前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出し、算出されたエリア識別情報系列を、初期エリア識別情報とともに前記移動予測データベースに格納する移動予測計算ステップと、
前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算ステップとを備え、
前記移動予測計算ステップにおいて、前記ネットワーク品質予測装置は、
前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し
次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力する
ことを特徴とするネットワーク品質予測方法が提供される。
【発明の効果】
【００１０】
本発明の実施の形態によれば、ユーザに新たに許諾を得ることなくユーザの移動先を予測し、それに基づいてネットワーク品質の予測を行うことを可能とする技術が提供される。
【図面の簡単な説明】
【００１１】
【図１】スループット予測装置１０の全体構成図である。
【図２】移動履歴データベース１００に格納される情報の例を示す図である。
【図３】移動予測データベース５００に格納される情報の例を示す図である。
【図４】スループット履歴データベース２００に格納される情報の例を示す図である。
【図５】CID別スループットデータベース６００に格納される情報の例を示す図である。
【図６】移動予測計算部３００により実行される移動予測計算の手順を示すフローチャートである。
【図７】移動予測計算におけるCID予測処理の手順を示すフローチャートである。
【図８】CID予測処理における候補識別id取得処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１３】
なお、本実施の形態では、移動履歴情報及びスループット履歴情報が十分な量蓄積されているものとする。移動履歴情報は、例えば、携帯電話基地局（以下、基地局）に制御用信号として到着している信号をタップすることで取得し、蓄積する。その際、取得難度の高いGPS情報は用いず、CIDによる移動管理情報から該当する情報のみを抜き出して利用する。また、スループット履歴情報は、基地局を流れるトラヒックをDPIした結果や、機器の統計情報から算出した結果を利用する。
【００１４】
ただし、上記の前提は一例に過ぎず、他の方法を用いて移動履歴情報及びスループット履歴情報を取得してもよい。また、本実施の形態ではGPS情報を使用しないが、本発明はGPS情報を利用することを排除するわけではなく、GPS情報を利用する場合にも適用できる。この場合、GPS情報からエリアを識別すればよい。
【００１５】
また、「スループット」はネットワーク品質の一例であり、ネットワーク品質として他の量を用いることとしてもよい。また、本実施の形態では、携帯電話機等のユーザ端末（"ユーザ"と言い換えてもよい）を「移動対象」とするが、これは例であり、移動対象はどのようなものであってもよい。また、本実施の形態では、CIDで識別されるセルを「エリア」とするが、これは例であり、CIDで識別されるセル以外のものを「エリア」としてもよい。
【００１６】
（装置構成、データベースの内容等）
図１に、本実施の形態におけるスループット予測装置１０の構成図を示す。図１に示すように、本実施の形態におけるスループット予測装置１０は、移動履歴データベース１００、スループット履歴データベース２００、移動予測計算部３００、CID別スループット計算部４００、移動予測データベース５００、CID別スループットデータベース６００、スループット計算部７００を有する。以下、各機能部の概要について説明する。
【００１７】
移動履歴データベース１００は、各基地局から収集された移動情報を集約して管理するデータベースである。図２に、移動履歴データベース１００に格納される情報の例を示す。図２に示すように、移動履歴データベース１００には、情報が収集された時刻（ユーザ端末が該当CIDのセルに位置する時刻）、ユーザ端末を識別する識別id、及びセルを識別するIDであるCID（セルID）が格納される。例えば、図２の１行目は、時刻「2015.09.25.10:00:01」に、識別id「iz398a」のユーザ端末が、CID「3141592」のセルに存在していたことを示す。
【００１８】
移動予測計算部３００は、移動履歴データベース１００に格納されたデータに基づき、定期的に移動予測を行って、移動予測データベース５００を更新する。
【００１９】
移動予測データベース５００は、移動予測計算部３００による移動予測計算結果を格納するデータベースである。図３に、移動予測データベース５００に格納されたデータの例を示す。図３に示すように、本実施の形態における移動予測データベース５００には、休日フラグ、時間帯、所属CID、予測CIDが格納される。例えば、図３の１行目は、休日に（休日フラグ＝１）、１０時の時間帯において、CID「3141592」のセルに存在するユーザ端末は、その後、単位時間毎（例：１秒）に、"CID「0577215」のセル−＞CID「229558」のセル−＞CID「250290」のセル−＞CID「258498」のセル−＞CID「266514」のセル"のようにセル間を移動する可能性が高いことを示す。これらの情報は、休日フラグ・時間帯・CIDをキーとして与えることでその後の移動先予測を返すための情報として使用される。なお、本実施の形態では、「休日フラグ」、「時間帯」のように、時間情報を用いているが、これは必須ではなく、「休日フラグ」、「時間帯」のような時間情報をキーとして用いないこととしてもよい。例えば、時間帯や曜日により特性に変化のないネットワーク品質については、時間情報を用いないこととしてもよい。また、例えば、特定の曜日・時間帯に特化して本発明を実施する場合等においても、時間情報をキーとして用いないこととすることができる。
【００２０】
スループット履歴データベース２００は、ネットワーク管理装置等から取得されたセル毎（CID毎）のスループットデータを格納するデータベースである。図４に、スループット履歴データベース２００に格納される情報の例を示す。図４に示すように、スループット履歴データベース２００には、時刻、CID、スループット平均、スループット標準偏差が格納される。例えば、図４の１行目は、時刻「2015.09.25.10:00:01」において、CID「3141592」に存在するユーザ端末のスループット平均が「2.07879」であり、スループット標準偏差が「0.12345」であることを示す。このスループットは、例えば、ユーザ端末が動画配信サーバから動作をダウンロードする際のスループットに相当する。
【００２１】
CID別スループット計算部４００は、スループット履歴データベース２００に格納されたデータに基づいて、定期的にCID別スループットを計算し、計算結果をCID別スループットデータベース６００に格納する。つまり、定期的にCID別スループットデータベース６００を更新する。なお、CID別スループット計算部４００とスループット履歴データベース２００をスループット予測装置１０の外部に備え、外部のCID別スループット計算部４００による計算結果をスループット予測装置１０が受信し、CID別スループットデータベース６００に格納することとしてもよい。
【００２２】
CID別スループットデータベース６００は、CID別のスループットデータを格納するデータベースである。図５に、CID別スループットデータベース６００に格納される情報の例を示す。図５に示すように、本実施の形態におけるCID別スループットデータベース６００には、休日フラグ、時間帯、CID、スループット平均、スループット標準偏差が格納される。例えば、図５の１行目は、休日（休日フラグ＝１）の１０時の時間帯において、CID「3141592」のセルにおけるスループット平均が「23.14069」であり、スループット標準偏差が「1.09868」であることを示す。
【００２３】
本実施の形態では、移動予測計算部３００、及びCID別スループット計算部４００は、一定時間おきに動作するように構成されており、移動予測データベース５００、及びCID別スループットデータベース６００を最新の状態に保つことができる。
【００２４】
スループット計算部７００は、スループットを予測したいセルのCID（予測元CID）を入力として、移動予測データベース５００及びCID別スループットデータベース６００のデータを用いて予測スループット系列を求め、当該予測スループット系列を出力する。
【００２５】
本実施の形態に係るスループット予測装置１０は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、スループット予測装置１０が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、スループット予測装置１０で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。なお、上記のプログラムは、各データベースに関わる機能を含まないこととしてもよい。
【００２６】
以下、各機能部の処理内容について説明する。
【００２７】
（移動予測計算部３００による移動予測計算処理）
まず、移動予測計算部３００による移動予測計算処理について説明する。図６は、移動予測計算の全体の処理を示すフローチャートである。
【００２８】
移動予測の計算は、タイマーなどを用いて、例えば１日おきに行う。また、ここでは、例えば、ある曜日（平日or休日）のある時間帯を対象として１回の移動予測計算処理を行うものとする。以下では、当該曜日の当該時間帯での処理が行われるものとする。
【００２９】
図６において、cidは、予測CID系列を格納する配列変数であり、ステップＳ１００において、まず、移動履歴データベース１００（例：図２）にキーとして含まれているCIDのうち、移動先の予測を行いたいCIDを取得し、これを初期CIDとしてcidにセットする。一例として、初期CIDに"3141592"がセットされたとする。以降の処理により、cidには移動予測で得られたCIDが順次追加され、当該CID追加のなされたcid（CID系列）が、次のCIDを取得するための取得条件となる。そのため、cidを「取得条件」と呼ぶ。
【００３０】
次に、追加するCIDがなくなるまで、つまり、ステップＳ３００において出力＝空集合となるまで、ステップＳ２００のCID予測処理を実行する。
【００３１】
以下、CID予測処理について詳細に説明するが、主な手順の説明において、まず、具体例を用いた説明を行い、次にフローチャート（図７、図８）の説明を行っている。
【００３２】
（CID予測処理）
図７は、移動予測計算部３００が実行するCID予測処理の手順を示すフローチャートである。
【００３３】
まず、ステップＳ２１０において、移動予測計算部３００は候補識別id取得処理を実行する。候補識別id取得処理は、取得条件にしたがって移動してきたユーザ端末の識別idの集合を移動履歴データベース１００から取得する処理である。
【００３４】
＜候補識別id取得処理の具体例＞
一例として、取得条件（つまり、cidの値）が"3141592"である場合（初期CIDの状態）においては、CIDが"3141592"であるレコードを移動履歴データベース１００から検出し、当該レコードから識別id"iz398a"及び時刻"2015.09.25.10:00:01"を取得する。
【００３５】
また、他の例として、例えば、取得条件が、"3141592"，"2718281"である場合、該当時間帯において、"3141592"から"2718281"へと移動したユーザ端末の識別idとして、識別id"iz398a"及び時刻"2015.09.25.10:00:02"（移動後の時刻）を取得する。
【００３６】
＜候補識別id取得処理のフローチャートの説明＞
候補識別id取得処理の手順例を図８のフローチャートに示す。図８において、id[j]は、配列変数idのj番目の値を示し、cid[k]は、配列変数cidのk番目の値を示し、x.delete(y)は、配列xから要素yを削除することを示す。図８に示す例では、まず、cid[0]（初期CID）を有する全てのレコードにおける識別idの集合を配列変数idにセットする（ステップＳ２１１）。
【００３７】
そして、ある識別idが存在したCID（例：cid[0]）から単位時間後に次のCID（例：cid[1]）にも当該識別idが存在するか否かを、cidにおける最後のCIDまでチェックする（ステップＳ２１２）。チェックの途中で、ステップＳ２１２がＮｏ（該当CIDについて、識別idが存在するレコードがない）になれば、当該識別idを配列変数idから削除する（ステップＳ２１３）。上記の処理を、idに格納された識別id毎に行い、結果として取得条件に合致する（取得条件に相当する移動経路のCID系列を移動してきた）ユーザ端末の識別idの集合（配列変数idの値）が得られる。
【００３８】
＜移動先CID集合の取得処理＞
図７のステップＳ２１０における候補識別id取得処理の後、移動予測計算部３００は、ステップＳ２１０で得られたユーザ端末（識別id）の集合におけるそれぞれのユーザ端末が、１単位時間経過後に所属しているCIDの集合を移動履歴データベース１００から取得する。
【００３９】
例えば、取得条件cid＝"3141592"である状態において、前述したように、候補識別id取得処理により、移動履歴データベース１００から識別id"iz398a"及び時刻"2015.09.25.10:00:01"が取得されたときに、単位時間を１秒とすると、移動予測計算部３００は、"2015.09.25.10:00:01"から１秒後（"2015.09.25.10:00:02"）に、識別id"iz398a"が存在するレコードを検索することで、CIDが"2718281"であるレコードを検出する。
【００４０】
移動予測計算部３００は、上記の検索処理を、候補識別id取得処理により取得された各識別idに対して行うことで、取得条件cid＝"3141592"の単位時間後にユーザ端末が移動する先のセル（エリア）を示すCIDの集合を得ることができる。ここでは例えば{"2718281", "3141592", "2718281"}が得られたものとする。これは、例えば、端末Aは"3141592"から"2718281"に移動し、端末Bは"3141592"から移動せず、端末Cは"3141592"から"2718281"に移動したことを示す。
【００４１】
＜移動先CID集合の取得処理のフローチャートの説明＞
上記の処理は、図７におけるステップＳ２２０、Ｓ２３０において行われる処理である。図７においてcandは移動先のCIDの集合（例：{"2718281", "3141592", "2718281"}）を格納する配列変数であり、ステップＳ２２０においてまず初期化される。
【００４２】
ステップＳ２３０では、候補識別id取得処理で得られた識別idの集合におけるある識別idについて、単位時間後のレコードにおけるCIDをcandに追加する。ステップＳ２３０の処理が、候補識別id取得処理で得られた識別idの集合における各識別idについて実行される。これにより、例えば、candの値として上記の{"2718281", "3141592", "2718281"}が得られる。
【００４３】
＜確率計算処理＞
次に、移動予測計算部３００は、各識別idに対するステップＳ２３０の処理により得られたCIDの集合（cand）を用いて、取得条件の最後のCIDの所属時刻から１単位時間経過した時に、ユーザ端末がどのCIDに最も所属する可能性が高いかを把握するための確率計算を行う。この計算は、CIDの集合をなす要素が集合全体を占める割合を計算することで導出する。
【００４４】
例えば、上記の例のように、取得条件cid＝"3141592"の所属時刻の単位時間経過後にユーザ端末が移動する先のCIDの集合として{"2718281", "3141592", "2718281"}が得られた場合を考える。この場合、単位時間経過後にCID"2718281"に所属している確率は、２／３（全体３要素に対して２要素存在）として得られ、単位時間経過後にCID"3141592"に所属している確率は、１／３（全体３要素に対して１要素存在）として得られる。
【００４５】
次に、移動予測計算部３００は、上記の処理において{"2718281", "3141592", "2718281"}の各要素（重複なしの要素）について得られた確率（１／３、２／３）の中の最大値（２／３）と、予め定めた閾値Thとを比較し、閾値Thよりも大きければ、このときの確率に対応するCIDを予測CIDとして、CID予測処理の出力とする。
【００４６】
本実施の形態では、一例として、閾値Thを0.5とする。この場合、上記の具体例において最大値（２／３）のほうが閾値Thよりも大きいので、２／３に対応するCID"2718281"を、取得条件cid＝"3141592"の所属時刻の単位時間経過後にユーザ端末が移動する先の予測CIDとして出力する。閾値Thは、予測を行う主体（携帯電話事業者など）が自由に設定することができるものとする。
【００４７】
なお、上記の例では、閾値Thとの比較を行うこととしているが、閾値Thとの比較を行わずに、確率が最大のCID（つまり、最も多くのユーザ端末が移動先とするCID）を予測CIDとする処理を行うこととしてもよい。
【００４８】
＜確率計算処理のフローチャートの説明＞
上記の確率計算処理は、図７におけるステップＳ２４０、Ｓ２５０、Ｓ２６０、Ｓ２７０において行われる処理である。すなわち、ステップＳ２４０において、単位時間経過後にユーザ端末が移動する先のCIDの集合の要素がある場合（ステップＳ２４０のＹｅｓ）において、ステップＳ２５０では、確率計算対象の各x（例：上記の"2718281"、"3141592"）に対して、「要素数／全要素数」( #x / len(cand))（len(cand)は全要素数）を計算し、そのうちの最大値（上記の例での２／３）をmax_probとする。
【００４９】
ステップＳ２６０では、max_probがThよりも大きいか否かがチェックされ、max_probがThよりも大きければステップＳ２７０に進む。ステップＳ２７０では、max_probに対応するCID（上記の例での"2718281"）を予測CIDとして出力する。
【００５０】
なお、最大値が閾値Thよりも大きくない場合、及び、単位時間経過後にユーザ端末が移動する先のCIDの集合の要素がない場合は、空集合が出力される（ステップＳ２８０）。
【００５１】
＜予測CID系列出力処理＞
上記のようにして予測CIDが得られると、当該予測CIDは、現在の取得条件の最後に追加される。例えば、現在の取得条件cid＝"3141592"である場合において、予測CIDとして"2718281"が得られると、取得条件cid＝"3141592"，"2718281"となる。
【００５２】
そして、取得条件cid＝"3141592"，"2718281"として、再びCID予測処理が実行される。つまり、まず、"3141592"から"2718281"に移動したユーザ端末の識別idの集合を候補識別id取得処理で求め、得られた各識別idについて、"2718281"の時刻の単位時間後の移動先のCIDを求め、確率計算、及び閾値比較を行うことで、"3141592"から"2718281"に移動したユーザ端末がその次に移動すると予測される予測CIDを算出し、取得条件に追加する。このような処理を繰り返し、予測CIDが得られない場合にCID予測処理の繰り返しを終了し、その時点での取得条件を移動予測データベース５００に追加する。
【００５３】
一例として、仮に、ある休日の日の８時の時間帯の範囲で上記処理を行って、最終結果として取得条件cid＝"3141592"，"2718281"となった場合は、移動予測データベース５００における休日フラグに１が格納され、時間帯に８時が格納され、所属CIDに"3141592"が格納され、予測CIDとして"2718281"が格納される。
【００５４】
＜予測CID系列出力処理のフローチャートの説明＞
上記の予測CIDをcidに追加する処理はフローチャートでの図７のステップＳ２７０で実行してもよいし、図６でのステップＳ３００の判定がＮｏとなった後に行ってもよい。
【００５５】
続いて、予測CID追加後のcidについて、再び図６のステップＳ２００、すなわち、図７のフローチャートの処理が実行され、当該cidについて予測CIDが得られれば更にCID予測処理が行われ、図７のステップＳ２８０に至ったときには図６のステップＳ３００がＹｅｓになり、ステップＳ４００に進む。ステップＳ４００においてcidを移動予測データベース５００に格納する処理を行う。
【００５６】
（CID別スループット計算部４００によるCID別スループット予測）
次に、CID別スループット計算部４００が実行するCID別スループット予測の処理について説明する。
【００５７】
CID別スループット計算部４００は、スループット履歴データベース２００（例：図４）から過去のスループット情報（時刻、CID、スループット平均、スループット標準偏差）を取得する。
【００５８】
より詳細には、CID別スループット計算部４００は、取得の際に、時刻を時間帯に変換し、日付を休日か平日かに変換する。例えば、時刻として"2015.09.25.10:00:01"が取得された場合には、「平日、時間帯：１０時」を示す情報に変換される。なお、本実施の形態では、休日は休日フラグ＝１で表し、平日は休日フラグ＝０で表わしている。そして、休日平日フラグ、時間帯、CID全てがマッチしたレコードを取得する。例えば、「休日フラグ＝１、時間帯＝１０時、CID＝"3141592"」にマッチするレコードが複数存在する場合いは、当該複数のレコードの全てを取得する。もしも該当するレコードが存在しない場合には、休日平日フラグ、時間帯のみがマッチしたレコードを取得する。
【００５９】
そして、CID別スループット計算部４００は、取得したレコードのスループット平均値の平均値を予測スループット平均とし、スループット標準偏差の平均値を予測スループット標準偏差とし、当該予測結果をCID別スループットデータベース６００（例：図５）に格納する。
【００６０】
（スループット計算部７００によるスループット予測）
次に、スループット計算部７００が実行するスループット予測処理を説明する。スループット計算部７００には、スループットの予測が希望されているCID（予測元CID）が入力される。一例として、予測元CIDは、あるコンテンツ配信サービスを受けるユーザ端末が、現在、所属するセルのCIDである。予測元CIDの発出元は特に限定されないが、例えば、コンテンツ配信サービスの提供者のサーバから発出されることとしてもよいし、コンテンツ配信サービスを受けるユーザ端末から発出されることとしてもよい。
【００６１】
スループット計算部７００は、CID別スループットデータベース６００（例：図５）、及び移動予測データベース５００（例：図３）に格納されたデータを用いることにより、移動予測を踏まえて、予測元CIDにおける将来のスループット系列を計算し、出力する。計算結果は、例えば予測元CIDの発出元に返される。
【００６２】
具体的には、スループット計算部７００は、現在の日時、時刻を取得し、それを休日フラグ、時間帯情報に変換する。そして、当該休日フラグと時間帯情報とを予測元CIDと組み合わせてキーとし、移動予測データベース５００（例：図３）を参照することで、予測CIDの系列を取得する。例えば、休日フラグ＝１、時間帯＝１０時、予測元CID（現在の所属CID）が3141592である場合において、図３に示す移動予測データベース５００から、予測CIDの系列として、0577215，229558，250290，258498，266514が取得される。
【００６３】
次に、スループット計算部７００は、予測CID系列の各要素と休日フラグと時間帯とを組み合わせてキーとし、CID別スループットデータベース６００（例：図５）から、当該休日フラグ・時間帯における、予測CID系列の各予測CIDに対応するスループット平均、スループット標準偏差の系列を取得する。このスループット平均系列とスループット標準偏差系列の組を将来の予測スループット系列として出力する。
【００６４】
例えば、予測元CID（現在の所属CID）が3141592であり、0577215，229558，250290，258498，266514が取得された場合において、現在時刻（予測元CIDが入力された時刻）から１単位時間経過後の予測CIDは0577215であり、２単位時間経過後の予測CIDは229558であり、...．５単位時間経過後の予測CIDは266514である。
【００６５】
そして、例えば、３単位時間経過後の予測CID"250290"の予測スループット平均としてb[kbps]が得られ、予測スループット標準偏差としてc[kbps]が得られた場合には、３単位時間経過後の予測スループット平均はb[kbps]、予測スループット標準偏差はc[kbps]となる。このような推定を予測可能期間（予測CID系列の長さに相当する期間）に対して行うことで、当該期間の各単位時間における予測スループットからなる将来の予測スループット系列を得ることができる。
【００６６】
（実施の形態のまとめ）
以上、説明したように、本実施の形態によれば、ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するネットワーク品質予測装置であって、時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出する移動予測計算手段と、前記移動予測計算手段により算出されたエリア識別情報系列を、初期エリア識別情報とともに格納する移動予測データベースと、前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算手段とを備えることを特徴とするネットワーク品質予測装置が提供される。
【００６７】
なお、本実施の形態におけるスループット予測装置１０は、ネットワーク品質予測装置の例である。また、移動予測計算部３００は、移動予測計算手段の例であり、スループット計算部７００は、ネットワーク品質計算手段の例である。
【００６８】
前記移動予測計算手段は、前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアを、当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し、次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力することとしてもよい。
【００６９】
また、前記移動予測計算手段は、前記最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを前記次の移動先のエリアとすることとしてもよい。
【００７０】
（実施の形態の効果）
本実施の形態で説明した技術により、新たにユーザ端末に特別なアプリケーションをインストールすることなく、携帯電話の基地局に集まっている制御情報を用いてより高精度なスループット予測が可能となる。また、GPS情報に基づく移動予測を含めてスループットを予測する方式と比較するとデータが多く集められるため、推定可能なユーザ数の大幅な増加が見込まれる。また、過去のスループット時系列を用いる方式と比較すると、移動情報を加味しているため、推定精度の大幅な向上が期待される。
【００７１】
（第１項）
ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するネットワーク品質予測装置であって、
時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、
エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、
前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出する移動予測計算手段と、
前記移動予測計算手段により算出されたエリア識別情報系列を、初期エリア識別情報とともに格納する移動予測データベースと、
前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算手段と
を備えることを特徴とするネットワーク品質予測装置。
（第２項）
前記移動予測計算手段は、
前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアを、当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し、
次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力する
ことを特徴とする第１項に記載のネットワーク品質予測装置。
（第３項）
前記移動予測計算手段は、前記最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを前記次の移動先のエリアとする
ことを特徴とする第２項に記載のネットワーク品質予測装置。
（第４項）
ある特定のエリアに存在する移動対象の将来の移動先のエリアにおけるネットワーク品質を予測するためのネットワーク品質予測装置が実行するネットワーク品質予測方法であって、
前記ネットワーク品質予測装置は、
時間情報と、移動対象の識別情報である移動対象識別情報と、当該移動対象が存在するエリアの識別情報であるエリア識別情報とを格納する移動履歴データベースと、
エリア識別情報と、当該エリア識別情報で識別されるエリアのネットワーク品質とを格納するネットワーク品質データベースと、
移動予測データベースと、を備えており、前記ネットワーク品質予測方法は、
前記移動履歴データベースを参照することにより、初期エリア識別情報で識別されるエリアに存在する移動対象の将来の移動経路に相当する１つ又は複数のエリアを示すエリア識別情報系列を算出し、算出されたエリア識別情報系列を、初期エリア識別情報とともに前記移動予測データベースに格納する移動予測計算ステップと、
前記特定のエリアのエリア識別情報を入力とし、当該エリア識別情報に対応するエリア識別情報系列を前記移動予測データベースから取得し、当該エリア識別情報系列を構成するエリア識別情報に対応するネットワーク品質を前記ネットワーク品質データベースから取得し、当該ネットワーク品質を前記将来の移動先のエリアにおけるネットワーク品質として出力するネットワーク品質計算ステップと
を備えることを特徴とするネットワーク品質予測方法。
（第５項）
前記移動予測計算ステップにおいて、前記ネットワーク品質予測装置は、
前記移動履歴データベースを参照することにより、ある移動経路で移動してきた複数の移動対象のそれぞれについて、次の移動先となったエリアのエリア識別情報を取得し、最も多くの移動対象が移動先としたエリアを、当該移動経路の最後のエリアの次の移動先のエリアとし、当該移動経路に次の移動先のエリアを追加した移動経路を新たな移動経路とする処理を、次の移動先のエリアが得られなくなるまで繰り返し、
次の移動先のエリアが得られなくなった時点の移動経路を前記エリア識別情報系列として出力する
ことを特徴とする第４項に記載のネットワーク品質予測方法。
（第６項）
前記移動予測計算ステップにおいて、前記ネットワーク品質予測装置は、前記最も多くの移動対象が移動先としたエリアについて、前記複数の移動対象の数に対する、当該エリアを移動先とした移動対象の数の割合が、所定の閾値を超える場合に、当該エリアを前記次の移動先のエリアとする
ことを特徴とする第５項に記載のネットワーク品質予測方法。
（第７項）
コンピュータを、第１項ないし第３項のうちいずれか１項に記載のネットワーク品質予測装置における各手段として機能させるためのプログラム。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７２】
１０  スループット予測装置
１００  移動履歴データベース
２００  スループット履歴データベース
３００  移動予測計算部
４００  CID別スループット計算部
５００  移動予測データベース
６００  CID別スループットデータベース
７００  スループット計算部
【図１】
0006450672.tif 000002
【図２】
0006450672.tif 000003
【図３】
0006450672.tif 000004
【図４】
0006450672.tif 000005
【図５】
0006450672.tif 000006
【図６】
0006450672.tif 000007
【図７】
0006450672.tif 000008
【図８】
0006450672.tif 000009