Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
141 words
A method for automatically converting a non-fault tolerant primary program running on a computer system having an operating system into a fault tolerant program, the method comprising the steps of: a. creating a duplicate backup program; b. determining whether the non-fault tolerant primary program or the backup program issued operating system I/O calls; c. for I/O calls issued by the non-fault tolerant primary program, causing the operating system to execute the calls and transmitting the results of the calls to the backup program; and d. for I/O calls issued by the backup program, Preventing the operating system from executing the I/O calls issued by the backup program and reading the results transmitted as a result of the execution of the corresponding calls in the non-fault tolerant primary program; whereby the non-fault tolerant primary program is converted into a fault tolerant program.
Claim 2
Independent Claim
141 words
A method for automatically converting a non-fault tolerant primary program running on a computer system having an operating system into a fault tolerant program, the method comprising the steps of: a. creating a duplicate backup program; b. determining whether the non-fault tolerant primary program or the backup program issued operating system I/O calls; c. for I/O calls issued by the non-fault tolerant primary program, causing the operating system to execute the calls and transmitting the results of the calls to the backup program; and d. for I/O calls issued by the backup program, Preventing the operating system from executing the I/O calls issued by the backup program and reading the results transmitted as a result of the execution of the corresponding calls in the non-fault tolerant primary program; whereby the non-fault tolerant primary program is converted into a fault tolerant program.
Claim 3
Dependent Claim
67 words
The method as in claim 1, further including the step of intercepting operating system I/O calls from the non-fault tolerant primary program and the backup program before the I/O calls reach the operating system, wherein the operating system I/O calls are intercepted by a layer of code which forms an interface between the operating system and each of the non-fault tolerant primary program and the backup program.
Claim 4
Dependent Claim
18 words
A method as in claim 1, wherein the non-fault tolerant primary and backup programs run on difference CPUs.
Claim 5
Dependent Claim
17 words
A method as in claim 3, wherein the transmission of the results occurs across an interprocessor bus.
Claim 6
Independent Claim
167 words
A method for automatically converting a non-fault tolerant primary process running on a computer system having an operating system into a fault tolerant process, the method comprising the steps of: a. executing a non-fault tolerant primary process, including a first set of computer instructions; b. creating a backup process, including a second set of computer instructions, wherein the second set of instructions includes a copy of at least a portion of the first set of instructions; c. upon issuing an input call by the non-fault tolerant primary process, causing the operating system to perform a corresponding input operation, and transmitting the input results of the input operation from the non-fault tolerant primary process to the backup process, a first layer of code interfacing between the non-fault tolerant primary process and the operating system; and d. upon issuing an input call by the backup process, reading the input results transmitted from the non-fault tolerant primary process, a second layer interfacing between the backup process and the operating system.
Claim 7
Independent Claim
167 words
A method for automatically converting a non-fault tolerant primary process running on a computer system having an operating system into a fault tolerant process, the method comprising the steps of: a. executing a non-fault tolerant primary process, including a first set of computer instructions; b. creating a backup process, including a second set of computer instructions, wherein the second set of instructions includes a copy of at least a portion of the first set of instructions; c. upon issuing an input call by the non-fault tolerant primary process, causing the operating system to perform a corresponding input operation, and transmitting the input results of the input operation from the non-fault tolerant primary process to the backup process, a first layer of code interfacing between the non-fault tolerant primary process and the operating system; and d. upon issuing an input call by the backup process, reading the input results transmitted from the non-fault tolerant primary process, a second layer interfacing between the backup process and the operating system.
Claim 8
Dependent Claim
28 words
The method of claim 5, further comprising the step of storing the input results in a backup process input queue prior to the reading of the input results.
Claim 9
Dependent Claim
73 words
The method of claim 5, further comprising the steps of: a. upon issuing an output call by the non-fault tolerant primary process, causing the operating system to perform a corresponding output operation and transmitting the output results of the output operation from the non-fault tolerant primary process to the backup process; and b. upon issuing an output call by the backup process, reading the output results transmitted from the non-fault tolerant primary process.
Claim 10
Dependent Claim
18 words
The method of claim 5, wherein the non-fault tolerant primary process and backup process execute on different processors.
Claim 11
Dependent Claim
18 words
The method of claim 7, wherein the non-fault tolerant primary process and backup process execute on different processors.
Claim 12
Independent Claim
179 words
A system for automatically converting a non-fault tolerant primary software process into a fault tolerant software process on a multiprocessor computer system, comprising: a. means for executing the non-fault tolerant primary software process on a first processor of the computer system; b. means for creating a backup software process to run on a second processor of the cornputer system; c. a communications link coupled between the first and second processors; d. means, associated with the first processor, for causing the operating system to perform I/O functions in response thereto and transmitting the results of the I/O functions to the second processor over the communications link; and e. means, associated with the second processor and operable upon the issuance of an I/O call by the backup software process, for inhibiting an output operation by the operating system and reading the results transmitted from the first processor upon the issuance of an output call by the backup software process, and for reading the results transmitted from the first processor upon the issuance of an input call by the backup software process.
Claim 13
Independent Claim
179 words
A system for automatically converting a non-fault tolerant primary software process into a fault tolerant software process on a multiprocessor computer system, comprising: a. means for executing the non-fault tolerant primary software process on a first processor of the computer system; b. means for creating a backup software process to run on a second processor of the cornputer system; c. a communications link coupled between the first and second processors; d. means, associated with the first processor, for causing the operating system to perform I/O functions in response thereto and transmitting the results of the I/O functions to the second processor over the communications link; and e. means, associated with the second processor and operable upon the issuance of an I/O call by the backup software process, for inhibiting an output operation by the operating system and reading the results transmitted from the first processor upon the issuance of an output call by the backup software process, and for reading the results transmitted from the first processor upon the issuance of an input call by the backup software process.
Claim 14
Dependent Claim
39 words
The system of claim 10, further comprising an input queue operatively coupled to the first and second processors to receive the results transmitted from the first processor, the queue being readable by a software running on the second processor.
Claim 15
Dependent Claim
103 words
The method of claim 5, further comprising the steps of: upon issuing the input call by the non-fault tolerant primary process, intercepting, by a first layer of code, the input call from the non-fault tolerant primary process before the input call reaches the operating system, the first layer of code interfacing between the non-fault tolerant primary process and the operating system; and upon issuing the input call by the backup process, intercepting, by a second layer of code, the input call from the backup process before it reaches the operating system, the second layer interfacing between the backup process and the operating system.
Claim 16
Dependent Claim
75 words
The method of claim 12, further comprising the steps of: upon issuing an output call by the non-fault tolerant primary process, intercepting, by the first layer of code, the output call from the non-fault tolerant primary process before the output call reaches the operating system; and upon issuing an output call by the backup process, intercepting, by the second layer of code, the output call from the backup process before it reaches the operating system.
Claim 17
Dependent Claim
32 words
The system of claim 10, wherein said means for causing includes means for intercepting I/O calls issued by the non-fault tolerant primary software process before the I/O calls reach the operating system.