(57)【要約】  パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、スレーブノードのクロックをマスタノードのクロックに同期させるクロック同期システムであり、スレーブノードが、受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較部２０１と、位相比較部で得られた差分に含まれるジッタやノイズを抑圧するＬＰＦ部２０２と、差分を最終的にゼロに追い込むような制御信号を生成するＰＩ制御部２０３と、生成された制御信号に応じた周波数のクロック信号を出力するＶＯＣ部２０４と、クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周部２０５と、分周部からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成部２０６と、タイムスタンプ生成部からのタイムスタンプの分解能を上げる分解能変換部２０７とを含む。
2009119599.tif 000002
【特許請求の範囲】
【請求項１】
パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、前記スレーブノードのクロックを前記マスタノードのクロックに同期させるクロック同期システムであって、
前記スレーブノードが、
受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較手段と、
前記位相比較手段で得られた差分に含まれるジッタやノイズを抑圧する手段と、
前記差分を最終的にゼロに追い込むような制御信号を生成する制御手段と、
生成された制御信号に応じた周波数のクロック信号を出力するクロック出力手段と、
前記クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周手段と、
前記分周手段からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成手段と、
前記タイムスタンプ生成手段からのタイムスタンプの分解能を上げる分解能変換手段と、
を備えたことを特徴とするクロック同期システム。
【請求項２】
前記分解能変換手段は、
前記タイムスタンプ生成手段からのタイムスタンプの値を、分解能を向上させる度合いを示す倍率係数で割ったときの商を求めると共に、
前記タイムスタンプの値を前記倍率係数で割った際の剰余を、前記倍率係数で割った値を求め、
前記商と前記余りを前記倍率係数で割った値を足した値を出力することを特徴とする請求項１に記載のクロック同期システム。
【請求項３】
前記分周手段は、
前記マスタノードからクロック信号の周波数を、分解能を向上させる度合いを示す倍率係数倍の周波数のクロック信号を生成することを特徴とする請求項１又は請求項２に記載のクロック同期システム。
【請求項４】
前記スレーブノードが、
前記位相比較手段からのタイミング誤差を元にネットワークの遅延ジッタをモニタし、前記遅延ジッタの量に応じてタイムスタンプの分解能を調整するジッタモニタ手段を備えたことを特徴とする請求項１から請求項３の何れかに記載の記載のクロック同期システム。
【請求項５】
前記ジッタモニタ手段は、
前記位相比較手段から予め規定された数のタイミング誤差情報を受け取ると、得られた前記タイミング誤差情報から前記遅延ジッタの分散値を算出することを特徴とする請求項４に記載のクロック同期システム。
【請求項６】
前記ジッタモニタ手段は、
算出した前記遅延ジッタの分散値を元に、クロック同期精度が最大となる最適な分解能を求めることを特徴とすることを特徴とする請求項５に記載のクロック同期システム。
【請求項７】
前記ジッタモニタ手段は、
前記分解能を最適な値に合わせるために、前記分周手段に対してアップコンバートする周波数の変更を指示すると共に、前記分解能変換手段に分解能を向上させる度合いを示す倍率係数の変更を指示することを特徴とする請求項６に記載のクロック同期システム。
【請求項８】
パケットネットワーク上のマスタノードから送信されたタイムスタンプパケットを利用して、クロックを前記マスタノードのクロックに同期させるノードであって、
受信タイムスタンプとノード側で生成したタイムスタンプとの間の差分を計算する位相比較手段と、
前記位相比較手段で得られた差分に含まれるジッタやノイズを抑圧する手段と、
前記差分を最終的にゼロに追い込むような制御信号を生成する制御手段と、
生成された制御信号に応じた周波数のクロック信号を出力するクロック出力手段と、
前記クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周手段と、
前記分周手段からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成手段と、
タイムスタンプ生成手段からのタイムスタンプの分解能を上げる分解能変換手段と、
を備えたことを特徴とするノード。
【請求項９】
前記分解能変換手段は、
前記タイムスタンプ生成手段からのタイムスタンプの値を、分解能を向上させる度合いを示す倍率係数で割ったときの商を求めると共に、
前記タイムスタンプの値を前記倍率係数で割った際の剰余を、前記倍率係数で割った値を求め、
前記商と前記余りを前記倍率係数で割った値を足した値を出力することを特徴とする請求項８に記載のノード。
【請求項１０】
前記分周手段は、
前記マスタノードからクロック信号の周波数を、分解能を向上させる度合いを示す倍率係数倍の周波数のクロック信号を生成することを特徴とする請求項８又は請求項９に記載のノード。
【請求項１１】
前記位相比較手段からのタイミング誤差を元にネットワークの遅延ジッタをモニタし、前記遅延ジッタの量に応じてタイムスタンプの分解能を調整するジッタモニタ手段を備えたことを特徴とする請求項８から請求項１０の何れかに記載の記載のノード。
【請求項１２】
前記ジッタモニタ手段は、
前記位相比較手段から予め規定された数のタイミング誤差情報を受け取ると、得られた前記タイミング誤差情報から前記遅延ジッタの分散値を算出することを特徴とする請求項１１に記載のノード。
【請求項１３】
前記ジッタモニタ手段は、
算出した前記遅延ジッタの分散値を元に、クロック同期精度が最大となる最適な分解能を求めることを特徴とすることを特徴とする請求項１２に記載のノード。
【請求項１４】
前記ジッタモニタ手段は、
前記分解能を最適な値に合わせるために、前記分周手段に対してアップコンバートする周波数の変更を指示すると共に、前記分解能変換手段に分解能を向上させる度合いを示す倍率係数の変更を指示することを特徴とする請求項１３に記載のノード。
【請求項１５】
パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、前記スレーブノードのクロックを前記マスタノードのクロックに同期させるクロック同期方法であって、
前記スレーブノードが、
受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較ステップと、
前記位相比較ステップで得られた差分に含まれるジッタやノイズを抑圧するステップと、
前記差分を最終的にゼロに追い込むような制御信号を生成するステップと、
生成された制御信号に応じた周波数のクロック信号を出力するクロック出力ステップと、
前記クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周ステップと、
前記分周ステップからのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成ステップと、
タイムスタンプ生成ステップからのタイムスタンプの分解能を上げる分解能変換ステップと、
を含むことを特徴とするクロック同期方法。
【請求項１６】
前記分解能変換ステップにおいて、
前記タイムスタンプ生成ステップからのタイムスタンプの値を、分解能を向上させる度合いを示す倍率係数で割ったときの商を求めると共に、
前記タイムスタンプの値を前記倍率係数で割った際の剰余を、前記倍率係数で割った値を求め、
前記商と前記余りを前記倍率係数で割った値を足した値を出力することを特徴とする請求項１５に記載のクロック同期方法。
【請求項１７】
前記分周ステップにおいて、
前記マスタノードからクロック信号の周波数を、分解能を向上させる度合いを示す倍率係数倍の周波数のクロック信号を生成することを特徴とする請求項１５又は請求項１６に記載のクロック同期方法。
【請求項１８】
前記スレーブノードが、
前記位相比較ステップからのタイミング誤差を元にネットワークの遅延ジッタをモニタし、前記遅延ジッタの量に応じてタイムスタンプの分解能を調整するジッタモニタステップを含むことを特徴とする請求項１５から請求項１７の何れかに記載の記載のクロック同期方法。
【請求項１９】
前記ジッタモニタステップにおいて、
前記位相比較ステップから予め規定された数のタイミング誤差情報を受け取ると、得られた前記タイミング誤差情報から前記遅延ジッタの分散値を算出することを特徴とする請求項１８に記載のクロック同期方法。
【請求項２０】
前記ジッタモニタステップにおいて、
算出した前記遅延ジッタの分散値を元に、クロック同期精度が最大となる最適な分解能を求めることを特徴とすることを特徴とする請求項１９に記載のクロック同期方法。
【請求項２１】
前記ジッタモニタステップにおいて、
前記分解能を最適な値に合わせるために、前記分周ステップに対してアップコンバートする周波数の変更を指示すると共に、前記分解能変換ステップに分解能を向上させる度合いを示す倍率係数の変更を指示することを特徴とする請求項２０に記載のクロック同期方法。
【請求項２２】
パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、前記スレーブノードのクロックを前記マスタノードのクロックに同期させるクロック同期プログラムであって、
前記スレーブノードに、
受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較処理と、
前記位相比較処理で得られた差分に含まれるジッタやノイズを抑圧する処理と、
前記差分を最終的にゼロに追い込むような制御信号を生成する処理と、
生成された制御信号に応じた周波数のクロック信号を出力するクロック出力処理と、
前記クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周処理と、
前記分周処理からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成処理と、
タイムスタンプ生成処理からのタイムスタンプの分解能を上げる分解能変換処理とを実行させることを特徴とするクロック同期プログラム。
【請求項２３】
前記分解能変換処理において、
前記タイムスタンプ生成処理からのタイムスタンプの値を、分解能を向上させる度合いを示す倍率係数で割ったときの商を求めると共に、
前記タイムスタンプの値を前記倍率係数で割った際の剰余を、前記倍率係数で割った値を求め、
前記商と前記余りを前記倍率係数で割った値を足した値を出力することを特徴とする請求項２２に記載のクロック同期プログラム。
【請求項２４】
前記分周処理において、
前記マスタノードからクロック信号の周波数を、分解能を向上させる度合いを示す倍率係数倍の周波数のクロック信号を生成することを特徴とする請求項２２又は請求項２３に記載のクロック同期プログラム。
【請求項２５】
前記スレーブノードが、
前記位相比較処理からのタイミング誤差を元にネットワークの遅延ジッタをモニタし、前記遅延ジッタの量に応じてタイムスタンプの分解能を調整するジッタモニタ処理を含むことを特徴とする請求項２２から請求項２４の何れかに記載の記載のクロック同期プログラム。
【請求項２６】
前記ジッタモニタ処理において、
前記位相比較処理から予め規定された数のタイミング誤差情報を受け取ると、得られた前記タイミング誤差情報から前記遅延ジッタの分散値を算出することを特徴とする請求項２５に記載のクロック同期プログラム。
【請求項２７】
前記ジッタモニタ処理において、
算出した前記遅延ジッタの分散値を元に、クロック同期精度が最大となる最適な分解能を求めることを特徴とすることを特徴とする請求項２６に記載のクロック同期プログラム。
【請求項２８】
前記ジッタモニタ処理において、
前記分解能を最適な値に合わせるために、前記分周処理に対してアップコンバートする周波数の変更を指示すると共に、前記分解能変換処理に分解能を向上させる度合いを示す倍率係数の変更を指示することを特徴とする請求項２７に記載のクロック同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットネットワークを介して、装置間のクロックを同期させるためのクロック同期システム、ノード、クロック同期方法及びプログラムに関し、特に、パケットネットワーク内における、マスタノードとスレーブノードの間のクロックオフセットを補正するためのクロック同期システム、ノード、クロック同期方法及びプログラムに関するものである。
【背景技術】
【０００２】
通信事業者は、より付加価値の高いサービスを実現するべく、高速データ通信網の構築を進めている。【０００３】
高速データ通信網は大きなトラフィック容量が必要となるため、高コストな時分割多重（ＴＤＭ）方式よりも、低コストかつ高効率なインターネットプロトコル（ＩＰ）方式が適している。【０００４】
しかしながら、ネットワークをＩＰ方式に移行する場合、アプリケーションによっては正確なクロック情報をパケットネットワークに繋がれた機器に伝達する必要がある。【０００５】
例えば、音声やビデオなどのリアルタイムデータを送受信装置間で高品質にやり取りするには、あらかじめ決められたタイミングでデータを再生する必要があり、安定したクロックが必要不可欠となる。【０００６】
また、モバイルネットワークなどでは、セル間のハンドオーバを滞りなく実現するために正確なクロックが必要不可欠である。【０００７】
具体的には、モバイルネットワーク上の各ベースステーションの場合は、５０ppb（parts per billion）の精度でクロック同期を取る必要がある。もし、ベースステーションのクロックがこの枠を超えてドリフトしてしまった場合、セル間のハンドオーバが失敗してしまい、パケットが欠落したり、通信品質が劣化する可能性がある。【０００８】
このように、安定したサービス品質を実現するには、パケットネットワークを介して正確なクロック情報を伝達するための方法が必要となる。この問題を解決できる有用な技術としては、タイムスタンプ方式が挙げられる。タイムスタンプ方式は、簡単に実装できるとともに、優れたクロック同期精度を実現することができる。【０００９】
上述したタイムスタンプ方式による構成例を図１４に示す。タイムスタンプ方式では、マスタノードからタイムスタンプが付いたパケットをスレーブノードに送信するとともに、スレーブノードではタイムスタンプを元に自身のクロックを調整することにより、クロック同期を図る。【００１０】
より詳細には、このタイムスタンプは、位相同期ループ（ＰＬＬ）の制御信号を生成するために使われる。すなわち、ＰＬＬは、自身のクロックと新たに到着したタイムスタンプとの差分を計算し、その差分を元にクロックを調節することで、クロック同期を実現する。【００１１】
ここで、ＰＬＬ回路３００は、主に６つの機能から成り立っている。つまり、ＰＬＬ回路３００は、位相比較部３０１、ループフィルタ（ＬＰＦ）部３０２、比例・積分（ＰＩ）制御部３０３、電圧制御発信部（ＶＣＯ）３０４、分周部３０５、そしてタイムスタンプ生成部３０６を備えている。【００１２】
位相比較部３０１は、受信タイムスタンプとスレーブノード側で生成されたタイムスタンプ間の差分信号を計算する。この差分信号はＬＰＦ部３０２に入力され、ジッタやノイズが抑圧される。【００１３】
ＰＩ制御部３０３は、この差分信号を最終的にゼロに追い込むような制御信号をＶＣＯ部３０４に出力する。【００１４】
ＶＣＯ部３０４は、ＰＩ制御部３０３からの制御信号によって決定される周波数のクロックを出力する。【００１５】
分周部３０５は、ＶＣＯ部３０４からの周波数を変換し、アップコンバートまたはダウンコンバートしたクロックを生成する。【００１６】
タイムスタンプ生成部３０６は、受け取ったクロックを元にして、タイムスタンプを出力する。【００１７】
上述したタイムスタンプ方式に関する技術は、例えば、特許文献１及び特許文献２に開示されている。
【特許文献１】特開平０５−３７５６０号公報
【特許文献２】特開２００３−２５８８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
ここで、クロック同期状態というのは、図１５の（Ａ）に示すように、受信タイムスタンプ４００とスレーブノードで生成されたタイムスタンプ４０１のタイミングが完全に一致している状態である。【００１９】
一方、クロックが同期していない状態（非同期状態）では、図１６の（Ｂ）に示すように、タイムスタンプ４００と４０１のタイミングにズレが存在する。【００２０】
正確なクロック同期を実現するには、このようなズレを迅速に検出すると共に、タイミングを修正する必要がある。しかし、タイムスタンプのズレ方によっては、このズレを簡単には検出できない。【００２１】
図１６はその様子を示している。まず、スレーブノード側のクロック周波数がマスタノード側に比べて低くなっているケースを考える。【００２２】
スレーブノード側のタイムスタンプは図１６の中段のパターンで表され、マスタノード側に比べてゆっくり進んでいく。この場合、マスタノードとスレーブノードのタイムスタンプのズレは、２つ目のタイムスタンプで検出できる。【００２３】
一方、スレーブノード側のクロック周波数がマスタノード側に比べて高くなっているケースを考える。【００２４】
スレーブノード側のタイムスタンプは図１６の下段のパターンで表され、マスタノード側に比べて早く進んでいく。この場合、マスタノードとスレーブノードのタイムスタンプのズレは、８つ目のタイムスタンプが到着するまで検出できない。【００２５】
このように、後者のようなケースではタイムスタンプのズレを迅速に検出できず、クロック周波数の修正に時間がかかってしまうので、クロック同期精度が劣化してしまうことになる。【００２６】
（発明の目的）
本発明は、上述した問題を解決するためになされたものであり、タイムスタンプのズレを迅速に検出することにより、正確なクロック同期を実現可能なクロック同期システム、ノード、クロック同期方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２７】
本発明によるクロック同期システムは、パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、スレーブノードのクロックをマスタノードのクロックに同期させるクロック同期システムであって、スレーブノードが、受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較手段と、位相比較手段で得られた差分に含まれるジッタやノイズを抑圧する手段と、差分を最終的にゼロに追い込むような制御信号を生成する制御手段と、生成された制御信号に応じた周波数のクロック信号を出力するクロック出力手段と、クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周手段と、分周手段からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成手段と、タイムスタンプ生成手段からのタイムスタンプの分解能を上げる分解能変換手段とを含む。【００２８】
本発明によるノードは、パケットネットワーク上のマスタノードから送信されたタイムスタンプパケットを利用して、クロックをマスタノードのクロックに同期させるノードであって、受信タイムスタンプとノード側で生成したタイムスタンプとの間の差分を計算する位相比較手段と、位相比較手段で得られた差分に含まれるジッタやノイズを抑圧する手段と、差分を最終的にゼロに追い込むような制御信号を生成する制御手段と、生成された制御信号に応じた周波数のクロック信号を出力するクロック出力手段と、クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周手段と、分周手段からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成手段と、タイムスタンプ生成手段からのタイムスタンプの分解能を上げる分解能変換手段とを含む。【００２９】
本発明によるクロック同期方法は、パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、スレーブノードのクロックをマスタノードのクロックに同期させるクロック同期方法であって、スレーブノードが、受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較ステップと、位相比較ステップで得られた差分に含まれるジッタやノイズを抑圧するステップと、差分を最終的にゼロに追い込むような制御信号を生成するステップと、生成された制御信号に応じた周波数のクロック信号を出力するクロック出力ステップと、クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周ステップと、分周ステップからのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成ステップと、タイムスタンプ生成ステップからのタイムスタンプの分解能を上げる分解能変換ステップとを含む。【００３０】
本発明によるクロック同期プログラムは、パケットネットワーク上のマスタノードからスレーブノードに送信されたタイムスタンプパケットを利用して、スレーブノードのクロックをマスタノードのクロックに同期させるクロック同期プログラムであって、スレーブノードに、受信タイムスタンプとスレーブノード側で生成されたタイムスタンプとの間の差分を計算する位相比較処理と、位相比較処理で得られた差分に含まれるジッタやノイズを抑圧する処理と、差分を最終的にゼロに追い込むような制御信号を生成する処理と、生成された制御信号に応じた周波数のクロック信号を出力するクロック出力処理と、クロック信号の周波数をアップコンバートした周波数のクロック信号を生成する分周処理と、分周処理からのクロック信号を元にタイムスタンプを出力するタイムスタンプ生成処理と、タイムスタンプ生成処理からのタイムスタンプの分解能を上げる分解能変換処理とを実行させる。
【発明の効果】
【００３１】
本発明によれば、スレーブノードで再生するタイムスタンプの分解能を上げることで、受信タイムスタンプと再生タイムスタンプにズレが生じた際の検出時間と検出精度を向上し、クロック周波数を迅速かつ正確に調整することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施の形態によるクロック同期システムの構成とそのスレーブノードの構成を示すブロック図である。
【図２】本発明の第１の実施の形態におけるスレーブノードの分解能変換部の構成を示すブロック図である。
【図３】タイムスタンプの分解能を上げた場合の同期精度を説明するための図である。
【図４】第１の実施の形態の有効性を評価するために行った実験結果を示す図である。
【図５】本発明の第２の実施の形態によるクロック同期システムの構成とそのスレーブノードの構成を示すブロック図である。
【図６】遅延ジッタの有無によるタイムスタンプの状態を示す図である。
【図７】遅延ジッタの影響によって同期精度が劣化する様子を示す図である。
【図８】タイムスタンプの分解能とクロック同期精度の関係を示す図である。
【図９】タイムスタンプのバラつきの発生確率を説明する図である。
【図１０】分散値をパラメータとした、分解能とクロック同期精度の関係の例を示す図である。
【図１１】分解能変換部に対して１０倍の分解能のタイムスタンプの出力指示における設定例を示す図である。
【図１２】第２の実施の形態によるジッタモニタによる動作を説明するフローチャートである。
【図１３】本発明の実施の形態によるスレーブノードのハードウェア構成例を示すブロック図である。
【図１４】関連技術としてのタイムスタンプ方式による構成例を示すブロック図である。
【図１５】クロック同期状態とクロック非同期状態を説明する図である。
【図１６】タイムスタンプのズレを検出する様子を示す図である。
【発明を実施するための最良の形態】
【００３３】
（第１の実施の形態）
本発明を実施するための第１の実施の形態について、図面を参照して詳細に説明する。【００３４】
（構成）
図１を参照すると、本発明の第１の実施の形態によるシステムは、パケットネットワーク３０と、マスタノード１０と、スレーブノード２０とを含む。【００３５】
（マスタノード１０について）
マスタノード１０は、クロック同期のためのタイムスタンプが付いたパケットをスレーブノード２０に対して定期的に送信する。ここで、タイムスタンプは、マスタノード１０のクロックを元にして生成され、その値は、例えば、パケット毎に１ずつ増加するようなものである。【００３６】
（スレーブノード２０について）
スレーブノード２０は、図示のように、位相比較部２０１と、ＬＰＦ部２０２と、ＰＩ制御部２０３と、ＶＣＯ部２０４と、分周部２０５と、タイムスタンプ生成部２０６と、分解能変換部２０７を含んでいる。【００３７】
スレーブノード２０は、タイムスタンプが付いたパケットをマスタノード１０から受信する。
受信したパケットのタイムスタンプは、位相比較部２０１に送られる。
位相比較部２０１は、受信したパケットのタイムスタンプと、スレーブノード２０で再生されたタイムスタンプの間のズレ（差分）であるタイミング誤差を計算し差分信号を生成し、差分信号をＬＰＦ部２０２に送る。【００３８】
ＬＰＦ部２０２は、受信した差分信号に含まれるジッタやノイズの抑圧処理を実行し、ジッタやノイズが抑圧された差分信号をＰＩ制御部２０３に送る。【００３９】
ＰＩ制御部２０３は、ＬＰＦ部２０２からのジッタやノイズが抑圧された差分信号を最終的にゼロに追い込むような制御信号に変換する。【００４０】
この制御信号は、ＶＣＯ部２０４に送られ、ＶＣＯ部２０４では制御信号の大きさに応じた周波数のクロック信号を出力する。【００４１】
分周部２０５は、ＶＣＯ部２０４からのクロック信号をより高い周波数にアップコンバートしたクロック信号を生成する。【００４２】
ここで、関連技術で一般的に利用される分周部では、ダウンコンバートした周波数を送信タイムスタンプの周波数としていた。例えば、送信タイムスタンプの周波数が8kHzの場合、分周部はダウンコンバートした周波数を8kHzとしていた。【００４３】
これに対して、本実施の形態の分周部２０５では、タイムスタンプの分解能を上げるために、より高い周波数にアップコンバートする。例えば、1000倍の分解能を実現するのであれば、8kHzの1000倍である8MHzにアップコンバートする。【００４４】
タイムスタンプ生成部２０６は、分周部２０５でダウンコンバートされたクロック信号を受け取り、このクロック信号を元にタイムスタンプを出力する。【００４５】
分解能変換部２０７は、タイムスタンプの分解能を上げるために変換処理を施し、分解能の上がったタイムスタンプを出力する。【００４６】
図２は、8MHzのタイムスタンプから、分解能が1000倍になった8kHzのタイムスタンプを生成する分解能変換部２０７の構成例を示している。【００４７】
図２において、分解能変換部２０７は、第１演算部２０７ａ、第２演算部２０７ｂ、第３演算部２０７ｃ、加算器２０７ｄを備えている。【００４８】
第１演算部２０７ａは、タイムスタンプ生成部２０６からのタイムスタンプの値を、分解能を向上させる度合いを示す倍率係数で除算したときの商を求める。【００４９】
第２演算部２０７ｂと第３演算部２０７ｃは、タイムスタンプの値を倍率係数で除算した際の剰余を、さらに倍率係数で割った値を求める。【００５０】
また、加算器２０７ｄは、第１演算部２０７ａによる演算結果（商）と、第２演算部２０７ｂ及び第３演算部２０７ｃによる演算結果を足し合わせて出力する。【００５１】
タイムスタンプ生成部２０６から8MHzのタイムスタンプを受け取った場合の分解能変換部２０７による分解能の変換処理の例を説明する。【００５２】
分解能変換部２０７は、受け取ったタイムスタンプを２つに分岐した後、タイムスタンプの値を分解能を向上させる倍率係数「１０００」で除算したときの商を求めるために、第１演算部２０７ａで「Int(in/1000)」の演算をする。【００５３】
また、タイムスタンプの値を倍率係数「１０００」で除算したときの余りを求めるために第２演算部２０７ｂで「in % 1000」の演算を行った後、第３演算部２０７ｃで「in × 0.001」の演算（０．００１を乗算）を行う。【００５４】
これらの２つの演算結果を加算器２０７ｄで足し合わせることにより、分解能が１０００倍になった８ｋＨｚのタイムスタンプを生成することができる。【００５５】
（第１の実施の形態による動作）
次に、第１の実施の形態による動作についに説明する。【００５６】
第１の実施の形態においては、基本的には、一般的な位相同期ループ（ＰＬＬ）をベースにしている。そのため、位相比較部２０１やＬＰＦ部２０２、ＰＩ制御部２０３、ＶＣＯ部２０４、分周部２０５、タイムスタンプ生成部２０６などの各要素の動作については、関連技術の一般的な要素と同じである。【００５７】
しかし、タイムスタンプのタイミングのズレを迅速に検出するために、本第１の実施の形態では、スレーブノード２０側のタイムスタンプの分解能を上げている。【００５８】
タイムスタンプの分解能の向上するために、第１の実施の形態の分周部２０５と分解能変換部２０７は、以下のように動作する。【００５９】
まず、分周部２０５では、タイムスタンプの分解能を上げることを想定して、ＶＣＯ部２０４のクロック周波数をより高い周波数にアップコンバートする。そして、分解能変換部２０７では、タイムスタンプの分解能を上げるために図２に示したような変換処理を施し、分解能を上げたタイムスタンプを出力する。【００６０】
図３は、タイムスタンプの分解能を上げた場合の例を示している。【００６１】
まず、スレーブノード２０側のクロック周波数がマスタノード１０側に比べて低くなっているケースを考える。【００６２】
この場合のスレーブノード２０側のタイムスタンプは、図３の中段のパターンで表され、マスタノード１０側に比べてゆっくり進んでいく。【００６３】
この場合、マスタノード１０とスレーブノード２０のタイムスタンプのズレは、関連技術と同様に２つ目のタイムスタンプで検出できる。また、タイムスタンプの分解能を上げていることから、タイムスタンプのズレ量を正確に把握することができる。【００６４】
図３の例では、送信側から２つ目のタイムスタンプを受信した時点では、再生タイムスタンプはまだ１．９９９となっているので、０．００１のズレ（遅れ）が検出される。【００６５】
一方、スレーブノード２０側のクロック周波数がマスタノード１０側に比べて高くなっているケースを考える。【００６６】
この場合のスレーブノード２０側のタイムスタンプは、図３の下段のパターンで表され、マスタノード１０側に比べて早く進んでいく。【００６７】
この場合、関連技術による方式だと、８つ目のタイムスタンプが到着するまでタイムスタンプのズレを検出できなかった。【００６８】
これに対して、本発明の第１の実施の形態では、タイムスタンプの分解能を上げているので、２つ目のタイムスタンプでズレを検出できる。【００６９】
この例では、送信側からタイムスタンプ（２）を受信した時点で、再生タイムスタンプはすでに２．００１となっているので０．００１のズレ（進み）が検出される。【００７０】
このように、分解能の高いタイムスタンプを用いることにより、タイムスタンプのズレを瞬時に検出することが可能となり、同期精度を向上することができる。【００７１】
図４は、第１の実施の形態の有効性を評価するために行った実験結果を示している。【００７２】
図４は、本発明を適用しない関連技術による方式と、第１の実施の形態による方式とのクロック同期誤差を示している。【００７３】
図４から分かるように、関連技術によるこれまでの方式では、クロック同期誤差が１０ｐｐｂ（parts per billion）を超えてしまうような箇所が存在する。【００７４】
これに対して、第１の実施の形態によるクロック同期精度は常に安定しており、同期誤差を抑圧できていることが分かる。【００７５】
このように、本実施の形態を用いてタイムスタンプの分解能を上げることにより、タイムスタンプのズレ検出に要する時間が短縮され、クロック周波数を迅速に調整することができる。これにより、クロック周波数がズレている時間を最小化することができるので、正確なクロック同期を実現できる。【００７６】
（第１の実施の形態による効果）
次に、第１の実施の形態による効果について説明する。【００７７】
第１の実施の形態では、タイムスタンプの分解能を上げることにより、タイムスタンプのズレ検出に要する時間を大幅に短縮することができるので、クロック周波数を迅速に調整することが可能となる。これにより、クロック周波数がズレている時間を最小化することができるので、正確なクロック同期を実現できる。【００７８】
（第２の実施の形態）
本発明の第２の実施の形態について図面を参照して詳細に説明する。【００７９】
（構成）
図５を参照すると、本発明の第２の実施の形態は、第１の実施の形態と同様、パケットネットワーク３０と、マスタノード１０とスレーブノード２０とを含む。【００８０】
（マスタノード１０について）
マスタノード１０は、クロック同期のためのタイムスタンプが付いたパケットをスレーブノード２０に定期的に送信する。【００８１】
（スレーブノード２０について）
スレーブノード２０は、図１と同様に、位相比較部２０１と、ＬＰＦ部２０２と、ＰＩ制御部２０３と、ＶＣＯ部２０４と、分周部２０５と、タイムスタンプ生成部２０６と、分解能変換部２０７を含んでいる。【００８２】
第２の実施の形態のスレーブノード２０は、上記の構成に加えて、ジッタモニタ２０８を含んでいる点で、第１の実施の形態と異なる。【００８３】
このジッタモニタ２０８は、受信タイムスタンプの到着時間を元にして、ネットワークの遅延ジッタ量を計測する。【００８４】
そして、ジッタモニタ２０８は、計測した遅延ジッタ量に基づいて、分周部２０５の分周比と分解能変換部２０７の分解能を調整する機能を有する。【００８５】
スレーブノード２０における位相比較部２０１と、ＬＰＦ部２０２と、ＰＩ制御部２０３と、ＶＣＯ部２０４と、分周部２０５と、タイムスタンプ生成部２０６と、分解能変換部２０７の構成と動作については、第１の実施の形態と同じであるため、説明を省略する。【００８６】
（第２の実施の形態による動作）
次に、本発明の第２の実施の形態による動作について詳細に説明する。【００８７】
本発明の第２の実施の形態では、ネットワークの遅延ジッタの量に応じて、タイムスタンプの分解能を調整することにより遅延ジッタによる精度劣化を回避しながら、正確なクロック同期を実現するものである。【００８８】
図６は、遅延ジッタがある状態でのタイムスタンプを示している。ここで、クロック同期は確立されているものとする。【００８９】
図６の左側は、関連技術による方式のタイムスタンプを示しているが、遅延ジッタがない場合（同期状態 without ジッタ）、受信タイムスタンプと再生タイムスタンプはタイミングがぴったり合っている。一方、遅延ジッタがある場合（同期状態
with ジッタ）、受信タイムスタンプのタイミングがバラバラになってくる。【００９０】
しかし、図６のように、受信タイムスタンプのバラつき量が１タイムスタンプ間隔以下になっている場合、受信タイムスタンプと再生タイムスタンプを比較しても誤差は検出されない。これは、再生タイムスタンプの分解能が低いため、遅延ジッタによるタイミングのズレが検出されないからである。【００９１】
以上のように、遅延ジッタが１タイムスタンプ間隔を越えない場合、タイミングのズレが検出されないので、関連技術による方式では遅延ジッタの影響を受けずに済む。【００９２】
一方、図６の右側は、上述した第１の実施の形態による方式によって、再生タイムスタンプの分解能を上げた場合のタイムスタンプを示している。【００９３】
この場合、遅延ジッタによって受信タイムスタンプのタイミングがバラバラになると、遅延ジッタ量に応じてタイミングのズレが検出されることになる。例えば、分解能を１００倍に上げた場合、タイムスタンプ間隔の１/１００のわずかな遅延ジッタですら、タイミングズレの原因となる。【００９４】
このように、再生タイムスタンプの分解能を上げると、僅かな遅延ジッタにも敏感に反応してしまい、それが原因でクロック同期精度が劣化してしまう。【００９５】
図７は、遅延ジッタの影響によって同期精度が劣化する様子を示している。【００９６】
遅延ジッタを含んだパケットが到着すると、クロックが誤修正されるため、一時的に同期精度が劣化している。このように、再生タイムスタンプの分解能を上げると、遅延ジッタの影響によって同期精度が劣化するという問題が発生する。【００９７】
図８は、タイムスタンプの分解能とクロック同期精度の関係を示している。【００９８】
遅延ジッタが存在しない場合には、分解能を上げれば上げるほど、クロック同期精度が向上する（図８の破線）。同期精度が良くなる理由は、第１の実施の形態で説明したように、分解能を上げるとクロックのズレを瞬時に検出できるようになるためである。【００９９】
一方、遅延ジッタが存在する場合のグラフを図８の実線で示している。この場合、分解能を上げすぎると、前述したように、遅延ジッタに敏感に反応してしまうので、同期精度が逆に劣化してしまう。【０１００】
ただし、タイムスタンプの分解能を上げた場合でも、遅延ジッタによる影響を最小限に抑えて最良の同期精度を達成できる最適な分解能が存在する。【０１０１】
本発明の第２の実施の形態は、この最適な分解能を見つけ出すことで、いかなる状況でも最良のクロック同期精度を達成することを可能にする。【０１０２】
第２の実施の形態の特徴的な構成は、遅延ジッタを監視し、その監視結果に基づいて分解能を制御する点にある。【０１０３】
遅延ジッタを監視するために、第２の実施の形態では、ジッタモニタ２０８によって受信タイムスタンプのバラつきを計測する。この受信タイムスタンプのばらつきについては、位相比較部２０１の出力信号から計測することができる。【０１０４】
図９は、タイムスタンプのバラつきの発生確率を示している。タイムスタンプのバラつきは、図９のように正規分布を半分にしたような形である。ここで、面積が半分になるような範囲を遅延ジッタの分散値（σ）とする。【０１０５】
図１０は、分散値σをパラメータとした、分解能とクロック同期精度の関係の例を示している。ここで、グラフの形状は、遅延ジッタの分散値σをパラメータとして変化する。【０１０６】
σ=1msのように、遅延ジッタが大きなケースでは、分解能=10倍が最適の分解能であることを示している。【０１０７】
一方、σ=0.1msのように、遅延ジッタが小さなケースでは、分解能=20倍が最適の分解能であることを示している。【０１０８】
そこで、本実施の形態によるジッタモニタ２０９には、事前に実験などを通じて取得した図１０に示すような特性曲線に基づいて、遅延ジッタの分散値をパラメータとした分解能とクロック同期精度の関係を示すデータを予め設定してある。【０１０９】
これにより、ジッタモニタ２０８は、計測された遅延ジッタの分散値σに基づいて、予め設定した分解能とクロック同期精度の関係からクロック同期精度が最大となる最適な分解能を求めると共に、タイムスタンプの分解能を求めた最適な分解能に合わせるために、分周部２０５と分解能変換部２０７に対して調整を指示する。【０１１０】
例えば、１０倍の分解能に設定する場合、分周部２０５に対して、クロック信号の周波数を送信タイムスタンプの１０倍の周波数にアップコンバートして出力するように指示する。【０１１１】
また、分解能変換部２０７に対しては、１０倍の分解能のタイムスタンプを出力するように指示する。具体的には、図１１に示すように、分解能変換部２０７の第１演算部２０７ａ、第２演算部２０７ｂに対して分解能を向上させる度合いを示す倍率係数「１０」を設定し、第３演算部２０７ｃに対して当該倍率係数の逆数（１／１０＝０．１）を設定する。【０１１２】
ここで、本実施の形態によるジッタモニタ２０８による動作について図１２のフローチャートに従って説明する。【０１１３】
ジッタモニタ２０８は、位相比較部２０１からタイムスタンプのズレ情報を受信する毎に（ステップＳ３０１）、そのズレ情報のサンプル数をインクリメントする（ステップＳ３０２）。【０１１４】
次いで、ズレ情報のサンプル数が予め設定した規定値（Ｘ）に達したかどうかを判定する（ステップＳ３０３）。規定値に達していなければズレ情報の受信を続ける。【０１１５】
規定値に達していれば、ズレ情報のサンプル数を初期化し（ステップＳ３０４）、取得したズレ情報から遅延ジッタの分散値σを算出する（ステップＳ３０５）。【０１１６】
次いで、算出した遅延ジッタの分散値σに基づいて、予め設定した分解能とクロック同期精度の関係からクロック同期精度が最大となる最適な分解能を求める（ステップＳ３０６）。【０１１７】
その後、タイムスタンプの分解能を求めた最適な分解能に合わせるために、分周部２０５と分解能変換部２０７に対して調整を指示する（ステップＳ３０７）。【０１１８】
このように、遅延ジッタ量に合わせた最適な分解能を見つけ出すことで、いかなる状況でも最良のクロック同期精度を達成できる。【０１１９】
（第２の実施の形態による効果）
次に、本発明の第２の実施の形態の効果について説明する。
第２の実施の形態では、遅延ジッタを計測して、ネットワークの遅延ジッタ量に応じてタイムスタンプの分解能を調整することにより、遅延ジッタの影響を回避しながらクロック周波数を迅速に調整することができる。これにより、本発明の正確なクロック同期を実現するという目的を達成することができる。【０１２０】
次に、上記スレーブノード２０のハードウェア構成例について、図１３を参照して説明する。【０１２１】
図１３を参照すると、スレーブノード２０は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部４０２、ネットワーク６００を介してデータの送受信を行う通信部４０３、外部装置と接続してデータの送受信を行う入出力インタフェース部４０４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部４０５、本情報処理装置の上記各構成要素を相互に接続するシステムバス４０６、ディスプレイ装置等の出力装置４０７及びキーボード等の入力装置４０８を備えている。【０１２２】
本実施の形態によるスレーブノード２０は、タイムスタンプ方式によるクロック同期を実行するクロック同期プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、位相比較部２０１、ＬＰＦ部２０２、ＰＩ制御部２０３、ＶＯＣ部２０４、分周部２０５、タイムスタンプ生成部２０６、分解能変換部２０７及びジッタモニタ部２０８の各機能を提供するクロック同期プログラムを、補助記憶部４０５に格納し、そのプログラムを主記憶部４０２にロードしてＣＰＵ４０１で実行することにより、ソフトウェア的に実現することも可能である。【０１２３】
以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。【０１２４】
この出願は、２００８年３月２７日に出願された日本出願特願２００８−０８２９３７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009119599.tif 000003
【図２】
2009119599.tif 000004
【図３】
2009119599.tif 000005
【図４】
2009119599.tif 000006
【図５】
2009119599.tif 000007
【図６】
2009119599.tif 000008
【図７】
2009119599.tif 000009
【図８】
2009119599.tif 000010
【図９】
2009119599.tif 000011
【図１０】
2009119599.tif 000012
【図１１】
2009119599.tif 000013
【図１２】
2009119599.tif 000014
【図１３】
2009119599.tif 000015
【図１４】
2009119599.tif 000016
【図１５】
2009119599.tif 000017
【図１６】
2009119599.tif 000018
【国際調査報告】
2009119599.tif 000019
2009119599.tif 000020
2009119599.tif 000021
2009119599.tif 000022