Updating control software on a network-connected HVAC controller
First Claim
1. A machine-implementable method for updating software on a client device from a remote server, comprising:
- receiving a device identifier for the client device at a registration server;
determining, by the registration server, a software version identifier that corresponds to an appropriate software version to provide to the client device;
determining, by the registration server, a server address for a software update server that can provide the appropriate software version;
transmitting, by the registration server, the software version identifier, credentials that authorize the software update server to communicate with the client device, and the server address to the client device;
receiving the credentials and a request for the appropriate software version at the software update server;
determining that the credentials authorize the software update server to communicate with the client device; and
transmitting the appropriate software version from the software update server to the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus, systems, methods, and computer program products are disclosed for providing software updates to client devices. A client device (such as a thermostat) executes software to perform one or more functionalities of the device. Upon receiving an indicating that a software update is available, the device waits to download the software update until pre-download conditions are satisfied. Once the software update is downloaded, the device then waits to install the software update until pre-install conditions are satisfied. If the software update is non-critical and received during an initial installation of the device, the software update may not be installed until after installation of the device is complete. If the device is a thermostat, the device may delay installation of the software update until a controlled HVAC system in inactive. Control of the HVAC system may be disabled during installation of the software update.
140 Citations
21 Claims
-
1. A machine-implementable method for updating software on a client device from a remote server, comprising:
-
receiving a device identifier for the client device at a registration server; determining, by the registration server, a software version identifier that corresponds to an appropriate software version to provide to the client device; determining, by the registration server, a server address for a software update server that can provide the appropriate software version; transmitting, by the registration server, the software version identifier, credentials that authorize the software update server to communicate with the client device, and the server address to the client device; receiving the credentials and a request for the appropriate software version at the software update server; determining that the credentials authorize the software update server to communicate with the client device; and transmitting the appropriate software version from the software update server to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A remote server for updating software on a client device, comprising:
-
a registration server configured to; receive device identifiers from a plurality client devices, and for each device identifier thus received; determine a software version identifier of an appropriate software version for the corresponding client device, determine a server address for a software update server that can provide the appropriate software version; and transmit the software version identifier, credentials that authorize the software update server to communicate with the client device, and the server address to the client device; and the software update server, configured to; receive the credentials and upgrade requests from a plurality of client devices, and for each upgrade request thus received; determine that the credentials authorize the software update server to communicate with the client device; and transmit the appropriate software version to the corresponding client device. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
Specification