US4607365A - Fault-tolerant communications controller system - Google Patents

Fault-tolerant communications controller system Download PDF

Info

Publication number
US4607365A
US4607365A US06/551,283 US55128383A US4607365A US 4607365 A US4607365 A US 4607365A US 55128383 A US55128383 A US 55128383A US 4607365 A US4607365 A US 4607365A
Authority
US
United States
Prior art keywords
line
communications
controllers
data
processors
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 - Lifetime
Application number
US06/551,283
Inventor
David A. Greig
David L. Hinders
William R. Goodman
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.)
Hewlett Packard Development Co LP
Original Assignee
Tandem Computers 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 Tandem Computers Inc filed Critical Tandem Computers Inc
Assigned to TANDEM COMPUTERS INCORPORATED A CORP. OF DE reassignment TANDEM COMPUTERS INCORPORATED A CORP. OF DE ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: GOODMAN, WILLIAM R., GREIG, DAVID A., HINDERS, DAVID L.
Priority to US06/551,283 priority Critical patent/US4607365A/en
Priority to CA000467290A priority patent/CA1217281A/en
Priority to AU35432/84A priority patent/AU578048B2/en
Priority to AT84307876T priority patent/ATE89678T1/en
Priority to EP84307876A priority patent/EP0147046B1/en
Priority to AT89115044T priority patent/ATE88288T1/en
Priority to DE84307876T priority patent/DE3486148T2/en
Priority to EP89115044A priority patent/EP0346946B1/en
Priority to DE8989115044T priority patent/DE3486130T2/en
Priority to JP59240383A priority patent/JPS60117943A/en
Priority to US06/853,927 priority patent/US4783733A/en
Publication of US4607365A publication Critical patent/US4607365A/en
Application granted granted Critical
Priority to AU21104/88A priority patent/AU596910B2/en
Anticipated expiration legal-status Critical
Assigned to COMPAQ COMPUTER CORPORATION, A DELAWARE CORPORATION reassignment COMPAQ COMPUTER CORPORATION, A DELAWARE CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: TANDEM COMPUTERS INCORPORATED
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P.
Assigned to COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., A TEXAS LIMITED PARTNERSHIP reassignment COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., A TEXAS LIMITED PARTNERSHIP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COMPAQ COMPUTER CORPORATION
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/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
    • 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
    • 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/2005Error 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 controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Definitions

  • the present invention relates to fault-tolerant communications controller systems. More specifically, it relates to using redundant components and redundant internal communications paths to assure continued operation during single component failures.
  • a processor To send data over the communications line, a processor must control the communications controller by sending it commands and receiving status reports.
  • the processor uses the communications controller to communicate data to a plurality of remote ports.
  • the processor communicates with the communications controller over a data bus.
  • An error in the processor, controller, line or bus can disable communications.
  • multiple communications lines are linked to the processor through the communications controller. Thus, a single error can terminate all communications between the processor and the remote ports.
  • one method employed by the prior art is to provide redundant busses between the processor and the communications controller. If one of the busses malfunctions, another is available to maintain communications. A further refinement is to provide for redundant processors so that if a processor malfunctions another can take its place.
  • the communications line may be connected to more than one controller to avoid losing the use of all the communications lines when a communications controller malfunctions.
  • This requires a dual-port remote port such as a dual-port disk drive.
  • Communications lines and communications controllers are generally not so expensive.
  • controllers are assigned the task of communicating data from the computer system to a multiplicity of input-output ports.
  • Different input-output ports have different electronic line level, data line level and block level communications protocols.
  • a standard practice is to design a communications controller with a particular electronic line level, a data line level, and a block level protocol.
  • the electronic line level protocols have different electronic specifications, in that, the voltage and current levels are specified for the protocol.
  • the data line level protocol is the logic formatting of the data within small data blocks.
  • a block of data comprises a multiplicity of data characters which in turn comprise a multiplicity of data bits.
  • the data line level protocol determines the format, for example, the number of start bits, stop bits, even or odd parity, bit cell time, phase encoding, NRZ coding. Within this format the individual bits or individual characters are transferred.
  • the block level protocol determines the format, for example start character, stop character, error correction/deletion codes, end characters. Within the block level format, blocks of character bits are transferred.
  • the block level protocol is concerned with transferring blocks of data between the controllers.
  • the block level protocol maintains the integrity of a block during its transfer by the use of protocol codes, e.g. send-data and ackowledge.
  • each controller has employed a microprocessor of a particular design.
  • each type of electronic line level protocol requires a particular electronic interface hardware design. Manufacturing costs are directly related to the number of different modules required.
  • a power supply is required to power the communication controllers.
  • the computer system is dependent on its only power supply, because every component depends upon that power supply for continued operation.
  • the computer system will fail if its only power supply system fails.
  • An object of the present invention is to provide reliable use of a computer system by using redundant busses, processors, communications controllers and power supplies. Another object of the invention is to enhance the reliability of the computer system by allowing dynamic allocation of its resources to maintain communications. Finally, it is an object of the present invention to provide within a communications controller a common processing module which will support a variety of communications protocols.
  • the present invention deviates from a conventional computer system configuration by having the communications controller comprised of communications controllers, multiplexers and line controllers.
  • the communications controllers direct communications to and from a plurality of communication line controllers through the multiplexers.
  • Each of the line controllers transfers information within a predetermined protocol format for communicating data between remote ports and the communication controllers through the multiplexers.
  • two processors and their respective busses are connected to two communications controllers so as to allow either processor to access either communications controller.
  • Each communications controller is connected to a respective multiplexer, and each multiplexer is connected to and communicates with a plurality of line controllers.
  • Each line controller has two ports, each of which is connected to one of the multiplexers.
  • Both the processors are of a common design.
  • Both the communications controllers are of a common design.
  • Both the multiplexers are of a common design and all of the line controllers are of a common design. These common designs decrease manufacturing costs.
  • Two power supplies and their respective monitors which are implemented in the multiplexer, are used to reliably supply power to the multiplexers and line controllers. Power levels are monitored periodically to detect a failure of either power supply.
  • the architecture uses redundant communication paths among the processors, controllers, multiplexers and line controllers.
  • the redundant architecture provides the continuous operation to the line level even when a single component has failed.
  • Each component uses loop-back methods to test its connectivity with other parts of the system; that is, each component can electronically disconnect itself from a connected device and loop its port back upon itself for receiving its own transmitted data from a connected component.
  • the computer by executing a self-test, can determine if a component is operational.
  • Each component uses an echo-back method to test its functionality in that a component can store received data and subsequently retransmit it back to the original transmitting component.
  • the common line controller design is accomplished by providing a processing module in the form of a microprocessor module which will properly operate and communicate with one of several types interface modules. A multiplicity of electronic line, data line and block level protocols are enabled by the line controller.
  • the microprocessor module stores and executes a variety of data line level and block level protocol software programs.
  • the microprocessor module can be down-loaded with a particular program to support any one of a variety data line level protocols for a particular type of remote communications port.
  • Down-loading is the transfer of software programs from one processing module to another.
  • one processor which is typically responsible for processing data at the system level can transfer programs to the microprocessing module which is typically responsible for processing at the subsystem level, that is, the data line level. Consequently, the term "down-loading" is used in the trade to describe and directionally reference the program transfer.
  • the microprocessor module receives down-loadable software protocol programs from the processors of the computer system. This permits upgrades or modification of the protocol program stored in the line controller while the line controller is operational, that is, the line controller is powered and communicating with the controller. A substitution of an interface module is made when a remote communications port requires a different electronic line level protocol.
  • the microprocessor module and the interface module within the line controller connect together over interface lines within the communications controller.
  • the line controller design provides the line controller with on-line maintenance. Computer system upgrades to a different electronic line level protocol only require changing the interface module. The user can down-load different software programs to the microprocessor module of the line controller for changing the data line level or block level protocols.
  • FIG. 1 is a block diagram of the system architecture.
  • FIG. 2 is a hardware block diagram of a line controller connected to multiplexers and communications ports.
  • FIG. 3 is a detailed block diagram of a line controller connected to the multiplexer and the communications ports.
  • two processors 10a and 10b of a computer system are used to control a communication controller system 11.
  • Each processor 10a and 10b controls its own bus 12a and 12b, respectively.
  • Two communications controllers 14a and 14b are connected to the busses 12a and 12b, respectively, and this connection allows either processor 10a or 10b to control either communications controllers 14a or 14b.
  • the communications controllers 14 are controlled by the processors 10 as is conventional in the art.
  • the communications controllers 14a and 14b direct data communication through their respective multiplexers 16a and 16b on their respective links 18a and 18b.
  • the multiplexers 16a and 16b communicate with line controllers 20a, 20b, 20c through 20n.
  • the multiplexer 16a communicates to the line controllers 20a, 20b, 20c through 20n on multiplexer lines 22a, 22b, 22c through 22n, respectively.
  • the multiplexer 16b communicates to the line controllers 20a, 20b, 20c through 20n on multiplexer lines 24a, 24b, 24c through 24n, respectively.
  • Each of the line controllers 20a, 20b, 20c through 20n is connected to a corresponding one of remote ports 26a, 26b, 26c through 26n, respectively, on their respective communications lines 28a, 28b, 28c through 28n.
  • the line controllers 20 can be modified so that each line controller 20 can communicate to a plurality of remote port 26 types.
  • Each controller 14a or 14b uses a multiplexer 16a or 16b, respectively, to direct the operations of up to fifteen line controllers 20 and one of two power supplies 30a and 30b, respectively, through monitor lines 32a and 32b, respectively.
  • Each of the line controllers 20 has two ports and each port is connected to a multiplexer 16a and 16b, respectively, so that either processor 10a or 10b can communicate through each and every line controller 20 even if one of the multiplexers 16a or 16b fails, or if one of the controllers 14a or 14b fails.
  • Two power supplies 30a and 30b are used to supply power. Both power supplies 30a and 30b are monitored by dual power monitors, not shown, within each of the multiplexers 16. The monitors periodically report the state of the power supplies 30 to the processors 10.
  • the multiplexers 16a and 16b receive data from the power supplies, 30a and 30b on monitor lines 32a and 32b, respectively.
  • Each multiplexer 16a and 16b can monitor the voltage levels of both power supplies 30 through conventional analog to digital converters. However, multiplexer 16a can only disable the power supply 30a while multiplexer 16b can only disable the power supply 30b. Both multiplexers 16 can monitor and report the status of both power supplies 30.
  • the communication of data through the communication system 11 occurs on busses 12, links 18, multiplexer lines 22 and 24 and communication lines 28.
  • the advantages of the present system are made possible by the redundant communication configuration. Even though the efficiency of the system is in part dependent upon the manner of communication, that is, the format for data and the type of command and data messages transferred, the fault tolerance advantage of the system is not so dependent.
  • the fault tolerance advantage of the system is enabled by the use of the redundant configuration and a variety of conventional formats, protocols and command-data messages. Data within predetermined formats and command-data messages transferred within predetermined protocols are well known in the art as are various types of line architectures.
  • processors 10, controllers 14 multiplexers 16 and line controllers 20 include intelligent machines in that they use internal processing circuits with memory components that store software programs and data bases.
  • the software programs are generally of two types and they are the operating system programs and the application programs. These types of programs are well known in the art. And, even though these programs aid the communicative efficiency of the system, the fault tolerance advantage can be realized independent of the specific programs actually used. Thus, the present invention relates specifically to the hardware architecture and not specifically to the format of communication or the programs employed.
  • the processors 10, controllers 14, multiplexers 16 and line controllers 20 have the ability to echo back, that is, receive, store and transmit back to the original sender.
  • the processors 10 can, under program control, determine if a module has failed.
  • the processor 10a wishes to determine why it can not communicate with the remote port 26a at a time when the processor 10a is communicating to the port 26a through multiplexer 16a.
  • the processor 10a transmits a message to the port 26a through the multiplexer 16b and it is determined through an echo back that the communication was successful.
  • the processor 10a should now deduce that there is a problem in the processors 10an-controller 14a-link 18a-multiplexer 16a-multiplexer line 22a-line controller 20a communication path.
  • the processor 10a can determine where in that communication path the error is occurring. For example, if the controller 14a successfully echos back and the multiplexer 16a fails to echo back, then the processor 10a can deduce that there is a failure on link 18a or in the multiplexer 16a.
  • the processors 10 can determine where in the system there is a failure and the processors 10 can thereafter not use the failing component while the communication system 11 remains active, that is, the processors 10 can dynamically reallocate or disable resources so as to be single fault tolerant. Therefore, for example if multiplexer 16a fails, the communications lines 28 are still accessible to both processors 10 through the other communications controller 14b and multiplexer 16b.
  • processors 10 may also reallocate line controllers 20 between the communications controllers 14 dynamically as need and priority require.
  • processors 10 can perform checks on each other to determine if one of the processors 10 has failed. This can be accomplished by having each processor execute the same program with inter-processor checking, that is, each processor 10 checks the results of the other. The failing processor is then disabled.
  • a line controller 20 includes two modules. The first is a processing module 34 and the second is an electronic interface module 36. Different various electronic interface modules 36 can be used with one processing module 34 which serves as a common processing module and is preferably a microprocessor module.
  • the multiplexers 16a and 16b of a computer system will communicate programs to the processing module 34 from the processors 10a and 10b of a computer system, not shown, when downloading of data program to the processing module 34 as desired by the processors 10a and 10b.
  • the data programs contain the information which the processing module 34 can effect a particular communications protocol through the electronic module 36 to the remote ports 26.
  • the electronic interface module 36 is a hardware module that includes various line drivers 37 and line receivers 38.
  • the line drivers 37 and the line receivers 38 have particular electronic specifications, in that they have specified current and voltage levels consistent with the electronic line level protocol desired, such as RS232.
  • the line drivers 37 and line receivers 38 communicate data to and from the remote communications ports 26.
  • the electrical interface module board 36 is changed to effectuate a change in the electronic line level protocol of the line controller 20. This requires a manual change of the electronic interface module 36.
  • the protocol programs loaded into the processing module 34 describes the format requirements in which the data is to be transferred.
  • the electronic interface module 36 operates consistent with prescribed electronic specifications of the desired protocol.
  • the multiplexers 16a and 16b communicate data to the processing module 34 through serial communications ports 40a and 40b.
  • the communications ports 40a and 40b transmit and receive serial data to and from the multiplexers 16a and 16b.
  • the communications ports 40a and 40b are respectively connected to the communication links 22 and 24 which comprise a multiplicity of serial unidirectional data and clocking lines 42a, 44a, 46a and 48a, and 42b, 44b, 46b and 48b, respectively.
  • the communications ports 40 are each connected to two unidirectional lines 42 and 44 to effectuate transfers of serial data.
  • Serial receive data is transmitted on line 42 into each of the serial communications ports 40.
  • the receive data is clocked by clocking signals on line 46.
  • Serial transmit data is transmitted on line 44 out of each of the serial communications ports 40.
  • the transmit data is clocked by clocking signals on line 48.
  • the clocking lines 46 and 48 are controlled by the multiplexers 16.
  • the serial communications ports 40 of the processing module 34 are each a conventional device 68
  • serial communications ports 40 are each connected to a data bus 50 and an address bus 52 of the processing module 34.
  • a microprocessor 54, RAM (random access memory) 56, ROM (read only memory) 58, serial input-output port 60, parallel output port 62 and parallel input port 64 are also connected to the address bus 52 and the data bus 54 of the processing module 34.
  • RAM 56, ROM 58 and microprocessor 54 are connected in a conventional configuration.
  • the ROM 58 stores operating system programs that aid the transfer of data between the multiplexers 16 and the RAM 56. Additionally, the operating system programs in the ROM 58 cause the microprocessor 54 to execute protocol application programs that are down-loaded and stored in the RAM 56. The remaining storage capacity of the RAM 56 is used for data buffering between the serial communications ports 40 that are connected to the multiplexers 16, and the input-output serial port 60, the parallel input port 64, and the parallel output port 62.
  • the line drivers 37 and line receivers 38 communicate the data between the remote communications ports 26 and the processing module 34.
  • the serial input-output port 60 is programmable by the microprocessor 54.
  • the microprocessor 54 programs the serial input-output port 60 while under protocol application program control. Thus, the protocol is in part programmed into the serial input-output port 60.
  • the serial input-output port 60 is connected to the electrical interface module 36 through the output lines 66 and input lines 68.
  • the microprocessor 54 controls the address bus 52 and data bus 50 to transfer data between the microprocessor 54 or RAM 56 and the serial input-output port 60, the parallel input port 64 or the parallel output port 64.
  • the serial input-output port 60 is a conventional component, Z80SI0.
  • the parallel input port 64 and parallel output port 62 comprise 74LS244 buffers and 74LS273 latches.
  • the line drivers 37 and line receivers 38 are of particular components depending upon the electrical protocol predetermined by the system.
  • Protocols RS232, RS423, and RS422 are conventional electronic line level protocols.
  • the line drivers 37 may be National part 75150, Texas Instrument 75150, National part 1488 while the line receivers 38 may be Texas Instruments part 75154, National part 1489 for the RS232 protocol which is a bipolar plus or minus 24 volt line protocol.
  • the line drivers 37 may be Texas Instrument part 75156, Fairchild part 9636 or National part 3691 while the line receivers 38 may be National part 26LS32 or Advance Micro Devices 26LS33 for the RS423 protocol which is a plus or minus 5 volt bipolar single line protocol.
  • the line drivers 37 may be the National part 3691, Advance Micro Devices part 26LS31, Texas Instruments part 75174 or the Motorola part 3487 while the line receivers 38 may be National part 26LS32 or Advance Micro Devices 26LS32 for the RS422 protocol which is a zero to five volt unipolar differential line protocol.
  • line drivers 37 and line receivers 38 are chosen to be mounted on the electronic interface module 36 depending upon the protocol implemented on a particular electronic interface module 36.
  • the manufacturer who has built several types of modules to implement respective protocols need only change manually the electronic interface module 36 and not the entire line controller 20.
  • protocol application programs need not be changed manually because the protocol application programs may be down-loaded through the multiplexers 16 into the RAM 56 and executed by the microprocessor 54.
  • the electronic interface module 36 has a storage ciruit 70 for identifying the type of electronic interface module 36.
  • the storage circuit 70 present outputs on the input lines 68. These outputs on lines 68 are presented when the storage circuit 70 is enable by the output lines 66.
  • the information presented onto the input lines 68 by the storage circuit 70 represents the type of electrical interface module 36 that is presently configured with the processing module 34.
  • the microprocessor 54 can now identify the type of electrical interface module 36 with which it is configured.
  • the microprocessor 54 can read from the electrical interface module 36 this information which is an identifier.
  • the processing module 34 can store this identifier information and report to the processors 10.
  • the electronic interface module 36 includes a loop-back circuit 72 which is controlled by the microprocessor 54 through the output lines 66.
  • the loop-back circuit is connected to the communication line 38 which comprises of an output communication line 74 and an input line 76.
  • the loop-back circuit 72 causes the remote communication port 26 to be disconnected from the electronic interface module 36 and causes the output communication lines 74 that are connected to the line drivers 37, to be connected to the line receivers 38 when activated by the microprocessor 54 through the output lines 66.
  • Output data signals on the output communication lines 74 are connected to the input communication lines, that is, the output communication lines 74 are looped back when the loop-back circuit 72 is activated.
  • processors 10 can cause data to be transmitted out to a line controller 20 and looped back and received by the processors 10 so as to enhance diagnostic and fault indentification functions.
  • the processors 10 can enhance diagnostics by down-loading diagnostic programs into the line controllers 20.
  • the line controllers 20 use these diagnostic programs to effectuate self-testing by using the loop back circuit 72.
  • the loop-back circuit 72 in combination with the echo-back function enhances the processors 10 ability to perform fault identification and resource allocation as discussed.

