← Back to Patent Explorer
US5621885A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for providing a fault tolerant computer program runtime support environment

Assignee: Hewlett Packard Development Co LP
•
Filing: 1995-06-07
•
Granted: 1997-04-15
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for automatically checkpointing a primary computer process to a backup computer process is disclosed. The system and method automatically convert a non-fault tolerant computer program into a fault tolerant computer program. The system includes multiple CPUs, a communications link between the CPUs and a user interface device, such as a terminal, workstation, or PC. A special layer of code forms an interface between the operating system for each CPU and the application programs running on the CPUs. For each process, running on one of the CPUs, the interface automatically creates a duplicate backup process on another CPU. The interface handles synchronizing communications between the original or primary process and the backup process, and suppresses or otherwise prevents or inhibits output from the backup process.

Inventors

  • 👤 Paul Del Vigna, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 14:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1479; G06F11/1482; G06F11/16; G06F11/20; G06F11/202; G06F11/2038; G06F11/2046; G06F11/2097

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.

References Cited (Backward Citations)

US4351023A Cited
US5155678A Cited
US5271013A Cited
US5455932A Cited
US5363503A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-04-14 2000-10-14 2001-04-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-04-14 2004-10-14 2005-04-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-04-14 2008-10-14 2009-04-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag