Firmware Platform Applications for OS Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information handling systems face challenges in efficiently processing and storing diverse information needs across various users and applications, often requiring specific configurations that existing operating systems cannot adequately support, leading to limitations in flexibility and functionality.

Innovation Solution

The implementation of an information handling system that executes platform applications in conjunction with firmware, allowing for the registration of subroutines to store network resource addresses and manage operating system executables, enabling the retrieval and execution of additional platform applications from non-volatile memory and network resources, and utilizing hash values for validation and execution control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing operating systems are used, then basic system functionality is provided, but flexibility and functionality are limited when specific configurations are required

Engineering Contradiction:
ImproveflexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct layers: firmware layer (with platform applications and initialization executables) and operating system layer. This segmentation allows the firmware to provide specialized functionality while the OS handles general operations, resolving the contradiction by enabling flexibility through modular platform applications without requiring complete system redesign.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The firmware environment is designed to be universal, capable of executing multiple different platform applications and initialization executables. This multi-functionality allows a single firmware layer to support diverse specific configurations and requirements, improving adaptability without proportionally increasing overall system complexity.

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

2Adaptability or versatility

If platform applications are executed in conjunction with firmware, then flexibility and functionality are enhanced, but system complexity increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Platform applications are nested within the firmware environment, which itself is nested within the information handling system architecture. This nested structure allows platform applications to access firmware resources and system hardware through defined interfaces, enhancing functionality while containing complexity within specific layers rather than propagating it throughout the entire system.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The firmware acts as an intermediary layer between the hardware and the operating system/platform applications. It provides standardized interfaces and abstraction, allowing platform applications to interact with system resources without directly managing hardware complexity, thus enhancing functionality while managing system complexity through controlled interaction points.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple operating system executables are supported, then adaptability across different users and applications is improved, but system configuration complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoidconfiguration ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

Initialization executables are designed to run automatically during system startup, performing preliminary configuration actions such as registering subroutines, setting up network resource addresses, and preparing the environment for multiple OS executables. This preliminary action reduces configuration complexity by automating setup procedures that would otherwise require manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system employs self-service mechanisms where platform applications and initialization executables automatically register themselves, configure their parameters, and manage their execution environments. Network resource addresses are automatically retrieved and stored, and hash values are automatically calculated for validation, reducing the need for manual configuration and improving ease of operation while supporting multiple OS executables.

Inventive Principle:
Principle #25Self-service

4Ease of operation

If network resource addresses are stored via command line arguments, then retrieval and execution of platform applications is simplified, but data structure complexity increases

Engineering Contradiction:
Improveretrieval easeVSAvoiddata structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Network resource addresses are extracted from complex configuration files or hard-coded locations and placed into command line arguments. This extraction simplifies retrieval by providing direct access to necessary information in a standardized format that platform applications can easily parse and use, while the underlying data structure complexity is managed by the initialization executable that prepares these arguments.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11675619B2System and method of utilizing platform applications with information handling systems
Publication Date: 2023.06.13 DELL PROD LP
  • US11675619B2 patent drawing
  • US11675619B2 patent drawing
  • US11675619B2 patent drawing

AI summary

In one or more embodiments, one or more systems, one or more methods, and/or one or more methods may: register a subroutine configured to store multiple network resource addresses via a volatile memory medium; for each information handling system (IHS) initialization executable of multiple IHS initialization executables: retrieve, from a non-volatile memory medium, the IHS initialization executable; execute the IHS initialization executable via an environment associated with IHS firmware; call, by the IHS initialization executable, the subroutine; and store, by the subroutine, a network resource address associated with an operating system (OS) executable via command line arguments, where the command line arguments are stored via a data structure in the volatile memory medium; and for each network resource address of the command line arguments: retrieve, based at least on the network resource address, an OS executable associated with the network resource address from another IHS via a network.