05157663 is referenced by 268 patents and cites 6 patents.

A method and apparatus for providing a fault-tolerant backup system such that if there is a failure of a primary processing system, a replicated system can take over without interruption. The invention provides a software solution for providing a backup system. Two servers are provided, a primary and secondary server. The two servers are connected via a communications channel. The servers have associated with them an operating system. The present invention divides this operating system into two "engines." An I/O engine is responsible for handling and receiving all data and asynchronous events on the system. The I/O engine controls and interfaces with physical devices and device drivers. The operating system (OS) engine is used to operate on data received from the I/O engine. All events or data which can change the state of the operating system are channeled through the I/O engine and converted to a message format. The I/O engine on the two servers coordinate with each other and provide the same sequence of messages to the OS engines. The messages are provided to a message queue accessed by the OS engine. Therefore, regardless of the timing of the events, (i.e., asynchronous events), the OS engine receives all events sequentially through a continuous sequential stream of input data. As a result, the OS engine is a finite state automata with a one-dimensional input "view" of the rest of the system and the state of the OS engines on both primary and secondary servers will converge.

Title
Fault tolerant computer system
Application Number
7/586807
Publication Number
5157663
Application Date
September 24, 1990
Publication Date
October 20, 1992
Inventor
Dale Neibaur
Orem
UT, US
Kyle Powell
Orem
UT, US
Drew Major
Orem
UT, US
Agent
Hecker & Harriman
Assignee
Novell
UT, US
IPC
G06F 11/20
View Original Source