説明

マルチノードシステム、ノード間スイッチ及びデータ中継方法

【課題】回路規模を増大させることなく早期に障害処理を終了させることができるマルチノードシステムを提供すること
【解決手段】本発明のマルチノードシステムは、命令処理情報を送信するノード10と命令処理情報をノード30へ転送するノード間スイッチ20とを備える。ノード10は、命令処理情報を複数のブロックに分解する命令分解部11と、複数のブロックをノード間スイッチ20へ送信するブロック送信部12と、分解されたブロックの数と、複数のブロックに対する応答信号の数とに基づいて当該複数のブロックの送信処理が正常に終了したか否かを判断する判断部13とを有する。ノード間スイッチ20は、ノード30において障害が発生した場合に、ブロックに対する応答信号をノード30の代わりに生成し、ノード10へ送信する応答信号生成部21、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はマルチノードシステム、ノード間スイッチ及びデータ中継方法に関し、特にノードに障害が発生した場合におけるマルチノードシステム、ノード間スイッチ及びデータ中継方法に関する。
【背景技術】
【0002】
プロセッサと共有メモリを備えて構成される電子計算機(ノード)を、ノード間スイッチを介して複数接続したマルチノードシステムが知られている。マルチノードシステムは、複数のノードを用いて処理の分散を図ることにより、システム全体の性能を向上させる。複数のノードを動作させるマルチノードシステムにおいては、いずれかのノードに障害が発生した場合に、障害処理動作を短時間に解決することが望まれている。
【0003】
マルチノードシステムを構成するノードに障害が発生した場合の一般的な動作について図7〜9を用いて説明する。図7を用いて、ローカルノード、リモートノード及びノード間スイッチを有するマルチノードシステムの構成例について説明する。
【0004】
ローカルノードは、命令処理情報(リクエスト情報)を発行する。また、リモートノードは、ローカルノードにおいて発行された命令処理情報を取得する。さらに、リモートノードは、取得した命令処理情報に基づいて命令処理を実行する。
【0005】
ローカルノード100のコア110は、リクエスト情報を発行する。リクエスト情報は、RCU(ノード間制御装置)120の命令分解部121においてブロックごとに分解される。分解されたブロックは、メモリ130に出力される。命令分解部121においてリクエスト情報の分解が終了すると、ブロック分解数に関する情報が、ブロック分解数保持部123に記憶される。ブロックに分解された命令処理情報はメモリ130からデータをロードしてロードデータとなる。ロードデータは、データ転送部122からブロック単位にノード間スイッチ200へ出力される。ノード間スイッチ200は、取得したロードデータをリモートノード300へ転送する。ロードデータは、リモートノード300のメモリ320に格納される。ロードデータがメモリ320に格納された場合、RCU310は、ロードデータ格納完了報告であるブロックリプライを、ノード間スイッチ200を介してローカルノード100へ出力する。
【0006】
ローカルノード100は、取得したブロックリプライの数をブロックリプライ数カウンタ124においてカウントし、この値とブロック分解数保持部123に保持されている値を、比較部125が比較する。ブロックリプライ数カウンタ124の値と、ブロック分解数保持部123の値とが一致した場合に、終了ステータス生成部126は、終了ステータスを発行する。さらに、終了ステータス生成部126は、終了ステータスをメモリ130へ書き込む。これにより、リクエスト情報に関する処理が終了する。
【0007】
正常処理の場合は上述したような動きをする。また、正常処理におけるローカルノードと、ノード間スイッチと、リモートノードとの間の処理シーケンスを図8に示す。実線を用いて示される矢印は、ブロックであり、破線を用いて示される矢印は、ブロックリプライである。しかし、リモートノード300において障害が発生すると、リモートノード300からローカルノード100に対して、ブロックリプライが全て返信されない。障害発生時の処理シーケンスを図9に示す。そのため、ブロックリプライ数カウンタ124とブロック分解数保持回路123との値が一致せず、終了ステータス生成回路126は、終了ステータスを発行することができない。このような場合に備えて、ローカルノード100は、命令分解部121においてブロック分解が始まった時点からタイマを動作させる。タイマが一定時間以上経過してもリクエスト処理が終了しないと、タイムアウト検出回路16においてタイムアウトを検出し、終了ステータス生成部126は、強制的に終了ステータスを発行し、リクエスト処理を終了させる。
【0008】
このような場合、ローカルノード100は、タイムアウトを検出するまで命令処理情報を終了できない。そのため、障害処理に多大な時間を要し、コア110は、後続の命令情報を処理できなくなる。
【0009】
このような問題に対応するため、特許文献1には、バス障害処理システムが開示されている。特許文献1におけるバス障害処理システムは、システムバスと、入出力制御装置と、これら二つに接続されているバスコントローラとを備えている。バス障害処理システムにおいては、バスコントローラを介してシステムバスから入出力制御装置へ実行する処理の要求が出力される。この時、バスコントローラが入出力制御装置関連の障害を検出すると、バスコントローラは、システムバスに対して処理要求に応答する疑似応答データを出力し、入出力制御装置に障害が発生したことを通知する。これにより、バスシステムは、入出力制御装置に障害が発生したことを早期に検知することができる。
【0010】
特許文献2には、マルチノードシステムにおいて、他のノードにおける障害が通知された場合に、自ノードにおいて当該他ノードに転送するデータを破棄することが開示されている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第2663896号公報
【特許文献2】特開2006−178786号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかし、特許文献1及び2に開示されている技術を用いた場合に、次のような問題が生じる。特許文献1に開示されている技術は、バスコントローラからシステムバスに対して疑似応答データを出力することにより、入出力装置関連の障害を通知する。そのため、システムバスに接続されているプロセッサ等は、入出力装置から正常にデータ転送が行われた際に出力される応答信号と、バスコントローラから出力される疑似応答データとを取得した場合において、取得する信号もしくはデータによって異なる処理を実行する必要がある。このように、異なる処理を動作させる回路を複数設けた場合に、回路規模が増大するという問題が生じる。特許文献2のように、障害通知がなされた場合に、データを破棄する構成においても同様の問題が生じる。
【0013】
本発明は、このような問題を解決するためになされたものであり、回路規模を増大させることなく早期に障害処理を終了させることができるマルチノードシステム、ノード間スイッチ及びデータ中継方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の第1の態様にかかるマルチノードシステムは、命令処理情報を送信する第1のノードと、当該第1のノードにより送信された命令処理情報を第2のノードへ転送するノード間スイッチと、を備え前記第1のノードは、前記命令処理情報を複数のブロックに分解する命令分解部と前記複数のブロックを前記ノード間スイッチへ送信する送信部と、前記命令分解部により分解されたブロックの数と、前記第2のノードから送信される当該複数のブロックに対する応答信号の数とに基づいて当該複数のブロックの送信処理が正常に終了したか否かを判断する判断部とを有し、前記ノード間スイッチは、前記第2のノードにおいて障害が発生した場合に、前記応答信号を前記第2のノードの代わりに生成し、前記第1のノードへ送信するものである。
【0015】
本発明の第2の態様にかかるノード間スイッチは、第1のノードにより送信された命令処理情報を受信して、当該命令処理情報を第2のノードへ転送するデータ送受信部と、前記第2のノードにおいて障害が発生した場合に、前記第1のノードにおいて命令処理情報を分解して生成及び送信された複数のブロックに対する応答信号を、前記第2のノードの代わりに生成する応答信号生成部と、を備えるものである。
【0016】
本発明の第3の態様にかかるデータ中継方法は、第1のノードにより送信された命令処理情報を受信して、当該命令処理情報を第2のノードへ転送するステップと、前記第2のノードにおける障害発生を検知するステップと、前記障害発生を検知した後に、前記第1のノードにおいて命令処理情報を分解して生成されたブロックを受信するステップと、前記ブロックに対する応答信号を、前記第2のノードの代わりに生成するステップと、前記応答信号を前記第1のノードへ送信するステップと、を備えるものである。
【発明の効果】
【0017】
本発明により、回路規模を増大させることなく早期に障害処理を終了させることができるマルチノードシステム、ノード間スイッチ及びデータ中継方法を提供することができる。
【図面の簡単な説明】
【0018】
【図1】実施の形態1にかかるマルチノードシステムの構成図である。
【図2】実施の形態1にかかるマルチノードシステムの詳細な構成図である。
【図3】実施の形態1にかかる障害発生時におけるマルチノードシステムのシーケンス図である。
【図4】実施の形態1にかかる障害発生時におけるノード間スイッチのフローチャートである。
【図5】実施の形態2にかかるマルチノードシステムの詳細な構成図である。
【図6】実施の形態2にかかる障害発生時におけるマルチノードシステムのシーケンス図である。
【図7】障害発生時に、タイムアウト制御を行うマルチノードシステムの構成図である。
【図8】正常時におけるマルチノードシステムのシーケンス図である。
【図9】障害発生時に、タイムアウト制御を行うマルチノードシステムのシーケンス図である。
【発明を実施するための形態】
【0019】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかるマルチノードシステムの構成例について説明する。本実施形態におけるマルチノードシステムは、ノード10と、ノード間スイッチ20と、ノード30とを備えている。
【0020】
はじめに、ノード10の構成例について説明する。ノード10は、命令処理情報を送信するノードである。ノード30は、命令処理情報を受信し、命令処理を実行するノードである。ノード間スイッチ20は、ノード10とノード間スイッチ20との間に配置され、両ノードに接続されている。ここで、本図においては、ノード間スイッチ20に接続されているノードとして、ノード10及び30を示しているが、2以上の複数のノードがノード間スイッチ20に接続されてもよい。命令処理情報は、ノード30において実行される処理内容である。例えば、命令処理情報は、ノード30内においてデータのコピーや、データの演算等の実行を指示する情報である。また、命令処理情報は、ノード30において実行される複数の処理内容を含んでもよい。
【0021】
ノード10は、命令分解部11と、送信部12と、判断部13とを備えている。命令分解部11は、ノード10におけるプロセッサ等から出力された命令処理情報を、複数のブロックに分解する。命令分解部11は、命令処理情報を予め定められたビット数毎にブロックへ分解してもよく、命令処理情報に含まれる処理内容に応じてブロックへ分解されてもよい。命令分解部11は、分解した複数のブロックを送信部12へ出力する。また、命令分解部11は、分解したブロック数に関する情報を判断部13へ出力する。
【0022】
送信部12は、命令分解部11から取得した複数のブロックをブロック単位にノード間スイッチ20へ送信する。ノード間スイッチ20へ送信された複数のブロックは、ノード30へ転送される。ノード30は、ノード間スイッチ20から転送される複数のブロックを正常に受信すると、ノード30は、受信したブロック毎に応答信号をノード10へ出力する。もしくは、ノード30は、一定数のブロックを取得する毎に応答信号をノード10へ出力する。
【0023】
判断部13は、ノード30から出力される応答信号の数をカウントする。さらに、判断部13は、命令分解部11から通知される分解したブロック数に関する情報(以下、分解ブロック数、とする)と、ノード30から出力される応答信号の数(以下、応答信号数、とする)とを比較する。これにより、判断部13は、送信部12から送信した複数のブロックの送信処理が正常に終了したか否かを判断する。例えば、判断部13は、分解ブロック数と応答信号数とが一致した場合に、送信部12から送信した複数のブロックの送信処理が正常に終了したと判断し、一致しない場合には、まだ送信処理の途中であると判断してもよい。もしくは、ノード10が、予め定められた複数のブロック数に対して応答信号を1つ取得する場合には、判断部13は、分解ブロック数と応答信号数とが一致しない場合においても送信処理が正常に終了したと判断することができる。
【0024】
例えば、命令分解部11によって1つの命令処理情報が10ブロックに分解され、5ブロック毎に応答信号を1つ取得する場合について説明する。この場合、命令分解部11は、分解ブロック数を2として判断部13へ通知する。また、ノード30には、5ブロック毎に応答信号を1つ出力することを予め設定しておく。この場合、判断部13は、応答信号数が2である場合に、送信処理が正常に終了したと判断することができる。ここで、命令分解部11は、分解ブロック数を10として判断部13へ通知し、判断部13において、取得すべき応答信号数は2であると変換してもよい。ノード10とノード30との間で共有する必要がある応答信号数の数は、命令分解部11と、ノード30とに予め設定されてもよく、送信部12から出力されるブロックに、応答信号数を設定してノード30へ出力されてもよい。
【0025】
続いて、ノード間スイッチ20の構成例について説明する。ノード間スイッチ20は、応答信号生成部21と、データ送受信部22と、を備えている。ノード30に障害が発生していない場合、データ送受信部22は、送信部12から出力された複数のブロックを、ノード30へ転送する。また、ノード30から送信された応答信号をノード10へ転送する。ノード30に障害が発生した場合、応答信号生成部21は、ノード30から障害情報を受信する。ノード間スイッチ20は、ノード30もしくは各ノードを監視する装置(図示せず)から障害情報を通知されることにより、ノード30における障害の発生を認識してもよい。もしくは、ノード間スイッチ20が定期的にノード30に対してヘルスチェック等の監視を行い、ノード30における障害を検出してもよい。応答信号生成部21は、障害情報を受信した後に、送信部12から送信されたブロックのノード30への転送を停止する。さらに、応答信号生成部21は、取得したブロックに対する応答信号をノード30の代わりに生成する。応答信号生成部21が生成する応答信号は、ノード30が送信部12から出力されるブロックに対して生成する応答信号と同一である。応答信号生成部21は、生成した応答信号を判断部13へ出力する。
【0026】
判断部13は、ノード間スイッチ20から送信された応答信号数と、命令分解部11から通知されたブロック分解数とを比較して、送信処理が正常に終了したか否かを判断する。
【0027】
以上説明したように、図1に係るマルチノードシステムを用いることにより、ノード30に障害が発生した場合においても、ノード10は、ノード間スイッチ20から通知される応答信号数を用いて、送信部12から送信した複数のブロックの送信処理が正常に終了したか否かを判定することができる。よって、ノード30から応答信号が出力されない場合におけるタイマを起動する必要がなく、早期に送信部12における送信処理を終了することができる。送信部12における送信処理の終了を検知することにより、命令分解部11は、保持している命令処理情報の処理を開始することができる。
【0028】
また、ノード10は、ノード30において障害が発生したことに伴い、異なる機能を追加する必要がないため、回路規模の増大を防止することができる。
【0029】
続いて、図2を用いて本発明の実施の形態1にかかるマルチノードシステムの詳細な構成例について説明する。マルチノードシステムは、ローカルノード10_1と、ノード間スイッチ20と、リモートノード30_1と、を備えている。ローカルノード10_1は、図1におけるノード10に対応する。リモートノード30_1は、図1におけるノード30に対応する。
【0030】
はじめに、ローカルノード10_1の構成について説明する。ローカルノード10_1は、命令分解部11と、送信部12と、判断部13と、コア18と、メモリ19と、を備えている。命令分解部11と、送信部12と、判断部13とは、図1において説明したものと同一である。さらに、判断部13は、ブロック分解数保持部14と、比較部15と、ブロックリプライ数カウンタ16と、終了ステータス生成部17と、を備えている。
【0031】
コア18は、CPU、MPU等のプロセッサ等により構成される。コア18は、命令処理情報(リクエスト情報)を命令分解部11へ出力する。命令分解部11は、命令処理情報を複数のブロックに分解する。命令分解部11において分解されたそれぞれのブロックは、メモリ19からデータをロードし、送信部12へ出力される。送信部12は、複数のブロックを、ノード間スイッチ20を介してリモートノード30_1へ出力する。
【0032】
ブロック分解数保持部14は、命令分解部11において分解された分解ブロック数の情報を保持する。比較部15は、ブロック分解数保持部14に保持されている分解ブロック数と、ブロックリプライ数カウンタ16から取得するブロックリプライ数とを比較する。ブロックリプライは、ブロックを取得したリモートノード30_1が、ブロック毎に応答する応答信号である。ブロックリプライ数は、図1において説明した応答信号数に相当する。比較部15は、分解ブロック数とブロックリプライ数とが一致した場合に、送信部12における複数のブロックの送信処理が正常に終了したと判断する。もしくは、コア18から出力された命令処理が、リモートノード30_1において正常に終了したと判断する。比較部15は、分解ブロック数とブロックリプライ数とが一致した場合に、判断結果を終了ステータス生成部17へ出力する。
【0033】
終了ステータス生成部17は、比較部15より、正常に処理が終了した旨の通知を受けた場合に、終了ステータスを発行して、メモリ19へ出力する。これにより、コア18において発行された命令処理が終了する。
【0034】
次に、ノード間スイッチ20の構成例について説明する。ノード間スイッチ20は、データ送受信部22と、疑似ブロックリプライ生成部23とを備えている。疑似ブロックリプライ生成部23は、図1における応答信号生成部21に相当する。
【0035】
データ送受信部22は、送信部12から複数のブロックを受信して、当該複数のブロックをノード30へ転送する。また、データ送受信部22は、リモートノード30_1から、それぞれのブロック毎に送信されるブロックリプライをブロックリプライ数カウンタ16へ転送する。さらに、データ送受信部22は、リモートノード30_1から、リモートノード30_1に障害が発生したことを示す障害情報を受信した場合、障害情報を疑似ブロックリプライ生成部23へ出力する。データ送受信部22は、障害情報を取得した後に送信部12から取得するブロックのリモートノード30_1への転送を停止する。
【0036】
疑似ブロックリプライ生成部23は、データ送受信部22からリモートノード30_1の障害情報を取得すると、疑似ブロックリプライを生成する。疑似ブロックリプライは、障害情報を受信した後に送信部12から受信するブロック毎に生成される。疑似ブロックリプライ生成部23において生成された疑似ブロックリプライは、ブロックリプライ数カウンタ16へ出力される。
【0037】
次に、リモートノード30_1の構成例について説明する。リモートノード30_1は、障害処理検出部31とメモリ32とを備えている。メモリ32は、データ送受信部22から受信したブロックを記録する。メモリ32にブロックが記録されると、ブロック毎にブロックリプライをデータ送受信部22へ出力する。ブロックリプライは、リモートノード30_1が有するプロセッサ等(図示せず)により生成されてもよい。
【0038】
障害処理検出部31は、リモートノード30_1に障害が発生した場合に、障害情報をデータ送受信部22へ出力する。もしくは、リモートノード30_1において発生した障害は、ノード間スイッチ20に各ノードを監視する監視装置が接続されている場合に、当該監視装置によって検出され、データ送受信部22へ出力されてもよい。これにより、リモートノード30_1において、障害情報を出力することができない深刻な障害が発生した場合においても、ノード30の障害を検出することができる。
【0039】
続いて、図3を用いて本発明の実施の形態1にかかる、マルチノードシステム内における処理シーケンスを説明する。図3において、リモートノード30_1に障害が発生した場合の処理シーケンスを説明する。
【0040】
ローカルノード10_1からノード間スイッチ20及びノード間スイッチ20からリモートノード30_1へ出力されている実線の矢印は、ブロックが出力されていることを示す(ブロック1〜6)。リモートノード30_1からノード間スイッチ20及びノード間スイッチ20からローカルノード10_1へ出力されている破線の矢印は、ブロックリプライが出力されていることを示す(リプライ1〜3)。ブロック4〜6に対して、ノード間スイッチ20からローカルノード10_1へ出力されている破線の矢印は、疑似ブロックリプライが出力されていることを示す(疑似ブロックリプライ1〜3)。ブロックリプライ3の後に、リモートノード30_1からノード間スイッチ20へ出力されている実線の矢印は、障害情報が出力されていることを示す。
【0041】
ノード間スイッチ20は、障害情報を取得する前に、ローカルノード10_1から受信したブロック1〜3を、リモートノード30_1へ転送する。さらに、ブロック1〜3に対するブロックリプライ1〜3を、リモートノード30_1から受信し、ローカルノード10_1へ転送する。
【0042】
ノード間スイッチ20は、障害情報を取得した後に、ローカルノード10_1から送信されたブロック4〜6のリモートノード30_1への転送を停止する。さらに、ノード間スイッチ20は、ブロック4〜6に対して、疑似ブロックリプライ1〜3を生成し、ローカルノード10_1へ送信する。
【0043】
続いて、図4を用いて本発明の実施の形態1に係るノード間スイッチ20における疑似ブロックリプライを生成する処理の流れについて説明する。
【0044】
はじめに、データ送受信部22は、送信部12からブロックを取得する。次に、送信部12は、送信部12からブロックを取得する前に、障害報告を受信している場合(S12)、取得したブロックのリモートノード30_1への転送を停止する(S13)。次に、疑似ブロックリプライ生成部23は、障害報告を受信後に取得したブロックに対して、疑似ブロックリプライを生成する(S14)。次に、データ送受信部22は、疑似ブロックリプライ生成部23において生成された疑似ブロックリプライを判断部13へ出力する。
【0045】
以上説明したように、本発明の実施の形態1にかかるマルチノードシステムを用いることにより、リモートノード30_1において障害が発生した場合に、ノード間スイッチ20からローカルノード10_1に対して疑似ブロックリプライを出力する。これにより、ローカルノード10_1は、リモートノード30_1において、正常にブロックが取得されたとして、命令処理を終了することができ、次の命令処理を実行することができる。よって、ローカルノード10_1は、タイマを起動する必要がなく、早期に命令処理を終了することができる。また、ローカルノード10_1は、疑似ブロックリプライを、リモートノード30_1によって生成されたブロックリプライと同様に処理することができる。そのため、ローカルノード10_1に新たな機能追加をする必要がなく、回路の増大も防止することができる。
【0046】
(実施の形態2)
続いて、図5を用いて本発明の実施の形態2にかかるマルチノードシステムの構成例について説明する。本図にかかるマルチノードシステムにおいては、データ送受信部22が、命令分解部11に対して、障害処理検出部31から通知された障害情報を通知する点において図2と異なる。その他の構成については、図2と同様である。
【0047】
データ送受信部22は、障害処理検出部31から障害情報が通知された場合、当該障害情報を命令分解部11へ出力する。命令分解部11は、コア18から出力された命令処理情報をブロックに分解している最中に障害情報を取得した場合、ブロックへの分解を中止する。
【0048】
続いて、図6を用いて本発明の実施の形態2にかかる、マルチノードシステム内における処理シーケンスを説明する。図6において、リモートノード30_1に障害が発生した場合の処理シーケンスを説明する。ブロック1〜3に対してブロックリプライ1〜3が応答される動作は、図3と同様であるため説明を省略する。
【0049】
ノード間スイッチ20は、リモートノード30_1から送信された障害情報をローカルノード10_1へ転送する。ローカルノード10_1の命令分解部11は、障害情報を取得した後は、ブロック分解を中止する。そのため、命令分解部11において、障害情報を受信する前に、すでに分解されているブロック(ブロック5)のみ、ノード間スイッチ20へ送信する。また、ノード間スイッチ20は、障害情報を取得した後に送信されたブロック4及び5に対しては疑似ブロックリプライ1及び2を生成してローカルノード10_1へ出力する。
【0050】
以上説明したように、本発明の実施の形態2にかかるマルチノードシステムを用いることにより、ローカルノードから送信するブロックの数を削減することができる。そのため、リモートノードに障害が発生した場合に、ローカルノードは早期に命令処理を終了することができる。よって、ローカルノードは、蓄積している命令処理情報を迅速に処理することができる。
【0051】
また、ローカルノードは、障害情報を取得することにより、リモートノードに出力した命令処理が正常に終了しなかったことを検知することができる。そのため、ローカルノードは、リモートノードの障害が復旧後、正常に終了しなかった命令処理を再送することもできる。
【0052】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0053】
10 ノード
10_1 ローカルノード
11 命令分解部
12 送信部
13 判断部
14 ブロック分解数保持部
15 比較部
16 ブロックリプライ数カウンタ
17 終了ステータス生成部
18 コア
19 メモリ
20 ノード間スイッチ
21 応答信号生成部
22 データ送受信部
23 疑似ブロックリプライ生成部
30 ノード
30_1 リモートノード
31 障害処理検出部
32 メモリ

