# US 2021/0240464 A1 · Automatic device-to-device firmware upgrade of a wireless network

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

- Number: US 2021/0240464 A1
- Document ID: US20210240464A1
- Status: Published application
- Kind: A1
- Application number: 17/049,106
- Filed: 2018-06-12
- Published: 2021-08-05
- Earliest claimed: 2018-04-20
- Assignees: Carrier Corporation
- Applicants: Carrier Corporation
- Inventors: Akil Vivek Jalisatgi; Amit Basu; Krishnakanth Jarugumilli
- Web page: https://patentgrep.com/patent/US20210240464A1

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- H04W 4/50: Service provisioning or reconfiguring
- G06F 8/60: Software deployment
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04W 4/80: Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
- H04W 84/20: Leader-follower arrangements
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method is provided to automatically perform a firmware upgrade of a wireless network. The method includes receiving by a node of the wireless network using slave-mode, a firmware upgrade request from another node of the wireless network and performing by the node a firmware upgrade using upgrade instructions included with the firmware upgrade request. The method further includes determining by the node using master mode, at least two eligible nearby nodes of the wireless network, updating the firmware upgrade request, and transmitting by the node using master mode the firmware upgrade request to the at least two eligible nearby nodes of the network.

## Claims

### Claim 1

A method to automatically perform a firmware upgrade of a wireless network, the method comprising:
receiving by a node of the wireless network using slave-mode, a firmware upgrade request from another node of the wireless network;
performing by the node a firmware upgrade using upgrade instructions included with the firmware upgrade request;
determining by the node using master mode, at least two eligible nearby nodes of the wireless network;
updating the firmware upgrade request; and
transmitting by the node using master mode, the firmware upgrade request to the at least two eligible nearby nodes of the network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the update request received includes a routing list of nodes that transmitted the update request, including the other node as the most recent node to transmit the update request, and updating the update request includes the node adding identification of the other node to the routing list as the most recent node to transmit the update request, wherein the method further comprises:
transmitting using slave mode, to the most recent node of the routing list as received, after performance of the firmware upgrade, a status packet that indicates status of the firmware upgrade performed.

### Claim 3 (depends on 1)

The method of claim 1, wherein the update request received includes a routing list of nodes that transmitted the update request, including the other node as the most recent node to transmit the update request, and updating the update request includes the node adding identification of the node to the routing list as the most recent node to transmit the update request, wherein the method further comprises:
receiving, using master mode, a status packet from the at least two eligible nearby nodes to which the upgrade request was transmitted, the status packet indicating status of a firmware upgrade by the at least two eligible nearby nodes; and
transmitting, using master mode, the received status packet to the most recent node of the routing list as received.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the at least two eligible nearby nodes includes determining eligibility by querying the at least two eligible nearby nodes regarding a current firmware version being used, wherein eligibility is based on whether the queried nodes are currently using a firmware version that is not yet updated relative to a version provided by the update request.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving a second status packet from one of the at least two eligible nearby nodes that was received by the one of the at least two eligible nearby nodes from a second other node of the network that is different than the node and the other node, the second status packet indicating status of the firmware upgrade by the second other node in response to receiving an upgrade request from the one of the at least two eligible nearby nodes; and
transmitting the received second status packet to the most recent node of the routing list as received.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
storing, by the other node, a master list of unique identifiers for each node of the network to be provided with the upgrade request for performing the firmware upgrade as instructed in the upgrade request;
receiving, by the other node, status packets from each node that transmitted the upgrade request, the respective status packets indicating status of the firmware upgrade requested to be performed by the respective upgrade requests that were transmitted; and
updating, by the other node, the master list to reflect current status of the firmware upgrade for each of the unique identifiers based on the status packets received.

### Claim 7 (depends on 2)

The method of claim 2, wherein the update request including the routing list as updated by the transmitting node, and the method further includes each receiving node that receives the update request from a transmitting node:
performing the firmware upgrade using the upgrade instructions in the firmware upgrade request;
determining using master mode, eligible nearby nodes of the wireless network;
updating the firmware upgrade request by adding identification of the receiving node to the routing list as the most recent transmitting node;
transmitting using slave mode, to the most recent node of the routing list as received, a status packet that indicates status of the receiving node's firmware upgrade;
transmitting using master mode, the firmware upgrade request to the eligible nearby nodes;
receiving using master mode, a status packet from each of the eligible nodes that indicates status of the firmware upgrade of the eligible nearby nodes;
transmitting using master mode, to the most recent node of the routing list as received, after performance of the firmware upgrade, the status packet received from each of the eligible nodes; and
upon receiving, via any of the eligible nodes, a status packet transmitted from one or more remote nodes to which the upgrade request was previously transmitted by the eligible nearby nodes that indicates status of a firmware upgrade by the one or more remote nodes, transmitting, using master mode, the status packet received from the one or more remote nodes to the most recent node of the routing list as received.

### Claim 8 (depends on 2)

