# US 2025/0165243 A1 · Techniques for firmware updates in building and equipment controllers

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

- Number: US 2025/0165243 A1
- Document ID: US20250165243A1
- Status: Published application
- Kind: A1
- Application number: 18/511,063
- Filed: 2023-11-16
- Published: 2025-05-22
- Earliest claimed: 2023-11-16
- Assignees: Trane International Inc.
- Applicants: Trane International Inc.
- Inventors: Udhaya Kumar Dayalan; James Kenneth McKeever; Brian Meyers
- Web page: https://patentgrep.com/patent/US20250165243A1

## CPC

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

## Abstract

Devices, systems, and methods are described for updating firmware in building and equipment controllers. Several embodiments include a fleet manager configured to simplify and automate remote firmware updates to connected (e.g., cloud-connected) embedded equipment and building control devices. The updates may be performed immediately or scheduled, such as based on user preferences, constraints, and conditions and/or device parameters and capabilities. In many embodiments, the fleet manager may engage in an interactive process, such as with a client, to schedule and perform updates.

## Claims

### Claim 1

A computer-implemented method for managing firmware updates for a fleet of controllers, the method comprising:
identifying a plurality of controllers for a firmware update based on a predefined controller grouping, wherein the plurality of controllers each include an on-board memory with a current firmware;
determining a set of controllers located in a building, the set of controllers determined based on a controller mapping, and the set of controllers included in the plurality of controllers for the firmware update;
retrieving client data corresponding to the set of controllers;
determining, based on a client-defined constraint in the client data, approval is required to perform the firmware update on the set of controllers;
requesting, automatically, approval to perform the firmware update on the set of controllers based on contact information included in the client data;
receiving authorization to perform the firmware update on the set of controllers in response to requesting the approval;
communicating, over a network, the firmware update to a first controller in the set of controllers based on the authorization; and
initiating, over the network, performance of the firmware update on the first controller in the set of controllers based on the authorization.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining the first controller in the set of controllers includes sufficient on-board memory to simultaneously store the firmware update and the current firmware; and
communicating, over the network, the firmware update to the first controller for storage in the on-board memory with the current firmware based on determining the first controller includes sufficient on-board memory to simultaneously store the firmware update and the current firmware.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining the first controller in the set of controllers includes insufficient on-board memory to simultaneously store the firmware update and the current firmware;
receiving, over the network, the current firmware of the first controller based on determining the first controller in the set of controllers includes insufficient on-board memory to simultaneously store the firmware update and the current firmware;
storing the current firmware of the first controller in a cloud storage; and
communicating, over the network, the firmware update to the first controller for storage in the on-board memory in place of the current firmware in response to storing the current firmware of the first controller in the cloud storage.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the network comprises a first network and a second network and communicating the firmware update to a first controller includes communicating, over the first network, the firmware update to a building controller that relays, over a second network, the firmware update to the first controller.

### Claim 5 (depends on 4)

The computer network of claim 4, further comprising:
determining the first controller in the set of controllers includes insufficient on-board memory to simultaneously store the firmware update and the current firmware; and
instructing the building controller to backup the current firmware on the first controller prior to relaying, over the second network, the firmware update to the first controller.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the authorization is subject to at least one client-defined condition received in conjunction with the authorization.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the at least one client-defined condition received in conjunction with the authorization comprises a timing constraint for performing the firmware update.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the client-defined constraint in the client data includes a first client-defined constraint and the method further comprises initiating, over the network, performance of the firmware update on the first controller in the set of controllers based on a second client-defined constraint in the client data and sensor data associated with the building the first controller is located in.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein the sensor data indicates an occupancy level in the building and the second client-defined constraint comprises a threshold occupancy level for performing the firmware update.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, wherein the sensor data indicates an operational parameter of a device controlled by the first controller and the second client-defined constraint comprises a threshold for the operational parameter of the device, and wherein the operational parameter of the device includes at least one of a current capacity, a current resource consumption, a current revolutions per minute, and a current loading.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, further comprising communicating, over a network, the firmware update to the first controller for storage in the on-board memory with the current firmware based on determining an available bandwidth of the network for communication with the first controller exceeds a threshold amount of bandwidth.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining performance of the firmware update on the first controller was successful; and
initiating, over the network, performance of the firmware update on a second controller in the set of controllers in response to determining the firmware update on the first controller was successful.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein the firmware update is performed on the second controller using the firmware update stored in the on-board memory of the first controller.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, wherein the first controller controls operation of a heating, ventilation, and air conditioning (HVAC) component of the building.

### Claim 15

A server computer system for managing a fleet of controllers, comprising:
a memory; and
a processor coupled to the memory configured to:
identify, by a server system, a plurality of controllers for a firmware update based on a predefined controller grouping, wherein the plurality of controllers each include an on-board memory with a current firmware;
determine, by the server system, a set of controllers located in a building, the set of controllers determined based on a controller mapping, and the set of controllers included in the plurality of controllers for the firmware update;
retrieve, by the server system, client data corresponding to the set of controllers;
determine, by the server system and based on a client-defined constraint in the client data, approval is required to perform the firmware update on the set of controllers;
request, automatically and by the server system, approval to perform the firmware update on the set of controllers based on contact information included in the client data;
receive, by the server system, authorization to perform the firmware update on the set of controllers in response to requesting the approval;
communicate, over a network and by the server system, the firmware update to a first controller in the set of controllers based on the authorization; and
initiating, over the network and by the server system, performance of the firmware update on the first controller in the set of controllers based on the authorization.

### Claim 16 (depends on 15)

The server computer system of claim 15, the processor coupled to the memory further configured to:
determine, by the server system, the first controller in the set of controllers includes sufficient on-board memory to simultaneously store the firmware update and the current firmware; and
communicate, over the network and by the server system, the firmware update to the first controller for storage in the on-board memory with the current firmware based on determining the first controller includes sufficient on-board memory to simultaneously store the firmware update and the current firmware.

### Claim 17 (depends on 15)

The server computer system of claim 15, the processor coupled to the memory further configured to:
determine, by the server system, performance of the firmware update on the first controller was unsuccessful; and
initiate, over the network and by the server system, restoration of the current firmware on the first controller in response to determining the firmware update on the first controller was unsuccessful.

### Claim 18 (depends on 17)

The server computer system of claim 17, the processor coupled to the memory further configured to determine, by the server system, performance of the firmware update on the first controller was unsuccessful in response to failing to receive an update confirmation from the first controller within a threshold amount of time.

### Claim 19 (depends on 15)

The server computer system of claim 15, wherein the server system comprises a cloud-based computing system.

### Claim 20

A non-transitory computer readable storage medium including instructions that, when executed by a processor, cause the processor to perform operations for managing a fleet of controllers, the operations comprising:
identifying a plurality of controllers for a firmware update based on a predefined controller grouping, wherein the plurality of controllers each include an on-board memory with a current firmware;
determining a set of controllers located in a building, the set of controllers determined based on a controller mapping, and the set of controllers included in the plurality of controllers for the firmware update;
retrieving client data corresponding to the set of controllers;
determining, based on a client-defined constraint in the client data, approval is required to perform the firmware update on the set of controllers;
requesting, automatically, approval to perform the firmware update on the set of controllers based on contact information included in the client data;
receiving authorization to perform the firmware update on the set of controllers in response to requesting the approval;
communicating, over a network, the firmware update to a first controller in the set of controllers based on the authorization; and
initiating, over the network, performance of the firmware update on the first controller in the set of controllers based on the authorization.
