Incremental Update Bundles with Manifest Version Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development projects face delays and inefficiencies due to multiple contributors working on different versions of software code across geographically dispersed teams, leading to compatibility issues and unexpected results.

Innovation Solution

An update service that generates and distributes update bundles, using a manifest to ensure all systems are updated to the same version, with an agent application managing resource updates and caching to minimize network traffic and optimize versioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple contributors work on different versions of software code across geographically dispersed teams, then collaboration and distributed development are enabled, but version compatibility issues and unexpected results occur

Engineering Contradiction:
Improvedistributed development capabilityVSAvoidversion compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by generating update bundles that contain all necessary code changes before distribution. The manifest file is created in advance to define the exact set of files and their versions, ensuring that all computing systems receive consistent updates before any code modification occurs across the distributed team.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The update service acts as an intermediary between the source of code changes and the distributed computing systems. It receives code modifications, processes them into standardized update bundles with manifests, and distributes them to ensure all systems receive the same versioned changes, thereby mediating between distributed development needs and version consistency requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If update bundles are distributed to multiple computing systems, then version consistency is achieved, but network traffic and update deployment time increase

Engineering Contradiction:
Improveversion consistencyVSAvoidupdate deployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The update service segments the update distribution process into distinct components: a manifest file that defines the update contents and metadata, and separate code bundles that contain the actual modifications. This segmentation allows receiving systems to process the manifest first to understand what updates are needed, then efficiently retrieve only the necessary code segments, reducing overall deployment time while maintaining version consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The manifest file is generated in advance with complete information about the update contents, file paths, and version identifiers. This preliminary action allows computing systems to pre-stage updates, validate compatibility before full deployment, and perform incremental updates rather than complete system replacements, thereby reducing deployment time while ensuring version consistency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If incremental updates are implemented, then update efficiency is improved, but complexity of managing update versions increases

Engineering Contradiction:
Improveupdate efficiencyVSAvoidversion management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The manifest file serves as an intermediary that simplifies incremental update management. It contains structured metadata including file paths, version identifiers, and dependency information that automatically tracks the state of incremental updates across multiple computing systems. This intermediary structure reduces the complexity of managing incremental versions by providing a centralized definition of update state that all systems can reference.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses parameter changes in the manifest file to track and manage incremental updates. By modifying specific parameters such as version identifiers, file checksums, and update timestamps in the manifest, the system can efficiently track which systems have which versions without requiring complex version management logic, thereby improving productivity while controlling complexity through standardized parameter tracking.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10089108B1Archival format for incremental deployments and version control
Publication Date: 2018.10.02 AMAZON TECH INC
  • US10089108B1 patent drawing
  • US10089108B1 patent drawing
  • US10089108B1 patent drawing

AI summary

Computing systems executing applications may receive updates to the application from an update service. The update service may generate an update bundle including resources of the application. The update bundle may further include a manifest containing information identifying the resources and a location for the resources to be stored within the computing system. Additionally, the computing system may maintain a cache of previously received resources.