JP6044434B2 - 情報処理システム,制御方法,および制御プログラム - Google Patents

情報処理システム,制御方法,および制御プログラム Download PDF

Info

Publication number
JP6044434B2
JP6044434B2 JP2013086343A JP2013086343A JP6044434B2 JP 6044434 B2 JP6044434 B2 JP 6044434B2 JP 2013086343 A JP2013086343 A JP 2013086343A JP 2013086343 A JP2013086343 A JP 2013086343A JP 6044434 B2 JP6044434 B2 JP 6044434B2
Authority
JP
Japan
Prior art keywords
server
information processing
information
state
terminal
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.)
Expired - Fee Related
Application number
JP2013086343A
Other languages
English (en)
Other versions
JP2014211674A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013086343A priority Critical patent/JP6044434B2/ja
Publication of JP2014211674A publication Critical patent/JP2014211674A/ja
Application granted granted Critical
Publication of JP6044434B2 publication Critical patent/JP6044434B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本件は、情報処理システム,制御方法,および制御プログラムに関する。
従来、冗長化された複数のサーバの各々が運用系又は待機系として機能し、運用系のサーバが制御対象の制御を行なう冗長サーバシステム(情報処理システム)が知られている。
図27は、冗長サーバシステム100の構成例を示す図であり、図28は、図27に示す0系サーバ300−1のアプリケーションに障害が発生した場合の運用切替処理の一例を説明する図である。
図27に示すように、冗長サーバシステム100は、Human Machine Interface(HMI)端末200−1及び200−2、0系サーバ300−1、1系サーバ300−2、通信ネットワーク400、並びにネットワーク500〜700をそなえる。以下、HMI端末200−1及び200−2を区別しない場合には、単にHMI端末200という。
HMI端末200は、ネットワーク500を介して、通信ネットワーク400に対する制御指示を0系サーバ300−1及び1系サーバ300−2に通知するものであり、0系サーバ300−1及び1系サーバ300−2に対するクライアントとして機能する。
通信ネットワーク400は、0系サーバ300−1及び1系サーバ300−2による制御対象である。通信ネットワーク400では、伝送装置であるGateway Network Element(GNE)400a−1及び400a−2、並びにNE400b−1及び400b−2が伝送路を通じてリング状に接続される。
NE400b−1及び400b−2は、それぞれ図示しない他のリングと接続され、他のリングから伝送されてきた情報を、GNE400a−1及び400a−2へのいずれかの経路へ選択的に送出(中継)する。GNE400a−1及び400a−2は、外部のネットワークからの情報をリング内へ送出する一方、リングを伝送される情報を外部のネットワークへ選択的に分岐させ送出する、アド/ドロップの機能を有する。また、GNE400a−1及び400a−2は、ネットワーク700を介して0系サーバ300−1及び1系サーバ300−2と接続される。
0系サーバ300−1及び1系サーバ300−2は、ネットワーク600を介して相互に通信可能に接続され、冗長化されたサーバである。0系サーバ300−1及び1系サーバ300−2は、ネットワーク700を介して通信ネットワーク400を制御(管理)する、クラスタ構成のOperation System(OpS)サーバ300として機能する。
また、0系サーバ300−1及び1系サーバ300−2は、それぞれ通信ネットワーク400の制御に用いる制御情報(例えばNE400b−1及び400b−2の設定情報)を格納する構成Database(DB)をそなえる(図示省略)。
運用系である0系サーバ300−1は、通信ネットワーク400の制御に応じて構成DBの更新を行なう。運用系により構成DBが変更されると、変更内容は、所定のタイミングで運用系から待機系である1系サーバ300−2に伝播して、運用系及び待機系間で同期が行なわれる。なお、通信ネットワーク400からOpSサーバ300へ通知される警報又はイベント等の情報は、運用系及び待機系の双方へ送信される(図27中、破線矢印F1参照)。従って、警報又はイベント等の情報に関する構成DBの変更内容の伝播は、行なわれない。
0系サーバ300−1は、運用系として機能し、通信ネットワーク400に対する制御を行なう。0系サーバ300−1は、例えば、GNE400a−1又は400a−2を介して、NE400b−1又は400b−2に、他のリングから伝送されてきた情報を転送する経路に関する情報を設定する(図27中、実線矢印F2参照)。
1系サーバ300−2は、待機系として機能し、通信ネットワーク400に対する制御は行なわず、ネットワーク600を介して、運用系が実行するアプリケーションに障害が発生したか否かを監視する。
図28に示す例では、1系サーバ300−2のアプリケーションは、運用系である0系サーバ300−1が実行するアプリケーションに異常が発生すると(図28中(i)参照)、定期的な監視(図28中(ii)参照)によって、この異常を検出する。
そして、1系サーバ300−2は、0系サーバ300−1のアプリケーションに、構成DB内の運用状態を運用系から待機系に変更する指示を送出する(図28中(iii)参照)。その後、1系サーバ300−2は、自系サーバの構成DB内の運用状態を待機系から運用系に変更する(図28中(iv)参照)。なお、上述のように、0系サーバ300−1の構成DBの内容は、1系サーバ300−2の構成DBに伝播される。
なお、運用状態の切り替えにおいて、先に0系サーバ300−1の運用状態を待機系に切り替えるのは、同時に2つの系が運用系になることにより、冗長サーバシステム100(通信ネットワーク400)に以下のような影響が生じることを避けるためである。つまり、同時に2つの系が運用系になると、2つの系がNE400b−1及び400b−2を制御可能になり、予期せぬ制御が行なわれる虞がある。また、2つの系がそれぞれ有する構成DBが個別に変更/削除等されることにより、制御情報の整合性が崩れる虞がある。従って、待機系である1系サーバ300−2は、先に0系サーバ300−1の運用状態を待機系に切り替える。
以上の処理により、運用系のアプリケーション障害の発生に伴うOpSサーバ300における運用状態の切り替えが完了する。
なお、ネットワーク500、600、及び700は、例えばTransmission Control Protocol / Internet Protocol(TCP/IP)等のネットワークである。
特開平1−195544号公報 特開平10−23074号公報 特開2004−302512号公報
図29は、図27に示す0系サーバ300−1又は系間のネットワーク600において障害が発生した場合の例を説明する図である。
図29に示すように、OpSサーバ300では、0系サーバ300−1においてOperating System(OS)の異常又はHardware(HW;ハードウェア)の故障が発生する場合がある(図29中(i’)参照)。又は、OpSサーバ300では、系間のネットワーク600に通信異常が発生する場合がある(図29中(i”)参照)。
図29に示すような異常又は故障が発生すると、待機系である1系サーバ300−2からのアプリケーションの監視において、0系サーバ300−1は応答を返さない。
しかしながら、1系サーバ300−2は、0系サーバ300−1が応答を返さない場合に、0系サーバ300−1のアプリケーション異常が原因であると判断し、運用切替処理を実施してしまう場合がある。
0系サーバ300−1が応答を返さない原因がOS又はハードウェアの障害である場合、0系サーバ300−1は、通信ネットワーク400の制御を行なうことが困難であると考えられる。従って、1系サーバ300−2が運用系に切り替わっても、2つの系が運用系になることによる上述した影響(NE400b−1及び400b−2への予期せぬ制御、及び、2つの系の構成DB間の整合性崩壊)が通信ネットワーク400に生じる可能性は低い。
一方、0系サーバ300−1が応答を返さない原因が系間のネットワーク600の通信異常である場合、0系サーバ300−1は、0系サーバ300−1自体は正常であり、通信ネットワーク400の制御を行なうことができる可能性が高い。従って、1系サーバ300−2が運用系に切り替わり、2つの系が運用系になると、上述した影響が通信ネットワーク400に生じ得る。
このように、冗長サーバシステム100では、系間のネットワーク600で通信障害が発生した場合に、0系サーバ300−1及び1系サーバ300−2の双方が運用系になると、通信ネットワーク400の制御(運用又は保守等)が困難になるという課題がある。
なお、ここまで、制御対象が通信ネットワーク400であるものとして説明したが、これに限定されるものではない。上述した課題は、制御対象が、冗長化された複数の情報処理装置のうちの一の情報処理装置による所定の処理によって制御される種々のシステム(装置又は/及びネットワーク)である場合にも、同様に生じ得る。
1つの側面では、本発明は、相互に通信可能に接続され冗長化された複数の装置(情報処理装置)をそなえ、一の装置が所定の処理を行なう情報処理システムにおいて、装置間で通信障害が発生した場合に、複数の装置が所定の処理を行なうことを抑止することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件の情報処理システムは、相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置と、前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置と、をそなえた情報処理システムであって、前記端末装置は、前記複数の情報処理装置の各々から、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を取得する取得部と、前記複数の情報処理装置の各々に、他の情報処理装置から取得した状態情報を通知する通知部と、をそなえ、前記複数の情報処理装置の各々は、自装置が保持する状態情報と前記端末装置から通知された他の情報処理装置の状態情報とに基づいて、前記自装置が前記所定の処理を行なうか否かを判定する判定部をそなえる。
一実施形態によれば、相互に通信可能に接続され冗長化された複数の装置(情報処理装置)をそなえ、一の装置が所定の処理を行なう情報処理システムにおいて、装置間で通信障害が発生した場合に、複数の装置が所定の処理を行なうことを抑止することができる。
一実施形態に係る冗長サーバシステムの構成例を示す図である。 図1に示すHMI端末及びOpSサーバのハードウェア構成例を示す図である。 図1に示すHMI端末の構成例を示す図である。 図1に示すOpSサーバの構成例を示す図である。 図1に示すHMI端末及びOpSサーバが保持する運用切替判断テーブルの一例を示す図である。 図1に示すOpSサーバが保持する運用切替判断基準の一例を示す図である。 図1に示すOpSサーバが保持するログイン情報の一例を示す図である。 図1に示すHMI端末及びOpSサーバの全体の処理を説明するフローチャートである。 図1に示すHMI端末及びOpSサーバの全体の処理を説明するフローチャートである。 図1に示すHMI端末によるログイン処理を説明するフローチャートである。 図1に示すHMI端末によるヘルスチェック処理を説明するフローチャートである。 図1に示すOpSサーバによるヘルスチェックの受信確認処理を説明するフローチャートである。 図1に示すOpSサーバによるヘルスチェックの受信確認処理を説明するフローチャートである。 図1に示すOpSサーバによる運用切替判断テーブルの更新処理を説明するフローチャートである。 一実施形態の第1実施例に係る冗長サーバシステムにおいて、系間のネットワークの通信異常及び0系サーバのハードウェア故障が発生した場合の例を示す図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 図15に示す例における運用切替判断テーブルの変化を説明する図である。 一実施形態の第2実施例に係る冗長サーバシステムにおいて、系間のネットワークの通信異常及びHMI端末−0系サーバ間の通信異常が発生した場合の例を示す図である。 図23に示す例における運用切替判断テーブルの変化を説明する図である。 図23に示す例における運用切替判断テーブルの変化を説明する図である。 図23に示す例における運用切替判断テーブルの変化を説明する図である。 冗長サーバシステムの構成例を示す図である。 図27に示す0系サーバのアプリケーションに障害が発生した場合の運用切替処理の一例を説明する図である。 図27に示す0系サーバ又は系間のネットワークにおいて障害が発生した場合の例を説明する図である。
以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1−1〕冗長サーバシステムについて
図1は、一実施形態に係る冗長サーバシステム(情報処理システム)1の構成例を示す図である。図1に示すように、一実施形態に係る冗長サーバシステム1は、1以上(例えば2つ)のHMI端末2−1及び2−2、複数(例えば2つ)のサーバとしての0系サーバ3−1及び1系サーバ3−2、通信ネットワーク4、並びにネットワーク5〜7をそなえる。以下、HMI端末2−1及び2−2を区別しない場合には、単にHMI端末2といい、0系サーバ3−1及び1系サーバ3−2を区別しない場合には、単にサーバ3という。
HMI端末(端末装置)2は、ネットワーク5を介して、通信ネットワーク4に対する制御指示をサーバ3に通知するものであり、サーバ3に対するクライアントとして機能する。
また、HMI端末2は、0系サーバ3−1及び1系サーバ3−2のうちの少なくとも一つのサーバ3へログイン(接続処理)を行ない、ログインが完了したログイン済みのサーバ3の制御及び監視を行なう。例えば、HMI端末2は、運用系のサーバ3が実行する所定の処理の制御や、オペレータ(監視者)による運用系又は待機系のサーバ3の監視を、対象となるサーバ3にログインを行なった上で実行する。
なお、HMI端末2としては、Personal Computer(PC)やサーバ等の情報処理装置が挙げられる。
通信ネットワーク4は、0系サーバ3−1及び1系サーバ3−2による制御対象であり、図27に示す通信ネットワーク400と同様に、伝送装置であるGNE4a−1及び4a−2、並びにNE4b−1及び4b−2が伝送路を通じてリング状に接続される。なお、以下、GNE4a−1及び4a−2を区別しない場合には、単にGNE4aといい、NE4b−1及び4b−2を区別しない場合には、単にNE4bという。
NE4b−1及び4b−2は、それぞれ図示しない他のリングと接続され、他のリングから伝送されてきた情報を、GNE4a−1及び4a−2へのいずれかの経路へ選択的に送出(中継)する。GNE4a−1及び4a−2は、外部のネットワークからの情報をリング内へ送出する一方、リングを伝送される情報を外部のネットワークへ選択的に分岐させ送出する、アド/ドロップの機能を有する。また、GNE4aは、ネットワーク7を介して0系サーバ3−1及び1系サーバ3−2と接続される。
なお、通信ネットワーク4としては、種々の伝送方式による、電気信号又は光信号等の通信網、又は、電話回線網等の伝送システムが挙げられる。また、制御対象は通信ネットワーク4に限定されるものではなく、制御対象としては、サーバ3のうちの一のサーバ3による所定の処理によって制御される種々のシステムであればよい。
0系サーバ3−1及び1系サーバ3−2は、ネットワーク6を介して相互に通信可能に接続され、冗長化されたサーバである。0系サーバ3−1及び1系サーバ3−2は、ネットワーク7を介して通信ネットワーク4を制御(管理)する、クラスタ構成のOpSサーバ300として機能する。なお、0系サーバ3−1及び1系サーバ3−2としては、それぞれ、情報処理装置が挙げられる。以下、サーバ3をOpSサーバ3という場合もある。
0系サーバ3−1は、運用系として機能し、通信ネットワーク4に対する制御を行なう。0系サーバ3−1は、例えば、図27に示す0系サーバ300−1と同様に、GNE4a−1又は4a−2を介して、NE4b−1又は4b−2に、他のリングから伝送されてきた情報を転送する経路に関する情報を設定する。
1系サーバ3−2は、待機系として機能し、自系サーバ(自装置)が待機系の場合には、通信ネットワーク4に対する制御の実行を抑止する。
また、本実施形態に係るOpSサーバ3は、運用系及び待機系に係わらずHMI端末2を介して相互に監視を行なう。
〔1−2〕全体の動作について
本実施形態に係る冗長サーバシステム1は、以下の(1)〜(3)に示す処理を行なうことで、OpSサーバ3による相互監視を実現する。
(1) HMI端末2が、複数のサーバ3の各々から、サーバ3に係るログイン済みのHMI端末2の数を含む状態情報を取得する。
(2) HMI端末2が、複数のサーバ3の各々に、他系サーバ(他のサーバ)3から取得した状態情報を通知する。
(3) 複数のサーバ3の各々が、自系サーバ(自装置)3が保持する状態情報とHMI端末2から通知された他系サーバ3の状態情報とに基づいて、自装置が所定の処理を行なうか否かを判定する。
なお、上記(1)及び(2)の処理は、処理順序を入れ替えてもよい。
上述した(1)〜(3)の処理により、複数のサーバ3の各々は、冗長化されたサーバ3のネットワーク6が不通の場合も、サーバ3とHMI端末2との間のネットワーク5を経由して、各サーバ3へのHMI端末2のログイン数を通知される。従って、各サーバ3は、自系サーバ及び他系サーバ3におけるHMI端末2のログイン数に基づき、複数のサーバ3のうちのいずれのサーバ3が所定の処理を行なうか否かを、容易に判定することができる。つまり、複数のサーバ3の各々は、自律的に自系サーバが運用系であるか否かを判断することができる。
従って、本実施形態に係る冗長サーバシステム1によれば、複数のサーバ3間の通信の障害時においても、複数のサーバ3が同時に所定の処理を行なうことを回避できる。
〔1−3〕HMI端末及びOpSサーバのハードウェア構成
次に、図2を参照して、HMI端末2及びOpSサーバ3のハードウェア構成を説明する。図2は、図1に示すHMI端末2及びOpSサーバ3のハードウェア構成を示す図である。
HMI端末2及びOpSサーバ3は、図2に示すように、CPU10a及び10b、メモリ11a及び11b、記憶部12a及び12b、インタフェース13a及び13b、並びに入出力部14a及び14bをそなえる。また、HMI端末2及びOpSサーバ3は、図2に示すように、記録媒体15a及び15b、並びに読取部16a及び16bをさらにそなえる。なお、各ハードウェアの符号の末尾に付されたアルファベットは、“a”がHMI端末2に、“b”がOpSサーバ3に、それぞれ対応する。例えば、HMI端末2は、CPU10a、メモリ11a、記憶部12a、インタフェース13a、入出力部14a、記録媒体15a、及び読取部16aをそなえる。
CPU10a及び10bは、それぞれ、対応するメモリ11a及び11b〜読取部16a及び16bと接続され、種々の制御や演算を行なう処理装置(プロセッサ)である。CPU10a又は10bは、メモリ11a又は11b、記録媒体15a又は15b、又は図示しないRead Only Memory(ROM)等に格納されたプログラムを実行することにより、HMI端末2又はOpSサーバ3における種々の機能を実現する。なお、CPU10a及び10bに限らず、プロセッサとしては、Application Specific Integrated Circuit(ASIC)やField Programmable Gate Array(FPGA)等の集積回路、Micro Processing Unit(MPU)等の電子回路が用いられてもよい。
メモリ11a及び11bは、種々のデータやプログラムを一時的に格納する記憶装置であって、CPU10a及び10bがプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ11a及び11bとしては、例えばRandom Access Memory(RAM)等の揮発性メモリが挙げられる。
記憶部12a及び12bは、種々のデータやプログラム等を格納するハードウェアである。記憶部12a及び12bとしては、例えばHard Disk Drive(HDD)等の磁気ディスク装置、Solid State Drive(SSD)等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。
インタフェース13a及び13bは、有線又は無線による、HMI端末2−OpSサーバ3間(ネットワーク5)、2つのOpSサーバ3間(ネットワーク6)、又はOpSサーバ3−通信ネットワーク4間(ネットワーク7)の接続及び通信の制御を行なう。インタフェース13a及び13bとしては、Local Area Network(LAN)カード等のネットワークコントローラが挙げられる。
入出力部14a及び14bは、例えばマウスやキーボード等の入力装置、及びディスプレイやプリンタ等の出力装置の少なくとも一方を含むものである。入出力部14a及び14bは、入力装置によりHMI端末2及びOpSサーバ3のオペレータ(管理者)の操作等による動作命令を受け付ける一方、HMI端末2及びOpSサーバ3による監視結果等の処理結果を出力装置に表示(出力)する。
記録媒体15a及び15bは、フラッシュメモリやROM等の記憶装置であり、種々のデータやプログラムを記録する。読取部16a及び16bは、光ディスクやUniversal Serial Bus(USB)メモリ等のコンピュータ読取可能な記録媒体17a及び17bに記録されたデータやプログラムを読み出す装置である。
記録媒体15a及び17aの少なくとも一方には、本実施形態に係るHMI端末2の機能を実現する制御プログラムが格納されてもよく、記録媒体15b及び17bの少なくとも一方には、OpSサーバ3の機能を実現する制御プログラムが格納されてもよい。例えば、CPU10a(10b)は、記録媒体15a(15b)、又は読取部16a(16b)を介して記録媒体17a(17b)から入力された制御プログラムを、メモリ11a(11b)等の記憶装置に展開して実行する。これにより、CPU10a(10b)は、HMI端末2(OpSサーバ3)の機能を実現する。
なお、上述した各ハードウェアは、互いにバスで通信可能に接続される。
また、ネットワーク5〜7としては、例えばTCP/IPネットワーク等のネットワークが挙げられ、専用回線又はインターネット等の公衆回線(公共ネットワーク)とすることができる。なお、ネットワーク5は、後述する理由により、インターネット等の公衆回線(公共ネットワーク)であることが好ましい。
さらに、HMI端末2、OpSサーバ3、及び通信ネットワーク4と、各ネットワーク5〜7との間の接続は、それぞれケーブルによる有線接続及び無線接続のいずれの態様で接続されてもよい。有線接続のケーブルとしては、LANケーブル、InfiniBand(インフィニバンド(登録商標))等のケーブル、又はFibre Channel(ファイバチャネル)のファイバケーブル等のシリアルケーブルが例として挙げられる。また、無線接続としては、無線LAN、又はBluetooth(登録商標)等が例として挙げられる。なお、OpSサーバ3間の接続は、ネットワーク6に代えて、上述したケーブルによる有線接続及び無線接続のいずれかの態様の接続としてもよい。
なお、HMI端末2及びOpSサーバ3の上述したハードウェア構成は例示である。従って、個々のHMI端末2及びOpSサーバ3内でのハードウェアの増減や分割、HMI端末2及びOpSサーバ3の任意の組み合わせでの統合等は、適宜行なわれてもよい。
〔1−4〕HMI端末の説明
次に、図3を参照して、HMI端末2の詳細を説明する。図3は、図1に示すHMI端末2の構成例を示す図である。
図3に示すように、HMI端末2は、OpSサーバ側通信部21、ヘルスチェック部22、ログイン/ログオフ処理部23、ログイン状態通知部24、及び保持部25をそなえる。
OpSサーバ側通信部21は、OpSサーバ3との通信を行なう。具体的には、OpSサーバ側通信部21は、OpSサーバ3に対する要求送信、OpSサーバ3からの応答受信、及びOpSサーバ3からの制御結果等のイベントの受信等を行なう。OpSサーバ側通信部21は、図2に示すインタフェース13aにより実現される。
ヘルスチェック部22は、運用系及び待機系のそれぞれのサーバ3に対して定期的に疎通確認のコマンドを送信するものであり、通知部22a及び第1取得部22bをそなえる。
通知部22aは、複数のサーバ3の各々に、他系サーバ3から取得した、当該他系サーバ3に係る状態情報を通知する。
第1取得部(取得部)22bは、複数のサーバ3の各々から、当該サーバ3に係る状態情報を取得する。
ここで、状態情報は、例えば、サーバ3に係るログイン済みのHMI端末2の数と、当該サーバ3の動作状態とを含む。
動作状態の例としては、サーバ3が所定の処理を行なうサーバ3である(運用系である)ことを示す“運用”(第1状態)、及び、サーバ3が待機を行なうサーバ3である(待機系である)ことを示す“待機”(第2状態)が挙げられる。また、動作状態の他の例としては、サーバ3に障害が発生したことを示す“不明”(第3状態)が挙げられる。
また、複数のサーバ3に係る状態情報は、保持部25の運用切替判断テーブル25aに設定される。なお、運用切替判断テーブル25aの詳細については、後述する。
通知部22aは、アクセス先のサーバ3に通知する、アクセス先のサーバ3以外の他系サーバ3に係る状態情報を、運用切替判断テーブル25aから取得する。
ヘルスチェック部22は、第1所定時間ごとに、通知部22aによる他系サーバ3に係る状態情報と、第1取得部22bによるサーバ3への状態情報の取得要求とを含むコマンドを、アクセス先のサーバ3へ疎通確認(ヘルスチェック)として出力する。
ヘルスチェック部22からの上述した疎通確認のコマンドは、OpSサーバ側通信部21を介してアクセス先のOpSサーバ3へ送信される。また、OpSサーバ3からの疎通確認のコマンドへの応答は、OpSサーバ側通信部21を介してヘルスチェック部22により受信される。
OpSサーバ3から応答を受け取ると、第1取得部22bは、受信した応答に含まれる状態情報を、運用切替判断テーブル25aにOpSサーバ3と対応付けて設定し、運用切替判断テーブル25aを更新する。
各OpSサーバ3において自律的な運用切替の判断に用いられる運用切替判断テーブル25aは、ヘルスチェック部22による上述した処理(ヘルスチェック処理)により、HMI端末2を介して相互に更新される。
また、上述の如く、HMI端末2は、1以上、例えば複数そなえられてもよい。HMI端末2の数が多くなると、HMI端末2の冗長度が高まる。従って、仮にあるHMI端末2とサーバ3との間に通信障害が発生したとしても、他のHMI端末2からサーバ3に対するヘルスチェック処理を行なうことができ、OpSサーバ3において運用切替の判断処理が妨げられる可能性を低減させることができる。
なお、HMI端末2−OpSサーバ3間の接続は、上述のように、インターネット等の公衆回線であることが好ましい。例えば、OpSサーバ3間の接続(ネットワーク6)を冗長化する等の手法によっても、ネットワーク6の障害がOpSサーバ3間の運用切替処理に与える影響を低減させることができる。しかし、ネットワーク6が専用回線である場合には、ネットワーク6の冗長化に伴う設備費用が発生する。これに対し、HMI端末2及び公衆回線のネットワーク5を介して、OpSサーバ3間のヘルスチェックが行なわれることにより、既存の設備を用いて、ネットワーク6の障害がOpSサーバ3間の運用切替処理に与える影響を低減させることができる。
ログイン/ログオフ処理部23は、OpSサーバ側通信部21を介して、各サーバ3へのログイン又はログオフ処理を行なう。
具体的には、ログイン/ログオフ処理部23は、HMI端末2が運用系のサーバ3の制御を行なう場合、又は、運用系又は待機系のサーバの監視を行なう場合に、対象となるサーバ3との間でログイン処理(接続処理)を行なう。なお、ログイン処理においては、HMI端末2は、OpSサーバ3へ送信されるログイン要求に、HMI端末2の識別IDやIPアドレス等のHMI端末2を識別可能な情報を含める。HMI端末2は、ログイン/ログオフ処理部23によるログイン処理によって取得した所定の資格情報を用いて、対象のサーバ3の制御又は監視を行なう。
また、ログイン/ログオフ処理部23によるログイン処理において、ログイン先のサーバ3は、ログイン要求の応答に、自系サーバ3に係る状態情報を含め、HMI端末2へ送信する。ログイン応答に含まれる状態情報は、ヘルスチェック部22により、運用切替判断テーブル25aに設定される。
さらに、ログイン/ログオフ処理部23は、運用系のサーバ3の制御や各サーバ3の監視を終了する際に、ログイン中のサーバ3との間でログオフ処理を行ない、所定の資格情報を破棄する。
なお、上述したヘルスチェック部22によるヘルスチェック処理は、アクセス先のサーバ3へログイン済みか否かに係わらず、実行される。
ログイン状態通知部24は、各サーバ3に対するログイン状態の変化を、運用系及び待機系の双方のサーバ3へ通知する。
例えば、ログイン状態通知部24は、ログイン/ログオフ処理部23によるログイン処理が完了すると、ログイン先のサーバ3以外の他系サーバ3に対して、ログイン処理の完了を通知する。なお、ログイン状態通知部24は、他系サーバ3への通知に、ログイン先のサーバ3から受信したログイン応答に含まれる状態情報を含める。
また、ログイン状態通知部24は、ログイン/ログオフ処理部23によるログオフ処理が完了すると、ログオフをしたサーバ3以外の他系サーバ3に対して、ログオフ処理の完了を通知する。
保持部25は、後述する運用切替判断テーブル25a(図5参照)を保持する記憶部である。保持部25は、メモリ11a又は記憶部12a等により実現される。
なお、上述したHMI端末2の動作は、CPU10aが制御プログラムをメモリ11aに展開して実行することにより実現される。
〔1−5〕OpSサーバの構成例
次に、図4〜図6を参照して、OpSサーバ3の構成例を説明する。図4は、図1に示すOpSサーバ3の構成例を示す図である。図5は、図1に示すHMI端末2及びOpSサーバ3が保持する運用切替判断テーブル25a及び35aの一例を示す図であり、図6は、OpSサーバ3が保持する運用切替判断基準35bの一例を示す図である。
図4に示すように、OpSサーバ3は、HMI端末側通信部31、コマンド処理部32、通信ネットワーク側通信部33、DBアクセス部34、及びデータベース部35をそなえる。また、OpSサーバ3は、運用状態判定部36、他系AP(アプリケーション)状態監視部37、及び他系サーバ側通信部38をさらにそなえる。
HMI端末側通信部31は、HMI端末2との通信を行なう。具体的には、HMI端末2は、HMI端末2からの要求受信、HMI端末2に対する応答送信、及びHMI端末2へのイベントの通知等を行なう。
コマンド処理部(設定部)32は、HMI端末2からの要求、及び、通信ネットワーク4からの応答に対する処理を行なう。
具体的には、コマンド処理部32は、HMI端末2からの要求を解析し、通信ネットワーク4のNE4bに対する要求(制御要求)を生成し、通信ネットワーク側通信部33へ出力する。また、コマンド処理部32は、通信ネットワーク4のNE4bからの応答(制御応答)を受信し、HMI端末2への応答を生成し、HMI端末2へ出力する。
また、コマンド処理部32は、制御情報を格納するデータベース部35に対する、通信ネットワーク4の制御(要求及び応答)に応じたデータの格納又は参照等を行なう。
さらに、コマンド処理部32は、HMI端末2からの要求に応じて、データベース部35が保持する運用切替判断テーブル35aの更新又は参照等を行なう。
具体的には、コマンド処理部32は、ログイン/ログオフ処理部23によるログイン処理において、ログイン又はログオフが行なわれると、運用切替判断テーブル35aの自系サーバ3に係るログイン済みのHMI端末2の数を1増加又は1減少させる。
また、コマンド処理部32は、ログイン処理において、運用切替判断テーブル35aの自系サーバ3に係る状態情報を参照し、ログイン要求の応答に、自系サーバ3にログインしているHMI端末2の数及び自系サーバ3の運用状態を含めて、HMI端末2へ送信する。
なお、コマンド処理部32は、HMI端末2との間でログイン処理が行なわれると、当該HMI端末2を特定する情報を、データベース部35のログイン情報35cに設定し、ログオフ処理が行なわれると、当該情報を、ログイン情報35cから削除する。
また、HMI端末2の障害やHMI端末2とネットワーク5との間の通信障害等により、ログオフ処理が行なわれずにHMI端末2がOpSサーバ3にアクセスできなくなる場合がある。そこで、コマンド処理部32は、自系サーバ3に係るログイン済みのHMI端末2から、ヘルスチェック処理の実行周期である第1所定時間よりも長い第2所定時間の間、アクセスがなかった場合にも、当該HMI端末2を特定する情報を、ログイン情報35cから削除する。また、コマンド処理部32は、運用切替判断テーブル35aの自系サーバ3に係る状態情報に含まれるログイン済みのHMI端末2の数を1減少させる。
なお、コマンド処理部32は、自系サーバ3との間でログイン処理が行なわれていない(未ログインの)HMI端末2から、第2所定時間の間、ヘルスチェックによるアクセスがなかった場合、当該HMI端末2との間でログイン済みの他系サーバ3を特定する。例えば、コマンド処理部32は、サーバ3が2つである場合、ログイン情報35cを参照して自系サーバ3にログインしていないHMI端末2は、他系サーバ3にログイン済みと判断する。そして、コマンド処理部32は、運用切替判断テーブル35aの他系サーバ3に係る状態情報に含まれるログイン済みのHMI端末2の数を1減少させる。
ここで、コマンド処理部32は、他系サーバ3に係る状態情報に含まれるログイン済みのHMI端末2の数を1減少させても、HMI端末2による定期的なヘルスチェック処理によって、受信する他系サーバ3に係る状態情報により上書きされる。しかし、OpSサーバ3では、運用切替の正確な判断のため、できるだけ運用切替判断テーブル35aを最新の状態にしておくことが好ましい。従って、コマンド処理部32は、他系サーバ3に係る状態情報に含まれるログイン済みのHMI端末2の数が1減少したと認識すると、運用切替判断テーブル35aの更新を行なうのである。
また、コマンド処理部32は、ヘルスチェック部22によるヘルスチェック処理において、通知部22aから受信した他系サーバ3に係る状態情報を、運用切替判断テーブル35aへ設定する。なお、通知部22aから受信した他系サーバ3に係る状態情報には、他系サーバ3に係るログイン済みのHMI端末2の数及び他系サーバ3の運用状態が含まれる。
さらに、コマンド処理部32は、ヘルスチェック処理において、OpSサーバ3からの疎通確認のコマンドへの応答に、自系サーバ3にログインしているHMI端末2の数及び自系サーバ3の運用状態を含めて、HMI端末2へ送信する。
以上のように、コマンド処理部32は、HMI端末2からの要求に応じて運用切替判断テーブル35aの更新等を行なうことで、OpSサーバ3における運用切替の判断に用いられる運用切替判断テーブル35aを、最新の状態に維持することができる。これにより、後述する運用状態判定部38は、最新の運用切替判断テーブル35aを用いて運用切替の有無を判断することができ、0系サーバ3−1及び1系サーバ3−2が両系とも運用系になることを防止できる。
通信ネットワーク側通信部33は、通信ネットワーク4との通信を行なう。具体的には、通信ネットワーク側通信部33は、NE4bへの要求送信、及び、NE4bからの応答受信等を行なう。また、通信ネットワーク側通信部33は、通信ネットワーク4から運用系及び待機系の双方へ通知される警報又はイベント等の情報を受信する。
DBアクセス部34は、データベース部35へのデータの格納又は参照等を行なうものであり、コマンド処理部32又は運用状態判定部36からの要求に応じて、データベース部35が保持する制御情報、運用切替判断テーブル35a、又は運用切替判断基準35bの更新又は参照等を行なう。
データベース部(格納部)35は、種々のデータを格納するものであり、通信ネットワーク4の制御情報(例えばNE4bの設定情報)のほか、運用切替判断テーブル35a、運用切替判断基準35b、及びログイン情報35cを格納する。データベース部35は、メモリ11b又は記憶部12b等により実現される。
ここで、図5及び図7を参照して、運用切替判断テーブル25a及び35a、並びに、ログイン情報35cについて説明する。なお、図6に示す運用切替判断基準35bについては後述する。
運用切替判断テーブル25a及び35aは、複数のOpSサーバ3の各々において、自系サーバ3が運用系になるか否かを判断するために用いられる情報である。例えば、HMI端末2が保持する運用切替判断テーブル25aには、ヘルスチェック処理及びログイン/ログオフ処理により取得した各サーバ3の状態情報が含まれる。また、0系サーバ3−1が保持する運用切替判断テーブル35aには、自系サーバ3で更新した自系サーバ3の状態情報と、HMI端末2から通知された1系サーバ3−2の状態情報とが含まれる。
図5に例示するように、運用切替判断テーブル25a及び35aは、項目名として、系情報、0系及び1系のそれぞれの運用状態、並びに、自系及び他系のそれぞれのサーバ3へのHMI端末2のログイン数を含む。
系情報は、自系サーバ3が系及び1系のいずれであるかを示す情報であり、“0系”又は“1系”が設定される。
0系運用状態及び1系運用状態(動作状態)は、それぞれ、0系及び1系のサーバ3の運用状態を示す状態であり、“運用”、“待機”、又は、“不明”が設定される。
自系サーバログイン数及び他系サーバログイン数(ログイン数)は、それぞれ、自系及び他系のサーバにログインしているHMI端末2の数を示す情報であり、“0”以上の整数が設定される。
なお、HMI端末2は、各サーバ3から受信した状態情報を、1つの運用切替判断テーブル25aで管理してもよいし、サーバ3ごとの運用切替判断テーブル25aで管理してもよい。
1つの運用切替判断テーブル25aで管理する場合、HMI端末2は、各サーバから受信した状態情報を、1つの運用切替判断テーブル25aに設定する。この場合、運用切替判断テーブル25aはサーバ3間で共通となるため、系情報は省略してもよい。
なお、運用切替判断テーブル25aはヘルスチェック部22により、運用切替判断テーブル35aはコマンド処理部32又は運用状態判定部36により、それぞれ更新され、最新の状態に保たれる。
ログイン情報(接続情報)35cは、自系サーバ3にログイン済みのHMI端末2を特定する情報を含む。
図7に例示するように、ログイン情報35cは、ログイン済みのHMI端末2を識別する情報の一例として、HMI端末2のIDを含む。なお、ログイン情報35cには、ログイン日時等の情報が含まれてもよい。
図4の説明に戻り、他系サーバ側通信部36は、他系のサーバ3との通信を行なう。具体的には、他系サーバ側通信部36は、他系サーバ3のアプリケーションの状態監視に係る要求の送受信等を行なう。また、運用系のサーバ3側における他系サーバ側通信部36は、データベース部35内の制御情報が更新されると、変更内容を、所定のタイミングで他系サーバ3に送信し、運用系及び待機系間で制御情報の同期を行なう。
他系AP状態監視部37は、他系サーバ側通信部36を介して、他系サーバ3に対してアプリケーションが正常に動作しているか否かを、系間のネットワーク6の通信状態を含めて定期的に監視する。具体的には、他系AP状態監視部37は、定期的に、他系サーバ3に対して他系AP状態の監視要求を送信する。また、他系AP状態監視部37は、他系サーバ3から監視要求を受信すると、自系サーバ3のアプリケーションの起動状態を確認し、起動有無を応答として他系サーバ3へ送信する。
運用状態判定部(判定部)38は、運用切替判断テーブル35aの情報と、他系AP状態監視部37による他系サーバ3のアプリケーションの監視結果とに基づいて、自系サーバ3の運用状態を切り替えるか否かを、第3所定時間ごとに判断する。なお、第3所定時間は、任意の時間とすることができる。例えば、第3所定時間は、ヘルスチェック処理の実行周期と同程度としてもよいし、それよりも短い又は長い時間であってもよい。
ここで、運用状態判定部38による、運用切替の判断処理を、図6に示す運用切替判断基準35bとともに説明する。
運用切替判断基準35bは、複数のOpSサーバ3の各々において、運用切替判断テーブル35aの更新の際に運用状態判定部38により参照される情報である。なお、複数のサーバ3には、それぞれ同一の運用切替判断基準35bが格納される。
図6に例示するように、運用切替判断基準35bは、0系及び1系の運用状態、並びに、HMI端末2のログイン数に対応付けて、運用切替を行なうか否かを示す情報が設定される。
運用状態判定部38は、運用切替判断テーブル35aを参照し、複数のサーバ3の運用状態が“運用”であると判断した場合、運用状態が“運用”であるサーバ3の中から、ログイン済みのHMI端末2の数に基づいて、運用状態を切り替える。
例えば、運用状態判定部38は、図6のA1に示すように、運用状態が“運用”である0系サーバ3−1及び1系サーバ3−2のうち、いずれか一方のサーバ3みがログイン数1以上である場合、当該一方のサーバ3が“運用”であると判定する。また、運用状態判定部38は、他系サーバ3が“待機”であると判定する。
また、運用状態判定部38は、図6のA2に示すように、運用状態が“運用”である0系サーバ3−1及び1系サーバ3−2の双方がログイン数1以上である場合、予め定めたサーバ3(例えば0系サーバ3−1)が“運用”であると判定する。また、運用状態判定部38は、1系サーバ3−2が“待機”であると判定する。
そして、運用状態判定部38は、判定した0系及び1系運用状態を運用切替判断テーブル35aに設定し、更新後の運用切替判断テーブル35aに基づいて、自系サーバ3が運用系であるか否かを判定する。
また、OpSサーバ3が実行する通信ネットワーク4の制御用のアプリケーションは、運用状態判定部38による判定結果に従って、自系サーバ3を運用系又は待機系として動作させる。
このように、運用状態とログイン済みのHMI端末2の数とに基づく運用切替により、OpSサーバ3は、運用状態が“運用”のサーバ3が複数存在する状態でも、運用状態が“運用”のサーバ3を1つに修正(復旧)することができる。
例えば、冗長サーバシステム1において、サーバ3の系間のネットワーク6に通信異常、且つ、HMI端末2とサーバ3との間に通信異常が発生した場合、オペレータ等により、待機系のサーバ3が運用系に切り替えられ、結果的に複数のサーバ3が運用系になる場合がある。この場合においても、各サーバ3は、通信異常の復旧後に、ヘルスチェック処理により互いに相手サーバ3も運用系であることを認識すると、上述した運用切替により、自律的に正常状態(一方が運用系、残りが待機系)に遷移することができる。なお、全てのHMI端末2とサーバ3との間に通信異常が発生した場合でも、同様の効果を奏することができる。
ところで、図29に示す例では、運用切替の有無の判断及び切替処理は、図28に示すように1系サーバ300−2により自律的に行なわれるのではなく、HMI端末200を介してオペレータ(管理者)により手動で行なわれる。しかしながら、運用切替処理がオペレータにより手動で行なわれる場合、1系サーバ300−2により行なわれる場合と比べ、新たな運用系が動作可能になるまでに時間がかかる。NE400b−1又は400b−2に対する制御は、運用系により行なわれるため、新たな運用系が動作可能になるまでは、通信ネットワーク400内のNE400b−1又は400b−2等に対する運用又は保守等の制御が制限されることになる。
これに対し、上述した運用状態とログイン済みのHMI端末2の数とに基づく運用切替によれば、運用切替が各サーバ3により自律的に行なわれるため、図29に示す例と比べ、通信ネットワーク4の制御に係る不都合を抑制することができる。
なお、運用状態判定部38は、運用状態が“運用”である0系サーバ3−1及び1系サーバ3−2の双方がログイン数1以上である場合、ログイン数が多い方のサーバ3が“運用”であると判定してもよい。
また、運用状態判定部38は、運用状態が“運用”であるか否かに係わらず、自系サーバ3にログイン済みのHMI端末2の数と他系サーバ3にログイン済みのHMI端末2の数とに基づいて、自系サーバ3が運用系であるか否かを判定する。この判定は、他系AP状態監視部37により、他系サーバ3のアプリケーション障害又はネットワーク6の不通(通信障害を含む)が発生したことが検出されたときに行なわれることが好ましい。
具体的には、運用状態判定部38は、他系AP状態監視部37による監視によって障害が検出されると、運用切替判断テーブル35aを参照し、自系サーバ3及び他系サーバ3に係るログイン済みのHMI端末2の数を参照する。そして、運用状態判定部38は、自系サーバ3の方が他系サーバ3よりもログイン済みのHMI端末2の数が多い場合には、自系サーバ3が“運用”であると判定し、少ない場合には、自系サーバ3が“待機”であると判定する。
なお、他系サーバ3のアプリケーションに障害が生じると、他系サーバ3に係るHMI端末2のログイン数は0になるため、運用状態判定部38は、自系サーバ3に係るログイン数が1以上であれば、上記判定により、自系サーバを運用系に切り替えることができる。
このように、ログイン済みのHMI端末2の数に基づく運用切替により、ネットワーク6に通信障害が発生した場合でも、複数のサーバ3が同時に運用系になることを回避できる。また、HMI端末2の障害やHMI端末2とネットワーク5との間の通信障害が発生した場合でも、運用系に複数のHMI端末2がログインしていれば、オペレータは、ログイン済みの他のHMI端末2を介して運用系に制御指示を送信することができる。
さらに、運用状態判定部38は、自系サーバ3に係るログイン済みのHMI端末2の数が1以上、自系サーバ3の運用状態が“待機”、且つ、他系サーバ3の運用状態が“不明”である場合、自系サーバ3の運用状態が“運用”であると判定する(図6のB参照)。
ここで、他系サーバ3の運用状態が“不明”とは、他系サーバ3に係るログイン済みのHMI端末2の数が0であり、且つ、他系AP状態監視部37が他系サーバ3との通信で異常を検出した場合に、運用状態判定部38により設定される状態である。なお、自系サーバ3の運用状態が“不明”とは、自系サーバ3に係るログイン済みのHMI端末2の数が0であり、且つ、他系AP状態監視部37が他系サーバ3との通信で異常を検出した場合に、運用状態判定部38により設定される状態である。
図6のBに示すように、自系サーバ3の運用状態が“待機”の場合に、他系サーバ3との通信で障害が発生しても、運用状態判定部38は、運用切替判断テーブル35aに基づいて、自系サーバ3の運用状態が“運用”であると判定することができる。従って、OpSサーバ3は、運用系のサーバ3の停止時間を短時間に抑えることができ、通信ネットワーク4の制御に係る不都合を抑制することができる。
なお、図6のBに示す判定及び運用切替後、運用切替判断テーブル35aは、自系サーバ3の運用状態が“運用”、且つ、他系サーバ3の運用状態が“不明”を示す。この状態で、他系AP状態監視部37が他系サーバ3との通信で異常を検出しなくなると、つまり通信障害が復旧すると、運用状態判定部38は、他系サーバ3の動作状態が“待機”であると判定する。
また、運用状態判定部38は、図6のCに示すように、自系サーバ3及び他系サーバ3のうちのいずれか一方のサーバ3の運用状態が“運用”である場合には、既に運用系が確定しているため、運用切替を抑止する。
さらに、運用状態判定部38は、図6のDに示すように、全てのサーバ3の運用状態が“待機”であると判断した場合には、ログイン済みのHMI端末2の数に基づいて、図6のA1及びA2と同様に、いずれかのサーバ3の運用状態が“運用”であると判定する。
また、運用状態判定部38は、図6のEに示すように、全てのサーバ3の運用状態が“不明”である場合には、いずれのサーバ3にもHMI端末2がログインしていないため、運用切替を抑止する。この場合、OpSサーバ3は、少なくとも1つのサーバ3の運用状態が“不明”から“運用”又は“待機”に切り替わるまで、通信ネットワーク4の制御を抑止する。
以上のように、一実施形態に係る冗長サーバシステム1によれば、OpSサーバ3間のネットワーク6が不通の場合であっても、サーバ3−HMI端末2間のネットワーク5を経由して、サーバ3の運用状態を自律的に待機系から運用系へ切り替えることができる。
従って、障害により運用系サーバ3が存在しない状態でも、速やかにサーバ3を運用系に切り替えることができ、OpSサーバ3による通信ネットワーク4の運用又は保守の再開までの時間を短縮することができる。
また、HMI端末2が複数のサーバ3に接続可能であれば、確実に運用切替の判断を行なうことができ、複数のサーバ3が運用系になることを抑制することができる。
〔1−6〕動作例
次に、図8〜図14を参照して、上述の如く構成された一実施形態に係る冗長サーバシステム1(HMI端末2及びOpSサーバ3)の動作例を説明する。なお、以下の説明では、ログイン先のサーバ3又は自系サーバ3が0系サーバ3−1であるものとして説明する。ログイン先のサーバ3又は自系サーバ3が1系サーバ3−2である場合には、自系(0系)と他系(1系)とを入れ替えればよい。
〔1−6−1〕全体の動作例
はじめに、図8及び図9を参照して、HMI端末2及びOpSサーバ3の全体の処理を説明する。図8及び図9は、それぞれ、図1に示すHMI端末2及びOpSサーバ3の全体の処理を説明するフローチャートである。
HMI端末2の処理では、図8に示すように、通信ネットワーク4の制御に先立ち、HMI端末2により、OpSサーバ3へのログイン処理が行なわれる(ステップS1;図10のステップS11〜S19)。
具体的には、HMI端末2により、ログイン先(例えば0系サーバ3−1)に対してログイン処理が行なわれる。ログイン処理では、HMI端末2により、運用切替判断テーブル35aに対して、0系サーバ3−1へのログイン数の更新(加算)、並びに、0系サーバ3−1の運用状態及びログイン数の参照が行なわれる(ステップS1−1)。
また、HMI端末2により、1系サーバ3−2の運用切替判断テーブル35aに対して、0系サーバ3−1の運用状態及びログイン数の更新が行なわれる(ステップS1−2)。
また、HMI端末2により、OpSサーバ3へのヘルスチェック処理が行なわれる(ステップS2;図11のステップS21〜S26)。
具体的には、HMI端末2により、0系サーバ3−1の運用切替判断テーブル35aに対して、1系サーバ3−2の運用状態及びログイン数の更新が行なわれる。また、HMI端末2により、0系サーバ3−1の運用切替判断テーブル35aから、0系サーバ3−1の運用状態及びログイン数の参照が行なわれる(ステップS2−1)。
同様に、HMI端末2により、1系サーバ3−2の運用切替判断テーブル35aに対して、0系サーバ3−1の状態情報の更新、及び、1系サーバ3−2の状態情報の参照が行なわれる(ステップS2−2)。
そして、HMI端末2により、第1所定時間待機され(ステップS2−3)、ステップS2−1に処理が移行する。
OpSサーバ3の処理では、図9に示すように、OpSサーバ3により、HMI端末2からのヘルスチェック要求の受信確認が行なわれる(ステップS3;図12及び図13のステップS31〜S37)。
具体的には、OpSサーバ3により、第2所定時間間隔で、HMI端末2からヘルスチェック要求を受信したか否かが判定され、受信していない場合に、当該HMI端末2がログインしているサーバ3に係るログイン数の更新(減算)が行なわれる。
また、OpSサーバ3により、系間のネットワーク6の監視による、運用切替判断テーブル35aの更新処理が行なわれる(ステップS4;図14のステップS41〜S52)。
具体的には、OpSサーバ3により、第3所定時間間隔で、運用切替判断テーブル35aと、系間のネットワーク6の通信状態の監視結果とに基づいて、サーバ3の運用状態の判断及び運用切替の有無の判断、並びに、運用切替処理が実行される。
〔1−6−2〕HMI端末の動作例
次に、図10及び図11を参照して、HMI端末2によるログイン処理、及び、HMI端末2によるヘルスチェック処理を説明する。図10及び図11は、それぞれ、HMI端末2によるログイン処理、及び、HMI端末2によるヘルスチェック処理を説明するフローチャートである。
HMI端末2によるログイン処理(図8のステップS1)では、図10に示すように、ログイン/ログオフ処理部23から指定サーバ3(例えば0系サーバ3−1)にログイン要求が発行される(ステップS11)。ログイン要求は、OpSサーバ側通信部21により受け付けられ、0系サーバ3−1へ送信される。
0系サーバ3−1では、HMI端末側通信部31によりログイン要求が受信され、コマンド処理部32に渡される(ステップS12)。そして、コマンド処理部32により、データベース部35の運用切替判断テーブル35a内の自系(0系)サーバログイン数が最新化(1加算)される(ステップS13)。
また、コマンド処理部32により、運用切替判断テーブル35aから“0系運用状態”及び“自系(0系)サーバログイン数”が読み出され、HMI端末2からのログイン要求に対する応答に含められて、HMI端末2へ送信される(ステップS14)。
HMI端末2では、ログイン/ログオフ処理部23により、0系サーバ3−1からOpSサーバ側通信部21を経由してログイン完了を示す応答が受信される(ステップS15)。ヘルスチェック部22では、応答に含まれる“0系運用状態”及び“自系(0系)サーバログイン数”が、保持部25の運用切替判断テーブル25aに設定される(ステップS16)。また、ログイン状態通知部24により、他系(1系)サーバ3に対して、“0系運用状態”及び“自系(0系;1系サーバ3−2では“他系”として扱われる)サーバログイン数”が運用状態通知要求として送信される(ステップS17)。
1系サーバ3−2では、HMI端末側通信部31により運用状態通知要求が受信され、コマンド処理部32に渡される(ステップS18)。そして、コマンド処理部32により、データベース部35の運用切替判断テーブル35a内に受信した“0系運用状態”及び“他系(0系)サーバログイン数”が設定され(ステップS19)、HMI端末2によるログイン処理が終了する。
HMI端末2によるヘルスチェック処理(図8のステップS2)では、図11に示すように、ヘルスチェック部22からログイン中又は未ログインの対象サーバ3(例えば0系サーバ3−1)にヘルスチェック要求が発行される(ステップS21)。なお、ヘルスチェック要求には、HMI端末2の保持部25が保持する他系(1系)サーバ3の運用状態とサーバログイン数とが含まれる。また、ヘルスチェック部22から発行されたヘルスチェック要求は、OpSサーバ側通信部21により受信され、対象サーバ3へ送信される。
0系サーバ3−1では、HMI端末側通信部31によりヘルスチェック要求が受信され、コマンド処理部32に渡される(ステップS22)。そして、コマンド処理部32により、データベース部35の運用切替判断テーブル35a内に“1系運用状態”及び“他系(1系)サーバログイン数”が設定される(ステップS23)。また、コマンド処理部32により、運用切替判断テーブル35a内の“0系運用状態”及び“自系(0系)サーバログイン数”が読み出され、HMI端末2からのヘルスチェック要求に対する応答に含められて、HMI端末2へ送信される(ステップS24)。
HMI端末2では、ヘルスチェック部22により、0系サーバ3−1からOpSサーバ側通信部21を経由してヘルスチェック要求の応答が受信され(ステップS25)、HMI端末2によるヘルスチェック処理が終了する。なお、ヘルスチェック部22は、受信した応答に含まれる“0系運用状態”及び“自系(0系)サーバログイン数”を、保持部25の運用切替判断テーブル25aに設定する(ステップS26)。
なお、図11のステップS21〜S26の処理は、図8のステップS2−1に相当する。つまり、HMI端末2は、図11のステップS21〜S26の自系(0系)と他系(1系)とを入れ替えて、図8のステップS2−2に相当する処理を実行する。また、HMI端末2は、上述のように、第2所定時間待機し(図8のステップS2−3)、ステップSS2−1〜S2−3の処理を繰り返し実行する。
〔1−6−3〕OpSサーバの動作例
次に、図12〜図14を参照して、OpSサーバ3によるヘルスチェックの受信確認処理、及び、運用切替判断テーブル35aの更新処理を説明する。図12及び図13は、OpSサーバ3によるヘルスチェックの受信確認処理を説明するフローチャートである。図14は、OpSサーバ3による運用切替判断テーブル35aの更新処理を説明するフローチャートである。
OpSサーバ3によるヘルスチェックの受信確認処理(図9のステップS3)では、図12に示すように、コマンド処理部32により、自系サーバ3にログインしているはずのHMI端末2から、ヘルスチェック要求が第2所定時間の間にあったか否かが判定される(ステップS31)。ヘルスチェック要求があった場合(ステップS31のYesルート)、コマンド処理部32により、第2所定時間待機され(ステップS32)、ステップS31に処理が移行する。
一方、ヘルスチェック要求がなかった場合(ステップS31のNoルート)、コマンド処理部32により、当該HMI端末2はログオフ処理を行なわずにログオフしたと判断される。そして、コマンド処理部32により、データベース部35のログイン情報35cから該当HMI端末2を特定する情報が削除される(ステップS33)。また、コマンド処理部32により、運用切替判断テーブル35a内の自系サーバログイン数が最新化(1減算)され(ステップS34)、ステップS32に処理が移行する。
また、図13に示すように、コマンド処理部32により、他系サーバ3にログインしているはずのHMI端末2から、ヘルスチェック要求が第2所定時間の間にあったか否かが判定される(ステップS35)。ヘルスチェック要求があった場合(ステップS35のYesルート)、コマンド処理部32により、第2所定時間待機され(ステップS36)、ステップS35に処理が移行する。
一方、ヘルスチェック要求がなかった場合(ステップS35のNoルート)、コマンド処理部32により、当該HMI端末2はログオフ処理を行なわずにログオフしたと判断される。そして、コマンド処理部32により、運用切替判断テーブル35a内の他系サーバログイン数が最新化(1減算)され(ステップS37)、ステップS36に処理が移行する。
以上の処理により、OpSサーバ3によるヘルスチェックの受信確認処理が終了する。
OpSサーバ3による運用切替判断テーブル35aの更新処理(図9のステップS4)では、図14に示すように、他系AP状態監視部37により、運用切替判断テーブル35aが参照される(ステップS41)。このとき、他系AP状態監視部37は、自系サーバ3及び他系サーバ3の運用状態、及び、他系サーバ3のログイン数を取得する。
次いで、他系AP状態監視部37により、他系サーバ側通信部36を介して、他系サーバ3へ他系AP状態監視要求が発行される(ステップS42)。なお、他系AP状態監視要求は、系間のネットワーク6で通信異常が発生している場合は、他系サーバ3には届かない。また、他系AP状態監視部37は、後述するように、他系サーバ3のアプリケーションの起動状態が異常である場合も、通信異常と同様に処理する。
他系サーバ3では、他系サーバ側通信部36により他系AP状態監視要求が受信され、他系サーバ3のアプリケーションの起動状態が確認され、起動有無が応答される(ステップS43)。
自系サーバ3では、応答結果が受信され(ステップS44)、運用状態判定部38により、応答結果から系間通信が異常、且つ、他系のログイン数が0であるか否かが判定される(ステップS45)。判定の結果、ステップS45の条件を満たさない場合(ステップS45のNoルート)、ステップS46に処理が移行する。ステップS46では、運用状態判定部38により、系間通信正常、自系の運用状態が“運用”、且つ、他系の運用状態が“不明”であるか否かが判定される。判定の結果、ステップS46の条件を満たさない場合(ステップS46のNoルート)、ステップS49に処理が移行する。
ステップS45において、判定の結果、条件を満たす場合(ステップS45のYesルート)、運用状態判定部38により、他系サーバ3の運用状態が“不明”であると判定され(ステップS47)、運用切替判断テーブル35aが更新される。そして、ステップS49に処理が移行する。
また、ステップS46において、判定の結果、条件を満たす場合(ステップS46のYesルート)、運用状態判定部38により、他系サーバ3の運用状態が“待機”であると判定され(ステップS48)、運用切替判断テーブル35aが更新される。つまり、運用状態判定部38は、運用状態が“不明”であった他系サーバ3について、系間通信が正常になったと判断し、他系サーバ3を待機系に切り替える。そして、ステップS49に処理が移行する。
ステップS49では、運用状態判定部38により、DBアクセス部34を介して、データベース部35の運用切替判断基準35bが参照され、運用切替判断テーブル35aに基づき、自系サーバ3の運用状態が判定される。
また、OpSサーバ3が実行する通信ネットワーク4の制御用のアプリケーションにより、運用状態判定部38の判定結果が運用状態の切り替えを示す場合には、運用切替が実施される(ステップS50)。さらに、運用状態判定部38により、判定の結果、自系サーバ3の運用状態が更新される場合には、DBアクセス部34を経由して運用切替判断テーブル35aが更新される(ステップS51)。
そして、OpSサーバ3により、第3所定時間待機され(ステップS52)、ステップS41に処理が移行し、OpSサーバ3による運用切替判断テーブル35aの更新処理が終了する。
〔1−7〕運用切替処理の実施例
次に、図15〜図26を参照して、冗長サーバシステム1において障害が発生した場合の、OpSサーバ3による運用切替処理の実施例を説明する。
〔1−7−1〕第1実施例
はじめに、図15〜図22を参照して、第1実施例について説明する。図15は、一実施形態の第1実施例に係る冗長サーバシステム1において、系間のネットワーク6の通信異常及び0系サーバ3−1のハードウェア故障が発生した場合の例を示す図である。図16〜図22は、図15に示す例における運用切替判断テーブル25a及び35aの変化を説明する図である。なお、図16〜図22において、変更のあった値には、下線を付している。
図15に示すように、第1実施例では、図1に示すものと同様の冗長サーバシステム1を用いて説明する。第1実施例では、サーバ3の系間のネットワーク6の通信が異常状態、且つ、運用系である0系サーバ3−1にハードウェア故障が検出された場合の、OpSサーバ3による運用切替処理を説明する。
図16の上欄に示すように、冗長サーバシステム1の初期状態では、0系サーバ3−1が運用系であり1系サーバ3−2が待機系である。また、0系サーバ3−1及び1系サーバ3−2のいずれにもHMI端末2はログインしていない。なお、図16〜図19は、初期状態から障害の発生が検出されるまでのHMI端末2が保持する運用切替判断テーブル25a、及び、両サーバ3が保持する運用切替判断テーブル35a(以下、単にテーブル25a及び35aという)の遷移を示している。
はじめに、HMI端末2−1が0系サーバ3−1にログイン処理を行ない、ログインが完了する(図10のログイン処理のフローチャート参照)。このとき、テーブル25a及び35aは、図16の下欄に示すようになる。
つまり、0系サーバ3−1のテーブル35aには、自系(0系)サーバログイン数に“1”が設定される。また、1系サーバ3−2のテーブル35aには、HMI端末2−1による0系サーバ3−1の読出結果が反映されて、0系運用状態に“運用”(変更なし)、他系(0系)サーバログイン数に“1”が設定される。なお、HMI端末2のテーブル25aにも同様の情報が設定される。以下の説明においても同様である。
次に、HMI端末2−2が1系サーバ3−2にログイン処理を行ない、ログインが完了する(図10のログイン処理のフローチャート参照)。このとき、テーブル25a及び35aは、図17に示すようになる。
つまり、1系サーバ3−2のテーブル35aには、自系(1系)サーバログイン数に“1”が設定される。また、0系サーバ3−1のテーブル35aには、HMI端末2−2による1系サーバ3−2の読出結果が反映されて、1系運用状態に“待機”(変更なし)、他系(1系)サーバログイン数に“1”が設定される。図17に示すように、HMI端末2−1及び2−2によるログイン処理が完了すると、HMI端末2からサーバ3へのヘルスチェックが行なわれる状態、つまり通常の運用状態に遷移する。
次いで、HMI端末2−1から0系サーバ3−1へヘルスチェック処理が行なわれ、ヘルスチェックが完了する(図8のステップS2−1,図11のヘルスチェック処理のフローチャート参照)。このとき、テーブル25a及び35aは、図18の上欄に示すようになる。
つまり、0系サーバ3−1のテーブル35aには、HMI端末2−1による1系サーバ3−2の読出結果が反映されて、1系運用状態に“待機”(変更なし)、他系(1系)サーバログイン数に“1”(変更なし)が設定される。
また、HMI端末2−1から1系サーバ3−2へヘルスチェック処理が行なわれ、ヘルスチェックが完了する(図8のステップS2−2,図11のヘルスチェック処理のフローチャート参照)。このとき、テーブル25a及び35aは、図18の下欄に示すようになる。
つまり、1系サーバ3−2のテーブル35aには、HMI端末2−1による0系サーバ3−1の読出結果が反映されて、0系運用状態に“運用”(変更なし)、他系(0系)サーバログイン数に“1”(変更なし)が設定される。
同様に、HMI端末2−2から1系サーバ3−2へのヘルスチェック処理、及び、HMI端末2−2から0系サーバ3−1へのヘルスチェック処理が行なわれ、ヘルスチェックが完了すると、テーブル25a及び35aは、図19の上欄及び下欄に示すようになる。
なお、図18及び図19に示す処理は、第1所定時間ごとに繰り返し実行される(図8のステップS2−3参照)。
ここで、図15に示すサーバ3の系間のネットワーク6に通信異常が発生した場合、各サーバ3は、系間のネットワーク6が不通になるため、他系AP状態監視部37により障害が検出される。しかし、上述したヘルスチェック処理が、サーバ3−HMI端末2間のネットワーク5を介して行なわれるため、テーブル25a及び35aは、通信異常の影響を受けずに、相手のサーバ状態を認識することができる。
次に、系間のネットワーク6の通信異常に加えて、図15に示す0系サーバ3−1のハードウェア故障が検出された場合を想定する。このとき、HMI端末2−1から0系サーバ3−1へヘルスチェック処理が行なわれ、ヘルスチェックが完了すると(図8のステップS2−1,図11のヘルスチェック処理のフローチャート参照)、テーブル25a及び35aは、図20の上欄に示すようになる。
HMI端末2−1は、故障が発生した0系サーバ3−1に対するヘルスチェック処理を失敗する。このとき、HMI端末2−1の保持部25が保持するテーブル25aには、0系サーバ3−1に関して、全ての項目が異常値(又はNull等)になる(図20中、“?”と表記)。なお、以下の説明では、0系サーバ3−1のテーブル35aについて、HMI端末2が保持するテーブル25aを用いて説明する。
HMI端末2−1から1系サーバ3−2へヘルスチェック処理が行なわれ、ヘルスチェックが完了すると、テーブル25a及び35aは、図20の下欄に示すようになる。
つまり、HMI端末2−1による0系サーバ3−1からのテーブル35aの読み出しができなかったため、1系サーバ3−2のテーブル35aには、0系運用状態の設定が行なわれない。また、0系サーバ3−1にログインしていたHMI端末2−1が0系サーバ3−1へアクセスできないため、1系サーバ3−2のテーブル35aには、他系(0系)サーバログイン数に“0”が設定される。
また、HMI端末2−2から1系サーバ3−2へヘルスチェック処理が行なわれ、ヘルスチェックが完了すると、テーブル25a及び35aは、図21の上欄に示すようになる。
つまり、HMI端末2−1による0系サーバ3−1からのテーブル35aの読み出しができなかったため、1系サーバ3−2のテーブル35aには、0系運用状態及び他系(0系)サーバログイン数の設定が行なわれない。
また、HMI端末2−2は、故障が発生した0系サーバ3−1に対するヘルスチェック処理を失敗する。このとき、HMI端末2−1の保持部25が保持するテーブル25aには、図21の下欄に示すように、0系サーバ3−1に関して、全ての項目が異常値等になる。
次いで、1系サーバ3−2は、運用状態判定部38により運用切替判断テーブル35aの更新処理を行なうと(図14の運用切替判断テーブルの更新処理のステップS45及びS47参照)、テーブル25a及び35aは、図22の上欄に示すようになる。
つまり、1系サーバ3−2の運用状態判定部38は、他系AP状態監視部37で異常を検出し、且つ、他系(0系)サーバログイン数が“0”を検出するため、0系運用状態が“不明”であると判定する。
次いで、1系サーバ3−2は、運用状態判定部38により運用切替判断テーブル35aの更新処理を行なうと(図14の運用切替判断テーブルの更新処理のステップS49〜S51参照)、テーブル25a及び35aは、図22の下欄に示すようになる。
つまり、1系サーバ3−2の運用状態判定部38は、データベース部35から運用切替判断基準35bを参照し、1系サーバ3−2の運用状態を判定して、テーブル35aを更新する。このとき、1系サーバ3−2は、自系(1系)の運用状態が“待機”、且つ、他系(0系)の運用状態が“不明”であると検出するため、1系運用状態が“運用”であると判定する(図6のB参照)。
以上の処理により、サーバ3の系間のネットワーク6の通信が異常状態、且つ、運用系である0系サーバ3−1にハードウェア故障が検出された場合の、OpSサーバ3による運用切替処理が終了する。
〔1−7−2〕第2実施例
次に、図23〜図26を参照して、第2実施例について説明する。図23は、一実施形態の第2実施例に係る冗長サーバシステム1′において、系間のネットワーク6の通信異常及びHMI端末2と0系サーバ3−1との間の通信異常が発生した場合の例を示す図である。図24〜図26は、図23に示す例における運用切替判断テーブル25a及び35aの変化を説明する図である。なお、図24〜図26において、変更のあった値には、下線を付している。
図23に示すように、第2実施例では、1つのHMI端末2−1をそなえる冗長サーバシステム1′を用いて説明する。なお、冗長サーバシステム1′は、HMI端末2の数以外は図1に示す冗長サーバシステム1と同様である。第2実施例では、サーバ3の系間のネットワーク6の通信が異常状態、且つ、HMI端末2−1と0系サーバ3−1との間のネットワーク5の通信が異常状態である場合の、OpSサーバ3による運用切替処理を説明する。
図23に示す例において、系間のネットワーク6の通信異常及びHMI端末2と0系サーバ3−1との間の通信異常が発生した場合、オペレータが故意に待機系であった1系サーバ3−2を運用系に変更することがある。このとき、OpSサーバ3がともに運用系になる。なお、図23に示す例では、HMI端末2−1は、1系サーバ3−2にログインしている。
以上の前提において、図24に示すように、冗長サーバシステム1′では、0系サーバ3−1のテーブル35aには、0系運用状態に“運用”、自系(0系)サーバログイン数に“0”が設定される。なお、0系サーバ3−1は通信障害により外部に接続できないため、1系運用状態に“不明”、他系(1系)サーバログイン数に“0”が設定される。
また、1系サーバ3−2のテーブル35aには、0系サーバ3−1との通信が不通であるため、0系運用状態に“不明”が設定され、オペレータからの強制的な設定により、1系運用状態に“運用”が設定される。また、1系サーバ3−2のテーブル35aには、自系(1系)サーバログイン数に“1”、他系(0系)サーバログイン数に“0”が設定される。
なお、HMI端末2のテーブル25aにも同様の情報が設定される。以下の説明においても同様である。
次に、HMI端末2と0系サーバ3−1との間の通信障害が復旧した場合を想定する。HMI端末2−1は、1系サーバ3−2へ既にログイン済みであるため、HMI端末2−1から定期的なヘルスチェック処理が行なわれる。HMI端末2−1から1系サーバ3−2へヘルスチェック処理が行なわれ、ヘルスチェックが完了すると(図8のステップS2−1,図11のヘルスチェック処理のフローチャート参照)、テーブル25a及び35aは、図25の上欄に示すようになる。
つまり、1系サーバ3−2のテーブル35aには、HMI端末2−1による0系サーバ3−1の読出結果が反映されて、0系運用状態に“運用”、他系(0系)サーバログイン数に“0”(変更なし)が設定される。
また、HMI端末2−1から0系サーバ3−2へヘルスチェック処理が行なわれ、ヘルスチェックが完了する(図8のステップS2−2,図11のヘルスチェック処理のフローチャート参照)。このとき、テーブル25a及び35aは、図25の下欄に示すようになる。
つまり、0系サーバ3−1のテーブル35aには、HMI端末2−1による1系サーバ3−2の読出結果が反映されて、1系運用状態に“運用”、他系(1系)サーバログイン数に“1”が設定される。
次いで、0系サーバ3−1は、運用状態判定部38により運用切替判断テーブル35aの更新処理を行なうと(図14の運用切替判断テーブルの更新処理のステップS49〜S51参照)、テーブル25a及び35aは、図26の上欄に示すようになる。
つまり、0系サーバ3−1の運用状態判定部38は、データベース部35から運用切替判断基準35bを参照し、0系サーバ3−1の運用状態を判定して、テーブル35aを更新する。このとき、0系サーバ3−1は、0系サーバ3−1及び1系サーバ3−2の双方の運用状態が“運用”、且つ、1系サーバ3−2に係るログイン数のみが1以上であるため、自系サーバ3(0系サーバ3−1)の運用状態を“待機”に変更する(図6のA2参照)。
また、1系サーバ3−2も、HMI端末2−1による次のヘルスチェック処理が行なわれる前に、運用状態判定部38により運用切替判断テーブル35aの更新処理を行なう(図14の運用切替判断テーブルの更新処理のステップS49〜S51参照)。このとき、テーブル25a及び35aは、図26の下欄に示すようになる。
つまり、1系サーバ3−2の運用状態判定部38は、データベース部35から運用切替判断基準35bを参照し、1系サーバ3−2の運用状態を判定して、テーブル35aを更新する。このとき、1系サーバ3−2は、0系サーバ3−1及び1系サーバ3−2の双方の運用状態が“運用”、且つ、1系サーバ3−2に係るログイン数のみが1以上であるため、他系サーバ3(0系サーバ3−1)の運用状態を“待機”に変更する(図6のA2参照)。
以上の処理により、サーバ3の系間のネットワーク6の通信異常及びHMI端末2−1と0系サーバ3−1との間の通信異常が発生した場合の、OpSサーバ3による運用切替処理が終了する。
このように、本実施形態の一例としてのHMI端末2及びOpSサーバ3によれば、0系サーバ3−1及び1系サーバ3−2がともに運用系となった状態から、HMI端末2−1と0系サーバ3−1との間の通信異常が復旧した場合に、直ちに運用切替が行なわれる。つまり、HMI端末2及びOpSサーバ3は、通信異常の復旧後に、速やかに、各サーバ3の運用状態を運用切替判断基準35bに即した状態(運用系又は待機系)に切り替え、障害の復旧を行なうことができる。
なお、第2実施例で説明した処理の流れは、冗長サーバシステム1、又はHMI端末2が3以上の他の冗長サーバシステムにおいて、全てのHMI端末2とサーバ3との間のネットワークが通信異常になった場合においても、同様に適用可能である。
〔2〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
上述した一実施形態において、OpSサーバ3は、0系サーバ3−1及び1系サーバ3−2の2つのサーバ3により実現されるものとして説明したが、これに限定されるものではない。例えば、OpSサーバ3が3以上のサーバ3により実現されてもよい。この場合、運用切替判断テーブル25a及び35aには、サーバ3の数に対応する運用状態とログインしているHMI端末2の数とが設定される。また、運用切替判断基準35bには、3以上のサーバ3のうちのいずれか1のサーバ3の運用状態が“運用”となるように、条件が設定される。
また、一実施形態において、OpSサーバ3は、HMI端末2からログイン要求やヘルスチェック要求等を受信し、これらの要求の応答として、状態情報をHMI端末2へ送信するものとして説明したが、これに限定されるものではない。例えば、OpSサーバ3は、定期的に、HMI端末2へ他系サーバ3の状態情報の取得要求、及び、自系サーバ3の状態情報を送信し、HMI端末2から、送信した状態情報の取得要求への応答として、他系サーバ3の状態情報を受信してもよい。
なお、一実施形態のHMI端末2及びOpSサーバ3の各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラムを実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体(例えば図2に示す記録媒体17a又は/及び17b)に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。なお、上記プログラムは、HMI端末2及びOpSサーバ3のそれぞれに実行させる機能ごとに分割されて、例えば図2に示す記録媒体17a及び17bのそれぞれに記録されてもよい。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記プログラムは、上述のようなコンピュータに、一実施形態のHMI端末2及びOpSサーバ3の各種機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔3〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置と、
前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置と、をそなえた情報処理システムであって、
前記端末装置は、
前記複数の情報処理装置の各々から、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を取得する取得部と、
前記複数の情報処理装置の各々に、他の情報処理装置から取得した状態情報を通知する通知部と、をそなえ、
前記複数の情報処理装置の各々は、
自装置が保持する状態情報と前記端末装置から通知された他の情報処理装置の状態情報とに基づいて、前記自装置が前記所定の処理を行なうか否かを判定する判定部をそなえる
ことを特徴とする、情報処理システム。
(付記2)
前記状態情報は、
前記情報処理装置が、前記所定の処理を行なう第1状態、及び待機を行なう第2状態、のいずれであるかを示す動作状態をさらに含み、
前記判定部は、
前記自装置が保持する状態情報と前記端末装置から通知された前記他の情報処理装置の状態情報とに基づき、2以上の前記情報処理装置が前記第1状態であると判断した場合、前記2以上の情報処理装置の中から、接続処理済みの端末装置の数に基づいて、一の情報処理装置が前記第1状態であると判定し、前記第1状態であると判定した情報処理装置以外の情報処理装置が前記第2状態であると判定し、
判定した前記動作状態に基づいて、前記自装置が前記所定の処理を行なうか否かを判定する、
ことを特徴とする、付記1記載の情報処理システム。
(付記3)
前記動作状態は、
前記情報処理装置が、前記第1状態、前記第2状態、及び障害が発生したことを示す第3状態、のいずれであるかを示し、
前記判定部は、
前記自装置が保持する状態情報と前記他の情報処理装置の状態情報とに基づいて、前記自装置に係る接続処理済みの端末装置の数が1以上であり、前記自装置が前記第2状態であり、且つ、前記他の情報処理装置が前記第3状態である場合、前記自装置の動作状態が前記第1状態であると判定する、
ことを特徴とする、付記2記載の情報処理システム。
(付記4)
前記判定部は、
前記他の情報処理装置に係る接続処理済みの端末装置の数が0であり、且つ、前記他の情報処理装置との通信で異常を検出した場合、前記他の情報処理装置の動作状態が前記第3状態であると判定する、
ことを特徴とする、付記3記載の情報処理システム。
(付記5)
前記判定部は、
前記自装置が前記第1状態であり、前記他の情報処理装置が前記第3状態であり、且つ、前記他の情報処理装置との通信で異常を検出しない場合、前記他の情報処理装置の動作状態が前記第2状態であると判定する、
ことを特徴とする、付記4記載の情報処理システム。
(付記6)
前記複数の情報処理装置の各々は、
前記自装置に係る状態情報と前記端末装置から通知された他の情報処理装置の状態情報とを格納するとともに、接続処理済みの前記端末装置を特定する情報を含む接続情報を格納する格納部と、
前記端末装置との間で前記接続処理が行なわれると、当該端末装置を特定する情報を前記接続情報に設定し、前記格納部が格納する前記自装置に係る状態情報に含まれる接続処理済みの端末装置の数を増加させる設定部と、をさらにそなえる
ことを特徴とする、付記1〜5のいずれか1項記載の情報処理システム。
(付記7)
前記取得部及び前記通知部は、
第1所定時間ごとに、前記複数の情報処理装置の各々に対する前記状態情報の取得及び通知のためのアクセスを行ない、
前記設定部は、
前記自装置に係る接続処理済みの第1の端末装置から、前記第1所定時間よりも長い第2所定時間の間、前記アクセスがなかった場合、当該端末装置を特定する情報を前記接続情報から削除し、前記格納部が格納する前記自装置に係る状態情報に含まれる接続処理済みの端末装置の数を減少させ、
前記自装置との間で前記接続処理が行なわれていない第2の端末装置から、前記第2所定時間の間、前記アクセスがなかった場合、前記格納部が格納する前記第2の端末装置との間で接続処理済みの情報処理装置に係る状態情報に含まれる接続処理済みの端末装置の数を減少させる、
ことを特徴とする、付記6記載の情報処理システム。
(付記8)
前記複数の端末装置は、前記複数の情報処理装置を公共ネットワーク経由で制御する、
ことを特徴とする、付記1〜7のいずれか1項記載の情報処理システム。
(付記9)
相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置と、前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置と、をそなえた情報処理システムの制御方法であって、
前記端末装置において、
前記複数の情報処理装置の各々から、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を取得し、
前記複数の情報処理装置の各々に、他の情報処理装置から取得した状態情報を通知し、
前記複数の情報処理装置の各々において、
自装置が保持する状態情報と前記端末装置から通知された他の情報処理装置の状態情報とに基づいて、前記自装置が前記所定の処理を行なうか否かを判定する、
ことを特徴とする、制御方法。
(付記10)
相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置の各々を制御する処理を、前記複数の情報処理装置の各々に実行させる制御プログラムであって、
前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置に対して、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を送信し、
前記端末装置から、前記端末装置が他の情報処理装置から取得した状態情報を受信し、
前記情報処理装置が保持する状態情報と前記端末装置から受信した他の情報処理装置の状態情報とに基づいて、前記情報処理装置が前記所定の処理を行なうか否かを判定する、
処理を、前記複数の情報処理装置の各々に実行させることを特徴とする、制御プログラム。
1 冗長サーバシステム(情報処理システム)
2,2−1,2−2 HMI端末(端末装置)
3,3−1 0系サーバ(運用系,OpSサーバ,情報処理装置)
3,3−2 1系サーバ(待機系,OpSサーバ,情報処理装置)
4 通信ネットワーク(伝送装置群,制御対象)
5 ネットワーク(公共ネットワーク)
6,7 ネットワーク
10a,10b CPU(プロセッサ)
11a,11b メモリ
12a,12b 記憶部
13a,13b インタフェース
14a,14b 入出力部
15a,15b,17a,17b 記録媒体
16a,16b 読取部
21 OpSサーバ側通信部
22 ヘルスチェック部
22a 通知部
22b 第1取得部(取得部)
23 ログイン/ログオフ処理部
24 ログイン状態通知部
24a 第2取得部
25 保持部
25a 運用切替判断テーブル
31 HMI端末側通信部
32 コマンド処理部(設定部)
33 通信ネットワーク側通信部
34 DBアクセス部
35 データベース部(格納部)
35a 運用切替判断テーブル
35b 運用切替判断基準
35c ログイン情報
36 他系サーバ側通信部
37 他系AP状態監視部
38 運用状態判定部(判定部)
100 冗長サーバシステム
200,200−1,200−2 HMI端末
300,300−1 0系サーバ(運用系,OpSサーバ)
300,300−2 1系サーバ(待機系,OpSサーバ)
400 通信ネットワーク(制御対象)
400a−1,400a−2 GNE
400b−1,400b−2 NE
500,600,700 ネットワーク

