(57)【要約】【課題】  バスに対する不正動作を行うユニットがあっても、フォールトトレラントを実施する。【解決手段】  各ユニット１−１，１−２，２−１，２−２，…，ｎ−１，ｎ−２は、バスドライバ１１−１，…，ｎ２−２を介して両方のバスＡ１０１，バスＢ１０２に接続される。ユニットペア１のユニット１−１、ユニット１−２のいずれかが故障してバスＡ１０１、バスｂ１０２に不正動作を行うと、バス監視回路１０が検出する。それにより、バスＡ１０１から、ユニット１−２，２−２，…，ｎ−２を切断し、バスＢ１０２から、ユニット１−１，２−１，…，ｎ−１を切断する。【選択図】      図１
2006268520.tif 000002
【特許請求の範囲】
【請求項１】
２つのユニットからなる複数個のユニットペアと、全ての前記ユニットと接続される第１のバスと、全ての前記ユニットと接続される第２のバスと、前記第１のバス、または、前記第２のバスで不正が検出されると、ユニットペアの片方のユニットを前記第２のバスから切断し、もう片方のユニットを前記第１のバスから切断する手段とを有することを特徴とするフォールトトレラントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォールトトレラントシステムに関し、特に、二重化バスのフォールトトレラントシステムに関する。
【背景技術】
【０００２】
フォールトトレラント性を高めるために、バスを二重化させ、バスに接続するユニットも二重化させて、二重化したバスやユニットの一方が故障しても残りが動作を継続することで、システムの運用が中断・停止することを避ける技術がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
フォールトトレラント性を高めるために、二重化されたバスと、同じユニットを２つ設けて同じ動作をさせて二重化したユニットのペアが複数組あって、それぞれのユニットペアが前記バスに接続されている装置において、ユニットペアの一方のユニットが故障し、その故障がバス動作に影響を与えるものであった場合（バスに不正な信号を出力し続ける等）、各ユニットやバスは二重化されているにも拘らず、故障ユニットがバスに与える影響で故障ユニット以外のユニットがバスアクセス不能となることがあり、最悪システム停止に至るケースもある。
【０００４】
フォールトトレラント性を高めたシステムは、通常停止が許されない重要な処理をする箇所で使用されることが多く、システム停止は避けなければならない。そのためには、上記の様な故障が発生しても動作継続する必要があった。
【０００５】
本発明では、この様な故障が発生した場合でも、一方のバス、及び各ユニットペアの一方のユニットの動作を復旧させ、システム運用を継続可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明のフォールトトレラントシステムは、２つのユニットからなる複数個のユニットペアと、全ての前記ユニットと接続される第１のバスと、全ての前記ユニットと接続される第２のバスと、前記第１のバス、または、前記第２のバスで不正が検出されると、ユニットペアの片方のユニットを前記第２のバスから切断し、もう片方のユニットを前記第１のバスから切断する手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明においては、以下に記載するような効果がある。
【０００８】
フォールトトレラント性を高めるために、バスやそれに接続されたユニットを二重化することによって、ひとつのユニットの故障ではシステムが停止しない様に設計されている装置においても、ユニットの故障がバスへ不正なアクセスを続けることで他の正常なユニットがバスを使用不能となる様な障害が発生すると、二重化されているにも拘らずシステムが停止する可能性があった。
【０００９】
本発明では、この様な障害でもバスや各ユニットペアの一方のユニットを復旧させる手段を設けることによってシステム停止を回避し、運用の継続を可能とすることができる。
【００１０】
フォールトトレラント性を高めた装置は、通常停止が許されない処理に使用されることが多いため、システム停止を回避できることは効果的である。
【発明を実施するための最良の形態】
【００１１】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１２】
図１に、本発明の一実施例として二重化バス接続ユニット（フォールトトレラントシステム）の構成例を示す。
【００１３】
二重化バスはバスＡ１０１とバスＢ１０２で構成される。一方のバスがなんらかの障害で使用不可となっても残った他方のバスを使用して動作継続可能となる。また、バスに接続されるユニットも二重化されており、ユニットペア１はユニット１−１，ユニット１−２で構成され、ユニットペア２はユニット２−１，ユニット２−２で構成され、…、ユニットペアｎはユニットｎ−１，ユニットｎ−２で構成されており、それぞれの構成ユニットは互いに全く同じ動作をしている。もし一方にエラーが発生しても、正常な他方が動作を継続し、システムの運用に影響を与えないようになっている。各ユニットは二重化されたバスを構成するバスＡ１０１，バスＢ１０２の両方に接続されており、他のユニットとのデータ送受信はバスＡ１０１，バスＢ１０２に同じデータを入出力することで行われる。
【００１４】
各ユニットはバスとバスドライバを通して接続されており、バスドライバは、ユニットからバスへの信号出力，バスからユニットへの信号入力を行うための回路である。このバスドライバはハイインピーダンス状態になることが可能で、ハイインピーダンス状態になると、ユニットとバスの間は電気的に切断された状態になる。また、バスにはバス監視回路１０が接続され、バス上の信号の変化やバスを使用しているユニットがどれか等を監視し、バス使用時の規定が守られているかをチェックしている。さらにバス監視回路１０はバスドライバ１１−１，１１−２，１２−１，１２−２，バスドライバ２１−１，２１−２，２２−１，２２−２，…，バスドライバｎ１−１，ｎ１−２，ｎ２−１，ｎ２−２に対して、ハイインピーダンス状態になるよう指示する機能を持っている。
【００１５】
各ユニットはバスＡ１０１，バスＢ１０２に対して、バスドライバ１１−１，１１−２，１２−１，１２−２，２１−１，２１−２，２２−１，２２−２，…，ｎ１−１，ｎ１−２，ｎ２−１，ｎ２−２を通してデータを入出力する。
【００１６】
バス監視回路１０がバス上の通信が設計時に決められた規定を外れた状態（例えば、「バス上の信号が規定時間以上変化が無い」、「バスをアクセスする時の規定を守っていない信号が出力され続けている」等）を検出すると、いずれかのユニット故障がバスを使用不能にしている可能性があると判断する。
【００１７】
そして、バス監視回路１０はバスドライバ１１−２，２１−２，ｎ１−２に対してハイインピーダンス状態となるよう指示することによって、ユニット１−１，２−１，…，ｎ−１をバスＢ１０２から電気的に切り離す。また、バスドライバ１２−１，２２−１，…，ｎ２−１に対してハイインピーダンス状態になるように指示することによって、ユニット１−２，２−２，…，ｎ−２をバスＡ１０１から電気的に切り離す。
【００１８】
さらにユニットペア１，２，…，ｎの二重化を解消し、それぞれのユニットペアを構成するユニットに対して、ペアの相手と同じ動作をする必要がないことを通知する。これらバス監視回路１０の処理により、ユニット１−１，２−１，…，ｎ−１はバスＡ１０１を通して動作を継続しようとし、ユニット１−２，２−２，…，ｎ−２はバスＢ１０２を通して動作を継続しようとする。故障ユニットが接続している方のバス及びそのバスに接続しているユニットは、故障ユニットの影響によりバスを使用不能のままだが、もう一方のバスに接続されているユニットは正常にバスを使用することが可能となるため、システムの動作が継続可能となる。
【００１９】
もともと二重化で同じ動作をしていたユニットであるので、一方だけでも正常に復旧すれば、システムは動作を継続することができる。
【００２０】
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。
【００２１】
次に図１〜３を用いて、二重化バス接続ユニット（フォールトトレラントシステム）の障害処理の動作例を説明する。
【００２２】
図１の様に、通常、バス及び各ユニットはそれぞれ二重化されており、二重化されたものどうしで同じ動作・データ送受信を行っている。各ユニットは、他のユニットとのデータ送受信はバスを通して行うが、バスを使用する際にはバス使用権取得，データの送受信方法等、設計者が決めた規定に従って行われる。
【００２３】
ここで、ユニットのひとつが故障して正常な動作ができなくなり、その結果バスに対して不正なアクセスを行う様になったとする。故障ユニットは不正な信号をバスに出し続けたり、バスを不正に占有し続けたりして、他の正常なユニットがバスを使用できなくする可能性がある。
【００２４】
例えば、図２の様にユニット１−１が故障し、バスに対して規定を守らず不正な信号を出し続けたとする。ユニット１−１はバスを使用するための規定を守らずに信号を出力しているため、バス上の信号は不正な状態となり、規定に従ってバスを使用しようとする他の正常なユニットはバスを使用することができない。ユニット１−１の故障が検出されれば、切り離されて同じ動作をしていたユニット１−２が動作を継続していくところであるが、故障は検出されるとは限らないものであり、その場合は不正な動作をし続けてしまうことになる。ユニット１−１以外の正常なユニットはバスを使用できないため、必要なデータ送受信ができない。バスに接続するユニットがシステムにとって重要な構成部品であった場合は、システムの停止に至る可能性が高い。
【００２５】
バス監視回路１０はバス（バスＡ１０１，バスＢ１０２）の信号状態を常に監視し、「どのユニットがバスの使用権を取っているか」、「バス上の信号が規定通りに変化しているか」等をチェックしている。例えば、このバスの規定で、「バス上の信号は、２０クロック以内に変化する」ように設計されているとすると、バス監視回路１０はバスの信号が２０クロック以内に変化しているかを監視する。
【００２６】
もしユニット１−１が故障し、バスに対して固定の値を出力し続けてしまう事象が発生したとする。バス監視回路１０は、バスの信号が２０クロック以上経過しても変化しないことを検知すると、いずれかのユニットが故障してバスに影響を与えている可能性があると判断する。バス監視回路１０は、まずバス及びユニットペアの二重化を解消する指示を出す。
【００２７】
さらに、二重化を解消したユニットのそれぞれが使用するバスを分けるため、ユニット１−１，２−１，…，ｎ−１とバスＢ間の信号を入出力するバスドライバ１１−２，２１−２，…，ｎ２−２に対してハイインピーダンス状態となるように指示する。これにより、ユニット１−１，２−１，…，ｎ−１は電気的にバスＢ１０２と切り離され、バスＡ１０１のみと接続された状態となる。
【００２８】
また、ユニット１−２，２−２，…，ｎ−２とバスＡ間の信号を入出力するバスドライバ１１−１，２１−１，…，ｎ２−１に対してハイインピーダンス状態となるように指示する。これにより、ユニット１−２，２−２，…，ｎ−２は電気的にバスＡ１０１と切り離され、バスＢ１０２のみと接続された状態となる（図３）。
【００２９】
バスＡ１０１と接続されたユニット１−１，２−１，…，ｎ−１をグループＡ、バスＢ１０２と接続されたユニット１−２，２−２，…，ｎ−２をグループＢと呼ぶ。それぞれのグループは相手グループの動作の影響を受けないので、バスに不正なアクセスをしている故障ユニットが属していない方のグループの各ユニットは正常な動作を再開することができる。
【００３０】
本例では、故障ユニット１−１が属するグループＡは依然ユニット１−１からの不正信号によりバスＡ１０１を使用できず、動作不能のままとなる。しかし、ユニット１−１が属していないグループＢは、ユニット１−１がバスＡ１０１に出力する不正信号の影響を受けないため、正常な動作を再開することが可能となる。
【００３１】
バス監視ユニット１０は、相変わらずバスの状態が異常のままのグループＡの方に故障原因があると判断し、切り離す。そして、システムの運用は、正常な動作を再開したグループＢのみで継続することが可能となり、システム停止を回避することができる。
【００３２】
グループＡが切り離され二重化が解消されたままでは、次に故障が発生した時にシステムが停止する可能性があるため、グループＡを復旧させる必要がある。グループＡが異常であることは、バス監視回路１０が出力したメッセージや警報等によってオペレータや保守員に通知され、保守員はグループＡの故障部品を切り分ける。ユニット１−１を交換すると故障原因は除去されて、グループＡが復旧し、再びグループＢと再二重化し、通常の状態に戻る。
【００３３】
以上のように本発明により、部品の故障によりバスが使用不能となる障害でも、動作を再開しシステム運用を継続させることが可能となる。
【図面の簡単な説明】
【００３４】
【図１】本発明を実施するための最良の形態の構成を示すブロック図。
【図２】本発明を実施するための最良の形態の動作を示す説明図。
【図３】本発明を実施するための最良の形態の動作を示す説明図。
【符号の説明】
【００３５】
１    ユニットペア
２    ユニットペア
ｎ    ユニットペア
１−１    ユニット
１−２    ユニット
２−１    ユニット
２−２    ユニット
ｎ−１    ユニット
ｎ−２    ユニット
１０    バス監視回路
１１−１，１１−２，１２−１，１２−２    バスドライバ
２１−１，２１−２，２２−１，２２−２    バスドライバ
ｎ１−１，ｎ１−２，ｎ２−１，ｎ２−２    バスドライバ
１０１    バスＡ
１０２    バスＢ
【図１】
2006268520.tif 000003
【図２】
2006268520.tif 000004
【図３】
2006268520.tif 000005