計算機システムおよびその障害発生時制御方法
【課題】計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる計算機システムを提供する。
【解決手段】複数の計算機が稼働系または待機系として組み合わされ、各計算機が相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、計算機2、計算機3、…、計算機nの処理部111は、相互監視している他計算機からの生存情報が所定時間(T1)受信できないとき、障害が発生したとして判定し、受信できない他計算機に障害時処理要求を送信し、計算機1の系切換え制御処理部131は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部111に障害時処理要求を送信する。
【解決手段】複数の計算機が稼働系または待機系として組み合わされ、各計算機が相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、計算機2、計算機3、…、計算機nの処理部111は、相互監視している他計算機からの生存情報が所定時間(T1)受信できないとき、障害が発生したとして判定し、受信できない他計算機に障害時処理要求を送信し、計算機1の系切換え制御処理部131は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部111に障害時処理要求を送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、汎用ネットワークに接続される汎用電子計算機を複数台接続した多重系の計算機システムにおいて、正常稼働に関わらず計算機の再起動あるいは停止といった異常処理が行われることを防ぐ計算機システムおよびその障害発生時制御方法に関するものである。
【背景技術】
【0002】
鉄道運行管理、電力系統制御、プラント制御を始めとする高い信頼性が要求される用途に計算機を用いる場合、処理を行う稼働系計算機に加えて、稼働系の計算機に障害が発生した場合に稼働系の計算機の処理を引き継ぐ待機系の計算機を備えた多重系のシステムが期待される。
【0003】
従来の計算機システムでは、専用機能拡張ボードを搭載した計算機を用いた多重系のシステムにおいて、汎用ネットワークの通信状態に関わらず、障害発生時に障害の発生した稼働系計算機は本来の処理を停止して障害情報を保存し、待機系計算機は自律的に処理の引継ぎを実施する方法が記載されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−58708号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の多重系の計算機システムは、CPU(Central Processing Unit)リセット要求を受信した計算機は、障害情報を収集し停止している。各計算機において、異常判定機能の誤動作による誤出力によりリセット要求を送信した場合、正常に稼働している計算機を再起動または停止させる可能性がある。
【0006】
本発明は、前記の課題を解決するための発明であって、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる計算機システムおよびその障害発生時制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するため、本発明の計算機システムは、計算機の異常判定を複数台(例えば、2台)以上の計算機で実施し、判定結果を比較することで、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことを特徴とする。主要な手段には、(1)複数台の計算機同士の相互監視手段、(2)監視用ネットワークによる監視手段、(3)障害判定結果の突き合わせによる高信頼化手段がある。
【0008】
複数の計算機が稼働系または待機系として組み合わされ、各計算機が相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、計算機1、計算機2、計算機3、…、計算機nの処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、受信できない他計算機(例えば、計算機1)に障害時処理要求を送信し、計算機1の系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部に障害時処理要求を送信することが特徴である。
【発明の効果】
【0009】
本発明によれば、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐ多重系計算機システムを構築することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態1の計算機システムの例を示す構成図である。
【図2】メインメモリ内に格納されるソフトウェアを示すブロック図である。
【図3】系切換え制御ボードの処理機能を示す説明図である。
【図4】処理部により障害情報を収集して、計算機を再起動する処理手順を示すタイムチャートである。
【図5】処理部により障害情報を収集しないで、計算機を停止する処理手順を示すタイムチャートである。
【図6】系切換え制御処理部の処理手順を示すフローチャートである。
【図7】計算機の正常時における生存監視動作を示すフローチャートである。
【図8】実施形態2の計算機システムにおいて、生存情報を個々の計算機が同期して更新し、更新されない計算機を障害と判定する場合の処理手順を示すタイムチャートである。
【図9】系切換え制御ボードのメモリ内に格納される時刻管理情報を示す説明図である。
【図10】メインメモリ内に格納されている状態管理情報を示す説明図である。
【図11】系切換え制御処理部がCPU要求電文を破棄する処理手順を示すタイムチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(実施形態1)
図1は、本発明の実施形態1の計算機システムの例を示す構成図である。図1において、計算機システムは、演算処理を行う複数台の計算機101〜計算機104を備える。n台(nは3以上の自然数)からなる複数の計算機101〜計算機104は、それぞれ系切換え制御ネットワーク105(第2のネットワーク)と外部ネットワーク106(第1のネットワーク)に接続している。
【0012】
各計算機101〜計算機104は、それぞれ「計算機1」〜「計算機n」のシステム全体でユニークとなる番号が割り振られており、同じ番号は存在しないものとする。なお、系切換え制御ネットワーク105と外部ネットワーク106は、接続形態を限定せず、バス型でもスター型でもよいものとする。ネットワークとしては広く普及しているEthernet(登録商標)などがある。
【0013】
計算機101を例に計算機101〜計算機104のハードウェア構成例を説明する。各計算機は、処理部111(CPU1)、メインメモリ112、入出力制御部113(I/O)、読み込みまたは書き込み可能な記憶部114、一般用通信インタフェース部115(一般用通信I/F)、系切換え制御ボード130を備える。なお、メインメモリ112にはソフトウェア121(図2参照)が格納されている。
【0014】
系切換え制御ボード130は、系切換え制御処理部131(CPU2)、メモリ132、入出力制御部133(I/O)、構成制御用通信インタフェース部135(構成制御用通信I/F)を備える。
【0015】
図2は、メインメモリ112内に格納されるソフトウェアを示すブロック図である。ソフトウェア121は基本OS(Operating System)201、他系監視プログラム202、状態管理情報203、サブシステム204、アプリケーション205、システムサービス206を備える。基本OS201では資源管理、プロセス管理、タイマ管理などを行う。
【0016】
他系監視プログラム202では、系切換え制御ボード130中の構成制御用通信インタフェース部135を使い、系切換え制御ネットワーク105を介して、他計算機と生存通知電文を送受信する。電文送受信は、汎用通信プロトコルを使って実行する。
【0017】
。
系切換え制御ネットワーク105から送信された生存通知電文は、他計算機の構成制御用通信インタフェース部135を介して直接送信されるので、外部ネットワーク106が高負荷状態でも、障害監視ができる。
【0018】
他系監視プログラム202は、汎用通信プロトコルでデータを送受信するために予め決められたアドレスすなわちポートで、他計算機からの接続を待ち、接続された場合には電文を受信して本プログラム内で内容を保持し、サブシステム204からの読み出し要求に対して保持している内容を返す。
【0019】
他系監視プログラム202は、サブシステム204からの生存通知電文送信要求を受け、多重系システムを構成している他計算機上のサブシステム204が待機しているポートに電文を送信する。
【0020】
状態管理情報203は、計算機101〜104の状態を示すものである。なお、状態管理情報203は、図10を参照して後述する。
【0021】
サブシステム204は、前記の読み出し要求の他に、タスクの生成、実行をサポートする処理を行う。
【0022】
アプリケーション205は、計算機システムを各種用途に用いるためのプログラム処理を行う。アプリケーションとしては、鉄道の運行管理システムや電力系統の制御システムなどがある。
【0023】
システムサービス206は、本実施形態に関わる計算機システム全体のサービスとして障害情報や統計情報の閲覧などを可能にするサービスを可能にするための処理を行う。
【0024】
基本OS201中の割込み処理プログラム215は、処理部111に対してマスク不可能割込み(Non-Maskable Interrupt:NMI)信号が入力されたときに起動され、障害が発生してNMI信号が入力されたときに、障害情報の保存などの処理を実行する。
【0025】
基本OS201中の外部ネットワーク106のための汎用のイーサネット(登録商標)ドライバ211は、I/F層212およびUDP(User Datagram Protocol)/IP(Internet Protocol)層213を介して、他系監視プログラム202と通信する。
【0026】
図3は、系切換え制御ボード130の処理機能を示す説明図である。系切換え制御ボード130は、再起動制御部301、電文比較部302、系切換え制御ドライバ303を含んで構成される。系切換え制御ボード130は、系切換え制御ネットワーク105を介して、他計算機と制御電文を送受信する。
【0027】
電文比較部302は、他計算機から制御電文を受信すると、所定時間T2(図4参照)内に複数の他計算機からのCPU再起動要求電文を受信したか否かを判断し、複数のCPU再起動要求が来ていた場合、再起動制御部301が、処理部111に割込み信号を出力し障害情報収集(ログ収集)の指令をする。
【0028】
その後、電文比較部302は、他計算機から制御電文を受信すると、CPU停止要求電文を受信したか否かを判断し、CPU停止要求電文であり、かつ、先の再起動要求に対し処理部111から要求応答がない場合には、再起動制御部301は、入出力制御部113にCPU停止指令をし、計算機の処理部111を停止させる。なお、再起動制御部301が計算機の処理部111に直接停止要求をしないのは、障害発生により、処理部111が正常に機能していないことを考慮したものである。
【0029】
系切換え制御ドライバ303は、汎用ネットワークである系切換え制御ネットワーク105を介して接続される系切換え制御ボード130の動作を、同じく汎用ネットワークである外部ネットワーク106に接続される一般用通信インタフェース部115の動作から分離するために、イーサネットドライバ211(図2参照)と分けて格納されている。また、系切換え制御ドライバ303は、I/F層212、UDP/IP層213を経由せずに、他系監視プログラム202と直接通信し、スプリットブレイン状態を回避している。
【0030】
図4は、処理部111により障害情報を収集して、計算機を再起動する処理手順を示すタイムチャートである。適宜図1を参照する。正常時、計算機の処理部111は、他系監視プログラム202を通じて生存監視をしている(S401)。
【0031】
計算機1から生存情報が計算機2、計算機3さらに計算機nまで送信された後(S402)、計算機1に障害が発生したとすると(S403)、所定時間T1(例えば、500ms)経過以内に計算機1からの生存情報が届かないことで(S407、S408、S409)、計算機2、計算機3ならびに計算機nは計算機1に障害が発生したと判定する(S404、S405、S406)。障害が発生したと判定した計算機2、計算機3ならびに計算機nは、計算機1に対してCPU再起動要求電文を送信する(S410)。さらに、障害が発生したと判定した計算機2、計算機3ならびに計算機nは、所定時間T3(例えば、100ms)経過後、CPU停止要求電文を送信する(S414)。
【0032】
CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、所定時間T2(例えば、50ms)間に複数の計算機からCPU再起動要求電文を受信したか否かを判断し、複数の計算機からCPU再起動要求電文が来ていた場合、処理部111に対し障害情報収集を指令する(S411)。
【0033】
処理部111は、障害情報収集の指令に対する指令応答を返し(S412)、障害情報の収集を行う(S413)。障害情報収集が完了すると、障害情報収集完了通知を系切換え制御処理部131に送信する(S415)。系切換え制御処理部131は、指令応答があった場合、すなわち、処理部111が障害情報収集の処理中である場合、計算機2、計算機3さらに計算機nから送信されるCPU停止要求電文を無視する。
【0034】
系切換え制御処理部131は、障害情報収集の処理後、処理部111から障害情報収集の処理の完了通知を受けると、入出力制御部113を介して処理部111に計算機1の再起動を指令する(S416)。処理部111は、再起動の指令を受信すると、再起動する(S417)。なお、障害情報収集の処理後の動作は、必ずしも再起動でなくてもよく、そのまま停止させることも可能である。
【0035】
図5は、処理部111により障害情報を収集しないで、計算機を停止する処理手順を示すタイムチャートである。正常時、計算機は他系監視プログラム202を通じて生存監視をしている(S501)。
【0036】
計算機1から生存情報が計算機2、計算機3さらに計算機nまで送信された後(S502)、計算機1に障害が発生したとすると(S503)、所定時間T1経過以内に計算機1からの生存情報が届かないことで(S507、S508、S509)、計算機2、計算機3ならびに計算機nは計算機1に障害が発生したと判定する(S504、S505、S506)。障害が発生したと判定した計算機2、計算機3ならびに計算機nは、計算機1に対してCPU再起動要求電文を送信する(S510)。さらに、障害が発生したと判定した計算機2、計算機3ならびに計算機nは、所定時間T3経過後、CPU停止要求電文を送信する(S513)。
【0037】
CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、所定時間T2間に複数の計算機からCPU再起動要求電文を受信したか否かを判断し、複数の計算機からCPU再起動要求電文が来ていた場合、処理部111に対し障害情報収集を指令する(S511)。
【0038】
ここで、計算機1の処理部111が処理不能となり(S512)、障害情報収集ができない場合、すなわち、指令応答がない場合、計算機1の系切換え制御処理部131は、計算機2、計算機3ならびに計算機nからCPU停止要求電文を受信した後(S513)、入出力制御部113(I/O)に計算機1の停止を指令する(S514)。停止指令を受けた入出力制御部113は、計算機1を停止させる(S515)。
【0039】
図11は、系切換え制御処理部131がCPU要求電文を破棄する処理手順を示すタイムチャートである。図4、図5においては、計算機1において障害が発生した場合を想定したフローチャートを示したが、計算機1においては障害が発生しているか否かは、通常、明りょうにはわからないのが実情である。図11においては、計算機1の系切換え制御処理部131が、CPU再起動要求電文を受信した場合の想定される処理手順について説明する。図11において、図4と同一処理については同一符号を記している。
【0040】
正常時、計算機の処理部111は、他系監視プログラム202を通じて生存監視をしている(S401)。計算機1から生存情報が計算機2、計算機3さらに計算機nまで送信された後(S402)、計算機2において、所定時間T1経過以内に計算機1からの生存情報が届かないことで(S407)、あるいは、誤動作などの原因で計算機1に障害が発生したと判定する(S404)。障害が発生したと判定した計算機2は、計算機1に対してCPU再起動要求電文を送信する(S410)。さらに、障害が発生したと判定した計算機2は、所定時間T3経過後、CPU停止要求電文を送信する(S414)。
【0041】
CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、計算機2からのCPU再起動要求電文を受信後、所定時間T2間に複数の計算機からCPU再起動要求電文を受信したか否かを判断する。しかしながら、複数の計算機からCPU再起動要求電文が来ないので、計算機1の系切換え制御処理部131は、受信したCPU再起動要求電文を破棄する。また、その後受信した計算機2からのCPU停止要求電文も破棄する。
【0042】
本実施形態では、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる。
【0043】
図6は、系切換え制御処理部131の処理手順を示すフローチャートである。適宜図1を参照する。系切換え制御処理部131は、CPU再起動要求電文を受信し(S601)、受信した電文数が2以上(N≧2)か否かを判定する(S602)。電文数が2以上の場合(S602,Yes)、障害情報収集(ログ収集)の指令を処理部111にする(S603)。系切換え制御処理部131は、処理部111から指令応答があるか否かを判定し(S604)、指令応答があった場合(S604,Yes)、処理部111から障害情報収集(ログ収集)完了通知があるか否かを判定する(S605)。ログ収集完了通知があった場合(S605,Yes)、CPU再起動指令を処理部111に送信する(S606)。
【0044】
S604において指令応答がない場合(S604,No)、または、S605においてログ収集完了通知がない場合(S605,No)、系切換え制御処理部131は、CPU停止指令を入出力制御部113に指令する(S607)。
【0045】
S602において受信した電文数が1のみであった場合(S602,No)、系切換え制御処理部131は、所定時間T2が経過したか(T2タイムアウトしたか)否かを判定し(S608)、タイムアウト前ならば(S608,No)、S601に戻り、タイムアウトしたならば(S608,Yes)、CPU再起動要求電文が誤動作によるものと判断し処理を継続する(S609)。
【0046】
なお、図示していないが、S606ののちに、再起動が成功しなかった場合、系切換え制御処理部131は、CPU停止指令をしてCPUを停止させる。
【0047】
図7は、計算機の正常時における生存監視動作を示すフローチャートである。適宜図1を参照する。処理部111は、生存監視する際に、まず生存監視タイマをスタートさせる(S701)。処理部111は、他計算機の生存情報を受信したか否かを判定する(S702)、所定時間T1のタイムアウト以前に生存情報が受信された場合(S702,Yes)、生存監視タイマを再スタートさせるためにS701に戻る。
【0048】
S702において、生存情報を受信しなかった場合(S702,No)、処理部111は、所定時間T1のタイムアウトか否かを判定し(S703)、タイムアウトした場合(S703,Yes)、すなわち、所定時間T1内に他計算機の生存情報が受信されなかった場合は、生存情報が送信できなかった計算機が異常と判定し、CPU再起動要求電文を送信する(S704)。処理部111は、所定時間T3だけ待ち(S705)、障害情報を収集できない場合を想定して、さらに異常と判定した計算機に対してCPU停止要求電文を送信する(S706)。なお、S703において、タイムアウトしなかった場合(S703,No)、S702に戻る。
【0049】
本実施形態では、生存情報の伝達は各計算機がそれぞれのタイミングで実施することを前提としている。生存情報の伝達にはブロードキャスト通信などを利用することで処理を可能とする。ブロードキャスト通信とはネットワーク全体を示すアドレスに送信することで、ネットワークに接続された全計算機に情報を伝達することを可能とした通信方式である。
【0050】
(実施形態2)
以下では、実施形態2として、生存情報の伝達を全計算機で同期させて実施させる方式について説明する。実施形態2の計算機システムの構成は、実施形態1と同様である。実施形態2においては、メモリ132(図1参照)内に各計算機の生存情報を受信した日時を記録する時刻管理情報137を有している。実施形態2においては、個々の計算機の処理部111が生存情報を同期して更新し、時刻管理情報137を参照して、生存情報が更新されない計算機を障害と判定するのが特徴である。
【0051】
図8は、実施形態2の計算機システムにおいて、生存情報を個々の計算機が同期して更新し、更新されない計算機を障害と判定する場合の処理手順を示すタイムチャートである。正常時、個々の計算機の処理部111は、他系監視プログラム202を通じて生存監視をしている(S801)。計算機1、計算機2、計算機3ならびに計算機nは生存情報を同期して更新し(S802、S803、S804、S805)、さらに一定時刻後、再度同期して生存情報を更新する(S806、S807、S808、S809)。同期して生存情報を更新する方式としてメモリ転写方式などがある。
【0052】
メモリ転写方式は、例えば、メモリ転写に必要な各計算機のデータをサイクリックに受信/送信することにより実現される。図9に示す時刻管理情報137を参照して詳細に説明する。
【0053】
図9は、系切換え制御ボードのメモリ132内に格納される時刻管理情報137を示す説明図である。時刻管理情報137には、計算機番号、日時、時刻差分Δtを含んで構成されている。日時の時刻は、hh:mm:ss.fffの形式で記載されており、hhは時間、mmは分、ssは秒、fffの最初のfは1/10秒、次のfは1/100秒、最後のfは1/1000秒を示す。
【0054】
ここでは、計算機1を自計算機として説明すると、計算機1以外の他の計算機2、計算機3、…、計算機nのデータを受信したときは、送信元に応じて転写領域内の所定のデータ格納領域へ格納する。自計算機1の送信時には、データ格納領域に記憶されている自計算機1のデータを系切換え制御処理部131によりその他の計算機2、計算機3、…、計算機nに送信する。これにより、全計算機の転写領域内において各局のデータを共有することが可能である。
【0055】
時刻差分Δtは、複数の計算機の時刻において、時刻が所定範囲内(例えば、0.05秒以内)に入る計算機を抽出し、その中で最も古い時間を基準として差分をとるとよい。例えば、図9に示す場合には、計算機1、計算機3、…、計算機n―1、計算機nの中で、最も古い計算機は計算機1と抽出される。そして、計算機2は計算機1との時刻差分Δtがマイナスとなっており、0.5秒(500ms)以上更新されていないことがわかる。
【0056】
本実施形態では生存情報の更新のテーブルである時刻管理情報137を、処理部111の動作を介することなく、随時得ることができる。処理部111は、自計算機の生存情報を、時刻管理情報137に記載する。また、処理部111は、障害判定を時刻管理情報137を参照して判定することができる。
【0057】
図8に戻り、ある時刻において計算機1で障害が発生したとすると(S810)、計算機2、計算機3ならびに計算機nにおいて、生存情報を更新した際(S811、S812、S813)に、所定時間T4経過後に計算機1の生存情報が更新されないことで障害と判定される(S815、S816、S817)。
【0058】
障害判定後、計算機1に対して、計算機2、計算機3ならびに計算機nからCPU再起動要求電文が送信される。CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、複数の再起動要求電文が受信されたと判定し(S818)、前記の障害時処理を実施する(S819)。障害時処理とは、具体的には、図4に示すS411〜S417)、または、図5に示すS511〜S515である。
【0059】
図10は、メインメモリ112内に格納されている状態管理情報を示す説明図である。適宜図1を参照する。状態管理情報を更新することで生存状態を更新することとする。ここで、状態管理情報203は、データベースとして構成してもよいし、テーブルとして構成してもよいし、PSファイル(順ファイル)として構成してもよいし、その形態は限定されないのは勿論である。
【0060】
図10において、名称1001は、計算機1〜計算機n(図1参照)の各名称を表している。なお、名称1001は、計算機101〜計算機104を示すユニークな番号(「計算機1」〜「計算機n」)としてもよく、各計算機101〜計算機104を識別できれば限定されないのは勿論である。
【0061】
IPアドレス1002は、名称1001に対するIP(Internet Protocol)アドレスであり、外部ネットワーク106(図1参照)に接続される計算機101〜104のIPアドレスが、それぞれA1、B1、C1、・・・、D1、E1であることを表している。
【0062】
状態1(1003)は、計算機101(計算機1)〜計算機104(計算機n)の動作状態を表している。状態1(1003)に示す例では、計算機1が停止、他の計算機2〜計算機nは正常動作中であることが分る。
【0063】
状態2(1004)は、計算機101(計算機1)〜計算機104(計算機n)の稼働状態を表す。状態2(1004)に示す例では、計算機1が停止状態であり、計算機2、計算機3、…、計算機n−1が稼働系として動作中であり、計算機nが待機系として動作中であることが分る。上記の内容を全計算機で同期して保持し、一定時間周期で更新することで、他計算機の生存を把握することができる。
【0064】
本実施形態をまとめると、複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラム202により相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、複数の計算機(例えば、計算機101,102,103,104)は、他系監視プログラム202を実行する処理部111と、他計算機とデータを送受信する一般用通信インタフェース部115と、系切換え制御処理部131および構成制御用通信インタフェース部135を有する、他系監視プログラム202が発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボード130とを備え、各計算機の一般用通信インタフェース部115は、外部ネットワーク106(第1のネットワーク)に互いに通信可能に接続され、各計算機の構成制御用通信インタフェース部135は、第1のネットワークから独立した系切換え制御ネットワーク105(第2のネットワーク)に互いに通信可能に接続され、処理部111は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、受信できない他計算機に障害時処理要求を系切換え制御ボード130を介して送信し、系切換え制御処理部131は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部111に障害時処理要求を送信することができる。
【符号の説明】
【0065】
101 計算機1
105 系切換え制御ネットワーク(第2のネットワーク)
106 外部ネットワーク(第1のネットワーク)
111 処理部(CPU1)
112 メインメモリ
113,133 入出力制御部(I/O)
114 記憶部
115 一般用通信インタフェース部(一般用通信I/F)
130 系切換え制御ボード
131 系切換え制御処理部(CPU2)
132 メモリ
135 構成制御用通信インタフェース部(構成制御用I/F)
137 時刻管理情報
201 基本OS
202 他系監視プログラム
203 状態管理情報
204 サブシステム
205 アプリケーション
206 システムサービス
211 イーサネットドライバ
301 再起動制御部
302 電文比較部
303 系切換え制御ドライバ
【技術分野】
【0001】
本発明は、汎用ネットワークに接続される汎用電子計算機を複数台接続した多重系の計算機システムにおいて、正常稼働に関わらず計算機の再起動あるいは停止といった異常処理が行われることを防ぐ計算機システムおよびその障害発生時制御方法に関するものである。
【背景技術】
【0002】
鉄道運行管理、電力系統制御、プラント制御を始めとする高い信頼性が要求される用途に計算機を用いる場合、処理を行う稼働系計算機に加えて、稼働系の計算機に障害が発生した場合に稼働系の計算機の処理を引き継ぐ待機系の計算機を備えた多重系のシステムが期待される。
【0003】
従来の計算機システムでは、専用機能拡張ボードを搭載した計算機を用いた多重系のシステムにおいて、汎用ネットワークの通信状態に関わらず、障害発生時に障害の発生した稼働系計算機は本来の処理を停止して障害情報を保存し、待機系計算機は自律的に処理の引継ぎを実施する方法が記載されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−58708号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の多重系の計算機システムは、CPU(Central Processing Unit)リセット要求を受信した計算機は、障害情報を収集し停止している。各計算機において、異常判定機能の誤動作による誤出力によりリセット要求を送信した場合、正常に稼働している計算機を再起動または停止させる可能性がある。
【0006】
本発明は、前記の課題を解決するための発明であって、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる計算機システムおよびその障害発生時制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するため、本発明の計算機システムは、計算機の異常判定を複数台(例えば、2台)以上の計算機で実施し、判定結果を比較することで、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことを特徴とする。主要な手段には、(1)複数台の計算機同士の相互監視手段、(2)監視用ネットワークによる監視手段、(3)障害判定結果の突き合わせによる高信頼化手段がある。
【0008】
複数の計算機が稼働系または待機系として組み合わされ、各計算機が相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、計算機1、計算機2、計算機3、…、計算機nの処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、受信できない他計算機(例えば、計算機1)に障害時処理要求を送信し、計算機1の系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部に障害時処理要求を送信することが特徴である。
【発明の効果】
【0009】
本発明によれば、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐ多重系計算機システムを構築することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態1の計算機システムの例を示す構成図である。
【図2】メインメモリ内に格納されるソフトウェアを示すブロック図である。
【図3】系切換え制御ボードの処理機能を示す説明図である。
【図4】処理部により障害情報を収集して、計算機を再起動する処理手順を示すタイムチャートである。
【図5】処理部により障害情報を収集しないで、計算機を停止する処理手順を示すタイムチャートである。
【図6】系切換え制御処理部の処理手順を示すフローチャートである。
【図7】計算機の正常時における生存監視動作を示すフローチャートである。
【図8】実施形態2の計算機システムにおいて、生存情報を個々の計算機が同期して更新し、更新されない計算機を障害と判定する場合の処理手順を示すタイムチャートである。
【図9】系切換え制御ボードのメモリ内に格納される時刻管理情報を示す説明図である。
【図10】メインメモリ内に格納されている状態管理情報を示す説明図である。
【図11】系切換え制御処理部がCPU要求電文を破棄する処理手順を示すタイムチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(実施形態1)
図1は、本発明の実施形態1の計算機システムの例を示す構成図である。図1において、計算機システムは、演算処理を行う複数台の計算機101〜計算機104を備える。n台(nは3以上の自然数)からなる複数の計算機101〜計算機104は、それぞれ系切換え制御ネットワーク105(第2のネットワーク)と外部ネットワーク106(第1のネットワーク)に接続している。
【0012】
各計算機101〜計算機104は、それぞれ「計算機1」〜「計算機n」のシステム全体でユニークとなる番号が割り振られており、同じ番号は存在しないものとする。なお、系切換え制御ネットワーク105と外部ネットワーク106は、接続形態を限定せず、バス型でもスター型でもよいものとする。ネットワークとしては広く普及しているEthernet(登録商標)などがある。
【0013】
計算機101を例に計算機101〜計算機104のハードウェア構成例を説明する。各計算機は、処理部111(CPU1)、メインメモリ112、入出力制御部113(I/O)、読み込みまたは書き込み可能な記憶部114、一般用通信インタフェース部115(一般用通信I/F)、系切換え制御ボード130を備える。なお、メインメモリ112にはソフトウェア121(図2参照)が格納されている。
【0014】
系切換え制御ボード130は、系切換え制御処理部131(CPU2)、メモリ132、入出力制御部133(I/O)、構成制御用通信インタフェース部135(構成制御用通信I/F)を備える。
【0015】
図2は、メインメモリ112内に格納されるソフトウェアを示すブロック図である。ソフトウェア121は基本OS(Operating System)201、他系監視プログラム202、状態管理情報203、サブシステム204、アプリケーション205、システムサービス206を備える。基本OS201では資源管理、プロセス管理、タイマ管理などを行う。
【0016】
他系監視プログラム202では、系切換え制御ボード130中の構成制御用通信インタフェース部135を使い、系切換え制御ネットワーク105を介して、他計算機と生存通知電文を送受信する。電文送受信は、汎用通信プロトコルを使って実行する。
【0017】
。
系切換え制御ネットワーク105から送信された生存通知電文は、他計算機の構成制御用通信インタフェース部135を介して直接送信されるので、外部ネットワーク106が高負荷状態でも、障害監視ができる。
【0018】
他系監視プログラム202は、汎用通信プロトコルでデータを送受信するために予め決められたアドレスすなわちポートで、他計算機からの接続を待ち、接続された場合には電文を受信して本プログラム内で内容を保持し、サブシステム204からの読み出し要求に対して保持している内容を返す。
【0019】
他系監視プログラム202は、サブシステム204からの生存通知電文送信要求を受け、多重系システムを構成している他計算機上のサブシステム204が待機しているポートに電文を送信する。
【0020】
状態管理情報203は、計算機101〜104の状態を示すものである。なお、状態管理情報203は、図10を参照して後述する。
【0021】
サブシステム204は、前記の読み出し要求の他に、タスクの生成、実行をサポートする処理を行う。
【0022】
アプリケーション205は、計算機システムを各種用途に用いるためのプログラム処理を行う。アプリケーションとしては、鉄道の運行管理システムや電力系統の制御システムなどがある。
【0023】
システムサービス206は、本実施形態に関わる計算機システム全体のサービスとして障害情報や統計情報の閲覧などを可能にするサービスを可能にするための処理を行う。
【0024】
基本OS201中の割込み処理プログラム215は、処理部111に対してマスク不可能割込み(Non-Maskable Interrupt:NMI)信号が入力されたときに起動され、障害が発生してNMI信号が入力されたときに、障害情報の保存などの処理を実行する。
【0025】
基本OS201中の外部ネットワーク106のための汎用のイーサネット(登録商標)ドライバ211は、I/F層212およびUDP(User Datagram Protocol)/IP(Internet Protocol)層213を介して、他系監視プログラム202と通信する。
【0026】
図3は、系切換え制御ボード130の処理機能を示す説明図である。系切換え制御ボード130は、再起動制御部301、電文比較部302、系切換え制御ドライバ303を含んで構成される。系切換え制御ボード130は、系切換え制御ネットワーク105を介して、他計算機と制御電文を送受信する。
【0027】
電文比較部302は、他計算機から制御電文を受信すると、所定時間T2(図4参照)内に複数の他計算機からのCPU再起動要求電文を受信したか否かを判断し、複数のCPU再起動要求が来ていた場合、再起動制御部301が、処理部111に割込み信号を出力し障害情報収集(ログ収集)の指令をする。
【0028】
その後、電文比較部302は、他計算機から制御電文を受信すると、CPU停止要求電文を受信したか否かを判断し、CPU停止要求電文であり、かつ、先の再起動要求に対し処理部111から要求応答がない場合には、再起動制御部301は、入出力制御部113にCPU停止指令をし、計算機の処理部111を停止させる。なお、再起動制御部301が計算機の処理部111に直接停止要求をしないのは、障害発生により、処理部111が正常に機能していないことを考慮したものである。
【0029】
系切換え制御ドライバ303は、汎用ネットワークである系切換え制御ネットワーク105を介して接続される系切換え制御ボード130の動作を、同じく汎用ネットワークである外部ネットワーク106に接続される一般用通信インタフェース部115の動作から分離するために、イーサネットドライバ211(図2参照)と分けて格納されている。また、系切換え制御ドライバ303は、I/F層212、UDP/IP層213を経由せずに、他系監視プログラム202と直接通信し、スプリットブレイン状態を回避している。
【0030】
図4は、処理部111により障害情報を収集して、計算機を再起動する処理手順を示すタイムチャートである。適宜図1を参照する。正常時、計算機の処理部111は、他系監視プログラム202を通じて生存監視をしている(S401)。
【0031】
計算機1から生存情報が計算機2、計算機3さらに計算機nまで送信された後(S402)、計算機1に障害が発生したとすると(S403)、所定時間T1(例えば、500ms)経過以内に計算機1からの生存情報が届かないことで(S407、S408、S409)、計算機2、計算機3ならびに計算機nは計算機1に障害が発生したと判定する(S404、S405、S406)。障害が発生したと判定した計算機2、計算機3ならびに計算機nは、計算機1に対してCPU再起動要求電文を送信する(S410)。さらに、障害が発生したと判定した計算機2、計算機3ならびに計算機nは、所定時間T3(例えば、100ms)経過後、CPU停止要求電文を送信する(S414)。
【0032】
CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、所定時間T2(例えば、50ms)間に複数の計算機からCPU再起動要求電文を受信したか否かを判断し、複数の計算機からCPU再起動要求電文が来ていた場合、処理部111に対し障害情報収集を指令する(S411)。
【0033】
処理部111は、障害情報収集の指令に対する指令応答を返し(S412)、障害情報の収集を行う(S413)。障害情報収集が完了すると、障害情報収集完了通知を系切換え制御処理部131に送信する(S415)。系切換え制御処理部131は、指令応答があった場合、すなわち、処理部111が障害情報収集の処理中である場合、計算機2、計算機3さらに計算機nから送信されるCPU停止要求電文を無視する。
【0034】
系切換え制御処理部131は、障害情報収集の処理後、処理部111から障害情報収集の処理の完了通知を受けると、入出力制御部113を介して処理部111に計算機1の再起動を指令する(S416)。処理部111は、再起動の指令を受信すると、再起動する(S417)。なお、障害情報収集の処理後の動作は、必ずしも再起動でなくてもよく、そのまま停止させることも可能である。
【0035】
図5は、処理部111により障害情報を収集しないで、計算機を停止する処理手順を示すタイムチャートである。正常時、計算機は他系監視プログラム202を通じて生存監視をしている(S501)。
【0036】
計算機1から生存情報が計算機2、計算機3さらに計算機nまで送信された後(S502)、計算機1に障害が発生したとすると(S503)、所定時間T1経過以内に計算機1からの生存情報が届かないことで(S507、S508、S509)、計算機2、計算機3ならびに計算機nは計算機1に障害が発生したと判定する(S504、S505、S506)。障害が発生したと判定した計算機2、計算機3ならびに計算機nは、計算機1に対してCPU再起動要求電文を送信する(S510)。さらに、障害が発生したと判定した計算機2、計算機3ならびに計算機nは、所定時間T3経過後、CPU停止要求電文を送信する(S513)。
【0037】
CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、所定時間T2間に複数の計算機からCPU再起動要求電文を受信したか否かを判断し、複数の計算機からCPU再起動要求電文が来ていた場合、処理部111に対し障害情報収集を指令する(S511)。
【0038】
ここで、計算機1の処理部111が処理不能となり(S512)、障害情報収集ができない場合、すなわち、指令応答がない場合、計算機1の系切換え制御処理部131は、計算機2、計算機3ならびに計算機nからCPU停止要求電文を受信した後(S513)、入出力制御部113(I/O)に計算機1の停止を指令する(S514)。停止指令を受けた入出力制御部113は、計算機1を停止させる(S515)。
【0039】
図11は、系切換え制御処理部131がCPU要求電文を破棄する処理手順を示すタイムチャートである。図4、図5においては、計算機1において障害が発生した場合を想定したフローチャートを示したが、計算機1においては障害が発生しているか否かは、通常、明りょうにはわからないのが実情である。図11においては、計算機1の系切換え制御処理部131が、CPU再起動要求電文を受信した場合の想定される処理手順について説明する。図11において、図4と同一処理については同一符号を記している。
【0040】
正常時、計算機の処理部111は、他系監視プログラム202を通じて生存監視をしている(S401)。計算機1から生存情報が計算機2、計算機3さらに計算機nまで送信された後(S402)、計算機2において、所定時間T1経過以内に計算機1からの生存情報が届かないことで(S407)、あるいは、誤動作などの原因で計算機1に障害が発生したと判定する(S404)。障害が発生したと判定した計算機2は、計算機1に対してCPU再起動要求電文を送信する(S410)。さらに、障害が発生したと判定した計算機2は、所定時間T3経過後、CPU停止要求電文を送信する(S414)。
【0041】
CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、計算機2からのCPU再起動要求電文を受信後、所定時間T2間に複数の計算機からCPU再起動要求電文を受信したか否かを判断する。しかしながら、複数の計算機からCPU再起動要求電文が来ないので、計算機1の系切換え制御処理部131は、受信したCPU再起動要求電文を破棄する。また、その後受信した計算機2からのCPU停止要求電文も破棄する。
【0042】
本実施形態では、計算機1台における異常判定機能の誤動作による誤出力で、計算機の再起動あるいは停止といった異常処理が行われることを防ぐことができる。
【0043】
図6は、系切換え制御処理部131の処理手順を示すフローチャートである。適宜図1を参照する。系切換え制御処理部131は、CPU再起動要求電文を受信し(S601)、受信した電文数が2以上(N≧2)か否かを判定する(S602)。電文数が2以上の場合(S602,Yes)、障害情報収集(ログ収集)の指令を処理部111にする(S603)。系切換え制御処理部131は、処理部111から指令応答があるか否かを判定し(S604)、指令応答があった場合(S604,Yes)、処理部111から障害情報収集(ログ収集)完了通知があるか否かを判定する(S605)。ログ収集完了通知があった場合(S605,Yes)、CPU再起動指令を処理部111に送信する(S606)。
【0044】
S604において指令応答がない場合(S604,No)、または、S605においてログ収集完了通知がない場合(S605,No)、系切換え制御処理部131は、CPU停止指令を入出力制御部113に指令する(S607)。
【0045】
S602において受信した電文数が1のみであった場合(S602,No)、系切換え制御処理部131は、所定時間T2が経過したか(T2タイムアウトしたか)否かを判定し(S608)、タイムアウト前ならば(S608,No)、S601に戻り、タイムアウトしたならば(S608,Yes)、CPU再起動要求電文が誤動作によるものと判断し処理を継続する(S609)。
【0046】
なお、図示していないが、S606ののちに、再起動が成功しなかった場合、系切換え制御処理部131は、CPU停止指令をしてCPUを停止させる。
【0047】
図7は、計算機の正常時における生存監視動作を示すフローチャートである。適宜図1を参照する。処理部111は、生存監視する際に、まず生存監視タイマをスタートさせる(S701)。処理部111は、他計算機の生存情報を受信したか否かを判定する(S702)、所定時間T1のタイムアウト以前に生存情報が受信された場合(S702,Yes)、生存監視タイマを再スタートさせるためにS701に戻る。
【0048】
S702において、生存情報を受信しなかった場合(S702,No)、処理部111は、所定時間T1のタイムアウトか否かを判定し(S703)、タイムアウトした場合(S703,Yes)、すなわち、所定時間T1内に他計算機の生存情報が受信されなかった場合は、生存情報が送信できなかった計算機が異常と判定し、CPU再起動要求電文を送信する(S704)。処理部111は、所定時間T3だけ待ち(S705)、障害情報を収集できない場合を想定して、さらに異常と判定した計算機に対してCPU停止要求電文を送信する(S706)。なお、S703において、タイムアウトしなかった場合(S703,No)、S702に戻る。
【0049】
本実施形態では、生存情報の伝達は各計算機がそれぞれのタイミングで実施することを前提としている。生存情報の伝達にはブロードキャスト通信などを利用することで処理を可能とする。ブロードキャスト通信とはネットワーク全体を示すアドレスに送信することで、ネットワークに接続された全計算機に情報を伝達することを可能とした通信方式である。
【0050】
(実施形態2)
以下では、実施形態2として、生存情報の伝達を全計算機で同期させて実施させる方式について説明する。実施形態2の計算機システムの構成は、実施形態1と同様である。実施形態2においては、メモリ132(図1参照)内に各計算機の生存情報を受信した日時を記録する時刻管理情報137を有している。実施形態2においては、個々の計算機の処理部111が生存情報を同期して更新し、時刻管理情報137を参照して、生存情報が更新されない計算機を障害と判定するのが特徴である。
【0051】
図8は、実施形態2の計算機システムにおいて、生存情報を個々の計算機が同期して更新し、更新されない計算機を障害と判定する場合の処理手順を示すタイムチャートである。正常時、個々の計算機の処理部111は、他系監視プログラム202を通じて生存監視をしている(S801)。計算機1、計算機2、計算機3ならびに計算機nは生存情報を同期して更新し(S802、S803、S804、S805)、さらに一定時刻後、再度同期して生存情報を更新する(S806、S807、S808、S809)。同期して生存情報を更新する方式としてメモリ転写方式などがある。
【0052】
メモリ転写方式は、例えば、メモリ転写に必要な各計算機のデータをサイクリックに受信/送信することにより実現される。図9に示す時刻管理情報137を参照して詳細に説明する。
【0053】
図9は、系切換え制御ボードのメモリ132内に格納される時刻管理情報137を示す説明図である。時刻管理情報137には、計算機番号、日時、時刻差分Δtを含んで構成されている。日時の時刻は、hh:mm:ss.fffの形式で記載されており、hhは時間、mmは分、ssは秒、fffの最初のfは1/10秒、次のfは1/100秒、最後のfは1/1000秒を示す。
【0054】
ここでは、計算機1を自計算機として説明すると、計算機1以外の他の計算機2、計算機3、…、計算機nのデータを受信したときは、送信元に応じて転写領域内の所定のデータ格納領域へ格納する。自計算機1の送信時には、データ格納領域に記憶されている自計算機1のデータを系切換え制御処理部131によりその他の計算機2、計算機3、…、計算機nに送信する。これにより、全計算機の転写領域内において各局のデータを共有することが可能である。
【0055】
時刻差分Δtは、複数の計算機の時刻において、時刻が所定範囲内(例えば、0.05秒以内)に入る計算機を抽出し、その中で最も古い時間を基準として差分をとるとよい。例えば、図9に示す場合には、計算機1、計算機3、…、計算機n―1、計算機nの中で、最も古い計算機は計算機1と抽出される。そして、計算機2は計算機1との時刻差分Δtがマイナスとなっており、0.5秒(500ms)以上更新されていないことがわかる。
【0056】
本実施形態では生存情報の更新のテーブルである時刻管理情報137を、処理部111の動作を介することなく、随時得ることができる。処理部111は、自計算機の生存情報を、時刻管理情報137に記載する。また、処理部111は、障害判定を時刻管理情報137を参照して判定することができる。
【0057】
図8に戻り、ある時刻において計算機1で障害が発生したとすると(S810)、計算機2、計算機3ならびに計算機nにおいて、生存情報を更新した際(S811、S812、S813)に、所定時間T4経過後に計算機1の生存情報が更新されないことで障害と判定される(S815、S816、S817)。
【0058】
障害判定後、計算機1に対して、計算機2、計算機3ならびに計算機nからCPU再起動要求電文が送信される。CPU再起動要求電文を受信した計算機1の系切換え制御処理部131は、複数の再起動要求電文が受信されたと判定し(S818)、前記の障害時処理を実施する(S819)。障害時処理とは、具体的には、図4に示すS411〜S417)、または、図5に示すS511〜S515である。
【0059】
図10は、メインメモリ112内に格納されている状態管理情報を示す説明図である。適宜図1を参照する。状態管理情報を更新することで生存状態を更新することとする。ここで、状態管理情報203は、データベースとして構成してもよいし、テーブルとして構成してもよいし、PSファイル(順ファイル)として構成してもよいし、その形態は限定されないのは勿論である。
【0060】
図10において、名称1001は、計算機1〜計算機n(図1参照)の各名称を表している。なお、名称1001は、計算機101〜計算機104を示すユニークな番号(「計算機1」〜「計算機n」)としてもよく、各計算機101〜計算機104を識別できれば限定されないのは勿論である。
【0061】
IPアドレス1002は、名称1001に対するIP(Internet Protocol)アドレスであり、外部ネットワーク106(図1参照)に接続される計算機101〜104のIPアドレスが、それぞれA1、B1、C1、・・・、D1、E1であることを表している。
【0062】
状態1(1003)は、計算機101(計算機1)〜計算機104(計算機n)の動作状態を表している。状態1(1003)に示す例では、計算機1が停止、他の計算機2〜計算機nは正常動作中であることが分る。
【0063】
状態2(1004)は、計算機101(計算機1)〜計算機104(計算機n)の稼働状態を表す。状態2(1004)に示す例では、計算機1が停止状態であり、計算機2、計算機3、…、計算機n−1が稼働系として動作中であり、計算機nが待機系として動作中であることが分る。上記の内容を全計算機で同期して保持し、一定時間周期で更新することで、他計算機の生存を把握することができる。
【0064】
本実施形態をまとめると、複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラム202により相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、複数の計算機(例えば、計算機101,102,103,104)は、他系監視プログラム202を実行する処理部111と、他計算機とデータを送受信する一般用通信インタフェース部115と、系切換え制御処理部131および構成制御用通信インタフェース部135を有する、他系監視プログラム202が発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボード130とを備え、各計算機の一般用通信インタフェース部115は、外部ネットワーク106(第1のネットワーク)に互いに通信可能に接続され、各計算機の構成制御用通信インタフェース部135は、第1のネットワークから独立した系切換え制御ネットワーク105(第2のネットワーク)に互いに通信可能に接続され、処理部111は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、受信できない他計算機に障害時処理要求を系切換え制御ボード130を介して送信し、系切換え制御処理部131は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、障害時処理要求が複数の計算機から送信された場合に、自身の処理部111に障害時処理要求を送信することができる。
【符号の説明】
【0065】
101 計算機1
105 系切換え制御ネットワーク(第2のネットワーク)
106 外部ネットワーク(第1のネットワーク)
111 処理部(CPU1)
112 メインメモリ
113,133 入出力制御部(I/O)
114 記憶部
115 一般用通信インタフェース部(一般用通信I/F)
130 系切換え制御ボード
131 系切換え制御処理部(CPU2)
132 メモリ
135 構成制御用通信インタフェース部(構成制御用I/F)
137 時刻管理情報
201 基本OS
202 他系監視プログラム
203 状態管理情報
204 サブシステム
205 アプリケーション
206 システムサービス
211 イーサネットドライバ
301 再起動制御部
302 電文比較部
303 系切換え制御ドライバ
【特許請求の範囲】
【請求項1】
複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラムにより相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、
前記複数の計算機は、
前記他系監視プログラムを実行する処理部と、
他計算機とデータを送受信する一般用通信インタフェース部と、
系切換え制御処理部および構成制御用通信インタフェース部を有する、前記他系監視プログラムが発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボードとを備え、
各計算機の前記一般用通信インタフェース部は、第1のネットワークに互いに通信可能に接続され、
各計算機の前記構成制御用通信インタフェース部は、第1のネットワークから独立した第2のネットワークに互いに通信可能に接続され、
前記処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、前記受信できない他計算機に障害時処理要求を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、前記障害時処理要求が複数の計算機から送信された場合に、自身の前記処理部に前記障害時処理要求を送信する
ことを特徴とする計算機システム。
【請求項2】
前記障害時処理要求は、再起動要求であり、
前記処理部は、前記再起動要求を受信すると、前記再起動要求の受信回答を前記系切換え制御処理部に送信するとともに、障害情報を収集し、前記障害情報の収集を終了すると、前記障害情報の収集の終了の旨を前記系切換え制御処理部に送信し、
前記系切換え制御処理部は、前記障害情報の収集の終了の旨を受信すると、前記処理部に再起動指令を送信する
ことを特徴とする請求項1に記載の計算機システム。
【請求項3】
前記系切換え制御処理部は、前記処理部から前記再起動要求の受信回答を受信せず、かつ、前記複数の計算機から停止要求を受信すると、計算機の入出力制御部に停止指令を送信する
ことを特徴とする請求項2に記載の計算機システム。
【請求項4】
前記各計算機の前記系切換え制御ボードの記憶部には、前記各計算機からの生存情報を受信した時刻を記憶する時刻管理情報が記憶されており、
前記各計算機の処理部は、相互監視している各計算機へ同期して生存情報を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、受信した各計算機の生存情報の受信時刻を前記時刻管理情報に更新し、
前記各計算機の処理部は、前記時刻管理情報を参照して、相互監視している他計算機からの生存情報が所定時間更新されない場合、障害が発生したとして判定し、前記更新されない他計算機に前記障害時処理要求を前記系切換え制御ボードを介して送信する
ことを特徴とする請求項1に記載の計算機システム。
【請求項5】
複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラムにより相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、前記複数の計算機は、前記他系監視プログラムを実行する処理部と、他計算機とデータを送受信する一般用通信インタフェース部と、系切換え制御処理部および構成制御用通信インタフェース部を有する、前記他系監視プログラムが発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボードとを備え、各計算機の前記一般用通信インタフェース部は、第1のネットワークに互いに通信可能に接続され、各計算機の前記構成制御用通信インタフェース部は、第1のネットワークから独立した第2のネットワークに互いに通信可能に接続される計算機システムの障害発生時制御方法であって、
前記処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、前記受信できない他計算機に障害時処理要求を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、前記障害時処理要求が複数の計算機から送信された場合に、自身の前記処理部に前記障害時処理要求を送信する
ことを特徴とする計算機システムの障害発生時制御方法。
【請求項1】
複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラムにより相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、
前記複数の計算機は、
前記他系監視プログラムを実行する処理部と、
他計算機とデータを送受信する一般用通信インタフェース部と、
系切換え制御処理部および構成制御用通信インタフェース部を有する、前記他系監視プログラムが発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボードとを備え、
各計算機の前記一般用通信インタフェース部は、第1のネットワークに互いに通信可能に接続され、
各計算機の前記構成制御用通信インタフェース部は、第1のネットワークから独立した第2のネットワークに互いに通信可能に接続され、
前記処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、前記受信できない他計算機に障害時処理要求を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、前記障害時処理要求が複数の計算機から送信された場合に、自身の前記処理部に前記障害時処理要求を送信する
ことを特徴とする計算機システム。
【請求項2】
前記障害時処理要求は、再起動要求であり、
前記処理部は、前記再起動要求を受信すると、前記再起動要求の受信回答を前記系切換え制御処理部に送信するとともに、障害情報を収集し、前記障害情報の収集を終了すると、前記障害情報の収集の終了の旨を前記系切換え制御処理部に送信し、
前記系切換え制御処理部は、前記障害情報の収集の終了の旨を受信すると、前記処理部に再起動指令を送信する
ことを特徴とする請求項1に記載の計算機システム。
【請求項3】
前記系切換え制御処理部は、前記処理部から前記再起動要求の受信回答を受信せず、かつ、前記複数の計算機から停止要求を受信すると、計算機の入出力制御部に停止指令を送信する
ことを特徴とする請求項2に記載の計算機システム。
【請求項4】
前記各計算機の前記系切換え制御ボードの記憶部には、前記各計算機からの生存情報を受信した時刻を記憶する時刻管理情報が記憶されており、
前記各計算機の処理部は、相互監視している各計算機へ同期して生存情報を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、受信した各計算機の生存情報の受信時刻を前記時刻管理情報に更新し、
前記各計算機の処理部は、前記時刻管理情報を参照して、相互監視している他計算機からの生存情報が所定時間更新されない場合、障害が発生したとして判定し、前記更新されない他計算機に前記障害時処理要求を前記系切換え制御ボードを介して送信する
ことを特徴とする請求項1に記載の計算機システム。
【請求項5】
複数の計算機が稼働系または待機系として組み合わされ、各計算機に備えられた他系監視プログラムにより相互監視して稼働系計算機の障害発生時に当該計算機が実行している処理を待機系計算機が引き継ぐ計算機システムにおいて、前記複数の計算機は、前記他系監視プログラムを実行する処理部と、他計算機とデータを送受信する一般用通信インタフェース部と、系切換え制御処理部および構成制御用通信インタフェース部を有する、前記他系監視プログラムが発行する生存情報を送受信ならびに系切換えに関連する情報を送受信する系切換え制御ボードとを備え、各計算機の前記一般用通信インタフェース部は、第1のネットワークに互いに通信可能に接続され、各計算機の前記構成制御用通信インタフェース部は、第1のネットワークから独立した第2のネットワークに互いに通信可能に接続される計算機システムの障害発生時制御方法であって、
前記処理部は、相互監視している他計算機からの生存情報が所定時間受信できないとき、障害が発生したとして判定し、前記受信できない他計算機に障害時処理要求を前記系切換え制御ボードを介して送信し、
前記系切換え制御処理部は、他計算機から障害時処理要求を受信した際、該障害時処理要求が複数の計算機から送信されているか否かを判定し、前記障害時処理要求が複数の計算機から送信された場合に、自身の前記処理部に前記障害時処理要求を送信する
ことを特徴とする計算機システムの障害発生時制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−113545(P2012−113545A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2010−262616(P2010−262616)
【出願日】平成22年11月25日(2010.11.25)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願日】平成22年11月25日(2010.11.25)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]