[go: up one dir, main page]

JP2014178793A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2014178793A
JP2014178793A JP2013051203A JP2013051203A JP2014178793A JP 2014178793 A JP2014178793 A JP 2014178793A JP 2013051203 A JP2013051203 A JP 2013051203A JP 2013051203 A JP2013051203 A JP 2013051203A JP 2014178793 A JP2014178793 A JP 2014178793A
Authority
JP
Japan
Prior art keywords
recovery
unit
processing
information
failure
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.)
Ceased
Application number
JP2013051203A
Other languages
Japanese (ja)
Inventor
Akira Aoki
亮 青木
Toshiyuki Ukai
敏之 鵜飼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013051203A priority Critical patent/JP2014178793A/en
Publication of JP2014178793A publication Critical patent/JP2014178793A/en
Ceased legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】信頼性の向上を実現可能な情報処理システムを提供する。
【解決手段】外部からの共通の入力に応じて同一の処理を実行し、第1〜第3処理結果をそれぞれ出力する処理ブロック310A〜310Cと、各処理ブロックにそれぞれ対応する診断ブロック300A〜300Cと、外部送受信ブロック10αとを備える。処理ブロック310A〜310Cは、再構成可能回路部319A〜319Cを含む。外部送受信ブロックおよび診断ブロックのそれぞれは、第1〜第3処理結果を多数決判定する多数決判定部14aα,14b〜14dと、多数決判定結果にエラーが有った場合に診断を行う障害診断部23aα,23b〜23dとを有する。ここで、障害診断部のそれぞれは、エラーを反映して生成した障害診断情報を他の障害診断部との間で第一通信部を介して共有する処理を行う。
【選択図】図1A
An information processing system capable of improving reliability is provided.
Processing blocks 310A to 310C that execute the same processing in response to a common input from the outside and output first to third processing results, respectively, and diagnostic blocks 300A to 300C that correspond to the processing blocks, respectively And an external transmission / reception block 10α. Processing blocks 310A-310C include reconfigurable circuit portions 319A-319C. Each of the external transmission / reception block and the diagnosis block includes a majority decision determination unit 14aα and 14b to 14d that determine the majority of the first to third processing results, and a failure diagnosis unit 23aα that performs diagnosis when there is an error in the majority determination result. 23b-23d. Here, each of the failure diagnosis units performs a process of sharing failure diagnosis information generated by reflecting an error with other failure diagnosis units via the first communication unit.
[Selection] Figure 1A

Description

本発明は、情報処理システムに関し、例えば、高信頼性が要求される金融機関向け等の情報処理システムに関する。   The present invention relates to an information processing system, for example, an information processing system for a financial institution that requires high reliability.

例えば、特許文献1には、FPGA(Field Programmable Gate Array)内において、三重化された処理系統と、その各処理結果の多数決を行う多数決判定論理部と、障害が発生した処理系統を検出し、当該処理系統を正常な処理系統の回路構成情報を用いて再構成する各種回路部とを備えた情報処理装置が示されている。   For example, Patent Document 1 detects a triple processing system, a majority decision logic unit that performs majority determination of each processing result, and a processing system in which a failure has occurred, in an FPGA (Field Programmable Gate Array), An information processing apparatus including various circuit units for reconfiguring the processing system using circuit configuration information of a normal processing system is shown.

特開2011−216020号公報JP 2011-216002 A

例えば、金融取引分野等では、取引遅延を原因とする損失を削減したいという継続的な需要があり、これまで、様々な方法で低遅延化が行われてきた。近年では、人に変わり、コンピュータによって取引を行うアルゴリズム取引が一般になったことで、低遅延化の需要はコンピュータが動作するマイクロ秒、ナノ秒オーダーにまで進んでいる。従来は、ソフトウェア技術やコンピュータシステムの技術進歩によって低遅延化が行われてきたが、マイクロ秒、ナノ秒オーダーの低遅延化に対しては限界があり、金融取引処理の専用回路による、さらなる低遅延化(低レイテンシ化)が望まれている。   For example, in the field of financial transactions and the like, there is a continuous demand for reducing losses caused by transaction delays, and so far, delays have been reduced by various methods. In recent years, instead of people, algorithmic trading using a computer has become common, and the demand for low delay has progressed to the order of microseconds and nanoseconds in which computers operate. Conventionally, the delay has been reduced by the advancement of software technology and computer system technology, but there is a limit to reducing the delay in the order of microseconds and nanoseconds. Delay (lower latency) is desired.

従来、専用回路を用いて低遅延化を行うため、低遅延化対象処理のASIC(Application Specific Integrated Circuit)化が行われてきた。しかし近年では、半導体技術の発展により、ASICに比べ低コストで、ハードウェアの配線や論理を動的に変更可能なFPGAを用いることが一般的である。FPGAは多様なI/O技術に対応しており、一般的なコンピュータネットワークへの接続も可能なため、一般的なコンピュータによって従来行われていた金融処理全てをFPGAで実現する事も可能である。また、FPGAを用いることで、一般的なコンピュータを使用した場合に冗長であった処理を廃し、金融取引処理に最低限必要な処理だけをFPGA上に実装する事が可能となり、従来の一般的なコンピュータでは達成できなかった低遅延化が可能になる。   Conventionally, in order to reduce the delay using a dedicated circuit, an ASIC (Application Specific Integrated Circuit) has been performed for the processing to be reduced. However, in recent years, due to the development of semiconductor technology, it is common to use FPGAs that can dynamically change hardware wiring and logic at lower cost than ASICs. Since the FPGA supports various I / O technologies and can be connected to a general computer network, it is possible to realize all financial processing conventionally performed by a general computer with the FPGA. . Also, by using an FPGA, it becomes possible to eliminate the processing that was redundant when using a general computer, and to implement only the minimum processing necessary for financial transaction processing on the FPGA. This makes it possible to reduce the delay that could not be achieved with a simple computer.

しかし、FPGAを用いることで新たな問題が発生する。FPGAは回路の構成を自由にプログラミング可能にするため、回路構成情報を書き換え可能なメモリに格納している。この回路構成情報を格納しているメモリはCRAM(Configuration RAM)等と呼ばれる。近年の高性能化や高機能化を支えるため、CRAMには高速大容量化に向いているSRAM(Static Random Access Memory)が使用される場合が多い。そのため、CRAMでは、アルファ線や中性子線等の放射線によって、ビット反転が起こる可能性が高い。このビット反転によって発生する一過性の障害はソフトエラーと呼ばれる。ソフトエラーの発生確率は、半導体製造プロセスの微細化により増加している。   However, a new problem occurs by using FPGA. The FPGA stores circuit configuration information in a rewritable memory so that the circuit configuration can be freely programmed. A memory storing the circuit configuration information is called a CRAM (Configuration RAM) or the like. In order to support high performance and high functionality in recent years, SRAM (Static Random Access Memory) suitable for high speed and large capacity is often used for CRAM. Therefore, in CRAM, there is a high possibility that bit inversion occurs due to radiation such as alpha rays and neutron rays. A transient failure caused by this bit inversion is called a soft error. The probability of occurrence of soft errors is increasing due to miniaturization of semiconductor manufacturing processes.

このような問題に対処するため、ソフトエラーを検出、訂正する方法を備えたFPGAも存在する。ただし、このようなFPGAでは、ソフトエラーの検出に伴いミリ秒オーダーの遅延が発生する恐れがある。したがって、マイクロ秒、ナノ秒オーダーの金融取引処理の中で、このようなFPGA内のソフトエラー検出機構を利用して信頼性の向上を図ったとしても、エラーを検出した時点では、既に誤った処理結果がシステム外部のユーザへ渡り、誤った処理結果を用いて次の取引を行う可能性がでてくる。金融取引処理において、誤った処理結果をシステムが提供することは、ユーザに対して多額の損害を与える可能性があるため、このようなFPGA内のソフトエラー検出機構をマイクロ秒、ナノ秒オーダーの低遅延化が必要な金融取引処理で活用することは困難となる。   In order to cope with such a problem, there is an FPGA having a method for detecting and correcting a soft error. However, in such an FPGA, there is a possibility that a delay on the order of milliseconds occurs with the detection of a soft error. Therefore, even in the case of improving the reliability by using such a soft error detection mechanism in the FPGA in the microsecond and nanosecond order financial transaction processing, when the error is detected, it is already wrong. There is a possibility that the processing result is transferred to a user outside the system and the next transaction is performed using the wrong processing result. In financial transaction processing, if the system provides an incorrect processing result, there is a possibility of causing a great deal of damage to the user. Therefore, the soft error detection mechanism in the FPGA is in the order of microseconds or nanoseconds. It will be difficult to utilize in financial transaction processing that requires low latency.

こうした低遅延環境において、エラーをほぼリアルタイムに検出、訂正するため、例えば、特許文献1に示されるような多数決方式を用いることが考えられる。これは三つ以上の同じ処理を行う処理系統を用意し、各系統それぞれで処理した結果を比べ、最も確からしい結果を正常な結果とみなす方法である。一般に、二重障害が起きる確率は非常に小さいため、三重化を行うことで、仮に一系統が障害しても、他の二系統が正しい結果を出力すれば、出力結果の多数決によってエラーを検出・訂正できる。また、エラーの原因がFPGAのCRAM上で起きたソフトエラーである場合、一過性の現象であるため、特許文献1のように、正常な回路構成情報を再びFPGAのCRAMに入力すれば回復が可能である。   In such a low-delay environment, in order to detect and correct errors almost in real time, for example, it is conceivable to use a majority voting system as disclosed in Patent Document 1. This is a method of preparing three or more processing systems that perform the same processing, comparing the results of processing in each system, and considering the most probable result as a normal result. In general, the probability of a double failure is very small, so if you perform a triple, even if one system fails, if the other two systems output the correct result, an error is detected by the majority of the output results・ Can be corrected. Also, if the cause of the error is a soft error that has occurred on the FPGA CRAM, this is a transient phenomenon. Therefore, as shown in Patent Document 1, if normal circuit configuration information is input again to the FPGA CRAM, the error is recovered. Is possible.

しかしながら、特許文献1の技術では、多数決によってエラー検出や訂正を行える範囲が部分的となる恐れがある。具体的には、FPGA内の三重化回路のエラー検出や訂正、およびCRAMの再構成は行えるが、多数決の判定を行う多数決判定論理部や、FPGA本体や、FPGAの自動回復を行う装置等が単一障害点を持つエラーを発生すると、そのエラーは特許文献1の技術では検出、訂正が困難となり、CRAMの再構成も困難となる。金融取引サービスの性質上、単一障害の発生後もサービスを継続する可用性が必須である。可用性を実現するためには、単一障害の発生後もエラー検出を行え、最悪でもエラーを外部へ漏らさずに停止する必要がある。   However, in the technique of Patent Document 1, there is a possibility that the range in which error detection and correction can be performed by a majority decision becomes partial. Specifically, the error detection and correction of the triple circuit in the FPGA can be performed, and the CRAM can be reconfigured. However, a majority decision logic unit that performs majority decision, an FPGA main body, a device that performs automatic recovery of the FPGA, and the like. When an error having a single point of failure occurs, it is difficult to detect and correct the error with the technique of Patent Document 1, and it is also difficult to reconfigure the CRAM. Due to the nature of financial transaction services, the availability of continuing services after a single failure is essential. In order to realize availability, it is necessary to detect an error even after a single failure occurs, and to stop without leaking the error to the outside at worst.

本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、信頼性の向上を実現可能な情報処理システムを提供することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。   The present invention has been made in view of the above, and one of its purposes is to provide an information processing system capable of improving reliability. The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of a typical embodiment will be briefly described as follows.

本実施の形態による情報処理システムは、外部からの共通の入力に応じて同一の処理を実行し、第1〜第3処理結果をそれぞれ出力する第1〜第3処理ブロックと、第1〜第3処理ブロックにそれぞれ対応して設けられる第1〜第3診断ブロックと、第4診断ブロックとを備える。第N処理ブロック(N=1,2,3)は、回路の構成情報を記憶する第N構成情報記憶部と、当該回路の構成情報に応じた回路を構築し、当該回路の動作によって第N処理結果を出力する第N再構成可能回路部とを有する。第M診断ブロック(M=1,2,3,4)は、第1〜第3処理結果が入力され、その中のいずれかにエラーが有る場合には当該エラーが有る処理結果を特定する第Mエラー判定結果を出力する第M多数決判定部と、第Mエラー判定結果が入力され障害を診断する第M障害診断部と、他の診断ブロックとの間で通信を行うための第M通信部とを有する。ここで、第M障害診断部は、第Mエラー判定結果を反映した第M診断情報を第M通信部を介して他の障害診断部に送信し、他の障害診断部からの診断情報を第M通信部を介してそれぞれ受信する第M共有部を有する。   The information processing system according to the present embodiment executes the same processing according to a common input from the outside, and outputs first to third processing results, respectively, and first to third processing blocks. 1st-3rd diagnostic block provided corresponding to each of 3 process blocks, and a 4th diagnostic block are provided. The N-th processing block (N = 1, 2, 3) constructs an N-th configuration information storage unit that stores circuit configuration information and a circuit corresponding to the circuit configuration information. And an Nth reconfigurable circuit unit that outputs a processing result. The Mth diagnosis block (M = 1, 2, 3, 4) receives the first to third processing results, and if there is an error in any of them, the Mth diagnosis block (M = 1, 2, 3, 4) specifies the processing result having the error. An M-th majority determination unit that outputs an M error determination result, an M-th failure diagnosis unit that receives the M-th error determination result and diagnoses a failure, and an M-th communication unit that communicates with other diagnostic blocks And have. Here, the M-th fault diagnosis unit transmits the M-th diagnosis information reflecting the M-th error determination result to the other fault diagnosis unit via the M-th communication unit, and receives the diagnosis information from the other fault diagnosis unit. It has the Mth sharing part which receives via M communication part, respectively.

本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、情報処理システムにおいて、信頼性の向上が実現可能になる。   Of the inventions disclosed in this application, the effects obtained by the representative embodiments will be briefly described. In the information processing system, it is possible to improve the reliability.

本発明の実施の形態1における情報処理システムの全体構成例を示すブロック図である。It is a block diagram which shows the example of whole structure of the information processing system in Embodiment 1 of this invention. 図1Aにおける外部送受信ブロックのより詳細な構成例を示すブロック図である。It is a block diagram which shows the more detailed structural example of the external transmission / reception block in FIG. 1A. 図1Aにおける診断ブロックのより詳細な構成例を示すブロック図である。It is a block diagram which shows the more detailed structural example of the diagnostic block in FIG. 1A. 図1A〜図1Cの情報処理システムにおいて、その全体の処理内容の一例を示すフローチャートである。2 is a flowchart showing an example of the entire processing content in the information processing system of FIGS. 1A to 1C. 図2において、その障害回復処理の概略的な処理内容の一例を示すフローチャートである。In FIG. 2, it is a flowchart which shows an example of the schematic process content of the failure recovery process. 図1A〜図1Cの情報処理システムにおいて、その構成不良箇所診断部の処理内容の一例を示すフローチャートである。FIG. 3 is a flowchart illustrating an example of processing contents of a defective configuration portion diagnosis unit in the information processing system of FIGS. 1A to 1C. FIG. 図1A〜図1Cの情報処理システムにおいて、そのシステム障害診断部の処理内容の一例を示すフローチャートである。2 is a flowchart illustrating an example of processing contents of a system failure diagnosis unit in the information processing system of FIGS. 1A to 1C. 図1A〜図1Cの情報処理システムにおいて、その障害診断情報共有部の処理内容の一例を示すフローチャートである。2 is a flowchart illustrating an example of processing contents of a failure diagnosis information sharing unit in the information processing system of FIGS. 1A to 1C. 図1A〜図1Cの情報処理システムにおいて、その回復プラン判定部および回復プラン合意部の処理内容の一例を示すフローチャートである。2 is a flowchart illustrating an example of processing contents of a recovery plan determination unit and a recovery plan agreement unit in the information processing system of FIGS. 1A to 1C. 図7のフローチャートにおいて、回復プランを判定する際の判定基準の一例を示す表である。FIG. 8 is a table showing an example of determination criteria for determining a recovery plan in the flowchart of FIG. 7. 図1A〜図1Cの情報処理システムにおいて、その外部送受信ブロック内の回復プラン実行部の詳細な構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a detailed configuration example of a recovery plan execution unit in the external transmission / reception block in the information processing system of FIGS. 1A to 1C. 図1A〜図1Cの情報処理システムにおいて、その診断ブロック内の回復プラン実行部の詳細な構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a detailed configuration example of a recovery plan execution unit in the diagnostic block in the information processing system of FIGS. 1A to 1C. 図10の回復プラン実行部において、当該回復プラン実行部が回復先の処理系統に属する場合の処理内容の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of processing contents when the recovery plan execution unit belongs to a recovery destination processing system in the recovery plan execution unit of FIG. 10. 図10の回復プラン実行部において、当該回復プラン実行部が回復元の処理系統に属する場合の処理内容の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of processing contents when the recovery plan execution unit belongs to the recovery processing system in the recovery plan execution unit of FIG. 10. 図10の回復プラン実行部において、当該回復プラン実行部が回復先および回復元の処理系統のいずれにも属しない場合の処理内容の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of processing contents when the recovery plan execution unit does not belong to either the recovery destination or the recovery processing system in the recovery plan execution unit of FIG. 10. 図9の回復プラン実行部の処理内容の一例を示すフローチャートである。It is a flowchart which shows an example of the processing content of the recovery plan execution part of FIG. 図1A〜図1Cの情報処理システムにおいて、その回復プラン実行部が行う手動回復処理の処理内容の一例を示すフローチャートである。2 is a flowchart illustrating an example of processing contents of a manual recovery process performed by the recovery plan execution unit in the information processing system of FIGS. 1A to 1C. 図1A〜図1Cの情報処理システムにおいて、そのモード情報に格納される各モードの一例およびその関係の一例を表す状態遷移図である。In the information processing system of Drawing 1A-Drawing 1C, it is a state transition diagram showing an example of each mode stored in the mode information, and an example of the relation. 図1A〜図1Cの情報処理システムにおいて、そのシステム構成情報に格納される内容の一例を示す図である。In the information processing system of Drawing 1A-Drawing 1C, it is a figure showing an example of the contents stored in the system configuration information. 図1A〜図1Cの情報処理システムにおいて、その障害診断情報共有部が行う図6とは異なる処理内容の一例を示すフローチャートである。7 is a flowchart illustrating an example of processing contents different from those in FIG. 6 performed by the failure diagnosis information sharing unit in the information processing system of FIGS. 1A to 1C. 図6のフローチャートにおいて、障害診断情報の交換方法の一例を示すシーケンス図である。FIG. 7 is a sequence diagram illustrating an example of a fault diagnosis information exchange method in the flowchart of FIG. 6. 図7のフローチャートにおいて、回復プランのビザンチン合意プロトコルに基づく交換方法の一例を示すシーケンス図である。FIG. 8 is a sequence diagram showing an example of an exchange method based on the recovery plan Byzantine agreement protocol in the flowchart of FIG. 7. 図7のフローチャートにおいて、回復プランのビザンチン合意プロトコルに基づく交換方法の一例を示すシーケンス図である。FIG. 8 is a sequence diagram showing an example of an exchange method based on the recovery plan Byzantine agreement protocol in the flowchart of FIG. 7. 本発明の実施の形態2による情報処理システムにおいて、その処理ブロックの構成例を示すブロック図である。It is a block diagram which shows the structural example of the processing block in the information processing system by Embodiment 2 of this invention.

以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。   In the following embodiment, when it is necessary for the sake of convenience, the description will be divided into a plurality of sections or embodiments. However, unless otherwise specified, they are not irrelevant, and one is the other. Some or all of the modifications, details, supplementary explanations, and the like are related. Further, in the following embodiments, when referring to the number of elements (including the number, numerical value, quantity, range, etc.), especially when clearly indicated and when clearly limited to a specific number in principle, etc. Except, it is not limited to the specific number, and may be more or less than the specific number.

さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。   Further, in the following embodiments, the constituent elements (including element steps and the like) are not necessarily indispensable unless otherwise specified and apparently essential in principle. Needless to say. Similarly, in the following embodiments, when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numerical values and ranges.

《実施の形態の概要》
本実施の形態では、情報処理システム内に、単一障害点を少なくとも1つ含む場合を想定する。例えば、特許文献1と同様に、再構成可能回路部(代表的にはFPGA)内に、三重化された処理系統と、その各処理結果を多数決判定する多数決判定部とを設けると、処理系統ではなく、多数決判定部に単一障害点が含まれる場合に、エラーの検出・訂正が困難となる。
<< Summary of Embodiment >>
In the present embodiment, it is assumed that at least one single point of failure is included in the information processing system. For example, as in Patent Document 1, if a reconfigurable circuit unit (typically an FPGA) is provided with a triple processing system and a majority decision determining unit that determines the majority of each processing result, the processing system Instead, when a single point of failure is included in the majority decision determination unit, it becomes difficult to detect and correct an error.

また、システムの信頼性を高めるためには、再構成可能回路部によって構成される処理系統に障害が生じた際に、それを検出し、当該障害が発生した処理系統を自動回復するための診断ブロックを設けることが望ましい。ただし、多数決判定部の場合と同様に、処理系統ではなく、診断ブロックに単一障害点が含まれる場合がある。そこで、本実施の形態では、処理系統のみならず、多数決判定部および診断ブロックを少なくとも三重化させた情報処理システムを構築する。この際には、少なくとも三重化させる形態として様々な選択肢が考えられるため、どのような形態を用いるのが適切かを考慮する必要がある。   In addition, in order to improve the reliability of the system, when a failure occurs in the processing system configured by the reconfigurable circuit unit, it is detected and a diagnosis for automatically recovering the processing system in which the failure has occurred It is desirable to provide a block. However, as in the case of the majority decision unit, a single failure point may be included in the diagnosis block instead of the processing system. Therefore, in the present embodiment, an information processing system is constructed in which not only the processing system but also the majority decision unit and the diagnostic block are at least tripled. In this case, since various options can be considered as at least a triple form, it is necessary to consider what form is appropriate.

さらに、別の要求事項として、例えば金融取引処理等では、入力データと前回の処理結果等の内部状態(ステート)を持ち、当該内部状態によって次の処理結果が変化する処理(以降、ステートフル処理と呼ぶ)が用いられる。例えば、特許文献1の技術では、内部状態を持たない(すなわちステートレスな)処理系統を想定しているため、ある処理系統に障害が生じた際に、その処理系統(すなわち再構成可能回路部)の回路構成を再構成できたとしても、内部状態(ステート)を回復することは困難となる。そこで、この内部状態(ステート)の回復方法も含めて、前述した情報処理システムの適切な形態を考慮する必要がある。   Furthermore, as another requirement, for example, in financial transaction processing, etc., there is an internal state (state) such as input data and the previous processing result, and the next processing result changes depending on the internal state (hereinafter referred to as stateful processing). Is used). For example, since the technique of Patent Document 1 assumes a processing system having no internal state (that is, a stateless), when a failure occurs in a certain processing system, the processing system (that is, a reconfigurable circuit unit). Even if the circuit configuration can be reconfigured, it is difficult to recover the internal state. Therefore, it is necessary to consider an appropriate form of the information processing system described above, including the internal state (state) recovery method.

このようなことを鑑みて、本実施の形態よる情報処理システムは、例えば、図1A〜図1C、図9および図10を参照して、代表的には、以下のような構成および動作を備える。   In view of the above, the information processing system according to the present exemplary embodiment typically includes the following configurations and operations with reference to FIGS. 1A to 1C, 9, and 10, for example. .

(1)本実施の形態による情報処理システムは、外部からの共通の入力に応じて同一の処理を実行し、第1〜第3処理結果をそれぞれ出力する第1〜第3処理ブロック(310A〜310C)と、第1〜第3処理ブロックにそれぞれ対応して設けられる第1〜第3診断ブロック(300A〜300C)と、第4診断ブロック(10α)とを有する。第N処理ブロック(N=1,2,3)は、回路の構成情報を記憶する第N構成情報記憶部(318A〜318C)と、当該回路の構成情報に応じた回路を構築し、当該回路の動作によって第N処理結果を出力する第N再構成可能回路部(319A〜319C)とを有する。第M診断ブロック(M=1,2,3,4)は、第M多数決判定部(14b〜14d,14aα)と、第M共有部(18b〜18d,18aα)を含む第M障害診断部(23b〜23d,23aα)と、他の診断ブロックとの間で通信を行うための第M通信部(301A〜301C,13α)とを有する。   (1) The information processing system according to the present embodiment executes the same processing in response to a common input from the outside, and outputs first to third processing results (310A to 310A, respectively). 310C), first to third diagnosis blocks (300A to 300C) provided corresponding to the first to third processing blocks, respectively, and a fourth diagnosis block (10α). The N-th processing block (N = 1, 2, 3) constructs an N-th configuration information storage unit (318A to 318C) that stores circuit configuration information and a circuit corresponding to the circuit configuration information. The N-th reconfigurable circuit unit (319A to 319C) that outputs the N-th processing result by the above operation. The M-th diagnosis block (M = 1, 2, 3, 4) includes an M-th failure diagnosis unit (14b to 14d, 18aα) and an M-th failure diagnosis unit (18b to 18d, 18aα). 23b to 23d, 23aα) and an M-th communication unit (301A to 301C, 13α) for performing communication with other diagnostic blocks.

例えば、第1〜第3処理ブロックのいずれかに単一障害が生じた場合、3個の処理ブロック内の再構成可能回路部から出力される第1〜第3処理結果の中の一つが他と異なる。第M診断ブロック内の第M多数決判定部は、第1〜第3処理結果が入力され、第1〜第3処理結果の中のいずれかにエラーが有る場合には、エラーが有る処理結果を特定する情報を含む第Mエラー判定結果を第M障害診断部に出力する。この際に、第1〜第4診断ブロックは正常であることを前提とすると、第1〜第4多数決判定部から出力される第1〜第4エラー判定結果は全て同じになる。第M障害診断部は、第Mエラー判定結果に基づいて、どの処理ブロック内の再構成可能回路部に単一障害が有るかを判断することができる。   For example, when a single failure occurs in any of the first to third processing blocks, one of the first to third processing results output from the reconfigurable circuit unit in the three processing blocks is another And different. The M-th majority decision determination unit in the M-th diagnosis block inputs the first to third processing results, and if there is an error in any of the first to third processing results, the processing result having an error is displayed. The Mth error determination result including the specified information is output to the Mth fault diagnosis unit. At this time, assuming that the first to fourth diagnostic blocks are normal, all the first to fourth error determination results output from the first to fourth majority determination units are the same. The Mth fault diagnosis unit can determine in which processing block the reconfigurable circuit unit has a single fault based on the Mth error determination result.

