Partial Build System Using Asset State Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current build processes for software applications are inefficient and prone to errors, particularly in large projects, where manual or automated methods take excessive time due to the need to re-evaluate all targets for updates, leading to lengthy build times.

Innovation Solution

Implementing a system that monitors the state of development assets and uses an asset state indicator to determine if a build is necessary, allowing for partial builds by identifying only the targets affected by out-of-date assets, thereby bypassing unnecessary evaluations and reducing build time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If automated build solutions are used to manage complex software builds, then build process automation and error handling are improved, but build time remains excessively long due to re-evaluating all targets

Engineering Contradiction:
Improvebuild process automationVSAvoidbuild time
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by monitoring development assets and setting asset state indicators between builds. When assets change, the indicator is reset to trigger a build; when assets remain unchanged, the indicator prevents unnecessary build execution. This preliminary state tracking eliminates the need to re-evaluate all targets during each build, directly reducing build time while maintaining automation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts the essential information needed for build decision-making (asset state indicators) from the complete build evaluation process. By separating the state monitoring function from the build execution function, the system avoids re-evaluating all targets and only executes builds when necessary, thereby reducing build time while preserving automation benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

2Manufacturing precision

If all targets are re-evaluated during each build to determine if they are up to date, then build accuracy is improved, but build time increases significantly

Engineering Contradiction:
Improvebuild accuracyVSAvoidbuild time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary state tracking by monitoring development assets and maintaining asset state indicators between builds. This preliminary action captures the essential information about whether assets have changed, eliminating the need for complete re-evaluation during each build while maintaining build accuracy through targeted evaluation of only affected targets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of evaluating all targets (excessive action), the system performs partial evaluation by checking only the asset state indicators and evaluating targets that are actually affected by asset changes. This partial action maintains build accuracy for affected components while avoiding unnecessary evaluation of unaffected targets, significantly reducing build time.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If manual build methods are used to maintain control over build processes, then error handling capability is improved, but efficiency and consistency deteriorate

Engineering Contradiction:
Improveerror handling capabilityVSAvoidbuild efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements self-service automation where the build system automatically monitors development assets, updates asset state indicators, and determines build execution needs without manual intervention. This maintains consistency and efficiency through automation while preserving error handling capability by implementing structured monitoring and state management mechanisms that reliably detect and respond to asset changes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8856752B2Monitoring asset state to enable partial build
Publication Date: 2014.10.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8856752B2 patent drawing
  • US8856752B2 patent drawing
  • US8856752B2 patent drawing

AI summary

When an up to date state has been achieved for the inputs and outputs of a build process, an asset state indicator is set to indicate that all the inputs and outputs are up to date. Those inputs and outputs are monitored. If a change to any of the inputs and/or outputs is detected, the asset state indicator is updated to indicate that some build execution is needed. When a build request is detected, the current state of the asset state indicator is exposed. An execution sequence for targets of the build process based on dependencies between targets is determined. A starting point for a partial build is determined by determining the earliest-appearing target in the sequence that is affected by the detected changes to the inputs and outputs to the targets of the execution sequence. Executing the build process from this starting point will produce the updated outputs and return the system to the up to date state.