(57)【特許請求の範囲】
【請求項１】
複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラムにより相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、
前記複数の計算機は、
前記他系監視プログラムを実行する処理部と、
他計算機とデータを送受信する一般用通信インタフェース部と、
系切換え制御処理部および構成制御用通信インタフェース部を有する、前記他系監視プログラムが発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボードとを備え、
各計算機の前記一般用通信インタフェース部は、第１のネットワークに互いに通信可能に接続され、
各計算機の前記構成制御用通信インタフェース部は、第１のネットワークから独立した第２のネットワークに互いに通信可能に接続され、
前記処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、前記受信できない他計算機に障害時処理要求を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、前記障害時処理要求が複数の計算機から送信された場合に、自身の前記処理部に前記障害時処理要求を送信する
ことを特徴とする計算機システム。
【請求項２】
前記障害時処理要求は、再起動要求であり、
前記処理部は、前記再起動要求を受信すると、前記再起動要求の受信回答を前記系切換え制御処理部に送信するとともに、障害情報を収集し、前記障害情報の収集を終了すると、前記障害情報の収集の終了の旨を前記系切換え制御処理部に送信し、
前記系切換え制御処理部は、前記障害情報の収集の終了の旨を受信すると、前記処理部に再起動指令を送信する
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記系切換え制御処理部は、前記処理部から前記再起動要求の受信回答を受信せず、かつ、前記複数の計算機から停止要求を受信すると、計算機の入出力制御部に停止指令を送信する
ことを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記各計算機の前記系切換え制御ボードの記憶部には、前記各計算機からの生存情報を受信した時刻を記憶する時刻管理情報が記憶されており、
前記各計算機の処理部は、相互監視している各計算機へ同期して生存情報を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、受信した各計算機の生存情報の受信時刻を前記時刻管理情報に更新し、
前記各計算機の処理部は、前記時刻管理情報を参照して、相互監視している他計算機からの生存情報が所定時間更新されない場合、障害が発生したとして判定し、前記更新されない他計算機に前記障害時処理要求を前記系切換え制御ボードを介して送信する
ことを特徴とする請求項１に記載の計算機システム。
【請求項５】
複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラムにより相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、前記複数の計算機は、前記他系監視プログラムを実行する処理部と、他計算機とデータを送受信する一般用通信インタフェース部と、系切換え制御処理部および構成制御用通信インタフェース部を有する、前記他系監視プログラムが発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボードとを備え、各計算機の前記一般用通信インタフェース部は、第１のネットワークに互いに通信可能に接続され、各計算機の前記構成制御用通信インタフェース部は、第１のネットワークから独立した第２のネットワークに互いに通信可能に接続される計算機システムの障害発生時制御方法であって、
前記処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、前記受信できない他計算機に障害時処理要求を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、前記障害時処理要求が複数の計算機から送信された場合に、自身の前記処理部に前記障害時処理要求を送信する
ことを特徴とする計算機システムの障害発生時制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、汎用ネットワークに接続される汎用電子計算機を複数台接続した多重系の計算機システムにおいて、正常稼働に関わらず計算機の再起動あるいは停止といった異常処理が行われることを防ぐ計算機システムおよびその障害発生時制御方法に関するものである。
【背景技術】
【０００２】
鉄道運行管理、電力系統制御、プラント制御を始めとする高い信頼性が要求される用途に計算機を用いる場合、処理を行う稼働系計算機に加えて、稼働系の計算機に障害が発生した場合に稼働系の計算機の処理を引き継ぐ待機系の計算機を備えた多重系のシステムが期待される。
【０００３】
従来の計算機システムでは、専用機能拡張ボードを搭載した計算機を用いた多重系のシステムにおいて、汎用ネットワークの通信状態に関わらず、障害発生時に障害の発生した稼働系計算機は本来の処理を停止して障害情報を保存し、待機系計算機は自律的に処理の引継ぎを実施する方法が記載されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−５８７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の多重系の計算機システムは、ＣＰＵ（Central Processing Unit）リセット要求を受信した計算機は、障害情報を収集し停止している。各計算機において、異常判定機能の誤動作による誤出力によりリセット要求を送信した場合、正常に稼働している計算機を再起動または停止させる可能性がある。
【０００６】
本発明は、前記の課題を解決するための発明であって、計算機１台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる計算機システムおよびその障害発生時制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、本発明の計算機システムは、計算機の異常判定を複数台（例えば、２台）以上の計算機で実施し、判定結果を比較することで、計算機１台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことを特徴とする。主要な手段には、（１）複数台の計算機同士の相互監視手段、（２）監視用ネットワークによる監視手段、（３）障害判定結果の突き合わせによる高信頼化手段がある。
【０００８】
複数の計算機が稼働系または待機系として組み合わされ、各計算機が相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、計算機１、計算機２、計算機３、…、計算機ｎの処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、受信できない他計算機（例えば、計算機１）に障害時処理要求を送信し、計算機１の系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部に障害時処理要求を送信することが特徴である。
【発明の効果】
【０００９】
本発明によれば、計算機１台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐ多重系計算機システムを構築することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１の計算機システムの例を示す構成図である。
【図２】メインメモリ内に格納されるソフトウェアを示すブロック図である。
【図３】系切換え制御ボードの処理機能を示す説明図である。
【図４】処理部により障害情報を収集して、計算機を再起動する処理手順を示すタイムチャートである。
【図５】処理部により障害情報を収集しないで、計算機を停止する処理手順を示すタイムチャートである。
【図６】系切換え制御処理部の処理手順を示すフローチャートである。
【図７】計算機の正常時における生存監視動作を示すフローチャートである。
【図８】実施形態２の計算機システムにおいて、生存情報を個々の計算機が同期して更新し、更新されない計算機を障害と判定する場合の処理手順を示すタイムチャートである。
【図９】系切換え制御ボードのメモリ内に格納される時刻管理情報を示す説明図である。
【図１０】メインメモリ内に格納されている状態管理情報を示す説明図である。
【図１１】系切換え制御処理部がＣＰＵ要求電文を破棄する処理手順を示すタイムチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（実施形態１）
図１は、本発明の実施形態１の計算機システムの例を示す構成図である。図１において、計算機システムは、演算処理を行う複数台の計算機１０１〜計算機１０４を備える。ｎ台（ｎは３以上の自然数）からなる複数の計算機１０１〜計算機１０４は、それぞれ系切換え制御ネットワーク１０５（第２のネットワーク）と外部ネットワーク１０６（第１のネットワーク）に接続している。
【００１２】
各計算機１０１〜計算機１０４は、それぞれ「計算機１」〜「計算機ｎ」のシステム全体でユニークとなる番号が割り振られており、同じ番号は存在しないものとする。なお、系切換え制御ネットワーク１０５と外部ネットワーク１０６は、接続形態を限定せず、バス型でもスター型でもよいものとする。ネットワークとしては広く普及しているＥｔｈｅｒｎｅｔ（登録商標）などがある。
【００１３】
計算機１０１を例に計算機１０１〜計算機１０４のハードウェア構成例を説明する。各計算機は、処理部１１１（ＣＰＵ１）、メインメモリ１１２、入出力制御部１１３（Ｉ／Ｏ）、読み込みまたは書き込み可能な記憶部１１４、一般用通信インタフェース部１１５（一般用通信Ｉ／Ｆ）、系切換え制御ボード１３０を備える。なお、メインメモリ１１２にはソフトウェア１２１（図２参照）が格納されている。
【００１４】
系切換え制御ボード１３０は、系切換え制御処理部１３１（ＣＰＵ２）、メモリ１３２、入出力制御部１３３（Ｉ／Ｏ）、構成制御用通信インタフェース部１３５（構成制御用通信Ｉ／Ｆ）を備える。
【００１５】
図２は、メインメモリ１１２内に格納されるソフトウェアを示すブロック図である。ソフトウェア１２１は基本ＯＳ（Operating System）２０１、他系監視プログラム２０２、状態管理情報２０３、サブシステム２０４、アプリケーション２０５、システムサービス２０６を備える。基本ＯＳ２０１では資源管理、プロセス管理、タイマ管理などを行う。
【００１６】
他系監視プログラム２０２では、系切換え制御ボード１３０中の構成制御用通信インタフェース部１３５を使い、系切換え制御ネットワーク１０５を介して、他計算機と生存通知電文を送受信する。電文送受信は、汎用通信プロトコルを使って実行する。
【００１７】
。
系切換え制御ネットワーク１０５から送信された生存通知電文は、他計算機の構成制御用通信インタフェース部１３５を介して直接送信されるので、外部ネットワーク１０６が高負荷状態でも、障害監視ができる。
【００１８】
他系監視プログラム２０２は、汎用通信プロトコルでデータを送受信するために予め決められたアドレスすなわちポートで、他計算機からの接続を待ち、接続された場合には電文を受信して本プログラム内で内容を保持し、サブシステム２０４からの読み出し要求に対して保持している内容を返す。
【００１９】
他系監視プログラム２０２は、サブシステム２０４からの生存通知電文送信要求を受け、多重系システムを構成している他計算機上のサブシステム２０４が待機しているポートに電文を送信する。
【００２０】
状態管理情報２０３は、計算機１０１〜１０４の状態を示すものである。なお、状態管理情報２０３は、図１０を参照して後述する。
【００２１】
サブシステム２０４は、前記の読み出し要求の他に、タスクの生成、実行をサポートする処理を行う。
【００２２】
アプリケーション２０５は、計算機システムを各種用途に用いるためのプログラム処理を行う。アプリケーションとしては、鉄道の運行管理システムや電力系統の制御システムなどがある。
【００２３】
システムサービス２０６は、本実施形態に関わる計算機システム全体のサービスとして障害情報や統計情報の閲覧などを可能にするサービスを可能にするための処理を行う。
【００２４】
基本ＯＳ２０１中の割込み処理プログラム２１５は、処理部１１１に対してマスク不可能割込み（Non-Maskable Interrupt：ＮＭＩ）信号が入力されたときに起動され、障害が発生してＮＭＩ信号が入力されたときに、障害情報の保存などの処理を実行する。
【００２５】
基本ＯＳ２０１中の外部ネットワーク１０６のための汎用のイーサネット（登録商標）ドライバ２１１は、Ｉ／Ｆ層２１２およびＵＤＰ（User Datagram Protocol）／ＩＰ（Internet Protocol）層２１３を介して、他系監視プログラム２０２と通信する。
【００２６】
図３は、系切換え制御ボード１３０の処理機能を示す説明図である。系切換え制御ボード１３０は、再起動制御部３０１、電文比較部３０２、系切換え制御ドライバ３０３を含んで構成される。系切換え制御ボード１３０は、系切換え制御ネットワーク１０５を介して、他計算機と制御電文を送受信する。
【００２７】
電文比較部３０２は、他計算機から制御電文を受信すると、所定時間Ｔ２（図４参照）内に複数の他計算機からのＣＰＵ再起動要求電文を受信したか否かを判断し、複数のＣＰＵ再起動要求が来ていた場合、再起動制御部３０１が、処理部１１１に割込み信号を出力し障害情報収集（ログ収集）の指令をする。
【００２８】
その後、電文比較部３０２は、他計算機から制御電文を受信すると、ＣＰＵ停止要求電文を受信したか否かを判断し、ＣＰＵ停止要求電文であり、かつ、先の再起動要求に対し処理部１１１から要求応答がない場合には、再起動制御部３０１は、入出力制御部１１３にＣＰＵ停止指令をし、計算機の処理部１１１を停止させる。なお、再起動制御部３０１が計算機の処理部１１１に直接停止要求をしないのは、障害発生により、処理部１１１が正常に機能していないことを考慮したものである。
【００２９】
系切換え制御ドライバ３０３は、汎用ネットワークである系切換え制御ネットワーク１０５を介して接続される系切換え制御ボード１３０の動作を、同じく汎用ネットワークである外部ネットワーク１０６に接続される一般用通信インタフェース部１１５の動作から分離するために、イーサネットドライバ２１１（図２参照）と分けて格納されている。また、系切換え制御ドライバ３０３は、Ｉ／Ｆ層２１２、ＵＤＰ／ＩＰ層２１３を経由せずに、他系監視プログラム２０２と直接通信し、スプリットブレイン状態を回避している。
【００３０】
図４は、処理部１１１により障害情報を収集して、計算機を再起動する処理手順を示すタイムチャートである。適宜図１を参照する。正常時、計算機の処理部１１１は、他系監視プログラム２０２を通じて生存監視をしている（Ｓ４０１）。
【００３１】
計算機１から生存情報が計算機２、計算機３さらに計算機ｎまで送信された後（Ｓ４０２）、計算機１に障害が発生したとすると（Ｓ４０３）、所定時間Ｔ１（例えば、５００ｍｓ）経過以内に計算機１からの生存情報が届かないことで（Ｓ４０７、Ｓ４０８、Ｓ４０９）、計算機２、計算機３ならびに計算機ｎは計算機１に障害が発生したと判定する（Ｓ４０４、Ｓ４０５、Ｓ４０６）。障害が発生したと判定した計算機２、計算機３ならびに計算機ｎは、計算機１に対してＣＰＵ再起動要求電文を送信する（Ｓ４１０）。さらに、障害が発生したと判定した計算機２、計算機３ならびに計算機ｎは、所定時間Ｔ３（例えば、１００ｍｓ）経過後、ＣＰＵ停止要求電文を送信する（Ｓ４１４）。
【００３２】
ＣＰＵ再起動要求電文を受信した計算機１の系切換え制御処理部１３１は、所定時間Ｔ２（例えば、５０ｍｓ）間に複数の計算機からＣＰＵ再起動要求電文を受信したか否かを判断し、複数の計算機からＣＰＵ再起動要求電文が来ていた場合、処理部１１１に対し障害情報収集を指令する（Ｓ４１１）。
【００３３】
処理部１１１は、障害情報収集の指令に対する指令応答を返し（Ｓ４１２）、障害情報の収集を行う（Ｓ４１３）。障害情報収集が完了すると、障害情報収集完了通知を系切換え制御処理部１３１に送信する（Ｓ４１５）。系切換え制御処理部１３１は、指令応答があった場合、すなわち、処理部１１１が障害情報収集の処理中である場合、計算機２、計算機３さらに計算機ｎから送信されるＣＰＵ停止要求電文を無視する。
【００３４】
系切換え制御処理部１３１は、障害情報収集の処理後、処理部１１１から障害情報収集の処理の完了通知を受けると、入出力制御部１１３を介して処理部１１１に計算機１の再起動を指令する（Ｓ４１６）。処理部１１１は、再起動の指令を受信すると、再起動する（Ｓ４１７）。なお、障害情報収集の処理後の動作は、必ずしも再起動でなくてもよく、そのまま停止させることも可能である。
【００３５】
図５は、処理部１１１により障害情報を収集しないで、計算機を停止する処理手順を示すタイムチャートである。正常時、計算機は他系監視プログラム２０２を通じて生存監視をしている（Ｓ５０１）。
【００３６】
計算機１から生存情報が計算機２、計算機３さらに計算機ｎまで送信された後（Ｓ５０２）、計算機１に障害が発生したとすると（Ｓ５０３）、所定時間Ｔ１経過以内に計算機１からの生存情報が届かないことで（Ｓ５０７、Ｓ５０８、Ｓ５０９）、計算機２、計算機３ならびに計算機ｎは計算機１に障害が発生したと判定する（Ｓ５０４、Ｓ５０５、Ｓ５０６）。障害が発生したと判定した計算機２、計算機３ならびに計算機ｎは、計算機１に対してＣＰＵ再起動要求電文を送信する（Ｓ５１０）。さらに、障害が発生したと判定した計算機２、計算機３ならびに計算機ｎは、所定時間Ｔ３経過後、ＣＰＵ停止要求電文を送信する（Ｓ５１３）。
【００３７】
ＣＰＵ再起動要求電文を受信した計算機１の系切換え制御処理部１３１は、所定時間Ｔ２間に複数の計算機からＣＰＵ再起動要求電文を受信したか否かを判断し、複数の計算機からＣＰＵ再起動要求電文が来ていた場合、処理部１１１に対し障害情報収集を指令する（Ｓ５１１）。
【００３８】
ここで、計算機１の処理部１１１が処理不能となり（Ｓ５１２）、障害情報収集ができない場合、すなわち、指令応答がない場合、計算機１の系切換え制御処理部１３１は、計算機２、計算機３ならびに計算機ｎからＣＰＵ停止要求電文を受信した後（Ｓ５１３）、入出力制御部１１３（Ｉ／Ｏ）に計算機１の停止を指令する（Ｓ５１４）。停止指令を受けた入出力制御部１１３は、計算機１を停止させる（Ｓ５１５）。
【００３９】
図１１は、系切換え制御処理部１３１がＣＰＵ要求電文を破棄する処理手順を示すタイムチャートである。図４、図５においては、計算機１において障害が発生した場合を想定したフローチャートを示したが、計算機１においては障害が発生しているか否かは、通常、明りょうにはわからないのが実情である。図１１においては、計算機１の系切換え制御処理部１３１が、ＣＰＵ再起動要求電文を受信した場合の想定される処理手順について説明する。図１１において、図４と同一処理については同一符号を記している。
【００４０】
正常時、計算機の処理部１１１は、他系監視プログラム２０２を通じて生存監視をしている（Ｓ４０１）。計算機１から生存情報が計算機２、計算機３さらに計算機ｎまで送信された後（Ｓ４０２）、計算機２において、所定時間Ｔ１経過以内に計算機１からの生存情報が届かないことで（Ｓ４０７）、あるいは、誤動作などの原因で計算機１に障害が発生したと判定する（Ｓ４０４）。障害が発生したと判定した計算機２は、計算機１に対してＣＰＵ再起動要求電文を送信する（Ｓ４１０）。さらに、障害が発生したと判定した計算機２は、所定時間Ｔ３経過後、ＣＰＵ停止要求電文を送信する（Ｓ４１４）。
【００４１】
ＣＰＵ再起動要求電文を受信した計算機１の系切換え制御処理部１３１は、計算機２からのＣＰＵ再起動要求電文を受信後、所定時間Ｔ２間に複数の計算機からＣＰＵ再起動要求電文を受信したか否かを判断する。しかしながら、複数の計算機からＣＰＵ再起動要求電文が来ないので、計算機１の系切換え制御処理部１３１は、受信したＣＰＵ再起動要求電文を破棄する。また、その後受信した計算機２からのＣＰＵ停止要求電文も破棄する。
【００４２】
本実施形態では、計算機１台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる。
【００４３】
図６は、系切換え制御処理部１３１の処理手順を示すフローチャートである。適宜図１を参照する。系切換え制御処理部１３１は、ＣＰＵ再起動要求電文を受信し（Ｓ６０１）、受信した電文数が２以上（Ｎ≧２）か否かを判定する（Ｓ６０２）。電文数が２以上の場合（Ｓ６０２，Ｙｅｓ）、障害情報収集（ログ収集）の指令を処理部１１１にする（Ｓ６０３）。系切換え制御処理部１３１は、処理部１１１から指令応答があるか否かを判定し（Ｓ６０４）、指令応答があった場合（Ｓ６０４，Ｙｅｓ）、処理部１１１から障害情報収集（ログ収集）完了通知があるか否かを判定する（Ｓ６０５）。ログ収集完了通知があった場合（Ｓ６０５，Ｙｅｓ）、ＣＰＵ再起動指令を処理部１１１に送信する（Ｓ６０６）。
【００４４】
Ｓ６０４において指令応答がない場合（Ｓ６０４，Ｎｏ）、または、Ｓ６０５においてログ収集完了通知がない場合（Ｓ６０５，Ｎｏ）、系切換え制御処理部１３１は、ＣＰＵ停止指令を入出力制御部１１３に指令する（Ｓ６０７）。
【００４５】
Ｓ６０２において受信した電文数が１のみであった場合（Ｓ６０２，Ｎｏ）、系切換え制御処理部１３１は、所定時間Ｔ２が経過したか（Ｔ２タイムアウトしたか）否かを判定し（Ｓ６０８）、タイムアウト前ならば（Ｓ６０８，Ｎｏ）、Ｓ６０１に戻り、タイムアウトしたならば（Ｓ６０８，Ｙｅｓ）、ＣＰＵ再起動要求電文が誤動作によるものと判断し処理を継続する（Ｓ６０９）。
【００４６】
なお、図示していないが、Ｓ６０６ののちに、再起動が成功しなかった場合、系切換え制御処理部１３１は、ＣＰＵ停止指令をしてＣＰＵを停止させる。
【００４７】
図７は、計算機の正常時における生存監視動作を示すフローチャートである。適宜図１を参照する。処理部１１１は、生存監視する際に、まず生存監視タイマをスタートさせる（Ｓ７０１）。処理部１１１は、他計算機の生存情報を受信したか否かを判定する（Ｓ７０２）、所定時間Ｔ１のタイムアウト以前に生存情報が受信された場合（Ｓ７０２，Ｙｅｓ）、生存監視タイマを再スタートさせるためにＳ７０１に戻る。
【００４８】
Ｓ７０２において、生存情報を受信しなかった場合（Ｓ７０２，Ｎｏ）、処理部１１１は、所定時間Ｔ１のタイムアウトか否かを判定し（Ｓ７０３）、タイムアウトした場合（Ｓ７０３，Ｙｅｓ）、すなわち、所定時間Ｔ１内に他計算機の生存情報が受信されなかった場合は、生存情報が送信できなかった計算機が異常と判定し、ＣＰＵ再起動要求電文を送信する（Ｓ７０４）。処理部１１１は、所定時間Ｔ３だけ待ち（Ｓ７０５）、障害情報を収集できない場合を想定して、さらに異常と判定した計算機に対してＣＰＵ停止要求電文を送信する（Ｓ７０６）。なお、Ｓ７０３において、タイムアウトしなかった場合（Ｓ７０３，Ｎｏ）、Ｓ７０２に戻る。
【００４９】
本実施形態では、生存情報の伝達は各計算機がそれぞれのタイミングで実施することを前提としている。生存情報の伝達にはブロードキャスト通信などを利用することで処理を可能とする。ブロードキャスト通信とはネットワーク全体を示すアドレスに送信することで、ネットワークに接続された全計算機に情報を伝達することを可能とした通信方式である。
【００５０】
（実施形態２）
以下では、実施形態２として、生存情報の伝達を全計算機で同期させて実施させる方式について説明する。実施形態２の計算機システムの構成は、実施形態１と同様である。実施形態２においては、メモリ１３２（図１参照）内に各計算機の生存情報を受信した日時を記録する時刻管理情報１３７を有している。実施形態２においては、個々の計算機の処理部１１１が生存情報を同期して更新し、時刻管理情報１３７を参照して、生存情報が更新されない計算機を障害と判定するのが特徴である。
【００５１】
図８は、実施形態２の計算機システムにおいて、生存情報を個々の計算機が同期して更新し、更新されない計算機を障害と判定する場合の処理手順を示すタイムチャートである。正常時、個々の計算機の処理部１１１は、他系監視プログラム２０２を通じて生存監視をしている（Ｓ８０１）。計算機１、計算機２、計算機３ならびに計算機ｎは生存情報を同期して更新し（Ｓ８０２、Ｓ８０３、Ｓ８０４、Ｓ８０５）、さらに一定時刻後、再度同期して生存情報を更新する（Ｓ８０６、Ｓ８０７、Ｓ８０８、Ｓ８０９）。同期して生存情報を更新する方式としてメモリ転写方式などがある。
【００５２】
メモリ転写方式は、例えば、メモリ転写に必要な各計算機のデータをサイクリックに受信／送信することにより実現される。図９に示す時刻管理情報１３７を参照して詳細に説明する。
【００５３】
図９は、系切換え制御ボードのメモリ１３２内に格納される時刻管理情報１３７を示す説明図である。時刻管理情報１３７には、計算機番号、日時、時刻差分Δｔを含んで構成されている。日時の時刻は、ｈｈ：ｍｍ：ｓｓ．ｆｆｆの形式で記載されており、ｈｈは時間、ｍｍは分、ｓｓは秒、ｆｆｆの最初のｆは１／１０秒、次のｆは１／１００秒、最後のｆは１／１０００秒を示す。
【００５４】
ここでは、計算機１を自計算機として説明すると、計算機１以外の他の計算機２、計算機３、…、計算機ｎのデータを受信したときは、送信元に応じて転写領域内の所定のデータ格納領域へ格納する。自計算機１の送信時には、データ格納領域に記憶されている自計算機１のデータを系切換え制御処理部１３１によりその他の計算機２、計算機３、…、計算機ｎに送信する。これにより、全計算機の転写領域内において各局のデータを共有することが可能である。
【００５５】
時刻差分Δｔは、複数の計算機の時刻において、時刻が所定範囲内（例えば、０．０５秒以内）に入る計算機を抽出し、その中で最も古い時間を基準として差分をとるとよい。例えば、図９に示す場合には、計算機１、計算機３、…、計算機ｎ―１、計算機ｎの中で、最も古い計算機は計算機１と抽出される。そして、計算機２は計算機１との時刻差分Δｔがマイナスとなっており、０．５秒（５００ｍｓ）以上更新されていないことがわかる。
【００５６】
本実施形態では生存情報の更新のテーブルである時刻管理情報１３７を、処理部１１１の動作を介することなく、随時得ることができる。処理部１１１は、自計算機の生存情報を、時刻管理情報１３７に記載する。また、処理部１１１は、障害判定を時刻管理情報１３７を参照して判定することができる。
【００５７】
図８に戻り、ある時刻において計算機１で障害が発生したとすると（Ｓ８１０）、計算機２、計算機３ならびに計算機ｎにおいて、生存情報を更新した際（Ｓ８１１、Ｓ８１２、Ｓ８１３）に、所定時間Ｔ４経過後に計算機１の生存情報が更新されないことで障害と判定される（Ｓ８１５、Ｓ８１６、Ｓ８１７）。
【００５８】
障害判定後、計算機１に対して、計算機２、計算機３ならびに計算機ｎからＣＰＵ再起動要求電文が送信される。ＣＰＵ再起動要求電文を受信した計算機１の系切換え制御処理部１３１は、複数の再起動要求電文が受信されたと判定し（Ｓ８１８）、前記の障害時処理を実施する（Ｓ８１９）。障害時処理とは、具体的には、図４に示すＳ４１１〜Ｓ４１７）、または、図５に示すＳ５１１〜Ｓ５１５である。
【００５９】
図１０は、メインメモリ１１２内に格納されている状態管理情報を示す説明図である。適宜図１を参照する。状態管理情報を更新することで生存状態を更新することとする。ここで、状態管理情報２０３は、データベースとして構成してもよいし、テーブルとして構成してもよいし、ＰＳファイル（順ファイル）として構成してもよいし、その形態は限定されないのは勿論である。
【００６０】
図１０において、名称１００１は、計算機１〜計算機ｎ（図１参照）の各名称を表している。なお、名称１００１は、計算機１０１〜計算機１０４を示すユニークな番号（「計算機１」〜「計算機ｎ」）としてもよく、各計算機１０１〜計算機１０４を識別できれば限定されないのは勿論である。
【００６１】
ＩＰアドレス１００２は、名称１００１に対するＩＰ（Internet Protocol）アドレスであり、外部ネットワーク１０６（図１参照）に接続される計算機１０１〜１０４のＩＰアドレスが、それぞれＡ１、Ｂ１、Ｃ１、・・・、Ｄ１、Ｅ１であることを表している。
【００６２】
状態１（１００３）は、計算機１０１（計算機１）〜計算機１０４（計算機ｎ）の動作状態を表している。状態１（１００３）に示す例では、計算機１が停止、他の計算機２〜計算機ｎは正常動作中であることが分る。
【００６３】
状態２（１００４）は、計算機１０１（計算機１）〜計算機１０４（計算機ｎ）の稼働状態を表す。状態２（１００４）に示す例では、計算機１が停止状態であり、計算機２、計算機３、…、計算機ｎ−１が稼働系として動作中であり、計算機ｎが待機系として動作中であることが分る。上記の内容を全計算機で同期して保持し、一定時間周期で更新することで、他計算機の生存を把握することができる。
【００６４】
本実施形態をまとめると、複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラム２０２により相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、複数の計算機（例えば、計算機１０１，１０２，１０３，１０４）は、他系監視プログラム２０２を実行する処理部１１１と、他計算機とデータを送受信する一般用通信インタフェース部１１５と、系切換え制御処理部１３１および構成制御用通信インタフェース部１３５を有する、他系監視プログラム２０２が発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボード１３０とを備え、各計算機の一般用通信インタフェース部１１５は、外部ネットワーク１０６（第１のネットワーク）に互いに通信可能に接続され、各計算機の構成制御用通信インタフェース部１３５は、第１のネットワークから独立した系切換え制御ネットワーク１０５（第２のネットワーク）に互いに通信可能に接続され、処理部１１１は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、受信できない他計算機に障害時処理要求を系切換え制御ボード１３０を介して送信し、系切換え制御処理部１３１は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部１１１に障害時処理要求を送信することができる。
【符号の説明】
【００６５】
１０１    計算機１
１０５    系切換え制御ネットワーク（第２のネットワーク）
１０６    外部ネットワーク（第１のネットワーク）
１１１    処理部（ＣＰＵ１）
１１２    メインメモリ
１１３，１３３    入出力制御部（Ｉ／Ｏ）
１１４    記憶部
１１５    一般用通信インタフェース部（一般用通信Ｉ／Ｆ）
１３０    系切換え制御ボード
１３１    系切換え制御処理部（ＣＰＵ２）
１３２    メモリ
１３５    構成制御用通信インタフェース部（構成制御用Ｉ／Ｆ）
１３７    時刻管理情報
２０１    基本ＯＳ
２０２    他系監視プログラム
２０３    状態管理情報
２０４    サブシステム
２０５    アプリケーション
２０６    システムサービス
２１１    イーサネットドライバ
３０１    再起動制御部
３０２    電文比較部
３０３    系切換え制御ドライバ
【図１】
0005503512.tif 000002
【図２】
0005503512.tif 000003
【図３】
0005503512.tif 000004
【図４】
0005503512.tif 000005
【図５】
0005503512.tif 000006
【図６】
0005503512.tif 000007
【図７】
0005503512.tif 000008
【図８】
0005503512.tif 000009
【図９】
0005503512.tif 000010
【図１０】
0005503512.tif 000011
【図１１】
0005503512.tif 000012