Build Indicator for Consistent Feature Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inconsistencies in enabling or disabling features across different phases of electronic device manufacturing and usage, such as build, build tool, and runtime environments, can lead to inconsistent configurations and potential manual errors.

Innovation Solution

A build indicator is set in the build environment to determine the enablement or disablement of features, with its value promoted to build tool and runtime variables, ensuring consistent configuration across phases through metadata protection and runtime checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual configuration is used to enable or disable features across build, build tool, and runtime environments, then flexibility in feature management is improved, but configuration consistency deteriorates and manual errors increase

Engineering Contradiction:
Improvefeature management flexibilityVSAvoidconfiguration consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a build indicator as an intermediary element that automatically propagates feature enablement/disablement settings across build, build tool, and runtime environments. This mediator eliminates manual configuration in each environment by using a single source of truth (the build indicator) that is automatically promoted through all phases, thereby maintaining flexibility while ensuring consistency and reducing human error.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If separate configuration management is implemented for each environment phase, then environment-specific control is improved, but device complexity increases and configuration errors propagate

Engineering Contradiction:
Improveenvironment-specific controlVSAvoidconfiguration management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the configuration management of multiple environment phases (build, build tool, runtime) into a unified system centered around the build indicator. Instead of maintaining separate configuration mechanisms for each environment, the build indicator serves as a single consolidated control point that automatically propagates settings across all phases, reducing complexity while preserving environment-specific control through the promotion mechanism.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If manual configuration is used without automated propagation, then configuration flexibility is improved, but productivity decreases due to repetitive manual setup

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidconfiguration setup efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by setting the build indicator during the build phase, which automatically propagates the configuration decision to subsequent build tool and runtime environments. This preliminary configuration action eliminates the need for repetitive manual setup in each environment, significantly improving productivity while maintaining configuration flexibility through the build indicator mechanism.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10585665B2Setting a build indicator to enable or disable a feature
Publication Date: 2020.03.10 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US10585665B2 patent drawing
  • US10585665B2 patent drawing
  • US10585665B2 patent drawing

AI summary

A build indicator is set in a build environment to a set value for building a program code, the set value selected from a first value indicating that a feature of the program code is enabled, and a second value indicating that the feature is disabled. In response to the set value of the build indicator being the first value, a variable is set to a value indicating that the feature is enabled. The program code is built using the value of the variable.