Distribution of software updates in wireless multihop networks
First Claim
1. In a multihop network that includes a plurality of nodes, including nodes of different types that execute correspondingly different types of software, each node being within communication range of its immediate one or more neighboring nodes, a method for distributing software upgrades within the network, the method comprising:
- storing, on a first node, software of a first type and software of a second type, wherein the software of the first type is native to the first node and the software of the second type is not native to the first node;
receiving by the first node, from a neighboring second node, version information representing software types and corresponding versions, the version information including information corresponding to the second type of software;
comparing, by the first node, received version information corresponding to the second type of software against version information corresponding to a locally-stored copy of the second type of software that is stored on the first node; and
sending, by the first node, an upgrade for the second type of software to the neighboring second node in response to a result of the comparing being indicative of the received version information corresponding to the second type of software representing an older version of the second type of software than the version information of the locally-stored copy of the second type of software.
3 Assignments
0 Petitions
Accused Products
Abstract
Propagation of software updates in a wireless mesh network is handled according to an “informed push” model. Nodes are given the software update that they need, but this is done in response to a sequence of propagating reports on the need for the upgrade (i.e., that node devices have old versions). Each node device executes a reporting cycle in which a report is sent to its neighbors that indicates the types and versions of software items that reside on the device; and for non-resident software items, the lowest versions of which the node device received knowledge from its neighbors. If a node device determines that its reporting neighbor has an old version of a software item and the node device contains a newer version of that software type residing locally, then it sends its neighbor the upgrade. Otherwise, the node “gossips” about the old version to its own neighbors.
21 Citations
24 Claims
-
1. In a multihop network that includes a plurality of nodes, including nodes of different types that execute correspondingly different types of software, each node being within communication range of its immediate one or more neighboring nodes, a method for distributing software upgrades within the network, the method comprising:
-
storing, on a first node, software of a first type and software of a second type, wherein the software of the first type is native to the first node and the software of the second type is not native to the first node; receiving by the first node, from a neighboring second node, version information representing software types and corresponding versions, the version information including information corresponding to the second type of software; comparing, by the first node, received version information corresponding to the second type of software against version information corresponding to a locally-stored copy of the second type of software that is stored on the first node; and sending, by the first node, an upgrade for the second type of software to the neighboring second node in response to a result of the comparing being indicative of the received version information corresponding to the second type of software representing an older version of the second type of software than the version information of the locally-stored copy of the second type of software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a multihop network that includes a plurality of nodes, each node being within communication range of its immediate one or more neighboring nodes, a method for distributing software upgrades within the network, the method comprising:
-
propagating, by nodes in the network, knowledge about early versions of software, wherein each of the nodes incorporates knowledge gained from its neighboring nodes into its own knowledge; and propagating, by nodes in the network, software updates of later versions of the software such that each of the software upgrades is transmitted to only those neighboring nodes that have reported knowledge about an earlier version of that software. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A node device for use with a multihop network that includes nodes of different types that execute correspondingly different types of software, each node being within communication range of its immediate one or more neighboring nodes, the node device comprising:
communication circuitry, and a controller interfaced with the communication circuitry, the controller including a processor and a non-transitory data storage arrangement containing instructions executable on the processor, that, when executed, cause the controller to implement a software upgrade module that includes; a software version info module configured to obtain and store knowledge of various software types and versions thereof; a version info reporting module configured to send reports to neighboring nodes indicating the node device'"'"'s knowledge of various software types and versions thereof; a software upgrade storage module configured to store a plurality of distinct types of software; a software dissemination module configured to send software upgrades of selected ones of the plurality of distinct types of software stored by the software upgrade storage module; and a decision module configured to evaluate software version info obtained from the neighboring nodes against prior knowledge of the software types and their versions, and to determine responsive actions based on the evaluation, wherein in response to a determination that an older version of a first type of software resides on another node device than a version of which the node device has knowledge, the decision module initiates action by the version info reporting module to report an existence of the older version.
-
17. The node device of 16, wherein the decision module is further configured to initiate action by the software dissemination module to send a resident copy of a second type of software to a neighboring node in response to reception of a report from that neighboring node indicating an older version of the second type of software.
-
18. The node device of 16, wherein the plurality of distinct types of software includes a native type of software executable on the node device, and a non-native type of software that is not executable on the node device.
-
19. The node device of 16, wherein the version info reporting module is configured to send the reports such that:
-
for resident software that resides on the node device, the reports include current versions of each item of the resident software; and for non-resident software that does not reside on the node deice, the reports include an earliest known version of each known type of software.
-
-
20. The node device of 16, wherein the version info reporting module is further configured to send reports exclusively toward a root node of the network.
-
21. The node device of 16, wherein the software dissemination module configured to send the software upgrades exclusively to a subset of other nodes within a predefined subnet color.
-
22. The node device of 16, wherein the software upgrades include complete images of system software for nodes.
-
23. The node device of 16, wherein the software upgrades include upgraded portions of system software for nodes.
-
24. In a multihop network that includes a plurality of nodes, including nodes of different types that execute correspondingly different types of software, each node being within communication range of its immediate one or more neighboring nodes, a method for distributing software upgrades within the network, the method comprising:
-
means for storing, on a first node, software of a first type and software of a second type, wherein the software of the first type is native to the first node and the software of the second type is not native to the first node; means for receiving, by the first node, version information representing software types and corresponding versions, from a neighboring second node, the version information including information corresponding to the second type of software; means for comparing, by the first node, received version information corresponding to the second type of software against version information corresponding to a locally-stored copy of the second type of software that is stored on the first node; and means for sending, by the first node, an upgrade for the second type of software to the neighboring second node in response to a result of the comparing being indicative of the received version information corresponding to the second type of software representing an older version of the second type of software than the version information of the locally-stored copy of the second type of software.
-
Specification