Abstract

The present invention relates to a system for controlling multiple communications lines, so that a computer system can operate with a single component failure. Two processors are used to control two communications controllers and each of the controllers control up to 15 line controllers. Each line controller has two ports and each port is connected to a communications controller thereby providing two communications paths to each processor. Redundant power supplies are also used to provide single failure fault-tolerance. A downloadable microprocessor board is provided in combination with, but separate from, an interface board that is designed to meet various communication format specifications and the line controller comprises the two boards.

Description

BACKGROUND
The present invention relates to fault-tolerant communications controller systems. More specifically, it relates to using redundant components and redundant internal communications paths to assure continued operation during single component failures.
Communication between computer systems is common. Whenever data is transmitted, either to a remote port for human use, to another node in a wide-area network, or to a transmission station in a switching network, a communications line must exist between the sending and receiving devices. This communications line is typically controlled by a communications controller.
To send data over the communications line, a processor must control the communications controller by sending it commands and receiving status reports. The processor uses the communications controller to communicate data to a plurality of remote ports. The processor communicates with the communications controller over a data bus. An error in the processor, controller, line or bus can disable communications. In the typical computer system, multiple communications lines are linked to the processor through the communications controller. Thus, a single error can terminate all communications between the processor and the remote ports.
To avoid this, one method employed by the prior art is to provide redundant busses between the processor and the communications controller. If one of the busses malfunctions, another is available to maintain communications. A further refinement is to provide for redundant processors so that if a processor malfunctions another can take its place.
The communications line may be connected to more than one controller to avoid losing the use of all the communications lines when a communications controller malfunctions. This requires a dual-port remote port such as a dual-port disk drive. However, there is the great expense of requiring two communications controllers per communications line. This is acceptable with magnetic disk drives, because a large capacity disk drive can be very expensive and therefore worth the expense of providing two communications controllers. Communications lines and communications controllers are generally not so expensive.
This approach requires that several types of multiport controllers be developed and used to control several types of remote ports.
These controllers are assigned the task of communicating data from the computer system to a multiplicity of input-output ports. Different input-output ports have different electronic line level, data line level and block level communications protocols.
A standard practice is to design a communications controller with a particular electronic line level, a data line level, and a block level protocol. The electronic line level protocols have different electronic specifications, in that, the voltage and current levels are specified for the protocol.
The data line level protocol is the logic formatting of the data within small data blocks. A block of data comprises a multiplicity of data characters which in turn comprise a multiplicity of data bits. The data line level protocol determines the format, for example, the number of start bits, stop bits, even or odd parity, bit cell time, phase encoding, NRZ coding. Within this format the individual bits or individual characters are transferred.
The block level protocol determines the format, for example start character, stop character, error correction/deletion codes, end characters. Within the block level format, blocks of character bits are transferred. The block level protocol is concerned with transferring blocks of data between the controllers. The block level protocol maintains the integrity of a block during its transfer by the use of protocol codes, e.g. send-data and ackowledge.
The computer system may be required to use several different types of communications controllers depending upon the variety of communications ports connected to the computer system. A traditional method for providing such a variety of communications for each type of communications controller is to design a particular communications port attached to the computer system. The ports attached may have different electronic line level protocols, data line level protocols and block level protocols. Consequently, computer manufacturers have been required to undertake the design and development of a variety of communications controllers.
Typically, each controller has employed a microprocessor of a particular design. Additionally, each type of electronic line level protocol requires a particular electronic interface hardware design. Manufacturing costs are directly related to the number of different modules required.
A power supply is required to power the communication controllers. The computer system is dependent on its only power supply, because every component depends upon that power supply for continued operation. The computer system will fail if its only power supply system fails.
SUMMARY
An object of the present invention is to provide reliable use of a computer system by using redundant busses, processors, communications controllers and power supplies. Another object of the invention is to enhance the reliability of the computer system by allowing dynamic allocation of its resources to maintain communications. Finally, it is an object of the present invention to provide within a communications controller a common processing module which will support a variety of communications protocols.
The present invention deviates from a conventional computer system configuration by having the communications controller comprised of communications controllers, multiplexers and line controllers. The communications controllers direct communications to and from a plurality of communication line controllers through the multiplexers. Each of the line controllers transfers information within a predetermined protocol format for communicating data between remote ports and the communication controllers through the multiplexers.
In a preferred embodiment, two processors and their respective busses are connected to two communications controllers so as to allow either processor to access either communications controller. Each communications controller is connected to a respective multiplexer, and each multiplexer is connected to and communicates with a plurality of line controllers. Each line controller has two ports, each of which is connected to one of the multiplexers.
Both the processors are of a common design. Both the communications controllers are of a common design. Both the multiplexers are of a common design and all of the line controllers are of a common design. These common designs decrease manufacturing costs.
Two power supplies and their respective monitors which are implemented in the multiplexer, are used to reliably supply power to the multiplexers and line controllers. Power levels are monitored periodically to detect a failure of either power supply.
The architecture uses redundant communication paths among the processors, controllers, multiplexers and line controllers. The redundant architecture provides the continuous operation to the line level even when a single component has failed.
Each component uses loop-back methods to test its connectivity with other parts of the system; that is, each component can electronically disconnect itself from a connected device and loop its port back upon itself for receiving its own transmitted data from a connected component. During a diagnostic test which enables the loop back, the computer, by executing a self-test, can determine if a component is operational.
Each component uses an echo-back method to test its functionality in that a component can store received data and subsequently retransmit it back to the original transmitting component.
The common line controller design is accomplished by providing a processing module in the form of a microprocessor module which will properly operate and communicate with one of several types interface modules. A multiplicity of electronic line, data line and block level protocols are enabled by the line controller. The microprocessor module stores and executes a variety of data line level and block level protocol software programs. The microprocessor module can be down-loaded with a particular program to support any one of a variety data line level protocols for a particular type of remote communications port.
Down-loading is the transfer of software programs from one processing module to another. Thus, one processor which is typically responsible for processing data at the system level can transfer programs to the microprocessing module which is typically responsible for processing at the subsystem level, that is, the data line level. Consequently, the term "down-loading" is used in the trade to describe and directionally reference the program transfer.
A typical transfer occurs on a system bus or a communications link and these communications are well known in the art. The microprocessor module receives down-loadable software protocol programs from the processors of the computer system. This permits upgrades or modification of the protocol program stored in the line controller while the line controller is operational, that is, the line controller is powered and communicating with the controller. A substitution of an interface module is made when a remote communications port requires a different electronic line level protocol.
The microprocessor module and the interface module within the line controller connect together over interface lines within the communications controller.
The line controller design provides the line controller with on-line maintenance. Computer system upgrades to a different electronic line level protocol only require changing the interface module. The user can down-load different software programs to the microprocessor module of the line controller for changing the data line level or block level protocols. These and other advantages will become apparent in the description of a preferred embodiment.
DRAWING DESCRIPTION
FIG. 1 is a block diagram of the system architecture.
FIG. 2 is a hardware block diagram of a line controller connected to multiplexers and communications ports.
FIG. 3 is a detailed block diagram of a line controller connected to the multiplexer and the communications ports.
PREFERRED EMBODIMENT
Referring to FIG. 1, two processors 10a and 10b of a computer system, not shown, are used to control a communication controller system 11. Each processor 10a and 10b controls its own bus 12a and 12b, respectively. Two communications controllers 14a and 14b are connected to the busses 12a and 12b, respectively, and this connection allows either processor 10a or 10b to control either communications controllers 14a or 14b.
The communications controllers 14 are controlled by the processors 10 as is conventional in the art. The communications controllers 14a and 14b direct data communication through their respective multiplexers 16a and 16b on their respective links 18a and 18b. The multiplexers 16a and 16b communicate with line controllers 20a, 20b, 20c through 20n. The multiplexer 16a communicates to the line controllers 20a, 20b, 20c through 20n on multiplexer lines 22a, 22b, 22c through 22n, respectively. The multiplexer 16b communicates to the line controllers 20a, 20b, 20c through 20n on multiplexer lines 24a, 24b, 24c through 24n, respectively.
Each of the line controllers 20a, 20b, 20c through 20n is connected to a corresponding one of remote ports 26a, 26b, 26c through 26n, respectively, on their respective communications lines 28a, 28b, 28c through 28n. However, the line controllers 20 can be modified so that each line controller 20 can communicate to a plurality of remote port 26 types.
Each controller 14a or 14b uses a multiplexer 16a or 16b, respectively, to direct the operations of up to fifteen line controllers 20 and one of two power supplies 30a and 30b, respectively, through monitor lines 32a and 32b, respectively. Each of the line controllers 20 has two ports and each port is connected to a multiplexer 16a and 16b, respectively, so that either processor 10a or 10b can communicate through each and every line controller 20 even if one of the multiplexers 16a or 16b fails, or if one of the controllers 14a or 14b fails.
Two power supplies 30a and 30b are used to supply power. Both power supplies 30a and 30b are monitored by dual power monitors, not shown, within each of the multiplexers 16. The monitors periodically report the state of the power supplies 30 to the processors 10. The multiplexers 16a and 16b receive data from the power supplies, 30a and 30b on monitor lines 32a and 32b, respectively. Each multiplexer 16a and 16b can monitor the voltage levels of both power supplies 30 through conventional analog to digital converters. However, multiplexer 16a can only disable the power supply 30a while multiplexer 16b can only disable the power supply 30b. Both multiplexers 16 can monitor and report the status of both power supplies 30.
The communication of data through the communication system 11 occurs on busses 12, links 18, multiplexer lines 22 and 24 and communication lines 28. The advantages of the present system are made possible by the redundant communication configuration. Even though the efficiency of the system is in part dependent upon the manner of communication, that is, the format for data and the type of command and data messages transferred, the fault tolerance advantage of the system is not so dependent.
The fault tolerance advantage of the system is enabled by the use of the redundant configuration and a variety of conventional formats, protocols and command-data messages. Data within predetermined formats and command-data messages transferred within predetermined protocols are well known in the art as are various types of line architectures.
Additionally, the processors 10, controllers 14 multiplexers 16 and line controllers 20 include intelligent machines in that they use internal processing circuits with memory components that store software programs and data bases.
The software programs are generally of two types and they are the operating system programs and the application programs. These types of programs are well known in the art. And, even though these programs aid the communicative efficiency of the system, the fault tolerance advantage can be realized independent of the specific programs actually used. Thus, the present invention relates specifically to the hardware architecture and not specifically to the format of communication or the programs employed.
Referring again to FIG. 1, the processors 10, controllers 14, multiplexers 16 and line controllers 20 have the ability to echo back, that is, receive, store and transmit back to the original sender. Thus, the processors 10 can, under program control, determine if a module has failed.
For example, the processor 10a wishes to determine why it can not communicate with the remote port 26a at a time when the processor 10a is communicating to the port 26a through multiplexer 16a. The processor 10a transmits a message to the port 26a through the multiplexer 16b and it is determined through an echo back that the communication was successful. The processor 10a should now deduce that there is a problem in the processors 10an-controller 14a-link 18a-multiplexer 16a-multiplexer line 22a-line controller 20a communication path. By the use of echo back diagnostic tests, the processor 10a can determine where in that communication path the error is occurring. For example, if the controller 14a successfully echos back and the multiplexer 16a fails to echo back, then the processor 10a can deduce that there is a failure on link 18a or in the multiplexer 16a.
In this manner, the processors 10 can determine where in the system there is a failure and the processors 10 can thereafter not use the failing component while the communication system 11 remains active, that is, the processors 10 can dynamically reallocate or disable resources so as to be single fault tolerant. Therefore, for example if multiplexer 16a fails, the communications lines 28 are still accessible to both processors 10 through the other communications controller 14b and multiplexer 16b.
If either processor 10a or 10b fails, the communicating lines 23 are still accessible to the other processor 10 because both control processors 10 can control the communications controllers 14. Processors 10 may also reallocate line controllers 20 between the communications controllers 14 dynamically as need and priority require.
Lastly, the processors 10 can perform checks on each other to determine if one of the processors 10 has failed. This can be accomplished by having each processor execute the same program with inter-processor checking, that is, each processor 10 checks the results of the other. The failing processor is then disabled.
Referring to FIG. 1 and 2, a line controller 20 includes two modules. The first is a processing module 34 and the second is an electronic interface module 36. Different various electronic interface modules 36 can be used with one processing module 34 which serves as a common processing module and is preferably a microprocessor module. The multiplexers 16a and 16b of a computer system, not shown, will communicate programs to the processing module 34 from the processors 10a and 10b of a computer system, not shown, when downloading of data program to the processing module 34 as desired by the processors 10a and 10b. The data programs contain the information which the processing module 34 can effect a particular communications protocol through the electronic module 36 to the remote ports 26.
Referring to FIG. 2, the electronic interface module 36 is a hardware module that includes various line drivers 37 and line receivers 38. The line drivers 37 and the line receivers 38 have particular electronic specifications, in that they have specified current and voltage levels consistent with the electronic line level protocol desired, such as RS232. The line drivers 37 and line receivers 38 communicate data to and from the remote communications ports 26.
The electrical interface module board 36 is changed to effectuate a change in the electronic line level protocol of the line controller 20. This requires a manual change of the electronic interface module 36. The protocol programs loaded into the processing module 34 describes the format requirements in which the data is to be transferred. The electronic interface module 36 operates consistent with prescribed electronic specifications of the desired protocol.
The multiplexers 16a and 16b communicate data to the processing module 34 through serial communications ports 40a and 40b. The communications ports 40a and 40b transmit and receive serial data to and from the multiplexers 16a and 16b. The communications ports 40a and 40b are respectively connected to the communication links 22 and 24 which comprise a multiplicity of serial unidirectional data and clocking lines 42a, 44a, 46a and 48a, and 42b, 44b, 46b and 48b, respectively. The communications ports 40 are each connected to two unidirectional lines 42 and 44 to effectuate transfers of serial data. Serial receive data is transmitted on line 42 into each of the serial communications ports 40. The receive data is clocked by clocking signals on line 46. Serial transmit data is transmitted on line 44 out of each of the serial communications ports 40. The transmit data is clocked by clocking signals on line 48. The clocking lines 46 and 48 are controlled by the multiplexers 16. The serial communications ports 40 of the processing module 34 are each a conventional device 6854, which provides for bit synchronous communications.
The serial communications ports 40 are each connected to a data bus 50 and an address bus 52 of the processing module 34. A microprocessor 54, RAM (random access memory) 56, ROM (read only memory) 58, serial input-output port 60, parallel output port 62 and parallel input port 64 are also connected to the address bus 52 and the data bus 54 of the processing module 34.
RAM 56, ROM 58 and microprocessor 54 are connected in a conventional configuration. The ROM 58 stores operating system programs that aid the transfer of data between the multiplexers 16 and the RAM 56. Additionally, the operating system programs in the ROM 58 cause the microprocessor 54 to execute protocol application programs that are down-loaded and stored in the RAM 56. The remaining storage capacity of the RAM 56 is used for data buffering between the serial communications ports 40 that are connected to the multiplexers 16, and the input-output serial port 60, the parallel input port 64, and the parallel output port 62.
The line drivers 37 and line receivers 38 communicate the data between the remote communications ports 26 and the processing module 34. The serial input-output port 60 is programmable by the microprocessor 54. The microprocessor 54 programs the serial input-output port 60 while under protocol application program control. Thus, the protocol is in part programmed into the serial input-output port 60. The serial input-output port 60 is connected to the electrical interface module 36 through the output lines 66 and input lines 68. The microprocessor 54 controls the address bus 52 and data bus 50 to transfer data between the microprocessor 54 or RAM 56 and the serial input-output port 60, the parallel input port 64 or the parallel output port 64.
The serial input-output port 60 is a conventional component, Z80SI0. The parallel input port 64 and parallel output port 62 comprise 74LS244 buffers and 74LS273 latches.
The line drivers 37 and line receivers 38 are of particular components depending upon the electrical protocol predetermined by the system. Protocols RS232, RS423, and RS422 are conventional electronic line level protocols.
The line drivers 37 may be National part 75150, Texas Instrument 75150, National part 1488 while the line receivers 38 may be Texas Instruments part 75154, National part 1489 for the RS232 protocol which is a bipolar plus or minus 24 volt line protocol.
The line drivers 37 may be Texas Instrument part 75156, Fairchild part 9636 or National part 3691 while the line receivers 38 may be National part 26LS32 or Advance Micro Devices 26LS33 for the RS423 protocol which is a plus or minus 5 volt bipolar single line protocol.
The line drivers 37 may be the National part 3691, Advance Micro Devices part 26LS31, Texas Instruments part 75174 or the Motorola part 3487 while the line receivers 38 may be National part 26LS32 or Advance Micro Devices 26LS32 for the RS422 protocol which is a zero to five volt unipolar differential line protocol.
The choice of line drivers 37 and line receivers 38 to be mounted on the electronic interface module 36 depends upon the protocol implemented on a particular electronic interface module 36.
The manufacturer who has built several types of modules to implement respective protocols need only change manually the electronic interface module 36 and not the entire line controller 20.
Additionally, the protocol application programs need not be changed manually because the protocol application programs may be down-loaded through the multiplexers 16 into the RAM 56 and executed by the microprocessor 54.
The electronic interface module 36 has a storage ciruit 70 for identifying the type of electronic interface module 36. The storage circuit 70 present outputs on the input lines 68. These outputs on lines 68 are presented when the storage circuit 70 is enable by the output lines 66. The information presented onto the input lines 68 by the storage circuit 70 represents the type of electrical interface module 36 that is presently configured with the processing module 34. The microprocessor 54 can now identify the type of electrical interface module 36 with which it is configured.
The microprocessor 54 can read from the electrical interface module 36 this information which is an identifier. The processing module 34 can store this identifier information and report to the processors 10.
The electronic interface module 36 includes a loop-back circuit 72 which is controlled by the microprocessor 54 through the output lines 66. The loop-back circuit is connected to the communication line 38 which comprises of an output communication line 74 and an input line 76. The loop-back circuit 72 causes the remote communication port 26 to be disconnected from the electronic interface module 36 and causes the output communication lines 74 that are connected to the line drivers 37, to be connected to the line receivers 38 when activated by the microprocessor 54 through the output lines 66. Output data signals on the output communication lines 74 are connected to the input communication lines, that is, the output communication lines 74 are looped back when the loop-back circuit 72 is activated.
It should now become apparent that the processors 10 can cause data to be transmitted out to a line controller 20 and looped back and received by the processors 10 so as to enhance diagnostic and fault indentification functions.
The processors 10 can enhance diagnostics by down-loading diagnostic programs into the line controllers 20. The line controllers 20 use these diagnostic programs to effectuate self-testing by using the loop back circuit 72.
The loop-back circuit 72 in combination with the echo-back function enhances the processors 10 ability to perform fault identification and resource allocation as discussed.
It should also become apparent that by isolating the remote port 26 during the loop back activation, the remote port 26 cannot affect the fault identification process because it is not electrically connected to the communication system 11.
The controllers 14 and multiplexers 16 may have like loop-back circuits, not shown. It should now become apparent that with the loop-back and echo-back functions, complete fault identification is possible.