ただし、単一障害が処理ブロックではなく多数決判定部で生じる場合がある。例えば、第1多数決判定部に単一障害が生じた場合、第1障害診断部は、第1多数決判定部から、あたかも第1〜第3処理ブロックの中のいずれかに単一障害が有るかのような第1エラー判定結果を受ける可能性がある。すなわち、第1〜第4障害診断部の中のいずれか一つの障害診断部のみが障害が有ると判定し、残りの障害診断部は障害が無いと判定するような事態が生じ得る。   However, a single failure may occur in the majority decision unit instead of the processing block. For example, when a single failure occurs in the first majority decision determination unit, the first failure diagnosis unit determines whether any of the first to third processing blocks has a single failure from the first majority decision determination unit. There is a possibility of receiving the first error determination result. That is, a situation may occur in which only one of the first to fourth failure diagnosis units determines that there is a failure and the remaining failure diagnosis units determine that there is no failure.

そこで、第M障害診断部は、第M多数決判定部から受けた第Mエラー判定結果を反映して第M診断情報を生成し、第M診断情報を第M通信部を介して他の障害診断部に向けて送信し、他の障害診断部からの診断情報を第M通信部を介してそれぞれ受信する。すなわち、第M障害診断部は、第1〜第4障害診断部の間で第1〜第4診断情報を共有するための第M共有部を有する。この共有動作によって、各障害診断部は、単一障害が多数決判定部で生じている場合を検出できる。   Therefore, the M-th failure diagnosis unit reflects the M-th error determination result received from the M-th majority decision determination unit, generates M-th diagnosis information, and passes the M-th diagnosis information to another failure diagnosis via the M-th communication unit. And receives diagnostic information from other fault diagnosis units via the Mth communication unit. That is, the Mth failure diagnosis unit includes an Mth sharing unit for sharing the first to fourth diagnosis information between the first to fourth failure diagnosis units. By this sharing operation, each failure diagnosis unit can detect a case where a single failure has occurred in the majority decision determination unit.

具体的には、各障害診断部は、例えば、第1〜第4診断情報の共有が正常に行われた場合、多数決判定部に単一障害は発生していないと判断できる。一方、各障害診断部は、第1〜第4診断情報の中のいずれか一つの診断情報のみを受信したような場合には、当該診断情報を送信した診断ブロック内の多数決判定部に単一障害が生じている可能性があると判断できる。なお、例えば、単一障害の発生箇所が診断ブロック内の通信部で有った場合でも、当該診断ブロック内の多数決判定部に向けた第1〜第3処理結果の入力動作が不安定となるため、結果的に多数決判定部に単一障害が生じた場合と同様の事態が生じ得る。このように、第M共有部を有することで、特許文献1と異なり多数決判定部に障害が生じている場合を検出することが可能となり、情報処理システムの信頼性の向上が図れる。   Specifically, each failure diagnosis unit can determine that no single failure has occurred in the majority decision determination unit, for example, when the first to fourth diagnosis information is normally shared. On the other hand, when each failure diagnosis unit receives only one of the first to fourth diagnosis information, the failure diagnosis unit is connected to the majority decision unit in the diagnosis block that has transmitted the diagnosis information. It can be determined that a failure may have occurred. Note that, for example, even when a single failure occurs in the communication unit in the diagnostic block, the input operation of the first to third processing results toward the majority decision determination unit in the diagnostic block becomes unstable. As a result, the same situation as when a single failure occurs in the majority decision determination unit may occur. Thus, by having the M-th sharing unit, it is possible to detect a case where a failure has occurred in the majority decision determination unit unlike Patent Document 1, and the reliability of the information processing system can be improved.

(2)また、第M障害診断部(23b〜23d,23aα)は、さらに、第M回復プラン判定部(19b〜19d,19aα)を有し、第M診断ブロック(300A〜300C,10α)は、さらに、第M回復プラン実行部(21b〜21d,21aα)を有する。第M回復プラン判定部は、第M共有部で共有した第1〜第4診断情報に基づいて、第1〜第3処理ブロックの中のいずれか一つに障害が有るか否かを判定し、第1〜第3処理ブロックの中のいずれか一つに障害が有る場合には第M回復プランを生成する。第M回復プラン実行部は、第M回復プランに基づいて、回復先の処理ブロックの自動回復処理を実行する。   (2) The M-th failure diagnosis unit (23b-23d, 23aα) further includes an M-th recovery plan determination unit (19b-19d, 19aα), and the M-th diagnosis block (300A-300C, 10α) In addition, an M-th recovery plan execution unit (21b to 21d, 21aα) is included. The Mth recovery plan determination unit determines whether any one of the first to third processing blocks has a failure based on the first to fourth diagnosis information shared by the Mth sharing unit. When any one of the first to third processing blocks has a failure, the Mth recovery plan is generated. The Mth recovery plan execution unit executes an automatic recovery process of the recovery destination processing block based on the Mth recovery plan.

具体的には、第M回復プラン判定部は、例えば、第1〜第4診断情報の共有が正常に行われ、第1〜第4診断情報に包含される第1〜第4エラー判定結果が全て一致している場合には、第1〜第3処理ブロックの中のいずれか一つの単一障害であると判断する。そして、第M回復プラン判定部は、当該処理ブロックの単一障害を自動回復する(すなわち再構成可能回路部を再構成する)ための回復プラン(自動回復プラン)を定める。自動回復プランの中には、例えば、一致している第1〜第4エラー判定結果から判明する回復先の処理ブロック(すなわち単一障害が生じている処理ブロック)および回復元の処理ブロック(すなわち正常な処理ブロック)の情報等が含まれる。   Specifically, the M-th recovery plan determination unit, for example, normally shares the first to fourth diagnosis information, and the first to fourth error determination results included in the first to fourth diagnosis information are If all match, it is determined that the failure is any one of the first to third processing blocks. Then, the Mth recovery plan determination unit determines a recovery plan (automatic recovery plan) for automatically recovering a single failure of the processing block (that is, reconfiguring the reconfigurable circuit unit). In the automatic recovery plan, for example, a recovery destination processing block (that is, a processing block in which a single failure has occurred) and a recovery block processing block (that is, a processing block in which a single failure has occurred) determined from the matching first to fourth error determination results (that is, Normal processing block) information and the like are included.

一方、例えば、第1〜第4診断情報の中のいずれか一つの診断情報のみが生成される場合には、単一障害が診断ブロック内で生じている可能性が有る。すなわち、前述した多数決判定部や通信部で生じている場合が考えられ、これに限らず、障害診断部で生じている場合も考えられる。このような場合には、自動回復を行うことが困難となり得るため、各障害診断部は、手動での回復が必要であることを表す回復プラン(手動回復プラン)を定める。手動回復プランの中には、例えば、第1〜第4障害情報から推定される障害の発生箇所(すなわちどの診断ブロックで障害が発生しているか)の情報等が含まれる。例えば、第1〜第4診断情報の中のいずれか一つの診断情報のみが生成される場合、この一つの診断情報を生成した診断ブロックに障害が発生していると推定される。第M回復プラン実行部は、第M障害診断部から自動回復プランが送信された場合には、当該自動回復プランに基づく自動回復処理を実行し、手動回復プランが送信された場合には、外部に向けて手動回復が必要な旨を表す通知等を行う。   On the other hand, for example, when only one of the first to fourth diagnostic information is generated, there is a possibility that a single failure has occurred in the diagnostic block. That is, the case where it arises in the majority decision determination part and communication part which were mentioned above is considered, and not only this but the case where it arises in a fault diagnosis part is also considered. In such a case, since it may be difficult to perform automatic recovery, each failure diagnosis unit defines a recovery plan (manual recovery plan) indicating that manual recovery is necessary. The manual recovery plan includes, for example, information on the location of the failure estimated from the first to fourth failure information (that is, in which diagnostic block the failure has occurred). For example, when only one of the first to fourth diagnostic information is generated, it is estimated that a failure has occurred in the diagnostic block that generated the one diagnostic information. The M-th recovery plan execution unit executes an automatic recovery process based on the automatic recovery plan when an automatic recovery plan is transmitted from the M-th failure diagnosis unit, and when a manual recovery plan is transmitted, an external recovery plan is executed. A notification indicating that manual recovery is necessary is performed.

(3)回復プラン実行部によって自動回復処理が行われている期間では、回復先の処理ブロックを除く残り2個の処理ブロック(その内の1個は回復元の処理ブロックでもある)は、外部からの共通の入力に応じた同一の処理をそのまま継続する。この際に、多数決判定部は、当該2個の処理ブロックからの2個の処理結果を受け、当該2個の処理結果が同一の場合には当該同一の処理結果を外部に向けて出力する。一方、多数決判定部は、当該2個の処理結果が異なる場合には、システムの停止等を行う。   (3) During the period in which automatic recovery processing is performed by the recovery plan execution unit, the remaining two processing blocks excluding the recovery destination processing block (one of which is also a recovery block) are external The same processing according to the common input from is continued as it is. At this time, the majority decision determination unit receives the two processing results from the two processing blocks, and outputs the same processing result to the outside when the two processing results are the same. On the other hand, when the two processing results are different, the majority decision determining unit stops the system.

また、回復プラン実行部によって手動回復の通知がなされてから、これに応じた手動回復が完了するまでの期間では、正常な診断ブロックに対応する処理ブロックは、外部からの共通の入力に応じた同一の処理をそのまま継続する。正常な診断ブロックは、前述したように、障害診断部からの手動回復プランに基づいて特定することができる。このように、情報処理システムは、仮に1個の処理ブロックで障害が生じている間でも残り2個の処理ブロックを用いて縮退運転を行う。この縮退運転の期間では、情報処理システムは、多数決判定部を用いてエラーを訂正することは困難となるものの、多数決判定部を用いてエラーを検出することは可能となっている。これによって、情報処理システムの稼働を継続しつつ誤った処理結果が外部に流出することを防止することができ、情報処理システムの信頼性を向上させることが可能になる。   In addition, during the period from when manual recovery is notified by the recovery plan execution unit to when manual recovery corresponding to this is completed, the processing block corresponding to the normal diagnostic block corresponds to the common external input. The same processing is continued as it is. As described above, the normal diagnosis block can be specified based on the manual recovery plan from the failure diagnosis unit. In this way, the information processing system performs the degenerate operation using the remaining two processing blocks even if a failure occurs in one processing block. In this degenerate operation period, it is difficult for the information processing system to correct an error using the majority decision determination unit, but it is possible to detect an error using the majority decision determination unit. As a result, it is possible to prevent an erroneous processing result from leaking to the outside while continuing the operation of the information processing system, and to improve the reliability of the information processing system.

(4)第M障害診断部(23b〜23d,23aα)は、さらに、第M回復プラン合意部(20b〜20d,20aα)を有する。第M回復プラン合意部は、第M回復プラン判定部によって生成された第M回復プランを、第M通信部を介して、ビザンチン合意プロトコルを用いて他の回復プラン判定部との間で交換し、当該交換した結果に基づいて確定した第M回復プランを第M回復プラン実行部に出力する。例えば、回復プラン判定部で単一障害が生じた場合や、あるいは通信部等でビザンチン障害が生じた場合等では、各障害診断部によって誤った回復プランが定められる可能性が有る。そこで、各障害診断部は、ビザンチン合意プロトコルを用いて回復プランを合意する。   (4) The M-th failure diagnosis unit (23b-23d, 23aα) further includes an M-th recovery plan agreement unit (20b-20d, 20aα). The Mth recovery plan agreement unit exchanges the Mth recovery plan generated by the Mth recovery plan determination unit with another recovery plan determination unit using the Byzantine agreement protocol via the Mth communication unit. The M-th recovery plan determined based on the exchange result is output to the M-th recovery plan execution unit. For example, when a single failure occurs in the recovery plan determination unit, or when a Byzantine failure occurs in the communication unit or the like, there is a possibility that each failure diagnosis unit may determine an incorrect recovery plan. Therefore, each failure diagnosis unit agrees on a recovery plan using a Byzantine agreement protocol.

具体的には、まず、第M回復プラン合意部は、第M回復プラン判定部によって生成された第M回復プランを他の障害診断部との間でビザンチン合意プロトコルにより交換する。次いで、第M回復プラン合意部は、このビザンチン合意プロトコルの交換によって得られた第1〜第4回復プランが全て一致する場合に、当該回復プランを一致した回復プランとして第M回復プラン実行部に送信する。一方、第1〜第4回復プランが全て一致する場合に該当しない場合には、ビザンチン障害等を含めて診断ブロック内に障害が存在する可能性が有る。この場合、第M回復プラン合意部は、例えば、第1〜第4回復プランの中から合意によって得た回復プラン(例えば、4個の回復プランの中で一致する3個の回復プラン)を手動回復プランとして第M回復プラン実行部に送信する。   Specifically, first, the Mth recovery plan agreement unit exchanges the Mth recovery plan generated by the Mth recovery plan determination unit with another failure diagnosis unit by a Byzantine agreement protocol. Next, when all of the first to fourth recovery plans obtained by exchanging this Byzantine agreement protocol match, the Mth recovery plan agreement unit determines that the recovery plan is the same as the recovery plan to the Mth recovery plan execution unit. Send. On the other hand, when the first to fourth recovery plans all match, there is a possibility that a failure exists in the diagnostic block including a Byzantine failure. In this case, for example, the Mth recovery plan agreement unit manually selects a recovery plan obtained by agreement from the first to fourth recovery plans (for example, three recovery plans that match among the four recovery plans). The recovery plan is transmitted to the Mth recovery plan execution unit.

第M回復プラン実行部は、第M回復プラン合意部から一致した回復プランが送信され、それが自動回復プランである場合には、当該自動回復プランに基づく自動回復処理を実行する。一方、第M回復プラン実行部は、第M回復プラン合意部から手動回復プランが送信された際には、外部に向けて手動回復が必要な旨を表す通知等を行う。このように、ビザンチン合意プロトコルを経た上で自動回復プランに基づく自動回復処理を行うことで、誤った自動回復処理が行われるような事態を防止でき、信頼性を高めることが可能になる。例えば、ある診断ブロックが自身の単一障害によって誤った回復プランを定めた場合や、ある診断ブロックでビザンチン障害が生じた場合には、ビザンチン合意プロトコルで一致した回復プランが得られないため、情報処理システムとして誤った自動回復処理は実行されない。   The Mth recovery plan execution unit executes the automatic recovery process based on the automatic recovery plan when the recovery plan that matches from the Mth recovery plan agreement unit is transmitted and is the automatic recovery plan. On the other hand, when a manual recovery plan is transmitted from the Mth recovery plan consensus unit, the Mth recovery plan execution unit performs an external notification indicating that manual recovery is necessary. In this way, by performing the automatic recovery process based on the automatic recovery plan after passing through the Byzantine agreement protocol, it is possible to prevent a situation in which an erroneous automatic recovery process is performed, and to improve the reliability. For example, if a diagnostic block determines a wrong recovery plan due to its own single failure, or if a Byzantine failure occurs in a diagnostic block, a consistent recovery plan cannot be obtained by the Byzantine agreement protocol. The automatic recovery process that is erroneous as the processing system is not executed.

また、第1〜第4回復プランが全て一致する場合に該当しない場合でも、ビザンチン合意プロトコルを用いた合意によって、障害が生じていない系統に属する3個の診断ブロックの間で同じ手動回復プランを定めることが可能になる。そして、この手動回復プランに基づいて、各診断ブロックの中から正常な診断ブロックを特定することができ、当該正常な診断ブロックを用いて前述したような縮退運転を実行することが可能になる。   In addition, even if the first to fourth recovery plans do not all match, the same manual recovery plan is established among the three diagnostic blocks belonging to the system that has not failed by the agreement using the Byzantine agreement protocol. It becomes possible to determine. And based on this manual recovery plan, a normal diagnostic block can be specified from each diagnostic block, and it becomes possible to perform the above-mentioned degenerate operation using the normal diagnostic block.

(5)回復プラン実行部が、自動回復プランに基づいて自動回復処理を実行する際に、各処理ブロックでの処理内容がステートフル処理であることを前提とすると、再構成可能回路部の自動回復処理(回路の再構成)に加えて、そのステートも回復する必要がある。そこで、第N処理ブロック(310A〜310C)は、さらに、第N再構成可能回路部の処理の実行過程で得られるステートを保持する第Nステート記憶部(314A〜314C)を有する。そして、第M回復プラン実行部(21b〜21d,21aα)は、回復先の処理ブロックの自動回復処理を実行する際に、回復先の処理ブロック内の構成情報記憶部の記憶情報に加えて、ステート記憶部の記憶情報を回復させる。これによって、特許文献1と異なり、ステートフル処理を含む金融機関向け等の情報処理システムにおいても自動回復処理を実現することが可能になる。   (5) When the recovery plan execution unit executes automatic recovery processing based on the automatic recovery plan, assuming that the processing content in each processing block is stateful processing, automatic recovery of the reconfigurable circuit unit In addition to processing (circuit reconfiguration), the state must also be restored. Therefore, the Nth processing block (310A to 310C) further includes an Nth state storage unit (314A to 314C) that holds a state obtained in the process of executing the process of the Nth reconfigurable circuit unit. Then, the M-th recovery plan execution unit (21b to 21d, 21aα), when executing the automatic recovery processing of the recovery destination processing block, in addition to the storage information of the configuration information storage unit in the recovery destination processing block, The stored information in the state storage unit is recovered. Thus, unlike Patent Document 1, it is possible to realize automatic recovery processing even in an information processing system for a financial institution including stateful processing.

(6)回復先の処理ブロック内の構成情報記憶部の記憶情報を回復させる際には、特に限定はされないが、例えば、回復元の処理ブロック内の構成情報記憶部の記憶情報をコピーする処理や、あるいは、別途、不揮発性メモリ等に回路の構成情報を記憶させておき、当該記憶情報をコピーする処理等を行えばよい。一方、回復先の処理ブロック内のステート記憶部の記憶情報を回復させる際には、例えば、以下のような構成を備えればよい。   (6) When the storage information in the configuration information storage unit in the recovery destination processing block is recovered, there is no particular limitation. For example, the process of copying the storage information in the configuration information storage unit in the recovery processing block Alternatively, separately, the circuit configuration information may be stored in a nonvolatile memory or the like, and the stored information may be copied. On the other hand, when the storage information in the state storage unit in the recovery destination processing block is recovered, for example, the following configuration may be provided.

第Nステート記憶部(314A〜314C)は、ステートの回復を開始する第1時点におけるステートが保持される第Nステート退避部(315A1〜315C1)を有する。第4回復プラン実行部(21aα)は、当該第1時点の後に外部から入力されるデータを順次保持するデータ保持部(218aα)を有する。第1〜第3回復プラン実行部(21b〜21d)のそれぞれは、回復先の処理ブロック内の構成情報記憶部の記憶情報を回復させる構成回復部(214b〜214d)と、ステート記憶部の記憶情報を回復させるステート回復部(215b〜215d)とを有する。ステート回復部は、まず、回復先の処理ブロック内のステート記憶部に対して回復元の処理ブロック内のステート退避部で保持されるステートを設定する。次いで、回復先の処理ブロック内の構成情報記憶部の記憶情報が回復したのちに回復先の処理ブロックに向けて第4回復プラン実行部内のデータ保持部で保持されるデータを順次出力する。これにより、障害から回復した処理ブロックは、ステートを含めて正常な処理ブロックと同じ状態に順次近づいていき、正常な処理ブロックと同じ状態に達した時点で、ステートを含めて完全に障害から回復する。   The Nth state storage units (314A to 314C) include Nth state saving units (315A1 to 315C1) that hold the state at the first time point when the state recovery starts. The fourth recovery plan execution unit (21aα) includes a data holding unit (218aα) that sequentially holds data input from the outside after the first time point. Each of the first to third recovery plan execution units (21b to 21d) includes a configuration recovery unit (214b to 214d) that recovers the storage information of the configuration information storage unit in the recovery destination processing block, and the storage of the state storage unit. A state recovery unit (215b to 215d) for recovering information. First, the state recovery unit sets a state held by the state saving unit in the processing block for recovery and restoration in the state storage unit in the recovery destination processing block. Next, after the storage information in the configuration information storage unit in the recovery destination processing block is recovered, the data held in the data holding unit in the fourth recovery plan execution unit is sequentially output toward the recovery destination processing block. As a result, the processing block recovered from the failure sequentially approaches the same state as the normal processing block including the state, and when it reaches the same state as the normal processing block, it completely recovers from the failure including the state. To do.

(7)第4診断ブロック(10α)は、例えば、外部との間のインタフェースを担う外部送受信ブロック(10α)内に設けられてもよい。そして、第4診断ブロック内の第4多数決判定部(14aα)は、第1〜第3処理結果に対して多数決判定を行うことで外部に出力する処理結果を定める。すなわち、外部に出力するための最終的な処理結果は、第4多数決判定部によって定められる。ただし、この場合、第4多数決判定部に障害が生じた場合には、外部に向けて正しい処理結果を出力することが困難となる。そこで、外部送受信ブロックは、通常用(10α)とバックアップ用(10β)を含めて冗長化することが望ましい。第4多数決判定部の障害の有無は、例えば、前述したように第M共有部での第1〜第4診断情報の共有結果に基づいて判定することができる。したがって、この判定結果に基づいて通常用とバックアップ用の切り替えを行えばよい。   (7) The fourth diagnosis block (10α) may be provided, for example, in the external transmission / reception block (10α) that serves as an interface with the outside. And the 4th majority decision part (14a (alpha)) in a 4th diagnostic block determines the process result output outside by performing majority decision with respect to a 1st-3rd process result. That is, the final processing result for output to the outside is determined by the fourth majority decision determination unit. However, in this case, when a failure occurs in the fourth majority decision determination unit, it is difficult to output a correct processing result to the outside. Therefore, it is desirable to make the external transmission / reception block redundant including the normal use (10α) and the backup use (10β). The presence / absence of a failure in the fourth majority determination unit can be determined based on, for example, the sharing result of the first to fourth diagnostic information in the Mth sharing unit as described above. Therefore, switching between normal use and backup use may be performed based on the determination result.

なお、多数決判定部の障害を想定して、例えば、第1〜第4多数決判定部の間で、それぞれの多数決判定によって得られた処理結果をビザンチン合意し、これによって外部に出力するための最終的な処理結果を定めるような方式等が考えられる。ただし、この場合、ビザンチン合意に伴い、外部に向けて処理結果を出力する際のレイテンシが増大し、情報処理システムの高速性が阻害される恐れがある。そこで、このように、1個の多数決判定部で最終的な処理結果を定める方式とし、かつこの1個の多数決判定部(それを含んだ外部送受信ブロック)を冗長化することで、高速性と信頼性の両立を図ることが可能になる。   In addition, assuming the failure of the majority decision unit, for example, between the first to fourth majority decision units, the processing result obtained by each majority decision is agreed by the Byzantine, and thereby the final for output to the outside A method for determining a typical processing result can be considered. However, in this case, with the Byzantine agreement, there is a possibility that the latency when outputting the processing result to the outside increases and the high speed of the information processing system is hindered. Thus, by adopting a method in which the final processing result is determined by one majority deciding unit, and by making this one majority deciding unit (external transmission / reception block including it) redundant, high speed and It becomes possible to achieve both reliability.

以上のように、本実施の形態の情報処理システムを用いることで、代表的には、信頼性の向上が実現可能になる。例えば、FPGA等の再構成可能回路を含むコンポーネントが少なくとも三重化された情報処理システムにおいて、任意のコンポーネントに単一障害が発生した後も、情報処理を停止することなく、障害前と同じステートフル処理を継続して実行することが可能になる。   As described above, by using the information processing system according to the present embodiment, typically, improvement in reliability can be realized. For example, in an information processing system in which components including a reconfigurable circuit such as an FPGA are at least tripled, even after a single failure occurs in any component, the same stateful processing as before the failure without stopping the information processing Can be executed continuously.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

(実施の形態1)
《情報処理システムの全体構成》
図1Aは、本発明の実施の形態1における情報処理システムの全体構成例を示すブロック図である。図1Bは、図1Aにおける外部送受信ブロックのより詳細な構成例を示すブロックであり、図1Cは、図1Aにおける診断ブロックのより詳細な構成例を示すブロック図である。図1Aの情報処理システムは、外部送受信ブロック10α,10βと、診断ブロック300A,300B,300Cと、処理ブロック310A,310B,310Cと、通信路L1,L2を備える。
(Embodiment 1)
<< Overall configuration of information processing system >>
FIG. 1A is a block diagram showing an example of the overall configuration of the information processing system according to Embodiment 1 of the present invention. 1B is a block diagram showing a more detailed configuration example of the external transmission / reception block in FIG. 1A, and FIG. 1C is a block diagram showing a more detailed configuration example of the diagnostic block in FIG. 1A. The information processing system in FIG. 1A includes external transmission / reception blocks 10α and 10β, diagnostic blocks 300A, 300B, and 300C, processing blocks 310A, 310B, and 310C, and communication paths L1 and L2.

外部送受信ブロック10α,10βは、同一構成のブロックからなるHA(High Availability)システム(言い換えれば冗長システム)であり、外部送受信ブロック10αは実行系(通常用)、外部送受信ブロック10βは待機系(バックアップ用)である。外部送受信ブロック10α,10βは、同一構成からなるHAシステムであるが、外部送受信ブロックが単一障害後も正常に稼働できる機能を備えていれば、本実施の形態はこれに限定されない。   The external transmission / reception blocks 10α and 10β are HA (High Availability) systems (in other words, redundant systems) composed of blocks having the same configuration, the external transmission / reception block 10α is an execution system (for normal use), and the external transmission / reception block 10β is a standby system (backup). For). Although the external transmission / reception blocks 10α and 10β are HA systems having the same configuration, the present embodiment is not limited to this as long as the external transmission / reception block has a function capable of operating normally even after a single failure.

