(57)【要約】【課題】処理の同期化の所要時間の短縮が可能で、より高信頼の４重化コンピュータシステムを実現する。【解決手段】４台のコンピュータ１を２重のリングネットワークで接続して４重化コンピュータシステム７を構成する。その場合、その４台のコンピュータ１を４辺形の各頂点に配置したとしたとき、その各頂点に配置されたコンピュータ１を、その４辺形の各辺に沿って形成された通信路によって相互に接続して、第１のリングネットワーク（ネットワーク（＃１）２ａ）を構成する。また、４辺形の各頂点に配置された１コンピュータ１を、その４辺形の４辺のうち、互いに対向する２辺に沿って形成された通信路およびその４辺形の２つの対角線に沿って形成された通信路によって相互に接続して、第２のリングネットワーク（ネットワーク（＃２）２ｂ）を構成する。【選択図】図１
2010079789.tif 000002
【特許請求の範囲】
【請求項１】
ストアアンドフォーワード型の２重のリングネットワークによって相互に接続され、所定の同期化データを相互に送受信して処理の同期化を行う４台のコンピュータを含んで構成された４重化コンピュータシステムであって、
前記２重のリングネットワークは、互いに独立に動作する第１のリングネットワークと第２のリングネットワークとにより構成され、
前記第１のリングネットワークは、前記４台のコンピュータを４辺形の各頂点に配置したとしたとき、その各頂点に配置された各コンピュータを、前記４辺形の各辺に沿って形成された通信路によって相互に接続するように構成され、
前記第２のリングネットワークは、前記４辺形の各頂点に配置された各コンピュータを、前記４辺形の４辺のうち互いに対向する２辺に沿って形成された通信路、および、前記４辺形の２つの対角線に沿って形成された通信路によって相互に接続するように構成されていること
を特徴とする４重化コンピュータシステム。
【請求項２】
前記第２のリングネットワークのブロッキングは、前記第２のリングネットワークの、前記４辺形の前記互いに対向する２辺に沿って形成された通信路のいずれか一方の通信路部分に設けられ、
前記第１のリングネットワークのブロッキングは、前記第２のリングネットワークのブロッキングが設けられた通信路が沿う前記四辺形の辺に対向する辺に沿って形成された、前記第１のリングネットワークの通信路部分に設けられること
を特徴とする請求項１に記載の４重化コンピュータシステム。
【請求項３】
前記４台のコンピュータのそれぞれは、前記処理同期化を行う場合には、
あらかじめ定められた同期化データを前記第１のリングネットワークおよび前記第２のリングネットワークの両方へ送出するとともに、
前記４台のコンピュータのうち自身を除く他のコンピュータのそれぞれから、前記２重のリングネットワークを介してそれぞれ送信されてくる前記同期化データのうち、先に着信した前記同期化データのみを受信し、
前記自身を除く他のコンピュータのすべてから前記同期化データを受信し、前記受信した同期化データと、自身が生成した同期化データとが同じ、または、所定の関係を満たすとき、前記処理の同期化を行うこと
を特徴とする請求項２に記載の４重化コンピュータシステム。
【請求項４】
前記４辺形の前記互いに対向する２辺のうちの１辺に沿って形成された、前記第２のリングネットワークの通信路部分、および、前記１辺に対向する辺に沿って形成された、前記第１のリングネットワークの通信路部分の少なくとも一方の通信路部分に、前記４台のコンピュータとは別のコンピュータまたはネットワークスイッチからなる１台以上のノード装置が接続されること
を特徴とする請求項１に記載の４重化コンピュータシステム。
【請求項５】
ストアアンドフォーワード型の２重のリングネットワークによって相互に接続され、所定の同期化データを相互に送受信して処理の同期化を行う４台のコンピュータを含んで構成された４重化コンピュータシステムであって、
前記４台のコンピュータは、第１のコンピュータと第２のコンピュータと第３のコンピュータと第４のコンピュータとにより構成され、
前記２重のリングネットワークは、互いに独立に動作する第１のリングネットワークと第２のリングネットワークとにより構成され、
前記第１のリングネットワークは、前記第１のコンピュータと前記第２のコンピュータとを接続する通信路、前記第２のコンピュータと前記第３のコンピュータとを接続する通信路、前記第３のコンピュータと前記第４のコンピュータとを接続する通信路、および、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路によって構成され、
前記第２のリングネットワークは、前記第２のコンピュータと前記第４のコンピュータとを接続する通信路、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路、前記第１のコンピュータと前記第３のコンピュータとを接続する通信路、および、前記第３のコンピュータと前記第２のコンピュータとを接続する通信路によって構成されていること
を特徴とする４重化コンピュータシステム。
【請求項６】
前記第１のリングネットワークのブロッキングは、前記第１のリングネットワークの、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路部分に設けられ、
前記第２のリングネットワークのブロッキングは、前記第２のリングネットワークの、前記第３のコンピュータと前記第２のコンピュータとを接続する通信路部分に設けられること
を特徴とする請求項５に記載の４重化コンピュータシステム。
【請求項７】
前記４台のコンピュータのそれぞれは、前記処理同期化を行う場合には、
あらかじめ定められた同期化データを前記第１のリングネットワークおよび前記第２のリングネットワークの両方へ送出するとともに、
前記４台のコンピュータのうち自身を除く他のコンピュータのそれぞれから、前記２重のリングネットワークを介してそれぞれ送信されてくる前記同期化データのうち、先に着信した前記同期化データのみを受信し、
前記自身を除く他のコンピュータのすべてから前記同期化データを受信し、前記受信した同期化データと、自身が生成した同期化データとが同じ、または、所定の関係を満たすとき、前記処理の同期化を行うこと
を特徴とする請求項６に記載の４重化コンピュータシステム。
【請求項８】
前記第１のリングネットワークの、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路部分、および、前記第２のリングネットワークの、前記第３のコンピュータと前記第２のコンピュータとを接続する通信路部分、の少なくとも一方の通信路部分に、前記４台のコンピュータとは別のコンピュータまたはネットワークスイッチからなる１台以上のノード装置が接続されること
を特徴とする請求項５に記載の４重化コンピュータシステム。
【請求項９】
所定の同期化データを相互に送受信して処理の同期化を行う４台のコンピュータを含んで構成された４重化コンピュータシステムにおける、前記４台のコンピュータを相互に接続するストアアンドフォーワード型の２重化リングネットワークであって、
前記２重化リングネットワークは、互いに独立に動作する第１のリングネットワークと第２のリングネットワークとにより構成され、
前記第１のリングネットワークは、前記４台のコンピュータを４辺形の各頂点に配置したとしたとき、その各頂点に配置された各コンピュータを、前記４辺形の各辺に沿って形成された通信路によって相互に接続するように構成され、
前記第２のリングネットワークは、前記４辺形の各頂点に配置された各コンピュータを、前記４辺形の４辺のうち互いに対向する２辺に沿って形成された通信路、および、前記４辺形の２つの対角線に沿って形成された通信路によって相互に接続するように構成されていること
を特徴とする２重化リングネットワーク。
【請求項１０】
前記第２のリングネットワークのブロッキングは、前記第２のリングネットワークの、前記４辺形の前記互いに対向する２辺に沿って形成された通信路のいずれか一方の通信路部分に設けられ、
前記第１のリングネットワークのブロッキングは、前記第２のリングネットワークのブロッキングが設けられた通信路が沿う前記四辺形の辺に対向する辺に沿って形成された、前記第１のリングネットワークの通信路部分に設けられること
を特徴とする請求項９に記載の２重化リングネットワーク。
【請求項１１】
前記４辺形の前記互いに対向する２辺のうちの１辺に沿って形成された、前記第２のリングネットワークの通信路部分、および、前記１辺に対向する辺に沿って形成された、前記第１のリングネットワークの通信路部分の少なくとも一方の通信路部分に、前記４台のコンピュータとは別のコンピュータまたはネットワークスイッチからなる１台以上のノード装置が接続されること
を特徴とする請求項９に記載の２重化リングネットワーク。
【請求項１２】
所定の同期化データを相互に送受信して処理の同期化を行う４台のコンピュータを含んで構成された４重化コンピュータシステムにおける、前記４台のコンピュータを相互に接続するストアアンドフォーワード型の２重化リングネットワークであって、
前記４台のコンピュータは、第１のコンピュータと第２のコンピュータと第３のコンピュータと第４のコンピュータとにより構成され、
前記２重化リングネットワークは、互いに独立に動作する第１のリングネットワークと第２のリングネットワークとにより構成され、
前記第１のリングネットワークは、前記第１のコンピュータと前記第２のコンピュータとを接続する通信路、前記第２のコンピュータと前記第３のコンピュータとを接続する通信路、前記第３のコンピュータと前記第４のコンピュータとを接続する通信路、および、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路によって構成され、
前記第２のリングネットワークは、前記第２のコンピュータと前記第４のコンピュータとを接続する通信路、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路、前記第１のコンピュータと前記第３のコンピュータとを接続する通信路、および、前記第３のコンピュータと前記第２のコンピュータとを接続する通信路によって構成されていること
を特徴とする２重化リングネットワーク。
【請求項１３】
前記第１のリングネットワークのブロッキングは、前記第１のリングネットワークの、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路部分に設けられ、
前記第２のリングネットワークのブロッキングは、前記第２のリングネットワークの、前記第３のコンピュータと前記第２のコンピュータとを接続する通信路部分に設けられること
を特徴とする請求項１２に記載の２重化リングネットワーク。
【請求項１４】
前記第１のリングネットワークの、前記第４のコンピュータと前記第１のコンピュータとを接続する通信路部分、および、前記第２のリングネットワークの、前記第３のコンピュータと前記第２のコンピュータとを接続する通信路部分、の少なくとも一方の通信路部分に、前記４台のコンピュータとは別のコンピュータまたはネットワークスイッチからなる１台以上のノード装置が接続されること
を特徴とする請求項１２に記載の２重化リングネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の処理を相互に同期化しながら実行する４重化コンピュータシステム、および、その４重化コンピュータシステムを構成するコンピュータを相互に接続する２重化リングネットワークに関する。
【背景技術】
【０００２】
コンピュータシステムの高信頼化を図る方法として、３台以上のコンピュータに同じ処理を実行させ、それぞれのコンピュータの処理によって得られた結果について、その多数決をとる方法が知られている。このような多数決の機能を有する多重化コンピュータシステムにおいて問題となるのは、多数決をとるタイミングをいかにして同期化するか、つまり、処理の同期化である。
【０００３】
特許文献１には、クロック同期バスを有し、そのクロック同期バスを用いて、それぞれのコンピュータの動作をクロックレベルで同期化する３重化コンピュータシステムの例が開示されている。その３重化コンピュータシステムにおいては、それぞれのコンピュータは、同期化されたクロックで動作し、適宜、その処理結果を多数決回路へ出力している。従って、多数決回路は、それぞれのコンピュータの処理の結果について、いつでも多数決をとることができる。すなわち、特許文献１に開示された３重化コンピュータシステムにおいては、処理の同期化の問題は生じないように見える。
【０００４】
しかしながら、特許文献１に開示された３重化コンピュータシステムにおいては、それぞれのコンピュータの動作がクロックレベルで同期化されるため、１のコンピュータが処理結果を出力するタイミングと、他の２つのコンピュータが処理結果を出力するタイミングと、が１クロックでもずれた場合には、その１のコンピュータは誤動作している（障害がある）とみなされる。従って、１のコンピュータ内で、例えば、メモリのエラー訂正などによる処理のクロックずれが生じた場合にも、誤動作しているとみなされる。つまり、特許文献１に開示された３重化コンピュータシステムにおける同期化法は、同期化するタイミングが厳格なため、メモリのエラー訂正などさえもできなくなり、かえって融通のきかないものとなっている。
【０００５】
また、特許文献１に開示された３重化コンピュータシステムに限らず、一般の３重化コンピュータシステムの場合には、いずれか１のコンピュータに障害が生じた場合には、多数決による処理結果の信頼性を確保することができなくなる。同様に、１のコンピュータを保守するために停止した場合にも、多数決による処理結果の信頼性を確保することができない。
【特許文献１】特開平９−１６５３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明においては、互いに非同期で動作する汎用のパソコンなどを用いて、４重化コンピュータシステムを構築することを想定する。４重化コンピュータシステムの場合には、１のコンピュータが障害または保守のために停止した場合でも、残りの３台のコンピュータの処理結果により多数決をとることができる。また、非同期で動作するコンピュータ同士での処理の同期化は、プログラムの処理で行うことになるので、処理の同期ずれを如何様にも一致させることができる。つまり、処理の同期化の融通性を高めることができる。
【０００７】
その一方で、このような４重化コンピュータシステムには、新たな課題が発生する。第１に、処理の同期化をプログラムで行うため、その所要時間が長くなりがちになる。従って、処理の同期化に要する時間を、如何にして短縮するかという課題が生じる。
【０００８】
また、第２に、４重化コンピュータシステムを構成する４台のコンピュータのうち、１台のコンピュータに障害が生じた場合に、どのような通信路の構成にすれば、残り３台のコンピュータ間で同期化を行うための同期化データを相互に送受信することができ、多数決を行うことが可能となるか、つまり、より信頼性の高い４重化コンピュータシステムをどのように構築するかという課題が生じる。
【０００９】
本発明は、以上の課題を解決するためになされたものであり、その発明の目的は、４重化コンピュータシステムにおいて、処理の同期化の所要時間を短縮することができ、さらに、その４重化コンピュータシステムを構成する４台のコンピュータのうち、１台のコンピュータに障害が生じた場合であっても、残りの３台のコンピュータ間で継続して処理の同期化および多数決が可能であるような高信頼の４重化コンピュータシステムおよび２重化リングネットワークを提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、前記発明の目的を達成するために、４重化コンピュータシステムを構成する４台のコンピュータを、ストアアンドフォーワード型の２重のリングネットワークによって相互に接続する。そして、その２重のリングネットワークを、互いに独立に動作する第１のリングネットワークと第２のリングネットワークとによって構成する。このとき、前記４台のコンピュータを４辺形の各頂点に配置したとしたとき、その各頂点に配置された各コンピュータを、前記４辺形の各辺に沿った通信路によって相互に接続して、第１のリングネットワークを構成する。また、前記４辺形の各頂点に配置された各コンピュータを、前記４辺形の４辺のうち互いに対向する２辺に沿って形成された通信路、および、前記４辺形の２つの対角線に沿って形成された通信路によって相互に接続して、第２のリングネットワークを構成する。
【００１１】
以上のようにストアアンドフォーワード型の２重のリングネットワークで４台のコンピュータを相互に接続した場合には、詳細は実施形態で説明するように、それぞれのコンピュータは、２重のリングネットワークの少なくとも一方を介して、他の３台のコンピュータすべてが隣接することになる。そのため、４台のコンピュータ間で処理の同期化を行うための同期化データを他の３台のコンピュータすべてから直接に、つまり、途中に、さらに他のコンピュータを介在させることなく受信することができる。そのため、それぞれのコンピュータは、処理の同期化の所要時間を短縮化することができる。
【００１２】
また、以上のように構成したストアアンドフォーワード型の２重のリングネットワークの場合には、４台のコンピュータのうち、１台のコンピュータに障害が生じた場合であっても、２重のリングネットワークの少なくとも一方のネットワークを介して、３台のコンピュータ間の接続が保たれる。従って、その３台のコンピュータ間で同期化データの送受信を行うことができるので、その３台のコンピュータの処理結果について、多数決をとることができる。
【００１３】
ここで、ストアアンドフォーワード型のリングネットワークとは、コンピュータ、ルータ、スイッチングハブなど、いわゆるノード装置を通信路で相互に接続し、その通信路全体がリング状を呈するネットワークであって、そのネットワークの各ノード装置が、送信されてきたパケットを受信、いったんバッファリング（一時記憶）した後、そのパケットを隣接するノード装置へ送信するように構成されたネットワークをいう。
【発明の効果】
【００１４】
本発明の４重化コンピュータシステムによれば、処理の同期化の所要時間を短縮することができ、さらには、その４重化コンピュータシステムを構成する４台のコンピュータのうち、１台のコンピュータに障害が生じた場合であっても、残りの３台のコンピュータ間で継続して処理の同期化および多数決が可能であるような高信頼性を実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１６】
図１は、本発明の実施形態に係る４重化コンピュータシステムおよび２重化リングネットワークの構成の例を示した図である。
【００１７】
図１（ａ）に示すように、４重化コンピュータシステム７は、４台のコンピュータ１によって構成され、それぞれのコンピュータ１は、ＣＰＵ（Central Processing Unit）１１、メインメモリ１２および２つのＮＩＣ（Network Interface Card）１３を含んで構成される。また、これら４台のコンピュータ１は、２重のリングネットワークで相互に接続され、図１（ａ）では、その第１のリングネットワークは、ネットワーク（＃１）２ａとして太い実線で描かれ、第２のリングネットワークは、ネットワーク（＃２）２ｂとして太い破線で描かれている。
【００１８】
さらに、図１（ａ）に示すように、各コンピュータ１に含まれる２つのＮＩＣ１３のそれぞれは、２つの送受信ポート１３１を備えている。送受信ポート１３１は、図１（ａ）では、ＮＩＣ１３を表す長方形ブロックの上辺または下辺に小さな正方形の端子として描かれている。
【００１９】
図
また、各コンピュータ１の一方（図１（ａ）では、左側）のＮＩＣ１３の２つの送受信ポート１３１には、太い実線で描かれたネットワーク（＃１）２ａが接続され、他方（図１（ａ）では、右側）のＮＩＣ１３の２つの送受信ポート１３１には、太い破線で描かれたネットワーク（＃２）２ｂが接続される。
【００２０】
図１（ｂ），（ｃ）は、図１（ａ）における４台のコンピュータの接続関係を取り出して示した略図である。図１（ｂ）に示すように、第１のリングネットワークであるネットワーク（＃１）２ａは、４台のコンピュータ１を（＃１）−（＃２）−（＃３）−（＃４）−（（＃１））の順でリング状に接続する。また、図１（ｃ）に示すように、第２のリングネットワークであるネットワーク（＃２）２ｂは、４台のコンピュータ１を（＃２）−（＃４）−（＃１）−（＃３）−（（＃２））の順でリング状に接続する。
【００２１】
また、図１（ａ）に示すように、ネットワーク（＃１）２ａの、コンピュータ（＃４）−（＃１）間をつなぐ通信路の両端には、ブロッキング３が設けられ、また、同様に、ネットワーク（＃２）２ｂの、コンピュータ（＃３）−（＃２）間をつなぐ通信路の両端には、ブロッキング３が設けられる。なお、本明細書では、リングネットワークのうち、２つのコンピュータ１をつなぐ部分を取り出していう場合には、通信路と呼ぶ。
【００２２】
ここで、ブロッキング３とは、ブロッキング３に接する送受信ポート１３１のパケット送受信機能を停止させることを意味するマークであり、一般のリングネットワークでも、パケットがそのリングネットワークを複数周回するのを防止するために設けられる。このようなブロッキング３は、そのブロッキング３に接する送受信ポート１３１を備えたＮＩＣ１３が、その送受信ポート１３１のパケット送受信機能を停止させることによって実現される。このように、ブロッキング３を設定するために、パケット送受信機能を停止させた送受信ポート１３１をブロッキングポートという。
【００２３】
次に、本実施形態に係る４重化コンピュータシステム７で用いられる２重のリングネットワーク（ネットワーク（＃１）２ａおよびネットワーク（＃２）２ｂ）における４つのコンピュータ１の接続構成の特徴について説明する。
【００２４】
本実施形態では、図１（ａ）〜（ｃ）に示したように、４重化コンピュータシステム７を構成する４つのコンピュータ１を、４辺形の各頂点の配置した場合を想定する。その場合、第１のリングネットワークであるネットワーク（＃１）２ａは、図１（ｂ）に示すように、４辺形の各辺に沿った通信路によって、それぞれのコンピュータ１を接続するように構成される。また、第２のリングネットワークであるネットワーク（＃２）２ｂは図１（ｃ）に示すように、その４辺形の４辺のうち対向する２辺に沿った通信路、および、前記４辺形の２つの対角線に沿った通信路により、それぞれのコンピュータ１を接続するように構成される。
【００２５】
以上の構成において、ネットワーク（＃１）２ａは、４台のコンピュータ１を、まさにリング状（Ｏ字状）に接続しているが、ネットワーク（＃２）２ｂは、４台のコンピュータ１を、横の８字状に接続している。
【００２６】
また、この場合、ネットワーク（＃２）２ｂのブロッキング３は、ネットワーク（＃２）２ｂを構成する通信路部分であって、４辺形の前記対向する２辺に沿って設けられた通信路のうち、一方の通信路の通信路部分に設けられる。また、ネットワーク（＃１）２ａのブロッキング３は、ネットワーク（＃１）２ａを構成する通信路部分であって、ネットワーク（＃２）２ｂが設けられた通信路部分に沿った辺に対向する辺に沿った通信路の通信路部分に設けられる。
【００２７】
すなわち、図１（ａ）に示すように、ネットワーク（＃２）２ｂのブロッキング３が、コンピュータ（＃２）−（＃３）をつなぐ辺に沿った通信路部分に設けられた場合には、ネットワーク（＃１）２ａのブロッキング３は、その辺に対向する辺に沿ったコンピュータ（＃４）−（＃１）をつなぐ通信路部分に設けられる。
【００２８】
なお、図１においては、ネットワーク（＃２）２ｂは、４台のコンピュータ１を、横の８字状に接続しているが、縦の８字状に接続するようにしてもよい。その場合には、ネットワーク（＃２）２ｂを構成する通信路のうち、４台のコンピュータ１を頂点とする４辺形の辺に沿った通信路は、前記４辺形の上辺または下辺に沿った通信路になるので、その通信路の一方（例えば、コンピュータ（＃３）−（＃４）をつなぐ通信路）にブロッキング３が設けられる。また、ネットワーク（＃１）２ａのブロッキング３は、ネットワーク（＃２）２ｂにブロッキングが設けられた通信路に対向する通信路（例えば、コンピュータ（＃１）−（＃２）をつなぐ通信路）に設けられる。
【００２９】
以上、図１を用いて、４台のコンピュータ１を４辺形の各頂点に配置したことを想定して、その２重のリングネットワークの接続構成の特徴について説明したが、これは、４台のコンピュータ１の物理的な配置位置を限定するものではない。以上に説明した２重のリングネットワークの接続構成の特徴は、トポロジカルな接続関係を表したものあって、４台のコンピュータ１の物理的配置は、どのような配置であってもよい。
【００３０】
続いて、４重化コンピュータシステム７において、以上のようにネットワーク（＃１）２ａおよびネットワーク（＃２）２ｂを構成したことについての効果を説明する必要があるが、その前に、ＮＩＣ１３の内部構成およびコンピュータ１における処理の同期化の方法について説明する。
【００３１】
図２は、本発明の実施形態に係る４重化コンピュータシステム７で用いられるコンピュータ１およびコンピュータ１に含まれるＮＩＣ１３の構成の例を示した図である。図２に示すように、また、図１でもその構成の一部を示したように、コンピュータ１は、ＣＰＵ１１、メインメモリ１２、２つのＮＩＣ１３などが内部バス１４を介して相互に接続されて構成される。このとき、コンピュータ１は、ハードディスク装置、表示装置、キーボード、各種のセンサ装置、制御装置などを、さらに含んでいてもよい。
【００３２】
また、ＮＩＣ１３は、送受信ポート１３１、ポート接続スイッチ１３２、パケットバッファメモリ１３３、送受信制御部１３４などを含んで構成される。
【００３３】
送受信ポート１３１は、以下、図示を省略するが、電気的な送受信回路と、ネットワークケーブルを接続するためのコネクタジャックと、により構成される。そして、そのコネクタジャックには、例えば、イーサネット（登録商標）仕様の通信ケーブルが接続され、その通信ケーブルによって、２つのコンピュータ１をつなぐ通信路２１ａ，２１ｂ（図２参照）が形成される。
【００３４】
なお、図２の通信路２１ａは、図１のネットワーク（＃１）２ａの一部を構成し、通信路２１ｂは、ネットワーク（＃２）２ｂの一部を構成する。従って、図２に示した左側のＮＩＣ１３ａは、ネットワーク（＃１）２ａにおける通信を制御し、また、右側のＮＩＣ１３ｂは、ネットワーク（＃２）２ｂにおける通信を制御する。
【００３５】
図２において、ポート接続スイッチ１３２は、いわゆるＬ２スイッチに相当し、単なる通路スイッチとしての機能だけでなく、パケットの宛先アドレス判定や属性の判定などの機能、送受信ポート１３１をブロッキングポートとして動作させる機能などを備える。また、パケットバッファメモリ１３３は、送受信ポート１３１を介して受信されたパケットを一時記憶するメモリであり、例えば、ＤＲＡＭ（Dynamic Random Access Memory）などで構成される。
【００３６】
送受信制御部１３４は、ポート接続スイッチ１３２やパケットバッファメモリ１３３を、適宜、制御することにより、パケットの送受信に関し、様々な制御を行う。例えば、受信したパケットが自身のコンピュータ１宛であったような場合には、送受信制御部１３４は、その旨をＣＰＵ１１に通知し、その受信したパケットからヘッダ部などを取り除いた受信データをメインメモリ１２へ転送する制御を行う。また、ＣＰＵ１１が送信データを出力する場合には、送受信制御部１３４は、その送信データにヘッダ部などを、適宜、付加して送信パケットを構成し、ポート接続スイッチ１３２を介して左右両方の送受信ポート１３１からその送信パケットを送出する制御を行う。さらに、送受信制御部１３４は、他のコンピュータ１の障害などに伴うブロッキング３の設定変更処理やその設定変更処理時の送受信機能の停止などを制御する機能も有している。
【００３７】
図２において、メインメモリ１２は、同期化データ領域１２１を有している。ここで、同期化データ領域１２１は、自身のコンピュータ１、つまり、ＣＰＵ１１によって生成された同期化データ（例えば、同期化データ＃１）と、他の３台のコンピュータ１から送信されてきた同期化データ（例えば、同期化データ＃２〜＃４）と、から構成される。これらの同期化データ＃１〜＃４の扱いについては、次に、図３を参照して説明する。
【００３８】
図３は、各コンピュータ１における処理の同期化のフローの例を示した図である。ここで、処理の同期化とは、同じ処理のプログラムを実行する複数のコンピュータ間で、プログラムの実行進度の一致化を行うことをいう。本実施形態では、４重化コンピュータシステム７を構成する４台のコンピュータ１（図１参照）の間で処理の同期化を行うが、これら４台のコンピュータ１は、互いに非同期のクロックで動作しているものとする。そして、その処理の同期化を、所定の１まとまりの処理（以下、タスクという）を終了するたびに行うものとする。
【００３９】
図３に示すように、ＣＰＵ１１は、あるタスクＡを終了すると（ステップＳ０）、２つのＮＩＣ１３ａ，１３ｂのそれぞれに含まれる送受信制御部１３４に対し、例えば、タスクＡの識別番号などを含んでなる同期化データの送出を指示する（ステップＳ１）。
【００４０】
ＮＩＣ１３ａ，１３ｂのそれぞれに含まれる送受信制御部１３４は、ＣＰＵ１１から同期化データの送出の指示を受けると、指示された同期化データを、所定の形式のパケットにし、ポート接続スイッチ１３２および２つの送受信ポート１３１を介して、通信路２１ａ，２１ｂへ送出する（ステップＳ１１）。従って、各コンピュータ１からは、同じ同期化データがネットワーク（＃１）２ａおよびネットワーク（＃２）２ｂのそれぞれに送出される。
【００４１】
なお、同期化データを含んだパケットは、ブロードキャストパケットとして送出されるが、そのパケットには、そのパケットが同期化データを含むパケットであることを識別する情報が含まれているものとする。
【００４２】
ＮＩＣ１３ａ，１３ｂのそれぞれの送受信制御部１３４は、他方で、他のコンピュータ１から送信される同期化データの受信を待ち、他のコンピュータ１から送信された同期化データを受信すると（ステップＳ１２）、その受信した同期化データを送信元のコンピュータ１に対応する同期化データ領域に格納する（ステップＳ１３）。例えば、受信した同期化データの送信元がコンピュータ（＃２）であれば、同期化データ領域１２１の同期化データ＃２の部分に格納する。
【００４３】
なお、送受信制御部１３４が受信した同期化データを同期化データ領域１２１に格納する動作は、例えば、ＤＭＡ（Direct Memory Access）によるものする。
【００４４】
前記したように、各コンピュータ１からは、同じ同期化データが通信路２１ａ，２１ｂの両方に送出されるので、それを受信するコンピュータ１においては、ＮＩＣ１３ａ，１３ｂのそれぞれの送受信制御部１３４が、送信元が同じ同期化データをそれぞれ独立に受信し、それぞれのパケットバッファメモリ１３３に格納する。そして、それぞれの送受信制御部１３４は、同期化データが先着した場合に、その同期化データを同期化データ領域１２１へ転送し、後着した場合には、その同期化データを廃棄する。
【００４５】
この動作を実現するには、例えば、同期化データ領域１２１の各同期化データ（ただし、自身のコンピュータ１に対応する同期化データを除く）に対し、着信済みを表すフラグを設けておき、送受信制御部１３４が着信済みフラグを読み取って、その着信済みフラグがセットされていない場合には、ステップＳ１３を実行し、着信済みフラグがセットされている場合には、ステップＳ１３をスキップするようにすればよい。
【００４６】
以上のようにして他のコンピュータ１から同期化データを受信する一方で、ＣＰＵ１１は、同期化データ領域１２１に格納された同期化データの検証を行う（ステップＳ２）。ここで、同期化データの検証とは、他のコンピュータ１から送信されてきた同期化データが有効であるか否かを判定する処理である。例えば、他のコンピュータ１から送信されてきた同期化データと、自身のコンピュータ１の処理によって生成した同期化データと、が同じ、または、あらかじめ定められた所定の関係を満たす場合には、その同期化データは有効であるとする。なお、所定の関係とは、例えば、同期化データ同士の剰余コードやハッシュが同じになる関係であったり、同じ数列関係であったりする場合をいう。
【００４７】
そして、その検証の結果、他のすべてのコンピュータ１から有効な同期化データを受信していた場合には（ステップＳ３でＹｅｓ）、次のタスクを起動する（ステップＳ４）。このとき、次のタスクがタスクＢであった場合には、ＣＰＵ１１は、タスクＢの処理を開始する（ステップＳ５）。また、他のすべてのコンピュータ１から、未だ、有効な同期化データを受信していない場合には（ステップＳ３でＮｏ）、再度、同期化データの検証を行う（ステップＳ２）。
【００４８】
なお、ここでいう「すべてのコンピュータ１」とは、４重化コンピュータシステム７を構成する４台のコンピュータ１がすべて正常に稼働している場合には、自身を除く他のコンピュータ３台を指し、４台のコンピュータのうち、障害のため、いずれか１台が稼働していない場合には、自身を除く稼働中の他のコンピュータ２台を指す。
【００４９】
続いて、図４〜図６を参照して、以上のように構成した４重化コンピュータシステム７が奏する効果について説明する。
【００５０】
図４は、図１に示した４重化コンピュータシステム７における４台のコンピュータ１の接続構成の例を示した図であり、（ａ）は、ネットワーク（＃１）２ａの接続順に従ってコンピュータ１の配列を示した図、（ｂ）は、ネットワーク（＃２）２ｂの接続順に従ってコンピュータ１の配列を示した図である。すなわち、図４（ａ）と図４（ｂ）とでは、コンピュータ１の表示上の配列が異なるだけであって、いずれも図１に示した４重化コンピュータシステム７におけるコンピュータ１の接続構成を表したものである。なお、図４（ａ），（ｂ）において、ブロッキング３の位置も、図１に示した４台のコンピュータ１の接続構成におけるブロッキング３の位置に一致させている。
【００５１】
以上のように、図４（ａ），（ｂ）は、いずれも同じものを表したものであるが、図４（ａ）からは、４台のコンピュータ１がネットワーク（＃１）２ａによってコンピュータ（＃１）−（＃２）−（＃３）−（＃４）の順序でループ状に接続されていることが容易に分かり、図４（ｂ）からは、４台のコンピュータ１がネットワーク（＃２）２ｂによってコンピュータ（＃２）−（＃４）−（＃１）−（＃３）の順序でループ状に接続されていることが容易に分かる。
【００５２】
図５は、図１に示した４重化コンピュータシステム７を構成するそれぞれのコンピュータ１が、２重のリングネットワーク（ネットワーク（＃１）２ａおよびネットワーク（＃２）２ｂ）を介して相互に隣接していることを示した図である。
【００５３】
図５では、図４での説明に基づき、コンピュータ１の接続関係をさらに簡略化して表示している。すなわち、図５（ａ）〜（ｄ）の各図において、その上段の図は、ネットワーク（＃１）２ａの接続順にコンピュータ１の配列を表した図、その下段の図は、ネットワーク（＃２）２ｂの接続順にコンピュータ１の配列を表した図である。従って、その上段および下段のコンピュータ１の配列において、同じ＃番号が付されたコンピュータ１は、実体として同一のコンピュータ１を表している。
【００５４】
図５（ａ）において、○印を付したコンピュータ（＃１）は、基準となるコンピュータ１を表し、また、上に開いた波括弧（｛）は、基準となるコンピュータ１に対し、隣接するコンピュータ１の範囲を示した図である。すなわち、図５（ａ）は、コンピュータ（＃１）がネットワーク（＃１）２ａを介してコンピュータ（＃２）に隣接し、また、ネットワーク（＃２）２ｂを介してコンピュータ（＃３）および（＃４）に隣接していることを表している。
【００５５】
同様に、図５（ｂ）は、コンピュータ（＃２）がネットワーク（＃１）２ａを介してコンピュータ（＃１）および（＃３）に隣接し、また、ネットワーク（＃２）２ｂを介してコンピュータ（＃４）に隣接していることを表している。また、図５（ｃ）は、コンピュータ（＃３）がネットワーク（＃１）２ａを介してコンピュータ（＃２）および（＃４）に隣接し、また、ネットワーク（＃２）２ｂを介してコンピュータ（＃１）に隣接していることを表している。また、図５（ｄ）は、コンピュータ（＃４）がネットワーク（＃１）２ａを介してコンピュータ（＃３）に隣接し、また、ネットワーク（＃２）２ｂを介してコンピュータ（＃１）および（＃２）に隣接していることを表している。
【００５６】
以上のように、本実施形態においては、４台のそれぞれのコンピュータ１は、ネットワーク（＃１）２ａまたはネットワーク（＃２）２ｂを介して他の３台のコンピュータ１のいずれにも隣接していることになる。
【００５７】
本実施形態では、前記したように、処理の同期化に際しての同期化データは、ネットワーク（＃１）２ａおよびネットワーク（＃２）２ｂの両方に送出され、また、それぞれのコンピュータ１は、先に受信した同期化データを利用して、処理の同期化を行う。すなわち、それぞれのコンピュータ１は、隣接する他の３台のコンピュータ１から同期化データを直接に受信することができる。
【００５８】
ここで、比較例の４重化コンピュータシステムを想定する。比較例の４重化コンピュータシステムでは、その４台のコンピュータを接続する２重のリンクネットワークは、単純な２重構成であるとする。すなわち、その第１のネットワークおよび第２のネットワークのいずれにおいても、その４台のコンピュータを接続する接続関係は同じであるとする。従って、その第１のネットワークおよび第２のネットワークは、いずれも、例えば、図５（ａ）上段の図のように、コンピュータを（＃１）−（＃２）−（＃３）−（＃４）の順序で接続したリングネットワークとして表される。
【００５９】
この比較例の場合には、コンピュータ（＃１）は、コンピュータ（＃２）の同期化データを直接に受信することができるが、コンピュータ（＃３）の同期化データは、コンピュータ（＃２）を介して受信することになる。その場合、コンピュータ（＃３）から送信された同期化データは、コンピュータ（＃２）のパケットバッファメモリ１３３にいったん記憶された上で、コンピュータ（＃１）へ送信される。その結果、コンピュータ（＃３）から送信された同期化データは、コンピュータ（＃２）を経由する分だけ遅くコンピュータ（＃１）へ到着することになる。また、コンピュータ（＃４）から送信された同期化データは、コンピュータ（＃３）およびコンピュータ（＃２）を経由するので、さらに遅くコンピュータ（＃１）に到着する。
【００６０】
従って、この比較例の場合には、本発明の実施形態の場合に比べ、あるコンピュータが他の３台のコンピュータのすべての同期化データを受信するのに、長い時間を要していることになり、その分、処理の同期化に要する時間も長くなっていることになる。言い換えれば、本発明の実施形態により、処理の同期化に要する時間が短縮されたことになる。
【００６１】
図６は、図１の４重化コンピュータシステム７を構成する４台のコンピュータ１のうち１台のコンピュータ１に障害が発生したとき、他の３台のコンピュータ１が、２重のリングネットワーク（ネットワーク（＃１）２ａおよびネットワーク（＃２）２ｂ）の一方のネットワークを介して相互に接続されている状態にあることを示した図である。
【００６２】
図６（ａ）において、×印を付したコンピュータ（＃１）は、障害が発生したコンピュータ１を表し、上に開いた波括弧（｛）は、３台のコンピュータ１が継続して接続された状態にあることを表している。なお、ここでいうコンピュータ（＃１）の障害に程度は、重度のものであり、ＣＰＵ１１からすべての送受信ポート１３１まで一切の機能が失われたような障害であるとする。
【００６３】
図６（ａ）に示すように、コンピュータ（＃１）に障害が発生した場合、ネットワーク（＃１）２ａでは、コンピュータ（＃２）−（＃３）−（＃４）の接続が維持されるが、ネットワーク（＃２）２ｂでは、その接続が障害のコンピュータ（＃１）によって切断される。しかしながら、コンピュータ（＃２），（＃３），（＃４）は、ネットワーク（＃１）２ａによる接続を介して、同期化データを相互に送受信することができるので、処理の同期化を行うことができる。
【００６４】
同様に、図６（ｂ）は、コンピュータ（＃２）に障害が発生した場合であっても、ネットワーク（＃２）２ｂにより、コンピュータ（＃４）−（＃１）−（＃３）の接続が維持されていることを表している。また、図６（ｃ）は、コンピュータ（＃３）に障害が発生した場合であっても、ネットワーク（＃２）２ｂにより、コンピュータ（＃２）−（＃４）−（＃１）の接続が維持されていることを表している。また、図６（ｄ）は、コンピュータ（＃４）に障害が発生した場合であっても、ネットワーク（＃１）２ａにより、コンピュータ（＃１）−（＃２）−（＃３）の接続が維持されていることを表している。
【００６５】
従って、いずれの場合にも、１台のコンピュータ１に障害が発生しても、残りの３台のコンピュータ１の接続は、ネットワーク（＃１）２ａまたはネットワーク（＃２）２ｂにより維持されたままの状態になるので、それら３台のコンピュータ１の間では、同期化データを相互に送受信することができるので、処理の同期化を行うことができる。
【００６６】
以上のように、本実施形態の４重化コンピュータシステム７においては、そのいずれかの１台のコンピュータ１に障害が発生した場合であっても、残りの３台の接続が維持されるため、その３台のコンピュータ１により処理の同期化を行うことができ、さらに、処理の同期化をした時点で、処理結果の多数決をとることができる。
【００６７】
ちなみに、前記した比較例の４重化コンピュータシステムにおいて、コンピュータ（＃２）または（＃３）に障害が発生した場合（図６（ｂ），（ｃ）の各上段の図を参照）には、残りの３台のコンピュータの接続が維持されない。従って、その残りの３台のコンピュータの間で、処理の同期化ができなくなり、また、処理結果の多数決をとることもできなくなる。
【００６８】
なお、よく知られているように、リングネットワークにおいては、ブロッキングの位置を変更することによって、障害の発生したコンピュータを除外したネットワークを構成することができる。前記した比較例の場合にも、それが可能であり、障害の発生したコンピュータを除外するようにブロッキングの位置を変更すると、再び、残された３台のコンピュータにより処理の同期化ができ、処理結果の多数決をとることができるようになる。
【００６９】
しかしながら、その場合には、ブロッキングの位置を変更するとき、わずかな時間ではあるが、そのネットワークにおける通信が不能となる。それに対し、本実施形態の場合には、２重のリングネットワークのうち、いずれか一方のリングネットワークでは、３台のコンピュータの接続が維持されたままの状態にあるので、他方のリングネットワークでブロッキングの位置を変更しても通信が不能になることはない。
【００７０】
従って、以上の点において、本実施形態の４重化コンピュータシステム７は、比較例の４重化コンピュータシステムよりも高い信頼性を有しているといえる。
【００７１】
図７は、図１に示した４重化コンピュータシステム７における２重化リングネットワークに対し、他のコンピュータやネットワークスイッチを接続する場合の例を示した図である。図７において、他のコンピュータは、コンピュータ（＃５）１ａ、コンピュータ（＃６）１ｂと表し、ネットワークスイッチは、ＬＡＮＳＷ（＃１）４ａ、ＬＡＮＳＷ（＃２）４ｂと表している。なお、ここでいうネットワークスイッチは、いわゆるスイッチングハブやルータを指す。
【００７２】
図７に示すように、コンピュータ（＃５）１ａおよびＬＡＮＳＷ（＃１）４ａは、ネットワーク（＃１）１ａの、コンピュータ（＃４）およびコンピュータ（＃１）をつなぐ通信路部分に接続される。この通信路部分は、図４（ａ）では、ブロッキング３により、通信可能なネットワークから除外されていた部分である。ただし、図７の場合には、コンピュータ（＃５）１ａおよびＬＡＮＳＷ（＃１）４ａは、４重化コンピュータシステム７を構成するコンピュータ（＃１）〜（＃４）との間で通信する必要があるので、ブロッキング３は、例えば、コンピュータ（＃５）１ａとＬＡＮＳＷ（＃１）４ａとの間に設けられる（図示省略）。
【００７３】
このように、コンピュータ（＃５）１ａおよびＬＡＮＳＷ（＃１）４ａの少なくとも一方を、この通信路部分に接続する限りは、図５および図６を用いて説明した４重化コンピュータシステム７の効果は、喪失されない。
【００７４】
同様に、コンピュータ（＃６）１ｂおよびＬＡＮＳＷ（＃２）４ｂは、ネットワーク（＃２）１ｂの、コンピュータ（＃３）およびコンピュータ（＃４）をつなぐ通信路部分に接続される。この通信路部分は、図４（ａ）では、ブロッキング３により、通信可能なネットワークから除外されていた部分である。ただし、図７の場合には、コンピュータ（＃６）１ｂおよびＬＡＮＳＷ（＃２）４ｂは、４重化コンピュータシステム７を構成するコンピュータ（＃１）〜（＃４）との間で通信する必要があるので、ブロッキング３は、例えば、コンピュータ（＃６）１ｂとＬＡＮＳＷ（＃２）４ｂとの間に設けられる（図示省略）。
【００７５】
このように、コンピュータ（＃６）１ｂおよびＬＡＮＳＷ（＃２）４ｂの少なくとも一方を、この通信路部分に接続する限りは、図５および図６を用いて説明した４重化コンピュータシステム７の効果は、喪失されない。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施形態に係る４重化コンピュータシステムおよび２重化リングネットワークの構成の例を示した図。
【図２】本発明の実施形態に係る４重化コンピュータシステムで用いられるコンピュータおよびそのコンピュータに含まれるＮＩＣの構成の例を示した図。
【図３】各コンピュータにおける処理の同期化のフローの例を示した図。
【図４】４重化コンピュータシステムにおける４台のコンピュータの接続構成の例を示した図。
【図５】４重化コンピュータシステムを構成するそれぞれのコンピュータが２重のリングネットワークを介して相互に隣接していることを示した図。
【図６】４重化コンピュータシステムを構成する４台のコンピュータのうち１台のコンピュータに障害が発生したとき、他の３台のコンピュータが、２重のリングネットワークの一方のネットワークを介して相互に接続されている状態にあることを示した図。
【図７】４重化コンピュータシステムにおける２重化リングネットワークに対し、他のコンピュータやネットワークスイッチを接続する場合の例を示した図。
【符号の説明】
【００７７】
１      コンピュータ
３      ブロッキング
２ａ    ネットワーク（＃１）：第１のリングネットワーク
２ｂ    ネットワーク（＃２）：第２のリングネットワーク
７      ４重化コンピュータシステム
１１    ＣＰＵ
１２    メインメモリ
１３    ＮＩＣ
１４    内部バス
１２１  同期化データ領域
１３１  送受信ポート
２１ａ，２１ｂ    通信路
１３２  ポート接続スイッチ
１３３  パケットバッファメモリ
１３４  送受信制御部
【図１】
2010079789.tif 000003
【図２】
2010079789.tif 000004
【図３】
2010079789.tif 000005
【図４】
2010079789.tif 000006
【図５】
2010079789.tif 000007
【図６】
2010079789.tif 000008
【図７】
2010079789.tif 000009