(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
<第1の実施形態>
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の第1の実施形態における時刻供給装置の構成を示す概略構成図である。同図において、時刻供給装置10は、プロセッサ100−1〜100−3と、時刻情報バスW10と、クロックバスW11と、補正情報バスW12とを具備する。プロセッサ100−1は、オシレータ(Oscillator、発振器)110−1と、時刻情報制御部120−1とを具備する。プロセッサ100−2は、オシレータ110−2と、時刻情報制御部120−2とを具備する。プロセッサ100−3は、オシレータ110−3と、時刻情報制御部120−3とを具備する。
【0013】
以下では、プロセッサ100−1〜100−3を総称して「プロセッサ100」と表記する。また、オシレータ110−1〜110−3を総称して「オシレータ110」と表記する。また、時刻情報制御部120−1〜120−3を総称して「時刻情報制御部120」と表記する。
なお、時刻供給装置10が具備するプロセッサの数は、
図1に示す3つに限らず、2以上の任意の個数であってよい。
【0014】
時刻供給装置10は、時刻情報を供給する。ここでいう時刻情報は、現在の時刻を示す情報である。
プロセッサ100は、時刻情報を生成する。複数のプロセッサ100のうち1つが主系となっており、他のプロセッサ100は従系となっている。主系、従系の設定は、例えば時刻供給装置10のユーザ(以下、時刻供給装置のユーザを、単に「ユーザ」と称する)が行う。また、後述するように、時刻供給装置10が主系と従系との切替を行うようにしてもよい。
【0015】
主系のプロセッサ100が生成する時刻情報は、時刻供給装置10が供給する時刻情報として用いられる。一方、従系のプロセッサ100が生成する時刻情報は、主系のプロセッサ100が生成する時刻情報の補正に用いられる。
以下では、主系のプロセッサを「主プロセッサ」と称し、従系のプロセッサを「従プロセッサ」と表記する。
【0016】
オシレータ110は、クロック信号を生成し出力する。
時刻情報制御部120は、オシレータ110からのクロック信号に基づいて時刻情報を生成する。また、時刻情報制御部120は、時刻情報の時刻補正など時刻情報の管理を行う。
【0017】
時刻情報バスW10は、時刻情報を伝送する。
クロックバスW11は、クロック信号を伝送する。クロックバスW11が伝送するクロック信号は、オシレータ110が生成するクロック信号であってもよいし、オシレータ110からのクロック信号に基づいて時刻情報制御部120が生成したクロック信号であってもよい。例えば、クロックバスW11が伝送するクロック信号は、オシレータ110が生成したクロック信号を時刻情報制御部120が間引いた信号であってもよい。あるいは、時刻情報がクロック信号を兼ねる場合、時刻供給装置10がクロックバスW11を備えていなくてもよい。
補正情報バスW12は、時刻情報の時刻を補正するための情報を伝送する。
時刻情報バスW10や、クロックバスW11や、補正情報バスW12は、例えば信号線にて構成される。あるいは、時刻情報バスW10や、クロックバスW11や、補正情報バスW12が無線通信経路として構成されるなど、信号線以外の構成となっていてもよい。
【0018】
図2は、時刻情報制御部120の構成を示す概略構成図である。同図において、時刻情報制御部120は、時刻情報生成部121と、オシレータ情報管理部122と、入出力制御部123と、時刻情報管理部124とを具備する。
時刻情報生成部121は、オシレータ110(
図1)毎に当該オシレータ110の出力するクロック信号に基づいて時刻情報を生成する。具体的には、時刻情報生成部121は、時刻情報生成部121自らと同じプロセッサ100に属するオシレータ110の出力するクロック信号に基づいて、時刻情報の初期値を歩進させることで、現在の時刻情報を生成する。なお、時刻情報の初期値は、例えば、ユーザの時刻合わせ操作または外部時刻を参照しての時刻合わせ処理にて設定される。
【0019】
オシレータ情報管理部122は、オシレータ情報管理部122自らと同じプロセッサ100に属するオシレータ110に関する情報を管理する。特に、オシレータ情報管理部122は、オシレータ110の累積稼働時間をカウントする。
入出力制御部123は、時刻クロックと時刻情報の入出力方向を制御する。より具体的には、入出力制御部123は、主系となっている場合、時刻情報を時刻情報バスW10へ出力し、時刻クロックをクロックバスW11へ出力する。一方、入出力制御部123は、従系となっている場合、主系からの時刻情報および時刻クロックを、それぞれ、時刻情報バスW10およびクロックバスW11から取得する。
このように、入出力制御部123は、オシレータ110のうち主系となっているオシレータ110の出力するクロック信号に基づく時刻情報を出力する。入出力制御部123は、時刻情報出力部の一例に該当する。
【0020】
時刻情報管理部124は、時刻情報管理部124自らを具備するプロセッサ100の内外で生成された時刻情報や、ずれ情報を管理する。ここでいうずれ情報は、主系のプロセッサの生成する時刻情報と、従系のプロセッサの生成する時刻情報との時間差(時刻のずれ)を示す情報である。
特に、時刻情報管理部124は、入出力制御部123の出力する時刻情報の時刻を、複数のオシレータ110のうち累積稼働時間の最も短いオシレータ110の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。時刻情報管理部124は、時刻補正部の一例に該当する。
【0021】
次に
図3を参照して、時刻供給装置10の動作について説明する。
図3は、時刻供給装置10が行う処理の手順を示すフローチャートである。時刻供給装置10は、自らの電源を接続(ON)されて動作状態となると同図の処理を行う。
以下では、プロセッサ100−1が主プロセッサである場合を例に説明する。他のプロセッサが主プロセッサである場合も同様である。
【0022】
図3の処理において、まず、各プロセッサ100の時刻情報生成部121が、時刻情報の生成を開始する(ステップS101)。具体的には、時刻情報生成部121は、オシレータ110の出力するクロック信号に基づいて時刻情報の初期値を歩進させることで、現在の時刻情報を生成する。時刻情報生成部121は、生成した時刻情報を時刻情報管理部124へ出力する。
また、オシレータ情報管理部122は、オシレータ情報管理部122自らと同じプロセッサ100に属するオシレータ110の累積稼働時間を、当該オシレータ110の稼働中にわたってカウントする。
【0023】
次に、主プロセッサ100−1の入出力制御部123は、時刻情報の時刻情報バスW10への送出を開始し、時刻クロックのクロックバスW11への送出を開始する(ステップS102)。従プロセッサ100−2および100−3の入出力制御部123は、それぞれ、主プロセッサ100−1からの時刻情報を、時刻情報バスW10を介して取得し、得られた時刻情報を時刻情報管理部124へ出力する。
【0024】
次に、従プロセッサ100−2および100−3の時刻情報管理部124は、それぞれ、主プロセッサ100−1からの時刻情報と、従プロセッサ100−2または100−3自らが生成する時刻情報とのずれ情報を算出する(ステップS103)。ここで、時刻情報管理部124は、主プロセッサ100−1の時刻情報を補正可能な詳細度のずれ情報を生成する。例えば、時刻情報管理部124が、年月日時分秒と、それ以上の詳細度(例えば1000分の1秒まで)の情報を含むずれ情報を生成する。あるいは、時刻情報管理部124が、時刻クロックの位相差情報を含む時刻情報を生成するようにしてもよい。
【0025】
そして、主プロセッサ100−1の時刻情報管理部124は、補正の契機が発生したか否かを判定する(ステップS104)。ここで、補正の契機として様々な事象を用いることができる。例えば、所定時間経過を補正の契機として、時刻情報管理部124が所定周期毎に補正の契機の発生を検出するようにしてもよい。あるいは、オシレータ110の交換を補正の契機として、何れかのオシレータ110が交換された際に、時刻情報管理部124が補正の契機の発生を検出するようにしてもよい。
【0026】
補正の契機が発生していないと判定した場合(ステップS104:NO)、ステップS103へ戻る。
一方、補正の契機が発生したと判定した場合(ステップS104:YES)、主プロセッサ100−1は、従プロセッサ100−2および100−3の各々に対して、ずれ情報とオシレータ110の累積稼働時間情報とを要求する(ステップS105)。
【0027】
そして、従プロセッサ100−2および100−3は、それぞれ、主プロセッサ100−1からの要求に従って、ずれ情報と、自らの具備するオシレータ110の累積稼働時間情報とを主プロセッサ100−1へ送信する(ステップS106)。
具体的には、時刻情報管理部124が、時刻情報生成部121の生成する自プロセッサの時刻情報と、入出力制御部が取得する主プロセッサの時刻情報との時間差を検出してずれ情報を生成する。また、時刻情報管理部124は、オシレータ情報管理部122がカウントしているオシレータ110の累積稼働時間情報を取得する。そして、時刻情報管理部124は、得られたずれ情報および累積稼働時間情報を、補正情報バスW12を介して主プロセッサ100−1へ送信する。
【0028】
そして、主プロセッサ100−1の時刻情報管理部124は、受信したずれ情報を用いて主プロセッサ100−1自らの時刻情報の時刻補正を行う(ステップS107)。
その際、時刻情報管理部124は、オシレータ110の累積稼働時間情報を参照して、故障していないプロセッサ100のうち、オシレータ110の累積稼働時間が最も短いプロセッサ100を検出する。主プロセッサ100−1のオシレータ110−1の累積稼働時間が最も短い場合は、主プロセッサ100−1自らを、オシレータ110の累積稼働時間が最も短いプロセッサ100として検出する。
【0029】
そして、時刻情報管理部124は、検出したプロセッサ100からの時刻情報の時刻を基準時刻として、基準時刻との時間差(ずれ情報の示す時刻のずれ)を縮小するように、主プロセッサ100−1自らの時刻情報の時刻を補正する。主プロセッサ100−1自らを、オシレータ110の累積稼働時間が最も短いプロセッサ100として検出した場合は、時刻のずれは発生していないことになるので、時刻情報管理部124は、現状のままで時刻補正完了とする。
【0030】
そして、主プロセッサ100−1は、基準時刻との時間差がなくなったところで時刻補正を完了する(ステップS108)。
その後、ステップS103へ戻る。
【0031】
なお、ステップS107において、あるいは、ステップS108の後、累積稼働時間が最も短いオシレータ110を具備するプロセッサ100が主プロセッサとなるように主系と従系との切替を行うようにしてもよい。当該切替によっても、時刻供給装置10の出力する時刻情報(従って、主プロセッサ100の入出力制御部123が出力する時刻情報)の時刻を基準時刻に合わせる時刻補正を行うことができる。
なお、ステップS108の後、従プロセッサ100の時刻情報について、主プロセッサ100の時刻情報の時刻に合わせる時刻補正を行うようにしてもよい。
【0032】
以上のように、時刻情報生成部121は、複数のオシレータ110の各々について、当該オシレータの出力するクロック信号に基づいて時刻情報を生成する。そして、入出力制御部123は、オシレータ110のうち主系となっているオシレータ110の出力するクロック信号に基づく時刻情報を出力する。また、時刻情報管理部124は、入出力制御部123の出力する時刻情報の時刻を、複数のオシレータ110のうち累積稼働時間の最も短いオシレータ110の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。
【0033】
このように、時刻供給装置10は、累積稼働時間の最も短いオシレータ110(従って、経年劣化の度合いが最も小さいオシレータ110)を用いて得られる時刻情報に時刻合わせを行う。これにより、時刻供給装置10は、オシレータ110の精度の経年劣化による時刻情報の精度の低下を軽減させることができる。この点において、時刻供給装置10が供給する時刻情報の精度・信頼性を向上させることができる。
【0034】
<第2の実施形態>
図4は、本発明の第2の実施形態における時刻供給装置の構成を示す概略構成図である。同図において、時刻供給装置20は、プロセッサ200−1〜200−3と、時刻情報バスW10と、クロックバスW11と、補正情報バスW12とを具備する。プロセッサ200−1は、オシレータ110−1と、時刻情報制御部220−1と、外部時刻取得部230−1とを具備する。プロセッサ200−2は、オシレータ110−2と、時刻情報制御部220−2と、外部時刻取得部230−2とを具備する。プロセッサ200−3は、オシレータ110−3と、時刻情報制御部220−3と、外部時刻取得部230−3とを具備する。
【0035】
同図において
図1の各部に対応して同様の機能を有する部分には同一の符号(110−1〜110−3、W10〜W12)を付して説明を省略する。
また、以下では、プロセッサ200−1〜200−3を総称して「プロセッサ200」と表記する。また、時刻情報制御部220−1〜220−3を総称して「時刻情報制御部220」と表記する。また、外部時刻取得部230−1〜230−3を総称して「外部時刻取得部230」と表記する。
なお、時刻供給装置20が具備するプロセッサの数は、
図4に示す3つに限らず、2以上の任意の個数であってよい。
【0036】
時刻供給装置20は、時刻情報を供給する。
プロセッサ200は、時刻情報を生成する。複数のプロセッサ200のうち1つが主系となっており、他のプロセッサ200は従系となっている。主系、従系の設定は、例えばユーザが行う。また、後述するように、時刻供給装置20が主系と従系との切替を行うようにしてもよい。
【0037】
主系のプロセッサ200が生成する時刻情報は、時刻供給装置20が供給する時刻情報として用いられる。一方、従系のプロセッサ200が生成する時刻情報は、主系のプロセッサ200が生成する時刻情報の補正に用いられる。
外部時刻取得部230は、時刻供給装置20の外部から時刻情報を取得する。外部時刻取得部230は、例えば正確な時計から時刻情報を取得するなど、より正確な時刻情報を取得し得る。
【0038】
時刻情報制御部220は、オシレータ110からのクロック信号に基づいて時刻情報を生成する。また、時刻情報制御部220は、時刻情報の時刻補正など時刻情報の管理を行う。
特に、外部時刻取得部230が、時刻供給装置20の外部から時刻情報を取得している場合、時刻情報制御部220は、時刻供給装置20の外部からの時刻情報に基づいて、時刻情報制御部220自らを具備するプロセッサ200の時刻情報の時刻補正を行う。外部時刻取得部230が正確な時刻情報を取得し、時刻情報制御部220が、当該時刻情報に基づいて時刻補正を行うことで、時刻情報制御部220は、高精度な時刻補正を行うことができる。
【0039】
図5は、時刻情報制御部220の構成を示す概略構成図である。同図において、時刻情報制御部220は、時刻情報生成部121と、オシレータ情報管理部122と、入出力制御部123と、時刻情報管理部224とを具備する。
同図において、
図2の各部に対応して同様の機能を有する部分には同一の符号(121〜123)を付して説明を省略する。
【0040】
時刻情報管理部224は、時刻情報管理部224自らを具備するプロセッサ200の内外で生成された時刻情報やずれ情報を管理する。
特に、時刻情報管理部224は、入出力制御部123の出力する時刻情報の時刻を、複数のオシレータ110のうち累積稼働時間の最も短いオシレータ110の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。時刻情報管理部224は、時刻補正部の一例に該当する。
【0041】
さらに、時刻情報管理部224は、外部時刻取得部230(
図4)が時刻供給装置20の外部からの時刻情報を取得しているか否かを判定する。そして、時刻供給装置20の外部からの時刻情報を取得していると判定すると、時刻情報管理部224は、入出力制御部123の出力する時刻情報の時刻を、外部時刻取得部230が取得する時刻供給装置20の外部からの時刻情報の時刻に合わせる時刻補正を行う。
【0042】
次に
図6を参照して、時刻供給装置20の動作について説明する。
図6は、時刻供給装置20が行う処理の手順を示すフローチャートである。時刻供給装置20は、自らの電源を接続(ON)されて動作状態となると同図の処理を行う。
以下では、プロセッサ200−1が主プロセッサである場合を例に説明する。他のプロセッサが主プロセッサである場合も同様である。
【0043】
図6のステップS201〜S204は、
図3のステップS101〜S104と同様である。
ステップS204において、補正の契機が発生したと判定した場合(ステップS204:YES)、主プロセッサ200−1の時刻情報管理部224は、外部時刻を参照可能か否かを判定する(ステップS205)。より具体的には、時刻情報管理部224は、外部時刻取得部230−1が、時刻供給装置20の外部から時刻情報を取得しているか否かを判定する。
【0044】
外部時刻を参照不可と判定した場合(ステップS205:NO)、ステップS206へ進む。ステップS206〜S209は、
図3のステップS105〜S108と同様である。
一方、ステップS205において、外部時刻を参照可能と判定した場合(ステップS205:YES)、主プロセッサ200−1の時刻情報管理部224は、当該外部時刻を基準時刻として主プロセッサ200−1自らの時刻情報の時刻補正を行う(ステップS211)。
【0045】
より具体的には、時刻情報管理部224は、基準時刻(時刻供給装置20の外部から時刻情報の時刻)との時間差を縮小するように、主プロセッサ200−1自らの時刻情報の時刻を補正する。
その後、ステップS209へ進む。
【0046】
なお、ステップS208において、累積稼働時間が最も短いオシレータ110を具備するプロセッサ200が主プロセッサとなるように主系と従系との切替を行うようにしてもよい。当該切替によっても、時刻供給装置20の出力する時刻情報(従って、主プロセッサ200の入出力制御部123が出力する時刻情報)の時刻を基準時刻に合わせる時刻補正を行うことができる。
【0047】
なお、ステップS209の後、従プロセッサ200−2および200−3の時刻情報について、主プロセッサ200−1の時刻情報の時刻に合わせる時刻補正を行うようにしてもよい。あるいは、従プロセッサ200−2または200−3が時刻供給装置20の外部からの時刻情報を取得可能な場合、当該時刻情報に基づいて、従プロセッサ200−2または200−3の時刻情報の時刻補正を行うようにしてもよい。
【0048】
以上のように、外部時刻取得部230は、時刻供給装置20の外部からの時刻情報を取得する。そして、時刻情報管理部224は、外部時刻取得部230が時刻供給装置20の外部からの時刻情報を取得しているか否かを判定する。取得していると判定した場合、時刻情報管理部224は、入出力制御部123の出力する時刻情報(従って、時刻供給装置20の供給する時刻情報)の時刻を、時刻供給装置20の外部からの時刻情報の時刻に合わせる時刻補正を行う。
外部時刻取得部230が正確な時刻情報を取得し、時刻情報管理部224が、当該時刻情報に基づいて時刻補正を行うことで、時刻情報管理部224は、高精度な時刻補正を行うことができる。
【0049】
<第3の実施形態>
図7は、本発明の第3の実施形態における時刻供給装置の構成を示す概略構成図である。同図において、時刻供給装置30は、プロセッサ300を具備する。プロセッサ300は、オシレータ110aおよび110bと、時刻情報制御部320とを具備する。
以下では、オシレータ110aと110bとを総称して「オシレータ110」と表記する。
なお、時刻供給装置30が具備するオシレータ110の数は、
図7に示す2つに限らず、2以上の任意の個数であってよい。
【0050】
時刻供給装置30は、時刻情報を供給する。プロセッサ300は、時刻供給装置30が供給する時刻情報を生成する。
オシレータ110は、クロック信号を生成し出力する。複数のオシレータ110のうち1つが主系となっており、他のオシレータ110は従系となっている。主系、従系の設定は、例えばユーザが行う。また、後述するように、時刻供給装置30が主系と従系との切替を行うようにしてもよい。
時刻情報制御部320は、オシレータ110からのクロック信号に基づいて時刻情報を生成する。また、時刻情報制御部320は、時刻情報の時刻補正など時刻情報の管理を行う。
【0051】
図8は、時刻情報制御部320の構成を示す概略構成図である。同図において、時刻情報制御部320は、時刻情報生成部321と、オシレータ情報管理部322と、時刻情報管理部324とを具備する。
時刻情報生成部321は、オシレータ110(
図7)毎に、当該オシレータ110の出力するクロック信号に基づいて時刻情報を生成する。具体的には、時刻情報生成部321は、プロセッサ300の具備するオシレータ110の各々について、当該オシレータ110の出力するクロック信号に基づいて、時刻情報の初期値を歩進させることで、現在の時刻情報を生成する。なお、時刻情報の初期値は、例えば、ユーザの時刻合わせ操作または外部時刻を参照しての時刻合わせ処理にて設定される。
【0052】
オシレータ情報管理部322は、オシレータ110毎に、当該オシレータ110に関する情報を管理する。特に、オシレータ情報管理部322は、オシレータ110の累積稼働時間をカウントする。
時刻情報管理部324は、時刻情報生成部321が生成した時刻情報を管理する。また、時刻情報管理部324は、時刻情報生成部321が主系のオシレータ110から生成した時刻情報の時刻に対する、時刻情報生成部321が従系のオシレータ110から生成した時刻情報の時刻のずれ情報を生成し、管理する。
【0053】
また、時刻情報管理部324は、オシレータ110のうち主系となっているオシレータ110の出力するクロック信号に基づいて時刻情報生成部321が生成した時刻情報を、時刻供給装置30の外部へ出力する。時刻情報管理部324は、時刻情報出力部の一例に該当する。
また、時刻情報管理部324は、時刻供給装置30の外部へ出力する時刻情報の時刻を、複数のオシレータ110のうち累積稼働時間の最も短いオシレータ110の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。時刻情報管理部324は、時刻補正部の一例に該当する。
【0054】
次に
図9を参照して、時刻供給装置30の動作について説明する。
図9は、時刻供給装置30が行う処理の手順を示すフローチャートである。時刻供給装置30は、自らの電源を接続(ON)されて動作状態となると同図の処理を行う。
以下では、オシレータ110aが主系のオシレータである場合を例に説明する。他のオシレータが主系になっている場合も同様である。
【0055】
図9の処理において、まず、時刻情報生成部321が、時刻情報の生成を開始する(ステップS301)。具体的には、時刻情報生成部321は、オシレータ110の出力するクロック信号に基づいて時刻情報の初期値を歩進させることで、オシレータ110毎に現在の時刻情報を生成する。時刻情報生成部321は、生成した時刻情報を時刻情報管理部324へ出力する。
また、オシレータ情報管理部322は、オシレータ110毎に、当該オシレータ110の累積稼働時間を、当該オシレータ110の稼働中にわたってカウントする。
【0056】
次に、時刻情報管理部324は、時刻情報およびクロック信号の、時刻供給装置30の外部への出力を開始する(ステップS
302)。
具体的には、時刻情報管理部324は、主系のオシレータ110aの出力するクロック信号に基づいて時刻情報生成部321が生成した時刻情報を、時刻供給装置30の外部へ出力する。また、時刻情報管理部324は、主系のオシレータ110aの出力するクロック信号を、時刻供給装置30の外部へ出力する。
【0057】
あるいは、時刻情報管理部324が、主系のオシレータ110aからのクロック信号に基づいて時刻情報生成部321が生成したクロック信号を時刻供給装置30の外部へ出力するようにしてもよい。例えば、主系のオシレータ110aが生成したクロック信号を時刻情報生成部321が間引いた信号を、時刻情報管理部324が時刻供給装置30の外部へ出力するようにしてもよい。あるいは、時刻情報管理部324がクロック信号を時刻供給装置30の外部へ出力しないようにしてもよい。
【0058】
次に、時刻情報管理部324は、主系のオシレータ110aからのクロック信号に基づく時刻情報と、従系のオシレータ110bからのクロック信号に基づく時刻情報とのずれ情報を算出する(ステップS303)。ここで、時刻情報管理部324は、主系のオシレータ110aからのクロック信号に基づく時刻情報を補正可能な詳細度のずれ情報を生成する。例えば、時刻情報管理部324が、年月日時分秒と、それ以上の詳細度(例えば1000分の1秒まで)の情報を含むずれ情報を生成する。あるいは、時刻情報管理部324が、時刻クロックの位相差情報を含む時刻情報を生成するようにしてもよい。
【0059】
そして、時刻情報管理部324は、補正の契機が発生したか否かを判定する(ステップS304)。ここで、補正の契機として様々な事象を用いることができる。例えば、所定時間経過を補正の契機として、時刻情報管理部324が所定周期毎に補正の契機の発生を検出するようにしてもよい。あるいは、オシレータ110の交換を補正の契機として、何れかのオシレータ110が交換された際に、時刻情報管理部324が補正の契機の発生を検出するようにしてもよい。
【0060】
補正の契機が発生していないと判定した場合(ステップS304:NO)、ステップS303へ戻る。
一方、補正の契機が発生したと判定した場合(ステップS304:YES)、時刻情報管理部324は、ステップS303で生成したずれ情報を用いて主系のオシレータ110aからのクロック信号に基づく時刻情報の時刻補正を行う(ステップS305)。
その際、時刻情報管理部324は、オシレータ110の累積稼働時間情報を参照して、故障していないオシレータ110のうち、累積稼働時間が最も短いオシレータ110を検出する。主系のオシレータ110の累積稼働時間が最も短い場合は、主系のオシレータ110aを、累積稼働時間が最も短いオシレータ110として検出する。
【0061】
そして、時刻情報管理部324は、検出したオシレータ110のクロック信号に基づく時刻情報の時刻を基準時刻として、基準時刻との時間差(ずれ情報の示す時刻のずれ)を縮小するように、主系のオシレータ110aのクロック信号に基づく時刻情報の時刻を補正する。主系のオシレータ110aを、累積稼働時間が最も短いオシレータ110として検出した場合は、時刻のずれは発生していないことになるので、時刻情報管理部324は、現状のままで時刻補正完了とする。
【0062】
そして、時刻情報管理部324は、基準時刻との時間差がなくなったところで時刻補正を完了する(ステップS306)。
その後、ステップS303へ戻る。
【0063】
なお、ステップS305において、あるいは、ステップS306の後、累積稼働時間が最も短いオシレータ110が主系のオシレータ110となるように主系と従系との切替を行うようにしてもよい。当該切替によっても、時刻供給装置30の出力する時刻情報(従って、時刻情報管理部324が出力する時刻情報)の時刻を基準時刻に合わせる時刻補正を行うことができる。
なお、ステップS306の後、従系のオシレータ110のクロック信号に基づく時刻情報について、主系のオシレータ110の時刻情報の時刻に合わせる時刻補正を行うようにしてもよい。
【0064】
以上のように、時刻情報生成部321は、複数のオシレータ110の各々について、当該オシレータの出力するクロック信号に基づいて時刻情報を生成する。そして、時刻情報管理部324は、オシレータ110のうち主系となっているオシレータ110の出力するクロック信号に基づく時刻情報を時刻供給装置30の外部へ出力する。また、時刻情報管理部324は、時刻供給装置30の外部へ出力する時刻情報の時刻を、複数のオシレータ110のうち累積稼働時間の最も短いオシレータ110の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。
【0065】
これにより、時刻供給装置30のように1つのプロセッサが複数のオシレータを具備する構成においても、時刻供給装置10(
図1)のように複数のプロセッサの各々がオシレータを具備する構成の場合と同様、オシレータ110の精度の経年劣化による時刻情報の精度の低下を軽減させ、時刻供給装置30が供給する時刻情報の精度・信頼性を向上させることができる。
【0066】
具体的には、時刻供給装置30は、累積稼働時間の最も短いオシレータ110(従って、経年劣化の度合いが最も小さいオシレータ110)を用いて得られる時刻情報に時刻合わせを行う。これにより、時刻供給装置30は、オシレータ110の精度の経年劣化による時刻情報の精度の低下を軽減させることができる。この点において、時刻供給装置30が供給する時刻情報の精度・信頼性を向上させることができる。
【0067】
<第4の実施形態>
図10は、本発明の第4の実施形態における時刻供給装置の構成を示す概略構成図である。同図において、時刻供給装置40は、プロセッサ400を具備する。プロセッサ400は、オシレータ110aおよび110bと、時刻情報制御部420と、外部時刻取得部230とを具備する。
【0068】
同図において
図7の各部に対応して同様の機能を有する部分には同一の符号(110a、110b)を付して説明を省略する。また、
図10の外部時刻取得部230は、
図4を参照して説明した外部時刻取得部230と同様の機能を有しており、同一の符号を付して説明を省略する。
なお、時刻供給装置40が具備するオシレータ110の数は、
図10に示す2つに限らず、2以上の任意の個数であってよい。
【0069】
時刻供給装置40は、時刻情報を供給する。プロセッサ400は、時刻供給装置40が供給する時刻情報を生成する。
時刻情報制御部420は、オシレータ110からのクロック信号に基づいて時刻情報を生成する。また、時刻情報制御部420は、時刻情報の時刻補正など時刻情報の管理を行う。
特に、外部時刻取得部230が、時刻供給装置40の外部から時刻情報を取得している場合、時刻情報制御部420は、時刻供給装置40の外部からの時刻情報に基づいて、主系のオシレータ110からのクロック信号に基づく時刻情報の時刻補正を行う。外部時刻取得部230が正確な時刻情報を取得し、時刻情報制御部420が、当該時刻情報に基づいて時刻補正を行うことで、時刻情報制御部420は、高精度な時刻補正を行うことができる。
【0070】
図11は、時刻情報制御部420の構成を示す概略構成図である。同図において、時刻情報制御部420は、時刻情報生成部321と、オシレータ情報管理部322と、時刻情報管理部424とを具備する。
同図において、
図8の各部に対応して同様の機能を有する部分には同一の符号(321、322)を付して説明を省略する。
【0071】
時刻情報管理部424は、時刻情報生成部321が生成した時刻情報を管理する。また、時刻情報管理部424は、時刻情報生成部321が主系のオシレータ110から生成した時刻情報の時刻に対する、時刻情報生成部321が従系のオシレータ110から生成した時刻情報の時刻のずれ情報を生成し、管理する。
【0072】
また、時刻情報管理部424は、オシレータ110のうち主系となっているオシレータ110の出力するクロック信号に基づいて時刻情報生成部321が生成した時刻情報を、時刻供給装置40の外部へ出力する。時刻情報管理部424は、時刻情報出力部の一例に該当する。
また、時刻情報管理部424は、時刻供給装置40の外部へ出力する時刻情報の時刻を、複数のオシレータ110のうち累積稼働時間の最も短いオシレータ110の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。時刻情報管理部424は、時刻補正部の一例に該当する。
【0073】
さらに、時刻情報管理部424は、外部時刻取得部230(
図10)が時刻供給装置40の外部からの時刻情報を取得しているか否かを判定する。そして、時刻供給装置40の外部からの時刻情報を取得していると判定すると、時刻情報管理部424は、時刻供給装置40の外部へ出力する時刻情報の時刻を、外部時刻取得部230が取得する時刻供給装置40の外部からの時刻情報の時刻に合わせる時刻補正を行う。
【0074】
次に
図12を参照して、時刻供給装置40の動作について説明する。
図12は、時刻供給装置40が行う処理の手順を示すフローチャートである。時刻供給装置40は、自らの電源を接続(ON)されて動作状態となると同図の処理を行う。
以下では、オシレータ110aが主系のオシレータである場合を例に説明する。他のオシレータが主系になっている場合も同様である。
【0075】
図12のステップS401〜S404は、
図9のステップS301〜S304と同様である。
ステップS404において、補正の契機が発生したと判定した場合(ステップS404:YES)、時刻情報管理部424は、外部時刻を参照可能か否かを判定する(ステップS405)。より具体的には、時刻情報管理部424は、外部時刻取得部230が、時刻供給装置40の外部から時刻情報を取得しているか否かを判定する。
【0076】
外部時刻を参照不可と判定した場合(ステップS405:NO)、ステップS406へ進む。
ステップS406〜S407は、
図9のステップS305〜S306と同様である。
一方、ステップS405において、外部時刻を参照可能と判定した場合(ステップS405:YES)、時刻情報管理部424は、当該外部時刻を基準時刻として、主系のオシレータ110aからのクロック信号に基づく時刻情報の時刻補正を行う(ステップS411)。
【0077】
より具体的には、時刻情報管理部424は、基準時刻(時刻供給装置40の外部から時刻情報の時刻)との時間差を縮小するように、主系のオシレータ110aからのクロック信号に基づく時刻情報の時刻を補正する。
その後、ステップS407へ進む。
【0078】
なお、ステップS406において、累積稼働時間が最も短いオシレータ110が主系のオシレータ110となるように主系と従系との切替を行うようにしてもよい。当該切替によっても、時刻供給装置40の出力する時刻情報(従って、時刻情報管理部424が出力する時刻情報)の時刻を基準時刻に合わせる時刻補正を行うことができる。
なお、ステップS407の後、従系のオシレータ110のクロック信号に基づく時刻情報について、主系のオシレータ110の時刻情報の時刻に合わせる時刻補正を行うようにしてもよい。
【0079】
以上のように、外部時刻取得部230は、時刻供給装置40の外部からの時刻情報を取得する。そして、時刻情報管理部424は、外部時刻取得部230が時刻供給装置40の外部からの時刻情報を取得しているか否かを判定する。取得していると判定した場合、時刻情報管理部424は、時刻供給装置40の外部へ出力する時刻情報の時刻(従って、主系のオシレータ110aからのクロック信号に基づく時刻情報)を、時刻供給装置40の外部からの時刻情報の時刻に合わせる時刻補正を行う。
【0080】
これにより、時刻供給装置40のように1つのプロセッサが複数のオシレータを具備する構成においても、時刻供給装置20(
図4)のように複数のプロセッサの各々がオシレータを具備する構成の場合と同様、外部時刻取得部230が正確な時刻情報を取得し、時刻情報管理部424が、当該時刻情報に基づいて時刻補正を行うことで、時刻情報管理部424は、高精度な時刻補正を行うことができる。
【0081】
次に、
図13を参照して、時刻供給装置における本発明の最小構成について説明する。
図13は、時刻供給装置における本発明の最小構成を示す概略構成図である。同図において、時刻供給装置50は、複数のオシレータ51と、時刻情報生成部52と、時刻補正部53と、時刻情報出力部54とを具備する。
なお、時刻供給装置50が具備するオシレータ51の数は、
図13に示す2つに限らず、2以上の任意の個数であってよい。
【0082】
かかる構成において、時刻情報生成部52は、オシレータ51毎に当該オシレータ51の出力するクロック信号に基づいて時刻情報を生成する。
そして、時刻情報出力部54は、オシレータ51のうち主系となっているオシレータ51の出力するクロック信号に基づく時刻情報を出力する。
また、時刻補正部53は、時刻情報出力部54の出力する時刻情報の時刻を、複数のオシレータ51のうち累積稼働時間の最も短いオシレータ51の出力するクロック信号に基づく時刻情報の時刻に合わせる時刻補正を行う。
【0083】
これにより、時刻供給装置50は、時刻供給装置10について説明したのと同様に、オシレータ110の精度の経年劣化による時刻情報の精度の低下を軽減させることができる。この点において、時刻供給装置50が供給する時刻情報の精度・信頼性を向上させることができる。
【0084】
なお、時刻供給装置10、20、30、40または50の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0085】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。