Bookkeeping Nodes Manage Code Update Deployment Parameters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code update deployment methods from a central server are inefficient, particularly in large computing environments, as they are time-consuming, unpredictable, and can result in failed updates due to scripted procedures and reboot requirements, with no control over when updates occur.

Innovation Solution

A deployment environment with bookkeeping nodes that manage deployment parameters such as maximum allowable deployment time, number of active deployments, and failure rates to dynamically determine when and how code updates are applied, allowing for throttling and risk adjustment based on success rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional push-based code update deployment is used, then updates can be distributed from a central server, but the process is time-consuming and inefficient in large computing environments

Engineering Contradiction:
Improveupdate deployment efficiencyVSAvoidupdate deployment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the deployment process into multiple phases: testing phase with limited nodes, gradual rollout phase with increasing nodes, and full deployment phase. This segmentation allows the system to manage deployment complexity and control timing, resolving the contradiction between efficient deployment and time consumption by implementing staged rollouts that prevent simultaneous updates across all nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic deployment rate adjustment based on real-time monitoring of update success rates. The system automatically modulates the deployment rate parameter during different phases, increasing it when success rates are high and decreasing it when failures are detected. This dynamic control optimizes deployment efficiency while managing time by adapting to actual system conditions.

Inventive Principle:
Principle #15Dynamics

2Reliability

If scripted update procedures are used to automate deployments, then updates can be applied systematically, but the process becomes unpredictable and may fail due to reboot requirements

Engineering Contradiction:
Improveupdate success rateVSAvoidupdate predictability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent performs preliminary testing of code updates on a limited set of nodes before full deployment. This preliminary action phase identifies potential issues and validates update procedures in advance, improving reliability by catching problems before they affect the entire system and making the overall process more predictable.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous feedback mechanisms that monitor update success rates, failure modes, and system behavior during deployment. This feedback is used to dynamically adjust deployment rates and identify patterns that may indicate predictable failure conditions, allowing the system to respond proactively to maintain reliability and predictability.

Inventive Principle:
Principle #23Feedback

3Speed

If code updates are pushed to all nodes simultaneously, then deployment speed is maximized, but the number of active deployments becomes unmanageable and failure risk increases

Engineering Contradiction:
Improvedeployment speedVSAvoiddeployment management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies partial action by deploying updates to only a subset of nodes at any given time rather than all nodes simultaneously. The system maintains a manageable number of active deployments by limiting the scope of each deployment wave, reducing management complexity while still achieving progress toward full deployment.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the deployment rate parameter dynamically during different phases. In the testing phase, the rate is low with few nodes; in the gradual rollout phase, the rate increases moderately; and in the full deployment phase, the rate is maximized. This parameter change strategy balances deployment speed with management complexity by adapting the rate to the current state of the deployment process.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If manual update application is used, then each update can be carefully controlled, but the process becomes too time-consuming for large computing environments

Engineering Contradiction:
Improveupdate control precisionVSAvoidupdate deployment throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements self-service mechanisms where the system automatically monitors deployment status, tracks success rates, and adjusts deployment rates without manual intervention. This automation maintains the benefits of controlled updates while eliminating the time-consuming manual processes, allowing the system to self-regulate based on real-time conditions and scale efficiently across large computing environments.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9032388B1Authorizing or preventing deployment of update information based on deployment parameters
Publication Date: 2015.05.12 AMAZON TECH INC
  • US9032388B1 patent drawing
  • US9032388B1 patent drawing
  • US9032388B1 patent drawing

AI summary

One or more bookkeeping nodes may receive a request to deploy update information from a requesting node. The bookkeeping node(s) may determine whether to authorize the requesting node to deploy the update information based at least in part on one or more deployment parameters. If authorized, the requesting node may download the update information from one or more download nodes.