診断ブロック300A,300B,300Cは、同一構成であり、三重化された処理ブロック310A,310B,310Cをそれぞれ診断および回復させるためのブロックである。診断ブロック300A,300B,300Cは、例えば、FPGA等の再構成可能回路で構成したり、またはCPU(Central Processing Unit)等によるプログラム処理を実行するコンピュータシステムで構成したり、あるいはこれらの組合せで構成することが可能である。診断ブロック300A,300B,300Cは、同一構成の三重化されたブロックであるが、診断ブロックにおける単一障害点が三重化されていれば、本実施の形態はこれに限定されない。   The diagnosis blocks 300A, 300B, and 300C have the same configuration, and are blocks for diagnosing and recovering the triple processing blocks 310A, 310B, and 310C, respectively. The diagnostic blocks 300A, 300B, and 300C are configured by, for example, a reconfigurable circuit such as an FPGA, a computer system that executes program processing by a CPU (Central Processing Unit), or a combination of these. Is possible. The diagnosis blocks 300A, 300B, and 300C are triple blocks having the same configuration, but the present embodiment is not limited to this as long as the single failure point in the diagnosis block is tripled.

処理ブロック310A,310B,310Cは、同一構成であり、診断ブロック300A,300B,300Cと同様に三重化されており、外部送受信ブロック10α,10βから共通に送信される入力データを処理するためのブロックである。処理ブロック310A,310B,310Cは、同一構成の三重化されたブロックであるが、処理ブロックにおける単一障害点が三重化されていれば、本実施の形態はこれに限定されない。   The processing blocks 310A, 310B, and 310C have the same configuration, are tripled in the same way as the diagnostic blocks 300A, 300B, and 300C, and are blocks for processing input data transmitted in common from the external transmission / reception blocks 10α and 10β. It is. The processing blocks 310A, 310B, and 310C are triple blocks having the same configuration, but the present embodiment is not limited to this as long as the single failure point in the processing block is tripled.

通信路L1は、外部送受信ブロック10α,10βと、図1Aの情報処理システムを利用する外部の情報処理装置との間で通信を行うための通信路である。通信路L2は、外部送受信ブロック10α,10βと、診断ブロック300A,300B,300Cと、処理ブロック310A,310B,310Cとの間で内部通信を行うための通信路である。例えば、通信路L1,L2を構成する各部品等は冗長化されており、高信頼な通信が行えることを前提とする。ただし、通信路L1,L2が十分に高信頼であれば、本実施の形態はこれに限定されない。   The communication path L1 is a communication path for performing communication between the external transmission / reception blocks 10α and 10β and an external information processing apparatus using the information processing system of FIG. 1A. The communication path L2 is a communication path for performing internal communication among the external transmission / reception blocks 10α and 10β, the diagnosis blocks 300A, 300B, and 300C and the processing blocks 310A, 310B, and 310C. For example, it is assumed that the components constituting the communication paths L1 and L2 are made redundant so that highly reliable communication can be performed. However, the present embodiment is not limited to this as long as the communication paths L1 and L2 are sufficiently reliable.

外部送受信ブロック10αは、外部通信部11αと、入力データ投入部12αと、第一通信部13αと、障害診断回復系統aαを備える。障害診断回復系統aαは、多数決判定部14aαと、障害診断部23aαと、回復プラン実行部21aαを備える。障害診断部23aαは、より詳細には、図1Bに示すように、システム障害診断部16aαと、障害診断情報共有部18aαと、回復プラン判定部19aαと、回復プラン合意部20aαを有する。また、障害診断回復系統aαは、より詳細には、図1Bに示すように、システム構成情報17aαと、モード情報22aαを更に有する。   The external transmission / reception block 10α includes an external communication unit 11α, an input data input unit 12α, a first communication unit 13α, and a failure diagnosis recovery system aα. The failure diagnosis recovery system aα includes a majority decision determination unit 14aα, a failure diagnosis unit 23aα, and a recovery plan execution unit 21aα. More specifically, the failure diagnosis unit 23aα includes a system failure diagnosis unit 16aα, a failure diagnosis information sharing unit 18aα, a recovery plan determination unit 19aα, and a recovery plan agreement unit 20aα as illustrated in FIG. 1B. More specifically, the fault diagnosis recovery system aα further includes system configuration information 17aα and mode information 22aα as shown in FIG. 1B.

また、図示していないが、外部送受信ブロック10βも同様に、外部通信部11βと、入力データ投入部12βと、第一通信部13βと、障害診断回復系統aβを備える。障害診断回復系統aβは、多数決判定部14aβと、障害診断部23aβと、回復プラン実行部21aβを備える。障害診断部23aβは、より詳細には、図1Bと同様に、システム障害診断部16aβと、障害診断情報共有部18aβと、回復プラン判定部19aβと、回復プラン合意部20aβを有する。また、障害診断回復系統aβは、より詳細には、図1Bと同様に、システム構成情報17aβと、モード情報22aβを更に有する。   Although not shown, the external transmission / reception block 10β similarly includes an external communication unit 11β, an input data input unit 12β, a first communication unit 13β, and a failure diagnosis recovery system aβ. The failure diagnosis recovery system aβ includes a majority decision determination unit 14aβ, a failure diagnosis unit 23aβ, and a recovery plan execution unit 21aβ. More specifically, the failure diagnosis unit 23aβ includes a system failure diagnosis unit 16aβ, a failure diagnosis information sharing unit 18aβ, a recovery plan determination unit 19aβ, and a recovery plan agreement unit 20aβ as in FIG. 1B. More specifically, the fault diagnosis recovery system aβ further includes system configuration information 17aβ and mode information 22aβ as in FIG. 1B.

診断ブロック300Aは、第一通信部301Aと、第二通信部303Aと、障害診断回復系統bを備える。障害診断回復系統bは、多数決判定部14bと、障害診断部23bと、回復プラン実行部21bを有する。障害診断部23bは、より詳細には、図1Cに示すように、構成不良箇所診断部302Aと、システム障害診断部16bと、障害診断情報共有部18bと、回復プラン判定部19bと、回復プラン合意部20bを有する。また、障害診断回復系統bは、より詳細には、図1Cに示すように、システム構成情報17bと、モード情報22bを更に有する。   The diagnosis block 300A includes a first communication unit 301A, a second communication unit 303A, and a failure diagnosis recovery system b. The failure diagnosis recovery system b includes a majority decision determination unit 14b, a failure diagnosis unit 23b, and a recovery plan execution unit 21b. More specifically, as shown in FIG. 1C, the failure diagnosis unit 23b includes a configuration failure location diagnosis unit 302A, a system failure diagnosis unit 16b, a failure diagnosis information sharing unit 18b, a recovery plan determination unit 19b, and a recovery plan. It has an agreement part 20b. More specifically, the failure diagnosis recovery system b further includes system configuration information 17b and mode information 22b as shown in FIG. 1C.

診断ブロック300B,300Cも、詳細な図示は省略するが、診断ブロック300Aと同様の構成を有する。すなわち、診断ブロック300Bは、診断ブロック300Aにおける各構成要素(301A〜303A,b,14b,16b〜21b,23b)にそれぞれ対応する各構成要素(301B〜303B,c,14c,16c〜21c,23c)を備える。同様に、診断ブロック300Cは、診断ブロック300Aにおける各構成要素(301A〜303A,b,14b,16b〜21b,23b)にそれぞれ対応する各構成要素(301C〜303C,d,14d,16d〜21d,23d)を備える。   The diagnostic blocks 300B and 300C also have the same configuration as the diagnostic block 300A, although detailed illustration is omitted. That is, the diagnostic block 300B includes the respective constituent elements (301B to 303B, c, 14c, 16c to 21c, 23c) corresponding to the respective constituent elements (301A to 303A, b, 14b, 16b to 21b, 23b) in the diagnostic block 300A. ). Similarly, the diagnosis block 300C includes each component (301C to 303C, d, 14d, 16d to 21d, corresponding to each component (301A to 303A, b, 14b, 16b to 21b, 23b) in the diagnosis block 300A, respectively. 23d).

処理ブロック310Aは、第一通信部311Aと、ステートフル処理部312Aと、ステート記憶部314Aと、ステート記憶管理部313Aと、第二通信部316Aと、構成情報記憶部318Aと、構成情報記憶管理部317Aを有する。処理ブロック310Aは、例えば、FPGA等によって構成される。ここでは、ステートフル処理部312A、第一通信部311Aおよびステート記憶管理部313Aは、再構成可能回路部319Aによって構成され、当該再構成可能回路部319Aの回路構成は、構成情報記憶部318Aの記憶情報に応じて任意に設定可能となっている。構成情報記憶部318Aは、一般的に、CRAM(Configuration RAM)等と呼ばれ、例えばSRAM等で構成される。   The processing block 310A includes a first communication unit 311A, a stateful processing unit 312A, a state storage unit 314A, a state storage management unit 313A, a second communication unit 316A, a configuration information storage unit 318A, and a configuration information storage management unit. 317A. The processing block 310A is configured by, for example, an FPGA. Here, the stateful processing unit 312A, the first communication unit 311A, and the state storage management unit 313A are configured by a reconfigurable circuit unit 319A, and the circuit configuration of the reconfigurable circuit unit 319A is stored in the configuration information storage unit 318A. It can be set arbitrarily according to the information. The configuration information storage unit 318A is generally called a CRAM (Configuration RAM) or the like, and is configured by an SRAM or the like, for example.

構成情報記憶管理部317Aは、診断ブロック300Aが第二通信部303A,316Aを介して構成情報記憶部318Aにアクセス等を行う際の制御を行う。すなわち、構成情報記憶管理部317Aは、診断ブロック300Aが再構成可能回路部319Aの回路の再構成等を行う際の制御を行う。ステート記憶部314Aには、ステートフル処理部312Aでの処理の過程で生じるステートが適宜記憶される。ステート記憶管理部313Aは、このステートを記憶する際の制御を行う。また、ステート記憶管理部313Aは、診断ブロック300Aが第二通信部303A,316Aを介してステート記憶部314Aにアクセス等を行う際の制御も行う。ステート記憶部314Aは、詳細は後述するが、ステートの回復を実現するために、第一バンク315A1と第二バンク315A2を備える。   The configuration information storage management unit 317A performs control when the diagnostic block 300A accesses the configuration information storage unit 318A via the second communication units 303A and 316A. That is, the configuration information storage management unit 317A performs control when the diagnostic block 300A performs reconfiguration of the circuit of the reconfigurable circuit unit 319A. The state storage unit 314A appropriately stores states generated in the process of the stateful processing unit 312A. The state storage management unit 313A performs control when storing this state. The state storage management unit 313A also performs control when the diagnostic block 300A accesses the state storage unit 314A via the second communication units 303A and 316A. Although details will be described later, the state storage unit 314A includes a first bank 315A1 and a second bank 315A2 in order to realize state recovery.

処理ブロック310B,310Cも、詳細な図示は省略するが、処理ブロック310Aと同様の構成を有する。すなわち、処理ブロック310Bは、処理ブロック310Aにおける各構成要素(311A〜314A,315A1,315A2,316A〜319A)にそれぞれ対応する各構成要素(311B〜314B,315B1,315B2,316B〜319B)を備える。同様に、処理ブロック310Cは、処理ブロック310Aにおける各構成要素(311A〜314A,315A1,315A2,316A〜319A)にそれぞれ対応する各構成要素(311C〜314C,315C1,315C2,316C〜319C)を備える。   The processing blocks 310B and 310C also have the same configuration as the processing block 310A, although detailed illustration is omitted. That is, the processing block 310B includes constituent elements (311B to 314B, 315B1, 315B2, 316B to 319B) respectively corresponding to the constituent elements (311A to 314A, 315A1, 315A2, 316A to 319A) in the processing block 310A. Similarly, the processing block 310C includes constituent elements (311C to 314C, 315C1, 315C2, 316C to 319C) respectively corresponding to the constituent elements (311A to 314A, 315A1, 315A2, 316A to 319A) in the processing block 310A. .

このように、本実施の形態1の情報処理システムは、図1Aに示すように、診断ブロック300Aおよび処理ブロック310Aを処理系統AA、診断ブロック300Bおよび処理ブロック310Bを処理系統BB、診断ブロック300Cおよび処理ブロック310Cを処理系統CCとして、三重化された処理系統を備えている。三重化を行うことで、単一障害発生後もエラー検知とエラー訂正を行うための処理結果が3つ得られる。すなわち、処理系統AA〜処理系統CC内のステートフル処理部312A〜312Cは、同一の回路構成が設定されることで同一の処理を行い、その各処理結果を第一通信部311A〜311Cを介して出力する。また、本実施の形態1の情報処理システムは、障害の診断および回復を行うための四重化された障害診断回復系統aα(又はaβ),b〜dを備えている。四重化を行うことで、障害診断回復系統自身がビザンチン障害を含めて単一障害を有する場合にも対応できる。   Thus, as shown in FIG. 1A, the information processing system according to the first embodiment includes the diagnosis block 300A and the processing block 310A as the processing system AA, the diagnosis block 300B and the processing block 310B as the processing system BB, and the diagnosis block 300C. A triple processing system is provided with the processing block 310C as the processing system CC. By performing triple processing, three processing results for error detection and error correction can be obtained even after a single failure occurs. That is, the stateful processing units 312A to 312C in the processing system AA to the processing system CC perform the same processing by setting the same circuit configuration, and the processing results are transmitted via the first communication units 311A to 311C. Output. The information processing system according to the first embodiment includes quadruple fault diagnosis / recovery systems aα (or aβ) and b to d for performing fault diagnosis and recovery. By performing quadruplexing, it is possible to cope with a case where the failure diagnosis recovery system itself has a single failure including a Byzantine failure.

《情報処理システムの全体動作》
図2は、図1A〜図1Cの情報処理システムにおいて、その全体の処理内容の一例を示すフローチャートである。図2において、まず、外部通信部11αは、通信路L1から受信した入力データを受信し、入力データ投入部12αへ送信する。入力データ投入部12αは、システム構成情報17aαに格納されている情報をもとに各処理系統の処理ブロック310A〜310Cが有する第一通信部311A〜311Cへ入力データをブロードキャストする(ステップS201)。
<< Overall operation of information processing system >>
FIG. 2 is a flowchart showing an example of the entire processing contents in the information processing system of FIGS. 1A to 1C. In FIG. 2, first, the external communication unit 11α receives the input data received from the communication path L1, and transmits it to the input data input unit 12α. Based on the information stored in the system configuration information 17aα, the input data input unit 12α broadcasts the input data to the first communication units 311A to 311C included in the processing blocks 310A to 310C of each processing system (step S201).

次に、ステートフル処理部312A〜312Cは、第一通信部311A〜311Cを介して入力データを受信し、それぞれ同一の処理を行う(ステップS202)。続いて、ステートフル処理部312A〜312Cは、ステップS202の結果、自身の内部状態(ステート)が変化するため、当該ステートをステート記憶管理部313A〜313Cにそれぞれ送信する。ステート記憶管理部313A〜313Cは、受信したステート情報をステート記憶部314A〜314Cへ保存する(ステップS203)。   Next, the stateful processing units 312A to 312C receive the input data via the first communication units 311A to 311C and perform the same processing (step S202). Subsequently, since the internal state (state) of the stateful processing units 312A to 312C changes as a result of step S202, the stateful processing units 312A to 312C transmit the states to the state storage management units 313A to 313C, respectively. The state storage management units 313A to 313C store the received state information in the state storage units 314A to 314C (step S203).

次に、ステートフル処理部312A〜312Cは、処理結果である出力データを、第一通信部311A〜311Cへ送信する。第一通信部311A〜311Cは、外部送受信ブロック10αの第一通信部13αおよび診断ブロック300A〜300Cの第一通信部301A〜301Cへ当該出力データをブロードキャストする。第一通信部13αおよび第一通信部301A〜301Cは、第一通信部311A〜311Cから受信した3つの処理結果(出力データ)を受信し、多数決判定部14aαおよび多数決判定部14b〜14dへそれぞれ送信する(ステップS204)。   Next, the stateful processing units 312A to 312C transmit output data as processing results to the first communication units 311A to 311C. The first communication units 311A to 311C broadcast the output data to the first communication unit 13α of the external transmission / reception block 10α and the first communication units 301A to 301C of the diagnosis blocks 300A to 300C. The first communication unit 13α and the first communication units 301A to 301C receive the three processing results (output data) received from the first communication units 311A to 311C, and send them to the majority decision determination unit 14aα and the majority decision determination units 14b to 14d, respectively. Transmit (step S204).

多数決判定部14aα,14b〜14dは、受信した3つの処理結果(出力データ)を比較し、1つも異なるデータが存在しないか否かを判定する(ステップS205)。1つも異なるデータが存在しない、つまり、3つの出力データ全てが同一と判定された場合、多数決判定部14aαのみ、当該同一の出力データを、出力データ投入部15αへ送信する。出力データ投入部15αは、出力データに対応する入力データを送信してきた相手を送信先に設定し、当該出力データを外部通信部11αへ送信する。外部通信部11αは、通信路L1を使用して出力データを送信する。一方、多数決判定部14b〜14dは、出力データを破棄する(ステップS206)。ステップS206が終了したのち、再びステップS201から処理を繰り返すことで、通常の処理が継続的に行われる。   The majority decision determination units 14aα and 14b to 14d compare the received three processing results (output data) and determine whether there is any different data (step S205). When no different data exists, that is, when it is determined that all three pieces of output data are the same, only the majority decision unit 14aα transmits the same output data to the output data input unit 15α. The output data input unit 15α sets the other party that has transmitted the input data corresponding to the output data as a transmission destination, and transmits the output data to the external communication unit 11α. The external communication unit 11α transmits output data using the communication path L1. On the other hand, the majority decision determining units 14b to 14d discard the output data (step S206). After step S206 is completed, normal processing is continuously performed by repeating the processing from step S201 again.

このように、図1A〜図1Cの情報処理システムでは、多数決判定部14aαで多数決判定した処理結果(出力データ)が外部に向けて出力される。したがって、仮に多数決判定部14aαに障害が生じた際には、外部に向けて正しい処理結果を出力することが困難となる。そこで、ここでは、二重化された多数決判定部14aα,14aβ(外部送受信ブロック10α,10β)を備え、一方に障害が生じた場合には他方に切り替える構成を用いている。なお、詳細は後述するが、多数決判定部14aα等の障害の有無は、障害診断部23aα,23b〜23dによって判別することが可能である。   As described above, in the information processing systems of FIGS. 1A to 1C, the processing result (output data) determined by the majority decision by the majority decision determination unit 14aα is output to the outside. Therefore, if a failure occurs in the majority decision determination unit 14aα, it is difficult to output a correct processing result to the outside. Therefore, here, a configuration is adopted in which duplicated majority decision units 14aα and 14aβ (external transmission / reception blocks 10α and 10β) are provided, and when a failure occurs on one side, the other is switched to the other side. Although details will be described later, the presence / absence of a failure such as the majority decision determination unit 14aα can be determined by the failure diagnosis units 23aα and 23b to 23d.

図2のステップS205において、1つでも異なるデータが存在する、つまり、3つの処理結果(出力データ)中にエラーが存在すると判定された場合、多数決判定部14aα,14b〜14dは、3つの出力データのうち、2つ以上の同一データが存在するか否かを判定する(ステップS207)。ステップS207で2つ以上の同一データが存在すると判定された場合、多数決判定部14aα,14b〜14dは、エラーが有る処理結果を特定するエラー判定結果を障害診断部23aα,23b〜23dに出力し、障害回復処理の実行を開始させる(ステップS208)。   When it is determined in step S205 in FIG. 2 that at least one piece of different data exists, that is, there is an error in the three processing results (output data), the majority decision determining units 14aα and 14b to 14d output three outputs. It is determined whether two or more identical data exist among the data (step S207). When it is determined in step S207 that two or more identical data exist, the majority determination units 14aα and 14b to 14d output an error determination result for specifying a processing result having an error to the failure diagnosis units 23aα and 23b to 23d. Then, the execution of the failure recovery process is started (step S208).

障害回復処理の詳細は、図3以降の説明で述べるが、多数決判定部14aα,14b〜14dのエラー判定結果および出力データは、システム障害診断部16aα,16b〜16d、及び、構成不良箇所診断部302A〜302Cへ送信され、障害状況の診断が行われる。その後、当該診断の結果から得られる障害診断情報の共有、回復プランの判定、回復プランの合意と進み、最終的に、回復プランの実行が行われる。これらの処理は、図2のフローチャートと並行して実行されるため、2つ以上の同一データが存在し、エラーが訂正可能な状態であれば、通常の処理を継続したまま、障害回復を実行する事が可能である。   Details of the failure recovery processing will be described in the description of FIG. 3 and subsequent figures, but the error determination results and output data of the majority decision determination units 14aα and 14b to 14d are the system failure diagnosis units 16aα and 16b to 16d, and the configuration failure location diagnosis unit. It is transmitted to 302A-302C, and the failure status is diagnosed. Thereafter, sharing of failure diagnosis information obtained from the diagnosis result, determination of the recovery plan, and agreement of the recovery plan proceed, and finally the recovery plan is executed. Since these processes are executed in parallel with the flowchart of FIG. 2, if two or more identical data exist and an error can be corrected, failure recovery is performed while continuing normal processing. It is possible to do.

図2のステップS208の処理と並行して、多数決判定部14aα,14b〜14dは、エラーを訂正する。具体的には、3つの出力データのうち、同一である2つを正常な出力データとみなし、多数決判定部14aαのみ、当該正常な出力データを出力データ投入部15αへ送信する。出力データ投入部15αは、出力データに対応する入力データを送信してきた相手を送信先に設定し、出力データを外部通信部11αおよび通信路L1を介して送信する(ステップS209)。また、図2のステップS207で、2つ以上の同一データが存在しない、つまり、全ての出力データが異なると判定された場合、多数決判定部14aα,14b〜14dは、情報処理システムを停止する(ステップS210)。   In parallel with the process of step S208 in FIG. 2, the majority decision determination units 14aα and 14b to 14d correct errors. Specifically, two of the three output data that are the same are regarded as normal output data, and only the majority decision unit 14aα transmits the normal output data to the output data input unit 15α. The output data input unit 15α sets the other party that has transmitted the input data corresponding to the output data as the transmission destination, and transmits the output data via the external communication unit 11α and the communication path L1 (step S209). If it is determined in step S207 in FIG. 2 that two or more identical data do not exist, that is, all the output data are different, the majority decision determining units 14aα and 14b to 14d stop the information processing system ( Step S210).

《障害回復処理の概略》
図3は、図2において、その障害回復処理の概略的な処理内容の一例を示すフローチャートである。図2のステップS207で、2つ以上同一のデータが存在し、エラーが訂正可能な状態と判定された場合、ステップS208での障害回復処理として、図3のフローチャートが実行される。図3において、まず、障害診断部23aα,23b〜23dは、自身の障害診断回復系統aα,b〜dが、障害回復モードであるか否かを判定する(ステップS301)。詳細なモードについては、図16で後述する。
<Outline of failure recovery processing>
FIG. 3 is a flowchart showing an example of a schematic processing content of the failure recovery processing in FIG. If it is determined in step S207 of FIG. 2 that two or more identical data exist and the error can be corrected, the flowchart of FIG. 3 is executed as the failure recovery processing in step S208. In FIG. 3, first, the failure diagnosis units 23aα, 23b to 23d determine whether or not their own failure diagnosis recovery systems aα, b to d are in the failure recovery mode (step S301). The detailed mode will be described later with reference to FIG.

障害診断部23aα,23b〜23dは、モード情報22aα,22b〜22dが、障害回復モードであった場合は処理を終了し、通常モードであった場合は障害回復モードへ移行する(ステップS302)。具体的には、障害診断部23aα,23b〜23dは、モード情報22aα,22b〜22dを、障害回復モードへ書き変える。   The failure diagnosis unit 23aα, 23b-23d terminates the process when the mode information 22aα, 22b-22d is in the failure recovery mode, and shifts to the failure recovery mode when in the normal mode (step S302). Specifically, the failure diagnosis units 23aα and 23b to 23d rewrite the mode information 22aα and 22b to 22d to the failure recovery mode.

次に、多数決判定部14aα,14b〜14dのエラー判定結果および出力データは、システム障害診断部16aα,16b〜16d、及び、構成不良箇所診断部302A〜302Cへ送信され、障害の診断が行われる(ステップS303)。システム障害診断部16aα,16b〜16dで行う診断の詳細は図5で、構成不良箇所診断部302A〜302Cで行う診断の詳細は図4で後述する。概略を説明すると、これらの診断部は、処理ブロックやシステム(具体的には第一通信部)における障害の発生箇所、障害の状態を診断し、例えば、どの処理ブロックに障害が生じたのか、または、どの診断ブロックもしくは外部送受信ブロックに障害が生じたのかを示す障害診断情報を作成する。そして、これらの診断部は、作成した障害診断情報を障害診断情報共有部18aα,18b〜18dへ渡す。   Next, the error determination results and output data of the majority decision determination units 14aα and 14b to 14d are transmitted to the system failure diagnosis units 16aα and 16b to 16d and the configuration failure location diagnosis units 302A to 302C, and the failure diagnosis is performed. (Step S303). Details of the diagnosis performed by the system failure diagnosis units 16aα and 16b to 16d will be described later with reference to FIG. 5, and details of the diagnosis performed by the configuration failure point diagnosis units 302A to 302C will be described later with reference to FIG. To explain the outline, these diagnosis units diagnose failure locations and failure states in processing blocks and systems (specifically, the first communication unit), for example, which processing block has a failure, Alternatively, fault diagnosis information indicating which diagnostic block or external transmission / reception block has a fault is created. Then, these diagnosis units pass the created failure diagnosis information to the failure diagnosis information sharing units 18aα and 18b to 18d.

