Decentralized Software Update Propagation in Wireless Mesh Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deploying software upgrades to large or geographically distributed wireless networks is challenging due to unreliable communication and time-consuming processes, especially in networks with multiple hops, where traditional centralized methods can fail and require all nodes to be active, leading to inefficiencies and high power consumption.
Innovation Solution
Distributing the node update process to allow any node to upgrade others concurrently, eliminating the need for a central coordinator, and optimizing RF channel usage by spreading packet transmissions to reduce collisions, with nodes autonomously searching and upgrading neighboring devices with outdated software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized device communicates individually to each device for software updates, then the update process is coordinated reliably, but the update time becomes excessively long and the process becomes impractical for large networks
Solution Approach 1:
The centralized update process is segmented into distributed peer-to-peer update operations. Each node that receives an update can independently act as an update source for other nodes, dividing the update propagation task into multiple concurrent segments rather than a single sequential process from one central device.
Solution Approach 2:
Nodes perform preliminary actions by storing update packages locally after receiving them from any source. This preliminary storage enables nodes to immediately serve as update sources for neighbors without needing to contact the central device again, accelerating the update propagation process.
2Productivity
If multiple nodes transmit upgrade packets simultaneously over RF channels, then the upgrade speed increases, but packet collisions increase and channel availability decreases
Solution Approach 1:
The system implements periodic action through time-spread transmission where nodes transmit upgrade packets at different time intervals rather than simultaneously. This periodic staggering reduces packet collisions while maintaining continuous upgrade operations across the network.
Solution Approach 2:
The system resolves channel contention by adding temporal and frequency dimensions to the transmission space. Instead of all nodes competing for the same RF channel at the same time, transmissions are distributed across multiple time slots and frequency channels, effectively moving the problem from one dimension to multiple dimensions.
3Reliability
If nodes in a low-power network remain active to maintain communication links for updates, then update reliability improves, but power consumption increases significantly
Solution Approach 1:
The network implements self-service through opportunistic updates where nodes perform updates during their natural wake periods without requiring continuous activity. Each node uses its own operational cycles to both receive and propagate updates, eliminating the need for dedicated update infrastructure or continuous node activation.
Solution Approach 2:
The system embraces dynamic operation by allowing nodes to transition between sleep and active states flexibly. Update operations occur dynamically when nodes are naturally awake and available, rather than requiring static continuous operation, thereby maintaining reliability while minimizing power consumption.
4Productivity
If nodes autonomously select target nodes for upgrades without coordination, then the update process becomes simpler and faster, but conflicts arise when multiple nodes attempt to upgrade the same target simultaneously
Solution Approach 1:
The system implements feedback mechanisms where nodes broadcast their upgrade status and availability information. When a node is selected as an upgrade target, it provides feedback to other nodes indicating it is already being upgraded, preventing duplicate upgrade attempts and conflicts without requiring complex centralized coordination.
Data Source
AI summary
In a system and method for upgrading software in a wireless mesh network, a first node in the network sends a first multicast request to a plurality of other nodes in the network that are in radio range of the first node. The first multicast request queries whether the other nodes are running a software version older than the software version and device type currently running in the first node. The first node then selects a node to upgrade and sends a request asking if any other nodes have already claimed that node. The first node then updates the nodes only if they have not been claimed for update by another node. In upgrading the claimed nodes, the first node copies to the claimed nodes the software it is currently executing in its internal flash memory thereby creating a clone, and does not store any additional copies of the updated software.


