# US 2014/0157058 A1 · Identifying software responsible for a change in system stability

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157058 A1
- Document ID: US20140157058A1
- Status: Published application
- Kind: A1
- Application number: 13/954,652
- Filed: 2013-07-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Albert D. Bennah; Adrian X. Rodriguez; Eric Woods
- Web page: https://patentgrep.com/patent/US20140157058A1

## CPC

- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F 8/00: Arrangements for software engineering (testing or debugging G06F11/36; administrative, planning or organisation aspects of software project management G06Q10/06)
- G06F 11/0712: {in a virtual computing platform, e.g. logically partitioned systems}
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 11/34: Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment}
- G06F 8/60: Software deployment
- G06F 11/3003: {Monitoring arrangements specially adapted to the computing system or computing system component being monitored}
- G06F 2201/815: Virtual
- G06F 2201/86: Event-based monitoring
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method detects a stability change in a first computer system, and compares a first set of software applications installed on the first computer system to each set of software applications installed on a plurality of other computer systems. The method then identifies a second computer system from among the plurality of other computer systems, wherein the set of software applications installed on the second computer system includes all of the first set of software applications except for a given software application. The given software application is then identified as the cause of the stability change in the first computer system. The computer systems are preferably virtual machines being managed by a management module, such as a provisioning manager. The method may be used to detect both increases in stability and instability.

## Claims

### Claim 1

A computer-implemented method, comprising:
detecting a stability change in a first computer system;
comparing a first set of software applications installed on the first computer system to each set of software applications installed on a plurality of other computer systems in communication with a management module;
identifying a second computer system from among the plurality of other computer systems, wherein the set of software applications installed on the second computer system includes all of the first set of software applications except for a given software application; and
identifying the given software application as the cause of the stability change in the first computer system.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the first computer system and the plurality of other computer systems are managed by the same management module.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising:
the management module communicating with at least one other management module to share data identifying a set of software applications installed on each computer system, wherein each of the at least one other management module manages a plurality of computer systems.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first computer system and the plurality of other computer systems are virtual machines.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the first computer system and the plurality of other computer systems are virtual machines cloned from the same virtual machine template.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the first computer system and the plurality of other computer systems are virtual machines that share a common configuration profile.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the first computer system and the plurality of other computer systems are physical machines that share a common configuration profile.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the identified software application is an update to a driver, an update to firmware, or an updated version of a previously installed software application.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the identified software application includes a driver for a hard disk drive, a network interface, or an input/output port.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the stability change is an increase in an amount of instability, the method further comprising:
installing an updated version of the identified software application to the first computer system, wherein the first computer system and the plurality of other computer systems are virtual machines.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein the stability change is an increase in an amount of instability, the method further comprising:
removing the identified software application from the first computer system.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein the first computer system and the plurality of other computer systems are virtual machines.

### Claim 13 (depends on 11)

The computer-implemented method of claim 11, further comprising:
removing the identified software application from at least one of the plurality of other computer systems.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, wherein the stability change is an increase in an amount of stability, the method further comprising:
installing the identified software application to at least one of the plurality of other computer systems, wherein the first computer system and the plurality of other computer systems are virtual machines that share a common configuration profile.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1, wherein the stability change is an increase in an amount of stability, the method further comprising:
installing the identified software application to at least one of the plurality of other computer systems, wherein the first computer system and the plurality of other computer systems are physical machines that share a common configuration profile.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, wherein detecting a stability change in the first computer system includes detecting that the CPU utilization is greater than a predetermined CPU utilization threshold, detecting that a network utilization is less than a predetermined network utilization threshold, or detecting that memory utilization is less than a predetermined memory utilization threshold.

### Claim 17 (depends on 4)

The computer-implemented method of claim 4, wherein the stability change is an increase in an amount of instability, the method further comprising:
a provisioning manager preventing use of the identified software application in additional virtual machines being provisioned.

### Claim 18 (depends on 4)

The computer-implemented method of claim 4, wherein the stability change is an increase in an amount of instability, the method further comprising:
a provisioning manager refusing to accept migration of a virtual machine that uses the identified software application.

### Claim 19 (depends on 1)

The computer-implemented method of claim 1, further comprising:
a provisioning manager maintaining a list of software applications that have been identified as the cause of a stability change.

### Claim 20 (depends on 1)

The computer-implemented method of claim 1, further comprising:
informing at least one other computer system that the identified software application is the cause of the stability change; and
the at least one other computer system avoiding installation of the identified software application.
