JP2017187868A - 冗長化装置、冗長化システム、及び冗長化方法 - Google Patents

冗長化装置、冗長化システム、及び冗長化方法 Download PDF

Info

Publication number
JP2017187868A
JP2017187868A JP2016074730A JP2016074730A JP2017187868A JP 2017187868 A JP2017187868 A JP 2017187868A JP 2016074730 A JP2016074730 A JP 2016074730A JP 2016074730 A JP2016074730 A JP 2016074730A JP 2017187868 A JP2017187868 A JP 2017187868A
Authority
JP
Japan
Prior art keywords
redundancy
communication paths
unit
counting
state
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
JP2016074730A
Other languages
English (en)
Other versions
JP6409812B2 (ja
Inventor
大野 毅
Takeshi Ono
毅 大野
伸明 江間
Nobuaki Ema
伸明 江間
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2016074730A priority Critical patent/JP6409812B2/ja
Priority to EP17163202.9A priority patent/EP3226485B1/en
Priority to US15/470,976 priority patent/US10339018B2/en
Priority to CN202010850710.9A priority patent/CN111884923B/zh
Priority to CN202010851984.XA priority patent/CN111884924B/zh
Priority to CN201710196691.0A priority patent/CN107276731B/zh
Publication of JP2017187868A publication Critical patent/JP2017187868A/ja
Application granted granted Critical
Publication of JP6409812B2 publication Critical patent/JP6409812B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1616Error detection by comparing the output signals of redundant hardware where the redundant component is an I/O device or an adapter therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Safety Devices In Control Systems (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Small-Scale Networks (AREA)
  • Physiology (AREA)

Abstract

【課題】実行中の処理を停止させずにSBの発生を防止する。
【解決手段】冗長化相手方装置PC1と冗長化して運用される冗長化装置PC2は、冗長化相手方装置のHB信号を個別に受信する複数の受信部21a〜21cと、受信部の受信結果に基づいて、正常な通信経路の数を計数する計数部24と、計数部の計数結果と予め設定された閾値とを比較する比較部25と、計数部の計数結果及び比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部27,28と、を備える。
【選択図】図1

Description

本発明は、冗長化装置、冗長化システム、及び冗長化方法に関するものである。
従来から、システムに障害が発生しても業務を継続して行えるように、複数のコンピュータによって冗長化した冗長化システムが用いられている。例えば図10に示す冗長化システム100では、PC1にHB(ハートビート)送信部100a〜100cが備えられ、PC2にHB受信部101a〜101cが備えられている。通常時はPC1がActive側となって業務処理を行うとともに、HB送信部100a〜100cがHB受信部101a〜101cにそれぞれHB信号を送信する。PC2は、通常時はStandBy側として、PC1の異常時に備えて待機(冗長化)している。このとき、PC2は相手先マシンに認識されない。そして、HB受信部101a〜101cが全てPC1からのHB信号を受信できなくなった場合には、PC1がダウンしたと判断して、PC2がActive側に切り替わって処理を継続する。
ところで、この種の冗長化システムにおいては、例えばHB通信経路のケーブル切断などによってHB信号が不通となった場合、PC1がダウンしていないのにも関わらずPC2がActive側に切り替わって処理を行い、いわゆるスプリットブレインシンドローム(以下、SBと記す)が発生する場合がある。SBが発生すると、例えばIPアドレスやMACアドレスなどの識別子がPC1とPC2とで重複することとなり、相手先コンピュータとの通信が不安定になるおそれがある。あるいは、相手先マシンが、識別子が重複するPC1及びPC2とランダムに通信することによって、通信データに不整合が生じて、システム全体に悪影響を及ぼすおそれがある。
また、システム内における冗長化した1組の装置が動作を停止してしまった場合、システム全体の動作にも影響を与えることになる。しかし、これは他の装置から見て、動作の停止を把握可能であり、なんらかの対策をとることも可能である。一方、SBが発生した際には、通信が不安定な状態のまま動作を継続する可能性があり、他の装置からみると該当装置の異常を判断できず、誤った情報のやりとりを行ってしまう可能性がある。したがって、システム全体でみると、冗長化動作の停止防止策より、SB回避策の方にはるかに高い信頼性(優先度)を持たせる必要がある。
このようなSBの発生を回避するために、例えば下記特許文献1では、HB信号の信号受信部と、信頼性判定部と、処理管理部と、備える冗長化システムが提案されている。このシステムでは、信号受信部が他のコンピュータからのHB信号を受信できなくなった場合に、信頼性判定部がHB通信経路の信頼性を判定する。そして、信頼性判定部が、HB通信経路の信頼性が無いと判定した場合には、処理管理部は実行中の処理を停止させる。
国際公開第2015/098589号
上記特許文献1に記載の冗長化システムでは、HB通信経路の信頼性が無いと判断された場合、SBを回避するために実行中の処理を停止させるため、例えばプラントのプロセス制御システム等、処理の継続性が求められるシステムに用いる場合の制約となっていた。
本発明はこのような事情を考慮してなされたもので、実行中の処理を停止させずにSBの発生を防止することができる冗長化装置、冗長化システム、及び冗長化方法を提供することを目的とする。
上記課題を解決するために、本発明の冗長化装置は、プラントのプロセス制御装置における、冗長化相手方装置と冗長化して運用される待機状態である冗長化装置において、前記冗長化相手方装置から送信される複数のHB信号を個別に受信する複数の受信部と、前記受信部の受信結果に基づいて、前記複数のHB信号の通信経路のうち正常な通信経路の数を計数する計数部と、前記計数部の計数結果と予め設定された閾値とを比較する比較部と、前記計数部の計数結果及び前記比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、を備えることを特徴とする。
なお、前記閾値は、1以上であって前記複数のHB信号の通信経路の数よりも小さい値が設定されてもよい。
また、前記切替部は、前記計数部の計数結果が零である場合には、待機状態から稼働状態への切り替えを行い、前記計数部の計数結果が1以上であって前記閾値以下である場合には、待機状態から前記解除状態への切り替えを行ってもよい。
また、前記計数部の計数結果が前記閾値よりも大きい値である場合には、待機状態が継続されてもよい。
また、前記切替部は、待機状態から前記解除状態への切り替えを行った後に、前記計数部の計数結果が前記閾値よりも大きい値になった場合には、前記解除状態から待機状態への切り替えを行ってもよい。
また、前記複数のHB信号の通信経路についての障害の関連を表したリスト情報を記憶する記憶部を更に備えてもよい。
また、前記計数部は、前記記憶部に記憶された前記リスト情報を参照して、前記複数のHB信号の通信経路のうち実質的に正常な通信経路の数を計数してもよい。
また、本発明の冗長化システムは、プラントのプロセス制御装置における、第1の装置と、該第1の装置とネットワークを介して接続された第2の装置と、を備える冗長化システムであって、前記第2の装置は、前記第1の装置から送信される複数のHB信号を個別に受信する複数の受信部と、前記受信部の受信結果に基づいて、前記複数のHB信号の通信経路のうち正常な通信経路の数を計数する計数部と、前記計数部の計数結果と予め設定された閾値とを比較する比較部と、前記計数部の計数結果及び前記比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、を備えることを特徴とする。
また、前記冗長化システムは、前記第1の装置及び前記第2の装置とネットワークを介して接続された第3の装置をさらに備え、前記第2の装置は、前記第3の装置から送信される複数のHB信号の受信結果に基づいて、前記解除状態から前記待機状態への切り替えを行ってもよい。
また、本発明の冗長化方法は、プラントのプロセス制御装置における、第1の装置と、該第1の装置とネットワークを介して接続された第2の装置と、を備える冗長化システムの冗長化方法であって、前記第1の装置から送信される複数のHB信号を前記第2の装置が個別に受信する第1ステップと、前記第1ステップの受信結果に基づいて、前記複数のHB信号の通信経路のうち正常な通信経路の数を計数する第2ステップと、前記第2ステップの計数結果と予め設定された閾値とを比較する第3ステップと、前記第2ステップの計数結果及び前記第3ステップの比較結果に応じて、前記第2の装置を待機状態から稼働状態へと切り替え、或いは待機状態から冗長化を解除した解除状態へと切り替え、或いは待機状態を維持する第4ステップと、を有することを特徴とする。
なお、前記冗長化方法は、前記第4ステップで前記第2の装置を前記待機状態から前記解除状態へと切り替えた後に、前記第2ステップの計数結果が前記閾値よりも大きい値になった場合に、前記第2の装置を前記解除状態から前記待機状態へと切り替える第5ステップを有してもよい。
本発明によれば、実行中の処理を停止させずにSBの発生を防止することができる冗長化装置、冗長化システム、及び冗長化方法を提供することができる。
第1実施形態における冗長化システムの構成の一例を示す図である。 第1実施形態における冗長化システムの動作の一例を示すフローチャートである。 第2実施形態における冗長化システムの構成の一例を示す図である。 第3実施形態における冗長化システムの構成の一例を示す図である。 第3実施形態におけるHB通信経路の構成例を示す図である。 第4実施形態における冗長化システムの動作の一例を示すフローチャートである。 第5実施形態における冗長化システムの構成の一例を示す図である。 第5実施形態における冗長化システムの動作の一例を示すフローチャートである。 第6実施形態における冗長化システムの構成の一例を示す図である。 従来の冗長化システムの構成の一例を示す図である。
(第1実施形態)
以下、第1実施形態に係る冗長化システム1の構成を、図1を参照しながら説明する。
図1に示すように、本実施形態にかかる冗長化システム1は冗長化相手方装置であるコンピュータPC1(第1の装置)と、冗長化して運用される冗長化装置であるコンピュータPC2(第2の装置)と、HB通信経路31〜33(通信経路)と、を備える。
PC1及びPC2は例えば汎用コンピュータであり、ネットワークを介して相手先マシンなどとそれぞれ接続されている。
HB通信経路31〜33は、例えば専用のNICポートを用いてPC1とPC2とを接続している。なお、HB通信経路31〜33は、専用のネットワーク網(L2SW等)を用いて構成されていてもよい。
PC1は、通常時においてActive側(稼働状態)であり、相手先マシンから認識されるとともに相手先マシンに対してサービス等を提供する。PC2は、通常時においてStandBy側であり、相手先マシンから認識されず、相手先マシンに対してサービス等を提供しない。
PC2は通常時において、PC1がダウンした場合に、StandBy側からActive側に切り替えられるように準備(冗長化)している状態を本明細書では「待機状態」と記す。また、冗長化が解除された状態を本明細書では「解除状態」と記す。
PC2が待機状態の場合、例えばCheckpoint/Restart(メモリコピー)方式の場合には、PC1のメモリやディスクが変更されると、その変更箇所をPC2にコピーして、PC2のデータとPC1のデータとを等値化する。あるいは、Lockstep(並列実行)方式の場合には、PC1の動作に同期して、PC2に同様の動作をさせる。ただしこの際、PC2は相手先マシンに対する出力を行わない。このようにして、PC2はPC1がダウンした場合にStandBy側からActive側に切り替わり、相手先マシンに対するサービス等の提供を継続することができる。
なお、上記PC2のように、一方のコンピュータがダウンした場合に、他方のコンピュータがStandBy側からActive側に切り替わって処理を継続することができる状態でのシステムの動作を本明細書では「冗長化動作」という。
これに対して、コンピュータがダウンした場合に、他方のコンピュータが処理を継続することができない状態でのシステムの動作を「シングル動作」という。
以降、冗長化システム1の各部分の具体的な構成を説明する。
PC1は、HB送信部11a〜11c及び処理部12を備える。HB送信部11a〜11cはそれぞれ、PC1のHB信号を一定の周期(以降、HB送信周期と記す)でPC2に送信する。HB送信周期は、例えば100ms程度である。処理部12は、CPUやメモリなどを備え、相手先マシンに対してアプリケーションやOS等によるサービスを提供する。
PC2は、HB受信部21a〜21c(受信部)、処理部22、HB通信状態判定部23、正常HB通信経路カウント部24(計数部)、閾値比較/動作判定部25(比較部)、記憶部26、StandBy/Active切り替え部27(切替部)、及び冗長化/シングル動作切り替え部28(切替部)を備える。
HB受信部21a〜21cは、PC1のHB送信部11a〜11cが送信したHB信号を、HB通信経路31〜33を介して個別に受信する。HB受信部21aは、HB送信部11aのHB送信周期と同じ周期でスリープから起床して、HB送信部11aが送信したHB信号を受信し、その受信結果をHB通信状態判定部23に伝える。HB受信部21b、21cについても同様に、HB送信部11b、11cが出力したHB信号の受信結果をそれぞれHB通信状態判定部23に伝える。
HB通信状態判定部23は、HB受信部21a〜21cから伝えられたHB信号の受信結果に基づき、HB通信経路31〜33が正常か不通かを判定する。例えば、HB受信部21aが、HB送信部11aにおけるHB送信周期の3周期分の期間が経過してもHB信号を受信しなかった場合には、HB通信経路31が不通であると判定し、それ以外は正常であると判定する。HB通信状態判定部23は、同様にしてHB通信経路32、33が正常か不通かを判定する。HB通信状態判定部23は、上記判定結果を正常HB通信経路カウント部24に伝える。
正常HB通信経路カウント部24は、HB通信状態判定部23によって正常と判定されたHB通信経路の数(以降、正常HB通信経路数と記す)をカウントする。各HB受信部21a〜21cが、各HB信号を受信するタイミングは一致しているとは限らず、HB通信状態判定部23は、それぞれのHB信号を受信する都度、判定を行っている。従って、正常HB通信経路カウント部24は、HB送信周期の間、HB通信状態判定部23による判定結果を保持し、正常HB通信経路数をカウントする機能を有する。
記憶部26は、予め設定された所定の閾値を記憶する。閾値は、障害の同時発生を許容できるHB通信経路の数によって決定する。例えば、図1に示すように、HB通信経路が全部で3つある場合において、閾値を2と設定した場合を説明する。3つのHB通信経路が全て正常である場合には、このうちの2つのHB通信経路に同時に障害が発生しても、正常なHB通信経路が1つ残るため、PC2はPC1のHB信号を認識することができる。従って、PC1がダウンしていないのにも関わらずPC2がActive側となるSBが発生するのを回避することができる。この場合、障害の同時発生を許容できるHB通信経路の数は2つまでであるため、閾値として2以下の正の整数値を設定することができる。
一方、例えばHB通信経路の数が4つである場合には、HB通信経路に同時発生する障害が3つ以下であれば、SBの発生を回避することができる。つまり、障害の同時発生を許容できる最大のHB通信経路の数は3である。この場合、閾値として3以下の正の整数値を設定することができる。
閾値は、後述するようにPC2を待機状態から解除状態に切り替えるか否かを判定する際に用いる。
閾値比較/動作判定部25は、正常HB通信経路カウント部24が保持している最新の正常HB通信経路数(計数結果)と、記憶部26が記憶している閾値とを比較し、比較の結果に基づいて冗長化/シングル動作切り替え部28及びStandBy/Active切り替え部27に対して指示を与える。
StandBy/Active切り替え部27は、閾値比較/動作判定部25の指示に基づき、PC2をStandBy側からActive側に切り替える。
冗長化/シングル動作切り替え部28は、閾値比較/動作判定部25の指示に基づき、PC2を待機状態から解除状態に切り替える。これにより、冗長化システム1は冗長化動作からシングル動作に切り替わる。シングル動作に切り替わった以降は、たとえ正常HB通信経路数がゼロとなった場合でも、PC2はActive側にはならない。
なお、StandBy/Active切り替え部27と冗長化/シングル動作切り替え部28とは同一の構成要素であってもよい。
上記した本実施形態の冗長化システム1の動作を、図2に示すフローチャートを用いて説明する。
初期状態では、PC1がActive側であり、PC2がStandBy側(待機状態)であり、冗長化システム1は冗長化動作を実行している(ステップS1)。
次に、HB通信状態判定部23は、各HB通信経路31〜33が正常か不通かを判定する(ステップS2)。
次に、正常HB通信経路カウント部24は、正常HB通信経路数をカウントして、そのカウント結果を保持する(ステップS3)。
次に、閾値比較/動作判定部25は、正常HB通信経路数と閾値とを比較する(ステップS4)。比較の結果、正常HB通信経路数が閾値よりも大きい値である場合には、PC2の待機状態が継続されてステップS2に戻る。
ステップS4における比較の結果、正常HB通信経路数が1以上であって閾値以下であった場合には、閾値比較/動作判定部25は冗長化/シングル動作切り替え部28を駆動させて、PC2を待機状態から解除状態に切り替えることにより、冗長化システム1を冗長化動作からシングル動作に切り替える(ステップS5)。これにより、PC1をActive側としたシングル動作が実行され(ステップS6)、その後に閾値を超える数の障害がHB通信経路に発生することでSBが発生するのを回避することができる。
ステップS4の比較の結果、正常HB通信経路数が0(零)であった場合には、PC1がダウンしていると考えられるため、閾値比較/動作判定部25はStandBy/Active切り替え部27を駆動させて、PC2をStandBy側からActive側(稼働状態)に切り替える(ステップS7)。これにより、PC2をActive側としたシングル動作が実行される(ステップS8)。
以上に示した本実施形態の冗長化システム1の効果を、図10に示す従来の冗長化システム100との比較により説明する。
図10に示す従来の冗長化システム100では、正常HB通信経路数が0となった場合に、PC1がダウンしていると判断し、PC2をActive側に切り替える。一方、正常HB通信経路数が1以上である場合には、PC1はダウンしていないと判断して冗長化動作を継続する。この場合、例えば正常HB通信経路数が1である場合にも冗長化動作が継続されるため、この状態でHB通信経路に障害が発生すると、PC1がダウンしていないのにも関わらずPC2がActive側に切り替わってSBが発生するおそれがある。
一方、本実施形態の冗長化システム1によれば、正常HB通信経路カウント部24が正常HB通信経路数を監視し、正常HB通信経路数に変動があった場合に、冗長化動作を継続するか、シングル動作に切り替えるか、を正常HB通信経路数と閾値との比較により判断する。例えば閾値を2と設定した場合、正常HB通信経路数が2以下になると冗長化動作を停止してシングル動作に切り替わる(縮退する)ため、その後に2つのHB通信経路に同時に障害が発生したとしてもSBが発生するのを回避することができる。
閾値は、1以上であってHB通信経路の数よりも小さい値が設定されるのが好ましい。また、閾値を大きく設定するほど、冗長化システム1のSB回避についての信頼性を高めることができる。
また、例えばプラント等に用いられるプロセス制御システムにおいては、フィードバック制御等のように、前回周期までの処理データを次の処理周期の入力に使用する場合がある。このような場合には、前回周期までの処理データを欠損なく次の処理周期における処理に反映させることが要求される。そして、Active側のコンピュータがダウンする等して、StandBy側のコンピュータがActive側に切り替わって処理を続行する際に、処理データが欠損するのを防ぐためには、待機状態にあるコンピュータのStandBy側からActive側への切り替えを制御処理周期内に行うこと(リアルタイム性)が求められる。
本実施形態の冗長化システム1によれば、上記リアルタイム性を確保することができる。例えばHB送信周期が100msである場合、HB通信状態判定部23によるHB通信経路31〜33が正常か不通かの判定に要する時間は、HB送信周期の3周期分であるとすると300msとなる。そして、正常HB通信経路カウント部24による正常HB通信経路数のカウントと、閾値比較/動作判定部25による正常HB通信経路数と閾値との比較と、StandBy/Active切り替え部27によるPC2のStandBy側からActive側への切り替えに要する時間は、それぞれ1ms以下である。従って、これら一連の動作に要する時間は300ms程度である。
プラント等のプロセス制御システムの制御処理周期が1秒程度であったとしても、上記一連の動作に要する時間はこの制御処理周期よりも充分に短いため、リアルタイム性を確保することができる。そして、例えばPC1がダウンしたとしても、制御処理周期内にPC2がStandBy側からActive側に切り替わることで、処理データの欠損を防ぐことができる。
なお、閾値をより大きな値に設定することにより、障害の同時発生を許容できるHB通信経路数を増やすことができるため、SB回避についての信頼性をより高めた冗長化システム1を提供することができる。
また、PC2は、HB通信経路の不通を検出した場合に、他のHB通信経路を利用して、不通となったHB通信経路についての情報をPC1に通知する通知部を備えていてもよい。これにより、正常HB通信経路数が閾値以下となる前に不通となったHB通信経路を修復させることにより、シングル動作に切り替わる頻度を低減することができる。
(第2実施形態)
次に、本発明に係る第2実施形態について説明するが、第1実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
本実施形態では、HB通信経路の構成が第1実施形態と異なる。
第2実施形態に係る冗長化システム2について、図3を用いて説明する。図3に示されるように、冗長化システム2におけるPC1は、HB送信部11nを備えている。HB送信部11nは、HB送信部11a等と同様に、PC1のHB信号を一定の周期でPC2に送信する。
冗長化システム2におけるPC2は、HB受信部21nを備えている。HB受信部21nは、PC1のHB送信部11nが送信したHB信号を、アプリケーション用途の既存のNICや既存のネットワーク網(L2SWなど)を介して受信する。
HB通信経路は、特殊なネットワーク仕様を必要とせず、HBパケットのデータ部に情報を載せる必要もない。従って、上記のように既存の設備によって兼用させることができる。
(第3実施形態)
次に、本発明に係る第3実施形態について説明するが、第1実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
第1実施形態では、複数のHB通信経路31〜33が相互に独立である場合を示した。つまり、HB通信経路31〜33が相互にNICやネットワーク機器等を共有せず、物理的に独立した構成になっている場合である。このように、HB通信経路が相互に独立している場合は、HB通信経路で発生した故障や人為的ミス等の障害が、他のHB通信経路に影響を与えない。
一方、実際にHB通信経路を構築するときに、複数のHB通信経路が1つのネットワークスイッチを共有する場合などがある。このような場合、このネットワークスイッチ自体の故障や、誤ってこのネットワークスイッチの電源をOFFにしてしまうなどの人為的ミスにより、複数のHB通信経路の通信が途絶えてしまう可能性がある。このように、1つのスイッチ等についての障害によって、複数のHB通信経路が不通となる場合、本明細書ではその複数のHB通信経路に「障害の関連」があると記す。すなわち、障害の関連とは、複数のHB通信経路が互いにネットワーク機器などを共有することにより、そのネットワーク機器の故障や、人による運用操作によって、同時に複数のHB通信経路が不通となる場合における各HB通信経路同士の関係性を示す。
第3実施形態では、冗長化システムに障害の関連があるHB通信経路が含まれる場合について示す。
第3実施形態に係る冗長化システム3について、図4を用いて説明する。PC1のHB送信部11a〜11dはそれぞれ、HB通信経路41〜44を介してPC2のHB受信部21a〜21dにHB信号を送信する。HB通信経路41及びHB通信経路44は、他のHB通信経路から独立しているが、HB通信経路42、43は共通のSWにより中継されている。なお、SWはL2SWやL3SWなどのスイッチである。このSWに障害が発生すると、HB通信経路42、43は同時に不通となる。従って、HB通信経路42、43は互いに障害の関連がある。
冗長化システム3は4つのHB通信経路41〜44を有するが、HB通信経路41の障害と、SWの障害と、HB通信経路44の障害と、の3つの障害によって、全てのHB通信経路41〜44が不通となる。このように、独立した正常HB通信経路数に相当する実質的に正常な通信経路の数を、本明細書では「実効HB通信経路数」と記す。例えば、冗長化システム3の実効HB通信経路数は3である。
冗長化システム3のPC2は、図4に示すように、リスト記憶部29を備えている。このリスト記憶部29は、上記障害の関連についての情報である実効HB通信経路リスト(リスト情報)を記憶する。この実効HB通信経路リストについて、表1を用いて説明する。
表1に示すように、実効HB通信経路リストには、HB通信経路41〜44のそれぞれについての障害の関連の有無と、想定される障害の種類(発生箇所)が列挙されている。例えば、HB通信経路41についての障害はHB通信経路41の経路内での発生が想定され、HB通信経路42、43についての障害はSWでの発生が想定される。HB通信経路42、43については、SWではなくそれぞれのHB通信経路内で別個に障害が発生することも考えられるが、各HB通信経路内で別個に発生する障害は、HB通信経路42、43が同時に不通となるSWにおける障害に包含される。このような包含関係の場合には、障害によって不通となる範囲が大きい条件(ワーストケース)を実効HB通信経路リストに記載する。表1に示す例では、実効HB通信経路No.1〜3が記載され、実効HB通信経路No.2にHB通信経路42、43が包含されている。
Figure 2017187868
上記のように構成された冗長化システム3の作用について、第1実施形態とは異なる点について説明する。
正常HB通信経路カウント部24は、リスト記憶部29に記憶された実効HB通信経路リスト(表1)を参照し、正常な実効HB通信経路数をカウントする。具体的には、その時点でのHB通信経路41〜44がそれぞれ正常か不通かを、実効HB通信経路リストの該当するHB通信経路の良否欄に記録する。そして、その結果に基づいて実効HB通信経路No.1〜3が正常か不通かを、該当する良否欄に記録して、正常と判断された実効HB通信経路の数をカウントする。
このとき、実効HB通信経路が正常なHB通信経路を1経路以上持つ場合には、その実効HB通信経路は正常であると判断される。例えば、表1に示す例において、HB通信経路42、43のうち1つでも正常であれば、実効HB通信経路No.2は正常であると判断される。また、HB通信経路42、43の両方が不通である場合には、実効HB通信経路No.2は不通であると判断される。すなわち、正常な実効HB通信経路数とは、実効HB通信経路リストにおいて、正常なHB通信経路を1経路以上持つ実効HB通信経路の経路数である。ただし、正常な実効HB通信経路の経路数が、正常HB通信経路数を超える場合には、正常HB通信経路数を正常な実効HB通信経路の経路数とする。例えば、図5(c)に示す例で、HB通信経路53bのみが正常であった場合、正常HB通信経路数が1であるにも関わらず、正常な実効HB通信経路の経路数が2となってしまう。このような場合には、正常HB通信経路数(=1)を正常な実効HB通信経路の経路数とする。
閾値比較/動作判定部25は、正常な実効HB通信経路数と閾値とを比較する。なお、閾値は実効HB通信経路数を基準として設定されている。閾値比較/動作判定部25が比較の結果に基づいてStandBy/Active切り替え部27及び冗長化/シングル動作切り替え部28に与える指示は第1実施形態と同様である。
本実施形態の冗長化システム3によれば、ある特定の障害に関連する通信経路を集め、それらをまとめて、独立した1個の通信経路(実効HB通信経路)として扱うことができる。
図4に示す例においては、HB通信経路の数は4であるが、HB通信経路42及び43がSWを共有しているので、実効HB通信経路は3である。ここで、閾値を2に設定している場合においては、3つの実効HB通信経路のうち、同時期に2つの実効HB通信経路が不通となった場合、SBの発生を回避するように動作する(PC2は「待機状態」から「解除状態」に移行する)。
つまり、実効HB通信経路が3つとも正常の場合には冗長化動作を継続しているが、例えば、HB通信経路41とSWが不通になれば、実効HB通信経路が同時期に2つ不通となり(つまり、閾値=2と等しくなった状態)、PC2は「解除状態」に移行する(シングル運転に切り替わる)。
この動作により、その後にHB通信経路44が発生した場合でも、PC2はActive側に移行することはなく、SBを回避することができる。
ここで、実効HB通信経路リストの変形例について、図5(a)〜(d)及び表2〜5を用いて説明する。
図5(a)に示すように、例1のHB通信経路では、HB通信経路51b内にSWを含むが、HB通信経路51bとHB通信経路51aとは互いに独立している。従って、HB通信経路51aとHB通信経路51bとの間には障害の関連がない。この場合には、表2に示す実効HB通信経路リストのように、HB通信経路数と実効HB通信経路数とが等しく、両者とも2となる。
Figure 2017187868
図5(b)に示すように、例2のHB通信経路では、HB通信経路52aは独立しているが、HB通信経路52b、52cは1つのSWを共有している。このSWに障害が発生すると、HB通信経路52b、52cが同時に不通となるため、この2つのHB通信経路は互いに障害の関連がある。この場合には、表3に示す実効HB通信経路リストのように、HB通信経路数は3であるが実効HB通信経路数は2となる。
Figure 2017187868
図5(c)に示すように、例3のHB通信経路では、HB通信経路53a、53bはSW1を共有し、HB通信経路53b、53cはSW2を共有し、HB通信経路53c、53dはSW3を共有している。このため、SW1に障害が発生するとHB通信経路53a、53bが同時に不通となり、SW2に障害が発生するとHB通信経路53b、53cが同時に不通となり、SW3に障害が発生するとHB通信経路53c、53dが同時に不通となる。この場合には、表4に示す実効HB通信経路リストのように、実効HB通信経路数は3となる。
Figure 2017187868
図5(d)に示すように、例4のHB通信経路では、HB通信経路54a、54bはSW1を共有し、HB通信経路54a、54b、54cはSW2を共有し、HB通信経路54c、54dはSW3を共有している。このうち、SW1が故障してHB通信経路54a、54bが同時に不通となる障害は、SW2が壊れてHB通信経路54a、54b、54c同時に不通となる障害に包含される。この場合には、表5に示す実効HB通信経路リストのように、SW1が故障してHB通信経路54a、54bが同時に不通となる障害は列挙されず、実効HB通信経路数は2となる。このように、実効HB通信経路数が2つしかない場合は、仮にSW2もしくはSW3に異常が発生しても、SBを生じさせないため、閾値を1に設定しておく。これにより、例えば、SW2もしくはSW3のいずれかに異常が発生した場合、実効HB通信経路数は1(=閾値)となるため、PC2は「解除状態」に移行する(シングル運転に切り替わる)。
この動作により、その後に残ったSWの故障が発生した場合でも、PC2がActive側に移行することはなく、SBを回避することができる。
Figure 2017187868
(第4実施形態)
次に、本発明に係る第4実施形態について説明するが、第1実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
第1実施形態では、正常HB通信経路数が閾値以下となったときに、PC2が待機状態から解除状態に切り替わり、冗長化システム1がシングル動作に切り替わる(縮退する)ことによってSBの発生を回避する構成を示した。
第4実施形態では、冗長化システムがシングル動作から冗長化動作に自動的に復旧することを可能とする。
第4実施形態における冗長化システムの動作について、図6に示すフローチャートを用いて説明する。
ステップS6以前の動作については、図2に示す第1実施形態のステップS1〜ステップS6の動作と同様であるため、説明を省略する。
第4実施形態では、ステップS6においてPC2が待機状態から解除状態に切り替わってシングル動作が実行された後も、HB通信状態判定部23によるHB通信経路31〜33が正常か不通かの判定を継続し、正常なHB通信経路の箇所及び不通となっているHB通信経路の箇所を把握する(ステップS9)。
そして、正常HB通信経路カウント部24は、正常HB通信経路数をカウントする(ステップS10)。
次に、閾値比較/動作判定部25は、正常HB通信経路数と閾値とを比較する(ステップS11)。比較の結果、正常HB通信経路数が閾値以下であった場合にはステップS9に戻る。比較の結果、正常HB通信経路数が閾値よりも大きい値になった場合は、閾値比較/動作判定部25は冗長化/シングル動作切り替え部28を駆動してPC2を解除状態から待機状態に切り替えることで、冗長化システム1をシングル動作から冗長化動作に切り替える(ステップS12)。これにより、冗長化動作が実行される(ステップS13)。
以上のようにすると、例えばHB通信経路が、一部のスイッチ等の故障やケーブルの抜け・切断などによって不通となり、正常HB通信経路数が一時的に閾値以下となって冗長化システムがシングル動作に切り替わった場合でも、その後に不通となった箇所が修復されて正常HB通信経路数が閾値を上回る数に回復した場合には、自動的にシステムの冗長化動作を復旧させることができる。
なお、ステップS6においてPC2が解除状態に切り替わった後も、PC2がPC1とのデータの等値化等を継続することにより、HB通信経路数が閾値を上回る数に回復した場合に、速やかにシステムの冗長化動作を復旧させることができる。
また、本実施形態と第3実施形態とを組み合わせて、実効HB通信経路数と閾値との比較によって、冗長化システム3をシングル動作から冗長化動作に自動的に復旧させてもよい。
(第5実施形態)
次に、本発明に係る第5実施形態について説明するが、第1実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
第1実施形態では、PC2に閾値比較/動作判定部25等の縮退機能を実現するための構成要素が備えられていたが、第5実施形態ではPC1にもこれらの構成要素が備えられている。そして、PC1がダウン等することによって、冗長化システムがPC2をActive側とするシングル動作を実行した後、PC1が復旧した場合に自動的に冗長化動作の復旧を行う。
図7に示すように、本実施形態の冗長化システム4におけるPC1は、HB受信部19a〜19cと、HB通信状態判定部13と、正常HB通信経路カウント部14と、閾値比較/動作判定部15と、記憶部16と、StandBy/Active切り替え部17と、冗長化/シングル動作切り替え部18と、備える。これらの構成要素の動作は、PC2の対応する構成要素の動作と同様であるため、詳細な説明は省略する。
冗長化システム4は、HB通信経路34〜36を有する。HB通信経路34〜36は、PC2のHB送信部29a〜29cが出力するHB信号を、PC1のHB受信部19a〜19cにそれぞれ伝える。
本実施形態に係る冗長化システム4の作用について、図8に示すフローチャートを用いて説明する。ステップS8以前の動作については、図2に示す第1実施形態のステップS1〜S4及びステップS7、ステップS8と同様であるため、説明を省略する。
PC2がActive側のシングル動作が実行(ステップS8)された後、PC1のHB通信状態判定部13はHB通信経路34〜36が正常か不通かの判定を行う(ステップS14)。
次に、正常HB通信経路カウント部14は、HB通信経路34〜36のうちの正常HB通信経路数をカウントする(ステップS15)。
次に、閾値比較/動作判定部15は、正常HB通信経路数と、記憶部16が記憶する閾値とを比較する(ステップS16)。比較の結果、正常HB通信経路数が閾値以下であった場合にはステップS14に戻る。比較の結果、正常HB通信経路数が閾値よりも大きかった場合は、閾値比較/動作判定部15は冗長化/シングル動作切り替え部18を駆動してPC1を解除状態から待機状態に切り替えて、冗長化システム4をシングル動作から冗長化動作に切り替える(ステップS17)。これにより、PC2がActive側でPC1がStandBy側とする、冗長化システム4の冗長化動作が自動的に復旧される(ステップS18)。
このようにすると、例えばPC1がダウンすることによりPC2がActive側となった後、PC1が修復された場合に、冗長化システム4を自動的にシングル動作から冗長化動作に復旧させることができる。
(第6実施形態)
次に、本発明に係る第6実施形態について説明する。第1〜第5実施形態では、2台のPCによる2重化運転について説明したが、本実施形態では3台以上のPCによる多重化運転について説明する。
本実施形態の冗長化システム5は、図9に示すように、1台のActive側のPCであるPC1と、2台のStandBy側のPCであるPC2及びPC3(第3の装置)と、を有する。本実施形態のPC1は、第5実施形態で示したPC1(図7参照)と同様の構成を有し、PC2及びPC3と相互にHB信号を送受信する。これと同様に、PC2はPC1及びPC3と相互にHB信号を送受信し、PC3はPC1及びPC2と相互にHB信号を送受信する。また、PC1〜PC3はそれぞれ、図2に示すフローチャートと同様のステップにより他の2台のPCとの間の正常HB通信経路数をカウントし、この結果と閾値とを比較して冗長化/シングル動作の切り替え及びStandBy/Activeの切り替えを行うことができる。
図示の例では、PC1−PC2間、PC1−PC3間、PC2−PC3間のHB通信経路数は4であり、いずれのHB通信経路も各SW1〜4により中継されている。このように、冗長化システム5は3重化運転されている。なお、StandBy側のPCは3台以上であってもよい。
PC1−PC2間、PC1−PC3間、PC2−PC3間の閾値をそれぞれ3に設定した場合、各PC間の正常なHB通信経路が4以上あれば、3重化運転が継続される。仮にこの状態で、3つ(閾値設定値)のHB通信経路の異常が同時期に発生しても、正常なHB通信経路は1経路以上残っており、その経路を通じActive側のPC1の生存が確認できる。この条件で縮退(シングル動作に移行)すれば、SBの発生を回避することが可能である。
また、前記第1〜第5実施形態では、冗長化システムが冗長化動作からシングル動作に切り替わることを「縮退」として説明したが、本実施形態における縮退は、3重化運転から2重化運転に切り替わることも含む。
例えば、図9に示すように、3台のPCで3重化運転していた場合、PC2及びPC3は、それぞれPC1からのHB信号を確認している。ここで例えば、PC2が確認しているPC1−PC2間の正常HB通信経路数が1以上であって閾値以下となった場合、PC2は待機状態から解除状態に切り替わる。一方、PC3が確認しているPC1−PC3間の正常HB通信経路数が閾値よりも大きい値である場合には、PC3は待機状態を継続する。結果として、3重化運転が2重化運転に縮退されることとなる。なお、PC2及びPC3の閾値をそれぞれ別の値に設定してもよい。
また、PC1〜PC3が、それぞれ本発明の第5実施形態で示した構成(図7参照)を有する場合、2重化運転から3重化運転に自動的に復旧させることができる。
例えば、3重化運転中にPC1−PC2間の正常HB通信経路数が1以上であって閾値以下となり、PC2が待機状態から解除状態に切り替わった後、さらにPC1が故障してPC3がActive側に切り替わった場合、通常であれば冗長化システム5はPC3単独のシングル動作となる。
ここで、解除状態となっているPC2と、Active側となっているPC3と、の間の正常HB通信経路数が閾値より大きい値である場合においては、PC2を待機状態に切り替えて、PC2及びPC3による冗長化動作を構成できる。
このようにすると、PC1−PC2間の正常HB通信経路数の減少及びPC1の故障という多重の障害が発生した場合であっても、冗長化システム5がシングル動作に切り替わるのを防止してPC2及びPC3による冗長化動作を継続することが可能となり、システム全体としての信頼性を維持することができる。
以上説明したように、第6実施形態の冗長化システム5によれば、3台以上のPCのうちActive側となっているPCが変わった場合においても、各PCはActive側PCとの間に設定された閾値を参照し、Active側PCとの間で、自動的に解除状態に切り替え若しくは待機状態に復旧することにより、その条件に対応した台数での冗長化構成を自動的にとる(能動的に変化する)ことが可能となる。
なお、冗長化システム5のように2台以上のStandBy側のPCを用いて冗長化する場合、各PCのHB受信部およびHB送信部は、共通のものを用いてもよい。例えば、1つの共通HB受信部をPC1〜PC3がそれぞれ用いる場合には、この共通HB受信部が受信したPC1〜PC3のそれぞれのHBパケットに含まれる送信元アドレスによって、どのPCからのHB信号かを判断する機能をHB通信部に持たせてもよい。また、1つの共通HB送信部をPC1〜PC3がそれぞれ用いる場合には、この共通HB送信部を、HB通信経路上でSWなどを介して分岐させて各PCに接続してもよい。
また、上記した第1〜第6実施形態及びその変形例は、例えばhttps://www.yokogawa.co.jp/rd/pdf/tr/rd-tr-r05402-005.pdfに示されるようなコントローラ、ゲートウエイ装置等を用いたプラントのプロセス制御システムに適用することができる。
この種のプロセス制御システムでは、高信頼性/リアルタイム制が要求されるが、上記各実施形態を適用して複数のPCによる冗長化構成をとることにより、これらの要求に対応することが可能となる。
以下に、本発明の概念(コンセプト)について改めて整理して記す。
冗長化装置を含む冗長化システムにおいて、万一、一部の冗長化装置に故障が発生した場合、他装置(相手先マシンなど)からその故障発生を把握することが可能であり、対策を取ることも可能である。一方、冗長化装置にSBが発生すると、他装置からは同冗長化装置の異常を検出できず、通信の不安定さに起因する誤ったデータを使用してしまう可能性がある。よって、システム全体でみると、冗長化装置の故障回避より、SB発生を回避することの方が重要である。
本発明における基本コンセプトは、冗長化装置の(実効)HB通信経路を少なくとも1経路残す(つまり、冗長化動作可能条件を若干小さくする)ことの見返りとして、縮退(冗長化動作を止め、シングル動作に移行する)し、SB回避を行うことにある。
さらに、縮退する条件を、冗長化装置の構成(HB通信経路数など)に合わせて、適切に設定すべく、閾値という概念を提案した。
また、複数のHB通信経路内に単一故障点(障害の関連)が存在する場合に備え、実効HB通信経路数という概念を提案した。
そして、一旦、縮退した冗長化装置を、冗長化動作に復旧させる手段、方法についても提案した。
さらには、複数のPCで構成された冗長化装置において、各PC間を接続するHB通信経路状況に応じて、冗長化を組むPC台数を能動的に変化させて信頼性を保つと共に、SB回避を実現する方法について提案した。
なお、SB発生の確率は低いほど好ましいが、システムが冗長化動作からシングル動作に切り替わる確率よりもSB発生確率を低く設定することにより、SBが発生する前にその原因となる冗長化動作を停止させることができる。従って、高い信頼性を要求されるプラントのプロセス制御システムなどにおいては、システムが冗長化動作からシングル動作に切り替わる確率よりもSB発生確率が低くなるように、冗長化システムの構成(PCの台数、HB通信経路数、及び閾値など)を設定するとよい。
また、本発明の技術的範囲は前記第1実施形態〜第6実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
例えば、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能であり、また、上記した第1実施形態〜第5実施形態やその変形例を適宜組み合わせてもよい。
1〜4…冗長化システム、11a〜11c…HB送信部、12…処理部、21a〜21c…HB受信部(受信部)、22…処理部、23…HB通信状態判定部、24…正常HB通信経路カウント部(計数部)、25…閾値比較/動作判定部(比較部)、26…記憶部、27…StandBy/Active切り替え部(切替部)、28…冗長化/シングル動作切り替え部(切替部)、29…リスト記憶部(記憶部)、31〜33…HB通信経路(通信経路)、PC1…冗長化相手方装置、PC2…冗長化装置

Claims (11)

  1. プラントのプロセス制御装置における、冗長化相手方装置と冗長化して運用される待機状態である冗長化装置において、
    前記冗長化相手方装置から送信される複数のHB信号を個別に受信する複数の受信部と、
    前記受信部の受信結果に基づいて、前記複数のHB信号の通信経路のうち正常な通信経路の数を計数する計数部と、
    前記計数部の計数結果と予め設定された閾値とを比較する比較部と、
    前記計数部の計数結果及び前記比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、
    を備えることを特徴とする冗長化装置。
  2. 前記閾値は、1以上であって前記複数のHB信号の通信経路の数よりも小さい値が設定されることを特徴とする請求項1記載の冗長化装置。
  3. 前記切替部は、前記計数部の計数結果が零である場合には、待機状態から稼働状態への切り替えを行い、
    前記計数部の計数結果が1以上であって前記閾値以下である場合には、待機状態から前記解除状態への切り替えを行う、
    ことを特徴とする請求項1又は請求項2記載の冗長化装置。
  4. 前記計数部の計数結果が前記閾値よりも大きい値である場合には、待機状態が継続されることを特徴とする請求項3記載の冗長化装置。
  5. 前記切替部は、待機状態から前記解除状態への切り替えを行った後に、前記計数部の計数結果が前記閾値よりも大きい値になった場合には、前記解除状態から待機状態への切り替えを行うことを特徴とする請求項3記載の冗長化装置。
  6. 前記複数のHB信号の通信経路についての障害の関連を表したリスト情報を記憶する記憶部を更に備えること、
    を特徴とする請求項1から請求項5の何れか一項に記載の冗長化装置。
  7. 前記計数部は、前記記憶部に記憶された前記リスト情報を参照して、前記複数のHB信号の通信経路のうち実質的に正常な通信経路の数を計数すること、
    を特徴とする請求項6記載の冗長化装置。
  8. プラントのプロセス制御装置における、第1の装置と、該第1の装置とネットワークを介して接続された第2の装置と、を備える冗長化システムであって、
    前記第2の装置は、
    前記第1の装置から送信される複数のHB信号を個別に受信する複数の受信部と、
    前記受信部の受信結果に基づいて、前記複数のHB信号の通信経路のうち正常な通信経路の数を計数する計数部と、
    前記計数部の計数結果と予め設定された閾値とを比較する比較部と、
    前記計数部の計数結果及び前記比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、
    を備えることを特徴とする冗長化システム。
  9. 前記冗長化システムは、前記第1の装置及び前記第2の装置とネットワークを介して接続された第3の装置をさらに備え、
    前記第2の装置は、前記第3の装置から送信される複数のHB信号の受信結果に基づいて、前記解除状態または前記待機状態の維持、或いは前記解除状態から前記待機状態への切り替えを行うことを特徴とする請求項8記載の冗長化システム。
  10. プラントのプロセス制御装置における、第1の装置と、該第1の装置とネットワークを介して接続された第2の装置と、を備える冗長化システムの冗長化方法であって、
    前記第1の装置から送信される複数のHB信号を前記第2の装置が個別に受信する第1ステップと、
    前記第1ステップの受信結果に基づいて、前記複数のHB信号の通信経路のうち正常な通信経路の数を計数する第2ステップと、
    前記第2ステップの計数結果と予め設定された閾値とを比較する第3ステップと、
    前記第2ステップの計数結果及び前記第3ステップの比較結果に応じて、前記第2の装置を待機状態から稼働状態へと切り替え、或いは待機状態から冗長化を解除した解除状態へと切り替え、或いは待機状態を維持する第4ステップと、
    を有することを特徴とする冗長化方法。
  11. 前記第4ステップで前記第2の装置を前記待機状態から前記解除状態へと切り替えた後に、前記第2ステップの計数結果が前記閾値よりも大きい値になった場合に、前記第2の装置を前記解除状態から前記待機状態へと切り替える第5ステップを有することを特徴とする請求項10記載の冗長化方法。
JP2016074730A 2016-04-01 2016-04-01 冗長化装置、冗長化システム、及び冗長化方法 Active JP6409812B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2016074730A JP6409812B2 (ja) 2016-04-01 2016-04-01 冗長化装置、冗長化システム、及び冗長化方法
EP17163202.9A EP3226485B1 (en) 2016-04-01 2017-03-28 Redundancy device, redundancy system, and redundancy method
US15/470,976 US10339018B2 (en) 2016-04-01 2017-03-28 Redundancy device, redundancy system, and redundancy method
CN202010850710.9A CN111884923B (zh) 2016-04-01 2017-03-29 冗余化装置、冗余化系统以及冗余化方法
CN202010851984.XA CN111884924B (zh) 2016-04-01 2017-03-29 冗余化装置、冗余化系统以及冗余化方法
CN201710196691.0A CN107276731B (zh) 2016-04-01 2017-03-29 冗余化装置、冗余化系统以及冗余化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016074730A JP6409812B2 (ja) 2016-04-01 2016-04-01 冗長化装置、冗長化システム、及び冗長化方法

Publications (2)

Publication Number Publication Date
JP2017187868A true JP2017187868A (ja) 2017-10-12
JP6409812B2 JP6409812B2 (ja) 2018-10-24

Family

ID=58489489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016074730A Active JP6409812B2 (ja) 2016-04-01 2016-04-01 冗長化装置、冗長化システム、及び冗長化方法

Country Status (4)

Country Link
US (1) US10339018B2 (ja)
EP (1) EP3226485B1 (ja)
JP (1) JP6409812B2 (ja)
CN (3) CN111884923B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114384793A (zh) * 2022-03-24 2022-04-22 成都万创科技股份有限公司 一种多智能设备的监控系统及其控制方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108964978B (zh) * 2018-06-05 2021-03-16 北京空间飞行器总体设计部 一种基于三机通信有限状态机模型的三机表决方法
CN110488597B (zh) * 2019-08-18 2021-06-22 中车永济电机有限公司 机车主处理单元双冗余控制方法
CN113472641B (zh) * 2020-03-31 2023-07-07 中国电信股份有限公司 链路控制方法、装置、系统、协同业务编排器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123406A (ja) * 2000-10-17 2002-04-26 Pfu Ltd 高信頼性システム
JP2005196467A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置
US20100088440A1 (en) * 2008-10-03 2010-04-08 Donald E Banks Detecting and preventing the split-brain condition in redundant processing units
JP2012059193A (ja) * 2010-09-13 2012-03-22 Toshiba Corp 監視制御システム、およびこれに利用する監視制御装置、監視制御方法
WO2015098589A1 (ja) * 2013-12-25 2015-07-02 Necソリューションイノベータ株式会社 クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びコンピュータ読み取り可能な記録媒体

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
CN1109416C (zh) * 2000-04-25 2003-05-21 华为技术有限公司 交换机的主备倒换方法及其实现装置
US6785678B2 (en) * 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function
US6782489B2 (en) * 2001-04-13 2004-08-24 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system having multiple independent networks
CN100388218C (zh) * 2002-06-27 2008-05-14 中兴通讯股份有限公司 一种在服务器之间实现备份的方法
US20040153700A1 (en) * 2003-01-02 2004-08-05 Nixon Mark J. Redundant application stations for process control systems
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
WO2004095304A1 (en) * 2003-04-23 2004-11-04 Dot Hill Systems Corporation Network storage appliance with integrated redundant servers and storage controllers
US7284147B2 (en) * 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
EP1538812A1 (en) * 2003-12-01 2005-06-08 Alcatel System for redundantly exchanging information parts
US8543781B2 (en) * 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
JP3808874B2 (ja) * 2004-03-12 2006-08-16 東芝ソリューション株式会社 分散システム及び多重化制御方法
US20060056285A1 (en) * 2004-09-16 2006-03-16 Krajewski John J Iii Configuring redundancy in a supervisory process control system
JP4164704B2 (ja) * 2004-09-16 2008-10-15 日本電気株式会社 冗長化プロトコルと擬似冗長構成手段を用いたネットワーク接続機器の切換方法とネットワークシステム
JP4942756B2 (ja) * 2006-09-28 2012-05-30 三菱電機株式会社 故障検出装置、故障検出方法、および故障検出プログラム
EP2100224B1 (en) * 2007-01-03 2010-12-22 Raytheon Company Computer storage system
JP4625473B2 (ja) * 2007-01-15 2011-02-02 株式会社日立製作所 冗長切り替え方法
US8498967B1 (en) * 2007-01-30 2013-07-30 American Megatrends, Inc. Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
CN101291243B (zh) * 2007-04-16 2012-10-10 广东新支点技术服务有限公司 高可用集群系统的裂脑预防方法
US8122283B2 (en) * 2008-05-07 2012-02-21 Padcom Holdings Inc. Communications path status detection system
CN101378359A (zh) * 2008-10-06 2009-03-04 中兴通讯股份有限公司 一种强制链路主备切换的方法和装置
JP5392034B2 (ja) * 2009-12-01 2014-01-22 富士通株式会社 通信装置および通信方法
US8108715B1 (en) * 2010-07-02 2012-01-31 Symantec Corporation Systems and methods for resolving split-brain scenarios in computer clusters
CN103001787B (zh) * 2011-09-16 2016-08-03 中国银联股份有限公司 用于数据处理中心容灾备份的系统及方法
CN102394787B (zh) * 2011-12-14 2015-09-30 重庆邮电大学 基于epa交换机的双链路冗余控制方法
CN103297396B (zh) * 2012-02-28 2016-05-18 国际商业机器公司 群集系统中管理故障转移的装置和方法
CN102684929A (zh) * 2012-06-06 2012-09-19 广东威创视讯科技股份有限公司 一种双机热冗余备份方法和系统
CN102799394B (zh) * 2012-06-29 2015-02-25 华为技术有限公司 一种实现高可用集群的心跳服务的方法及装置
CN103780413B (zh) * 2012-10-22 2017-05-17 北京临近空间飞行器系统工程研究所 一种无缝冗余切换数据传输系统及其实现方法
CN102984059B (zh) * 2012-11-22 2015-08-19 中国电子科技集团公司第三十二研究所 千兆以太网冗余网卡及其链路切换条件判定结果控制方法
CN103077091B (zh) * 2012-12-28 2015-09-23 瑞斯康达科技发展股份有限公司 一种主备倒换的管理方法和系统
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
CN103780365B (zh) * 2014-01-26 2017-03-29 中国神华能源股份有限公司 动态的多链路冗余数据传输方法
CN103955188B (zh) * 2014-04-24 2017-02-15 清华大学 支持冗余切换功能的控制系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123406A (ja) * 2000-10-17 2002-04-26 Pfu Ltd 高信頼性システム
JP2005196467A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置
US20100088440A1 (en) * 2008-10-03 2010-04-08 Donald E Banks Detecting and preventing the split-brain condition in redundant processing units
JP2012059193A (ja) * 2010-09-13 2012-03-22 Toshiba Corp 監視制御システム、およびこれに利用する監視制御装置、監視制御方法
WO2015098589A1 (ja) * 2013-12-25 2015-07-02 Necソリューションイノベータ株式会社 クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びコンピュータ読み取り可能な記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114384793A (zh) * 2022-03-24 2022-04-22 成都万创科技股份有限公司 一种多智能设备的监控系统及其控制方法
CN114384793B (zh) * 2022-03-24 2022-06-07 成都万创科技股份有限公司 一种多智能设备的监控系统及其控制方法

Also Published As

Publication number Publication date
CN111884923B (zh) 2022-08-30
EP3226485A1 (en) 2017-10-04
CN107276731B (zh) 2021-03-26
US20170286242A1 (en) 2017-10-05
US10339018B2 (en) 2019-07-02
CN111884923A (zh) 2020-11-03
JP6409812B2 (ja) 2018-10-24
CN111884924A (zh) 2020-11-03
EP3226485B1 (en) 2019-01-09
CN107276731A (zh) 2017-10-20
CN111884924B (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
JP6409812B2 (ja) 冗長化装置、冗長化システム、及び冗長化方法
US8244838B2 (en) Industrial controller employing the network ring topology
US9602304B2 (en) Data transfer device system, network system, and method of changing configuration of network system
AU737333B2 (en) Active failure detection
JP5707355B2 (ja) ホットスタンバイ方式によるクライアントサーバシステム
US9497099B2 (en) Voting architecture for safety and mission critical systems
JP5480778B2 (ja) 2重化コンピュータネットワークシステム、ネットワーク接続装置および障害検知・対処方法
EP2720437B1 (en) Switch device, and method for controlling frame transmission/reception
JPWO2006075403A1 (ja) 伝送装置および障害通知方法
CN112698991B (zh) 基于1比1心跳的双机热备系统和方法
EP2074758A1 (en) Method for protection switching in ring topologies
JP2014164472A (ja) 情報処理システム、及び情報処理装置の障害処理方法
JP5459117B2 (ja) データ伝送装置及びデータ伝送方法
JP5215337B2 (ja) リンク制御装置、リンク制御システム、及びリンク制御方法
JP2014022777A (ja) ネットワーク制御システム及び通信経路制御方法
JP4232737B2 (ja) ネットワーク装置
KR20100109810A (ko) 링크 이중화 방법 및 그를 이용한 voip 시스템
JP4747758B2 (ja) ネットワーク装置
KR20130035664A (ko) 망 복구 방법 및 장치
JP5592172B2 (ja) 通信ネットワーク、リング接続ノード及び通信ネットワークの制御方法
JP5456741B2 (ja) アクセス収容ノード、アクセス収容ネットワーク、及びアクセス区間二重化経路切替方法
JP2014071773A (ja) 二重化制御装置およびその制御方法
KR100751643B1 (ko) 이동 통신 가입자 처리 장치의 비정상 동작을 감시하는방법
JP2006148761A (ja) ネットワークシステム
KR20140095867A (ko) 고가용성 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6409812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150