Fault tolerant computer system
First Claim
1. A method of disk mirroring in a computer system, comprising the steps of:
- providing a first processing means for operation of said computer system;
providing a second processing means for operation of said computer system;
providing said first processing means with primary mass storage;
providing said second processing means with secondary mass storage;
providing a first manager for control of said primary mass storage;
providing a second manager for control of said second mass storage;
synchronizing said primary mass storage and said secondary mass storage using said first manager and said second manager;
marking said primary mass storage and said secondary mass storage with a current synchronization level counter value to indicate that said primary mass storage and said secondary mass storage are fully synchronized;
changing said current value synchronization level counter when there is a change to synchronization state.
6 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
8 Claims
-
1. A method of disk mirroring in a computer system, comprising the steps of:
-
providing a first processing means for operation of said computer system; providing a second processing means for operation of said computer system; providing said first processing means with primary mass storage; providing said second processing means with secondary mass storage; providing a first manager for control of said primary mass storage; providing a second manager for control of said second mass storage; synchronizing said primary mass storage and said secondary mass storage using said first manager and said second manager; marking said primary mass storage and said secondary mass storage with a current synchronization level counter value to indicate that said primary mass storage and said secondary mass storage are fully synchronized; changing said current value synchronization level counter when there is a change to synchronization state. - View Dependent Claims (2, 3, 4)
-
-
5. A method for executing an operation in a fault tolerant computer system comprising the steps of:
-
providing a first processing means for operation of said computer system, said first processing means comprising a first operating system (OS) engine and a first input/output (I/O) engine; generating a request by said first OS engine to said first I/O engine and said first OS engine waiting for a reply from said first I/O engine; executing in said first I/O engine the requested operation as specified by said request and matching an initial I/O event by matching it with said request. - View Dependent Claims (6)
-
-
7. A method for synchronous management of timer interrupts, comprising the steps of:
-
providing a first processing means for operation of a computer system, said first processing means comprising a first operating system (OS) engine and an input/output (I/O) engine; defining a timer interrupt as an event; placing said timer interrupt in an event queue; relinquishing control of said first OS engine by a task currently running on said first OS engine; executing said first timer interrupt by said first OS engine when said OS engine reaches a message in said event queue.
-
-
8. A method of defining the states of a fault tolerant computer system comprising the steps of:
-
providing a first processing means for operation of said computer system, said first processing means comprising a first operating system (OS) engine and a first input/output (I/O) engine; providing a second processing means, said second processing means comprising a second operating system (OS) engine and a second input/output (I/O) engine; providing a first state to define the status of the fault tolerant computer to identify when said first engine is operational but said first engine is not operational called No Server Active State; providing a second state to define the status of the fault tolerant computer to identify when said first I/O engine is operational but said second I/O engine is not called Primary System With No Secondary State; providing a third state to define the status of the fault tolerant computer to identify when said first I/O engine is running in a mirrored primary system; providing a fourth state to define the status of the fault tolerant computer to identify when said first I/O engine is running in a mirrored secondary system; allowing a transition from said first state to said second state when said first OS engine is activated; allowing a transition from said second state to said third state when said first processing means is synchronized with said second processing means; allowing a transition from said first state to said fourth state when said second OS engine is synchronized with said first processing means; allowing a transition from said fourth state to said second state when said first processing means fails; allowing a transition from said third state to said second state when said second processing means fails.
-
Specification