【特許請求の範囲】
【請求項1】
命令処理情報を送信する第1のノードと、当該第1のノードにより送信された命令処理情報を第2のノードへ転送するノード間スイッチと、を備え
前記第1のノードは、
前記命令処理情報を複数のブロックに分解する命令分解部と
前記複数のブロックを前記ノード間スイッチへ送信する送信部と、
前記命令分解部により分解されたブロックの数と、前記第2のノードから送信される当該複数のブロックに対する応答信号の数とに基づいて当該複数のブロックの送信処理が正常に終了したか否かを判断する判断部とを有し、
前記ノード間スイッチは、
前記第2のノードにおいて障害が発生した場合に、前記応答信号を前記第2のノードの代わりに生成し、前記第1のノードへ送信するマルチノードシステム。
【請求項2】
前記ノード間スイッチは、
前記第2のノードにおいて障害が発生した場合に、前記第1のノードから受信した前記複数のブロックの前記第2のノードへの転送を停止する、請求項1に記載のマルチノードシステム。
【請求項3】
前記命令分解部は、
前記第2のノードにおいて障害が発生した場合に、前記命令処理情報を複数のブロックへ分解することを中止する、請求項1又は2に記載のマルチノードシステム。
【請求項4】
第1のノードにより送信された命令処理情報を受信して、当該命令処理情報を第2のノードへ転送するデータ送受信部と、
前記第2のノードにおいて障害が発生した場合に、前記第1のノードにおいて命令処理情報を分解して生成及び送信された複数のブロックに対する応答信号を、前記第2のノードの代わりに生成する応答信号生成部と、を備えるノード間スイッチ。
【請求項5】
前記データ送受信部は、
前記第2のノードにおいて障害が発生した場合に、前記第1のノードから受信した前記複数のブロックの前記第2のノードへの転送を停止する、請求項4に記載のノード間スイッチ。
【請求項6】
第1のノードにより送信された命令処理情報を受信して、当該命令処理情報を第2のノードへ転送するステップと、
前記第2のノードにおける障害発生を検知するステップと、
前記障害発生を検知した後に、前記第1のノードにおいて命令処理情報を分解して生成されたブロックを受信するステップと、
前記ブロックに対する応答信号を、前記第2のノードの代わりに生成するステップと、
前記応答信号を前記第1のノードへ送信するステップと、を備えるデータ中継方法。
【請求項7】
前記障害発生を検知した後に、前記ブロックを受信した場合に、当該ブロックの前記第2のノードへの転送を停止する、請求項6に記載のデータ中継方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate