(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
IEEE1588PTPはPTPパケットの往復時間を正確に得ることにより基準時計とネットワーク上の各装置の時計(内部時計)の時間差を算出することができる。そのネットワークがPTP対応の装置だけで構成されていれば正確となる。
【0005】
しかしながら、IEEE1588PTPに対応していないネットワークでは、伝送時間が変動するので、誤差を含むので、前記装置の内部時計の調整においてサーボ制御が適用されている。
【0006】
例えば、PTPパケットは、L2スイッチを経由して到達するとき、一つのポートからPTPパケットが他のポートに送信される間はその送信完了を待つことになる。そして、その待ち時間はパケットサイズやパケット数により変動する。そのため、待った時間の1/2の時間だけ時間差が生じる。PTPパケットは往復しているが、その行きと帰りで待ち時間が異なり、時間の誤差が遅れ方向と進み方向に生じる。
【0007】
一般にサーボ制御は、外乱対策として現在の測定値と目標値の差分に基づくPID制御により目標時に近づくように調整する。
【0008】
一方、PTP時計は正確に調整できることに加えて外乱も生じないのでサーボ制御は不要となる。しかしながら、伝送遅延時間の変動により、測定値に誤差を含むので正確に調整できないことがあるので結局のところサーボ制御が必要となる。
【0009】
サーボ制御は次の問題がある。時刻同期が完了するまでに長い時間を要する(例えば、1〜20分程度)。PTPパケットの伝送時間が往復で均等でない状態が継続すると正しい時間には同期できないことがある。
【0010】
PTPに対応していない装置が存在する場合にはサーボ制御が採用されるが、PTP対応の装置で構成されたシステムまたはネットワークを直結したシステムであればサーボ制御を利用する理由はない。
【0011】
本発明は、上記の事情に鑑み、サーボ制御を要することなく時刻同期の応答性の向上及び短縮化を図ることを課題とする。
【課題を解決するための手段】
【0012】
そこで、本発明の一態様は、ネットワークに属する装置の内部時計を当該ネットワークの基準時計と同期させる時刻同期装置であって、前記内部時計と前記基準時計の時刻変化に基づき当該内部時計の時刻変化の傾きを補正するための調整量を算出する調整量演算部と、前記調整量に基づき前記内部時計の傾きを補正することにより当該内部時計と前記基準時計の時刻変化の傾きを一致させる傾き補正部と、前記傾きをさらに補正して前記内部時計の時刻値を前記基準時計の時刻値と一致させた後に当該傾きを前記基準時計の時刻変化の傾きと一致させる時刻補正部とを備える。
【0013】
前記調整量演算部の一態様は、前回の時刻同期時の前記基準時計と前記内部時計の時刻値の差と今回の時刻同期時の当該基準時計と当該内部時計の時刻値の差に基づき前記調整量を算出する。
【0014】
前記調整量演算部の一態様は、前記今回の時刻同期の後に、前記内部時計の1秒間で当該内部時計の時刻変化の傾きを補正する。
【0015】
本発明の一態様は、ネットワークに属する装置の内部時計を当該ネットワークの基準時計と同期させる時刻同期装置が実行する時刻同期方法であって、前記内部時計と前記基準時計の時刻変化に基づき当該内部時計の時刻変化の傾きを補正するための調整量を算出する過程と、前記調整量に基づき前記内部時計の傾きを補正することにより当該内部時計と前記基準時計の時刻変化の傾きを一致させる過程と、前記傾きをさらに補正して前記内部時計の時刻値を前記基準時計の時刻値と一致させた後に当該傾きを前記基準時計の時刻変化の傾きと一致させる過程とを有する。
【0016】
尚、本発明は、コンピュータを上記の時刻同期装置として機能させる時刻同期プログラムの態様することもできる。
【発明の効果】
【0017】
以上の本発明によれば、サーボ制御を要することなく時刻同期の応答性の向上及び短縮化を図ることができる。
【発明を実施するための形態】
【0019】
以下に図面を参照しながら本発明の実施形態について説明する。
【0020】
[本実施形態の概要及び構成]
図1に示した本実施形態の時刻同期システム1はネットワーク2のIEEE1588PTP(以下、PTP)に基づく時刻同期システムの一例である。
【0021】
ネットワーク2は、管理サーバ30が属するローカルネットワーク3と、複数の装置6が属するローカルネットワーク4と、このローカルネットワーク3,4を接続する広域ネットワーク5とを有する。そして、個々の装置6は本発明の一態様である時刻同期装置10を備える。
【0022】
図3に例示したグラフにおいて、縦軸は本態様のネットワーク2の基準時計31とネットワーク2に属する装置6の内部時計61の時刻値を示し、横軸は時間を示す。図示のように時間が経過すると前記時刻値は増大する。基準時計31及び内部時計61は、水晶振動子等の水晶デバイスの周波数に基づき進行するものであるが、周波数に誤差が生じるので、時刻値の経過の傾きが相違し、両者の時刻値の差は経時的に増大する。
【0023】
ここで、1回目のPTP処理(PTPに基づく時刻同期)が実行されると基準時計31と内部時計61の時間差Diff_Aを得ることができる。次いで、2回目のPTP処理が実行されると、さらに、この基準時計31と内部時計61の時間差Diff_Bを得ることができる。この1回目,2回目のPTP処理のタイミングT2_A,T2_Bは基準時計31がPTPパケットを送信したタイミングであり、個々の装置6での任意のタイミングで処理が実行できない。
【0024】
そこで、前記得られた二つの時間差の差分を以下の式(1)のように1回目と2回目の経過時間で除すれば基準時計31と内部時計61の時刻変化の傾きの差が得られる。この差の値は、内部時計61と基準時計31の前記傾きを一致させるための単位時間当たりの調整量となる。
【0025】
(単位時間当たりの調整量)=(Diff_B−Diff_A)/(T2_B−T2_A)…(1)
この調整量を適用した事例を
図4,5に示す。内部時計61の時刻値の進む速度を変更する方法は水晶デバイスの周波数をカウントしたときのカウント数を少なくすれば時計は早く進み、大きくすれば時計は遅く進むことになる。前記調整としては、内部時計61の機構に依り異なり、例えば、
図4に示した任意のタイミングで調整を行う方式と、
図5に示した内部時計の1秒の区切りで調整を行う方式が挙げられる。
【0026】
図4,5の調整方式においては、内部時計61の現在の速度を基準時計31の時刻変化の傾きに合わせるために単位時間当たりの調整量を加算した値とする。
【0027】
また、
図5の方式では、補正するまでの最大1.0秒の待機がある。PTPパケットの送信するタイミングは基準時刻に基づくものであるが、時計の1秒のタイミングとは関係がない。既に時刻同期の調整が一度行われていれば、基準時計31と内部時計61の傾きは略同等であり影響は小さい。もし時刻同期の揺れを小さくしたい場合には
図6に示された調整により時間差を解消できる。
【0028】
図4により内部時計61の時刻値の傾きを基準時計31に一致させることができるが、その時点ではDiff_Bの時間差が残っており、
図5に示したように、基準時計31と内部時計61の時刻値は平行線を辿ることになる。
【0029】
そこで、
図6に例示した内部時計61の時刻の補正を行う。すなわち、内部時計61の次の1秒間の時間帯で基準時計31と内部時計61の時刻差が0となるように内部時計61の時刻変化の傾き(式(2))を調整する。さらに、この傾きを基準時計31の時刻変化の傾きと一致させると、内部時計61は基準時計31と同期した時刻となる。尚、時刻同期装置10のハードウェアが内部時計61を任意の期間で正確に調整できるのであれば1秒に限定する必要はない。
【0030】
(1秒間の傾き)=(現在の傾き)−(Diff_B/1秒)…(2)
以上のように2回のPTP処理により測定する期間と、その結果から内部時計61を調整する期間がある。この二つの期間を同時に実施することは可能であるが複雑であり、応答性が少し改善する。
【0031】
図2に例示の本実施形態の時刻同期装置10の構成例について説明する。
【0032】
時刻同期装置10は、コンピュータのハードウェア資源とソフトウェア資源との協働により、調整量演算部11、傾き補正部12及び時刻補正部13を実装する。
【0033】
調整量演算部11は、内部時計61と基準時計31の時刻変化に基づき内部時計61の時刻変化の傾きを補正するための調整量を算出する。具体的には前回の時刻同期時の基準時計31と内部時計61の時刻値の差と今回の時刻同期時の基準時計31と内部時計61の時刻値の差に基づき前記調整量を算出する。より具体的には前記前回から前記今回までの期間が1秒間である場合の前記調整量が挙げられる。
【0034】
傾き補正部12は、前記調整量に基づき内部時計61の傾きを補正することにより内部時計61と基準時計31の時刻変化の傾きを一致させる。例えば、前記前回から前記今回までの期間が1秒間である場合の前記調整量に基づき内部時計61の傾きを補正することにより内部時計61と基準時計31の時刻変化の傾きを一致させる。
【0035】
時刻補正部13は、前記傾きをさらに補正して内部時計61の時刻値を基準時計31の時刻値と一致させた後に当該傾きを基準時計31の時刻変化の傾きと一致させる。
【0036】
[本実施形態の動作例]
以下に実施形態の時刻同期装置10の具体的な動作例について説明する。
【0037】
時刻同期装置10は、PTP処理により得られた時間差が所定の値、例えば、1秒よりも大きい場合、内部時計61の年月日分秒の単位を合わせる。このとき、1秒未満の時間差と内部時計61の水晶デバイスの精度により時刻値の進み速度に差異が存在する。最初は水晶デバイスの標準周波数で時間が生成されており、内部時計61の調整が実行されていないので、内部時計61の時刻変化の傾きが0として記録する。
【0038】
基準時計31は、任意のタイミングでPTPに基づくSyncパケットを送信する。装置6側の時刻同期装置10は、前記Syncパケットを受信すると、Delay_Reqパケットを基準時計31に返信する。その後、時刻同期装置10は、基準時計31からDelay_Respパケットの返信を受けると、PTP演算により基準時計31と内部時計61の時間差を算出する。この時間差は、1回目の時間差Diff_Aとして、時刻同期装置10の記憶部に記録され、さらに、内部時計61の時刻T2_Aは当該記憶部に記録される。その後、時刻同期装置10は、基準時計31からの次のSyncパケットを受信すると、2回目の時間差Diff_Bとこのときの時刻T2_Bを前記記憶部に記録する。
【0039】
そして、時刻同期装置10は、以下のS1(調整量の演算)、S2(傾きの補正)、S3(時刻の補正)の過程の実行により、内部時計61を基準時計31と同期させる。
【0040】
S1:調整量演算部11は、式(1)の演算により基準時計31と内部時計61の時刻変化の傾きを一致させるための調整量を算出する。
【0041】
S2:傾き補正部12は、内部時計61を基準時計31の進む速度に合わせるため、前記調整量に基づき内部時計61の時刻変化の傾きを補正することにより、内部時計61と基準時計31の時刻変化の傾きを一致させる。
【0042】
具体的には、以下の式(3)による演算により前記傾きを補正する。
【0043】
傾き(補正後)
=傾き(前回値)−(単位時間当たりの調整量)
=傾き(前回値)−((Diff_B−Diff_A)/(T2_B−T2_A))…(3)
内部時計61の時刻が進んでいる場合、単位時間当たりの調整量は正の値となるので、補正前の内部時計61の時刻変化の傾きに対して減算する。本態様例では、内部時計61の水晶デバイスの周波数カウンタ値を増大させることにより、内部時計61の経過速度を遅く調整する。この周波数カウンタ値の調整は、以下の式(4)の演算より実行される。
【0044】
周波数カウンタ値(補正後)
=周波数カウンタ値(前回値)+(1秒当たりの調整量)
=周波数カウンタ値(前回値)+(標準カウンタ値)×((Diff_B−Diff_A)/(T2_B−T2_A))…(4)
内部時計61の時刻調整において、上記調整後の周波数カウンタ値が適用されると、
図4,5のように、内部時計61の時刻変化の傾きは基準時計31の時刻変化と同じ傾きに補正される。
【0045】
S3:時刻補正部13は、Diff_Bの時間差を解消するために、
図6に示したように、内部時計61の次の1秒間の時間帯で以下の演算により得られた周波数カウンタ値を適用する。
【0046】
すなわち、以下の演算により、内部時計61の次の1秒間の時間帯で基準時計31と内部時計61の時刻差が0となるように内部時計61の時刻変化の傾きを調整する。その後、この傾きをS2にて補正された基準時計31の時刻変化の傾きと一致させる。
【0047】
1秒間の傾き=(現在の傾き)−(Diff_B/1秒)
周波数カウンタ値(調整後)
=周波数カウンタ値(前回値)+(1秒間の調整量)
=周波数カウンタ値(前回値)+(標準カウンタ値)×(Diff_B/1秒)
尚、次の1秒まで待たされる時間を補正する場合は以下のようになる。
【0048】
周波数カウンタ値(調整後)
=周波数カウンタ値(前回値)+(標準カウンタ値)×((Diff_B×(1+待ち時間[秒]))/1秒)
1秒間だけ周波数カウンタ値(調整後)を適用して、その後、元の周波数カウンタ値(前回値)に戻せば
図6のように基準時計31と同期することができる。
【0049】
以上の一連の処理は2〜3秒で完了するのでサーボ制御と比較して応答性が高くなる。
【0050】
水晶デバイスは長期的には温度や電圧による変動があり、短期的にはある周波数を中心とする変動がある。長期的な変動は十分追従できるが数秒程度の短期間で周波数が変動すると影響を受ける。
【0051】
以上のように本態様の時刻同期装置10によれば、内部時計61と基準時計31の時刻変化に基づき装置6の内部時計61の時刻変化の傾きが補正される。そして、この傾きが補正された内部時計61の時刻値が基準時計31の時刻値と一致するように補正される。
【0052】
本態様によれば、内部時計61の時刻の調整が短時間で完了する。例えば、サーボ制御は時刻同期に1〜20分を要するが、本態様の時刻同期方式によれば3〜30秒で1μsec以内に同期できる。
【0053】
特に、前記補正された基準時計31の時刻変化の傾きが内部時計61の時刻の補正に適用されることにより、時刻同期装置の時刻同期の応答性が向上する。例えば、2〜3秒の応答時間となる。
【0054】
また、内部時計61の時刻変化が基準時計31の時刻変化と一致した状態で内部時計61が基準時計31と同期するので、内部時計61と基準時計31との誤差を把握できるので、システム設計が容易となる。
【0055】
一方、従来技術であるサーボ制御は応答性が遅く、また、含まれる誤差が明確ではないため、システム設計が困難となる。
【0056】
さらに、一定時間毎のPTP処理の継続と所定期間の内部時計61の時刻補正が排他的に実行されるので、当該PTP処理と当該時刻補正を同時に実行する場合と比べても演算が簡素となり、また、サーボ制御のPID制御のパラメータの設定が不要となる。
【0057】
また、前回のPTP処理の基準時計31と内部時計61の時刻値の差と当該前回から一秒後の当該時刻値の差に基づく内部時計61の時刻変化の補正が可能となっている。したがって、この同期方式が保護継電器などの高精度の同期性が要求されない電力設備に適用されることにより、高精度な基準時計を備える必要がないので、設備コストが低減する。そして、これにより、電力設備の低廉な冗長化が実現し、電力ネットワークシステムの可用性が向上する。
【0058】
本発明の他の態様としては、時刻同期装置10の一部若しくは全てとしてコンピュータを機能させるプログラムで構成しこれを当該コンピュータに実行させることにより実現できる。または、時刻同期装置10が実行する時刻同期方法のS1〜S3の過程の一部若しくは全てをコンピュータに実行させるプログラムで構成しこれを当該コンピュータに実行させることにより実現できる。そして、このプログラム(時刻同期プログラム)をそのコンピュータが読み取り可能な周知の記録媒体に格納して提供できる。または、前記プログラムをインターネットや電子メール等でネットワークを介して提供できる。
【0059】
本発明は、以上の実施形態に限定されるものではなく、本発明の特許請求の範囲内で様々な態様で実施が可能である。