IP Library Granted Patent US 7,543,192
Granted Patent B2
US 7,543,192 · App. 11/471,205 · Granted Jun 2, 2009

Estimating the residual life of a software system under a software-based failure mechanism

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,543,192
App. No.
11/471,205
Granted
Jun 2, 2009
Kind
B2
Abstract

One embodiment of the present invention provides a system that estimates residual life of a software system under a software-based failure mechanism. During operation, the system first constructs a prognostic database for the software-based failure mechanism based on a plurality of software systems of the same type as the software system, wherein the prognostic database includes a set of prognostic readings associated with the software-based failure mechanism from the plurality of software systems. Note that a given prognostic reading in the prognostic database comprises: (1) a symptom index, which is a function of one or more variables associated with the software-based failure mechanism; and (2) a residual life, which is the remaining time to a failure under the software-based failure mechanism. Next, the system obtains a symptom index value from the software system which is being monitored. The system then estimates a residual life for the software system under the software-based failure mechanism by comparing the symptom index value with the prognostic readings in the prognostic database.

Claims (73)

1. A method for estimating residual life of a software system under a software-based failure mechanism, comprising:

constructing a prognostic database for the software-based failure mechanism based on a plurality of software systems of the same type as the software system,

wherein the prognostic database includes a times-series of prognostic readings associated with the software-based failure mechanism from the plurality of software systems; and

wherein a given prognostic reading at a given timestamp in the time-series of prognostic readings comprises:

a symptom index computed at the given timestamp as a function of one or more variables associated with the software-based failure mechanism, wherein the one or more variables are recorded at the given timestamp; and

a residual life, which is the remaining time computed from the given timestamp to a failure time under the software-based failure mechanism;

obtaining a symptom index value from the software system which is being monitored; and

estimating a residual life for the software system under the software-based failure mechanism by comparing the symptom index value with the prognostic readings in the prognostic database.

2. The method of claim 1 , wherein for a given system in the plurality of software systems, constructing the prognostic database for the software-based failure mechanism involves:

monitoring the system during operation until a system failure occurs, wherein while monitoring, recording system values associated with the software-based failure mechanism at various recording times t i ;

verifying that the system failure is caused by the software-based failure mechanism, and if so,

recording the time of failure t f ,

computing a set of symptom indices s i and associated residual lives r i based on the recorded system values, and

storing the time-series of prognostic readings (s i , r i ) in the prognostic database for the software-based failure mechanism.

3. The method of claim 2 , wherein the residual life r i at a given recording time t i is computed as r i =t f −t i .

4. The method of claim 1 , wherein the method is performed for a plurality of software-based failure mechanisms simultaneously.

5. The method of claim 1 , wherein estimating the residual life for the software system involves computing at least one of:

a mean of the residual life;

a variance of the residual life; and

confidence bounds for the residual life.

6. The method of claim 5 , wherein computing the mean of the residual life involves computing a conditional probability density function f(r|s*) for a given symptom index value s*, wherein r is the residual life.

7. The method of claim 5 , wherein the confidence bounds of the residual life are tighter when the number of software systems in the prognostic database is larger.

8. The method of claim 1 , wherein the software-based failure mechanism can include software aging, which can involve,

a memory leak;

other types of resource exhaustion problems;

accumulation of numerical errors; and

latching of a share pool memory.

9. The method of claim 8 , wherein the symptom index for The memory-leak failure mechanism is computed from a memory leak index (MLI) and a currently-available memory.

10. The method of claim 1 , wherein the method further comprises taking preventive action based on the estimated residual life for the software system, which can include performing a software rejuvenation operation.

11. The method of claim 1 , wherein the method is performed using a Continuous System Telemetry Harness (CSTH).

12. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for estimating residual life of a software system under a software-based failure mechanism, the method comprising:

constructing a prognostic database for the software-based failure mechanism based on a plurality of software systems of the same type as the software system,

wherein the prognostic database includes a time-series of prognostic readings associated with the software-based failure mechanism from the plurality of software systems; and

wherein a given prognostic reading at a given timestamp in the time-series of prognostic readings comprises:

a symptom index computed at the given timestamp as a function of one or more variables associated with the software-based failure mechanism wherein the one or more variables are recorded at the given timestamp; and

a residual life, which is the remaining time computed from the given timestamp to a failure time under the software-based failure mechanism;

obtaining a symptom index value from the software system which is being monitored; and

estimating a residual life for the software system under the software-based failure mechanism by comparing the symptom index value with the prognostic readings in the prognostic database.

13. The computer-readable storage medium of claim 12 , wherein for a given system in the plurality of software systems, constructing the prognostic database for the software-based failure mechanism involves:

monitoring the system during operation until a system failure occurs, wherein while monitoring, recording system values associated with the software-based failure mechanism at various recording times t i ;

verifying that the system failure is caused by the software-based failure mechanism, and if so,

recording the time of failure t f ,

computing a set of symptom indices s i and associated residual lives r i based on the recorded system values, and

storing the time-series of prognostic readings (s i , r i ) in the prognostic database for the software-based failure mechanism.

14. The computer-readable storage medium of claim 12 , wherein the method is performed for a plurality of software-based failure mechanisms simultaneously.

15. The computer-readable storage medium of claim 12 , wherein estimating the residual life for the software system involves computing at least one of:

a mean of the residual life;

a variance of the residual life; and

confidence bounds for the residual life.

16. The computer-readable storage medium of claim 15 , wherein computing the mean of the residual life involves computing a conditional probability density function f(r|s*) for a given symptom index value s*, wherein r is the residual life.

17. The computer-readable storage medium of claim 12 , wherein the software-based failure mechanism can include software aging, which can involve,

a memory leak;

other types of resource exhaustion problems; and

accumulation of numerical errors; and

latching of a share pool memory.

18. An apparatus that estimates residual life of a software system under a software-based failure mechanism, comprising:

a construction mechanism configured to construct a prognostic database for the software-based failure mechanism based on a plurality of software systems of the same type as the software system;

wherein the prognostic database includes a time-series of prognostic readings associated with the software-based failure mechanism from the plurality of software systems; and

wherein a given prognostic reading at a given timestamp in the time-series of prognostic readings comprises:

a symptom index, computed at the given timestamp as a function of one or more variables associated with the software-based failure mechanism wherein the one or more variables are recorded at the given timestamp; and

a residual life, which is the remaining time computed from the given timestamp to a failure time under the software-based failure mechanism;

an obtaining mechanism configured to obtain a symptom index value from the software system which is being monitored; and

an computing mechanism configured to estimate a residual life for the software system under the software-based failure mechanism by comparing the symptom index value with the prognostic readings in the prognostic database.

19. The apparatus of claim 18 , wherein for a given system in the plurality of software systems, the construction mechanism is configured to construct the prognostic database for the software-based failure mechanism by:

monitoring the system during operation until a system failure occurs, wherein while monitoring, recording system values associated with the software-based failure mechanism at various recording times t i ;

verifying that the system failure is caused by the software-based failure mechanism, and if so,

recording the time of failure t f ,

computing a set of symptom indices s i and associated residual lives r i based on the recorded system values, and

storing the time-series of prognostic readings (s i , r i ) in the prognostic database for the software-based failure mechanism.

20. The apparatus of claim 18 , wherein the estimation mechanism is configured to estimate the residual life for the software system by computing at least one of:

a mean of the residual life;

a variance of the residual life; and

confidence bounds for the residual life.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2006
From: VAIDYANATHAN, KALYANARAMAN; GROSS, KENNY C.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017992/0247 →