IP Library Granted Patent US 6,854,069
Granted Patent B2
US 6,854,069 · App. 09/845,770 · Granted Feb 8, 2005

Method and system for achieving high availability in a networked 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 6,854,069
App. No.
09/845,770
Granted
Feb 8, 2005
Kind
B2
Abstract

The present invention describes a method and system for achieving high availability in a networked computer system. In particular, the method for achieving high-availability is executed in a networked computer system. The networked computer system includes nodes connected by a network. The method includes using high-availability-aware components to represent hardware and software in the networked computer system, managing the components to achieve a desired level of redundancy, and monitoring health of the networked computer system, including health of components and nodes. The method further includes detecting a failure in the networked computer system. Failures detected by the method include failures of a component and/or node. Finally, the method includes recovering from the failure by performing an appropriate failure recovery procedure.

Claims (79)

1. A method for achieving high availability in a networked computer system, the networked computer system including a plurality of nodes connected by a network, the method comprising:

using a plurality of components to each represent a set of hardware and software in the networked computer system, wherein the plurality of components are high-availability aware;

maintaining a desired level or levels of redundancy comprising assigning at least one of the plurality of components to provide a service within the networked computer system;

assigning operating states to the assigned components;

detecting failure of or request for change of state from one of the assigned components; and

modifying the assigned operating states including a state of the one of the assigned components associated with the detected failure or the detected request for change of state.

2. The method of claim 1 , wherein the maintaining step further comprises:

recovering from a failure of a component of the plurality of components.

3. The method of claim 1 , wherein the maintaining step further comprises:

recovering from a failure of a node of the plurality of nodes.

4. The method of claim 1 , wherein the maintaining step further comprises:

migrating a component of the plurality of components from one node to another node in the plurality of nodes when appropriate.

5. The method of claim 1 , wherein the maintaining step further comprises:

detecting a component failure among the plurality of components;

reporting the component failure when appropriate; and

conducting a component failure recovery procedure.

6. The method of claim 1 , wherein the maintaining step further comprises:

detecting a node failure among the plurality of nodes;

reporting the node failure when appropriate; and

conducting a node failure recovery procedure.

7. The method of claim 1 , wherein the maintaining step further comprises:

providing checkpoint services;

monitoring health of the plurality of components, wherein the detecting failure is based on the health monitoring;

recovering from the component failure using checkpoint information.

8. The method of claim 7 , wherein the operating states of the plurality of components include off-line, spare, secondary, and primary.

9. The method of claim 7 , wherein the recovering step further comprises:

isolating a cause of the component failure; and

applying a failure recovery procedure to address the cause.

10. The method of claim 1 , wherein the plurality of nodes may belong to different software release domains, and wherein the maintaining step is capable of taking into account the different software release domains.

11. The method of claim 10 , wherein information regarding the different software release domains is used to conduct a software upgrade.

12. The method of claim 1 , wherein the maintaining step takes into account load information.

13. The method of claim 1 , wherein application programming interfaces are used in the using and maintaining steps.

14. The method of claim 1 , wherein the method does not change depending on hardware or software architecture of the networked computer system.

15. The method of claim 1 , wherein the desired level or levels of redundancy include 2N, N+1, load-sharing, hot-standby, and warm-standby.

16. A method for achieving high availability in a networked computer system, the networked computer system including a plurality of nodes connected by a network, the method comprising:

using a plurality of components in each of the plurality of nodes to represent hardware and software in the networked computer system, wherein the plurality of components are high-availability aware;

managing the plurality of components to achieve a desired level or levels of redundancy;

monitoring health of the networked computer system, including health of the plurality of components and health of the plurality of nodes;

detecting a failure in the networked computer system, including a failure of a component in the plurality of components and a failure of a node in the plurality of nodes;

recovering from the failures by performing appropriate failure recovery procedure; and

migrating one of the plurality of components from one node to another node in the plurality of nodes.

17. The method of claim 16 , further comprising:

reporting the health of the networked computer system.

18. The method of claim 16 , further comprising:

reporting the failure of the networked computer system.

19. The method of claim 16 , wherein the monitoring step cooperates with the component management step.

20. The method of claim 16 , wherein the detecting step further comprises:

isolating a cause of the failure,

wherein the appropriate failure recovery procedure addresses the cause identified by the isolating step.

21. The method of claim 16 , further comprising:

cooperating with external management services and an operating system of the networked computer system.

22. A system for making a networked computer system highly available, wherein the networked computer system includes a plurality of nodes connected by a network, the system comprising:

means for using a plurality of components to each represent a set of hardware and software in the networked computer system, wherein the plurality of components are high-availability aware;

means for maintaining a desired level or levels of redundancy comprising assigning at least one of the plurality of components to provide a service within the networked computer system;

means for assigning operating states to the assigned components;

means for detecting failure of or request for change of state from one of the assigned components; and

means for modifying the assigned operating states including a state of the one of the assigned components associated with the detected failure or the detected request for change of state.

23. A system for making a networked computer system highly available, wherein the networked computer system includes a plurality of nodes connected by a network, the system comprising:

means for using a plurality of components in each of the plurality of nodes to represent hardware and software in the networked computer system, wherein the plurality of components are high-availability aware;

means for managing the plurality of components to achieve a desired level or levels of redundancy;

means for monitoring health of the networked computer system, including health of the plurality of components and health of the plurality of nodes;

means for detecting a failure in the networked computer system, including a failure of a component in the plurality of components and a failure of a node in the plurality of nodes;

means for recovering from the failures by performing appropriate fault recovery procedure; and

means for migrating one of the plurality of components from one node to another node in the plurality of nodes.

24. A computer program product configured to achieve high availability in a networked computer system, the networked computer system including a plurality of nodes connected by a network, the computer program product comprising:

computer readable program code configured to create a plurality of components to each represent a set of hardware and software in the networked computer system, wherein the plurality of components are high-availability aware;

computer readable program code configured to maintain a desired level or levels of redundancy of the plurality of components, the maintaining comprising assigning at least one of the plurality of components to provide a service;

computer readable program code configured to assign operating states to the assigned components;

computer readable program code configured to detect failure of one of the assigned components;

computer readable program code configured to detect the assigned operating states including a state of the one of the assigned components associated with the detected failure; and

a computer readable medium having the computer readable program codes embodied therein.

25. A computer program product configured to achieve high availability in a networked computer system, the networked computer system including a plurality of nodes connected by a network, the computer program product comprising:

computer readable program code configured to use a plurality of components in at least some of the nodes to represent hardware and software in the networked computer system, wherein the plurality of components are high-availability aware;

computer readable program code configured to manage the plurality of components to achieve a desired level or levels of redundancy;

computer readable program code configured to monitor health of the networked computer system, including health of the plurality of components and health of the plurality of nodes;

computer readable program code configured to detect a failure in the networked computer system, including a failure of a component in the plurality of components and a failure of a node in the plurality of nodes;

computer readable program code configured to recover from the failures by performing appropriate failure recovery procedure;

computer readable program code configured to migrate one of the plurality or components from one of the plurality of nodes to another one of the plurality of nodes; and

a computer readable medium having the computer readable program codes embodied therein.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 12, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037278/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2001
From: KAMPE, MARK A.; GIEN, MICHEL; PENKLER, DAVID; JACQUEMOT, CHRISTIAN; HERRMANN, FREDERIC; ARMAND, FRANCOIS; FENART, JEAN-MARC; CAMPBELL, DAVID F.; BALTZ, LAWRENCE E.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 012060/0092 →