説明

障害検出方法、制御装置、マルチプロセッサシステム

【課題】複数のパーティションにハードウェア分割された装置では、通信経路上で障害が発生した場合は、障害発生箇所の特定が困難であり、人手での部品交換による部品の特定を実施する必要があるため、被疑判断に時間を要していた。
【解決手段】
本発明の制御装置は、第1のインタフェースを用いて外部装置と通信を行う通信手段と、通信に障害が発生したことを検出する検出手段と、検出手段で検出された障害をカウントする第1カウント手段と、検出手段で障害が検出された場合に、第1カウント手段をカウントアップする制御を行うと共に、外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御手段と、を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の部品又は装置が接続されているシステムにおいて発生した障害箇所を適切に処理するための障害検出方法及び当該方法に用いられる制御装置とそのシステムに関する。
【背景技術】
【0002】
近年、並列処理によってアプリケーションの実行速度を向上させるため、シングルプロセッサシステムからマルチプロセッサシステムへの移行が加速している。また、マルチプロセッサシステムに搭載されるプロセッサモジュール数も増大傾向にあり、システム内の経路が複雑化している。
【0003】
このように経路が複雑化すると、障害が発生した場合における障害発生箇所の特定が困難となる。これまでにも、障害発生箇所の特定を容易化するための技術は種々開発されている。例えば、特許文献1には、複数のデータ端末装置(DTE)がそれぞれ回線終端装置(DCE)を介して接続されているシステムにおいて、障害が発生した場合に、DCE−DCE間での障害発生かDTE−DCE間での障害発生かを容易に特定するための技術が開示されている。
【0004】
また、特許文献2には、中央制御装置が複数のパスで記憶装置群にアクセスするシステムにおいて、障害が発生したパスを障害発生回数のみを基準として閉塞させるのではなく、残りの使用可能なパス数の大小に応じて、閉塞させる条件を変化させる技術が開示されている。
【0005】
また、特許文献3には、関連する技術として異なるオペレーションシステムで動作する複数のプロセッサシステムにおいてデバイスを共有する技術が開示されている。一般的に、このような共有デバイスシステムにおいては、各々のプロセッサシステムが共有デバイスの使用時に発生した障害に関する障害情報を個別に有しており、障害が発生した場合は、これらの障害情報のみから障害発生箇所の被疑を判断して対処している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−18329号公報
【特許文献2】特開2000−148655号公報
【特許文献3】特開2004−246779号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来、複数のパーティションにハードウェア分割された装置は、各パーティション内で取得されるアクセスエラーログ等の障害情報のみで被疑を判断していた。このような障害処理方法では、当該パーティションから共有デバイスまでの経路上で障害が発生した場合は、障害発生箇所の特定が困難であり、人手での部品交換による部品の特定(切り分け)を実施する必要があるため、被疑判断に時間を要していた。また、パーティション数が多数にのぼり、複雑な経路で構成された共有デバイスシステムでは、従来の対処方法では、場合によっては、障害発生箇所を特定することができず、被疑経路上の全ての部品を交換しなければならない事態も生じていた。
【0008】
このような事態に対しては、上記特許文献の技術を用いても有効な解決方法とはならず、従って新たな障害検出方法やそのための制御装置が求められていた。
【0009】
本発明は、通信経路上で障害が発生した場合に被疑装置の絞り込みを容易化できる障害検出方法及び当該障害検出方法で用いられる制御装置並びにマルチプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明のマルチプロセッサシステムは、ハードウェア分割された複数のパーティションと、前記複数のパーティションからアクセスされる共有装置と、から構成されるマルチプロセッサシステムであって、前記複数のパーティションと前記共有装置は、データ通信に用いられる第1のインタフェース及び障害の検出に用いられる第2のインタフェースで接続され、前記複数のパーティションと前記共有装置は、障害をカウントするカウント手段を具備し、前記複数のパーティションは、前記データ通信において障害が発生した時に前記データ通信に係るパーティション及び前記共有装置が具備するカウント手段のカウント値を変更する制御を行う制御手段を具備する。
【0011】
また、本発明の制御装置は、第1のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信に障害が発生したことを検出する検出手段と、前記検出手段で検出された障害をカウントする第1カウント手段と、前記検出手段で障害が検出された場合に、前記第1カウント手段をカウントアップする制御を行うと共に、前記外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御手段と、を具備する。
【0012】
また、本発明の制御装置は、他の制御装置から通信障害に関する情報を入力し、前記入力した通信障害に関する情報に基づいて、第1のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が発生したことを検出する検出手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を前記第2のインタフェースを用いて行い、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第2のインタフェースを用いて行うカウント制御手段と、を具備する。
【0013】
また、本発明の障害処理方法は、第1のインタフェースを用いて外部装置と通信を行う通信ステップと、前記通信に障害が発生したことを検出する検出ステップと、前記検出ステップで検出された障害をカウントするカウントステップと、前記障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御ステップと、を有する。
【発明の効果】
【0014】
本発明によれば、通信経路上で障害が発生した場合に被疑装置の絞り込みを容易化できる障害検出方法及び当該障害検出方法で用いられる制御装置並びにマルチプロセッサシステムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】実施の形態1にかかる通信システムの構成を示したブロック図である。
【図2】実施の形態2にかかるマルチプロセッサシステムの構成を示したブロック図である。
【図3】実施の形態2にかかるマルチプロセッサシステムの障害処理動作を示したシーケンス図である。
【図4】実施の形態2にかかるマルチプロセッサシステムの変形例の構成を示したブロック図である。
【発明を実施するための形態】
【0016】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明に係る障害処理機能を備えた通信システムの構成を示したブロック図である。
【0017】
本発明実施の形態1に係る通信システムは、大きく分けてパーティション100、パーティション200、パーティション300の3つの部分から構成される。
【0018】
パーティション100は、後述する機能モジュールが集まった1つのブロックであり、装置や部品であっても良いし、ハードウェア分割されたパーティションであってもよい。パーティション100は、通信モジュール101と、障害検出モジュール102と、カウント制御モジュール103と、カウントモジュール104と、を有する。
【0019】
通信モジュール101は、第1のインタフェースである制御/データインタフェース801を用いてパーティション300内の通信モジュール301と信号やデータの送受などの通信を行う。また、必要に応じてパーティション200内の通信モジュール201とも信号やデータの送受などの通信を行う。
【0020】
障害検出モジュール102は、通信モジュール101が行う通信において障害が発生したことを検出する。障害の検出方法としては、例えば通信先のパーティションより障害情報が送られてきた場合や、リクエストに対するリプライが一定時間返却されない場合に通信障害が発生していると判断し、カウント制御モジュール103に障害が発生したことを通知する。
【0021】
カウント制御モジュール103は、通信モジュール101が行った通信に障害が発生したした旨の通知を障害検出モジュール102から受け取ると、当該通信に係るパーティションに属するカウントモジュールをカウントアップする制御を行う。例えば、通信モジュール101と通信モジュール301との間で障害が発生した場合は、当該通信に係るパーティションはパーティション100とパーティション300となる。従って、カウント制御モジュール103は、パーティション100に属するカウントモジュール104とパーティション300に属するカウントモジュール302をカウントアップする制御を行う。ここで、当該制御は、上記通信が行われる制御/データインタフェース801とは別に設けられた診断インタフェース802を用いて行われる。なお、カウントモジュール104とカウント制御モジュール103の間に専用インタフェースを別途設け、同一パーティション内のカウントアップ制御と外部パーティションに対するカウントアップ制御を異なるインタフェースを用いて行うよう実装しても良い。当該専用インタフェースを同一パーティション内で設ける場合も含め、カウントアップ制御を行うためのインタフェースを第2のインタフェースと定義し、通信を行うためのインタフェースを第1のインタフェースと定義する。
【0022】
カウントモジュール104は、上記通信の障害をカウントする。カウントモジュール104におけるカウントは、後述するカウント制御モジュール103が行うカウントアップ制御に基づいて行われる。また、パーティション200からパーティション100への通信に障害が発生した場合は、カウントモジュール104におけるカウントは、パーティション200に属するカウント制御モジュール203が行う構成であっても良い。
【0023】
次にパーティション200について説明する。パーティション200はパーティション100と同一の構成をとる。パーティション200は、通信モジュール201と、障害検出モジュール202と、カウント制御モジュール203と、カウントモジュール204と、を有する。
【0024】
通信モジュール201は、第1のインタフェースである制御/データインタフェース801を用いてパーティション300内の通信モジュール301と通信を行う。また、必要に応じてパーティション100内の通信モジュール101とも通信を行う。
【0025】
障害検出モジュール202は、通信モジュール201が行う通信において障害が発生したことを検出する。障害の検出方法としては、障害検出モジュール102と同様の方法をとることができる。
【0026】
カウント制御モジュール203は、通信モジュール201が行った通信に障害が発生した場合に、当該通信に係るパーティションに属するカウントモジュールをカウントアップする制御を行う。ここで、当該制御は、カウント制御モジュール103と同様、上記通信が行われる制御/データインタフェース801とは別に設けられた診断インタフェース802を用いて行われる。なお、こちらもパーティション100の場合と同様、カウントモジュール204とカウント制御モジュール203の間に専用インタフェースを別途設け、同一パーティション内のカウントアップ制御と外部パーティションに対するカウントアップ制御を異なるインタフェースを用いて行っても良い。
【0027】
カウントモジュール204は、上記通信の障害をカウントする。カウントモジュール204におけるカウントは、カウント制御モジュール203が行うカウントアップ制御に基づいて行われる。また、パーティション100からパーティション200への通信に障害が発生した場合は、カウントモジュール204におけるカウントは、パーティション100に属するカウント制御モジュール103が行う構成であっても良い。
【0028】
次に、パーティション300について説明する。パーティション300は、後述する機能モジュールが集まった1つのブロックであり、例えば共有デバイスなどであってもよい。パーティション300は、通信モジュール301とカウントモジュール302を有する。
【0029】
通信モジュール301は、パーティション100に属する通信モジュール101やパーティション200に属する通信モジュール201との間で制御/データインタフェース801を用いて通信を行う。
【0030】
カウントモジュール302は、外部パーティションに含まれるカウント制御モジュールが診断インタフェース802を用いて行うカウントアップ制御に基づいて上記通信の障害をカウントする。また、当該カウントした値は、必要に応じてカウント制御モジュールが行う読み出し制御に基づいて当該カウント制御モジュールに読み出される。
【0031】
当該構成によれば、これら複数のパーティション間で行われる通信において通信障害が発生した場合、障害原因となっているパーティションに属するカウントモジュールのカウント値が、他のパーティションに属するカウントモジュールのカウント値よりも大きくなっていく。従って、障害発生箇所を容易に特定することができる。
【0032】
なお、上記説明では、障害が発生した場合にカウントモジュールのカウント値をカウントアップする場合について説明したが、障害が発生しなかった場合に、カウントモジュールのカウント値をカウントダウンする構成であっても良い。
【0033】
(実施の形態2)
実施の形態2は、実施の形態1に係る障害処理機能を導入したマルチプロセッサシステムに関する。以下、図面を用いて説明する。なお、重複する部分に関しては一部説明を省略する。
【0034】
図2は、本実施の形態2に係るマルチプロセッサシステム1000の構成を示している。マルチプロセッサシステム1000は、パーティション100とパーティション200の2つのパーティションにハードウェア分割されている。マルチプロセッサシステム1000は、大きく分けて、これら2つのパーティション100とパーティション200と、中継装置410と、光学ドライブ310とから構成される。パーティション100とパーティション200は、それぞれ図1におけるパーティション100及びパーティション200に対応し、光学ドライブ310は、図1におけるパーティション300に対応する。また、中継装置410は、パーティション100及びパーティション200とパーティション300との間の通信を中継するための装置であり、マザーボード400上に配置される。以下、各ブロックについて詳細に説明する。
【0035】
パーティション100は、プロセッサモジュール110とサービスプロセッサ120とを有する。プロセッサモジュール110は、命令の実行や制御を行うプロセッサと、データを記憶するメインメモリなどから構成される。プロセッサモジュール110が実行するリクエストに基づいて、リクエスト信号がサービスプロセッサ120を経由して光学ドライブ310へ送信される。
【0036】
サービスプロセッサ120は、プロセッサモジュール110を補助するためのプロセッサであり、後述する障害検出処理やプロセッサモジュール110の立ち上げ処理などを行う。サービスプロセッサ120は、内部に通信部121と、障害検出部122と、カウント制御部123と、カウンタ124と、を有する。
【0037】
通信部121は、外部装置の通信部と通信を行う。当該通信にはサービスプロセッサ120自身が実行する外部装置への通信の他に、プロセッサモジュール110からの通信の転送も含む。通信部121は、プロセッサモジュール110内のプロセッサから送られてくるリクエスト信号を入力し、当該リクエスト信号をリクエスト先の装置へ転送する。
【0038】
障害検出部122は、通信部121が行う通信に障害が発生したかどうかを検出する。障害検出部122は、障害情報の一つであるアクセスエラーパケットを通信部121から受け取り、当該パケットを解析してどの通信経路で障害が発生したかを特定する。また、通信部121がリクエスト信号を出力してから時間計測を行い、一定時間経過してもリクエスト信号の出力先からリプライ信号が返信されない場合には、当該通信経路において障害が発生しているものと判断する。障害検出部122は、上記方法などにより通信部121が行う通信において障害が発生したことを検出するとカウント制御部123に通信障害が発生したことを通知する。障害検出部122からカウント制御部123に通知される情報には、障害発生時間、障害発生回数、障害の致命度、当該障害が発生した通信経路に関する情報、カウントアップ制御を行う必要がある装置のカウンタのアドレス情報などから適宜必要なものが選ばれて通知される。
【0039】
カウント制御部123は、障害検出部122から通信障害に関する通知を受け取ると、当該通信に係るパーティション又は外部装置に属するカウンタをカウントアップする制御を行う。例えば、サービスプロセッサ120と光学ドライブ310との間で障害が発生した場合は、当該通信に係るパーティション及び外部装置は、パーティション100、中継装置410、光学ドライブ310となる。従って、カウント制御部123は、サービスプロセッサ120が有するカウンタ124をカウントアップする制御を行い、サービスプロセッサ120外部の装置に含まれるカウンタ313、カウンタ412をカウントアップする制御を、診断インタフェース802を用いて行う。また、カウント制御部123は、図示せぬ制御部からの読み出し指示を入力し、診断インタフェース802を介して接続されているカウンタから当該カウンタに記憶されている値を読み出す制御を行う。当該読み出されたそれぞれのカウンタの値は、必要に応じて図示せぬユーザインタフェースを介して使用者に提示される。また、カウント制御部123は、必要に応じて上記通信経路に存在する装置のカウンタをカウントダウンする制御を行う。
【0040】
カウンタ124は、障害検出部122で検出された障害ついてカウントされた計数値を保持する。カウンタ124は、例えば不揮発性ROMなどで構成される。カウンタ124が保持している値は、カウント制御部123からのカウントアップ制御に基づいてインクリメントされる。
【0041】
次に、パーティション200について説明する。パーティション200は、プロセッサモジュール210とサービスプロセッサ220とから構成される。なお、パーティション200はパーティション100と同様の構成であるため説明を省略する。すなわち、プロセッサモジュール210は、プロセッサモジュール110と同様の構成であり、サービスプロセッサ220はサービスプロセッサ120と同様の構成である。
【0042】
次に、光学ドライブ310について説明する。光学ドライブ310は、複数のパーティションからアクセスを受ける共有デバイスであり、内部に通信部311、障害検出部312、カウンタ313を有する。
【0043】
通信部311は、外部装置の通信部と所定のプロトコルに従って通信を行う。例えば、外部装置からデータの読み出しや書き込みに関するリクエスト信号を入力し、図示せぬ制御部が当該リクエスト信号で指定されているアドレスに対してデータの読み出しや書き込みに関する制御を行う。通信部311は、読み出されたデータやアクセスが完了したことを示すリプライ信号を、リクエスト信号送信元に返信する。
【0044】
障害検出部312は、光学ドライブ310自身で発生した障害を検出する。障害検出部312は、通信部311で発生した通信エラーや、図示せぬ制御部で発生する読出し/書き込み等の失敗などを障害として検出し、障害種別や障害発生時刻などを纏めた障害情報を作成する。障害検出部312で作成された障害情報は、必要に応じてハードウェア分割されたパーティション内に設置されたサービスプロセッサへ送信される。
【0045】
カウンタ313は、診断インタフェース802に接続されており、光学ドライブ310外部に存在するカウント制御部からのカウントアップ制御に基づいて記憶する値をインクリメントする。また、カウント制御部からのカウントダウン制御に基づいて記憶する値を1つデクリメントする。当該カウンタ313は、光学ドライブ310の障害に関する被疑判断に用いられる。
【0046】
次に、中継装置410について説明する。中継装置は各パーティションと光学ドライブとの通信を中継するために、マザーボード400上に配置される装置である。中継装置410は、切替制御部411とカウンタ412を有する。
【0047】
切替制御部411は、サービスプロセッサ120又はサービスプロセッサ220から光学ドライブ310へのアクセスを排他制御する。すなわち、切替制御部411は、光学ドライブ310の接続先を切り替えることにより、どちらか一方のパーティションのみが光学ドライブを使用可能となるように排他制御を行う。
【0048】
カウンタ412は、診断インタフェース802に接続されており、中継装置410外部に存在するカウント制御部からのカウントアップ制御に基づいて記憶する値をインクリメントする。また、カウント制御部からのカウントダウン制御に基づいて記憶する値を1つデクリメントする。当該カウンタ412は、中継装置410の障害に関する被疑判断に用いられる。
【0049】
次に、本発明のマルチプロセッサシステムの動作について図を参照して説明する。図3は、サービスプロセッサ120から光学ドライブ310への経路で障害が発生した場合の本発明のマルチプロセッサシステムにおける処理の流れを示したシーケンス図である。
【0050】
パーティション100に属するサービスプロセッサ120が、光学ドライブ310へのリクエスト(リードまたはライト)を実行し、リクエスト信号を出力する(S101)。当該リクエスト信号は、サービスプロセッサ120内の通信部121から出力される。ここで、サービスプロセッサ120は、当該リクエストに対するリプライ待ちの状態となる(S102)。
【0051】
上記リクエスト信号を入力した光学ドライブ310は、そのリクエスト内容に従った制御や処理を行い、リプライ信号を返信する(S103)。サービスプロセッサ120から光学ドライブ310までの経路上で障害が無ければ、サービスプロセッサ120からのリクエストに対するリプライが、光学ドライブ310から中継装置410を経由してサービスプロセッサ120に返却される。一方、サービスプロセッサ120から光学ドライブ310までの経路上に障害があれば、上記リクエストが光学ドライブ310に到達しないため、当該リクエストに対するリプライが返却されない。
【0052】
サービスプロセッサ120内の障害検出部122は、通信部121が行った通信で障害が発生したかどうかを判定する(S104)。具体的には、通信部121が実行したリクエストに対するリプライが所定の時間以内に返却されない場合は、サービスプロセッサ120から光学ドライブ310までの通信経路上で障害が発生しているものと判定する。一方、当該リプライが所定時間内に返却された場合は、障害が発生していないものと判定する。障害が発生していると判定された場合は、障害検出部122は、障害が発生した旨の通知をカウント制御部123に行う。一方、障害が発生していないと判定された場合は、障害検出部122は、特段の処理を行うことなく、次の通信における障害検出に備える。
【0053】
サービスプロセッサ120内のカウント制御部123は、障害検出部122によって上記障害が発生したと判定された場合、自身が管理するカウンタ124のカウントアップ制御を行う(S105)。カウント制御部123は、さらに、診断インタフェース802を用いて、光学ドライブ310内のカウンタ313及び中継装置410内のカウンタ412のカウントアップ制御を行う(S106)。この結果、カウンタ124、カウンタ313、カウンタ412の値はそれぞれ"1"となる。なお、これらのカウンタの値は、当該カウンタが属する装置又は部品を通る経路上において発生した障害の回数を示している。
【0054】
次に、サービスプロセッサ120は、サービスプロセッサ120の属するパーティション100側からの経路で障害が発生したこと、及び、サービスプロセッサ120のカウンタ124の値を、パーティション200のサービスプロセッサ220へ通知する(S107)。より具体的には、図示せぬ制御部からの読み出し指示に基づいて、カウント制御部123がカウンタ124に記憶されている値を読み出す。カウント制御部123は、読み出したカウント値を制御部に出力する。当該制御部は、カウント制御部123から入力したカウンタ124の値や、リクエストの内容、どの経路又はどの装置に対するリクエストにおいて障害が発生したかに関する情報等を纏めて診断情報を生成する。当該診断情報は、パーティション100側で発生した通信障害に関する情報である。通信部121は、制御部より当該診断情報を受け取ると制御/データインタフェースを用いてパーティション200へ出力する。
【0055】
上記診断情報を受け取ったパーティション200のサービスプロセッサ220は、光学ドライブ310に対するリクエストを実行する(S108)。より具体的には、サービスプロセッサ220の通信部221は、サービスプロセッサ120の通信部121から出力された上記診断情報を入力し、当該診断情報を図示せぬ制御部に出力する。当該制御部は、受け取った診断情報からリクエスト先やリクエスト内容を特定し、リクエストを実行する。当該リクエストが実行されることにより、リクエスト信号が通信部221から光学ドライブ310へ出力される。サービスプロセッサ220は、この後当該リクエストに対するリプライ待ちの状態となる(S109)。
【0056】
上記リクエスト信号を入力した光学ドライブ310は、そのリクエスト内容に従った制御や処理を行い、リプライ信号を返信する(S110)。サービスプロセッサ220から光学ドライブ310までの経路上に障害が無ければ、サービスプロセッサ220が実行したリクエストに対するリプライが、光学ドライブ310から中継装置410を経由してサービスプロセッサ220に返却される。一方、サービスプロセッサ220から光学ドライブ310までの経路上に障害があれば、上記リクエストが光学ドライブ310に到達しないため、当該リクエストに対するリプライが返却されない。
【0057】
サービスプロセッサ220内の障害検出部222は、上記診断情報に基づいて通信部221が行った通信で障害が発生したかどうかを判定する(S111)。具体的には、通信部221が出力したリクエスト信号に対するリプライ信号が所定の時間以内に返却されない場合は、サービスプロセッサ220から光学ドライブ310までの通信経路上でも障害が発生しているものと判定する。一方、通信部221が出力したリクエスト信号に対するリプライ信号が所定の時間以内に返却された場合は、サービスプロセッサ220から光学ドライブ310までの通信経路上に障害は存在しないものと判定する。障害検出部222は、上記判定結果や当該通信に係る外部装置のカウンタのアドレス等を纏めた判定情報を生成し、カウント制御部223に出力する。
【0058】
カウント制御部223は、入力した上記判定情報に基づいて、カウンタのカウントアップ・カウントダウン制御を行う。具体的には、上記判定情報に含まれる判定結果が、通信経路上に障害が存在しないという内容であった場合は、カウント制御部223は、当該通信に係る装置のカウンタの値をデクリメントさせるカウントダウン制御を行う(S112)。ここでは、カウント制御部223は、光学ドライブ310に属するカウンタ313及び中継装置410に属するカウンタ412をカウントダウンする制御を診断インタフェース802を用いて行う。
【0059】
次に、カウント制御部223は、カウンタ313及びカウンタ412から値を読み出す読み出し制御を行う。また、カウント制御部223は、カウンタ224から値を読み出す(S113)。これら読み出された各々のカウンタの値は図示せぬ制御部に出力される。
【0060】
当該制御部は、これらのカウンタの値及びS107でサービスプロセッサ120から受け取った診断情報に含まれるカウンタ124の値を比較することにより、マルチプロセッサシステム1000内部で発生した障害に関する被疑部品を特定する(S114)。具体的には、上記一連の処理の結果、マルチプロセッサシステム1000に含まれる各々の装置が有するカウンタの値は、それぞれ、カウンタ124が"1"、カウンタ224が"0"、カウンタ313が"0"、カウンタ412が"0"となる。従って最もカウンタの値が大きいカウンタ124の属するサービスプロセッサ120が通信障害における被疑部品となる。
【0061】
一方、上記判定情報に含まれる判定結果が、通信経路上に障害が発生しているとの内容であった場合は、カウント制御部223は、当該通信に係る装置のカウンタの値をインクリメントさせるカウントアップ制御を行う(S115)。ここでは、カウント制御部223は、光学ドライブ310に属するカウンタ313及び中継装置410に属するカウンタ412をカウントアップする制御を診断インタフェース802を用いて行う。
【0062】
次に、カウント制御部223は、カウンタ313及びカウンタ412から値を読み出す読み出し制御を行う。また、カウント制御部223は、カウンタ224から値を読み出す(S116)。これら読み出された各々のカウンタの値は図示せぬ制御部に出力される。当該制御部は、これらのカウンタの値及びS107でサービスプロセッサ120から受け取った診断情報に含まれるカウンタ124の値を比較することにより、マルチプロセッサシステム1000内部で発生した障害に関する被疑部品を特定する(S117)。具体的には、上記一連の処理の結果、マルチプロセッサシステム1000に含まれる各々の装置が有するカウンタの値は、それぞれ、カウンタ124が"1"、カウンタ224が"1"、カウンタ313が"2"、カウンタ412が"2"となる。従って最もカウンタの値が大きいカウンタ313の属する光学ドライブ310か、カウンタ412の属する中継装置410が通信障害における被疑部品となる。これらのどちらが被疑部品であるかは、別途取得したアクセスエラーログやその他の障害情報と組み合わせて総合的に判断することにより特定しても良いし、これら2つの被疑部品を取り換えても良い。
【0063】
上記構成とすることで、障害が発生している可能性のある被疑部品や被疑装置の絞り込みが容易化できるため、交換部品数の削減及び部品交換に伴うシステム停止時間の短縮が可能となる。
【0064】
なお、上記説明では、診断情報を受け取ったサービスプロセッサ220が行ったリクエストに対するリプライに応じてカウントダウンが行われる構成であったが、これに限るものではない。通信部221によって行われる通信が成功する度にカウントダウンを行っても良いし、カウントダウンを行わない構成であっても良い。
【0065】
また、上記カウント制御部223は、S112又はS115で診断インタフェース802に接続されている当該通信に係る装置のカウンタの値をデクリメント又はインクリメントさせる構成としたがこれに限るものではない。カウント制御部223は、サービスプロセッサ220に属するカウンタ224の値についても合わせてデクリメント又はインクリメントさせる制御を行ってもよい。また、カウント制御部223は、図示せぬ制御部から診断情報に基づいてカウントダウンさせる装置のカウンタを特定し、当該特定したカウンタをカウントダウンさせる構成であっても良い。すなわち、カウント制御部223は、パーティション100からの経路とパーティション200からの経路の重複部分の装置についてのみ当該装置に属するカウンタをカウントダウンさせる構成であっても良い。
【0066】
また、上記説明では、サービスプロセッサ120からサービスプロセッサ220へ送られる診断情報内にサービスプロセッサ120内のカウンタ124の値が含まれる構成を示したがこれに限るものではない。S113又はS116でカウンタ313及びカウンタ412からカウント値を読み出す制御を行う時に、合わせてカウンタ124から読み出しても良い。
【0067】
また、上記説明では、各装置に属するカウンタが診断インタフェース802に直接接続されている構成を示したがこれに限るものではない。例えば、各装置内に自装置に属するカウンタの値をカウントアップ・カウントダウンする制御部を備え、当該制御部が診断インタフェースに接続される構成であっても良い。この場合、カウント制御部123やカウント制御部223から診断インタフェースを用いて送られるカウントアップ・カウントダウン指示信号に基づいて、これらの装置内制御部がカウンタの値をインクリメント・デクリメントさせても良い。
【0068】
また、上記説明では、外部装置である光学ドライブや中継装置内部にそれぞれカウンタが配置される構成を示したがこれに限るものではない。システム内に存在する各々の装置のカウント値を記憶する記憶部を別途配置する構成であっても良い。当該記憶部は、診断インタフェースに接続され、各装置のカウント値を記憶する領域に分割されている。そして、上記カウント制御部が、診断インタフェースを用いて、前記記憶部内の該当する装置のカウント値を変更する制御を行える構成であっても良い。
【0069】
また、共有デバイスとしては光学ドライブに限るものではなく、補助記憶装置や共有インタフェースなど様々なデバイスとすることができる。
【0070】
また、上記説明ではカウント制御部がカウンタの値をインクリメント・デクリメントする構成について説明したがこれに限るものではない。各カウンタを、"0"又は"1"のいずれかの値を記憶するフラグ記憶部としてもよい。この場合、カウント制御部はフラグ制御部となり、当該フラグ制御部は、障害検出部における検出結果に基づいて、通信経路に存在するフラグ記憶部のフラグの上げ下げを行う。このような構成であっても良い。
【0071】
また、上記説明における被疑装置及び被疑部品とは、共に障害が発生した場合に障害原因として推定される障害発生箇所を示している。
【0072】
また、上記説明は、マルチプロセッサシステムの一例にすぎず、様々な変更が可能である。図4に、本発明にかかるマルチプロセッサシステムの変形例のブロック図を示す。図4のマルチプロセッサシステムでは、パーティション100−Aからパーティション100−NのN個のパーティションにハードウェア分割されている。また各パーティションには複数のプロセッサモジュールが含まれ、さらに、これらのプロセッサモジュールを補助するサービスプロセッサが含まれる。また、中継装置410−Aから中継装置410−MまでのM個の中継装置を中継して共有デバイス310−Aから共有デバイス310−LのL個の共有デバイスと接続されている。なお、ここで実線は、制御/データインタフェース801を示し、一点鎖線は診断インタフェース802を表している。このように拡張されていても良い。
【0073】
その他、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、以下の構成を採ることができる。
【0074】
(1)ハードウェア分割された複数のパーティションと、前記複数のパーティションからアクセスされる共有装置と、から構成されるマルチプロセッサシステムであって、前記複数のパーティションと前記共有装置は、データ通信に用いられる第1のインタフェース及び障害の検出に用いられる第2のインタフェースで接続され、前記複数のパーティションと前記共有装置は、障害をカウントするカウント手段を具備し、前記複数のパーティションは、前記データ通信において障害が発生した時に前記データ通信に係るパーティション及び前記共有装置が具備するカウント手段のカウント値を変更する制御を行う制御手段を具備する、マルチプロセッサシステム。
(2)第1のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信に障害が発生したことを検出する検出手段と、前記検出手段で検出された障害をカウントする第1カウント手段と、前記検出手段で障害が検出された場合に、前記第1カウント手段をカウントアップする制御を行うと共に、前記外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御手段と、を具備する制御装置。
(3)前記カウント制御手段は、前記検出手段で障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第2のインタフェースを用いて行う、(2)に記載の制御装置。
(4)前記通信手段は、中継装置を介して前記外部装置と通信を行い、前記カウント制御手段は、前記検出手段で障害が検出された場合に、前記第1カウント手段をカウントアップする制御を行うと共に、前記外部装置及び前記中継装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行う、(2)に記載の制御装置。
(5)他の制御装置から通信障害に関する情報を入力し、前記入力した通信障害に関する情報に基づいて、第1のインタフェースを用いて外部装置と通信を行う通信手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が発生したことを検出する検出手段と、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を前記第2のインタフェースを用いて行い、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第2のインタフェースを用いて行うカウント制御手段と、を具備する制御装置。
(6)被疑装置を判定する判定手段を更に具備し、前記カウント制御手段は、前記第2のインタフェースに接続されているカウント手段からカウント値を読み出す制御を更に行い、前記判定手段は、前記カウント制御手段によって読み出されたカウント値に基づいて被疑装置を判定する、(5)に記載の制御装置。
(7)前記通信障害に関する情報には、前記他の制御装置のカウント手段でカウントされたカウント値が含まれ、前記判定手段は、前記通信障害に関する情報に含まれる前記カウント値と前記カウント制御手段によって読み出されたカウント値とを比較することで被疑装置を判定する、(6)に記載の制御装置。
(8)前記通信手段は、リクエスト信号を出力すると共に前記リクエスト信号に対するリプライ信号を入力することで前記外部装置と通信を行い、前記検出手段は、前記リクエスト信号が出力されてから所定の時間以内に前記リクエスト信号に対するリプライ信号が入力されなかった場合に前記通信に障害が発生したと判断する、(2)乃至(7)のいずれかに記載の制御装置。
(9)第1のインタフェースを用いて外部装置と通信を行う通信ステップと、前記通信に障害が発生したことを検出する検出ステップと、前記検出ステップで検出された障害をカウントするカウントステップと、前記障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御ステップと、を有する障害検出方法。
(10)前記カウント制御ステップの後段に、前記第2のインタフェースに接続された前記カウント手段からカウント値を読み出す読み出しステップと、前記読み出しステップにおいて読み出されたカウント値に基づいて被疑装置を判定する判定ステップと、を更に有する(9)に記載の障害検出方法。
(11)前記通信手段は、前記外部装置自身が有する検出手段で検出された障害に関する情報を前記第1のインタフェースを用いて前記外部装置から入力し、前記判定手段は、前記障害に関する情報と前記読み出したカウント値とから被疑装置を判定する、(6)又は(7)に記載の制御装置。
(12)他の通信装置から通信障害に関する情報を入力する入力ステップと、前記入力ステップで入力された通信障害に関する情報に基づいて、第1のインタフェースを用いて所定の外部装置と通信を行う通信ステップと、前記通信で障害が発生したかどうかを判定する判定ステップと、前記判定ステップにおいて前記通信で障害が発生したと判定された場合に、前記通信に係る外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行い、前記判定ステップにおいて前記通信で障害が発生しなかったと判定された場合に、前記通信に係る外部装置のカウント手段をカウントダウンする制御を第2のインタフェースを用いて行うカウント制御ステップと、を有する障害処理方法。
(13)前記カウント制御ステップの後段に、前記第2のインタフェースに接続された前記カウント手段からカウント値を読み出す読み出しステップと、前記読み出しステップにおいて読み出されたカウント値に基づいて被疑装置を判定する被疑装置判定ステップと、を更に有する(12)に記載の障害処理方法。
(14)前記通信手段は、外部プロセッサからのリクエスト信号を中継する、(2)乃至(7)のいずれかに記載の制御装置。
【符号の説明】
【0075】
100 パーティション
101 通信モジュール
102 障害検出モジュール
103 カウント制御モジュール
104 カウントモジュール
110 プロセッサモジュール
120 サービスプロセッサ
121 通信部
122 障害検出部
123 カウント制御部
124 カウンタ
200 パーティション
201 通信モジュール
202 障害検出モジュール
203 カウント制御モジュール
204 カウントモジュール
210 プロセッサモジュール
220 サービスプロセッサ
221 通信部
222 障害検出部
223 カウント制御部
224 カウンタ
300 パーティション
301 通信モジュール
302 カウントモジュール
310 光学ドライブ
311 通信部
312 障害検出部
313 カウンタ
400 マザーボード
410 中継装置
411 切替制御部
412 カウンタ
801 データインタフェース
802 診断インタフェース
1000 マルチプロセッサシステム

