Software Repository Checkout for Build Node Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development systems face inefficiencies in building processes for large software repositories, especially those exceeding 200 GB, which can lead to significant time consumption and potential network disruptions, impacting the speed and reliability of software updates for vehicles with diverse feature and hardware sets.

Innovation Solution

A method that involves checking out the software repository on build nodes prior to a planned build, utilizing a converting tool to create an artifact repository, and then updating it with a mirror workspace, allowing for faster and more efficient builds by minimizing network load and optimizing repository management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the software repository is checked out during the build process, then the build can access the source code files, but the build time increases significantly for large repositories exceeding 200 GB

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

Solution Approach 1:

The patent applies preliminary action by checking out the software repository before the build process starts. The converting tool checks out source code files from the software repository and converts them to artifacts in advance, so that when the build process begins, the artifacts are already available and ready for use, eliminating the need to checkout large repository files during the build itself.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the entire software repository is checked out for every build, then all source code files are available for building, but network load increases and causes disruptions

Engineering Contradiction:
Improvebuild availabilityVSAvoidnetwork disruptions
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies extraction by separating the checkout operation from the build operation. The converting tool extracts and converts source code files to artifacts in advance, before the build process. This means that during the build process, no network access is needed to retrieve source code files, completely eliminating network load and potential network disruptions during builds.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If source code files are converted to artifacts in advance, then the build process becomes faster, but additional processing time is required before builds

Engineering Contradiction:
Improvebuild speedVSAvoidpre-build processing time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent applies continuity of useful action by making the converting tool operate continuously in the background to convert source code files to artifacts, independent of the build schedule. This continuous conversion process ensures that artifacts are always ready when needed, and the build process can immediately use them without waiting for conversion, thereby eliminating the trade-off between pre-processing time and build speed.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3944075A1A method for operating a development system
Publication Date: 2022.01.26 VOLKSWAGEN AG
  • EP3944075A1 patent drawingFigure 1
  • EP3944075A1 patent drawing
  • EP3944075A1 patent drawing

AI summary

The invention provides a method for operating a development system (100) for developing different software applications, especially for a plurality of vehicles having different feature sets and/or different hardware sets, comprising the following steps: 1) providing a software repository (11) on a repository server (10), wherein the software repository (11) comprises source code files for at least one of the different software applications from at least one source code provider (101), 2) checking out the software repository (11) by a converting tool (20) in order to provide an artifact repository (21) at a first time (t1) prior to a start of a build, wherein the converting tool (20) serves for checking out the source code files into artifacts, and wherein the artifact repository (21) serves for archiving the artifacts checked out from the software repository (11), 3) providing at least one update (12) of the software repository (11) by the at least one source code provider (101), 4) checking out the at least one update (12) of the software repository (11) by the converting tool (20) in order to complete the artifact repository (21) at a second time (t2), 5) transmitting a completed artifact repository (21) to a build tool (30) in order to provide the build of an updated software repository (11).