Claims (4)

What is claimed is:
1. A single fault tolerant communications controller system for communicating data between at least two processors and a plurality of remote ports, including,
at least two communications controllers, each connected to said processors by communication busses,
a plurality of line controllers, each connected to one of said remote ports,
at least two multiplexer/demultiplexers, each connected at its demultiplexing end to one of said communications controllers and having each of its multiplexing connections connected to each one of said line controllers,
said multiplexer/demultiplexers responsive to said communications controllers to provide a communications path between one of said processors and a selected one of said remote ports.
2. The single fault tolerant communications controller system of claim 1 further including at least two power supplies and further including means in said multiplexer/demultiplexer for monitoring the operation of said power supplies and for disabling any one of said power supplies which is malfunctioning and for enabling the other one of said power supplies which is correctly functioning.
3. The single fault tolerant communications controller system of claim 1 wherein each of said line controllers includes a first electrical interface module section containing at least one line driver and at least one line receiver, and a second processing module section including processing means and storage means for storing and implementing a plurality of communication protocols.
4. The single fault tolerant communications controller system of claim 3 wherein said electrical interface module is a physically detachable circuit board.
US06/551,283 1983-11-14 1983-11-14 Fault-tolerant communications controller system Expired - Lifetime US4607365A (en)

Priority Applications (12)

