(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-01
(45)【発行日】2022-03-09
(54)【発明の名称】ネットワーク品質推定方法及びネットワーク品質推定装置
(51)【国際特許分類】
H04L 43/0829 20220101AFI20220302BHJP
【FI】
H04L43/0829
(21)【出願番号】P 2017172592
(22)【出願日】2017-09-08
【審査請求日】2020-04-15
(73)【特許権者】
【識別番号】591230295
【氏名又は名称】NTTエレクトロニクス株式会社
(74)【代理人】
【識別番号】100119677
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100115794
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】泉 一孝
(72)【発明者】
【氏名】川上 浩二
【審査官】平井 嗣人
(56)【参考文献】
【文献】米国特許第07417991(US,B1)
【文献】特開2008-017257(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/0829
(57)【特許請求の範囲】
【請求項1】
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得手順と、
前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて前記現パケットのシーケンス番号を予測するシーケンス番号予測手順と、
前記シーケンス番号取得手順で取得した前記現パケットのシーケンス番号と前記シーケンス番号予測手順で予測した前記現パケットのシーケンス番号との差分値であるずれ量に基づいてパケット損失率を推定するネットワーク品質推定手順と、
を行うネットワーク品質推定方法であって、
前記ネットワーク品質推定手順では、所定期間にわたって前記ずれ量の全てを加算した累積ずれ量を、前記シーケンス番号から計算される前記所定期間にわたって受信すべきパケット数で除算した値を前記パケット損失率とすることを特徴とするネットワーク品質推定方法。
【請求項2】
前記シーケンス番号取得手順で、パケットに付与可能な最大のシーケンス番号を取得した場合、又はパケットに付与可能な最小のシーケンス番号を取得した場合、改めて前記シーケンス番号取得手順、前記シーケンス番号予測手順、及び前記ネットワーク品質推定手順を開始するリセット手順を行うことを特徴とする請求項1に記載のネットワーク品質推定方法。
【請求項3】
前記ネットワーク品質推定手順は、前記直前パケットのシーケンス番号がパケットに付与可能な最大のシーケンス番号であった場合、改めて前記シーケンス番号取得手順、前記シーケンス番号予測手順、及び前記ネットワーク品質推定手順を開始するリセット手順を行わずに、前記現パケットの前記シーケンス番号を前記ずれ量とすることを特徴とする請求項1に記載のネットワーク品質推定方法。
【請求項4】
前記ネットワーク品質推定手順は、前記ずれ量が所定の負の閾値より小さい負のずれ量であって、前記負のずれ量が算定された前後の前記所定期間より短い一定期間内に前記負のずれ量を補償する正のずれ量が算定されない場合、前記負のずれ量を1に置換することを特徴とする請求項3に記載のネットワーク品質推定方法。
【請求項5】
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得手順と、
前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて前記現パケットのシーケンス番号を予測するシーケンス番号予測手順と、
前記シーケンス番号取得手順で取得した前記現パケットのシーケンス番号と前記シーケンス番号予測手順で予測した前記現パケットのシーケンス番号との差分値であるずれ量に基づいてパケット順序入替率を推定するネットワーク品質推定手順と、
を行うネットワーク品質推定方法であって、
前記ネットワーク品質推定手順では、前記ずれ量が負の値の場合に“1”を、他の場合に“0”を設定するずれ量フラグを用い、前記ずれ量フラグを所定期間にわたって加算した累積ずれ量フラグを、前記シーケンス番号から計算される前記所定期間にわたって受信すべきパケット数で除算した値を前記パケット順序入替率とすること、
前記直前パケットのシーケンス番号が
パケットに付与可能な最大のシーケンス番号であった場合、改めて前記シーケンス番号取得手順、前記シーケンス番号予測手順、及び前記ネットワーク品質推定手順を開始するリセット手順を行わずに、前記現パケットの前記シーケンス番号を前記ずれ量とすること、及び
前記ずれ量が所定の負の閾値より小さい負のずれ量であって、前記負のずれ量が算定された前後の前記所定期間より短い一定期間内に前記負のずれ量を補償する正のずれ量が算定されない場合、前記負のずれ量を1に置換すること
を特徴とするネットワーク品質推定方法。
【請求項6】
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得部と、
前記シーケンス番号取得部が取得したパケットのシーケンス番号を保持する保持部と、
前記シーケンス番号取得部が取得した前記現パケットのシーケンス番号と前記保持部が保持する前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて予測した前記現パケットのシーケンス番号との差分値であるずれ量を算出するずれ量算出部と、
前記ずれ量算出部が算出した前記ずれ量に基づいてパケット損失率を推定するネットワーク品質算出部と、
を備えるネットワーク品質推定装置であって、
前記ネットワーク品質算出部は、所定期間にわたって前記ずれ量の全てを加算した累積ずれ量を、前記シーケンス番号から計算される前記所定期間にわたって受信すべきパケット数で除算した値を前記パケット損失率とすることを特徴とする
ネットワーク品質推定装置。
【請求項7】
前記シーケンス番号取得部は、パケットに付与可能な最大のシーケンス番号を取得した場合、又はパケットに付与可能な最小のシーケンス番号を取得した場合、前記保持部及び前記ネットワーク品質算出部をリセットするリセット動作を行うことを特徴とする請求項6に記載のネットワーク品質推定装置。
【請求項8】
前記ずれ量算出部は、前記直前パケットのシーケンス番号がパケットに付与可能な最大のシーケンス番号であった場合、前記保持部及び前記ネットワーク品質算出部をリセットするリセット動作を行わずに、前記現パケットの前記シーケンス番号を前記ずれ量とすることを特徴とする請求項6
に記載のネットワーク品質推定装置。
【請求項9】
前記ネットワーク品質算出部は、前記ずれ量が所定の負の閾値より小さい負のずれ量であって、前記負のずれ量が算定された前後の前記所定期間より短い一定期間内に前記負のずれ量を補償する正のずれ量が算定されない場合、前記負のずれ量を1に置換することを特徴とする請求項8に記載のネットワーク品質推定装置。
【請求項10】
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得部と、
前記シーケンス番号取得部が取得したパケットのシーケンス番号を保持する保持部と、
前記シーケンス番号取得部が取得した前記現パケットのシーケンス番号と前記保持部が保持する前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて予測した前記現パケットのシーケンス番号との差分値であるずれ量を算出するずれ量算出部と、
前記ずれ量算出部が算出した前記ずれ量に基づいてパケット順序入替率を推定するネットワーク品質算出部と、
を備えるネットワーク品質推定装置であって、
前記ネットワーク品質算出部は、前記ずれ量が負の値の場合に“1”を、他の場合に“0”を設定するずれ量フラグを用い、前記ずれ量フラグを所定期間にわたって加算した累積ずれ量フラグを、前記シーケンス番号から計算される前記所定期間にわたって受信すべきパケット数で除算した値を前記パケット順序入替率とすること、
前記ずれ量算出部は、前記直前パケットのシーケンス番号が
パケットに付与可能な最大のシーケンス番号であった場合、前記保持部及び前記ネットワーク品質算出部をリセットするリセット動作を行わずに、前記現パケットの前記シーケンス番号を前記ずれ量とすること、及び
前記ネットワーク品質算出部は、前記ずれ量が所定の負の閾値より小さい負のずれ量であって、前記負のずれ量が算定された前後の前記所定期間より短い一定期間内に前記負のずれ量を補償する正のずれ量が算定されない場合、前記負のずれ量を1に置換することを特徴とするネットワーク品質推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ネットワーク品質を評価するネットワーク品質推定方法及びネットワーク品質推定装置に関する。
【背景技術】
【0002】
映像や音声などをパケット化してIPネットワークでリアルタイム配信するストリーミングアプリケーションでは、IPネットワークの品質が伝送される映像/音声の品質に重大な影響を与える。送信装置から送信されたIPパケットがネットワーク中で失われてしまう事象の発生割合である「パケット損失率」や、送信装置から順次送信されたIPパケットの到着順序が入れ替わってしまう事象の発生割合である「パケット順序入替率」は、IPネットワークの品質を評価するためのよく知られたパラメータの一例である。IPネットワークでのパケット損失は、受信された映像/音声の途切れを引き起こす可能性がある。IPネットワークでのパケット順序入替は、受信された映像/音声の乱れを引き起こす可能性がある。従って、IPネットワークのパケット損失率やパケット順序入替率を適切に評価あるいは測定することは、品質劣化の少ないストリーミングアプリケーションの提供にとって欠かせない技術である。
【0003】
IPネットワークにダミーパケットを送出してIPネットワークの品質を推定するIPネットワーク品質測定装置が、すでに市販されている。しかし、このような装置は一般的に高価である。また、ダミーパケットがIPネットワークに負荷を与えてしまうため、IPネットワーク品質測定装置は、商用利用されているIPネットワークの品質測定には不向きである。そこで、他のトラヒックに影響を与えることなく、IPネットワークの品質を測定することができる技術の提供が望まれている。
【0004】
特許文献1には、IPネットワークのある1地点において、IPネットワークを流れているIPパケットをキャプチャ(捕獲)して評価することで、ダミーパケットを用いることなくIPネットワークの品質を測定する技術が開示されている。また、特許文献2には、IPパケットの受信装置に循環バッファを備え、循環バッファのチェーン長から決まる検出レイテンシを基準として、受信したIPパケットのパケット損失率を測定する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2005-210515号公報
【文献】特表2006-510255号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1、2に開示された技術は、他のトラヒックに影響を与えることなく、パケット損失率といったIPネットワークの品質を精度よく測定することができる。しかし、これらの技術では特別な装置(特許文献1におけるIPパケットのキャプチャ装置や、特許文献2における循環バッファ)を用意しなければならず、運用やコストの面で課題があった。
【0007】
そこで、本発明は、ストリーミングアプリケーションに適用可能であり、他のトラヒックに影響を与えることなく、IPネットワークの品質をより安価かつ簡易に測定することができるネットワーク品質推定方法及びネットワーク品質推定装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明に係るネットワーク品質推定方法及びネットワーク品質推定装置は、パケットに付与されたシーケンス番号の順や欠落を把握し、対象ネットワークのパケット損失やパケット順序入替の発生比率を推定することとした。
【0009】
具体的には、本発明に係るネットワーク品質推定方法は、
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得手順と、
前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて前記現パケットのシーケンス番号を予測するシーケンス番号予測手順と、
前記シーケンス番号取得手順で取得した前記現パケットのシーケンス番号と前記シーケンス番号予測手順で予測した前記現パケットのシーケンス番号との差分値であるずれ量に基づいてネットワーク品質を推定するネットワーク品質推定手順と、
を行う。
【0010】
また、本発明に係るネットワーク品質推定装置は、
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得部と、
前記シーケンス番号取得部が取得したパケットのシーケンス番号を保持する保持部と、
前記シーケンス番号取得部が取得した前記現パケットのシーケンス番号と前記保持部が保持する前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて予測した前記現パケットのシーケンス番号との差分値であるずれ量を算出するずれ量算出部と、
前記ずれ量算出部が算出した前記ずれ量に基づいてネットワーク品質を推定するネットワーク品質算出部と、
を備える。
【0011】
本ネットワーク品質推定方法及び本ネットワーク品質推定装置は、測定対象のパケットに送信順序を示す「シーケンス番号」が付与されていることが前提である。通常、ストリーミングアプリケーションに用いられるRTP(Real-Time Protocol)パケットのヘッダには、送信順序に応じて1ずつ増加されるカウンタ値である「シーケンス番号」が付与されるようになっている。
【0012】
本ネットワーク品質推定方法及び本ネットワーク品質推定装置は、受信したパケットから当該パケットの「シーケンス番号s(k)」を順次取り出す。s(k)は、測定装置がk番目に受信したパケットのシーケンス番号であることを意味している。そして、本ネットワーク品質推定方法及び本ネットワーク品質推定装置は、k番目の受信パケットのシーケンス番号s(k)と、その1つ前であるk-1番目の受信パケットのシーケンス番号s(k-1)から、シーケンス番号s(k)として得られたであったろう値(予測した現パケットのシーケンス番号)との差分である「ずれ量G(k)」をパケット受信するたびに計算する。そして、ネットワーク品質評価のために、この「ずれ量」を用いて簡易的に後述するパケット損失率とパケット順序入替率を算出する。
【0013】
本ネットワーク品質推定装置を受信装置に搭載したり、ネットワークの一部に接続しておくだけでネットワークのパケット損失やパケット順序入替の発生比率を推定することができる。従って、本発明は、ストリーミングアプリケーションに適用可能であり、他のトラヒックに影響を与えることなく、IPネットワークの品質をより安価かつ簡易に測定することができるネットワーク品質推定方法及びネットワーク品質推定装置を提供することができる。
【発明の効果】
【0014】
本発明は、ストリーミングアプリケーションに適用可能であり、他のトラヒックに影響を与えることなく、IPネットワークの品質をより安価かつ簡易に測定することができるネットワーク品質推定方法及びネットワーク品質推定装置を提供することができる。
【図面の簡単な説明】
【0015】
【
図2】パケット損失率とパケット順序入替率を説明する図である。
【
図3】本発明に係るネットワーク品質推定装置を備える受信装置を説明する図である。
【
図4】本発明に係るネットワーク品質推定装置のネットワーク品質算出部を説明する図である。
【
図5】本発明に係るネットワーク品質推定方法を説明する図である。
【
図6】本発明に係るネットワーク品質推定方法において特殊なケースを説明する図である。
【
図7】本発明に係るネットワーク品質推定方法において特殊なケースを説明する図である。
【
図8】本発明に係るネットワーク品質推定方法において特殊なケースを説明する図である。
【
図9】本発明に係るネットワーク品質推定方法において特殊なケースを説明する図である。
【発明を実施するための形態】
【0016】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0017】
[パケットの構成]
本実施形態に用いられるパケットの構成について説明する。ネットワークで伝送されるパケット(これは、送信装置が送信し、受信装置が受信するパケットである。)には、送信装置がパケットを送信する順序に応じて1ずつ増加されるカウンタ値である「シーケンス番号」が付与されている。シーケンス番号は、パケットが送信される順序を表す数値である。シーケンス番号は、パケットのヘッダ(拡張ヘッダを含む。)の所定の領域に格納される。あるいは、シーケンス番号は、パケットのペイロードに設けた所定の領域に格納してもよい。
【0018】
本発明に用いることができるパケット構成のより具体的な例を、
図1を用いて説明する。映像や音声などを符号化して得られた符号化データは、RTP(Real-Time Protocol)パケットのペイロードに格納される。RTPペイロードにRTPヘッダが付与され、RTPパケットが形成される。RTPヘッダは、
図1に示すように、バージョン(V)、パディング(P)、拡張ヘッダ(X)、CSRCカウント(CC)、マーカ(M)、ペイロード・タイプ、シーケンス番号、タイム・スタンプ、同期送信元(SSRC)識別子の各領域を備える。16ビットで構成されるRTPヘッダのシーケンス番号領域は、RTPパケットの送信順に応じて、1から始まり1ずつ増加されるシーケンス番号を格納する。RTPパケットは、UDP(User Datagram Protocol)ペイロードに格納される。UDPペイロードにUDPヘッダが付与され、UDPパケットが形成される。UDPパケットは、IP(Internet Protocol)ペイロードに格納される。IPペイロードにIPヘッダが付与され、IPパケットが形成される。IPパケットは、IPネットワークを介して、送信装置から受信装置に送信される。
【0019】
なお、本発明に用いることができるパケットは、上述したRTPパケットに限定されるものではない。パケットのヘッダあるいはペイロード中に、当該パケットの送信順序を示すシーケンス番号が付与されているものであれば、どのようなフォーマットのパケットであっても本発明を適用することができる。
【0020】
[処理概要]
図2を用いて、ネットワーク品質の推定処理の概要を説明する。
図2(a)は、「パケット損失率」の推定方法の概要を説明する図であり、
図2(b)は、「パケット順序入替率」の推定方法の概要を説明する図である。
【0021】
IPパケットの送信装置は、1から10まで1ずつインクリメントされるシーケンス番号1、2、3、・・・、10を各々有する10個のIPパケットを送信したと仮定する。これら10個のIPパケットは、IPネットワークを介して、受信装置に受信される。受信装置は、
図2(a)及び
図2(b)に示すように、シーケンス番号s(k)=1、3、4、5、6、8、9、7、10の順で9個のIPパケットを受信したと仮定する。
【0022】
ここで、受信装置が測定開始からk番目に受信したIPパケットが有するシーケンス番号をs(k)と表記することとする。受信装置は、k番目の(すなわち最新の)IPパケットを受信するたびごとに、最新のIPパケットのシーケンス番号s(k)として得られたであったろう値(s(k-1)+1)を予測する。そして、受信装置は、最新のシーケンス番号s(k)と、予測したシーケンス番号s(k-1)+1との差分値G(k)を計算する。
【数1】
ここで、差分値G(k)を「ずれ量」と呼ぶこととする。
【0023】
k番目に受信したIPパケットが、k-1番目に受信したIPパケットの1つ後に送信されたのであれば、シーケンス番号s(k)はシーケンス番号s(k-1)より1だけ大きい値となるはずであるので、ずれ量G(k)は0となる。一方、パケット損失やパケット到着順序の入れ替えが発生した場合、シーケンス番号s(k)はシーケンス番号s(k-1)より1だけ大きい値にはならない。例えば、パケット損失が1つ発生した場合、シーケンス番号s(k)はシーケンス番号s(k-1)より2だけ大きい値となるはずであるから、ずれ量G(k)は1となる。
図2(a)及び
図2(b)の例では、2番目(k=2)に受信したIPパケットのシーケンス番号はs(k)=3であり、その1つ前(k=1)に受信したIPパケットのシーケンス番号はs(k)=1であるから、このとき算出されるずれ量はG(k)=3-(1+1)=+1となる。受信装置は、IPパケットを受信するたびにずれ量G(k)を算出し、この「ずれ量G(k)」を用いてパケット損失率とパケット順序入替率を推定する。
【0024】
(パケット損失率)
図2(a)を参照して、パケット損失率の推定処理の概要について説明する。受信装置は、所定期間の最後のIPパケット(
図2(a)では、k=9)を受信すると、これまでに得られたすべてのずれ量G(k)を加算して累積ずれ量ΣG(k)(
図2(a)の例では1)を算出する。受信装置は、所定期間に受信したIPパケットにおける最大のシーケンス番号S
max(
図2(a)の例では10)と累積ずれ量ΣG(k)との比をパケット損失率P
Lossとして導出する。
【数2】
【0025】
(パケット順序入替率)
次いで、
図2(b)を参照して、パケット順序入替率の推定処理の概要について説明する。受信装置は、IPパケットを受信するたびに、算出したずれ量G(k)が負の値か否かを評価する。算出したずれ量G(k)が負の値の場合、k番目に受信したIPパケットにおけるずれ量フラグNG(k)=1とする。それ以外の場合、ずれ量フラグNG(k)=0とする(数式C3参照)。受信装置は、所定期間の最後のIPパケット(
図2(b)では、k=9)を受信すると、これまでに得られたすべてのずれ量フラグNG(k)を加算して累積ずれ量フラグΣNG(k)(
図2(b)の例では1)を算出する。受信装置は、所定期間に受信したIPパケットにおける最大のシーケンス番号S
max(
図2(b)の例では10)と累積ずれ量フラグΣNG(k)との比をパケット順序入替率P
Reorderとして導出する。
【数C3】
【数4】
累積ずれ量フラグΣNG(k)は、パケット到着順序の入れ替えが発生したパケット数を表している。なお、「これまでに得られたすべてのずれ量フラグNG(k)を加算」することは、「負数のずれ量G(k)をカウントする」ことと等価である。
【0026】
上記では、パケット損失率およびパケット順序入替率を算出するための分母として、受信したIPパケットにおける最大のシーケンス番号S
maxを用いていたが、本発明はこれに限定されるものではない。要は、測定対象とした受信パケットに対応する送信パケット数(
図2(a)、(b)の例では、受信パケット数は9であるが、ネットワーク中でパケット損失が1つ発生しているため、送信パケット数は10)を推定し、それをパケット損失率およびパケット順序入替率を算出するための分母とすればよい。例えば、受信したIPパケットのうち最大のシーケンス番号S
maxと最小のシーケンス番号S
minを用いて、S
max-S
min-1を分母に用いてもよい(数式C2及び数式C4)。この場合、測定対象のうち最初に送信されたIPパケットのシーケンス番号が1以外の場合であっても、パケット損失率やパケット順序入替率を算出できる。
【0027】
つまり、所定期間のIPパケットのシーケンス番号の最小値S
minが1でない場合、
【数C2】
でパケット損失率P
Lossを、
【数C4】
でパケット順序入替率P
Reorderを導出する。また、あらかじめ測定対象のパケット数が決まっている場合は、送信装置がパケットのヘッダ等に送信パケット数に関する情報を格納することで、送信装置が受信装置に伝達するようにしてもよい。
【0028】
[ネットワーク品質推定装置]
図3は、本実施形態に係るネットワーク品質推定装置101を備える受信装置301の構成を説明する図である。受信装置301は、ネットワークからパケットを受信する受信バッファ11と、当該パケットを受信処理するパケット処理部12と、ネットワーク品質推定装置101とを有する。ネットワーク品質推定装置101は、IPパケットを受信する受信装置301に組み込まれ、あるいは受信装置301と一体となって構成される。ネットワーク品質推定装置101は、パケット処理部12からシーケンス番号が通知され、ネットワーク品質として、送信装置から送信されたIPパケットがネットワーク中で失われてしまう事象の発生割合である「パケット損失率」と、送信装置から順次送信されたIPパケットの到着順序が入れ替わってしまう事象の発生割合である「パケット順序入替率」を、
図2を用いて説明した原理に従って推定する。
【0029】
ネットワーク品質推定装置101は、
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得部13と、
シーケンス番号取得部13が取得したパケットのシーケンス番号を保持する保持部14と、
シーケンス番号取得部13が取得した前記現パケットのシーケンス番号と前記保持部14が保持する前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて予測した前記現パケットのシーケンス番号との差分値であるずれ量を算出するずれ量算出部15と、
ずれ量算出部15が算出した前記ずれ量に基づいてネットワーク品質を推定するネットワーク品質算出部16と、
を備える。
【0030】
シーケンス番号取得部13は、パケット処理部12がIPパケットを受信するたびに通知する当該IPパケットに含まれるシーケンス番号s(k)を取得する。シーケンス番号取得部13は、保持部14に最新の(k番目)IPパケットのシーケンス番号s(k)を出力し、保持させる。
【0031】
保持部14は、最新のIPパケットのシーケンス番号s(k)、その1つ前に受信したIPパケットのシーケンス番号s(k-1)、所定期間にわたって保持部14が保持したシーケンス番号のうち最も小さなシーケンス番号Smin及び最も大きなシーケンス番号Smaxを保持する。
【0032】
ずれ量算出部15は、保持部14が保持していた1つ前(k-1番目)に受信したIPパケットのシーケンス番号s(k-1)の値から、最新のIPパケットのシーケンス番号s(k)として得られたであったろう値(s(k-1)+1)を予測する。そして、ずれ量算出部15は、シーケンス番号取得部13が取得した最新のシーケンス番号s(k)と、予測したシーケンス番号s(k-1)+1との差分値であるずれ量G(k)を計算し、ネットワーク品質算出部16に出力する。
【0033】
図4は、ネットワーク品質算出部16の具体的な構成を説明する図である。ネットワーク品質算出部16は、パケット損失率を算出するパケット損失率算出部20と、パケット順序入替率を算出するパケット順序入替率算出部30を備える。パケット損失率算出部20は、加算部21、累積ずれ量保持部22及び除算部23を有する。パケット順序入替率算出部30は、判定部31、加算部32、累積ずれ量フラグ保持部33及び除算部34を有する。
【0034】
パケット損失率算出部20は、上述した数C2に則ってパケット損失率を推定する。加算部21には、ずれ量算出部15が出力した最新(k番目)のずれ量G(k)と、累積ずれ量保持部22が保持している1つ前(k-1番目)の累積ずれ量ΣG(k-1)とを加算し、最新の累積ずれ量ΣG(k)を算出する。加算部21は、累積ずれ量ΣG(k)を累積ずれ量保持部22に出力して保持させるとともに、除算部23に出力する。除算部23は、保持部14が保持している最大シーケンス番号Smax及び最小シーケンス番号Sminを取得し、数C2の計算を行う。すなわち、累積ずれ量ΣG(k)を、(Smax―Smin―1)で除算する。除算部23は、除算して得られた値をパケット損失率PLossの推定値として出力する。
【0035】
パケット順序入替率算出部30は、上述した数C4に則ってパケット順序入替率を推定する。判定部31は、ずれ量算出部15が出力した最新(k番目)のずれ量G(k)が負の値か否かを評価する。判定部31は、数C3に則って、ずれ量G(k)が負の値の場合にずれ量フラグNG(k)=1と設定し、それ以外の場合はずれ量フラグNG(k)=0と設定する。加算部32は、判定部31が出力した最新(k番目)のずれ量フラグNG(k)の値と、累積ずれ量フラグ保持部33が保持している1つ前(k-1番目)の累積ずれ量フラグΣNG(k-1)とを加算し、最新の累積ずれ量フラグΣNG(k)を算出する。加算部32は、累積ずれ量フラグΣNG(k)を累積ずれ量フラグ保持部33に出力して保持させるとともに、除算部34に出力する。除算部34は、保持部14が保持している最大シーケンス番号Smax及び最小シーケンス番号Sminを取得し、数C4の計算を行う。すなわち、累積ずれ量フラグΣNG(k)を、(Smax―Smin―1)で除算する。除算部34は、除算して得られた値をパケット順序入替率Preorderの推定値として出力する。
【0036】
なお、所定期間経過後もしくは任意時刻に、保持部14、累積ずれ量保持部22及び累積ずれ量フラグ保持部33にリセット信号を入力することで、それらが保持する値をリセット(初期化)することができる。例えば、所定期間とは、ネットワーク品質を推定するために必要となる一定の期間であってもよい。あるいは、シーケンス番号の最小値のパケットからシーケンス番号の最大値のパケットまで受信する時間であってもよい。
【0037】
図5は、本実施形態に係るネットワーク品質推定装置101が行うネットワーク品質推定方法を説明するフローチャートである。本ネットワーク品質推定方法は、
現在受信している現パケットから送信された順序を示すシーケンス番号を取得するシーケンス番号取得手順(ステップS01)と、
前記現パケットの直前に受信した直前パケットのシーケンス番号に基づいて前記現パケットのシーケンス番号を予測するシーケンス番号予測手順と、
前記シーケンス番号取得手順で取得した前記現パケットのシーケンス番号と前記シーケンス番号予測手順で予測した前記現パケットのシーケンス番号とのずれ量(ステップS02)に基づいてネットワーク品質を推定するネットワーク品質推定手順(ステップS03)と、
を行う。
ここで、ステップS02におけるずれ量は、上述した数1を用いて算出される値とすればよい。
【0038】
ネットワーク品質推定手順(ステップS03)では、ステップS31でずれ量G(k)が負の値か否かを判断し、ずれ量G(k)が負の値の場合にずれ量フラグNG(k)=1と設定し(ステップS33)、それ以外の場合はずれ量フラグNG(k)=0と設定する(ステップS32)。そして、所定期間に受信したパケットの中で最小のシーケンス番号Sminと最大のシーケンス番号Smaxとの差を算出する(ステップS34)。そして、数C2に則ってパケット損失率PLOSSを算出し(ステップS35)、数C4に則ってパケット順序入替率PReorderを算出する(ステップS36)。
【0039】
[特殊なケース]
ここで、受信したパケットに格納されるシーケンス番号は有限の値であることに着目する。例えば、RTPパケットの場合、シーケンス番号を格納する領域は、
図1に示したように16ビットでしかない。すなわち、RTPパケットは、シーケンス番号として10進数で0から65535までの値しか格納することができない。シーケンス番号が65535に達すると、再び0に戻ってインクリメントされる。以下、パケットには16ビットのシーケンス番号格納領域が割り当てられていることを前提とし、受信したパケットのシーケンス番号が65535から0に戻るタイミングでのずれ量G(k)について考察する。
【0040】
シーケンス番号s(k)=0のパケットを受信した場合、その1つ前の受信パケットのシーケンス番号はs(k-1)=65535であるため、
図6(a)で示したように、ずれ量G(k)=-65536となる。そのため、ネットワーク品質の評価期間中にパケット損失がなかったとしても、累積ずれ量(すなわちパケット損失量の推定値)はΣG(k)=-65536という妥当でない値が算定されてしまう。
【0041】
(対応案1)
そこで、
図6(b)に示したように、シーケンス番号の最大値(16bit値の例では10進数で65535)に達したタイミングで、あるいはシーケンス番号が初期値(通常は0)に戻ったタイミングで、累積ずれ量ΣG(k)及び累積ずれ量フラグΣNG(k)をリセット(初期化)するようにしてもよい。すなわち、シーケンス番号取得部13は、パケット処理部12から取得したシーケンス番号s(k)が65535(あるいは0)であった場合、シーケンス番号取得部13はリセット信号を出力し、保持部14に保持された値、ネットワーク品質算出部16における累積ずれ量保持部22および累積ずれ量フラグ保持部33に保持された値をリセットないし消去し、シーケンス番号がs(k-1)=1から再びずれ量G(k)を算出するようにしてもよい。
【0042】
つまり、シーケンス番号取得部13は、パケットに付与可能な最大のシーケンス番号を取得した場合、又はパケットに付与するシーケンス番号の初期値を取得した場合、保持部14及びネットワーク品質算出部16をリセットするリセット動作を行う。具体的には、シーケンス番号取得部13は、前記リセット動作で、保持部14が保持するs(k)、s(k-1)、Smax、及びSminをリセットし、ネットワーク品質算出部16が算出する累積ずれ量Σk=2[G(k)]と累積ずれ量フラグΣk=2[NG(k)]をリセットする。
【0043】
(対応案2)
シーケンス番号が最大値を受信したタイミングでパケット損失率あるいはパケット順序入替率の推定をリセットしたとしても、シーケンス番号が最大値から初期値に戻るタイミングの前後で受信パケットの入替が発生したとすると不具合が発生する場合がある。例えば、シーケンス番号が最大値のパケット(s(k)=65535)とシーケンス番号が最大値より1つ小さいパケット(s(k)=65534)の順序が入れ替わって受信された場合、
図7(a)に示したように、シーケンス番号s(k)=65535を受信してリセットされた後であっても、s(k)=0を受信したタイミングでずれ量G(k)=-65535が算定されてしまう。その結果、その後にパケット損失が発生しなかったとしても累積ずれ量としてΣG(k)=-65535という妥当でない値が算定されてしまう。また、シーケンス番号が初期値のパケット(s(k)=0)とシーケンス番号が初期値より1つ大きいパケット(s(k)=1)の順序が入れ替わって受信された場合、
図7(b)に示したように、シーケンス番号s(k)=65535を受信してリセットされた後であっても累積ずれ量ΣG(k)=-1が算定されてしまい、パケット損失量の推定値として-1という妥当でない値が算定されてしまう。
【0044】
そこで、シーケンス番号が最大値のパケットを受信した場合、その次の受信パケットに対するずれ量G(k)は、当該受信パケットのシーケンス番号と一致する値とすればよい。言い換えると、1つ前の受信パケットのシーケンス番号が最大値(s(k)=65535)であった場合は、ずれ量は受信パケットのシーケンス番号と一致する値とすればよい。これを式として書き表すと、以下のようになる。
【数C5】
ただし、Max Sはパケットに付与可能な最大のシーケンス番号である。
【0045】
数C5を用いるのであれば、シーケンス番号の最大値(16bit値の例では10進数で65535)に達したタイミングで、あるいはシーケンス番号が初期値(通常は0)に戻ったタイミングで、ネットワーク品質の推定をリセットする必要はない。
図7(a)と同じ受信パケットの入れ替えが発生したとしても、数C5を用いれば、
図8(a)に示したように、累積ずれ量は妥当な値を得ることができる。同様に、
図7(b)と同じ受信パケットの入れ替えが発生したとしても、
図8(b)に示したように、累積ずれ量は妥当な値を得ることができる。
【0046】
(対応案3)
ずれ量の算定に式C5を用いた場合であっても、不具合解消の鍵となるシーケンス番号s(k)=65535のパケットがネットワーク中で損失して受信されなかった場合、ずれ量およびずれ量フラグとして妥当でない値が算定されてしまう。
図9(a)に示したように、シーケンス番号s(k)=65535のパケットが受信されなかった場合、シーケンス番号s(k)=0のパケットを受信すると、ずれ量G(k)=-65535とずれ量フラグNG(k)=1が算定されてしまう。
【0047】
そこで、シーケンス番号が最大値となるパケットが損失した場合は、このパケットに前後する受信パケットから算定されるずれ量G(k)をパケット損失率あるいはパケット順序入替率の算定に用いないようにすればよい。具体的には、ネットワーク品質算出部16は、ずれ量G(k)について、負のしきい値Gthが設定されており、ずれ量算出部15がGth未満の負のずれ量G(k)を算定し、前記負のずれ量G(k)を算定した前後の前記所定期間より短い一定期間内に前記負のずれ量G(k)を補償する正のずれ量を算定しない場合、前記負のずれ量G(k)をG(k)=1に置換する。
【0048】
つまり、所定の負の閾値Gthより小さいずれ量G(k)が算定された場合、このずれ量を算定した前後のある一定期間内にこのずれ量を補償する正のずれ量が算定されなければ、シーケンス番号が最大値となるパケットが損失したとみなして、当該ずれ量をG(k) = 1と変更すればよい。
【0049】
例えば、所定の負の閾値Gth=-60000、一定期間を受信したパケット数6に相当する期間とした例について述べる。シーケンス番号が最大値より1小さいパケット(s(k)=65534)を受信した後にシーケンス番号が初期値のパケット(s(k)=0)を受信したとする。このとき、ずれ量はG(k)=-65535(<Gth)と算定され、ずれ量フラグはNG(k)=1が算定される。その前後3パケット(合計6パケット)にわたってG(k)=-Gth(この値は正になる)のずれ量が算定されなかった場合、シーケンス番号が最大値のパケット(s(k)=65535)は損失したものとみなし、
図9(b)に示したように、シーケンス番号が初期値のパケット(s(k)=0)を受信したときに算定したずれ量をG(k)=1に変更し、それに基づきNG(k)=0に変更する。この処理は、シーケンス番号が最大値のパケットが損失したことに対応してずれ量をG(k)=1に設定することを意味する。その結果、累積ずれ量はΣG(k)=1(すなわちパケット損失量1)となり、パケット入替が発生した数は0と補正される。なお、この例では一定の期間を受信パケット数6に相当する期間としたが、ネットワークの構成や状況などによって適宜変更しても構わない。
【0050】
ここで、所定の負の閾値Gthとして用いることができる最小の値は、シーケンス番号の最大値を負数とした値より1大きい値である。例えば、
図1に示したようにシーケンス番号が16ビットで表される場合(シーケンス番号の最大値は65535)、所定の負の閾値Gthとして用いることができる最小の値は-65534である。そして、ずれ量G(k)が-65534未満となるのは、
図9(a)に示したように、シーケンス番号が最大値(s(k)=65535)のパケットのみが損失した場合である。一方、所定の負の閾値Gth=-65534を用いると、シーケンス番号が最大値のパケットを含む連続した複数のパケットが損失した場合を補償することができない。例えば、シーケンス番号s(k)が65533から65535の3パケットが連続して損失した場合を考える。シーケンス番号s(k)=65532のパケットの受信に引き続いて、シーケンス番号s(k)=0のパケットを受信したとき、ずれ量はG(k)=0-(65532+1)=-65533と算出される。所定の負の閾値がGth=-65534を用いた場合、このずれ量は補正されず、従って累積ずれ量もΣG(k)=-65555という妥当でない値が算出されてしまう。そこで、所定の負の閾値Gthとしては、連続して損失する可能性のあるパケット数を考慮し、「シーケンス番号の最大値を負数とした値より1大きい値」よりもさらに大きな負数の値を用いるようにしてもよい。上記の例のように、最大で3パケットが連続して損失する可能性がある場合、所定の負の閾値はGth=-65532とすればよい。
【0051】
(発明の効果)
本発明に係るネットワーク品質推定方法及びネットワーク品質推定装置は、k番目に受信したパケットのシーケンス番号s(k)と、その1つ前に受信したパケットのシーケンス番号s(k-1)との値から、シーケンス番号s(k)として得られたであろう値との差分である「ずれ量G(k)」に基づいてパケット損失率とパケット順序入替率を算出するようにした。ネットワーク品質測定用のダミーパケットを送信する必要がなく、かつ、加減算のみでネットワーク品質を算出できるため、本発明により、他のトラヒックに影響を与えることなく、ネットワークの品質をより安価かつ簡易に測定することができるようになる。
【0052】
なお、特許文献1や2はネットワーク品質を精度よく測定するために発明された装置である。一方、本発明は、特許文献1や2ほど高精度さを求めるのではなく、安価かつ簡易にネットワーク品質を測定するために発明された装置であって、特許文献1や2の発明の目的とは異なることを付言しておく。
【符号の説明】
【0053】
11:受信バッファ
12:パケット処理部
13:シーケンス番号取得部
14:保持部
15:ずれ量算出部
16:ネットワーク品質算出部
20:パケット損失率算出部
21:累積ずれ量保持部
22:除算部
30:パケット順序入替率算出部
31:判定部
32:累積ずれ量フラグ保持部
33:除算部
101:ネットワーク品質推定装置
301:受信装置