次に、障害診断情報共有部18aαは、システム障害診断部16aαの診断結果に基づいて作成した障害診断情報を他の障害診断情報共有部18b〜18dに送信する。障害診断情報共有部18bは、システム障害診断部16b及び構成不良箇所診断部302Aの診断結果に基づいて作成した障害診断情報を他の障害診断情報共有部18aα,18c,18dに送信する。同様にして、障害診断情報共有部18c,18dも障害診断情報を送信する。すなわち、障害診断情報共有部18aα,18b〜18dのそれぞれは、自身の障害診断情報を他の障害診断情報共有部に向けて送信し、また、他の障害診断情報共有部の障害診断情報を受信することで障害診断情報の交換および共有を行う(ステップS304)。   Next, the fault diagnosis information sharing unit 18aα transmits the fault diagnosis information created based on the diagnosis result of the system fault diagnosis unit 16aα to the other fault diagnosis information sharing units 18b to 18d. The failure diagnosis information sharing unit 18b transmits the failure diagnosis information created based on the diagnosis results of the system failure diagnosis unit 16b and the configuration failure location diagnosis unit 302A to the other failure diagnosis information sharing units 18aα, 18c, and 18d. Similarly, the fault diagnosis information sharing units 18c and 18d also transmit fault diagnosis information. That is, each of the failure diagnosis information sharing units 18aα and 18b to 18d transmits its own failure diagnosis information to other failure diagnosis information sharing units, and receives failure diagnosis information of other failure diagnosis information sharing units. Thus, fault diagnosis information is exchanged and shared (step S304).

具体的な処理は、図6で後述するが、各障害診断回復系統aα,b〜dは、図3のステップS303の処理を完了した時点では、個々の障害診断回復系統において障害を検知したのみであり、実際の障害の発生箇所によっては、誤検知の可能性がある。当該誤検知は、例えば、多数決判定部等に障害が生じた場合に生じ得る。そのため、障害診断情報共有部18aα,18b〜18dは、他の障害診断回復系統の状況を把握するため、障害診断情報をお互いに共有し、共有した各障害診断情報を、回復プラン判定部19aα,19b〜19dへ渡す。   Although specific processing will be described later with reference to FIG. 6, each failure diagnosis recovery system aα, b to d only detects a failure in each failure diagnosis recovery system when the processing of step S303 in FIG. 3 is completed. There is a possibility of erroneous detection depending on the location of the actual failure. The erroneous detection can occur, for example, when a failure occurs in the majority decision determination unit or the like. Therefore, the fault diagnosis information sharing units 18aα, 18b to 18d share fault diagnosis information with each other in order to grasp the status of other fault diagnosis recovery systems, and share the respective fault diagnosis information with the recovery plan determination unit 19aα, It passes to 19b-19d.

ここで、例えば、処理ブロック310A〜310Cの中に障害が無い場合、各障害診断回復系統内の多数決判定部14aα,14b〜14dはエラー判定結果の出力を行わず、当該エラー判定結果等を反映した障害診断情報の生成は行われない。しかしながら、ある障害診断回復系統のみが障害を検知し、これに伴う障害診断情報が、当該障害を検知した障害診断回復系統以外の障害診断回復系統内の障害診断情報共有部へ送信される事態が起こり得る。このような事態は、具体的には、例えば、当該障害を検知した障害診断回復系統内の多数決判定部や、システム障害診断部や、構成不良箇所診断部や、第一通信部に障害が生じた場合に起こり得る。   Here, for example, when there is no failure in the processing blocks 310A to 310C, the majority decision determination units 14aα and 14b to 14d in each failure diagnosis recovery system do not output the error determination result, but reflect the error determination result and the like. Failure diagnosis information generated is not generated. However, there is a situation in which only a fault diagnosis recovery system detects a fault, and fault diagnosis information associated therewith is transmitted to a fault diagnosis information sharing unit in a fault diagnosis recovery system other than the fault diagnosis recovery system that detected the fault. Can happen. Specifically, for example, a failure occurs in the majority decision determination unit, the system failure diagnosis unit, the defective configuration diagnosis unit, or the first communication unit in the failure diagnosis and recovery system that detects the failure. Can happen.

そこで、詳細は図18で後述するが、各障害診断回復系統の障害診断情報共有部18aα,18b〜18dは、障害回復モード中のステップS304だけでなく、通常モードの場合も、常に他の障害診断回復系統からの障害診断情報を待ちうけ、障害に対応する。これにより、例えば、障害診断回復系統aαが、他の障害診断回復系統b〜cでは障害を検知していないのにも関わらず障害を検知し、他の障害診断回復系統b〜dの障害診断情報共有部18b〜18dが、当該障害に対する障害診断情報を受け取った場合にも適切に障害に対応できる。具体的には、このような場合、診断ブロック300A〜300Cは、障害診断回復系統aαに障害が生じていると判断し、例えば、「障害診断回復系統aαに障害が有る」旨を表す信号を外部送受信ブロック10βに送信する。これを受けて、外部送受信ブロック10βは、外部送受信ブロック10αの全処理を引き継ぐ。   Therefore, although details will be described later with reference to FIG. 18, the fault diagnosis information sharing units 18aα and 18b to 18d of each fault diagnosis / recovery system always perform other faults not only in step S304 in the fault recovery mode but also in the normal mode. Wait for failure diagnosis information from the diagnosis recovery system and respond to the failure. Thereby, for example, the fault diagnosis recovery system aα detects a fault even though the other fault diagnosis recovery systems b to c do not detect the fault, and the fault diagnosis of the other fault diagnosis recovery systems b to d Even when the information sharing units 18b to 18d receive failure diagnosis information for the failure, it is possible to appropriately deal with the failure. Specifically, in such a case, the diagnosis blocks 300A to 300C determine that a failure has occurred in the failure diagnosis recovery system aα, and, for example, output a signal indicating that the failure diagnosis recovery system aα has a failure. It transmits to the external transmission / reception block 10β. In response to this, the external transmission / reception block 10β takes over all processing of the external transmission / reception block 10α.

次に、図3において、回復プラン判定部19aα,19b〜19dは、障害診断情報共有部で共有した各障害診断情報から、実行するべき回復プランを判定する(ステップS305)。具体的な処理は、図7および図8で後述するが、自動的に回復可能と診断した場合、回復元の処理ブロックと回復先の処理ブロックを定め、この情報等を含んだ自動回復プランを、回復プラン合意部20aα,20b〜20dへ渡す。また、自動的な回復が不可能と診断した場合、障害診断情報(すなわち障害が生じた診断ブロックを特定する情報等)を含めた手動回復プランを、回復プラン合意部20aα,20b〜20dへ渡す。   Next, in FIG. 3, the recovery plan determination units 19aα and 19b to 19d determine a recovery plan to be executed from each failure diagnosis information shared by the failure diagnosis information sharing unit (step S305). The specific processing will be described later with reference to FIGS. 7 and 8. However, when it is automatically diagnosed that recovery is possible, a processing block for recovery and a processing block for recovery are determined, and an automatic recovery plan including this information is established. , To the recovery plan agreement unit 20aα, 20b-20d. In addition, when it is diagnosed that automatic recovery is impossible, a manual recovery plan including failure diagnosis information (that is, information specifying a diagnosis block in which a failure has occurred) is passed to the recovery plan agreement units 20aα, 20b to 20d. .

続いて、回復プラン合意部20aα,20b〜20dは、回復プラン判定部19aα,19b〜19dから渡された回復プランを実行するための合意を回復プラン合意部の間で行う(ステップS306)。具体的な処理は、図7および図8で後述するが、この合意プロセスによって、例えば、回復プラン判定部の障害や第一通信部等のビザンチン障害等によって、誤った回復プランが生成され、それが実行されるような事態を防止することが可能になる。   Subsequently, the recovery plan agreement units 20aα and 20b to 20d make an agreement between the recovery plan agreement units to execute the recovery plan passed from the recovery plan determination units 19aα and 19b to 19d (step S306). The specific processing will be described later with reference to FIGS. 7 and 8. This consensus process generates an incorrect recovery plan due to, for example, a failure in the recovery plan determination unit or a Byzantine failure in the first communication unit. Can be prevented.

次に、回復プラン実行部21aα,21b〜21dは、合意した回復プランを実行する(ステップS307)。具体的な処理は、図11〜図15で後述するが、回復が正常に行えた場合は通常モードへ移行し、もとの三重系へ復帰する。回復が正常に行えなかった場合は、障害回復処理を中断し、手動での回復を促す。   Next, the recovery plan execution units 21aα and 21b to 21d execute the agreed recovery plan (step S307). Specific processing will be described later with reference to FIGS. 11 to 15, but when the recovery can be normally performed, the mode is changed to the normal mode and the original triple system is restored. If recovery cannot be performed normally, the failure recovery process is interrupted and manual recovery is encouraged.

《構成不良箇所診断部の処理内容》
図4は、図1A〜図1Cの情報処理システムにおいて、その構成不良箇所診断部の処理内容の一例を示すフローチャートである。図4のフローチャートは、図3のステップS303における構成不良箇所診断部302A〜302Cの処理内容を表すものである。図4において、まず、構成不良箇所診断部302A〜302Cは、多数決判定部14b〜14dから渡されるエラー判定結果から、自身が障害系統かどうか(言い換えれば自身の処理ブロックに障害が生じている可能性が有るか否か)を判定する(ステップS401)。そして、構成不良箇所診断部302A〜302Cは、障害系統が自身の管理下にあるか否かを判定する(ステップS402)。
《Processing contents of faulty location diagnosis unit》
FIG. 4 is a flowchart illustrating an example of processing contents of the defective configuration portion diagnosis unit in the information processing system of FIGS. 1A to 1C. The flowchart of FIG. 4 represents the processing contents of the defective configuration portion diagnosis units 302A to 302C in step S303 of FIG. In FIG. 4, first, the configuration failure location diagnosis units 302A to 302C determine whether or not they are faulty systems based on the error determination results passed from the majority decision determination units 14b to 14d (in other words, there is a possibility that a failure has occurred in their processing block). Whether or not there is a characteristic) is determined (step S401). Then, the defective configuration portion diagnosis units 302A to 302C determine whether or not the faulty system is under its own management (step S402).

具体的には、例えば、多数決判定部14b〜14dは、処理系統AAからの処理結果(出力データ)のみ処理系統BB,CCと異なっている場合は、処理系統AAを障害系統とするエラー判定結果を出力する。この場合、構成不良箇所診断部302Aは、自身が障害系統であり、障害系統が自身の管理下にあると判定し、構成不良箇所診断部302B,302Cは、処理系統AAが障害系統であり、障害系統は自身の管理下に無いと判定する。   Specifically, for example, when the majority decision determination units 14b to 14d differ from the processing systems BB and CC only in the processing result (output data) from the processing system AA, the error determination result with the processing system AA as the fault system Is output. In this case, the misconfiguration point diagnosis unit 302A determines that it is a fault system and the fault system is under its control, and the misconfiguration point diagnosis units 302B and 302C have the processing system AA as a fault system, It is determined that the fault system is not under its own management.

構成不良箇所診断部302A〜302Cは、障害系統が自身の管理下にないと判定した場合、処理を終了する。一方、構成不良箇所診断部302A〜302Cは、障害系統が自身の管理下にあると判定した場合、第二通信部303A〜303Cおよび第二通信部316A〜316Cを経由して、構成情報記憶管理部317A〜317Cへ障害箇所の情報を要求する(ステップS403)。なお、実際には、構成不良箇所診断部302A〜302Cの中のいずれか一つ(例えば302A)が自身に対応する構成情報記憶管理部(例えば317A)へ障害箇所の情報を要求することになる。   If the configuration failure location diagnosis units 302A to 302C determine that the faulty system is not under their control, the processing ends. On the other hand, if the configuration failure location diagnosis units 302A to 302C determine that the faulty system is under their own management, the configuration information storage management is performed via the second communication units 303A to 303C and the second communication units 316A to 316C. Information on the fault location is requested to the units 317A to 317C (step S403). Actually, any one of the configuration failure location diagnosis units 302A to 302C (for example, 302A) requests the configuration information storage management unit (for example, 317A) corresponding to itself for information on the failure location. .

続いて、構成情報記憶管理部317A〜317Cは、構成情報記憶部318A〜318Cを検査し、障害箇所の情報を収集し、構成不良箇所診断部302A〜302Cへ応答する(ステップS404)。なお、当該処理は、実際には、処理系統AA〜CCのいずれか一つで行われる。また、具体的な処理内容としては、例えば、ソフトエラーの診断回路を用いる方式や、または、回復プランに含まれる回復元の処理ブロック内の構成情報記憶部の記憶情報を期待値として比較判定する方式や、あるいは、予め正しい記憶情報を不揮発性メモリ等に格納しておき、その記憶情報を期待値として比較判定する方式等が挙げられる。   Subsequently, the configuration information storage management units 317A to 317C inspect the configuration information storage units 318A to 318C, collect information on the failure location, and respond to the configuration failure location diagnosis units 302A to 302C (step S404). Note that the processing is actually performed in any one of the processing systems AA to CC. In addition, as specific processing contents, for example, a method using a soft error diagnostic circuit or a storage information stored in a configuration information storage unit in a processing block for recovery included in a recovery plan is compared and determined as an expected value. A method or a method in which correct stored information is stored in a nonvolatile memory or the like in advance and the stored information is compared and determined as an expected value.

次に、構成不良箇所診断部302A〜302Cは、一定時間以内に、構成情報記憶管理部317A〜317Cから応答があるか否かを判定する(ステップS405)。構成不良箇所診断部302A〜302Cは、一定時間内に構成情報記憶管理部317A〜317Cから障害箇所に関する情報の応答があった場合、当該情報を障害診断情報共有部18b〜18dへ渡す(ステップS406)。一方、構成不良箇所診断部302A〜302Cは、一定時間内に構成情報記憶管理部317A〜317Cからの応答がなかった場合、再構成不能という情報を障害診断情報共有部18b〜18dへ渡す(ステップS407)。   Next, the configuration failure location diagnosis units 302A to 302C determine whether or not there is a response from the configuration information storage management units 317A to 317C within a certain time (step S405). If there is a response from the configuration information storage management units 317A to 317C for information regarding the fault location within a certain time, the configuration failure location diagnosis units 302A to 302C pass the information to the fault diagnosis information sharing units 18b to 18d (step S406). ). On the other hand, if there is no response from the configuration information storage management units 317A to 317C within a certain period of time, the configuration failure location diagnosis units 302A to 302C pass information that the reconfiguration is impossible to the fault diagnosis information sharing units 18b to 18d (step) S407).

《システム障害診断部の処理内容》
図5は、図1A〜図1Cの情報処理システムにおいて、そのシステム障害診断部の処理内容の一例を示すフローチャートである。図5のフローチャートは、図3のステップS303におけるシステム障害診断部16aα,16b〜16dの処理内容を表すものである。図5において、まず、システム障害診断部16aα,16b〜16dは、他の障害診断回復系統が有する第一通信部13α,301A〜301Cが応答するか否かをチェックする(ステップS501)。具体的には、システム障害診断部16aαを例とすると、システム障害診断部16aαは、例えば、第一通信部13αを介して第一通信部301A〜301Cに向けてPing等のツールを用いて応答があるかどうかをチェックする。
<< Processing contents of system fault diagnosis part >>
FIG. 5 is a flowchart illustrating an example of processing contents of the system failure diagnosis unit in the information processing systems of FIGS. 1A to 1C. The flowchart of FIG. 5 represents the processing contents of the system failure diagnosis units 16aα and 16b to 16d in step S303 of FIG. In FIG. 5, first, the system failure diagnosis units 16aα, 16b to 16d check whether or not the first communication units 13α and 301A to 301C included in other failure diagnosis recovery systems respond (step S501). Specifically, taking the system failure diagnosis unit 16aα as an example, the system failure diagnosis unit 16aα responds using a tool such as Ping to the first communication units 301A to 301C via the first communication unit 13α, for example. Check if there is.

次いで、システム障害診断部16aα,16b〜16dは、第一通信部から応答がない場合、通信不可との情報を障害診断情報共有部18aα,18b〜18dへ渡し、処理を終了する(ステップS502)。一方、全ての第一通信部から応答がある場合、通信可能との情報を障害診断情報共有部18aα,18b〜18dへ渡す(ステップS503)。これによって、多数決判定部からのエラー判定結果によって示される障害の原因が、第一通信部13α,301A〜301Cのいずれかにあるのか否かが判別される。   Next, when there is no response from the first communication unit, the system failure diagnosis unit 16aα, 16b to 16d passes information indicating that communication is not possible to the failure diagnosis information sharing unit 18aα, 18b to 18d, and ends the process (step S502). . On the other hand, when there is a response from all the first communication units, information indicating that communication is possible is passed to the fault diagnosis information sharing units 18aα, 18b to 18d (step S503). Thus, it is determined whether or not the cause of the failure indicated by the error determination result from the majority determination unit is in any of the first communication units 13α and 301A to 301C.

《障害診断情報共有部の処理内容》
図6は、図1A〜図1Cの情報処理システムにおいて、その障害診断情報共有部の処理内容の一例を示すフローチャートである。図6のフローチャートは、図3のステップS304において、他の障害診断回復系統の状況を把握するために障害診断情報共有部18aα,18b〜18dで行われる処理内容を表すものである。図6において、まず、障害診断情報共有部18aα,18b〜18dは、システム障害診断部16aα,16b〜16dから受け取った診断結果から、通信が可能かどうかをチェックする(ステップS601)。具体的には、図5のステップS503に示したように、通信可能との情報を受け取った場合のみ、通信可能と判断する。
《Processing contents of failure diagnosis information sharing unit》
FIG. 6 is a flowchart illustrating an example of processing contents of the failure diagnosis information sharing unit in the information processing systems of FIGS. 1A to 1C. The flowchart in FIG. 6 shows the processing contents performed in the fault diagnosis information sharing units 18aα and 18b to 18d in order to grasp the status of other fault diagnosis and recovery systems in step S304 in FIG. In FIG. 6, first, the fault diagnosis information sharing units 18aα and 18b to 18d check whether communication is possible from the diagnosis results received from the system fault diagnosis units 16aα and 16b to 16d (step S601). Specifically, as shown in step S503 in FIG. 5, it is determined that communication is possible only when information indicating that communication is possible is received.

次いで、通信可能と判定された場合、障害診断情報共有部18aα,18b〜18dは、自身の障害診断情報をブロードキャストで送信することで、各障害診断情報共有部の間で障害診断情報を交換する(ステップS602)。詳細な交換方法は図19で後述する。続いて、障害診断情報共有部18aα,18b〜18dは、交換が正常に終了したか否かをチェックする(ステップS603)。具体的には、タイムアウトや、データのエラー等が無いかをチェックする。   Next, when it is determined that communication is possible, the fault diagnosis information sharing units 18aα and 18b to 18d exchange their fault diagnosis information between the respective fault diagnosis information sharing units by broadcasting their own fault diagnosis information. (Step S602). A detailed exchange method will be described later with reference to FIG. Subsequently, the failure diagnosis information sharing units 18aα and 18b to 18d check whether or not the exchange has been completed normally (step S603). Specifically, it is checked whether there is a timeout or a data error.

交換が正常に終了した場合、障害診断情報共有部18aα,18b〜18dは、交換によって取得した各障害診断情報を回復プラン判定部19aα,19b〜19dへ渡し処理を終了する(ステップS604)。一方、交換が正常に終了しなかった場合、もしくは、ステップS601において通信不可だと判定された場合、障害診断情報共有部18aα,18b〜18dは、手動回復プランを作成し、回復プラン実行部21aα,21b〜21dへ渡し、処理を終了する(ステップS605)。   When the exchange ends normally, the fault diagnosis information sharing units 18aα, 18b to 18d pass the fault diagnosis information acquired by the exchange to the recovery plan determination units 19aα, 19b to 19d, and the processing is ended (step S604). On the other hand, if the exchange has not been completed normally, or if it is determined in step S601 that communication is not possible, the failure diagnosis information sharing units 18aα and 18b to 18d create a manual recovery plan, and the recovery plan execution unit 21aα. , 21b to 21d, and the process is terminated (step S605).

例えば、多数決判定部に障害が生じた場合には、当該障害が生じた多数決判定部に対応する障害診断情報共有部は、他の障害診断情報共有部から障害診断情報を受信しないため、ステップS603の処理でタイムアウトとなり、ステップS605の処理へ移行する。この際に、その他の障害診断情報共有部は、後述する図18のフローによって、当該障害が生じた多数決判定部の存在を認識する。   For example, when a failure occurs in the majority decision determination unit, the failure diagnosis information sharing unit corresponding to the majority decision determination unit in which the failure has occurred does not receive the failure diagnosis information from the other failure diagnosis information sharing unit. The process timed out, and the process proceeds to step S605. At this time, the other failure diagnosis information sharing unit recognizes the existence of the majority decision determination unit in which the failure has occurred according to the flow of FIG.

《回復プラン判定部および回復プラン合意部の処理内容》
図7は、図1A〜図1Cの情報処理システムにおいて、その回復プラン判定部および回復プラン合意部の処理内容の一例を示すフローチャートである。図8は、図7のフローチャートにおいて、回復プランを判定する際の判定基準の一例を示す表である。図7および図8は、図3のステップS305およびS306において、回復プランの判定と合意を行うために回復プラン判定部19aα,19b〜19dおよび回復プラン合意部20aα,20b〜20dで行われる処理内容を表すものである。
《Processing contents of recovery plan judgment unit and recovery plan agreement unit》
FIG. 7 is a flowchart illustrating an example of processing contents of the recovery plan determination unit and the recovery plan agreement unit in the information processing system of FIGS. 1A to 1C. FIG. 8 is a table showing an example of determination criteria for determining a recovery plan in the flowchart of FIG. 7 and 8 show the processing contents performed in the recovery plan determination units 19aα and 19b to 19d and the recovery plan agreement units 20aα and 20b to 20d in order to determine and agree with the recovery plan in steps S305 and S306 of FIG. Is expressed.

図7において、まず、回復プラン判定部19aα,19b〜19dは、回復プランを判定する(ステップS701)。具体的に説明すると、まず、その前段階で、各障害診断回復系統aα,b〜d毎に、自身の多数決判定部からのエラー判定結果や、自身の構成不良箇所診断部での診断結果や、自身のシステム障害診断部での診断結果に基づいて別個独立に障害診断情報が生成される。各障害診断情報は、それぞれ、どの処理ブロックに障害が生じたのか、または、どの診断ブロックもしくは外部送受信ブロックに障害が生じたのかを各障害診断回復系統aα,b〜d毎の判断で定めたものとなる。その後、当該各障害診断情報は、障害診断情報共有部18aα,18b〜18で共有される。回復プラン判定部19aα,19b〜19dのそれぞれは、この共有された各障害診断情報を参照し、図8の表800に基づいて、障害が自動回復可能であるのか、自動回復不可能であるのかを判定する。   In FIG. 7, first, the recovery plan determination units 19aα, 19b to 19d determine a recovery plan (step S701). Specifically, first, in the previous stage, for each fault diagnosis recovery system aα, b to d, an error determination result from its own majority decision determination unit, a diagnosis result in its own configuration failure point diagnosis unit, Fault diagnosis information is generated separately and independently based on the diagnosis result of the system fault diagnosis unit of the system. Each failure diagnosis information determines which processing block has failed or which diagnosis block or external transmission / reception block has failed by judgment for each failure diagnosis recovery system aα, b to d. It will be a thing. Thereafter, each failure diagnosis information is shared by the failure diagnosis information sharing units 18aα and 18b-18. Each of the recovery plan determination units 19aα, 19b to 19d refers to each shared failure diagnosis information, and whether the failure can be automatically recovered or not automatically recovered based on the table 800 of FIG. Determine.

図8の表800では、3個の処理ブロック310A〜310C(再構成可能回路部319A〜319C)の中のいずれか1個に障害が有る場合に自動回復が可能と判定され、それ以外の場合には、自動回復が不可能と判定される。例えば、共有した各障害診断情報に含まれる故障した処理ブロックを特定する情報(言い換えれば各多数決判定部からの各エラー判定結果)が全て一致し、かつ当該処理ブロックの障害の存在が対応する構成不良箇所診断部で検証され、かつ各システム障害診断部で通信障害が検出されなかった場合には、自動回復が可能と判定される。回復プラン判定部19aα,19b〜19dは、自動回復が可能と判定した場合、自動回復プランを生成し、自動回復が不可能と判定した場合、手動回復プランを生成する。   In the table 800 of FIG. 8, it is determined that automatic recovery is possible if any one of the three processing blocks 310A to 310C (reconfigurable circuit units 319A to 319C) has a failure, and otherwise. It is determined that automatic recovery is impossible. For example, a configuration in which all pieces of information (in other words, each error determination result from each majority decision unit) that specify a failed processing block included in each shared failure diagnosis information match and the presence of a failure in the processing block corresponds When it is verified by the defective part diagnosis unit and no communication failure is detected by each system failure diagnosis unit, it is determined that automatic recovery is possible. The recovery plan determination units 19aα and 19b to 19d generate an automatic recovery plan when it is determined that automatic recovery is possible, and generate a manual recovery plan when it is determined that automatic recovery is impossible.

自動回復プランの中には、障害が有る処理ブロックを表す回復先の処理ブロックと、障害が無い処理ブロックの中から選択した回復元の処理ブロックの情報等が含まれる。この回復元の処理ブロックは、回復プラン判定部19aα,19b〜19dの中で予め共通に設定されている優先順位等に基づいて選択される。また、手動回復プランの中には、各障害診断情報から推定される障害の発生箇所(すなわちどの診断ブロックで障害が発生しているか)の情報等が含まれる。例えば、共有された4個の障害診断情報の中のいずれか1個が他と矛盾するような場合には、この1個の障害診断情報に対応する診断ブロックに障害が発生していると推定される。   The automatic recovery plan includes information on a recovery destination processing block representing a processing block having a failure, and information on a processing block for time restoration selected from processing blocks having no failure. The processing block for this restoration is selected based on the priority order set in advance in the recovery plan determination units 19aα, 19b to 19d. Further, the manual recovery plan includes information on the location of the failure estimated from each failure diagnosis information (that is, in which diagnosis block the failure has occurred). For example, if any one of the four shared fault diagnosis information is inconsistent with the other, it is estimated that a fault has occurred in the diagnostic block corresponding to this one fault diagnosis information. Is done.

