Zero Downtime Code Deployment via Segmented Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in processing online financial transactions within the required time frame when the financial institution's network or servers are unavailable, leading to frustrating transaction failures.

Innovation Solution

A computer-implemented method that allows a first computing device to download and switch to a new version of code for processing requests while still handling incoming requests with the prior version of code, enabling seamless transition and validation before deploying the new code to other devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server downloads and switches to a new version of code, then the code version is updated, but service interruption occurs during the switch

Engineering Contradiction:
Improvecode versionVSAvoidservice interruption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system downloads the new version of code in advance while the server is still running with the old version. The new code is stored in a temporary location and validated before switching, ensuring that service interruption is minimized and only occurs if necessary.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The code deployment process is segmented into distinct phases: downloading new code while old code operates, validating the new code separately, and then switching. This segmentation allows the system to maintain service continuity by isolating the update process from the operational process.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the server validates new code before switching, then system stability is improved, but deployment time increases

Engineering Contradiction:
Improvesystem stabilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Validation of the new code version is performed in advance, while the server continues to operate with the old version. This preliminary validation ensures system stability is maintained while the new code is being prepared, and deployment can proceed quickly once validation succeeds.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If multiple computing devices are used for code deployment, then service continuity is maintained, but system complexity increases

Engineering Contradiction:
Improveservice continuityVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system is segmented into multiple computing devices, each responsible for servicing specific nodes. This segmentation enables service continuity as devices can be updated independently, with traffic routed to available devices during transitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A load balancer or routing mechanism acts as an intermediary to distribute requests to available computing devices. This intermediary manages the complexity of multi-device coordination while maintaining service continuity for users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250173134A1Systems and method for zero downtime during code deployment and production
Publication Date: 2025.05.29 TRUIST BANK
  • US20250173134A1 patent drawing
  • US20250173134A1 patent drawing
  • US20250173134A1 patent drawing

AI summary

A method, computer program product, and computer system for downloading, by a first computing device, code associated with processing requests directed toward a datastore, wherein the code is a new version of code to replace a prior version of code associated with processing requests directed toward the datastore. The first computing device may receive a first request directed toward the datastore, wherein the first request may be received while downloading the new version of code. The first computing device may process the first request directed toward the datastore using the prior version of code while downloading the new version of code. The first computing device may switch from the prior version of code to the new version of code. A second request may be directed to be processed by a second computing device, wherein the second request is directed toward the datastore to be processed by the second computing device while the first computing device is switching from the prior version of code to the new version of code.