Application Number Priority Date Filing Date Title
US06/551,283 US4607365A (en) 1983-11-14 1983-11-14 Fault-tolerant communications controller system
CA000467290A CA1217281A (en) 1983-11-14 1984-11-08 Fault-tolerant communications controller system
AU35432/84A AU578048B2 (en) 1983-11-14 1984-11-13 Fault-tolerant system
DE8989115044T DE3486130T2 (en) 1983-11-14 1984-11-14 COMMUNICATION CONTROL.
EP84307876A EP0147046B1 (en) 1983-11-14 1984-11-14 Fault-tolerant communications controlller system
AT89115044T ATE88288T1 (en) 1983-11-14 1984-11-14 TRANSMISSION LINE CONTROL.
DE84307876T DE3486148T2 (en) 1983-11-14 1984-11-14 Fault-tolerant transmission control system.
EP89115044A EP0346946B1 (en) 1983-11-14 1984-11-14 Communication line controller
AT84307876T ATE89678T1 (en) 1983-11-14 1984-11-14 FAULT TOLERANT TRANSMISSION CONTROL SYSTEM.
JP59240383A JPS60117943A (en) 1983-11-14 1984-11-14 Communication controller system
US06/853,927 US4783733A (en) 1983-11-14 1986-04-21 Fault tolerant communications controller system
AU21104/88A AU596910B2 (en) 1983-11-14 1988-08-17 Fault-tolerant communications controller system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/551,283 US4607365A (en) 1983-11-14 1983-11-14 Fault-tolerant communications controller system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US06/853,927 Division US4783733A (en) 1983-11-14 1986-04-21 Fault tolerant communications controller system

