Gate-Mapped Software Pipelines for Application Customization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current pipeline tools are inefficient in facilitating user-level customization and require significant coding efforts, leading to complex code that is difficult to debug and necessitate rewriting for different applications, with actions often performed sequentially, increasing performance dependence.

Innovation Solution

A system that uses gates and gate mapping files to determine the set of software routines to be executed based on application attributes, allowing for customizable pipeline actions without complex coding, and enabling reuse of the pipeline for different applications by invoking gates asynchronously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If pipeline tools perform actions sequentially, then each action can be completed in order, but the performance of one action becomes dependent on another, reducing overall efficiency

Engineering Contradiction:
Improveaction completion reliabilityVSAvoidpipeline processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent transforms the static sequential execution model into a dynamic system where actions can adapt their execution mode based on dependencies. The system dynamically determines which actions can be executed in parallel and which must remain sequential, optimizing both reliability and productivity by allowing flexibility in execution order while maintaining necessary dependencies.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If significant coding effort is used to customize pipeline actions for different applications, then user-level customization is achieved, but the code becomes complex and difficult to debug

Engineering Contradiction:
Improveuser-level customization capabilityVSAvoidpipeline code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal configuration file format that can describe different pipeline actions and their parameters in a standardized way. This single configuration mechanism serves multiple functions: defining custom actions, specifying execution order, setting parameters, and managing dependencies, thereby achieving user-level customization without increasing code complexity.

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

Solution Approach 2:

The patent introduces a configuration file as an intermediary between the user's customization needs and the pipeline execution system. Instead of requiring users to write complex code directly, they configure actions through a simpler configuration file format, which the system then translates into executable pipeline steps, reducing both coding effort and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If pipeline code is customized for each specific application, then the pipeline can handle application-specific actions, but the code must be rewritten for different applications, increasing maintenance burden

Engineering Contradiction:
Improveapplication-specific action handlingVSAvoidcode rewriting time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a universal pipeline framework where a single configuration file format can describe actions for any application type. The system reads the configuration file and automatically adapts the pipeline execution to handle application-specific actions, eliminating the need to rewrite code for different applications while maintaining full adaptability.

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

Solution Approach 2:

The patent enables application-specific customization through parameter changes in the configuration file rather than code changes. Users can modify action parameters, names, and dependencies in the configuration file to adapt the pipeline to different applications, while the underlying pipeline code remains unchanged, significantly reducing maintenance burden.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12417089B2Software pipeline configuration
Publication Date: 2025.09.16 CAPITAL ONE SERVICES LLC
  • US12417089B2 patent drawing
  • US12417089B2 patent drawing
  • US12417089B2 patent drawing

AI summary

In certain embodiments, a software pipeline (“pipeline”) is configured by the use of gates for progressing an application from one stage to another (e.g., from a development stage to a production stage). A configuration file having a set of attribute values that is descriptive of an application, and a gate mapping file having information associated with the gates to be invoked for different combinations of attribute values are obtained. The configuration file is processed using the gate mapping file to determine a set of gates to be invoked for progressing the application in the pipeline based on the attribute values of the application. The set of gates are invoked to cause a corresponding set of software routines to be executed for progressing the application.