(58)【調査した分野】(Int.Cl.,DB名)
前記時差管理部は、前記通信部により前記参照クロックの時刻情報を受信していないことを所定回数連続して検出した場合、又は前記通信部により前記参照クロックの時刻情報を受信していない状態が所定時間継続した場合に、前記通信途絶を検出する請求項1記載のクロック調整装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
タイムサーバのクロックが参照クロックに対して遅れがある場合、本来の正しい歩度を速めて時差を0にしようとするが、この同期途中で、何らかの理由により参照クロックからの時刻情報を受信できなくなるケースがある。この場合、タイムサーバは参照クロックとの正確な時差を確認できなくなるため、歩度の調整ができなくなる。
【0007】
特に、参照クロックとの歩度を合わせる部分が正しく計算されていない場合、時差を解消する部分によって推定時差を解消したつもりになっていても、自クロックと参照クロックの間に歩度差があるため、結果的に真の時差は解消されないまま拡大してしまう。
【0008】
また、上記特許文献1に記載のタイムスタンプ生成装置では、信号を受信できない場合に即自走モードを開始するため、参照クロックからの時刻情報を受信できなくなったことが検出される条件を満たすまでに時間を要する場合には対応できない。
【0009】
本発明は、上記問題点を解決するために成されたものであり、参照クロックからの時刻情報を受信できなくなったことが検出されるまでに時間を要する場合であっても、真の時差を推定でき、適切にクロックを調整することができるクロック調整装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明に係るクロック調整装置は、参照クロックの時刻情報を受信する通信部と、現在の歩度に基づいて決定される時刻情報を出力するクロック部と、前記クロック部が出力する時刻情報と、前記参照クロックの時刻情報との現在の時差を計算する時差計算部と、前記通信部により前記参照クロックの時刻情報を受信していないことを表す通信途絶を検出する時差管理部と、前記現在の時差に基づいて、前記参照クロックとの時差を解消するための時差解消歩度を計算し、前記時差解消歩度、及び前記参照クロックの速度に合わせるための固有歩度に基づいて、前記クロック部に対する現在の歩度を決定して、前記クロック部へ出力すると共に、前記時差解消歩度及び前記固有歩度に基づいて、次時刻の時差を推定することを繰り返す通常時用時差推定部と、前記固有歩度の時系列を考慮した安定歩度、及び前記現在の歩度に基づいて、前記現在の時差の時系列を考慮した安定時差を推定することを繰り返す通信途絶時用時差推定部と、前記固有歩度の時系列に基づいて、前記安定歩度を推定する安定歩度推定部と、前記時差計算部によって前記現在の時差が計算された場合に、前記現在の時差に基づいて、前記固有歩度を更新し、前記時差管理部によって通信途絶を検出した場合に、前記現在の時差を、前記安定時差で更新すると共に、前記固有歩度を、前記安定歩度で更新する通知処理部と、を含んで構成されている。
【0011】
この発明によれば、通信途絶を検出した場合に、現在の時差を、現在の時差の時系列を考慮した安定時差で更新すると共に、固有歩度を、固有歩度の時系列を考慮した安定歩度で更新することにより、参照クロックからの時刻情報を受信できなくなったことが検出されるまでに時間を要する場合であっても、真の時差を推定でき、適切にクロックを調整することができる。
ここで、歩度とは、クロックの進み又は遅れの度合いであり、例えば、1秒あたりに速くする又は遅くする長さ(ナノ秒)である。また、参照クロックの速度とは、参照クロックでの1秒の長さ(ナノ秒)である。
【0012】
また、前記クロック調整装置において、前記時差管理部は、前記通信部により前記参照クロックの時刻情報を受信していないことを所定回数連続して検出した場合、又は前記通信部により前記参照クロックの時刻情報を受信していない状態が所定時間継続した場合に、前記通信途絶を検出することができる。
【0013】
また、前記クロック調整装置において、前記安定歩度推定部は、前記固有歩度の時系列の平均を、前記安定歩度として推定するようにすることができる。
【0014】
この発明によれば、適切な安定歩度を推定することができる。
【0015】
また、本発明のプログラムは、コンピュータを、本発明のクロック調整装置の各部として機能させるためのプログラムである。
【0016】
この発明によれば、通信途絶を検出した場合に、現在の時差を、現在の時差の時系列を考慮した安定時差で更新すると共に、固有歩度を、固有歩度の時系列を考慮した安定歩度で更新することにより、参照クロックからの時刻情報を受信できなくなったことが検出されるまでに時間を要する場合であっても、真の時差を推定でき、適切にクロックを調整することができる。
【発明の効果】
【0017】
本発明によれば、参照クロックからの時刻情報を受信できなくなったことが検出されるまでに時間を要する場合であっても、真の時差を推定でき、適切にクロックを調整することができる。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0020】
まず、本発明の実施の形態の概要を説明する。
【0021】
本発明の実施の形態では、タイムサーバ内に、短期的に正確な固有歩度以外に、長期的に正確な歩度(過去の固有歩度の時系列を考慮した歩度)をそれぞれ推定する処理部を設ける。参照クロックからの時刻情報を受信できなくなった場合に、現在の歩度Fの計算に、短期的に正確な固有歩度ではなく、長期的に正確な歩度を利用する。具体的には、短期的に正確な固有歩度に加えて長期的に正確な歩度(過去の固有歩度の時系列を考慮した歩度)を推定し、長期的に正確な歩度を元に現在の時差を推定する。
【0022】
また、参照クロックからの情報を受信できないと判断した場合に、推定時差を短期的に正確な歩度による推定から長期的に正確な歩度による推定に切り替える。この切り替えと同時に現在歩度を長期的に正確な歩度に切り替える。
【0023】
これにより、参照クロックから時刻情報を取得できない状況においても、参照クロックと自クロックとの時差を可能な限り正確に推定でき、結果的に正確な時刻配信を可能とすることができる。
【0024】
<本発明の実施の形態のシステム構成>
本発明の実施の形態に係るクロック調整システムの構成について説明する。
図1に示すように、本発明の実施の形態に係るクロック調整システム100は、タイムサーバ10と、参照クロック発信装置16−1〜16−nと、クライアント端末18とを備えており、タイムサーバ10と、クライアント端末18とは、LAN(Local Area Network)等のネットワーク3を介して接続され、タイムサーバ10と参照クロック発信装置16−1〜16−nとは、ネットワーク3とは別のネットワークや専用通信(例えば、GNSS(Global Navigation Satellite System)やTel−JJY(電話回線による標準時提供))を介して接続されている。なお、タイムサーバ10が、クロック調整装置の一例である。
【0025】
タイムサーバ10は、参照クロックの時刻情報を用いて、自装置のクロックを調整し、時刻情報を、クライアント端末18へ配信するサーバである。
【0026】
参照クロック発信装置16−1〜16−nは、参照クロックの時刻情報を発信するサーバ装置である。参照クロック発信装置16−1〜16−nの具体的な態様についての説明は省略するが、参照クロック発信装置16−1〜16−nは、参照クロックを有し、参照クロックの時刻情報を、ネットワーク3とは別のネットワークや専用通信を介して配信する。
【0027】
本実施の形態におけるタイムサーバ10は、CPUと、RAMと、後述する各種処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このタイムサーバ10は、機能的には
図2に示すように、第1通信部20と、第2通信部21と、自システムクロック部22と、時差計算部24と、時差管理部26と、安定歩度推定部28と、自システムクロック制御部30とを備えている。
【0028】
第1通信部20は、ネットワーク3とは別のネットワークや専用通信を介して、参照クロック発信装置16−1〜16−nから参照クロックの時刻情報を受信する。また、第2通信部21は、ネットワーク3を介して、自システムクロック部22から出力された自クロックの時刻情報を、クライアント端末18へ送信する。
【0029】
自システムクロック部22は、現在の歩度に基づいて自クロックの時刻情報を決定して、時差計算部24及び通信部20に出力する。なお、自システムクロック部22は、クロック部の一例である。
【0030】
時差計算部24は、参照クロックの時刻情報を受信したときに、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差を計算する。時差計算部24は、参照クロックの時刻情報を受信していない間は、現在の時差を計算しない。
【0031】
時差管理部26は、所定時間間隔(例えば、数十秒〜数分毎)で、時差計算部24によって計算された現在の時差を取得し、取得した現在の時差を自システムクロック制御部30に通知する。
【0032】
また、時差管理部26は、所定回数(例えば、8回)連続して現在の時差の取得を失敗した場合には、参照クロック発信装置16との通信途絶を検出し、通信途絶を自システムクロック制御部30に通知する。
【0033】
安定歩度推定部28は、所定時間毎に、参照クロックの速度に合わせるための固有歩度の時系列に基づいて、安定歩度を推定して、自システムクロック制御部30に通知する。例えば、所定時間(例えば、30分〜1時間)毎に、自システムクロック制御部30により計算された固有歩度F
Iを取得して、過去24時間分の固有歩度F
Iを記憶しておき、固有歩度F
Iの平均値を計算し、安定歩度F
stab_newとして出力する。
【0034】
自システムクロック制御部30は、通知処理部32と自クロック調整部34とを備えている。なお、自クロック調整部34が、通常時用時差推定部及び通信途絶時用時差推定部の一例である。
【0035】
通知処理部32は、時差計算部24によって現在の時差が通知された場合に、現在の時差に基づいて、参照クロックが自クロックに対して進んでいれば、自クロックの歩度を速め、遅れていれば自クロックの歩度を緩めるように、固有歩度を更新すると共に、現在の時差に基づいて、安定時差を更新する。
【0036】
具体的には、以下の式に示すように、通知された時差T
offs_nowを、現在の時差T
offsとして、現在の時差T
offsに基づいて、参照クロックと自クロックの歩度差を0に向かわせるように、固有歩度F
Iを更新する。また、安定時差T
offs_stabを、通知された時差T
offs_nowで更新する。
【0038】
ただし、tiは前回の現在の時差の通知からの経過秒数である。βは、予め定められた係数である。また、F
Iの単位はppb(ns/s)であり、後述するF、F
P、F
stabの単位もppb(ns/s)である。
【0039】
また、通知処理部32は、時差計算部24によって通信途絶が通知された場合に、以下の式に従って、現在の時差T
offsを、安定時差T
offs_stabで更新すると共に、固有歩度F
Iを、安定歩度F
stabで更新する。
【0041】
また、通知処理部32は、安定歩度推定部28によって安定歩度F
stab_newが通知された場合に、以下の式に従って、安定歩度F
stabを、新たに通知された安定歩度F
stab_newで更新する。
【0043】
自クロック調整部34は、現在の時差T
offsに基づいて、現在の時差T
offsを0に向かわせるように、参照クロックとの時差を解消するための時差解消歩度F
Pを計算する。
【0044】
【数4】
(4)
ただし、αは、予め定められた係数である。
【0045】
自クロック調整部34は、時差解消歩度F
P、及び固有歩度F
Iに基づいて、以下の式に従って、自クロックの現在の歩度Fを決定して、自システムクロック部22へ出力すると共に、時差解消歩度F
Pと、固有歩度F
Iと、通知処理部32により更新された現在の時差T
offs又は前回推定された1秒後の時差(すなわち、現在の時差T
offs)とに基づいて、1秒後の時差T
offsを推定することを繰り返す。
【0047】
また、自クロック調整部34は、安定歩度F
stab、通知処理部32により更新された安定時差T
offs_stab又は前回推定された1秒後の安定時差T
offs_stab、及び現在の歩度Fに基づいて、以下の式に従って、1秒後の安定時差T
offs_stabを推定することを繰り返す。
【0049】
ただし、L
freqは、歩度Fの場合の、自システムクロック部22における1秒の長さ(ナノ秒)であり、L
stabは、安定歩度F
stabの場合の、自システムクロック部22における1秒の長さ(ナノ秒)である。10
9は、1秒の長さ=10
9ナノ秒であることを示す。
【0050】
<本発明の実施の形態の作用>
次に、本発明の実施の形態のタイムサーバ10による処理について
図3〜
図7を参照して説明する。タイムサーバ10が、参照クロック発信装置16から参照クロックの時刻情報を受信する度に、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差を計算しているときに、タイムサーバ10は、
図3に示す時差管理処理ルーチンを実行する。
【0051】
まず、ステップS100において、時差管理部26は、所定時間だけ(例えば、数十秒〜数分)経過したか否かを判定する。所定時間だけ経過すると、ステップS102へ移行する。
【0052】
ステップS102において、時差計算部24によって計算された現在の時差を取得する。
【0053】
ステップS104では、上記ステップS102において現在の時差の取得を失敗したか否かを判定する。現在の時差の取得を失敗していない場合には、ステップS106において、上記ステップS102で取得した現在の時差を、自システムクロック制御部30に通知し、上記ステップS100へ戻る。
【0054】
一方、現在の時差の取得を失敗した場合には、ステップS108において、現在の時差の取得失敗が連続8回であるか否かを判定する。現在の時差の取得失敗が連続8回でない場合には、ステップS100へ戻る。現在の時差の取得失敗が連続8回である場合には、参照クロック発信装置16との通信途絶を検出し、通信途絶を自システムクロック制御部30に通知し、上記ステップS100へ戻る。
【0055】
また、タイムサーバ10は、
図4に示す安定歩度推定処理ルーチンを実行する。
【0056】
まず、ステップS120において、安定歩度推定部28は、所定時間だけ(例えば、30分〜1時間)経過したか否かを判定する。所定時間だけ経過すると、ステップS122へ移行する。
【0057】
ステップS122において、自システムクロック制御部30により計算された固有歩度F
Iを取得して、メモリ(図示省略)に格納する。
【0058】
そして、ステップS124において、メモリに格納された過去24時間分の固有歩度F
Iの平均値を計算し、ステップS126において、計算された固有歩度F
Iの平均値を、安定歩度F
stab_newとして、自システムクロック制御部30に通知し、上記ステップS120へ戻る。
【0059】
また、タイムサーバ10は、時差管理部26又は安定歩度推定部28からの通知が、自システムクロック制御部30に入力される毎に、
図5に示す通知処理ルーチンを実行する。
【0060】
まず、ステップS130において、通知された内容が、現在の時差であるか、安定歩度であるか、通信途絶であるかを判定する。
【0061】
通知された内容が現在の時差である場合、ステップS132において、上記(1)式に従って、通知された時差T
offs_nowで、現在の時差T
offsを更新し、現在の時差T
offsに基づいて、固有歩度F
Iを更新し、安定時差T
offs_stabを、通知された時差T
offs_nowで更新する。
【0062】
通知された内容が安定歩度である場合、ステップS134において、上記(3)式に従って、安定歩度F
stabを、新たに通知された安定歩度F
stab_newで更新する。
【0063】
また、通信途絶が通知された場合に、ステップS136において、上記(2)式に従って、現在の時差T
offsを、安定時差T
offs_stabで更新すると共に、固有歩度F
Iを、安定歩度F
stabで更新する。
【0064】
また、タイムサーバ10は、
図6に示す通常時用推定時差計算処理ルーチンを、1秒毎に繰り返し実行する。
【0065】
まず、ステップS140において、自クロック調整部34は、通知処理部32により更新された現在の時差T
offs又は前回推定された1秒後の時差を、現在の時差T
offsとして取得する。
【0066】
ステップS142では、上記(4)式に従って、上記ステップS140で取得した現在の時差T
offsに基づいて、参照クロックとの時差を解消するための時差解消歩度F
Pを計算する。
【0067】
そして、ステップS144では、上記(5)式に従って、上記ステップS142で計算された時差解消歩度F
P、及び上記ステップS132又はステップS136で更新された固有歩度F
Iに基づいて、自クロックの現在の歩度Fを決定して、自システムクロック部22へ出力する。また、ステップS146で、上記(5)式に従って、時差解消歩度F
Pと、固有歩度F
Iと、上記ステップS140で取得した現在の時差T
offsとに基づいて、1秒後の時差T
offsを推定して、上記ステップS140へ戻る。
【0068】
また、タイムサーバ10は、
図7に示す通信途絶時用推定時差計算処理ルーチンを、1秒毎に繰り返し実行する。
【0069】
まず、ステップS150において、自クロック調整部34は、通知処理部32により更新された安定時差T
offs_stab又は前回推定された1秒後の安定時差T
offs_stabを、現在の安定時差T
offs_stabとして取得する。また、上記ステップS134で更新された安定歩度F
stabを取得する。
【0070】
ステップS152では、上記ステップS144で決定された現在の歩度Fを取得する。
【0071】
そして、ステップS154では、上記(6)式に従って、上記ステップS150で取得した安定歩度F
stab及び現在の安定時差T
offs_stabと、上記ステップS152で取得した現在の歩度Fとに基づいて、1秒後の安定時差T
offs_stabを推定して、上記ステップS150へ戻る。
【0072】
上記の各種処理ルーチンを実行することにより、
図8に示すように、歩度の調整により現在の時差T
offsを0に向かわせているつもりと並行して、安定時差T
offs_stabで真の時差x(t)の挙動を推定している。
【0073】
このとき、通信途絶を検出した後に、固有歩度F
Iを安定歩度F
stabで更新することに加えて、現在の時差T
offsを、安定時差T
offs_stabで更新することで、真の時差を正しく0に向かわせるように歩度調整することができる。
【0074】
また、タイムサーバ10は、自システムクロック部22から逐次出力された時刻情報を、クライアント端末18に配信する。
【0075】
以上説明したように、本発明の実施の形態に係るタイムサーバによれば、通信途絶を検出した場合に、現在の時差を、現在の時差の時系列を考慮した安定時差で更新すると共に、固有歩度を、固有歩度の時系列を考慮した安定歩度で更新することにより、参照クロックからの時刻情報を受信できなくなったことが検出されるまでに時間を要する場合であっても、現在の時差を0に向かわせるように、適切にクロックを調整することができる。
【0076】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0077】
例えば、上述した実施の形態では、現在の時差の取得失敗が連続8回である場合には、参照クロック発信装置との通信途絶を検出する場合を例に説明したが、これに限定されるものではなく、8回以外の所定回数連続して現在の時差の取得が失敗した場合には、参照クロック発信装置16との通信途絶を検出してもよい。また、回数ではなく、所定時間、現在の時差の取得失敗が続いた場合に、参照クロック発信装置16との通信途絶を検出してもよい。
【課題】参照クロックからの時刻情報を受信できなくなったことが検出されるまでに時間を要する場合であっても、適切にクロックを調整することができるクロック調整装置及びプログラムを提供する。
【解決手段】タイムサーバ10では、時差管理部26によって通信途絶を検出した場合に、通知処理部32によって、現在の時差を、現在の時差の時系列を考慮した安定時差で更新すると共に、固有歩度を、固有歩度の時系列を考慮した安定歩度で更新する。自クロック調整部34は、現在の時差に基づいて、時差解消歩度を計算し、時差解消歩度、及び固有歩度に基づいて、自システムクロック部22に対する現在の歩度を決定して、自システムクロック部22へ出力する。