Decentralized Application Deployment via Cell Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of modern application development and deployment, which relies on combining various code libraries, often leads to bottlenecks due to the need for specific library versions and the challenges of integrating new library releases into applications, especially in distributed and complex development environments.

Innovation Solution

A decentralized application development and deployment system that allows for independent development and deployment of code libraries across multiple cells, with a refined manifest generated for each client ensuring consistent application versions and enabling dynamic cell selection based on weightings and version criteria, ensuring consistent client experiences while allowing for incremental updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications are constructed from multiple code libraries with specific version requirements, then application functionality and reliability are improved, but deployment complexity and integration time increase

Engineering Contradiction:
Improveapplication functionalityVSAvoiddeployment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the application into independent deployable units called 'cells' that can be developed, tested, and deployed separately. Each cell encapsulates specific functionality and its required library versions, allowing parallel development without coordination overhead while maintaining version compatibility through the orchestrator's dependency management

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The orchestrator acts as an intermediary between multiple developers working on different cells and the final application assembly. It manages version dependencies, resolves conflicts between library requirements, and coordinates integration, thereby reducing deployment complexity while preserving application functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If new versions of code libraries are released, then application capabilities and features are improved, but integration time and deployment bottlenecks increase

Engineering Contradiction:
Improveapplication capabilitiesVSAvoidintegration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Library updates are prepared and validated in advance within individual cells before being integrated into the full application. The orchestrator pre-processes dependency information and prepares integration plans, so when new library versions are released, they can be quickly incorporated without full-scale reintegration and testing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adapts to new library versions by allowing cells to independently adopt updated libraries when beneficial. The orchestrator dynamically adjusts the application composition to incorporate new versions while maintaining compatibility, enabling continuous capability improvement without fixed integration schedules

Inventive Principle:
Principle #15Dynamics

3Productivity

If distributed development teams work independently on different code libraries, then development productivity is improved, but version consistency and integration challenges worsen

Engineering Contradiction:
Improvedevelopment productivityVSAvoidversion consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The application is divided into independent cells that can be developed by different teams simultaneously. Each cell maintains its own version information and dependencies, allowing teams to work independently with full version consistency within their cell while the orchestrator ensures overall application consistency through centralized dependency management

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230098725A1Decentralized application development and deployment
Publication Date: 2023.03.30 AMAZON TECH INC
  • US20230098725A1 patent drawing
  • US20230098725A1 patent drawing
  • US20230098725A1 patent drawing

AI summary

Decentralized development and deployment of applications is described. An application may be defined as being composed of multiple code libraries, each independently developed and deployed. Packagers of individual code libraries may deploy various versions of respective code libraries in multiple code cells and may further define cell selection criteria for the libraries. An application manifest may be constructed identifying the component code libraries with optional version selection criteria for the libraries. Upon receiving a request for the application for a particular client, a refined manifest for the application may be generated for that client, the refined manifest including identifiers of particular cells for the respective component code libraries. The application may then be generated according to the refined manifest and provided to the client. Subsequent requests for the application for the same client may be serviced according to the refined manifest.