説明

計算機システム、時刻情報切り替え装置及び計算機システムの制御方法

【課題】時刻情報の信頼性を向上することができる計算機システム、時刻情報切り替え装置及び計算機システムの制御方法を提供すること
【解決手段】本発明にかかる計算機システム20は、第1の時刻同期化装置11から送信される第1の時刻情報及び第2の時刻同期化装置12から送信される第2の時刻情報を受信して、入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて送出する時刻情報切り替え部21と、時刻情報切り替え部21が送出した前記第1の時刻情報又は前記第2の時刻情報を読み出して、読み出した当該時刻情報に基づいて時刻情報切り替え部21に前記制御信号を出力する制御部22と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機システム、時刻情報切り替え装置及び計算機システムの制御方法に関する。
【背景技術】
【0002】
時刻同期化装置(Timer Synchronized System:以降TCSとも記載する)を用いて、計算機システムの時刻を同期する方法が、近年開示されている。
【0003】
例えば、特許文献1においては、複数の時刻情報供給手段のいずれかに障害が発生した場合でも、全ての演算処理装置に同一の時刻情報を供給し続けることができる時刻情報供給装置が開示されている。当該時刻情報供給装置では、1つのTCSが供給した時刻情報は、複数の診断制御装置によって読み出され、各診断制御装置から演算処理装置に出力される。ここで、1つの診断制御装置に異常が発生した場合、その診断制御装置から時刻情報の供給を受けていた演算処理装置は、他の診断制御装置から時刻情報の提供を受けることができる。
【0004】
また、特許文献2においては、TCSから供給される時刻情報に異常が認められた場合に、TCSに異常が発生したことをシステム管理者に通報する計算機システムが開示されている。なお、特許文献2において、時刻情報を供給するTCSは1つである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−049503号公報
【特許文献2】特開2000−090064号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1にかかる時刻情報供給装置では、診断制御装置は多重化されているものの、時刻情報を提供するTCS自体は1つしかなかった。そのため、TCSに障害が発生した場合、演算処理装置は正しい時刻情報を取得することができない。
【0007】
特許文献2にかかる計算機システムにおいても、TCSは1つしかない。そのため、TCSに障害が発生した場合、計算機システムは時刻情報を同期することができない。
【0008】
本発明は、このような問題点を解決するためになされたものであり、時刻情報の信頼性を向上することができる計算機システム、時刻情報切り替え装置及び計算機システムの制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明にかかる計算機システムは、第1の時刻同期化装置から送信される第1の時刻情報及び第2の時刻同期化装置から送信される第2の時刻情報を受信して、入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて送出する時刻情報切り替え部と、前記時刻情報切り替え部が送出した前記第1の時刻情報又は前記第2の時刻情報を読み出して同期処理を行うとともに、前記時刻情報切り替え部に前記制御信号を出力する制御部と、を備える。
【0010】
本発明にかかる時刻情報切り替え装置は、第1の時刻同期化装置が送信する第1の時刻情報及び第2の時刻同期化装置が送信する第2の時刻情報を受信して、制御装置から入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて出力する切り替え機能部と、前記切り替え機能部が出力した時刻情報を前記制御装置に送出する送出部と、を備える。
【0011】
本発明にかかる計算機システムの制御方法は、第1の時刻同期化装置から送信される第1の時刻情報及び第2の時刻同期化装置から送信される第2の時刻情報を受信するステップと、入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて送出するステップと、送出された前記時刻情報を読み出して、読み出した当該時刻情報に基づいて前記制御信号を出力するステップと、を備える。
【発明の効果】
【0012】
本発明により、時刻情報の信頼性を向上することができる計算機システム、時刻情報切り替え装置及び計算機システムの制御方法を提供することができる。
【図面の簡単な説明】
【0013】
【図1】実施の形態1にかかる時刻同期化システムの全体構成例の図である。
【図2】実施の形態1にかかる時刻情報切り替え装置の構成例の図である。
【図3】実施の形態2にかかる時刻同期化システムの全体構成例の図である。
【図4】実施の形態2にかかる時刻情報のフォーマットの例を示す図である。
【図5】実施の形態2にかかる時刻情報の転送例を示す図である。
【図6】実施の形態2にかかるプロセッサの処理の一例を示すフローチャートである。
【図7】実施の形態2にかかる時刻情報のデータ化けの一例を示す図である。
【図8】実施の形態2にかかる制御ユニットの処理の一例を示す図である。
【図9】実施の形態3にかかる制御ユニットの処理の一例を示す図である。
【発明を実施するための形態】
【0014】
実施の形態1
本実施の形態にかかる計算機システムは、制御部、時刻情報切り替え部を備え、2つの時刻同期化装置から時刻情報(TOD:Time Of Day)の提供を受けている。制御部に送出する時刻情報に異常があった場合、制御部からの制御信号に応じて、時刻情報切り替え部は制御部に送出する時刻情報を切り替える。このように、時刻同期化装置を多重化して計算機システムに切り替え機能を設けることによって、計算機システムは、一方の時刻同期化装置が供給する時刻情報に異常が生じた場合、他方の正常な時刻同期化装置が供給する時刻情報を用いて処理を行う。このため、計算機システムにおける時刻情報の信頼性を向上することができる。
【0015】
以下、図面を参照して本発明の実施の形態について説明する。図1は、本実施形態にかかる時刻同期化システムの全体構成例を示す。時刻同期化システム10は、時刻同期化装置11、時刻同期化装置12、計算機システム20を備える。時刻同期化装置11及び12は、計算機システム20と接続されている。
【0016】
時刻同期化装置11、時刻同期化装置12は、計算機システム20に時刻情報を供給する装置である。時刻同期化装置11、時刻同期化装置12は、それぞれが独立した状態で、計算機システム20に時刻情報を供給している。
【0017】
計算機システム20は、時刻情報切り替え部21、制御部22を備える。計算機システム20は、メインフレーム、サーバ、ワークステーション等のコンピュータである。時刻情報切り替え部21は、集積回路等を含む1つのユニット(装置)である。制御部22は、プロセッサ等のハードウェア、OS(Operating System:オペレーティングシステム)等のソフトウェアにより構成される。
【0018】
以下、本実施の形態にかかる計算機システム20の動作について説明する。
【0019】
時刻情報切り替え部21は、時刻同期化装置11及び12が送信した時刻情報を受信する。ここで、時刻同期化装置11から受信する時刻情報を第1の時刻情報、時刻同期化装置12から受信する時刻情報を第2の時刻情報とする。
【0020】
時刻情報切り替え部21は、第1の時刻情報、第2の時刻情報のうちいずれかを制御部22に送出する。初期時刻においては、時刻情報切り替え部21は第1の時刻情報を制御部22に送出している。制御部22は、時刻情報切り替え部21から送出された第1の時刻情報を読み出す。制御部22は、読み出した第1の時刻情報に基づき、同期処理を実行する。なお、同期処理とは、制御部の有する時刻情報を、読み出した時刻情報に一致させる処理のことをいう。
【0021】
ここで、時刻同期化装置11に故障が発生し、第1の時刻情報に異常が生じた場合を想定する。このとき、制御部22は、第1の時刻情報を読み出した際に、第1の時刻情報の異常を判定する。例えば、時刻同期化装置11は、自らの故障を検出した場合、その故障を、第1の時刻情報中のステータスを変更することによって示す。制御部22は、そのステータスの変更の有無を判定することで、第1の時刻情報が異常になったことを判定する。
【0022】
あるいは、時刻同期化装置11は、時刻情報とは別に故障を示す信号を計算機システム20に出力し、制御部22はその信号を検知することにより、第1の時刻情報の異常を判定してもよい。
【0023】
以上のようにして、第1の時刻情報の異常を判定した場合、制御部22は、送出する時刻情報を切り替えさせる制御信号を生成し、時刻情報切り替え部21に出力する。時刻情報切り替え部21は、制御部22から入力された制御信号を受信する。その制御信号に応じて、時刻情報切り替え部21は、制御部22に送出する時刻情報を第1の時刻情報から第2の時刻情報に切り替える。
【0024】
このように、第1の時刻情報が異常であることを制御部22が判定した場合に、時刻情報切り替え部21は、制御部22に送出する時刻情報を、第1の時刻情報から第2の時刻情報に切り替える。そのため、時刻情報切り替え部21は、正確な時刻情報を制御部22に供給することができるので、計算機システム20の時刻情報の信頼性を向上することができる。換言すれば、計算機システム20のRAS(Reliability Availability and Serviceability)を向上させることができる。
【0025】
なお、初期時刻において制御部22が第2の時刻情報を読み出しており、制御部22が第2の時刻情報の異常を判定した場合も、制御部22は同様の制御信号を時刻情報切り替え部21に出力する。時刻情報切り替え部21は、その制御信号に応じて、制御部22に送出する時刻情報を、第2の時刻情報から第1の時刻情報に切り替える。
【0026】
本実施の形態においては、計算機システム20内部に時刻情報切り替え部21及び制御部22が含まれている。しかし、時刻情報切り替え部21及び制御部22は、同一のコンピュータ内になくともよく、1つの独立した装置(ユニット)として動作してもよい。図2は、そのような時刻情報切り替え装置の構成例を示したものである。図2において、時刻同期化装置11は第1の時刻情報を時刻情報切り替え装置23に送信し、時刻同期化装置12は第2の時刻情報を時刻情報切り替え装置23に送信する。時刻情報切り替え装置23は、時刻同期化装置11及び時刻同期化装置12と、制御装置24とを接続する。時刻情報切り替え装置23は、時刻情報切り替え部21に対応しており、制御装置24は、制御部22に対応している。
【0027】
時刻情報切り替え装置23は、切り替え機能部25と、送出部26とを備える。切り替え機能部25は、第1の時刻情報及び第2の時刻情報を受信して、制御装置24から入力される制御信号に応じて、第1の時刻情報又は第2の時刻情報のいずれかの時刻情報を切り替えて出力する。送出部26は、切り替え機能部25が出力した時刻情報を制御装置24に送出する。
【0028】
制御装置24は、送出部26から送出された第1の時刻情報又は第2の時刻情報に基づいて同期処理を行う。さらに制御装置24は、第1の時刻情報又は第2の時刻情報に基づいて、制御信号を生成し、切り替え機能部25に出力する。切り替え機能部25は、その制御信号に応じて、出力する時刻情報を切り替える。このようにして、制御装置24は、時刻情報切り替え装置23の出力する時刻情報を制御する。
【0029】
なお、制御装置24は、送信された時刻情報ではなく、前述と同様、他の情報に基づいて、制御信号を生成してもよい。制御信号の具体的な説明についても、前述と同様である。
【0030】
実施の形態2
本実施の形態にかかる計算機システムは、2つの時刻同期化装置(以下、TCSとも表記)から時刻情報の提供を受けている。計算機システム中の制御ユニットは、プロセッサが時刻情報の異常を判定した場合、プロセッサからの制御信号に基づいて、プロセッサに送出する時刻情報を切り替える。制御ユニットは、異常がない方の時刻情報をプロセッサに送出する。ここで、制御ユニットは、切り替え直後にTCSから供給される1つの時刻情報を全て「1」の値にすることで、プロセッサに時刻情報を読み出し失敗と判定させる。これにより、プロセッサは、切り替え直後の時刻情報を取得することがない。このようにすることで、切り替え時にプロセッサが受信する時刻情報のデータ化けを防止することができる。
【0031】
以下、図面を参照して実施の形態2について説明する。図3は、本実施形態にかかる時刻同期化システムの全体構成例を示す。時刻同期化システム30は、TCS31、TCS32、計算機システム40を備える。TCS31及び32は、計算機システム40と接続されている。
【0032】
TCS31、TCS32は、一定間隔でTCS情報(時刻情報)を、計算機システム40のTCS制御ユニット50に送信する。さらに、TCS情報を読み出すために必要なタイミング信号であるストローブ信号も、TCS制御ユニット50に送信する。これらの信号の詳細については後述する。TCS31が送信するTCS情報を第1のTCS情報、TCS32が送信するTCS情報を第2のTCS情報とする。その他の説明については、時刻同期化装置11、時刻同期化装置12と同様である。
【0033】
計算機システム40は、TCS制御ユニット50、プロセッサ61、62、63、OS70を備える。計算機システム40及びTCS制御ユニット50の具体例については、実施の形態1と同様である。
【0034】
TCS制御ユニット50は、TCSインタフェース受信部51、52、TCS情報切り替え機能部53、TCS情報送出部54を備える。TCSインタフェース受信部51は、TCS31とのインタフェースを制御して、TCS31から送信されるTCS情報及びストローブ信号を受信する。TCSインタフェース受信部52は、TCS32とのインタフェースを制御して、TCS32から送信されるTCS情報及びストローブ信号を受信する。
【0035】
なお、TCSインタフェース受信部51、TCSインタフェース受信部52は、TCS31、TCS32から受信したTCS情報を一時保持した後、TCS情報切り替え機能部53に送出するバッファとして機能する。換言すれば、TCS制御ユニット50は、TCS31、TCS32から受信したTCS情報を即時にはプロセッサに送出しない。
【0036】
TCS情報切り替え機能部53は、TCS31が送出したTCS情報及びストローブ信号、TCS32が送出したTCS情報及びストローブ信号のいずれかをTCS情報送出部54に送出する。さらに、TCS情報切り替え機能部53は、TCS情報受信部64からの制御信号に応じて、TCSインタフェース受信部51とTCSインタフェース受信部52のインタフェースを切り替える。
【0037】
つまり、TCS情報切り替え機能部53が接続するTCSインタフェース受信部は、TCSインタフェース受信部51又は52のいずれかである。TCS情報切り替え機能部53は、TCSインタフェース受信部との接続を切り替えることによって、送出するTCS情報及びストローブ信号を切り替える。TCS情報切り替え機能部53は、このようにして、第1のTCS情報、第2のTCS情報のいずれかをTCS情報送出部54に送出する。
【0038】
TCS情報送出部54は、プロセッサ61〜63とのインタフェースを制御する。具体的には、TCS情報切り替え機能部53から送出されたTCS情報及びストローブ信号を、プロセッサ61〜63に送出する。以上のようにして、TCS制御ユニット50はTCS情報及びストローブ信号をプロセッサ61〜63といった接続されているすべてのプロセッサに送信する。
【0039】
プロセッサ61は、TCS制御ユニットとのインタフェースを制御するTCS情報受信部64、OSとのインタフェースを制御するOSインタフェース受信部65、OSインタフェース送信部66を備える。具体的には、TCS情報受信部64は、TCS制御ユニット50から送出されたTCS情報及びストローブ信号を受信する。OSインタフェース受信部65は、OS70から、TCS情報を読み出すための指示を受信し、それをTCS情報受信部64に送出する。TCS情報受信部64では、その指示に応じて、読み出したTCS情報をOSインタフェース送信部66に送出する。OSインタフェース送信部66は、そのTCS情報を、OS70に送信する。
【0040】
さらに、TCS情報受信部64は、受信したTCS情報の異常を判定した場合、TCS情報切り替え機能部53に対し、送出するTCS情報を切り替えさせる制御信号を出力する。
【0041】
プロセッサ62、63もプロセッサ61と同様の機能を備えている。このように、図3においてOS70は、プロセッサ61、プロセッサ62、プロセッサ63といった複数のプロセッサとインタフェースを持ち、情報の送受信を行う。なお、それぞれのプロセッサは、プロセッサ中に組みこまれたファームウェアにより制御される。プロセッサ61〜63は、例えばCPU(Central Processing Unit)である。OS70は、マルチプロセッサ用のOSである。
【0042】
次に、図4及び図5を用いて、TCS31又は32と、TCS制御ユニット50との間のTCS情報のインタフェースを説明する。図4は、TCS31又は32と、TCS制御ユニット50との間で送受信されるTCS情報のフォーマットの一例を示す。TCSは、図4のフォーマットにより、TCSインタフェースでステータス、年、月、日、時、分、秒、ミリ秒、マイクロ秒といった情報を受け渡す。ステータスは、TCSが正常か異常かを示す信号であり、TCSが自分の故障を検出した場合には、TCSはその旨を示すデータをステータス中に入れて送出する。以上のフォーマットが、1つのTCS情報の単位を示している。
【0043】
図5は、時刻情報の転送例を示す図である。以下、図5(a)で示すシリアル転送フォーマットにより、図4に示したTCS情報のフォーマットをシリアルインタフェースで受け渡す例を説明する。TCS31は、TCSインタフェース受信部51に対し、最初にワード0のビット00から07までを転送し、ワード0のパリティP0を転送する。次に、ワード0のビット08から15までを転送した後、ワード0のパリティP1を転送する。以降、TCS31は、ワード1〜ワード5までのデータを、同様に繰り返し転送する。一定の時間間隔をおいた時刻において、その時点の時刻で生成したTCS情報のシリアル転送フォーマットがTCSから送信されることにより、TCS情報は更新される。
【0044】
図5(b)の転送波形イメージは、TCS情報及びストローブ信号の転送における波形のイメージの例を示したものである。本実施形態ではストローブ信号の立ち上がり及び立ち下がりによって、データ信号(TCS情報)を取り込むケースを記載している。図4、図5(b)の例では転送するビットが各ワード18ビット(データ16ビット+パリティ2ビット)であり、ワード数が6ワードある。そのため、1つのフォーマットにおけるTCS情報のビット数の総計は108ビットである。なお、1つのフォーマットにかかるTCS情報は、分割不可能な一連の情報として処理されるため、以降、トランザクションとも記載する。なお、TCS31、TCS32は、1ビット分のデータ信号及びストローブ信号を出力するのに同じだけの時間がかかる。これは実施の形態3、4でも同様である。
【0045】
次に、TCS情報読み出し命令をOS70から受信した場合に、図3に記載したいずれかのプロセッサのファームウェアが行う制御を説明する。ここで、プロセッサは、データ更新中フラグ、読み出し失敗フラグを有する。このフラグは、プロセッサが備えるデータ更新の検出機能、読み出し失敗の検出機能に基づいて設定される。
【0046】
データ更新中フラグは、プロセッサ自身がTCS情報を更新している場合にON(「1」の値)に設定され、TCS情報を更新していない場合にはOFF(「0」の値)に設定される。
【0047】
読み出し失敗フラグは、プロセッサとTCS制御ユニット50間のインタフェースでエラーがあったとみなされる場合にON(「1」の値)に設定され、ない場合にはOFF(「0」の値)に設定される。例えば、図4に示したフォーマットにおいて、TCS情報の内容が無効なデータ(いわゆる「壊れたデータ」)である場合、読み出し失敗フラグはONに設定される。例えば、パリティが異常であるような場合、1つのフォーマット中のビット数が所定のビット数ではない(図4、図5でいえば108ビットではない)場合に、プロセッサはTCS情報の内容は無効なデータとみなし、読み出し失敗の判定をする。
【0048】
さらに、プロセッサは、読み出し命令中の処理において、読み出し失敗フラグがONになった回数をカウントしている。
【0049】
以下、図6を用いて、プロセッサのファームウェアの制御を説明する。図6は、ファームウェアに基づいたTCS情報受信部64の処理例を示すフローチャートである。
【0050】
OSインタフェース受信部65がOS70からTCS情報読み出し命令を受信した場合、TCS情報受信部64はTCS情報読み出し命令に応じて、プロセッサの持つTCS情報を読み出す(ステップS1)。このとき、TCS情報受信部64は、データ更新中フラグがONになっているか否かをチェックする(ステップS2)。
【0051】
データ更新中フラグがONになっている場合(ステップS2のYes)、プロセッサは、TCS情報のデータを更新中である。そのため、プロセッサが直前に読みだしたTCS情報をエラーと判定し、無効にする。これにより、プロセッサは、直前に読みだしたTCS情報をOS70に送信することはない。
【0052】
ステップS2の後、TCS情報受信部64は、読み出し処理を再実行する(ステップS1)。なお、データ更新は、少ない実行数で処理される。そのため、TCS情報読み出し命令を再実行すれば、次回のステップS2の判定時には、データ更新中フラグはOFFとなる。
【0053】
データ更新中フラグがOFFになっている場合(ステップS2のNo)、プロセッサはTCSデータを更新していない。このとき、TCS情報受信部64は、読み出し失敗フラグがONになっているか、OFFになっているかをチェックする(ステップS3)。
【0054】
読み出し失敗フラグがONになっている場合(ステップS3のYes)、プロセッサはTCS情報の読み出しに失敗している。そのため、プロセッサが直前に読みだしたTCS情報をエラーと判定し、無効にする。これにより、プロセッサは、直前に読みだしたTCS情報をOS70に送信することはない。
【0055】
さらに、TCS情報受信部64は、読み出し失敗フラグがONになった回数を検出し、処理中で読み出し失敗フラグがONになったのが3回目であるか否かをチェックする(ステップS4)。
【0056】
処理中で読み出し失敗フラグがONになったのが初めて又は2回目である場合(ステップS4のNo)、TCS情報受信部64は、次回のTCS情報更新が行われるまで時間待ちをする(ステップS5)。つまり、次にTCS情報が更新されるまで、TCS情報受信部64は、TCS情報読み出しを行わない。この時間待ちの間隔は、例えば、TCS情報が更新される間隔よりも大きい値に設定される。その後、TCS情報受信部64は、TCS情報読み出しを再実行する(ステップS1)。このようにして、ファームウェアは、TCS情報の読み出しのリトライ処理を実行させる。
【0057】
処理中で読み出し失敗フラグがONになったのが3回目である場合(ステップS4のYes)、TCS情報受信部64は有効なTCS情報が使用できないと判定する。このため、TCS情報受信部64は、TCS情報読み出し命令を異常終了する。
【0058】
なお、図6のフローでは、読み出し失敗フラグが3回目で異常終了と判定しているが、2回目等、他の閾値を用いて異常終了と判定してもよい。
【0059】
ステップS3のチェックにおいて、読み出し失敗フラグがOFFになっている場合(ステップS3のNo)、TCS情報受信部64は有効なTCS情報を読み出すことができた。ここで、TCS情報受信部64は、受信したTCS情報のフォーマット内のステータスをチェックする(ステップS6)。前述の通り、TCS31が故障を検出した場合に、このステータスは異常を示すデータを表す。
【0060】
ステータスが異常である場合(ステップS6のYes)、TCS31は故障していると判定される。ここで、TCS情報受信部64は、TCS情報切り替え機能部53に対し、制御信号を出力する(ステップS7)。その後、TCS情報受信部64は、TCS情報読み出し命令を異常終了する。なお、受信したステータスが異常なTCS情報はエラーと判定され、無効になる。これにより、プロセッサは、そのTCS情報をOS70には送信しない。
【0061】
なお、図7のフローでは、制御信号の出力後にTCS情報読み出し命令を異常終了させているが、TCS情報受信部64は、TCS情報読み出し命令を再実行する(ステップS1)処理を行ってもよい。
【0062】
ステータスをチェックして異常でない場合(ステップS6のNo)、TCS情報受信部64は、OSインタフェース送信部66にプロセッサが読み出したTCS情報をセットする(ステップS8)。これにより、OSインタフェース送信部66からOSにTCS情報が送信される。以上の処理を終えて、TCS情報読み出し命令は正常に終了する。
【0063】
以上の通り、TCS情報受信部64は、OSからのTCS情報読み出し命令に応じて、取得したTCS情報が有効であるか否かをステップS2、S3、S6にて判定し、有効な場合のみ、OS70にTCS情報を送信する。データ更新中フラグ、読み出し失敗フラグ、ステータスのいずれかでも異常がある場合、読み出したTCS情報はエラーと判定され、無効になる。
【0064】
次に、TCS情報の転送中にTCS情報切り替え機能部53がTCS情報の切り替えを行った場合に、プロセッサ側で発生しうるデータ化けについて説明する。まず、図5(b)の転送波形イメージで転送されるTCS31からのTCS情報を、TCS制御ユニット50で受信する。ここで、TCS情報を受信中に、TCS情報受信部64がTCS情報のフォーマットのステータスの異常を判定する。フォーマットのステータスについては、図4の説明に示した通りである。TCS情報受信部64は、TCS情報切り替え機能部53に、TCS31からのTCS情報が異常であることを示す制御信号を出力する。TCS情報切り替え機能部53は、制御信号に応じて、出力するTCS情報を、TCS31のTCS情報からTCS32のTCS情報に切り替える。なお、プロセッサは、制御信号を出力した後も、TCS情報読み出しの処理(図6のステップS1)を実行している。
【0065】
このように、TCS情報切り替え機能部53は、TCS31の故障を検出してTCS32に切り替える。その場合、TCS31からのTCS情報転送中に切り替えを行うと、TCS31からのインタフェースとTCS32からのインタフェースの切り替えタイミングと、TCS情報のトランザクションの送信タイミングが衝突する。ここで何の処置も実行しないと、プロセッサが受信したTCS情報にデータ化けが起きてしまう。これは、TCS31が故障しており、なおかつTCS31からのTCS情報の出力を停止させることが出来ない場合に発生する。
【0066】
図7を用いて、このようなデータ化けの例について説明する。図7は、TCS31からのストローブ信号及びデータ信号、TCS32からのストローブ信号及びデータ信号を示している。図7においては、左から右にいくほど、時間が経過したことを示しており、TCS情報切り替えのタイミングは破線で示している。これは、図8、図9でも同様である。
【0067】
図7では、TCS31がTCS情報のフォーマットのワード1をデータ転送中に、TCS情報切り替え機能部53がTCS情報の切り替えを実施する。TCS32は、TCS31と同じTCS情報をTCS制御ユニット50に送信している。具体的に言えば、TCS31は、ワード1データのビット00からビット07の年情報として、16進数で「0C」、2進数で「00001100」を送信しており、TCS32も同じデータを送信している。なお、TCS31のデータ信号及びストローブ信号の出力タイミングは、TCS32のデータ信号及びストローブ信号の出力タイミングと1ビット分ずれている。
【0068】
図7の破線のタイミングでTCS31からTCS32への切り替えが行われた場合、TCS31が「00001100」の「00001」まで送信した時点で、TCS32に切り替わる。TCSインタフェース受信部52は、以降のデータを「0001」と受信する。そのため、TCS制御ユニット50が受信したワード1データは、16進数で「0C」のはずが「08」となる。TCS情報受信部64が、受信したTCS情報のパリティエラーを検知できないケースでは、プロセッサは不正な時刻情報を受信してしまう。
【0069】
よって、TCS31からのTCS情報転送中に、TCS情報切り替え機能部53がTCS31からTCS32へのTCS情報の切り替えを行う場合、TCS情報切り替え機能部53は何らかの処置を行う必要がある。
【0070】
図8は、本実施の形態において、TCS情報切り替え機能部53が行う処置の例である。図8(a)において、TCS情報切り替え機能部53は、いずれかのプロセッサのTCS情報受信部から、TCS31のTCS信号に異常があったことを示す制御信号を受信した場合、TCS情報切り替え処理をする。
【0071】
このとき、TCS情報切り替え機能部53は、切り替えた直後にTCSインタフェース受信部52から送出されるTCS情報(TCS32が出力したTCS情報)のデータ信号を全て「1」に書き替えた上で、TCS情報送出部54に送出する。換言すれば、TCS情報切り替え機能部53は、TCS32が出力したTCS情報のデータ信号を無効なデータにして(壊して)、TCS情報送出部54に送出する。
【0072】
ここで、TCS情報切り替え機能部53は、切り替えた直後にプロセッサに送出する1つのTCS情報を書き替える。換言すれば、TCS情報中の1つのトランザクション(フォーマット)に含まれるデータを書き替える。しかし、次のTCS情報の更新時(次のTCS情報のトランザクション更新時)では、TCS情報切り替え機能部53は、データ信号を書き替えずにプロセッサに送出する。
【0073】
TCS情報切り替え機能部53は、TCS32からTCS31にTCS情報を切り替える場合も、同様の処理を行う。図8(b)は、その処理を示した図である。
【0074】
TCS情報送出部54は、無効なデータにしたTCS情報を各プロセッサに送出する。TCS32からのTCS情報を読み出したプロセッサは、読み出し失敗フラグをONにする。これにより、プロセッサは、図6のTCS情報読み出しフローチャートのステップS4において、読み出し失敗フラグがONであると判定する。この処理フローにおいて、読み出し失敗フラグがONになったのはこれが最初なので、プロセッサは、次のTCS情報更新まで時間待ちの動作に入る(ステップS5)。
【0075】
TCS情報切り替え機能部53は、次にTCS32が出力したTCS情報のトランザクション中のデータは、書き替えずにそのままTCS情報送出部54に出力する。以降のTCS32が出力したTCS情報についても、同様に書き替えずにTCS情報送出部54に出力する。つまり、次にTCS32が出力するTCS情報のトランザクションは正常である。
【0076】
プロセッサは、図6のフローチャートの通り、再度TCS情報の読み出しを行う。ここで、プロセッサが次に受信するTCS情報のトランザクションは正常であることから、プロセッサはステップS2、S3、S6の全ての判定において、TCS情報は正常であると判定する。これにより、プロセッサは、ステップS8において、OSインタフェースにTCS情報をセットする。
【0077】
以上のようにして、TCS制御ユニット50は、切り替え直後にプロセッサに送出されるTCS情報を書き替え、プロセッサがTCS情報を読み出し失敗であると判定するようにする。そのため、計算機システム40における時刻情報のデータ化けを防ぐことができる。
【0078】
さらに、切り替え直後にプロセッサに送出される1つのTCS情報のみを書き替え、以降のTCS情報は書き替えていない。このため、プロセッサは、正確な時刻情報を速やかに取得することができる。例えば、図6のフローにおいて、異常終了とされる前のリトライ処理の段階で、プロセッサは正確な時刻情報を取得することができる。つまり、計算機システム40は、自身の有する時刻情報を、正確な時刻情報に速やかに更新することができる。
【0079】
実施の形態1に記載した通り、TCSを多重化することにより、計算機システムの時刻情報の信頼性を上げることができる。ここで、TCS31がTCS情報のトランザクションを発行中に、TCS31が故障した場合、TCS情報切り替え機能部53は、動的にTCS31からTCS32へのTCS情報の切り替えを実施する。このとき、故障したTCS31は、TCS情報の出力を停止できない。その場合、そのまま動的にTCS32に切り替えると、転送中のTCS31側トランザクションと切り替え後のTCS32側トランザクションが衝突する。これにより、TCS情報を受信したプロセッサ側でデータ化けが発生してしまう。そのため、このようなデータ切り替えの過渡期におけるデータ化けを回避するための調停制御が必要となる。
【0080】
この調停制御として、具体的には、データ保証のための手順を入れることが考えられる。例えば、TCS31が運用中に壊れた場合、TCS31から出力されるTCS情報の出力を抑止する。時間待ち等の処理を行い、TCS情報の出力が抑止されたことを確認してから、プロセッサがTCS32からのTCS情報を取得する、といった手順が考えられる。この間、プロセッサはTCS情報の読み出しを行わないようにする必要がある。ただし、この調停制御では、TCS情報の出力を抑止できない場合も想定される。
【0081】
さらに、回避手順が複雑になってしまう可能性と、切り替えの時間が延びてしまうことによりOSがタイムアウトを検出してしまう可能性がある。つまり、計算機システムは、正確な時刻情報を取得できないか、又は取得が遅くなってしまう可能性が考えられる。計算機システム内のインタフェースにRAS機能を付与する対策も考えられるが、そのような場合においても、時刻情報のエラーを検出できないケースが発生し得る。この場合は、プロセッサは不正データをそのまま受信することとなり、計算機システムは時刻不正の状態に至る。
【0082】
TCS制御ユニット50のハードウェアによって、時刻情報のデータ化けが発生しないことを保証するのは難しい。その他にデータ化けの発生を防止する方法は、以下のようなものがある。図4において、TCS31のみがTCS情報を計算機システム40側に送信し、TCS32はTCS情報を送信しないように設定する。マスター側のTCS31で故障が発生した後に、スレーブ側のTCS32を起動して、受信するTCS情報を切り替える、という方法である。しかし、この方法では、TCS32の起動までの立ち上げ時間がかかる。そのため、正確な時刻情報への更新ができないか、遅くなってしまう可能性がある。例えば、図6における処理フローでは、TCS障害が発生したときに、TCS情報読み出し命令によるプロセッサの処理が異常終了してしまうことが考えられる。
【0083】
本実施形態では、TCS31だけでなく、スレーブ側のTCS32も起動させておいて、TCS情報切り替え機能部53によってTCS情報の切り替えを制御する。これにより、計算機システム40のハードウェアの作りをシンプルにできる。このようなハードウェアを作りこんだ場合、TCS情報切り替え機能部53に、切り替え直後のTCS32のTCS情報を壊すような機能を盛り込むだけで、データ化けを防止できる。さらに、プロセッサは、できるだけ早い段階で、正しい時刻情報を取得することができる。
【0084】
なお、図8において、TCS情報切り替え機能部53は、切り替え直後のTCS情報を連続する「1」のデータに書き替えたが、連続する「0」のデータに書き替えてもよい。その他にも、制御部が読み出し失敗と判断するような所定のデータであれば、TCS情報をそのデータに書き替えてもよい。
【0085】
実施の形態3
本実施の形態にかかる計算機システムは、実施の形態2と同様、TCS情報の切り替え時にプロセッサが受信する時刻情報のデータ化けを防止することができる。具体的にいえば、TCS制御ユニットは、切り替え後、TCS32から供給されるストローブ信号を所定の期間、プロセッサに供給しない(ストローブ信号をマスクする)ことで、プロセッサにTCS情報を読み出し失敗と判定させる。
【0086】
以下、実施の形態3について説明する。本実施形態にかかる時刻同期化システムの全体構成例は、図3に示した通りである。本実施形態にかかる計算機システム40において、実施の形態2と異なる点は、次の通りである。TCS制御ユニット50がTCS31、TCS32から受信したTCS情報のトランザクションは、TCS制御ユニット50により、そのままプロセッサに転送される。換言すれば、TCSインタフェース受信部51、52は、TCS情報のトランザクションをバッファとして一時保存する必要はない。
【0087】
さらに、実施の形態3において、図3に示したプロセッサ61〜63は、分配されたTCS31又はTCS32のストローブ信号のストローブの数(データ数)をカウントする機能を保持する。図4、図5のフォーマットの例では、ストローブ、データともに108回送信される。そのため、カウンタ値の初期値をゼロとした場合、1つのフォーマットを全てカウントすると、最終的なカウンタ値は107となる。
【0088】
その他の計算機システムの構成、TCSの動作については、実施の形態2と同様であるため、説明を省略する。TCS情報のフォーマット及びシリアル転送フォーマット、計算機システムがデータ化けを起こすプロセスについても、図4、図5及び図7に示した通りである。
【0089】
次に、図9を用いて、本実施の形態の制御ユニット50及びプロセッサ61〜63の処理について説明する。図9(a)は、実施の形態3における、TCS情報の更新トランザクションの周期及びトランザクションの更新までの時間を示したものである。1回のTCS情報トランザクションの更新に要する時間、つまり、1つのフォーマットの時間(1つのTCS情報を送出する時間)はαとして示される。TCS情報更新トランザクションの最後のデータから次のTCS情報更新トランザクションの最初のデータまでの時間、つまりTCS情報が更新されるまでの時間間隔はβとして示される。以上から、1つのTCS情報の送出が開始されてから、次のTCS情報の送出が開始されるまでの時間(TCS情報の周期)はα+βとして表される。なお、α、βはともに、一定の期間である。以上の時間α、βは、TCS31及びTCS32において共通である。
【0090】
以上から、プロセッサのストローブカウンタが107ではない状態でβだけ時間が経過した場合、1つのフォーマットのデータ全体を受信せずに、TCS情報の間隔が経過した異常ケースと判定できる。プロセッサは、ストローブ信号を用いてデータ信号の読み出しを行っているため、ストローブ信号がない場合に出力されたデータ信号は読み出すことができないためである。実施の形態3において、プロセッサがこのような異常ケースを検出した場合、プロセッサは、TCS情報の読み出しに失敗したと判定し、読み出し失敗フラグをONにする。
【0091】
図9(b)は、TCS31からTCS32への切り替え時に、制御ユニット50及びプロセッサ61〜63が行う処理の例について示している。TCS31及びTCS32は、同じタイミングでTCS情報を出力している。
【0092】
図9(b)では、破線のタイミングで、TCS31からTCS32へのTCS情報の切り替えが発生している。TCSを切り替えたとき、TCS情報切り替え機能部53は、TCS32のストローブ信号を一定期間ゼロにクリアして、TCS情報送出部54に送出する。これにより、TCS情報送出部54は、ストローブ信号のプロセッサへの送出を一定期間停止する。つまり、TCS制御ユニット50は、プロセッサが出力する制御信号に応じて、プロセッサへのタイミング信号の送出を停止する。なお、プロセッサは、制御信号を出力した後も、TCS情報読み出しの処理(図6のステップS1)を実行している。
【0093】
このストローブ信号をゼロにする時間をτとする。ここでτをβよりも長く、α+βよりも短い値とした場合、図9(b)のマスク解除(ストローブ信号の送出再開)のタイミングで、ストローブ信号の送出が再開される。
【0094】
図9(b)に示した場合では、TCS情報読み出し命令に応じた処理において、切り替え直前に読み出したTCS31のTCS情報の読み出し失敗フラグはONである。これは、前述の異常ケース(ストローブカウンタ不正)が生じるためである。次に、TCS情報読み出しを再実行しても、切り替え直後に読み出したTCS32のストローブ信号は一部マスクされている。そのため、前述の異常ケース(ストローブカウンタ不正)が生じ、やはり読み出し失敗フラグはONとなる。この場合、図6のフローチャートにおいて、同じ処理中で読み出し失敗フラグが2回ONになる。
【0095】
しかし、その次のTCS情報の読み出しは正常に実行される。これは、ストローブ信号のマスクが解除されており、プロセッサは正常にTCS情報のフォーマットが読み出せるためである。このため、同じ処理中で読み出し失敗フラグが3回ONになることはなく、TCS情報読み出し命令は異常終了とならない。これにより、プロセッサは、TCS情報の読み出しが正常に行われるため、TCS情報読み出し命令を正常終了することができる。
【0096】
以上のTCS制御ユニット50の処理により、実施の形態2と同様、切り替わり時に発生し得る無効データの使用を回避することが可能となる。さらに、ストローブ信号をゼロにする時間τをβよりも長く、α+βよりも短い値としたことで、プロセッサは、正確な時刻情報を速やかに取得することができる。例えば、図6のフローにおいて、異常終了とされる前のリトライ処理の段階で、プロセッサは正確な時刻情報を取得することができる。つまり、計算機システム40は、自身の有する時刻情報を、正確な時刻情報に速やかに更新することができる。
【0097】
さらに、本実施形態にかかる制御ユニットでは、TCSから受信したTCS情報をバッファとして一時保存する必要がない。そのため、TCS制御ユニットの構成(計算機システムの構成)を、実施の形態2と比較して、より簡単にすることができる。
【0098】
実施の形態4
実施の形態4において、TCS制御ユニットは、複数のTCSから受信したTCS情報の内容を認識した上で、プロセッサに送出している。TCS情報切り替え機能部53は、TCS情報を切り替えるときに、切り替えた直後にプロセッサに送出するTCS情報中のフラグを書き替える。なお、このフラグは、TCS情報が切り替えられたことを示す識別情報の一例である。
【0099】
プロセッサは、そのフラグに基づき、受信したTCS情報を無効と判定する。これにより、プロセッサは、切り替え直後のTCS情報を取得することがない。このようにすることで、切り替え時にプロセッサが受信する時刻情報のデータ化けを防止することができる。
【0100】
実施の形態4にかかる計算機システムの全体構成については、実施の形態2と殆ど同様である。実施の形態2と異なる点は、TCS制御ユニット50が、TCS31が送出するTCS情報及びTCS32が送出するTCS情報の内容(図4に示したフォーマットの内容)を検知していることである。
【0101】
本実施の形態において、図4に示すTCS情報のフォーマットのステータス部分には、「データ更新中フラグ」がある。このデータ更新中フラグがON、つまり「1」の値をとっているとき、TCS情報を受信したプロセッサは、TCS情報読み出しを再実行する。また、受信したTCS情報は、OSに送信せず、無効化される。これは、図6のTCS情報読み出し命令フローチャートにおいて説明した通りである。
【0102】
その他の計算機システムの構成及び動作については、実施の形態2と同様であるため、説明を省略する。
【0103】
TCS情報切り替え機能部53は、制御信号に基づいてTCS情報を切り替えるタイミングで、次にプロセッサに送出するTCS情報のフォーマットのステータスのデータ更新中フラグをONにする。これにより、ステータス中のフラグを、データが有効ではないというフラグに差し替える。なお、プロセッサは、制御信号を出力した後も、TCS情報読み出しの処理を実行している。プロセッサは、TCS情報を読み出したときに、データ更新中フラグがONであると判定し、TCS情報読み出しを再実行する。
【0104】
ここで、図6において、ステップS2の判定からTCS情報読み出しを再実行するまでの間に、ステップS5にあるような時間待ち処理をいれることが望ましい。これにより、プロセッサは再読み込みの動作を何回も行わずにすむため、TCS情報読み込み処理の異常終了を回避することができる。あるいは、OSによるタイムアウトの判定により、TCS情報読み込み処理が終了することを回避することができる。
【0105】
なお、本実施形態では、TCSインタフェース受信部51、52が、それぞれTCS31、32からのTCS情報のトランザクションをすべて受信する。そして、TCS情報切り替え機能部53は、プロセッサからの制御信号に応じて、TCSインタフェース受信部が受信した、異常があるTCSのTCS情報ステータスのデータ更新中フラグを差し替える。そのため、トランザクションデータをすべて格納するバッファが、TCSインタフェース受信部51、52の2か所で必要となる。
【0106】
TCS制御ユニット50は、ステータスのデータ更新中フラグをONにするのではなく、データ更新中フラグに相当する別のフラグを、TCS情報に新規追加してもよい。プロセッサは、そのフラグを検知した後、同様に、TCS情報読み出しを再実行する。TCS制御ユニット50は、制御信号に応じて、TCS情報を、TCS情報が切り替えられたことを示す識別情報を含む任意のデータに書き替えた上で、プロセッサに出力することができる。プロセッサは、その識別情報に基づいて、TCS情報の読み出し失敗を判定する。
【0107】
以上、実施の形態2〜4にかかるTCSが多重化された時刻供給システムについて説明した。この時刻供給システムにおいて、動作している一方のTCSに障害が発生した場合、TCS制御ユニットは、プロセッサに供給するTCS情報を、故障していない他方のTCSのものに動的に切り替える。このタイミングにおいて、TCS制御ユニットは、他方のTCSが発行するTCS情報のデータを故意に書き替えるか、ストローブ信号のプロセッサへの供給を停止する。このようにして、プロセッサが受信するTCS情報が無効となるように化かすことで、切り替え時に発生し得る不正データをプロセッサに受け取らせないようにする。例えば、プロセッサにてリトライ処理を起こさせている。このようにして、TCS情報切り替え時のデータ化けを防止することができる。
【0108】
実施の形態2〜4では、複数あるTCSはいずれも動作中であるため、計算機システムに追加するハードウェアは少なくて済む。なお、TCS情報切り替えのタイミングと、TCSトランザクションの発行タイミングが衝突する確率は、TCSトランザクションの処理時間及びTCSトランザクションの発行間隔により上下する。TCS情報切り替えのタイミングと、TCSトランザクションの発行タイミングが衝突すると、切り替える直前に受信したTCS情報のデータと、切り替える直後に受信したTCS情報のデータとが組み合されて、TCS情報のデータ化けが発生する。このデータ化けにより、時刻情報が不正となった場合、計算機システムが不正な時刻情報を定期的に補正出来ない場合には、これはコンピュータシステムの致命的なデータ化けとなる。
【0109】
シミュレーション、実機評価においても、冗長構成したTCSの切り替え時に、過渡的な条件を洗いだして検証することは難しい。システム運用中に時刻データ化けとなった場合も原因を特定するには難易度が高く、原因判明まで時間がかかる。このため、本実施の形態2〜4に記載した通り、過渡的なタイミングを漏れなく押さえて、データ化け防止の処理をすることは非常に重要である。
【0110】
TCS等の装置を多重化されていない状態から多重化するように改善した場合、上述の説明と同様にデータ化けを回避するためには、ハードウェア、ファームウェア、ソフトウェアを組み合せて、複雑な処理を実行しても、データ化けの回避は実現可能である。しかし、実施の形態2〜4のように少ない処置で対策ができれば、TCS以外の装置でも多重化の必要が生じたときにも、実施の形態2〜4の方法を利用して、対策を講じることができる。
【0111】
本実施形態2〜4にかかる時刻供給システムは、多重化しているコンピュータシステムの切り替え時の制御を簡易化できるため、デュアルシステム、デュプレックスシステム、フォールトトレラントコンピュータ分野で利用可能である。
【0112】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、TCSの数、計算機システム中のプロセッサの数は、図1、図3に記載したものに限られない。TCSは、2個に限らず、3個以上といったように、複数備えられていればよい。プロセッサは、任意の数だけ備えられていてもよい。
【0113】
計算機システム中に複数のプロセッサがある場合、「TCS制御ユニット−プロセッサA−プロセッサB−OS」という構造で接続されていてもよい。その場合、プロセッサAはプロセッサBに対するインタフェースを有している。さらに、図3においてTCS情報受信部31、TCS情報受信部32がなくて、TCS31、TCS32が、TCS制御ユニット50のTCS情報切り替え機能部53に直接接続されていてもよい。
【0114】
TCS情報のフォーマットも、図4に示したものに限られない。例えば、TCS情報の中身は、年月日だけといった、図4の例より少ない情報で構成されていてもよい。図4の例に記載されていない情報であっても、他の種類の時刻情報で構成されていてもよい。さらに、フォーマット中のパリティも、8ビットに対して1パリティが付与されなくてもよく、4ビットに対して1パリティ、又は16ビットに対して1パリティといったように、ビットとパリティの比率の組み合わせが異なってもよい。
【0115】
図5(a)に示したシリアル転送フォーマットにおいて、記載されたデータ転送順以外で、データが送信されてもよい。データ転送は、シリアル転送ではなく、パラレル転送によって転送されてもよい。転送波形についても、図5(b)のように、ストローブの立ち上がり及び立ち下がりでデータをセットするのではなく、ストローブの立ち上がりのみでデータをセットしてもよいし、ストローブの立ち下がりのみでデータをセットしてもよい。
【0116】
図6のフローチャートにおいて、ステップS2におけるデータ更新中フラグの判定、ステップS3における読み出し失敗フラグの判定、ステップS6におけるステータス異常の判定は、この順番に実施されなくてもよい。プロセッサは、このステップS2、ステップS3、ステップS6の判定を全て行わず、どれか1つ又は2つだけの判定を行ってもよい。
【0117】
図6のフローチャートにおいて、データ更新中フラグがONである場合(ステップS2でYes)、プロセッサは、TCS情報読み出しを再実行する。再実行した後、読み出し失敗フラグがONであり(ステップS3でYes)、その処理中に読み出し失敗フラグがONになったのは初めてである場合(ステップS4でNo)、図6のフローチャートにおいてプロセッサファームウェアは、同じプロセッサにTCS情報を再度読み出させる。しかし、この場合、処理を行ったプロセッサが故障している可能性もありえる。そこで、同じプロセッサに命令を再実行させず、命令を異常終了させて、別のプロセッサに処理を引き継がせて、その別プロセッサでTCS情報読み出し命令を処理してもよい。要するに、プロセッサは、送出された時刻情報のデータが正常でない場合、そのデータに基づいて処理を行わないようにする、つまりそのデータをOSに送信しないようにするならば、他のフローで処理を行ってもよい。
【0118】
実施の形態2〜4において、1つのトランザクション中の情報量が所定の量ではない、あるいはデータが無効である(壊れている)といったTCS情報の異常があったときには、プロセッサは読み出し失敗フラグをONに設定した。そして、図6の処理フロー中のステップS3にて、TCS情報のエラーを判定した。しかし、読み出し失敗フラグという1つのフラグではなく、異常の種類毎に異なるフラグを設けてもよい。TCS情報の異常があった場合、異常に対応したフラグをONにして、プロセッサは図6と同様に、TCS情報の再度の読み出しを行う。
【0119】
実施の形態2において、TCS情報切り替え機能部は、切り替え直後にプロセッサに送出するトランザクションのデータのみを無効なデータになるように書き替えた。しかし、TCS情報切り替え機能部は、切り替えた後、所定のフォーマット数(例えば数個程度)のTCS情報を、無効なデータになるように書き替えてもよい。実施の形態4においても同様である。
【0120】
実施の形態3において、TCS情報切り替えからマスク解除までの時間τは、図9において示した通り、トランザクション同士の間隔βよりも長く、TCS情報の周期α+βよりも短い値である。しかし、TCS情報切り替えからマスク解除までの時間は、この時間に限られない。たとえば、βよりも短く、1ビットの時刻情報を送出する時間よりも長い時間を、TCS情報切り替えからマスク解除までの時間としてもよい。あるいは、α+βよりも長い時間を、TCS情報切り替えからマスク解除までの時間としてもよい。
【0121】
ただし、プロセッサが確実にデータを無効と検知するためには、マスク解除までの時間を時刻情報の間隔βよりも長くとるのが望ましい。
【0122】
さらに、計算機システムができるだけ早い段階でマスク解除を行い、正常な時刻情報を取得するためには、TCS情報の周期α+βよりも短い時間を、マスク解除までの時間とするのが望ましい。この理由は以下の通りである。図9(a)において、左端のデータ信号が出力されてから真ん中のデータ信号が出力されるまでの間にTCS情報切り替えが行われたとする。その場合、マスク解除までの時間がα+βよりも短ければ、プロセッサは2番目に出力されるデータ信号(右端のデータ信号)を確実に取得することができる。なお、TCS情報切り替え後、最初に出力されるデータ信号(真ん中のデータ信号)は、マスク解除までの時間がβよりも長いため、プロセッサが正常に取得することはできない。
【0123】
左端のデータ信号が出力されている最中にTCS情報切り替えが行われた場合でも、マスク解除までの時間がα+βよりも短ければ、プロセッサは右端のデータ信号を確実に取得することができる。つまり、マスク解除までの時間をTCS情報の周期α+βより短い値にすることによって、TCS情報切り替え処理が行われた後、2番目に出力されたTCS情報を確実に取得することができる。以上より、計算機システムが確実にデータを無効と検知し、かつできるだけ早く正常な時刻情報を取得するためには、β<τ<α+βであるのが望ましい。
【0124】
実施の形態3において、切り替え時にマスクされる信号は、ストローブではなくてデータでもよい。切り替え時に、全てのストローブ又はデータをマスクしなくてもよい。プロセッサがエラーを検出できるように、TCS情報切り替え機能部がマスクを行うようにすれば、実施の形態に記載した以外のマスクの方法でもよい。
【0125】
実施の形態1〜4に示した本発明の計算機システムの動作は、制御方法の1つとして、計算機システムに実行させることができる。例えば、制御プログラムとして携帯機器に実行させることができる。また、当該制御プログラムは、計算機システムによって読み取り可能なようにプログラム記録媒体に記録されてもよい。
【0126】
さらに、実施の形態2〜4に示した時刻情報切り替え部の処理は、実施の形態1に示した時刻情報切り替え装置でも、同様に実行することができる。
【符号の説明】
【0127】
10 時刻同期化システム
11、12 時刻同期化装置
20 計算機システム
21 時刻情報切り替え部
22 制御部
23 時刻情報切り替え装置
24 制御装置
25 切り替え機能部
26 送出部
30 時刻同期化システム
31、32 TCS(時刻同期化装置)
40 計算機システム
50 TCS制御ユニット
51、52 TCSインタフェース受信部
53 TCS情報切り替え機能部
54 TCS情報送出部
61、62、63 プロセッサ
64 TCS情報受信部
65 OSインタフェース受信部
66 OSインタフェース送信部
70 OS

