Embedded System Automatic Software Update via Boot Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing embedded systems require manual operation of an external computer host for software updates, which is time-consuming and inconvenient, especially when updating large amounts of software, and necessitates user knowledge and ownership of a computer host.

Innovation Solution

An embedded system with a micro-controller and update agent interface programming (UAIP) in the boot code that automatically updates system software by connecting to an external data storage device, allowing for autonomous software updates without requiring user intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual operation of external computer host is used to update system software, then users can perform software updates, but it requires user knowledge and ownership of a computer host, increasing operational complexity

Engineering Contradiction:
Improveease of software update operationVSAvoidoperational complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The embedded system performs software updates autonomously using the update agent interface programming embedded in its boot code. The system automatically detects, downloads, and installs software updates without requiring external computer host operation or user intervention, making the system serve itself for maintenance tasks

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The update agent interface programming is pre-installed in the boot code of the embedded system. This preliminary preparation enables the system to automatically perform update operations as soon as update packages are available, without requiring users to prepare external tools or knowledge beforehand

Inventive Principle:
Principle #10Preliminary action

2Productivity

If manual software update process is used, then system software can be updated, but a great amount of time is required when the amount of system software to be updated is large

Engineering Contradiction:
Improvesoftware update speedVSAvoidupdate time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The embedded system automatically manages the entire software update process including detection, downloading, and installation. This automation eliminates the time-consuming manual operations required in traditional update processes, significantly reducing update time especially for large software packages

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The update agent interface programming enables continuous automated update operations. The system can continuously check for updates, download them, and install them without interruption or manual intervention, maintaining continuous productive action throughout the update process

Inventive Principle:
Principle #20Continuity of useful action

3Extent of automation

If update agent interface programming is executed during boot, then automatic software updates are enabled, but memory resources are consumed during system initialization

Engineering Contradiction:
Improveautomation of software updateVSAvoidmemory resource usage
Core Design Contradiction:
Extent of automationVSUse of energy by moving object

Solution Approach 1:

The update agent interface programming is integrated into the boot code and executed partially during the boot process. Rather than consuming full memory resources continuously, it performs update operations only when needed and in a controlled manner during system initialization, balancing automation with resource conservation

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7493612B2Embedded system and related method capable of automatically updating system software
Publication Date: 2009.02.17 LIBERTY PATENTS LLC
  • US7493612B2 patent drawing
  • US7493612B2 patent drawing
  • US7493612B2 patent drawing

AI summary

An embedded system and method capable of automatically updating system software. The embedded system includes a first storage device for storing a first system software and a boot image; a microcontroller coupled to the first storage device for respectively converting the first system software and the boot image into a system code and a boot code, for controlling booting of the embedded system; and a connecting interface coupled to the microcontroller and further coupled to an external data storage device through a data transmitting media. The external data storage device contains a second system software. The boot code includes an update agent interface programming (UAIP) code utilized for reading the second system software from the external data storage device through the connection interface to update the first system software.