(58)【調査した分野】(Int.Cl.,DB名)
第1の装置と第2の装置との間で往復する往復メッセージを繰り返し送受信して、前記往復メッセージにおける第1の装置と第2の装置とのそれぞれの送信時刻及び受信時刻を測定する送受信ステップと、
前記第1の装置から送信される2つの送信メッセージの間におけるそれぞれの前記送信時刻の時間差と、前記第2の装置で受信される2つの前記送信メッセージの間におけるそれぞれの前記受信時刻の時間差とに基づいて、前記第1の装置と前記第2の装置との間の単位時間当たりのクロック誤差を算出する誤差算出ステップと、
前記送信時刻及び前記受信時刻に基づいて、前記往復メッセージにおける往復の伝送遅延値である往復伝送遅延値の最小値を抽出し、抽出した当該最小値に基づいて、前記第1の装置と前記第2の装置との基準時刻における時間差を示す装置間時間差を算出する時間差算出ステップと、
少なくとも単位時間当たりの前記クロック誤差と、前記装置間時間差とに基づいて、前記往復メッセージの前記第2の装置における前記送信時刻及び前記受信時刻を補正する補正ステップと、
定期的に前記往復メッセージを監視して、当該往復メッセージが前記クロック誤差、又は前記装置間時間差を更新する所定の条件を満たす場合に、前記クロック誤差、又は前記装置間時間差を更新する更新ステップと
を含み、
前記所定の条件を満たす場合とは、往路パケット同士のTTL(Time To Live)が等しいとともに、復路パケット同士のTTLが等しい往復メッセージであるという第1条件、及び、前記往復伝送遅延値が等しい又は近い往復メッセージであるという第2条件を満たす2つの前記往復メッセージが得られた場合である
ことを特徴とする遅延測定方法。
第1の装置と第2の装置との間で往復する往復メッセージを繰り返し送受信して、前記往復メッセージにおける第1の装置と第2の装置とのそれぞれの送信時刻及び受信時刻を測定する送受信ステップと、
前記第1の装置から送信される2つの送信メッセージの間におけるそれぞれの前記送信時刻の時間差と、前記第2の装置で受信される2つの前記送信メッセージの間におけるそれぞれの前記受信時刻の時間差とに基づいて算出された、前記第1の装置と前記第2の装置との間の単位時間当たりのクロック誤差を取得する誤差取得ステップと、
前記送信時刻及び前記受信時刻に基づいて、前記往復メッセージにおける往復の伝送遅延値である往復伝送遅延値の最小値を抽出し、抽出した当該最小値に基づいて、前記第1の装置と前記第2の装置との基準時刻における時間差を示す装置間時間差を算出する時間差算出ステップと、
単位時間当たりの前記クロック誤差と、前記装置間時間差とに基づいて、前記往復メッセージの前記第2の装置における前記送信時刻及び前記受信時刻を補正する補正ステップと、
前記補正ステップによって補正された前記第2の装置における前記送信時刻及び前記受信時刻に基づいて、前記第1の装置と前記第2の装置との間の伝送遅延を推定する推定ステップと、
定期的に前記往復メッセージを監視して、当該往復メッセージが前記クロック誤差、又は前記装置間時間差を更新する所定の条件を満たす場合に、前記クロック誤差、又は前記装置間時間差を更新する更新ステップと
を含み、
前記所定の条件を満たす場合とは、往路パケット同士のTTL(Time To Live)が等しいとともに、復路パケット同士のTTLが等しい往復メッセージであるという第1条件、及び、前記往復伝送遅延値が等しい又は近い往復メッセージであるという第2条件を満たす2つの前記往復メッセージが得られた場合である
ことを特徴とする遅延測定方法。
第1の装置と第2の装置との間で往復する往復メッセージを繰り返し送受信して、前記往復メッセージにおける第1の装置と第2の装置とのそれぞれの送信時刻及び受信時刻を測定する送受信ステップと、
前記第1の装置から送信される2つの送信メッセージの間におけるそれぞれの前記送信時刻の時間差と、前記第2の装置で受信される2つの前記送信メッセージの間におけるそれぞれの前記受信時刻の時間差とに基づいて、前記第1の装置と前記第2の装置との間の単位時間当たりのクロック誤差を算出する誤差算出ステップと、
前記送信時刻及び前記受信時刻に基づいて、前記往復メッセージにおける往復の伝送遅延値である往復伝送遅延値の最小値を抽出し、抽出した当該最小値に基づいて、前記第1の装置と前記第2の装置との基準時刻における時間差を示す装置間時間差を算出する時間差算出ステップと、
定期的に前記往復メッセージを監視して、当該往復メッセージが前記クロック誤差、又は前記装置間時間差を更新する所定の条件を満たす場合に、前記クロック誤差、又は前記装置間時間差を更新する更新ステップと
を含み、
前記所定の条件を満たす場合とは、往路パケット同士のTTL(Time To Live)が等しいとともに、復路パケット同士のTTLが等しい往復メッセージであるという第1条件、及び、前記往復伝送遅延値が等しい又は近い往復メッセージであるという第2条件を満たす2つの前記往復メッセージが得られた場合である
ことを特徴とする遅延測定方法。
第1の装置と第2の装置との間で往復する往復メッセージを繰り返し送受信させ、前記往復メッセージにおける第1の装置と第2の装置とのそれぞれの送信時刻及び受信時刻を取得する取得部と、
前記第1の装置から送信される2つの送信メッセージの間におけるそれぞれの前記送信時刻の時間差と、前記第2の装置で受信される2つの前記送信メッセージの間におけるそれぞれの前記受信時刻の時間差とに基づいて、前記第1の装置と前記第2の装置との間の単位時間当たりのクロック誤差を算出する誤差算出部と、
前記送信時刻及び前記受信時刻に基づいて、前記往復メッセージにおける往復の伝送遅延値である往復伝送遅延値の最小値を抽出し、抽出した当該最小値に基づいて、前記第1の装置と前記第2の装置との基準時刻における時間差を示す装置間時間差を算出する時間差算出部と、
少なくとも単位時間当たりの前記クロック誤差と、前記装置間時間差とに基づいて、前記往復メッセージの前記第2の装置における前記送信時刻及び前記受信時刻を補正する補正部と、
定期的に前記往復メッセージを監視して、当該往復メッセージが前記クロック誤差、又は前記装置間時間差を更新する所定の条件を満たす場合に、前記クロック誤差、又は前記装置間時間差を更新する更新部と
を備え、
前記所定の条件を満たす場合とは、往路パケット同士のTTL(Time To Live)が等しいとともに、復路パケット同士のTTLが等しい往復メッセージであるという第1条件、及び、前記往復伝送遅延値が等しい又は近い往復メッセージであるという第2条件を満たす2つの前記往復メッセージが得られた場合である
ことを特徴とする遅延測定装置。
【発明を実施するための形態】
【0023】
以下、本発明の一実施形態による遅延想定方法、及び遅延測定システムについて、図面を参照して説明する。
[第1の実施形態]
図1は、本実施形態による遅延測定システム1及び遅延測定装置10の一例を示すブロック図である。
【0024】
この図に示すように、遅延測定システム1は、ネットワークNW1を介して接続されているNW(ネットワーク)装置100と、NW装置200とを備えている。ここで、NW装置100(第1の装置の一例)は、NW装置200との間におけるパケットの伝送遅延を測定する装置であり、例えば、パーソナルコンピュータなどのコンピュータ装置、PDA(Personal Digital Assistant)や携帯電話等の携帯端末など、ネットワークNW1に接続可能な装置である。
また、NW装置200(第2の装置の一例)は、NW装置100と同様にネットワークNW1に接続可能な装置であり、伝送遅延を測定する対象の装置である。
【0025】
また、NW装置100は、遅延測定装置10と、送受信部20と、入力部30とを備えている。
送受信部20は、ネットワークNW1を介してNW装置200と通信する。送受信部20は、後述する遅延測定装置10の時刻取得部51の制御に基づいて、NW装置100とNW装置200との間で往復する往復メッセージを繰り返し送受信して、往復メッセージにおけるNW装置100とNW装置200とのそれぞれの送信時刻及び受信時刻を測定する。ここで、往復メッセージは、例えば、EOAM−DM(Ethernet Operations Administration and Maintenance−Delay Measurement)やTWAMP(Two−Way Active Measurement Protocol)などの伝送遅延を測定するためのメッセージである。往復メッセージ(往復フレーム又は往復パケット)は、往路パケットと復路パケットとにより構成され、NW装置100が受信するメッセージには、
図2に示すように、NW装置100の送信時刻T1及び受信時刻T4と、NW装置200の受信時刻T2及び送信時刻T3とが含まれている。なお、NW装置100とNW装置200との間の通信において、往復メッセージの送受信の優先順位を他のメッセージの送受信より高く設定してもよい。
【0026】
図2は、本実施形態の往復メッセージにおける送信時刻及び受信時刻を説明する図である。
図2に示すように、時刻T1は、NW装置100の送受信部20が送信した往路パケットの送信時刻を示し、時刻T2は、NW装置100の送受信部20が送信した往路パケットのNW装置200における受信時刻を示している。ここで、往路の伝送遅延値である往路伝送遅延値d1は、(T2−T1)となるが、NW装置100が備える時計とNW装置200が備える時計とが同一の時刻ではないために、往路伝送遅延値d1は、正確な往路の伝送遅延ではない。
【0027】
また、時刻T3は、NW装置200が送信した復路パケットの送信時刻を示し、時刻T4は、NW装置100の送受信部20が受信した復路パケットの受信時刻を示している。ここで、復路の伝送遅延値である復路伝送遅延値d2は、(T4−T3)となるが、NW装置100が備える時計とNW装置200が備える時計とが同一の時刻を示さないために、復路伝送遅延値d2は、正確な往路の伝送遅延ではない。
なお、時刻T2から時刻T3までの期間は、NW装置200の内部処理によって生じた遅延を示している。
本実施形態による遅延測定方法及び遅延測定装置10は、受信時刻T2及び送信時刻T3を補正して、往路の伝送遅延値及び復路の伝送遅延値を正確に測定(推定)するものである。
【0028】
図1の説明に戻り、送受信部20は、通信部21と、タイムスタンプ付与部22とを備えている。
通信部21は、例えば、インターネットプロトコルによりデータ通信を行う。
タイムスタンプ付与部22は、伝送遅延を測定するための上述した往復メッセージに時刻情報(例えば、送信時刻T1及び受信時刻T4)を付与するとともに、往復メッセージに含まれる時刻情報(例えば、受信時刻T2及び送信時刻T3)を取得する。タイムスタンプ付与部22は、NW装置100の送信時刻T1及び受信時刻T4と、NW装置200の受信時刻T2及び送信時刻T3とを遅延測定装置10に出力する。
【0029】
入力部30は、例えば、キーボードやマウスなどの入力装置であり、ユーザからの各種入力を受け付けて、制御部50に出力する。入力部30は、例えば、後述する最小往復伝送遅延値を抽出する方法の指定を受け付ける。
【0030】
遅延測定装置10は、例えば、NW装置100とNW装置200との間の伝送遅延を測定するための装置であり、記憶部40と、制御部50とを備えている。
記憶部40は、NW装置100とNW装置200との間の伝送遅延を測定する際に利用される各種情報を記憶する。記憶部40は、時刻情報記憶部41と、補正情報記憶部42と、遅延情報記憶部43とを備えている。
【0031】
時刻情報記憶部41は、NW装置200との間における往復メッセージの送受信により、送受信部20を介して取得(測定)した送信時刻(T1、T3)及び受信時刻(T2、T4)などを示す情報を記憶する。時刻情報記憶部41は、例えば、
図3に示すように、往復メッセージの識別情報と、送信時刻(T1、T3)及び受信時刻(T2、T4)とを関連付けて記憶する。なお、時刻情報記憶部41は、例えば、
図3に示すように、補正前の往路の伝送遅延値を示す往路伝送遅延値d1と、補正前の復路の伝送遅延値を示す復路伝送遅延値d2と、補正前の往復の伝送遅延値を示す往復伝送遅延値(RDT)とを、さらに往復メッセージの識別情報と関連付けて記憶してもよい。
【0032】
図3は、本実施形態における時刻情報記憶部41のデータ例を示す図である。
この図に示す例では、時刻情報記憶部41は、「NO.」と、「往路パケット」の「送信時刻T1」及び「受信時刻T2」と、「復路パケット」の「送信時刻T3」及び「受信時刻T4」と、「往路伝送遅延値d1」と、「復路伝送遅延値d2」と、「往復伝送遅延値RDT」とを関連付けて記憶する。ここで、「NO.」は、往復メッセージの番号(識別情報の一例)を示している。
【0033】
再び
図1の説明に戻り、補正情報記憶部42は、後述する受信時刻T2及び送信時刻T3を補正する際に利用する情報を記憶する。補正情報記憶部42は、例えば、
図4に示すように、「基準時刻(T0)」と、「クロック誤差」と、「最小往復伝送遅延値」と、「装置間時間差(dt)」とを関連付けて記憶する。
図4は、本実施形態における補正情報記憶部42のデータ例を示す図である。
この図において、「基準時刻(T0)」は、後述するクロック誤差(クロックによる変動成分)を補正する際に、基準となる時刻を示し、「クロック誤差」は、後述するNW装置100から見たNW装置200の時間経過の傾き(CLKslope)の値を示している。また、「最小往復伝送遅延値」は、後述する往復伝送遅延値の最小値を示し、「装置間時間差(dt)」は、受信時刻T2及び送信時刻T3の固定成分(オフセット成分)を補正するための装置間の時間差を示している。
【0034】
再び
図1の説明に戻り、遅延情報記憶部43は、遅延測定装置10が測定した伝送遅延(例えば、片方向遅延)の結果を記憶する。遅延情報記憶部43が記憶する伝送遅延の結果は、ユーザから入力部30を介して受け付けた読み出し指示や各種アプリケーションにより読み出され、例えば、ユーザに提示(表示)するなどの処理に利用される。
【0035】
制御部50は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、NW装置100(遅延測定装置10)を統括的に制御する。制御部50は、時刻取得部51と、クロック誤差算出部52と、時間差算出部53と、時刻補正部54と、遅延算出部55とを備えている。
【0036】
時刻取得部51(取得部の一例)は、往復メッセージを繰り返し送受信させ、往復メッセージにおけるNW装置100とNW装置200とのそれぞれの送信時刻(T1、T3)及び受信時刻(T2、T4)を取得する。時刻取得部51は、取得した送信時刻(T1、T3)及び受信時刻(T2、T4)を、
図3に示すように、往復メッセージの識別情報と関連付けて、時刻情報記憶部41に記憶させる。また、時刻取得部51は、取得した送信時刻(T1、T3)及び受信時刻(T2、T4)に基づいて、往路伝送遅延値d1と、復路伝送遅延値d2と、往復伝送遅延値RDTとを算出する。時刻取得部51は、
図3に示すように、往復メッセージの識別情報と、算出した往路伝送遅延値d1と、復路伝送遅延値d2と、往復伝送遅延値RDTとを関連付けて時刻情報記憶部41に記憶させる。
【0037】
クロック誤差算出部52(誤差算出部の一例)は、NW装置100から送信される2つの送信メッセージにおける送信時刻T1の時間差と、NW装置200で受信される2つの送信メッセージにおける受信時刻T2の時間差とに基づいて、NW装置100とNW装置200との間の単位時間当たりのクロック誤差(CLKslope)を算出する。なお、以下の説明において、単位時間当たりのクロック誤差(CLKslope)を単にクロック誤差(CLKslope)と表記することがある。クロック誤差算出部52は、例えば、時刻取得部51に送受信部20を介して往復メッセージを複数回(N回)送受信させ、複数(N個)の往復メッセージにおける送信時刻(T1、T3)及び受信時刻(T2、T4)を取得させる。クロック誤差算出部52は、時刻情報記憶部41が記憶するN個の往復メッセージの中から、往復伝送遅延値RDTの差が所定の範囲内である少なくとも2つの往復メッセージを選択する処理(第1の処理)を実行する。クロック誤差算出部52は、例えば、N個の往復メッセージのうちから、往復伝送遅延値RDTの差が最小となる少なくとも2つの往復メッセージを選択する。
【0038】
また、クロック誤差算出部52は、選択された少なくとも2つの往復メッセージのうちの2つの送信メッセージにおける送信時刻T1の時間差及び受信時刻T2の時間差に基づいて、クロック誤差(CLKslope)を算出する処理(第2の処理)を実行する。クロック誤差算出部52は、例えば、上述の第1の処理によって選択された往復メッセージが3つ以上である場合に、送信時刻の時間差が最大になる2つの送信メッセージにおける送信時刻の時間差及び受信時刻の時間差に基づいて、クロック誤差(CLKslope)を算出する。ここで、クロック誤差とは、NW装置100から見たNW装置200の時間経過の傾き(CLKslope)である。クロック誤差算出部52は、算出したクロック誤差(CLKslope)を補正情報記憶部42に記憶させる。また、クロック誤差算出部52は、クロック誤差(CLKslope)を算出する際に用いた送信時刻T1を仮の基準時刻T0として補正情報記憶部42に記憶させる。
なお、クロック誤差(CLKslope)を算出する処理の詳細については、後述する。
【0039】
時間差算出部53は、送信時刻及び受信時刻に基づいて、往復メッセージにおける往復の伝送遅延値である往復伝送遅延値の最小値を抽出し、抽出した当該最小値に基づいて、NW装置100とNW装置200との基準時刻における時間差を示す装置間時間差を算出する。時間差算出部53は、例えば、時刻取得部51に送受信部20を介して往復メッセージを複数回送受信させ、複数の往復メッセージにおける送信時刻(T1、T3)及び受信時刻(T2、T4)を取得させる。時間差算出部53は、例えば、時刻情報記憶部41が記憶する送信時刻(T1、T3)及び受信時刻(T2、T4)に基づいて、往復伝送遅延値の最小値である最小往復伝送遅延値(RDTmin)を抽出(算出)し、この最小往復伝送遅延値(RDTmin)に基づいて、装置間時間差(dt)を算出する。また、時間差算出部53は、最小往復遅延抽出部531と、装置間時間差算出部532とを備えている。
【0040】
最小往復遅延抽出部531は、時刻情報記憶部41が記憶する送信時刻(T1、T3)及び受信時刻(T2、T4)に基づいて、往復遅延法と、片方向遅延法との2つに方式により、最小往復伝送遅延値(RDTmin)を抽出する。ここで、往復遅延法とは、複数の往復メッセージのうち、1つの往復メッセージにおける往復伝送遅延値RDTが最小となる往復メッセージに対応する往復伝送遅延値RDTを、最小往復伝送遅延値(RDTmin)として抽出する方法である。また、片方向遅延法とは、複数の往路伝送遅延値d1のうちの最小となる往路伝送遅延値(d1min)と、複数の復路伝送遅延値d2のうちの最小となる復路伝送遅延値(d2min)との加算値を最小往復伝送遅延値(RDTmin)として抽出する方法である。なお、片方向遅延法では、後述する時刻補正部54によって、クロック誤差(CLKslope)に基づいて補正された受信時刻T2及び送信時刻T3を用いて、最小往復伝送遅延値(RDTmin)を抽出する。
【0041】
最小往復遅延抽出部531は、例えば、ユーザから入力部30を介して受け付けた最小往復伝送遅延値の抽出方法を指定する指定情報に基づいて、上述した2つに方式のうちの一方により、最小往復伝送遅延値(RDTmin)を抽出する。最小往復遅延抽出部531は、抽出した最小往復伝送遅延値(RDTmin)を補正情報記憶部42に記憶させる。
なお、上述した往復遅延法と、片方向遅延法との2つに方式の詳細については、後述する。
【0042】
装置間時間差算出部532は、最小往復遅延抽出部531が抽出した最小往復伝送遅延値(RDTmin)に基づいて、装置間時間差(dt)を算出する。装置間時間差算出部532は、算出した装置間時間差(dt)を補正情報記憶部42に記憶させる。
なお、装置間時間差(dt)の算出の詳細については、後述する。
【0043】
時刻補正部54(補正部の一例)は、少なくともクロック誤差(CLKslope)に基づいて、往復メッセージの送信時刻T3及び受信時刻T2を補正する。時刻補正部54(補正部)は、上述した片方向遅延法を実行する際には、補正情報記憶部42が記憶する基準時刻(T0)と、クロック誤差(CLKslope)とに基づいて、受信時刻T2及び送信時刻T3を補正する。また、時刻補正部54は、後述する遅延算出部55により伝送遅延を算出する際には、補正情報記憶部42が記憶する基準時刻(T0)と、クロック誤差と、装置間時間差(dt)とに基づいて、受信時刻T2及び送信時刻T3を補正する。
なお、時刻補正部54による時刻補正の詳細については、後述する。
【0044】
遅延算出部55(推定部の一例)は、時刻補正部54によって補正された送信時刻T3及び受信時刻T2に基づいて、NW装置100とNW装置200との間の伝送遅延(例えば、片方向遅延値)を算出(推定)する。遅延算出部55は、例えば、時刻取得部51に送受信部20を介して往復メッセージを送受信させ、往復メッセージにおける送信時刻(T1、T3)及び受信時刻(T2、T4)を取得させる。遅延算出部55は、時刻取得部51が取得した送信時刻(T1、T3)及び受信時刻(T2、T4)を、時刻情報記憶部41から取得する。また、遅延算出部55は、送信時刻T3及び受信時刻T2を時刻補正部54に補正させて、補正された送信時刻T3及び受信時刻T2と、時刻情報記憶部41から取得した送信時刻T1及び受信時刻T4とに基づいて、往路の片方向遅延値及び復路の片方向遅延値とを算出する。遅延算出部55は、算出した片方向遅延値及び復路の片方向遅延値を遅延情報記憶部43に記憶させる。
【0045】
<受信時刻T2及び送信時刻T3の補正処理の動作原理>
次に、本実施形態による遅延測定装置10による受信時刻T2及び送信時刻T3の補正処理の動作原理について説明する。
図5は、本実施形態における装置間の時間差を説明する図である。
この図において、グラフは、基準時刻T0からの経過時間と、装置間の時間差であるNW装置100とNW装置200との間の時間差との関係を示している。このグラフにおいて、縦軸は、装置間の時間差を示し、横軸は、基準時刻T0からの経過時間を示している。また、波形W1は、装置間の時間差の経過時間に対する変化を示している。
【0046】
この図に示すように、NW装置100とNW装置200との間の時間差には、基準時刻T0における時間差(dt)である固定成分(オフセット分)と、時間の経過に伴い増加する時間差(dclk)であるクロックによる変動成分とが含まれる。クロックによる変動成分は、時刻を計時するクロックの精度が、NW装置100とNW装置200と間で異なることから生じる誤差である。ある時刻の装置間の時間差は、下記の式(1)として表される。
【0047】
(ある時刻の装置間の時間差)=(クロック誤差による時間差)
+(基準時刻T0における時間差) ・・・ (1)
【0048】
また、
図6は、本実施形態におけるクロック誤差を説明する図である。
図6(a)は、正しい経過時間と、装置の経過時間との関係の一例を示している。このグラフにおいて、縦軸は、装置の経過時間を示し、横軸は、正しい経過時間を示している。また、波形W2は、NW装置100の経過時間を示し、波形W3は、NW装置200の経過時間を示している。なお、波形W4は、クロックの精度が規格値である場合の理想の経過時間を示しており、傾きが“1”となる。これに対して、
図6(a)に示す例では、NW装置100は、クロックが規格値(理想値)よりも遅いために、波形W2に示すように、正しい経過時間よりも遅く時間が進むことを示している。また、NW装置200は、クロックが規格値(理想値)よりも速いために、波形W3に示すように、正しい経過時間よりも速く時間が進むことを示している。
【0049】
本実施形態では、NW装置100とNW装置200との経過時間を補正するために、
図6(b)に示すように、NW装置100の経過時間に対するNW装置200の経過時間の関係を利用する。
図6(b)は、NW装置100の経過時間と、NW装置200の経過時間との関係の一例を示している。このグラフにおいて、縦軸は、NW装置200の経過時間を示し、横軸は、NW装置100の経過時間を示している。また、波形W5は、NW装置200の経過時間がNW装置100の経過時間よりも速い場合を示しており、この場合、傾き(CLKslope)は、“1”より大きい値となる(CLKslope>1)。また、波形W6は、NW装置200の経過時間がNW装置100の経過時間よりも遅い場合を示しており、この場合、傾き(CLKslope)は、“1”より小さい値となる(CLKslope<1)。なお、波形W7は、NW装置200の経過時間とNW装置100の経過時間とが一致している場合を示しており、傾き(CLKslope)が“1”となる(CLKslope=1)。
本実施形態では、時刻補正部54は、NW装置100の経過時間を基準にしたNW装置200の経過時間の傾き(CLKslope)を利用して、上述した
図5のクロックによる変動成分(dclk)を含めて、受信時刻T2及び送信時刻T3を補正する。
【0050】
<クロック誤差の算出処理>
次に、
図7を参照して、本実施形態におけるクロック誤差の算出処理の詳細について説明する。
図7は、本実施形態におけるクロック誤差の算出処理の一例を示す図である。
この図に示す例では、送受信部20を介して時刻取得部51が取得したN個の往復メッセージにおける送信時刻(T1、T3)及び受信時刻(T2、T4)の一例を示している。クロック誤差算出部52は、例えば、N個の往復メッセージのうちから次の2つの条件に合う少なくとも2つ以上の往復メッセージを抽出する。
【0051】
(条件1)往路パケット同士のTTL(Time To Live)が等しいとともに、復路パケット同士のTTLが等しい往復メッセージである。
これは、各TTLが等しい場合には、2つの往復メッセージが往路及び復路においてそれぞれ等しい経路を通って伝送された可能性が高いためである。2つの往復メッセージにおいて、経路が異なる場合、経路の違いによる誤差が生じてしまうためである。なお、この場合、1つの往復メッセージにおける往路パケットのTTLと復路パケットのTTLとが等しくてもよいし、異なっていてもよい。
【0052】
(条件2)往復伝送遅延値RDTが等しい(又は近い)往復メッセージである。
すなわち、クロック誤差算出部52は、往復メッセージにおける往復の伝送遅延値の差が所定の範囲内である少なくとも2つの往復メッセージを選択する。
ここで、往復伝送遅延値RDTが等しい(又は近い)ということは、2つの往復メッセージにおける往路伝送遅延値と、復路伝送遅延値とか極めて近いことを示している。なお、厳密には、往路が増加した分、復路が減少したケース(または逆)もあり得るが、経路が同じで逆方向の遅延が打ち消す方向に同じ遅延量になることは稀である。そのため、ここでの往路、復路の伝送遅延値の変化は、クロック誤差による、装置間のズレの変化と考えることができる。
【0053】
クロック誤差算出部52は、例えば、
図7に示すように、N個の往復メッセージのうちから、往復の伝送遅延値の差が最小となる少なくとも2つの往復メッセージ(「測定1」と「測定N」)を選択する。クロック誤差算出部52は、この2つの往復メッセージを用いて、下記の式(2)により単位時間当たりのクロック誤差であるNW装置100の経過時間を基準にしたNW装置200の経過時間の傾き(CLKslope)を算出する。また、クロック誤差算出部52は、下記の式(3)に示すように、仮の基準時刻T0を設定する。
【0054】
CLKslope=(T2
N−T2
1)/(T1
N−T1
1) ・・・ (2)
T0=T1
1 ・・・ (3)
【0055】
ここで、送信時刻T1
1は、「測定1」の往復メッセージにおけるNW装置100の送信時刻T1を示し、送信時刻T1
Nは、「測定N」の往復メッセージにおけるNW装置100の送信時刻T1を示している。また、受信時刻T2
1は、「測定1」の往復メッセージにおけるNW装置200の受信時刻T2を示し、受信時刻T2
Nは、「測定N」の往復メッセージにおけるNW装置200の受信時刻T2を示している。
このように、クロック誤差算出部52は、NW装置100から送信される2つの送信メッセージにおける送信時刻の時間差(T1
N−T1
1)と、NW装置200で受信される2つの送信メッセージにおける受信時刻の時間差(T2
N−T2
1)とに基づいて、単位時間当たりのクロック誤差(CLKslope)を算出する。
【0056】
なお、クロック誤差算出部52は、選択された往復メッセージが3つ以上である場合に、送信時刻の時間差が最大になる2つの送信メッセージにおける送信時刻の時間差及び受信時刻の時間差に基づいて、クロック誤差を算出する。また、クロック誤差算出部52は、選択された往復メッセージが3つ以上である場合に、3つ以上の送信メッセージに基づいて複数のクロック誤差(CLKslope)を算出し、算出した複数のクロック誤差(CLKslope)の平均値である平均クロック誤差を上述した単位時間当たりのクロック誤差(CLKslope)の代わりに算出してもよい。
【0057】
<往復遅延法による最小往復伝送遅延値の抽出処理>
次に、
図8を参照して、本実施形態における往復遅延法による往復伝送遅延値RDTの最小値を抽出する処理の詳細について説明する。
図8は、本実施形態における往復遅延法による往復伝送遅延値RDTの最小値を抽出する一例を示す図である。
この図に示す例では、送受信部20を介して時刻取得部51が取得したN個の往復メッセージにおける送信時刻(T1、T3)、受信時刻(T2、T4)、往路伝送遅延値d1、及び復路伝送遅延値d2の一例を示している。時間差算出部53の最小往復遅延抽出部531は、往復遅延法において、下記の式(4)により、往復伝送遅延値RDTを算出する。
【0059】
最小往復遅延抽出部531は、「測定1」〜「測定N」のうちで、往復伝送遅延値RDTが最小の往復伝送遅延値を最小往復伝送遅延値(RDTmin)として抽出する。
図8に示す例では、「測定3」の往復伝送遅延値RDTが最小値であり、最小往復遅延抽出部531は、この「測定3」の往復伝送遅延値RDTを最小往復伝送遅延値(RDTmin)として抽出する。
なお、最小往復遅延抽出部531は、時刻情報記憶部41が記憶する各往復メッセージに対応する往復伝送遅延値RDTを取得して、最小往復伝送遅延値(RDTmin)を抽出してもよい。
【0060】
<片方向遅延法による最小往復伝送遅延値の抽出処理>
次に、
図9を参照して、本実施形態における片方向遅延法による往復伝送遅延値RDTの最小値を抽出する処理の詳細について説明する。
図9は、本実施形態における片方向遅延法による往復伝送遅延値RDTの最小値を抽出する一例を示す図である。
この図に示す例では、送受信部20を介して時刻取得部51が取得したN個の往復メッセージにおける送信時刻(T1、T3r)、受信時刻(T2r、T4)、往路伝送遅延値d1、及び復路伝送遅延値d2の一例を示している。なお、ここでの受信時刻T2r及び送信時刻T3rは、時刻補正部54によって、上述した単位時間当たりのクロック誤差(CLKslope)を利用した下記の式(5)及び式(6)により補正した時刻である。
【0061】
T2r=T2+(T1−T0)×CLKslope ・・・ (5)
T3r=T3+(T1−T0)×CLKslope ・・・ (6)
【0062】
ここで、変数T0は、基準時刻である。
時間差算出部53の最小往復遅延抽出部531は、片方向遅延法において、時刻補正部54に上記の式(5)及び式(6)により補正した受信時刻T2r及び送信時刻T3rを各往復メッセージに対して算出させる。そして、最小往復遅延抽出部531は、下記の式(7)及び式(8)により、往路伝送遅延値d1、及び復路伝送遅延値d2を各往復メッセージに対して算出する。
【0063】
d1=T2r−T1 ・・・ (7)
d2=T4−T3r ・・・ (8)
【0064】
最小往復遅延抽出部531は、「測定1」〜「測定N」のうちで、往路伝送遅延値d1が最小の往路伝送遅延値を最小往路伝送遅延値(d1min)として抽出する。
図9に示す例では、最小往復遅延抽出部531は、「測定3」の往路伝送遅延値d1を最小往路伝送遅延値(d1min)として抽出する。
また、最小往復遅延抽出部531は、「測定1」〜「測定N」のうちで、復路伝送遅延値d2が最小の復路伝送遅延値を最小復路伝送遅延値(d2min)として抽出する。
図9に示す例では、最小往復遅延抽出部531は、「測定1」の復路伝送遅延値d2を最小復路伝送遅延値(d2min)として抽出する。
最小往復遅延抽出部531は、抽出した最小往路伝送遅延値(d1min)と、最小復路伝送遅延値(d2min)とに基づいて、下記の式(9)により、最小往復伝送遅延値(RDTmin)を算出する。
【0065】
RDTmin=d1min+d2min ・・・ (9)
【0066】
<装置間時間差の算出処理>
次に、
図10を参照して、最小往復伝送遅延値(RDTmin)から装置間時間差(dt)を算出する処理について説明する。
図10は、本実施形態における装置間時間差の算出処理の一例を示す図である。
この図では、受信時刻T2から送信時刻T3までのNW装置200の内部処理期間を除外して往復メッセージを表現しており、最小往復伝送遅延値(RDTmin)は、往路伝送遅延値d1と復路伝送遅延値d2との和として表される。
時間差算出部53の装置間時間差算出部532は、最小往復伝送遅延値(RDTmin)に基づいて、下記の式(10)により、往路伝送遅延値d1と復路伝送遅延値d2とが等しいと仮定した場合の仮定片方向遅延値dxを算出する。
【0067】
dx=RDTmin/2 ・・・ (10)
【0068】
また、装置間時間差算出部532は、算出した仮定片方向遅延値dxに基づいて、下記の式(11)により、装置間時間差(dt)を算出する。
【0069】
dt=(d1−dx)又は(dx−d2) ・・・ (11)
【0070】
なお、装置間時間差(dt)の算出に、最小往復伝送遅延値(RDTmin)を用いる理由は、伝送遅延による仮定片方向遅延値dxの計算誤差を小さくするためである。
装置間時間差算出部532は、算出した装置間時間差(dt)を補正情報記憶部42に記憶させる。なお、装置間時間差算出部532は、装置間時間差(dt)を算出する一連の処理で用いた送信時刻T1(例えば、
図8の「測定3」の送信時刻T1など)を基準時刻T0として再設定して、補正情報記憶部42に記憶させる。
【0071】
<時刻補正処理、及び片方向遅延の算出処理>
次に、時刻補正部54による時刻補正処理、及び遅延算出部55による片方向遅延の算出処理の詳細について説明する。
時刻補正部54は、補正情報記憶部42が記憶する基準時刻T0、クロック誤差(CLKslope)、及び装置間時間差(dt)に基づいて、下記の式(12)及び式(13)により、NW装置200の受信時刻T2及び送信時刻T3を補正する。
【0072】
T2s=T2+(T1−T0)×CLKslope+dt ・・・ (12)
T3s=T3+(T1−T0)×CLKslope+dt ・・・ (13)
【0073】
ここで、変数T2sは、補正した受信時刻T2を示し、変数T3sは、補正した送信時刻T3を示している。
次に、遅延算出部55は、時刻補正部54が補正した受信時刻T2s及び送信時刻T3sと、補正していないNW装置100の送信時刻T1及び受信時刻T4とに基づいて、下記の式(14)及び式(15)により、往路の片方向遅延値及び復路の片方向遅延値を算出する。
【0074】
(往路の片方向遅延値)=T2s−T1 ・・・ (14)
(復路の片方向遅延値)=T4−T3s ・・・ (15)
【0075】
次に、
図11〜
図13を参照して、本実施形態による遅延測定システム1の動作について説明する。
図11は、本実施形態の遅延測定システム1による遅延測定方法の一例を示すフローチャートである。
この図において、まず、遅延測定装置10は、クロック誤差の算出処理を実行する(ステップS101)。遅延測定装置10のクロック誤差算出部52は、上述したように、単位時間当たりのクロック誤差(CLKslope)を算出し、算出したクロック誤差(CLKslope)を補正情報記憶部42に記憶させる。なお、ステップS101の処理の詳細については、
図12を参照して後述する。
【0076】
次に、遅延測定装置10は、装置間時間差の算出処理を実行する(ステップS102)。遅延測定装置10の時間差算出部53は、上述したように、装置間時間差(dt)を算出し、算出した装置間時間差(dt)を補正情報記憶部42に記憶させる。なお、ステップS102の処理の詳細については、
図13を参照して後述する。
【0077】
次に、遅延測定装置10は、NW装置100とNW装置200との間の往復メッセージを送受信させる(ステップS103)。遅延測定装置10の送受信部20は、例えば、ネットワークNW1を介してNW装置200との間で往復メッセージを送受信する。
【0078】
次に、遅延測定装置10は、送信時刻と受信時刻とを取得する(ステップS104)。すなわち、遅延測定装置10の時刻取得部51が、往復メッセージにおける送信時刻(T1、T3)と受信時刻(T2、T4)とを取得し、時刻情報記憶部41に記憶させる。
【0079】
次に、遅延測定装置10は、送信時刻と受信時刻とを補正する(ステップS105)。すなわち、遅延測定装置10の時刻補正部54は、補正情報記憶部42が記憶するクロック誤差(CLKslope)、基準時刻T0、及び装置間時間差(dt)に基づいて、NW装置200の受信時刻T2及び送信時刻T3をNW装置200の時刻に一致(同期)させる補正する。時刻補正部54は、例えば、上述した式(12)及び式(13)に基づいて、受信時刻T2及び送信時刻T3を補正する。
【0080】
次に、遅延測定装置10は、片方向遅延値を算出する(ステップS106)。すなわち、遅延測定装置10の遅延算出部55は、例えば、上述した式(14)及び式(15)に基づいて、往路の片方向遅延値、及び復路の片方向遅延値を算出する。
【0081】
次に、遅延算出部55は、算出した片方向遅延値が有効であるか否かを判定する(ステップS107)。遅延算出部55は、例えば、算出した片方向遅延値が有効な値(正の値)になるか否かにより、片方向遅延値が有効であるか否かを判定する。遅延算出部55は、例えば、片方向遅延値が正の値である場合に、片方向遅延値が有効であると判定し(ステップS107:YES)、処理をステップS108に進める。また、遅延算出部55は、例えば、片方向遅延値が負の値又は“0”である場合に、片方向遅延値が有効でないと判定し(ステップS107:NO)、処理をステップS101に戻し、クロック誤差及び装置間時間差の補正情報の算出を再度実行させる。
【0082】
ステップS108において、遅延算出部55は、算出した片方向遅延値(往路の片方向遅延値、及び復路の片方向遅延値)を遅延情報記憶部43に記憶させる。
次に、遅延算出部55は、測定終了であるか否かを判定する(ステップS109)。遅延算出部55は、測定終了である場合(ステップS109:YES)に、処理を終了する。また、遅延算出部55は、測定終了でない場合(ステップS109:NO)に、処理をステップS103に戻し、所定の時間間隔で(定期的に)片方向遅延値を算出する処理を実行させる。
【0083】
次に、
図12を参照して、上述した
図11のステップS101の処理について詳細に説明する。
図12は、本実施形態によるクロック誤差の算出処理の一例を示すフローチャートである。
図12に示すように、遅延測定装置10は、往復メッセージの送受信(N回測定)を行う(ステップS201)。すなわち、遅延測定装置10のクロック誤差算出部52は、例えば、時刻取得部51に送受信部20を介して往復メッセージをN回送受信させる。
【0084】
次に、クロック誤差算出部52は、時刻取得部51を介してN個の往復メッセージにおける送信時刻(T1、T3)及び受信時刻(T2、T4)を取得する(ステップS202)。具体的には、クロック誤差算出部52は、時刻取得部51が時刻情報記憶部41に記憶させた送信時刻(T1、T3)及び受信時刻(T2、T4)を取得する。
【0085】
次に、クロック誤差算出部52は、N個の往復メッセージのうちから2つの往復メッセージを抽出する(ステップS203)。クロック誤差算出部52は、例えば、
図7を参照して上述したように、往復伝送遅延値RDTの差が最小となる少なくとも2つの往復メッセージを選択する。
【0086】
次に、クロック誤差算出部52は、クロック誤差(CLKslope)を算出する(ステップS204)。クロック誤差算出部52は、例えば、上述した式(2)に基づいて、単位時間当たりのクロック誤差(CLKslope)を算出する。
次に、クロック誤差算出部52は、算出したクロック誤差(CLKslope)を補正情報記憶部42に記憶させる(ステップS205)。ステップS205の処理後に、クロック誤差算出部52は、
図11のステップS101の処理を終了する。
【0087】
次に、
図13を参照して、上述した
図11のステップS102の処理について詳細に説明する。
図13は、本実施形態による装置間時間差の算出処理の一例を示すフローチャートである。
図13に示すように、遅延測定装置10は、往復メッセージの送受信(N回測定)を行う(ステップS301)。すなわち、遅延測定装置10の時間差算出部53は、例えば、時刻取得部51に送受信部20を介して往復メッセージをN回送受信させる。
【0088】
次に、時間差算出部53は、時刻取得部51を介してN個の往復メッセージにおける送信時刻(T1、T3)及び受信時刻(T2、T4)を取得する(ステップS302)。具体的には、時間差算出部53は、時刻取得部51が時刻情報記憶部41に記憶させた送信時刻(T1、T3)及び受信時刻(T2、T4)を取得する。
【0089】
次に、時間差算出部53の最小往復遅延抽出部531は、指定測定方法により処理を分岐させる(ステップS303)。最小往復遅延抽出部531は、ユーザから入力部30を介して受け付けた指定測定方法が“往復遅延法”である場合に、処理をステップS304に進める。また、最小往復遅延抽出部531は、ユーザから入力部30を介して受け付けた指定測定方法が“片方向遅延法”である場合に、処理をステップS305に進める。
【0090】
ステップS304(“往復遅延法”の場合)において、最小往復遅延抽出部531は、1つの往復メッセージによる往復伝送遅延値RDTの最小値(最小往復伝送遅延値(RDTmin))を抽出する。すなわち、最小往復遅延抽出部531は、例えば、
図8を参照して上述したように、最小往復伝送遅延値(RDTmin)を抽出する。ステップS304の処理後に、最小往復遅延抽出部531は、処理をステップS309に進める。
【0091】
ステップS305(“片方向遅延法”の場合)において、最小往復遅延抽出部531は、取得した送信時刻T3と受信時刻T2とのクロック誤差を補正する。すなわち、最小往復遅延抽出部531は、例えば、
図9を参照して上述したように、式(5)及び式(6)により、受信時刻T2及び送信時刻T3を補正する。
【0092】
次に、最小往復遅延抽出部531は、往路伝送遅延値d1の最小値を抽出する(ステップS306)。最小往復遅延抽出部531は、例えば、補正した受信時刻T2である受信時刻T2rと送信時刻T1とに基づいて、上述した式(7)により、各往復メッセージに対応する往路伝送遅延値d1を算出する。最小往復遅延抽出部531は、算出したN個の往路伝送遅延値d1の中から往路伝送遅延値の最小値(d1min)を抽出する。
【0093】
次に、最小往復遅延抽出部531は、復路伝送遅延値d2の最小値を抽出する(ステップS307)。最小往復遅延抽出部531は、例えば、補正した送信時刻T3である送信時刻T3rと受信時刻T4とに基づいて、上述した式(8)により、各往復メッセージに対応する復路伝送遅延値d2を算出する。最小往復遅延抽出部531は、算出したN個の復路伝送遅延値d2の中から復路伝送遅延値の最小値(d2min)を抽出する。
【0094】
次に、最小往復遅延抽出部531は、最小往復伝送遅延値(RDTmin)を抽出する(ステップS308)。すなわち、最小往復遅延抽出部531は、上述した式(9)により、往路伝送遅延値の最小値(d1min)と復路伝送遅延値の最小値(d2min)と加算して、最小往復伝送遅延値(RDTmin)を算出する。ステップS308の処理後に、最小往復遅延抽出部531は、処理をステップS309に進める。
【0095】
ステップS309において、時間差算出部53の装置間時間差算出部532は、仮定の片方向遅延値(仮定片方向遅延値dx)を算出する。すなわち、装置間時間差算出部532は、上述した式(10)に基づいて、仮定片方向遅延値dxを算出する。
なお、最小往復遅延抽出部531は、各方法を用いて、最小往復伝送遅延値(RDTmin)を抽出する際、各伝送遅延値の最小値を複数抽出した場合に、その中から往路パケットのTTLと復路パケットのTTLとが等しい往復メッセージから各最小値を抽出してもよい。例えば、ステップS304において、最小往復遅延抽出部531は、複数の往復メッセージから往復伝送遅延値の最小値が抽出された場合に、往路パケットのTTLと復路パケットのTTLとが等しい往復メッセージの往復伝送遅延値を往復伝送遅延値の最小値として抽出してもよい。これにより、遅延測定装置10は、装置間の伝送遅延をより精度よく測定することができる。
【0096】
次に、装置間時間差算出部532は、装置間時間差(dt)を算出する(ステップS310)。すなわち、装置間時間差算出部532は、上述した式(11)に基づいて、装置間時間差(dt)を算出する。
【0097】
次に、装置間時間差算出部532は、算出した装置間時間差(dt)を補正情報記憶部42に記憶させる(ステップS311)。ステップS311の処理後に、装置間時間差算出部532は、
図11のステップS102の処理を終了する。
【0098】
以上説明したように、本実施形態による遅延測定方法は、送受信ステップと、誤差算出ステップと、補正ステップとを含んでいる。送受信ステップにおいて、送受信部20が、NW装置100(第1の装置)とNW装置200(第2の装置)との間で往復する往復メッセージを繰り返し送受信して、往復メッセージにおけるNW装置100とNW装置200とのそれぞれの送信時刻及び受信時刻を測定する。誤差算出ステップにおいて、クロック誤差算出部52が、NW装置100から送信される2つの送信メッセージにおける送信時刻の時間差と、NW装置200で受信される2つの送信メッセージにおける受信時刻の時間差とに基づいて、NW装置100とNW装置200との間の単位時間当たりのクロック誤差(CLKslope)を算出する。補正ステップにおいて、時刻補正部54が、少なくとも単位時間当たりのクロック誤差に基づいて、往復メッセージの送信時刻及び受信時刻を補正する。
これにより、NW装置100が計時する時刻と、NW装置200が計時する時刻との誤差が低減されるので、本実施形態による遅延測定方法は、例えば、NW装置100とNW装置200との間の伝送遅延(例えば、片方向遅延値)を測定する際に、より正確に測定することができる。すなわち、本実施形態による遅延測定方法は、装置間の伝送遅延をより正確に測定することができる。
【0099】
なお、本実施形態による遅延測定方法では、継続して遅延測定を行う場合に、遅延測定の度に毎回、装置間のオフセット値(装置間時間差(dt))を測定する必要がないので、処理負荷(計算量)を軽減して、伝送遅延を測定することができる。
【0100】
また、本実施形態による遅延測定方法は、補正ステップによって補正された送信時刻及び受信時刻に基づいて、NW装置100とNW装置200との間の伝送遅延を推定する推定ステップを含む。
これにより、本実施形態による遅延測定方法は、装置間の伝送遅延をより正確に推定することができる。
【0101】
また、本実施形態では、誤差算出ステップは、次の第1のステップ(第1の処理)と、第2のステップ(第2の処理)とを含んでいる。第1のステップにおいて、クロック誤差算出部52が、往復メッセージにおける往復の伝送遅延値(往復伝送遅延値RDT)の差が所定の範囲内である少なくとも2つの往復メッセージを選択する。第2のステップにおいて、クロック誤差算出部52が、第1のステップによって選択された少なくとも2つの往復メッセージのうちの2つの送信メッセージにおける送信時刻の時間差及び受信時刻の時間差に基づいて、クロック誤差(CLKslope)を算出する。
これにより、本実施形態による遅延測定方法は、往復伝送遅延値RDTが近い2つの往復メッセージに基づいて、クロック誤差(CLKslope)を算出する。往復伝送遅延値RDTが近い2つの往復メッセージは、ネットワークNW1上の同一の経路を通過した可能性が高く、さらに、両往復メッセージ間で、往路の伝送遅延値(d1)と、復路の伝送遅延値(d2)が近いことを意味している。そのため、本実施形態による遅延測定方法は、より正確にクロック誤差(CLKslope)を算出することができる。したがって、本実施形態による遅延測定方法は、装置間の伝送遅延をより正確に測定することができる。
【0102】
また、本実施形態では、上述した第1のステップにおいて、クロック誤差算出部52が、複数の往復メッセージのうちから、往復の伝送遅延値の差が最小となる少なくとも2つの往復メッセージを選択する。
これにより、クロック誤差算出部52は、往復伝送遅延値RDTが最も近い2つの往復メッセージに基づいて、クロック誤差(CLKslope)を算出する。そのため、本実施形態による遅延測定方法は、さらに正確にクロック誤差(CLKslope)を算出することができる。
【0103】
また、本実施形態では、上述した第2のステップにおいて、クロック誤差算出部52が、第1のステップによって選択された往復メッセージが3つ以上である場合に、送信時刻の時間差が最大になる2つの送信メッセージにおける送信時刻の時間差及び受信時刻の時間差に基づいてクロック誤差(CLKslope)を算出する。
送信時刻の時間差が大きい程、クロック誤差(CLKslope)を正確に算出することができるので、これにより、本実施形態による遅延測定方法は、より正確にクロック誤差(CLKslope)を算出することができる。
【0104】
なお、上述した第2のステップにおいて、クロック誤差算出部52は、第1のステップによって選択された往復メッセージが3つ以上である場合に、3つ以上の送信メッセージに基づいて複数のクロック誤差(CLKslope)を算出し、算出した複数のクロック誤差の平均値である平均クロック誤差を算出してもよい。この場合、上述した補正ステップにおいて、時刻補正部54が、平均クロック誤差に基づいて、往復メッセージの送信時刻及び受信時刻を補正する。
これにより、本実施形態による遅延測定方法は、より正確にクロック誤差(CLKslope)を算出することができ、往復メッセージの送信時刻及び受信時刻をより精度よく補正することができる。
【0105】
また、本実施形態による遅延測定方法は、時間差算出ステップを含んでいる。時間差算出ステップにおいて、時間差算出部53が、送信時刻及び受信時刻に基づいて、往復メッセージにおける往復の伝送遅延値である往復伝送遅延値の最小値(最小往復伝送遅延値(RDTmin))を抽出する。さらに、時間差算出部53は、時間差算出ステップにおいて、抽出した当該最小値に基づいて、NW装置100とNW装置200との基準時刻における時間差を示す装置間時間差(dt)を算出する。そして、上述した補正ステップにおいて、時刻補正部54が、クロック誤差(CLKslope)と、装置間時間差(dt)とに基づいて、往復メッセージの送信時刻及び受信時刻を補正する。
これにより、本実施形態による遅延測定方法は、往復メッセージの送信時刻及び受信時刻をさらに精度よく補正することができる。したがって、本実施形態による遅延測定方法は、装置間の伝送遅延をさらに正確に測定することができる。
【0106】
また、本実施形態では、上述した時間差算出ステップにおいて、時間差算出部53は、複数の往復メッセージのうち、1つの往復メッセージにおける往復伝送遅延値が最小となる往復メッセージに対応する往復伝送遅延値を、最小往復伝送遅延値(RDTmin)として抽出する(往復遅延法)。
これにより、本実施形態による遅延測定方法は、簡易な手段により精度よく最小往復伝送遅延値(RDTmin)を抽出することができる。
【0107】
また、本実施形態では、上述した時間差算出ステップにおいて、時間差算出部53は、複数の往復メッセージに対応する複数の往路の伝送遅延値のうちの最小となる往路の伝送遅延値(d1min)と、複数の往復メッセージに対応する複数の復路の伝送遅延値のうちの最小となる復路の伝送遅延値(d2min)との加算値を最小往復伝送遅延値(RDTmin)として抽出する。
これにより、本実施形態による遅延測定方法は、往路と復路とのそれぞれの伝送遅延値の最小値に基づいて、最小往復伝送遅延値(RDTmin)を抽出するので、より正確に最小往復伝送遅延値(RDTmin)として抽出することができる。
【0108】
また、本実施形態では、上述した時間差算出ステップにおいて、時間差算出部53は、クロック誤差(CLKslope)に基づき補正された送信時刻及び受信時刻に基づいて、最小往復伝送遅延値(RDTmin)を抽出する。
これにより、本実施形態による遅延測定方法は、補正された精度の良い送信時刻及び受信時刻に基づいて最小往復伝送遅延値(RDTmin)を抽出するので、さらに正確に最小往復伝送遅延値(RDTmin)として抽出することができる。
【0109】
また、本実施形態による遅延測定装置10は、時刻取得部51と、クロック誤差算出部52と、時刻補正部54とを備えている。時刻取得部51は、NW装置100とNW装置200との間で往復する往復メッセージを繰り返し送受信させ、往復メッセージにおけるNW装置100とNW装置200とのそれぞれの送信時刻及び受信時刻を取得する。クロック誤差算出部52は、NW装置100から送信される2つの送信メッセージにおける送信時刻の時間差と、NW装置200で受信される2つの送信メッセージにおける受信時刻の時間差とに基づいて、NW装置100とNW装置200との間の単位時間当たりのクロック誤差(CLKslope)を算出する。そして、時刻補正部54は、少なくとも単位時間当たりのクロック誤差(CLKslope)に基づいて、往復メッセージの送信時刻及び受信時刻を補正する。
これにより、本実施形態による遅延測定装置10は、上述した本実施形態による遅延測定方法と同様の効果を奏し、装置間の伝送遅延をより正確に測定することができる。また、本実施形態による遅延測定システム1は、遅延測定装置10を備えているので、遅延測定装置10と同様の効果を奏し、装置間の伝送遅延をより正確に測定することができる。
【0110】
[第2の実施形態]
次に、第2の実施形態による遅延想定方法、及び遅延測定システムについて、図面を参照して説明する。
図14は、本実施形態による遅延測定システム1a及び遅延測定装置10aの一例を示すブロック図である。
【0111】
この図に示すように、遅延測定システム1aは、ネットワークNW1を介して接続されているNW装置100a(第1の装置の一例)と、NW装置200(第1の装置の一例)とを備えている。また、NW装置100aは、遅延測定装置10aと、送受信部20と、入力部30とを備えている。
なお、この図において、
図1に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【0112】
遅延測定装置10aは、例えば、NW装置100aとNW装置200との間の伝送遅延を測定するための装置であり、記憶部40と、制御部50aとを備えている。
制御部50aは、例えば、CPUなどを含むプロセッサであり、NW装置100a(遅延測定装置10a)を統括的に制御する。制御部50aは、時刻取得部51と、クロック誤差算出部52と、時間差算出部53と、時刻補正部54と、遅延算出部55と、補正情報更新部56とを備えている。
本実施形態では、遅延測定装置10aが、補正情報更新部56を備える点が、第1の実施形態と異なる。
【0113】
補正情報更新部56は、定期的に往復メッセージを監視して、補正情報記憶部42が記憶する補正情報(クロック誤差(CLKslope)、基準時刻T0、装置間時間差(dt))を更新する。補正情報更新部56は、例えば、片方向遅延値を測定する際の往復メッセージに、クロック誤差測定の条件(上述した(条件1)、及び(条件2))に一致する往復メッセージがあるか否かを判定する。補正情報更新部56は、クロック誤差の測定条件に一致する往復メッセージがある場合に、当該往復メッセージを上述した
図7の「測定N」として用いて、クロック誤差算出部52に単位時間当たりのクロック誤差(CLKslope)の算出をさせる。補正情報更新部56は、クロック誤差算出部52によって算出されたクロック誤差(CLKslope)を、補正情報記憶部42に記憶させる。
【0114】
また、補正情報更新部56は、上述した再計算したクロック誤差(CLKslope)が、前回のクロック誤差(CLKslope)と比較して所定の値(例えば、±20%)以上変動した場合には、NTP(Network Time Protocol)などによりNW装置200の時刻が再設定されたものと判定する。補正情報更新部56は、この場合、クロック誤差算出部52及び時間差算出部53に、クロック誤差(CLKslope)、基準時刻T0、装置間時間差(dt)を再び算出及び設定させて、補正情報記憶部42に記憶させる。
【0115】
また、補正情報更新部56は、例えば、片方向遅延値を測定する際の往復メッセージに、現在の装置間時間差(dt)を算出した際の最小往復伝送遅延値(RDTmin)より短い往復メッセージがあるか否かを判定する。補正情報更新部56は、最小往復伝送遅延値(RDTmin)より短い往復メッセージがある場合に、当該往復メッセージの往復伝送遅延値を最小往復伝送遅延値(RDTmin)として、時間差算出部53に装置間時間差(dt)を算出させる。補正情報更新部56は、時間差算出部53によって算出された装置間時間差(dt)を補正情報記憶部42に記憶させて更新する。また、補正情報更新部56は、当該往復メッセージの送信時刻T1を基準時刻T0として、補正情報記憶部42に記憶させて更新する。
【0116】
なお、補正情報更新部56は、最小往復伝送遅延値(RDTmin)より短い往復メッセージがある場合に、時間差算出部53に再度、装置間時間差(dt)を算出させる代わりに、以下のような補正により、装置間時間差(dt)を算出してもよい。この場合、補正情報更新部56は、当該往復メッセージの往復伝送遅延値と、現在の装置間時間差(dt)を算出した際の最小往復伝送遅延値(RDTmin)との差分を、往路伝送遅延値d1と、復路伝送遅延値d2とに均等割り付けして減算する補正を行う。そして、補正情報更新部56は、補正した往路伝送遅延値d1及び復路伝送遅延値d2に基づいて、装置間時間差(dt)を算出してもよい。
【0117】
次に、
図15を参照して、本実施形態による遅延測定システム1aの動作について説明する。
図15は、本実施形態の遅延測定システム1aによる遅延測定方法の一例を示すフローチャートである。
この図において、ステップS401からステップS408までの処理は、
図11に示すステップS101からステップS108までの処理と同様であるので、ここではその説明を省略する。なお、ステップS401の処理は、上述した
図12に示す処理と同様であり、ステップS402の処理は、上述した
図13に示す処理と同様である。
【0118】
ステップS409において、遅延測定装置10aの補正情報更新部56は、往復メッセージがクロック誤差測定の条件(上述した(条件1)、及び(条件2))に一致するか否かを判定する。補正情報更新部56は、クロック誤差測定の条件に一致する場合(ステップS409:YES)に、処理をステップS410に進める。また、補正情報更新部56は、クロック誤差測定の条件に一致しない場合(ステップS409:NO)に、処理をステップS412に進める。
【0119】
ステップS410において、補正情報更新部56は、クロック誤差(CLKslope)を更新する。すなわち、補正情報更新部56は、当該往復メッセージを用いて、クロック誤差算出部52に単位時間当たりのクロック誤差(CLKslope)の算出をさせる。補正情報更新部56は、クロック誤差算出部52によって算出されたクロック誤差(CLKslope)を、補正情報記憶部42に記憶させる。
【0120】
次に、補正情報更新部56は、クロック誤差(CLKslope)が所定の値以上変動したか否かを判定する(ステップS411)。すなわち、補正情報更新部56は、クロック誤差算出部52によって算出されたクロック誤差(CLKslope)が、例えば、±20%以上変動したか否かを判定する。補正情報更新部56は、クロック誤差(CLKslope)が所定の値以上変動した場合(ステップS411:YES)に、処理をステップS401に戻し、クロック誤差(CLKslope)及び装置間時間差(dt)を再び算出させて、補正情報(クロック誤差(CLKslope)、基準時刻T0、装置間時間差(dt))を更新させる。また、補正情報更新部56は、クロック誤差(CLKslope)が所定の値以上変動していない場合(ステップS411:NO)に、処理をステップS412に進める。
【0121】
ステップS412において、補正情報更新部56は、往復メッセージの往復伝送遅延値が最小値であるか否かを判定する。すなわち、補正情報更新部56は、片方向遅延値を測定する際の往復メッセージに、現在の装置間時間差(dt)を算出した際の最小往復伝送遅延値(RDTmin)より短い往復メッセージがあるか否かを判定する。補正情報更新部56は、往復メッセージの往復伝送遅延値が最小値である場合(ステップS412:YES)に、処理をステップS413に進める。また、補正情報更新部56は、往復メッセージの往復伝送遅延値が最小値でない場合(ステップS412:NO)に、処理をステップS414に進める。
【0122】
ステップS413において、補正情報更新部56は、装置間時間差(dt)を更新する。すなわち、補正情報更新部56は、当該往復メッセージの往復伝送遅延値を最小往復伝送遅延値(RDTmin)として、時間差算出部53に装置間時間差(dt)を算出させる。補正情報更新部56は、時間差算出部53によって算出された装置間時間差(dt)を補正情報記憶部42に記憶させて更新する。また、補正情報更新部56は、当該往復メッセージの送信時刻T1を基準時刻T0として、補正情報記憶部42に記憶させて更新する。
【0123】
ステップS414において、遅延測定装置10aの制御部50aは、測定終了であるか否かを判定する。制御部50aは、測定終了である場合(ステップS414:YES)に、処理を終了する。また、遅延算出部55は、測定終了でない場合(ステップS414:NO)に、処理をステップS403に戻し、所定の時間間隔で(定期的に)片方向遅延値を算出する処理を実行させる。
【0124】
以上説明したように、本実施形態による遅延測定方法は、第1の実施形態による遅延測定方法に加えて更新ステップを含んでいる。更新ステップにおいて、遅延測定装置10a(補正情報更新部56)は、定期的に往復メッセージを監視して、当該往復メッセージが所定の条件を満たす場合に、補正情報記憶部42が記憶する補正情報(クロック誤差(CLKslope)、基準時刻T0、装置間時間差(dt))を更新する。ここで、所定の条件とは、補正情報を更新する条件であり、例えば、上述したクロック誤差測定の条件(上述した(条件1)、及び(条件2))、往復メッセージの往復伝送遅延値が最小値であるなどの条件である。
これにより、本実施形態による遅延測定方法は、第1の実施形態による遅延測定方法と同様の効果を奏するとともに、さらに、NW装置200の送信時刻及び受信時刻の補正精度を高めることができる。また、定期的に、クロック誤差(CLKslope)が更新されるので、本実施形態による遅延測定方法は、例えば、温度変化などにより、NW装置100a及びNW装置200のクロック周波数が変化した場合であっても、装置間の伝送遅延をより正確に測定することができる。
また、本実施形態による遅延測定方法は、例えば、NTPなどによりNW装置200の時刻が再設定された場合であっても、補正情報を適切に更新するので、装置間の伝送遅延をより正確に測定することができる。
【0125】
なお、本実施形態において、遅延測定方法と更新ステップとを一連の処理で行ったが、別々の処理で行ってもよい。例えば、更新ステップにおいて、ステップS401からステップS402、及びステップS409からステップS413までの処理を、バックグラウンドで継続的に行ってもよい。その場合、ステップS402で装置間時間差の算出処理を行った後、ステップS409でクロック誤差測定の条件に一致するか否かを判定する。すなわち、遅延測定方法とは、別の処理として更新ステップを継続的に行う。この場合、更新ステップの処理の優先順位を他の処理より高く設定してもよい。これにより、遅延測定装置10aは、補正情報をより正確に算出することができ、補正情報を適切に更新することができる。
【0126】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、NW装置100(100a)が遅延測定装置10(10a)を備える例を説明したが、これに限定されるものではない。例えば、遅延測定装置10(10a)は、NW装置100(100a)の外部に備えられ、NW装置100とNW装置200との間の伝送遅延を外部から測定してもよい。
【0127】
また、遅延測定装置10(10a)が備える構成の一部をNW装置100の外部に備えてもよい。例えば、制御部50(50a)の一部を、ネットワークNW1上の処理装置として、外部に備えてもよい。また、記憶部40の一部又は全部を、ネットワークNW1上の記憶装置として、外部に備えてもよい。また、この場合、遅延測定装置10(10a)は、予め生成(算出)された補正情報(クロック誤差(CLKslope)、基準時刻T0、装置間時間差(dt))を記憶する外部の記憶装置から、補正情報を取得して送信時刻及び受信時刻を補正してもよい。例えば、遅延測定方法は、送受信ステップと、誤差取得ステップと、時間差算出ステップと、補正ステップと、推定ステップとを含んでいてもよい。この場合、誤差取得ステップにおいて、遅延測定装置10(10a)が、NW装置100(100a)とNW装置200との間の単位時間当たりのクロック誤差を取得するようにしてもよい。
【0128】
また、上記の各実施形態において、遅延測定装置10(10a)は、入力部30及び送受信部20を含まない例を説明したが、入力部30又は送受信部20を含むように構成してもよい。
また、上記の各実施形態において、クロック誤差算出部52は、送信時刻T1と受信時刻T2とに基づいて、クロック誤差(CLKslope)を算出する例を説明したが、送信時刻T3と受信時刻T4とに基づいて、クロック誤差(CLKslope)を算出してもよい。
また、上記の各実施形態において、クロック誤差算出部52は、NW装置100(100a)から見たNW装置200の時間経過の傾きとして、クロック誤差(CLKslope)を算出する例を説明したが、これに限定されるものではない。例えば、クロック誤差算出部52は、NW装置200から見たNW装置100(100a)の時間経過の傾きとして、クロック誤差(CLKslope)を算出してもよい。また、クロック誤差算出部52は、例えば、正規分布や最小二乗法などの統計的手法を用いて、クロック誤差を算出してもよい。
【0129】
また、上記の各実施形態において、時間差算出部53は、往復遅延法の際に、クロック誤差(CLKslope)による補正を行わずに、最小往復伝送遅延値(RDTmin)を抽出する例を説明したが、クロック誤差(CLKslope)による補正を行ってもよい。この場合、遅延測定装置10(10a)は、送信時刻及び受信時刻の補正精度をさらに高めることができる。
また、時間差算出部53は、片方向遅延法の際に、クロック誤差(CLKslope)による補正を行って、最小往復伝送遅延値(RDTmin)を抽出する例を説明したが、クロック誤差(CLKslope)による補正を行わなくてもよい。この場合、遅延測定装置10(10a)は、片方向遅延法において、最小往復伝送遅延値(RDTmin)を抽出する処理を簡略化することができ、処理負荷(計算量)を軽減することができる。
【0130】
また、上記の各実施形態において、ユーザから入力部30を介して受け付けた最小往復伝送遅延値の抽出方法により、往復遅延法と片方向遅延法とを切り替える例を説明したが、これに限定されるものではない。例えば、時間差算出部53は、クロック誤差(CLKslope)の精度に不安があるなどのクロック誤差の信頼度(安定度)に応じて、往復遅延法と片方向遅延法とを切り替えて実行してもよい。また、時間差算出部53は、往復遅延法と片方向遅延法とのいずれか一方の方式により、装置間時間差(dt)を算出するようにしてもよい。
【0131】
なお、上述した遅延測定システム1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した遅延測定システム1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した遅延測定システム1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
【0132】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に遅延測定システム1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0133】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。