Publications (1)

Publication Number Publication Date
US4607365A true US4607365A (en) 1986-08-19

Family

ID=24200615

Family Applications (1)

Application Number Title Priority Date Filing Date
US06/551,283 Expired - Lifetime US4607365A (en) 1983-11-14 1983-11-14 Fault-tolerant communications controller system

Country Status (7)

Country Link
US (1) US4607365A (en)
EP (2) EP0346946B1 (en)
JP (1) JPS60117943A (en)
AT (2) ATE88288T1 (en)
AU (2) AU578048B2 (en)
CA (1) CA1217281A (en)
DE (2) DE3486130T2 (en)

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843289A (en) * 1985-07-20 1989-06-27 Sony Corp. Digital control bus system
US4879716A (en) * 1987-12-23 1989-11-07 Bull Hn Information Systems Inc. Resilient data communications system
US5027342A (en) * 1989-05-03 1991-06-25 The University Of Toronto Innovations Foundation Local area network
US5042038A (en) * 1988-03-30 1991-08-20 Plessey Overseas Limited Data path checking system
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
US5146589A (en) * 1988-12-09 1992-09-08 Tandem Computers Incorporated Refresh control for dynamic memory in multiple processor system
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5239641A (en) * 1987-11-09 1993-08-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5317726A (en) * 1987-11-09 1994-05-31 Tandem Computers Incorporated Multiple-processor computer system with asynchronous execution of identical code streams
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
US5345566A (en) * 1991-01-25 1994-09-06 Hitachi, Ltd. Method and apparatus for controlling dual bus system
US5506964A (en) * 1992-04-16 1996-04-09 International Business Machines Corporation System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system
US5535405A (en) * 1993-12-23 1996-07-09 Unisys Corporation Microsequencer bus controller system
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5664089A (en) * 1994-04-26 1997-09-02 Unisys Corporation Multiple power domain power loss detection and interface disable
US5678005A (en) * 1993-07-02 1997-10-14 Tandem Computers Inorporated Cable connect error detection system
US5748871A (en) * 1995-08-11 1998-05-05 Symbios Logic Inc. Dual bus architecture for a storage device
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5890003A (en) * 1988-12-09 1999-03-30 Tandem Computers Incorporated Interrupts between asynchronously operating CPUs in fault tolerant computer system
US5996001A (en) * 1994-09-27 1999-11-30 Quarles; Philip High availability on-line transaction processing system
US20040193954A1 (en) * 2001-09-21 2004-09-30 Bayerische Motoren Werke Aktiengesellschaft Method for transmitting messages between bus users
US20050010695A1 (en) * 2000-10-17 2005-01-13 Trillium Digital Systems, Inc. High availability/high density system and method
US20060221818A1 (en) * 2005-03-29 2006-10-05 International Business Machines Corporation Method, system and storage medium for redundant input/output access
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US7239581B2 (en) 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7272666B2 (en) 2003-09-23 2007-09-18 Symantec Operating Corporation Storage management device
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7290168B1 (en) * 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7296008B2 (en) 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US20080183728A1 (en) * 2001-01-31 2008-07-31 Accenture Llp Remotely monitoring a data processing system via a communications network
US7409587B2 (en) 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7430568B1 (en) 2003-02-28 2008-09-30 Sun Microsystems, Inc. Systems and methods for providing snapshot capabilities in a storage virtualization environment
US7536583B2 (en) 2005-10-14 2009-05-19 Symantec Operating Corporation Technique for timeline compression in a data store
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
CN112819640A (en) * 2021-02-04 2021-05-18 中山大学 Financial return error-tolerance system and method for micro-service

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU579264B2 (en) * 1985-10-11 1988-11-17 Mark Francis Paul Dowd Concrete encasement of standing wooden piles
EP0240577A1 (en) * 1986-03-26 1987-10-14 LITEF Litton Techn. Werke der HELLIGE GmbH Interface unit between a redundant dual bus and a data-processing unit
ES2032851T3 (en) * 1987-04-22 1993-03-01 International Business Machines Corporation BUS ADAPTER SWITCH TO IMPROVE THE AVAILABILITY OF A CONTROL UNIT.
AU638476B2 (en) * 1989-09-05 1993-07-01 Honeywell Inc. Apparatus for providing a universal interface to a process control system
GB2301744B (en) * 1995-06-02 2000-01-12 Dsc Communications Software download for a subscriber terminal of a wireless telecommunications system
GB2328352A (en) * 1997-08-12 1999-02-17 Lucent Technologies Uk Limited Redundant communication network
US6230281B1 (en) 1998-08-26 2001-05-08 Lucent Technologies, Inc. Geographic redundancy protection method and apparatus for a communications network
US7526001B2 (en) * 2004-07-26 2009-04-28 General Instrument Corporation Statistical multiplexer having protective features from extraneous messages generated by redundant system elements

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3920975A (en) * 1974-11-14 1975-11-18 Rockwell International Corp Data communications network remote test and control system
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4190821A (en) * 1978-10-02 1980-02-26 Burroughs Corporation Self-healing loop communications system
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4466098A (en) * 1982-06-11 1984-08-14 Siemens Corporation Cross channel circuit for an electronic system having two or more redundant computers
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1394432A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Input-output arrangement for use in a data processing system
US3755785A (en) * 1972-03-06 1973-08-28 Eaton Corp Multiplexer
US3840859A (en) * 1972-07-03 1974-10-08 Burroughs Corp Method and apparatus for regulating input/output traffic of a data processing system
US3964056A (en) * 1974-04-08 1976-06-15 International Standard Electric Corporation System for transferring data between central units and controlled units
JPS581448B2 (en) * 1974-07-19 1983-01-11 富士電機株式会社 Basic bus system
JPS5273641A (en) * 1975-12-16 1977-06-20 Oki Electric Ind Co Ltd Line collection system for data circuit
US4079452A (en) * 1976-06-15 1978-03-14 Bunker Ramo Corporation Programmable controller with modular firmware for communication control
JPS5312243A (en) * 1976-07-21 1978-02-03 Hitachi Ltd Fault recovery method of data communication system
JPS6020778B2 (en) * 1977-12-13 1985-05-23 株式会社東芝 Composite computer equipment
DK157954C (en) * 1978-01-23 1990-08-13 Data General Corp DATA PROCESSING SYSTEM WITH DIRECT STORAGE ACCESS
JPS56128000A (en) * 1980-03-12 1981-10-07 Nippon Telegr & Teleph Corp <Ntt> Main storage access control system
US4815034A (en) * 1981-03-18 1989-03-21 Mackey Timothy I Dynamic memory address system for I/O devices
ZA821999B (en) * 1981-03-31 1983-05-25 British Telecomm Computor or processor control systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3920975A (en) * 1974-11-14 1975-11-18 Rockwell International Corp Data communications network remote test and control system
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4190821A (en) * 1978-10-02 1980-02-26 Burroughs Corporation Self-healing loop communications system
US4466098A (en) * 1982-06-11 1984-08-14 Siemens Corporation Cross channel circuit for an electronic system having two or more redundant computers
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
F. G. Snyder, Modular Fault Tolerance Keeps Computer Systems Reliable, Electronic Design, vol. 29, No. 10, May 1981, pp. 163 167. *
F. G. Snyder, Modular Fault Tolerance Keeps Computer Systems Reliable, Electronic Design, vol. 29, No. 10, May 1981, pp. 163-167.

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843289A (en) * 1985-07-20 1989-06-27 Sony Corp. Digital control bus system
US5384906A (en) * 1987-11-09 1995-01-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5353436A (en) * 1987-11-09 1994-10-04 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5317726A (en) * 1987-11-09 1994-05-31 Tandem Computers Incorporated Multiple-processor computer system with asynchronous execution of identical code streams
US5239641A (en) * 1987-11-09 1993-08-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US4879716A (en) * 1987-12-23 1989-11-07 Bull Hn Information Systems Inc. Resilient data communications system
AU613997B2 (en) * 1987-12-23 1991-08-15 Honeywell Bull Inc. Resilient data communications system
US5042038A (en) * 1988-03-30 1991-08-20 Plessey Overseas Limited Data path checking system
US5146589A (en) * 1988-12-09 1992-09-08 Tandem Computers Incorporated Refresh control for dynamic memory in multiple processor system
US5276823A (en) * 1988-12-09 1994-01-04 Tandem Computers Incorporated Fault-tolerant computer system with redesignation of peripheral processor
US5890003A (en) * 1988-12-09 1999-03-30 Tandem Computers Incorporated Interrupts between asynchronously operating CPUs in fault tolerant computer system
US5388242A (en) * 1988-12-09 1995-02-07 Tandem Computers Incorporated Multiprocessor system with each processor executing the same instruction sequence and hierarchical memory providing on demand page swapping
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
US5027342A (en) * 1989-05-03 1991-06-25 The University Of Toronto Innovations Foundation Local area network
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
US6073251A (en) * 1989-12-22 2000-06-06 Compaq Computer Corporation Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5345566A (en) * 1991-01-25 1994-09-06 Hitachi, Ltd. Method and apparatus for controlling dual bus system
US5586265A (en) * 1992-04-16 1996-12-17 International Business Machines Corporation Priority arbitrating interface for a plurality of shared subsystems coupled to a plurality of system processing devices for selective association of subsystem to processing device
US5506964A (en) * 1992-04-16 1996-04-09 International Business Machines Corporation System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system
US5678005A (en) * 1993-07-02 1997-10-14 Tandem Computers Inorporated Cable connect error detection system
US5535405A (en) * 1993-12-23 1996-07-09 Unisys Corporation Microsequencer bus controller system
US5664089A (en) * 1994-04-26 1997-09-02 Unisys Corporation Multiple power domain power loss detection and interface disable
US5996001A (en) * 1994-09-27 1999-11-30 Quarles; Philip High availability on-line transaction processing system
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5748871A (en) * 1995-08-11 1998-05-05 Symbios Logic Inc. Dual bus architecture for a storage device
US20060080469A1 (en) * 2000-10-17 2006-04-13 Trillium Digital Systems, Inc. High availability/high density system and method
US20050010695A1 (en) * 2000-10-17 2005-01-13 Trillium Digital Systems, Inc. High availability/high density system and method
US8769081B2 (en) * 2001-01-31 2014-07-01 Accenture Global Services Limited Remotely monitoring a data processing system via a communications network
US20080183728A1 (en) * 2001-01-31 2008-07-31 Accenture Llp Remotely monitoring a data processing system via a communications network
US9900226B2 (en) * 2001-01-31 2018-02-20 Accenture Global Services Limited System for managing a remote data processing system
US20140250226A1 (en) * 2001-01-31 2014-09-04 Accenture Global Services Limited System for managing a remote data processing system
US7310746B2 (en) * 2001-09-21 2007-12-18 Bayerische Motoren Werke Aktiengesellschaft Method for transmitting messages between bus users
US20040193954A1 (en) * 2001-09-21 2004-09-30 Bayerische Motoren Werke Aktiengesellschaft Method for transmitting messages between bus users
US7447939B1 (en) 2003-02-28 2008-11-04 Sun Microsystems, Inc. Systems and methods for performing quiescence in a storage virtualization environment
US7290168B1 (en) * 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US7430568B1 (en) 2003-02-28 2008-09-30 Sun Microsystems, Inc. Systems and methods for providing snapshot capabilities in a storage virtualization environment
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US8166128B1 (en) 2003-02-28 2012-04-24 Oracle America, Inc. Systems and methods for dynamically updating a virtual volume in a storage virtualization environment
US7272666B2 (en) 2003-09-23 2007-09-18 Symantec Operating Corporation Storage management device
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7584337B2 (en) 2003-09-23 2009-09-01 Symantec Operating Corporation Method and system for obtaining data stored in a data store
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7725667B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Method for identifying the time at which data was written to a data store
US7296008B2 (en) 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7409587B2 (en) 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US8521973B2 (en) 2004-08-24 2013-08-27 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7239581B2 (en) 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7656789B2 (en) * 2005-03-29 2010-02-02 International Business Machines Corporation Method, system and storage medium for redundant input/output access
US20060221818A1 (en) * 2005-03-29 2006-10-05 International Business Machines Corporation Method, system and storage medium for redundant input/output access
US7536583B2 (en) 2005-10-14 2009-05-19 Symantec Operating Corporation Technique for timeline compression in a data store
CN112819640A (en) * 2021-02-04 2021-05-18 中山大学 Financial return error-tolerance system and method for micro-service
CN112819640B (en) * 2021-02-04 2022-07-12 中山大学 Financial return error-tolerance system and method for micro-service

