CA2051888C - Method for enacting failover of a 1:1 redundant pair of slave processors - Google Patents

Method for enacting failover of a 1:1 redundant pair of slave processors

Info

Publication number
CA2051888C
CA2051888C CA002051888A CA2051888A CA2051888C CA 2051888 C CA2051888 C CA 2051888C CA 002051888 A CA002051888 A CA 002051888A CA 2051888 A CA2051888 A CA 2051888A CA 2051888 C CA2051888 C CA 2051888C
Authority
CA
Canada
Prior art keywords
iop
primary
slave
controller
failover
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002051888A
Other languages
French (fr)
Other versions
CA2051888A1 (en
Inventor
Paul F. Mclaughlin
Robert W. Bristow
Karl T. Kummer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell Inc
Original Assignee
Honeywell Inc
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 Honeywell Inc filed Critical Honeywell Inc
Publication of CA2051888A1 publication Critical patent/CA2051888A1/en
Application granted granted Critical
Publication of CA2051888C publication Critical patent/CA2051888C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media

Abstract

A primary slave IOP, upon detecting an error, verifies the availability of a secondary slave IOP, and then sets an output control signal to indicate backup is requested. The primary slave IOP then takes itself out of being the primary. A secondary slave IOP, sensing that the output control signal from the other IOP has been set, assumes the role of the primary slave IOP. A master controller, detecting an error with the primary slave IOP, interrogates the primary and secondary slave IOPs for a status input, and then arbitrates between the first and second IOP to determine the IOP that is to take on the primary role. Finally the master controller awards the more operational IOP the role of the primary slave IOP, thereby completing the failover operation.
A primary slave IOP which fails sets the output control signal as part of its failure handling and watchdog timeout function. The output control signal is also set to indicate backup for an unpowered IOP.

Description

2 0 5 1 8 8 ~ 72593-32 - METHOD FOR ENACTING FAILOVER
OF A 1:1 REDUNDANT PAIR OF SLAVE PROCESSORS

RELATED PATENT APPLICATIONS
The present appllcatlon ls related to Canadlan Patent Appllcatlon, Serlal No. 2,051,786, entltled "Unlversal Scheme of Input/Output Redundancy ln a Process Control System" by Paul McLaughlin et. al. flled September 18, 1991 and to Canadlan Patent Appllcatlon, Serlal No. 2,052,257 entltled "Fault Detectlon ln Relay Drlve Clrcults," by Karl T. Kummer et. al., both appllcatlons belng flled September 25, 1991, and asslgned to Honeywell Inc., the asslgnee of the present applicatlon.

BACKGROUND OF THE INVENTION
The present lnventlon relates to a method of exchanglng prlmary and secondary roles of a redundant palr of processors, and more particularly, to a method of enactlng fallover whereln the secondary processor, of a redundant pair of processors operating in a primary and secondary role, can detect and enact a failover ~i.e., exchange) when the primary processor has failed.
Process Control Systems wlth backup process controllers such as descrlbed and claimed in U.S. Patent No. 4,133,027, lssued to J.A. Hogan on January 2, 1979, and U.S. Patent No. 4,141,066, lssued to Y. Keiles on February 20, 1979, include a backup controller havlng a dedlcated Random Access Memory (RAM) and a dedlcated Read Only Memory (ROM). The backup controller ls essentially ldle or can be dolng some background tasks, but not 2 0 5 ~ 8 8 ~ 725g3-32 tasks relatlng dlrectly to the process control functlon. Upon detectlon of a fallure of one of the prlmary process controllers, the data stored ln the RAM of the falled controller must be transferred to the RAM of the backup controller to perform the operatlons of the prlmary controller. These systems descrlbe a l:N redundancy system.
Exlstlng systems, such as that descrlbed ln U.S. Patent 4,958,270 lssued September 18, 1990, and asslgned to Honeywell Inc., the asslgnee of the present appllcatlon, provlde for a 1:1 redundancy system, whereby the data base of a secondary devlce (l.e., secondary or backup controller) ls updated perlodlcally such that the updatlng process ls transparent to the primary functions and does not tie-up (or penalize) CPU or processor performance and utlllzes a mlnlmum amount of tlme. When a fallover condltlon occurs, there ls a perlod ~Q~1~8'~

of time when no communications can take place (i.e., an outage) between the primary controller and the remainder of the system. Further, the primary and secondary controllers are in a predefined location, and the software utilized for implementing this redundancy feature (i.e., redundancy software) is not transparent to other layers of software above the redundancy software. For example, if a Universal Station of a plant control network were to interrogate a controller (i.e., a primary controller since the secondary controller cannot be interrogated), of a process controller of a process control system, for a value, during failover the controller is unable to respond and the universal station outputs question marks on the display to the operator.
The present invention provides a method wherein the primary and secondary processors of a redundant pair of processors can exchange roles without resynchronizing (ie, recopying) the data base from the primary processor to the secondary processor, and permits the secondary processor to exercise the control function of a primary processor immediately without any delay (for initialization, updating data bases, ....) In the preferred embodiment the system in which the present invention can be found, the primary and secondary processors cannot initiate communications between each other on a communication Docket I2000068 3 5 September 1990 2~8~

network. In the present invention, the processors utilize control lines to a common output circuit to indicate status information between the processors. Further, the processor failover is transparent with respect to data access to all data users of the master node, including external nodes that communicate with the master, in which the primary and secondary processor are included.

