SYSTEM AND METHOD FOR EFFICIENTLY UPDATING FIRMWARE FOR NODES IN A MESH NETWORK
First Claim
1. A computer-implemented method for upgrading nodes within a network, the method comprising:
- discovering a plurality of nodes connected to the network;
dividing the plurality of nodes into one or more clusters of nodes based on a topology of the network, wherein each node within a particular cluster of nodes is able to communicate with each of the other nodes within the particular cluster of nodes; and
for each cluster of nodes;
selecting a subset of seed nodes within the cluster of nodes,transmitting a software update to each seed node in the subset of seed nodes, andfor each seed node in the subset of seed nodes, notifying a set of adjacent nodes associated with the seed node to begin polling nodes in the network to locate a copy of the software update.
3 Assignments
0 Petitions
Accused Products
Abstract
A technique for providing an improved way to update the nodes of a wireless mesh network is described. An upgrade engine executing on a server connected to the wireless mesh network determines a topology of the network, subdivides the network into a plurality of clusters based on the topology of the network, and seeds a small number of nodes within each cluster. The upgrade engine manages the upgrade process, notifying particular nodes within each cluster when to search for an upgrade package (e.g., an image of a new firmware) stored in an adjacent node. The upgrade engine also monitors success and failure of each node and delivers the upgrade package to a node directly when the node fails to download the upgrade package from an adjacent node within the network.
47 Citations
20 Claims
-
1. A computer-implemented method for upgrading nodes within a network, the method comprising:
-
discovering a plurality of nodes connected to the network; dividing the plurality of nodes into one or more clusters of nodes based on a topology of the network, wherein each node within a particular cluster of nodes is able to communicate with each of the other nodes within the particular cluster of nodes; and for each cluster of nodes; selecting a subset of seed nodes within the cluster of nodes, transmitting a software update to each seed node in the subset of seed nodes, and for each seed node in the subset of seed nodes, notifying a set of adjacent nodes associated with the seed node to begin polling nodes in the network to locate a copy of the software update. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium including instructions that, when executed by a processing unit, cause the processing unit to upgrade nodes within a network, by performing the steps of:
-
discovering a plurality of nodes connected to the network; dividing the plurality of nodes into one or more clusters of nodes based on a topology of the network, wherein each node within a particular cluster of nodes is able to communicate with each of the other nodes within the particular cluster of nodes; and for each cluster of nodes; selecting a subset of seed nodes within the cluster of nodes, transmitting a software update to each seed node in the subset of seed nodes, and for each seed node in the subset of seed nodes, notifying a set of adjacent nodes associated with the seed node to begin polling nodes in the network to locate a copy of the software update. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device comprising:
a processing unit configured to upgrade nodes within a network, by performing the steps of; discovering a plurality of nodes connected to the network; dividing the plurality of nodes into one or more clusters of nodes based on a topology of the network, wherein each node within a particular cluster of nodes is able to communicate with each of the other nodes within the particular cluster of nodes; and for each cluster of nodes; selecting a subset of seed nodes within the cluster of nodes, transmitting a software update to each seed node in the subset of seed nodes, and for each seed node in the subset of seed nodes, notifying a set of adjacent nodes associated with the seed node to begin polling nodes in the network to locate a copy of the software update. - View Dependent Claims (18, 19, 20)
Specification