Distributed Controller Software Update with Automatic Failure Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in automatically recovering from failures during controller software updates in networked computer systems, leading to unstable states and significant downtime.

Innovation Solution

A distributed update approach is implemented using multiple nodes in a cluster, where one node performs the update operations and another node monitors the process. If a failure occurs, the system automatically recovers by installing a backup image and restoring operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a single node performs controller software updates, then the update process is simple to manage, but the system is vulnerable to failures and requires manual restoration

Engineering Contradiction:
Improveupdate management simplicityVSAvoidupdate failure recovery
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

A second node is introduced as a monitor to watch the update process performed by the first node. This intermediary monitors update operations and detects failures, enabling automatic recovery without manual intervention while keeping the update management relatively simple through distributed coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements automatic recovery mechanisms where the monitored node or another node in the cluster self-restores from backup images when failures are detected. This eliminates the need for manual restoration operations, allowing the system to service itself during update failures.

Inventive Principle:
Principle #25Self-service

2Stability of the object's composition

If manual restoration is used after update failure, then the system ensures stability, but significant downtime occurs

Engineering Contradiction:
Improvesystem stabilityVSAvoiddowntime
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Backup images are maintained in advance before updates are performed. When a failure occurs during an update, the system can immediately restore from pre-prepared backup images without needing to create backups during the failure event, significantly reducing downtime while ensuring system stability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The automatic recovery mechanism enables the system to self-restore from backup images without human intervention. This automated process eliminates the manual restoration time while maintaining system stability through proven backup restoration procedures.

Inventive Principle:
Principle #25Self-service

3Productivity

If multiple nodes perform update operations concurrently, then the update speed increases, but the complexity of coordination and failure monitoring increases

Engineering Contradiction:
Improveupdate speedVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The update process is segmented into distinct roles: one node performs the update operations while another node monitors the process. This segmentation of responsibilities simplifies coordination compared to fully concurrent updates, as each node has a specific function, reducing the complexity of inter-node communication and failure monitoring.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12242350B2Distributed software update by multiple nodes
Publication Date: 2025.03.04 RUCKUS IP HOLDINGS LLC
  • US12242350B2 patent drawing
  • US12242350B2 patent drawing
  • US12242350B2 patent drawing

AI summary

During operation, a controller node, in multiple nodes in a cluster, may provide to the multiple nodes a set of operations associated with an update of controller software for a controller, where at least the controller node implements the controller. Moreover, at least a first node in the multiple nodes may perform the set of operations associated with the update of the controller software. Furthermore, at least a second node in the multiple nodes may monitor the performing of the set of operations by at least the first node. When the performing of the set of operations is completed by at least the first node, the first node may terminate the performing of the set of operations by the multiple nodes. Alternatively, when a failure occurs during the update of the controller software, at least the first node or the second node may automatically recover the multiple nodes.