SUMMARY OF T~E INVENTION
Thus there is provided by the present invention, a lo method of exchanging primary and secondary roles of a redundant pair of processors. In a process control system, a master controller is operatively connected to a communication link, and at least one pair of slave input/output processors (IOPs) is each operatively connected to the communication link. A first IOP of the pair is a primary slave IOP and a second IOP of the pair is a secondary slave IOP. The first and second IOP each have a first and second data base, respectively, the first and second IOP each executing the same tasks utilizing a first and second clocking system, respectively.
Communications by the master controller are made only to the first IOP, including communications which modify the first data base. The first and second IOPs are unable to communicate with each other. The first and second IOPs Docket I2000068 4 5 September 1990 are each operatively connected to an output switching device such that control of the output switch device is coordinated between the first and second IOP. Each of the first and second IOP can sense a state of an output control signal from the other IOP to the output switching device. A method for accomplishing a failover comprises the following steps. The primary slave IOP, upon detecting an error, verifies the availability of a secondary slave IOP, and then sets the output control signal to indicate backup is being requested. The primary slave IOP then takes itself out of being the primary slave IOP. (For conditions that cause the primary to cease operation, hardware asserts the backup request.) The secondary slave IOP, sensing that the output control signal from the other IOP of the pair of IOPs has been set indicating that the primary slave IOP has detected an internal fault, assumes the role of the primary slave IOP.
The master controller, detecting an error with the primary slave IOP on the first message to the primary following primary failure, interrogates the primary and secondary slave IOPs for a status input. The master controller then arbitrates between the first and second IOP to determine the IOP that is to take on the primary role. Finally, the master controller awards the more operational IOP the role of the primary slave IOP, thereby completing the failover Docket I2000068 5 5 September 1990 - operatlon.
In accordance wlth another aspect of thls lnventlon there ls provlded ln a control system of the type whereln a controller ls coupled by a bus for communlcatlon wlth a palr of processors, one of whlch ls deslgnated as the prlmary processor and is actlve in perforrning operations affectlng sald control system and the other of whlch ls deslgnated as the backup processor to the primary processor; whereln sald controller transmlts commands and data over sald bus addressed to sald prlmary processor; and wherein a database held ln the store of sald backup processor ls malntalned the same as a database held ln a store of sald primary processor; the method of redeslgnatlng sald processors upon the occurrence of a fault ln sald prlmary processor, characterlzed by the steps of:
a) sald prlmary processor upon detectlng the occurrence of sald fault;
1) verlfylng that sald backup processor ls operable, 11) causlng dellvery of an output slgnal, and 111) cancelllng its deslgnatlon as the prlmary ~0 processor; and b) sald backup processor upon senslng the dellvery of sald output slgnal; deslgnatlng ltself as the prlmary processor.
Accordlngly, lt ls an object of the present lnventlon to provlde a method of enactlng fallover.
It ls another obiect of the present invention to provlde a method for enactlng fallover of a primary and secondary processor of a redundant palr of processors.

~ It ls still another ob~ect of the present inventlon to provide a method of enacting failover wherein the secondary processor, of a redundant pair of processors operatlng ln a prlmary and secondary role, can detect and enact the fallover when the prlmary processor has falled.
These and other ob~ects of the present lnventlon will become more apparent when taken ln con~unctlon wlth the followlng description and attached drawings, wherein like characters lndlcate llke parts, and which drawlngs form a part of the present appllcation.

BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows a block diagram of a process control system ln which the present inventlon can be utillzed;
Figure 2 shows a block dlagram of a process controller, includlng I~O modules (IOP), ln whlch the present lnventlon can be utlllzed;
Figure 3 shows a block diagram of a controller which is lncluded ln the process controller of Flgure 2;

6a - 2~8R8 Figure 4 shows a block diagram of an I/O module which is included in the process controller of Figure 2;
Figure 5 shows a block diagram of the redundancy scheme of the I/O module within the process controller of Figure 2;
Figure 6 shows a simplified block diagram of the process controller of Figure 2;
Figure 7 shows a block diagram of the circuit utilized for controlling the relay switch circuit;
Figure 8 shows a flow diagram of the communications scheme between the controller and the primary and secondary IOPs; and Figure 9, which comprises Figure 9A-9C, shows a flow diagram of the failover operation of the method of the present invention.

DETAILED DESCRIPTION
Before describing the method of the present invention, it will be helpful in understanding a system environment in which the present invention can be utilized. Referring to Figure 1, there is shown a block diagram of a process control system 10 in which the present invention can be found. The process control system 10 includes a plant control network 11, in which a process controller 20 is operatively connected to the Docket I2000068 7 5 September 1990 Q 5 ~ ~ 8 ~

plant control network 11 via a universal control network (UCN) 14 to a network interface module (NIM) 602. In the preferred embodiment of the process control system lO, additional process controllers 20 can be operatively connected to the plant control network 11 via a corresponding UCN 14 and a corresponding NIM 602. The process controller 20, interfaces analog input and output signals, and digital input and output signals (A/I, A/O, D/I, and D/O, respectively) to the process control system 10 from the variety of field devices (not shown) which include valves, pressure switches, pressure gauges, thermocouples, The plant control network 11 provides the overall supervision of a controlled process, in conjunction with the plant operator, and obtains all the information needed to perform the supervisory function, and includes an interface with the operator. The plant control network 11 includes a plurality of physical modules, which include a universal operator station (US) 122, an application module (AM) 124, a history module (HM) 126, a computer module (CM) 128, and duplicates of these modules (and additional types of modules, not shown) as necessary to perform the required control/supervisory function of the process being controlled. Each of these physical modules is operatively connected to a local control network (LCN) 120 which Docket I2000068 8 5 September 1990 2~51~

