IP Library Granted Patent US 7,373,545
Granted Patent B2
US 7,373,545 · App. 11/382,133 · Granted May 13, 2008

Fault tolerant computer system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,373,545
App. No.
11/382,133
Granted
May 13, 2008
Kind
B2
Abstract

A fault-tolerant computer system includes at least two servers, each of which is configured to perform a first set of operations. Each of the two servers communicate with a computer that does not perform the first set of operations. In the event of a failure of a component of the system, determining which of the servers will continue to perform the first set of operations based on communication with the computer.

Claims (35)

1. A method of operating a fault-tolerant computer system, the method comprising:

having each server of a fault tolerant computer system that includes at least a first server, a first link between the first server and a network, a second server, and a second link between the second server and the network, with each of the first and second servers being configured to perform a first set of operations and to communicate with a computer that does not perform the first set of operations through the network, and

in the event of a failure of the first server, the second server, the first link or the second link, determining which of the first and second servers will continue to perform the first set of operations by:

if the first server and the second server are able to communicate with one another over the first link and the second link, having the first server and second server communicate to determine which of the first and second servers will continue to perform the first set of operations, and

if the first server and the second server are not able to communicate with one another over the first link and the second link, having the computer that does not perform the first set of operations communicate with the first and second servers to determine which of the first and second servers will continue to perform the first set of operations.

2. The method of claim 1 wherein determining which of the first and second servers will continue to perform the first set of operations comprises having one of the first and second servers that is able to communicate after the failure continue to perform the first set of operations.

3. The method of claim 2 wherein determining which of the first and second servers will continue to perform the first set of operations comprises having one of the first and second servers that is unable to communicate with the computer after the failure cease performance of the first set of operations.

4. The method of claim 1 further comprising determining which of the first and second servers will cease performance of the first set of operations in the event of the failure.

5. The method of claim 4 wherein determining which of the first and second servers will cease performance of the first set of operations comprises having one of the first and second servers that is unable to communicate with the computer after the failure cease performance of the first set of operations.

6. The method of claim 1 wherein determining which of the first and second servers will continue to perform the first set of operations based on communication with the computer farther comprises avoiding split-brain operation by having the first server continue to perform the first set of operations and having the second server cease performance of the first set of operations in the event of a failure of the second link.

7. The method of claim 1 wherein the computer is connected to the network by a third link.

8. The method of claim 1 further comprising having the first and second servers select the computer that does not perform the first set of operations from multiple computers that do not perform the first set of operations.

9. The method of claim 8 wherein the computer that does not perform the first set of operations has a unique identifier.

10. The method of claim 8 wherein the computer that does not perform the first set of operations is configured to communicate with multiple fault tolerant computer systems.

11. The method of claim 10 wherein each of the multiple fault tolerant computer systems has a unique identifier.

12. The method of claim 8 further comprising, after the first and second servers select the computer that does not perform the first set of operations, providing a first server with a token that permits the first server to operate independently of the computer and a second server.

13. The method of claim 12 wherein providing the first sewer with the token comprises doing so only when the first server and the second server can communicate with each other.

14. The method of claim 12 farther comprising having the computer provide the first sewer with the token.

15. The method of claim 14 further comprising having the computer determine which of the first server and the second server has a higher level of functionality and providing the first server with the token when the first server has the higher level of functionality.

16. The method of claim 14 farther comprising having the computer determine whether the first server and the second server have network connections to the computer and providing the first server with the token when the first server has a network connection to the computer and the second server does not have a network connection to the computer.

17. The method of claim 8 wherein having the first and second servers select the computer that does not perform the first set of operations comprises doing so only when the first server and the second server can communicate with each other.

18. The method of claim 1 wherein determining which of the first and second servers will continue to perform the first set of operations comprises determining that the first server will continue to perform the first set of operations when the first server has a higher level of functionality than the second server.