次いで、生成された回復プランは、回復プラン合意部20aα,20b〜20dへ渡される。回復プラン合意部20aα,20b〜20dは、ビザンチン合意プロトコルに従い、回復プランを交換する(ステップS702)。詳細な交換方法は図20および図21で後述するが、このようなビザンチン合意プロトコルを用いることによって、ビザンチン障害が1つ存在しても、ビザンチン障害が起きている系統を除く、残り3つの障害診断回復系統の回復プランを同一にすることができる。つまり、回復プラン決定後の状態遷移を、ビザンチン障害が起きている系統を除く、残り3つの障害診断回復系統で同一にすることができる。   Next, the generated recovery plan is passed to the recovery plan agreement units 20aα, 20b to 20d. The recovery plan agreement units 20aα and 20b to 20d exchange recovery plans according to the Byzantine agreement protocol (step S702). The detailed replacement method will be described later with reference to FIGS. 20 and 21. By using such a Byzantine agreement protocol, even if one Byzantine disorder exists, the remaining three faults excluding the line in which the Byzantine disorder occurs are excluded. The recovery plan of the diagnostic recovery system can be made the same. That is, the state transition after determining the recovery plan can be made the same in the remaining three fault diagnosis recovery systems except for the system in which the Byzantine failure occurs.

これにより、例えば、ビザンチン障害が発生した系統が、実際には障害が発生していないにも関わらず、障害の自動回復処理の実行に入ったとしても、障害の自動回復処理に必要な他の3つの障害診断回復系統が障害の自動回復処理を実行していないため、障害の自動回復処理が途中でエラーとなる。この場合、適切にエラー処理を行うことで、例えば、ビザンチン障害が起きていない残り3つの障害診断回復系統およびそれに対応する処理系統を用いて縮退運転等を行うことが可能になる。   As a result, for example, even if a system in which a Byzantine failure occurs does not actually cause a failure, even if it enters into the execution of automatic failure recovery processing, Since the three failure diagnosis and recovery systems do not execute the automatic failure recovery processing, the automatic failure recovery processing results in an error. In this case, by appropriately performing error processing, for example, it is possible to perform degenerate operation or the like using the remaining three fault diagnosis recovery systems in which no Byzantine fault has occurred and the corresponding processing systems.

続いて、回復プラン合意部20aα,20b〜20dは、回復プランの交換が正常に終了したか否かをチェックする(ステップS703)。正常に終了した場合、回復プラン合意部20aα,20b〜20dは、交換した各回復プランを比較し、全ての障害診断回復系統の回復プランが一致しているか否かをチェックする(ステップS704)。回復プランが一致していなければ、どこかでビザンチン障害が発生しているため、回復プランの一致をみることで、ビザンチン障害による不安定なシステム環境での障害回復処理を防ぐことが可能である。   Subsequently, the recovery plan agreement units 20aα and 20b to 20d check whether or not the replacement of the recovery plan has ended normally (step S703). In the case of normal termination, the recovery plan agreement units 20aα, 20b to 20d compare the replaced recovery plans and check whether the recovery plans of all the failure diagnosis recovery systems match (step S704). If the recovery plan does not match, a Byzantine failure has occurred somewhere, and by looking at the recovery plan match, it is possible to prevent failure recovery processing in an unstable system environment due to Byzantine failure .

全ての障害診断回復系統の回復プランが一致している場合、回復プラン合意部20aα,20b〜20dは、当該一致した回復プランを回復プラン実行部21aα,21b〜21dへ渡す(ステップS705)。一方、全ての障害診断回復系統の回復プランが一致している場合に該当しない場合、回復プラン合意部20aα,20b〜20dは、当該回復プランを手動回復プランに変更し、それを回復プラン実行部21aα,21b〜21dへ渡す(ステップS707)。また、ステップS703において回復プランの交換が正常に終了しなかった場合にも、回復プラン合意部20aα,20b〜20dは、当該回復プランを手動回復プランに変更し、それを回復プラン実行部21aα,21b〜21dへ渡す(ステップS706)。   When the recovery plans of all the failure diagnosis recovery systems match, the recovery plan agreement units 20aα, 20b-20d pass the matched recovery plans to the recovery plan execution units 21aα, 21b-21d (step S705). On the other hand, when the recovery plans of all failure diagnosis recovery systems do not correspond, the recovery plan agreement units 20aα, 20b to 20d change the recovery plan to a manual recovery plan and change it to the recovery plan execution unit. 21a [alpha], 21b to 21d (step S707). In addition, even when the exchange of the recovery plan does not end normally in step S703, the recovery plan agreement units 20aα and 20b to 20d change the recovery plan to a manual recovery plan and change it to the recovery plan execution unit 21aα, 21b to 21d (step S706).

《回復プラン実行部の詳細構成》
図9は、図1A〜図1Cの情報処理システムにおいて、その外部送受信ブロック内の回復プラン実行部の詳細な構成例を示すブロック図である。ここでは、外部送受信ブロック10αを代表として説明するが、外部送受信ブロック10βも同様である。図9に示す回復プラン実行部21aαは、回復制御部211aαと、手動回復プラン通知部216aαと、入力データ再投入部217aαと、入力データ再投入キュー218aαから構成される。詳細は図11〜図15で後述するが、回復制御部211aαは、手動回復プラン通知部216aα、入力データ再投入部217aαを制御し、手動回復プラン、及び、自動回復プランを実行する。
<< Detailed configuration of recovery plan execution part >>
FIG. 9 is a block diagram showing a detailed configuration example of the recovery plan execution unit in the external transmission / reception block in the information processing system of FIGS. 1A to 1C. Here, the external transmission / reception block 10α will be described as a representative, but the same applies to the external transmission / reception block 10β. The recovery plan execution unit 21aα illustrated in FIG. 9 includes a recovery control unit 211aα, a manual recovery plan notification unit 216aα, an input data re-input unit 217aα, and an input data re-input queue 218aα. Although details will be described later with reference to FIGS. 11 to 15, the recovery control unit 211aα controls the manual recovery plan notification unit 216aα and the input data re-input unit 217aα to execute the manual recovery plan and the automatic recovery plan.

入力データ再投入部217aαは、ステートの回復を行う際に必要な入力データを、入力データ再投入キュー218aαに保存し、必要になった時点で、回復先の処理ブロックへ順に入力データを投入する。手動回復プラン通知部216aαは、受け取った回復プランが手動回復プランであった場合に、それを手動回復プラン情報として外部へ通知する。   The input data re-input unit 217aα stores input data necessary for state recovery in the input data re-input queue 218aα, and inputs the input data in order to the processing block of the recovery destination when necessary. . When the received recovery plan is a manual recovery plan, the manual recovery plan notification unit 216aα notifies the outside as manual recovery plan information.

図10は、図1A〜図1Cの情報処理システムにおいて、その診断ブロック内の回復プラン実行部の詳細な構成例を示すブロック図である。ここでは、診断ブロック300Aを代表として説明するが、診断ブロック300B,300Cも同様である。図10に示す回復プラン実行部21bは、回復制御部211bと、再構成データ生成部212bと、回路データ213bと、構成回復部214bと、ステート回復部215bと、手動回復プラン通知部216bから構成される。詳細は図11〜図15で後述するが、回復制御部211bは、再構成データ生成部212bと、構成回復部214bと、ステート回復部215bと、手動回復プラン通知部216bとを制御する。   FIG. 10 is a block diagram illustrating a detailed configuration example of the recovery plan execution unit in the diagnosis block in the information processing system of FIGS. 1A to 1C. Here, the diagnosis block 300A will be described as a representative, but the diagnosis blocks 300B and 300C are the same. The recovery plan execution unit 21b illustrated in FIG. 10 includes a recovery control unit 211b, a reconfiguration data generation unit 212b, circuit data 213b, a configuration recovery unit 214b, a state recovery unit 215b, and a manual recovery plan notification unit 216b. Is done. Although details will be described later with reference to FIGS. 11 to 15, the recovery control unit 211b controls the reconfiguration data generation unit 212b, the configuration recovery unit 214b, the state recovery unit 215b, and the manual recovery plan notification unit 216b.

再構成データ生成部212bは、例えば構成回復部214bによって得られる障害箇所の情報と、回路データ213bとから再構成するべき障害箇所の再構成データを生成する。また、構成回復部214bは、再構成データを構成情報記憶管理部317Aへ送信し、再構成可能回路部319Aの自動回復(回路の再構成)を行う。ステート回復部215bは、再構成可能回路部319Aの回路の再構成が完了した後、正常なステートを持つ回復元の処理ブロックからステートをコピーし、当該ステートをステート記憶管理部313Aを通して第一バンク315A1に上書きする。   For example, the reconfiguration data generation unit 212b generates reconfiguration data of a fault location to be reconfigured from the fault location information obtained by the configuration recovery unit 214b and the circuit data 213b. Further, the configuration recovery unit 214b transmits the reconfiguration data to the configuration information storage management unit 317A, and performs automatic recovery (circuit reconfiguration) of the reconfigurable circuit unit 319A. After the reconfiguration of the circuit of the reconfigurable circuit unit 319A is completed, the state recovery unit 215b copies the state from the recovery block having a normal state and transfers the state to the first bank through the state storage management unit 313A. Overwrite 315A1.

手動回復プラン通知部216bは、受け取った回復プランが手動回復プランであった場合に、それを手動回復プラン情報として外部へ通知する。なお、ここでは、回路データ213bは、回復プラン実行部21b内に存在するが、処理系統間で三重化されていれば、処理ブロックや診断ブロック内の他の異なる場所に存在してもよい。   When the received recovery plan is a manual recovery plan, the manual recovery plan notifying unit 216b notifies the outside as manual recovery plan information. Here, the circuit data 213b exists in the recovery plan execution unit 21b. However, as long as the circuit data 213b is tripled between the processing systems, the circuit data 213b may exist in other different locations in the processing block and the diagnostic block.

《回復プラン実行部(回復先の処理系統内)の詳細動作》
図11は、図10の回復プラン実行部において、当該回復プラン実行部が回復先の処理系統に属する場合の処理内容の一例を示すフローチャートである。図11のフローチャートは、図3のステップS307における障害回復処理として実行される。図11において、まず、回復プラン実行部21b〜21dに入力された回復プランは、回復制御部211b〜211dによって受信され、回復制御部211b〜211dは、当該回復プランが手動回復プランかどうかをチェックする(ステップS1101)。回復プランが手動回復プランで無ければ、ステップS1102へ移行し、自動回復プランに基づく自動回復処理が行われる。以下、自動回復プランが示す回復先の処理系統が処理系統AAであり、回復元の処理系統が処理系統BBである場合を例として説明を行う。
<< Detailed operation of the recovery plan execution unit (in the recovery destination processing system) >>
FIG. 11 is a flowchart showing an example of processing contents when the recovery plan execution unit belongs to the recovery destination processing system in the recovery plan execution unit of FIG. The flowchart in FIG. 11 is executed as the failure recovery process in step S307 in FIG. In FIG. 11, first, the recovery plans input to the recovery plan execution units 21b to 21d are received by the recovery control units 211b to 211d, and the recovery control units 211b to 211d check whether the recovery plan is a manual recovery plan. (Step S1101). If the recovery plan is not a manual recovery plan, the process proceeds to step S1102, and automatic recovery processing based on the automatic recovery plan is performed. Hereinafter, a case where the recovery destination processing system indicated by the automatic recovery plan is the processing system AA and the recovery processing system is the processing system BB will be described as an example.

ステップS1102において、回復制御部211bは、他の回復制御部211aα,211c,211dに向けて再構成の開始通知を第一通信部301Aおよび通信路L2を用いてブロードキャストする。次いで、回復制御部211bは、再構成可能回路部319Aを再構成する(ステップS1103)。   In step S1102, the recovery control unit 211b broadcasts a reconfiguration start notification to the other recovery control units 211aα, 211c, and 211d using the first communication unit 301A and the communication path L2. Next, the recovery control unit 211b reconfigures the reconfigurable circuit unit 319A (step S1103).

具体的には、まず、回復制御部211bは、構成回復部214bに障害箇所の情報を要求する。構成回復部214bは、構成不良箇所診断部302AのステップS403〜S405の処理と同様にして障害箇所の情報を取得し、取得に成功した場合、当該障害箇所の情報を再構成データ生成部212bへ渡す。再構成データ生成部212bは、障害箇所の情報と回路データ213bを用いて、再構成が必要な箇所の再構成データを生成し、それを構成回復部214bへ渡す。構成回復部214bは、第二通信部303A,316Aを用いて、再構成データを構成情報記憶管理部317Aへ送る。構成情報記憶管理部317Aは、再構成データをもとに、構成情報記憶部318Aを上書きし、正常な回路へ復元する。復元が正常に完了した場合、構成情報記憶管理部317Aは、その旨を構成回復部214bを介して回復制御部211bへ通知する。   Specifically, first, the recovery control unit 211b requests information on the failure location from the configuration recovery unit 214b. The configuration recovery unit 214b acquires failure location information in the same manner as the processing of steps S403 to S405 of the configuration failure location diagnosis unit 302A. If acquisition succeeds, the configuration recovery unit 214b sends the failure location information to the reconfiguration data generation unit 212b. hand over. The reconfiguration data generation unit 212b uses the failure location information and the circuit data 213b to generate reconfiguration data for a location that needs to be reconfigured and passes it to the configuration recovery unit 214b. The configuration recovery unit 214b sends the reconfiguration data to the configuration information storage management unit 317A using the second communication units 303A and 316A. The configuration information storage management unit 317A overwrites the configuration information storage unit 318A based on the reconfiguration data, and restores the normal circuit. When the restoration is normally completed, the configuration information storage management unit 317A notifies the recovery control unit 211b via the configuration recovery unit 214b.

続いて、回復制御部211bは、再構成が正常に終了したか否かをチェックする(ステップS1104)。再構成が正常に終了した場合、回復制御部211bは、他の回復制御部211aα,211c,211dに向けてステート回復の開始通知を第一通信部301Aおよび通信路L2を用いてブロードキャストする。次に、回復制御部211bは、制御をステート回復部215bへ渡し、正常なステートの受信と既存のステートの上書きを行う(ステップS1106)。   Subsequently, the recovery control unit 211b checks whether the reconfiguration has been completed normally (step S1104). When the reconfiguration is normally completed, the recovery control unit 211b broadcasts a state recovery start notification to the other recovery control units 211aα, 211c, and 211d using the first communication unit 301A and the communication path L2. Next, the recovery control unit 211b transfers control to the state recovery unit 215b, and receives a normal state and overwrites an existing state (step S1106).

具体的には、ステート回復部215bは、第一通信部301Aおよび通信路L2を用いて、正常な回復元の処理ブロック内のステート回復部215cと通信し、当該処理ブロック内の正常なステートを受け取る。ステート回復部215bは、受け取った正常なステートを、第二通信部303A,316Aを用いて、ステート記憶管理部313Aへ送信する。ステート記憶管理部313Aは、受信した正常なステートをステート記憶部314Aへ上書きする。ステート記憶管理部313Aは、上書きの完了後、その旨を第二通信部303A,316Aを用いて、ステート回復部215bへ通知する。   Specifically, the state recovery unit 215b communicates with the state recovery unit 215c in the normal recovery processing block using the first communication unit 301A and the communication path L2, and stores the normal state in the processing block. receive. The state recovery unit 215b transmits the received normal state to the state storage management unit 313A using the second communication units 303A and 316A. The state storage management unit 313A overwrites the received normal state on the state storage unit 314A. After the completion of overwriting, the state storage management unit 313A notifies the state recovery unit 215b of the fact using the second communication units 303A and 316A.

次に、ステート回復部215bは、ステート回復が正常に終了したか否かをチェックする(ステップS1107)。ステート回復が正常に終了した場合、ステート回復部215bは、その旨を回復制御部211bへ通知し、回復制御部211bは、他の回復制御部211aα,211c,211dへステート回復の終了通知を第一通信部301Aおよび通信路L2を用いてブロードキャストする(ステートS1108)。この際に、詳細は図14で後述するが、ステート回復の終了通知を受けた、外部送受信ブロック10αが有する入力データ再投入部217aαは、自動回復処理の最中に受信して、まだ処理を行っていない分の入力データの再投入を開始する。ステートフル処理部312Aは、当該再投入された入力データを順次処理する。   Next, the state recovery unit 215b checks whether or not the state recovery has ended normally (step S1107). When the state recovery is completed normally, the state recovery unit 215b notifies the recovery control unit 211b of the fact, and the recovery control unit 211b notifies the other recovery control units 211aα, 211c, and 211d of the end of the state recovery. Broadcast using one communication unit 301A and the communication path L2 (state S1108). At this time, as will be described in detail later with reference to FIG. 14, the input data re-insertion unit 217aα of the external transmission / reception block 10α that has received the state recovery end notification is received during the automatic recovery process and is still processing. Start re-inputting the input data that has not been done. The stateful processing unit 312A sequentially processes the input data that has been input again.

続いて、回復制御部211bは、多数決判定部14bに対して、入力データ再投入部217aαから送られてくる入力データを処理した結果が、他の正常な処理系統が処理した結果に追いついたかを確認する(ステップS1109)。確認した結果、追いついていない場合、回復制御部211bは、もう一度ステップS1109を実行する。確認した結果、追いついていた場合、回復制御部211bは、他の回復制御部211aα,211c,211dとの間で、回復完了の合意を前述した回復プランの合意と同様の方法で行う(ステップS1110)。次に、回復制御部211bは、回復完了の合意が正常にとれたか否かを確認する(ステップS1111)。回復完了の合意が正常に行われた場合、回復制御部211bは、回復が完了したとして、通常モードへ移行する(ステップS1112)。具体的には、回復制御部211bは、モード情報22bを通常モードへ上書きし、自動回復処理を終了する。   Subsequently, the recovery control unit 211b determines whether the result of processing the input data sent from the input data re-input unit 217aα has caught up with the result of processing by another normal processing system with respect to the majority decision determining unit 14b. Confirmation is made (step S1109). As a result of the confirmation, if it has not caught up, the recovery control unit 211b executes Step S1109 once again. As a result of the confirmation, if it has caught up, the recovery control unit 211b performs a recovery completion agreement with the other recovery control units 211aα, 211c, and 211d in the same manner as the above-described recovery plan agreement (step S1110). ). Next, the recovery control unit 211b checks whether or not the recovery completion agreement has been normally obtained (step S1111). When the recovery completion agreement is normally performed, the recovery control unit 211b shifts to the normal mode assuming that the recovery is completed (step S1112). Specifically, the recovery control unit 211b overwrites the mode information 22b to the normal mode, and ends the automatic recovery process.

また、ステップS1104において、回復制御部211bは、再構成が正常に終了しなかった場合、その旨を含んだ手動回復プランを作成する(ステップS1113)。ステップS1107において、ステート回復が正常に終了しなかった場合、回復制御部211bは、その旨を含んだ手動回復プランを作成する(ステップS1114)。ステップS1111において、回復完了の合意が正常に行われなかった場合、回復制御部211bは、その旨を含んだ手動回復プランを作成する(ステップS1115)。ステップS1101において、回復プランが手動回復プランであった場合、もしくは、ステップS1113〜S1115によって手動回復プランが作成された場合、詳細は図15で後述するが、回復制御部211aα,211b〜211d、及び、手動回復プラン通知部216aα,216b〜216cによって当該手動回復プランに基づく手動回復処理が行われる(ステップS1116)。   In step S1104, if the reconfiguration is not completed normally, the recovery control unit 211b creates a manual recovery plan including that fact (step S1113). In step S1107, when the state recovery is not normally completed, the recovery control unit 211b creates a manual recovery plan including the fact (step S1114). In step S1111, when the recovery completion agreement is not normally performed, the recovery control unit 211b creates a manual recovery plan including the fact (step S1115). In step S1101, if the recovery plan is a manual recovery plan, or if a manual recovery plan is created in steps S1113 to S1115, details will be described later with reference to FIG. 15, but the recovery controllers 211aα, 211b to 211d, and The manual recovery plan notification units 216aα and 216b to 216c perform manual recovery processing based on the manual recovery plan (step S1116).

《回復プラン実行部(回復元の処理系統内)の詳細動作》
図12は、図10の回復プラン実行部において、当該回復プラン実行部が回復元の処理系統に属する場合の処理内容の一例を示すフローチャートである。図12のフローチャートは、図3のステップS307における障害回復処理として実行される。図12において、まず、回復プラン実行部21b〜21dに入力された回復プランは、回復制御部211b〜211dによって受信され、回復制御部211b〜211dは、当該回復プランが手動回復プランかどうかをチェックする(ステップS1201)。回復プランが手動回復プランで無ければ、ステップS1202へ移行し、自動回復プランに基づく自動回復処理が行われる。以下、自動回復プランが示す回復先の処理系統が処理系統AAであり、回復元の処理系統が処理系統BBである場合を例として説明を行う。
<< Detailed operation of the recovery plan execution unit (in the recovery system) >>
FIG. 12 is a flowchart illustrating an example of the processing contents when the recovery plan execution unit belongs to the processing system of the time restoration in the recovery plan execution unit of FIG. The flowchart in FIG. 12 is executed as the failure recovery process in step S307 in FIG. In FIG. 12, first, the recovery plans input to the recovery plan execution units 21b to 21d are received by the recovery control units 211b to 211d, and the recovery control units 211b to 211d check whether the recovery plan is a manual recovery plan. (Step S1201). If the recovery plan is not a manual recovery plan, the process proceeds to step S1202, and automatic recovery processing based on the automatic recovery plan is performed. Hereinafter, a case where the recovery destination processing system indicated by the automatic recovery plan is the processing system AA and the recovery processing system is the processing system BB will be described as an example.

ステップS1202において、回復制御部211cは、回復先の処理系統の回復制御部211bが再構成の開始通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかをチェックする(ステップS1202)。タイムアウトするまでに再構成の開始通知を受信できた場合、回復制御部211cは、回復先の回復制御部211bがステート回復の開始通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかをチェックする(ステップS1203)。   In step S1202, the recovery control unit 211c waits until the recovery control unit 211b of the recovery destination processing system issues a reconfiguration start notification until time-out, and checks whether the time-out has occurred (step S1202). When the reconfiguration start notification can be received before the time-out, the recovery control unit 211c waits until the recovery destination recovery control unit 211b notifies the start of the state recovery until time-out, and checks whether the time-out has occurred. (Step S1203).

タイムアウトするまでにステート回復の開始通知を受信できた場合、回復制御部211cは、制御をステート回復部215cへ渡す。ステート回復部215cは、ステート記憶管理部313Bに、ステートの書込み先を、第二バンク315B2へ切り替える事を、第二通信部303B,316Bを用いて要求する(ステップS1204)。次に、ステート回復部215cは、第一バンク315B1上のステートを、回復先のステート回復部215bへ第一通信部301Bおよび通信路L2を用いて送信する(ステップS1205)。   When the state recovery start notification can be received before the time-out, the recovery control unit 211c passes control to the state recovery unit 215c. The state recovery unit 215c requests the state storage management unit 313B to switch the state write destination to the second bank 315B2 using the second communication units 303B and 316B (step S1204). Next, the state recovery unit 215c transmits the state on the first bank 315B1 to the recovery destination state recovery unit 215b using the first communication unit 301B and the communication path L2 (step S1205).

具体的には、ステート回復部215cは、ステート記憶管理部313Bに、第一バンク315B1上のステートを読み出すよう、第二通信部303B,316Bを用いて要求する。ステート記憶管理部313Bは、第一バンク315B1上のステートを読み出し、当該ステートをステート回復部215cに向けて第二通信部316B,303Bを用いて送信する。ステート回復部215cは、この送信された正常なステートを回復先のステート回復部215bへ第一通信部301Bおよび通信路L2を用いて送信し、制御を回復制御部211cへ戻す。   Specifically, the state recovery unit 215c requests the state storage management unit 313B to read the state on the first bank 315B1 using the second communication units 303B and 316B. The state storage management unit 313B reads the state on the first bank 315B1, and transmits the state to the state recovery unit 215c using the second communication units 316B and 303B. The state recovery unit 215c transmits the transmitted normal state to the recovery destination state recovery unit 215b using the first communication unit 301B and the communication path L2, and returns control to the recovery control unit 211c.

次に、回復制御部211cは、回復先の回復制御部211bがステート回復の終了通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかをチェックする(ステップS1206)。タイムアウトするまでにステート回復の終了通知を受信できた場合、回復制御部211cは、制御をステート回復部215cへ渡す。ステート回復部215cは、ステート記憶管理部313Bに、ステートの書込み先を、第一バンク315B1に戻す事を、第二通信部303B,316Bを用いて要求する(ステップS1207)。詳細は図14で後述するが、この際に、ステート回復の終了通知を受けた、外部送受信ブロック10αが有する入力データ再投入部217aαは、自動回復処理の最中に受信して、まだ処理を行っていない分の入力データの再投入を開始する。   Next, the recovery control unit 211c waits until the recovery control unit 211b of the recovery destination issues a state recovery end notification until time-out, and checks whether or not the time-out has occurred (step S1206). When the end notification of the state recovery can be received before the time-out, the recovery control unit 211c passes control to the state recovery unit 215c. The state recovery unit 215c requests the state storage management unit 313B to use the second communication units 303B and 316B to return the state write destination to the first bank 315B1 (step S1207). The details will be described later with reference to FIG. 14. At this time, the input data re-input unit 217aα included in the external transmission / reception block 10α that has received the state recovery end notification is received during the automatic recovery process, and the processing is still in progress. Start re-inputting the input data that has not been done.

