(57)【特許請求の範囲】
【請求項１】
ハードウェア分割された複数のパーティションと、
前記複数のパーティションからアクセスされる共有装置と、
から構成されるマルチプロセッサシステムであって、
前記複数のパーティションと前記共有装置は、データ通信に用いられる第１のインタフェース及び障害の検出に用いられる第２のインタフェースで接続され、
前記複数のパーティションと前記共有装置は、障害をカウントするカウント手段を具備し、
前記複数のパーティションは、前記データ通信において障害が発生した時に前記データ通信に係るパーティション及び前記共有装置が具備するカウント手段のカウント値を変更する制御を行う制御手段を具備する、
マルチプロセッサシステム。
【請求項２】
第１のインタフェースを用いて外部装置と通信を行う通信手段と、
前記通信に障害が発生したことを検出する検出手段と、
前記検出手段で検出された障害をカウントする第１カウント手段と、
前記検出手段で障害が検出された場合に、前記第１カウント手段をカウントアップする制御を行うと共に、前記外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行うカウント制御手段と、
を具備する制御装置。
【請求項３】
前記カウント制御手段は、前記検出手段で障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第２のインタフェースを用いて行う、
請求項２に記載の制御装置。
【請求項４】
前記通信手段は、中継装置を介して前記外部装置と通信を行い、
前記カウント制御手段は、前記検出手段で障害が検出された場合に、前記第１カウント手段をカウントアップする制御を行うと共に、前記外部装置及び前記中継装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行う、
請求項２に記載の制御装置。
【請求項５】
他の制御装置から通信障害に関する情報を入力し、前記入力した通信障害に関する情報に基づいて、第１のインタフェースを用いて外部装置と通信を行う通信手段と、
前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が発生したことを検出する検出手段と、
前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を前記第２のインタフェースを用いて行い、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第２のインタフェースを用いて行うカウント制御手段と、
を具備する制御装置。
【請求項６】
被疑装置を判定する判定手段を更に具備し、
前記カウント制御手段は、前記第２のインタフェースに接続されているカウント手段からカウント値を読み出す制御を更に行い、
前記判定手段は、前記カウント制御手段によって読み出されたカウント値に基づいて被疑装置を判定する、
請求項５に記載の制御装置。
【請求項７】
前記通信障害に関する情報には、前記他の制御装置のカウント手段でカウントされたカウント値が含まれ、
前記判定手段は、前記通信障害に関する情報に含まれる前記カウント値と前記カウント制御手段によって読み出されたカウント値とを比較することで被疑装置を判定する、
請求項６に記載の制御装置。
【請求項８】
前記通信手段は、リクエスト信号を出力すると共に前記リクエスト信号に対するリプライ信号を入力することで前記外部装置と通信を行い、
前記検出手段は、前記リクエスト信号が出力されてから所定の時間以内に前記リクエスト信号に対するリプライ信号が入力されなかった場合に前記通信に障害が発生したと判断する、
請求項２乃至請求項７のいずれかに記載の制御装置。
【請求項９】
第１のインタフェースを用いて外部装置と通信を行う通信ステップと、
前記通信に障害が発生したことを検出する検出ステップと、
前記検出ステップで検出された障害をカウントするカウントステップと、
前記障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行うカウント制御ステップと、
を有する障害検出方法。
【請求項１０】
前記カウント制御ステップの後段に、前記第２のインタフェースに接続された前記カウント手段からカウント値を読み出す読み出しステップと、
前記読み出しステップにおいて読み出されたカウント値に基づいて被疑装置を判定する判定ステップと、
を更に有する請求項９に記載の障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部品又は装置が接続されているシステムにおいて発生した障害箇所を適切に処理するための障害検出方法及び当該方法に用いられる制御装置とそのシステムに関する。
【背景技術】
【０００２】
近年、並列処理によってアプリケーションの実行速度を向上させるため、シングルプロセッサシステムからマルチプロセッサシステムへの移行が加速している。また、マルチプロセッサシステムに搭載されるプロセッサモジュール数も増大傾向にあり、システム内の経路が複雑化している。
【０００３】
このように経路が複雑化すると、障害が発生した場合における障害発生箇所の特定が困難となる。これまでにも、障害発生箇所の特定を容易化するための技術は種々開発されている。例えば、特許文献１には、複数のデータ端末装置（ＤＴＥ）がそれぞれ回線終端装置（ＤＣＥ）を介して接続されているシステムにおいて、障害が発生した場合に、ＤＣＥ−ＤＣＥ間での障害発生かＤＴＥ−ＤＣＥ間での障害発生かを容易に特定するための技術が開示されている。
【０００４】
また、特許文献２には、中央制御装置が複数のパスで記憶装置群にアクセスするシステムにおいて、障害が発生したパスを障害発生回数のみを基準として閉塞させるのではなく、残りの使用可能なパス数の大小に応じて、閉塞させる条件を変化させる技術が開示されている。
【０００５】
また、特許文献３には、関連する技術として異なるオペレーションシステムで動作する複数のプロセッサシステムにおいてデバイスを共有する技術が開示されている。一般的に、このような共有デバイスシステムにおいては、各々のプロセッサシステムが共有デバイスの使用時に発生した障害に関する障害情報を個別に有しており、障害が発生した場合は、これらの障害情報のみから障害発生箇所の被疑を判断して対処している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１８３２９号公報
【特許文献２】特開２０００−１４８６５５号公報
【特許文献３】特開２００４−２４６７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、複数のパーティションにハードウェア分割された装置は、各パーティション内で取得されるアクセスエラーログ等の障害情報のみで被疑を判断していた。このような障害処理方法では、当該パーティションから共有デバイスまでの経路上で障害が発生した場合は、障害発生箇所の特定が困難であり、人手での部品交換による部品の特定(切り分け)を実施する必要があるため、被疑判断に時間を要していた。また、パーティション数が多数にのぼり、複雑な経路で構成された共有デバイスシステムでは、従来の対処方法では、場合によっては、障害発生箇所を特定することができず、被疑経路上の全ての部品を交換しなければならない事態も生じていた。
【０００８】
このような事態に対しては、上記特許文献の技術を用いても有効な解決方法とはならず、従って新たな障害検出方法やそのための制御装置が求められていた。
【０００９】
本発明は、通信経路上で障害が発生した場合に被疑装置の絞り込みを容易化できる障害検出方法及び当該障害検出方法で用いられる制御装置並びにマルチプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のマルチプロセッサシステムは、ハードウェア分割された複数のパーティションと、前記複数のパーティションからアクセスされる共有装置と、から構成されるマルチプロセッサシステムであって、前記複数のパーティションと前記共有装置は、データ通信に用いられる第１のインタフェース及び障害の検出に用いられる第２のインタフェースで接続され、前記複数のパーティションと前記共有装置は、障害をカウントするカウント手段を具備し、前記複数のパーティションは、前記データ通信において障害が発生した時に前記データ通信に係るパーティション及び前記共有装置が具備するカウント手段のカウント値を変更する制御を行う制御手段を具備する。
【００１１】
また、本発明の制御装置は、第１のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信に障害が発生したことを検出する検出手段と、前記検出手段で検出された障害をカウントする第１カウント手段と、前記検出手段で障害が検出された場合に、前記第１カウント手段をカウントアップする制御を行うと共に、前記外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行うカウント制御手段と、を具備する。
【００１２】
また、本発明の制御装置は、他の制御装置から通信障害に関する情報を入力し、前記入力した通信障害に関する情報に基づいて、第１のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が発生したことを検出する検出手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を前記第２のインタフェースを用いて行い、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第２のインタフェースを用いて行うカウント制御手段と、を具備する。
【００１３】
また、本発明の障害処理方法は、第１のインタフェースを用いて外部装置と通信を行う通信ステップと、前記通信に障害が発生したことを検出する検出ステップと、前記検出ステップで検出された障害をカウントするカウントステップと、前記障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行うカウント制御ステップと、を有する。
【発明の効果】
【００１４】
本発明によれば、通信経路上で障害が発生した場合に被疑装置の絞り込みを容易化できる障害検出方法及び当該障害検出方法で用いられる制御装置並びにマルチプロセッサシステムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１にかかる通信システムの構成を示したブロック図である。
【図２】実施の形態２にかかるマルチプロセッサシステムの構成を示したブロック図である。
【図３】実施の形態２にかかるマルチプロセッサシステムの障害処理動作を示したシーケンス図である。
【図４】実施の形態２にかかるマルチプロセッサシステムの変形例の構成を示したブロック図である。
【発明を実施するための形態】
【００１６】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明に係る障害処理機能を備えた通信システムの構成を示したブロック図である。
【００１７】
本発明実施の形態１に係る通信システムは、大きく分けてパーティション１００、パーティション２００、パーティション３００の３つの部分から構成される。
【００１８】
パーティション１００は、後述する機能モジュールが集まった１つのブロックであり、装置や部品であっても良いし、ハードウェア分割されたパーティションであってもよい。パーティション１００は、通信モジュール１０１と、障害検出モジュール１０２と、カウント制御モジュール１０３と、カウントモジュール１０４と、を有する。
【００１９】
通信モジュール１０１は、第１のインタフェースである制御／データインタフェース８０１を用いてパーティション３００内の通信モジュール３０１と信号やデータの送受などの通信を行う。また、必要に応じてパーティション２００内の通信モジュール２０１とも信号やデータの送受などの通信を行う。
【００２０】
障害検出モジュール１０２は、通信モジュール１０１が行う通信において障害が発生したことを検出する。障害の検出方法としては、例えば通信先のパーティションより障害情報が送られてきた場合や、リクエストに対するリプライが一定時間返却されない場合に通信障害が発生していると判断し、カウント制御モジュール１０３に障害が発生したことを通知する。
【００２１】
カウント制御モジュール１０３は、通信モジュール１０１が行った通信に障害が発生したした旨の通知を障害検出モジュール１０２から受け取ると、当該通信に係るパーティションに属するカウントモジュールをカウントアップする制御を行う。例えば、通信モジュール１０１と通信モジュール３０１との間で障害が発生した場合は、当該通信に係るパーティションはパーティション１００とパーティション３００となる。従って、カウント制御モジュール１０３は、パーティション１００に属するカウントモジュール１０４とパーティション３００に属するカウントモジュール３０２をカウントアップする制御を行う。ここで、当該制御は、上記通信が行われる制御／データインタフェース８０１とは別に設けられた診断インタフェース８０２を用いて行われる。なお、カウントモジュール１０４とカウント制御モジュール１０３の間に専用インタフェースを別途設け、同一パーティション内のカウントアップ制御と外部パーティションに対するカウントアップ制御を異なるインタフェースを用いて行うよう実装しても良い。当該専用インタフェースを同一パーティション内で設ける場合も含め、カウントアップ制御を行うためのインタフェースを第２のインタフェースと定義し、通信を行うためのインタフェースを第１のインタフェースと定義する。
【００２２】
カウントモジュール１０４は、上記通信の障害をカウントする。カウントモジュール１０４におけるカウントは、後述するカウント制御モジュール１０３が行うカウントアップ制御に基づいて行われる。また、パーティション２００からパーティション１００への通信に障害が発生した場合は、カウントモジュール１０４におけるカウントは、パーティション２００に属するカウント制御モジュール２０３が行う構成であっても良い。
【００２３】
次にパーティション２００について説明する。パーティション２００はパーティション１００と同一の構成をとる。パーティション２００は、通信モジュール２０１と、障害検出モジュール２０２と、カウント制御モジュール２０３と、カウントモジュール２０４と、を有する。
【００２４】
通信モジュール２０１は、第１のインタフェースである制御／データインタフェース８０１を用いてパーティション３００内の通信モジュール３０１と通信を行う。また、必要に応じてパーティション１００内の通信モジュール１０１とも通信を行う。
【００２５】
障害検出モジュール２０２は、通信モジュール２０１が行う通信において障害が発生したことを検出する。障害の検出方法としては、障害検出モジュール１０２と同様の方法をとることができる。
【００２６】
カウント制御モジュール２０３は、通信モジュール２０１が行った通信に障害が発生した場合に、当該通信に係るパーティションに属するカウントモジュールをカウントアップする制御を行う。ここで、当該制御は、カウント制御モジュール１０３と同様、上記通信が行われる制御／データインタフェース８０１とは別に設けられた診断インタフェース８０２を用いて行われる。なお、こちらもパーティション１００の場合と同様、カウントモジュール２０４とカウント制御モジュール２０３の間に専用インタフェースを別途設け、同一パーティション内のカウントアップ制御と外部パーティションに対するカウントアップ制御を異なるインタフェースを用いて行っても良い。
【００２７】
カウントモジュール２０４は、上記通信の障害をカウントする。カウントモジュール２０４におけるカウントは、カウント制御モジュール２０３が行うカウントアップ制御に基づいて行われる。また、パーティション１００からパーティション２００への通信に障害が発生した場合は、カウントモジュール２０４におけるカウントは、パーティション１００に属するカウント制御モジュール１０３が行う構成であっても良い。
【００２８】
次に、パーティション３００について説明する。パーティション３００は、後述する機能モジュールが集まった１つのブロックであり、例えば共有デバイスなどであってもよい。パーティション３００は、通信モジュール３０１とカウントモジュール３０２を有する。
【００２９】
通信モジュール３０１は、パーティション１００に属する通信モジュール１０１やパーティション２００に属する通信モジュール２０１との間で制御／データインタフェース８０１を用いて通信を行う。
【００３０】
カウントモジュール３０２は、外部パーティションに含まれるカウント制御モジュールが診断インタフェース８０２を用いて行うカウントアップ制御に基づいて上記通信の障害をカウントする。また、当該カウントした値は、必要に応じてカウント制御モジュールが行う読み出し制御に基づいて当該カウント制御モジュールに読み出される。
【００３１】
当該構成によれば、これら複数のパーティション間で行われる通信において通信障害が発生した場合、障害原因となっているパーティションに属するカウントモジュールのカウント値が、他のパーティションに属するカウントモジュールのカウント値よりも大きくなっていく。従って、障害発生箇所を容易に特定することができる。
【００３２】
なお、上記説明では、障害が発生した場合にカウントモジュールのカウント値をカウントアップする場合について説明したが、障害が発生しなかった場合に、カウントモジュールのカウント値をカウントダウンする構成であっても良い。
【００３３】
（実施の形態２）
実施の形態２は、実施の形態１に係る障害処理機能を導入したマルチプロセッサシステムに関する。以下、図面を用いて説明する。なお、重複する部分に関しては一部説明を省略する。
【００３４】
図２は、本実施の形態２に係るマルチプロセッサシステム１０００の構成を示している。マルチプロセッサシステム１０００は、パーティション１００とパーティション２００の２つのパーティションにハードウェア分割されている。マルチプロセッサシステム１０００は、大きく分けて、これら２つのパーティション１００とパーティション２００と、中継装置４１０と、光学ドライブ３１０とから構成される。パーティション１００とパーティション２００は、それぞれ図１におけるパーティション１００及びパーティション２００に対応し、光学ドライブ３１０は、図１におけるパーティション３００に対応する。また、中継装置４１０は、パーティション１００及びパーティション２００とパーティション３００との間の通信を中継するための装置であり、マザーボード４００上に配置される。以下、各ブロックについて詳細に説明する。
【００３５】
パーティション１００は、プロセッサモジュール１１０とサービスプロセッサ１２０とを有する。プロセッサモジュール１１０は、命令の実行や制御を行うプロセッサと、データを記憶するメインメモリなどから構成される。プロセッサモジュール１１０が実行するリクエストに基づいて、リクエスト信号がサービスプロセッサ１２０を経由して光学ドライブ３１０へ送信される。
【００３６】
サービスプロセッサ１２０は、プロセッサモジュール１１０を補助するためのプロセッサであり、後述する障害検出処理やプロセッサモジュール１１０の立ち上げ処理などを行う。サービスプロセッサ１２０は、内部に通信部１２１と、障害検出部１２２と、カウント制御部１２３と、カウンタ１２４と、を有する。
【００３７】
通信部１２１は、外部装置の通信部と通信を行う。当該通信にはサービスプロセッサ１２０自身が実行する外部装置への通信の他に、プロセッサモジュール１１０からの通信の転送も含む。通信部１２１は、プロセッサモジュール１１０内のプロセッサから送られてくるリクエスト信号を入力し、当該リクエスト信号をリクエスト先の装置へ転送する。
【００３８】
障害検出部１２２は、通信部１２１が行う通信に障害が発生したかどうかを検出する。障害検出部１２２は、障害情報の一つであるアクセスエラーパケットを通信部１２１から受け取り、当該パケットを解析してどの通信経路で障害が発生したかを特定する。また、通信部１２１がリクエスト信号を出力してから時間計測を行い、一定時間経過してもリクエスト信号の出力先からリプライ信号が返信されない場合には、当該通信経路において障害が発生しているものと判断する。障害検出部１２２は、上記方法などにより通信部１２１が行う通信において障害が発生したことを検出するとカウント制御部１２３に通信障害が発生したことを通知する。障害検出部１２２からカウント制御部１２３に通知される情報には、障害発生時間、障害発生回数、障害の致命度、当該障害が発生した通信経路に関する情報、カウントアップ制御を行う必要がある装置のカウンタのアドレス情報などから適宜必要なものが選ばれて通知される。
【００３９】
カウント制御部１２３は、障害検出部１２２から通信障害に関する通知を受け取ると、当該通信に係るパーティション又は外部装置に属するカウンタをカウントアップする制御を行う。例えば、サービスプロセッサ１２０と光学ドライブ３１０との間で障害が発生した場合は、当該通信に係るパーティション及び外部装置は、パーティション１００、中継装置４１０、光学ドライブ３１０となる。従って、カウント制御部１２３は、サービスプロセッサ１２０が有するカウンタ１２４をカウントアップする制御を行い、サービスプロセッサ１２０外部の装置に含まれるカウンタ３１３、カウンタ４１２をカウントアップする制御を、診断インタフェース８０２を用いて行う。また、カウント制御部１２３は、図示せぬ制御部からの読み出し指示を入力し、診断インタフェース８０２を介して接続されているカウンタから当該カウンタに記憶されている値を読み出す制御を行う。当該読み出されたそれぞれのカウンタの値は、必要に応じて図示せぬユーザインタフェースを介して使用者に提示される。また、カウント制御部１２３は、必要に応じて上記通信経路に存在する装置のカウンタをカウントダウンする制御を行う。
【００４０】
カウンタ１２４は、障害検出部１２２で検出された障害ついてカウントされた計数値を保持する。カウンタ１２４は、例えば不揮発性ＲＯＭなどで構成される。カウンタ１２４が保持している値は、カウント制御部１２３からのカウントアップ制御に基づいてインクリメントされる。
【００４１】
次に、パーティション２００について説明する。パーティション２００は、プロセッサモジュール２１０とサービスプロセッサ２２０とから構成される。なお、パーティション２００はパーティション１００と同様の構成であるため説明を省略する。すなわち、プロセッサモジュール２１０は、プロセッサモジュール１１０と同様の構成であり、サービスプロセッサ２２０はサービスプロセッサ１２０と同様の構成である。
【００４２】
次に、光学ドライブ３１０について説明する。光学ドライブ３１０は、複数のパーティションからアクセスを受ける共有デバイスであり、内部に通信部３１１、障害検出部３１２、カウンタ３１３を有する。
【００４３】
通信部３１１は、外部装置の通信部と所定のプロトコルに従って通信を行う。例えば、外部装置からデータの読み出しや書き込みに関するリクエスト信号を入力し、図示せぬ制御部が当該リクエスト信号で指定されているアドレスに対してデータの読み出しや書き込みに関する制御を行う。通信部３１１は、読み出されたデータやアクセスが完了したことを示すリプライ信号を、リクエスト信号送信元に返信する。
【００４４】
障害検出部３１２は、光学ドライブ３１０自身で発生した障害を検出する。障害検出部３１２は、通信部３１１で発生した通信エラーや、図示せぬ制御部で発生する読出し／書き込み等の失敗などを障害として検出し、障害種別や障害発生時刻などを纏めた障害情報を作成する。障害検出部３１２で作成された障害情報は、必要に応じてハードウェア分割されたパーティション内に設置されたサービスプロセッサへ送信される。
【００４５】
カウンタ３１３は、診断インタフェース８０２に接続されており、光学ドライブ３１０外部に存在するカウント制御部からのカウントアップ制御に基づいて記憶する値をインクリメントする。また、カウント制御部からのカウントダウン制御に基づいて記憶する値を１つデクリメントする。当該カウンタ３１３は、光学ドライブ３１０の障害に関する被疑判断に用いられる。
【００４６】
次に、中継装置４１０について説明する。中継装置は各パーティションと光学ドライブとの通信を中継するために、マザーボード４００上に配置される装置である。中継装置４１０は、切替制御部４１１とカウンタ４１２を有する。
【００４７】
切替制御部４１１は、サービスプロセッサ１２０又はサービスプロセッサ２２０から光学ドライブ３１０へのアクセスを排他制御する。すなわち、切替制御部４１１は、光学ドライブ３１０の接続先を切り替えることにより、どちらか一方のパーティションのみが光学ドライブを使用可能となるように排他制御を行う。
【００４８】
カウンタ４１２は、診断インタフェース８０２に接続されており、中継装置４１０外部に存在するカウント制御部からのカウントアップ制御に基づいて記憶する値をインクリメントする。また、カウント制御部からのカウントダウン制御に基づいて記憶する値を１つデクリメントする。当該カウンタ４１２は、中継装置４１０の障害に関する被疑判断に用いられる。
【００４９】
次に、本発明のマルチプロセッサシステムの動作について図を参照して説明する。図３は、サービスプロセッサ１２０から光学ドライブ３１０への経路で障害が発生した場合の本発明のマルチプロセッサシステムにおける処理の流れを示したシーケンス図である。
【００５０】
パーティション１００に属するサービスプロセッサ１２０が、光学ドライブ３１０へのリクエスト(リードまたはライト)を実行し、リクエスト信号を出力する(Ｓ１０１)。当該リクエスト信号は、サービスプロセッサ１２０内の通信部１２１から出力される。ここで、サービスプロセッサ１２０は、当該リクエストに対するリプライ待ちの状態となる（Ｓ１０２）。
【００５１】
上記リクエスト信号を入力した光学ドライブ３１０は、そのリクエスト内容に従った制御や処理を行い、リプライ信号を返信する（Ｓ１０３）。サービスプロセッサ１２０から光学ドライブ３１０までの経路上で障害が無ければ、サービスプロセッサ１２０からのリクエストに対するリプライが、光学ドライブ３１０から中継装置４１０を経由してサービスプロセッサ１２０に返却される。一方、サービスプロセッサ１２０から光学ドライブ３１０までの経路上に障害があれば、上記リクエストが光学ドライブ３１０に到達しないため、当該リクエストに対するリプライが返却されない。
【００５２】
サービスプロセッサ１２０内の障害検出部１２２は、通信部１２１が行った通信で障害が発生したかどうかを判定する（Ｓ１０４）。具体的には、通信部１２１が実行したリクエストに対するリプライが所定の時間以内に返却されない場合は、サービスプロセッサ１２０から光学ドライブ３１０までの通信経路上で障害が発生しているものと判定する。一方、当該リプライが所定時間内に返却された場合は、障害が発生していないものと判定する。障害が発生していると判定された場合は、障害検出部１２２は、障害が発生した旨の通知をカウント制御部１２３に行う。一方、障害が発生していないと判定された場合は、障害検出部１２２は、特段の処理を行うことなく、次の通信における障害検出に備える。
【００５３】
サービスプロセッサ１２０内のカウント制御部１２３は、障害検出部１２２によって上記障害が発生したと判定された場合、自身が管理するカウンタ１２４のカウントアップ制御を行う(Ｓ１０５)。カウント制御部１２３は、さらに、診断インタフェース８０２を用いて、光学ドライブ３１０内のカウンタ３１３及び中継装置４１０内のカウンタ４１２のカウントアップ制御を行う(Ｓ１０６)。この結果、カウンタ１２４、カウンタ３１３、カウンタ４１２の値はそれぞれ"１"となる。なお、これらのカウンタの値は、当該カウンタが属する装置又は部品を通る経路上において発生した障害の回数を示している。
【００５４】
次に、サービスプロセッサ１２０は、サービスプロセッサ１２０の属するパーティション１００側からの経路で障害が発生したこと、及び、サービスプロセッサ１２０のカウンタ１２４の値を、パーティション２００のサービスプロセッサ２２０へ通知する(Ｓ１０７)。より具体的には、図示せぬ制御部からの読み出し指示に基づいて、カウント制御部１２３がカウンタ１２４に記憶されている値を読み出す。カウント制御部１２３は、読み出したカウント値を制御部に出力する。当該制御部は、カウント制御部１２３から入力したカウンタ１２４の値や、リクエストの内容、どの経路又はどの装置に対するリクエストにおいて障害が発生したかに関する情報等を纏めて診断情報を生成する。当該診断情報は、パーティション１００側で発生した通信障害に関する情報である。通信部１２１は、制御部より当該診断情報を受け取ると制御／データインタフェースを用いてパーティション２００へ出力する。
【００５５】
上記診断情報を受け取ったパーティション２００のサービスプロセッサ２２０は、光学ドライブ３１０に対するリクエストを実行する（Ｓ１０８）。より具体的には、サービスプロセッサ２２０の通信部２２１は、サービスプロセッサ１２０の通信部１２１から出力された上記診断情報を入力し、当該診断情報を図示せぬ制御部に出力する。当該制御部は、受け取った診断情報からリクエスト先やリクエスト内容を特定し、リクエストを実行する。当該リクエストが実行されることにより、リクエスト信号が通信部２２１から光学ドライブ３１０へ出力される。サービスプロセッサ２２０は、この後当該リクエストに対するリプライ待ちの状態となる（Ｓ１０９）。
【００５６】
上記リクエスト信号を入力した光学ドライブ３１０は、そのリクエスト内容に従った制御や処理を行い、リプライ信号を返信する（Ｓ１１０）。サービスプロセッサ２２０から光学ドライブ３１０までの経路上に障害が無ければ、サービスプロセッサ２２０が実行したリクエストに対するリプライが、光学ドライブ３１０から中継装置４１０を経由してサービスプロセッサ２２０に返却される。一方、サービスプロセッサ２２０から光学ドライブ３１０までの経路上に障害があれば、上記リクエストが光学ドライブ３１０に到達しないため、当該リクエストに対するリプライが返却されない。
【００５７】
サービスプロセッサ２２０内の障害検出部２２２は、上記診断情報に基づいて通信部２２１が行った通信で障害が発生したかどうかを判定する（Ｓ１１１）。具体的には、通信部２２１が出力したリクエスト信号に対するリプライ信号が所定の時間以内に返却されない場合は、サービスプロセッサ２２０から光学ドライブ３１０までの通信経路上でも障害が発生しているものと判定する。一方、通信部２２１が出力したリクエスト信号に対するリプライ信号が所定の時間以内に返却された場合は、サービスプロセッサ２２０から光学ドライブ３１０までの通信経路上に障害は存在しないものと判定する。障害検出部２２２は、上記判定結果や当該通信に係る外部装置のカウンタのアドレス等を纏めた判定情報を生成し、カウント制御部２２３に出力する。
【００５８】
カウント制御部２２３は、入力した上記判定情報に基づいて、カウンタのカウントアップ・カウントダウン制御を行う。具体的には、上記判定情報に含まれる判定結果が、通信経路上に障害が存在しないという内容であった場合は、カウント制御部２２３は、当該通信に係る装置のカウンタの値をデクリメントさせるカウントダウン制御を行う（Ｓ１１２）。ここでは、カウント制御部２２３は、光学ドライブ３１０に属するカウンタ３１３及び中継装置４１０に属するカウンタ４１２をカウントダウンする制御を診断インタフェース８０２を用いて行う。
【００５９】
次に、カウント制御部２２３は、カウンタ３１３及びカウンタ４１２から値を読み出す読み出し制御を行う。また、カウント制御部２２３は、カウンタ２２４から値を読み出す（Ｓ１１３）。これら読み出された各々のカウンタの値は図示せぬ制御部に出力される。
【００６０】
当該制御部は、これらのカウンタの値及びＳ１０７でサービスプロセッサ１２０から受け取った診断情報に含まれるカウンタ１２４の値を比較することにより、マルチプロセッサシステム１０００内部で発生した障害に関する被疑部品を特定する（Ｓ１１４）。具体的には、上記一連の処理の結果、マルチプロセッサシステム１０００に含まれる各々の装置が有するカウンタの値は、それぞれ、カウンタ１２４が"１"、カウンタ２２４が"０"、カウンタ３１３が"０"、カウンタ４１２が"０"となる。従って最もカウンタの値が大きいカウンタ１２４の属するサービスプロセッサ１２０が通信障害における被疑部品となる。
【００６１】
一方、上記判定情報に含まれる判定結果が、通信経路上に障害が発生しているとの内容であった場合は、カウント制御部２２３は、当該通信に係る装置のカウンタの値をインクリメントさせるカウントアップ制御を行う（Ｓ１１５）。ここでは、カウント制御部２２３は、光学ドライブ３１０に属するカウンタ３１３及び中継装置４１０に属するカウンタ４１２をカウントアップする制御を診断インタフェース８０２を用いて行う。
【００６２】
次に、カウント制御部２２３は、カウンタ３１３及びカウンタ４１２から値を読み出す読み出し制御を行う。また、カウント制御部２２３は、カウンタ２２４から値を読み出す（Ｓ１１６）。これら読み出された各々のカウンタの値は図示せぬ制御部に出力される。当該制御部は、これらのカウンタの値及びＳ１０７でサービスプロセッサ１２０から受け取った診断情報に含まれるカウンタ１２４の値を比較することにより、マルチプロセッサシステム１０００内部で発生した障害に関する被疑部品を特定する（Ｓ１１７）。具体的には、上記一連の処理の結果、マルチプロセッサシステム１０００に含まれる各々の装置が有するカウンタの値は、それぞれ、カウンタ１２４が"１"、カウンタ２２４が"１"、カウンタ３１３が"２"、カウンタ４１２が"２"となる。従って最もカウンタの値が大きいカウンタ３１３の属する光学ドライブ３１０か、カウンタ４１２の属する中継装置４１０が通信障害における被疑部品となる。これらのどちらが被疑部品であるかは、別途取得したアクセスエラーログやその他の障害情報と組み合わせて総合的に判断することにより特定しても良いし、これら２つの被疑部品を取り換えても良い。
【００６３】
上記構成とすることで、障害が発生している可能性のある被疑部品や被疑装置の絞り込みが容易化できるため、交換部品数の削減及び部品交換に伴うシステム停止時間の短縮が可能となる。
【００６４】
なお、上記説明では、診断情報を受け取ったサービスプロセッサ２２０が行ったリクエストに対するリプライに応じてカウントダウンが行われる構成であったが、これに限るものではない。通信部２２１によって行われる通信が成功する度にカウントダウンを行っても良いし、カウントダウンを行わない構成であっても良い。
【００６５】
また、上記カウント制御部２２３は、Ｓ１１２又はＳ１１５で診断インタフェース８０２に接続されている当該通信に係る装置のカウンタの値をデクリメント又はインクリメントさせる構成としたがこれに限るものではない。カウント制御部２２３は、サービスプロセッサ２２０に属するカウンタ２２４の値についても合わせてデクリメント又はインクリメントさせる制御を行ってもよい。また、カウント制御部２２３は、図示せぬ制御部から診断情報に基づいてカウントダウンさせる装置のカウンタを特定し、当該特定したカウンタをカウントダウンさせる構成であっても良い。すなわち、カウント制御部２２３は、パーティション１００からの経路とパーティション２００からの経路の重複部分の装置についてのみ当該装置に属するカウンタをカウントダウンさせる構成であっても良い。
【００６６】
また、上記説明では、サービスプロセッサ１２０からサービスプロセッサ２２０へ送られる診断情報内にサービスプロセッサ１２０内のカウンタ１２４の値が含まれる構成を示したがこれに限るものではない。Ｓ１１３又はＳ１１６でカウンタ３１３及びカウンタ４１２からカウント値を読み出す制御を行う時に、合わせてカウンタ１２４から読み出しても良い。
【００６７】
また、上記説明では、各装置に属するカウンタが診断インタフェース８０２に直接接続されている構成を示したがこれに限るものではない。例えば、各装置内に自装置に属するカウンタの値をカウントアップ・カウントダウンする制御部を備え、当該制御部が診断インタフェースに接続される構成であっても良い。この場合、カウント制御部１２３やカウント制御部２２３から診断インタフェースを用いて送られるカウントアップ・カウントダウン指示信号に基づいて、これらの装置内制御部がカウンタの値をインクリメント・デクリメントさせても良い。
【００６８】
また、上記説明では、外部装置である光学ドライブや中継装置内部にそれぞれカウンタが配置される構成を示したがこれに限るものではない。システム内に存在する各々の装置のカウント値を記憶する記憶部を別途配置する構成であっても良い。当該記憶部は、診断インタフェースに接続され、各装置のカウント値を記憶する領域に分割されている。そして、上記カウント制御部が、診断インタフェースを用いて、前記記憶部内の該当する装置のカウント値を変更する制御を行える構成であっても良い。
【００６９】
また、共有デバイスとしては光学ドライブに限るものではなく、補助記憶装置や共有インタフェースなど様々なデバイスとすることができる。
【００７０】
また、上記説明ではカウント制御部がカウンタの値をインクリメント・デクリメントする構成について説明したがこれに限るものではない。各カウンタを、"０"又は"１"のいずれかの値を記憶するフラグ記憶部としてもよい。この場合、カウント制御部はフラグ制御部となり、当該フラグ制御部は、障害検出部における検出結果に基づいて、通信経路に存在するフラグ記憶部のフラグの上げ下げを行う。このような構成であっても良い。
【００７１】
また、上記説明における被疑装置及び被疑部品とは、共に障害が発生した場合に障害原因として推定される障害発生箇所を示している。
【００７２】
また、上記説明は、マルチプロセッサシステムの一例にすぎず、様々な変更が可能である。図４に、本発明にかかるマルチプロセッサシステムの変形例のブロック図を示す。図４のマルチプロセッサシステムでは、パーティション１００−Ａからパーティション１００−ＮのＮ個のパーティションにハードウェア分割されている。また各パーティションには複数のプロセッサモジュールが含まれ、さらに、これらのプロセッサモジュールを補助するサービスプロセッサが含まれる。また、中継装置４１０−Ａから中継装置４１０−ＭまでのＭ個の中継装置を中継して共有デバイス３１０−Ａから共有デバイス３１０−ＬのＬ個の共有デバイスと接続されている。なお、ここで実線は、制御／データインタフェース８０１を示し、一点鎖線は診断インタフェース８０２を表している。このように拡張されていても良い。
【００７３】
その他、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、以下の構成を採ることができる。
【００７４】
（１）ハードウェア分割された複数のパーティションと、前記複数のパーティションからアクセスされる共有装置と、から構成されるマルチプロセッサシステムであって、前記複数のパーティションと前記共有装置は、データ通信に用いられる第１のインタフェース及び障害の検出に用いられる第２のインタフェースで接続され、前記複数のパーティションと前記共有装置は、障害をカウントするカウント手段を具備し、前記複数のパーティションは、前記データ通信において障害が発生した時に前記データ通信に係るパーティション及び前記共有装置が具備するカウント手段のカウント値を変更する制御を行う制御手段を具備する、マルチプロセッサシステム。
（２）第１のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信に障害が発生したことを検出する検出手段と、前記検出手段で検出された障害をカウントする第１カウント手段と、前記検出手段で障害が検出された場合に、前記第１カウント手段をカウントアップする制御を行うと共に、前記外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行うカウント制御手段と、を具備する制御装置。
（３）前記カウント制御手段は、前記検出手段で障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第２のインタフェースを用いて行う、（２）に記載の制御装置。
（４）前記通信手段は、中継装置を介して前記外部装置と通信を行い、前記カウント制御手段は、前記検出手段で障害が検出された場合に、前記第１カウント手段をカウントアップする制御を行うと共に、前記外部装置及び前記中継装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行う、（２）に記載の制御装置。
（５）他の制御装置から通信障害に関する情報を入力し、前記入力した通信障害に関する情報に基づいて、第１のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が発生したことを検出する検出手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を前記第２のインタフェースを用いて行い、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第２のインタフェースを用いて行うカウント制御手段と、を具備する制御装置。
（６）被疑装置を判定する判定手段を更に具備し、前記カウント制御手段は、前記第２のインタフェースに接続されているカウント手段からカウント値を読み出す制御を更に行い、前記判定手段は、前記カウント制御手段によって読み出されたカウント値に基づいて被疑装置を判定する、（５）に記載の制御装置。
（７）前記通信障害に関する情報には、前記他の制御装置のカウント手段でカウントされたカウント値が含まれ、前記判定手段は、前記通信障害に関する情報に含まれる前記カウント値と前記カウント制御手段によって読み出されたカウント値とを比較することで被疑装置を判定する、（６）に記載の制御装置。
（８）前記通信手段は、リクエスト信号を出力すると共に前記リクエスト信号に対するリプライ信号を入力することで前記外部装置と通信を行い、前記検出手段は、前記リクエスト信号が出力されてから所定の時間以内に前記リクエスト信号に対するリプライ信号が入力されなかった場合に前記通信に障害が発生したと判断する、（２）乃至（７）のいずれかに記載の制御装置。
（９）第１のインタフェースを用いて外部装置と通信を行う通信ステップと、前記通信に障害が発生したことを検出する検出ステップと、前記検出ステップで検出された障害をカウントするカウントステップと、前記障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行うカウント制御ステップと、を有する障害検出方法。
（１０）前記カウント制御ステップの後段に、前記第２のインタフェースに接続された前記カウント手段からカウント値を読み出す読み出しステップと、前記読み出しステップにおいて読み出されたカウント値に基づいて被疑装置を判定する判定ステップと、を更に有する（９）に記載の障害検出方法。
（１１）前記通信手段は、前記外部装置自身が有する検出手段で検出された障害に関する情報を前記第１のインタフェースを用いて前記外部装置から入力し、前記判定手段は、前記障害に関する情報と前記読み出したカウント値とから被疑装置を判定する、（６）又は（７）に記載の制御装置。
（１２）他の通信装置から通信障害に関する情報を入力する入力ステップと、前記入力ステップで入力された通信障害に関する情報に基づいて、第１のインタフェースを用いて所定の外部装置と通信を行う通信ステップと、前記通信で障害が発生したかどうかを判定する判定ステップと、前記判定ステップにおいて前記通信で障害が発生したと判定された場合に、前記通信に係る外部装置のカウント手段をカウントアップする制御を第２のインタフェースを用いて行い、前記判定ステップにおいて前記通信で障害が発生しなかったと判定された場合に、前記通信に係る外部装置のカウント手段をカウントダウンする制御を第２のインタフェースを用いて行うカウント制御ステップと、を有する障害処理方法。
（１３）前記カウント制御ステップの後段に、前記第２のインタフェースに接続された前記カウント手段からカウント値を読み出す読み出しステップと、前記読み出しステップにおいて読み出されたカウント値に基づいて被疑装置を判定する被疑装置判定ステップと、を更に有する（１２）に記載の障害処理方法。
（１４）前記通信手段は、外部プロセッサからのリクエスト信号を中継する、（２）乃至（７）のいずれかに記載の制御装置。
【符号の説明】
【００７５】
１００      パーティション
１０１      通信モジュール
１０２      障害検出モジュール
１０３      カウント制御モジュール
１０４      カウントモジュール
１１０      プロセッサモジュール
１２０      サービスプロセッサ
１２１      通信部
１２２      障害検出部
１２３      カウント制御部
１２４      カウンタ
２００      パーティション
２０１      通信モジュール
２０２      障害検出モジュール
２０３      カウント制御モジュール
２０４      カウントモジュール
２１０      プロセッサモジュール
２２０      サービスプロセッサ
２２１      通信部
２２２      障害検出部
２２３      カウント制御部
２２４    カウンタ
３００    パーティション
３０１    通信モジュール
３０２    カウントモジュール
３１０    光学ドライブ
３１１    通信部
３１２    障害検出部
３１３    カウンタ
４００    マザーボード
４１０    中継装置
４１１    切替制御部
４１２    カウンタ
８０１    データインタフェース
８０２    診断インタフェース
１０００  マルチプロセッサシステム
【図１】
0005371123.tif 000002
【図２】
0005371123.tif 000003
【図３】
0005371123.tif 000004
【図４】
0005371123.tif 000005