IP Library Granted Patent US 7,197,447
Granted Patent B2
US 7,197,447 · App. 10/438,130 · Granted Mar 27, 2007

Methods and systems for analyzing software reliability and availability

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,197,447
App. No.
10/438,130
Granted
Mar 27, 2007
Kind
B2
Abstract

Disclosed is a software application reliability and availability tracking and reporting mechanism that collects event data from target computers, analyzes the data, and produces reliability and availability reports. A network administrator specifies target computers for which event data are collected. The collected event data along with a reliability model are provided to a reliability and availability analysis engine. Output from the engine includes reliability and availability data expressed as durations of time spent in each state and as associations with the events. The reliability and availability data are fed to a report generator which computes reliability and availability metrics. The metrics are used to generate reports that can be interpreted by the network administrator without the need for specialized data analysis skills. The metrics are also aggregated to provide historical and relative ranking reliability and availability data useful for planning and tracking against reliability and availability objectives.

Claims (58)

1. A method for producing software reliability and availability data, the method comprising:

accepting a reliability model, the reliability model receiving at least a first state and a second state and a plurality of transitions between the states;

accepting a collection manager, the collection manager allowing:

a selection of one or more computers from which to collect software application event data;

a selection of a group of computers which may be in separate locations on separate networks to create a virtual group of computers from which to collect software application event data; and

a selection of dates and times for the collection manager to operate;

accepting the software application event data, wherein software application event data comprises a data log from the software application;

mapping the software application event data to the reliability model; and

producing reliability and availability data based, at least in part, on the reliability model and on the software application event data.

2. The method of claim 1 wherein the reliability model comprises a finite-state machine having a plurality of states and a plurality of transitions between the states.

3. The method of claim 2 wherein mapping comprises:

selecting an entry of the event data; and

matching the entry to one of the transitions of the finite-state machine.

4. The method of claim 2 wherein the reliability model further comprises at least one event associated with at least one of the transitions.

5. The method of claim 4 , wherein mapping comprises:

selecting an entry of the event data; and

matching the selected entry to one of the events associated with at least one of the transitions.

6. The method of claim 1 wherein the reliability and availability data comprise:

an application state;

a time when the application state was entered; and

a time when the application state was exited.

7. The method of claim 6 wherein the reliability and availability data further comprise:

an event associated with the application state; and

a time when the event occurred.

8. A computer-readable medium containing instructions for performing a method for producing software reliability and availability data, the method comprising:

accepting a reliability model, the reliability model having at least a first state and a second state and a plurality of transitions between the states;

accepting a collection manager, the collection manager allowing:

a selection of one or more computers from which to collect software application event data;

a selection of a group of computers which may be in separate locations on separate networks to create a virtual group of computers from which to collect software application event data; and

a selection of dates and times for the collection manager to operate;

accepting the software application event data, wherein software application event data comprises a data log from the software application;

mapping the software application event data to the reliability model; and

producing reliability and availability data based, at least in part, on the reliability model and on the software application event data.

9. A system for analyzing software reliability and availability, the system comprising:

a reliability model, the reliability model having at least a first state and a second state and a plurality of transitions between the states;

a collection manager, the collection manager allowing:

a selection of one or more computers from which to collect software application event data;

a selection of a group of computers which may be in separate locations on separate networks to create a virtual group of computers from which to collect software application event data; and

a selection of dates and times for the collection manager to operate;

the software application event data, wherein software application event data comprises a data log from the software application;

an analysis engine; and

software application reliability and availability data produced by the analysis engine based, at least in part, on the input of the software application event data and the reliability model.

10. A computer-readable medium containing instructions and data for a system for analyzing software reliability and availability, the system comprising:

a reliability model, the reliability model having at least a first state and a second state and a plurality of transitions between the states;

a collection manager, the collection manager allowing:

a selection of one or more computers from which to collect software application event data;

a selection of a group of computers which may be in separate locations on separate networks to create a virtual group of computers from which to collect software application event data; and

a selection of dates and times for the collection manager to operate;

the software application event data, wherein software application event data comprises a data log from the software application;

an analysis engine; and

software application reliability and availability data produced by the analysis engine based, at least in part, on the input of the software application event data and the reliability model.

11. The computer-readable medium of claim 10 , wherein the application reliability and availability data is stored in a sojourn data structure, the sojourn data structure comprising:

a first data field containing data representing an application state;

a second data field containing data representing a time when the application state was entered; and

a third data field containing data representing a time when the application state was exited.

12. The computer-readable medium of claim 11 , wherein the sojourn data structure further comprises:

a fourth data field containing data representing an event, the event comprising at least one of a transition out of the application state or a transition into the application state; and

a fifth data field containing data representing a time when the event occurred.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2003
From: SUSSKIND, SILVIO
To: MICROSOFT CORPORATION
Reel/Frame 014080/0618 →