permits each of these modules to communicate with each other as necessary. The NIM 602 provides an interface between the LCN 120 and the UCN 14. A more complete description of the plant control network 11, and the physical modules can be had by reference to U.S. Patent No. 4,607,256.
Referring to Figure 2 there is shown a block diagram of the process controller 20. The process controller 20 of the preferred embodiment of the process control system 10 includes a controller A 30 and a controller B 40, which effectively operate as a primary and secondary controller.
Controller A 30 and controller B 40 are connected to the UCN 14, the UCN 14 in the preferred embodiment, comprising for communication redundancy purposes, a UCN(A) 14A and a UCN(B) 14B. Input/output processors (IOPs) (sometimes referred to herein as input output (I/O) modules) 21 interface to field devices, field devices being various valves, pressure switches, pressure gauges, thermocouples,... which can be analog inputs (A/I), analog outputs (A/O), digital inputs (D/I), and digital outputs (D/O). The controller A 30 interfaces to each I/O module 21 via a bus A 22, and controller B 40 interfaces to each I/O module 21 via a bus B 23. In addition, once again for communication redundancy purposes, controller A 30 is also connected to bus B 23 and controller B ~0 is connected to Docket I2000068 9 5 September 1990 bus A 22.
Controller A and controller B, 30, 40, can communicate with each other via three mediums, the UCN 14, a link 13 between the controllers, and the buses A, B, 22, 23, with bus A and bus B in the preferred embodiment being serial I/O links. One controller (controller A 30 or controller B 40) operates as a primary controller and the other controller operates as a secondary controller (in more of a reserve mode than a back-up, in that if a failure of controller A 30 should occur, controller B is ready to take over the control function with essentially no start-up or initialization time). On a predetermined time basis, point processing is performed by the controller designated as the primary controller and communicates with the I/O modules 21. In addition, the controller acting as the primary controller communicates with the plant control network 11 reporting status, history, and accepting inputs from the plant control network such as commands from the operator via the universal station 122. In addition, a data base maintained by the primary controller is communicated to the secondary controller via link 13. As mentioned above, one controller operates as a secondary controller;
however, it will be understood by those skilled in the art that a secondary controller is not necessary for the Docket I2000068 10 5 September 1990 -2~ ~-18~ 8 _ process controller 20.
Referring to Figure 3, there is shown a block diagram of the controller 30, 40. A modem 50 is connected to the UCN 14, the modem having two inputs, one connected to UCN
14A and the other connected UCN 14B. The modem 50 interfaces with a communication unit (COMM) 60 which in turn interfaces with a global memory 70, an I/0 interface unit 80, and a control unit 90 via global bus 72. The communication unit 60 includes a communication control unit, in the preferred embodiment a token bus controller (TBC) 61, Motorola type 68824, which is connected to a local bus 62. A processor A 63 (which essentially performs the communication function) is connected to the local bus 62, and a local memory A 64, which is also connected to the local bus 62. The processor A 63 communicates with the plant control network 11 via modem so and TBC 61. The local memory A 64 stores information, including personality image which is downloaded from the plant control network 11, for use by processor A 63 and TBC 61. The global memory 70 stores information which is common to both processor A 63 and a processor B 91. It also stores all the data received from bus A 22 and bus B
23. The global memory 70 also serves as an interprocessor communication vehicle between the processors A 63 and B
91. Control unit 90 includes the processor B 91 and a Docket I2000068 11 5 September 1990 local memory B 92, both connected to a local bus 93.
Processor B 91 performs the control function (i.e., control processing) relating to the field devices. This essentially includes performing the point processing, and updating the local memory B 92 and global memory 70. Also coupled to the local bus 93 of control unit 90 is a track unit (not shown) which is utilized to implement the data base transfer via link 13 to the other controller 30, 40 of the process controller 20. A more detailed description of the track unit can be had by making reference to Canadian Patent No. 2,016,191 entitled "METHOD FOR CONTROL DATA BASE UPDATING OF A REDUNDANT
PROCESSOR IN A PROCESS CONTROL SYSTEM," by P. McLaughlin et al, issued April 2, 1996; assigned to Honeywell Inc., the assignee of the present application. The I/O interface unit 80 includes a receiver-transmitter device, this device being a UART (Universal Asynchronous Receiver/Transmitter) 81. The UART 81 is coupled through j., 2 Q ~ 8 drivers 82, 83 to bus A 22 and bus B 23, respectively.
Processor B 91 receives data from the various field devices through global memory 70, performs the necessary point processing and control function, and then updates the local memory B 92 and global memory 70, as required.
The communication unit 60, in response to commands from the control unit 90 via global memory 70, inputs and outputs data between the I/O modules 21 (via the I/O
interface unit 80) and the global memory 70, thereby lo relieving the control unit 90 from the burden of I/O
module management. In this manner the control processing is performed by the control unit 90 within the process controller 20 for the predefined attached field devices, and the communication (i.e., the I/O control) is handled by the communication unit 60 through the UART 81.
Referring to Figure 4 there is shown a block diagram of an I/O module. A transceiver (anti-jabber circuit) 201 interfaces with bus A 22 and bus H 23. The transceiver 201 interfaces with a microcontroller (u-controller~ 202 which, in the preferred embodiment, is of the type, Intel 80C31. The microcontroller is coupled to a local bus 203, and includes an EPROM 204 and a RAM 205 also connected to the local bus 203. The RAM 205 contains the information which forms the database for the I/O module 21. The EPROM
204 contains the program information utilized by the Docket I2000068 13 5 September 1990 2 0 S 1 ~ ~ ~

microcontroller 202. Also attached to local bus 203 is an input buffer which receives the I/O link address information from the I/O link (bus A, bus B, 22, 23). The output buffer (BUFFER OUT) 208 is connected to the local bus 203. The application specific circuits 209 are also connected to the local bus 203 and interfaces with the input and output buffers 206, 208, and the microcontroller 202 via the local bus 203. The application specific circuits 209 vary from I/O module to I/O module depending on the field device to which the I/O module is to be coupled. If the field device is of a type which requires a digital input, then the application specific circuit 209 will include the logic in order to place the digital input into a predefined format which will interface with the remainder of the I/O module. Likewise, if the field device is such that requires an analog input, then the application specific circuit contains logic which converts the analog input signal (via an A/D converter) into a format again consistent with predefined formats. In this manner, the I/O modules are referred to as a specific I/O
module type. The microcontroller 202 performs the I/0 processing (or preprocessing) for the application specific circuits 209. The preprocessing will vary from each I/0 module 21 depending on the type (i.e., A/I, A/O,...) the preprocessing essentially consisting of translating the Docket I2000068 14 5 September 1990 ~Q5~88 signals from the application specific circuits to a format compatible with the controller 30, 40, and putting the signals from controller 30, 40 in a format compatible with the I/O module 21. Some of the preprocessing performed includes zero drift, linearization (linearizing thermocouples), hardware correction, compensation (gain compensation and zero compensation), reference junction compensation, calibration correction, conversions, checking for alarms (limits)... and generating a signal in a predetermined format having predetermined scale (i.e., engineering units, normalized units, percent of scale,...). In the preferred embodiment seven types of applications specific circuits are provided for, these include a high level analog input, low level analog input, analog output, digital input, digital output, smart transmitter interface, and pulse input counter.
Referring to Figure 5, there is shown a functional block diagram of a field terminal assembly (FTA) 251 utilized to implement the redundancy scheme of the I/O
modules 21 within the process controller 20. As described above, the process controller 20 includes controller A 30 and controller B 40 connected to the I/O link 22, 23.
Also connected to the I/O link 22, 23 are the I/O modules 21 (also referred to herein as input/output processor IOP). In the redundancy scheme of the IOPs as utilized in Docket I2000068 15 5 September 1990 - 2 Q~ 8~

the preferred embodiment of the process controller 20, the analog output type I/O module 21 is duplicated, shown in Figure 5 as AO(A) 21-A and AO(B) 21-B. (Other I/O modules are connected to the I/O link 22, 23 as discussed above, but are not shown here for simplicity.) Each IOP includes a processor 202-A, 202-B, as described above. IOP AO(A) and IOP AO(B) are both connected to a field device (D) 250, through a field terminal assembly (FTA) 251, the field device being a valve, thermocouple,.... Both IOPs, AO(A) 21-A and AO(B) 21-B are performing the same tasks and outputting the same information (presuming no errors in either IOP) to the FTA 251. However, the output from only one IOP is actually coupled to the field device 250, as will now be discussed.
One IOP is designated the main or primary IOP and the other is designated the backup or redundant IOP. Here, IOP AO(A) 21-A is designated the main IOP interfacing with field device 250, and IOP AO(B) 21-B is designated the redundant IOP. Both IOPs are outputting the same information from a corresponding current source 211-A, 211-B. The output information is coupled to a common point 252 (a terminal sometimes referred to as the customer screw), through a corresponding diode 212-A, 212-B. A common point between the current source 211-A and diode 212-A of AO(A) 21-A is coupled to a first contact Docket I200006~ 16 5 September 1990 point 256 of a relay 253 and a common point between current source 211-B and diode 212-B of AO(B) 21-B is coupled to a second contact point 257 of relay 253. The arm 258 of relay 253 is connected to a ground point and is also normally switched (i.e. no current through the coil 254), to the second contact point of the relay 253, such that the output of the second current source 211-B of AO(B) 21-B is shorted to ground. In this manner only the output information from AO(A) 21-A is coupled to the field device 250. In the event of a failure of AO(A) 21-A, the relay 253 switches such that the output from AO(A) 21-A is shorted to ground and the output from the redundant IOP
AO(B) 21-B is immediately coupled to the customer screw 252, and thus to the field device 250. The switching of relay 253 is initiated by activating a coil 254 of relay 253.
One terminal of relay coil 254 is connected to AO(A) 21-A and the other terminal of relay coil 254 is connected to AO(B) 21-B. Normally, the relay is switched (no current through coil 254) such that IOP(A) is communicating with the field device 250 and IOP(B) is in the backup mode (i.e., the IOP(B) output is shorted to ground by the relay 253.) When an error is detected by the controller 30, the controller A 30 (or controller B 40 if it is functioning as the primary controller) initiates Docket I2000068 17 5 September 1990 .~ 2Q51~8 a command to the IOPs to switch the relay 253. The IOPs, IOP(A) and IOP(B) can also affect the switch over if they detect an error, and will be described hereinunder.
The IOP redundancy will now be described. Referring to Figure 6, there is shown a simplified block diagram of the process controller 20 of Figure 2, having the redundancy of the controller omitted, and having an IOP
and a backup IOP, only, for purposes of example. In the preferred em~odiment, up to forty (40) IOPs can be included, and any mix of IOP types can be included in a redundant or non-redundant configuration. As will be recognized by those skilled in the art from the description above, the controller 30 performs as the master processor, the IOP module 21-A as the primary slave processor, and the IOP module 21-B as the backup (or secondary or redundant) slave processor.
For example purposes only, assume that the process controller 20 has controller 30 operating as the primary controller and I/O module 21-A (an analog output module) configured as module l in accordance with configuration rules of the process control system. IOP A 21-A is always present (assuming the requirement for an A/O IOP) and IOP
B 21-B is optional (and initially assume it is not configured. Thus IOP B is shown in dotted lines in Figure 6.) For example purposes, assume IOP(A) is placed in file Docket I2000068 18 5 September 1990 2 0 ~ 8 8 address 3 and card address 8. (In the preferred embodiment of the system, the cabinet is divided in files (rows) and card slots.) Thus in this example the "printed circuit card" of an A/O IOP which is designated as IOP(A) 21-A is inserted in row 3, card slot 8. IOP(A) is given a logical address and assume that in this example is assigned logical address number 1. The controller 30 data base includes the data for an IOP connected to BUS-A 22 logical address 1, physical address of IOP(A) of file 3,card 8, and is initially non-redundant. (See State 1 of Table 1.) The controller 30 communicates to the primary slave IOP via the configured logical address. The process control system 10 is powered up and initialized along with the process controller 20, including controller 30 and IOP(A) 21-A, and running normally. IOP(A) 21-A is connected to the "A" points of FTA 251.

Docket I2000068 19 5 September 1990 State 1 Initial, State 2 State 3 Non- Initial Normal Redundant Logical Address Physical File (rack, row,... ) 3 3 3 Address A Card (slot within file) 8 8 8 Physical File 0 4 4 Address B Card 0 10 10 Redundant (Yes or No) N Y Y

Synchronized (Yes or No) N N Y

Primary (A or B) A A A

TA~LE 1 - CONTROT.T.~ 30 DATA BASE

Docket I2000068 20 5 September 1990 2Q~18~8 At some later time, the backup slave IOP 21-B can be added while the system 10 is running. IOP(A) 21-A
continues to run normally and IOP(B) 21-B is configured in any spare location in the file (cabinet, row,...). IOP(B) is connected to the "B" terminals of FTA 251, and in accordance with the configuration rules of the system, information is outputted (from the universal station US
122 of the plant control network 11) relating to the IOP(B), including the location information and the fact that IOP(B) is the backup to module 1 (i.e., the module having logical address 1). That information is transmitted to controller 30 during normal operations of the system 10 and the controller data base is updated (reference state 2 of Table 1, assume IOP(B) 21-B has been located in file 4, card slot 10). It will be recognized by those skilled in the art that many techniques are available for the manual inputting of such information from an operator input terminal and will not be discussed further herein since it is not necessary for understanding the redundancy scheme of the present system.
The controller 30 then acts to synchronize the IOP(B) 21-B in accordance with the method of the present Docket I2000068 21 5 September 1990 2Q~1~88 invention. Synchronizing is the process whereby the same data base is contained in both IOP(A) 21-A and IOP(B) 21-B. The information of the data base of IOP(A) is requested by the controller 30. IOP(B) 21-B eavesdrops on the transmissions of data from IOP(A) 21-A to the controller 30 and stores the information in its data base memory, thereby causing the data base of IOP(B) 21-B to be the same, whereupon IOP(B) is commanded to start executing. IOP(B) performs the same operations as IOP(A) and outputs the same information to the FTA 251 at essentially the same time (however, each IOP is operating using its own clock). It will be recognized that IOP(B) 21-B is a dedicated backup. The operation of FTA 251, however, permits only IOP(A) or IOP(B) to reach the field device 250, as described above. Once IOP(B) is synchronized, the controller data base is updated as shown in state 3 of Table 1.
Referring the Figure 7, there is shown a block diagram of the circuit utilized for controlling (and testing) the relay switch circuit. (A complete description of the testing operation can be had by referring to the related application "Fault Detection in Relay Drive Circuits" identified above.) The relay coil 254-1 is connected to drivers 301, 302, and to a second relay coil 254-2. (It will be understood by those skilled Docket I2000068 22 5 September 1990 in the art that the relay circuit 253 of Figure 5 can have multiple sets of contacts and a number of relay coils controlling a predetermined number of contacts. The preferred embodiment of the relay 253 utilizes 8 sets of contacts total, a first set of 4 contacts being controlled by a first coil 254-1, and a second set of 4 contacts being controlled by a second coil 254-2.) Driver 301 for the first relay coil 254-1 and driver 401 for the second relay coil 254-2 are both connected to an output terminal Al of IOP(A). Driver 302 for the first relay coil 254-1 and driver 402 for the second relay coil 254-2 are both connected to an output terminal Bl of IOP(B). The output terminal Al from IOP(A) delivers a signal CONTA to the respective drivers and output terminal Bl from IOP(B) delivers a signal CONTB to the respective drivers, the signals used for control of the relay switch circuit (and for testing as described in the related patent application identified above.) Each IOP indirectly provides an indication of the present state to the other IOP via these control lines. The relay coils are also connected to receiver circuits, relay coil 254-1 being connected to receiver circuits 311, 312, and relay coil 254-2 being connected to receiver circuit 411, 412. The receiver circuit 311 from the first relay coil and the output of the receiver circuit 411 from the second relay coil is Docket I2000068 23 5 September 1990 coupled to a first voting circuit (V)261-1, and the output of receiver circuit 312 from the first relay coil and the output of receiver 412 from the second relay coil are coupled to a second voting circuit (V)261-2. The output of the first voting circuit is coupled to an input terminal B2 of IOP(B) and the output of the second voting circuit 261-2 is coupled to a terminal A2 of IOP(A).
In the control mode, the CONTA and CONTB signals are "back-up request" signals. Normally, the output signals are low indicating the IOPs are operating normally. When a failure is detected by the IOP, the corresponding signal is raise high (or true) indicating a request for backup, or that the IOP is not available for backup. The IOPs periodically sense the A2 or B2 input to determine the status of the redundant IOP. The voting circuit 261 is such that there is a degree of memory or hysteresis inherent in the circuit such that the output remains the same until both inputs have been switched.
Referring to Figure 8, there is shown a flow diagram of the communications scheme between the controller and the primary and secondary IOPs. In normal operation, all transfers (i.e., writes) to the IOP(A) 21-A from controller 30 are also received by IOP(B). IOP(B) eavesdrops on the communications since both IOP(A) and IOP(B) have a logical address of one in this example and Docket I2000068 24 5 September 1990 2 Q ~ 3 8 --the controller 30 communicates to the primary IOP by logical address. The controller is performing its main processing, the primary IOP is performing its main processing, and the secondary IOP is performing its main processing, which is the same as the primary IOP, but is running ahead or behind since each IOP is running off its own clock (this assumes initialization of the secondary IOP has been completed and is synchronized). At some point in time the controller transmits a message to IOP
having a logical address of one. Both the primary IOP 21-A and the secondary IOP 21-B receive the message. The controller then continues with its main processing.
However, the primary IOP breaks off from its main processing to accept the message received (block 900).
The message addressed to logical address one is received (block 901) and the message is decoded (block 902). If a read message has been detected, the message is stored in a read buffer for subsequent reading of the requested data in the primary data base for subsequent transmittal to the controller (block 903). If a write message has been decoded the message is stored in a write buffer (block 904) and assigned a message number (block 905). An acknowledge message is then transmitted by the primary IOP
(block 906) to the controller along with the message number assigned. The acknowledge message indicates to the Docket I2000068 25 5 September 1990 2Q~18~

controller that the message has been received and the message number indicates to the controller the message number assigned so that subsequent interrogations by the controller as to the status of the particular message request can be made by message number. (In this description write requests from the controller mean any changes to the data base.) Subsequent inquiries by the controller regarding the status of a message having a specific message number will result in a status return of in progress along with the message number. When the requested action is completed, which would normally take place during the main processing of the primary IOP, the status is updated to a complete status such that when a status request is made by the controller a complete status may be indicated. In the present embodiment, the completed status has three unique classes which include okay, warning, and failure. In this particular situation the failure means the action has not been taken because of some error (e.g., the point is not active, ...), and warning meaning that the action has taken place but the data has been modified (e.g. a request to open a valve 102% may be modified by the primary IOP to open the valve only 100%, ...).
The secondary IOP also receives the transmitted message having a logical address one, since the secondary Docket I2000068 26 5 September 1990 2051~38 IOP is aware of its primary partner's logical address.
The secondary IOP breaks off from its main processing to accept the message (block 907). The received message is decoded (block 908) and if a read message has been detected the processing terminates and exits back to the main processing of the secondary IOP. If a write message has been detected, the message is stored in a write buffer (block 909) and after the primary has responded, the message number transmitted by the primary IOP to the controller in the acknowledge message is checked (block 910). If the primary fails to respond, the secondary ignores the message and exits. The message numbers are assigned sequentially so the secondary IOP has knowledge of the next message number to be allocated by the primary IOP (block 910). Also, during initial synchronization, the secondary IOP is made aware of the primary's current message number. If the message number checks out okay (block 911), the message processing routine of the secondary IOP exits and returns back to the main processing of the secondary IOP (block 911). If the message number is not the message number expected, an error is flagged for subsequently notifying the controller that an error, i.e. an incorrect message number, has been detected and that the secondary IOP is no longer in sync with the primary IOP. The secondary IOP in its main Docket I2000068 27 5 September 1990 20518~8 . . 7 processing works on the same data as the primary IOP
(assuming the message number check passed) but may occur at different times but in the same order. The secondary IOP, since it is running on its own clock, can be ahead or behind in its processing as compared to the main processing of the primary IOP.
Referring to Figure 9, which comprises Figures 9A-9C, a flow diagram of the failover operation of the method of the ~resent invention is shown.
As discussed above, the primary and secondary IOPs 21-A, 21-B cannot communicate with each other via BUS A-22. Normally, with the secondary operational and synchronized, the signals CONTA and CONTB outputted from the primary and secondary IOP to the FTA 251 are low (or false), the primary IOP indicating a normal condition and the secondary IOP indicating it is available for backup.
When the primary IOP detects an error (as a result of running a diagnostic by some failure of some operational checks) (block 800), the primary IOP then checks the A2 input from the voting circuit 261 to determine the sta~us of the secondary IOP 21-B (block 801). The primary verifies that the secondary is synchronized (block 802), and then the primary initiates failover by raising the backup request signal CONTA (block 803) and clears the logical address in its data base (block 804). IOP-A

Docket I2000068 28 5 September 1990 ~ ~ 1 8 8~ 8t.; ~. ~

continues to operate as a secondary. tThe primary may just fail (i.e., cease to operate), in which case, hardware asserts the backup request, and is detected by the secondary. In this case, the primary does not become a secondary.) The secondary IOP 21-B periodically checks the B2 input from the voting circuit 261 to determine the status of the primary IOP (block 805). If the secondary detects the backup request signal from IOP-A is true (indicating IOP-A wants to be backed-up), the secondary IOP-B performs its part in the failover process by setting a primary flag in its data base, thereby accepting the role of primary and operates as the primary IOP (block 806).
The controller 30, on its next transmission (read or write) to the primary IOP (block 810), checks for a response from the primary IOP (IOP-A)(block 811). The communication is performed according to the method as described above, the controller 30 addressing the primary by logical address. As a result of the primary IOP having cleared the logical address as its part in the failover process (block 804, above) or if the primary has failed and cannot respond, the IOP-A does not respond to the communication. IOP B, operating as the secondary IOP
never had the logical address assigned (although it knew what the logical address was, thereby permitting the Docket I2000068 29 5 September 1990 ~-~51~ 8 .

eavesdropping function to occur), and thus does not respond to the communication. After a predetermined period of time without an acknowledge response and any required retries, the controller 30 interrogates IOP-A and S IOP-B by physical address to determine the status of each IOP (block 812). As a result of the response thereto, the controller arbitrates between IOP-A and IOP-B to determine the IOP which is to operate as the primary (block 813).
The controller 30 arbitrates based on the status response.
~For example, even though IOP-A and IOP-B can both indicate some failure, one IOP can be better than the other. IOP-A can have an error in one of the eight outputs, whereas IOP-B can have an error which affects more than one output. This particular example is of a double-failure-type and the redundancy is not intended to handle double failure, but an attempt is made to handle double-failures as gracefully as possible.]
In this case, IOP-B has no failures, and has accepted the primary role, and IOP-A has some error (CONTA was high) indicated in the status reply. The controller 30 will award the logical address (block 814) after the arbitration, in this case to IOP-B. The awarding of the logical address to the IOP by the controller 30 makes IOP-B the primary and permits IOP-B to respond to communications from the controller. IOP-A (has for Docket I2000068 30 5 September 1990 . . ~ ~ . ~ 2Q51~88 example a partial failure) runs as the secondary, and eavesdrops on the communications as described above. As a result of the failover IOP-A is not synchronized, and the controller will later take the necessary steps to s synchronize the new secondary IOP-A. The awarding of the logical address by the controller 30 completes the failover. Since the IOP-B had been operating as the secondary IOP in parallel with IOP-A prior to the failover, it can be readily understood that the failover occurred very efficiently without any loss of output communications to the field devices 250. If IOP-A ceases to operate, IOP-B runs as a primary without backup until manual action is taken to repair the failure.
While there has been shown what is considered the preferred embodiment of the present invention, it will be manifest that many changes and modifications can be made therein without departing from the essential spirit and scope of the invention. It is intended, therefore, in the annexed claims, to cover all such changes and modifications which fall within the true scope of the invention.

