Manifest Manager Serializes Pull Requests to Reduce Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software development version control platforms face challenges in handling merge conflicts between pull requests and lack a streamlined workflow for manifest transmission, leading to latency issues and inefficiencies in managing software artifacts.

Innovation Solution

The Manifest Manager system, which includes modules for a crawler service, pull request service, packaging service, and promotion service, implements a queue to serialize pull requests, ensures reliable delivery of software artifacts, and manages authorization policies to reduce end-to-end latency and improve user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple pull requests are processed in parallel, then productivity is improved, but merge conflicts cause delays and reduce reliability

Engineering Contradiction:
Improvepull request processing throughputVSAvoidmerge conflict resolution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by detecting potential merge conflicts between pull requests before they are merged to the target branch. The conflict detection mechanism analyzes the target branch and identifies conflicts in advance, allowing the system to prevent problematic merges before they occur, thus maintaining both productivity and reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual intervention is required to resolve merge conflicts, then reliability of code integration is improved, but loss of time increases

Engineering Contradiction:
Improvecode integration reliabilityVSAvoidmerge conflict resolution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements self-service by automatically detecting and preventing merge conflicts through its conflict detection mechanism. When a potential conflict is identified, the system blocks the merge operation automatically without requiring human intervention, thus maintaining reliability while eliminating the time loss associated with manual conflict resolution.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If conventional build pipeline approach is used, then ease of operation is maintained, but latency in manifest transmission increases

Engineering Contradiction:
Improvebuild pipeline operation simplicityVSAvoidmanifest transmission latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system extracts the manifest transmission process from the conventional build pipeline approach. By separating manifest generation and transmission into independent services (crawler service, packaging service, promotion service), the system eliminates the sequential dependencies and latency inherent in traditional build pipelines while maintaining operational simplicity through service modularization.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11775287B2Manifest and content delivery
Publication Date: 2023.10.03 SALESFORCE INC
  • US11775287B2 patent drawing
  • US11775287B2 patent drawing
  • US11775287B2 patent drawing

AI summary

A system receives one or more software artifacts for enabling a software version change requested for a production environment associated with at least one data center location. The system stores the one or more software artifacts in a memory location of a controlled-access production repository. The system receives a first authorization determination of the one or more software artifacts from an author-user account, the author-user account associated with a developer identity that created the one or more software artifacts. The system receives a second authorization determination of the one or more software artifacts from an additional-user account. Based on the first and second authorization determinations, the system determines whether to package the one or more software artifacts into a manifest for transmission to the at least one data center location.