(57)【特許請求の範囲】
【請求項１】
情報処理装置のバスに接続される冗長化バス接続装置であって、
前記冗長化バス接続装置は、前記情報処理装置の前記バスに接続される、動作用と待機用の複数のバス接続デバイスと、これら複数の各バス接続デバイスに接続されるコンフィグ情報制御部とを備え、
上記各バス接続デバイスが、
当該バス接続デバイスを特定するためのコンフィギュレーション情報が設定されるコンフィギュレーション・レジスタを有し、
上記コンフィグ情報制御部が、
上記各バス接続デバイスに対するコンフィギュレーション情報の設定を監視し、各バス接続デバイスにコンフィギュレーション情報が設定される際に、当該コンフィギュレーション情報を保持するとともに、
動作状態のバス接続デバイスと待機状態のバス接続デバイスとを切り換える際に、保持している各バス接続デバイスのコンフィギュレーション情報のうち、動作状態のバス接続デバイスのコンフィギュレーション情報を待機状態のバス接続デバイスのコンフィギュレーション・レジスタに設定すし、
前記冗長化バス接続装置は、上記各バス接続デバイスとコンフィグ情報制御部が接続される内部バスを備え、
前記内部バスは、前記バスと接続しており、
上記各バス接続デバイスは、前記内部バスを介して前記バスに接続され、
上記コンフィグ情報制御部は、上記各バス接続デバイスのコンフィギュレーション・レジスタにコンフィギュレーション情報が設定される際に、上記内部バス上の当該コンフィギュレーション情報を監視して、当該コンフィギュレーション情報を保持することを特徴とする冗長化バス接続装置。
【請求項２】
上記情報処理装置のバスが、ＰＣＩバスであることを特徴とする請求項１に記載の冗長化バス接続装置。
【請求項３】
各バス接続デバイスの入出力を切換える構成制御部と、バスに対する接続を切換えるバス構成制御部と、を設けたことを特徴とする請求項１又は２のいずれかに記載の冗長化バス接続装置。
【請求項４】
各バス接続デバイスが、情報処理装置上で稼動するオペレーティングシステムまたはデバイスドライバによりコンフィギュレーション・レジスタの設定情報等のデバイス情報の再初期化を実施されることを特徴とする請求項１〜３のいずれかに記載の冗長化バス接続装置。
【請求項５】
バス接続デバイスの切換え時に、切換え前のバス接続デバイスから切換え後のバス接続デバイスに対してコンフィギュレーション・レジスタの設定情報等のデバイス情報を複写するデバイス情報コピー制御部を設けたことを特徴とする請求項１〜３のいずれかに記載の冗長化バス接続装置。
【請求項６】
上記バス構成制御部，コンフィグ情報制御部またはデバイス情報コピー制御部が、バスに対して１対１接続でないアドレス／データ線の少なくとも一部を入力していることを特徴とする請求項５に記載の冗長化バス接続装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ等の情報処理装置のバスに接続するバス接続デバイスの冗長化のための技術に関する。
【０００２】
【従来の技術】
従来、ホストコンピュータにおいて、所謂ＰＣＩバスに接続するＰＣＩバス接続デバイスを冗長化する場合、例えば特開２００１−２６８０９２号に開示されているような方法で、冗長化が行なわれている。
上記公開公報の例においては、ホストコンピュータのＰＣＩバスに対してバス接続された二枚の通信カードを冗長化する場合について説明されており、この場合、各通信カードの物理アドレスであるＭＡＣアドレスを同一に設定することにより、冗長化を実現するようにしている。
【０００３】
このような構成の冗長化方法によれば、動作中の第一の通信カードに障害が発生した場合には、待機中の第二の通信カードに切換えることにより、通信カードによる通信を正常に継続することができるようになっている。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような冗長化方法においては、いずれの通信カードも同一のＭＡＣアドレスに設定されていることから、ホストコンピュータ上で稼動しているオペレーティングシステムやデバイスドライバ側からのこれらの通信カードに対するアクセス方法が異なることになる。
したがって、動作中の第一の通信カードから待機中の第二の通信カードに切換えられた場合、上記オペレーティングシステムやデバイスドライバが、通信カードの切換えを認識する必要があった。
【０００５】
これに対して、通信カードの切換えを認識するためには、汎用のオペレーティングシステムやデバイスドライバを使用することはできない。このため、汎用のオペレーティングシステムやデバイスドライバを一部変更したり、専用のオペレーティングシステムやデバイスドライバを開発する必要がある。
したがって、このようなオペレーティングシステムやデバイスドライバの変更や開発に時間がかかってしまうと共に、コストが増大してしまうことになる。
さらに、他のシステムに適用しようとすると、オペレーティングシステムやデバイスドライバの移植作業が必要となることから、実質的に限定されたシステムでしか適用することができなかった。
【０００６】
本発明は、上記の問題を解決すべくなされたものであり、冗長化された複数のバス接続デバイスの切換えの際に、ソフトウェア側から同一ハードウェアとして取り扱うことができるようにしたバス接続デバイスの冗長化のための技術の提供を目的とする。
【０００７】
【課題を解決するための手段】
この目的を達成するため、本発明の冗長化バス接続装置は、情報処理装置のバスに接続され、互いに冗長化された複数のバス接続デバイスを備え、各バス接続デバイスの入出力を交互に切換えると共に、各バス接続デバイスのバスに対する接続を切換える切換え制御部を設けた構成としてある。
【０００８】
冗長化バス接続装置をこのような構成とすると、切換え制御部によってバスに対する接続が切換えられることにより、バスに対するバス接続デバイスのハードウェアが完全に切換えられると共に、バスに対して同一の構成が保持されることになる。このため、情報処理装置の例えばオペレーティングシステムやデバイスドライバ等のソフトウェア側からは、バス接続デバイスの切換えを認識しなくても、切換えられたバス接続デバイスに対して、切換え前のバス接続デバイスと全く同じ方法でアクセスし利用することができる。
【０００９】
したがって、情報処理装置上で稼動する例えばオペレーティングシステムやデバイスドライバ等のソフトウェアは、冗長化されたバス接続デバイスの切換えを認識するために、汎用のソフトウェアを修正したり、専用のソフトウェアを開発する必要がなく、低コストの汎用のソフトウェアをそのまま使用することができる。また、他のシステムに冗長化バス接続デバイスを適用する場合であっても、当該他のシステムで利用される汎用のソフトウェアをそのまま利用して、冗長化バス接続デバイスを使用することができるので、前述した汎用ソフトウェアの修正や専用のソフトウェアの移植作業が不要になり、汎用性の高い冗長化バス接続装置が得られることになる。
【００１０】
具体的には、本発明の冗長化バス接続装置は、上記情報処理装置のバスが、ＰＣＩバスである構成としてある。
冗長化バス接続装置をこのような構成とすると、ＰＣＩバスに接続されるバス接続デバイスを、ソフトウェアを変更したり専用ソフトウェアを開発することなく、低コストで冗長化することができる。
【００１１】
また、本発明の冗長化バス接続装置は、上記切換え制御部が、各バス接続デバイスの入出力を切換える構成制御部と、バスに対する接続を切換えるバス構成制御部と、を設けた構成としてある。
冗長化バス接続装置をこのような構成とすると、各バス接続デバイスの切換え時に、構成制御部が、各バス接続デバイスの入出力を切換えると共に、バス構成制御部が、当該バス接続デバイスのバスに対する接続を切換えることにより、同一のハードウェア構成を保持しながら、バス接続デバイスの切換えを行なうことができる。
【００１２】
また、本発明の冗長化バス接続装置は、各バス接続デバイスについて、コンフィギュレーション・レジスタの設定情報等のデバイス情報を保持するコンフィグ情報制御部を設けた構成としてある。
冗長化バス接続装置をこのような構成とすると、コンフィグ情報制御部が各バス接続デバイスのコンフィギュレーション・レジスタの設定情報等のデバイス情報を常に保持している。したがって、バス接続デバイスの切換え時に、コンフィグ情報制御部が、保持しているデバイス情報に基づいて、切換え前のバス接続デバイスのデバイス情報を、切換え後のバス接続デバイスのデバイス情報に設定する。
これにより、切換え後のバス接続デバイスのデバイス情報が、切換え前のバス接続デバイスのデバイス情報と同一に設定されることになり、完全に同一のハードウェアを構成して、当該バス接続デバイスの動作を継続することができる。
【００１３】
また、本発明の冗長化バス接続装置は、各バス接続デバイスが、情報処理装置上で稼動するオペレーティングシステムまたはデバイスドライバによりコンフィギュレーション・レジスタの設定情報等のデバイス情報の再初期化を実施される構成としてある。
冗長化バス接続装置をこのような構成とすると、バス接続デバイスの切換え時に、各バス接続デバイスのデバイス情報が、オペレーティングシステムやデバイスドライバ等のソフトウェアに備えられた初期化機能によって、再初期化される。
これにより、切換え後のバス接続デバイスが正常に動作することになり、当該バス接続デバイスが引き続いて使用され得ることになるので、コンフィグ情報制御部が不要であり、構成が簡略化され、コストが低減され得る。
【００１４】
また、本発明の冗長化バス接続装置は、バス接続デバイスの切換え時に、切換え前のバス接続デバイスから切換え後のバス接続デバイスに対してコンフィギュレーション・レジスタの設定情報等のデバイス情報を複写するデバイス情報コピー制御部を設けた構成としてある。
冗長化バス接続装置をこのような構成とすると、デバイス情報コピー制御部が、バス接続デバイスの切換え時に、切換え前のバス接続デバイスのデバイス情報を、切換え後のバス接続デバイスに設定する。
これにより、切換え後のバス接続デバイスのデバイス情報が、切換え前のバス接続デバイスのデバイス情報と同一に設定されることになり、完全に同一のハードウェアを構成して、当該バス接続デバイスの動作を継続することができる。
【００１５】
また、本発明の冗長化バス接続装置は、上記バス構成制御部，コンフィグ情報制御部またはデバイス情報コピー制御部が、バスに対して１対１接続でないアドレス／データ線の少なくとも一部を入力している構成としてある。
冗長化バス接続装置をこのような構成とすると、バス接続デバイスのバスに対する接続に関して、バスに対して１対１接続でないアドレス／データ線の少なくとも一部が、バス構成制御部，コンフィグ情報制御部またはデバイス情報コピー制御部を介して、バス接続される。これにより、例えばＩＤＳＥＬ信号線をＡＤ線と共用することができるので、バスのピン数が削減され得ることになる。
【００１６】
また、この目的を達成するため、本発明の冗長化バス接続デバイスの冗長化方法は、情報処理装置のバスに接続された複数のバス接続デバイスを互いに冗長化する冗長化バス接続デバイスの冗長化方法であって、各バス接続デバイスの入出力を交互に切換えると共に、各バス接続デバイスのバスに対する接続を切換える構成としてある。
【００１７】
冗長化バス接続デバイスの冗長化方法をこのような構成とすると、バスに対する接続が切換えられることにより、切換え接続されるべきバス接続デバイスに関して、バスに対するバス接続デバイスのハードウェアが完全に切換えられると共に、バスに対して同一の構成が保持されることになる。このため、情報処理装置の例えばオペレーティングシステムやデバイスドライバ等のソフトウェア側からは、バス接続デバイスの切換えを認識しなくても、切換えられたバス接続デバイスに対して、切換え前のバス接続デバイスと全く同じ方法でアクセスし利用することができる。
【００１８】
したがって、情報処理装置上で稼動する例えばオペレーティングシステムやデバイスドライバ等のソフトウェアは、冗長化されたバス接続デバイスの切換えを認識するために、汎用のソフトウェアを修正したり、専用のソフトウェアを開発する必要がなく、低コストの汎用のソフトウェアをそのまま使用することができる。また、他のシステムに冗長化バス接続デバイスを適用する場合であっても、当該他のシステムで利用される汎用のソフトウェアをそのまま利用して、冗長化バス接続デバイスを使用することができるので、前述した汎用ソフトウェアの修正や専用のソフトウェアの移植作業が不要になり、汎用性の高い冗長化バス接続デバイスが得られることになる。
【００１９】
また、本発明の冗長化バス接続デバイスの冗長化方法は、各バス接続デバイスについて、コンフィグ情報制御部により、コンフィギュレーション・レジスタの設定情報等のデバイス情報を保持する構成としてある。
冗長化バス接続デバイスの冗長化方法をこのような構成とすると、コンフィグ情報制御部が各バス接続デバイスのコンフィギュレーション・レジスタの設定情報等のデバイス情報を常に保持している。したがって、バス接続デバイスの切換え時に、コンフィグ情報制御部が保持しているデバイス情報に基づいて、切換え前のバス接続デバイスのデバイス情報を、切換え後のバス接続デバイスのデバイス情報に複写する。
これにより、切換え後のバス接続デバイスのデバイス情報が、切換え前のバス接続デバイスのデバイス情報と同一に設定されることになり、完全に同一のハードウェアを構成して、当該バス接続デバイスの動作を継続することができる。
【００２０】
また、本発明の冗長化バス接続デバイスの冗長化方法は、各バス接続デバイスについて、情報処理装置上で稼動するオペレーティングシステムまたはデバイスドライバによりコンフィギュレーション・レジスタの設定情報等のデバイス情報の再初期化を行なう構成としてある。
冗長化バス接続デバイスの冗長化方法をこのような構成とすると、バス接続デバイスの切換え時に、各バス接続デバイスのデバイス情報が、オペレーティングシステムやデバイスドライバ等のソフトウェアに備えられた初期化機能によって、再初期化される。
これにより、切換え後のバス接続デバイスが正常に動作することになり、当該バス接続デバイスが引き続いて使用され得ることになるので、コンフィグ情報制御部が不要であり、構成が簡略化され、コストが低減され得る。
【００２１】
さらに、本発明の冗長化バス接続デバイスの冗長化方法は、バス接続デバイスの切換え時に、デバイス情報コピー制御部により、切換え前のバス接続デバイスから切換え後のバス接続デバイスに対してコンフィギュレーション・レジスタの設定情報等のデバイス情報を複写する構成としてある。
冗長化バス接続デバイスの冗長化方法をこのような構成とすると、バス接続デバイスの切換え時に、デバイス情報コピー制御部により、切換え前のバス接続デバイスのデバイス情報を、切換え後のバス接続デバイスに複写する。
これにより、切換え後のバス接続デバイスのデバイス情報が、切換え前のバス接続デバイスのデバイス情報と同一に設定されることになり、完全に同一のハードウェアを構成して、当該バス接続デバイスの動作を継続することができる。
【００２２】
このようにして、本発明によれば、切換え制御部によって、バスに対するバス接続デバイスのハードウェアが完全に切換えられると共に、バスに対して同一の構成が保持されるので、情報処理装置の例えばオペレーティングシステムやデバイスドライバ等のソフトウェア側からは、バス接続デバイスの切換えを認識しなくても、切換えられたバス接続デバイスに対して、切換え前のバス接続デバイスと全く同じ方法でアクセスし利用することができる。
したがって、情報処理装置上で稼動する例えばオペレーティングシステムやデバイスドライバ等のソフトウェアは、低コストの汎用のソフトウェアをそのまま使用することができる。
【００２３】
さらに、本発明により冗長化されたバス接続デバイスによれば、バス接続デバイスがＰＣＩバス接続の４ポート通信カードのような各通信ポート毎に同一のＰＣＩデバイスが多数存在するような場合であっても、従来ではデバイス数の増加と共に低下する信頼性が、ソフトウェアの介在なしに利用可能であることから、向上することになる。
【００２４】
また、上述したＰＣＩバス接続の４ポート通信カードの場合に、一つのＰＣＩデバイス（すなわち通信ポート）の障害により、従来の冗長化では保守時にはすべてのＰＣＩデバイスが使用できなくなってしまうが、本発明によれば、ソフトウェアの介在なしに保守を行なうことができるため、一つのＰＣＩデバイスに障害が発生したとしても、他のすべてのＰＣＩデバイスが動作し続けるので、保守が可能であり、当該通信カードは、定期保守時等に行なえばよいので、メンテナンス性が向上することになる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
まず、本発明による冗長化バス接続装置の実施形態として、冗長化バス接続デバイスをＰＣＩバス通信カードに適用した第一の実施形態について、図１を参照して説明する。
図１は、本実施形態のＰＣＩバス通信カード１０の構成を示すブロック図である。
【００２６】
図１に示すように、ＰＣＩバス通信カード１０は、二つの通信ポート１１，１２を備えると共に、情報処理装置としてのホストコンピュータ９０に備えられたＰＣＩバス９１に対して、ＰＣＩバスブリッジ１３を介してバス接続されるように構成されている。
【００２７】
ＰＣＩバス通信カード１０は、各通信ポート１１，１２にそれぞれ接続された二つの入出力制御部１４，１５と、これらの入出力制御部１４，１５に対して冗長化されたデバイスとしての三つの通信制御部２１，２２，２３と、これら三つの通信制御部２１，２２，２３の切換えを行なう切換え制御部３０と、から構成されている。
【００２８】
上記入出力制御部１４は、切換え制御部３０の構成制御部３３からの指示にしたがって、通信制御部２１または２２のいずれか一方の出力を通信ポート１１に出力すると共に、通信ポート１１からの入力を通信制御部２１または２２のいずれか一方に出力する。
また、入出力制御部１５は、切換え制御部３０の構成制御部３３からの指示にしたがって、通信制御部２２または２３のいずれか一方の出力を通信ポート１２に出力すると共に、通信ポート１２からの入力を通信制御部２２または２３のいずれか一方に出力する。
【００２９】
上記通信制御部２１，２２，２３は、それぞれＰＣＩ通信カード１０内の内部ＰＣＩバス１６に接続されている。
なお、この内部ＰＣＩバス１６は、複数のＰＣＩデバイスである通信制御部２１〜２３を接続するために設けられており、ＰＣＩバスブリッジ１３を介して、上位バスであるホストコンピュータ９０のＰＣＩバス９１に接続されている。
【００３０】
通信制御部２１は、入出力制御部１４に接続され、通信制御部２３は、入出力制御部１５に接続されている。
これに対して、通信制御部２２は、双方の入出力制御部１４および１５に接続されている。
また、各通信制御部２１〜２３は、それぞれＰＣＩバス仕様にしたがって、ＰＣＩバスに対する初期設定を行なうコンフィギュレーション・レジスタを備えている。
さらに、各通信制御部２１〜２３は、それぞれ自身に障害を検出すると、切換え制御部３０の構成制御部３３（後述）に対して報告するようになっている。
【００３１】
ここで、ＰＣＩバス仕様にて、一部の信号線は、図２に示すように、ホストとなるＰＣＩバスブリッジ１３と１対１接続（所謂ポイント・ツー・ポイント接続）される。
ただし、インタラプト・ピン（ＩＮＴＡ＃〜ＩＮＴＤ＃）に関しては、オープン・ドレインのドライバが使用されていることから、バス接続することも可能であり、一般にＰＣＩデバイスが複数存在する場合には、バス接続されることが多い。
【００３２】
そして、上記内部ＰＣＩバス１６上にて１対１接続される信号線のうち、イニシャリゼーション・デバイス・セレクト信号（ＩＤＳＥＬ信号），リクエスト信号（ＲＥＱ＃信号）およびグラント信号（ＧＮＴ＃信号）の三種類の信号は、切換え制御部３０のバス構成制御部３１（後述）に接続される。
ここで、ＲＥＱ＃信号は、ＰＣＩデバイスからＰＣＩバスを獲得するための要求を示す信号であり、ＧＮＴ＃信号は、ＰＣＩホストからＰＣＩデバイスに対して、ＰＣＩデバイスがＰＣＩバスを獲得したことを示す信号である。
【００３３】
上記切換え制御部３０は、バス構成制御部３１と、コンフィグ情報制御部３２と、構成制御部３３と、から構成されている。
【００３４】
上記バス構成制御部３１は、ＰＣＩバス１６上にて１対１接続となるＰＣＩバスブリッジ１３からのバス信号線が接続されており、ＰＣＩバスブリッジ１３からＰＣＩデバイスである各通信制御部２１〜２３にアクセスする場合に、ＰＣＩデバイス毎に固有となる信号線である前記ＩＤＳＥＬ信号，ＲＥＱ＃信号およびＧＮＴ＃信号と、ＰＣＩデバイスとの接続関係を、構成制御部３３からの指示にしたがって変更するようになっている。
【００３５】
上記コンフィグ情報制御部３２は、ＰＣＩバス１６上にて１対１接続となるＰＣＩバスブリッジ１３からのバス信号線が、バス構成制御部３１と同様に接続されると共に、ＰＣＩバス１６上にて１対１接続とならないＰＣＩバス１６の信号線も接続されている。
さらに、コンフィグ情報制御部３２は、ＰＣＩバス１６に接続されるＰＣＩデバイスである各通信制御部２１〜２３に対するコンフィグレーションアクセスを監視し、各通信制御部２１〜２３のコンフィグレーションレジスタの設定情報を保持すると共に、保持しているコンフィグレーションレジスタの設定情報を、構成制御部３３からの指示にしたがって、各通信制御部２１〜２３に設定するようになっている。
【００３６】
上記構成制御部３３は、通信制御部２１〜２３からの障害報告に基づいて、バス構成制御部３１のバス構成を変更する指示を出力すると共に、入出力制御部１４，１５の入出力を切換える指示を出力し、さらにコンフィグ情報制御部３２から通信制御部２１〜２３のいずれかのコンフィギュレーション・レジスタ情報を設定する指示を出力する。
【００３７】
次に、本実施形態のＰＣバス通信カード１０の通常時の動作、そして切換え動作について、以下に説明する。
【００３８】
まず、通常時の動作について説明する。
ＰＣＩバス通信カード１０においては、二つの通信ポート１１，１２は、三つの通信制御部２１〜２３を備えることにより、冗長化されている。
そして、通常時は、通信制御部２１および２３が、それぞれ通信ポート１１，１２に関連して動作すると共に、通信制御部２２が待機状態になっている。
【００３９】
ここで、ＰＣＩバス１６から各通信制御部２１〜２３のコンフィギュレーション・レジスタにアクセスする場合、通常のアクセス方法とは異なり、コンフィギュレーション・サイクルによって、コンフィギュレーション・レジスタにアクセスするようになっている。
【００４０】
このコンフィギュレーション・サイクルには、図３に示すように、タイプ０とタイプ１とがある。タイプ１は、タイプ０と比較して、バス番号およびデバイス番号を含んでいる点で異なっている。
そして、例えば通信制御部２１のコンフィギュレーション・レジスタにアクセスする場合、ＰＣＩバス９１上では、タイプ１のコンフィギュレーション・サイクルが実行され、またＰＣＩバス１６上では、タイプ０のコンフィギュレーション・サイクルが実行される。
【００４１】
その際、ＰＣＩバスブリッジ１３では、ＰＣＩバス１６のバス番号がコンフィギュレーション・レジスタに設定され、ＰＣＩバス９１上で実行されているタイプ１のコンフィギュレーション・サイクルのバス番号が、ＰＣＩバス１６のバス番号と一致したとき、ＰＣＩバス１６に対してタイプ０のコンフィギュレーション・サイクルが実行される。
【００４２】
このとき、タイプ０のコンフィギュレーション・サイクルの情報には、どのＰＣＩデバイスに対するアクセスであるかを示す情報はなく、どのＰＣＩデバイスに対するアクセスであるかは、ＰＣＩバス９１上で実行されたタイプ１のコンフィギュレーション・サイクルのデバイス番号が示している。
したがって、ＰＣＩバスブリッジ１３は、このタイプ１のコンフィギュレーション・サイクルのデバイス番号にしたがって、このデバイス番号に対応するＰＣＩデバイスに１対１接続されているＩＤＳＥＬ信号をアサートして、タイプ０のコンフィギュレーション・サイクルがどのＰＣＩデバイスに対するアクセスであるかを示す。
【００４３】
そして、バス構成制御部３１は、上述したＩＤＳＥＬ信号に加えて、ＰＣＩデバイスとＰＣＩバス１６上で１対１接続となる信号であるバス調停のために使用されるＲＥＱ＃信号とＧＮＴ＃信号の接続構成を、構成制御部３３からの指示にしたがって制御する。
【００４４】
このようにして、ＰＣＩデバイスである通信制御部２１〜２３は冗長化される。そして、通信制御部２１，２３が動作中であるとすると、通信制御部２２は、待機状態としてＰＣＩバス１６から見かけ上切り離されている状態となる。このため、バス構成制御部３１からのＩＤＳＥＬ信号，ＲＥＱ＃信号およびＧＮＴ＃信号は、上位のＰＣＩバスブリッジ１３とは未接続の状態となる。
【００４５】
これにより、二つのＰＣＩデバイスである通信制御部２１，２３に対して、それぞれＩＤＳＥＬ信号，ＲＥＱ＃信号およびＧＮＴ＃信号、より詳細には、ＩＤＳＥＬ１信号，ＩＤＳＥＬ２信号，ＲＥＱ＃１信号，ＲＥＱ＃２信号，ＧＮＴ＃１信号およびＧＮＴ＃２信号が接続されると、これらの各信号が、それぞれＰＣＩバスブリッジ１３を介して、バス構成制御部３１に接続されることになる。
【００４６】
そして、バス構成制御部３１は、入力されたＩＤＳＥＬ１信号，ＲＥＱ＃１信号およびＧＮＴ＃１信号を、通信制御部２１に接続するように構成すると共に、入力されたＩＤＳＥＬ２信号，ＲＥＱ＃２信号およびＧＮＴ＃２信号を、通信制御部２３に接続するように構成する。尚、待機状態である通信制御部２２は、ＩＤＳＥＬ信号，ＲＥＱ＃信号およびＧＮＴ＃信号が接続されない。
【００４７】
したがって、情報処理装置としてのホストコンピュータ９０上で稼動するソフトウェア、具体的にはオペレーティングシステムやデバイスドライバ等からは、見かけ上、通信制御部２１，２３のみがＰＣＩデバイスとして存在するようにみえることになる。
【００４８】
ここで、コンフィグ情報制御部３２は、ＰＣＩバス１６上で実行される通信制御部２１〜２３に対するコンフィギュレーション・サイクルを監視して、コンフィギュレーション・サイクルにより通信制御部２１〜２３のコンフィギュレーション・レジスタに設定された設定値を保持する。
そして、コンフィグ情報制御部３２は、構成制御部３３からの指示にしたがって、保持しているコンフィギュレーション・レジスタの設定値を、通信制御部２１〜２３に設定する。
【００４９】
その際、コンフィギュレーション・レジスタの設定は、通常のＰＣＩバストランザクションで自身のＰＣＩデバイスが使用するアドレス空間等を設定し、このアドレス空間等がＰＣＩデバイス毎に重ならないように、行なわれる。したがって、このコンフィギュレーション・レジスタの設定は、各通信制御部２１〜２３毎に固有である。
【００５０】
次に、ＰＣＩバス通信カード１０における通信制御部の切換え動作について、図４のフローチャートを参照して説明する。
図４にて、通信制御部２１および２３が動作しているときに、符号Ａ１で示すように、一方の通信制御部例えば通信制御部２１に障害が発生すると、通信制御部２１は、符号Ａ２で示すように、障害発生の旨を構成制御部３３に報告する。
これを受けて、構成制御部３３は、それぞれ符号Ａ３，Ａ４，Ａ５で示すように、バス構成制御部３１，コンフィグ情報制御部３２および入出力制御部１４に対して、障害の発生した通信制御部２１を待機状態の通信制御部２２に切換えるための指示を出力する。
【００５１】
これにより、バス構成制御部３１は、符号Ａ６で示すように、構成制御部３３からの指示に基づいて、通信制御部２１に接続されているＩＤＳＥＬ１信号，ＲＥＱ＃１信号およびＧＮＴ＃１信号を切り離して、通信制御部２２に接続する。
また、コンフィグ情報制御部３２は、符号Ａ７で示すように、構成制御部３３からの指示に基づいて、保持している通信制御部２１のコンフィギュレーション・レジスタの設定値を、通信制御部２２のコンフィギュレーション・レジスタに設定する。
さらに、入出力制御部１４は、符号Ａ８で示すように、構成制御部３３からの指示に基づいて、通信ポート１１からの入力先そして通信ポートへの出力元を、通信制御部２１から通信制御部２２に変更する。
【００５２】
これにより、冗長化されたＰＣＩデバイスである通信制御部２１〜２３のいずれか一つに、動作中に障害が発生したとしても、物理的な構成で決定されるＰＣＩデバイスのデバイス番号（すなわちＩＤＳＥＬ信号の接続構成）やソフトウェアアクセスで意識されるアドレス空間の設定（すなわちコンフィギュレーション・レジスタの設定値）等を、障害の発生した通信制御部２１と切換えられる新たな通信制御部２２とで完全に一致させることにより、ホストコンピュータ９０で動作するオペレーティングシステムやデバイスドライバ等のソフトウェアからは何も意識することなく、代替の通信制御部２２への切換えを行なうことができる。
以上で、通信制御部の切換え動作が完了する。
【００５３】
図５は、本発明による冗長化バス接続デバイスをＰＣＩバス通信カードに適用した第二の実施形態を示している。
図５において、ＰＣＩバス通信カード４０は、図１に示したＰＣＩバス通信カード１０とほぼ同様の構成であるから、同じ構成要素には同じ符号を付して、その説明を省略する。
【００５４】
ＰＣＩバス通信カード４０は、図１に示したＰＣＩバス通信カード１０と比較して、切換え制御部３０がコンフィグ情報制御部３２を備えていない点で異なる構成になっている。
この場合、切換え制御部３０の構成制御部３３は、通信制御部２１，２３が動作していて、通信制御部２２が待機状態にあるとき、通信制御部２１に障害が発生して、通信制御部２１から障害発生の旨の報告を受けると、以下のように動作する。
すなわち、構成制御部３３は、通信制御部２１からの障害発生の旨の報告に基づいて、バス構成制御部３１および入出力制御部１４に対して、障害の発生した通信制御部２１を待機状態の通信制御部２２に切換えるための指示を出力する。
【００５５】
これと同時に、構成制御部３３は、ＰＣＩバスブリッジ１３を介して、ＰＣＩバス９１に対して割り込みを発行し、ホストコンピュータ９０で動作するオペレーティングシステムやデバイスドライバ等のソフトウェアに対して、ＰＣＩバス１６上のＰＣＩデバイスの再初期化の実行を指示する。
これにより、上記オペレーティングシステムやデバイスドライバ等のソフトウェアは、通信制御部２１〜２３の再初期化を実行する。この再初期化の機能は、オペレーティングシステムやデバイスドライバ等のソフトウェアに備えられているものであるので、これらのソフトウェアに変更を加える必要はない。
【００５６】
このようにして、通信制御部２１〜２３が再初期化されることにより、コンフィグ情報制御部３２が不要となる。
この場合、コンフィグ情報制御部３２が不要となるので、構成が簡略化され、コストが低減され得ることになるが、障害が発生せずに正常に動作しているＰＣＩデバイスである通信制御部２３も再初期化されることになってしまう。
【００５７】
図６は、本発明による冗長化バス接続デバイスをＰＣＩバス通信カードに適用した第三の実施形態を示している。
図６において、ＰＣＩバス通信カード５０は、図１に示したＰＣＩバス通信カード１０とほぼ同様の構成であるから、同じ構成要素には同じ符号を付して、その説明を省略する。
【００５８】
ＰＣＩバス通信カード５０は、図１に示したＰＣＩバス通信カード１０と比較して、切換え制御部３０のバス構成制御部３１とコンフィグ情報制御部３２が、ＰＣＩバス１６に対して、１対１接続でないバス接続であるアドレス／データ線（ＡＤ［３１：００］）の一部を入力している点で異なる構成になっている。
これは、図３に示したタイプ０のコンフィギュレーション・サイクルにて、ＡＤ線のビット３１から１１までは使用されていないという点に着目して、ＰＣＩバスブリッジ１３のピン数削減等のために、ＰＣＩバスの設計としてＩＤＳＥＬ信号を未使用のＡＤ線と共用させたものである。
【００５９】
したがって、バス構成制御部３１は、ＰＣＩバスブリッジ１３から、ＲＥＱ＃信号およびＧＮＴ＃信号を入力すると共に、ＰＣＩバス１６のバス接続信号であり、ＩＤＳＥＬ信号と共用されるＡＤ信号を入力するようになっている。
同様にして、コンフィグ情報制御部３２も、ＰＣＩバスブリッジ１３から、ＲＥＱ＃信号およびＧＮＴ＃信号を入力すると共に、ＰＣＩバス１６のバス接続信号であり且つＩＤＳＥＬ信号と共用されるＡＤ信号を入力するようになっている。
これにより、ＰＣＩバス通信カード５０は、図１に示したＰＣＩバス通信カード１０と同様に動作することになる。
【００６０】
図７は、本発明による冗長化バス接続デバイスをＰＣＩバス通信カードに適用した第四の実施形態を示している。
図７において、ＰＣＩバス通信カード６０は、図１に示したＰＣＩバス通信カード１０とほぼ同様の構成であるから、同じ構成要素には同じ符号を付して、その説明を省略する。
【００６１】
ＰＣＩバス通信カード６０は、図１に示したＰＣＩバス通信カード１０と比較して、切換え制御部３０にて、コンフィグ情報制御部３２の代わりに、デバイス情報コピー制御部として通信制御部情報コピー制御部６１を備えている点で異なる構成になっている。
この通信制御部情報コピー制御部６１は、構成制御部３３から、障害の発生した通信制御部２１を待機状態の通信制御部２２に切換えるための指示を受けると、通信制御部２１のコンフィギュレーション・レジスタの設定値を、通信制御部２２のコンフィギュレーション・レジスタにコピーする。
【００６２】
これにより、通信制御部２２のコンフィギュレーション・レジスタは、通信制御部２１のコンフィギュレーション・レジスタと同一に設定されることになる。
したがって、ＰＣＩバス通信カード６０は、図１に示したＰＣＩバス通信カード１０と同様に動作することになる。
【００６３】
上述した実施形態においては、ＰＣＩバス通信カード１０，４０，５０，６０において、通信制御部２１に障害が発生して、待機状態の通信制御部２２に切換える場合について説明したが、これに限らず、各通信制御部２１〜２３のうち、障害が発生した通信制御部から、待機状態の通信制御部に切換える場合も同様に動作することになる。
【００６４】
また、上述した実施形態においては、二つの通信ポート１１，１２と、冗長化された三つの通信制御部２１〜２３を備えたＰＣＩバス通信カード１０，４０，５０，６０について説明したが、これに限らず、一つまたは三つ以上の通信ポートと、冗長化された二つ以上の通信制御部を備えたＰＣＩバス通信カードに対して本発明を適用し得ることは明らかである。
【００６５】
さらに、上述した実施形態においては、バス接続デバイスとして、ＰＣＩデバイスであるＰＣＩバス通信カードの場合について説明したが、これに限らず、他のＰＣＩデバイスや、他の種類のバスに接続されるバス接続デバイスについても本発明を適用し得ることは明らかである。
【００６６】
【発明の効果】
以上のように、本発明によれば、従来は、ＰＣＩデバイスとしての通信制御部が冗長化されていたとしても、ＰＣＩデバイスとしてのデバイス番号等の物理的構成が異なることによる差分や、コンフィギュレーション・レジスタのアドレス空間等のソフトウェアによる設定が異なることによる差分によって、オペレーティングシステムやデバイスドライバ等のソフトウェアが、特に冗長化を意識して作成されていなければ、冗長化されたＰＣＩデバイスの切換えを行なうことはできない。したがって、特別なオペレーティングシステムやデバイスドライバ等のソフトウェアが必要となることから、汎用のオペレーティングシステムやデバイスドライバ等のソフトウェアは使用することができない。
【００６７】
これに対して、本発明により冗長化されたバス接続デバイスによれば、冗長化されたＰＣＩデバイス等のバス接続デバイスの切換え後も同一のハードウェア構成とすることにより、バス接続デバイスの切換えをソフトウェア側にまったく意識させないので、オペレーティングシステムやデバイスドライバ等のソフトウェアに関して、何ら修正したり、専用のソフトウェアを開発することなく、バス接続デバイスの冗長化構成を実現することができる。
【００６８】
特に、多ポート、例えば４ポート通信カードのようなＰＣＩデバイスの場合には、同一のＰＣＩデバイスが多数存在することになり、デバイス数の増大に伴って低下する信頼性が、本発明による冗長化構成によって、ソフトウェアの介在なしに容易に向上され得ることになる。
また、４ポート通信カードのようなＰＣＩカードにおいては、所謂オンライン保守が可能であっても、従来は、一つのＰＣＩデバイスの障害によって、保守時にはすべてのＰＣＩデバイスすなわちすべての通信ポートが使用できなくなってしまう。
【００６９】
これに対して、本発明による冗長化構成を適用することによって、一つのＰＣＩデバイスに障害が発生したとしても、すべての通信ポートは変わりなくそのまま動作し続けるので、ＰＣＩカードの交換は定期保守時等に行なえばよい。したがって、高可用性が得られ、メンテナンス性が向上することになる。
【００７０】
さらに、専用のオペレーティングシステムやデバイスドライバ等のソフトウェアが不要であることから、他のシステムに冗長化バス接続デバイスを適用する場合であっても、ソフトウェアの変更や移植作業が不要となり、容易にＰＣＩデバイス等のバス接続デバイスの冗長化を実現することができる。
【図面の簡単な説明】
【図１】本発明による冗長化バス接続デバイスとしてのＰＣＩバス通信カードの第一の実施形態の構成を示すブロック図である。
【図２】図１のＰＣＩバス通信カードの信号一覧を示す図である。
【図３】図１のＰＣＩバス通信カードにおけるコンフィギュレーション・サイクルの構成例を示す図である。
【図４】図１のＰＣＩバス通信カードにおけるＰＣＩデバイスとしての通信制御部の切換え動作を示すフローチャートである。
【図５】本発明による冗長化バス接続デバイスとしてのＰＣＩバス通信カードの第二の実施形態の構成を示すブロック図である。
【図６】本発明による冗長化バス接続デバイスとしてのＰＣＩバス通信カードの第三の実施形態の構成を示すブロック図である。
【図７】本発明による冗長化バス接続デバイスとしてのＰＣＩバス通信カードの第四の実施形態の構成を示すブロック図である。
【符号の説明】
１０，４０，５０，６０  ＰＣＩバス接続カード
１１，１２  通信ポート
１３  内部ＰＣＩバス
１４，１５  入出力制御部
２１，２２，２３  通信制御部（バス接続デバイス）
３０  切換え制御部
３１  バス構成制御部
３２  コンフィグ情報制御部
３３  構成制御部
６１  通信制御部情報コピー制御部（デバイス情報コピー制御部）
９０  ホストコンピュータ（情報処理装置）
９１  ＰＣＩバス
【図１】
0004554874.tif 000002
【図２】
0004554874.tif 000003
【図３】
0004554874.tif 000004
【図４】
0004554874.tif 000005
【図５】
0004554874.tif 000006
【図６】
0004554874.tif 000007
【図７】
0004554874.tif 000008