Deployment Proxy Service for Incremental Artifact Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional systems face inefficiencies and costs in deploying applications over networks due to the need for frequent, complete uploads of large software artifacts, especially when modifications are incremental, and often encounter transmission obstacles like firewalls.
Innovation Solution
Implementing a deployment system that determines the specific software artifacts needed for incremental updates by comparing versions and using a proxy layer for partial uploads, along with a distributed cache for efficient data transfer and storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If complete software artifacts are uploaded for every deployment, then the application can be deployed, but the deployment process becomes slow and inefficient
Solution Approach 1:
The patent segments the software artifact into multiple components (application code, dependencies, configuration files) and identifies only the changed portions for transmission. The build system performs incremental compilation and packaging, transmitting only the necessary segments rather than the complete artifact, thereby reducing upload time while maintaining deployment completeness.
Solution Approach 2:
The patent extracts and transmits only the changed or updated portions of the software artifact rather than the complete artifact. The system identifies modified files, compiles only those portions, and transmits the extracted differences to the remote server, eliminating the need to upload unchanged components and significantly reducing transmission time.
2Reliability
If large software artifacts are transmitted, then the application can be deployed, but the transmission becomes expensive and slow
Solution Approach 1:
The patent applies partial action by transmitting only the necessary portion of the software artifact required for the deployment update. Instead of sending complete artifacts, the system calculates and transmits only the delta or changed components, consuming less network bandwidth while still achieving complete and reliable deployment of the updated application.
Solution Approach 2:
The patent performs preliminary actions by pre-compiling and pre-packaging the software artifact locally before transmission. The build system compiles the application, resolves dependencies, and prepares the artifact in advance, then transmits only the necessary portions to the remote server. This preliminary processing reduces the size and complexity of what needs to be transmitted over the network.
3Adaptability or versatility
If complete artifacts are uploaded frequently, then incremental updates can be deployed, but the process becomes time-consuming and burdensome
Solution Approach 1:
The patent segments the deployment process into identification of changed files, selective compilation, and targeted packaging. By dividing the artifact into manageable segments and identifying which segments have changed, the system enables incremental updates without requiring complete re-upload, making the process adaptable to frequent changes while reducing time consumption.
Solution Approach 2:
The patent changes the parameter of transmission from complete artifact size to changed portion size. The system dynamically adjusts what gets transmitted based on the actual changes detected in the source code, allowing incremental updates to be performed quickly by transmitting only the parameter-necessary data rather than fixed complete artifacts.
Data Source
AI summary
A deployment proxy service is provided to manage communications between a client device and a deployment service. The deployment proxy service receives upload requests from the client device and saves software artifacts associated with the upload request in a proxy repository. The deployment proxy service determines a continuation deployment action that describes information about a target machine to which the software artifacts are applicable. When appropriate, the deployment proxy service provides information to the deployment service that enables the deployment service to deploy the software artifacts to the target machine (e.g., to update an application of the target machine).