Claims (6)

  1. 相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置と、
    前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置と、をそなえた情報処理システムであって、
    前記端末装置は、
    前記複数の情報処理装置の各々から、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を取得する取得部と、
    前記複数の情報処理装置の各々に、他の情報処理装置から取得した状態情報を通知する通知部と、をそなえ、
    前記複数の情報処理装置の各々は、
    自装置が保持する状態情報と前記端末装置から通知された他の情報処理装置の状態情報とに基づいて、前記自装置が前記所定の処理を行なうか否かを判定する判定部をそなえる
    ことを特徴とする、情報処理システム。
  2. 前記状態情報は、
    前記情報処理装置が、前記所定の処理を行なう第1状態、及び待機を行なう第2状態、のいずれであるかを示す動作状態をさらに含み、
    前記判定部は、
    前記自装置が保持する状態情報と前記端末装置から通知された前記他の情報処理装置の状態情報とに基づき、2以上の前記情報処理装置が前記第1状態であると判断した場合、前記2以上の情報処理装置の中から、接続処理済みの端末装置の数に基づいて、一の情報処理装置が前記第1状態であると判定し、前記第1状態であると判定した情報処理装置以外の情報処理装置が前記第2状態であると判定し、
    判定した前記動作状態に基づいて、前記自装置が前記所定の処理を行なうか否かを判定する、
    ことを特徴とする、請求項1記載の情報処理システム。
  3. 前記動作状態は、
    前記情報処理装置が、前記第1状態、前記第2状態、及び障害が発生したことを示す第3状態、のいずれであるかを示し、
    前記判定部は、
    前記自装置が保持する状態情報と前記他の情報処理装置の状態情報とに基づいて、前記自装置に係る接続処理済みの端末装置の数が1以上であり、前記自装置が前記第2状態であり、且つ、前記他の情報処理装置が前記第3状態である場合、前記自装置の動作状態が前記第1状態であると判定する、
    ことを特徴とする、請求項2記載の情報処理システム。
  4. 前記複数の情報処理装置の各々は、
    前記自装置に係る状態情報と前記端末装置から通知された他の情報処理装置の状態情報とを格納するとともに、接続処理済みの前記端末装置を特定する情報を含む接続情報を格納する格納部と、
    前記端末装置との間で前記接続処理が行なわれると、当該端末装置を特定する情報を前記接続情報に設定し、前記格納部が格納する前記自装置に係る状態情報に含まれる接続処理済みの端末装置の数を増加させる設定部と、をさらにそなえる
    ことを特徴とする、請求項1〜3のいずれか1項記載の情報処理システム。
  5. 相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置と、前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置と、をそなえた情報処理システムの制御方法であって、
    前記端末装置において、
    前記複数の情報処理装置の各々から、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を取得し、
    前記複数の情報処理装置の各々に、他の情報処理装置から取得した状態情報を通知し、
    前記複数の情報処理装置の各々において、
    自装置が保持する状態情報と前記端末装置から通知された他の情報処理装置の状態情報とに基づいて、前記自装置が前記所定の処理を行なうか否かを判定する、
    ことを特徴とする、制御方法。
  6. 相互に通信可能に接続され冗長化された複数の情報処理装置であって、一の情報処理装置が所定の処理を行なう前記複数の情報処理装置の各々を制御する処理を、前記複数の情報処理装置の各々に実行させる制御プログラムであって、
    前記複数の情報処理装置のうちの少なくとも一つの情報処理装置と接続処理を行ない、前記接続処理が完了した接続処理済みの情報処理装置の制御を行なう1以上の端末装置に対して、前記情報処理装置に係る接続処理済みの端末装置の数を含む状態情報を送信し、
    前記端末装置から、前記端末装置が他の情報処理装置から取得した状態情報を受信し、
    前記情報処理装置が保持する状態情報と前記端末装置から受信した他の情報処理装置の状態情報とに基づいて、前記情報処理装置が前記所定の処理を行なうか否かを判定する、
    処理を、前記複数の情報処理装置の各々に実行させることを特徴とする、制御プログラム。
