(57)【特許請求の範囲】
【請求項１】
それぞれ少なくとも１個のＣＰＵ及びメモリを有する複数のＣＰＵ・メモリ搭載装置と、複数の入出力制御装置と、それぞれが前記複数のＣＰＵ・メモリ搭載装置のうちの１つ及び前記複数の入出力制御装置のうちの１つと接続され、それぞれが相互に接続された複数の診断制御装置と、前記複数のＣＰＵ・メモリ搭載装置と前記複数の入出力制御装置とを相互に接続するネットワークとを備え、且つ、前記それぞれのＣＰＵ・メモリ搭載装置に、自装置の前記ＣＰＵから発行された入出力命令を自装置に事前に割り当てられた前記入出力制御装置に対して前記ネットワーク経由で送信すると共に前記入出力制御装置からの応答を前記ネットワーク経由で受信する通信手段を備え、前記それぞれの入出力制御装置に、自装置に事前に割り当てられた前記ＣＰＵ・メモリ搭載装置からの入出力命令を前記ネットワーク経由で受信すると共に当該入出力命令の応答を前記ＣＰＵ・メモリ搭載装置に対して前記ネットワーク経由で送信する通信手段を備え、前記ＣＰＵ・メモリ搭載装置の前記通信手段に、自ＣＰＵ・メモリ搭載装置ＩＤ記憶手段と、相手入出力制御装置ＩＤ記憶手段と、自ＣＰＵ・メモリ搭載装置の前記ＣＰＵから発行された入出力命令を通信データとして、前記自ＣＰＵ・メモリ搭載装置ＩＤ記憶手段および前記相手入出力制御装置ＩＤ記憶手段に記憶されたＩＤを送付元ＩＤおよび送付先ＩＤとしてそれぞれ含み、ネットワークコマンドが付加された通信メッセージを作成する第１変換部と、前記ネットワークから受信した通信メッセージから前記入出力命令の応答である通信データを抽出する第２変換部とを備え、前記入出力制御装置の前記通信手段に、自入出力制御装置ＩＤ記憶手段と、相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段と、前記ネットワークから受信した通信メッセージから前記入出力命令を抽出する第３変換部と、前記抽出された前記入出力命令の応答を通信データとして、前記自入出力制御装置ＩＤ記憶手段および前記相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段に記憶されたＩＤを送付元ＩＤおよび送付先ＩＤとしてそれぞれ含み、ネットワークコマンドが付加された通信メッセージを作成する第４変換部とを備え、前記ネットワークは、前記ＣＰＵ・メモリ搭載装置および前記入出力制御装置との接続点から入力された通信メッセージを、該通信メッセージ中の送付先ＩＤで定まる他の接続点に接続された前記ＣＰＵ・メモリ搭載装置および前記入出力制御装置に届けるものであり、前記診断制御装置は、前記ＣＰＵ・メモリ搭載装置が障害により動作不能になったことを検出した場合、前記動作不能になった前記ＣＰＵ・メモリ搭載装置が使用していた前記入出力制御装置に、前記動作不能になった前記ＣＰＵ・メモリ搭載装置に対する他の正常なＣＰＵ・メモリ搭載装置を事前に設定されていた情報に基づいて割り当て、前記他の正常なＣＰＵ・メモリ搭載装置の前記相手入出力制御装置ＩＤ記憶手段に前記動作不能になった前記ＣＰＵ・メモリ搭載装置が使用していた前記入出力制御装置のＩＤを設定し、前記動作不能になった前記ＣＰＵ・メモリ搭載装置が使用していた前記入出力制御装置の前記相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段に前記他の正常なＣＰＵ・メモリ搭載装置のＩＤを設定することを特徴とする計算機システム。
【請求項２】
前記ＣＰＵ・メモリ搭載装置の前記通信手段に、それぞれ前記自ＣＰＵ・メモリ搭載装置ＩＤ記憶手段、前記相手入出力制御装置ＩＤ記憶手段、前記第１変換部および前記第２変換部を含む複数の変換部と、該複数の変換部で作成された通信メッセージを順次に選択して前記ネットワークに送出する選択部と、前記ネットワークから受信した通信メッセージを該通信メッセージ中の送付先ＩＤに基づいて前記複数の変換部の何れかに振り分ける振分部とを備えることを特徴とする請求項１記載の計算機システム。
【請求項３】
前記入出力制御装置の前記通信手段における前記第３変換部は、前記ネットワーク経由で受信した通信メッセージ中の送付元ＩＤが前記相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段に記憶されたＩＤと一致する場合に限って当該通信メッセージを有効なものとして受信するものである請求項１または２記載の計算機システム。
【請求項４】
前記ＣＰＵ・メモリ搭載装置の前記通信手段における前記第２変換部は、前記ネットワーク経由で受信した通信メッセージ中の送付元ＩＤが前記相手入出力制御装置ＩＤ記憶手段に記憶されたＩＤと一致する場合に限って当該通信メッセージを有効なものとして受信するものである請求項１、２または３記載の計算機システム。
【請求項５】
前記ネットワークを前記複数のＣＰＵ・メモリ搭載装置間の通信にも使用する構成を有する請求項１または２記載の計算機システム。
【請求項６】
前記ＣＰＵ・メモリ搭載装置の前記通信手段は、前記ネットワーク経由で他のＣＰＵ・メモリ搭載装置と通信する手段を備えた請求項５記載の計算機システム。
【請求項７】
前記複数のＣＰＵ・メモリ搭載装置間の通信は、他のＣＰＵ・メモリ搭載装置に搭載されたメモリのメモリアクセスにかかる通信である請求項６記載の計算機システム。
【請求項８】
前記他の正常なＣＰＵ・メモリ搭載装置として、他の入出力制御装置を使って処理を行っている現用系のＣＰＵ・メモリ搭載装置を使用する請求項１乃至７の何れか１項に記載の計算機システム。
【請求項９】
予備のＣＰＵ・メモリ搭載装置を少なくとも１台備え、前記他の正常なＣＰＵ・メモリ搭載装置として、前記予備のＣＰＵ・メモリ搭載装置を使用する請求項１乃至７の何れか１項に記載の計算機システム。
【請求項１０】
予備の入出力制御装置を少なくとも１台備え、且つ、現用の前記複数の入出力制御装置の何れかが障害により動作不能になったとき、動作不能になった前記入出力制御装置を使用していた前記ＣＰＵ・メモリ搭載装置に前記予備の入出力制御装置を割り当ててシステムの運用を継続させる制御を行う手段を備えた請求項１乃至７の何れか１項に記載の計算機システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システム及び計算機システムを構成するＣＰＵ・メモリ搭載装置並びに入出力制御装置に関する。
【０００２】
【従来の技術】
従来の計算機システムの一例を図１３に示す。同図に示す計算機システム１００１では、ＣＰＵバス１００２によって相互に接続された４台のＣＰＵ１００３及び制御回路１００４と、この制御回路１００４にメモリ信号線１０１１を通じて接続されたメモリ１００５、及び入出力信号線１０１２を通じて接続された２台の入出力制御回路１００６とが１つのボード１０１３上に搭載されており、入出力制御回路１００６に、ＰＣＩ等の標準入出力バス１００７及び周辺機器制御機能を有する入出力カード１００８を介して周辺機器１００９が接続されている。また、診断制御回路（ＳＰ；サービスプロセッサ）１０１０があり、制御回路１００４及び入出力制御回路１００６の故障診断や各部の初期設定等がこの診断制御回路１０１０によって実行されるようになっている。
【０００３】
メモリ１００５には、オペレーティングシステム（ＯＳ）やその他の各種のアプリケーションプログラムが記憶されており、４台のＣＰＵ１００３は１つのＯＳの制御の下でアプリケーションプログラムを実行することにより、所定の業務処理を遂行する。メモリ１００５には、また、処理対象となる各種のデータが記憶される。制御回路１００４は、ＣＰＵ１００３とメモリ１００５及び入出力制御回路１００６との間にあって、ＣＰＵ１００３から出される入出力命令やメモリアクセス命令を入出力制御回路１００６やメモリ１００５に伝達する機能や、それらの応答をＣＰＵ１００３に伝達する機能などを有する。入出力制御回路１００６は、制御回路１００４を通じてＣＰＵ１００３から送られてきた入出力命令に基づいて、その配下の標準入出力バス１００７及び入出力カード１００８を通じて周辺機器１００９を制御し、その入出力命令の処理結果である応答データを制御回路１００４を通じてＣＰＵ１００３に返却する機能などを持つ。
【０００４】
他方、最近の計算機システムは、主にシステム全体の可用性を向上させるために、複数の計算機システムをネットワークで接続したクラスタ構成が一般的になってきている。このようなクラスタ構成を採用した従来の計算機システムの構成例を図１４に示す。図１４に示したクラスタ計算機は、図１３で説明した従来の計算機システム１００１を３台、ネットワーク１０２０によって相互に接続したものである。この例では、それぞれの計算機システム１００１におけるネットワーク接続用の入出力カード１０２１を使ってネットワーク接続しているが、それぞれの計算機システム１００１の制御回路１００４の部分でネットワーク接続する構成もある。
【０００５】
このようなクラスタ計算機では、それぞれの計算機システム１００１は自システム専用のＯＳの制御の下に１つの計算機として独立して動作し、また、ネットワーク１０２０を通じて計算機システム１００１間で通信を行うことができる。このため、異なるジョブを別々の計算機システム１００１で実行させたり、１つのジョブを並列プログラムとして同時に複数の計算機システム１００１で実行させるなど、多様なジョブ処理形態を取ることができる。また、何れかの計算機システム１００１がダウンしても、残りの正常な計算機システム１００１で運用を継続することができる利点がある。
【０００６】
【発明が解決しようとする課題】
従来の計算機システムが抱える問題点は、計算機システム１００１を構成するＣＰＵ１００３やメモリ１００５に障害が発生して使用不可能になると、その計算機システム１００１内の入出力制御回路１００６に障害がなく正常であっても、その正常な入出力制御回路１００６及びその配下の周辺機器１００９も利用できなくなることである。その理由は、従来の計算機システム１００１では、入出力制御回路１００６はそれに制御回路１００４を介して直結されたＣＰＵ１００３からしか制御することができないためである。また、ＣＰＵ１００３とそれが発行する入出力命令を遂行する入出力制御回路１００６とが同じボード１０１３上に組み付けられており、このボード１０１３が保守交換の最小単位になるからである。
【０００７】
そこで本発明の目的は、計算機システムにおける障害時の可用性をより一層高めることにある。
【０００８】
他方、１台の装置に直結されていた周辺装置などを共用化するためにネットワーク接続する考えは、特開２０００−１４１８３１号公報、特開２０００−１７２４６３号公報、特開２０００−２９３３４１号公報など多数の文献に記載されている。しかしながら、ＣＰＵとそれが専用に使用する入出力制御回路とをネットワーク接続した文献は見当たらない。その理由は、一般にネットワーク接続は共用化が目的であるため、ＣＰＵとそれが専用に使用する入出力制御回路とをネットワーク接続しても意味がないと考えられていたことによる。また、入出力制御回路をネットワーク接続すると、オペレーティングシステムの改造が必要になると考えられていたことも、理由の一つである。
【０００９】
そこで本発明の別の目的は、オペレーティングシステムの改造無しにＣＰＵとそれが専用に使用する入出力制御装置とをネットワーク接続し得るようにすることにある。
【００１０】
更に、ネットワーク接続したときの問題として、ネットワーク上のどこからも基本的にアクセス可能であるため予期せぬ相手からの誤ったアクセスによって誤動作する危険性がある。
【００１１】
そこで本発明の更に別の目的は、事前に設定した相手以外からのアクセスをオペレーティングシステムの改造無しに禁止することによって、ネットワーク接続に伴う危険性を除去することにある。
【００１２】
本発明のその他の目的は、以下に述べる本発明の実施の形態の説明によって明らかになるであろう。
【００１３】
【課題を解決するための手段】
本発明を適用したクラスタ型の計算機システムは、それぞれ少なくとも１個のＣＰＵ及びメモリを有する複数のＣＰＵ・メモリ搭載装置と複数の入出力制御装置とがネットワークで相互に接続されている。より具体的には、本発明の第１の計算機システムは、それぞれ少なくとも１個のＣＰＵ及びメモリを有する複数のＣＰＵ・メモリ搭載装置と、複数の入出力制御装置と、それぞれが前記複数のＣＰＵ・メモリ搭載装置のうちの１つ及び前記複数の入出力制御装置のうちの１つと接続され、それぞれが相互に接続された複数の診断制御装置と、前記複数のＣＰＵ・メモリ搭載装置と前記複数の入出力制御装置とを相互に接続するネットワークとを備え、且つ、前記それぞれのＣＰＵ・メモリ搭載装置に、自装置の前記ＣＰＵから発行された入出力命令を自装置に事前に割り当てられた前記入出力制御装置に対して前記ネットワーク経由で送信すると共に前記入出力制御装置からの応答を前記ネットワーク経由で受信する通信手段を備え、前記それぞれの入出力制御装置に、自装置に事前に割り当てられた前記ＣＰＵ・メモリ搭載装置からの入出力命令を前記ネットワーク経由で受信すると共に当該入出力命令の応答を前記ＣＰＵ・メモリ搭載装置に対して前記ネットワーク経由で送信する通信手段を備え、前記ＣＰＵ・メモリ搭載装置の前記通信手段に、自ＣＰＵ・メモリ搭載装置ＩＤ記憶手段と、相手入出力制御装置ＩＤ記憶手段と、自ＣＰＵ・メモリ搭載装置の前記ＣＰＵから発行された入出力命令を通信データとして、前記自ＣＰＵ・メモリ搭載装置ＩＤ記憶手段および前記相手入出力制御装置ＩＤ記憶手段に記憶されたＩＤを送付元ＩＤおよび送付先ＩＤとしてそれぞれ含み、ネットワークコマンドが付加された通信メッセージを作成する第１変換部と、前記ネットワークから受信した通信メッセージから前記入出力命令の応答である通信データを抽出する第２変換部とを備え、前記入出力制御装置の前記通信手段に、自入出力制御装置ＩＤ記憶手段と、相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段と、前記ネットワークから受信した通信メッセージから前記入出力命令を抽出する第３変換部と、前記抽出された前記入出力命令の応答を通信データとして、前記自入出力制御装置ＩＤ記憶手段および前記相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段に記憶されたＩＤを送付元ＩＤおよび送付先ＩＤとしてそれぞれ含み、ネットワークコマンドが付加された通信メッセージを作成する第４変換部とを備え、前記ネットワークは、前記ＣＰＵ・メモリ搭載装置および前記入出力制御装置との接続点から入力された通信メッセージを、該通信メッセージ中の送付先ＩＤで定まる他の接続点に接続された前記ＣＰＵ・メモリ搭載装置および前記入出力制御装置に届けるものであり、前記診断制御装置は、前記ＣＰＵ・メモリ搭載装置が障害により動作不能になったことを検出した場合、前記動作不能になった前記ＣＰＵ・メモリ搭載装置が使用していた前記入出力制御装置に、前記動作不能になった前記ＣＰＵ・メモリ搭載装置に対する他の正常なＣＰＵ・メモリ搭載装置を事前に設定されていた情報に基づいて割り当て、前記他の正常なＣＰＵ・メモリ搭載装置の前記相手入出力制御装置ＩＤ記憶手段に前記動作不能になった前記ＣＰＵ・メモリ搭載装置が使用していた前記入出力制御装置のＩＤを設定し、前記動作不能になった前記ＣＰＵ・メモリ搭載装置が使用していた前記入出力制御装置の前記相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段に前記他の正常なＣＰＵ・メモリ搭載装置のＩＤを設定することを特徴とする。
また、本発明の第２の計算機システムは、第１の計算機システムにおいて、前記ＣＰＵ・メモリ搭載装置の前記通信手段に、それぞれ前記自ＣＰＵ・メモリ搭載装置ＩＤ記憶手段、前記相手入出力制御装置ＩＤ記憶手段、前記第１変換部および前記第２変換部を含む複数の変換部と、該複数の変換部で作成された通信メッセージを順次に選択して前記ネットワークに送出する選択部と、前記ネットワークから受信した通信メッセージを該通信メッセージ中の送付先ＩＤに基づいて前記複数の変換部の何れかに振り分ける振分部とを備えることを特徴とする。
【００１４】
また、本発明の第３の計算機システムは、第１または第２の計算機システムにおいて、前記入出力制御装置の前記通信手段における前記第３変換部は、前記ネットワーク経由で受信した通信メッセージ中の送付元ＩＤが前記相手ＣＰＵ・メモリ搭載装置ＩＤ記憶手段に記憶されたＩＤと一致する場合に限って当該通信メッセージを有効なものとして受信するものであることを特徴とする。
【００１５】
また、本発明の第４の計算機システムは、第１、第２または第３の計算機システムにおいて、前記ＣＰＵ・メモリ搭載装置の前記通信手段における前記第２変換部は、前記ネットワーク経由で受信した通信メッセージ中の送付元ＩＤが前記相手入出力制御装置ＩＤ記憶手段に記憶されたＩＤと一致する場合に限って当該通信メッセージを有効なものとして受信するものであることを特徴とする。
【００１６】
また、本発明の第５の計算機システムは、第１または第２の計算機システムにおいて、前記ネットワークを前記複数のＣＰＵ・メモリ搭載装置間の通信にも使用する構成を有する。
【００１７】
また、本発明の第６の計算機システムは、第５の計算機システムにおいて、前記ＣＰＵ・メモリ搭載装置の前記通信手段は、前記ネットワーク経由で他のＣＰＵ・メモリ搭載装置と通信する手段を備える。
【００１８】
また、本発明の第７の計算機システムは、第６の計算機システムにおいて、前記複数のＣＰＵ・メモリ搭載装置間の通信は、他のＣＰＵ・メモリ搭載装置に搭載されたメモリのメモリアクセスにかかる通信としている。
【００２０】
また、本発明の第８の計算機システムは、第１乃至第７の計算機システムにおいて、前記他の正常なＣＰＵ・メモリ搭載装置として、他の入出力制御装置を使って処理を行っている現用系のＣＰＵ・メモリ搭載装置を使用する。
【００２１】
また、本発明の第９の計算機システムは、第１乃至第７の計算機システムにおいて、予備のＣＰＵ・メモリ搭載装置を少なくとも１台備え、前記他の正常なＣＰＵ・メモリ搭載装置として、前記予備のＣＰＵ・メモリ搭載装置を使用する。
【００２２】
また、本発明の第１０の計算機システムは、第１乃至第７の計算機システムにおいて、予備の入出力制御装置を少なくとも１台備え、且つ、現用の前記複数の入出力制御装置の何れかが障害により動作不能になったとき、動作不能になった前記入出力制御装置を使用していた前記ＣＰＵ・メモリ搭載装置に前記予備の入出力制御装置を割り当ててシステムの運用を継続させる制御を行う手段を備える。
【００２８】
【作用】
本発明を適用したクラスタ型の計算機システムにあっては、システムの立ち上げ時、ＣＰＵ・メモリ搭載装置の通信手段に当該ＣＰＵ・メモリ搭載装置で使用する入出力制御装置の宛先情報を設定し、他方、その入出力制御装置の通信手段には当該入出力制御装置を使用するＣＰＵ・メモリ搭載装置の宛先情報を設定しておく。システムの運用が開始され、ＣＰＵ・メモリ搭載装置上のＣＰＵから入出力命令が発行されると、それが通信手段に渡され、通信手段がシステム立ち上げ時に設定された宛先情報に従ってその入出力命令をネットワーク経由で該当する入出力制御装置へ送信し、入出力制御装置ではこの入出力命令を通信手段で受信してそれに基づいて周辺機器を制御する。そして、当該入出力命令の応答を入出力制御装置の通信手段がシステム立ち上げ時に設定された宛先情報に従ってネットワーク経由で該当するＣＰＵ・メモリ搭載装置に送信し、ＣＰＵ・メモリ搭載装置ではこの応答を通信手段で受信し、ＣＰＵに伝達する。
【００２９】
このようにＣＰＵ・メモリ搭載装置においては、通信手段がＣＰＵから発行された入出力命令の所定の宛先への送信とその応答の受信を担っているため、ＣＰＵは入出力命令の発行やその応答の受け取りに関して従来と何ら変わるところがなく、入出力制御装置があたかも直結されているかのように見える。従って、オペレーティングシステムに手を一切加える必要がない。そして、或る入出力制御装置を現に使用していたＣＰＵ・メモリ搭載装置に障害が起きて使用不能になった場合、診断制御回路等によって、当該入出力制御装置の通信手段における宛先情報を他の正常なＣＰＵ・メモリ搭載装置に変更すると共に、その正常なＣＰＵ・メモリ搭載装置の通信手段に当該入出力制御装置の宛先情報を設定することにより、その正常なＣＰＵ・メモリ搭載装置から当該入出力制御装置を利用することが可能となり、システムの可用性をより一層向上させることができる。また、予備の入出力制御装置を用意しておけば、何れかの入出力制御装置に障害が発生して使用不能になったとき、それを使用していたＣＰＵ・メモリ搭載装置に前記予備の入出力制御装置を割り当てることで、当該ＣＰＵ・メモリ搭載装置における入出力処理を伴う業務の継続が可能になる。
【００３０】
【発明の実施の形態】
次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【００３１】
図１は本発明を適用した計算機システムで使用されるＣＰＵ・メモリ搭載装置の一例を示すブロック図である。この例のＣＰＵ・メモリ搭載装置１０１は、ＣＰＵバス１０２によって相互に接続された４台のＣＰＵ１０３及び制御回路１０４と、この制御回路１０４にメモリ信号線１０５を通じて接続されたメモリ１０６と、制御回路１０４に２組の入出力信号線１０７、１０８を通じて接続された通信回路１０９と、この通信回路１０９に接続された通信ケーブル接続用の接続具（例えばコネクタ）１１０とが、１つのボード上に実装されている。使用時には、接続具１１０に通信ケーブル１１１が接続される。入出力信号線が１０７と１０８の２組設けられているのは、このＣＰＵ・メモリ搭載装置１０１が図１３の従来の計算機システム１００１と同じく２つの入出力制御回路を制御できるようになっているためである。入出力信号線１０７が入出力ポート０、入出力信号線１０８が入出力ポート１に対応する。
【００３２】
メモリ１０６は、例えばＲＯＭ及びＲＡＭで構成され、オペレーティングシステム（ＯＳ）やその他各種のアプリケーションプログラム及び処理対象となる各種データを記憶する。４台のＣＰＵ１０３は、メモリ１０６に記憶されたＯＳの制御の下にアプリケーションプログラムを実行することにより、所定の業務処理を遂行する。入出力命令を発行する際の動作及びメモリアクセスを行う際の動作は従来の計算機システムと全く同じであり、入出力命令及びメモリアクセス命令をＣＰＵバス１０２上に出力する。入出力命令の場合、その入出力ポートを指定する。
【００３３】
制御回路１０４は、ＣＰＵ１０３とメモリ１０６及び通信回路１０９との間の命令やデータの授受を中継する制御を行う。本例の場合、制御回路１０４は、ＣＰＵ１０３からＣＰＵバス１０２に入出力命令が発行されると、それを取り込んで２本ある入出力信号線１０７、１０８のうち、指定された入出力ポートの入出力信号線を通じて通信回路１０９へ伝達する。また、通信回路１０９から入出力信号線１０７、１０８を通じて入出力命令に対する応答を受信すると、それをＣＰＵバス１０２を通じてＣＰＵ１０３に伝達する。他方、ＣＰＵ１０３からＣＰＵバス１０２にメモリアクセス命令が発行されると、それを取り込んでメモリ信号線１０５を通じてメモリ１０６に渡し、メモリに対するリード、ライトの動作を行わせる。リードデータ等のメモリアクセス命令に対する応答がメモリ１０６からメモリ信号線１０５を通じて送られてくると、それをＣＰＵバス１０２を通じてＣＰＵ１０３に返却する。
【００３４】
入出力信号線１０７、１０８の先には、図１３に示した従来の計算機システム１００１では入出力制御回路１００６が接続されていたが、本例ではそれに代えて通信回路１０９が接続されている。この通信回路１０９には事前に送信先の宛先情報が設定されており、入出力信号線１０７、１０８から入出力命令を受信すると、この入出力命令に宛先情報を付加した通信メッセージを接続具１１０に接続された通信ケーブル１１１に出力する機能と、この出力した入出力命令に対する応答を含む通信メッセージを通信ケーブル１１１から受信すると、通信メッセージ中の応答を取り出して入出力信号線１０７、１０８に出力する機能とを備えている。
【００３５】
図２に通信回路１０９で行われる変換処理の概要を示す。一般にＣＰＵ１０３が発行する入出力命令、従って入出力信号線１０７、１０８を通じて制御回路１０４から通信回路１０９へ渡される入出力命令は、図２の符号１２１に示すように、入出力命令の種別等を示すＩ／Ｏコマンド１２２とそれに付随するデータ１２３とから構成される。データ１２３は一般的に出力データであり、従って入力命令のようにデータ１２３が付随しない場合もある。通信回路１０９は、このような入出力命令１２１を受けると、図２の符号１３１に示すように、Ｉ／Ｏコマンド１２２及びデータ１２３をそのままそっくり通信データ１３２として含み、それにネットワークコマンド１３３、送付先ＩＤ１３４及び送付元ＩＤ１３５を付加した通信メッセージに変換して通信ケーブル１１１に出力する。送付先ＩＤ１３４及び送付元ＩＤ１３５にはそれぞれ事前に設定されたＩＤが設定される。ＩＤは、上位数ビットがノード番号を示し、残りの下位数ビットがノード内番号を示す。ネットワークコマンド１３３にはメッセージ長等の情報が設定されるが、具体的な中身は使用する通信方式に依存する。
【００３６】
他方、通信ケーブル１１１から受信する通信メッセージは、図２の符号１４１に示すようにネットワークコマンド１４３、送付先ＩＤ１４４、送付元ＩＤ１４５及び通信データ１４２から構成され、形式的には通信メッセージ１３１と同じであるが、通信データ１４２の部分には、先に発行した入出力命令の応答が含まれている。通信回路１０９では、通信メッセージ１４１を受信すると、その中の通信データ１４２を抽出して図２の符号１５１に示すような形式の応答に変換して入出力信号線１０７、１０８に出力する。応答１５１は、通信データ１４２に含まれていた応答コマンド１５２及びそれに付随するデータ１５３から構成される。
【００３７】
以上のような機能を持つ通信回路１０９の構成例を図３に示す。この例の通信回路１０９は、図２で説明したような変換処理を行うポート０用の変換部１６１及びポート１用の変換部１６２と、それぞれの変換部１６１、１６２で作成された通信メッセージを順次に選択して通信ケーブル１１１に出力する選択部１６３と、通信ケーブル１１１から通信メッセージを受信し、その送付先ＩＤ１４４に基づいてポート０用の変換部１６１、ポート１用の変換部１６２に通信メッセージを振り分ける振分部１６４と、ポート０用の変換部１６１に振り分ける通信メッセージが持つべき送付先ＩＤ１４４の値及びポート１用の変換部１６２に振り分ける通信メッセージが持つべき送付先ＩＤ１４４の値を振分部１６４に提供する振分情報レジスタ１６５とを備えている。
【００３８】
また、ポート０用の変換部１６１は、通信相手を一意に識別するためのＩＤを保持する相手ＩＤレジスタ１７１と、通信の送り主を一意に識別するためのＩＤを保持する自ＩＤレジスタ１７２と、入出力信号線１０７から図２に示した入出力命令１２１を受信したとき、通信データ１３２に入出力命令１２１を、送付先ＩＤ１３４に相手ＩＤレジスタ１７１の設定値を、送付元ＩＤ１３５に自ＩＤレジスタ１７２の設定値をそれぞれ設定し、更にネットワークコマンド１３３を付加した通信メッセージ１３１を作成して、選択部１６３に出力するＩ／Ｏ→Ｎ変換部１７３と、その逆に、振分部１６４から図２に示した通信メッセージ１４１を受信したとき、それに含まれる通信データ１４２を抽出し、応答１５１として入出力信号線１０７に出力するＮ→Ｉ／Ｏ変換部１７４とを備えている。
【００３９】
相手ＩＤレジスタ１７１には、当該ＣＰＵ・メモリ搭載装置１０１が使用する入出力制御装置を一意に識別するノード番号とその入出力制御装置における入出力制御回路を一意に識別するノード内番号とがそれぞれ上位数ビット、下位数ビットに設定され、自ＩＤレジスタ１７２には、当該ＣＰＵ・メモリ搭載装置１０１を一意に識別するノード番号と当該ＣＰＵ・メモリ搭載装置１０１における入出力ポート０を一意に識別するノード内番号とがそれぞれ上位数ビット、下位数ビットに設定される。
【００４０】
また、本例のＮ→Ｉ／Ｏ変換部１７４は、通信メッセージ１４１中の送付元ＩＤ１４５と相手ＩＤレジスタ１７１の設定値とを比較し、一致しなければ変換処理を実施せず、従って応答１５１を入出力信号線１０７に出力しない機能を有している。これは、図１３で説明した従来の計算機システム１００１と異なり、本例のＣＰＵ・メモリ搭載装置１０１は、後述するようにネットワークに接続された全ての入出力制御装置と基本的には通信可能であるが、実際のシステム運用においては、ＣＰＵ・メモリ搭載装置１０１は事前に設定された入出力制御装置だけを使用する必要がある。従って、事前に設定された入出力制御装置以外の入出力制御装置から誤って応答が送られてきた際には、エラーとしてそれをＣＰＵに伝達しない機構が必要である。Ｎ→Ｉ／Ｏ変換部１７４に設けられた上記のチェック機構はこのような役割を持つ。
【００４１】
ポート１用の変換部１６２も、ポート０用の変換部１６１と同様な構成要素１８１〜１８４で構成されている。
【００４２】
図４は本発明を適用した計算機システムで使用される入出力制御装置の一例を示すブロック図である。この例の入出力制御装置２０１は、１台の入出力制御回路２０２と、この入出力制御回路２０２にＰＣＩ等の標準入出力バス２０３を介して接続された周辺機器制御機能を有する複数の入出力カード２０４と、入出力制御回路２０２に入出力信号線２０５を通じて接続された通信回路２０６と、この通信回路２０６に接続された通信ケーブル接続用の接続具（例えばコネクタ）２０７とが、１つのボード上に実装されている。使用時には、接続具２０７に通信ケーブル２１１が接続される。また、入出力カード２０４にはそのカード種別に応じた周辺機器２１２が接続される。
【００４３】
入出力制御回路２０２は、入出力信号線２０５から受信した入出力命令に基づいて、その配下の標準入出力バス２０３及び入出力カード２０４を通じて周辺機器２１２を制御し、その入出力命令の処理結果である応答を入出力信号線２０５に出力する機能を持ち、その構成と動作は図１３に示した入出力制御回路１００６と何ら変わるところがない。但し、入出力信号線２０５の先には図１３に示した従来の計算機システム１００１では制御回路１００４が接続されていたが、本例では、その部分に通信回路２０６が設けられている。
【００４４】
通信回路２０６は、通信ケーブル２１１から通信メッセージを受信すると、通信メッセージ中の入出力命令を取り出して入出力信号線２０５に出力する機能と、入出力信号線２０５から入出力命令の応答を受信すると、その応答に事前に設定された宛先情報を付加した通信メッセージを通信ケーブル２１１に出力する機能とを備えている。この通信回路２０６で行われる変換処理の概要を先の図２を参照して説明する。
【００４５】
通信ケーブル２１１から受信する通信メッセージは、図２の符号１３１に示した形式となる。通信回路２０６は、この通信メッセージ１３１を受信すると、通信データ１３２を抽出して図２の符号１２１に示したＩ／Ｏコマンド１２２及びそれに付随するデータ１２３から構成される入出力命令１２１を生成し、それを入出力信号線２０５を通じて入出力制御回路２０２へ出力する。他方、入出力信号線２０５を通じて入出力制御回路２０２から出力される応答は、図２の符号１５１に示したような形式となる。通信回路２０６は、この応答１５１を受信すると、図２の符号１４１に示すように、応答コマンド１５２及びデータ１５３をそのままそっくり通信データ１４２として含み、それにネットワークコマンド１４３、送付先ＩＤ１４４及び送付元ＩＤ１４５を付加した通信メッセージ１４１に変換して通信ケーブル２１１に出力する。送付先ＩＤ１４４及び送付元ＩＤ１４５にはそれぞれ事前に設定されたＩＤが設定される。ネットワークコマンド１４３にはメッセージ長等の情報が設定されるが、具体的な中身は使用する通信方式に依存する。
【００４６】
以上のような機能を持つ通信回路２０６は、図３に示したＣＰＵ・メモリ搭載装置側の通信回路１０９と同様に構成できる。この場合、本例の入出力制御装置２０１は入出力制御回路２０２を１台しか有していないので、図３の変換部１６１、１６２に相当する部分が１つだけ有れば足りる。その構成例を図５に示す。この例の通信回路２０６は、通信相手を一意に識別するためのＩＤを保持する相手ＩＤレジスタ２２１と、通信の送り主を一意に識別するためのＩＤを保持する自ＩＤレジスタ２２２と、通信ケーブル２１１から図２に示した通信メッセージ１３１を受信したとき、それに含まれる通信データ１３２を抽出し、入出力命令１２１として入出力信号線２０５に出力するＮ→Ｉ／Ｏ変換部２２３と、その逆に、入出力信号線２０５から図２に示した応答１５１を受信したとき、通信データ１４２に応答１５１を、送付先ＩＤ１４４に相手ＩＤレジスタ２２１の設定値を、送付元ＩＤ１４５に自ＩＤレジスタ２２２の設定値をそれぞれ設定し、更にネットワークコマンド１４３を付加した通信メッセージ１４１を作成して、通信ケーブル２１１に出力するＩ／Ｏ→Ｎ変換部２２４とを備えている。
【００４７】
相手ＩＤレジスタ２２１には、当該入出力制御装置２０１を使用するＣＰＵ・メモリ搭載装置を一意に識別するノード番号とそのＣＰＵ・メモリ搭載装置におけるノード内番号とがそれぞれ上位数ビット、下位数ビットに設定され、自ＩＤレジスタ２２２には、当該入出力制御装置２０１を一意に識別するノード番号と当該入出力制御装置２０１における入出力制御回路２０２を一意に識別するノード内番号とがそれぞれ上位数ビット、下位数ビットに設定される。
【００４８】
また、本例のＮ→Ｉ／Ｏ変換部２２３は、通信メッセージ１３１中の送付元ＩＤ１３５と相手ＩＤレジスタ２２１の設定値とを比較し、一致しなければ変換処理を実施せず、従って入出力命令１２１を入出力信号線２０５に出力しない機能を有している。これは、図１３で説明した従来の計算機システム１００１と異なり、本例の入出力制御装置２０１は、後述するようにネットワークに接続された全てのＣＰＵ・メモリ搭載装置と基本的には通信可能であるが、実際のシステム運用においては、入出力制御装置２０１は事前に設定されたＣＰＵ・メモリ搭載装置だけで使用される必要がある。従って、事前に設定されたＣＰＵ・メモリ搭載装置以外のＣＰＵ・メモリ搭載装置から入出力命令を含む通信メッセージが誤って送られてきた際には、エラーとしてそれを入出力制御回路２０２に伝達しない機構が必要である。Ｎ→Ｉ／Ｏ変換部２２３に設けられた上記のチェック機構はこのような役割を持つ。
【００４９】
図６は本発明を適用した計算機システムの一例を示すブロック図である。この例の計算機システムは、図１に示したＣＰＵ・メモリ搭載装置１０１及び図４に示した入出力制御装置２０１をそれぞれ３台使用して、クラスタ型の計算機システムを実現している。図６では、それぞれのＣＰＵ・メモリ搭載装置、入出力制御装置を区別するために枝番を用いて、１０１−１〜１０１−３、２０１−１〜２０１−３の符号を付けてある。
【００５０】
各ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３は、通信ケーブル１１１によってネットワーク３０１の接続点３０２〜３０４に接続され、各入出力制御装置２０１−１〜２０１−３は、通信ケーブル２１１によってネットワーク３０１の接続点３０５〜３０７に接続されている。ネットワーク３０１には、各接続点３０２〜３０７の宛先情報として、その接続点に接続されているＣＰＵ・メモリ搭載装置１０１−１〜１０１−３及び入出力制御装置２０１−１〜２０１−３のノード番号が事前に設定されており、各接続点３０２〜３０７から流入する図２の通信メッセージ１３１、１４１をその送付先ＩＤ１３４、１４４中のノード番号と同じノード番号を持つ接続点に接続されたノード（ＣＰＵ・メモリ搭載装置、入出力制御装置）に届ける。このようなネットワーク３０１としては、例えばトーラス型ネットワーク、メッショ型ネットワーク、クロスバ型ネットワーク等の高速ネットワークが使用される。
【００５１】
このように本例の計算機システムは、複数のＣＰＵ・メモリ搭載装置１０１−１〜１０１−３及び複数の入出力制御装置２０１−１〜２０１−３がネットワーク３０１で相互に接続されているため、基本的に、任意のＣＰＵ・メモリ搭載装置１０１−１〜１０１−３に任意の入出力制御装置２０１−１〜２０１−３を割り当てることができる。しかし、実際のシステム運用中は、各ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３に特定の入出力制御装置２０１−１〜２０１−３を論理的に割り当て、それらで情報処理装置を構成する。図６では、ＣＰＵ・メモリ搭載装置１０１−１に入出力制御装置２０１−１を、ＣＰＵ・メモリ搭載装置１０１−２に入出力制御装置２０１−２を、ＣＰＵ・メモリ搭載装置１０１−３に入出力制御装置２０１−３をそれぞれ割り当てた例を示しており、ＣＰＵ・メモリ搭載装置１０１−１と入出力制御装置２０１−１で１つの情報処理装置３０８が構成され、ＣＰＵ・メモリ搭載装置１０１−２と入出力制御装置２０１−２で別の１つの情報処理装置３０９が構成され、ＣＰＵ・メモリ搭載装置１０１−３と入出力制御装置２０１−３で更に別の１つの情報処理装置３１０が構成されている。
【００５２】
各ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３への入出力制御装置２０１−１〜２０１−３の割り当ては、それらの通信回路１０９、２０６における相手ＩＤの設定によって行われる。具体的には、ＣＰＵ・メモリ搭載装置１０１−１の通信回路１０９では、図３のポート０用の変換部１６１における相手ＩＤレジスタ１７１に入出力制御装置２０１−１のノード番号及びノード内番号を設定し、入出力制御装置２０１−１の通信回路２０６では、図５の相手ＩＤレジスタ２２１にＣＰＵ・メモリ搭載装置１０１−１のノード番号及びノード内番号を設定する。同様に、ＣＰＵ・メモリ搭載装置１０１−２、１０１−３の通信回路１０９のポート０用の変換部１６１における相手ＩＤレジスタ１７１に入出力制御装置２０１−２、２０１−３のノード番号及びノード内番号を設定し、入出力制御装置２０１−２、２０１−３の通信回路２０６の相手ＩＤレジスタ２２１にＣＰＵ・メモリ搭載装置１０１−２、１０１−３のノード番号及びノード内番号を設定する。ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３の通信回路１０９におけるポート１用の変換部１６２はシステムの運用開始時点では使用しないため、相手ＩＤは設定されない。
【００５３】
上述のような通信回路１０９、２０６への相手ＩＤの設定は、通信回路１０９、２０６への自ＩＤの設定や振分情報の設定を含め、本例の計算機システムでは、各情報処理装置３０８〜３１０毎に設けた診断制御回路（ＳＰ）３１１〜３１３で行うようにしている。つまり、診断制御回路３１１〜３１３に通信回路１０９、２０６へのパスを設け、このパスを通じて図３の相手ＩＤレジスタ１７１、１８１、自ＩＤレジスタ１７２、１８２及び振分情報レジスタ１６５の設定、及び図５の相手ＩＤレジスタ２２１、自ＩＤレジスタ２２２の設定を行う。また、各診断制御回路３１１〜３１３は、図１３で示した従来の計算機システム１００１の診断制御回路１０１０と同様の機能を併せ持ち、また診断用ネットワーク３１４を通じて相互に通信可能になっている。
【００５４】
更に、本例の計算機システムは、情報処理装置３０８〜３１０相互間の通信を可能にするために、図１４に示した従来の計算機システムと同様に、それぞれの情報処理装置３０８〜３１０の入出力制御装置２０１−１〜２０１−３におけるネットワーク接続用の入出力カード３１５を使ってネットワーク３１６で相互に接続してある。ネットワーク３１６としては、例えばイーサネット等が使用される。勿論、それぞれの情報処理装置３０８〜３１０のＣＰＵ・メモリ搭載装置１０１−１〜１０１−３における制御回路１０４の部分でネットワーク接続する構成も採用することができる。更に、ネットワーク３０１を利用することもできるが、これについては後述する。
【００５５】
次に本例の計算機システムの動作を説明する。
【００５６】
図６の計算機システムのシステム立ち上げ時、診断制御回路３１１〜３１３によってシステム各部の初期設定が実施される。そして、その一環として前述したように各通信回路１０９、２０６への相手ＩＤ、自ＩＤ、振分情報の設定が実施される。また、各ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３の入出力ポート０には１台の入出力制御装置２０１−１〜２０１−３が接続されていること、入出力ポート１には入出力制御装置が接続されていないといったシステムの構成情報が初期設定される。従って、各ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３のＣＰＵ１０３は入出力命令を発行する際、入出力ポート０を使用する。
【００５７】
何れかのＣＰＵ・メモリ搭載装置、例えばＣＰＵ・メモリ搭載装置１０１−１のＣＰＵ１０３から入出力ポート０への入出力命令が発行されると、制御回路１０４がそれを通信回路１０９へ伝達する。通信回路１０９は、図３のポート０用の変換部１６１におけるＩ／Ｏ→Ｎ変換部１７３によって図２で説明したように入出力命令１２１を通信メッセージ１３１に変換して選択部１６３、接続具１１０、通信ケーブル１１１を通じてネットワーク３０１の接続点３０２へ送出する。このときの通信メッセージ１３１の送付先ＩＤ１３４は入出力制御装置２０１−１を一意に識別するノード番号及び入出力制御回路２０２を一意に識別するノード内番号を示し、送付元ＩＤ１３５はＣＰＵ・メモリ搭載装置１０１−１を一意に識別するノード番号及びポート０を一意に識別するノード内番号を示している。
【００５８】
ネットワーク３０１では、接続点３０２に流入した通信メッセージ１３１をその送付先ＩＤ１３４中のノード番号に従って接続点３０５へ届け、入出力制御装置２０１−１に送り込む。入出力制御装置２０１−１の通信回路２０６は、この通信メッセージ１３１を通信ケーブル２１１及び接続具２０７を通じて受信し、図５のＮ→Ｉ／Ｏ変換部２２３により送付元ＩＤ１３５が相手ＩＤレジスタ２２１に設定された相手ＩＤと一致することを確認して、図２で説明したように元の入出力命令１２１に変換し、入出力制御回路２０２に出力する。入出力制御回路２０２は、その入出力命令１２１を受け取り解釈した上で、若し周辺機器２１２にかかる入出力命令であれば入出力カード２０４を通じて周辺機器２１２へその命令を伝達する等の制御を行い、周辺機器２１２は命令を解釈し、必要な入出力命令を実行した後に、結果を入出力制御回路２０２に返却する。他方、ネットワーク３１６経由による他の情報処理装置との間の通信にかかる入出力命令であった場合には、入出力制御回路２０２は入出力カード３１５へその命令を伝達する等の制御を行い、入出力カード３１５はその命令を解釈し、ネットワーク３１６経由で他の情報処理装置と通信を行い、結果を入出力制御回路２０２に返却する。
【００５９】
入出力制御回路２０２は、返却された結果を入出力命令に対する応答として通信回路２０６に伝達する。通信回路２０６は、図５のＩ／Ｏ→Ｎ変換部２２４により、この応答を図２で説明したように応答１５１から通信メッセージ１４１に変換してネットワーク３０１の接続点３０５へ送り出す。このときの通信メッセージ１４１の送付先ＩＤ１４４は、ＣＰＵ・メモリ搭載装置１０１−１を一意に識別するノード番号及びポート０を一意に識別するノード内番号であり、送付元ＩＤ１４５は入出力制御装置２０１−１を一意に識別するノード番号及び入出力制御回路２０２を一意に識別するノード内番号である。
【００６０】
ネットワーク３０１は、接続点３０５に流入した通信メッセージ１４１をその送付先ＩＤ１４４中のノード番号に従って接続点３０２へ届け、ＣＰＵ・メモリ搭載装置１０１−１に送り込む。ＣＰＵ・メモリ搭載装置１０１−１の通信回路１０９は、この通信メッセージ１４１を図３の通信ケーブル１１１、接続具１１０を通じて振分部１６４で受信し、通信メッセージ１４１の送付先ＩＤ１４４と振分情報レジスタ１６５の振分情報とに基づいて、ポート０用の変換部１６１へ当該通信メッセージ１４１を振り分ける。変換部１６１は、Ｎ→Ｉ／Ｏ変換部１７４により、送付元ＩＤ１４５が相手ＩＤレジスタ１７１に設定された相手ＩＤと一致することを確認して、図２で説明したように元の応答１５１に変換し、制御回路１０４に出力する。制御回路１０４は、その応答１５１をＣＰＵ１０３に通知する。
【００６１】
他のＣＰＵ・メモリ搭載装置１０１−２、１０１−３上のＣＰＵ１０３から入出力命令が発行された際にも、前述と同様の動作を行われる。但し、ＣＰＵ・メモリ搭載装置１０１−２から発行された入出力命令は、ネットワーク３０１経由で入出力制御装置２０１−２に伝えられて処理され、ＣＰＵ・メモリ搭載装置１０１−３から発行された入出力命令は、ネットワーク３０１経由で入出力制御装置２０１−３に伝えられて処理されることになる。
【００６２】
さて、システムの運用中に何れかのＣＰＵ・メモリ搭載装置、例えばＣＰＵ・メモリ搭載装置１０１−１に障害が発生し、動作の継続が不可能になったものとすると、それが使用していた入出力制御装置２０１−１は自らは障害がないのに入出力命令を出すものがなくなるために、動作ができなくなる。診断制御回路３１１はこのような状態を検出すると、他の診断制御回路３１２、３１３と協調して、正常な入出力制御装置２０１−１の有効利用を図る。先ず、診断制御回路３１１は、入出力制御装置２０１−１を新たに使用するＣＰＵ・メモリ搭載装置を決定する。これは、どのＣＰＵ・メモリ搭載装置に障害が発生したとき、それが使用していた入出力制御装置を他のどのＣＰＵ・メモリ搭載装置が引き取るかの情報を事前に診断制御装置３１１〜３１３に設定しておいて、その情報に基づいて決定しても良いし、他の診断制御回路とネゴシエーションを行って決定しても良い。以下では、ＣＰＵ・メモリ搭載装置１０１−２が入出力制御装置２０１−１を使用するものと決定された場合を想定して、以後の動作を説明する。
【００６３】
診断制御回路３１１は、入出力制御装置２０１−１の新たな使用元がＣＰＵ・メモリ搭載装置１０１−２に決定すると、入出力制御装置２０１−１の再立ち上げを実施し、その一環として、通信回路２０６の図５に示した相手ＩＤレジスタ２２１にＣＰＵ・メモリ搭載装置１０１−２のノード番号及びポート１を示すノード内番号を設定し、自ＩＤレジスタ２２２には元と同じＩＤを設定する。
【００６４】
他方、ＣＰＵ・メモリ搭載装置１０１−２側の診断制御回路３１２は、ＣＰＵ・メモリ搭載装置３１２及び入出力制御装置２０１−２で仕掛かり中の処理が終了した時点で、情報処理装置３０９のシステム再立ち上げを実施し、その一環として、通信回路１０９の図３に示したポート１用の変換部１６２における相手ＩＤレジスタ１８１に入出力制御装置２０１−１のノード番号及びノード内番号を、自ＩＤレジスタ１８２にＣＰＵ・メモリ搭載装置１０１−２のノード番号及びポート１を示すノード内番号をそれぞれ設定する。また、振分情報レジスタ１６５に所望の振分情報を設定し、通信メッセージ中の送付先ＩＤ１４４のノード内番号がポート０を示す場合にはポート０の変換部１６１へ、ポート１を示す場合にはポート１の変換部１６２へ、それぞれ通信メッセージが振り分けられるようにする。ポート０用の変換部１６１の相手ＩＤレジスタ１７１、自ＩＤレジスタ１７２、入出力制御装置２０１−２の通信回路２０６における相手ＩＤレジスタ２２１、自ＩＤレジスタ２２２には元と同じＩＤを設定する。更に、ＣＰＵ・メモリ搭載装置１０１−２の入出力ポート０には１台の入出力制御装置２０１−２が接続され、入出力ポート１には１台の入出力制御装置２０１−１が接続されているといったシステムの構成情報を設定する。従って、ＣＰＵ・メモリ搭載装置１０１−２のＣＰＵ１０３は入出力命令を発行する際、入出力ポート０及び入出力ポート１の双方を使用することができる。
【００６５】
その後、システムの運用が再開され、ＣＰＵ・メモリ搭載装置１０１−２のＣＰＵ１０３から入出力ポート１に入出力命令が発行されると、通信回路１０９のポート１用の変換部１６２により入出力制御装置２０１−１のノード番号を含む送付先ＩＤを付加した通信メッセージに変換されて、ネットワーク３０１経由で入出力制御装置２０１−１に送られることになる。また、入出力制御装置２０１−１からの応答は、通信回路２０６によりＣＰＵ・メモリ搭載装置１０１−２のノード番号及びポート１を示すノード内番号を含む送付先ＩＤを付加した通信メッセージに変換されて、ネットワーク３０１経由でＣＰＵ・メモリ搭載装置１０１−２に送られ、通信回路１０９のポート１用の変換部１６２により元の応答に変換されてＣＰＵ１０３に通知されることになる。
【００６６】
図７は本発明を適用した計算機システムの別のブロック図である。この例の計算機システムは、図１に示したＣＰＵ・メモリ搭載装置１０１と図４に示した入出力制御装置２０１をそれぞれ１台使用し、両者の接続具１１０と接続具２０７間を通信ケーブル４０１で直接接続することにより、ＣＰＵ・メモリ搭載装置及び入出力制御装置をそれぞれ１台だけ有する最小構成の情報処理装置４０２を実現している。
【００６７】
このような最小構成の情報処理装置４０２は、性能や可用性の点ではクラスタ型に劣るが、価格が安いため小規模な情報処理用に良く利用される。この場合、ＣＰＵ・メモリ搭載装置１０１と入出力制御装置２０１とは１対１に対応するため、制御回路１０４と入出力制御回路２０２とを直結することも考えられるが、図６に示したクラスタ型の計算機システムで使うＣＰＵ・メモリ搭載装置及び入出力制御装置をそのままそっくり利用できるため、最小構成専用の設計が不要になり、部品点数も削減される利点がある。また、処理能力が不足してきた場合に、ＣＰＵ・メモリ搭載装置及び入出力制御装置を買い足して、図６に示すようなクラスタ型に再構築できる利点もある。
【００６８】
図７の情報処理装置４０２における動作は、ＣＰＵ・メモリ搭載装置１０１と入出力制御装置２０１との間でネットワーク経由でなく通信ケーブル４０１を介して通信メッセージが直接授受される点を除き、図６の計算機システムと同じである。
【００６９】
図８は本発明を適用した計算機システムの更に別のブロック図である。この例の計算機システムは、図６の計算機システムにおけるＣＰＵ・メモリ搭載装置１０１−１〜１０１−３間の通信をネットワーク３１６でなく、ＣＰＵ・メモリ搭載装置１０１−１〜１０１−３と入出力制御装置２０１−１〜２０１−３間を相互に接続するネットワーク３０１を通じて行えるように変更したものである。そのために、ＣＰＵ・メモリ搭載装置は図１のＣＰＵ・メモリ搭載装置１０１でなく、図９に示されるＣＰＵ・メモリ搭載装置１０１Ａを使用している。
【００７０】
図９のＣＰＵ・メモリ搭載装置１０１Ａが図１のＣＰＵ・メモリ搭載装置１０１と相違するところは、制御回路１０４Ａ及び通信回路１０９Ａの機能と、制御回路１０４Ａと通信回路１０９Ａとの間に新たにノード間通信パス１１２を設けた点にある。
【００７１】
制御回路１０４Ａは、ＣＰＵ１０３からＣＰＵバス１０２にメモリアクセス命令が出されたとき、そのアクセス先のメモリが自ノード上のメモリ１０６か、他ノード上のメモリかをアクセスアドレスに基づいて判断し、自ノード上のメモリ１０６のときは図１の制御回路１０４と同様にメモリ信号線１０５を通じて自ノードのメモリ１０６にメモリアクセス命令を伝達するが、他ノード上のメモリのときはノード間通信パス１１２を通じて通信回路１０９Ａに伝達する。アクセスアドレスに基づいて、アクセス先が自ノード上のメモリ１０６か、どの他ノード上のメモリかを判断する方法としては、例えば、メモリアドレスの上位数ビットをノード番号に対応させ、当該上位数ビットが自ノードのノード番号と等しければ自ノードのメモリ１０６へのアクセス、それ以外は当該上位数ビットで示されるノード番号に対応するノード上のメモリへのアクセスと判断する方法などを採用することができる。また、制御回路１０４Ａは、ノード間通信パス１１２を通じて通信回路１０９Ａから前記メモリアクセス命令の応答を受信すると、それをＣＰＵ１０３へ伝達する。更に制御回路１０４Ａは、ノード間通信パス１１２を通じて通信回路１０９Ａから他ノードが発したメモリアクセス命令を受信すると、それをメモリ信号線１０５を通じてメモリ１０６に送ってアクセスを行わせ、その結果をノード間通信パス１１２を通じて通信回路１０９Ａに伝達する。それ以外の機能は、図１の制御回路１０４と同じである。
【００７２】
通信回路１０９Ａは、図１の通信回路１０９の機能に加えて、ノード間通信パス１１２からメモリアクセス命令を受信すると、このメモリアクセス命令を含む該当ノード宛の通信メッセージを作成して通信ケーブル１１１に出力する機能、このメモリアクセス命令に対する応答を含む通信メッセージを通信ケーブル１１１から受信すると、通信メッセージ中の応答を取り出してノード間通信パス１１２に出力する機能、通信ケーブル１１１から他ノードが出したメモリアクセス命令を含む通信メッセージを受信すると、通信メッセージ中のメモリアクセス命令を取り出してノード間通信パス１１２に出力する機能、そのメモリアクセス命令に対する応答をノード間通信パス１１２から受信すると、その応答を含む該当ノード宛の通信メッセージを作成して通信ケーブル１１１に出力する機能を有している。
【００７３】
図１０に通信回路１０９Ａで行われるメモリアクセス関連の変換処理の概要を示す。一般にＣＰＵ１０３が発行するメモリアクセス命令、従ってノード間通信パス１１２を通じて制御回路１０４Ａから通信回路１０９Ａへ渡されるメモリアクセス命令は、図１０の符号５０１に示すように、リードやライトのアクセス種別等を示すメモリコマンド５０２とそれに付随するデータ５０３とから構成される。データ５０３は一般的にライトデータであり、従ってリード命令のようにデータ５０３が付随しない場合もある。通信回路１０９Ａは、このようなメモリアクセス命令５０１を受けると、図１０の符号５１１に示すように、メモリコマンド５０２及びデータ５０３をそのままそっくり通信データ５１２として含み、それにネットワークコマンド５１３、送付先ＩＤ５１４及び送付元ＩＤ５１５を付加した通信メッセージに変換して通信ケーブル１１１に出力する。送付先ＩＤ５１４には、当該メモリアクセス命令を送るノードのノード番号及びノード内番号が設定され、送付元ＩＤ５１５には自ノードのノード番号及びノード内番号が設定される。
【００７４】
アクセス先のノードから返されてくるメモリアクセス命令に対する通信メッセージは、図１０の符号５２１に示すようにネットワークコマンド５２３、送付先ＩＤ５２４、送付元ＩＤ５２５及び通信データ５２２から構成され、形式的には通信メッセージ５１１と同じであるが、通信データ５２２の部分には、先に発行したメモリアクセス命令の応答が含まれている。通信回路１０９Ａでは、通信メッセージ５２１を受信すると、その通信データ５２２を抽出して図１０の符号５３１に示すような形式の応答に変換してノード間通信パス１１２に出力する。応答５３１は、通信データ５２１に含まれていた応答コマンド５３２及びそれに付随するデータ５３３から構成される。
【００７５】
他方、他のノードから送られてくるメモリアクセス命令を含む通信メッセージは図１０の符号５１１の通信メッセージと同じ形式であり、これを受信したとき、通信回路１０９Ａは、メモリアクセス命令５０１に変換してノード間通信パス１１２に出力する。また、このメモリアクセス命令５０１に対してノード間通信パス１１２から受信する応答は図１０の符号５３１の応答と同じ形式であり、これを受信したとき、通信回路１０９Ａは、通信メッセージ５２１に変換して通信ケーブル１１１に出力する。
【００７６】
以上のような機能を持つ通信回路１０９Ａの構成例を図１１に示す。この例の通信回路１０９Ａが図３の通信回路１０９と相違するところは、メモリアクセス用の変換部１６６を有することと、変換部が１６１、１６２、１６６の３つあるため、選択部１６３Ａ及び振分部１６４Ａの機能が拡張されており、また振分情報レジスタ１６５に変換部１６６への通信メッセージの振分情報が追加されている点にある。
【００７７】
メモリアクセス用の変換部１６６は、送付先ＩＤレジスタ１９１、自ＩＤレジスタ１９２、Ｍ→Ｎ変換部１９３及びＮ→Ｍ変換部１９４とで構成される。Ｍ→Ｎ変換部１９３は、ノード間通信パス１１２から自ノードのＣＰＵから出力された図１０のメモリアクセス命令５０１を受信すると、図１０の通信メッセージ５１１に変換して選択部１６３Ａを通じて通信ケーブル１１１に出力する。通信メッセージ５１１の送付先ＩＤ５１４には、メモリアクセス命令５０１のメモリアドレスから求まるノード番号とメモリアクセス用変換部を指定するノード内番号とを設定し、送付元ＩＤ５１５には、自ＩＤレジスタ１９２に事前に設定された自ノード番号及び変換部１６６を示すノード内番号を設定する。Ｎ→Ｍ変換部１９４は、他ノードから送られてきた図１０の通信メッセージ５２１を振分部１６４Ａから受信すると、図１０のメモリアクセス命令５３１に変換してノード間通信パス１１２に出力する。
【００７８】
また、Ｎ→Ｍ変換部１９４は、他ノードから送られてきた図１０の通信メッセージ５１１を振分部１６４Ａから受信すると、図１０のメモリアクセス命令５０１に変換してノード間通信パス１１２に出力する。このとき、通信メッセージ５１１の送付元ＩＤ５１５を当該メモリアクセス命令の応答を返す送付先ＩＤとして送付先ＩＤレジスタ１９１に格納しておく。ノード間通信パス１１２から当該メモリアクセス命令の応答をＭ→Ｎ変換部１９３が受信すると、図１０の応答５３１から通信メッセージ５２１を生成するが、その送付先ＩＤ５２４に送付先ＩＤレジスタ１９１に格納された送付先ＩＤを設定する。
【００７９】
このように本例の計算機システムは、図８に示したように複数のＣＰＵ・メモリ搭載装置１０１−１Ａ〜１０１−３Ａと複数の入出力制御装置２０１−１〜２０１−３とを相互接続するネットワーク３０１を使って、ＣＰＵ・メモリ搭載装置１０１−１Ａ〜１０１−３Ａ間の通信を行うため、ネットワーク３０１の資源を有効に利用することが可能になる。
【００８０】
図１２は本発明を適用した計算機システムの更に別の例を示すブロック図である。この例の計算機システムは、図１または図９に示したＣＰＵ・メモリ搭載装置１０１または１０１Ａ及び図４に示した入出力制御装置２０１を、それぞれ６０１−１〜６０１−３、２０１−１〜２０１−３で示す各３台ずつ使用して、図６または図８と同様に３つの情報処理装置６０２〜６０４を有するクラスタ型の計算機システムを実現すると共に、ＣＰＵ・メモリ搭載装置６０１−１〜６０１−３及び入出力制御装置２０１−１〜２０１−３と同様なＣＰＵ・メモリ搭載装置６０１−４及び入出力制御装置２０１−４をそれぞれ１台ずつ、予備の装置として事前にネットワーク３０１に接続した構成を有する。なお、予備のＣＰＵ・メモリ搭載装置６０１−４及び入出力制御装置２０１−４には、診断制御装置３１４が接続され、この診断制御装置３１４は他の診断制御装置３１１〜３１３と同じく診断用ネットワーク３１４に接続されている。
【００８１】
この例の計算機システムでは、ＣＰＵ・メモリ搭載装置６０１−４は通常のシステム運用時は使用されず、待機系として用意されており、他の現用系のＣＰＵ・メモリ搭載装置６０１−１〜６０１−３に障害が発生して動作不能になった場合、動作不能となったＣＰＵ・メモリ搭載装置が使用していた入出力制御装置を引き取って運用を継続する。例えば、図１２のＣＰＵ・メモリ搭載装置６０１−１が動作不能になると、診断制御装置３１１によって入出力制御装置２０１−１における通信回路２０６の相手ＩＤがＣＰＵ・メモリ搭載装置６０１−４のＩＤに再設定される等の処理が行われ、また診断制御装置３１４によりＣＰＵ・メモリ搭載装置６０１−４の立ち上げが行われ、その際にＣＰＵ・メモリ搭載装置６０１−４の通信回路１０９または１０９Ａのポート０用の変換部１６１における相手ＩＤが入出力制御装置２０１−１のＩＤに設定される等の初期設定が行われ、ＣＰＵ・メモリ搭載装置６０１−１で実施されていた業務処理が、入出力制御装置２０１−１を使ってＣＰＵ・メモリ搭載装置６０１−４で再開される。
【００８２】
また、入出力制御装置２０１−４は通常のシステム運用時は使用されず、待機系として用意されており、他の入出力制御装置２０１−１〜２０１−３に障害が発生して動作不能になった場合、動作不能となった入出力制御装置を使用していたＣＰＵ・メモリ搭載装置に割り当てて運用を継続する。例えば、図１２の入出力制御装置２０１−１が動作不能になると、診断制御装置３１１によってＣＰＵ・メモリ搭載装置６０１−１の再立ち上げ時に通信回路１０９または１０９Ａのポート０用の変換部１６１における相手ＩＤが入出力制御装置２０１−４のＩＤに設定される等の初期設定が行われ、また診断制御装置３１４により入出力制御装置２０１−１における通信回路２０６の相手ＩＤがＣＰＵ・メモリ搭載装置６０１−１のＩＤに設定される等の処理が行われ、入出力制御装置２０１−１を使って実施されていた業務が入出力制御装置２０１−４を使ってＣＰＵ・メモリ搭載装置６０１−１で再開される。
【００８３】
以上本発明を幾つかの例を挙げて説明したが、本発明は以上の例に限定されず以下に述べるような各種の付加変更が可能である。
【００８４】
ＣＰＵ・メモリ搭載装置は、４台のＣＰＵ１０３を備えるようにしたが、４台以上でも、３台以下でも良く、少なくとも１台のＣＰＵを備えていれば良い。
【００８５】
ＣＰＵ・メモリ搭載装置において、ＣＰＵ１０３はＣＰＵバス１０２を介して制御回路１０４に接続されていたが、制御回路１０４に個別の信号線によって接続されていても良いし、共通バスを介してＣＰＵ１０３、メモリ１０６、制御回路１０４及び通信回路１０９が相互に接続される構成であっても良い。
【００８６】
ＣＰＵ・メモリ搭載装置は、最大２台の入出力制御装置を接続する構成としたが、３台以上の入出力制御装置を接続できる構成にしても良く、また１台しか接続できない構成であっても良い。
【００８７】
入出力制御装置は、１つの入出力制御回路２０２だけを備えていたが、２つ以上の入出力制御回路を備えていても良い。この場合、通信回路２０６は、図５に示した相手ＩＤレジスタ２２１、自ＩＤレジスタ２２２、Ｎ→Ｉ／Ｏ変換部２２３及びＩ／Ｏ→Ｎ変換部２２４を、入出力制御回路の数だけ備え、通信回路１０９と同様な選択部１６３、振分部１６４及び振分情報レジスタ１６５を備える構成となる。
【００８８】
１台のＣＰＵ・メモリ搭載装置には、システムの通常運用時に１つの入出力制御装置だけを割り当てたが、システムの通常運用時に１台のＣＰＵ・メモリ搭載装置に複数の入出力制御装置を割り当てるようにしても良い。
【００８９】
図７の最小構成の計算機システムは図１のＣＰＵ・メモリ搭載装置１０１を使ったが、図９のＣＰＵ・メモリ搭載装置１０１Ａを使用することもできる。
【００９０】
図２で、通信回路１０９で行われる変換処理の概要で、Ｉ／Ｏコマンド１２２とデータ１２３をそのままそっくり通信データ１３２に含むように変換したが、Ｉ／Ｏコマンドと一対一のネットワークコマンドを定義することで、Ｉ／Ｏコマンドとネットワークコマンドを統合させたり、データ自体は圧縮してネットワークデータとして送るというような手法を取ることも出来る。また、送付先ＩＤや送付元ＩＤとして、ノード番号と入出力ポートを一意に識別するために上位数ビット、下位数ビットを設定するようにしているが、入出力ポートをシステムで一意に決定する番号であればよく、入出力ポート単位に連続した値をとっても良いし、任意の一意な値と定義しても良い。
【００９１】
【発明の効果】
以上説明したように本発明によれば、以下のような効果が得られる。
【００９２】
計算機システムにおける障害時の可用性をより一層高めることができる。その理由は、従来の計算機システムでは、ＣＰＵ及びメモリ部分に障害が発生して使用不能になると、それに直結されていた入出力制御装置も、たとえ正常であっても使用できなくなるが、本発明では、ＣＰＵ・メモリ搭載装置と入出力制御装置とが分離しており、入出力制御装置を別のＣＰＵ・メモリ搭載装置で使用することができるからである。また、従来の計算機システムでは、入出力制御装置に障害が発生して使用不能になると、それに直結されていたＣＰＵ及びメモリがそれ以外に入出力制御装置を有しない場合、たとえ正常であっても使用できなくなるが、本発明では、予備の入出力制御装置を当該ＣＰＵ・メモリ搭載装置に割り当てることで、当該ＣＰＵ・メモリ搭載装置の使用が可能になるからである。
【００９３】
計算機システムのオペレーティングシステムを改造する必要がない。その理由は、通信手段がＣＰＵから発行された入出力命令の所定の宛先への送信とその応答の受信を担っているため、ＣＰＵは入出力命令の発行やその応答の受け取りに関して従来と何ら変わるところがなく、入出力制御装置があたかも直結されているかのように見えるからである。
【００９４】
ネットワーク接続時に問題となり易い予期せぬ相手からの通信による誤動作を防止することができる。その理由は、入出力制御装置の通信手段は、ネットワーク経由で受信した入出力命令の送付元が事前に設定されたＣＰＵ・メモリ搭載装置である場合に限って当該入出力命令を有効なものとして受信する手段を備えているからである。また、ＣＰＵ・メモリ搭載装置の通信手段は、ネットワーク経由で受信した応答の送付元が事前に設定された入出力制御装置である場合に限って当該応答を有効なものとして受信する手段を備えているからである。
【図面の簡単な説明】
【図１】本発明を適用した計算機システムで使用されるＣＰＵ・メモリ搭載装置の一例を示すブロック図である。
【図２】ＣＰＵ・メモリ搭載装置及び入出力制御装置の通信回路で行われる変換処理の概要を示す図である。
【図３】ＣＰＵ・メモリ搭載装置の通信回路の構成例を示すブロック図である。
【図４】本発明を適用した計算機システムで使用される入出力制御装置の一例を示すブロック図である。
【図５】入出力制御装置の通信回路の構成例を示すブロック図である。
【図６】本発明を適用した計算機システムの一例を示すブロック図である。
【図７】本発明を適用した計算機システムの別のブロック図である。
【図８】本発明を適用した計算機システムの更に別のブロック図である。
【図９】本発明を適用した計算機システムで使用されるＣＰＵ・メモリ搭載装置の別の例を示すブロック図である。
【図１０】ＣＰＵ・メモリ搭載装置の通信回路で行われるメモリアクセス関連の変換処理の概要を示す図である。
【図１１】ＣＰＵ・メモリ搭載装置の通信回路の別の構成例を示すブロック図である。
【図１２】本発明を適用した計算機システムの更に別の例を示すブロック図である。
【図１３】従来の計算機システムの一例を示すブロック図である。
【図１４】従来の計算機システムの別の例を示すブロック図である。
【符号の説明】
１０１…ＣＰＵ・メモリ搭載装置
１０２…ＣＰＵバス
１０３…ＣＰＵ
１０４…制御回路
１０５…メモリ信号線
１０６…メモリ
１０７、１０８…入出力信号線
１０９…通信回路
１１０…接続具
１１０…通信ケーブル
２０１…入出力制御装置
２０２…入出力制御回路
２０３…標準入出力バス
２０４…入出力カード
２０５…入出力信号線
２０６…通信回路
２０７…接続具
２１１…通信ケーブル
２１２…周辺機器
３０１…ネットワーク
【図１】
0004404493.tif 000002
【図２】
0004404493.tif 000003
【図３】
0004404493.tif 000004
【図４】
0004404493.tif 000005
【図５】
0004404493.tif 000006
【図６】
0004404493.tif 000007
【図７】
0004404493.tif 000008
【図８】
0004404493.tif 000009
【図９】
0004404493.tif 000010
【図１０】
0004404493.tif 000011
【図１１】
0004404493.tif 000012
【図１２】
0004404493.tif 000013
【図１３】
0004404493.tif 000014
【図１４】
0004404493.tif 000015