19. The method of claim 1 further comprising providing a token to the determined one of the first and second servers which will continue to perform the first set of operations, wherein the token permits the determined one of the first and second servers to operate independently of the computer and the other one of the first and second servers.

20. The method of claim 19 wherein the token permits the determined one of the first and second servers to reboot or power up.

21. A fault-tolerant computer system comprising:

a first server configured to perform a first set of operations and having a network connection to a computer that does not perform the first set of operations, and

a second server configured to perform the first set of operations and having a network connection to the first server and to the computer,

wherein the system is configured to determine, in the event of a failure of a component of the system, which of the servers will continue to perform the first set of operations by:

if the first server and the second sewer are able to communicate directly with one another, having the first server and the second server communicate to determine which of the first and second servers will continue to perform the first set of operations, and

if the first server and the second server are not able to communicate directly with one another, having the computer that does not perform the first set of operations communicate with the first and second servers to determine which of the first and second servers will continue to perform the first set of operations.

22. Computer software, stored on a computer-readable medium, comprising instructions, when executed, cause a fault-tolerant computer system to:

have each server of the fault tolerant computer system, which includes at least a first server, a first link between the first server and a network, a second server, and a second link between the second server and the network, with each of the first and second servers being configured to perform a first set of operations and to communicate with a computer that does not perform the first set of operations through the network, and

in the event of a failure of the first server, the second server, the first link or the second link, determine which of the first and second servers will continue to perform the first set of operations comprises:

if the first server and the second server are able to communicate with one another over the first link and the second link, having the first server and second server communicate to determine which of the first and second servers will continue to perform the first set of operations, and

if the first server and the second server are not able to communicate with one another over the first link and the second link, having the computer that does not perform the first set of operations communicate with the first and second servers to determine which of the first and second servers will continue to perform the first set of operations.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057254/0557) Recorded Aug 29, 2022
From: CERBERUS BUSINESS FINANCE AGENCY, LLC
To: STRATUS TECHNOLOGIES IRELAND LIMITED; STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 061354/0599 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 9, 2021
From: STRATUS TECHNOLOGIES IRELAND LIMITED; STRATUS TECHNOLOGIES BERMUDA LTD.
To: CERBERUS BUSINESS FINANCE AGENCY, LLC, AS COLLATERAL AGENT
Reel/Frame 057254/0557 →
SECURITY INTEREST Recorded Apr 3, 2020
From: STRATUS TECHNOLOGIES IRELAND LIMITED
To: TRUST BANK (AS SUCCESSOR BY MERGER TO SUNTRUST BANK)
Reel/Frame 052316/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: STRATUS TECHNOLOGIES BERMUDA LTD.
To: STRATUS TECHNOLOGIES IRELAND LTD.
Reel/Frame 052210/0411 →
SECURITY INTEREST Recorded Apr 28, 2014
From: STRATUS TECHNOLOGIES BERMUDA LTD.
To: SUNTRUST BANK
Reel/Frame 032776/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2012
From: CITRIX SYSTEMS, INC.
To: STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 029518/0502 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2011
From: WF FUND III LIMTED PARTNERSHIP (D/B/A WELLINGTON FINANCIAL LP AND WF FINANCIAL FUND III)
To: MARATHON TECHNOLOGIES CORPORATION
Reel/Frame 026975/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2011
From: MARATHON TECHNOLOGIES CORPORATION
To: CITRIX SYSTEMS, INC.
Reel/Frame 026975/0827 →
SECURITY AGREEMENT Recorded Nov 29, 2010
From: MARATHON TECHNOLOGIES CORPORATION
To: WF FUND III LIMITED PARTNERSHIP (D/B/A WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND III)
Reel/Frame 025413/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2006
From: LEVEILLE, PAUL A.; WATANABE, SATOSHI; KOYAMA, KEIICHI
To: MARATHON TECHNOLOGIES CORPORATION
Reel/Frame 017669/0870 →