Container-Based Firmware Update Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Vendors face challenges in testing software and firmware updates across diverse hardware and software combinations, leading to potential issues and extended downtime for client devices during the update process, as exhaustive testing is impractical due to the vast number of possible configurations.

Innovation Solution

A system that creates a replica container of a client device's configuration, installs vendor updates within this replica, performs a series of tests, and uses machine learning to analyze logs, determining if the update causes issues, and if so, sends the logs back to the vendor for modification, thereby reducing downtime and improving update reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the vendor tests all possible hardware and software combinations, then the reliability of the update is improved, but the time and resources required for testing become prohibitively large

Engineering Contradiction:
Improveupdate reliabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a virtual replica (container) that copies the client device's hardware and software configuration. This virtual copy allows the vendor to test updates in an environment that accurately mirrors the target system without requiring physical access to or prolonged downtime of the actual client device. The container encapsulates the device state, enabling realistic update testing while significantly reducing testing time and resource requirements.

Inventive Principle:
Principle #26Copying

2Reliability

If the client takes the device offline for update installation and testing, then the reliability of the update is improved, but the productivity of the device is reduced due to extended downtime

Engineering Contradiction:
Improveupdate verification reliabilityVSAvoiddevice availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs update installation and testing in advance on a virtual replica (container) before the actual update is deployed to the client device. By conducting all necessary verification steps preliminarily in the container environment, the system ensures update reliability without requiring the client device to be taken offline for extended periods. The pre-verified update can then be safely applied to the production system with minimal disruption.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the vendor provides untested updates to reduce testing time, then the productivity is improved, but the reliability of the update decreases due to potential issues

Engineering Contradiction:
Improveupdate deployment speedVSAvoidupdate stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a container as an intermediary between the vendor and the client device. The vendor sends updates to the container for testing rather than directly to the production system. This intermediary layer allows rapid update deployment while maintaining reliability, as the container acts as a safety buffer where updates can be validated before reaching the actual client device. If issues are detected in the container, they can be addressed without affecting production systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11327876B2Verifying a software or firmware update using a container before deploying to a client
Publication Date: 2022.05.10 EMC IP HLDG CO LLC
  • US11327876B2 patent drawing
  • US11327876B2 patent drawing
  • US11327876B2 patent drawing

AI summary

In some examples, a server receives configuration data from a device. The server receives a software or firmware update from a vendor and determines, based on the configuration data, that the update is installable on the device. The server creates and configures a container, based on the configuration data, to create a replica of the device. The server installs the update in the replica and performs multiple tests that generate logs. If the logs indicate that the update caused no issues, the server sends the update to the device. If the logs indicate that the update caused an issue, the server sends the update to the vendor. In response, the server receives, from the vendor, a modified update that addresses the issue, installs the modified update in the replica, performs the tests, determines that the modified update causes no issues, and sends the modified update to the device.