JP2009217504A - 計算機システム、計算機制御方法及び計算機制御プログラム - Google Patents

計算機システム、計算機制御方法及び計算機制御プログラム Download PDF

Info

Publication number
JP2009217504A
JP2009217504A JP2008060017A JP2008060017A JP2009217504A JP 2009217504 A JP2009217504 A JP 2009217504A JP 2008060017 A JP2008060017 A JP 2008060017A JP 2008060017 A JP2008060017 A JP 2008060017A JP 2009217504 A JP2009217504 A JP 2009217504A
Authority
JP
Japan
Prior art keywords
node
nodes
collation
verification
master
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.)
Granted
Application number
JP2008060017A
Other languages
English (en)
Other versions
JP5176231B2 (ja
Inventor
Takayuki Kameda
貴之 亀田
Megumi Nagasu
めぐみ 長洲
Yoshiaki Adachi
芳昭 足達
Yoshihiro Nakano
義弘 中野
Hisao Kikuchi
久雄 菊池
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
Hitachi Information and Control Systems Inc
Hitachi Information and Control Solutions Ltd
Original Assignee
Hitachi Ltd
Hitachi Information and Control Systems Inc
Hitachi Information and Control Solutions 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, Hitachi Information and Control Systems Inc, Hitachi Information and Control Solutions Ltd filed Critical Hitachi Ltd
Priority to JP2008060017A priority Critical patent/JP5176231B2/ja
Publication of JP2009217504A publication Critical patent/JP2009217504A/ja
Application granted granted Critical
Publication of JP5176231B2 publication Critical patent/JP5176231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ノードのハードウェア障害やネットワーク障害等によってデータが破壊された場合でも、出力するデータの信頼性及び健全性を保障する。
【解決手段】本システムは、同じ処理を同時に実行する複数のCPUノード11〜14と、CPUノード11〜14からの演算結果を照合する複数の照合ノード21〜28とを備える。複数のCPUノード11〜14と複数の照合ノード21〜28とは多重化ネットワーク1に接続され、複数の照合ノード21〜28は外部ネットワーク2に接続される。さらに本システムでは、各CPUノード11〜14及び各照合ノード21〜28は、自ノードの稼動状態を生存状態情報として定期的に多重化ネットワーク1を介して送信すると共に、他ノードの生存状態情報を多重化ネットワーク1を介して受信する。
【選択図】図1

Description

本発明は、例えばフォールトトレラントシステム(Fault tolerant system)における高信頼性制御を実行する計算機システム、計算機制御方法及び計算機制御プログラムに関するものである。
従来から、その構成部品の一部が故障しても正常に処理を続行するシステム計算機であるフォールトトレラントシステムが知られている。例えば、本出願人は分散配置に適したフォ−ルトトレラントシステムの構成を提案している(特許文献1参照)。
このフォ−ルトトレラントシステムは、複数のプロセッシングノードと、出力選択ノ−ドと、これらを接続するネットワ−クより構成される。出力選択ノ−ドは、各プロセッシングノードにおけるデータ処理の結果のうち最も信頼度の高いデータを選択して出力信号として与える。
各プロセッシングノードは、自己診断機能によって検出した障害の発生状況を表す障害発生情報をデータと共に出力選択ノ−ドに送っている。出力選択ノードの判定機能は、各プロセッシングノードからのデータ相互間の一致/不一致と、各プロセッシングノードからの障害発生情報に基づき、最も信頼度の高いデータを判定し、これを選択機能に出力させる。
このような各プロセッシングノードのサブシステムを多重化したフォールトトレラントシステムでは、サブシステムを多重化することで1つのサブシステムで障害があってもサービスが中断されない。
また、クライアント・サーバモデルで動作するシステムにおいて、サーバ計算機に障害が発生した場合でも、クライアントプロセスの処理が停止することなく正常に動作を続けるフォ−ルトトレラントシステムも提案されている(特許文献2参照)。
このフォ−ルトトレラントシステムでは、クライアント計算機からの処理要求を複数のサーバ計算機へ送信し、サーバ計算機は処理結果をクライアント計算機に返送している。クライアント計算機の処理結果比較手段は、得られた処理結果を多数決回路により検査して正しい処理結果を出力する。
このシステムにおいては、複数のサーバ計算機が同じ処理を行い、出力結果をクライアント計算機が比較することで、出力結果の高信頼化を実現させ、1つのサーバに障害が発生した場合でも、出力結果が得られる。
特開平8−314744号公報 特開平7−306794号公報
しかしながら、上述した特許文献1に記載の技術のように、各プロセッシングノードによる比較による判断で最も信頼性があるデータと判断されてしまえば、出力結果が間違っていたとしても、正しい結果として出力してしまう。
また、上述した特許文献2に記載の技術のように、クライアント・サーバモデルで動作するシステムでは、ネットワーク障害が発生した場合は、出力結果を得られない。
従って、上述した特許文献1、2に記載の技術では、一連のノード処理だけでは高信頼性データを得ることができず、ネットワーク障害にも対応できないというような課題が発生する。
そこで、本発明は、ノードのハードウェア障害やネットワーク障害等によってデータが破壊された場合でも、出力するデータの信頼性及び健全性を保障する計算機システム、計算機制御方法及び計算機制御プログラムを提供することを目的とするものである。
上記目的を達成するために、本発明の計算機システムは、実質的に同じ処理を同時に実行する複数の演算ノードと、演算ノードからの演算結果を照合する複数の照合ノードと、複数の演算ノードと複数の照合ノードとが接続された多重化ネットワークと、複数の照合ノードが接続された外部ネットワークとを備えている。
さらに、本発明の計算機システムでは、各演算ノード及び前記各照合ノードは、自ノードの稼動状態を生存状態情報として定期的に多重化ネットワークを介して送信すると共に、他ノードの生存状態情報を多重化ネットワークを介して受信する情報収集部を有することを特徴とする。
また、本発明の計算機システムでは、各照合ノードは、自ノードの生存状態情報及び他ノードから出力される生存状態情報に基づいて自ノード及び他ノードの稼動状態を判断する生存判断部を有することを特徴とする。
また、本発明の計算機制御方法は、実質的に同じ処理を同時に実行する複数の演算ノードと、演算ノードからの演算結果を照合する複数の照合ノードとが多重化ネットワークを介して通信を行い、複数の照合ノードが外部ネットワークに照合結果を出力する。
ここで、本発明の計算機制御方法は、各演算ノード及び各照合ノードにおいて、自ノードの稼動状態を生存状態情報として定期的に多重化ネットワークを介して送信すると共に、他ノードの生存状態情報を前記多重化ネットワークを介して受信する情報収集ステップを含むことを特徴とする。
また、本発明の計算機制御方法は、各照合ノードにおいて、自ノードの生存状態情報及び他ノードから出力される生存状態情報に基づいて自ノード及び他ノードの稼動状態を判断する生存判断ステップを含むことを特徴とする。
また、本発明の計算機制御プログラムは、実質的に同じ処理を同時に実行する複数の演算ノードと、演算ノードからの演算結果を照合する複数の照合ノードとが多重化ネットワークを介して通信を行い、複数の照合ノードが外部ネットワークに照合結果を出力するために、コンピュータを、複数の演算ノード及び複数の照合ノードとして機能させるものである。
ここで、本発明の計算機制御プログラムは、各演算ノード及び各照合ノードにおいて、自ノードの稼動状態を生存状態情報として定期的に多重化ネットワークを介して送信すると共に、他ノードの生存状態情報を多重化ネットワークを介して受信する情報収集機能をコンピュータで実現することを特徴とする。
また、本発明の計算機制御プログラムは、各照合ノードにおいて、自ノードの生存状態情報及び他ノードから出力される生存状態情報に基づいて自ノード及び他ノードの稼動状態を判断する生存判断機能を、コンピュータで実現することを特徴とする。
また、本発明の計算機システムは、複数の照合ノードのうちの任意の照合ノードと他の照合ノードの対を照合ノードペアとし、照合ノードペアを複数組生成し、複数組の照合ノードペアのうちの1つを主系照合ノードペアとし、他の照合ノードペアを従系照合ノードペアとすることを特徴とする。
本発明によれば、フォールトトレラントシステムにおいて、システム全体で出力するデータの信頼性を向上させることができる。また、ハードウェア及びネットワーク障害等が原因で誤ったデータを出力することを未然に防ぐとともに、システム全体の動作の健全性を保障することができるという効果を奏する。
以下、本発明の一実施の形態を、図1〜12を参照して説明する。
図1は、本実施の形態例のシステム構成例を示している。
図1において、本実施の形態例の計算機システム10は、演算処理を行なうCPU(Central Processing Unit)ノード11〜14と、演算処理の結果を照合する照合ノード21〜28を備えている。
2n(nは2以上の自然数)台からなる複数のCPUノード11〜14は、それぞれ多重化ネットワーク1に接続し、2m(mは2以上の自然数)台からなる複数の照合ノード21〜28は、それぞれ多重化ネットワーク1と外部ネットワーク2に接続している。
各CPUノード11〜14及び各照合ノード21〜28は、それぞれ“CPU1”〜“CPU2n”、“照合1”〜“照合2m”のシステム全体でユニークとなるノード番号が割り振られている。ただし、同じノード番号は存在しないものとする。
なお、多重化ネットワーク1は、二重化以上の多重化ネットワークであり、外部ネットワーク2は、二重化以上の多重化ネットワークでも可能とする。また、この2つのネットワークはネットワークに限定しない。すなわち、バス状でもスター状でもよい。
図1は、多重化ネットワーク1をLAN(Local Area Network)1系3、LAN2系4で構成された二重化ネットワークとし、外部ネットワーク2を単一のネットワークとする構成例である。なお、図1に示すLANの代わりに、イーサネット(登録商標)(Ethernet(登録商標))で構成することもできる。
各照合ノード21〜28は2台のノードで1つのペアを組むように構成されており、図1においては、m組の照合ノードペア31〜34がとして構成されている。照合ノードペア31〜34のうち、1組のペアが主系ペア31となった場合、他の(m−1)組の照合ノードペアは従系ペア32〜34となる。このように、照合ノードペア間において、主従関係を持つように構成される。
主系ペア31には、“主系”のペア番号40が割り振られており、各従系ペア32〜34はそれぞれ“従系1”〜“従系(m−1)”のペア番号41〜43が割り振られている。すなわち、図1では、主系ペア40、従系ペア41〜43となる。システム全体において同じペア番号は存在しないものとする。
ここで、CPUノード11〜14には、図示しないドメインネームサーバにより、それぞれ多重化ネットワーク1に対して、LAN1系3においてIP(Internet Protocol)アドレスA1、B1、C1、D1が割り当てられ、LAN2系4においてIPアドレスA2、B2、C2、D2が割り当てられている。
また、各照合ノード21〜28には、図示しないドメインネームサーバにより、それぞれ多重化ネットワーク1に対して、LAN1系3においてIPアドレスa1、b1、c1、d1、e1、f1、g1、h1が割り当てられ、LAN2系4においてはIPアドレス a2、b2、c2、d2、e2、f2、g2、h2が割り当てられている。
図2は、CPUノード及び照合ノードのハードウェア構成例を示す図である。図2は、図1に示した各CPUノード11〜14及び各照合ノード21〜28のハードウェア構成例を示している。
図2において、各ノードは、読み込み又は書き込み可能な記憶媒体51、CPU54、入力装置52、出力装置53及び通信I/F(interface)55を実装している。記憶媒体51、CPU54、入力装置52、出力装置53及び通信I/F55は、内部バス56で接続されている。記憶媒体51には、計算機制御プログラムが格納されている。
図3は、CPUノード及び照合ノードにおける機能を実行する手段を表すブロック図であり、図3AはCPUノード、図3Bは照合ノードである。
図3は、CPUノード及び照合ノードのコンピュータに計算機制御プログラムを実行させたときに、機能を実行する手段を示している。
図3Aにおいて、各CPUノード11〜14は、生存状態情報通知手段101を有する。生存状態情報通知手段101は、多重化ネットワーク1において定期的にLAN1系3及びLAN2系4に対して、自ノードの(稼動/停止)状態と他のCPUノードの(稼動/停止)状態を後述する生存状態情報400としてブロードキャストで通知する機能を実現するプログラムである。
また、各CPUノード11〜14は、CPUノード状態監視手段102を有している。CPUノード状態監視手段102は、他のCPUノードから定期的に通知された生存状態情報400を記憶媒体51上の後述するノード状態管理テーブル500に書き込み、他のCPUノードの状態を監視する機能を実現するプログラムである。
また、各CPUノード11〜14は、他のCPUノードの状態を監視することにより状態の変化を検知するCPUノード状態検知手段103を有する。
なお、各CPUノード11〜14は、演算処理を行なう演算手段105と、演算処理の結果を出力する演算結果データ出力手段106とを有している。
同様にして、図3Bにおいて、各照合ノード21〜28は、生存状態情報通知/要求手段201を有する。生存状態情報通知/要求手段201は、多重化ネットワーク1において定期的にLAN1系3及びLAN2系4に対して、自ノードの(稼動/停止)状態と他の照合ノードの(稼動/停止)状態を生存状態情報400としてブロードキャストで通知する機能を実現するプログラムである。生存状態情報通知/要求手段201は、他の照合ノードの生存状態情報を要求することもできる。
また、各照合ノード21〜28は、他の照合ノードから定期的に通知された生存状態情報400を記憶媒体51上のノード状態管理テーブル500に書き込み、他の照合ノードの状態を監視する照合ノード状態監視手段202を有する。
また、各照合ノード21〜28は、各CPUノード11〜14から出力される演算結果データを収集するデータ収集手段203と、各照合ノードペア31〜34の多数決による最も信頼性のある選出データを出力するデータ選出手段204とを有する。
また、各照合ノード21〜28は、各照合ノードペア31〜34間のデータを比較して照合するペア間データ比較照合手段205と、照合結果データを出力する照合結果データ出力手段206とを有する。
また、各照合ノード21〜28は、各照合ノードペア31〜34間のペア状態を監視するペア状態監視手段207と、主系ペア40と従系ペア41〜43との主従関係を管理する構成管理手段208とを有する。
また、各照合ノード21〜28は、自ノードの機能を縮退させる縮退手段209と、他ノードの機能を縮退させる要求をする縮退要求手段210とを有する。
図4は、CPUノード11及び照合ノード22において、それぞれLAN1系3に対してブロードキャストで通知する生存状態情報400を示す図であり、図4AはCPUノード11、図4Bは照合ノード21である。
図4Aにおいて、自ノード番号401は、この生存状態情報400を送信しているCPUノード11のノード番号CPU1を表す。
他ノード番号402は、この生存状態情報400を送信しているCPUノード11が状態を確認している他ノードのノード番号CPU2〜CPU2nを表す。
IPアドレス403は、自ノード及び他ノードのIPアドレスを表す。例えばCPUノード11において、自CPUノードのIPアドレスA1と他CPUノード12〜14のそれぞれのIPアドレスB1、C1、D1を表している。
状態404は、自ノード及び他ノードの現在の状態(稼動/停止など)を表す。例えばCPUノード11において、ノード番号CPU3のCPUノード13が停止、かつそれ以外のCPUノード11,12,14が稼動中の場合を表している。CPUノード13の状態404は”停止”状態であり、それ以外のCPUノードの状態404は”稼動”状態である。
この生存状態情報400を生成して通知するため、各CPUノード11〜14は、図3Aに示したCPUノード状態検知手段103と生存状態情報通知手段101とを有している。CPUノード状態検知手段103は、CPUノード状態監視手段102の状態を監視とは別に他のCPUノードの状態変化を即座に検知する。
次に、他のCPUノードの状態が稼動から停止に変化した場合には、生存状態情報通知手段101は、状態が変化したCPUノードを停止と判断し、各照合ノードに対して生存状態情報400をブロードキャストで通知する。生存状態情報通知手段101は、CPUノード状態監視手段102及びCPUノード状態検知手段103によって、CPUノードを停止と判断する。
各照合ノード21〜28は、生存状態情報通知手段101によって、CPUノードより通知された生存状態情報400を自ノードの記憶媒体51に書き込み、すべてのCPUノード11〜14の状態を認知する。
図5は、照合ノード22が、LAN1系3において、図4の生存状態情報400を受信した際に、自ノードの記憶媒体51に書き込まれたノード状態管理テーブル500である。
図5に示すノード管理テーブル300おいて、ノード番号501は、その生存状態情報400を送信したCPUノード又は照合ノード(自ノードを含む)のノード番号CPU1〜CPU2n、照合1〜照合2mを表している。
また、IPアドレス502は、多重化ネットワーク1に接続されている照合ノード22が、生存状態情報400を受信したノード(自ノードを含む)のIPアドレスを表している。図5においては、例えば、LAN1系3のネットワークに接続されている照合ノード22が、生存状態情報400を受信したノードのIPアドレスA1、B1、C1、・・・D1、a1、b1、c1、・・・h1を表している。
状態503は、現在認識できている他ノードの稼動/停止などの状態(自ノードを含む)を表している。例えば、図5において、ノード番号CPU3のCPUノードが停止の場合、前記CPUノードの状態503は”停止”状態であり、それ以外のノードの状態503は”稼動”状態である。
このノード状態管理テーブル500を生成するため、各CPUノード11〜14は、図3Aに示した演算手段105と演算結果データ出力手段106とを有している。演算手段105は、他のCPUノードと同期をとり、同じ処理を同時に行う。演算結果データ出力手段106は、演算した結果(以下演算結果データ)を同時に多重化ネットワーク1に対して出力する。
また、各照合ノード21〜28は、図3Bに示したデータ収集手段203とデータ選出手段204とを有している。データ収集手段203は、すべてのCPUノード11〜14から前記演算結果データを収集する。データ選出手段204は、収集した演算結果データに対して、最も信頼性のある演算結果データを選出する。
また、各照合ノード21〜28は、図3Bに示したペア間データ比較照合手段205と照合結果データ出力手段206とを有している。ペア間データ比較照合手段205は、データ選出手段204で選出したデータ(以下選出データ)をペアとなる照合ノードと互いに比較照合を行う。また、照合結果データ出力手段206は、ペア間データ比較照合手段205で比較照合した結果(以下照合結果データ)を外部ネットワーク2へ出力する。
また、各照合ノード21〜28は、図3Bに示したペア状態監視手段207と構成管理手段208とを有している。ペア状態監視手段207は、自ノードが主系/従系のどちらのペアに属しているか、また、自ノードが従系ペアの場合に何番目の従系ペアかを認識する。
例えば、図1において、照合ノードペア32内の照合ノード23は、自ノードが従系1ペア41に属していることと、ペアとなる照合ノード24のノード番号“照合4”より自ノード番号“照合3”が小さいことを認識している。また、現在従系となっている照合ノードペア32〜34の従系1ペア41〜従系(m−1)ペア43内においてペア番号“従系1”が最も小さいことを認識している。
また、構成管理手段208は、主系ペア40と従系1ペア41〜従系(m−1)ペア43とを要求時に切り替える。
図6は、照合ノード21〜28において、演算結果データを収集してから照合結果データを出力するまでのデータ比較照合処理・出力処理(ステップS600)のアルゴリズムを示すフローチャートである。図6は、照合ノード21〜28が有する機能を、コンピュータで実現するための計算機制御プログラムの手順を示したフローチャートである。
図6において、照合ノード21〜28は、各CPUノード11〜14からの演算結果データを収集する(ステップS601)。照合ノード21〜28は、図5に示したノード状態管理テーブル500よりすべてのCPUノード11〜14の状態を認識できており、収集する演算結果データがそろい次第、次の選出処理(ステップS602)に移行する。
例えば、図5においてノード番号501の“CPU3”の状態503が“停止”状態となっているので、ノード番号501の“CPU3”以外のCPUノードより演算結果データを収集し終えた時点で、次の選出処理(ステップS602)に移行する。
次に、照合ノード21〜28は、ステップS601で収集した演算結果データをそれぞれ比較し、最も信頼性があるデータを選出する(ステップS602)。このデータ選出方法としては例えば多数決が挙げられる。
そして、照合ノード21〜28は、ステップS602で選出したデータをペアとなる照合ノードの選出データと比較して照合することにより、選出データの内容が一致しているか否かを判断する(ステップS603)。
判断ステップS603で選出データの内容一致した場合、照合ノード21〜28は、自ノードが主系ペアに含まれ、かつペアとなるノード番号が照合ノードより小さいか否かを判断する(ステップS605)。
判断ステップS605で自ノードが主系ペアに含まれ、かつペアとなるノード番号が照合ノードより小さいとき、照合ノード21〜28は、照合結果データを多重化ネットワーク1及び外部ネットワーク2に対して出力する(ステップS604)。
この場合、図3Bに示したペア状態監視手段207より、照合ノード21〜28は自ノードが主系又は従系のどちらのペアに属しているかを認識し、主系ペアの場合のみ照合結果データを多重化ネットワーク1及び外部ネットワーク2に対し出力する。また、この照合結果データを出力する照合ノード21〜28は、ペア内において、ノード番号の小さい方の照合ノードである。
判断ステップS603で選出データの内容が不一致の場合、照合ノード21〜28は、そのデータは出力対象外とし、選出データを削除した後、構成制御要求処理(ステップS700)へ移行する。
また、判断ステップS605において、自ノードが従系ペアに属しているか、又は、ペアとなる照合ノードよりノード番号が大きい場合には(ステップS605のNO)、照合ノード21〜28は、その照合結果データを出力対象外であるとして保持する(ステップS606)。
図7は、図6に示した構成制御要求処理(ステップS700)についてのアルゴリズムを示すフローチャートである。図7のフローチャートは、コンピュータに、照合ノード21〜28が有する上述機能を実現させるための計算機制御プログラムの手順を示すものである。
図7において、照合ノード21〜28は、自ノードのノード番号とペアとなる照合ノードとのノード番号を比較して、ノード番号がペアとなる照合ノードより小さいか否かを判断する(ステップS701)。判断ステップS701において、自ノードのノード番号が大きい場合、ステップS703に移行する。
判断ステップS701において、自ノードのノード番号が小さい場合は、照合ノード21〜28は、他の照合ノードに対して構成制御要求を送信する(ステップS702)。
この場合、図3Bに示した構成管理手段208より、照合ノード21〜28は主系ペア40と従系ペア41〜43との主従関係が管理されている。照合ノード21〜28はこの主系ペア40と従系ペア41〜43のいずれかとの主従関係を入れ替える要求をする。
ステップS702の構成制御要求を送信後、照合ノード21〜28は、自ノードの機能を縮退する(ステップS703)。このステップS703では、図3Bに示した縮退手段209が自ノードの機能を縮退させるようにしている。
図8は、図7に示した構成制御要求処理(ステップS700)を受信した照合ノード21〜28の構成制御受信処理(ステップS800)についてのアルゴリズムを示すフローチャートである。図8のフローチャートは、コンピュータに、照合ノード21〜28が有する上述の機能を実現するための計算機制御プログラムの手順を示すものである。
図8において、照合ノード21〜28は、構成制御要求を受信する(ステップS801)。
ステップS801で構成制御要求を受信した後、照合ノード21〜28は、自ノードが従系ペアに含まれ、かつ、ペア番号がもっとも小さいか否かを判断する(ステップS802)。
判断ステップS802において、自ノードが従系ペアに属しており、かつ従系ペア内においてペア番号がもっとも小さいペアに属している場合、照合ノード21〜28は、自ノードのペア状態を主系に変更する(ステップS803)。
また、判断ステップS802において、自ノードが主系ペアに属している、又は、従系ペア内においてペア番号が最小ではないペアに属している場合、照合ノード21〜28は、構成制御受信処理(ステップS800)を終了する。
ステップS803で自ノードのペア状態を主系に変更した後、照合ノード21〜28は、ノード番号がペアとなる照合ノードより小さいか否かを判断する(ステップS804)。
判断ステップS804において、自ノードのノード番号がペアとなる照合ノードのノード番号より小さい場合、照合ノード21〜28は、ステップS805に移行する。
判断ステップS804において、自ノードのノード番号がペアとなる照合ノードのノード番号より大きい場合、照合ノード21〜28は、構成制御受信処理(ステップS800)を終了する。
そして、照合結果データを保持していた場合、照合ノード21〜28は、多重化ネットワーク1及び外部ネットワーク2へ保持している照合結果データを出力する(ステップS805)。
図6に示した照合結果データ出力処理(ステップS605)により、照合結果データは多重化ネットワーク1と外部ネットワーク2に出力されるので、他の照合ノードはペア状態を主系に変更した後(ステップS803)の照合結果データを受信することができる。
なお、他の照合ノードが受信する照合結果データには同じ通番が割り振られており、同じ通番の場合は内容も同じとなる。そこで、受信した照合結果データと保持している照合結果データとの通番の大小を比較することで、照合ノードは照合結果データがどの更新時点で出力されたかを認識することができる。以下に、更新済みの照合結果データを削除する処理を説明する。
図9は、照合ノード21〜28において、保持している照合結果データを削除する照合結果データ削除処理(ステップS900)についてのアルゴリズムを示すフローチャートである。図9のフローチャートは、コンピュータに、照合ノード21〜28が有する上述機能を実現するための計算機制御プログラムの手順を示すものである。
図9において、照合ノード21〜28は、主系ペアから出力された照合結果データを受信する(ステップS901)。ステップS901で照合ノード21〜28が照合結果データを受信するネットワークは多重化ネットワーク1及び外部ネットワーク2である。
照合ノード21〜28は、受信した照合結果データと保持している照合結果データとの通番が同じか否かを判断する(ステップS902)。判断ステップS902において、受信した照合結果データと保持している照合結果データとの通番の比較の結果、両者が同じ場合、照合ノード21〜28は、保持していた照合結果データを削除する(ステップS903)。
また、ステップS902で通番が異なる場合は、照合ノード21〜28は、受信した照合結果データよりも保持している照合結果データの通番が大きいか否かを判断する(ステップS904)。判断ステップS904において、保持している照合結果データの通番が大きい場合、照合結果データ削除処理(ステップS900)を終了する。
ここで、受信した照合結果データと保持している照合結果データとの通番の比較の結果、保持している照合結果データの通番が大きい場合に、照合ノード21〜28は、受信した照合結果データはまだ外部ネットワーク2に出力されていないと判断する。
また、照合ノード21〜28は、保持している照合結果データの通番が小さい場合は、受信した照合結果データはすでに外部ネットワーク2に出力済みと判断する。なお、出力される照合結果データは、この判断のため照合ノード21〜28に戻されている。
この場合、図3Bに示した照合ノード状態監視手段202は、他の照合ノードが自ノード以外のノード状態をどのように認識しているかを検知する。これは自ノードの記憶媒体51上に記憶される照合ノード管理テーブル1000により管理されている。例えば、照合ノード21は、他の照合ノード24が監視している各照合ノード21〜28の状態を認識している。
図10は、照合ノード21において記憶されるLAN1系2に対する照合ノード管理テーブル1000を表す図である。
図10において、ノード番号1001は、自ノードを含む他の照合ノード番号照合1〜照合2mを表している。このノード番号1001に対して、それぞれ他の照合ノード22〜28の状態を管理するテーブル1002が設けられている。
このテーブル1002では、他ノード番号1003は、照合ノード21が状態を把握している他の照合ノード番号照合1〜照合2mを表している。
また、IPアドレス1004は、照合ノード21が状態を把握している他の照合ノードのIPアドレスa1〜h1を表している。
状態1005は、照合ノード21が把握している他の照合ノードの状態(稼動又は停止)を表す。例えば、図10において、照合2mの前記テーブル1002は自ノードを含めすべての照合ノードの状態1005が“稼動”状態となっており、照合2mが認識している他の照合ノードの状態が稼動中であることがわかる。
この場合、図3Bに示した照合ノード状態監視手段202は、他の照合ノードの状態を監視しており、ある照合ノードにおいて異常を検知した場合、縮退要求手段210は、状態変化した照合ノード対して縮退要求を送信する。
照合ノード状態監視手段202による異常検知としては、例えば、ハードウェア障害による突然停止状態、定期的に送られてくる生存状態情報400の途切れ又は障害イベント受信等がある。また、縮退手段211は、自ノードが異常と判断した場合に自ら縮退する。
図11は、照合ノード21〜28において、縮退要求を送信する縮退要求処理(ステップS1100)についてのアルゴリズムを示すフローチャートである。図11のフローチャートは、コンピュータに、照合ノード21〜28の有する上述機能を実現させるための計算機制御プログラムの手順を示すものである。
図11において、照合ノード21〜28は、他の照合ノードの異常を検知する(ステップS1101)。ステップS1101の異常検知としては、例えば、定期的に送信されてくる生存状態情報400が途切れ、状態が稼動から停止に変化した場合などがある。
照合ノード21〜28は、ステップS1101で異常検知した他の照合ノードの状態が、異常を検知しなかった他の照合ノードの状態と同じか否かを判断する(ステップS1102)。すなわち、照合ノード21〜28は、ステップS1101の処理で異常を検知した照合ノードと、自ノード内で管理している、異常を検知しなかった他の照合ノードの情報と比較する。
図10に示した照合ノード管理テーブル1000において、照合ノード21〜28は、他の照合ノードが異常と検知した照合ノードの状態をそれぞれどのように認識しているかを比較し、最も信頼性がある状態を採用する。この採用方法としては例えば多数決が挙げられる。
ここで、各照合ノード21〜28において、生存状態情報通知/要求手段201は、照合ノード管理テーブル1000の情報が最新ではないとき、各照合ノードに対して生存状態情報400を要求する。
判断ステップS1102において、他の照合ノードが検知している状態と同じとき、照合ノード21〜28は、異常を検知した照合ノードに対して縮退要求を送信する(ステップS1103)。これは、他の照合ノードも同じように異常を検知しているため、異常を検知した照合ノードが障害をもっていると判断できるからである。
判断ステップS1102において、他の照合ノードが検知している状態と同じでないとき、照合ノード21〜28は、自ノードが主系ペアに属しているか否かを判断する(ステップS1104)。
判断ステップS1104において、自ノードが主系ペアに属しているときは、照合ノード21〜28は、構成制御要求処理(ステップS700)を行う。
判断ステップS1104において、自ノードが主系ペアに属していないときは、照合ノード21〜28は、自ノードの縮退処理をする(ステップS1105)。これは、自ノードのみが異常を検知していた場合、自ノードが障害をもっていると判断するからである。
図12は、照合ノード21〜28において、縮退要求を受けた場合の縮退受付処理(ステップS1200)についてのアルゴリズムを示すフローチャートである。図12のフローチャートは、コンピュータに、照合ノード21〜28の有する上述機能を実現させるための計算機制御プログラムの手順を示すものである。
図12において、照合ノード21〜28は、他の照合ノードより縮退要求を受信する(ステップS1201)。
照合ノード21〜28は、自ノードが主系ペアに属しているか否かを判断する(ステップS1202)。
判断ステップS1202において、自ノードのペアの状態を認知し、自ノードが主系ペアに属しているときは、照合ノード21〜28は、構成制御要求処理(ステップS700)を行う。
判断ステップS1202において、自ノードが主系ペアに属していないときは、照合ノード21〜28は、自ノードの縮退処理をする(ステップS1203)。
本発明は、サブシステムを多重化し、出力するデータを各システム間で比較照合することにより高信頼性を要求するフォールトトレラントシステムに利用可能である。
また、サブシステム間で状態監視して異常検知時に主従関係を変更して構成制御することにより健全性を保障することを要求するフォールトトレラントシステムに利用可能である。
なお、上述した本実施の形態例に限らず、特許請求の範囲に記載された本発明の要旨を逸脱しない限り、適宜変更しうることは言うまでもない。
本発明の一実施の形態によるシステム構成例を示す説明図である。 各ノードのハードウェア構成図である。 CPUノード及び照合ノードにおける機能を実行する手段を表すブロック図であり、図3AはCPUノード、図3Bは照合ノードである。 各ノードが送信する生存状態情報を示す図であり、図4AはCPUノード11、図4Bは照合ノード21である。 ノード状態管理テーブルを表す図である。 データ比較照合処理・出力処理のアルゴリズムを示すフローチャートである。 構成制御要求処理のアルゴリズムを示すフローチャートである。 構成制御受信処理のアルゴリズムを示すフローチャートである。 照合結果データ削除処理のアルゴリズムを示すフローチャートである。 照合ノード管理テーブルを表す図である。 縮退要求処理のアルゴリズムを示すフローチャートである。 縮退要求受付処理のアルゴリズムを示すフローチャートである。
符号の説明
1…多重化ネットワーク、2…外部ネットワーク、3…LAN1系、4…LAN2系、10…計算機システム、11〜14…CPU1〜CPU2n、21〜28…照合1〜照合2m、31〜34…照合ノードペア、40…主系ペア、41〜43…従系ペア、51…記憶媒体、52…入力装置、53…出力装置、54…CPU、55…通信I/F、56…内部バス、101…生存状態情報通知手段、102…CPUノード状態監視手段、103…CPUノード状態検知手段、105…演算手段、106…演算結果データ出力手段、201…生存状態情報通知/要求手段、202…照合ノード状態監視手段、203…データ収集手段、204…データ選出手段、205…ペア間データ比較照合手段、206…照合結果データ出力手段、207…ペア状態監視手段、208…構成管理手段、209…縮退手段、210…縮退要求手段、400…生存状態情報、500…ノード状態管理テーブル、1000…照合ノード管理テーブル

Claims (17)

  1. 実質的に同じ処理を同時に実行する複数の演算ノードと、
    前記演算ノードからの演算結果を照合する複数の照合ノードと、
    前記複数の演算ノードと前記複数の照合ノードとが接続された多重化ネットワークと、
    前記複数の照合ノードが接続された外部ネットワークと、を備え、
    前記各演算ノード及び前記各照合ノードは、自ノードの稼動状態を生存状態情報として定期的に前記多重化ネットワークを介して送信すると共に、他ノードの生存状態情報を前記多重化ネットワークを介して受信する情報収集部を有する
    ことを特徴とする計算機システム。
  2. 前記複数の照合ノードのうち一対を主系とし他の対を従系と定め、主従関係の照合ノードは互いを監視する監視部を有する
    ことを特徴とする請求項1に記載の計算機システム。
  3. 前記各照合ノードは、前記生存状態情報を記憶する管理テーブルを有する
    ことを特徴とする請求項1に記載の計算機システム。
  4. 実質的に同じ処理を同時に実行する複数の演算ノードと、
    前記演算ノードからの演算結果を照合する複数の照合ノードと、
    前記複数の演算ノードと前記複数の照合ノードとが接続された多重化ネットワークと、
    前記照合ノードが接続された外部ネットワークと、を備え、
    前記各照合ノードは、自ノードの生存状態情報及び他ノードから出力される生存状態情報に基づいて自ノード及び他ノードの稼動状態を判断する生存判断部を有する
    ことを特徴とする計算機システム。
  5. 前記複数の照合ノードのうち一対を主系とし他の対を従系と定め、主従関係の照合ノードは前記主従関係の照合ノードのいずれかの稼動状態を判断する主従判断部を有する
    ことを特徴とする請求項4に記載の計算機システム。
  6. 前記主従判断部により主系の照合ノードが稼動していないと判断されたとき、稼動状態の従系の照合ノードを主系の照合ノードとする主従関係更新部を有する
    ことを特徴とする請求項5に記載の計算機システム。
  7. 前記主従判断部により主系の照合ノードが稼動していないと判断されたとき、前記主系の照合ノードは自ノードの機能を縮退する縮退部を有する
    ことを特徴とする請求項6に記載の計算機システム。
  8. 実質的に同じ処理を同時に実行する複数の演算ノードと、前記演算ノードからの演算結果を照合する複数の照合ノードとが多重化ネットワークを介して通信を行い、前記複数の照合ノードが外部ネットワークに照合結果を出力する計算機制御方法であって、
    前記各演算ノード及び前記各照合ノードにおいて、自ノードの稼動状態を生存状態情報として定期的に前記多重化ネットワークを介して送信すると共に、他ノードの生存状態情報を前記多重化ネットワークを介して受信する情報収集ステップを含む
    ことを特徴とする計算機制御方法。
  9. 前記複数の照合ノードのうち一対を主系とし他の対を従系と定め、主従関係の照合ノードは互いを監視する監視ステップを含む
    ことを特徴とする請求項8に記載の計算機制御方法。
  10. 前記各照合ノードは、前記生存状態情報を記憶する管理テーブルを用いる
    ことを特徴とする請求項8に記載の計算機制御方法。
  11. 実質的に同じ処理を同時に実行する複数の演算ノードと、前記演算ノードからの演算結果を照合する複数の照合ノードとが多重化ネットワークを介して通信を行い、前記複数の照合ノードが外部ネットワークに照合結果を出力する計算機制御方法であって、
    前記各照合ノードにおいて、自ノードの生存状態情報及び他ノードから出力される生存状態情報に基づいて自ノード及び他ノードの稼動状態を判断する生存判断ステップを含む
    ことを特徴とする計算機制御方法。
  12. 前記複数の照合ノードのうち一対を主系とし他の対を従系と定め、主従関係の照合ノードは前記主従関係の照合ノードのいずれかの稼動状態を判断する主従判断ステップを含む
    ことを特徴とする請求項11に記載の計算機制御方法。
  13. 前記主従判断ステップにより主系の照合ノードが稼動していないと判断されたとき、稼動状態の従系の照合ノードを主系の照合ノードとする主従関係更新ステップを含む
    ことを特徴とする請求項12に記載の計算機制御方法。
  14. 前記主従判断ステップにより主系の照合ノードが稼動していないと判断されたとき、前記主系の照合ノードは自ノードの機能を縮退する縮退ステップを含む
    ことを特徴とする請求項13に記載の計算機制御方法。
  15. 実質的に同じ処理を同時に実行する複数の演算ノードと、前記演算ノードからの演算結果を照合する複数の照合ノードとが多重化ネットワークを介して通信を行い、前記複数の照合ノードが外部ネットワークに照合結果を出力するために、コンピュータを、前記複数の演算ノード及び前記複数の照合ノードとして機能させるための計算機制御プログラムであって、
    前記各演算ノード及び前記各照合ノードにおいて、自ノードの稼動状態を生存状態情報として定期的に前記多重化ネットワークを介して送信すると共に、他ノードの生存状態情報を、前記多重化ネットワークを介して受信する情報収集機能を、
    実現するための計算機制御プログラム。
  16. 実質的に同じ処理を同時に実行する複数の演算ノードと、前記演算ノードからの演算結果を照合する複数の照合ノードとが多重化ネットワークを介して通信を行い、前記複数の照合ノードが外部ネットワークに照合結果を出力するために、コンピュータを、前記複数の照合ノードとして機能させるための計算機制御プログラムであって、
    前記各照合ノードにおいて、自ノードの生存状態情報及び他ノードから出力される生存状態情報に基づいて自ノード及び他ノードの稼動状態を判断する生存判断機能を、
    コンピュータで実現するための計算機制御プログラム。
  17. 実質的に同じ処理を同時に実行する複数の演算ノードと、
    前記演算ノードからの演算結果を照合する複数の照合ノードと、
    前記複数の演算ノードと前記複数の照合ノードとが接続された多重化ネットワークと、
    前記複数の照合ノードが接続された外部ネットワークと、を備え、
    前記複数の照合ノードのうちの任意の照合ノードと他の照合ノードの対を照合ノードペアとし、前記照合ノードペアを複数組生成し、前記複数組の照合ノードペアのうちの1つを主系照合ノードペアとし、他の照合ノードペアを従系照合ノードペアとする
    ことを特徴とする計算機システム。
JP2008060017A 2008-03-10 2008-03-10 計算機システム、計算機制御方法及び計算機制御プログラム Active JP5176231B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008060017A JP5176231B2 (ja) 2008-03-10 2008-03-10 計算機システム、計算機制御方法及び計算機制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008060017A JP5176231B2 (ja) 2008-03-10 2008-03-10 計算機システム、計算機制御方法及び計算機制御プログラム

Publications (2)

Publication Number Publication Date
JP2009217504A true JP2009217504A (ja) 2009-09-24
JP5176231B2 JP5176231B2 (ja) 2013-04-03

Family

ID=41189287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008060017A Active JP5176231B2 (ja) 2008-03-10 2008-03-10 計算機システム、計算機制御方法及び計算機制御プログラム

Country Status (1)

Country Link
JP (1) JP5176231B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076262A (ja) * 2009-09-29 2011-04-14 Hitachi Ltd 計算機システムおよびその方法
JP2014197266A (ja) * 2013-03-29 2014-10-16 富士通株式会社 情報処理システム,情報処理装置,情報処理装置の制御プログラム,及び情報処理システムの制御方法
JP2018106619A (ja) * 2016-12-28 2018-07-05 株式会社日立製作所 計算機システム
CN109741054A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 交易数据处理方法、装置、计算机设备及可读存储介质
CN110959257A (zh) * 2017-07-28 2020-04-03 国际商业机器公司 用处理器核中本地检测回路降低或减轻芯片上电源噪声电压

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306794A (ja) * 1994-05-12 1995-11-21 Mitsubishi Electric Corp 分散システム及び分散システムの高信頼化方法
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JPH0923241A (ja) * 1995-07-05 1997-01-21 Fujitsu Ltd 非同期型データの通信制御方法
JP2005130049A (ja) * 2003-10-21 2005-05-19 Fujitsu Ltd ノード
JP2005251055A (ja) * 2004-03-08 2005-09-15 Fujitsu Ltd 高信頼システム、冗長構成制御方法及びプログラム
JP2007228293A (ja) * 2006-02-23 2007-09-06 Mitsubishi Electric Corp ノード装置および通信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306794A (ja) * 1994-05-12 1995-11-21 Mitsubishi Electric Corp 分散システム及び分散システムの高信頼化方法
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JPH0923241A (ja) * 1995-07-05 1997-01-21 Fujitsu Ltd 非同期型データの通信制御方法
JP2005130049A (ja) * 2003-10-21 2005-05-19 Fujitsu Ltd ノード
JP2005251055A (ja) * 2004-03-08 2005-09-15 Fujitsu Ltd 高信頼システム、冗長構成制御方法及びプログラム
JP2007228293A (ja) * 2006-02-23 2007-09-06 Mitsubishi Electric Corp ノード装置および通信システム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076262A (ja) * 2009-09-29 2011-04-14 Hitachi Ltd 計算機システムおよびその方法
JP2014197266A (ja) * 2013-03-29 2014-10-16 富士通株式会社 情報処理システム,情報処理装置,情報処理装置の制御プログラム,及び情報処理システムの制御方法
JP2018106619A (ja) * 2016-12-28 2018-07-05 株式会社日立製作所 計算機システム
CN110959257A (zh) * 2017-07-28 2020-04-03 国际商业机器公司 用处理器核中本地检测回路降低或减轻芯片上电源噪声电压
JP2020529072A (ja) * 2017-07-28 2020-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減
JP7279013B2 (ja) 2017-07-28 2023-05-22 インターナショナル・ビジネス・マシーンズ・コーポレーション プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減
CN110959257B (zh) * 2017-07-28 2023-11-28 国际商业机器公司 用处理器核中本地检测回路降低或减轻芯片上电源噪声电压
CN109741054A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 交易数据处理方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
JP5176231B2 (ja) 2013-04-03

Similar Documents

Publication Publication Date Title
CN106331098B (zh) 一种服务器集群系统
US8892936B2 (en) Cluster wide consistent detection of interconnect failures
US7702667B2 (en) Methods and systems for validating accessibility and currency of replicated data
US6928589B1 (en) Node management in high-availability cluster
JP4648447B2 (ja) 障害復旧方法、プログラムおよび管理サーバ
JP5548829B2 (ja) 計算機システム、データ管理方法及びデータ管理プログラム
CN109845192B (zh) 动态地适配网络的计算机系统和方法及计算机可读介质
JP2011091464A (ja) ネットワーク構成の想定のための装置、システム
JP5176231B2 (ja) 計算機システム、計算機制御方法及び計算機制御プログラム
JP2011145823A (ja) 通信システム及びその障害検出方法
CN107968847A (zh) 高可用id生成器及其id生成方法和装置
KR20220052654A (ko) 메시지 전송 버스를 이용한 고가용성 배전 지능화 시스템 및 지능화 클러스터 시스템
CN112994935A (zh) prometheus管控方法、装置、设备及存储介质
CN111708668B (zh) 集群故障的处理方法、装置及电子设备
JP2015146165A (ja) 障害耐性信号処理装置および障害耐性信号処理方法
US8489721B1 (en) Method and apparatus for providing high availabilty to service groups within a datacenter
JP5446405B2 (ja) イベント検出制御方法及びシステム
Venâncio et al. VNF‐Consensus: A virtual network function for maintaining a consistent distributed software‐defined network control plane
JP6091376B2 (ja) クラスタシステムおよびSplit−BrainSyndrome検出方法
CN111309515B (zh) 一种容灾控制方法、装置及系统
CA2241861C (en) A scheme to perform event rollup
KR20200113995A (ko) 엣지 인공지능 서비스에 대한 고가용성 보장을 위한 삼중화 이상 다중화 구조 및 방법
JP2016015065A (ja) プロセス監視制御システム
JP6318902B2 (ja) 冗長システムおよび冗長化方法
CN113626252A (zh) 一种基于集群的城市级容灾方法、装置、电子设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

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: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

R150 Certificate of patent or registration of utility model

Ref document number: 5176231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150