特許第6279741号(P6279741)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テレコム・イタリア・エッセ・ピー・アーの特許一覧

特許6279741パケット交換通信ネットワークにおける時間測定
<>
  • 特許6279741-パケット交換通信ネットワークにおける時間測定 図000006
  • 特許6279741-パケット交換通信ネットワークにおける時間測定 図000007
  • 特許6279741-パケット交換通信ネットワークにおける時間測定 図000008
  • 特許6279741-パケット交換通信ネットワークにおける時間測定 図000009
  • 特許6279741-パケット交換通信ネットワークにおける時間測定 図000010
  • 特許6279741-パケット交換通信ネットワークにおける時間測定 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6279741
(24)【登録日】2018年1月26日
(45)【発行日】2018年2月14日
(54)【発明の名称】パケット交換通信ネットワークにおける時間測定
(51)【国際特許分類】
   H04L 12/70 20130101AFI20180205BHJP
【FI】
   H04L12/70 100Z
【請求項の数】17
【全頁数】27
(21)【出願番号】特願2016-537439(P2016-537439)
(86)(22)【出願日】2013年12月17日
(65)【公表番号】特表2017-504246(P2017-504246A)
(43)【公表日】2017年2月2日
(86)【国際出願番号】EP2013076892
(87)【国際公開番号】WO2015090364
(87)【国際公開日】20150625
【審査請求日】2016年12月8日
(73)【特許権者】
【識別番号】503148270
【氏名又は名称】テレコム・イタリア・エッセ・ピー・アー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】コシグリオ,マウロ
【審査官】 速水 雄太
(56)【参考文献】
【文献】 国際公開第2011/079857(WO,A1)
【文献】 特開2008−182433(JP,A)
【文献】 特開2009−130786(JP,A)
【文献】 国際公開第2013/174417(WO,A1)
【文献】 国際公開第2012/059138(WO,A1)
【文献】 M. Chen,et,al.,Coloring based IP Flow Performance Measurement Framework,Internet-Draft,2013年 2月25日,URL,http://tools.ietf.org/id/draft-chen-coloring-based-ipfpm-framework-01.txt
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−12/955
(57)【特許請求の範囲】
【請求項1】
通信ネットワーク(CN)を通じて第1の測定ポイント(N1)から第2の測定ポイント(N2)へ送信されるパケットフロー(PF)に関して時間測定を実行する方法であって、
a)前記第1の測定ポイント(N1)において、前記パケットフロー(PF)が送信される間、前記パケットフロー(PF)を、第1の期間(T(0)、T(2)、T(4)、...)中に送信される第1のパケット(Pki)と、前記第1の期間(T(0)、T(2)、T(4)、...)と時間的に交互である第2の期間(T(1)、T(3)、...)中に送信される第2のパケット(Pki)とに分割するステップと、
b)ある期間(T(k))中に、前記第1のパケット(Pki)が送信される間、前記第1の測定ポイント(N1)において、前記第1のパケット(Pki)に、前記第1のパケット(Pki)の各パケットの特徴を、第1のパケット(Pki)が時間測定を受けることを示す第1のマーキング値(Vc)または第1のパケット(Pki)が時間測定を受けないことを示す第2のマーキング値(Vd)のいずれかに設定することによってマークすることであって、当該マークすることは、前記第1のマーキング値(Vc)によってマークされた2つの第1のパケット(Pki)の送信時間が、少なくとも、前記期間(T(k))の継続時間(Tb)よりも短い予め定義された最小送信間時間(Tx)だけ相互に遅延するように実行される、マークすることと、前記第1のマーキング値(Vc)によってマークされた前記第1のパケット(Pki)の各パケットについて、送信タイムスタンプを生成することとを行うステップと、
c)前記第2の測定ポイント(N2)において、前記第1のマーキング値(Vc)によってマークされた前記第1のパケット(Pki)を識別し、前記第1のマーキング値(Vc)によってマークされた前記第1のパケット(Pki)の各パケットについて、受信タイムスタンプを生成するステップと、
d)前記期間(T(k))の満了後、前記第1のマーキング値(Vc)によってマークされた前記第1のパケット(Pki)の前記送信タイムスタンプおよび前記受信タイムスタンプに基づいて、前記時間測定を実行するステップと
を含む方法。
【請求項2】
請求項1に記載の方法であって、前記ステップa)は、前記パケット(Pki)に、前記パケット(Pki)の各パケットのさらなる特徴を、第1のパケット(Pki)が前記第1の期間(T(0)、T(2)、T(4)、...)中に送信されることを示す第3のマーキング値(Va)または第2のパケット(Pki)が前記第2の期間(T(1)、T(3)、...)中に送信されることを示す第4のマーキング値(Vb)のいずれかに設定することによってマークするステップを含む、方法。
【請求項3】
請求項2に記載の方法であって、前記パケットフロー(PF)の各パケット(Pki)は、マーキングフィールド(MF)を含み、前記さらなる特徴は、前記マーキングフィールド(MF)の第1のマーキングサブフィールド(b1)であり、前記特徴は、前記マーキングフィールド(MF)の第2のマーキングサブフィールド(b2)である、方法。
【請求項4】
請求項1から3のいずれか一項に記載の方法であって、ステップb)において、前記最小送信間時間(Tx)は、前記第1のマーキング値(Vc)によってマークされた前記第1のパケット間の追い越しを含む受信シーケンスエラーを防止するのに適切な値に設定される、方法。
【請求項5】
請求項4に記載の方法あって、前記最小送信間時間(Tx)は、前記第1の測定ポイント(N1)から前記第2の測定ポイント(N2)への前記パケットフロー(PF)の平均片道遅延よりも長い、方法。
【請求項6】
請求項4に記載の方法であって、前記最小送信間時間(Tx)は、前記第1の測定ポイント(N1)から前記第2の測定ポイント(N2)への前記パケットフロー(PF)の最大片道遅延よりも長い、方法。
【請求項7】
請求項4から6のいずれか一項に記載の方法であって、前記最小送信間時間(Tx)は、10ミリ秒以上である、方法。
【請求項8】
請求項1から7のいずれか一項に記載の方法であって、前記ステップb)は、前記第1のパケット(Pki)の各パケットを送信するときに、
前記ある期間(T(k))が、前記第1の期間(T(0)、T(2)、T(4)、...)のうちの1つであるか、それとも前記第2の期間(T(1)、T(3)、...)のうちの1つであるかをチェックするステップと、
前記ある期間(T(k))が、前記第1の期間(T(0)、T(2)、T(4)、...)のうちの1つである場合に、送信カウンタ(C1a)を増加させ、前記第1のマーキング値(Vc)によってマークされた最後のパケット(Pki)の送信から、前記最小送信間時間(Tx)が経過したかどうかをチェックし、経過した場合に、前記第1のマーキング値(Vc)によって前記第1のパケット(Pki)にマークし、N個の送信タイムスタンプ変数(TS1a(i))のうちの1つを、前記第1の測定ポイント(N1)のローカルクロックによって示される現在時間(t)に設定するステップと
を含む、方法。
【請求項9】
請求項8に記載の方法であって、前記ステップd)は、
前記期間(T(k))が、前記第1の期間(T(0)、T(2)、T(4)、...)のうちの1つであったか、それとも前記第2の期間(T(1)、T(3)、...)のうちの1つであったかをチェックするステップと、
前記期間(T(k))が、前記第1の期間(T(0)、T(2)、T(4)、...)のうちの1つであった場合に、前記時間測定を実行するために、前記送信カウンタ(C1a)および前記N個の送信タイムスタンプ変数(TS1a(i))を使用するステップと、
前記送信カウンタ(C1a)および前記N個の送信タイムスタンプ変数(TS1a(i))をリセットするステップと
を含む、方法。
【請求項10】
請求項8または9に記載の方法であって、前記ステップc)は、各パケット(Pki)を受信するときに、
前記パケット(Pki)が、前記第1のパケット(Pki)のうちの1つであるか、それとも前記第2のパケット(Pki)のうちの1つであるかをチェックするステップと、
前記パケット(Pki)が、前記第1のパケット(Pki)のうちの1つである場合に、受信カウンタ(C2a)を増加させ、前記第1のパケット(Pki)が前記第1のマーキング値(Vc)によってマークされているかどうかをチェックし、マークされている場合に、N個の受信タイムスタンプ変数(TS2a(i))のうちの1つを、前記第2の測定ポイント(N2)のローカルクロックによって示される現在時間(t**)に設定するステップと
を含む、方法。
【請求項11】
請求項10に記載の方法であって、前記ステップd)は、
前記期間(T(k))が、前記第1の期間(T(0)、T(2)、T(4)、...)のうちの1つであったか、それとも前記第2の期間(T(1)、T(3)、...)のうちの1つであったかをチェックするステップと、
前記期間(T(k))が、前記第1の期間(T(0)、T(2)、T(4)、...)のうちの1つであった場合に、前記時間測定を実行するために、前記受信カウンタ(C2a)および前記N個の受信タイムスタンプ変数(TS2a(i))を使用するステップと、
前記受信カウンタ(C2a)および前記N個の受信タイムスタンプ変数(TS2a(i))をリセットするステップと
を含む、方法。
【請求項12】
請求項11に記載の方法であって、前記ステップd)は、前記期間(T(k))の終了に対して、前記期間(T(k))の継続時間(Tb)の1%から50%の間を構成する所定の待ち時間だけ遅延する、方法。
【請求項13】
請求項1から12のいずれか一項に記載の方法であって、前記ステップd)は、前記第1のマーキング値(Vc)によってマークされた、前記第1のパケット(Pki)のうちの各パケットについての片道遅延を、送信タイムスタンプと、前記第1のパケット(Pki)についてステップc)で生成された受信タイムスタンプとの差として計算するステップを含む、方法。
【請求項14】
通信ネットワーク(CN)のノード(N1)であって、前記ノード(N1)は、パケットフロー(PF)をさらなるノード(N2)に送信するように構成され、前記ノード(N1)は、
a)前記パケットフロー(PF)が送信される間、前記パケットフロー(PF)を、第1の期間(T(0)、T(2)、T(4)、...)中に送信される第1のパケット(Pki)と、前記第1の期間(T(0)、T(2)、T(4)、...)と時間的に交互である第2の期間(T(1)、T(3)、...)中に送信される第2のパケット(Pki)とに分割し、
b)ある期間(T(k))中に、前記第1のパケット(Pki)が送信される間、前記第1のパケット(Pki)を、前記第1のパケット(Pki)の各パケットの特徴を、第1のパケット(Pki)が時間測定を受けることを示す第1のマーキング値(Vc)または第1のパケット(Pki)が時間測定を受けないことを示す第2のマーキング値(Vd)のいずれかに設定することによって、マークし、当該マークすることは、前記第1のマーキング値(Vc)によってマークされた2つの第1のパケット(Pki)の送信時間が、少なくとも、前記期間(T(k))の継続時間(Tb)よりも短い、予め定義された最小送信間時間(Tx)だけ相互に遅延するように実行され、前記第1のマーキング値(Vc)によってマークされた前記第1のパケット(Pki)の各パケットについて、送信タイムスタンプを生成する
ように構成された、ノード(N1)。
【請求項15】
通信ネットワーク(CN)のノード(N2)であって、前記ノード(N2)は、さらなるノード(N1)からパケットフロー(PF)を受信するように構成され、前記パケットフロー(PF)は、第1の期間(T(0)、T(2)、T(4)、...)中に送信される第1のパケット(Pki)と、前記第1の期間(T(0)、T(2)、T(4)、...)と時間的に交互である第2の期間(T(1)、T(3)、...)中に送信される第2のパケット(Pki)とに分割されたパケット(Pki)を含み、前記パケット(Pki)の各パケットは、第1のパケット(Pki)が時間測定を受けることを示す第1のマーキング値(Vc)または第1のパケット(Pki)が時間測定を受けないことを示す第2のマーキング値(Vd)のいずれかに設定された特徴を含み、前記ノード(N2)は、
前記第1のマーキング値(Vc)によってマークされた前記第1のパケットを識別し、
前記第1のマーキング値(Vc)によってマークされた前記第1のパケット(Pki)のうちの各パケットについて、受信タイムスタンプを生成する
ように構成された、ノード(N2)。
【請求項16】
請求項14に記載の第1のノード(N1)と、請求項15に記載の第2のノード(N2)とを少なくとも含む通信ネットワーク(CN)。
【請求項17】
少なくとも1つのコンピュータに、請求項1から13のいずれか一項に記載の方法のステップを実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークの分野に関する。特に、本発明は、パケット交換通信ネットワークにおいて、2つの測定ポイント間で送信されるデータフロー(特に、パケットフロー)の時間測定(特に、遅延測定および/またはジッタ測定)を実行する方法に関する。さらに、本発明は、そのような方法を実装するように構成される通信ネットワークのためのノードおよびコンピュータ、ならびにそのようなノードおよびコンピュータを含むコンピュータネットワークに関する。
【背景技術】
【0002】
パケット交換通信ネットワークでは、データは、可能な中間ノードを通じてソースノードから宛先ノードへルーティングされる、パケットの形式で送信される。例示的なパケット交換ネットワークは、IP(Internet Protocol)ネットワーク、イーサネットネットワーク、およびMPLS(Multi−Protocol Label Switching)ネットワークである。
【0003】
パケットは、常に宛先ノードに到達するわけではなく、すなわち、パケットは、ネットワークを通じた送信中に失われる可能性がある。パケットのロスは、様々な理由による。例えば、ノードまたはリンクに障害がある可能性があり、または、ポートの輻輳に起因して、ノードによってパケットが廃棄される可能性もある。さらに、パケットが、ビットエラーを含んでいるために、ノードによってパケットが廃棄される可能性もある。いずれにせよ、パケット交換ネットワークを通じてデータを送信することによってサービスを提供するとき、送信中のパケット損失レートは、そのサービスのサービス品質(QoS:quality of service)に影響を及ぼす。
【0004】
さらに、パケットは、ソースノードによって送信時間に送信され、宛先ノードによって受信時間に受信される。送信時間と受信時間との間に経過する時間は、典型的には、「片道遅延」と呼ばれる。パケットの片道遅延は、ソースから宛先へとパケットが横断する、可能な中間ノードの数、各ノードにおけるパケットの永続性時間、およびリンクに沿った伝播時間に、主に依存する。パケットは、各ノードによってホップバイホップでルーティングされるため、パケットが横断する可能な中間ノードの数と、各ノードにおけるパケットの永続性時間はいずれも、予測不能である。したがって、パケットの片道遅延は、ほとんど予測不能である。
【0005】
さらに、同一のパケットフローのパケットが、異なる片道遅延を有する可能性がある。同一のデータフローの2つのパケットの片道遅延の差は、「到着間ジッタ」(または、簡単に、「ジッタ」)と称される。
【0006】
通信サービス(特に、通話、会議通話、ビデオ会議、などのリアルタイムの音声サービスまたはデータサービス)が、パケット交換ネットワークによって提供されるとき、サービスを届けるパケットフローに影響を及ぼす、パケットロス、片道遅延およびジッタを測定することが、サービスのエンドユーザによって認知されるサービス品質(QoS)の指標を提供する。したがって、通信ネットワークにおけるパケットフローのパケットロス、片道遅延、および/またはジッタを測定することは、ネットワーク事業者にとって特に関心のあることである。
【0007】
WO2010/072251(同一出願人の名義による)は、通信ネットワークを通じて送信ノードから受信ノードへ送信される、データフローのデータ損失を測定する方法を開示する。データフローのデータユニットを送信する前に、送信ノードは、データフローをブロックに分割するために、各データユニットにマークする。特に、送信ノードは、各データユニットのヘッダのビットを「1」または「0」に設定することにより、各データユニットにマークする。マークすることによって、ブロックのシーケンスを生じ、ブロックのシーケンスでは、「1」でマークされたデータユニットのブロックが、「0」でマークされたデータユニットのブロックと時間的に交互に起こる。ブロックは、「ブロック期間」Tbと称される、同一の継続時間(例えば、5分)を有することができる。
【0008】
WO2011/079857(同一出願人の名義による)は、データフローに対して(特に、片道遅延および/またはジッタを測定するための)時間測定を実行する方法を開示する。WO2011/079857によれば、WO2010/072251により開示された上記のマーキング動作に加えて、各ブロック期間において、送信タイムスタンプおよび受信タイムスタンプが生成される。送信タイムスタンプおよび受信タイムスタンプは、現在のブロックの所定のデータユニットが送信および受信された時間を示す。特に、送信ノードは、現在のブロック期間中に送信されているパケットをカウントし、X個のパケットが送信される毎に送信タイムスタンプを生成する。同様に、受信ノードは、現在のブロック期間中に受信されているパケットをカウントし、X個のパケットが受信される毎に受信タイムスタンプを生成する。後続のブロック期間において、送信タイムスタンプおよび受信タイムスタンプは、予め定義されたデータユニットに影響を及ぼす片道遅延およびジッタを計算するために使用される。
【0009】
2013年2月25日のインターネットドラフト「Coloring based IP flow performance measurement framework(着色によるIPフローの性能測定フレームワーク), draft−chen−coloring−based−ipfpm−framework−01」には、パケットロスおよび遅延測定を可能にするために、パケットを異なる色のブロックへと「着色する」ようにIPヘッダの未使用ビットを設定することが開示されている。遅延測定のため、期間内に、単一のパケットが着色される。送信者は、着色されたパケットが送信されるときにタイムスタンプを記録し、受信者は、着色されたパケットを検知したときに、タイムスタンプを記録する。2つのタイムスタンプを用いて、パケット遅延が計算される。
【発明の概要】
【発明が解決しようとする課題】
【0010】
出願人は、WO2011/079857に記載された遅延測定および/またはジッタ測定が、パケットロスも受信シーケンスエラーも発生しなかったブロック期間についてのみ、すなわち、あるブロック期間中に送信される全てのパケットが、それらが送信された順番に従って、同じ順番で受信されるときにのみ、有効な結果を提供することに気が付いた。
【0011】
しかしながら、ブロック期間に影響を及ぼすパケットロスは、検知される可能性がある(かつ、そのブロック期間に関する時間測定は、したがって無効として廃棄される可能性がある)が、受信ノードは、時間測定を受けるパケットの識別をパケットカウントのみに基づくため、受信シーケンスエラーが検知されない可能性がある。したがって、パケットロスが発生しなかったブロック期間中に受信シーケンスエラーが発生し、そのエラーが時間測定を受けるパケットを含む場合、受信ノードは、そのエラーを検知できず、したがって、そのブロック期間に関する時間測定が無効であることを認識できない。
【0012】
一方、上記で引用したインターネットドラフトは、パケットの色に基づいて、測定されるべきパケットの識別を提供し、したがって、原則として、そのようなパケットを含む受信シーケンスエラーの場合にも、測定されるべきパケットを適切に識別できるようにする。しかしながら、この技術にも、いくつかの欠点がある。
【0013】
第1に、測定されるべきパケットは全て同一の色であるため、測定されるべきパケットのシーケンスには不連続性がない。したがって、連続する2つの着色されたパケットを含む、起こり得る受信シーケンスエラーは、検知できない。結果として生じる時間測定は、したがって無効であるが、そのような無効は検知できない。さらに、受信シーケンスエラーの発生後にもたらされる受信タイムスタンプのエラーが、着色されたパケットのシーケンス全体に沿っていつまでも伝播するため、後続の時間測定も全て無効である。
【0014】
着色されたパケットのシーケンス内の受信シーケンスエラーを回避するためには、着色している期間(すなわち、連続する2つの着色されたパケットの送信間に経過する時間)は、むしろ長く、例えば、1分以上であるものとする。受信ノードにおいて、着色された各パケットは、次の着色されたパケット、および前の着色されたパケットと、時間のみを基準として区別されるため、これは、ある着色している期間中に受信した、着色されたパケットは、予測したものであることを保証する。
【0015】
しかしながら、このように、着色され、時間測定を受けるパケットの数が非常に減少され、それに応じて、不利なことに、提供される時間測定サンプルの数が、非常に減少する。
【0016】
上記の点を考慮して、出願人は、パケット交換通信ネットワークにおいて、2つの測定ポイント(ノードまたはコンピュータ)間で送信されるパケットフローに対して時間測定を実行する方法を提供するという問題に取り組んできた。その方法は、前述の欠点を克服し、すなわち、受信シーケンスエラーを免れ、十分な数の時間測定サンプルを提供する。
【課題を解決するための手段】
【0017】
以下の説明および特許請求の範囲において、「パケットフローに対して時間測定を実行する」という表現は、以下を測定する動作を指すものとする。
− 2つの測定ポイント間の送信によって、前記パケットフローのパケットに引き起こされる片道遅延または双方向遅延、および/または
− 2つの測定ポイント間の送信によって、パケットフローの1組のパケットに引き起こされるジッタ
さらに、以下の説明および特許請求の範囲において、「パケットにマークする」という表現は、少なくとも1つのパケットの特徴を、予め定義されたマーキング値、特に、少なくとも2つの択一のマーキング値のうちの1つに設定する動作を指すものとする。例えば、パケットにマークする動作は、パケットの1つまたは複数のビット(例えば、そのヘッダの1ビットまたはビットシーケンス)を、少なくとも2つの予め定義された択一のマーキング値のうちの1つに設定する動作や、その周波数またはその位相を、少なくとも2つの予め定義された択一のマーキング値のうちの1つに設定する動作、などを含むことができる。
【0018】
本発明の実施形態によれば、上述の問題は、通信ネットワークを通じて送信されるパケットフローに対して時間測定を実行する方法によって解決される。その方法では、送信ノードは、パケットを送信する間、交互に起こる期間内に送信される第1のパケットと第2のパケットとに、パケットを分割する。各期間において、送信ノードは、また、各パケットの特徴を、パケットが時間測定を受けることを示す第1の値、またはパケットが時間測定を受けないことを示す第2の値に設定することによって、各パケットにマークする。マークすることは、第1の値によってマークされた2つのパケットの送信時間が、期間の継続時間よりも短い、予め定義された送信間時間だけ相互に遅延されるように実行される。第1の値によってマークされた各パケットについて、送信ノードは、送信タイムスタンプを生成し、受信ノードは、受信タイムスタンプを生成する。次いで、各期間の終了後、時間測定は、前の期間中に送信された第1の値によってマークされたパケットの送信タイムスタンプおよび受信タイムスタンプに基づいて、実行される。
【0019】
第1の態様によれば、本発明は、通信ネットワークを通じて第1の測定ポイントから第2のへ測定ポイント送信されるパケットフローに対して時間測定を実行する方法を提供する。方法は、以下を含む。
a)第1の測定ポイントにおいて、パケットフローが送信される間、第1の期間中に送信される第1のパケットと、第1の期間と時間的に交互に起こる第2の期間中に送信される第2のパケットとに、パケットフローを分割するステップ。
b)ある期間中に、第1のパケットが送信される間、第1の測定ポイントにおいて、第1のパケットの各パケットの特徴を、第1のパケットが時間測定を受けることを示す第1のマーキング値、または第1のパケットが時間測定を受けないことを示す第2のマーキング値のいずれかに設定することによって、第1のパケットにマークするステップであって、第1のマーキング値によってマークされた2つの第1のパケットの送信時間が、少なくとも、期間の継続時間よりも短い、予め定義された最小送信間時間だけ、相互に遅延されるように実行される、マークするステップ、および第1のマーキング値によってマークされた第1のパケットの各パケットについて、送信タイムスタンプを生成するステップ。
c)第2の測定ポイントにおいて、第1のマーキング値によってマークされた第1のパケットを識別し、第1のマーキング値によってマークされた第1のパケットの各パケットについて、受信タイムスタンプを生成するステップ。
d)期間の満了後、第1のマーキング値によってマークされた第1のパケットの、送信タイムスタンプおよび受信タイムスタンプに基づいて、時間測定を実行するステップ。
【0020】
好ましい実施形態によれば、ステップa)は、パケットの各パケットのさらなる特徴を、第1のパケットが第1の期間中に送信されることを示す第3のマーキング値、または第2のパケットが第2の期間中に送信されることを示す第4のマーキング値のいずれかに設定することによって、パケットにマークするステップを含む。
【0021】
好ましくは、パケットフローの各パケットは、マーキングフィールドと、マーキングフィールドの第1のマーキングサブフィールドであるさらなる特徴と、マーキングフィールドの第2のマーキングサブフィールドである特徴と、を含む。
【0022】
好ましくは、ステップb)において、最小送信間時間は、第1のマーキング値によってマークされた第1のパケット間の追い越しを伴う、受信シーケンスエラーを防止するのに適切な値に設定される。
【0023】
いくつかの変形によれば、最小送信間時間は、第1の測定ポイントから第2の測定ポイントへのパケットフローの平均片道遅延よりも長い。
他の変形によれば、最小送信間時間は、第1の測定ポイントから第2の測定ポイントへのパケットフローの最大片道遅延よりも長い。
【0024】
好ましくは、最小送信間時間は、10ミリ秒以上である。
好ましくは、ステップb)は、第1のパケットの各パケットの送信後、以下を含む。
・ある期間が、第1の期間のうちの1つであるか、それとも第2の期間のうちの1つであるかをチェックするステップ。
・ある期間が、第1の期間のうちの1つである場合、送信カウンタを増加させ、第1のマーキング値によってマークされた最後のパケットの送信から、最小送信間時間が経過したかどうかをチェックし、経過した場合、第1のマーキング値によって第1のパケットにマークし、N個の送信タイムスタンプ変数のうちの1つを、第1の測定ポイントのローカルクロックによって示される現在時間に設定するステップ。
【0025】
好ましくは、ステップd)は、以下を含む。
・期間が、第1の期間のうちの1つであったか、それとも第2の期間のうちの1つであったかをチェックするステップ。
・期間が、第1の期間のうちの1つであった場合、時間測定を実行するために、送信カウンタおよびN個の送信タイムスタンプ変数を使用するステップ
・送信カウンタおよびN個の送信タイムスタンプ変数をリセットするステップ
好ましくは、ステップc)は、各パケットの受信後、以下を含む。
・パケットが、第1のパケットのうちの1つであるか、それとも第2のパケットのうちの1つであるかをチェックするステップ。
・パケットが、第1のパケットのうちの1つである場合、受信カウンタを増加させ、第1のパケットが第1の値によってマークされているかどうかをチェックし、マークされている場合、N個の受信タイムスタンプ変数のうちの1つを、第2の測定ポイントのローカルクロックによって示される現在時間に設定するステップ。
【0026】
好ましくは、ステップd)は、以下を含む。
・期間が、第1の期間のうちの1つであったか、それとも第2の期間のうちの1つであったかをチェックするステップ。
・期間が、第1の期間のうちの1つであった場合、時間測定を実行するために、受信カウンタおよびN個の受信タイムスタンプ変数を使用するステップ。
・受信カウンタおよびN個の受信タイムスタンプ変数をリセットするステップ。
【0027】
好ましい実施形態によれば、ステップd)は、期間の終了に対して、期間の継続時間の1%から50%の間を構成する所定の待ち時間だけ、遅延される。
好ましくは、ステップd)は、第1のマーキング値によってマークされた、第1のパケットの各パケットについての片道遅延を、送信タイムスタンプと、第1のパケットについてステップc)で生成された受信タイムスタンプとの差として計算するステップを含む。
【0028】
第2の態様によれば、本発明は、通信ネットワークについてのノードを提供する。ノードは、パケットフローをさらなるノードに送信するように構成される。ノードは、以下のように構成される。
a)パケットフローが送信される間、第1の期間中に送信される第1のパケットと、第1の期間と時間的に交互に起こる第2の期間中に送信される第2のパケットとに、パケットフローを分割する。
b)ある期間中に、第1のパケットが送信される間、第1のパケットの各パケットの特徴を、第1のパケットが時間測定を受けることを示す第1のマーキング値、または第1のパケットが時間測定を受けないことを示す第2のマーキング値のいずれかに設定することによって、第1のパケットにマークし、マークすることは、第1のマーキング値によってマークされた2つの第1のパケットの送信時間が、少なくとも、期間の継続時間よりも短い、予め定義された最小送信間時間だけ、相互に遅延されるように実行され、第1のマーキング値によってマークされた第1のパケットの各パケットについて、送信タイムスタンプを生成する。
【0029】
第3の態様によれば、本発明は、通信ネットワークについてのノードを提供する。ノードは、さらなるノードからパケットフローを受信するように構成される。パケットフローは、第1の期間中に送信される第1のパケットと、第1の期間と時間的に交互に起こる第2の期間中に送信される第2のパケットとに分割されたパケットを含む。パケットの各パケットは、第1のパケットが時間測定を受けることを示す第1のマーキング値、または第1のパケットが時間測定を受けないことを示す第2のマーキング値のいずれかに設定される、特徴を含み、第2のノードは、以下のように構成される。
・第1のマーキング値によってマークされた第1のパケットを識別する。
・第1のマーキング値によってマークされた第1のパケットのうちの各パケットについて、受信タイムスタンプを生成する。
【0030】
第4の態様によれば、本発明は、本発明の第2の態様による第1のノードと、本発明の第3の態様による第2のノードと、を少なくとも備える通信ネットワークを提供する。
第5の態様によれば、本発明は、少なくとも1つのコンピュータのメモリ内にロード可能であり、製品が少なくとも1つのコンピュータ上で動作するとき、上記で説明した方法のステップを実行するための、ソフトウェアコード部分を含む、コンピュータプログラム製品を提供する。
【0031】
本発明は、限定ではなく例として示され、添付図面を参照して読まれるべき、以下の詳細な説明からより明らかとなるであろう。
【図面の簡単な説明】
【0032】
図1】例示的なパケット交換ネットワークを概略的に示した図である。
図2】本発明の実施形態によるパケットの構造を概略的に示した図である。
図3a】送信側における、本発明の実施形態による方法のフローチャートである。
図3b】送信側における、本発明の実施形態による方法のフローチャートである。
図4a】受信側における、本発明の実施形態による方法のフローチャートである。
図4b】受信側における、本発明の実施形態による方法のフローチャートである。
【発明を実施するための形態】
【0033】
図1は、本発明の実施形態による時間測定を実行する方法が実装され得る、例示的なパケット交換通信ネットワークCNを概略的に示す。通信ネットワークCNは、IPネットワーク、イーサネットネットワーク、MPLSネットワーク、または任意の他の既知の種類のパケット交換通信ネットワークであってもよい。
【0034】
通信ネットワークCNは、任意の既知のトポロジーによるリンクによって相互に接続された複数のノードを含む。
特に、通信ネットワークCNは、第1のノードN1および第2のノードN2を含む。第1のノードN1(以下「送信ノード」ともいう)は、おそらく通信ネットワークCNの中間ノード(図1に図示せず)を通じて、第2のノード(「受信ノード」ともいう)へパケットフローPFを送信するように構成される。送信ノードN1は、パケットフローPFのソースノード、またはソースノードから宛先ノードへのパスの中間ノードのいずれかであってもよい。同様に、受信ノードN2は、パケットフローPFの宛先ノード、またはソースノードから宛先ノードへのパスの中間ノードのいずれかであってもよい。
【0035】
好ましくは、通信ネットワークCNは、管理サーバMSと協調するのにも適している。管理サーバMSは、通信ネットワークCNのノードのうちのいずれかに接続される、いずれかのスタンドアロンサーバであってもよい。あるいは、管理サーバMSは、通信ネットワークCNのノードのうちのいずれかにおいて、実装されてもよい。
【0036】
本発明の好ましい実施形態によれば、パケットフローPFは、パケットPkiのシーケンスを含む。
各パケットPkiは、ヘッダおよびペイロードを含む。ペイロードは、送信されるべきデータを含む。さらに、好ましくは、ヘッダは、ソースノードのアドレスおよび宛先ノードのアドレスなどの、パケットPkiをルーティングするための情報を含む。各パケットPkiは、好ましくは優先度フィールドも含む。好ましくは、フローPFの全てのパケットPkiは、同一の優先度を有する。
【0037】
パケットPkiは、さらに、マーキングフィールドMFを含み、マーキングフィールドMFは、少なくとも2つのサブフィールド、例えば、2つのマーキングビットb1およびb2を含む。各マーキングサブフィールドb1、b2は、2つの択一のマーキング値のうちのいずれかに設定されることができる。特に、第1のマーキングサブフィールドb1は、2つの択一のマーキング値Va、Vbのうちのいずれかに設定されることができ、一方、第2のマーキングサブフィールドb2は、2つの択一のマーキング値Vc、Vdのうちのいずれかに設定されることができる。マーキングフィールドMFは、好ましくは、パケットのヘッダに含まれる。マーキングフィールドMFは、例えば、パケットPkiがそれに従ってフォーマットされるプロトコルが、まだ特定の機能を割り当てていないフィールドであってもよい。あるいは、マーキングフィールドMFは、他の用途を有するフィールドに含まれてもよい。例えば、IPパケットの場合、マーキングフィールドMFは、8ビットのDS(Differentiated Service)フィールドのうちの2ビットを含み、各ビットが、2つのマーキングサブフィールドのうちの1つを構成してもよい。そのような場合、ビットb1の2つの択一のマーキング値VaおよびVbは、それぞれ1および0であり、一方、ビットb2の2つの択一のマーキング値VcおよびVdは、それぞれ1および0である。
【0038】
必要に応じて、マーキングフィールドMFは、フィルタサブフィールド(図示せず)も含んでもよく、フィルタサブフィールドは、2つの択一値のいずれかに設定される。パケットPki内のフィルタサブフィールドの値は、好ましくは、パケットPkiが、マークされたパケットPkiであるか(この場合、マーキングサブフィールドb1、b2の値は、パケットロスおよび/または時間測定のために、読み出され、処理されることとなる)、そうでないか(この場合、マーキングサブフィールドb1、b2は、無視されることとなる)を示す。フィルタサブフィールドは、好ましくは、第1のマーキングサブフィールドb1に付加される。
【0039】
パケットPkiは、好ましくは、その送信後に送信ノードN1によってマークされ、送信ノードN1は、第1のマーキングサブフィールドb1の値を、VaまたはVbに設定し、第2のマーキングサブフィールドb2の値を、VcまたはVdに設定する。
【0040】
送信ノードN1は、特に、第1のマーキングサブフィールドb1に割り当てられるマーキング値Va、Vb(例えば、1または0)を、期間Tbで周期的に変更し、期間Tbは、以下「ブロック期間」という。このように、第1のブロック期間(以下「偶数ブロック期間」ともいう)中にマークされるパケットPkiは、第1のマーキングサブフィールドb1の第1のマーキング値Va(例えば1)によってマークされ、一方、第1のブロック期間と時間的に交互に起こる第2のブロック期間(以下「奇数ブロック期間」ともいう)中にマークされるパケットPkiは、第1のマーキングサブフィールドb1の第2のマーキング値Vb(例えば0)によってマークされる。
【0041】
ブロック期間Tbは、所望のパケットロス測定レートに従って(ブロック期間Tbは、パケットロスについての測定期間でもある)、ネットワーク事業者によって設定されることができる。例えば、ブロック期間Tbは、5分と等しくてもよい。
【0042】
本発明の好ましい実施形態によれば、各偶数ブロック期間および奇数ブロック期間T(k)(k=0、1、2、3、など)内に、送信ノードN1は、時間測定を受けるパケットを、時間測定を受けないパケットと区別するために、第2のマーキングサブフィールドb2のマーキング値Vc、Vd(例えば、1または0)を使用する。特に、各ブロック期間T(k)(k=0、1、2、3、など)中に、時間測定を受けるパケットPkiは、第2のマーキングサブフィールドb2の第1のマーキング値Vc(例えば1)によってマークされ、一方、時間測定を受けないパケットPkiは、第2のマーキングサブフィールドb2の第2のマーキング値Vd(例えば0)によってマークされる。
【0043】
各ブロック期間T(k)(k=0、1、2、3、など)中に、2つ以上のパケットPkiが、時間測定を受けるパケットとしてマークされる。特に、同一のブロック期間中に送信され、時間測定を受けるパケットとしてマークされている、2つの連続するパケットPkiの送信時間は、少なくとも予め定義された最小送信間時間Txだけ、相互に遅延されるものとするという原則を適用して、送信ノードN1は、各パケットPkiの第2のマーキングサブフィールドb2の値VcまたはVdを決定する。予め定義された最小送信間時間Txは、ブロック期間Tbより短く、時間測定を受けるパケット間の追い越しを伴う、受信シーケンスエラーを防止するように選択され、以下で詳細に論じられるように、ノードN1およびN2間のリンクの特徴に依存する。
【0044】
各ブロック期間T(k)(k=0、1、2、3、など)中に、時間測定を受けるパケットとしてマークされた各パケットPkiについて、送信側では、パケットPkiが送信ノードN1によって送信される時間を示す、送信タイムスタンプが生成され、同様に、受信側では、パケットPkiが受信ノードN2によって受信される時間を示す、受信タイムスタンプが生成される。
【0045】
次いで、各ブロック期間T(k)の終了後、そのブロック期間T(k)中に送信および受信された、時間測定を受けるべきパケットPkiに関する送信タイムスタンプおよび受信タイムスタンプは、好ましくは、以下で詳細に説明されるように、時間測定を実行するために使用される。
【0046】
したがって、有利なことに、時間測定を受けるべきパケットPkiは、第2のマーキングサブフィールドb2の値によって識別される。第2のマーキングサブフィールドb2の値によって、受信ノードN2は、そのようなパケットを、パケットフローPFの他のパケットPki−パケットロス測定を伴う−が時間測定を受けない、他のパケットPkiと区別できるようになる。言い換えると、第2のマーキングサブフィールドb2によって、パケットフローPF内に、時間測定を受けるパケットPkiの「サブフロー」を作成することが可能となり、時間測定を受けるべきパケットPkiの「サブフロー」は、受信ノードN2によって、パケットフローPFの残りのパケットと明確に区別され得る。
【0047】
したがって、時間測定を受けるパケットと、時間測定を受けない1つまたは複数のパケットとの間の追い越しを伴う、受信シーケンスエラーが発生する場合であっても、受信ノードN2は、時間測定を受けるパケットをとにかく適切に識別することができ、したがって、関連する受信タイムスタンプを適切に生成することができる。その受信タイムスタンプに基づく結果として生じる時間測定は、したがって、有効な測定である。時間測定は、したがって、この種の受信シーケンスエラーを有利に免れる。
【0048】
一方、送信間時間Txを適切に選択することによって、時間測定を受けるべきパケット間の追い越しを伴う受信シーケンスエラーを回避することが可能となる。
さらに、第1のマーキングサブフィールドb1は、時間測定を受けるべきパケットPkiの「サブフロー」内に、周期的な不連続性を有利にもたらす。言い換えると、パケットフローPF全体と同様に、時間測定を受けるべきパケットの「サブフロー」もまた、交互に起こる期間Tbのブロックに分割される。したがって、あるブロック期間T(k)に関する測定を無効にするパケットロスおよび/または受信シーケンスエラーが発生する場合、以下で詳細に説明されるように、測定を行うために使用される全てのパラメータ(カウンタおよびタイムスタンプ)が、ブロック期間の終了後にリセットされるため、そのようなエラーは、ブロック期間の終了時に自動的にリセットされる。
【0049】
さらに、(時間測定を行うために使用されるであろう)送信タイムスタンプおよび受信タイムスタンプが、各ブロック期間中に複数のパケットについて生成されるため、各ブロック期間T(k)について、いくつかの時間測定サンプルが、有利に取得されることができる。特に、原則として各ブロック期間T(k)内に取得され得る時間測定サンプルの最大数は、N=Tb/Txである。ここで、Tbは、各ブロック期間T(k)の継続時間であり、Txは、上述した最小送信間時間、すなわち、時間測定を受けるべきパケットとしてマークされた2つのパケットPkiの送信間に経過することとなる最小時間である。
【0050】
上述のように、最小送信間時間Txは、好ましくは、ノードN1およびN2間のリンクの性能に基づいて選択される。特に、最小送信間時間Txは、好ましくは、時間測定を受けるべきパケット間の追い越しを伴って起こり得る受信シーケンスエラーを実質的に防止するように設定される。
【0051】
例えば、最小送信間時間Txは、N1およびN2間の平均片道遅延よりも長く選択されてもよい。
特に、いくつかの実施形態によれば、最小送信間時間は、まず、初期値Tx0と等しく設定される。初期値Tx0は、可能な限り現実的に平均片道遅延測定を行うように、各ブロック期間内に、十分大きな数の時間測定サンプルを提供するのに十分低いものとする。このような初期段階では、平均片道遅延測定のみが行われ、以下で詳細に論じられるように、時間測定を受けるパケット間の追い越しを伴う受信シーケンスエラーを本質的に免れる。全ての他の測定(例えば、最大遅延および最小遅延、ならびにジッタ)は、この種の受信シーケンスエラーを免れないため、代わりに中断される。そのような初期段階では、このような種類のエラーが発生しないことを保証するには、Tx0の値が低すぎる恐れがある。
【0052】
次いで、平均片道遅延が測定された後(そのような種類の時間測定についての詳細は、以下の説明で提供される)、最小送信間時間Txは、そのような値よりも長く設定され、時間測定が再び開始される。この第2の段階では、測定されるパケット間で起こり得る追い越しによって、精度が損なわれる時間測定も実行される可能性がある。最小送信間時間Txの選択が、実際にそのような種類の受信シーケンスエラーを有利に防止する。
【0053】
あるいは、最小送信間時間Txは、N1およびN2間の最大片道遅延よりも長く選択されることができる。
特に、他の実施形態によれば、最小送信間時間は、まず、初期値Tx0と等しく設定され、初期値Tx0は、測定されるべきパケット間の追い越しを伴う受信シーケンスエラーが発生しないことを保証するのに十分大きい(例えば、数秒)ものとする。これによって、以下で詳細に論じられるように、この種の受信シーケンスエラーを免れない、確実な最大片道遅延測定を提供することが可能となる。このような初期段階では、取得される時間測定サンプルの数は、非常に減少し、各ブロック期間T(k)内に時間測定を受けるパケットPkiの数は、非常に少ない。したがって、平均時間測定(例えば、平均片道遅延、平均ジッタ、など)は、この段階では、好ましくは中断される。
【0054】
次いで、最大片道遅延が測定された後(そのような種類の時間測定についての詳細は、以下の説明で提供される)、最小送信間時間Txは、そのような値よりも長く設定され、時間測定が再び開始される。この第2の段階では、平均時間測定もまた、実行されることができ、サンプルの数は、ここでは現実的な平均値を提供するのに十分である。
【0055】
2つのノード間のリンクの平均片道遅延または最大片道遅延は、典型的には数ミリ秒であるから、最小送信間時間Txは、例えば、約10ミリ秒と等しく設定されてもよい。ブロック期間Tbが5分である場合、各ブロック期間T(k)中に提供され得る時間測定サンプルの最大数Nは、30,000である。
【0056】
本発明による時間測定を実行する方法について、ここでさらに詳細に説明する。
最初に図3aを参照して、送信側において、好ましくはいくつかの変数が提供される:第1の送信カウンタC1a、N個の第1の送信タイムスタンプの配列TS1a(i)、i=1、2、...N、第1のインデックスi、第2の送信カウンタC1b、N個の第2の送信タイムスタンプの配列TS1b(j)、j=1、2、...N、および第2のインデックスjである。数Nは、上述のように、原則として各ブロック期間T(k)内に提供され得る時間測定サンプルの最大数であり、Tb/Txと等しい。
【0057】
次いで、送信ノードN1は、送信されるべきパケットフローPFの可能なパケットPkiを待つ(ステップ301)。送信ノードN1は、好ましくは、宛先アドレスの少なくとも一部、ソースアドレスの少なくとも一部、および必要に応じて、パケットヘッダHiの他のフィールド(例えば、IPパケットの場合、DSCPフィールド)を使用して、パケットフローPFのパケットPkiを識別する。
【0058】
パケットPkiが送信されるべきとき、送信ノードN1は、好ましくは、現在のブロック期間T(k)が、偶数ブロック期間であるか、それとも奇数ブロック期間であるかをチェックし(ステップ302)、それに応じて、パケットPkiに適用されるべき第1のマーキングサブフィールドb1のマーキング値が、Va(偶数ブロック期間の間)かVb(奇数ブロック期間の間)かを判定する。
【0059】
特に、現在のブロック期間T(k)が、偶数ブロック期間である場合、パケットPkiを送信する前に、ノードN1は、好ましくは、パケットPkiの第1のマーキングサブフィールドb1をマーキング値Vaに設定することにより、パケットPkiにマークする(ステップ304a)。パケットPkiが、フィルタサブフィールドも含む場合(上述のように)、ステップ304aにおいて、それは、好ましくは、マークされたパケットを示す値に設定される。
【0060】
さらに、第1の送信カウンタC1aは、好ましくは、1つ増加される(ステップ305a)。
次いで、ノードN1は、好ましくは、第2のマーキングサブフィールドb2が、値Vc、すなわち、時間測定を受けるべきパケットを識別する値に設定された、最後のパケットの送信から、最小送信間時間Txが経過したかどうかをチェックする(ステップ306a)。
【0061】
Txが経過している場合、ノードN1は、好ましくは、その第2のマーキングサブフィールドb2をマーキング値Vc、すなわち、測定されるパケットを示すマーキング値に設定することによって、パケットPkiにさらにマークする(サブステップ307a)。さらに、インデックスiは、好ましくは、1つ増加され(ステップ308a)、次いで、N個の第1の送信タイムスタンプの配列のi番目の要素TS1a(i)は、送信ノードN1のローカルクロックによって示される現在時間tと等しく設定される(ステップ309a)。
【0062】
最小送信間時間Txが経過していない場合、ノードN1は、好ましくは、その第2のマーキングサブフィールドb2を、マーキング値Vd、すなわち、時間測定を受けないパケットを示すマーキング値に設定することによって、パケットPkiにさらにマークする(サブステップ310a)。
【0063】
次いで、パケットPkiは、N2に送信される(ステップ311)。
ステップ302において、現在のブロック期間T(k)が奇数ブロック期間であると判定される場合、送信ノードN1は、第1のマーキングサブフィールドb1をマーキング値Vbに設定することによって、パケットPkiにマークし(ステップ304b)、次いで、好ましくは、ステップ305b〜310bを実行して第2の送信カウンタC1bおよびN個の第2の送信タイムスタンプの配列TS1b(j)の値を更新し、最後に、パケットPkiを送信する(ステップ311)。ステップ305b〜310bは、基本的には、現在のブロック期間T(k)が偶数ブロック期間である場合に実行される、ステップ305a〜310aに対応する。したがって、それらのステップの詳細な説明は、繰り返して行わないものとする。
【0064】
図3aのフローチャートのステップは、好ましくは、ノードN1がパケットフローPFのパケットPkiを送信する度に繰り返される。
ここで図3bを参照して、各ブロック期間T(k)の終わりに、ちょうど満了したブロック期間T(k)が、偶数ブロック期間であったか、それとも奇数ブロック期間であったかが、チェックされる(ステップ320)。
【0065】
ブロック期間T(k)が、偶数ブロック期間であった場合、ブロック期間T(k)に関する時間測定の実行に関連する変数が、Vaによってマークされた、送信されるパケットに関する変数、すなわち、C1aおよびTS1a(i)であると判定される。
【0066】
したがって、ノードN1は、好ましくは、ステップ305aの最後の繰り返し時に到達した第1の送信カウンタC1aの値と、ステップ309aの最後の繰り返し時に提供された、N個の第1の送信タイムスタンプの配列TS1a(i)とを、管理サーバMSに送信する(ステップ321a)。次いで、第1の送信カウンタC1a、N個の第1の送信タイムスタンプの配列TS1a(i)、およびインデックスiは、好ましくはリセットされる(ステップ322a)。
【0067】
そうではなく、ブロック期間T(k)が奇数ブロック期間であった場合、ブロック期間T(k)に関する時間測定の実行に関連する変数が、Vbによってマークされたパケットに関する変数、すなわち、C1bおよびTS1b(j)であると判定される。
【0068】
したがって、ノードN1は、好ましくは、ステップ305bの最後の繰り返し時に到達した第2の送信カウンタC1bの値と、ステップ309bの最後の繰り返し時に提供された、N個の第2の送信タイムスタンプの配列TS1b(j)とを、管理サーバMSに送信する(ステップ321b)。次いで、第2の送信カウンタC1b、N個の第2の送信タイムスタンプの配列TS1b(j)、およびインデックスjは、好ましくはリセットされる(ステップ322b)。
【0069】
ブロック期間T(k)中に送信される、第2のマーキングサブフィールドb2がVcに設定されているパケットの実数Nは、ブロック期間T(k)中の、パケットフローPFの実際のパケット送信レートに依存するため、Nよりも少ない可能性があることに留意するものとする。そのような場合、配列TS1a(i)またはTS1b(j)の最初のN個の要素だけが、意味のあるタイムスタンプ値を含み、配列の残りの要素は、初期設定値(すなわち、0)を含む。
【0070】
ステップ321aおよび321bは、既知の通信プロトコル、例えば、ファイル転送プロトコル(FTP:File Transfer Protocol)に基づいて、例えば、送信ノードN1と管理サーバMSとの間に通信セッションを確立することによって実行されることができる。通信セッションは、送信ノードN1または管理サーバMSのいずれかによって開始されることができる。
【0071】
さらに、ステップ321aおよび321bは、好ましくは、以下で詳細に説明される理由から、ブロック期間T(k)の終わりと、後続のブロック期間T(k+1)の終わりとの間に含まれるランダムな時点において実行される。
【0072】
ここで図4aを参照して、受信側において、好ましくはいくつかの変数が提供される。第1の受信カウンタC2a、N個の第1の受信タイムスタンプの配列TS2a(i)、i=1、2、...N、第1のインデックスi、第2の受信カウンタC2b、N個の第2の受信タイムスタンプの配列TS2b(j)、j=1、2、...N、および第2のインデックスjである。数Nは、好ましくは、送信側と同一、すなわち、好ましくはTb/Txと等しい。
【0073】
次いで、受信ノードN2は、パケットフローPFの可能なパケットPkiを待つ(ステップ401)。ノードN1と同様に、受信ノードN2もまた、好ましくは、宛先アドレスの少なくとも一部、ソースアドレスの少なくとも一部、および必要に応じて、パケットヘッダHiの他のフィールド(例えば、IPパケットの場合、DSCPフィールド)を使用して、パケットフローPFのパケットPkiを識別する。
【0074】
パケットフローPFのパケットPkiの受信後、好ましくは、パケットPkiが、マークされたパケットであるかどうかがチェックされる(ステップ402)。このために、好ましくは、パケットPkiのマーキングフィールドMFに含まれるフィルタサブフィールドの値がチェックされる。パケットPkiがマークされていないと判定される場合、パケットロスおよび/または時間測定の目的で、いかなる他の動作も実行されない。
【0075】
そうではなく、パケットPkiがマークされたパケットである場合、受信されたパケットPkiの第1のマーキングサブフィールドb1の値が、好ましくはチェックされる(ステップ403)。
【0076】
受信されたパケットPkiの第1のマーキングサブフィールドb1の値が、Vaと等しい場合、第1の受信カウンタC2aは、好ましくは、1つ増加される(ステップ404a)。
【0077】
次いで、受信されたパケットPkiの第2のマーキングサブフィールドb2の値が、好ましくは、チェックされる(ステップ405a)。第2のマーキングサブフィールドb2の値が、(測定されるべきパケットを識別する)Vcと等しい場合、インデックスiは、好ましくは、1つ増加され(ステップ406a)、N個の第1の受信タイムスタンプの配列のi番目の要素TS2a(i)は、受信ノードN2のローカルクロックによって示される現在時間t**と等しく設定される(ステップ407a)。そうではなく、第2のマーキングサブフィールドb2の値が(測定されないパケットを識別する)Vdと等しい場合、他のいかなる動作も実行されない。
【0078】
ステップ403において、受信されたパケットPkiの第1のマーキングサブフィールドb1の値が、Vbと等しいと判定される場合、第2の受信カウンタC2bは、好ましくは1つ増加される(ステップ404b)。
【0079】
次いで、受信されたパケットPkiの第2のマーキングサブフィールドb2の値が、好ましくはチェックされる(ステップ405b)。第2のマーキングサブフィールドb2の値が、(測定されるべきパケットを識別する)Vcと等しい場合、インデックスjは、好ましくは、1つ増加され(ステップ406b)、N個の第1の受信タイムスタンプの配列のj番目の要素TS2b(j)は、受信ノードN2のローカルクロックによって示される現在時間t**と等しく設定される(ステップ407b)。そうではなく、第2のマーキングサブフィールドb2の値が、(測定されないパケットを識別する)Vdと等しい場合、他のいかなる動作も実行されない。
【0080】
ステップ402から407a/407bは、好ましくは、パケットフローPFのパケットPkiが受信される度に繰り返される。
ここで図4bを参照して、各ブロック期間T(k)の終わりに、安全な待ち時間SWTが経過した後(ステップ420)、ちょうど満了したブロック期間T(k)が、偶数ブロック期間であったか、それとも奇数ブロック期間であったかが、判定される(ステップ421)。
【0081】
ブロック期間T(k)が、偶数ブロック期間であった場合、ブロック期間T(k)に関する時間測定の実行に関連する変数が、Vaによってマークされた、受信されるパケットに関する変数、すなわちC2aおよびTS2a(i)であると判定される。
【0082】
したがって、ノードN2は、好ましくは、ステップ404aの最後の繰り返し時に到達した第1の受信カウンタC2aの値と、ステップ407aの最後の繰り返し時に提供された、N個の第1の受信タイムスタンプの配列TS2a(i)とを、管理サーバMSに送信する(ステップ422a)。次いで、第1の受信カウンタC2a、N個の第1の受信タイムスタンプの配列TS2a(i)、およびインデックスiは、好ましくはリセットされる(ステップ423a)。
【0083】
そうではなく、ブロック期間T(k)が奇数ブロック期間であった場合、ブロック期間T(k)に関する時間測定の実行に関連する変数が、Vbによってマークされたパケットに関する変数、すなわち、C2bおよびTS2b(j)であると判定される。
【0084】
したがって、ノードN2は、好ましくは、ステップ404bの最後の繰り返し時に到達した第2の受信カウンタC2bの値と、ステップ407bの最後の繰り返し時に提供された、N個の第2の受信タイムスタンプの配列TS2b(j)とを、管理サーバMSに送信する(ステップ422b)。次いで、第2の受信カウンタC2b、N個の第2の受信タイムスタンプの配列TS2b(j)、およびインデックスjは、好ましくはリセットされる(ステップ423b)。
【0085】
ブロック期間T(k)中に受信される、第2のマーキングサブフィールドb2がVcに設定されているパケットの数N**は、ブロック期間T(k)中のパケットフローPFの実際のパケット送信レート、およびブロック期間T(k)中のパケットロスにも依存するため、Nよりも(かつNよりも)少ない可能性があることに留意するものとする。そのような場合、配列TS2a(i)またはTS2b(j)の最初のN**個の要素だけが、意味のあるタイムスタンプ値を含み、配列の残りの要素は、初期設定値(すなわち、0)を含む。
【0086】
上述のように、図4bのフローチャートのステップは、好ましくは、ブロック期間T(k)の終わりに対して安全な待ち時間SWTだけ遅延される。実際に、通信ネットワークCNを通じたパケットPkiの伝播遅延、または受信シーケンスエラーに起因して、Vaによってマークされ、偶数ブロック期間T(k)中に送信される最後のパケットPkiは、後続の奇数ブロック期間T(k+1)の初めに受信ノードN2によって受信される可能性がある。したがって、偶数ブロック期間T(k)の終了後、Vaによってマークされた、受信されたパケットに関する変数(すなわち、C2aおよびTS2a(i))は、依然として変化している可能性がある。同様に、Vbによってマークされ、奇数ブロック期間T(k)中に送信される最後のパケットは、後続の偶数ブロック期間T(k+1)の初めに、受信ノードN2によって受信される可能性がある。したがって、奇数ブロック期間T(k)の終了後、Vbによってマークされた、受信されたパケットに関する変数(すなわち、C2bおよびTS2b(j))は、依然として変化している可能性がある。
【0087】
安全な待ち時間SWTは、VaまたはVbによってマークされたパケットに関する変数が、それらの値が安定しているときにのみ、管理サーバMSに送信されることを保証する。このことによって、また、パケットロスおよびそのような変数に基づく時間測定は、連続するブロック期間の間の境界で発生する受信シーケンスエラーを免れる。安全な待ち時間SWTは、好ましくは、ブロック期間Tbの1%から50%の間に含まれる。例えば、ブロック期間Tbが、5分と等しい場合、安全な待ち時間SWTは、Tbの20%、すなわち、1分と等しくてもよい。
【0088】
ステップ422aおよび422bは、既知の通信プロトコル、例えば、FTP(File Transfer Protocol)に基づいて、例えば、受信ノードN2と管理サーバMSとの間に通信セッションを確立することによって実行されることができる。通信セッションは、受信ノードN2または管理サーバMSのいずれかによって開始されることができる。
【0089】
さらに、ステップ422aおよび422bは、好ましくは、安全な待ち時間SWTの終わりと、ブロック期間T(k+1)の終わりとの間に含まれるランダムな時点において実行される。これにより、管理サーバMSが、通信ネットワークCNの全てのノードに関するパラメータを同時に受信することが、有利に防止される。それは、管理サーバMSの輻輳を引き起こす恐れがある。安全な待ち時間SWTの終わりと、ステップ422aおよび422bが実行される時点との間に経過する時間は、好ましくは、Tbの1%から40%の間に含まれる。例えば、ブロック期間Tbが5分の場合、それは、20%、すなわち1分であってもよい。
【0090】
したがって、各ブロック期間T(k)の満了後に、管理サーバMSは以下を受信する。
− 送信ノードN1から、Ca1またはC1bと等しい送信カウンタC1(k)、およびTS1a(i)(または、TS1b(j))と等しい、N個の送信タイムスタンプの配列TS1a(l,k)
− 受信ノードN2から、C2aまたはC2bと等しい受信カウンタC2(k)、およびTS2a(i)またはTS2b(j)と等しい、N個の受信タイムスタンプの配列TS2(l,k)
各ブロック期間T(k)の満了後、次いで、管理サーバMSは、送信カウンタC1(k)と受信カウンタC2(k)との差として、そのブロック期間T(k)に関するパケットロスPL(k)を計算することができる。そのようなパケットロスの測定によって、時間測定を受けるパケットおよび/または時間測定を受けないパケットを無関係に含む受信シーケンスエラーを有利に免れる。
【0091】
さらに、各ブロック期間T(k)の満了後、管理サーバMSは、ブロック期間T(k)中に送信されて、Vcと等しい第2のマーキングサブフィールドb2を有する、多くてもN個のパケットの片道遅延OWD(l,k)を計算することができる。これらのパケットのうちの各パケットについて、片道遅延OWD(l,k)は、受信タイムスタンプの配列のl番目の要素TS2(l,k)と、それに対応する送信タイムスタンプの配列のl番目の要素TS1(l,k)との差として計算される。片道遅延OWD(l,k)が一度計算されると、ブロック期間T(k)についての最小片道遅延OWDmin(k)、および最大片道遅延OWDmax(k)が、そのような片道遅延OWD(l,k)の中の最小および最大として、計算されることができる。
【0092】
さらに、ブロック期間T(k)についての片道遅延OWD(l,k)が一度計算されると、管理サーバMSは、ブロック期間T(k)中に送信され、Vcと等しい第2のマーキングサブフィールドb2を有する、連続するパケットのうちの各ペアについて、それらの片道遅延OWD(l,k)の差として、ジッタJ(l,k)を計算することができる。
【0093】
ブロック期間T(k)について、ジッタJ(l,k)が一度計算されると、ブロック期間T(k)についての最小ジッタJmin(k)(負数)および最大ジッタJmax(k)(正数)が、それらのジッタJ(l,k)の中の最小および最大として、計算されることができる。
【0094】
しかしながら、そのような片道遅延測定およびジッタ測定(関連する最大測定および最小測定とともに)は、パケットロスがない、または、少なくとも、Vcと等しい第2のマーキングサブフィールドb2を有するパケット、すなわち、時間測定を受けるパケットを含むパケットロスがないときにのみ、有効な結果を提供する。実際に、測定されるべき1つまたは複数のパケットが、ブロック期間T(k)中に失われる場合、N**が、Nよりも小さいため、そのブロック期間T(k)についての送信タイムスタンプの配列TS1(l,k)および受信タイムスタンプの配列TS2(l,k)に不整合がもたらされる。このことが、失われたパケットに続く全てのパケットについての片道遅延測定の結果、およびそれから派生する全ての時間測定の結果を変える。そのようなパケットについて、受信タイムスタンプが、別のパケットの送信タイムスタンプと比較されるからである。次いで、パケットロスが検知されると、そのような時間測定は、好ましくは廃棄される。好ましくは、時間測定を受けるべきパケットを含むパケットロスを検知するために、VcによってマークされたパケットPkiの送信後(および、図3aに示すように、各パケットPkiの送信後ではなく)にのみ、送信カウンタC1aおよびC1bは、1つ増加される。同様に、受信カウンタC2aおよびC2bは、VcによってマークされたパケットPkiの受信後(および、図4aに示すように、各パケットPkiの受信後ではなく)にのみ、1つ増加される。次いで、各ブロック期間の満了後、VcによってマークされたパケットPkiに関するパケットロスは、好ましくは、送信タイムスタンプC1aまたはC1bと受信タイムスタンプC2aまたはC2bとの間の差として計算される。期間T(k)に関するパケットロスは、0ではなく、その期間に関する片道遅延測定およびジッタ測定(関連する最大測定および最小測定とともに)は、好ましくは、無効であるものとして廃棄される。いくつかの変形によれば、測定されるべきものとしてマークされたパケットのみに対するパケットロス測定が、パケットフローPF全体に対するパケットロス測定に加えて、実行される。そのような場合、送信カウンタと受信カウンタの2つの別々のセット、すなわち、各ブロック期間中に送信および受信される全てのパケットPkiをカウントするための送信および受信カウンタの第1のセットと、時間測定を受けるパケットとしてマークされたパケットのみをカウントするための送信および受信カウンタの第2のセットとが、実装されることとなる。カウンタの第1のセットを用いて(すなわち、パケットフローPFの全体上で)計算されたパケットロスは、パケットフローPFの振る舞いを示し、一方、カウンタの第2のセットを用いて(すなわち、測定されるべきパケットとしてマークされたパケットPkiのみの上で)計算されたパケットロスは、好ましくは、時間測定を有効化/無効化するためにのみ使用される。
【0095】
同様の理由で、ブロック期間T(k)に発生し、時間測定を受けるパケット間の追い越しを伴う、受信シーケンスエラーもまた、上述のように、片道遅延測定の精度を損なう。そのようなエラーは、パケットロスとは異なり、検知されない恐れがある。一方、上述の最小送信間時間Txの選択によって、この種の受信シーケンスエラーを有利に回避することができる。
【0096】
各ブロック期間T(k)の満了後、管理サーバMSは、そのブロック期間T(k)についての平均片道遅延OWDav(k)も計算することができる。この目的のために、管理サーバMSは、上述のように、ブロック期間T(k)中に送信され、Vcと等しい第2のマーキングサブフィールドb2を有するパケットの片道遅延OWD(l,k)を計算することができ、次いで平均を計算する。あるいは、管理サーバMSは、まず、以下のように、平均送信タイムスタンプTS1av(k)を計算することができる。
【0097】
【数1】
【0098】
次いで、以下のように平均受信タイムスタンプTS2av(k)を計算することができる。
【0099】
【数2】
【0100】
次いで、平均受信タイムスタンプTS2av(k)と平均送信タイムスタンプTS1av(k)との差として、平均片道遅延OWDav(k)を計算することができる。特に有利な変形によれば、送信ノードN1および受信ノードN2それ自体は、好ましくは、平均送信タイムスタンプTS1av(k)および平均受信タイムスタンプTS2av(k)をそれぞれ計算し、それらを管理サーバMSに送る。管理サーバMSは受信したそれら2つのパラメータの差を、単に計算しなければならない。
【0101】
必要に応じて、送信ノードN1および受信ノードN2は、また、ブロック期間T(k)中に送信される、マークされたパケットPki全てに関して、それらの第2のマーキングサブフィールドb2の値とは無関係に、平均送信タイムスタンプおよび平均受信タイムスタンプを計算してもよい。これによって、管理サーバMSは、VcによってマークされたパケットPkiのサブフロー上の平均片道遅延OWDavに加えて、パケットフローPF全体の平均片道遅延を計算することが可能となる。
【0102】
さらに、管理サーバMSは、ブロック期間T(k)に関して、平均ジッタJav(k)も計算することができる。この目的のために、管理サーバMSは、好ましくは、以下のように、平均ワンポイント送信ジッタOPJ1av(k)を計算する。
【0103】
【数3】
【0104】
次いで、以下のように、平均ワンポイント受信ジッタOPJ2av(k)を計算する。
【0105】
【数4】
【0106】
次いで、平均ワンポイント受信ジッタOPJ2av(k)と平均ワンポイント送信ジッタOPJ1av(k)との差として、平均ジッタJav(k)を計算する。特に有利な変形によれば、送信ノードN1および受信ノードN2それ自体は、好ましくは、ブロック期間T(k)に関して、平均ワンポイント送信ジッタOPJ1av(k)および平均ワンポイント受信ジッタOPJ2av(k)をそれぞれ計算し、それらを管理サーバMSに送る。管理サーバMSは、受信したそれら2つのパラメータの差を、単に計算しなければならない。
【0107】
必要に応じて、送信ノードN1および受信ノードN2は、また、ブロック期間T(k)中に送信される、マークされたパケットPki全てに関して、それらの第2のマーキングサブフィールドb2の値とは無関係に、平均ワンポイント送信ジッタおよび平均ワンポイント受信ジッタを計算してもよい。これによって、管理サーバMSは、VcによってマークされたパケットPkiのサブフロー上の平均ジッタJav(k)に加えて、パケットフローPF全体の平均ジッタを計算することが可能となる。
【0108】
ブロック期間T(k)について上述のように計算される、平均片道遅延OWDav(k)および平均ジッタJav(k)は、有利に、ブロック期間T(k)中に発生する可能性のあるパケットロス、特に、時間測定を受けるパケットに影響を及ぼすパケットロスに対する抵抗力がある。実際に、そのようなパケットのうち1つまたは複数が、受信ノードN2において受信される前に失われる場合、これは、中間遅延OWDav(k)および平均ジッタJav(k)の精度に、わずかに影響を及ぼす。2つの平均タイムスタンプTS1av(k)およびTS2av(k)も、2つの平均ワンポイントジッタOPJ1av(k)およびOPJ2av(k)も、異なるパケットのカウントN、N**に基づいて計算されるからである。
【0109】
さらに、上述のように計算される平均片道遅延OWDav(k)および平均ジッタJav(k)は、ブロック期間T(k)中に発生し、時間測定を受けるパケット間の追い越しを伴う、起こり得る受信シーケンスエラーに対する抵抗力がある。実際に、Vcによってマークされたパケットが受信ノードN2において受信される順序が、それらが送信ノードN1によって送信された順序と異なる場合、平均受信タイムスタンプTS2av(k)および平均ワンポイント受信ジッタOPJ2av(k)の値は、変化しない(ジッタの場合、エラーが、ブロック期間T(k)中に送信される、測定されるべき最初のパケットまたは最後のパケットのいずれかを含む場合にのみ、変化する)。これは、図4bのフローチャートを参照して上述したように、ブロック期間中に送信されるいくつかのパケットが、受信シーケンスエラーに起因して後続のブロック期間中に受信される場合にも起こる。
【0110】
上記の説明では、片道測定、すなわち、ノードN1からノードN2に送信されるパケットフローに関する測定に対してのみ、参照された。そのような測定は、ノードN1、N2が同期している場合、すなわち、それらのローカルクロックが、同一の日付および時刻を示す場合にのみ、正確な結果を提供する。一方、多くの適用では、ノードN1およびN2が同期していない。そのようなシナリオでは、送信タイムスタンプと受信タイムスタンプとの間に予測不可能なオフセットが存在するため、片道測定(特に、片道遅延測定)は、不正確である可能性がある。
【0111】
したがって、好ましくは、ノードN1およびN2が同期していない場合に、ノードN1およびN2によって提供される送信パラメータおよび受信パラメータは、双方向の測定、特に、往復遅延測定に「匹敵する(emulate)」双方向遅延測定を提供するために使用される。
【0112】
特に、そのような実施形態によれば、図4aおよび図4bのフローチャートを参照して上述したようにパケットフローPFの受信されたパケットPkiを処理する他に、第2のノードN2は、好ましくは、N2からN1に送信されるパケットPki’のさらなるパケットフローPF’に関する送信カウンタC1(k)’およびN’個の送信タイムスタンプの配列TS1’(l,k)を、各ブロック期間T(k)の満了後に提供するように、パケットフローPF’も処理する。数N’(すなわち、各ブロック期間内に時間測定を受ける、フローPF’のパケットの最大数)は、概して、N(すなわち、各ブロック期間内に時間測定を受ける、フローPFのパケットの最大数)とは異なる可能性がある。なぜなら、N2からN1への方向における時間測定についての最小送信間時間Tx’は、N1からN2への方向における時間測定についての最小送信間時間Txとは先験的に異なる可能性があるからである。
【0113】
各ブロック期間T(k)の満了後に送信カウンタC1(k)’およびN’個の送信タイムスタンプの配列TS1’(l,k)を提供するために、第2のノードN2は、基本的に、図3aおよび図3bに示すステップをパケットフローPF’のパケットPki’に適用する。
【0114】
同様に、図3aおよび図3bのフローチャートを参照して上述したようにパケットフローPFの送信されるパケットPkiを処理する他に、第1のノードN1は、好ましくはパケットフローPF’に関する、受信カウンタC2(k)’およびN’個の受信タイムスタンプの配列TS2’(l,k)を、各ブロック期間T(k)の満了後に提供するように、第2のノードN2から受信されるさらなるパケットフローPF’のパケットPki’も処理する。この目的のために、第1のノードN1は、基本的に、図4aおよび図4bに示すステップをパケットフローPF’に適用する。
【0115】
次いで、各ブロック期間T(k)の満了後、ノードN1およびN2は、管理サーバMSに、パケットフローPFに関するカウンタおよびタイムスタンプの値を送信する他に、パケットフローPF’に関するカウンタおよびタイムスタンプの値も送信する。
【0116】
次いで、受信されたタイムスタンプは、好ましくは、双方向遅延測定を実行するために使用される。
特に、平均双方向遅延TWDav(k)は、好ましくは、上述のように計算されたパケットフローPFの平均片道遅延OWDav(k)と、パケットフローPF’に関するパラメータを使用して同様に計算されたパケットフローPF’の平均片道遅延OWDav’(k)との合計として、計算される。平均片道遅延が、パケットフローPFおよびPF’の全体上で(すなわち、Vcによってマークされたパケットと、Vdによってマークされたパケットとを区別することなく)計算されている場合、トラフィック全体に関する平均双方向遅延も計算されることができる。
【0117】
このような平均双方向遅延TWDav(k)は、N1およびN2の間を行ったり来たりして送信される同一のパケット上では測定されないため、実際には、往復遅延の推定である。しかしながら、それは、反対方向に伝播される2つのパケットフローのうちの、多数のパケットの平均として計算されるため、完全に正確な推定である。本発明者は、上述のように計算された平均双方向遅延TWDav(k)の精度は、ping機能を用いて計算される往復遅延の精度と同等であると、推定した。一方、有利なことに、ping機能とは異なり、中間往復遅延の計算は、実トラフィックに対して実行され、いかなる人工パケットの送信も必要としない。
【0118】
次いで、最大双方向遅延TWDmax(k)および最小双方向遅延TWDmin(k)が、好ましくは計算される。この目的のために、Vcによってマークされた、パケットフローPFのパケットの片道遅延OWD(l,k)が、上述のように計算される。Vcによってマークされた、パケットフローPF’のパケットの片道遅延OWD’(l,k)は、同様の方法で計算される。次いで、双方向遅延TWD(l,k)が計算される。各双方向遅延TWD(l,k)は、パケットフローPFのあるパケットPkiに関する片道遅延OWD(l,k)と、パケットフローPF’の対応するパケットPki’の片道遅延OWD’(l,k)との合計である。好ましくは、対応するパケットPki’は、ブロック期間T(k)中に送信され、Vcによってマークされた、パケットフローPF’のパケット全ての中で、送信タイムスタンプがパケットPkiの受信時間に最も近いパケットとして選択される。
【0119】
あるブロック期間中に送信されるパケットフローPFのパケットPkiの数は、同一のブロック期間中に送信されるパケットフローPF’のパケットPki’の数とは先験的に異なる(かつ、特に、Vcによってマークされたパケットの数は、2つのフローにおいて異なる可能性がある)ため、あるブロック期間T(k)の終了時に、双方向時間測定を行うのに利用可能な送信タイムスタンプおよび受信タイムスタンプの数は、2つのフローPFおよびPF’について同一ではない可能性があることに留意するものとする。特に、双方向遅延測定を行うのに利用可能な片道遅延OWD(l,k)およびOWD’(l,k)の数は、2つのフローPFおよびPF’について同一ではないかもしれない。したがって、双方向遅延の計算のため正確に片道遅延を結合するために、タイムスタンプが生成され、片道遅延が計算された、Vcでマークされたパケットの数が最も少ないパケットフローPFまたはPF’から開始することが好ましい。例えば、あるブロック期間T(k)中のパケットフローPF’のパケットレートが、パケットフローPFのパケットレートよりも低かったと仮定すると、より大きい数の送信タイムスタンプおよび受信タイムスタンプ(および、したがって計算された片道遅延OWD(l,k))が、パケットフローPFについて利用できることとなる。そのような場合は、パケットフローPF’について計算された片道遅延の配列OWD’(l,k)から開始することが好ましい。特に、計算された片道遅延OWD’(l,k)のそれぞれについて、送信時間が、そのパケットの受信時間に最も近い、パケットフローPFのパケットPkiの片道遅延OWD(l,k)を加算することによって、対応する双方向遅延TWD(l,k)が計算される。特に好ましい変形によれば、合致するパケットの受信タイムスタンプと送信タイムスタンプとの差によって超えない閾値は、好ましくは固定である。このことが、ノードN1およびN2のローカルクロックの、起こり得るドリフトがエラーを増加させることを防止する。合致するパケットの受信タイムスタンプと送信タイムスタンプとの差が、閾値を超える場合、それらの合致するパケットについて計算された双方向遅延は、好ましくは廃棄される。
【0120】
反対方向に伝播されるパケットフローPF、PF’の合致するパケットの各ペアについて、双方向遅延TWD(l,k)が一度計算されたら、他の双方向測定が実行されることができる。
【0121】
例えば、最大双方向遅延TWDmax(k)、最小双方向遅延TWDmin(k)、および平均双方向遅延TWDav(k)が、計算された双方向遅延TWD(l,k)の最大、最小および平均として計算されることができる。
【0122】
さらに、好ましい変形によれば、双方向遅延TWD(l,k)が(例えば、SLAによって定義され得る)ある値より低いパケットの割合が、推定されることができる。
上述した時間測定方法は、パケットフローPFをブロックに分割するために、第1のマーキングサブフィールドb1の値を周期的に変更することを含む。これは、しかしながら限定ではない。実際に、本発明の代替の実施形態によれば、パケットフローPFは、第1のマーキングサブフィールドb1なしに、ブロックに分割されることができる。特に、好ましい実施形態によれば、送信ノードN1は、ブロック期間T(k)と後続のブロック期間T(k+1)との間の境界にマークする、追加のパケットを、周期的にパケットフローPFに挿入することができる。例えば、通信ネットワークCNが、イーサネットネットワークである場合、追加のパケットは、OAMフレームであってもよく、OAMフレームは、ITU−T勧告Y.1731(2008年2月)の8.1章(25〜27ページ)によって定義されるように、フレーム損失の測定ができるようにするために現在用いられている。そのような実施形態によれば、パケットロスは、好ましくは、Y.1731によって提供されるように、ブロックに分割されるパケットフローに対して計算される。一方、Y.1731とは異なり、パケットフローをブロックに分割するOAMパケットに対しては、時間測定は実行されない。そのような実施形態によれば、ブロックに分割されたパケットフローのパケットは、上述のように、時間測定を受けるパケットを、時間測定を受けないパケットと区別するためにマークされる。次いで、時間測定は、時間測定を受けるパケットとしてマークされたパケットに対して実行される。したがって、Y.1731によれば、パケットロスは、実トラフィック上で測定される一方、時間測定は、人工トラフィック(すなわち、実トラフィックをブロックに分割するOAMパケット)に対して行われるが、本発明によれば、パケットロス測定および時間測定の双方が、実トラフィックに対して実行される。
【0123】
概して、本発明の時間測定方法では、任意の技術によって、時間的に交互に起こる偶数ブロック期間と奇数ブロック期間の識別が可能となることを条件として、パケットフローPFは、そのような技術によってブロックに分割されることができる。これにより、偶数および奇数ブロック期間中に送信されるパケットに関する、変数の2つのセット(カウンタおよびタイムスタンプ)を実装することが可能となる。このように、各ブロック期間において、変数の1つのセットが変化する(図3aおよび4aのステップ)が、変数の他のセットは、固定値を有し、上述のようにパケットロスおよび時間測定を実行するためにそれに応じて使用される(図3bおよび4bのステップ)ことができる。
【0124】
上記説明では、図3a、3bのフローチャートの全てのステップが、送信ノードN1において実行され、一方、図4a、4bのフローチャートの全てのステップが、受信ノードN2において実行されると仮定されている。これは、しかしながら限定ではない。実際には、いくつかの場合には、ノードにおいて時間測定を実行するための方法を実装することは、望ましくない、または不可能ですらあるかもしれない。これは、例えば、通信ネットワークのノードが、方法のステップを実行するのをサポートするために必要な、基本的な機能性を含まない場合、または、ノードが異なる供給業者のものであり、したがって、それらの再構成が、非常に長く、コストのかかる作業となる場合である。そのような状況において、本発明の代替の実施形態によれば、方法のステップのうちの少なくともいくつかは、以下で詳細に説明されるように、ノードに接続される専用のコンピュータによって実行される。
【0125】
第1の代替の実施形態によれば、送信ノードN1は、好ましくは、パケットフローPFがそれを通じて送信されるポートとは異なるポートを通じて、第1のコンピュータに接続される。同様に、受信ノードN2は、好ましくは、パケットフローPFがそれを通じて受信されるポートとは異なるポートを通じて、第2のコンピュータPC2に接続される。この第1の実装によれば、通信ネットワークCNにおいて送信される実トラフィックのコピーに対して、コンピュータPC1、PC2によって時間測定が実行される間に、ノードN1は、パケットフローPFをブロックに分割し、時間測定を受けるパケットを識別するために、パケットPkiにマークする。ノードN1において既に利用可能なマーキング機能性は、コンピュータPC1、PC2によって実行される時間測定をサポートするために利用されることができる。有利なこととして、PCのうち1つが故障している場合、時間測定だけに影響がおよび、一方、パケットフローPFの送信には影響が及ばない。
【0126】
第2の代替の実施形態によれば、送信ノードN1は、好ましくは、パケットフローPFがそれを通じて送信されるのと同一のポートを通じて、第1のコンピュータPC1に接続される。同様に、受信ノードN2は、好ましくは、パケットフローPFがそれを通じて受信されるのと同一のポートを通じて、第2のコンピュータPC2に接続される。言い換えると、第1のコンピュータPC1および第2のコンピュータPC2は、送信ノードN1と受信ノードN2との間の、パケットフローPFがたどるパス上に位置する透過プローブである。この第2の代替実施形態によれば、第1のコンピュータPC1は、図3aおよび図3bのフローチャートの全てのステップを実行するように構成され、一方、第2のコンピュータPC2は、図4aおよび図4bのフローチャートの全てのステップを実行するように構成される。言い換えると、第2の代替実施形態によれば、ノードN1、N2は、時間測定をサポートするいかなる動作も実行せず、時間測定は、完全にコンピュータPC1、PC2に託される。コンピュータPC1、PC2は、パケットロスおよび時間測定機能に加えて、基本的に、ノードのトラフィック処理機能の全てを実装する。したがって、時間測定は、ノードN1、N2において利用可能な機能性から独立して実装されてもよい。これにより、異なる種類かつ異なる供給業者のノードを含む通信ネットワークにおいて送信される、実トラフィック上での時間測定を実装することができるようになる。
【0127】
さらに、上述の説明では、ノードN1、N2が、それぞれの計算されたパラメータ(パケットカウントおよびタイムスタンプ配列)を管理サーバMSに送信し、管理サーバMSは、中間遅延および中間ジッタを計算するためにそれらを使用すると仮定している。代替の実施形態によれば、ノードN1、N2のうちの1つによって、パケットロスおよび時間測定が実行されてもよい。したがって、例えば、受信ノードN2によって計算が実行されると仮定すると、送信ノードN1は、計算されたパラメータを受信ノードN1に送信することとなる。そのようなパラメータは、専用のパケット、例えば、OAMフレームに挿入されてもよい。したがって、そのような実施形態によれば、様々なパケットフローに関する時間測定の計算は、通信ネットワークCNのノードにおいて有利に分散される。
図1
図2
図3a
図3b
図4a
図4b