Bootstrap Loader Automatic Software Update Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional set-top box bootstrap loaders (BSLs) cannot automatically recognize and process software updates, especially when the main software is buggy or compromised, and they lack the ability to download both software images and executable code, limiting the flexibility and efficiency of software updates.

Innovation Solution

A method and apparatus that automatically checks for and downloads the latest software version, allowing both software images and executable code to be downloaded, and supports flexible installation by decompressing and executing code in RAM or flash memory, enabling updates even when the main software is not functional.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional BSL relies on main software to recognize announcements and trigger updates, then update process is simple, but updates cannot be downloaded when main software is buggy or compromised

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidautomatic update detection
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system separates the update detection and download functionality from the main software by implementing it in the bootstrap loader (BSL) itself. The BSL now contains independent code to check for software announcements and download updates, rather than relying on the main software to trigger these processes. This segmentation ensures that update capabilities remain functional even when the main software is compromised.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bootstrap loader performs self-service by automatically detecting software updates and downloading new versions without requiring the main software to be functional. The BSL independently monitors for announcements, processes download triggers, and manages update installation, making the system self-sufficient for maintenance operations even when primary software fails.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If traditional BSL only downloads software images, then download process is simple, but installation flexibility is limited

Engineering Contradiction:
Improveinstallation flexibilityVSAvoiddownload and install process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The bootstrap loader is enhanced to perform multiple functions: it can download software images, download executable installation code, decompress data, and manage installation across different memory types (RAM, flash memory). This multi-functional capability allows the system to adapt to various installation scenarios and memory configurations, providing universal update functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically adapts its installation process based on available resources and requirements. The BSL can adjust between downloading complete images versus incremental updates, choose between RAM and flash memory for installation based on availability, and modify the installation approach based on the current system state, making the update process flexible and responsive.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If software is downloaded to flash memory, then permanent storage is achieved, but large software may not fit in available memory

Engineering Contradiction:
Improvesoftware sizeVSAvoidmemory capacity
Core Design Contradiction:
Quantity of substanceVSVolume of stationary object

Solution Approach 1:

The system segments the software update process into multiple parts that can be downloaded and installed incrementally. Rather than requiring the entire software image to fit in memory at once, the BSL can download portions of the software, install them to available memory spaces, and continue downloading remaining portions, allowing large software updates to be applied even when total memory capacity is limited.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system utilizes volatile RAM memory as a temporary workspace during the update process, accepting that data in RAM may be lost on power cycle. This allows large software images to be received and processed in RAM temporarily, then selectively transferred to flash memory for permanent storage, effectively using the temporary memory to overcome limitations of permanent storage capacity.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS7673297B1Automatic software update detection and flexible installer for set-top boxes
Publication Date: 2010.03.02 DIRECTV LLC
  • US7673297B1 patent drawing
  • US7673297B1 patent drawing
  • US7673297B1 patent drawing

AI summary

A method and apparatus for updating set top box software from a resident software version stored in a memory of the set-top box to a current software version is disclosed. The method comprises the step of automatically checking to determine if the resident software version is the current software version, and downloading data comprising at least a portion of the current software version if the resident software version is not the current software version.