JP5342395B2 - 計算機システムおよびその方法 - Google Patents

計算機システムおよびその方法 Download PDF

Info

Publication number
JP5342395B2
JP5342395B2 JP2009225426A JP2009225426A JP5342395B2 JP 5342395 B2 JP5342395 B2 JP 5342395B2 JP 2009225426 A JP2009225426 A JP 2009225426A JP 2009225426 A JP2009225426 A JP 2009225426A JP 5342395 B2 JP5342395 B2 JP 5342395B2
Authority
JP
Japan
Prior art keywords
computer
collator
failure
computer system
computers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009225426A
Other languages
English (en)
Other versions
JP2011076262A (ja
Inventor
俊一 加賀屋
雅之 山本
英樹 遲野井
祐樹 高橋
貴之 亀田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009225426A priority Critical patent/JP5342395B2/ja
Publication of JP2011076262A publication Critical patent/JP2011076262A/ja
Application granted granted Critical
Publication of JP5342395B2 publication Critical patent/JP5342395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、フォールトトレラントシステム(Fault torelant system)における高信頼性制御を実行する計算機システムおよびその方法に関する。
従来から、計算機の構成部品の一部が故障しても正常に処理を続行するシステム計算機であるフォールトトレラントシステムが知られている。
例えば、分散配置に適したフォールトトレラントシステムの構成が、特許文献1に記載されている。このフォールトトレラントシステムは、複数のプロセッシングノードと、出力選択ノードと、これらを接続するネットワークにより構成される。各プロセッシングノードは、自己診断機能によって検出した障害の発生状況を表す障害発生情報をデータと共に出力選択ノードに送る。
出力選択ノードは、各プロセッシングノードにおけるデータ処理の結果のうち最も信頼度の高いデータを選択して出力信号を与える。詳細には、出力選択ノードの判定機能は、各プロセッシングノードからのデータ相互間の一致もしくは不一致と、各プロセッシングノードからの障害発生情報に基づき、最も信頼度の高いデータを判定し、これを選択機能に出力する。
特開平8−314744号公報(段落0019〜0022、図1等)
ところで、特許文献1に記載のフォールトトレラントシステムは、各プロセッシングノードの自己診断機能が正常に働いた場合のみしか異常を検出することができない。例えば、データ送信そのものが不可となるハードウェアの異常、または自己診断機能の誤動作による誤出力については異常を検出することができない。
また、出力選択ノードが単独動作のため、出力選択ノードの障害でフォールトトレラントシステムが全系停止となる可能性がある。
本発明は上記実状に鑑み、ノードのハードウェア障害や自己診断機能が誤動作した場合でも障害を検出し誤ったデータを出力することを防ぎ、処理結果の比較照合部が障害となった場合でもシステムとしては継続して動作する計算機システムおよびその方法の提供を目的とする。
上記目的を達成すべく、第1の本発明に関わる計算機システムは、同じ処理を並列に実行する複数の計算機と、前記計算機に多重化ネットワークを介して接続され前記計算機からの処理結果を照合する複数の照合機とを備える計算機システムであって、前記計算機は、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の計算機の稼動状態を前記多重化ネットワークを介して受信する送受信機能を有し、前記照合機は、第1照合部と第2照合部とを有し、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の照合機の稼動状態および前記計算機の稼動状態を前記多重化ネットワークを介して受信する送受信機能を有し、前記複数の照合機のうち、外部ネットワークに演算結果を送信する照合機が主系とされ、その他の照合機が従系とされ、さらに、前記計算機は、他の計算機の障害を検出する第1障害検出機能を有し、前記照合機は、前記計算機の障害を検出する第2障害検出機能と他の照合機の障害を検出する第3障害検出機能とを有し、前記第1障害検出機能は、前記各計算機でそれぞれ決定したタスクのうち数が多いタスクを正とする一方、数が少ないタスクを誤とし、数が多いタスクと一致しないタスクを決定した前記計算機が比較対象から外され同期離脱状態とされ、前記第2障害検出機能は、前記計算機から送信されたデータが正常であるか否か確認し、異常データを送信した前記計算機は、次回以降のデータ比較対象から外され、前記第3障害検出機能は、前記主系の照合機における前記第1照合部の演算結果と前記第2照合部の演算結果とが一致するか否か照合し、不一致と判定された前記主系の照合機は、主系から従系へと切り換えられている。
第2の本発明に関わる計算機システムの方法は、同じ処理を並列に実行する複数の計算機と、前記計算機に多重化ネットワークを介して接続され前記計算機からの処理結果を照合する複数の照合機とを備え、前記照合機は、第1照合部と第2照合部とを有する計算機システムの方法であって、前記計算機は、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の計算機の稼動状態を前記多重化ネットワークを介して受信し、前記照合機は、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の照合機の稼動状態および前記計算機の稼動状態を前記多重化ネットワークを介して受信し、前記複数の照合機のうち、外部ネットワークに演算結果を送信する照合機が主系とされ、その他の照合機が従系とされ、さらに、前記計算機は、前記各計算機でそれぞれ決定したタスクのうち数が多いタスクを正とする一方、数が少ないタスクを誤とすることで、他の計算機の障害を検出し、数が多いタスクと一致しないタスクを決定した前記計算機は比較対象から外され同期離脱状態とされ、前記照合機は、前記計算機から送信されたデータが正常であるか否か確認することで、前記計算機の障害を検出し、異常データを送信した前記計算機は、次回以降のデータ比較対象から外され、前記照合機は、前記主系の照合機における前記第1照合部の演算結果と前記第2照合部の演算結果とが一致するか否か照合することで、他の照合機の障害を検出し、不一致と判定された前記主系の照合機は、主系から従系へと切り換えられている。
本発明によれば、障害を検出し誤ったデータを出力することを防ぎ、処理結果の比較照合部が障害となった場合でもシステムとしては継続して動作する計算機システムおよびその方法を実現できる。
実施形態の計算機システムの構成例を示す図である。 実施形態の計算機、照合機内に格納されている状態管理表を示す図である。 実施形態の各計算機のハードウェア構成例を示す図である。 実施形態の各照合機のハードウェア構成例を示す図である。 実施形態の計算機内のメインメモリ内に格納されるソフトウェアのブロック図である。 実施形態の照合機内のメインメモリ内に格納されるソフトウェアのブロック図である。 実施形態の計算機システムの正常時の動作フローチャートである。 実施形態の計算機の正常時における同期処理動作の詳細なフローチャートである。 (a)は、自系計算機の同期状態の状態遷移フローを示す図であり、(b)は、他系計算機の同期状態の状態遷移フローを示す図である。 実施形態の計算機が比較対象から外され同期離脱状態となった場合の例を示す図である。 実施形態の照合機の正常時における動作を示す図である。 実施形態の計算機が比較対象から外され同期離脱状態となった場合の例を示す図である。 実施形態の照合機の構成制御が実施された例を示す図である。
以下、本発明の実施形態について、添付図面を参照して説明する。
図1は、本実施形態の計算機システム1の構成例を示す図である。
<<計算機システム1の構成>>
図1に示す実施形態の計算機システム1は、同じ演算または同じ処理を同時または並列に行う複数台の計算機1(101)〜計算機n(104)と、計算機1(101)〜n(104)に多重化ネットワーク10を介して接続され、該演算処理または処理の結果を照合する照合機1(111)〜照合機m(114)とを備えている。
なお、nは3以上の自然数であり、mは2以上の自然数である。また、多重化ネットワーク10は、二重化以上の多重化ネットワークである。
n台の複数の計算機1(101)〜計算機n(104)は、それぞれ多重化ネットワーク10に接続しており、m台からなる複数の照合機1(111)〜照合機m(114)はそれぞれ多重化ネットワーク10と外部ネットワーク11とに接続している。
なお、外部ネットワーク11は、二重化以上の多重化ネットワークも可能とする。また、多重化ネットワーク10、外部ネットワーク11は、バス型でもスター型でもよく限定されない。
各計算機1(101)〜計算機n(104)および各照合機1(111)〜照合機m(114)は、それぞれシステム全体でユニークな番号(「計算機1」〜「計算機n」、「照合機1」〜「照合機m」)が、それぞれを識別するために割り振られており、同じ番号は存在しないものとする。また、nとmは互いに独立であり、計算機と照合機の台数に相関は無いものとする。
各計算機1(101)〜計算機n(104)は、それぞれ計算機101〜104、照合機111〜114の状態を示す状態管理表121〜124を備え、各照合機1(111)〜照合機m(114)は、それぞれ計算機101〜104、照合機111〜114の状態を示す状態管理表131〜134を備えている。
状態管理表121〜124、131〜134は、計算機101〜104、照合機111〜114の状態を示すものであり、計算機101〜104、照合機111〜114で独立した状態管理表を持つことも可能であるが、本実施形態では計算機101〜104、照合機111〜114で統一した同一の状態管理表を持つこととする。つまり、状態管理表121〜124ならびに状態管理表131〜134は同一のものである。
図2は、計算機1(101)〜計算機n(104)内に格納されている状態管理表121〜124、および照合機1(111)〜照合機m(114)内に格納されている状態管理表131〜134を示す図である。
ここで、状態管理表121〜124、131〜134は、データベースとして構成してもよいし、テーブルとして構成してもよいし、PSファイル(順ファイル)として構成してもよいし、その形態は限定されないのは勿論である。
図2において、名称1101は、計算機1〜計算機n(図1参照)の各名称ならびに照合機1〜照合機mの各名称を表している。
なお、名称1101は、計算機1(101)〜計算機n(104)ならびに照合機1(111)〜照合機m(114)を示すユニークな番号(「計算機1」〜「計算機n」、「照合機1」〜「照合機m」)としてもよく、各計算機1(101)〜計算機n(104)、各照合機1(111)〜照合機m(114)を識別できれば限定されないのは勿論である。
区分1102は、名称1101に示された照合機111〜114の主系/従系を表している。なお、主系は任意の一つの照合機とし、従系は、主系以外のその他とする。図2に示す例では、照合機2が主系、照合機3〜照合機mが従系であることが分る。照合機1は「−」となっており、主系/従系のどちらでもないため、稼動していない状態ということが分る。このように、本実施形態では、主系/従系の区別があるのは、照合機1(111)〜照合機m(114)とする。
IPアドレス1103は、名称1101に対するIP(Internet Protocol)アドレスであり、多重化ネットワーク10(図1参照)に接続される計算機101〜104ならびに照合機111〜114のIPアドレスが、それぞれA1、B1、C1、・・・、D1、E1、F1、G1・・・、H1であることを表している。状態1(1104)では、計算機1(101)〜計算機n(104)ならびに照合機1(111)〜照合機m(114)の稼動状態を表している。図2に示す例では、計算機1と照合機1が停止、他の計算機2〜計算機n、照合機2〜照合機mは稼動中であることが分る。
状態2(1105)では、計算機1〜計算機nの同期状態を表す。図2に示す例では、計算機1が同期離脱状態であり、計算機2、計算機3、…、計算機nが同期状態であることが分る。
<<計算機101〜104のハードウェア>>
図3は、図1に示す各計算機101〜計算機104のハードウェア構成例を示す図である。
図3に示すように、各計算機101〜104は、CPU(Central Processing Unit、以下CPUと称す)201、メインメモリ202、I/O(Input Output:入出力制御装置、以下I/Oと称す)203、読み取りまたは書き込み可能な記憶部204、および通信I/F(Interface、以下、I/Fと称す)205を備えている。CPU201、メインメモリ202、I/O203、記憶部204は、内部バス210で互いに接続されている。また、メインメモリ202には、本計算機システム1を実行するためのソフトウェア221が格納されている。
<<照合機111〜114のハードウェア>>
図4は、図1に示す各照合機111〜照合機114のハードウェア構成例を示す図である。
図4に示すように、各照合機111〜114は、照合部1(370)と照合部2(380)とを有する2重化に構成され、照合部1(370)、2(380)は、照合バス360で接続されている。
照合部1(370)、照合部2(380)は、それぞれ独立に同じ演算または同じ処理の結果の照合を行う。
照合部1(370)、照合部2(380)は、それぞれ同一のハードウェア上に構成することも、独立したハードウェア上に構成することも可能である。
照合部1(370)、照合部2(380)は、それぞれCPU301、331、メインメモリ302、332、I/O303、333、読み込みまたは書き込み可能な記憶部304、334、および通信I/F305、335を備えている。
照合部1(370)におけるCPU301、メインメモリ302、I/O303、記憶部304は、内部バス310で接続されている。同様に、照合部2(380)におけるCPU331、メインメモリ332、I/O333、記憶部334は、内部バス340で接続されている。また、メインメモリ302、332には、それぞれ、計算機システム1を実行するためのソフトウェア321、351が格納されている。
<計算機101〜104内のソフトウェア221(図3参照)>
図5は、図3に示す計算機101〜104内のメインメモリ202内に格納されるソフトウェア221のブロック図である。
図5に示すように、ソフトウェア221は、基本OS(Operating System)401、後記のタスク同期処理部を有するプロセッサ固有処理402、サブシステム403、システムサービス404、およびアプリケーション405を備えている。
基本OS401では、システムの資源管理、プロセス管理、タイマ管理等を行う。
プロセッサ固有処理402では、タスク同期処理部が計算機101〜104(図1参照)で同期して動作を行うための処理を行う。
サブシステム403では、ユーザによるタスクの開発、その実行をサポートする処理、並びに、演算結果または処理結果を多重化ネットワーク10(図1参照)へ伝送させるための処理を行う。
システムサービス404では、本計算機システム1全体のサービスとして障害情報や統計情報の閲覧等を可能にするサービスを提供するための処理を行う。
アプリケーション405では、計算機システム1を各種用途に用いるためのプログラム処理を行う。アプリケーション405としては、例えば、鉄道の運行管理システムや電力系統の制御システム等がある。
<照合機111〜114内のソフトウェア321、351(図4参照)>
図6は、図4に示す照合機111〜114内のメインメモリ302、332内に格納されるソフトウェア321、351のブロック図である。
図6に示すように、照合機111〜114内のメインメモリ302、332内に格納されるソフトウェア321、351は、LAN(Local Area Network)を利用するためのLANドライバ501、リソースを管理しハードウェアとソフトウェアコンポーネントのやりとりを管理するHKP(Hardware Kernel Program)502、基本ソフトであるOS503、データ伝送を行うための伝送制御部504、インターネットの標準プロトコルのTCP(Transmission Control Protocol)/IP(Internet Protocol)505、および、コンピュータへの命令を処理するコマンド処理部506を備えている。
LANドライバ501は、汎用ネットワークに接続するためのソフトウェアのモジュールであり、LANドライバ501は、汎用ネットワークとしてEthernet(登録商標)に対応している。HKP502では、図1に示す照合機1(111)〜照合機m(114)の立上処理、割込受付、障害処理を行う。OS503では、照合機111〜114で実行される各タスクのスケジューリングや時計機能のタイマ管理を行う。伝送制御部504では、パケット通信におけるフレームの送受信制御を行う。
TCP/IP505では、TCP、UDP(User Datagram Protocol)/IP、インターネット・プロトコルのデータグラム処理における誤りの通知や通信に関する情報の通知などのために使用されるICMP(Internet Control Message Protocol)のプロトコルに対応するための処理を行う。
コマンド処理部506では、各種コマンドの受付、ネットワーク状態の情報収集、ならびに障害管理を行う。
<計算機システム1の正常時の動作>
次に、計算機システム1の正常時の動作について、図7に従って説明する。なお、図7は、本実施形態に関わる計算機システム1の正常時の動作フローチャートである。
図7に示すように、本計算機システム1の動作は、主に、計算機による処理フロー601の動作と、照合機による処理フロー611の動作とを有している。
ここで、計算機による処理フロー601は、計算機101〜104全てで行われる。これは、例えば、この処理を一つの計算機でのみ行うとこの計算機がダウンした場合に、新たにこの処理を行う計算機を選択する処理が必要になることや、全ての計算機で同じ処理を行うことにより、一つの計算機がダウンしてもダウンした計算機の処理に影響されることなく、この処理が信頼性高く行なえる等の理由による。
計算機101〜104では、まず、各計算機101〜104で起動するタスクを決定する(図7のS602)。そして、計算機101〜104相互で決定したタスクを多数決処理(各計算機101〜104で決定したタスクのうち多いタスクを正とする一方、少ないタスクを誤とする処理)し、多いタスクを実行タスクとして決定するとともに、各計算機101〜104のデータが正常(それぞれの計算機101〜104で決定したタスクが多いタスクと一致する)か否か判定する(図7のS603)。
図7のS603において、多数決処理にて異常(計算機101〜104で決定したタスクが多いタスクと一致しない)と判断(図7のS603でNo)された場合、当該異常のデータをもつ(多いタスクと一致しないタスクを決定した)計算機(101〜104の何れか)に対する他の計算機による異常処理1(図7のS604)によって当該異常のデータをもつ計算機(101〜104の何れか)が比較対象から外される。
計算機101〜104に対する異常処理1(図7のS604)後に、稼動する計算機が全て存在しなくなった場合(図7のS605でNo)は、異常終了とする。一方、少なくとも1台の計算機(101〜104の何れか)が稼動している場合は(図7のS605でYes)、前記多数決処理にて決定した実行タスクを、稼動している計算機(101〜104の何れか)で起動し実行する(図7のS606)。
一方、図7のS603において、多数決処理にて起動タスクを決定する際のデータが正常と判断された場合(図7のS603でYes)、図7のS606に移行し、多数決処理にて決定した実行タスクを、稼動している計算機(101〜104の何れか)で起動し実行する。
図7のS606で実行された稼動中の計算機101〜104によるタスクの各演算結果は、図1に示すLAN1系141、LAN2系142の両系に伝達され、全ての照合機111〜照合機114(図1参照)にそれぞれ送信される。
演算結果を受け取った照合機111〜114が、照合機による処理フロー611(図7参照)の処理を実施する。
なお、照合機111〜114による処理フロー611の処理は、全照合機111〜照合機114で実施されるが、演算結果を照合し、正しいと判定されたデータを外部ネットワーク11(図1参照)へ送信するのは、主系の照合機のみである。
本計算機システム1では、一例として図1に示す照合機111を主系とする。主系、従系は、照合機111〜114のソフトウェア321、351(図4参照)の機能である構成制御処理で切り替えることが可能である。
以下では、主系の照合機111を例に、照合機111〜114による処理フロー611の処理について説明する。
照合機111では、計算機101〜104から送信されたデータを比較し(図7のS612)、送信されたデータが正常であるか否か確認する(図7のS613)。
データが正常であるか否かの確認方法の例として、計算機101〜104で演算結果にCRC(Cyclic Redundancy Check:巡回冗長検査、以下CRCとする)を付加したデータを照合機111に送信し、照合機111でCRCを再計算する方法や、計算機101〜104にて送信データに一貫した通し番号を付加し、その番号でデータの連続性を確認する方法(通し番号チェック)等がある。
計算機101〜104から送信されたデータが正常だと判定された場合(図7のS613でYes)、図7のS615に移行する。
一方、図7のS613で計算機101〜104から送信されたデータが異常だと判定された場合(図7のS613でNo)、照合機111による計算機101〜104に対する異常処理2(図7のS614)によって、異常データを送信した計算機101〜104の何れかは、次回以降のデータ比較対象から外されることとなる。
次に、図4に示す照合機111内の照合部1(370)、照合部2(380)で演算結果を比較して照合し(図7のS615)、データが正常であるか(照合部1(370)の演算結果と照合部2(380)の演算結果とが一致したときがデータが正常であり、不一致のとき異常)確認する(図7のS616)。
データが正常(照合部1(370)の演算結果と照合部2(380)の演算結果とが一致)と判定された場合(図7のS616でYes)は、図7のS619に移行する。
一方、図7のS616で、データが異常だ(照合部1(370)の演算結果と照合部2(380)の演算結果とが不一致)と判定された場合(図7のS616でNo)は、主系の照合機111で障害が発生したと判定し、照合機に対する異常処理(図7のS617)を実施する。
照合機に対する異常処理(図7のS617)では、照合部1(370)の演算結果と照合部2(380)の演算結果とが不一致と判定された照合機111は、主系から従系へと切り換えられる。なお、異常処理は、他の照合機112〜114から、照合機111に対して行われる。
照合機に対する異常処理(図7のS617)後に稼動する照合機が全て存在しなくなった場合(図7のS618でNo)、異常終了とする。一方、少なくとも1台の照合機(111〜114の何れか)が稼動している場合(図7のS618でYes)、稼動の主系の照合機(111〜114の何れか)が比較結果の照合済みの演算結果を外部ネットワーク11へ送信する(図7のS619)。
図8は、図7に示す計算機101〜104の正常時における同期処理動作の詳細なフローチャートである。図8の同期処理動作の詳細なフローチャートは、図7に示す計算機101〜104の正常時における計算機による処理フロー601を詳細に示したものである。
なお、前記したように、図8に示す処理は、全ての計算機1(101)〜計算機n(104)にて行われる。
図8に示すように、各計算機1(101)〜計算機n(104)にて、次に実行するタスク候補番号を含む同期データ701〜704を、他の計算機1(101)〜計算機n(104)のプロセッサ固有処理402のタスク同期処理部に送信する。
計算機1(101)〜計算機n(104)のタスク同期処理部では、同期データを受信し(図8のS711)、比較対象の計算機から同期データが取得できたかどうかを確認する(図8のS712)。なお、比較対象の計算機とは、基本は、全計算機1(101)〜計算機n(104)であるが、最終的に1台の計算機になったら1台の計算機で動作を実行する。
図8のS712で、比較対象の計算機から同期データが取得できなかった場合(図8のS712でNo)は、計算機から同期データが送信されなかったと判定し、同期データが送信されなかった計算機を比較対象から外す処理を行う(図8のS713)。
一方、図8のS712で比較対象の計算機から同期データを取得できた場合(図8のS712でYes)、同期データを多数決処理(全同期データのうちの1番多数のデータを正とする処理)とし、次に実行するタスク候補を決定する(図8のS714)。ここで、多数決処理し決定したタスク候補番号と異なるタスク候補番号を含む同期データを送信した計算機は比較対象から外す処理を行ってもよい。
続いて、計算機101〜104のタスク同期処理部において決定された次に実行するタスク候補番号が、計算機1(101)〜計算機n(104)に通知され(図8のS715)、決定されたタスクが起動(721〜724)される。
次に、自系計算機の同期状態について、図9(a)を用いて説明を行い、他系計算機の同期状態について、図9(b)を用いて説明を行う。
図9は、計算機101〜104における同期状態の状態遷移フローを示す図であり、図9(a)は、自系計算機の同期状態の状態遷移フローを示す図であり、図9(b)は、他系計算機の同期状態の状態遷移フローを示す図である。なお、自系とは自身のことであり、他系とは自身以外の他を意味する。すなわち、自系計算機とは自身の計算機を意味し、他系計算機とは自身の計算機以外の他の計算機を意味する。
計算機101〜104(図1参照)において、同期処理を行うために自系計算機の同期状態情報と他系計算機の同期状態情報を、状態管理表121〜124(図2参照)を用いて、それぞれの計算機101〜104が共有する。
<自系計算機の同期状態>
図9(a)に示す自系計算機の同期状態は、スタンバイ(図9(a)のS801)、同期状態(図9(a)のS802)、同期離脱状態(図9(a)のS803)の3種の状態で管理する。
スタンバイ(図9(a)のS801)状態から同期指示があった場合(図9(a)のS804でYes)、同期状態に遷移させる(図9(a)のS802)。一方、同期指示がない場合(図9(a)のS804でNo)、スタンバイ(図9(a)のS801)状態を継続する。
同期状態(図9(a)のS802)において同期状態を離脱させるイベントが発生した場合(図9(a)のS805でYes)、同期離脱状態に遷移させる(図9(a)のS803)。一方、同期状態(図9(a)のS802)において同期状態を離脱させるイベントが発生しない場合(図9(a)のS805でNo)、同期状態を継続する(図9(a)のS802)。
同期状態を離脱させるイベントとしては、タイムアウト、多数決処理による同期データ不一致、ハードウェア異常等がある。なお、タイムアウトとは、例えば、処理に異常が発生したことを見つけるために正常な処理時間にマージンをもたせた所定時間を予め決め、当該処理がこの所定時間を超えた場合、タイムアウトとする。例えば、正常な処理時間を1とした場合、所定時間を予め1.2と設定する等である。
同期離脱状態(図9(a)のS803)において、同期組み込み指示があった場合(図9(a)のS806でYes)、同期の組込処理を行い、同期状態に遷移させる(図9(a)のS802)。
一方、同期離脱状態(図9(a)のS803)において、同期組み込み指示がない場合(図9(a)のS806でNo)、同期離脱状態を継続する(図9(a)のS803)。
<他系計算機の同期状態>
図9(b)に示す他系計算機の同期状態は、同期状態(図9(b)のS811)、同期離脱状態(図9(b)のS812)の2種の状態で管理する。
他系計算機は、前記の自系計算機と同様に状態を遷移させる。
詳細には、同期状態(図9(b)のS811)において同期状態を離脱させるイベントが発生しない場合(図9(b)のS813でNo)、同期状態を継続する(図9(b)のS811)。
一方、同期状態(図9(b)のS811)において同期状態を離脱させるイベントが発生した場合(図9(b)のS813でYes)、同期離脱状態に遷移させる(図9(b)のS812)。
同期離脱状態(図9(b)のS812)において、同期組み込み指示があった場合(図9(b)のS814でYes)、同期の組込処理を行い、同期状態に遷移させる(図9(b)のS811)。
一方、同期離脱状態(図9(b)のS812)において、同期組み込み指示がない場合(図9(b)のS814でNo)、同期離脱状態を継続する(図9(b)のS812)。
<計算機101〜104に対する異常処理1(図7のS604)>
図10は、図7で示した計算機101〜104に対する異常処理1(図7のS604)によって、計算機101が比較対象から外され同期離脱状態となった場合の例を示す図である。
図10に示すように、計算機101で、前記の同期離脱イベント901が発生し(図9(a)のS805でYes、図9(b)のS813でYes)、同期処理動作によって同期離脱処理が実行され、計算機101は同期離脱状態となる(図9(a)のS803、図9(b)のS812)。
このとき、図5に示す計算機101のソフトウェア221内のサブシステム403によって、同期離脱状態となった計算機101の同期データを多重化ネットワーク10(図1参照)へ送信させないようにすることも可能である。
<照合機111〜114の正常時における動作>
次に、照合機111〜114の正常時における動作について、図11に従って説明する。
図11は、照合機111〜114の正常時における動作を示す図である。図11は、図7に示す照合機111〜114による処理フロー611を詳細に示したものである。
照合機111〜114(図1参照)は、計算機101〜104からの演算結果データを受信し(図11のS1001)、受信データの誤りチェックを行う(図11のS1002)。誤りチェック方法は、前記の通り、CRC、通番チェック(通し番号チェック)、並びに種々の加算値をチェックに用いるSUM値チェック等がある。
受信データの誤りチェックによって受信データが正常か否かの判定を行い(図11のS1003)、受信データが異常であった場合(図11のS1003でNo)、異常処理2を行う(図11のS1004)。
S1004の異常処理2としては、ソフトウェア要因の障害の場合、当該障害の受信データを廃棄し、計算機101〜104の要因の障害の場合は当該障害の計算機を比較対象から外し、同期離脱状態とする。また、多重化ネットワーク10上の障害の場合は、多重化ネットワーク10の経路変更等を行う。
さらに、計算機101〜104のハードウェア障害の場合は障害の当該計算機の再起動、もしくは停止を当該計算機のソフトウェア221によって行うことも可能である。或いは、計算機101〜104のソフトウェア障害の場合も、障害の当該計算機の再起動、もしくは停止を、その指示を障害の当該計算機に出すことにより、当該計算機のソフトウェア221によって行うことも可能である。
図12は、図11に示す計算機に対する異常処理2(図11のS1004)によって、計算機1(101)が比較対象から外され同期離脱状態となった場合の例を示す図である。
計算機1(101)から送信された同期データが照合機1(111)のデータ比較によって異常(図12の1201同期データ異常)と判定され、図11に示す異常処理2(S1004)によって当該計算機1(101)を比較対象から外し、計算機1(101)は、同期離脱状態となる。以上が、図12に示す計算機に対する異常処理2(図11のS1004)の例である。
一方、図11のS1003で受信データが正常だと判定された場合(図11のS1003でYes)、受信データが照合機111〜114によって抽出され(図11のS1005)、抽出データの比較を行い、その一致、不一致により、比較対象の変更要否を判定する(図11のS1006)。
抽出データが不一致であった場合に比較対象の変更要とし(図11のS1006でNo)、不一致となったデータの送信元である計算機を比較対象から外し同期離脱状態とする(図11のS1007)。本計算機システム1においては、全ての計算機101〜104で不一致となった場合、計算機番号の小さいものを選択し、その演算結果を、後記の図11のS1011で外部ネットワーク11へ送信する。また、ここで全ての計算機101〜104で不一致となった場合に計算機番号の大きいものを選択し、その演算結果を、後記の図11のS1011で外部ネットワーク11へ送信することも可能である。
一方、図11のS1006において、比較対象の変更が不要であると判定される場合(図11のS1006でYes)、比較結果の照合が行われる(図11のS1008)。図7の説明において示した通り、比較結果の照合(図11のS1008)は、図4に示す照合機111内の照合部1(370)、照合部2(380)で演算結果の比較結果を照合し、データが正常であることを確認することによって行われる。
ここで、データが異常だと判定された場合(図11のS1009でNo)は、照合機111で障害が発生したと判定し、照合機111に対する構成制御処理(図11のS1010)を実施する。照合機に対する構成制御処理(図11のS1010)によって主系の照合機111が停止し、従系の照合機112〜114の何れかが主系に遷移する。
図13は、照合機111〜114に対する異常処理(図11のS1010、図7のS617)によって、照合機1(111)の構成制御が実施された例を示す図である。
例えば、主系として動作していた照合機1(111)は、図11に示す比較結果照合(図11のS1008)において不一致(図13の1301の照合結果不一致)となり、構成制御処理(図11のS1010)によって停止させられる。次に、従系であった照合機2(112)が主系として動作する(図13の1303主系動作開始)。
以上が、照合機1(111)の構成制御が実施された例である。
一方、比較結果の照合(図11のS1008)によって照合結果が一致した場合(図11のS1009でYes)は、比較結果の照合済みの演算結果を、主系の照合機111が外部ネットワーク11へ送信する(図11のS1011)。
<<作用効果>>
本実施形態では、目的を達成するために、以下の手段を用いている。
(1)複数台の計算機1(101)〜n(104)同士の相互監視
(2)照合機1(111)における計算機1(101)〜n(104)の監視
(3)複数台の照合機1(111)〜m(114)における構成制御
本構成により、計算機1(101)〜n(104)及び照合機1(111)〜m(114)のハードウェア障害や自己診断機能が誤動作した場合でも障害を検出し誤ったデータを出力することを防げる。
さらに、演算結果の比較照合部が障害となる場合でもシステムとしては継続して動作するフォールトトレラントシステムを提供できる。
そのため、ハードウェア及び計算機の自己診断機能の誤動作によって、誤ったデータを出力することを未然に防ぐフォールトトレラントシステムを構築することができる。
従って、フォールトトレラントシステムにおけるシステムとしての稼働率を向上させることができる。
なお、前記実施形態では、照合機111〜114の内部で2重に演算を行う場合を例示したが、2重以上の多重で演算を行うことも可能であり、2重以上の何重にするかは、適宜選択可能である。
また、前記実施形態では、自系の計算機101〜104および自系の照合機111〜114が、傷害の障害部位または障害レベルに応じて、再起動または停止処理を実行する機能を有する場合を例示したが、他系の計算機101〜104および他系の照合機111〜114が、自系の計算機101〜104および自系の照合機111〜114を、その傷害の障害部位または障害レベルに応じて、再起動または停止処理を実行する機能を有するように構成してもよい。
また、前記実施形態では、照合機111〜114における主系を1の照合機と、主系以外の他の照合機を従系としたが、主系を1以外の2、3、…の数を適宜選択する構成としてもよい。1以外の2、3、…の照合機を主系とした場合、主系の照合機間でデータの照合を行い処理を進行してもよい。
なお、計算機101〜104および照合機111〜114は、各々、状態管理手段として、同一の状態管理表を有する構成としたが、一つまたは任意の数の状態管理手段を計算機101〜104、照合機111〜114の何れか、または、計算機101〜104、照合機111〜114の外部に有し、該状態管理手段を計算機101〜104、照合機111〜114で共有してアクセスする構成としてもよく、状態管理手段の態様は、例示したものに限定されない。
なお、照合機111〜114を主系と従系とする場合を例示したが、主系と従系とせず、照合機111〜114の処理結果を照合し、照合機111〜114の全てまたは何れかで、外部ネットワークを介して、処理結果を送信するように構成してもよく、照合機111〜114を主系と従系としないように構成することも可能である。
1 計算機システム
10 多重化ネットワーク
11 外部ネットワーク
101〜104 計算機
111〜114 照合機
121〜124、131〜134 状態管理表(状態管理手段)
203 I/O(計算機の送受信機能)
205 通信I/F(計算機の送受信機能)
221 ソフトウェア(計算機の送受信機能、第1障害検出機能、第1障害被対応機能、第2障害被対応機能)
303 I/O(照合機1の送受信機能)
305 通信I/F(照合機1の送受信機能)
321 ソフトウェア(照合機1の送受信機能、第2障害検出機能、第3障害検出機能、障害対応機能、第3障害被対応機能)
333 I/O(照合機1の送受信機能)
335 通信I/F(照合機1の送受信機能)
351 ソフトウェア(照合機1の送受信機能、第1障害検出機能、第2障害検出機能、第3障害検出機能、障害対応機能、第3障害被対応機能)

Claims (12)

  1. 同じ処理を並列に実行する複数の計算機と、前記計算機に多重化ネットワークを介して接続され前記計算機からの処理結果を照合する複数の照合機とを備える計算機システムであって、
    前記計算機は、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の計算機の稼動状態を前記多重化ネットワークを介して受信する送受信機能を有し、
    前記照合機は、第1照合部と第2照合部とを有し、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の照合機の稼動状態および前記計算機の稼動状態を前記多重化ネットワークを介して受信する送受信機能を有し、
    前記複数の照合機のうち、外部ネットワークに演算結果を送信する照合機が主系とされ、その他の照合機が従系とされ、
    さらに、
    前記計算機は、他の計算機の障害を検出する第1障害検出機能を有し、
    前記照合機は、前記計算機の障害を検出する第2障害検出機能と他の照合機の障害を検出する第3障害検出機能とを有し、
    前記第1障害検出機能は、前記各計算機でそれぞれ決定したタスクのうち数が多いタスクを正とする一方、数が少ないタスクを誤とし、
    数が多いタスクと一致しないタスクを決定した前記計算機が比較対象から外され同期離脱状態とされ、
    前記第2障害検出機能は、前記計算機から送信されたデータが正常であるか否か確認し、
    異常データを送信した前記計算機は、次回以降のデータ比較対象から外され、
    前記第3障害検出機能は、前記主系の照合機における前記第1照合部の演算結果と前記第2照合部の演算結果とが一致するか否か照合し、
    不一致と判定された前記主系の照合機は、主系から従系へと切り換えられる
    ことを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムにおいて、
    障害が発生した前記計算機は、前記照合機によって、その障害部位または障害レベルに応じて、再起動または停止処理を実行される第1障害被対応機能を有し、
    前記各照合機は、前記複数の計算機の演算結果を比較し、該比較結果を前記照合機間で照合することにより、前記障害が発生した計算機に対し、その障害部位または障害レベルに応じて、前記再起動または前記停止処理を実行させる障害対応機能を有する
    ことを特徴とする計算機システム。
  3. 請求項1または請求項2に記載の計算機システムにおいて、
    障害が発生した前記計算機は、前記他の計算機によって、その障害部位または障害レベルに応じて、再起動または停止処理を実行される第2障害被対応機能を有する
    ことを特徴とする計算機システム。
  4. 請求項1から請求項3のうちの何れか一項に記載の計算機システムにおいて
    害が発生した主系動作の前記照合機は、従系動作の前記照合機によって停止処理を実行される第3障害被対応機能を有する
    ことを特徴とする計算機システム。
  5. 請求項1から請求項4のうちの何れか一項に記載の計算機システムにおいて、
    前記計算機と前記照合機は、前記稼動状態の情報を状態管理手段で相互に共有する
    ことを特徴とする計算機システム。
  6. 請求項5に記載の計算機システムにおいて、
    前記計算機と前記照合機は、前記主従系状態の情報を前記状態管理手段で相互に共有する
    ことを特徴とする計算機システム。
  7. 同じ処理を並列に実行する複数の計算機と、前記計算機に多重化ネットワークを介して接続され前記計算機からの処理結果を照合する複数の照合機とを備え、前記照合機は、第1照合部と第2照合部とを有する計算機システムの方法であって、
    前記計算機は、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の計算機の稼動状態を前記多重化ネットワークを介して受信し、
    前記照合機は、自身の稼動状態を前記多重化ネットワークを介して送信すると共に、他の照合機の稼動状態および前記計算機の稼動状態を前記多重化ネットワークを介して受信し、
    前記複数の照合機のうち、外部ネットワークに演算結果を送信する照合機が主系とされ、その他の照合機が従系とされ、
    さらに、
    前記計算機は、前記各計算機でそれぞれ決定したタスクのうち数が多いタスクを正とする一方、数が少ないタスクを誤とすることで、他の計算機の障害を検出し、
    数が多いタスクと一致しないタスクを決定した前記計算機は比較対象から外され同期離脱状態とされ、
    前記照合機は、前記計算機から送信されたデータが正常であるか否か確認することで、前記計算機の障害を検出し、
    異常データを送信した前記計算機は、次回以降のデータ比較対象から外され、
    前記照合機は、前記主系の照合機における前記第1照合部の演算結果と前記第2照合部の演算結果とが一致するか否か照合することで、他の照合機の障害を検出し、
    不一致と判定された前記主系の照合機は、主系から従系へと切り換えられる
    ことを特徴とする計算機システムの方法。
  8. 請求項7に記載の計算機システムの方法において、
    障害が発生した前記計算機は、前記照合機によって、その障害部位または障害レベルに応じて、再起動または停止処理を実行され、
    前記各照合機は前記複数の計算機の演算結果を比較し、該比較結果を前記照合機間で照合することにより、前記障害が発生した計算機に対し、その障害部位または障害レベルに応じて、前記再起動または前記停止処理を実行させる
    ことを特徴とする計算機システムの方法。
  9. 請求項7または請求項8に記載の計算機システムの方法において、
    障害が発生した前記計算機は、前記他の計算機によって、その障害部位または障害レベルに応じて、再起動または停止処理を実行される
    ことを特徴とする計算機システムの方法。
  10. 請求項7から請求項9のうちの何れか一項に記載の計算機システムの方法において
    害が発生した主系動作の前記照合機は、従系動作の前記照合機によって停止処理を実行される
    ことを特徴とする計算機システムの方法。
  11. 請求項7から請求項10のうちの何れか一項に記載の計算機システムの方法において、
    前記計算機と前記照合機は、前記稼動状態の情報を状態管理手段で相互に共有する
    ことを特徴とする計算機システムの方法。
  12. 請求項11に記載の計算機システムの方法において、
    前記計算機と前記照合機は、前記主従系状態の情報を前記状態管理手段で相互に共有する
    ことを特徴とする計算機システムの方法。
JP2009225426A 2009-09-29 2009-09-29 計算機システムおよびその方法 Active JP5342395B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009225426A JP5342395B2 (ja) 2009-09-29 2009-09-29 計算機システムおよびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009225426A JP5342395B2 (ja) 2009-09-29 2009-09-29 計算機システムおよびその方法

Publications (2)

Publication Number Publication Date
JP2011076262A JP2011076262A (ja) 2011-04-14
JP5342395B2 true JP5342395B2 (ja) 2013-11-13

Family

ID=44020195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009225426A Active JP5342395B2 (ja) 2009-09-29 2009-09-29 計算機システムおよびその方法

Country Status (1)

Country Link
JP (1) JP5342395B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628817B1 (ko) * 2015-08-18 2016-06-09 엘아이지넥스원 주식회사 동기화 복구 정보를 생성하는 병렬 처리 데이터 동기화 복구 방법
KR101628816B1 (ko) * 2015-08-18 2016-06-09 엘아이지넥스원 주식회사 병렬 처리 데이터 동기화 복구 장치
WO2022249818A1 (ja) * 2021-05-27 2022-12-01 株式会社日立製作所 保安装置および保安方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JP2005250577A (ja) * 2004-03-01 2005-09-15 Toshiba Corp コンピュータシステム及び演算処理モジュールの健全性判定方法
JP5176231B2 (ja) * 2008-03-10 2013-04-03 株式会社日立製作所 計算機システム、計算機制御方法及び計算機制御プログラム

Also Published As

Publication number Publication date
JP2011076262A (ja) 2011-04-14

Similar Documents

Publication Publication Date Title
US7787388B2 (en) Method of and a system for autonomously identifying which node in a two-node system has failed
US8984330B2 (en) Fault-tolerant replication architecture
JP4986442B2 (ja) 一般化されたPaxos
US8185776B1 (en) System and method for monitoring an application or service group within a cluster as a resource of another cluster
EP3285168B1 (en) Disaster tolerance method and apparatus in active-active cluster system
CN106982259A (zh) 服务器集群的故障解决方法
US8005888B2 (en) Conflict fast consensus
US6629260B1 (en) Automatic reconnection of partner software processes in a fault-tolerant computer system
JP3808874B2 (ja) 分散システム及び多重化制御方法
JP5058582B2 (ja) ストレージデバイスのマルチパスシステム、その障害箇所特定方法及びプログラム
US20170039118A1 (en) Cluster system, server device, cluster system management method, and computer-readable recording medium
JP5342395B2 (ja) 計算機システムおよびその方法
JP5366184B2 (ja) データ記憶システム、データ記憶方法
JP6083480B1 (ja) 監視装置、フォールトトレラントシステムおよび方法
Venâncio et al. VNF‐Consensus: A virtual network function for maintaining a consistent distributed software‐defined network control plane
JP5176231B2 (ja) 計算機システム、計算機制御方法及び計算機制御プログラム
JP6070040B2 (ja) データベースシステム、データベース装置、データベースの障害回復方法およびプログラム
CN113596195B (zh) 公共ip地址管理方法、装置、主节点及存储介质
JP5335150B2 (ja) 計算機装置及びプログラム
Snyder et al. Robustness infrastructure for multi-agent systems
JP2015106226A (ja) 二重化システム
JP6511738B2 (ja) 冗長システム、冗長化方法および冗長化プログラム
US11947431B1 (en) Replication data facility failure detection and failover automation
Chaurasiya et al. Linux highly available (HA) fault-tolerant servers
JP2010055509A (ja) 障害復旧システム、方法及びプログラム、並びにクラスタシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130809

R150 Certificate of patent or registration of utility model

Ref document number: 5342395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150