JP2013086343A 2013-04-17 2013-04-17 情報処理システム,制御方法,および制御プログラム Expired - Fee Related JP6044434B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013086343A JP6044434B2 (ja) 2013-04-17 2013-04-17 情報処理システム,制御方法,および制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013086343A JP6044434B2 (ja) 2013-04-17 2013-04-17 情報処理システム,制御方法,および制御プログラム

Publications (2)

Publication Number Publication Date
JP2014211674A JP2014211674A (ja) 2014-11-13
JP6044434B2 true JP6044434B2 (ja) 2016-12-14

Family

ID=51931418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013086343A Expired - Fee Related JP6044434B2 (ja) 2013-04-17 2013-04-17 情報処理システム,制御方法,および制御プログラム

Country Status (1)

Country Link
JP (1) JP6044434B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011369A (ja) * 1996-06-27 1998-01-16 Hitachi Ltd 通信システムおよびホットスタンバイ切替機能を備える情報処理装置
JP2001142795A (ja) * 1999-11-11 2001-05-25 Toshiba Corp 計算機システムとそのシステムの処理プログラムを記憶した記憶媒体
JP2002251384A (ja) * 2001-02-23 2002-09-06 Mitsubishi Electric Corp 広域クラスタ制御方式

Also Published As

Publication number Publication date
JP2014211674A (ja) 2014-11-13

