Volume Snapshot Workspace Build Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software deployment pipelines face challenges in reducing build times and minimizing the load on SCM servers and networks, especially in organizations with numerous CI/CD jobs and large repositories.

Innovation Solution

The method involves creating a second workspace from a first volume snapshot, applying updates to the second workspace by fetching code updates from a software development system, and performing a software build on the updated workspace. This process employs a read-only layer for the initial snapshot and a read-write layer for updates, reducing network traffic and load on SCM servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code updates are fetched from SCM server for every build, then software files are kept up-to-date, but network traffic and load on SCM servers increase

Engineering Contradiction:
Improvesoftware file updatesVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by creating volume snapshots of workspaces that already contain software files. These snapshots serve as pre-prepared local copies that eliminate the need to fetch files from SCM server during each build, reducing network traffic while maintaining file availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of workspace data through volume snapshots that can be used locally for building. Instead of repeatedly accessing the original SCM server, the system uses these local copies (snapshots) to perform builds, significantly reducing network traffic and server load.

Inventive Principle:
Principle #26Copying

2Manufacturing precision

If all software files are recompiled for every build, then build completeness is ensured, but build times increase

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

Solution Approach 1:

The system extracts only the changed software files from the volume snapshot and applies updates selectively. Instead of recompiling all files, the build process focuses only on the modified portions, maintaining build completeness while significantly reducing build time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies partial action by updating only the specific files that have changed since the last snapshot, rather than performing a complete update of all software files. This selective approach reduces unnecessary processing while ensuring all required changes are included.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If workspaces are created from scratch for each build, then workspace freshness is maintained, but workspace creation time increases

Engineering Contradiction:
Improveworkspace freshnessVSAvoidworkspace creation time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by creating volume snapshots that capture the workspace state at specific points in time. These pre-created snapshots serve as ready-to-use bases for new workspaces, eliminating the need to create workspaces from scratch and significantly reducing workspace creation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates workspaces by copying from existing volume snapshots rather than initializing from scratch. This copying mechanism preserves the freshness of the source workspace state while dramatically reducing the time required to create new workspaces.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250077191A1Building software using volume snapshots
Publication Date: 2025.03.06 DELL PROD LP
  • US20250077191A1 patent drawing
  • US20250077191A1 patent drawing
  • US20250077191A1 patent drawing

AI summary

Techniques are provided for building software using volume snapshots. One method comprises obtaining a volume snapshot of a workspace, wherein the volume snapshot comprises software files associated with a software development project; creating a new workspace from the volume snapshot; applying updates to the new workspace by fetching, from a software development system, code updates to the software files; and performing a software build on the new workspace to compile source code associated with the software files. The new workspace may be created from the volume snapshot using a read-only layer of the volume snapshot and the updates to the new workspace may employ a read-write layer of the volume snapshot. A volume snapshot may be created, in response to a validation of software files, using a given workspace and the updates to the given workspace.