(57)【要約】【課題】コンピュータ内のプロセッサ同士が通信を行って処理を実行すること。【解決手段】通信元プロセッサ１１０と、通信元プロセッサ１１０が送信したコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、通信元プロセッサ１１０が送信したコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送するＩＤ付与部１２１と、ＩＤ付与部１２１が転送したコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前にＩＤ付与部１２１から受信したコマンドに付与されていたＩＤとが一致しない場合、ＩＤ付与部１２１から最後に受信したコマンドによって指示されている内容の処理を実行する通信先プロセッサ１５０とを備える。【選択図】図１
2012027782.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ内のプロセッサ同士が通信を行って処理を実行するコンピュータシステムであって、
処理の内容を指示するコマンドを送信し、一定の時間が経過しても当該コマンドに対する返信を受信することができなかった場合、同じコマンドをリトライ送信する通信元プロセッサと、
前記通信元プロセッサが送信したコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、前記通信元プロセッサが送信したコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送するＩＤ付与部と、
前記ＩＤ付与部が転送したコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前に前記ＩＤ付与部から受信したコマンドに付与されていたＩＤとが一致しない場合、前記ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行する通信先プロセッサと
を備えるコンピュータシステム。
【請求項２】
前記通信先プロセッサは、前記通信リトライ制御部から受信したコマンドに付与されているＩＤと、当該コマンドよりも前に前記通信リトライ制御部から受信したコマンドに付与されていたＩＤとが一致する場合、前記ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行しない
請求項１に記載のコンピュータシステム。
【請求項３】
前記通信元プロセッサは、送信するコマンドに対して、当該コマンドが初回送信するものか、リトライ送信するコマンドかを示す識別情報を付与し、
前記ＩＤ付与部は、前記識別情報に基づいて、前記コマンドが初回送信されたものであるか、リトライ送信されたものであるかを判定する
請求項１又は２に記載のコンピュータシステム。
【請求項４】
前記通信先プロセッサは、前記ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行した場合、当該処理結果を示すデータを、前記コマンドに対する返信として前記通信元プロセッサへ送信する
請求項１から３のいずれか一項に記載のコンピュータシステム。
【請求項５】
前記通信先プロセッサは、前記ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行しなかった場合、当該コマンドに付与されているＩＤと同じＩＤが付与されていたコマンドを実行した処理結果を示すデータを、前記コマンドに対する返信として前記通信元プロセッサへ送信する
請求項２から４のいずれか一項に記載のコンピュータシステム。
【請求項６】
前記通信先プロセッサは、第１の通信先プロセッサと第２の通信先プロセッサの２つのプロセッサから成り、当該２つのプロセッサのうち、いずれか一方のプロセッサが前記ＩＤ付与部から受信したコマンドに対する処理を行う
請求項１から５のいずれか一項に記載のコンピュータシステム。
【請求項７】
前記第１の通信先プロセッサ及び前記第２の通信先プロセッサのうち、前記ＩＤ付与部から受信したコマンドに対する処理を行わないプロセッサは、前記ＩＤ付与部から受信したコマンドを破棄する
請求項６に記載のコンピュータシステム。
【請求項８】
前記第１の通信先プロセッサと前記第２の通信先プロセッサは、前記ＩＤ付与部とそれぞれ個別に通信接続されており、当該２つのプロセッサのうち、前記ＩＤ付与部から受信したコマンドに対する処理を行っているプロセッサと前記ＩＤ付与部との間に障害が発生した場合、当該プロセッサに代わり他方のプロセッサが、前記ＩＤ付与部から受信したコマンドに対する処理を行う
請求項６又は７に記載のコンピュータシステム。
【請求項９】
プロセッサ同士が通信を行って処理を実行するコンピュータであって、
処理の内容を指示するコマンドを送信し、一定の時間が経過しても当該コマンドに対する返信を受信することができなかった場合、同じコマンドをリトライ送信する通信元プロセッサと、
前記通信元プロセッサが送信したコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、前記通信元プロセッサが送信したコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送するＩＤ付与部と、
前記ＩＤ付与部が転送したコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前に前記ＩＤ付与部から受信したコマンドに付与されていたＩＤとが一致しない場合、前記ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行する通信先プロセッサと
を備えるコンピュータ。
【請求項１０】
プロセッサ同士が通信を行って処理を実行するコンピュータを制御する制御方法であって、
処理の内容を指示するコマンドを送信し、一定の時間が経過しても当該コマンドに対する返信を受信することができなかった場合、同じコマンドをリトライ送信する段階と、
前記送信されたコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、前記送信されたコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送する段階と、
前記転送されたコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前に受信したコマンドに付与されていたＩＤとが一致しない場合、最後に受信したコマンドによって指示されている内容の処理を実行する段階と
を備える制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、コンピュータ、及び制御方法に関する。特に本発明は、コンピュータ内のプロセッサ同士が通信を行って処理を実行するコンピュータシステム、プロセッサ同士が通信を行って処理を実行するコンピュータ、並びにプロセッサ同士が通信を行って処理を実行するコンピュータを制御する制御方法に関する。
【背景技術】
【０００２】
コンピュータ内のプロセッサ同士が通信を行って処理を実行するコンピュータシステムにおいては、通信元プロセッサから通信先プロセッサへの通信中に障害が発生することがある。
【０００３】
このような障害に対する技術としては、同一のデータ処理機能のセットを実行する複数のプロセッサ部分を備えるデータ処理システムにおけるエラー回復方法が知られている（例えば、特許文献１参照。）。このエラー回復方法においては、故障機能のうちの１つの実行の間に、データ処理システム内のエラーを検出する。そして、このエラー回復方法においては、エラーが検出された処理部分の位置を突き止める。そして、このエラー回復方法においては、エラーが検出されたプロセッサ部分が、普通にデータ処理機能を実行することができないことを示している決定的なエラーであるかどうかを判断する。そして、このエラー回復方法においては、もし決定的なエラーが検出されれば、エラーが検出されたプロセッサ部分を回避するためにデータ経路を再構築する。一方、このエラー回復方法においては、もし決定的なエラーでなければ、エラーが検出された時に実行されていたデータ処理機能を再試行するという、データ処理機能を実行することなく、データ処理システムにより実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０３−１８２９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のコンピュータシステムにおいては、通信元プロセッサから通信先プロセッサへの通信中に障害が発生した場合、通信先プロセッサにおいて通信処理が実施されたかどうかを通信元プロセッサが認識することができない。そのため、上記のコンピュータシステムにおいては、通信先プロセッサからのリプライを待つ通信元プロセッサ側でタイムアウトと判断した場合、通信のリトライができない。
【０００６】
また、タイムアウト時は通信先プロセッサの通信処理実行中の障害か通信元プロセッサと通信先プロセッサ間の経路の障害かによらず異常終了させていたため、システムを継続運用出来ないケースはシステムダウンに至っており、障害時のシステムダウン率が高い。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態によると、コンピュータ内のプロセッサ同士が通信を行って処理を実行するコンピュータシステムであって、処理の内容を指示するコマンドを送信し、一定の時間が経過しても当該コマンドに対する返信を受信することができなかった場合、同じコマンドをリトライ送信する通信元プロセッサと、通信元プロセッサが送信したコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、通信元プロセッサが送信したコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送するＩＤ付与部と、ＩＤ付与部が転送したコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前にＩＤ付与部から受信したコマンドに付与されていたＩＤとが一致しない場合、ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行する通信先プロセッサとを備える。
【０００８】
本発明の第２の形態によると、プロセッサ同士が通信を行って処理を実行するコンピュータであって、処理の内容を指示するコマンドを送信し、一定の時間が経過しても当該コマンドに対する返信を受信することができなかった場合、同じコマンドをリトライ送信する通信元プロセッサと、通信元プロセッサが送信したコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、通信元プロセッサが送信したコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送するＩＤ付与部と、ＩＤ付与部が転送したコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前にＩＤ付与部から受信したコマンドに付与されていたＩＤとが一致しない場合、ＩＤ付与部から最後に受信したコマンドによって指示されている内容の処理を実行する通信先プロセッサとを備える。
【０００９】
プロセッサ同士が通信を行って処理を実行するコンピュータを制御する制御方法であって、処理の内容を指示するコマンドを送信し、一定の時間が経過しても当該コマンドに対する返信を受信することができなかった場合、同じコマンドをリトライ送信する段階と、送信されたコマンドが初回送信されたものである場合、当該コマンドに対して新たなＩＤを付与して転送し、送信されたコマンドがリトライ送信されたものである場合、当該コマンドに対して当該コマンドが初回送信されたときと同じＩＤを付与して転送する段階と、転送されたコマンドを受信して、当該コマンドに付与されているＩＤと、当該コマンドよりも前に受信したコマンドに付与されていたＩＤとが一致しない場合、最後に受信したコマンドによって指示されている内容の処理を実行する段階とを備える。
【００１０】
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【００１１】
以上の説明から明らかなように、この発明においては、プロセッサ同士の通信中に障害が発生しても通信のリトライを可能にし、障害によるシステムダウン率を低く抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るコンピュータシステム１００の利用環境の一例を示す図である。
【図２】ＣＰＵ１１０、通信リトライ制御部１２１、及び診断プロセッサ１５０の動作シーケンスの一例を示す図である。
【図３】ＣＰＵ１１０、通信リトライ制御部１２１、及び診断プロセッサ１５０の動作シーケンスの他の例を示す図である。
【図４】ＣＰＵ１１０、通信リトライ制御部１２１、及び診断プロセッサ１５０の動作シーケンスの更に他の例を示す図である。
【図５】他の実施形態に係るコンピュータシステム２００の利用環境の一例を示す図である。
【図６】ＣＰＵ２１０、通信リトライ制御部２２１、診断プロセッサ２５０ａ、及び診断プロセッサ２５０ｂの動作シーケンスの一例を示す図である。
【図７】ＣＰＵ２１０、通信リトライ制御部２２１、診断プロセッサ２５０ａ、及び診断プロセッサ２５０ｂの動作シーケンスの他の例を示す図である。
【図８】ＣＰＵ２１０、通信リトライ制御部２２１、診断プロセッサ２５０ａ、及び診断プロセッサ２５０ｂの動作シーケンスの更に他の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、一実施形態に係るコンピュータシステム１００の利用環境の一例を示す。コンピュータシステム１００は、複数のＣＰＵ１１０ａ〜ｈ（以下、ＣＰＵ１１０と総称する。）、キャッシュ制御部１２０ａ、ｂ（以下、キャッシュ制御部１２０と総称する。）、メモリ制御部１３０、メモリ１４０、及び診断プロセッサ１５０を備える。なお、ＣＰＵ１１０は、この発明における「通信元プロセッサ」の一例であってよい。また、診断プロセッサ１５０は、この発明における「通信先プロセッサ」の一例であってよい。
【００１５】
ＣＰＵ１１０は、各装置の制御やデータの計算、加工を行う装置である。キャッシュ制御部１２０は、ＣＰＵ１１０のキャッシュ制御を行う装置である。キャッシュ制御部１２０ａ、ｂは、それぞれ、ＣＰＵ１１０からの通信を受ける通信リトライ制御部１２１ａ、ｂ（以下、通信リトライ制御部１２１と総称する。）を有する。  通信リトライ制御部１２１ａ、ｂは、通信のリトライを制御し、それぞれ、通信ＩＤ１２２ａ、ｂ（以下、通信ＩＤ１２２と総称する。）を有する。通信ＩＤ１２２は通信リトライ制御部１２１内に有する命令実行回数を保存するレジスタである。なお、通信リトライ制御部１２１は、この発明における「ＩＤ付与部」の一例であってよい。
【００１６】
メモリ制御部１３０はキャッシュ制御部１２０や診断プロセッサ１５０からのメモリアクセス要求を受けて、メモリ１４０を制御する。また、プロセッサ間問題を中継する機能を有する。
【００１７】
診断プロセッサ１５０は、コンピュータシステム１００の構成変更制御、障害監視、他コンピュータシステムとの通信機能を有し、これらの機能はＣＰＵ１１０からの通信により起動される。また、保存ＩＤ１５１と通信処理結果１５２を有する。保存ＩＤ１５１は、診断プロセッサ１５０が行った通信処理の実行回数を保存するレジスタである。通信処理結果１５２は、通信先レジスタ６が行った通信処理の結果を保存するレジスタである。
【００１８】
図２は、ＣＰＵ１１０、通信リトライ制御部１２１、及び診断プロセッサ１５０の動作シーケンスの一例を示す。正常処理が行われた場合の動作を図２に示すシーケンス図を使用して詳細に説明する。ＣＰＵ１１０は診断プロセッサ１５０に対して通信を発行し（Ｓ１０１）、診断プロセッサ１５０からリプライが返されるまでＣＰＵ１１０はリプライ待ち合わせ状態となる（Ｓ１０２）。通信の経路上にある通信リトライ制御部１２１は通信コマンドの左端ビットが０であることを確認することで通信が通常通信であると判断する（Ｓ１０３）。通常通信であった場合、通信ＩＤ１２２に１を加算し（Ｓ１０４）通信コマンドにＩＤを付与し（Ｓ１０５）、通信と通信ＩＤ１２２を診断プロセッサ１５０に送信する（Ｓ１０６）。なお、通信ＩＤ１２２はシステム初期化時に０に初期化されるものとする。診断プロセッサ１５０は保存ＩＤ１５１を読み出し（Ｓ１０７）、通信処理が行われていない（通信ＩＤ≠保存ＩＤ）と判断すると（Ｓ１０８）、通信処理を実行する（Ｓ１０９）。通信処理結果と通信ＩＤは通信先プロセッサ内に保存の通信処理結果１５２、通信ＩＤ１５１のそれぞれのレジスタに保存し（Ｓ１１０）、ＣＰＵ１１０に対して通信処理結果１５２とリプライ通信を送信し通信を終了する（Ｓ１１１）。
【００１９】
図３は、ＣＰＵ１１０、通信リトライ制御部１２１、及び診断プロセッサ１５０の動作シーケンスの他の例を示す。図３において、ＣＰＵ１１０が発行した通信で経路障害が発生した場合、ＣＰＵ１１０では診断プロセッサ１５０からのリプライが返って来ないためタイムアウトを検出する（Ｓ２０７）。ＣＰＵ１１０は通信コマンドの左端ビットに１をセットし（Ｓ２０８）、リトライ通信を発行する（Ｓ２０９）。通信リトライ制御部１２１では通信コマンドの左端ビットをチェックして受信した通信がリトライ通信であると判断し（Ｓ２１０）、通信リトライ制御部１２１内で管理する通信ＩＤ１２２を読み出し、ＩＤは１加算せずリトライ通信と通信ＩＤ１２２を通信先プロセッサに送信する（Ｓ２１１）。診断プロセッサ１５０は保存ＩＤ１５１を読み出し（Ｓ２１２）、通信処理が行われていない（通信ＩＤ≠保存ＩＤ）と判断すると（Ｓ２１３）、通信処理を実行する（Ｓ２１４）。通信処理結果と通信ＩＤは診断プロセッサ１５０内の通信処理結果１５２、通信ＩＤ１５１のそれぞれのレジスタに保存し（Ｓ２１５）、通信処理結果１５２とリプライ通信を通信元プロセッサに対して送信し通信を終了する（Ｓ２１６）。
【００２０】
図４は、ＣＰＵ１１０、通信リトライ制御部１２１、及び診断プロセッサ１５０の動作シーケンスの更に他の例を示す。図４において、診断プロセッサ１５０が発行したリプライ通信で経路障害が発生した場合、ＣＰＵ１１０では診断プロセッサ１５０からのリプライが返って来ないためタイムアウトを検出する（Ｓ３１２）。ＣＰＵ１１０は通信コマンドの左端ビットに１をセットし（Ｓ３１３）、リトライ通信を発行する（Ｓ３１４）。通信リトライ制御部１２１では通信コマンドの左端ビットをチェックして受信した通信がリトライ通信であると判断し（Ｓ３１５）、通信リトライ制御部１２１内で管理する通信ＩＤ１２２を読み出しＩＤは１加算せずリトライ通信と通信ＩＤ１２２を診断プロセッサ１５０に送信する（Ｓ３１６）。診断プロセッサ１５０は保存ＩＤ１５１を読み出し（Ｓ３１７）、通信処理が行われている（通信ＩＤ＝保存ＩＤ）と判断すると（Ｓ３１８）、通信処理を実行せず保存していた通信処理結果１５２を読み出し（Ｓ３１９）通信処理結果１５２とリプライ通信をＣＰＵ１１０に対して送信し終了する（Ｓ３２０）。
【００２１】
図５は、他の実施形態に係るコンピュータシステム２００の利用環境の一例を示す。コンピュータシステム２００は、複数のＣＰＵ２１０ａ〜ｈ（以下、ＣＰＵ２１０と総称する。）、キャッシュ制御部２２０ａ、ｂ（以下、キャッシュ制御部２２０と総称する。）、メモリ制御部２３０、メモリ２４０、及び診断プロセッサ２５０ａ、ｂ（以下、診断プロセッサ２５０と総称する。）を備える。なお、ＣＰＵ２１０は、この発明における「通信元プロセッサ」の一例であってよい。また、診断プロセッサ２５０は、この発明における「通信先プロセッサ」の一例であってよい。
【００２２】
本発明の他の実施例として、その基本的構成は上記の通りであるが、通信プロセッサの二重化構成についてさらに工夫している。本図において、通信先プロセッサは診断プロセッサ（マスタ）２５０ａ・診断プロセッサ（スレーブ）２５０ｂを持ち二重化された構成で通信処理を行う。
【００２３】
図１との差分である診断プロセッサについて説明する。診断プロセッサ（マスタ）２５０ａと診断プロセッサ（スレーブ）２５０ｂは同じ機能を持つが、診断プロセッサ（マスタ）２５０ａが正常に稼働している時、診断プロセッサ（スレーブ）２５０ｂは通信元プロセッサ２５０ａからの通信を破棄する。障害発生時には診断プロセッサ（マスタ）２５０ａと診断プロセッサ（スレーブ）２５０ｂを切り替えてリトライ通信処理を継続する。
【００２４】
図６は、ＣＰＵ２１０、通信リトライ制御部２２１、診断プロセッサ２５０ａ、及び診断プロセッサ２５０ｂの動作シーケンスの一例を示す。正常処理が行われた場合の動作を図６に示すシーケンス図を使用して詳細に説明する。ＣＰＵ２１０は診断プロセッサ（マスタ）２５０ａと診断プロセッサ（スレーブ）２５０ｂに対して通信を発行し（Ｓ４０１）、通信先プロセッサからリプライが返されるまでＣＰＵ２１０はリプライ待ち合わせ状態となる（Ｓ４０２）。通信の経路上にある通信リトライ制御部２２１は通信コマンドの左端ビットが０であることを判別することで通信が通常通信であると判断する（Ｓ４０３）。通常通信であった場合、通信ＩＤ２２２に１を加算し（Ｓ４０４）通信コマンドにＩＤを付与し（Ｓ４０５）、通信と通信ＩＤ２２２を診断プロセッサ（マスタ）２５０ａに送信する（Ｓ４０６）。通信は診断プロセッサ（マスタ）２５０ａと診断プロセッサ（スレーブ）２５０ｂの両方に対して発行されるが、診断プロセッサ（マスタ）２５０ａが正常に稼働している場合は診断プロセッサ（マスタ）２５０ａのみが通信を受信し（Ｓ４０７）、診断プロセッサ（スレーブ）２５０ｂは通信を破棄する（Ｓ４０８）。なお、通信ＩＤ２２２はシステム初期化時に０に初期化されるものとする。通信先プロセッサ２５０ａは保存ＩＤ２５１Ａを読み出し（Ｓ４０９）、通信処理が行われていない（通信ＩＤ≠保存ＩＤ）と判断すると（Ｓ４１０）、通信処理を行う（Ｓ４１１）。通信処理結果と通信ＩＤは通信先プロセッサ内の通信処理結果２５２ａ、通信ＩＤのそれぞれのレジスタに保存し（Ｓ４１２）、ＣＰＵ２１０に対して通信処理結果２５２ａとリプライ通信を送信し通信を終了する（Ｓ４１３）。
【００２５】
図７は、ＣＰＵ２１０、通信リトライ制御部２２１、診断プロセッサ２５０ａ、及び診断プロセッサ２５０ｂの動作シーケンスの他の例を示す。図７において、ＣＰＵ２１０が発行した通信で経路障害が発生した場合について説明する。ＣＰＵ２１０では診断プロセッサ（マスタ）２５０ａからのリプライが返って来ないためタイムアウトを検出する（Ｓ５０７）。障害発生時、診断プロセッサ（マスタ）２５０ａは診断プロセッサ（スレーブ）２５０ｂに保存ＩＤ２５１Ａと通信処理結果２５２ａを通知し、診断プロセッサ（マスタ）２５０ａは診断プロセッサ（スレーブ）２５０ｂ、診断プロセッサ（スレーブ）２５０ｂは診断プロセッサ（マスタ）２５０ｂとして切り替わる（Ｓ５０８）。ＣＰＵ２１０は通信コマンドの左端ビットに１をセットし（Ｓ５０９）、リトライ通信を発行する（Ｓ５１０）。通信リトライ制御部２２１では通信コマンドの左端ビットをチェックして受信した通信がリトライ通信であると判断すると（Ｓ５１１）、通信リトライ制御部２２１内で管理する通信ＩＤ２２２を読み出し、ＩＤは１加算せずリトライ通信と通信ＩＤ２２２を通信先プロセッサ２５０ａ、８に送信する（Ｓ５１２）。診断プロセッサ（マスタ）２５０ｂは保存ＩＤ２５１Ｂを読み出し（Ｓ５１３）、通信処理が行われていないこと（通信ＩＤ≠保存ＩＤ）を確認し（Ｓ５１４）、通信処理を実行する（Ｓ５１５）。通信処理結果と通信ＩＤは診断プロセッサ（マスタ）２５０ｂ内の通信処理結果２５２ｂ、通信ＩＤ２５１Ｂのそれぞれのレジスタに保存し（Ｓ５１６）、通信処理結果２５２ｂとリプライ通信をＣＰＵ２１０に対して送信し通信を終了する（Ｓ５１７）。
【００２６】
図８は、ＣＰＵ２１０、通信リトライ制御部２２１、診断プロセッサ２５０ａ、及び診断プロセッサ２５０ｂの動作シーケンスの更に他の例を示す。図８において、診断プロセッサ（マスタ）２５０ａが発行したリプライ通信で経路障害が発生した場合について説明する。ＣＰＵ２１０では診断プロセッサ（マスタ）２５０ａからのリプライが返って来ないためタイムアウトとなる（Ｓ６１０）。障害発生時、診断プロセッサ（マスタ）２５０ａは診断プロセッサ（スレーブ）２５０ｂに保存ＩＤ２５１Ａと通信処理結果２５２ａを通知し、診断プロセッサ（マスタ）２５０ａは診断プロセッサ（スレーブ）２５０ａ、診断プロセッサ（スレーブ）２５０ｂは診断プロセッサ（マスタ）２５０ｂとして切り替わる（Ｓ６１１）。ＣＰＵ２１０は通信フォーマットの左端ビットに１をセットし（Ｓ６１２）、リトライ通信を発行する（Ｓ６１３）。通信リトライ制御部２２１では通信フォーマットの左端ビットをチェックして受信した通信がリトライ通信であると判断すると（Ｓ６１４）、通信リトライ制御部２２１内で管理する通信ＩＤ２２２を読み出し、リトライ通信と通信ＩＤ２２２を通信先プロセッサ２５０ａ、８に送信する（Ｓ６１５）。診断プロセッサ（マスタ）２５０ｂは保存ＩＤ２５１Ｂを読み出し（Ｓ６１６）、通信処理が行われている（通信ＩＤ＝保存ＩＤ）と判断し（Ｓ６１７）、保存していた通信処理結果２５２ｂとリプライ通信をＣＰＵ２１０に対して送信し終了する（Ｓ６１８）。
【００２７】
このように、図１から４で示した実施例では間欠故障についてのみの救済が可能であったが、本実施例では通信先プロセッサを二重化し障害発生時に通信プロセッサを切り替えているため、間欠故障に加え固定障害も救済することができ障害時のリトライ実施でシステムダウン率がより低くなるという効果が得られる。
【００２８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００２９】
１００  コンピュータシステム
１１０  ＣＰＵ
１２０  キャッシュ制御部
１２１  通信リトライ制御部
１２２  通信ＩＤ
１３０  メモリ制御部
１４０  メモリ
１５０  診断プロセッサ
１５１  保存ＩＤ
１５２  処理結果
２００  コンピュータシステム
２１０  ＣＰＵ
２２０  キャッシュ制御部
２２１  通信リトライ制御部
２２２  通信ＩＤ
２３０  メモリ制御部
２４０  メモリ
２５０  診断プロセッサ
２５１  保存ＩＤ
２５２  処理結果
【図１】
2012027782.tif 000003
【図２】
2012027782.tif 000004
【図３】
2012027782.tif 000005
【図４】
2012027782.tif 000006
【図５】
2012027782.tif 000007
【図６】
2012027782.tif 000008
【図７】
2012027782.tif 000009
【図８】
2012027782.tif 000010