WO2018066124A1 - フォールトトレラントシステム - Google Patents

フォールトトレラントシステム Download PDF

Info

Publication number
WO2018066124A1
WO2018066124A1 PCT/JP2016/079943 JP2016079943W WO2018066124A1 WO 2018066124 A1 WO2018066124 A1 WO 2018066124A1 JP 2016079943 W JP2016079943 W JP 2016079943W WO 2018066124 A1 WO2018066124 A1 WO 2018066124A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
output signal
signal
failure
arithmetic
Prior art date
Application number
PCT/JP2016/079943
Other languages
English (en)
French (fr)
Inventor
道也 早馬
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2018543555A priority Critical patent/JP6556373B2/ja
Priority to PCT/JP2016/079943 priority patent/WO2018066124A1/ja
Publication of WO2018066124A1 publication Critical patent/WO2018066124A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits

Definitions

  • the present invention relates to a fault tolerant system provided with three or more arithmetic units.
  • FDIR fault Detection, Isolation and Recovery
  • the present invention has been made to solve the above-described problems, and aims to improve the diagnosis accuracy of a failure factor and realize a recovery process suitable for the failure factor.
  • the fault tolerant system of the present invention includes three or more arithmetic devices that acquire node information from a node, and each arithmetic device generates an output signal from the node information.
  • An output signal generation unit that compares the output signals generated by each arithmetic device and outputs a majority signal
  • a time code provision unit that provides a time code shared between the arithmetic devices, and the device itself Performs a logical operation on the generated output signal and the bit pattern converted from the time code, and outputs a calculation result
  • a communication unit that repeatedly receives a calculation result output from a calculation device other than its own device, and the received calculation When the value of the result is the same as the value of the calculation result received last time, it is determined that the output signal of the calculation device other than its own device is not updated, and the first unupdated signal is output That a first non-update determination unit, on the basis of the majority signal and the first non-update signal, the fault diagnosis unit for diagnosing a failure of the three or more arithmetic, but with a.
  • the fault tolerant system of the present invention includes three or more arithmetic devices that acquire node information from a node, and each arithmetic device generates CRC data based on an output signal generated from the node information. And a CRC circuit generated by each arithmetic device, and a majority circuit that outputs a majority signal, a time code providing unit that provides a time code shared among the arithmetic devices, and a self-generated device Performs a logical operation on the CRC data and the bit pattern obtained by converting the time code, and outputs a calculation result, a communication unit that repeatedly receives a calculation result output from a calculation device other than its own device, and the received calculation When the value of the result is the same as the value of the calculation result received last time, it is determined that the output signal of the calculation device other than the own device has not been updated, and the first non-updated Fault tolerant system comprising a first non-update determination unit for outputting a new signal, on the basis of the majority
  • the fault-tolerant system of the present invention includes three or more arithmetic devices that acquire node information from a node, and a failure diagnosis device that diagnoses a failure of the three or more arithmetic devices.
  • An operation unit that performs an operation and outputs an operation result, the failure diagnosis device compares the output signal generated by each operation device and outputs a majority signal, and the operation result output by each operation device If the value of the received computation result is the same as the value of the previously received computation result, the output signal of the computation device that has output the computation result is not updated.
  • an unupdate determination unit that outputs an unupdated signal and a failure diagnosis unit that diagnoses a failure of the three or more arithmetic devices based on the majority signal and the unupdated signal. is there
  • the fault tolerant system According to the fault tolerant system according to the present invention, it is possible to improve the diagnosis accuracy of a failure factor and realize a recovery process suitable for the failure factor.
  • FIG. 1 is a configuration diagram showing an example of a system configuration of a fault tolerant system 100 according to Embodiment 1 of the present invention.
  • the fault tolerant system 100 includes three arithmetic devices 10-1 to 10-3, N nodes 11-1 to 11-N as peripheral devices, an arithmetic device communication transmission path 12, and an output signal transmission path 13. And an input / output network 14.
  • the number of arithmetic units is three, but the present invention is not limited to this and can be arbitrarily set.
  • the arithmetic devices 10-1 to 10-3 have the same structure, and any one of them operates as a master and controls the remaining arithmetic devices as slaves.
  • the fault tolerant system 100 that operates with the arithmetic device 10-1 as a master will be described.
  • the arithmetic devices 10-1 to 10-3 are devices that execute arithmetic operations such as a CPU (Central Processing Unit) and a system LSI (Large Scale Integration), and are connected to each other via an arithmetic device communication transmission path 12. Mutual information such as calculation results and device status can be exchanged. Then, the arithmetic device 10-1 as the master outputs an output signal generated based on the node information acquired from the node 11 via the input / output network 14 to the outside via the output signal transmission path 13. Here, the output signal corresponds to a control signal for the apparatus such as a drive signal for the actuator.
  • the specific operation of the arithmetic units 10-1 to 10-3 will be described later.
  • Nodes 11-1 to 11-N indicate network connection points, relay points, branch points, and the like, and are individual devices that mainly perform communication such as servers, computers, and communication devices.
  • the arithmetic device communication transmission line 12 and the output signal transmission line 13 are transmission lines through which information can be transmitted and received mutually, and may be wired transmission lines such as coaxial cables and optical cables, or Wi-Fi (registered trademark) or Bluetooth (registered trademark). ) Or the like.
  • the input / output network 14 is composed of a transmission path capable of transmitting and receiving information to and from each other, and may be a wired transmission path such as a coaxial cable or an optical cable, or wireless transmission such as Wi-Fi (registered trademark) or Bluetooth (registered trademark). It may be a road.
  • FIG. 2 is a configuration diagram illustrating an example of a device configuration of the arithmetic device according to the first embodiment of the present invention.
  • the arithmetic unit 10-1 includes switch units 20-1 to 20-4, communication units 21-1 to 21-3, time code providing unit 22, processing unit 23, recording unit 24, XOR restoration unit 25, majority circuit 26, Unupdate determination units 27-1 to 27-3 and a failure diagnosis unit 28 are provided.
  • solid arrows indicate information flow
  • dotted arrows indicate control command flow.
  • the switch units 20-1 to 20-4 are execution units that maintain or block communication connection with the outside.
  • the switch unit 20-1 is connected to the nodes 11-1 to 11-N, the switch unit 20-2 is connected to the arithmetic unit 10-2, and the switch unit 20-3 is connected to the arithmetic unit 10-3.
  • the switch unit 20-4 constitutes a connection with the output signal transmission line 14.
  • the switch units 20-1 to 20-4 correspond to the blocking unit of the present invention.
  • the communication units 21-1 to 21-3 control the switch units 20-1 to 20-3, respectively, according to a communication control command transmitted from the processing unit 23, which will be described later, and control the nodes 11, arithmetic devices 10-2 and 10-3. Controls sending and receiving of information to and from.
  • the time code providing unit 22 provides a time code that is time information indicating the processing timing of the arithmetic device.
  • the time code providing unit 22 is configured to generate a time code by combining a crystal oscillator and a counter, configured to generate a time code by counting a clock input from the outside of the arithmetic device via a dedicated clock line, or from the outside.
  • the time code can be generated based on the time notified via a wired or wireless network.
  • generates a time code based on the time information acquired from the outside may be sufficient.
  • the processing unit 23 transmits a communication control command to the communication units 21-1 to 21-3 according to the time code acquired from the time code providing unit 22. Further, the processing unit 23 includes an output signal generation unit 231 and an XOR operation unit 232.
  • the output signal generation unit 231 performs an operation based on the node information acquired from the node 11 via the communication unit 21-1, and generates an output signal.
  • the output signal generated by the output signal generation unit 231 of the arithmetic unit 10-1 is assumed to be the first output signal.
  • the output signal generated by the arithmetic device 10-2 is referred to as a second output signal, and the output signal generated by the arithmetic device 10-3 is referred to as a third output signal.
  • the XOR operation unit 232 performs an exclusive OR (XOR: eXclusive OR, hereinafter referred to as XOR operation) between the first output signal and the bit pattern obtained by converting the time code acquired from the time code providing unit 22 to obtain an XOR operation. Output the result.
  • the XOR operation unit 232 corresponds to the operation unit of the present invention.
  • the XOR operation result output from the XOR operation unit 232 of the arithmetic device 10-1 will be referred to as a first XOR operation result.
  • the XOR operation result output from the arithmetic unit 10-2 is used as the second XOR operation result
  • the XOR operation result output from the arithmetic unit 10-3 is used as the third XOR operation result.
  • the processing unit 23 When the arithmetic unit 10-1 operates as a slave, the processing unit 23 outputs the first output to the communication unit 21-2 or 21-3 corresponding to the arithmetic unit 10-2 or 10-3 operating as a master. A communication control command is transmitted so as to transmit the XOR operation result of.
  • FIG. 3 is an explanatory diagram showing an example of communication timing of the arithmetic device according to the first embodiment of the present invention.
  • the arithmetic units 10-1 to 10-3 have the node information 110-1 to 110-4, the information 111-1 and 111-2 that summarize the node information, and the second XOR operation result 112 and the third information.
  • An example in which the XOR operation result 113 is communicated will be described.
  • the arithmetic device 10-1 operating as a master acquires node information 110-1 to 110-4 from each node, and information 111-1 and 111-2 that summarize the acquired node information are respectively slaved. Is transferred to the arithmetic units 10-2 and 10-3 that operate as:
  • the information transmission / reception process is executed in units of time called slots, and a time code is attached to each slot.
  • the processing unit 23 of the arithmetic device 10-1 determines which of the obtained time code values is 1 to 6, and executes the corresponding processing.
  • the processing unit 23 of the arithmetic unit 10-1 acquires the node information 110-1 to 110-4 from the nodes 11-1 to 11-4.
  • the processing unit 23 of the arithmetic device 10-1 collects the node information into the arithmetic device 10-2 that operates using the acquired information 111-1 that summarizes the node information as a slave.
  • the processing unit 23 of the arithmetic device 10-1 outputs the second XOR operation result 112 output from the arithmetic device 10-2 and the third XOR operation result output from the arithmetic device 10-3. 113 is obtained.
  • the processing unit 23 of the arithmetic unit 10-1 repeats the time code 7 and subsequent times using the time codes 1 to 6 as a repetition cycle. Specifically, the corresponding time code is obtained from the remainder obtained by dividing the time code by 6, and the above time code is determined. The processing unit 23 of the arithmetic unit 10-1 determines that the time code corresponds to 1 to 4 when the remainder is 1 to 4, and determines that the time code corresponds to 5 when the remainder is 5, and the remainder. Is 0, it is determined that the time code corresponds to 6, and the process is executed. In the following description, it is assumed that the arithmetic devices 10-1 to 10-3 are operating at the communication timing of FIG.
  • the time code is used not only for the communication timing but also for the processing timing in the output signal generation unit 231 and the XOR operation unit 232.
  • the output signal generation unit 231 generates a first output signal in the slot of time code 6.
  • the XOR operation unit 232 outputs the first XOR operation result in the slot of the time code 6.
  • the arithmetic units 10-2 and 10-3 output the second XOR operation result and the third XOR operation result, respectively.
  • FIG. 4 is an explanatory diagram showing an example of the XOR operation in the XOR operation unit according to the first embodiment of the present invention.
  • the bit pattern is obtained by binary conversion of the time code, and the result of the XOR operation between the first output signal and the bit pattern is the first XOR operation result.
  • the reason why the time code is jumping from 6, 12, and 18 is that the XOR operation processing in the processing unit is executed in the slots of the time codes 6, 12, and 18.
  • the bit pattern obtained by binary conversion of the time code is used.
  • the present invention is not limited to this, and other conversions such as a gray code can be arbitrarily used.
  • the value of the time code changes with time. Therefore, even if the first output signal has the same value, the XOR operation may have a different value. it can.
  • the first XOR operation result is not particularly required to be recorded when the arithmetic device 10-1 operates as a master, but operates as a master when operating as a slave. It is transmitted to the arithmetic unit 10-2 or 10-3. The same XOR operation is also executed in the arithmetic units 10-2 and 10-3.
  • the recording unit 24 is a memory that records various data such as node information.
  • FIG. 5 is a data configuration diagram showing an example of the data configuration of the recording unit in the first embodiment of the present invention. As shown in FIG. 5, the recording unit 24 includes the node information acquired from the node 11 via the communication unit 22-1, the first output signal and the first XOR operation result generated by the processing unit 23, and the communication unit. The second XOR operation result and the third XOR operation result respectively acquired from the arithmetic devices 10-2 and 10-3 via 22-2 and 22-3 are recorded.
  • the XOR restoration unit 25 performs an XOR operation between the second XOR operation result and the third XOR operation result acquired from the recording unit 24 and the bit pattern obtained by converting the time code, and the arithmetic device The second output signal and the third output signal generated by 10-2 and 10-3 are restored and output to the majority circuit 26.
  • the majority circuit 26 receives the first output signal and the second and third output signals restored by the XOR restoration unit 25.
  • the majority circuit 26 performs an XOR operation on the combination of the first output signal and the second output signal, the first output signal and the third output signal, and the combination of the second output signal and the third output signal. It is a logic circuit that takes the majority of the results.
  • FIG. 6 is a configuration diagram showing an example of the configuration of the majority circuit in the first embodiment of the present invention.
  • the majority circuit 26 includes XOR operation elements 251 to 253.
  • XOR logic elements 251 to 253 are logic elements that perform an XOR operation.
  • the XOR operation element 251 takes a logical sum (hereinafter OR) of each bit with respect to the result of the XOR operation of each bit of the first output signal and each bit of the second output signal.
  • the XOR operation element 252 performs the same operation as the XOR operation element 252 on the first output signal and the third output signal, and the XOR operation result 253 operates on the second output signal and the third output signal. Execute.
  • the XOR logic elements 251 to 253 output 0 to the failure diagnosis unit 28 when the input output signals are the same and 1 as the majority signal when they are different.
  • the unupdate determination unit 27-1 determines whether the first output signal generated by the arithmetic device 10-1 is not updated based on the time code acquired from the time code providing unit 22. Determine whether or not. Specifically, a timer is provided inside, and the time interval at which the time code is input is measured by this internal timer. The unupdated determination unit 27-1 holds information about the time interval in which the time code is input. When the value and the measurement result are the same, 0 is output as the output signal. 1 is output. The output signal 1 in the case where the measurement result is different from the held time interval indicates that it has been determined that it has not been updated, and corresponds to the second unupdated signal of the present invention. Further, the non-update determination unit 27-1 corresponds to the second non-update determination unit of the present invention.
  • the non-update determination unit 27-1 includes a timer.
  • the present invention is not limited to this, and it is only necessary to be able to acquire time-related information through a route different from that of the time code providing unit 22. Even if it is a configuration that counts clocks input from the outside through a dedicated clock line and measures the time interval, or a configuration that measures time intervals based on time information notified from the outside via a wired or wireless network Good.
  • the unupdated determination units 27-2 and 27-3 are the second XOR operation result recorded in the recording unit 24, the second output signal and the third output signal are not updated from the third XOR operation result, respectively. It is determined whether or not there is. Specifically, the non-update determination units 27-2 and 27-3 indicate that the second XOR operation result and the third XOR operation result are the previous time when the time code cycle is one cycle earlier, that is, the time code is 6 Determine whether the value of the second XOR operation result and the value of the third XOR operation result before 6 are the same. If they are the same, 1 is output as the output signal, and 0 is output as the output signal if they are different. To the unit 28.
  • the output signal 1 when the XOR calculation results are the same indicates that the output signal has not been updated, and corresponds to the first unupdated signal of the present invention. Further, the non-update determination units 27-2 and 27-3 correspond to the first non-update determination unit of the present invention.
  • the XOR operation result is the result of the XOR operation with the bit pattern obtained by converting the time code that changes with time
  • the XOR operation is performed even if the value of the output signal is the same as the value of the previous output signal. The value of becomes different, and by comparing the value of the XOR operation with the previous value, it can be determined whether or not it has not been updated properly.
  • Fault diagnosis unit 28 includes a majority signal from majority circuit 26, a second unupdated signal from unupdated determination unit 27-1, and first unupdated signals from unupdated determination units 27-2 and 27-3.
  • a failure factor is diagnosed from the update signal, and a control command is transmitted to the switch unit 20-4, the communication units 21-1 to 21-3, and the processing unit 23 in accordance with a recovery process corresponding to the diagnosed failure factor.
  • the failure diagnosis unit 28 receives the majority signal from the majority circuit 26, the second unupdated signal from the non-update determination unit 27-1, and the non-update determination units 27-2 and 27-3. A failure diagnosis value obtained by synthesizing the first non-updated signals is generated. Next, the failure diagnosis unit 28 refers to the failure diagnosis value and the failure factor diagnosis result indicating the cause when the failure occurs, and the failure factor classification table indicating the correspondence relationship with the recovery process for the failure, and generates the generated failure diagnosis. Diagnose the failure diagnosis result and recovery process corresponding to the value.
  • FIG. 7 is a data structure diagram showing an example of the data structure of the fault diagnosis value in Embodiment 1 of the present invention.
  • the fault diagnosis value shown in FIG. 7 is a combination of a total of six signals including the first three signals 260 that are majority signals and the latter three signals 270 that are unupdated signals.
  • the signal 260 is composed of signals 261 to 263.
  • the signal 261 is a majority signal of the first output signal and the second output signal in the majority circuit 26.
  • the signal 262 is a majority signal of the first output signal and the third output signal in the majority circuit 26.
  • the signal 263 is a majority signal of the second output signal and the third output signal in the majority vote 26.
  • the signal 270 is composed of signals 271 to 273.
  • Signals 271 to 273 are output signals from the non-update detection circuits 27-1 to 27-3, respectively.
  • the case where the value is 1 in the signal 271 corresponds to the second unupdated signal of the present invention
  • the case where the value is 1 in each of the signals 272 and 273 corresponds to the first unupdated signal of the present invention.
  • FIGS. 8 to 12 are table structure diagrams showing an example of the table structure of the failure factor classification table according to Embodiment 1 of the present invention.
  • the failure factor classification table is a correspondence table of failure diagnosis values, failure factor diagnosis results, and recovery processing.
  • the failure diagnosis value is a value obtained by combining the majority signal, the first unupdated signal, and the second unupdated signal as described above.
  • the failure factor diagnosis result is a result of a combination that may be a possible failure factor when considering one factor failure or two factor simultaneous failure.
  • the failure factor indicated by the black circle ( ⁇ ) in the drawing indicates that two arithmetic devices out of the arithmetic devices 10-1 to 10-3 have a failure factor, and the failure factor 2 It shows a case where the value of the output signal generated by one arithmetic device and the value of the output XOR operation result are incorrect and the same value. That is, it shows a case where two arithmetic devices are out of order, and the faulty arithmetic devices generate the same erroneous output signal and output an XOR operation result.
  • the failure factor is considered to be a simultaneous two-factor failure, because the possibility that a three-factor simultaneous failure will occur is low, so that the diagnosis by the failure diagnosis unit 28 can always be diagnosed as a three-factor failure. This is to avoid unnecessary system stop and recovery processing by focusing on one-factor failure or two-factor simultaneous failure that may occur.
  • a failure factor classification table that takes into account three-factor simultaneous failures may be created and referenced.
  • FIG. 13 is a diagram in which an identifier for identifying a failure factor in Embodiment 1 of the present invention and a description of the failure factor corresponding to the identifier are described.
  • each identifier indicates a failure factor of components constituting each of the arithmetic devices 10-1 to 10-3 when the arithmetic device 10-1 operates as a master.
  • the identifiers cpu1 to cpu3 indicate fraudulent output signals of the arithmetic units 10-1 to 10-3, respectively, and indicate that the output signal value to be output is an incorrect value.
  • the identifier time0 indicates a failure of all the time code providing units 22 of the arithmetic devices 10-1 to 10-3 due to a global clock stop or the like.
  • Identifiers time1 to time3 indicate failures in the time code providing units 22 of the arithmetic devices 10-1 to 10-3, respectively.
  • the failure of the identifiers time2 and time3 is a delay or stop of the time code provision in the time code providing unit 22 of the arithmetic devices 10-2 and 10-3, respectively, and is generated by the arithmetic devices 10-2 and 10-3, respectively.
  • the values of the second output signal, the third output signal, the output second XOR operation result, and the third XOR operation result are incorrect values.
  • the non-update determination units 27-2 and 27-3 output the non-update signal is not included. That is, it is assumed that the case where the XOR operation result cannot be acquired and the acquired XOR operation result is not updated are not included.
  • non-update determination unit 27-2 when the non-update determination unit 27-2 outputs an unupdate signal, identifiers 2 and diff2, which will be described later, and when the non-update determination unit 27-3 outputs an unupdate signal, an identifier last 3 described later, diff3.
  • the failure of the identifier time1 is a delay or stop of the time code provision in the time code provision unit 22 of the arithmetic device 10-1.
  • the failure of the identifier time1 includes the first output signal generated by the arithmetic device 10-1 and the output In addition to the erroneous value of the first XOR operation result, the non-update detection circuit 27-1 outputs a non-update signal.
  • Identifiers last2 and last3 indicate acquisition failure of the second XOR operation result and the third XOR operation result via the communication units 21-2 and 21-3, respectively.
  • data recorded in the recording unit 24 is used as signals input to the majority circuit 26 and the non-update determination units 27-2 and 27-3. .
  • the majority circuit 26 outputs the majority signal and the unupdate determination unit 27. -2 and 27-3 always output an output signal, and the failure diagnosis unit 28 can properly diagnose the failure.
  • Identifiers voter1 to voter3 indicate that the result of the XOR operation for each combination of the first output signal to the third output signal in the polynomial circuit 26 is invalid.
  • Identifiers diff1 to diff3 indicate failures in the non-update determination units 27-1 to 27-3.
  • the restoration process is a restoration process for the failure factor diagnosis result, and the operation unit as a master is changed, the fault tolerant system is stopped, and the communication units 21-2 to 21-4 are used. Includes blocking of communication. Note that if either of the arithmetic devices 10-2 or 10-3 is possible as a target for changing the arithmetic device that operates as the master in the recovery process, the arithmetic device 10-2 or 10-3 is described as being changed to the master. However, this is for explanation of the situation, and one of them is selected when actually operating.
  • failure diagnosis unit 28 diagnoses that there is no failure.
  • the failure diagnosis unit 28 sets (1) voter2 as one factor failure, (1) combination of cpu1 and voter1 as two factor simultaneous failure, (2) A combination of cpu3 and voter3 and (3) a combination of time3 and voter3 are diagnosed as a total of four possibilities.
  • the restoration processing includes a restoration process of changing the arithmetic device 10-2 having no possibility of failure to a master. Executed. Specifically, the failure diagnosis unit 28 transmits a master change request to the arithmetic device 10-2 via the communication unit 21-2, and when the arithmetic device 10-2 receives the master change instruction, the slot of the next repetition cycle is received. To act as a master. In addition, since there is a failure factor cpu1 in the diagnosis result, there is a possibility that the processing unit 23 of the arithmetic device 10-1 is out of order.
  • the failure diagnosis unit 28 sends a switch unit 20-2 to the communication unit 21-2. Is transmitted to the communication unit 21-3 to control the switch unit 20-3 and to block communication with the arithmetic unit 10-3. Communication with the devices 10-2 and 10-3 is cut off. Further, since there is a possibility that the processing unit 23 of the arithmetic device 10-1 is out of order, the first output signal may be illegal. To prevent the first output signal 1 from being output to the outside.
  • the communication device 10-2 When it is detected that the communication with the arithmetic device 10-1 is cut off, it may operate as a master. Specifically, invalid data is always transmitted from the communication unit 21-2 of the arithmetic device 10-1 to the arithmetic device 10-2. When the arithmetic device 10-1 fails, the communication unit 21-2 -2 is disconnected and transmission of invalid data is stopped.
  • the communication unit 21-2 of the arithmetic device 10-2 that controls transmission / reception of information with the arithmetic device 10-1 in the arithmetic device 10-2 detects that the data transmission from the arithmetic device 10-1 has stopped. Then, it notifies the processing unit 23 of the arithmetic unit 10-2.
  • the processing unit 23 of the arithmetic device 10-2 may be a master change method in which it is determined that the arithmetic device 10-1 has failed and operates as a master from the next repetition cycle.
  • the failure diagnosis unit 28 does not have a one-factor failure, and two-factor simultaneous failure includes (1) a combination of cpu1 and cpu2 and a black circle. Diagnose that there is a total of one possibility.
  • the failure of cpu1 and cpu2 indicates that the arithmetic device 10-1 and the arithmetic device 10-2 are out of order, and black circles indicate from the failed arithmetic devices 10-1 and 10-2.
  • the generated first output signal and the second output signal, and the output first XOR operation result and the second XOR operation result are the same value.
  • the fault tolerant system 100 is stopped as a recovery process, and the switch units 20-2 and 20- 3 is cut off, the communication between the arithmetic units 10-2 and 10-3 is cut off, and the switch unit 20-4 is cut off to cut off communication with the outside.
  • FIG. 14 is a flowchart showing an example of a processing sequence of the fault tolerant system according to the first embodiment of the present invention.
  • the processing unit 23 acquires the time code T from the time code providing unit 22 (step S101).
  • step S103 when the time code T is 1 to 4, since the slot is the time code 1 to 4, the processing unit 23 is connected from the corresponding nodes 11-1 to 11-4 via the communication unit 21-1. Node information is acquired and written in the recording unit (step S103).
  • the processing unit 23 sends information obtained by collecting node information to the arithmetic unit 10-2 via the communication unit 21-2.
  • the data is transmitted to the arithmetic device 10-3 via the communication unit 21-3 (step S104).
  • the processing unit 23 sends the second XOR operation result via the communication unit 21-2 to the second XOR operation result via 21-3. 3 is obtained and written to the recording unit (step S105).
  • step S102 is performed based on the remainder obtained by dividing the time code T by 6. Specifically, when the remainder is 1 to 4, the time code T is 1 to 4, when the remainder is 5, the time code T is 5, and when the remainder is 0, the time code T is 6. judge.
  • step S103 and S104 the process returns to step S101. After the process of step S105, the process proceeds to step S106.
  • step S106 the output signal generation unit 231 performs an operation based on the node information acquired from the recording unit 24, generates a first output signal, and writes the generated first output signal in the recording unit 24.
  • step S107 the XOR restoration unit 25 performs an XOR operation on the acquired second XOR operation result and third XOR operation result and a bit pattern obtained by converting the value 6 of the time code T, and outputs the second output. Restore the signal and the third output signal.
  • step S108 the majority circuit 26 receives the first output signal, the restored second output signal, and the third output signal, and outputs the majority signal to the failure diagnosis unit 28.
  • step S109 the unupdate determination units 27-1 to 27-3 determine whether or not the first output signal to the third output signal are not updated, respectively, and the output signal is determined as a failure diagnosis unit 28. Output to. Note that the output signal that is output when the non-update determining units 27-1 to 27-3 determine that the update has not been performed is an unupdated signal.
  • step S110 the failure diagnosis unit 28 diagnoses a failure based on the input majority output signal and the unupdated signal.
  • step S111 the failure diagnosing unit 28 determines a transition step based on the presence or absence of the failure diagnosed in step S110.
  • the failure diagnosis unit 28 controls the switch unit 20-4 and outputs the first output signal to the outside via the output signal transmission path 13 (step S112).
  • the process returns to step S101 and continues.
  • the failure diagnosis unit 28 sends a recovery process control command corresponding to the failure factor determined in step S110 to the communication control units 21-2, 21-3, and the processing unit 23. Transmit (step S113), and the process ends.
  • the fault tolerant system 100 of the first embodiment not only the majority signal that is the result of comparing the values of the output signal in the majority circuit, but also the time that is the output signal and time information in the unupdated detection circuit.
  • the failure diagnosis unit diagnoses a failure by referring to the failure diagnosis value obtained by combining the majority signal and the unupdated signal, the failure factor diagnosis result, and the failure factor classification table which is a correspondence table between the restoration process. Therefore, it is possible to diagnose a failure on the basis of a finely classified failure factor, and to obtain an effect of improving the diagnosis accuracy of the failure factor and realizing a recovery process suitable for the failure factor.
  • the non-update determination unit determines whether or not the update is based on the XOR operation result that is the result of the XOR operation between the bit pattern obtained by converting the time code whose value changes with time and the output signal. Even if the same value as the previous output signal is output as the output signal, it is possible to obtain an effect that it is possible to appropriately determine that the signal has not been updated.
  • the failure diagnosis unit diagnoses that there is a failure in its own device, it is possible to obtain an effect that an erroneous output signal can be prevented from being output to the outside by blocking communication with the outside. .
  • the failure diagnosis unit diagnoses that there is a failure in a computing device other than its own device, it performs erroneous processing based on information from the failed computing unit by cutting off communication with the corresponding computing device It is also possible to obtain the effect of preventing the above.
  • FIG. 15 is an explanatory diagram illustrating an example of communication timing of the fault tolerant system according to the first embodiment of the present invention.
  • FIG. 15 is an example in which each arithmetic device individually acquires node information from each node at the same timing, unlike the example shown in FIG.
  • the arithmetic units 10-1 to 10-3 acquire the node information 110-1 to 110-4 from the nodes 11-1 to 11-4 at the same timing in the slots of the time codes 1 to 4.
  • the arithmetic unit 10-1 acquires the second XOR operation result 112 and the third XOR operation result 113 in the slot of time code 5.
  • the arithmetic unit 10-1 repeats the time code 6 and subsequent times using the time codes 1 to 5 as a repetition cycle.
  • the time code is used not only for the communication timing but also for the processing timing in the output signal generation unit 231 and the XOR operation unit 232.
  • the output signal generation unit 231 generates a first output signal in the slot of time code 5.
  • the XOR operation unit 232 generates a first XOR operation result in the slot of time code 5.
  • the second XOR operation result 232-2 and the third XOR operation result 232-3 are generated by the operation devices 10-2 and 10-3, respectively.
  • the transfer of node information from the arithmetic device 10-1 to the arithmetic devices 10-2 and 10-3 at the communication timing shown in FIG. The order may be changed.
  • Embodiment 2 the fault tolerant system 100 uses the XOR operation result that is the result of the XOR operation between the output signal and a bit pattern obtained by converting one type of time code, and the unupdate determination unit determines that the output signal is not updated.
  • the embodiment for determining whether or not is described above.
  • the bit pattern obtained by converting the time code has two types of bit patterns having a bit inversion relationship, and the value of the output XOR operation result is always different from the value of the previous XOR operation.
  • FIG. 16 is an explanatory diagram illustrating an example of the XOR operation in the XOR operation unit according to the second embodiment of the present invention.
  • the A-sequence bit pattern is a bit pattern obtained by binary conversion of the time code in the same manner as in the first embodiment
  • the B-sequence bit pattern is a bit pattern having a bit inversion relationship with the A-sequence bit pattern. Normally, it is assumed that an A-sequence bit pattern is selected and an XOR operation is executed. Note that the bit pattern selected in FIG. 16 is indicated by a black triangle mark ()).
  • the XOR operation unit 232 selects the B-sequence bit pattern.
  • the first XOR operation result is “00000101”, which is the same value as the XOR operation result when the time code is 12 one cycle before. Therefore, when the time code is 18, the XOR operation unit 232 selects a B-sequence bit pattern and executes the XOR operation, thereby outputting a first XOR operation result that is different from the previous XOR operation result value.
  • the XOR operation in which the A-sequence bit pattern is selected has the same XOR operation as the previous XOR operation result value. Even when the result is obtained, the XOR operation result by the XOR operation in which the B-sequence bit pattern is selected is always different from the previous XOR operation result.
  • the second XOR operation result and the third XOR operation result are also the results of the same operation, and the values of the second XOR operation result and the third XOR operation result are always the same as the values of the previous XOR operation result. Different values. Thus, since the second XOR operation result and the third XOR operation result are always different from the previous XOR operation result, the non-update determination units 27-2 and 27-3 are more accurate. It can be determined whether or not the output signal has not been updated.
  • FIG. 17 is a block diagram showing an example of a block diagram of the majority circuit in the second embodiment of the present invention.
  • the majority circuit 26 includes XOR logic elements 2501 to 2505 and AND logic elements (hereinafter referred to as AND logic elements) 2510 and 2511.
  • the XOR logic element 2501 receives the first output signal generated by the processing unit 23 and the second output signal restored by the XOR restoration unit 25 from the second XOR operation result, and performs an XOR operation. It is a logic element.
  • the XOR operation element 2503 receives the first output signal generated by the processing unit 23 and the third output signal restored by the XOR restoration unit 25 from the third XOR operation result, and performs an XOR operation. It is a logic element.
  • the XOR logic element 2505 receives the second output signal and the third output signal restored by the XOR restoration unit 25 from the second XOR operation result and the third XOR operation result, respectively, and performs a XOR operation. It is.
  • XOR logic elements 2501, 2503, and 2505 OR each bit with respect to the result of the XOR operation of each bit of the input output signals.
  • XOR logic elements 2501, 2503, and 2505 output 0 as the output signal when the input output signals are the same, and 1 as the output signal when the input output signals are different.
  • the XOR logic elements 2501 and 2503 output the output signal to AND logic elements 2510 and 2511, and the XOR logic element 2505 outputs the majority signal directly to the failure diagnosis unit 28.
  • the XOR logic element 2502 receives a signal obtained by bit-inverting the first output signal generated by the processing unit 23 and the second output signal restored by the XOR restoration unit 25 from the second XOR operation result, A logic element that performs an XOR operation.
  • the XOR logic element 2504 receives a signal obtained by bit-inverting the first output signal generated by the processing unit 23 and the third output signal restored by the XOR restoration unit 25 from the third XOR operation result, A logic element that performs an XOR operation.
  • each bit is ORed with respect to the result of the XOR operation of each bit of the input signals.
  • the XOR logic elements 2502 and 2504 output 0 to the AND logic elements 2510 and 2511 when the input output signals are the same and 1 as the output signal when the input output signals are different. To do.
  • the AND logic elements 2510 and 2511 receive the output signals from the XOR operation elements 2501 and 2502 and the XOR 2503 and 2504, respectively, and take an AND. As a result, if at least one of the input signals is 0, the majority logic signal is 0. If all the input signals are 1, 1 is output to the failure diagnosis unit 28 as a majority signal.
  • the XOR restoration unit 25 can restore the output signal by the XOR operation in which the bit pattern used for the XOR operation is one of the A-sequence bit pattern and the B-sequence bit pattern.
  • the configuration of the XOR restoration unit 25 can be simplified as in the first embodiment.
  • the XOR operation in the XOR restoration unit 25 can be an XOR operation with any one of the A-sequence bit pattern and the B-sequence bit pattern.
  • a case where the XOR operation in the XOR restoration unit 25 is an XOR operation with an A-sequence bit pattern will be described.
  • the signal restored by the XOR restoration unit 25 is the second output signal and the third output. It becomes the same signal as the signal.
  • the signal restored by the XOR restoration unit 25 is the second output signal and the third The signal is in a bit-inverted relationship with the output signal.
  • the signal restored by the XOR restoration unit 25 is the same signal as the second output signal and the third output signal or a signal having a bit inversion relationship. Therefore, a set of XOR logic elements 2501 and 2503 to which the signal restored by the XOR restoration unit 25 is input as it is, or an XOR logic element 2502 to which the signal restored by the XOR restoration unit 25 is bit-inverted and input In any of the 2504 sets, the XOR operation with the first output signal can be executed with the same signal as the output signal.
  • the XOR corresponding to the different set In at least one of the sets of logic elements 2501 and 2502 or 2503 and 2504, both 1s are output as output signals from the XOR logic element. Therefore, 1 is output as a majority signal from at least one of the AND logic elements 2510 or 2511.
  • the fact that the majority signal is 1 indicates that the values of the output signals are different. Accordingly, it is possible to correctly take the majority of the first output signal to the third output signal.
  • the XOR operation in the XOR restoration unit 25 can be an XOR operation with either one of the A-sequence bit pattern or the B-sequence bit pattern.
  • the value of the XOR operation result is always different from the value of the previous XOR operation result, and the output signal in the unupdate determination unit is not updated. The effect that the accuracy of determining whether or not there is more can be obtained.
  • the present invention is not limited to this, and two types of A-sequence bit pattern and B-sequence bit pattern can be selected.
  • the XOR restoration unit 25 from the added information indicates that the bit pattern on which the operation has been executed is an A-sequence bit. Whether the pattern or the B-sequence bit pattern can be determined, and the corresponding bit pattern can be restored.
  • the data capacity to be transmitted / received increases, but there is an effect that the configuration of the majority voting circuit can be simplified as in the first embodiment.
  • the present invention is not limited to this, and it is sufficient that the A-sequence bit pattern and the B-sequence bit pattern have different bit patterns.
  • the time code may be a bit pattern obtained by binary conversion as the A series bit pattern, and the time code may be a gray code converted bit pattern as the B series bit pattern. This example can be realized by adding information on the selected time code conversion method to the second XOR operation result and the third XOR operation result.
  • Embodiment 3 FIG.
  • three arithmetic devices, arithmetic devices 30-1 to 30-3, are provided, and the structure of the communication data of the output signal and the XOR operation result in each arithmetic device is the fault tolerant system in the first and second embodiments.
  • a fault tolerant system 300 different from 100 will be described.
  • the configuration of the fault tolerant system 300 is only provided with 30-1 to 30-3 instead of the arithmetic units 10-1 to 10-3 in the fault tolerant system 100, and thus description thereof is omitted. Further, for the sake of explanation, three arithmetic devices are used, but the present invention is not limited to this and can be arbitrarily set.
  • FIG. 18 is a configuration diagram illustrating an example of a device configuration of the arithmetic device according to the third embodiment of the present invention.
  • the configuration includes a selection unit 29 that selects an output signal to be output to the outside via the output signal transmission path 13 based on the diagnosis result of the failure diagnosis unit 28. is there.
  • switch units 20-1 to 20-4, the communication units 21-1 to 21-3, and the time code providing unit 22 are the same as those in the first embodiment, description thereof is omitted.
  • the processing unit 23 includes an output signal generation unit 231 and an XOR operation unit 232.
  • the output signal generation unit 231 generates cyclic redundancy check (CRC: Cyclic Redundancy Check) (CRC) data based on the first output signal, and is output that is data obtained by adding the CRC data to the first output signal.
  • Signal communication data 300 is generated.
  • CRC data is a value for inspection used in an error detection method, and is a remainder obtained by dividing data by a predetermined number called a generator polynomial.
  • the CRC data generated by the output signal generation unit 231 of the arithmetic device 10-1 will be referred to as first CRC data.
  • the CRC data generated by the arithmetic device 10-2 is second CRC data
  • the CRC data generated by the arithmetic device 10-3 is third CRC data.
  • the output signal generator 230 corresponds to the CRC data generator of the present invention.
  • the XOR operation unit 232 generates an XOR operation result between the bit pattern obtained by converting the time code acquired from the time code providing unit 22 and the first CRC data generated by the output signal generation unit 231 and also outputs the XOR operation result. Communication data 301 of the XOR operation result added to the first output signal is output.
  • the XOR operation result of the time pattern converted bit pattern and the first CRC data in the XOR operation unit 232 of the arithmetic unit 10-1 is referred to as a fourth XOR operation result.
  • the XOR operation result of the bit pattern subjected to time code conversion in the arithmetic device 10-2 and the second CRC data is converted into the fifth XOR operation result, the bit pattern subjected to time code conversion in the arithmetic device 10-3 and the first bit pattern.
  • the XOR operation result with the CRC data of 3 is defined as a sixth XOR operation result.
  • FIG. 19 is a data structure diagram showing an example of communication data according to Embodiment 3 of the present invention.
  • FIG. 19A is an example of the data structure of the communication data 300 of the output signal generated by the output signal generation unit 231 of the processing unit 23, and
  • FIG. 19B is output from the XOR operation unit 232. It is an example of the data structure of the communication data 301 of a XOR operation result.
  • the communication data 300 of the output signal has a structure in which the first CRC data generated by the output signal generation unit 231 is added to the first output signal.
  • the output signal generation unit 231 performs an operation determined for the first output signal, for example, non-patent literature (Philip Koopman, et.al. ”Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks,” Proc.
  • CRC Non-patent literature
  • the first CRC data is generated by executing an operation using the CRC-8 equation described in DSN-2004, “Jun.
  • the first CRC data is data having a data capacity smaller than that of the first output signal.
  • the XOR operation result communication data 301 has a structure in which the fourth XOR operation result output from the XOR operation unit 232 is added to the first output signal.
  • the XOR operation unit 232 outputs the communication data 301 of the XOR operation result to the operation device 10-2 or 10-3 that operates as a master when the operation device 10-1 operates as a slave. Since the data capacity of the first CRC data is small, the XOR operation result and the data capacity between the time code converted bit pattern and the first CRC data can be kept small.
  • the recording unit 24 is a memory that records various data such as node information.
  • FIG. 20 is a data configuration diagram showing an example of the data configuration of the recording unit in the third embodiment of the present invention. As shown in FIG. 20, the recording unit 24 includes the node information acquired from the node 11 via the communication unit 22-1, the first output signal and the first CRC data generated by the processing unit 23, the communication unit 22- 2 and 22-3, the second output signal and the third output signal acquired from the arithmetic device 30-2 and the arithmetic device 30-3, and the fifth XOR operation result and the sixth XOR operation result are recorded. is doing.
  • the XOR restoration unit 25 performs an XOR operation on each of the fifth XOR operation result and the sixth XOR operation result acquired from the recording unit 24 and the bit pattern obtained by converting the time code.
  • the CRC data and the third CRC data are restored and output to the majority circuit 26.
  • the majority circuit 26 receives the first CRC data and the second CRC data and the third CRC data restored by the XOR restoration unit 25, takes a majority vote, and outputs a majority vote signal.
  • the configuration of the majority circuit 26 is the same as that in the first embodiment, when the bit pattern of the time code used for the XOR operation is one kind, and the configuration of FIG. 4 is used in the XOR operation as in the second embodiment.
  • the configuration is as shown in FIG. Note that the majority voting method in the majority voting circuit 26 is not described because only the XOR operation with the CRC data is executed instead of the output signal in the first or second embodiment.
  • the unupdate determination unit 27-1 determines whether or not the first output signal is not updated based on the time code acquired from the time code providing unit 22 as in the first embodiment. Since the determination method is the same as that of the first embodiment, description thereof is omitted.
  • the unupdate determination units 27-2 and 27-3 determine whether or not the second output signal and the third output signal are not updated based on the fifth XOR operation result and the sixth XOR operation result, respectively. Determine. Since the determination method is the same as that of the first embodiment, description thereof is omitted.
  • failure diagnosis unit 28 is configured to receive a majority signal from majority circuit 26, a second unupdated signal from unupdated determination unit 27-1, and second signals from 27-2 and 27-3, respectively.
  • the failure factor is diagnosed from the 1 unupdated signal, and a control command is transmitted to the switch unit 20-4, the communication units 21-1 to 21-3, and the processing unit 23 in accordance with the restoration process corresponding to the diagnosed failure factor.
  • a selection output signal that is an output signal output by the selection unit 29 is also diagnosed, and a control command is transmitted to the selection unit 29 according to the diagnosed selection output signal.
  • the output signal to be output in Embodiment 3 can be selected by the fifth XOR operation result obtained from arithmetic units 10-2 and 10-3, and the sixth XOR. This is because the communication data of the operation result includes not only the fifth XOR operation result and the sixth XOR operation result but also the second output signal and the third output signal.
  • FIGS. 21 to 25 are table structure diagrams showing an example of the table structure of the failure factor classification table according to Embodiment 3 of the present invention.
  • each identifier in the failure factor diagnosis result in the third embodiment is the identifier shown in FIG. 13 as in the first embodiment.
  • 21 to 25 are composed of failure diagnosis values, failure factor diagnosis results, recovery processing, and selection output signals.
  • 1, 2, and 3 in the selected output signal column indicate the first output signal, the second output signal, and the third output signal, respectively, and 0 indicates that no output signal is output.
  • the selection output signal operates as the first output signal when there is no failure in the arithmetic device 30-1, and operates as the changed master when the arithmetic device that operates as the master is changed from the arithmetic device 30-1.
  • the output signal of the arithmetic device is selected by a selection method that does not output the output signal. Note that 2 or 3 is described when either the output signal 23-2 or 23-3 can be selected as the selection output signal, but this is for explanation of the situation, and when actually operating Is a structure in which either one is selected.
  • the selection unit 29 selects an output signal to be output in accordance with the selection output signal diagnosed by the failure diagnosis unit 28, acquires it from the recording unit 24, and selects the switch unit 20-4 and the output signal transmission path 13. Output to the outside via.
  • the communication of the XOR operation result in which the XOR operation result that is the result of the XOR operation between the CRC data and the bit pattern obtained by converting the time code is added to the output signal.
  • the data capacity of the CRC data is small, the data capacity of the XOR operation result can be kept small, and the data capacity of the communication data transmitted / received between the arithmetic devices can be reduced.
  • the present invention is not limited to this, and the first output signal to the third output signal may be input.
  • the first output signal to the third output signal may be input.
  • the XOR is used. The restoration process in the restoration unit 25 can be made unnecessary.
  • Embodiment 4 FIG. In the fourth embodiment, a fault tolerant system 400 including the arithmetic device 40 and the failure diagnosis device 41 will be described. Unlike Embodiments 1 to 3, there is no arithmetic device that operates as a master, and all arithmetic devices 40 operate as slaves.
  • FIG. 26 is a configuration diagram illustrating an example of a system configuration of the fault tolerant system according to the fourth embodiment of the present invention.
  • the fault tolerant system 400 includes N nodes 11-1 to 11-N, an arithmetic device communication transmission path 12, an output signal transmission path 13, an input / output network 14, an arithmetic result output transmission path 15, and three arithmetic devices 40. -1 to 40-3, and a fault diagnosis device 41.
  • the nodes 11-1 to 11-N, the arithmetic device communication transmission path 12, the output signal transmission path 13, and the input / output network 14 are the same as those in the first to third embodiments, and thus the description thereof is omitted. Further, for the sake of explanation, three arithmetic devices are used, but the present invention is not limited to this and can be arbitrarily set.
  • the calculation devices 40-1 to 40-3 generate calculation results based on the node information acquired from the node 11, and output the calculation results to the failure factor diagnosis device 41 via the calculation result output transmission path 15.
  • the failure diagnosis device 41 diagnoses a failure factor based on the calculation results acquired from the calculation devices 40-1 to 40-3.
  • the calculation result output transmission line 15 is a transmission line for performing data communication between the arithmetic devices 40-1 to 40-3 and the failure factor diagnosis device 41.
  • the calculation result output transmission line 15 is a transmission line through which information can be transmitted and received mutually, and may be a wired transmission line such as a coaxial cable or an optical cable, or a wireless transmission line such as Wi-Fi (registered trademark) or Bluetooth (registered trademark). But you can.
  • FIG. 27 is a configuration diagram illustrating an example of a device configuration of the arithmetic device according to the fourth embodiment of the present invention.
  • the arithmetic device 40-1 includes a communication unit 51, a time code providing unit 52, a processing unit 53, and a recording unit 54.
  • solid arrows indicate information flow, and dotted arrows indicate control command flow.
  • the communication unit 51 controls communication connection with the outside in accordance with a communication control command transmitted from the processing unit 53 described later, and transmits / receives information to / from the node 11 and the failure factor diagnosis device 41 via the calculation result output transmission path 15. Controls the transmission and reception of information.
  • the time code providing unit 52 provides the current time code.
  • the processing unit 53 transmits a communication control command to the communication unit 51 according to the time code acquired from the time code providing unit 52.
  • the processing unit 53 includes an output signal generation unit 531 and an XOR operation unit 532.
  • the output signal generation unit 531 generates an output signal based on the node information acquired from the node 11.
  • the output signal generated by the output signal generation unit 531 of the arithmetic device 40-1 will be referred to as a fourth output signal.
  • the output signal generated by the arithmetic device 40-2 is the fifth output signal
  • the output signal generated by the arithmetic device 40-3 is the sixth output signal.
  • the XOR operation unit 532 performs an XOR operation between the fourth output signal and the bit pattern obtained by converting the time code acquired from the time code providing unit 52, and outputs an XOR operation result.
  • the XOR operation unit 532 corresponds to the operation unit of the present invention.
  • the XOR operation result output from the XOR operation unit 532 of the arithmetic device 40-1 will be referred to as a seventh XOR operation result.
  • the XOR operation result output from the arithmetic unit 40-2 is referred to as an eighth XOR operation result
  • the XOR operation result output from the arithmetic unit 40-3 is referred to as a ninth XOR operation result.
  • the XOR operation executed by the XOR operation unit 532 is the same as the XOR operation executed by the XOR operation unit 232 in the first to third embodiments, and a description thereof will be omitted.
  • the recording unit 54 is a memory that records the node information acquired from the node 11, the fourth output signal generated by the processing unit 53, and the seventh XOR operation result.
  • FIG. 28 is a configuration diagram illustrating an example of a device configuration of the failure diagnosis apparatus according to the fourth embodiment of the present invention.
  • the failure diagnosis apparatus 41 includes switch units 60-1 to 60-4, communication units 61-1 to 61-3, a time code providing unit 62, a processing unit 63, a recording unit 64, a majority circuit 65, an unupdated determination unit 66- 1 to 66-3, a failure diagnosis unit 67, and a selection unit 68.
  • solid arrows indicate information flow
  • dotted arrows indicate control command flow.
  • the switch units 60-1 to 60-4 are execution units that maintain or block communication connection with the outside.
  • the switch units 60-1 to 60-3 constitute a connection with the arithmetic devices 40-1 to 40-3, and the switch unit 60-4 constitutes a connection with the output signal transmission path 13.
  • the communication units 61-1 to 61-3 control the switch units 60-1 to 60-3 and transmit / receive information to / from the arithmetic units 40-1 to 40-3 according to a control command transmitted from the processing unit 63 described later.
  • the provided time code providing unit 62 provides the current time code.
  • the processing unit 63 transmits a communication control command to the communication units 61-1 to 61-3 according to the time code acquired from the time code providing unit 62. Further, the processing unit 63 includes an XOR restoration unit 633.
  • the XOR restoration unit 633 obtains the seventh XOR operation result to the ninth XOR operation result acquired from the arithmetic devices 40-1 to 40-3 and the bit pattern obtained by converting the time code acquired from the time code providing unit 62.
  • the XOR operation is executed, the fourth output signal to the sixth output signal generated by the arithmetic devices 40-1 to 40-3 are restored and transmitted to the recording unit 64.
  • the recording unit 64 is a memory that records various data such as a seventh XOR operation result.
  • FIG. 29 is a data configuration diagram showing an example of the data configuration of the recording unit in the fourth embodiment of the present invention. As shown in FIG. 29, the recording unit 64 includes the seventh XOR calculation result to the ninth XOR calculation result acquired from the calculation devices 43-1 to 43-3, and the fourth output restored by the XOR restoration unit 633. Signal to sixth output signal are recorded.
  • the majority circuit 65 is a logic circuit that receives the fourth to sixth output signals, takes a majority vote, and outputs a majority signal.
  • the unupdated determination units 66-2 and 66-3 determine whether or not the fifth output signal and the sixth output signal are not updated based on the eighth XOR operation result and the ninth XOR operation result, respectively. When it is determined that it has not been updated, an unupdated signal is output.
  • the majority circuit 65, the non-update determination units 66-2 and 66-3 have the same configuration as the majority circuit 26, the non-update determination units 27-2 and 27-3 in the first to third embodiments. Description is omitted.
  • the non-update determination unit 66-1 does not determine whether or not the fourth output signal is not updated based on the time code.
  • the unupdated determination units 66-2 and 66-3 when the value of the seventh XOR operation result is the same as the value of the previous XOR operation result, 1 is output as the output signal, otherwise 0 is output as the output signal. Is output to the failure diagnosis unit 67.
  • the output signal 1 indicates that it has been determined that it has not been updated, and corresponds to the unupdated signal of the present invention. That is, the non-update determining units 66-1 to 66-3 in the fourth embodiment have the same configuration, and when it is determined that they have not been updated, the first non-update signal in the first to third embodiments. Is output.
  • the failure diagnosis unit 67 diagnoses a failure from the majority signal from the majority circuit 65 and the non-updated signals from the non-update determination units 66-1 to 66-3, and performs recovery processing according to the diagnosed failure factor. Is sent to the switch unit 60-4, the communication units 61-1 to 61-3, and the processing unit 63.
  • the failure diagnosis unit 67 diagnoses a failure by referring to the failure factor classification table in the same manner as the failure diagnosis unit 28 in the first to third embodiments.
  • a method for determining whether the failure diagnosis device 41 has obtained the seventh XOR operation result from the arithmetic device 40-1 and whether or not the non-update determination unit 66-1 has been updated has been implemented.
  • each identifier in the failure factor diagnosis result is different from the identifier shown in FIG. 13 in the first to third aspects.
  • FIG. 30 is a diagram in which an identifier for identifying a failure factor in Embodiment 4 of the present invention and a description of the failure factor corresponding to the identifier are described.
  • each identifier indicates a failure factor of a component constituting each of the arithmetic devices 40-1 to 40-3.
  • the identifiers cpu1 to cpu3 indicate fraudulent output signals of the arithmetic devices 40-1 to 40-3, respectively, and indicate that the output signal value to be output is an incorrect value.
  • the identifier time0 indicates a failure of all the time code providing units 22 of the arithmetic devices 40-1 to 40-3 due to a global clock stop or the like.
  • Identifiers time1 to time3 indicate failures in the time code providing units 52 of the arithmetic devices 40-1 to 40-3, respectively.
  • the failure of the identifiers time1 to time3 is a delay or stop of the time code provision in the time code providing unit 52 of the arithmetic devices 40-1 to 40-3, and the fourth generated by the arithmetic devices 40-1 to 40-3.
  • the values of the output signal to the sixth output signal and the seventh XOR operation result to the ninth XOR operation result to be output are incorrect values.
  • the non-update determination units 27-2 and 27-3 output the non-update signal is not included. That is, it is assumed that the case where the XOR operation result cannot be acquired and the acquired XOR operation result is not updated are not included.
  • the non-update determination unit 66-1 when the non-update determination unit 66-1 outputs an unupdate signal, the identifiers last1 and diff1, which will be described later, and when the non-update determination unit 66-2 outputs an unupdate signal, the identifier last2, which will be described later, When the non-update determination unit 66-3 outputs an unupdate signal to diff2, it is included in identifiers last3 and diff3 described later.
  • the failure of the identifier time1 is different from that in the first to third embodiments. This is because the non-update detection circuit 66-1 does not determine whether or not it has been updated based on the time code, unlike the non-update determination unit 27-1 in the first to third embodiments.
  • Identifiers last1 to last3 indicate acquisition failure of the seventh XOR calculation result to the ninth XOR calculation result via the communication units 60-1 to 60-3.
  • the failure of the identifier “lost1” is an identifier added in the fourth embodiment.
  • the reason why the identifier “lost1” is added is that the fault tolerant system 400 in the fourth embodiment needs to acquire the fourth calculation result from the calculation device 40-1 in order for the failure diagnosis device 41 to diagnose the failure. Because.
  • the identifiers voter1 to voter3 indicate that the result of the XOR operation for each combination of the fourth output signal to the sixth output signal in the polynomial circuit 65 is invalid.
  • Identifiers diff1 to diff3 indicate failures in the unupdated circuits 66-1 to 66-3.
  • FIGS. 31 to 35 are table structure diagrams showing an example of the table structure of the failure factor classification table according to the fourth embodiment of the present invention.
  • the failure diagnosis value is “010000”, for example. 8-12
  • one factor failure is (1) one of voter2, two factor simultaneous failures are (1) a combination of cpu1 and voter1, (2) a combination of cpu3 and voter3, and (3) time3 and There are four combinations of three combinations of voter3.
  • the combination of time1 and voter1 increases as two-factor simultaneous failures, and it is diagnosed that there are a total of five possible failures.
  • the diagnosis is different even in the case of the failure diagnosis value “110100”.
  • the failure diagnosis value “110100” there is no one-factor failure, and two-factor simultaneous failures include (1) a combination of cpu1 and time0, (2) a combination of cpu1 and time1, and (3) a combination of cpu1 and diff1.
  • FIGS. 31 to 35 there is an increase in the case of the identifier “lost1” which was not found in the first to third embodiments as a one-factor failure, and it is diagnosed that there are a total of four possible failures.
  • failure factor diagnosis table is different as described above, in the fault tolerant system 400 as shown in FIGS. 31 to 35, it is possible to determine whether or not the output signal is not updated by the unupdate determination unit 66. Thus, it is possible to obtain an effect of improving the diagnosis accuracy of the failure factor and realizing a recovery process suitable for the failure factor.
  • the selection unit 68 selects an output signal to be output according to the selection output signal diagnosed by the failure diagnosis unit 67, acquires it from the recording unit 64, and sets the switch unit 60-4 and the output signal transmission path 13. Output to the outside.
  • the failure factor diagnosis device that performs failure diagnosis is provided separately from the calculation device, thereby simplifying the structure of the calculation device that is likely to cause a failure. Therefore, it is possible to obtain an effect that the manufacturing cost of the arithmetic device can be suppressed.

Abstract

ノードからノード情報を取得する3つ以上の演算装置(10)を備え、各演算装置(10)は、出力信号を生成する出力信号生成部(231)と、各演算装置が生成した出力信号を比較し、多数決信号を出力する多数決回路(26)と、各演算装置(10)間で共有されるタイムコードを提供するタイムコード提供部(22)と、自装置が生成した出力信号とタイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部(232)と、自装置以外の演算装置(10)が出力した演算結果を繰り返し受信する通信部(21)と、受信した演算結果の値が前回に受信した演算結果の値と同じである場合に、自装置以外の演算装置(10)の出力信号が未更新であると判定し、第1の未更新信号を出力する第1の未更新判定部(27)と、多数決信号と第1の未更新信号とに基づいて、3つ以上の演算装置(10)の故障を診断する故障診断部(28)と、を備える。

Description

フォールトトレラントシステム
 本発明は3つ以上の演算装置を備えたフォールトトレンラントシステムに関するものである。
 人工衛星などの高い信頼性と継続性が要求される機器において、故障検知、分離及び再構成機能(FDIR:Fault Detection, Isolation and Recovery)が求められている。FDIR機能を実現する手法として3台の演算装置からの演算結果を比較し多数決信号を出力する3重多数決回路を備えたフォールトトレラントシステムが一般的に用いられている。
 このようなフォールトトレラントシステムとして、3重多数決回路内に2台の演算装置にて故障が発生した場合は予め決められた値を出力するエラー判別回路を備えることで1台の演算装置での故障と2台の演算装置での故障とを判別し、2台の演算装置で故障が発生した場合も誤った出力がされることを防止し、装置が誤動作することを防ぐことのできるシステムが提案されている(特許文献1)。
特開平6-342381号公報
 特許文献1の技術において、3重多数決回路は、各演算装置からの出力信号のみで故障の判別を行っている。そのため、故障要因の診断精度は低く、故障要因に適した復旧処理を細かく切り替えることができないという問題があった。
 本発明は前記のような問題点を解決するためになされたもので、故障要因の診断精度を向上し、故障要因に適した復旧処理を実現することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明のフォールトトレラントシステムは、ノードからノード情報を取得する3つ以上の演算装置を備え、各演算装置は、ノード情報から出力信号を生成する出力信号生成部と、各演算装置が生成した出力信号を比較し、多数決信号を出力する多数決回路と、各演算装置間で共有されるタイムコードを提供するタイムコード提供部と、自装置が生成した出力信号とタイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部と、自装置以外の演算装置が出力した演算結果を繰り返し受信する通信部と、受信した演算結果の値が前回に受信した演算結果の値と同じである場合に、自装置以外の演算装置の出力信号が未更新であると判定し、第1の未更新信号を出力する第1の未更新判定部と、多数決信号と第1の未更新信号とに基づいて、前記3つ以上の演算装置の故障を診断する故障診断部と、を備えるものである。
 また、本発明のフォールトトレラントシステムは、ノードからノード情報を取得する3つ以上の演算装置を備え、各演算装置は、ノード情報から生成された出力信号を基づいてCRCデータを生成するCRCデータ生成部と、各演算装置にて生成されたCRCデータを比較し、多数決信号を出力する多数決回路と、各演算装置間で共有されるタイムコードを提供するタイムコード提供部と、自装置にて生成されたCRCデータとタイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部と、自装置以外の演算装置が出力した演算結果を繰り返し受信する通信部と、受信した演算結果の値が前回に受信した演算結果の値と同じである場合に、自装置以外の演算装置の出力信号が未更新であると判定し、第1の未更新信号を出力する第1の未更新判定部と、多数決信号と第1の未更新信号とに基づいて、3つ以上の演算装置の故障を診断する故障診断部と、を備えるフォールトトレラントシステム。
 また、本発明のフォールトトレラントシステムは、ノードからノード情報を取得する3つ以上の演算装置と、3つ以上の演算装置の故障を診断する故障診断装置と、を備え、各演算装置は、ノード情報から出力信号を生成する出力信号生成部と、各演算装置にて共有されるタイムコードを提供するタイムコード提供部と、自装置が生成した出力信号とタイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部と、を備え、故障診断装置は、各演算装置が生成した出力信号を比較し、多数決信号を出力する多数決回路と、各演算装置が出力した演算結果を繰り返し受信する通信部と、受信した演算結果の値が前回に受信した演算結果の値と同じである場合に、当該演算結果を出力した演算装置の出力信号が未更新であると判定し、未更新信号を出力する未更新判定部と、多数決信号と未更新信号とに基づいて、前記3つ以上の演算装置の故障を診断する故障診断部と、を備えるものである。
 本発明にかかるフォールトトレラントシステムによれば、故障要因の診断精度を向上し、故障要因に適した復旧処理を実現することができる。
本発明の実施の形態1におけるフォールトトレラントシステムのシステム構成の一例を示す構成図である。 本発明の実施の形態1における演算装置の装置構成の一例を示す構成図である。 本発明の実施の形態1における演算装置の通信タイミングの一例を示す説明図である。 本発明の実施の形態1におけるXOR演算部におけるXOR演算の一例を示す説明図である。 本発明の実施の形態1における記録部のデータ構成の一例を示すデータ構成図である。 本発明の実施の形態1における多数決回路の構成の一例を示す構成図である。 本発明の実施の形態1における故障診断値のデータ構造の一例を示すデータ構造図である。 本発明の実施の形態1における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態1における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態1における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態1における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態1における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態1における故障要因を識別するための識別子と、その識別子に対応する故障要因の説明が記載された図である。 本発明の実施の形態1におけるマスターとして動作する演算装置の処理シーケンスの一例を示すフローチャートである。 本発明の実施の形態1におけるフォールトトレンラントシステムの通信タイミングの一例を示す説明図である。 本発明の実施の形態2におけるXOR演算部におけるXOR演算の一例を示す説明図である。 本発明の実施の形態2における多数決回路の構成図の一例を示す構成図である。 本発明の実施の形態3における演算装置の装置構成の一例を示す構成図である。 本発明の実施の形態3における通信データの一例を示すデータ構造図である。 本発明の実施の形態3における記録部のデータ構成の一例を示すデータ構成図である。 本発明の実施の形態3における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態3における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態3における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態3における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態3における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態4におけるフォールトトレラントシステムのシステム構成の一例を示す構成図である。 本発明の実施の形態4における演算装置の装置構成の一例を示す構成図である。 本発明の実施の形態4における故障診断装置の装置構成の一例を示す構成図である。 本発明の実施の形態4における記録部のデータ構成の一例を示すデータ構成図である。 本発明の実施の形態4における故障要因を識別するための識別子と、その識別子に対応する故障要因の説明が記載された図である。 本発明の実施の形態4における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態4における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態4における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態4における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。 本発明の実施の形態4における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。
 以下に、本発明にかかる演算装置の実施の形態を図面に基づいて詳細に説明する。以下で参照する図面においては、同一もしくは相当する部分に同一の符号を付している。なお、この実施の形態によりこの発明が限定されるものではない。
 実施の形態1.
 図1は、本発明の実施の形態1に係るフォールトトレラントシステム100のシステム構成の一例を示す構成図である。フォールトトレラントシステム100は、3台の演算装置10-1~10-3、周辺装置であるN台のノード(Node)11-1~11-N、演算装置通信伝送路12、出力信号伝送路13、および入出力ネットワーク14を備える。なお、説明のため演算装置を3台としているがこれに限定されず、任意に設定できる。
 演算装置10-1~10-3は同一の構造を有し、いずれか1つがマスターとして動作し、残りの演算装置をスレーブとして制御する。なお、以降においては、演算装置10-1をマスターとして動作するフォールトトレンラントシステム100として説明する。
 演算装置10-1~10-3は、CPU(Central Processing Unit)やシステムLSI(Large Scale Integration)など演算を実行する装置であり、演算装置通信伝送路12を介して相互に接続されており、演算結果や装置状態などお互いの情報を交換することができる。そして、マスターである演算装置10-1は、入出力ネットワーク14を介してノード11から取得したノード情報を基に生成された出力信号を、出力信号伝送路13を介して外部へ出力する。ここで、出力信号はアクチュエータの駆動信号など装置の制御信号に相当する。なお、演算装置10-1~10-3の具体的な動作は後述する。
 ノード11-1~11-Nは、ネットワークの接合点、中継点、分岐点等を示し、特にサーバ、コンピュータや通信機器などの通信の主体となる個々の機器である。
 演算装置通信伝送路12および出力信号伝送路13は、情報を相互に送受信できる伝送路であり、同軸ケーブルや光ケーブルなどの有線伝送路でもよいし、Wi-Fi(登録商標)やBluetooth(登録商標)などの無線伝送路でもよい。
 入出力ネットワーク14は、情報を相互に送受信できる伝送路から構成されており、同軸ケーブルや光ケーブルなどの有線伝送路でもよいし、Wi-Fi(登録商標)やBluetooth(登録商標)などの無線伝送路でもよい。
 次に、演算装置10-1の構成について図2を用いて説明する。図2は、本発明の実施の形態1における演算装置の装置構成の一例を示す構成図である。ここでは、演算装置10-1について説明するが、演算装置10-2および10-3についても同様の構成であるため説明は省略する。演算装置10-1は、スイッチ部20-1~20-4、通信部21-1~21-3、タイムコード提供部22、処理部23、記録部24、XOR復元部25、多数決回路26、未更新判定部27-1~27-3、および故障診断部28を備える。なお、図面において実線矢印は情報の流れ、点線矢印は制御命令の流れを示している。
 スイッチ部20-1~20-4は、外部との通信接続を維持する、または遮断する実行部である。スイッチ部20-1はノード11-1~11-Nとの接続を、スイッチ部20-2は演算装置10-2との接続を、スイッチ部20-3は演算装置10-3との接続を、そしてスイッチ部20-4は出力信号伝送路14との接続を構成している。スイッチ部20-1~20-4が本発明の遮断部に該当する。
 通信部21-1~21-3は、後述する処理部23から送信される通信制御命令に従い、それぞれスイッチ部20-1~20-3を制御しノード11、演算装置10-2および10-3との情報の送受信を制御する。
 タイムコード提供部22は、演算装置の処理タイミングを示す時間情報であるタイムコードを提供する。タイムコード提供部22は、水晶発振器とカウンタを組み合わせてタイムコードを生成する構成、演算装置の外部からクロック専用線を介して入力されるクロックをカウントし、タイムコードを生成する構成、または外部から有線あるいは無線ネットワークを介して通知された時刻に基づいてタイムコードを生成する構成とすることができる。また、内部の時間情報に基づいてタイムコードを生成する構成でも、外部から取得した時間情報に基づいてタイムコードを生成する構成でもよい。
 処理部23は、タイムコード提供部22から取得したタイムコードに応じて通信部21-1~21-3へ通信制御命令を送信する。また、処理部23は、出力信号生成部231とXOR演算部232を備える。
 出力信号生成部231は、通信部21-1を介してノード11から取得したノード情報を基に演算を実行し、出力信号を生成する。なお、以降においては、演算装置10-1の出力信号生成部231が生成した出力信号を第1の出力信号とする。また、演算装置10-2にて生成された出力信号を第2の出力信号と、演算装置10-3にて生成された出力信号を第3の出力信号とする。
 XOR演算部232は、第1の出力信号と、タイムコード提供部22から取得したタイムコードを変換したビットパターンとの排他的論理和(XOR:eXclusive OR、以後XOR演算)を実行し、XOR演算結果を出力する。XOR演算部232が本発明の演算部に該当する。なお、以降においては、演算装置10-1のXOR演算部232が出力したXOR演算結果を第1のXOR演算結果とする。また、演算装置10-2が出力したXOR演算結果を第2のXOR演算結果と、演算装置10-3が出力したXOR演算結果を第3のXOR演算結果とする。
 なお、処理部23は演算装置10-1がスレーブとして動作する場合は、マスターとして動作する演算装置10-2または10-3に対応する通信部21-2または21-3に、出力した第1のXOR演算結果を送信するよう通信制御命令を送信する。
 次に、タイムコードと演算装置10-1~10-3の処理の関係を、図3を用いて説明する。図3は、本発明の実施の形態1における演算装置の通信タイミングの一例を示す説明図である。なお、説明のため演算装置を3台、ノードを4台の例としているが、これに限定されず接続する台数は自由に設定できる。また、図面において演算装置10-1~10-3が、ノード情報110-1~110-4、ノード情報をまとめた情報111-1と111-2、および第2のXOR演算結果112と第3のXOR演算結果113とを通信する例を説明する。
 まず、図3は、マスターとして動作する演算装置10-1が各ノードからノード情報110-1~110-4を取得し、取得したノード情報をまとめた情報111-1、111-2をそれぞれスレーブとして動作する演算装置10-2および10-3に転送する例である。
 情報の送受信の処理は、スロットと呼ばれる時間単位にて実行され、各スロットには、タイムコードが付けられている。図3に示す例では、演算装置10-1の処理部23が、取得したタイムコードの値が1~6のいずれであるかを判定し、対応する処理を実行する。タイムコード1~4のスロットにおいて、演算装置10-1の処理部23は、ノード11-1~11-4よりノード情報110-1~110-4を取得する。次に、タイムコード5のスロットにおいて、演算装置10-1の処理部23は、取得したノード情報をまとめた情報111-1をスレーブとして動作する演算装置10-2に、ノード情報をまとめた情報111-2をスレーブとして動作する演算装置10-3に転送する。そして、タイムコード6のスロットにおいて、演算装置10-1の処理部23は、演算装置10-2が出力した第2のXOR演算結果112と演算装置10-3が出力した第3のXOR演算結果113を取得する。
 演算装置10-1の処理部23は、タイムコード1~6を繰り返し周期としてタイムコード7以降も繰り返す。具体的には、タイムコードを6で割った余りから対応するタイムコードを求め、上述のタイムコードの判定を行う。演算装置10-1の処理部23は、余りが1~4である場合はタイムコードが1~4に対応と判定し、余りが5である場合はタイムコードが5に対応と判定し、余りが0である場合はタイムコードが6に対応すると判定し、処理を実行する。また、以降においては、演算装置10-1~10-3は、図3の通信タイミングにて動作しているとして説明する。
 また、タイムコードは通信のタイミングだけでなく、出力信号生成部231とXOR演算部232における処理のタイミングにも用いられる。出力信号生成部231は、タイムコード6のスロットにおいて第1の出力信号を生成する。また、XOR演算部232は、タイムコード6のスロットにおいて第1のXOR演算結果を出力する。ここで、同じくタイムコード6のスロットにおいて、演算装置10-2と10-3がそれぞれ第2のXOR演算結果と第3のXOR演算結果を出力する。
 図4は、本発明の実施の形態1におけるXOR演算部におけるXOR演算の一例を示す説明図である。図4においてビットパターンはタイムコードをバイナリ変換したものであり、第1の出力信号とビットパターンとのXOR演算の結果が第1のXOR演算結果である。ここで、タイムコードが6、12、18と飛び飛びの値をとっているのは、処理部におけるXOR演算処理がタイムコード6、12、18のスロットにて実行されるためである。なお、ここでビットパターンとしてタイムコードをバイナリ変換したものを用いているが、これに限定されず、グレイコードなど他の変換を任意に用いることができる。
 上述のXOR演算において、タイムコードの値が時間経過とともに変化していくため、第1のXOR演算結果は、第1の出力信号が同じ値であったとしてもXOR演算は異なる値とすることができる。
 なお、第1のXOR演算結果は、演算装置10-1がマスターとして動作している場合は特に記録するなどの必要性はないが、スレーブとして動作している場合は、マスターとして動作している演算装置10-2または10-3に送信することになる。また、演算装置10-2および10-3においても同様のXOR演算が実行される。
 図2に戻って、記録部24は、ノード情報などの各種データを記録するメモリである。図5は、本発明の実施の形態1における記録部のデータ構成の一例を示すデータ構成図である。図5に示すように、記録部24は、通信部22-1を介してノード11から取得したノード情報、処理部23が生成した第1の出力信号と第1のXOR演算結果、および通信部22-2、22-3を介して演算装置10-2、10-3からそれぞれ取得した第2のXOR演算結果および第3のXOR演算結果を記録している。
 図2に戻って、XOR復元部25は、記録部24から取得した第2のXOR演算結果および第3のXOR演算結果それぞれとタイムコードを変換したビットパターンとのXOR演算を実行し、演算装置10-2と10-3が生成する第2の出力信号および第3の出力信号を復元し、多数決回路26に出力する。
 多数決回路26には、第1の出力信号とXOR復元部25により復元された第2の出力信号および第3の出力信号とが入力される。多数決回路26は、第1の出力信号と第2の出力信号、第1の出力信号と第3の出力信号、第2の出力信号と第3の出力信号の組み合わせについてXOR演算を行い、XOR演算結果の多数決を取る論理回路である。
 ここで、図6を用いて多数決回路26の構成の一例を説明する。図6は、本発明の実施の形態1における多数決回路の構成の一例を示す構成図である。多数決回路26は、XOR演算素子251~253を備える。XOR論理素子251~253は、XOR演算を実行する論理素子である。XOR演算素子251は、第1の出力信号の各ビットと第2の出力信号の各ビットとのXOR演算の結果に対して各ビットの論理和(以後OR)を取る。また、XOR演算素子252は第1の出力信号と第3の出力信号に対して、XOR演算結果253は第2の出力信号と第3の出力信号に対して、XOR演算素子252と同様の演算を実行する。その結果、XOR論理素子251~253は、入力された出力信号が同じ場合は0を、異なる場合は1を多数決信号として故障診断部28へ出力する。
 図2に戻って、未更新判定部27-1は、タイムコード提供部22から取得したタイムコードに基づいて、演算装置10-1にて生成された第1の出力信号が未更新であるか否かを判定する。具体的には、内部にタイマーを備えており、この内部タイマーによりタイムコードが入力される時間間隔を測定する。そして、未更新判定部27-1は、タイムコードが入力される時間間隔に関する情報を保持しており、その値と測定結果が同じ場合は、出力信号として0を、異なる場合は、出力信号として1を出力する。測定結果と保持している時間間隔とが異なる場合の出力信号1が、未更新であると判定したことを示し、本発明の第2の未更新信号に該当する。また、未更新判定部27-1が、本発明の第2の未更新判定部に該当する。
 なお、ここでは、未更新判定部27-1が内部にタイマーを備える構成について説明したが、これに限らずタイムコード提供部22とは異なる経路にて時間に関する情報を取得できればよく、演算装置の外部からクロック専用線を介して入力されるクロックをカウントし、時間間隔を測定する構成、外部から有線あるいは無線ネットワークを介して通知された時刻情報に基づいて時間間隔を測定する構成であってもよい。
 未更新判定部27-2および27-3は、それぞれ記録部24に記録された第2のXOR演算結果、第3のXOR演算結果から第2の出力信号、第3の出力信号が未更新であるか否かを判定する。具体的には、未更新判定部27-2、27-3は、それぞれ第2のXOR演算結果、第3のXOR演算結果が、タイムコードの周期が一周期前である前回、つまりタイムコードが6前における第2のXOR演算結果、第3のXOR演算結果の値と同じであるか否かを判定し、同じ場合は、出力信号として1を、異なる場合は、出力信号として0を故障診断部28に出力する。XOR演算結果が同じ場合の出力信号1が、出力信号が未更新であることを示し、本発明の第1の未更新信号に該当する。また、未更新判定部27-2および27-3が、本発明の第1の未更新判定部に該当する。
 ここで、XOR演算結果は、時間の経過とともに変化するタイムコードを変換したビットパターンとのXOR演算の結果であるため、出力信号の値が前回の出力信号の値と同じであってもXOR演算の値は異なる値となり、XOR演算の値を前回の値と比較することで、適切に未更新であるか否かを判定できる。
 故障診断部28は、多数決回路26からの多数決信号と、未更新判定部27-1からの第2の未更新信号と、未更新判定部27-2および27-3それぞれからの第1の未更新信号とから故障要因を診断し、診断した故障要因に応じた復旧処理に従い制御命令をスイッチ部20-4、通信部21-1~21-3、処理部23に送信する。
 具体的には、故障診断部28は、多数決回路26からの多数決信号と、未更新判定部27-1からの第2の未更新信号と、未更新判定部27-2および27-3それぞれからの第1の未更新信号を合成した故障診断値を生成する。次に、故障診断部28は、故障診断値と故障が発生した場合の要因を示す故障要因診断結果、および故障に対する復旧処理との対応関係を示す故障要因分類テーブルを参照し、生成した故障診断値に対応する故障診断結果、復旧処理を診断する。
 まず、故障診断値について図7を用いて説明する。図7は、本発明の実施の形態1における故障診断値のデータ構造の一例を示すデータ構造図である。図7に示される故障診断値は、多数決信号である前半3個の信号260と、未更新信号である後半3個の信号270との合計6個の信号を組み合わせたものである。
 信号260は、信号261~263から構成される。信号261は、多数決回路26における第1の出力信号と第2の出力信号との多数決信号である。信号262は、多数決回路26における第1の出力信号と第3の出力信号との多数決信号である。信号263は、多数決26における第2の出力信号と第3の出力信号との多数決信号である。
 信号270は、信号271~273から構成される。信号271~273、それぞれ未更新検出回路27-1~27-3からの出力信号である。ここで、信号271において値が1の場合が本発明の第2の未更新信号に、信号272および273それぞれにおいて値が1の場合が本発明の第1の未更新信号に該当する。
 次に、故障診断部28が故障を診断する時に参照する故障要因分類テーブルについて図8~12を用いて説明する。図8~12は、本発明の実施の形態1における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。故障要因分類テーブルは、故障診断値、故障要因診断結果、および復旧処理の対応関係テーブルである。
 故障診断値は、上述したように多数決信号と第1の未更新信号と第2の未更新信号とを合成した値である。故障要因診断結果は、1因子故障または2因子同時故障を考慮した場合の故障要因として可能性のある組み合わせの結果である。また、図面において黒色丸印(●)にて示された故障要因は、演算装置10-1~10-3のうち2台の演算装置が故障要因を有しており、その故障要因を有する2台の演算装置が生成した出力信号の値および出力したXOR演算結果の値が誤った値で、かつ、同じ値である場合を示している。つまり、2台の演算装置が故障しており、その故障している演算装置が同じ誤った出力信号を生成し、XOR演算結果を出力している場合を示している。
 なお、故障要因として2因子同時故障までの考慮としているのは、3因子同時故障が発生する可能性が低いため、故障診断部28での診断を必ず3因子故障であると診断できる場合を除いて、発生する可能性のある1因子故障または2因子同時故障に注力することで、不要なシステム停止、復旧処理を回避するためである。しかし、より安全のため3因子同時故障を考慮した故障要因分類テーブルを作成し参照するとしてもよい。
 故障要因診断結果における各識別子について図13を用いて説明する。図13は、本発明の実施の形態1における故障要因を識別するための識別子と、その識別子に対応する故障要因の説明が記載された図である。ここで、各識別子は、演算装置10-1がマスターとして動作している場合の演算装置10-1~10-3それぞれを構成する構成部品の故障要因を示している。
 識別子cpu1~cpu3は、それぞれ演算装置10-1~10-3の出力信号不正を示しており、出力される出力信号値が誤った値である場合を示している。
 識別子time0は、グローバルクロックの停止等により演算装置10-1~10-3の全てのタイムコード提供部22の故障を示している。また、識別子time1~time3は、それぞれ演算装置10-1~10-3のタイムコード提供部22の故障を示している。
 ここで、識別子time0の場合は演算装置10-1~10-3の全てにおいて故障が発生しているため、復旧処理は全ての演算装置10-1~10-3に対して実行する必要がある。
 また、識別子time2、time3の故障は、それぞれ演算装置10-2、10-3のタイムコード提供部22におけるタイムコード提供の遅延または停止であり、演算装置10-2、10-3それぞれが生成する第2の出力信号、第3の出力信号の値、および出力する第2のXOR演算結果、第3のXOR演算結果の値が誤った値となる。しかし、未更新判定部27-2、27-3が、未更新信号を出力する場合は含まないとする。つまり、XOR演算結果が取得できない場合、取得されたXOR演算結果が未更新である場合は含まないとする。なお、未更新判定部27-2が未更新信号を出力する場合は、後述する識別子lost2とdiff2とに、未更新判定部27-3が未更新信号を出力する場合は、後述する識別子lost3とdiff3とに含まれている。
 識別子time1の故障は、演算装置10-1のタイムコード提供部22におけるタイムコード提供の遅延または停止である。ここで、未更新判定部27-1がタイムコードに基づいて未更新であるか否かを判定するため、識別子time1の故障は、演算装置10-1が生成する第1の出力信号と、出力する第1のXOR演算結果の値が誤った値となることに加え、未更新検出回路27-1が未更新信号を出力する故障である。
 識別子lost2、lost3は、それぞれ通信部21-2、21-3を介しての第2のXOR演算結果、第3のXOR演算結果の取得失敗を示している。なお、識別子lost2、lost3の故障に対応するため、多数決回路26、および未更新判定部27-2と27-3に入力される信号は、記録部24に記録されているデータを用いることとする。このようにすることで、XOR演算結果の取得に失敗した場合も記録部24に記録された前回のXOR演算結果の値を用いることができ、多数決回路26が多数決信号を、未更新判定部27-2と27-3が出力信号を必ず出力し、故障診断部28にて適切に故障を診断できる。
 識別子voter1~voter3は、多項式回路26における第1の出力信号~第3の出力信号の各組み合わせに対するXOR演算の演算結果の不正を示している。
 識別子diff1~diff3は未更新判定部27-1~27-3の故障を示している。
 図8~12に戻って、復旧処理は、故障要因診断結果に対する復旧処理であり、マスターとして動作する演算装置の変更、フォールトトレラントシステムの停止、および通信部21-2~21-4を介した通信の遮断が含まれている。なお、復旧処理にマスターとして動作する演算装置を変更する対象として演算装置10-2または10-3のどちらも可能である場合に演算装置10-2または10-3をマスターに変更と記載しているが、これは状況の説明のためであり、実際に動作させる場合はいずれか一方を選択する。
 次に、故障診断部28における故障診断の一例を、図8~12を用いて説明する。例えば、故障診断値が“000000”である場合、故障診断部28は、故障無しと診断する。
 例えば、故障診断値が“010000”である場合、故障診断部28は1因子故障としては(1)voter2の1通りと、2因子同時故障としては(1)cpu1とvoter1の組み合わせ、(2)cpu3とvoter3の組み合わせ、そして(3)time3とvoter3の組み合わせの3通りの合計4通りの可能性があると診断する。
 診断結果より、演算装置10-1の故障と演算装置10-3に故障の可能性があるため、復旧処理としては、故障の可能性のない演算装置10-2をマスターに変更する復旧処理が実行される。具体的には、故障診断部28が、通信部21-2を介して演算装置10-2にマスター変更要求を送信し、演算装置10-2はマスター変更指示を受け取ると次の繰り返し周期のスロットからマスターとして動作する。また、診断結果に故障要因cpu1が有ることから、演算装置10-1の処理部23が故障している可能性があるため、故障診断部28は、通信部21-2にスイッチ部20-2を制御し演算装置10-2との通信を遮断する遮断指示を、通信部21-3にスイッチ部20-3を制御し演算装置10-3との通信を遮断する遮断指示を送信し、演算装置10-2および10-3との通信を遮断する。さらに、演算装置10-1の処理部23が故障している可能性があることから、第1の出力信号が不正である可能性があるため、スイッチ部20-4に通信を遮断する遮断指示を送信し、第1の出力信号1が外部に出力されることを防止する。
 なお、演算装置10-1からマスター変更要求を送信することで演算装置10-2をマスターに変更する方法にて説明しているが、これに限定されず、例えば、通信装置10-2が、演算装置10-1との通信が遮断されたことを検知した時に、マスターとして動作するとしてもよい。具体的には、演算装置10-1の通信部21-2から演算装置10-2へ常に無効データを送信しており、演算装置10-1の故障時に通信部21-2が、スイッチ部20-2を切断し、無効データの送信を停止する。この時、演算装置10-2において演算装置10-1との情報の送受信を制御する演算装置10-2の通信部21-2が、演算装置10-1からのデータ送信が停止したことを検知し、演算装置10-2の処理部23に通知する。演算装置10-2の処理部23は、演算装置10-1が故障したと判断して次の繰り返し周期からマスターとして動作するとのマスター変更方法でもよい。
 次に、例えば故障要因診断値が“011110”である場合、故障診断部28は1因子故障の場合は無し、2因子同時故障としては(1)cpu1とcpu2、および黒色丸印の組み合わせ、の合計1通りの可能性があると診断する。ここでcpu1とcpu2の故障は、演算装置10-1と演算装置10-2が故障していることを示しており、黒色丸印は、故障した演算装置10-1と演算装置10-2から生成される第1の出力信号と第2の出力信号、および出力される第1のXOR演算結果と第2のXOR演算結果が同じ値であることを示している。
 ここで、演算装置10-1と演算装置10-2の処理部23が同時に故障している可能性があるため、復旧処理としてはフォールトトレラントシステム100を停止し、スイッチ部20-2と20-3を切断することで演算装置10-2と10-3との通信を遮断し、スイッチ部20-4を切断することで外部との通信を遮断する。
 次に、実施形態1における演算装置10-1の処理シーケンスを、図14を用いて説明する。図14は、本発明の実施の形態1におけるフォールトトレンラントシステムの処理シーケンスの一例を示すフローチャートである。まず、処理部23が、タイムコード提供部22からタイムコードTを取得する(ステップS101)。
 次に、処理部23が、取得したタイムコードTが、T=1~6のいずれに該当するか判定する(ステップS102)。
 図3より、タイムコードTが1~4である場合、タイムコード1~4のスロットであるため、処理部23が、通信部21-1を介して対応するノード11-1~11-4からノード情報を取得し、記録部へ書き込む(ステップS103)。
 図3より、タイムコードTが5である場合、タイムコード5のスロットであるため、処理部23が、ノード情報をまとめた情報を、通信部21-2を介して演算装置10-2へ、通信部21-3を介して演算装置10-3へ送信する(ステップS104)。
 図3より、タイムコードTが6である場合、タイムコード6のスロットであるため、処理部23が、通信部21-2を介して第2のXOR演算結果を、21-3を介して第3のXOR演算結果を取得し、記録部へ書き込む(ステップS105)。
 なお、処理部23が取得したタイムコードTが7より大きい場合、繰り返し周期が6であることから、タイムコードTを6で割った余りに基づいて、ステップS102の判定を行う。具体的には、余りが1~4である場合はタイムコードTが1~4と、余りが5である場合はタイムコードTが5と、余りが0である場合はタイムコードTが6と判定する。
 ステップS103およびS104の処理後は、ステップS101に戻る。ステップS105の処理後は、ステップS106に移行する。
 ステップS106では、出力信号生成部231は、記録部24より取得したノード情報を基に演算を行い、第1の出力信号を生成し、生成した第1の出力信号を記録部24に書き込む。
 ステップS107では、XOR復元部25は、取得した第2のXOR演算結果および第3のXOR演算結果と、タイムコードTの値6を変換したビットパターンとのXOR演算を実行し、第2の出力信号および第3の出力信号を復元する。
 ステップS108では、多数決回路26が、第1の出力信号と、復元された第2の出力信号および第3の出力信号を入力され、多数決信号を故障診断部28に出力する。
 次に、ステップS109では、未更新判定部27-1~27-3がそれぞれ第1の出力信号~第3の出力信号が未更新であるか否かを判定し、出力信号を故障診断部28に出力する。なお、未更新判定部27-1~27-3が未更新であると判定した場合に出力される出力信号が、未更新信号である。
 ステップS110では、故障診断部28が、入力された多数決出力信号と未更新信号に基づいて故障を診断する。
 次に、ステップS111では、故障診断部28が、ステップS110で診断された故障の有無によって移行するステップを判定する。ここで、故障無しと診断された場合は、故障診断部28が、スイッチ部20-4を制御し、出力信号伝送路13を介して第1の出力信号を外部に出力し(ステップS112)、ステップS101に戻り処理を継続する。また、故障有りと診断された場合は、故障診断部28が、ステップS110で判別された故障要因に対応する復旧処理の制御命令を通信制御部21-2、21-3、および処理部23に送信し(ステップS113)、処理を終了する。
 以上のように、実施の形態1のフォールトトレラントシステム100によれば、多数決回路において出力信号の値を比較した結果である多数決信号だけでなく、未更新検出回路において出力信号と時間情報であるタイムコードを変換したビットパターンとのXOR演算結果に基づいて出力信号が前回の出力信号から未更新であると判定した場合に出力される未更新信号に基づいて故障を診断することで、従来よりも多くの情報に基づいて故障を診断することができ、故障要因の診断精度の向上と、その故障要因に適した復旧処理の実現をできるという効果を得ることができる。
 また、故障診断部が、多数決信号と未更新信号を合成した故障診断値と、故障要因診断結果と、復旧処理との対応関係テーブルである故障要因分類テーブルを参照し、故障を診断することで、細かく分類された故障要因に基づいて故障を診断することができ、故障要因の診断精度の向上と、その故障要因に適した復旧処理の実現をできるという効果を得ることができる。
 さらに、未更新判定部が、時間とともに値の変化するタイムコードを変換したビットパターンと出力信号とのXOR演算の結果であるXOR演算結果に基づいて未更新であるか否かを判定することで、出力信号として前回の出力信号と同じ値を出力された場合であっても未更新であることを適切に判定できるという効果も得ることができる。
 さらに、故障診断部が自装置に故障があることを診断した場合に、外部との通信を遮断することで、誤った出力信号が外部へ出力されることを防止できるという効果も得ることができる。
 さらに、故障診断部が自装置以外の演算装置に故障があることを診断した場合に、該当する演算装置との通信を遮断することで、故障した演算部からの情報により誤った処理を行うことを防止できるという効果も得ることができる。
 なお、実施の形態1におけるフォールトトレンラントシステム100の通信タイミングとして図3に示すタイミングにて説明したが、これに限らず他のタイミングにて通信を行ってもよい。他の通信タイミングの例を、図15を用いて説明する。図15は、本発明の実施の形態1におけるフォールトトレラントシステムの通信タイミングの一例を示す説明図である。
 図15は、図3に示す例とは異なり、各演算装置が同じタイミングにてそれぞれ個別に各ノードからノード情報を取得する例である。演算装置10-1~10-3はタイムコード1~4のスロットにおいて同じタイミングにてノード11-1~11-4よりノード情報110-1~110-4を取得する。次に、演算装置10-1は、タイムコード5のスロットにて第2のXOR演算結果112および第3のXOR演算結果113を取得する。また、演算装置10-1は、タイムコード1~5を繰り返し周期としてタイムコード6以降も繰り返す。
 また、タイムコードは通信のタイミングだけでなく、出力信号生成部231とXOR演算部232における処理のタイミングにも用いられる。出力信号生成部231は、タイムコード5のスロットにおいて第1の出力信号を生成する。さらに、XOR演算部232は、タイムコード5のスロットにおいて第1のXOR演算結果を生成する。ここで、同じくタイムコード5のスロットにおいて、演算装置10-2と10-3にてそれぞれ第2のXOR演算結果232-2と第3のXOR演算結果232-3が生成される。
 なお、通信タイミングの他の例として、図3に示した通信タイミングおいて演算装置10-1から演算装置10-2と10-3へのノード情報の転送を2回に分けるなど、通信回数や順番を入れ替えてもよい。
 なお、図2の演算装置10-1の構成図では多数決回路26に入力する信号をXOR復元部25にて出力信号に復元する構成が記載されているが、これに限らずXOR演算部232にて復号し、多数決回路26に入力するとしてもよい。この場合は、XOR復号部25を不要とすることができる。
 実施の形態2.
 実施の形態1においてフォールトトレラントシステム100は、出力信号と1種類のタイムコードを変換したビットパターンとのXOR演算の結果であるXOR演算結果に基づいて、未更新判定部が、出力信号が未更新であるか否かを判定する実施の形態について説明した。
 実施の形態2では、タイムコードを変換したビットパターンとしてビット反転の関係にある2種類のビットパターンを有し、出力されるXOR演算結果の値が、常に前回のXOR演算の値とは異なる値となるように演算に用いるビットパターンを選択する実施例について説明する。
 実施の形態2におけるフォールトトレラントシステムのシステム構成、演算装置の装置構成は、実施の形態1と同様であるため、説明は省略する。
 まず、演算装置10-1のXOR演算部232におけるXOR演算について図16を用いて説明する。ここでは、演算装置10-1について説明するが、演算装置10-2および10-3についても同様の構成であるため、説明は省略する。図16は、本発明の実施の形態2におけるXOR演算部におけるXOR演算の一例を示す説明図である。ここで、A系列ビットパターンは実施の形態1と同様にタイムコードをバイナリ変換したビットパターンであり、B系列ビットパターンはA系列ビットパターンとビット反転の関係にあるビットパターンである。通常はA系列ビットパターンを選択しXOR演算を実行するとする。なお、図16において選択されたビットパターンを黒色三角印(▲)にて示している。
 図16においてタイムコードが18の場合、XOR演算部232は、B系列ビットパターンを選択している。ここで、XOR演算部232がA系列ビットパターンを選択すると、第1のXOR演算結果は、“00000101”となり、1周期前の、タイムコードが12の場合のXOR演算結果と同じ値となる。そのため、タイムコードが18の場合は、XOR演算部232は、B系列ビットパターンを選択しXOR演算を実行することで前回のXOR演算結果の値と異なる第1のXOR演算結果を出力する。
 このように、A系列ビットパターンとB系列ビットパターンは、ビット反転であることから必ず異なった値となるため、A系列ビットパターンを選択したXOR演算では前回のXOR演算結果の値と同じXOR演算結果となる場合でもB系列ビットパターンを選択したXOR演算によるXOR演算結果は、必ず前回のXOR演算結果と異なる値となる。
 また、第2のXOR演算結果および第3のXOR演算結果も同様の演算による結果であり、第2のXOR演算結果および第3のXOR演算結果の値も、必ず前回のXOR演算結果の値と異なる値となる。このように、第2のXOR演算結果および第3のXOR演算結果が必ず前回のXOR演算結果の値とは異なる値となるため、未更新判定部27-2および27-3は、より精度高く出力信号が未更新であるか否かを判定できる。
 次に、実施の形態2における多数決回路26について図17を用いて説明する。図17は、本発明の実施の形態2における多数決回路の構成図の一例を示す構成図である。多数決回路26は、XOR論理素子2501~2505と論理積論理素子(以後AND論理素子)2510および2511を備える。
 XOR論理素子2501は、処理部23にて生成された第1の出力信号と、第2のXOR演算結果からXOR復元部25にて復元した第2の出力信号とが入力され、XOR演算を行う論理素子である。
 XOR演算素子2503は、処理部23にて生成された第1の出力信号と、第3のXOR演算結果からXOR復元部25にて復元した第3の出力信号とが入力され、XOR演算を行う論理素子である。
 XOR論理素子2505は、第2のXOR演算結果と第3のXOR演算結果それぞれからXOR復元部25にて復元した第2の出力信号と第3の出力信号が入力され、XOR演算を行う論理素子である。
 XOR論理素子2501、2503、および2505は、入力された出力信号同士の各ビットそれぞれのXOR演算の結果に対して各ビットのORを取る。その結果、XOR論理素子2501、2503、および2505は、入力された出力信号が同じ場合は、出力信号として0を、入力された出力信号が異なる場合は、出力信号として1を出力する。ここで、XOR論理素子2501および2503については出力信号をAND論理素子2510および2511に出力し、XOR論理素子2505については多数決信号として故障診断部28に直接出力する。
 XOR論理素子2502は、処理部23にて生成された第1の出力信号と、第2のXOR演算結果からXOR復元部25にて復元した第2の出力信号をビット反転した信号が入力され、XOR演算を行う論理素子である。
 XOR論理素子2504は、処理部23にて生成された第1の出力信号と、第3のXOR演算結果からXOR復元部25にて復元した第3の出力信号をビット反転した信号が入力され、XOR演算を行う論理素子である。
 XOR論理素子2502および2504では、入力された信号同士の各ビットそれぞれのXOR演算の結果に対して各ビットのORを取る。その結果、XOR論理素子2502および2504は、入力された出力信号が同じ場合は、出力信号として0を、入力された出力信号が異なる場合は、出力信号として1をAND論理素子2510および2511に出力する。
 AND論理素子2510および2511は、それぞれXOR演算素子2501と2502、およびXOR2503と2504からの出力信号が入力され、ANDを取り、その結果、入力信号の少なくとも1つが0であれば、多数決信号として0を、入力信号が全て1であれば、多数決信号として1を故障診断部28に出力する。
 上述の多数決回路26の構成により、XOR復元部25は、XOR演算に用いるビットパターンをA系列ビットパターンまたはB系列ビットパターンのいずれか1種類としたXOR演算にて出力信号を復元できる。これによりXOR復元部25の構成を実施の形態1と同様に簡単な構成とすることができる。
 XOR復元部25におけるXOR演算が、A系列ビットパターンまたはB系列ビットパターンのいずれか1種とのXOR演算とすることができる理由について説明する。ここでは、XOR復元部25におけるXOR演算が、A系列ビットパターンとのXOR演算である場合について説明する。なお、XOR復元部25におけるXOR演算が、B系列ビットパターンとのXOR演算である場合も同様であるため、説明は省略する。
 第2のXOR演算結果と第3のXOR演算結果がA系列ビットパターンとのXOR演算の結果である場合、XOR復元部25にて復元された信号は、第2の出力信号および第3の出力信号と同じ信号となる。一方、第2のXOR演算結果と第3のXOR演算結果がB系列ビットパターンとのXOR演算の結果である場合、XOR復元部25にて復元された信号は、第2の出力信号および第3の出力信号とビット反転の関係にある信号となる。
 上述のようにXOR復元部25にて復元された信号は、第2の出力信号および第3の出力信号と同じ信号またはビット反転の関係にある信号となる。そのため、XOR復元部25にて復元された信号がそのまま入力されるXOR論理素子2501と2503の組、またはXOR復元部25にて復元された信号をビット反転させて入力されるXOR論理素子2502と2504の組のいずれかの組において、出力信号と同じ信号にて第1の出力信号とのXOR演算を実行することができる。
 したがって、第1の出力信号~第3の出力信号の値が全て同じ場合、XOR復元部25にて復元された信号がそのまま入力されるXOR論理素子2501と2503の組、またはビット反転して入力されるXOR論理素子2502と2504の組、のいずれかの組は出力信号として1を出力し、もう一方は出力信号として0を出力する。この出力信号がAND論理素子2510および2511に入力されてAND演算が実行されるため、AND論理素子2510および2511から多数決信号として0が出力される。したがって、第1の出力信号~第3の出力信号の多数決を正しく取ることができる。
 一方、第1の出力信号と第2の出力信号、または第1の出力信号と第3の出力信号の組において、少なくとも1つ組の出力信号の値が異なる場合は、異なる組に対応するXOR論理素子2501と2502、または2503と2504の組の内、少なくとも1つの組において、XOR論理素子からの出力信号として2つとも1が出力される。そのため、AND論理素子2510または2511の内、少なくとも1つから多数決信号として1が出力される。ここで、多数決信号が1であることは、出力信号の値が異なっていることを示している。したがって、第1の出力信号~第3の出力信号の多数決を正しく取ることができる。
 以上がXOR復元部25におけるXOR演算が、A系列ビットパターンまたはB系列ビットパターンのいずれか1種とのXOR演算とすることができる理由である。
 以上のように、実施の形態2のフォールトトレラントシステム100によれば、XOR演算結果の値は、必ず前回のXOR演算結果の値と異なることになり、未更新判定部における出力信号が未更新であるか否かを判定する精度がより向上するという効果を得ることができる。
 なお、XOR復元部25において、XOR演算に用いられるビットパターンが1種類である場合について説明したが、これに限定されずA系列ビットパターンとB系列ビットパターンの2種類から選択することもできる。例えば、第2のXOR演算結果および第3のXOR演算結果に選択したタイムコードに関する情報を付加することで、付加された情報からXOR復元部25が、演算が実行されたビットパターンがA系列ビットパターンとB系列ビットパターンのいずれであるかを判断でき、該当するビットパターンにて復元することができる。この例では送受信するデータ容量が増加するが、多数決回路の構成を実施の形態1と同様に簡単な構成とすることができるという効果がある。
 なお、A系列ビットパターンとB系列ビットパターンは、ビット反転の関係である場合について説明したが、これに限定されずA系列ビットパターンとB系列ビットパターンが異なるビットバターンとなっていればよい。例えば、A系列ビットパターンとしてタイムコードをバイナリ変換したビットパターンとし、B系列ビットパターンとしてタイムコードをグレイコード変換したビットパターンとしてもよい。この例は、第2のXOR演算結果および第3のXOR演算結果に選択したタイムコードの変換方式に関する情報を付加することで実現できる。
 実施の形態3.
 実施の形態3では、演算装置30-1~30-3の3台の演算装置を備え、各演算装置における出力信号およびXOR演算結果の通信データの構造が実施の形態1および2におけるフォールトレラントシステム100と異なっているフォールトトレラントシステム300について説明する。
 フォールトトレンラントシステム300の構成については、フォールトトレラントシステム100における演算装置10-1~10-3の代わりに30-1~30-3を備えているのみであるため、説明は省略する。また、説明のため演算装置を3台としているがこれに限定されず、任意に設定できる。
 演算装置30-1について図18を用いて説明する。ここでは、演算装置30-1について説明するが、演算装置30-2および30-3についても同様の構成であるため、説明は省略する。図18は、本発明の実施の形態3における演算装置の装置構成の一例を示す構成図である。フォールトトレラントシステム100における演算装置10-1の構成に加え、故障診断部28の診断結果に基づいて出力信号伝送路13を介して外部へ出力する出力信号を選択する選択部29を備えた構成である。
 スイッチ部20-1~20-4、通信部21-1~21-3、タイムコード提供部22は、実施の形態1と同様であるため、説明は省略する。
 処理部23は、出力信号生成部231とXOR演算部232を備える。出力信号生成部231は、第1の出力信号に基づいて巡回冗長検査(CRC:Cyclic Redundancy Check、以後CRC)データを生成するとともに、当該CRCデータを第1の出力信号に付加したデータである出力信号の通信データ300を生成する。ここで、CRCデータとは、誤り検出方式に用いられる検査用の値であり、データを生成多項式と呼ばれるあらかじめ決められた数によって除算した余りである。なお、以降においては、演算装置10-1の出力信号生成部231が生成するCRCデータを第1のCRCデータとする。また、演算装置10-2が生成するCRCデータを第2のCRCデータと、演算装置10-3が生成するCRCデータを第3のCRCデータとする。また、出力信号生成部230が本発明のCRCデータ生成部に該当する。
 XOR演算部232は、タイムコード提供部22より取得したタイムコードを変換したビットパターンと出力信号生成部231が生成した第1のCRCデータとのXOR演算結果を生成するとともに、当該XOR演算結果を第1の出力信号に付加したXOR演算結果の通信データ301を出力する。なお、以降においては、演算装置10-1のXOR演算部232でのタイムコード変換したビットパターンと第1のCRCデータとのXOR演算結果を第4のXOR演算結果とする。また、演算装置10-2でのタイムコード変換したビットパターンと第2のCRCデータとのXOR演算結果を第5のXOR演算結果と、演算装置10-3でのタイムコード変換したビットパターンと第3のCRCデータとのXOR演算結果を第6のXOR演算結果とする。
 出力信号の通信データ300およびXOR演算結果の通信データ301について図19を用いて説明する。図19は、本発明の実施の形態3における通信データの一例を示すデータ構造図である。図19(a)は、処理部23の出力信号生成部231にて生成される出力信号の通信データ300のデータ構造の一例であり、図19(b)は、XOR演算部232から出力されるXOR演算結果の通信データ301のデータ構造の一例である。
 図19(a)に示すように、出力信号の通信データ300は、出力信号生成部231が生成する第1のCRCデータが第1の出力信号に付加された構造である。ここで、出力信号生成部231は、第1の出力信号に決められた演算、例えば非特許文献(Philip Koopman, et.al. ”Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks,” Proc. of DSN-2004, Jun. 2004.)に記載のCRC-8の式を用いた演算を実行し、第1のCRCデータを生成する。なお、第1のCRCデータは、データ容量が第1の出力信号より小さいデータである。
 図19(b)に示すように、XOR演算結果の通信データ301は、XOR演算部232が出力する第4のXOR演算結果が第1の出力信号に付加された構造である。XOR演算部232は、演算装置10-1がスレーブとして動作する時にマスターとして動作する演算装置10-2または10-3にXOR演算結果の通信データ301を出力する。なお、第1のCRCデータのデータ容量が小さいため、タイムコード変換したビットパターンと第1のCRCデータとのXOR演算結果もデータ容量も小さく抑えることができる。
 図18に戻って、記録部24は、ノード情報などの各種データを記録するメモリである。図20は、本発明の実施の形態3における記録部のデータ構成の一例を示すデータ構成図である。図20に示すように、記録部24は、通信部22-1を介してノード11から取得したノード情報、処理部23が生成した第1の出力信号および第1のCRCデータ、通信部22-2、22-3を介して演算装置30-2、演算装置30-3から取得した第2の出力信号と第3の出力信号、および第5のXOR演算結果と第6のXOR演算結果を記録している。
 図18に戻って、XOR復元部25は、記録部24から取得した第5のXOR演算結果および第6のXOR演算結果それぞれとタイムコードを変換したビットパターンとのXOR演算を実行し、第2のCRCデータおよび第3のCRCデータを復元し、多数決回路26に出力する。
 多数決回路26は、第1のCRCデータ、およびXOR復元部25にて復元された第2のCRCデータと第3のCRCデータが入力され、多数決を取り多数決信号を出力する。ここで、多数決回路26の構成は、実施の形態1と同様にXOR演算に用いるタイムコードのビットパターンが1種類である場合は図4の構成を、実施の形態2と同様にXOR演算に用いるタイムコードのビットパターンが2種類である場合は図17の構成となる。なお、多数決回路26における多数決の取り方については実施の形態1または2において出力信号の代わりにCRCデータとのXOR演算を実行するだけであるため、説明は省略する。
 未更新判定部27-1は、実施の形態1と同様にタイムコード提供部22より取得されたタイムコード基づいて、第1の出力信号が未更新であるか否かを判定する。判定方法は、実施の形態1と同様であるため、説明は省略する。
 未更新判定部27-2、27-3は、それぞれ第5のXOR演算結果、第6のXOR演算結果に基づいて、第2の出力信号、第3の出力信号が未更新であるか否かを判定する。判定方法は、実施の形態1と同様であるため、説明は省略する。
 故障診断部28は、実施の形態1と同様に多数決回路26からの多数決信号と、未更新判定部27-1からの第2の未更新信号と、27-2および27-3それぞれからの第1の未更新信号とから故障要因を診断し、診断した故障要因に応じた復旧処理に従い制御命令をスイッチ部20-4、通信部21-1~21-3、処理部23に送信する。また、選択部29にて出力する出力信号である選択出力信号についても診断し、診断した選択出力信号に従い制御命令を選択部29に送信する。
 なお、実施の形態1および2と異なり、実施の形態3において出力する出力信号を選択できるのは、演算装置10-2、10-3から取得される第5のXOR演算結果、第6のXOR演算結果の通信データに第5のXOR演算結果、第6のXOR演算結果だけでなく第2の出力信号、第3の出力信号が含まれているためである。
 故障診断部28における故障診断について図21~25を用いて説明する。図21~25は、本発明の実施の形態3における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。ここで、実施の形態3における故障要因診断結果における各識別子については、実施の形態1と同様に図13に示す識別子である。
 図21~25は、故障診断値、故障要因診断結果、復旧処理、および選択出力信号から構成される。ここで、選択出力信号欄における1、2、および3はそれぞれ第1の出力信号、第2の出力信号、および第3の出力信号を示し、0は出力信号を出力しないことを示している。ここで、選択出力信号は、演算装置30-1に故障がない場合は第1の出力信号を、マスターとして動作する演算装置が演算装置30-1から変更される場合は変更後マスターとして動作する演算装置の出力信号を、フォールトトレラントシステム300が停止する場合は出力信号を出力しないとの選択方法で選択されている。なお、選択出力信号として出力信号23-2または23-3のいずれかを選択可能である場合に2または3と記載しているが、これは状況の説明のためであり、実際に動作させる場合はいずれか一方を選択した構造とする。
 図18に戻って、選択部29は、故障診断部28にて診断された選択出力信号に従い出力する出力信号を選択し、記録部24より取得し、スイッチ部20-4、出力信号伝送路13を介して外部へ出力する。
 以上のように、実施の形態3のフォールトトレラントシステム300によれば、CRCデータとタイムコードを変換したビットパターンとのXOR演算の結果であるXOR演算結果を出力信号に付加したXOR演算結果の通信データを演算装置間にて送受信することで、自装置以外の演算装置の出力信号を取得することができる。そのため、マスターとして動作する演算装置が故障している場合においてもスレーブとして動作する演算装置にて正しい出力信号を得られている場合は、外部へ正しい出力信号を出力でき、装置が誤作動する可能性を低減しつつ装置の動作も継続できるという効果を得ることができる。
 また、CRCデータのデータ容量が小さいことから、XOR演算結果のデータ容量も小さく抑えることができ、演算装置間にて送受信する通信データのデータ容量を小さくできるという効果も得ることができる。
 なお、多数決回路26へ第1のCRCデータ~第3のCRCデータを入力する場合について説明したが、これに限定されず、第1の出力信号~第3の出力信号を入力してもよい。第1のCRCデータ~第3のCRCデータを入力する場合は、通信するデータの容量を小さくできるという効果があるが、代わりに第1の出力信号~第3の出力信号を入力する場合はXOR復元部25での復元処理が不要とすることできる。
 実施の形態4.
 実施の形態4では、演算装置40と故障診断装置41を備えるフォールトトレラントシステム400について説明する。なお、実施の形態1~3とは異なりマスターとして動作する演算装置はなく、全ての演算装置40がスレーブとして動作する。
 図26は、本発明の実施の形態4におけるフォールトトレラントシステムのシステム構成の一例を示す構成図である。フォールトトレラントシステム400は、N台のノード11-1~11-N、演算装置通信伝送路12、出力信号伝送路13、および入出力ネットワーク14、演算結果出力伝送路15、3台の演算装置40-1~40-3、および故障診断装置41を備える。なお、ノード11-1~11-N、演算装置通信伝送路12、出力信号伝送路13、および入力出力ネットワーク14は、実施の形態1~3と同様であるため、説明は省略する。また、説明のため演算装置を3台としているがこれに限定されず、任意に設定できる。
 演算装置40-1~40-3は、ノード11から取得したノード情報を基に演算結果を生成し、演算結果出力伝送路15を介して故障要因診断装置41に出力する。
 故障診断装置41は、演算装置40-1~40-3から取得した演算結果に基づき故障要因を診断する。
 演算結果出力伝送路15は、演算装置40-1~40-3と故障要因診断装置41とのデータ通信を行う伝送路である。演算結果出力伝送路15は、情報を相互に送受信できる伝送路であり、同軸ケーブルや光ケーブルなどの有線伝送路でもよいし、Wi-Fi(登録商標)やBluetooth(登録商標)などの無線伝送路でもよい。
 次に、演算装置40-1の構成について図27を用いて説明する。ここでは、演算装置40-1について説明するが、演算装置40-2および40-3についても同様の構成であるため、説明は省略する。図27は、本発明の実施の形態4における演算装置の装置構成の一例を示す構成図である。演算装置40-1は、通信部51、タイムコード提供部52、処理部53、および記録部54を備える。なお、図面において実線矢印は情報の流れ、点線矢印は制御命令の流れを示している。
 通信部51は、後述する処理部53から送信される通信制御命令に従い、外部との通信接続を制御しノード11との情報の送受信、演算結果出力伝送路15を介して故障要因診断装置41との情報の送受信を制御する。タイムコード提供部52は、現在のタイムコードを提供する。
 処理部53は、タイムコード提供部52から取得したタイムコードに応じて通信部51へ通信制御命令を送信する。また、処理部53は、出力信号生成部531とXOR演算部532を備える。出力信号生成部531は、ノード11から取得したノード情報を基に出力信号を生成する。なお、以降においては、演算装置40-1の出力信号生成部531が生成する出力信号を第4の出力信号とする。また、演算装置40-2が生成する出力信号を第5の出力信号と、演算装置40-3が生成する出力信号を第6の出力信号とする。
 XOR演算部532は、第4の出力信号とタイムコード提供部52から取得したタイムコードを変換したビットパターンとのXOR演算を実行し、XOR演算結果を出力する。XOR演算部532が本発明の演算部に該当する。なお、以降においては、演算装置40-1のXOR演算部532が出力するXOR演算結果を第7のXOR演算結果とする。また、演算装置40-2が出力するXOR演算結果を第8のXOR演算結果と、演算装置40-3が出力するXOR演算結果を第9のXOR演算結果とする。
 なお、XOR演算部532が実行するXOR演算は、実施の形態1~3におけるXOR演算部232が実行するXOR演算と同じであるため、説明は省略する。
 記録部54は、ノード11から取得したノード情報、処理部53の生成した第4の出力信号、および第7のXOR演算結果を記録するメモリである。
 次に、故障診断装置の構成について図28を用いて説明する。図28は、本発明の実施の形態4における故障診断装置の装置構成の一例を示す構成図である。故障診断装置41は、スイッチ部60-1~60-4、通信部61-1~61-3、タイムコード提供部62、処理部63、記録部64、多数決回路65、未更新判定部66-1~66-3、故障診断部67、および選択部68を備える。なお、図面において実線矢印は情報の流れ、点線矢印は制御命令の流れを示している。
 スイッチ部60-1~60-4は、外部との通信接続を維持するまたは遮断する実行部である。スイッチ部60-1~60-3は、演算装置40-1~40-3との接続を、スイッチ部60-4は、出力信号伝送路13との接続を構成している。
 通信部61-1~61-3は、後述する処理部63から送信される制御命令に従い、スイッチ部60-1~60-3を制御し演算装置40-1~40-3との情報の送受信を制御する。提供するタイムコード提供部62は、現在のタイムコードを提供する。
 処理部63は、タイムコード提供部62から取得したタイムコードに応じて通信部61-1~61-3へ通信制御命令を送信する。また、処理部63は、XOR復元部633を備える。XOR復元部633は、演算装置40-1~40-3から取得した第7のXOR演算結果~第9のXOR演算結果それぞれとタイムコード提供部62から取得したタイムコードを変換したビットパターンとのXOR演算を実行し、演算装置40-1~40-3が生成した第4の出力信号~第6の出力信号を復元し、記録部64に送信する。
 記録部64は、第7のXOR演算結果などの各種データを記録するメモリである。図29は、本発明の実施の形態4における記録部のデータ構成の一例を示すデータ構成図である。図29に示すように、記録部64は、演算装置43-1~43-3より取得した第7のXOR演算結果~第9のXOR演算結果、およびXOR復元部633が復元した第4の出力信号~第6の出力信号を記録している。
 多数決回路65は、第4の出力信号~第6の出力信号が入力され、多数決をとり多数決信号を出力する論理回路である。未更新判定部66-2、66-3は、それぞれ第8のXOR演算結果、第9のXOR演算結果に基づいて、第5の出力信号、第6の出力信号が未更新であるか否かを判定し、未更新であると判定した場合に未更新信号を出力する。なお、多数決回路65、未更新判定部66-2、および66-3は、実施の形態1~3における多数決回路26、未更新判定部27-2、および27-3と同様の構成のため、説明は省略する。
 未更新判定部66-1は、実施の形態1~3における未更新判定部27-1とは異なり、タイムコード基づいて第4の出力信号が未更新であるか否かを判定するのではなく、未更新判定部66-2および66-3と同様に第7のXOR演算結果の値が前回のXOR演算結果の値と同じ場合は、出力信号として1を、異なる場合は、出力信号として0を故障診断部67に出力する。XOR演算結果が同じ場合の出力信号1が、未更新であると判定したことを示し、本発明の未更新信号に該当する。つまり、実施の形態4における未更新判定部66-1~66-3は、同じ構成を備えており、未更新であると判定した場合は、実施の形態1~3における第1の未更新信号を出力する。
 図28に戻って、故障診断部67は、多数決回路65からの多数決信号と未更新判定部66-1~66-3からの未更新信号とから故障を診断し、診断した故障要因に従い復旧処理に関する制御命令をスイッチ部60-4、通信部61-1~61-3、および処理部63に送信する。
 故障診断部67は、実施の形態1~3における故障診断部28と同様に故障要因分類テーブルを参照し、故障を診断する。ここで、故障診断装置41が、演算装置40-1からも第7のXOR演算結果を取得していること、および未更新判定部66-1の未更新であるか否かの判定方法が実施の形態1~3の未更新判定部27-1と異なることにより、故障要因診断結果における各識別子については、形態1~3における図13に示した識別子とは異なることになる。
 実施の形態4における故障要因診断結果における各識別子について図30を用いて説明する。図30は、本発明の実施の形態4における故障要因を識別するための識別子と、その識別子に対応する故障要因の説明が記載された図である。ここで、各識別子は、演算装置40-1~演算装置40-3それぞれを構成する構成部品の故障要因を示している。
 識別子cpu1~cpu3は、それぞれ演算装置40-1~40-3の出力信号不正を示しており、出力される出力信号値が誤った値である場合を示している。
 識別子time0は、グローバルクロックの停止等により演算装置40-1~40-3の全てのタイムコード提供部22の故障を示している。また、識別子time1~time3は、それぞれ演算装置40-1~40-3のタイムコード提供部52の故障を示している。
 ここで、識別子time0の場合は演算装置40-1~40-3の全てにおいて故障が発生しているため、復旧処理は全ての演算装置40-1~40-3に対して実行する必要がある。
 また、識別子time1~time3の故障は演算装置40-1~40-3のタイムコード提供部52におけるタイムコード提供の遅延または停止であり、演算装置40-1~40-3が生成する第4の出力信号~第6の出力信号、および出力する第7のXOR演算結果~第9のXOR演算結果の値が誤った値となる。しかし、未更新判定部27-2、27-3が、未更新信号を出力する場合は含まないとする。つまり、XOR演算結果が取得できない場合、取得されたXOR演算結果が未更新である場合は含まないとする。なお、未更新判定部66-1が未更新信号を出力する場合は、後述する識別子lost1とdiff1とに、未更新判定部66-2が未更新信号を出力する場合は、後述する識別子lost2とdiff2とに、未更新判定部66-3が未更新信号を出力する場合は、後述する識別子lost3とdiff3とに含まれている。
 ここで、識別子time1の故障が、実施の形態1~3の場合と異なっている。これは未更新検出回路66-1が実施の形態1~3における未更新判定部27-1と異なりタイムコードに基づいて未更新であるか否かを判定していないためである。
 識別子lost1~lost3は、通信部60-1~60-3を介しての第7のXOR演算結果~第9のXOR演算結果の取得失敗を示している。ここで、識別子lost1の故障は、実施の形態4において追加された識別子である。識別子lost1が追加された理由は、実施の形態4におけるフォールトトレラントシステム400においては、故障の診断を故障診断装置41が行うために第4の演算結果を演算装置40-1から取得する必要があるためである。
 識別子voter1~voter3は、多項式回路65における第4の出力信号~第6の出力信号の各組み合わせに対するXOR演算の演算結果の不正を示している。
 識別子diff1~diff3は未更新回路66-1~66-3の故障を示している。
 次に、故障診断部67が故障を診断する時に参照する故障要因分類テーブルについて図31~35を用いて説明する。図31~35は、本発明の実施の形態4における故障要因分類テーブルのテーブル構造の一例を示すテーブル構造図である。
 実施の形態1~3における故障要因診断テーブルである図8~12と異なっている診断としては、例えば、故障診断値“010000”の場合がある。図8~12においては、1因子故障としては(1)voter2の1通り、2因子同時故障としては(1)cpu1とvoter1の組み合わせ、(2)cpu3とvoter3の組み合わせ、そして(3)time3とvoter3の組み合わせの3通りの合計4通りである。しかし、図31~35では2因子同時故障として、time1とvoter1の組み合わせが増え、合計5通りの故障の可能性があるとの診断となる。
 また、例えば、故障診断値“110100”の場合においても異なる診断となる。図8~12においては、1因子故障なし、2因子同時故障としては(1)cpu1とtime0の組み合わせ、(2)cpu1とtime1の組み合わせ、そして(3)cpu1とdiff1の組み合わせの3通りの合計3通りである。しかし、図31~35では1因子故障として実施の形態1~3においては無かった識別子lost1の場合が増え、合計4通りの故障の可能性があるとの診断となる。
 このように故障要因診断テーブルの構造は異なるが、図31~35に示すようにフォールトトレラントシステム400においても、未更新判定部66にて出力信号が未更新であるか否かを判定することができ、故障要因の診断精度の向上と、その故障要因に適した復旧処理の実現をできるという効果を得ることができる。
 図28に戻り、選択部68は、故障診断部67にて診断された選択出力信号に従い出力する出力信号を選択し、記録部64から取得し、スイッチ部60-4および出力信号伝送路13を介して外部へ出力する。
 以上のように、実施の形態4のフォールトトレラントシステム400によれば、故障診断を実行する故障要因診断装置を演算装置と別に備えることで、故障が起こりやすい演算装置の構造を簡単な構造とすることができ、演算装置の製造費用を抑えることができるという効果を得ることができる。
 100,300,400 フォールトトレラントシステム、10,30,40 演算装置、11 ノード、12 演算装置通信伝送路、13 出力信号伝送路、14 入出力ネットワーク、15 演算結果出力伝送路、20,60 スイッチ部、21,51,61 通信部、22,52,62 タイムコード提供部、23,53,63 処理部、24,54,64 記録部、25,633 XOR復元部、26,65 多数決回路、27,66 未更新判定部、28,67 故障診断部、29,68 選択部、41 故障診断装置、231,531 出力信号生成部、232,532 XOR演算部、251,252,253,2501,2502,2503,2504,2505 XOR論理素子、2510,2511 AND論理素子。

Claims (10)

  1.  ノードからノード情報を取得する3つ以上の演算装置を備え、
     各前記演算装置は、
     前記ノード情報から出力信号を生成する出力信号生成部と、
     各前記演算装置が生成した前記出力信号を比較し、多数決信号を出力する多数決回路と、
     各前記演算装置間で共有されるタイムコードを提供するタイムコード提供部と、
     自装置が生成した前記出力信号と前記タイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部と、
     自装置以外の前記演算装置が出力した前記演算結果を繰り返し受信する通信部と、
     受信した前記演算結果の値が前回に受信した演算結果の値と同じである場合に、前記自装置以外の演算装置の前記出力信号が未更新であると判定し、第1の未更新信号を出力する第1の未更新判定部と、
     前記多数決信号と前記第1の未更新信号とに基づいて、前記3つ以上の演算装置の故障を診断する故障診断部と、
    を備えるフォールトトレラントシステム。
  2.  前記タイムコード提供部から提供されたタイムコードに基づいて、自装置が生成した出力信号が未更新であるか否かを判定し、第2の未更新信号を出力する第2の未更新判定部を備え、
     前記故障診断部は、前記多数決信号と前記第1の未更新信号と前記第2の未更新信号とに基づいて、前記3つ以上の演算装置の故障を診断することを特徴とする請求項1に記載のフォールトトレラントシステム。
  3.  前記故障診断部は、前記多数決信号と前記第1の未更新信号と前記第2の未更新信号とを合成した故障診断値と、故障が発生した場合の要因を示す故障要因診断結果と、の対応関係を示す故障要因分類テーブルを参照し、前記3つ以上の演算装置の故障を診断することを特徴とする請求項2に記載のフォールトトレラントシステム。
  4.  前記演算部は、前記タイムコードを変換したビットパターンと前記出力信号とのXOR演算を行い、前記演算結果としてXOR演算結果を出力することを特徴とする請求項1から3のいずれか1項に記載のフォールトトレラントシステム。
  5.  前記タイムコードを変換したビットパターンは、第1のビットパターンと当該第1のビットパターンとは異なる第2のビットパターンを有し、
     前記演算部は、前記XOR演算を繰り返し行う場合に、前記XOR演算結果の値が前回出力したXOR演算結果の値と異なる値となるように前記第1のビットパターンまたは前記第2のビットパターンのいずれかを選択することを特徴とする請求項4に記載のフォールトトレラントシステム。
  6.  前記第1のビットパターンと前記第2のビットパターンとは、ビット反転の関係であることを特徴とする請求項5に記載のフォールトトレラントシステム。
  7.  前記故障診断部が自装置に故障があることを診断した場合に外部との通信を遮断する遮断部を備えることを特徴とする請求項1から6のいずれか1項に記載のフォールトトレンラントシステム。
  8.  前記遮断部は、前記故障診断部が自装置以外の演算装置に故障があることを診断した場合に当該演算装置との通信を遮断することを特徴とする請求項7に記載のフォールトトレンラントシステム。
  9.  ノードからノード情報を取得する3つ以上の演算装置を備え、
     各前記演算装置は、
     前記ノード情報から生成された出力信号を基づいてCRCデータを生成するCRCデータ生成部と、
     各前記演算装置が生成した前記CRCデータを比較し、多数決信号を出力する多数決回路と、
     各前記演算装置間で共有されるタイムコードを提供するタイムコード提供部と、
     自装置が生成した前記CRCデータと前記タイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部と、
     自装置以外の前記演算装置が出力した前記演算結果を繰り返し受信する通信部と、
     受信した前記演算結果の値が前回に受信した演算結果の値と同じである場合に、前記自装置以外の演算装置の前記出力信号が未更新であると判定し、第1の未更新信号を出力する第1の未更新判定部と、
     前記多数決信号と前記第1の未更新信号とに基づいて、前記3つ以上の演算装置の故障を診断する故障診断部と、
    を備えるフォールトトレラントシステム。
  10.  ノードからノード情報を取得する3つ以上の演算装置と、
     前記3つ以上の演算装置の故障を診断する故障診断装置と、を備え、
     各前記演算装置は、
     前記ノード情報から出力信号を生成する出力信号生成部と、
     各前記演算装置にて共有されるタイムコードを提供するタイムコード提供部と、
     自装置が生成した前記出力信号と前記タイムコードを変換したビットパターンとの論理演算を行い、演算結果を出力する演算部と、を備え、
     前記故障診断装置は、
     各前記演算装置が生成した前記出力信号を比較し、多数決信号を出力する多数決回路と、
     各前記演算装置が生成した演算結果を繰り返し受信する通信部と、
     前記受信した演算結果の値が前回に受信した演算結果の値と同じである場合に、当該演算結果を出力した演算装置の前記出力信号が未更新であると判定し、未更新信号を出力する未更新判定部と、
     前記多数決信号と前記未更新信号とに基づいて、前記3つ以上の演算装置の故障を診断する故障診断部と、
    を備えることを特徴とするフォールトトレラントシステム。
PCT/JP2016/079943 2016-10-07 2016-10-07 フォールトトレラントシステム WO2018066124A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018543555A JP6556373B2 (ja) 2016-10-07 2016-10-07 フォールトトレラントシステム
PCT/JP2016/079943 WO2018066124A1 (ja) 2016-10-07 2016-10-07 フォールトトレラントシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/079943 WO2018066124A1 (ja) 2016-10-07 2016-10-07 フォールトトレラントシステム

Publications (1)

Publication Number Publication Date
WO2018066124A1 true WO2018066124A1 (ja) 2018-04-12

Family

ID=61830984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/079943 WO2018066124A1 (ja) 2016-10-07 2016-10-07 フォールトトレラントシステム

Country Status (2)

Country Link
JP (1) JP6556373B2 (ja)
WO (1) WO2018066124A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108880706A (zh) * 2018-06-14 2018-11-23 熊猫电子集团有限公司 一种卫星信道链路故障的快速诊断方法
CN110531743A (zh) * 2019-09-25 2019-12-03 重庆长安汽车股份有限公司 发动机管理系统对总线相关控制模块的诊断方法
WO2021081687A1 (zh) * 2019-10-28 2021-05-06 中国科学院微小卫星创新研究院 一种用于基于单指标阈值监测卫星单机故障的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008191924A (ja) * 2007-02-05 2008-08-21 Toshiba Corp フェールセーフcpu動作監視装置
JP2011028685A (ja) * 2009-07-29 2011-02-10 Nippon Signal Co Ltd:The 二重化データ処理回路
WO2016067420A1 (ja) * 2014-10-30 2016-05-06 三菱電機株式会社 計算機及びデータ処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008191924A (ja) * 2007-02-05 2008-08-21 Toshiba Corp フェールセーフcpu動作監視装置
JP2011028685A (ja) * 2009-07-29 2011-02-10 Nippon Signal Co Ltd:The 二重化データ処理回路
WO2016067420A1 (ja) * 2014-10-30 2016-05-06 三菱電機株式会社 計算機及びデータ処理方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108880706A (zh) * 2018-06-14 2018-11-23 熊猫电子集团有限公司 一种卫星信道链路故障的快速诊断方法
CN110531743A (zh) * 2019-09-25 2019-12-03 重庆长安汽车股份有限公司 发动机管理系统对总线相关控制模块的诊断方法
WO2021081687A1 (zh) * 2019-10-28 2021-05-06 中国科学院微小卫星创新研究院 一种用于基于单指标阈值监测卫星单机故障的方法和系统

Also Published As

Publication number Publication date
JPWO2018066124A1 (ja) 2019-03-14
JP6556373B2 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
EP2153328B1 (en) Data processing system, data processing method, and apparatus
JP6556373B2 (ja) フォールトトレラントシステム
US5404363A (en) Two-fail-operational fault-tolerant multiple clock system
CN110413456B (zh) 三冗余数据逐级表决系统及方法
CN106796541B (zh) 数据处理装置
CN104598341A (zh) 用于确定在互连/控制器之间的故障的位置的方法和系统
RU2527191C1 (ru) Резервированная многоканальная вычислительная система
Kopetz et al. Tolerating arbitrary node failures in the time-triggered architecture
RU2439674C1 (ru) Способ формирования отказоустойчивой вычислительной системы и отказоустойчивая вычислительная система
JP2018014102A (ja) コンピュータ化されたシステムおよび冗長システム
RU2460121C1 (ru) Резервированная двухпроцессорная вычислительная система
RU2473113C1 (ru) Самоорганизующаяся вычислительная система
Alagoz Hierarchical triple-modular redundancy (H-TMR) network for digital systems
RU2444053C1 (ru) Вычислительная система
US7260741B2 (en) Method and system to detect software faults
JP2012118725A (ja) エラー検出修復装置
Prager et al. A fault tolerant signal processing computer
RU2264648C2 (ru) Резервированная двухпроцессорная вычислительная система
JP7268826B1 (ja) 三重化冗長回路における復元装置及び復元方法
Proenza et al. Using FTT and stars to simplify node replication in CAN-based systems
Ammar et al. Formal verification of Time-Triggered Ethernet protocol using PRISM model checker
JP2021141711A (ja) 保護リレー
Caldwell et al. Minimalist recovery techniques for single event effects in spaceborne microcontrollers
JP2016213979A (ja) 保護制御装置および保護制御システム
EP3357161A1 (en) A reconfigurable hardware device for providing a reliable output signal as well as a method for providing said reliable output

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16918320

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018543555

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16918320

Country of ref document: EP

Kind code of ref document: A1