(57)【特許請求の範囲】
【請求項１】
他の情報処理装置の備える他のＣＰＵと同期して動作するＣＰＵと、該ＣＰＵの前記他のＣＰＵとの間の同期動作を制御する同期制御部と、前記他の情報処理装置との間で情報の送受信を行う通信部と、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備える情報処理装置において、
前記同期制御部は、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定部と、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視部と、
前記通信部を介して、前記他の情報処理装置との間で、前記トランザクション情報を送受信し、前記情報処理装置及び前記他の情報処理装置のそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定部と、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得部と、
前記初期化設定部で、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定部で前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記異常判定部は、前記異常兆候関連情報の中の最新の異常兆候関連情報とこれを除く異常兆候関連情報とに基づき、前記ＣＰＵの異常兆候の有無を判定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記初期化条件は、ＣＰＵクロック位相と、前記ＣＰＵに対するリセット発行のタイミングとを所定値設定の対象となる成分として有し、
前記同期化設定条件では、前記初期化条件の前記成分が、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために規定された対応する適正値に設定されている、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記異常兆候関連情報は、前記所定の初期化条件を前記同期化設定条件にしたときの前記トランザクション情報に基づき、前記リセット発行から、前記ＣＰＵが前記入出力関連装置にアクセスするまでのアクセス時間を前記異常兆候関連情報取得部が計測して得た情報である、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記入出力関連装置は、ＢＩＯＳプログラムを記憶するＢＩＯＳ記憶部を含み、
前記アクセス時間は、前記ＣＰＵが前記リセット発行から前記ＢＩＯＳ記憶部へアクセスするまでの時間である、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記入出力関連装置は、情報の入力又は出力を行う入出力装置を含み、
前記アクセス時間は、前記ＣＰＵが前記リセット発行から前記入出力装置へアクセスするまでの時間である、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記入出力関連装置は、ＢＩＯＳプログラムを記憶するＢＩＯＳ記憶部と情報の入力又は出力を行う入出力装置とを含み、
前記アクセス時間は、前記ＣＰＵが前記リセット発行から前記ＢＩＯＳ記憶部へアクセスするまでのＢＩＯＳアクセス時間、及び前記入出力装置へアクセスするまでの入出力アクセス時間であり、
前記異常判定部は、ＢＩＯＳアクセス時間について異常兆候の有無を判定し、異常兆候がない場合に、入出力アクセス時間について異常兆候の有無を判定する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項８】
前記トランザクション情報から前記ＣＰＵの障害の有無を検出するＣＰＵ障害検出部を備え、
前記異常判定部は、前記同期判定部で前記ＣＰＵの同期ずれがあると判定され、且つ前記ＣＰＵ障害検出部で前記ＣＰＵの障害が検出されないとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する、
ことを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
前記トランザクション情報から前記ＣＰＵの障害の有無を検出するＣＰＵ障害検出部を備え、
前記異常兆候関連情報取得部は、前記初期化設定部を介して、前記初期化条件の一方の成分に対する前記所定値を、前記一方の成分に対応する前記適正値に設定し、前記初期設定情報の他方の成分に対する前記所定値を、前記他方の成分に対応する前記適正値からずらして設定して前記ＣＰＵを初期化したときに、前記同期判定部に同期ずれの有無を判定させ、同期ずれがあると判定された場合に、前記ＣＰＵ障害検出部で検出される前記ＣＰＵの障害の有無に基づき前記ＣＰＵの同期動作からの切り離し有無を判定し、且つ、同期ずれがないと判定された場合に、前記ＣＰＵの同期動作からの切り離しはないと判定し、切り離しに関する両判定結果を前記異常兆候関連情報として取得する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１０】
前記異常判定部は、前記同期判定部で前記ＣＰＵの同期ずれがあると判定され、且つ前記ＣＰＵ障害検出部で前記ＣＰＵの障害が検出されないとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記異常兆候関連情報取得部は、前記適正値からずらすときのずらし値を正と負の値とし、前記ずらし値毎に前記異常兆候関連情報を取得し、
前記異常判定部は、前記ずらし値に対応して取得された前記異常兆候関連情報毎に、異常兆候の有無を判定する、
ことを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の少なくとも２台の情報処理装置で構成されることを特徴とする情報処理システム。
【請求項１３】
他の情報処理装置の備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備える情報処理装置の異常兆候検出方法において、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他の情報処理装置との間で、前記トランザクション情報を送受信する通信ステップと、
前記情報処理装置及び前記他の情報処理装置のそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を備えることを特徴とする情報処理装置の異常兆候検出方法。
【請求項１４】
他のコンピュータの備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備えるコンピュータに、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他のコンピュータとの間で、前記トランザクション情報を送受信する通信ステップと、 
前記コンピュータ及び前記他のコンピュータのそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を実行させることを特徴とする異常兆候検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラムに関する。
【背景技術】
【０００２】
フォールトトレラント情報処理システム（以下ではフォールトトレラントをＦＴ（Ｆａｕｌｔ−Ｔｏｒｅｒａｎｔ）と記す）は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備える情報処理装置を複数台使って構成され、ＣＰＵの冗長性を確保するため、複数の情報処理装置のＣＰＵをクロックレベルで同期して動作させている。例えば、一方のＣＰＵで動作異常が発生し、ＣＰＵ間で同期が取れない状態（同期ずれ）となったとき、異常が発生したＣＰＵを同期動作から切り離すことにより、そのＣＰＵの属する情報処理装置をフォールトトレラント情報処理システムから切り離し、フォールトトレラント情報処理システム自体は正常に稼動させ続ける仕組みとなっている。このような情報処理システムの例としては、サーバシステムやコンピュータシステム等があり、それぞれＦＴサーバシステム、ＦＴコンピュータシステム等と呼ばれる。
【０００３】
従来のＦＴ情報処理システムでは、ＣＰＵ間で同期ずれが発生したとき、ＣＰＵ障害が検出されればそのＣＰＵを同期動作から切り離す。一方ＣＰＵ障害が検出されなければＣＰＵに異常はないと判断し、どちらか一方のＣＰＵを同期動作から一旦切り離し再同期させる。
【０００４】
特許文献１に記載のコンピュータシステム（二重化コンピュータシステム）では、二重化運転を行いながら、それぞれのコンピュータに対応して修復可能障害情報及び修復不可能障害情報を記録し、同期ずれが発生した場合に、それぞれのコンピュータをアクティブ系、スタンバイ系のどちらに設定するかの判断材料として、記録された障害情報を利用する。このようにしてコンピュータをアクティブ系、スタンバイ系のどちらに設定するかという判断の精度を高めている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１７２３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、障害情報を修復可能障害情報と修復不可能障害情報とに分けて記録するが、いずれも障害情報として検出されていなければならない。ＦＴ情報処理システムで同期ずれが発生した場合、ＣＰＵで障害が明確に検出されないときでもＣＰＵに障害の前段階とも言える何らかの異常兆候が存在することが多い。しかし、ＣＰＵの異常兆候に関する情報が存在しないため、異常兆候を内包するＣＰＵを残し、正常なＣＰＵの方を同期動作から切り離して再同期させるという処理を行う恐れがある。このような場合、ＦＴ情報処理システムの動作が不安定になるという恐れがある。そのため、ＣＰＵの障害検出の有無によらず、ＣＰＵの異常兆候の有無を検出できる情報処理装置等が必要とされている。
【０００７】
本発明は、上記の事情に鑑みてなされたものであり、他の情報処理装置のＣＰＵとの間でＣＰＵの同期ずれが発生した時に、ＣＰＵの異常兆候の有無を検出できる情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記の目的を達成するために、本願発明の第１の観点に係る情報処理装置は、
他の情報処理装置の備える他のＣＰＵと同期して動作するＣＰＵと、該ＣＰＵの前記他のＣＰＵとの間の同期動作を制御する同期制御部と、前記他の情報処理装置との間で情報の送受信を行う通信部と、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備える情報処理装置において、
前記同期制御部は、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定部と、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視部と、
前記通信部を介して、前記他の情報処理装置との間で、前記トランザクション情報を送受信し、前記情報処理装置及び前記他の情報処理装置のそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定部と、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得部と、
前記初期化設定部で、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定部で前記ＣＰＵの同期ずれがあると判定されるとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定部と、
を備えることを特徴とする。
【０００９】
本願発明の第２の観点に係る情報処理システムは、
少なくとも２台の前記第１の観点に係る情報処理装置で構成されることを特徴とする。
【００１０】
本願発明の第３の観点に係る情報処理装置の異常兆候検出方法は、
他の情報処理装置の備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備える情報処理装置の異常兆候検出方法において、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他の情報処理装置との間で、前記トランザクション情報を送受信する通信ステップと、
前記情報処理装置及び前記他の情報処理装置のそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されるとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を備えることを特徴とする。
【００１１】
本願発明の第４の観点に係る異常兆候検出プログラムは、
他のコンピュータの備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備えるコンピュータに、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他のコンピュータとの間で、前記トランザクション情報を送受信する通信ステップと、 
前記コンピュータ及び前記他のコンピュータのそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されるとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、他の情報処理装置のＣＰＵとの間でＣＰＵの同期ずれが発生した時に、ＣＰＵの異常兆候の有無を検出できる情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態１に係る情報処理装置の構成例を示すブロック図である。
【図２】実施形態１に係る情報処理装置のＣＰＵ初期化処理Ａの内容を示すフローチャートである。
【図３】実施形態１に係る情報処理装置のＣＰＵ同期異常処理Ａの内容を示すフローチャートである。
【図４】実施形態１の変形例に係る情報処理装置の構成を示すブロック図である。
【図５】実施形態１の変形例に係る情報処理装置のＣＰＵ同期異常処理Ａ’の内容を示すフローチャートである。
【図６】実施形態１に係る情報処理装置の必須の構成を示すブロック図である。
【図７】実施形態１に係る情報処理装置の一般化したＣＰＵ初期化処理Ｂの内容を示すフローチャートである。
【図８】実施形態１に係る情報処理装置の一般化したＣＰＵ同期異常処理Ｂの内容を示すフローチャートである。
【図９】本発明の実施形態２に係る情報処理装置のＣＰＵ初期化処理Ｃの内容を示すフローチャートである。
【図１０】実施形態２に係る情報処理装置のＣＰＵ切り離し判定の内容を示すフローチャートである。
【図１１】実施形態２に係る情報処理装置のＣＰＵ同期異常処理Ｃの内容を示すフローチャートである。
【図１２】実施形態２の変形例に係る情報処理装置のＣＰＵ同期異常処理Ｃ’の内容を示すフローチャートである。
【図１３】実施形態に係る情報処理装置のコンピュータとしてのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
（実施形態１）
図１に、本発明の実施形態１に係る情報処理システムの構成例をブロック図で示す。図１に示す情報処理システムは２台の情報処理装置１０及び２０で構成された例である。情報処理装置１０及び２０は同様に構成されている。
【００１５】
情報処理装置１０は、ＣＰＵ１１、ＣＰＵ１１での処理に使用され、各種情報を記憶する記憶部１２、入出力関連装置１３、同期制御部１４、チップセット１５、同期制御部１４からの情報を保存する記憶部１６、情報処理装置２０との間で情報の送受信を行う通信部１７を備える。
【００１６】
情報処理装置２０も、情報処理装置１０と同じく、ＣＰＵ２１、ＣＰＵ２１での処理に使用され、各種情報を記憶する記憶部２２、入出力関連装置２３、同期制御部２４、チップセット２５、同期制御部２４からの情報を保存する記憶部２６、情報処理装置１０との間で情報の送受信を行う通信部２７を備える。
【００１７】
ＣＰＵ１１は、情報処理装置１０全体を制御し、記憶部１２を使用して各種の処理を行う。
【００１８】
ＣＰＵ２１も同様に情報処理装置２０全体を制御し、記憶部２２を使用して各種の処理を行う。
【００１９】
記憶部１２は、ＣＰＵ１１が各種処理を行うときのワークエリアとして使用される主記憶部及び処理の際に使用される情報やプログラムを記録保存する外部記憶部を合わせて示している。従って、二つのハードウェアから構成されており、一つのハードウェアを示しているわけではない。
【００２０】
記憶部２２も、同様にＣＰＵ２１が各種処理を行うときのワークエリアとして使用される主記憶部及び処理の際に使用される情報やプログラムを記録保存する外部記憶部を合わせて示している。
【００２１】
入出力関連装置１３は、情報の入力又は出力の実行に関連する装置を総称し、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）記憶部１３０と入出力装置１３１とを備える。
【００２２】
入出力関連装置２３も同様に、ＢＩＯＳ記憶部２３０と入出力装置２３１とを備える。
【００２３】
ＢＩＯＳ記憶部１３０はＢＩＯＳプログラムを記憶する。このＢＩＯＳ記憶部１３０には通常フラッシュメモリが利用されているため、ＢＩＯＳ記憶部１３０はＢＩＯＳフラッシュと呼ばれることもある。ＢＩＯＳとはパーソナルコンピュータ等のコンピュータに接続された機器を制御するシステムで、ウィンドウズ（登録商標）等のオペレーティングシステムやアプリケーションに対して機器にアクセスするシステムとしての役割を担う。ＢＩＯＳプログラムとは、パーソナルコンピュータ等に搭載されたプログラムのうち、ハードウェアとの入出力を行うための最も低レベルのプログラムである。ＣＰＵ１１は、ＢＩＯＳ記憶部１３０にアクセスしてこのＢＩＯＳプログラムを読み出して実行することにより入出力装置１３１へのアクセス環境を形成する。ＢＩＯＳ記憶部１３０は主記憶部に属するとすることが多いが、ここでは入出力装置１３１との関係を明示するために入出力関連装置１３に含まれるとした。
【００２４】
ＢＩＯＳ記憶部２３０は、ＢＩＯＳ記憶部１３０と同様の機能を有し、ＣＰＵ２１は、ＢＩＯＳ記憶部２３０にアクセスしてこのＢＩＯＳプログラムを読み出して実行することにより入出力装置２３１へのアクセス環境を形成する。
【００２５】
入出力装置１３１は、入力装置及び出力装置を総称したもので、入力装置では情報の入力、出力装置では情報の出力を行う。ＣＰＵ１１は、入出力装置１３１にアクセスし、入力装置からの情報の入力、又は出力装置からの情報の出力を制御する。
【００２６】
入出力装置２３１は、入出力装置１３１と同様の機能を有し、ＣＰＵ２１によりアクセスされ、制御される。
【００２７】
同期制御部１４は、ハードウェアとしてはＣＰＵで構成され、記憶部１６、通信部１７と協働してＣＰＵ１１に対してＣＰＵ２１との同期動作に関する各種処理を実行する。ＣＰＵと記憶部とを有するチップを同期制御チップとし、同期制御部１４はこの同期制御チップを利用して構成してもよい。
【００２８】
同期制御部２４も同期制御部１４と同様に、記憶部２６、通信部２７と協働してＣＰＵ１１とＣＰＵ２１との同期動作に関する各種処理を実行する。
【００２９】
同期制御部１４は、チップセット１５を介してＣＰＵ１１に対する処理を実行する。
【００３０】
同期制御部２４も同期制御部１４と同様に、チップセット２５を介してＣＰＵ２１に対する処理を実行する。
【００３１】
同期制御部１４を構成するＣＰＵは、機能構成要素として、初期化設定部１４０、トランザクション監視部１４１、同期判定部１４２、異常兆候関連情報取得部１４３、及び異常判定部１４４を備える。
【００３２】
同期制御部２４を構成するＣＰＵも同期制御部１４と同様に、機能構成要素として、初期化設定部２４０、トランザクション監視部２４１、同期判定部２４２、異常兆候関連情報取得部２４３、及び異常判定部２４４を備える。
【００３３】
初期化設定部１４０は、情報処理装置１０のＣＰＵ１１が情報処理装置２０のＣＰＵ２１と同期して動作を開始する際に、初期化条件を設定してＣＰＵ１１を初期化する。初期化条件とは、初期化に必要なパラメータの設定値を言い、ＣＰＵ１１の初期化は設定された初期化条件でＣＰＵ１１に対してリセット発行を行うことにより実行される。なお、ＣＰＵ１１がＣＰＵ２１と同期して動作するために設定された初期化条件を同期化設定条件と呼ぶ。初期化条件を構成するパラメータは、ＣＰＵ１１の同期動作に利用するクロックの位相（ＣＰＵクロック位相と呼ぶ）とＣＰＵ１１に対するリセット発行のタイミングである。ＣＰＵクロック位相とリセット発行のタイミングは初期化条件を構成する成分となる。同期化設定条件では各成分の値は、ＣＰＵ１１をＣＰＵ２１と同期して動作させるために規定された適正値に設定される。
【００３４】
初期化設定部２４０は、情報処理装置２０のＣＰＵ２１が情報処理装置１０のＣＰＵ１１と同期して動作を開始する際に、ＣＰＵ２１に対して、初期化設定部１４０の場合と同様に初期化条件の設定を行ってＣＰＵ２１を初期化する。
【００３５】
実施形態１では、初期化条件は最初から同期化設定条件に等しく設定される。ＣＰＵクロック位相及びリセット発行のタイミングのそれぞれの適正値はあらかじめ求められており、記憶部１６に記録保存されている。初期化設定部１４０は、記憶部１６からこれらの適正値を読み出し、ＣＰＵクロック位相をその適正値に設定し、ＣＰＵ１１に対して適正値に基づくタイミングでリセット発行をする。
【００３６】
ＣＰＵ２１をＣＰＵ１１に対して同期動作させる場合も同様に、初期化設定部２４０は、記憶部２６に記録保存されているＣＰＵクロック位相の適正値及びリセット発行タイミングの適正値を読み出し、ＣＰＵクロック位相をその適正値に設定し、ＣＰＵ２１に対して適正値に基づくタイミングでリセット発行をする。すなわち、ＣＰＵ１１及びＣＰＵ２１に対してＣＰＵクロック位相とリセット発行のタイミングを適正値に設定して初期化すればＣＰＵ１１とＣＰＵ２１は同期して動作する。
【００３７】
トランザクション監視部１４１は、ＣＰＵ１１と入出力関連装置１３との間のトランザクション、具体的にはＣＰＵ１１とＢＩＯＳ記憶部１３０及びＣＰＵ１１と入出力装置１３１との間のトランザクションを監視し、監視結果をトランザクション情報として取得する。
【００３８】
トランザクション監視部２４１も同様に、ＣＰＵ２１と入出力関連装置２３との間のトランザクション、具体的にはＣＰＵ２１とＢＩＯＳ記憶部２３０及びＣＰＵ２１と入出力装置２３１との間のトランザクションを監視し、トランザクション情報を取得する。
【００３９】
同期判定部１４２は、ＣＰＵ１１とＣＰＵ２１とが同期しているかどうかを判定する。この判定には、トランザクション監視部１４１で取得されたトランザクション情報と、トランザクション監視部２４１で取得されたトランザクション情報とを用いる。両トランザクション情報から同期しているかどうかが判定される。これは従来から使用されている技術なので詳細な説明は省略するするが、例えば両トランザクションの推移をシステムクロックごとにチェックする方法がある。なお、同期判定に使用されるトランザクション監視部２４１で取得されたトランザクション情報は、通信部２７を介して同期制御部２４から送信され、通信部１７を介して同期制御部１４で受信されたものである。
【００４０】
同期判定部２４２の機能も同期判定部１４２と同様であり、同期判定部１４２の説明を、トランザクション監視部１４１と２４１、通信部１７と２７、同期制御部１４と２４をそれぞれ入れ替えて読めばよい。
【００４１】
異常兆候関連情報取得部１４３は、所定の初期化条件でＣＰＵ１１を初期化し、ＣＰＵ２１との同期動作を開始したとき、ＣＰＵ１１と入出力関連装置１３との間のトランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得する。具体的には、次の処理を行う。異常兆候関連情報取得部１４３は、初期化設定部１４０を介して初期化条件の各成分の値を対応する所定値に設定してリセット発行を行う。実施形態１では、初期化条件の各成分の値はそれぞれに対応する適正値に設定される。すなわち初期化条件は同期化設定条件に等しく設定される。このようにしてＣＰＵ１１が初期化されたとき、異常兆候関連情報取得部１４３は、ＣＰＵ１１のリセット時から、ＣＰＵ１１が入出力関連装置１３にアクセスするまでの時間（アクセス時間）をＣＰＵのクロックを利用して計測し、計測結果を異常兆候関連情報として、記憶部１６の異常兆候関連情報データベースに記録する。このアクセス時間は情報処理システムの運転開始の際を含め、初期化後のＣＰＵ１１が同期動作を開始したときに計測されるので、計測結果の履歴情報が異常兆候関連情報として、記憶部１６に記録される。入出力関連装置１３にはＢＩＯＳ記憶部１３０と入出力装置１３１の２種類があるので、アクセス時間も２種類に分類されて記録される。それぞれ、ＢＩＯＳアクセス時間、入出力アクセス時間と呼ぶ。入出力装置１３１が複数ある場合の入出力アクセス時間は、例えば、代表となる入出力装置１３１に対するアクセス時間を入出力アクセス時間として記憶部１６に記録する。
【００４２】
異常兆候関連情報取得部２４３も、異常兆候関連情報取得部１４３と同様に、初期化設定部２４０を介して初期化条件の各成分の値を対応する適正値に設定して、すなわち初期化条件を同期化設定条件と等しく設定してＣＰＵ２１を初期化し、ＣＰＵ１１との同期動作を開始したとき、ＣＰＵ２１と入出力関連装置２３との間のトランザクション情報に基づき、ＣＰＵ２１のリセット時から、ＣＰＵ２１が入出力関連装置２３にアクセスするまでの時間（アクセス時間）を計測し、計測結果を異常兆候関連情報として、記憶部２６の異常兆候関連情報データベースに記録する。
【００４３】
異常判定部１４４は、初期化設定部１４０を介してＣＰＵ１１を同期化設定条件で初期化した後に判定処理を実行し、同期判定部１４２でＣＰＵ１１がＣＰＵ２１と同期していない、すなわち同期ずれがあると判定された場合、記憶部１６に記録されている異常兆候関連情報に基づきＣＰＵ１１の異常兆候の有無を判定する。
【００４４】
実施形態１では異常兆候関連情報は、ＢＩＯＳアクセス時間及び入出力アクセス時間の２種類アクセス時間の履歴情報である。異常判定部１４４は、このいずれかの履歴情報中の、最新のアクセス時間と、これを除く他のアクセス時間とに基づき、ＣＰＵ１１の異常兆候の有無を判定する。この判定結果によりＣＰＵ１１の異常兆候が検出される。また、異常判定部１４４は、異常兆候の有無の判定の結果、異常兆候有りと判定したとき、すなわち異常兆候が検出されたとき、ＣＰＵ１１を同期動作から切り離す処理をすることができる。なお、記憶部１６にはアクセス時間の履歴情報が蓄積されているとする。
【００４５】
異常判定部２４４は、異常判定部１４４と同様に、同期判定部２４２でＣＰＵ２１がＣＰＵ１１と同期していない、すなわち同期ずれがあると判定された場合、記憶部２６に記録されているＢＩＯＳアクセス時間及び入出力アクセス時間の２種類のアクセス時間のいずれかの履歴情報中の、最新のアクセス時間と、これを除く他のアクセス時間とに基づき、ＣＰＵ２１の、従って情報処理装置２０の異常兆候の有無を判定する。異常判定部２４４は、異常兆候の有無の判定の結果、異常兆候有りと判定したとき、ＣＰＵ２１を同期動作から切り離す処理をすることができる。なお、記憶部２６にはアクセス時間の履歴情報が蓄積されているとする。
【００４６】
異常兆候の有無の判定は、記憶部１６に記録保存されているＣＰＵ１１の、ある入出力関連装置１３に対するアクセス時間の中の最新のアクセス時間がこれを除く他のアクセス時間に対して特異性を有するかどうかによる。特異性を有すれば異常兆候有りと判定され、特異性を有しなければ異常兆候無しと判定される。特異性とは、最新のアクセス時間がそれ以前のアクセス時間に比べて所定の判定基準以上に異なる値であることを言う。
【００４７】
例えば、最新のアクセス時間を除く他のアクセス時間の平均値と最新のアクセス時間との差が、所定の閾値を超える場合に、最新のアクセス時間は、他のアクセス時間に対して特異性を有するとする。所定の閾値は、例えば、最新のアクセス時間を除く他のアクセス時間の標準偏差のｋ倍（ｋは正の実数）とする。この場合のｋの値は記憶部１６に記録保存されている。
【００４８】
また、例えば、最新のアクセス時間を除く他のアクセス時間を時系列に配置したときのアクセス時間の変動傾向から予測される値に対して、最新のアクセス時間が所定の大きさ以上に異なる値となったとき、最新のアクセス時間がそれ以前のアクセス時間に対して特異性を有するとすることができる。この場合は、所定の大きさの値が記憶部１６に記録保存されている。
【００４９】
アクセス時間にはＢＩＯＳアクセス時間と入出力アクセス時間の二種類があるので、異常兆候の有無の判定もそれぞれの種類のアクセス時間毎に実施しうる。異常判定部１４５は、いずれかのアクセス時間で特異性があると判定したときに、ＣＰＵ１１に異常兆候があると判定する。
【００５０】
チップセット１５は、ある機能を実現するために組み合わせて構成された複数のＬＳＩのことであり、同期制御部１４はチップセット１５を介してＣＰＵ１１へのリセット発行等の処理を行う。
【００５１】
チップセット２５も、チップセット１５と同様であり、同期制御部２４はチップセット２５を介してＣＰＵ２１へのリセット発行等の処理を行う。
【００５２】
記憶部１６は、同期制御部１４の処理時のワークエリアとして使用する主記憶部、及び同期制御部１４の処理に使用する情報と処理で得られた結果とを記録保存する外部記憶部を含む。従って、図１に示す記憶部１６は、二つのハードウェアから構成されており、一つのハードウェアで構成されているわけではない。
【００５３】
記憶部２６は、記憶部１６と同様に、同期制御部２４の処理時に使用する主記憶部、及び同期制御部２４の処理に使用する情報と処理で得られた結果とを記録保存する外部記憶部を含む。
【００５４】
通信部１７及び２７は、同期制御部１４と２４との間でそれぞれのトランザクション情報を含む情報の送受信を行う。
【００５５】
次に、図２、図３のフローチャートを使って、実施形態１に係る情報処理装置１０の異常兆候検出に関する動作について説明する。図２は実施形態１に係るＣＰＵ初期化処理Ａの内容を示すフローチャートで、図３は実施形態１に係るＣＰＵ同期異常処理Ａの内容を示すフローチャートである。以下では情報処理装置１０を同期動作させる場合について説明するが、情報処理装置２０を同期動作させる場合も同様である。なお、ＣＰＵ初期化処理Ａ及びＣＰＵ同期異常処理Ａの実行は同期制御部１４で制御される。
【００５６】
情報処理装置１０は電源が投入され、動作しているとする。図２において、情報処理装置１０では、初期化設定部１４０がＣＰＵ１１の初期化を実行する（ステップＳ１０）。初期化設定部１４０は、チップセット１５を介してＣＰＵ１１に対して所定のＣＰＵクロック位相を設定して所定のタイミングでリセット発行を行う。これによりＣＰＵ１１の初期化が実行される。
【００５７】
所定のＣＰＵクロック位相とはＣＰＵクロック位相の適正値、所定のタイミングとはリセット発行タイミングの適正値のことである。
【００５８】
ＣＰＵ１１の初期化が終了した後、ＣＰＵ１１はＢＩＯＳ記憶部１３０へのアクセスを開始し（ステップＳ１１）、ＢＩＯＳプログラムを読み出して実行する。これによりＣＰＵ１１が入出力装置１３１にアクセスする環境が形成される。
【００５９】
トランザクション監視部１４１は、ＣＰＵ１１からＢＩＯＳ記憶部１３０にアクセスする際のＣＰＵ１１とＢＩＯＳ記憶部１３０との間のトランザクションを監視し、トランザクション情報として取得する。異常兆候関連情報取得部１４３は、得られたトランザクション情報からＢＩＯＳアクセス時間を計測し（ステップＳ１２）、計測結果を異常兆候関連情報として記憶部１６に記録保存する（ステップＳ１３）。
【００６０】
次に、ＣＰＵ１１は入出力装置１３１へのアクセスを開始する（ステップＳ１４）。トランザクション監視部１４１は、ＣＰＵ１１から入出力装置１３１にアクセスする際のＣＰＵ１１と入出力装置１３１との間のトランザクションを監視し、トランザクション情報として取得する。異常兆候関連情報取得部１４３は、得られたトランザクション情報から入出力アクセス時間を計測し（ステップＳ１５）、得られた入出力アクセス時間を異常兆候関連情報として記憶部１６に記録保存する（ステップＳ１６）。なお、ＢＩＯＳアクセス時間と入出力アクセス時間とは区別して記憶部１６に記録保存される。記録保存が終わると同期制御部１４はＣＰＵ初期化処理Ａを終了する。
【００６１】
アクセス時間の記録保存は、ＣＰＵ１１を初期化して同期動作を開始する都度実行されるので、記憶部１６に記録保存された異常兆候関連情報は、計測で得られたアクセス時間の履歴情報となる。
【００６２】
以上の初期化に関する処理が終了した後、同期制御部１４は、ＣＰＵ１１の同期動作中に、ＣＰＵ同期異常処理Ａを実行する。
【００６３】
ＣＰＵ同期異常処理Ａを図３に示すフローチャートに従って説明する。同期判定部１４２はＣＰＵ１１がＣＰＵ１２と同期して動作しているかどうかを判定する（ステップＳ２０）。
【００６４】
同期していると判定された場合（ステップＳ２０；ＹＥＳ）は、ステップＳ２０の処理に戻り、ＣＰＵ１１の同期ずれの有無の監視を継続する
【００６５】
同期していないと判定された場合（ステップＳ２０；ＮＯ）は、異常判定部１４４は、記憶部１６に記録保存されている異常兆候関連情報から、ＢＩＯＳアクセス時間の履歴情報を読み出す。そして、最新のＢＩＯＳアクセス時間が、これを除いたＢＩＯＳアクセス時間に対して特異性を有するかどうかを判定する（ステップＳ２１）。
【００６６】
異常判定部１４４は、最新のＢＩＯＳアクセス時間が、これを除いたＢＩＯＳアクセス時間に対して特異性を有すると判定した場合（ステップＳ２１；ＹＥＳ）、ＣＰＵ１１の異常兆候が検出されたとして、ＣＰＵ１１を同期動作から切り離す処理を行い（ステップＳ２２）、同期制御部１４はＣＰＵ同期異常処理Ａを終了する。なお、情報処理システムがＦＴ情報処理システムであり情報処理装置１０がアクティブ系の場合は、同期制御部１４は、通信部１７を介して、情報処理装置２０をアクティブ系にする指示を同期制御部２４に送る。
【００６７】
異常判定部１４４は、最新のＢＩＯＳアクセス時間が、これを除いたＢＩＯＳアクセス時間に対して特異性を有しないと判定した場合（ステップＳ２１；ＮＯ）、記憶部１６に保存されている異常兆候関連情報から、入出力アクセス時間の履歴情報を読み出す。そして、最新の入出力アクセス時間が、これを除いた入出力アクセス時間に対して特異性を有するかどうかを判定する（ステップＳ２３）。
【００６８】
異常判定部１４４は、最新の入出力アクセス時間が、これを除いた入出力アクセス時間に対して特異性を有すると判定した場合（ステップＳ２３；ＹＥＳ）、ＣＰＵ１１の異常兆候が検出されたとして、ＣＰＵ１１を同期動作から切り離す処理を行い（ステップＳ２２）、同期制御部１４はＣＰＵ同期異常処理Ａを終了する。なお、情報処理システムがＦＴ情報処理システムであり情報処理装置１０がアクティブ系の場合は、同期制御部１４は、通信部１７を介して、情報処理装置２０をアクティブ系にする指示を同期制御部２４に送る。
【００６９】
異常判定部１４４は、最新の入出力アクセス時間が、これを除いた入出力アクセス時間に対して特異性を有していないと判定した場合（ステップＳ２３；ＮＯ）、ＣＰＵ１１の異常兆候が検出されなかったと判定し、ＣＰＵ１１の同期動作の対象となるＣＰＵ２１の異常兆候が検出されているかどうかを判定する（ステップＳ２４）。この判定に際して、同期制御部１４は、通信部１７、２７を介して同期制御部２４の異常判定部２４４から、ＣＰＵ２１の異常兆候の有無の検出結果を受信する。異常判定部１４４は、この受信結果を参照することによりＣＰＵ２１の異常兆候が検出されているかどうかを判定する。なお、同期制御部１４は、通信部１７、２７を介してＣＰＵ１１の異常兆候の有無の検出結果を同期制御部２４に送信する。従って、同期制御部２４でも同様の異常判定を実行することができる。
【００７０】
異常判定部１４４は、ＣＰＵ２１の異常兆候が検出されていないと判定したとき（ステップＳ２４；ＮＯ）は、ＣＰＵ１１が、どちらか一方のＣＰＵが選択されるようにあらかじめ定められた選択基準に合致しているかどうかを判定し（ステップＳ２５）、合致していれば（ステップＳ２５；ＹＥＳ）ＣＰＵ１１を同期動作から切り離す（ステップＳ２２）。その後、同期制御部１４は、ＣＰＵ同期異常処理Ａを終了する。一方、ＣＰＵ１１が選択基準に合致していない場合（ステップＳ２５；ＮＯ）は、ＣＰＵ２１が選択基準に合致することになるため、ＣＰＵ２１が同期動作から切り離されることになる。そのため、同期制御部１４は、ＣＰＵ２１との同期動作に関するＣＰＵ同期異常処理Ａを一旦終了し、ＣＰＵ１１はそのまま動作を継続する。
【００７１】
ステップＳ２４でＮＯの判定がなされるときは、同期ずれが発生しているがＣＰＵ１１、ＣＰＵ２１のいずれにも異常兆候が見つからない場合である。この場合は、同期ずれの修復のために再同期処理が必要であるから、あらかじめ定められた選択基準に従って選択されたＣＰＵが一旦同期動作から切り離され、再同期処理が実施される。この選択基準は、切り離すＣＰＵを選択できればどの様な選択基準であってもよいが、例えばＣＰＵ稼働時間が短い方を選択する等の選択基準が考えられる。
【００７２】
異常判定部１４４が、ＣＰＵ２１の異常兆候が検出されていると判定したとき（ステップＳ２４；ＹＥＳ）は、同期制御部１４はＣＰＵ同期異常処理Ａを一旦終了し、ＣＰＵ１１はそのまま動作を継続する。
【００７３】
図２及び図３に示すフローチャートは、実施形態１に係る情報処理装置１０の動作を示すと共に、実施形態１に係る異常兆候検出方法をも示す。
【００７４】
実施形態１に係る発明によれば、他の情報処理装置のＣＰＵとの間でＣＰＵの同期ずれが発生した時に、ＣＰＵの異常兆候を検出することのできる情報処理装置、情報処理システム、及び情報処理装置の異常兆候検出方法を提供することができる。なお、ここで言うＣＰＵの異常兆候にはＣＰＵの障害発生に伴い生じうる異常兆候も含まれる。
【００７５】
同期ずれが生じた場合、ＣＰＵの障害が検出されていなければ、従来はどちらのＣＰＵを切り離すかという判断材料がなく、正常なＣＰＵを切り離して、将来、障害発生の原因となりうる異常兆候を内包するＣＰＵの動作を継続させて再同期処理を行うという危険性があった。実施形態１に係る発明によればＣＰＵの異常兆候を検出できるので、将来、障害発生の原因となりうる異常兆候の検出されたＣＰＵを切り離すことができ、これにより情報処理システムの信頼性が向上する。
【００７６】
実施形態１に係る発明によれば、ＣＰＵの初期化時に、当該ＣＰＵの入出力関連装置１３へのアクセス時間を計測し、計測結果を記録保存し、ＣＰＵの同期ずれが発生したとき、記録保存されたアクセス時間計測結果の中の最新のアクセス時間が他のアクセス時間に対して特異性を有するかどうかを利用してＣＰＵの異常兆候を検出する。従って、ＣＰＵ毎の固有の特性のばらつきの影響を受けないでＣＰＵの異常兆候を検出することができる
【００７７】
以上の説明では異常兆候の検出にＢＩＯＳアクセス時間の特異性と入出力アクセス時間の特異性の両方を用いるとしたが、いずれか一方にしてもよい。これにより図２、図３に示す同期異常に関する処理が簡略化できる。
【００７８】
なお、図３のステップＳ２４、及びＳ２５は異常兆候の検出という点では必須ではなく省略してもよい。また、ステップＳ２２はＣＰＵの切り離し処理ではなく、異常兆候有りという判定結果を示すという内容であってもよい。
【００７９】
図１のチップセット１５については同期制御部１４にその機能を含めることによりこれを省略することができる。チップセット２５についても同様である。
【００８０】
入出力装置１３１が複数台ある場合に、代表となる入出力装置１３１に対する入出力アクセス時間を記憶部１６に記録保存するとしたが、複数台の入出力装置１３１を区別して、それぞれの入出力アクセス時間を計測し（図２のステップＳ１５）、その結果を複数台の入出力装置１３１それぞれについて区別して記憶部１６に記録保存し（図２のステップＳ１６）てもよい。この場合は、図３のステップＳ２３は、複数の入出力装置１３１毎の入出力アクセス時間についての特異性の判定となる。一つでも特異性有りという判定結果が得られれば異常兆候が検出されたとして、ＣＰＵ１１を同期動作から切り離す（ステップＳ２２）。このように処理することにより、より詳細に異常兆候を検出することができる。
【００８１】
図４に実施形態１の変形例に係る情報処理装置の構成のブロック図を示す。この変形例では同期制御部１４は更にＣＰＵ障害検出部１４５を備える。
【００８２】
ＣＰＵ障害検出部１４５は、ＣＰＵ１１と入出力関連装置１３との間のトランザクションを監視して得られるトランザクション情報からＣＰＵ１１の障害を検出し、その結果を記憶部１６に記録保存する。この機能は従来から利用され公知の技術であるから説明を省略するが、例えばパリティチェックエラー検出、タイムアウト検出等が挙げられる。
【００８３】
ＣＰＵ障害検出部２４５も同様に、ＣＰＵ２１と入出力関連装置２３との間のトランザクション情報からＣＰＵ２１の障害を検出し、記憶部２６に記録、保存する。
【００８４】
異常判定部１４４は、同期化設定条件でＣＰＵ１１が初期化された後、同期判定部１４２でＣＰＵ１１がＣＰＵ２１と同期していない、すなわち同期ずれがあると判定された場合で、ＣＰＵ１１の障害が検出されていないとき、記憶部１６に記録されている異常兆候関連情報に基づきＣＰＵ１１の異常兆候の有無を判定する。ＣＰＵ１１の障害が検出されているかどうかは、ＣＰＵ障害検出部１４５が検出したＣＰＵ障害の検出結果が記憶部１６に記録保存されているかどうかにより異常判定部１４４が判断する。
【００８５】
異常判定部１４４は、異常兆候の有無の判定の結果、異常兆候有りと判定したとき、すなわち異常兆候が検出されたとき、及びＣＰＵ１１の障害が検出されているときは、ＣＰＵ１１を同期動作から切り離す処理をすることができる。なお、記憶部１６にはアクセス時間の履歴情報が蓄積されているとする。
【００８６】
この変形例における情報処理装置１０の異常兆候検出に関する動作は、図２に示すＣＰＵ初期化処理Ａと、図５に示すＣＰＵ同期異常処理Ａ’に示されている。図５は図３に対応するもので、図３と異なるのはステップＳ２０とＳ２１との間にステップＳ２６が挿入されている点、及びステップＳ２４をステップＳ２７に置き換え、同期対象のＣＰＵ２１の異常兆候の有無だけでなく障害検出の有無も含めて判定するようにした点である。ステップＳ２６については、同期判定部１４２が、ＣＰＵ１１とＣＰＵ２１とが同期していないと判定した場合（ステップＳ２０；ＮＯ）、異常判定部１４４は、ＣＰＵ障害検出の有無を判定する（ステップＳ２６）。ＣＰＵ障害が検出されていれば（ステップＳ２６；ＹＥＳ）、ＣＰＵ１１を同期動作から切り離し（ステップＳ２２）、ＣＰＵ障害が検出されていなければ（ステップＳ２６；ＮＯ）、ステップＳ２１に進む。ステップＳ２６の挿入とステップＳ２４をステップＳ２７に置き換えたことを除けば、その他の点では、図３に示す処理と同じである。
【００８７】
この変形例では、同期異常がＣＰＵの障害に起因するものか、ＣＰＵの障害に至る前のＣＰＵの異常兆候に起因するものかを区別して判定することができる。
【００８８】
図６は、実施形態１に係る情報処理装置の必須の構成を示すブロック図である。情報処理装置１０は、情報処理装置２０のＣＰＵ２１と同期して動作するＣＰＵ１１と、入出力関連装置１３と、同期制御部１４と、記憶部１６と、通信部１７とを備え、同期制御部１４は初期化設定部１４０、トランザクション監視部１４１、同期判定部１４２、異常兆候関連情報取得部１４３、及び異常判定部１４４を備える。各部は既に説明したとおりの機能を備える。
【００８９】
図６に示す情報処理装置１０の異常兆候検出に関する動作を一般化して説明する。図７は実施形態１に係る情報処理装置の一般化されたＣＰＵ初期化処理Ｂの内容を示すフローチャート、図８は実施形態１に係る情報処理装置の一般化されたＣＰＵ同期異常処理Ｂの内容を示すフローチャートである。
【００９０】
まず、図７に示すＣＰＵ初期化処理Ｂについて説明する。初期化設定部１４０は所定の初期化条件でＣＰＵ１１を初期化する（ステップＳ３０）。所定の初期化条件は実施形態１では同期化設定条件と等しく、初期化条件の各成分は対応する適正値に設定される。ステップＳ３０は、図２のステップＳ１０に対応する。
【００９１】
異常兆候関連情報取得部１４３は、トランザクション情報に基づき異常兆候関連情報を取得し（ステップＳ３１）、取得した異常兆候関連情報を記憶部１６に記録保存する（ステップＳ３２）。ステップＳ３１は、図２のステップＳ１１とＳ１２とに、又はステップＳ１４とＳ１５とに対応し、ステップＳ３２は、図２のステップＳ１３又はＳ１６に対応する。
【００９２】
初期化設定部１４０は、同期化設定条件で、すなわち初期化条件の各成分を対応する適正値に設定してＣＰＵ１１を初期化し（ステップＳ３３）、ＣＰＵ初期化処理Ｂを完了する。なお、実施形態１では、ステップＳ３０で既に初期化条件を同期化設定条件としてＣＰＵ１１の初期化を行っているので、ステップＳ３３は省略することができる。このステップＳ３３は、後述する実施形態２のようにステップＳ３０で設定される初期化条件が同期化設定条件と異なる場合に備えて設けたステップである。
【００９３】
以上の処理により、ＣＰＵ１１をＣＰＵ２１と同期して動作させるためのＣＰＵ１１の初期化と異常兆候関連情報の記録保存とが完了する。
【００９４】
次に、図８に従ってＣＰＵ同期異常処理Ｂについて説明する。同期判定部１４２は情報処理装置１０及び２０のそれぞれのトランザクション情報からＣＰＵ１１と２１とが同期しているかどうかを判定し（ステップＳ４０）、同期していれば（ステップＳ４０；ＹＥＳ）ステップＳ４０に戻り、同期ずれの有無の監視を継続する。ステップＳ４０は、図３のステップＳ２０に対応する。
【００９５】
同期していなければ（ステップＳ４０；ＮＯ）、異常判定部１４４は異常兆候関連情報に基づいて異常兆候の有無を判定する（ステップＳ４１）。ステップＳ４１は図３のステップＳ２１又はＳ２３に対応する。
【００９６】
異常判定部１４４は、異常兆候があれば（ステップＳ４１；ＹＥＳ）、異常兆候有りと判定し（ステップＳ４２）、異常兆候が無ければ（ステップＳ４１；ＮＯ）、異常兆候無しと判定し（ステップＳ４３）、いずれの場合もＣＰＵ同期異常処理Ｂを終了する。ステップＳ４２は、図３のステップＳ２２に代えて判定の内容を明確にしたものである。また、ステップＳ４３は、図３のステップＳ２４とＳ２５に代えて判定の内容を明確にしたものである。
【００９７】
図６に示す構成の情報処理装置を図７及び図８に示すフローチャートに従って動作させた場合も、これまでに説明した効果と同様の効果を奏することができる。
【００９８】
（実施形態２）
実施形態２に係る情報処理システムの構成は図４に示す構成と同じであるが、同期制御部１４、２４の機能構成要素の機能の一部が実施形態１の場合と異なる。同期制御部１４について異なる点を説明する。同期制御部１４と２４とは同様の機能を有するので、同期制御部２４については異なる点の説明を省略する。
【００９９】
初期化設定部１４０は、実施形態１と同様に、ＣＰＵ初期化のためにＣＰＵクロック位相の設定とリセット発行とを行う。異なる点は、リセット発行のタイミング、及びＣＰＵクロック位相をそれぞれの適正値から所定値ずらして設定することができるという点である。
【０１００】
リセット発行のタイミングをその適正値からずらす量である所定値（ずれの所定値）は、あらかじめ設定された値であり、ＣＰＵクロック位相をその適正値に設定したとき、例えば、ＣＰＵ１１と２１とが同期して動作できるリセット発行タイミングの設定可能な範囲の境界近傍の値とリセット発行タイミングの適正値との差分に相当する値である。このずれの所定値は例えば記録部１６に記憶保存されており、読み出して利用される。
【０１０１】
ＣＰＵクロック位相をその適正値からずらす量であるずれの所定値は、あらかじめ設定された値であり、リセット発行のタイミングをその適正値に設定したとき、ＣＰＵ１１と１２とが同期して動作できるＣＰＵクロック位相の設定可能な範囲の境界近傍の値とＣＰＵクロック位相の適正値との差分に相当する値である。このずれの所定値は例えば記録部１６に記憶保存されており、読み出して利用される。
【０１０２】
異常兆候関連情報取得部１４３は、実施形態１と異なり、初期化設定部１４０を介して、ＣＰＵクロック位相及びリセット発行タイミングのいずれか一方を対応する適正値に設定し、他方を対応する適正値からずれの所定値だけずらして設定することによりＣＰＵ１１を初期化して、いずれも対応する適正値に設定されて初期化されたＣＰＵ２１との同期動作を開始する。次に、異常兆候関連情報取得部１４３は、同期判定部１４２に同期ずれの有無を判定させる。同期ずれがあると判定された場合に、異常兆候関連情報取得部１４３は、ＣＰＵ障害検出部１４５によりＣＰＵ１１の障害が検出されているかどうかを判定する。異常兆候関連情報取得部１４３は、障害検出の判定結果からＣＰＵ１１に障害があると判定した場合はＣＰＵ１１の同期動作からの切り離し有りと判定し、ＣＰＵ１１の障害が検出されていないと判定した場合はＣＰＵ１１の同期動作からの切り離しは無いと判定し、その判定結果を異常兆候関連情報として取得する。また、同期ずれがないと判定された場合には、異常兆候関連情報取得部１４３は、前記ＣＰＵの同期動作からの切り離しはないと判定し、その判定結果を異常兆候関連情報として取得する。すなわち、異常兆候関連情報取得部１４３は、同期ずれとＣＰＵ１１の障害の有無の情報とに基づき異常兆候関連情報を取得しているが、いずれもトランザクション情報から得られるので、トランザクション情報に基づき異常兆候関連情報を取得していることになる。
【０１０３】
異常判定部１４４は、最新の異常兆候関連情報が他の異常兆候関連情報の傾向と異なる場合に特異性があるとする。特異性の有無の判定という点では実施形態１の場合と同じである。例えば、過去のＣＰＵの切り離し有無の情報が、切り離しなしのとき、最新のＣＰＵの切り離し有無の情報が切り離し有りであったとき、その最新のＣＰＵの切り離し有無の情報は特異性を有するとする。ずれの所定値の設定によっては、この逆の場合もある。
【０１０４】
以上の点を除けば図４の各構成部は、実施形態１の場合と同様に機能する。
【０１０５】
次に、図９〜図１１のフローチャートを使って、実施形態２に係る情報処理装置１０の異常兆候検出に関する動作について説明する。図９は実施形態２に係るＣＰＵ初期化処理Ｃの内容を、図１０は実施形態２に係るＣＰＵ切り離し判定の内容を、図１１は実施形態２に係るＣＰＵ同期異常処理Ｃの内容を示すフローチャートである。以下では情報処理装置１０の異常兆候検出について説明するが、情報処理装置２０の異常兆候検出についても同様である。なお、ＣＰＵ初期化処理Ｃ、ＣＰＵ切り離し判定、及びＣＰＵ同期異常処理Ｃの実行は同期制御部１４で制御される。
【０１０６】
図９において、ステップＳ５０〜Ｓ５５は、異常兆候関連情報取得部１４３による異常兆候関連情報の取得に関連する。異常兆候関連情報取得部１４３は、初期化設定部１４０を介して、ＣＰＵクロック位相を適正値に設定し、リセット発行のタイミングを適正値からずれの所定値だけずらしてリセット発行を行うことによりＣＰＵ１１を初期化する（ステップＳ５０）。これによりＣＰＵ１１の同期動作が開始される。このとき同期動作の対象となるＣＰＵ２１はＣＰＵクロック位相及びリセットタイミングのいずれも適正値に設定されていることとする。
【０１０７】
次に、異常兆候関連情報取得部１４３は、ＣＰＵ切り離し判定を実行する（ステップＳ５１）。その内容は後述するが、判定の結果、ＣＰＵ１１の同期動作からの切り離し有無の判定結果が得られる。
【０１０８】
異常兆候関連情報取得部１４３は、このとき得られるＣＰＵ１１の同期動作からの切り離し有無の判定結果を異常兆候関連情報ａとして取得し、記憶部１６に記録保存する（ステップＳ５２）。なお、以下ではこのときのＣＰＵ１１の切り離し有無の判定結果を切り離し有無情報ａと呼ぶ。すなわち、異常兆候関連情報ａは切り離し有無情報ａで構成されている。
【０１０９】
次に、異常兆候関連情報取得部１４３は、初期化設定部１４０を介してＣＰＵクロック位相を適正値からずれの所定値だけずらして設定し、リセット発行のタイミングを適正値にしてリセット発行を行うことによりＣＰＵ１１を初期化する（ステップＳ５３）。これによりＣＰＵ１１の同期動作が開始される。このとき同期動作の対象となるＣＰＵ２１はＣＰＵクロック位相及びリセットタイミングのいずれも適正値に設定されていることとする。
【０１１０】
次に、異常兆候関連情報取得部１４３は、ＣＰＵ切り離し判定を実行する（ステップＳ５４）。その内容はステップＳ５１の内容と同じであり、後述する。判定の結果、ＣＰＵ１１の同期動作からの切り離し有無の判定結果が得られる。
【０１１１】
異常兆候関連情報取得部１４３は、このとき得られるＣＰＵ１１の切り離し有無の判定結果を異常兆候関連情報ｂとして取得し、異常兆候関連情報ａと区別して記憶部１６に記録保存する（ステップＳ５５）。なお、以下ではこのときのＣＰＵ１１の切り離し有無の判定結果を切り離し有無情報ｂと呼ぶ。すなわち、異常兆候関連情報ｂは切り離し有無情報ｂで構成されている。
【０１１２】
次に、初期化設定部１４０は、ＣＰＵクロック位相を適正値に設定し、リセット発行のタイミングを適正値に設定したままでリセット発行を行いＣＰＵ１１を初期化し（ステップＳ５６）、同期制御部１４はＣＰＵ初期化処理Ｃを終了する。これによりＣＰＵ１１の通常の同期動作が開始される。その後、同期制御部１４はＣＰＵ同期異常処理Ｃを実行する。
【０１１３】
ＣＰＵ２１についても同期化の処理を実施するときはＣＰＵ１１に対して実施したＣＰＵ初期化処理Ｃと同様の処理を行う。このとき同期動作の対象となるＣＰＵ１１はＣＰＵクロック位相及びリセットタイミングのいずれも適正値に設定されていることとする。
【０１１４】
ステップＳ３１とＳ３４で実行されるＣＰＵ切り離し判定の内容を図１０に従って説明する。異常兆候関連情報取得部１４３は、同期判定部１４２に、ＣＰＵ１１がＣＰＵ２１と同期して動作しているかどうかを判定させる（ステップＳ６０）。この判定は図３又は図５のステップＳ２０の判定内容と同じである。
【０１１５】
同期していると判定された場合（ステップＳ６０；ＹＥＳ）は、異常兆候関連情報取得部１４３は、ＣＰＵ１１の同期動作からの切り離し無しと判定し（ステップＳ６３）、その結果を異常兆候関連情報として取得する。その後、同期制御部１４は、処理を図９のステップＳ３１又はＳ３４に戻す。
【０１１６】
同期していないと判定された場合（ステップＳ６０；ＮＯ）は、異常兆候関連情報取得部１４３は、ＣＰＵ１１の障害が検出されているかどうかを判定する（ステップＳ６１）。この判定は図５のステップＳ２６の判定内容と同様であるが、判定主体が異なる。
【０１１７】
ＣＰＵ１１の障害が検出されていない場合（ステップＳ６１；ＮＯ）は、異常兆候関連情報取得部１４３は、ＣＰＵ１１の同期動作からの切り離し無しと判定し（ステップＳ６３）、その結果を異常兆候関連情報として取得する。同期制御部１４は、処理を図９のステップＳ５１又はＳ５４に戻す。
【０１１８】
ＣＰＵ１１の障害が検出されている場合（ステップＳ６１；ＹＥＳ）は、異常兆候関連情報取得部１４３は、ＣＰＵ１１の同期動作からの切り離し有りと判定し（ステップＳ６２）、その結果を異常兆候関連情報として取得する。同期制御部１４は、処理を図９のステップＳ５１又はＳ５４に戻す。
【０１１９】
図９のステップＳ５２及びＳ５５で記録保存されるＣＰＵ切り離し有無の判定結果はこれらの判定結果である。
【０１２０】
ＣＰＵ切り離し有無の判定結果を異常兆候関連情報として取得するのは、ＣＰＵに異常兆候がある場合、ＣＰＵの初期設定値を適正値からずらして同期動作を開始すると、異常兆候の程度によっては、同期ずれに加えてＣＰＵに障害が生じ、その結果ＣＰＵの同期動作からの切り離し有りと判定されることになるからである。
【０１２１】
ＣＰＵ同期異常処理Ｃの内容を図１１に従って説明する。同期判定部１４２は、ＣＰＵ１１がＣＰＵ２１と同期して動作しているかどうかを判定する（ステップＳ７０）。この判定は図３又は図５のステップＳ２０の判定内容と同じである。
【０１２２】
同期していると判定された場合（ステップＳ７０；ＹＥＳ）は、ステップＳ７０の処理に戻り、ＣＰＵ１１の同期ずれの有無の監視を継続する
【０１２３】
同期していないと判定された場合（ステップＳ７０；ＮＯ）は、異常判定部１４４は、記憶部１６に保存されているＣＰＵ切り離し有無情報ａを読み出す。ＣＰＵ切り離し有無情報ａは、ＣＰＵクロック位相をその適正値に設定し、リセット発行タイミングをその適正値からずらしてリセットしたときのＣＰＵ切り離し有無の判定結果である。そして、読み出したＣＰＵ切り離し有無情報ａの中の最新のＣＰＵ切り離し有無情報ａが、これを除いたＣＰＵ切り離し有無情報ａに対して特異性を有するかどうかを判定する（ステップＳ７１）。ステップＳ７１の判定は図３又は図５のステップＳ２１又はＳ２３の判定と特異性の有無の判定という点で同じ内容である。
【０１２４】
異常判定部１４４は、最新のＣＰＵ切り離し有無情報ａが、これを除いたＣＰＵ切り離し有無情報ａに対して特異性を有すると判定した場合（ステップＳ７１；ＹＥＳ）、ＣＰＵ１１の異常兆候が検出されたとして、ＣＰＵ１１を同期動作から切り離す処理を行う（ステップＳ７２）。その後同期制御部１４はＣＰＵ同期異常処理Ｃを終了する。ステップＳ７２の処理内容は図３又は図５のステップＳ２２の処理内容と同じである。なお、情報処理システムがＦＴ情報処理システムであり情報処理装置１０がアクティブ系の場合は、同期制御部１４は、通信部１７を介して、情報処理装置２０をアクティブ系にする指示を同期制御部２４に送る。
【０１２５】
異常判定部１４４は、最新のＣＰＵ切り離し有無情報ａが、これを除いたＣＰＵ切り離し有無情報ａに対して特異性を有しないと判定した場合（ステップＳ７１；ＮＯ）、記憶部１６に保存されているＣＰＵ切り離し有無情報ｂを読み出す。ＣＰＵ切り離し有無情報ｂは、ＣＰＵクロック位相をその適正値からずらし、リセット発行のタイミングをその適正値に設定してリセット発行したときのＣＰＵ切り離し有無の判定結果である。そして、最新のＣＰＵ切り離し有無情報ｂが、これを除いたＣＰＵ切り離し有無情報ｂに対して特異性を有するかどうかを判定する（ステップＳ７３）。ステップＳ７３の判定は図３又は図５のステップＳ２１又はＳ２３の判定と特異性の有無の判定という点で同じ内容である。
【０１２６】
異常判定部１４４は、最新のＣＰＵ切り離し有無情報ｂが、これを除いたＣＰＵ切り離し有無情報ｂに対して特異性を有すると判定した場合（ステップＳ７３；ＹＥＳ）、ＣＰＵ１１の異常兆候が検出されたとして、ＣＰＵ１１を同期動作から切り離す処理を行い（ステップＳ７２）、同期制御部１４はＣＰＵ同期異常処理Ｃを終了する。なお、情報処理システムがＦＴ情報処理システムであり情報処理装置１０がアクティブ系の場合は、同期制御部１４は、通信部１７を介して、情報処理装置２０をアクティブ系にする指示を同期制御部２４に送る。
【０１２７】
異常判定部１４４は、最新のＣＰＵ切り離し有無情報ｂが、これを除いたＣＰＵ切り離し有無情報ｂに対して特異性を有していないと判定した場合（ステップＳ７３；ＮＯ）、ＣＰＵ１１の異常兆候が検出されなかったとして、ＣＰＵ１１の同期動作の対象となるＣＰＵ２１の異常兆候が検出されているかどうかを判定する（ステップＳ７４）。この判定は図３のステップＳ２４の判定内容と同じである。
【０１２８】
異常判定部１４４は、ＣＰＵ２１の異常兆候が検出されていないと判定したとき（ステップＳ７４；ＮＯ）は、ＣＰＵ１１が、あらかじめ定められた選択基準に合致しているかどうかを判定し（ステップＳ７５）、合致していれば（ステップＳ７５；ＹＥＳ）ＣＰＵ１１を同期動作から切り離す（ステップＳ７２）。ステップＳ７５の判定内容は図３又は図５のステップＳ２５の判定内容と同じである。その後、同期制御部１４は、ＣＰＵ同期異常処理Ｃを終了する。一方、ＣＰＵ１１が選択基準に合致していない場合（ステップＳ７５；ＮＯ）は、結果的にＣＰＵ２１が選択基準に合致することになるため、ＣＰＵ２１が同期動作から切り離されることになる。そのため、同期制御部１４は、ＣＰＵ２１との同期動作に関するＣＰＵ同期異常処理Ｃを一旦終了し、ＣＰＵ１１はそのまま動作を継続する。
【０１２９】
ステップＳ７４でＮＯの判定がなされるときは、同期ずれが発生しているがＣＰＵ１１、ＣＰＵ２１のいずれにも異常兆候が見つからない場合である。この場合は、同期ずれの修復のために再同期処理が必要であるから、あらかじめ定められた選択基準に従って選択されたＣＰＵが一旦同期動作から切り離され、再同期処理が実施されることになる。この選択基準は、切り離すＣＰＵを選択できればどの様な選択基準であってもよいが、例えばＣＰＵ稼働時間の長短によることが考えられるが、例えばＣＰＵ稼働時間が短い方を選択する等の選択基準が考えられる。
【０１３０】
異常判定部１４４が、ＣＰＵ２１の異常兆候が検出されていると判定したとき（ステップＳ７４；ＹＥＳ）は、同期制御部１４はＣＰＵ同期異常処理Ｃを一旦終了し、ＣＰＵ１１はそのまま動作を継続する。
【０１３１】
図９〜図１１に示すフローチャートは、実施形態２に係る情報処理装置１０の動作を示すと共に、実施形態２に係る異常兆候検出方法をも示す。
【０１３２】
実施形態２に係る発明によれば、他の情報処理装置のＣＰＵとの間でＣＰＵの同期ずれが発生した時に、障害が検出されていないＣＰＵの異常兆候を検出することのできる情報処理装置、情報処理システム、及び情報処理装置の異常兆候検出方法を提供することができる。
【０１３３】
同期ずれが生じた場合、ＣＰＵの障害が検出されていなければ、従来はどちらのＣＰＵを切り離すかという判断材料がなく、正常なＣＰＵを切り離して、将来、障害発生の原因となりうる異常兆候を内包するＣＰＵの動作を継続させて再同期処理を行うという危険性があった。実施形態２に係る発明によればＣＰＵの異常兆候を検出できるので、将来、障害発生の原因となりうる異常兆候の検出されたＣＰＵを同期動作から切り離すことができ、これにより情報処理システムの信頼性が向上する。
【０１３４】
実施形態２に係る発明によれば、初期化条件の各成分の設定値を適正値からずらしてリセット発行を行うことによりＣＰＵを初期化して同期動作を開始し、そのときに得られるＣＰＵ切り離し有無の判定結果を記録保存し、その中の最新のＣＰＵ切り離し有無の判定結果が他のＣＰＵ切り離し有無の判定結果に対して特異性を有するかどうかを利用してＣＰＵの異常兆候を検出する。従って、ＣＰＵ毎に有する固有の特性のばらつきの影響を受けないでＣＰＵの異常兆候を検出することができる。
【０１３５】
なお、ステップＳ７１とＳ７３の実行順序は任意である。更に、ステップＳ７４とＳ７５とは異常兆候の検出という点では必須ではなく省略してもよい。また、ステップＳ７２をＣＰＵ異常兆候有りという判定結果を示すものに変更し、ステップＳ７４及びＳ７５をＣＰＵ異常兆候無しという判定結果を示すものに変更してもよい。
【０１３６】
以上の説明では異常兆候の検出に最新のＣＰＵ切り離し有無情報ａの特異性と最新のＣＰＵ切り離し有無情報ｂの特異性の両方を用いるとしたが、いずれか一方にしてもよい。これにより処理が簡略化できる。
【０１３７】
以上の説明では、ずれの所定値を、ＣＰＵ１１と２１とが同期して動作できる初期化設定情報の設定可能な範囲の境界近傍の値と適正値との差分に相当する値としたが、これに限る必要はない。
【０１３８】
以上の説明では、初期化設定部１４０は、一つの適正値に対して一つのずれの所定値を設定したが、ずれの所定値を一つに限定する必要はなく、複数のずれの所定値を設定してずれの所定値毎にこれまで説明した処理を実行してもよい。これにより、より詳細なＣＰＵ切り離しの有無の情報が得られるため、異常兆候関連情報の特異性をより確実に把握することができ、異常兆候の早期検出を期待することができる。特に、適正値に対して正と負のずれの所定値を設定すれば、異常兆候をより確実に検出できるという効果が得られる。
【０１３９】
なお、図１１に示すＣＰＵ同期異常処理Ｃを図１２に示すＣＰＵ同期異常処理Ｃ’に替えてもよい。図１２は、図１１のステップＳ７０とＳ７１との間にステップＳ７６を挿入し、図１１のステップＳ７４をステップＳ７７で置き換えている。この置き換えは図３と図５の関係と同じである。図１２に示す処理によれば、同期異常がＣＰＵの障害に起因するものか、ＣＰＵの障害に至る前のＣＰＵの異常兆候に起因するものかを区別して判定することができる。
【０１４０】
実施形態１及び２に係る発明は、異常兆候関連情報の内容の違い、従ってその取得方法の違いはあるが、いずれもトランザクション情報に基づき取得された情報であるという点で共通しており、その他についても共通している。従って、実施形態１と２に係る発明のそれぞれは同一の発明の異なる具体例であるといえる。
【０１４１】
実施形態１及び２ともに、情報処理システムは２台の情報処理装置１０、２０で構成されているとしたが、３台以上で構成されていてもよい。情報処理システムが３台以上で構成されている場合、その中の任意の２台の組毎に実施形態１又は２に係る発明を適用することができる。なお、３台以上の場合は、切り離されたＣＰＵを除くＣＰＵ間で同期動作が継続される。
【０１４２】
図１３は図１に示す実施形態１及び２に係る情報処理装置１０のコンピュータとしてのハードウェア構成例を示すブロック図である。この装置は、制御装置３０、主記憶装置４０、外部記憶装置５０、入出力装置６０、通信装置７０を備える。主記憶装置４０、外部記憶装置５０、入出力装置６０、通信装置７０はいずれもバスライン８０を介して制御装置３０に接続されている。
【０１４３】
制御装置３０は少なくとも２台の、主となるＣＰＵａと従となるＣＰＵｂとで構成され、ＣＰＵａは外部記憶装置５０に記憶されている制御プログラム１００を主記憶装置４０に読み出して実行することにより各種処理を実行し、また、ＣＰＵｂの動作もこれにより開始される。ＣＰＵａは図１に示すＣＰＵ１１、ＣＰＵｂは同期制御部１４を構成するＣＰＵである。ＣＰＵａ（ＣＰＵ１１）は全体制御を、ＣＰＵｂ（同期制御部１４を構成するＣＰＵ）はＣＰＵ１１の同期動作に関する制御を行う。制御プログラム１００は、各ＣＰＵに対応した制御プログラムを含む。図２、図３、図５、図７、及び図８に示すフローチャートは、実施形態１に係る異常兆候検出プログラムの内容をも示し、図９〜１２に示すフローチャートは、実施形態２に係る異常兆候検出プログラムの内容をも示している。この異常兆候検出プログラムはＣＰＵｂ（同期制御部１４のＣＰＵ）が実行する制御プログラム１００に含まれる。
【０１４４】
異常兆候検出プログラムを含む制御プログラム１００は、この制御プログラム１００が記録保存された、コンピュータ（ここでは情報処理装置１０）による読み取りが可能な記録媒体を、記録媒体読み取り装置（図示省略）に装着し、記録内容を読み出すことにより外部記憶装置５０に記録保存することができる。記録媒体に代えてインターネット経由で制御プログラム１００を受信して外部記憶装置５０に記録保存してもよい。
【０１４５】
主記憶装置４０はＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成され、外部記憶装置５０に記憶されている制御プログラム１００がロードされ、制御装置３０の作業領域として用いられる。ＣＰＵ１１に対する主記憶装置４０は図１の記憶部１２に含まれ、同期制御部１４のＣＰＵに対する主記憶装置４０は、図１、図４、及び図６に示す記憶部１６に含まれる。主記憶装置４０で制御プログラム１００を破線で表示しているのは、制御プログラム１００はシステムの動作時にだけ外部記憶装置５０から主記憶装置４０に読み出されるためである。
【０１４６】
外部記憶装置５０は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＷ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  ＲｅＷｒｉｔａｂｌｅ）等の不揮発性メモリから構成される。外部記憶装置５０は、ＣＰＵ１１が実行する制御処理及び同期制御部１４のＣＰＵが実行する制御プログラム１００を記憶する。また、外部記憶装置５０は、各種情報を記録情報１１０として記録保存するとともに記録情報１１０はＣＰＵ１１又は同期制御部１４のＣＰＵにより読み出されて利用される。記録情報１１０には、同期制御部１４で実施される各種判定に使用される閾値、リセット発行タイミング及びＣＰＵクロック位相のそれぞれの適正値、適正値からのずらし量であるずれの所定値、異常兆候関連情報等が含まれる。このうち、異常兆候関連情報は同期制御部１４の指示により外部記憶装置５０に記録保存されるが、他の情報はあらかじめ外部記憶装置５０に記録保存されている。これを変更するときは入出力装置６０を介して、所定の手続きに従って変更内容を入力する。外部記憶装置５０は、図１、図４の記憶部１２、１６に含まれる。図６では記憶部１２の図示を省略している。明示してはいないが、図１、図４のＢＩＯＳ記憶部１３０に対応するフラッシュメモリ等で構成される記憶装置が図１３に含まれる。
【０１４７】
入出力装置６０はコンピュータ（情報処理装置１０）内に情報の入力を行う入力装置及びコンピュータ（情報処理装置１０）から情報の出力を行う出力装置を総称している。入力装置はキーボード及びマウスなどのポインティングデバイス等と、キーボード及びポインティングデバイス等をバスライン７０に接続するインタフェース装置から構成される操作部や各種センサ等からの情報を入力する入力部を含む。出力装置はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）又はＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などから構成される表示部等を含む。なお、表示部は入力装置と出力装置とを兼ねたものとして使用されてもよい。図１、図４、及び図６の入出力装置１３１が入出力装置６０に該当する。図１、図４、及び図６に示す入出力関連装置１３は、この入出力装置６０と図１３に明示していないＢＩＯＳ記憶部１３０に相当する記憶部とが対応している。
【０１４８】
通信装置７０は、制御装置３０の指示に従って、他のコンピュータ（情報処理装置２０）との間で情報の送受信を行う。図１、図４、図６の通信部１７がこれに該当する。
【０１４９】
情報処理装置２０も、情報処理装置１０と同様に構成されているので、コンピュータとして図１３と同様のハードウェア構成を有する。図１、図４、及び図６に示す情報処理装置２０と図１３との対応関係は情報処理装置１０の場合と同様である。
【０１５０】
情報処理装置１０、２０はコンピュータとしてこのように構成されているので、実施形態１又は２に係る発明によれば、他のコンピュータのＣＰＵとの間でＣＰＵの同期ずれが発生した時に、障害が検出されていないＣＰＵの異常兆候を検出することのできる異常兆候検出プログラムを提供することができる。
【０１５１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５２】
（付記１）
他の情報処理装置の備える他のＣＰＵと同期して動作するＣＰＵと、該ＣＰＵの前記他のＣＰＵとの間の同期動作を制御する同期制御部と、前記他の情報処理装置との間で情報の送受信を行う通信部と、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備える情報処理装置において、
前記同期制御部は、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定部と、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視部と、
前記通信部を介して、前記他の情報処理装置との間で、前記トランザクション情報を送受信し、前記情報処理装置及び前記他の情報処理装置のそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定部と、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得部と、
前記初期化設定部で、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定部で前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定部と、
を備えることを特徴とする情報処理装置。
【０１５３】
（付記２）
前記異常判定部は、前記異常兆候関連情報の中の最新の異常兆候関連情報とこれを除く異常兆候関連情報とに基づき、前記ＣＰＵの異常兆候の有無を判定する、
ことを特徴とする付記１に記載の情報処理装置。
【０１５４】
（付記３）
前記初期化条件は、ＣＰＵクロック位相と、前記ＣＰＵに対するリセット発行のタイミングとを所定値設定の対象となる成分として有し、
前記同期化設定条件では、前記初期化条件の前記成分が、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために規定された対応する適正値に設定されている、
ことを特徴とする付記１又は２に記載の情報処理装置。
【０１５５】
（付記４）
前記トランザクション情報から前記ＣＰＵの障害の有無を検出するＣＰＵ障害検出部を備え、
前記異常判定部は、前記同期判定部で前記ＣＰＵの同期ずれがあると判定され、且つ前記ＣＰＵ障害検出部で前記ＣＰＵの障害が検出されないとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する、
ことを特徴とする付記１乃至３のいずれか１つに記載の情報処理装置。
【０１５６】
（付記５）
前記異常兆候関連情報は、前記所定の初期化条件を前記同期化設定条件にしたときの前記トランザクション情報に基づき、前記リセット発行から、前記ＣＰＵが前記入出力関連装置にアクセスするまでのアクセス時間を前記異常兆候関連情報取得部が計測して得た情報である、
ことを特徴とする付記３又は４に記載の情報処理装置。
【０１５７】
（付記６）
前記入出力関連装置は、ＢＩＯＳプログラムを記憶するＢＩＯＳ記憶部を含み、
前記アクセス時間は、前記ＣＰＵが前記リセット発行から前記ＢＩＯＳ記憶部へアクセスするまでの時間である、
ことを特徴とする付記５に記載の情報処理装置。
【０１５８】
（付記７）
前記入出力関連装置は、情報の入力又は出力を行う入出力装置を含み、
前記アクセス時間は、前記ＣＰＵが前記リセット発行から前記入出力装置へアクセスするまでの時間である、
ことを特徴とする付記５に記載の情報処理装置。
【０１５９】
（付記８）
前記入出力関連装置は、ＢＩＯＳプログラムを記憶するＢＩＯＳ記憶部と情報の入力又は出力を行う入出力装置とを含み、
前記アクセス時間は、前記ＣＰＵが前記リセット発行から前記ＢＩＯＳ記憶部へアクセスするまでのＢＩＯＳアクセス時間、及び前記入出力装置へアクセスするまでの入出力アクセス時間であり、
前記異常判定部は、ＢＩＯＳアクセス時間について異常兆候の有無を判定し、異常兆候がない場合に、入出力アクセス時間について異常兆候の有無を判定する、
ことを特徴とする付記５に記載の情報処理装置。
【０１６０】
（付記９）
前記トランザクション情報から前記ＣＰＵの障害の有無を検出するＣＰＵ障害検出部を備え、
前記異常兆候関連情報取得部は、前記初期化設定部を介して、前記初期化条件の一方の成分に対する前記所定値を、前記一方の成分に対応する前記適正値に設定し、前記初期設定情報の他方の成分に対する前記所定値を、前記他方の成分に対応する前記適正値からずらして設定して前記ＣＰＵを初期化したときに、前記同期判定部に同期ずれの有無を判定させ、同期ずれがあると判定された場合に、前記ＣＰＵ障害検出部で検出される前記ＣＰＵの障害の有無に基づき前記ＣＰＵの同期動作からの切り離し有無を判定し、且つ、同期ずれがないと判定された場合に、前記ＣＰＵの同期動作からの切り離しはないと判定し、切り離しに関する両判定結果を前記異常兆候関連情報として取得する、
ことを特徴とする付記３に記載の情報処理装置。
【０１６１】
（付記１０）
前記異常判定部は、前記同期判定部で前記ＣＰＵの同期ずれがあると判定され、且つ前記ＣＰＵ障害検出部で前記ＣＰＵの障害が検出されないとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する、
ことを特徴とする付記９に記載の情報処理装置。
【０１６２】
（付記１１）
前記異常兆候関連情報取得部は、前記適正値からずらすときのずらし値を正と負の値とし、前記ずらし値毎に前記異常兆候関連情報を取得し、
前記異常判定部は、前記ずらし値に対応して取得された前記異常兆候関連情報毎に、異常兆候の有無を判定する、
ことを特徴とする付記９又は１０に記載の情報処理装置。
【０１６３】
（付記１２）
付記１乃至１１のいずれか１つに記載の少なくとも２台の情報処理装置で構成されることを特徴とする情報処理システム。
【０１６４】
（付記１３）
他の情報処理装置の備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備える情報処理装置の異常兆候検出方法において、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他の情報処理装置との間で、前記トランザクション情報を送受信する通信ステップと、
前記情報処理装置及び前記他の情報処理装置のそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を備えることを特徴とする情報処理装置の異常兆候検出方法。
【０１６５】
（付記１４）
他のコンピュータの備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備えるコンピュータに、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他のコンピュータとの間で、前記トランザクション情報を送受信する通信ステップと、 
前記コンピュータ及び前記他のコンピュータのそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を実行させることを特徴とする異常兆候検出プログラム。
【０１６６】
（付記１５）
他のコンピュータの備える他のＣＰＵと同期して動作するＣＰＵと、記憶部と、情報の入力又は出力を行うために使用される入出力関連装置とを備えるコンピュータに、
初期化条件を設定し、該初期化条件で前記ＣＰＵの初期化を行う初期化設定ステップと、
同期動作時の前記ＣＰＵと前記入出力関連装置との間のトランザクションを監視し、トランザクション情報として取得するトランザクション監視ステップと、
前記他のコンピュータとの間で、前記トランザクション情報を送受信する通信ステップと、 
前記コンピュータ及び前記他のコンピュータのそれぞれの前記トランザクション情報に基づき前記ＣＰＵの同期ずれの有無を判定する同期判定ステップと、
所定の前記初期化条件で前記ＣＰＵを初期化した時の前記トランザクション情報に基づき、異常兆候に関連する情報である異常兆候関連情報を取得し、前記記憶部に格納する異常兆候関連情報取得ステップと、
前記初期化設定ステップで、前記ＣＰＵと前記他のＣＰＵとが同期動作をするために設定された前記初期化条件である同期化設定条件で前記ＣＰＵを初期化した後、前記同期判定ステップで前記ＣＰＵの同期ずれがあると判定されたとき、前記記憶部に格納されている前記異常兆候関連情報に基づき、前記ＣＰＵの異常兆候の有無を判定する異常判定ステップと、
を実行させる異常兆候検出プログラムを記憶したことを特徴とする前記コンピュータによる読み取り可能な記録媒体。
【符号の説明】
【０１６７】
１０、２０  情報処理装置
１１、２１  ＣＰＵ
１２、１６、２２、２６  記憶部  
１３、２３  入出力関連装置
１４、２４  同期制御部
１５、２５  チップセット
１７、２７  通信部
３０  制御装置
４０  主記憶装置
５０  外部記憶装置
６０  入出力装置
７０  通信装置
８０  バスライン
１３０、２３０  ＢＩＯＳ記憶部
１３１、２３１  入出力装置
１４０、２４０  初期化設定部
１４１、２４１  トランザクション監視部
１４２、２４２  同期判定部
１４３、２４３  異常兆候関連情報取得部
１４４、２４４  異常判定部
１４５、２４５  ＣＰＵ障害検出部
【図１】
0005760847.tif 000002
【図２】
0005760847.tif 000003
【図３】
0005760847.tif 000004
【図４】
0005760847.tif 000005
【図５】
0005760847.tif 000006
【図６】
0005760847.tif 000007
【図７】
0005760847.tif 000008
【図８】
0005760847.tif 000009
【図９】
0005760847.tif 000010
【図１０】
0005760847.tif 000011
【図１１】
0005760847.tif 000012
【図１２】
0005760847.tif 000013
【図１３】
0005760847.tif 000014