(57)【要約】【課題】時刻の後戻りを発生させることなく、時刻の補正に要する時間をより短縮する技術を提供すること。【解決手段】基準時刻を計時する基準時計部１１と、装置時刻を計時する装置時計部１２と、チェック時刻を検出するチェック時刻検出部１３と、チェック時刻になると、基準時刻および装置時刻を比較し、装置時刻が基準時刻より遅れている場合、基準時刻を装置時計部１２に入力して装置時刻とし、装置時刻が基準時刻より進んでいる場合、基準時刻および装置時刻の差分の期間だけ、装置時計部１２による計時を停止させる時刻補正部１４とを備える。【選択図】図１
2015059851.tif 000002
【特許請求の範囲】
【請求項１】
基準時刻を計時する基準時計部と、
装置時刻を計時する装置時計部と、
時刻補正処理を行うか否かをチェックするよう設定されたチェック時刻になったことを検出するチェック時刻検出部と、
前記チェック時刻に、前記基準時刻および前記装置時刻を比較し、前記装置時刻が前記基準時刻より遅れている場合、前記基準時刻を前記装置時計部に入力して前記装置時刻とし、前記装置時刻が前記基準時刻より進んでいる場合、前記基準時刻および前記装置時刻の差分の期間だけ、前記装置時計部による計時を停止させる時刻補正部と、
を備えた時刻補正装置。
【請求項２】
次の前記チェック時刻までに閏秒の発生予定があることを検出すると、その発生予定時刻を新たなチェック時刻として前記チェック時刻検出部に設定し、前記閏秒の発生予定内容に基づいて、前記基準時刻を補正する閏秒補正部をさらに備え、
前記時刻補正部は、前記基準時刻として、前記閏秒補正部によって補正された基準時刻を用いることを特徴とする請求項１に記載の時刻補正装置。
【請求項３】
前記時刻補正部は、前記装置時計部の計時停止中に前記装置時刻の読み出し要求があると、前記装置時計部に保持される装置時刻を所定単位だけ進めるとともに、前記装置時計部の計時停止期間を前記所定単位だけ延長させることを特徴とする請求項１または請求項２に記載の時刻補正装置。
【請求項４】
基準時刻を計時する基準時計部と、装置時刻を計時する装置時計部とを用いて、
設定されたチェック時刻になると、前記基準時刻および前記装置時刻を比較し、前記装置時刻が前記基準時刻より遅れている場合、前記基準時刻を前記装置時計部に入力して前記装置時刻とし、前記装置時刻が前記基準時刻より進んでいる場合、前記基準時刻および前記装置時刻の差分の期間だけ、前記装置時計部による計時を停止させる、時刻補正方法。
【請求項５】
次の前記チェック時刻までに閏秒の発生予定があることを検出すると、その発生予定時刻を新たなチェック時刻として設定し、
前記閏秒の発生予定内容に基づいて、前記基準時刻を補正し、
前記チェック時刻になると行う処理において、前記基準時刻として、前記閏秒の発生予定内容に基づいて補正された基準時刻を用いることを特徴とする請求項４に記載の時刻補正方法。
【請求項６】
前記装置時計部の計時停止中に前記装置時刻の読み出し要求があると、前記装置時計部に保持される装置時刻を所定単位だけ進めるとともに、前記装置時計部の計時停止期間を前記所定単位だけ延長させることを特徴とする請求項４または請求項５に記載の時刻補正方法。
【請求項７】
基準時刻を計時する基準時計部と、装置時刻を計時する装置時計部とを用いて、
時刻補正処理を行うか否かをチェックするよう設定されたチェック時刻になったことを検出するチェック時刻検出ステップと、
前記チェック時刻に、前記基準時刻および前記装置時刻を比較し、前記装置時刻が前記基準時刻より遅れている場合、前記基準時刻を前記装置時計部に入力して前記装置時刻とし、前記装置時刻が前記基準時刻より進んでいる場合、前記基準時刻および前記装置時刻の差分の期間だけ、前記装置時計部による計時を停止させる時刻補正ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【請求項８】
次の前記チェック時刻までに閏秒の発生予定があることを検出すると、その発生予定時刻を新たなチェック時刻として設定し、前記閏秒の発生予定内容に基づいて、前記基準時刻を補正する閏秒補正ステップをさらに前記コンピュータ装置に実行させ、
前記時刻補正ステップにおいて、前記基準時刻として、前記閏秒の発生予定内容に基づいて補正された基準時刻を用いることを特徴とする請求項７に記載のコンピュータ・プログラム。
【請求項９】
前記時刻補正ステップにおいて、前記装置時計部の計時停止中に前記装置時刻の読み出し要求があると、前記装置時計部に保持される装置時刻を所定単位だけ進めるとともに、前記装置時計部の計時停止期間を前記所定単位だけ延長させることを特徴とする請求項７または請求項８に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムにおける時刻を補正する技術に関する。
【背景技術】
【０００２】
コンピュータ・システムにおいて、内部に保持している時刻に後戻りが発生すると、動作に不具合を起こす可能性がある。したがって、このようなコンピュータ・システムでは、内部の時刻と実時刻とに差がある場合、時刻の後戻りが発生しないように補正するのが通常である。
【０００３】
このような時刻の補正に、ＮＴＰ（Network Time Protocol）を用いることがよく知られている。ＮＴＰでは、時刻を徐々に同期させるｓｌｅｗモードが用意されている。ＮＴＰクライアントは、ｓｌｅｗモードを指定することにより、ＮＴＰサーバから通知される実時刻より内部の時刻が進んでいる場合でも、時刻を後戻りさせることなく補正することが可能である。
【０００４】
また、このような時刻の補正に関連する技術が、特許文献１に記載されている。この関連技術は、内部の時刻と実時刻との誤差に応じて、内部の時刻を計時するパルス信号の周期を可変とする。具体的には、この関連技術は、誤差がない場合、通常周期のパルスを発生する通常パルス発生器を選択して時刻装置に入力する。また、この関連技術は、内部の時刻が実時刻より遅れていれば、通常周期より短い（例えば１／２倍の）パルスを発生する遅れ補正用パルス発生器を選択して時刻装置に入力する。また、この関連技術は、内部の時刻が実時刻より進んでいれば、通常周期より長い（例えば２倍の）パルスを発生する進み補正用パルス発生器を選択して時刻装置に入力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特公昭６２−３７３５４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の関連技術には、以下の課題がある。
【０００７】
一般的に利用されているＮＴＰの場合、ｓｌｅｗモードにおける補正は、毎秒０．５ｍｓ（ミリ秒）ずつと定められている。したがって、例えば、内部の時刻と実時刻との間に１秒の誤差が生じている場合、ＮＴＰクライアントは、時刻の補正を完了させるまでに２０００秒（３３分２０秒）を要する。例えば、内部の時刻と実時刻とに誤差がない状態で閏秒が発生したことを想定する。この場合、ＮＴＰクライアントは、閏秒による１秒の誤差が発生してから３３分２０秒間、実時刻との誤差を解消できない状態となる。
【０００８】
また、特許文献１に記載された関連技術は、内部の時刻が実時刻より進んでいる場合、通常の周期より長いパルスを時刻装置に入力するため、誤差の解消までに、誤差よりも長い時間を要する。例えば、進み補正用パルス発生器が、通常の２倍の周期のパルスを発生する場合、この関連技術は、１秒の進みを補正するまでに２秒の補正時間を要する。
【０００９】
このように、これらの関連技術では、時刻の補正に要する時間が長いという課題があった。
【００１０】
本発明は、上述の課題を解決するためになされたもので、時刻の後戻りを発生させることなく、時刻の補正に要する時間をより短縮する技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の時刻補正装置は、基準時刻を計時する基準時計部と、装置時刻を計時する装置時計部と、時刻補正処理を行うか否かをチェックするよう設定されたチェック時刻になったことを検出するチェック時刻検出部と、前記チェック時刻に、前記基準時刻および前記装置時刻を比較し、前記装置時刻が前記基準時刻より遅れている場合、前記基準時刻を前記装置時計部に入力して前記装置時刻とし、前記装置時刻が前記基準時刻より進んでいる場合、前記基準時刻および前記装置時刻の差分の期間だけ、前記装置時計部による計時を停止させる時刻補正部と、を備える。
【００１２】
また、本発明の時刻補正方法は、基準時刻を計時する基準時計部と、装置時刻を計時する装置時計部とを用いて、設定されたチェック時刻になると、前記基準時刻および前記装置時刻を比較し、前記装置時刻が前記基準時刻より遅れている場合、前記基準時刻を前記装置時計部に入力して前記装置時刻とし、前記装置時刻が前記基準時刻より進んでいる場合、前記基準時刻および前記装置時刻の差分の期間だけ、前記装置時計部による計時を停止させる。
【００１３】
また、本発明のコンピュータ・プログラムは、基準時刻を計時する基準時計部と、装置時刻を計時する装置時計部とを用いて、時刻補正処理を行うか否かをチェックするよう設定されたチェック時刻になったことを検出するチェック時刻検出ステップと、前記チェック時刻に、前記基準時刻および前記装置時刻を比較し、前記装置時刻が前記基準時刻より遅れている場合、前記基準時刻を前記装置時計部に入力して前記装置時刻とし、前記装置時刻が前記基準時刻より進んでいる場合、前記基準時刻および前記装置時刻の差分の期間だけ、前記装置時計部による計時を停止させる時刻補正ステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００１４】
本発明は、時刻の後戻りを発生させることなく、時刻の補正に要する時間をより短縮する技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態としての時刻補正装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態としての時刻補正装置の動作を説明するフローチャートである。
【図３】本発明の第２の実施の形態としての時刻補正装置の構成を示すブロック図である。
【図４】本発明の第２の実施の形態における時刻補正部の構成の一例を説明するブロック図である。
【図５】本発明の第２の実施の形態としての時刻補正装置の時刻補正動作を説明するフローチャートである。
【図６】本発明の第２の実施の形態としての時刻補正装置の装置時刻読み出し応答動作を説明するフローチャートである。
【図７】本発明の第２の実施の形態としての時刻補正装置が装置時刻の遅れを補正する動作の一例を説明する図である。
【図８】本発明の第２の実施の形態としての時刻補正装置が装置時刻の進みを補正する動作の一例を説明する図である。
【図９】本発明の第２の実施の形態としての時刻補正装置が閏秒の挿入による装置時刻の進みを補正する動作の一例を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１７】
（第１の実施の形態）
本発明の第１の実施の形態としての時刻補正装置１の構成を図１に示す。図１において、時刻補正装置１は、基準時計部１１と、装置時計部１２と、チェック時刻検出部１３と、時刻補正部１４とを含む。
【００１８】
基準時計部１１は、基準時刻を計時する。基準時刻とは、後述の装置時計部１２における装置時刻を補正する際に基準となる時刻である。例えば、基準時計部１１は、任意のタイミングで外部のＮＴＰサーバから受信される時刻データに基づいて計時を行うことにより、基準時刻を表す情報を生成してもよい。また、基準時計部１１は、図示しないパルス発生器から入力されるクロック信号により計時を行う。
【００１９】
装置時計部１２は、自装置における時刻（装置時刻）を計時する。また、装置時計部１２は、図示しないパルス発生器から入力されるクロック信号により計時を行う。
【００２０】
チェック時刻検出部１３は、後述の時刻補正部１４により次に時刻補正処理を実行する時刻（チェック時刻）を保持する。そして、チェック時刻検出部１３は、基準時刻が、保持しているチェック時刻になったことを検出し、時刻補正部１４に通知する。例えば、チェック時刻検出部１３は、基準時計部１１における基準時刻が、保持しているチェック時刻に等しくなると、時刻補正部１４に、チェック時刻になったことを表す信号を送信するようにしてもよい。
【００２１】
時刻補正部１４は、チェック時刻になると、基準時刻および装置時刻を比較し、比較結果に基づき時刻補正処理を行うよう構成される。具体的には、時刻補正部１４は、装置時刻が基準時刻より遅れている場合、基準時刻を、装置時計部１２に入力して装置時刻とする。また、時刻補正部１４は、装置時刻が基準時刻より進んでいる場合、基準時刻および装置時刻の差分の期間だけ、装置時計部１２による計時を停止させる。
【００２２】
以上のように構成された時刻補正装置１の動作について、図２を参照して説明する。
【００２３】
図２では、まず、チェック時刻検出部１３は、基準時刻がチェック時刻になると、時刻補正部１４に対して信号を送出する（ステップＳ１でＹｅｓ）。
【００２４】
次に、時刻補正部１４は、基準時刻および装置時刻を比較する（ステップＳ２）。
【００２５】
ここで、装置時刻が基準時刻より遅れている場合、時刻補正部１４は、基準時刻を装置時計部１２に入力し、装置時刻とする（ステップＳ３）。
【００２６】
一方、装置時刻が基準時刻より進んでいる場合、時刻補正部１４は、基準時刻および装置時刻の差分の期間だけ、装置時計部１２による計時を停止させる（ステップＳ４）。
【００２７】
以上で、時刻補正装置１の動作の説明を終了する。
【００２８】
次に、本発明の第１の実施の形態の効果について述べる。
【００２９】
本発明の第１の実施の形態としての時刻補正装置は、時刻の後戻りを発生させることなく、時刻の補正に要する時間をより短縮することができる。
【００３０】
その理由は、基準時計部が基準時刻を計時し、装置時計部が装置時刻を計時し、チェック時刻検出部が、基準時刻がチェック時刻になったことを検出すると、時刻補正部が、基準時刻および装置時刻を比較し、装置時刻が基準時刻より遅れている場合、基準時刻を装置時計部に入力して装置時刻とし、装置時刻が基準時刻より進んでいる場合、基準時刻および装置時刻の差分の期間だけ、装置時計部による計時を停止させるからである。
【００３１】
これにより、本実施の形態は、装置時刻が基準時刻より遅れている場合は、即時に装置時刻を基準時刻に補正することができる。また、本実施の形態は、装置時刻が基準時刻より進んでいる場合は、その差分期間で装置時刻を基準時刻に補正することができる。その結果、本実施の形態は、基準時刻および装置時刻の差分より長い時間を補正に要する前述の関連技術と比べて、補正に要する時間を大幅に短縮することができる。
【００３２】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００３３】
本発明の第２の実施の形態としての時刻補正装置２の構成を図３に示す。図３において、時刻補正装置２は、本発明の第１の実施の形態としての時刻補正装置１に対して、時刻補正部１４に替えて時刻補正部２４を備え、さらに、閏秒補正部２５を備える点が異なる。
【００３４】
閏秒補正部２５は、次のチェック時刻までに閏秒の発生予定があることを検出すると、その発生予定時刻を新たなチェック時刻として、チェック時刻検出部１３に設定する。そして、閏秒補正部２５は、基準時計部１１から出力される基準時刻を、閏秒の発生予定内容に基づいて補正する。
【００３５】
例えば、閏秒補正部２５は、ＮＴＰサーバから受信される時刻データ（ＮＴＰパケット）に含まれるＬＩ（Leap Indicator)ビットに基づいて、閏秒の挿入および削除のいずれかが発生するかを検出可能である。また、閏秒補正部２５は、ＬＩビットが設定されたＮＴＰパケットの示す時刻に基づいて、閏秒の発生予定時刻を検出可能である。これは、閏秒の挿入または削除が、ＵＴＣ（Coordinated Universal Time）における１日の最後の秒で発生することと、ＬＩビットが２４時間前から設定されることとによる。
【００３６】
また、閏秒補正部２５は、閏秒の挿入があることを検出した場合、基準時計部１１から出力される基準時刻から１秒減算した値を、閏秒補正後の時刻として出力すればよい。また、閏秒補正部２５は、閏秒の削除があることを検出した場合、基準時計部１１から出力される基準時刻に対して１秒加算した値を、閏秒補正後の時刻として出力すればよい。
【００３７】
なお、閏秒補正部２５は、閏秒の発生予定を検出しない場合は、基準時計部１１から出力される基準時刻をそのまま出力すればよい。
【００３８】
時刻補正部２４は、本発明の第１の実施の形態における時刻補正部１４と略同様に構成されるが、以下の２点が異なる。
【００３９】
時刻補正部２４は、基準時刻および装置時刻の比較結果に基づいて動作する際に、基準時刻として、閏秒補正部２５によって補正された基準時刻を用いる。
【００４０】
また、時刻補正部２４は、装置時計部１２による計時の停止中に装置時計部１２に対する装置時刻の読み出し要求があると、次のように動作するよう構成される。具体的には、時刻補正部２４は、装置時計部１２にその時点で保持されている装置時刻を所定単位だけ進めてから読み出し要求に応答させる。そして、時刻補正部２４は、装置時計部１２による計時の停止期間を、装置時計部１２において装置時刻を進めたのと同じ長さだけ延長させる。
【００４１】
例えば、時刻補正部２４は、図４に示すように構成されていてもよい。図４において、時刻補正部２４は、比較器２４１と、タイマ入力セレクタ２４２と、タイマ２４３と、比較器２４４と、クロックセレクタ２４５と、装置時計部入力セレクタ２４６とを含む。なお、図４では、図面の都合上、時刻補正部２４を示す破線の図形の内部に装置時計部１２を示しているが、本発明の時刻補正部が装置時計部を含むことを必ずしも示すものではない。
【００４２】
比較器２４１は、チェック時刻検出部１３からチェック時刻の検出信号（ｅｎａｂｌｅ信号）が入力されると、閏秒補正部２５から出力される基準時刻および装置時計部１２から出力される装置時刻を比較する。そして、比較器２４１は、装置時刻が基準時刻より遅れていることを表す遅れ信号または進んでいることを表す進み信号と、進んでいる場合の基準時刻および装置時刻の差分を表す信号とを出力する。なお、比較器２４１は、基準時刻および装置時刻が等しい場合には、これらの信号を出力しなければよい。
【００４３】
タイマ入力セレクタ２４２は、比較器２４１からの進み信号および差分信号、または、タイマ２４３のタイマ値に対する加算信号および減算信号を、タイマ２４３に入力する。
【００４４】
タイマ２４３は、比較器２４１からの差分信号の示す差分をタイマ値の初期値として、タイマ値が０となるまで減算を行う。また、タイマ２４３は、タイマ値を、比較器２４４に出力する。また、タイマ２４３は、タイマ値の減算中に装置時刻読み出し信号が入力されると、タイマ値を所定単位だけ加算する。図４では、装置時刻の動作周波数１ＫＨｚに対応する時刻の最小単位１ｍｓを所定単位として加算している。
【００４５】
比較器２４４は、タイマ値が０より大きい場合に、クロック停止信号をクロックセレクタ２４５に入力する。また、比較器２４４は、タイマ値が０より大きい場合に、タイマ２４３に、減算を続けることを示す減算信号（図４では、「−１ｍｓ（ミリ秒）」）を出力する。
【００４６】
クロックセレクタ２４５は、外部から入力されるクロック信号（図４では、１ＫＨｚ（キロヘルツ））を、装置時計部入力セレクタ２４６を介して装置時計部１２に出力する。これにより、装置時計部１２は、装置時刻を１ｍｓずつ歩進して計時を行う。また、クロックセレクタ２４５は、比較器２４４からのクロック停止信号が入力されると、クロック信号を出力しない。これにより、装置時計部１２は、装置時刻の計時を停止する。また、クロックセレクタ２４５は、クロック停止信号が入力されるときに、装置時刻読み出し信号が入力されると、クロック信号を１回分出力する。これにより、装置時計部１２は、計時の停止中であっても、装置時刻読み出し要求に応じて、装置時刻を、時刻の最小単位（図４では１ｍｓ）だけ歩進する。
【００４７】
装置時計部入力セレクタ２４６は、比較器２４１からの遅れ信号が入力されると、閏秒補正部２５からの基準時刻を、装置時計部１２に対して出力する。これにより、装置時計部１２の保持する装置時刻は、基準時刻と同一になる。
【００４８】
以上のように構成された時刻補正装置２の動作について、図５〜図６を参照して説明する。
【００４９】
まず、時刻補正装置２の時刻補正処理を図５に示す。
【００５０】
図５では、まず、閏秒補正部２５は、チェック時刻検出部１３に設定されているチェック時刻までの間に、閏秒の発生予定があることを検出する（ステップＳ１１でＹｅｓ）。前述のように、閏秒補正部２５は、外部から受信されるＮＴＰパケットのＬＩビットに基づいて、閏秒の発生予定を検出してもよい。
【００５１】
次に、閏秒補正部２５は、閏秒の発生予定時刻を新たなチェック時刻として、チェック時刻検出部１３に設定する。また、閏秒補正部２５は、閏秒の発生予定内容（挿入または削除）に基づいて、基準時計部１１から出力される基準時刻に対する補正を行う（ステップＳ１２）。前述のように、閏秒補正部２５は、閏秒の挿入がある場合、基準時刻から１秒減算した値を出力し、閏秒の削除がある場合、基準時刻に対して１秒加算した値を出力すればよい。
【００５２】
次に、チェック時刻検出部１３は、閏秒補正部２５から出力される基準時刻がチェック時刻になると、時刻補正部２４に対してｅｎａｂｌｅ信号を送出する（ステップＳ１３でＹｅｓ）。
【００５３】
次に、時刻補正部２４は、閏秒補正後の基準時刻および装置時刻を比較する（ステップＳ１４）。
【００５４】
具体的には、比較器２４１は、閏秒補正部２５から出力される基準時刻および装置時計部１２から出力される装置時刻を比較し、比較結果として、進み信号または遅れ信号と、進んでいる場合は差分信号とを出力する。なお、前述のように、比較器２４１は、基準時刻および装置時刻が等しい場合には、これらの信号を出力しない。
【００５５】
ここで、装置時刻が、閏秒補正部２５からの基準時刻より遅れている場合、時刻補正部２４は、閏秒補正部２５からの基準時刻を装置時計部１２に入力し、装置時刻とする（ステップＳ１５）。
【００５６】
具体的には、比較器２４１から遅れ信号が出力されて装置時計部入力セレクタ２４６に入力されると、装置時計部入力セレクタ２４６は、閏秒補正部２５からの基準時刻を、装置時計部１２に対して出力する。
【００５７】
一方、装置時刻が、閏秒補正部２５からの基準時刻より進んでいる場合、時刻補正部２４は、閏秒補正部２５からの基準時刻および装置時刻の差分の期間だけ、装置時計部１２による計時を停止させる（ステップＳ１６）。
【００５８】
具体的には、比較器２４１から進み信号および差分信号がタイマ入力セレクタ２４２を介してタイマ２４３に入力されると、タイマ２４３は、差分信号を初期値としてタイマ値が０になるまで減算を開始する。そして、比較器２４４は、タイマ値が０より大きい場合、クロック停止信号をクロックセレクタ２４５に出力し、装置時計部１２へのクロックの供給を停止する。そして、タイマ２４３のタイマ値が０になると、比較器２４４は、クロック停止信号の出力を停止し、装置時計部１２へのクロックの供給を開始させる。
【００５９】
以上で、時刻補正処理の説明を終了する。
【００６０】
次に、時刻補正装置２の装置時刻読み出し応答処理を図６に示す。
【００６１】
図６では、まず、時刻補正部２４は、装置時刻の読み出し要求を受信する（ステップＳ２１でＹｅｓ）。
【００６２】
次に、時刻補正部２４は、装置時計部１２による計時を停止中である場合（ステップＳ２２でＹｅｓ）、装置時計部１２に保持されている装置時刻を所定単位だけ進めるとともに、計時の停止期間を所定単位だけ延長する（ステップＳ２３）。
【００６３】
具体的には、タイマ２４３は、タイマ値が０より大きいときに装置時刻読み出し信号を受信すると、タイマ値を所定単位だけ加算する。ここで、タイマ２４３は、タイマ値を減算中であるため、減算を行うとともに加算を行うことになる。したがって、タイマ値は、プラスマイナス０となり変化しない。
【００６４】
そして、時刻補正装置２は、ステップＳ２３で所定単位だけ進んだ装置時刻を応答すればよい。
【００６５】
以上で、装置時刻読み出し応答処理の説明を終了する。
【００６６】
次に、時刻補正装置２の動作を具体例で示す。ここでは、基準時計部１１および装置時計部１２の動作周波数は１ＫＨｚであるものとする。
【００６７】
＜閏秒の発生がなく、装置時刻が基準時刻より遅れている場合の動作例＞
まず、閏秒の発生がなく、装置時刻が基準時刻より１秒遅れている場合の時刻補正装置２の動作について、図７を参照して説明する。なお、閏秒の発生が検出されないため、閏秒補正部２５から出力される基準時刻は、基準時計部１１が計時する補正前の基準時刻と同一である。
【００６８】
ここで、チェック時刻検出部１３には、チェック時刻として、９時００分００秒０００ｍｓ（以下、ミリ秒単位の数値を省略し、９：００：００と記載する）が設定されているものとする。
【００６９】
まず、基準時刻が９：００：００になると、チェック時刻検出部１３は、比較器２４１へｅｎａｂｌｅ信号を出力する（ステップＳ１３でＹｅｓ）。
【００７０】
次に、比較器２４１は、装置時刻（８：５９：５９）と基準時刻（９：００：００）とを比較し、遅れ信号を出力する（ステップＳ１４で「遅れている」）。
【００７１】
そして、装置時計部入力セレクタ２４６は、閏秒補正部２５からの基準時刻を装置時計部１２に出力し、装置時計部１２は、基準時刻を装置時刻として計時を続ける（ステップＳ１５）。
【００７２】
その結果、装置時計部１２の装置時刻は、基準時計部１１の基準時刻と同一となり、装置時計部１２の遅れが補正される。
【００７３】
＜閏秒の発生がなく、装置時刻が基準時刻より進んでいる場合の動作例＞
次に、閏秒の発生がなく、装置時刻が基準時刻より２秒進んでいる場合の時刻補正装置２の動作について、図８を参照して説明する。なお、上述の具体例と同様に、閏秒の発生が検出されないため、閏秒補正部２５から出力される基準時刻は、基準時計部１１が計時する補正前の基準時刻と同一である。
【００７４】
また、上述の具体例と同様に、チェック時刻検出部１３には、チェック時刻として、９：００：００が設定されているものとする。
【００７５】
まず、基準時刻が９：００：００になると、チェック時刻検出部１３は、比較器２４１へｅｎａｂｌｅ信号を出力する（ステップＳ１３でＹｅｓ）。
【００７６】
次に、比較器２４１は、装置時刻（９：００：０２）と基準時刻（９：００：００）とを比較し、進み信号と、基準時刻および装置時刻の差分（２秒）を表す差分信号とを出力する（ステップＳ１４で「進んでいる」）。
【００７７】
そして、タイマ２４３は、差分（２秒）をタイマ値の初期値として１ｍｓの減算を開始する。また、比較器２４４は、タイマ２４３から出力されるタイマ値の値が０より大きい間、クロック停止信号を出力して、装置時計部１２へのクロック信号の供給を停止する（ステップＳ１６）。このため、装置時計部１２は、１ｍｓずつの歩進を停止する。そして、比較器２４４は、タイマ２４３から出力されるタイマ値の値が０となった時点で、クロック停止信号の出力を停止し、装置時計部１２へのクロック信号の供給を開始する。このため、装置時計部１２は、１ｍｓずつの歩進を再開する。
【００７８】
その結果、装置時計部１２は、基準時刻に対して進んでいた２秒間だけ計時を停止することになり、進みが補正される。
【００７９】
＜装置時計部１２の計時停止中に装置時刻の読み出しに応答する場合の動作例＞
次に、装置時計部１２の計時停止中に装置時刻の読み出しがあった場合の動作について説明する。
【００８０】
まず、クロックセレクタ２４５は、計時停止中（クロック停止信号の入力があるとき）に、装置時刻の読み出し信号を受け取ると、装置時計部１２に対して１回分のクロックを供給する。これにより、装置時計部１２は、装置時刻を１ｍｓだけ進める。
【００８１】
同時に、タイマ２４３は、タイマ値を１ｍｓ加算する。ここで、タイマ２４３は、タイマ値の減算（−１ｍｓ）を行っている。したがって、タイマ値は±０ｍｓとなり、タイマ値が０になるまでの期間が１ｍｓ延長される。
【００８２】
このように、装置時計部１２は、計時停止中でも、装置時刻の読み出しごとに、装置時刻を１ｍｓづつ更新するので、装置時刻の読み出しの順序性を保証する。また、タイマ２４３は、計時停止中の装置時刻の読み出しに応じて装置時刻が１ｍｓ更新されるごとに、タイマ期間を１ｍｓずつ延長するので、進みを補正する期間のつじつまがあうことになる。
【００８３】
＜装置時刻および基準時刻の誤差がなく、閏秒の挿入予定がある場合の動作例＞
次に閏秒の発生予定がある場合の動作について、図９を参照して説明する。
【００８４】
まず、閏秒補正部２５は、チェック時刻検出部１３に設定されたチェック時刻までに、閏秒の挿入予定があることを検出する（ステップＳ１１でＹｅｓ）。閏秒の挿入時刻は、９：００：００の直前であるものとする。
【００８５】
そこで、閏秒補正部２５は、チェック時刻検出部１３に、新たなチェック時刻として、閏秒の挿入の発生直後の９：００：００を設定する。また、閏秒補正部２５は、基準時計部１１から出力される基準時刻に、１秒減算した値を出力する（ステップＳ１２）。
【００８６】
そして、閏秒補正部２５から出力される基準時刻が９：００：００になると、チェック時刻検出部１３は、比較器２４１へｅｎａｂｌｅ信号を出力する（ステップＳ１３でＹｅｓ）。
【００８７】
次に、比較器２４１は、装置時刻（９：００：０１）と、閏秒補正部２５から出力される基準時刻（９：００：００）とを比較し、進み信号および差分信号（１秒）を出力する（ステップＳ１４で「進んでいる」）。
【００８８】
次に、タイマ２４３は、差分（１秒）をタイマ値として１ｍｓの減算を開始する。そして、前述の「閏秒の発生がなく、装置時刻が基準時刻より進んでいる場合の動作例」の場合と同様に動作することにより、装置時計部１２は、１ｍｓずつの歩進を１秒間停止し、その後再開する（ステップＳ１６）。
【００８９】
その結果、時刻補正装置２は、実時刻と装置時刻との閏秒の挿入による誤差の補正を、閏秒発生直後に開始し、１秒間で補正を完了することができる。
【００９０】
以上で、具体例の説明を終了する。
【００９１】
次に、本発明の第２の実施の形態の効果について述べる。
【００９２】
本発明の第２の実施の形態としての時刻補正装置は、時刻の後戻りを発生させることなく、閏秒の補正に要する時間をより短縮することができる。
【００９３】
その理由は、閏秒補正部が、次のチェック時刻までに閏秒の発生予定があることを検出すると、その発生予定時刻を新たなチェック時刻としてチェック時刻検出部に設定し、基準時刻を閏秒の発生予定内容に基づいて補正し、時刻補正部が、閏秒補正後の基準時刻と装置時刻との比較に基づいて、装置時刻が閏秒補正後の基準時刻より遅れている場合、閏秒補正後の基準時刻を装置時計部に入力して装置時刻とし、装置時刻が閏秒補正後の基準時刻より進んでいる場合、閏秒補正後の基準時刻および装置時刻の差分の期間だけ、装置時計部による計時を停止させるからである。
【００９４】
これにより、本実施の形態は、閏秒の発生直後に時刻の補正を開始し、閏秒の削除の場合には、即時に、装置時刻を閏秒補正後の基準時刻に補正することができる。また、本実施の形態は、閏秒の発生直後に時刻の補正を開始し、閏秒の挿入の場合には、挿入された閏秒の期間（１秒間）で、装置時刻を、閏秒補正後の基準時刻に補正することができる。
【００９５】
また、本実施の形態は、装置時刻の進みの補正のために装置時計部の計時を停止させながらも、自装置から読み出される装置時刻の順序性を保証することができる。
【００９６】
その理由は、時刻補正部が、装置時刻の進みによる装置時計部の停止中に装置時刻の読み出し要求があると、装置時計部に保持される装置時刻を所定単位だけ進めてから読み出し要求に応答させるとともに、装置時計部の計時停止期間を所定単位だけ延長させるからである。
【００９７】
これにより、本実施の形態は、装置時刻の進みの補正のために装置時計部が計時を停止中であっても、装置時刻の読み出しがあるごとに、装置時刻を所定単位づつ更新する。したがって、本実施の形態は、読み出される装置時刻の順序性を保証する。このとき、本実施の形態は、計時停止中の装置時刻の読み出しに応じて装置時刻が所定単位ずつ更新される度に、計時停止期間を所定単位だけ延長するので、装置時刻の進みを問題なく補正できる。
【００９８】
なお、本実施の形態において、基準時計部および装置時計部の動作周波数を１ＫＨｚとする例を中心に説明したが、これらの時計部の動作周波数を限定するものではない。また、計時停止中に装置時刻の読み出しがあった場合に装置時刻を進める単位を１ｍｓとする例を中心に説明したが、装置時刻を進める所定単位を限定するものではない。
【００９９】
また、本実施の形態において、閏秒補正部が、ＮＴＰパケットに基づいて閏秒の発生予定を検出する例について説明したが、ＮＴＰパケットに限らず、その他の公知の技術により閏秒の発生予定を検出してもよい。
【０１００】
また、上述した本発明の各実施の形態において、基準時計部が、ＮＴＰサーバから受信される時刻データに基づいて基準時刻を計時する例について説明したが、ＮＴＰサーバに限らず、その他の公知の技術により取得可能な時刻に基づいて基準時刻を計時してもよい。
【０１０１】
また、上述した本発明の各実施の形態において、時刻補正装置の各機能ブロックが、ハードウェア要素により構成される例を中心に説明したが、各機能ブロックの一部、全部、または、それらの組み合わせは、メモリに記憶されたコンピュータ・プログラムを実行するプロセッサにより実現されていてもよい。
【０１０２】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した時刻補正装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納しておき、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【０１０３】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０１０４】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【０１０５】
１、２    時刻補正装置
１１    基準時計部
１２    装置時計部
１３    チェック時刻検出部
１４、２４    時刻補正部
２５    閏秒補正部
２４１    比較器
２４２    タイマ入力セレクタ
２４３    タイマ
２４４    比較器
２４５    クロックセレクタ
２４６    装置時計部入力セレクタ
【図１】
2015059851.tif 000003
【図２】
2015059851.tif 000004
【図３】
2015059851.tif 000005
【図４】
2015059851.tif 000006
【図５】
2015059851.tif 000007
【図６】
2015059851.tif 000008
【図７】
2015059851.tif 000009
【図８】
2015059851.tif 000010
【図９】
2015059851.tif 000011