JP5534548B2 - クロック同期のための受信側ノード、その方法及びそのプログラム - Google Patents

クロック同期のための受信側ノード、その方法及びそのプログラム Download PDF

Info

Publication number
JP5534548B2
JP5534548B2 JP2009056252A JP2009056252A JP5534548B2 JP 5534548 B2 JP5534548 B2 JP 5534548B2 JP 2009056252 A JP2009056252 A JP 2009056252A JP 2009056252 A JP2009056252 A JP 2009056252A JP 5534548 B2 JP5534548 B2 JP 5534548B2
Authority
JP
Japan
Prior art keywords
packet
node
parameter
clock
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009056252A
Other languages
English (en)
Other versions
JP2010212945A (ja
Inventor
正樹 厩橋
珍龍 崔
和男 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009056252A priority Critical patent/JP5534548B2/ja
Publication of JP2010212945A publication Critical patent/JP2010212945A/ja
Application granted granted Critical
Publication of JP5534548B2 publication Critical patent/JP5534548B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パケットネットワークを介して装置間のクロックを同期させるクロック同期のための受信側ノード、その方法及びそのプログラム。
ネットワークの転送されるデータ量の増大に伴い、通信事業者にとって、高速データ通信網を安価に実現する必要性が増している。そのため、時分割多重(TDM: Time Division Multiplexing)方式(以下、TDM方式と記載する)を用いた高コストなネットワークからインターネットプロトコル(IP:Internet Protocol)方式(以下、IP方式と記載する)を用いた低コストかつ高効率なネットワークへの移行が進められつつある。
ネットワークに転送されるトラヒックの中には、送信ノード側と受信ノード側とで正確なクロック同期が求められるものがある。例えば音声やビデオなどのリアルタイムデータの送信及び再生である。このようなリアルタイムデータを高品質にやり取りするためには、予め決められたタイミングでデータを再生する必要があり、そのために安定したクロックが必要となる。
又、他の例として、モバイルネットワークサービスでは、セル間のハンドオーバを滞りなく実現するために正確なクロック同期が求められている。具体的には、モバイルネットワーク上の各基地局装置は無線ネットワーク制御装置との間で、50parts per billion(ppb)という非常に高精度のクロック同期が求められている。サービス中にもしも基地局装置のクロック同期精度がこの要求値を超えてしまうと、セル間のハンドオーバが失敗してしまう可能性があり、データが欠落し、通信品質が劣化する恐れがある。
関連技術のTDM方式ベースのネットワークでは、受信ノードは伝送路を介して送信ノードのクロック情報を抽出することができるため、送受信ノード間で高精度のクロック同期が実現可能だった。これに対して、IPネットワーク方式では、この機能が具備されていないため、受信ノードにおいて送信側のクロックを再生する技術が不可欠である。
上述の問題に鑑みて、IPネットワークのようなパケットネットワークを介して高精度のクロック再生を実現する技術として、タイムスタンプ方式が提案されている。タイムスタンプ方式の構成図を図1に示す。
タイムスタンプ方式では、送信側ノードにあたるマスタノード100がタイムスタンプ(以下、TSと記載する)を格納したTSパケット120を受信側ノードにあたるスレーブノード110に向けて送信する。TSパケット120はパケットネットワーク130を経由して、スレーブノード110に到着する(図1上部分参照)。
TSパケット120を受信したスレーブノード110は、格納されたTS情報を利用して自身のクロックを調整することにより、マスタノード100のクロックと同期する。次に、スレーブノード110の構成を説明しながら、より詳細にクロック同期の動作を説明する。
スレーブノード110は位相同期ループ(PLL:Phase-locked loop)140を有し、自身のクロックから生成するTSとマスタノード100から受信したTSとの差分を計算し、PLL140において、その差分を元に自身のクロックを調整することにより、クロック同期を実現する。
PLL140の構成の一例としては、位相比較器141、ループフィルタ(LPF:Low Pass Filter)142、比例・積分(PI:Proportion・Integration)制御器143、電圧制御発振器(VCO:Voltage Control Oscillator)144及びカウンタ145を有するものが挙げられる。
位相比較器141は、受信したTSパケット120に格納されているTSである「受信TS」と自身のクロックから生成するTSである「生成TS」との差分信号を計算する。この差分信号はLPF142に入力され、ジッタやノイズが除去される。
LPF142において平滑化された差分信号は、PI制御器143に入力される。PI制御器143では、差分信号を最終的にゼロに収束させる制御信号を計算し、VCO144に出力する。
VCO144はPI制御器143からの制御信号によって決定される周波数のクロックを出力する。これにより、スレーブ側のクロックが調整される。又、カウンタ145は調整されたクロックに基づき、スレーブ側の生成するTSである「生成TS」を生成し、位相比較器141に渡す。このようなPLL140の動作により、スレーブノード110では、パケットネットワーク130を経由しても、マスタノード100のクロックを再生し、マスタノード100と同期することができる(例えば特許文献1参照)。
パケットネットワークの入り口側エッジに位置するマスタノードと出口側エッジに位置するスレーブノードが、以上説明した構成を有することにより、パケットネットワークを経由するTDMフローのクロック同期制御を行なうことができる。
他方、以下のような問題も存在する。この点について説明する。
現実のネットワークにおいては、パケットがパケットネットワーク内を転送される際にルータやスイッチにおいてキューイング遅延を受ける。なお、「遅延」という文言は、固定された遅延である伝播遅延と、変動する遅延であるキューイング遅延の組合せを指すこともあるが、本願では特に断りのない限り、以下でいう「遅延」とはキューイング遅延のことを指すものとする。
そして、上述のようにスレーブノードに到着するTSパケットには遅延が含まれており、中には遅延量が大きいパケットも存在する。上述したようにスレーブノードにおけるLPFにより、遅延のランダム性を平準化し、その影響を軽減する処理が施されるものの、遅延量が大きいTSパケットが到着するとLPFにおいてもその影響を十分に軽減できない場合がある。この場合、クロック同期回路に対してある種のノイズが入力されることになり、同期精度の劣化をもたらす。
これを回避するために、TSパケットの遅延量に応じてパケットを選択的に廃棄するパケットフィルタ機能が用いられている。すなわち、或る閾値を定め、閾値を超える遅延のパケットは廃棄し、格納されるTS情報を同期制御に使用しないという機能である。
図2は、遅延量の分布の一例を示している。この例では遅延がほぼゼロから数100マイクロ 秒まで分布している。パケットフィルタ機能では、遅延量に関して閾値を設定し、遅延がこの閾値以下のパケットは採用し、閾値を超えるパケットは廃棄する。このように、遅延が閾値を超過するパケットを選択的に廃棄することにより、遅延が小さいパケットのみを用いてクロック同期制御を行なうことが可能になるため、同期精度の向上が期待できる。
ここで、上述のクロック同期制御を実現するために遅延を計測する方法としては、マスタノードとスレーブノードとが、例えばGPS(Global Positioning System)等を用いて時刻同期をするという方法が例示出来る。両ノードが時刻同期している場合には、マスタノードがパケット送信時に送信時刻情報をパケット内に格納して送信することにより、スレーブノードはパケット受信時の受信時刻とパケット内に格納された送信時刻情報の差分を計算することが可能となる。そして、計算した送信時刻情報の差分を用いることでそのパケットの伝播遅延を含む遅延を計測することができる。
しかしながら、ここで説明した方法はマスタ/スレーブノード間が時刻同期していることを前提としている。現状のパケットネットワークでは、各ノードが時刻同期していない場合も多く、その場合はこの方法で遅延を計測することはできない。このように、時刻同期していない場合は以下のような方法を用いる。
続いて、時刻同期していない場合の例を説明する。図3は、パケットフィルタを備えたスレーブノード310を示している。図1におけるスレーブノード110に対して、パケットフィルタ350が追加されている。パケットフィルタ350は到着したTSパケットに格納される受信TSの値(受信TS:Tm)とTSパケットの受信時に自身で生成しているTSの値(生成TS:Ts)とから遅延Dを求め、遅延Dが所定の閾値Dth以下の場合にそのTSパケットを採用し、閾値を超える場合には廃棄する。パケットを採用した場合には、そのパケットをPLL140に渡す。
PLL140において、n個目の受信パケットの受信TSをTm(n)として、位相比較器141の出力をE(n)、LPF142の出力をS(n)、PI制御器143の出力をZ(n)とした場合、以下の式で実現する例がある。
E(n)=Tm(n)−Ts(n)
S(n)=(1−a1)×S(n−1)+a1×E(n)
Z(n)=a2×S(n)+a3×Y(n)
(ここで、Y(n)=S(n)×Y(n−1)、又a1、a2、a3は所定の定数)。
図4に、上記算式を実現する位相比較器441、LPF442、PI制御器443の構成例を示した。LPF442のFFではS(n−1)が、PI制御器443のFFではY(n−1)が格納され、計算に用いられる。
続いて、図5は、パケットフィルタ機能を使用する際のTSパケットのタイミングフローを示している。時間軸L11はマスタノードにおけるパケット送信タイミングを示す時間軸を示している。又、時間軸L11の下部にマスタノードにおけるクロックL12が示されている。
この例では、TSパケットP11が送信されている。マスタノードにおいては、TSパケットP11がマスタ側のクロック55のタイミングで送信されている。そのため、TSパケットP11にはタイムスタンプとして55が格納されている。
続いて、その下部にはスレーブノードにおける時間軸L13とスレーブノードにおけるクロックL14が示されている。この例では、マスタノードのクロックL12とスレーブノードのクロックL14は同期している。そのため、各クロックの時間幅は同一である。
マスタノードにおいて送信タイミング=55で送信されたTSパケットP11は、スレーブノードにおいて、スレーブノードのクロックL14(この例では、理想状態として、マスタノードと完全に同期していることを想定しているため、クロックL14をIdeal CLKと書くこととする)の55のタイミングで到着するはずだが(図中ではP12として図示する)、マスタ/スレーブ間のパケットネットワークにおいて遅延量=Dが付加されることにより、P13としてはIdeal CLK=59のタイミング、P14としてはIdeal CLK=70のタイミングで到着している。
特許文献2にも紹介されているように、遅延量Dは到着タイミングにおけるスレーブノードのTS(Ts)と受信したTSパケットに格納されるTS(Tm)との差分で求められる。すなわち、遅延=生成TS−受信TS(D=Ts−Tm)で表される。
図5の例では、P13に関しては、D=Ts(=59)−Tm(=55)=4となる。閾値Dth=8と設定されているので、遅延Dが0≦D≦Dthを満たしているため、このパケットP13は採用となる。一方、P14に関しては、D=Ts(=70)−Tm(=55)=15となり、D>Dthなので、このTSパケットP14は廃棄となる。
このように、受信TS、生成TSから遅延Dを求め、閾値Dthからなる条件でフィルタを実行することにより、遅延量が閾値Dthよりも大きいパケットを選択的に廃棄し、閾値Dthよりも小さいパケットのみを選択してクロック同期制御を行なうことが可能となる。
特開2004−248123号公報 特開2004−274766号公報
しかしながら、図5の例ではマスタ/スレーブノード間が同期している場合を例示して説明したが、現実では同期していない状況から同期制御をかけることにより同期させることを目的としており、同期していない状況を考慮する必要がある。マスタ/スレーブノード間が同期してない場合には、以下に説明する課題がある。
図6は、図5で示したタイミングフローにマスタ/スレーブ間が同期していない場合、特にスレーブ速度が遅い場合のタイミングフローを追加した図である。
図6では、図5で示したマスタノードの時間軸L11、マスタノードのクロックL12、スレーブノードの時間軸L13、スレーブノードがマスタノードに同期している場合のスレーブノードのクロックであるIdeal CLK L14に加えて、スレーブノードがマスタノードに同期していない場合のスレーブノードのクロックL15が追加されている。
Ideal CLK L14が理想状態で完全同期している場合を示しているのに対して、クロックL15は現実のスレーブノードのクロックを示しているため、Real CLK601と示すこととする。この例では、スレーブノードはマスタノードに同期していないため(スレーブノードの方が低速(周波数が低い))、Real CLK601はIdeal CLK L14に対して、時間幅が長い。
Ideal CLK L14とReal CLK L15のクロックの時間幅の相違により、クロック同期していない場合のReal CLK L15の下でのパケット到着タイミングにおける生成TSの値は、Ideal CLK L14におけるパケット到着タイミングにおける生成TSの値との間でズレが生じている。
図6において、同期していない状態では、Real CLK L15においては、遅延Dが含まれる場合のTSパケットP13の到着タイミングにおける生成TSの値はTs=52となっており、遅延Dが含まれていない場合のタイミングにおける生成TSの値はTs=49となっている。
Ideal CLK L14において遅延Dが含まれていない場合の生成TS値はTs=55であることを考慮すると、Real CLK L15の下での到着タイミングはIdeal CLK L14の下での到着タイミングに対して、タイムスタンプ値として+6というズレが存在していることが分かる。このズレは、スレーブノードのクロックがマスタノードのクロックに同期していないことから生じている。そして、このスレーブノードのクロックが同期ズレを含んでいることにより、適切に遅延量を計算できない。具体的には以下の通りである。
図5で説明したように、同期状態では、TSパケットP13の遅延量は、D=Ts(=59)−Tm(=55)=4となった。この場合、閾値Dth=8と設定されているため、0≦D≦Dthを満たし、このパケットは採用となった。
これに対して、図6のように同期していない場合、TSパケットP13では、到着時の生成TSはTs=52であるため、遅延量は、D=Ts(=52)−Tm(=55)=−3となる。これはReal CLK L15がIdeal CLK L14に対して、同期ズレ△を含んでいるため(この例では△=+6)、Ideal CLKにおける到着タイミングからの遅延量を適切に求められないためである。
この場合、遅延Dが、0≦D≦Dthを満たさないと判断されてしまうため、このパケットP13は廃棄される。一方、TSパケットP14の場合、到着時の生成TSはTs=61であるため、遅延量は、D=Ts(=61)−Tm(=55)=6となる。この場合、遅延Dが、0≦D≦Dthを満たすと判断されてしまうため、このパケットP14は採用される。図5の同期の例では、P13の場合は採用、P14の場合は廃棄だったのに対して、図6では、P13の場合は廃棄、P14の場合は採用となっており、適切なパケット選択ができていない。その結果、本来採用したい遅延量が小さいパケットを採用できず、廃棄したい遅延量が大きいパケットを採用してしまうことにより、同期精度が劣化するという問題がある。
そこで、本発明は、マスタ/スレーブノード間で時刻同期、クロック同期していない場合であっても、遅延量が大きいと思われるパケットを適切に廃棄して、遅延量の小さいパケットのみをクロック同期回路に取り込み、高精度なクロック同期を実現するクロック同期のための受信側ノード、その方法及びそのプログラムを提供することを目的とする。
上述の問題を解決するため、本発明に係る受信側ノードは、ネットワークを介して送信側ノードと相互に接続され、前記送信側ノードから受信したタイムスタンプを含むパケットに基づいてクロックを同期させる受信側ノードであって、前記送信側ノードが定期的に送信してくる前記パケットを受け取る受信手段と、自身の発振器で当該受信側ノードのクロックを生成するとともに、該生成したクロックに基づいて生成したタイムスタンプと、前記受信手段で受信したパケットに含まれるタイムスタンプの各々の差分を基にした計算により該発振器の発振周波数を調整する周波数調整量を生成する位相同期手段と、前記周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、前記周波数調整量の絶対値が該閾値以下の前記パケットを採用するパケットフィルタ手段と、前記位相同期手段での該計算の過程で生じ、前記位相同期手段が保持するパラメータを別途保持し、前記パケットフィルタ手段の該判定の結果に従い、自身が保持する前記パラメータ及び前記位相同期手段で保持する前記パラメータを更新するパラメータ制御手段と、を備えることを特徴とする。
上述の問題を解決するため、本発明に係る受信側ノードのクロックを同期させる方法は、ネットワークを介して送信側ノードと相互に接続され、前記送信側ノードから受信したタイムスタンプを含むパケットに基づいて受信側ノードのクロックを同期させる方法であって、前記受信側ノードにおいて、前記送信側ノードが定期的に送信してくる前記パケットを受け取る受信手順と、前記受信側ノード自身の発振器で該受信側ノードのクロックを生成するとともに、該生成したクロックに基づいて生成したタイムスタンプと、前記受信したパケットに含まれるタイムスタンプの各々の差分を基にした計算により該発振器の発振周波数を調整する周波数調整量を生成する位相同期手順と、前記周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、前記周波数調整量の絶対値が該閾値以下の前記パケットを採用するパケットフィルタ手順と、前記位相同期手順での該計算の過程で生じ、前記位相同期手順が保持するパラメータを別途保持し、前記パケットフィルタ手順での該判定の結果に従い、自身が保持する前記パラメータ及び前記位相同期手順で保持する前記パラメータを更新するパラメータ制御手順と、を備えることを特徴とする。
上述の問題を解決するため、本発明に係る受信側ノードのクロックを同期させるプログラムは、ネットワークを介して送信側ノードと相互に接続され、前記送信側ノードから受信したタイムスタンプを含むパケットに基づいて、コンピュータによって受信側ノードのクロックを同期させるプログラムであって、前記送信側ノードが定期的に送信してくる前記パケットを受け取る受信処理と、前記受信側ノード自身の発振器で該受信側ノードのクロックを生成するとともに、該生成したクロックに基づいて生成したタイムスタンプと、前記受信したパケットに含まれるタイムスタンプの各々の差分を基にした計算により該発振器の発振周波数を調整する周波数調整量を生成する位相同期処理と、前記周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、前記周波数調整量の絶対値が該閾値以下の前記パケットを採用するパケットフィルタ処理と、前記位相同期処理での該計算の過程で生じ、前記位相同期処理が保持するパラメータを別途保持し、前記パケットフィルタ処理での該判定の結果に従い、自身が保持する前記パラメータ及び前記位相同期処理で保持する前記パラメータを更新するパラメータ制御処理と、をコンピュータに実行させることを特徴とする。
以上説明したように、本発明によれば、マスタ/スレーブノード間で時刻同期、クロック同期していない場合であっても、周波数調整量の絶対値が閾値以下のパケットを採用することで、遅延量が大きいと思われるパケットを適切に廃棄して、遅延量の小さいパケットのみをクロック同期回路に取り込み、高精度なクロック同期を実現するクロック同期のための受信側ノード、その方法及びそのプログラムを提供することができる。
タイムスタンプ方式を用いた場合のネットワーク構成及びスレーブノード構成を示す図である。 遅延の確率分布を示す図である。 パケットフィルタ機能を用いた時のスレーブノード構成を示す図である。 PLL140の位相比較器141、LPF142、PI制御器143の構成例を記したスレーブノード構成を示す図である。 マスタノードとスレーブノードが同期している場合の各ノードのクロック及びTSパケットの転送/到着タイミングを示す図である。 マスタノードとスレーブノードが同期せず、スレーブノードが遅い場合の各ノードのクロック及びTSパケットの転送/到着タイミングを示す図である。 本発明の実施形態1のマスタノード及びスレーブノードの構成を示す図である。 本発明の実施形態1のLPF712−2、PI制御器712−3、パケットフィルタ713、パラメータ制御器714、VCO712−5のパラメータ更新時の動作フローを示す図である。 本発明の実施形態1のLPF712−2、PI制御器712−3のパラメータ更新例を示す図である。 本発明のパケットフィルタ機能を用いた時の同期精度を示すグラフである。 本発明の実施形態2のスレーブノードの構成を示す図である。 スレーブノードのクロックがマスタノードのクロックに同期しており、パケットネットワークにおける遅延がない場合のパケットカウンタ1101のカウンタ値を示す図である。 スレーブノードのクロックがマスタノードのクロックに同期しており、パケットネットワークにおける遅延がある場合のパケットカウンタ1101のカウンタ値を示す図である。 スレーブノードのクロックがマスタノードのクロックよりも遅れており、パケットネットワークにおける遅延がある場合のパケットカウンタ1101のカウンタ値を示す図である。 スレーブノードのクロックがマスタノードのクロックよりも進んでおり、パケットネットワークにおける遅延がある場合のパケットカウンタ1101のカウンタ値を示す図である。 本発明の実施形態2の速度増減検出部1102とパケットフィルタ部1103のフィルタ条件更新時の動作フローを示す図である。
次に、本発明を実施するための実施形態について、図面を参照して詳細に説明する。
<実施形態1>
まず、本実施形態における課題の解決を実現するための基本的な考え方について説明する。
発明が解決しようとする課題で説明したように、関連技術では、マスタ/スレーブが同期していない場合、到着するTSパケットの遅延を適切に見積もれないために、遅延が大きいパケットを採用したり、遅延が小さいパケットを廃棄することがあり、その結果、同期精度が劣化するという課題があった。
本課題に対して、本発明の実施形態1では、採用すべきパケットを決定するために、到着パケットを採用したと仮定した場合の計算結果に基づき、そのパケットの採用/廃棄を決定することとする。関連技術のパケットフィルタ機構は図4で示すように、PLL712の前段に配置されていたのに対して、本発明のパケットフィルタ機構は図7で示すように、PLL712の後段に配置される。ここで、図7は、本発明の実施形態1の送信側ノードであるマスタノード及び受信側ノードであるスレーブノードの構成を示す図である。
この図7によると、マスターノード700は、タイムスタンプを含むパケットであるTSパケット120を生成する手段であるTSパケット生成部701と、そのパケットを送信する手段であるTSパケット送信部702とを備え、スレーブノード710は、パケットネットワーク130を介してマスターノード700と相互に接続され、TSパケット120は、パケットネットワーク130を通じてスレーブノード710に送信される。
スレーブノード710は、パケットネットワーク130を通じてTSパケット120を受信する。
クロック同期制御の原理として、スレーブノードでは、マスタ/スレーブ間の周波数同期状況、及び到着パケットの遅延が分からないことから、スレーブノードは、到着パケットの遅延を含めてマスタ/スレーブ間の周波数差だと考えて、PLL712では、その差分をゼロにするための周波数調整量を計算している。
到着パケットの遅延が大きい場合、受信TSと生成TSの差分が大きくなるため、PLL712で計算されるVCO712−4に対する周波数調整量が大きくなる。しかしながら、遅延による受信TS/生成TS差分は、周波数差分ではないため、遅延に起因する周波数調整は、マスタ/スレーブ間の同期精度の劣化につながる。
一方、到着パケットの遅延が小さい場合、受信TSと生成TSの差分は小さいため、PLL712で計算される周波数調整量は小さい。この場合、遅延に起因する周波数調整も小さいため、マスタ/スレーブ間の同期精度は劣化しない。
以上より、到着パケットの遅延が大きい場合、周波数調整量も大きく、それを調整することで同期精度劣化につながり、一方で、遅延が小さい場合は周波数調整量も小さく、それを調整することで同期精度は良好に保たれる。
この関係を利用し、本発明の実施形態1では、各到着パケットを採用したと仮定した場合のPLL712での周波数調整量を計算し、その値が許容できる所定の閾値以下の場合は採用し、閾値よりも大きい場合は廃棄するパケットフィルタ処理を行なうこととする。周波数調整量が小さい場合は、そのパケットの遅延が小さいと考えられ、周波数調整量が大きい場合は、そのパケットの遅延は大きいと考えられるため、関連技術のパケットフィルタと同様の効果を、遅延を算出せずに得られることが期待できる。なお、この所定の閾値は、PLL712で保持するものとする。
<実施形態1の構成の説明>
上述の本発明の考え方を実現するための構成について、図7を用いて説明する。図7の上部分を参照すると、本発明の実施形態1は全体構成として、マスタノード700、スレーブノード710及びパケットネットワーク130を有する。マスタノード700とスレーブノード710は、パケットネットワーク130を介して相互に接続されている。この図7全体が、クロック同期システムである。
<マスタノード>
マスタノード700は、TSパケット生成部701と、TSパケット送信部702を有する。
TSパケット生成部701は、クロック同期を行なうためのTSが格納されたパケットであるTSパケット120を生成する。ここで、TSとはマスタノード700のクロックを基にして生成される時間情報を示す値であり、例えば、マスタノード700のクロックの最小時間単位(例えば125マイクロ秒)が経過する毎に1ずつ増加する数値である。
TSパケット送信部702は、TSパケット生成部701で生成されたTSパケット120を、スレーブノード710にパケットネットワーク130を介して定期的に送信する。
<スレーブノード>
スレーブノード710は、受信手段としてTSパケット受信部711、位相同期手段としてPLL712、パケットフィルタ手段としてパケットフィルタ部713及びパラメータ制御手段としてパラメータ制御器714を有する。
これら受信手段、位相同期手段、パケットフィルタ手段、パラメータ制御手段は、以下のようなものである。
位相同期手段は、パケットのタイムスタンプを基にした計算により周波数調整量と該受信側ノードのクロックとを生成し、パケットフィルタ手段は、周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、周波数調整量の絶対値が該閾値以下のパケットを採用し、パラメータ制御手段は、位相同期手段での該計算の過程で生じ位相同期手段が保持するパラメータを別途保持し、パケットフィルタ手段の該判定の結果に従い、自身が保持するパラメータ及び位相同期手段で保持する。
本実施の形態では、PLL712は、位相比較器712−1、LPF712−2、PI制御器712−3、VCO712−4及びカウンタ712−5を有する。なお、PLL712の構成はあくまでも一例である。本実施形態の構成と異なる構成であっても、自身のクロックから生成するTSとマスタノード100から受信したTSとの差分を計算し、その差分を元に自身のクロックを調整することができるのであれば、どのような構成を採用したとしても本発明を実現できる。これは、本発明の技術的思想の範囲内の事項であり、当業者にとって自明なことである。
前述のように、本発明では、各到着パケットを採用したと仮定した場合の周波数調整量により、採用/廃棄を決定する。図4で説明した関連技術と同様に、本発明においても、LPF712−2、PI制御器712−3は履歴情報S(n−1)、Y(n−1)を保持しながら、計算を行なう。そのため、本発明では、パケットフィルタ713により廃棄の決定がなされた場合は、採用したと仮定して更新した履歴情報S(n−1)、Y(n−1)を元に戻す必要がある。これを実現するために、パラメータ制御器714にFFを設け、最後に採用した時のS(n−1)、Y(n−1)を保持する。そして、パケットフィルタ713の採用、廃棄の判定に応じて、LPF712−2、PI制御器712−3のFFの値とパラメータ制御器714のFFの値を更新する。
以下に、各部の構成の詳細を示す。
TSパケット受信部711は、マスタノード700からパケットネットワーク130を経由して転送されてきたTSパケット120を受信する。受信したTSパケット120はPLL712に送られる。
位相比較器712−1は、TSパケット受信部711から受信したTSパケット120に格納されている受信TSと位相同期手段を構成するカウンタ712−5で生成される生成TSとの差分信号E(n)を計算し、LPF712−2に出力する。
LPF712−2は差分信号E(n)を平準化し、ジッタやノイズを抑圧するとともに、その計算結果であるS(n)をPI制御器712−3に出力する。又、パラメータ制御器714からの指示により、FFで格納する制御値(S(n−1)の値)を必要に応じて更新する。
PI制御器712−3はこの平準化された差分信号が最終的にゼロとなるような制御信号Z(n)を生成し、パケットフィルタ713に出力する。またLPF712−2と同様に、パラメータ制御器714からの指示により、FFで格納する制御値(Y(n−1)の値)を必要に応じて更新する。
VCO712−4は、パケットフィルタ713から入力された制御信号Z(n)によって決定される周波数のクロックを生成し、カウンタ712−5に出力する。カウンタ712−5はクロックを元に生成TSを生成し、位相比較器712−1に転送する。
パケットフィルタ713は、PI制御器712−3から受信するVCO712−4の周波数調整量を示すZ(n)に関して、予め設定された閾値Thとの比較をすることにより、閾値Th以下のZ(n)に関しては採用し、Z(n)をVCO712−4に送る。又、採用/廃棄の情報をパラメータ制御器714に通知する。
なお、パケットフィルタ713の起動のタイミングについては、マスタノード700とのTSパケット120の送受信開始時から起動するという方法を採用してもよい。又、他の方法として、初めのうちは起動せずに全パケットを取り込み、ある程度安定してからパケットフィルタ713を起動するようにしてもよい。このように初めのうちは起動せずにある程度安定してから起動するメリットについて以下に説明する。
一般的にPLL712に取り込まれるTSパケットの数が減ると、その分、安定するまでに時間が必要となる。なぜならば、パケットフィルタ713を起動すると遅延大のパケットは廃棄されるため、採用パケット数が減るためである。しかし、だからといって遅延大パケットを取り込むようにすると同期精度が十分に得られない可能性がある。そこで、ある程度安定するまではパケットフィルタ713は起動せずに全パケットを取り込み、ある程度安定したらパケットフィルタ713を起動して、遅延大パケットを廃棄することで、最終的に実現出来る同期精度は変わらずに安定するまでの時間を短縮することができる。
パラメータ制御器714は、最後に採用されたパケットの制御時に計算されていたLPF712−2におけるパラメータであるS(n−x)の値とPI制御器712−3におけるパラメータであるY(n−x)の値を保持する(ここで、最後に採用されたパケットはxパケット前としている)。
これらS(n−x)及びY(n−x)は、n=n−xとすると、n個目の前記パケットの前記タイムスタンプであるTm(n)と、該パケットの受信時に位相同期手段を構成しているカウンタ712−5で生成しているTs(n)と、以下の式とで関係づけられるS(n)及びY(n)である。
E(n)=Tm(n)−Ts(n)
S(n)=(1−a1)×S(n−1)+a1×E(n)
Z(n)=a2×S(n)+a3×Y(n)
(ここで、Y(n)=S(n)×Y(n−1)、又a1、a2、a3は所定の定数)
又、上記式中のZ(n)は周波数調整量である。
そして、パケットフィルタ713での判定の結果に基づいて前記パケットを採用する場合、自身のFFで保持する情報を更新する。ここでは、LPF712−2、PI制御器712−3のFFの値を新たな値にする。これにより、最後に採用されたパケットの制御パラメータを更新する。
一方、パケットフィルタ713での判定の結果に基づいて前記パケットを不採用とし、廃棄の場合、LPF712−2、PI制御器712−3のFFの値を更新する。ここでは、パラメータ制御器714のFFで保持する値を新たな値にする。これにより、仮採用として更新していたLPF712−2、PI制御器712−3の制御パラメータを元に戻す。
<実施形態1の動作の説明>
本発明の後段パケットフィルタ機構の動作について、図8の動作フローを用いて説明する。ここではフィルタ処理を行なうパケットフィルタ713とその動作に関連するLPF712−2、PI制御器712−3、パラメータ制御器714、VCO712−4の各部の動作と各部間のIFを説明する。
まず、LPF712−2は、位相比較器712−1から受信TSと生成TSの差分であるE(n)を受信する(ステップS801)。
E(n)を受信すると、
S(n)=(1−a1)×S(n−1)+a1×E(n)
に従いS(n)を計算し、PI制御器712−3に通知する(ステップS802)。
又、計算したS(n)をFFにおいて、T1=S(n)として、保持する(ステップS803)。
PI制御器712−3は、LPF712−2からS(n)を受信する(ステップS804)。
S(n)を受信すると、
Z(n)=a2×S(n)+a3×Y(n)
ここで、Y(n)=S(n)×Y(n−1)
に従いZ(n)を計算し、パケットフィルタ713に通知する(ステップS805)。
又、Z(n)を計算する過程で計算されたY(n)をFFにおいて、T2=Y(n)として、保持する(ステップS806)。
パケットフィルタ713はPI制御器712−3からZ(n)を受信すると、設定された閾値Thとの比較により、採用/廃棄を決定し、採用の場合はパラメータ制御部714とVCO712−4に、廃棄の場合はパラメータ制御器714に、“採用”または“廃棄”を通知する(ステップS807)。なお、採用/廃棄の決定条件としては、
|Z(n)| ≦ Th ならば、採用
|Z(n)| > Th ならば、廃棄 とする。
パラメータ制御器714は、パケットフィルタ713から通知される判定情報が“採用”の場合、パラメータ制御器714のFFで保持する値H1、H2を最新のS(n)、Y(n)に置き換えるべく、以下の通り更新する(ステップS808)。
H1=T1=S(n−1)
H2=T2=Y(n−1)
これにより、最後に採用したパケットにおけるパラメータを更新する。
VCO712−4は、パケットフィルタ713から“採用”の判定情報ならびにZ(n)を通知されると、出力周波数をZ(n)に応じた周波数に変更する(ステップS809)。
パラメータ制御器714は、パケットフィルタ713から通知される判定情報が“廃棄”の場合、LPF712−2、PI制御器712−3の各々のFFで保持する値T1、T2を採用したと仮定して計算した仮のS(n)、Y(n)から直近で採用した時のS(n)、Y(n)に置き換えるべく、以下の通り更新する(ステップS810)。
T1=H1=S(n−x) (ここでは、直近の採用がxサイクル前であるとする)
T2=H2=Y(n−x)
これにより、仮採用で更新したパラメータを元に戻す。
LPF712−2、PI制御器712−3では、FFの値が更新される(ステップS811、S812)。
以上説明した動作フローでパケットフィルタ処理を行なう際のパラメータ更新の一例を、図9を用いて説明する。
図9では、n=1から10までの10パケットが到着した際の各パケットを仮に採用した時のパラメータ値(S(n)、Y(n)、Z(n))、採用/廃棄情報、採用/廃棄に応じたパラメータ値の更新状況について、記している。ここでは、仮にn=1、4、9のパケットが|Z(n)| <Thとなり、採用されるとしている。
パケットが採用される場合、LPF712−2、PI制御器712−3のFFに格納されるT1、T2の値は仮計算の値をそのまま保持すればよいため、値は更新しない。一方、このパケットが最新の採用パケットとなるため、n=1、4、9行のパラメータ制御器714のFFで格納するH1、H2の値をT1、T2の値に更新する。
逆に、n=2、3、5、6、7、8、10のように、パケットが廃棄される場合、パラメータ制御器714のFFに格納されるH1、H2の値は前回採用時の値をそのまま保持すればよいため、値は更新しない。一方、LPF712−2、PI制御器712−3では、これらのパケットを採用したと仮定してパラメータを更新しているため、n=2、3、5、6、7、8、10行のLPF712−2、PI制御器712−3のFFで格納するT1、T2の値をH1、H2の値に戻す。
最後に、図10に記載のシミュレーション結果例を用いて、本発明の効果について説明する。
図10は、図7に記載のネットワーク構成において、パケットネットワーク130において、一様分布の遅延(最大遅延=1.0ms)を付加した場合のクロック同期精度を示している。
図10−1がパケットフィルタ処理を行なわない場合、図10−2が本発明のパケットフィルタ処理を行なった場合のクロック同期精度を示している。横軸が時間に対して、縦軸がクロック同期精度を示している。マスタノード700からのTSパケット120の送信間隔は100msec、スレーブノード710のパケットフィルタ713でのフィルタ閾値は10ppbとしている。つまり、到着パケットを採用した場合に10ppb以内の周波数調整量の場合は採用し、10ppb以上の場合は遅延が大きいと判断し、廃棄している。
図10より、本発明の後段パケットフィルタは、フィルタを行なわない場合に比べ、クロック同期精度を大幅に改善していることが確認できる。
以上より、本発明を用いることにより、遅延を計測することなく、後段パケットフィルタ処理により、遅延小のパケットのみを選択するのと同等の処理を行なうことができ、遅延大のパケットの影響を排除できることから、良好なクロック同期精度を得られるという効果が確認できる。
<実施形態2>
実施形態1では、採用すべきパケットを決定するために、到着パケットを採用したと仮定した場合の計算結果である周波数調整量が予め設定した閾値よりも大きいか小さいかにより、そのパケットの採用/廃棄を決定した。
本実施形態2では、更なる精度向上を目指し、マスタ/スレーブ間の周波数差(スレーブがマスタより速いか、遅いか)により、閾値を調整する方法について説明する。
実施形態1では、周波数調整量の絶対値が閾値よりも小さい場合に、そのパケットの遅延が許容範囲内と考えられるため、採用している。周波数調整量についてより詳細に見ていくと、周波数調整量が正の値の場合、スレーブ速度を上げる調整を行ない、周波数調整量が負の値の場合、スレーブ速度を下げる調整を行なうこととなる。実施形態1では、周波数調整量の絶対値により採用/廃棄を判定しているため、スレーブ速度が速い場合に、スレーブ速度を上げる調整を行なう(周波数調整量が正の値で閾値以下)ことや、スレーブ速度が遅い場合に、スレーブ速度を下げる調整を行なう(周波数調整量が負の値で閾値以下)ことがある。
この調整は、調整量は小さいものの(閾値以下であるため)、同期から外れる方向の調整となるため、マスタ/スレーブ間の速度差状況を踏まえた上で、周波数調整量の正負を考慮して閾値を変更することにより、更なる精度向上が見込まれる。具体的には、スレーブ速度が速い場合には、スレーブ速度を下げる調整を行なうべく、周波数調整量が負の値の閾値以下を採用し、スレーブ速度が遅い場合には、スレーブ速度を上げる調整を行なうべく、周波数調整量が正の値の閾値以下を採用する。
<実施形態2の構成の説明>
本実施形態のスレーブノード構成について、図11を用いて説明する。図11では、実施形態1の図7のスレーブノード構成に対して、パケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタ1101と、このウンタ値を監視することにより、送信側ノードと受信側ノードとのクロック周波数差を計測する速度差判定手段である速度増減検出部1102とが新たに追加され、パケットフィルタ手段であるパケットフィルタ部1103がパケットフィルタ部713から変更されている。
パケットカウンタ1101は、TSパケット受信部711からTSパケット120を受信する毎に、カウンタの値を所定の値分だけ増加させる。同時にVCO712−4で決定される周波数に従い、カウンタの値を減少させる。なお、パケットカウンタ1101はパケットバッファであってもかまわない。パケットカウンタ1101がパケットバッファの場合、TSパケット受信部711からTSパケット120を受信すると、パケットをバッファに蓄積し、同時にVCO712−4で決定される周波数に従い、蓄積しているパケットを出力する。
速度増減検出部1102は、パケットカウンタ1101のカウンタ値の増減状況をモニタすることにより、スレーブ速度がマスタ速度よりも速いか遅いかを判定し、速度情報をパケットフィルタ1103に通知する。速度情報の判定方法については後述する。
パケットフィルタ1103は速度増減検出部1102から通知される速度情報を用いて、必要に応じてフィルタ閾値を調整する。調整した閾値を用いたパケットフィルタ方法については、実施形態1におけるパケットフィルタ713の動作と同様である。
速度増減検出部1102の速度情報の判定方法について、図12〜15を用いて説明する。
図12は、スレーブノードのクロックがマスタノードのクロックに正確に同期しており、かつパケットネットワーク内でパケットに付加される遅延量が常に0である場合における、パケットカウンタ1101のカウンタ値を表している。横軸方向が経過時間であり、縦軸方向がカウンタ値である。
又、図13は、スレーブクロックとマスタクロックは正確に同期しているが、パケットネットワーク内でパケットに付加される遅延が存在する場合のカウンタ値を表している。
更に、図14、図15は、スレーブクロックとマスタクロックが同期しておらず、かつ、パケットネットワーク内でパケットに付加される遅延が存在する場合のカウンタ値を表している。なお、図14では、スレーブクロックとマスタクロックが同期していない例として、スレーブがマスタに比べ遅い場合、図15では、スレーブがマスタに比べ速い場合を示している。
図12に示した、スレーブクロックとマスタクロックが正確に同期していて、かつパケットネットワーク内で遅延が付加されないという場合において、カウンタ値の最大値は一定値となっている。
パケットカウンタ1101にパケットが到着すると、所定の値分カウンタ値が増加する。一方で、カウンタ値は、VCO712−4が出力する速度に従い減算される。この例では、パケットの到着する間隔に応じて、1つのパケット分の所定のカウンタ値が減算されている。図12の例では、スレーブクロックとマスタクロックが同期しているため、パケット到着間隔の一定間隔でカウンタ値の増加と減少を繰り返し、増加した時のカウンタの最大値及び減少した時のカウンタの最小値は一定となっている。
次に、図13は、スレーブクロックとマスタクロックとが同期していて、パケットネットワーク内で遅延が付加される場合である。遅延が付加されるため、パケットの到着が遅れることにより、遅れた分だけカウンタ値の減算量が増し、カウンタ値の下限値は図12の例より小さくなっている。そのため、パケット到着時のカウンタ値は図12の例のように一定ではなく、他よりも小さくなっている箇所がある。しかしながら、遅延のないパケットが到着した時は、本来到達すべき値(カウンタの最大値)までカウンタ値が達している。
所定の計測時間としてあるインターバル(例えば10秒間)において、その間に遅延が付加されないパケットが到着すると考えると、そのインターバルの間、カウンタ値の最大値は一定になる。まとめると、パケットネットワーク内で遅延が付加される場合でも、スレーブクロックとマスタクロックが同期していれば、あるインターバル(例えば、遅延のないパケットが1つは到着すると考えられる長さの時間)でカウンタ値の最大値をモニタすると、その最大値は一定となる。
続いて、図14及び図15は、スレーブとマスタが同期していないケースである。図14はスレーブ速度がマスタ速度よりも遅いケースである。図13の例と同様に、遅延の影響でパケット到着が遅れることにより、パケット到着時にカウンタ値が最大値に達しない箇所がある。しかしながら、遅延がないパケットが到着した時は最大値まで達している。図13との差分は、インターバル毎のカウンタ値の最大値が変動している点にある。この例では、スレーブ速度がマスタ速度よりも遅い。したがって、パケットカウンタ1101のカウンタ値の減算速度が増加速度よりも遅いため、カウンタ値は徐々に増加していく。よって、インターバル毎のカウンタ値の最大値は時間経過に従って増加している。
一方で、図15では、スレーブ速度がマスタ速度よりも速い。よって、インターバル毎のカウンタ値の最大値の変動については、パケットカウンタ1101のカウンタ値の減算速度が増加速度よりも速いため、カウンタ値は徐々に減っていく。よって、インターバル毎のカウンタ値の最大値は時間経過に従って減少している。
以上の3つのケースより、カウンタ値の最大値をモニタし、インターバル毎の最大値の変動からスレーブ/マスタが同期しているか、していないが分かる。すなわち、カウンタ値の最大値が一定であれば同期しており、変動していれば同期していないということが分かる。そして、変動している場合、カウンタ値の最大値が増加していれば、スレーブ速度がマスタ速度よりも遅く、カウンタ値の最大値が減少していれば、スレーブ速度がマスタ速度よりも速いことが分かる。この方法により、速度増減検出部1102は、スレーブ速度がマスタ速度よりも速いか遅いかを判定することができる。
<実施形態2の動作の説明>
本実施形態2の後段パケットフィルタ機構の動作のうち、実施形態1との差分となるパケットカウンタ1101のカウンタ値の増減からマスタ/スレーブ間のクロック周波数差である速度差情報を検出する速度増減検出部1102とその速度差情報によりフィルタ閾値条件を更新するパケットフィルタ1103の動作について、図16を用いて説明する。
速度増減検出部1101は、パケットカウンタ1101のカウンタ値の増減状況をモニタし、インターバルiにおけるカウンタ値の最大値P(i)をモニタする(ステップS1601)。
インターバルiが終了すると、カウンタ値の最大値P(i)を決定する(ステップS1602)。
カウンタ値の最大値P(i)を決定すると、前回インターバルi−1におけるカウンタ値の最大値P(i−1)との比較により、カウンタ値の最大値P(i)の増加/減少状況を検出する。
P(i)>P(i−1)→ 増加(この場合、スレーブの方が遅い)
P(i)=P(i−1)→ 一定(この場合、マスタ/スレーブは同期)
P(i)<P(i−1)→ 減少(この場合、スレーブの方が速い)
検出した増加/減少情報をパケットフィルタ部1103に通知する(ステップS1603)。
パケットフィルタ部1603は増加/減少情報を受信すると、フィルタ閾値条件を更新する(ステップS1604)。
増加の場合: −Th < Z(n)< 0 の場合に採用する
一定の場合: 条件は変更しない
減少の場合: 0 < Z(n)< Th の場合に採用する
このように、パケットフィルタ手段であるパケットフィルタ部1603は、速度差判定手段である速度増減検出部1102がカウンタ値の最大値が増加していると判定した場合、周波数調整量Z(n)が閾値の負の値である−Thからゼロの間である場合にそのパケットを採用し、カウンタ値の最大値が減少していると判定した場合、周波数調整量Z(n)がゼロから閾値の正の値であるThの間である場合にそのパケットを採用し、カウンタ値の最大値が変動していないと判定した場合、閾値条件を変更しない。
パケットフィルタ部1603は、更新された最新のフィルタ閾値条件に従い、到着パケットの採用/廃棄の判定を行なう。なお、この処理は、実施形態1の図8のステップS807に相当する処理である。
以上の動作により、マスタ/スレーブ間の速度差状況を踏まえ、スレーブが速い時は速度を遅める周波数調整を行なうパケットのみを採用し、スレーブが遅い時は速度を速める周波数調整を行なうパケットのみを採用することが可能となり、同期精度の更なる向上が実現できる。
以上説明したように、本発明によれば、パケットフィルタ部が到着パケットを採用したと仮定した場合の周波数調整量が設定された閾値より小さいパケットを採用することで、パケットネットワークで受ける遅延量を計測しなくても遅延量の小さいパケットのみを取り込むのと同等の処理を実現でき、同期精度を向上できるという効果を有する。
なお、本発明の実施形態であるマスタノード及びスレーブノードは、ハードウェア、ソフトウェアまたはこれらの組み合わせにより実現することができる。又、方法の発明として実施することもできる。
本発明は、IP方式による音声やビデオなどのリアルタイムデータの送信及び再生に特に適しており、同方式によるノード間の通信全般に利用することが出来る。
100、700 マスタノード
110、310、710、1010 スレーブノード
120、P11、P12、P13、P14、P15 TSパケット
130 パケットネットワーク
140、712 PLL
141、441、712−1 位相比較器
142、442、712−2 LPF
143、443、712−3 PI制御器
144、712−4 VCO
145、712−5 カウンタ
350、713、1103 パケットフィルタ
701 TSパケット生成部
702 TSパケット送信部
711 TSパケット受信部
714 パラメータ制御器
1101 パケットカウンタ
1102 速度増減検出部
L11 マスタノードの時間軸
L12 マスタクロック
L13 スレーブノードの時間軸
L14、L15 スレーブクロック

Claims (21)

  1. ネットワークを介して送信側ノードと相互に接続され、前記送信側ノードから受信したタイムスタンプを含むパケットに基づいてクロックを同期させる受信側ノードであって、
    前記送信側ノードが定期的に送信してくる前記パケットを受け取る受信手段と、
    自身の発振器で当該受信側ノードのクロックを生成するとともに、該生成したクロックに基づいて生成したタイムスタンプと、前記受信手段で受信したパケットに含まれるタイムスタンプの各々の差分を基にした計算により該発振器の発振周波数を調整する周波数調整量を生成する位相同期手段と、
    前記周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、前記周波数調整量の絶対値が該閾値以下の前記パケットを採用するパケットフィルタ手段と、
    前記位相同期手段での該計算の過程で生じ、前記位相同期手段が保持するパラメータを別途保持し、前記パケットフィルタ手段の該判定の結果に従い、自身が保持する前記パラメータ及び前記位相同期手段で保持する前記パラメータを更新するパラメータ制御手段と、
    を備えることを特徴とする受信側ノード。
  2. 前記パラメータは、n個目の前記パケットの前記タイムスタンプであるTm(n)と、該パケットの受信時に前記位相同期手段で生成しているクロックに基づいて生成したタイムスタンプであるTs(n)と、以下の式とで関係づけられるS(n)及びY(n)であり、下記式中のZ(n)は前記周波数調整量であることを特徴とする請求項1に記載の受信側ノード。
    E(n)=Tm(n)−Ts(n)
    S(n)=(1−a1)×S(n−1)+a1×E(n)
    Z(n)=a2×S(n)+a3×Y(n)
    (ここで、Y(n)=S(n)×Y(n−1)、又a1、a2、a3は所定の定数)。
  3. 前記パラメータ制御手段は、最後に採用したパケットのパラメータを保持し、前記パケットフィルタ手段での前記判定の結果に基づいて前記パケットを採用する場合、前記位相同期手段で保持する前記パラメータで自身が保持するパラメータを更新し、前記パケットフィルタ手段での前記判定の結果に基づいて前記パケットを不採用とする場合、前記位相同期手段で保持するパラメータを更新し、自身が保持する前記パラメータを新たに保持するパラメータとすることを特徴とする請求項1又は2に記載の受信側ノード。
  4. 前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタと、
    前記カウンタ値を監視することにより、前記送信側ノードと受信側ノードとのクロック周波数差を計測する速度差判定手段と、
    前記速度差判定手段で計測したクロック周波数差の情報から前記閾値の条件を更新するパケットフィルタ手段と、
    を更に備えることを特徴とする請求項1又は2に記載の受信側ノード。
  5. 前記速度差判定手段は、所定の計測時間の間、前記カウンタ値を監視してその最大値を検出し、該最大値と前回計測時間の間におけるカウンタ値の最大値との変化から、前記送信側ノードと受信側ノードのクロック周波数差を計測することを特徴とする請求項4に記載の受信側ノード。
  6. 前記パケットフィルタ手段は、前記速度差判定手段が前記カウンタ値の最大値が増加していると判定した場合、前記周波数調整量が前記閾値の負の値からゼロの間である場合に前記パケットを採用し、前記カウンタ値の最大値が減少していると判定した場合、前記周波数調整量がゼロから前記閾値の正の値の間である場合に前記パケットを採用し、前記カウンタ値の最大値が変動していないと判定した場合、閾値条件を変更しないことを特徴とする請求項5に記載の受信側ノード。
  7. 前記請求項1乃至6のいずれか1項に記載の受信側ノードと、前記送信側ノードとが前記ネットワークを介して相互に接続され、
    前記送信側ノードは、
    前記タイムスタンプを含む前記パケットを生成する手段と、
    前記パケットを送信する手段と、
    を備え、
    前記受信側ノードは、前記ネットワークを通じて前記パケットを受信することを特徴とするクロック同期システム。
  8. ネットワークを介して送信側ノードと相互に接続され、前記送信側ノードから受信したタイムスタンプを含むパケットに基づいて受信側ノードのクロックを同期させる方法であって、前記受信側ノードにおいて、
    前記送信側ノードが定期的に送信してくる前記パケットを受け取る受信手順と、
    前記受信側ノード自身の発振器で該受信側ノードのクロックを生成するとともに、該生成したクロックに基づいて生成したタイムスタンプと、前記受信したパケットに含まれるタイムスタンプの各々の差分を基にした計算により該発振器の発振周波数を調整する周波数調整量を生成する位相同期手順と、
    前記周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、前記周波数調整量の絶対値が該閾値以下の前記パケットを採用するパケットフィルタ手順と、
    前記位相同期手順での該計算の過程で生じ、前記位相同期手順が保持するパラメータを別途保持し、前記パケットフィルタ手順での該判定の結果に従い、自身が保持する前記パラメータ及び前記位相同期手順で保持する前記パラメータを更新するパラメータ制御手順と、
    を備えることを特徴とする受信側ノードのクロックを同期させる方法。
  9. 前記パラメータは、n個目の前記パケットの前記タイムスタンプであるTm(n)と、該パケットの受信時に前記位相同期手順で生成しているクロックに基づいて生成したタイムスタンプであるTs(n)と、以下の式とで関係づけられるS(n)及びY(n)であり、下記式中のZ(n)は前記周波数調整量であることを特徴とする請求項8に記載の受信側ノードのクロックを同期させる方法。
    E(n)=Tm(n)−Ts(n)
    S(n)=(1−a1)×S(n−1)+a1×E(n)
    Z(n)=a2×S(n)+a3×Y(n)
    (ここで、Y(n)=S(n)×Y(n−1)、又a1、a2、a3は所定の定数)。
  10. 前記パラメータ制御手順は、最後に採用したパケットのパラメータを保持し、前記パケットフィルタ手順での前記判定の結果に基づいて前記パケットを採用する場合、前記位相同期手順で保持する前記パラメータで自身が保持するパラメータを更新し、前記パケットフィルタ手順での前記判定の結果に基づいて前記パケットを不採用とする場合、前記位相同期手順で保持するパラメータを更新し、自身が保持する前記パラメータを新たに保持するパラメータとすることを特徴とする請求項8又は9に記載の受信側ノードのクロックを同期させる方法。
  11. 前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタの手順と、
    前記カウンタ値を監視することにより、前記送信側ノードと受信側ノードとのクロック周波数差を計測する速度差判定手順と、
    前記速度差判定手順で計測したクロック周波数差の情報から前記閾値の条件を更新するパケットフィルタ手順と、
    を更に備えることを特徴とする請求項8又は9に記載の受信側ノードのクロックを同期させる方法。
  12. 前記速度差判定手順は、所定の計測時間の間、前記カウンタ値を監視してその最大値を検出し、該最大値と前回計測時間の間におけるカウンタ値の最大値との変化から、前記送信側ノードと受信側ノードのクロック周波数差を計測することを特徴とする請求項11に記載の受信側ノードのクロックを同期させる方法。
  13. 前記パケットフィルタ手順は、前記速度差判定手順が前記カウンタ値の最大値が増加していると判定した場合、前記周波数調整量が前記閾値の負の値からゼロの間である場合に前記パケットを採用し、前記カウンタ値の最大値が減少していると判定した場合、前記周波数調整量がゼロから前記閾値の正の値の間である場合に前記パケットを採用し、前記カウンタ値の最大値が変動していないと判定した場合、閾値条件を変更しないことを特徴とする請求項12に記載の受信側ノードのクロックを同期させる方法。
  14. 前記送信側ノードにおいて、
    前記タイムスタンプを含む前記パケットを生成する手順と、
    前記パケットを前記受信側ノードに送信する手順と、
    を備えることを特徴とする請求項8乃至13のいずれか1項に記載の受信側ノードのクロックを同期させる方法。
  15. ネットワークを介して送信側ノードと相互に接続され、前記送信側ノードから受信したタイムスタンプを含むパケットに基づいて、コンピュータによって受信側ノードのクロックを同期させるプログラムであって、
    前記送信側ノードが定期的に送信してくる前記パケットを受け取る受信処理と、
    前記受信側ノード自身の発振器で該受信側ノードのクロックを生成するとともに、該生成したクロックに基づいて生成したタイムスタンプと、前記受信したパケットに含まれるタイムスタンプの各々の差分を基にした計算により該発振器の発振周波数を調整する周波数調整量を生成する位相同期処理と、
    前記周波数調整量の絶対値が所定の閾値以下であるか否かを判定し、前記周波数調整量の絶対値が該閾値以下の前記パケットを採用するパケットフィルタ処理と、
    前記位相同期処理での該計算の過程で生じ、前記位相同期処理が保持するパラメータを別途保持し、前記パケットフィルタ処理での該判定の結果に従い、自身が保持する前記パラメータ及び前記位相同期処理で保持する前記パラメータを更新するパラメータ制御処理と、
    をコンピュータに実行させることを特徴とする受信側ノードのクロックを同期させるプログラム。
  16. 前記パラメータは、n個目の前記パケットの前記タイムスタンプであるTm(n)と、該パケットの受信時に前記位相同期処理で生成しているクロックに基づいて生成したタイムスタンプであるTs(n)と、以下の式とで関係づけられるS(n)及びY(n)であり、下記式中のZ(n)は前記周波数調整量であることを特徴とする請求項15に記載の受信側ノードのクロックを同期させるプログラム。
    E(n)=Tm(n)−Ts(n)
    S(n)=(1−a1)×S(n−1)+a1×E(n)
    Z(n)=a2×S(n)+a3×Y(n)
    (ここで、Y(n)=S(n)×Y(n−1)、又a1、a2、a3は所定の定数)。
  17. 前記パラメータ制御処理は、最後に採用したパケットのパラメータを保持し、前記パケットフィルタ処理での前記判定の結果に基づいて前記パケットを採用する場合、前記位相同期処理で保持する前記パラメータで自身が保持するパラメータを更新し、前記パケットフィルタ処理での前記判定の結果に基づいて前記パケットを不採用とする場合、前記位相同期処理で保持するパラメータを更新し、自身が保持する前記パラメータを新たに保持するパラメータとすることを特徴とする請求項15又は16に記載の受信側ノードのクロックを同期させるプログラム。
  18. 前記受け取ったパケットの到着状況と出力状況をカウンタ値として管理するパケットカウンタの処理と、
    前記カウンタ値を監視することにより、前記送信側ノードと受信側ノードとのクロック周波数差を計測する速度差判定処理と、
    前記速度差判定処理で計測したクロック周波数差の情報から前記閾値の条件を更新するパケットフィルタ処理と、
    を更に前記受信側ノードに実行させることを特徴とする請求項15又は16に記載の受信側ノードのクロックを同期させるプログラム。
  19. 前記速度差判定処理は、所定の計測時間の間、前記カウンタ値を監視してその最大値を検出し、該最大値と前回計測時間の間におけるカウンタ値の最大値との変化から、前記送信側ノードと受信側ノードのクロック周波数差を計測することを特徴とする請求項18に記載の受信側ノードのクロックを同期させるプログラム。
  20. 前記パケットフィルタ処理は、前記速度差判定処理が前記カウンタ値の最大値が増加していると判定した場合、前記周波数調整量が前記閾値の負の値からゼロの間である場合に前記パケットを採用し、前記カウンタ値の最大値が減少していると判定した場合、前記周波数調整量がゼロから前記閾値の正の値の間である場合に前記パケットを採用し、前記カウンタ値の最大値が変動していないと判定した場合、閾値条件を変更しないことを特徴とする請求項19に記載の受信側ノードのクロックを同期させるプログラム。
  21. 前記タイムスタンプを含む前記パケットを生成する処理と、
    前記パケットを前記受信側ノードに送信する処理と、
    をコンピュータによって前記送信側ノードに実行させることを特徴とする請求項15乃至20のいずれか1項に記載の受信側ノードのクロックを同期させるプログラム。
JP2009056252A 2009-03-10 2009-03-10 クロック同期のための受信側ノード、その方法及びそのプログラム Expired - Fee Related JP5534548B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009056252A JP5534548B2 (ja) 2009-03-10 2009-03-10 クロック同期のための受信側ノード、その方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009056252A JP5534548B2 (ja) 2009-03-10 2009-03-10 クロック同期のための受信側ノード、その方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2010212945A JP2010212945A (ja) 2010-09-24
JP5534548B2 true JP5534548B2 (ja) 2014-07-02

Family

ID=42972686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009056252A Expired - Fee Related JP5534548B2 (ja) 2009-03-10 2009-03-10 クロック同期のための受信側ノード、その方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP5534548B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915308B (zh) * 2016-07-08 2018-04-27 腾讯科技(深圳)有限公司 一种时间同步方法、装置及系统
JP2018098711A (ja) * 2016-12-15 2018-06-21 日本電信電話株式会社 時刻同期システム、クライアント端末装置、時刻同期方法及び時刻同期プログラム
JP6684409B1 (ja) * 2018-10-29 2020-04-22 豊美 中村 時刻同期システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11146350A (ja) * 1997-11-05 1999-05-28 Toshiba Corp 映像・オーディオ復号化装置
JP3630601B2 (ja) * 1999-12-24 2005-03-16 沖電気工業株式会社 Ip端末装置、周波数誤差範囲推定方法、周波数差推定方法及び推定所要時間算出方法
JP4100144B2 (ja) * 2002-11-26 2008-06-11 三菱電機株式会社 クロック再生装置およびクロック再生方法
JP2004248123A (ja) * 2003-02-17 2004-09-02 Matsushita Electric Ind Co Ltd Pll回路
GB2399263A (en) * 2003-03-07 2004-09-08 Zarlink Semiconductor Ltd Clock synchronisation over a packet network
JP4279876B2 (ja) * 2004-05-28 2009-06-17 パナソニック株式会社 トランスポートストリーム処理装置およびトランスポートストリーム処理方法
JP2007104347A (ja) * 2005-10-05 2007-04-19 Matsushita Electric Ind Co Ltd 音声伝送システムにおけるクロック同期システム及び方法
JP2007201756A (ja) * 2006-01-26 2007-08-09 Sony Corp 情報処理装置および方法、並びにプログラム
JP2007306497A (ja) * 2006-05-15 2007-11-22 Oki Electric Ind Co Ltd パケット伝送におけるクロック同期方法及び回路
WO2008093600A1 (ja) * 2007-01-29 2008-08-07 Nec Corporation 時刻同期システム、時刻同期方法、及びプログラム

Also Published As

Publication number Publication date
JP2010212945A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5440880B2 (ja) パケットフィルタを用いたクロック同期システム、装置、方法およびそのプログラム
JP5701420B2 (ja) パケットネットワークを介した時間同期のためのタイミングシステム及び方法
JP5354474B2 (ja) クロック同期システム、その方法及びそのプログラム
JP5223427B2 (ja) クロック同期システム
KR100741213B1 (ko) 패킷망에서의 클록 도메인의 정렬 방법 및 장치
US9673970B1 (en) Methods and systems for estimating frequency synchronization accuracy
JP5123403B2 (ja) ステップ遅延事前補償を伴う適応クロック回復
JP5515735B2 (ja) 時刻同期システム、マスタノード、スレーブノード、中継装置、時刻同期方法及び時刻同期用プログラム
JP5359314B2 (ja) 伝送装置
JP2014238357A (ja) 受信装置、時刻差算出方法、およびプログラム
JP5167862B2 (ja) クロック同期システム、クロック同期方法、プログラム、及び記録媒体
US20140241479A1 (en) Frequency difference detection device, frequency difference detection method, and program
EP2401827A1 (en) Clock recovery in a communications network
JP5534548B2 (ja) クロック同期のための受信側ノード、その方法及びそのプログラム
WO2013163793A1 (en) Automatic time and frequency synchronization over an asynchronous network
JP5391964B2 (ja) クロック同期方法及びパケット通信システム
EP3420655B1 (en) Methods and systems for estimating frequency synchronization accuracy
US9571266B1 (en) Methods and systems for estimating skew
JP5168734B2 (ja) キューイング遅延計測方法、その方法を用いた同期システム、その方法及びそのプログラム
EP3420666B1 (en) Methods and systems for estimating skew
JP6010803B2 (ja) 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム
JP2022148071A (ja) 情報通信システム及び情報通信装置
JP2022148072A (ja) 情報通信システム及び情報通信装置
Gaderer et al. Performance of IEEE 1588 in Large-Scale Networks
JP2012054847A (ja) クロック再生装置、クロック再生方法および制御プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100714

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100714

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5534548

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140420

LAPS Cancellation because of no payment of annual fees