Docket I2000068 31 5 September 1990

Claims (9)

  1. Claim 1. In a process control system, having a master controller operatively connected to a communication link; and at least one pair of slave input/output processors (IOPs), each IOP being operatively connected to the communication link, wherein a first IOP of the pair is a primary slave IOP and a second IOP of the pair is a secondary slave IOP, the first and second IOP having a first and second data base, respectively, the first and second IOP each executing the same tasks utilizing a first and second clocking system, respectively, and further wherein the data bases of the first and second IOPs are synchronized, communications by the master controller being made only to the first IOP including communications which modify the first data base, the first and second IOPs being unable to communicate with each other, and further wherein the first and second IOPs are each operatively connected to an output switching device such that control of said output switch device is coordinated between said first and second IOP, and wherein each of said first and second IOP can sense a state of an output control signal from the other IOP to said output switching device, a method for accomplishing a failover, comprising the steps of:
    the primary slave IOP -a) upon detecting an error, verifying the availability of a secondary slave IOP;
    b) setting the output control signal to indicate backup is being requested;
    c) taking itself out of being the primary slave IOP;
    the secondary slave IOP -d) sensing that the output control signal from the other IOP of the pair of IOPs has been set indicating that the primary slave IOP has detected a failure;
    e) assuming the role of the primary slave IOP;
    the master controller -f) detecting an error with the primary slave IOP;
    g) interrogating the primary and secondary slave IOPs for a status input;
    h) arbitrating between the first and second IOP to determine the IOP that is to take on the primary role; and i) awarding the more operational IOP the role of the primary slave IOP, thereby completing the failover operation.
  2. Claim 2. A method for accomplishing a failover, according to claim 1 wherein the step of verifying comprises:
    sensing the state of the output control signal of the secondary IOP to said switching device.
  3. Claim 3. A method of accomplishing a failover, according to claim 2, wherein the step of taking comprises:
    clearing a flag internal to the IOP which is utilized internally to the IOP to indicate that it is in a primary role.
  4. Claim 4. A method for accomplishing a failover, according to step 2, wherein the step of clearing comprises:
    clearing a flag internal to the IOP which is utilized internally to the IOP to indicate that it is in a primary role, the flag including the value of the logical address assigned by the master controller to the IOP.
  5. Claim 5. A method for accomplishing a failover, according to claim 4, wherein the step of assuming comprises:

    setting a flag internal to the secondary slave IOP to indicate to the master controller that the secondary slave IOP is operational and is ready to accept the role of primary slave IOP in the failover operation.
  6. Claim 6. A method for accomplishing a failover, according to claim 5, wherein the step of detecting comprises:
    a) sending a message to the primary slave IOP; and b) obtaining no acknowledgement response within a predetermined time.
  7. Claim 7. A method for accomplishing failover according to claim 6, wherein the step of sending a message to the primary address comprises:
    addressing the primary slave IOP by logical address.
  8. Claim 8. A method for accomplishing failover according to claim 6, wherein the step of interrogating the primary and secondary slave IOP comprises:
    transmitting a message requesting status information addressing each IOP by physical address.
  9. Claim 9. A method for accomplishing failover according to claim 8, wherein the step of awarding comprises:
    sending a message to the selected IOP from step (h) which is to be given the primary role, the message including the logical address chosen by the master controller, the logical address being partially utilized as the primary flag by the IOP.
