Integrated Software Build Targets for Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated build processes for large enterprise software applications are inefficient due to the time-consuming process of determining and constructing software targets, which can lead to increased resource utilization and reduced parallelism in build processing.

Innovation Solution

The method involves identifying software components with significant overlap in dependencies, integrating these targets into a single integrated target, and assigning dependent components to share this integrated target, thereby reducing the number of targets created and the time spent on target construction, and enhancing parallel build processing opportunities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If separate software targets are built for each software component, then each component can be built independently, but the number of targets increases and build time increases

Engineering Contradiction:
ImproveIndependent component buildingVSAvoidBuild time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent merges multiple separate software targets into a single integrated target that is shared across multiple software components. This integration reduces the total number of targets that need to be built and allows components to share common dependencies, thereby reducing overall build time while maintaining independent component building capabilities through the shared target structure.

Inventive Principle:
Principle #5Merging (Combining)

2Manufacturing precision

If multiple separate software targets are constructed, then each target can be optimized for its specific component, but resource utilization increases and parallelism decreases

Engineering Contradiction:
ImproveTarget optimizationVSAvoidResource utilization and parallelism
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent creates a universal integrated target that serves multiple software components simultaneously. This single target is designed to be multi-functional, supporting the build requirements of multiple components through a shared dependency structure. This approach improves resource utilization by eliminating redundant builds and enables greater parallelism in the build process, while still allowing each component to access the optimized target structure.

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

3Loss of time

If software components share common dependencies, then the number of targets can be reduced, but managing shared targets becomes more complex

Engineering Contradiction:
ImproveTarget construction timeVSAvoidTarget management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary integrated target structure that mediates between multiple software components and their common dependencies. This intermediary target absorbs the complexity of managing shared dependencies, providing a unified interface that components can rely on. The build system manages the integrated target centrally, reducing the complexity burden on individual component developers while enabling time savings through shared dependency resolution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10891119B2Integrating and sharing software build component targets
Publication Date: 2021.01.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10891119B2 patent drawing
  • US10891119B2 patent drawing
  • US10891119B2 patent drawing

AI summary

Techniques are described for sharing software targets in componentized automated software product build processes. In some examples, a method includes identifying among software component builds having dependencies on software targets, two or more software targets having a number of common dependencies that exceeds a threshold. The method further includes integrating the two or more software targets into at least one integrated software target. The method further includes assigning at least one subset of software component builds having dependencies on the two or more software targets, as having dependencies on the at least one integrated software target. The method further includes executing a software build process using the at least one integrated software target and the assigned dependencies of the at least one subset of the software component builds on the at least one integrated software target.