Network Node Firmware Update via Blob Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network node firmware update methods face challenges in maintaining compatibility and efficient memory usage during Over The Air (OTA) upgrades, particularly when multiple blobs need to be updated simultaneously, which can lead to reboot issues and memory constraints.

Innovation Solution

The solution involves dividing firmware into binary large objects (blobs) with associated versions, generating a compatibility tree to determine a blob upgrade order, and upgrading each blob sequentially, with the client node restarting after each upgrade, while ensuring all blobs remain compatible and aborting the process if simultaneous upgrades are required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple blobs are updated simultaneously during firmware upgrade, then the upgrade process is faster, but memory constraints are violated and reboot issues occur

Engineering Contradiction:
Improvefirmware upgrade speedVSAvoidreboot stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The firmware update process is segmented into individual blob updates executed sequentially rather than simultaneously. Each blob is updated, validated, and tested independently before proceeding to the next blob, ensuring system stability while maintaining upgrade functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by downloading and validating all blob files into non-volatile memory before executing any updates. The compatibility tree is constructed in advance, and the upgrade sequence is determined beforehand, ensuring that all prerequisites are met before the actual update process begins.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If all blobs are updated at once, then the upgrade process is simpler, but memory usage exceeds available non-volatile memory capacity

Engineering Contradiction:
Improveupgrade process complexityVSAvoidmemory usage
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The update process is divided into discrete segments corresponding to individual blobs. Each blob is processed separately through download, validation, and update stages, allowing memory management to operate within available capacity constraints while maintaining a manageable process structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system downloads blob files to temporary storage in non-volatile memory, processes them, and then discards the temporary copies after successful validation. This approach allows the system to handle large firmware updates without permanently increasing memory usage beyond available capacity.

Inventive Principle:
Principle #34Discarding and recovering

3Productivity

If blob updates are performed without compatibility verification, then the upgrade process is faster, but system compatibility is compromised

Engineering Contradiction:
Improveupdate execution speedVSAvoidblob compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary compatibility verification by constructing a compatibility tree that checks all blob version relationships before the update process begins. This preliminary action ensures that all blobs are compatible with each other, preventing future system failures while allowing the actual update execution to proceed efficiently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by validating each blob's compatibility with existing blobs during the update process. If compatibility issues are detected, the system provides feedback to abort the update, ensuring system integrity while allowing valid updates to proceed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11876676B2Network node firmware update
Publication Date: 2024.01.16 NXP USA INC
  • US11876676B2 patent drawing
  • US11876676B2 patent drawing
  • US11876676B2 patent drawing

AI summary

An apparatus and method for updating the firmware version in a network node is described. The firmware is divided into a plurality of blobs, each blob having an associated blob version. Each blob version is associated with a firmware version. The method includes receiving notification from a client server network node of an updated version of a first blob and the compatible versions of the remaining blobs. A blob upgrade order is determined from the first blob updated version, the remaining blobs compatible versions, and the remaining blobs current versions. Each blob is upgraded in the blob upgrade order. The client is restarted after each blob upgrade.