CA002051888A 1990-09-26 1991-09-19 Method for enacting failover of a 1:1 redundant pair of slave processors Expired - Fee Related CA2051888C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/588,385 US5136498A (en) 1990-09-26 1990-09-26 Method for enacting failover of a 1:1 redundant pair of slave processors
US07/588385 1990-09-26

Publications (2)

Publication Number Publication Date
CA2051888A1 CA2051888A1 (en) 1992-03-27
CA2051888C true CA2051888C (en) 1998-07-07

Family

ID=24353624

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002051888A Expired - Fee Related CA2051888C (en) 1990-09-26 1991-09-19 Method for enacting failover of a 1:1 redundant pair of slave processors

Country Status (5)

Country Link
US (1) US5136498A (en)
EP (1) EP0478291B1 (en)
JP (1) JPH04314138A (en)
CA (1) CA2051888C (en)
DE (1) DE69125330T2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104777772A (en) * 2014-01-14 2015-07-15 横河电机株式会社 Instrumentation system and method for maintaining the same

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202822A (en) * 1990-09-26 1993-04-13 Honeywell Inc. Universal scheme of input/output redundancy in a process control system
US5255388A (en) * 1990-09-26 1993-10-19 Honeywell Inc. Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US5270699A (en) * 1991-08-13 1993-12-14 Rockwell International Corporation Fault tolerant signaling
JP3524936B2 (en) * 1992-01-15 2004-05-10 キャタピラー インコーポレイテッド Redundant control device for hydraulically driven vehicles
JPH06214969A (en) * 1992-09-30 1994-08-05 Internatl Business Mach Corp <Ibm> Method and equipment for information communication
US5426774A (en) * 1993-04-06 1995-06-20 Honeywell Inc. Method for maintaining a sequence of events function during failover in a redundant multiple layer system
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US6181929B1 (en) * 1996-05-20 2001-01-30 Motorola, Inc. Method for switching cell site controllers
KR100195064B1 (en) * 1996-06-20 1999-06-15 유기범 Data network matching device
KR100195065B1 (en) * 1996-06-20 1999-06-15 유기범 Data network matching device
US6012150A (en) * 1997-03-27 2000-01-04 International Business Machines Corporation Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
US5966301A (en) * 1997-06-13 1999-10-12 Allen-Bradley Company, Llc Redundant processor controller providing upgrade recovery
US6070251A (en) * 1997-06-26 2000-05-30 Sun Microsystems, Inc. Method and apparatus for high availability and caching data storage devices
US6006342A (en) * 1997-12-11 1999-12-21 International Business Machines Corporation Failover and failback system for a direct access storage device
US6112311A (en) * 1998-02-20 2000-08-29 International Business Machines Corporation Bridge failover system
US6061750A (en) * 1998-02-20 2000-05-09 International Business Machines Corporation Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6272386B1 (en) * 1998-03-27 2001-08-07 Honeywell International Inc Systems and methods for minimizing peer-to-peer control disruption during fail-over in a system of redundant controllers
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors
CN1092864C (en) * 1998-08-25 2002-10-16 华为技术有限公司 Master backup reverse device
US6393485B1 (en) 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6460146B1 (en) * 1998-12-04 2002-10-01 Cisco Technology, Inc. System and method for establishing processor redundancy
JP3777562B2 (en) * 1999-02-18 2006-05-24 富士通株式会社 Transmission equipment
US6457138B1 (en) * 1999-04-19 2002-09-24 Cisco Technology, Inc. System and method for crash handling on redundant systems
JP2001106331A (en) * 1999-10-08 2001-04-17 Kyowa Seisakusho:Kk Carrying control system
US6701198B1 (en) * 1999-12-22 2004-03-02 Rockwell Automation Technologies, Inc. Safety network for industrial controller allowing initialization on standard networks
US6738826B1 (en) 2000-02-24 2004-05-18 Cisco Technology, Inc. Router software upgrade employing redundant processors
US6687851B1 (en) * 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US7280529B1 (en) * 2000-05-20 2007-10-09 Ciena Corporation Providing network management access through user profiles
US6990606B2 (en) 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
JP3877519B2 (en) * 2000-12-15 2007-02-07 株式会社日立製作所 System recovery method, computer system for implementing the method, and recording medium recording the processing program
US6845467B1 (en) 2001-02-13 2005-01-18 Cisco Systems Canada Co. System and method of operation of dual redundant controllers
US6715098B2 (en) * 2001-02-23 2004-03-30 Falconstor, Inc. System and method for fibrechannel fail-over through port spoofing
US7058170B2 (en) * 2001-05-30 2006-06-06 Siemens Communications, Inc. Method for operating and apparatus for a back-plane supporting redundant circuit cards
US7370239B2 (en) 2001-05-31 2008-05-06 Fisher-Rosemount Systems, Inc. Input/output device with configuration, fault isolation and redundant fault assist functionality
US7017074B2 (en) * 2002-03-12 2006-03-21 Sun Microsystems, Inc. System architecture providing redundant components to improve die yields and system reliability
US7197664B2 (en) * 2002-10-28 2007-03-27 Intel Corporation Stateless redundancy in a network device
US7149923B1 (en) * 2003-01-17 2006-12-12 Unisys Corporation Software control using the controller as a component to achieve resiliency in a computer system utilizing separate servers for redundancy
US7512830B2 (en) * 2004-05-14 2009-03-31 International Business Machines Corporation Management module failover across multiple blade center chassis
CH697274B1 (en) * 2004-09-09 2008-07-31 Alstom Technology Ltd The control device for redundant safe monitoring and control of a system.
JP4600158B2 (en) * 2005-06-01 2010-12-15 トヨタ自動車株式会社 Electronic control device for vehicle
US8713551B2 (en) * 2006-01-03 2014-04-29 International Business Machines Corporation Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
JP4802207B2 (en) * 2008-04-23 2011-10-26 株式会社日立製作所 Information processing system control method, information processing system, and program
DE102010025515A1 (en) * 2010-06-29 2011-12-29 Phoenix Contact Gmbh & Co. Kg Communication system for connecting field devices with a higher-level control device
US20130282238A1 (en) * 2011-11-16 2013-10-24 Flextronics Ap, Llc Monitoring state-of-health of processing modules in vehicles
US9081653B2 (en) 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles
US8971173B1 (en) 2012-09-28 2015-03-03 Juniper Networks, Inc. Methods and apparatus for scalable resilient networks
US9916213B1 (en) * 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US10430303B1 (en) * 2013-03-15 2019-10-01 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9604585B2 (en) 2014-07-11 2017-03-28 Ford Global Technologies, Llc Failure management in a vehicle
JP6299640B2 (en) * 2015-03-23 2018-03-28 横河電機株式会社 Communication device
US10002091B2 (en) 2015-03-26 2018-06-19 Honeywell International Inc. Master/slave management for redundant process controller modules
US10692126B2 (en) 2015-11-17 2020-06-23 Nio Usa, Inc. Network-based system for selling and servicing cars
US20180012197A1 (en) 2016-07-07 2018-01-11 NextEv USA, Inc. Battery exchange licensing program based on state of charge of battery pack
US9928734B2 (en) 2016-08-02 2018-03-27 Nio Usa, Inc. Vehicle-to-pedestrian communication systems
US11024160B2 (en) 2016-11-07 2021-06-01 Nio Usa, Inc. Feedback performance control and tracking
US10410064B2 (en) 2016-11-11 2019-09-10 Nio Usa, Inc. System for tracking and identifying vehicles and pedestrians
US10708547B2 (en) 2016-11-11 2020-07-07 Nio Usa, Inc. Using vehicle sensor data to monitor environmental and geologic conditions
US10694357B2 (en) 2016-11-11 2020-06-23 Nio Usa, Inc. Using vehicle sensor data to monitor pedestrian health
US10515390B2 (en) 2016-11-21 2019-12-24 Nio Usa, Inc. Method and system for data optimization
US10249104B2 (en) 2016-12-06 2019-04-02 Nio Usa, Inc. Lease observation and event recording
US10074223B2 (en) 2017-01-13 2018-09-11 Nio Usa, Inc. Secured vehicle for user use only
US10031521B1 (en) 2017-01-16 2018-07-24 Nio Usa, Inc. Method and system for using weather information in operation of autonomous vehicles
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US9984572B1 (en) 2017-01-16 2018-05-29 Nio Usa, Inc. Method and system for sharing parking space availability among autonomous vehicles
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10464530B2 (en) 2017-01-17 2019-11-05 Nio Usa, Inc. Voice biometric pre-purchase enrollment for autonomous vehicles
US10897469B2 (en) 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
US10503617B2 (en) 2017-02-16 2019-12-10 Honeywell International Inc. Method for synchronizing redundant controllers without hardware support
US9990286B1 (en) * 2017-05-05 2018-06-05 Honeywell International, Inc. Memory tracking using copy-back cache for 1:1 device redundancy
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10717412B2 (en) 2017-11-13 2020-07-21 Nio Usa, Inc. System and method for controlling a vehicle using secondary access methods
CN108363291A (en) * 2018-03-06 2018-08-03 杭州电子科技大学 A kind of principal and subordinate's double copies formula subglacial lake recoverable version detector TT&C system and method
US10369966B1 (en) 2018-05-23 2019-08-06 Nio Usa, Inc. Controlling access to a vehicle using wireless access devices
US11449403B2 (en) * 2019-10-09 2022-09-20 Honeywell International Inc. Apparatus and method for diagnosing faults in a fieldbus interface module
US11215378B2 (en) * 2020-05-06 2022-01-04 Trane International Inc. Systems and methods for controlling a climate control system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56110163A (en) * 1980-02-06 1981-09-01 Hitachi Ltd Logout system
US4933833A (en) * 1980-09-23 1990-06-12 Ads Services, Inc. Measurement and control system
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
JPS6182201A (en) * 1984-09-29 1986-04-25 Nec Home Electronics Ltd Fail-safe controlling circuit
JPS61169036A (en) * 1985-01-22 1986-07-30 Nec Corp System supervisory device
JPH02118738A (en) * 1988-10-27 1990-05-07 Fuji Electric Co Ltd Switching system by abnormal level of duplexing control system
US4958270A (en) * 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
US4959768A (en) * 1989-01-23 1990-09-25 Honeywell Inc. Apparatus for tracking predetermined data for updating a secondary data base
US5008805A (en) * 1989-08-03 1991-04-16 International Business Machines Corporation Real time, fail safe process control system and method
US5088021A (en) * 1989-09-07 1992-02-11 Honeywell, Inc. Apparatus and method for guaranteed data store in redundant controllers of a process control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104777772A (en) * 2014-01-14 2015-07-15 横河电机株式会社 Instrumentation system and method for maintaining the same
CN104777772B (en) * 2014-01-14 2018-02-23 横河电机株式会社 Instrumented system and its maintaining method