続いて、回復制御部211cは、多数決判定部14cに対して、自身を含めた正常な処理系統の処理結果が、入力データ再投入部217aαから送られてくる入力データを処理している回復先の処理系統の処理結果に追いつかれたか否かを確認する(ステップS1208)。確認した結果、追いつかれていない場合、回復制御部211cは、もう一度ステップS1208を実行する。確認した結果、追いつかれた場合、回復制御部211cは、他の回復制御部211aα,211b,211dとの間で、回復完了の合意を前述した回復プランの合意と同様の方法で行う(ステップS1209)。次に、回復制御部211cは、回復完了の合意が正常にとれたか否かを確認する(ステップS1210)。回復完了の合意が正常に行われた場合、回復制御部211cは、回復が完了したとして、通常モードへ移行する(ステップS1211)。具体的には、回復制御部211cは、モード情報22cを通常モードへ上書きし、自動回復処理を終了する。   Subsequently, the recovery control unit 211c processes the input data sent from the input data re-input unit 217aα by the processing result of the normal processing system including itself to the majority determination unit 14c. It is confirmed whether or not the processing result of the processing system has been caught up (step S1208). As a result of the confirmation, if it is not caught up, the recovery control unit 211c executes Step S1208 once again. As a result of the confirmation, if it is caught up, the recovery control unit 211c performs a recovery completion agreement with the other recovery control units 211aα, 211b, and 211d in the same manner as the above-described recovery plan agreement (step S1209). ). Next, the recovery control unit 211c checks whether or not the recovery completion agreement has been normally obtained (step S1210). When the recovery completion agreement is normally performed, the recovery control unit 211c shifts to the normal mode on the assumption that the recovery is completed (step S1211). Specifically, the recovery control unit 211c overwrites the mode information 22c to the normal mode, and ends the automatic recovery process.

また、ステップS1202においてタイムアウトした場合、回復制御部211cは、その旨を含んだ手動回復プランを作成する(ステップS1212)。ステップS1203においてタイムアウトした場合、回復制御部211cは、その旨を含んだ手動回復プランを作成する(ステップS1213)。ステップS1206においてタイムアウトした場合、回復制御部211cは、その旨を含んだ手動回復プランを作成する(ステップS1214)。ステップS1210において、回復完了の合意が正常に行われなかった場合、回復制御部211cは、その旨を含んだ手動回復プランを作成する(ステップS1215)。ステップS1201において、回復プランが手動回復プランであった場合、もしくは、ステップS1212〜S1215によって手動回復プランが作成された場合、詳細は図15で後述するが、回復制御部211aα,211b〜211d、及び、手動回復プラン通知部216aα,216b〜216cによって当該手動回復プランに基づく手動回復処理が行われる(ステップS1216)。   If a time-out occurs in step S1202, the recovery control unit 211c creates a manual recovery plan including that fact (step S1212). When a time-out occurs in step S1203, the recovery control unit 211c creates a manual recovery plan including that fact (step S1213). When a time-out occurs in step S1206, the recovery control unit 211c creates a manual recovery plan including that fact (step S1214). In step S1210, when the recovery completion agreement is not normally performed, the recovery control unit 211c creates a manual recovery plan including the fact (step S1215). In step S1201, if the recovery plan is a manual recovery plan, or if a manual recovery plan is created in steps S1212 to S1215, the details will be described later with reference to FIG. 15, but recovery controllers 211aα, 211b to 211d, and The manual recovery plan notification units 216aα and 216b to 216c perform manual recovery processing based on the manual recovery plan (step S1216).

《回復プラン実行部(回復先および回復元でない処理系統内)の詳細動作》
図13は、図10の回復プラン実行部において、当該回復プラン実行部が回復先および回復元の処理系統のいずれにも属しない場合の処理内容の一例を示すフローチャートである。図13のフローチャートは、図3のステップS307における障害回復処理として実行される。図13において、まず、回復プラン実行部21b〜21dに入力された回復プランは、回復制御部211b〜211dによって受信され、回復制御部211b〜211dは、当該回復プランが手動回復プランかどうかをチェックする(ステップS1301)。回復プランが手動回復プランで無ければ、ステップS1302へ移行し、自動回復プランに基づく自動回復処理が行われる。以下、自動回復プランが示す回復先の処理系統が処理系統AAであり、回復元の処理系統が処理系統BBである場合を例として説明を行う。
<< Detailed operation of the recovery plan execution unit (in the recovery destination and non-restore processing systems) >>
FIG. 13 is a flowchart illustrating an example of processing contents when the recovery plan execution unit of FIG. 10 does not belong to either the recovery destination or the recovery system. The flowchart in FIG. 13 is executed as the failure recovery process in step S307 in FIG. In FIG. 13, first, the recovery plans input to the recovery plan execution units 21b to 21d are received by the recovery control units 211b to 211d, and the recovery control units 211b to 211d check whether the recovery plan is a manual recovery plan. (Step S1301). If the recovery plan is not a manual recovery plan, the process proceeds to step S1302, and automatic recovery processing based on the automatic recovery plan is performed. Hereinafter, a case where the recovery destination processing system indicated by the automatic recovery plan is the processing system AA and the recovery processing system is the processing system BB will be described as an example.

ステップS1302において、回復制御部211dは、回復先の回復制御部211bが再構成の開始通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかをチェックする(ステップS1302)。タイムアウトするまでに再構成の開始通知を受信できた場合、回復制御部211dは、回復先の回復制御部211bがステート回復の開始通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかをチェックする(ステップS1303)。タイムアウトするまでにステート回復の開始通知を受信できた場合、回復制御部211dは、回復先の回復制御部211bがステート回復の終了通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかチェックする(ステップS1304)。   In step S1302, the recovery control unit 211d waits for the recovery destination recovery control unit 211b to notify the start of reconfiguration until time-out, and checks whether time-out has occurred (step S1302). When the reconfiguration start notification can be received before the time-out, the recovery control unit 211d waits until the recovery destination recovery control unit 211b performs the state recovery start notification until the time-out, and checks whether the time-out has occurred. (Step S1303). When the state recovery start notification can be received before the time-out, the recovery control unit 211d waits until the recovery destination recovery control unit 211b notifies the end of the state recovery until time-out, and checks whether the time-out has occurred ( Step S1304).

タイムアウトするまでにステート回復の終了通知を受信できた場合、詳細は図14で後述するが、ステート回復の終了通知を受けた、外部送受信ブロック10αが有する入力データ再投入部217aαは、自動回復処理の最中に受信して、まだ処理を行っていない分の入力データの再投入を開始する。回復制御部211dは、多数決判定部14dに対して、自身を含めた正常な処理系統の処理結果が、入力データ再投入部217aαから送られてくる入力データを処理している回復先の処理系統の処理結果に追いつかれたか否かを確認する(ステップS1305)。確認した結果、追いつかれていない場合、回復制御部211dは、もう一度ステップS1305を実行する。確認した結果、追いつかれた場合、回復制御部211dは、他の回復制御部211aα,211b,211cとの間で、回復完了の合意を前述した回復プランの合意と同様の方法で行う(ステップS1306)。次に、回復制御部211dは、回復完了の合意が正常にとれたか否かを確認する(ステップS1307)。回復完了の合意が正常に行われた場合、回復制御部211dは、回復が完了したとして、通常モードへ移行する(ステップS1308)。具体的には、回復制御部211dは、モード情報22dを通常モードへ上書きし、自動回復処理を終了する。   When the state recovery end notification can be received before the timeout, the input data re-input unit 217aα of the external transmission / reception block 10α having received the state recovery end notification will be described later in detail with reference to FIG. Re-input of the input data received during the process and not yet processed is started. The recovery control unit 211d is a recovery destination processing system in which the processing result of the normal processing system including itself is processing the input data sent from the input data re-input unit 217aα to the majority decision determining unit 14d. It is confirmed whether or not the processing result has been caught up (step S1305). As a result of the confirmation, if it is not caught up, the recovery control unit 211d executes Step S1305 once again. As a result of the confirmation, if the catch-up is overtaken, the recovery control unit 211d makes a recovery completion agreement with the other recovery control units 211aα, 211b, and 211c in the same manner as the above-described recovery plan agreement (step S1306). ). Next, the recovery control unit 211d confirms whether or not the recovery completion agreement has been normally obtained (step S1307). When the recovery completion agreement is normally performed, the recovery control unit 211d shifts to the normal mode assuming that the recovery is completed (step S1308). Specifically, the recovery control unit 211d overwrites the mode information 22d to the normal mode, and ends the automatic recovery process.

また、ステップS1302においてタイムアウトした場合、回復制御部211dは、その旨を含んだ手動回復プランを作成する(ステップS1309)。ステップS1303においてタイムアウトした場合、回復制御部211dは、その旨を含んだ手動回復プランを作成する(ステップS1310)。ステップS1304においてタイムアウトした場合、回復制御部211dは、その旨を含んだ手動回復プランを作成する(ステップS1311)。ステップS1307において、回復完了の合意が正常に行われなかった場合、回復制御部211dは、その旨を含んだ手動回復プランを作成する(ステップS1312)。ステップS1301において、回復プランが手動回復プランであった場合、もしくは、ステップS1309〜S1312によって手動回復プランが作成された場合、詳細は図15で後述するが、回復制御部211aα,211b〜211d、及び、手動回復プラン通知部216aα,216b〜216cによって当該手動回復プランに基づく手動回復処理が行われる(ステップS1313)。   If a time-out occurs in step S1302, the recovery control unit 211d creates a manual recovery plan including the fact (step S1309). When a time-out occurs in step S1303, the recovery control unit 211d creates a manual recovery plan including that fact (step S1310). When a time-out occurs in step S1304, the recovery control unit 211d creates a manual recovery plan including that fact (step S1311). In step S1307, when the recovery completion agreement is not normally performed, the recovery control unit 211d creates a manual recovery plan including the fact (step S1312). In step S1301, if the recovery plan is a manual recovery plan, or if a manual recovery plan is created in steps S1309 to S1312, the details will be described later with reference to FIG. 15, but recovery controllers 211aα, 211b to 211d, and The manual recovery plan notification units 216aα and 216b to 216c perform manual recovery processing based on the manual recovery plan (step S1313).

《回復プラン実行部(外部送受信ブロック内)の詳細動作》
図14は、図9の回復プラン実行部の処理内容の一例を示すフローチャートである。図14のフローチャートは、図3のステップS307における障害回復処理として実行される。図14において、まず、回復プラン実行部21aαに入力された回復プランは、回復制御部211aαによって受信され、回復制御部211aαは、当該回復プランが手動回復プランかどうかをチェックする(ステップS1401)。回復プランが手動回復プランで無ければ、ステップS1402へ移行し、自動回復プランに基づく自動回復処理が行われる。以下、自動回復プランが示す回復先の処理系統が処理系統AAであり、回復元の処理系統が処理系統BBである場合を例として説明を行う。
<< Detailed operation of recovery plan execution unit (in external transmission / reception block) >>
FIG. 14 is a flowchart showing an example of processing contents of the recovery plan execution unit of FIG. The flowchart in FIG. 14 is executed as the failure recovery process in step S307 in FIG. In FIG. 14, first, the recovery plan input to the recovery plan execution unit 21aα is received by the recovery control unit 211aα, and the recovery control unit 211aα checks whether the recovery plan is a manual recovery plan (step S1401). If the recovery plan is not a manual recovery plan, the process proceeds to step S1402, and automatic recovery processing based on the automatic recovery plan is performed. Hereinafter, a case where the recovery destination processing system indicated by the automatic recovery plan is the processing system AA and the recovery processing system is the processing system BB will be described as an example.

ステップS1402において、回復制御部211aαは、回復先の処理系統内の第一通信部311Aに向けた入力データの送信をやめる(ステップS1402)。次に、回復制御部211aαは、回復先の回復制御部211bが再構成の開始通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかチェックする(ステップS1403)。タイムアウトするまでに再構成の開始通知を受信できた場合、回復制御部211aαは、回復先の回復制御部211bがステート回復の開始通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかチェックする(ステップS1404)。   In step S1402, the recovery control unit 211aα stops transmitting input data to the first communication unit 311A in the recovery destination processing system (step S1402). Next, the recovery control unit 211aα waits until the recovery destination recovery control unit 211b notifies the start of reconfiguration until time-out, and checks whether time-out has occurred (step S1403). If the reconfiguration start notification can be received before the time-out, the recovery control unit 211aα waits until the recovery destination recovery control unit 211b notifies the start of the state recovery until the time-out, and checks whether the time-out has occurred ( Step S1404).

タイムアウトするまでにステート回復の開始通知を受信できた場合、回復制御部211aαは、入力データ再投入部217aαに、入力データ投入部12αからの入力データをキャプチャし、入力データ再投入キュー218aαへ保存し続けるよう要求する(ステップS1405)。続いて、回復制御部211aαは、回復先の回復制御部211bがステート回復の終了通知を行うのをタイムアウトするまで待ち、タイムアウトしたかどうかチェックする(ステップS1406)。タイムアウトするまでにステート回復の終了通知を受信できた場合、回復制御部211aαは、入力データ投入部12αに、正常な処理系統への入力データの投入スピードを低下させるよう要求する(ステップS1407)。   When the state recovery start notification can be received before the time-out, the recovery control unit 211aα captures the input data from the input data input unit 12α in the input data reinput unit 217aα and stores it in the input data reinput queue 218aα. It requests to continue (step S1405). Subsequently, the recovery control unit 211aα waits until the recovery destination recovery control unit 211b notifies the end of the state recovery until time-out, and checks whether time-out has occurred (step S1406). When the state recovery end notification can be received before the time-out, the recovery control unit 211aα requests the input data input unit 12α to reduce the input data input speed to the normal processing system (step S1407).

次に、回復制御部211aαは、入力データ再投入キュー218aαから入力データを一つ取り出し、回復先の処理系統に送信するよう、入力データ再投入部217aαへ要求する(ステップS1408)。続いて、回復制御部211aαは、多数決判定部14aαに対して、入力データ再投入部217aαから送られてくる入力データを処理した回復先の処理系統の処理結果が、他の正常な処理系統からの処理結果に追いついたか否かを確認する(ステップS1409)。   Next, the recovery control unit 211aα requests the input data re-input unit 217aα to retrieve one input data from the input data re-input queue 218aα and send it to the recovery destination processing system (step S1408). Subsequently, the recovery control unit 211aα gives the majority decision determination unit 14aα the processing result of the recovery destination processing system that has processed the input data sent from the input data re-input unit 217aα, from other normal processing systems. It is confirmed whether or not it has caught up with the processing result (step S1409).

確認した結果、追いついていない場合、回復制御部211aαは、もう一度ステップS1408へ進む。確認した結果、追いついていた場合、回復制御部211aαは、入力データ再投入部217aαに、「入力データ投入部12αからの入力データをキャプチャし、入力データ再投入キュー218aαへ保存する」ことの停止を要求する。さらに、回復制御部211aαは、入力データ投入部12αに、正常な処理系統への入力データの投入スピードを正常なスピードへ戻すよう要求する(ステップS1410)。   As a result of the confirmation, if it has not caught up, the recovery control unit 211aα proceeds to step S1408 again. As a result of the confirmation, if it has caught up, the recovery control unit 211aα stops “capturing input data from the input data input unit 12α and storing it in the input data reinput queue 218aα” in the input data reinput unit 217aα. Request. Furthermore, the recovery control unit 211aα requests the input data input unit 12α to return the input data input speed to the normal processing system to the normal speed (step S1410).

続いて、回復制御部211aαは、他の回復制御211b〜211dとの間で、回復完了の合意を前述した回復プランの合意と同様の方法で行う(ステップS1411)。次に、回復制御部211aαは、回復完了の合意が正常にとれたか否かを確認する(ステップS1412)。回復完了の合意が正常に行われた場合、回復制御部211aαは、回復が完了したとして、通常モードへ移行する(ステップS1413)。具体的には、回復制御部211aαは、モード情報22aαを通常モードへ上書きし、自動回復処理を終了する。   Subsequently, the recovery control unit 211aα performs recovery completion agreement with the other recovery controls 211b to 211d in the same manner as the recovery plan agreement described above (step S1411). Next, the recovery control unit 211aα confirms whether or not the recovery completion agreement has been normally obtained (step S1412). When the recovery completion agreement is normally performed, the recovery control unit 211aα shifts to the normal mode assuming that the recovery is completed (step S1413). Specifically, the recovery control unit 211aα overwrites the mode information 22aα to the normal mode, and ends the automatic recovery process.

また、ステップS1403においてタイムアウトした場合、回復制御部211aαは、その旨を含んだ手動回復プランを作成する(ステップS1414)。ステップS1404においてタイムアウトした場合、回復制御部211aαは、その旨を含んだ手動回復プランを作成する(ステップS1415)。ステップS1406においてタイムアウトした場合、回復制御部211aαは、その旨を含んだ手動回復プランを作成する(ステップS1416)。ステップS1412において、回復完了の合意が正常に行われなかった場合、回復制御部211aαは、その旨を含んだ手動回復プランを作成する(ステップS1417)。ステップS1401において、回復プランが手動回復プランであった場合、もしくは、ステップS1414〜S1417によって手動回復プランが作成された場合、詳細は図15で後述するが、回復制御部211aα,211b〜211d、及び、手動回復プラン通知部216aα,216b〜216cによって当該手動回復プランに基づく手動回復処理が行われる(ステップS1418)。   When a time-out occurs in step S1403, the recovery control unit 211aα creates a manual recovery plan including that fact (step S1414). When time-out occurs in step S1404, the recovery control unit 211aα creates a manual recovery plan including that fact (step S1415). When a time-out occurs in step S1406, the recovery control unit 211aα creates a manual recovery plan including the fact (step S1416). In step S1412, if the recovery completion agreement is not normally performed, the recovery control unit 211aα creates a manual recovery plan including the fact (step S1417). In step S1401, if the recovery plan is a manual recovery plan, or if a manual recovery plan is created in steps S1414 to S1417, details will be described later with reference to FIG. 15, but recovery controllers 211aα, 211b to 211d, and The manual recovery plan notification units 216aα and 216b to 216c perform manual recovery processing based on the manual recovery plan (step S1418).

《回復プラン実行部(手動回復処理時)の詳細動作》
図15は、図1A〜図1Cの情報処理システムにおいて、その回復プラン実行部が行う手動回復処理の処理内容の一例を示すフローチャートである。図15のフローチャートは、前述したステップS1116、ステップS1216、ステップS1313、およびステップS1418における手動回復処理として、回復プラン実行部21aα,21b〜21dによって実行される。
<< Detailed operation of the recovery plan execution unit (during manual recovery processing) >>
FIG. 15 is a flowchart illustrating an example of the processing content of the manual recovery process performed by the recovery plan execution unit in the information processing systems of FIGS. 1A to 1C. The flowchart in FIG. 15 is executed by the recovery plan execution units 21aα and 21b to 21d as the manual recovery process in steps S1116, S1216, S1313, and S1418 described above.

図15において、まず、手動回復プラン通知部216aα,216b〜216dは、回復制御部211aα,211b〜211dを介して受信した手動回復プランを、手動回復プラン情報として、例えば、各処理系統に備わるログ記録部(図示は省略)や、通信路L2に接続された監視装置(図示は省略)へ送信する(ステップS1501)。次に、回復制御部211aα,211b〜211dは、手動回復プラン内の情報から、自身が障害系統かどうかを判定する。自身が障害系統だと判定した場合、障害系統に対応する回復制御部211aα,211b〜211dのいずれかは、モード情報22aα,22b〜22dを手動回復待ちモードへ書きかえる(ステップS1503)。   In FIG. 15, first, the manual recovery plan notification units 216aα and 216b to 216d use the manual recovery plan received via the recovery control units 211aα and 211b to 211d as the manual recovery plan information, for example, logs provided in each processing system. The data is transmitted to a recording unit (not shown) or a monitoring device (not shown) connected to the communication path L2 (step S1501). Next, the recovery control units 211aα, 211b to 211d determine whether they are a faulty system from the information in the manual recovery plan. If it is determined that it is a faulty system, any of the recovery control units 211aα, 211b to 211d corresponding to the faulty system rewrites the mode information 22aα and 22b to 22d to the manual recovery waiting mode (step S1503).

続いて、例えば、監視装置を管理する管理者等は、手動回復プラン情報に基づく手動回復処理を実施する(ステップS1504)。次に、障害系統に対応する回復制御部211aα,211b〜211dのいずれかは、手動回復処理が完了し、管理者等からその旨が通知されると、モード情報22aα,22b〜22dを手動回復済みモードへ書きかえる(ステップS1505)。次いで、障害系統に対応する回復制御部211aα,211b〜211dのいずれかは、自身の手動回復済みモードへの移行を、他の回復制御部211aα,211b〜211dへ通知する(ステップS1506)。その後、障害系統に対応する回復制御部211aα,211b〜211dのいずれかは、モード情報22aα,22b〜22dを障害回復モードへ書きかえ、前述したステップS301へ進む(ステップS1507)。   Subsequently, for example, an administrator who manages the monitoring apparatus performs a manual recovery process based on the manual recovery plan information (step S1504). Next, when any of the recovery control units 211aα, 211b to 211d corresponding to the failure system has completed the manual recovery process and is notified by the administrator or the like, the mode information 22aα, 22b to 22d is manually recovered. The mode is rewritten to the completed mode (step S1505). Next, one of the recovery control units 211aα, 211b to 211d corresponding to the faulty system notifies the other recovery control units 211aα, 211b to 211d of the transition to the manual recovery completed mode (step S1506). After that, any of the recovery controllers 211aα, 211b to 211d corresponding to the failure system rewrites the mode information 22aα, 22b to 22d to the failure recovery mode, and proceeds to the above-described step S301 (step S1507).

一方、ステップS1502において自身が障害系統だと判定されなかった場合、非障害系統に対応する回復制御部211aα,211b〜211dは、モード情報22aα,22b〜22dを縮退運転モードへ書きかえる(ステップS1508)。次に、非障害系統に対応する回復制御部211aα,211b〜211dは、障害系統からの手動回復済みモードへの移行通知を待ち、通知が届いているか否かをチェックする(ステップS1509)。通知が届いていない場合、もう一度ステップS1509を実行する。通知が届いた場合、非障害系統に対応する回復制御部211aα,211b〜211dは、モード情報22aα,22b〜22dを障害回復モードへ書きかえ、前述したステップS301へ進む(ステップS1510)。   On the other hand, if it is not determined in step S1502 that the system is a faulty system, the recovery controllers 211aα, 211b to 211d corresponding to the non-failed system rewrite the mode information 22aα and 22b to 22d to the degenerate operation mode (step S1508). ). Next, the recovery control units 211aα and 211b to 211d corresponding to the non-failed system wait for notification of transition from the failed system to the manual recovery completed mode, and check whether the notification has arrived (step S1509). If the notification has not arrived, step S1509 is executed once again. When the notification arrives, the recovery control units 211aα, 211b to 211d corresponding to the non-failure system rewrite the mode information 22aα and 22b to 22d to the failure recovery mode, and proceed to Step S301 described above (Step S1510).

《モード情報の詳細》
図16は、図1A〜図1Cの情報処理システムにおいて、そのモード情報に格納される各モードの一例およびその関係の一例を表す状態遷移図である。図16に示すように、モード情報22aα,22b〜22dに格納されるモードは、通常モード160と、障害回復モード161と、手動回復待ちモード162と、手動回復済みモード163と、縮退運転モード164から構成される。
<Details of mode information>
FIG. 16 is a state transition diagram showing an example of each mode stored in the mode information and an example of the relationship in the information processing system of FIGS. 1A to 1C. As shown in FIG. 16, the modes stored in the mode information 22aα, 22b-22d are the normal mode 160, the failure recovery mode 161, the manual recovery wait mode 162, the manual recovery completed mode 163, and the degenerate operation mode 164. Consists of

通常モード160から障害回復モード161への遷移160161は、ステップS302によって行われる。障害回復モード161から通常モード160への遷移161160は、ステップS1112、ステップS1211、ステップS1308、ステップS1413によって行われる。障害回復モード161から手動回復待ちモード162への遷移161162は、ステップS1503によって行われる。障害回復モード161から縮退運転モード164への遷移161164は、ステップS1508によって行われる。手動回復待ちモード162から手動回復済みモード163への遷移162163は、ステップS1505によって行われる。手動回復済みモード163から障害回復モード161への遷移163161はステップS1507によって行われる。縮退運転モード164から障害回復モード161への遷移164161はステップS1510によって行われる。   Transition 160161 from the normal mode 160 to the failure recovery mode 161 is performed in step S302. The transition 161160 from the failure recovery mode 161 to the normal mode 160 is performed by Step S1112, Step S1211, Step S1308, and Step S1413. The transition 161116 from the failure recovery mode 161 to the manual recovery wait mode 162 is performed in step S1503. The transition 161164 from the failure recovery mode 161 to the degenerate operation mode 164 is performed in step S1508. The transition 162163 from the manual recovery wait mode 162 to the manual recovery completed mode 163 is performed in step S1505. Transition 163161 from the manual recovery completed mode 163 to the failure recovery mode 161 is performed in step S1507. Transition 164161 from the degenerate operation mode 164 to the failure recovery mode 161 is performed in step S1510.

例えば、各モード情報22aα,22b〜22dは、自動回復処理が行われている間は共に障害回復モード161となり、自動回復処理が完了すると共に通常モード160となる。また、例えば、手動回復処理が行われている間、当該手動回復処理の回復先となる障害系統のモード情報は、手動回復待ちモード162となり、それ以外のモード情報は縮退運転モード164となる。そして、当該障害系統の手動回復処理が完了すると、当該障害系統のモード情報は、手動回復済みモード163となり、これを受けて、それ以外のモード情報は、障害回復モード161となる。その後、当該障害系統のモード情報は、障害回復モード161を介して通常モード160となり、それ以外のモード情報も、通常モード160となる。   For example, the mode information 22aα and 22b to 22d are both in the failure recovery mode 161 while the automatic recovery process is being performed, and are in the normal mode 160 when the automatic recovery process is completed. Further, for example, while the manual recovery process is being performed, the mode information of the fault system that is the recovery destination of the manual recovery process is the manual recovery waiting mode 162, and the other mode information is the degenerate operation mode 164. When the manual recovery process of the fault system is completed, the mode information of the fault system becomes the manual recovery completed mode 163, and the other mode information becomes the fault recovery mode 161 in response to this. Thereafter, the mode information of the fault system becomes the normal mode 160 through the fault recovery mode 161, and the other mode information also becomes the normal mode 160.

