(58)【調査した分野】(Int.Cl.,DB名)
前記バルク並行の状況を分析する手段は、バルクごとに当該バルクと並行する後発の全バルクのデータ量の総和を分析することを特徴とする請求項1に記載の通信行動分析装置。
前記バルク並行の状況を分析する手段は、バルクごとに当該バルクと並行する後発の全バルクのセッション数の総和を分析することを特徴とする請求項1に記載の通信行動分析装置。
前記バルク並行の状況を分析する手段は、バルクごとに当該バルクと並行する後発の各バルクのデータ量を分析することを特徴とする請求項1に記載の通信行動分析装置。
前記バルク並行の状況を分析する手段は、バルクごとに当該バルクと並行する後発の各バルクのセッション数を分析することを特徴とする請求項1に記載の通信行動分析装置。
前記バルク並行の状況を分析する手段は、バルクごとに当該バルクが発生してから、これと並行する後発の各バルクが発生するまでの経過時間を分析することを特徴とする請求項1に記載の通信行動分析装置。
前記バルク並行の状況を分析する手段は、バルクごとに当該バルクと並行する後発の各バルクの継続時間を分析することを特徴とする請求項1に記載の通信行動分析装置。
前記集約する手段は、送信元アドレスが同一で生起間隔が所定の第1バルク閾値以内のセッションを同一バルクに集約し、生起間隔が前記第1バルク閾値を超えるセッションを次以降の各バルクに順次に集約することを特徴とする請求項1ないし10のいずれかに記載の通信行動分析装置。
前記集約する手段は、各セッションをそのアプリケーション種別またはコンテンツ種別ごとに集約することを特徴とする請求項11ないし13のいずれかに記載の通信行動分析装置。
前記バルク並行の状況と当該バルクに集約されるセッションの通信品質との対応関係が特異的に変化する特異点を検知する手段を更に具備したことを特徴とする請求項1ないし14のいずれかに記載の通信行動分析装置。
前記特異点を検知する手段は、前記バルク並行の状況と当該バルクに集約されるセッションの通信品質との対応関係の一次微分値および二次微分値の少なくとも一方に基づいて特異点を検知することを特徴とする請求項15に記載の通信行動分析装置。
【発明を実施するための形態】
【0018】
以下、図面を参照して本発明の実施形態について詳細に説明する。ここでは初めに、本発明の概要について説明し、次いで、その具体的な実施形態について説明する。なお、以下の説明では基本的に、トランスポート層(第4層)での接続を「(TCP)コネクション」と表現し、これよりも上位層での接続を「(HTTP)セッション」と表現することで両者を区別しているが、説明の便宜上、両者を「セッション」で代表する場合もある。
【0019】
本発明では、通信ユーザが自身の通信端末を操作して通信を発生させる行動(通信行動)を、その通信トラヒックをパッシブにキャプチャすることでスケーラブルに分析して通信品質と通信行動とを関連付ける。さらには、通信トラヒックから推定される通信行動から当該ユーザの通信に関する体感品質を推定する。通信行動としては、特に通信アプリケーションを起動させてから終了させるまでの間に通信端末を操作して別の通信を新たに発生させる並列的/並行的(Parallel/Concurrent)な通信行動に注目する。
【0020】
そこで、本発明ではキャプチャした通信トラヒックからセッションを識別し、多数のセッションを、その生起時刻に基づいてバルク単位で時系列に集約する。
【0021】
図3は、セッション(コネクション)の集約方法を模式的に表現した図であり、送信元が同一のセッションごとに、最先のセッションの生起時刻を基準時刻として、この基準時刻とその後の各セッションの生起時刻との時間差Δτが計算される。
【0022】
本実施形態では、送信元の同一性が送信元アドレス情報に基づいて判断される。そして、セッション生起間隔Δτが所定の第1バルク閾値Δτbulk1以下のセッションは全て同一バルク#iに集約される一方、生起間隔Δτが前記第1バルク閾値Δτbulk1よりも大きいセッションは次以降の各バルク#i+1,バルク#i+2…に集約される[同図(a)]。
【0023】
ここで、同一バルク内の各セッションについて、アプリケーションがユーザの通信操作に由来するものなのか、あるいはユーザの通信操作とは無関係にバックグラウンド等で行われるものなのかを識別した後、ユーザ由来の通信動作のみの分析するようにしても良い。また、コールやバルク内の各セッションについて、同一アプリケーション上でのユーザ操作に起因した通信セッションだけを識別した後、同一アプリケーション由来の通信動作のみ分析するようにしても良い。これらを分析することで、例えば、アプリケーション毎に、ユーザの通信に関する体感品質と当該ユーザの通信行動とを対応付け、ひいては任意の通信行動から当該通信ユーザの体感品質を推定しても良い。
【0024】
なお、各セッションのバルク集約方法は上記に限定されるものではない。例えば、
図3(b)に示したように、送信元アドレス情報が同一のセッションごとに、n番目のセッションの生起時刻とn+1番目のセッションの生起時刻との間隔(セッション生起間隔)Δτを逐次計算し、このセッション生起間隔Δτが所定の第2バルク閾値Δτbulk2以下のセッションは全て同一バルク#iに集約し、前記第2バルク閾値Δτbulk2よりも大きいセッションは次以降の各バルク#i+1,バルク#i+2…に集約するようにしても良い。
【0025】
図1は、本発明の通信行動分析装置が適用されるネットワークの主要部の構成を示したブロック図である。
【0026】
サービス提供範囲の各エリアには無線基地局BSが設置され、当該エリア内のクライアント(本実施形態では、無線移動端末MH)は前記各無線基地局BSに収容される。各無線基地局BSは無線アクセス網RANに接続され、前記無線アクセス網RANはコア網のゲートウェイ(GW)に接続される。前記コア網はインターネットエクスチェンジ(IX)においてインターネットと接続される。
【0027】
前記インターネットには、MHからの要求に応答してサービスを提供する各種のサーバが接続されている。本実施形態では、各MHと各サーバとの間のトラヒックを集約できる回線として、無線アクセス網RANとコア網とを接続する回線Lに、通信行動分析装置としての機能を備えたキャプチャ装置1が接続されている。
【0028】
図2は、前記キャプチャ装置1の主要部の構成を示した機能ブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。このような装置1は、汎用のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【0029】
パケットキャプチャ部10は、回線L上でIP(TCPやUDPなど)パケットを選択的にキャプチャする。ログ情報管理部20には、前記キャプチャされたパケットの少なくとも種別、送信元アドレス情報、到着時刻およびパケットサイズ(データ量)がログ情報として記録、管理される。
【0030】
トラヒック集約部30はバルク集約部301を含み、前記
図3を参照して説明したように、キャプチャされたトラヒックの各セッションをその生起間隔Δτに基づいて送信元アドレス情報ごとに集約し、送信元アドレス情報が同一のセッション集合について、生起間隔Δτが所定のバルク閾値Δτbulk以下のセッションを同一バルクに集約する。通信品質計算部40は、各バルクに集約された各セッションの通信品質を所定の品質項目ごとに計算する。
【0031】
図4は、通信品質計算部40による通信品質の計算方法を説明するための図である。ここでは、TCPコネクションの確立時にクライアント/サーバ間で実行されるTCP_3wayハンドシェークのSYNパケットからキャプチャできたコネクションについて、遅延特性を測定する方法について説明する。
【0032】
この場合、端末MHからサーバへ最初に送信されたSYNパケットの到着時刻(コネクション生起時刻)t1と、サーバから端末MHへ返信されたSYN+ACKパケットの到着時刻t2との差分(t2-t1)に基づいてサーバ側RTT(往復)遅延が算出される。
【0033】
また、前記SYN+ACKパケットの到着時刻t2と端末MHからサーバへ最後に送信されたACKパケットの到着時刻t3との差分(t3-t2)に基づいて、クライアント側RTT遅延が算出される。
【0034】
さらに、前記最初のSYNパケットの到着時刻t1と前記3wayハンドシェーク後に端末MHからサーバへ最初に送信されデータパケットの到着時刻t4との差分(t4-t1)に基づいて、TCP接続遅延が算出される。
【0035】
さらに、3wayハンドシェーク後に端末MHから最初に送信されるデータの到着時刻t4からFINまたはRSTパケットの到着時刻t5までの差分(t5-t4)、および当該差分時間内にキャプチャされた送受信データ量に基づいて、TCPコネクションのスループット特性が算出される。
【0036】
なお、パケットのキャプチャがコネクションの途中から開始されているような場合には、得られた到着時刻から可能な分析のみが選択的に行われる。すなわち、キャプチャがSYN+ACKパケットから開始されていれば、その到着時刻t2からACKパケットの到着時刻t3までの差分(t3-t2)に基づいて、クライアント側RTT遅延のみが算出される。
【0037】
また、前記TCPコネクションのスループット特性やTCP接続所要時間は、クライアント側の遅延のみならずサーバが側の遅延にも依存するので、サーバ側遅延が大きいときに算出されたこれらの特性等は、クライアント側の通信品質を正確に代表できない。したがって、前記サーバ側RTT遅延が所定の閾値を超えているとき、あるいはサーバ側遅延を代表できるデータやACKなどのパケット到着間隔が所定の閾値を越えているときに算出されたスループット特性やTCP接続所要時間は、品質分析の対象から除外することが望ましい。
【0038】
図5は、HTTPセッションを対象とした品質特性の測定方法を説明するためのシーケンスフローであり、HTTPリクエスト(#1)パケットの到着時刻t1と、このリクエストに対して返信されるHTTPレスポンス(#1)パケットの到着時刻t2との時間差(t2-t1)がHTTPレスポンス遅延とされる。
【0039】
また、最初のHTTPリクエスト(#1)パケットの到着時刻t1と最後のHTTPレスポンス(#1)パケットの到着時刻t3との時間差(t3-t1)がHTTP保留時間とされる。
【0040】
さらに、最初のHTTPレスポンス(#1)パケットの到着時刻t2と最後のHTTPレスポンス(#1)パケットの到着時刻t3との時間差(t2-t1)がHTTPレスポンス保留時間とされ、その間にダウンロードされた総データ量がHTTP通信データ量とされる。
【0041】
さらに、最初のHTTPリクエスト(#2)パケットの到着時刻t4と最後のHTTPリクエスト(#2)パケットの到着時刻t5との時間差(t5-t4)がHTTPリクエスト保留時間とされ、その間のデータ量がHTTPリクエストデータ量とされる。
【0042】
図2へ戻り、分析部50において、通信品質分析部501は、通信品質の計算結果を統計的に処理して通信品質の特性を計算する。本実施形態では、以上のようにして各品質値が求まると、「1.遅延特性」、「2.スループット特性」および「3.終了(諦め)特性」の3項目について、以下の各統計値が算出される。
【0043】
1.遅延特性
(1)サーバ/端末側RTTの平均値、標準偏差、最大値、最小値、X%ile値
(2)クライアント/RAN側RTTの平均値、標準偏差、最大値、最小値、X%ile値
(3)TCP接続遅延の平均値、標準偏差、最大値、最小値、X%ile値
(4)HTTPレスポンス遅延の平均値、標準偏差、最大値、最小値、X%ile値
(5)HTTP保留時間の平均値、標準偏差、最大値、最小値、X%ile値
【0044】
2.スループット特性
(1)ダウンロード(Res)スループット
(2)アップロード(Req)スループット
(3)HTTPセッションのバルク単位でのスループット(HTTPセッションをバルクに集約し、合計データ量÷合計保留時間で算出される。ただし、HTTPセッション毎の生起および終了時刻を基に重複時間を省く処理を実施する。すなわち、実時間の保留時間が算出される)
【0045】
3.終了(諦め)特性
(1)リセット発生率(コール・バルク内のTCP Reset(RST)発生数の合計÷集約したTCPコネクション数で算出)
(2)タイムアウト発生率(コール・バルク内のTimeout発生数の合計÷集約したTCPコネクション数で算出)
【0046】
分析部50において、バルク並行状況分析部502は、バルクごとに当該バルクよりも後発の各バルクとの並列/並行(Parallel/Concurrent:以下、「並行」で代表する)状況を分析する。
【0047】
図6は、バルク並行状況分析部502が分析対象とするバルク並行の状況を説明するための図である。
【0048】
本実施形態では、送信元アドレス情報が同一のバルク集合内で各バルクに順次着目し、着目したバルクを基準バルクとして、その開始時刻から終了時刻までのバルク期間中に開始する後発のバルクがあれば、その全てが前記基準バルクとの関係で並行バルクに認定される。各バルクの開始時刻および終了時刻はそれぞれ、当該バルクに集約されているセッションのうち、最先セッションの生起時刻および最遅セッションの終了時刻である。
【0049】
図示の例では、基準バルクTX_1の開始時刻と終了時刻との間のバルク期間中に2つのバルクTX_2,TX_3が発生しているので、前記基準バルクTX_1に関しては2つの並行バルクTX_2,TX_3が認定される。
【0050】
一方、前記バルクTX_2に注目し、これを基準バルクと仮定すれば、その開始時刻と終了時刻との間のバルク期間中に2つのバルクTX_3,TX_4が発生している。したがって、前記基準バルクTX_2に関しては2つの並行バルクTX_3,TX_4が認定されることになる。
【0051】
なお、上記の例とは別に、一度でも基準バルクや並行バルクと認定されたバルクについては、他のバルクとの関係で再び基準バルクや並行バルクと認定されることがないようにしても良い。
【0052】
上記のようなバルク並行状況は、例えばユーザがあるサイト(例えば、Webサーバ)に接続中、新たなタブを開いて当該タブ上で同一又は別のサイトに接続したこと、すなわちユーザが並行的な通信操作を行ったときに観測される。
【0053】
前記バルク並行状況分析部502はさらに、送信元アドレス情報が同一のバルク集合の各バルクを対象に、「(1) 並行バルクの有無」、「(2) 並行バルクの数」、「(3) 並行バルクのサイズ」、「(4) 並行バルクのセッション数」、「(5) 並行バルクの経過時間」、「(6) 並行バルクあたりのセッション数」、「(7) 並行バルクあたりのサイズ」、「(1) 並行バルクあたりの継続時間」などを分析する。
【0054】
(1) 「並行バルクの有無」は、対象の全バルクに順次に着目して求められ、着目したバルク(基準バルク)と並行する後発バルクの有無である。本実施形態では、継続率や諦め率を計算し易くするために、統計計算的には「あり=1」、「なし=0」として分析される。
【0055】
(2) 「並行バルクの数」は、対象の全バルクに順次に着目して求められ、着目した基準バルクごとに求まる後発の並行バルク数である。
【0056】
(3) 「並行バルクのサイズ」は、対象の全バルクに順次着目して求められ、着目した基準バルクと並行する全ての後発バルクで送受される総データ量(ダウンロードのデータ量及びアップロードのデータ量の総和)である。なお、「並行バルクのサイズ」は総データ量とせず、並行バルク単独のデータ量として求めても良い。
【0057】
(4) 「並行バルクのセッション数」は、対象の全バルクに順次に着目して求められ、着目した基準バルクと並行する全ての後発バルクに集約されているセッション数の総和である。
【0058】
(5) 「並行バルクの経過時間」は、対象の全バルクに順次に着目して求められ、各基準バルクの開始時刻から、これと並行する各後発バルクの開始時刻までの経過時間である。
【0059】
(6) 「並行バルクあたりのセッション数」は、各基準バルクと並行する各後発バルクに集約されているセッション数である。
【0060】
(7) 「並行バルクあたりのサイズ」は、各基準バルクと並行する各後発バルクのデータ量である。
【0061】
(8) 「並行バルクあたりの継続時間」は、各基準バルクと並行する各後発バルクが開始してから終了するまでの継続時間(バルク期間)である。
なお、前記(2)「並行バルクの数」および(3)「並行バルクのサイズ」についても、
【0062】
対応関係分析部60は、前記通信品質およびバルク並行の状況の分析結果に基づいて両者の対応関係を分析する。本実施形態では、収集された各セッションの通信ログが、通信品質の項目ごとに、その品質値に基づいてグルーピングされ、グループ毎にバルク並行の状況に関する分析結果と対応付けられる。
【0063】
例えば、通信品質の項目としてWebブラウジング(HTTPセッション)におけるダウンロード(DL)のスループットに着目した場合、全ての通信ログを、そのDLスループットに注目して10kbps程度のレンジでグルーピングする。その結果、例えばスループットが150kbps〜160kbpsの各通信ログは同一グループにグルーピングされ、160kbps〜170kbpsの各通信ログは他の同一グループにグルーピングされる。
【0064】
そして、例えば150kbps〜160kbpsのグループに関して、グループ内のログ数が100個であり、そのうち並行バルクの発生数が「1」のログが85個、「0」のログが15個であれば、並行バルクの発生率、または発生数の平均値は0.85とされ、これがスループット150kbps〜160kbps(品質値)に対応した並行バルク発生率(発生数の平均値)とされる。
【0065】
そして、このようなバルクの並行状況と品質値との対応付けを各グループに対して繰り返すことで、
図7に示したような、DLスループットと並行バルク発生数の平均値との対応関係が得られる。
【0066】
図7によれば、DLスループットと並行バルクの発生数の平均値とが有意な相関を示し、DLスループットがおおよそ100kbps以下で並行バルクの発生数の平均値が上昇していることが判る。これは、ダウンロード時のスループットがおおよそ100 kbpsを下回るとユーザが通信品質に満足できず、例えば、新しいタブを開いて同一のサイトもしくは更に別のサイトへのアクセスを試みるといった通信行動をとることを示唆している。したがって、ユーザはダウンロード時の通信品質として、スループットに関してはおおよそ100kbpsで反応し、これがユーザの許容通信品質の閾値、すなわち不満が出始める体感品質の限界値であると推定できる。
【0067】
そして、このような分析結果から、通信設備の新設や増設に際しては、DLスループットが100kbpsを下回らないことを条件とすることが望ましいことが判る。なお、DLスループットに対して並行バルク発生数の平均値が上記のように特異的に変化するタイミングは、並行バルク発生数の平均値の一次微分値や二次微分値に基づいて検知できる。
【0068】
一方、上記の分析結果は同時に、DLスループットが1000kbpsを超えると、100kbps以下の場合ほどではないものの、並行バルク発生数の平均値が増加することを示している。これは、ダウンロード時のスループットが1000 kbpsを超えるとユーザが通信品質に満足し、例えば、新しいタブを開いて別のサイトへのアクセスを試みたり、データサイズのより大きなコンテンツのダウンロードを試みるという通信行動をとることを示唆している。
【0069】
図8は、WebブラウジングにおけるDLスループットと並行バルクのDLサイズとの関係を示した図であり、DLスループットと並行バルクサイズとが有意な相関を示し、DLスループットが1000kbpsを超えるとダウンロードサイズが急激に上昇していることが判る。
【0070】
これは、
図7に示した並行バルク発生数の平均値の場合と同様、ダウンロード時のスループットが1000 kbpsを超えるとユーザが通信品質に満足し、例えば、新しいタブを開いて別のサイトへのアクセスを試みたり、データサイズのより大きなコンテンツのダウンロードを試みるという通信行動をとることを示唆している。
【0071】
一方、上記の分析結果は同時に、DLスループットが100kbpsを下回ると、1000kbps以上の場合ほどではないものの、並行バルクのDLサイズが増加していることを示している。これは、ダウンロード時のスループットがおおよそ100 kbpsを下回るとユーザが通信品質に満足できず、例えば、新しいタブを開いて同一のサイトもしくは更に別のサイトへのアクセスを試みるといった通信行動をとることを示唆している。
【0072】
図9は、HTTPレスポンス遅延と並行バルク発生数の平均値との関係を示した図であり、
図10は、HTTPレスポンス遅延と並行バルクのDLサイズとの関係を示した図である。
【0073】
これらの特性から、HTTPレスポンス遅延がおおよそ0.4~0.5secを超えたあたりから並行バルク発生数の平均値及び並行バルクのDLサイズが急激の上昇していることが判る。したがって、ユーザはダウンロード時の通信品質として、HTTPレスポンス遅延に関しては0.4~0.5secで反応し、これがユーザに不満が出始める体感品質の限界値であると推定できる。
【0074】
図11は、HTTP保留時間と並行バルク発生数の平均値との関係を示した図であり、
図12は、HTTP保留時間と並行バルクのDLサイズとの関係を示した図である。
【0075】
これらの特性から、HTTPレスポンス遅延がおおよそ0.8~1.0secを超えたあたりから並行バルク発生数の平均値及び並行バルクのDLサイズが急激の上昇していることが判る。したがって、ユーザはダウンロード時の通信品質として、HTTPレスポンス遅延に関しては0.8~1.0secで反応し、これがユーザに不満が出始める体感品質の限界値であると推定できる。