"複数の物理マシンと、前記複数の物理マシンの各々に搭載され、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行うためのデータ通信カードとを含み、前記データ通信カードは、自律的に、前記自系の物理マシン及び前記他系の物理マシンの状態を監視し、状態異常を検出する多重化システム。請求項1に記載の多重化システムであって、前記データ通信カードは、メイン電源の給電により駆動し、前記自系の物理マシン及び前記他系の物理マシンの内部状態を監視し、状態異常を検出する第1のLSIと、スタンバイ電源の給電により駆動し、前記メイン電源がOFFの状態の時でも、前記自系の物理マシン及び前記他系の物理マシンの電源状態を監視し、状態異常を検出する第2のLSIとを具備する多重化システム。請求項2に記載の多重化システムであって、前記第1のLSIは、前記データ通信カード内部を制御するプロセッサと、前記自系の物理マシン上で動作するソフトウェアSWの状態を取得するSW状態取得部と、PCIExpressバスを介して、前記自系の物理マシン内部のハードウェアHW及びI/Oチップと接続し、前記ハードウェアHW及び前記I/Oチップの状態を監視するPCI制御部と、前記第2のLSI側とデータの送受信を行い、通信回線を介して前記他系の物理マシン側とデータの送受信を行う通信制御部とを具備し、前記第2のLSIは、前記自系の物理マシン及び前記他系の物理マシンの電源状態を監視する電源監視部と、前記自系の物理マシン及び前記他系の物理マシンの電源状態を制御する電源制御部と、SMBusを介して、前記自系の物理マシン内部のBMCBaseboardManagementControllerと接続し、前記BMCから監視結果を取得するSMBus制御部と、前記第1のLSI側とデータの送受信を行い、通信回線を介して前記他系の物理マシン側とデータの送受信を行い、前記自系の物理マシンから電源の給電を受けられない場合、前記他系の物理マシンから電源の給電を受ける通信制御部とを具備する多重化システム。請求項1乃至3のいずれか一項に記載の多重化システムであって、前記データ通信カードは、前記自系の物理マシンの基板上にチップとして搭載され、前記自系の物理マシン内部のCPUとI/Oチップとの間に設けられている多重化システム。複数の物理マシンの各々に搭載されたデータ通信カードであって、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行う手段と、自律的に、前記自系の物理マシン及び前記他系の物理マシンの状態を監視し、状態異常を検出する手段とを具備するデータ通信カード。請求項5に記載のデータ通信カードであって、メイン電源の給電により駆動し、前記自系の物理マシン及び前記他系の物理マシンの内部状態を監視し、状態異常を検出する第1のLSIと、スタンバイ電源の給電により駆動し、前記メイン電源がOFFの状態の時でも、前記自系の物理マシン及び前記他系の物理マシンの電源状態を監視し、状態異常を検出する第2のLSIとを具備するデータ通信カード。請求項6に記載のデータ通信カードであって、前記第1のLSIは、前記データ通信カード内部を制御するプロセッサと、前記自系の物理マシン上で動作するソフトウェアSWの状態を取得するSW状態取得部と、PCIExpressバスを介して、前記自系の物理マシン内部のハードウェアHW及びI/Oチップと接続し、前記ハードウェアHW及び前記I/Oチップの状態を監視するPCI制御部と、前記第2のLSI側とデータの送受信を行い、通信回線を介して前記他系の物理マシン側とデータの送受信を行う通信制御部とを具備し、前記第2のLSIは、前記自系の物理マシン及び前記他系の物理マシンの電源状態を監視する電源監視部と、前記自系の物理マシン及び前記他系の物理マシンの電源状態を制御する電源制御部と、SMBusを介して、前記自系の物理マシン内部のBMCBaseboardManagementControllerと接続し、前記BMCから監視結果を取得するSMBus制御部と、前記第1のLSI側とデータの送受信を行い、通信回線を介して前記他系の物理マシン側とデータの送受信を行い、前記自系の物理マシンから電源の給電を受けられない場合、前記他系の物理マシンから電源の給電を受ける通信制御部とを具備するデータ通信カード。複数の物理マシンの各々に搭載されたデータ通信カードにより実施される状態異常検出方法であって、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行うことと、自律的に、前記自系の物理マシン及び前記他系の物理マシンの状態を監視し、状態異常を検出することとを含む状態異常検出方法。複数の物理マシンの各々に搭載されたデータ通信カードにより実行されるプログラムであって、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行うステップと、自律的に、前記自系の物理マシン及び前記他系の物理マシンの状態を監視し、状態異常を検出するステップとをデータ通信カードに実行させるためのプログラム。従来の多重化システムでは、汎用装置を用いて故障検出を行っているが、汎用装置の故障検出能力は低い。例えば、故障検出機能を動作させた時にしか故障を検出できないため、待機系等で装置や故障検出機能が停止している場合は検出できない。また、多重化用OSの介在なく、外部に故障を通知することができないため、多重化した各装置のOSが起動していなければならない。更に、多重化用OSの故障検出機能も、多重化用OSが動作を開始するまでは機能しない。一般的に、ソフトウェアSWによる故障検出では、タイムアウトで故障検出するため、検出まで時間がかかる。本発明の目的は、一般的なIAサーバでソフトウェアSW方式のフォールトトレラントシステムやクラスターシステムを構築するために利用されるデータ通信カードに、自系装置のメモリやチップ等の状態監視機能と、他系装置への状態通知機能及び電源制御機能を追加した多重化システムを提供することである。本発明に係る多重化システムは、複数の物理マシンと、複数の物理マシンの各々に搭載され、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行うためのデータ通信カードとを含む。データ通信カードは、自律的に、自系の物理マシン及び他系の物理マシンの状態を監視し、状態異常を検出する。本発明に係るデータ通信カードは、複数の物理マシンの各々に搭載されたデータ通信カードであって、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行う手段と、自律的に、自系の物理マシン及び他系の物理マシンの状態を監視し、状態異常を検出する手段とを具備する。本発明に係る状態異常検出方法は、複数の物理マシンの各々に搭載されたデータ通信カードにより実施される状態異常検出方法であって、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行うことと、自律的に、自系の物理マシン及び他系の物理マシンの状態を監視し、状態異常を検出することとを含む。本発明に係るプログラムは、複数の物理マシンの各々に搭載されたデータ通信カードにより実行されるプログラムであって、通信回線を介して自系の物理マシンと他系の物理マシンとを接続し、相互にデータの送受信を行うステップと、自律的に、自系の物理マシン及び他系の物理マシンの状態を監視し、状態異常を検出するステップとをデータ通信カードに実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。データ通信カードが、物理マシンの状態に関わらず、定期的に物理マシン内部の状態を常に監視するため、早期のエラー検出が可能となる。また、多重化システムにおけるスタンバイ系待機系、従系装置等、普段は動作していない装置のエラー検出も可能となる。<実施形態>以下に、本発明の実施形態について添付図面を参照して説明する。[基本構成]図1に示すように、本発明に係る多重化システムは、複数の物理マシン100100-i,i=1~n:nは台数を含む。ここでは、物理マシン100100-i,i=1~nの各々の例として、PCパソコン、アプライアンスappliance、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、物理マシン100100-i,i=1~nは、端末やサーバに限らず、中継機器でも良い。中継装置の例として、ネットワークスイッチnetworkswitch、ルータrouter、プロキシproxy、ゲートウェイgateway、ファイアウォールfirewall、ロードバランサloadbalancer:負荷分散装置、帯域制御装置packetshaper、セキュリティ監視制御装置SCADA:SupervisoryControlAndDataAcquisition、ゲートキーパーgatekeeper、基地局basestation、アクセスポイントAP:AccessPoint、或いは、複数の通信ポートを有する計算機等が考えられる。図示しないが、上記のような計算機や中継機器等は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークインターフェースによって実現される。上記のプロセッサの例として、CPUCentralProcessingUnit、ネットワークプロセッサNP:NetworkProcessor、マイクロプロセッサmicroprocessor、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路IC:IntegratedCircuit等が考えられる。上記のメモリの例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置等を想定している。HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDisk等のリムーバブルディスクや、SDメモリカードSecureDigitalmemorycard等の記憶媒体メディア等が考えられる。また、バッファbufferやレジスタregisterでも良い。或いは、DASDirectAttachedStorage、FC-SANFibreChannel-StorageAreaNetwork、NASNetworkAttachedStorage、IP-SANIP-StorageAreaNetwork等を用いたストレージ装置でも良い。なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。したがって、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。上記のネットワークインターフェースの例として、ネットワーク通信に対応した基板マザーボード、I/Oボードやチップ等の半導体集積回路、NICNetworkInterfaceCard等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、通信ポート等が考えられる。また、ネットワークの例として、インターネット、LANLocalAreaNetwork、無線LANWirelessLAN、WANWideAreaNetwork、バックボーンBackbone、ケーブルテレビCATV回線、固定電話網、携帯電話網、WiMAXIEEE802.16a、3G3rdGeneration、専用線leaseline、IrDAInfraredDataAssociation、Bluetooth登録商標、シリアル通信回線、データバス等が考えられる。但し、実際には、これらの例に限定されない。本発明では、物理マシン100100-i,i=1~nの各々には、データ通信カード10が搭載されている。搭載の方法として、挿入、内蔵、組込、接続等が考えられる。但し、実際には、これらの例に限定されない。データ通信カード10は、物理マシン100100-i,i=1~nに搭載可能な高機能な拡張カードである。データ通信カード10は、上記のネットワークインターフェースでも良い。データ通信カード10は、LSILargeScaleIntegrationを搭載している。データ通信カード10は、他のデータ通信カードと通信回線を介して接続し、互いにデータの送受信を行う。また、データ通信カード10は、障害検出機能を持ち、自身が搭載された物理マシン内部の障害や、接続相手のデータ通信カードが搭載された他の物理マシン内部の障害を検出する。他の物理マシン内部の障害については、接続相手のデータ通信カードからの通知により認識しても良い。なお、データ通信カード10の形状は、カード型に限らない。例えば、データ通信カード10は、物理マシン100100-i,i=1~nの基板と一体化していても良い。但し、実際には、これらの例に限定されない。物理マシン100100-i,i=1~n上に、データ通信カード10を使用できる環境が最低限整っていて、対応したソフトウェアが導入されている/導入可能である場合、物理マシン100100-i,i=1~nにデータ通信カード10を挿すだけで、物理マシン100100-i,i=1~nは、FTサーバFaultTolerantServerやクラスターサーバになる。ソフトウェアSW方式のフォールトトレラントシステムやクラスターシステムを実現する場合、データ通信カード10自体が、仮想マシン用の設定情報やイメージファイル等を保持し、物理マシン100100-i,i=1~nに提供するようにしていても良い。このとき、データ通信カード10は、FTカードやクラスターカードと呼ぶこともできる。[物理マシンの内部構成]図2を参照して、物理マシン100100-i,i=1~nの各々の内部構成の詳細について説明する。物理マシン100100-i,i=1~nの各々は、データ通信カード10と、ハードウェアHW:hardware20と、ソフトウェアSW:software30と、ドライバ40と、I/OInput/Outputチップ50と、BMCBaseboardManagementController60を備える。ここでは、2台の物理マシン物理マシン100-1、物理マシン100-2を例に説明する。例えば、物理マシン100-1は、データ通信カード10-1と、ハードウェアHW20-1と、ソフトウェアSW30-1と、ドライバ40-1と、BMC60-1と、I/Oチップ50-1を備える。また、物理マシン100-2は、データ通信カード10-2と、ハードウェアHW20-2と、ソフトウェアSW30-2と、ドライバ40-2と、BMC60-2と、I/Oチップ50-2を備える。データ通信カード10については、上記の通りである。ハードウェアHW20は、物理マシン100100-i,i=1~n内部のハードウェアHWである。通常、ハードウェアHW20は、DC電源の給電電力供給を受けて駆動する。ハードウェアHW20の例として、プロセッサ、メモリ、補助記憶装置、ネットワークインターフェース、PCIPeripheralComponentsInterconnectbusスロット、及び電源装置、又はこれらの組み合わせ等が考えられる。なお、ハードウェアHW20は、同一の物理マシン内部で多重化されていても良い。ソフトウェアSW30は、ハードウェアHW20を利用し、物理マシン100100-i,i=1~n上で動作するソフトウェアSWである。ソフトウェアSW30の例として、OSやアプリケーションソフトウェア、ミドルウェアmiddleware等が考えられる。なお、ソフトウェアSW30は、物理マシン上に構築された仮想マシンVM:VirtualMachineでも良い。ドライバ40は、物理マシン100100-i,i=1~nの内部に装着された装置や、外部に接続した機器を制御操作するためのソフトウェアSW/デバイスドライバである。ドライバ40は、OSが上記のような機器を制御するための橋渡しを行う。なお、ドライバ40は、OSに組み込まれ、OSの機能の一部として振舞うようにしても良い。すなわち、ドライバ40は、ソフトウェアSW30の一部でも良い。ドライバ40は、ソフトウェアSW30がI/Oチップ50に接続された外部のデバイスを利用する際、OSが提供する共通化されたAPIアプリケーションプログラミングインターフェースによってデバイスの機能を利用できるようにして、抽象化されたAPIとデバイスとの間の対応を受け持つ。I/Oチップ50は、物理マシン100100-i,i=1~nに搭載された接続口物理ポートであり、物理マシン本体と各種周辺機器に接続して、それらの機器とデータをやり取りするための入出力インターフェースである。入出力インターフェースの主な規格として、キーボードやマウスを接続するPS/2、モデムやプリンタなどと双方向で通信を行うシリアルインターフェースのRS232C、ハードディスクドライブHDD等と双方向接続するパラレルインターフェースのSCSI、主に内蔵型HDD等と双方向接続するパラレルインターフェースのIDE、本体と周辺機器全般とを双方向接続するシリアルインターフェースであるUSB、次世代の高速なSCSI規格であるIEEE1394といった規格が知られている。なお、I/Oチップ50は、スーパーI/OSuperInput/Outputチップや、I/OコントローラハブICH:I/OControllerHubでも良い。BMC60は、物理マシン100100-i,i=1~n内部に設けられたコントローラである。BMC60は、ハードウェアHW20の状態を常時監視し、ハードウェアHWエラーの発生をOS等に通知する。具体的には、BMC60は、電源ユニットからの供給電圧や冷却ファンの回転数、プロセッサを含む各種パーツの温度、SCSIターミネータの電源電圧等を常時監視している。例え本体の電源がOFFでも、コンセントからの電源コードが電源ユニットに接続されている限り、BMC60には電力が供給されるため、BMC60は、本体の電源がOFF状態でも、ハードウェアHW20の状態監視を継続する。[データ通信カードの詳細]図3を参照して、データ通信カード10の詳細について説明する。ここでは、データ通信カード10に搭載されたLSIの例として、FPGAFieldProgrammableGateArrayと、CPLDComplexProgrammableLogicDeviceを使用して説明する。なお、FPGAやCPLDは一例に過ぎない。実際には、他のLSIでも良い。データ通信カード10は、FPGA11と、CPLD12を備える。例えば、データ通信カード10-1は、FPGA11-1と、CPLD12-1を備える。また、データ通信カード10-2は、FPGA11-2と、CPLD12-2を備える。FPGA11は、第1のLSIである。FPGA11は、ハードウェアHW20、ソフトウェアSW30、及びI/Oチップ50の状態監視を行う。FPGA11には、メイン電源データ通信カード10が受電したDC電源が給電されている。CPLD12は、第2のLSIである。CPLD12は、BMC60及び電源装置の状態監視を行う。CPLD12には、スタンバイ電源データ通信カード10が受電したAC電源から作成されるDC電源が給電されている。なお、スタンバイ電源とは、電源管理を行うため、常時一定出力を供給するための出力である。スタンバイ電源を出力する回路は、メイン電源をOFFにしても動作している。なお、FPGA11とCPLD12は、相互に通信可能である。[FPGA及びCPLDの詳細]図4を参照して、FPGA11及びCPLD12の詳細について説明する。FPGA11は、プロセッサ111と、SW状態取得部112と、PCI制御部113と、通信制御部114を備える。プロセッサ111は、データ通信カード10内部の各部の制御やデータの計算加工演算処理を行う。例えば、プロセッサ111は、データ通信カード10内部のRAM等に記憶されたプログラムに基づいて駆動し、所定の処理を実行する。プロセッサ111は、物理マシン100100-i,i=1~n内部のハードウェアHW20に含まれるCPU等のプロセッサではなく、データ通信カード10内部のFPGA11上に設けられている。また、プロセッサ111は、SW状態取得部112、PCI制御部113、及び通信制御部114の動作を変更することが可能である。SW状態取得部112は、ソフトウェアSW30の状態を取得する。SW状態取得部112は、ドライバ40から直接通知を受け取ることで、ソフトウェアSW30の状態を取得しても良いし、PCI制御部113を介して、ドライバ40がメモリ上に設定したソフトウェアSW30の状態を取得しても良い。PCI制御部113は、PCIExpressバスを介して、物理マシン100100-i,i=1~n内部のハードウェアHW20及びI/Oチップ50と接続し、ハードウェアHW20及びI/Oチップ50の状態を監視する。通信制御部114は、FPGA11とCPLD12とを接続している。したがって、通信制御部114は、FPGA11によるエラー検出結果を、CPLD12側に通知することが可能である。また、通信制御部114は、他のデータ通信カードに搭載されたFPGAと、少なくとも1本のケーブルを介してリモートremote:遠隔接続する。ここでは、2本のケーブルを介して接続することとする。ケーブルの本数が複数の場合、物理的/論理的に1本に束ねることも可能である。複数のケーブルを1本に束ねることで、束ねた本数に応じて通信速度を倍増することができる。また、複数のケーブルを1本に束ねることで、いずれかのケーブルが故障した場合でも、残りのケーブルを使用して通信を継続することが可能である。通信制御部114は、この2本のケーブルを介して、FPGA11によるエラー検出結果を、他のデータ通信カードに通知する。CPLD12は、電源監視部121と、電源制御部122と、SMBusSystemManagementBus制御部123と、通信制御部124を備える。電源監視部121は、自機Local:自系の物理マシン及びリモート接続先Remote:他系の物理マシンの電源状態を監視する。このとき、電源監視部121は、自機の物理マシンの電源状態を直接監視しても良いし、SMBus制御部123を介して、BMC60による監視結果を取得しても良い。なお、電源監視部121は、メイン電源の有無/変化により、自機の物理マシンの電源状態を監視しても良い。また、電源監視部121は、通信制御部124を介して、リモート接続先の物理マシンの電源状態を直接監視しても良いし、リモート接続先の物理マシンのSMBus制御部を介して、リモート接続先の物理マシンのBMCによる監視結果を取得しても良い。電源制御部122は、自機の物理マシン及びリモート接続先の物理マシンの電源状態を制御する。このとき、電源制御部122は、自機の物理マシンの電源状態を直接制御しても良いし、SMBus制御部123及びBMC60を介して制御しても良い。また、電源制御部122は、通信制御部124を介して、リモート接続先の物理マシンの電源状態を直接制御しても良いし、リモート接続先の物理マシンのSMBus制御部及びBMCを介して制御しても良い。SMBus制御部123は、SMBusを介して、物理マシン100100-i,i=1~n内部のBMC60と接続し、BMC60から監視結果を取得する。また、SMBus制御部123は、BMC60に対して制御指示を行うことも可能である。通信制御部124は、FPGA11とCPLD12とを接続している。したがって、通信制御部124は、CPLD12によるエラー検出結果を、FPGA11側に通知することが可能である。なお、FPGA11の通信制御部114とCPLD12の通信制御部124とは、同一の装置/回路でも良い。また、通信制御部124は、他のデータ通信カードに搭載されたCPLDと、少なくとも1本のケーブルを介してリモート接続する。ここでは、1本のケーブルを介して接続することとする。ケーブルの本数が複数の場合、物理的/論理的に1本に束ねることが可能である。通信制御部124は、この1本のケーブルを介して、CPLD12によるエラー検出結果を、他のデータ通信カードに通知する。また、通信制御部124は、この1本のケーブルを介して、リモート接続先の物理マシンから電源の給電を受ける受電するようにしても良い。例えば、通信制御部124は、この1本のケーブルを構成する回線の一部を、リモート接続先の物理マシンからの電源の給電用に利用する。この場合、CPLD12は、自機の物理マシンから電源の給電を受けることができなくなっても、リモート接続先の物理マシンから電源の給電を受けることで、動作を継続することができる。[ハードウェアHW状態監視]以下に、ハードウェアHW状態監視の動作の詳細について説明する。ここでは、ハードウェアHW状態監視の一例として、メモリ状態監視の動作について説明する。なお、メモリ状態監視が行われるのは、メイン電源がON状態メイン電源とスタンバイ電源の両方がONの状態の時のみである。PCI制御部113は、PCIExpressバスを介して、メモリの読み出し要求リードリクエストを発行し、CPU等を介してメモリのデータの読み出しを行い、CPU等からコンプリーションcompletion:完了の応答が正常に返ってくるかをチェックすることで、メモリが正常に動作しているか監視する。例えば、PCI制御部113は、一定間隔で定期的に、全メモリアドレスに対して順番に読み出し要求リードリクエストを発行する。なお、PCI制御部113の動作は、プロセッサ111により変更することが可能である。これにより、PCI制御部113は、メモリ故障を検出することが可能となる。従来は、実際にメモリの読み出しが必要となり、CPU等からメモリの読み出し要求リードリクエストが発行されるまで、エラー検出が不可能であった。本発明では、データ通信カード10が、メモリの読み出しの有無に関わらず、定期的にメモリの読み出し要求リードリクエストを発行し、メモリの状態を常に監視するため、早期のエラー検出が可能となる。また、多重化システムにおけるスタンバイ系待機系、従系装置等、普段は動作していない装置のエラー検出も可能となる。[ソフトウェアSW状態監視]以下に、ソフトウェアSW状態監視の動作の詳細について説明する。SW状態取得部112は、ソフトウェアSW30の状態を取得することで、ソフトウェアSW30が正常に動作しているか監視する。SW状態取得部112は、ドライバ40から直接通知を受け取ることで、ソフトウェアSW30の状態を取得しても良いし、PCI制御部113を介して、ドライバ40がメモリ上に設定したソフトウェアSW30の状態を取得しても良い。これにより、SW状態取得部112は、ソフトウェアSW30の異常を検出することが可能となる。通常、故障監視をしているソフトウェアSW自体を用いて、当該ソフトウェアSWの異常を検出することは困難である。本発明では、データ通信カード10が、ソフトウェアSW30の状態を監視するため、故障監視をしているソフトウェアSW自体のエラー検出が可能となる。[I/Oチップ状態監視機能]以下に、I/Oチップ状態監視機能の動作の詳細について説明する。I/Oチップ状態監視が行われるのは、メイン電源がON状態メイン電源とスタンバイ電源の両方がONの状態の時のみである。PCI制御部113は、PCIExpressバスを介して、I/Oチップ50の設定情報コンフィグの読み出し要求リードリクエストを発行し、直接に/CPU等を介してI/Oチップ50の設定情報の読み出しを行い、I/Oチップ50/CPU等からコンプリーションcompletion:完了の応答が正常に返ってくるかをチェックすることで、I/Oチップ50が正常に動作しているか監視する。例えば、PCI制御部113は、一定間隔で定期的に、全I/Oチップ50に対して順番に読み出し要求リードリクエストを発行する。なお、PCI制御部113の動作は、プロセッサ111により変更することが可能である。これにより、PCI制御部113は、I/Oチップ50の故障を検出することが可能となる。従来は、実際にI/Oチップ50の読み出しが必要となり、CPU等からI/Oチップ50の読み出し要求リードリクエストが発行されるまで、エラー検出が不可能であった。本発明では、データ通信カード10が、I/Oチップ50の読み出しの有無に関わらず、定期的にI/Oチップ50の読み出し要求リードリクエストを発行し、I/Oチップ50の状態を常に監視するため、早期のエラー検出が可能となる。また、多重化システムにおけるスタンバイ系待機系、従系装置等、普段は動作していない装置のエラー検出も可能となる。[BMC状態監視]以下に、BMC状態監視の動作の詳細について説明する。なお、BMC状態監視は、メイン電源がON状態メイン電源とスタンバイ電源の両方がONの状態/メイン電源がOFF状態メイン電源がOFFの状態で、スタンバイ電源のみONの状態のいずれの状態であっても行われる。SMBus制御部123は、SMBusを介して、BMC60にSMBus読み出し要求リードリクエストを発行し、BMC60が持っているレジスタの値の読み出しを行い、BMC60からコンプリーションcompletion:完了の応答が正常に返ってくるかをチェックすることで、BMC60が正常に動作しているか監視する。例えば、SMBus制御部123は、一定間隔で定期的に、BMC60にSMBus読み出し要求リードリクエストを発行する。BMC60は、SMBus制御部123に対して、SMBus書き込み要求ライトリクエストを発行し、データ通信カード10内にあるレジスタに対してデータの書き込みを行うことも可能である。SMBus制御部123は、BMC60から一定間隔でSMBus書き込み要求ライトリクエストが発行されるかどうかをチェックすることで、BMC60が正常に動作しているか監視しても良い。なお、メイン電源がON状態であれば、プロセッサ111は、SMBus制御部123の動作を変更することが可能である。これにより、SMBus制御部123は、BMC60の故障を検出することが可能となる。本発明では、データ通信カード10が、定期的にBMC60のSMBus読み出し要求リードリクエストを発行し、BMC60の状態を常に監視するため、早期のエラー検出が可能となる。[自機の電源状態監視]以下に、自機の電源状態監視の動作の詳細について説明する。なお、自機の電源状態監視は、メイン電源がON状態メイン電源とスタンバイ電源の両方がONの状態/メイン電源がOFF状態メイン電源がOFFの状態で、スタンバイ電源のみONの状態のいずれの状態であっても行われる。電源監視部121は、自機の物理マシンの電源状態を監視する。なお、電源監視部121は、スタンバイ電源の給電により駆動している。1メイン電源がON状態時の動作電源監視部121は、自機の物理マシンのメイン電源がON状態であることを検出する。また、電源監視部121は、通信制御部124を介して、リモート接続先の物理マシンのメイン電源がON状態であることを検出する。電源制御部122は、リモート接続先の物理マシンのメイン電源がOFF状態であることを検出した場合、通信制御部124を介して、リモート接続先の物理マシンのメイン電源をON状態にする。なお、自機の物理マシンのメイン電源がON状態であることを検出した場合、電源制御部122は、通信制御部124を介して、リモート接続先の物理マシンのメイン電源をON状態にすることが可能である。リモート接続先の物理マシンのメイン電源をON状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとを同時に起動する場合に有用である。例えば、ソフトウェアSW方式のフォールトトレラントシステムを運用する場合、必ず2台の物理マシンアクティブ系、スタンバイ系のDC電源がON状態になっている必要がある。そのため、1台の装置の電源スイッチを押した際、連動してもう片方の装置もDC電源をON状態にすることに利点メリットがある。逆に、1台の装置を停止ShutdownしてDC電源をOFF状態にする際、連動してもう片方の装置もDC電源をOFF状態にすることに利点がある。2台の物理マシンを連動させるかどうかは固定的ではなく、選択可能である。また、電源制御部122は、自機の物理マシンのメイン電源がON状態であることを検出した場合、リモート接続先の物理マシンのメイン電源をOFF状態にすることも可能である。リモート接続先の物理マシンのメイン電源をOFF状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとの間で、アクティブ系実行系、主系とスタンバイ系待機系、従系を切り替える場合に有用である。2メイン電源がOFF状態時の動作電源監視部121は、自機の物理マシンのメイン電源がOFF状態であることを検出する。また、電源監視部121は、通信制御部124を介して、リモート接続先の物理マシンのメイン電源がOFF状態であることを検出する。電源制御部122は、リモート接続先の物理マシンのメイン電源がON状態であることを検出した場合、通信制御部124を介して、リモート接続先の物理マシンのメイン電源をOFF状態にする。なお、自機の物理マシンのメイン電源がOFF状態であることを検出した場合、電源制御部122は、通信制御部124を介して、リモート接続先の物理マシンのメイン電源をOFF状態にすることが可能である。リモート接続先の物理マシンのメイン電源をOFF状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとを同時に停止する場合に有用である。また、電源制御部122は、自機の物理マシンのメイン電源がOFF状態であることを検出した場合、リモート接続先の物理マシンのメイン電源をON状態にすることも可能である。リモート接続先の物理マシンのメイン電源をON状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとの間で、アクティブ系実行系、主系とスタンバイ系待機系、従系を切り替える場合に有用である。これにより、電源監視部121は、電源故障を検出することが可能となる。通常、ソフトウェアSW制御により物理マシンの電源故障を検出することは困難である。自機の物理マシンのソフトウェアSWにより自機の物理マシンの電源故障を検出することが困難な理由は、自機の物理マシンの電源が故障すると、自機の物理マシンのソフトウェアSWが停止する可能性が高いためである。本発明では、データ通信カード10が、自機の物理マシン及びリモート接続先の物理マシンの電源状態を監視するため、各物理マシンの電源故障の検出、及びいずれの物理マシンの電源故障であるかの判別特定が可能となる。[リモート接続先の電源状態監視]以下に、リモート接続先の電源状態監視の動作の詳細について説明する。なお、リモート接続先の電源状態監視は、メイン電源がON状態メイン電源とスタンバイ電源の両方がONの状態/メイン電源がOFF状態メイン電源がOFFの状態で、スタンバイ電源のみONの状態のいずれの状態であっても行われる。電源監視部121は、リモート接続先の物理マシンの電源状態を監視する。なお、電源監視部121は、スタンバイ電源の給電により駆動している。1メイン電源がON状態時の動作電源監視部121は、通信制御部124を介して、リモート接続先の物理マシンのメイン電源がON状態であることを検出する。また、電源監視部121は、自機の物理マシンのメイン電源がON状態であることを検出する。電源制御部122は、自機の物理マシンのメイン電源がOFF状態であることを検出した場合、自機の物理マシンのメイン電源をON状態にする。なお、リモート接続先の物理マシンのメイン電源がON状態であることを検出した場合、電源制御部122は、通信制御部124を介して、自機の物理マシンのメイン電源をON状態にすることが可能である。自機の物理マシンのメイン電源をON状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとを同時に起動する場合に有用である。また、電源制御部122は、リモート接続先の物理マシンのメイン電源がON状態であることを検出した場合、自機の物理マシンのメイン電源をOFF状態にすることも可能である。自機の物理マシンのメイン電源をOFF状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとの間で、アクティブ系実行系、主系とスタンバイ系待機系、従系を切り替える場合に有用である。2メイン電源がOFF状態時の動作電源監視部121は、通信制御部124を介して、リモート接続先の物理マシンのメイン電源がOFF状態であることを検出する。また、電源監視部121は、自機の物理マシンのメイン電源がOFF状態であることを検出する。電源制御部122は、自機の物理マシンのメイン電源がON状態であることを検出した場合、自機の物理マシンのメイン電源をOFF状態にする。なお、リモート接続先の物理マシンのメイン電源がOFF状態であることを検出した場合、電源制御部122は、通信制御部124を介して、自機の物理マシンのメイン電源をOFF状態にすることが可能である。自機の物理マシンのメイン電源をOFF状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとを同時に停止する場合に有用である。また、電源制御部122は、リモート接続先の物理マシンのメイン電源がOFF状態であることを検出した場合、自機の物理マシンのメイン電源をON状態にすることも可能である。自機の物理マシンのメイン電源をON状態にするか否かについては、設定により変更可能である。自機の物理マシンとリモート接続先の物理マシンとの間で、アクティブ系実行系、主系とスタンバイ系待機系、従系を切り替える場合に有用である。これにより、電源監視部121は、電源故障を検出することが可能となる。通常、ソフトウェアSW制御により物理マシンの電源故障を検出することは困難である。自機の物理マシンのソフトウェアSWにより自機の物理マシンの電源故障を検出することが困難な理由は、自機の物理マシンの電源が故障すると、自機の物理マシンのソフトウェアSWが停止する可能性が高いためである。自機の物理マシンのソフトウェアSWによりリモート接続先の物理マシンの電源故障を検出することが困難な理由は、リモート接続先の物理マシンの電源が壊れたのか、リモート接続先の物理マシンのソフトウェアSWの通信が止まっただけかを判断するのが困難なためである。本発明では、データ通信カード10が、自機の物理マシン及びリモート接続先の物理マシンの電源状態を監視するため、早期のエラー検出が可能となる。[自律制御によるメイン電源のOFF]以下に、自律制御によりメイン電源をOFF状態にする動作の詳細について説明する。データ通信カード10は、上記の各状態監視の結果、いずれかの故障を検出した場合、ソフトウェアSW30の介在なく、自律的に、故障箇所に係る装置のメイン電源をOFF状態にする。このとき、データ通信カード10は、自機の物理マシン又はリモート接続先の物理マシン自体のメイン電源をOFF状態にしても良い。例えば、電源制御部122は、自機の物理マシン自体のメイン電源をOFF状態にすべきであれば、自機の物理マシン自体のメイン電源をOFF状態にする。また、電源制御部122は、リモート接続先の物理マシン自体のメイン電源をOFF状態にすべきであれば、通信制御部124を介して、リモート接続先の物理マシン自体のメイン電源をOFF状態にする。本発明では、データ通信カード10が、自律的にメイン電源をOFF状態にする制御を行うため、エラー検出後、ソフトウェアSWの介在なく、物理マシン自体のメイン電源をOFF状態にすることが可能となる。[自律制御によるメイン電源のON]以下に、自律制御によりメイン電源をON状態にする動作の詳細について説明する。データ通信カード10は、リモート接続先の物理マシンにおける故障を検出した場合、自機の物理マシンのメイン電源がOFF状態であれば、自機の物理マシンのメイン電源をON状態にする。データ通信カード10は、通信制御部124を介して、リモート接続先の物理マシンにおける故障を検出する。電源制御部122は、リモート接続先の物理マシンにおける故障が発生した場合、自機の物理マシンのメイン電源をON状態にする。本発明では、データ通信カード10が、自律的にリモート接続先の物理マシンにおける故障を検出するため、リモート接続先の物理マシンのエラー検出後、ソフトウェアSWの介在なく、自機の物理マシンのメイン電源をON状態にすることが可能となる。これにより、アクティブスタンバイ方式の二重化システムにおいて、スタンバイ系待機系、従系装置のメイン電源をON状態にする必要がある時まで、メイン電源をOFF状態のまま待機させておくことが可能となる。したがって、スタンバイ系待機系、従系装置のメイン電源をON状態で待機させておく必要がなくなり、システム全体の消費電力を大幅に削減することが可能となる。[システム構成1データ通信カード独立型]図5を参照して、データ通信カード10が、物理マシン100100-i,i=1~nの基板から独立して存在しているシステム構成1について説明する。ここでは、データ通信カード10は、物理マシン100100-i,i=1~nのカードスロットに挿された拡張カードである。なお、データ通信カード10の形状は、カード型に限らない。データ通信カード10は、ハードウェアHW20の1つであるプロセッサCPU等を介して、I/Oチップ50と接続する。例えば、データ通信カード10は、PCIExpressバスを介して、物理マシン100100-i,i=1~n内部のハードウェアHW20の1つであるプロセッサCPU等と接続する。このプロセッサCPU等は、PCIExpressバスを介して、I/Oチップ50と接続する。また、データ通信カード10は、SMBusを介して、BMC60と接続する。[システム構成2データ通信カード一体型]図6を参照して、データ通信カード10が、物理マシン100100-i,i=1~nの基板と一体化しているシステム構成2について説明する。ここでは、データ通信カード10は、物理マシン100100-i,i=1~nの基板に搭載されたチップである。この場合、物理マシン100100-i,i=1~nの基板自体が、データ通信カード10としての機能も持つことになる。すなわち、物理マシン100100-i,i=1~nの基板自体が、データ通信カード10に相当する。データ通信カード10は、ハードウェアHW20の1つであるプロセッサCPU等とI/Oチップ50との間に存在し、このプロセッサCPU等とI/Oチップ50との間の通信を監視する。例えば、物理マシン100100-i,i=1~n内部のハードウェアHW20の1つであるプロセッサCPU等は、PCIExpressバスを介して、データ通信カード10と接続する。データ通信カード10は、PCIExpressバスを介して、I/Oチップ50と接続する。また、データ通信カード10は、SMBusを介して、BMC60と接続する。<本発明の特徴>以上のように、本発明は、一般的なIAサーバでソフトウェア方式のフォールトトレラントシステムやクラスターシステムを構築するために利用されるデータ通信カードに、スタンバイ電源から動作可能な装置の状態監視機能、他系装置への状態通知機能及び電源制御機能を追加することで、早期の故障検出とフェイルオーバfailover及びコールドスタンバイcoldstandbyを実現する。上記の機能を追加したデータ通信カードを一般的なIAサーバに挿入するだけで、このデータ通信カードが自律的、定期的に、IAサーバの主要コンポーネントが正常に動作しているか否かチェックを行うため、早期の故障検出が可能となる。また、このデータ通信カードは、検出した故障を他系装置に通知し、他系装置を即座にフェイルオーバ処理に遷移させることができる。また、このデータ通信カードを使用してアクティブスタンバイ構成の多重化システムを構築した場合、スタンバイ側の装置は、メイン電源がOFF状態であっても他系装置の状態を監視可能であり、他系装置の故障を検出した場合、自律的にメイン電源がON状態にすることも可能である。このように、このデータ通信カードは、早期の故障検出とフェイルオーバを実現し、第三者を介さない自律的なコールドスタンバイも実現する。<備考>以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。"