モード情報が縮退運転モード164となっている各処理系統は、縮退運転を行う。すなわち、例えば、処理系統AAに手動回復処理が必要な障害が生じた場合、処理系統BB、処理系統CC、および外部送受信ブロック10αのモード情報は、共に縮退運転モード164となり、処理系統BBおよび処理系統CCは、外部送受信ブロック10αからの入力データに応じた処理をそのまま継続する。この際に、外部送受信ブロック10αの多数決判定部14aαは、当該2個の処理系統からの2個の処理結果を受け、当該2個の処理結果が同一の場合には当該同一の処理結果を外部に向けて出力する。一方、多数決判定部14aαは、当該2個の処理結果が異なる場合には、システムの停止等を行う。   Each processing system whose mode information is the degenerate operation mode 164 performs the degenerate operation. That is, for example, when a failure requiring a manual recovery process occurs in the processing system AA, the mode information of the processing system BB, the processing system CC, and the external transmission / reception block 10α are all in the degenerate operation mode 164, and the processing system BB and the processing system The system CC continues the process according to the input data from the external transmission / reception block 10α as it is. At this time, the majority decision determination unit 14aα of the external transmission / reception block 10α receives two processing results from the two processing systems, and if the two processing results are the same, the same processing result is externally transmitted. Output to. On the other hand, the majority decision determination unit 14aα stops the system or the like when the two processing results are different.

また、モード情報が障害回復モード161であり、各処理系統で自動回復処理が行われている間、回復先の処理系統を除いた残り2個の処理系統と外部送受信ブロックは、前述した縮退運転モード164の場合と同様にして縮退運転を行う。この縮退運転の期間では、情報処理システムは、多数決判定部を用いてエラーを訂正することは困難となるものの、エラーを検出することは可能となっている。これによって、情報処理システムの稼働を継続しつつ誤った処理結果が外部に流出することを防止することができ、フェイルセーフやフェイルソフトの観点で情報処理システムの信頼性を向上させることが可能になる。   Further, while the mode information is the failure recovery mode 161 and the automatic recovery processing is being performed in each processing system, the remaining two processing systems excluding the recovery destination processing system and the external transmission / reception block are in the degenerate operation described above. The degenerate operation is performed in the same manner as in the mode 164. During this degenerate operation period, it is difficult for the information processing system to correct the error using the majority decision determination unit, but it is possible to detect the error. As a result, it is possible to prevent an erroneous processing result from leaking to the outside while continuing the operation of the information processing system, and to improve the reliability of the information processing system from the viewpoint of fail-safe or fail software. Become.

《システム構成情報の詳細》
図17は、図1A〜図1Cの情報処理システムにおいて、そのシステム構成情報に格納される内容の一例を示す図である。図17に示すように、システム構成情報17aα,17b〜17dのそれぞれには、図1に示した外部送受信ブロック10α,10β、診断ブロック300A〜300C、および処理ブロック310A〜310Cの間の接続関係等が保持される。当該システム構成情報17aα,17b〜17dは、例えば、通信を行う際や、障害発生時の各系統間の依存関係を解決する際等で使用される。
<< Details of system configuration information >>
FIG. 17 is a diagram illustrating an example of contents stored in the system configuration information in the information processing systems of FIGS. 1A to 1C. As shown in FIG. 17, the system configuration information 17aα, 17b to 17d includes, for example, connection relationships between the external transmission / reception blocks 10α and 10β, the diagnosis blocks 300A to 300C, and the processing blocks 310A to 310C shown in FIG. Is retained. The system configuration information 17aα, 17b to 17d is used, for example, when performing communication or resolving the dependency between systems when a failure occurs.

《障害診断情報共有部の他の処理内容》
図18は、図1A〜図1Cの情報処理システムにおいて、その障害診断情報共有部が行う図6とは異なる処理内容の一例を示すフローチャートである。図6は、障害回復モードとなっている障害診断情報共有部18aα,18b〜18dで実行されるが、図18は、通常モードとなっている(すなわち多数決判定部からエラー判定結果を受けていない)障害診断情報共有部18aα,18b〜18dで実行され、図2のフローチャートと並行して実行される。
<Other processing contents of the fault diagnosis information sharing unit>
FIG. 18 is a flowchart illustrating an example of processing contents different from those in FIG. 6 performed by the failure diagnosis information sharing unit in the information processing systems of FIGS. 1A to 1C. 6 is executed by the failure diagnosis information sharing units 18aα and 18b to 18d in the failure recovery mode, but FIG. 18 is in the normal mode (that is, no error determination result is received from the majority decision determination unit). ) It is executed by the fault diagnosis information sharing unit 18aα, 18b to 18d, and is executed in parallel with the flowchart of FIG.

図18において、障害診断情報共有部18aα,18b〜18dは、他の障害診断回復系統からの障害診断情報を待ちうける(ステップS1801)。他の障害診断回復系統から障害診断情報が送られてきた場合、障害診断情報共有部18aα,18b〜18dは、前述した図3のフローチャートを実行する(ステップS1802)。ここで、例えば、障害診断回復系統aα内の多数決判定部14aαに障害が生じ、障害診断回復系統aαから障害診断情報共有部18b〜18dに向けて障害診断情報が送られてきた場合を想定する。   In FIG. 18, the fault diagnosis information sharing units 18aα, 18b to 18d wait for fault diagnosis information from other fault diagnosis recovery systems (step S1801). When fault diagnosis information is sent from another fault diagnosis recovery system, the fault diagnosis information sharing units 18aα and 18b to 18d execute the above-described flowchart of FIG. 3 (step S1802). Here, for example, it is assumed that a failure occurs in the majority decision determination unit 14aα in the failure diagnosis recovery system aα, and failure diagnosis information is sent from the failure diagnosis recovery system aα toward the failure diagnosis information sharing units 18b to 18d. .

この場合、各障害診断回復系統b〜dは、図3のステップS302において障害回復モードへ移行し、ステップS303において障害診断情報を生成する。当該障害診断情報には、例えば、自身の多数決判定部で障害が検出されない旨の情報や、あるいは、障害診断回復系統aαからのみ障害診断情報を受信した旨の情報が含まれる。その後、ステップS304において、各障害診断情報共有部18aα,18b〜18dは障害診断情報を共有する。この際には、障害診断情報共有部18b〜18d間では障害が検出されない旨あるいは障害診断回復系統aαからのみ障害診断情報を受信した旨で一致し、障害診断情報共有部18aαの障害診断情報のみが異なることになる。この場合、障害診断情報共有部18b〜18d(又は回復プラン判定部19b〜19d)は、障害診断回復系統aαに障害があると判断し、その旨の信号を外部送受信ブロック10βに通知し、外部送受信ブロック10αから外部送受信ブロック10βへの切り替えを行わせる。   In this case, each failure diagnosis recovery system b to d shifts to the failure recovery mode in step S302 of FIG. 3, and generates failure diagnosis information in step S303. The failure diagnosis information includes, for example, information indicating that no failure is detected by its own majority decision unit, or information indicating that failure diagnosis information is received only from the failure diagnosis recovery system aα. Thereafter, in step S304, the respective fault diagnosis information sharing units 18aα and 18b to 18d share the fault diagnosis information. In this case, the failure diagnosis information sharing units 18b to 18d agree that no failure is detected or that failure diagnosis information is received only from the failure diagnosis recovery system aα, and only failure diagnosis information of the failure diagnosis information sharing unit 18aα is obtained. Will be different. In this case, the failure diagnosis information sharing units 18b to 18d (or the recovery plan determination units 19b to 19d) determine that the failure diagnosis recovery system aα has a failure, notify the external transmission / reception block 10β to that effect, Switching from the transmission / reception block 10α to the external transmission / reception block 10β is performed.

また、例えば、障害診断回復系統b内の多数決判定部14bに障害が生じ、障害診断回復系統bから障害診断情報共有部18aα,18c,18dに向けて障害診断情報が送られてきた場合を想定する。この場合、各障害診断回復系統aα,c,dは、図3のステップS302において障害回復モードへ移行し、ステップS303において障害診断情報を生成する。当該障害診断情報は、例えば、自身の多数決判定部で障害が検出されない旨の内容や、あるいは、障害診断回復系統bからのみ障害診断情報を受信した旨の内容を持つ。   Further, for example, it is assumed that a failure occurs in the majority decision determination unit 14b in the failure diagnosis recovery system b, and failure diagnosis information is sent from the failure diagnosis recovery system b to the failure diagnosis information sharing units 18aα, 18c, and 18d. To do. In this case, each failure diagnosis recovery system aα, c, d shifts to the failure recovery mode in step S302 of FIG. 3, and generates failure diagnosis information in step S303. The fault diagnosis information has, for example, content indicating that no fault is detected by its own majority determination unit, or content indicating that fault diagnosis information has been received only from the fault diagnosis recovery system b.

その後、図3のステップS304において、各障害診断情報共有部18aα,18b〜18dは障害診断情報を共有する。この際には、障害診断情報共有部18aα,18c,18d間では障害が検出されない旨あるいは障害診断回復系統bからのみ障害診断情報を受信した旨で一致し、障害診断情報共有部18bの障害診断情報のみが異なることになる。この場合、図3のステップS305において、回復プラン判定部19aα,19c,19dは、診断ブロック300Aに障害があると判断し、その旨を表す手動回復プランを作成する。その後、ステップS306およびS307の処理が実行される。   Thereafter, in step S304 of FIG. 3, the fault diagnosis information sharing units 18aα and 18b to 18d share the fault diagnosis information. In this case, the failure diagnosis information sharing unit 18aα, 18c, 18d agrees that a failure is not detected or that failure diagnosis information is received only from the failure diagnosis recovery system b. Only the information will be different. In this case, in step S305 in FIG. 3, the recovery plan determination units 19aα, 19c, and 19d determine that there is a failure in the diagnostic block 300A, and create a manual recovery plan indicating that fact. Thereafter, the processes of steps S306 and S307 are executed.

なお、ここでは、障害診断回復系統aαに障害がある際には外部送受信ブロックを早期に切り替えることが望ましいため、障害診断情報共有部18b〜18d(又は回復プラン判定部19b〜19d)が当該切り替えを指示する例で説明を行った。ただし、場合によっては、図3のステップS305〜S307を処理を経たのち、回復プラン実行部によって当該切り替えの指示が行われるような処理を用いることも可能である。さらに、場合によっては、障害診断情報共有部18b〜18dに、障害診断回復系統aαからの障害診断情報のみを受けた時点で、外部送受信ブロックの切り替えの指示を出させるような処理を用いることも可能である。いずれにしても、障害診断情報共有部18aα,18b〜18dによって障害診断情報の共有を行うことで、障害診断情報共有部のいずれか一つのみから障害診断情報が生成されるような事態(すなわち多数決判定部等に障害が生じた事態)を検出することが可能になる。   Here, since it is desirable to switch the external transmission / reception block early when there is a failure in the failure diagnosis and recovery system aα, the failure diagnosis information sharing units 18b to 18d (or the recovery plan determination units 19b to 19d) perform the switching. The explanation is given with an example of instructing. However, depending on the case, it is also possible to use a process in which the recovery plan execution unit instructs the switching after the processes of steps S305 to S307 in FIG. Further, in some cases, a process may be used in which the fault diagnosis information sharing units 18b to 18d are instructed to switch the external transmission / reception block when receiving only the fault diagnosis information from the fault diagnosis recovery system aα. Is possible. In any case, failure diagnosis information is shared by the failure diagnosis information sharing units 18aα, 18b to 18d, so that failure diagnosis information is generated from only one of the failure diagnosis information sharing units (ie, It is possible to detect a situation in which a failure has occurred in the majority decision unit or the like.

また、図3のフローチャートは、ステップS208およびステップS1802の2つのステップから並列に起動される可能性がある。そのため、2つの並列で動作するステップが同時に障害回復モードへ遷移しないように、ステップS301およびステップS302は、ひと固まりの処理として実行される必要がある。   Further, the flowchart of FIG. 3 may be activated in parallel from two steps of step S208 and step S1802. Therefore, step S301 and step S302 need to be executed as a single process so that two steps operating in parallel do not simultaneously shift to the failure recovery mode.

《障害診断情報共有部における障害診断情報の交換方法》
図19は、図6のフローチャートにおいて、障害診断情報の交換方法の一例を示すシーケンス図である。図19に示すように、各障害診断回復系統aα,b〜dは、図6のステップS602において、自身が生成したデータ(ここでは障害診断情報)A190,B190〜D190を、他の各障害診断回復系統へブロードキャストすることによって、データを交換する。その後、障害診断回復系統aα,b〜dのそれぞれは、図6のステップS603において、交換によって得られたデータ191と、自身が生成したデータ(A190,B190〜D190のいずれか)とを合わせ、A190〜D190が全て揃えば成功、何らかのエラーにより全てが揃わなければ失敗と判断する。
《How to exchange fault diagnosis information in the fault diagnosis information sharing unit》
FIG. 19 is a sequence diagram illustrating an example of a method for exchanging fault diagnosis information in the flowchart of FIG. As shown in FIG. 19, each failure diagnosis recovery system aα, b-d uses the data (in this case, failure diagnosis information) A190, B190-D190 generated by itself in step S602 of FIG. Data is exchanged by broadcasting to the recovery system. Thereafter, each of the fault diagnosis recovery systems aα, b to d combines the data 191 obtained by the exchange with the data generated by itself (any one of A190, B190 to D190) in step S603 of FIG. If all of A190 to D190 are aligned, it is determined to be successful.

《回復プラン合意部における回復プランの交換方法》
図20および図21は、図7のフローチャートにおいて、回復プランのビザンチン合意プロトコルに基づく交換方法の一例を示すシーケンス図である。図20には、ビザンチン合意プロトコルを用いて、例えば系統aが生成したデータ(ここでは回復プラン)を共有する際の処理内容が示されている。ビザンチン合意プロトコルは、あるn個のタスク間での合意、つまり同じデータの共有の際、m個のタスク中に障害が存在しているが、どのタスクに障害が存在しているか分からない状態でも、障害が発生しているタスク以外のタスク間で、同一データの共有を行い、正しく合意を取るためのプロトコルである。データを共有するため、1個のタスクが他の(n−1)個のタスクにデータを送るが、このとき、合意が成立するのは、以下の3つの条件が成立するときである。
《Recovery plan exchange method in Recovery Plan Agreement Department》
20 and 21 are sequence diagrams illustrating an example of an exchange method based on the recovery plan Byzantine agreement protocol in the flowchart of FIG. 7. FIG. 20 shows the processing contents when the data (here, the recovery plan) generated by the system a is shared using the Byzantine agreement protocol. Byzantine agreement protocol is an agreement between n tasks, that is, when sharing the same data, there is a failure in m tasks, but it is not clear which task has a failure. This is a protocol for sharing the same data among the tasks other than the task in which the failure has occurred, and obtaining a correct agreement. In order to share data, one task sends data to the other (n-1) tasks. At this time, an agreement is established when the following three conditions are established.

1つ目は、全ての障害のないタスク間では、受信データに関して合意が成立する。2つ目は、送信のタスクが正常であるなら、前記1つ目の条件で合意されたデータは実際に送信されたデータに一致する。3つ目は、前記1つ目の条件および2つ目の条件のもとでm個のタスクに障害が含まれているとき、ビザンチン合意が成立するのは、n≧3m+1の関係が成立するときである。   First, an agreement is established regarding the received data among all the tasks having no failure. Second, if the transmission task is normal, the data agreed in the first condition matches the actually transmitted data. Third, when m tasks contain faults under the first and second conditions, the Byzantine agreement is established because the relation n ≧ 3m + 1 is established. Is the time.

ビザンチン合意プロトコルは、図7のステップS702において、回復プランの確実な共有のために実行される。図20では、系統aが作成したデータ(ここでは回復プラン)を、A(200)で示している。また、ここでは、系統bが、データの送信時に間違ったデータを送信してしまうタイプのビザンチン障害であることを前提に説明する。まず、系統aは、1回目の通信として、データA(200)を他の系統b〜dへブロードキャストする。系統b〜dで受信されたA(200)は、A(200)に対するi番目の受信データであるという意味でAi(i=1,2,3)と表し、ここでは1番目の受信データであるため、A1(201)としている。正しく受信された場合、A1、A2、A3は全て同一のデータである。   The Byzantine agreement protocol is executed for reliable sharing of the recovery plan in step S702 of FIG. In FIG. 20, data (here, the recovery plan) created by the system a is indicated by A (200). Here, the description will be made on the assumption that the system b is a type of Byzantine failure that transmits wrong data when transmitting data. First, the system a broadcasts data A (200) to the other systems b to d as the first communication. A (200) received by the systems b to d is represented as Ai (i = 1, 2, 3) in the sense that it is the i-th received data with respect to A (200). Therefore, A1 (201) is set. When correctly received, A1, A2, and A3 are all the same data.

次に、データA1(201)を受信した系統b〜dは、2回目の通信として、自身と、系統a以外の残り2つの系統へそれぞれA1(201)を送信する。系統c,dは、正常に動作しているため、正しいデータであるA2(202)およびA3(203)を受信する事ができるが、系統bは送信時に誤ったデータ(ここではA’,A”)を送信してしまうタイプのビザンチン障害であるため、系統c,dは、誤ったデータA’3(204),A”3(205)を受信している。   Next, the systems b to d that have received the data A1 (201) transmit A1 (201) to itself and the remaining two systems other than the system a as the second communication. Since the systems c and d operate normally, they can receive the correct data A2 (202) and A3 (203), but the system b receives erroneous data (here, A ′, A in the transmission). Since the Byzantine failure is a type that transmits “”), the systems c and d receive erroneous data A′3 (204) and A ″ 3 (205).

次に、系統b〜dは、異なる経路から受信した3つのデータ、A1(201)A2(202)及びA3(203)またはA’3(204)またはA”3(205)を多数決し、多数決判定結果として、A206〜A208を得る。このようにビザンチン合意プロトコルを用いることによって、系統c,dは、系統bから誤ったデータA’3(204)、A”3(205)を受け取ったにもかかわらず、正しい結果であるA(207),A(208)を得ることができる。   Next, the systems b to d make a majority decision on three data received from different paths, A1 (201) A2 (202) and A3 (203) or A′3 (204) or A ″ 3 (205). As a result of the determination, A206 to A208 are obtained.By using the Byzantine agreement protocol in this way, the lines c and d receive erroneous data A′3 (204) and A ″ 3 (205) from the line b. Nevertheless, the correct results A (207) and A (208) can be obtained.

図21には、ビザンチン合意プロトコルを用いて、図20に示した処理内容と同様に、系統a,b,c,dのそれぞれが自身のデータ(ここでは回復プラン)A(210),B(211),C(212),D(213)を共有する際の処理内容が示されている。図21では、系統aが、データの送信時に間違ったデータを送信してしまうタイプのビザンチン障害であることを前提に説明する。つまり、単一障害を前提とすると、例えば第一通信部13αや障害診断情報共有部18aα等がビザンチン障害に陥った場合の説明となる。   In FIG. 21, using the Byzantine agreement protocol, each of the systems a, b, c, and d has its own data (here, a recovery plan) A (210), B (similar to the processing contents shown in FIG. 211), C (212), and D (213). In FIG. 21, description will be made on the assumption that the system a is a Byzantine failure that transmits wrong data when data is transmitted. That is, assuming a single failure, for example, the first communication unit 13α, the failure diagnosis information sharing unit 18aα, and the like will be described when a Byzantine failure occurs.

図20で前述したように、各系統a〜dは、ビザンチン合意プロトコルに従って、自身の系統以外のデータについて、3つずつ、データを受信する。この例では、系統aは、系統bに向けて誤ったデータA”を、系統b,cに向けて誤ったデータA’を送信している。また、系統aは、系統bからのデータBを受けて系統c,dに向けて誤ったデータB’を送信し、系統cからのデータCを受けて系統b,dに向けて誤ったデータC’を送信し、系統dからのデータDを受けて系統b,cに向けて誤ったデータD’を送信している。   As described above with reference to FIG. 20, each of the systems a to d receives three pieces of data for data other than its own system according to the Byzantine agreement protocol. In this example, the system a transmits erroneous data A ″ toward the system b, and erroneous data A ′ toward the systems b and c. The system a also transmits data B from the system b. In response, the erroneous data B ′ is transmitted to the systems c and d, the erroneous data C ′ is transmitted to the systems b and d in response to the data C from the system c, and the data D from the system d is transmitted. In response, erroneous data D ′ is transmitted to the systems b and c.

これにより、系統b〜dが受信したデータの中には、誤ったデータが一部含まれている。ただし、データの交換が終了したのち、系統a〜dが異なる経路から受信した3つのデータを多数決判定した結果、系統aは、A,B,C,Dを、系統b〜dは、A’,B,C,Dを得ることができる。このように、ビザンチン合意プロトコルによって、全ての系統で交換したデータを少なくともビザンチン障害が生じた系統以外の系統で同じものにすることができる。すなわち、系統aでビザンチン障害が生じた場合、系統b〜dは、系統aのデータAを正しく得られない場合があるが、系統b〜dのデータB〜Dを正しく得ることはできる。   Thereby, a part of erroneous data is included in the data received by the systems b to d. However, after the exchange of data is completed, the majority of the three data received from different routes of the systems a to d is determined. As a result, the system a is A, B, C, D, and the systems b to d are A ′. , B, C, D can be obtained. Thus, by the Byzantine agreement protocol, the data exchanged in all the lines can be made the same in at least the lines other than the line in which the Byzantine disorder has occurred. That is, when a Byzantine disorder occurs in the line a, the lines b to d may not obtain the data A of the line a correctly, but can correctly obtain the data B to D of the lines b to d.

その結果、ビザンチン障害が生じた系統以外の3つの系統b〜dは、データ(ここでは回復プラン)B〜Dの一致に基づいて、系統aを障害発生箇所とする障害発生後の動作(手動回復処理や縮退運転等)を正しく実行することが可能になる。なお、ビザンチン障害が存在する場合には正しい自動回復処理が行えない場合がある。したがって、図21のように、例えば3個のデータCが得られずに2個のデータCと1個のデータC’によって多数決判定を行うといったような多数決判定の必要性が生じるような場合には、図7のステップS704において、回復プランを不一致として処理することが望ましい。   As a result, the three systems b to d other than the system in which the Byzantine failure occurs are based on the coincidence of the data (here, the recovery plans) B to D, and the operation after the occurrence of the failure (manual operation with the system a as the failure occurrence location) Recovery processing, degenerate operation, etc.) can be executed correctly. If there is a Byzantine failure, correct automatic recovery processing may not be performed. Therefore, as shown in FIG. 21, for example, when there is a need for a majority decision such as making a majority decision based on two data C and one data C ′ without obtaining three data C. In step S704 of FIG. 7, it is desirable to process the recovery plans as inconsistent.

以上、本実施の形態1の情報処理システムを用いることで、代表的には、信頼性の向上が実現可能になる。   As described above, by using the information processing system of the first embodiment, it is typically possible to improve reliability.

(実施の形態2)
《処理ブロックの構成(変形例)》
図22は、本発明の実施の形態2による情報処理システムにおいて、その処理ブロックの構成例を示すブロック図である。図22に示す処理ブロック310Aは、前述した図1の情報処理システムにおける処理ブロック310Aの変形例となっている。ここでは、図1の処理ブロック310Aを代表として説明するが、図1の処理ブロック310B,310Cに対しても図22の構成例が適用される。
(Embodiment 2)
<< Configuration of Processing Block (Modification) >>
FIG. 22 is a block diagram showing a configuration example of the processing block in the information processing system according to the second embodiment of the present invention. A processing block 310A shown in FIG. 22 is a modification of the processing block 310A in the information processing system of FIG. 1 described above. Here, the processing block 310A of FIG. 1 will be described as a representative, but the configuration example of FIG. 22 is also applied to the processing blocks 310B and 310C of FIG.

図22に示す処理ブロック310Aは、図1の処理ブロックと比較して、再構成可能回路部319A内の構成が異なっており、それ以外の構成に関しては図1と同様である。図22に示す再構成可能回路部319Aは、図1の再構成可能回路部内のステートフル処理部312Aの代わりに三重化されたステートフル処理部[1]312A1〜[3]312A3と、多数決判定部320Aを備えている。   The processing block 310A shown in FIG. 22 differs from the processing block of FIG. 1 in the configuration in the reconfigurable circuit unit 319A, and the other configurations are the same as those in FIG. A reconfigurable circuit unit 319A shown in FIG. 22 includes triple stateful processing units [1] 312A1 to [3] 312A3 instead of the stateful processing unit 312A in the reconfigurable circuit unit of FIG. It has.

ステートフル処理部[1]312A1〜[3]312A3は、第一通信部311Aを介して入力された入力データと、ステート記憶部314Aからステート記憶管理部313Aを介して入力されたステートとを用いて同一の処理を行い、これによって得られる処理結果(出力データ)およびステートを多数決判定部320Aにそれぞれ出力する。多数決判定部320Aは、3個の処理結果(出力データ)の多数決判定を行い、これによって得られる処理結果(出力データ)を第一通信部311Aを介して出力し、また、3個のステートの多数決判定を行い、これによって得られるステートをステート記憶管理部313Aを介してステート記憶部314Aに書き込む。   The stateful processing unit [1] 312A1 to [3] 312A3 uses the input data input via the first communication unit 311A and the state input from the state storage unit 314A via the state storage management unit 313A. The same processing is performed, and the processing result (output data) and state obtained thereby are output to majority decision section 320A. The majority decision determination unit 320A performs a majority decision on the three processing results (output data), outputs the processing result (output data) obtained thereby through the first communication unit 311A, and also determines the three states. The majority decision is made, and the state obtained thereby is written to the state storage unit 314A via the state storage management unit 313A.

このように、本実施の形態2の情報処理システムは、再構成可能回路部内で多数決判定を行い、更に、図1の外部送受信ブロック10αおよび診断ブロック300A〜300C内でも多数決判定を行うといったように2段階の多数決判定を行う構成となっている。このような構成例を用いると、例えば、ステートフル処理部[1]312A1〜[3]312A3のいずれか一つに障害が生じたような場合でも、回復処理や縮退運転等を行わずに情報処理システムとしての処理を継続的に行うことが可能になる。言い換えれば、見かけ上、処理ブロックの耐障害性を向上させることが可能になる。   As described above, the information processing system according to the second embodiment makes a majority decision in the reconfigurable circuit unit, and also makes a majority decision in the external transmission / reception block 10α and the diagnostic blocks 300A to 300C in FIG. It is configured to perform a two-step majority decision. When such a configuration example is used, for example, even when a failure occurs in any one of the stateful processing units [1] 312A1 to [3] 312A3, information processing is performed without performing recovery processing, degenerate operation, or the like. Processing as a system can be performed continuously. In other words, the fault tolerance of the processing block can be apparently improved.

