吉見 英朗 (〒01 東京都港区芝五丁目7番1号 日本電気株式会社内 Tokyo, 1088001, JP)
CUI, Zhenlong (7-1 Shiba 5-chome, Minato-k, Tokyo 01, 1088001, JP)
日本電気株式会社 (〒01 東京都港区芝五丁目7番1号 Tokyo, 1088001, JP)
YOSHIMI, Hideo (7-1 Shiba 5-chome, Minato-k, Tokyo 01, 1088001, JP)
吉見 英朗 (〒01 東京都港区芝五丁目7番1号 日本電気株式会社内 Tokyo, 1088001, JP)
| マスタノードからスレーブノードに送信された時刻同期用メッセージの遅延時間と、前記スレーブノードから前記マスタノードに送信された時刻同期用メッセージの遅延時間との非対称性を考慮して、マスタノードとスレーブノードとの間の時刻オフセットを求めるオフセット算出手段と、 前記求められた時刻オフセットに基づいて、スレーブノードの時刻を補正する時刻同期部と を有することを特徴とする時刻同期システム。 |
| 前記オフセット算出手段は、前記マスタノードから前記スレーブノードに送信された時刻同期用メッセージのキューイング遅延と、前記スレーブノードから前記マスタノードに送信された時刻同期用メッセージのキューイング遅延とを考慮した時刻オフセットを算出することを特徴とする請求項1に記載の時刻同期システム。 |
| 前記時刻同期用メッセージのキューイング遅延を解消するバッファを前記マスタノードと前記スレーブノードとのそれぞれに設け、 前記オフセット算出手段は、前記バッファによって各キューイング遅延が解消された時刻同期用メッセージに基づいて時刻オフセットを算出することを特徴とする請求項2に記載の時刻同期システム。 |
| 前記スレーブノードのバッファが使用しているクロックを、前記マスタノードのクロックに同期させるクロック同期手段を有することを特徴とする請求項3に記載の時刻同期システム。 |
| 前記オフセット算出手段は、前記時刻同期用メッセージのネットワーク遅延を所定時間計測し、この最小値に基づいて前記キューイング遅延を考慮した時刻オフセットを算出することを特徴とする請求項1又は請求項2に記載の時刻同期システム。 |
| 前記オフセット算出手段は、前記マスタノードから前記スレーブノードに送信された時刻同期用メッセージの転送遅延と、前記スレーブノードから前記マスタノードに送信された同期用メッセージの転送遅延とを考慮した時刻オフセットを算出することを特徴とする請求項1から請求項5のいずれかに記載の時刻同期システム。 |
| 前記オフセット算出手段は、複数のパケット長で送信された時刻同期用メッセージに基づいて伝送遅延を計測し、この計測結果を用いてパケット長が0のときの伝送遅延を推測することにより、前記転送遅延を考慮した時刻オフセット算出することを特徴とする請求項1から請求項6のいずれかに記載の時刻同期システム。 |
| マスタノードからスレーブノードに送信された時刻同期用メッセージの遅延時間と、前記スレーブノードから前記マスタノードに送信された時刻同期用メッセージの遅延時間との非対称性を考慮して、マスタノードとスレーブノードとの間の時刻オフセットを求めるオフセット算出ステップと、 前記求められた時刻オフセットに基づいて、スレーブノードの時刻を補正する時刻同期ステップと を有することを特徴とする時刻同期方法。 |
| 前記オフセット算出ステップは、前記マスタノードから前記スレーブノードに送信された時刻同期用メッセージのキューイング遅延と、前記スレーブノードから前記マスタノードに送信された時刻同期用メッセージのキューイング遅延とを考慮した時刻オフセットを算出することを特徴とする請求項8に記載の時刻同期方法。 |
| 前記オフセット算出ステップは、前記マスタノードと前記スレーブノードとのそれぞれに設けられているバッファによってキューイング遅延が解消された時刻同期用メッセージに基づいて時刻オフセットを算出することを特徴とする請求項9に記載の時刻同期方法。 |
| 前記スレーブノードのバッファが使用しているクロックを、前記マスタノードのクロックに同期させるクロック同期ステップを有することを特徴とする請求項10に記載の時刻同期方法。 |
| 前記オフセット算出ステップは、 前記時刻同期用メッセージのネットワーク遅延を所定時間計測する計測ステップと、 前記計測されたネットワーク遅延の最小値に基づいて、前記キューイング遅延を考慮した時刻オフセットを算出する算出ステップと を有することを特徴とする請求項8又は請求項9に記載の時刻同期方法。 |
| 前記オフセット算出ステップは、前記マスタノードから前記スレーブノードに送信された時刻同期用メッセージの転送遅延と、前記スレーブノードから前記マスタノードに送信された同期用メッセージの転送遅延とを考慮した時刻オフセットを算出することを特徴とする請求項8から請求項12のいずれかに記載の時刻同期方法。 |
| 前記オフセット算出ステップは、 複数のパケット長で送信された時刻同期用メッセージに基づいて伝送遅延を計測する計測ステップと、 前記計測結果を用いてパケット長が0のときの伝送遅延を推測する推測ステップと、 前記推測された伝送遅延に基づいて前記転送遅延を考慮したオフセット算出する算出ステップと を有することを特徴とする請求項8から請求項13のいずれかに記載の時刻同期方法。 |
| マスタノードの時刻に同期させるスレーブノードのプログラムであって、前記プログラムは前記スレーブノードに、 マスタノードからスレーブノードに送信された時刻同期用メッセージの遅延時間と、前記スレーブノードから前記マスタノードに送信された時刻同期用メッセージの遅延時間との非対称性を考慮して、マスタノードとスレーブノードとの間の時刻オフセットを求めるオフセット算出処理と、 前記求められた時刻オフセットに基づいて、スレーブノードの時刻を補正する時刻同期処理と を実行させることを特徴とするプログラム。 |
| 前記オフセット算出処理は、前記マスタノードから前記スレーブノードに送信された時刻同期用メッセージのキューイング遅延と、前記スレーブノードから前記マスタノードに送信された時刻同期用メッセージのキューイング遅延とを考慮した時刻オフセットを算出することを特徴とする請求項15に記載のプログラム。 |
| 前記時刻同期用メッセージのキューイング遅延を解消するバッファを前記マスタノードと前記スレーブノードとのそれぞれに設け、 前記オフセット算出処理は、前記マスタノードと前記スレーブノードとのそれぞれに設けられたバッファによってキューイング遅延が解消された時刻同期用メッセージに基づいて時刻オフセットを算出することを特徴とする請求項16に記載のプログラム。 |
| 前記スレーブノードのバッファが使用しているクロックを、前記マスタノードのクロックに同期させるクロック同期処理を実行させることを特徴とする請求項17に記載のプログラム。 |
| 前記オフセット算出処理は、前記時刻同期用メッセージのネットワーク遅延を所定時間計測し、その最小値に基づいて前記キューイング遅延を考慮した時刻オフセットを算出することを特徴とする請求項15又は請求項16に記載のプログラム。 |
| 前記オフセット算出処理は、前記マスタノードから前記スレーブノードに送信された時刻同期用メッセージの転送遅延と、前記スレーブノードから前記マスタノードに送信された同期用メッセージの転送遅延とを考慮した時刻オフセットを算出することを特徴とする請求項15から請求項19のいずれかに記載のプログラム。 |
| 前記オフセット算出処理は、複数のパケット長で送信された時刻同期用メッセージに基づいて伝送遅延を計測し、この計測結果を用いてパケット長が0のときの伝送遅延を推測することにより、前記転送遅延を考慮した時刻オフセット算出することを特徴とする請求項15から請求項21のいずれかに記載のプログラム。 |
本発明は、ネットワークを介して、複数 装置の時刻を同期させるための技術に関し 特に、ネットワーク内におけるマスタノー とスレーブノードとの間の時刻オフセット 補正するための技術に関するものである。
通信システムや制御システムが複雑化し 多数のノードが分散配置されるようになっ 現在、装置間のイベントの同期を取ること 重要になっている。
たとえば、工業オートメーションのシス ムでは、センサやモーションコントローラ 時刻同期を維持することによって、より高 な処理を実行できるようになる。
ここで、問題となるのは、温度変化や経 変化などの環境変化によって、個々の装置 時刻にズレが生じるという点である。した って、正確な時刻同期を常に維持するため は、何らかの補正のメカニズムが必要とな 。
IEEE 1588では、ネットワーク上にある装置 をマイクロ秒未満の精度で同期させる方法を 規定している。このIEEE1588で規定している方 は、スレーブ・クロックとマスタ・クロッ との同期を取ることで、トリガやイベント タイムスタンプを全ての装置で一致させる 法であり、同期を取るために、マスタノー とスレーブノードとはタイムスタンプ情報 やりとりする。そして、このタイムスタン 情報に基づいて、スレーブノードは、マス ノードとの時刻オフセット量を時刻同期ア ゴリズムを使って推定する。
以下では、図を用いながら、時刻同期ア ゴリズムの詳細内容を説明する。
図1は、ネットワークを介して、複数のノ ードが同期するモデルを示している。
ここで、ノードA(10)は時刻を供給する側 マスタノードとし、ノードB(11)とノードC(12) は時刻を供給される側のスレーブノードと る。以下では、マスタノードA(10)とスレー ノードB(11)との間で、時刻同期をとるための 方法について述べる。
図2は、従来の時刻同期をとるための方法 を説明するための図である。図2を用いて、 スタのノードA(10)とスレーブのノードB(11)と おける時刻同期用メッセージの交換につい 説明する。
〈ステップ1〉
まず、マスタのノードA(10)がスレーブのノ
ドB(11)に対して定期的に「Sync」メッセージ
送信する。
このSyncメッセージの送出をトリガとして 、マスタのノードA(10)は自身のローカル・シ テム・クロックのタイムスタンプTm(i)を記 する。
SyncメッセージがスレーブのノードB(11)に 着すると、それがトリガとなってスレーブ ノードB(11)は自身のローカル・システム・ ロックのタイムスタンプTs(i)を記録する。
〈ステップ2〉
次に、マスタのノードA(10)がスレーブのノ
ドB(11)に対して「Follow_up」メッセージを送信
する。このメッセージの中には、先にSyncメ
セージを送出したときのマスタのノードA(10)
のタイムスタンプTm(i)が含まれている。スレ
ブのノードB(11)はこれら2つのタイムスタン
をもとに、式(1)を用いてマスタノードとス
ーブノードのクロックの差分Dmsを算出し、
ットワーク遅延を求める。
式(1)
Dms=Ts(i)-Tm(i)=Delay-Offset
ここで、Delayはネットワークの伝播遅延で
り、Offsetはマスタノードに対するスレーブ
ードの時刻オフセット(進み)である。
〈ステップ3〉
次に、スレーブのノードB(11)がマスタのノ
ドA(10)に対して「Delay
Request」メッセージを送信する。
このDelay Requestメッセージの送出をトリ として、スレーブのノードB(11)は自身のロー カル・システム・クロックのタイムスタンプ Ts(j)を記録する。
Delay RequestメッセージがマスタのノードA( 10)に到着すると、それがトリガとなってマス タのノードA(10)は自身のローカル・システム クロックのタイムスタンプTm(j)を記録する
〈ステップ4〉
次に、マスタのノードA(10)がスレーブのノ
ドB(11)に対して「Delay
Response」メッセージを返信する。このメッセ
ジの中には、先のDelay Requestメッセージを
信した時のマスタのノードA(10)のタイムスタ
ンプTm(j)が含まれている。
スレーブのノードB(11)はこれら2つのタイム
タンプをもとに、式(2)を用いてマスタ・ク
ックとスレーブ・クロックの差分Dsmを求め
。
式(2)
Dsm=Tm(j)-Ts(j)=Delay+Offset
ここで、Delayはネットワークの伝播遅延で
る。
以上のようにして得られたDsmとDmsとをもと
、式(3)を用いて、スレーブはマスタ‐スレ
ブ間の時刻オフセット量を算出できる。
式(3)
(Dsm-Dms)/2=Offset
上記のような4つの手順を踏むことで、スレ
ーブはマスタとの時刻オフセットを求めるこ
とができ、時刻同期を行うことが可能である
。
上記の説明と図2を見ると分かるように、 IEEE1588は、ネットワーク内の伝播遅延が対称 あることを前提としている。すなわち、マ タノードからスレーブノードへ向かうパケ トが受ける遅延時間と、スレーブノードか マスタノードに向かうパケットが受ける遅 時間が等しいことを前提としている。しか ながら、実際は、同一ノード間であっても ネットワークの遅延は非対称かつ、時間的 変化するケースが多い。
例えば、マスタノードとスレーブノード の間にスイッチやルータがあると、スイッ のキューイング遅延(ジッタ)が発生する。 のキューイング遅延は、ネットワークが混 でいる場合には増加し、ネットワークが空 ている場合には減少する。図3は、マスタノ ド30からスレーブノード31へ向かう経路では 輻輳が発生し、スレーブノード31からマスタ ード30へ向かう経路では輻輳が発生してい いという状況を示している。このように、 ューイング遅延は宛先によっても変化する で、ネットワークの遅延は非対称かつ、時 刻々と変化する特性となる。
また、スイッチのキューイング遅延の他 、ネットワークの実効スループットが非対 になっている場合には、転送遅延が非対称 なる。たとえば、マスタノードとスレーブ ードとがADSLで接続されているケースを考え ると、マスタノードからスレーブノードへの スループットと、スレーブノードからマスタ ノードへのスループットは基本的に異なって いる。この場合、マスタノードからスレーブ ノードに向かうパケットの転送遅延は小さい が、スレーブノードからマスタノードに向か うパケットの転送遅延は大きいというような 状況が発生するので、ネットワークの遅延は 非対称となる。
以上のように、ネットワークの遅延は非 称となるケースが多いが、この場合、IEEE158 8では時刻同期精度が劣化してしまう。以下 は、その精度劣化量について解析する。図4 、IEEE1588での時刻同期精度の劣化を説明す ための図である。
まず、マスタノードからスレーブノードへ
遅延をDelay1、スレーブノードからマスタノ
ドへの遅延をDelay2とすると、Delay1とDelay2と
、以下のように表せる。
式(4)
Delay1(i)=Propagate+Queue1(i)+Forward1(i)=Propagate+Queue1(i
)+f1・Length
式(5)
Delay2(i)=Propagate+Queue2(i)+Forward2(i)=Propagate+Queue2(i
)+f2・Length
ここで、Propagateはマスタとスレーブとの間
回線を伝う時間である伝送遅延、Queueはキ
ーイング遅延、Forwardは転送遅延である。ま
、fはスループット(データ転送速度)であり
Lengthはパケット長である。
このDelay1とDelay2とを、上述の式(1)のDmsと式(
2)のDsmとに代入すると、DmsとDsmとは以下のよ
に表せる。
式(6)
Dms=Ts(i)-Tm(i)=Delay1-Offset=Propagate+Queue1(i)+Forward1(i
)-Offset=Propagate+Queue1(i)+f1・Length-Offset
式(7)
Dsm=Tm(j)-Ts(j)=Delay2+Offset=Propagate+Queue2(j)+Forward2(j
)+Offset=Propagate+Queue2(j)+f2・Length+Offset
このようにして得られたDsmとDmsとから、時
オフセットを求めようとすると、以下のよ
になる。
式(8)
(Dsm-Dms)/2=Offset+(Queue2(i)-Queue1(i)+(f2-f1)・Length)/2
式(8)から分かるように、時刻オフセット 求めようとしても、ネットワーク遅延が非 称の場合には、(Queue2(j)-Queue1(i)+(f2-f1)・Length )/2だけの誤差が生じてしまうので、正確な時 刻同期は不可能である。
本発明は、この問題を解決するためにな れたものであり、その目的とするところは ネットワークの遅延が非対称の場合でも時 オフセットを正確に求め、正確な時刻同期 実現できる方法を提供することにある。
上記課題を解決するための第1の発明は、
マスタノードからスレーブノードに送信さ
た時刻同期用メッセージの遅延時間と、前
スレーブノードから前記マスタノードに送
された時刻同期用メッセージの遅延時間と
非対称性を考慮して、マスタノードとスレ
ブノードとの間の時刻オフセットを求める
フセット算出手段と、
前記求められた時刻オフセットに基づいて
スレーブノードの時刻を補正する時刻同期
と
を有することを特徴とする。
上記課題を解決するための第2の発明は、
マスタノードからスレーブノードに送信さ
た時刻同期用メッセージの遅延時間と、前
スレーブノードから前記マスタノードに送
された時刻同期用メッセージの遅延時間と
非対称性を考慮して、マスタノードとスレ
ブノードとの間の時刻オフセットを求める
フセット算出ステップと、
前記求められた時刻オフセットに基づいて
スレーブノードの時刻を補正する時刻同期
テップと
を有することを特徴とする
上記課題を解決するための第3の発明は、
マスタノードの時刻に同期させるスレーブ
ードのプログラムであって、前記プログラ
は前記スレーブノードに、
マスタノードからスレーブノードに送信さ
た時刻同期用メッセージの遅延時間と、前
スレーブノードから前記マスタノードに送
された時刻同期用メッセージの遅延時間と
非対称性を考慮して、マスタノードとスレ
ブノードとの間の時刻オフセットを求める
フセット算出処理と、
前記求められた時刻オフセットに基づいて
スレーブノードの時刻を補正する時刻同期
理と
を実行させることを特徴とする。
本発明の時刻同期システムは、
パケットの送受信を行うパケット送受信部
、
パケット到着時間からマスタノードのクロ
クを再生するクロック同期部と、
キューイング遅延の非対称性によって生じ
時刻同期誤差を補正するジッタ吸収部と、
転送遅延の非対称性によって生じる時刻同
誤差を補正するスループット差吸収部と、
マスタノードとスレーブノードとの間の時
オフセットを補正する時刻同期部とを有す
。
このような構成を採用し、キューイング 延と転送遅延の非対称性によって生じる時 同期誤差を補正することにより、ネットワ クの遅延が非対称の場合でも、正確な時刻 期を実現できる。
以上の理由により、本発明の目的を達成 ることができる。
本発明の時刻同期システムは、
本発明の第2の時刻同期システムのジッタ吸
収部は、ネットワーク遅延を長時間計測し、
その最小値を求めることにより、キューイン
グ遅延が時刻オフセットの推定に及ぼす影響
を取り除いている。
本発明は、このような構成を採用し、キ ーイング遅延の非対称性によって生じる時 同期誤差を補正することにより、正確な時 同期を実現できる。
以上の理由により、本発明の目的を達成 ることができる。
本発明によると、マスタノードからスレ ブノードに送信された時刻同期用メッセー と、スレーブノードからマスタノードに送 された時刻同期用メッセージとが受けるキ ーイング遅延や転送遅延の非対称性によっ 生じる時刻同期誤差を補正できるので、ネ トワークが非対称の場合でも、時刻オフセ トが正確に求められ、本発明の目的を達成 ることができる。
10 マスタノード
11 スレーブノード
50A、51A 時刻同期部
50B、51B パケット送受信部
50C、51C スループット差吸収部
50D、51D ジッタ吸収部
50E、51E クロック同期部
本発明の特徴と実現形態を説明するため 、以下において、図面を参照して具体的な 施例を述べるものとする。しかしながら、 れらの図面および説明は、本発明の典型的 実施形態のみを示しており、その範囲を限 するものではないことを理解されたい。
<第1の実施の形態>
本発明を実施するための第1の実施の形態に
ついて、図面を参照して詳細に説明する。
<構成>
図5は、本発明における時刻同期システムの
ブロック図である。図5を参照すると、本発
の第1の実施の形態における時刻同期システ
は、ネットワーク52とマスタノード10とスレ
ーブノード11とを有する。尚、本実施の形態
は、時刻同期を行うにあたって基準となる
刻を有するノードをマスタノードとする。
マスタノード10は、パケット送受信部50B 、ジッタ吸収部50Dと、スループット差吸収 50Cと、クロック同期部50Eと、時刻同期部50A を有する。
同じく、スレーブノード11は、パケット 受信部51Bと、ジッタ吸収部51Dと、スループ ト差吸収部51Cと、クロック同期部51Eと、時 同期部51Aとを有する。
<マスタノード>
マスタノード10の時刻同期部50Aは、時刻同
用メッセージをスレーブノード11に送信する
。なお、このメッセージには、IEEE
1588に準拠したものを使用しても良い。この
合、時刻同期部50Aは、Syncメッセージ、Follow-
upメッセージ、およびDelay Responseメッセージ
作成し、パケット送受信部50Bに渡す。また
時刻同期部50Aは、スレーブノード11からのDe
lay
Requestメッセージをスループット差吸収部50C
介して受け取る。
クロック同期部50Eは、クロック信号を時 同期部50Aに渡すとともに、パケット送受信 50Bにクロック同期用メッセージを渡す。
パケット送受信部50Bは、クロック同期部5 0Eからクロック同期用メッセージを受け取る 、IPヘッダとMACヘッダとを付けた後、ネッ ワーク52を介してスレーブノード11に送信す 。さらに、時刻同期部50Aから時刻同期用メ セージを受け取ると、IPヘッダとMACヘッダ を付けた後、ネットワーク52を介してスレー ブノード11に送信する。また、パケット送受 部50Bは、ネットワーク52を介してスレーブ ード11から時刻同期用メッセージを受け取る と、ジッタ吸収部50Dに渡す。
ジッタ吸収部50Dは、ジッタバッファを有 、パケット送受信部50Bから時刻同期用メッ ージを受け取ると、パケットの到着間隔の レを補正するために時刻同期用メッセージ ジッタバッファに入れる。そして、このジ タバッファのバッファリングで、パケット 到着間隔のズレを補正した後、時刻同期用 ッセージをクロック同期部50Eからのクロッ に合わせてスループット差吸収部50Cに渡す 尚、ジッタバッファのバッファ量は予め設 されている。
スループット差吸収部50Cは、ジッタ吸収 50Dから時刻同期用メッセージを受け取った 、その受け取り時間を記録する。そして、 刻同期用メッセージを時刻同期部50Aに渡す
<スレーブノード>
スレーブノード11の時刻同期部51Aは、時刻
期用メッセージをマスタノード10から受信す
る。なお、このメッセージには、IEEE 1588に
拠したものを使用しても良い。この場合、
刻同期部51Aは、Syncメッセージ、Follow-upメッ
ージ、およびDelay Responseメッセージをスル
プット差吸収部51Cを介して受け取る。また
時刻同期部51Aは、Delay Requestメッセージを
成するとともに、パケット送受信部51Bを介
てマスタノード10へ送信する。
クロック同期部51Eは、パケット送受信部5 1Bを介してマスタノード10からのクロック同 用メッセージを受け取ると、そのメッセー 中に記載されているタイムスタンプ情報を に、マスタノード10のクロックとのクロック 同期を行い、クロック同期後、その同期させ たクロック信号を時刻同期部51Aに渡す。また 、ジッタ吸収部51Dのバッファ量がマスタ側の ジッタ吸収部50Dのバッファ量と等しくなるよ うに調整する。これは、時間の経過と共に、 マスタ側とスレーブ側のクロックに誤差が出 てしまい、予め設定してあるバッファ量の精 度が低下してしまい、マスタ側のジッタバッ ファのバッファ量とズレが出てきてしまうた めである。
パケット送受信部51Bは、時刻同期部51Aか 時刻同期用メッセージを受け取ると、IPヘ ダとMACヘッダを付けた後、ネットワーク52に 送信する。また、ネットワーク52から時刻同 用メッセージを受け取ると、ジッタ吸収部5 1Dに渡す。また、パケット送受信部51Bは、ネ トワーク52からクロック同期用メッセージ 受け取ると、クロック同期部51Eに渡す。
ジッタ吸収部51Dは、ジッタバッファを有 、パケット送受信部51Bから時刻同期用メッ ージを受け取ると、パケットの到着間隔の レを補正するために時刻同期用メッセージ ジッタバッファに入れる。そして、このバ ファのバッファリングで、パケットの到着 隔のズレを補正した後、時刻同期部51Eから クロック信号に合わせて時刻同期用メッセ ジをスループット差吸収部51Cに渡す。尚、 ッタバッファのバッファ量は予め設定され いる。
スループット差吸収部51Cは、ジッタ吸収 51Dから時刻同期用メッセージを受け取った 、その受け取り時間を記録する。そして、 刻同期用メッセージを時刻同期部51Aに渡す
<動作>
次に、図4及び図5を参照しながら、本発明
実施するための実施の形態の動作について
細に説明する。
図7は、本実施の形態の全体の処理の流れ を示すフローチャートである。
まず、マスタノード10のクロック同期部50 Eは、パケット送受信部50Bを介して、スレー ノード11にクロック同期用メッセージを送信 する。このクロック同期用メッセージには、 RTP(Real-time Transport Protocol)のように、タイム タンプが付けられているものを使用する。 のように、クロック同期部50Eは、クロック 応じたタイムスタンプをクロック同期用メ セージを付け、スレーブノード11に送信す 。このクロック同期用メッセージの送出は 意であるが、時間の経過と共に発生するク ックのズレを考慮すると定期的に送出する が望ましい。尚、少なくとも時刻同期を行 前には送出されるものとする。
このクロック同期用メッセージがスレー ノード11に到着すると、パケット送受信部51 Bはこのメッセージをクロック同期部51Eに転 する。クロック同期部51Eでは、クロック同 メッセージ中に含まれているタイムスタン を元にして、マスタノード10側のクロック同 期部50Eのクロック信号を再生する。この再生 方法には、位相同期ループ(PLL:Phase locked Loop )を用いる。
ここで、PLLについて説明する。図6は、ク ロック同期部51Eに設けられたPLLのブロック図 である。
PLLの比較部60は、受信したクロック同期 ッセージのタイムスタンプと、スレーブノ ド11が生成した現在のタイムスタンプとを比 較し、その比較結果として2つのタイムスタ プの誤差量を示す値を低域通過フィルタ61に 入力し、平滑化する。
そして、低域通過フィルタ61の出力信号 VCO(電圧制御発信器)62に入力し、VCOの発振周 数を制御する。
この発振周波数を分周器63で分周してク ック信号を再生し、以降、この再生された ロック信号を元にタイムスタンプを生成す 。
以上の処理を繰り返し実行することによ 、クロック同期部51Eは、スレーブノード11 のクロックをマスタノード10側のクロックと 一致させることができる(クロック再生)。
次に、クロック同期部51Eは、上記のよう して再生したクロック信号を元にジッタ吸 部51Dのバッファ量の精度を調整し、マスタ ード10側のジッタ吸収部50Dのバッファ量と 致させる。このように、マスタ側のクロッ を再生することにより、マスタノード10とス レーブノード11とのジッタ吸収部のバッファ を正確に一致させることができる。
クロックの同期が完了した後、クロック 期部51Eはマスタノード10側の時刻同期部50A 、クロック同期が完了した旨を伝える。
クロック同期の完了が通知された後、マ タノード10側の時刻同期部50Eは、時刻同期 メッセージをスレーブノード11に送信する。
まず、時刻同期部50Aは、IEEE1588のsyncメッ ージを送信し、続けてFollow-upメッセージを 信する。このとき、パケット送受信部50Bは syncメッセージを送信した時刻Tm(i)をFollow-up ッセージの中に書き込んで送信する。
一方、スレーブノード11側のパケット送 信部51Bは、受信したsyncメッセージとFollow-up ッセージとをジッタ吸収部51Dに渡す。
ジッタ吸収部51Dは、これらのメッセージ 到着間隔のズレをバッファで吸収した後、 メッセージをスループット差吸収部51Cに渡 。このバッファにより、キューイング遅延 よる遅延量のバラつき(ジッタ)の影響を吸 できる。すなわち、Queue1(i)の影響は実質見 なくなる。
次に、スループット差吸収部51Cは、syncメ ッセージを受け取った時刻Ts(i)を記録する。
そして、スループット差吸収部51Cは、このT
s(i)と、Follow-upメッセージ中に書き込まれて
るTm(i)とを比較する。この比較により、以下
の量が求められる。
式(9)
Dms(Length)=Ts(i)-Tm(i)=Delay1-Offset=Propagate+Forward1(i)-
Offset=Propagate+f1・Length-Offset
ここで、Queue1(i)が消去されているのは、上
の説明により、ジッタ吸収部51Dのジッタバ
ファにより、その影響を吸収できているた
である。
スループット差吸収部51Cは、このsyncメッ セージとFollow-upメッセージとを時刻同期部51A に渡す。
次に、時刻同期部51Aは、パケット送受信部5
1Bを介して、Delay
Requestメッセージをマスタノード10に送信する
。このとき、パケット送受信部51Bは、このDel
ay
Requestメッセージを送信した時刻Ts(j)を記録し
ておく。
一方、マスタノード10側のパケット送受信
50Bは、受信したDelay
Requestメッセージをジッタ吸収部50Dに渡す。
ジッタ吸収部50Dは、このメッセージの到 間隔のズレをジッタバッファで吸収した後 スループット差吸収部50Cに渡す。
スループット差吸収部50Cは、このDelay Req uestメッセージが到着した時刻Tm(j)をメッセー ジの中に記録するとともに、時刻同期部50Aに 渡す。
マスタノード10側の時刻同期部50Aは、このDe
lay
Requestメッセージを受け取ると、そのメッセ
ジの中に書き込まれているTm(j)をペイロード
に含んだDelay Responseメッセージをスレーブノ
ード51に送信する。
スレーブノード11側のスループット差吸収
51Cは、このDelay
Responseメッセージ中に含まれているTm(j)と、
に記録しているTs(j)を比較する。この比較に
より、以下の量が求められる。
式(10)
Dsm(Length)=Tm(j)-Ts(j)=Delay2+Offset=Propagate+Forward2(i)+
Offset=Propagate+f2・Length+Offset
以上のようにして、Dms(Length)とDsm(Length)が 求められたが、上記の処理をパケット長Length を変えながら繰り返し行う。これにより、図 8のような、横軸をパケット長(Length)、縦軸を Dms/Dsmとするグラフが得られる。また、これ のグラフの傾きは、f1およびf2となる。
ここで、この2つのグラフの縦軸の切片は、
上式から、それぞれDms(0)=Propagate-Offset、Dsm(0)=
Propagate+Offsetとなっているはずである。した
って、これらの切片データの差分を取るこ
により、以下のようにOffsetを求めることが
きる。
式(11)
Offset=(Dsm0-Dms0)/2
スレーブノード側のスループット差吸収 51Cは、以上の処理によって求められた時刻 フセット情報を、時刻同期部51Aに通知する
スレーブノード側の時刻同期部51Aは、この
刻オフセット情報Offsetを用いて、クロック
期部51Eから受け取っているクロック信号に
して補正をかける。この補正により、以下
ように、スレーブノード11側のタイムスタ
プTs'(t)とマスタノード10側のタイムスタンプ
Tm(t)は一致する。
式(12)
Ts'(t)=Ts(t)+Offset=Tm(t)
以上の処理により、ネットワークの遅延 非対称の場合でも、正確な時刻同期を実現 きることが示された。
<効果>
次に、本発明を実施するための第1の実施の
形態の効果について説明する。
本発明を実施するための第1の実施の形態で
は、キューイング遅延による遅延変動を吸収
するとともにスループット差による遅延変動
を吸収することにより、ネットワークの遅延
が非対称の場合でも正確な時刻同期を実現で
きるので、本発明の目的を達成することがで
きる。
また、スレーブ側でマスタ側のクロック 号を再生させてスレーブ側とマスタ側との ロック信号を一致させることによって、キ ーイング遅延を吸収するジッタバッファの 度をスレーブ側とマスタ側とで一致させる とができるため、正確な時刻同期を実現で 、本発明の目的を達成することができる。
〈発明を実施するための第2の形態〉
本発明を実施するための第2の実施の形態に
ついて、図面を参照して詳細に説明する。尚
、上記実施の形態と同様の構成については同
一番号を付し、詳細な説明を省略する。
<構成>
本発明の第2の実施の形態の構成は、第1の
施の形態とほぼ同じである。ただし、第2の
施の形態の構成では、第1の実施の形態のジ
ッタ吸収部にて行う処理を変更している。
<マスタノード>
マスタノード10のジッタ吸収部50Dは、ネッ
ワークのキューイング遅延の影響を吸収す
ために、スレーブノード11からマスタノード
10へのネットワーク遅延の時間を一定時間計
し、その最小値を求めることにより、キュ
イング遅延が時刻オフセット量の推定精度
与える影響を排除する。
<スレーブノード>
同様に、スレーブノード11のジッタ吸収部51
Dは、ネットワークのキューイング遅延の影
を吸収するために、マスタノード10からスレ
ーブノード11へのネットワーク遅延の時間を
定時間計測し、その最小値を求めることに
り、キューイング遅延が時刻オフセット量
推定精度に与える影響を排除する。
<動作>
次に、図4及び図5を参照しながら、本発明
実施するための実施の形態の動作について
細に説明する。図10は、本実施の形態の全体
の処理の流れを示すフローチャートである。
まず、マスタノード10のクロック同期部50 Eは、スレーブノードに向けて、クロック同 用メッセージを送信する。このクロック同 用メッセージには、RTP(Real-time Transport Protoc ol)のように、タイムスタンプが付けられてい るものを使用する。つまり、クロック同期部 50Eは、クロックに応じたタイムスタンプをク ロック同期用メッセージを付けて送信する。
このクロック同期メッセージがスレーブ ード11に到着すると、パケット送受信部51B クロック同期部51Eに転送する。
クロック同期部51Eでは、このクロック同 メッセージ中に含まれているタイムスタン を元にして、クロック同期部50Eのクロック 再生する。この再生方法には、位相同期ル プ(PLL:Phase locked Loop)を用いる。
PLLは、受信したタイムスタンプとスレー ノードで生成したタイムスタンプを比較し その比較結果を低域通過フィルタに入力し 平滑化する。
そして、フィルタの出力信号をVCO(電圧制 御発信器)に入力し、VCOの発振周波数を制御 る。
この発振周波数を分周器で分周してクロ クを再生した後、このクロックを元にタイ スタンプを生成する。
以上の処理を繰り返し実行することによ 、クロック同期部51Eは、スレーブノード側 クロックをマスタノード側のクロックと一 させることができる。
クロック同期完了後、クロック同期部51E マスタノード側の時刻同期部50Aに、クロッ 同期が完了した旨を伝える。
次に、マスタノード側の時刻同期部50Aは 時刻同期用メッセージをスレーブノード11 送信する。
まず、時刻同期部50Aは、IEEE1588のsyncメッ ージを送信し、続けてFollow-upメッセージを 信する。ここで、パケット送受信部50Bは、s yncメッセージを送信した時刻Tm(i)をFollow-upメ セージの中に書き込んで送信する。
一方、スレーブノード側のパケット送受 部51Bは、受信したsyncメッセージとFollow-upメ ッセージをジッタ吸収部51Dに渡す。
ジッタ吸収部51Dは、Follow-upメッセージを 信した時刻Ts(i)を記録する。
そして、ジッタ吸収部51Dは、このTs(i)と、Fo
llow-upメッセージ中に書き込まれているTm(i)を
比較する。この比較により、以下の量が求め
られる。
式(13)
Dms(Length)=Ts(i)-Tm(i)=Delay1-Offset=Propagate+Queue1(i)+Fo
rward1(i)-Offset=Propagate+Queue1(i)+f1・Length-Offset
このDms(Length)の計測を長時間繰り返し行 ていくと、図9の上図のように、時間的に変 するグラフとなる。Dmsが時間的に変化する もそもの原因は、キューイング遅延Queue1(i) 図9の上図のように時間的に変化するためで ある。そして、このDmsのグラフが最小になる ポイントでは、変動要素を表すQueue1(i)が0に っていると考えられる。
したがって、このグラフの最小値を読み取
ことにより、式(13)のQueue1(i)を0とした以下
式が得られる。
式(14)
Dms'(Length)=Propagate+f1・Length-Offset
ジッタ吸収部51Dは、このようにして得ら たDms'(Length)をスループット差吸収部に渡す
次に、スレーブノード側の時刻同期部51Aは
Delay
Requestメッセージをマスタノードに送信する
パケット送受信部51Bは、このDelay Requestメッ
セージを送信した時刻Ts(j)を記録しておく。
一方、マスタノード側のパケット送受信部5
0Bは、受信したDelay
Requestメッセージをジッタ吸収部50Dに渡す。
ジッタ吸収部50Dは、このメッセージを受 した時刻Tm(j)をDelay Requestメッセージの中に 記録するとともに、スループット差吸収部50C に渡す。
スループット差吸収部50Cは、このDelay Req uestメッセージを時刻同期部50Aに渡す。
マスタノード側の時刻同期部50Aは、このDela
y
Requestメッセージを受け取ると、そのメッセ
ジの中に書き込まれているTm(j)をペイロード
に含んだDelay Responseメッセージをスレーブノ
ードに送信する。
スレーブノード側のジッタ吸収部51Dは、既
記録されているTs(j)と、受け取ったDelay Resp
onseメッセージ中に書き込まれているTm(i)を比
較する。この比較により、以下の量が求めら
れる。
式(15)
Dsm(Length)=Tm(j)-Ts(j)=Delay2+Offset=Propagate+Queue2(i)+Fo
rward2(i)+Offset=Propagate+Queue2(i)+f2・Length+Offset
このDsm(Length)の計測を長時間繰り返し行 ていくと、図9の上図と同様に、時間的に変 するグラフとなる。ここで、このグラフの 小値は、変動要素を表すQueue2(i)が0になって いると考えられる。
したがって、このグラフの最小値を読み取
ことにより、式(15)のQueue2(i)を0とした以下
式が得られる。
式(16)
Dsm'(Length)=Propagate+f2・Length+Offset
ジッタ吸収部51Dは、このようにして得ら たDsm'(Length)をスループット差吸収部51Cに渡 。
以上のようにして、スループット差吸収 51Cは、Dms'(Length)とDsm'(Length)を取得できたが 上記の処理をパケット長Lengthを変えながら り返し行う。これにより、図8と同じように 、横軸をパケット長(Length)、縦軸をDms'/Dsm'と るグラフが得られる。
この2つのグラフの縦軸の切片は、上式から
、それぞれDms'0=Propagate-Offset、Dsm'0=Propagate+Offs
etとなっているので、切片データの差分を取
ことにより、Offsetを求めることができる。
式(17)
Offset=(Dsm'0-Dms'0)/2
スループット差吸収部51Cは、以上の処理 よって求められた時刻オフセット情報を、 刻同期部51Aに通知する。
時刻同期部51Aは、この時刻オフセット情報
Offset を用いて、クロック同期部51Eから受け
取っているクロック信号に対して補正をかけ
る。この補正により、以下のように、スレー
ブ側のタイムスタンプTs'(t)とマスタ側のタイ
ムスタンプTm(t)は一致する。
式(18)
Ts'(t)=Ts(t)+Offset=Tm(t)
以上の処理により、ネットワークの遅延 非対称の場合でも、正確な時刻同期を実現 きることが示された。
<効果>
次に、本発明を実施するための第2の実施の
形態の効果について説明する。
本発明を実施するための第2の実施の形態で
は、キューイング遅延による遅延変動を吸収
するとともにスループット差による遅延変動
を吸収することにより、ネットワークの遅延
が非対称の場合でも正確な時刻同期を実現で
きるので、本発明の目的を達成することがで
きる。
尚、上記第1及び第2の実施の形態では、 ューイング遅延とスループット差による転 遅延との両方を考慮してオフセットを決定 る場合を用いて説明したが、どちらか一方 みを考慮してオフセットを決定する構成で ってもよい。このような構成の場合、キュ イング遅延又は転送遅延は無いものとして フセットを決定する。キューイング遅延と 送遅延とのどちらか一方のみを考慮してオ セットを決定する構成であっても、従来と べて正確な時刻同期を実現できるので、本 明の目的を達成することができる。
また、上述した本発明の端末は、上記説 からも明らかなように、ハードウェアで構 することも可能であるが、コンピュータプ グラムにより実現することも可能である。 の場合、プログラムメモリに格納されてい プログラムで動作するプロセッサによって 上述した実施の形態と同様の機能、動作を 現させる。尚、上述した実施の形態の一部 機能のみをコンピュータプログラムにより 現することも可能である。
本出願は、2007年1月29日に出願された日本 出願特願2007-018074号を基礎とする優先権を主 し、その開示の全てをここに取り込む。
Next Patent: METHOD, DEVICE, AND PROGRAM FOR CALCULATING NUMBER OF OPERATORS NEEDED
