(57)【要約】【課題】スレーブノードのクロックをマスタノードのクロックに同期させるクロック同期システムにおいて、マスタ／スレーブ間のクロックが同期していない場合の同期のズレに適切に対処する。【解決手段】送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させる受信側ノードが、前記送信側ノードが定期的に送信してくるパケットを受け取る。前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理する。前記管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測する。【選択図】図６
2010093702.tif 000002
【特許請求の範囲】
【請求項１】
送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてキューイング遅延を計測する受信側ノードであって、
前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、
前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、
前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、
を備えることを特徴とする受信側ノード。
【請求項２】
送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させる受信側ノードであって、
前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、
前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、
前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、
前記キューイング遅延計測手段で計測したキューイング遅延量と所定の閾値とを比較し、比較の結果前記閾値以下のキューイング遅延を含むと判断されたパケットのみを採用するパケットフィルタと、
前記パケットフィルタにおいて採用された前記パケットを元に当該受信側ノードのクロックを再生する位相同期手段と、
を備えることを特徴とする受信側ノード。
【請求項３】
請求項１又は２に記載の受信側ノードであって、
前記キューイング遅延計測手段は、所定の計測時間の間、前記パケットカウンタの管理する前記カウンタ値を監視することにより、送信されてきた前記パケットの中でキューイング遅延がゼロのパケットが到着した時のカウンタ値を検出し、その値を基準値とし、前記パケット到着時のカウンタ値と前記基準値との差分からキューイング遅延を求めることを特徴とする受信側ノード。
【請求項４】
請求項１乃至３の何れか１項に記載の受信側ノードであって、
前記パケットカウンタは、前記パケットの到着時に所定のカウンタ値が加算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ減算される速さでカウンタ値が減算されることを特徴とする受信側ノード。
【請求項５】
請求項１乃至３の何れか１項に記載の受信側ノードであって、
前記送信されてくる前記パケットはタイムスタンプパケットであり、前記パケットカウンタは、前記パケットの到着時に格納されるタイムスタンプ値と一つ前に到着した前記パケットに格納されるタイムスタンプ値の差分が所定の値のＮ（Ｎは１以上の自然数）倍である時に、前記所定のカウンタ値のＮ倍の値が加算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ減算される速さでカウンタ値が減算されることを特徴とする受信側ノード。
【請求項６】
請求項４又は５に記載の受信側ノードであって、
前記キューイング遅延計測手段は、前記パケット到着時に前記所定のカウンタ値を加算した後の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とする受信側ノード。
【請求項７】
請求項４又は５に記載の受信側ノードであって、
前記キューイング遅延計測手段は、前記パケット到着時に前記所定のカウンタ値を加算する前の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とする受信側ノード。
【請求項８】
請求項１乃至３の何れか１項に記載の受信側ノードであって、
前記パケットカウンタは、前記パケットの到着時に所定のカウンタ値が減算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ加算される速さでカウンタ値が加算されることを特徴とする受信側ノード。
【請求項９】
請求項１乃至３の何れか１項に記載の受信側ノードであって、
前記送信されてくる前記パケットはタイムスタンプパケットであり、前記パケットカウンタは、前記パケットの到着時に格納されるタイムスタンプ値と一つ前に到着した前記パケットに格納されるタイムスタンプ値の差分が所定の値のＮ（Ｎは１以上の自然数）倍である時に、前記所定のカウンタ値のＮ倍の値が減算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ加算される速さでカウンタ値が加算されることを特徴とする受信側ノード。
【請求項１０】
請求項８又は９に記載の受信側ノードであって、
前記キューイング遅延計測手段は、前記パケット到着時に前記所定のカウンタ値を減算した後の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とする受信側ノード。
【請求項１１】
請求項８又は９に記載の受信側ノードであって、
前記キューイング遅延計測手段は、前記パケット到着時に前記所定のカウンタ値を減算する前の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とする受信側ノード。
【請求項１２】
請求項１乃至１１の何れか１項に記載の受信側ノードと、前記送信側ノードと相互に接続されている送信側ノードと、を備えるパケットネットワークシステムであって、
前記送信側ノードが、
パケットを生成するパケット生成手段と、
前記パケット生成手段において生成した前記パケットを前記受信側ノードに対して定期的に送信する送信手段と、
を備えることを特徴とするパケットネットワークシステム。
【請求項１３】
送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてキューイング遅延を計測するキューイング遅延対処方法であって、
前記受信側ノードが、前記送信側ノードが定期的に送信してくるパケットを受け取る受信ステップと、
前記受信側ノードのパケットカウンタが、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理する第１のステップと、
前記受信側ノードが、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測ステップと、
を備えることを特徴とするキューイング遅延対処方法。
【請求項１４】
送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させるキューイング遅延対処方法であって、
前記受信側ノードが、前記送信側ノードが定期的に送信してくるパケットを受け取る受信ステップと、
前記受信側ノードのパケットカウンタが、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理する第２のステップと、
前記受信側ノードが、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測ステップと、
前記受信側ノードのパケットフィルタが、前記キューイング遅延計測ステップで計測したキューイング遅延量と所定の閾値とを比較し、比較の結果前記閾値以下のキューイング遅延を含むと判断されたパケットのみを採用する第３のステップと、
前記パケットフィルタにおいて採用された前記パケットを元に当該受信側ノードのクロックを再生する位相同期ステップと、
を備えることを特徴とするキューイング遅延対処方法。
【請求項１５】
請求項１３又は１４に記載のキューイング遅延対処方法であって、
前記キューイング遅延計測ステップにおいて、所定の計測時間の間、前記パケットカウンタの管理する前記カウンタ値を監視することにより、送信されてきた前記パケットの中でキューイング遅延がゼロのパケットが到着した時のカウンタ値を検出し、その値を基準値とし、前記パケット到着時のカウンタ値と前記基準値との差分からキューイング遅延を求めることを特徴とするキューイング遅延対処方法。
【請求項１６】
請求項１３乃至１５の何れか１項に記載のキューイング遅延対処方法であって、
前記パケットカウンタは、前記パケットの到着時に所定のカウンタ値が加算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ減算される速さでカウンタ値が減算されることを特徴とするキューイング遅延対処方法。
【請求項１７】
請求項１３乃至１５の何れか１項に記載のキューイング遅延対処方法であって、
前記送信されてくる前記パケットはタイムスタンプパケットであり、前記パケットカウンタは、前記パケットの到着時に格納されるタイムスタンプ値と一つ前に到着した前記パケットに格納されるタイムスタンプ値の差分が所定の値のＮ（Ｎは１以上の自然数）倍である時に、前記所定のカウンタ値のＮ倍の値が加算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ減算される速さでカウンタ値が減算されることを特徴とするキューイング遅延対処方法。
【請求項１８】
請求項１６又は１７に記載のキューイング遅延対処方法であって、
前記キューイング遅延計測ステップにおいて、前記パケット到着時に前記所定のカウンタ値を加算した後の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とするキューイング遅延対処方法。
【請求項１９】
請求項１６又は１７に記載のキューイング遅延対処方法であって、
前記キューイング遅延計測ステップにおいて、前記パケット到着時に前記所定のカウンタ値を加算する前の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とするキューイング遅延対処方法。
【請求項２０】
請求項１３乃至１５の何れか１項に記載のキューイング遅延対処方法であって、
前記パケットカウンタは、前記パケットの到着時に所定のカウンタ値が減算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ加算される速さでカウンタ値が加算されることを特徴とするキューイング遅延対処方法。
【請求項２１】
請求項１３乃至１５の何れか１項に記載のキューイング遅延対処方法であって、
前記送信されてくる前記パケットはタイムスタンプパケットであり、前記パケットカウンタは、前記パケットの到着時に格納されるタイムスタンプ値と一つ前に到着した前記パケットに格納されるタイムスタンプ値の差分が所定の値のＮ（Ｎは１以上の自然数）倍である時に、前記所定のカウンタ値のＮ倍の値が減算され、通常時には前記送信側ノードが前記パケットを１つ送信する時間間隔に前記所定のカウンタ値と同じ値だけ加算される速さでカウンタ値が加算されることを特徴とするキューイング遅延対処方法。
【請求項２２】
請求項２０又は２１に記載のキューイング遅延対処方法であって、
前記キューイング遅延計測ステップにおいて、前記パケット到着時に前記所定のカウンタ値を減算した後の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とするキューイング遅延対処方法。
【請求項２３】
請求項２０又は２１に記載のキューイング遅延対処方法であって、
前記キューイング遅延計測ステップにおいて、前記パケット到着時に前記所定のカウンタ値を減算する前の値を到着時カウンタ値とし、前記所定の計測時間の間での前記到着時カウンタ値の最大値をカウンタ最大値として基準値とし、前記カウンタ最大値と前記到着時カウンタ値との差分からキューイング遅延を求めることを特徴とするキューイング遅延対処方法。
【請求項２４】
請求項１３乃至２３の何れか１項に記載のキューイング遅延対処方法であって、
前記送信側ノードが、パケットを生成するパケット生成ステップと、
前記送信側ノードが、前記パケット生成ステップにおいて生成した前記パケットを前記受信側ノードに対して定期的に送信する送信ステップと、
を更に備えることを特徴とするキューイング遅延対処方法。
【請求項２５】
送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてキューイング遅延を計測するキューイング遅延対処プログラムであって、
前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、
前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、
前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、
を備える受信側ノードとしてコンピュータを機能させることを特徴とするキューイング遅延対処プログラム。
【請求項２６】
送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させるキューイング遅延対処プログラムであって、
前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、
前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、
前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、
前記キューイング遅延計測手段で計測したキューイング遅延量と所定の閾値とを比較し、比較の結果前記閾値以下のキューイング遅延を含むと判断されたパケットのみを採用するパケットフィルタと、
前記パケットフィルタにおいて採用された前記パケットを元に当該受信側ノードのクロックを再生する位相同期手段と、
を備える受信側ノードとしてコンピュータを機能させることを特徴とするキューイング遅延対処プログラム。
【請求項２７】
請求項２５又は２６に記載のキューイング遅延対処プログラムであって、
前記キューイング遅延計測手段は、所定の計測時間の間、前記パケットカウンタの管理する前記カウンタ値を監視することにより、送信されてきた前記パケットの中でキューイング遅延がゼロのパケットが到着した時のカウンタ値を検出し、その値を基準値とし、前記パケット到着時のカウンタ値と前記基準値との差分からキューイング遅延を求める受信側ノードとしてコンピュータを機能させることを特徴とするキューイング遅延対処プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットネットワークにおける送信側装置から受信側装置に転送されるパケットの遅延計測システム、その方法及びそのプログラムに関する。
【０００２】
更に、本発明は、前記遅延計測システム、その方法及びそのプログラムを用いて、パケットネットワークを介して装置間のクロックを同期させるシステム、その方法及びそのプログラムに関する。
【背景技術】
【０００３】
ネットワークの転送されるデータ量の増大に伴い、通信事業者にとって、高速データ通信網を安価に実現する必要性が増している。そのため、時分割多重（ＴＤＭ： Time Division Multiplexing）方式（以下、ＴＤＭ方式と記載する）を用いた高コストなネットワークからインターネットプロトコル（ＩＰ：Internet Protocol）方式（以下、ＩＰ方式と記載する）を用いた低コストかつ高効率なネットワークへの移行が進められつつある。
【０００４】
ネットワークに転送されるトラヒックの中には、送信ノード側と受信ノード側で正確なクロック同期が求められるものがある。例えば音声やビデオなどのリアルタイムデータの送信及び再生である。このようなリアルタイムデータを高品質にやり取りするためには、予め決められたタイミングでデータを再生する必要があり、そのために安定したクロックが必要となる。
【０００５】
また、他の例としては、モバイルネットワークサービスでは、セル間のハンドオーバを滞りなく実現するために正確なクロック同期が求められている。具体的には、モバイルネットワーク上の各基地局装置は無線ネットワーク制御装置との間で、５０parts per billion（ｐｐｂ）という非常に高精度のクロック同期が求められている。サービス中にもしも基地局装置のクロック同期精度がこの要求値を超えてしまうと、セル間のハンドオーバが失敗してしまう可能性があり、データが欠落し、通信品質が劣化する恐れがある。
【０００６】
従来のＴＤＭ方式ベースのネットワークでは、受信ノードは伝送路を介して送信ノードのクロック情報を抽出することができるため、送受信ノード間で高精度のクロック同期を実現可能だった。これに対して、ＩＰネットワーク方式では、ネットワーク内でデータが非同期に転送されるため、受信側ノードでのデータの到着間隔には揺らぎがあり、受信データから高精度のクロック情報を抽出することは困難であり、送信側のクロックを再生する必要がある。
【０００７】
上述の問題に鑑みて、ＩＰネットワークのようなパケットネットワークを介して高精度のクロック再生を実現する技術として、タイムスタンプ方式が提案されている。タイムスタンプ方式の構成図を図１に示す。
【０００８】
タイムスタンプ方式では、送信側ノードにあたるマスタノード１００がタイムスタンプ（以下、ＴＳと記載する）を格納したＴＳパケット２３０を受信側ノードにあたるスレーブノード１１０に向けて送信する。ＴＳパケット２３０はパケットネットワーク２２０を経由して、スレーブノード１１０に到着する（図１上部分参照）。ＴＳパケット２３０を受信したスレーブノード１１０は、格納されたＴＳ情報を利用して自身のクロックを調整することにより、マスタノード１００のクロックと同期する。次に、スレーブノード１１０の構成を説明しながら、より詳細にクロック同期の動作を説明する。
【０００９】
スレーブノード１１０は位相同期ループ（ＰＬＬ：Phase-locked loop）１４０を有し、自身のクロックから生成するＴＳとマスタノード１００から受信したＴＳとの差分を計算し、ＰＬＬ１４０において、その差分を元に自身のクロックを調整することにより、クロック同期を実現する。ＰＬＬ１４０の構成の一例としては、位相比較器１４１、ループフィルタ（ＬＰＦ：Low Pass Filter）１４２、比例・積分（ＰＩ：Proportion・Integration）回路１４３、電圧制御発振器（ＶＣＯ：Voltage Control Oscillator）１４４、カウンタ１４５の５つの機能から構成される場合がある。
【００１０】
位相比較器１４１は、受信したＴＳパケット２３０に格納されているＴＳである「受信ＴＳ」と自身のクロックから生成するＴＳである「生成ＴＳ」との差分信号を計算する。この差分信号はＬＰＦ１４２に入力され、ジッタやノイズが除去される。ＬＰＦ１４２において平滑化された差分信号は、ＰＩ制御器１４３に入力される。ＰＩ制御器１４３では、差分信号を最終的にゼロに収束させる制御信号を計算し、ＶＣＯ１４４に出力する。ＶＣＯ１４４はＰＩ制御器１４３からの制御信号によって決定される周波数のクロックを出力する。これにより、スレーブ側のクロックが調整される。また、カウンタ１４５は調整されたクロックに基づき、スレーブ側の生成するＴＳである「生成ＴＳ」を生成し、位相比較器１４１に渡す。このようなＰＬＬ１４０の動作により、スレーブノード１１０では、パケットネットワーク２２０を経由しても、マスタノード１００のクロックを再生し、マスタノード１００と同期することができる（例えば特許文献１参照）。
【００１１】
パケットネットワークの入り口側エッジに位置するマスタノードと出口側エッジに位置するスレーブノードが、以上説明した構成を有することにより、パケットネットワークを経由するＴＤＭフローの同期制御を行なうことができる。
【００１２】
他方、以下のような問題も存在する。この点について説明する。
【００１３】
現実のネットワークにおいては、パケットがパケットネットワーク内を転送される際にルータやスイッチにおいてキューイング遅延を受ける。なお、「遅延」という文言は、固定された遅延である伝播遅延と、変動する遅延であるキューイング遅延の組合せを指すこともあるが、本願では特に断りのない限り、以下でいう「遅延」とはキューイング遅延のことを指すものとする。
【００１４】
そして、上述のようにスレーブノードに到着するパケットには遅延が含まれており、中には遅延量が大きいパケットも存在する。そのため、上述したようにスレーブノードにおけるＬＰＦにより、遅延のランダム性を平準化し、その影響を軽減する処理が施される。しかし、遅延量が大きいパケットが到着するとＬＰＦにおいてもその影響を十分に軽減できない場合がある。この場合、クロック同期回路に対してある種のノイズが入力されることになり、同期精度の劣化をもたらす。これを回避するために、到着パケットの遅延量に応じてパケットを選択的に廃棄するパケットフィルタ機能が用いられている。すなわち、或る閾値を定め、閾値を超える遅延のパケットは廃棄するという機能である。以下で図２を用いてパケットフィルタの機能について具体的に説明する。
【００１５】
図２は、遅延量の分布の一例を示している。この例では遅延がほぼゼロから数１００μ秒まで分布している。パケットフィルタ機能では、遅延量に関して閾値を設定し、遅延がこの閾値以下のパケットは採用し、閾値を超えるパケットは廃棄する。このように、遅延が閾値を超過するパケットを選択的に廃棄することにより、遅延が小さいパケットのみを用いてクロック同期制御を行なうことが可能になるため、同期精度の向上が期待できる。
【００１６】
ここで、上述のクロック同期制御を実現するために遅延を計測する方法としては、マスタノードとスレーブノードが例えばＧＰＳ（Global Positioning System）等を用いて時刻同期をするという方法が例示出来る。両ノードが時刻同期している場合には、マスタノードがパケット送信時に送信時刻情報をパケット内に格納して送信することにより、スレーブノードはパケット受信時の受信時刻とパケット内に格納された送信時刻情報の差分を計算することが可能となる。そして、計算した送信時刻情報の差分を用いることでそのパケットの伝播遅延を含む遅延を計測することができる。しかしながら、ここで説明した方法はマスタ／スレーブノード間が時刻同期していることを前提としている。現状のパケットネットワークでは、各ノードが時刻同期していない場合も多く、その場合はこの方法で遅延を計測することはできない。このように、時刻同期していない場合は以下のような方法を用いる。
【００１７】
続いて、時刻同期していない場合の例を説明する。図３は、パケットフィルタを備えたスレーブノード１５０を示している。図１におけるスレーブノード１１０に対して、パケットフィルタ１５１が追加されている。パケットフィルタ１５１は到着したＴＳパケットに格納される受信ＴＳの値（受信ＴＳ：Ｔｍ）と到着時の自身で生成しているＴＳの値（生成ＴＳ：Ｔｓ）とから遅延Ｄを求め、遅延Ｄが所定の閾値Ｄｔｈ以下の場合にそのＴＳパケットを採用し、閾値を超える場合には廃棄する。パケットを採用した場合には、そのパケットをＰＬＬ１４０に渡す。
【００１８】
図４は、パケットフィルタ機能を使用する際のＴＳパケットのタイミングフローを示している。時間軸Ｌ１１はマスタノードにおけるパケット送信タイミングを示す時間軸を示している。また、時間軸Ｌ１１の下部にマスタノードにおけるクロックＬ１２が示されている。
【００１９】
この例では、ＴＳパケットＰ１１が送信されている。マスタノードにおいては、ＴＳパケットＰ１１がマスタ側のクロック５５のタイミングで送信されている。そのため、ＴＳパケットＰ１１にはタイムスタンプとして５５が格納されている。
【００２０】
続いて、その下部にはスレーブノードにおける時間軸Ｌ１３とスレーブノードにおけるクロックＬ１４が示されている。この例では、マスタノードのクロックＬ１２とスレーブノードのクロックＬ１４は同期している。そのため、各クロックの時間幅は同一である。
【００２１】
マスタノードにおいて送信タイミング＝５５で送信されたＴＳパケットＰ１１は、スレーブノードにおいて、スレーブノードのクロックＬ１４（この例では、理想状態として、マスタノードと完全に同期していることを想定しているため、クロックＬ１４をＩｄｅａｌ  ＣＬＫと書くこととする）の５５のタイミングで到着するはずだが（図中ではＰ１２として図示する）、マスタ／スレーブ間のパケットネットワークにおいて遅延量＝Ｄが付加されることにより、Ｉｄｅａｌ  ＣＬＫ＝５９のタイミングで到着している（図中ではＰ１３として図示する）。特許文献２にも紹介されているように、遅延量Ｄは到着タイミングにおけるスレーブノードのＴＳ（Ｔｓ）と受信したＴＳパケットに格納されるＴＳ（Ｔｍ）との差分で求められる。すなわち、遅延＝生成ＴＳ−受信ＴＳ（Ｄ＝Ｔｓ−Ｔｍ）で表される。
【００２２】
図４の例では、Ｄ＝Ｔｓ（＝５９）−Ｔｍ（＝５５）＝４となる。閾値Ｄｔｈ＝８と設定されているので、遅延Ｄが０≦Ｄ≦Ｄｔｈを満たしているため、このパケットＰ１３は採用となる。一方、もしも、Ｄ＞ＤｔｈのＴＳパケットが到着した場合は廃棄となる。
【００２３】
このように、受信ＴＳ、生成ＴＳから遅延Ｄを求め、閾値Ｄｔｈからなる条件でフィルタを実行することにより、遅延量が閾値Ｄｔｈよりも大きいパケットを選択的に廃棄し、閾値Ｄｔｈよりも小さいパケットのみを選択してクロック同期制御を行なうことが可能となる。
【特許文献１】特開２００４−２４８１２３号公報
【特許文献２】特開２００４−２７４７６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
図４の例ではマスタ／スレーブノード間が同期している場合を例示して説明したが、現実では同期していない状況から同期制御をかけることにより同期させることを目的としており、同期していない状況を考慮する必要がある。マスタ／スレーブノード間が同期してない場合には、以下に説明する課題がある。
【００２５】
図５は、図４で示したタイミングフローにマスタ／スレーブ間が同期していない場合、特にスレーブ速度が速い場合のタイミングフローを追加した図である。
【００２６】
図５では、図４で示したマスタノードの時間軸Ｌ１１、マスタノードのクロックＬ１２、スレーブノードの時間軸Ｌ１３、スレーブノードがマスタノードに同期している場合のスレーブノードのクロックであるＩｄｅａｌ ＣＬＫ Ｌ１４に加えて、スレーブノードがマスタノードに同期していない場合のスレーブノードのクロックＬ１５が追加されている。Ｉｄｅａｌ ＣＬＫ Ｌ１４が理想状態で完全同期している場合を示しているのに対して、クロックＬ１５は現実のスレーブノードのクロックを示しているため、Ｒｅａｌ ＣＬＫ５０１と示すこととする。この例では、スレーブノードはマスタノードに同期していないため（スレーブノードの方が高速（周波数が高い））、Ｒｅａｌ ＣＬＫ５０１はＩｄｅａｌ ＣＬＫ Ｌ１４に対して、時間幅が短い。
【００２７】
Ｉｄｅａｌ ＣＬＫ Ｌ１４とＲｅａｌ ＣＬＫ Ｌ１５のクロックの時間幅の相違により、クロック同期していない場合のＲｅａｌ ＣＬＫ Ｌ１５の下でのパケット到着タイミングにおける生成ＴＳの値は、Ｉｄｅａｌ ＣＬＫ Ｌ１４におけるパケット到着タイミングにおける生成ＴＳの値との間でズレが生じている。
【００２８】
図５において、同期していない状態では、Ｒｅａｌ ＣＬＫ Ｌ１５においては、遅延Ｄが含まれる場合のＴＳパケットＰ１３の到着タイミングにおける生成ＴＳの値はＴｓ＝６９となっており（図中ではＰ１５として図示する）、遅延Ｄが含まれていない場合のタイミングにおける生成ＴＳの値はＴｓ＝６５となっている（図中ではＰ１４として図示する）。
【００２９】
Ｉｄｅａｌ ＣＬＫ Ｌ１４において遅延Ｄが含まれていない場合の生成ＴＳ値はＴｓ＝５５であることを考慮すると、Ｒｅａｌ ＣＬＫ Ｌ１５の下での到着タイミングはＩｄｅａｌ ＣＬＫ Ｌ１４の下での到着タイミングに対して、タイムスタンプ値として−９というズレが存在していることが分かる。このズレは、スレーブノードのクロックがマスタノードのクロックに同期していないことから生じている。そして、このスレーブノードのクロックが同期ズレを含んでいることにより、適切に遅延量を計算できない。具体的には以下の通りである。
【００３０】
図４で説明したように、同期状態では、ＴＳパケットＰ１３の遅延量は、Ｄ＝Ｔｓ（＝５９）−Ｔｍ（＝５５）＝４となった。この場合、閾値Ｄｔｈ＝８と設定されているため、０≦Ｄ≦Ｄｔｈを満たし、このパケットは採用となった。
【００３１】
これに対して、図５のように同期していない場合、ＴＳパケットＰ１３到着時の生成ＴＳはＴｓ＝６９であるため、遅延量は、Ｄ＝Ｔｓ（＝６９）−Ｔｍ（＝５５）＝１４となる。これはＲｅａｌ ＣＬＫ Ｌ１５がＩｄｅａｌ ＣＬＫ Ｌ１４に対して、同期ズレΔを含んでいるため（この例ではΔ＝−９）、Ｉｄｅａｌ ＣＬＫにおける到着タイミングからの遅延量を適切に求められないためである。この場合、閾値Ｄｔｈ＝８と設定されているため、遅延Ｄが、Ｄ＞Ｄｔｈとなり、遅延量が閾値よりも大きいと判断されるため、このパケットＰ１５は廃棄される。
【００３２】
以上説明したように、マスタ／スレーブ間のクロックが同期していない場合、Ｒｅａｌ ＣＬＫはＩｄｅａｌ ＣＬＫに対して同期ズレΔを含むため、Ｒｅａｌ ＣＬＫにおいて遅延がゼロとなる基準点をスレーブノード側で認識することができない。そのため、スレーブノード側で遅延量を適切に算出することができないという課題がある。
【００３３】
そこで、本発明は、マスタ／スレーブノード間で時刻同期、クロック同期していない場合であっても、マスタノードからスレーブノードへの片方向の遅延を計測することが可能なパケットネットワークの片方向遅延計測方法、その装置及びそのプログラムを提供することを目的とする。
【００３４】
更に、本発明は、算出した到着パケットの遅延量に基づき、設定した閾値に応じて遅延量の大きいパケットを適切に廃棄して、遅延量の小さいパケットのみをクロック同期回路に取り込むことが可能なパケットネットワークの片方向遅延計測方法を用いた同期システム、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３５】
本発明の第１の観点によれば、送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてキューイング遅延を計測する受信側ノードであって、前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、を備えることを特徴とする受信側ノードが提供される。
【００３６】
本発明の第２の観点によれば、送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させる受信側ノードであって、前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、前記キューイング遅延計測手段で計測したキューイング遅延量と所定の閾値とを比較し、比較の結果前記閾値以下のキューイング遅延を含むと判断されたパケットのみを採用するパケットフィルタと、前記パケットフィルタにおいて採用された前記パケットを元に当該受信側ノードのクロックを再生する位相同期手段と、
を備えることを特徴とする受信側ノードが提供される。
【００３７】
本発明の第３の観点によれば、上述の第１の観点又は第２の観点により提供される受信側ノードと、前記送信側ノードと相互に接続されている送信側ノードと、を備えるパケットネットワークシステムであって、前記送信側ノードが、パケットを生成するパケット生成手段と、前記パケット生成手段において生成した前記パケットを前記受信側ノードに対して定期的に送信する送信手段と、を備えることを特徴とするパケットネットワークシステムが提供される。
【００３８】
本発明の第４の観点によれば、送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてキューイング遅延を計測するキューイング遅延対処方法であって、前記受信側ノードが、前記送信側ノードが定期的に送信してくるパケットを受け取る受信ステップと、前記受信側ノードのパケットカウンタが、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理する第１のステップと、前記受信側ノードが、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測ステップと、を備えることを特徴とするキューイング遅延対処方法が提供される。
【００３９】
本発明の第５の観点によれば、送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させるキューイング遅延対処方法であって、前記受信側ノードが、前記送信側ノードが定期的に送信してくるパケットを受け取る受信ステップと、前記受信側ノードのパケットカウンタが、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理する第２のステップと、前記受信側ノードが、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測ステップと、前記受信側ノードのパケットフィルタが、前記キューイング遅延計測ステップで計測したキューイング遅延量と所定の閾値とを比較し、比較の結果前記閾値以下のキューイング遅延を含むと判断されたパケットのみを採用する第３のステップと、前記パケットフィルタにおいて採用された前記パケットを元に当該受信側ノードのクロックを再生する位相同期ステップと、を備えることを特徴とするキューイング遅延対処方法が提供される。
【００４０】
本発明の第６の観点によれば、送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてキューイング遅延を計測するキューイング遅延対処プログラムであって、前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、を備える受信側ノードとしてコンピュータを機能させることを特徴とするキューイング遅延対処プログラムが提供される。
【００４１】
本発明の第７の観点によれば、送信側ノードと受信側ノードが相互に接続されており、送信側ノードが受信側ノードに対してパケットを送信するパケットネットワークにおいてクロックを同期させるキューイング遅延対処プログラムであって、前記送信側ノードが定期的に送信してくるパケットを受け取る受信手段と、前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、前記パケットカウンタの管理する前記カウンタ値を監視することにより、前記送信側ノードから送信されてきた前記パケットに対して前記パケットネットワーク内で付加されたキューイング遅延を計測するキューイング遅延計測手段と、前記キューイング遅延計測手段で計測したキューイング遅延量と所定の閾値とを比較し、比較の結果前記閾値以下のキューイング遅延を含むと判断されたパケットのみを採用するパケットフィルタと、前記パケットフィルタにおいて採用された前記パケットを元に当該受信側ノードのクロックを再生する位相同期手段と、を備える受信側ノードとしてコンピュータを機能させることを特徴とするキューイング遅延対処プログラムが提供される。
【発明の効果】
【００４２】
本発明によれば、遅延計測部が所定の計測時間の間、パケットカウンタのカウンタ値を監視し、所定の計測時間における最大値または最小値を遅延ゼロパケット到着時の基準点と認識し、基準点であるカウンタ最大値または最小値と各パケットの到着時のカウンタ値との差分を算出できることから遅延量を算出することが可能となる。
【００４３】
更に、本発明によれば、パケットフィルタで、この遅延量を用いて、設定された閾値より遅延が小さいパケットを適切に選択することができるため、遅延量の小さいパケットのみをクロック同期回路に取り込むことが可能となり、同期精度を向上できるという効果を奏する。
【発明を実施するための最良の形態】
【００４４】
次に、本発明を実施するための実施形態について、図面を参照して詳細に説明する。
【００４５】
＜実施形態１＞
＜構成の説明＞
図６の上部分を参照すると、本発明の実施形態は全体構成として、マスタノード２００、スレーブノード２１０及びパケットネットワーク２２０を有する。マスタノード２００とスレーブノード２１０は、パケットネットワーク２２０を介して相互に接続されている。
【００４６】
＜マスタノード＞
マスタノード２００は、ＴＳパケット生成部２０１と、ＴＳパケット送信部２０２を有する。
【００４７】
ＴＳパケット生成部２０１は、クロック同期を行なうためのＴＳが格納されたパケットであるＴＳパケット２３０を生成する。ここで、ＴＳとはマスタノード２００のクロックを基にして生成される時間情報を示す値であり、例えば、マスタノード２００のクロックの最小時間単位（例えば１２５ｕｓｅｃ）が経過する毎に１ずつ増加する数値である。
【００４８】
ＴＳパケット送信部２０２は、ＴＳパケット生成部２０１で生成されたＴＳパケット２３０を、スレーブノード２１０にパケットネットワーク２２０を介して定期的に送信する。
【００４９】
＜スレーブノード＞
スレーブノード２１０は、ＴＳパケット受信部２１１、パケットフィルタ２１２、ＰＬＬ部２１３、遅延計測部２１４及びパケットカウンタ２１５を有する。
【００５０】
ＴＳパケット受信部２１１は、マスタノード２００からパケットネットワーク２２０を経由して転送されてきたＴＳパケット２３０を受信する。受信したＴＳパケット２３０はパケットフィルタ２１２とパケットカウンタ２１５のそれぞれに送られる。
【００５１】
パケットフィルタ２１２は、ＴＳパケット受信部２１１から受信したＴＳパケット２３０に関して、遅延計測部２１４から通知される遅延Ｄと予め設定された閾値Ｄｔｈとの比較をすることにより、受信したＴＳパケット２３０を採用するか、廃棄するかを決定する。そして、パケットフィルタ２１２は、採用すると決定したＴＳパケット２３０のみをＰＬＬ部２１３に送る。
【００５２】
なお、パケットフィルタ２１２の起動のタイミングについては、マスタノード２００とのＴＳパケット２３０の送受信開始時から起動するという方法を採用してもよい。また、もう一つの方法として、初めのうちは起動せずに全パケットを取り込み、ある程度安定してからパケットフィルタ２１２を起動するようにしてもよい。このように初めのうちは起動せずにある程度安定してから起動するメリットについて以下に説明する。
【００５３】
一般的にＰＬＬ部２１３に取り込まれるＴＳパケットの数が減ると、その分、安定するまでに時間が必要となる。なぜならば、パケットフィルタ２１２を起動すると遅延大のパケットは廃棄されるため、採用パケット数が減るためである。しかし、だからといって遅延大パケットを取り込むようにすると同期精度が十分に得られない可能性がある。そこで、ある程度安定するまではパケットフィルタ２１２は起動せずに全パケットを取り込み、ある程度安定したらパケットフィルタ２１２を起動して、遅延大パケットを廃棄することで、最終的に実現出来る同期精度は変わらずに安定するまでの時間を短縮することができる。
【００５４】
ＰＬＬ部２１３は、位相比較器２１３−１、ＬＰＦ２１３−２、ＰＩ制御器２１３−３、ＶＣＯ２１３−４及びカウンタ２１３−５を有する。ただし、この構成はあくまでも一例である。本実施形態の構成と異なる構成であっても、自身のクロックから生成するＴＳとマスタノード１００から受信したＴＳとの差分を計算し、その差分を元に自身のクロックを調整することができるのであれば、どのような構成を採用したとしても本発明を実現できる。これは、本発明の思想の範囲内の事項であり、当業者にとって自明なことである。
【００５５】
位相比較器２１３−１は、パケットフィルタ２１２から受信したＴＳパケット２３０に格納されている受信ＴＳとカウンタ２１３−５で生成される生成ＴＳの差分信号を計算し、ＬＰＦ２１３−２に出力する。
【００５６】
ＬＰＦ２１３−２は差分信号を平準化し、ジッタやノイズを抑圧するとともに、その結果をＰＩ制御器２１３−３に出力する。
【００５７】
ＰＩ制御器２１３−３はこの平準化された差分信号が最終的にゼロとなるような制御信号を生成し、ＶＣＯ２１３−４に出力する。
【００５８】
ＶＣＯ２１３−４は入力された制御信号によって決定される周波数のクロックを生成し、カウンタ２１３−５に出力する。また、生成した周波数のクロックに従い、パケットカウンタ２１５のカウンタ値を減少する。
【００５９】
カウンタ２１３−５はクロックを元に生成ＴＳを生成し、位相比較器２１３−１に転送する。
【００６０】
パケットカウンタ２１５は、ＴＳパケット受信部２１１からＴＳパケット２３０を受信する毎に、カウンタの値を所定の値分だけ増加させる。同時にＶＣＯ２１３−４で決定される周波数に従い、カウンタの値を減少させる。なお、パケットカウンタ２１５がパケットバッファであってもかまわない。パケットカウンタ２１５がパケットバッファの場合、ＴＳパケット受信部２１１からＴＳパケット２３０を受信すると、パケットをバッファに蓄積し、同時にＶＣＯ２１３−４で決定される周波数に従い、蓄積しているパケットを出力する。
【００６１】
遅延計測部２１４は、パケットカウンタ２１５のカウンタ値の増減状況をモニタすることにより、到着ＴＳパケットの遅延量を算出し、算出した遅延情報をパケットフィルタ２１２に通知する。
【００６２】
本発明の実施形態の基本的構成は以上の通りである。次に、本実施形態における課題の解決を実現するための基本的な考え方について説明する。
【００６３】
本発明の課題である到着パケットの遅延量の計測については、上述の構成で説明したように、遅延計測部２１４がパケットカウンタ２１５のカウンタ値の増減状況をモニタすることにより、遅延量を計測する。この遅延量の計測は、具体的にはカウンタ値に関する下記の原理を利用して計測する。この点を図７及び図８を参照して説明する。
【００６４】
図７及び図８はＴＳパケット２３０の到着状況とそれに対応するパケットカウンタ２１５のカウンタ値の増減状況を示す図である。横軸方向が経過時間であり、縦軸方向がカウンタ値を示している。
【００６５】
図７は、ネットワーク内でＴＳパケット２３０に付加される遅延が常に０である場合におけるカウンタ値を表している。また、図８は、ネットワーク内でＴＳパケット２３０に付加される遅延が存在する場合のカウンタ値を表している。
【００６６】
図７の、カウンタ最大値を示す線であるＬ２２を見ると分かるように、カウンタ値の最大値は一定値となっている。
【００６７】
まず、パケットカウンタ２１５にパケットが到着すると、１パケット分のカウンタ値が増加する。一方で、カウンタ値はＶＣＯ２１３−４の速度に従い減算されていく。図中ではこのカウンタ値の推移をＬ２０として示している。ＶＣＯ２１３−４の減算速度は、パケット到着間隔において１つのパケットが到着したときに増加する分と同じ数だけ、カウンタ値が減算されている。図７に示す例では、各パケットは遅延を受けずに一定間隔で到着しているため、パケット到着毎にカウンタ値の増加、減少を繰り返しており、パケットが到着した際のカウンタ最大値はどのパケットの到着時であっても常に一定となっている。
【００６８】
これに対して、図８では、遅延ゼロのパケットの到着した際のカウンタ値の最大値が一定値になっている点は図７と同様である。しかし、中ほどでＴＳパケットが遅延を受けている部分では、パケット到着時のカウンタ値は最大値よりも小さくなっている点が図７と異なる。
【００６９】
はじめの３パケットまでは、図７と同様にパケットが遅延を受けておらず、パケット到着毎にカウンタ値の増加、減少を繰り返し、増加した時のカウンタ最大値は一定となっている。
【００７０】
しかし、その後、４パケット目から７パケット目までのパケットは遅延が付加されている。パケットに遅延が付加された場合、パケット到着が遅れることにより、到着が遅れた分だけカウンタ値の減少が進み、カウンタ値の下限値はパケットが遅延を受けていないときに比べてより小さくなる。また、パケット到着時のカウンタ増加量は１パケット分で等しいため、遅延を受けたパケットの到着時のカウンタ値は、遅延ゼロで到着する場合の最大値よりも小さくなっている。
【００７１】
その後、８パケット目で遅延がゼロのパケットが到着した時は、カウンタ値がそれ以前に遅延ゼロでパケットが到着した時の最大値まで達している。それ以降の遅延ゼロのパケットについても同一の最大値に達している。
【００７２】
以上、図７及び図８を参照して説明したように、遅延がゼロのパケットが到着した時にパケットカウンタ２１５のカウンタ値は最大値となり、遅延を受けたパケットが到着した時にはカウンタ値は最大値に届かないということが分かる。
【００７３】
このことから、あるモニタ期間（例えば１０秒間）において、遅延がゼロのパケットが１つでも到着する場合には、そのモニタ期間におけるカウンタ最大値を計測することで、その最大値を遅延ゼロの基準点と見なすことができる。
【００７４】
発明が解決しようとする課題の欄で説明したように、従来は遅延ゼロの基準点を認識することができなかったのに対して、この原理を用いることにより、モニタ期間における最大値をカウンタ値という軸における遅延ゼロの基準点と見なせることから、遅延ゼロの基準点を認識することができるようになる。そして、このように遅延ゼロの基準点を認識できるようになったことを利用して各パケットの遅延量を算出することができる。以下、図９を参照して算出方法について具体的に説明する。
【００７５】
図９は図８と同様に、ＴＳパケットＰ２０〜Ｐ２９の到着状況とそれに対応するパケットカウンタ２１５のカウンタ値Ｃ１０〜Ｃ１９の増減状況を示している。ＴＳパケットはネットワーク内でランダムに遅延が付加されている。図９の例では、ＴＳパケットＰ２０、Ｐ２１、Ｐ２２、Ｐ２７、Ｐ２９は遅延が付加されておらず、ＴＳパケットＰ２３、Ｐ２４、Ｐ２５、Ｐ２６、Ｐ２８は遅延が付加されている。図９では、横軸方向が経過時間を、縦軸方向がカウンタ値を示している。
【００７６】
図７及び図８で説明したように、遅延ゼロのパケットが到着した時のカウンタ値であるカウンタ最大値Ｌ２８を遅延ゼロの基準点と見なすことができる。これに対して、遅延を受けたパケットが到着する際、遅延量に比例して到着時カウンタ値Ｃ１０〜Ｃ１９はカウンタ最大値Ｌ２８より小さな値となっている。そのため、遅延を受けたパケットが到着した時のカウンタ値Ｃ１０〜Ｃ１９とカウンタ最大値Ｌ２８との差分は、遅延量に比例した量となっている。このことから、各パケットが到着する際に、カウンタ最大値Ｌ２８と到着時のカウンタ値Ｃ１０〜Ｃ１９の差分を計算し、カウンタ値（ビット数）をリンク速度ＬＳ［ｂｐｓ］を用いて時間に換算することで遅延を算出することができる。計算式は以下の通りである。
・遅延［ビット数］＝カウンタ最大値Ｌ２８−到着時カウンタ値Ｃ１０〜Ｃ１９
・遅延［時間］＝（カウンタ最大値Ｌ２８−到着時カウンタ値Ｃ１０〜Ｃ１９）／ＬＳ
なお、前述のようにカウンタ最大値Ｌ２８は所定のモニタ期間におけるカウンタ値を計測して最大値を検出している。この検出したカウンタ最大値は次のモニタ期間における遅延算出に用いられる。したがって、上の式をより詳しく書くと、
・或るモニタ期間Ｘにおける遅延［ビット数］＝モニタ期間Ｘ−１におけるカウンタ最大値Ｌ２８−モニタ期間Ｘに到着したパケットの到着時カウンタ値Ｃ１０〜Ｃ１９
・或るモニタ期間Ｘにおける遅延［時間］＝モニタ期間Ｘ−１におけるカウンタ最大値Ｌ２８−モニタ期間Ｘに到着したパケットの到着時カウンタ値Ｃ１０〜Ｃ１９／ＬＳ
となる。
【００７７】
＜動作の説明＞
課題解決の基本的な考え方で説明したように、本発明では、モニタ期間におけるカウンタ最大値と各パケットの到着時のカウンタ値との差分から遅延量を算出することを特徴としている。これを実現するためのスレーブノードの動作について図１０及び図１１を参照して説明する。
【００７８】
図１０は図６における遅延計測部２１４の詳細な構成を示している。また、図１１は遅延計測部２１４の動作フローを示すフローチャートである。図１０、１１を用いて、遅延算出に関する動作を説明する。
【００７９】
図１０に示すように、遅延計測部２１４は、遅延算出部２１４−１とカウンタ最大値モニタ部２１４−２と到着時カウンタ値モニタ部２１４−３を有する。カウンタ最大値モニタ部２１４−２と到着時カウンタ値モニタ部２１４−３は、パケットカウンタ２１５をモニタすることにより、それぞれ、カウンタ最大値と到着時カウンタ値を把握する。そして、カウンタ最大値モニタ部２１４−２と到着時カウンタ値モニタ部２１４−３は、モニタの結果を遅延算出部２１４−１に通知する。遅延算出部２１４−１はその通知された情報を用いて遅延を算出する。そして、算出した遅延情報をパケットフィルタ２１２に通知する。
【００８０】
図１１を用いて遅延計測部２１４の詳細な動作を説明する。
【００８１】
図７乃至９で説明したように、ＴＳパケットの到着状況に応じてパケットカウンタ２１５のカウンタ値Ｌ２０、Ｌ２４、Ｌ２８は増減している。
【００８２】
まず、カウンタ最大値モニタ部２１４−２はモニタ期間ｉにおけるカウンタ最大値Ｐ（ｉ）をモニタする（ステップＳ１０１）。
【００８３】
モニタ期間ｉが終了すると、カウンタ最大値モニタ部２１４−２は計測したモニタ期間ｉにおけるカウンタ最大値Ｐ（ｉ）を遅延算出部２１４−１に通知する（ステップＳ１０２）。すなわち、遅延算出部２１４−１にはモニタ期間経過毎にカウンタ最大値Ｐ（ｉ）が通知されることになる。
【００８４】
一方、到着時カウンタ値モニタ部２１４−３は、モニタ期間ｉにおけるｎ番目のＴＳパケットが到着すると、到着時のカウンタ値Ｃ（ｉ，ｎ）をモニタする（ステップＳ１０３）。
【００８５】
そして、到着時カウンタモニタ部２１４−３は、ＴＳパケット到着毎に、その都度計測したカウンタ値Ｃ（ｉ，ｎ）を遅延算出部２１４−１に通知する（ステップＳ１０４）。
【００８６】
次に、遅延算出部２１４−１は、到着時カウンタモニタ部２１４−３からカウンタ値Ｃ（ｉ，ｎ）を受信する毎に、カウンタ最大値モニタ部２１４−２から通知されているカウンタ最大値Ｐ（ｉ）とを用いて、以下の式で遅延Ｄ（ｉ，ｎ）を計算する（ステップＳ１０５）。
・Ｄ（ｉ，ｎ）＝Ｐ（ｉ−１）−Ｃ（ｉ，ｎ）
ここで注意するのは、カウンタ最大値Ｐ（ｉ）がＰ（ｉ−１）となっていることである。すなわち、一つ前のモニタ期間の最大値Ｐ（ｉ−１）が、モニタ期間ｉにおける遅延計算に使用される。
【００８７】
最後に、遅延算出部２１４−１はステップＳ１０５で遅延Ｄ（ｉ，ｎ）を計算する毎に、パケットフィルタ２１２に遅延情報Ｄ（ｉ，ｎ）を通知する（ステップＳ１０６）。
【００８８】
上述の動作を行うことにより、遅延計測部２１４がこれまで説明したように本発明の実施形態の特徴であるパケットカウンタ２１５のカウンタ値の変化量を用いて遅延量を正しく算出できる。そのため、パケットフィルタ２１２は遅延計測部２１４から通知される遅延量Ｄ（ｉ，ｎ）と予め設定されたフィルタ閾値Ｄｔｈとを比較することで、遅延が小さいパケットを適切に選択することができる。パケットフィルタ２１２は以下の条件にしたがって、パケットの採用／廃棄を決定する。
・Ｄ（ｉ，ｎ）≦Ｄｔｈならば採用
・Ｄ（ｉ，ｎ）＞Ｄｔｈならば廃棄
このフィルタ条件を図７乃至９で説明したパケットカウンタ２１５のカウンタ値に当てはめた図が図１２である。
【００８９】
遅延ゼロの基準ラインとなるカウンタ最大値Ｌ２８に対して、フィルタ閾値Ｌ２９はカウンタ最大値Ｌ２８からフィルタ閾値に相当するカウンタ量だけ減少した値となる。パケット到着時のカウンタ値が閾値ラインとカウンタ最大値との間にあれば採用、閾値ラインよりも下回っていれば廃棄となる。図１２の例では、ＴＳパケットＰ２４、Ｐ２５、Ｐ２８が廃棄、それ以外のＴＳパケットは採用となる。
【００９０】
以上説明した本発明の実施形態について、実際の数値を当てはめた時の数値例を図１３に示した。図１３では、図６におけるマスタノード２００とスレーブノード２１０の間のリンク帯域が１０Ｍｂｐｓ、マスタノード２００が送信するＴＳパケット２３０（図１３におけるＴＳパケットＰ２０〜Ｐ２９）の送信間隔を１ｍｓｅｃ、スレーブノード２１０のパケットフィルタ２１２で設定されているフィルタ閾値が１０ｕｓｅｃであるという条件を置いている。リンク帯域１０Ｍｂｐｓでは時間当たりのビット数は、例えば１ｕｓｅｃあたりでは１０ビットとなるため、フィルタ閾値＝１０ｕｓｅｃをビット換算すると、１００ビットとなる。したがって、パケットフィルタ２１２におけるフィルタ条件としてはＤｔｈ＝１００となる。また、カウンタ最大値は１００００となっている。
【００９１】
以上説明した条件のもとで、ＴＳパケットＰ２０〜Ｐ２９が図の下段に記載のようなタイミングで到着した場合のカウンタ値の推移を表すＬ２６を図の中段に記載しており、各ＴＳパケットＰ２０〜Ｐ２９の到着時カウンタ値Ｃ１０〜Ｃ１９とそこから計算される遅延と計算した遅延に基づきフィルタ処理した結果である採用／廃棄の情報について、上段の表にまとめている。
【００９２】
ＴＳパケットＰ２０〜Ｐ２２、Ｐ２７、Ｐ２９は到着時カウンタ値が１００００であるため、遅延の算出式で計算すると、
・遅延＝カウンタ最大値−到着時カウンタ値＝１００００−１００００＝０
となる。パケットフィルタ２１２での判定としては、
・遅延＝０＜フィルタ閾値＝１００
となるため、採用となる。
【００９３】
また、ＴＳパケットＰ２３、Ｐ２６は到着時カウンタ値がそれぞれ９９５０、９９００であるため、遅延は、
・ＴＳパケットＰ２３：遅延＝カウンタ最大値−到着時カウンタ値＝１００００−９９５０＝５０
・ＴＳパケットＰ２６：遅延＝カウンタ最大値−到着時カウンタ値＝１００００−９９００＝１００
となる。パケットフィルタ２１２での判定としては、
・ＴＳパケットＰ２３：遅延＝５０≦フィルタ閾値＝１００
・ＴＳパケットＰ２６：遅延＝１００≦フィルタ閾値＝１００
となるため、採用となる。
【００９４】
一方、ＴＳパケットＰ２４、Ｐ２５、Ｐ２８は到着時カウンタ値がそれぞれ９８５０、９８００、９７００であるため、遅延は、
・ＴＳパケットＰ２４：遅延＝カウンタ最大値−到着時カウンタ値＝１００００−９８５０＝１５０
・ＴＳパケットＰ２５：遅延＝カウンタ最大値−到着時カウンタ値＝１００００−９８００＝２００
・ＴＳパケットＰ２８：遅延＝カウンタ最大値−到着時カウンタ値＝１００００−９７００＝３００
となる。パケットフィルタ２１２での判定としては、
・ＴＳパケットＰ２４：遅延＝１５０＞フィルタ閾値＝１００
・ＴＳパケットＰ２５：遅延＝２００＞フィルタ閾値＝１００
・ＴＳパケットＰ２８：遅延＝３００＞フィルタ閾値＝１００
となるため、いずれも廃棄となる。
【００９５】
また、ＴＳパケットＰ２０〜Ｐ２９に関して、算出したカウンタ値としての遅延はそれぞれ、０、０、０、５０、１５０、２００、１００、０、３００、０であり、これを１ｕｓｅｃに対して１０ビットという比率で時間換算すると、それぞれ、０、０、０、５ｕｓ、１５ｕｓ、２０ｕｓ、１０ｕｓ、０、３０ｕｓ、０となる。これは図１３の最下部に記している各パケットの遅延値と同一となっている。
【００９６】
ここまで、本発明の構成、動作、具体的数値を用いた動作例を説明した。これまでの説明では、パケットカウンタ２１５は、ＴＳパケット受信部２１１からＴＳパケット２３０を受信する毎に、カウンタの値を所定の値分だけ増加させるとともに、ＶＣＯ２１３−４で決定される周波数に従い、カウンタの値を減少させるという動作していた。ここで、ＴＳパケット２３０がパケットネットワーク２２０で廃棄された場合、カウンタ値が１パケット分シフトしてしまうという問題がある。これを考慮した他の動作例を説明する。
【００９７】
ここでは、ＴＳパケット２３０に格納されるＴＳ値を利用する。前述のように、ＴＳとはマスタノード２００のクロックを基にして生成される時間情報を示す値である。したがって、マスタノード２００が或る時間に送信したＴＳパケット２３０とその次に送信したＴＳパケット２３０に格納されるＴＳ値の差分は送信間隔を示す。マスタノード２００は等間隔でＴＳパケット２３０を送信することを前提としているので、マスタノード２００が送信する隣接のＴＳパケット２３０のＴＳ値の差分は一定値（例えばＴ）となる。このことを利用すると、スレーブノード２１０において、到着するＴＳパケット２３０毎に格納されるＴＳ値の差分を見てみると、パケットネットワーク２２０においてパケット廃棄がない場合の差分はＴとなる。一方、例えば１パケット廃棄された場合は、到着間隔は２倍になるため、差分は２Ｔとなる。このことから、スレーブノード２１０において受信したＴＳパケット２３０と一つ前に受信したＴＳパケット２３０のＴＳ値の差分を計算することにより、パケット廃棄が行われたか否かが判断出来る。また、廃棄が行われたとした場合に、パケットが連続していくつ廃棄されたのかということも判断出来る。
【００９８】
そこでパケットカウンタ２１５の動作として、ＴＳパケット受信部２１１からＴＳパケット２３０を受信すると、ＴＳパケット２３０に格納されている受信ＴＳの値を抽出し、一つ前に受信したＴＳパケット２３０の受信ＴＳの値との差分を計算する。そして差分をＴで割った数Ｘを求め、カウンタの値を所定の数×Ｘだけ増加させることとする。カウンタ値の減少については、これまでと同様にＶＣＯ２１３−４で決定される周波数に従い、カウンタの値を減少させることとする。このような動作をすることにより、パケットネットワーク２２０においてＴＳパケット２３０が廃棄された場合でも、パケットカウンタ２１５のカウンタ値は１パケット分シフトすることなく、これまでと同様の増減状況を示すこととなり、パケット廃棄に対応可能となる。
【００９９】
最後に、図１４−１及び図１４−２に記載の具体的な性能評価例を用いて、本発明の効果について説明する。
【０１００】
図１４−１は、本発明の第一の効果として、遅延量の計測が正しく行なわれているかを確認するために、ここまで説明した方法で計測した遅延量の確率分布を示している。図６のパケットネットワーク２２０の位置にネットワークエミュレータを接続し、マスタノード２００から定期的に送出されるＴＳパケット２３０に対して、遅延を付加し、スレーブノード２１０において、提案する発明により遅延を測定している。図１４−１では、ネットワークエミュレータで付加した遅延の分布とスレーブノード２１０で計測した遅延の分布を示している。横軸が付加した遅延、縦軸が確率を示している。３種類の分布を付加した時の結果を示しているが、いずれの場合も計測した遅延分布がネットワークエミュレータで付加した遅延分布にほぼ一致しており、スレーブノード２１０において本発明の手法により遅延を正しく計測していることが示されている。
【０１０１】
また、図１４−２は、本発明の第二の効果として、スレーブノード２１０の遅延計測部２１４で本発明の計測方法により計測した遅延情報に基づきパケットフィルタ２１２でフィルタ処理を行なった時とフィルタ処理を行なわない時のクロック同期精度を示している。図１４−１と同様に、パケットネットワーク２２０の位置でネットワークエミュレータにより遅延を付加しており、ここでは、一様分布の遅延を付加している。図１４−２では、横軸が一様分布における最大遅延の値、縦軸がクロック同期精度を示している。マスタノード２００からのＴＳパケット２３０の送信間隔は１００ｍｓｅｃ、スレーブノード２１０のパケットフィルタ２１２でのフィルタ閾値は５ｕｓｅｃとしている。図１４−２より、本発明の遅延計測に基づきパケットフィルタを行なう場合はフィルタを行なわない場合に比べ、クロック同期精度を大幅に改善している。また、前述した、モバイルバックホールで要求される５０ｐｐｂというクロック同期精度の要求値も満たしている。
【０１０２】
以上の図１４−１及び図１４−２より、本発明を用いることにより、遅延を正しく計測することができ、その計測した遅延に基づきパケットフィルタ処理を行なうことにより、遅延小のパケットのみを選択することができ、遅延大のパケットの影響を排除できることから、良好なクロック同期精度を得られるという効果が確認できる。
【０１０３】
＜実施形態２＞
実施形態１では、各パケットの遅延量を算出するために、遅延ゼロのパケットが到着した時のカウンタ値であるカウンタ最大値を遅延ゼロの基準点と見なし、各パケットが到着する際に、カウンタ最大値と到着時のカウンタ値との差分を計算することにより遅延を算出した。
【０１０４】
本実施形態２では、他の遅延の算出方法について説明する。
【０１０５】
実施形態１におけるカウンタ値の取り扱いをより詳細に見てみると、到着時のカウンタ値並びにその中の一つとなるカウンタ最大値は、到着パケットのカウンタ増加分を加算した後のカウンタ値である。パケット到着時のカウンタ増加量は１パケット分と一定であるため、到着時のカウンタ値として参照する値を、到着パケットのカウンタ増加分を加算する前の値としても、同様の効果が得られる。そこで、実施形態２では、到着時のカウンタ値をカウンタ増加分加算前の値として、遅延量を計測することとする。
【０１０６】
図１５は実施形態１の図９に相当する図である。カウンタ値の推移Ｌ２６はパケットカウンタ２１５のカウンタ値の増減状況を示している。到着するＴＳパケットＰ２０〜Ｐ２９とその到着タイミングは図９と同様となっている。実施形態１の図９では到着時カウンタ値をカウンタ増加分加算Ｃ１０〜Ｃ１９としていたのに対して、実施形態２ではカウンタ増加分加算前のＣ２０〜Ｃ２９としている。到着時カウンタ値をカウンタ増加分加算前のＣ２０〜Ｃ２９としているため、カウンタ最大値Ｌ３０も到着時カウンタ値Ｃ２０〜Ｃ２９の中の最大値となる（カウンタ最大値Ｌ３０をカウンタ増加分加算前の到着時カウンタ値Ｃ２０〜Ｃ２９の中の最大値としているため、カウンタ最大値Ｌ３０がカウンタ値の推移Ｌ２６の中の最大値を示しているわけではない）。
【０１０７】
遅延量の計算方法は実施形態１と変わらず、カウンタ最大値Ｌ３０と到着時カウンタ値Ｃ２０〜Ｃ２９との差分となり、カウンタ値（ビット数）をリンク速度ＬＳ［ｂｐｓ］を用いて時間換算すれば算出できる。
・遅延［ビット数］＝カウンタ最大値Ｌ３０−到着時カウンタ値Ｃ２０〜Ｃ２９
・遅延［時間］＝（カウンタ最大値Ｌ３０−到着時カウンタ値Ｃ２０〜Ｃ２９）／ＬＳ
図１５で説明した遅延算出におけるカウンタ値の取り扱いの変更に伴い、遅延計測部２１４の動作フローも一部変更となる。図１６は実施形態２における遅延計測部２１４の動作を示すフローチャートである。実施形態１における遅延計測部２１４の動作フローを示した図１１に対して、ステップＳ１０１とＳ１０３がステップＳ２０１、Ｓ２０３に変更となる。他のステップは、対象をＰからＰ’へ、ＣからＣ’へと変更したのみであり、実質的には図１１に示す各ステップと同様の動作である。
【０１０８】
まず、カウンタ最大値モニタ部２１４−２はモニタ期間ｉにおけるカウンタ最大値（カウンタ増加分加算前のカウンタ値の中での最大値Ｐ’（ｉ）をモニタする（ステップＳ２０１）。
【０１０９】
モニタ期間ｉが終了すると、カウンタ最大値モニタ部２１４−２は計測したモニタ期間ｉにおけるカウンタ最大値Ｐ’（ｉ）を遅延算出部２１４−１に通知する（ステップＳ２０２）。すなわち、遅延算出部２１４−１にはモニタ期間経過毎にカウンタ最大値Ｐ’（ｉ）が通知される。
【０１１０】
一方、ステップ１６０２において、到着時カウンタ値モニタ部２１４−３は、モニタ期間ｉにおけるｎ番目のＴＳパケットが到着すると、到着時のカウンタ値（カウンタ増加分加算前のカウンタ値）Ｃ’（ｉ，ｎ）をモニタする（ステップＳ２０３）。
【０１１１】
そして、着時カウンタモニタ部２１４−３は、ＴＳパケット到着毎に、その都度計測したカウンタ値Ｃ’（ｉ，ｎ）を遅延算出部２１４−１に通知する（ステップＳ２０４）。
【０１１２】
ステップでは、遅延算出部２１４−１は、到着時カウンタモニタ部２１４−３からカウンタ値Ｃ’（ｉ，ｎ）を受信する毎に、カウンタ最大値モニタ部２１４−２から通知されているカウンタ最大値Ｐ’（ｉ）とを用いて、以下の式で遅延Ｄ（ｉ，ｎ）を計算する（ステップＳ２０）。
・Ｄ（ｉ，ｎ）＝Ｐ’（ｉ−１）−Ｃ’（ｉ，ｎ）
なお、ステップＳ１０１での記載の繰り返しになるが、カウンタ最大値Ｐ’（ｉ）はモニタ期間経過毎にカウンタ最大値モニタ部２１４−２から受信され、更新される。
【０１１３】
最後に、遅延算出部２１４−１はステップ１１０４で遅延Ｄ（ｉ，ｎ）を計算する毎に、パケットフィルタ２１２に遅延情報Ｄ（ｉ，ｎ）を通知する（ステップＳ２０６）。
【０１１４】
パケットフィルタ２１２では、実施形態１と同様に、予め設定されたフィルタ閾値Ｄｔｈと受信した遅延情報Ｄ（ｉ，ｎ）とを比較して、以下の条件に従ってパケットの採用／廃棄を決定する。
・Ｄ（ｉ，ｎ）≦Ｄｔｈならば採用
・Ｄ（ｉ，ｎ）＞Ｄｔｈならば廃棄
図１５では、遅延ゼロの基準ラインとなるカウンタ最大値Ｌ３０に対して、フィルタ閾値ラインＬ３１はカウンタ最大値Ｌ３０からフィルタ閾値に相当するカウンタ量だけ減少した値となる。パケット到着時のカウンタ値が閾値ラインＬ３１とカウンタ最大値Ｌ３０との間にあれば採用、閾値ラインＬ３１よりも下回っていれば廃棄となる。図１５の例では、ＴＳパケットＰ２４、Ｐ２５、Ｐ２８が廃棄、それ以外は採用となる。
【０１１５】
以上説明したように、実施形態１では、遅延を計算する際に参照するカウンタ値を到着パケットのカウンタ増加分を加算した後の値としたのに対して、本実施形態２では、到着パケットのカウンタ値増加分を加算する前の値としている。パケット到着時のカウンタ増加量は１パケット分で一定であるため、実施形態２でのカウンタ最大値Ｌ３０と到着時カウンタ値Ｃ２０〜Ｃ２９は実施形態１でのカウンタ最大値Ｌ２８と到着時カウンタ値Ｃ１０〜Ｃ１９からそれぞれ１パケット分のカウンタ増加量を差し引いた値となっている。そのため、実施形態２の遅延量＝カウンタ最大値Ｌ３０−到着時カウンタ値Ｃ２０〜Ｃ２９は実施形態１の遅延量＝カウンタ最大値Ｌ２８−到着時カウンタ値Ｃ１０〜Ｃ１９と等しい。その結果、実施形態２の遅延量計算方法でも実施形態１と同様に、正しく遅延を計測することができ、その計測した遅延に基づきパケットフィルタ処理を行なうことにより、良好なクロック同期精度を得ることができるという効果を得ることができる。
【０１１６】
＜実施形態３＞
実施形態１、２では、各パケットの遅延量を算出するために、遅延ゼロのパケットが到着した時のカウンタ値であるカウンタ最大値を遅延ゼロの基準点と見なし、各パケットが到着する際に、カウンタ最大値と到着時のカウンタ値との差分を計算することにより遅延を算出していた。
【０１１７】
本実施形態３では、他の遅延の算出方法について説明する。
【０１１８】
実施形態１、２のパケットカウンタ２１５では、パケットが到着すると１パケット分のカウンタ値が加算され、一方で、通常時はＶＣＯ２１３−５の速度に従いカウンタ値は減算されている。
【０１１９】
これに対して、本実施形態３では、パケットカウンタ２１５のカウンタ値の加算／減算方法を変更する。実施形態３においては、パケットカウンタ２１５は、パケットが到着すると１パケット分のカウンタ値を減算し、一方で、通常時はＶＣＯ２１３−５の速度に従いカウンタ値は加算される、という動作に変更するものとする。以上の変更に伴い、図６の構成図が図１７に変更される。図１７を参照すると分かるように図６におけるスレーブノード２１０、遅延計測部２１４、パケットカウンタ２１５がスレーブノード３１０、遅延計測部３１４、減算／加算パケットカウンタ３１５に変更される。
【０１２０】
図１８は、本実施形態における実施形態１の図９に相当する図である。カウンタ値の推移Ｌ４０は減算／加算パケットカウンタ３１５のカウンタ値の増減状況を示している。到着するＴＳパケットＰ２０〜Ｐ２９とその到着タイミングは図９と同様となっている。実施形態３では、パケット到着時のカウンタ値の扱いとして、カウンタ減少分減算後の値を到着時カウンタ値Ｃ３０〜Ｃ３９としている。実施形態１、２では、遅延ゼロパケットが到着した時のカウンタ値はカウンタ最大値となり、遅延が付加されたパケットが到着した時の到着時カウンタ値は遅延量に応じて最大値からカウンタ値が減少していた。これに対して、本実施形態３では、減算／加算パケットカウンタ３１５のカウンタ値の加算／減算方法が変更されるため、遅延ゼロパケットが到着した時のカウンタ値はカウンタ最小値Ｌ４２となり、遅延が付加されたパケットが到着した時の到着時カウンタ値Ｃ３０〜Ｃ３９は遅延量に応じてカウンタ最小値Ｌ４２からカウンタ値が増加する。
【０１２１】
したがって、遅延量の計算方法は実施形態１、２からは以下のように変更される。すなわち、遅延量は、到着時カウンタ値Ｃ３０〜Ｃ３９とカウンタ最小値Ｌ４２との差分となり、カウンタ値（ビット数）をリンク速度ＬＳ［ｂｐｓ］を用いて時間換算すれば算出できる。
・遅延［ビット数］＝到着時カウンタ値Ｃ３０〜Ｃ３９−カウンタ最小値１８２０
・遅延［時間］＝（到着時カウンタ値Ｃ３０〜Ｃ３９−カウンタ最小値１８２０）／ＬＳ
図１８で説明した遅延算出におけるカウンタ値の取り扱いの変更に伴い、遅延計測部２１４の構成ならびに動作フローも一部変更となり、遅延計測部３１４となる。
【０１２２】
図１９は図１７における遅延計測部３１４の詳細構成を示し、図２０は遅延計測部３１４の動作フローを示している。図１９、２０を用いて、実施形態３における遅延計測部３１４の構成と、遅延算出に関する動作を説明する。
【０１２３】
図１９に示すように、遅延計測部３１４は、遅延算出部３１４−１とカウンタ最小値モニタ部３１４−２と到着時カウンタ値モニタ部２１４−３を有する。カウンタ最小値モニタ部３１４−２と到着時カウンタ値モニタ部２１４−３は、減算／加算パケットカウンタ３１５をモニタすることにより、それぞれ、カウンタ最小値と到着時カウンタ値を把握する。そして、カウンタ最小値モニタ部３１４−２と到着時カウンタ値モニタ部２１４−３は、モニタの結果を遅延算出部３１４−１に通知する。遅延算出部３１４−１はその通知された情報を用いて遅延を算出する。そして、算出した遅延情報をパケットフィルタ２１２に通知する。
【０１２４】
図２０を用いて実施形態３における遅延計測部３１４の動作を説明する。
【０１２５】
まず、カウンタ最小値モニタ部３１４−２はモニタ期間ｉにおけるカウンタ最小値Ｍ（ｉ）をモニタする（ステップＳ３０１）。
【０１２６】
モニタ期間ｉが終了すると、カウンタ最小値モニタ部３１４−２は計測したモニタ期間ｉにおけるカウンタ最小値Ｍ（ｉ）を遅延算出部３１４−１に通知する（ステップＳ３０２）。すなわち、遅延算出部３１４−１にはモニタ期間経過毎にカウンタ最小値Ｍ（ｉ）が通知される。
【０１２７】
一方、到着時カウンタ値モニタ部２１４−３は、モニタ期間ｉにおけるｎ番目のＴＳパケットが到着すると、到着時のカウンタ値（カウンタ減少分減算後のカウンタ値）Ａ（ｉ，ｎ）をモニタする（ステップＳ３０３）。
【０１２８】
そして、到着時カウンタモニタ部２１４−３は、ＴＳパケット到着毎に、その都度計測したカウンタ値Ａ（ｉ，ｎ）を遅延算出部３１４−１に通知する（ステップＳ３０４）。
【０１２９】
次に、遅延算出部３１４−１は、到着時カウンタモニタ部２１４−３からカウンタ値Ａ（ｉ，ｎ）を受信する毎に、カウンタ最小値モニタ部３１４−２から通知されているカウンタ最小値Ｍ（ｉ）とを用いて、以下の式で遅延Ｄ（ｉ，ｎ）を計算する（ステップＳ３０５）。
・Ｄ（ｉ，ｎ）＝Ａ（ｉ，ｎ）−Ｍ（ｉ−１）
最後に、遅延算出部３１４−１はステップ２００４で遅延Ｄ（ｉ，ｎ）を計算する毎に、パケットフィルタ２１２に遅延情報Ｄ（ｉ，ｎ）を通知する（ステップＳ３０６）。
【０１３０】
パケットフィルタ２１２では、実施形態１、２と同様に、予め設定されたフィルタ閾値Ｄｔｈと受信した遅延情報Ｄ（ｉ，ｎ）とを比較して、以下の条件に従ってパケットの採用／廃棄を決定する。
・Ｄ（ｉ，ｎ）≦Ｄｔｈならば採用
・Ｄ（ｉ，ｎ）＞Ｄｔｈならば廃棄
図１８では、遅延ゼロの基準ラインとなるカウンタ最小値Ｌ４２に対して、フィルタ閾値ラインＬ４３はカウンタ最小値Ｌ４２からフィルタ閾値に相当するカウンタ量だけ増加した値となる。パケット到着時のカウンタ値がカウンタ最小値Ｌ４２と閾値ラインＬ４３との間にあれば採用、閾値ラインＬ４３よりも上回っていれば廃棄となる。図１８の例では、ＴＳパケットＰ２４、Ｐ２５、Ｐ２８が廃棄、それ以外は採用となる。
【０１３１】
以上説明したように、実施形態１では、パケットカウンタ２１５は、パケットが到着すると１パケット分のカウンタ値が加算され、一方で、通常時はＶＣＯ２１３−５の速度に従いカウンタ値は減算されていたのに対して、本実施形態３では、減算／加算パケットカウンタ３１５は、パケットが到着すると１パケット分のカウンタ値を減算し、一方で、通常時はＶＣＯ２１３−５の速度に従いカウンタ値は加算されるという動作を行なっている。
【０１３２】
これに応じて遅延ゼロとなる基準点が実施形態１のカウンタ最大値から実施形態３ではカウンタ最小値に変更となる。それと共に、遅延の算出式を到着時カウンタ値とカウンタ最小値との差分としている。その結果、実施形態３の遅延量計算方法でも実施形態１と同様に、正しく遅延を計測することができ、その計測した遅延に基づきパケットフィルタ処理を行なうことにより、良好なクロック同期精度を得ることができるという効果がある。
【０１３３】
＜実施形態４＞
実施形態４では、実施形態３の遅延算出方法を一部変更する。
【０１３４】
実施形態３では、減算／加算パケットカウンタ３１５は、パケットが到着すると１パケット分のカウンタ値を減算し、一方で、通常時はＶＣＯ２１３−５の速度に従いカウンタ値は加算されるという動作を行ない、その上で、到着時のカウンタ値並びにその中の一つとなるカウンタ最小値は、到着したパケットのカウンタ減少分を減算した後の値としている。パケット到着時のカウンタ減少量は１パケット分で一定であるため、到着時のカウンタ値として参照する値を、到着したパケットのカウンタ減少分を減算する前の値としても、同様の効果が得られる。そこで、実施形態４では、到着時のカウンタ値をカウンタ減少分減算前の値として、遅延量を計測することとする。
【０１３５】
図２１は実施形態３の図１８に相当する図である。カウンタ値の推移Ｌ４０は減算／加算パケットカウンタ３１５のカウンタ値の増減状況を示している。到着するＴＳパケットＰ２０〜Ｐ２９とその到着タイミングは図９と同様となっている。実施形態３の図１８では到着時カウンタ値をカウンタ減少分減算後のＣ３０〜Ｃ３９としていたのに対して、実施形態４ではカウンタ減少分減算前のＣ４０〜Ｃ４９としている。到着時カウンタ値をカウンタ減少分減算前のＣ４０〜Ｃ４９としているため、カウンタ最小値Ｌ４４も到着時カウンタ値Ｃ４０〜Ｃ４９の中の最小値となる。なお、ここではカウンタ最小値Ｌ４４という表現を用いているが、カウンタ値の推移Ｌ４０における最小値ではなく、カウンタ減少分減算前の到着時カウンタ値Ｃ４０〜Ｃ４９の中での最小値となる。遅延量の計算方法は実施形態３と変わらず、到着時カウンタ値とカウンタ最小値との差分となり、カウンタ値（ビット数）をリンク速度ＬＳ［ｂｐｓ］を用いて時間換算すれば算出できる。
・遅延［ビット数］＝到着時カウンタ値Ｃ４０〜Ｃ４９−カウンタ最小値２１２０
・遅延［時間］＝（到着時カウンタ値Ｃ４０〜Ｃ４９−カウンタ最小値２１２０）／ＬＳ
図２１で説明した遅延算出におけるカウンタ値の取り扱いの変更に伴い、遅延計測部３１４の動作フローも一部変更となる。図２２は実施形態４における遅延計測部３１４の動作を示すフローチャートである。実施形態３における遅延計測部３１４の動作フローを示した図２０に対して、ステップＳ３０１とＳ３０３がステップＳ４０１、Ｓ４０３に変更となる。他のステップは、対象をＭからＭ’へ、ＡからＡ’へと変更したのみであり、実質的には図２０に示す各ステップと同様の動作である。
【０１３６】
まず、カウンタ最小値モニタ部１９０１はモニタ期間ｉにおけるカウンタ最小値（カウンタ減少分減算前のカウンタ値の中での最小値）Ｍ’（ｉ）をモニタする（ステップＳ４０１）。
【０１３７】
また、到着時カウンタ値モニタ部２１４−３は、モニタ期間ｉにおけるｎ番目のＴＳパケットが到着すると、到着時のカウンタ値（カウンタ減少分減算前のカウンタ値）Ａ’（ｉ，ｎ）をモニタする（ステップＳ４０３）。
【０１３８】
他の各ステップは図２０と同様である。
【０１３９】
パケットフィルタ２１２では、実施形態１、２及び３と同様に、予め設定されたフィルタ閾値Ｄｔｈと受信した遅延情報Ｄ（ｉ，ｎ）とを比較して、以下の条件に従ってパケットの採用／廃棄を決定する。
・Ｄ（ｉ，ｎ）≦Ｄｔｈならば採用
・Ｄ（ｉ，ｎ）＞Ｄｔｈならば廃棄
図２１では、遅延ゼロの基準ラインとなるカウンタ最小値Ｌ４４に対して、フィルタ閾値ラインＬ４５はカウンタ最小値Ｌ４４からフィルタ閾値Ｌ４５に相当するカウンタ量だけ増加した値となる。パケット到着時のカウンタ値がカウンタ最小値Ｌ４４と閾値ラインＬ４５との間にあれば採用、閾値ラインよりも上回っていれば廃棄となる。図１８の例では、ＴＳパケットＰ２４、Ｐ２５、Ｐ２８が廃棄、それ以外は採用となる。
【０１４０】
以上説明したように、実施形態３では、遅延を計算する際に参照するカウンタ値を到着パケットのカウンタ減少分を減算した後の値としたのに対して、本実施形態４では、到着パケットのカウンタ値減少分を減算する前の値としている。パケット到着時のカウンタ減少量は１パケット分で一定であるため、実施形態４でのカウンタ最小値Ｌ４４と到着時カウンタ値Ｃ４０〜Ｃ４９は実施形態３でのカウンタ最大値Ｌ４２と到着時カウンタ値Ｃ３０〜Ｃ３９からそれぞれ１パケット分のカウンタ減少量を加えた値となっている。そのため、実施形態４の遅延量＝到着時カウンタ値Ｃ４０〜Ｃ４９−カウンタ最小値Ｌ４４は、実施形態３の遅延量＝到着時カウンタ値１８３０〜１８３９−カウンタ最小値Ｌ４２と等しい。その結果、実施形態４の遅延量計算方法でも実施形態３と同様に、正しく遅延を計測することができ、その計測した遅延に基づきパケットフィルタ処理を行なうことにより、良好なクロック同期精度を得ることができるという効果がある。
【０１４１】
＜効果＞
以上説明したように、本発明によれば、遅延計測部が所定の計測時間の間、パケットカウンタのカウンタ値を監視し、計測時間における最大値または最小値を遅延ゼロパケット到着時の基準点と認識し、基準点であるカウンタ最大値または最小値と各パケットの到着時のカウンタ値との差分から遅延量を算出することができるという効果を奏する。
【０１４２】
更に、パケットフィルタでは、この遅延量を用いて、設定された閾値より遅延が小さいパケットを適切に選択することができるため、遅延量の小さいパケットのみをクロック同期回路に取り込むことが可能となり、同期精度を向上できるという効果を奏する。
【０１４３】
なお、本発明の実施形態であるマスタノード及びスレーブノードは、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【図面の簡単な説明】
【０１４４】
【図１】タイムスタンプ方式を用いた場合のネットワーク構成並びにスレーブノード構成を示す図である。
【図２】遅延の確率分布を示す図である。
【図３】パケットフィルタ機能を用いた時のスレーブノード構成を示す図である。
【図４】マスタノードとスレーブノードが同期している場合の各ノードのクロック並びにＴＳパケットの転送／到着タイミングを示す図である。
【図５】マスタノードとスレーブノードが同期せず、スレーブノードが速い場合の各ノードのクロック並びにＴＳパケットの転送／到着タイミングを示す図である。
【図６】本発明の実施形態のマスタノード並びにスレーブノードの構成を示す図である。
【図７】パケットネットワークにおける遅延がない場合のＴＳパケットの到着タイミング並びにそれに応じたパケットカウンタ２１５のカウンタ値を示す図である。
【図８】パケットネットワークにおける遅延がある場合のＴＳパケットの到着タイミング並びにそれに応じたパケットカウンタ２１５のカウンタ値を示す図である。
【図９】本発明の実施形態１の遅延算出方法を説明するためのＴＳパケットの到着タイミング並びにそれに応じたパケットカウンタ２１５のカウンタ値を示す図である。
【図１０】本発明の実施形態における遅延計測部２１４の詳細構成図である。
【図１１】本発明の実施形態１の遅延計測部２１４の処理フローを示す図である。
【図１２】本発明の実施形態１のフィルタ動作を説明するためのＴＳパケットの到着タイミング並びにそれに応じたパケットカウンタ２１５のカウンタ値を示す図である。
【図１３】本発明の実施形態１のフィルタ動作を説明するためのＴＳパケットの到着タイミング並びにそれに応じたパケットカウンタ２１５のカウンタ値の具体例を示す図である。
【図１４−１】本発明の第一の効果を示す遅延分布の性能評価結果を示す図である。
【図１４−２】本発明の第二の効果を示すクロック同期精度の性能評価結果を示す図である。
【図１５】本発明の実施形態２の遅延算出方法を説明するためのＴＳパケットの到着タイミング並びにそれに応じたパケットカウンタ２１５のカウンタ値を示す図である。
【図１６】本発明の実施形態２の遅延計測部２１４の処理フローを示す図である。
【図１７】本発明の実施形態３のマスタノード並びにスレーブノードの構成を示す図である。
【図１８】本発明の実施形態３の遅延算出方法を説明するためのＴＳパケットの到着タイミング並びにそれに応じた減算／加算パケットカウンタ３１５のカウンタ値を示す図である。
【図１９】本発明の実施形態４の遅延計測部３１４の詳細構成図である。
【図２０】本発明の実施形態３の遅延計測部３１４の処理フローを示す図である。
【図２１】本発明の実施形態４の遅延算出方法を説明するためのＴＳパケットの到着タイミング並びにそれに応じた減算／加算パケットカウンタ３１５のカウンタ値を示す図である。
【図２２】本発明の実施形態４の遅延計測部１７１４の処理フローを示す図である。
【符号の説明】
【０１４５】
１００、２００  マスタノード
１１０、１５０、２１０、３１０  スレーブノード
１２０、２３０、Ｐ１１、Ｐ１２、Ｐ１３、Ｐ１４、Ｐ１５、Ｐ２０、Ｐ２１、Ｐ２２、Ｐ２３、Ｐ２４、Ｐ２５、Ｐ２６、Ｐ２７、Ｐ２８、Ｐ２９  ＴＳパケット
１３０、２２０  パケットネットワーク
１４０、２１３  ＰＬＬ
１４１、２１３−１  位相比較器
１４２、２１３−２  ＬＰＦ
１４３、２１３−３  ＰＩ制御器
１４４、２１３−４  ＶＣＯ
１４５、２１３−５  カウンタ
１５１、２１２  パケットフィルタ
２０１  ＴＳパケット生成部
２０２  ＴＳパケット送信部
２１１  ＴＳパケット受信部
２１４、３１４  遅延計測部
２１５  パケットカウンタ
２１４−１、３１４−１  遅延算出部
２１４−２  カウンタ最大値モニタ部
２１４−３  到着時カウンタ値モニタ部
３１４−２  カウンタ最小値モニタ部
３１５  減算／加算パケットカウンタ
Ｃ１０、Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１４、Ｃ１５、Ｃ１６、Ｃ１７、Ｃ１８、Ｃ１９、Ｃ２０、Ｃ２１、Ｃ２２、Ｃ２３、Ｃ２４、Ｃ２５、Ｃ２６、Ｃ２７、Ｃ２８、Ｃ２９、Ｃ３０、Ｃ３１、Ｃ３２、Ｃ３３、Ｃ３４、Ｃ３５、Ｃ３６、Ｃ３７、Ｃ３８、Ｃ３９、Ｃ４０、Ｃ４１、Ｃ４２、Ｃ４３、Ｃ４４、Ｃ４５、Ｃ４６、Ｃ４７、Ｃ４８、Ｃ４９  カウンタ値
Ｌ１１  マスタノードの時間軸
Ｌ１２  マスタクロック
Ｌ１３  スレーブノードの時間軸
Ｌ１４、５０１  スレーブクロック
Ｌ２０、Ｌ２３、Ｌ２６、Ｌ４０  カウンタ値の推移
Ｌ２１、Ｌ２４、Ｌ２７、Ｌ４１  ＴＳパケットの到着タイミング
Ｌ２２、Ｌ２５、Ｌ２８、Ｌ３０  カウンタ最大値
Ｌ３１、Ｌ４３、Ｌ４５  フィルタ閾値
Ｌ４２、Ｌ４４  カウンタ最小値
【図１】
2010093702.tif 000003
【図２】
2010093702.tif 000004
【図３】
2010093702.tif 000005
【図４】
2010093702.tif 000006
【図５】
2010093702.tif 000007
【図６】
2010093702.tif 000008
【図７】
2010093702.tif 000009
【図８】
2010093702.tif 000010
【図９】
2010093702.tif 000011
【図１０】
2010093702.tif 000012
【図１１】
2010093702.tif 000013
【図１２】
2010093702.tif 000014
【図１３】
2010093702.tif 000015
【図１４−１】
2010093702.tif 000016
【図１４−２】
2010093702.tif 000017
【図１５】
2010093702.tif 000018
【図１６】
2010093702.tif 000019
【図１７】
2010093702.tif 000020
【図１８】
2010093702.tif 000021
【図１９】
2010093702.tif 000022
【図２０】
2010093702.tif 000023
【図２１】
2010093702.tif 000024
【図２２】
2010093702.tif 000025