(57)【特許請求の範囲】
【請求項１】
マスターノードと、
ＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）と、
前記マスターノードから前記ＰＳＮを介して定期的に送信されるパケットを利用して、自身のクロックを前記マスターノードに同期させるスレーブノードと、
を具備し、
前記スレーブノードは、
前記マスターノードから送信される前記パケットである受信パケットを一時的に保存する共にバッファ蓄積量を観測して出力し、前記スレーブノードの再生クロック周波数を用いてデータを読み出すバッファと、
前記バッファから受信する前記バッファ蓄積量において、時間間隔毎に前記バッファ蓄積量の最大値を抽出する最大値抽出部と、
前記最大値抽出部から受信する前記バッファ蓄積量の最大値が基準値を保持するように、制御電圧を制御する制御部と、
前記制御部から受け取る前記制御電圧で前記再生クロック周波数を変化させるＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）と、
を備えるクロック同期システム。
【請求項２】
前記スレーブノードは、
前記受信パケットのシーケンス番号に基づいてパケットロス状況を検知し、その結果、ロスパケットを検知した場合、前記ロスパケットと同サイズ又は予め決められた固定サイズのダミーデータを前記バッファに入れる、或いは、前記ロスパケットを検知したことを前記最大値抽出部へ通知するパケットシーケンス検知部、
を更に備え、
前記最大値抽出部は、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足す処理を行う、
請求項１に記載のクロック同期システム。
【請求項３】
前記スレーブノードは、
前記スレーブノードの内部温度を測定して、前記内部温度の変化量を前記最大値抽出部に通知する温度監視部、
を更に備え、
前記最大値抽出部は、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足し、
前記温度監視部から前記内部温度の変化量を受け取る場合、前記ＰＳＮのキューイング遅延のみを考慮するのではなく、温度ドリフトによるクロック精度劣化も考慮して、前記ＶＣＯの特性に基づいて、自走クロックの前記時間間隔を調整する、
請求項２に記載のクロック同期システム。
【請求項４】
前記スレーブノードの前記バッファは、実バッファ又はバッファカウンターであり、
前記バッファが前記実バッファである場合、前記受信パケットを一時的に保存する共に前記バッファ蓄積量を観測して出力し、前記スレーブノードの前記再生クロック周波数を用いてデータを読み出し、
前記バッファが前記バッファカウンターである場合、前記受信パケットのパケットサイズ又は予め決められた固定サイズを前記バッファ蓄積量にカウントアップして前記最大値抽出部に出力し、前記スレーブノードの前記再生クロック周波数でデータを出力することを模擬して前記バッファ蓄積量をカウントダウンする、
請求項１〜３のいずれかに記載のクロック同期システム。
【請求項５】
マスターノードからＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）を介して定期的に送信されるパケットを利用して、自身のクロックを前記マスターノードに同期させるスレーブノードであって、
前記マスターノードから送信される前記パケットである受信パケットを一時的に保存する共にバッファ蓄積量を観測して出力し、前記スレーブノードの再生クロック周波数を用いてデータを読み出すバッファと、
前記バッファから受信する前記バッファ蓄積量において、時間間隔毎に前記バッファ蓄積量の最大値を抽出する最大値抽出部と、
前記最大値抽出部から受信する前記バッファ蓄積量の最大値が基準値を保持するように、制御電圧を制御する制御部と、
前記制御部から受け取る前記制御電圧で前記再生クロック周波数を変化させるＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）と、
を備えるスレーブノード。
【請求項６】
前記受信パケットのシーケンス番号に基づいてパケットロス状況を検知し、その結果、ロスパケットを検知した場合、前記ロスパケットと同サイズ又は予め決められた固定サイズのダミーデータを前記バッファに入れる、或いは、前記ロスパケットを検知したことを前記最大値抽出部へ通知するパケットシーケンス検知部、
を更に備え、
前記最大値抽出部は、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足す処理を行う、
請求項５に記載のスレーブノード。
【請求項７】
前記スレーブノードの内部温度を測定して、前記内部温度の変化量を前記最大値抽出部に通知する温度監視部、
を更に備え、
前記最大値抽出部は、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足し、
前記温度監視部から前記内部温度の変化量を受け取る場合、前記ＰＳＮのキューイング遅延のみを考慮するのではなく、温度ドリフトによるクロック精度劣化も考慮して、前記ＶＣＯの特性に基づいて、自走クロックの前記時間間隔を調整する、
請求項６に記載のスレーブノード。
【請求項８】
前記バッファは、実バッファ又はバッファカウンターであり、
前記バッファが前記実バッファである場合、前記受信パケットを一時的に保存する共に前記バッファ蓄積量を観測して出力し、前記スレーブノードの前記再生クロック周波数を用いてデータを読み出し、
前記バッファが前記バッファカウンターである場合、前記受信パケットのパケットサイズ又は予め決められた固定サイズを前記バッファ蓄積量にカウントアップして前記最大値抽出部に出力し、前記スレーブノードの前記再生クロック周波数でデータを出力することを模擬して前記バッファ蓄積量をカウントダウンする、
請求項５〜７のいずれかに記載のスレーブノード。
【請求項９】
マスターノードからＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）を介して定期的に送信されるパケットを利用して、スレーブノードが、自身のクロックを前記マスターノードに同期させるクロック同期方法であって、
前記マスターノードから送信される前記パケットである受信パケットを一時的に保存する共にバッファ蓄積量を観測して出力し、前記スレーブノードの再生クロック周波数を用いてデータを読み出すステップと、
前記バッファ蓄積量において、時間間隔毎に前記バッファ蓄積量の最大値を抽出するステップと、
前記バッファ蓄積量の最大値が基準値を保持するように、制御電圧を制御するステップと、
前記制御電圧で前記再生クロック周波数を変化するステップと、
を備えるクロック同期方法。
【請求項１０】
前記受信パケットのシーケンス番号に基づいてパケットロス状況を検知し、その結果、ロスパケットを検知した場合、前記ロスパケットと同サイズ又は予め決められた固定サイズのダミーデータを前記バッファに入れる、或いは、前記ロスパケットを検知したことを前記最大値抽出部へ通知するステップ、
を更に備え、
前記バッファ蓄積量の最大値を抽出するステップは、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足す処理を行う、
請求項９に記載のクロック同期方法。
【請求項１１】
前記スレーブノードの内部温度を測定して、前記内部温度の変化量を前記最大値抽出部に通知するステップ、
を更に備え、
前記バッファ蓄積量の最大値を抽出するステップは、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足し、
前記温度監視部から前記内部温度の変化量を受け取る場合、前記ＰＳＮのキューイング遅延のみを考慮するのではなく、温度ドリフトによるクロック精度劣化も考慮して、前記ＶＣＯの特性に基づいて、自走クロックの前記時間間隔を調整する、
請求項１０に記載のクロック同期方法。
【請求項１２】
前記バッファが実バッファである場合、前記受信パケットを一時的に保存する共に前記バッファ蓄積量を観測して出力し、前記スレーブノードの前記再生クロック周波数を用いてデータを読み出すステップと、
前記バッファがバッファカウンターである場合、前記受信パケットのパケットサイズ又は予め決められた固定サイズを前記バッファ蓄積量にカウントアップして前記最大値抽出部に出力し、前記スレーブノードの前記再生クロック周波数でデータを出力することを模擬して前記バッファ蓄積量をカウントダウンするステップと、
を更に備える請求項９〜１１のいずれかに記載のクロック同期方法。
【請求項１３】
マスターノードからＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）を介して定期的に送信されるパケットを利用して、コンピュータであるスレーブノードが、自身のクロックを前記マスターノードに同期させるコンピュータプログラムであって、
前記マスターノードから送信される前記パケットである受信パケットを一時的に保存する共にバッファ蓄積量を観測して出力し、前記スレーブノードの再生クロック周波数を用いてデータを読み出すステップと、
前記バッファ蓄積量において、時間間隔毎に前記バッファ蓄積量の最大値を抽出するステップと、
前記バッファ蓄積量の最大値が基準値を保持するように、制御電圧を制御するステップと、
前記制御電圧で前記再生クロック周波数を変化するステップと、
の各ステップを前記コンピュータに実行させるコンピュータプログラム。
【請求項１４】
前記受信パケットのシーケンス番号に基づいてパケットロス状況を検知し、その結果、ロスパケットを検知した場合、前記ロスパケットと同サイズ又は予め決められた固定サイズのダミーデータを前記バッファに入れる、或いは、前記ロスパケットを検知したことを前記最大値抽出部へ通知するステップ、
を更に前記コンピュータに実行させ、
前記バッファ蓄積量の最大値を抽出するステップは、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足す処理を行う、
請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記スレーブノードの内部温度を測定して、前記内部温度の変化量を前記最大値抽出部に通知するステップ、
を更に前記コンピュータに実行させ、
前記バッファ蓄積量の最大値を抽出するステップは、
前記バッファから受信する前記バッファ蓄積量において、前記時間間隔毎に前記バッファ蓄積量の最大値を抽出し、
前記パケットシーケンス検知部からの通知を受け取る場合、前記時間間隔毎に抽出される前記バッファ蓄積量の最大値に前記ロスパケットのサイズ又は予め決められた固定サイズを足し、
前記温度監視部から前記内部温度の変化量を受け取る場合、前記ＰＳＮのキューイング遅延のみを考慮するのではなく、温度ドリフトによるクロック精度劣化も考慮して、前記ＶＣＯの特性に基づいて、自走クロックの前記時間間隔を調整する、
請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記バッファが実バッファである場合、前記受信パケットを一時的に保存する共に前記バッファ蓄積量を観測して出力し、前記スレーブノードの前記再生クロック周波数を用いてデータを読み出すステップと、
前記バッファがバッファカウンターである場合、前記受信パケットのパケットサイズ又は予め決められた固定サイズを前記バッファ蓄積量にカウントアップして前記最大値抽出部に出力し、前記スレーブノードの前記再生クロック周波数でデータを出力することを模擬して前記バッファ蓄積量をカウントダウンするステップと、
の各ステップを更に前記コンピュータに実行させる請求項１３〜１５のいずれかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットネットワークを介して、装置間のクロックを同期させるためのクロック同期システム及び方法に関する。より詳細には、本発明は、パケットネットワーク内における、マスターノードとスレーブノードの間のクロックオフセットを補正するためのクロック同期システム及び方法に関する。
【背景技術】
【０００２】
通信事業者は、より付加価値の高いサービスを実現するべく、高速データ通信網の構築を進めている。高速データ通信網は大きなトラフィック容量が必要となるため、高コストな時分割多重（ＴＤＭ；Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ）方式よりも、低コストかつ高効率なインターネットプロトコル（ＩＰ；Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）方式が適している。
【０００３】
ＴＤＭシステムではクロック同期を確立している。ＴＤＭ信号を終端する端末は、通常、ネットワークから供給されるクロックに同期するため、送信／受信端末のビットレートは一致する。
【０００４】
一方、ＩＰ方式を採用するＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）ではネットワークのクロック同期を行っておらず、伝送装置のクロックは自走していることが多い。従って、ＰＳＮでは高精度のクロック情報を必要とするアプリケーションを利用することが困難である。例えば、モバイルネットワークなどでは、セル間のハンドオーバを滞りなく実現するために、正確なクロックが必要不可欠である。具体的には、モバイルネットワーク上の各ベースステーションは、５０  ｐａｒｔｓ  ｐｅｒ  ｂｉｌｌｉｏｎ  （ｐｐｂ）の精度でクロック同期されていなければならない。もし、ベースステーションのクロックがこの枠を超えてドリフトしてしまった場合、セル間のハンドオーバが失敗する可能性があり、パケットが欠落したり、通信品質が劣化したりする恐れがある。
【０００５】
この問題を解決するために、送受信端末間で正確なクロック同期を実現するためのクロック同期技術が必要である。そのクロック同期技術の一つとして、非特許文献１に記載された適応クロック法（Ａｄａｐｔｉｖｅ  ｃｌｏｃｋ  ｍｅｔｈｏｄ）がある。以下、図１Ａ、１Ｂを参照しながら、従来のクロック同期システムとして、上記の適応クロック法について述べる。
【０００６】
図１Ａに示されるように、従来のクロック同期システムは、マスターノード（送信端末）１００１と、スレーブノード（受信端末）１００２と、ＰＳＮ１００３とを具備している。
【０００７】
マスターノード１００１は、同サイズのパケットを定期的に生成して、ＰＳＮ１００３を介してスレーブノード１００２に送信する。
【０００８】
図１Ｂに示されるように、スレーブノード１００２は、バッファ１０２１と、クロック再生部１０２２とを備えている。
【０００９】
スレーブノード１００２において、マスターノード１００１から送信されるパケットがバッファ１０２１に格納される。クロック再生部１０２２は、バッファ蓄積量が基準値を保持するように、バッファ１０２１の読み出しクロック（再生クロック）ｆ２を制御する。
【００１０】
適応クロック法では、スレーブノード１００２のバッファ蓄積量が基準値と同等になる場合、再生クロックｆ２がマスターノード１００１のクロックをｆ１と同期する（ＰＳＮの影響を無視する場合）と考え、再生クロックｆ２は前の状態を維持する。バッファ蓄積量が基準値より少ない場合、ｆ２＞ｆ１と判断しクロック周波数を低く調整する。逆に、バッファ蓄積量が基準値より大きい場合、ｆ２＜ｆ１と判断しクロック周波数を高く調整する。
【００１１】
ところが、実際のＰＳＮには、図２で示されるように、固定遅延Ｄｆｉｘ以外にキューイング遅延Ｑ（ｋ）が発生するため、パケット伝搬遅延時間は変動する。当然ながら、パケット伝搬遅延が揺らぐとスレーブノード１００２のバッファ蓄積量も変動する。ちなみに、キューイング遅延Ｑ（ｋ）の発生原因は、マスターノード１００１から送信されるパケットがＰＳＮ１００３で転送される他のパケットと衝突し、スイッチのキューでランダムに待たされることに起因する。
【００１２】
高精度クロック同期を実現するためには、ＰＳＮ１００３のキューイング遅延の影響を排除する必要がある。これに関して、従来では様々な研究が行われていて、例えば非特許文献２、３に記載されているような方式がある。
【００１３】
非特許文献２、３に記載された方式では、スレーブノード１００２のバッファ蓄積量を平均化することにより、ランダムで変動するキューイング遅延の影響を低減している。以下、非特許文献２、３のクロック再生回路１０２２の基本構成を述べる。
【００１４】
図３に示されるように、クロック再生回路１０２２は、平均化処理部１２２１、制御部１２２２、ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）１２２３から構成される。
【００１５】
バッファ１０２１は、ＰＳＮ１００３から受信するパケットを一旦蓄積し、再生クロック周波数ｆ２でデータを出力する。また、パケットを受信する度に、バッファ蓄積量を観測して基準値（例えば、バッファの中心値）との差分を計算して平均化処理部１２２１に出力する。
【００１６】
平均化処理部１２２１は、バッファ１０２１から受信する上記差分に対し平均化し、その平均値に基づいてＶＣＯ１２２３への制御電圧を制御する。
【００１７】
ＶＣＯ１２２３は、平均化処理部１２２１から受信する制御電圧でクロック周波数ｆ２を変化する。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従来のクロック同期システムでは、その問題点として、ジッタバッファ蓄積量の平均化処理はキューイング遅延の影響を最小化できず、再生クロック周波数偏差にオフセットが残ってしまう（図５を参照）。その理由としては、非特許文献１〜３に記載された方式では、Δｔ時間内のバッファ蓄積量の観測値と基準値の差分を平均化することにより、キューイング遅延によるバッファ蓄積量の揺らぎを平均化している（図４を参照）。しかしながら、キューイング遅延Ｑ（ｋ）＞＝０であるため、スレーブノード１００２とマスターノード１００１のクロックが完全同期されていても、上記差分の平均値は最小にならない。
【００１９】
従って、本発明の課題は、時間間隔Δｔにおけるキューイング遅延Ｑ（ｋ）がクロック同期精度に対する影響を最小化するクロック同期システム及び方法を提供することにある。
【課題を解決するための手段】
【００２０】
本発明のクロック同期システムは、マスターノードと、ＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）と、スレーブノードとを具備している。スレーブノードは、マスターノードからＰＳＮを介して定期的に送信されるパケットを利用して、自身のクロックをマスターノードに同期させる。このスレーブノードは、バッファと、最大値抽出部と、制御部と、ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）とを備えている。バッファは、マスターノードから送信されるパケットである受信パケットを一時的に保存する共にバッファ蓄積量を観測して出力し、スレーブノードの再生クロック周波数を用いてデータを読み出す。最大値抽出部は、バッファから受信するバッファ蓄積量において、時間間隔毎にバッファ蓄積量の最大値を抽出する。制御部は、最大値抽出部から受信するバッファ蓄積量の最大値が基準値を保持するように、制御電圧を制御する。ＶＣＯは、制御部から受け取る制御電圧で再生クロック周波数を変化させる。
【発明の効果】
【００２１】
本発明のクロック同期システムによれば、時間間隔毎にスレーブノードのバッファ蓄積量の最大値を観測して、バッファ蓄積量の最大値がバッファ蓄積量の基準値を保持するようにスレーブノードの再生クロック周波数を制御する。これにより、ＰＳＮのキューイング遅延の影響を最小化することができる。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、本発明の実施形態によるクロック同期システムについて詳細に説明する。
【００２３】
（第１実施形態）
従来のクロック同期システムでは、前述のように、その問題点（第１の問題点とする）として、ジッタバッファ蓄積量の平均化処理はキューイング遅延の影響を最小化できず、再生クロック周波数偏差にオフセットが残ってしまう。その理由としては、非特許文献１〜３に記載された方式では、Δｔ時間内のバッファ蓄積量の観測値と基準値の差分を平均化することにより、キューイング遅延によるバッファ蓄積量の揺らぎを平均化している。しかしながら、キューイング遅延Ｑ（ｋ）＞＝０であるため、スレーブノード１００２とマスターノード１００１のクロックが完全同期されていても、上記差分の平均値は最小にならない。このため、本発明の第１実施形態によるクロック同期システムとして、時間間隔Δｔにおけるキューイング遅延Ｑ（ｋ）がクロック同期精度に対する影響を最小化できることが望まれる。
【００２４】
＜構成＞
図６Ａに示されるように、本発明の第１実施形態によるクロック同期システムは、コンピュータであるマスターノード（送信端末）１と、コンピュータであるスレーブノード（受信端末）２と、ＰＳＮ（Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）３とを具備している。
【００２５】
＜マスターノード＞
マスターノード１は、同サイズのパケットを定期的に生成して、ＰＳＮ３を介してスレーブノード２に送信する。
【００２６】
＜スレーブノード＞
図６Ｂに示されるように、スレーブノード２は、バッファ２１と、クロック再生部２２とを備えている。
【００２７】
バッファ２１は、実バッファでも良いし、バッファカウンターでも良い。
【００２８】
バッファ２１が実バッファである場合、マスターノード１から送信されるパケットが固定サイズになることが前提となる。実バッファは、マスターノード１から受信したパケットを一時的に格納し、再生クロック周波数ｆ２でデータを出力する。また、パケットを受信する度に、バッファ蓄積量を観測してクロック再生部２２に出力する。
【００２９】
バッファ２１がバッファカウンターである場合、マスターノード１から送信されるパケットが固定サイズのパケットでも良いし、可変長パケットでも良い。マスターノード１から送信される上記パケットが固定サイズの場合、「バッファ蓄積量＝パケットサイズ×受信パケット数」をカウントアップして、上記バッファ蓄積量をクロック再生部２２に出力する。マスターノード１から送信される上記パケットが可変長パケットの場合、「バッファ蓄積量＝固定サイズ×受信パケット数」をカウントアップしてクロック再生部２２に出力する。上記固定サイズは受信パケットサイズと関係ないある値とする。また、上記バッファカウンターは、上記バッファ蓄積量をカウントアップするだけではなく、再生クロックの周波数（再生クロック周波数）ｆ２でデータを出力することを模擬して上記バッファ蓄積量をカウントダウンする。
【００３０】
図６Ｂに示されるように、クロック再生部２２は、最大値抽出部２２１と、制御部２２２と、ＶＣＯ２２３（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）とを備えている。
【００３１】
最大値抽出部２２１は、バッファ２１から受信するバッファ蓄積量を受信し、時間間隔Δｔ毎にバッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（Ｋ）を選出して制御部２２２に出力する。
【００３２】
制御部２２２は、最大値抽出部２２１から受信する上記バッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（Ｋ）と基準値とを比較して差分ΔＭＡＸ＿ＢＵＦ（Ｋ）を得る。また、上記差分ΔＭＡＸ＿ＢＵＦ（Ｋ）に基づいてＶＣＯ２２３への制御電圧を制御する。
【００３３】
ＶＣＯ２２３は、制御部２２２から受信する制御電圧でクロック周波数ｆ２を変化させる。
【００３４】
＜動作＞
マスターノード１は、パケットを同間隔で送信し、ＰＳＮ３を介してスレーブノード２に送信する。スレーブノード２は受信パケットをバッファ２１に格納し、バッファ蓄積量が基準値を保持するようにバッファ２１の読み出しクロックを制御する。
【００３５】
マスターノード１とスレーブノード２のクロックが完全同期されていて、ＰＳＮ３のキューイング遅延＝０のケースでは、図７で示されるように、時間間隔Δｔ毎のバッファ蓄積量ＭＡＸ＿ＢＵＦ（Ｋ）は一定値となる。
【００３６】
ところが、ＰＳＮ３にはランダムキューイング遅延が発生するため、スレーブノード２のバッファ蓄積量はランダムに変化する。例えば、マスターノード１とスレーブノード２のクロックが完全同期している場合、キューイング遅延を含むパケットを受信した際のバッファ蓄積量は、キューイング遅延がゼロの場合に比べて減少される。
【００３７】
言い換えると、最小のキューイング遅延を含むパケットを受信する場合、スレーブノード２のバッファ蓄積量は最大となる（図８を参照）。図８ではマスターノード１とスレーブノード２のクロックが完全同期される場合を想定する。
【００３８】
マスターノード１とスレーブノード２のクロックが完全同期していない場合、バッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（Ｋ）はスレーブノード２のクロックドリフトにより変動する（図９を参照）。
【００３９】
本実施形態では、時間間隔Δｔにおけるバッファ蓄積量の最大値のみを採用することでキューイング遅延の影響を最小化し、高精度クロック同期を実現する。
【００４０】
次に、図６Ａ、Ｂを参照しながら本実施形態の動作について詳細に説明する。
【００４１】
スレーブノード２は、マスターノード１から送信されるパケットを受信してバッファ２１に保存する。
【００４２】
バッファ２１は、バッファ蓄積量を監視して、図６Ｂに示されるクロック再生部２２の最大値抽出部２２１に与える。
【００４３】
最大値抽出部２２１は、バッファ２１から受信するバッファ蓄積量から、時間間隔Δｔにおける最大値ＭＡＸ＿ＢＵＦ（Ｋ）を観測して制御部２２２に与える。
【００４４】
制御部２２２は、最大値抽出部２２１から受け取るＭＡＸ＿ＢＵＦ（Ｋ）をバッファ蓄積量の基準値と比較して、その差分に基づいてＶＣＯ２２３へ与える電圧を制御する。
【００４５】
ＶＣＯ２４は、制御部２３から受け取る制御電圧で再生クロックの周波数ｆ２（ｋ）を変化させる。
【００４６】
＜効果＞
次に、本発明の第１実施形態によるクロック同期システムの効果について説明する。
【００４７】
本発明の第１実施形態によるクロック同期システムによれば、時間間隔Δｔ毎にスレーブノード２のバッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）を観測して、ＭＡＸ＿ＢＵＦ（Ｋ）がバッファ蓄積量の基準値を保持するようにスレーブノード２の再生クロック周波数ｆ２を制御する。これにより、ＰＳＮ３のキューイング遅延の影響を最小化することができる。
【００４８】
（第２実施形態）
従来のクロック同期システムでは、第２の問題点として、パケットロスによりクロック精度の劣化が生じてしまう。その理由としては、スレーブノード１００２のバッファ蓄積量はキューイング遅延のみにより変動されるのではなく、パケットロスによりロスパケットのサイズ（或いは予め決められた固定サイズ）分減少するためである。従って、パケットロスを考慮しないとクロック同期精度の劣化を生じる。このため、本発明の第２実施形態によるクロック同期システムとして、パケットロスによるクロック精度の劣化を防ぐことが望まれる。第２実施形態では、第１実施形態と重複する説明を省略する。
【００４９】
＜構成＞
図１０に示されるように、本発明の第２実施形態によるクロック同期システムのスレーブノード２は、バッファ２１と、クロック再生部２２と、パケットシーケンス検知部２０とを備えている。即ち、スレーブノード２は、図６Ｂに示された第１実施形態におけるスレーブノード２の構成に加え、パケットシーケンス検知部２０を備えている。
【００５０】
パケットシーケンス検知部２０は、マスターノード１から送信されるパケットのシーケンス番号に基づいて、パケットロス状況を検知する。パケットシーケンス検知部２０は、パケットのシーケンス番号を検知し、本来到着すべき位置に受信されないパケットはロスされていると判断する。もし、そのパケットが順序逆転されて、本来到着すべき位置より後回しして受信される場合、そのパケットはバッファに格納しない。
【００５１】
その結果、パケットシーケンス検知部２０は、パケットロスを検知すると以下の処理１或いは処理２を行う。
【００５２】
処理１：バッファ２１に本来格納されるべき位置に、ロスパケットと同サイズのダミーデータを入れる。マスターノード１から送信されるパケットが可変長サイズの場合、予め決められた固定サイズのダミーデータを入れる。
【００５３】
処理２：バッファ２１にダミーデータを格納せず、最大値抽出部２２１にロスパケットを検知したことを通知する。
【００５４】
最大値抽出部２２１は、時間間隔Δｔ毎にバッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）を観測して抽出する。更に、パケットシーケンス検知部２０からの通知（ロスパケットを検知したことを表す通知）を受け取る場合、上記バッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）にロスパケットのサイズを足す。マスターノード１から送信されるパケットが可変長サイズの場合、予め決められた固定サイズを上記バッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）に足す。
【００５５】
＜動作＞
図１０のバッファ２１、制御部２２２、ＶＣＯ２２３の動作は第１実施形態におけるバッファ２１、制御部２２２、ＶＣＯ２２３と同一のため説明は省略する。
【００５６】
第１実施形態ではパケットロスの検知はできなかった。パケットロスが発生する場合、バッファ蓄積量は減少するため、パケットロス検知機能（パケットシーケンス検知部２０）がないとクロック同期精度を劣化する恐れがある。例えば、第１実施形態ではキューイング遅延を受けないパケットを受信した場合のバッファ蓄積量が最大になると考えるが、パケットロスが発生する場合、上記バッファ蓄積量は最大にならない。
【００５７】
本実施形態では、パケットシーケンス検知部２０においてロスパケットを検知した場合、ロスパケットと同サイズ（或いは予め決められた固定サイズ）のダミーデータをバッファに入れる或いはロスパケットを検知したことをクロック再生部２２の最大値抽出部２２１に通知する。
【００５８】
最大値抽出部２２１は、第１実施形態と同じく時間間隔Δｔ毎にバッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）を観測して抽出する。本実施形態では、パケットシーケンス検知部２０からロスパケット検知の通知を受け取る場合、上記バッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）にロスパケットのサイズ（或いは予め決められた固定サイズ）を足す。
【００５９】
＜効果＞
次に、本発明の第２実施形態によるクロック同期システムの効果について説明する。
【００６０】
本発明の第２実施形態によるクロック同期システムによれば、パケットシーケンス検知機能（パケットシーケンス検知部２０）を有して、ロスパケットを検知した場合、ロスパケットと同サイズ（或いは予め決められた固定サイズ）のダミーデータをバッファに入れる或いはロスパケットを検知したことをクロック再生部２２の最大値抽出部２２１に通知する。これにより、ＰＳＮのキューイング遅延の影響を最小化しながら、パケットロスによるクロック同期精度の劣化を防ぐことができる。
【００６１】
（第３実施形態）
従来のクロック同期システムでは、第３の問題点として、従来のクロック同期システムでは、第３の問題点として、再生クロックの自走時間が長くなるほど、温度ドリフトによるスレーブノード１００２のクロックドリフトの影響が大きく、クロック精度の劣化が生じてしまう。その理由としては、キューイング遅延の影響を最小化するために、バッファ蓄積量の観測時間Δｔを大きくする必要があるが、Δｔが大きいほど、スレーブノード１００２のＶＣＯ１２２３は温度ドリフトの影響を受けやすくなるためである。このため、本発明の第３実施形態によるクロック同期システムとして、キューイング遅延と温度ドリフトがクロック同期精度に対する影響をバランス良く制限して、クロック精度を向上することが望まれる。第３実施形態では、第１、２実施形態と重複する説明を省略する。
【００６２】
＜構成＞
図１１に示されるように、本発明の第３実施形態によるクロック同期システムのスレーブノード２は、バッファ２１と、クロック再生部２２と、パケットシーケンス検知部２０とを備えている。クロック再生部２２は、最大値抽出部２２１と、制御部２２２と、ＶＣＯ２２３と温度監視部２２４とを備える。即ち、スレーブノード２のクロック再生部２２は、図１０に示された第２実施形態におけるスレーブノード２の構成に加え、温度監視部２２４を備えている。
【００６３】
温度監視部２２４は、スレーブノードの内部温度を測定していて、内部温度の変化量を最大値抽出部２２１に通知する。
【００６４】
最大値抽出部２２１は、時間間隔Δｔ毎にバッファ蓄積量の最大値ＭＡＸ＿ＢＵＦ（ｋ）を観測して抽出する。更に、温度監視部２２４から温度変化量を受け取った後、温度ドリフトとキューイング遅延の両者がクロック同期精度に対する影響をバランス良くして、上記時間間隔Δｔを調整する。例えば、温度変化量が大きい場合、スレーブノードに再生クロックの自走時間をなるべく短くするなどの処理を行う。
【００６５】
＜動作＞
図１１のパケットシーケンス検知部２０、バッファ２１、制御部２２２、ＶＣＯ２２３の動作は第２の実施の形態におけるパケットシーケンス検知部２０、バッファ２１、制御部２２２、ＶＣＯ２２３と同一のため説明は省略する。
【００６６】
従来のクロック同期システムにおいて、適応クロック法のクロック同期精度に影響する主な要因は、ＰＳＮのキューイング遅延とスレーブノードのクロックドリフトである。第１、２実施形態では前者の影響を最小化しているが、後者は最小化されていない。
【００６７】
スレーブノードのクロックドリフトは主にスレーブノードの内部温度により決められる。例えば、ＶＣＯ２２３が−４０〜＋８０℃の温度変化で２０ｐｐｍ変化すると仮定する場合、単純平均で再生クロック周波数ｆ２は２０ｐｐｍ／１２０℃＝０．１７ｐｐｍ／℃で変動する。仮に、スレーブノードの内部温度がΔｔ内に１℃変化するような温度ドリフトを有する場合、自走クロックのドリフトはΔｔ内に０．１７ｐｐｍ変動するため、５０ｐｐｂの要求精度を満たせなくなる。
【００６８】
要求精度５０ｐｐｂを達成するためには、自走クロックの時間Δｔを短くして、温度ドリフトの影響を減少する必要がある。しかし、自走クロックの時間Δｔが短すぎると、ＰＳＮ３のキューイング遅延の影響が大きくなる。
【００６９】
本実施形態では、温度ドリフトの影響を減少させるために、以下の処理を行う。
【００７０】
温度監視部２２４において、スレーブノードの内部温度を測定し、内部温度の変動量を最大値抽出部２２１に与える。
【００７１】
最大値抽出部２２１は、温度監視部２２４から温度変化量を受け取る場合、ＶＣＯの特性に基づいて、ＰＳＮのキューイング遅延のみを考慮するのではなく、温度ドリフトによるクロック精度劣化も考慮して、両者がクロック同期精度に対する影響をバランス良くしながら、自走クロックの時間Δｔを調整する。
【００７２】
＜効果＞
次に、本発明の第３実施形態によるクロック同期システムの効果について説明する。
【００７３】
本発明の第３実施形態によるクロック同期システムによれば、温度監視機能（温度監視部２２４）を有して、再生クロック周波数ｆ２を調整する時間間隔Δｔを温度の変化を考慮して設置する。これにより、キューイング遅延と温度ドリフトがクロック同期精度に対する影響をバランス良く制限して、クロック精度を向上することができる。
【図面の簡単な説明】
【００７４】
【図１Ａ】従来のクロック同期システムの構成を示すブロック図である。
【図１Ｂ】従来のクロック同期システムにおけるスレーブノードの構成を示すブロック図である。
【図２】マスターノードから送信される各パケットの伝搬遅延を示す図である。
【図３】従来のクロック同期システムにおけるクロック再生部のブロック図である。
【図４】従来のクロック同期システムにおけるバッファ蓄積量の平均化した結果を示す図である。
【図５】従来のクロック同期システムにおけるクロック周波数の偏差を示す図である。
【図６Ａ】本発明の第１〜３実施形態によるクロック同期システムの構成を示すブロック図である。
【図６Ｂ】本発明の第１実施形態によるクロック同期システムにおけるスレーブノードの構成を示すブロック図である。
【図７】本発明の第１実施形態によるクロック同期システムにおいて、クロックが完全同期し、キューイング遅延がゼロの場合のバッファ蓄積量を示す図である。
【図８】本発明の第１実施形態によるクロック同期システムにおいて、クロックが完全同期するが、キューイング遅延がゼロではない場合のバッファ蓄積量を示す図である。
【図９】本発明の第１実施形態によるクロック同期システムにおいて、クロックが同期せず、キューイング遅延がゼロではない場合のバッファ蓄積量を示す図である。
【図１０】本発明の第２実施形態によるクロック同期システムにおけるスレーブノードの構成を示すブロック図である。
【図１１】本発明の第３実施形態によるクロック同期システムにおけるスレーブノードの構成を示すブロック図である。
【符号の説明】
【００７５】
１    マスターノード
２    スレーブノード
３    パケットスイッチネットワーク（ＰＳＮ；Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｅｄ  Ｎｅｔｗｏｒｋ）
２０    パケットシーケンス検知部
２１    バッファ
２２    クロック再生部
２２１    最大値抽出部
２２２    制御部
２２３    ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）
２２４    温度監視部
１００１    マスターノード
１００２    スレーブノード
１００３    ＰＳＮ
１０２１    バッファ
１０２２    クロック再生部
１２２１    平均化処理部
１２２２    制御部
１２２３    ＶＣＯ
【図１Ａ】
0005223427.tif 000002
【図１Ｂ】
0005223427.tif 000003
【図２】
0005223427.tif 000004
【図３】
0005223427.tif 000005
【図４】
0005223427.tif 000006
【図５】
0005223427.tif 000007
【図６Ａ】
0005223427.tif 000008
【図６Ｂ】
0005223427.tif 000009
【図７】
0005223427.tif 000010
【図８】
0005223427.tif 000011
【図９】
0005223427.tif 000012
【図１０】
0005223427.tif 000013
【図１１】
0005223427.tif 000014