図1は、本実施形態におけるモバイルネットワークシステムの構成例を示す図である。無線端末101は基地局102を経由してサービスの提供をうける。無線端末101が通信を開始するとき、基地局102に対してセッション確立するためのメッセージ信号を送信する。無線端末101からのセッション確立のメッセージ信号を受信した基地局102は呼処理制御装置103に対して当該メッセージ信号を送信し、当該信号を受信した呼処理制御装置103はユーザーデータを送受信するためのセッションを確立させる。無線端末101からサービスを受けるためのデータの送受信が可能になるためのセッションが確立されたのち、無線端末101は当該サービスを提供されるためにアプリケーションサーバ105にユーザデータを送信する。無線端末101から送信されたユーザーデータは基地局102を経由して、ユーザーデータ制御装置104に転送される。基地局102からのユーザーデータを受信したユーザーデータ制御装置104はユーザーデータのヘッダフォーマットを変換して、インターネット網を経由してアプリケーションサーバ105に転送する。
このように、無線端末101から送信されたデータならびに無線端末101へ送信されるデータは基地局102と呼処理制御装置103間のインタフェースもしくは基地局102とユーザーデータ制御装置104間のインタフェースを経由する。そのため、基地局102と呼処理制御装置103間、基地局102とユーザーデータ制御装置104間を通過するすべてのパケットを取得することにより、無線端末101が“いつ”、“どこで”、“どのようなアプリケーションを用いて”、“どのように感じたか”を把握することができる。そこで、基地局102と呼処理制御装置103間に分岐装置106を、基地局102とユーザーデータ制御装置104間に分岐装置107を設置し、当該経路を通過するパケットをすべてコピーする。
図1に示す当該システムにて輻輳を判定するために、基地局102と呼処理制御装置103の間を流れるパケットを分岐装置106で、基地局102とユーザーデータ制御装置104の間を流れるパケットを分岐装置107でそれぞれコピーし、DPI(Deep Packet Inspection)装置108に転送する。分岐装置106からDPI装置108に転送されたパケットには、無線端末101がセッションを確立するために必要な情報が含まれている。また、分岐装置107からDPI装置に108に転送されたパケットには、無線端末101とアプリケーションサーバ105間のユーザーデータに関する情報が含まれている。DPI装置108は分岐装置106から転送されてきたパケットから端末ID、端末機種ID、基地局ID等を抽出し、分岐装置107から転送されてきたパケットから使用しているアプリケーション、アプリケーションによって必要となる緯度、経度のGPS情報等を抽出する。DPI装置108は分岐装置106と分岐装置107から転送されたきたパケットを結合し、無線端末101が使用しているアプリケーションもしくはサービスを特定し、ユーザー体感品質の基礎データとなるDPIログを作成する。作成されたDPIログは通信ログサーバ109内の通信ログDB1091に格納される。
一方、DPIログはモバイルネットワークを流れているパケットから生成されるデータである。そのため、必ずしも緯度、経度のGPS情報や端末機種IDが含まれているとは限らない。そこで、当該システムの精度をより一層あげるために、無線端末101は無線端末101と基地局102との間の端末通信ログを定期的に通信ログサーバ109へ送信することを可能とする。無線端末101が当該ログを送信するためのアプリケーション等を予め組み込み、無線端末101が通信を行っている際に当該アプリケーションで収拾した情報、例えば、緯度、経度のGPS情報、端末ID、端末機種ID、使用しているアプリケーション、通信を行っている基地局102のIDを通信ログサーバ109宛に送信する。当該ログ情報を受信した通信ログサーバ109は当該ログを通信ログDB1091格納する。
解析サーバ110は通信ログDB1091に格納されているDPIログと端末通信ログを取得し、ユーザー毎、基地局毎に統計情報を集計する。ユーザー毎、基地局毎に集計された統計情報を元に、解析サーバ110は実効トラヒック量を計算する。さらに、当該実効トラヒック量を元に、輻輳判定を行う。輻輳判定の結果は図1の基地局102、呼処理制御装置103、ユーザーデータ制御装置104ならびにトラヒック制御装置110のすべてもしくはいずれかに転送され、基地局102、呼処理制御装置103、ユーザーデータ制御装置104ならびにトラヒック制御装置111のすべてもしくはいずれかによって制御される。
図2は、DPI装置108の機能ブロック図である。分岐装置106ならびに分岐装置107よりコピー、転送されたパケットを受信したDPI装置108は、パケット解析部201にて受信したパケットが分岐装置106から転送されてきたパケットか分岐装置107から転送されてきたパケットかを解析する。パケット解析部201はDPI装置108の入力ポートを分けることによって分岐装置106もしくは分岐装置107から転送されてきたパケットかを判断することも可能である。パケット解析部201にてパケットを分類した後、ユーザーID抽出部2011にて分岐装置106から転送されたパケットに含まれる端末ID(ユーザー識別子)等を抽出し、ユーザーデータ抽出部2012にて分岐装置107から転送されたパケットに含まれるユーザーデータ等を抽出する。
図3は、分岐装置106から転送された呼処理信号パケットのパケットフォーマット例を示す図である。呼処理信号パケットは、図3に示すように、ヘッダ301、基地局ID302、端末ID302、通信端末の機種を示す機種ID304、呼処理信号パケットとユーザーデータパケットを紐付けるための共通識別子305ならびにその他の呼処理情報306から構成される。
図4は、分岐装置107から転送されたユーザーデータパケットのパケットフォーマット例を示す図である。ユーザーデータパケットは、図4に示すように、ヘッダ401、基地局ID402、呼処理信号パケットと紐付けるための共通識別子403、アプリケーションに関する情報404ならびにその他のユーザーデータ406から構成される。アプリケーションによっては、緯度経度等のGPS情報405がアプリケーションのフィールド404に含まれる場合もある。これらのデータを結合するために、いずれのパケットにも含まれる基地局102のIPアドレスやトンネルID等の共通識別子を用いる。当該識別子は通信システムによって異なる。図3に示す共通識別子305と図4に示す共通識別子403は同じ値が含まれるために、当該共通識別子をキーとして、呼処理信号パケットとユーザーデータパケットを紐付ける。
共通識別子を用いて紐付けた呼処理信号パケットおよびユーザーデータパケットに含まれる情報にさらにDPI装置108が各パケットを受信した時刻を追加することによって、図6に示す、時刻、緯度、経度、端末ID、機種ID、使用アプリケーション、基地局IDの各情報をDPIログとして抽出することができる。また、DPI装置108が単位時間当たりに受信したパケット長やHTTP等のプロトコルによって規定されているシーケンス番号から、図6に示す、当該ユーザーのスループットやレスポンスタイム等の統計情報を計算することが可能となる。なお、統計情報は、基地局102の処理能力を示す情報であればよく、スループットやレスポンスタイム以外の情報でもよい。
DPI装置108は共通識別子を用いて、データ結合部202で端末ID(ユーザー識別子)等とユーザーデータ等を結合することにより、当該端末が“いつ”、“どのようなアプリケーションを用いて”、“どのように感じたか”を把握することが可能になる。ユーザーの体感品質(ユーザーがどのように感じたか)はネットワークの統計情報たとえば、当該ユーザーのスループットやアプリケーションの反応速度をレスポンスタイムで代替することによって把握するが可能である。
場所に関しては使用しているアプリケーションにより必ずしも通知するとは限らないが、GPS情報を通知するアプリケーションを利用していれば、当該パケットより緯度、経度等の位置情報を収集することは可能である。DPI装置108はデータ結合部202によって結合されたデータを用いて、統計データ作成部203にて当該端末が実際使用しているアプリケーションにおけるユーザースループットやアプリケーションサーバ105間とのレスポンスタイム等の統計情報を生成する。DPI装置108によって、作成されたDPIログ81は出力部204より通信ログサーバ109へ転送される。
上述したように、DPI装置108によって生成されるDPIログ81には緯度経度等の位置情報が必ずしも含まれているとは限らない。そこで、無線端末101が通信を行っている際に無線端末101と基地局102間にて行っている通信中のログを端末通信ログ82として通信ログサーバ109へ転送するアプリケーションを無線端末101に実装することにより、DPIログ81を補完することが可能である。当該端末通信ログ82の転送は、あらかじめ無線端末101に特定のアプリケーション等を実装することによって可能となる。
図5は、通信端末ログ82を生成するために無線端末101に実装されたアプリケーションから送信されるパケット例を示す図である。通信端末ログ82を生成するためのパケットは、ヘッダ501、当該パケットを送信した時刻502、基地局ID503、端末ID504、端末GPS情報505、通信端末ログを生成するために使用しているアプリケーションではなく、当該ユーザーが当該時刻に受けているサービスにおいて利用しているアプリケーション506から構成される。当該パケットを受信した通信ログサーバ109は当該パケットより図7に示す通信端末ログ82を生成する。
図8は、通信ログサーバ109の構成を示すブロック図である。通信ログサーバ109は、通信ログDB1091を備え、DPIログ81と端末通信ログ82を格納している。
図6は、通信ログサーバ109内に格納されているDPIログ81の例をに示す図である。図6に示すDPIログ81の例には、時刻、端末ID(ユーザー識別子)、機種ID、使用アプリケーション、基地局ID、統計情報(本例においてはスループット)が含まれている。緯度経度のGPS情報はアプリケーションによって、収集可能であれば収集し、格納する。図6のテーブルにおいて、601と604、602と605ならびに603と606が対になっている。便宜的に、二つの表に分けて記載している。601と604の行においては時刻、端末ID(ユーザー識別子)、機種ID、使用アプリケーション、基地局ID、統計情報が格納されている。緯度経度情報に関しては当該パケットより収集できなかっため欠損データとして扱われている。同一ユーザーは603、606においてもログを生成しているが、このときはGPS情報をパケットより収集できたため、当該テーブルに記載されている。
図7は、通信ログサーバ109が格納する端末通信ログ82の例をに示す図である。図7に示す端末通信ログの例には、時刻、緯度経度、端末ID、機種ID、使用アプリケーション、基地局IDが含まれる。当該ログは、無線端末101より特定のアプリケーション等を用いて、収集したログであり、無線端末101が行っている通信データをアプリケーション利用時に定期的に通信ログサーバ109へ送信している。図7のテーブルにおいて、701と704、702と705ならびに703と706が対になっている。便宜的に二つの表に分けて記載している。
図9は、解析サーバ110の構成を示すブロック図である。解析サーバ110は、ログ結合部901、ユーザーデータ集計部902、基地局データ集計部903、実効トラヒック量計算部904、制御ポリシー作成部905、制御部906から構成され、通信ログサーバ109に格納されたDPIログ81ならび端末通信ログ82を定期的に収集し、実効トラヒック量を計算する。
なお、図2、図8、図9で説明したDPI装置108、通信ログサーバ109、解析サーバ110はいずれも一般的なサーバ装置で実現されており、図示していないが、CPUやメモリ、ハードディスク、他装置と通信するための通信インタフェース等を備えている。パケット解析部201やログ結合部901などの各機能部は、例えばメモリに格納されているプログラムをCPUが実行することにより実現される。また、DPIログ81や端末通信ログ82を格納する通信ログDB1091は、例えばハードディスクにより実現される。
解析サーバ110は収集したDPIログ81と端末通信ログ82をログ結合部901で結合し、ユーザーデータ集計部902にて同じ端末ID(ユーザー識別子)毎、基地局データ集計部903にて同じ基地局毎に集計する。ユーザーデータ集計部902ならびに基地局データ集計部903にてDPIログ81ならびに端末通信ログを結合する際に、端末ID、機種ID、通信している基地局ID等いずれのデータにおいても共通項目になっているデータを元に結合する。その上でいずれか一方のログにしかない情報、例えば、統計情報、位置情報等を付加する。これらの集計されたデータを元に、実効トラヒック量計算部904にて当該ユーザーが通信を行う際、もしくは当該基地局を経由して通信を行う際の実効的な統計量を計算する。実効トラヒック量計算部904にて計算された実行トラヒック量を元に、制御ポリシー作成部905にてトラヒック制御装置111等で実際制御を行うための制御ポリシーを作成する。制御ポリシー作成部905で制御するポリシーは制御部906を経由して、トラヒック制御装置111等へ通知する。
図10は、ユーザーデータ集計部902がDPIログ81ならびに端末通信ログ82から生成したユーザーデータ集計テーブル1001、1002ならびに1003の例を示す図である。ユーザーデータ集計テーブル1001、1002ならびに1003の各列には、時刻、使用アプリケーション、統計情報(本例ではユーザースループット)、接続先基地局の情報を格納している。各行には所定の単位時間(本例では1秒)毎の集計結果が格納されている。上記情報をユーザーA1001、ユーザーB1002ならびにユーザーC1003毎に集計している。ここでいうユーザーとは、DPIログ81や通信端末ログ82の端末IDに相当するものであり、端末ID毎に各データを集計している。
図11は、基地局データ集計部903がユーザーデータ集計テーブル1001を元に同じ基地局毎にデータを集計して生成した、基地局データ集計テーブル1101の例を示す図である。図11に示す基地局データ集計テーブル1101にて列挙した各項目は一例である。基地局データ集計テーブル1101の各列に記載されている項目は、ユーザーA,ユーザーB、ユーザーCの各々の統計情報、本例ではユーザースループットならびにユーザーA、ユーザーB、ユーザーC3名の合計のユーザースループットを記載している。各行には所定の単位時間(本例では1秒)毎の集計結果が格納されている。
続いて、実効トラヒック量計算部904が、図11に示す基地局データ集計テーブル1101のデータを元に当該基地局における時間平均のユーザースループット11011と当該ユーザースループットの標準偏差11012を求める。また、時間平均ユーザースループット11011ならびにユーザースループット標準偏差11012を用いて、実効ユーザースループット11013を求める。図11に示す例においては、実効ユーザースループット11013は時間平均ユーザースループット11011にユーザースループット標準偏差の3倍を加えた値としている。実効ユーザースループット11013は上述以外の方法によって他の関数を用いることによって計算することも可能である。
ここでいう実効ユーザースループット11013とは、当該基地局を通じて通信行っているユーザーが通信可能な最大のスループットを意味している。通常、基地局の設置環境や時間帯、天候等により基地局の理論上のスペック以下の通信速度でしか通信を行うことができない。その条件を加味したうえで、ユーザーが通信可能な最大のスループットである。“実効”ユーザースループットのような“実効”的な統計量は設計仕様以下の値であるが、その値が実際ユーザーが体感することができる現実的な値を意味している。本実施例で用いている実効ユーザースループットは、実際のネットワークを流れているパケットやユーザー端末からのログを元に当該ユーザーが体感しているスループットを求め、当該スループットの変動を考慮した(3倍の標準偏差を加算している)スループットを実効スループットと定義している。
図12は、ユーザーデータ集計テーブルの別の例を示す図である。図12ではユーザーが時間ごとに異なる基地局と通信したり、もしくは通信していない時間を含んでいるケースを想定している。図12のユーザーDならびにユーザーEは二つの基地局を移動しているユーザーの例であり、ユーザーFは基地局を移動している場合に加え、一部通信を行っていない時間を含んだ例である。ユーザーDはユーザーデータ集計テーブル1201の時刻00:00:05に接続先の基地局がβからδに変わっている。ユーザーEはユーザーデータ集計テーブル1202の時刻00:00:05に接続先の基地局がβからγに変わっている。ユーザーFはユーザーデータ集計テーブル1203において時刻00:00:02までは通信を行っておらず、時刻00:00:03から基地局γにて通信を開始し、時刻00:00:05に基地局γからδに変わっている。
この3人のユーザーに対して基地局毎に集計した基地局集計テーブルが図13の1301、図14の1401、ならびに図15の1501である。図11と同様、図13においては基地局βのユーザーのデータを集計し、図14においては基地局γのユーザーのデータを集計し、図15においては基地局δのユーザーのデータを集計している。
各基地局において時間平均ユーザースループットを求めるとき、実際ユーザーが通信を行った時間で除する。つまり、基地局βに置いては、時刻00:00:01におけるトータルユーザースループット13011、時刻00:00:02におけるトータルユーザースループット13012、時刻00:00:03におけるトータルユーザースループット13013ならびに時刻00:00:04におけるトータルユーザースループット13014を加算して、通信時間の4で除する。つまり、「(11+8+10+7)/4=9」となり、9Mbpsが時間平均ユーザースループット13015となる。同様に平均値回りの二次モーメントから分散を計算し、分散の平方根としてユーザースループット標準偏差13016を求める。図11と同様に実効ユーザースループット13017は時間平均ユーザースループット13015にユーザースループット標準偏差13016の3倍を加算して計算する。
同様に基地局γに関しては図14の基地局集計テーブル1401にて時間平均ユーザースループット14011、ユーザースループット標準偏差14012ならびに実効ユーザースループット14013を計算し、基地局δに関しては図15の基地局集計テーブル1501にて時間平均ユーザースループット15011、ユーザースループット標準偏差15012ならびに実効ユーザースループット15013を計算する。
図16は、解析サーバが基地局毎の実効ユーザースループットを計算し、制御ポリシーを作成する一連の処理を示すフローチャートである。図16は、図10〜図15を用いて説明した一連の処理を一般化したフローチャートでもある。
データ集計を行うにあたり、測定時間を決定するために基準時間T1およびT2を決定し、当該時間内において集計された基地局数をカウントする(ステップ1601)。次に測定時間をn分割し、単位時間Δtを計算する(ステップ1602)。ステップ1603からステップ1609が各基地局毎の実効ユーザ統計量を求めるループになる。当該ループにおいて、まずΔtごとにユーザー毎の統計データStを集計する(ステップ1604)。本ステップは、例えば図11における時刻00:00:01〜00:00:06までのユーザーA,B,Cのスループットおよびトータルユーザースループットを集計する処理に該当する。次に測定時間内T1〜T2間のユーザー毎の統計データの平均E(St)と標準偏差σ(St)を計算する(ステップ1605)。本ステップは、例えば図11における時間平均ユーザースループット11011およびユーザースループット標準偏差11012を計算する処理に該当する。E(St)とσ(St)を元に実効ユーザー統計量を算出する(ステップ1606)。本ステップは、例えば図11における実効ユーザースループット11013を算出する処理に該当する。ここで、本実施例においては実効ユーザー統計量をE(St)+3σ(St)で算出しているが、ステップ1606にて計算される実行ユーザー統計量は一例であり、汎用的な関数として扱うことも可能である。ステップ1606で計算された実効ユーザー統計量が理論的な統計量よりも大きい場合は、実効ユーザー統計量は理論ユーザー統計量に置き換える(ステップ1607、ステップ1608)。理論ユーザー統計量とは、当該装置、例えば基地局の仕様によって決められた設計上理論的に達成しうる数値、例えばスループットやレスポンスタイムである。この処理を全ての基地局に対しておこなう(ステップ1609)。
本実施例においては、統計量の例としてユーザースループットを用いているが、ユーザースループット以外の統計量、たとえば、通信端末101とアプリケーションサーバ105間のレスポンスタイムや通信時間等を当該統計量として選択することも可能である。全ての基地局において計算し終えたら、当該基地局毎の実効ユーザー統計量を元に呼処理制御装置103、ユーザーデータ制御装置104ならびにトラヒック制御装置111等が制御するための制御ポリシーを生成する(1610)。当該制御ポリシーが解析サーバ110から通知されると、当該制御ポリシーを元に、呼処理制御装置103、ユーザーデータ制御装置104ならびにトラヒック制御装置111等が当該基地局に対してトラヒックを制御したり、基地局自身が無線端末101からのトラフィックを制御する。
図17は、呼処理制御装置103、ユーザーデータ制御装置104ならびにトラヒック制御装置111等によってトラフィックが制御される例を示す図である。図17では実測されたスループット1701を元に当該時間における平均スループット1703ならびに実効スループット1704を計算する。また理論上のスループット1702は既知の値であり、本例においては、実効スループット1704より高い値である。このとき、当該基地局において達成しうる最大スループットは実効スループット1704であると考え、当該実効スループット1704を元に基地局の混雑度合い、輻輳度合いを判断する。
例えば、実効スループットの90%の値を規制スループットと定めることや、実効スループット1704は平均スループット1703に標準偏差の3倍を加算したスループットであるため、平均スループット1703に標準偏差の2倍を加算したスループットを規制スループット1705と定めることが考えられる。当該規制スループットを超えた場合に当該基地局102もしくは隣接のトラヒック制御装置111に対して、制御ポリシーを通知して規制をかける。
例えば基地局102の中には複数のユーザーが存在し、その一部のユーザーが大量のデータを通信している場合があり、当該ユーザーを特定することができれば当該ユーザーのみ帯域を絞るように指示する制御ポリシーを基地局102へ通知することも可能である。また、平均して全てのユーザーが通信を行っているような場合は、一律に発信規制をかけるように指示する制御ポリシーを基地局102へ通知することも可能である。
また、規制スループットを超えた場合に、当該規制スループット以上のトラフィックを基地局102へ送信しないように指示する制御ポリシーをトラヒック制御装置111へ通知することも可能である。
このように本実施形態によれば、理論上のトラヒック量を元に基地局の輻輳判定を行うのではなく、当該基地局が当該基地局が設定されている環境下において、送受信することができる実効的なトラヒック量を元に、よりユーザ体感に近い精度の高い、輻輳判定を行うことが可能となる。
また、本実施形態によれば、輻輳を判定する精度を向上させ、基地局等の装置の利用効率をあげることができる。装置の利用効率があがることによりオペレータは設備投資を抑制することができる一方、ユーザはエリア、時間によらずその時々で享受できるもっともよいサービスを受けることができる。ユーザの体感品質を把握、制御することよりオペレータはさらに顧客を分類し、プレミアムサービス等を実現することも可能となる。