The method of claim 2, wherein in the event that transmitting the firmware upgrade request to the at least two eligible nearby nodes of the network by the node is unsuccessful after retrying a threshold number of times, the node transmits the status packet to the most recent node of the routing list as received to indicate that the firmware upgrade was unsuccessfully transmitted.

### Claim 9 (depends on 1)

The method of claim 1, wherein the node communicates with the other node via a first piconet and the node communicates with the at least two eligible nearby nodes via a second piconet that is different than the first piconet.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining the at least two eligible nearby nodes includes:
detecting at least one nearby node that is capable of two-way wireless communication with the node;
storing the detected at least one nearby node in a target list; and
selecting nodes included in the target list that are eligible for the firmware upgrade based on a current upgrade status of the nodes included in the target list.

### Claim 11

A node of a plurality of nodes of a wireless network, the node comprising:
a memory configured to store instructions;
a processor in communication with the memory, wherein the processor upon execution of the instructions is configured to:
receive using slave-mode, a firmware upgrade request from another node of the wireless network;
perform a firmware upgrade using upgrade instructions included with the firmware upgrade request;
update the firmware upgrade request; and
transmit using master mode the firmware upgrade request to the at least two eligible nearby nodes of the network.

### Claim 12 (depends on 11)

The node of claim 11, wherein the update request received includes a routing list of nodes that transmitted the update request, including the other node as the most recent node to transmit the update request, and updating the update request includes the node adding identification of the node to the routing list as the most recent node to transmit the update request, wherein the processor when executing the instructions is configured to:
transmit, using slave mode, to the most recent node of the routing list as received, after performance of the firmware upgrade, a status packet that indicates status of the firmware upgrade performed.

### Claim 13 (depends on 11)

The node of claim 11, wherein the update request received includes a routing list of nodes that transmitted the update request, including the other node as the most recent node to transmit the update request, and updating the update request includes the node adding identification of the node to the routing list as the most recent node to transmit the update request, wherein the processor when executing the instructions is configured to:
receive, using master mode, a status packet from the at least two eligible nearby nodes to which the upgrade request was transmitted, the status packet indicating status of a firmware upgrade by the at least two eligible nearby nodes; and
transmit, using master mode, the received status packet to the most recent node of the routing list as received.

### Claim 14 (depends on 11)

The node of claim 11, wherein determining the at least two eligible nearby nodes includes determining eligibility by querying the at least two eligible nearby nodes regarding a current firmware version being used, wherein eligibility is based on whether the queried nodes are currently using a firmware version that is not yet updated relative to a version provided by the update request.

### Claim 15 (depends on 11)

The node of claim 11, wherein the processor when executing the instructions is configured to:
receive a second status packet from one of the at least two eligible nearby nodes that was received by the one of the at least two eligible nearby nodes from a second other node of the network that is different than the node and the other node, the second status packet indicating status of the firmware upgrade by the second other node in response to receiving an upgrade request from the one of the at least two eligible nearby nodes; and
transmit the received second status packet to the most recent node of the routing list as received.

### Claim 16 (depends on 11)

The node of claim 11, wherein the node communicates with the other node via a first piconet and second node communicates with the at least two eligible nearby nodes via a second piconet that is different than the first piconet.

### Claim 17

A non-transitory computer readable storage medium and one or more computer programs embedded therein, the computer programs comprising instructions, which when executed by a premises-based computer system, cause the computer system to:
receive using slave-mode, a firmware upgrade request from another node of the wireless network;
perform a firmware upgrade using upgrade instructions included with the firmware upgrade request;
update the firmware upgrade request; and
transmit using master mode the firmware upgrade request to the at least two eligible nearby nodes of the network.

### Claim 18 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the update request received includes a routing list of nodes that transmitted the update request, including the other node as the most recent node to transmit the update request, and updating the update request includes the node adding identification of the node to the routing list as the most recent node to transmit the update request, wherein the computer program instructions, when executed by the computer system, further cause the computer system to:
transmit, using slave mode, to the most recent node of the routing list as received, after performance of the firmware upgrade, a status packet that indicates status of the firmware upgrade performed.

### Claim 19 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the update request received includes a routing list of nodes that transmitted the update request, including the other node as the most recent node to transmit the update request, and updating the update request includes the node adding identification of the node to the routing list as the most recent node to transmit the update request, wherein the computer program instructions, when executed by the computer system, further cause the computer system to:
receive, using master mode, a status packet from the at least two eligible nearby nodes to which the upgrade request was transmitted, the status packet indicating status of a firmware upgrade by the at least two eligible nearby nodes; and
transmit, using master mode, the received status packet to the most recent node of the routing list as received.

### Claim 20 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the computer program instructions, when executed by the computer system, further cause the computer system to:
receive a second status packet from one of the at least two eligible nearby nodes that was received by the one of the at least two eligible nearby nodes from a second other node of the network that is different than the node and the other node, the second status packet indicating status of the firmware upgrade by the second other node in response to receiving an upgrade request from the one of the at least two eligible nearby nodes; and
transmit the received second status packet to the most recent node of the routing list as received.
