# US 2021/0240461 A1 · Recovering the last successful device update on a computing system

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

- Number: US 2021/0240461 A1
- Document ID: US20210240461A1
- Status: Published application
- Kind: A1
- Application number: 16/780,230
- Filed: 2020-02-03
- Published: 2021-08-05
- Earliest claimed: 2020-02-03
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Vivekanandh Narayanasamy Rajagopalan; Trinto Thattil Nadakkalan Antony; Ambadas Devrao Jadhav
- Web page: https://patentgrep.com/patent/US20210240461A1

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 11/1433: {during software upgrading}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The last successful device update can be recovered on a computing system. An update tool can be employed to detect whether an update package is installed successfully. When an update package is successfully installed, the update tool can define a last successful device update that associates the update package with the device that the update package targets. In contrast, when the update package does not install successfully, the update tool can access the last successful device update for the targeted device and use it to obtain and install the previous update package that the last successful device update represents. In this way, the related components for a device can be rolled back to a common state to prevent incompatibilities that may otherwise exist due to the failed installation.

## Claims

### Claim 1

A method, performed by an update tool, for recovering a last successful device update on a computing system, the method comprising:
receiving a first update package that targets a device on the computing system, the first update package including multiple related components for the device;
detecting that installation of the first update package has failed;
in response, accessing a last successful device update that is defined for the device;
identifying a second update package that is defined in the last successful device update; and
causing the second update package to be installed on the computing system, the second update package also including the multiple related components for the device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the multiple related components include at least one driver for the device.

### Claim 3 (depends on 2)

The method of claim 2, wherein the multiple related components also include a control application for the device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the multiple related components included in the second update package are prior versions of the multiple related components included in the first update package.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting that installation of the first update package has failed comprises detecting that at least one of the multiple related components failed to install.

### Claim 6 (depends on 1)

The method of claim 1, wherein accessing the last successful device update that is defined for the device comprises determining that the last successful device update includes an identifier of the device.

### Claim 7 (depends on 1)

The method of claim 1, wherein causing the second update package to be installed on the computing system comprises using a download link defined in the last successful device update to download the second update package.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving a third update package that targets the device, the third update package including the multiple related components for the device;
detecting that installation of the third update package has completed successfully;
in response, updating the last successful device update for the device to identify the third package.

### Claim 9 (depends on 8)

The method of claim 8, wherein updating the last successful device update for the device to identify the third package comprises defining an association between an identifier of the device and an identifier of the third update package.

### Claim 10 (depends on 9)

The method of claim 9, wherein updating the last successful device update for the device to identify the third package further comprises identifying the second update package as a predecessor.

### Claim 11

One or more computer storage media storing computer executable instructions which when executed on a computing system implement an update tool that is configured to recover a last successful device update on a computing system by performing the following:
receiving a first update package that targets a device on the computing system, the first update package including multiple related components for the device;
detecting that installation of the first update package has completed successfully;
in response, creating a last successful device update that associates the first update package with the device;
receiving a second update package that targets the device, the second update package including the multiple related components for the device;
detecting that installation of the second update package has failed;
in response to the failed installation, accessing the last successful device update to identify the first update package; and
causing the first update package to be installed on the computing system.

### Claim 12 (depends on 11)

The computer storage media of claim 11, wherein the multiple related components include multiple drivers.

### Claim 13 (depends on 12)

The computer storage media of claim 12, wherein the multiple related components include at least one driver and a control application.

### Claim 14 (depends on 11)

The computer storage media of claim 11, wherein creating the last successful device update that associates the first update package with the device comprises defining an association between an identifier of the first update package and an identifier of the device.

### Claim 15 (depends on 11)

The computer storage media of claim 11, wherein creating the last successful device update that associates the first update package with the device comprises linking the last successful device update to a predecessor successful device update, the predecessor successful device update associating a different update package with the device.

### Claim 16 (depends on 11)

The computer storage media of claim 11, wherein the multiple related components included in the second update package comprise subsequent versions of the multiple related components included in the first update package.

### Claim 17 (depends on 11)

The computer storage media of claim 11, wherein detecting that installation of the second update package has failed comprises detecting that the second update package was only partially installed.

### Claim 18

A computing system comprising:
one or more processors; and
computer storage media storing computer executable instructions which when executed by the one or more processors implement an update tool;
wherein the update tool is configured to detect when an update package is installed successfully and, in response, define a last successful device update that associates the update package with a device that the update package targets; and
wherein the update tool is also configured to detect when an update package is not installed successfully and, in response, employ the last successful device update to retrieve and install the update package that the last successful device update associates with the device.

### Claim 19 (depends on 18)

The computing system of claim 18, wherein the update tool maintains last successful device updates for a plurality of devices.

### Claim 20 (depends on 18)

The computing system of claim 18, wherein each update package includes multiple related components for the corresponding device.
