(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記システム時計の時刻と前記標準時の時刻情報に基づく時刻との差が前記第1閾値より大きい値である第2閾値以上の場合、もしくは、前記システム時計の時刻と前記移動平均時刻との差が第2閾値以上の場合に、前記システム時計の時刻を前記標準時の時刻に合わせる、請求項1に記載の時刻配信装置。
前記制御部は、前記標準時の時刻情報を所定期間取得した後、前記移動平均時刻と前記システム時計の時刻との差が第1閾値未満であっても、前記システム時計の時刻を前記移動平均時刻に合わせる、請求項1または請求項2に記載の時刻配信装置。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の例では、標準時として日本標準時の例を説明するが、標準時は他国の標準時やGMT(Greenwich Mean Time;グリニッジ標準時)等であってもよい。なお、以下の例では、時刻配信装置の例としてタイムサーバーを例に説明する。
【0020】
図1は、時刻配信システム1の概略構成図である。
図1に示すように、時刻配信システム1は、タイムサーバー2(時刻配信装置)、時刻供給システム3、クライアント7−1、クライアント7−2、クライアント7−3、…を含んで構成される。
以下の説明において、クライアント7−1、クライアント7−2、クライアント7−3、…のうちの1つを特定しない場合は、クライアント7という。また、タイムサーバー2は、ネットワーク8を介してクライアント7と接続されている。ネットワーク8は、例えばインターネット・プロトコルを用いるネットワークである。
【0021】
時刻供給システム3は、GPS31、光テレホンJJY32、およびデータ供給装置33を備える。なお、時刻供給システム3はこれらに限られず、例えばNTP(Network Time Protocol)サーバー等であってもよい。
【0022】
GPS31は、Global Positioning System(全地球測位システム)である。GPS31が送信する信号には、衛星自身の位置(軌道)や、電波を発信した時刻が含まれている。
光テレホンJJY32は、情報通信研究機構が光電話回線を使用して日本標準時を配信する時刻供給システムである。
データ供給装置33は、放送局用の標準時刻の供給システムである。
なお、時刻供給システム3における時刻の精度は、GPS31の時刻の精度が最も高く、データ供給装置33の時刻の精度が最も低い。
【0023】
タイムサーバー2は、例えば、GPS31、光テレホンJJY32、データ供給装置33のうち少なくとも1つから時刻情報を取得する。タイムサーバー2は、取得した時刻情報と、タイムサーバー2が備える時計の時刻とに基づいて、クライアント7に時刻情報を供給する。なお、タイムサーバー2の構成、処理については、後述する。
【0024】
クライアント7は、例えば、サーバー、パーソナルコンピュータである。クライアント7は、タイムサーバー2から提供される時刻情報を取得して、現在時刻を調整する。
【0025】
次に、タイムサーバー2の構成例を説明する。
図2は、本実施形態に係るタイムサーバー2の構成例を示すブロック図である。
図2に示すように、タイムサーバー2は、時刻源時計20、基準時計21、移動平均時計22(移動平均部)、システム時計23、配信部24、制御部25、記憶部26、およびクロック源27を備える。
【0026】
クロック源27は、高精度で高分解能なクロック信号を生成する。クロック源27は、時刻源時計20(第1時計202、第2時計204、第3時計)、基準時計21(第1基準時計211、第2基準時計212、第3基準時計213)、移動平均時計22(第1移動平均時計221、第2移動平均時計222、第3移動平均時計223)、システム時計23、および配信部24にクロックを供給する。なお、クロック源27は、配信部24のうち、PTP時計241にクロックを供給し、NTP時計242にクロックを供給しない。
【0027】
時刻源時計20は、通信部201(取得部)、第1時計202、取得部203、第2時計204、取得部205、第3時計206を備える。
【0028】
通信部201は、GPS31(
図1)からの電波をサンプリングタイミング毎に受信し、受信した電波から信号の復調等を行って標準時の時刻情報を抽出する。通信部201は、抽出した標準時の時刻情報を第1時計202に出力する。
第1時計202は、通信部201が出力する標準時の時刻情報に基づく時刻に合わせられている。第1時計202は、制御部25が所定のタイミングで出力する補正指示に応じて、時刻を通信部201が出力する標準時の時刻情報に基づく時刻に合わせる。第1時計202は、制御部25の制御に応じて、時刻を出力する。
【0029】
取得部203は、光テレホンJJY32(
図1)から標準時の時刻情報をサンプリングタイミング毎に取得し、取得した標準時の時刻情報を第2時計204に出力する。
第2時計204は、取得部203が出力する標準時の時刻情報に基づく時刻に合わせられている。第2時計204は、制御部25が所定のタイミングで出力する補正指示に応じて、時刻を取得部203が出力する標準時の時刻情報に基づく時刻に合わせる。第2時計204は、制御部25の制御に応じて、時刻を出力する。
【0030】
取得部205は、データ供給装置33(
図1)から標準時の時刻情報をサンプリングタイミング毎に取得し、取得した標準時の時刻情報を第3時計206に出力する。
第3時計206は、取得部205が出力する標準時の時刻情報に基づく時刻に合わせられている。第3時計206は、制御部25が所定のタイミングで出力する補正指示に応じて、時刻を取得部205が出力する標準時の時刻情報に基づく時刻に合わせる。第3時計206は、制御部25の制御に応じて、時刻を出力する。
【0031】
なお、第1時計202、第2時計204、第3時計206に対する所定のタイミングそれぞれは異なっていてもよく、同じであってもよい。また、時刻情報を受信、取得するサンプリングタイミングは、第1時計202、第2時計204、第3時計206それぞれ同じであってもよく、異なっていてもよい。
また、第1時計202、第2時計204、第3時計206の個々を特定しない場合には、時刻源時計20として説明する。
【0032】
基準時計21は、第1基準時計211、第2基準時計212、第3基準時計213を備える。
第1基準時計211は、例えばタイムサーバー2の電源がオン状態になったとき、第1時計202から時刻情報を取得し、取得した時刻情報に基づく時刻に合わせる。第1基準時計211は、最初に時刻を合わせた後、時刻を補正しない。第1基準時計211は、クロック源27が供給するクロックを用いて時刻を進める。第1基準時計211は、制御部25の制御に応じて、時刻(基準時刻)を出力する。
【0033】
第2基準時計212は、例えばタイムサーバー2の電源がオン状態になったとき、第2時計204から時刻情報を取得し、取得した時刻情報に基づく時刻に合わせる。第2基準時計212は、最初に時刻を合わせた後、時刻を補正しない。第2基準時計212は、クロック源27が供給するクロックを用いて時刻を進める。第2基準時計212は、制御部25の制御に応じて、基準時刻を出力する。
【0034】
第3基準時計213は、例えばタイムサーバー2の電源がオン状態になったとき、第3時計206から時刻情報を取得し、取得した時刻情報に基づく時刻に合わせる。第3基準時計213は、最初に時刻を合わせた後、時刻を補正しない。第3基準時計213は、クロック源27が供給するクロックを用いて時刻を進める。第3基準時計213は、制御部25の制御に応じて、基準時刻を出力する。
【0035】
なお、第1基準時計211、第2基準時計212、第3基準時計213の個々を特定しない場合には、基準時計21として説明する。
【0036】
移動平均時計22は、第1移動平均時計221(移動平均部)、第2移動平均時計222(移動平均部)、第3移動平均時計223(移動平均部)を備える。
第1移動平均時計221は、第1時計202が出力するGPS31から受信した時刻情報に基づく時刻に合わせたGPS時刻と、第1基準時計211が出力する基準時刻との時刻差を求める。第1移動平均時計221は、求めた時刻差の第1移動平均値を求める。また、第1移動平均時計221は、求めた第1移動平均値に、第1基準時計211の基準時刻を加算した第1移動平均時刻に、自装置の時刻を合わせる。なお、第1移動平均時計221は、クロック源27が供給するクロックを用いて時刻を進める。第1移動平均時計221は、制御部25の制御に応じて、第1移動平均時刻をシステム時計23に出力する。
【0037】
第2移動平均時計222は、第2時計204が出力する光テレホンJJY32から取得した時刻情報に基づく時刻に合わせた光テレホンJJY時刻と、第2基準時計212が出力する基準時刻との時刻差を求める。第2移動平均時計222は、求めた時刻差の第2移動平均値を求める。また、第2移動平均時計222は、求めた第2移動平均値に、第2基準時計212の基準時刻を加算した第2移動平均時刻に、自装置の時刻を合わせる。なお、第2移動平均時計222は、クロック源27が供給するクロックを用いて時刻を進める。第2移動平均時計222は、制御部25の制御に応じて、第2移動平均時刻をシステム時計23に出力する。
【0038】
第3移動平均時計223は、第3時計206が出力するデータ供給装置33から取得した時刻情報に基づく時刻に合わせたBCD時刻と、第3基準時計213が出力する基準時刻との時刻差を求める。第3移動平均時計223は、求めた時刻差の第3移動平均値を求める。また、第3移動平均時計223は、求めた第3移動平均値に、第3基準時計213の基準時刻を加算した第3移動平均時刻に、自装置の時刻を合わせる。なお、第3移動平均時計223は、クロック源27が供給するクロックを用いて時刻を進める。第3移動平均時計223は、制御部25の制御に応じて、第3移動平均時刻をシステム時計23に出力する。
【0039】
なお、第1移動平均時計221、第2移動平均時計222、第3移動平均時計223の個々を特定しない場合には、移動平均時計22として説明する。
【0040】
システム時計23は、タイムサーバー2が配信する時刻のベースとなる時刻を出力する。システム時計23は、第1時計202が出力するGPS時刻を取得し、第2時計204が出力する光テレホンJJY時刻を取得し、第3時計206が出力するBCD時刻を取得する。システム時計23は、第1移動平均時計221が出力する第1移動平均時刻を取得し、第2移動平均時計222が出力する第2移動平均時刻を取得し、第3移動平均時計223が出力する第3移動平均時刻を取得する。システム時計23は、制御部25の制御に応じて、システム時計23の時刻を、GPS時刻、光テレホンJJY時刻、およびBCD時刻のうちの1つに合わせる。システム時計23は、システム時計23の時刻がGPS時刻に合わされている場合、制御部25の制御に応じて、システム時計23の時刻を、第1移動平均時刻に合わせる。システム時計23は、システム時計の時刻が光テレホンJJY時刻に合わされている場合、制御部25の制御に応じて、システム時計23の時刻を、第2移動平均時刻に合わせる。システム時計23は、システム時計23の時刻がBCD時刻に合わされている場合、制御部25の制御に応じて、システム時計23の時刻を、第3移動平均時刻に合わせる。なお、システム時計23は、クロック源27が供給するクロックを用いて時刻を進める。
システム時計23は、システム時計23の時刻の情報を、配信部24に供給する。
【0041】
配信部24は、PTP時計241、NTP時計242を備える。
PTP時計241は、IEEE−1588規格で定義されたPrecision Time Protocolに則った時刻配信部である。PTP時計241は、システム時計23が出力する時刻の情報に基づく時刻に、内部の時計の時刻を合わせる。なお、PTP時計241は、クロック源27が供給するクロックを用いて時刻を進める。PTP時計241は、ネットワークを介して接続されている外部機器に時刻情報を配信する。
NTP時計242は、Network Time Protocolに則った時刻配信部である。NTP時計242は、システム時計23が出力する時刻の情報に基づく時刻に、所定のタイミング毎に内部の時計の時刻を合わせる。NTP時計242は、ネットワークを介して接続されている外部機器に時刻情報を配信する。
【0042】
制御部25は、時刻源時計20から時刻情報をシステム時計23に供給する時計を、記憶部26が記憶する優先順位に従って、第1時計202、第2時計204および第3時計206の中から1つ選択する。
制御部25は、第1時計202を選択している場合、第1移動平均時刻とシステム時計23の時刻との時刻差を求め、求めた時刻差と、記憶部26が記憶する第1移動平均用の第1閾値と比較する。制御部25は、第1移動平均時刻とシステム時計23の時刻との時刻差が第1移動平均用の第1閾値以上の場合、システム時計23の時刻を第1移動平均時刻に合わせる。また、制御部25は、第1移動平均時刻とシステム時計23の時刻との時刻差と、記憶部26が記憶する第2閾値と比較する。また、制御部25は、時刻源時計20である第1時計202の時刻とシステム時計23の時刻との時刻差と、記憶部26が記憶する第2閾値と比較する。制御部25は、第1移動平均時刻とシステム時計23の時刻との時刻差が第2閾値以上、もしくは第1時計202の時刻とシステム時計23の時刻との時刻差が第2閾値以上の場合、システム時計23の時刻を第1時計202の時刻に合わせ、第1移動平均時計221にリセット指示を出力する。
【0043】
制御部25は、第2時計204を選択している場合、第2移動平均時刻とシステム時計23の時刻との時刻差を求め、求めた時刻差と、記憶部26が記憶する第2移動平均用の第1閾値と比較する。制御部25は、第2移動平均時刻とシステム時計23の時刻との時刻差が第2移動平均用の第1閾値以上の場合、システム時計23の時刻を第2移動平均時刻に合わせる。また、制御部25は、第2移動平均時刻とシステム時計23の時刻との時刻差と、記憶部26が記憶する第2閾値と比較する。また、制御部25は、時刻源時計20である第2時計204の時刻とシステム時計23の時刻との時刻差と、記憶部26が記憶する第2閾値と比較する。制御部25は、第2移動平均時刻とシステム時計23の時刻との時刻差が第2閾値以上、もしくは第2時計204の時刻とシステム時計23の時刻との時刻差が第2閾値以上の場合、システム時計23の時刻を第2時計204の時刻に合わせ、第2移動平均時計222にリセット指示を出力する。
【0044】
制御部25は、第3時計206を選択している場合、第3移動平均時刻とシステム時計23の時刻との時刻差を求め、求めた時刻差と、記憶部26が記憶する第3移動平均用の第1閾値と比較する。制御部25は、第3移動平均時刻とシステム時計23の時刻との時刻差が第3移動平均用の第1閾値以上の場合、システム時計23の時刻を第3移動平均時刻に合わせる。また、制御部25は、第3移動平均時刻とシステム時計23の時刻との時刻差と、記憶部26が記憶する第2閾値と比較する。また、制御部25は、時刻源時計20である第3時計206の時刻とシステム時計23の時刻との時刻差と、記憶部26が記憶する第2閾値と比較する。制御部25は、第3移動平均時刻とシステム時計23の時刻との時刻差が第2閾値以上、もしくは第3時計206の時刻とシステム時計23の時刻との時刻差が第2閾値以上の場合、システム時計23の時刻を第3時計206の時刻に合わせ、第3移動平均時計223にリセット指示を出力する。
なお、制御部25による時刻の補正方法については、後述する。
【0045】
記憶部26は、第1閾値と第2閾値を記憶する。なお、記憶部26は、第1移動平均用の第1閾値、第2移動平均用の第1閾値、第3移動平均用の第1閾値を記憶するようにしてもよい。また、記憶部26は、第1移動平均用の第2閾値、第2移動平均用の第2閾値、第3移動平均用の第2閾値を記憶するようにしてもよい。記憶部26は、制御部25が時刻源時計20から時計を選択する際の優先順位を記憶する。
【0046】
次に、時刻源時計20の時刻に基づいてシステム時計23の時刻を合わせるタイムサーバーにおける、時間経過に対する時刻差の例を、
図3を用いて説明する。
図3は、時刻源時計20の時刻に基づいてシステム時計23の時刻を合わせるタイムサーバーにおける、時間経過に対する時刻差の例を示す図である。
図3において、横軸は経過時間、縦軸は時刻源時計20の時刻と基準時計21の時刻との時刻差である。この例では、時刻t1〜t2のサンプリング周期T1で、時刻源時計20と基準時計21との時刻差を確認している。この時刻差の大きさは、時刻源時計20が時刻情報を取得する時刻供給システムのクロック精度に依存する。
【0047】
図3では、時刻t1〜t3の周期T11の期間に、時刻源時計20の時刻と基準時計21の時刻との時刻差がtd1になり、その後再びほぼゼロへと戻る。これは、時刻供給システム3が、タイムサーバー2に供給する時刻を周期T11で補正しているためである。この補正量は、時刻供給システムのクロック精度に依存し、クロック精度が低いほど補正量が大きくなるため、時刻差td1が大きくなる。
例えば、優先順位の1番が、GPS31から時刻情報を供給される第1時計202であるものとし、通信部201においてGPS31からの標準時刻を受信できない状態が継続した場合、タイムサーバー2は、優先順位が2番の第2時計の時刻に基づいてシステム時計を運用することになる。この第2時計へと時刻情報を供給する時刻供給システム3のクロック精度が低い場合、周期T11毎の補正量が大きくなってしまう。
【0048】
このため、本実施形態では、以下に説明するように、時刻源時計20の時刻と基準時計21の基準時刻との時刻差の移動平均値を求め、移動平均値に基準時刻を加算した移動平均時計22の移動平均時刻とシステム時計23の時刻との差について、閾値と比較し、比較した結果に基づいてシステム時計23の時刻を補正する。
【0049】
図4は、本実施形態に係るシステム時計23の時刻の補正例を説明する図である。
図4において、縦軸、横軸は、
図3と同じである。また、符号g1は、時刻源時計20の時刻と、基準時計21の時刻との経過時間における時刻差である。符号g2は、基準時計21の経過時間における時刻である。符号g3は、時刻源時計20の時刻と基準時計21の時刻との時刻差の移動平均値である。符号g4は、基準時計21の時刻に対するシステム時計23の経過時間における時刻の変化である。符号g11は、第1閾値である。符号g12は、第2閾値である。
また、時刻t11〜t21の期間、時刻t21〜t22の期間、時刻t22〜t23の期間それぞれは、周期T11である。また、制御部25は、サンプリング周期T1(t11〜t12の時間に等しい周期)で、時刻源時計20、基準時計21、移動平均時計22およびシステム時計23の時刻を確認し、システム時計23の時刻の補正の可能性を判断している。
【0050】
ここで、基準時計21の時刻(基準時刻)をtrとする。システム時計23の時刻をtsとする。時刻源時計20の時刻をtbとする。移動平均時計22(第1移動平均時計221〜第3移動平均時計223のうちの1つ)の時刻をtmとする。また、移動平均値をmaとする。
【0051】
はじめに、システム時計23は、時刻源時計20から時刻tbを取得する。制御部25は、システム時計23の時刻tsを、時刻源時計20の時刻tbに合わせる(ts=tb)。さらに、制御部25は、基準時計21の時刻trを、時刻源時計20の時刻tbに合わせる(tr=tb)。また、制御部25は、移動平均値maを、0にリセットする(ma=0)。さらに、制御部25は、移動平均時計22の時刻tmを、基準時計21の時刻trに移動平均値maを加算した値とする(tm=tr+ma)。このため、移動平均時計22の時刻tmの初期値は、trとなる。
この結果、時刻t11においては、時刻ts=tb、時刻tr=tb、時刻tm=tr+ma、移動平均値ma=0である。
【0052】
時刻t12のとき、時刻源時計20の時刻tbと基準時計21の時刻trとの時刻差がΔtとなる。時刻t12において、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差は、
図4に示す符号g11、第1閾値未満である。この場合、制御部25は、システム時計23の時刻tsを補正しない。このため、システム時計23の時刻tsは、tbのままである。
以後、時刻t13、t14、・・・とサンプリング周期T1でサンプリングする毎に、時刻源時計20の時刻tbと基準時計21の時刻trとの時刻差がΔtずつ増加する。
【0053】
時刻t15のとき、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差が第1閾値以上である。このため、制御部25は、例えば、時刻t15〜t17の期間(サンプリング周期T1の2周期分)をかけて、符号Aのように、システム時計23の時刻tsを、時刻tbから移動平均時計22の時刻tmに補正する。
時刻t19のとき、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差が第1閾値以上である。このため、制御部25は、時刻t19〜t20の期間(サンプリング周期T1の2周期分)をかけて、符号Bのように、システム時計23の時刻tsを、移動平均時計22の時刻tmに補正する。
【0054】
なお、上述したように、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差が第1閾値以上の場合、制御部25は、第1閾値以上となった時刻に、システム時計23の時刻tsを移動平均時計22の時刻tmに直ちに補正するのではなく、所定の時間をかけてゆっくり補正を行う。
図4に示した例において、所定の時間は、サンプリング周期T1の2周期分(例えば時刻t15〜t17の期間)である。なお、所定の時間は、これに限られず、サンプリング周期T1の1周期分であってもよく、3周期分以上であってもよい。
【0055】
時刻t21〜t23の期間、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差が第1閾値未満であるため、制御部25は、システム時計23の時刻tsを補正しない。
なお、制御部25は、少なくとも1周期T11より長い時間が経過した後、システム時計23の時刻tsを、移動平均時計22の時刻tmに所定の時間をかけてゆっくり補正するようにしてもよい。
【0056】
時刻t24のとき、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差は第2閾値を超えていないが、システム時計23の時刻tsと時刻源時計20の時刻tbとの時刻差は第2閾値以上である。このように、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差、もしくはシステム時計23の時刻tsと時刻源時計20の時刻tbとの時刻差が第2閾値以上である場合、時刻源時計20が取得した時刻供給システム側が、意図的に時刻を変更、修正した可能性が高い。このため、制御部25は、符号Cのように、システム時計23の時刻tsと基準時計21の時刻trを、直ちに時刻源時計20の時刻tbに補正する。修正するタイミングは、例えば検出した次のサンプリング周期T1後の時刻t25である。また、制御部25は、システム時計23と基準時計21の時刻を補正すると共に、移動平均値maを0にリセットする。
【0057】
なお、第1閾値は、通常の運用(時刻供給システム側のクロック精度に応じた揺れ等)を検出できるレベルに設定しておく。このため、第1閾値は、複数の時刻供給システムそれぞれのクロック精度に応じて設定するようにしてもよい。
図1に示したようにタイムサーバー2が、3種類の時刻供給システム3から時刻を取得する場合は、第1移動平均用の第1閾値、第2移動平均用の第1閾値、第3移動平均用の第1閾値それぞれを、異なるように設定するようにしてもよい。この場合は、第1移動平均用の第1閾値を最も小さく、第3移動平均用の第1閾値を最も大きいように設定してもよい。
【0058】
また、第2閾値は、通常の運用では、検出されないレベルに設定しておく。このため、第1移動平均用の第2閾値、第2移動平均用の第2閾値、第3移動平均用の第2閾値を、同じ閾値に設定するようにしてもよく、異なる閾値に設定するようにしてもよい。
【0059】
なお、タイムサーバー2は、システム時計23の時刻を合わせている時刻源時計20が第1時計202であっても、時刻源時計20が備える全ての時計において時刻供給システム3から標準時刻を取得し、サンプリング周期T1毎に、移動平均値を求める。
また、本実施形態では、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差の移動平均値を求め、システム時計23の時刻tsと移動平均時計22の時刻tmとの時刻差と第1閾値とを比較する。この結果、本実施形態によれば、例えば、運用開始後の数周期に補正が行われた後、移動平均値が平均化されてほぼ一定となるため、補正が行われなくなる。これにより、本実施形態によれば、外部装置に配信する時刻の補正回数を減らすことができる。
【0060】
ここで、時刻源時計20が備える時計が切り替わったときの処理を説明する。
図5は、本実施形態に係る時刻源時計20が切り替わったときの処理例を示す図である。なお、
図5の処理は、第3時計206から第2時計204に切り替わった例である。
図5において、縦軸、横軸は、
図3と同じである。
【0061】
図5における第3時計の図において、符号g1011は、第3基準時計213の経過時間における時刻である。符号g1021は、第3基準時計213の時刻に対するシステム時計23の経過時間における時刻の変化である。符号g111は、第3時計206の時刻と、第3基準時計213の時刻との経過時間における時刻差である。符号1121は、第3時計206の時刻と第3基準時計213との時刻差の移動平均値である。
【0062】
図5における第2時計の図において、符号g1012は、第2基準時計212の経過時間における時刻である。符号g1022は、第2基準時計212の時刻に対するシステム時計23の経過時間における時刻の変化である。符号g121は、第2時計204の時刻と、第2基準時計212の時刻との経過時間における時刻差である。符号1221は、第2時計204の時刻と第2基準時計212との時刻差の移動平均値である。
【0063】
図5は、時刻t101〜t105の期間、第3時計206が取得した時刻情報に基づく時刻にシステム時計23の時刻を合わせて運用し、t105において第3時計206から第2時計に切り替わり、第2時計204が取得した時刻情報に基づく時刻にシステム時計23の時刻を合わせて運用する例である。
第3移動平均時計223は、時刻t101〜t105に期間、第3時計206の時刻tb
3と第3基準時計213の時刻tr
3との時刻差の移動平均値ma
3を求め、移動平均値ma
3に基準時刻tr
3を加算して第3移動平均時計223の時刻tm
3を求める。なお、第2移動平均時計222も同様であり、時刻t101〜t105に期間、第2時計204の時刻tb
2と第2基準時計212の時刻tr
2との時刻差の移動平均値ma
2と第2移動平均時計222の時刻tm
2を求める。
【0064】
時刻t102およびt103のとき、システム時計23の時刻tsと第3移動平均時計223の時刻tm
3との時刻差が第3移動平均用の第1閾値以上であるため、制御部25は、それぞれ、符号D、符号Eのように、システム時計23の時刻tsを、第3移動平均時計223の時刻tm
3に補正する。この結果、時刻t105におけるシステム時計23の時刻tsがts1になる。
【0065】
時刻t105のとき、制御部25は、システム時計23の時刻を合わせている時刻源時計20を第3時計206から第2時計204に切り換えるものとする。
第2移動平均時計222は、引き続き時刻t105以降の期間、第2時計204の時刻tb
2と第2基準時計212の時刻tr
2との時刻差の移動平均値ma
2を求め、移動平均値ma
2に基準時刻tr
2を加算して第2移動平均時計222の時刻tm
2を求める。なお、第3移動平均時計223も同様に、時刻t105以降の期間、第3時計206の時刻tb
3と第3基準時計213の時刻ts
3との時刻差の移動平均値ma
3と第3移動平均時計223の時刻tm
3を求める。
【0066】
時刻t105のとき、システム時計23の時刻tsと第2移動平均時計222の時刻tm
2との時刻差が第2移動平均用の第1閾値未満であるため、制御部25は、システム時計23の時刻tsを、第2移動平均時計222の時刻tm
2に補正しない。
時刻106のとき、システム時計23の時刻tsと第2移動平均時計222の時刻tm
2との時刻差が第2移動平均用の第1閾値以上であるため、制御部25は、符号Fのように、システム時計23の時刻tsを、第2移動平均時計222の時刻tm
2に補正する。
【0067】
なお、制御部25は、第3時計206から第2時計204に切り替えた時刻t105において、第2移動平均時計222が第2時計204の時刻差の変動の周期より長く移動平均時刻tm
2を出力している場合には、移動平均時刻tm
2が安定した時刻となっていることが予想される。その場合には、システム時計23の時刻tsを、第2移動平均時計222の時刻tm
2に補正するようにしてもよい。またその補正は、時刻源時計20と基準時計21との時刻差を確認するサンプリング周期の数回分をかけて、ゆっくりと補正するようにしてもよい。
【0068】
このように、本実施形態では、
図5に示したように、システム時計23に用いられていない場合であっても移動平均値maを求めている。これにより、時刻源時計20の時計(第1時計202、第2時計204、第3時計206のいずれか1つ)が切り替わった場合であっても、切り替わった時刻までの移動平均値maが求められている。このため、本実施形態では、時刻源時計20を切り替えた直後でも、システム時計23の時刻tsと移動平均時計22時刻tm(第1移動平均時刻、第2移動平均時刻、第3移動平均時刻のいずれか1つ)との時刻差と、第1閾値、第2閾値との比較を行い、システム時計23を補正することができる。すなわち、本実施形態によれば、時刻源時計20を切り替わる前後で、滞ることなくスムーズに時刻配信を行うことができる。
【0069】
次に、タイムサーバー2が行う処理手順例を説明する。
図6は、本実施形態に係るタイムサーバー2が行う処理手順例を示すフローチャートである。なお、以下の処理では、第1時計202、第2時計204、第3時計206それぞれが、時刻供給システム3から取得した標準時の時刻情報に基づき時刻を合わせている状態である。なお、制御部25は、タイムサーバー2の電源がオン状態になったとき、移動平均時計22の移動平均値を0にリセットする。
【0070】
(ステップS1)通信部201は、GPS31から標準時の時刻情報を取得する。取得部203は、光テレホンJJY32から標準時の時刻情報を取得する。取得部205は、データ供給装置33から標準時の時刻情報を取得する。続けて、取得した標準時の時刻をそれぞれ、第1時計202、第2時計204、第3時計206に合わせる。
なお、その後、通信部201、取得部203、取得部205は、それぞれのサンプリングタイミングで標準時の時刻情報を取得し、第1時計202、第2時計204、第3時計206を、それぞれの標準時の時刻に合わせる処理を継続するものとする。
【0071】
(ステップS2)基準時計21である第1基準時計211、第2基準時計212、第3基準時計213は、それぞれ、制御部25の制御に応じて、時刻源時計20の第1時計202、第2時計204、第3時計206から時刻情報取得し、取得した時刻情報に基づく時刻に時計を合わせる。
【0072】
(ステップS3)システム時計23は、制御部25の制御に応じて、優先順位に応じて選択した時刻源時計20の1つ(第n時計。nは、1、2、3のいずれか1つ)から時刻情報取得し、取得した時刻情報に基づく時刻に時計を合わせる。システム時計23は、合わせた時刻情報を、配信部24を介して外部機器に供給する。
【0073】
(ステップS4)サンプリング周期ごとに、第1移動平均時計221、第2移動平均時計222、第3移動平均時計223は、それぞれ、第1基準時計211、第2基準時計212、第3基準時計213の時刻を取得する。
【0074】
(ステップS5)続けて、第1移動平均時計221、第2移動平均時計222、第3移動平均時計223は、それぞれ、第1時計202、第2時計204、第3時計206の時刻を取得する。
【0075】
(ステップS6)第1移動平均時計221は、第1時計202の時刻と第1基準時計211の時刻との時刻差を求める。第2移動平均時計222は、第2時計204の時刻と第2基準時計212の時刻との時刻差を求める。第3移動平均時計223は、第3時計206の時刻と第3基準時計213の時刻との時刻差を求める。
【0076】
(ステップS7)第1移動平均時計221は、第1時計202の時刻と第1基準時計211の時刻との時刻差の第1移動平均値を求め、第1移動平均値に第1基準時計211の基準時刻を加算して第1移動平均時刻を求める。第2移動平均時計222は、第2時計204の時刻と第2基準時計212の時刻との時刻差の第2移動平均値と求め、第2移動平均値に第2基準時計212の基準時刻を加算して第2移動平均時刻を求める。第3移動平均時計223は、第3時計206の時刻と第3基準時計213の時刻との時刻差の第3移動平均値を求め、第3移動平均値に第3基準時計213の基準時刻を加算して第3移動平均時刻を求める。
【0077】
(ステップS8)制御部25は、システム時計23の時刻と、選択中の時刻源時計20(第n時計)に対応する第n移動平均時計の第n移動平均時刻との時刻差が、第n移動平均用の第1閾値以上であるか否かを判定する。制御部25は、システム時計23の時刻と第n移動平均時刻との時刻差が、第n移動平均用の第1閾値以上であると判定した場合(ステップS8;YES)、ステップS9の処理に進める。制御部25は、システム時計23の時刻と第n移動平均時刻との時刻差が、第n移動平均用の第1閾値未満であると判定した場合(ステップS8;NO)、ステップS1の処理に戻す。
【0078】
(ステップS9)制御部25は、システム時計23の時刻と第n移動平均時刻との時刻差、もしくはシステム時計23の時刻と時刻源時計20(第n移動平均時刻に対応する第1時計202、第2時計204、第3時計206)の時刻との時刻差が、第2閾値以上であるか否かを判定する。制御部25は、システム時計23の時刻と第n移動平均時刻との時刻差、もしくはシステム時計23の時刻と時刻源時計20(第n移動平均時刻に対応する第1時計202、第2時計204、第3時計206)の時刻との時刻差が、第2閾値以上であると判定した場合(ステップS9;YES)、ステップS11の処理に進める。制御部25は、システム時計23の時刻と第n移動平均時刻との時刻差が、第2閾値未満であると判定した場合(ステップS9;NO)、ステップS10の処理に進める。
【0079】
(ステップS10)制御部25は、システム時計23の時刻を移動平均時計22の第n移動平均時計の時刻に、所定の時間をかけて補正する。補正後、制御部25は、ステップS4の処理に戻す。
【0080】
(ステップS11)制御部25は、システム時計23の時刻と、基準時計21の第n基準時計の時刻を、時刻源時計20の第n時計の時刻に直ちに補正する。補正後、制御部25は、ステップS12の処理に進める。
【0081】
(ステップS12)制御部25は、第n移動平均時計による第n移動平均値を0にリセットする。処理後、制御部25は、ステップS4の処理に戻す。
【0082】
なお、上述した例では、時刻源時計20が3つの時計を備える例を説明したが、時刻源時計20が備える時計の数は1つであってもよく、4つ以上であってもよい。
また、時刻源時計20が取得する時刻供給システム3は、GPS31、光テレホンJJY32、データ供給装置33に限らず、他の時刻供給システム、例えば長波JJY、情報通信研究機構が電話回線を使用して日本標準時を配信する時刻供給システムであるテレホンJJY等であってもよい。
【0083】
以上のように、本実施形態では、時刻源時計20から時刻情報を初めて取得したときに、基準時計21の時刻とシステム時計23の時刻を、時刻源時計20の時刻に合わせる。そして、本実施形態では、以後、時刻源時計20の時刻情報を取得するたびに、時刻源時計20の時刻と基準時計21の時刻の時刻ずれの移動平均値を求める。また、本実施形態では、移動平均時計22は、基準時計21の時刻に移動平均値を加算した値を移動平均時刻に更新する。
そして、本実施形態では、移動平均時刻とシステム時計23の時刻との差が第1閾値以上になった場合、システム時計の時刻を、所定の時間をかけて移動平均時計22の時刻に合わせる。本実施形態では、この処理を繰り返す。
【0084】
これにより、本実施形態によれば、時刻源時計20の時刻と基準時計21の時刻との時刻差について、タイムサーバー2のシステム時計23の時刻が緩やかに追従する。この結果、本実施形態によれば、タイムサーバー2が供給する時刻情報がエンドユーザにとって時刻の揺れが少ないので、信頼性を確保した時刻配信が可能となる。
【0085】
なお、上述した例では、時刻配信装置としてタイムサーバー2を例に説明したが、これに限られない。
図2の構成の時刻配信装置を、例えば、パーソナルコンピュータ、サーバー、タブレット端末、携帯電子機器等に適用することもできる。
【0086】
なお、本発明におけるタイムサーバー2の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりタイムサーバー2が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0087】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0088】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。