Also Published As

Publication number Publication date
JPS60117943A (en) 1985-06-25
EP0147046A3 (en) 1987-07-15
EP0147046B1 (en) 1993-05-19
ATE88288T1 (en) 1993-04-15
AU596910B2 (en) 1990-05-17
DE3486130D1 (en) 1993-05-19
AU3543284A (en) 1985-05-23
EP0346946A1 (en) 1989-12-20
ATE89678T1 (en) 1993-06-15
EP0346946B1 (en) 1993-04-14
CA1217281A (en) 1987-01-27
AU2110488A (en) 1988-11-24
DE3486130T2 (en) 1993-09-23
AU578048B2 (en) 1988-10-13
DE3486148D1 (en) 1993-06-24
EP0147046A2 (en) 1985-07-03
DE3486148T2 (en) 1993-10-14

Similar Documents

Publication Publication Date Title
US4607365A (en) Fault-tolerant communications controller system
CA1082786A (en) Configuration and control unit for a heterogeneous multi-system
US5068851A (en) Apparatus and method for documenting faults in computing modules
US5644700A (en) Method for operating redundant master I/O controllers
US7269465B2 (en) Control system for controlling safety-critical processes
US4979108A (en) Task synchronization arrangement and method for remote duplex processors
US6434712B1 (en) Method and apparatus for fault tolerant execution of computer programs
US4144407A (en) Multiprocessor system for automatic switching of telegraphic lines
US5058056A (en) Workstation takeover control
EP0415552B1 (en) Protocol for read and write transfers
US4783733A (en) Fault tolerant communications controller system
CN101282301A (en) Double-redundancy CAN bus controller as well as packet processing method thereof
EP1025680B1 (en) Method and system for fault-tolerant network connection switchover
JP3279248B2 (en) Switch mechanism, disk array device having the same, and computer system
US20050060394A1 (en) Programmable delay, transparent switching multi-port interface line card
US6006341A (en) Bus arrangement related to a magazine
KR20000040686A (en) Dual system of lan line
KR980013469A (en) Interprocessor communication device in all electronic exchanges
JP2000250770A (en) Multiplexed instrumentation system
KR100771915B1 (en) Digital protection relay and communication duplex method
JPH0124398B2 (en)
GB2146810A (en) Achieving redundancy in a distributed process control system
JPH0827735B2 (en) Back-up method in distributed system
JPS60217445A (en) Communication controller switching system
JP2022172757A (en) Redundancy system

Legal Events

Date Code Title Description
AS Assignment

Owner name: TANDEM COMPUTERS INCORPORATED 19333 VALLCO PARKWAY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:GREIG, DAVID A.;HINDERS, DAVID L.;GOODMAN, WILLIAM R.;REEL/FRAME:004235/0257

Effective date: 19831114

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: COMPAQ COMPUTER CORPORATION, A DELAWARE CORPORATIO

Free format text: MERGER;ASSIGNOR:TANDEM COMPUTERS INCORPORATED;REEL/FRAME:014506/0598

Effective date: 19981231

Owner name: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., A TEX

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COMPAQ COMPUTER CORPORATION;REEL/FRAME:014506/0133

Effective date: 20010531

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: CHANGE OF NAME;ASSIGNOR:COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P.;REEL/FRAME:014428/0584

Effective date: 20021001