IP Library Granted Patent US 11,269,619
Granted Patent B2
US 11,269,619 · App. 16/914,851 · Granted Mar 8, 2022

Firmware management for IoT devices

Inventors: Christopher J. Rouland (Greensboro, GA); Earle W. Ady (Encinitas, CA); Trent Altman (Carlsbad, CA)
Assignee: PHOSPHORUS CYBERSECURITY INC.
G06F8/654G06F8/71G06F21/572G16Y30/00H04L9/0637H04L9/3236H04L67/34H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,269,619
App. No.
16/914,851
Granted
Mar 8, 2022
Kind
B2
Abstract

A process for management of Internet-of-Things (IoT) devices includes a management system for identifying, interrogating, and updating devices connected to one or more networks. The management system can include a data store for storing various data related to the devices and the various processes of the management system. The management system can include a controller for executing processes such as interrogation processes, firmware change processes, credential change processes, and other processes. The controller can determine versions of firmware and other configuration properties of a device and generate various profiles for updating the firmware and other configuration properties. The controller can determine upgrade paths for updating the firmware and other configuration properties from a first version to a second version, the upgrade paths including one or more intermediary versions for facilitating the upgrade path. The management system can update devices individually, on a device family basis, or on a system-wide basis.

Claims (56)

1. A system comprising,

a data store comprising data describing a plurality of internet of things (IoT) devices and a corresponding plurality of firmware versions; and

at least one computing device comprising a processor and in communication with the data store, the at least one computing device being configured to at least:

receive a request to change firmware of a particular IoT device of the plurality of IoT devices from a first version to a second version over a network, the first version being specified in a corresponding one of the plurality of firmware versions;

identify a particular IoT device family for the particular IoT device;

determine a firmware change profile corresponding to the particular IoT device family; and

change a firmware image of the particular IoT device to the second version over the network based on the firmware change profile.

2. The system of claim 1 , wherein the at least one computing device is further configured to:

subsequent to changing the firmware image, interrogate the particular IoT device over the network according to an interrogation profile corresponding to the particular IoT device family to determine a current firmware version; and

in response to the current firmware version matching the second version, update the corresponding one of the plurality of firmware versions.

3. The system of claim 1 , wherein the at least one computing device is further configured to:

perform an interrogation the particular IoT device over the network according to an interrogation profile; and

determine that the first version of the firmware is currently installed based at least in part on a formatting of responses to the interrogation.

4. The system of claim 1 , wherein the at least one computing device is further configured to:

generate a signature of firmware image; and

verify the signature against the data describing the plurality of IoT devices and the corresponding plurality of firmware versions.

5. The system of claim 1 , wherein the at least one computing device is further configured to:

determine an upgrade path for the particular IoT device based on the first version, the second version, and the firmware change profile; and

prior to initiating changing of the firmware image of the particular IoT device to the second version, initiate changing the firmware image of the particular IoT device to at least one intermediary version based on the upgrade path.

6. The system of claim 1 , wherein the firmware image is stored in a blockchain ledger store and the at least one computing device is further configured to verify a hash associated with the firmware image in the blockchain ledger store prior to initiating changing of the firmware image.

7. A method comprising,

receiving, via at least one computing device, a request to change firmware of a particular IoT device of a plurality of IoT devices from a first version to a second version over a network, the first version being specified in a corresponding one of a plurality of firmware versions;

identifying, via the at least one computing device, a particular IoT device family for the particular IoT device;

determining, via the at least one computing device, a firmware change profile corresponding to the particular IoT device family; and

changing, via the at least one computing device, a firmware image of the particular IoT device to the second version over the network based on the firmware change profile.

8. The method of claim 7 , further comprising:

interrogating, via the at least one computing device, the particular IoT device over the network according to an interrogation profile corresponding to the particular IoT device family to determine a current firmware version; and

in response to the current firmware version matching the second version, updating, via the at least one computing device, a corresponding firmware version for the particular IoT device in a data store.

9. The method of claim 7 , wherein the request is received via at least one of: a web page or a scheduled process.

10. The method of claim 7 , further comprising:

determining, via the at least one computing device, an upgrade path for the particular IoT device based on the first version, the second version, and the firmware change profile; and

initiating, via the at least one computing device, changing the firmware image of the particular IoT device to at least one intermediary version based on the upgrade path.

11. The method of claim 7 , further comprising:

performing, via the at least one computing device, an interrogation the particular IoT device over the network according to an interrogation profile; and

determining, via the at least one computing device, that the first version of the firmware is currently installed based at least in part on features available on the particular IoT device.

12. The method of claim 7 , wherein the firmware image is stored in a blockchain ledger store and the at least one computing device is further configured to verify a hash associated with the firmware image in the blockchain ledger store prior to initiating changing of the firmware image.

13. A non-transitory computer-readable medium embodying a program that, when executed by at least one computing device, causes the at least one computing device to at least:

receive a request to change firmware of a particular IoT device of a plurality of IoT devices from a first version over a network, the first version being specified in a corresponding one of a plurality of firmware versions;

identify a particular IoT device family for the particular IoT device;

determine a firmware change profile corresponding to the particular IoT device family; and

change a firmware image of the particular IoT device to a second version over the network based on the firmware change profile.

14. The non-transitory computer-readable medium of claim 13 , wherein the at least one computing device is further configured to:

apply a policy to the particular IoT device in response to the request to change firmware; and

identify the second version for installation according to the policy.

15. The non-transitory computer-readable medium of claim 13 , wherein the at least one computing device is further configured to:

subsequent to changing the firmware image, interrogate the particular IoT device over the network according to an interrogation profile corresponding to the particular IoT device family to determine a current firmware version; and

in response to the current firmware version matching the second version, update the a corresponding version for the particular IoT device in a data store.

16. The non-transitory computer-readable medium of claim 13 , wherein the request is received via at least one of: a web page or a scheduled process.

17. The non-transitory computer-readable medium of claim 13 , wherein the program further causes the at least one computing device to:

determine an upgrade path for the particular IoT device based on the first version, the second version, and the firmware change profile; and

prior to initiate changing of the firmware image the second version, initiate changing the firmware image of the particular IoT device to at least one intermediary version based on the upgrade path.

18. The non-transitory computer-readable medium of claim 13 , wherein the firmware image is stored in a blockchain ledger store and the program further causes the at least one computing device to verify a hash associated with the firmware image in the blockchain ledger store prior to initiating changing of the firmware image.

19. The non-transitory computer-readable medium of claim 13 , wherein the program further causes the at least one computing device to:

perform an interrogation the particular IoT device over the network according to an interrogation profile; and

determine that an expected version of firmware is not currently installed based at least in part on the interrogation.

20. The system of claim 1 , wherein changing the firmware image of the particular IoT device to the second version over the network comprises initiating a firmware change process by sending a message over the network.

Assignments (2)
SECURITY INTEREST Recorded May 8, 2026
From: PHOSPHORUS SECURITY LLC
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 074605/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: ROULAND, CHRISTOPHER J.; ADY, EARLE W.; ALTMAN, TRENT
To: PHOSPHORUS CYBERSECURITY INC.
Reel/Frame 053073/0258 →
Continuity (2)
Provisional Application 62867352 · Jun 27, 2019
Related Publication 20200409687A1 · Dec 31, 2020
Cited By (3)
US 12,307,239 US 12,379,918 US 12,554,482