# US 2014/0208306 A1 · Control system having automatic component software management

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

- Number: US 2014/0208306 A1
- Document ID: US20140208306A1
- Status: Published application
- Kind: A1
- Application number: 13/748,042
- Filed: 2013-01-23
- Published: 2014-07-24
- Earliest claimed: 2013-01-23
- Assignees: Caterpillar Inc.
- Applicants: Caterpillar Inc.
- Inventors: Bibhrajit HALDER; Andrew Joseph Vitale
- Web page: https://patentgrep.com/patent/US20140208306A1

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A component software management system for a machine is disclosed. The component software management system has a software driven component located on-board the machine, a data system located off-board the machine, and a data system controller in communication with the software driven component and the data system. The data system controller is configured to detect a software or hardware mismatch, send a mismatch notification to the data system, and determine a current software update. The component software management system may then derive, from the current software update, a software calibration file, transmit the software calibration file, and install the software calibration file on the software driven component.

## Claims

### Claim 1

A component software management system for a machine, comprising:
a software driven component located on-board the machine;
a data system located off-board the machine; and
a data system controller in communication with the software driven component and the data system located off-board the machine, the data system controller being configured to:
detect a mismatched software;
send a mismatch notification to the data system located off-board the machine;
determine a current software update;
derive, from the current software update, a software calibration file;
transmit the software calibration file; and
install the software calibration file on the software driven component.

### Claim 2 (depends on 1)

The component software management system of claim 1, wherein the data system controller is located on-board the machine and is in communication with the software driven component via a machine controller.

### Claim 3 (depends on 1)

The component software management system of claim 1, wherein the software calibration file is derived by:
comparing bytes of the current software update to bytes of the mismatched software; and
creating the software calibration file, wherein the software calibration file:
omits bytes of information from the current software update found to be identical to corresponding bytes of information on the mismatched software;
includes bytes of information from the current software update found to be different from corresponding bytes of information on the mismatched software; and
includes instructions to remove any bytes of information that are not part of the current software update.

### Claim 4 (depends on 1)

The component software management system of claim 1, wherein the data system controller is configured to automatically perform a safety check prior to installing the software calibration file on the software driven component.

### Claim 5 (depends on 4)

The component software management system of claim 4, wherein the data system controller is further configured to:
determine whether the machine is in a non-operational state; and
install the software calibration file when the data system controller has determined that the machine is in the non-operational state.

### Claim 6 (depends on 5)

The component software management system of claim 5, wherein the data system controller is configured to:
restore the mismatched software to the software driven component when installation of the software calibration file renders the software driven component at least partly inoperative; and
send a notification to the data system located off-board the machine.

### Claim 7 (depends on 3)

The component software management system of claim 3, wherein the data system controller is configured to:
authenticate an authorized user;
request user input regarding whether the current software update creates any known software and hardware mismatches;
receive either an affirmative or a negative user confirmation; and
proceed with installation in response to the affirmative user confirmation.

### Claim 8 (depends on 4)

The component software management system of claim 4, wherein the data system controller is configured to determine if the current software update is manufacturer-authorized software.

### Claim 9 (depends on 1)

The component software management system of claim 1, wherein the data system controller is further configured to:
update a master record with information related to software installed on the software driven component; and
automatically send the master record to the data system located off-board the machine.

### Claim 10 (depends on 1)

The component software management system of claim 1, wherein the software calibration file includes software for a plurality of software driven components.

### Claim 11

A computer-implemented method of managing a software version of a software driven component for a machine, comprising:
analyzing, by one or more processors on a data system controller, the software driven component for at least one of a software and hardware version mismatch;
sending a notification to a data system located off-board the machine when a mismatched software is detected;
determining, using the one or more processors, a current software update;
deriving, using the one or more processors, a software calibration file from the current software update;
transmitting the software calibration file; and
installing, using the one or more processors, the software calibration file on the software driven component.

### Claim 12 (depends on 11)

The method of claim 11, wherein the software calibration file is derived by:
comparing bytes of the current software update to bytes of the mismatched software; and
creating the software calibration file, wherein the software calibration file:
omits bytes of information from the current software update found to be identical to corresponding bytes of information on the mismatched software;
includes bytes of information from the current software update found to be different from corresponding bytes of information on the mismatched software; and
includes instructions to remove any bytes of information that are not part of the current software update.

### Claim 13 (depends on 11)

The method of claim 11, further including performing a safety check prior to installation of the software calibration file on the software driven component.

### Claim 14 (depends on 13)

The method of claim 13, including:
determining whether the machine is in a non-operational state; and
installing the software calibration file when the data system controller has determined that the machine is in the non-operational state.

### Claim 15 (depends on 14)

The method of claim 14, further including:
restoring the mismatched software to the software driven component when the installation of the software calibration file renders the software driven component at least partly inoperative; and
notifying the data system located off-board the machine.

### Claim 16 (depends on 14)

The method of claim 14, including:
authenticating an authorized user;
requesting input from the authorized user regarding whether the current software update creates a software and hardware version mismatch;
receiving either an affirmative or a negative user confirmation; and
proceeding with the installation in response to the affirmative user confirmation.

### Claim 17 (depends on 13)

The method of claim 13, including determining if the current software update is manufacturer-authorized software.

### Claim 18 (depends on 13)

The method of claim 13, including
automatically updating a master record with information related to software installed on the software driven component; and
automatically sending the master record to the data system located off-board the machine.

### Claim 19 (depends on 13)

The method of claim 13, wherein the software calibration file includes software for a plurality of software driven components.

### Claim 20

A control system for a machine, comprising:
a software driven component;
a data system controller in communication with the software driven component and configured to automatically collect information comprising at least one of a software and hardware version of the software driven component;
a data system located off-board the machine; and
a data system controller located on-board the machine in communication with the software driven component, the data system controller and the data system located off-board the machine, the data system controller being configured to:
detect a software and hardware mismatch;
send a mismatch notification to the data system located off-board the machine;
determine a current software update;
derive, from the current software update, a software calibration file;
transmit the software calibration file;
determine whether the machine is in a non-operational state; and
install the software calibration file on the software driven component when the machine is in the non-operational state.
