(57)【特許請求の範囲】
【請求項１】
稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部が所定の時間間隔で稼働系の時計情報を読み出し、自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が所定の時間間隔で前記第２の記憶部から稼働系の時計情報を取得するステップと、前記取得した稼働系の時計情報と前記待機系装置制御部に備えられた第３の記憶部に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部に格納するステップとを有することを特徴とする二重化装置における時計情報の同期化方法。
【請求項２】
稼働系，待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報と年月日データを比較するステップと、年月日データが同じでなかった場合に前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、年月日データが同じであった場合、前記待機系装置制御部が稼働系の時計情報と待機系の時計情報の時分秒データの差を算出するステップと、この時分秒データの差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップとを有することを特徴とする二重化装置における時計情報の同期化方法。
【請求項３】
稼働系，待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部の第１の領域に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、この取得した稼働系の時計情報と前記第３の記憶部の第２の領域に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が稼働系の時計情報と前記第３の記憶部の前記第１の領域に登録された待機系の時計情報との差を算出するステップと、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部の前記第２の領域に格納するステップとを有することを特徴とする二重化装置における時計情報の同期化方法。
【請求項４】
稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部が所定の時間間隔で稼働系の時計情報を読み出し、自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が所定の時間間隔で前記第２の記憶部から稼働系の時計情報を取得する手段と、前記取得した稼働系の時計情報と前記待機系装置制御部に備えられた第３の記憶部に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断する手段と、再設定時間間隔になっていた場合、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段と、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部に格納する手段とを有することを特徴とする二重化装置。
【請求項５】
稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出す手段と、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録する手段と、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報と年月日データを比較する手段と、年月日データが同じでなかった場合に前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段と、年月日データが同じであった場合、前記待機系装置制御部が稼働系の時計情報と待機系の時計情報の時分秒データの差を算出する手段と、この時分秒データの差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段とを有することを特徴とする二重化装置。
【請求項６】
稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出す手段と、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部の第１の領域に登録する手段と、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、この取得した稼働系の時計情報と前記第３の記憶部の第２の領域に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断する手段と、再設定時間間隔になっていた場合、前記待機系装置制御部が稼働系の時計情報と前記第３の記憶部の前記第１の領域に登録された待機系の時計情報との差を算出する手段と、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段と、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部の前記第２の領域に格納する手段とを有することを特徴とする二重化装置。
【請求項７】
稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部が所定の時間間隔で稼働系の時計情報を読み出し、自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が所定の時間間隔で前記第２の記憶部から稼働系の時計情報を取得するステップと、前記取得した稼働系の時計情報と前記待機系装置制御部に備えられた第３の記憶部に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部に格納するステップとをコンピュータに実行させるための同期化プログラム。
【請求項８】
稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報と年月日データを比較するステップと、年月日データが同じでなかった場合に前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、年月日データが同じであった場合、前記待機系装置制御部が稼働系の時計情報と待機系の時計情報の時分秒データの差を算出するステップと、この時分秒データの差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップとをコンピュータに実行させるための同期化プログラム。
【請求項９】
稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部の第１の領域に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、この取得した稼働系の時計情報と前記第３の記憶部の第２の領域に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が稼働系の時計情報と前記第３の記憶部の前記第１の領域に登録された待機系の時計情報との差を算出するステップと、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部の前記第２の領域に格納するステップとをコンピュータに実行させるための同期化プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二重化装置における時計情報の同期化方法，二重化装置および同期化プログラムに関し、特に稼働系，待機系装置制御部を備え、稼働系装置制御部が障害時に待機系装置制御部に処理を引き継ぐよう制御される装置において、稼働系，待機系それぞれの時計情報を同期化させる、二重化装置における時計情報の同期化方法，二重化装置および同期化プログラムに関する。
【０００２】
【従来の技術】
従来、稼働系，待機系装置制御部を備えた二重化装置においては、図６に示すように、各装置制御部に実装されている時計ＩＣから時計ＩＣ情報を読み出し、各装置制御部で使用する時計情報に変換していた。各時計ＩＣは保守作業員が各装置制御部から時計情報を設定するが、各時計ＩＣの持つ個体誤差により、時間が経過するにつれて互いの時計情報がずれてしまう。このことにより、コマンド実行履歴やエラー情報等に付随する時計情報も、稼働系側と待機系側でずれてくることになる。例えば、稼働系がある時間に障害を発生し、待機系に処理を引き継ごうとした場合に、エラー情報に相手側に処理を引き継いだという情報を記録する。引き継いだ待機系側も相手から処理を引き継いだことをエラー情報に記録する。この際に、待機系だった方が時間が進んでいた場合、保守作業員が障害解析する際に、お互いの引き継いだという情報から検索しなければならなかった。しかし、連続で同じ障害を繰り返した場合には、お互いの情報が正しく組み合わせられているのかを判断するのに、非常に工数がかかっていた。また、従来の稼働系，待機系装置制御部を備えた二重化装置においては、保守作業員が時計情報を時計ＩＣに設定する際に、各時計ＩＣが実装されている各装置制御部からそれぞれ設定しなければならず、同じ作業を２回行わなければならなかった。
【０００３】
また、特開２０００−１３８６７９号公報の「分散制御システムにおける複数制御装置間の同期制御方法」においては、図７に示すような二重化した制御装置の同期化について記載されている。この発明は、図７の制御装置５１〜５３、並列動作式二重化制御装置５４、監視制御装置５５，５６、伝送回線５７で構成され、或る制御装置から他の全制御装置へ制御演算データ列にそのときの現在時刻を付加してマルチキャスト送信することにより、複数制御装置間で同一のデータによる同期した動作を可能にしている。しかし、この発明はデータの送受信時のみでしか同期することはできず、装置が未動作の場合には、時計自体のずれは発生する。さらに、この発明の目的とするところは、複数の制御装置間で同一のデータによる同期制御を可能にすることであり、時計情報の設定ではない。
【０００４】
【発明が解決しようとする課題】
本発明は、以上の問題を解決し、稼働系，待機系装置制御部を備えた二重化装置において、稼働系，待機系装置制御部にそれぞれ備えられた時計情報の同期化を実現する、二重化装置における時計情報の同期化方法，二重化装置および同期化プログラムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明の第１の二重化装置における時計情報の同期化方法は、稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部が所定の時間間隔で稼働系の時計情報を読み出し、自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が所定の時間間隔で前記第２の記憶部から稼働系の時計情報を取得するステップと、前記取得した稼働系の時計情報と前記待機系装置制御部に備えられた第３の記憶部に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部に格納するステップとを有する。
【０００６】
本発明の第２の二重化装置における時計情報の同期化方法は、稼働系，待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報との差を算出するステップと、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップとを有する。
【０００７】
本発明の第３の二重化装置における時計情報の同期化方法は、稼働系，待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報と年月日データを比較するステップと、年月日データが同じでなかった場合に前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、年月日データが同じであった場合、前記待機系装置制御部が稼働系の時計情報と待機系の時計情報の時分秒データの差を算出するステップと、この時分秒データの差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップとを有する。
【０００８】
本発明の第４の二重化装置における時計情報の同期化方法は、稼働系，待機系装置制御部を備えた二重化装置における時計情報の同期化方法であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部の第１の領域に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、この取得した稼働系の時計情報と前記第３の記憶部の第２の領域に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が稼働系の時計情報と前記第３の記憶部の前記第１の領域に登録された待機系の時計情報との差を算出するステップと、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部の前記第２の領域に格納するステップとを有することを特徴とする二重化装置における時計情報の同期化方法。
【０００９】
本発明の第１の二重化装置は、稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部が所定の時間間隔で稼働系の時計情報を読み出し、自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が所定の時間間隔で前記第２の記憶部から稼働系の時計情報を取得する手段と、前記取得した稼働系の時計情報と前記待機系装置制御部に備えられた第３の記憶部に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断する手段と、再設定時間間隔になっていた場合、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段と、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部に格納する手段とを有する。
【００１０】
本発明の第２の二重化装置は、稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出す手段と、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録する手段と、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報との差を算出する手段と、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段とを有する。
【００１１】
本発明の第３の二重化装置は、稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出す手段と、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録する手段と、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報と年月日データを比較する手段と、年月日データが同じでなかった場合に前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段と、年月日データが同じであった場合、前記待機系装置制御部が稼働系の時計情報と待機系の時計情報の時分秒データの差を算出する手段と、この時分秒データの差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段とを有する。
【００１２】
本発明の第４の二重化装置は、稼働系／待機系装置制御部を備え、前記稼働系／待機系装置制御部の時計情報を同期化する二重化装置であって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出す手段と、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録する手段と、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部の第１の領域に登録する手段と、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、この取得した稼働系の時計情報と前記第３の記憶部の第２の領域に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断する手段と、再設定時間間隔になっていた場合、前記待機系装置制御部が稼働系の時計情報と前記第３の記憶部の前記第１の領域に登録された待機系の時計情報との差を算出する手段と、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定する手段と、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部の前記第２の領域に格納する手段とを有する。
【００１３】
本発明の第１の同期化プログラムは、稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部が所定の時間間隔で稼働系の時計情報を読み出し、自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が所定の時間間隔で前記第２の記憶部から稼働系の時計情報を取得するステップと、前記取得した稼働系の時計情報と前記待機系装置制御部に備えられた第３の記憶部に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部に格納するステップとをコンピュータに実行させる。
【００１４】
本発明の第２の同期化プログラムは、稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報との差を算出するステップと、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップとをコンピュータに実行させる。
【００１５】
本発明の第３の同期化プログラムは、稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、前記第３の記憶部に登録された待機系の時計情報と年月日データを比較するステップと、年月日データが同じでなかった場合に前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、年月日データが同じであった場合、前記待機系装置制御部が稼働系の時計情報と待機系の時計情報の時分秒データの差を算出するステップと、この時分秒データの差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップとをコンピュータに実行させる。
【００１６】
本発明の第４の同期化プログラムは、稼働系／待機系装置制御部を備えた二重化装置における時計情報の同期化を制御する同期化プログラムであって、
前記稼働系装置制御部および前記待機系装置制御部が所定の時間間隔でそれぞれ稼働系，待機系の時計情報を読み出すステップと、前記稼働系装置制御部が読み出した稼働系の時計情報を自制御部に備えられた第１の記憶部および前記待機系装置制御部に備えられた第２の記憶部に登録するステップと、前記待機系装置制御部が読み出した待機系の時計情報を自制御部に備えられた第３の記憶部の第１の領域に登録するステップと、前記待機系装置制御部が前記第２の記憶部から稼働系の時計情報を取得し、この取得した稼働系の時計情報と前記第３の記憶部の第２の領域に記録された前回再設定時の時計情報とを比較し、予め定めた再設定時間間隔になったかを前記待機系装置制御部が判断するステップと、再設定時間間隔になっていた場合、前記待機系装置制御部が稼働系の時計情報と前記第３の記憶部の前記第１の領域に登録された待機系の時計情報との差を算出するステップと、この差が予め定めた値以上であった場合に、前記待機系装置制御部が待機系の時計情報を稼働系の時計情報に合わせて再設定するステップと、待機系の時計情報を再設定した後、その時計情報を前記待機系装置制御部が前記第３の記憶部の前記第２の領域に格納するステップとをコンピュータに実行させる。
【００１７】
【発明の実施の形態】
本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
図１は、本発明の実施の形態の構成を示すブロック図である。ここでは、二重化装置の一例として集合型磁気テープ装置について示している。集合型磁気テープ装置は、稼働系装置制御部０１と、待機系装置制御部０２と、左アクセッサ制御部１１と、右アクセッサ制御部１２とを備え、さらに、稼働系装置制御部０１対応にＤＰＭ（デュアルポートメモリ）２１および時計ＩＣ３１を、待機系装置制御部０２対応にＤＰＭ２２および時計ＩＣ３２を備え、ＤＰＭおよび時計ＩＣは各装置制御部に実装されている。なお、これら構成要素間はバスにより接続されている。
【００１９】
稼働系装置制御部０１は、図示しない上位装置からの命令を受信し、左アクセッサ制御部１１および右アクセッサ制御部１２を動作させ各処理を行わせる。なお、装置制御部は稼働系装置制御部０１と待機系装置制御部０２とに分かれ、通常時に動作する稼働系装置制御部０１が障害発生等により動作できない状態になった場合、通常時は待機していた待機系装置制御部０２が稼働系装置制御部０１に移行し、上位装置からの命令を続行するようになっている。稼働系装置制御部０１，待機系装置制御部０２は同じ構成の装置制御部であり、障害時等の切り換えによりいずれも稼働系，待機系のどちらにもなり得るが、ここでは図１に示すように、０１が稼働系装置制御部、０２が待機系装置制御部として動作している場合について説明する。なお、稼働系装置制御部０１および待機系装置制御部０２は、図示していない記憶手段に記憶された同期化プログラムにより制御され、同期化プログラムは稼働系装置制御部０１，待機系装置制御部０２の動作を制御する。
【００２０】
左アクセッサ制御部１１および右アクセッサ制御部１２は、稼働系装置制御部０１からの命令を受信し、集合型磁気テープ装置の動作を実行する。なお、この動作実行の詳細について本発明の本旨ではないので説明は省略する。
【００２１】
ＤＰＭ２１，２２は、稼働系装置制御部０１，待機系装置制御部０２の情報を保存しておくためのメモリであり、集合型磁気テープ装置で実行されたコマンドの履歴や、エラー情報、アクセッサの動作回数等を記録したり、装置設定状況等を保存している。
【００２２】
時計ＩＣ３１，３２は、稼働系装置制御部０１，待機系装置制御部０２の時計情報をそれぞれ保持しており、ＤＰＭ２１，２２に記録される情報に時計情報を付加する際に、時計ＩＣから時計情報が読み出される。時計ＩＣ３１，３２は単体でも動作するため、稼働系装置制御部０１，待機系装置制御部０２が電源ＯＦＦの状態でも、時計情報を保持している。また、時計ＩＣ３１は稼働系装置制御部０１から、時計ＩＣ３２は待機系装置制御部０２から、それぞれ保守作業員の人手による時計情報の設定が可能になっている。
【００２３】
図２は、各装置制御部と各ＤＰＭ間の読み出し，書き込みの関係を示す図であり、各装置制御部は自系のＤＰＭからの読み出しと、自系および他系のＤＰＭへの書き込みを行うことが可能である。各ＤＰＭは自制御部情報格納領域と他制御部情報格納領域を備えており、自制御部情報格納領域には自系の装置制御部からの装置制御部情報が書き込まれ、他制御部情報格納領域には他系の装置制御部からの装置制御部情報が書き込まれる。稼働系装置制御部０１，待機系装置制御部０２は、各自の装置制御部情報をＤＰＭ２１，２２の両方に対して書き込みを行う。各装置制御部は自系のＤＰＭからのみ読み出しできるが、各ＤＰＭには自制御部情報，他制御部情報の両方が格納されているため、いずれの情報の読み出しも可能となっている。
【００２４】
これにより、いつでも稼働系と待機系を切り替えることができ、常に相手側の装置情報を参照することができる。
【００２５】
次に、本発明の実施の形態の動作について図面を参照して説明する。
【００２６】
最初に、本発明の第１の実施の形態の動作について図１〜図３を参照して説明する。図３は、本発明の第１の実施の形態の動作を示すフローチャートである。
【００２７】
電源ＯＮ時、または各装置制御部がスイッチ操作等によりオフラインからオンラインに変更された場合に、稼働系装置制御部０１および待機系装置制御部０２は内部診断を行うが、その結果をフラグとして保持している。なお、ここで言うオンラインとは上位装置に接続できる状態であることを意味し、オフラインとは上位装置に接続できない状態であることを意味している。そして、稼働系装置制御部０１および待機系装置制御部０２は、所定間隔毎（例えば３０ｍｓ毎）に保持しているフラグを確認し、エラーが発生していないならばステップＡ２へ、エラーが発生しているならばステップＡ３へ進む。なお、ステップＡ３へ進む場合は、稼働系装置制御部０１および待機系装置制御部０２の両装置制御部が共にエラーとなり、稼働系と待機系を確定できなかった場合である（ステップＡ１）。
【００２８】
ステップＡ１による内部診断結果、エラーが発生していなかった場合は、各装置制御部は稼働系/待機系の確定情報を確認し、自装置制御部が稼働系か待機系かを判断する。なお、稼働系/待機系の確定情報の設定方法については本発明の本旨でもなく、また従来の二重化装置において公知であるため詳細な説明は省略する（ステップＡ２）。
【００２９】
自装置制御部が稼働系であった場合、稼働系装置制御部０１は、時計ＩＣ３１から時計設定情報を読み出し（ステップＡ３）、時計設定情報から１０進数に変換しメモリ上で参照できる形にして（ステップＡ４）、図２に示す、ＤＰＭ２１の自制御部情報格納領域の時計情報を格納する領域と、ＤＰＭ２２の他制御部情報格納領域の時計情報を格納する領域とに書き込む。なお、ステップＡ１において稼働系装置制御部０１および待機系装置制御部０２の両装置制御部が共にエラーとなり、稼働系と待機系を確定できなかった場合にも、両装置制御部は同様の処理を行う（ステップＡ５）。
【００３０】
ステップＡ２において自装置制御部が待機系であった場合、待機系装置制御部０２は、稼働系装置制御部０１により書き込まれた時計情報をＤＰＭ２２の他制御部情報格納領域から取得し、図示しない内部のＲＡＭのワークエリアに前回の更新記録としてコピーしておいた時計情報と比較する。なお、前回の更新記録としてコピーされた時計情報は、例えば、2001/08/22 16:28:30（2001年8月22日16時28分30秒）→  20010822162830とＲＡＭに格納されている。
【００３１】
このとき、比較する部分により、稼働系装置制御部０１と待機系装置制御部０２の時計情報の同期間隔が決定される。例えば、20010822162830の全部分を比較することにより１秒間隔となり、20010822162迄の部分を比較することにより１０分間隔となる。なお、比較する部分については、製品出荷時等に予め各装置制御部の図示しないＥＥＰＲＯＭ（不揮発性メモリ）に設定，保存しておくものとする。
【００３２】
上記比較の結果、時計情報の特定部分が同じであった場合はそのまま処理を終了し、同じでなかった場合はステップＡ７に進む。なお、１回目の処理時はＲＡＭワークエリアに前回の更新記録としての時計情報がコピーされていないため、ステップＡ７に進むことになる（ステップＡ６）。
【００３３】
ステップＡ６において時計情報の特定部分が同じでなかった場合は、稼働系装置制御部０１の新しい時計情報を、自制御部（待機系装置制御部０２）の時計ＩＣ３２に設定する。これにより、いつ装置制御部の稼働系／待機系が切り替わっても、同期した時計情報を引き継ぐことができる（ステップＡ７）。
【００３４】
時計情報を再設定した更新記録として、再設定した時計情報をＲＡＭにコピーする。このコピーした時計情報は、次回のステップＡ６における比較時に使用される（ステップＡ８）。
【００３５】
以後、ステップＡ１に戻りステップＡ１〜ステップＡ８の処理を繰り返す。これらの処理は、所定の間隔毎、例えば３０ｍｓ毎に呼び出されるルーチンであり、毎回毎回時計ＩＣを再設定すると時計ＩＣの耐久寿命を縮めることになるため、それを回避する為にステップＡ６において設定間隔を判断し負荷を軽減している。
【００３６】
次に、本発明の第２の実施の形態の動作について図１，図２および図４を参照して説明する。図４は、本発明の第２の実施の形態の動作を示すフローチャートである。
【００３７】
本発明の第１の実施の形態においては、待機系の時計情報を再設定したときの稼働系の時計情報をＲＡＭに記録しておき、稼働系の時計情報がＤＰＭに登録される度に前回更新記録のＲＡＭの時計情報と比較することにより、再設定の時間間隔になったかを判断し、両時計ＩＣの時計情報の差（ずれ）の有無に関係なく、一定の時間間隔で待機系の時計ＩＣ３２の時計情報を稼働系の時計ＩＣ３１の時計情報に合わせて再設定している。しかし、本実施の形態においては、待機系装置制御部０２にも時計ＩＣ３２からの読み出し処理と１０進数時計情報生成処理とを追加し、稼働系の時計ＩＣ３１の時計情報と待機系の時計ＩＣ３２の時計情報の間に予め設定した時間以上の差がある場合のみ、待機系の時計ＩＣ３２の時計情報を稼働系の時計ＩＣ３１の時計情報に合わせて再設定するようにした点が異なっている。
【００３８】
図４を参照すると、所定間隔毎（例えば３０ｍｓ毎）に、稼働系装置制御部０１は時計ＩＣ３１から、待機系装置制御部０２は時計ＩＣ３２からそれぞれ時計設定情報を読み出し（ステップＢ１）、時計設定情報から１０進数に変換しメモリ上で参照できる形にする（ステップＢ２）。そして、稼働系装置制御部０１および待機系装置制御部０２は、装置診断結果のフラグを確認しエラーが発生していないかを判断する。なお、装置診断結果のフラグについてはステップＡ１で述べた内容と同じである（ステップＢ３）。ステップＢ３よる内部診断の結果、エラーが発生していなかった場合は、各装置制御部は稼働系/待機系の確定情報を確認し、自装置制御部が稼働系か待機系かを判断する（ステップＢ４）。
【００３９】
自装置制御部が稼働系であった場合、稼働系装置制御部０１はステップＢ２で生成した時計ＩＣ３１の時計情報を、図２に示す、ＤＰＭ２１の自制御部情報格納領域の時計情報を格納する領域と、ＤＰＭ２２の他制御部情報格納領域の時計情報を格納する領域とに書き込む。なお、ステップＢ３において稼働系装置制御部０１および待機系装置制御部０２の両装置制御部が共にエラーとなり、稼働系と待機系を確定できなかった場合にも、両装置制御部は同様の処理を行う（ステップＢ５）。
【００４０】
ステップＢ４において自装置制御部が待機系であった場合、待機系装置制御部０２は、ステップＢ２で生成した時計ＩＣ３２の時計情報を図示しない内部のＲＡＭのワークエリアに格納する（ステップＢ６）。
【００４１】
次に、待機系装置制御部０２は、ＤＰＭ２２の他制御部情報格納領域に格納された稼働系の時計情報と、内部のＲＡＭに格納された待機系の時計情報とを比較する。このとき、まず年月日のデータが同じであるかを比較する（ステップＢ７）。
【００４２】
ステップＢ７において年月日のデータが同じであった場合は、待機系装置制御部０２は、稼働系の時計情報と待機系の時計情報の時分秒のデータの差を算出する。そして、その差が内部の図示しないＥＥＰＲＯＭに予め設定された指定個体差（例えば１０秒）以上かを判断する。１０秒未満の差であった場合は、時計ＩＣ３２の再設定は行わずそのまま処理を終了する（ステップＢ８）。
【００４３】
ステップＢ７において年月日のデータが同じでなかった場合、または、ステップＢ８において１０秒以上の差があった場合は、待機系装置制御部０２は、待機系の時計ＩＣ３２に対して稼働系の時計情報を設定する（ステップＢ９）。
【００４４】
以後、ステップＢ１に戻りステップＢ１〜ステップＢ９の処理を繰り返す。これらの処理は、所定の間隔毎、例えば３０ｍｓ毎に呼び出されるルーチンであり、毎回毎回時計ＩＣを再設定すると時計ＩＣの耐久寿命を縮めることになるため、それを回避する為に、稼働系の時計情報と待機系の時計情報の差が予め設定された値以上あった場合にのみ、時計ＩＣの再設定を行うようにして負荷を軽減している。
【００４５】
なお、以上説明した本実施の形態において、ステップＢ７を削除し、ステップＢ６からステップＢ８に進むようにしてもよい。この場合は、ステップＢ８において、年月日および時分秒を含んだ時計情報全体の差を算出することになる。
【００４６】
次に、本発明の第３の実施の形態の動作について図１，図２および図５を参照して説明する。図５は、本発明の第３の実施の形態の動作を示すフローチャートである。
【００４７】
本実施の形態は、第１の実施の形態と第２の実施の形態を組み合わせたものであり、図５に示す本実施の形態のステップＣ１〜Ｃ６，Ｃ８，Ｃ９は図４に示す第２の実施の形態のステップＢ１〜Ｂ６，Ｂ８，Ｂ９と同じであり、ステップＣ７，Ｃ１０は図３に示す第１の実施の形態のステップＡ６，Ａ８と同じである。すなわち、本実施の形態においては、稼働系の時計情報がＤＰＭに登録される度に前回更新記録のＲＡＭの時計情報と比較して再設定の時間間隔になったかを判断し、再設定の時間間隔になったときに、稼働系の時計ＩＣ３１の時計情報と待機系の時計ＩＣ３２の時計情報の差を算出し、予め設定した時間以上の差があった場合にのみ、待機系の時計ＩＣ３２の時計情報を稼働系の時計ＩＣ３１の時計情報に合わせて再設定するようにしている。
【００４８】
図５を参照すると、所定間隔毎（例えば３０ｍｓ毎）に、稼働系装置制御部０１は時計ＩＣ３１から、待機系装置制御部０２は時計ＩＣ３２からそれぞれ時計設定情報を読み出し（ステップＣ１）、時計設定情報から１０進数に変換しメモリ上で参照できる形にする（ステップＣ２）。そして、稼働系装置制御部０１および待機系装置制御部０２は、装置診断結果のフラグを確認しエラーが発生していないかを判断する。なお、装置診断結果のフラグについてはステップＡ１で述べた内容と同じである（ステップＣ３）。ステップＣ３よる内部診断の結果、エラーが発生していなかった場合は、各装置制御部は稼働系/待機系の確定情報を確認し、自装置制御部が稼働系か待機系かを判断する（ステップＣ４）。
【００４９】
自装置制御部が稼働系であった場合、稼働系装置制御部０１はステップＣ２で生成した時計ＩＣ３１の時計情報を、図２に示す、ＤＰＭ２１の自制御部情報格納領域の時計情報を格納する領域と、ＤＰＭ２２の他制御部情報格納領域の時計情報を格納する領域とに書き込む。なお、ステップＣ３において稼働系装置制御部０１および待機系装置制御部０２の両装置制御部が共にエラーとなり、稼働系と待機系を確定できなかった場合にも、両装置制御部は同様の処理を行う（ステップＣ５）。
【００５０】
ステップＣ４において自装置制御部が待機系であった場合、待機系装置制御部０２は、ステップＣ２で生成した時計ＩＣ３２の時計情報を図示しない内部のＲＡＭのワークエリアに格納する（ステップＣ６）。
【００５１】
次に、待機系装置制御部０２は、稼働系装置制御部０１により書き込まれた時計情報をＤＰＭ２２の他制御部情報格納領域から取得し、図示しない内部のＲＡＭのワークエリアに前回の更新記録としてコピーしておいた時計情報と比較する。なお、前回の更新記録としてコピーされた時計情報は、例えば、2001/08/22 16:28:30（2001年8月22日16時28分30秒）→  20010822162830とＲＡＭに格納されている。
【００５２】
このとき、比較する部分により、稼働系装置制御部０１と待機系装置制御部０２の時計情報の同期間隔が決定される。例えば、20010822162830の全部分を比較することにより１秒間隔となり、20010822162迄の部分を比較することにより１０分間隔となる。なお、比較する部分については、製品出荷時に予め各装置制御部の図示しないＥＥＰＲＯＭ（不揮発性メモリ）に設定，保存しておくものとする。
【００５３】
上記比較の結果、時計情報の特定部分が同じであった場合はそのまま処理を終了し、同じでなかった場合はステップＣ８に進む。なお、１回目の処理時はＲＡＭワークエリアに前回の更新記録としての時計情報がコピーされていないため、ステップＣ８に進むことになる（ステップＣ７）。
【００５４】
ステップＣ７において時計情報の特定部分が同じでなかった場合は、待機系装置制御部０２は、稼働系の時計情報と待機系の時計情報のデータの差を算出する。そして、その差が内部の図示しないＥＥＰＲＯＭに予め設定された指定個体差（例えば１０秒）以上かを判断する。１０秒未満の差であった場合は、時計ＩＣ３２の再設定は行わずそのまま処理を終了する（ステップＣ８）。
【００５５】
ステップＣ８において１０秒以上の差があった場合は、待機系装置制御部０２は、待機系の時計ＩＣ３２に対して稼働系の時計情報を設定する（ステップＣ９）。
【００５６】
時計情報を再設定した更新記録として、再設定した時計情報をＲＡＭにコピーする。このコピーした時計情報は、次回のステップＣ７における比較時に使用される（ステップＣ１０）。
【００５７】
以後、ステップＣ１に戻りステップＣ１〜ステップＣ１０の処理を繰り返す。これらの処理は、所定の間隔毎、例えば３０ｍｓ毎に呼び出されるルーチンであり、毎回毎回時計ＩＣを再設定すると時計ＩＣの耐久寿命を縮めることになるため、それを回避する為に、前回の設定から予め設定された時間間隔が経過し、かつ、稼働系の時計情報と待機系の時計情報の差が予め設定された値以上あった場合にのみ、時計ＩＣの再設定を行うようにして負荷を軽減している。
【００５８】
なお、以上の説明において、第１および第３の実施の形態における時計ＩＣの同期時間間隔（時計情報データのどの部分を比較するかの指定）や、第２および第３の実施の形態における指定個体差（この値により時計ＩＣの再設定を必要と判断するための、稼働系の時計情報と待機系の時計情報の差であるずれの値の指定）については、製品出荷時等に各装置制御部のＥＥＰＲＯＭ（不揮発性メモリ）に予め設定，保存しておくとして説明した。これに関しては、例えば設定値を予めプログラム上に組み込んでおく等により設定値を製品出荷後に変更できないようにしてもよいし、また、プログラム上では設定値としてＥＥＰＲＯＭ（不揮発性メモリ）のデータを参照するようにしておき、各装置制御部の保守パネル等からＥＥＰＲＯＭ（不揮発性メモリ）の設定値を任意の値に変更できるようにしても構わない。
【００５９】
また、以上の説明においては、二重化装置の一例として集合型磁気テープ装置を例に説明したが、本発明が適用される二重化装置は集合型磁気テープ装置に限定されず、他の装置であってもよいことは明らかである。
【００６０】
【発明の効果】
本発明は、稼働系の時計情報に合わせて待機系の時計情報を再設定するようにしたため、稼働系の時計ＩＣの設定をするだけで待機系の時計ＩＣも自動的に設定されることになり、稼働系，待機系の時計ＩＣの個体差に関係なく時計情報の同期が自動的に維持されるという効果がある。
【００６１】
また、待機系の時計ＩＣの再設定間隔を任意に設定したり、稼働系，待機系の時計情報間に所定時間差以上の差があった場合に再設定するようにしたため、無駄な再設定により時計ＩＣの耐久寿命を縮めてしまうというようなことも回避できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示すブロック図である。
【図２】各装置制御部と各ＤＰＭ間の読み出し，書き込みの関係を示す図である。
【図３】本発明の第１の実施の形態の動作を示すフローチャートである。
【図４】本発明の第２の実施の形態の動作を示すフローチャートである。
【図５】本発明の第３の実施の形態の動作を示すフローチャートである。
【図６】従来の時計情報生成のフローチャートである。
【図７】従来の技術の一例を示す構成ブロック図である。
【符号の説明】
０１    稼働系装置制御部
０２    待機系装置制御部
１１    左アクセッサ制御部
１２    右アクセッサ制御部
２１    ＤＰＭ
２２    ＤＰＭ
３１    時計ＩＣ
３２    時計ＩＣ
【図１】
0003726043.tif 000002
【図２】
0003726043.tif 000003
【図３】
0003726043.tif 000004
【図４】
0003726043.tif 000005
【図５】
0003726043.tif 000006
【図６】
0003726043.tif 000007
【図７】
0003726043.tif 000008