Also Published As

Publication number Publication date
CA2051888A1 (en) 1992-03-27
EP0478291A2 (en) 1992-04-01
US5136498A (en) 1992-08-04
DE69125330D1 (en) 1997-04-30
JPH04314138A (en) 1992-11-05
DE69125330T2 (en) 1997-09-18
EP0478291B1 (en) 1997-03-26
EP0478291A3 (en) 1993-06-30

Similar Documents

Publication Publication Date Title
CA2051888C (en) Method for enacting failover of a 1:1 redundant pair of slave processors
CA2051786C (en) Universal scheme of input/output redundancy in a process control system
US5142470A (en) Method of maintaining synchronization of a free-running secondary processor
US5261092A (en) Synchronizing slave processors through eavesdrop by one on periodic sync-verify messages directed to another followed by comparison of individual status
US5255388A (en) Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US6493796B1 (en) Method and apparatus for maintaining consistency of data stored in a group of mirroring devices
AU680974B2 (en) Fault resilient/fault tolerant computing
US5313386A (en) Programmable controller with backup capability
JP5585332B2 (en) Fault tolerant system, master FT control LSI, slave FT control LSI and fault tolerant control method
EP0478289A2 (en) Fault detection in relay drive circuits
US5392424A (en) Apparatus for detecting parity errors among asynchronous digital signals
JP4182948B2 (en) Fault tolerant computer system and interrupt control method therefor
US5168443A (en) Method for providing redundancy of a high speed pulse input I/O processor
JP3679412B6 (en) Computation with fast recovery from failure / tolerance to failure
JPH04241643A (en) Method for diagnosing fault of computer system

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed