(57)【要約】【課題】  複数のデータ処理装置が複数の通信路を介して互いに接続されたデータ処理システムにおいて、データ処理装置の構成および動作を複雑にすることなく、縮退運転を実現する。【解決手段】  データ処理装置１１−１、１１−２間には、２本のデータ通信路３Ａ、３Ｂが設けられている。各データ処理装置とデータ通信路３Ａ、３Ｂとの間には、それぞれＩ／Ｏポート１３が設けられている。データ通信路３Ｂにおいて障害が発生すると、データＢは、Ｉ／Ｏポート１３（１Ｂ）、迂回通信路２１−１、Ｉ／Ｏポート１３（１Ａ）、データ通信路３Ａ、Ｉ／Ｏポート１３（２Ａ）、迂回通信路２１−２、およびＩ／Ｏポート１３（２Ｂ）を介して転送される。【選択図】図３
2006260140.tif 000002
【特許請求の範囲】
【請求項１】
送信元データ処理装置および送信先データ処理装置の間に第１および第２の同期して動作する通信路が設けられたデータ処理システムであって、
上記送信元データ処理装置と上記第１の通信路との間に設けられる第１の入出力ポートと、
上記送信元データ処理装置と上記第２の通信路との間に設けられる第２の入出力ポートと、
上記第１および第２の入出力ポート間に設けられる送信用迂回通信路と、
上記送信先データ処理装置と上記第１の通信路との間に設けられる第３の入出力ポートと、
上記送信先データ処理装置と上記第２の通信路との間に設けられる第４の入出力ポートと、
上記第３および第４の入出力ポート間に設けられる受信用迂回通信路、を有し、
上記第１および第２の通信路の双方が正常であるときは、上記送信元データ処理装置により送信される第１のデータは、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポートを介して上記送信先データ処理装置に転送され、上記送信元データ処理装置により送信される第２のデータは、上記第２の入出力ポート、上記第２の通信路、上記第４の入出力ポートを介して上記送信先データ処理装置に転送され、
上記第２の通信路に障害が発生したときは、上記第１のデータは、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポートを介して上記送信先データ処理装置に転送され、上記第２のデータは、上記第２の入出力ポート、上記送信用迂回通信路、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポート、上記受信用迂回通信路、上記第４の入出力ポートを介して上記送信先データ処理装置に転送される
ことを特徴とするデータ処理システム。
【請求項２】
請求項１に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記第１の通信路に送信すべきデータを保持するキューバッファ、およびそのキューバッファに空き領域があることを上記第２の入出力ポートに通知する通知手段を備え、
上記第２の入出力ポートは、上記通知手段からの通知に応じて上記第２のデータを上記送信用迂回通信路へ出力する出力制御手段を備える。
【請求項３】
請求項１に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記第１および第２のデータの同期を確立するために上記第１のデータを保持する待合せバッファを備える。
【請求項４】
請求項３に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記待合せバッファにより保持されている第１のデータおよび上記送信用迂回通信路を介して受信する第２のデータを連続して送信するための調整手段を備える。
【請求項５】
請求項１に記載のデータ処理システムであって、
上記第３の入出力ポートは、
上記第１および第２のデータを保持するキューバッファと、
上記キューバッファから読み出した上記第１のデータと上記キューバッファから読み出して上記受信用迂回通信路を介して上記第４の入出力ポートへ転送される上記第２のデータとの同期を確立するために上記第１のデータを保持する待合せバッファを備える。
【請求項６】
請求項１に記載のデータ処理システムであって、
上記送信用迂回通信路を介して、上記第１のデータの制御のための第１の制御データおよび上記第２のデータを制御するための第２の制御データが相互に交換される。
【請求項７】
請求項１に記載のデータ処理システムであって、
上記受信用迂回通信路を介して、上記第１のデータの制御のための第１の制御データおよび上記第２のデータを制御するための第２の制御データが相互に交換される。
【請求項８】
請求項１に記載のデータ処理システムであって、
上記第１および第２の入出力ポートには、それぞれ、複数の送信元データ処理装置が接続されている。
【請求項９】
請求項１に記載のデータ処理システムであって、
上記第３および第４の入出力ポートには、それぞれ、複数の送信先データ処理装置が接続されている。
【請求項１０】
送信元データ処理装置および送信先データ処理装置の間に第１〜第４の同期して動作する通信路が設けられたデータ処理システムであって、
上記送信元データ処理装置と上記第１〜第４の通信路との間にそれぞれ設けられる第１〜第４の送信元側入出力ポートと、
上記第１および第２の送信元側入出力ポート間に設けられる第１の送信用迂回通信路と、
上記第３および第４の送信元側入出力ポート間に設けられる第２の送信用迂回通信路と、
上記送信先データ処理装置と上記第１〜第４の通信路との間にそれぞれ設けられる第１〜第４の送信先側入出力ポートと、
上記第１および第２の送信先側入出力ポート間に設けられる第１の受信用迂回通信路と、
上記第３および第４の送信先側入出力ポート間に設けられる第２の受信用迂回通信路、を有し、
上記第１〜第４の通信路が正常であるときは、上記送信元データ処理装置により送信される第１〜第４のデータは、それぞれ、上記第１〜第４の送信元側入出力ポート、上記第１〜第４の通信路、上記第１〜第４の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、
上記第２の通信路に障害が発生したときは、上記第１のデータは、上記第１の送信元側入出力ポート、上記第１の通信路、上記第１の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、上記第２のデータは、上記第２の送信元側入出力ポート、上記第１の送信用迂回通信路、上記第１の送信元側入出力ポート、上記第１の通信路、上記第１の送信先側入出力ポート、上記第１の受信用迂回通信路、上記第２の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、上記第３のデータは、上記第３の送信元側入出力ポート、上記第３の通信路、上記第３の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、上記第４のデータは、上記第４の送信元側入出力ポート、上記第２の送信用迂回通信路、上記第３の送信元側入出力ポート、上記第３の通信路、上記第３の送信先側入出力ポート、上記第２の受信用迂回通信路、上記第４の送信先側入出力ポートを介して上記送信先データ処理装置に転送される
ことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータ処理装置が複数の通信路を介して互いに接続されたデータ処理システムに係わる。
【背景技術】
【０００２】
従来より、互いに接続された複数のデータ処理装置（あるいは、ＣＰＵ）を用いてデータを処理するデータ処理システム（あるいは、並列コンピュータ）が知られている。この種のデータ処理システムは、各データ処理装置の能力がさほど高くなくても、その台数を増やすことにより処理速度を大幅に向上させることができる。
【０００３】
上述のデータ処理システムでは、データ処理装置間を接続する通信路に障害が発生した場合の対策が必要となる。例えば、特許文献１には、プロセッサ間を接続するデータバスを二重化する構成が記載されている。また、特許文献２には、格子状に並べられた多数のプロセッサがネットワークを介して互いに接続されたシステムが記載されている。このシステムでは、通信路上に設けられたスイッチが故障すると、そのスイッチを迂回してデータ転送が行われる。
【０００４】
データ処理装置間を接続する通信路に障害が発生した場合は、縮退運転が行われる。ここで、縮退運転とは、故障した通信路を介して転送されるべきデータが、正常な通信路を介して転送され、システム全体として通常のデータ処理動作を行う動作モードである。
【０００５】
図１１（ａ）及び図１１（ｂ）を参照しながら、データ処理システムの縮退運転について説明する。なお、ここでは、データ処理装置１１０からデータ処理装置１２０へデータＡおよびデータＢを転送するものとする。そして、通常時は、データＡは、入出力ポート１１１Ａ、通信路１３０Ａ、入力出力ポート１２１Ａを介して転送され、データＢは、入出力ポート１１１Ｂ、通信路１３０Ｂ、入力出力ポート１２１Ｂを介して転送されるものとする。
【０００６】
通信路１３０Ｂに障害が発生したものとする。この場合、図１１（ａ）に示す構成においては、入出力ポート１１１Ａ、通信路１３０Ａ、入力出力ポート１２１Ａを介してデータＡ、Ｂの双方が転送される。しかし、このケースでは、通常時と縮退運転時とで、データ処理装置１１０、１２０の動作を変更する必要がある。
【０００７】
一方、図１１（ｂ）に示す構成では、データ処理装置（１１０、１２０）と各入出力ポート（１１１Ａ、１１１Ｂ、１２１Ａ、１２１Ｂ）との間がそれぞれ二重化されている。この構成においては、通常時と縮退運転時とで、データ処理装置１１０、１２０の動作を変更する必要がない。しかし、この構成は、図１１（ａ）に示す構成と比較して、データ処理装置１１０、１２０のピン数（端子数）を増やす必要がある。そして、ピン数の増加は、データ処理装置のコストの増大および／またはデータ処理装置の設計の複雑化を招いてしまう。
【特許文献１】特開昭６１−１３８３５４号公報（図１）
【特許文献２】特開平３−２０９５５０号公報（図１２）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、複数のデータ処理装置が複数の通信路を介して互いに接続されたデータ処理システムにおいて、データ処理装置の構成および動作を複雑にすることなく、縮退運転を実現することである。
【課題を解決するための手段】
【０００９】
本発明のデータ処理システムは、送信元データ処理装置および送信先データ処理装置の間に第１および第２の同期して動作する通信路が設けられたシステムであって、上記送信元データ処理装置と上記第１の通信路との間に設けられる第１の入出力ポートと、上記送信元データ処理装置と上記第２の通信路との間に設けられる第２の入出力ポートと、上記第１および第２の入出力ポート間に設けられる送信用迂回通信路と、上記送信先データ処理装置と上記第１の通信路との間に設けられる第３の入出力ポートと、上記送信先データ処理装置と上記第２の通信路との間に設けられる第４の入出力ポートと、上記第３および第４の入出力ポート間に設けられる受信用迂回通信路、を有する。そして、上記第１および第２の通信路の双方が正常であるときは、上記送信元データ処理装置により送信される第１のデータは、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポートを介して上記送信先データ処理装置に転送され、上記送信元データ処理装置により送信される第２のデータは、上記第２の入出力ポート、上記第２の通信路、上記第４の入出力ポートを介して上記送信先データ処理装置に転送される。一方、上記第２の通信路に障害が発生したときは、上記第１のデータは、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポートを介して上記送信先データ処理装置に転送され、上記第２のデータは、上記第２の入出力ポート、上記送信用迂回通信路、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポート、上記受信用迂回通信路、上記第４の入出力ポートを介して上記送信先データ処理装置に転送される。
【００１０】
上記データ処理システムにおいては、通信路に障害が発生すると、その障害が発生した通信路に接続する入出力ポートは、迂回通信路を介して隣の入出力ポートとの間でデータが授受する。このため、データ処理装置と各入出力ポートとの間のデータの授受は、通信路が正常であるときと同じである。
【００１１】
上記データ処理システムにおいて、上記第１の入出力ポートは、上記第１および第２のデータの同期を確立するために上記第１のデータを保持する待合せバッファを備えるようにしてもよい。この構成によれば、通信路に障害が発生しても、同期を確立させたまま第１および第２のデータを転送できる。
【発明の効果】
【００１２】
本発明によれば、通信路に障害が発生した場合であっても、データ処理装置と各入出力ポートとの間のデータの授受は、通信路が正常であるときと同じなので、データ処理装置の構成および動作を複雑にすることなく、縮退運転を実現できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施形態について説明する。
図１は、本発明の実施形態のデータ処理システムの全体構成を示す図である。実施形態のデータ処理システム１は、複数のシステムボード（＃０〜＃ｎ）２、複数のシステムボード２どうしの間を接続する複数のデータ通信路３、および複数のシステムボード２どうしの間を接続するアドレスバス４を含んで構成される。この実施例では、４本のデータ通信路３Ａ〜３Ｄが設けられている。なお、データ通信路３の本数は、特に限定されるものではないが、基本的に、偶数本であるものとする。
【００１４】
各システムボード２は、それぞれ、データ処理装置１１、ＣＰＵ１２、Ｉ／Ｏポート１３、メモリ（ＤＩＭＭ）１４を備える。データ処理装置１１は、主に、システムボード間のデータ転送に係わる処理を実行する。すなわち、データ処理装置１１は、少なくとも、ＣＰＵ１２の演算結果データあるいはメモリ１４から読み出したデータを他のシステムボードへ送信する動作に係わる制御、および他のシステムボードから受信したデータを対応するＣＰＵ１２またはメモリ１４に転送する動作に係わる制御を実行する。
【００１５】
ＣＰＵ１２は、データ処理装置１１に接続されており、指定されたプログラムを実行することにより、与えられたデータに対して対応する演算を実行する。なお、各システムボード２が備えるＣＰＵ１２の個数は、１個であってもよいし、複数個であってもよい。
【００１６】
Ｉ／Ｏポート１３は、データ処理装置１１により送信されるデータをデータ通信路３へ出力する処理、およびデータ通信路３を介して受信したデータをデータ処理装置１１へ入力する処理を実行する。ここで、データ処理装置１１により送信されるデータは、ＣＰＵ１２による演算結果データおよびメモリ１４から読み出したデータを含むものとする。また、データ通信路３を介して受信したデータは、ＣＰＵ１２に渡すデータおよびメモリ１４に書き込むデータを含むものとする。各Ｉ／Ｏポート１３は、それぞれ対応するデータ通信路３に対して設けられる。この実施例では、４個のＩ／Ｏポート１３が、それぞれ、データ処理装置１１とデータ通信路３Ａ〜３Ｄとの間に設けられている。
【００１７】
メモリ１４は、それぞれ対応するＩ／Ｏポート１３に接続されている。なお、各Ｉ／Ｏポート１３は、それぞれ対応するメモリ１４のメモリコントローラとして動作する。
データ通信路３Ａ〜３Ｄは、それぞれ、所定ビット幅のデータバスであり、互いに同期しながらデータを転送する。アドレスバス４は、データ処理装置１１どうしの間でアドレスを通知する。
【００１８】
各システムボード２において、複数のＩ／Ｏポート１３は、２個ずつグループ化されている。そして、各グループ内のＩ／Ｏポート１３間に、迂回通信路２１が設けられる。この実施例では、Ｉ／Ｏポート１３（Ａ）、１３（Ｂ）間に迂回通信路２１が設けられ、Ｉ／Ｏポート１３（Ｃ）、１３（Ｄ）間に迂回通信路２１が設けられている。迂回通信路２１は、例えば、所定ビット幅のデータバスである。
【００１９】
上記構成のデータ処理システム１において、各データ処理装置１１は、それぞれ、所望のシステムボードに対してデータを送信することができる。そして、複数のＣＰＵ１２を用いて並列演算を実行することにより、高速データ処理を実現する。
【００２０】
図２および図３は、データ処理システム１におけるデータ転送の概略を説明する図である。以下の説明では、データ処理システム１は、データ処理装置１１−１、１１−２間に２本のデータ通信路３Ａ、３Ｂが設けられた構成であり、データ処理装置１１−１が１組のＩ／Ｏポート１３（１Ａ）および１３（１Ｂ）を備え、データ処理装置１１−２が１組のＩ／Ｏポート１３（２Ａ）および１３（２Ｂ）を備えるものとする。また、Ｉ／Ｏポート１３（１Ａ）、１３（１Ｂ）間に迂回通信路２１−１が設けられており、Ｉ／Ｏポート１３（２Ａ）、１３（２Ｂ）間に迂回通信路２１−２が設けられている。さらに、データ処理装置１１−１からデータ処理装置１１−２へ、データＡおよびデータＢが転送されるものとする。なお、データＡおよびデータＢは、同時に転送される必要のある１組の同期データであるものとする。
【００２１】
図２は、通常時のデータ装置システム１の動作を示している。ここで、「通常」とは、データ通信路３Ａ、３Ｂの双方がデータを転送できる状態をいう。そして、通常時は、データ処理装置（送信元データ処理装置）１１−１により送信されるデータＡは、Ｉ／Ｏポート１３（１Ａ）、データ通信路３Ａ、Ｉ／Ｏポート１３（２Ａ）を介してデータ処理装置１１−２に転送される。また、データＢは、Ｉ／Ｏポート１３（１Ｂ）、データ通信路３Ｂ、Ｉ／Ｏポート１３（２Ｂ）を介してデータ処理装置１１−２に転送される。すなわち、通常時は、基本的に、迂回通信路２１−１、２１−２を介してデータＡおよびデータＢが転送されることはない。
【００２２】
図３は、データ通信路３Ｂに障害が発生したときのデータ装置システム１の動作を示している。データ通信路３Ｂに障害が発生したときは、データＡは、Ｉ／Ｏポート１３（１Ａ）、データ通信路３Ａ、Ｉ／Ｏポート１３（２Ａ）を介してデータ処理装置１１−２に転送される。一方、データＢは、Ｉ／Ｏポート１３（１Ｂ）、迂回通信路２１−１、Ｉ／Ｏポート１３（１Ａ）、データ通信路３Ａ、Ｉ／Ｏポート１３（２Ａ）、迂回通信路２１−２、Ｉ／Ｏポート１３（２Ｂ）を介してデータ処理装置１１−２に転送される。
【００２３】
このとき、データ処理装置１１−１は、データＡおよびデータＢを同時に出力する。そして、Ｉ／Ｏポート１３（１Ａ）は、データ処理装置１１−１から直接的に受信したデータＡおよびＩ／Ｏポート１３（１Ｂ）から受信したデータＢを１つのデータブロックとしてデータ通信路３Ａに出力する。また、Ｉ／Ｏポート１３（２Ａ）は、データ通信路３Ａから上記データブロックを受信すると、そのデータブロックに含まれているデータＡをデータ処理装置１１−２へ転送すると共に、データＢをＩ／Ｏポート１３（２Ｂ）へ転送する。そうすると、Ｉ／Ｏポート１３（２Ｂ）は、そのデータＢをデータ処理装置１１−２へ転送する。なお、Ｉ／Ｏポート１３（２Ａ）からデータ処理装置１１−２へのデータＡの転送およびＩ／Ｏポート１３（２Ｂ）からデータ処理装置１１−２へのデータＢの転送は、同時に行われる。
【００２４】
このように、実施形態のデータ処理システム１においては、データ通信路３Ａ又は３Ｂの一方において障害が発生すると、図３に示す縮退運転が実行される。しかし、データ処理システム１の動作モード（図２に示す通常動作、図３に示す縮退運転）が変わっても、データ処理装置１１−１、１１−２の動作は、基本的に、変わることはない。即ち、データ送信元のデータ処理装置（ここでは、データ処理装置１１−１）は、いずれの動作モードであっても、データＡおよびデータＢをそれぞれ対応するＩ／Ｏポート１３（１Ａ）およびＩ／Ｏポート１３（１Ｂ）に対して同時に出力する。また、データ送信先のデータ処理装置（ここでは、データ処理装置１１−２）においては、いずれの動作モードであっても、データＡおよびデータＢがそれぞれ対応するＩ／Ｏポート１３（２Ａ）およびＩ／Ｏポート１３（２Ｂ）から同時に入力される。
【００２５】
よって、実施形態のデータ処理システム１においては、図１１（ａ）に示した構成とは異なり、各データ処理装置１１に対して縮退運転を実現するために特別の機能を設ける必要がない。すなわち、縮退運転を実現するために各データ処理装置１１の動作を変更する必要がない。また、図１１（ｂ）に示した構成とは異なり、縮退運転を実現するために各データ処理装置１１のピン数を増やす必要がない。
【００２６】
なお、データ処理システム１においては、１組のＩ／Ｏポート１３間に迂回通信路２１を設けるので、図１１（ａ）に示す構成と比べると、縮退運転のための回路が各Ｉ／Ｏポート１３に追加され、各Ｉ／Ｏポート１３のピン数が増加することとなる。しかし、Ｉ／Ｏポート１３は、データ処理装置１１と比べて回路規模が格段に小さいので、縮退運転のための回路を追加することは比較的容易である。
【００２７】
また、データ処理システム１において、データ通信路３以外にＩ／Ｏポート１３間で何らかのデータを送受信するための通信路が存在する場合には、その通信路を迂回通信路２１として流用することも可能である。このような構成においては、縮退運転のみのために迂回通信路２１を設ける必要がなく、また、Ｉ／Ｏポート１３のピン数が増加することもない。
【００２８】
図４は、Ｉ／Ｏポート１３の送信回路のハードウェア構成を示す図である。ここでは、１組のＩ／Ｏポート１３（１Ａ）及びＩ／Ｏポート１３（１Ｂ）が描かれている。なお、図４では、受信回路は省略されている。また、Ｉ／Ｏポート１３（１Ａ）及びＩ／Ｏポート１３（１Ｂ）は、互いに同じ構成である。
【００２９】
各Ｉ／Ｏポート１３は、データ通信路３の状態に応じて異なる動作をする。よって、Ｉ／Ｏポート１３の動作を説明する前に、データ通信路３の状態と各Ｉ／Ｏポート１３の動作モードとの関係を説明する。なお、データ処理システム１は、特に図示しないが、各データ通信路３Ａ、３Ｂの状態を検出して各Ｉ／Ｏポート１３（１Ａ、１Ｂ、２Ａ、２Ｂ）に通知する障害検出機能を備えている。
【００３０】
データ通信路３Ａに接続されているＩ／Ｏポート１３（１Ａ、２Ａ）の動作モードは、下記の通りである。
（１）データ通信路３Ａ、３Ｂがいずれも正常であるとき：通常運転モード
（２）データ通信路３Ａは正常であるが、データ通信路３Ｂにおいて障害が発生しているとき：縮退運転モード
（３）データ通信路３Ａにおいて障害が発生しているが、データ通信路３Ｂは正常であるとき：閉塞運転モード
（４）データ通信路３Ａ、３Ｂの双方で障害が発生しているとき：運転停止モード
同様に、データ通信路３Ｂに接続されているＩ／Ｏポート１３（１Ｂ、２Ｂ）の動作モードは、下記の通りである。
（１）データ通信路３Ａ、３Ｂがいずれも正常であるとき：通常運転モード
（２）データ通信路３Ａは正常であるが、データ通信路３Ｂにおいて障害が発生しているとき：閉塞運転モード
（３）データ通信路３Ａにおいて障害が発生しているが、データ通信路３Ｂは正常であるとき：縮退運転モード
（４）データ通信路３Ａ、３Ｂの双方で障害が発生しているとき：運転停止モード
図４に戻る。データソース３１は、出力キューバッファ３２または中間キューバッファ３６に空きがあれば、データを出力する。ここで、通常運転モードのＩ／Ｏポートにおいては、データソース３１は、キュービジー信号busy_1に応じてセレクタ３３へデータを出力する。一方、縮退運転モードまたは閉塞運転モードのＩ／Ｏポートにおいては、データソース３１は、キュービジー信号busy_2に応じて中間キューバッファ３６へデータを出力する。なお、データソース３１は、対応するデータ処理装置１１により送信されるデータを出力する。また、１組のＩ／Ｏポート（ここでは、Ｉ／Ｏポート１３（１Ａ）およびＩ／Ｏポート１３（１Ｂ））のデータソース３１は、互いに同時にデータを出力する。
【００３１】
出力キューバッファ３２は、セレクタ３３によって選択されたデータを一時的に保持する。そして、出力キューバッファ３２に保持されたデータは、所定のタイミングで対応するデータ通信路３に出力される。ここで、いずれのデータ通信路３においても障害が発生していなければ、１組のＩ／Ｏポートの出力キューバッファ３２から同時にデータが出力される。なお、通常運転モードのＩ／Ｏポートにおいては、セレクタ３３は、データソース３１からのデータを選択する。一方、縮退運転モードのＩ／Ｏポートにおいては、セレクタ３３は、速度調整器４６からのデータを選択する。
【００３２】
キュー制御部３４は、キュービジー信号busy_1を用いて出力キューバッファ３２の状態（満杯／空き）をデータソース３１に通知する。また、セレクタ３５を介して与えられるセット信号に従って、セレクタ３３により選択されたデータを出力キューバッファ３２に書き込む。なお、通常運転モードのＩ／Ｏポートにおいては、セレクタ３５は、データソース３１からのセット信号set1を選択する。一方、縮退運転モードのＩ／Ｏポートにおいては、セレクタ３５は、待合せバッファ４４からのセット信号set2を選択する。
【００３３】
中間キューバッファ３６は、データソース３１からのデータを一時的に保持する。キュー制御部３７は、キュービジー信号busy_2を用いて中間キューバッファ３６の状態（満杯／空き）をデータソース３１に通知する。また、上述したセット信号set1に従って、中間キューバッファ３６にデータを書き込む。さらに、迂回通信路２１が使用可能状態になると、中間キューバッファ３６からデータを読み出して出力する。なお、中間キューバッファ３６から読み出されたデータは、縮退運転モードのＩ／Ｏポートにおいては待合せバッファ４５へ送られ、閉塞運転モードのＩ／Ｏポートにおいてはセレクタ４３へ送られる。
【００３４】
キュー状態監視部３８は、出力キューバッファ３２に空きが発生するごとに、許可信号creditを用いてその旨を通知する。この許可信号creditは、待合せバッファ３９を介してセレクタ４０に与えられると共に、相手側Ｉ／Ｏポートのセレクタ４０に送られる。これにより、セレクタ４０には、同一Ｉ／Ｏポート内の許可信号credit_sおよび／または相手側Ｉ／Ｏポートからの許可信号credit_rが与えられる。そして、縮退運転モードのＩ／Ｏポートにおいては、セレクタ４０は、同一Ｉ／Ｏポート内の許可信号credit_sを選択する。一方、閉塞運転モードのＩ／Ｏポートにおいては、セレクタ４０は、相手側Ｉ／Ｏポートからの許可信号credit_rを選択する。
【００３５】
転送要求部４１は、セレクタ４０を介して許可信号creditを受信することで出力キューバッファ３２の状態（満杯／空き）を常に把握している。出力キューバッファ３２に空きがあれば、Ｉ／Ｏポートバスアービタ４２に対して迂回通信路２１の使用を要求する要求信号req を出力する。Ｉ／Ｏポートバスアービタ４２は、この要求信号req を受け取ると、他の要求信号（たとえば、迂回通信路２１を介してＥＣＣ交換用データを送受信するための要求等）との間で調停を行う。そして、迂回通信路２１が使用可能であれば、Ｉ／Ｏポートバスアービタ４２は、転送要求部４１へ応答信号res を返送し、セレクタ４３は、Ｉ／Ｏポートバスアービタ４２からの指示に従って中間キューバッファ３６から読み出したデータを選択して迂回通信路２１へ出力する。また、転送要求部４１は、応答信号res を受け取ると、セット信号set2を発行する。このセット信号set2は、待合せバッファ４３を介してセレクタ３５へ送られる。
【００３６】
待合せバッファ４５は、縮退運転モードのＩ／Ｏポートにおいて、中間キューバッファ３６から読み出したデータを一定期間保持する。速度調整器４６は、縮退運転モードのＩ／Ｏポートにおいて、待合せバッファ４５からのデータおよび相手側Ｉ／Ｏポートから迂回通信路２１を介して送られてくるデータから１つのデータブロックを作成してセレクタ３３に出力する。
【００３７】
次に、上記構成のＩ／Ｏポート１３（１Ａ、１Ｂ）のデータ送信動作を説明する。以下の説明では、データ処理装置１１−１は、Ｉ／Ｏポート１３（１Ａ）に対してデータＡを送信し、Ｉ／Ｏポート１３（１Ｂ）に対してデータＢを送信するものとする。
（１）すべてのデータ通信路３Ａ、３Ｂが使用可能な場合
この場合、１組のＩ／Ｏポートは、下記の動作を同時に実行する。すなわち、データソース３１から出力されるデータ（データＡ、データＢ）は、それぞれ、セレクタ３３により選択されて出力キューバッファ３２に書き込まれる。そして、出力バッファ３２に書き込まれたデータ（データＡ、データＢ）は、それぞれ、所定のタイミングで対応するデータ通信路３（３Ａ、３Ｂ）に出力される。このとき、Ｉ／Ｏポート１３（１Ａ）は、データＡをデータ通信路３Ａへ出力し、Ｉ／Ｏポート１３（１Ｂ）は、データＢをデータ通信路３Ｂへ出力する。
（２）データ通信路３Ｂにおいて障害が発生した場合
この場合、Ｉ／Ｏポート１３（１Ａ）は、縮退運転モードで動作し、Ｉ／Ｏポート１３（１Ｂ）は、閉塞運転モードで動作する。
【００３８】
データソース３１から出力されるデータ（データＡ、データＢ）は、それぞれ、中間キューバッファ３６に書き込まれる。縮退運転モードまたは閉塞運転モードにおいて常時Ｉ／Ｏポート間で授受される許可信号creditにより出力キューバッファ３２に空きがあることが確認され、さらに迂回通信路２１が使用できる状態であれば、Ｉ／Ｏポート１３（１Ａ）の中間キューバッファ３６に保持されているデータＡは、待合せバッファ４５を介して速度調整器４６に送られる。また、Ｉ／Ｏポート１３（１Ｂ）の中間キューバッファ３６に保持されているデータＢは、迂回通信路２１を介して転送され、Ｉ／Ｏポート１３（１Ａ）の速度調整器４６に送られる。
【００３９】
以下、縮退運転モードのＩ／Ｏポート１３（１Ａ）の動作を説明する。速度調整器４６は、データＡおよびデータＢを連続して出力する。そして、速度調整器４６から出力されたデータＡおよびデータＢは、セレクタ３３により選択されて出力キューバッファ３２に書き込まれる。さらに、出力キューバッファ３２に書き込まれたデータＡおよびデータＢは、所定のタイミングでデータ通信路３Ａに出力される。すなわち、データＡおよびデータＢは、Ｉ／Ｏポート１３（１Ａ）からデータ通信路３Ａへ出力される。
【００４０】
このように、データ通信路３Ｂにおいて障害が発生すると、そのデータ通信路３Ｂに接続されているＩ／Ｏポート１３（１Ｂ）のデータＢは、迂回通信路２１を介してＩ／Ｏポート１３（１Ａ）に転送され、障害の発生していないデータ通信路３Ａへ出力される。このとき、１組のデータ（データＡおよびデータＢ）は、連続して転送される。
（３）データ通信路３Ａにおいて障害が発生した場合
この場合の動作は、基本的に、データ通信路３Ｂにおいて障害が発生した場合と同じである。ただし、この場合、データ通信路３Ａに接続されているＩ／Ｏポート１３（１Ａ）のデータＡは、迂回通信路２１を介してＩ／Ｏポート１３（１Ｂ）に転送され、データ通信路３Ｂへ出力される。
【００４１】
図５は、Ｉ／Ｏポート１３の受信回路のハードウェア構成を示す図である。ここでは、１組のＩ／Ｏポート１３（２Ａ）及びＩ／Ｏポート１３（２Ｂ）が描かれている。なお、図５では、送信回路は省略されている。また、Ｉ／Ｏポート１３（２Ａ）及びＩ／Ｏポート１３（２Ｂ）は、互いに同じ構成である。
【００４２】
対応するデータ通信路３から受信したデータは、検出器５１または５４において検出される。そして、検出器５１により検出されたデータは、中間キューバッファ５２に書き込まれ、検出器５４により検出されたデータは、入力キューバッファ５５に書き込まれる。なお、中間キューバッファ５２は、迂回通信路２１が使用可能になるまでの間、書き込まれたデータを保持する。また、入力キューバッファ５５に書き込まれたデータは、対応するデータ処理装置１１に送られる。
【００４３】
通常運転モードのＩ／Ｏポートにおいては、セレクタ５３は、対応するデータ通信路３から直接的に送られてくるデータを選択する。一方、縮退運転モードまたは閉塞運転モードのＩ／Ｏポートにおいては、セレクタ６１からのデータを選択する。
【００４４】
転送要求部５６は、中間キューバッファ５２にデータが書き込まれると、その旨を通知するために要求信号pre_req を発行する。要求信号pre_req は、待合せバッファ５７を介してセレクタ５８に与えられるとともに、相手側Ｉ／Ｏポートのセレクタ５８に送られる。これにより、セレクタ５８には、同一Ｉ／Ｏポート内の要求信号pre_req_s 及び／又は相手側Ｉ／Ｏポートの要求信号pre_req_r が与えられる。そして、縮退運転モードのＩ／Ｏポートにおいては、セレクタ５８は、同一Ｉ／Ｏポート内の要求信号pre_req_s 選択する。一方、閉塞運転モードのＩ／Ｏポートにおいては、セレクタ５８は、相手側Ｉ／Ｏポートからの要求信号pre_req_r を選択する。
【００４５】
Ｉ／Ｏポートバスアービタ４２は、セレクタ５８により選択された要求信号req を受け取ると、他の要求信号（たとえば、迂回通信路２１を介してＥＣＣ交換用データを送受信するための要求等）との間で調停を行う。そして、迂回通信路２１が使用可能であれば、Ｉ／Ｏポートバスアービタ４２は、転送要求部５６へ応答信号res を返送し、セレクタ５９は、Ｉ／Ｏポートバスアービタ４２からの指示に従って中間キューバッファ５２から読み出したデータを選択して迂回通信路２１へ出力する。
【００４６】
待合せバッファ６０は、縮退運転モードのＩ／Ｏポートにおいては、中間キューバッファ５２から読み出したデータを一定期間保持する。セレクタ６１は、縮退運転モードのＩ／Ｏポートにおいては、待合せバッファ６０に保持されているデータを選択し、閉塞運転モードのＩ／Ｏポートにおいては、相手側Ｉ／Ｏポートから迂回通信路２１を介して送られてくるデータを選択する。
【００４７】
次に、上記構成のＩ／Ｏポート１３（２Ａ、２Ｂ）のデータ受信動作を説明する。
（１）すべてのデータ通信路３Ａ、３Ｂが使用可能な場合
この場合、データＡおよびデータＢは、それぞれ、データ通信路３Ａおよび３Ｂを介して転送される。データ通信路３ＡからのデータＡは、Ｉ／Ｏポート１３（２Ａ）の入力キューバッファ５５に書き込まれ、一方、データ通信路３ＢからのデータＢは、Ｉ／Ｏポート１３（２Ｂ）の入力キューバッファ５５に書き込まれる。そして、これら１組のＩ／Ｏポートの入力キューバッファ５５に書き込まれたデータＡおよびデータＢは、同時にデータ処理装置１１−２に転送される。
（２）データ通信路３Ｂにおいて障害が発生した場合
この場合、Ｉ／Ｏポート１３（２Ａ）は、縮退運転モードで動作し、Ｉ／Ｏポート１３（２Ｂ）は、閉塞運転モードで動作する。
【００４８】
データＡおよびデータＢは、いずれもデータ通信路３Ａを介して転送される。そして、データＡおよびデータＢは、いずれもＩ／Ｏポート１３（２Ａ）の中間キューバッファ５２に書き込まれる。続いて、Ｉ／Ｏポート間で要求信号pre_req が授受され、迂回通信路２１が使用できる状態であれば、Ｉ／Ｏポート１３（１Ａ）の中間キューバッファ５２に保持されているデータＡは、待合せバッファ６０を介して入力キューバッファ５５に送られ、データＢは、迂回通信路２１を介して転送され、Ｉ／Ｏポート１３（２Ｂ）の入力キューバッファ５５に送られる。そして、これら１組のＩ／Ｏポートの入力キューバッファ５５に書き込まれたデータＡおよびデータＢは、同時にデータ処理装置１１−２に転送される。
（３）データ通信路３Ａにおいて障害が発生した場合
この場合の動作は、基本的に、データ通信路３Ｂにおいて障害が発生した場合と同じである。ただし、この場合は、データ通信路３Ｂを介してデータＡおよびデータＢが転送され、Ｉ／Ｏポート１３（２Ｂ）から迂回通信路２１を介してＩ／Ｏポート１３（２Ａ）にデータＡが転送される。
【００４９】
実施形態のデータ処理システム１は、１組のＩ／Ｏポート間で迂回通信路２１を介してＥＣＣデータを交換することができる。ここで、ＥＣＣデータとは、誤り訂正符号（または、それと同等のデータ列）であり、データ処理装置間で送受信されるデータの末尾に付加される。
【００５０】
データ処理システム１では、データ処理装置１１が１組のＩ／Ｏポート１３を介して１組のデータを転送する際、それら１組のデータに対して１つの誤り訂正符号を付加することができる。例えば、１６ビットＥＣＣを使用する際、１組のデータのそれぞれに対して８ビットのＥＣＣを付与するような形態が考えられる。この場合、Ｉ／Ｏポート間で８ビットのＥＣＣ（または、それと同等のデータ列）を交換することにより、１６ビットＥＣＣが実現される。
【００５１】
データ処理システム１がこのような形態である場合、上述の８ビットＥＣＣは、データ通信路３とは別個に設けられたデータバスを利用してＩ／Ｏポート間で交換される。したがって、このような形態のシステムにおいては、そのＥＣＣ交換用のデータバスを利用して本発明に係る迂回通信路２１を実現することができる。この場合、Ｉ／Ｏポートバスアービタ４２がデータバス（すなわち、迂回通信路２１）の調停を行う。
【００５２】
このように、縮退運転以外の目的のためにＩ／Ｏポート間にデータバスが設けられている場合には、そのデータバスを利用して迂回通信路２１を実現できる。なお、ＥＣＣ交換用データバスは一例であり、Ｉ／Ｏポート間で何らかの制御データを交換する通信路が設けられている場合には、その通信路を利用して迂回通信路２１を提供するようにしてもよい。
【００５３】
図６は、データ処理システム１の送信動作を説明するフローチャートである。以下の説明では、２本のデータ通信路３Ａ、３Ｂを有するシステムにおいて、６４バイトデータを１組の３２バイトデータに分割して転送するものとする。また、データ通信路３Ａ、３Ｂのデータ幅は、それぞれ４バイトであるものとする。なお、ステップＳ１ａ〜Ｓ８ａはデータ通信路３Ａに接続されているＩ／Ｏポートに係わる処理であり、ステップＳ１ｂ〜Ｓ８ｂはデータ通信路３Ｂに接続されているＩ／Ｏポートに係わる処理である。
【００５４】
ステップＳ１ａ、Ｓ１ｂでは、データ処理装置１１からＩ／Ｏポート１３へデータが転送される。ここで、データ転送時間は、８τである。ステップＳ２ａ、Ｓ２ｂでは、データ処理システム１の動作が縮退運転モードであるか否かを調べる。ここで、データ通信路３Ａ、３Ｂのいずれか一方において障害が発生していれば、縮退運転モードであるものと判断される。なお、縮退運転モードのときは、ステップＳ１ａ、Ｓ１ｂでデータ処理装置１１から受け取ったデータは、中間キューバッファ３６に保持される。
【００５５】
ステップＳ３ａ、Ｓ３ｂでは、対応するデータ通信路３Ａ、３Ｂが閉塞しているか否かを調べる。ここで、例えば、データ通信路３Ｂに障害が発生しているものとすると、＃Ａ側のステップＳ３ａでは「Ｎｏ」と判断され、＃Ｂ側のステップＳ３ｂでは「Ｙｅｓ」と判断される。そして、閉塞状態でなければ、ステップＳ４ａ、Ｓ４ｂへ進み、閉塞状態であれば、ステップＳ５ａ、Ｓ５ｂへ進む。
【００５６】
ステップＳ４ａ、Ｓ４ｂでは、ステップＳ１ａ、Ｓ１ｂでデータ処理装置１１から受け取ったデータを待合せバッファ４５に格納する。ここで、待合せバッファ４５による待合せ時間は、８τ（３２バイトデータを４バイト幅のバスで転送するのに要する時間）である。
【００５７】
ステップＳ５ａ、Ｓ５ｂでは、迂回通信路２１を介してステップＳ１ａ、Ｓ１ｂでデータ処理装置１１から受け取ったデータを相手側Ｉ／Ｏポートへ転送する。なお、迂回通信路のデータ幅を４バイトとすると、データ転送時間は８τである。
【００５８】
ステップＳ６ａ、Ｓ６ｂでは、待合せバッファ４５により保持されているデータおよび相手側Ｉ／Ｏポートから受信したデータを連続して出力キューバッファ３２へ転送する。このとき、６４バイトのデータが転送されるので、そのデータ転送時間は１６τである。なお、ステップＳ６ａ、Ｓ６ｂは、障害の発生していないデータ通信路３に接続されているＩ／Ｏポートの速度調整器４６により実行される。
【００５９】
ステップＳ７ａ、Ｓ７ｂでは、送信元Ｉ／Ｏポートからデータ通信路３を介して送信先Ｉ／Ｏポートへデータを転送する。この場合、６４バイトのデータが転送されるので、そのデータ転送時間は１６τである。なお、ステップＳ７ａ、Ｓ７ｂは、障害の発生していないデータ通信路３に接続されているＩ／Ｏポートのみによって実行される。
【００６０】
データ処理システム１が縮退運転モードでない場合（ステップＳ２ａ、Ｓ２ｂ：Ｎｏ）には、ステップＳ８ａ、Ｓ８ｂにおいて、ステップＳ１ａ、Ｓ１ｂでデータ処理装置１１から受け取ったデータをそれぞれ対応するデータ通信路へ出力する。すなわち、Ｉ／Ｏポート（＃Ａ）は、３２ビットのデータＡをデータ通信路３Ａへ出力し、Ｉ／Ｏポート（＃Ｂ）は、３２ビットのデータＢをデータ通信路３Ｂへ出力する。
【００６１】
図７は、データ処理システム１の受信動作を説明するフローチャートである。以下の説明では、図６についての説明と同様に、２本のデータ通信路３Ａ、３Ｂを有するシステムにおいて、６４バイトデータを１組の３２バイトデータに分割して転送するものとする。また、データ通信路３Ａ、３Ｂのデータ幅は、それぞれ４バイトであるものとする。尚、ステップＳ１１ａ〜Ｓ１７ａはデータ通信路３Ａに接続されているＩ／Ｏポートに係わる処理であり、ステップＳ１１ｂ〜Ｓ１７ｂはデータ通信路３Ｂに接続されているＩ／Ｏポートに係わる処理である。
【００６２】
ステップＳ１１ａ、Ｓ１１ｂでは、対応するデータ通信路３を介して受信したデータを検出する。ステップＳ１２ａ、Ｓ１２ｂでは、データ処理システム１の動作が縮退運転モードであるか否かを調べる。そして、縮退運転モードのときは、ステップＳ１３ａ、Ｓ１３ｂにおいて、受信データは中間キューバッファ５２に格納される。この場合、受信データは、３２バイトのデータＡおよび３２バイトのデータＢから構成される６４バイトデータである。一方、通常運転モードであれば、受信データはそのまま入力キューバッファ５５へ送られる。この場合、受信データは、３２バイトデータである。
【００６３】
ステップＳ１４ａ、Ｓ１４ｂでは、６４バイトの受信データから３２バイトのデータＡおよび３２バイトのデータＢを認識する。そして、Ｉ／Ｏポート（＃Ａ）においては、ステップＳ１５ａでデータＡを待合せバッファ６０に書き込み、ステップＳ１６ａでデータＢを迂回通信路２１を介してＩ／Ｏポート（＃Ｂ）へ転送する。一方、Ｉ／Ｏポート（＃Ｂ）においては、ステップＳ１５ｂでデータＢを待合せバッファ６０に書き込み、ステップＳ１６ｂでデータＡを迂回通信路２１を介してＩ／Ｏポート（＃Ａ）へ転送する。ここで、待合せバッファ６０による待合せ時間は、８τ（３２バイトデータを４バイト幅のバスで転送するのに要する時間）である。
【００６４】
なお、データ処理システム１が通常運転モードのときは、ステップＳ１３ａ〜Ｓ１６ａまたはステップＳ１３ｂ〜Ｓ１６ｂがスキップされ、対応するデータ通信路３から受信した３２バイトデータが入力キューバッファ５５に書き込まれる。また、対応するデータ通信路３に障害が発生した場合は、相手側Ｉ／Ｏポートから迂回通信路２１を介して転送されてくる３２バイトデータが入力キューバッファ５５に書き込まれる。さらに、他のデータ通信路３に障害が発生した場合は、対応するデータ通信路３から受信した３２バイトデータが入力キューバッファ５５に書き込まれる。すなわち、いずれの場合であっても、入力キューバッファ５５には、当該Ｉ／Ｏポートが処理すべき３２バイトデータが書き込まれる。
【００６５】
ステップＳ１７ａ、Ｓ１７ｂでは、入力キューバッファ５５に書き込まれているデータをデータ処理装置１１に転送する。
なお、上述の実施例では、１台のデータ処理装置１１に対して２個のＩ／Ｏポート１３が接続される構成を示したが、本発明はこれに限定されるものではない。
【００６６】
例えば、図８において、各Ｉ／Ｏポート１３Ｘには、それぞれ２台のデータ処理装置１１−１および１１−２が接続されている。この場合、Ｉ／Ｏポート１３Ｘは、データ処理装置１１−１および１１−２から送信されるデータを選択するセレクタ、およびデータ処理装置１１−１および１１−２へ転送すべきデータの出力先を切り替えるスイッチを設ける必要がある。
【００６７】
また、データ処理装置１１−３および１１−４には、それぞれ１個のＩ／Ｏポート１３Ｙが接続されている。ここで、図２〜図３に示した１台のデータ処理装置１１−１（または、１１−２）と図８に示す１組のデータ処理装置１１−３および１１−４とが同じ機能を提供するものとするものとする。また、データ処理装置１１−３および１１−４は、互いに同期して動作する。
【００６８】
さらに、図９に示す例では、各Ｉ／Ｏポート１３Ｚには、それぞれ３台のデータ処理装置が接続されている。すなわち、＃Ａ系のＩ／Ｏポート１３Ｚには、データ処理装置１１−１、１１−２、１１−３が接続されており、＃Ｂ系のＩ／Ｏポート１３Ｚには、データ処理装置１１−１、１１−２、１１−４が接続されている。この場合も、各Ｉ／Ｏポート１３Ｚは、上述のセレクタおよびスイッチを設ける必要がある。
【００６９】
図１０は、４本のデータ通信路３Ａ〜３Ｄが設けられたデータ処理システムの構成を示す図である。この場合、各データ処理装置１１−１、１１−２には、それぞれ、４本のデータ通信路３Ａ〜３Ｄに対応する４個のＩ／Ｏポートが接続される。
【００７０】
Ｉ／Ｏポート１３（１Ａ）とＩ／Ｏポート１３（１Ｂ）との間、Ｉ／Ｏポート１３（１Ｃ）とＩ／Ｏポート１３（１Ｄ）との間、Ｉ／Ｏポート１３（２Ａ）とＩ／Ｏポート１３（２Ｂ）との間、Ｉ／Ｏポート１３（２Ｃ）とＩ／Ｏポート１３（２Ｄ）との間に、それぞれ迂回通信路２１が設けられる。
【００７１】
上記構成のデータ処理システムにおいて、通常運転モードにおいては、データＡは、Ｉ／Ｏポート１３（１Ａ）、データ通信路３Ａ、Ｉ／Ｏポート１３（２Ａ）を介して送受信され、データＢは、Ｉ／Ｏポート１３（１Ｂ）、データ通信路３Ｂ、Ｉ／Ｏポート１３（２Ｂ）を介して送受信され、データＣは、Ｉ／Ｏポート１３（１Ｃ）、データ通信路３Ｃ、Ｉ／Ｏポート１３（２Ｃ）を介して送受信され、データＤは、Ｉ／Ｏポート１３（１Ｄ）、データ通信路３Ｄ、Ｉ／Ｏポート１３（２Ｄ）を介して送受信される。このとき、対応するデータＡ〜データＤは、互いに同期して同時に転送される。
【００７２】
上記データ処理システムにおいて、データ通信路３Ｂに障害が発生したものとする。この場合、データＢは、図２〜図７を参照しながら説明したように、迂回通信路２１および＃Ａ系の通信路（Ｉ／Ｏポート１３（１Ａ）、データ通信路３Ａ、Ｉ／Ｏポート１３（２Ａ））を介して送受信される。また、データＤは、迂回通信路２１および＃Ｃ系の通信路（Ｉ／Ｏポート１３（１Ｃ）、データ通信路３Ｃ、Ｉ／Ｏポート１３（２Ｃ））を介して送受信される。このように、データ通信路３Ｂのみに障害が発生した場合であっても、＃Ａ系／＃Ｂ系だけでなく、＃Ｃ系／＃Ｄ系においても縮退運転モードが実行される。このような構成とすることにより、対応するデータＡ〜データＤを互いに同期して同時に転送することができる。
【００７３】
（付記１）
送信元データ処理装置および送信先データ処理装置の間に第１および第２の同期して動作する通信路が設けられたデータ処理システムであって、
上記送信元データ処理装置と上記第１の通信路との間に設けられる第１の入出力ポートと、
上記送信元データ処理装置と上記第２の通信路との間に設けられる第２の入出力ポートと、
上記第１および第２の入出力ポート間に設けられる送信用迂回通信路と、
上記送信先データ処理装置と上記第１の通信路との間に設けられる第３の入出力ポートと、
上記送信先データ処理装置と上記第２の通信路との間に設けられる第４の入出力ポートと、
上記第３および第４の入出力ポート間に設けられる受信用迂回通信路、を有し、
上記第１および第２の通信路の双方が正常であるときは、上記送信元データ処理装置により送信される第１のデータは、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポートを介して上記送信先データ処理装置に転送され、上記送信元データ処理装置により送信される第２のデータは、上記第２の入出力ポート、上記第２の通信路、上記第４の入出力ポートを介して上記送信先データ処理装置に転送され、
上記第２の通信路に障害が発生したときは、上記第１のデータは、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポートを介して上記送信先データ処理装置に転送され、上記第２のデータは、上記第２の入出力ポート、上記送信用迂回通信路、上記第１の入出力ポート、上記第１の通信路、上記第３の入出力ポート、上記受信用迂回通信路、上記第４の入出力ポートを介して上記送信先データ処理装置に転送される
ことを特徴とするデータ処理システム。
【００７４】
（付記２）
付記１に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記第１の通信路に送信すべきデータを保持するキューバッファ、およびそのキューバッファに空き領域があることを上記第２の入出力ポートに通知する通知手段を備え、
上記第２の入出力ポートは、上記通知手段からの通知に応じて上記第２のデータを上記送信用迂回通信路へ出力する出力制御手段を備える。
【００７５】
（付記３）
付記２に記載のデータ処理システムであって、
上記出力制御手段は、上記送信用迂回通信路の使用要求を調停する。
【００７６】
（付記４）
付記１に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記第１および第２のデータの同期を確立するために上記第１のデータを保持する待合せバッファを備える。
【００７７】
（付記５）
付記４に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記待合せバッファにより保持されている第１のデータおよび上記送信用迂回通信路を介して受信する第２のデータを連続して送信するための調整手段を備える。
【００７８】
（付記６）
付記５に記載のデータ処理システムであって、
上記第１の入出力ポートは、上記送信元データ処理装置により送信される第１のデータまたは上記調整手段の出力の一方を選択するセレクタを備える。
【００７９】
（付記７）
付記１に記載のデータ処理システムであって、
上記第３の入出力ポートは、
上記第１および第２のデータを保持するキューバッファと、
上記キューバッファから読み出した上記第１のデータと上記キューバッファから読み出して上記受信用迂回通信路を介して上記第４の入出力ポートへ転送される上記第２のデータとの同期を確立するために上記第１のデータを保持する待合せバッファ、を備える。
【００８０】
（付記８）
付記１に記載のデータ処理システムであって、
上記第４の入出力ポートは、上記第２の通信路を介して受信したデータまたは上記受信用迂回通信路を介して受信したデータの一方を選択するセレクタを備える。
【００８１】
（付記９）
付記１に記載のデータ処理システムであって、
上記送信用迂回通信路を介して、上記第１のデータの制御のための第１の制御データおよび上記第２のデータを制御するための第２の制御データが相互に交換される。
【００８２】
（付記１０）
付記１に記載のデータ処理システムであって、
上記受信用迂回通信路を介して、上記第１のデータの制御のための第１の制御データおよび上記第２のデータを制御するための第２の制御データが相互に交換される。
【００８３】
（付記１１）
付記１に記載のデータ処理システムであって、
上記送信元データ処理装置は、複数の送信元データ処理ユニットから構成されており、
上記第１または第２の入出力ポートは、上記複数の送信元データ処理ユニットに接続されるとともに、それら複数の送信元データ処理ユニットにより送信されるデータを選択する選択手段を有する。
【００８４】
（付記１２）
付記１に記載のデータ処理システムであって、
上記送信先データ処理装置は、複数の送信先データ処理ユニットから構成されており、
上記第３または第４の入出力ポートは、上記複数の送信先データ処理ユニットに接続されるとともに、それら複数の送信先データ処理ユニットへのデータの配布を制御する配布手段を有する。
【００８５】
（付記１３）
付記１に記載のデータ処理システムであって、
上記第１および第２の入出力ポートには、それぞれ、複数の送信元データ処理装置が接続されている。
【００８６】
（付記１４）
付記１に記載のデータ処理システムであって、
上記第３および第４の入出力ポートには、それぞれ、複数の送信先データ処理装置が接続されている。
【００８７】
（付記１５）
送信元データ処理装置および送信先データ処理装置の間に第１〜第４の同期して動作する通信路が設けられたデータ処理システムであって、
上記送信元データ処理装置と上記第１〜第４の通信路との間にそれぞれ設けられる第１〜第４の送信元側入出力ポートと、
上記第１および第２の送信元側入出力ポート間に設けられる第１の送信用迂回通信路と、
上記第３および第４の送信元側入出力ポート間に設けられる第２の送信用迂回通信路と、
上記送信先データ処理装置と上記第１〜第４の通信路との間にそれぞれ設けられる第１〜第４の送信先側入出力ポートと、
上記第１および第２の送信先側入出力ポート間に設けられる第１の受信用迂回通信路と、
上記第３および第４の送信先側入出力ポート間に設けられる第２の受信用迂回通信路、を有し、
上記第１〜第４の通信路が正常であるときは、上記送信元データ処理装置により送信される第１〜第４のデータは、それぞれ、上記第１〜第４の送信元側入出力ポート、上記第１〜第４の通信路、上記第１〜第４の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、
上記第２の通信路に障害が発生したときは、上記第１のデータは、上記第１の送信元側入出力ポート、上記第１の通信路、上記第１の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、上記第２のデータは、上記第２の送信元側入出力ポート、上記第１の送信用迂回通信路、上記第１の送信元側入出力ポート、上記第１の通信路、上記第１の送信先側入出力ポート、上記第１の受信用迂回通信路、上記第２の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、上記第３のデータは、上記第３の送信元側入出力ポート、上記第３の通信路、上記第３の送信先側入出力ポートを介して上記送信先データ処理装置に転送され、上記第４のデータは、上記第４の送信元側入出力ポート、上記第２の送信用迂回通信路、上記第３の送信元側入出力ポート、上記第３の通信路、上記第３の送信先側入出力ポート、上記第２の受信用迂回通信路、上記第４の送信先側入出力ポートを介して上記送信先データ処理装置に転送される
ことを特徴とするデータ処理システム。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態のデータ処理システムの全体構成を示す図である。
【図２】通常動作時におけるデータ処理システムのデータ転送を説明する図である。
【図３】障害発生時におけるデータ処理システムのデータ転送を説明する図である。
【図４】Ｉ／Ｏポートの送信回路のハードウェア構成を示す図である。
【図５】Ｉ／Ｏポートの受信回路のハードウェア構成を示す図である。
【図６】データ処理システムの送信動作を説明するフローチャートである。
【図７】データ処理システムの受信動作を説明するフローチャートである。
【図８】他の接続形態のデータ処理システムの実施例である。
【図９】さらに他の接続形態のデータ処理システムの実施例である。
【図１０】４本のデータ通信路が設けられたデータ処理システムの構成を示す図である。
【図１１】従来のデータ処理システムにおける縮退運転を説明する図である。
【符号の説明】
【００８９】
１      データ処理システム
２      システムボード
３（３Ａ〜３Ｄ）  データ通信路
４      アドレスバス
１１（１１−１、１１−２）    データ処理装置
１２    ＣＰＵ
１３（１Ａ、１Ｂ、２Ａ、２Ｂ）    Ｉ／Ｏポート
１４    メモリ
２１（２１−１、２１−２）  迂回通信路
【図１】
2006260140.tif 000003
【図２】
2006260140.tif 000004
【図３】
2006260140.tif 000005
【図４】
2006260140.tif 000006
【図５】
2006260140.tif 000007
【図６】
2006260140.tif 000008
【図７】
2006260140.tif 000009
【図８】
2006260140.tif 000010
【図９】
2006260140.tif 000011
【図１０】
2006260140.tif 000012
【図１１】
2006260140.tif 000013