ただし、再構成可能回路部内の多数決判定部320Aに障害が生じた場合には回復処理が必要となる。また、本実施の形態2の情報処理システムは、実施の形態1における図1の情報処理システムと比較して、再構成可能回路部での回路規模の増大やレイテンシの増大等が生じ得る。したがって、回路規模、レイテンシ、および信頼性のバランスの観点では、本実施の形態2の情報処理システムよりも、実施の形態1における図1の情報処理システムの方が望ましいと考えられる。   However, if a failure occurs in the majority decision unit 320A in the reconfigurable circuit unit, recovery processing is required. In addition, the information processing system according to the second embodiment may cause an increase in circuit scale or latency in the reconfigurable circuit unit as compared with the information processing system in FIG. 1 according to the first embodiment. Therefore, it is considered that the information processing system of FIG. 1 in the first embodiment is more desirable than the information processing system of the second embodiment in terms of the balance of circuit scale, latency, and reliability.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. For example, the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to one having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. . Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

例えば、ここでは、ビザンチン障害を含めた単一障害に対応するため、3個の処理ブロック310A〜310Cと4個の障害診断回復系統aα,b〜dを備えたが、2個の障害に対応する場合には、例えば、多数決判定を可能にするための5個の処理ブロックと、2個の障害発生時にビザンチン合意を得るための7個の障害診断回復系統を備えればよい。   For example, here, in order to cope with a single failure including a Byzantine failure, three processing blocks 310A to 310C and four failure diagnosis recovery systems aα, b to d are provided. In this case, for example, five processing blocks for enabling majority decision and seven fault diagnosis recovery systems for obtaining a Byzantine agreement when two faults occur may be provided.

10α,10β 外部送受信ブロック
11α,11β 外部通信部
12α,12β 入力データ投入部
13α,13β,301A〜301C 第一通信部
14aα,14aβ,14b〜14d 多数決判定部
15α,15β 出力データ投入部
16aα,16aβ,16b〜16d システム障害診断部
17aα,17aβ,17b〜17d システム構成情報
18aα,18aβ,18b〜18d 障害診断情報共有部
19aα,19aβ,19b〜19d 回復プラン判定部
20aα,20aβ,20b〜20d 回復プラン合意部
211aα 回復制御部
211b 回復制御部
212b 再構成データ生成部
213b 回路データ
214b 構成回復部
215b ステート回復部
216aα 手動回復プラン通知部
216b 手動回復プラン通知部
217aα 入力データ再投入部
218aα 入力データ再投入キュー
21aα,21aβ,21b〜21d 回復プラン実行部
22aα,22aβ,22b〜22d モード情報
23aα,23aβ,23b〜23d 障害診断部
300A〜300C 診断ブロック
302A〜302C 構成不良箇所診断部
303A〜303C 第二通信部
310A〜310C 処理ブロック
311A〜311C 第一通信部
312A,312A1〜321A3 ステートフル処理部
313A〜313C ステート記憶管理部
314A〜314C ステート記憶部
315A1〜315C1 第一バンク
315A2〜315C2 第二バンク
316A〜316C 第二通信部
317A〜317C 構成情報記憶管理部
318A〜318C 構成情報記憶部
320A 多数決判定部
AA〜CC 処理系統
L1,L2 通信路
aα,aβ,b〜d 障害診断回復系統
10α, 10β External transmission / reception block 11α, 11β External communication unit 12α, 12β Input data input unit 13α, 13β, 301A to 301C First communication unit 14aα, 14aβ, 14b-14d Majority determination unit 15α, 15β Output data input unit 16aα, 16aβ , 16b to 16d System failure diagnosis unit 17aα, 17aβ, 17b to 17d System configuration information 18aα, 18aβ, 18b to 18d Failure diagnosis information sharing unit 19aα, 19aβ, 19b to 19d Recovery plan determination unit 20aα, 20aβ, 20b to 20d Recovery plan Agreement unit 211aα Recovery control unit 211b Recovery control unit 212b Reconfiguration data generation unit 213b Circuit data 214b Configuration recovery unit 215b State recovery unit 216aα Manual recovery plan notification unit 216b Manual recovery plan notification unit 217aα Re-input unit 218aα Input data re-input queue 21aα, 21aβ, 21b to 21d Recovery plan execution unit 22aα, 22aβ, 22b to 22d Mode information 23aα, 23aβ, 23b to 23d Fault diagnosis unit 300A to 300C Diagnosis block 302A to 302C Configuration failure Location diagnosis unit 303A to 303C Second communication unit 310A to 310C Processing block 311A to 311C First communication unit 312A, 312A1 to 321A3 Stateful processing unit 313A to 313C State storage management unit 314A to 314C State storage unit 315A1 to 315C1 First bank 315A2 315C2 Second bank 316A to 316C Second communication unit 317A to 317C Configuration information storage management unit 318A to 318C Configuration information storage unit 320A Majority determination unit AA to CC processing Integrated L1, L2 channel aα, aβ, b~d fault diagnosis recovery system

Claims (11)

外部からの共通の入力に応じて同一の処理を実行し、第1〜第3処理結果をそれぞれ出力する第1〜第3処理ブロックと、
前記第1〜第3処理ブロックにそれぞれ対応して設けられる第1〜第3診断ブロックと、
第4診断ブロックと、を備え、
前記第N処理ブロック(N=1,2,3)は、
回路の構成情報を記憶する第N構成情報記憶部と、
前記回路の構成情報に応じた回路を構築し、当該回路の動作によって前記第N処理結果を出力する第N再構成可能回路部と、を有し、
前記第M診断ブロック(M=1,2,3,4)は、
前記第1〜第3処理結果が入力され、前記第1〜第3処理結果の中のいずれかにエラーが有る場合には、当該エラーが有る処理結果を特定する第Mエラー判定結果を出力する第M多数決判定部と、
前記第Mエラー判定結果が入力され、障害を診断する第M障害診断部と、
他の診断ブロックとの間で通信を行うための第M通信部と、を有し、
前記第M障害診断部は、前記第Mエラー判定結果を反映した第M診断情報を前記第M通信部を介して他の障害診断部に送信し、前記他の障害診断部からの診断情報を前記第M通信部を介してそれぞれ受信する第M共有部を有する、情報処理システム。
First to third processing blocks that execute the same processing according to a common input from the outside and output the first to third processing results, respectively;
First to third diagnostic blocks provided corresponding to the first to third processing blocks, respectively;
A fourth diagnostic block,
The Nth processing block (N = 1, 2, 3) is
An Nth configuration information storage unit for storing circuit configuration information;
An N-th reconfigurable circuit unit that constructs a circuit according to the configuration information of the circuit and outputs the N-th processing result according to the operation of the circuit;
The Mth diagnostic block (M = 1, 2, 3, 4)
When the first to third processing results are input and there is an error in any of the first to third processing results, an Mth error determination result specifying the processing result having the error is output. An M-th majority decision determination unit;
An Mth fault diagnosis unit that receives the Mth error determination result and diagnoses a fault;
An Mth communication unit for communicating with other diagnostic blocks,
The Mth failure diagnosis unit transmits Mth diagnosis information reflecting the Mth error determination result to another failure diagnosis unit through the Mth communication unit, and receives diagnosis information from the other failure diagnosis unit. An information processing system having an M-th sharing unit that respectively receives the M-th communication unit.
請求項1記載の情報処理システムにおいて、
前記第M障害診断部は、さらに、前記第M共有部で共有した前記第1〜第4診断情報に基づいて、前記第1〜第3処理ブロックの中のいずれかに障害が有るか否かを判定し、前記第1〜第3処理ブロックの中のいずれかに障害が有る場合には、前記第1〜第3処理ブロックの中から定めた回復先および回復元の処理ブロックの情報を含む第M回復プランを生成する第M回復プラン判定部を有し、
前記第M診断ブロックは、さらに、前記第M回復プランに基づいて、前記回復先の処理ブロックの自動回復処理を実行する第M回復プラン実行部を有する、情報処理システム。
The information processing system according to claim 1,
The M-th failure diagnosis unit further determines whether any of the first to third processing blocks has a failure based on the first to fourth diagnosis information shared by the M-th sharing unit. If any of the first to third processing blocks is faulty, the recovery destination and the information on the processing block to be restored that are determined from the first to third processing blocks are included. An Mth recovery plan determination unit for generating an Mth recovery plan;
The M-th diagnosis block further includes an M-th recovery plan execution unit that executes an automatic recovery process of the recovery-destination processing block based on the M-th recovery plan.
請求項2記載の情報処理システムにおいて、
前記第M回復プラン実行部が前記回復先の処理ブロックの自動回復処理を実行している期間、前記回復先の処理ブロック以外の処理ブロックは、前記外部からの共通の入力に応じて同一の処理を実行する、情報処理システム。
The information processing system according to claim 2,
While the M-th recovery plan execution unit is executing automatic recovery processing of the recovery destination processing block, processing blocks other than the recovery destination processing block are processed in accordance with the common input from the outside. An information processing system that executes
請求項3記載の情報処理システムにおいて、
前記第M障害診断部は、さらに、前記第M回復プラン判定部によって生成された前記第M回復プランを、前記第M通信部を介して、ビザンチン合意プロトコルを用いて他の回復プラン判定部との間で交換し、当該交換した結果に基づいて確定した第M回復プランを前記第M回復プラン実行部に出力する第M回復プラン合意部を有する、情報処理システム。
The information processing system according to claim 3.
The M-th failure diagnosing unit further transmits the M-th recovery plan generated by the M-th recovery plan determination unit to another recovery plan determination unit using the Byzantine agreement protocol via the M-th communication unit. And an M-th recovery plan consensus unit that outputs the M-th recovery plan determined based on the exchange result to the M-th recovery plan execution unit.
請求項4記載の情報処理システムにおいて、
前記第N処理ブロックは、さらに、前記第N再構成可能回路部の処理の実行過程で得られるステートを保持する第Nステート記憶部を有し、
前記第M回復プラン実行部は、前記回復先の処理ブロックの自動回復処理を実行する際に、前記回復先の処理ブロック内の構成情報記憶部の記憶情報に加えて、ステート記憶部の記憶情報を回復させる、情報処理システム。
The information processing system according to claim 4,
The Nth processing block further includes an Nth state storage unit that holds a state obtained in the process of executing the processing of the Nth reconfigurable circuit unit,
When the M-th recovery plan execution unit executes automatic recovery processing of the recovery destination processing block, in addition to the storage information of the configuration information storage unit in the recovery destination processing block, the storage information of the state storage unit An information processing system to recover.
請求項5記載の情報処理システムにおいて、
前記第Nステート記憶部は、第1時点におけるステートが保持される第Nステート退避部を有し、
前記第4回復プラン実行部は、前記第1時点の後に外部から入力されるデータを順次保持するデータ保持部を有し、
前記第1〜第3回復プラン実行部のそれぞれは、
前記回復先の処理ブロック内の構成情報記憶部の記憶情報を回復させる構成回復部と、
前記回復先の処理ブロック内のステート記憶部に対して前記回復元の処理ブロック内のステート退避部で保持されるステートを設定し、前記回復先の処理ブロック内の構成情報記憶部の記憶情報が回復したのちに前記回復先の処理ブロックに向けて前記第4回復プラン実行部内の前記データ保持部で保持されるデータを順次出力するステート回復部と、を有する、情報処理システム。
The information processing system according to claim 5,
The Nth state storage unit includes an Nth state saving unit that holds a state at a first time point,
The fourth recovery plan execution unit includes a data holding unit that sequentially holds data input from the outside after the first time point,
Each of the first to third recovery plan execution units,
A configuration recovery unit for recovering the storage information of the configuration information storage unit in the recovery destination processing block;
The state stored in the state saving unit in the recovery processing block is set for the state storage unit in the recovery destination processing block, and the storage information in the configuration information storage unit in the recovery destination processing block is An information processing system, comprising: a state recovery unit that sequentially outputs data held in the data holding unit in the fourth recovery plan execution unit toward the recovery destination processing block after recovery.
請求項4記載の情報処理システムにおいて、
前記第4診断ブロックは、外部との間のインタフェースを担う外部送受信ブロック内に設けられ、
前記第4診断ブロック内の前記第4多数決判定部は、前記第1〜第3処理結果に対して多数決判定を行うことで外部に出力する処理結果を定め、
前記外部送受信ブロックは、通常用とバックアップ用を含めて冗長化されており、
前記通常用と前記バックアップ用の切り替えは、前記第M共有部で共有した前記第1〜第4診断情報に基づいて行われる、情報処理システム。
The information processing system according to claim 4,
The fourth diagnostic block is provided in an external transmission / reception block serving as an interface with the outside,
The fourth majority decision unit in the fourth diagnosis block determines a processing result to be output to the outside by performing a majority decision on the first to third processing results,
The external transmission / reception block is made redundant including normal use and backup use,
Switching between the normal use and the backup use is performed based on the first to fourth diagnosis information shared by the Mth sharing unit.
外部からの共通の入力に応じて同一の処理を実行し、第1〜第3処理結果をそれぞれ出力する第1〜第3処理ブロックと、
前記第1〜第3処理ブロックにそれぞれ対応して設けられる第1〜第3診断ブロックと、
第4診断ブロックと、を備え、
前記第N処理ブロック(N=1,2,3)は、
回路の構成情報を記憶する第N構成情報記憶部と、
前記回路の構成情報に応じた回路を構築し、当該回路の動作によって前記第N処理結果を出力する第N再構成可能回路部と、
前記第N再構成可能回路部の処理の実行過程で得られるステートを保持する第Nステート記憶部と、を有し、
前記第M診断ブロック(M=1,2,3,4)は、
前記第1〜第3処理結果が入力され、前記第1〜第3処理結果の中のいずれかにエラーが有る場合には、当該エラーが有る処理結果を特定する第Mエラー判定結果を出力する第M多数決判定部と、
前記第Mエラー判定結果が入力され、障害を診断し、前記第1〜第3処理ブロックの中のいずれかの処理ブロックに障害が有ると診断した場合には、回復先および回復元の処理ブロックの情報を含めた第M回復プランを生成する第M障害診断部と、
他の診断ブロックとの間で通信を行うための第M通信部と、
前記第M障害診断部で生成された前記第M回復プランに基づいて、前記回復先の処理ブロックの自動回復処理を実行する第M回復プラン実行部と、を有し、
前記第M障害診断部は、
前記第Mエラー判定結果を反映した第M診断情報を前記第M通信部を介して他の障害診断部に送信し、前記他の障害診断部からの診断情報を前記第M通信部を介してそれぞれ受信する第M共有部と、
前記第M共有部で共有した前記第1〜第4診断情報に基づいて、前記第M回復プランを定める第M回復プラン判定部と、を有し、
前記第M回復プラン実行部は、前記回復先の処理ブロックの自動回復処理を実行する際に、前記回復先の処理ブロック内の構成情報記憶部の記憶情報に加えて、ステート記憶部の記憶情報を回復させる、情報処理システム。
First to third processing blocks that execute the same processing according to a common input from the outside and output the first to third processing results, respectively;
First to third diagnostic blocks provided corresponding to the first to third processing blocks, respectively;
A fourth diagnostic block,
The Nth processing block (N = 1, 2, 3) is
An Nth configuration information storage unit for storing circuit configuration information;
Constructing a circuit according to the configuration information of the circuit and outputting the N-th processing result according to the operation of the circuit;
An Nth state storage unit that holds a state obtained in the process of executing the process of the Nth reconfigurable circuit unit,
The Mth diagnostic block (M = 1, 2, 3, 4)
When the first to third processing results are input and there is an error in any of the first to third processing results, an Mth error determination result specifying the processing result having the error is output. An M-th majority decision determination unit;
When the M-th error determination result is input, a failure is diagnosed, and if any of the first to third processing blocks is diagnosed as having a failure, a recovery destination and a recovery processing block An M-th failure diagnosis unit that generates an M-th recovery plan including the information of:
An Mth communication unit for communicating with other diagnostic blocks;
An M-th recovery plan execution unit that executes an automatic recovery process of the recovery destination processing block based on the M-th recovery plan generated by the M-th fault diagnosis unit;
The Mth failure diagnosis unit
The M-th diagnosis information reflecting the M-th error determination result is transmitted to another failure diagnosis unit via the M-th communication unit, and the diagnosis information from the other failure diagnosis unit is transmitted via the M-th communication unit. An M-th sharing unit for receiving each;
An M-th recovery plan determination unit that determines the M-th recovery plan based on the first to fourth diagnosis information shared by the M-th sharing unit;
When the M-th recovery plan execution unit executes automatic recovery processing of the recovery destination processing block, in addition to the storage information of the configuration information storage unit in the recovery destination processing block, the storage information of the state storage unit An information processing system to recover.
請求項8記載の情報処理システムにおいて、
前記第Nステート記憶部は、第1時点におけるステートが保持される第Nステート退避部を有し、
前記第4回復プラン実行部は、前記第1時点の後に外部から入力されるデータを順次保持するデータ保持部を有し、
前記第1〜第3回復プラン実行部のそれぞれは、
前記回復先の処理ブロック内の構成情報記憶部の記憶情報を回復させる構成回復部と、
前記回復先の処理ブロック内のステート記憶部に対して前記回復元の処理ブロック内のステート退避部で保持されるステートを設定し、前記回復先の処理ブロック内の構成情報記憶部の記憶情報が回復したのちに前記回復先の処理ブロックに向けて前記第4回復プラン実行部内の前記データ保持部で保持されるデータを順次出力するステート回復部と、を有する、情報処理システム。
The information processing system according to claim 8,
The Nth state storage unit includes an Nth state saving unit that holds a state at a first time point,
The fourth recovery plan execution unit includes a data holding unit that sequentially holds data input from the outside after the first time point,
Each of the first to third recovery plan execution units,
A configuration recovery unit for recovering the storage information of the configuration information storage unit in the recovery destination processing block;
The state stored in the state saving unit in the recovery processing block is set for the state storage unit in the recovery destination processing block, and the storage information in the configuration information storage unit in the recovery destination processing block is An information processing system, comprising: a state recovery unit that sequentially outputs data held in the data holding unit in the fourth recovery plan execution unit toward the recovery destination processing block after recovery.
請求項9記載の情報処理システムにおいて、
前記第M障害診断部は、さらに、前記第M回復プラン判定部によって生成された前記第M回復プランを、前記第M通信部を介して、ビザンチン合意プロトコルを用いて他の回復プラン判定部との間で交換し、当該交換した結果に基づいて確定した第M回復プランを前記第M回復プラン実行部に出力する第M回復プラン合意部を有する、情報処理システム。
The information processing system according to claim 9,
The M-th failure diagnosing unit further transmits the M-th recovery plan generated by the M-th recovery plan determination unit to another recovery plan determination unit using the Byzantine agreement protocol via the M-th communication unit. And an M-th recovery plan consensus unit that outputs the M-th recovery plan determined based on the exchange result to the M-th recovery plan execution unit.
請求項9記載の情報処理システムにおいて、
前記第4診断ブロックは、外部との間のインタフェースを担う外部送受信ブロック内に設けられ、
前記第4診断ブロック内の前記第4多数決判定部は、前記第1〜第3処理結果に対して多数決判定を行うことで外部に出力する処理結果を定め、
前記外部送受信ブロックは、通常用とバックアップ用を含めて冗長化されており、
前記通常用と前記バックアップ用の切り替えは、前記第M共有部で共有した前記第1〜第4診断情報の内容ならびに一致・不一致に基づいて行われる、情報処理システム。
The information processing system according to claim 9,
The fourth diagnostic block is provided in an external transmission / reception block serving as an interface with the outside,
The fourth majority decision unit in the fourth diagnosis block determines a processing result to be output to the outside by performing a majority decision on the first to third processing results,
The external transmission / reception block is made redundant including normal use and backup use,
Switching between the normal use and the backup use is performed based on the contents of the first to fourth diagnostic information shared by the Mth sharing unit and the match / mismatch.
JP2013051203A 2013-03-14 2013-03-14 Information processing system Ceased JP2014178793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013051203A JP2014178793A (en) 2013-03-14 2013-03-14 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013051203A JP2014178793A (en) 2013-03-14 2013-03-14 Information processing system

Publications (1)

Publication Number Publication Date
JP2014178793A true JP2014178793A (en) 2014-09-25

Family

ID=51698702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013051203A Ceased JP2014178793A (en) 2013-03-14 2013-03-14 Information processing system

Country Status (1)

Country Link
JP (1) JP2014178793A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016075800A1 (en) * 2014-11-14 2016-05-19 株式会社日立製作所 Programmable circuit
JP2020513170A (en) * 2018-12-13 2020-04-30 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Changing the primary node in a distributed system
JP2020115315A (en) * 2019-01-18 2020-07-30 株式会社日立製作所 Distributed processing method and distributed processing system
JP2020522725A (en) * 2019-03-18 2020-07-30 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Recovery of consensus system downtime
CN112513819A (en) * 2018-09-19 2021-03-16 日立汽车系统株式会社 Electronic control device
CN114594671A (en) * 2022-03-07 2022-06-07 上海航天电子通讯设备研究所 A fault self-diagnosis and autonomous switching system and method for aerospace dual-redundant space communication equipment
JP2024180181A (en) * 2023-06-16 2024-12-26 日立ヴァンタラ株式会社 Data processing system and data processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907232A (en) * 1988-04-28 1990-03-06 The Charles Stark Draper Laboratory, Inc. Fault-tolerant parallel processing system
US20070233626A1 (en) * 2006-03-17 2007-10-04 Novell, Inc. Method for consensus decisionmaking in a distributed system
JP2011216020A (en) * 2010-04-01 2011-10-27 Mitsubishi Electric Corp Information processing apparatus and circuit reconfiguration device
JP2013046181A (en) * 2011-08-24 2013-03-04 Hitachi Ltd Programmable device, reconfigurable method of programmable device, and electronic device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907232A (en) * 1988-04-28 1990-03-06 The Charles Stark Draper Laboratory, Inc. Fault-tolerant parallel processing system
US20070233626A1 (en) * 2006-03-17 2007-10-04 Novell, Inc. Method for consensus decisionmaking in a distributed system
JP2011216020A (en) * 2010-04-01 2011-10-27 Mitsubishi Electric Corp Information processing apparatus and circuit reconfiguration device
JP2013046181A (en) * 2011-08-24 2013-03-04 Hitachi Ltd Programmable device, reconfigurable method of programmable device, and electronic device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
和田 大介 他: "「ビザンチン合意を用いたP2Pオンライン合意プロトコル」", 電子情報通信学会技術研究報告, vol. 108, no. 99, JPN6016027702, 13 September 2008 (2008-09-13), JP, pages 7 - 12, ISSN: 0003477309 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016075800A1 (en) * 2014-11-14 2016-05-19 株式会社日立製作所 Programmable circuit
CN112513819A (en) * 2018-09-19 2021-03-16 日立汽车系统株式会社 Electronic control device
JP2020513170A (en) * 2018-12-13 2020-04-30 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Changing the primary node in a distributed system
US10791107B2 (en) 2018-12-13 2020-09-29 Alibaba Group Holding Limited Performing a change of primary node in a distributed system
JP2020115315A (en) * 2019-01-18 2020-07-30 株式会社日立製作所 Distributed processing method and distributed processing system
US11106552B2 (en) 2019-01-18 2021-08-31 Hitachi, Ltd. Distributed processing method and distributed processing system providing continuation of normal processing if byzantine failure occurs
JP2020522725A (en) * 2019-03-18 2020-07-30 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Recovery of consensus system downtime
CN114594671A (en) * 2022-03-07 2022-06-07 上海航天电子通讯设备研究所 A fault self-diagnosis and autonomous switching system and method for aerospace dual-redundant space communication equipment
JP2024180181A (en) * 2023-06-16 2024-12-26 日立ヴァンタラ株式会社 Data processing system and data processing method
US20250077339A1 (en) * 2023-06-16 2025-03-06 Hitachi, Ltd. Data processing system and data processing method
JP7692949B2 (en) 2023-06-16 2025-06-16 日立ヴァンタラ株式会社 Data processing system and data processing method

Similar Documents

Publication Publication Date Title
JP2014178793A (en) Information processing system
US9363137B1 (en) Faulty core recovery mechanisms for a three-dimensional network on a processor array
US9329949B2 (en) Comprehensive error management capabilities for disaster recovery operations
US9396052B2 (en) Periodic validation and health reports of disaster recovery plan
EP3189380B1 (en) Two-way architecture with redundant ccdl&#39;s
US7739371B2 (en) Computer system
EP3285168B1 (en) Disaster tolerance method and apparatus in active-active cluster system
JP4479930B2 (en) Node system, server switching method, server device, data takeover method, and program
US20170228181A1 (en) Snapshot Processing Method and Related Device
CN110413456B (en) Triple redundant data step-by-step voting system and method
CN108293003A (en) Fault Tolerance in Distributed Graph Processing Networks
WO2025119102A1 (en) Two-level quorum method for effectively solving split brain of dual server rooms
WO2014207893A1 (en) Computation circuit and computer
US20090187600A1 (en) Method of improving replica server performance and a replica server system
JP2020067722A (en) Parallel processing device, parallel operation execution program and backup method
CN101604270A (en) ARINC429 communication redundancy method based on vxworks operating system
CN106506995B (en) Method and device for providing and displaying standby signals of display unit group
JP7359798B2 (en) Method of programming at least one programmable gate device in a distributed computer system
JP7056868B2 (en) System, computer, system control method and program
CN115858679A (en) A data synchronization method, device, equipment and medium between data centers
JP2006099305A (en) Programmable LSI configuration control method
CN110134554B (en) Synchronous and self-checking voting circuit
CN109117302A (en) A kind of internal memory data acquiring method, system, Memory Management Middleware and medium
JPS5917467B2 (en) Control computer backup method
CN111190345A (en) Redundant automation system with multiple processor units per hardware unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160829

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170117

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20170530