(58)【調査した分野】(Int.Cl.,DB名)
通信ネットワーク(CN)の第1の通信デバイス(CD1)から第2の通信デバイス(CD2)に送信されるデータ・フロー(PF)に関する測定を実行するための方法であって、
a)前記データ・フロー(PF)の送信の際に、
− 第1のブロック周期(T1,T3,…,Tn−1)であって第2のブロック周期(T2,T4,…,Tn)と交互に到来する第1のブロック周期(T1,T3,…,Tn−1)の間に、前記データ・フロー(PF)の各データ単位(Pki)を、該データ単位(Pki)の特徴(bi)を第1の値にセットすることによりマーク付けし、前記データ単位(Pki)に関係する第1のパラメータ(C1,S1)を更新するステップと、
b)前記データ・フロー(PF)の受信の際に、
− 受信した各データ単位(Pki)の前記特徴(bi)をチェックし、該特徴(bi)が前記第1の値に等しいときに前記データ単位(Pki)に関係する第2のパラメータ(C’1,R1)を更新するステップと、
c)ステップa)及びb)を実行する一方、タイマ(t*,t**)を処理して現在のブロック周期が前記第2のブロック周期(T2,T4,…,Tn)のうちの1つであるかを判定し、肯定であれば前記第1のパラメータ(C1,S1)の現在値及び前記第2のパラメータ(C’1,R1)の現在値を提供するステップと、
d)前記データ・フロー(PF)に関する測定を前記第1のパラメータ(C1,S1)の前記現在値及び前記第2のパラメータ(C’1,R1)の前記現在値を用いて実行するステップと
を含む方法。
請求項1から4の何れか一項に記載の方法であって、前記第1のブロック周期(T1,T3,…,Tn−1)及び前記第2のブロック周期(T2,T4,…,Tn)の全ては同じ持続時間(Tb)を有することを特徴とする方法。
請求項5に記載の方法であって、前記ステップc)において、前記タイマ(t*,t**)は、前記持続時間(Tb)の偶数倍に等しいマーク付け周期(Tm)をカウントすることを特徴とする方法。
請求項6に記載の方法であって、前記ステップc)は、前記タイマ(t*,t**)が示す現在時刻をマーク付けタイミング・テーブル(MTT)と比較するステップを含み、該マーク付けタイミング・テーブル(MTT)は、前記第1のブロック周期(T1,T3,…,Tn−1)及び前記第2のブロック周期(T2,T4,…,Tn)の少なくとも1つの開始時刻及び終了時刻の一方又は双方に関する情報を含むことを特徴とする方法。
請求項5又は6に記載の方法であって、前記持続時間(Tb)は奇数の時間測定単位に等しく、ステップc)は、前記タイマ(t*,t**)が示し、前記時間測定単位で表された現在時刻が、前記持続時間(Tb)の倍数であり且つ偶数であるかを判定するステップを含むことを特徴とする方法。
請求項5又は6に記載の方法であって、前記持続時間(Tb)は偶数の時間測定単位に等しく、ステップc)は、前記タイマ(t*,t**)が示し、前記時間測定単位で表された現在時刻が、2で乗算された前記持続時間(Tb)の整数倍でないかを判定するステップを含むことを特徴とする方法。
【背景技術】
【0002】
パケット交換通信ネットワークにおいて、データは、起点ノードから宛先ノードへ可能な中間ノードを介してルーティングされるパケットの形式において送信される。例示のパケット交換ネットワークは、ローカル・エリア・ネットワーク(例えば、イーサネット)及び地理的なエリア・ネットワーク(例えば、インターネット)である。
【0003】
一方、回線交換ネットワークにおいて、データは、起点ノードから宛先ノードへ準同期(plesiochronous)又は同期フレーム内で運ばれる連続ビット・フローの形式で送信される。例示の回線交換ネットワークは、PDH、SDH、Sonet及びOTNネットワークである。
【0004】
以後、「データ単位」という表現は、通信ネットワークにおいて送信されるデータ・フローの一部を指すものとする。特に、パケット交換ネットワークのケースでは、データ単位はパケット又はパケットの一部でありうる。その上、回線交換ネットワークのケースでは、データ単位は準同期フレーム、準同期フレームの一部、同期フレーム又は同期フレームの一部でありうる。
【0005】
パケット交換ネットワークまたは回線交換ネットワークの何れかにおいて起点ノードから送信されるデータは、常には宛先ノードには届かず、即ち、それらはネットワークを介した送信の間にロストすることがある。
【0006】
データのロスは、様々な理由によることがある。例えば、パケット交換ネットワークにおいて、パケット内のデータは、そのパケットが受信されるポート又はそのパケットが転送されなければならないポートが過密であるために、中間ノードによって廃棄されることがある。その上、パケット交換ネットワーク及び回線交換ネットワークの双方において、データは、ビット・エラーを含むために中間ノード又は宛先ノードによって廃棄されることがある。
【0007】
データをパケット交換ネットワークまたは回線交換ネットワークを介して送信することによってサービスを提供する際に、送信の間のデータ・ロストのレートは、そのサービスのサービス品質(QoS)に影響を与える。
【0008】
その上、データ単位は、ある送信時刻に起点ノードによって送信され、ある受信時刻に宛先ノードによって受信される。送信時刻と受信時刻との間の経過時間は、典型的には「一方向(one way)遅延」(又は、簡潔に「遅延」)と呼ばれる。データ単位の遅延は、以下の式により与えられる:
D(i)=Ri−Si [1]
ここで、Siはデータ単位の送信時刻であり、Riはデータ単位の受信時刻である。
【0009】
データ単位の遅延は、主として、起点から宛先までにデータ単位が通過する可能な中間ノードの数と、起点ノード及び各可能な中間ノードにおけるデータ単位の持続時間とに依存する。データ単位が各ノードによってホップバイホップでルーティングされるパケット交換ネットワークにおいて、データ単位が通過する可能な中間ノードの数と、各ノードにおけるデータ単位の持続時間との双方は、予測不可能である。よって、データ単位の遅延は、ほぼ予測不可能である。その上、同じデータ・フローのデータ単位は、異なる遅延を有することがある。
【0010】
パケット交換通信ネットワークにおいて、同じデータ・フローの2つのデータ単位(即ち、パケット)の遅延における差は、「到着間ジッタ」と名付けられている。特に、Si及びSjが第1のパケットi及び第2のパケットjの送信時刻であり、Ri及びRjが第1のパケットi及び第2のパケットjの受信時刻である場合、到着間ジッタは、以下のように表すことができる:
J(i,j)=(Rj−Ri)−(Sj−Si) [2]
通信サービス(特に、電話、電話会議、ビデオ会議等のリアルタイムの音声又はデータのサービス)が通信ネットワークによって提供されるとき、サービスを担うデータ・フローの遅延及び到着間ジッタは、サービスのエンド・ユーザによって知覚されるサービス品質(QoS)に強く影響を与える。
【0011】
従って、サービスを担うデータ・フローのデータ・ロス及び遅延/インターバル・ジッタの測定に、ネットワーク事業者は特に関心を持っている。
【0012】
WO 2010/072251(同じ出願人である)は、通信ネットワークを介して送信ノード(transmitting node)から受信ノード(receiving node)まで送信されるデータ・フローのデータ・ロスを測定するための方法を開示している。データ・フローのデータ単位の送信前に、送信ノードは、データ・フローをブロックに分けるために各データ単位にマークを付ける。特に、送信ノードは、各データ単位に、そのヘッダのビットを「1」又は「0」にセットすることによりマークを付ける。このマーク付けは、「1」とマーク付けされたデータ単位のブロックと「0」とマーク付けされたデータ単位のブロックとを時間的に交互に有するブロックのシーケンスをもたらす。これらブロックは、「ブロック周期」Tbと名付けられた同じ持続時間を有することができる。更に、データ単位をマーク付けしながら、送信ノードは、データ単位を「1」によってマーク付けするたびに第1のカウンタC1を1だけ増加させ、データ単位を「0」によってマーク付けするたびに第2のカウンタC0を1だけ増加させる。次に、マーク付けされたデータ単位は、受信ノードにおいて受信される。レシーバ・ノード(receiver node)がデータ単位を受信するたびに、該レシーバ・ノードはそのマーク付けをチェックし、マーク付けが「1」である場合に第3のカウンタC’1を増加させ、マーク付けが「0」である場合に第4のカウンタC’0を増加させる。
【0013】
WO 2010/072251によると、送信ノード及び受信ノードが上述のように動作しながら、送信ノードおよび受信ノードと協働する管理サーバは、カウンタC1、C0、C’1及びC’0の値を周期的に検出し、データ・ロスを計算するためにそれらを使用する。検出周期Tdは、次の式に従い、ブロック周期Tbに依存する最大値を有する:Tb>2*Td。言い換えると、カウンタC1、C0、C’1及びC’0の値は、各ブロック周期において少なくとも2回検出されるべきである。Tbが5分に等しいと仮定すると、Tdは2分に等しいことができる。
【0014】
各検出時間Tdにおいて。管理サーバは、カウンタC1、C0、C’1及びC’0の検出された現在値を対応する検出された前の値と比較して、現在のブロック周期の間、カウンタC1及びC0のどちら及びカウンタC’1及びC’0のどちらが一定値を有するかを判定する。実際に、上述のマーク付け手順から、各ブロック周期において、カウンタC1及びC0の一方は一定値を有する一方他方は増加し、カウンタC’1及びC’0の一方は一定値を有する一方他方は増加するという結果になる。管理サーバが、現在のブロック周期の間に、カウンタC0及びC’0が一定値を有すると判定すると仮定すると、管理サーバは、カウンタC0及びC’0の間の現在一定の値の間の差としてデータ・ロスを計算する。
【発明の概要】
【発明が解決しようとする課題】
【0015】
出願人はWO 2010/072251が説明する解決策を改善する必要性を知覚した。
【0016】
実際には、上記解決策をサポポートするために管理サーバで必要な計算量及び帯域幅の使用量は、幾つかのケースでは、高すぎることがある。
【0017】
更に、あるブロック周期の間に送信ノードが受信ノードにデータ単位を送信しないケース(このケースは、送信ノードと受信ノードとの間のトラフィックが非常に低いときに起こりうる)では、カウンタC1、C0、C’1及びC’0の全ては一定値を有する。よって、管理サーバは、カウンタのどちらの対(即ち、C1−C1’の対又はC0−C0’の対)を先のブロック周期に関係したデータ・ロスを適切に計算するために使用すべきかを判定することにおいて、幾らかの困難に遭遇することがある。
【0018】
上述のことを考慮して、出願人は、通信ネットワークの第1の通信デバイスから第2の通信デバイスへ送信されるデータ・フローに関する測定を実行するための方法を提供するという課題に取り組み、この方法は、計算量の観点及びネットワーク帯域幅の使用量の観点からより効率的であり、あるブロック周期の間にデータ単位が送信されなかった後でさえ測定を実行することが可能なものである。
【課題を解決するための手段】
【0019】
以下の説明及び特許請求の範囲において、「データ・フローに関する測定を実行する」という表現は、データ・フローに関するデータ・ロスを測定する動作及びデータ・フローに関する時間測定を実行する動作の一方又は双方を指すものである。
【0020】
更に、以下の説明及び特許請求の範囲において、「データ・ロスを測定」という表現は、第1の通信デバイスが送信したデータ単位(即ち、パケット、パケットの部分、準同期フレーム、準同期フレームの部分、同期フレーム、同期フレームの部分)の数と、第2の通信デバイスで受信したデータ単位(即ち、パケット、パケットの部分、準同期フレーム、準同期フレームの部分、同期フレーム、同期フレームの部分)の数との差を測定する動作を指すものであり、この差は、第1通信デバイスから第2の通信デバイスまでの送信にけるデータ単位のロストの数に対応する。
【0021】
更に、以下の説明及び特許請求の範囲において、「データ・フローに関する時間測定を実行する」という表現は、
− データ・フローのデータ単位に関する、第1の通信デバイスと第2の通信デバイスとの間の送信により引き起こされた遅延、及び、
− データ・フローのデータ単位のペアに関する、第1の通信デバイスと第2の通信デバイスとの間の送信により引き起こされた到着間ジッタ
のうちの一方又は双方を測定する動作を指すものである。
【0022】
更に、本説明及び特許請求の範囲において、「通信デバイス」という表現は、通信ネットワークのノードのポートまたはインターフェースを指すものである。
【0023】
第1の通信デバイス及び第2の通信デバイスは、通信ネットワークの異なるノードに含まれることがある。例えば、第1の通信デバイスはデータ・フローを送信する第1のノードの出力ポートであることができ、一方、第2の通信デバイスは、データ・フローを受信する第2のノードの入力ポートであることができる。第1のノード及び第2のノードは、データ・フローの起点ノード及び宛先ノードであることができるか、又は、代替として、それらは起点ノードと宛先ノードとの間に置かれた中間ノードであることができる。第1のノード及び第2のノードは、物理的に隣接している(即ち、それらは、例えば光ファイバ等の物理的リンクによって接続されている)か、他のノードを介して接続されているかの何れかであることができる。
【0024】
代替として、第1の通信デバイス及び第2の通信デバイスは同じノードに含まれることがある。例えば、第1の通信デバイスは上流ノードからデータ・フローを受信するノードの入力ポートであることができ、一方、第2の通信デバイスは下流ノードへデータ・フローを転送する同じノードの出力ポートであることができる。このケースの第1の通信デバイスと第2の通信デバイスとの間のデータ・ロスは、ノード内でロストした(例えば、過密により廃棄された)データ単位の数を示している。更に、第1の通信デバイスと第2の通信デバイスとの間の遅延は、ノード内でロストしたデータ単位の持続時間を示している。
【0025】
その上、以下の説明及び特許請求の範囲において、「データ単位にマーク付けする」という表現は、データ単位の特徴を、データ単位を同じデータ・フローの他のデータ単位から区別するために適した値にセットする動作を指すものである。例えば、データ単位をマーク付けする動作は、データ単位の1つ又は複数のビット(例えば、そのヘッダの1つのビット又はビット・シーケンス)を所定の値にセットする動作、その周波数又はその位相を所定の値にセットする動作等を含むことができる。
【0026】
第1の態様に従うと、本発明は、通信ネットワーク(CN)の第1の通信デバイスから第2の通信デバイスに送信されるデータ・フローに関する測定を実行するための方法であって、
a)データ・フローの送信の際に、
− 第1のブロック周期であって第2のブロック周期と交互に到来する第1のブロック周期の間に、データ・フローの各データ単位を、データ単位の特徴を第1の値にセットすることによりマーク付けし、データ単位に関係する第1のパラメータを更新するステップと、
b)データ・フローの受信の際に、
− 受信した各データ単位の特徴をチェックし、特徴が第1の値に等しいときにデータ単位に関係する第2のパラメータを更新するステップと、
c)ステップa)及びb)を実行しながら、タイマを処理して現在のブロック周期が第2のブロック周期のうちの1つであるかを判定し、肯定的であれば第1のパラメータの現在値及び第2のパラメータの現在値を提供するステップと、
d)データ・フローに関する測定を第1のパラメータの現在値及び第2のパラメータの現在値を用いて実行するステップと
を含む方法を提供する。
【0027】
第1の有利な実施形態に従うと、
− ステップa)において、更新は、第1の値にセットされた特徴を有する各データ単位の送信時に第1の送信カウンタを増加させることを含み、
− ステップb)において、更新は、第1の値にセットされた特徴を有する各データ単位の受信時に第1の受信カウンタを増加させることを含み、
− ステップc)において、提供は、第1の送信カウンタの現在値及び第1の受信カウンタの現在値を提供することを含み、
− ステップd)において、測定の実行は、第1の送信カウンタの現在値と第1の受信カウンタの現在値との間の差としてデータ・ロスを計算することを含む。
【0028】
加えて、又は、代替として、
− ステップa)において、更新は、第1の値にセットされた特徴を有する所定のデータ単位の送信時に第1の送信タイムスタンプを更新することを含み、
− ステップb)において、更新は、所定のデータ単位の受信時に第1の受信タイムスタンプをセットすることを含み、
− ステップc)において、提供は、第1の送信タイムスタンプの現在値及び第1の受信タイムスタンプの現在値を提供することを含み、
− ステップd)において、測定の実行は、第1の送信タイムスタンプの現在値及び第1の受信タイムスタンプの現在値を用いて時間測定を実行することを含む。
【0029】
好ましくは、時間測定の実行は、パケット・フローの遅延及び到着間ジッタのうちの少なくとも一方を測定することを含む。
【0030】
好ましくは、第1のブロック周期及び第2のブロック周期の全ては同じ持続時間Tbを有する。
【0031】
好ましくは、ステップc)において、タイマは、持続時間Tbの偶数倍に等しいマーク付け周期Tmをカウントする。
【0032】
第1の有利な変形例に従うと、ステップc)は、タイマが示す現在時刻をマーク付けタイミング・テーブルと比較するステップを含み、マーク付けタイミング・テーブルは、第1のブロック周期及び第2のブロック周期の少なくとも1つの開始時刻及び終了時刻の一方又は双方に関する情報を含む。
【0033】
代替として、持続時間Tbが奇数の時間測定単位に等しい場合、ステップc)は、タイマが示し、時間測定単位で表された現在時刻が、持続時間Tbの倍数であり且つ偶数であるかを判定するステップを含む。
【0034】
代替として、持続時間Tbが偶数の時間測定単位に等しい場合、ステップc)は、タイマが示し、時間測定単位で表された現在時刻が、2で乗算された持続時間Tbの整数倍でないかを判定するステップを含む。
【0035】
好ましくは、
− ステップa)は、第2のブロック周期の間に、データ・フローの各データ単位を、該データ単位の特徴を第2の値にセットすることによりマーク付けし、データ単位に関係する第3のパラメータを更新するステップを更に含み、
− ステップb)は、データ単位に関係する第4のパラメータを特徴が第2の値に等しいときに更新するステップを更に含み、
− ステップc)は、否定的であれば第3のパラメータの現在値及び第4のパラメータの現在値を提供するステップを含み、
− ステップd)は、測定を第3のパラメータの現在値及び第4のパラメータの現在値を用いて実行するステップを含む。
【0036】
特に好ましい実施形態に従うと、ステップc)は第1の通信デバイス(CD1)によって実行され、第2の通信デバイス(CD2)によっても実行され、一方、ステップd)は通信ネットワークと協働する管理サーバによって実行される。
【0037】
このケースでは、ステップc)は、好ましくは、
− 第1の通信デバイスで、送信タイマを処理して現在のブロック周期が第2のブロック周期のうちの1つであるかを判定し、肯定的であれば第1のパラメータの現在値を管理サーバに送るステップと、
− 第2の通信デバイスで、送信カウンタと同期した受信タイマを処理して現在のブロック周期が第2のブロック周期のうちの1つであるかを判定し、肯定的であれば第2のパラメータの現在値を管理サーバに送るステップと
を含む。
【0038】
その第2の態様に従うと、本発明は、第1の通信デバイス及び第2の通信デバイスを含む通信ネットワークであって、
− 第1の通信デバイスは、データ・フローを第2の通信デバイスに送信し、データ・フローの送信の際に、第1のブロック周期であって第2のブロック周期と交互に到来する第1のブロック周期の間に、データ・フローの各データ単位を、データ単位の特徴を第1の値にセットすることによりマーク付けし、データ単位に関係する第1のパラメータを更新するように構成され、
− 第2の通信デバイスは、データ・フローを第1の通信デバイスから受信し、データ・フローの受信の際に、受信した各データ単位の特徴をチェックし、特徴が第1の値に等しいときにデータ単位に関係する第2のパラメータを更新するように構成され、
第1の通信デバイス及び第2の通信デバイスは、タイマを処理して現在のブロック周期が第2のブロック周期のうちの1つであるかを判定し、肯定的であれば、データ・フローに関する測定を実行するために第1のパラメータの現在値及び第2のパラメータの現在値を提供するように更に構成されたことを特徴とする通信ネットワークを提供する。
【0039】
本発明は、限定ではなく例として与えられた、図面を参照して読まれるべき以下の詳細な説明より、より明らかとなろう。
【発明を実施するための形態】
【0041】
これから、送信ノードから受信ノードまでの送信においてロストしたパケット(即ち、データ単位はパケットである)の数を測定することによる、パケット交換ネットワークにおけるデータ・ロスを測定する特定の例示のケースを参照することによって、本方法の第1の好適実施形態を詳細に説明する。
【0042】
図1は、5つのノードN1,N2,…,N5を含む例示のパケット交換通信ネットワークCNを概略的に示している。通信ネットワークCNのノードN1,N2,…,N5は、パケット・フローの形式でトラフィックを送信し受信するために適した通信デバイスを含んでいる。特に、ノードN1(以後、「送信ノード」と呼ぶ)は第1の通信デバイスCD1を含み、ノードN2(以後、「受信ノード」と呼ぶ)は第2の通信デバイスCD2を含んでいる。例えば、第1の通信デバイスCD1は第1のイーサネット・ポートを含むことができる一方、第2の通信デバイスCD2は第2のイーサネット・ポートを含むことができる。
【0043】
ノードN1,N2,…,N5は、部分的にはメッシュ型のトポロジーに従い互いに接続されている。特に、ノードN1とN2とは隣接ノードであり、それらの通信デバイスCD1とCD2とはリンクL1によって接続されている。ノードの数及び通信ネットワークCNのトポロジーは例示にすぎない。通信ネットワークCNは、例えば、イーサネット・ネットワーク、インターネット・ネットワーク又は任意の他のタイプのパケット交換型ネットワークであることができる。
【0044】
通信ネットワークCNは、管理サーバMSと協働するのに適している。
図1において、管理サーバMSはノードN4に接続されている。これは、管理サーバMSは通信ネットワークCNにそのノードN1,N2,…,N5の何れかを介して接続することができるため、例示にすぎない。代替として、管理サーバMSは、通信ネットワークCNのノードN1,N2,…,N5の何れかに統合することができる。
【0045】
例として、以後、送信ノードN1の第1の通信デバイスCD1から受信ノードN2の第2の通信デバイスCD2までリンクL1を介して送信されるパケット・フローPFのみを考える。送信ノードN1は、パケット・フローPFの起点ノードか、起点ノードから宛先ノードまでの経路の中間ノードかの何れかであることができる。同じように、受信ノードN2は、パケット・フローPFの宛先ノードであるか、起点ノードから宛先ノードまでの経路の中間ノードかの何れかであることができる。
【0046】
パケット・フローPFは複数のパケットPkiを含んでいる。
図2に示されているように、各パケットPkiはヘッダHiとペイロードPiとを有している。ペイロードPiは、起点ノードから宛先ノードまで送信されるトラフィックの一部を含んでいる。その上、好ましくは、ヘッダHiは、パケットPkiをルーティングするための情報、例えば起点ノードのアドレス(即ち、送信ノードN1が起点ノードであれば、送信オードN1のアドレス)と、宛先ノードのアドレス(即ち、受信ノードN2が宛先ノードであれば、受信ノードN2のアドレス)、を含んでいる。
【0047】
本発明の実施形態に従い、パケット・フローPFのパケットPkiが送信されると、第1の通信デバイスCD1は、好ましくは、パケット・フローPFをブロックに分けるためにパケットPkiにマーク付けし、各ブロックは、複数のパケットPkiを含む。好ましくは、全てのブロックは、以後「ブロック周期」Tbと呼ぶ同じ持続時間を有する。
【0048】
第1の通信デバイスCD1は、好ましくは、各パケットPkiのヘッダHiのあるビットbiを用いてパケットPkiにマークを付ける。特に、第1の通信デバイスCD1は、パケットPkiに、ビットbiの値を1又は0にセットすることによってマークを付ける。ビットbiは、例えば、パケットPkiがフォーマットされているプロトコルに特定の機能がまだ割り当てられていないビットであることができる。代替として、ビットbiは、他の用途を有するフィールドのビット、例えば、IPパケットにおける優先度フィールドのビット又はMPLSパケットにおけるラベル・フィールドのビット、であることができる。
【0049】
ブロック周期Tbは、所望のデータ・ロス測定レートに従い、ネットワーク事業者がセットすることができる(以下で詳細に述べるように、ブロック周期Tbは測定周期でもある)。ブロック周期Tbに加えて、ネットワーク事業者は、好ましくは、マーク付け周期Tmをセットする。マーク付け周期Tm及びブロック周期Tbは、好ましくは、以下の式を満たすように選択される:
Tm=n×Tb [3]
ここで、nは2以上の偶数であり、Tm及びTbは同じ測定単位(例えば、分又は秒)において表現される。例えば、マーク付け周期Tmは60分に等しいことができ、ブロック周期Tbは、例えば1、2、3、5、6、10、12、15又は30分(即ち、Tm及びTbが分において表現されるときに上記式[3]を満たす全ての値)に等しいことができる。そのとき、マーク付け周期Tmは、偶数nの数のブロック周期T1,T2,T3,T4,…,Tn−1,Tnを含んでいる。
【0050】
図4に関して、第1の通信デバイスCD1がパケット・フローPFに関するデータ・ロス測定を開始しなければならないと判定したとき、第1の通信デバイスCD1は、好ましくは、第1のカウンタC1及び第2のカウンタC0を値0でイニシャライズする(ステップ401)。次に、好ましくは、第1の通信デバイスCD1は、0からマーク付け周期Tmまで循環的にカウントする送信タイマを開始させる(ステップ402)。例えば、Tmが60分に等しい場合、送信タイマは00:00から59:59まで循環的にカウントすることができる。
【0051】
送信タイマが示す現在時刻t*がk×Tb(kは0,1,2,…,n−1に等しい)に等しくなる(ステップ403)と、第1の通信デバイスCD1は、好ましくはブロック周期T1,T2,T3,T4,…,Tn−1,Tnのうちの現在のブロック周期を判定する(ステップ404)。このような判定は、好ましくは、マーク付けタイミング・テーブルMTTを用いて実行される。
【0052】
マーク付けタイミング・テーブルMTTの構造を
図3に示す。マーク付けタイミング・テーブルMTTは、好ましくは、n行(即ち、ブロック周期T1,T2,T3,T4,…,Tn−1,Tnの各々あたり1行)含んでいる。各行は、ブロック周期T1,T2,T3,T4,…,Tn−1,Tnが開始する時刻を示す開始時刻0,Tb,2Tb,3Tb,…,(n−2)Tb,(n−1)Tbと、ブロック周期T1,T2,T3,T4,…,Tn−1,Tnの間にマーク付けされるパケットPkiにおいてセットされるべきビットbiの値(即ち、1又は0)を示すマーク付け情報とを含んでいる。マーク付けタイミング・テーブルMTTのローカル・コピーを送信ノードN1に記憶することができる。
【0053】
例えば、マーク付け周期Tmが60分に等しく、ブロック周期Tbが10分に等しい(それによって、マーク付け周期Tmは6つのブロック周期T1,T2,T3,T4,T5,T6を含む)と仮定すると、得られるマーク付けタイミング・テーブルMTTは以下に表される。
【0055】
開始時刻は、「分:秒」のフォーマットで表されている。
【0056】
ステップ404で、第1の通信デバイスCD1は、好ましくは、送信タイマが示す現在時刻t*をマーク付けタイミング・テーブルMTTの内容と比較することにより、現在のブロック周期を求める。特に、現在のブロック周期は、ステップ403で送信タイマが示す読まれた現在時刻t*に等しい開始時刻のブロック周期として求められる。
【0057】
ステップ404の間、第1の通信デバイスCD1も、好ましくは、求められた現在のブロック周期に関連したマーク付けをマーク付けタイミング・テーブルMTTにおいて読み、それにより、現在のブロック周期の間に送信されるパケットに適用されなければならないマーク付けを求める。
【0058】
例えば、上記の例示の表1を参照することにより、ステップ403で送信タイマが示す現在時刻t*が例えば30:00であるとき、ステップ404で、第1の通信デバイスCD1は、現在のブロック周期はT4であり、対応するマーク付けは0であると判定する。
【0059】
次に、第1の通信デバイスCD1は、送信される可能なパケットPkiを待ち、それらをステップ404で求めた1又は0の何れかによってマーク付けする。
【0060】
特に、現在のブロック周期が奇数の周期T1,T3,…,Tn−1である場合、あるパケットPkiが送信されなければならないとき(ステップ405)、第1の通信デバイスCD1は、好ましくは、そのパケットPkiにそのビットbiを1にセットすることによりマークを付け(ステップ406)、1だけ第1のカウンタC1の値を増加させ(ステップ407)、そのパケットPkiをリンクL1に沿って送信する(ステップ408)。そうではなく、現在のブロック周期が偶数の周期T2,T4,…,Tnである場合、あるパケットPkiが送信されなければならないとき(ステップ405’)、第1の通信デバイスCD1は、好ましくは、そのパケットPkiにそのビットbiを0にセットすることによりマークを付け(ステップ406’)、1だけ第2のカウンタC0の値を増加させ(ステップ407’)、そのパケットPkiをリンクL1に沿って送信する(ステップ408’)。
【0061】
そのため、奇数のブロック周期T1,T3,…,Tn−1の間、第1の通信デバイスCD1により送信されるパケットPkiは奇数のブロックB1,B3,…,Bn−1(
図5に示す)を形成し、それらのビットbiが1にセットされることによりマーク付けされる(
図5において、参照「b(PF)」は、パケット・フローPFのパケットPkiに対するビットbiの値を示している)。また、その上、
図5に示されているように、奇数のブロック周期T1,T3,…,Tn−1の間、第1のカウンタC1の値は増加し、一方、第2のカウンタC0の値は一定である。
【0062】
一方、偶数のブロック周期T2,T4,…,Tnの間、第1の通信デバイスCD1により送信されるパケットPkiは偶数のブロックB2,B4,…,Bn(
図5に示す)を形成し、それらのビットbiが0にセットされることによりマーク付けされる。また、その上、
図5に示されているように、偶数のブロック周期T2,T4,…,Tnの間、第2のカウンタC0の値は増加し、一方、第1のカウンタC1の値は一定である。
【0063】
図5は、1つのマーク付け周期Tmの間に送信されるブロックを示している。第1の通信デバイスCD1の動作は、しかしながら、周期Tmで周期的である。その結果、パケット・フローPFは、持続時間Tbのブロックのシーケンスに分割され、ここで、1に等しいビットbiによってマーク付けされたパケットPkiを含むブロックと、0に等しいビットbiによってマーク付けされたパケットPkiを含むブロックとが時間的に交互に起きている。上記式[3]に従い、マーク付け周期Tmはブロック周期Tbの偶数倍であるために、1がマーク付けされたパケットを含むブロックと、0がマーク付けされたパケットを含むブロックとの交代は、全てのマーク付け周期Tmにおいて同じである。言い換えると、全てのマーク付け周期Tmにおいて、奇数のブロックB1,B3,…,Bn−1は1に等しいビットbiによってマーク付けされたパケットPkiを含み、一方、偶数のブロックB2,B4,…,Bnは0に等しいビットbiによってマーク付けされたパケットPkiを含んでいる。
【0064】
図4の上記のフロー・チャートに従い形成されたブロックは、様々な数のパケットPkiを含むことがある。実際には、所与のブロックを形成するパケットPkiの数は、第1の通信デバイスCD1によって各ブロック周期の間に実際に送信されたパケットの数に依存する。例えば、低トラフィックの時間帯には、ブロックは、高トラフィックの時間帯よりも少ない数のパケットを含んでいる。同じ理由により、各ブロックの第1のパケットPkiは、対応するブロック周期の始まりで必ずしも送信される必要なはい。
【0065】
再び
図4を参照すると、ステップ404で求められた現在のブロック周期が奇数の周期T1,T3,…,Tn−1である場合、第1の通信デバイスCD1は、カウンタC1の値は現在増加中であるかもしれず、一方、カウンタC0の値は現在一定であると判定する。そのため、第1の通信デバイスCD1は、好ましくは、第2のカウンタC0の現在一定である値を管理サーバMSに送る(ステップ409)。
【0066】
そうではなく、ステップ404で求められた現在のブロック周期が偶数の周期T2,T4,…,Tnである場合、第1の通信デバイスCD1は、カウンタC0の値は現在増加中であるかもしれず、一方、カウンタC1の値は現在一定であると判定する。そのため、第1の通信デバイスCD1は、好ましくは、第1のカウンタC1の現在一定である値を管理サーバMSに送る(ステップ409’)。
【0067】
好ましくは、ステップ409−409’で、関係するカウンタC1又はC0の値を管理サーバMSに送る時刻は、以下で詳細に説明する理由により、現在のブロック周期の開始時刻に関して安全待ち時間SWTだけ遅延する。
【0068】
次に、
図6a、6b及び7を参照すると、ブロックB1,B2,B3,B4,…,Bn−1,Bnは第2の通信デバイスCD2に送信され、第2の通信デバイスCD2は、対応する更なるブロックB’1,B’2,B’3,B’4,…,B’n−1,B’nを受信する。更なるブロックB’1,B’2,B’3,B’4,…,B’n−1,B’nの各々は、対応するブロックB1,B2,B3,B4,…,Bn−1,Bnと、そのブロックにもともと含まれていた1つ又は複数のパケットPkiがリンクL1での送信の間にロストしたという点で異なっている。
【0069】
第2の通信デバイスCD2がパケット・フローPFに関するデータ・ロス測定は開始されたと判定すると、第2の通信デバイスCD2は、好ましくは、第3のカウンタC’1及び第4のカウンタC’0を値0でイニシャライズする(ステップ601)。ステップ601は、例えば、管理サーバMSから送信され、第2の通信デバイスCD2にパケット・フローPFに対するデータ・ロス測定を開始するように命令する管理メッセージによってトリガすることができる。
【0070】
次に、第2の通信デバイスCD2は、リンクL1上で第1の通信デバイスC1から受信した可能なパケットPkiをリッスンする(ステップ602)。パケットPkiを受信するごとに、第2の通信デバイスCD2は、好ましくは、そのマーク付けをチェック、即ち、そのビットbiの値をチェックする(ステップ603)。
【0071】
ビットbiが1に等しい場合、第2の通信デバイスCD2は、好ましくは、1だけ第3のカウンタC’1を増加させる(ステップ604)。そうではなく。ビットbiが0に等しい場合、第2の通信デバイスCD2は、好ましくは、1だけ第4のカウンタC’0を増加させる(ステップ604’)。
【0072】
従って、
図7に示されているように、第2の通信デバイスCD2が奇数のブロックB’1,B’3,…,B’n−1のパケットPkiを受信している間、第3のカウンタC’1の値は増加し、一方、第4のカウンタC’0の値は一定である。一方。第2の通信デバイスCD2が偶数のブロックB’2,B’4,…,B’nのパケットPkiを受信している間、第4のカウンタC’0の値は増加し、一方、第3のカウンタC’1の値は一定である。
【0073】
図6aのフロー・チャートの上記ステップと実質的に並行して、第2の通信デバイスCD2は、0からマーク付け周期Tmまで循環的にカウントする受信タイマも開始させる(ステップ605)。
【0074】
第2の通信デバイスCD2における検出タイマ及び第1の通信デバイスCD1における送信タイマは、好ましくは、実質的に同時に開始され、好ましくは、互いに同期し、それにより、それらが実質的に同じ現在時刻を示すようにする。この目的で、送信タイマおよび受信タイマは、好ましくは、送信ノードN1及び受信ノードN2のローカル・クロックにそれぞれ同期し、送信ノードN1及び受信ノードN2のローカル・クロックは、同様に相互に同期したものである。通信ネットワークCNにおけるローカル・クロックの同期は、任意の既知の同期プロトコル、例えば、ネットワーク・タイム・プロトコル(NTP)、によって達成することができる。
【0075】
受信タイマが示す現在時刻t**がk×Tb(kは0,1,2,…,n−1に等しい)に等しくなると(ステップ605)、第2の通信デバイスCD2は、好ましくは、ブロック周期T1,T2,T3,T4,…,Tn−1,Tnのうちの現在のブロック周期を求める(ステップ607)。この目的で、マーク付けタイミング・テーブルMTTのローカル・コピーを受信ノードN2にも記憶することができ、第2の通信デバイスCD2は、好ましくは、受信タイマが示す現在時刻t**をマーク付けタイミング・テーブルMTTの内容と比較することにより、現在のブロック周期を求める。特に、現在のブロック周期は、その開始時刻がステップ606で受信タイマが示した読まれた現在時刻t**に等しいブロック周期として求められる。
【0076】
送信タイマ及び受信タイマは同期しているので、第2の通信デバイスCD2によりステップ607で求められる現在のブロック周期は、同時に第1の通信デバイスCD1によって求められる現在のブロック周期(
図4のステップ404を参照)と実質的に同じである。
【0077】
ステップ607で求められる現在のブロック周期が奇数のブロック周期T1,T3,…,Tn−1である場合、第2の通信デバイスCD2は、第1の通信デバイスCD1はパケットを1によってマーク付けしており、よってカウンタC’1の値は現在増加中であり、一方、カウンタC’0の値は現在一定であると判定する。そのため、第2の通信デバイスCD2は、好ましくは、第4のカウンタC’0の現在一定である値を管理サーバMSに送る(ステップ608)。
【0078】
そうではなく、現在のブロック周期が偶数のブロック周期T2,T4,…,Tnである場合、第2の通信デバイスCD2は、第1の通信デバイスCD1はパケットを0によってマーク付けしており、よってカウンタC’0の値は現在増加中であり、一方、カウンタC’1の値は現在一定であると判定する。そのため、第2の通信デバイスCD2は、好ましくは、第3のカウンタC’1の現在一定である値を管理サーバMSに送る(ステップ608’)。
【0079】
好ましくは、ステップ608−608’で、関係するカウンタC’1又はC’0の値が管理サーバMSに送られる時刻は、現在のブロック周期の開始時刻に関して安全待ち時間SWTだけ遅延される。
【0080】
実際には、ブロックB’1,B’2,B’3,B’4,…,B’n−1,B’nの各々が実際に第2の通信デバイスCD2で受信される間の時間ウィンドウは、
図7で示されるように、ステップ607で求められた対応するブロック周期T1,T2,T3,T4,…,Tn−1,Tnに関して遅延することがある。この遅延は、主に、パケットのリンクL1上での伝搬遅延と、通信デバイスCD1、CD2での処理時間とによる。このことを考慮すると、第4のカウンタC’0は、奇数の周期T1,T3,…,Tn−1の第1の部分において増加中であり、一方、第3のカウンタC’1は、偶数の周期T2,T4,…,Tnの第1の部分において増加中であることがある。この遅延は、送信タイマと受信タイマとの間の同期における可能な耐性により、更に強めることができる。
【0081】
ステップ409−409’で第1の通信デバイスCD1により、ステップ608−608’で第2の通信デバイスCD2により適用される安全待ち時間SWTは、カウンタC1、C0、C’1及びC’0の値が、それらが実際に一定であるときのみ管理サーバMSに送られることを保証する。安全待ち時間SWTは、好ましくは、0より大きな最小値と、ブロック周期Tbの50%との間に含まれる。最小値は、好ましくは、第1の通信デバイスCD1と第2の通信デバイスCD2との間の最大予想遅延と、送信タイマと受信タイマとの間の同期エラーと、通信デバイスCD1、CD2でマーク付けを変更するのに必要な処理時間との合計より大きい。最小値は、例えばブロック周期Tbの1%に等しいことができる。例えば、ブロック周期Tbが10分に等しい場合、安全待ち時間SWTは例えば3分に等しいことができる。
【0082】
そのため、奇数のブロック周期T1,T3,…,Tn−1の間、管理サーバMSはカウンタC0及びC’0の値を受信し、一方、偶数のブロック周期T2,T4,…,Tnの間、管理サーバMSはカウンタC1及びC’1の値を受信する。
【0083】
各ブロック周期で、管理サーバMSは、次に、受信したカウンタの値の間の差(即ち、偶数の周期の間の差C1−C1’と奇数の周期の間の差C0−C0’)としてデータ・ロスを計算することができる。
【0084】
各ブロック周期で計算されたデータ・ロスは、実際には、現在のブロック周期の前のブロック周期を参照しており、なぜなら、データ・ロスは、前のブロック周期の終わりで関係するカウンタが達した値に基づいて計算されるからである。例えば、第3のブロック周期T3の間に受信したカウンタの値に基づいて計算されたデータ・ロスは、第2のブロック周期T2の終わりにパケット・フローPFに影響を与えたデータ・ロスを示し、なぜなら、そのデータ・ロスは、第2のブロック周期T2の終わりにカウンタ0及びC’0が達した値に基づいて計算されるからである。
【0085】
各ブロック周期Tbに対してデータ・ロスの値が計算されると、それらを処理することが可能である。例えば、1つのブロック周期Tbの間にロストしたパケットPkiの数は、次に、そのブロック周期において送信されたパケットPkiの数(第1のカウンタC1及び第2のカウンタC0によって得ることができる)によって割ることができ、それにより、パケット・ロス比率(即ち、ロスト・パケットの数と、送信されたパケットの数との間の比率)を与えることができる。
【0086】
有利なことに、データ・ロスの最終的な値は、各ブロックに含まれるパケットPkiの数とは独立している。これは、データ・ロスの最終的な値は、あるブロック周期Tbに送信されたパケットと、対応するあるブロック周期Tbに受信されたパケットとの間の差として計算されるという事実による。
【0088】
まず第1に、上記方法は、現在の通信ネットワークのノードで典型的に利用可能な通信デバイス(ポート又はインターフェース)によって容易に実施可能である。
【0089】
その上、ブロック周期ごとに、データ・ロスを計算するために実際に必要なカウンタの値のみを管理サーバに送り、一方、現在一定でない(そしてデータ・ロスを計算するために用いない)カウンタの値は送られない。更に、関係するカウンタの値は、各ブロック周期Tb内で一度のみ管理サーバに送られる。言い換えると、ブロック周期Tbは測定周期でもある。
【0090】
例えば、ブロック周期Tbが10分である場合、本発明に従い、2つのカウンタの値が管理サーバに、10分ごとに一度送られる。WO 2010/072251の方法に従うと、4つのカウンタの値は10分ごとに少なくとも2回検出されることになる。検出周期を例えば4分と仮定すると、4つのカウンタの値は、10分ごとに約2.5回検出されるべきである。このことは、管理サーバMSによって本発明を実施するために集められる情報の量が、有利なことに約5分の1に低減されていることを意味する。ノードにおける計算量及び通信ネットワークのリンク上の帯域幅使用量の双方は、従って、有利なことに低減される。
【0091】
更に、通信デバイスCD1、CD2によって実施されるアルゴリズムは、有利なことに、非常に単純である。実際には、管理サーバに送られる、適切なデータ・ロス計算を可能とするカウンタを求めるために、通信デバイスは、該通信デバイスのそれぞれのタイマが示す現在時刻を読み、マーク付けタイミング・テーブルMTTをチェックしなければならないだけである。出願人は、
図4、6a及び6bにおいて示されたアルゴリズムは、データ・ロスの計算時間を、WO 2010/072251のアルゴリズムと比較して約1/10に低減すると見積もっている。
【0092】
一方、このことは、通信ネットワークCN上で送信されるデータ・フローの数が増加するときのデータ・ロスを測定するための方法を、ブロック周期Tbを増加させることなく適用することを可能にする。実際には、1つのブロック周期Tbにおいて、ノードは、データ・ロスを計算するための上記アルゴリズムを非常に大きな数のデータ・フローに適用することができる。一方、測定されるある数のデータ・フローが与えられると、このことは、データ・フローのデータ・ロスのより頻繁な測定を提供するために、ブロック周期Tbを低減させることを可能にする。このことは、有利なことに、測定されるデータ・フローの1つに影響を与えるデータ・ロスと、そのようなデータ・ロスの検出との間の遅延を低減させることを可能にする。
【0093】
更に、有利なことに、それらの同期されたタイマ及びマーク付けタイミング・テーブルMTTのおかげで、通信デバイスCD1及びCD2は、パケットに適用される現在のマーク付けを常に知っており、よって、データ・ロスを適切に計算するためにどのカウンタを使用するのかを、パケットが送信されないブロック周期でさえ、求めることが可能である。
【0094】
本発明の第2の実施形態に従うと、上記方法は、データ・ロス測定に加え、データ・フローPFに関する時間測定を実行するためにも使用できる。
【0095】
本発明の第2の実施形態に従う第1の通信デバイスCD1の動作を示す
図8に関して、ステップ404で、第1の通信デバイスCD1が、現在のブロック周期が、送信される各パケットPkiを1によりマーク付けし(ステップ406)、カウンタC1を1だけ増加させた(ステップ407)後の奇数の周期T1,T3,…,Tn−1であると判定した場合、第1の通信デバイスCD1は、好ましくは、パケットPkiが、現在の奇数のブロック周期の間に送信される最初のものかを判定する(ステップ407a)。肯定的である場合、第1の通信デバイスCD1は、好ましくは、送信タイマが示す現在時刻に等しい第1の送信タイムスタンプS1をセットする(ステップ407b)。
【0096】
そうではなく、ステップ404で、第1の通信デバイスCD1が、現在のブロック周期が、送信される各パケットPkiを0によりマーク付けし(ステップ406’)、カウンタC0を1だけ増加させた(ステップ407’)後の偶数の周期T2,T4,…,Tnであると判定した場合、第1の通信デバイスCD1は、好ましくは、パケットPkiが、現在の偶数のブロック周期の間に送信される最初のものかを判定する(ステップ407a’)。肯定的である場合、第1の通信デバイスCD1は、好ましくは、送信タイマが示す現在時刻に等しい第2の送信タイムスタンプS0をセットする(ステップ407b’)。
【0097】
その上、ステップ404で求められた現在のブロック周期が奇数の周期T1,T3,…,Tn−1である場合、ステップ409で、第1の通信デバイスCD1は、管理サーバMSに、第2のカウンタC0の現在一定である値と、加えて、第2の送信タイムスタンプS0の現在値とを送る(ステップ409)。そうではなく、ステップ404で求められた現在のブロック周期が偶数の周期T2,T4,…,Tnである場合、ステップ409’で、第1の通信デバイスCD1は、管理サーバMSに、第1のカウンタC1の現在一定である値と、加えて、第1の送信タイムスタンプS1の現在値とを送る(ステップ409’)。
【0098】
本発明の第2の実施形態に従う第2の通信デバイスCD2の動作を示す
図9a及び9bに関して、ステップ603で、第2の通信デバイスCD2が、カウンタC’1を1だけ増加させた後に、現在受信したパケットが1によりマーク付けされていると判定した場合(ステップ604)、第2の通信デバイスCD2は、好ましくは、前に受信したパケットが現在のパケットPkiと同じマーク付けを有するかをチェックする(ステップ604a)。肯定的である場合、第2の通信デバイスCD2は、パケットPkiはブロックの最初のパケットではないと判定し、好ましくは、何も他のアクションを実行しない。否定的である場合、第2の通信デバイスCD2は、パケットPkiはブロックの最初のパケットであると判定し、好ましくは、受信タイマが示す現在時刻に等しい第1の受信タイムスタンプR1をセットする(ステップ604b)。
【0099】
そうではなく、ステップ603で、第2の通信デバイスCD2が、カウンタC’0を1だけ増加させた後に、現在受信したパケットが0によりマーク付けされていると判定した場合(ステップ604’)、第2の通信デバイスCD2は、好ましくは、前に受信したパケットが現在のパケットPkiと同じマーク付けを有するかをチェックする(ステップ604a’)。肯定的である場合、第2の通信デバイスCD2は、パケットPkiはブロックの最初のパケットではないと判定し、好ましくは、何も他のアクションを実行しない。否定的である場合、第2の通信デバイスCD2は、パケットPkiはブロックの最初のパケットであると判定し、好ましくは、受信タイマが示す現在時刻に等しい第2の受信タイムスタンプR2をセットする(ステップ604b’)。
【0100】
第1の実施形態と同様に、上記ステップと並行して、第2の通信デバイスCD2は、0からマーク付け周期Tmまで循環的にカウントする受信タイマも開始させ(ステップ605)、それに基づき、現在のブロック周期を求める(ステップ606及び607)。
【0101】
ステップ607で求めた現在のブロック周期が奇数のブロック周期T1,T3,…,Tn−1である場合、第2の通信デバイスCD2は、カウンタC’0の値は現在一定であると判定り、よって第4のカウンタC’0の現在一定の値と第2の受信タイムスタンプR0の現在値とを管理サーバMSへ送る(ステップ608)。
【0102】
そうではなく、現在のブロック周期が偶数のブロック周期T2,T4,…,Tnである場合、第2の通信デバイスCD2は、カウンタC’1の値は現在一定であると判定り、よって第3のカウンタC’1の現在一定の値と第1の受信タイムスタンプR1の現在値とを管理サーバMSへ送る(ステップ608’)。
【0103】
そのため、第2の実施形態に従うと、奇数のブロック周期T1,T3,…,Tn−1の間、管理サーバMSは、カウンタC0及びC’0とタイムスタンプS0及びR0の値とを受信し、一方、偶数のブロック周期T2,T4,…,Tnの間、管理サーバMSは、カウンタC1及びC’1とタイムスタンプS1及びR1の値とを受信する。
【0104】
各ブロック周期において、管理サーバMSは、次に、受信したカウンタの値の間の差(即ち、奇数の周期の間の差C1−C’1及び偶数の周期の間の差C0−C’0)としてデータ・ロスを計算することができる。
【0105】
加えて、各ブロック周期において、管理サーバMSは、受信したタイムスタンプの値の間の差(即ち、偶数の周期の間の差R1−S1及び奇数の周期の間の差R0−S0)として遅延を計算することができる。所与のブロック周期で計算された遅延は、実質的には、第1の通信デバイスCD1から第2の通信デバイスCD2までの伝搬によって生じた、現在のブロック周期の前のブロック周期の間に送信された第1のパケットに関する遅延である。例えば、ブロック周期Tbが10分に等しく、マーク付け周期Tmが60分に等しい場合に、(相互に同期している)送信タイマ及び受信タイマが30分に等しい現在時刻t*=t**を示すとき、ステップ404及び607において、求める現在のブロック周期はT4であり、その関連したマーク付けは0である。そのため、通信デバイスCD1及びCD2は管理サーバMSに、タイムスタンプS1及びR1の値をそれぞれ送り、タイムスタンプS1及びR1の値は、前のブロック周期、即ちT3、の間に送信された第1のパケットの送信時刻と受信時刻を示すものである。
【0106】
遅延の計算に加えて、管理サーバMSは、現在のブロック周期で計算された遅延と前のブロック周期で計算された遅延との間の差として到着間ジッタも計算することができる。
【0107】
好ましくは、各ブロック周期において、管理サーバMSは、遅延及び到着間ジッタの一方又は双方を、同じブロック周期内で計算されたデータ・ロスが0に等しい場合にのみ計算する。実際には、あるブロック周期の間に最初に送信されたパケットが第2の通信デバイスCD2に到達する前にロストした場合、受信タイムスタンプR0又はR1にそのブロック周期の間に割り当てられた値は、そのブロックの続くパケットに関係し、最初のパケットに関係しない。そのため、このような受信タイムスタンプに基づいて実行される時間測定は、異なるパケットに関係するタイムスタンプ間の差として計算されるために、本質的に不正確である。
【0108】
しかし、あるブロック周期の最初のパケットが第1の通信デバイスから第2の通信デバイスまでの送信の間にロストした場合、このことは、続くブロックに参照される遅延及び到着間ジッタの測定の正確さを損なうことはない。実際には、あるブロックにおける最初のパケット(又は任意の他のパケット)のロスは、第2の通信デバイスCD2が続くブロックの最初のパケットを認識すること、及び、そのブロックに対する受信タイムスタンプを適切にセットすることを妨げない。それ以降、遅延及び到着間ジッタの測定は、そのとき、前のブロックにおける最初のパケットのロスによる不正確さから免れる。
【0109】
時間測定は、各ブロックの最初のパケットに必ずしも基づかない。本発明の変形例に従うと、送信タイムスタンプ及び受信タイムスタンプはブロックの異なるパケットに対してセットすることができる。更に、遅延及び到着間ジッタの測定周期をブロック周期Tbを低減することなく増加させるために、送信タイムスタンプ及び受信タイムスタンプを、各ブロックに対して1より多くのパケット(例えば、1番目、100番目、200番目等)にセットすることができる。各ブロック周期において、通信デバイスCD1及びCD2は管理サーバMSに、送信タイムスタンプ及び受信タイムスタンプの全ての値を送る。
【0110】
本発明の第2の実施形態に従う方法は、基本的には、第1の実施形態に従う方法と同じ利点、即ち、管理サーバMSにおける低減された計算量、通信ネットワークのリンクに関する低い帯域幅使用量、CD1とCD2との間のトラフィックが1又は複数のブロック周期について失われたときでさえも測定を提供する可能性、を有している。
【0111】
上述のように、第1の通信デバイスCD1及び第2の通信デバイスCD2の双方は、現在のブロック周期を送信タイマ及び受信タイマのそれぞれが示す現在時刻に基づき求めることが可能である。特に、現在時刻はマーク付けタイミング・テーブルMTTの内容と比較される。
【0112】
本発明の有利な変形例に従うと、第1の通信デバイスCD1及び第2の通信デバイスCD2の双方は、送信タイマ及び受信タイマがそれぞれ示す現在時刻t*及びt**を、マーク付けタイミング・テーブルMTTを使用することなく単純に処理することによって、現在のブロック周期(並びに、従って、管理サーバMSに送られるカウンタ及び可能であればタイムスタンプ)を求めることが可能である。
【0113】
これら他の実施形態に従うと、通信デバイスCD1及びCD2は、ブロック周期の持続時間Tbを知っており、各マーク付け周期Tmの第1のブロック周期T1に関連したマーク付けを知っている。以後、このマーク付けは1と仮定する。
【0114】
ブロック周期Tbが奇数分(例えば、5分)に等しいと仮定すると、分で表された奇数のブロック周期T1,T3,…,Tn−1の開始時刻は0又は偶数(10、20等)となり、一方、分で表された偶数のブロック周期T2,T4,…,Tnの開始時刻は奇数(5、15等)となる。
【0115】
そのため、ステップ404で、第1の通信デバイスCD1は、送信タイマが示す(分で表された)現在時刻t*(上述したように、k*Tbに等しく、kは0,1,2,…,n−1である)が奇数であるか偶数であるかをチェックする。分で表された現在時刻t*が偶数である場合、第1の通信デバイスCD1は奇数のブロック周期T1,T3,…,Tn−1が開始していると判定し、次に、管理サーバMSにカウンタC0の現在値と、可能であれば送信タイムスタンプS0の現在値とを送る(ステップ409)。そうではなく、分で表された現在時刻t*が奇数である場合、第1の通信デバイスCD1は偶数のブロック周期T2,T4,…,Tnが開始していると判定し、次に、管理サーバMSにカウンタC1の現在値と、可能であれば送信タイムスタンプS1の現在値とを送る(ステップ409’)。
【0116】
同じように、ステップ607で、第2の通信デバイスCD2は、受信タイマが示す(分で表された)現在時刻t**(上述したように、k*Tbに等しく、kは0,1,2,…,n−1である)が奇数であるか偶数であるかをチェックする。分で表された現在時刻t**が偶数である場合、第2の通信デバイスCD2は奇数のブロック周期T1,T3,…,Tn−1が開始していると判定し、次に、管理サーバMSにカウンタC’0の現在値と、可能であれば受信タイムスタンプR0の現在値とを送る(ステップ608)。そうではなく、分で表された現在時刻t**が奇数である場合、第2の通信デバイスCD2は偶数のブロック周期T2,T4,…,Tnが開始していると判定し、次に、管理サーバMSにカウンタC’1の現在値と、可能であれば受信タイムスタンプR1の現在値とを送る(ステップ608’)。
【0117】
次に、ブロック周期Tbが偶数分(例えば、10分)に等しいと仮定すると、奇数のブロック周期T1,T3,…,Tn−1の分で表現された開始時刻は0又は2Tbの整数倍(20、40等)であり、一方、偶数のブロック周期T2,T4,…,Tnの分で表された開始時刻は2Tbの整数倍でない(10、30等)。
【0118】
そのため、ステップ404で、第1の通信デバイスCD1は、送信タイマが示す(分で表された)現在時刻t*(上述したように、k*Tbに等しく、kは0,1,2,…,n−1である)が2Tbの整数倍であるかをチェックする。肯定的である場合、第1の通信デバイスCD1は奇数のブロック周期T1,T3,…,Tn−1が開始していると判定し、次に、管理サーバMSにカウンタC0の現在値と、可能であれば送信タイムスタンプS0の現在値とを送る(ステップ409)。否定的である場合、第1の通信デバイスCD1は偶数のブロック周期T2,T4,…,Tnが開始していると判定し、次に、管理サーバMSにカウンタC1の現在値と、可能であれば送信タイムスタンプS1の現在値とを送る(ステップ409’)。
【0119】
同様に、ステップ607で、第2の通信デバイスCD2は、受信タイマが示す(分で表された)現在時刻t**(上述したように、k*Tbに等しく、kは0,1,2,…,n−1である)が2Tbの整数倍であるかをチェックする。肯定的である場合、第2の通信デバイスCD2は奇数のブロック周期T1,T3,…,Tn−1が開始していると判定し、次に、管理サーバMSにカウンタC’0の現在値と、可能であれば受信タイムスタンプR0の現在値とを送る(ステップ608)。否定的である場合、第2の通信デバイスCD2は偶数のブロック周期T2,T4,…,Tnが開始していると判定し、次に、管理サーバMSにカウンタC’1の現在値と、可能であれば受信タイムスタンプR1の現在値とを送る(ステップ608’)。
【0120】
従って、このような実施形態に従うと、第1及び第2の通信デバイスCD1及びCD2は、現在のブロック周期(並びに、従って、管理サーバMSに送られるカウンタ及び可能であればタイムスタンプ)を、マーク付けタイミング・テーブルMTTと協働する必要なく求めることが可能である。
【0121】
図面に示された実施形態に従い、2つの物理的に隣接するノード(即ち、送信ノードN1及び受信ノードN2)間のパケット・フローPFのデータ・ロスの測定をすること(及び可能であれば時間測定もすること)に対してのみ、本発明を詳細に説明してきたが、本発明は、2つの物理的に隣接していないノード間のパケット・フローを測定するために使用することが可能である。特に、本発明は、所与の起点ノードから所与の宛先ノードへ送信されるエンドツーエンド・パケット・フローに関してデータ・ロスを測定するために使用することが可能である。このケースでは、起点ノードは、好ましくは、そのエンドツーエンド・パケット・フローに属するパケットを(例えばそれらの起点アドレス及び宛先アドレスを用いることにより)識別し、識別されたパケットにのみマーク付けをする。一方、宛先ノードも、そのエンドツーエンド・パケット・フローに属するパケットを識別し、識別されたパケットのみのマーク付けを読む。
【0122】
上記方法は、ポイントツーポイント送信、及び、ポイントツーマルチポイント、又はマルチキャスト、送信の双方のケースで適用できる。後者のケースでは、ポイントツーマルチポイント送信の宛先ノードごとに別々のデータ・ロス測定を行うことが可能である。
【0123】
更なる実施形態に従うと、上記方法は、エンドツーエンドのデータ・ロス及び同様に各中間ホップにおけるデータ・ロストの量を測定するためにエンドツーエンド・パケット・フローに対して適用される。この目的のため、各中間ノードは、好ましくは、
図6a−6b又は9a―9bのアルゴリズムを上流ノードから受信したパケットに適用するよう構成された通信デバイスと、
図4又は8のアルゴリズムを同じパケットにそれらを下流ノードに転送する前に適用するよう構成された更なる通信デバイスとを含んでいる。このやり方において、各中間ノードは、管理サーバMSに、1又は0によりマーク付けされた着信(incoming)パケットに関する第1の対のカウンタ(及び、可能であれば第1の対のタイムスタンプ)と、1又は0によりマーク付けされた発信(outgoing)パケットに関する第2の対のカウンタ(及び、可能であれば第2の対のタイムスタンプ)とを提供する。管理サーバMSは、好ましくは、様々なノードが各ブロック周期に受信したカウンタ及びタイムスタンプを処理して、エンドツーエンド測定、リンク測定(即ち、2つの物理的に隣接するノードの間の送信に関係した測定)及びノード間測定(即ち、各ノードをまたがるパケットの遷移に関係した測定)を得る。
【0124】
図示していない更なる実施形態に従うと、ビットbiに加えて、各パケットPKIの少なくとも別のビットを、パケットPkiのマーク付けのために予約することができる。例えば、各パケットPkiのヘッダ内の更なるビットを、以下のようにパケットPkiをマーク付けするために使用することができる:この更なるビットを0にセットすると、このパケットPkiが現在測定中でないパケット・フローに属することを示し、一方、この更なるビットが1に等しいときには、パケットPkiが現在測定中のパケット・フローに属することを示す。有利なことに、このことは、測定されるパケット・フローを測定されない他のパケット・フローから、パケット・ヘッダの何らかの他の情報(例えば、上述した起点ノードのアドレス又は宛先ノードのアドレス)を読む必要なく区別することを可能にする。図示されていない更に別の実施形態に従うと、各パケットPkiのヘッダの複数のビットをパケットをマーク付けするために用いて、測定される様々なパケット・フローを示すようにすることができる。例えば、ヘッダの2ビットは3つの異なるパケット・フローを識別し、一方、3ビットは7つの異なるパケット・フローを識別することを可能にするであろう。
【0125】
ビットbi(及び測定されるパケット・フローを識別するための可能な更なるビット)を、送信されるパケットのヘッダに、そのパケットがフォーマットされるプロトコルを適当に修正することによって提供することができる。例えば、パケットPkiがMPLS(マルチ・プロトコル・ラベル・スイッチング)に従いフォーマットされている場合、MPLSヘッダのラベル・フィールドはビットbiを含むことができ、また、測定される様々なパケット・フローを識別するために用いることができる。この状況において、パケット・ヘッダのラベル・フィールドは、パケットPkiを第1の通信デバイスCD1から第2の通信デバイスCD2へ、(あるブロック周期Tbについては)第1のトンネルT1を介して、(あるブロック周期Tbについては)第2のトンネルT2を介して、交互に送信するために使用することができる。従って、第1のパケット・フローPF1は第1のトンネルT1を介して送信され、第2のパケット・フローPF2は第2のトンネルT2を介して送信される。CD1とCD2との間のリンク上のデータ・ロスを測定するために、データ・ロスは第1のトンネルT1と第2のトンネルT2とに関して別々に測定される。特に、各トンネルに入出するパケットの数が、実質的に、ブロック周期Tbと等しい同じ測定周期で、上述した手順に従い測定される。第1の通信デバイスCD1から第2の通信デバイスCD2に複数のパケット・フローが送信されなければならない場合、各パケット・フローにはトンネルのそれぞれのペアが割り当てられる。パケット・フローごとに、データ・ロスの測定は上述したように実行される。
【0126】
図示されていない代替実施形態に従うと、第1の通信デバイスCD1は、パケットをそれらの送信時にマーク付けし、適切にカウンタC1及びC0を増加させるのみであり、第2の通信デバイスCD2は、受信したパケットのマーク付けを読み、適切にカウンタC’1及びC’0を増加させるのみであり、一方、管理サーバMSは、通信デバイスCD1及びCD2から各ブロック周期においてどのカウンタを集めるのかを決定する責任を有する。この目的のため、管理サーバMSには、好ましくは、少なくとも第1の通信デバイスCD1の送信タイマに同期したタイマが設けられる。このことは、管理サーバMSが、現在のブロック周期と、第1の通信デバイスCD1によって現在適用されているマーク付けを判定することを可能とする。この判定に基づき、管理サーバMSは、通信デバイスCD1及びCD2に現在増加中でないカウンタの値を要求することができる。