# US 10,372,438 B2 · Cognitive installation of software updates based on user context

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

- Number: US 10,372,438 B2
- Document ID: US10372438B2
- Status: Granted
- Kind: B2
- Application number: 15/815,824
- Filed: 2017-11-17
- Published: 2019-05-23
- Granted: 2019-08-06
- Earliest claimed: 2017-11-17
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Kapish Kumar; Gaurav Mehrotra; Rulesh Rebello; Praveen R. Sogalad
- Web page: https://patentgrep.com/patent/US10372438B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- 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 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)}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system receives one or more messages including information related to one or more issues associated with a software application installed on a user device. In response to receiving the message, a processor in the system identifies a user context associated with the user device, wherein the user context comprises usage information related to the software application. The processor further analyzes the received information and the user context associated with the user device to determine one or more errors associated with the software application. One or more software updates that are available and associated with the one or more errors are determined. The system automatically installs one or more of the determined software updates on the user device. Embodiments of the present invention further include a method and computer program product for managing and installing one or more software updates in substantially the same manner as is described above.

## Claims

### Claim 1

A method of managing and installing one or more software updates comprising:
receiving a message including information related to one or more issues associated with a software application on a user device;
identifying a user context associated with the user device, wherein the user context comprises usage information related to the software application;
analyzing the received information and the user context associated with the user device to determine one or more errors associated with the software application;
determining one or more software updates associated with the one or more errors that are available; and
installing one or more of the determined software updates on the user device, wherein installing one or more of the determined software updates on the user device further comprises:
generating a list of the one or more errors and forwarding the one or more errors to a user;
receiving a message from the user indicating which of the one or more errors the user wants to fix; and
installing one or more software updates based on the message received from the user indicating which of the one or more errors the user wants to fix.

### Claim 2 (depends on 1)

The method of claim 1, wherein the usage information includes product version information associated with the software application.

### Claim 3 (depends on 2)

The method of claim 2, wherein the product version information includes release data and a version number associated with the software application.

### Claim 4 (depends on 1)

The method of claim 1, wherein the message including information related to one or more issues associated with a software application on a user device is periodically received.

### Claim 5 (depends on 1)

The method of claim 1, wherein one or more machine learning techniques are used to analyze the received information and the user context associated with the user device to determine one or more errors associated with the software application.

### Claim 6 (depends on 1)

The method of claim 1, further comprising storing information associated with the one or more errors in a relational database.

### Claim 7

A system for managing and installing one or more software updates comprising:
at least one processor configured to:
receive a message including information related to one or more issues associated with a software application on a user device;
identify a user context associated with the user device, wherein the user context comprises usage information related to the software application;
analyze the received information and the user context associated with the user device to determine one or more errors associated with the software application;
determine one or more software updates associated with the one or more errors that are available; and
install one or more of the determined software updates on the user device wherein installing one or more of the determined software updates on the user device further comprises:
generating a list of the one or more errors and forwarding the one or more errors to a user;
receiving a message from the user indicating which of the one or more errors the user wants to fix; and
installing one or more software updates based on the message received from the user indicating which of the one or more errors the user wants to fix.

### Claim 8 (depends on 7)

The system of claim 7, wherein the usage information includes product version information associated with the software application.

### Claim 9 (depends on 8)

The system of claim 8, wherein the product version information includes release data and a version number associated with the software application.

### Claim 10 (depends on 7)

The system of claim 7, wherein the message including information related to one or more issues associated with a software application on a user device is periodically received.

### Claim 11 (depends on 7)

The system of claim 7, wherein one or more machine learning techniques are used to analyze the received information and the user context associated with the user device to determine one or more errors associated with the software application.

### Claim 12

A computer program product for managing and installing one or more software updates, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by at least one processor to cause the at least one processor to:
receive a message including information related to one or more issues associated with a software application on a user device;
identify a user context associated with the user device, wherein the user context comprises usage information related to the software application;
analyze the received information and the user context associated with the user device to determine one or more errors associated with the software application;
determine one or more software updates associated with the one or more errors that are available; and
install one or more of the determined software updates on the user device, wherein installing one or more of the determined software updates on the user device further comprises:
generating a list of the one or more errors and forwarding the one or more errors to a user;
receiving a message from the user indicating which of the one or more errors the user wants to fix; and
installing one or more software updates based on the message received from the user indicating which of the one or more errors the user wants to fix.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein the usage information includes product version information associated with the software application.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the product version information includes release data and a version number associated with the software application.

### Claim 15 (depends on 12)

The computer program product of claim 12, wherein the message including information related to one or more issues associated with a software application on a user device is periodically received.

### Claim 16 (depends on 12)

The computer program product of claim 12, wherein one or more machine learning techniques are used to analyze the received information and the user context associated with the user device to determine one or more errors associated with the software application.

### Claim 17 (depends on 12)

The computer program product of claim 12, wherein the program instructions are further configured to cause the at least one processor to:
store information associated with the one or more errors in a relational database.
