Remotebuild Snapshot Storage Volume for Software Build Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software builds can be time-consuming due to the execution of multiple software build actions, often with overlapping actions, which can take several hours and require significant computational resources, especially when dealing with complex codebases and third-party libraries.

Innovation Solution

Implementing a system that merges duplicate software build actions and utilizes snapshot storage volumes and tree caching to reduce the computational effort and time required for software builds by caching results and storing build dependencies, allowing only the first software build action to be run when a match is detected, and suspending the second action if a match exists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple software build actions are executed to handle complex codebases and third-party libraries, then the completeness and reliability of the build process is improved, but the build time and computational resource consumption increase significantly

Engineering Contradiction:
Improvebuild process completenessVSAvoidbuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges duplicate software build actions by comparing hash values of build actions across different build workflows. When identical build actions are detected (same hash value), the system consolidates them into a single execution instance, allowing multiple workflows to share the same build action results. This directly reduces build time while maintaining reliability by ensuring all workflows receive the necessary build outputs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary analysis of build actions by computing hash values before execution. By pre-identifying duplicate build actions across workflows, the system can prepare a consolidated execution plan that avoids redundant computations. This preliminary detection and merging of build actions reduces overall build time while ensuring all required build artifacts are produced.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If duplicate software build actions are executed across multiple workflows, then each workflow ensures its own build reliability, but redundant computational effort and resource usage increase

Engineering Contradiction:
Improveworkflow build reliabilityVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges duplicate software build actions by comparing hash values of build actions across different build workflows. When identical build actions are detected (same hash value), the system consolidates them into a single execution instance, allowing multiple workflows to share the same build action results. This directly reduces build time while maintaining reliability by ensuring all workflows receive the necessary build outputs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of re-executing identical build actions, the system creates references to previously executed build action results through hash value matching. When a duplicate build action is detected, the system copies or references the existing build outputs to satisfying the requirements of subsequent workflows, thereby eliminating redundant computational resource consumption while maintaining workflow reliability.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If build dependencies are retrieved during each software build process, then the build process remains simple and adaptable, but the build time increases due to repeated retrieval operations

Engineering Contradiction:
Improvebuild process flexibilityVSAvoidbuild time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a build dependency cache that stores previously retrieved build dependencies (such as third-party libraries and compiled artifacts) with their associated hash values. Before executing build actions, the system performs preliminary checks against this cache to determine if required dependencies are already available, avoiding repeated retrieval operations and reducing build time while maintaining adaptability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The build system serves itself by maintaining a local cache of build dependencies and automatically checking this cache before external retrieval operations. The system uses hash value comparison to self-determine whether dependencies need to be fetched or can be served from the local cache, eliminating redundant network I/O and storage operations while preserving build process flexibility.

Inventive Principle:
Principle #25Self-service

4Productivity

If tree caching is implemented to cache results of operations on source code collections, then build efficiency is improved through result reuse, but system complexity and memory requirements increase

Engineering Contradiction:
Improvebuild efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a tree cache that performs preliminary computation of hash values for source code collections and their descendant nodes. By pre-computing and storing these hash values along with operation results, the system can quickly determine whether cached results are still valid without re-traversing entire source code trees, thereby improving build efficiency while keeping the caching mechanism relatively simple through hash-based validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The tree cache operates on segmented source code collections organized as directory trees, where each node represents a portion of the source code. By dividing the source code base into hierarchical segments and maintaining separate cache entries for each segment, the system achieves fine-grained caching that improves efficiency without requiring the entire source code base to be cached as a single unit, thus managing complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240168786A1Systems and methods for a remotebuild storage volume
Publication Date: 2024.05.23 STRIPE LLC
  • US20240168786A1 patent drawing
  • US20240168786A1 patent drawing
  • US20240168786A1 patent drawing

AI summary

Examples of the present disclosure describe systems and methods for a remotebuild snapshot storage volume. In some examples, a system may include a virtual machine (VM). The VM may be configured to mount a snapshot storage volume. The snapshot storage volume may store a set of build dependencies. The VM may also be configured to execute a software build workflow using the set of build dependencies stored within the snapshot storage volume and produce a software build action result of the software build workflow.