【特許請求の範囲】
【請求項1】
ハードウェア分割された複数のパーティションと、
前記複数のパーティションからアクセスされる共有装置と、
から構成されるマルチプロセッサシステムであって、
前記複数のパーティションと前記共有装置は、データ通信に用いられる第1のインタフェース及び障害の検出に用いられる第2のインタフェースで接続され、
前記複数のパーティションと前記共有装置は、障害をカウントするカウント手段を具備し、
前記複数のパーティションは、前記データ通信において障害が発生した時に前記データ通信に係るパーティション及び前記共有装置が具備するカウント手段のカウント値を変更する制御を行う制御手段を具備する、
マルチプロセッサシステム。
【請求項2】
第1のインタフェースを用いて外部装置と通信を行う通信手段と、
前記通信に障害が発生したことを検出する検出手段と、
前記検出手段で検出された障害をカウントする第1カウント手段と、
前記検出手段で障害が検出された場合に、前記第1カウント手段をカウントアップする制御を行うと共に、前記外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御手段と、
を具備する制御装置。
【請求項3】
前記カウント制御手段は、前記検出手段で障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第2のインタフェースを用いて行う、
請求項2に記載の制御装置。
【請求項4】
前記通信手段は、中継装置を介して前記外部装置と通信を行い、
前記カウント制御手段は、前記検出手段で障害が検出された場合に、前記第1カウント手段をカウントアップする制御を行うと共に、前記外部装置及び前記中継装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行う、
請求項2に記載の制御装置。
【請求項5】
他の制御装置から通信障害に関する情報を入力し、前記入力した通信障害に関する情報に基づいて、第1のインタフェースを用いて外部装置と通信を行う通信手段と、
前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が発生したことを検出する検出手段と、
前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を前記第2のインタフェースを用いて行い、前記通信障害に関する情報に基づいて前記通信手段が行う通信において障害が検出されなかった場合に、前記外部装置のカウント手段をカウントダウンする制御を前記第2のインタフェースを用いて行うカウント制御手段と、
を具備する制御装置。
【請求項6】
被疑装置を判定する判定手段を更に具備し、
前記カウント制御手段は、前記第2のインタフェースに接続されているカウント手段からカウント値を読み出す制御を更に行い、
前記判定手段は、前記カウント制御手段によって読み出されたカウント値に基づいて被疑装置を判定する、
請求項5に記載の制御装置。
【請求項7】
前記通信障害に関する情報には、前記他の制御装置のカウント手段でカウントされたカウント値が含まれ、
前記判定手段は、前記通信障害に関する情報に含まれる前記カウント値と前記カウント制御手段によって読み出されたカウント値とを比較することで被疑装置を判定する、
請求項6に記載の制御装置。
【請求項8】
前記通信手段は、リクエスト信号を出力すると共に前記リクエスト信号に対するリプライ信号を入力することで前記外部装置と通信を行い、
前記検出手段は、前記リクエスト信号が出力されてから所定の時間以内に前記リクエスト信号に対するリプライ信号が入力されなかった場合に前記通信に障害が発生したと判断する、
請求項2乃至請求項7のいずれかに記載の制御装置。
【請求項9】
第1のインタフェースを用いて外部装置と通信を行う通信ステップと、
前記通信に障害が発生したことを検出する検出ステップと、
前記検出ステップで検出された障害をカウントするカウントステップと、
前記障害が検出された場合に、前記外部装置のカウント手段をカウントアップする制御を第2のインタフェースを用いて行うカウント制御ステップと、
を有する障害検出方法。
【請求項10】
前記カウント制御ステップの後段に、前記第2のインタフェースに接続された前記カウント手段からカウント値を読み出す読み出しステップと、
前記読み出しステップにおいて読み出されたカウント値に基づいて被疑装置を判定する判定ステップと、
を更に有する請求項9に記載の障害検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate