Deployment Pipeline for Independent Code Package Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity and interdependence of developer groups working on large software projects with varied programming languages and tools slow down the development process and introduce storage and availability issues due to the use of a single code base, leading to complications in code development and deployment.

Innovation Solution

A standardized code development structure and deployment pipeline that allows for the development, testing, and deployment of code packages independently, using a deployment pipeline with stages such as verification, build, internal deployment, and testing, which can operate across different environments and be managed through a user interface or API, enabling decoupled testing and deployment phases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple developer groups work on large software projects with varied programming languages and tools, then the project can achieve functional versatility and complexity, but the development process becomes slow and complicated due to interdependence

Engineering Contradiction:
Improvefunctional versatilityVSAvoiddevelopment pace
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the monolithic code base into multiple independent code packages, each representing a distinct functional module that can be developed, tested, and deployed independently. This segmentation eliminates interdependencies between developer groups while maintaining the overall system's functional versatility through modular composition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a standardized deployment pipeline as an intermediary system that manages the integration and coordination of independent code packages. This mediator handles the complexity of multi-language and multi-tool environments by providing a unified interface and standardized processes, allowing developer groups to work independently while ensuring systematic integration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single code base is used for all developers, then code integration is simplified, but storage and availability problems arise and complexity is introduced into the development process

Engineering Contradiction:
Improvecode integration complexityVSAvoidstorage and availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the single code base into multiple discrete code packages stored in a package repository. Each package is self-contained and can be independently managed, retrieved, and versioned. This segmentation resolves storage and availability issues by distributing the code base across multiple manageable units while maintaining integration simplicity through standardized package interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal package structure and deployment pipeline that can handle multiple programming languages and development tools through a single standardized interface. This multi-functional approach allows the system to manage diverse code packages uniformly, simplifying integration complexity while improving reliability through consistent package management practices.

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

3Adaptability or versatility

If different programming languages and code building tools are used by different developer groups, then the project can accommodate diverse development needs, but the overall process becomes more complex and slower

Engineering Contradiction:
Improvedevelopment flexibilityVSAvoidprocess complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a standardized deployment pipeline as an intermediary layer between diverse development environments and the final integrated system. This mediator provides unified processes for building, testing, and deploying code packages regardless of the programming language or development tools used, thereby accommodating development flexibility while reducing process complexity through standardization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The deployment pipeline is designed with universal capabilities to handle multiple programming languages and code building tools through a single standardized interface. This multi-functional system performs diverse development needs uniformly, reducing process complexity by eliminating the need for separate management procedures for each language or tool while maintaining full adaptability.

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

4Stability of the object's composition

If developer groups are dependent on each other for code integration, then the project maintains coherence, but the pace of development slows down

Engineering Contradiction:
Improveproject coherenceVSAvoiddevelopment pace
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the development process into independent stages for each code package, allowing developer groups to work simultaneously without blocking each other. Each package can be developed, tested, and prepared for deployment independently, maintaining project coherence through standardized integration points while dramatically improving development pace by eliminating sequential dependencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The deployment pipeline implements automated feedback mechanisms that monitor the status of each code package and coordinate their integration. This feedback system ensures project coherence by automatically detecting and resolving integration issues while allowing parallel development, thereby maintaining stability without slowing down the development pace.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9965377B1Deploy pipeline for development packages
Publication Date: 2018.05.08 EMC IP HLDG CO LLC
  • US9965377B1 patent drawing
  • US9965377B1 patent drawing
  • US9965377B1 patent drawing

AI summary

In one example, a method includes receiving a partially complete development package, verifying one or more parameters of the development package, and approving the development package for code development upon satisfactory verification. Next, developer code is received and packaged into the partially complete development package to create a completed development package. The completed development package is then deployed to a group of nodes where the code can be run and tested.