Similar Documents

Publication Publication Date Title
JP6089884B2 (ja) 情報処理システム,情報処理装置,情報処理装置の制御プログラム,及び情報処理システムの制御方法
JP4538736B2 (ja) ジョブ実行監視システム、ジョブ制御装置、ジョブ実行方法及びジョブ制御プログラム
US20130205017A1 (en) Computer failure monitoring method and device
JP2008234617A (ja) 設備監視システム及び監視装置
JP2014241536A (ja) 監視装置、及び監視方法
JP2013161252A (ja) 冗長コンピュータ制御プログラム、方法、及び装置
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP6044434B2 (ja) 情報処理システム,制御方法,および制御プログラム
JPWO2018056044A1 (ja) 計算機並びにクラスタ管理システム、方法及びプログラム
JP6830608B2 (ja) 通信システム、被制御機器、及び、通信システムの制御方法
JP2018056633A (ja) クラスタシステム、サーバ、サーバの動作方法、及びプログラム
JP2006277646A (ja) 障害解析システム及び方法並びにプログラム
JP2015057685A (ja) 監視システム
JP5005425B2 (ja) 制御装置復帰システム
JP4836920B2 (ja) ネットワーク監視システム及び端末装置
JP6488600B2 (ja) 情報処理システム、プログラム及び情報処理装置
JP5631285B2 (ja) 障害監視システムおよび障害監視方法
JP2004007930A (ja) 電力系統監視制御システムおよびプログラム
JP2011250033A (ja) 監視システム及びサーバ切替方法
US20240323074A1 (en) Computer-Implemented Method for Operating a Terminal with High Availability in a Network
WO2018235310A1 (ja) 切替管理装置、監視制御システム、切替管理方法および切替管理プログラム
JP2013003956A (ja) 故障復旧管理装置、故障復旧管理方法及び故障復旧管理プログラム
JP6851273B2 (ja) プラント監視制御装置
WO2013073022A1 (ja) 計算機システム及び障害検出方法
JP5836177B2 (ja) 運用システム切り替え装置、運用システム切り替え方法及び運用システム切り替えプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161031

R150 Certificate of patent or registration of utility model

Ref document number: 6044434

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees