Zero-Downtime Firmware Update via Active-Passive Node Role Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High availability computer systems face downtime during firmware updates, either due to simultaneous node downtime or requiring significant user interaction, which can be undesirable, especially when users are unavailable.

Innovation Solution

A firmware update client seamlessly updates both active and passive nodes with zero downtime by having the active node update the passive node's firmware and then rebooting to switch roles, allowing the passive node to update the active node's firmware in a high availability enabled computing system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the active node is brought down for firmware update, then the firmware can be updated, but the computer system becomes unavailable during the upgrade

Engineering Contradiction:
Improvesystem availabilityVSAvoiddowntime during upgrade
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The firmware update process is segmented into distinct phases: the active node first updates the passive node's firmware while remaining operational, then both nodes reboot in sequence to activate the updated firmware. This segmentation allows the system to maintain availability during the update process by avoiding simultaneous downtime of both nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The active node performs preliminary action by updating the passive node's firmware before initiating its own reboot. This preliminary update of the passive node ensures that when the active node reboots, the passive node is already prepared with the updated firmware, enabling seamless role switching and continuous system availability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If zero-downtime firmware update is implemented, then system availability is maintained, but significant user interaction is required

Engineering Contradiction:
Improvesystem availabilityVSAvoiduser interaction requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs self-service by automatically executing the firmware update process without requiring user intervention. The active node autonomously updates the passive node's firmware, sets the indicator flag, and manages the reboot sequence. The passive node automatically detects the indicator flag and activates after rebooting, eliminating the need for user interaction while maintaining zero downtime.

Inventive Principle:
Principle #25Self-service

3Productivity

If both nodes are updated simultaneously, then upgrade efficiency is improved, but the system becomes unavailable during the upgrade

Engineering Contradiction:
Improveupgrade efficiencyVSAvoidsystem availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The simultaneous update process is segmented into sequential operations: the active node updates the passive node first, then both nodes reboot in a coordinated sequence. This segmentation maintains upgrade efficiency by updating both nodes while preserving system availability through the active-passive role switching mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The active node performs preliminary action by completing the firmware update of the passive node before initiating its own reboot. This preliminary action ensures that the passive node is ready to assume the active role with the updated firmware, enabling both nodes to be updated efficiently while maintaining continuous system availability through proper sequencing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8495618B1Updating firmware in a high availability enabled computer system
Publication Date: 2013.07.23 AMERICAN MEGATRENDS
  • US8495618B1 patent drawing
  • US8495618B1 patent drawing
  • US8495618B1 patent drawing

AI summary

Technologies are provided herein for seamlessly updating firmware in a high availability enabled solution. A system for updating firmware in a high availability enabled solution includes a first active node that is functional on the system and which is connected to a firmware update client and a second passive node that is in an active-passive relationship with the first node. The first node receives a firmware update command and retrieves the updated firmware from the firmware update client. The first node then updates firmware of the second node using the updated firmware. Upon updating the firmware of the second node, the first node sets an indicator flag associated with the second node, which notifies the second node to become the active node upon being rebooted. The first node then reboots the second node, which then updates the firmware of the first node with the updated firmware.