【特許請求の範囲】
【請求項1】
第1の時刻同期化装置から送信される第1の時刻情報及び第2の時刻同期化装置から送信される第2の時刻情報を受信して、入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて送出する時刻情報切り替え部と、
前記時刻情報切り替え部が送出した前記第1の時刻情報又は前記第2の時刻情報を読み出して同期処理を行うとともに、前記時刻情報切り替え部に前記制御信号を出力する制御部と、
を備える計算機システム。
【請求項2】
前記時刻情報切り替え部は、前記制御部に、前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報と、当該時刻情報の読み出しに必要なタイミング信号と、を送出し、前記制御信号に応じて前記制御部への前記タイミング信号の送出を停止する、
請求項1に記載の計算機システム。
【請求項3】
前記時刻情報切り替え部は、前記制御信号を受信してから所定の時間の経過後、前記制御部への前記タイミング信号の送出を再開する、
請求項2に記載の計算機システム。
【請求項4】
前記所定の時間は、前記時刻情報の間隔よりも長い時間であり、1つの前記時刻情報を送出する時間と前記時刻情報の間隔とを足した時間よりも短い時間である、
請求項3に記載の計算機システム。
【請求項5】
前記時刻情報切り替え部は、前記制御信号に応じて、時刻情報を前記制御部が読み出し失敗と判定する所定のデータに書き替えて前記制御部に送出する、
請求項1に記載の計算機システム。
【請求項6】
前記時刻情報切り替え部は、前記制御信号に応じて、切り替え直後の1つの前記時刻情報を前記所定のデータに書き替えて前記制御部に送出する、
請求項5に記載の計算機システム。
【請求項7】
前記所定のデータは、連続する1又は0のデータである、
請求項5又は6に記載の計算機システム。
【請求項8】
前記所定のデータは、時刻情報が切り替えられたことを示す識別情報を含むデータである、
請求項5又は6に記載の計算機システム。
【請求項9】
第1の時刻同期化装置が送信する第1の時刻情報及び第2の時刻同期化装置が送信する第2の時刻情報を受信して、制御装置から入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて出力する切り替え機能部と、
前記切り替え機能部が出力した時刻情報を前記制御装置に送出する送出部と、
を備える時刻情報切り替え装置。
【請求項10】
第1の時刻同期化装置から送信される第1の時刻情報及び第2の時刻同期化装置から送信される第2の時刻情報を受信するステップと、
入力される制御信号に応じて前記第1の時刻情報又は前記第2の時刻情報のいずれかの時刻情報を切り替えて送出するステップと、
送出された前記時刻情報を読み出して、読み出した当該時刻情報に基づいて前記制御信号を出力するステップと、
を備える計算機システムの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−41322(P2013−41322A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−175926(P2011−175926)
【出願日】平成23年8月11日(2011.8.11)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】