(57)【特許請求の範囲】
【請求項１】
複数のサービスプロセッサを有する多重化サービスプロセッサにおいて、
前記サービスプロセッサは、前記サービスプロセッサ間で時刻を同期させる時刻同期処理部と、
前記サービスプロセッサ間とのプロセッサ間通信を監視するプロセッサ間監視処理部と、
同期した前記時刻の所定時間の経過をトリガにして現用系の前記サービスプロセッサによるユニット内の共有格納領域への診断データの書き込み、待機系の前記サービスプロセッサによる前記ユニット内の前記共有格納領域からの読み出し、および前記プロセッサ間通信による監視の一連の自己診断処理を自律的に順次実行して前記サービスプロセッサの障害の切り分けを行い待機系の前記サービスプロセッサへの切り替え処理を行う診断処理部と、を備え、
前記時刻同期処理部は、前記サービスプロセッサ間で時計の前記時刻を同期させる同期処理部を備え、
前記現用系の前記サービスプロセッサの前記診断処理部は、前記診断データを前記ユニット内の前記共有格納領域に書き込む診断データ書込処理部を備え、
前記待機系の前記サービスプロセッサの前記診断処理部は、前記ユニット内の前記共有格納領域から前記診断データを読み出しサービスプロセッサ内レジスタに書き込む診断データ読出処理部と、前記現用系の前記サービスプロセッサによる前記診断データの前記共有領域への再度の書き込みが行われた後に前記共有格納領域から読み出した前記診断データおよび前記サービスプロセッサ内レジスタの値を比較する診断データ比較処理部と、前記共有格納領域からの読み出しが不可の場合前記待機系の前記サービスプロセッサ、前記ユニットおよびユニット間インタフェースのいずれかに障害が発生したと判断し、前記共有格納領域からの読み出しが可の場合で且つ前記プロセッサ間通信が不可のとき前記現用系の前記サービスプロセッサの障害が発生したと判断し、前記共有格納領域からの読み出しが可の場合で且つ前記プロセッサ間通信が可のとき前記現用系の前記サービスプロセッサ、前記ユニットおよび前記ユニット間インタフェースのいずれかの障害が発生したと判断する障害切分処理部と、を備えることを特徴とする多重化サービスプロセッサ。
【請求項２】
前記診断データが、前記サービスプロセッサのプロセッサ番号、および時刻であることを特徴とする請求項１に記載の多重化サービスプロセッサ。
【請求項３】
前記診断処理部は、診断データとして乱数を発生させる診断データ乱数処理部を備え、
前記診断データが前記サービスプロセッサのプロセッサ番号および乱数データであることを特徴とする請求項１に記載の多重化サービスプロセッサ。
【請求項４】
前記共有格納領域が共有レジスタであることを特徴とする請求項１から請求項３のいずれか１項に記載の多重化サービスプロセッサ。
【請求項５】
前記共有格納領域が共有メモリであることを特徴とする請求項１乃至請求項３のいずれか１項に記載の多重化サービスプロセッサ。
【請求項６】
複数のサービスプロセッサを有する多重化サービスプロセッサの障害処理方法において、
前記サービスプロセッサ間で時刻を同期させる時刻同期処理ステップと、
前記サービスプロセッサ間とのプロセッサ間通信を監視するプロセッサ間監視処理ステップと、
同期した前記時刻の所定時間の経過をトリガにして現用系の前記サービスプロセッサによるユニット内の共有格納領域への診断データの書き込み、待機系の前記サービスプロセッサによる前記ユニット内の前記共有格納領域からの読み出し、および前記プロセッサ間通信による監視の一連の自己診断処理を自律的に順次実行して前記サービスプロセッサの障害の切り分けを行い待機系の前記サービスプロセッサへの切り替え処理を行う診断処理ステップと、を含み、
前記時刻同期処理ステップは、前記サービスプロセッサ間で時計の前記時刻を同期させる同期処理ステップを含み、
前記現用系の前記サービスプロセッサの前記診断処理ステップは、前記診断データを前記ユニット内の前記共有格納領域に書き込む診断データ書込処理ステップを含み、
前記待機系の前記サービスプロセッサの前記診断処理ステップは、前記ユニット内の前記共有格納領域から前記診断データを読み出しサービスプロセッサ内レジスタに書き込む診断データ読出処理ステップと、前記現用系の前記サービスプロセッサによる前記診断データの前記共有領域への再度の書き込みが行われた後に前記共有格納領域から読み出した前記診断データおよび前記サービスプロセッサ内レジスタの値を比較する診断データ比較処理ステップと、前記共有格納領域からの読み出しが不可の場合前記待機系の前記サービスプロセッサ、前記ユニットおよびユニット間インタフェースのいずれかに障害が発生したと判断し、前記共有格納領域からの読み出しが可の場合で且つ前記プロセッサ間通信が不可のとき前記現用系の前記サービスプロセッサの障害が発生したと判断し、前記共有格納領域からの読み出しが可の場合で且つ前記プロセッサ間通信が可のとき前記現用系の前記サービスプロセッサ、前記ユニットおよび前記ユニット間インタフェースのいずれかの障害が発生したと判断する障害切分処理ステップと、を含むことを特徴とする多重化サービスプロセッサの障害処理方法。
【請求項７】
前記診断データが前記サービスプロセッサのプロセッサ番号および時刻であることを特徴とする請求項６に記載の多重化サービスプロセッサの障害処理方法。
【請求項８】
前記ユニット間診断処理ステップは、診断データとして乱数を発生させる診断データ乱数処理ステップを含み、
前記診断データが前記サービスプロセッサのプロセッサ番号および乱数データであることを特徴とする請求項６に記載の多重化サービスプロセッサの障害処理方法。
【請求項９】
前記共有格納領域が共有レジスタであることを特徴とする請求項６から請求項８のいずれか１項に記載の多重化サービスプロセッサの障害処理方法。
【請求項１０】
前記共有格納領域が共有メモリであることを特徴とする請求項６から請求項８のいずれか１項に記載の多重化サービスプロセッサの障害処理方法。
【請求項１１】
複数のサービスプロセッサおよびユニットを有する多重化サービスプロセッサを含むコンピュータに実行させるプログラムであって前記プログラムは、
前記多重化サービスプロセッサに含まれる現用系の前記サービスプロセッサに、前記サービスプロセッサ間で時計の時刻を同期させる時刻同期処理を実行させ、
前記現用系の前記サービスプロセッサまたは前記多重化サービスプロセッサに含まれる待機系の前記サービスプロセッサに、前記サービスプロセッサ間とのプロセッサ間通信を監視するプロセッサ間監視処理を実行させ、
同期した前記時刻の所定時間の経過をトリガにして、前記現用系の前記サービスプロセッサによる前記ユニット内の共有格納領域への診断データの書き込み処理と、前記待機系の前記サービスプロセッサによる前記ユニット内の前記共有格納領域からの読み出し処理と、前記プロセッサ間通信による監視処理との一連の自己診断処理を自律的に順次実行させることにより、前記待機系の前記サービスプロセッサに、前記サービスプロセッサの障害の切り分けを行い待機系の前記サービスプロセッサへの切り替え処理を行う診断処理を実行させ、
前記待機系の前記サービスプロセッサが実行する前記診断処理は、前記ユニット内の前記共有格納領域から前記診断データを読み出しサービスプロセッサ内レジスタに書き込む診断データ読出処理と、前記現用系の前記サービスプロセッサによる前記診断データの前記共有領域への再度の書き込みが行われた後に前記共有格納領域から読み出した前記診断データおよび前記サービスプロセッサ内レジスタの値を比較する診断データ比較処理と、前記共有格納領域からの読み出しが不可の場合前記待機系の前記サービスプロセッサ、前記ユニットおよびユニット間インタフェースのいずれかに障害が発生したと判断し、前記共有格納領域からの読み出しが可の場合で且つ前記プロセッサ間通信が不可のとき前記現用系の前記サービスプロセッサの障害が発生したと判断し、前記共有格納領域からの読み出しが可の場合で且つ前記プロセッサ間通信が可のとき前記現用系の前記サービスプロセッサ、前記ユニットおよび前記ユニット間インタフェースのいずれかの障害が発生したと判断する障害切分処理と、を含むことを特徴とするプログラム。
【請求項１２】
前記診断データが前記サービスプロセッサのプロセッサ番号および時刻であることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記現用系の前記サービスプロセッサに、診断データとして乱数を発生させる診断データ乱数処理を実行させ、
前記診断データが前記サービスプロセッサのプロセッサ番号および乱数データであることを特徴とする請求項１１に記載のプログラム。
【請求項１４】
前記共有格納領域が共有レジスタであることを特徴とする請求項１１から請求項１３のいずれか１項に記載のプログラム。
【請求項１５】
前記共有格納領域が共有メモリであることを特徴とする請求項１１から請求項１３のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化サービスプロセッサ、多重化サービスプロセッサの障害処理方法、およびプログラムに関する。
【背景技術】
【０００２】
多重化サービスプロセッサの障害処理の例が、特許文献１に記載されている。特許文献１の技術は、現用系中央処理装置で障害が発生したときに、現用系サービスプロセッサと予備系サービスプロセッサ間の通信を行い、現用系中央処理装置を停止し、予備系中央処理装置を起動させる構成である。
【０００３】
また、マルチプロセッサシステムの異常診断処理の１例が、特許文献２に記載されている。特許文献２の技術は、隣接する共有メモリに対して診断データを書き込み、読み出すことにより、トーラス状に結合したマルチプロセッサシステムの異常を検出する構成である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−８５９３９号公報
【特許文献２】特開平２−１４８３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１、特許文献２の技術では、予備系サービスプロセッサからのプロセッサ間通信のみで、現用系サービスプロセッサの状態監視を実施する場合に、現用系のサービスプロセッサがストールしているのか、サービスプロセッサ間インターフェースの障害が発生しているのか切り分けができず、現用系サービスプロセッサが正常動作しているにもかかわらず、現用系のサービスプロセッサのストール監視の誤検出で予備系サービスプロセッサへの切り替えが誤って行われることを防止する技術の記載がない。
【０００６】
本発明の目的は、上記問題点を解決する多重化サービスプロセッサ、多重化サービスプロセッサの障害処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の多重化サービスプロセッサは、複数のサービスプロセッサを有する多重化サービスプロセッサにおいて、前記サービスプロセッサは、前記サービスプロセッサ間で時刻を同期させる時刻同期処理部と、前記サービスプロセッサ間とのプロセッサ間通信を監視するプロセッサ間監視処理部と、同期した前記時刻の所定時間の経過をトリガにして現用系の前記サービスプロセッサによるユニット内の共有格納領域への診断データの書き込み、待機系の前記サービスプロセッサによる前記ユニット内の前記共有格納領域からの読み出し、および前記プロセッサ間通信による監視の一連の自己診断処理を自律的に順次実行して前記サービスプロセッサの障害の切り分けを行い待機系の前記サービスプロセッサへの切り替え処理を行う診断処理部と、を備える。
【０００８】
本発明の多重化サービスプロセッサの障害処理方法は、複数のサービスプロセッサを有する多重化サービスプロセッサの障害処理方法において、前記サービスプロセッサ間で時刻を同期させる時刻同期処理ステップと、前記サービスプロセッサ間とのプロセッサ間通信を監視するプロセッサ間監視処理ステップと、同期した前記時刻の所定時間の経過をトリガにして現用系の前記サービスプロセッサによるユニット内の共有格納領域への診断データの書き込み、待機系の前記サービスプロセッサによる前記ユニット内の前記共有格納領域からの読み出し、および前記プロセッサ間通信による監視の一連の自己診断処理を自律的に順次実行して前記サービスプロセッサの障害の切り分けを行い待機系の前記サービスプロセッサへの切り替え処理を行う診断処理ステップと、を含む。
【０００９】
本発明のプログラムは、複数のサービスプロセッサを有する多重化サービスプロセッサのプログラムにおいて、前記サービスプロセッサ間で時刻を同期させる時刻同期処理と、前記サービスプロセッサ間とのプロセッサ間通信を監視するプロセッサ間監視処理と、同期した前記時刻の所定時間の経過をトリガにして現用系の前記サービスプロセッサによるユニット内の共有格納領域への診断データの書き込み、待機系の前記サービスプロセッサによる前記ユニット内の前記共有格納領域からの読み出し、および前記プロセッサ間通信による監視の一連の自己診断処理を自律的に順次実行して前記サービスプロセッサの障害の切り分けを行い待機系の前記サービスプロセッサへの切り替え処理を行う診断処理と、をコンピュータに実行させる。
【発明の効果】
【００１０】
本発明の効果は、現用系のサービスプロセッサのストール監視の誤検出で予備系サービスプロセッサへの切り替えが誤って行われることを防止できることである。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態である多重化サービスプロセッサ（１）１０の構成図である。
【図２】本発明の第２の実施の形態である多重化サービスプロセッサ（２）２０の構成図である。
【図３】サービスプロセッサ内レジスタ（２）５９の診断データの１例である。
【図４】本発明の第２の実施の形態である多重化サービスプロセッサ（２）２０の動作を示すフローチャートの１例である（１／２）。
【図５】本発明の第２の実施の形態である多重化サービスプロセッサ（２）２０の動作を示すフローチャートの１例である（２／２）。
【図６】本発明の第３の実施の形態である多重化サービスプロセッサ（３）８０の構成図である。
【発明を実施するための形態】
【００１２】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１は、本発明の第１の実施の形態である多重化サービスプロセッサ（１）１０の構成図である。
【００１４】
多重化サービスプロセッサ（１）１０は、サービスプロセッサ（１１）１１と、サービスプロセッサ（２１）１２と、ユニット９３と、サービスプロセッサ間通信インタフェースケーブル９７と、ユニット間インタフェース（１１）９５と、ユニット間インタフェース（１２）９６とから構成されている。
【００１５】
サービスプロセッサ（１１）１１と、サービスプロセッサ（２１）１２は同一の構成であるが、以下の説明では、サービスプロセッサ（１１）１１は運用中の現用系のサービスプロセッサであり、サービスプロセッサ（２１）１２は待機している待機系のサービスプロセッサであると想定している。
【００１６】
ユニット９３は、ＣＰＵ（中央処理装置）、ＩＯＰ（入出力ユニット）、メモリ（記憶装置）等のサービスプロセッサ（１１）１１、およびサービスプロセッサ（２１）１２の被診断装置の１つである。
【００１７】
サービスプロセッサ（１１）１１は、ユニット９３で障害が発生したときには、ユニット９３で行われた自己診断の結果をユニット間インタフェース（１１）９５を経由して受信し、ユニット９３に対する障害処理を行うユニット９３の診断プロセッサである。
【００１８】
また、ユニット間インタフェース（１１）９５は、診断プロセッサであるサービスプロセッサ（１１）１１と、被診断装置であるユニット９３との間の診断インタフェースである。
【００１９】
サービスプロセッサ（１１）１１は、プロセッサ間監視処理部（３）１３と、時刻同期処理部（３）１４と、診断処理部（３）１５とから構成されている。
【００２０】
また、同様に、サービスプロセッサ（２１）１２は、プロセッサ間監視処理部（４）１６と、時刻同期処理部（４）１７と、診断処理部（４）１８とから構成されている。
【００２１】
現用系のサービスプロセッサ（１１）１１のプロセッサ間監視処理部（３）１３は、待機系のサービスプロセッサ（２１）１２のプロセッサ間監視処理部（４）１６と連携して、サービスプロセッサ（１１）１１、およびサービスプロセッサ（２１）１２間とのプロセッサ間通信を行い、お互いに他のサービスプロセッサが正常に動作しているがどうかを監視する。
【００２２】
時刻同期処理部（３）１４は、サービスプロセッサ（１１）１１、およびサービスプロセッサ（２１）１２間で時刻を同期させ、同じ時刻に設定する。
【００２３】
現用系のサービスプロセッサ（１１）１１の診断処理部（３）１５は、診断データをユニット９３内の共有格納領域９４へ書き込む。
【００２４】
待機系のサービスプロセッサ（２１）１２の診断処理部（４）１８は、共有格納領域９４から診断データを読み出す。
【００２５】
待機系のサービスプロセッサ（２１）１２の診断処理部（４）１８は、同期した前記時刻の所定時間の経過をトリガにして、診断データのユニット内の共有格納領域９４への書き込み処理、共有格納領域９４からの読み出し処理、プロセッサ間通信処理の一連の自己診断処理を自律的に順次実行し、現用系サービスプロセッサ、待機系サービスプロセッサ、ユニット間インタフェースのいずれかで障害が発生しているかどうかの切り分けを行い、待機系の前記サービスプロセッサへの切り替え処理を行う。
【００２６】
尚、プロセッサ間監視処理部（３）１３と、時刻同期処理部（３）１４と、診断処理部（３）１５は、ハードウェアで実現してもよいしソフトウェアで実現してもよい。
【００２７】
このため、本発明の第１の実施の形態である多重化サービスプロセッサ（１）１０は、現用系サービスプロセッサに異常がなく、両系間の経路上の障害が発生した等の現用系のサービスプロセッサのストール監視の誤検出で、予備系サービスプロセッサへの切り替えが誤って行われることを防止できる。
【００２８】
その理由は、現用系のサービスプロセッサによるユニット内の共有レジスタへの診断データの書き込み処理、待機系の前記サービスプロセッサによる共有レジスタからの読み出し処理、およびプロセッサ間通信の監視処理の一連の自己診断処理を自律的に順次実行することにより、現用系サービスプロセッサ、待機系サービスプロセッサ、ユニット間インタフェースの障害切り分けを行い、待機系の前記サービスプロセッサへの切り替え処理を行うような構成を採用したためである。
【００２９】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００３０】
図２は、本発明の第２の実施の形態である多重化サービスプロセッサ（２）２０の構成図である。
【００３１】
多重化サービスプロセッサ（２）２０は、サービスプロセッサ（１２）３０と、サービスプロセッサ（２２）５０と、サービスプロセッサ間通信インタフェースケーブル（１）２１と、コネクタ（１）２２と、コネクタ（２）２３と、ユニット（１）７０と、ユニット間インタフェース（２１）２４と、ユニット間インタフェース（２２）２５とから構成されている。
【００３２】
サービスプロセッサ（１２）３０は、プロセッサ間監視処理部（１）３１と、時刻同期処理部（１）３２と、診断処理部（１）３５とから構成されている。
【００３３】
プロセッサ間監視処理部（１）３１は、サービスプロセッサ（２２）５０内のプロセッサ間監視処理部（２）５１とプロセッサ間通信を行う。
【００３４】
時刻同期処理部（１）３２は、時計（１）３４と、同期処理部（１）３３から構成されている。同期処理部（１）３３は、サービスプロセッサ（２２）５０内の時刻同期処理部（２）５３と連携して、時計（１）３４と時計（２）５４の時刻を同期させ、同じ時刻に設定する。
【００３５】
診断処理部（１）３５は、診断データ書込処理部（１）３６と、診断データ読出処理部（１）３７と、診断データ比較処理部（１）３８と、障害切分処理部（１）４０と、サービスプロセッサ内レジスタ（１）３９とから構成されている。
【００３６】
同様に、サービスプロセッサ（２２）５０は、プロセッサ間監視処理部（２）５１と、時刻同期処理部（２）５２と、診断処理部（２）５５とから構成されている。
【００３７】
プロセッサ間監視処理部（２）５１は、サービスプロセッサ（１２）３０内のプロセッサ間監視処理部（１）３１と、サービスプロセッサ間通信インタフェースケーブル（１）２１、コネクタ（１）２２、およびコネクタ（２）２３経由でプロセッサ間通信を行う。
【００３８】
時刻同期処理部（２）５２は、時計（２）５４と、同期処理部（２）５３から構成されている。同期処理部（２）５３は、サービスプロセッサ（１２）３０内の時刻同期処理部（１）３３と連携して、時計（１）３４と時計（２）５４の時刻を同期させ、同じ時刻に設定する。
【００３９】
診断処理部（２）５５は、診断データ書込処理部（２）５６と、診断データ読出処理部（２）５７と、診断データ比較処理部（２）５８と、障害切分処理部（２）６０と、サービスプロセッサ内レジスタ（２）５９とから構成されている。
【００４０】
サービスプロセッサ間通信インタフェースケーブル（１）２１は、サービスプロセッサ（１２）３０内のプロセッサ間監視処理部（１）３１と、サービスプロセッサ（２２）５０内のプロセッサ間監視処理部（２）５１との間で、プロセッサ間通信を行うための通信路である。
【００４１】
ユニット（１）７０は、診断データ書込読出処理部（１）７１と、共有レジスタ７２とから構成されている。
【００４２】
サービスプロセッサ（１２）３０、およびサービスプロセッサ（２２）５０は、それぞれ、本発明の第１の実施の形態である多重化サービスプロセッサ（１）１０のサービスプロセッサ（１１）１１と、サービスプロセッサ（２１）１２の１例である。
【００４３】
また、プロセッサ間監視処理部（１）３１、時刻同期処理部（１）３２、および診断処理部（１）３５は、それぞれ、本発明の第１の実施の形態である多重化サービスプロセッサ（１）１０のプロセッサ間監視処理部（３）１３と、時刻同期処理部（３）１４と、診断処理部（３）１５の１例である。
【００４４】
尚、プロセッサ間監視処理部（１）３１、時刻同期処理部（１）３２、および診断処理部（１）３５は、ハードウェアで実現してもよいしソフトウェアで実現してもよい。
【００４５】
図３は、サービスプロセッサ内レジスタ（２）５９の診断データの１例である。
【００４６】
診断データとして、プロセッサ番号（例プロセッサ＃１）、時刻（例日、時、分、秒）を示している。
【００４７】
次に、本発明の第２の実施の形態における多重化サービスプロセッサ（２）２０の動作について、図２、図４、図５を参照して説明する。
【００４８】
まず、サービスプロセッサ（１２）３０の同期処理部（１）３３は、サービスプロセッサ（２２）５０の同期処理部（２）５３と時刻の同期処理（同じ時刻ｔ０にする）を実施する（ステップ３１）。
【００４９】
次に、診断データ書込処理部（１）３６は、プロセッサ番号と現在時刻（診断データ）をユニット（１）７０へ出力する（ステップＳ３２）。
【００５０】
ユニット（１）７０の診断データ書込読出処理部（１）７１は、診断データを共有レジスタ７２に書き込む（ステップＳ５０）。
【００５１】
診断処理部（２）５５は、時刻ｔ０から所定時間ｔ２が経過したかどうかを判断する（ステップ４１）。
【００５２】
ここで、ｔ２は、サービスプロセッサ（１２）３０によるユニット（１）７０内の共有レジスタ７２への書き込み処理が終了する時間に基づいて予め設定されている。
【００５３】
サービスプロセッサ（２２）５０の診断処理部（２）５５は、時刻ｔ０から所定時間ｔ２経過したと判断したとき（ステップＳ４１／ＹＥＳ）、診断データ書込処理部（２）５６は、ユニット（１）７０内の共有レジスタ７２の値を読み出し、サービスプロセッサ内レジスタ（２）５９へ格納する（ステップＳ４２）。
【００５４】
一方、サービスプロセッサ（１２）３０の診断処理部（１）３５は、時刻ｔ０から所定時間ｔ１が経過したかどうかを判断する（ステップ３３）。
【００５５】
ここで、ｔ１は、サービスプロセッサ（１２）３０による共有レジスタ７２への書き込み処理とサービスプロセッサ（２２）５０の共有レジスタ７２からの読み出し処理が終了する時間に基づいて設定される。
【００５６】
診断処理部（１）３５は、時刻ｔ０から所定時間ｔ１が経過したと判断したとき（ステップＳ３３／ＹＥＳ）、診断データ書込処理部（１）３６は、プロセッサ番号と現在時刻（診断データ）をユニット（１）７０へ出力する（ステップＳ３４）。
【００５７】
ユニット（１）７０の診断データ書込読出処理部（１）７１は、診断データを共有レジスタ７２に書き込む（ステップＳ５１）。
【００５８】
また、診断処理部（２）５５は、時刻ｔ０から所定時間ｔ３が経過したかどうかを判断する（ステップ４３）。
【００５９】
ここで、ｔ３は、サービスプロセッサ（１２）３０による共有レジスタ７２への再度の書き込み処理が終了する時間に基づいて設定されている。
【００６０】
診断処理部（２）５５は、時刻ｔ０から所定時間ｔ３が経過したと判断したとき（ステップＳ４３／ＹＥＳ）、障害切分処理部（２）６０は、共有レジスタ７２からの読み出しが可であるかを判断する（ステップＳ４４）。
【００６１】
障害切分処理部（２）６０は、共有レジスタ７２からの読み出しが不可であると判断したとき（ステップＳ４４／ＮＯ）、サービスプロセッサ（２２）５０、ユニット（１）７０、ユニット間インタフェース（２２）２５のいずれかで障害が発生していると判断する（ステップＳ４５）。
【００６２】
障害切分処理部（２）６０が、共有レジスタ７２からの読み出しが可であると判断したとき（ステップＳ４４／ＹＥＳ）、診断データ比較処理部（２）５８は、読み出した値と、サービスプロセッサ内レジスタ（２）５９の値を比較し、同一かどうかを判断する（ステップＳ４６）。
【００６３】
診断データ比較処理部（２）５８は、読み出した値とサービスプロセッサ内レジスタ（２）５９の値とを比較し、同一でないと判断したとき（ステップＳ４６／ＮＯ）、読み出した値をサービスプロセッサ内レジスタ（２）５９へ格納して、ステップＳ３１へ戻る（ステップＳ４７）。
【００６４】
診断データ比較処理部（２）５８が、読み出した値と、サービスプロセッサ内レジスタ（２）５９の値を比較し、同一であると判断したとき（ステップＳ４６／ＹＥＳ）、診断処理部（２）５５は、時刻ｔ０から所定時間ｔ４が経過したかどうかを判断する（ステップＳ６０）。
【００６５】
ここで、ｔ４は、ｔ０から診断データ比較処理部（２）５８によって読み出した値と、サービスプロセッサ内レジスタ（２）５９の値を比較し、同一であると判断するまでの処理時間に基づいて設定されている。
【００６６】
診断処理部（２）５５は、時刻ｔ０から所定時間ｔ４が経過したと判断したとき（ステップＳ６０／ＹＥＳ）、プロセッサ間監視処理部（２）５１は、サービスプロセッサ（１２）３０内のプロセッサ間監視処理部（１）３１とプロセッサ間通信を実施する（ステップＳ６１）。
【００６７】
次に、障害切分処理部（２）６０は、プロセッサ間通信が可であるかどうかを判断する（ステップＳ６２）。
【００６８】
障害切分処理部（２）６０は、プロセッサ間通信が可であると判断したとき（ステップＳ６２／ＹＥＳ）、サービスプロセッサ（１２）３０、ユニット間インタフェース（２１）２４のいずれかで障害が発生したと判断する（ステップＳ６２）。
【００６９】
障害切分処理部（２）６０は、プロセッサ間通信が不可であると判断したとき（ステップＳ６２／ＮＯ）、サービスプロセッサ（１２）３０がストールしていると判断する（ステップＳ６３）。
【００７０】
診断処理部（２）５５は、その後、サービスプロセッサ（２２）５０を運用系に切り替えて動作を継続する（ステップＳ６５）。
【００７１】
このため、本発明の第２の実施の形態である多重化サービスプロセッサ（２）２０は、現用系サービスプロセッサに異常がなく、両系間の経路上の障害が発生したとき等の現用系のサービスプロセッサのストール監視の誤検出で、予備系サービスプロセッサへの切り替えが誤って行われることを防止できる。
【００７２】
その理由は、現用系のサービスプロセッサによるユニット内の共有レジスタへの診断データの書き込み処理、待機系の前記サービスプロセッサによる共有レジスタからの読み出し処理、およびプロセッサ間通信の監視処理の一連の自己診断処理を自律的に順次実行することにより、現用系サービスプロセッサ、待機系サービスプロセッサ、ユニット間インタフェースの障害切り分けを行い、待機系の前記サービスプロセッサへの切り替え処理を行うような構成を採用したためである。
【００７３】
また、多重化サービスプロセッサ（２）２０は、サービスプロセッサが待機系に切り替わるときに発生する新たな障害によるシステムダウンの発生を低減できる。
【００７４】
その理由は、現用系のサービスプロセッサによるユニット内の共有レジスタへの診断データの書き込み処理、待機系の前記サービスプロセッサによる共有レジスタからの読み出し処理、およびプロセッサ間通信の監視処理の一連の自己診断処理を自律的に順次実行することにより、現用系サービスプロセッサ、待機系サービスプロセッサ、ユニット間インタフェースの障害切り分けを行い、待機系の前記サービスプロセッサへの切り替え処理を行うような構成を採用したためである。
【００７５】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００７６】
図６は、本発明の第３の実施の形態である多重化サービスプロセッサ（３）８０の構成図である。
【００７７】
本発明の第３の実施の形態である多重化サービスプロセッサ（３）８０と、本発明の第２の実施の形態である多重化サービスプロセッサ（２）２０との違いは、サービスプロセッサ（１３）８１内の診断処理部（５）４１の診断データ乱数処理部（１）４２と、サービスプロセッサ（２３）８２内の診断処理部（６）４３の診断データ乱数処理部（２）４４と、ユニット（２）９０の共有メモリ９２である。
【００７８】
診断データ乱数処理部（１）４２は、乱数を発生し、診断データはプロセッサ番号と乱数とし、前回の診断データと今回の診断データを異なるようにする。
【００７９】
尚、共有メモリ９２は、診断専用のメモリではなく、ユニット（２）９０内に元々設けられている記憶装置の一部を利用したものでもよい。
【００８０】
診断データ書込読出処理部（２）９１は、共有メモリ９２への診断データの書き込み、共有メモリ９２からの診断データの読み出しを行う。
【００８１】
このため、本発明の第３の実施の形態である多重化サービスプロセッサ（３）８０は、現用系サービスプロセッサに異常がなく、両系間の経路上の障害が発生したとき等の現用系のサービスプロセッサのストール監視の誤検出で、予備系サービスプロセッサへの切り替えが誤って行われることを防止できる。
【００８２】
その理由は、現用系のサービスプロセッサによるユニット内の共有メモリへの診断データの書き込み処理、待機系の前記サービスプロセッサによる共有メモリからの読み出し処理、およびプロセッサ間通信の監視処理の一連の自己診断処理を自律的に順次実行することにより、現用系サービスプロセッサ、待機系サービスプロセッサ、ユニット間インタフェースの障害切り分けを行い、待機系の前記サービスプロセッサへの切り替え処理を行うような構成を採用したためである。
【符号の説明】
【００８３】
１０    多重化サービスプロセッサ（１）
１１    サービスプロセッサ（１１）
１２    サービスプロセッサ（２１）
１３    プロセッサ間監視処理部（３）
１４    時刻同期処理部（３）
１５    診断処理部（３）
１６    プロセッサ間監視処理部（４）
１７    時刻同期処理部（４）
１８    診断処理部（４）
２０    多重化サービスプロセッサ（２）
２１    サービスプロセッサ間通信インタフェースケーブル（１）
２２    コネクタ（１）
２３    コネクタ（２）
２４    ユニット間インタフェース（２１）
２５    ユニット間インタフェース（２２）
３０    サービスプロセッサ（１２）
３１    プロセッサ間監視処理部（１）
３２    時刻同期処理部（１）
３３    同期処理部（１）
３４    時計（１）
３５    診断処理部（１）
３６    診断データ書込処理部（１）
３７    診断データ読出処理部（１）
３８    診断データ比較処理部（１）
３９    サービスプロセッサ内レジスタ（１）
４０    障害切分処理部（１）
４１    診断処理部（５）
４２    診断データ乱数処理部（１）
４３    診断処理部（６）
４４    診断データ乱数処理部（２）
５０    サービスプロセッサ（２２）
５１    プロセッサ間監視処理部（２）
５２    時刻同期処理部（２）
５３    同期処理部（２）
５４    時計（２）
５５    診断処理部（２）
５６    診断データ書込処理部（２）
５７    診断データ読出処理部（２）
５８    診断データ比較処理部（２）
５９    サービスプロセッサ内レジスタ（２）
６０    障害切分処理部（２）
７０    ユニット（１）
７１    診断データ書込読出処理部（１）
７２    共有レジスタ
８０    多重化サービスプロセッサ（３）
８１    サービスプロセッサ（１３）
８２    サービスプロセッサ（２３）
９０    ユニット（２）
９１    診断データ書込読出処理部（２）
９２    共有メモリ
９３    ユニット
９４    共有格納領域
９５    ユニット間インタフェース（１１）
９６    ユニット間インタフェース（１２）
９７    サービスプロセッサ間通信インタフェースケーブル
【図１】
0005596322.tif 000002
【図２】
0005596322.tif 000003
【図３】
0005596322.tif 000004
【図４】
0005596322.tif 000005
【図５】
0005596322.tif 000006
【図６】
0005596322.tif 000007